murano-9.0.0/0000775000175000017500000000000013656750351013056 5ustar zuulzuul00000000000000murano-9.0.0/doc/0000775000175000017500000000000013656750351013623 5ustar zuulzuul00000000000000murano-9.0.0/doc/requirements.txt0000664000175000017500000000031313656750211017077 0ustar zuulzuul00000000000000# doc build requirements sphinx!=1.6.6,!=1.6.7,!=2.1.0,>=1.6.2 # BSD sphinxcontrib-httpdomain>=1.3.0 # BSD reno>=2.5.0 # Apache-2.0 openstackdocstheme>=1.20.0 # Apache-2.0 os-api-ref>=1.4.0 # Apache-2.0 murano-9.0.0/doc/source/0000775000175000017500000000000013656750351015123 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/first-app/0000775000175000017500000000000013656750351017030 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/first-app/Publish_your_murano_app_in_the_application_catalog.rst0000664000175000017500000000063713656750211032073 0ustar zuulzuul00000000000000================================================== Publish your Murano app in the application catalog ================================================== Join the OpenStack community ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Prepare testing environment ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Contribute your code to Murano-apps ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Contribute your code to App-catalog ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ murano-9.0.0/doc/source/first-app/What_you_will_learn.rst0000664000175000017500000000007413656750211023565 0ustar zuulzuul00000000000000=================== What you will learn =================== murano-9.0.0/doc/source/first-app/Before_the_start.rst0000664000175000017500000000015513656750211023035 0ustar zuulzuul00000000000000================ Before the start ================ What you need ------------- Deploy Murano ------------- murano-9.0.0/doc/source/first-app/What_is_the_use_case.rst0000664000175000017500000000007713656750211023666 0ustar zuulzuul00000000000000==================== What is the use case ==================== murano-9.0.0/doc/source/first-app/Who_is_this_guide_for.rst0000664000175000017500000000010213656750211024050 0ustar zuulzuul00000000000000===================== Who is this guide for ===================== murano-9.0.0/doc/source/first-app/README.rst0000664000175000017500000000207713656750211020520 0ustar zuulzuul00000000000000This directory contains the "My first Murano App getting started guide" tutorial. The tutorials work with an application that can be found in the `openstack/murano-apps `_ repository. Prerequisites ------------- To build the documentation, you must install the Graphviz package. /source ~~~~~~~ The :code:`/source` directory contains the tutorial documentation as `reStructuredText `_ (RST). To build the documentation, you must install `Sphinx `_ and the `OpenStack docs.openstack.org Sphinx theme (openstackdocstheme) `_. When you invoke tox, these dependencies are automatically pulled in from the top-level :code:`test-requirements.txt`. You must also install `Graphviz `_ on your build system. The document is build as part of the docs build, for example using:: tox -e docs /samples ~~~~~~~~ The code samples in this guide are located in this directory. murano-9.0.0/doc/source/first-app/Develop_murano_app_for_plone.rst0000664000175000017500000000255213656750211025443 0ustar zuulzuul00000000000000============================ Develop Murano app for Plone ============================ Develop standalone Plone Murano app (single VM) ----------------------------------------------- Plone server requirements ~~~~~~~~~~~~~~~~~~~~~~~~~ Define host VM requirements ........................... Host VM operatting system requirements ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Host VM hardware resources requirements ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Define preinstalled software and libraries requirements ....................................................... Define what the PloneServerApp should do ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Create and debug sh-script that fully deploys the Plone server on a single VM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Create Murano package for your app ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Upload and deploy your Murano app to OpenStack cloud ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Develop cluster Plone Murano app (multi VM) ------------------------------------------- Develop basic server-client Murano app ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Add load-balancing to the Plone cluster ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Add scalability to the Plone cluster ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Add self-healing to the Plone cluster ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ murano-9.0.0/doc/source/first-app/index.rst0000664000175000017500000000065413656750211020671 0ustar zuulzuul00000000000000========================================= My first Murano App getting started guide ========================================= .. include:: README.rst Contents ~~~~~~~~ .. toctree:: :maxdepth: 3 Who_is_this_guide_for What_is_the_use_case What_you_will_learn Before_the_start Develop_murano_app_for_plone Debugging_and_troubleshooting_your_murano_app Publish_your_murano_app_in_the_application_catalog murano-9.0.0/doc/source/first-app/Debugging_and_troubleshooting_your_murano_app.rst0000664000175000017500000000021213656750211031073 0ustar zuulzuul00000000000000============================================= Debugging and troubleshooting your Murano app ============================================= murano-9.0.0/doc/source/cli/0000775000175000017500000000000013656750351015672 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/cli/index.rst0000664000175000017500000000031213656750211017522 0ustar zuulzuul00000000000000======================== Murano CLI Documentation ======================== In this section you will find information on Murano's command line interface. .. toctree:: :maxdepth: 1 murano-status murano-9.0.0/doc/source/cli/murano-status.rst0000664000175000017500000000363613656750211021251 0ustar zuulzuul00000000000000============= murano-status ============= ---------------------------------------- CLI interface for Murano status commands ---------------------------------------- Synopsis ======== :: murano-status [] Description =========== :program:`murano-status` is a tool that provides routines for checking the status of a Murano deployment. Options ======= The standard pattern for executing a :program:`murano-status` command is:: murano-status [] Run without arguments to see a list of available command categories:: murano-status Categories are: * ``upgrade`` Detailed descriptions are below: You can also run with a category argument such as ``upgrade`` to see a list of all commands in that category:: murano-status upgrade These sections describe the available categories and arguments for :program:`murano-status`. Upgrade ~~~~~~~ .. _murano-status-checks: ``murano-status upgrade check`` Performs a release-specific readiness check before restarting services with new code. For example, missing or changed configuration options, incompatible object states, or other conditions that could lead to failures while upgrading. **Return Codes** .. list-table:: :widths: 20 80 :header-rows: 1 * - Return code - Description * - 0 - All upgrade readiness checks passed successfully and there is nothing to do. * - 1 - At least one check encountered an issue and requires further investigation. This is considered a warning but the upgrade may be OK. * - 2 - There was an upgrade status check failure that needs to be investigated. This should be considered something that stops an upgrade. * - 255 - An unexpected error occurred. **History of Checks** **7.0.0 (Stein)** * Sample check to be filled in with checks as they are added in Stein. murano-9.0.0/doc/source/reference/0000775000175000017500000000000013656750351017061 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/reference/target_users.rst0000664000175000017500000000327413656750211022323 0ustar zuulzuul00000000000000.. _target_users: ============ Target users ============ Cloud end users want to simply use applications as opposed to installing and managing them. Cloud administrators, in turn, would like to offer a well tested set of on demand self-service applications to dramatically reduce their support burden. Murano solves the problems of both constituents. It enables cloud administrators to publish cloud-ready applications in an online catalog. Cloud end users can use the catalog to deploy these on demand applications, reliably and consistently, with a button click. Cloud administrators ~~~~~~~~~~~~~~~~~~~~ For cloud administrators Murano provides UI and API to easily compose, deploy, run applications, and manage their lifecycle. Designed to be operating system independent, it can handle apps on all manner of the environments in the cloud, either Windows or Linux/Unix-based operating systems. It can be used to pre-configure and deploy anything that can run in the cloud, from low-level networking services to end-user applications. By automating these ongoing cloud application management activities, Murano speeds up the deployment, even for complex distributed applications, without sacrificing simplicity of use. Cloud end users ~~~~~~~~~~~~~~~ Murano catalog lets cloud end users choose from the available applications and services, and compose reliable distributed environments with an intuitive UI. Even users unfamiliar with cloud environments can easily deploy cloud-aware applications. Murano masks cloud-infrastructure specifics from end users, letting them reliably compose and deploy applications in the cloud for the widest range of workloads and use cases without touching IaaS internals. murano-9.0.0/doc/source/reference/appendix/0000775000175000017500000000000013656750351020671 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/reference/appendix/articles/0000775000175000017500000000000013656750351022477 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/reference/appendix/articles/articles_index.rst0000664000175000017500000000064213656750211026223 0ustar zuulzuul00000000000000Miscellaneous ~~~~~~~~~~~~~ **Background Concepts for Murano** .. toctree:: :maxdepth: 1 workflow **Tutorials** .. toctree:: :maxdepth: 1 image_builders/index test_docs **Guidelines** .. toctree:: :maxdepth: 1 guidelines **Gerrit review dashboard** .. toctree:: :maxdepth: 1 murano_gerrit_dashboard **API specification** .. toctree:: :maxdepth: 1 specification/index murano-9.0.0/doc/source/reference/appendix/articles/specification/0000775000175000017500000000000013656750351025317 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/reference/appendix/articles/specification/murano-api.rst0000664000175000017500000015703113656750211030123 0ustar zuulzuul00000000000000Glossary ======== .. _glossary-environment: * **Environment** The environment is a set of applications managed by a single project (tenant). They could be related logically with each other or not. Applications within a single environment may comprise of complex configuration while applications in different environments are always independent from one another. Each environment is associated with a single OpenStack project. .. _glossary-sessions: * **Session** Since murano environments are available for local modification for different users and from different locations, it's needed to store local modifications somewhere. Sessions were created to provide this opportunity. After a user adds an application to the environment - a new session is created. After a user sends an environment to deploy, a session with a set of applications changes status to *deploying* and all other open sessions for that environment become invalid. One session could be deployed only once. * **Object Model** Applications are defined in MuranoPL object model, which is defined as a JSON object. The murano API doesn't know anything about it. * **Package** A .zip archive, containing instructions for an application deployment. * **Environment-Template** The environment template is the specification of a set of applications managed by a single project, which are related to each other. The environment template is stored in an environment template catalog, and it can be managed by the user (creation, deletion, updating). Finally, it can be deployed on OpenStack by translating into an environment. Environment API =============== +----------------------+------------+-------------------------------------------+ | Attribute | Type | Description | +======================+============+===========================================+ | id | string | Unique ID | +----------------------+------------+-------------------------------------------+ | name | string | User-friendly name | +----------------------+------------+-------------------------------------------+ | created | datetime | Creation date and time in ISO format | +----------------------+------------+-------------------------------------------+ | updated | datetime | Modification date and time in ISO format | +----------------------+------------+-------------------------------------------+ | tenant_id | string | OpenStack project ID | +----------------------+------------+-------------------------------------------+ | version | int | Current version | +----------------------+------------+-------------------------------------------+ | networking | string | Network settings | +----------------------+------------+-------------------------------------------+ | acquired_by | string | Id of a session that acquired this | | | | environment (for example is deploying it) | +----------------------+------------+-------------------------------------------+ | status | string | Deployment status: ready, pending, | | | | deploying | +----------------------+------------+-------------------------------------------+ **Common response codes** +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | Operation completed successfully | +----------------+-----------------------------------------------------------+ | 403 | User is not authorized to perform the operation | +----------------+-----------------------------------------------------------+ List environments ----------------- *Request* +----------+----------------------------------+----------------------------------+ | Method | URI | Description | +==========+==================================+==================================+ | GET | /environments | Get a list of existing | | | | Environments | +----------+----------------------------------+----------------------------------+ *Parameters:* * `all_tenants` - boolean, indicates whether environments from all projects are listed. *True* environments from all projects are listed. Admin user required. *False* environments only from current project are listed (default like option unspecified). * `tenant` - indicates environments from specified tenant are listed. Admin user required. *Response* This call returns a list of environments. Only the basic properties are returned. :: { "environments": [ { "status": "ready", "updated": "2014-05-14T13:02:54", "networking": {}, "name": "test1", "created": "2014-05-14T13:02:46", "tenant_id": "726ed856965f43cc8e565bc991fa76c3", "version": 0, "id": "2fa5ab704749444bbeafe7991b412c33" }, { "status": "ready", "updated": "2014-05-14T13:02:55", "networking": {}, "name": "test2", "created": "2014-05-14T13:02:51", "tenant_id": "726ed856965f43cc8e565bc991fa76c3", "version": 0, "id": "744e44812da84e858946f5d817de4f72" } ] } Create environment ------------------ +----------------------+------------+--------------------------------------------------------+ | Attribute | Type | Description | +======================+============+========================================================+ | name | string | Environment name; at least one non-white space symbol | +----------------------+------------+--------------------------------------------------------+ *Request* +----------+----------------------------------+----------------------------------+ | Method | URI | Description | +==========+==================================+==================================+ | POST | /environments | Create new Environment | +----------+----------------------------------+----------------------------------+ * **Content-Type** application/json * **Example** {"name": "env_name"} *Response* :: { "id": "ce373a477f211e187a55404a662f968", "name": "env_name", "created": "2013-11-30T03:23:42Z", "updated": "2013-11-30T03:23:44Z", "tenant_id": "0849006f7ce94961b3aab4e46d6f229a", "version": 0 } Update environment ------------------ +----------------------+------------+--------------------------------------------------------+ | Attribute | Type | Description | +======================+============+========================================================+ | name | string | Environment name; at least one non-white space symbol | +----------------------+------------+--------------------------------------------------------+ *Request* +----------+----------------------------------+----------------------------------+ | Method | URI | Description | +==========+==================================+==================================+ | PUT | /environments/ | Update an existing Environment | +----------+----------------------------------+----------------------------------+ * **Content-Type** application/json * **Example** {"name": "env_name_changed"} *Response* **Content-Type** application/json :: { "id": "ce373a477f211e187a55404a662f968", "name": "env_name_changed", "created": "2013-11-30T03:23:42Z", "updated": "2013-11-30T03:45:54Z", "tenant_id": "0849006f7ce94961b3aab4e46d6f229a", "version": 0 } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | Edited environment | +----------------+-----------------------------------------------------------+ | 400 | Environment name must contain at least one non-white space| | | symbol | +----------------+-----------------------------------------------------------+ | 403 | User is not authorized to access environment | +----------------+-----------------------------------------------------------+ | 404 | Environment not found | +----------------+-----------------------------------------------------------+ | 409 | Environment with specified name already exists | +----------------+-----------------------------------------------------------+ Get environment details ----------------------- *Request* Return information about the environment itself and about applications, including this environment. +----------+----------------------------------+-----------------------------------+----------------------------------+ | Method | URI | Header | Description | +==========+==================================+===================================+==================================+ | GET | /environments/{id} | X-Configuration-Session (optional)| Response detailed information | | | | | about Environment including | | | | | child entities | +----------+----------------------------------+-----------------------------------+----------------------------------+ *Response* **Content-Type** application/json :: { "status": "ready", "updated": "2014-05-14T13:12:26", "networking": {}, "name": "quick-env-2", "created": "2014-05-14T13:09:55", "tenant_id": "726ed856965f43cc8e565bc991fa76c3", "version": 1, "services": [ { "instance": { "flavor": "m1.medium", "image": "cloud-fedora-v3", "name": "exgchhv6nbika2", "ipAddresses": [ "10.0.0.200" ], "?": { "type": "io.murano.resources.Instance", "id": "14cce9d9-aaa1-4f09-84a9-c4bb859edaff" } }, "name": "rewt4w56", "?": { "status": "ready", "_26411a1861294160833743e45d0eaad9": { "name": "Telnet" }, "type": "io.murano.apps.linux.Telnet", "id": "446373ef-03b5-4925-b095-6c56568fa518" } } ], "id": "20d4a012628e4073b48490a336a8acbf" } Delete environment ------------------ *Request* +----------+----------------------------------+----------------------------------+ | Method | URI | Description | +==========+==================================+==================================+ | DELETE | /environments/{id}?abandon | Remove specified Environment. | +----------+----------------------------------+----------------------------------+ *Parameters:* * `abandon` - boolean, indicates how to delete environment. *False* is used if all resources used by environment must be destroyed; *True* is used when just database must be cleaned *Response* +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | OK. Environment deleted successfully | +----------------+-----------------------------------------------------------+ | 403 | User is not allowed to delete this resource | +----------------+-----------------------------------------------------------+ | 404 | Not found. Specified environment doesn`t exist | +----------------+-----------------------------------------------------------+ Environment configuration API ============================= Multiple :ref:`sessions ` could be opened for one environment simultaneously, but only one session going to be deployed. First session that starts deploying is going to be deployed; other ones become invalid and could not be deployed at all. User could not open new session for environment that in *deploying* state (that's why we call it "almost lock free" model). +----------------------+------------+-------------------------------------------+ | Attribute | Type | Description | +======================+============+===========================================+ | id | string | Session unique ID | +----------------------+------------+-------------------------------------------+ | environment\_id | string | Environment that going to be modified | | | | during this session | +----------------------+------------+-------------------------------------------+ | created | datetime | Creation date and time in ISO format | +----------------------+------------+-------------------------------------------+ | updated | datetime | Modification date and time in ISO format | +----------------------+------------+-------------------------------------------+ | user\_id | string | Session owner ID | +----------------------+------------+-------------------------------------------+ | version | int | Environment version for which | | | | configuration session is opened | +----------------------+------------+-------------------------------------------+ | state | string | Session state. Could be: open, deploying, | | | | deployed | +----------------------+------------+-------------------------------------------+ Configure environment / open session ------------------------------------ During this call a new working session is created with its ID returned in response body. Notice that the session ID should be added to request headers with name ``X-Configuration-Session`` in subsequent requests when necessary. *Request* +----------+----------------------------------+----------------------------------+ | Method | URI | Description | +==========+==================================+==================================+ | POST | /environments//configure | Creating new configuration | | | | session | +----------+----------------------------------+----------------------------------+ *Response* **Content-Type** application/json :: { "id": "257bef44a9d848daa5b2563779714820", "updated": datetime.datetime(2014, 5, 14, 14, 17, 58, 949358), "environment_id": "744e44812da84e858946f5d817de4f72", "ser_id": "4e91d06270c54290b9dbdf859356d3b3", "created": datetime.datetime(2014, 5, 14, 14, 17, 58, 949305), "state": "open", "version": 0L } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | Session created successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 403 | Could not open session for environment, environment has | | | deploying status | +----------------+-----------------------------------------------------------+ | 404 | Not found. Specified environment doesn`t exist | +----------------+-----------------------------------------------------------+ Deploy session -------------- With this request all local changes made within the environment start to deploy on OpenStack. *Request* +----------+---------------------------------+--------------------------------+ | Method | URI | Description | +==========+=================================+================================+ | POST | /environments//sessions/| Deploy changes made in session | | | /deploy | with specified session_id | +----------+---------------------------------+--------------------------------+ *Response* +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | Session status changes to *deploying* | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 403 | Session is already deployed or deployment is in progress | +----------------+-----------------------------------------------------------+ | 404 | Not found. Specified session or environment doesn`t exist | +----------------+-----------------------------------------------------------+ Get session details ------------------- *Request* +----------+---------------------------------+---------------------------+ | Method | URI | Description | +==========+=================================+===========================+ | GET | /environments//sessions/| Get details about session | | | | with specified session_id | +----------+---------------------------------+---------------------------+ *Response* :: { "id": "4aecdc2178b9430cbbb8db44fb7ac384", "environment_id": "4dc8a2e8986fa8fa5bf24dc8a2e8986fa8", "created": "2013-11-30T03:23:42Z", "updated": "2013-11-30T03:23:54Z", "user_id": "d7b501094caf4daab08469663a9e1a2b", "version": 0, "state": "deploying" } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | Session details information received | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 403 | Session is invalid | +----------------+-----------------------------------------------------------+ | 404 | Not found. Specified session or environment doesn`t exist | +----------------+-----------------------------------------------------------+ Delete session -------------- *Request* +----------+---------------------------------+----------------------------------+ | Method | URI | Description | +==========+=================================+==================================+ | DELETE | /environments//sessions/| Delete session with specified | | | | session_id | +----------+---------------------------------+----------------------------------+ *Response* +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | Session is deleted successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 403 | Session is in deploying state and could not be deleted | +----------------+-----------------------------------------------------------+ | 404 | Not found. Specified session or environment doesn`t exist | +----------------+-----------------------------------------------------------+ Environment model API ===================== Get environment model --------------------- +----------+-------------------------------------+------------------------+--------------------------+ | Method | URI | Header | Description | +==========+=====================================+========================+==========================+ | GET | /environments//model/ | X-Configuration-Session| Get an Environment model | | | | (optional) | | +----------+-------------------------------------+------------------------+--------------------------+ Specifying allows to get a specific section of the model, for example `defaultNetworks`, `region` or `?` or any of the subsections. *Response* **Content-Type** application/json .. code-block:: javascript { "defaultNetworks": { "environment": { "internalNetworkName": "net_two", "?": { "type": "io.murano.resources.ExistingNeutronNetwork", "id": "594e94fcfe4c48ef8f9b55edb3b9f177" } }, "flat": null }, "region": "RegionTwo", "name": "new_env", "regions": { "": { "defaultNetworks": { "environment": { "autoUplink": true, "name": "new_env-network", "externalRouterId": null, "dnsNameservers": [], "autogenerateSubnet": true, "subnetCidr": null, "openstackId": null, "?": { "dependencies": { "onDestruction": [{ "subscriber": "c80e33dd67a44f489b2f04818b72f404", "handler": null }] }, "type": "io.murano.resources.NeutronNetwork/0.0.0@io.murano", "id": "e145b50623c04a68956e3e656a0568d3", "name": null }, "regionName": "RegionOne" }, "flat": null }, "name": "RegionOne", "?": { "type": "io.murano.CloudRegion/0.0.0@io.murano", "id": "c80e33dd67a44f489b2f04818b72f404", "name": null } }, "RegionOne": "c80e33dd67a44f489b2f04818b72f404", "RegionTwo": { "defaultNetworks": { "environment": { "autoUplink": true, "name": "new_env-network", "externalRouterId": "e449bdd5-228c-4747-a925-18cda80fbd6b", "dnsNameservers": ["8.8.8.8"], "autogenerateSubnet": true, "subnetCidr": "10.0.198.0/24", "openstackId": "00a695c1-60ff-42ec-acb9-b916165413da", "?": { "dependencies": { "onDestruction": [{ "subscriber": "f8cb28d147914850978edb35eca156e1", "handler": null }] }, "type": "io.murano.resources.NeutronNetwork/0.0.0@io.murano", "id": "72d2c13c600247c98e09e2e3c1cd9d70", "name": null }, "regionName": "RegionTwo" }, "flat": null }, "name": "RegionTwo", "?": { "type": "io.murano.CloudRegion/0.0.0@io.murano", "id": "f8cb28d147914850978edb35eca156e1", "name": null } } }, services: [] "?": { "type": "io.murano.Environment/0.0.0@io.murano", "_actions": { "f7f22c174070455c9cafc59391402bdc_deploy": { "enabled": true, "name": "deploy", "title": "deploy" } }, "id": "f7f22c174070455c9cafc59391402bdc", "name": null } } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | Environment model received successfully | +----------------+-----------------------------------------------------------+ | 403 | User is not authorized to access environment | +----------------+-----------------------------------------------------------+ | 404 | Environment is not found or specified section of the | | | model does not exist | +----------------+-----------------------------------------------------------+ Update environment model ------------------------ *Request* +----------+--------------------------------+------------------------+-----------------------------+ | Method | URI | Header | Description | +==========+================================+========================+=============================+ | PATCH | /environments//model/ | X-Configuration-Session| Update an Environment model | +----------+--------------------------------+------------------------+-----------------------------+ * **Content-Type** application/env-model-json-patch Allowed operations for paths: * "" (model root): no operations * "defaultNetworks": "replace" * "defaultNetworks/environment": "replace" * "defaultNetworks/environment/?/id": no operations * "defaultNetworks/flat": "replace" * "name": "replace" * "region": "replace" * "?/type": "replace" * "?/id": no operations For other paths any operation (add, replace or remove) is allowed. * **Example of request body with JSON-patch** .. code-block:: javascript [{ "op": "replace", "path": "/defaultNetworks/flat", "value": true }] *Response* **Content-Type** application/json See *GET* request response. +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | Environment is edited successfully | +----------------+-----------------------------------------------------------+ | 400 | Body format is invalid | +----------------+-----------------------------------------------------------+ | 403 | User is not authorized to access environment or specified | | | operation is forbidden for the given property | +----------------+-----------------------------------------------------------+ | 404 | Environment is not found or specified section of the | | | model does not exist | +----------------+-----------------------------------------------------------+ Environment deployments API =========================== Environment deployment API allows to track changes of environment status, deployment events and errors. It also allows to browse deployment history. List Deployments ---------------- Returns information about all deployments of the specified environment. *Request* +----------+------------------------------------+--------------------------------------+ | Method | URI | Description | +==========+====================================+======================================+ | GET | /environments//deployments | Get list of environment deployments | +----------+------------------------------------+--------------------------------------+ | GET | /deployments | Get list of deployments for all | | | | environments in user's project | +----------+---------------------------------------------------------------------------+ *Response* **Content-Type** application/json :: { "deployments": [ { "updated": "2014-05-15T07:24:21", "environment_id": "744e44812da84e858946f5d817de4f72", "description": { "services": [ { "instance": { "flavor": "m1.medium", "image": "cloud-fedora-v3", "?": { "type": "io.murano.resources.Instance", "id": "ef729199-c71e-4a4c-a314-0340e279add8" }, "name": "xkaduhv7qeg4m7" }, "name": "teslnet1", "?": { "_26411a1861294160833743e45d0eaad9": { "name": "Telnet" }, "type": "io.murano.apps.linux.Telnet", "id": "6e437be2-b5bc-4263-8814-6fd57d6ddbd5" } } ], "defaultNetworks": { "environment": { "name": "test2-network", "?": { "type": "io.murano.lib.networks.neutron.NewNetwork", "id": "b6a1d515434047d5b4678a803646d556" } }, "flat": null }, "name": "test2", "?": { "type": "io.murano.Environment", "id": "744e44812da84e858946f5d817de4f72" } }, "created": "2014-05-15T07:24:21", "started": "2014-05-15T07:24:21", "finished": null, "state": "running", "id": "327c81e0e34a4c93ad9b9052ef42b752" } ] } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | Deployments information received successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this environment | +----------------+-----------------------------------------------------------+ Application management API ========================== All applications should be created within an environment and all environment modifications are held within the session. Local changes apply only after successful deployment of an environment session. Get application details ----------------------- Using GET requests to applications endpoint user works with list containing all applications for specified environment. A user can request a whole list, specific application, or specific attribute of a specific application using tree traversing. To request a specific application, the user should add to endpoint part an application id, e.g.: */environments//services/*. For selection of specific attribute on application, simply appending part with attribute name will work. For example to request application name, user should use next endpoint: */environments//services//name* *Request* +----------------+-----------------------------------------------------------+------------------------------------+ | Method | URI | Header | +================+===========================================================+====================================+ | GET | /environments//services/ | X-Configuration-Session (optional) | +----------------+-----------------------------------------------------------+------------------------------------+ **Parameters:** * `env_id` - environment ID, required * `app_id` - application ID, optional *Response* **Content-Type** application/json :: { "instance": { "flavor": "m1.medium", "image": "cloud-fedora-v3", "?": { "type": "io.murano.resources.Instance", "id": "060715ff-7908-4982-904b-3b2077ff55ef" }, "name": "hbhmyhv6qihln3" }, "name": "dfg34", "?": { "status": "pending", "_26411a1861294160833743e45d0eaad9": { "name": "Telnet" }, "type": "io.murano.apps.linux.Telnet", "id": "6e7b8ad5-888d-4c5a-a498-076d092a7eff" } } Create new application ---------------------- Create a new application and add it to the murano environment. Result JSON is calculated in Murano dashboard, which is based on `UI definition `_. *Request* **Content-Type** application/json +----------------+-----------------------------------------------------------+------------------------------------+ | Method | URI | Header | +================+===========================================================+====================================+ | POST | /environments//services | X-Configuration-Session | +----------------+-----------------------------------------------------------+------------------------------------+ :: { "instance": { "flavor": "m1.medium", "image": "clod-fedora-v3", "?": { "type": "io.murano.resources.Instance", "id": "bce8308e-5938-408b-a27a-0d3f0a2c52eb" }, "name": "nhekhv6r7mhd4" }, "name": "sdf34sadf", "?": { "_26411a1861294160833743e45d0eaad9": { "name": "Telnet" }, "type": "io.murano.apps.linux.Telnet", "id": "190c8705-5784-4782-83d7-0ab55a1449aa" } } *Response* Created application returned **Content-Type** application/json :: { "instance": { "flavor": "m1.medium", "image": "cloud-fedora-v3", "?": { "type": "io.murano.resources.Instance", "id": "bce8308e-5938-408b-a27a-0d3f0a2c52eb" }, "name": "nhekhv6r7mhd4" }, "name": "sdf34sadf", "?": { "_26411a1861294160833743e45d0eaad9": { "name": "Telnet" }, "type": "io.murano.apps.linux.Telnet", "id": "190c8705-5784-4782-83d7-0ab55a1449a1" } } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | Application was created successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to perform this action | +----------------+-----------------------------------------------------------+ | 403 | Policy prevents this user from performing this action | +----------------+-----------------------------------------------------------+ | 404 | Not found. Environment doesn't exist | +----------------+-----------------------------------------------------------+ | 400 | Required header or body are not provided | +----------------+-----------------------------------------------------------+ Update applications ------------------- Applications list for environment can be updated. *Request* **Content-Type** application/json +----------------+-----------------------------------------------------------+------------------------------------+ | Method | URI | Header | +================+===========================================================+====================================+ | PUT | /environments//services | X-Configuration-Session | +----------------+-----------------------------------------------------------+------------------------------------+ :: [{ "instance": { "availabilityZone": "nova", "name": "apache-instance", "assignFloatingIp": true, "keyname": "", "flavor": "m1.small", "image": "146d5523-7b2d-4abc-b0d0-2041f920ce26", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "25185cb6f29b415fa2e438309827a797" } }, "name": "ApacheHttpServer", "enablePHP": true, "?": { "type": "com.example.apache.ApacheHttpServer", "id": "6e66106d7dcb4748a5c570150a3df80f" } }] *Response* Updated applications list returned **Content-Type** application/json :: [{ "instance": { "availabilityZone": "nova", "name": "apache-instance", "assignFloatingIp": true, "keyname": "", "flavor": "m1.small", "image": "146d5523-7b2d-4abc-b0d0-2041f920ce26", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "25185cb6f29b415fa2e438309827a797" } }, "name": "ApacheHttpServer", "enablePHP": true, "?": { "type": "com.example.apache.ApacheHttpServer", "id": "6e66106d7dcb4748a5c570150a3df80f" } }] +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | Services are updated successfully | +----------------+-----------------------------------------------------------+ | 400 | Required header is not provided | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized | +----------------+-----------------------------------------------------------+ | 403 | Session is in deploying state and could not be updated | | | or user is not allowed to update services | +----------------+-----------------------------------------------------------+ | 404 | Not found. Specified environment and/or session do not | | | exist | +----------------+-----------------------------------------------------------+ Delete application from environment ----------------------------------- Delete one or all applications from the environment *Request* +----------------+-----------------------------------------------------------+-----------------------------------+ | Method | URI | Header | +================+===========================================================+===================================+ | DELETE | /environments//services/ | X-Configuration-Session(optional) | +----------------+-----------------------------------------------------------+-----------------------------------+ **Parameters:** * `env_id` - environment ID, required * `app_id` - application ID, optional Statistic API ============= Statistic API intends to provide billing feature Instance environment statistics ------------------------------- *Request* Get information about all deployed instances in the specified environment +----------------+--------------------------------------------------------------+ | Method | URI | +================+==============================================================+ | GET | /environments//instance-statistics/raw/ | +----------------+--------------------------------------------------------------+ **Parameters:** * `env_id` - environment ID, required * `instance_id` - ID of the instance for which need to provide statistic information, optional *Response* +----------------------+------------+-----------------------------------------------------------------+ | Attribute | Type | Description | +======================+============+=================================================================+ | type | int | Code of the statistic object; 200 - instance, 100 - application | +----------------------+------------+-----------------------------------------------------------------+ | type_name | string | Class name of the statistic object | +----------------------+------------+-----------------------------------------------------------------+ | instance_id | string | Id of deployed instance | +----------------------+------------+-----------------------------------------------------------------+ | active | bool | Instance status | +----------------------+------------+-----------------------------------------------------------------+ | type_title | string | User-friendly name for browsing statistic in UI | +----------------------+------------+-----------------------------------------------------------------+ | duration | int | Seconds of instance uptime | +----------------------+------------+-----------------------------------------------------------------+ **Content-Type** application/json :: [ { "type": 200, "type_name": "io.murano.resources.Instance", "instance_id": "ef729199-c71e-4a4c-a314-0340e279add8", "active": true, "type_title": null, "duration": 1053, } ] *Request* +----------------+--------------------------------------------------------------+ | Method | URI | +================+==============================================================+ | GET | /environments//instance-statistics/aggregated | +----------------+--------------------------------------------------------------+ *Response* +----------------------+------------+-----------------------------------------------------------------+ | Attribute | Type | Description | +======================+============+=================================================================+ | type | int | Code of the statistic object; 200 - instance, 100 - application | +----------------------+------------+-----------------------------------------------------------------+ | duration | int | Amount uptime of specified type objects | +----------------------+------------+-----------------------------------------------------------------+ | count | int | Quantity of specified type objects | +----------------------+------------+-----------------------------------------------------------------+ **Content-Type** application/json :: [ { "duration": 720, "count": 2, "type": 200 } ] General Request Statistics -------------------------- *Request* +----------------+---------------+ | Method | URI | +================+===============+ | GET | /stats | +----------------+---------------+ *Response* +----------------------+------------+-----------------------------------------------------------------+ | Attribute | Type | Description | +======================+============+=================================================================+ | requests_per_tenant | int | Number of incoming requests for user project | +----------------------+------------+-----------------------------------------------------------------+ | errors_per_second | int | Class name of the statistic object | +----------------------+------------+-----------------------------------------------------------------+ | errors_count | int | Class name of the statistic object | +----------------------+------------+-----------------------------------------------------------------+ | requests_per_second | float | Average number of incoming request received in one second | +----------------------+------------+-----------------------------------------------------------------+ | requests_count | int | Number of all requests sent to the server | +----------------------+------------+-----------------------------------------------------------------+ | cpu_percent | bool | Current cpu usage | +----------------------+------------+-----------------------------------------------------------------+ | cpu_count | int | Available cpu power is ``cpu_count * 100%`` | +----------------------+------------+-----------------------------------------------------------------+ | host | string | Server host-name | +----------------------+------------+-----------------------------------------------------------------+ | average_response_time| float | Average time response waiting, seconds | +----------------------+------------+-----------------------------------------------------------------+ **Content-Type** application/json :: [ { "updated": "2014-05-15T08:26:17", "requests_per_tenant": "{\"726ed856965f43cc8e565bc991fa76c3\": 313}", "created": "2014-04-29T13:23:59", "cpu_count": 2, "errors_per_second": 0, "requests_per_second": 0.0266528, "cpu_percent": 21.7, "host": "fervent-VirtualBox", "error_count": 0, "request_count": 320, "id": 1, "average_response_time": 0.55942 } ] Actions API =========== Murano actions are simple MuranoPL methods, that can be called on deployed applications. Application contains a list with available actions. Actions may return a result. Execute an action ----------------- Generate task with executing specified action. Input parameters may be provided. *Request* **Content-Type** application/json +----------------+-----------------------------------------------------------+------------------------------------+ | Method | URI | Header | +================+===========================================================+====================================+ | POST | /environments//actions/ | | +----------------+-----------------------------------------------------------+------------------------------------+ **Parameters:** * `env_id` - environment ID, required * `actions_id` - action ID to execute, required :: "{: value}" or "{}" in case action has no properties *Response* Task ID that executes specified action is returned **Content-Type** application/json :: { "task_id": "620e883070ad40a3af566d465aa156ef" } GET action result ----------------- Request result value after action execution finish. Not all actions have return values. *Request* +----------------+-----------------------------------------------------------+------------------------------------+ | Method | URI | Header | +================+===========================================================+====================================+ | GET | /environments//actions/ | | +----------------+-----------------------------------------------------------+------------------------------------+ **Parameters:** * `env_id` - environment ID, required * `task_id` - task ID, generated on desired action execution *Response* Json, describing action result is returned. Result type and value are provided. **Content-Type** application/json :: { "isException": false, "result": ["item1", "item2"] } Static Actions API ================== Static actions are MuranoPL methods that can be called on a MuranoPL class without deploying actual applications and usually return a result. Execute a static action ----------------------- Invoke public static method of the specified MuranoPL class. Input parameters may be provided if method requires them. *Request* **Content-Type** application/json +----------------+-----------------------------------------------------------+------------------------------------+ | Method | URI | Header | +================+===========================================================+====================================+ | POST | /actions | | +----------------+-----------------------------------------------------------+------------------------------------+ :: { "className": "my.class.fqn", "methodName": "myMethod", "packageName": "optional.package.fqn", "classVersion": "1.2.3", "parameters": { "arg1": "value1", "arg2": "value2" } } +-----------------+------------+-----------------------------------------------------------------------------+ | Attribute | Type | Description | +=================+============+=============================================================================+ | className | string | Fully qualified name of MuranoPL class with static method | +-----------------+------------+-----------------------------------------------------------------------------+ | methodName | string | Name of the method to invoke | +-----------------+------------+-----------------------------------------------------------------------------+ | packageName | string | Fully qualified name of a package with the MuranoPL class (optional) | +-----------------+------------+-----------------------------------------------------------------------------+ | classVersion | string | Class version specification, "=0" by default | +-----------------+------------+-----------------------------------------------------------------------------+ | parameters | object | Key-value pairs of method parameter names and their values, "{}" by default | +-----------------+------------+-----------------------------------------------------------------------------+ *Response* JSON-serialized result of the static method execution. HTTP codes: +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | OK. Action was executed successfully | +----------------+-----------------------------------------------------------+ | 400 | Bad request. The format of the body is invalid, method | | | doesn't match provided arguments, mandatory arguments are | | | not provided | +----------------+-----------------------------------------------------------+ | 403 | User is not allowed to execute the action | +----------------+-----------------------------------------------------------+ | 404 | Not found. Specified class, package or method doesn't | | | exist or method is not exposed | +----------------+-----------------------------------------------------------+ | 503 | Unhandled exception in the action | +----------------+-----------------------------------------------------------+ murano-9.0.0/doc/source/reference/appendix/articles/specification/overview.rst0000664000175000017500000000341513656750211027715 0ustar zuulzuul00000000000000General information =================== * **Introduction** The murano service API is a programmatic interface used for interaction with murano. Other interaction mechanisms like the murano dashboard or the murano CLI should use the API as an underlying protocol for interaction. * **Allowed HTTPs requests** * *POST* : To create a resource * *GET* : Get a resource or list of resources * *DELETE* : To delete resource * *PATCH* : To update a resource * **Description Of Usual Server Responses** * 200 ``OK`` - the request was successful. * 201 ``Created`` - the request was successful and a resource was created. * 204 ``No Content`` - the request was successful but there is no representation to return (i.e. the response is empty). * 400 ``Bad Request`` - the request could not be understood or required parameters were missing. * 401 ``Unauthorized`` - authentication failed or user didn't have permissions for requested operation. * 403 ``Forbidden`` - access denied. * 404 ``Not Found`` - resource was not found * 405 ``Method Not Allowed`` - requested method is not supported for resource. * 406 ``Not Acceptable`` - the requested resource is only capable of generating content not acceptable according to the Accept headers sent in the request. * 409 ``Conflict`` - requested method resulted in a conflict with the current state of the resource. * **Response of POSTs and PUTs** All POST and PUT requests by convention should return the created object (in the case of POST, with a generated ID) as if it was requested by GET. * **Authentication** All requests include a keystone authentication token header (X-Auth-Token). Clients must authenticate with keystone before interacting with the murano service.murano-9.0.0/doc/source/reference/appendix/articles/specification/murano-repository.rst0000664000175000017500000005314513656750211031572 0ustar zuulzuul00000000000000Application catalog API ======================= Manage application definitions in the Application Catalog. You can browse, edit and upload new application packages (.zip.package archive with all data that required for a service deployment). Packages ======== Methods for application package management **Package Properties** - ``id``: guid of a package (``fully_qualified_name`` can also be used for some API functions) - ``fully_qualified_name``: fully qualified domain name - domain name that specifies exact application location - ``name``: user-friendly name - ``type``: package type, "library" or "application" - ``description``: text information about application - ``author``: name of application author - ``tags``: list of short names, connected with the package, which allows to search applications easily - ``categories``: list of application categories - ``class_definition``: list of class names used by a package - ``is_public``: determines whether the package is shared for other projects - ``enabled``: determines whether the package is browsed in the Application Catalog - ``owner_id``: id of a project that owns the package .. note:: It is possible to use ``in`` operator for properties ``id``, ``category`` and ``tag``. For example to get packages with ``id1, id2, id3`` use ``id=in:id1,id2,id3``. List packages ------------- `/v1/catalog/packages?{marker}{limit}{order_by}{type}{category}{fqn}{owned}{id}{catalog}{class_name}{name} [GET]` This is the compound request to list and search through application catalog. If there are no search parameters all packages that is_public, enabled and belong to the user's project will be listed. Default order is by 'created' field. For an admin role all packages are available. **Parameters** +---------------------+--------+---------------------------------------------+ | Attribute | Type | Description | +=====================+========+=============================================+ | ``catalog`` | bool | If false (default) - search packages, that | | | | current user can edit (own for non-admin, | | | | all for admin) | | | | If true - search packages, that current user| | | | can deploy (i.e. his own + public) | +---------------------+--------+---------------------------------------------+ | ``marker`` | string | A package identifier marker may be | | | | specified. When present only packages which | | | | occur after the identifier ID will be listed| +---------------------+--------+---------------------------------------------+ | ``limit`` | string | When present the maximum number of results | | | | returned will not exceed the specified | | | | value. The typical pattern of limit and | | | | marker is to make an initial limited request| | | | and then to use the ID of the last package | | | | from the response as the marker parameter in| | | | a subsequent limited request. | +---------------------+--------+---------------------------------------------+ | ``order_by`` | string | Allows to sort packages by: `fqn`, `name`, | | | | `created`. Created is default value. | +---------------------+--------+---------------------------------------------+ | ``type`` | string | Allows to point a type of package: | | | | `application`, `library` | +---------------------+--------+---------------------------------------------+ | ``category`` | string | Allows to point a categories for a search | +---------------------+--------+---------------------------------------------+ | ``fqn`` | string | Allows to point a fully qualified package | | | | name for a search | +---------------------+--------+---------------------------------------------+ | ``owned`` | bool | Search only from packages owned by current | | | | project | +---------------------+--------+---------------------------------------------+ | ``id`` | string | Allows to point an id for a search | +---------------------+--------+---------------------------------------------+ | ``include_disabled``| bool | Include disabled packages in a the result | +---------------------+--------+---------------------------------------------+ | ``search`` | string | Gives opportunity to search specified data | | | | by all the package parameters and order | | | | packages | +---------------------+--------+---------------------------------------------+ | ``class_name`` | string | Search only for packages, that use specified| | | | class | +---------------------+--------+---------------------------------------------+ | ``name`` | string | Allows to point a package name for a search | +---------------------+--------+---------------------------------------------+ **Response 200 (application/json)** :: {"packages": [ { "id": "fed57567c9fa42c192dcbe0566f8ea33", "fully_qualified_name" : "com.example.murano.services.linux.telnet", "is_public": false, "name": "Telnet", "type": "linux", "description": "Installs Telnet service", "author": "OpenStack, Inc.", "created": "2014-04-02T14:31:55", "enabled": true, "tags": ["linux", "telnet"], "categories": ["Utility"], "owner_id": "fed57567c9fa42c192dcbe0566f8ea40" }, { "id": "fed57567c9fa42c192dcbe0566f8ea31", "fully_qualified_name": "com.example.murano.services.windows.WebServer", "is_public": true, "name": "Internet Information Services", "type": "windows", "description": "The Internet Information Service sets up an IIS server and joins it into an existing domain", "author": "OpenStack, Inc.", "created": "2014-04-02T14:31:55", "enabled": true, "tags": ["windows", "web"], "categories": ["Web"], "owner_id": "fed57567c9fa42c192dcbe0566f8ea40" }] } Upload a new package[POST] -------------------------- `/v1/catalog/packages` See the example of multipart/form-data request, It should contain two parts - text (JSON string) and file object **Request (multipart/form-data)** .. code-block:: none Content-type: multipart/form-data, boundary=AaB03x Content-Length: $requestlen --AaB03x content-disposition: form-data; name="submit-name" --AaB03x Content-Disposition: form-data; name="JsonString" Content-Type: application/json {"categories":["web"] , "tags": ["windows"], "is_public": false, "enabled": false} `categories` - array, required `tags` - array, optional `name` - string, optional `description` - string, optional `is_public` - bool, optional `enabled` - bool, optional --AaB03x content-disposition: file; name="file"; filename="test.tar" Content-Type: targz Content-Transfer-Encoding: binary $binarydata --AaB03x-- **Response 200 (application/json)** .. code-block:: json { "updated": "2014-04-03T13:00:13", "description": "A domain service hosted in Windows environment by using Active Directory Role", "tags": ["windows"], "is_public": true, "id": "8f4f09bd6bcb47fb968afd29aacc0dc9", "categories": ["test1"], "name": "Active Directory", "author": "Mirantis, Inc", "created": "2014-04-03T13:00:13", "enabled": true, "class_definition": [ "com.mirantis.murano.windows.activeDirectory.ActiveDirectory", "com.mirantis.murano.windows.activeDirectory.SecondaryController", "com.mirantis.murano.windows.activeDirectory.Controller", "com.mirantis.murano.windows.activeDirectory.PrimaryController" ], "fully_qualified_name": "com.mirantis.murano.windows.activeDirectory.ActiveDirectory", "type": "Application", "owner_id": "fed57567c9fa42c192dcbe0566f8ea40" } Get package details ------------------- `/v1/catalog/packages/{id} [GET]` Display details for a package. **Parameters** ``id`` (required) Hexadecimal `id` (or fully qualified name) of the package **Response 200 (application/json)** :: { "updated": "2014-04-03T13:00:13", "description": "A domain service hosted in Windows environment by using Active Directory Role", "tags": ["windows"], "is_public": true, "id": "8f4f09bd6bcb47fb968afd29aacc0dc9", "categories": ["test1"], "name": "Active Directory", "author": "Mirantis, Inc", "created": "2014-04-03T13:00:13", "enabled": true, "class_definition": [ "com.mirantis.murano.windows.activeDirectory.ActiveDirectory", "com.mirantis.murano.windows.activeDirectory.SecondaryController", "com.mirantis.murano.windows.activeDirectory.Controller", "com.mirantis.murano.windows.activeDirectory.PrimaryController" ], "fully_qualified_name": "com.mirantis.murano.windows.activeDirectory.ActiveDirectory", "type": "Application", "owner_id": "fed57567c9fa42c192dcbe0566f8ea40" } **Response 403** * In attempt to get a non-public package by a user whose project is not an owner of this package. **Response 404** * In case the specified package id doesn't exist. Update a package ================ `/v1/catalog/packages/{id} [PATCH]` Allows to edit mutable fields (categories, tags, name, description, is_public, enabled). See the full specification `here `_. **Parameters** ``id`` (required) Hexadecimal `id` (or fully qualified name) of the package **Content type** application/murano-packages-json-patch Allowed operations: :: [ { "op": "add", "path": "/tags", "value": [ "foo", "bar" ] }, { "op": "add", "path": "/categories", "value": [ "foo", "bar" ] }, { "op": "remove", "path": "/tags", ["foo"] }, { "op": "remove", "path": "/categories", ["foo"] }, { "op": "replace", "path": "/tags", "value": [] }, { "op": "replace", "path": "/categories", "value": ["bar"] }, { "op": "replace", "path": "/is_public", "value": true }, { "op": "replace", "path": "/enabled", "value": true }, { "op": "replace", "path": "/description", "value":"New description" }, { "op": "replace", "path": "/name", "value": "New name" } ] **Request 200 (application/murano-packages-json-patch)** :: [ { "op": "add", "path": "/tags", "value": [ "windows", "directory"] }, { "op": "add", "path": "/categories", "value": [ "Directory" ] } ] **Response 200 (application/json)** :: { "updated": "2014-04-03T13:00:13", "description": "A domain service hosted in Windows environment by using Active Directory Role", "tags": ["windows", "directory"], "is_public": true, "id": "8f4f09bd6bcb47fb968afd29aacc0dc9", "categories": ["test1"], "name": "Active Directory", "author": "Mirantis, Inc", "created": "2014-04-03T13:00:13", "enabled": true, "class_definition": [ "com.mirantis.murano.windows.activeDirectory.ActiveDirectory", "com.mirantis.murano.windows.activeDirectory.SecondaryController", "com.mirantis.murano.windows.activeDirectory.Controller", "com.mirantis.murano.windows.activeDirectory.PrimaryController" ], "fully_qualified_name": "com.mirantis.murano.windows.activeDirectory.ActiveDirectory", "type": "Application", "owner_id": "fed57567c9fa42c192dcbe0566f8ea40" } **Response 403** * An attempt to update immutable fields * An attempt to perform operation that is not allowed on the specified path * An attempt to update non-public package by user whose project is not an owner of this package **Response 404** * An attempt to update package that doesn't exist Delete application definition from the catalog ---------------------------------------------- `/v1/catalog/packages/{id} [DELETE]` **Parameters** * ``id`` (required) Hexadecimal `id` (or fully qualified name) of the package to delete **Response 404** * An attempt to delete package that doesn't exist Get application package ----------------------- `/v1/catalog/packages/{id}/download [GET]` Get application definition package **Parameters** * ``id`` (required) Hexadecimal `id` (or fully qualified name) of the package **Response 200 (application/octet-stream)** The sequence of bytes representing package content **Response 404** Specified package id doesn't exist Get UI definition ----------------- `/v1/catalog/packages/{id}/ui [GET]` Retrieve UI definition for an application which described in a package with provided id **Parameters** * ``id`` (required) Hexadecimal `id` (or fully qualified name) of the package **Response 200 (application/octet-stream)** The sequence of bytes representing UI definition **Response 404** Specified package id doesn't exist **Response 403** Specified package is not public and not owned by user project, performing the request **Response 404** * Specified package id doesn't exist Get logo -------- Retrieve application logo which described in a package with provided id `/v1/catalog/packages/{id}/logo [GET]` **Parameters** ``id`` (required) Hexadecimal `id` (or fully qualified name) of the package **Response 200 (application/octet-stream)** The sequence of bytes representing application logo **Response 403** Specified package is not public and not owned by user project, performing the request **Response 404** Specified package is not public and not owned by user project, performing the request Categories ========== Provides category management. Categories are used in the Application Catalog to group application for easy browsing and search. List categories --------------- * `/v1/catalog/packages/categories [GET]` !DEPRECATED (Plan to remove in L release) Retrieve list of all available application categories **Response 200 (application/json)** A list, containing category names *Content-Type* application/json :: { "categories": ["Web service", "Directory", "Database", "Storage"] } * `/v1/catalog/categories [GET]` +----------+------------------------------+---------------------------------+ | Method | URI | Description | +==========+==============================+=================================+ | GET | /catalog/categories | Get list of existing categories | +----------+------------------------------+---------------------------------+ Retrieve list of all available application categories **Response 200 (application/json)** A list, containing detailed information about each category *Content-Type* application/json :: {"categories": [ { "id": "0420045dce7445fabae7e5e61fff9e2f", "updated": "2014-12-26T13:57:04", "name": "Web", "created": "2014-12-26T13:57:04", "package_count": 1 }, { "id": "3dd486b1e26f40ac8f35416b63f52042", "updated": "2014-12-26T13:57:04", "name": "Databases", "created": "2014-12-26T13:57:04", "package_count": 0 }] } Get category details -------------------- `/catalog/categories/ [GET]` Return detailed information for a provided category *Request* +----------+-----------------------------------+-----------------------------+ | Method | URI | Description | +==========+===================================+=============================+ | GET | /catalog/categories/ | Get category detail | +----------+-----------------------------------+-----------------------------+ *Parameters* * ``category_id`` - required, category ID, required *Response* *Content-Type* application/json :: { "id": "b308f7fa8a2f4a5eb419970c827f4466", "updated": "2015-01-28T17:00:19", "packages": [ { "fully_qualified_name": "io.murano.apps.ZabbixServer", "id": "4dfb566e69e6445fbd4aea5099fe95e9", "name": "Zabbix Server" } ], "name": "Web", "created": "2015-01-28T17:00:19", "package_count": 1 } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | OK. Category deleted successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 404 | Not found. Specified category doesn`t exist | +----------------+-----------------------------------------------------------+ Add new category ---------------- `/catalog/categories [POST]` Add new category to the Application Catalog *Parameters* +----------------------+------------+----------------------------------------+ | Attribute | Type | Description | +======================+============+========================================+ | name | string | Environment name; only alphanumeric | | | | characters and '-' | +----------------------+------------+----------------------------------------+ *Request* +----------+----------------------------------+------------------------------+ | Method | URI | Description | +==========+==================================+==============================+ | POST | /catalog/categories | Create new category | +----------+----------------------------------+------------------------------+ *Content-Type* application/json *Example* {"name": "category_name"} *Response* :: { "id": "ce373a477f211e187a55404a662f968", "name": "category_name", "created": "2013-11-30T03:23:42Z", "updated": "2013-11-30T03:23:44Z", "package_count": 0 } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | OK. Category created successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 409 | Conflict. Category with specified name already exist | +----------------+-----------------------------------------------------------+ Delete category --------------- `/catalog/categories [DELETE]` *Request* +----------+-----------------------------------+-----------------------------+ | Method | URI | Description | +==========+===================================+=============================+ | DELETE | /catalog/categories/ | Delete category with | | | | specified ID | +----------+-----------------------------------+-----------------------------+ *Parameters:* * ``category_id`` - required, category ID, required *Response* +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | OK. Category deleted successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 404 | Not found. Specified category doesn`t exist | +----------------+-----------------------------------------------------------+ | 403 | Forbidden. Category with specified name is assigned to | | | the package, presented in the catalog | +----------------+-----------------------------------------------------------+ murano-9.0.0/doc/source/reference/appendix/articles/specification/index.rst0000664000175000017500000000026413656750211027155 0ustar zuulzuul00000000000000=========================== Murano API v1 specification =========================== .. toctree:: :maxdepth: 1 overview murano-api murano-repository murano-env-tempmurano-9.0.0/doc/source/reference/appendix/articles/specification/murano-env-temp.rst0000664000175000017500000005461713656750211031113 0ustar zuulzuul00000000000000Environment template API ======================== Manage environment template definitions in murano. It is possible to create, update, delete, and deploy into OpenStack by translating it into an environment. In addition, applications can be added to or deleted from the environment template. **Environment Template Properties** +----------------------+------------+-------------------------------------------+ | Attribute | Type | Description | +======================+============+===========================================+ | id | string | Unique ID | +----------------------+------------+-------------------------------------------+ | name | string | User-friendly name | +----------------------+------------+-------------------------------------------+ | created | datetime | Creation date and time in ISO format | +----------------------+------------+-------------------------------------------+ | updated | datetime | Modification date and time in ISO format | +----------------------+------------+-------------------------------------------+ | tenant_id | string | OpenStack project | +----------------------+------------+-------------------------------------------+ | version | int | Current version | +----------------------+------------+-------------------------------------------+ | networking | string | Network settings | +----------------------+------------+-------------------------------------------+ | description | string | The environment template specification | +----------------------+------------+-------------------------------------------+ **Common response codes** +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | Operation completed successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to perform the operation | +----------------+-----------------------------------------------------------+ Methods for Environment Template API List Environments Templates --------------------------- *Request* +----------+----------------------------------+----------------------------------+ | Method | URI | Description | +==========+==================================+==================================+ | GET | /templates | Get a list of existing | | | | environment templates | +----------+----------------------------------+----------------------------------+ *Parameters:* * `is_public` - boolean, indicates whether public environment templates are listed or not. *True* public environments templates from all projects are listed. *False* private environments templates from current project are listed *empty* all project templates plus public templates from all projects are listed *Response* This call returns a list of environment templates. Only the basic properties are returned. :: { "templates": [ { "updated": "2014-05-14T13:02:54", "networking": {}, "name": "test1", "created": "2014-05-14T13:02:46", "tenant_id": "726ed856965f43cc8e565bc991fa76c3", "version": 0, "is_public": false, "id": "2fa5ab704749444bbeafe7991b412c33" }, { "updated": "2014-05-14T13:02:55", "networking": {}, "name": "test2", "created": "2014-05-14T13:02:51", "tenant_id": "123452452345346345634563456345346", "version": 0, "is_public": true, "id": "744e44812da84e858946f5d817de4f72" } ] } Create environment template --------------------------- +----------------------+------------+---------------------------------------------------------+ | Attribute | Type | Description | +======================+============+=========================================================+ | name | string | Environment template name; only alphanumeric characters | | | and '-' | | +----------------------+------------+---------------------------------------------------------+ *Request* +----------+--------------------------------+--------------------------------------+ | Method | URI | Description | +==========+================================+======================================+ | POST | /templates | Create a new environment template | +----------+--------------------------------+--------------------------------------+ *Content-Type* application/json *Example* {"name": "env_temp_name"} *Response* :: { "id": "ce373a477f211e187a55404a662f968", "name": "env_temp_name", "created": "2013-11-30T03:23:42Z", "updated": "2013-11-30T03:23:44Z", "tenant_id": "0849006f7ce94961b3aab4e46d6f229a", } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | Operation completed successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to perform the operation | +----------------+-----------------------------------------------------------+ | 409 | The environment template already exists | +----------------+-----------------------------------------------------------+ Get environment templates details --------------------------------- *Request* Return information about environment template itself and about applications, including to this environment template. +----------+--------------------------------+-------------------------------------------------+ | Method | URI | Description | +==========+================================+=================================================+ | GET | /templates/{env-temp-id} | Obtains the environment template information | +----------+--------------------------------+-------------------------------------------------+ * `env-temp-id` - environment template ID, required *Response* *Content-Type* application/json :: { "updated": "2015-01-26T09:12:51", "networking": { }, "name": "template_name", "created": "2015-01-26T09:12:51", "tenant_id": "00000000000000000000000000000001", "version": 0, "id": "aa9033ca7ce245fca10e38e1c8c4bbf7", } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | OK. Get environment template details successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 404 | The environment template does not exist | +----------------+-----------------------------------------------------------+ Delete environment template --------------------------- *Request* +----------+-----------------------------------+-----------------------------------+ | Method | URI | Description | +==========+===================================+===================================+ | DELETE | /templates/ | Delete the template id | +----------+-----------------------------------+-----------------------------------+ *Parameters:* * `env-temp_id` - environment template ID, required *Response* +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | OK. Environment Template deleted successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 404 | The environment template does not exist | +----------------+-----------------------------------------------------------+ Adding application to environment template ------------------------------------------ *Request* +----------+------------------------------------+----------------------------------+ | Method | URI | Description | +==========+====================================+==================================+ | POST | /templates/{env-temp-id}/services | Create a new application | +----------+------------------------------------+----------------------------------+ *Parameters:* * `env-temp-id` - The environment-template id, required * payload - the service description *Content-Type* application/json *Example* :: { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "port": "8080", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" } } *Response* :: { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" }, "port": "8080" } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | OK. Application added successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 404 | The environment template does not exist | +----------------+-----------------------------------------------------------+ Delete application from an environment template ----------------------------------------------- *Request* +----------+---------------------------------------------+--------------------------------------+ | Method | URI | Description | +==========+=============================================+======================================+ | DELETE | /templates/{env-temp-id}/services/{app-id} | Delete application with Specified id | +----------+---------------------------------------------+--------------------------------------+ *Parameters:* * `env-temp-id` - The environment template ID, required * `app-id` - The application ID, required *Content-Type* application/json *Response* :: { "updated": "2015-01-26T09:12:51", "services": [], "name": "template_name", "created": "2015-01-26T09:12:51", "tenant_id": "00000000000000000000000000000001", "version": 0, "id": "aa9033ca7ce245fca10e38e1c8c4bbf7", } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | OK. Application deleted successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 404 | The application does not exist | +----------------+-----------------------------------------------------------+ Get applications information from an environment template --------------------------------------------------------- *Request* +----------+-------------------------------------+-----------------------------------+ | Method | URI | Description | +==========+=====================================+===================================+ | GET | /templates/{env-temp-id}/services | It obtains the service description| +----------+-------------------------------------+-----------------------------------+ *Parameters:* * `env-temp-id` - The environment template ID, required *Content-Type* application/json *Response* :: [ { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "tomcat", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" }, "port": "8080" }, { "instance": "ef984a74-29a4-45c0-b1dc-2ab9f075732e", "password": "XXX", "name": "mysql", "?": { "type": "io.murano.apps.database.MySQL", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" } } ] +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | OK. Application information received successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 404 | The environment template does not exist | +----------------+-----------------------------------------------------------+ Update applications information from an environment template ------------------------------------------------------------ *Request* +----------+-----------------------------------------------+-----------------------------------+ | Method | URI | Description | +==========+===============================================+===================================+ | PUT | /templates/{env-temp-id}/services/{service-id}| It updates the service description| +----------+-----------------------------------------------+-----------------------------------+ *Parameters:* * `env-temp-id` - The environment template ID, required * `service-id` - The service ID to be updated * payload - the service description *Content-Type* application/json *Example* :: { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "port": "8080", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" } } *Response* :: { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" }, "port": "8080" } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | OK. Environment Template updated successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 404 | The environment template does not exist | +----------------+-----------------------------------------------------------+ Create an environment from an environment template -------------------------------------------------- *Request* +----------+--------------------------------------------+--------------------------------------+ | Method | URI | Description | +==========+============================================+======================================+ | POST | /templates/{env-temp-id}/create-environment| Create an environment | +----------+--------------------------------------------+--------------------------------------+ *Parameters:* * `env-temp-id` - The environment template ID, required *Payload:* * 'environment name': The environment name to be created. *Content-Type* application/json *Example* :: { "name": "environment_name" } *Response* :: { "environment_id": "aa90fadfafca10e38e1c8c4bbf7", "name": "environment_name", "created": "2015-01-26T09:12:51", "tenant_id": "00000000000000000000000000000001", "version": 0, "session_id": "adf4dadfaa9033ca7ce245fca10e38e1c8c4bbf7", } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | OK. Environment created from template successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 404 | The environment template does not exist | +----------------+-----------------------------------------------------------+ | 409 | The environment already exists | +----------------+-----------------------------------------------------------+ **POST /templates/{env-temp-id}/clone** *Request* +----------+--------------------------------+-------------------------------------------------+ | Method | URI | Description | +==========+================================+=================================================+ | POST | /templates/{env-temp-id}/clone | It clones a public template from one project | | | | to another | +----------+--------------------------------+-------------------------------------------------+ *Parameters:* * `env-temp-id` - environment template ID, required *Example Payload* :: { 'name': 'cloned_env_template_name' } *Content-Type* application/json *Response* :: { "updated": "2015-01-26T09:12:51", "name": "cloned_env_template_name", "created": "2015-01-26T09:12:51", "tenant_id": "00000000000000000000000000000001", "version": 0, "is_public": False, "id": "aa9033ca7ce245fca10e38e1c8c4bbf7", } +----------------+-----------------------------------------------------------+ | Code | Description | +================+===========================================================+ | 200 | OK. Environment Template cloned successfully | +----------------+-----------------------------------------------------------+ | 401 | User is not authorized to access this session | +----------------+-----------------------------------------------------------+ | 403 | User has no access to these resources | +----------------+-----------------------------------------------------------+ | 404 | The environment template does not exist | +----------------+-----------------------------------------------------------+ | 409 | Conflict. The environment template name already exists | +----------------+-----------------------------------------------------------+ murano-9.0.0/doc/source/reference/appendix/articles/multi_region.rst0000664000175000017500000000403013656750211025716 0ustar zuulzuul00000000000000.. _multi-region: ============================= Support for OpenStack regions ============================= Murano supports multi-region deployment. If OpenStack setup has several regions it is possible to choose the region to deploy an application. There is the new option in the murano configuration file: * `home_region` - default region name used to get services endpoints. The region where murano-api resides. Now murano has two possible ways to deploy apps in different regions: 1. Deploy an application in the current murano region. 2. Associate environments with regions. Deploy an app in the current region =================================== Each region has a copy of murano services and its own RabbitMQ for api to engine communication. In this case application will be deployed to the same region that murano run in. .. seealso:: :ref:`multi_region` Associate environments with regions =================================== Murano services are in one region but environments can be associated with different regions. There are two new properties in the class `io.murano.Environment`: * `regionConfigs` - a dict with RabbitMQ settings for each region. The structure of the agentRabbitMq part of the dict is identical to [rabbitmq] section in the `murano.conf` file. For example: .. code-block:: yaml regionConfigs: RegionOne: agentRabbitMq: host: 192.1.1.1 login: admin password: admin User can store such configs as YAML or JSON files. These config files must be stored in a special folder that is configured in [engine] section of `murano.conf` file under `class_configs` key and must be named using %FQ class name%.json or %FQ class name%.yaml pattern. * `region` - region name to deploy an app. It can be passed when creating environment via CLI: .. code-block:: console murano environment-create environment_name --region RegionOne If it is not specified a value from `home_region` option of `murano.conf` file will be used. murano-9.0.0/doc/source/reference/appendix/articles/murano_gerrit_dashboard.rst0000664000175000017500000000663513656750211030122 0ustar zuulzuul00000000000000Murano Gerrit Dashboard ======================= Description ----------- If you would like to contribute to murano by reviewing patches to murano-related projects — you can use this gerrit dashboard, or create your own using `Gerrit Dash Creator `__ URL --- :: https://review.opendev.org/#/dashboard/?foreach=%28project%3A%5E.%2A%2F.%2Amurano.%2A+OR+project%3Aopenstack%2Fyaql%29+NOT+label%3AWorkflow%3C%3D%2D1+NOT+label%3ACode%2DReview%3C%3D%2D2+status%3Aopen&title=Murano&My+Patches=owner%3Aself&You+are+a+reviewer%2C+but+haven%27t+voted+in+the+current+revision=NOT+label%3ACode%2DReview%3C%3D2%2Cself+reviewer%3Aself+NOT+owner%3Aself&Need+Feedback=NOT+label%3ACode%2DReview%3C%3D2+NOT+label%3AVerified%3C%3D%2D1+NOT+owner%3Aself&Passed+Jenkins%2C+No+Negative+Feedback=label%3ACode%2DReview%3E%3D1+NOT+label%3ACode%2DReview%3C%3D%2D1+AND+NOT+label%3AVerified%3C%3D%2D1+NOT+owner%3Aself+NOT+reviewer%3Aself+limit%3A50&Maybe+Review%3F=NOT+owner%3Aself+NOT+reviewer%3Aself+limit%3A25&My+%2B1s=label%3ACode%2DReview%3D1%2Cself+limit%3A25&Need+final+%2B2=label%3ACode%2DReview%3E%3D2+NOT+label%3ACode%2DReview%3C%3D%2D1+NOT+label%3AVerified%3C%3D%2D1+NOT+label%3ACode%2DReview%3C%3D2%2Cself+NOT+owner%3Aself+limit%3A25&My+%2B2s=label%3ACode%2DReview%3D2%2Cself+limit%3A25 `View this dashboard `__ Configuration ------------- :: [dashboard] title = Murano description = Murano Review Inbox foreach = (project:^.*/.*murano.* OR project:openstack/yaql) NOT label:Workflow<=-1 NOT label:Code-Review<=-2 status:open [section "My Patches"] query = owner:self [section "You are a reviewer, but haven't voted in the current revision"] query = NOT label:Code-Review<=2,self reviewer:self NOT owner:self [section "Need Feedback"] query = NOT label:Code-Review<=2 NOT label:Verified<=-1 NOT owner:self [section "Passed Jenkins, No Negative Feedback"] query = label:Code-Review>=1 NOT label:Code-Review<=-1 AND NOT label:Verified<=-1 NOT owner:self NOT reviewer:self limit:50 [section "Maybe Review?"] query = NOT owner:self NOT reviewer:self limit:25 [section "My +1s"] query = label:Code-Review=1,self limit:25 [section "Need final +2"] query = label:Code-Review>=2 NOT label:Code-Review<=-1 NOT label:Verified<=-1 NOT label:Code-Review<=2,self NOT owner:self limit:25 [section "My +2s"] query = label:Code-Review=2,self limit:25 murano-9.0.0/doc/source/reference/appendix/articles/test_docs.rst0000664000175000017500000001750213656750211025220 0ustar zuulzuul00000000000000.. _test_docs: ================================== Murano automated tests description ================================== This page describes automated tests for a Murano project: * where tests are located * how they are run * how to execute tests on a local machine * how to find the root of problems with FAILed tests Murano continuous integration service ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Murano project has separate CI server, which runs tests for all commits and verifies that new code does not break anything. Murano CI uses OpenStack QA cloud for testing infrastructure. Murano CI url: https://murano-ci.mirantis.com/jenkins/ Anyone can login to that server, using launchpad credentials. There you can find each job for each repository: one for **murano** and another one for **murano-dashboard**. * ``gate-murano-dashboard-ubuntu\*`` verifies each commit to the murano-dashboard repository * ``gate-murano-ubuntu\*`` verifies each commit to the murano repository Other jobs allow one to build and test Murano documentation and to perform other useful work to support the Murano CI infrastructure. All jobs are run following a fresh installation of the operating system and all components are installed on each run. UI tests ~~~~~~~~ The Murano project has a web user interface and all possible user scenarios should be tested. All UI tests are located at ``https://opendev.org/openstack/murano-dashboard/src/branch/master/muranodashboard/tests/functional``. Automated tests for the Murano web UI are written in Python using the special Selenium library. This library is used to automate web browser interactions with Python. See official `Selenium documentation `_ for details. Prerequisites: -------------- * Install the Python module called nose using either the :command:`easy_install nose` or :command:`pip install nose` command. This will install the nose libraries, as well as the ``nosetests`` script, which you can use to automatically discover and run tests. * Install external Python libraries, which are required for the Murano web UI tests: ``testtools`` and ``selenium``. * Verify that you have one of the following web browsers installed: * Mozilla Firefox 46.0 .. note:: If you do not have Firefox package out of the box, install and remove it. Otherwise, you will need to install dependent libraries manually. To downgrade Firefox: .. code-block:: console apt-get remove firefox wget https://ftp.mozilla.org/pub/firefox/releases/46.0/linux-x86_64/en-US/firefox-46.0.tar.bz2 tar -xjf firefox-46.0.tar.bz2 rm -rf /opt/firefox mv firefox /opt/firefox46 ln -s /opt/firefox46/firefox /usr/bin/firefox * Google Chrome * To run the tests on a remote server, configure the remote X server. Use VNC Software to see the test results in real-time. #. Specify the display environment variable: .. code-block:: console $DISPLAY=: #. Configure remote X server and VNC Software by typing: .. code-block:: console apt-get install xvfb xfonts-100dpi xfonts-75dpi xfonts-cyrillic xorg dbus-x11 "Xvfb -fp "/usr/share/fonts/X11/misc/" :$DISPLAY -screen 0 "1280x1024x16" &" apt-get install --yes x11vnc x11vnc -bg -forever -nopw -display :$DISPLAY -ncache 10 sudo iptables -I INPUT 1 -p tcp --dport 5900 -j ACCEPT Download and run tests ---------------------- To download and run the tests: #. Verify that all additional components has been installed. #. Clone the ``murano-dashboard`` git repository: .. code-block:: console git clone https://opendev.org/openstack/murano-dashboard #. Change the default settings: #. Specify the Murano Repository URL variable for Horizon local settings in ``murano_dashboard/muranodashboard/local/local_settings.d/_50_murano.py``: .. code-block:: console MURANO_REPO_URL = 'http://localhost:8099' #. Copy ``muranodashboard/tests/functional/config/config.conf.sample`` to ``config.conf``. #. Set appropriate URLs and credentials for your OpenStack lab. Only Administrator user credentials are appropriate. .. code-block:: console [murano] horizon_url = http://localhost/dashboard murano_url = http://localhost:8082 user = *** password = *** tenant = *** keystone_url = http://localhost:5000/v3 All tests are kept in ``sanity_check.py`` and divided into 10 test suites: * TestSuiteSmoke - verification of Murano panels; checks that they can be open without errors. * TestSuiteEnvironment - verification of all operations with environment are finished successfully. * TestSuiteImage - verification of operations with images. * TestSuiteFields - verification of custom fields validators. * TestSuitePackages - verification of operations with Murano packages. * TestSuiteApplications - verification of Application Catalog page and of application creation process. * TestSuiteAppsPagination - verification of apps pagination in case of many applications installed. * TestSuiteRepository - verification of importing packages and bundles. * TestSuitePackageCategory - verification of main operations with categories. * TestSuiteCategoriesPagination - verification of categories pagination in case of many categories created. * TestSuiteMultipleEnvironments - verification of ability to apply action to multiple environments. To run the tests follow these instructions: * To run all tests: .. code-block:: console nosetests sanity_check.py * To run a single suite: .. code-block:: console nosetests sanity_check.py: * To run a single test: .. code-block:: console nosetests sanity_check.py:. In case of successful execution, you should see something like this: .. code-block:: console ......................... Ran 34 tests in 1.440s OK In case of failure, the folder with screenshots of the last operation of tests that finished with errors would be created. It is located in ``muranodashboard/tests/functional`` folder. There are also a number of command line options that can be used to control the test execution and generated outputs. For more details about ``nosetests``, type: .. code-block:: console nosetests -h Tempest tests ~~~~~~~~~~~~~ All Murano services have tempest-based automated tests, which verify API interfaces and deployment scenarios. Tempest tests for Murano are located at ``https://opendev.org/openstack/murano/src/branch/master/murano/tests/functional``. The following Python files contain basic test suites for different Murano components. API tests --------- Murano API tests are run on the devstack gate located at ``https://opendev.org/openstack/murano-tempest-plugin/src/branch/master/murano_tempest_tests/tests/api``. * ``test_murano_envs.py`` contains test suite with actions on murano environments (create, delete, get, and others). * ``test_murano_sessions.py`` contains test suite with actions on murano sessions (create, delete, get, and others). * ``test_murano_services.py`` contains test suite with actions on murano services (create, delete, get, and others). * ``test_murano_repository.py`` contains test suite with actions on murano package repository. Engine tests ------------ Murano Engine Tests are run on murano-ci at ``https://opendev.org/openstack/murano-tempest-plugin/src/branch/master/murano_tempest_tests/tests/functional``: * ``base.py`` contains base test class and tests with actions on deploy Murano services such as Telnet and Apache. Command-line interface tests ---------------------------- Murano CLI tests are currently in the middle of creation. The current scope is read-only operations on a cloud that are hard to test through unit tests. All tests have description and execution steps in their docstrings. murano-9.0.0/doc/source/reference/appendix/articles/image_builders/0000775000175000017500000000000013656750351025452 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/reference/appendix/articles/image_builders/windows.rst0000664000175000017500000001214113656750211027670 0ustar zuulzuul00000000000000MS Windows image builder for OpenStack Murano ============================================= Introduction ------------ This repository contains MS Windows templates, powershell scripts and bash scripted logic used to create qcow2 images for QEMU/KVM based virtual machines used in OpenStack. MS Windows Versions ------------------- Supported by builder versions with en_US localization: * Windows 2012 R2 * Windows 2012 R2 Core * Windows 2008 R2 * Windows 2008 R2 Core Getting Started --------------- Trial versions of Windows 2008 R2 / 2012 R2 used by default. You could use these images for 180 days without activation. You could download evaluation versions from official Microsoft website: * `[Windows 2012 R2 - download] `_ * `[Windows 2008 R2 - download] `_ System requirements ~~~~~~~~~~~~~~~~~~~ * Debian based Linux distribution, like Ubuntu, Mint and so on. * Packages required: ``qemu-kvm virt-manager virt-goodies virtinst bridge-utils libvirt-bin uuid-runtime samba samba-common cifs-utils`` * User should be able to run sudo without password prompt! .. code-block:: console sudo echo "${USER} ALL = NOPASSWD: ALL" > /etc/sudoers.d/${USER} sudo chmod 440 /etc/sudoers.d/${USER} * Free disk space > 50G on partition where script will spawn virtual machines because of ``40G`` required by virtual machine HDD image. * Internet connectivity. * Samba shared resource. Configuring builder ~~~~~~~~~~~~~~~~~~~ Configuration parameters to tweak: ``[default]`` * ``workdir`` - place where script would prepare all software required by build scenarios. By `default` is not set, i.e. script directory would used as root of working space. * ``vmsworkdir`` - must contain valid path, this parameter tells script where it should spawn virtual machines. * ``runparallel`` - *true* of *false*, **false** set by default. This parameter describes how to start virtual machines, one by one or in launch them in background. ``[samba]`` * ``mode`` - *local* or *remote*. In local mode script would try to install and configure Samba server locally. If set to remote, you should also provide information about connection. * ``host`` - in local mode - is 192.168.122.1, otherwise set proper ip address. * ``user`` - set to **guest** by default in case of guest rw access. * ``domain`` - Samba server user domain, if not set `host` value used. * ``password`` - Samba server user password. * ``image-builder-share`` - Samba server remote directory. MS Windows install preparation: ``[win2k12r2]`` or ``[win2k8r2]`` - shortcuts for 2012 R2 and 2008 R2. * ``enabled`` - *true* of *false*, include or exclude release processing by script. * ``editions`` - standard, core or both(space used as delimiter). * ``iso`` - local path to iso file By default ``[win2k8r2]`` - disabled, if you need you can enable this release in *config.ini* file. Run --- Preparation ~~~~~~~~~~~ Run ``chmod +x *.sh`` in builder directory to make script files executable. Command line parameters: ~~~~~~~~~~~~~~~~~~~~~~~~ ``runme.sh`` - the main script * ``--help`` - shows usage * ``--forceinstall-dependencies`` - Runs dependencies install. * ``--check-smb`` - Run checks or configuration of Samba server. * ``--download-requirements`` - Download all required and configures software except MS Windows ISO. * ``--show-configured`` - Shows configured and available to use MS Windows releases. * ``--run`` - normal run Experimental options: ^^^^^^^^^^^^^^^^^^^^^ * ``--config-file`` - Set configuration file location instead of default. Use cases --------- All examples below describes changes in ``config.ini`` file 1. I want to build one image for specific version and edition. For example: version - **2012 R2** and edition - **standard**. Steps to reach the goal: * Disable ``[win2k8r2]`` from script processing. .. code-block:: ini [win2k8r2] enabled=false - Update ``[win2k12r2]`` with desired edition(**standard**). .. code-block:: ini [win2k12r2] enabled=true editions=standard * Execute ``runme.sh --run`` 2. I want to build two images for specific version with all supported by script editions. For example: **2012 R2** and editions - **standard** and **core**. Steps to reach the goal: * Disable `[win2k8r2]` from script processing. .. code-block:: ini [win2k8r2] enabled=false * Update ``[win2k12r2]`` with desired editions(**standard** and **core**). .. code-block:: ini [win2k12r2] enabled=true editions=standard core * Execute ``runme.sh --run`` 3. I want to build two images for all supported by script versions with specific editions. For example: versions - **2012 R2** and **2008 R2** and edition - **core**. Steps to reach the goal: * Update ``[win2k8r2]`` with desired edition(**core**). .. code-block:: ini [win2k8r2] enabled=true editions=core * Update ``[win2k12r2]`` with desired edition(**core**). .. code-block:: ini [win2k12r2] enabled=true editions=core * Execute ``runme.sh --run`` murano-9.0.0/doc/source/reference/appendix/articles/image_builders/upload.rst0000664000175000017500000000466013656750211027471 0ustar zuulzuul00000000000000.. _upload_images: ======================== Upload image into glance ======================== To deploy applications with murano, virtual machine images should be uploaded into glance in a special way - *murano_image_info* property should be set. 1. Use the OpenStack client image create command to import your disk image to glance: .. code-block:: console openstack image create --public \ > --disk-format qcow2 --container-format bare \ > --file --property .. Replace the command line arguments to openstack image create with the appropriate values for your environment and disk image: * Replace **** with the local path to the image file to upload. E.g. **ws-2012-std.qcow2**. * Replace **** with the following property string * Replace **** with the name that users will refer to the disk image by. E.g. **ws-2012-std** .. code-block:: text murano_image_info='{"title": "Windows 2012 Standard Edition", "type": "windows.2012"}' .. where: * **title** - user-friendly description of the image * **type** - murano image type, see :ref:`murano_image_types` 2. To update metadata of the existing image run the command: .. code-block:: console openstack image set --property .. * Replace **** with murano_image_info property, e.g. * Replace **** with image id from the previous command output. .. code-block:: text murano_image_info='{"title": "Windows 2012 Standard Edition", "type": "windows.2012"}' .. .. warning:: The value of the **--property** argument (named **murano_image_info**) is a JSON string. Only double quotes are valid in JSON, so please type the string exactly as in the example above. .. .. note:: Existing images could be marked in a simple way in the horizon UI with the murano dashboard installed. Navigate to *Applications -> Manage -> Images -> Mark Image* and fill up a form: * **Image** - ws-2012-std * **Title** - My Prepared Image * **Type** - Windows Server 2012 .. After these steps desired image can be chosen in application creation wizard. .. _murano_image_types: Murano image types ------------------ .. list-table:: :header-rows: 1 * - Type Name - Description * - windows.2012 - Windows Server 2012 * - linux - Generic Linux images, Ubuntu / Debian, RedHat / Centos, etc * - cirros.demo - Murano demo image, based on CirrOS .. murano-9.0.0/doc/source/reference/appendix/articles/image_builders/linux.rst0000664000175000017500000000257013656750211027342 0ustar zuulzuul00000000000000=========== Linux Image =========== At the moment the best way to build a Linux image with the murano agent is to use disk image builder. .. note:: Disk image builder requires sudo rights The process is quite simple. Let's assume that you use a directory ~/git for cloning git repositories: .. code-block:: console export GITDIR=~/git mkdir -p $GITDIR Clone the components required to build an image to that directory: .. code-block:: console cd $GITDIR git clone https://opendev.org/openstack/murano git clone https://opendev.org/openstack/murano-agent Install diskimage-builder .. code-block:: console sudo pip install diskimage-builder Install additional packages required by disk image builder: .. code-block:: console sudo apt-get install qemu-utils curl python-tox Export paths where additional dib elements are located: .. code-block:: console export ELEMENTS_PATH=$GITDIR/murano/contrib/elements:$GITDIR/murano-agent/contrib/elements Build Ubuntu-based image with the murano agent: .. code-block:: console disk-image-create vm ubuntu murano-agent -o murano-agent.qcow2 If you need a Fedora based image, replace 'ubuntu' to 'fedora' in the last command. It'll take a while (up to 30 minutes if your hard drive and internet connection are slow). When you are done upload the murano-agent.qcow2 image to glance and play :) murano-9.0.0/doc/source/reference/appendix/articles/image_builders/index.rst0000664000175000017500000000022513656750211027305 0ustar zuulzuul00000000000000.. _building_images: ===================== Building Murano Image ===================== .. toctree:: :maxdepth: 2 windows linux upload murano-9.0.0/doc/source/reference/appendix/articles/telnet_example.rst0000664000175000017500000000274713656750211026244 0ustar zuulzuul00000000000000:orphan: .. _telnet_example: Telnet Example -------------- .. code-block:: yaml Namespaces: =: io.murano.apps.linux std: io.murano res: io.murano.resources Name: Telnet # Inheritance from io.murano.Application class # (located at Murano Core library) indicates, # that this is a complete application # and that 'deploy' method has to be defined. Extends: std:Application Properties: name: Contract: $.string().notNull() instance: Contract: $.class(res:Instance).notNull() Methods: deploy: Body: # Determine the environment to which the application belongs. # This message will be stored in deployment logs and available in UI - $this.find(std:Environment).reporter.report($this, 'Creating VM for Telnet Instance.') # Deploy VM - $.instance.deploy() - $this.find(std:Environment).reporter.report($this, 'Instance is created. Setup Telnet service.') # Create instance of murano resource class. Agent will use it to find # corresponding execution plan by the file name - $resources: new('io.murano.system.Resources') # Deploy Telnet - $template: $resources.yaml('DeployTelnet.template') # Send prepared execution plan to Murano agent - $.instance.agent.call($template, $resources) - $this.find(std:Environment).reporter.report($this, 'Telnet service setup is done.') murano-9.0.0/doc/source/reference/appendix/articles/workflow.rst0000664000175000017500000001103713656750211025100 0ustar zuulzuul00000000000000.. _murano-workflow: =============== Murano workflow =============== What happens when a component is being created in an environment? This document will use the Telnet package referenced elsewhere as an example. It assumes the package has been previously uploaded to Murano. Step 1. Begin deployment ========================= The API sends a message that instructs murano-engine, the workflow component of Murano, to deploy an environment. The message consists of a JSON document containing the class types required to create the environment, as well as any parameters the user selected prior to deployment. Examples are: * An :ref:`Environment` object (io.murano.Environment) with a *name* * An object (or objects) referring to networks that need to be created or that already exist * A list of Applications (e.g. io.murano.apps.linux.Telnet). Each Application will contain, or will reference, anything it requires. The Telnet example, has a property called *instance* whose contract states it must be of type io.murano.resources.Instance. In turn the Instance has properties it requires (like a name, a flavor, a keypair name). Each object in this *model* has an ID so that the state of each can be tracked. The classes that are required are determined by the application's manifest. In the :ref:`Telnet example ` only one class is explicitly required; the telnet application definition. The :ref:`Telnet class definition ` refers to several other classes. It extends :ref:`Application` and it requires an :ref:`Instance`. It also refers to the :ref:`Environment` in which it will be contained, sends reports through the environment's :ref:`status-reporter` and adds security group rules to the :ref:`security-group-manager`. Step 2. Load definitions ========================= The engine makes a series of requests to the API to download packages it needs. These requests pass the class names the environment will require, and during this stage the engine will validate that all the required classes exist and are accessible, and will begin creating them. All Classes whose *workflow* sections contain an *initialize* fragment are then initialized. A typical initialization order would be (defined by the ordering in the *model* sent to the murano-engine): * :ref:`Network` * :ref:`Instance` * :ref:`Object` * :ref:`Environment` Step 3. Deploy resources ========================== The workflow defined in Environment.deploy is now executed. The first step typically is to initialize the messaging component that will pay attention to murano-agent (see later). The next stage is to deploy each application the environment knows about in turn, by running deploy() for each application. This happens concurrently for all the applications belonging to an instance. In the :ref:`Telnet example ` (under *Workflow*), the workflow dictates sending a status message (via the environment's *reporter*, and configuring some security group rules. It is at this stage that the engine first contacts Heat to request information about any pre-existing resources (and there will be none for a fresh deploy) before updating the new Heat template with the security group information. Next it instructs the engine to deploy the *instance* it relies on. A large part of the interaction with Heat is carried out at this stage; the first thing an Instance does is add itself to the environment's network. Since the network doesn't yet exist, murano-engine runs the neutron network workflow which pushes template fragments to Heat. These fragments can define: * Networks * Subnets * Router interfaces Once this is done the Instance itself constructs a Heat template fragment and again pushes it to Heat. The Instance will include a *userdata* script that is run when the instance has started up, and which will configure and run murano-agent. Step 4. Software configuration via murano-agent ================================================ If the workflow includes murano-agent components (and the telnet example does), typically the application workflow will execute them as the next step. In the telnet example, the workflow instructs the engine to load *DeployTelnet.yaml* as YAML, and pass it to the murano-agent running on the configured instance. This causes the agent to execute the *EntryPoint* defined in the agent script (which in this case deploys some packages and sets some iptables rules). Step 5. Done ============= After execution is finished, the engine sends a last message indicating that fact; the API receives it and marks the environment as deployed. murano-9.0.0/doc/source/reference/appendix/articles/guidelines.rst0000664000175000017500000000433313656750211025357 0ustar zuulzuul00000000000000====================== Development Guidelines ====================== Coding Guidelines ----------------- For all the code in Murano we have a rule - it should pass `PEP 8`_. To check your code against PEP 8 run: :: tox -e pep8 .. seealso:: * https://pep8.readthedocs.org/en/latest/ * https://flake8.readthedocs.org * https://docs.openstack.org/hacking/latest/ Blueprints and Specs -------------------- Murano team uses the `murano-specs`_ repository for its blueprint and specification (specs) review process. See `Launchpad`_ to propose or see the status of a current blueprint. Testing Guidelines ------------------ Murano has a suite of tests that are run on all submitted code, and it is recommended that developers execute the tests themselves to catch regressions early. Developers are also expected to keep the test suite up-to-date with any submitted code changes. Unit tests are located at ``murano/tests``. Murano's suite of unit tests can be executed in an isolated environment with `Tox`_. To execute the unit tests run the following from the root of Murano repo on Python 2.7: :: tox -e py27 Documentation Guidelines ------------------------ Murano dev-docs are written using Sphinx / RST and located in the main repo in ``doc`` directory. The documentation in docstrings should follow the `PEP 257`_ conventions (as mentioned in the `PEP 8`_ guidelines). More specifically: 1. Triple quotes should be used for all docstrings. 2. If the docstring is simple and fits on one line, then just use one line. 3. For docstrings that take multiple lines, there should be a newline after the opening quotes, and before the closing quotes. 4. `Sphinx`_ is used to build documentation, so use the restructured text markup to designate parameters, return values, etc. Documentation on the sphinx specific markup can be found here: Run the following command to build docs locally. :: tox -e docs .. _PEP 8: http://www.python.org/dev/peps/pep-0008/ .. _PEP 257: http://www.python.org/dev/peps/pep-0257/ .. _Tox: http://tox.testrun.org/ .. _Sphinx: http://sphinx.pocoo.org/markup/index.html .. _murano-specs: http://opendev.org/openstack/murano-specs .. _Launchpad: http://blueprints.launchpad.net/murano murano-9.0.0/doc/source/reference/appendix/rest_api_spec.rst0000664000175000017500000000013113656750211024231 0ustar zuulzuul00000000000000.. _rest-api-spec: ====================== REST API specification ====================== murano-9.0.0/doc/source/reference/appendix/murano_concepts.rst0000664000175000017500000000022413656750211024613 0ustar zuulzuul00000000000000.. _murano-concepts: ========================================= High-level definitions of Murano concepts ========================================= murano-9.0.0/doc/source/reference/appendix/cli_ref.rst0000664000175000017500000003245413656750211023031 0ustar zuulzuul00000000000000.. _cli-ref: ========================== Murano command-line client ========================== The ``murano`` client is the command-line interface (CLI) for the Application catalog API and its extensions. For help on a specific ``murano`` command, enter: .. code-block:: console murano help COMMAND murano usage usage: murano \[--version] \[-d] \[-v] \[-k] \[--os-cacert ] \[--cert-file CERT_FILE] \[--key-file KEY_FILE] \[--ca-file CA_FILE] \[--api-timeout API_TIMEOUT] \[--os-username OS_USERNAME] \[--os-password OS_PASSWORD] \[--os-tenant-id OS_TENANT_ID] \[--os-tenant-name OS_TENANT_NAME] \[--os-auth-url OS_AUTH_URL] \[--os-region-name OS_REGION_NAME] \[--os-auth-token OS_AUTH_TOKEN] \[--os-no-client-auth] \[--murano-url MURANO_URL] \[--glance-url GLANCE_URL] \[--murano-api-version MURANO_API_VERSION] \[--os-service-type OS_SERVICE_TYPE] \[--os-endpoint-type OS_ENDPOINT_TYPE] \[--include-password] \[--murano-repo-url MURANO_REPO_URL] ... Subcommands =========== * *bundle-import* Import a bundle. * *category-create* Create a category. * *category-delete* Delete a category. * *category-list* List all available categories. * *category-show* * *deployment-list* List deployments for an environment. * *env-template-add-app* Add application to the environment template. * *env-template-create* Create an environment template. * *env-template-del-app* Delete application to the environment template. * *env-template-delete* Delete an environment template. * *env-template-list* List the environments templates. * *env-template-show* Display environment template details. * *env-template-update* Update an environment template. * *environment-create* Create an environment. * *environment-delete* Delete an environment. * *environment-list* List the environments. * *environment-rename* Rename an environment. * *environment-show* Display environment details. * *package-create* Create an application package. * *package-delete* Delete a package. * *package-download* Download a package to a filename or stdout. * *package-import* Import a package. * *package-list* List available packages. * *package-show* Display details for a package. * *service-show* * *bash-completion* Prints all of the commands and options to stdout. * *help* Display help about this program or one of its subcommands. Murano optional arguments ========================= **--version** show program's version number and exit **-d, --debug** Defaults to env[MURANOCLIENT_DEBUG] **-v, --verbose** Print more verbose output **-k, --insecure** Explicitly allow muranoclient to perform "insecure" SSL (https) requests. The server's certificate will not be verified against any certificate authorities. This option should be used with caution. **--os-cacert ** Specify a CA bundle file to use in verifying a TLS (https) server certificate. Defaults to env[OS_CACERT] **--cert-file CERT_FILE** Path of certificate file to use in SSL connection. This file can optionally be prepended with the private key. **--key-file KEY_FILE** Path of client key to use in SSL connection. This option is not necessary if your key is prepended to your cert file. **--ca-file CA_FILE** Path of CA SSL certificate(s) used to verify the remote server certificate. Without this option glance looks for the default system CA certificates. **--api-timeout API_TIMEOUT** Number of seconds to wait for an API response, defaults to system socket timeout **--os-username OS_USERNAME** Defaults to env[OS_USERNAME] **--os-password OS_PASSWORD** Defaults to env[OS_PASSWORD] **--os-project-id OS_PROJECT_ID** Defaults to env[OS_PROJECT_ID] **--os-project-name OS_PROJECT_NAME** Defaults to env[OS_PROJECT_NAME] **--os-auth-url OS_AUTH_URL** Defaults to env[OS_AUTH_URL] **--os-region-name OS_REGION_NAME** Defaults to env[OS_REGION_NAME] **--os-auth-token OS_AUTH_TOKEN** Defaults to env[OS_AUTH_TOKEN] **--os-no-client-auth** Do not contact keystone for a token. Defaults to env[OS_NO_CLIENT_AUTH]. **--murano-url MURANO_URL** Defaults to env[MURANO_URL]** **--glance-url GLANCE_URL** Defaults to env[GLANCE_URL] **--murano-api-version MURANO_API_VERSION** Defaults to env[MURANO_API_VERSION] or 1 **--os-service-type OS_SERVICE_TYPE** Defaults to env[OS_SERVICE_TYPE] **--os-endpoint-type OS_ENDPOINT_TYPE** Defaults to env[OS_ENDPOINT_TYPE] **--include-password** Send os-username and os-password to murano. **--murano-repo-url MURANO_REPO_URL** Defaults to env[MURANO_REPO_URL] or `http://storage.apps.openstack.org_` Application catalog API v1 commands =================================== murano bundle-import ~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano bundle-import \[--is-public] \[--exists-action {a,s,u}] \[ ...] Import a bundle. ``FILE`` can be either a path to a zip file, URL or name from repo. if ``FILE`` is a local file does not attempt to parse requirements and treat Names of packages in a bundle as file names, relative to location of bundle file. Positional arguments -------------------- **** Bundle URL, bundle name, or path to the bundle file Optional arguments ------------------ **--is-public** Make packages available to users from other project **--exists-action {a,s,u}** Default action when a package already exists murano category-create ~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano category-create Create a category. Positional arguments -------------------- **** Category name murano category-delete ~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano category-delete \[ ...] Delete a category. Positional arguments -------------------- **** ID of a category(s) to delete murano category-list ~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano category-list List all available categories. murano category-show ~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano category-show Positional arguments -------------------- **** ID of a category(s) to show murano deployment-list ~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano deployment-list List deployments for an environment. Positional arguments -------------------- **** Environment ID for which to list deployments murano env-template-add-app ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano env-template-add-app Add application to the environment template. Positional arguments -------------------- **** Environment template name **** Path to the template. murano env-template-create ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano env-template-create Create an environment template. Positional arguments -------------------- **** Environment template name murano env-template-del-app ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano env-template-del-app Delete application to the environment template. Positional arguments -------------------- **** Environment template ID **** Application ID murano env-template-delete ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano env-template-delete \[ ...] Delete an environment template. Positional arguments -------------------- **** ID of environment(s) template to delete murano env-template-list ~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano env-template-list List the environments templates. murano env-template-show ~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano env-template-show Display environment template details. Positional arguments -------------------- **** Environment template ID murano env-template-update ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano env-template-update Update an environment template. Positional arguments -------------------- **** Environment template ID **** Environment template name murano environment-create ~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano environment-create Create an environment. Positional arguments -------------------- **** Environment name murano environment-delete ~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano environment-delete \[ ...] Delete an environment. Positional arguments -------------------- **** ID or name of environment(s) to delete Optional arguments ------------------ **--abandon** If set will abandon environment without deleting any of its resources murano environment-list ~~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano environment-list List the environments. murano environment-rename ~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano environment-rename Rename an environment. Positional arguments -------------------- **** Environment ID or name **** A name to which the environment will be renamed murano environment-show ~~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano environment-show Display environment details. Positional arguments -------------------- **** Environment ID or name murano package-create ~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano package-create \[-t ] \[-c ] \[-r ] \[-n ] \[-f ] \[-a ] \[--tags \[ \[ ...]]] \[-d ] \[-o ] \[-u ] \[--type TYPE] \[-l ] Create an application package. Optional arguments ------------------ **-t , --template ** Path to the Heat template to import as an Application Definition **-c , --classes-dir ** Path to the directory containing application classes **-r , --resources-dir ** Path to the directory containing application resources **-n , --name ** Display name of the Application in Catalog **-f , --full-name ** Fully-qualified name of the Application in Catalog **-a , --author ** Name of the publisher **--tags \[ \[ ...]]** A list of keywords connected to the application **-d , --description ** Detailed description for the Application in Catalog **-o , --output ** The name of the output file archive to save locally **-u , --ui ** Dynamic UI form definition **--type TYPE** Package type. Possible values: Application or Library **-l , --logo ** Path to the package logo murano package-delete ~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano package-delete \[ ...] Delete a package. Positional arguments -------------------- **** Package ID to delete murano package-download ~~~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano package-download \[file] Download a package to a filename or stdout. Positional arguments -------------------- **** Package ID to download **file** Filename for download (defaults to stdout) murano package-import ~~~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano package-import \[-c \[ \[ ...]]] \[--is-public] \[--package-version VERSION] \[--exists-action {a,s,u}] \[ ...] Import a package. ``FILE`` can be either a path to a zip file, URL or a FQPN. ``categories`` can be separated by a comma. Positional arguments -------------------- **** URL of the murano zip package, FQPN, or path to zip package Optional arguments ------------------ **-c \[ \[ ...]], --categories \[ \[ ...]]** Category list to attach **--is-public** Make the package available for user from other project **--package-version VERSION** Version of the package to use from repository (ignored when importing with multiple packages) **--exists-action {a,s,u}** Default action when package already exists murano package-list ~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano package-list \[--include-disabled] List available packages. Optional arguments ------------------ **--include-disabled** murano package-show ~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano package-show Display details for a package. Positional arguments -------------------- **** Package ID to show murano service-show ~~~~~~~~~~~~~~~~~~~ .. code-block::console usage: murano service-show \[-p ] Positional arguments -------------------- **** Environment ID to show applications from Optional arguments ------------------ **-p , --path ** Level of detalization to show. Leave empty to browse all services in the environment murano-9.0.0/doc/source/reference/appendix/tutorials.rst0000664000175000017500000000033613656750211023446 0ustar zuulzuul00000000000000.. _tutorials: .. meta:: :robots: noindex ========= Tutorials ========= Integration with Docker ~~~~~~~~~~~~~~~~~~~~~~~ Integration with Kubernetes ~~~~~~~~~~~~~~~~~~~~~~~~~~~ HA and autoscaling ~~~~~~~~~~~~~~~~~~ murano-9.0.0/doc/source/reference/appendix/glossary.rst0000664000175000017500000000005213656750211023256 0ustar zuulzuul00000000000000.. _glossary: ======== Glossary ======== murano-9.0.0/doc/source/reference/appendix/appendix_index.rst0000664000175000017500000000022413656750211024413 0ustar zuulzuul00000000000000Appendix ~~~~~~~~ .. toctree:: :maxdepth: 2 murano_concepts tutorials rest_api_spec cli_ref glossary articles/articles_index murano-9.0.0/doc/source/reference/key_features.rst0000664000175000017500000000472513656750211022304 0ustar zuulzuul00000000000000.. _key-features: ============ Key features ============ Murano has a number of features designed to interact with the application catalog, for instance managing what's in the catalog, and determining how apps in the catalog are deployed. Application catalog ~~~~~~~~~~~~~~~~~~~ #. Easy browsing: * Icons display applications for point-and-click and drag-and-drop selection and deployment. * Each application provides configuration information required for deploying it to a cloud. * An application topology of your environment is available in a separate tab, and shows the number of instances spawned by each application. * The presence of the :guilabel:`Quick Deploy` button on the applications page saves the time. #. Quick filtering by: * Tags and words included in application name and description. * Recent activity. * Predefined category. #. Dependency tracking: * Automatic detection of dependent applications that minimizes the possibility of an application deployment with incorrect configuration. * No underlying IaaS configuration knowledge is required. Application catalog management ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #. Easy application uploading using UI or CLI from: * Local zip file. * URL. * Package name, using an application repository. #. Managing applications include: * Application organization in categories or transfer between them. * Application name, description and tags update. * Predefined application categories list setting. #. Deployment tracking includes the availability of: * Logs for deployments via UI. * Deployment modification history to track the recent changes. Application lifecycle management ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #. Simplified configuration and integration: * It is up to an application developer to decide what their application will be able to do. * Dependencies between applications are easily configured. * New applications can be connected with already existing ones. * Well specified application actions are available. #. HA-mode and auto-scaling: * Application authors can set up any available monitoring system to track application events and call corresponding actions, such as failover, starting additional instances, and others. #. Isolation: * Applications in the same environments can easily interact with each other, though applications between different projects (tenants) are isolated. murano-9.0.0/doc/source/reference/architecture.png0000664000175000017500000016614713656750211022263 0ustar zuulzuul00000000000000‰PNG  IHDR«ï²´IÖbKGDÿÿÿ ½§“ pHYs  šœtIMEß  ¬ƒJ IDATxÚìÝy\TõúðÏwfX‘=ˆETdqÁ—×2±4õjVf×¼?»YiÚr“JKSKƯ̂撦^õ¢˜i®¸æ¹ **—]™9¿?&†CEYæó~½x)gfÎÌ<çœáyæ»DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDE0DDD —ß“Ÿúiµð2<¢‡dˈÐÝéer­ì÷”˜·3 "b±JDL”‰*$Ê:­âô͘iÙŒF …F*|¶$!À•A¡û%)Ø#A¿>m÷{{"b±JDL”‰ ÎCÂ&ÉJ¶ƒ?%I˜ À¿|›«£µÔÚ»‰ps´†§‹šØÈ(úK…:ܺ]ŠÔ¬"$^W#· ´âÍÉÒÜÔ’’Uˆ‰Ô2ZDÄb•ˆd¢ìæd ¯&`¢L÷’(§dâµT¨Ñ–ÿ=Ò `™¼Tþ!»%V¼öæI’Xˆ®ࣔ"úxˆÁÝÝ òU2@tß.\ý»Ndâ?ûÓ‘šUT¾9A‚~ [Z‰ˆÅ*5˜DYå«Ä°Þ`¢LµA«“pìB.ÖíMÃ/¿eB«“ “‰½$ý#u×;k-=>^çBZ@ùˆ³~ÆXÙðÇ<¡óO8=˜ëq׉,Ì_—Œä´ÛeÙ¢XZRü[Y‰ˆÅ*ÕÛDÙÓÅÓÿæ&Êô ¤dâÃ’°çtVù¦e©¥šÉ–š${šû: - xæqO|696Öì½@§h]•‚….K:½$ ágV3&+&RÍè‹U"b¢LkýÞ4Dþ„ÛÅZ™øµXS<ÂÒ’dŸs‡IBÚ"— é­Q­Äk#ZðÄ ‡îLÒ-L˜§ÏÉ/‘AÂÏ©ZÍp¶°ÑÃ"gˆ¨ºDBZ)— 1}´¿˜5AÅÖTzh‚Z: _gWüz2·‹tþVVV] |ú¬GJŒÞÞ¿× 9 ÄϬß þ1Ü'Õ O[ ìê&~>ú?]‘FׯA!·.¸¼—cX‰è¡` U(˰Þ}¾5[t¨N´kÑÿù°+Üœ¬!é¥'¼­l–XÄTÈÖPŽì÷(þÞœ'Õ)¯&Xòf¹\&$HbšÏ y]"b±JDu–(K’Ô„‰2Õ‡$ùÇ÷:£‰­&zþtlcÏÞÖÖ/hãën§ûlr Oªz9áÕˆæ€B‚~>#BD,V‰¨Îe?{0Q¦ú ]‹¦ˆœ`ø£%Ä·~¡Ÿy4Ö÷êi ˆÙ0ë%•œ]ï©>ùG„”ö =€PŸÁs‚"b±JDu’(ÿë…ŽQ¥zcô/ ìâ½^rÐYéf5Ö÷Yjm= <‚[;èwwã§zÅ¡‰Fôõ”€ù Œ±X%¢‡ž(wh&ÊTßÌš`øE&6ÖÖU¡—EÀßyóï3ÕKá½Ë.=IzšÑ "«DôÐå1½ ªwü<ìñTOwPhºIîý…FÚBHOÀànî<àT/4+CÞÆ/4Ò‘!"«DÄD™À˜e_¤ŒhlïM¯°í À6¨eS³ƒ6ÕK ¹@+/ûòs–ãV‰ˆÅ*=¼D¹C+0Q¦ú*¤sy«NУ¡ \Õ5(“š@€·’k S½æãnd»á‹U"zx‰²¿Wƒê-…\ °… Wh»4¦÷&$x€›“ 4Õkö¶†ïSôl "b±JDL”‰Êøy”uA”éÕ$K’%xºð¤ú­Yö¾!"«DÄD™Èâe‡& dªßç¨={ª‹U"b¢LÄD™ˆˆˆÅ*‹U"""""""«DDDDDDÄb•ˆˆˆˆˆˆˆÅ*±X%""""""b±JDDDDDD,V‰ˆˆˆˆˆˆX¬±X%""""""«DDDDDDD,V‰ˆˆˆˆˆˆÅ*‹U""""""b±JDDDDDDÄb•ˆˆˆˆˆˆX¬±X%""""""b±JDDDDDD,V‰ˆˆˆˆˆˆX¬‹U"""¢Z4}ÚV´ðûÇŽ¥0DD,V‰ˆ–Çú,F ¿"z¨4-ƒ@DÄb•ˆˆÉ.Õy¹…xfør¼øÂZƒˆˆÅ*Qã²bÅqtî<±±© Qs»°„×.QP0DD^ü… äå2DwA§ÕãÀÁˈπN«C€êôïß66U§/^Fbb&tZZµrEïÞ-áäl_åýSSóqñâÿPPP ðòj†n]}!Wüù]þ±c)ÈÎR þ(6Kâǃd9üÊ~`ËpÊp@6‹U"¢{—[ˆÄ¤LØØ(ìm–ô9zñþ¦Þ>NèÝ«<<L Ê‚?ŠáííooÇ*ç“§®›íÿÈ‘+8w6M)šÙ¡S'/ãí©©ùHMÍGVY²{ñâÿŒ«êy2Ò pààed¤ß‚ÚwðDH?“ä¹bݪ•+ÜÜ”ÈÊRcß¾KÈH¿û&6èÚÕÇ,wzžÀv w¯–U>Q]¸r9³fí@Rb¦ÉvooGDG¿bV€<˜Œiom5^kåìí­±`a† ikÜvêäu¼÷þv³}@€Ê«VŽ5~6Œ½Êä3¢âïWSfñ@5n}< `o†ƒpÀ&Ë<ð.',V‰¨QÐiõxùåuˆMÅœ9O›jñ2ðlĵk¹&‘+døàƒ'0~|wÀîÝ X´èúÀòåcÌ‹Ãã)7öGD ï€à`oè´z¼ðâ9|Õì¾}ûúc媱ؼ)‹0nÿèÃÆÿOÚ¯O 5þþõׇ°hQ tZ½É¾ZµrÅÒB«V®&ÛÇŒ^… BЪ•+>úh§Ùxرãºböì¡f¯máÂýX²äp•ϳü‡1hÞÜ™'Õ¹fý‚V­\ñÕWÏ¢m .Æg`Þ¼½HMÍÇ×_¿>xÂxߤÄLL~u#t:=¦¼ö8VA.“a÷î|õõ!¼1õ¿èÚõu¸¹)6¶ c„´ïà dg©ñÃÇ›Š… ÷cþ‚aÆë´ @ƒ~8ooGŒÑ‘§ñ ðEÙ¿å2$”ý› @Í0‘…p,ûñÐ @PÙÏû–ø°ìº`±JDT…ŸïGll*ÂÂÛáoc»·çåâÅ×"7¯ãÇwCXXlqäèU,˜¿³>ØöíEp°7Fꌯ¾>„’‘—[hÖr³oï%ÀSOvìˆÇ‘ÃWØÎï¾;Í›;ãÚµ\ÄÆ¦ÁÙÉðØ!~˜:ص;ñ20bD'x{73ÞVnõêX¸`œœí1í­þèÚÕYÙj|ÿïßpà@2Æû¿þ:¦½Ï6mŠCAA1Ǝ늈aíáà`‹}û.aÞ¼=X»æž}¶£Iáþý÷¿á믢ysgL}£/Ûz 7¯ßÿöíMÂÌÛ°ný <¡¨Îù5wFTÔ˰··6~™âÐÌ/Œ_‹cÇSLî»hñ–`î¼pŒlÜØÎ¹¹…X½ú$¶l9‡W^é hßþQ>ôºYO‚®]}ѳç8yòºqÛëSC‘ššo,V+~ÁDŽÀ|¯V(P—Ø Žá!‚@_aèqð*€Ñ¦Xû žˆ¨A;rä –|{­Z¹bîÜp“Û–|wYYjLyíq¼õV?ãö•;´Z=>™³ [¢Î"8ØžÐ?»v%`ËÖsxé¥&ûÚ»7 ööÖxüñV€Ë— Ã6Æþ­+z÷n ÀÐE±üÿ€aL[HˆRSo!þBžÑÑlœ›F£5¶¾._>ÆX\¨ÜÒãǬ©“×ñÓÚÓxuro“ÇWùÞâ/¦c[ô?v͸?F‹¯¿:{{k¬_ÿ‚Ièn]}úŽKAjj~•Ý ‰¦)¯=f,TËõèa¸vRoä›l?“ {{kŒxÖ¼Õ³ohk¬^}Òx½–«ªË{ù5¡Óéy,+€(ºþX`Ø‚JT‘ÀÞ²ŸÁÐáik„˜\vŸZÃÁIDÔ ååâ©Q°··Æ·ßŽ4KnHŒßÍ<‰-+:“’²ŒÛÆŽ3´ÊnÚdú%úåËÙ¸v-}ú´4NîbccˆM5ëR{7bcS‘—[ˆà`o³q¦r… “'÷ìÚ•PuR?å1³m½{›Ôpüx Š1``k“Bµüyºvó5©ù<±¨Îyx8˜m+¿öÊ'D*?_ K PÈðõ×±xQŒÉÏŽ_â è®Ñ¼ÜBãør²ÌÓ À¡²B5@pY"ÎB•¨zÉÂ`heU—ý» † µ†-«DÔ`i4Z¼ñFró ±è‹áP¹›Ý§|•ŸÖž2»­ @c¶íñÇýáííˆø ˆ¿Àv€Ý»Cžús’–!OµÅW_ĦMqˆ¿˜ B0dH[³‚ù¯$%^cûöžUÞÞµ«YáYU_QóæNfÛâ/&wÊʼŋbª}D IFz±€­8>¼²ÊÝú7oþëןÁ¹³7¹þ±eSø@ºúÁGÔ-‡a–àž°ÀpÔR +‹U"j°:ÏGaa "†wÀÓaAf·WœôNIlåq cÇvży{°eë9c±ºw_ll<¸M…‚Ðë7¼€™3·!þB¦½µ}¸“'÷Á+¯ô¬ñ̺åKÚ8W³¼Fùë«ØštoÅ})Ã,—ß0ûà g§j8ʯöíEô¶Wjô˜™3·aÃú3psSbÔ¨`¨TÀÆÖM{k ä¼,É{–¨,T‰îM€~öÃÐ-øcï°X%"‹öÑÇOaýú3ØuMšX›Í|Û¤‰µ1™ýýìŒï÷Ù±`á>l‰:‹o@AA1bcS1 €Y«iûöbûöI8uò:¶l=‡Mã0oÞde©Mf+­ ­Nz(q«< 1QCV>ÃojZÍºð¦¦æ Õí¿L2>¾Ü´·¶ÀÓÓµ þ0Ìhª0Ž…*Ñ}I0ÀnÓ`˜˜ìÔýî”_Qƒõì³ñÕ—ÏÂÉÙkל–-gMn···†ƒƒ- ŠïªUÒÍM‰ÁƒÛ +KcÇSpäÈè´z“.À•uíæ‹Ù³‡":úØØ(°jõ‰?gù’4Õuó-Gw¿“¹¹5¤güÁ“‡ 'g{4oÜB9r¥FÅjùuW¹P-ïRLã=n¾ƒaÂ"º?10LN¦€afíûÆb•ˆ4O,Z4Üu¼»Ýl-Õò ‹vì¸xWû=:Øø¸cǯ™u®N€Êí;< V_ãbµ}‡Gf4­ê1\6Ä÷£|ìë¾½I£GÊØq]³>Øa6IRaa L6þ^Þj›jòQFz^ûçf€¶ÒlÀå]ã“2M&jºŸ‰Õ¨ÎùÃКZ `ÃATkæȇavà «Ddñܯü½ Kðl4)Äʓ؅ ö!þ‚i/V}û.U»OooGˆIÆÉ“×Ñ·¯¿YàË—³MÆÅ†q²ñ2`c£0iµ)¿zî\ºY¢Û¼¹3BBüPXX‚™3·™$À×®åbQÙdH×¼*w{#+K÷ßÛnV°^»–‹sçnò„¢gÂK=е›/._ÎÆÀß`ܸ՘>m+&ý}ºu]ˆ¿¿²Á86¼ysgôF‹¡O-ÅÈ‘+0rä „†~è? À¬…ÕÃÓžÈË-ÄÈ‘+0}ÚV„öý ûö_bð®`hýYvÿ­íÜ"•!~3ýzx½í]“ûwyô-׿™~íÜ"•å¿×ô±•Ÿ3Ô/Ò–GàÉ/»®Ê¯³ûÂ1«DÔ(Ìx{Žý–‚sçnâ³y{ãE R!,¼¶E_@ø°ïì ¿æÎ¸]X‚cÇR—[ˆ_\åLÂå-ÀäJë›ÀÇýŠÃG® CûGѪ•+n–àÈá+(,,ÁøñÝLfé öƆõg°è‹ÄÇg   y¹…øoÔË€¹óÂ0rÄ ìø%¡go"$ÄÅ8p &„˜­Ïz/fÏŠ‘#W`Ó¦8ìÝ—„?4±·ÆåËÙˆMEß¾þX¹j,O(ª3­Z¹"$ÄM«Î%«ºä Ö¬yß-9ŒM›~Ç‘ÃWÆ«÷éÓã_èf2ðW_=‹E‹`Ç/ñˆME«V®˜òÚã˜0¡víJÀÂÄLh4Z“kø£žÂŒшMÅÙs7ì¦MmxÀ®eÿ®g(ꆭÕÞ:­ì"ŠÛ¹Eº]ÈŠ¼ãRA2!;©Óêü”Ö…>Ô2!›¯Ò¸n^Ó»L›W“ç´³¹ý£N‹5Ôý`è²JÆS`˜li:‹U"²(Á½ÌÆoÊ2|»d$fÎŒF||’3èŸ?ƒ®]}±zÕIœ:y§N^‡½½5‚;{aìØnUª€a¢¥yóöTÛxÈSÐh´8{ö&bcSÆ•N}#ãŸ7]×5"¢=öíM®] ØuÖ0.ö Ó™…ÿõ2.Ü}{“Œë¼¶oÿ(FíR£¤½œCS[„„øÇÖ lç_wMÆgŸíÁ˜ËÆ5(½½1~|7¼ò÷^<Á¨N½:¹7^­âË¡rëÖWýE½¯O ­ÑäaööÖx÷ÝAx÷ÝAf·EDt@DD³íƒ©0hÐt ÆÁ@ ]€0uãôÍ… ݼ§ÒÄF= †%PªÔÅwFèõ~Øs<õ³T“ZF` €žõ|Ý}fÞÞŽøâ‹á5~}Õ%íåEiu·{{;VC"" Pþíßᲂ•êˆ$I+…!ðâŠU¹^7J‚$±²ÒMZ!ݽ§½|"uAµE¤â¶t{QÙýYÿ­êñÝü¦{@’Þ°SbKúÃT~¬îk2+«DDh4Zôyl1¦½µ€aB"""jTÊ»f3uO‚´¼¬(Wåí’~HBZUåíz±†'vñÑÇì¥ø€£i¡0ŒŸ¤‡#¿6vÂb•ˆ¨‚‚‚b è€!ObÍšçë´“iª}§RÄ@BŠá_¹Ø õ‹´" !åTꂘª/·’çbÈôú%¡ˆ4ŽIíáõv^6U÷xb±JDÔ`¸¹)1Á0|ûíÈZY*†ˆˆˆîLÒʲbÓ¤+ðmm᳄²üöêœLýl- KÑ•Oè…ô€b-ï0Ê ‹U"""""ª3 …bH£Cý"c%H#*Þ~'z½~2­ô‘Ýü¦{tó~{, K-:“:7™Qf±JDDDDDtWŽ¥ÌMÀ By[w{tyô-W< æXÊÜ”¿ÚÇé› , ”B'½ HSd”*Jç1Â,V‰ˆˆˆˆˆîMùª†5W!—‰aÂ|mÕjjšÌ*Ib€éý¸”E›Ìb•ˆˆˆˆˆèÞ4QØo†aRžü¦:Jã$õíûÍ5ÝÇ…¬Hµ$¤)0Ìú{êDê‚åŒ,‹U"""""¢{“Y, ¬ Ph­H]«Y[õŽNÝX°UøN/“½Á¨6|еãÐH?Û¢"}W!¡ÃLLÒý~t~Z#ADDDT;äz±J/¤W0E‚PbͽìçÔù“M«Uê5Í'HRˆéš"i´$k†˜#½¡÷L¿t^ÿαϮ¯bDˆˆˆˆîÏñ´ÏŽuóžž @êÉ´Ïö2*,VkMÈÛ>ïIJzIHðuo…æî-ÐÔ¶l¬mmjðnkn#=7×3/ãÖíÈ¥µÐb®NÈWݹ¦ ¤tÅwQÇA’ $Á‚-©Xí1ÝûYL€×‡€Î­BYjôv C[ñ]ܺ×[Sh³ÀHF†ˆˆˆèÞœL™ŸÀê¯îw"õ³yîj Õ“7>ã¤K L­Ì,„XÃ{e¡JÅ˵9Þ5ö¶M AŒè1Ãçÿ""""¢zP¬ö|ÛwïfMœÑk,#JÇÓÙ“žz $¼éÇÚDDDDDu]¬ê%@+Ï6Œ&Y¬N-»ÁÇÕ¯€Gq±–Ý ˆˆˆˆˆêºXBïm}:0šdÑT>佬9£ADDDDTÇÅj9{Û&Œ&Y´¦vM­""""¢zV¬Ñý+,Ò1T¯ÝÖè"b±JDL”‰,&Q(€ôÜbdª×ÒsŠÊ’HÁ“•ˆX¬e¢Æž(KBʀ̼dª×²ò 稤Çÿ "b±JDL”‰y¢,ôâ\N»ÍƒLõZrÙ9ªP …Ñ "«DÄD™¨‘'Ê­æíïÉÒíb-4ÕÛë/+¯r9²Rv¾Ãb•ˆX¬ÑÃK”Ï^.eªï‰22[¢œ©1:½$vÌâÁ¦ziÇo™[ "zÐ eË¿• [[;ØÚØ5˜×œž™†œ>ïúáÊ÷ï9ÓÛ_ÒËzßëóU·ß^Ó½:é…¼ã½îW&é~?:?-Žûå~@ÈôG~››šÌb•š}GwbÑsñÉôERu2nONIÄ´OÿGݽðíÇ«ëýûØ}h;6íø é™i&Û•öJ¬\ø_X[Y&Î X6oý_îs]ôJ¬‹^iKÅD™˜(×-«Òâ Z+Û¹1±ÙŽ¿ÏCÏ 'xª7¢¥#ñºV Ùµ«EE{-5Ýg4*$i¶R'@2¹½¹[Ëë3YVùqË]Ôçà¹_'ÞëóV·ß›Þ‹8—r&â^÷Û®E×-+2ÝÂýr¿Ü"䳕Ù¬P¹vH`±J§¤´©×ÑÒÇÿ®·xÅ\ì=²ŽÍœ1&üEx{úB¯Ó£@¼[¹ÆB•î?QÖÛØ~›íÀD™êk¢ ù†¶¸Q&Ê)1‘ùÞƒ> `îìÕIØþYxª4%zÌÿÉÐØ¢Õég &Ò"Ç‹ôœî3_’ôÓ@i×TßÖ§£ÌÍáØXÛïãûH«>€Ô§òc? —¦®÷üÜÕí÷éÏÁÿѶ÷¼ß6>í#)‚ûå~ ³ÈÛЋ·3Ï¥J¾¶¹Ýtq‹-êlö}«ÌßO…Õ 7ÃÖÆþ¡=çÔ&ÂÑÁŸL_TãÇlÛ³ {ìD`눜:¯AuYn ‰ò'L”©>'ÊBàýÆœ(+J5‹µV6SÎ^.ðž¿.ÓÇøó :÷ö’x¤çh Pˆ¸”37Xb Bfø|,I˜&“É1¦ïD ~Z&“Ék^lº·‚¯{«Z]m|: Oî—û­íýz ˆ¹¥MÔãÖ\úÂ?Ïîwü³ öuÇ –,œƒÒñ¡¶J–”Üݲ(%¥%X½J{%Þý¿X¨>¤DY&Äͳ— 0]2Bõ*Q¤S7v½Ó¨唘Èb úh¿ÜtQ‡ÒyPújÓUü÷`:ärQ¤Óéž·ÄôxÛ+DHâ™LŽ#ç`p—a¸›B•¨¡’€ -'7À‚ž3|žxèyi} ľ£;qåÆeŒxr ¾ûéKœ:{%¥%ðöôÅ”ñÓàîê‰ÿ´gΟ@Ii \Ü0qôôêÒ×¸Ø '°ñ—Ÿ0qô³n¦ þý`Úß?0n[¶áxº? ¥]S|¿þk¨ó1iìëÚo8Ò3Ó°ûÐvÄ]<ŒÌ4¨ Õðt÷ÂàǞƳCƘí{@ï'¡Õé±6j®Ü0$øžî^xuìën×ÝäþÅš"¬‹^‰ýÇv#ÿV.dr9Ú´l‡qîzܤ^§Ã†í?bÇhäßʸ:¹!|àVçÀ IDATHD<ñÜ_>þÝùSÑÒ·5&Žú?“íWn$cõæïq>1%¥%°µ±C÷Ž=1qÔ86s6‰aëæ*¸¹¸cõ—!þÒYãkxáÙIè2Ðx|÷Ù‰ü‚\©ñîü©€.A=ÌâYÑñ¸ÃPª1¤o8”ŽüÄxH‰²× 9ãeBþë—›®Êý½›pü*Õ‹DYqпd ï9m÷{{½Í" }7sI‚@ð:¤ºðïèkøü?—!“ ½V‹‘i{Þ;o™‘Í É‡v}æ´†Õg!múÚ¤üï$IšàW‹,Vÿ—]Æ™óÇáéî…—ž›Œ«×/cסŸ±xÅ<èt:¸:»ã¥ç&#ÿV¶îވϗÍAª£±ˆÉ»•‹ó‰q(,T›í?ár¼Ù¶+×/áØ™C(PßBç PÈehámèžqêìoØuè©:¡KPètZœ8ûVm^Š&öJ<Ù7Ìdß—Rñ¿œ <Þ­?ž †«×/á×ÃÛ1éGø÷ÜõPÚÿ9QÜ'_¿¸‹§Ü» '7 ;DãýÏßÂì7ÞUÁúùò98xbT-ñÌ`ÃÄB Wâ¡Óëjôøó‰f“ˆ!5ý:fÎ} ÖV6Ú8<ݽé,bŽíÆÿ²30ÿÝoMbxò÷£ø_NB:=†Ic_GfvvÄD㋟¢më ¸»x ‰}S<âêä”D(¬¬ñˆ«ÀAépÇ×—œ’èØ…Ÿ?Qþ?|÷Îw†ñõL”©.e!„N¯Ç(KJ”ÓvÏ\ê3xn›Bvê?Grêmv ¦‡F«“ðö’xlܳl‹x3mÏÌí–‹nÓý<tVrk íþO²8}‚`óáÕÐêJ‡„Fº)c"³ÔW¬†Gÿæ*¼9ñ½ Û qðÄ>¶î€O¦}™ÜÐåÂÖÆ«6/ÅùÄßMZWïVfN>|ã3³ÖÏA Å}ÃMºÈ>3äo÷Æ0œ9ܤX Ë©LŸôëÖ߸ÍÊÚÑ»7âìÅÓÆ×xôôÄ]<áOŒÂK#'ï2ÿüh"¾ûi1¾þpE^{ü¥³8xbB‚ûàÝÿ›]kÇaŦ%Ðëu˜;ãKã²0Oö C{%¶ï‹BrJ"üýT&ïý…g'™´º:¹áûõ_ã詃ˆxâ9ôèÔ=:õƹ„8¸»zàõ—fÖ赨o•µÍÌ­N+æt9i[ÞáÆ(ß.f¢Lõ"Q~Ëå»f¾á5hn‚€ôõ—›®*bbsðþøN~FÔ®YøxUR2 ¡‹b£oì™i±ëªÊ í ´ñí{Û&ŽßÎçñS›x¢ÜïŸG±qÿMÈd¢PH""u÷ÌÅæÔÇ/ÂѢƤힹT‚þI¤½\€çfÂó³cu(·KyÂP­ÈÊ+Áú½iöÎ ¼:«ÑO]Y `ž_häÒR+ÛQ2!ÐéÑïLÒ-yyOÕÑàgÓÈd¢D¯Ã/’L¿E𠩆ó*``²dMlêæüo”ŪN¯¿¯ÇkŠðÁçoAae™“?Dç îÆ"1|b(œšÝûX!§fθ–vµÊÛònºW6-›0ʱ™3ú÷z²Ú}•ÍÅš¢Z[ÒÅÅÉÐܶu{LúÛëu~,[fÜ;tb?†ö^¯Ï»Žƒqáêï(Î5é–×F«Ðï÷‹p왲%?¿±$Êe&ʵL¡‘ôØ!Éô[d͆ëwH”% ³…@(…ð¢úUÃ\¶è…ìÃK[²â, hͰÀR¿ÐHG­Â¦“$“š Ix@‚-Ï&s¶6›Ÿ.Ö<÷3#QùºƒZÈéŵ"Mq\VL¤šQ!¢ú¤Q«r™áídf›®IWRZ‚Â"uµ-š•%§$B]¨Æ¨§Çß×äMUñöôEâ•x$^‰7ŽÇ-w©¬·¹—_÷uæüqü~ñ ztê]kŪµ•5¯Ä×°mgxº{!þÒYœ<{ Ý:„ÔësÐÎÝ %·uGõ}¯Š«^±­ÝH·!6f5øD€‰2å’(—Ö‡ib•‰{8XâÉ$AZ „õ U¸ËF§–¶ürŠêµ+7’1wId½YJÚø´ÇàÎa)2I÷;‹U¢FèÒ–¬8IÒW.X’ëžvÀ1Q¦{ vé7Šká =-×éZ1  _@˜S˜ÍP~˜ÙÃÁ‚ÙáÔd\«ANðîÙ4Âÿgo†…ê›”É8z:¥¥%õ¨Xí€qý'§ŸöPçÞPðt zx’¶åV…¹ŒƒÀ¦ ןBȰ% ÌiHÒ¶¼ÃŒ’E$Êœà¥V¯«?²Uá®ßÒÔûØVHÒè„m¹›ÑF@&{RÕ7qV`… ;ëh¡ wÝ)$ý²â?¶W5[xÈLïÐÿúÁ1Dõ8|Ýëöû¬+7’q« ÁíºãÊdüvú ònåÂßO…þ½ž€µ•5’Sqôô¨ àíá‹þ½›¬GŸž™†‹ÉçÐÖ¿½É²{ኊ‹Ð«K_“mM›4ƒ·§/vÚu¡­; cÛÎ ëÝŸOü©סÓé ´Wâ±nýáXiµˆ£§ …?qñÀ‘3xå"JK4háÛ¡!akcgö~óoå"æØ¤f\‡­­ýƒÒ©drù]Å­¤´“ÏãzÚ¨ Õ°¶²Aª#T-«¼þ­\œ<û²ó²J{%ZVyu¡ŽïÆõÔ«ÉåhéãǺ÷7y?ù·rq.)uëo|O×n^ƒ²ztêÀÖŒ÷Ýwt'â/&µ>sþ2s £Èzué[eŒýµÊ+¢‡+q[ÎÖ6aΣ%!6UجB¶- Ì¥gÒ¶œF‰‰2ÝB¿P®Sîñï ÕF¤ÝH7¥V£¿cë)×=n˜šº aó„€d¼Î%NÕ}ÞÖœô¤$Ä“6êì*—ÀÑ£ïöãuö©óbõxìaì8gÆ¿…«“Ô…jì:ô3Î'ÆÂ׫ÖD-‡«“Š5EPª±çè|ùÁ2cw1ùý0S'Ì4+V7þò2³3LŠÕ¿ük+¨ó‘œ’xeôtlÛûŽîÄ—«æC¯Ó™ìçǨåødú"øû©ŒÛ~øÏt ìŠä”\¹‘ wää¢ä@4žØ‹O¦/2+ný0Åš"ãû‰Þ½-}üñÑ[ L ð;ÉÌÉÀ›¿Šµùô/<; Ïc²mûþ(|¿þkèu:ØÚØ¡XSd¼mÜð—ñÜÐç¿Ç_:‹Ù_½ u¡ŽÍœ¡×é±}_¢vmÀÜ__cjÆuÌ_ú Ô·°jÓ¿pv^¢~Ý€©f¢/ò“‹~øsÞÀM;~2þ?HÕ‰Åêý(.-â§(Y4MIÍ{!&lËݬ wž ˆŠŸÌŽB`@˜K?¬L”éî$ÿ775`˜Ë!Öµe¡jÁ_\”HcaèîY}i N›G?I/¿H¶R¥ƒY{$WHbš^.¦„»—À©o±È¿•‹ÿîZÏß_ ?Ô…jÌœ÷žØk+k|2}‚T ×éðùò98xb~O8àvÝïù9Ïœ?Žn{bé'kagc™Ü0’0 E ^9];ô4¾GOÀÜ%³½gÞœøžÉ~vú­;`õÂÿ±™3Ô…j|òÍû8Ÿ‡ß/ž1¶ÖæßÊÅ¢æÂAÙ Ÿ¿¿Þž¾ÐëtX·m6ü¼ÿþéKLûû5zíî.ô,:¶í‚>þ°¶²Fzfþµð-løyµI±zôô,]»­;`Êøiðöôì>´_­š]…¢¼XS„O¾ùövJ|ôæBca¾}–®]ŒµQ?`òóoš¼–¥kã•ÑS0´ßpÈärœOŒÃûŸ¿… ?ÿh,V—Í[£§â‡ßbú¤Œ­¹®ŽnyíטUY1ädó“”,Zæ­ôÛ†¿uRªÖÄèÜÅx¿Òf!Åå4,"Q¦Ú¦Ç¼»}ˆ¤E,TIªz¼¸Éqçdg ï¸êä£þê³µ6U\§0»$¨¾Åãùˆ—Å‘Ò^‰' x2t‚T†S[&—c@oCt-5徟óõ—fÀÓÝ ŽÍœ-†Þž¾8¤…¶W—¾pur3v¡­ÈÖÆï¿ö‰±‹°Ò^‰§ûc«-ì:¼Åš"Lxn²±`”Éå1þ~*>}êBu_ûsCŸ‡ªe ¬­¬žî^èݵ/Š5EÆn¶½g3¬­¬ñîÿ}d|ÞòûWvèÄ>¨óñˆ¿›´ í7î.¸|Îì1ƒ{aG[¹ƒTЩmW¤g¦[pÝ]<àÐÔàäà w¸»xÜu×g«å¹ç )-D–,1õ‚d.Ôø1[sæTj]€6Z…~¿_„£#£ÊD™j.i[N¶ÜÕñb*gän<Úu еF ';kXŸ­B²}ÈO™ `¶éÚÛ»ZŸ¯oñ¨\<5±WZú˜vSv)k+ÒÞ÷sÖ´Û-ÈdUVþ~*(Ë^k¹>†É™KJ5æGe³àv2o  î½N‡‹É†ÃR ÎÇâsM~Vl\ò—¯ÑÚÊÆä÷’ÒÄ_:‹ UpÞkÅâú|bœÉÒ^‰âbó^§­ƒª8––½[õúL¸qkö-ñë5Ýë¡æ/÷Ý ØÞNì-.„:)í‚òzæå:ïËOTÎ\>†?ŠnÙH>ºàÆ]ýQKŒÎ~Cîâ `\Å‚ÕF¯ØÖn¤Û ³ÔŒpÃI”õw—(³+píg´s)ânþJB¬oî21!:gذéä²I¢¦§ »7l[$IŠB„BBh-íU `‹b¥WAö¯11Ð@ÈÛÊ&[Û?ÆñÐÉ}8{©é×­ÙùYpw­Y'1y-†EÅE°¶²®rŒ¦«“¡ÿ£l jIi)Î%˜þ9uuv7ùýÊdì>´Wo\Fvnf•Åa~A.À©™S^w^Ùýç/ý¨F_(Tÿ%@³q.%Ü8‡]g¶ùAÈ;>Ìü律՘ȔâžÓ½¿–„˜¹j÷7xoÌüj¿M!jŒ4¥EX½ç›RVBˆ÷²Ï‚œ—Ò\lŒ¨JõÑi¤¨ÐP )ÿƒIL”éΣ³O©Â\b ªM^µÐã{ÈðJ…¿ X© wvLŒÎ]Ì(6L~¡~¶êÑ5ÄÈÉÎXm*‰8I†•Æ zýò¤my‡Â! î·XMËäZ±öÂ/Yp‰!¯‘Ï—ÍA̱Ýð÷S¡[Ç^ðt:®F-›ùÍ^W£û¹:¹aÙ¼õÕÞ~òì1Ìùæ=8(›áñîðX÷~°³±ÃŽ˜h$^‰‡»Ë½¼*ïRüíÇ«ammm~»Âš'H}(VÀ¦T1¯ØZ7.9=Á{é/ 0é©i,XÉb Õ…›géòþȱ’ âlí®/¿—ýÄÄ@ëÚôyµ õ©PÐ LwpYš3†+eªáf‹ª‹UÃdJ?çnnæ¼Wb½éßA±Hî ¬ “u³‚a„ëÝ<†=ŽÄm9[l­µÏ ½Zئ©xÇÒ–³²ª¾ˆº›u=Ó3Ósl7ºu쉽ö©Ém~þñ®º Wæ t„^§CfN†Y1™žyàâä^£}­Ú¼Ö k|ùÁ2“åtÎ%Æ»žÓЙ“›U£ý:6s”hKLÆ·Rí’ÕÆNb¥äË$} nK8€9ë¦ãzæeF—µ„gñ¯U¯iSÏËdº°˜È{/(SbRŠ6bˆ«tÓˆt—¯ñ(Cº—D™jYÒÏ9{)®ÊBµl2¥„m¹›…$*_³b‘j˜ó|F±&4’˜x·ádgéT~JñÏÉ;óp-&™%®oîâhøS•š~Ýd{rJ".]K¬ñ~rÊ&Pòö0-Ô²ó²_ ;Û{fܾMGÀÞ#;M¶ëu:ü{ÖVÖPµl[£}ÁÖÖÎlÝ×ÊïßÖÆÞž¾ˆO>‡ü[¹•b“dþË&²Ú}hû;Võ}ëÃPkKן×kºW½mKNOðþ×ê×ÐÚ+PRyµN®°µ²QCWX|yd#.唿fö5›²kè&ýíu84m†Ä+ñø)z…Ù}»µ¯W lß;;„† ‚­­ònåbû¾(Œ ±ÆãV;P(k5>{þ~*äÝÊE;¥E¶à*jsgGç§Å…Nõk¯±Ò΄˜r)-^y‰³Sãd  líe‹c"SŠkkÇ~ÉÊh÷”[?­B€w…ì{ª*Ü9…]™(Ó_óü#gûM—døÝiÕ¤my‡œ†˜¬¦ªÂ]l= r^cüðÝ„^þò½>–]q‰ ìÑ iYÉ­¦[SbjïïtCgkc‡—ž›Œ¥kãÝùSÛÃDÿ^O`ê‡QRZb“Y¥½oN|Ÿ/›cœdÈÚÊcÂ_‚N¯ÅÑSîù5*í•xÿŸŸbÞ’YøöÇ…¦eï'ñÂ3¯ñ¾&ýíŸøø«wõëDýjX6·[Çžødú"¼9{RÓ¯‹ÀჟÃÕ—pðÄ>¼9{’á3B.ÇÓýŸAôr9f¾ú!>_>›vü„M;~2Þæê䆼[9÷\¬¶õ‚«“bŽíF̱݀QOÇØˆ –x?¡‘~¶…EÒ™$z[~4P£IŠ Ô2ˆ8ûëî§Ûï_ si#ö0¬!„x5aköR‰úCîò1`¶fnMÍNŒÎaëê9.®c…¤/®É:ªmÜCôBDU¾Þlò,à˜ñú,4Št—«0ùrïn>Ó‘œÓš‘l˜Âg ˆÈ ›R¬2Ýò„-ù)ÕíÖéûUªQX¤†£ƒ³I1Y¬)Bú”ÍLZõ:²ó³`o§4[2&=3 ËÖ hh,Ø2s2àêèf\×3ÿV.J´%ÕNDT ÎGâ•(ä2´n¥½êB5®§]A`ëÆûeçeA!“›uǽÓkÔëtˆO>‡Ìœ Èe ´l{O ^§C• È/ÈC ã>Î'ÆÁÏÇßìy¯§]EòµDÈe ´m„ââ"L™õÆ„¿ˆ1á/ší?ñJ<Ò2 ÝŠ½<|Ѻ¹Êd]Ô’Òä䚟ŠÇ´bÌËãþûÅ3Ðéµð}´…ÉZ®uaËѵˆ:º€xñØg×k2{þ]]gÕQ<¨7TÖÒ´½ì‡ˆîRÒ¶œ„ÖnCdzý!Thñ‘$éë6aÎÙ5IÀé!%ʆâ{üòƒ]”Äèìµ5½ïÅmG¶_Z IDAT¹ÇÂ\úUñшtp’³ú+ÍÁõ $ï{}<{84 U.9Ó)íÍ :ÀÐZZU·X™\^m‘ééîUeáWùþ•‹ËÊ”ŽèÖ!ÄìuV,T?—œ¹›×(“ˤºÿe=er¹ÙëPí¾}½ZÀ׫…ñ÷“g Ó‰84­z™UË@¨ZVûüÖVÖÕ¾Çꎩc3gô hñ· DTo]Ú’'Iú!*®µª„Xð´ËF¨~$ʸÇЉ2#Y÷’¶å$Hú¨<`kDzS—ÝíFº)¥ú˜ÈH/Þ÷>8ÙYƒ%×I›Z™ObtÎÈKÑÙÛù¥ݯä”D”T˜9ÿV.Ö•YmÀ?×›‚! ªï tÞaU˜Ë8lªpÍ*„ [œ†XâL†4Qf«N=)XÛ=ål6É™@¨V#íh7ÒmÈ…YjFª~h÷”›‡úˆûÝ{84\e&ÕŠ’Ò¼;*J´%pu4´g澿þ¢Ik+±X%¢2‰Ûr¶¶ s- ±©Âf¥²ma.=“¶å$0JL”©vT˜ä¬Ò¬ÜR­;Ú=å6òÂ/YŒTÝÓ ­«1»ºÛ…¡*¬¹+°E’¤*¿j7ÒMÉ/"ˆ,¼0’ÉñÞ”9H¼ré™ioæꆖ>þ ‹U"ªN¶Üͪpç©€XTa³£ØæÒkýJ”Í’dHZ=ÄçR!å†S°–*ôQ1)XÒþvO¹õcÁZ÷ÊZÕªmY w†€0^‡B–ÄèÜUŒÝ í62ß×­…#ƒÑȵ\ŽŽm;£cÛÎ ‹U"º[‰Ñ¹‹UÃ\”P±@òQLžëW¢l–$ Ù”KœÅ¹á¬#Ýi5Ò@êSá¦6Z…ž+‘…8675fUæ„|@b±Jô°¿@`ˆXÁº5gN¥ÖUcòìáÈ?¤õ•$q¿†X°nÌR+lÄ@®âš;æÒ†Q"zðZG¸ujîòBùO`¸ûd=Dš’ºIcX¬5Ä‚5:û k*'Ï6zÅ6ÎXJTû«gAv?›*Ýä]Ö Ÿ+Ñ&ôºa°²üG}ï‡û $ö¢ ‹–«Îf±JD5çYó’yò,õÑiôQ¡¡ìâOT›bb õ,ÈSEÁê!ö«Â]»2JD¸X†”Ê(%ëØÁþ=—IºßY¬Q’gMAÓç+wO”€é.ëjR°„9õiæÌõ‰î¦`•IJÊ+ ísêÃ(5NzˆŒY²N-»ajø{oŸöP—Úc±JÔ€¥Ä¤+lÄ ÿÏÞÇEQ¿qÿÌì²,¸rC €ˆ ¨hxã ™ Š˜÷QšQfYZy¥ý ËÊÒÊî43¼5 0S1EIEQD‘C6îcåXvçûûcacÝEQQ9ž÷ëÕ+™™yfžÝyv¾ßï æŽY£³Ì¬¿½Ûk=†[à8>Bà¸9IBê^°&íÍ}Å@¿qÇñT°Ò4Íýù¥[nzG³•‚Aš%ˆ¿õTþ±Çý¾T¬ÒÈ]Þ‘£0Rñ#Üùèš×<‚m¾2\¨Z½ ;È8À§C¥E’ºÓô7X°¢Ö „4=ÙEY׳®HÂOmÅÕÌËÒܨÔÞôçüUT¬Bî¿`=#«xwô©a³=‚­féª#¬ã֠ƣ«17…¢Hȃ¬lö“¥Œã¶RÁJHÓòÏç™1~ªT+±bçbœ¹z‚‚Bš4AP#-û:¨Ǧv°íõ$¶ƒa!¤ ¬í‡[æ8`ÿßn¥ç›rû¢Ü_n™Y†™z/füT?—ÿ¥F¥ÒãU¹¯‚5ÿk`+Üq—UÌ8n«g°uè•ð¼õ%Bš©iú›å·e•e“¿ ÿÎvíоuG8X;BjdRëëœmÛÂÙ®Þô´ìëH˹ñÀÛÓØÖëÞº#ž²h¥7ýjæedfÑzÈzKËo#+?—oÆ!·$[ç÷êÔ·†¼·éIå«„4!W÷æ]q± äá8í#l˜À¾Ëji=…ú~%³‘¶,°‹¢HȬíฟj|¯Š°Î#ØÊ")<ÿkŠ!_TT@Ú ½ç:Ÿå8ö~Zöu›ª;OwõLç!q/™­7(Í¡óû¼ÿ¾tÐûA·§±­wTÿOûLH¾sú§¶ôO=wÏçæ¶·îŒ«y—ê}½j{›Èz¶ù!÷IæG=„4=í‡[öç8>¢fÁZ‡ƒÈ¤ðÜ@Š^=ƒ`«8pa5>l§Ò]¶¦Ís¸Õ(Æq[¡÷C0›M+å!iPÇòa¦x uø…¹HKËØ ž Þ»ûÍÇb–eDÝ9Ùg£ø>pPÙzyÆþ04’lïùN#8ÆîZ[™Ø™Nïù¿×?~÷KµZ)Ô×zÕö6öõr/€Ëÿ|–ö0íÝ:ϨX%¤ ón=‚v2®î-(Ôbæ”ü{>=KŽ.’I}¬[‘ôGþ\Šå!iÅ*y¼"##ß`Œ}Çqܰ€€€ý‘F¡^òŒX"¤‰b@ãPt_*¼L‘#äÁ]Ù›¿‹1Á€B7!¹9µÎM!ä×4Œ¯ùÒ|P±JH¤iÌ`}?¯ãÀ…Rôy8W÷œ`LÔ+XÁf{[ÿèçGãEBH]EFFº¨~†õè£GÊ(*T¬B)áÖ#4ýU™Í¼ÜÑs„ÕŠ"!_°òŒ  ¿cÖkYfÖ[¨`%„ºa\?¥eee#(*T¬Be¡jõ28ìÄ} ¬¤‹1º»JH}HÜ›Ãü ¬£©`%„ºá8nêÝþ&M}QÒT ÕÖ‹À°´V5¬ýð–6W÷–äRT y8W÷æ]i?ÜÚ_ÿùÇefcßi xyGŽ‚"EÈcU@…ÿš–’jèСmèìJ¨X%¤‰¸²'7 @WáÖ#‡Ü¿DÞƱ©¨X%¤ž\>#ï4ÔÖßPÁZYÁuj;òò9EŠÃ’öæýàzZÝ/Uÿ§z0‰DÂ2äCÇiÔ¨Q·öìÙ³š¢ÔàØö0+ ç¬ÒùùA,7³žÄ€¥dw̺"VñþT°RB4"""ø«Ö"†ãÜ’)RM °DHÕ•ð¼õÅ-Ý6àî»ÿ©žž¹JH=»| Gnd̸wÌòT‰…£†ÚÚS”!0õn3cS(DT¬B±Ô¨Ôò¤ðü¯+x•; ƒ¦9FÝpl|§1¶ÔDŠú.Xwä(ÄÆ\`-ëùöí=)J„æìèÑ£R!÷XlªÑ…3ËS© :i080‰ã¸ßê°è€ÀÀ@Êi*VëøÅ ?qªU‹A üh!`C!&M¶fâ9°b¨IÎÈhLÛîbá"0ÑÃdÜe 5Ä\ ÏëSk·A\Qæ4ˆ1n4ÀB@9¯¥*PYªÖþmÔR ±1 p‡x€íd`¿üóyfFs ÀÝ Vž±‘†úSÞQ>"©÷l=õyÚa y’"##w3ÆîugÇ­ x›"FÅê=¹X ŽÿŒµ«žfk+C»v6°µk{{s´05¢ˆ“F«¸¸ÅÅåH½™ËñY¬¬¬’«*èTÇ­¯Z’šs Qý2Ý~¸µ'ÇãS°Ú›Úðj¡sâþ‚ø;§ûÌuKQcÔaó–p°r‚E KXÉl`,¡›<ä?·+n£¬B ²p3;•eÚšÀ5-iŽwwüü Îjió#8vç#4Œ W÷œ¸{ÞY0+gŽòŽæe#3÷&JÊtY™Ì-36ÍXöpÏH$ä~íÝ»×F,g¡nO-É•J¥þþþtžR±jX;Ë /ÇÿÊ= ½‡†÷Âsƒ=ÐÞÃŽ"Lš$µJ@Ì?©Ø¶íH„Z%@!clæÍ‚}›ÛþxÛôcËÁÁOÿS‚­Hú#nõŸ}ç8y1¿²ªœomÓ>ž¾èîÖ­mÚÐÉAêDÔ¸’c#qúê ‚Ï3AýzÌ盚cL<‚m¾Ò ˆöÆaæÕ?ò¾7wÌÇÓ—£¼#õ%-û:Î%Çàxü!ägW€ì Çñ3éN+yœ"""¦øé>^x"GŪž6–ÁA¼Û™ÀLíÌ0gÎ@„Œè ‘˜Æm"ÍÇÍ›ùøðÃ8røªæ»XÓ6¿dF¢ݯ|ž!6~L¾8ï¹Å2§Ô¨Ôò^óÛñLØ @fÕÒ£ú¿ˆ¾üÁó":Èû·ð6]¸ë§«Ï¹5RÓ´ÍñŽNÍ‚•…] Ï_R3ï,eÖÂèSxÊ;ò¨‚±É§°ëÄdåkZçs +Œ[¤¿GwYÉc*Vè/ù-00ðŠ«:\¬‚gÃ`L2² –-cc1E”4[۶LJK"QZª€È"é˜Ë9;ò‚y¸õÆaWÕÔcl´¹§Ì‘ãØ â¾bZÀ[0IèÀ“zó÷¥ƒøíÈjTT–A$22V<–£hnqð¶šð.Iá¹o÷žë<‹òŽ<©¢ußéØý˜ÀlŸÔ´bBsÌIòøDFFº1Æ®ÝçËÊ¥R©­¿¿?›T¬VªÖÃG€aHÌcöl?Ìœ9€"I€„ËrLº 9šïòH—ü’áñ+ éG'7³žÄ€¥¼˜Ï6w“vãyFö„`-ž<iÙ×±b×bÝ.¨*Xo m®wszÏwÁ1ìá9žì7™£¼#OBrÖ|³{‰PTZÄk ÖŒ‘t‡•<*XÄqÜÒû}clòСC7Q©X…‹ÅPoN,Žf3]¸è9¼òJŠ"!5\¿ž‹ ã×#'G¬¹™¿÷•Ƽ?=Þtì¥*S7¶K&ø‡"°çótÉ#••ŸO·ÍGÑíÜš˜ÏÓ^in1è;·µ·ÀñÇÈÆûRÞ‘“[ç E¥E<ÇØ²SË3Þ{ÜÛàbë-„§«ÿæÁG'„ç$ÓÑi"""XÕ?SÛRDšûê\ê?±ÈH¼ Ìtôho*T 1 ];¬[7 &&FŒBÛX›ÔX÷Å/ b±ë¥VbÉ3]ž¥ fòX8X9bΨald€…úÌsœÔœöß/ bܲ^”w¤aääëÃßãyŽgŒãæôšçÔãqo'¨G0`]õ„~td¡bUÇ «–SÔjæÞ¦–-NÑ#¤;Ùヰ@8ŽûÎÅv¨}cÜŠRÇ)à8ϧ,ZaÚs³èÀ’ÇÆÙ®&|Us‘Ê‹~è9מ¹ì{uÞÙ™Û ”w¤¡ðtê‚¡=GqÄ<ÃrŠ!¤A«..~R±ˆû½ÿøKÈ=Œ×µ âÛöû…¹H4ýFÆû‡ÒÈ£ä±{¦óx·ë&f"NýAsØçšy7aà«<åiH‚z…‰±©~}ç8yQD! ¦XE‰Ù8µšÙvíêˆÁƒ=(r„ÔÁâÅCÀ‹8Æ mlwWËK…qìÝ<Ñ­LòDLôµú‡’Ðæpwµ:ïÚ9x ”w¤¡1•¶@¿Žƒx`¦PD! §XXŒߢFHµic…  Žˆ¡æ§7¦mgÐä¼o—!t Éó”E+ôjßÄ"N5½©ïouÞùuBÍ—HƒÔÛó™êsuEƒÒ ŠU?)ÏóCà9º«JÈ}7®[Õ;7º±l³_˜‹” «ÝÝ!O–o—€ª5ž¢¼#M•›ƒ§fð3Žóô›íbA!„<ñb•/jÙC`‚¤sçV°´2¥¨r|z»ÀØX¤â¯ö-‡Û4†m.+z¶µwGKs:ˆä‰òtôª^ÝßmeÓT÷S›wO¹ ”w¤Á^8ò"´²vÔœ³Æõ[%„<ùbU ÖÚ¹ÙPĹO"1÷öv 4º7†mæ˜Ð,è’qqÜÆÎ ‹º7ÕýÔæ•35& šÙSšsV`­)„'^¬‚ãíÀÖVF{Ì®&¢¤DIhäÚºXkf͉Å1 œ=X´°¤ƒG„§,4ç&ãšì K”w¤±J¤Uׇœ”¢AyâÅ*AfÍ"(.<^·!ötöÝŽð])˜<ê ÆE ´TEgk#fk+kT¿ôp`2°lI­)HÃ`bÜô,¥¼#”„Ô* @Çq+)Í‹ø~63£Ð§¼Ür@aa”j˜šŠ)(”™™q£ÜnSi :x¤AhaÜ|ÎEÊ;BùHˆ®ÀÀÀ%*VIóâËàè,C3XXS@!„B!T¬’'O$æ08ЙA!„B¡b•èRV8qì®_+¸¸šÁw #$Ɔ»û––ª}ìRSŠNmZ¢Ÿ¯Z¶”è-{5±c.®fH¼œ3§²ab*‚ï@GØÙ›@Y!àÒ…\´l)Aûÿ=Êì^}i[9¶€C«zûq&FŽ«W ¡R xÊÞý|[ÁÚF¿iwjJ1ÊÊTèÐÉ jCLt–öuwÛB!„B¡bõ1¸y£.<¬[·u¦»¸šaõÆzMs£ÝÂâyÿèÞÛ²¥‹?íߺ#¼õÙy””(ñüX7,[rV;ýé®¶°³7A^^fL=Šî½ìðã:íüSÞu»_y£^yã¿GŸÅ_ÈâwOéí‡Ä˜Ç¬¹Þ3Ñ]gú†5WpäÏt¬Û>óÞŠÖÞÕììMðóoƒô bB!„B¡bõ1Xþq,Ú{XbÖO=ÔvÆ_È×ËΣeK >þ¢DbN;ïØá ÀˆQ®z¯è ;{¤§)p5±Poþäizûß½—$Æ<²ået‚B!„B¨X}Ì-ô24°PzZ ”\Úš|jË–´s7‡ZÅpóFq½ncI‰‹Þ=µŠaAXw~¤jCzšС“•Á×w®j–|3U»LM ¾ÆÚÚ„NB!„òXDDD|ñAddä,ŠFóBÍ€ëAõ]Ö»= µºÈ-½­ª×÷þlI,²nÝÆˆÑ®zMy³³Kà®!™˜h Re…@’B!„4DaÀKð5…£ù ;«õ@$Ö„±¢BýXßwÿžTüy .®fx{AW…¨æ·EI%$B!„B«Í“³ p3¥¤ÖenehÓʱ~÷’ž¦Àò¥±‰9,]ÞÇ`óc Kc˜šŠQR¢D^n¹ÁõTO·¶•Ò$„B!„P±Ú”XÛHago‚’%ΜúWo~jJ1²n݆½I½<›T­bxïíh”–ª0k®7Úw°¨uY/oMŸÔc‡3õæ•”(qá\DbºXÑ$„B!„P±ÚÔT¶»üãs:w1KKUødñeÖ7+.àjb!&¼èñ/´¯ÓvýôÍ%\¿V¤Sð~õiJKUôœ“Á£!„B!äI¡–êɔЎ8sê_ÄËÅØ ôêk‘ˆÇéSÿ¢° ÞÝl0%´c½¼×– I€¨¿2õW†Þü SÚk‹ØÁÎ8òg:ÌÀ”±¢O˜š!.6G{·×PWB!„B¡bµqq5C÷^vµÞmìÞËÖ6º}<%ƨ)"ZµÀ˜‰n˜ô’'$ƺ7²Û{Z@­ï#‘ˆÐ½—v¹šï7w®oéò¾èÖ3¿o»®mlm#ÅóãÛáµ7;ëb\½ÿµõcíìm]o}o !„B!„ŠÕ:z1Ô/†zÖ:ÿÇuþ§›šŠñÊ^xå ¯:½ÏÛ ¼ï:ßÚFjð½j{ÿÚˆÄÆLtǘ‰îõ²ÿKWô¡“„B!„BÅ*!„Bi¾ÜCl½E‚ðtõß<øè„ðœdŠ !T¬B!„òÄp‚zVý·a**V iâh4`B!„B! ÝY%„B!„4daÀq\!…‚ŠUBHæö¼•£*ß,75*µœ¢AHýê4ÆV†Û]>#§hBHø„¢ÐÁÖ?ª*„,µXB!„Bž<º³JH£ÄlÀ¸9‚ˆ›Ó>Ø:†clX*ÚvyGŽ‚bC…ì<9ì¬í›Ô>µÞÒ†ãŒ&ãBúá‡4YÙ™HL¾'7¸:¹Q@!T¬> JU%³’‘Y@­©HÓãnçwû¶O|;8À磪Vz ·ÙÊCø%qo~ !R_¶„¯Ã–ðu<¡ãÞhôûã9Âj¦2p!¤`tŒIÃ’˜| +×.Äà©T¬B¨X­o)ÙiØüÏ8Ju%E™4Y¶-mðšÿD íâß6GŽ… àB=FXÇsŒ['°ŠõW÷–äÒ‘"CbdÜè÷Áíy+G^…—9pSƒ UÒYš[ÁËÃOÙØS0!T¬Ö§u'vbÍß[¡Ôg»vhc×-¥æ0–H)â¤Ñ»]qYùHË¾Žœ’\|þ ¢’þÁ’Y012iÉàÅÀVpœd©G°õ>Žck®ü‘Žy£'`Pß!°0·jTÛíç±¼¥ÕÆñ¡P±gA]_H#ѵS/tíÔ‹A¡bµ>W¶òϵØvz/àÙ®ÃÔk ¬ZÚP”I“õWÜ^l=ú Ž'ýƒ·7„¯&þ¯á¬R£ãF{[g0°5‚¿$ÿžŸAGÜÆT¨¶níÉñìå,ÆO˜ šI;_E©©éÉp´w†™Ì±—ÏàFú5˜É,àãÝO{ ³óäøçü (++áæâ§;tÓYOvžÙ¹r¸8¹Af*»ç¼Œ¬4çÃËÃç/ŸÆµÔ$xµÝ»h_W¬(D|ÒdÈÓ V«áèàŒÎí½õΫ”ôd”–*àåá¢|œ¹x ¹9heçˆÞ]ûAjløó5· cño®–æÖxºC78ص~ 8åãÜåÓø7WK[<ݱ»ÁþÚñIq°0³‚£ƒ3’Rx-jAm0¦ÕµZ{\Z˜ÊгKØYÛ#>)¦¦2m“ߢ|dÈÓ`gc¯}ïšqV”*{1·²3ÐÊÎ]½zÀLfQëyq1173oÀ¬¥9:·÷†së¶ô¡Fi^ÅêÑÄSÚBuÖÈÅèÖ·¢Kš¼g½‡£ƒc|¶c!.¤'biø·øxÔ¼†º¹Ž¸0‘ aÁ6‘Ö”—˜ío¨ÀY¸|6Þœ2ç.ŸÆ®›‘[‰‘ÁÏŽÆ‹£^ÅžƒÛþ×ä䀉àã=³§Í×¹˜]¸|6\ÝõúYž¿|;lFèø™Ú‹Ã”ôd¬Ûþ#Þ ]„/×|Œ¸ÄX8صƪO6AP«qüÌQü}æ0n¤%#· Rcttï‚éßÒ¹(>r2 ×â19dÖÿ¾Ñg¡¼¢ Rcøû Æô‰³À‹DzÛ³q÷/HNMÒ†¾Áô‚Þ²wŸ‡Ã'#‘”’€ì\9T‚®Nn˜üzvñѹÿ|õ‡˜÷êbìŒÜ‚?ÿÞ§ÝÆgz Bèø7t☒žŒ5[¿Ã˜¡ìÝžNcleê a”¼Æ>`ÐÌ:£¦¦'cáòÙ˜2j:¢c£´ç¬Ýþ>z÷ $ßLÂÏ[¿ƒ Vkç=Ók 漺Xû÷áèHl _‡Oæ®`þ»' IDAT„—‡·Î{š·+r3GGâÍ)sñíúåÚe7|ñ;,Ì­°}ÿFlß·ÊJ¥Îº$F„Ž¾ÃµÓÖlýñIqX0c V®]†òŠ2í<3™þ÷Ö'ðpí¨SümÙ»;"6éì<7`^Ÿüö}åÐöý±9|κx‘Ï?7/ŽzUï3ÊÏg0 *æÎþ~¾Y¼F{7E©R">) WÌŒö"$FF8s߇܂„ÍþL'6ñIqx¶_@ƒË¿í|Ž›¢ª&qõ°NÆXÏ`ëǾ/åÙ•Þbs£‡^϶}Цu[|2w%¬-mqääAlÛ·Ÿýø¥ ¼2~&ºuêyN&¾Z» Ÿ>‚Á†Õz7°®~Ýñ#ü|ÃÕÉÅŠBX˜[áXÌ_øm÷/psñ@è¸7àêìŽbENžýë~_…5[¿Eÿžþzwp¿\ó1‚ŽÄ ¾šsn÷ŸÛp8:_ÿº ?|´á¿}Ý¿Ûöm€«“BÇÏ„›‹2²Ò°vÇøóø>¨f½´ NÛ¿çàvmõtí„Ô[7°a×ÏØ±FFmáXídì1˜šÊ0{Úxyx#Sž†Ÿ« îýGö`TàMÎU*¶r²óä˜<ƒAÔØd7Vmúú¾âüñw‹àï3Cü‚!Kpäd$vFlÆWk—aÝç;´ÅùÉØcøvýrØYÛcîôÅèÔÞy9ؾ‡£# Î±1DUÁ ,P>p®ðà£Âs’ëº<ÇAFƒ¡5_hή0 àkŠ«÷åì‹È.΃y K„ôDQ%ÍŽƒ•#¦‡¯~ÿëNì@°÷`Hĺ¼U8ûìP„>Ü•t}n¹áGà4”¸æäà›%¿ÂÆÒÐÞµ#æ~ò:âcñåû«àæâðí=Sß}q ±:ÅêK;GB ¤Æ&X»|‡Þµ‘‘‡£#‘[£ÝÆê S [„Íþ\{áØ£KL_8 ѱk‹UA­ÆªM+a&³ÀŠ…?h›D>Œ°•ósþ.$ž«s1sʽmôò芾Y€ ‰±zMÿ¥ üðÑík‚üGbΧ¯ã\ü?H˼Ñ`› >òGÎpÜÃçé(ËWAÊsõ²®f®=®“B¦!"*¹9˜>i‚üGVë­ñüsã±vÇHNMzèbµG—>x't‘δèØ(À;//‚£ƒ³6ŸB†ŒEBòEÄœ?Ôôd½;¸ƒá¥13´Ïzi.]‰CFVŠ…0“Y XQˆmû7ÂLfß]¡mëæâÅo}Šw–NÇáèHùÔ~VÔúCAE~Û³2SÂf¦]—«“¾ñÞüà%ìŠØ¬ù¬Fs[e¥ËÞüT»~;k{Ì|q|ö.$œÕ«‡NìGvžAGê¼/™‚¢|½;³wãÓµ?f¼ðŽöïG½Š¸ÄX$§&!Cž¦ÍÛõ»Vƒ‰6ûsmììZãÐEÈ-ÈÁáèH vô6\Y¢BE¡*˜+„©ê\¬2p6H3Võcb**V›¾>Vr=GÓ¤¥ƒg³ ¤¢Tì<¹N“¥»MX‚ZÜ‚œZç+ 뼮¢|dçÉõšhzÏì<ù]ß·9óví W{wä) Ÿ™Ôè¶¿ê8kTB–"CÀ„'¿M=ºôÑ)«›ÿ¹¹xè\|ÊLe°³±GvîÃ?&«_÷g N¿³¬¾0APëÍ0N§ù¡ƒ]k8·n‹Üülí´”tM“b¿>ƒuúîñ"ÆOÄœ?®—«5ÿ«™·†¶±MkígÑžé5Hç5¼H„@ß`À¥«q îej†âÔ²PŽ“¤ÜJгQ êìé­w.8WÝîh&jÖÒ¬ªèªxøÜéá§7máK±ù›}Úb©f‘w÷<ôÕÏ·ª‘qË+4=ÎÇŸ… Vc@/½þšRc<×Më…{9ÊJ%ô¨·.‰‘>]ûCY©Ä…Äs:ó,Ì­ô açÖ®UÏ…ÎÐüU•_5 y_qöéÚß@ž·­úî/Ò~¶deg¢K{o½ØWç>œ½xªÑžç œŠ²¦¯^î¬*Ê5Aœº4›ÀŒ=†ÍáëðÉܯðÃÆ•8Yõëquï~øió7Úé¼H„!ýƒt~ MJIÀòUbÄàÑ:ÍMsªè³Ç°æ³­Úi{ÿÚ‰k©Iè×Ã_¯ýŠR…¶¯Qvžáí¹ø´ýaªûñ½þÂl/ß«?„së¶pwñÀÏ[¿Ó./1’`ì°ôîL j5Öÿ¾QáÚ¢ÛLfÑ2d,eQ î­;!E~ ò¢FYÐ+ìÃÎÆ=8O¼=¿¨–¾f†úYY˜YÕK±*ºKÿ¶òŠ2Ü̼¼‚œª§Öº¬‘X¢7ÍLfŽòòÿ~¸J»uàêÔNoY7Í™5ú·}¾úC½¦Í†ú¦eÞ@^a ŠòQ\R\ë6¶0i¡7­ºÿmqIQÃûAEÄAæhò[QréOàØh0@3ˆ¹ã<{óûaÙZ?epºÄH‚ãgŽ 95 ÿæþ yv2äiw-XíêðÈ–[ÙUùcøÎ`[gÍôÜÍDk¶}”´kzË}2w%2äš<;~æbãOë-SZ¦¹Î©Ùßž20ð’¡negV²ú­ZÛ;×Ûñ­–Yµ?WR:¼Þ|¥Jû¬ªíj„Ê« î ¡bõþ˜J[4›À•W”!-óf~0 .­Úbö´¸]ªÀ¶}¿á§Í+þ×X˜YáÍ)s¡„ÿµÇÂÑ·‡Ÿ¶©Ue¥Ùyrƒw<ŠEÈÎÓ½ðV”*sþÎ^<…¾Ýý`&3C‡ªÑ Šòñ÷éÃèîÕ Ïõ©ÔçâÿÁÉØ(ÈLe˜9eŽv=ùEù¸˜‡bE†ôÂèÀ‰¸]ªÀŽˆÍøm÷/z£8~»a9GG¢çÓ}Я»/”••ˆŒúkwü¥ªâ¡›]6%¦Æµç+2‡º¨do^ðP·¬8Žóƒ_}¨%-V¶ä3ÏÄ WÚ »J%~ÙúŸŒ¼ç¡ú"1Ò»5ïÎŒ:Q¯ß¨c Ý#'#±n×jåXŸq“8¼åIá¹›lê4ÆV¦ª`#ê½peØÃ8öØo-KÌD~F¦"¿Æzl iI) øìÇ´-rì¬íÑÆ±-ô„ g—ûÈ~`ñºÇRÒ®ÕÚ]]5 ’…¹,ÌjùúÎçžIê-×ëSeÕ甙̼ÖÂßÑÞŽömø=ŒLEP·ö(o«(W^tá¾¾ûìaKåWΉÔÛ’öÐ3Ä ¡b•Ü“£½³N¿4µZÀÚ?@­V#löçÚ/!çVm°à³·píâCõ *¯(ÓésTÍõ#Ö,Ûªó¥à;ÓNÂ¥¤ózë),ÊÇ+ãgêÜѵ¶´Å²?ÀÙ‹1Úb595I[¨þïÍOµËúù<‹YKB±}ßFø¯uÈ|Rã‹¹È B|§=©yáëf=탭À{˜ Zƒ*G©›öü‚ˆcáô ƨ¡µÍ·„¯Ã–ðu~‘Í‹«ŠáJƒ2ˆùÿ.Äï6oµ‹X¹v<\;bÑKµM¦ã“â°pùlXš[Öi›ÊªšXš›6øãryGŽ@½®‡=Iáùë÷þøÌs.·ëUu“Òšîüõ^¾\ó1r r0mÌëð®;:®üf½ǵµÈ+ÐÔ2Õï9ïÕÅÚ;е­ËÏgð#ùÖ¬¥9²óäÈÊÎÔ{¤ŽüÜÝlYõÜѽ³^?âz»€4å!3•î‰ù<í±äJÒÞ¼?üAßH„4/<…àáøû Öé—ææÒ€¦¿Mͱ•ã}ÑÒ³KƒÓ ý:kmi«ýÅøNw¼^O Šÿ»+s9Ô°;úÔHMðÜ€aPV*ŸôߣñIqzÿ‘Aà70„T·´M Ï{!ioÞ õ±5õÅÆÒÖ`ñ¬ì[÷µž3OÁLf/¼£ó¼EAÐtì­K³¢Ñ±ÇêýØy¸z‚‰—k°5Hä±½XüÅ»uêÏK!T¬6bµ5?º³iÐ>TÒ2oàø™#8r2GNF¢°8¿öƒǶº;ZÝŸÅPŸšêA%j^¼,\>[ï?Bê“bgã ĨZJz2þ8´P©ª[“^‰XEY‰ÎMYi8x|@UËB÷âêä»Ö8{L癘‚Z­U7àôô¯Û6V5ó­y·JY©Äî?kܹºØ®–pí"ßW'7® ®§z@žÃ'ê:{n×9OïEj¬¹¹+×ôoûþH«úî¨kêdáæâ„k±çàvyÇÏATÌ!ØXÚ¢Ïu^WJz2¶ïߨ3/>)ÛöoÄÕ”Ë+ª‹ ÿÈLeظûœ¹£³»"6×û14“Y w_åcõæotž›‘•† »VáâÕ¸ZûBHCAÍ€›ˆŒ¬4¬Xý!RÒ“!1’hûÜçßµÿÍCê¼þo³§- ƒñä Tjâ[e@/$\»ˆËÞD¿¾(Váøé#9d<öùEùu»Ð8ß®_Žw>z ݼzâv™bÑ·»/¢b¡´La°¿^]¼þ»ø`å\,\>ýzøÂLfŽ ±HIOÆs†Õù.é€^þضo~ÞúÎÅŸF âcáîâ3™…Á»d»nEzVÚ´vA¦< 1çO@b$ydÍŸTáŠGÐT¸)ëíÝŽÎH¸v¯-œ„¶ÎnÈÈJÿyrôíî§8°.“ŸÏ`DÅÂì%¯ wÕ(¶—’â+G7¯Þ8ÿneg¢k§ÛÖw^^„…+fcíŽð÷™ÃhÓº-þÍ•#>)2Sæ¼ú¿:÷ ­^×o»Áß§ÀÝÅEˆK< ˜9eîwy±0·Â¬iïዟ—â£oh×S¬(„—‡7â“â`"5©×ãøêÄ·šy߇¸„³èèÞÊÊJœ½xÊJ%^?ó[C!T¬’ûòÑ·ï¡ ( f,wí]Ó…Ëg?Ô©Ú>uJý_¾«û¶Õ¸e`ß:T Ö /oƒƒxyxÃÕÙ]oº«³;¬îhÁøL0 ‹ …ÃÑaan‰Ðño"Àw8Ôj•öüSS¼<¼ai ÄàAcߑߑpíÜ\<±hæR<íÙÅŠb—i›>ec/o˜(^ mãÓºaÅ{?`ûþ¸t%ååp°ke°oúÝØYÛcÙ‚o±}ßoHN½Ks+Œ œˆ ÿ‘ز×p—2G{gdÈoâbâY´”™ÃÏç9Œ6Y§©ó½bC…kÃaaf…AýÐÑ­³Þ¼î^½ñ”½öng5{ÛVÔ/@'§$F,›ÿ ¶„¯Ç…ÄXÜ̸6ŽmñNè"¨Õ*˜H¥:?‚V¿ßë€Ù/-€£ƒ3Nž=†3NA*5wÇ~vèõù®m;k›çèàŒï–¬Å®ˆ-¸‹KWâ •š`äqùܸûjÕT½®½ýŽ3NâÒ•8ˆD"<Ós FNÔÉwP¿€Z(24¯·w?ü°t×N‚¿4×>¨„<ªÂµfW‘Чç7’zu1á>øjöÙ£ûy®VkûÐw«„‰BÈèÎê$1Ò4:‰ÙjFðÌÈJÃÍÌx7ô}|±f) ‹óõšäÝIjl‚!ýƒq,¯.œG{gää ¬¢ ƒúàÒ•‘×ÂÜ ¡ãßÄ¿Àëÿ{ݼzA¥pöâI¨5…¾ÿHžGj—ü{~O ä®Ð´\ ¤Þøù<‹íû7`ãž5¸‘~ ­í!N?Ž´Ìx¦×À‡z¬!Í@pWH¡ b•ÔAu{ÛVºÅ]UŸ!C}ê õ%š>q–v@•„k—àîâ7§Ì…së¶H¸vQç±3®ÎîÔ/À`_žégÁÙ±-Î\ˆ²²Ïô„ ÿ(ªîª jµ¶ku¿C mc€ïp8Ú;aß‘=HIOϋз»¯Á><„†çE°³¶àA¡!÷ÇÂÜ _¼¿ ëwýŒÓN¡üôš¾æÓƼ®íÃK1,00p EŠUrjëçs·>C†¦KMjík3ã…wtþîíݽ½û¾ø‰ä?Ro@ s«ûêTÛ¶{yxÓ` „46–¶XóÙV !‘ƒ]kmŸò¢|˜šÊ¨e!„P±J!„ÒpX4ò‘µ !äq¡–!„B!„P±J!„B!„P±J!„B!„ŠUB!„B!„ŠUB!„B!ML!„Bi°""">Žã ¾¦ˆP±J!„B! A0ÆRP±ÚŒP3`B!„B!T¬6v…EùÈΓ?²õ j5²óä(VÖiyE©Ùyr(+•.–åeÈΓ£¼¢ŒN,B!„B«ãóÕ"tþøG¶þÜ„Î_wüT§å÷þµ¡óÇãjJB£‹åÉØc?'cщE!„B¡b•B!„B«„B!„B«õMQª@aQ~–Ôê{ö7UV*‘'¯Sß×ê>¬¹9uzÿbE!²óäÔê{.[½ uY@c (UÔƒêý©ë{B!„Bš'ztÍ]ì?º»#·i‹J©± Ä"‘ÞrñIqØwdâ“â´Eš™Ì#‡ŒÃ¨À :Ën _‡]›µ"IMЯ‡/f½´@o½{nÇöý (Ul,m1çÕÿ¡£{½e3äéømÏZ$\»¨]ïÈ!ã0!xªÁõîŒØ¬ÝV©± ý‚1åùWÁר¿”ôdì9¸ ñIqÚb¹¶eCçÇ´±3pæâ)ŽŽ|ôî—xºC7íº6ìúq‰gµ…ª¥-d„B!„*Vïdž]«±3b3\Ü0bðL´0•!%ý:þü{ŸÞ²g.ž‚<;ƒú ƒ#*++°ïÈn¬ßµ έۢgÀù˧±%|¼<¼ñl¿M‘™•†2£áFŸ=†3F126–¶HI¿ŽðC;°ì§0¬û|‡N¡?m^‰î^½0{Ú(++±ûàVl _cS„ «]nûþøm÷/èèÞƒú¾8~úv܆‚¢|¼ºH»lbò%$¥$ o?8صŽŽÄîƒÛ`gc ÿ‘Úe³óäøió׈%8eehצ= 95 —ÏŒxv4Ú´n‹Û¥ <¾¨ãcB!„B«Í^Zæ ìŒØ /o,}ç ma8@JÚ5Ä'Åé,?)äe¼4f†Î´NÞ˜½$cµÅê•ëš{§™7»nƒ ¨±lþ7ptpÖ¾wqI!¢b!õÖ ¸:¹é,ïÝ¡þ÷æ§Ú¿{tñÁk '!ü¯ÚbµXQˆíû6ÂÕÉ ŸÌùJ»_ƒú`኷sÁÏŽÖnÛàþA:)øöŒ‰o Ã…„X½yªJ%¾Y¼æVz…¿R¥™çܺ­vz SV®]F'!„B!DõY5 &î`ÌЉzw0 ‘Iô¦U“·KK´ÓÌZšÐ<²å^}6}ºöתժ›ÿ–V5 ®)h náhci‹]ú"· GÛ„7>锕J ~&Hg¿x‘ÁÏŽœ»|ú®û%3•ÁÎÚ^Û4¹&'7½BµXQˆ¸ÄXt÷ê¥S¨B!„BÈÝÜ×ÕÛ·+šEP²²3N­ê^\)+•HN½yέª"U¿˜óí=ûìÆÎˆÍˆŽ=†ç à¾Cô <02P(JŒŒj}c©Þ4§ªbWž K[Ü̼hc`¿ªï¦Vï{5A­FJz2ÒnÝÐNË-Ì}â’–™ªYfh·K+åv—W–ѧ$i*”åÍf_)ïå#!z€ã¸B «úWËKšÕl]:t|?~Ýñ#¥ ˜É, 5–B4wNí¬ÿ+êd¦2|ùþ*„ÿµ‡£#±~×*ìŠØ„·Cß×6®O<ÿp7ÎÏ\ŒÁ·ë?GaQ>d¦2˜šÈ´, Žt_àiiù¥LÁ„Fò Ï— ŹtPIƒ¯¨:kÂWÉ”w„ò‘C—P¨X½Ë÷''cÈÉVœ-@“û‚ÍΓ뛆¤¤'ãÛõËááÚ³^Z mº›'GèüñzËKM06èŒ zÿÄEãû_à«5K±vùHMêuûó 4ÇÃÂLsçÖÄØPV¡ÿÝ¢TjF'ñšS¢XQˆÏ~\ kK[,~•NÛàP?ˆêÐ<º&AšEB(4M®%"Ý»àò[%š_/xüÛHvEE¥ô)I„ÂÛU碈ýÛ„w“òŽP>BHÍ2´NKqÂM¸~Ýp1êj§)Юf&4‰ T¨É©IzóŠE:'&_ÒpƒGëô1U×á9¢½½ûaÈ€aP”*’v­^÷AP«—pf2 ívµqt\HŒÕ[þúÍ«€¶Îí´++•xnÀ0Bõ~Ÿêh¯yï¤ë—õæj*ÝØU瀫­nãÔ›ùšvÝ*qjãødÐä|V^}J’!+?½ê_$‡(ïå#!„<žbµgr§¾xéJK•zó{ºt‰‘ ®f^FZöõF”n^½;#6£¼Æceþ‰‹FZæ eÍdšA“â¯ü7BpyE~Ýñ£Þz³óäÚç«Vû77 `ce÷PÛ¬®qçRP«±vçOÈΓ#h`ˆvz§öÞ°0·ÂŸïCJz²vº¢Tmû7@b$A¿n¾ mò›|Q[  j5Vmþú¾¶ËÂÜ ®NnˆKŒÕE¹¼¢ Ç›T2»ƒ¼’\8Z:hÀ4?ò•§îi_ìRiÅYª”¯¡‚úÏ‘'~aœ"Íy̲Ô&{q¬Í;ùUFyGz>Šx>§)ç#!¤a¨S3àË9;îö!'*•jß?ÿ¼‚.:ó%b#Œéˆ 'ÇúCßcÑ„åàyQ£ ЇkG<Ók þ>}3¿„ΞÞ((*@|ÒyƒðC;´ËööÖŒÚq,I) 05•!-3n.purÓ)v×nÿ çâÿAgOo˜ÉÌ‘‘•†¤”øtíÏæÆ÷òÑ7 àæâ 3™RÒ’‘'‡w‡îôÂÇÉH‚7§ÌÃÇß/¼O^G.}!ñˆK8‡bE!^á]í`O®áåá3NafØK°0³‚<;f2stóê²òºwS™2úU,ùæ=¼„¸ IDATÿå»èîÕ -LdˆKŒEo(•J(++}"UT–aó៓ú„èÌ‹ˆH0`_cÙŸ¨°…Ï|§(AP?{îZ útô§OKòÄœ¹z¢ê_ܾ¦¼ŸÚ¼cåiðù¨Ø BÈ£VçŠÒÌÈ݆•—©2²‹Þün8 éyéø·àº»õÇ5Þ'ãøx÷‡©‰ ùEyHM¿+[̘ü6|{?‹ü¢ÇÝÅö¶­`,‘¢¬¢ ÊJ%œœ1vØ ˜:ú5íz«µ~Ê}»=ƒ’Û%¸yëò‹òàÞ¶fLž¾Ý}u–í×Ã8,ëܹÂ÷¾bp™kò˜³ýcdç~25•àãO‚îZ°ÒÜüüó),[vˆ©ÕL Æ…Ü,ßßè/œç;OgŒýdld‚—Ϥ gòh/JÎüŽíǵšãFœþìæþæ‡ê¼“ˆ¥lÚsor”w䉿#c‚n®ùH¨X%OÆ=_¦°üj¬yG›òrU¯ƒ‘W V3ôíKç iÞÔ*óç…cÕªh0Ž÷ÎÍ‚ðMaß2¢‹b[÷3·P *Ÿ³×N‚1œŸ¦ƒNê• ¨ñËÁ•8pf'c`Œ{çôçi›k<ªóNT}(ïÈ“ÏG¼Ýœó‘’'‰î¬R±úÀœ­‡ ’ˆÅ›T•ê§À×× !#;càÀö03“R„I“•“£À‘#×°më9œ?ŸQ=ù õ„ÔÂqMöÂyžó žç7ªµtnÛý:øãi×^0•¶ ƒÔYÑí\H9c"9ëJÕ——Ä1õø“Ë3ã(BºyÇÀÖp¤¼#+yNt BåXÊGBÅ*i´Å* %E-g‰ø÷U*A"1.[¡];ØÚÉ`oß-ZSÄI£U\\ެ¬bää(p=9—.ݪ9[΀÷Ûæ—¬oLÏR}PšÑJ…YÏ-d‚`Šx>GÔïQ>*VI“(VµE«Eˆ8õ8^„±ã|Á˜ˆBLš°r0D‚çö eñ¶ÔÔ¨òfwñ<ÛÅ¢ÂXÇÀFsŒóg œ7ÄÜÈ·U%P1%Cç ˆ«À"8p{¤¦ü¶¨°ÔrŠÊýåüˆ)*ä¡ó‘ã•P>*VI“-Võ W±ÊŒoÙƒcÔ&˜4z ¼L‹ÀÝ4Kã.çìPPTþ»€.—ª¼!ðmØå|GSw»ö£§e–]?›uº°2[Ñ|sˆSp`rÆñ7MLÊâ¢Âr(‡(ï3cKésîc}LÄ2™ZP*¯å^J¾”s&­¼ò6Ý-¤|$T¬’æ\¬BÈݼòÊ+C8޳¿Ï—]_½zõ‰Æ¸¿«V­Ú @9Çqëxžÿ"444™ÎBÈÈÈ ÆØOŒ±}Ç}àc,Šã¸}¦R´¡b•P±J!€éÓ§cŒm½ß×1ÆÔÇù5Æ‚õÇôãyþhI*ûc¿öÚkgé¬ ¤~ìÞ½ÛB*•~`*p7, `ddäU£*ßé €}"¥Ri´¿¿?5%„ŠUÒ@ðBÈãÆó|×q'Ю1îóŒ3¢c15&‰„pwfõêÕGW­ZDg!'222H*•^ª.T”€€€€ïDx™'€9þ*//Ï9pàÀÞˆˆˆÿ³wïqQÖéÿø_ï{ä (!ê¨äZiiaiZAêÊp0Ýu[kÝ79˜õ«6ûh‡ýE[íêGûdåu³³™®â@ePijâzH u4DLd@ F˜¹¯ïshÃõ|<(gæ¾ç¾yÏûîë~ŸÒôz½šK”1Æ®-ž”1Æ:Îb[Ý$ï1b´Zí!ËÏ;÷^FF©cÌCöÖT"Jnð񨯯Xçq˜sðkw`wü…‰@¯×s«+cC!*¸(zîÌëp©©©ÏÛÿð\dN÷VWýݵZí¢ZجX±¬¾¾~ÝüùóyÂÆša› Û´.9B,ˆ‹‹{¥ÁöMunI5åØÿ—ÁŸcŒq²ÊcÝ–@k'‰Xžžžþ—ë©>~ €X[Ø´¹%kÜrטˆæÆÅÅÅÅÅm–$iç÷\d2™ôYYY¡üÉ0Ö!2dÑã\œ¬2Æë ²,¿Öà©åçλQ±Éé¢9=""âNXYOGD¢…mr®ä½»7\OuÊ”)GU*ÕÛ$Ov“”JåþìììQüÉ0Æ'«Œ1ÖíÌ›7/ŸˆöÚÕ´´´'222Ì%%%Xët>ƒVư@ˆ-&ŒpÓ-¸¥%kZ0À.wë©ÆÆÆVÇÇÇ'ÁÚÂc§–$é«;vü‘?Æãd•1ƺ£Åh0ëoFF†9---Àrç„õºë®ûhåÊ•þ\d¬§Ñëõ³…‰öÇBˆßÁÚ-¸Øi3O—¬qK£ÑT*Ulsë©j4š„‰BûZÉ*!/kÃcœ¬2ÆX÷“žž¾­©YmÏ/wzjšR©ÔsÂÊzX¢ª°Â)Q]®Ñhò5Í.³Ù<¿ÎìÑ’5͉mq§¸¸¸lcˆè¨b‘F£ÙÉŸcŒq²Êc=Ž-aÍpzj'¬¬‡y€½¾úøø>~I\\ÜkynÍufŒ1ÆÉ*cŒõ©©©¯¹IXó8aeÝUnnîp"ZìôÔKñññ{¹dc¬gàY%c¬‹%¬™™™ÕBˆLÛwøp[Â;þüÒŽ>ŸŒŒ eÿþý£‰h(ñß”ž© À¾´´´6d(//Oi2™Þ !Ä!Ÿ—»ZáìØ±c,J;Ãùäåå)kkk£ BpÌö@Bˆ²úúú}III<1ëüõ•‹€1Ö ÌÙ³gïB45¦ršíçJ¬°«¹ gN—ÝÝËX§Óýžˆ6àכޅ …"iîܹEqü•+W†+•Ê…’q­gvѲôôômmñfz½þyü:VÛ$IÒ˜)S¦íb‰j¤â ¬KìüA£ÑìºVç’®P(H&"ŽY»„Ëâââ¶uöÕëõdû§A£Ñ 掓UÆ»biiiÑÚköÅ&Ä$­VÛígçt“°–ˆMKK+lÏãjµÚðë„7G‰¨@™¢š# Ç"¢ !D$€±öú@Dë-Ë£óçÏ¿âº=J’¤ýöº-„XÐ'2Òëõ{lef!Äãqqq+;úZ¥RÍë¨É™rrr1 `“âiFÃ1ÛÃååå©L&ÓlË$›L¦+ŽÙ’aû»SÁŸ^ÏÂ-«Œ±öJ¤†ÑîJXeX'Œ+T*•±«V­*íIe­Õj'Ðã×»ä¥D””žž^ЖÇY»vm”Åb9h;Îsiii/sMg êâpûøÑ´+é¬×ë—X`{X `¤F£1tÕ2±uÞ Úéé"š_ÜΉj´}ÏÅÇÇsÌ2¹¹¹ÃeYÞÀ_1­+t f= ÏÌk:®P1žˆÊ9Qm_iii»hðkw¾p!Dž-‰m3f³ùY[¢ú.'ª¬‰ºXhO4… ® QÀ1ãµbQWNT >>¾X¥RÝ`½ÓÓÑBˆƒz½~b{›ˆ1ˉ*sgÊ”)Ž˜%¢\"Œ“UÆ'¬œ¨¶KÂ*IÒdXÇ­Âvªo«„uåÊ•þBˆYLf³ù)®Ý¬)ÞÞÞoÁzãd‚V« õt¿¼¼<Žî¿D´ýZŒïl±±±&F3À\X'[€P9999O¶Ç1må9 €I–eŽYÖ$•JåˆÙ¬¬¬P.ÆÉ*cŒVNTÛ\JJÊ^± VN7åjßÛËËkŠ-‰Øu-–Èa]Çœ9sLìk¡ÞÑðõ;vü);;{TÃçkkkÿ@ 8Æ¥Íëne£ÑhÖÑ]N1ª$¢ez½þ¼¼ò¯º¨ºOÒ} LƒÀVÃŬm­ÙG"¬;iÌÚåá>ÃAx ½†òí/´æ…$-„étùÇ÷ø÷ NJƒÀXCy–Û¸Ä(OûÿQ@Ì `„PP¢½‚äu†Š‡:¨Æy°Íz__ßG{rkªÉdz£-Ñ0kÇŽ+ããã÷¶÷¹ut̶2þºmÌ `dË[³Œq²Ú]¤¤¤<&„x„Ë“±¶!Ë2 55• £‰kY!D†V«ýГÓÓÓ·ضzõêI’0ÍÃã<·råÊ·æÏŸßnɃ,h" „µã· ‘|*$à¨Z?ÙpaÇÕµ°D2ˆ ¶µfYùpI¹™]ðâ¢YWT®/öô0 µºOR' µºOÒp"¬Ö¿=.|Õañá‹R/@öe`ª ¢B€¢!D4 Eú ©‹[s¡}%òòò”&“©¹dµÀ#=½5Õ®ÁzªB¼`L»?·³†Þ‡ÔŠxM[ÅlkâïŠbV¦ùBˆÎ³@4IŠG:"f¯Vvvv¸$IS8¦'«„b1ž1Öaˆ(À‡­ÙgÞ¼yùòW¯^=Bñ¤bV •Jå“^h÷ßâ%ç °}'J$V`,Š-Æu…ÏE!‰-2Å€ho‘Ñõ¢WšC²H8]žõTóŸ­XqSØv»ðQu …öªhâó»)ìþ5S@ÃqHò‚3·ï€aI¡uÞxRôœ:8©Ú`ÌZÒnwVšY²†ˆŽ*ЦL™r”£ÚQ&‘Bˆ"Q­Ü5Z¯×?¤ÑhÖuÈyº‰Y!‹L!hÌŠÄv‘k¸÷{51 ÂrOb–ˆÞ-Æ,B¢§N—mÏw³ƒB¦Vœ.ÿø•ÎTŽyyyÊË—/O0×6™Z1NVÙUã1«mƒUÆX—ùÞ™7oÞÑôôô9f³y€å*šÙüñ•+W¶ûä-²K·Á3·ïT(Dfc‡'Œè Êɲ N—g9mÜþh£eñ¦´ Pdlz¶¹íOMGn[j,µO ÐOás—=Q€ª²Ê ³ža‘­ð3¢B4‘íX,MW]ïëë;ŽUWñññ/k4šë…×Ñ"xÚªhõÒ–-[‚:$És³B‚5fbÔ}’†w…ò6”gí½Ú˜ n)fÕ}’î“ZŠYŽú+T±[¢ê.fè%uX|§˜T+77w¸^¯ÿ—Édú‰ˆ¶Ñ4pckC\™Úø;O§Ó æb`Œµ—ÔÔTj«÷š?~)€'Þ|óÍ._¾œ&„x@à   ¥R¹°…„¶]œ¸ðqÑ ¤C¢-BÜ M“uд uEEukÆ× H ¨ªªh‹1yîª&` †'¼w˜ÝèwV«cTTIËAȇ .‰f b”§ ±öДoªµÇ`ÌZ¢™: QõðJÐ.] ‰(Q—þ¢Üí×qqqE–X’••ªT*ïB$Qš¾Y®R©žðÔ5¹º˜U¨™zÖn¬¿PØ“bVÝ'é-ÃŬBw1‹KXB¾j.fIG1KåüöŠÙ–äååù›L¦ß˜+ËòŽVÆÉ*cŒ±v3gΜ KÞ|óÍ×._¾ü'!Ä"¸vA|ÀªkqnÖ.s"©ºQÂv)àO˜&#¨m­°…‚°Â`ÌÒ6õžƒú$ÎI‹K¤!$jL=D —N—gmn"ÙRê“ô,H¤×lû$íä Cyv®Ëy…Ňìø‡ åYO€:$éUFÙo¨ƒ“ò~}sË &LQ !ƒh‚YH«ÜÕè|ªžQ=' 7º  ˆ@(€Š†ççÆzËØ¾>>>!Îq·ß+“””T`€uyyyªË—/O±uµœëgíìñÜÜÜuö±ÿ× É¦¶ŠYuÈÔÇXà³”ÑÔ8ѦbVôœs/ƒ¶ŽY"¬i2f5-"ˆe¢é˜-mx~MÇ,MêèduÇŽc…™L¦™h¢k?cm»3Ƴ'­¦ôôôuiii×Ñ4"²Ï,ªBÄtôùD…h" 4¼Dýa—‹¿KÀZA˜dÝù(0™êऴ&ÒßtAb Ú.úö4J›…$ýÞ}ÂŒ—á%û>dmáK¶«C\»¸Ö{« c»ÐµŸm8Ôd¿A, vüHІ-d*õÅKïP € ê>Sg7,kW@qH]^½Ù}’€[€„ÝGeóÖ]¨]ºYûûû;¿/wûm±±±¦¸¸¸m&E£Ñ„Ù’£ÅŠìñ*Ëò«×âÜœc j“˜%™žhyØa«ºOÒ}MÅ, cVÈiǘ=*€ ƒ‚ÿÔ°Lá9 åÛ? F]îIÐm¶˜-ð4fçóm?ÙÙÙá999Oêõúï…{̽F‰j€ !ÄrþèY¸e•1ÆX# g¶Cê0CæF™-ôŽu!ÚÐp†NÑ»ê=ºP!zWeŸ6ä;ZpÔ!‰Ä˜À]KM83N—ow$zƒB¦¾(@Ïb9€Ís?„’ IÎ-ƒ‚ß°Î/-pCs¿‹¡|ûÖsK:@m(Ïjv¸H>òÍj$= `-SMÛf¨ØZõBù/Að‡$?aÛÎÍ•:…‚ÐòÒOA¿âR TMS*¶Úòsôññ îöÛ®4Í.Xǵ>““%Ëòï…‰BˆaDÔ¡1[o¡ì1Ûp6`…êÃj‹©Õ1+¢ÇlÒR, Ëàfvo[ÌÆ9ǬºÏÔÕ‚( -Û1›`b™:hZ¶=fÍP, RžhjA¶ÖqB©§1 @¢‰lÍìÅžj8Y]q¾““ó=îéöBˆåqqq¯¹©ç/p´÷LܲÊc¬IóæÍËOKK›NDíÜ X$«ƒ“òÔÁIyê©-úÀX}æ§ðMit1iÈ7.ÏÚlpºè{k£h0&Ìé*vkÃË/½`]Ç"ÕAñ[+64ìš'«Ÿ"k6¼=&’1”gí%`­B¡ÿX×·„Y±Éyò•¦Q‹‰gÃòkÓOTH’"IÒ8NT;F\\\Q||üFs~mií®µ. IDAT°˜@tS1{ìÂGÕW³±©qÌV=M@™ˆò4fpé ª0B4MÝ^1 ܳêÐÄ@ÌhC³ë¾ )ÜzÚTÜš˜5Ë>mÞèDDCM&Óm5YP{úcÛž1NVcŒµ*ñø¹PA‚Ìn›œÅÐÌÓåÛ'·¸„‹“'QtÈý>"HH75¾îŸ¹½`°'Œ¿iñ©ÇÓ”Ñ\uÐ4µ,ð,“%'ÏA׸ÎàüùóK¹ÛïµADr‡Ç¬À´6YPN›Ç¬ÂrK{Å,€ "𢉄,0AV>ÝÂgUmK̯ù8P!Ä ³Ù‚°ONrhT„<~Ÿ_»Ù¶ORøCUVÙ ¤EX Éü/@ÄÄK§[èªKB˜µ¸´…mmG€·ÅRݦŸ¨,C–e×íž³D"nºåºÖ·Ú„ÖĬ¢‰dÖÖs@UgŠYupÒ"!iëþëQÌB ¸ÏÚè{/hZ`±?l—YÚmz­°2;;;Z1[’¤YWÒêië¾Ë]xÙã–UÆcí/Ó<& ì“8ÑÝ&C‚“&Ð¥€Ÿ±AXg+ ‚ÖµE [$I§Ë³ÖØkíJˆR…Ï’w"ûr!¢Å Xjêkì³>WüP•UÆ•]MÌ ÐsÖ®¯n’¬ÐĘj‹éTÓ1+*ºCQØf5nUÌ ¢"OcVRÊŽ˜µ‹mO ñññúøø\GD3|Æžq²Êc¬Ç2\Ì*´Îä YdªÕ1.-'7…ýÁ_ÈB:zWʳn0³b åYãl [i«J¤¶þCöx?Ö–!’Ñ®Iž$‰G 0CˆEžt¯²â€íŸÃ‡†Mj~c…}fÔ½\óØÕÄ, ¼dkÜÅ,d±¥ù˜¥V&^B X×9í¬1KD <ê-+÷Ùc¶¥ñ´¢k³±±±¦øøø5Ídƒa·˜k?ãd•1ÆX£6V½ˆCB Š.õ~ÖùµZ³i€ { Æ,­ó„#1ˆiõð–Ä( ÒP(¤Ÿ:F%@(ÍZõ»5¸oÉɲ ’g¸ø±G“*¶Ⱥ$,2žlî<Ⱥ ˆè]®uìj ¾Xµ„€£îb¶†j£Û:fŒmèµw„˜+‰ÙÖ²Çìiãö÷Z³PÈ ›ýd$_ë˜Õh4Fó‚F£ Àt“Þ,Œ“UÆc¬EÖ Thf€ Nh´¨B^肞lí± ÁOÚÆŠí=qácfPµ]Œ賆Kt4¹Á ŠšÞ‘­=Ç“e´j¶ƒ¦[—q“ _êýŽˆP8ØXý!×:vµ1+€{Ì:Ï’-Y¬ãNÝS½’˜=Õ'`¡E‚ïérKt©÷³Âº>hާ1k×b…6ŽYwk>wÖ˜Õh4¹æ³Ù<€'ebí'XbŒ1Ö)ʳöªC’VxÜ"¤5Æ€XU@—Ê0üTHïÑÔõ¤ $  ”DS‹ÖKÓõI,Ç@"€ Ì" Z!‰G›È2ÓÕÁI*(è8H‚h&@3 ¨¢‰}Ü… D™-´P’´Ž€þÐpY޶pÚøq¶:$i9€Ç±A’8 ÀVY L"i„H Q¶ßûÏ-ÏÈʘg1;(81SñÖ¸«aÌ ™úbª¦âoPŸD瘶˜dyÂý.4×9f‰Ä,Û±ª…hz½S7 ¨-2ž:uE¦A³Ø4¨OÒ» l%A‚¤Q§@É4‚€j![èl1ëfR¦)Œ“UÆZ!55u‚$IJ" $¢ "*U(g333¯É² ÉÉÉ*•J&“©týúõÜ…†±üª¿×XLÓŒU'¥Ù» Nš. d Ð ̰n-J,!díÞê Ä!"” Ð(AbÈö´õ¿‡Rµ„8öÁXŒ…,ðë^âÍs ; =ý]Ñ»€HÖ®·smï–`s{”¡<ë‰A!S‹è9Ûd/3%ë,Á°ýw—’äy'ʲyiÖfü•¾OW[.O  ƒB’:]žµ®¥˜µÜX»·º‹?Ab¬Û˜-ßqÈMrY!€ ˜`YB¶¤´&fZˆ8¥Ë„ôŽŒYA˜`– Ñ8f+vtê˜MHH(€½[3cœ¬2汯dYvú;( Ë2RSS‹,ŽˆˆÐfddtØJ•J5V–å<Û¿cÇšŒõ²ò-(Í_À¬4¸{ùØ…ª‡†Ml!9R‚䘨ä¤1k×MaP#›&"B>­.«Þ•|³:,¾H”ƒ¥½õÁp1k[ b²Ï„ö%~]—Ñb>l¨Øá¶Ûš}CH@4„ø ,›• Ã'ŒM$xA¥¨ö…Y®h|!ºýÃ!ÁIg-î “€å(z×|rÇ&@"U+K°Ù}N—üÊMaÐÖȦ‰D"J@ö‰RäÝMþŒ]}ÌÆZˆ"­ˆY”í.þƬB¶hªîÊ·ƒ˜Í:f%ŠmîeŽYÆ8Ye¬¡H+Ξ=à­Ù1==]-Ëòï…#´Zí.JÆZÇ6ÞÌÐÜ6¶q¤Eî.Šá´¦£ýMlãÑJ¾i>òÍ(C«îøç#ߌrì…‡3oÚ&ŽÉoêõ“Ƭ]v9ž(w¾0ÎjõìžžìSm1½*QB B’! ¦F®¬sÅ,zBÌ–mÏ÷4f!Q5 ŽB¢ãŽYÆÉ*c=E²N§{+99Yåãã3…ˆ2„ !f¤¦¦ÎÖétoyúFDô<€d"2p±2Æ:#L‚€Úú¥…8 b] ¨V‡$í!B>H•Aiè×ãñc­Yaíý›j³’¤¸ ©8f'«ŒuS¶1¢ÛÒÓÓOȲ|Ðx RSSC…ã '"3€/t:Ý.HIIù=ÙgôOMM J¥róªU«ªzè¡(¥RyÙgD¬¶X,ÛÖ­[Wä&éU¤¥¥ý‘ˆ&(“$i³óXږΰŽõööž ÚöT!í\³fÍ!§m‚¼½½ÿDD#@’¤‚Ë—/¿Çãeë¾üª‘Ç.|T­‹'‹b¼b’ Š8û²°´ÿ1ÖYcV– à˜eœ¬2ÖýeffMIIÙ%„ˆ0*999H©Tú8EDb$%%å¥5kÖü]± °µVX§ã_²,‘–––@DˆÈe_…B±8%%%qÍš5¹ ’ÕLŽ©ñeY~.55ušN§Ëž;wndSç’ššš¡Óé^ÈÈÈP–””|唨Zÿz ‡~øºU«V•¦¦¦N Ha?.¼½½$''[¿~}×ƺ[×K{WËͶ¨ƒ¦©I˜ÇCHÃmK÷TÂÀ%ÆÇ,cœ¬2Ö‰ØÖ‹¥R9|íÚµ{ÓÒÒ ˆ¨ÖJ³b&€(!Ä‚äää—a£ÀDD{@’$“ÙlÞ  Öq.…B"J‡u·Erœ‚ÀZÛqæÚbs9€ìµk×§¦¦…ux˹X”œœ¼äܹsãÕ „#dYV¯Zµª499Yà#Xe7Xf;÷ ý¼¼žðw® ŒõžŒ=dŒqÌ2ÆÉ*cמ£UQ©Tª@«ÕŽsÞ 55u/€íT*•*<33ó´´´7‰(@éš5kÎð7ÀùAZZˆhBíæø‹t:Ý+¶íª‰h€¨‡z(jݺuE:ntsçBDÎ ­çèt:—Y½¼¼lI5$Iš“™™™o{ŸHX»>Oà*ÀcŒ1Æ8Ye¬óq${‹¥Â))œ@D· !‚„ê†Ýz›cC:Q1‚ˆT²,GÛ»ß6$IÒû¿‰(À[’ ÛŒŠÍ‹b™m1½=55õ3!ÄÚë®»nsFF†Y1¾­,Ë÷¤¦¦Þc;Ö¨¦Î‰1ÆcŒ1NV»Æ„ѶäÏ\___øðÇ›Íæ,ÑÎã;=eú€pû~ž&…’$Õ8¯ëɹdffRRRf !ÖÂÚÕwM:{öl~FFÆä’’çÍ3œ~oû1«¹0ùs°–‘?ßë4ß8f·³.Kâ"`=ÝܹsÇÑXÛÃÏÖ¯_o2›ÍKaZ à.N'$IŠuJ(ËZxÛ`ív»K’¤Á:N8%‰e-\ä µÿÛb±T˜ÍæWíç"Ëò¸†ç’™™i€5kÖlV*•$8j»H‰9wî\‚Â>Û¯)""ÂK§Ó ç­V›Ä5µÀlû(ó@¨í;ÈÌEqÍn˜mÿç˜eǬ½Þ0ÆÉ*c×Xrr²*%%å÷’$mqJB—Øþ9ÊöÿRûò0²,ßcßnÕªU ["C322”€µ%@¤íù‚ÌÌLƒíµ ¶?M¶bfdd(mc` ¬ÿþGñëÄIÅk×®ÝÛð\ì~øáðU«VUëtº·êêêîrº`‰Ä¯ ª«Îž={Ÿó~©©©|!Ã<¹ð-²ý?šKƒµDmûÿ .k†c–µæ;Þ^O8fYçú{ÂEpõRSSí}2 :n0—H§ÿœšòœN§{Ù¶ífÚž·¯S:¿vÓéteiiiKm“!@!MBèamY5Ã:kp¤íG à¨N§™žž#Ërž½î‘Á6ù’ÚöÜN÷JJJÊGBˆ Îe8¬³ùB©TȲ¬¶­›/„8DD£L²m{WDDÄÞ’’’omû™ˆh»¢È6ž6F©T^¿jÕªR®%ü}Ó­V à€jooïsæÌ᥎˜[k×®²X,?¨8wî\XFF·Ô\YYY¡J¥ò€j“É4`úôé³Ì­œœœ("úQQáããË1Ë: nYe̺´Ì4{¢ ‹åï°.=X[Y£ˆh&~½S Bˆ·˜œHµâ!DºíyG‹ª"ζ]¤íì­¬jÛ:¯jÛ~öÙeY~Ú͹̲ŸK}}}ÝdKŒ'Ù’çI¶c.Óét»l‹Óaò^eK~Q"€ ³ÙÅÕ€5'--­ ÀVþ—/_~–K„5E–åÙþ¹žÕk'))©L±€¿J¥â˜eM""GÌr¢Ê8YeìZUvIŠBL‚uLg²b€t:Ý Z­v›ó¶ëÖ­+ª««»À]¶ñ¡ƒ×¬Y³À8I’{yy@ffæQI’n°¿§$I#u:Öö~lûÞUWWwƒV«Ý)ËòI’Fgdd(׬Ys¨®®.L1Æ–|ÚÏi€N§{¡¥sQ*•wÙÏE«Õ~¨T*Ãlû'Û~nÐjµOÙßG§ÓFDD\ODqömdY1ØÞÕ™±æ!^`B,Ðétâa iµÚg‰h€j³Ù¼„KäÚ²X,/Àz#sÁŽ;8fY#;vìxÀ Õ‹…c–u¾k.‚«ÇÝ€c=åûF«Õΰˆh™ÏËÜ%˜­\¹2\©T.0ËöTbZZZ6—̵—““3ŸˆVØ.3™L/s—`–.I’#f…‰qqq³Œ“U¾xdŒ±®ý}cKX—ÃÚͽšˆò…°ÎtÍË õ” !‚„ÚfSŸë8új!Drjjêf.¡N—°6ŠY!DYs“þ±î³¶Ù¡Ål\\Ç,ë”xUÆc­’––¶R§Óí&¢çLB$Hä’éY¬÷l&¢õJ¥òå¹sçqét.qqq+³³³w+Šç‰È³­Y?œu¿˜°^ñr\\Ç,ãd•1ÆX÷‘ššzÀt­VJD…Qü7¥G^üš$I*ª¯¯Ï?>·Ðub ‡LÏÊÊ U(D !8f{hÌúøøäÆÆÆrÌ2NVcŒu_¶Y‚?ä’`¬kHJJâ˜eŒu<0cŒ1ÆcŒ1NVcŒ1ÆcŒ1NVcŒ1ÆcŒq²ÊcŒ1ÆcŒq²ÊcŒ1ÆcŒ“UÆcŒ1ÆcŒ“UÆcŒ1Æc=¯³ÚARRR¦!¹$º­:n×'ÖëcŒ1Æ'«=TZZÚ‰h—D·fIMM鈃ë×'ÆcŒ±ž€»wŒ\Ýž€†ëë‚õ‰1ÆcŒ“Õ,”‹ GèËõ‰uÁúÄcŒ1ÆÉ*cŒ1ÆcŒ1ÆÉ*cŒ1ÆcŒ1NVcŒ1ÆcŒ1NVcŒ1ÆcŒuK¼t cŒ1ÆXréÒ¥PY–ï!"5…ÛÖÝŽä’aŒµ†¢”ˆLDT$IRa]]Ýî¾}û–r²ÊcŒ1Æ|8úõëY–QTT„÷ßßq~~~ˆ‹‹ÃÈ‘#áë닺º:œ>}ï½÷žc›Ûn» S¦LA`` Ìf38à¨Kþþþ˜={6èHÆßyçœ?ž?hÆXG%ª/Hæ’`ŒuB———›CBBžâd•¹2dˆËãŸþÙѺˆY³faãÆ8uêFŒ3fààÁƒ(**¹sçp÷Ýw»$«wÞy'Nœ8³Ù ¥R‰àà`H’µ¡]’$ 6 õõõX³f L&ë˜ê¤¤$ 2Z­.\ÀwÜ™3gÂh4Â`08ö ÄÛo¿‹/">>III(((€Ùl†··7î½÷^|ýõ×x饗0pà@$''cÞ¼yذaNŸ>»ï¾“'OÆ®]»PWW‡áÇ#!!7nDQQú÷ïÙ³gãÔ©S8xð ¼½½1fÌaÕªU0™L˜9s&QXXˆýû÷ƒˆ7:Ê`Ô¨Qˆˆˆpt_íß¿?ÊÊʸ²µ’=±;{ö, ®®_~ù%Ξ= …Bûï¿S¦LÁ»ï¾ ˜1cú÷ï­V‹ÒÒRDDDÀh46z߈ˆ$&&âí·ßvLâd4±cÇœ?˜={6î¸ãäçç’““!Iþýª ă>•J…ÚÚZ 23fÌÀ† ðý÷ß#""ÉÉÉ8wîöìÙƒ»ï¾¾¾¾X¼x1êêê0hÐ ·çÆcí¡¼¼üOžã’`ŒuVBˆAAAr²ÊÒÒÒ\oܸp<ÎÏÏw´Líß¿“'OFDDŠŠŠ°wï^¤¤¤ _¿~8þ<‚ƒƒ1dÈlݺµÙcêõzGk˜R©Ä­·ÞŠM›69ƶæçç㦛n˜1c\Z#7lØ€’’À—_~‰Ûo¿}ûöuaaa Cxx¸ãµ¾}û:’[wÇ­««`munªeìðáøóÎ;±páB|óÍ7ؽ{7Oä^½zaΜ9ŽD×®]øòË/]¶8p úõë‡ÀÀ@G¢jÿÜ$Ijv2/???Ìœ9%%%ÈÍÍuýÂR*1tèP„„„ÀÏÏýúõsÜ CMMM³K0…‡‡ÃÛÛÛåæOpp0JKK7JæÎ‹ÿùŸÿÁ7ß|ƒ}ûöµéÒ<Œ1ÖY–ÿÀŸK‚1ÖøxÀtNVY›øú믑€íÛ·ãöÛoGVVV«ö÷òò²ßIqy¾®®JeûW£ï¿ÿ¾Q‹]ýµŒF#^}õUŒ5 ·ß~;&L˜€+VðøÄTVV6šÚN’$¤¤¤ oß¾øî»ïÝ„ð¤®Øo²DDD W¯^Žöñ׋'Nœ@MM |}}]n08ß`qG¡Pàĉ.½œëRqq1–.]Š1cÆ`̘1?~<^ýu·7Sc¬­\¼xq,€\Œ±.dšÑh|¨=³÷°X,˜8q" Ž;ÖêİΪë,<<üª“Æ–ØßÿäÉ“.?͵ yª¶¶{öìÁo¼ÒÒRŒ?ž+ËU8p † ‚×_›7oÆgŸ}†'N8^· îׯ_³uíý÷ßG}}=fΜéK}Ûm·Á××Ë—/ǶmÛðÙgŸÁh4:–qª««C`` #Ùu—ÛëLsu©¦¦ùùùxíµ×P__Ñ£GóËkW …ây.ÆXôl{€“ÕÂ>ëé„ °gÏ—n¸ž&u?þø#bbbÉ@¿~ýpà 74jñlk‡ÆèÑ£áx.""‘ÄxÊÏÏÏe©ÐÐP—dF’$ÇdRìÊØëUŸ>}X»a;'{ÕÕÕ())ÁäÉ“³+•J6ª¯ï½÷ „{ï½×ñ¼——zõêåHŒ###¯9s²,ãî»ïvù$T*6n܈#F`Ô¨Qøù矋Åâ2k½ââbüðÃHIIAee%$IB^^¢££ÛlÞ¼ÙQJKK†üü|ÇŒ¾veeeØ´ifΜ‰¢¢"8pÑÑÑxúé§QSS“É„¼¼<°vOÎÍÍÅ”)S //¯F³;8pjµiiiŽºŒ5kÖàÌ™3HLLÄСCçuéÒ¥F]†c¬-™Íæ)B¾cŒu9D¤²X, Þj·„˜‹ùꥦ¦Úrt:Ýà†¯§¥¥åQÌ•¼···7üüü=___ï²tMmm­cR!ð÷÷‡Åbq™t€cF`—;J%3 J’„ÀÀ@Çcg’$!22¾¾¾¸xñ¢K2ÐÔ~ÁÁÁ¨ªªr,]ãëëë2°á¹ÚßǾó¹áòåË(..v¼f/#牔þNöóèÛ·/***eÞ½{Ãd2¹¼çZ«ÓéRÚ»¾]M}ºZ¾¾¾ðöönq gDD”J%JJJ`6›õÂù󉌌„~þùgÇgççç!„Ë8Tûz¨555Žú'Ë2Š‹‹¡T*¡R©mß§OÔÕÕ¡¦¦‹-ÂâÅ‹]êGhh(BCCa2™PRR7AEÛ IDATâˆI’üòË/(..¾–-«nëSKß7Œ±®Åh4~¯ÊëºÖÏi¯7ç;y\]]Kꎻġ©YmݵDšÍf— yY–›œAW–å&grmj?ççÜý> ϵ©÷9þ¼Ûów÷ž 'ûy4|®¤¤Ä1›,kYmmm£ î4,Ó†uÔl6»]²ÆÝÌ»Îû6¬f³¹Qý©¬¬tì3zôhȲÜè}ËÊÊÜ®©kO‚c¬Es0Æø;Œ“UÆX7ƒ¨¨(TVVÂÇÇ7Üp¾üòËoø0ÆØµ"„o8Ó>cŒu¡ï°(NVċÆåË—áççY–ñõ×_ãäÉ“\0Œ±N‹ˆT\ Œ±®üöóÏ?û÷íÛ·š“UÆk†ÑhäI²cŒ]3³Œï¿-Á¹3FøõöÁM£"ÜËe›ê* Ee°˜-¨¯³ w/†þ¦Jëlô?ºˆò²¦¯ûCBý1`p/ÖàüÙJ ¿9¢Ñ6gÏñãwç [C~Óê¨0—×k©Ç±ƒ?!züFûVW™p¢ðK¿àïlÄÒψё¿§þú>ùö™FÇ~gÕW öÅüg¦4zí©¿¾‡§^JÂäûFzT^Ÿl;‚wV}åHÌ.Uü³YÆ´Çà¯Å8’wgû¾*Âk/èñþgº¼žù¿ŸáðþÓ-–™]Ùù*<3oÖnKCÿÁÍžgyY5žúë{žïè(û—ŸÚ‚¿<|w³¿û×y?`Ù³ÛÁ¾(/«†Ê×Oþ#·ßmíI»~Åèè‹g–NsÙ÷…Ç6áéÿ†a7]çx._ÿ>\·ÇåóïŽ8YeŒ1ÆëFv}Zˆ¥Ïe¹$*_o<³tšK+Ì?ŸÚêöé¿ÿ„[Æ B}Ïÿáà>ƒ#±*/«ÆÐáýðú{Éxâ/oã|IÓ³Ãÿùá»ðçyw5ùºÅ,cÉÓcÞÂɸkòp—×¾;\Œ§þúž#á²'2³Ò'à”ñ¿cÊJÇù^KÕU&,œû>ë‹76Ì€ ³Œõ+¾Àë/æ 0¸—ËïÚ7À‘dTW™°æ•ÏñâßþƒµÛÒ°à¥DGbu¾¤ž²ïäÎwÛšÙPæÿ~Н>ýKÖ<èh5,ÝvÉÞãѹzú4u#ãÅ¿ý‰í(»ê*–gìÀ Ol†nK*ú Æè;ÔØôÖ¾F7Ξ1âëÏpIVì?ƒè Cºý÷™Ä_éíO–åj.…¡’ëëjõ‰1Ö}½“;ïäÎdž¼Ç1lÄuxéÉ-¨¯³4J(?ùö—{â—»õ0Žü «?zÈñ^ï{ Ï.îxû>O½”dM&œÞ§¹Dî3 ÒøK³­ˆ¯¾ý¼“;ÿÙý$Òžš„7_ÿŸgëte½ñ Lµuxî•éŽÄO¡”ðÐ㱸eÌ ¼¯ÛÝä¾þ*ÙzÄ㱫WcßE˜þç1ncóΉÃph¯ Ž Ch¿ÜkpÄéî? îw·àõsp¾¤ý"ñÓ©‹¸TYÛîçÍÉjϳU§Ó½ÅÅн¤¦¦@ ×'ÖÅëc¬³'A~žO><ô7ýóŸÃír1_]eÂîÏãÕ·ÿ‚C{ ø<û¦ÏÓâ~~½UZ‡;ƒŸN]t›$ÀßX“ÃâSån'C€‚Ý'Q]eÂð‘ý¯øŠ á r;É—·‡„â§S}Æüë8¼ö¸itd“7"Ξ1âèÁb<³t:Ξ)Ç¢Ô`¼XãñdJ­5tx?Š.¸&ËÛŽà·÷ÝŒ›£"0¸¾ÈýSgÞÖê÷þtÛŒ‹¹¡ý0fÂP|²íˆGõûÂù*—Ç*_/’åê*ª«Lj2β7t<3a(î3àCÙù*œ8~GâãàëÏÀôYcP°û$náQ÷í®Ž»3ÆcŒuc?ºˆ7ßøÃoŽh4™Ì‰ÂóøtÛ·ŽŸ¯>-t¼¦ùÝ(Œ= SÞDzç¶ãìc›S¾þ;ô ïa7]‡{ânô¨;¦ñb Žý·ÃGFtÊrööqßdOh._®w‹óg+Ú¯·ãñçÙÇ0@ÝgN–áÌÉ2ôëˆÖŸs»¤Ksö~ñ#~©¹ __oÞÞÞÖT苜cˆûݨf÷½Ò –zYoV”¿äöuç›=~d™pô¿?a×gÇq‡m"©è Cñá¿÷ ºÊ„#ûÏ`æCwr²ÊcŒ1ƺ¦g¥cÿîX²hîMá¶Ëæô?iv"$ûXÑ„£ñyö1¬øg*µ–ÖhŸN]Dá‘L{pŒ#ùéˆO?þ¶Q²ªß|²EÆu‚‘xÿ­˜ú@t³ëp^+ƒ¢ÂpÜiRœ†¿¯B)aÀàPÇs!¡þÐmIiÓsˆŒú: ~8v®Ñ¸äú: Μ,Ãoï»Ùí¾ý"1oád¼öbBBý]^;¸×ãÅìÞy»wÿ5¡,©t{¬«U_gÁ‰ãçoMÞ-fŸe} …R²ç¶;%ç^øtÛ·HyòÞVÝ$éåçƒÿ{>Ûñœ>Ùz¤ÅdõÊo"x!¸_£É­ìN?ï’pû¨pÃÈ=øï?'2â#FGÂ?@…-ïî\c8'«Œ1Æc¬kòòVàÎØaøí}7ãÕçwà¦Q‘W4!=i|ßHkkë¢m˜·hòWüdÛøöò›¯ç;ž«»lÆÎíG‘ò·{]ÖÏügæÌ6›Ð©=½' ÿ÷ü·É›~óAGWÎö4úŽÁ¶îH£sÈׇú: î¼wX“ûÇýn vŸÄöÿmôyÅÄÝØh)™Gf¾éöXWkú¯ÀÑÂàë“0ÕÖaÓWsiÑßôÖ>|ôæÞ&×dmÈx±»Oâµwg»œóÑƒÅøÛ_ÞÆÙ3Æ×\½RwN†Ûaö£÷¸Œ3­®2áë?`R’ëú¬cîŠÝ;Àu—úç½Ã°× Ü:NíÑïÜð˜UÆcŒ±nlö£÷ÀË[Ìÿýìªß+b€õb¾©±žØ¹ý(æ-œìXçÜùÐmIAu• û¾*ê’e<1q$Ô¶qŸö%W*¿àÕŒøþÛ$?rO»Ÿƒo//<˜:Û>8€wV…ú: ,f_}ZˆÿÌÁ}ÜÖbâÿxFóÏ÷;<æýýß3zïõ•J˜¹^&þr3¤tæá¶]Ïû jg{æjU¯»À¦f‡pÝ>²‰‚š™•ü+cãì½[²J»€×CÅÅÅúë l“\?œ¥¿>±@’4âán7Òöœt¸¹Õ;Tû÷žR§¨à›æï-«µ˜¯§žüó@Myú3 ˆ°›Ä'7ç‚2Òíë\¯¾·¼¼ÝµsËQ™ÜLjÛ!P&7£ŽÎRüô•jÞXþ¾Wt,;6•>[µ÷ ûñ™~foEõ UÒ—)êÑ·u«cw“¦Î¹OÓþ¼XOß?×¶<¨™Y/½;Âå,ÀWÛÈqÝer3ê“÷7(aæzÛ± s[•³¯§&¾z·^xøcI¥c9}|=é$õØV³¦&kÓÚý¶VÐøé«?}•}¨Ðó/qúz™9Ššfû½uxc½ÿÞáË÷”iîø8’SݯÓ.±†Fè¥gVØW™ÔÕ+ïR¶%O'Ÿ•€¯ÓP?fBÏ Ç —觤]“œ®‹‰í ˜ØËïy(J±£»èıŸ.æ[Z%+*·c׿údåS’J»»ËégöÖ²/þrn]”çÊ}ã£íÆÐÖõ­ãð(?³·–n›è²ŒWÞåôøKEc„GÖèñÑ—}Ê$¬x¢Ò÷Û:¼±fýwœ,Y¹¶.Çu¥ÿb¼Ãz/ow}ôÕãW|³ˆ° €ÊUˆ™üÆp»ß§}x…åüqÊo5þ¹~ÊÌÈѹœ j|‹Ë1¯®^óR—Ž{¼4P—…WÃ!ü^f@ºüÌÞW<6øjq÷0]Ö,¹—ºaÈäf¬㑯ÅMªŒ÷vµÍÍT «pÉÇ×Ó¡µ ®&XV ¬«V„U«€›ÏYP­”””èüùó•nwá©^½zòô¬ø™À™™™:wîœËõ¹¹¹v¿«nݺ–¹oß>åääØ-+..Ö… œnß©S'Õ¯_¿Â2¿ýö[ýôÓO’¤Ž;ªI“&„UÔ|iÇöéÀ±}7}=„6k«ÖÍÚVÛV§N¹¹UüU<''Çe`sˆüýýåããSa™'NœÐÙ³g>gBBBäïï_i`ËÈÈ$åååÉjµV¸}UØÖ­[uäÈ‘*×ím·Ý¦ààà ·9tèÐe•éëë[iX=sæŒN:Uå2 ªÀË‚s~~þMý9&¬Ô"ë¶'kÎÿºéëá‘aO_×°ºuëV:t誆«}ûö]v`«JX½œ25jTiXÍÉÉÑéÓ§«\¦«`\Ý”””TºMe­¹—*,,¼¬í]µÐVT‰ÑÈT0W“Édª´US’¼¼¼d4«+ ÝF£Q^^^vË*ë®+•¶<7jÔÈ>`¹¹ÉÃÃÃéöõêÕ«´Ìnݺ©¸¸XRi ›»YÏ¿<ÄnùÎ-GµtÁefü,“›Iá‘M4ì®ò3{Û¶IÛsRŸÍÝ,KV®$ÉÜ ®"º6ÓÀ¡åîaâĨZVj©… ßiaÂwN×%%¦hÆ++\îûÞë+•”˜b·lÑümzááer3jÀÐu‰QRbŠ&Üû23rlÛ=©5Ë÷ª÷ ¶ê?$\~f/}øÖ=÷ûsbVnVÇgÉ’™«£Îèøá,§ÛLͰµ¾–·>9U‡ÓNÛ-ËHÏÖ¬©ÉóxOM|õn ÞI#Çu׌OVaA±Þu|‡Œè¬AÃ;é‰IõÏyc´ï)-[ø='aàf•”˜¢¶A lêÐBZ¦s÷ŠŸ¾Jçó mË Š?}•zôom·íꥻååå¡QãzØ-77¨«‘ãºkóº:—“ïòx‚Cªip¥í>Éɹđgœ.·då*Û’W¥2²-yÊH϶ýTe¿s9ùv-âWª° Xi{Nj÷Ž]^ÅE%vÇwµÛ•[Õ÷ãªÎ¯Ö¹»Ö23r´sËÑöú× cVj™â¢­Z²[qÏ÷×ÏgÏkþœûdo™ÜìÛ)úi¯ÝÛë£w×ê±ÿ¹C’4ÿƒjà«vM´tÁÛ¶?ì>©°ˆ@§cN»D‡(~ú*LÍPÇ®Í]“%+Wfÿºµ®¾“wiÞÌuúpñcN맸¨DqÃg«Ïàv3¡§C`|bä‡úè«Çåàk·në7‡´xÁ6½ùуçnúä%’dS<ûÕ7%Z‡7Ö¸gú*²[°Óã^º`‡öï=©Éo ·[>fàŒ å /ߥ˜Ø’¤Ï>Ú¬OÞß` ©&7£ÄFè±ÿ‰‘—·»mŸÁ‘¯9Üä˜ðbŒm<õ§|«y3×9­‡ ÷~ –mÆOKÒše{5mòb‡²‡ÞßE#~ßݡޤÒ^¸®>[ÿ¬Ýùš>y‰Ë;’4 6ÂJ4ñ‘OôÒŒjÞ¸Òëd@‡WœßXÚ5©´^þX]›9\#—û´É‹•š’n[Ô̬g¦üÖöÙ{å…/õsöy½?Únßãþ£‘w·»¶n8¤¿=ý_}¶þY»óEXÀ5±cóåæä+º_åå^Ь©ÉÚ±ùˆºD‡ØmçîaÒS¨¿ýá3 ÞQ^Þš?g£Þœ÷ ŽÈ´Û67ç‚ýœ¾^@`}IÒéôŸ]Õ„Yëu.'ßédOµAFz¶æÍ\§qÏôuX·hþ6—]±×,۫‚b%/JÑèñÑëSSÒ•0k½Æ>Õ»Òcè5 Ì<ÎÒ'ñ4qü'š4m¨ÓzOJL‘%³´õ¶üYoÎ{PÅÅ%’J»„/LøNoÎ{ж¾^ýÒm¿ø¿-úà­¯5abŒï$£Ñ _§iúäÅÊÍÉwÁSgß§ÈnÁʶäé÷×hêŸ)8´¡‚Cjø˜Û”øŸ­šûÎZ»@¸ñë4;”©WÞUá{_ºm¢Ü=Lʶä)yÑ.%Ì\§c‡²4ñÕ»¾ïóy…ZŸœª~w†Û–®ŸÆ<^ÏdäèÙçiÒ´¡j$Iòô²sÛ6ÒÏÙ畜˜R¥°*É®¼Ëu.'_Ç¢ßúéƒEªi‹ÊÌÈÑÛ/-Ó_Ÿ\ ·?«àІêÜ=Xïüï ÛÂøù¼BíÚvLÁ¡ íÂêÎ-GÕ®c“jT%ºÔ:I_¦¨Ïàp¹{˜ägöVT¯P%}é¼Åè¶^¡ŠêªÞúZŸÍݤ¾ƒÃ«üÅ»2Oß?WOŽú·îíõ–ýg›&½>T-Ãje·o¬… ß9„RKV®æÏÙè²N“S4 6Âåù jfÖçnÒÎ-G+=O/Ûÿ›¶h ‰¯Þ­>ƒÚiÆ+I[¥¦¤ë|^Z†híŠ}vëü|è§€@?ùÕ÷–Éd´ýè'/ow+aæzŎGÝ*w“LnFõŒ Ó„‰1Z—”ªƒ©öÁÃd$ù™½õä¤2 ÚºáíÆÉïŸê£UKwëÄ1‹mŸ„™ëuïØn27¨¸E¾,”ù™½uÏCQúãßïÔª%»µcÓ‡mW-Ù­þCÚ;´¢ú™½mï±áÅÖ]sƒº¿ÔE¹@_vîzÞ¦5Ë÷Uyâ°òå•ýTÕâùÛ”ŸW¨Ì¡¦-ØÎդׇÉÓËCŸ¼¿A’Ô%º¥ е{ûqÛ¾›×íW‹V´aÕveîÜrÔá&a×Ĺœ|mXýƒŽÊÔôÉK4}òefähÃê\Ž'œ01FÛ¿=¬ «Ó4î}nS×·ŽŽÎtº.3£´Eµñ%Á¹kÄ­ŠÝEùçp}ºæêVk뽸¸D]oo©¯&Ù-ŸûÎZu½½¥Ó}ŽÎÒþ½§4ì®:•ž­Ý;~tRïžúíï:iêŸU8&Ø•ûV¶%O;6¾$°íRÇ®ÍÙÄeP®ÈÞ¥ãS ïè°®ÿòòv×wë¸!ÆÒàj2ýGúÝ®àІšýÆ*IÒê¥{”q"[÷Œºìãë3¨‚š™µjÉn»å;6Q~^¡bGwÑöo_ñ˜ÝlKž¾]³_#ÇuWÁ…BmZ»ÿš_cV¥©G¿Öòñõ´[îåí®Á¿ë¤ÍëöÛlphCm/wÎ7¯= ž1aʯPû÷žrÙMœ° €«jͲ½ò3{+²{ ù) ÈOQ½CåæfÔše{îè§»]wì첫mD¦f8 L;·•ÉͨàP»å1±ÛA‘Ý‚kýóUÏýœ¯ñÏõ×®mÇ´zéI¥Ï›]¹x—Æ>ÕÛé„G«–ìVÇ®ÍÕ2,@»6W²“ñ’Ù–<=üL?™LF½5å«Ë>®àІòñõÔÁ~iå,,(ÖšåûÔwp;õÒ^i{N^öD=e]¾ƒC:¬s÷0©yhC8jqì/v /)±ªG¿_&ò2¹÷\m\¦ƒ©J˜¹NcïéΪ*,"Èá}%%¦¨ç€0…E*¨™YÉ‹R®¨ìµ+ö)¨Ù-j ž1m+ëzµ¤³(¨¹óç"·nßXçó má;ªw¨­U¹¸¨D›×P—èµí¨_§I’öì8®z~^W­'aZ½d·ÄFhÌ„žv?}‡Wø…zôøh§c&Ë !©t"Ÿò,Y¹úôƒoÕgP»+µEP3³F=ÒCïO[©óy…zoj²F=ÒÃa òÁi@li½ˆÐú¤T§ÝI½¼Ý5ñµXmX¦åWð蟺¾uTTTbû½¬ðÖ!jÚ¢Z‡7Vrâ®Ë*óTúÙ ×שã®ÌÓö­–ï½¾RÏ>8O÷özKË>ÿ^û‡n°‘݂չ{ ½y1˜ÑùŠÏ‡ŸÙÛî&Áù¼B­KÚ§˜²:qE­ÊRiWûþCÚK*¨lë†C²dåVºß ¬^±ý¼ððÇU¿!’“/ÿFõœŸcŸ:¥ÁôâXãÎÝZ(mÏIe[ò”²õ˜<½ÝÕ2,@Q½[iãê4Û(áu  IDATM¦ÎÝ[TëÏa –8qÌ¢Ý;~´}//&6B©)é.'ú©Œ¹A]M˜£¤ÄMzl¾Íߦ„Yëõô}såQÇMqÏ÷çH5®‡¼ëzhÆ++t*=ÛáQ?evl:¢lKžBÚ4RFz¶BÚ4Ò… …Ú°ú§Û·l¢‘w׬©Évc:«"7ç‚<<ÜìBr—èežÎQFz¶"»kåâ]*.h+S6¦³¢}üÙ‡ô‘ãºkÔ#¥õqÿc·ë¶^¡N÷ûdo¥í9©‘ãºÿªùlKžÝìÓk—§ø*#=[í:5±}f.Ç‘g”¶ç¤Â;7UFz¶›™åãëéÐ娙IÓ†*aŶŸIÓ†VùuÝ=Lú)óœÓu—Þähß¹©¼¼Ýµcóm\ýƒ¢/¶`ߦƒ©¶GßtîV½Ã*³Ô'[tïØn jfvvbGߪŒôl5mÑ@b#t‹¿Ë²73ÛZýÊ ÑYÁ­)91Eë“RåîaÒuçˆH»VUgûÞ,Ü=LzbÒ@Mzl¾^|-ÖeØJJLQaA±â†Í¶_þeŠË“ÇLè©í›ëɋռUC^¨|RŸÇ,:—“o›ØÊ’•«­ÙoTÞ¶‡\H‡ PÚÂwð‡ §ÝH8£ðÈ&7<:vm®±O÷Ö¬©É ëètß²€Ù¸©ùW‹ƒ© ïÜÄ®n-Y¹3p†Ývɉ)jɱV¤¬úÙç9œ»{Šªô¦ÏåLªT^³‡I«Ê?œ%w“­lw“"º6מíǵ}Ó=9i ¤ÒÖÿ ff­ONÕþ½§Ôåöjýy"¬Ô]¢C*œÙó‰‹_X%9}få¥áÖÙxß:J?f‘ŸÙK]›+2*Ø¡û¯«}o¦óðÂËwÙ=¥¼²î¨er)³uÃ!ýåÉÊÌÈqÚuØäfÔŸ§ Sܰx?_¨–m*ŸYù³6ÉÜ ®"£J_gÕ’ÝjÜ@ñ_Œ·ÛnÒc󕔘Rå°ÙTî&­^ºÇ!pîÜrTÙ–iy_/Û£[Žª¸¸D™9 jfÖKµ¶—Íúë,¬F÷k£ÕY®5ËöVyR£ûÆGëgKžþ9e©æ¼¹ZuÜ”‘ž]Ú²ü¿wU¸oÓ 4ꑚûÎõŒ s9 UUÝwÇ;2™Œú)óœÜÜŒºgl7ÝWn°¤ÄÛxÙò||=ݯM…ݯË[¹x·zôk#/owÇÀ¡Oâ7(îù;®x¬mÂÌõJ˜¹Þá3—°â ™ÔÕ?fŒÐÔ5²ÏÛºÅßG?ŸÍ“ÉdÒ_þ9Üáæ@Y—ßn}ì[¸ÛG6•wÝ:Õúùªe ü¹øõâââ¬ÿ{$>>¾…“õ“4EÒØøøø¨±Zwþ¯ëùåzº¹¯§ÊþÞ¨Y,‹•Z¨ùÎç*7'¿ÂÀ•™‘#Oowùøz*#=[õê{; <çó õóÙ<úUX|9ik9r->[´¬¿‚—·»ÓàY^ù°QÑ;¥eùUZ®¯§Ý¸à²V´_sœÎÆ/Võ½UÖ2êì=›ÜŒ—µÜ?³·:vm^á6••çãëéæ\íSÑû,?ÁQUë ²úwõ~Â"+ìf]ÆUÝÔ„VUÂ*pÅÅÅÝn0¦IRIIɔٳg¯¤G}4ÖjµN‘t®¤¤ä…9sælº¸ýC’ž·Z­™ƒaB|||*µ€›a¸¶fY­Öö’d0æJj,IV«uŽ$I2ïHê:vìØú’æHr3 ’ôª¤aT!nFÌ \[E.þïÀÛÛ»ˆê«Àõð”¤o Ã&«ÕúH¹åc/.[SRRò”$Íœ9óœÕj+é{ƒÁ°DÒŸ¨>ܬè \CñññßHêédùRIK/]>{öì%}LÍàfGË*€° @eè|}ÝG-Ô>¸žP ®'ÂêMèÔŹøƒZÈjµžâzB ¼žÔBû÷ïWZZÚMûþ[·n­V­Zq!„UT&>>þý‹-`¿¡6j'ƒÁ¿‚ë 5ízP;(77÷¦~ÿÜÕ´9„ÕëX©p=ÀÍàF^«5 a – Wxx8 F#¬¿7p3;{öì5›gƒG×®Df‹-ò «µÏª@ vMŸ^@X ¬@µûFX¸A Ãrj@ þö%a v~ÑûœZPS,½–å3ðÕÕ$..î0ÕªÂÏÏï€ÅbÙ-©=µ †ù¦Q£F×tÌ*aõê(ºX—n’‚©×éï€Úaº¤¹T€ø·ëš¢ðU`0Þâ‹#€ë(ßjµ¾K5µCýúõ?–ô=5 ùÆl6'^óœE=ÜXÙÙÙKJJ˜l @`µZ{ÞrË-ß\ëסeàóóó[a0Þ£&Ô/_ *Ѳ P-X­V·³gÏ&KêCm¨¦–Ô¯_˜Á`¸.C iY¨ C‘Édº×`0¤Rª¡­………£¯WP%¬T#õêÕË´Z­Ý ãWT'_ömԨѹëù¢t¨f.v ž&éjÀ ö²ÙlþËxaÂ*@5•••ÕÍh4¾*Ʊ¸þVJzÁl6ß°GkVª9‹Å+éÉ‹¡ÕpM¡Á/i¤éõë×_uÇSP3œ>}ÚÇÍÍ-Öh4ÞnµZà Ão¬VkI>Ô€ËtÖ`0œ²Z­§.Nì¶²  `Åõ— j¯ÿ¨¤°QQéJIEND®B`‚murano-9.0.0/doc/source/reference/overview_index.rst0000664000175000017500000000023013656750211022636 0ustar zuulzuul00000000000000.. _overview: Overview ~~~~~~~~ .. toctree:: :maxdepth: 1 key_features target_users architecture use_cases appendix/appendix_index murano-9.0.0/doc/source/reference/use_cases.rst0000664000175000017500000000224113656750211021557 0ustar zuulzuul00000000000000.. _intro-use-cases: ========= Use cases ========= **IT-as-a-Service** An *IT organization* manages applications and controls the applications availability to different OpenStack cloud users in a simple and timesaving manner. A *cloud end user* can easily find and deploy any available application from the catalog. **Self-service portal** An *application developer* and *quality assurance engineer* reduces efforts on testing an application for compatibility with other applications, databases, platforms, and other components it depends on, by configuring compound combinations of applications dynamically and deploying environments that satisfy all requirements within minutes. **Glue layer use case** A *cloud end user* is able to link an ever growing number of technologies to any application in an OpenStack cloud with a minimum cost due to the powerful Murano architecture. Currently, Murano applications have been integrated with the following technologies: Docker, Legacy apps VMs or bare metal, apps outside of OpenStack, and others. The following technologies are to become available in the future: Cloudify and TOSCA, Apache Brooklyn, and APS. murano-9.0.0/doc/source/reference/architecture.rst0000664000175000017500000000222613656750211022272 0ustar zuulzuul00000000000000.. _architecture: ============ Architecture ============ Murano is composed of the following major components: * murano command-line client * murano-dashboard * murano-api * murano-engine * murano-agent They interact with each other as illustrated in the following diagram: .. image:: architecture.png :width: 600 px :alt: Murano architecture All remote operations on users' servers, such as software installation and configuration, are carried out through an AMQP queue to the murano-agent. Such communication can easily be configured on a separate instance of AMQP to ensure that the infrastructure and servers are isolated. Besides, Murano uses other OpenStack services to prevent the reimplementation of the existing functionality. Murano interacts with these services using their REST API through their python clients. The external services used by Murano are: * the **Orchestration service** (Heat) to orchestrate infrastructural resources such as servers, volumes, and networks. Murano dynamically creates heat templates based on application definitions. * the **Identity service** (Keystone) to make murano API available to all OpenStack users.murano-9.0.0/doc/source/conf.py0000664000175000017500000001120713656750211016416 0ustar zuulzuul00000000000000# Copyright (C) 2014 Mirantis Inc # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import sys on_rtd = os.environ.get('READTHEDOCS', None) == 'True' # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. sys.path.insert(0, os.path.abspath('../../')) sys.path.insert(0, os.path.abspath('../')) sys.path.insert(0, os.path.abspath('./')) # -- General configuration ----------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. #needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'oslo_config.sphinxconfiggen', 'oslo_config.sphinxext', 'oslo_policy.sphinxext', 'oslo_policy.sphinxpolicygen', 'sphinx.ext.viewcode', 'sphinxcontrib.httpdomain',] if not on_rtd: extensions.append('openstackdocstheme') # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix of source filenames. source_suffix = '.rst' # The master toctree document. master_doc = 'index' # openstackdocstheme options repository_name = 'openstack/murano' bug_project = 'murano' bug_tag = '' config_generator_config_file = '../../etc/oslo-config-generator/murano.conf' sample_config_basename = '_static/murano' policy_generator_config_file = [ ('../../etc/oslo-policy-generator/murano-policy-generator.conf', '_static/murano'), ] # Set the default Pygments syntax highlight_language = 'python' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. exclude_patterns = ['specification/murano-repository.rst', 'specification/murano-api.rst', 'murano_pl/builtin_functions.rst', 'install/configure_network.rst', 'articles/ad-ui.rst', 'articles/telnet.rst'] # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. show_authors = False # -- Options for HTML output --------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. if not on_rtd: #TODO(efedorova): Change local theme to correspond with the theme on rtd pass # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". html_title = 'Murano' html_theme = 'openstackdocs' # Custom sidebar templates, maps document names to template names. html_sidebars = { 'index': ['sidebarlinks.html', 'localtoc.html', 'searchbox.html', 'sourcelink.html'], '**': ['localtoc.html', 'relations.html', 'searchbox.html', 'sourcelink.html'] } # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". # html_static_path = ['_static'] # -- Options for LaTeX output ------------------------------------------------- # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass # [howto/manual]). latex_documents = [ ('index', 'doc-murano.tex', u'Murano Documentation', u'OpenStack Foundation', 'manual'), ] latex_domain_indices = False latex_elements = { 'makeindex': '', 'printindex': '', 'preamble': r'\setcounter{tocdepth}{3}', 'maxlistdepth': '10', } # Disable usage of xindy https://bugzilla.redhat.com/show_bug.cgi?id=1643664 latex_use_xindy = False # Disable smartquotes, they don't work in latex smartquotes_excludes = {'builders': ['latex']} murano-9.0.0/doc/source/install/0000775000175000017500000000000013656750351016571 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/install/get_started.rst0000664000175000017500000000151013656750211021620 0ustar zuulzuul00000000000000==================================== Application Catalog service overview ==================================== The Application Catalog service consists of the following components: ``murano`` command-line client A CLI that communicates with the ``murano-api`` to publish various cloud-ready applications on new virtual machines. ``murano-api`` service An OpenStack-native REST API that processes API requests by sending them to the ``murano-engine`` service via AMQP. ``murano-agent`` service The agent that runs on guest VMs and executes the deployment plan, a combination of execution plan templates and scripts. ``murano-engine`` service The workflow component of Murano, responsible for the deployment of an environment. ``murano-dashboard`` service Murano UI implemented as a plugin for the OpenStack Dashboard. murano-9.0.0/doc/source/install/install-network-config.rst0000664000175000017500000000461513656750211023724 0ustar zuulzuul00000000000000.. Copyright 2014 Mirantis, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ===================== Network Configuration ===================== Murano may work in various networking environments and is capable of detecting the current network configuration and choosing the appropriate settings automatically. However, some additional actions are required to support advanced scenarios. Nova network support ==================== Nova Network is the simplest networking solution, which has limited capabilities but is available on any OpenStack deployment without the need to deploy any additional components. For more information about Nova Network, see ``__. When a new Murano Environment is created, Murano checks if a dedicated networking service (i.e. Neutron) exists in the current OpenStack deployment. It relies on Keystone's service catalog for that. If such a service is not present, Murano automatically falls back to Nova Network. No further configuration is needed in this case; all the VMs spawned by Murano will join the same network. Neutron support =============== If Neutron is installed, Murano enables its advanced networking features that give you the ability to not care about configuring networks for your application. By default, Murano will create an isolated network for each environment and attach all VMs needed by your application to that network. To install and configure applications in just-spawned virtual machines, Murano also requires a router connected to the external network. Automatic Neutron network configuration ======================================= To create a router automatically, provide the following parameters in the config file: .. code-block:: ini [networking] external_network = %EXTERNAL_NETWORK_NAME% router_name = %MURANO_ROUTER_NAME% create_router = true .. murano-9.0.0/doc/source/install/install-api.rst0000664000175000017500000000557313656750211021545 0ustar zuulzuul00000000000000.. Copyright 2014 Mirantis, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Install Murano API ~~~~~~~~~~~~~~~~~~ This section describes how to install and configure the Application Catalog service for Ubuntu 16.04 (LTS). .. include:: common_prerequisites.rst Install and configure components -------------------------------- #. Install the packages: .. code-block:: console # apt-get update # apt-get install murano-engine murano-api #. Edit ``murano.conf`` with your favorite editor. Below is an example which contains basic settings you likely need to configure. .. note:: The example below uses SQLite database. Edit **[database]** section if you want to use any other database type. .. .. code-block:: ini [DEFAULT] debug = true verbose = true rabbit_host = %RABBITMQ_SERVER_IP% rabbit_userid = %RABBITMQ_USER% rabbit_password = %RABBITMQ_PASSWORD% rabbit_virtual_host = %RABBITMQ_SERVER_VIRTUAL_HOST% driver = messagingv2 ... [database] connection = mysql+pymysql://murano:MURANO_DBPASS@controller/murano ... [keystone] auth_url = 'http://%OPENSTACK_HOST_IP%:5000/v2.0' ... [keystone_authtoken] www_authenticate_uri = 'http://%OPENSTACK_HOST_IP%:5000/v2.0' auth_host = '%OPENSTACK_HOST_IP%' auth_port = 5000 auth_protocol = http admin_tenant_name = %OPENSTACK_ADMIN_TENANT% admin_user = %OPENSTACK_ADMIN_USER% admin_password = %OPENSTACK_ADMIN_PASSWORD% ... [murano] url = http://%YOUR_HOST_IP%:8082 [rabbitmq] host = %RABBITMQ_SERVER_IP% login = %RABBITMQ_USER% password = %RABBITMQ_PASSWORD% virtual_host = %RABBITMQ_SERVER_VIRTUAL_HOST% [networking] default_dns = 8.8.8.8 # In case openstack neutron has no default # DNS configured .. #. Populate the Murano database: .. code-block:: console # su -s /bin/sh -c "murano-db-manage upgrade" murano .. note:: Ignore any deprecation messages in this output. Finalize installation --------------------- #. Restart the Application Catalog services: .. code-block:: console # service murano-api restart # service murano-engine restart murano-9.0.0/doc/source/install/from-source.rst0000664000175000017500000001631713656750211021567 0ustar zuulzuul00000000000000Install Murano from Source ~~~~~~~~~~~~~~~~~~~~~~~~~~ This section describes how to install and configure the Application Catalog service for Ubuntu 16.04 (LTS) from source code. .. include:: common_prerequisites.rst Install the API service and Engine ---------------------------------- #. Create a folder which will hold all Murano components. .. code-block:: console mkdir ~/murano .. #. Clone the murano git repository to the management server. .. code-block:: console cd ~/murano git clone https://opendev.org/openstack/murano .. #. Set up the murano config file Murano has a common config file for API and Engine services. First, generate a sample configuration file, using tox .. code-block:: console cd ~/murano/murano tox -e genconfig .. And make a copy of it for further modifications .. code-block:: console cd ~/murano/murano/etc/murano ln -s murano.conf.sample murano.conf .. #. Edit ``murano.conf`` with your favorite editor. Below is an example which contains basic settings you likely need to configure. .. note:: The example below uses SQLite database. Edit **[database]** section if you want to use any other database type. .. .. code-block:: ini [DEFAULT] debug = true verbose = true rabbit_host = %RABBITMQ_SERVER_IP% rabbit_userid = %RABBITMQ_USER% rabbit_password = %RABBITMQ_PASSWORD% rabbit_virtual_host = %RABBITMQ_SERVER_VIRTUAL_HOST% driver = messagingv2 ... [database] backend = sqlalchemy connection = sqlite:///murano.sqlite ... [keystone] auth_url = 'http://%OPENSTACK_HOST_IP%:5000/v2.0' ... [keystone_authtoken] www_authenticate_uri = 'http://%OPENSTACK_HOST_IP%:5000/v2.0' auth_host = '%OPENSTACK_HOST_IP%' auth_port = 5000 auth_protocol = http admin_tenant_name = %OPENSTACK_ADMIN_TENANT% admin_user = %OPENSTACK_ADMIN_USER% admin_password = %OPENSTACK_ADMIN_PASSWORD% ... [murano] url = http://%YOUR_HOST_IP%:8082 [rabbitmq] host = %RABBITMQ_SERVER_IP% login = %RABBITMQ_USER% password = %RABBITMQ_PASSWORD% virtual_host = %RABBITMQ_SERVER_VIRTUAL_HOST% [networking] default_dns = 8.8.8.8 # In case openstack neutron has no default # DNS configured .. #. Create a virtual environment and install Murano prerequisites. We will use *tox* for that. The virtual environment will be created under *.tox* directory. .. code-block:: console cd ~/murano/murano tox .. #. Create database tables for Murano. .. code-block:: console cd ~/murano/murano tox -e venv -- murano-db-manage \ --config-file ./etc/murano/murano.conf upgrade .. #. Open a new console and launch Murano API. A separate terminal is required because the console will be locked by a running process. .. code-block:: console cd ~/murano/murano tox -e venv -- murano-api --config-file ./etc/murano/murano.conf .. #. Import Core Murano Library. .. code-block:: console cd ~/murano/murano pushd ./meta/io.murano zip -r ../../io.murano.zip * popd tox -e venv -- murano --murano-url http://localhost:8082 \ package-import --is-public io.murano.zip .. #. Open a new console and launch Murano Engine. A separate terminal is required because the console will be locked by a running process. .. code-block:: console cd ~/murano/murano tox -e venv -- murano-engine --config-file ./etc/murano/murano.conf .. Install Murano Dashboard ======================== Murano API & Engine services provide the core of Murano. However, your need a control plane to use it. This section describes how to install and run Murano Dashboard. #. Clone the murano dashboard repository. .. code-block:: console $ cd ~/murano $ git clone https://opendev.org/openstack/murano-dashboard .. #. Clone the ``horizon`` repository .. code-block:: console $ git clone https://opendev.org/openstack/horizon .. #. Create a virtual environment and install ``muranodashboard`` as an editable module: .. code-block:: console $ cd horizon $ tox -e venv -- pip install -e ../murano-dashboard .. #. Prepare local settings. .. code-block:: console $ cp openstack_dashboard/local/local_settings.py.example \ openstack_dashboard/local/local_settings.py .. For more information, check out the official `horizon documentation `_. #. Enable and configure Murano dashboard in the OpenStack Dashboard: * For Newton (and later) OpenStack installations, copy the plugin file, local settings files, and policy files. .. code-block:: console $ cp ../murano-dashboard/muranodashboard/local/enabled/*.py \ openstack_dashboard/local/enabled/ $ cp ../murano-dashboard/muranodashboard/local/local_settings.d/*.py \ openstack_dashboard/local/local_settings.d/ $ cp ../murano-dashboard/muranodashboard/conf/* openstack_dashboard/conf/ .. * For the OpenStack installations prior to the Newton release, run: .. code-block:: console $ cp ../murano-dashboard/muranodashboard/local/_50_murano.py \ openstack_dashboard/local/enabled/ .. Customize local settings of your horizon installation, by editing the :file:`openstack_dashboard/local/local_settings.py` file: .. code-block:: python ... ALLOWED_HOSTS = '*' # Provide OpenStack Lab credentials OPENSTACK_HOST = '%OPENSTACK_HOST_IP%' ... DEBUG_PROPAGATE_EXCEPTIONS = DEBUG .. Change the default session back end-from using browser cookies to using a database instead to avoid issues with forms during the creation of applications: .. code-block:: python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'murano-dashboard.sqlite', } } SESSION_ENGINE = 'django.contrib.sessions.backends.db' .. #. (Optional) If you do not plan to get the murano service from the keystone application catalog, specify where the murano-api service is running: .. code-block:: python MURANO_API_URL = 'http://%MURANO_IP%:8082' .. #. (Optional) If you have set up the database as a session back-end (this is done by default with the murano local_settings file starting with Newton), perform database migration: .. code-block:: console $ tox -e venv -- python manage.py migrate --noinput .. #. Run the Django server at 127.0.0.1:8000 or provide different IP and PORT parameters: .. code-block:: console $ tox -e venv -- python manage.py runserver .. .. note:: The development server restarts automatically following every code change. .. **Result:** The murano dashboard is available at http://IP:PORT. murano-9.0.0/doc/source/install/install-dashboard.rst0000664000175000017500000000421013656750211022706 0ustar zuulzuul00000000000000.. Copyright 2014 Mirantis, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Install Murano Dashboard ======================== Murano API & Engine services provide the core of Murano. However, your need a control plane to use it. This section describes how to install and run Murano Dashboard. #. Install OpenStack Dashboard, the steps please reference from `OpenStack Dashboard Install Guide `__. #. Install the packages: .. code-block:: console # apt install python-murano-dashboard #. Edit the ``/etc/openstack-dashboard/local_settings.py`` file to customize local settings of your envi .. code-block:: python ... OPENSTACK_HOST = '%OPENSTACK_HOST_IP%' OPENSTACK_KEYSTONE_DEFAULT_ROLE = '%OPENSTACK_ROLE%' ... .. Change the default session back end-from using browser cookies to using a database instead to avoid issues with forms during the creation of applications: .. code-block:: python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'murano-dashboard.sqlite', } } SESSION_ENGINE = 'django.contrib.sessions.backends.db' .. #. (Optional) If you do not plan to get the murano service from the keystone application catalog, specify where the murano-api service is running: .. code-block:: python MURANO_API_URL = 'http://%MURANO_IP%:8082' .. Finalize installation --------------------- #. Restart the Apache service: .. code-block:: console # service apache2 restart murano-9.0.0/doc/source/install/next-steps.rst0000664000175000017500000000073213656750211021432 0ustar zuulzuul00000000000000.. _next-steps: Next steps ~~~~~~~~~~ Your OpenStack environment now includes the Murano service. Import Murano Applications -------------------------- .. include:: import-murano-apps.rst Additional Resources -------------------- #. To add additional services, see ``__. #. If you would like to add glare as the storage service for packages, see: ``__. murano-9.0.0/doc/source/install/import-murano-apps.rst0000664000175000017500000000231713656750211023073 0ustar zuulzuul00000000000000.. Copyright 2014 Mirantis, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Applications need to be imported to fill the catalog. This can be done via the dashboard or via CLI: 1. Clone the murano apps repository. .. code-block:: console cd ~/murano git clone https://opendev.org/openstack/murano-apps .. 2. Import every package you need from this repository, using the command below. .. code-block:: console cd ~/murano/murano pushd ../murano-apps/Docker/Applications/%APP-NAME%/package zip -r ~/murano/murano/app.zip * popd tox -e venv -- murano --murano-url http://:8082 package-import app.zip murano-9.0.0/doc/source/install/enable-ssl.rst0000664000175000017500000001232313656750211021344 0ustar zuulzuul00000000000000.. Copyright 2014 Mirantis, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================= SSL configuration ================= Murano components are able to work with SSL. This section will help you to configure proper settings for SSL configuration. HTTPS for Murano API ==================== SSL for the Murano API service can be configured in the *ssl* section in ``/etc/murano/murano.conf``. Just point to a valid SSL certificate. See the example below: :: [ssl] cert_file = PATH key_file = PATH ca_file = PATH - *cert\_file* Path to the certificate file the server should use when binding to an SSL-wrapped socket. - *key\_file* Path to the private key file the server should use when binding to an SSL-wrapped socket. - *ca\_file* Path to the CA certificate file the server should use to validate client certificates provided during an SSL handshake. This is ignored if cert\_file and "key\_file" are not set. .. note:: The use of SSL is automatically started after pointing to an HTTPS protocol instead of HTTP, during the registration of the Murano API service endpoints (Change publicurl argument to start with \https://). .. SSL for Murano API is implemented like in any other OpenStack component. This is because Murano uses the ssl python module; more information about it can be found `here`_. .. _`here`: https://docs.python.org/2/library/ssl.html SSL for RabbitMQ ================ All Murano components communicate with each other via RabbitMQ. This interaction can be encrypted with SSL. By default, all messages in Rabbit MQ are not encrypted. Each RabbitMQ Exchange should be configured separately. **Murano API <-> Rabbit MQ exchange <-> Murano Engine** Edit ssl parameters in default section of ``/etc/murano/murano.conf``. Set the ``rabbit_use_ssl`` option to *true* and configure the ssl kombu parameters. Specify the path to the SSL keyfile and SSL CA certificate in a regular format: /path/to/file without quotes or leave it empty to allow for self-signed certificates. :: # connect over SSL for RabbitMQ (boolean value) #rabbit_use_ssl=false # SSL version to use (valid only if SSL enabled). valid values # are TLSv1, SSLv23 and SSLv3. SSLv2 may be available on some # distributions (string value) #kombu_ssl_version= # SSL key file (valid only if SSL enabled) (string value) #kombu_ssl_keyfile= # SSL cert file (valid only if SSL enabled) (string value) #kombu_ssl_certfile= # SSL certification authority file (valid only if SSL enabled) # (string value) #kombu_ssl_ca_certs= **Murano Agent -> Rabbit MQ exchange** In the main murano configuration file, there is a section named *rabbitmq*, which is responsible for setting up communication between Murano Agent and Rabbit MQ. Just set the *ssl* parameter to True to enable ssl. :: [rabbitmq] host = localhost port = 5672 login = guest password = guest virtual_host = / ssl = True If you want to configure Murano Agent in a different way, change the default template. It can be found in the Murano Core Library, located at *https://opendev.org/openstack/murano/src/branch/master/meta/io.murano/Resources/Agent-v1.template*. Take a look at the appSettings section: :: The desired parameter should be set directly to the value of the key that you want to change. Quotes need to be kept. Thus you can change "rabbitmq.ssl" and "rabbitmq.port" values to make Rabbit MQ work with this exchange differently than the default Murano Engine way. .. note:: After modification, don't forget to zip and re-upload the core library. .. SSL for Murano Dashboard ======================== If you are not going to use self-signed certificates, additional configuration does not need to be done. Just prefix https in the URL. Otherwise, set *MURANO_API_INSECURE = True* in Horizon's config file. You can find it in ``/etc/openstack-dashboard/local_settings.py.``. murano-9.0.0/doc/source/install/install.rst0000664000175000017500000000171513656750211020770 0ustar zuulzuul00000000000000.. _install: Install and configure ~~~~~~~~~~~~~~~~~~~~~ This section describes how to install and configure the Application Catalog service, code-named murano, on the controller node. This section assumes that you already have a working OpenStack environment with at least the following components installed: Identity service, Image service, Compute service, Networking service, Block Storage service and Orchestration service. See `OpenStack Install Guides `__. Note that installation and configuration vary by distribution. Currently, this installation guide is tailored toward Ubuntu environments, but can easily be adapted to work with other types of distros. .. note:: Fedora support wasn't thoroughly tested. We do not guarantee that murano will work on Fedora. .. .. toctree:: :maxdepth: 2 install-api.rst install-dashboard.rst from-source.rst install-network-config.rst enable-ssl.rst murano-9.0.0/doc/source/install/verify.rst0000664000175000017500000000106413656750211020623 0ustar zuulzuul00000000000000.. _verify: Verify operation ~~~~~~~~~~~~~~~~ Verify operation of the Application Catalog service. .. note:: Perform these commands on the controller node. #. Source the ``admin`` project credentials to gain access to admin-only CLI commands: .. code-block:: console $ . admin-openrc #. List service components to verify successful launch and registration of each process: .. code-block:: console $ openstack service list | grep application-catalog | 7b12ef5edef848fc9200c271f71b1307 | murano | application-catalog |murano-9.0.0/doc/source/install/index.rst0000664000175000017500000000124413656750211020426 0ustar zuulzuul00000000000000=========================== Application Catalog service =========================== .. toctree:: :maxdepth: 2 get_started.rst install.rst verify.rst next-steps.rst The Murano Project introduces an application catalog to OpenStack, enabling application developers and cloud administrators to publish various cloud-ready applications in a browsable categorized catalog. Cloud users -- including inexperienced ones -- can then use the catalog to compose reliable application environments with the push of a button. This chapter assumes a working setup of OpenStack following the `OpenStack Installation Tutorial `_. murano-9.0.0/doc/source/install/common_prerequisites.rst0000664000175000017500000000461713656750211023602 0ustar zuulzuul00000000000000Prerequisites ------------- Before you install and configure the Application Catalog service, you must create a database, service credentials, and API endpoints. #. To create the database, complete these steps: Murano can use various database types on the back end. For development purposes, SQLite is enough in most cases. For production installations, you should use MySQL or PostgreSQL databases. .. warning:: Although murano could use a PostgreSQL database on the back end, it wasn't thoroughly tested and should be used with caution. .. * Use the database access client to connect to the database server as the ``root`` user: .. code-block:: console $ mysql -u root -p .. * Create the ``murano`` database: .. code-block:: mysql CREATE DATABASE murano; .. * Grant proper access to the ``murano`` database: .. code-block:: mysql GRANT ALL PRIVILEGES ON murano.* TO 'murano'@'localhost' IDENTIFIED BY 'MURANO_DBPASS'; .. Replace ``MURANO_DBPASS`` with a suitable password. * Exit the database access client. .. code-block:: mysql exit; .. #. Source the ``admin`` credentials to gain access to admin-only CLI commands: .. code-block:: console $ . admin-openrc .. #. To create the service credentials, complete these steps: * Create the ``murano`` user: .. code-block:: console $ openstack user create --domain default --password-prompt murano .. * Add the ``admin`` role to the ``murano`` user: .. code-block:: console $ openstack role add --project service --user murano admin .. * Create the murano service entities: .. code-block:: console $ openstack service create --name murano --description "Application Catalog" application-catalog .. #. Create the Application Catalog service API endpoints: .. code-block:: console $ openstack endpoint create --region RegionOne \ application-catalog public http://:8082 $ openstack endpoint create --region RegionOne \ application-catalog internal http://:8082 $ openstack endpoint create --region RegionOne \ application-catalog admin http://:8082 .. .. note:: URLs (publicurl, internalurl and adminurl) may be different depending on your environment. .. murano-9.0.0/doc/source/user/0000775000175000017500000000000013656750351016101 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/user/figures/0000775000175000017500000000000013656750351017545 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/user/figures/qs_package_url.png0000664000175000017500000007516713656750211023246 0ustar zuulzuul00000000000000‰PNG  IHDRÒ?ä:³<sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìÝe\kð³ ,Ý]6 (*6**X˜ØÝ XWEDE;Q10LTlEî†%wÙž÷©èÕß{þ_üí:ÏL&ÓÊ~êÆÀØJ1Y/N­Ÿlß“ÉdZÚpÝW!®.'Êpf2™®÷ÊxÙýWMÔ“ÉdZØ9ÎÙzámI½Ë;??ê´çœQvÝ™L&ÓzàøÅ^A1¥5·ç_žÈd2§‡–Š".t°b2'_O¹?“i1pC œséÉdÝÏÿá#¤*j)T±8Ÿk±Þ]ñ^5{âˆþ=˜L¦u‡ Kw_{W,¬S’àç<9¶~Ú0[s&“iÕìüm^³ênT«'öè”îL&ÓnéÕ̯‘6±:1;ñ¦÷"§þ=˜LfOûÉëO½`±?ìÌdöqÅ©¹'ížßÚ©CmÍ™L¦ÍÀ1s¶œÈæâЄB?JÌ-LM*ørÁ''çsÄM+ÛÔô¤AÜÄSó6¼Èië©ó³ Þߨ1#»d¶jÐÞ°"×ÖScee½¾²ez&ùŠïp­/Í/¼´ ‹<½ø4lB\žñüÊÎçßl:¹i°ö§€NüéÅÓö¾ª›A§·8áÉù-OîDºßâ Wk2 Qùf߬éP5»î-ü," šÝlÛ«ê´“ÿñäJXšS@—“"ˆ ÃÖOXÊ ÉÈË‘*JrâÃÏn ¿õj÷åO5ì˜#sgøÐd(ü’”g—w> ZúŸázô*â¥]Z5û`ŒPªÛbÿ-Ãõ?mÒÄêÄ¥QÞÓæÏWðáÖÞÙ/?NïR'…³"¼\¦WŸLirUqêó ÝσïLÛï;»›6y!„j"‚W”ŸQ&ºª¡9?­+®ÈŠO&µk©!óÝ Ê¿ºâ$žȶY{!üÁ«·\ÝØG€ÿêðÞ0¢ÿúÀÇ÷o\½uÿòºž þóÀð‚yPìÁC/ø­œ¶Þ‹|õèÚy–r¬°M›Bò>]/«b¬ÜûŠ´ö.»ƒEGDFÞ;ïé Pr³Û¥ŒÚ·üñG<2 ûÏÙì{ôÌÖ>º¦mÚá1¾hØ-Þ¶sÛò:?š\å¯Ï_ËÙ6Ô©Psxg(  …óΠÇÑ<ŒˆºÖ­¿*ëæ‘…ŸŽ`¿Þ¿ÒÿƒÔú­=ñøYÄ —vT¨ß¹ë1«~&(̽½qæöH¹íôƒÞã[Ë|žzÔ´êÄ¥»ÖžÏв÷¸ñìÞ¹ öÚ¡G«ó•ÏÄ…¡›W¦£ë”]AáÑO¢"n^j§ ‚Øc«vG—c“B¡&#Óh ©·5TSÕoÓR*•Ò”5'þÝ®Âà n#[2H@×ë?c¤€ò0Ï5-dH$)Cû™ÃÔ $«DP«à@/¿e}[(ÒHY]‹©ÞGçµàG»šÆ¢4êh`6€Êˆ=ûØèË’DSleïæ¿ÉJÄ1§.|¬5¿„W ëè{|ËôAÝ;·Ó“oÒ–F‰¹¬ô×7vÎ_v½4‡ëÄaá›7,…!«çöѯN( m‡-˜ÖŠÒ?õ¡ˆ‹ø].h³ð §£‰2$º¶õÜm ZpŸ]‹aשŠõtçl·PŒÝã;ËTîëGÑ´êDy¡þ·Ê€lºÊß}XE‰DUl=ÔÝoe§Ú*?å’_8T‡ïÜ5·—>ƒ @¢«w¿yßü¶%7ößÎÅÑ+!„šˆDSÔoÛÆ¨U;#: €DS2hÛÚ°eÛê—ßõ¯:YæC»(|©…ª¬¯'knßéë›4#€B¢ö•M{„Kw¥G©#¦[^‘õàYkK=^ÒÝW\ýÑã»Ê×8²F/;…ˆÂˆˆ~Ç_»,ZN˜ôó=e×gØ\oè?¤Lgï˜ÓQ€ªçt䮃˜"«Ps…/BÈ!&¢ü]È[»N´7¬ÑBÕîç:5ùQ‰¶”@ü5Í—¿ñ›¿är6€¾ëŽÅ=”kEߤêĬ·âèV.j¶æPuúgz¯‰þÒ $È¿›`äTçÑ&w;°öUrDJÕX¹¦ž.„Bÿu$š¼ªb—tµ†F4è_¥ÒJµzqH†2£fƒ™\?û‘1±Ð¯!IÁÄÚ"rßåð&h—&§TÈštÕª³ ªL‹îFò.ç}6¾¦òmÛ«ý«ã¨ƒ¦bhÒmÐŒ¥S¬4>×O–VP’1·$7#-5)îUäÃ;·Rjä¾KèukS;¢jÚÍs·«]EÅ#ÏEUÕ½™×®ÄNZÑ¥Öz¨M©Ž—ý& ,ZÉÕ:Ã$¹Vf:ñù57óU<ôYWûtŠŠSÅüV•äp|B¡ßï_^®lPùn+‹¼–BÝ®м¦€SR)‡ÅyzóqHÒ**R¼Š2^+¥Œ’ô¿¸h*: vï"ó½ÍøÑç¾|ïuö×…€8ææ«’Z[ sÂo§Zö0”–d¸Ü¬÷¹¤Î“G}M@TQPYc+šV·ò¬È‡iµžÃýxjÓæíÿz^ÒÀZ*4ƒQ«&è”ßÙqìçGª“Ò³h'þ(£Öjhüô‡Ok&(ÒÆV­IƒåÕ×K”>^3¤_ÿ~so6q„Bè_ú3i‡ð¹×öà/WK1ëÙÓ¹ k's%Í`àˆÖ¼§;|îæ|žxKpâÏoõK ÷p²RmRÜâ¦tw4EŠA Š’ ¿^à NâåÇÒ€ø\ £ý誹ÛN½¯ü|)æÜö»ÁPíacÐà@_“©«+äüs)MðÕÉuv²SÈ<µ- ŽC|Þìã¹Îæ|Ú‚@VíéÔƒç»íjïsaqY´ÿ®G€íÔq\B!Éø#,@ò‡žÎ íÕQ…yçÞ‡2z·ù‹¬ITýQk&M;›²Ö9ùî°^¦šÂ´¡×#²Ä@í¼`yo•ï\(I: Šž\¼Ü¹À¸…™eëµ§L[{K™Gᇖ¸‘g9˜ª ó^Þ>{.ªˆAF\½-eÇl©Àè4sUÿ°•aü§Ž{ã0Ȳ•|ùǰÀ8>ÐÍgMnßH Y±ûüE÷<£ãý½Bí¢ÑÔêä™ó–X=ÜñÖwò„WÃû3 ÈÙ/CƒždëµWʈ-¥IS«;¢È*}–/èâ´ëMä¶±ÎGµ4¢—~|tùú›RC—C´±‡!„„ü‘´C{ìWÎÍ×_Iyüé-e˹^ÛFëžáI’5]àïM¬t ˆ‰¿!þþ§·Õ­n÷tj¸Õ &’œ‰]'òë÷9ÁÞ낵&½²H¡ÉSŠ@Vé½f‹sáÚóq÷ý<>Å"ÕÆÑs¿3g«ó?o3®l^«voŸµYµÇ7êò-·2¢®úT\ÇnÉæu#¾±T*EsÐòc$=Û} ÊÆ£GS«£h Ýv¨bý2ïð̈ cÔv“¼×éùOŠ-¥ËÒ?§Z4§Ýþ‚õ«ö>É|xðɧw5¬\ÝÖOïÈä(„Bÿm$‚àÚØ¢ì€ ý“´]./lÁIˆ|ŸÏ¥«µìfÓ³ƒ†Tý럸*/&2âmjaYA»-³§ykZ»mˆ˜“ñìÎØ"BÉØr]»_ðÜqyÊóg¯ãÓ‹ÅŠ†¦V6]ôd•ÆÞ½™MÒî2p`7Õ/3QÊS_>‰úͦ«¶nߥKkµŸÛäêAiúû—/ߥ±ZuïkÝF&Õo¬ó‘¬öëCN רyØVâó§/âsÙT5ƒV&]ÍÚ©Kt`.B!ôçÒŽ6ÿ¦ý2‚þñyP¦ë¸jIïÃ3D9§:lÕ*hi{©?B!TןÛ~ª‚RItD87QºÁÚÁ-d=;ä¶;@èÐV˜s „jf0íøk‘”lW­ï÷nÝÝÛcC÷¶Õ“åd%¦³ä¶Ó6Nn­I!„šL;þbÍ›.hw?y,ðáû´¸w| +›ÛØ›êlc ƒÃ6B5;’ÛB¡ÿ0\) !„B‚iB!„$Ó„BI¦!„’L;B!$!˜v „BHB0í@!„„`ÚB! Á´!„B‚iB!„$Ó„BI¦!„’L;B!$!˜v „BHB0í@!„„`ÚB! Á´!„B‚iB!„$„š““ó§c@!„Љ ˆ?B!„þ°“!„B‚iB!„$Ó„BI¦!„’L;B!$!˜v „BHB0í@!„„`ÚB! Á´!„B‚iB!„$Ó„BI¦!„’L;B!$!˜v „BHB0í@!„„`ÚB! Á´!„B‚iB!„$Ó„BI¦!„’L;B!$!˜v „BHB0í@!„„`ÚB! Á´!„B‚iB!„$Ó„BI¦!„’L;B!$!˜v „BHB0í@!„„`ÚB! Á´!„B‚iB!„$„ú§@ý7pž-ï?ÿ!¯îÛd†z‹.6öc\ÆZëI“þD`ßÁOöët$ËxÁ•s“ þÅ/æ¯ÚB7lí@ýIbNaRÄ•½KFŒuÉæÿéhB¿æÜ!IÒ:h©‰Tõ 1¿¢0õ̓K‡÷ÅæÜrŸÅPXm®Ð¼Ú<¨J]'+Që¤ðCwiââài7ÄhŒ;´¬½ÔÏï¡ÿ3˜v „þ2]^³­ó:KëN«'z†ç]ÞtbxàÂöÒ:®šÈª–.‹,›Ï~ú»aÚúãèzCW¯°¤ä\9ó¦’øÓá „~L;BÍYÝv‚  2"øcUÍÿsÒîù­:ÔÖœÉdÚ 3gËÙˆlnÌDPø*pÛ¼qÃìº3™½ìÇÎÚ|þe¡ N?çɱõÓ†Ùš3™L«þcço»ðš%üZQþå‰L&szh‰ (âàB+&sòõB13NŽa2™cNf@”àÌd2]ï•ñ²ú¯š8¨'“É´°sœ³õÂÛѧ]U<˜É´¸! ιôd2‡î‰ç×ÞÏ'üü¨ÓžsFÙug2™Lëã{Å”Šj-.¼îÂd2§† ËÞžßäê`kÁdZÚ9L^w"2_ó4R82™Lfo·—œŸü’L;BÍI®]¯ÖPùñýׄAÌŠðš4zÕ‘Ð÷y‚.M®*N}´{áè™_•‹?oÄO9;wøÌ—£sËɲ²vAÊË«^³F¯ Éÿz'Ø1G\¸õ.—CÐd(ü’”g—wºŽZy-«ö8V¢ò;Y Fäðová¥]Xä´üð½E<—g<¿²sº“Û­\!U³ûàÞVm¤4»Ùöéß»|ýßZ‚j¾ã¼=ן§— Nnq“ó[¦ŒYs=«nÊ$.Ü1iº×µ×¥rºZòâòœw|Lózþõ, ô—À´!Ô,z-U (¹èÓEW\ºyu`:0ºNÙñ$*âÖá¥vš ˆ=¶jwt9 f=òÞÿšòÖËOÜŠxô("â†÷Xvøþs‰ŸR ‚ýzÿJÿBPë·ötXdÄãg7|\ÚQ¡"|ç®Ç¬š×îø#™†ýçlö=zfk•F~"czÁoå´=ð^äó¨G×̳”`…mÚ’'i?mÓñ­@Ãnñ¶Û–Ô©7Ž®*öÈʽ¯x@kï²;èQtDdä½óžú%÷7»]ªÙ$l¼JqØôôQHPð½g–2¥ ®øÞ-ø;E©›ÓôÉ“§N±Ó¦ýü§€Ðï†iB¨y Ë(É@U)§úRÊO¹äÎÕá;wÍí¥Ï èê]ÇoÞ7¿-@Éý·sEÀÏzžÀ0œ´xTG% èÚÖ®óûꪨPsó«ªS“¢~— Ú,<èéh¢L#‰®m=wÛ‚ÖÜg×bØ5¢àÈ:úß2}P÷Îíôä)F«0ÐËoYߊ4EV×bª÷ÑymøÑÇ®¦5i0Qu40@eÄžý lôeÉ@¢)¶²wóßd% â˜S>rkmÏm=ßgÍ@})åÚ^>AŠRY_ÚEÈÊÝœæ,X0oЦ¨ô!ÔLjý#È¿›`ä4©[­)§tc‡ÉÝÈÉ)U@¢JQ ÷ù‹ÞçN²²Ýök¡¡×¶÷R$Qþ.ä­È]'ÚҿÝÏuªÃ!¤5›;ZN¨Saƒ´G¸tWª±•T‹Ó­èYžˆ/öEUÒÝW\ýÑã»Êט0LÖèåb§P‘S+}1=P¿F6AS1T±‡ß¢¿Í¯ž@[ùÌcšwÜ××t%cóaS¦ 1i g³1¼çº?öôð_Ôá·M¤•¼ >ú*¥-¤+jvêë4ÁÞTïúSÄœ²*`(1ÈÜÌWYPðÐgm\í?LQqª€_ªƒœT‹!CÎK{þϨ~¶#G êÝ⣑½Æµ\û.] ×­Mít‚ªi7ÏÝ®NòmÛ«}ÿwQÆÄBŸ^ë’‚‰µD$ä¾ËáMÐc|§¼¨49¥@Ö¤«V™Ý ä]Îûl>´øR…‚±QT¨y-n‚P“ý¦u;”;ö4U%s‹RÞH}zz»Xgßb3ùfôg"ȼºuó…t7êÒÓLŠ•ô.îÉÙͱEwO3‘iFa"ôBp²’X ÖJbni¹8±OÄ6X€[Î¥ÛÍØ·6o>Uœà*íí†9»NÔZ– Bvä4å›ðƒ'£$Ý„{$y-…ºý/yM%2§¤RØ`‘ZDä5ê…D’VQ‘àU”ñÄ ÷9ª ™Ðÿ‡ß“vH·9s^'aöååK.äĽÎã›É âo>rãEz™€,«ÝyÀäÙc»)SÄñ·Nœ~ž\Ì“Õ6í7a¦“…—ý•N®Û’§?|ƒ§³~ÖÍúÅ vB°ŸÿÕ9`h;Ê<ýÄ…”¶ xZ+ Ÿ_<p/&»‚ªÞÁÎÙu‚µN»¢2éE:€ºƒÛ–‰Æ41ëé¾mçÓò’Š…&z4¢*ýQÀ‰+O?æURUŒ:÷7exW57vßœ ¡×F¿y&R¢Ük+Íj»ðˆ§EÑ©E«o–v˜:Uçéõ”®«6TJ®{DêTÁ7ãAAåÇðD7é¨F…Fi»ý¡;,¿Ýx@×¶™»ÿÖ”œ÷Oîßñ,2:™{ÿ¤ûýû±‡N-ë&O"‘id šÒ%A"“›ð§)ä ëíK,ˆÈÔ¦$Ÿº†„üv#ä‹€B§ÔÚþ^ ÿ¿sl‡˜[œ“P²ª 'æÄö3‘™²]b©\ð:ÈçX GTîãyòq£Ûa¶zåo¯yí¸ñeê?7ÌçŸ\ÕÞËÝœMH± —>óÝt:*“ÔÆŠ©šp!åsÉÔK›w^}+ì8bâ(&-öÖ>£ïÙ5þºI²íÔ oíó>ôàE\–¸ëüûv¯¦GqiÔw>p {ÒM.+:p›û™ø*ø6чSGåÓ”È û;ñ ôŸ'.x|6œ Ðsh[IZU“ÀÍÉ®¨;IT̯(-)-¯ª5†‚ÌÐé<`â’M.„>º´kfwy€ÌóÞ·rET%%¨9Eæ3~öã«/G6¡}¢6VR»NXüüØ<PÒUjB_-UAG™ÀJÎáÔù%²’s…rZ*xg‚þ/ýžÖnä¦É‘_^ÉYŽí­M!süôöÊLµØÉÏÓFf±‹XìüŒï ï²rÁPM2ÛB÷ìݨ¬Võ1`ëÓtžþ¸­®æÊ‚£P¿8§0'è%4×»9RÙ=÷/Ü^ÜÄwrA®×ìÙNdøñ«n„_™ØÉòK?½ÅøkU®ÜzòæÁ¹—wHJmûM˜íb«Uy9Šê#Ö­oL#†µãÏÛõòáídçYßÎÐTû{ìšÚž!ν±²ÞÅ\ÿN<ý·ñ³‚ÿÙÅÐ1¡³\õ{ÒÆV­Iao?=Ê>Vçk—QúxòGœv«ƒOÖ¦ž]¶"0Guȶ}3ÛT… Ëõš²Ä)ÄéHVa*K:RZÝ:ÈC+òaÏ´Ô—=q?žÚ´ù2Kgªé õŒ8öFTñ {õ¯? ¼äÛa¹ÔV–úRß(÷ I¾…>¼Îˆ¹ùª¤_ßÓt…9á·SH-{6«%âúU~çØ*è Úm,í¬Û(’A¤ UuòèQ?‘”ªŽBõÜ0QE^9MCO²mGÌl ¼ŠÓË ûå–ƒ¾&EªâÂÒìRšn[ 0 :iAxÁgpàÑÆÉ¾DT”].‚¯Ý¨$šz—a³º U¥¾ºéìݰý¾íÝ[åUPtÚjÒ€ÄÐo£/³ Kø„ê·˜¢ÛÙˆAVÖ?"¢ìñúïŃÐ!`¥½¹Ñß÷Jl€ö·©_Ò²jO§ô·q¾Û®Zx9I‘ÄeÑþ»q: ·R'På•«Ò³ÓÓ®^}?n¹Ùç¡ë‚üW/ó@ÍX… Œö£¨Þºœ°íTŸýÓ;U˜æÜö»ÁPíac@o ¶o>÷ÚÜq«CuQ1ëÙÓ¹ k's¥š·Í5¡ ÑÚoâÓ>wMÖ¨žóJpâÏoõK ÷p²RýÁ¶hqÉËógˆå;Žvé‡shQ³õ›Çv|ÅO ò»Ãî·œ4yÍVÌ£œìMU('íáÙãW"âóÙTeÃ.ý'LÞE•DUr°¯Oàó|‘RKëþFqïåטÉÒuͱ5]eDeê‘2™÷½xB°Ÿ?}ŸË¦ª´2éjÖN½þhKAñÇç/ã3r ØTU]ƒ–˜tõÛ Då©/ŸD}ÈfÓÕ [·ïÒ¥µÚŽÛeLî¤ípya NBäèø|.]­e7›ž4¤jïLÌÉxvçaL¡dl9È®]Ãk‰«òb"#Þ¦V‘´Û2{š·VÁ– ôÿìW§’%(Iú˜Î¦i¶i«-Cå¯\p*ÓdéÑÝåÿtd¡ÿK5ÓŽ6Ø$Ðû»Ç4Š‹Øz«XÕfúÌ~êÙÁA™@nÓÝè{ë"„Bèø»Ó©VãÝÀ‘ÀGÇ·=K)÷p^8e€ÕD!„š¥¿;í’”®ÍT›©:„B}ßß=¶!„B|ð=B!„$Ó„BI¦!„’L;B!$!¿~& ÇËÌÌd³ÙBá?L!$aT*UAAAWW—NÇůB¿Ý/žÉÂårãããÕÔÔ …‚ h ôçÉÉÉ~ã ‚àñxIIÉíÛ·§Rÿòõ¡fïÿÊdffjhh(**R©T :‚PsG"‘ ‹‹‹³³³ ÿt8¡ÿs¿8í¨¨¨ÐÖÖ¦Óé Ó„š±Xßèô¼p!PEEEUUU‚A!„þ£~ñR‚ 0ç@è¯Ãb±ÁŸŽ!ôÿï×Ïd!‘H˜s „B¨>œ@‹B! Á´!„B‚iB!„$§é#„~¿ò{®v«^}-¥Ú¶×Äå+'tUjú­OÕÏ¡3® øÝÚÊdü†>ÇÉèwàö? fœç¸/UgJÀ¥i¬µýç?äÕÜZ¾Å€9[ÖiMD-ï?ÿ¡Àr÷ýý6rM¨…óÒmèRÞ¶[;-??~ã”7³Ž œ´-®ÞöÌí;ø±Þû¦›BýÚ^r{(óË[²:L‡yë Ôÿ´ø/ÖwѾ;§r6I¤F~nøñÝ~W# «ÈrZímÇÎ[4Á\µÎNÜw[æä¹ßÙgýùdñŒvy6ãú‰ÁìΣ¤Ý–ªÔÂfüеSÌ•¹Ï–ZËð öìö#¾¸äÀ];!Põj£ÓØpÁ£› ‰Æ&†;6ð¾¬dÐÚ,=å;XDˆ81×v¬[¿ZÝä„‹ xIwÚ œ)ï%Q£8þðü׌m9;¸½Š(ÿ]°Ïú%Ë©‡ÆÐ~à,P[Ì=~`¤€TdE^µyÅöv×·uù©S*Èz|/£‹WðV+…ÿÖL‡NTôš¿ªKËf³ ñßõú›1ºL]·qã¦þçŽÏ1¨|‘ÉqùÛSkưb2™vŽ ÷?)€¸ômÀz{[&Ó¢ã‚}rkNï—¿ØåÈdš;í{]!j¸xù»3+úZZö›äyîè$&“9ív ÀÏyä»`t_K&ÓÆaöÎ[é¼]¥™l2iíÆ=·x9åiFH{•Éktk^ìÎÁL&sü…QÓöN—WRVVVVV’§“¿¾“’nø}:€D•SRRVVVQÓm×{²kwzRd*¸ ¡Iúã‚ó+k—ÅEe« ž>ÚÜ@YVN­…Õ¤µË(çæUýØI&Qe••••••U4 Lí'Ò⤦”5ኊ£.Û¯;Ó¢Ïȹ{îgó…¹A‹çŸË- [>vÅ£ò¯QÒÏÌ]T0c̆‚—qÓÓÅÞšiÞÇÙãF&Äì„+žS쭙̃§m½‘Rç(ØKúO>uÍ{–ƒ ³{?§•§Þ–‰^Æí3z™3™½G-=úº\ ¢¨C‹GÛY0­NXw.¦\\c?'î„«Ý·Ð÷“ɦl5?øü܉À‹?2Ù‰HÅÔ…3lh¯.¬wÝ]þs¿·"Nnìû\1€AW=©F·"Ñ”´5Tt4娒¹ÕsR\{ÃUk­A¨JMíhgô;oskÖHV2µk]¸ÞíÀµ¨¤"ž(ZƒÝ½—Yü‹v!+æ~T…‘­™úw[æEù7×- ½¯?¸}ÈUë®ÛÒ3ª#}|Çéh:ú]õêU# šáÄ{GjèŒ?rq“ûÍÉwfž—¡ð`ïј*qYä¶ù{³m=/Þ¿{ne‡7ÛæïyéóUaØš?fÏõ{—<{Z²åq©¨øÞæM÷´gûß¼zÞ³gêÑ]¡bQÎÕU+®)Nó»°Þ6÷ÀÒÝo>_„€eó.¨.;ì>@‹ ↊ 2.,_{Wgîñ;¡'æªÝÜ÷²Œ ¾E»áÿ¬)G÷û4ÿNŠÞ¸-ëûªQ!;ÿõ¥]þ^G÷/n÷§ãBý(Îݹ¶Ì/¯ìf;P€ßkþ*353KƒŠØ‡‰7ÂR*ò +²’NGó¡å’]›&è‘+úí»’C*çì·û†&VµœwrMo5ЏR©~ñÊœôã«@oÚýs[Ó*zŒ˜RUïOf€Âõëg3| Þ»‰§CN½XdQ³Ïÿ{ÄQKz=íÁî^Œh¢üF¶¦·v=âÚà~ØæÕ8ЩÉQÔÆõláùù•²Åœ]®m¥€óñvzçQ†tÉÕØbòáËíoß ÷_±'¶@ª³Ïˆ©3FuQù¡çs v:Xîüò’aå~a–‰4p¾QDùοÓ~qŒ©4/X<|ïõ”‰sšV'½¥ËìF *´µµÕ9Å”Fœx(7áÔ$¦6  Ïœ•ýî¬IZÜÕTºF!2ÃzáÜ¾Æ $°š¾jô-×€è²}Öž-”´Ô¤#dÈË8%núýs mçíÔF• ÖS=·è&*79pÅù« ÖûnØëÐHŠõ‹W¥†\Ìè´`*dè>eÑÀËs2@\Ò„ð'nÊÑý>Í?í Q¤å( жC­/?}“U!Æ´¡tâÄÉY³fÕ|ÇßßÊ”É AÍ| ¥ÈRÊú¦v#›ªA¤"sß{ÇöMB C¥*–e•Ðu•) ßyÊÚÎPõæ:@~" R¿(˜ÔB*Ó@q+­€nÔE‡²­, ä=Á-Ì©€›³mo~‰(/%źC¾ÞøÕ{Væ§±üâ„gÏ’r†½7ÄPáÇÏ™næ~ÒÝìËÏäã³W&ÿøn€Úrþ!¯þªd ‘éòjjò´ê,ŠóñNV—±ŸÛ:~„ˆÇMó‘³,F΂ϊ»ÎwÇÌY¥gg¶úŠ¡ëÁÝC5)„°2ãÞž5;7…ZùÚg ©¨<¯‚®m¤Tá:Frìœr!4i˜(‰¦j L ‘É$•ås3ŽOx®ºG@ÄcS­*ëtôP•[hIWŸkºV;u""¯’æ‡ù¸ßŠ-&)éÊ•$aifÃ@—Q½#ºžíP=à Evt²¢\=|3ËÜYŸ @" 3ëϨ5Ðþ\\ÍX•–Ñ´ð¾q®þ]ñ«ù§5‰Ê£ß±u™”)ÐØíB¨aÕÆ—ÌCâ9ǧ±µ®¼Ç6x^ÑÝýÊ®aÚÙ‡ÆÊ Êk)°²’‹…V²äòWÇ}®dëžÝZLùgø[·Ý¯}½ïÛyõÊo 8E^S 83®@`eL㦿É]YM@fÈf/gCÁÍû—#P³Ð¬ù+He(JpÒâ‹„T Øé± £Ì  àÓØ9àD¯47ìyXb•ƒÙOœ CMGW÷óŒ~åçdá'¥T´uuÕët™sboçt§ÿ5£úí5²Ÿ­¶ß¬á{e© ‰®Ò~Ðô9o®Ïx–PéÚJ¥F]dº,]TΪƒÜ§=J²Ê l²”’–®®Nuþ ç<Ùò´ûë¾}«o‡DQДãG¥—‰¬d)'/½’ÑRž Më:¨»´6E^C‰a2ñÂIGM2ˆÙ™IyR†u2aIr—hC'ò AQÿhý²óšé­Ï sž-æ@•×dpÞæW Cà¥\=öDÛib'š–ÓvÏešrÆlÙyÇÎgˆ°î×/N‘×bT&åU¤Iü¢4– ‰á}ã\ý»âÿV3ÛñÂôãóÆ}Úáºá¦Ê”Õc[4Þ—ŠjÜ”)“ýýýáä #D1/îæ™C»×¯:š@PtŽïF…”}‹×îòÙ¸hÉÁë¡)Ò*2$ÙVÝ­F-¨œp¯ƒ/Ê… §êöÓ‘ éç.Ú°eÕŒEA¬êº¦ã4vöêãç¯ìõØê} œ+/Uó‚#ÓqÜpm€ä=Σ§Í_8{¨¥÷Ù máÜG«þ-•F²+øŸ®lâ¸Ó[=>óÜš#~âáiö–Ü,×+þ›±cnç1{ëýÈ’‹ÑÁÑF´ÆãdxlFAqA懻Çö„°M™Ö]@7doðÑ{½_XLFAaNBDÀ–w©vN]åȃH4re~Yõƒ >»²ü³ŠJntŠf§NYG¼.ÇV–$ÝÞçóZk¸Ã·go«xÝá“UzŽ·ÈõÛ~þUNyIZĉe. N§ ë„'æ„{û†%³XOl d[³TrE4yE9:‰_}öhd—çÙ;~ðõ½“RÊ)~wáï«i4i2è²Rd²zßåóÛ¾òöyR"BP¿8½åð:o÷íK)«È>í{·T@VmBxkäèÄ¥ck ÿgÿÂþ­8OϹ•®n;ÓgçXƒ¯~é¶—ö—ÖµmÈ*®ã¸ÝËÅ\‡–b0qbËêb$Fçùû7;w,»wxï¡ÛmF®=¶c¨V­q$y³ÅG,bª^÷,âe­•Ë–;‡ëÔÏ:hJúÊ[öé©üUèÍÏ®‡¼-!(Í-`åäW %8Q*ßß.°lÖd%ëõÇ6?ðYìl?ÐÞiïÃÙûvŽÖ«{ò¤ÛÍôÝ3U=jÏüÑöƒ¦{^çÞ|d}Õ†®G4µ*¼wÁÑ,€¨âî{»Ïú Ýü¦Æ€ŠÖÐ-^ÎpqÑÞ¦ûåöݼ{ò7ºvèZfÒ7gŒX÷¼á1#d;wï)ÒÁ«GÙõwÞð@cŽÏ fÝÅ.¤t†!ÎÏ:`ôú‡ê®»Üz«ªõ^1§uøâÖ}G.»!3f®µðü²4½¶öËó›ÚÏvТ`e׋»ÔlX ê:¬™¦ñàŸƒ¯8Ê Õžäåa²{bßA®ÇªìGÉP¨ä¦„÷ çgowß}¿ ÑgUÿ"$¢^×å¿ñòåKSSSíG¾ë‚ÔÓ‹ÖÆ9°¥ò§d­êýž9[Kgr7/Z¾"ràž«úi¨z·k®¯Üê}³ >GzÕí%3¡¿Õw|ïã³úöíkfö3½Í¿ðÃ›Ä ºž©©ƒ,Ê:;~ÄîänÛïê«ø§#Cÿ/ØK†íît,`šÑoNíø9Oï&éö¶1b¸ï·;.co¾æÙMæ÷Öú;5ƒÖšŽµ­vêɽ"s‹K ÒßÜô?A±d"Û@“™&MæûB«Ø_qm/Cý§ˆóC6,œ?cζK¯Ÿœß}<ȦvmþèÊŒý$öۣâ*ÅbNJÈñ;\Ó¾-ÿî›íæ0¤TÊxŒÛj™³No¹ZÄK)tìµÈs”…êßžQ•ôøÏ½/k' "väö9‘_þ‹aíá·°Ãßýq „~éó÷o"ýãìµð–XZ­mÿ¹›–ŽÖo¿vý z«)ÛæçmX<ȯ’,oØcŠ×j›˜ðÝ5ƒN„ÐïôìdA5[Í “!„Bÿ ˜v „BHB0í@!„„`ÚB! Á´!„B‚iB!„$ä§$I,Æ•ËúË(++á¼w„üâtäååËÊÊÔÕÕë>Ï!ôçDDDDDD~cƒV­Z+(üÄãÛBèÇüâ´CWW711Q,«ªªâÍBÍÁ·sYYF»v&ªªª:::’Œ !ôßô‹W)—™™YYY)á3Rjî(Š¢¢¢®®.þ͇„#„ЯðëÓ„B¡áL„BI¦!„’L;B!$!˜v „BHB0í@I/fÇ &“iáz½ zQA¢$t–“é°?ßH~²ÿH&Óbî½²¦}'X·¦õâó‘âòhŸéƒ­lçݯ½î»-öÞq<åœß{ÞãÊŸ<¨ŸÃyå>Ðñ@bc‡ý‹±Ÿ.ìã|6KøÿSÑOùÓzM’ý4/˜v „$CTôîUˆ_Ÿ ÍpÓ"“ÄÀ0aê62y—`'¿ÌÐëjÌø¹Yïetñ öµSÄ j0í@IÁNŒL*@bà>€ ÿõû2€=[ȈËc®ìX2yx ¦EÇ…A~|Lÿµ¯ÄþSÜ£+Êc¯nŸ3º¦¹­Ã,Ÿ9|Þ‡ƒ™LæøÀœúë‰rƒÏ?—[¶|ìŠGå_[;égæ. *È ˜1fà Á˸ééboÍ4ïãìq#“bvÂÏ)öÖLfÁÓ¶ÞH©ªÝÜÂŽXÒò©kÞ³l˜Ýû9­<õ¶L @ð2nïœéИɴè=jéÑ×åbEZ<Ú΂i5pºs1å5ŸApâN¸Ú q Í6V\¾g¶ƒ­y÷.žçfõZJ|/< ¸i!ÿL³ïÉ´è;våÙ•Õu6PªáihKQιICÖ…ÜØ>áӼϸ Á™üF*„ï7Ü–ÉdZÙÏô~XP÷³á'pèö’Sý"åШkŸs‰DT}téØ~Ý™}FÎÝs?›ßX$µ?ûº¥ø?ù¡ 3OwØp+h£s¿Ñûj´Ê5Ç/À÷N{sA „T½Û6ÀÌÌjÁiG3³þ[ÞpDÅw\ÍÍÌöÇ¿ôv433ë9~õŽ«ÇÛ˜™™uŸœ/àd=Ú:ØÌÌlÜñ—iÙo÷533³™ä¶k×ê1æffL—ó™BTºlXÿÁ“~ä}©H\2µ»ýî8AÜ^Ãì·¼­ªÌÛ̓‡íŠå!Ìp63ë¿68•ÍcÅœqµéçñ’#*}²®¯™GŸç”•¤Þ÷Ócð¶WlqT>]ÜÃÌbÔ¶°ViæÓý“{öYñ°DXxÓÕj û͸ü²âäG»Fô˜p1W$̾8ÍÆÞýf|Qqêc¿©Öý7¼dì—ëŒÜ_fvŸA«‚³yA¢†ŠóÓOOè9tã­¤â²ìÈý.=Ì̦Ý)ùnxU±{‡[ñŽ/.Ë}y|–µ™ÙØ3™¼†JU4x m)Ègn1lÝõäJnñ»S®Övn/Ø VÄz¼´—ÝÒËòKóÞž™icçö‚]ûôó÷°îÓ»¼dÇþk¢Ù žR~ÞµY6v‹Ï½Í//N¸¹qh±G“y†"©¹aC¥~îCçgœr²è1`úž—I…¼¯ç¸~ʾwÚ› lí@I‚¨èÝëbã^}ÚëιׅiIb`´7å^Úr6Ú,8u|ÛŠ[}ݺ‘Aò>_(-ËÏ(гµn/½÷D2hŒ?à¿iéÒ î£Õ€ˆ O©²j¯ë¡!'f·ýWk¬Ò[ºÌhÄ +·µµÕs¥'ÊMX5‰©­ dÔgÎÊ~ÂG!I¼Ú…È ë…sû++êYM_5Z6" ºLÁÚóâ™5ƒÚiÈIK3äeHœ7=ä\BÛy µQU1²žê¹e¡­@p“WÌØ×Ý}½€¤X¿xUêõ‹ÌÐREA§û”E)â’ï„ÇM .±\ºØ¾Š‚V·ñË'èQÄT½‰J{Úð–ÅÀÑup Y)•ö}íôElNC™J# ÊòòÊÄ*œ}®_\ÑIºiŸC½H";}ùS y•Öƒ,ì’t=¥¡Hj¶ ˆò4PªnƒH“?t1IÇÉmÎàn-Õè¤oFû‡¿‚Ÿ=íö‹ŸÉ‚B !*"Ó4™Ôu՜ͽݸªRXÐÉ\*úl:ͦ8Ó€TqÅ**4^Ft²&Ý´*_n{#(˜bðyrʲ”_‰¦j L ‘É$•ås3ŽOx®úÎLÄcS­*ë´YS•[hIW_‡èZíÔ‰ˆ¼JB˜æã~+¶˜¤¤g(WN„¥™ ]FõŽèz¶Cõ€ (xÙÑÉŠrõðÍ,sg}*‰,̬_<£BÖ@ûsq5cUZÆ÷ÃUäU)¶Òû4 †®ÑFƒþ ñRõ$;;³‘ýÓ” Uª¯$r£¬ÅÚƒnΞY4d[Ïfô”™S)|#-$¾¤ D’]A×6Rªþ¤I #9vN¹°Hj•ç5XªÖU¸é:‰®ÞRµGŒ5·/€ôö?Ó„ðÒŸ%Aº…,ÛsœµÌó‡‡@Ï¢µ(ƒ@¦Ñ(@p>^9 Ðj°µ&=zÇèØÃ˜VöšÆ3önì¥L"„U•UBª¢qG™_]ÝGfSä5”&/œtÔ$€˜™”'eȨ]HX’œÇ%ÚÐI‚ü„BPTã?Z¿ì¼æ†Cgzë3ÈœgˇyPå5œ·ùUÈx)W=Ñv𨠀¦å´Ýs™æ£œ1[vÞ±ó¢¬ûõ‹S䵕IyUD'i¿(%hBxE]¹²¤,Nutü¤B~£¥’.Ö;--톶¦ȵÎTƒ‰ÙYiU-6sÝÀÉzvjíª¥U†A+;HÕ>}„øS¶!(Î(6rJµµuäø/ÓËDV²‚“—^Éh)ÿ)Yht0EASŽU¿”àg>t^ò缤®föÐ'²¿Ú›ìdAý~·oXÆ=[2HŠLç~Š ÛÞÌР³1„Ï<¬ßµcÕôGR¡…ËÚQúTnÆó RUâ«,ù.¦Š©A§/‡…]Ú»|æÜ…?Ðéü&à°,´HüúŒ©Š×ؘ;²JÏñ¹~ÛÏ¿Ê)/I‹8±ÌeÁétaK˜îí–Ìbe<=²-m5ÎRQÈÑäåè$~AôÙ£‘e\ŸjdïhøÁ×÷NJ)§øÝ…¼¯¦Ñ¤É@¢ËJ‘Éê}—ÏoûÊÛÌ¿DL IDATçI‰Aýâô–ÃGè¼Ý·?,¥¬"7ú´ïÝRYõ;áI·9T5z—÷ÍøÂÒœ—g½ÎfŠHT½éÞÒúû‡ßxEPñb×ÜyÞa)e\¾Hj+ …¡*]ö6ìY›Wüê¬ßÓσ,ëEÒ£S§¬#^—c +K’nïóy­5Ü¡å÷®¤Í> ”¢ÿн•ß;íÍDóŒ !ôåÓ,-³öÊdF§1C4ZZµÓqغÝÅBWôáö…Ûñ4‹±kO™o*Kš¶9S›N$ß}Z,k¾l÷’þ-…/¯:ó ¸íÏ€ý[ÐEÅož|(d ´ôäô—Œ®ea&}sƈuÏ9 þ?YÅÎÝ{ŠtðêQvý7<И㳂)[g)áCˆóó‡½þ¡ºë.·Þªj½WÌi¾x uß‘ËnÈŒ™k-<¿lÇMg¯­ýòü¦ö³´(XÙuçâ.5›M¨ºk¦i<øçà+ŽrCÅcµ'yyX§ìžØwë±*ûÑF2*ù»áIµž¶ÛÝ:ëÀ´Á&n³X8LÖøAÕ;J¿ñŠÈšƒÝ—Z$ì××¶Ÿó†Ç†ó¶ÏjW;S h Z6ÅàÉ:Ç>ƒf:Í2e4rJUhZC·x9ÃÅECz˜î—ÛwóîÉ­¾ßq@i°Ô¯øÐk{óú(|÷´7øZ„úaìˆ%Ãvw:0ͨNÿ_‰Ÿóôn’no# €û~»ã2öækžÝ~Yÿ’Ää/Ф)þo¾’‡­!ÔŒ±ßu÷¼W)sRBŽßášömÙ<'( ßãÿî €CJB¨ù¢·š²m~ކŃü*Éò†=¦x­¶ÁWÿKþÿ¾ØÉ‚B! ÁN„BI¦ˆˆSRPTÎÿ™i!„Ð_êWí¨|æ1Í;îëkº’±ù°)Ó†˜üÀ7ÞǃsÝ{zø/êð»FÎTÇ)Ýc½ÿ’N2 ʽ¶|ÑÙlõ;}F–ú¸ny^k]Y½žÎ‹f0¿Ûéºå¹ÐtÕ173F#{^éŠÅ㦶ìÖÀóÝt:*“ÔÆŠ©šp!åsÉÔK›w^}+ì8bâ(&-öÖ>£ïÙ?×Þ"ª*LJ($´L´šôP/ºPvÞH]œòZ 6¥OžMÐì7ª—zÚ±¹Žã7>¬j=zÍ¢P¶ÿj† á]"„Bÿ~OÚÁÜ4yìXg—9nG_WœåØÞÚP`ŽŸ>{Åò©ÍÚ«Kÿ¯½»l"YþÍFšº{¡hq9(Å -îîî.ï8´‡½ƒÃÝï€Ã¥…Ãýpm ÔÝãÉîû#I›4[%M |¿Ç+¹ewöÛ™Iòuvw@’˜,Œ»{ö¥Ê š;e؉ÿûßÀ6-*C¦”¿;üÛÎÒ2æi`ËaØ6%Ü;õD Î=.˜2avÀ\_Kõî?ž½-Æï×µßÄi íæ?¯2 •wÐ/V ïÛ·oßÃ&¯8ïØ|œÎn"&V³†zõ¬è8¨LUí±IتSǟة눭Ï-ê7¯jEÑ’41|ú÷E*žhAH›ðÎÔVýEªÎoJßl™úû[i>›yØŽ^~³ï³O«]ò²Ã£ÓnåßÄwRpšìëbVDèï7í®Ð ²)¥u+y±¼c×À·RPFØrÒ­Ì’ÉJ¼¶‹iº0ÛšMkÛsð­\½ú5ó²¦@ieÿ`ß®]Û”&önVPfĦðœ<¬8`^¥ûØ* }w éKD=yܵŒ3Ç„esEjT*ϽŠÌÊÖr›Œ,9^ÿ.öoVD‰QéJ°Ìy¸Ù™ˆÞô%Õ›ÖwäÒ²Ô//ž‡'<¼û~€¯[^ÓógS=†™Ê‘Ñ)…IÙ]V–á>öÈŽ±¥/,˜¿I=H#LÑxoB¹†\ûPµýØ’zÊDZÅäyu+–Ɖh‡'¼^wí¹ßšX1¥:æ,¥¼n¿3%^ÛÅó%'¨Úcì¤I“&M3¤G /kÈ>ÚvúUFÍ îß<«¥p,,äñ©J&óÍ_[7mýûútˆG÷C«qè‡÷>H¡sÙÜÞ@–¬Iô»x <+[ëS—­\¹rÅÒÙc‡ ѧ¾G+BŽ©@õ9U Àˆ¢C“@`%P×U¡Ë˜I“&M™ñ˯3›‚ôÕÝ/_÷[ׯÃFë?%¡÷m]9}ºk1ê%”»‡mK„¾}Œ4üÒš±][4ðööiÙkæ®ÿÒiPFÒé— gWîÚ»A«KÎEÈÉç +GvlêíÓºïÜC¯35C€’WBj´)ÏP&=Ü5³o›FÞ>­zLÜ%c@q``×%O-íߦ÷æÙ÷¡é.—?ü0¼c3oïÆþ#;&f@8®«o¿>3·\ÐmÈ¡HQÈ=Û/x¢úuP¶½W»ùDÊä;[W • LeüÍM“ºùz{{7é86ðF¼Þ#OÙVÞÑvØþ3ãº6÷nÔ¦ßÜýÏÓh ÙbV$>Ø>½·Ÿw“öƒ~9ò*P‡'Š95}ò‘˜”«³ûÎù7]¡‰™u]òØ›ÇwõmШÝЀãGƵ}%Uëײ7ûŽXB«>4q*£ é8çðî¹}Û4òñë·èôÓàMc»øz{ûöYt!ZžK$¹϶Ó|›&»>¾œ8õT|ôáÑ}–<©+á|ÀЎͼ´ê¿øl„ X»b.»È§X«½7ßd‰P§¶YZ0Ïž`FûÝšQÊiYØÍ³'öoü;€á85íXWnØ{૎]¿ib­º•ÔÔ³Nݶú8ƒäÉžc¯…ì›7iW™@ô±€¿ÿ¸xEPšj_¦^üì!íî¹ '¯ž\;¸eû¾£Odæ:—” *ulåq`öô…ËW,;}õ1˜Ôêèã ÷ÍO8\ @)ÉÕUO‡Ýñ»ÆÖCwrï¹Ú{¬Ø¾YvÞÁ)ßqøØQ=k[g-¡jwªóOy‹Pn褠e¿¹Žÿó|ð•£M?íZw%žeµmªÏ?råÊî‘–Aë·¿IÞí˜p»ì¤=W®ú_õ§^¨ ¸ò©¦_9>(ãÎÿ2û0Ó3ðŸë—¶q¹¶`æÁO2 ã®l8o;lõªºÏæÊZÞÏæñŠÉ›¢|N_;2·Æ³“7>ÉB÷O_ì2vÇ¥k‡®ýüÏKQ2–ðõ'Ï2Óï­ZtF0lÛ… óÛ‘Ó¿n~–c<;#—„¯? ë³ñŸ “-â·ÏX~+U™vO¿|EôéysÎXÜvñÊá…¾1Ì\Ÿ½®k [¸9÷Üvzm «¬e›€<üØìù×Ü&î¹|eïD‡ó›Ÿ¤iÓ¼ùXwD³EnßdÊø§3{o=wiÏpÓËËÆïLÜùòŸýÉÕm'Ãdì‘°ϰí4ߦɯóüǦNnwžXâmŒðÙ¾õN_Ý;Úêú¦]¯Ä¬]‘µqó­Üj8]k%äöfÉ®m½Ì»'„ÑÒ“J½Gw¨l-|ü’ñéXÄ>;úÍ\0¨±§ä¿ goFÛÕï3ov׬3!Ĥ|—aÍ!-xÇEª ÛæNmgÎíVÓIüòß{®]º”QohZeà‚©þ•3ïŸÛÏI¼kåj1ÏB5W‡d¾¹ó¯Æõ›ïÓ ”v€YÑ“}4Ä„âPTö™˜²ƒ§·uÂ,è;E¬›œ8øs‡ªN™¥)¥ˆ”ÀpÊöã_ÁÜÄ®zk¿2òD¡èés) gNïèegåRoàìAª·¤èÝ¥/uZ{òAwýè ÷Q³ûÔv²´«ì?ejݘSÿ„ÉhâÖoÁÿztoZÓ,/Ï}²ï†Å yC¼]­lʵš0·âß ¯^þýw|ƒ™3:U±×Ù]>ò,3DÎåQò´ØØ4Ú®Vÿ ÿœ˜S+ÇüCT.+PfͦNl]ÞÖڣɨy½Íï~ðùÎ^½òß~¸päC•IS;xÙÛ•k6"`ùT_Èû«Aþ%ŸMdŸþ9^kÊäví¬Ü ŸÖÞZ÷ó² Í'eÛzWÿ(Br=f5†ò¶ØTnÚØÝ¬þÈþumMík¶ôq%‹”¬‘ˆÙ‚§SØvšoÓä…_qèøöåÌø¶U|}ÝäI"kWdÛEþ5[ çÝÓ´J`mÁ\ß,Ùµ³%y÷ƒ0ôµ–?®½ «kSö G,o8BóŸý‡h^Õè6}u7BªNØy|‚ꥉ÷ŒÝÇg¨^WÒÛ\žò™S³Ï/=¸šeܹ¹'(! 1qk6bq³Ú¥æ|_òìkv™T³KÎ#`LëÌ>x\k®{ïÇz«ÿ5ëŸrnźTåÖuÅæ˜éSv½”‚âÞt¿†Z©ÊXÜ:.Û2¾¦YËAÈ Œ9¶F(EÄÕ ‹.¾I"6žéŒfç<[O;®zeF¬Øº’‡™êßùN^Nüë zw9²nß²|Yzlßµœêع•³F§+ß±¢=Ë3È5ËåiÑI’ð=#ÛQ¥÷J©Û$-Iši¥¿;Œþ•Þy–™)ð™¿uÁ±C§uš'ôhÞ{øØá¬tN¤›ç²×¶‚‹@ŠKUGænTT[̲ ³²îfªE|ßÎçmpŠÔ–MtVÏ0/ëªYÁ¡¼=/\ûx Ú|¬;’b«¥\[£L,M( „"\s3Mñ$×HXƒW­iò@xöem¹ª (J֮ȶ ÂŒv äVÃy÷4­Ø+!·7K6ý̳'„ÓFç¯bG'ÜÚúÛÅ$ûæ#Ç´qŒ:w:(¯FåLKí·7eõÓ„íg}¯;ræú³°8!×¾LµFû ìÞÈ]@JiÌ軥ÓãHÖâ@'/œuÔyÉöƒ-˘Q¢û³»¬ÍÚ1¥³W޵»EZH¤ˆñâYBH‚ Do.E×P†+g Ùƒ/iÊ&æFû%Ó¬¢%²¾ ô¨—s,l̪ >¶¯§3´0"$ÖÄ9ãOAjöîC5_ß ­Î6äIá)z3æUf&ò£¸b¿%»Ç,EÞß?ÞL±ç©¹5²/…¥…‘ŸõW( H •¨B‘Ç}HkWýò]•'ÍDÏãÄ ˜iØéÝ·]û ®—Wýs,Y6i˜=OÇÒÅ,3$VÌÔYâçdí4¦ÍǶ£YjÉ3yžsÇ kðEkš<¢Û¿X»¢…„¥qg;çS¹×p^=M»öJÈõÍ¢uT9[0¯ž`†ÖgTÔ©ÿ“VýaŠñ¯âÀŸ'ûWç>Ù»rñªã!öúÏ›ÑΉ*Þ~åʦF‡q˶=wùúõó'÷¯Ý¿¡›€)é¨ðÏø€Ö¼yÕï\Í›×à¹Dɳ´¶àYüÃC»î¥ID2Öý*÷èlÿp]àù÷ ©ÑO­=¡$ |u)Ö»¥€ãܪ_­Èkÿz•™rió†ÿ\ºu-ÈUù”]Ó>1ÛV}žòùîÞYC§øÂ­Ò½ƒõ}Íî¯9®Ž™½ íùÕûáBiÒÓCÛîä:…0k™òÌÇë&N ¼–&‘)p¸9>g3rYÝ Ür5499üÎÎÇ…M4ªØL¿|ª|Çžž¯·l¹–*JzqleàéÏÖqÙjIQ´—->[ð”}Á›†N}|áÆÖfVˆ¥¹Ë°vÅò2–]°öȯ†ó-µ‹ðfɧ'„F;ÔŸYÚŸ_êÜ#û?s®o0|—¦Ãç7®½H©w/,Bˆ} € @ @@õ bØ‘Ê®åœ A?OoŒçX¹é€!›n™µºÙ¦Šú«šT¹~QÚÒ-#ýL*´2µKÌéÌ——â}F{¨O p\:/_›ðÛÚiV§›º{÷X¶~X%>D$¿Eñ+Wþ¯W`2cW­Ý„ s¼ÍMa|àÏ›Gø*´4¼Î›«—³†ßXøKÏÓ‚2>}Æ«½ñU!Ê´2«¹hæ³…k´þEɳ«ÚfÒªqUu~Ÿ¦œýYV˜¸uëÄÜy~’ ‚ï˜u ZÚq(–˜y¤ÿÚßRG´Y ²¬à7fÍôºf÷—¯Ë&Úø†¬]œ¼xýàÖKí¼û ï]îã+nÖ¯Á…h>ÖQf,G‘ƒ±Ö7[$-NÌѾM#‰<·jÑ.‡›xéžqá»øÔ,Ý]´õt€;K4l]Ñ”çβ b’w °WÓõžZkäS‡¬-Èe}³|É«Šóì †A˜¯ø’Î:¥’•p0ªù/õàGVј Tzd ¢Ê0T9‡úê%PŒ§]J'á©77xù§Ã¿=löK¿²ÆowC1T ¡'|u%gg £•mh~2 æ•>ªlƒB Ô?Q'ª,éø¡ ŸïZ´+ñMƒ«RŸ/ì¹,©½¸bq=ÿÛð¾2xEì­k¿nîßnÎ`¸,þžPôzÖÕ`²®N`h†¡íüƒưçVBE¤Û ê<ƒE€"„0@ €0ª³,š¿Ñ÷_iøŠÉ±K¦wØ–IYz6¾öÍ¿i„¾6x®‹ß˜‘Å‘ªÐŠx’%GΡuCÓ dt2šМ|A•$uA(õh‡:çà ( ¡ÔK²ò’¬MBȾjTI}ñ»&çPÒŒ2û§:ó 5—{àÙ„JÑäš„(B8Càá¨F<Ô#"ŒÖE !dEM;4wªhç Zó“Q¿Î­„P‰Ðº`²68pàÂ0 C(B(Õ}.x‘BÈ Š’v0šŸª Ub¡çÓLš„¾*þ”,Ï”ácÜ*í,M(/^Ë ¦–|ÕÔ„0Œê êL<B†R”k;Tã44¨¯äP(9ÍÈ•,VîzœÞ¶¯†=±.©T#„ ,EOã™û‘ò1 ¬,øxár4W{¨&1ÄË;BR¤´Cs1©jCA3r%ÈiF¦dN¾Ê¬ëDù¸q¹\nΙdB¥Ã0 …â|ˆ\¨ m*™ñ9„G¸á¨îpÑ\|ŠBÀM3Jš‘+i©‚Éè4‰2Q¨ˆNW|N‘?—”–)—Ëiš.BÉ!#£iZ.—Nν˜ð9E®H*Ò$J‘Œ–*h¹’VÒŒÞÍâçËü»¬{#)Ⱥ™w¦·ê»ï‹¼p{…nïÙjÖ=¡!£’‡ïï×jêÌìy{JË~# ~vØZÁ(¢h1ñfFá¶Ò¡L{°~d‡ÆÍ'¥âgq‘å_ϨðŠxI©úòŽìa Fu ©…€Çápp¨¡o!„Ãá¸ZqS%´’fh h†d½µ|3vp[LžW· Og)U²ÃÖ{ÞÜWm%¼^wí¹ßšX}ÍW:­uPÞŠþ(8Íãß­Ì@uIæ};²Þ³Yw¼g¿µ ²ù—ƒ§žŠ><ºÏ’Ç"eÒÃ]3û¶iäíÓªÇÄÁQ,“ÇÝX7ºSSo¿Þ3w>LV-üðwÀðŽÍ¼½ûüíl˜Xw+eò­«…Ê@}dH§_.œ]5ºk ï­,9!PÆßÜ4©›¯··w“ŽcoÄ+sFÅHÃ/­ÛµEooŸ–½fîú/—À±…ÁH>_X9²cSoŸÖ}çz©»¥"|_ß&ƒOÄвÐmݽ½‹VÈÃvôl2ìäÛ[[W æ¨"F~>`hÇfÞ Zõ_|6BÆv°ú[©ÿ9æÔôÉGbR®Îî;çßtyÄ]—\<µ´›Þ›?ˆô+_}dHÇ9‡wÏíÛ¦‘_¿E§ŸoÛÅ×ÛÛ·Ï¢ Ñ9ž@šïʲ?z¶_ðDŽ,l{¯vó‰Ú1¼OׯjöV˯«èûA¢ß4»3ÚÛ&p\׿ÞÚô›»ÿyK±ú=$×zfÙ\+’Ž#¶l·X]òÏ»ûøŽú'o°ÈVè´#ûÑöYÓÌ Fãݱ}˲&Î~ ’Ö;½èxžƒÿØÔÃÉmàÎK¼Í”qç™}˜éøÏõKÛǸ\[0óà'YŽ-$áÇþ!?ô×2¿¤=³—%*Òî­˜¼)Ê7àDðµ#sk<[1yã3QnQ)®m{P}þ‘+Wv´ Z¿ý¥(ãÞªEgö]:¿m9ýëæg"ݨ褠e¿¹Žÿó|ð•£M?íZw…í«‚f CünÇô€Ûe'í¹ríÐÿª?=ðB¨×¥±¯cø·é úêaŸo¾Ëdè”·ã<ÚxÛSúUŒðÙ¾õN_Ý;Úêú¦]¯ÄùVlörŽk [¸9÷Üvzm +@Ç]ÙpÞvØêU}WY+_ãtfï­ç.ínzyÙøÝ‚‰û/_þ³?¹ºídXÎÆ)ÜÊÙU§‰¡Ÿå-ÖªÖoµ‚t•ìbm³öáëßÈúlü'èd@‹øí3–ßJ•³ËÒCr©çÜ¢ÒD²yéäæððÒG1È#¯]ˆ«Ö«‰ƒaöþ}øÚºÈš¥”ÑÌÏQ}ûöýÊý"„ ŽfFy0Å6¹Ÿ2îúÑî£f÷©ídiWÙÊÔº1§þÉùmÅ1÷›9¡U9ë2MFý¯Õ£c>ÝÙ{Ãbм!Þ®V6åZM˜ÛFñï…i.û`8e{Žñ¯`nbW½µ_y¢¦¸Üˆj}sŸù[;tpZ§yB潇ÞA÷!ç„RD\ݰèâ›$bãái‘ΰ¹2-Z?Œ´T©Øº’‡™:^'/'þuÝÍ[×e~»òQjÓbT‡O—V? {ŸôÁ¬ÑhÜ7Kxöem¹ªÈ¾þ¹ã„ïXÑž Ë­ò2±4QMÜB®¹™¦òØ÷\ˆ•™¬!#M ¹WuÎV+PWÑ+gkšL%×¶‚‹ «/92w£¢¢XŠä×C4r*ëÁ¼zgoÙŠ+a7/¥Ô™ÒÀ³mxä£õ!ôí2Ê{™cål!{ð%MÙÄœÀˆb¿dšU´ÌñI$O •2ù@÷>‘Ø{¸¹Ú˜U|l_Og haDH¬‰§ëô¾iaägqÅ~KvY"м¿þ¼™bÏSskh­¼pÖQç%Û¶,cF‰îÏî²–5xK'ý0œE{,ÒB"EŒŸÈBôÎ4˜Ui[5cÛ¥kºÖürUÊVHÝy劔©÷s$äv½DN»¨ò €¡ÕÙ†<)ßÝ;kè”_ÿ8Ïx¼nâ¤À«ai™‡«ùìSEŒ\¢äYZ[ð‰,þá¡]÷Ò$"–+])»¦úap½zt¶¸.ðüû„Ôè'‡ÖŠPæ ŒXÕjW>âøñè M=M-«µp ;|*¡z[/SÖ**¬‚oÅ^ù†Ù‘cf/H{~õ~¸Pšôôж;z—欪s6—{•X›FAhÑÍÀ-WC““Ãïì\q\Ød@ãª~úÅ–—åÚC²¼‹š]ê¤_s<ͧg]õ­Dtêëà ÿ~ÈÀ‹K 9öS¨«9×=é.’¾ÿsÂä}ª3wÚ¯ FzxÅõÚ¯s*|ÉHG‘*PòfóØiG¾Èó_³òjnÕ/Š<9}äšçlö}7Šñ¾‹O}ÁùÑÝy$â¸t^¾¶?œ˜Ö©e»QÛbZ/[?¬Rί‹ÚSû)LêÜ®ïÒ»“7ÌidEÙù- .8÷¿^~mû/¹î4aÃoóïžrö_4ÓçÚ­}Ûô_rËsÒªqUM´£’صœ3¡òÍé훵î1ë¬iŸ‰ÍGg­~¦×ܬa˜T¹~Q³È?Fú·¼ê­ÏÔ.ú§N(»z­Ë”mîe”}ÝÆÎÀ©Þ¾†…vz¢UE>®BoUÊÿJ—³†—½ýKÏVFïVôW;ǘUÀª.l´¹õ·n˜£“;·ë½ð†ã˜u ZÚñXŠ5eï!Y Ù‰e®õ8™¦M{Ô±P/’Ež[µh}p<ÞŠ[èéÂh†¡iF¡dTs…¥K”‰BETš<4Iö:N:öTœL&Ë·>}úÌöëãûHÞm?io¨4çë‘~<°üH˜LﵞB—Œt©ů7™zøsþ]£òlnÕOg~~pûe²¢ØöS¢d2ÙØSq¯ã¤¡I²¨4y¢P‘®™1L¡dhšÁ)§Ð·(óÎôV½w}*¾‡\ -jÛ!ài¡¦¯ûAþ¤^óYÌ¿[>s74…[ÖwØì‘^~[”$‚E32çÌ*{Róúçu#姯:°Ê³¿®½Næ—ñî6vlç*–”ôý¶‰ ?tݸ¦›+@úånx%ß~<­×Êä'GÿØ{åEœ˜gW­Ý¨iƒXÅ]–]ò¤¼Ô—§·ï¹ð_¤PàRÃoÐØþ>ÎTÜÙŸ ïÒ“œ9üñ§Ëü¢ŽÿyôÆÛx1˜¹Õë2nRÏjD‘øøÈï{¯¾I2©àÛ«yü‰ûm6,mj!ù´wÇ_w?&)m½Z?¬…‡ Ñ=Þ;‡rÅy¾Jÿи/XZ2zÇb—ãjy¥þ±(ØÊ·¤±^¨Ü„ ¿,þØ©ŸÅÕ7ß%Rž¾ÃgmáBåWÕ)ýƒ² Ê”ÿ¹çâ³(©UyŸî£GûWÎþ­”‡YùëeûÑ¿NjêÀÉ'~¶Xø[ûÄ“zÕnI²š»˜jXS¾2áéÑÝ!ÃêÕ´5e •§ÕÖÊø ¿,~Ó¼- >ÿ8Švk:x´O̱ýWß$0î¾£ïëÄ„½,~즩5òˆs¢Fožâp5ïŽgÊÚF¼|‚QU‹k³zß"„òÁÈÒB.í¸ÁoýGµÜ/?úq•ܶâwg>TŸ¼~÷Îå½Ìüë³}—?·¶wê°~R Ù¯k@rô¬¼Ýüßwm˜Ò ùĪíO2ຶ=eP} @úùNdå†î<×Âç»6›t[´u×ÖE© m‡ÞI¸nÚ%+“nn\si;oËž?—ôq¸¿iõÙH9ÐÉwükÕmÖLóÇÛ¶Ýwì»dëžë&ÿõ÷Þ»I´"æâš÷ú/ß¾cyÛ›‡^g0LƳËÆ{OܳkͨJïw,?ðNg6#&õ¾~Q¬‡F³-ÌÔ?ÝêÌíXô‹R²… ÊäûG_T»vÇŽe=Íîï?ñA’o²”2>(p]°eÅÛv¬_?áÈê}o5±2’/ç×,»h3|é„9G®ñgµE;rM¿Úµ›»˜jX»kåªîá< µ[øÇöeÝwÿ\ò·IÿÛ·/îHÝ=v%"÷3Myw<Ö6Ê7UµäºK„¡‰_µKÞuîˆj¹Ü„ûc+¹´ƒW¦k¿fî¦<«òÞÞNŠTq^—DQ‚zƒû7r·²t®ÛsT;Óg^f0«Ê›×÷0% »]¥‘t^S.Qd$&f2Ö^þÿû=p„—î•Sʤ‡>8÷ÞÎËÞÜÚ³Ù ÁU‚nDÊpò׿yõ2¶võ§®ݼ¼)ßÄÔÜ„HÒ%Ò¨ëWb*Ø´Œµ…SZrèôg§™uÕ¥†£¹¥»O¿‘n†ë\m`YO¯(šõÐ2–…¢‹^Q/¢s •ãÒ¶wsS¾u…†\)b:¿ d=(YÌ­ ŸË ÔÜÓÆÚ½^)Ó{[2 0ÒÈËëí«3q¬¯SÎSßù¶…‹èŽ~µë6}±Ô°v×Ê+Ôœ¹„I¥®kÚ˜XzÖ«ã$¨ÑÓ¿ª•‰Må5mi’ܯ(˳ãÑÀÒFòüƒ±¬7%pe®»Dè»fÞd}ð‰‘år»M¹x˜Õ_zéޕݳ|íñÆY6%w’…kãj¥¾ñ9ß»Ò9Öê3<‡òv̉B¬²~]–„݉­ÖÞ•—ãµi­±‹Æ^'ƒ¥™V)½_½£+7ÇkF%-ÛaÒ²Þ“%qÏÎl\-uÛ8²Röv”¹½™üEt†²®)€‘$F‹eÌ9ªÛ¯™´‡›×\°Ÿ¸t•‹€ˆŸ¯™¼€cî`* O”2•M€<5:M@™Û[ *t^÷[[{ hqlx"ßMk|µ(öC3¥ôÚB"Û±ðó?½¢YB5UDë5I¾ÈzP”™½@ü>QÂT1!²È SO;tñà:øÏœ<ÌáqüŒí»oûü¯…Î/ù¶kµƒD«¹‹£†ÝµºVÞ¡úÄhfU¤Æ¦g]ÛžGÇSÉÑFù£.j_·ÂƇBÅ¢”1 ‰ŒÖMKï=r/"--æ¿“;.‹êv¬eE”éïÝz)fÄ!·j6pVeZ¯᫽¿.Ûw/2C"W@q(’9ö>¼bÿÚ{õcŠ(=üö¡oüZ•ѾŠ‘K•EÙ6>°ÜÛýž¦3Š_ƒÏVí"­æ.ŽÖîNYØCåiµu¾(5?óݽç1bYê›sÇŸfæÜ(·cÑ“0ª¢ BCÉvèã9Ö®a²eÑÉ¢MÓªg¿ ÀwòkA_X6qCš‰GýÞsÇ5°& Ú¹ùC×^ån'Õê®z°èCök ì}' {·y÷œQ•\ëòÎì[ž@kí¥fË©sR¶ïY9aw¦‰s6Sçv+˃ج€ˆuƒ‘ý¬_9æ"×γ^Ç®ýëí;¼zwƒõ#æLHû}ß¼QBëí»·wÿü‘KQÖ 'ÌMÞ¹+pÚ¾4ƺBÓ~ÿYÃdÿݵùYëuu=ÍY‹ª9œåШú m-älÇ"Í*ŸçÀr,Šd–ò9[¨,S%æ_SYëgÃÈ9Ó2¶î[0j“ÄÜ£aïYC«™Bö³38έF÷¼:oç±7ÕGWÊ'~­¶žG—œÕ. ÕjnöÆúªV|Ø–]~6k¨ÒÏYÇ’o.Ïql6¼û£Í§]3q©Ý¾__¯uþýXêÍ/ÃRT~Á¨Šš_P!d…½ã6kÞÙ×ÍÛQð=Šþ[9|ú_‘òÂFZ\dqOo>Š«æ1|Ø9~ôæ×’¢Åzh<ÞÒVu_£hÕ^Ü5üÝÈmÞÎÛ2(CždùQæ¿ÿk˶Ëa"†‘DÞúûŽÄ«aOó‡X`µ¿å-Œ*9:ÉB€åC‹W¶ûŒ ¿¯w\D™»Õé6wt}ËãÈKV»1üHod„P‰ S¸ç0¨žrO3@3Œ‚ÍÈ•ŒTÉHŒDÁ¬¿“º¥“-—Ï]Ò}ûö=~üxÑ£F”\.Ÿ|>eFS—˜p‰ ‡ð8„K.! ˜ „ à«N²¨ïå#ªÿâC s„J«ìàO^G!€¯¿– @(„…ŸR}Ë(BŠ)Ô¼:!T`…N;HÖ_Dó7@Èw²Q„PiF©sõ›@çŽB_¯è£DsÕ‡¦}ëÔiÑzk—tH¡ïLÓõEš_Œ(!ŠP¤ŠÂ]£Š*q "ÚJ@q(¢º€4ë­ ˜y „ êkF;ˆnÎ ¼øÿÅÊ {w B¨1 s/BVÝ‘¯zëd˜u „ ªHi‡Öy_@Â!À!À%¤mE³ÓoÅA¡¢tI^²G•iåÙw‘Ò&ž¦\Í{™R]Qš5Ú¹BÈ@ =odMÝÀ0 Í€’¥j%#§™4 }-Tü1Q&Á³-•z¦Éž=k–Í[8':B¨8|UÚ¡’uÑ£óš\®çÀ !ãcI 4ƒšë=´$ã¡âa€´´†=´ÿα!Tºhg¶…!dp†I;²`ªÐ7 ³ „Q|Õ ´úˆÎ_˜ TZa’2>§úð£ !„B*E-B!„P¡`ÚB!#Á´!„BF‚iB!„ŒÓ„B ¦!„2L;B!d$˜v „BÈH0í@!„‘`ÚB!#Á´!„BF‚iB!„ŒÓ„B ¦!„2L;B!d$˜v „BÈH0í@!„‘`ÚB!#Á´!„BFÂŽŽ.éB!ôC Ôt !„ú!àI„B ¦!„2L;B!d$˜v „BÈH0í@!„‘`ÚB!#Á´!„BF‚iB!„ŒÓ„B ¦!„2L;B!d$˜v „BÈH0í@!„‘`ÚB!#á–t!„Pq‘J¥B¡P¡P”t,…Àår­¬¬ÜÝÝù|¾þ¿>þ”ºøï·I™šfŒ›>Š"®6fËzU¯áa™ïÊ„aJEÐ!„aI$’÷ïß»ººÚØØ°~—ZR©4)))11±zõê\®ÎÁ½Ð”žñø|.—KQ¥â”MÓr¹\©P™äSÎÁ,ï•1í@!ô}úøñ£­­­ƒƒCIRDQQQ …ÂÓÓS{a‡5wE àñx%Un¤R©»­É±‰ ò^­T$J!„ÁeddØÚÚ–tEgooŸ–––car¦$ÇøG)ÁãñÂ…ù®†iB¡ïÃ0§¤£(:@ —Ëõ—BŒL¾(ŠR*éüW3B(!„B€iB!„ŒÓ„B ¦!„2L;B!d$˜v „BÈH0í@!„‘”Æ)GB!£bäI¯/Ÿ<{ï}D¢1µ¯P¿]¯ž¾Ì‹ãWseü•å+Þ÷\1¥¦ JÏ"°Ý0¹Rù!#Φ$«f#§øÝ×jÿß‹I/åžœg1sdñéW[ãòŸ£€p´!„ÐNÿï–¥¿ß£ê÷™¼pù¯óÇù{DüµaÛÍeIöµ,¼ÊMñ╪ozí@!ôCc„¯ÿ>V~HÀ¨&¶€ƒS?G&aÓãç‰ÍZÛ%=úëà™{%`ê\«Ýáþ•M“‚V®ýÔº«ùÍs÷C’)F}Ç nìÄU¦½½xàhðëX©E™Ÿ: èWÞŒ#‰¸}ìÐùÇŸRh› » íÓØÕxß»réÙ§ÒVm<}#Cou8Ìœ'µukåÊçdf^ºýyë+‰EµJ;Z(–ïýôXBUl\m]¹ÄÉ'Ó÷ñêdÉ5­þ~µ*Ü0¥*B!„ŒMùè=ÔhWÏ6û‘rð0³3'ýÉýOíºÌZ¹~Íâ5cÏœB€2õÉ™·žƒ­];×ßôé‰saR:ñöŸÛn›ûÏ\µváÐ:Ig~?ñQ Œðõ¡%Ö±dýº…ýˇÚøWˆÄˆÏ_eâß~Þc5½­­½ÖtꔩõôÞe\C>Øòߘ aͶ^ã<¨¤w_¶ÄÙÌlneçà<û'律ñ‘rɉÎgHO1XΘv „ú±1ŠŒ™©ƒ%ëÃ[Ìk\òË †em|¾ÀŒO¤R€ãìÛ¹¡«€gY®^=GešX÷ (²L÷^ =¬,]ju9ºWm †Îxué™Y›m«Ø›Y¸üÔµ}ÅóQ,Y)>´,øÊ—מӫò5ß÷Ħœk3iìÆÇéqEøÇ¨ÍïIÓê¦|Fvýjø'¯Šú¸ˆï}:›Z\ÙždA!ô##s+ž8)S ý0y:3ôÁãä2êYÅ?9¹ûÁçtbéè,e}s,Õy ¡(3ãE&NŽ&ªAžcíÆŽŠ˜¤tYÜÅUs‚T‹i¹„SSb°qƒ‚Qf&¯²ÛÙÚ³UT¸*`Kkž‰­Ûæ ΪH8\Žâ‡ ÍL9ô¾ÌæÂ?ßIŦ!„~h& *Ñ»/=I®ÚÔN=$@§<=yàŒãÔääÖ`Ûa³üädB$o¶Î?–µ¥óXŽ©@’,c*šyÌí /ì[µq³17ñl³ø¾¶Ð’ø¨d¾‹‰,ʘGÀ$¾û¼±JÍéíìÏQÀdf*Äq±£&$0@ÌlL1ÏÞiBÅÓ4Ëñ,þ»ž)*žhð$ B¡±¬Õ«kÙ°kw\~þ).)!üõ‡{vô¯`¢)¹f¦\P¤¾»váµP&e¿ù”ëÒÐ×ùó©S¢3%é¡Á‡NÜŽåð9V5ÛTK:{8øc’0#öõ¥?Vlº«,‡Ö3ò¯~yæâÞß`RÂâžZ¹O«gé"à–-ïú믾v„ášöòw%BŽL®Y~ˆ«&­"ÄÔ 8ÚBèÇsm=m¡Ý…“ç¯?•*¥ÌÊÿÔf_W>±íßíéŽ-s®slºnÛÅÐøíaG¯,áŸå|,±éÜ«ç]Mk]MŠ%‰=>zäXàÙï¾¹¹ŸhÀ̤‰çÆßeø«ûå9–lGj´zk̼äШÕ.*ãÆ¯ƒ×Fè;ëñ{Kv='.~·ë§qgÓ¾¹Ón·ßžnÊõœ;BHáhi~JBЉ!ŸIH ’òxÆFê,¹ûj÷»MDiçI’™™™™™ééé––ú™Ùù½»˜ùÉ*:îe"×ËB8þâOï^&%¥d6³7¡ò_[0ïÈsá§EÂŒ¸ˆŒ¸ˆ°»=&îÝ7³¿¡f—P™¾ë °u 5•ÝzÔ…$éžWléŸÂÐá…ÝìTZžÿˆÿ\µ yÖÂù`ý+QÂÔS„4i‹F|¢(éÇT! Et‹V&*rý:Ô6)ya0Ož< {bhh4mútQ±(8ä¡¡±ù“'Ks•B!{®k55¥ÈØ\ŠGÓtEÉ׈£ÏÍ›~$\d“A³glÓ\‹Y˜ùÔëä~÷'Ù'~skruç]9w­–DÑ÷^ˆ,ÿ¸zjŒ) €Êê8büèí¶ ô4I’iSÈ Co„ÚuUi´Ü™ê VoTÖÍIW‡ëŽ>í±ÀJ©aóª=ÅV{ãc·üíÆ“ß*-(¼?½÷‚§`:ýÒÅ©æ ÛaÙ ¾8ÍBÕ •øê¼a-Jû)Ö$s³…4ÁÓÔàÊßH×:!I²  ÿõë—3fÎ&IÒªu›wï"ÌÍ›%gˆ®ù'ÚtÐ(KB_&'¦µlª––)nÝNBŽDíî¶;\›…§wº˜—}õ5Œ[v1niÓ§Ç—™—Óƒw ﳬ=¯V…–wߤ" ϤyÙp©e;á7ۆȩI’üoŀŔyZ§w†…x†víÒhacÖÛtŒ\í!Ô¸Ê-àCdr-ÊÉ®ž……¡¼= ßqG A ‰––$I[ZZ:: ß·ÿ Ç.G=NšºªrQQ —à;Yiƒ¶±± !G/]ðüÄé÷»e«G™~éAò;M›oÃÈö½òVXmõåŸ<’äÒ‹q‹¡ý:0Š‚=ß)ºTÿzXí¡ÿ†²®±NÅ<3¦–±jíú5¾çŽ‚¤(—˽ë{Œ“­û¡å]-Äù¹ùnE¶´Ô:룾–ò«ÈtÿG ”TH{:*ÿôœ_>€–ã{ÝêÊDªwrqêhÕª)¤åÉ*-§=:³væÏö] ûÀ1¿oóÏ­¼•qc‚@ ˜è•%Í{yaÝT§ž6­½“ëò“!©âÒR Ÿ,ë%è5ï¡@è;«§@ÐóaBiü©_Á/§â¥Ÿ+úpkÇoÎý» ‚n®+N?É.z³u°@Ðgå³ÒÈHü~Ÿ“@ w%ª\|ñ‡N`ôùäÒ²QiWÆ ‚Éws$™Áç9Ù ®72Ê7¡„±~‡–MtìÙY ôøËÌ ç‚“DòMè•&ßóŠ€æCzjwÜš( ¾Y¥1”%¹»‚©~y%I‡—ŒÔM ØØ˜ùçÅ—9²Ú®öEª©7ZœüàøŠIC{vvýGÍÙxñy¶´êv²ìWWw,™1nxÿ® {§±ì¼þ*«|­ÿi›«Ã ýü„nãîHquyÕÏ)QJsl„@ ôv{úÀ·þª]®Ú¨MÅВ̰“n®ÝM§ ËN|¶§P·³NNòšLaŒ×Ž9#úØ;‡‰k.ER Í~rz…«C7@`k?|êŸo ª|Ëê4«Ï*@èß„eÄ|L¯øŠH³¢¢Ò„Ô×¶ø\­§£¡§§û&ü%Iv;pøÔÿUã»)k Kd-ŒÏ_Ÿ8NLÌïmktÉû}§.ƒIRž~QL`„@Ín€§ú5H͞ˎö¬²ˆFžù}Òžg%Àf‚(ëýƒ Ü Yybƒ“q•Ñh*7dËøÕW“§k¢ÏHLM~sgßÜçÉ.üφO25;ô·/þø8(¼ÔÛõ쨭ÑQûËŠ¡rí˜4ûB<°X%éo¼÷Ìxúnr‡š›ão¡ _ì¾È= ü·žÊÞ6uÞ¥¸ÒâÅY1=v>¾ygÒþ}3¬¿5éAšTÚš;ô4`’¤`p+xQððæ[¡à³ñ«’Ø‹¿­:òDT–m~üã«[¼XwjÝ`f­WûÊN…›5åð)‹ËçD‡^Ùz÷ÑŠ3›†—ÆÏ² Ÿc—ÞÍ ¸ª*DANrdà¹uÞÏv^\ÕCƒ¦^—Á½9Q¡ÁïE gÝÓJ˰¥* _4ÉõuJȳc•Ôoµ»6䮨ÒÒ¥ÞY1úl`ðôLô™ ©Éw÷Ï}‘vðÂ’Îå7íÔí¬“GmèÃéÙëÜ_KT Œuĉé¯=·LIÊ™¡å±Ç'T Œµ³3Ÿ_Ý09¼ºo˜>CÞÚøÞÓ !ô%º$3&2>Ol-3C2-6CD$FF-›éråüÞÔâëU:«”¢(--m¾šæ¡»JÂ× éª©¢ÂWçIõÔè!v nùD›fŸ¤bÔæŒÉ<ž |ã1©²œÈw¹`ÜÑTþé_ÅÇïyV,« ;=„ø]Xëdso½Ûåøª­Ó›k®1œ6x<¼ïåqÓÏÿì@úÕ}¾éÛ|”Û–õÓÚ±x‚ë·nYálþù-ŒTnðöeâôV¹û…‡ú_í`~÷¯Ò_´ïyl•{‚Yÿ™ë÷ýuöÏ>š$•qwýÿ.ůã¯Û=Â< ö>ú‡½H"Ž/Ù–ÿ‹Ri’iS8¤·!€Ôé2°9ä?ðürü*âà‘'âæÎ›/ù…<~tÿúÙ¶*Ù>ëÖy¥Êj¿ZMè¢çû~#í~ËÎø„…{îšÐ’ [·e—ÆËÅáG·ÞÍ0wÙêäüèÞ9·þZÙ·ŽùgPÀµš´n˪1Í@×þ÷[7.høET§D)†ºµódW׉¿Ú|uzeýV»µ!oÅ–Êò=¤6bÓàû·ªâgG÷øÐýW\ ºçyÍûÞ•åÝxâÇ—KV£žf!’ÅbK³i 3m-ËfÚl`0™ ù'4Ô"©x"0Ø*¯­Ÿ;Ò”ÇeHÈÕP!”ØŒÜ"°¶àƼ}¹sµWàÓÁÃ\¥‰\¯©“f[S[ÞÐ èÜG]Jо{ÿÜ&Ê$,µæn‡×Ùq€ ?}ñ¨Êú"‹9»–4Q"€Ti9ráXcȌɖȕ,õîaï< Û-9¼r¨¥‹ ˜jŽ+-n[—k¤’tåûNl˜<¨Kû–ƪ qôåCBжuû¬^&<€`ët³~ïœ9žûo§|µÙ—&ùߊ€¦ƒ{—þp2õº 0€ü7ß}9”À¸íЂ¾æj,‚¡ld3qÇ_³-ÄaǯŊ¿cµjQ™þ‡®¤XÎ;¸vD+ Û û¬s-D¡×ˤ/^dð‡üoV.Àà·:w’%dÆU7²Pú?%H kç™sçÎþÕÞðk!HýV»|µ!WÅV°Z°kq?C6$¿ÍèEc  3>§4­:žur¨í¡á^íöS3lãþS~Òкv©“9— ”̦ Õ€œÄ‰¼µQO§B–šI Ë&Í[6ÑdKÝ´……Y³¥ÿ•“Ü-~9’$ròEo|×›¨wû¸öTÒ»LÝkègo³„…¹,Œè©.K{š^ ¢¬Tyê×¢Z"“Ô»äÅ}Ÿ‰LFŽé¨Zi#R·×{>@Fppr•²ÕÈ&•𖦙&P2ù.ð¨ì'ÞoØvT¾(bö#¨ËER³±ã+÷rK’}š8¯Ú÷ÍnêäjMDG%µò¦ÐlpŸòR² {ô5€¼ ›‘Ÿ7†Ã'tQ¯”’ùðÉvl€DÿÐtY­W«ÿÊë¥ ÈŽãÌ*õ+1 úMè4dH[% Lcçc¾>¾×—w¨Ö®qO‰Oê¹Úåª ù*¶\»Qýªœ¶j†j@—½:žuò¨å¡áuvìðé¹nL MPîìÐöÓB–fÍŠ}hÔÓ !TŽ`©j©} 86_[½vÕ’·ý,(Å`0ï\Ý9þ× CçÍžö˔Æÿüàþ‡ð1¸­aº«c“ãžWŽk=eʉDÌ`0I’,`ª¿5†äjò@”W,ïå–,7*º@¹UGýÏ®O¹æ]š€×«ä×Ibø4œÂoÚä³íZUSIÒ‹0µi®Re;B¥y'C‹¯MZ•¨¶°ª2éD”ð,Òv-{[u·dY1€8'»˜•âFir€W ˜:ô1ªØšmÚ»—îq÷ôÜ [ï‹;và~ZÛÊÆ¤êpÁoÕ½ ¿Oy•\2ÖXI¾Õ¾z‡´$åUœ ÀØÚ²jí3õìg¯´¯ø/É᫗΢D9)ñ±1ß> ¸ãýµ´?×ȧD…z®vž\µ!gÅ–ÒlnZõœ©º£u;ëäQÛCÃQ¯ÒZú4ž¯ò­~•'™5æi†ªGò† %KJI‹|pÐÞeC›6mÛ´i++Éÿs›° cî¼ù0|xÄû¸>¿ ¸ÚÅŠ—˜°ûah§n]:Bù<’Sg¨jÄS©ï3$½TkèóEÝ8í'U·9º›®L˜-UÝ/î"8ššJ%y%•~7™\ù;XªAe€Šöç?Ä :<ú«Î©œ%ÊÍ—€0âDµˆòETM]WÒdÿ[Ññézð‹s½Þwhÿ©1TÕç~÷6CUOæJ”ä[í«¤eõ¦÷­µÄéa½â÷<éÓ7W ·µ6ò)Q®¾«@žÚ»bX\ÖW⇺ur©í¡©!¬ñp5æi†ªGµE iš¸u~+K–Ù¼uwŠ’ÉdÔïó´kß1';[&“’aeife¹ðíg¿‡U$—__›6ÈÑåwŠ¢ˆšžQFò[v1…—ñ !¯r&›W{W.ˆãn9r&ZŒ@0•˜ K¿è>¥¤b0ØU§ÄÔ©¹!l¤býYJ2±\w QÒêV#ªÞ/D0XLàØï¿»Å¶¶Ï_«h ï³5”H(¢ ;ÀëÃíÛUÜq$USw @2+5Îr®V=‚d‘@I¾:º!K¿»jô2Ÿ<žyWÇn‚öV–Í-,›ñBf9¬ÿF•òjÜS¢LýW»\µ!_ÅV¬ýµ=­ÓY'ŸÚšZ¦ßˆ§B¨Õ"!I­i؆©ì¦©Á'ƒAÈd2{{{(ŸêAQMS­,LZ-XïèøöþîwOoòtZ»Œ+“ÉŒššÆ2êÞCïð¹´Wç½ã‡¸6©¦Dšò0t­[kßPƒ€Øì¨d!Ý¦ÊØ“4;*E  ¢_›)1ßÂP3THÏø.­ÊÝè’̨ 9¶—æ¥ä{-‚£¥Ç&'PÀ«ÒžQâ‚ü"ÉQå×ðèÛò¦PcøÑn•;þ øå†a“=²³¼?Ìo×¶¼1Ìþ˜XDµ«Ò #N‹Hu#õOG@ÎÕªÇT7TÈόʔ€aå‚‹“‚¼‚Ó˜f½ÙèP1—÷ûä£õì“\[)—çDe}#ñÏójÜS¢,éz¯v±\µ!WÅÊ÷å®ËY'§†>4yš!„ꑼ½«A”Þ3Òå×IÓh¨«$I’¤L&“Éd«1LŠ¢hJÖ§g—)Ëί<üò—Q.4M×(YŽrµ€¨Ã›®'|y“ •ÿììùhÐí;È\ UK*üÖ³œ*ý ÒäÀÛ1D³®f5@Âéîo…tynïÎo:—\¶F鮑>¢ï}*Tñ‡¿·_N—'R«›sW6ÀÛ}¯Å–T<¬,/ìðöûB€ÖÃìtjšp3tú µü¢)üÔfú{G}ú–>Þ¶ùfEHEe‡Xu&€×ݹ³z¥%çjÕãY â¾ñôëÂòc*M¾}È3@«kS6C‰Ç 3?f| ïhá‡+[ŽÇÀ—7*ÔtÏJýŸTÎS÷}»víùëSzU4DµËYòT¬œ¾û¬“_C[ó4CÕŸZÞQZ^TRUTÄå7ÎÐ@’di òåúÕ!xV“·-{ÿëŸA™÷¶L8ѦgW+#U(H~âÿ:€ß{Å'ƒò¾¦ÉÏKÇzL:—àµÌ%Êwh¯vzÒØ'wo'RÀl?waoÍz}¨!¡*˜=ß.`MðË}®cŸ ë/0%“žÞõxdl¥‘Ë*¿˜©ß¥éžèøˆSO›8¤ ?ÿÃë§îÄ™v2ˆyšòÍlHÍ> çvpÞþ"dã(— ‘޶Mعïî_¹ñ"Àl¢!5”6…ºý«º,×Ò±ÖÕ+Yþw¢æµT+]È€ü€µ.ãü{µÑ,zrÇïMÛzÎovj•’œ«Õ€×vÚ’þ>‹}Þž8ú…Ó Ûæªùï|.y½»ótW+p[8ØrïÆ™ïFNwj§-M{ÿôö¹ó2yLiFð5ï0%{A3>I0Ø,È|ð÷•öéMÍ;Ù6­šW½Ÿ²Üç—Ož•AÝF÷ûòÑ RíòÖ†+¯ï<ëj£¡¿­ zšYü/bFè_©7åÖe¡|ئ#¶¸ëÛ¸ù¯‡©á7*ÍÓµ¸tå´z•ÊK(·›{x½ØÍ=<òÞÅÈ{e‹uºÏÛ¼Ö¹rbè;n<>"—­Ì.û•b[üºiÞ›Y{B³Ûö¨t‘Õ„]ë;œ%GÀ2uÞyX²bÉž .|P¶T×nªÛŠÉmxÕWmyS¨?Сy C#Ë!}´®\ÎJ÷»=à Fm™*<°þzÐÕè ²µ4lgmÛ8Ò¤J[+çj5"µú¬:æÆ\¸Á;þÑÊ–ÚÏ_¿|xéÃ*HÍÞK7¸d,»ðöÞ¡Ue‡QÉrÄÚý.Â?]6½Œ¿º~nжßÞî*„J+û¶äó×É7w,¿©?þÜÕÙŸu=4î)Ñ0Õ.wm|»bå÷=g]í4ô¡iÈÓì7~½ÿš „€øÖ ä¦D¿Õ@Wg“gÜïGåóšÚO\0¹».@’ñøï#î~áILÖö.SÇv7d •ÈV=𽱆–fê6ÝcÃe5ÈAC!„Iƒõ‚ÐE‘wCóA½‡Ëèa-ˆ÷}˜"­ø°ø•ç[íÞ#ÛQ÷®9öªˆþúò/ɲw­=˳2´§qþËëÛ¶x&æ…ŸÜ|6$A¹Ã áCl5ÒŸ{ì:þ–?àí•8f®mÎþ”•ûèÀªwÞÍzb­’viãʳ‘Ååé¿u÷J×o×Öò>xrWíøŠVWû¦dÔùc²Š‚ ¿,C¸°ô#q„w8«E;Èz{sÇêÃá\+ë¦J1~GÏ¿+Ç\^¿õÚKi›áã~°"¼÷®úëuÕý—•„e(ÏþÉH79?ó;ǵB¡ECõ‚Ð…·ŸA»oßæ[3"Ãý‡iRö±éØÅ³õ"+Ѽ>Á7^ýºP­úåVfÕ&/Kö|-“ ‹ç:ê‘E6Fç|Ó¡@¬*3ÙJ£u;ý¢¨Çq!‰E™9¿¥ž*€TÑ7ÔTÊú”BfÈ•GBо|Ù˜¦,zhKñìíOnG¹Ìä@Ó)® M§5_2÷T|BbÕšóE¸ÆÐï;í—K/œ:ù¸y—ÒEð¿(Cv mÀh3gÍ񨆯s¿/¹ža>e[?µEóÏ'¥eŠhQ²çPé5c†sk®¤­8r‰gàðqmmUË;B%þ‚ |‚„áMÄiÄ!„þá(¡ó^x¿(àÅÞ8r€12ÿ¶Ï IDATýã~žh J¦|(é˜k俤Rj5,¯>‘¦æ°tù Pn1|Z åüÒRþ^»>UÀzTj}†·S!âjXžWm ½n­.}{vÓ®,çƒïý%®ÃXR @èùw|Ñ“Û)4 “Í(xøV·å§´»Œè|açãk6önRüâÎÓ0üi˜%’j·³„²•Ë´n¡›Ð2Iueø6Žå{­GÞÁ7ýtí´³yú} ÚÍì2 ~îÜA!„~8 ѧ/Myà ×ÕV¿,Â!T[õjÁ€¢'wßð:¹ôb½{ð(‰kÞkºÛÄ6Êe-mMË¿ÄеÿÃmlW3Ñs/ÏÀdÍN¿,Y8ȬÅÈ)ƒ,ÔŠÞÜ»÷š¶q0'R_F°Lú h¡)~7BÓ?͈R£Ëì53û·âÄÜ»~óq¾¡Í¨e+Fš+}ÇþüŽã'Z—n©Ô¼Ú2|;!¸-ƸÍlQzùìß²›ôºnAomìA!ôoEÐr]£×›Ò›r¡×šC³[)ɱ!„BÿJ8³!„B €!B!„ ±bB!„{AB!¤‚ „BHð5u!ô5’Øã£Gˆžýî››»ñý*ãÆ¯ƒ×Fè;ëñ{Kö·×¯ñ»]?;›öÍõ˜v»ýötS®çÜúa/BH1$I÷¼bKÿ†Þ/Tha!׃~ð è¿{AB !Iò/@2aèðB»®* .SCb·üíÆ“ß*-(¼?½÷‚§`:ýÒÅ©æ,…•«Î¨¬›“®×}Úc>Ö ÕFC… %%% EEER©ôÛk#„ŠÉdòù|###6»¾Çj"Iò¿ SæiÞZâ^ص˿9A}¦AB‘H©­­­¥¥Å`àCÆúÑI¥ÒÂÂÂwïÞYYY1™Ñ9*I.í±êÐ_ûÕÞа¢`Ï7E]lqBÿ ò[“ «««¦¦Æd2 BÑ3ÌBßBÓ4‡Ã€¤¤$33³†ÏPš|Ï+šéa¨ÍÜš{Y|óM‘­ME "Kr;lÇÇŽ›ýöµ|~rÏ1ï2KH¾i§~Î3fŽl¯QåâF–ýêúÉswŸEFE%æH8†fmûŒúuÂvZU~ãhqòó{Ü"¤ÙæÖö?OžþsGÍÏiIf˜û®ý—Þ¤‹HUÖ]š9olý*/Ò¦„±þ§œ½ù qß¹÷½7é% ¾q»~®ÌÖJõÓTyjã[à?­Ï¢g~~B·ó ?þÜÕßZ4VWú§kG“={öÌÒÒ’Ãá0 AúñÑ4-“ÉŠŠŠâââÚµk×àùIãNŒþy ˜Ï»ê>Á”L¹üëÐMÀw8ts­€W¶NYb5sïÄ‘'¢*Ûkö_wjÝ`ƒ²¶R–á³bìÒ»ÙWUYVP(.]mÈ΋«zh”5ºtQø±YS¿‘°¸ I± @µçŠ3›†³¡¢E×ê7®õÓ³9ÀÓ3á%¤èŽ 2÷š¦i6›ñBÿA0 .—+‘H!;i’¿W ˜émÈ uº lù<ß ?_7âà‘'âæÎ›/ù…<~tÿúÙ¶*Ù>ëÖy¥ÊJ×(?ºõn6€¹ËV ° ÿ€àG÷ιõ×ȾuÌ?ƒ*]‹.z¾ñá7RÐî·ìŒOHpPh°ç® -™P¸u{P6U)Ë,ß³Aj#6ݾËãæ½{'çvd¤_>x?³l-*ãîúÿ]Š^Ç_·{†?xì}ô{=D_²3,¿®ëŠ#Ž-Þó¬XVvzÜ  ñ»°ÖÉ çÞz·ËñU§Ø}8ãžÔcÙÅ@ÏkÞþ×ÖôQ?;ºÇ‡î¿âRÐ=ÏkÞ÷®,ïÆ?¾˜NÉ]rT,×jÒº-«Æ4]ûß7nݸãT uûA ôÒˆßYi’ÿ­h:¸wi{ÅÔë6À òÜ|÷E üÛ-èk®Æ"ÊF6wü5Û@vüZ¬@šñâE6Èÿfõ1á ~‹¡s'Y@f\vikMeúº’`9ïàÚ­4Xlƒî³6ε…^/ª’¥Õ‚]‹û² ùmF/c™ñ9¥i‰£/ ‚Ö°­Ûgõ2á‘[§ã˜õ{ç´ÈñÜ;EVÇ¢sýu) @søîýs{˜(“@°Ôš;¸^gÇ*üôÅwU{…øƒW»ýÔŒGÛ¸ÿ”Ÿô4†®]êdÎ%%3‡iCu '1G"omÈW±ÕÞŽj\åˆÙà>åWÌ,Ã} /èfäç1ˆÁð ]Ô+ýR)™ŸlÇHôM—ÓØù˜¯ïõåx•¶¢¥%R ©Ò¡f:ÿ•×KÇ9˜Uš¨À4è7u¢Ó!m•$•»AÚêWùZž©f¨tY`!I ôMhâ<¾êˆ »©“«5 ]üÕRYñGßg"“‘c:ªV IÝ^ìùÁÁÉâJ«ó:;vøô\7¦†‰&(wvhûi!K³‰fÅ>ÈWrU,Bu]f¡F%MðŠS‡>F3 ئ½{éwOÏ ºõ¾¸cî§Õ¹­lLªÎn$ø­º7à÷)¯’KÆó€äðÕ9@‰rRâcc>¾}pÇ;ºÒ6’”Wq2ck˪ó4˜zö³WÚVBÍæ¦*UÖªÚ9$Jx–é»–½­:…C–Cˆs²‹)P©Ãõ,7*º@¹UGýÏæˆpÍ»4¯Wɯ“Ä`^Q-unåÜJÆÓàUž±K’ŸöBÎÚ§bª ABIšì+ þà/]~ñqN ×ûâí?Å ªúüÏoìg¨ê©“œ²±qzØ…G¯ø=OúÔýÀUø4º"-Ê,=U9~óX\ÖWâJ”›/aÄÿˆj×勨:u1Ë„ÙBPÕý¢´GSS  ¤ ¯¤J”SíZÃjrׯ·+¡ºÀ!Ôˆ*"‚ÃãVm¥)‘PDAv€×‡?Ú·ãTl ’~ÑãOI$Éd K¿»jô2Ÿ<žyWÇn‚öV–Í-,›ñBf9¬/ß‚ Y$P™<Ã_C0XLàØï¿»Å–÷•¿ÁTb€T\Í®KÅ2`°u˜·#_mÈU±Õ† ¡ÆSh ?zíòx ¿Ü0l²Gvv€÷‡ùíÚ–Ç Ù‹¨vœÊÑŠ8-"ÔÔYâ˜Ëû}ò€ÑzöÉ®­”Ë×£²ª¤ÍT7TÈόʔ€aå^qRWpÓ¬× ù~ Ž–@˜œT@¯JE‰ ò‹d$G•Ï­Ó#™|C b³£’…t¥Ê±†4;*E  ¢¯É®C"WmPrU,BuÓQBFšp+4íZp?ÿkéØ[²ü½?Vºá#ÂóQVå¹¢PuÛ'€ÙÜÖD @”ø:€hïúó§fdé•ß{ÇÒ·n­ [R9-Ñ»ÓëÖoÞtäqN•,¾ŠÓÔ΂xçq?µÊ/tnÐÒ!ýú÷›u+CþĪE¨ZÚ˜Pá·žU-—49ðv Ѭ«§¦å WmÈW±Õ…âB*Ë÷£ªá”×ЭK"Ïœs*Züí5BõHšp3tú µü"ùƒdú{G}j¥·m¾_þu¥²C¬:“ÀëîÜY`(ñXtæÇŒOßhZøáÊ–ã±PqÛÏjä-€÷§_–7ëÒäÛ‡<³´ºö0•ÿž¤V7ç®l€·û6^‹-)Ï€Ê ;¼ý¾ õ0;ºþ°²L·(y¸e—orù“Zhaä…?}`wu¶ÓªSòÔ†œ[’kŒ ¡Ê7CjöZñ—ŒEX°foŸeÅ ˜\|žBÿFåˆnG‹j/â¹–Ž}´®^ÉÊð¿5¯¥ZéBä¬uçïØ«fÑû;~oòØÖs~³S#€ÛÂÁ–{?0þÈ|7rºS;miÚû§·Ï”ÉcH3‚¯y‡)Ù šñym§-éï³ØçÍባ_8 ²m®šÿÎç’×[1°;OwµªM§©ÙgáÜÎÛ_„lå4ÒѶ ;÷Ýý+7^ä˜MX4Ä î/Æbšü¼t¬Ç¤s ^Ë\¢|‡öj§'}r÷Fp"ÌösöÖ¬c#GmÈ[±$Á`³ óÁßWÚ§75ïdk!ßÓaRä\‚¥¬Ê`)³H”Uùüòë"YîëkGNx=O,âè·¶;ÍÅFÌðZ¾*¢GâÞ­'I”a·qSlR.žö‰È zNY:£§.d9¯®>áý"©„ßÔfø”)ƒ-” ZœòðÜá oÓ‹gh=túl'5ÿõý²„°r~áÒí³[×¥;!T eˆþ@‡æ5¼Óc9¤Ö•ËYé~·£g8€Á¨-S…Ö_ºT¶–†í¬mGš”Þ¯Jjö^ºÁ%cÙ…·÷­ºWº‚’刵û]„ºlzuýÜm¿½ÝUH­>«Ž¹1nðŽtãÄ£²´ íç¯_>¼¶Oôd™:ï<,Y±dσ„—>([ªk7ÕmÅä6¼ú¸ˆ"”ÛÍ=¼ƒ^ìæyïbdÙŽN÷y›×:ע˦&ß® ¹+–Pieß–|þ:ùæŽå7õÇŸ»ú߃äÓ ïˆyúôi»víX¬/ÞzP½â×Ûglƒ…‡´- AdYþëçŸåŒ^2¥§^á3÷-‡>öÝ´i˜’Ïÿ朢œÜVüÒ$óö¦ç>šþ²f¹“~‚Ǻ A7ìgšswõ"ýÉÿÛž}çàNÃ¥{gµ*\=÷œî´ÿî¤)|{mËÎÇݨ~8üû^΢®æøEAè‰DòêÕ«N:)º PñŽƒ îWæ™ ß‡<ŠL±µ›Y÷èÖZWé³fžÊ~ú<2.‹R3kg×£ƒ1Yn„ï­$ ÃÀÖZå=²ü˜§½I*bë˜YXuè`¡ýý;%Ù?|™RÄÔ6mÞªc§–:u™$Zª85<$øeLF1É7h!èÖÙBSÎßUù|³6ä«XJz' <“Voj;Ⱦ%ö‚ 9ý€wÄȲ¼ÞëØ1ÀR‹ZÝÇŽ ˜s6 Ña €Rs'Ç6êJ„²u{Ý+J#·ä+Eç6þy"JšäÛdô‚fêXÿ4÷w½8UšUë¹;Úªêh(ÑÅ2®²!ÊQ ªè]DÕ SݲÇpË5¯@òÍm˜ÛVYÆP·8Öêó5ü¦6Mmê¥X,M »¡võ’VõH®~;û ÷ÞÀoÖ†|KòLí~šÐþ~À„*ʲ´ÊGDptŒ”‹Ó e@°yl‚$˜\NÙ ¥Ïü“¤q ôJ_d,½N½ôd²Ô3{ƒ¢ò¾ž!·ˆÆi&!„Ðáì/#•µx’Ìä‚ÒÛÝhQf²£­ü­ù]$O‹Sœ–)*V'ú]¼þ*O–¶w«Ëaáæ[×-1¤)C„Bè‡ð† -›A–©WNú|ÈæÇ?8wæ­¶}“o²Œzô7üèîþ0¡ 87Òûèi¿d&›¤%%2–² ’ì×·®¾,()–”¾´J*×ñÖ}„B}¿p Ú½ç-Ê9rbÓÌã…Jz­ûÍ[<Ì”éߨŠi4xÑoO¹MÞ#R6¶¹`B+.'9?Ú¹iª7SÓÌÚÁÉÅú”û–ãwüÒ®µÒ¾•sE+÷ü֦𧠄a4æÂ“1Š.B¨áüwÄ „~?Ö1¡»p !„Bÿ~‚ „BH0A!„`‚B!À!„B €!B!„ AB‚ ( ü…Ð?ŒX,Æ{éB¦ABUUÕ¼¼¼†xâB¨Ð4Íçó]„ÐEƒ„ FFF)))iii‰¤!ÒGÕ/±Xœœœœ““chh¨è² „þ+äé¨PRR’PXX(“É"}„P=b0jjjFFFl6[ÑeAýW4T‚B!ôxG B!„C„P#+ s³ºÎº“]_7ÎÉ’Ïé=;¨°–› Cö´_ùLXy™$úèÏö C…5mÓhdIçÇÚÞ.ª´(ùÒ8ÛA[^‹jÞêkê¼kTaÄ…å{ ]ú^zæyÞçÇÅzmœ4¤»ÀÆ~Ô‚ÏrñÆHôu‚ „÷ìâCªE;•——‚2¼6Š¡ÓkÎçfŠŸÃ0èëÜ&Ï÷jDEÈ K½í£®Ã°œïL±n»Feû-Ÿ±/¹ë²³¾÷®¬ïzxþߪPq`îÚGÍÿ8}ûÚ¶!…'æ¯ôù0ú‘`‚jLTvè…Ǫ?-Yä¬ÿöoÿÔ²éêEÁóû»ž¾¾cºSA—~΋O¿Ì£è’øÛ[§9õê,Øôþù¿žçS Í|tä÷‘ö6»c—ŸÏ/kåè’ø[k'8ttîã²Ê3A TÑû«kuè.t<éOÏèb9f¾É²Ür1J\SFÕ¤)K>?~Èr/ÏÍSœz :÷½úf‚@–¸gö°žÀÎaÚŽ€ôÒ=­E‘Híî.Š®¼.ëÜ‘&û_6êhή>i™1N«½=Ö¸ô¹7"ñËÜ+íš,+ì¯?Fõë"°éóÓ¬Ý÷’Ä5íE%¢>¯¹ƒçO´3Uçu?»7ùÌ7ºr‡Œèýõ»¹æÌ´7×6´=„ê“K¡õÖÑ…þ•0A5"*#ðb¸ÁÏí,Žh}ån¢´ü“¢7ûψÙ}ÃïòÚ^éGæoÊ•eù­_çg0ãð­{w/¬íó×ö»é”,ùÚ’E×Õ&ò¾ë¾¢gÊ?v¾ÐE/N½ê´öò=Ÿ“Søþ{þ /¦òB6ÎÙ“Ôsíß÷|Ï/nýbãœÝ/„òO¿¯6£šÒ”eøzdµìüÝ»Ç'©úí<òZX²yåuŽë!/¿[‡Æ×Öí}!„7¯©aëÜ•~ø÷³|¤Éþ7â͆2eÕœ•vw×- ×-›Sw|™û§]K»µ|¡;=bÇ ÿÛG¦êûºýq6F ÕíEåâpÚ.˜}† ¡Æ#Mö»Ý|ô &Ó¨ïHˤk·bÊ/µI^÷y³ú6ÕP3¶›¼d¤r°{X¿ûÚ¿Ï.ÔRW…Ãá©r aŽPçuþ}‹ÙóYji6é>qí†y=Õ`7›0c`[£EÏž†’,¡$7ød€ÊØ%ã|õ&}f.î'½ïõ±DÞ’JªËˆª)Mša:bê`se%M«¾ö&’Ì"Šd²HI^jj¥ÙÖe׿µåÔ¼y ¾µsovØå°\ $‰~žIÍîgÄ„šÓ¡Cg·™ƒ­›éòØ_ä^A–æá•Ñä…¿´ÓUÕ´ ¨ÂÞ[§N>ÉquûÙ´RB‹ J€£Æ)kU\u%Ia ö‚ ¯`*º¡ÿI¼÷åÈÂøM?õØJ--ËÒ=?NþÃJ ˜æúØú-uèàÔBZšæ³k¥wD¡nl¦’OÒÜ„ž©¯´c÷t4Y.,-S &A’Èò’³Dñ'& <_º®¬¤ˆiW(÷sŠªÍHSSš, 3ÍÒŸS¢ô#e›eÝ.ž;ûÛ%EÆ=Fþ:í×A|¢ÖEâµ9@uú¥ì-}o¦¶tí­ÏøÚ®lfZ¬r¯˜"ËO-`4Qg”–—gØD¥(9_ZÝ^|†.Žõ9°f³§ÐvÒv[Ý*ÓJ¶ªˆòE¨â¼–/sÑW`‚j,â(Ï©mºoé§I•í·Øõ/ˆV@š•*¢-Ù€$í}¨i‹ï¯XpAoõ‘³½Mx¤0táÐmLU=žðeZ1 \ $úÚñÎã@D•̪ºê¼Vã.ž¡GU”ð1UÉŒ'oYÕe4¦YµiJã²JöTQblq3çÕǧ®&†ž^¶äb3…zµ.Çb¸£Žëß~O:{e¶ÞM›üÊ®•D•‡_Õæ¾Ø²|×øz*âGqy2;e-L+ä5S- ߈ âØ‹L>ÉrÝq}\{µ/C RÅ´?3Ÿ¨ììø‡Ç6^*²m«&ÉXªj*lBœvî¯<‘PÌlâ0Âì;}w¢s…Y¯.nÚq-–Å©öwŒÔì6Æ&åÐæ Ï’ósbƒO.˜0÷Lœô‹–æ—+(•÷I°«Ëˆ)_šO¶Ïš½Ã':O$–À`’5‰Ê}sÏ+à}~µcì&CF˜DìÿóBŽõ([MRÎ]«.÷ ½>Îmm»žQ˜óñöÞ]Ïõ‡95SúÆÑ£ ž:e»`^_픤¤¤¤¤äÔ\1Må¾¹çuÿ}À±t¨þäÈ™gY%Q·^Éí4ÊV ÛôØ ‚j…¯ÿö-h»°ë§V‰Ô²Þ¶xó¥gù­™ d8l}aŽã²,ŽyÏ©ÛÝzkñE‹fú-ý}àE–ŽE·Ñãguß±oÁ–^—oû3w펉ýÜ„ªæöS·þÞtn5ù‘šö+w¤oÚô¿ŸwdÓš­ÌܵH üùJ²ßù¾ÿU´ï`³Ò?YM\¾ÌˆäU—fJ5™ë ^ùÇ‹[G÷].ci¶ì7{óô–J@(U·yIøÍÍ+u·³äWsÃ,ӨߨV»ÿŒé¿¼“Zy”Qý®%~#÷Š™¿ }Ç Û2þÜöÛ-ù\#ÁOëwº6gCòן$õED^vòR—»‹øCŽÜZʾ¹yeÈO»Zª²9­gXQ¼råð™ì&Ý]÷® ƒú|@;BHñŠ‚çÝÙö¸û¤&ÿÉŽ{IŒûŸaÝ—;›âE!úOÁ!„Jšä+²ïc„ñú¯Ás!„Š©o?u’¢ à@ B!„bB!¤‚ „BH0A!„`‚B!À!„B ðÃÞ”+|½göº%m;èÖMí+o-¨–4ñò•1÷/jÏý®Ì%qçç/òH¯²LcðÆ]ƒ#V, {`iGù“-‰<üû^΢®æìº–ŠÎ Z1ӽņ=㛲$ /XðwjÅg\ÝÖ}FOÛMÿ?ù\'„Bÿ@ ‚È„ÉÇ×¾çgöC‰«&°7œ´JBAÄÃ{Ö‡}¹9]qû9ÝÔ’yûivWûÚ¾f€¡ÑyÌä–¦Õ<ëX~̦“7/ëZý¤Q—ë£T•1›¸n\ÞCƒ eÅÙýïÞ»SÓ|ƒ“ÁU"„B•4T{½c.+7­I·þle ôé#Ð4HÅqO$Ýv¿~Ç×¼}ç궦ó^y‡óú.ŸÄ;°âNXf¯Áº YöÓ NÞ}•VÌÒl5`òoã:k2ª](Ë{váøGWë6\iæ“óûOúDd)™÷ü¹Gúß¡ýv­²Z¾êÃgŸ¿ße’f=]0­×Ý“Ëçóù•;`*½S[–ûúÚ‘^Ï‹8ú­íÇNs±Ñc8åá¹ÃÞ¦ÏÐzèôÙNjþë7úe aåüÂ¥Û§k”•Š_àU]ª)êšnª5÷ ^Y ùj‡lkÓ‹Ä ABý34Ô\Œ×aÆmDòGqäcɻǒwO$ïžH#‹#ŸH’>h éÌ)® ȬÅÕ@ Ëm IDATlLe?õþ¨= o3³ný }‚ÓJÛþ¢—í½§4låÁ¿®t$ý{'ªaaiŠ÷ÖÝ¡º.ŽÝà¢xîMAi($˽ðªÙ´mG®Á =ý÷{Q5Ũ™,+p÷V/ºÿ’}'¯þE;tÏÏD zèP¨Î¨ÕOÝ>§cÒÕ“ÁyúCÝ–öÕÒ²vçìÖœ*)|Q€šŠ*º81ìÞ»u3-‡A!ôÑP—Ìh™˜&H ’*{A# @3Xâ¦OŸ>]"[³«Úme¡wMæë3Ðe@“ 7‡¸˜±€d0 iNff!mf9øû{H8J¢ê–wWH’üï¦XŒYÖÍD€öÃÇuóYWöJK†~ÿ‘=Œ¹ 0·í¢ùqñ—oÉ–|Ø7Õy_Ù:Vï˜Ò¼¼€Ya^ïõFì`©Å­îcÇÌ9è8Úzª:Jt±Œ«¬DˆòE¨ÖPAŸ ¤Æ¢Ö\ÇQ§;,ÿ¿­óâ‘Mëm”!„jX ‚@2 šÙ(”ñIh  &[ja{êŠgn^~·VÍ8*Õ¶ÏÒ” »1”có&œ €–‰%²ì€ø®ÍØÜ¶ÓVNó¾é¹qæŽb½N†ÿ2¼‡ «Ú…Iå§r t9¥ƒ, #5fY»ÎT3TcAV?ÔÁ0¿n¡MY &OãSëNe YÚFü²8:FÊÅé…2B35äÌÞ ¨<‚¯gÈ-¢¿:‰öóÔ\Ô1LƬYÔU‚d+k¨+3k;k!„Rœ A( Ìí=¤®¦6a˜óM MÒ]O_»™š–>bÄIÂû¶Lð÷Ï´˜¸eA5èüÐíK¯úF97kI§%•˜š½~äQÚ‹ë»vl)1Ü=Ñ(ëË…“š”¥ÅPÖæ ã3Kh %@’›œ'-φ ¾Ñ`“l5]=µêæ‚ÊZ<É«äY.€e& 9&¼¢°½[½´f­Ùl£Ï!Š_nsò«éV€¯õk%ÔÓÓÀÀ!„Ð?QCÍÓ-•ŠD%©i駯yI[u—Zu?}Í+5-½‹ S{}µôÈWÕnXí”Û|@3M M“.,ŠB}Þ é¢ð“ëÖŸ I,Id@2H¨va¶‰}_ÝÈsçC Š2^ßp)U›i-1´lY¦^9éó!G˜ÿàÜ™·Úö}Œ™’KY…ÇIöë[W_”KhZ*9Ðó™**B!ôƒjȹ yYÃ_÷òNMO?}ã6¤¦§›™šô·é ‰|$©~²¥ðý"ˉíÕ+®íIõvö%݉.ì9ÓõÝÞã‹&ï–1ÕšvóǨ¦lªYøéÖ–ñÐE3óöŸZ2¹H­õÀáb?0ë!êbh÷ž·(çȉM3*éµî7oñ0S%¦Î$çG;7MõfjšY;8¹XŸrßr¼óŽ_ÚµVÚ·r®håžÙš_K³Ú¢bB¡+‚¦å¿ñ¢ÎoëÔ¾9˜· Ï]÷ò.]¨®¦6uœ3ù܇I’7^|}íuCd]™$ýyh¼nçNF äÃ_¿o)ž»oŽ•RCçûþAEE!„ꮡb$4Ð2IÉ« ÖJNƒ€£¤4ê''""˜*.¤¥’zAê[qä•}‡îD iZ”tõ¡ÈÒÖäG½iäTT„êDüñàp@ °™|#ý›c”Õ“Ä)¦øäÑUþ®áS·ÞýêçÅߛ¤ gF ÁЯ„¥£°¹w' ‚^Ëžë”°ÜÄ8 >7þjÕ,zµÁÁiÇÛ’.VÑÃy}\Î%~s‚[IôÑŸí†ÖºÖjQ=£òÃvMl×sö½ZžJ•„,ùü˜Þ³ƒ ¦„?˜†ˆQÑ1HÉ+Ôç+ÓŸ¶·ìÔaæD¥DSÂ<`s>fæiY´m ¬+c™Ÿ?&cÿ¦é—„¤²aûa‹§túʳ¾êTT„ê¤äã ÏDêåå€Ô!£ uK¡ÚbÀð!™fƬïýÆÔ=…ªRÜ×q<;ÝR1˜¬–‹Ïíéÿi¢:ÁTæÿÓÞÆÐé5gI‡fÿ¸«0Ib_|‡m7ÿ´ããÏ·<*é¹lïí•S c^%|ö©©EËž‹·5PÖU³s· hŒ¬êêTT„ê@qÅ;”­íµžÝ‹¸ê—4b¼)„ÏV™æ%³ýÕAâuãy®Z«þSÝ–üdÉ+®ayåe‘w¯ÝŠíÐ}ö¸V@P¹//lß~ö~DºHÕÔvÄÜe3ú0ò_žÝ¸ùìý÷Ùb’oÚåç?VL2ô;ýváÿÛ»ï¨(Î.Àw ˲tDšÄBÔDcÌŠˆŠ»bWÄ‚b,Ÿ"!XD,Q‚½bX@DEc+*–hb*Xvw¾?P¤ì&†•ä÷œœœyßûÎ왹{§ÑÙihëVóª-?ü~ý®èøäže÷¡^“¬xeO‚‡N8”ý¥‡{óèŠt:_²v½¡ü}èó+÷Û9ÎìÝY­fÚhþ¶ÚÙõÇâ.³¢#îäé|9Ò˽õµ-‘óÔÛ ^¸nQ?"qêOak6Ÿ¼õ"Ÿg"tvÿßÜ~檬²ÇC&ɲ\xzÿè9KECGGW·FÖ!M Ÿ<íј™Z?nŠOc·àµnQÇŸ<æžÌ,"·‘û ùÅO#Ö¯Þó(SÚ¼Ó Y> ¶RIÙ?qö³ SX{¿Øcë¡9–o“¦,éü¦•[ÏÞK-fi˜ÛLðñ›òeµD‡)}q.ÄË™¯ù­ìF;UÔadµ»P“e^ýþ»õÇo¾ñ ºŒX´ržGšóë¶u¿yö쪛V5€®Usq’ÛQ_:°¥ŠœøÕÓÃ'»ÝuÁŠ8tõ…̼ßÜÅvI¡ŽßM£Oú/Ù¸¼¿‰ŠÜø+s iÚÉùáiä=ª|ÍÑÀ^ê9·ö¬ ¿–X ÖR8dÎ2÷Þ-Ør×gù˳Þmˆå&DLYR¤ÿĽ1³TÚô÷ \6¨%¯Î®›¬*7ÖoõéøWgžy ÷¿þÁG5 Lþ¡®àãÅ>8v)—š9¹ÏžÔ‰E 'Ï'•W~(º¹ÿ®á ·ñV¬Ç‘«g®¹QÀÔ=½6iFäR÷àsO5mÆŽïÿIîõ½ =÷'æÄ-Øt!AÓzÔä±ú¯®í^xOgDÀò¯ùD‚ž¾[gµ¯R®e_þnúwGïµuž8ÖFëùåæºm¼ÿöŒ€ôÞ–ðÔ–VÝÌ)çá‘[âåž)0øfp;Öãï×F¥I*-ªí7¥ö²»‡o©vîÖŠ2ï\<}åmõ¯l>åçÿ~rÍ–xQÙ;<¼ö\/·š2×­§ÊÝ#˧Ü*`ˆ¥¢cl gb¨ñÏ’f] ½ÙaixLÌ.WÍKž4¿uÓP“±;Žù ²üëk<6½²õ?{1|Ñgñk<6Æ‹"YFLH¤î¤uc,Þ=}Y–}iåŠKÆ3ˆŒ9ìßãùÎõ1ÕOö”þ¾}¾ÿ/f³wÇ\<¸¤ÃÝýŠ"¹]\ð=ÅŸu)2t+bÅæš+µ2€Ñ:qµ/‘×Q=(R¿4óJDшmg£wOV;¿ræ.þ¬}çÏÿàºz¥Ÿ=òÛÛÃb»%{w®Ù8· Qá³Ä|yYpM‡.ÑF|;xý•ì7·çɨv YožÊÌéê¿}ãê€.ÆDÔ~Éöï׬Y5Ù‚¨øUºH&z¸ÿhi X¾|æÄ™~«ÆQNÔ¾¸†×vÚ®¨˜ÓÔÚ‰‹úö±zw%È×ÂW\ëÁp̆Msj¥®ª×ÁÁ¾eùëâªÁËò®í¹¢1nñ¡±–ŽEo÷EŽ’Ÿ¢ʈd,“Ñ>îN]ZëóÞe;,mÿcþׯŸ/ÐTc‰rEUŸ#PúôäÙÜnžóû[êiuë=Δ£¨‹r® »ü ÅTï‘ 4õÚ:Í™Û9íäéD±‚õY¯õÄ™}-<ÝOmmMʳEåïÓuS‚wš@£‘å\?r½”Hútÿªï8Å¢Ô¨Sº-ü„ˆˆÔÌÚèqˆˆoÜÞ(ûujDOþti[¹íKòSòˆx->Ñ呿“—~ADÒ׿¦Æ¯ X!Q30×)©3BI^JǬS ±5Zw2¢Ÿ_¤g•2DD\=cM6‘Œ¯¡JDŒTþ…,Õ6c–O<=ißÚͺDDÄVÓã+Н«£Ê"âpÙDlM}u6±8*l""†¨4+µˆˆ"gÚFV.þ"GBÚ _ŵœ¿s]ïʰ¸ú<"©èšëUìóYµi~jviÒn×¾áIËŠ¹ÖER"¯yëZoŸb±%ÉB|Ï=Îf阚kÔ|´´0½D»© b2ÏÀÒ€wYA|«¥Û|Ž<0oÀâbÓž#&OŸÜO«Ú5 o(—·x~^YíŽj©5p…ñ³U5UÙDÄb±Y\uÁÛ…Xu®"y¤é…™íIDD% ÷ÓÄÝZ«'ÞM!âè›hqLWp+WËH‹('åY¶ÄZ]pwwȯLõy½bÏíÂî¾?®düjûèQaIU—©žDpuLµ‰2“¤Šm-y²¢g3ˆ†úü÷<í®ÖaŠÏ°¨™?ž­(ä”ý¾«®SÕÕW#R°2ÈÅ\…)MÿýIj¹¾•‚+P*°UõŒMZèÉ+q+zq4 tíÇÙ;ÌMD²âä„tUsAÙ³·GÁªd9±Ë½ú…°k)`‹nxªqmG»…F~BŠˆ±ä±ˆÄY Yb]´dRþ,i=Úo×4?QÊ}K{–˜Ÿ\dY=j6KQ„†¢Ýµ;ªwàõÆÿ>«HÁÌZ†â›/ó¥Öê"F”þ²HÐZ“ûn8uªùøî÷êº)Á‰h$’W—Ž?dÈlúÑëqqqqqq·/tW¡ÜK'½¹,")ÌÝÃwåâ^Q¤7`r7mR0]Á>œÛ¢ïØ.\JÜ<éúïæ-Øv:&‘¯Ë+—•=‰<¶aùâIDD Cl®*—¨àÁ¹swsÞýœä9ºÚ©Sêy«7oð™åsµ„Ì]&v|ï½=K³‹ûÒ¾ZoþÅHåÆP?A§±Î†”sá`ÄÏ·þqÓ·«ƒ·^-ÕTe‰ÿÜîÚ¿ó‚ÈÚ÷Û2Ғ¢‚w ‹Jêü¹,))“±õzŒµJ 8|7µ ÷ŵ=^çì)Qt¬dÊK¥*šÚ<–8óÖÁ×óKEâªÃá·:°Ù­õÁ‘då¥Þ9t0YÊ’ßEyQÜúY³ƒ/$æ—Š¥ô¶$ÜŹ–r:ª_}ñ7<E«ˆcØ{tÇ”A'eå&Do¹g4عî[|*6Äßïº)A £<)úÄS¢Žö¦oêÐ,í/~Á¡Â«Çã "Òè9k Ê½èØçêí.ûÞ»ëÛûÒM¯k2xí÷s¿i#ú5üÀ¹—Ím§‡޲ìä¶dTG½Â;·»1íÙDÉ7žäóZÞI‹’Nî‹M}wE,±õü¶ûÿR툽Ê5ï=cÓV·öja¼l]›y m*–äwCýIKð…Ç÷+]>Ï¿´}SXt¦åÐ¥»Ö 4âSž—–™“šQ$©ÕFùã5Ãí«èýÍ’›Å šçY}Åt²ì¶ˆ­gï<™vÉpûo\ü.¸‡,ª+šžÝB÷¶Wç÷µqêuFmä,Éa¯uñUÎ/©¶uÝàk“²ÕÕ©Ïø€'Vs™ªÉëBËÐÉ×Óêià[G¿ŸÍgÌh§àff¹Êí¨>õÇßðÍÌ1¸*È…ŽÍ`×gjhšÃÊ “Ú(Î@ªlˆ¿ßuòO= á*nÊe ‹ü®‹Z¦À¿ª  HA@ p"”UP¤  HA@ ‚€ %@ Mƒ$y¿‹ý¼kÅTž¸}¸½÷ ù‘T ôÁªþÎÁOʈþÒâõ+¼<ÝÚ)ðñû½¼´JTòÝò± ¿žu>GÞ yIt{©­°¦>k–¾oìSú"jë¡•ý(¯ÝwójÉ”&ž5ÄÎJØý›Qž;ïäÊ…<Å¿Îíír0EÒàP¤©ácífÿ\Ôàþ±Hþ~Së{ÞÔ €&†Ó¼—ÇâÑu¿oãŸ[¼Ñ0ùwü*û´“Æý£?¿–wôVûÒçÌ…Jч–X«“‰ƒ½Y#¬ôñÖ9þ7ÛxP´{ï…êQ–ü¶ÕÃÿÆ'swÅ\þa†qÌB¯ã¯>Ä¡ü?£©|Qÿ¤ ÐX˜²¤èÀéνº …VvÃ=wÞ+QñµßLÚw*x†sOawÇÑ‹öÝÏW0±’4ç×mëŽ<‘äõͰù#ì­„Ö}Ç- T “Û‹øåYsOf¦ré'ª²¸4ûÖNÏQŽÝ…V½‡ÎÚûJÌ45|€eQgÜœ{ »öãw6Yî»W'lÖ×çNÅWqbØð>Ko‹HšyuÓìÁ¶B¡Ðºÿôà+™R*¯U­fd97ßÖºxáh£'Ç.§Ëy‹+ÐÖ­ ÃÏ8µ2ø^;ïM ºi+Ü­Ë[ÿUý2¯ZYÅåÐ+Å/¸+}z*&ï+wûVú&]Æ,¦wôFÕjMyÚõ_^[Nrµk¥#Ðie?mjë„“?e(l)}µÖµ¡•èE+’) ¸öš¬]¤ÿÄþ6®½]¾=Ss«ÉkJþ¶–Ir·ïû4%+~ú£ÿäþ6Bá×N®«Ï$–0$IÞ?ÖÙïÜÉï\Gl~ú&ôÊ/ª‚卵vêrõŽJëiះ‰,ûÒÊ—ŒgþsØ¿Çóëc2eDTüÛ÷ûÅ#7ž¾tÜ¿WfØ‚U?çÉL¬Aš±xá)m×Ðs1‡–Û¦mõÜ/’×KNËñ[7 50»ã˜ŸðÝ;o¥‘˼1ÂO_Ž›ftÑÇóÀs1I³.†Þì°4<&f—«æ¥ a?@)¼ðz€ï)þ¤Ð¨K‘¡ãX+6Ç‹TÌåFõvee]=òÈxømû³H<SW_šuyÕÜr¬eQÇofEë¿’†ÍÆ«qqqqq7£V;êiÛŒµ3ä(l¬(éiAó/Zi°ˆˆx-º˜±RgTyßW¯í'¼g‘Še$+ü=*âwQÆÓLEé\éïÛçûÿb6{wÌŃK:ÜÝÿ ˜Q°œ5IDDLqüÞ_ù½°ÇMëò¦ª½tNÑØkok¹‘4D›’å__ã±é•­ÿ±Ø‹á‹>‹_ã±1^ÄÉ2bB"u'­ c!çE{µWÔN½C®ìh´N\Ý-4¤ ÐHXÚ6þÇü¯_; >_ ©Æ劤DÄØÌåð‰®¶©õÔÅ#Ô¯º•/wbͽcù˨ð§ŸÎžÛϲ™ž…ÍÿUsmuˆQÔK-Ҍˇ´˜ê=²“¦^[§9s;§G˜7`q±iÏ“§Oî§UGÁ¢<éÜñ?Š’ÖíÈ"FR&–fžI˜êÙA%óôÌþwEDÖ§7õÖ’¾¾¼zî¶ìþ!\ZÕwÑ€¼õ/Ë<=½Zƒ²Ükë½öªLß5¯«V]ƒgñ4U©´ TFÄ!"YI~™Š97ëôôñUZ³öø!f–XTÆVãƸ]üEO]Áñ\Z˜^¢ÝÆTðfƒXð.+øÂ(Z“,•ffºÜŠq²kmsEß½ZÛZ~$Š1ï²®5%ÍOÍ.MÚíÚ7¼bíJËŠ¹ÖER"¯yëfrêŠWÔN½C~ÛQy½-4¤ Ð8d9±Ë½ú…°k)`‹nx ªø@’û,½”±ä±ˆÊ3žf‘¶:WÎD NVõ9š†ÑýŒ†ÔXDe‰»~1=¶íù½ÔÂÑ2Ôß|™/µVç1¢ô—E‚ÖšobŠò–ª$©sGžt ?2½• S^R.cU`Ù›#SyvR®„ˆ)NyQÒz´ß®i~¢”û–.ö,1?¹è3E-‹Ÿ9þ¹÷¡uŽzl"’å\Z4içÉÇ3;|iàvÕ¹²—’?özúĶœ·oaº D Ö?»Zƒ$Núq™ÏÏ|¸´R­»5¶†Ù§Z¯½1­´Y$N{”BÆNƦßµ&NŠXw°|„×ÈVjÄ>¾”ÀúÄÅXAšÄÑn¡‘Ÿ"ªØà⬄,±‚€å¯ÉvDÄb)Þh ¿{µ¶µÜHj©¹}ÞGÓ@GÐ~ü‘½Ã ÙD$+NNHW5”=“›9UQ³qùí4dÈo:ª·…Æ€1ÐH˜òR©Š¦¶%μupçõüR‘˜!"™èjð– Ïrr’~ݱæh±õ+]yujî yý‡™ÿ¶eËùÄ:.­ 3>âØ*m>7R!âšñóï_¸‘T\–}÷`è¯2"¦0ný¬ÙÁóKÅRbq¸ow¾5¢""*yòcTög#Úèëëëëë´±ñyᥫÝt*˾²fÎÖW=—-ؼ¬à¢RiE´WžÖ¸ØTáú¯ü¼(~›×¦œËzëW©V(hoéÜW'.lÿÝì²Âg‘ÛNä}5ª[³ªGý܋ߜõúÏó~Rï?©»K~kü¶C6»µ>8ò¬¼Ô;ƒ&KYò–*^“u©oìõDR•¼í+—ܦØz=ÆZ¥…¾›ZûâÚ¯‰sö¿”4$ã­®þvêò‡ŠäoA ƒ­g·Ð½íÕù}m†zQ9ËFrØk]|)©š ÀöØgÄò+ͧ­÷±Óc“ü‰5¨X¸­vLâhÛoÞYÝió; ô"5²úŠé6dÙíw×–rŒ® r¡cóØõ™šæ°rä6 ~¥‹SÎønˆÍ¬vM(K³›÷Z·W²ï?7BÍe•½›ˆcÔÏk²Ù/ˆõîç¶K2zF'ÛÐÉ×Óêià[G¿ŸÍgÌh§JÄ“QÑÃc ;ýúÝݬێ%WÞ-¨r )ùýdLå_òîh_©·óšû%┳¾Á1éÕ¯`U°fJª4xôÇ碄]Sl»¾yƈoœèÍØkµFÄÿlöÖåïúéé8=œ5ióÊ>Í«m"––õ¢5cØánNýg„¥Û­Ù¹ØJ“¥¨5Õ¶®|mR¶º:õðÄjî Sù¯O³“·&ëQïØëޤyÛW>¹M±õì}ƒ'óÏ.nÿ‹ße÷…Bõz oHu·Sÿ?T$‹aý.€·Š¯-´¡ã®C®Uï;®üù¡Õ·l–6û çÚ?æÖ ICàßE’þóÅRûÞ->Ì1þcn š8| þ]¸FöÓ\ÿ­A‡1 8J€”)(RP¤  HA@ ‚€2I’÷»ØÏ»Vüî@ñ¯s{»L©ùˆqP*¤  HA ±0eIÑÓ{u ­ì†{î¼§à%£Òì[;=G9vZõ:kcì+qyÒÞQÖã¥ÉˆÄÏB‡…c¤J‰Ê·³žôc†¤øéþ“ûÛ…_;¹®>“XÂ1¥/¢Öºöï!´rµèàoEŠ^g Jƒ‰,ûÒÊ—ŒgþsØ¿Çóëc2ådÒŒÈeÞ‡˜aÁ§/G‡M”hØjIDAT3ºèãy YïkÛæIWž0²¼G·²ØôâêïEŒ,÷Á/¦Ž_qo®ñØôÊÖÿXìÅðEŸÅ¯ñØ/*ù}û|ÿ_ÌfxpI‡»ûã9Ф ÐHXÚ6þÇü¯_; >_ ©Æ劤µæ’f\>ü ÅTï‘ 4õÚ:Í™Û9íäé#Ûnê^I()þóçtËñΆϯ>+)úýJ²aïnª·ö\Ñ·x‚ÐXKÇ¢·û"GÉOQž<›ÛÍs~K=-£.c½Ç™r”0`¨^S„Å–$_ñ=÷8›¥cj®QÀ°äÍ%-H/ä[èTä ,‰…Fqj·µCgfõµ„?ËžéôšÚïyôº[‰d?tw3.¹™]š´ÛµoxÅ/*iY1×:?¯¬D»© ¢ž¥ïr# )4YNìr¯Ã†~aìZ Ø¢Þƒ‚äÍÆÑ2Ôß|™/µVç1¢ô—E‚Öš\ñ7í C£/rd—Z|jÖ*oGLLÓå­Ô5ŸëÚ?²w˜!›ˆdÅÉ éª†¢Ýù )"Æ’Ç"g%d‰y´P/œˆ€F”—JU4µ5x,qæ­ƒ;¯ç—ŠÄµ¯ÐàöÝ1eGЉGYE¹ Ñ›Cî vnÍciuìóIòÑ£©­z˜«i¶ïeœxèdV‡o,ÕØz=ÆZ¥…¾›ZûâÚ¯‰sö¿äZØìÖúàÈ?²òRï :˜,•[r%B ƒ­g·Ð½íÕù}m†zQ9ËFrØk]|IÍù8FW¹Ð±yìúL MsX¹aR[¯‹ƒ‘YOK b7ëüµ!q:ôýLƒEl={ßàÉü³K†ÛãâwÙÀ=d¡P]µ­ë_›”­®N}Æ<±š;ÈTE C€º°׉@cC”)(RP¤  HA@ ‚€ %@ J€”)(RP¤  HA@ ‚€ %@ J€”)42q¶!B¡Ph5õt¦ì}.¹{„P(t»Ïü­ ˜ÜhWaMÖž×óþrû¢;>vB¡½ß½’dÙ“àþB¡ÐåÐ+)QÁ¥iÕ‚íÑwÜÒý÷òê^ƒâ´«?,ëÔS(ZÙ œì»ïv¶TáÌ’äý.öó®¿Oˆ¥Võw~RÖÐéïÕÈ_óa[«SyâöáöÞ7DuyYÁ­©NÖ¶³cóËÿÞÊÿ»‘( WÙÀLYÂé3)DD²ûǯ¤eÂyŸ¥9šŸö2൹© ëƒDcØ­¯PÿÍŽ¥ÞÑP…~ÿû~è «ÒïÚ·›»$ýÉ­;Äl\ 3Xm«£àÇdÙÛ=žúdÞªƒNô¤Ά,_àÍ=6ÖLåƒÇõŸÄiÞËcqçÖ¼¿º|yÊÏ—’:]m­%MVj$J‚*4*Ñãç2I½‹½Ñã/½’‘¬ð·p߉N=„B¡uŸ1‹vÞ̑ʟ(-ü#&"òÇŸRÊ"’<8°h´C·nŽüÃwN …®Ñ¹LEñ Û´={–º8Z »÷™›!‘VW7ŸïÞò[4¢Uõ}¸¬øé™u3†Úw {ö»pûµt1‘¬àþ¾ÿíc- ­ì‡Íýþ—¬’İq3¢‹ˆ ÎNà—ù.HÅÁȾžÕ'èý†Ïpp‹É“¤†O°,êL€›s/a×ÞcüÎ&‹«t-M;9ß#<-÷‚÷¨…?T‰K^̵ãWie$RùÊ ïïUè> ¤ Ј˜ÂÇ.åR3'÷Ù“:±(áäù¤r"*y¸qþú¨ß¶§Ot4~»mOtf±¼‰UÏ;Ȳ/};;$ö»S[Ãß¶l{R­+é½-á©-­º™SÎÃ#+¶ÄË­QÜÞ±òÛ7VïŽ/¬~ξüÝôïŽÞ)jë‘ §ïÖYíUköS;˜ºƒ¯‡L”ñäöƒ×D¤i É!b©èè™jp«–]Ø:ìÛf]î³õÔÍ„×e2â9ù{Yi±H–}ǦW¶þÇb/†/ú,~ÇÆxQåàå~*IX¼ð”¶k蹘CËmÓ¶znˆ/7¿uÓP“±;Žù ï:V©6]š¹Ìû3,øôåè°iF}<<+š™ˆd1!‘º“Ö¸XÈùQ_wäï×5‘,ûÒÊ—ŒgþsØ¿Çóëc2e…×|Oñ'…F]Š ÇŠX±9^D$wb¥ò¤#ÞK/šÌÚ}>fÏ,ýÈÍwÞœ‚“f] ½ÙaixLÌ.WÍKÂVYˆc<4dËÃa¡A½´*7œÜ˜åÄ™ÓRþʗש¢ð”'b ñ0ùwŽ\-"£!C>kÙ|”ûàö™¨ç“<,%YÅD Ã𠺌^fãðâ5Ûœ/É”3±JcÒô ».!S×­ßÏj«RØ÷Û!³£ò«|ÞnÉÞ]#Œ˜”Cã†'¾òç™ ‰…鯥:Mµ¹Dlí–æüÌZýÔ FlòSÁ+"º8ËVXù/-û™Îf*DÔvÚ®¨iµf浚´ýD‡sg/^ýaáÆÇ™ª­„½‡LqÞY•wmÏqû&Uˆz»/r<¿<*ÁcbÅb2yŸ>q6 úéìuý,›±ÉfŠÿªêPCdҌˇ´˜zld'8Í™{vð¦Ó‰ãç·StÒ@Æ2íãîd¡"N¨ý!#7òù_vâמ·]³´müYééóI$hª±D¹")›«Â.žž/kÛÑ%ä´S¹€OT"oâÛš“øùécIçlêÓZMÝ'Ïë{Â=©"\ŽÙ°iN­Ô¹ÔÁÁ¾åöŸŠë½øI~Ìãfˉ“tä7Q«ÓÒç×凧tHA ÑÈr®¹^J$}ºÕwœâQjÔ©?Ý~ÖmÑêi·…_ܱòâ"uËs–[kÊ›XåW~yö‹l"žEg©·éfFQß}ÌÕ3ÖdÉøªDÄHyÇK­Û#ý¾T«ÒèËÊ?%y)yD³N-xDÄÖhÝɈ~~‘ž%æÂO ^°B¢f`®SÒ‘× ¦žàÓïÚ·›—تº-;Ùqꤧ¸–ÍHËJɰëÐVCg#Îy¾eÝôy‡Ná¤f—&íví^±´´¬˜k]ôö€*Í—ói~¶¸P`ÖâMÇ3µhJDTZoÀÒ‚ôBž±…NÅ%?,‰…Fqj„HQ Ââ5oݬöÅ*ŒLalE .±­¿k[’|!Ä÷Üãl–Ž©¹FÃ""u«¥Û|Ž<0oÀâbÓž#&OŸÜO‹'wâÛf$yI…êfÆoWŽþ'ÍTÞãUtÍõ¸oºªwU)ŽYÊ6¨§B5;Už²!€Æ"Ëüéhœ„ˆ²n½+=dÆœ|âÞ‚ÿ’Õ~ÄêÓ~š¯â®œÞrììÚÀ.½õkMöX^ÙGËP“(;ùIf¹õ'*¥/ã_}Øp¹:¦ÚD™IRŶ–¯õàá´(é侨ÔüÈü Á3åyi™9©E’ª5¶ŽÍò]+ûÊ.‡Ìwéß·ÿè9[âÍgnaÊ%¶ž½oðdþÙ%Ãí¿qñ»là²P¨þnAyŸªX¸­vLâhÛoÞYÝió; ˆxFV_ñ#݆,»]ýrß*Ó9FW¹Ð±yìúL MsX¹aRž¢™«Næõóšlö˲a½û¹í’ŒžÑI (¶¿Ú5[Ïn¡{Û«óûÚ8 õ:£6r–ä°×ú4;_O«§cl]ü~6Ÿ0£*ÛЩöÄ*}¶šô­Mâ†ñý¦í*é?ÂBÃ}ÏòÇ»Q׎™//ÎuñR+¿–Þ‡Åbäžøè‰³~‹ÿ³gÚ©“™€-M98vȆg].…9h+;²hÒÁC âÔ_/&´°ëi!`•> æU¼ò”µú—lmx¨‚@S%ˈò›ëáæ¾æøµ{¿Þ°û±;Ù[ª×¿àÇ I5ßßéëüI‘L&JŒÚ}¾´“Cky÷è(ËǪ Ðd1%Ï£¿_zöÞ«"_ÿÓž£<<'~ݼ‰\eߤƒ‡ÑÓkýÂb_±5Í¿·pÉø.ºÑOü5<¤  Cÿ9HA@ ‚€ %@ J€”)4&çœë×B~‘81l¨°Š^Î3ןOÿõÆK¬êïü¤ìƒE[«ÙòÄíÃí½oÔó,ìj$Éû]ìç]+~÷TÂcp@YT,=÷mqÒg1RQæ£Së–-_Ò¼ýž‰fµßÓþqà4ï屸sí¬À_ƒ*( ‹«¡££«««§ß¢Ý¤iÝy ן—VŸ…)KŠœîÜ««Phe7Üs罉¶ëës§¢!N Þgéµ'fÍ=™™zÈm¤_œˆHš}k§ç(ÇîB«ÞCgmŒ}%fHš>¡ÿÂC»rìne?Ú7ânì¦éƒl…BÛ‘¾Q©årû¿¬Ú¬4ç×mëŽ<‘äõͰù#ì­„Ö}Ç- T Sj-¢»ßõéóí›ØË_ìi;õt¦œùþ ‚€òÉD‰—OÅ—ê·5¨^ce_Z¹â’ñÌ"ccû÷x¾s}ŒÜ¶Šùø­›†˜ŒÝqÌO(fD.ó>Ä >}9:lšÑEÏÏÅD$ͼQ4bÛÙèÝ“Õίœ¹‹?kßùó?¸°.„OËë+§eÕf+{“¦F,^xJÛ5ô\Ì¡å¶i[=7Ä‹ª Ý€ît+úÏ"*O¹•Ñ~¸µ>öÃð…1 ,âÇþNVþoÿ¥kå¾~Ú§ªÕæ`iÛø³Ò1Òç“H"ÐTc‰rEÒúš•f\>ü ÅÔc#;pÈÀiÎܳƒ7NtE ÿ³‰ã„ÍølÍ_·Ø¡æêÒYW>·³Ò?#’*èK§vûå/£ÂŸ~:{]?Ëfl²™â¿ªÅŸ:ÄÈ_¼ÖI%Aû]%ßVúŧ©ÎewšÙ]üW!eá¶ö ú¦›Xlž¦¾¾¦ «æ,¶$ùBˆï¹ÇÙ,Ss¦ÖÄÔ*5H Ò yÆ:œŠ&&Å©"b«jª²‰ˆÅb³¸êî›>X í«‚$/¹P`ÖBP‘:ðLmšI¶¸z‡Bñš˜DwþÕèÜ/ætý(Þ HA@YتzÆ-Z4W| –åÄ.÷:lèvÀ®¥€-ºá=(èÍ'ŒìMæQž”+©¾GËPC|óe¾ÔZCĈÒ_ ZkÖ·³SÜWMMCè~F Cj,¢²Äˆ]¿ÛöNWÿ|З¢uÑWY¿|åù•¶¢Dàßù7|¼˜òR©Š¦¶%μupçõüR‘˜ášñóï_¸‘T\–}÷`è¯ï.û”””I‰8†½GwLÙtâQVQnBôæ{Fƒ[«ÖÕ¾ª4[‰gјùo[¶œOÌe?8²68â… Ÿ­xñXŸú"ïhàÑ|«aµÀRøh±õ캷½:¿¯ÃP¯3j#gÙH{­{¨ÓÏk²Ù/ˆõîç¶K2zF'ÏÈê+~¤Ûe·E£«‚\èØ¼v}¦†¦9¬Ü0©M½·ÒÊï+^ú®ÙÊYU,\‚V;¦‡Nq´í7ï¬î´Àù /‘ÓKó ç.œ"µC¿Ðøpë  éa1ŒÜ<þ!¢¸o‡,çœXþ¥ þ™þµPh<Œ8?óñ™íWxÃÚ#ÿ€ÿ8¤ §äaðÄ©;ËMiÏWv,J†1 ¨‚€ %@ J€”)(RP¤  HA@ ‚€ %@ J€”)(RP¤  HA@ ‚€ %@ J€”)(RP¤  HA@ ‚€pSSS•üç°†Qv ðŸƒ1 HA@ ‚€ %@ J€”)(RP¤  HA@ ‚€p•ü¬è ð1,†aêŸ ”ŠWñÓOG,nЃ”E5¶¤â¦ŸN³¡ Ðôà1 xG (ª  ¨‚€  J€*(Á¿  ‚ç‚4•Ï!¢2{5%FR·Ê‡‚ž ð/PõpÎf³?þ*HÝù!hrT._»ökÅñþ£úÿ•> œˆh2ªžŽ¡éŒLÕó/Ô€!hZjd!¡†ä„1MKðÊÒððPh’>¶rÈûæFHA@ p"”)(RP¤  HA@ ‚€ %@ J€”)(ÁÿÌ´æ ˜ê2§IEND®B`‚murano-9.0.0/doc/source/user/figures/add_to_env/add_to_env.png0000664000175000017500000034020013656750211024451 0ustar zuulzuul00000000000000‰PNG  IHDR§ÁŸUWsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{@õþ?þ×.»³¬ÎZ»\\(ÀÄ Â<¡R` IhÞò’×O^NjŸƒôý Ÿ_@çü¾餸Iìx-É;&’&§?ˆ˜ÀITP – È®¹c°³·ß» 7¯Y¡>ÿˆ³3³3ïÝç¾ÞóZ­&xH ÑH}€ÔH}ð»ýª¥Íf2›M½¹£ÃÔÑnÒófÎÄëôm­&îšQ«å›þm¸ª6´44j^­6{ý÷_E ƒvø}îa Oý•–Ÿ6ü:ÚÍ&™Œfž7]ç Ü5Sû/d2u‹„æžO%0›ÍF¯çýÖþÏÃÚšúk¹£¹Ò±Á¶~Ïã½Á½Ôú*7|d8Y$±1ÛØ¡Ùd"€ze<"" …D¡@`&f"QMEÅ.ó]»llÂÔ§ª×fïy ©àÔwÕhnãx–±%²˜D666666B‘@ ‰Ä"¡H$ÛØØB¡B¡P(¡@ ÚI§ÓÜ+ŽšAÂxU¡¡¥… z‘ó÷°¬%ø „¸ZäÔGFC¯#Îì§tæô¤€„Df“Ù$0 Ld¶dk÷N ,ÿtÆ"£Ñ( êtf³Y0ðšC³iƒvß.»ÿzÿÞRÀŸúÌ&“¾£C$\3œí•F£‘ÈHÀd6 7¢œ@ 3uÅ>3‘Ùlî>ÃÀb6“@`îh'¡P`k‹wÆC‰W7«ù[ÎÁ(” Œ6øtF¥â¥«’E[Ào˜ú‘ÙL$$ f"Ðri ‚®\, ³ç&#Yg¸eð;þü¾}ûŒFã“O>9sæL–e‰èêÕ«}ôQpp°\.?|ø0½øâ‹/½ô’°³/¥F£ÉÊʺråŠÍ[o½åææFDß}÷ÝÑ£Gß|óÍ‹/–•• ‚^xa„ –ELw%iMÇ÷eDĆE(Þ‹W½2Örâ•þ[@‚Aáv1ÿÅå¹ú?ëÌííf“qÈôY¿ýçî[«=¸ÿÚg[œV8xðÐ ›{íËOo¾almº.Sâí‹·ÚN]”0'ñ¤þ6s‰Ç$îL«xH¾¸ææfžQ(eÍùÉ«S .ÉǬ^®Ä7<üF©'ÿÑÿ>YD&#YzsšL¡†  – XV °#Ù\!‰H$ºöóÏ©ðFãhWWçdžÌf2›m$¶ý&¿ªªª}ûö=öØcöööµµµÿó?ÿ³råJ©Tjy´²²R£Ñ<ùä“ÿþ÷¿?®P(üüüˆèÚµk™™™<Ï{zz^¸páÓO?]µjÕ!Cžxâ ":xð`GGÇðáÃüñÇ¢¢"'''"jý?ïêªÏÙ>ç/Úðµ5D$õ­o¨7´\fÜŸ¶±w`† ".{¯Øm˜pÈcºÊòk{?Hl›·Èš">ú—{H8˜•þiŒIÓ&4¨û¾h2>4¶¶°¯¾†È7PR_y­þösékËÕtóÔÇ—'LO–¯ÝùîˆûxUí^¸´hÑÞŒ±÷í7;¾¹${ãÆOO6tîñÐg_›»lqøˆþžË_ñFÊùîÉwè³asW-we~—½P—goÜœ]tþ²žH,w ›»ì­±øèó•y,ÙùˆHsrmbž_f¤ò¶I1{áÂü¹{3Bïcm/‰›’æ²~çòìö#wþs÷©ÏlnþW©Ñ  …6B¡H(šÄŒÍÊX½ ¡„®‚ž¾ªâÊ/¿Ù|îòåªæËZ]‡Q:(|¹‡CcxîÛ·ˆ–-[fkkûå—_–”””––[ßÜÍÔ©S}||.\¸••uðàAKê+,,Ôét ,pss;{öìÞ½{;6mÚ4‘HDDÿñÿñÄOüë_ÿÊÉÉÉËËóññÑ7ÔëªÏ yÙþ¿?0 f½žˆRÓÕþܱ#²7¦ z%ÌrM¢ãºLÐF`c£;WuyÕÒëǾ´¤>þB5—{H8hóÞC±Ø¬× %7ú…òõuÜ—‡ÄO<ùø²•8D <‰‡>ãçr«%×P®!â‰äÌÁ_ÌŽY¹ñ|ˆ{ù‡/×.+ý!%36°ßý—¿¶±+Érªüu«SÖ°^;»ÞÅÓºF­ßÉÞõ!¯(yib¹×²ØÌÔ@W–o>—·%9qá¹U[Óoÿ-ðhË4”6ôL% |$~(½wÔùÏÝ_×g6SçmÎ^¾ÌzƒÁÑ×ï)¹\Ðïí×ÍfËE}B£ÞÑ–q—=f+ÚüÓìý¬@ÔãÙ+++‰ÈÛÛ["‘ÑK/½TRRRVVÖ•ú†ñññ1›ÍO?ý´ƒƒCkk«J¥ruu-))‘Éd–^#GŽ‹ÅgÏžíZ­B¡xâ‰'ÌfóÈ‘#>|ýúu"2iµDDF# D"ë–…fKX Bk(íÊr–’¡Åú‹f]ÙÅ%XfHz„XnßçfƒA6{žp0º\ŒëÌØUòÜCäå¹ \¯‡^‘šÄDU?ŸÌÖ¤å53 ¥WHÇ“Üò"ŸËNKû´\MÄ(ü¢bcgz±Ô¼{ᢰ·\KŠÎ54pîoÅGñÙŸ4\n潯MŠT‘ºèãäyµ‚¡æc1K?sIÍ|·ÇW·ú\ɹ>/°î~¿k }èÏîe O³u”NS³æŠ­ ccÓ®ºdêèJÝ* ËØ§cMf³™HÃò[ë73RY›[®æk j™ÀH?–ˆ”¡sÆö:hÞtÅ^Qc•DD¬‹ Ë]Ö½™§ÁCÙ>ñ[!æÕ3ØÏÒô¤pwÌ5hø›·|·Ÿ˜f®]û†K÷)ò5ëùàÁÅ•¼4âµq¥Ê¨E‹f̘±hÑ ÷âf¼6aáG%½Ë;¤>WÔ04$ÌËò]ùÆËÝÍ¥yµÊ¨™ÖSš°îÍy¥ÍÖoÛp/–ˆ.CÅògCÝËߤÑpt“"ûÍ qeˆ˜!‘.šΩùÚ¼ œiý²÷{#„­=vŽ#RFÆ.“ç¥$$l¼–¸¸Ï×1;66sõ˜¡g­Oý="ß#uþ#ºçf2“Y£ã¥" L&³€ú-–™FËíƒP 0šènïÝ ìï¦ç–°×•èFŒaì|.³Ùl{»»/ ~%\2Ò§õÿyOWQÞ÷Ç2}òaÇ™2ÍútÑP¥ãß?9m^2¯½xÛ 0Œð±Ç¹£¹²7¦‰‡Àqj aÜg®ra̲D¯¾ UPA?±OÃ1 ÖúaYVLDÄ«Õúëçã¦O±LçùëäÅYºâÁG3†K¯g¦³ó3§¹®g”+£Áræz-Ç‘øÆgð`FßÌsœŠ£ÁröÆ€xÍu""Æ+j¦bîºæ°õý :Ãóêë·É½Ž¨Ï‚]ýÚ›sW,üÔ5Êz¨¹®áôçÓæLYg]ö:¹^æxâˆuïÜKÖÅÒ"7ŽzýïãàÍA×M2r%K¥—ÕD=|¼Z­gÝYË–½û߬å{îë·|ýZZ¹ú`ƒå—ªÀ»Xw§¬ÕQmÁžÚg+ _¦mßÙó§Mþúub:»G2Œ’×ñ\3G ›—Nù´s&½Â]Ã[BF×w9Ã0âîßÕüMOHˆ•Ë;O&®™ãäj=ãÕßVÉêK¯sD,)CßòÛ¸º@¹*¾ßÑ_ex|&%/]{ò:=³hcúÌßg”˜GêüçžîÜÐu{†;˜_ö¤Ë']~nPLfA×2ý%?¥RIÝ*{ÔÙç³KW¨#"NgYÄR4 Å]ŸÕ‰œŸšñ¦E³ô?þ¨¯»ÄŒðèÚIË¿×öd‘ݽ/rJDf£uÛ"™ÍÆÖËfC?Î!3æHôó¶O®íβ‹{Ÿì- Eü¹ÍiEá«Ü?]½±÷$¤›”èÕÏ‘ˆeùfÎ: §Öèi(£P –‡¥îŒíùƒUómžž•s]+£ë~°åø ¿®á¬Ÿýë×y±‚eYW–~èšÈ«Õd=Žªó7~ʇ¼æR”ö陋{ÖEN?hnu|zËŠ2,6*{QÚ§ol]>‚¡ÁCYq@ìÎÔCÀp%,ñšë-ÒÀéïlû¡oÉͽÕ}0uQví`¿Å. õW¶¼IË÷ÓÖ~Ëׯe’?å"ãߋȲæNÞüú MiQ3yuï.È fˆoæ;3KƒZoMab÷E[3{öâËoùÌÌMNHxêJDÜõëÄ*YV¡ߘÈs*N,—³DÄ_üt]¹ûkc.º1LR¿?ÄZ‚_Zrת¤¨ß`ÐGáüçî{x ÎØØt3f³¹ÿ^›D|‡îZãO$…Fhck#´ …¼®Ÿ³Q¹œˆT*•¥Ž×ÖÖf6›‡½Q>­¯¯§Î*_]]ÙÛÛ[–²ü÷ b\Ÿ2›Œæn‘’:ÿæÏŸ#"áãÖ Àôu—¬K fmìL§NöÓBŒX6%šˆÚ‹þ×øóU©ë¯+^Ë“{¹†Çgnícý*ë©ÇljqãNçrKš‰ˆ¿˜}ÐòIdÜ#ýø¢ÝEÍDD¼*?-áãrîöÁúEºs-³6çï.'¿0w†ˆ¨!7÷"OD\In ïâÂ(Â\š³sÏñDÄ«ò²kÙ1¡® ©óÓÖՆį¾¿Xž›²ùb¯èʸ‡¾Õ<æwëM×™«Âøƒ)Ù*ž×Ð1ŠòOó,9ÔE'|”¯&Ö%ÐUSr¬–#"uÑž‚Ëwºý<Ùˆ·V…ðW'ì.QqDÄ7Ÿ;–¶zmƒß²E7ÛÌ»iyÖoqj:"<èxM­ú«4=Ï^C/XN"ÔE»K,ALæªÚ“}Ž#"âÊw'$çªî õBBD×˳‹ÔDÄ« räÏ*÷°@*±~G«Ëžä¼Â¼Xâ/nNɺ(þÝØØ1µëÒòo¶+Œ2<>#5ê¹Ä#pþs/=<¯·´ÙÜUñ#KÏl2é:Èl6›‰dºö³î'U{ÍÙ+§¿³1š dÖ´ëÎ\Q_éÐñFSÐ’û>Ý)=<<A]]F£Q(ÇŽ#¢1cÆtÏ–_ýõ+¯¼RRR¢Ñh† bggGD%%%›7ož7oF†aúízƒÉÄ_º(vu3q¯ªˆÅB‰„ˆ!™ÍºÊ¤ã^,ñöm?UÔñ]‘øI.ïH÷<¾üÝ+ ÿÕö·ÿW<Ü]ô¤+™ŒÂAgÛffÙW_ã¾úòçÍ«×àh5(Ç>ËÇÍ}mÝ-g»¼–Ú«9;vUlh⺹ëäJ¯°È€Á»‰ˆØÀØÔ·ÒÒVNYÇ1ÊÀ·V{±D· ~Šð¤¤Úäus¦pDŒÂofjl K*âÅÏD²Ÿ­œs®YÍ+Æ®J« RD¥Ä6''LŸby‚å)˽õ±´u !©I^ Qdì[Ç&nݺ¼û¯>Œ×¢eùkKû¿ÌÖeƪÛ÷tdý­ ˜“œ–’éµð~’}èÏjµúg5›ÍƒÑl2~ûîOÅ'„D/»8™y“Y"²1*7‰DÆö_Èh$“ÉÄëÈh4ñ:³Ùô3o®¹z}èPÙÏmRFÌÍÎSç*­ô åâÅ‹;wî$"…B¡V«]\\Þzë-±X|õêÕ>úH&“iµÚ!C†\»vM ,[¶ÌÑÑ‘ˆ~ùå—-[¶´µµI$’!C†´¶¶Nž<ùùçŸojjÚ´i“¯¯ott4µ··§§§ †ÄÄDîh®:=Uì:Ìx¥ÕôËõ!3f?¾x í§‹[׬&"¡­­Ý R:5-žKDâaOéë~?é¢ÿwƒë×EÖVþþ7îËCDd3ä1³É¨Ü¸•?îJrÂcó=6w¡‰ãþ=%œˆœ>Ù«ûà÷ÄÛ³§Ï݆†¬Yz¿/nÎ]º0÷™á¨¨üVÔE%¬Ë;¯éó«®Xîº,16w¹ý}=€ç?wZë3™L---×®]û…»®½ö3™Ìæÿýé²XHB"©Hà!®]µtú´Ôi2‘ÙLfÓ"ÏÇ;*Ó_%Fl&bøŽî¥Â.#FŒøóŸÿüÕW_Æçž{®ëN}J¥2::º°°P¡PDFFÚÛÛ[¦4èÏþsYYÙùóç‰ÈÛÛÛËË‹ˆX– ~òÉ'­»*…††Z®ôR¨±å2¶BôÄ“²èé¶£ü-óHGÙ'¦\?ü…Ùh,6ÜiógW7g’Á XkÒuè¾/»éÿó=ÛÑ/p¹_¯{x “‹žròæ[¶Ï‘eí“RõµôMMH}ð»þXåµ8coHþî=Ù'ËšyF¡tˆŒšxŸn{×§ÍIP/ÊL Wò rUŠgÝQmø )ƾ›1ö]´ÃéA?ÿ¹‹ZŸV«­û±îç«Õ?>n?_ED¯8 ² H@f“‰îÉkµB£x¤çm³B1cc+K$‚vάQ›ùËH)¶a¯³KW D·Éœf³Ù2X‹¥Öçîî>wîÜ_¿Ï]«€{¢.ù89-÷géb°&þꃀóŸ;r×õÉd2'g§k×~ ­%=¡€,›…BÛ¦[¡€Œ&2Éh™´ÖLÌÕ¿YëÎB×o”Íù~Eàòô½ËÑ€óŸÃÝáiooïîáÁ;=i6›»’›µt¦ë övâud0ÙdA 0 :™»zu ¸ŸÀ€K}D¤tt|þ­-Ïú M&Kx³”Î}PçT“Éd6›-Ô™Íf³ÙÌõÊå,qQ¯×ã¸+wq]_w¥?üP°þï3šÏÙZzxZÊ}ƒXTj3äq’Hˆ‘ÀƆÄbg‘—ŸÍP'ñÓ^hq€ õQSs³¨áG™îº@ö¸• lD‚Aƒb†¤R!Ã@ˆ>œpê€Oˆ&@ê¤>@ê¤>¸D—.]B+<´©O©TšÍæî“¸ÏüƺÞrÀl6›L&“Éd4õzýÕ«W_xá4À}K}‰©þØÔg4F#Þx¿Iê‹Å8Û†?0þ™Íf£ÑØ= À}K}"‘¨×$„@øÂ^÷¿M&ue?¸Ÿ©ÏÆÆ­ “Éd6›…Ð ÷9õ ÷àbÉ{–rŸP(Ä[à¾Ãy6ü‘ºÞ~–a]p]ÀýO}h¤>@ê¤>øýRÆÏ€?¹›®)h€û™úÐH}€ÔH}€ÔH}pK¢ÂÂB´<ÐŒF£^¯7™Lh " … Ã…Ö"Ÿ ££C  ]àa6›M&“Ñh4<Ïëtº†††   »Š|:- Ћ­­­%ø¡‡'<Øôz= /žç- õÁƒ ;n}ªŒÔð0Cê@ê¤>@ê¤>@ê¤>¤>@êx(è.¬ò⋉ßëîi骵S"Ö|¯£ú¬9¯,-ÔÞÕÂM…‡¾kë¾’ûO¯Ú÷?üªåÖ3i/]»rNÄ‹/¾øâ‹/FÌY½¾°éVÛ¢«ÿæè÷7ßÓ¶o–¾2g_Ó¯Þôöš­É—Ý¢E5'>Œë&yý®ïõxC õôJ€[ÝíiÙùÍk¶Tw›`ëà=c¼»ôNWðÓ¡ÔN´{.ú`ñ3â»yækç Oh†OzBŒW ~•¶ÓY§•Ó¶,`šeh žhGDÔvtጬQSG\<­R«›ù ’¦=-«Ïš¾¨püTÅ™Ó*µZÍŒZ‘7Ñ­kEõû—-*\r03XFmße&¥çœUs¤½ .aös2ÒVíKMÝvº™'bG¼“¼:˜)\³,㢚bç6/H[R¿*Vp0å9‰®þhzê¦*bˆØQ³ãâ¦y3ÖΈUÏžÆ~s±¹YÍŒŽIK|Ù‰´ßg&¥æœåˆˆQŽ[’3Ñ­olÔÔÔ\§:ÜâsÒôUú~õø´+ÿdÉWNÞ¯'®S=«`ˆ¨kWx"ÅÈ©qÉKŸãÅ®ÚßÌѲéU1SF7÷Þ/»‘úû¬¤ô¬³j†ˆ1~EÜê`'"Ý…}Iñ›Ns¬ÂuÜìQg2Î,8˜ù²¬oè+WIG¾,¿ÓRê8ÒßE>ê›  IDATt¶µƒˆZ þoÆY¿çé»^þËÊq¶'öï>~Ik É=^™9udÃÆ¿ý齕’‘^µ/eãü?×CLíUŸ¤óX±bäûw]£1l]þ4mî«Ã¥¤o)Û¿û«ÈÖÉ?òÍHo>=ð@ºÇZŸƒ_hhhhè8?Wj­:š¹½äÚ.)v š>oöì ÎwÞÔ¥99ù§Ûñ’Á¯Ôt"K5röx'§q³G5ïû¶³["Ãðªo¹×“·nݹgÝëÍI9õDD ö„lÁº­;÷~–<êLzê·ýÕÃÚŽ&Åë·çë¯ÿ÷³ü¶øôﵺ Û’2T7~ùõ×_¶€¾JÍø^' NHÇ*^Mûlý4åì¸->ýì¨ä=G¾øâàºiêMñU:"†Ô§ KÖoݹ÷³ʼnŒ¬ :ªÏIßÏ-øìÈ‘#G®{/<¡ê§S¦æÇÚ]ýnñùÒ^üæ";úõQ="ŒSðÄ—½eDºï3’öÓ‚-_ýõ—_Wž´í‚Îéõ丑ŒrÉÆ½)/³ýìW÷u¦ÆgÑ‚-GŽ|qdOŒòDRÒ¡&¢úýIǯûòÈŸÅ=]˜£âûÿE¨õ‡šÛ){joùá»[çÄDb‘ØÐP#|ï¯+ÇÉõªÜmÇ´£ÿcMBBš¹ÃU_lûFëò¬\S¥j'"Í¥['¶±ªUO¤oú¡‰õð`Ìͽä2wMBBÂ_ÿéÐXV£%½*÷_4yÌ}/!!á½iU»?ûNƒO<˜D÷¶”sЄw1é= ïo©ºtJÕ>J–“º¡”ü&{6æ”Òĸ÷ÆKk¿Ý““_ÕØA$’ˆˆž<ÊQ¬o)Þ»ÃRë"¦öÚo÷ȯní0ˆäÞ³g»I‰Úë¿Ý³'¿ªµƒHæ0yF”·6ëýÌ*íýkì©y¬ð‘â•ôíz±T|« Oý¡}Üè¸Ñ2"µ`¿ïÂä•O[*fŠñ¯”‘ÄuôhŦ‹m³G‘ëë㟖‘läË£˜¯¾¹¨ÏöŽQgUŒyNFDNÓŽ#™LB+?ûR+‘IˆÈit°2ã›fŽˆí'„ž>¡RN{Ý[FD·ñÓFdd|£â'1#§s""b]]Y®YM4B¡ ÕÑ}߸¾>ÚÛíõÄ”~#Ý¥2ÃK.·z x5GìHEÿK%Ï%<¨“X›a”b›ªg¿NÉÓýíW'ÝÅ£§itše»e£¦g—=«Ç£RŽŸè-!"·WŒÞtº¹¿§æjj ®Snûö¹zìoqǬ³OOYàÑy8xüÙç]¥D¤o*«épŠôw‘ØuìX‡¢Ó—3=l‹Î¶ê½å?ž¥ác½›Š.qäÐ~V%þ¦ƒ˜d¶\MÑw5"¿§œ½ßXèM¤oüúl‡SäK®R"’û'6£ì’öOþ(÷À#“úº‘JED2‰DD¤-Ïk ˜åé)UoÎ<ª²:;Ôµ½4'ûTV¦A7ù۲ÖY¼§¿*-ÍÚ‘³ù€óš9ÕÛ3^¢ágËjì=•µÙöÝw#ækÜrB#7ov;"ß@É|?ÉØ¡ [:”‚ˆHßR¼#ó”óÒw"nîÓUe}¥jV/›ðUçvßÙ%kž“Ã:±–($aX:ÍñDD «èÌj,ËðÍ|ßB§æxƉéÌE2‘®þÛMûÎ4óDÄ«U¼ò&ÄÕstã)…‚x5GD 1Lç*­ÿÚMLÞHÛ¶íKš›ÔÌŽœ¼$nEŸžíª²V×[~F˨Uj¹õü´U_el:tVÍ߬¦Q½7øVûÅ«Õ<3²sg$¬ËŸæ8žçÖ‰íœø4Ëô—ú45?´;½êtû÷ÎãáïýŸ9Q{KÕW;7fh–­xUJ$’ʬûÝÁuˆd²Îƒ›­Ì–Ú¯êv8í¿¤Ñ:TiÆyxtR_‡V£V‹¨½åÌ‘3DÞ®R²t¾t›=#XA¤þ6KEä6#b”‚ÈMTUµ¥º²P5ök%×jO©ˆä¡nŽ$p=•UUX¯ö.¼d Ù¸ÉÁ£ž{»*ke,ÃÕ[—%mS=ǺñY±©gÆoܸÖ[FTŸ5}î7ýo‘„ucéL×Sðj5݈M}Èžž¸2eâJÒ5f¬JŠÏµsšS Þð¯Vùí†C‘œ8‚OÏ:ÑöÜË7®Èk:š²Ÿó*Ÿ›Ñ¼`Ë–inÒU¥¼±ª×.õÛnµ_ŒBÁXBkg¢e –ážã8";ëÄþzxjUe‡±.wõñ–:z‡Œ–Ÿ.ªÑ¼ê×ãam MZ‘˜ˆ¨CÓAÒÇ¥ƒü\Û¿þñ’¼Uþ¬“ÌAï ù×¥šv­ÃX1‰å!oz„iU'výã³/Y¿«\CD$sp”ÛÄþ#mŽ—5ê‰H¯©:øÙ¾r->ñð`ºÇZŸsèôPg1‰leŽÎ®ŽCÄDd<]dIhb™ƒ”¨CÛª¥gDm‹–ÈV.ëþ|¶R"|ÜÒÅAÖ“6‘H&ª=E¤ioíÐÓ±^]YZ¥‘…nU:ø‰œ‹à‘¨éÛ¬³Ê‰1nݧ9›èº)ëÛ¦Ñ b”£ÙC±sRUÍjvÔŠä©nDõD̈q´mÙœ³Íͼb\Lòx;¢>ýí&&'\HJŸñJ@ê¤>€;{ ñ¸Õ©2ΘáÁ&ã ý`©666‰?€.B¡ÐÖÖ¶ë$Y„‡ øÙØØ úh¤>@ê¤>øÝˆ Ñ mê høC˜Íf“Éd4F#Ïó:®¡¡Íp¡‡'R õR õR õ õR õR õRÜßÔ§.ü[lllllÊ‘–[Îñ÷3íw²:}íö¸ØØü¤ÇKðǧ¾–3…­$’‹HSZ|?’šØy¼yó¦+ÄxIî#ѽ,¤o)=¥!yhTpõ–œòSÑnbëÅ{¶ç”·DÞÁŒømJÚQ­gT„(ÿH•Æ ÷Žšj8š•S­!¹÷ô¥óúÆîØQ%}áݸhqaJÚQ­çôɲGJ;Dr¿¨¥3$}»^,ßjüÁî¥Ö§o).ÕCð î~ã\I{æT£µÚ§>µ=»¼Uä9qÞ¼0ÇÚRMW´‹ˆ ÕùµîQrÒTeoȪ1ýÒTeçÔö(Zg>zF:cú Myvvm;^©˜ù~:’‘¶ýŒúÆûbsjæ?[ÐK` ¹‡ZŸ¾ñD©–\©Ýà<Ê™r* UQnîbºV[ÚJ$˜ìó„ØSV_úÑ m·åä/DrTkóKsZe£&rlo?q*»±¥¥\{?‰< :b”# 7œ8•ÕØÒ¨¥g¤x±ñ¯/ž°=3s;-ím(Ý‘™oõN„ãQêÓ\1veñÍgX'§a¾!!Ñ‘a¾ö¼v€Ôw«Ð§*¬ì êÈßšoTUXÛîþŒ´CÛNDRG™˜ˆÄ2GQ÷Ô'SȈHd+&"©ƒ­˜È  }ŸEæ,#"’ÚÚuà… ó—ÒöÌ ÏÓœg¼3ÇgÈÀÜNžkª¯lª¯<ž»!Ýÿôµóýexñ©¯íµ…U$ˆšì-³üÿÈÞÕ'jÛŸñ±•I‰4Ú­ž†ˆõÚF-š÷Q ~â#§Dã"Däc|"£}{D:NÛÖTSYVÓÆqe–¬`öoŸ5 ¯ õõúNTH>*4ÈÇÑ2ÅY“"§º°úšÏ(7?jl=•Sè*«ýçKêÃU^@ð1P¶Å)ìí˜YÎý< »rò“•+wÔUnÈ89)} ê}ð(¸ËÑ\Úk « $óô“ß8ã÷ ]*¬¾FŽÁ³'{Ê —ŽîÈÊ׎ uFèƒCb?fÅÚ8ËøÊ‚:Ú ‚ŽŽ@€†€?„Ùl6™LF£Ñh4ò<¯Óé‚‚‚îv=7FsqûKÎ~k}DDºêôɳwµóÒ¦ütÿúÔmžº¡žˆ ZŸŸ1F[¶=5eûñz®Ÿõië ~ ·¸¢®‰ã‰ˆˆ±sóõ‰|óÍI¾ö7f+XººŒˆìÞÌʉñ”ôÙ©³w5ÙEeå¬éý8ÕmŸ4uCù'ço ·%u'l?WVYSoé­JÄØ¹yøŒ™ýfäç› Rs¥âð®yÅe]lÙÞ¨yóÃ=QíxˆÐð(é,ðÉœÙÓÆò/ÏóÚêŒ%KvÔ÷ N¦¯^½«’ï9•o«/ËÛQ–·ã“—2R& “É|"=¨¬†¨íde[Œg¯ÚVy²©óϲ²6êýø•ŠËãaÖ‹uÕV/I-æ¨ÏsW¯¯<¾+#(nûÚèa=“Ÿ®îpÒŠ¤¼¦›modrFb¸3ÞH}‹¦ââ6""bƒBz$Fbý¯¶1ïÃõDÄ:y sfÈÎŽéŒPéKVAÖ'r~t˜ï0;–¸¦š‚Ûw75Oš¿F¶?=ÄžˆìýÃܨ¦ž¨>¯FíÜ£ª¦­È»‘*ëWhgõz¼&¯†ˆˆœÂü­Ï½ÒùXŸÈù“‚<†ÙKH§m¬++È=p¼†'®8uIºGÎß»uåØšùIÇ9""Æ#ìÍè—ü‡9Û1|SÍÉßï8^OTŸ¿€dûq#RÀÃàJAJÌKÙËÅÛþ½úCvf»ÆÜyÌÛ´iEÏ›;èª?Yc|NQ›>_sãQO_ÿÈèÏ—Lý°’ˆ;žøaÙá‘]л õmDÕyuºniŒt5yDÄøDùÖd—ñÇktáÝ·GW—WÁÙ…9iË>Ém#"b‚’÷g„ßèGê?&dÒ¬y'g¯Ìm£¶ì ooê|ôʱ$käsŠZ¿mÍûîÛ},fVüqŽÚr“Ò£s}q C¤>€DÛñ]Ûy»“´mM5eeõ<ëÿNÆÚè›vkäjÚ|²Vô¾ŸŸ®rÇKb´‹J‰és·?ɰY‰ï욺¡‰ˆËûädܦpI†…ø³»ò8â* šÈwX·Pw¬’'¢aaáa|vY _VP§óïvi_SY™¥¬ço­Hjk-½J=Âüíûl²ý˜wÞ‘““ǰ̺ÜOŠy""§7ׯŒé³sx\\nq|1OmyŸÇd„ Ü€Ôð`àÊvm(»Éc¬OdL\Ü$Ï[¶˜—Þé’t5‡OZ.©³ ‹öèwùa!Ñn6ÔQE^….|Œ„$a¾L^1OMÅWV ëZi[YYÙùø{øÔÙQM[¯Kÿ®TX®Äc|#;Ÿª3“Õ•Õk'ÙËúæ¾ù1czLi,8l)LºE¿ÙÿþÚ‰ögŠ‹yâË×èBüQíxh Ñðè$ÂÊܤ١Ñ1ÛO^¹ùLÃB<úÖ½Új*,¡ñºÙX™N¾ž–n¢|M¥,(ó ³Ü)¢.¯FKÝB]=1>!Î2ç†,—þu=®­Ì«#""ÈÎ-qöq²ìAî’%‰Êow× mM±%ô1Ã|ín2ÌÃÒ}”øšŠ&¼9b¨õÁÃ¥¿;7ètÚ¶ºšŠâû¶çVrõÇ7¬,.xgÛ¦ùýÁØaÎ}CŸ®­Ú:x¦lX×è.½IìœìˆšˆH[£ÕI¬#ºTÖ_SP§ãkí­i©Å#ÄCF2:^IÕy]å6]]å¢>n7‚övʼâ;jˆ¨&7uIn*ãäãïïäÛO Õ6Zs-|ÉØ€Ûµ™¶¦MGÃPìxX¡Ö?‰Dæìé>?qû±¬w<ˆˆøÊ «7T÷W1“°l?Sù6k-޵“Ü41×vVîœÇXŠtmemÖY—WÆ‘[ˆ¯=Ùûú;WÑu'‡¦ËE}ÃwZ7ËwŶý Q>Ç7UçîH]½`òØ1“–$~~²gùOÛÆßEûpZܱàa†Z¤>€‡Eg#¾² Q7ÆóŽòc'#j#"¾ÉÚy³¼ÖZ`cd²Q-ÌŸÉ=ÎSM^½.Ü^b©…ñè¼_ dX˜'å•QMA6ÚY¦­´ôÿdýÃûïr)æ?i¾ÿ¤ùkHw¥ºìx^îáܼÊ6"j;žº$uØþDu+;ãéï‘Zmèá †±† ÇÝá";Oë˜(mum7›I×ÖY}³ó°ëÊY2ß0_""¾² N×5R‹GX×12—܈ˆ* êt¤«+¨ ê1|çÍ7ÊÞsLôŠ”íÇrÖFZ¶®-÷ë85²aÖÞ¡|ÓÍ7úF|S}[g–cït!;K°âk ênr\ÓIË(,Äzv7Sækȳ­¬²Mk©Å)äÆ@-dç?ÆŽˆ¸²‚&]çE}7†ï¼Î!1ñ·üYWÖ¦³¤¾ 7Ë”š¼ -^t¤>€GGcÞvëíünq†>$“‚,±-oWe1JW} ×2 ãÙ£s¦³˜Q]AM%Ô±õYÖ=,ȇ!¢¦âŠºŠ²&¢žÃwi+¤¬Y2+zVzÅÍF]‘ôþÃ9$ÚûÊvnìwíÉ5“&ÍŠIùü¦9ú,ÚêÃk–¤VZþcù¶ÿ×Ó$¾óß¶Ü{ËMÌ(ëû´Öì²”Þì½^§  ;"âk(h""Æ7¬G,”x„xÕåæZ.êë9|'1T}<¯¬¦¾fWâ†2í­’,ãÓdÃVY®í«ùpEFŸzŸ®îðš5yMM5dzwU ô<Ü0š <\šò>IoêætÚ¶¶¦ê²²ú® ùÜÞLYá{Wƒœ ‹Nx'wö†¢¦ì%“ê£ÞŽ ñfG|[cEAöŽì2Kæs›—òvïb$ÃÂ}˜ìã|ÛñÜ6"¢aa½ºoÚû†8Qe_¶«˜¨ïðß·ß ÊM*æ©~×’ð“/EN ñ÷°³—Htº+m5ey²-Ã~’[÷Ài’ðÒÔøãQýŽ“Ê"çG‡ù“1|[]ÅÉÜ]ìôfÊ|OŒöðp§¾ÂÂB´<<øÊÜ]•·žÅ饿¤$Îò•Ýåš%žó7mÒ®ˆÙQÉW–ýaYv¯XŸyéýeI‰Ç$_:^ÖùôAÝ»oZ&ùû³”k¤ý ßi?)e›võ’Ë8âëgo8žÝç9¨”õ+zä7ûð”Ï)iI|^W™»¡2·Ï2o®]s× Zê høC˜Íf“Éd4F#Ïó:®¡¡á7y&†uæéëÿRXä¤Ï{Í92ÿÛM*8ðùÜ⊚&®sÍþAaѳ¢Ç »IÑLæéAe5ÖPâÔ' ñ¤\k/Mß°~†ï”yÎÚt,ädî®Ü¼²Šêº&®ó&vn>þa“fM Öw¯$Îá)‡ýß<¶kWvAYE}ç­ÛY'ß Èèþ—€‡Ž ££©Tê BËÜ/Í©ú©ú©úú©ú©úà÷L}úó›cccãvÖê{Mÿéб±q›Ïëïz®/XL9;²T“c£kÿÞ5½8"àê‘ÒvÏyï/ö‘];“ñ×,•<4vM„#^¿?˜¾]/–Šo5þ`¿¢Ö§ÿ)oÇÑjÔ/jÑìq¢Êrmç-G2wœ¸D£f¿óÎtOmùÞÍG~Ò‰EDÔZ˜§öŒš7ÑÓ¶C•¿'_ã1oœœˆäãæ½3Ã]Ú•E»OŸé?ÎON†ÚÒúv"jo,m$rx!‘ïÏ|?ÉHÛ~FÝùß–âÍ©™ÿlA§\€‡$õiª«´D"‚žy&pr´wgÙ°¥ôL+‘ó„ £ÜÜ#Æ9¦üTg¹GDûøO%#Ò4ªÉÑÙYJDRgW7Géu‹»OòDÐ d¨-mÔ“¾±´Þ@A£úþxâ'^_<Ždn?£Öë[ŠwdæÛF-ŠpD©` ¹÷žúöÖv"’É,aMæ(£*-éÛµíDÔ¸÷¯±{;çmÔHJD$•ËED$–JEDtÇE!ÇQÁÎG³«KÛEg.us„·/Ý€ œ¿”¶gnø{žÞà<ã9>CÐ&Kê/éf IDATKeR¢­¶HJ¤nÑvNwu8O~g¶§µz'²•KIõ«Â…÷8×ì½Õ§*mkµä:¡o€?ñ‘S¢qˆ|Яèá)÷ö”µþ3§°²²8;§Ú`îè3ʨ±¸´QÛÞR™³}sÖÕÍGâ‹ED¤./¯¬Wëo>}ˆO¨§H[šsBCÃ=‘.XðÈðð¥>±[ļÐá2mUÎŽ=¥¢ 9‘AODä8añ¼qà ¥Y™vü³Eæ9!â1M:<ØOFÕ9{ŽÔ¶ßbºÔ}œ§ˆ:Hä‰ÐpÇàØRýO‡R?:Ñî½èýùÏHñÂ=$Ìf³Éd2F£‘çyN×ÐЄ–¸_DÂF¶ÿt¾úRyÞ -ÉC'¸#òxhøÄíßÞ»¢w¥âóÔÕo;ØÓÀ®†ik*Úî.%~žÛDäÖ–Wóy^]ôüa÷5ëÊêˆØû¼+uMD2¼)Ôúàáfï;+em”•Ý{5ì÷¡k*®»«ù+wäµù¼9^˜QýÃÕ÷–5+Ûîû¾´•Õñxó õü>$á> 5V´uï;©­>œ3+|L@@@@@@Ȥùk¶ŸlìÛ¹òJÅ”ÑÖÙB¢—¤¨èÕmQ×xòóÄ%Ñ!– Ÿµ"ýpu÷y´Çæ[Ç:Ñ–}¾f¾u]cÂg­ù¼s]u“Æ.ÈãˆøãKÆ„§ÿÿìÝ{\w¾?þ÷ä2“4AL@jðX¡PЪ…–J«P/¬+Ô£,»EÏYtw‘ß÷ž³ÈîùžEz¾JÏ*{–U‹.ÅËŠ¨[Q„–‚Rp*•%$ ™\æ÷Gox­Zªïç£GqÉÌd>ó™×|>óù4>¢£§¡zÿY#€Ï²y®3-Rh}4•n‚áë„€€…M þ42 `ÍYÃ]£¹ÐÕ›<`œ–îckbµß=šK÷¡˜€€å{µP·ù€€€7½ÿÿ<èM gîî_ŠB!„0õ!ôÄh€"ïˆ,g7-M;PÚD+ü燇Ï÷—èêN}¶~yÂþÖ;“Iû±¤åq‡+Ô ðñ÷÷quõጸå›ÎŽ<$H7îIX¾þÓãÕj‰Ï¼ðððytSÅ´Øå[n¿(FW“ð§V×ðO~ó›ÕKçÉtM§>K°ç±ÿ²¥á>$€lÞ¢¥K—®œ'£ºMÝ_ï-e|–Ís˜±x™@wê@Ý}¹êa›@º.Z¹hž€œ¾héÒ•‹=È»³Ï²7ÅÆŠcM÷¼swÅ¡:˜¾l¾ë½!{ÑÊEþbûV-ZºtéÊ…o~.0ž½oõ Õ‡.Àô˜®x”"„B=7ø\zéêŽ_bÀÃßc(Hu‘¶é”ÄóS÷o]ìj_h¸”½&noݧI‡Þ<ãaÙ±´´R#(–îØ¿éM Ýzh}LFõ©-Ÿ.;¶Õ_tãŸ6~VÇ€ûÊœ=Iþ’‘œ“Vz|˧áǶÚÿ (`*>«X´ãØ–¡E1+ýn®n:p¨5&ÑÃùÍ5›<$u§êšHŸ5)›ü©GmTwÅjð_9ÏÀ#|¥ûgŸªÏî¯6ø¿yÇãtÚ„ÅI)®º³Z£bÑ/·Ä E/ú®Ø·røÔq]é©Ö¤Ù3¨{CŸÏÊù÷>*)™“äáÚt¼º<–&mz_´G¸ìðݽ«g¨>TÍø¬œ¡!„Bè9¶>ôrë¾´SÒ)#€8ü“á¼Ñ~êO €JÊpäÉìO¶,¨÷ê[Ù~|O59/)q$¨P‹~³rºL&Ñ]ÒÑtÝÞCZÙÊ­¿ô¿e\§$úOíýz¨ÿæPû™ÿo~yGäqöŸÚºö§è²ýÔž:rÞÊ7‡B—나éLÅê;ßíÑ›ðHÔôe ĺSÇïlí®¶‡¾eók|jƲ•îLÅ]Ýc —U3·“+B!„zN°­½4ê>Yö§;;(2FVg€é«³S†ƒ™áÒ)5L_äï|O¾YìO/ÕU7`†KgÕàî#¹+¿$îÿ"Ñþ3Ýx¶Ú žîqwÛœó¼pw¨S7V´ÒïßžÌÀ}þì»>’Ùß ôviŸ±œ·òvØt¿Ò'#­®bÏÙîÃC•>z7ö?®;{J›4Ãc8ô®ƒ'Êká˦öiSÅjÛ $w„¾;’+B!„zN©¯¬¬ ÷z9è´êûG£TÌ_¹fÍêew.]“ ýPFÒÙ»_klb@wIG/v¦tZ2Ùƒ™®UÆêÏ6%Ý=ó£Õ€±µÛ©Orï;Ù*óă]Ò‡ŽkÄ bîhaçy+ýasuÝÒöÅË\‡vÈ#7áñcŸöÔÙÖDûÔÝÕ‡«Àéä5×ð•>Ÿ¦ÕUøÚ°à}‰=ôU0@Î_é< „B=çÔ7s–7îôRðI?sç|}í‡ÖDfÔ¸†/º«¦í9ËXWZ:z¨2€¦u ùàGìÆÞ]Q[]ªýFÃs˜´Žn:pÌž6·Æ,»ëãtMûOµ/[ãúx›ð¸±/\vü°öØÙö5k\ Õ‡«íÝKŸdÛ†Riõ¯»ßß Möзl6†>„B¡çúp —”뢔Õ{b÷jlùÓ¢ý‰·"¡( ä¼g²ß|H²¿ŒaüðIJÜyðÐÓLþ” Õ{NÙ»­êÔêÑfÚS:Ôº&ÑcdK¶ ûÏ—>¬>v¶}MŒëPèó_ö„tÎo®œGVWÔ¨è~±¤éP5âE1ØÒ‡B!ôÜáh.è¥EÍX³e‘ @½7íPëËe®ÀØ»?>˜ýeÐÞzïËhš¦iÚþèštô‹Û*Cõ @±úà…ûÙ1ŸÐßßH?æ&^цêCÕ÷UÝ}çkZ÷ļõÖ[ïlª¦òXà/0~}ßdv†Æ³g«[ O·ÖMcÝg÷T0îË{ŒºÁ1ö74ѵ ·=üéBÊcÙ|@Ó±êÖ¡Ð÷4=3%>+í±¯ôëýöÐ7CB!„¦>„¾çII>P‘ñÅHòq¿z P—•qèŽÙ ÕÙë×o^»ñÔPt]´Æê²ÒŽ ¿Œn?–½G ^3 |V/VoÊúúv®¢ÛmIظ1!!ûÒµ’$£Õ>$-¶—¨÷eᣧ3Ÿ•á2ã©=Õ†ÇÚ„áÕ5iéGľp@ÓñC‡.1÷$3ʦ ½é=ŒÔô•‹euY¥FP,Z6CB!„Ð €Ïõ¡—œë¢-«÷/ß«®Èøôë7‡fMw~?ukEÜÆãËßÙï?ÏCLk]E“€ôOÙ>êq„ЋÓ}ö³ã: ç²#B!„¦>„ÐK†nÜ¿9­‚ÅÊOpš>„B¡GsA=o†¯³¶¸ÔZ]§fÜWoýïD!„ÂÔ‡z‰ÐºK¥uâé៤¤ÄÌÆÌ‡B!ô"áh.hÌÁÑ\B!„z†ð¹>„B!„z™=mÏÞó¹9§õŽA¿H˜/{º÷05ÿoö‘vièºø‘æðå·æ¬^>ñ‰V©·ù›ˬ7f9ñ†VI™¸ÊK€_,B!„B}ŸÔ§ûŽ\k_]Mç[ïº|ßÇy.o-ûh6Hžì,7+N«uqyc–€hú{KD4¥ÄȇB!„Bß/õYtuµ½à87<àêÁ’ïj;„»òt9¹¥}й‚絛õZ¹Ò™á+"f;ñ°üÎwìüêÐßím}ž©½¢èä7-z@¤ð ‹÷’ñÀr³¦èØÙËz€š0óÝÅÌ]ûßì#íÐzpÛ§ª˜õa7ÿqd¤­Ïx­ôDIí5= @I=|ßý`þTX®ü×ÁkN‹§w–|ÓÚ”bîGÑ ”è¿zö䩚Ö>€ë8Ù/|ñ»SÄxl „B!„^Oó\ŸEWS×Ò¿É3ßP@ÿåÚ›–¡Éã€öRßÌÈÕ¿ïÁÓ_.:Zg|ðòQþ~ ´¥wâÛ‹—FÌ¡´u…KoZ,7K~qYï¸|Õ¢9‚®Ë'þ~¡W0ùýE3E0áíŸ|æÊ»3C–î;XyÍ4yþGË#ßvío­üüo¥: — úê¯z§„/}{ Ek¿)ªÔESrì›VëôˆŸ®Z±Øj¿p²DcÂC!„B!ôRxж>Kgõ¥ú¸mu™égš/´[Ü”#ï$ x{¶›L|Ëólk]ûe­É×eôå3G{÷þkÚ¬ààæ?k"ÏÓÕqª†¦À£‚–ÇùòDR™DS.Öö¶÷Zæ*]œx rQº8ñ wdoÖÖõ(Ã?˜ç)p±~÷Ç]ßÕèßZÜÉóßðXDW/\«íëìµÏb°ÜÔ´ëgM™ûqÒ»8Å3^-­6ùÎ÷rÂ]B!„Ð>õYÚ«›iºê¯;«†5UkLÊ©ÃÏÓQN hS¿åËE£¼½Iß"xb¥§—=UtÖ~QR×Þgz×jyð*Òú~ÊIdß8HÄ…®þÞáæ;“#x”€ž2<Ò·ÿTmý¹õç¸RïȘ<±‹çãG¾¦c=ÑÉã]ÖÁO—bðC!„BèGžúLšóÍ48ú¼ê)²ÿû\Ñ…kÕÓÔéC±¯¿³¼`±ç,hø#´ün)´ž¶€˜gém®k꥔3©òcÛaò‡?‹žíÔyâ½dyØ:RR´õ÷öZÀ•`êí·8ÊDýø‘çÂ=ZŒºök5çN]¨?Yêûoºb“ßãF¾/Lsÿeµïráþ¿Æà‡B!„Ð;õ™Úª¯ZÁifŸçÐ| {+/œ¹vášqú,û‚¾š”º¹´—^¦\}°>`¹v´6åÉp¢íÂÕ®s5gWw:ÌY5s*màZLýMu¥Wiè½ÙiTŠ(.tÖ]º&òœ22v'o¢¯ÓÅJMÉÉó<_‘¾úlÀ„€Ù2ÞR_ïù¿þù´^¶ø-%%’‰x…‰ï±Xt¥¿0ÍYâ+ãø,Ãûž–­›8öw ˲}}} ØÍf›Í†_&B‰Ãáðù|’$ ‚xÁŸn³Ù –\„°ä"„%÷y¦>“¦úšDSfÝnÍqšâãt朦úšq–\üºÒ#•½VJêå#†¡'îî[>úˆ)âÙýTwìäùsG>)|>ŒsCØ;S>?sít~‹wøÒEÔáã-¥Ç*§Æû¾1¹ò‹¶Ë_³8ýkØír™¿ê#ˉ’ÚÓo ¤ª·—…ÈÐ@èäÖ~ò«Óÿ àà2뽈.ûëð‘½õÓu<ÁÈÎròYú •…7öwÞÀÀ@OOI’@Q~“=éÃ07nÜJ¥/ìsûûû{zzìeK.BXrÂ’ûøˆ¶ëíÏl¥4O:ÎŸŽžÄ$7Ås}£ÑØßßÏçó9‡Ã!âÅßõDèÇ‹eY–em6˲ Ã888H$’ð¹ƒa``€$I‚ °ä"„%!,¹O›´Ð«¥¿¿ß^ýðx<{õƒû¡§«‡ìÝ´¸\îón7À’‹–\„°ä~Ÿ’ËÁýˆ^6›ÍÞ±“Ïçs¹\¬~zjAp¹\GQ”^¯gYöy—\Š¢x<–\„°ä"„%÷iÞäYöðDèYx~=„B!„B˜úB!„BaêC!„B!„©!„B!„^]¼ËßÕã^@cÊ$7î„B!„žYê yê)ÞúžX–µÙlV«Õjµ2 CÓt[[î„B!„žeêÃ]€Ðãpppx¥¶w``¿tôð^­jÎd±à—ŽBSB¡W‰Í†û!„ÂÔ‡z–tEk—d4€•×o[±®Pÿ€¿WmH‘į̂bðkßô;BŒ¯È¾ûü@JU ããB£X´¶ò`Îî£U F˽££ýdXѳ/L5Gwç”×jôŒý`ó Ž‹ ó”Ðõ[–¬+Ü~b‹ßŸµE[’³J4 ˜yb[…9¦>„º/Eç5r%t4/ß8ö“<4%Se¯¸ý鬌b&8)%JNÚ¯ï”ÊnÔ»~²®%éÈ}õ-zB,‹ûà%,¹ƒRF§f†Øc£)ÈÈ®G¦$†HíÅ[¬R‘S3£‡~ݲ{sNƒ2&5ÑOlÿc©—À MI:'0ÆMYAÎþÍ«ZRó·…ÉFÉΛWeTIƒc3CTR’ÑkNçego¨Uoß·ÑO‚Çzv õ»6¬ÛßB*ƒ#b½åbÐ×WîO‹/.KÏÝò}Ý\S¢‘F¦§G«î«ñ ÇÔ‡BtóÑ883Iœ±¡$¯!ñ)î0¾èëB…wÐpƒƒV“ÅŒÒ7$Èý‡_1]Km#ÆC S–ܧ'q÷.Ì´´’„*±w`HÐWòáŸiò( õ ºïªU,÷ ò9'…„ª`ɆâÝÅÚ°Ø{+µ%yUŒ0iç¾üü}¹©ÁLqƆ¬zÚþ®•ñ›÷ë}“væîËÍŒS6ä$oØ¥¦‡ÞVs4£¢Ò÷íËÍL Ô—goÞÝLÛ뜭ñÉû¤Ñ™ûòó÷m“×f¯Û7ògw)\¿m]rNƒ<6sß‘#ù¹IÁÆâ¬øÍEZûæÐQœ}Ú=iß—çNä&È 7¯[—­ŽÈí F•°}_~~nz4Y’±.Ù^S@’`¬ÍÉc¢Òwæ¦bä{\ØÖ‡z6tåyUŒ*1Ê@ë•‘W¢ˆ¾£”44).HA€gTb\Þªœ‚rmT´‚òJÈÝGÊ2 @ç{psíi ííIiKrJŒÊ„Ôaîî)©ÚŒFcû­AF—º>Lîî ‘åûk[ŒàIéJ²‹õâ…;Óc½)PD§¤Ô¯HÞ½»aùãw]3TåvˆC·§FûQ [ŸÞQµ"g÷QuÄZ¹}s¢ì-à¡ÌÉîPÆ%„((*0:P\R^©¡#dМ·»ŠñJI]"ϵ©)ƬÓÚ(d¾)ûö1bw…@¡ˆ‹-(ΪªÕ®uWPb)Ib©D‚™ïû…¾WlæxòÐóc.¹Æ’ä%%£,—?Û}J µÛëšËwgìﯡýuÏ·çÚ鑵ÿ`FÕARªò ‹Z¤Àr<6°¬ L½0¨‡nèÓ°½mDÿMÖt ¬4°,Ë% ʉM`%“ˆqàà B)œ.9¶6C¯ÑHUÒÇiLI‰ö¤À=.îèÁÍ-•t˜ êwç4€WRúÆ@Øút}ÕŠììâ„ h…D*&I G¯€yªrjÈÀôôµ!PD$¥7WÅÌ)Û1Ô"Ç@DÊz{‹£4Ú++£¤¨yíZO]UA-H—G©(PïÎ)gä1™[†ÎL±©)•KÒr šC×{R$€Q™„bêC½pÚ’¼ðM ºT”Ç’› Žª£owÝ •A· —«”$ÔÖtÐÑ Š" y»3ª4zãÐE«”a€Ö”µ€8Ôkä"Nâ·~«ŸýZ@â5r—O¬0 @·”i€ S|šÄ+L% eÚï1ª 5•eÈí÷©¯—Š4û5%©TI‡·L,{Ë%#ÿ&12`l©íy°jä=YØÆ­aC+EêKr²Òj[:ô#›­42x,=K¶§ÓKî¡ä’¾IéqÊ»®ÈõEiiÅÏruìoÿ]‘20a{jô •…¬Ý§k®ªªª¬¬¬­-Þ_U¼?[“¹}-tñòšm—àæE¢«Á¦kÃu0À=þ²#KxM™ d3AîGLœ ä˜yÔš$íwxFîG<ø•^!#…—”JÅö’µ FP†ø*î¨ßåp°¬Å­xÔúЃœÖT¶0 ŠFÄ£Ë IDATðyJâ+>XU¦¡‡RŸØËw¸î”GûBZIQóZOO]mA-È¢<)еÔv€42äö ™W˜ ²jôài_keˆ ‹¦>„^,˲,k³Ù‚àp8@ýgí…ÿcêÜñ*•\R®ò½güm‹ŠŸå½éÂÔô(û’$År÷G^%ó ‰ð ‰ˆ]MÞæäœýi»Ãòq˜®>½þ5\Ü ºf0ݲYëð`-&èUC¯ZKYʉ?•˜µ„˜ú>ð?ü&‰åRMK<¦F-i4£3èsV½3JQ{¬,õ ƒ\Éè iKÞN»çöÉíªóŽƒ$0:Ü\^Ôœàéi¬*heb¨ûP úÂuïÞSÕFz”·A˜úúQ»r¥å§¾ …‘‘QR™3˲“ßìq±««³ôlI{û ¿ÚøBV–n((Ö‹ƒS2ãT·OÃŒ&/9­8¯6aëP ÆxÇ¥Ãö³¶¶ähÈR7F µ-è`¤R&I) -ú'¼†#ÅRHß”‰^äÝËåÕEJÅÀÌ÷R# ~¢š†”Š:tÌ}·diÍÑ’P¥¤®~ ]Í0£ÔÐèûá¯Ö ¼ê%÷Y#¥*oïÇ×× Ó2⡯Cd~ËCóÖ7hŒ€©ïE³2¶žkP¹Õ”k>)pY®ÀLh #™jà¹Ü² 9‰ÒÍU*æÃ@7Û«a»/Ã-5Áô±æ°šaPÇêØöóÄw‡ äß9RÏøv’Ä+Bµµ庈{j£ÕE»ËÅQËC6&%VˆȘí™Ò{ŽvÅ÷<È•b©@š´3ÕW|Ï- ÀýJ|£Éäò"M‚´åhx u;°¿ËÂôÌXåØ9`êC=A4Ô×}þyA«Z]ýí·ëÖ®õòžýÈàgo¬¯»”“³ëïG =ÜÝñÉ¿ŠD¢ç¾º†ª¼£846Ôû®«el¨´¤¸ ÊfŸìª¡RCÙ_BwT¶(ýämÔ1C§x;mIA €˜ ”AJ(¿£—¡fÛ†,MXzfìCúÚPÊ”wèIw÷Û#ƒiµ •=~uA)ƒTPØPÖB‡ ?P4Ô'æ‰:•ÈT¾rØ_U;Ò)EW¶eC›™*72ö7CUuóÑ£Ïúy$¬ÙŒ;á•*¹?º~ëŠuÅÒ˜ÜܵwíN£Fc±\Š3±¼èÃ[Ë^>Ì6‚þ›CK¸㤺ʸ\¥'\1HÔK—þ–ÑxÝÆ²S&»®^ñ†Ì}öÚt š Ù¶¯î# ×6°@€Ã)=dÁ ¡âä’¬´£^™QwL¯`¨ÉÙœqPì¢xØ=D©——J4ŒÔÝ}¸B£uZ#ù¨†ìGä¤" [šA~{½ Z-#}г­ßè`ñ†òÓµîU à›:44‹D"‡Qêî.»½‚zR!ÃÐ÷=àžE6›­­­äšD³wïÿnÚüïß~ûí#®nY€­¨øjË–Ô}ûö™zÆK8mmm/`muåyUŒ44ZEÝ{ *eª FdJ2²O×kuZuYNÆA=xE*€’©Hh)(¨ÔêtêÊ‚M›O+Å`liÐhP„&„Šõ7g­ln®/ËËH+l¯ÀGÜí“',”jr6o-ªQkuÚæÊ‚-ñ+Vl8¨~‚­’Æ-—KÒ2ŽÖ¨µ:mýémi9qpB¨â‰vŽ{tB ©ÉÞ¼­¨¦¹¹æô®´Œ8ÈWA)ƒTÀÔæÖkuÚæ²]›Ó4¾*}M‹Ú@EŠI€–²ªæfµËÃ÷I}6Û+õ–Üå,Öì_¿eWQYM}}}Måé‚mëã3À+.ÎCÍÖŸ}¼vW3=r½cíÇ?߀nÆ2ûlt_¶û=[“{;ò¹Ì>/[•ÙèõiÍø=ßô•Ôª¯¨oôúm£vŠ&°ÒÐõ诚˜ô&¡xP-$‚~bÅXØ>IPRfŒŠ©ÍZµbý¶¼¢Óee§æm]»bÃA*&3%Dò¨ƒ5.Á‹)OÛœWÖ¬ÕiÕõ§wlX±bUV¥á{ä’À„åJ}áæ´‚Êf­N«®)Ú¶nÅŠuÙõ‰—òŠ–vfïn!£GÆãt_˜,nÈÚ¼ãt½Z«Ó6—åm^µbÕæ"¬¿lëChŒ¦¾>í)n¢ NІ¦Ž/¿<ÍåòþçþG*•>¤¹¯ººúüã±c'„ÞŒiŠéÓ\®]¹ùÑÝyÅY%ûR,W&¤'Œô·ÓkZ4-ÊÛû€éhÑ´·{’±Ì>›ÈWšÆÞ¼442 ‡×?3vGSUmÃ=/äp‰Xäâ,>Õ}œ£ã]¿kûŠí¼]ì@Ûs\8sÖŽn@Œ‘ö‰÷Ú¿ *ÈÙ}´$'£@,÷ LÌLˆ|¬!cQÛsÉììÝiñ9CÆF¦îLxô˜>È)ϵ;wʲ²ó6Çg3¤T“™´öÁó·SªèPiñA=}ÇT²°Ô\ÈÉÚµî ÄrßД X~¿ Ñd2¯ÚÃîh̰÷H´Z­V«•aš¦ÛÚÚæÍ›÷œ>îúõëãÆ³Žò¤^äžü¿éBú<ÁšS·—ÓŒÙÕUñoÿº6eÓØŸÜ3ßÑoÃáp¹ÜÌÌÌmÛ¶ ÎT9¯XäcaÅ3ý—~¼*î)V`àÉžz$ºfÓ‡jCwÙäÝ3^Æ›·nÝš4i–Ü–\ôr”ܧ¿®¸yÉVþ¡«l ÚqZ/lÿy}GWÏPÆ ùÎÒñ"‘ƒtœ#‡ M½ãÀ Éf³ ‚ñNŽ®ò Ó”ŠÉ†o}Ubº` Cƒ$ ¥Äë¿ „Æ"“ÉÄ““˜ðVMx÷Mד¥šŽŽ›{öìPܦæk]]]]4cfY ù\±X$•Jù|^mí?„ä³]—-œVPt£]Û…;½Êž´Ó#BèG|5¬k†oÿÝõ`³-Ÿw°Ã³øŸ7Œ&àp8J7¹ÂŹ[«Ï`¼¦¾n¶XîyÍ íņF.—+s{È|æMò~}ü'Ãw¬yõPµÃÖýgÞF{ð³Zm­m7¸<®Ç$WÜùhìÃÔ‡ÐXd6›- ðÁÿ5·5+´Ýæ½Öp8ÿOª) o7˜6Qð?j F:n¹¯Ê FíµëÙ§rÿÚ¬‰kc^ ¸V«ÕhÄþBèÕN}÷]ÕÝñ»‘zX€Woš„^¦Ân„îƒëß€Õ ìD¿½7¼Ï^j4 =Qä×?0xábƒù!§°Z­úÞN=Ô\ãzO›³Æ[¥ì.&è^Ö<MÇYóñþué{÷ä­þçåiî“þý×?¾jÃ#L}¡‡\^Ú{SÛ‡]±ÙXxÐ\|&“É̘A>7ò¿YZ¯÷ÍTM;“.60™¬çÿÙÞ|µû§‹gÎtåq –€ÁAóM‰ 8J¹ƒúFŸÕf+©òÛúå9<Ð 7TèP&­6«Õj¸\î=“[bþÃ’‹~dµìÕ@{k›Ø­¨ÿs—®šˆEoÌñ¾¢nS_×Ú_. H7©Ã´ <Wád‘ÉÑщëb$åm7:ªÿùÝw-×nõö šh³ÅZÛ¨ùÃ-çy}±/¯”¸¬½ú%ýÕ§™§ÙËW¯ÀUÍõ¢ÓåK>æ¦>„0ïÙl63ŒÅjår¹ÑÝÕu¹ñ2ŸÏwssS*=Á±x<‡Ëµ_{’\δI’©nb‹•ÕéMúA—ñÙ8êƒùç¥"g!—C  ŠëÐØ‚àqaðI†v@è%L}öÑ\XÖf³Ùl6û­–¡(h³ ý—+n:ºðÓÆ988p‚ ‚Ãá ýô£»ŒÃ™*Ð+Z×ZéžÁ°À^Ÿªè Í Pþ¯Íj¼ª¾¡½ \ÇÍe\˜Š÷†ä†ÜÖÆékc{Ì ›É™úºÔM.rhnh;º$.²qú[}:šaÚovï¹0þ_üßyÃz’Gë€eyßå¯ðÿÅÞè4ÑÌ ‰þêüÅy¾Š‰Îø= —-õ™;kOžºÐØežÄuFpÄÒЙŽþƒ¾Ëeå=Sß›çö€¡Ôë²»W3!2åÿ ‘âW‚^²¼×Û{«¥¥åJKsgg—‰fø|Eò?AQÔk>>ïG|ðî»a®®“8ÎÈŒ|\e¶ 5R°ÀÒŒ­Yc(½ÐÑ?@óHø©×·•ò B™# ,{gÏ4X`àq9|.¿ô*³™L`µZM&SOOP( IŠÏçñx<›ÕF Œ¹«î(Üzû†|²3ŸÏçp8<.—„B!—˵GDÂ~Goä#4fqxÄŒHÂãm¶çšõV[éWݽ{-üfÀœÆ+­7´öÈ÷šJïcPtÿƒÓsëŽnÞCꯔWÕ\×v:žS”ŽbÑUÍþÁŽ®ž½çmŠùï¹w#ÌF0¼f8ôÚ‡¥çëm6[§N_^U½ø=üÐK•úÌ%ŸeµŒŸ0A`j¯¿P_”«iOþx¦pô?Ñ_(,<ÃÿIðSB/««W¯œ8q¬¾®ÎlfŸbmÖöö¶êêµæ:\¾ÜtúÌ™¥K–üë¿%Κ5‹?<ʼ@ `G›m6–å,\¿Ù_P|Ué&ž;Ç-{ïÅiÚdlj2'1ßžô¬V0ô3½³@À›(¥l60[ ÇñŽø- Wýî ˲¬¦éìÛ9nllŒT*¥BÀl¦E.—²{MuÕt Åäò9 ]Ñ漣;ˆ(’äóù<Ëåw¸K6‹]@cR¤ˆ¸ñ•ïe™×|µ¬âÛ7»ÌfóÍ.p8„çdç$ƒèêáá¬È%( +ÂÄב¬Ï`l¹¦¹Ù­gY¶`ðbCÓë³g¹»)®¨ÛhÆ|S×{XãõóñŽ–`mœž–ˆi¶¯kxf‹ÅØ?XSwyqøÛ ǺE/Oêl,üG;€kdò/C\ø¼Söç¼Zè1˜AúÚÃy…4ÞïV¬qmßóÛ]õøü÷É߬þ]â´ö’¼ü4öX$ʹKc—ùÜÛ¼×wùäç…]&Á„ó"òÁLG€AuI^Þ?{,×€ð©êÂò®©ñ[×ÍĉÆî¥fkkëÿû¿oÝê šäêê&­VËùóUÿõ_ÿÏžúX–íîÖÿ9÷/úžÞßÿþ÷Ó¦M³?Ëçó™~v`Ðâ(æÛX˜$ýËGÓmfËœãÕ7Ín.ÆS@À²}ýÖó—:[Z{(’çí)›(Øl¬åÉ'Ni?DèÄ Y–›MÄå%mÚ\__¿}WÎààà/~ñ ‘HÔ{“®ÏvñmÊÌ Y¡¬¥y\ÿtFðz9ÛL'„"‘X(PÅçóyö‡‡{ŠŽ­òõŒgn@èÇyuËã½6kúk³¦_U_OݶÓb±€ÔQôIPÔZ0”ãÀýmbF1Á‡ Äà`±¾=/€ 8_¯íìÖ³,{±¡ÑÏgægi{G—Íf«ºÔöᛳû›9V”¦o§LžÞt­Íjµêznµµßôœ¢Ä^–Ôgî¬W[”ïÌqÎ[|—u¿}ÙŸó.tŸ»ú—ޚùg ÷žœšùÁêàöÜòžñÁ«cçMƒË‡ö5Z¦F® ”íùü›½yÓþ#Ñ÷Žèf¾qò³Ü3=ïˆÕs¥å‡ŠÎäî‚ä_¿g>¹·¨Ñ ˜±b®°ñäá.¾1¤ïòÉrÓÜ|±‡. wì´X,99;W¯‰ó÷°OF˲~~þ«Vý ˽|¹AßÓDzì8'ñ­[úÞ[=6›€×iœôëoŽ7†»OVˆ&Oý$b ŸÃÒÀÚ¬6ûû`µ±¥UÚ«×û&Mº»Š'M°´ÙÖÓǼ¥pÁo½ÒåÑb€Ïá8‰Å~sæLõð¨»t)ÿþ¦zµàÒ;ÓŠ8À#X‚°Úú9Ö°öp-í<¦AÈù»‡޳uÀôì³ùv‚—U0މDB¡H>ŸÏçs¸\ÎPOP¼½‚ÐØrérËÀ Éþó<ïÉSn‚Í %‹ ßxB4ᎬÈUyLV¸8Ë]œ¿©þ§}ðO>ŸÿúìY²ñN4m‚è$U¬â Âb’xq¸<HDÆ~¼ç‚^¦Ôƒ O"µ3§Ä;öWSùG¾ëœ gÚ»Ú»,|_WW!@ÐUéî"4 Â×þê¾ÔÍEh6»®oì¹b0ßÌíß\蘺tE¨ÀÕ|ñ÷Ÿ·×Vtúò —†úJa¯±6·¿»±ùêþúY~;_Û k×`ðRñõ× õõIIÉo¼(î¼”Éd.úÐÇÇûÆ6ƒa€eY±Øa‚ó•§'Ç·çF‚ ä]ôÎßO·ñHQD0O1Ahµ±ÚÎAÚlÑt˜_·tëx\èûè†f½›B8g¢Ô‘¤ø\M»ñT¹új[ïÔiÓñJ½Ò©ox¾>A|>—Ë%y¼7Ü\ÝÊ ®»yêØµµ ë,/nØTbÀÁZNŸ¼IR5U@=µÏ8KÛ;ÓÆNçóÜ„"±ÈÁÁAèà  (72T Bh,¸ÜÒjµÞrçÀ5A°Ž“8~?'FEä Œ}+"ô­¿ë‡öÿ‘|´èÜÏè¥L}B‰ÀУ„i÷·µYz.åW4ö˜ü÷&õ™Ï‹êÛ š)e°Ó JxCŸ&ázŒƒÂAŒð¤.¨7à—7f"ßaÓ;‰¿àÕæíÚµƒß;ÿúÎ/o¯{"ŸýgG‰ãìٯ͞ýÚCwÚ[Y–µXÌ7ovˆx³]ß QŒsä›hkíeýßN^³Zmg*Zi ‡"¹ö?»Ö¦g̬|‚¸©Õ°à yÐkÎíý­×û,,9eª ¿ ô*#ìcáÚ X–àpÌV+) ÇSütùšúÿ§üê¬å¿‹¡o7üuî»nàNŽ€Ap†b#gïP'ÕY ¶ŸCÜb&uôÍ%z‚iRñ” N²ñ|o¤¤ÛG%8‡ †Û‰çÞ)ôQ‘!ôòéì´÷ ¸„‰°Yxžžûkø|þDî­¡?à„lƨ‘!L}Ãø.s”‚ õíg.Üð µÎb¾QòÙgg 6~n}Þ™FƒkįֆºJ¶fõÜ—êó?¿Ø.˜³ú?Vøð¯üùw¹÷¥J \5è{,àÎì1XÆ»Œ‚Àd0 Á¢ïÄÈ76˜;Oæ6½³võ<>ÀkÖž]>:á×Q¯ôÀ=,Ëvuu\¼ømJJÊøñãG¹ ½/ÂðF£ñÂ…Êââ/ª/TõêÛ†¾ñ®·z”n2Š ïã7Ltèí£;ºnýrµ·PÀàÀžüúiÊqA~r¡€ëäÀPÜ©J§@?é$ÀycÑ«û†Š˜ÍfcYÖf³1 c0;Ú Ý\©•ÃãLãÌ÷â. [³íË=Lrtzq‚óã¦sg‘„#€34;öÿà€ 5¶‰#û÷ãë7®Ç»u+¥<—µÙ‚àpÉ'x\.iï:Œ$ír8ÎØ|2¡›ÚúÆ3_ïéí€üóˆJо  ð·1¦¡»«œá™; €àâ~C˜úN83òƒ©‡¯ý¿ÌÆoW©«þBcæÌpZ.˜Àl2t^.;SnõÞÛÏýÅ‹u.îF €e°§½öB‘Ú0Ø©é¼Ý4Äw0þ›3W óËxs%å'Û\C\& Μù¦ëäá2É\^ýÉz Î48&ð]Þ[›ÂŽD<ék’}ÌüWü‘K›Ívãzûĉ ™ó.—÷ð빑¶¾þ~ãÉãÇä´]«W¹Òs`º›­èëw7z¿»¢›1Å‘"yŽ<>‡hníëõ‰Ó\Å’kO}n.²ñ®Î"‰Xè覿(מ¹Ðòæ‹ÝtºyÛŠøB&tû‘-~Ïf3CÙÚ%Ù!¹ŸÇº?ÁZÔlúpC9sïb¯”#»"dÏoÛÕ§Kô~’;—Õo[‘¬O=²ÕGuûASËÚXÖbµÒ4mµZMƒƒ—ÊnôV¡³M(§'½Û¯=ê<àûq>œK}È!˜ìÅ¿1Ÿ6³µBÏç/Œ!6›ëŲœ‘ÔgŸS…0¹‘fWÕÖ;ã×5\³‘c1V#$¸ƒ,1ãNq6øLíõó6+'Qb‰ƒƒƒP( $E‘$Éãñx\®½5ÐÞDxÏ\,ÏÏéµo§5Ü» Ì<‘¤‰_U›ÿ—§*1cã<@7ïXßxbWØH©TçýdÕéØ#ÛÅ›?mÃ·ÑøÛ­£ît2í®³ŠX›”{WyG?œA}½ýfûÍ.кòn#ej‚Ãsrðá„•e³Ygs²jÍZÍDÏU–1¤øG¹Átͦ“!óÄíÊ…®ßºd]Gʉ!OtPjËŽj¼¢‚d¬Î¾?uÞÇñe Gv=`ŸäCu•Gk•Qa <òŸwêÎûy²ä…ÿ¸Ðx¡ü*H\½#ìóõ™?ˆôÖ®?“»«Î;rõja^î…oòNúþ62dŽ$ïbca¾ù'‰‘ÁÊ=åõŸ¦Q/ýydٮ«‡?¿à~{‚¾Û¿\mþ¼ð›Â½õ‚ Þk–†¸À«ßéÜ{¦±p¯ZðÎIÑÅAüòÆDîò±àÕòlW·n¢Ü•ÿ¨ükoßcæÜ¹Ò?üá?/\¨žîîðoñ½Üm$¸˜æÊ7ZŸOñ¹öËLã ùóãõo¾>©ì|gøº°®ªoMuu˜5m<pxÐ;8p£Ó4ï…n¹¡6¯\¼p!”çUüB~°Ë!Êoë—ç¾G-øtu°æhNžLuwEy'îËg$ù~ÐòÈ0,ËÚ¬VCŸ¡ä›-&.Á±™iËxwb²´ç¸öÝ<*ä,@׋ãÿº0Ï ½:VýOëWÿ>ð‹^¶Ç…3qGõ7 „÷šœpà‚X u}PØ6@°ývÁš ÖL€™`ikèçßê_kv)ù¸›DÈÈ$fÙÀýߙޜ E"‘ƒƒP R$io $8{ ÷}N;'l×¹0ºrã‡iâíG¶x¬ZÍþ<ð0’n8œ[8êrº€ Þ>t‘Mëjv'''§)ó·…ȰŒN‘ƒÃPÇ–›ƒ\“X(!8ÀÚØÞVOÅ[ß¶tYm6øFË›â<‹Žg'½É™öËY,VïÞF?Öbb5å ù Ìý‚ñ•ŒwµºŸfÌà5cÚÕÖ6Í€£µÊGvTA9‚*‚põÿ1í8mùî¼æ¤…A2êQÕÙR‡>ø“S»0L•ëóO}|©Ïk|>eùk6½1òÏy›2W ýøño}?^œøû¨‘—ødØÿ„ÌÌ‘…Ž>Q?÷‰º÷Í…îïÅþ*Xèèȳ:ÿw<¿>4FY­Vî¸eoâc¦¡¡áÿùŸÇŽïïïÀHHB’ –ðÎÓö.~§|ÏÃ` €¡­ÿççÂÌP<‚ zzk.]x{ò»oº8„XLN”‰eijg¿ö"·ZW•W%Î#;âóÊu!öV]ÑÏVäù.WµTiôúF—ží)Оޖ–]Üb åq©©ÑžŒ,Õ© LHMò´×KUÛÖ'—4tž1éék½%`¨/ÈÈØ]« ¥¾Ñ))±Þ®(huQVFN¹H±olJJ´·„®Ü´$Kl¬¬mié'%ùÕì>Z«ÑèÅ Ó·¯÷“Œ²Jè*w¥e6è©×ò”ôµ~Æ£ÉvaÝOê“vn ¾¤ë³W%ëSlõê(ÊHË©ê`@ì™’ºöîšVe¤å”kŒ¤2815%¢+7-É’ÆëO×j::ôÒÐÔÌAx…ùä†c“Ø@Ÿi IDATH"]­2™h›åñ8ÁÑ^¿Éôˆ\,ìp žÀƒá\§ÀÆaàHéŽÌð µ¾‹½Þl½Tc­ØgÎÿ-½Õ™7•pÉqÅqñ"dSAähïA0Ü”€»æô#¸´IØÍ =Ž×¯È+ϰ"rP>Ñè>¥Ч~úk¬ë‘£“ƒƒƒ}T‡Ëçóø|>×>QÄ #T_²õgyå=# NÌLr§´e;2ìåV¬ MHMå²kŒŸžÍ%™_\BàÁÍE:D†žc€³tüø¡f<Ðtú¥'ØÚ1‚éÖëîƒGù³à«úö°¸ßȧ½Æ!Ń&úŸ5u×µsfMRLäÚfmlß ¶õ |wˆí¹, G?ñ/.1Õ½V«•Ïã Ô™¯.0f3¼>s2_RÇjÏ8N"<#ÆF–­œÚ‹KU V-LJßB–mZ—Ý¢‡äUqÛwDµœiï®ÎÈQJ™6ïãUeqÊʲƨŠKf vŸÖtt0^ Û·F)TÞGNªCɇmº~k|Z­Vü,2sçzeÇý5;ˆgšú~ú²?dvI¼—ƾ#i,¬5Ï;Àçn@cô"ÓY&íÑwÛŸ#ºçBmd^‡7®žÿ·;þŸÊØó.9n(ÿ¶§éêÍ›·¦yN²òºò2ïB÷R³±w Es“™¤püè=•¯§è¿?ÿÏ»ÜТOˆñ±Z˜ýG¯D&EÌŸì<ŽúÇW7¾(¿ÞÑÕßzÃ`aE¿Û’õÑòÀ ÓÏS[ž§ñŠ U( Ö7'§Da¯CH’Ñ”“öýÅOB7çÅǧþ5VZ–•Q"MÍÿ2Df¨Ù¶jCFað_¢ê¼äŒ†ˆ'vyBsÞºu›s¼öÅ0UõAÛ?ߨ0Ôl]µ!»^‘–!Þ™»k#¥ÎûI|Nyì®ãý«”`ÌN;‰û¾ŒPØ7hwXþú¨ô”¢%Ù!;Gï‚F×fg×zeù‹7ºÊYEU:¿°;œ¶8-£Ökç‘¿xKte›V¥e•ï#I`:Êëýrw­—¶àãÙűA±Ø£åIqH샸ðù|À^Y–µ±,O(7±ï–¾×¸nP“'æò‰‰«û:ÿ `i.0òPŸ’ëéÉU-‚÷ Û€‘í¨³ÖÖZ.^²51_T³6`]AâÅ‘N'$ž ô®° 8ögˆ†àP´ß×áZÌâ.­ØÐM•æ*'ýT¯nÏ×ûd ÊÆð¬&VàÀÈgPãœÅb±ƒƒ$)>ŸÿÓ€#g˜¡žÕh.LK‘6qçß7It§7®ÈÈ©]¸5¨#osZ¹Wú¾A2º9oݺ䃪¿Þ{ÄñóÀ3Ã?ÒÎ/£‰dò Î<.×bµÞ¸ÙÝ>[åf¹ÂgŒÀ²î† ¿ó¿úçU«ÕÚÑ}ë/§6® `Môñ/Ïû¢´pðTi…ÂÅyö,Ϲ¯ÏvuâÙê󉆖1ÚßÙ21 H+oêèµZ­0kú”Ö¶vûÏðæt§»Þ@p¸ààLH=ÇÀÎPVNåͻӲ5QûNĺSÚ£kWed‡n IM ^’&ÎÜ·ÉûöÍ ÅÕ™¡rË(¥ H`*Å©;v) •›V$o.HÙ·ë/2CÙÆYyõ 7ÊG-ï#bÍ#êÐÑ?t¸hSÞIéË«ÖiRò·Q Þ5JÍî·b~ì©O:wÍOÚó‹.ÞU põŽ\ºb&¶õ¡±y•Éḹ)Ô­W»t †ªªorÿç_•6 2ãÄÎÓ–ßÅ ¸ó¹õÚ2k²mâ8ÖMJ³Ó¬ÄÖ MÜ®Þ%‘Sœe<‚ $Bþ¯ã_+*»ñïÛªŒÆŸ¼;ÏM"ä±,Lž$š8áÜ×m]ã׬þù¸q㤲 /ª¢9Z` L ”€o\°qsAsäzOû©Wå%J(Í)kÑņ…¤ñ‰$^!^dy³ž¨*êPF/ô¤À3vç‘HPL€486PUœ¬Õ閣嘹ÐY`l0¹¡¨ zèy^[U®‘GGyK€rVegŸÖÐ*Rìá%©RNJåa*Êþ3èõFÐŽ²Jl9r„¦†6ÈWº[£äÎËIcíÑâJq°¯{Ðú­A÷üZµóD(%‘€Ì7L 9z9)ö ”HUJ±Q­§{´<)M…"`Ù‘{0–'ŠI¾“ƒƒÓ¿ÞêXÔmì0›´,0fX –‚¬=²q€e9,À2,Ђz“ëÌ™J@?‡ Ù[MÖ«çm-ßÚÔ_Ùncn=À÷Ò—àÌ`­.¬uœu²qE,Ëc`  l¿ó$ÝÌ9Â*»QïÜZÍ!HP„M(èvÝ%øÿÙ;÷¸¦îóñ?ç$9' '\N¸$€ÁK¨6èº6ÖzÚ‚®R¬”µÔµÔ¶h7uÒ ùþŠtCÖ!ÛmHWd² qClÖ ½®JmImIµÄÖÄK¢’€ä@rN’s~”‹Öjm=ïæÕ—äœÏåœ|žÏóy>—ç9+Ÿ) ŒÀÅb1†‰„!:âF(E¢«°¨Jˈ—€\³P-~q0)2ŠÊMÉR×ÔtZ³b”×u?`,Zz 6j«1 |ní]uULW¬æåñú@*Ï™JÛÎÚ½^_W_p,¡CÏëAíÆÇ4 ?7Km§Ïç;ø±±üÕÄÎŽÙõÚ›þp|ÖÓg­§ÏöõŸ›¥ŠŒRÌCCfsx 0'À‡Bì>­i;ÜO ¹@F(ÃC;tù÷‹†‡†ÜIeO' @”·x šÑ¯_z?c·`9͈]W»×‰ËpPêm6 `ºy‹I¤L€©“” SĘ#U'L¡"(˰¹|±¼H?µ½?±f‹åó[nõ(üö̵·gò¿Ïu‚ etPˆÜØýIxxX@1jòy½žcÇŽ5íþ÷{ÿ1[n+YCvaÝ=6e¬bàÉt®Šüüîf\`íúRØO±nÚ}ò¨µõ¿DôcA3äbŽåNžvü©õn]äàç„mÈ|’ŠUÉ„BÔjz£ÍÒm¢•Ÿ~b ŠQ)®Áì#Ý]×j±9Ö,n5tŒ9ãqÀ%áï‚qBI@'ÅØ {*jZLea˜š2S FŽè0¿Ä`˜îÁýׇƒ¡ŒyéK†ÿd(ÐPÀTÝú²wpÈ AÄüy±:ì?Ñ' Oˆ‘žxexf—P\ó혮°6_;"*Œ±bUcr9%míU ŒÃÂ(.©ÍO"eã4'6¢©ð1 k"yaz*~ ÍÎóí¶úxx¾E (šòàï¼ó¶6þV¿ÕÇqœÛí>tèã¿Ölomiº}®ïÙ‡0‘oþ,á=ñ¢ãg©Øi@¥pJ}È< ,‹œíÇßû”=7à Æ€åਹŽ*ø»cp}½Ý|ÂFEÈÅ¡!âÈ ,¹IsÓªgrB‚C„BADDĵx`§¡NOäÔîÝíemxzU]§3>ÊJÑø°:"ÂÙQTP‡åWW'+qpØ^8C€ÁFøm+«™"b&š‰ÄH’ SJ/k‡?sÇHæŒÃ˜† .!Õø*)ey¶ìêêŒèîÍéë—R¾raÖÆ…Yöõeš±~=­­íêÒê åö–§Ókxú…Q2Õ¶„ã@Àq8ÇI‚ƒH2ðö3û¡ïŸ¡@ PP@,^„ó"ˆA½À1'B@„€A„'D@œaà ‘ ;PÊIbÙ!ÊxĨG„xq”C½(œô²]}´ÝÁ:XŽâ€âX 8†¸0œD‰”A"2P$ʃ¼ýJò‘X„b"! AX@¾ [†Ff¡b1""®«åê '”¦Î©Ü±çõØ`)—gÔ•œŒ=ïÍ…ç:$<”\¹âÇÊ0Lì\ÖÙƒþÊ1ƒœ»?iúiRFÅ;‚³ö>¯×û…å¤T"&ƒƒbf(ƒ¸ @B*=7@:ã9l›sÈäùò¬«Ÿ:ò,„~ïæXÓ—Ç}ý,ÇÀâ;æßÅ´rô ")ÌLFä7]ãGÆHR>z®”ž*™DNÍÛòJ I••[âdþl/±„‰¤Ìz öâEò~~nhz*~2ÍÎ3©Bä_ÏÕ`ùòG Ãq‹Åãa8ޤÞ~û­¿Tné14E˽>c¼Àq @`–‚»û{¾áPÒ%÷bA (‰Cf„#·¨ óQÚÕÿFÇŒ— ðýˆG—Ì J„èòÅ3“E‘A8Íø Ƴn6ôᇗßyç]š¸¸›æÎ ¹k××u’© cø(R†:½ú&£hS‹Þ¡JTˇƒ!*pvï©32 Å(u©*[CC·€67ä­\_g£'ìçÕiZF_§·Ðæ¶Í·vMÂÓŸyS7 ´¹µÁD$$«ðKK5®J”ÃÁ`þºÓæö:ÅPþILŒa¬Ô„sú§7µÙä*µâBÄX) bUr°w54Y€±34/B_œÏ7ÅXXá8 e‘ åM·ÌÔ¬“Eÿû ¾ù8wg?'ò°ç`cc9`ã8Žõ/úq缅軋d1à€ãü_Âp€€Ad€„ H8‚ξ‡ ïe†ˆ×)6Í ª¸™¬¹U¾sQÄëIÊ]IÊšûÂKî ûé­!j“gKoÏ”c¡R! 0"à|ç=-‰ûT½‹Ë”¢~ vÌÂæ×R—ª²Ô5t;œ]u75™¿eýÏwAÂä!á¡$†‰Pÿ D-¨Ë±Àúê¯zÓ•vpÈuü”íãîÏßyÿà»û?ÚÛÖ±±¤âGëþïÅ[k^{ïãvÇÀßä›±0~þ'Æž“¶3~“/v¶jUÌçBû§þ‚9Yò½,@®õ„rJS #c2ÚÚQ×bfXqÁˆ gx «³+²‹ä}TáM§C/¥P (ŠúÊšý†_ëãáùúuÌ»9nîÜyz}‡JôßÖ–ÿ쬖±Ÿ<ûÐÍ¿´qƒn!öQ Ô'Å}pþøß¸³9”SG#ºsîÝÿ펊-¾3Z(à†ï"ˆá¼,÷¾áôþn&v~JRòýרÝ_{Q‘š;Ϋƒ2!UUU×nÕ‘€)tDSÞ%›ƒÐ®-^8™³¢¥hMz;I*´Yks Š Ö×Un[Qšk.(H¿ÛÁ`ª„œÒœXl'[˜_š]R²fIãwý—¯™~£UÌŠÒ|kQAúšµ¥kãp /!ÕU’ck³Õyé“ R“±6w™)¯dÍEuVªŽ)Y³Ô˜S½ý".1)ÙÉÊVÞ_„:%¿pÜ‚ALFNоlå’:’T%ä¬]«Í+Ë+ˆ-Ïâeéë1û¸K•\Ap‘H •’!!ƒ3î'5äwÚ)Ʊ”ïǤ†|Ö÷>â£!wæ!sÓ®—…>^ÞyÉ~­‡çêL¨ È-·Ü¢Õ~ïŸÿüGßé#Ú™çî‹G"C \ÎÀÙ>¶³Û•¸ `º¬€ã D†Ü£E)×¹—«üø‰ïÝ·( 8Žó±ìû]¶¾þ¥|ÆÂ‡ÓWÌœÿ|žó\þˆÓoA B¡ÃÄ ècYÇÃÌd˜Û·ÛM»Ýý´›vÓl?-´º°cƒø©ÜvNä8‡ˆþׇˆohp®ÜòTªsž/Cõÿ ìîÆ}(K À‹"ŒÌÜ‚p(ÊŠ0VŒû L)f:bâéóaR©T€>(AÑPá0*@¨@€"Èhôþwæá™`ç³F®³aî¦48qì‡q÷±=ZÍâøï-öú¼>˲l¯£ÿÃCÆ/Ì'Îôö?uzÐåò?êè%Zñ£E¤¶·È~ 8*„ÄÿCÔ)¼ÉÇóm·úxx®8ŽÇinþ׿vÆÈû¾)çFÇhàc'åŽ ˜viÎ D–.qÿØ\ÙyÜæJ[†ãFC¶„ J¡ùÞoÚ’3n·ËårÑnÖI¡ýÂs,ŽùÄ Y±‘"L„㸋Åâ±Çq±X,üK%£Ñùxçá¹ØÃMÈþ2ÎÕÇ ‡j‘‹r ô~ÆÒNCc— (‚¡"ØÎô>=lèþü‚®@FH#d¢;c“HKÐÙ&‰ã‡ÏD®Gæ<À¿gžï²Õ÷î»ïòo粸ûî»oÀ§æ8îøñcõ;4*æt/rä¤(:dbfÔ{¼×‡ Ò ”úXnúa‚ „“ÁŠ{E Ò÷—t¶ï?Hˆ¦¾”‡43kÖ¬ÙðzÊ“·íKæ…€ç›ù¹ÝSË©Ïçã8–e9øc O!GÃÁû„B!…†ùƒ8 3ƘDF»›Ýëõú|^Çëõz=`".Æq\<¼–çÅŽ¢ËÇ­ 7rðÛßð|„Îãf&!_¼ÉÑÇ‚å=!ò¹@D" ›t—@ $"Ceª@v®Ì97àl¸[ÚÎÇ"À@u7rëÓHÄ-ü;æåý;nõñððLkïMÓ¿þU±ÈýIú½ž#'vJð{â%P Y„fA.Ç…è9Æ'8@`£ AŽ@Ò÷Qe¨èï­§l6ŒD#"$) …ü"ÏÅó%“„,KÓ´Óéôx<(ŠJ¥RY L"–„Bdê9˜ñÑÿ.©g€áCº,˱¬ohÈ5à°?Îq\@@@TT$†ã8Žó«y<<_ hè\îÎ<˜}?w ìŸÇrîsÜÉND(†¾£¬Y„Íù\R!Ò°Ô—tK´6J"òÈEƒÁžSCŸJ|ý8KAŸÛoï¤B¾ÿ,¨îE¤$ÿ†yx«‡‡àÕW_ùÌðæóË<êh4*L`:NÿkßP“¥ÖëC€å8—›u1‚­¯…)I¯2L¬v‡z$"€å8d÷.‚p¸æÏ¼ð¸E¸·º|ÿùWUP°ü¡‡–‰Åb~¼ÈÃ3nä‡OìÑã8/MŸê>|x×®]þÉš˜˜˜ÌÌ̈<@$ºØÅؼ 3oÂd÷ ^¯×ítv}òIzz:,X° ¶¶V$Æ0ÿbãùO#ã_“&žï.ƒ˜»Ñè;¸#Mðñßað Ç r^7P6 lÜÙOGgd‚'ÍADR†ÂM?@<ŽˆCøËs£X}7æn=žK„ã8ŸÏûÉ!Ãï÷‡_>æ»izԊ׷ >.v1‡¥ïܹQ5# U3¢@vû{Ÿ·½{ª¿Ï!ŘØYò[c‘³‘a±ÐÃ\WÊE„íOL´ùøÛ_ÙJ©K–pã÷ƒñðÜà°“ø´äXÖ50à8sæ¥_Ü¿¿ÿËð°°”äd\ ÀQT ú=yŽš[Çqþ€xøý© ÃÑ8–uüÀ!âß)ê÷¶âOÉŽàÏÍç󹜗˯ƒ7x®ß5‚¡Š (Š è°Ùé¯Ã˜´þK“‡<<<Zm ÑdÀœîÄûˆõC®÷0œ³pC½£+x“$CqÎRFÞQ‹ ”wÜÂscY}<<¯—r:{Ïœ>òÙgÀòôô¦¦¦ÞÞÞߥRIHpàa—ËEÓ4 Àqœ×ëcY8N(à¸8 Ã0–cÝ.÷à Å0ŸÏ"0 “HÄb@ŒÇãv¹‡†¼Ïçó›mÎs>gØ‘'Çõ;úNK¤CƒƒB¡Ã0‚ pGŸÏçv»)Šòz<^ŸA¡@ ‘HD&@¿ÂVSž\†ÌyfÞ‹ žæœ6Äy’ë; ÎS0x'xiŽã¸ ‘Ê9" Bf, !@D€(€÷”ËÃ[}<<<ã8w®ÿ•måCö¼-hÿgÐøž`]Þæ´´ô9ää<œïOúSÿ9'ÐŒçKó©þþþàÔ±7-]ºÔå:yòTgçþ7þÛúò??¡ž…óï™ïž­ôbB@þ!(@ÜLZ(–…›b$µ-ïÐlPXXøì9±üÑ ?¨X<á Ãqn÷ñÓgz„"ѯûÛŽN:µyKYSSÍr(‚ zžIá8ަéO?9ô·šW^z:t`ˆý[«gÃÆ_§.Yè¿':zÆêÕ«%IÅÿ|æÌiާsà¿­-™?|llVRi€Z­V«Õ<²ÂjµîßÿþÞ×_ß²ëeˆ+e!6Oå 3˜„܃ŽÀ;i‚Y޼¹ýUéókó"#£aÚó?ù„eY8°Íöí[·n½ý¶ÛDvðàÁÇ{lt#hç;jk˜™ù /Ð!!ƒƒƒF£ñ§ëן8yrôž36Û½wßÃù|~5;–tß}}}}ðAggSccCCDzR‰ÄMÓ¿/+ûÛßÿîñxü¾@ìßÿòo~ó׿ÖQ4<"ð+‘tÚÚVUVÓj°P FªuY¹ùq²kòÛÐ]—®×ŸßK¨²ró³â/¥tsÝ«:r·%^FU­MMÚBù•æÃÃs]amxbe[vã¶äËhÄWH6·UUÔ´,€Ph²rÖ¦]…žƒîi)«¨Ñm€)4IY¹¹i±8ÿ«óVÏ7iò±,k>öå_ª~¿lwS´÷—UîeËŸ¹/))00pì˜,*ZõÌ3ÏÉCÃþXQ~øˆi`À¹­j[\œÆãõ%‘HG 6Ïœ9kæÌYiié_|qtß¾¶¶·Û_ûàäüîø9îèP_P€ñ@¤yþaAÁ~iõ½õI{õ«9kÖE„‡ó¿Ë7mëÐ[4Å[eζuU-Y)ÉJ^A}³Ây±´z½^Š¢Ž[,ï¾û.pûí·Ÿ8qâ¾{ï}÷w€ãÚÛöÍš9Ç0†¦QE¼^ïGþöå—ÃÃÂôzý_^}õ\ÿ¦_¬ß¹ÇñÛn½uû«¯‚p‡ãxIIɧÝÝ»wïþñóÏJ$’Ÿ<ÿ¼íôiÈyî¹ûî½W„aR©4 @*ü]ƒÛåz:;û–[niooÿÇ?þ144ôóŸÿlgýÎ>»}׿ÿ]]] ȯõ+…B!‹ñË_žmº˜•õËd—UK«¾¦®'7e¡¿²|xxnx=×S·fU ,Ë/­Oˆ•ƒÓÜYWV²fUOyõ†ø¯U˜è2SJiíÖx9mí¨X_W¦®ßÇ«UÞêãáùq8ìo¿õÆISÇšg‰ãg§diË3Ir‚ÑKxDDfffh(ùûß—–l®ß‡ƒ½muzµ¶~G† gÛ£ë-¹õ›5u†_Hñ†D9ØÛVgÖiW­»lI•ÕëÆ‘ÇǺìü|~ªóÒ¿ÖÇqÀ˸Ýýçvÿç?¬Ï‡Ìš9S(Äi4b§iú=ý{?~þy×ÐÏëE`8˜fîÏ®½å‰X<{öì7ßxÃl±œ8qb ¿_"‘¸CBB~ðÁ1³¹Ïáè³ÛQ×ÐÐi›M(kÞ»÷ôéÓÀª§Ÿ~ú©§!“ ‚¾þþã#V_ìœ9>ðëóýxÍšö}ûNŸ9sÔt´÷ìYAÞhmEä!!b?uò¤H(ŒU«O<ùá‡JÅbÚíJ¿úÙ>ÚÖeÃ4ÉÚáÖ._]^›Æ2gwCIIÁ€‘ÚŒüü¬8˜ëžXs 5…©keÓï8Sß»¶~k²ÀÙ¶.½B]Y¿Naš*äToK›dq—Çgçèv´Xh©`¬ÀÆSKºyך‘5ºóÃXé°¶m)ªh59Sér “lEk*LÈ[iË.ßz~c4¦cKAY»…B•´¶xæçp~Ã¥fÄâtÏ–ÌIÝ6¦—‘Ù Ž6ƒÅfsI…¥Æ-ÆS6“ƒÔ&küßáÊĵ•õY‰O:ê¸:€ï¼3"ž+…ã8Ã|ö™±uOí£ILÈ0zî¹ïÁèèè‹cèùÿ Y²ä%%›zè$IýâøÙÞ¾¾öúë½½½›jþsz¨@¡Pff>ö‡?üá'ë7¹ø¿Ÿªô’ýŸ í–áÌFn‹9~°£¾©©©¿¿ßår‰}Õ°6µ+rk›wïn®ÍÁö•t8Ê`ŒÉݶ}ÇÎÚ\E{QÉçðÔ®¸¾¹¹¹>_¥/(h±Œ©ÝšZ¸mûŽúò$Ë®ŠNûØÌ{ÊvQÙµÍÍÍÍåiL‡ÞBOVè„`Ø:-ÉåûvoŠg”äÕ@Ní¾}ïÖç’­EEmv0×éU¹µÍÍÍʼnƒ¼]æñFm{Y•%­¼¹¹¹¹±:›8Ðbt‚³£¤ ²«››w7×ç*ôEEMVeZié ¦+®¯Ûü«Í+HLW\ÿ×Ëã£ÁNS›C¥f:ŒN°;)uªë©)ª°¤VîÝ·o_m6´–TtÑŒIOeÔîÛ±.–j)ÈÛƒåT7777Vf8ªò*ºi^î.YË¡c?Šp.š¦ú½÷ß÷=ÿ/¾øôªUffºišè6{íŽÁÁAŸÏÇâ¿'<"‚ eT¤D*ýþm·q¯·×á ††:Ìzâ‰â’’×^ý‹cÇÀŸ„ýßûïûe/eÉA"Êа°Àà \Œ#(ê¿Sˆab‰$2:  ¸XÌx}>7Ã1ìlo/Ðëpä½ðBá¦MÿïÿÞ~ç`ÈåbLù±ÏxYàš´h/X¿¹¡­«ÇN€L©”ãà? 0€a,>µ¤Û'”s]^‰1±tï¾w÷–§Ú* ªlºÂ‚L)­Ý:Ñž6º»ª¬Ì¯onnn®/Lt´éÇ÷ÎŽ²’v2·~ß¾}ÅZcEÉ+ŽÎ2gëö;ksI}E]/™<×ó®¢ SRùÞæ;ŠÍz›ßì›T‘Ùô–ÄÂíÛwì®ÎfvU twE^…-µ¼±ywsc©ÎX–Wc–'di©ö&“ÿ.³¾Òd$Œ±ÅhS‹´iºq«z¸:-´´í€1F½,»|û޵ÅZCYI»}²ºaÀØôÝñ¹ÛüuÛSÑj÷œrMšÖ±+/oKC[—ÙNàr¥R†O>ê¸*ÞêãáágõØlûõoÊÐcº›QË2 Ýyg‚X,™ðf¿Q'‘Hï¸ãÎÍ›óB^ÞÏGHL¼‡ d“Yh£>ZBöÀƒ)/½ôÒsÏo™¹ì½£±»:Dï}ŠØB¡™? ½UuâõWþéOzå•Wöìi:öå£n߯Nc‹‰LÊÐÊä Z0¶ + uZ’@®MUƒ©Ãâ´´èꬬ8Èâ³Ò¦á#F&¤ªe€+âà°QcK H,- mÝV'“¶isV,>E¡÷ûê´%Ц&è²tr'æ×7'È­-&EFÖB9à±)Yj[Kç8݃‘$fkkjé2;qeòÆ-ëâe´©¥tY J™6#‰0µ'Ô:¸:Uíè0Ú¶´™j[›‰§©Í¦JÕÈðØuµ{+³bpPêŒeäÑImªVNC“‘HÉNP®LÊÒ2ú ?¸¼D`ìÔÐÃ>;r„ÉfÄĨfÎTÍœÎx|¾’—_f|>Úëå„`¯—r¹Î9)Ï×óÅ,"È‚‚NŸ=û“u먡¡9±±M¯½VXT´î§?õ'åÄŸ§Àpè—eûΠ¨A—ÛãcÙ‘Ì9b˜ D‹ ~‹¼,‹I$,€<,¬ê/ùSeeeUUeUÕ¶W^©¬ª’.‘ B! èù¼j¢a”‰b€ H™l#€¡ c,É\Ræÿš¡@5lå`rl8ì¢ä©Å•PSÓP´²ÈFh–åä¯MÅ&-tb’ð—èpP˜f¤\&öY)°T­ZR3R)†T;h8¿ÇC¶°°2¿¦¦©dU‰ S'åäç¦)Ó£ OI05ñÈZ“ª²u˜œš.#‘˜¥%Zê:,Nh³(’µrÚÜ^UÑ`°1À8,Œbtzrøé(Å8v­IoõWša(LÇ./Öå÷'ësy(ªúÏæÜn`[y¹\.v:ƒƒƒO=õ”Ëåzÿí·Ï?.‘H„>Ÿ¿”mÞÜÐЀz<ú¶¶Ï @%ôùœ½½þƒ‚lfsXXØojjpaßÐÐúÕ«_ÛµËëõ¾üÒKœÛ½råÊ!¯—㸾ӧ}CCþ´"–Ehhã¸Ñ/§S{óÍV³ùÜÙ³Ÿ~øá~ô#ŠrŠÅ’€€Çé†Msr3:²¸ÔÕq©«Àn>ÐZQ”·Þ^]›íp0”1/}Éh£¿ycذ$ALjšbW“Áž¬íl0©Òòc€1MŸêýúÅwÌ­h’rËsÊ€#°“u/c:Ÿ‹¤ƒ¡Ìƒ‘c¤¦ž(‰É*/%jêjò* (…vÙÚüu‰ã–í†=5-& €²0LÊH_…a#Å`¼´ñ\#ŠL9ÜâpLI`&ššX‘•& (;C Œ °1j’²R´L›•€å5œñ } ¥ËÕŒ›±!£l`ì\ M™) ýac ÄCM^·ó4 òø´uñi@Û{ôue%ëó ~{µðVÏ(§OŸ>p`ÿ§Æ£3å²îcãc6 ÓÇPö¯ÝMÛåMmþ‘$yÿý÷kµ·|xðà»ï´ï;ôÞ!Ó‰;âD·ÏCtó¼^Ÿ÷ÔÙÓíí-}ùÄË¥PÇÞ$оö7@FY)zXP†PøÕåÑ å`05„‚Àtùõ[ŽÓ"NË´CÓØÔu›S×ùsìÑVNR(@WÌEC1Œ$1Æ1r m7Û@A( LS»=ur'xLòêMÉ«G\NÔhjÇåC™)Œ$‰1…ÕZÚd²¦ÃÐim®B‰i¡¡Ó&B—­0×ä•’*+·ÄÉÌu®l›èõ*¯Þ¹:†¶¯$'cÿâa<—Û]»c @†„¨ccI’ •SÔ Õj 3[,.·ÛvæŒR¡`¹á@ζӧïMJãøÐÐ €cØ‹……²ÀÀ[´ZB8à8øá‡òò†`€ã\nwdT”P(|ú™g¶mÛ/ÿö·(/G$::º¼¼|xI€CH$‰^/;:‹¥RÉ‹……æãÇ»»»+·m«ùÛßÄ8îcY—Ëõ‹_¼ðäžD(ŒÆ‚~ÂË1íÝÐ&¯ÂÉcf­]Ö´²ÓDa ’ SJ/tš0~<&)MU×dèaš,ªŒ$%M^Bª äqÔ›Ëåw/“K‡ÕB€ÁFøO(ZÍC´cË ñiÀin)YST7rdüÛ¹±üêêd%ÎÒKxÁúf&qXÎIQ_?µÿÃCŸ5Ÿuô±,'#¤3gDÆÏŸ·àæØ02D$:?²}ë½t}ê¦ð³gæÄÑnwë[–“§%8?Þ÷.½tÄt¬MßyÆÞ7EMuñɉ:ÿ¿=^ïG‡>kyëS5¯àÀ%É sfΠ††Æ‹ €"A¾’+&ŒÀ€±2£ÚÇÁ Ï=N Èè0ºçÿqÞZ‚$ ÅŒJD ®ÎH"Ö7zâÚ˜ >ÀÕÉ(iè´/v®JNPì*J¸­´v³6YCíjUûÕ§*Qa+0%å¨qPgåèòJ2—T uZNî㦼Šõ›TåÉã^oa±¹¤lå 0UÒÚBïÂó’'e<žq³¬X$Š=»ìå—}>ŽãR CYBþÁLNöŸƒpœË5x›V»æÙgEÆqœT"!d2 üR©X$ú¿_æÀq àô×EE•J¥©T$ˆÅññóçÍCP„c9EÅ0,48xËË¿ñù|b\,•JEFÓtÁ/~Áx<˜H$ J%@2©déƒ>œŒ pœ²'@* ”JQŽã¼Þ¯þv”ååPVU²²ÂÆ€?^_JiåêX˜_š]R²fI3ìS#»x%[™¡*+1éŠýs@vI©¾ŽîÅ<µtĬ(Í5¤ßí`0UBNiN,Ž;“uDA^ú£ËÊk7\è÷]žÖQ²~iƒa€©róÇz¯yRΊ–¢5éí$©Ðf­ÍM((*X_WžËË×5ÃMÓºkê÷ôÚû@FÄÎR©g©äÄ©3ÝŸ›}ç(Žãè×¶ž! 5sg˃ƒ.¾4'&zÂ$2bþÜ9büÂ5¦à @28‚d²@‚ˆVFp'úʃ„˜¬ÂcÁúÅ{…Z—–¤ê4ú¿@‘Ñ©Su=Qe±9@óxaN,#“­xÜÚÒµ%%~L¨’òKW +¿˜¤4EUõxþgbñ˜Œòj²ª¢&/½„B¥MZ[]œ;<ñ‰© fÍF›!r‹“äòIê6%xìºÊR¬¬ª ³ÌÁ¦Ð$d—¦) õš ¾K n·›åÌó È8ŽeYŸÏçóù†¡iúøñã‹-ºJÅ8q"88ýJ*A*•NñpÝ„D÷W†¦éš×¥Êd„L(¸4CCCW<1Û½%3ÏQØ8õö-žï,Ëö÷÷GGG_‡’+¾¨Á³#p‡¢¨@€"#û±ýÝ‘ÿ’Ëå:sæÌ‹/¾¸»© øãÿx»îv•J…c¸@  …(Š‚DZ¬Ïëõù¸£(Š p  (*@P”cY–c}^ËúX–CPT€¢þÇñû×EQt8!ÇùX–cÙñ÷°>ëÿã8EPT ü5¿ppìóÝmŽ®þ]—Ü øÒr²dëvÛÙ^PE)”ñƒÛµq£j÷¤õLK»>&Z™°ðV‰ø¼ÆùGcóžÿ¾3är‡ɪW$žï NŸµÿ®jÇg=_H¥’ʼn W=ž>z©³ëÓÚ]¯›OX‰éÏž{â¶[4SëwšaÞ|gÿ+;þ ê™3~ñ“숰ëg³ }`ÃÒÕh†KÇÙ±!³jaõerçeó:–\~­‡çŠçN®§yd$TtøEQÚ¯nðžëSžkŒ@ CýÆ[ÿ9§£o "Œ¼¬0 K\¢ç×ú\núÓæþsS¹ 7Ížtᵘ‘“%‘JÄ3"c£G@hHŒàGÞêãááááá¹Z W|–†ßWÉÃóÍ‚‹Dóçžð˲–“ÖŽ=´øn|üɺ^{Ÿ@(’: à?~*óbo.S[}bdiò´Þ\Æ¢Œûé³YxsA@Q>Roõñððððð\=«Oxƒ©9†$Çó³úpL”ñf IDATwÓ‚›ÕwîèxíÍw¨ÁÁî¹3RÔàþ½ý¿ƒ˜HôÇŒó úMA„BÁX󒇇·úxxxxxx®:¬ÛÍ¿žo;Êð°ìÌ´Šíÿà=¯ðð|ûAQ$fFäOŸÉzãÝ÷{NÚÎ2Ï™^ÇðXV(—“Ú¸¹÷ßsÇŒHÅ×U(˲'¬§'¶BaüÂÃ[}<<<7W•õuuv·è±¤ÔÉÃÕŽÞ`o[Y“\{Ùj§)¿këú¼]2¥¼vc~Q¡ÎŽÕé‰Õ;³bøFõu %’뇆®<{Ǧ5EíÕã•…1UëK:mnõÖ´é%ÁÚÑdѤ-ïì6·µ;t©ñ—)Ýtׯô"²¼~Cì•…g¸:‚<ý«hxbe[vã¶d>Rõ׆EcfD>ñÈzïí;u¦÷¤õ´ÿT^ , R® “K%ãÜ{ÞñýïE)#|^†‰Æëðè²Î 8…B¡2›å¯L Œ¸&ïƒ6·UUÔ´vZ( Ú¤ìµ9©±2p¶­^Z¡®#:ô K‹ˆòÆMqг5sÕ.ÇøŒ°„ò½›ã OdVXÆ] ’Ê7Åã£Ð]›Óól¹õ[dž¦°·­Ë,S”6®u¬_ZdT­­ÛkX›žÎ,3iŠ÷~»£ÏóVϳ¢²~™ì[ÐÒ¦ºª¦DÝäVßùä ¥õ:ìkVDÛ:ôMqãÖqzcÚZñ|u®Ä‡ç mië¤Ê÷nŠg:Ö°Õõë.©mZõ5u=¹) åø¸Ìšªêäê˶úxx&D"ÆgD)fD)`| ö ™­Šž­Šžð’T"þþ÷nžX¡EGÆDG^–9q-…Ôܰ~U•”_Ú˜'{O{MIÉš<ªz[Æ´ÞM5…{'™Ž¸ÀÒùî‚k2RÈUuzkòùÙ,«¾ÎH¦¬Õà ÂÖÔdÎX3z±ÉF|œ·úxxx®ó®5þÅ:ªî‰•©ÙªF‹…Rgf0 5m›Ñä”oNSÚ[žÎ¬Ó®P›:-‡QgfÄŽÑ>Î’ƒ#µùùYq2°N“'8»¶•ì1R˜B—ŸŸ‹[ëžXÙ‘–£êh3Ùl6Pg—/cjÖäéLçÊ'ºŠ«7Æ;Ú¶U´š†Sf¨,ÛÎßPº°jå𳫮¨¬ÎèÀ0uÒÚü ‰J˜ ÿŒ˜q#ã‹SAS^Þ.E+ŸH)®Þà_ë£{ÆZžÖÎ-ëòÚ6ŠÐ>^\¼:N6áò­î­>–å_Â\Ô´T–mk Ú) =‰ŸúœñÖ¯´¬-ß’Ä´”•Té-€Ú¬üüŒ8}`Cz¹LmØeŒ]9¯»Ú䀼•¶ìò­##GkSÞú]6 Ö<Ú[¹Yçh*+©é´(r sSÇË Ø;¶ä•´Ú0R¡IJ¦ '騆'V6¥,àÑ]›Ò ˜ÂúÍZGKYQ•ÞÆê”ÜÂuã–=—>]4RxçHžÅåàl[^§Íјڌ6›R-óË)ÝÓPTPÕI‘ •6UÍ{ÕṊrÛYQeÒÖo^«’Ǧn(UÄuA_MK³¥¤¨ªÓÆ¡Y–_¸:^´ùb¡³·­Î¬Ó® [wÙ.çÚþ÷ð%‰ê˜TI•Õcgš¾š ¶ØVT¶Çè`HÍŠüâÕcgžðØŒ õžº&sÚˆagno°¨2Šcqp`ªÕÞГ=¼`jnjrht*ƒíÛÞpxO²ßž£ÍÏ»—þ}Òsé9˜ë_ú=ê¹NÈeþàƒ“þ‡½áÁ€1 ²·nÛQ[¨1V4¹Û¶ï¨ÍWjêºi c,íTZñöí;êËÓlE{ÆÎu(Ë«¢2*›››«s°†¼’ç%äio)ÈÛƒåT7777Vf8ªò*ºiªÈ*ݶ}gm¡ÆXUe€ØÕÅ9*L[»cc<îì(+i'së÷íÛ×X¬5V”ì±âcou îì()¨ƒìêææÝÍõ¹ }QQ“&Êœ¶(•2­´t…Ó×ïØ0º½óÂB[g÷ÂüÍûö–ë,ÿ¨ÐÛ'{@žKn¨Ïå½ šÄ®®,N Ȕҵ¯VoÒ`ŠœÊ[R•æš‚2£¶¸¾y÷îÆò GU_Ì0°uZ’Ë÷í.~²¨0 SJk·ŽY,P¦çû³ØœLtWäUØRË›w77–êŒey5ãÃf;øe²y÷ÎÊly‡™´[P&d¨lMz«,jlêIJ´XwE^™IW\ßÜÜ\Ÿ¯Ò´ØÇŒX'.}Ê €î©)ª°¤VîÝ·o_m6´–TtÑ~é7µ[S ·mßQ_ždÙUÑi0ï*ª0%•ïmÞ¹£8Ѭ·ñfÏU³¿LmFÐdèÆmF‘ǧ¦ÆË¯Þ„ m¨¨0hŠ››››ksU––N;Ð †cÒSµûvä§?z©¢:&Õ¸Í_MÓ]E» »zß¾}{+Óÿ(ªé¯6•IYGkð2¥{šl𬤑¾ ‹KK}‘¾ØÎ$¤Åaßþ–Ã[}ß Â¹«6—ŽåÅG¢D—œZ³¥:U_ò7×m³Ït‘em\3ÇÑQ_÷ÖQ§@DÎ]œ•¹(\4`ø}És—Ì1,}}oÈ¢'ŸY#9ÓþÛßwß¶8äÈǧÎ:Üa÷eÝçîxóÈ©3ˆYòÌ“‹ÂEà2wÔ׿qÔ ²˜ûÉJš#1©úNˆyàÉ'ï€7ÿø·n§÷Héæ#OåeÊÖ×½yÄá/HT‹2ŸZ2GÂÿ®7”ÙGŒô`€cؘËJÂ?‡J:©QmÄ8 eÌK_â¿™a(ÐPÔ´yRŠqìZ“Þ:š Óù»w ›ª—¶öTÔ´˜(ÊÂ0)“¨W‡ƒÁ4#úqBI0#µš<ÿ)RM÷ú09†<ë4Ès ð><'g’¦¥šÀd£ÌäH‹ÆH˜áAÖùo§/ #F%™  þ?{wÕÄïü$À •Yn`Á*\é‚T(hÔ„l«´+n½b·b=¼[ÀßΩ²Ûw¯.x[¤¨q+¸RiU,®¨5•^À *Ô@•ˤ O¿? >B}¿NO$ó”oæ=3Ÿ™ïLêŒ<‘ävjŒŒ¬{i× lä¾ ]S³NÔ-œS{ D:믮:o0 çS‡¦v“²Þxß¹ßc‹DDÄ×MOÛ[R/‘`¨zyWN£‘Ç®?$Œ£”¹„5 †h/+“I†z&piO:gãΨž2E(Iz#õö›x_ŸdrôÖ û2ö¦½•Z+(–ÇÄDL2:†éŽÕÃDõöX» &âÊ?OK?pÞ ‘Po ¯»†`½"f1ïd•p/x•ì=ÃlìSp2γ:deÑO’í=#›·UÉœAÕƒO,jk,«=φ E¦äž Œ÷ TîÏ=u=\í$¦Öë§¾mVÎwg©¢ûKw¹Æ9zýëöâÖšœ‡¸™ï}h/n­9°qËŽ/”±¡2µÝ(¹®~/ZmÕZ£IÙ–[=U$¦¶Úr«ˆè÷dÍ2×ïÌ<¶è½èPYsÙŽõûé|Û_ÎÙqˆ zïƒ@{qSYæÆÌ,ûø"1µÕ~KóW¿ç$n¾™¼+ÿò´¡ËBË6žûÞT›Ö ;r«”«>xÏYLMeš=g+šÆ{Ùà{…Û')»ôxc‘¤Riï™lÎÆœø¾;²ºûLP*“2KwîYÕç¹—uµ÷‹+JY—ÅÄíÜ9ÛQBÜ鵯¥ ¼{e„ž“ˆ¼±ÆÈÈî˜;ÐXÆGh±þ? <`Ñ׊žç»jõsµO"u–R‰ÁHÄvˆ3é!Wh©L*Ô…®2Ïh0’Ô¹Ï!#• õÝ Ü,ù.œ”–uâ¢Ã¹Ù¬­$ÄK¤Œo\ΦûÏê/Ýgîo‘ˆ¨¥dÖÖ­›&³D5Y‹Þ8rÏÓ]BÐyzxÂP‘(gObÖí=Úûa$¤?½9íÒì˜%1ŒL&ïéíÉKç2•Äñňø#ˆôå{“ÞY—:)gy¿¡ãúì~åU®vwÁ|yjlZýò;:Kˆ/O~íCu¬é™.…ü3Ò9;ïÜÄ8D¸¦ï=zBZâ°0Úñ鸗=<Ÿ ¶Šñ½oëûðèuSg9ÞÏ݆ˆˆ#5ßhnµqßZ~êz+QëõSå­ãgÞyùLæ3Å^LÔª;[Ѭô±‘Ø90pLcYG$"b'OSZ‘Ø~¼-q7L?\,RøL–‘•Ìž%™»ŒˆD¶cØf®™ZkNU{è4{1Ù¸Ïôלª1?ññr‘•½’%ŽëÛ±ÓŠµâ*ŠN]¸ÖÔjã¡^±%ôe8qÀÔ¥âRþ ƒ2еg»/qç%œÈ2ÝÀ×IŽß|î:E²^ó&>Ï:­'"â/HŒÏº8`ÿG†ÁtîÏ`¤J™„ˆ+ÏÍ:/¦Sü=Ü^ª_:ÓµTú’½'Œ“B&Ý÷q„7Ö]3}ôw23{¶þ{±j9ú†(ë÷(版¯ù|ï%iÀl¥äîÙh¼kEf¡ÎÈ“D =Ÿõy OD\ùÞ½õÊ/Ç>G²®tþÀ™:"â/îÝ{éÞ›¹ïÂIõ2²JæÍs6ÈJ2LÓ'}ÑæøMGô½&>àÜÜ"ñFƒ‘‘Mp`‰øº¢¬üzŒU>Éסþ¨©…ô'²Î‘=2l`tÔ¤K©oÅï=WÇñúòüäwb?7ÊdC÷¬Üš½k~ŸhÊ”\éê %"æž¡ë]ö=xTogÚM0Æ´‡çkŽf•ûÛ49Ï‹PÖf¤¥_RFÌsîwÁkÓÓλÞqå†k}O²ñÝß\¿bâ7浑تû{‹Lÿ²àܺçÔõðð¶Så­îw}"KÖôJ3×,bYÑíŒZ Í­D$‰ÅýÝhÕõ¢%‰DVâÞ‹ÑÖµµÔîøàO¦ehkk!×LöD"±eÏÞ5A±óüÕo:–»-÷FÛ÷@õ¢ÐñOCÝwk0~ ˆˆqð•ˆ}=¥¶Þ õŠÞ°À™¨ûñ ì‹q—§¤¼š*t=QpûWä! jRRß5£œ ”Pÿ] e^!“ÒÒ‡žŽûxCÔ‚ü¤·^;*“9xEDǬKZ÷NÖÖ¿t°y^Ïî5nCmJꛡ©D$u ß"¿ÿÈþÇâï³TÛ>ð„Ó‚_nxØìô¿š:/ØW—´îµPS8£7FO–ôRâ:ÛWº.öµEáýøöãŠX×_!å­ßœÚùèÑ))ï¼–!I•³â6.p¾#41q³Ö¥.~9Uæ0iÎ<_iÖÀ›"b½zÕÇžPÆ$˜ª7Éäè1©I¦é“Ì+"n¹œ¨ûhR2¹¿¹ëûÝ"õúHQ¾±)‹CÓd®ó¢b–^ŠM{'Qù×Ùý¶PDBÔùuï¼’+upõ7Ky溴õ¹ãß‹µ'¢æ’´õ‡Æ¿**úpãÙ Þó²"º~4ù/åáD{XQëµ·èæ¯_!ÎZŸ)ZñÁëÎ}ÑPôáÆ³3ãÞ›jÓû¶Þ¯vkª)ÊÚV`µâƒÈ:ÓÙÙÙÑÑÑÞÞÞÞÞ.ÏóW®\ñóó¢V¿zõêèÑ£ÍÍq‰û‰yB¿˜ C«££ãæÍ›cÇŽEr[$$ÉžÉEG ñø@÷¶ò/ *D“>¸Slïãn¥;vöz+5×jcê¶ù(sTLO_”Z‰¨õú×9™.Üë!mÍ\ ]/Úú—OJ DD6öcdV¦Ë—ð„ ‡çÔV±3>¶Ï+cÂãÞS T„)Ý›·œµ ·¿Ç¯5ˆç¿ž³gÛú‚V"±½ÇâöDö‹ V¯˜™“ó—õ¹dzè¢ñVM‹u÷QÊßø§ŠE±‘Aî9‰Ëi#± ¯ÅË&Šñ]<1èá Ozx<ÐO ÉEr†yrE€§ª>T}€ªPõª>iôù«¦OŸ>}úôW7]äuÊ|Ý‘Ík_}yúôéÓ§¿üêïã÷–s±œGV½üúÞºçVs$ÿ7HK~.>tЛàɪÉzýåUEg„+ÏÏ¿ÇJ¿ÑU _òm_}õ¯ “ÿs_lÊ ‡èÿúꫯ¾ú*'Á·>ý”!;häk¤g7àû€ó‚­9Ù#t)+ýÀ%㣎C¿ÒCƒ+ß›’’q¦^ ’ºÎ‰Ù°6ެYœæº5gÍ ñ7¿ñÖ¥¨œÍÆü”¤ôµF"Fâ,é} Y®ž™4ÛËÑô¢ü…Uýxž coÏ£Ä@ÄȼÆÅELf©&ëõ·N‡Ì²>ïxmÚõœ†èœÍ³åDDÜ‘5¯¥¹nÝ:ùŽEì=ºñ@ì;ûêôÖ¢ò˜­É¦ñLKQs×BÒÅM‹c  ™¢#—êë ŒoÌÆÄÙŽDú¢M±)Ÿ×32‡I³f’a]€aª.ëõ7ŠB–+O¯­5º.OX(ìÍ8R[_/LŠúkòOI;ÇË}çM2žÈ¯å‰ˆøÚüF¯…¾òºÏ“RJ&møç—_~™çp&5õDßËx’Ióèèºw’÷9wQÏëè(—w:56ݸpë?:´3ŠÙ›RÄ1 KŽÈ£smÿÝ’Y²óJô¦È3ÎËæÌ›Àôö3ºã¼ q“‡¨­{z—|Dý/$C†3E²¨ÍÿødÏÇ1²iYyâN§¦•ÅäúlÏÖåò¢ë _ çOK—oÞöÉÇ “Χ­Û+‹ÙöO>ŽS–dd•óÄŸKKÚGËw~ùå—ÿÚ:ϰ;)£oÏM†„óù±qÛ?ö|œ0é|zz MXµ!JɸÆ|üIü ôУ÷y{€¹ßg,®(e]-ßyèÐg‡rbN$%¨#"b„ó'ØåýÇ'{>ÞàU’šrTOT“µ.é„2æãC‡ýsCàù”Ø}5¦ÔŸ(!fÛ?>ùlçr!7íó:¬)€ª ?’ k>þ×Ög 9ú:µõFb}zu•}|í£F¯…^,9ÎÛú¯×Nf‰Hî5[Iõõwt¯ds¶F{Ñ鬤·^{eú«¿OÌ:]GDü¥'Èwùg É}#˜’üó¦ã?åì€É,‘d¼ž²O_rà¼Ã¼çÛ‡”~·’™´0À‘ˆHªTJõâk‹Î ®ó|åD$™0ká$¬ 0¼ë>×ÙŽDÄ:L–2Ê_91J©±ÞH$y!ñŸÿÜâHD¥¯—ÌX{gßgF9/ÀYBD¬r²Œê }:vÕè÷‹¿”†|#L±d½Î’^Ê?o:‘¤œ7k‚„ˆØI³½˜KG.ñugò/9,ŒxÑ”Ö9®õùgL¢ÔË”a’¹*¥ÆnÍ€‘=<`Hð5GÓÓö–Ô D$j‡®ƒ0/cj~m”’œ ß/–ˆ¯;“‘–q¦V "ÁX+0wOŒ²jrÈ*"Òלþ<-)öýΗ ‚ñ|ìk¡¦«w‚`¤IF#ÃȤ¦Cæ9ì;P¢Ÿíufï%å¼8g"}×4…GïïÓô¿ 1L÷µC¦{²FF&íúC*•2X`x—}ÒÛ«p×ê,éY«¹òÏÓÒœ7D$ÔÈëîÑ™{¬âC5ú=Æ ™$í.¥ŽRáL×fAÚ½Y ©”꣱ÎHµéo†ftjd®¦ï®p§×.Ž=c$b\£vþ#Âë  ê€gNMÑó²Y!“Y"ºêŸšŒØ”’Y[·nšÌÕd-zãu•}¾BJþ¥@áùn˜$!ªû|ݺ£®w~ò¢œHŸÿû×2¾¼¨„¼fO6=ýAîübDtø7Î\222©lÎÆœøÉ}nêéÛËyÖwíñçú™,ûbÂÇÿL Ç=~0"¡‡'<.átFJRúi=Ï]ü|ï%é¤$¼Ñ`ddX"¾®(+¿ž£@D$™4ÏW8‘•q‚™µÐUBDB‘¤”r"ÒŸÛ{ –½Ð§;•p>#)vÝÞsu¦W¹‹ùŸ×;øN’K\çy '²NÔñ5G’ã7÷ó‹ Žó.eedÕº.ôís´6àèŒ ÔûöèºïBÞžª2ЕÎ8SGDüŽ{/aõ€‘›lƒA`”2 _s4«Ä(p£*C‚`yôÇ›»Ä5Ä—ÎtåZ_²÷„qRÈ$Ó)£Ú.òDÄ•(\•GßemV×Ápç²âÔ 8aVnÂJ°bª>x&MˆÚízfÝk¯üæÍ,&}úôé¯Åîælܺʙˆ}1nãrÊx+444ôµw²„»îî(û*/¨ŸtGÑ7Ðè¬kˆ¯ûÖo~ŸÕëø¯ß…,hè÷Ø00&n–!uñË¡¯¾™N!¾R¬0R±¾ÑË]KÖ½öê¢×ßÊÆ„;œOykSù}J/™WȤúôÅ¡kN¸>Êè9wbã6D0o††††¾‘Z?gCB×¥<Æ5€2ÞzýÕÐ×’.ùÆÄÍ’9Glˆó*IZº8å´2$]7à©eÖÒÒbff††€'¢³³³£££½½½½½]žç¯\¹âçç7D³»zõêèÑ£ÍÍq²`0uttܼysìØ±H. S5Y¯›~.¿ˆä>Ú¸ÿÞY{º½ë/±ã9N¾ì%Ù¸{ܶu«)ÿš$dÂ@—ªÛµyÙ¸ì|©óï׃ÜÿË ßÚS˜\Qíoƒ,&{‰&{™??ÅÜ÷ŸÀ“dnnîìŒS­÷`öë¹îIJ ¢ö®ý¸ïDý;{Z6.RL ð3^kØUn7{‚d€!YxMØj!fè'´ìSLÔÙðCÛñÃmÇ‘[Ñ´ÀH`ñ 'ÙÛ¯Š[?®ý{¹|ó 5ýø·/ê‹;ˆÌÇþÊ>v†­íWÞù¢ù'ºúfÎè$µb,§ÿ¨àú©›Dfcõ‹?Î’µk .~dã²ó¥žÉ¹´I IDAT¶W}sõÃonÝ$Hôë©NœbÝ«bì0ò$•˜÷úŒøžà©æñÉ—èÞ O/ɨ9¿2ÿþÒ-#ñû^ûf´ãÖÏùËi?Ô%|ÝÌ89­›,+Æî\¬'òóëK”ÿ5iÿ ûïëÿö}k?¼õãG_ó/«Ý?]ñü§‹ì¤µ7+z?ÁŒÿi—¦"î[^¸eܱçbÂߪ>ZRk âÛ~jjúò¦8|ª-‰¬gÿZrýRÓÕ>2óMÜúÒ()Y[OÝy½¡­ŸÉYˆì-Ú¾ú¿›¥­Œí»a ÏÞ·JØ·ç:Œú¦ú£k–˜7†Š«?ªjÅW0üá÷úF°Æ›íbkF,"aWöùì®—;[­-mÔ»sæßÿð÷oŒW[ÐÍ›4JÙßä$6T;î>ÕøÑžºëLàT§?L±îóHjÛwgÜüÝÑúªHå»?¾yüú¥ÓDT¨ú`HÜâÔvºÏ°’1Â( fÙ^¶îývGUÏ?›7|Á›;.I)&jý2§2{€I2¶¶‘!¶‘ÔÑXûCBþ•]NÞ¶ëÕC°É°ñxëôYcÇqú„­³g+Qò èá 0u4Ö7þí³kߌ–¿íÊÍËlë¾o~2µ–×|XÆYñm?‘ üDæ¿-&¢ÆÚ¹7I:ï¾-O¨×­ÍÑ•Þ""s[;K[ ¢Þý@o5}tà†ØÏåÆ?k° py[iobøCa0‚t~sðB˜éŸ ó뉎›§ÙŽ‘dÁ\Ǿ¸ºbGµÓ¨_<÷‡)"û+Öþÿê~—Á%.u\æjü{öwû¬Ec•ö˜Ö’øïš r—ð¾Sgì8\ýèãóDd!òœ¬XæÐëB‘µÍ»oؘü¯å¶ø2F ³Š÷ž?ðË ðtÃ/Æ üÖ3’‹ä óä"ŠO3T}¨úU êT}0ð{}ÏþÌÕÐßÝêù N©“UH¢Ãš@ñp]ÞÎÎN333|o¨úàÁ1Ö›¿û‚„ˆo;·ëÚš·ë_8ñË@´ ÀS=<Ÿ5Ñ ¿a•BkGDm_.¾¸<õzLÀňäfžZ‹’kN½4/àRÈì+ÛŠÚ¨É3µj[Uѵ+£þÕFDÄÿ”pyÓwú/ë£.…L½2õrTB“žˆ¨£îËúèÙ—B¦^ ™]³é_6@Õ?¾õܧ?&²/:‘™„:/}Ù±èЄ¬x+çºÄCⵇ\œpýä}³ïבeÈóíç¾m'"ý™fa¢Èp„牨ÊXN–³ZÒ²”_åíšÄ1°+ªê *}üû?9'ºäíúÙëò¸«{ME# êƒ!$ÜZ3¥2pbeà”ï×좘ÑÎÝïÈ|m¼lˆ¨­üŸ¼,t´×""ù˶^Ôrè‚ùäPQí¿xŽÚ/ý«ÍuÙh‡ï¸Zžê¾½eœøœ«¹’í<ÿ©¡è»VÞÆúõ¿9½:μ®ˆ»äd(""Éó¶Ï·çµ¡ùžÜ×÷Œè¹¯:ô%?&ÿgM\ŠKÊËfDfŒ“¹„ˆ¨ÃÐDŒ“HÒ}>@.鼨Ôéè;Jö?ÆÚ&ó#ß‹fX×ïâÎ5´9jw]lÉ’èõÿUH·þñŸßÇ7‰¼~k/5^ë¤ï~?UßUlr²‰m<1|Oµ6î¿wÖžnïúKlÅxŽ“/{I6î˜[Mù×$!Z3ÚµyÙ¸ì|©óï׃ÜÿË §¨\@ÕÆ\îõÜë¾ k?má_¶2½bú¿Ì†Œ×Úx›Š@=oîhcFNì TîŒY9+]>†q|¾}Û™ŸäUâÙ^""¢1£^MõjqU7“ÿ<Å:ÞÉœ™(ÿä³Ñr´ô³Æì×sÝ“”Dí?\ûq߉úwö´l\¤˜8À6Æx­aW¹Ýì ¦ÿ÷-¼ƒ&lµ3ôZÉ€Ç-ÐÏ®ªiÏ™N‡À;®¿‰^ø­ÄxèfIuÔ2”eÈDs’0³§tø#ùZÉÈ\9[\»ýæ9;뜈nü÷êÕϪ:ˆˆu’8Û@ä(UV5î-i'"júé“·¯}†ûúž5¿p’½ýê/gßjü{9ODÔÖüeÁå7Ò¿ûíŽïÞüL§½Eµ+ï|Ñü“îê›9ºª6õæ|7?ýüüôïÖ®¶Q»¶àâ[ÿ¾ýƒ#DíUßÔ¬ÚñÝow|7ÇÅÿþ¶÷[DÔaä;úþ/¹M?þMSñÛßývGÅÚ#?´!¹¨ú`¸ë¹¯obeèbƒðšÃ¦ewž©•¿¦HmÝ4ûRÈÔªUÛÍ"þÇñE"²p e ßvLx™‘±ÏKeßóä+u ¢1ÒßÿÖìÀï.Ïžz1$@wÎwLüË"'ON±:ó}ÈÔK!³8=î¹ÀqXÉžE’Qs~eþý¥[Fê¸ðïÚ¿7X¯‹|þÓnïÚròõ?99­›,+Æî\¬'òóëK”ÿ5iÿ ûïëÿö}k?¼õãG_ó/«Ý?]ñü§‹ì¤µ7+z?–ÿi—¦"î[^¸eܱçbÂßÀã%—ßwðÚ7£·®xþÓÈ_Nû¡.áëfɱÐÃóYØ‹ûŽ=r¡ßw,s&ÞþSüb¼roü±/ÿòöèN¶l{FŸð[§ŒßÞy"Áñ7é¿A«ƒÔÚ‚~hû©­åHUû¸»‰"²ðüÑö{n–Þ²{{@fÞ¢‰³ÉBJDÖÖÓGwîjh£ wu³Ù[´}õ7Ýÿƒõ´µ}7̶ïJξ=×á¿5ÕYÿêÝyc6hª?b~õî81¾€GLnSÓ—7Åásml‰Hd=û×’Ý_7]õCH.ª>€7ÛÅÖÌ(jo:+Ž^üíÑ®×"ñu¾£WÕ×ñÃ÷?üýãUÄtó&Rö{òÂæjÇݧ?ÚSwÝ‚ œêô‡)ÖÒÞØØ¾;ãæïŽÖWE*ß øñÍã×ç(&b ðHÉ ÆŸHØ•}>»ëåÎVkKc1H.ª>€.·¸µî3¬¤Ôf˘yÌpOgÑë펪ž65nø‚7w\’RLÔúeNeö“dlm#Cl#©£±ö‡„ü+»œ&¼m׫ûp“aãñÖ鳯Žãô 'ZgÏVâÀà‘“+c„Q̲7&¼lMH.ÀS·\Ààêh¬oüÛg×¾-Û•!‘åìqçLOzèh¬Òý÷‘ÆF"² âÛ~""Aø‰Ì5ZLDµ7ro’ tÞ}sP¯[›£+½EDæ¶v–¶D½òVÓGnˆý\þà`üð³Û—·•ø&=¹66/³­û¾ùÉHDÔZZ\óaOH.Àˆ…Sj0(:¿9x!ÌôO†ùõDÇÍÓlÇŠˆÈ|âKÊÿ<ª‹Ëlhmï$vÔ‚¿°%óQ¿bíÿ¯îw\âRÇe®Æ¿g·ÏZ4Viÿ‡i-‰ÿ®Ù w ï;uÆÁnÃÕ>>ßHD"ÏÉŠe½NZYÛ¼û†iÀÿZn‹/౓+Y0×ñ‡/®®ØÑAí4êÏýaŠ„ˆÆ"¹#“YE€{ÏnEÐ"ðäA:;ÍÌ̆bÊW¯^=z´¹9.q ¦ŽŽŽ›7oŽ;vˆ¦ä ¹ð˜ÉEžf¨úPõª>€A1D7õ êT}€ªPõª>xT"3»_XLš"šìe>ÉK§Ó¡Eà‰S(h€A«úlÿGÓÙÙÙÞÞÞÑÑÑÙÙÙÙÙÙó ƒË´v™™™™™™™››[XX˜þaffÖÙÙÙÖÖ&•+WPõ fÕÇ0LGG‡………éˆUü UŸéÿææææææDÔÑÑÆªªÏÂÂÂÜÜüî’U QÕ×»ð3]å3~X߆¤êëé_‡¶€Ÿ™iÅ3AÉ0TUŸY7´<Áò0´Už\gRø½>T}€ªPõÀÏG„&q:::êëëFc{{;ZÅsÏ=çàà`nŽSH. ¹€äÂS˜\T}#N§³°°pww·²²BkôÐjµÞÞÞh‡G Bmmm}}½B¡@k ¹H.’ H.’ûô%'‡FŽã~ùË_b÷ƒ…a'''£Ñˆ¦@rÉ$žÊä¢ê©› 4 "+++t^BrÉ$žÖä¢êxš¡ê@Õ¨úUü|ð{}O5NWQ]gdäÎ..v4Ç€­TZZZ]gdýæªh&@rG¾¡B[VY§g<‚‚ÝY´ ¹H.ÜËÃ^ëk½°#666666íë¦î—®iÖÇÆÆÆÆ&½Ž.N¦E‡ùÌ X±`ÎKÁ‘ÉyÕüû©“1þ>>Q‡ú}óp¤äa®Ï&»"5,,¹¢ÏÔ¸Ò¼BÝlí+Rƒ}î°T£{R­Äë S£‚g†/_³.)%%³Tèófõáä(µÊÇÇÇÇG¥ŽN=n·Z£å±Â#¹ÏTr´™1a/͉X³6)%e»¶oòFBrž/ ¹H.’;<ª¾µ§ªLe_ëõ³åØn /º¼èkv×1R†ˆH_¶?iÁòÌ ¾¿Uv¥ç|ïêìâ†G/Ÿ*3·kªhëÉHg¤ÿûl/»ÕŠ'ÒJ\iZÔ‚µÙZ½Ûû邤$uQôúE&&jiR¥[túçÿ>ûïÏÓ£]J“–®p_ɪÒ§?ÂIËžÖøwîæe mü‚5On HîHH._¡‰^µåxã’Í›—8£pé<$\$ɼªÏRaIµÅ¦²¯ñÛrŽØ1·»Š6_>º#9.6666v}š¦Ì@DÔTò—ØØØ¿•HûSlllìúE×Z˜ÈP’ó—?ÅÆÆÆ%ï8Z´#.66ùÐu"¢ækÅŸüe}\lllÜú­‡.4a;ó„µ6·Þçx"'¥MÿöHÈ-<–>£«š©ÜŸ]}×àÅû«Ý–­\é­Ï.èÞøñÕš˜0•pØÒèíe]À¸“©‘*U°:2¥@'ôÝãiÖį+Ž_­Ñ5œL‹ S©‚Uª°ÈÔÂÛ«q‡#U‘™™ñQ‘KÃTÁQ™|u¦Z]ØuN‰+ŒV©3«uÿ“µ|—é³UîJÞRh”ú‡¹ôôÈáµ[Òªý’ÓbTîv’ع«b6%x—¦mÑòÄ—&‡¥šöåÝÿæ £ƒ£sDÄUìŽQ«üýýUêø¾gz¹ÒTup”f€3‹;÷à˜´d¿Š´-ZÞ´ƒŒ_¬R…E¥žl "¾49,,>-1jéÒ°àà¥É'úÖ°»cÔ*Up°*xib^5O}ðdŒ*,­á@rGxryfÍò®VªËKMÍ«#Ϲn·ý\@r‘\$w0«>Ù8w–ªŠk›‰®—•4’r²}wÕ×|A“™_Á)ÃW­Z4¹µöÔ®¬’&"±HDDº‚¢¶i‹#f*E\Eîž³M ÜT’“uV×2fÚüˆPEEAEYQsYΖýß^ºjõ›¶UÇLCÓ«ù®JÛ˜YbèþózñŽ”m_\GÝ÷äw@Çwioï  Iz®aÕdkî8õ¨;®ÑyGzÛy,óã4¦mTCaJj¥*íØá¼ŒÕrm¥@D|EZR—[xX³IU§Õ÷Ù)Ԣݤ~ÉûÒÔ ®0%þ c\^áá¼D·ÂĤÂê !cY!³rsæî}™su™[´rU˜¼4¯”3m]óJåê —ÇoœjMŒ:,8XåÿRÄ–ÊžWõ5u‚[äJïž=_]X*xª½{ŸH´óW{ ¥…÷>¹Ê—¦­Ý%‰Þwòä±ô°ê”øƒ=ût]^üÚ“þÉ›Ô÷ºsõV{Ria5ÏWlY›ªS§ç.<œìq2>¥#bH¨;Y´i÷î¼} .Ç“¶”ò½ç»]X¹¯ððáÛƒJSâê\‚ÔòR© _y°L®sA:Ü‘™Ü†ÃñKMÁ O¹ÝHÆš£ã’Õ*;BrÉEr‘Ü!©úÈÞg2KµE—› gIéãnÕýŽH´êÝwß‹ ?Þkš³ˆ¨ñ2×]Xz„‡Oõðzå•ñ""Cmck¿·êÎVYNQ‡ûyx….cš.5ל*o#K¯Ðiã'¾òÊdQ[UQʾ'Hì4oÅ+th[f‰¡µõzñ®mÇ,ç¿j/FËN"e=ÇIˆ8=g:éÆZ¡k“¬×s‚|Àg¬Q×5.ÏÕ ÌÀ{«ûqQ©¤š¼2­ •Ï]ýøWú¹Øo•§äpüÚýuÝûš ´ÍKïØÿ˜1/[Ëù«zö\©¦”ñŒt‘Peï]†Ðû¬ª„•3|u÷V‹ÓUórG"F>wSºŸ&2>5x_â=Ï<6œÔhY¿•ŽÖE.ßwGÍWÐsÞSôãÍô™o÷î•ÓsÄÊ%Dv3–¸lל,s;Ɇ¥âÐÉ¡Ée½ƒæ+Ü‚ýä'“ÖìêIŸ÷¦ôè»Ò„ä’‹ä"¹xÔgxŠÅŠiî–ĵ‘bš{ïƒýæ6"¢¶æF]É¡üš6¢æëµ×›˜J¿“ÂGIÔòmnî×e%‡rŽÝèØÊyš»ˆZ*NUš¹š¢œ;rzn)ƒ'[øy…¢äNXÿè•nÝÔöl›äó£{÷¤/Ó'U¯N ÿ ¦8»LpV¹è vuôÐÔD$÷ôd«5… D¤+Ôhï:ÇÀq‘Äe®<[Û@D\™¦€óî½Ë{Ø]P˜Š)Þ¾½X>wºw’Ä]³4ØÛSŸ±y¾cws9Ê%ýí­¢#Úøµ™ZOD¼N›¹6¾Ø=zµ·„$¬‹”«®ˆˆÓæiût]qTùI´Ù:"¾zwÔÒøãz""©›‹Kp\¢Ga|êÉï¸à*'¯I*õ~¥§„ýüٲݦçr7œLíϨÝ]Ü`ÚUU³ÞÞ=‡ŽA~¬6³@GD|…F£w›ëÁ‘ŸÚ±r{Zdî`Ü Hî“H®Ä%8&>2ÌÛÝ?:=cYw Iår†\@r‘\$w¨«>"±ÂÏÝ’î,úl¼Â”–-å{¶ì*½²"|œ¨­jÿž³ýç¤ÿÛ¼"M#ÒÚ“uèºûÌžõÎÊcñªðÉlMîÎ-Ûö”4+Cýœp© ¿ wäæMsMUþ`ÒÚuÙ¦eR¿¸ôÞÜ9íîBFäØ÷Lsrw©$(nµKaÔLUpäv ó’ÀK>>/-ˆ/tŽéîê2w¥J—¸@½42¾ÐÅϱ÷øÏèM+iûŸ—"5.1Éso/¸*.Ñ£0)¥ï‡½Ý3£¶×y'ïÞlºQ`õ¦•’íËU*•jAªÎ#È“5ýõv)\§V…§èƒVÞ¾D)qÞ´’É\ªR©‚×h½ã’ÃLv~KkʘAo@@rŸDrY· ®Ã.‰œ!$\$É}`f---fffÃm±Z››šÉÆÆŠ¨éë¿ü¿=:Åü?½ç‡‹IOŸÎÎÎŽŽŽööööövAxž¿r功ŸßÍîêÕ«£G677éíöÝwßy{{ßo(^§=˜¹;O[Y'0rÏ u¤ZåÂ>Å«“V«}€féjœÒøàåFÇ«ã"½íî9lCÞÒðì¹ûv/}Òq¾"uÁZ~Ó¾x÷‡8‘ËkãÃS½3ä÷™´ZíóÏ?ÿ ÖÑÑqóæÍ±cÇ"¹Hî'·:-lÁ®:¹÷²¸„•*…ÉEr‘\$É}P¢a¸5_ÈLÞYÞ¢X6ߣùÔ:¢1SÆ£äxH…·:Þ[†è·q\–ÅmXâìiwÿaí¼Õn)Û3µañÞ#nÎWd§iÝ–½ëHîÓÁQ³ÁÛMå¯ ¹€ä"¹HîCŽ'`¬&.Žœé>Æpb×–m{JhÜ´ˆöH "Ö=øJ>""ÅÜÄãQ3ýÕ©üÚû”&‡Í\žç—l‡/ž–kUð8"¹H.’Û×0íá Ïôð|4ÖÛä™ó0½M ÿD?1$ÉEr‘\$É}*“kŽFxŠ¡ê@Õ¨úU ¡ïïµ<¦ææf ´’ H. ¹ðT&UÀÈòì•+Wš››Ñ0X4×®]“J¥h $\@rá©LîCÿJûW_}…o ÊôéÓуK¡PètºŠŠŠööv´FoZ­ðhž{î9´’‹ä"¹€ä"¹OerEhw€ÇÜÜ|è~a \@rái[“ÑO±‡¾Ö‡Þz#®õ êT}€ªPõª>@Õ€ªPõÀÈ"***B+À3ÂÜܼ££ÃÜ';ÓPÇ É@rà1“+ 433C ÂÑÙÙÙÑÑÑÞÞÞÞÞ.ÏóW®\ºÙ‰Åâööv‘H„–Díííb±É@r‘\€a›\œ€gÃ0íííh€Aß1 ƒä ¹H.À°M.ª>x†ØØØ´´´tvv¢)KgggKK‹ ’ €ä"¹Ã6¹¨úàbff&“ÉŒF#š`°F™L6¤w ¹H.mfh ‡L<KÓ\–öÁ®Ú1áq ”á»x|x­oŒÏÌ™STûmþ®ÛŠ®·¢-†ŸGû•v‘Âç•YãÅDttËÆüÚCšò)oyÙPóå£9šc7ZÚD¶“C#*®kR¶œâÆE¬ËËŠ¨õræÛÊESV}𺲱dΡ’ÚÆ6b•ÓæG¨=×|ùhNî±r] ‘ÈvœO¨:ÜË^ÜZ“³~ËYrŸéÕzöZ8Ê IDATTG–Ši‹ßT{ØQS٬ܳU-d©˜±xª½¸õÂŽvV°!ÊòüoÙˆõÑ^VøÊà™ò¸÷õ‰íý^GÔV[r£• Å;¶å—sãç¯^½Ì‡Êswh.·)¦Mf‰jÏ^n&¢ÖÚâËmd騤šÜmYgk­ß\½*\¡;µkW‘¡Ï„MÓ2(fF¼¹lþdª:•µmM+‘H$&j©(ió{3vUˆ²Ew*kOY3ÑõCÛv¨"¯ˆÕ«¹sßîÙqèZ+‘XDD§Npîáóg*Eø¾Yksë}^€^õ‰XÖ’¨knkº|ª–ÈvfèTggWB•ÔR^TCöÓ¦°ÔvùlM+µêÎV´ë  Ý©ŽDî!3':ŸâÃ’®¸¼wÙg()ª%´8Ôk¢‡Ÿz¾»ˆ¸²¢Úî’Bâåd?>ðwµÕ”èZ¯Ÿ-¹A¤xå/gç©¡c¨ñÛS=½N•á‘ê@¿Aº÷n—x×¥mÌ,éþÞZ¯ïHÙö:û +ù«¹±±…ÈÒÖJÔRÛLDùcó»ß¼Þȉ'úùØž8vùlm3[RÑB¶>ÓìÅtÙÐBD;?ˆí)!j[}zþànpDÄŽaMKiekEÄ56·‘eW¥iêªiÅŠˆZ¸ÖÖf®™ˆt{þ_ìžîièÛÈŠˆˆµ·ÅU¾¡ vš·â•ÌmÛ2iUÄä¶³»¶³œ¿:ÔÅ5ÀÓTõµ^;QPK$ï£[¬ˆmV­ðc»¦.beDä3ÍöX~ÕÙ« Žlgú9‰©ÕJfIUmã­V;‹»µdÅÔýtP1;ÆŠ¨…»ÁÑDQw#²´e»·­ñz3Sgh!²d­ÄVc¬ˆZá«#Ü»nÝYÚZQí`Õ¶Ð?ÙÔÈU”¹mË_ ZÛ‹W¿îaƒ6^­‡g›®ø‹C‡i>Ùºñ£c7H4n~øD+²?MIÔømñeC³árAÖŽÌÜŠf""{¯icˆ;›{Š£1Óì‰H¬˜æÅR[í©o¯sœî¬fÇŽ¬¢m½« ¯@%ÑC9‡J.”ir«ˆl}f*º/#龨_TVöunn‘h¼½ØÞÃk ‘®ø¬Žk¾^–›¹#ëPm3¾ÞŸ«ð ÷ð@É0<=âU°ß;FDD–cÜg†ÎÅôüM™ß²U{rŠöïü–ˆUú„„úȺj8¿1ù¹7ˆ“M¯ˆÃW-jËÉ?¶kÛ1ÙºΟ9ÞŠzÕi²À«Zs4ÇŽeí$ÙŽ X¶8ÔIL¦{ÆDã|lËöïªâÈR1¢‘Õ++–µæäžÊÚvŠD¶ã|ÂCÝmˆnàþY ?¯ÐP´ÀðdÖÒÒbff6b–·õš&å£SÍ“W­ûÇF¾ÎÎÎŽŽŽööööövAxž¿r功ŸZ`°˜£ PõÀˆ4ÒzxÂÓ=<†~Ó†Ü?üÐÐÐÐÒÒò¤ÀÒÒÒÎÎî¿ø¾ €ažÖa“Ÿ“  X!áç̸­­­Ã0¨úî ’ã¸qãÆYYY=©ehnn¾víáX `˜§u˜ÃÆäç,ù._¾lmmmoo/‘HÐ ðóàyþÖ­[—/_?~üSVø¡ê€¡ÕÐÐðÄ"­¬¬œœœªªªp 0ÌÓ:Ìacòs®¦’O$á^$ø93.•JoܸÑÐРP(z^&ý §»ª>Z---Ãá ÒÊÊ }„FDZ‡ÿA!6&?ƒÆÆF'''‰DbnŽGÂÏÊÂÂÂÆÆæÚµk=Ußðéñ8Ý $^ZZZF…’~~æææ£Fê}r§¡¡ÁÉÉi˜œÂvrrjhhx”Ï…¯†tì„a²î «~ÜÝUÀÓ ÷õÁ³J·[þç’ÏÏÊwÚ‡ƒñº“šíÙšbm^ "Fîæ=C¹Rím‡¯àQ"U‘‘­ïÿMùüŒÜxÏGÏtufØ‚-Ìû¹š¥ ´4 êѪ5Ù5$•’¾ »,&Ñ{èʾ†ÂÄåkÖãæ7w™·‹œê*‹ îO)>˜·:#=ò N¾49ß·y™¢¦ %jMTJ™âîÏs3ü¸â-ñÛ»¾gÒï1£~6ƒœVÆùýܳ½&?pyŒ̼¡ìQÿšÊÌíš»ÎÓ5NŠ/pŒÙ÷ï³ÿÞ·šÑÄÿg™ž‚’¯"3jÁÚ]Å5#wvss–’±²àÏËÃbëžÍaµ€gKCaf± Zê͑ǒ yÁþÌ]X÷£†ˆˆf$Æ©=%D¤ˆÜW8'éàvmtš?{ïwûÎHÐUê‰<üîw—W]-ñð^—Ðu—Ÿ¿;W¼`K¦zu¼;«psdbäŽnîî"ªÎL-0:.ËÚmØÛÛ,ص%»"8Ú/Û¥©#ç÷Ó’—*ˆÈßßÛ1:|]MWÑÇWlßR,Èç§oŠ6u+õôvçÂìJÛ^:7ÑSB QMµ[òáÓQYÃoZW¬)åüMŸŒ¯>X 'ÕA "býS걘¦P¢N[)‰Ê.ã=½q;ÜÀéu RæŽW%vv¦õ]"!UB‚éJ»zõÜ]ÅûOjõ1î ?µ¥j*yOSLEŸÇ’ ¢ê>S»#|Eê}C4ÐL»‰Ô 1Á "RD®ôÞµV[á’§öd‰A+öÏÖ–qä.¹wÒïýéîÜh zZû=ºJ]°–[¢Òhuu:ò‹KOô.Ž\¶{·ZAD|ibøZfsº">²4þpª[adX¶w 9›Èh·k"¹jur\˜ Ý=µ`;Ýî¥Ë‹ƒ‚˜Bmeµ^™°D¯ÉÖVVè]¢Ó7©]$Ôp2u]JAµÀ“Ôej‚ÚEÂŽ ËVE*Š «uÕzEäæÍAekbŽ×µ ¢£ÓÓÔ·K|‰‹:.Ù[¥)Ts]Rvé8ÂFhÄh­?u¼ÌØ÷5›ÿ˜1ùÇÓ§]}„‹'Lÿ·ÿ¤«äcmñÝ>5ß–µ[Êrž¿)-F¥_•tüøºxg¦zØÕõÀ^ÜârÓ¥ñÁÙKgª*c‚“½wk–*¸Ò<­ìN¥ÉáÛ…÷÷Ûñ™K—ÇôÞ=÷î©G2Ò—–zìËŒaK×'lÞ—Ô&†Çﮞ//\_à˜¼/ÝŸm8½ f»·&Z.!cY!“˜žéBÕi "·hÕi¢5 WïKëûœÖ]lÚ5h5ÙÕ.s=ñ„åFä85pòs}^“¿øR‡¹˜Hè~¡ÝX[U+zUß³Qô•m×ÔyÄ¥Å÷”X—°äÍ• "²Ë25ÕêÞG}ƒƒñØp83¸Ïá ŸvØŸe©§÷_™¹]£2U¡?{L°ZÀ3ÆôðιAŽÇ ¦C©òìýwW¬ìõ ¬£¼W K¤ÓsüýÞíb Ë‘^ÏÝ÷0Œ«ÈKÛ’}¼´ZoìÙ=õ[+òúj#‘>{ùÌì;ߪàx^¨æˆ.½–ŽU¸É©¸{\=‘Ü­÷²›3õÕ·?šBÚëHÈ;R%-.È>Ù  ¶£ê‚Â:òŽñŠ£!N»»ÔeÉûvD¤Zâ¶½§ÐH^^^RRÒ/Î;711«ø3C:#.QíxgPän½ÖVÞçÞ} Q×¹»K÷Aö^d÷î’½Jv”ìÌeÁuÀ8ø±7 DF!*h¤ººù躪»«î ŠßA}Ož'mTWýÖ9ï9§ÎÉ> Läï‹Ã,A艸4Ü×7üï!CSc‡Í_ײÁ¯Eø:®¶œ¹ÔeHºù¿<{* \ç_¾ºìíO_ëš9wöMI$zºÏ\à‚½1¾W|w®zϧƆóV|üÍËÖãi®¾>×?;÷nð®u_vöG fŽ£f-ÊÈIŸçÃÏ]¾‘ŸØpмrwÙªG~¬=gm?gÊàÐú…‡Æ¿rô“³é·¿;åÎ÷xÜæUJ¦†³—_°.ò¹Ó¥åòîÔ¤/hßø]Fzd ZIƒµasrÞ剷éªeåä.ò_Û¥Ô4\xø†*Šs”sVÎgŽÚsªûíEìÁ£FjnFäã¸HZöœ2ž:±ðÕÌá'ØãÝóÝá›-Zc?Lùž?ÊÀÈùó´Tô™»ldŸ8t9}Và…}ÇYjîÊÛ5hŒŠ'äΑþã¢~_qój†Üh;×ø“Xpè¬u¾öÐ)˜¿5†±k,*Õ p¼•§ÕÌD¬f´l (jxŒ=ÐcpÀ™Ílû‡Ëçï¦xžWû¹²cúvƒ-¸†Í‹SšÔ ŠäFÒ>‹v³Èzù³Â´ÔõÊŠ¢EØÝ÷ŒQè^zÑTÓæýZL»³ïûº VßÈØYž2{wsÝw§¯Îš&%Ia°Ëçƒ½Ï 8Ž¿¥ÝŠçÀ5JþÉó[6:ÜΤt®);°,ήJË‹ô\±6ì>dí/s2Æõ$YOdî9>v\¡Õhæ`¤rÅY/³ÊÀÑvõ;¿:¦EiÁê=Ÿžøèxç¼E7áîÜ—šºO›¾}Ë\ó¾}@½rkîèâ} ·;×0.3ï7'l¢”j%€µ“¹^X;/›Ô´:X `¾`æ`td«Ga|ןï ^¹H}hϾSa—©¹a#éë>¾çBäÖ/ ‡ÿ(Ö“éË?:ѽèÝ;~hlâ‡)z€´oåÈ<~èòû ö Ïît÷=H=»DúÓs’—~x°áBàI˜Ÿ;q¶J+Õwy¤“Òj¶‚òAÎ$­V3Á¿/+—ŒZwúDdFiÕïhºóäÁ3êùoÏR‚2ðíU >\sü·+þO‡ñë/Æü½)ÿ×~ª»ý»lg—ƒ ô”€Ì'pUwµ‡›6¤Þ8ôÙ  c ½}ßÑËËÖŒ¹úXÏî;ÎÌ}}üÙÌŸÍËiiRÏ/¬È¸í{G[çf¼H@زeêU/ps*xÙ¼ÇÕä„sx¢ç+éÛsЇà5kÞž7ÎÛï½ ãVp`>»1¿Ÿ¹á¤¨à0í½½:¦Z¶æw‘œÍÞXÐ0n&ðiy FN­UðÀhG³Fî̞݀çÆ6M´EÎ×{|ßÙ13kžÙ½%·¬¡Ô‘O5tÞø¢=§FÛ¹Ô‘óÔÀž3s!wùè 3¨çݸð–C˜µl¥ÎîÙ³û¨qdœG­óÄžóÁËnlZ¶lÎå}Gï>ÅÖ¢E‹²²²0åC–‘D®ŒãÉ£Ç÷b©¹Ëî­AãA‚èÜ9Òï©úÁOŠ´o‘öìîŽòóß½]¥vÁ\eÃî£Àß·ÏüÌ(ƒßÕ¹o߸Ëû¶lÞwùvc0`dt¿ÒÇE À_ؽywƒ\+;˜Õa~XñºHµ¯ýìÍ^¿ËðL»Í!ô·|UíRwÉï ¥”v>è°5ï´˜º¹ìÌð4ç' ÓÒ±‘ï¿ø¾“ Ψ80ª8ãsBqV³•=±ñíùóçÏŸ?Õ‡í<Ûíº0©ï:㇠þ,Ðó£ûøîS ·¹{G¹r.uêDÙÑÎeó´ËrÓ¬» 7ÒÎ¥\¹5+}L¥îί޴åy›ËÌß÷Ñ'ûŽý´á(0Ú9 ÞËxÿý‘é÷”ó3¶¾Çæíù`ý  ÔsÞý]áÖ°ïBÇ2Ó¬ÛÌ[õþÜy§>Ìn~¯lnXàüÜŠíÁyî)Øø)@iç,È(N^^™±;‹ß\ðiÞÆOA=çÝßmÏ2oN:{£b”[F˜W¸/{ý'ÀÌ}okÆûóï\Aö[°fÎÙgÕ –=H«Ù̚͠Œô[³ïøš›NÚüÂãó€UûޝÂ0º9ùhØóáDƒ¡™wÃÜKÖJWk?:¥ï½eDÂçN‘~—Ü4lüECýÈ¢@9÷7ßLôBúÁÏFó¸ÁoYÙ7ËÆE;Ìß}rþ4}UÁ¾Uã3Á‰¶¶¬ìø²ÑŽ>\U6|uð™—^t0ý¦}ý–ÑÇ>«vŸ¼õrB.Ê-[”‹QõÌÞá ã§–6\6ZÕ:¥Ä9tý¹.ïC5X'~Öø-*¨>øÑ‡{Žžº`æÑΙ¿rÍ|~÷æÏîI]E»Ó#Ÿø|á#à ´sç)÷”ïŒ|ÛºO|pjnFzäcþnÂf³áÊ èÇ2áÊ sçÎýq“òe‹?àWqpMà}¿:ùpç 'íQg({ð•iº®Y˜mý]ž;憆†ÈÈÈÉp2&Ïž 49aŒà‰šT'ùå—_–Jïš‹ÙM9qNyËÊ #ËôÝX¯oèjCݹ xíµ`li¾d¶ ‚roÿÙs‚¼evS}M›wtL;žýgw¾,5ùƒ³<ÌÉ8p»eûÇéÓ§GÃüB¾³lÙò£ïß´rƒõ³57­×w¹lͪÎjY\–NÊÞüÑI3 Ž|Ë–UaÔù‚åë­¹¶Üõ~î»a»BÏkÃî¼Ýgæ¤ç®îH47œ437øÁï9²žùèó™õXÆÀ#„BE¦ùÉ›š[ŸvЉs½>òÓ"çOy}ZØO¦Ý¼¡¨8 žÏg=kUQ1lÞ|H©~„·Ðù­Úwë8åÛ»O¾ Yp|Žn°,wß²qo;Pâ1À¬¡g‰R«ì ê9+·nM›…Ú!„Baևг’7­Ú÷ͪ|u2P†­ÊÝý(vÑgÑîopvL„B¡§®×‡B!„B˜õ!„B!„¬!„n%—ˇ††~ôÝ’Ëåøç@hòGë$‡„f}!t3ŸŽŽŽ·*944ÔÑÑáパ"4Ù£uò§|x1A=p6„Ðãåëë —.]²Ùl?Ö>Èårמ „&s´Nrx1y’§Úf³1 ƒ§=y6›ml—¾k„B¡˜ ûöÀà 0ëC=‰ª$V’ÂhEèÞy{{÷ööbÖ‡~}}}ÞÞÞ£ÿtƒð÷÷ÿÑ¿‡n€YB!„š\|||.]ºÔÙÙéíí=IúXÐó`hh¨§§ÇjµÎ˜1côÉÉ3âa†`Ö‡B!„&Š¢f̘ÑÝÝCŽÑN«¼½½g̘AQÔØçŸq˜õ!„B¡É˜øùùùùùùá©@èááž!„B!„YB!„B!ÌúB!„BaÖ‡B!„B³>„B!„B˜õ!„B!„¬!„B!„0ëC!„B!„YB!„B!ÌúB!„BMR<è©ÖÙÙ‰'!„B¡ ùùùöõ!„B!„г ûúÐÓÍÕzB!„ºìëC!„B!ÌúB!„BaÖ‡B!„B³>„B!„B˜õ!„B!„¬!„B!„f}!„B!„YB!„B!ÌúB!„B=]¤x ÐóIÅþþ~žçív» xBºG$IÊd2Š¢<<<‚xÂß.‚ÕjÅÈE#!Œ\Ìúº‹ÁÁÁžžŠ¢€¦i„nk```pp¢(©Tê*~ðœ ô`åk˜Öàà D"yÜý¹aä"„‘û0‘‹³¹ çˆ ®2™L"‘`ñƒÐ#B"‘H¥Rš¦-‹(Š;riš–J¥¹aä"„‘‹YBwÒßßOÓ´D"!Iüå#ôH$‰›@( IDATDBÓtÿˆ\‰D‚ç!Œ\„0r1ëCèNìv;¦|=Z®ûcyžÇÈE##¡I¹ŠèùÊúð¾„-×°»ÝŽ‘‹F.F.B“6r1ëCÏApœ BœD"y¬ paä"„‘‹zÈÈŬ=_°Ñ¡§1¬0rÂÈE=LXaÖ‡B!„BÏ2ÌúB!„B³>„B!„B˜õ!„B!„¬!„B!„f}!„B!„0ëC!„B!„YB!„BaÖ‡B!„B³>„B!„BO)ž„î…\ú|‹ÍáÀ?:z¸¹¹=WÇ;88ˆt„B˜õ!ô ÏB!„¬¡gAÓÏ× =ØçÌGÖ.ÍkMjÉŸ’ëš+½´€OßûK´µcù¯Vò«Jþ´vÜþr­ÛW¤T¨2ögÚºbÝËm>®ß¡Ú‘WÏßæåðœÃÛcÙò_­(4Œ{žRé£&§%Çj'þaqÆºŠ¢âÊú Œ&$*15-1BÁˆK<=U‘k>¶vivËm^dâ¶íßAãß=ûaÛXY\Z^Ûd°ð®b"<.19)>H À5oYº®6jÛáˆã‘-› ª <•xk4Åf}=WDÏÁ=h¯*m¡4:0•—·.ßôLT¼h]bV~¬+­ã åy…õÌ⌴Xå*ïôzjF~âðËmÅ™E-ºUYiŒëê%몊fd-ÑPkÿÎx\zOpå„î A<_ÿ=k}i-«Y˜JCÀ’D__Zk}‘¢L Ê©¤û¿üòð®4]SÙ¦ÌJ#×X°.ï€%*}GÉÞ½%»²bøª¼ Íœk«uy)™e–ðô»Jvå'ëZŠ6mØÙÎ oÖP™WKrJJvå§EYj 3‹[9W™“›²©¬E•˜_²woɶdMSẠ¥£»ÏZ¹qxžÌ?)K³€Ñ¨n­jâã4`*Ú°qû‘Æv+z¼žêÈ@{é†uµTbή½û÷îÊI¤j 7¬ÞEQ`ª*<^òù—‡w¥jZd®[WØž¿ÿË/÷çÄXj òª]Go>’™’]qY;v•ìÈYÈÔ¬ÛTisMö†ÂjˆËÚU²woÉŽ´CEæ¦ítDFIþB „î-é{ÎVn€ûÏy̵¥õ¼>mI€6.)¤0¯´Ú˜8fø¢*.=9ZK@Ð’´äÒÕE嵯%‰Z:$uWI2¥ÑªimrrxEfÓ1D«‹ªY]jÖÆø€€Œ,c^9o`ÁÕ4È«’³ÖÇ« uqymYS A´¹º°ÊÂ,Ü‘“J€61#£yŦââ–å·ºfªX÷NÅÏ«é9å†ûÌ­µÅye&>_7ÛAkwä@^AYE^}¥Ò‡GEÅÆ/Y­Åz$zÔžêÈ ÊÙX\ÚáYYË꤬ôš¥y¥¥mË7‡Î’´%AJŠKКtÉ©±Z€ŽJŒbªkë \‚ZK‹ëùŒ¬µ±jZ›•Á3š¬ U‡g””ðL€V  Õ&'•WÔ7×hiFEQ£R*1V'#QÀÖCì†~ƒØw…¸&ÚzÁÉ(ŠŠ = ÷)¢rán> PÜ“P“ë0, €J¯º—Nð¨ŒŒÄ ’“++2ÛêL\¼š‹‹Z $=gc‚ ~}Ž¥~EaaUjt¢V©b( ¨‰Æw-ž¬õE**'gm¬´ é9­õ)EµÉÛ‡{äxHÈXïêqT%†äUi]»6À\_ÞªåKô4´ÕòšUù[†¯LIYuK³‹Ê[ãÖÑ«KMOŒÆ 1ëCè‘tNË熱º´Â3↫Šê˜¤(*³¼²=ñÆÐ J}ãÆp^GAS£‰KÔÒ4Ŷ”çÕ·Lv8ÝTñ<p†š6`âB4#SF¬ÏpÕUt±!£­|Œ–ày€k«1cNeH¼ª[j \Ä„U0q9K4ãR4CyvAí#¡‰JÝ–•x›i Õ±k·Æ&›[ëëëëêêššªÊê«Ê õ«ò·­ÅÛåFî­¥·yP‡„k ¥­Í¡*×áèGšs(†Єj”£ÿ¦€gy`ÛšL ‰ÑÞ¢§Žß˜?¼S”¥º¨ »©Íd=lËãoirsÚ…ëgàÚi¢«E0·õ*Øà¦[öÅÑg¤rp÷µÔ/‚&‚ð jÒܰIQÀó0Ú’xûw†ÄŽ/¥R1®HSS ºØð*&$|$Õ1‰á]}¤umP€¹©¼ 4©K‚h0·5™@µ8V3&ŽãõPÐÔb ×^ëbõXbÖ‡Ðcñ`ƒŸ^÷9{ ×Z^j0ä-}=oìóUåÍÉGnï¦TcËLŠ¡†Ëcù¦”Âý⌬ô ÃP|}æê<“+÷âY×;o[¤Ýüïú|í¦·^¿éÍÃóLOõiB""ƯÜÀÔ<ÚÖ]Õ¬áÄ’¢(ŠÑܵhZ››æÆÒÌMEeÙÅñ{×a/ÂäQEA‚ Iˆ{¾tˆÃA':‚D"!žÈ5çiÜ[ˆ7³ÕØíSZ €½‘–Q7íEݺ[<ËPjŠžà”mOYWa _•‘¯×0 °Õ›R ñ·?¹£òêI8ý ˜[ÁÖ+8ï)A6èk‡¾v¸|B¤= ïÄì¥ÄŒ·A&ÿñ‰Ñ¨ m&îZLi®0±­~½h‚P»§\êvœ޷°-ÙK_Ͼ©=f4Ç^”Q‰QTfí‘ÖÔ  ¶¾¼tiqÀ[XËuo¸© mg¹ 6ƒ0ëCè"åòçë€ï«êØR^eab2ò“õ7.ü¡tSvUiSjîð žSuãy–u]µÕ•- IÍÚ˜0œv™áFõŒRQÐf¹ÏVtŠQQ@…gìH ¡Æ?¯ùñò%J¥ ½Ç…Ьf#Ï ›¦ŽXžWº®ªÅÀf}“ÙÅ‹mÿ}ô3…B±xñ•ÚGÅ{Éß\ébW×õÇ«;;;6üýÆ'²³Ï^äÒ”šqMA8f—<Ã0÷¯ €ÉÌßÒ™Â*«M ÏÈZ;2D;ÏOP·F““z~€ºm¢¡DçHq.%r;!çäSyå «tj¯SAÊ•:?#ƒÁn±Ï vŸƒÞv‚ïíƒà´ÃY2‹_ßïƒØ UA?rC°2$AMMåµæØ„›njãÚ×2K–ÇÞi9LšÑ2Ôªmù ª›~÷w]Eó.Å“ŽQ1ªôYáã#ŽÒ(n½PžEmª=bHUµU¶@Èð°×Væä'é&O)ŽYBÏ ÑnÇ“pûR ¾´šeâ’âBÇå#º¤8UuUy½5:ÞµL]K‹v½…3Õµè"44ÇšùáK¼‹±º¼ €áh]´jÇŒï²6nÝP`ˆÏÉOºCŽÖÅê¡Öd¡nÌ f4‚Jý4\sîŠuUªU»v­w:YƒF£ÂYá'1‚ ZšÏþéOå—ÛÛ¾ývÝÚµ!¡awMü\݃ÍgÏíüsåÀ€€ß¾ÿ·îîî¹¹šp=Õ5-æDípuØÜÒdÕâûе>\eõM£ÃÉÌ5[6ñIùY–w •Ž×ÖÊJ€ü“¯`2Šç>[öÁÀµág$4ï©¿ÄO½ÄM¹hU¶]–^–½*ˆâôüÞ[ñš:`6®˜ì† Ä+'ë'¬W³Š@€Û’rŸcÔ1©q̦ê‚ìÊü%c–W°6eæUXbBÇjïÔ¡ a ÚÀ«Fzö8³‘¥î6åîÅMEë©m­ ¹±_V£‘WÝî®texb ³¡öXS@} „g OÍ¢ÔÇj ÈÀªÔ7vÐBiÕ˜ô=œÃ¡{Ëúá¹úï¾N޹¶´žWÅ%Þ¼42­[§âëËG'ä«ó 5ÍÆö𢼠„$FiÖDë)h+/¯3šÍíuå›3é¢`ÛZ V´q©qŒ¥"3¯²®µµ¹¦4/û@„DÝ¥µO“ºPe(ÊÌ=ÒØn4[ëÊ·¤¬X±¡¢ýiø­Ñ¡©i1Œ¡l]Ê–Gj›››뎕o]Ÿ’×!ÉÉ4Xsý«µ;[¹Ñ¢xûÚ_ýzd–4®cöG!•+”ÄæNóŸ|òÿ6gþ÷ß~{—k‹(ˆ§N}µeKVII‰m°Ç[I^¹rå ìí3¹thr²š òJëZfckÍÎì‚INºÏ.ò€ÄÔ(ÊP˜¹õHckkã±ÙyÕ&:\Kë¢õÀ7•hvm=3Û®°4¶µ[9 )†h«©omm7c<üˆºÏ _þ“ظëFÊ75ìkõêüó!4zïþKuSûÅöŽ~ë€0áí Nº¾ËEÂÁÓæÚWýB"úïÑN†ãSF§ç¯ÒóM«W¬ßZzäXMͱÊÒܵ+6Tô«ò3b•w “Ô¾6;³´¦Õh6¶7Û¾aÅŠÕuÖ‡.ž”Q©Ëu–™Ùåu­F³±½ñÈÖu+V¬+l¾ÝL¼tHbŒÊt °¸ŠJ3`aj ÓR¹ýXs»Ñll­)Í\½buæ «‡}}ÝB&{¾Øé¼÷÷V—¶€jùÝ“}-Y¨©(+­j &&=™©Ì^mâÒD­Ú–‘ u•^9ËÙ¼²M+Ê€ÑÅ$¥ç/g˜šŠ SÖ™Kv­ÎØ•£*(*Ú”âZõkU~úÚ àŽ7ú(#6ïÊ((*Ú°Ú®%»Ò¶¥'<'_[¢©,.-¯*¨.ã(F£JÍIµc1´Út7Îoj3´Q,?2Řý±²¾~kït÷)žÚ– ¦Ï??&‘HÿíßþM¥RÝ¡»¯¡¡áüãÁƒ‡r鬙Úà™S¸xnÖ¬YûÖ¾g4r·í  ‹3SŠ\ ‘-ÌØ•–pßUuu|Î.¾° ¸`ÀÑÇ¥íH_¢€„Œ¬ÆÌ‚Âu+ ÑÇ¥feűE-d§lJ/Ù¹dIrLUÞÌ”ªðŒ½ÛpJù+å;‘-^;3<3 )x1i{£g}SËMo$IBɸOõQÏðòð÷Ú•¯Äëg`°Kì{.‚ß«äËk &I‰2tíÇû£Ë‹Š+«‹ò0š¨´üÔÅ÷4Ù³vɶ]TaaqvJÑ𲓋³v¤Þ}JÌ»OtÐÚ;Ô…¥™)…<¥ÒG­ÊO_{ûõÛi}bœªªÂBÅ$ŽYŠBŸµ Š Š ÖU°ÀhÂã2v¤bH=\UÖf³ÏÛ4hÒpkr:N§“çyŽã®\¹2wîÜÇôuW¯^õòòrM±p¿ÜÜÜž«?ÍàýÝ×wW\ãæw64ÅíØ¿9‡g<‹©Nooï´iÓ0r‡††þO^Ž‚ûšíYÛj9Þîç§ý»¿]›±ù¹îܳ+N’¤D"ÌÏÏߺuëÐÐЋzŸïÎqˆÌ‹‘¿üÕêdŒ\ôÜFîƒ×+®jÿtÁÁy̬—Æ—}m1uõ ç”ÌGåíîî¦òò bpÈÖge‡l‚ (äroO?Í”™:í Ö¿hûëî Á[‡§7S¨ˆW~K½C¸aêžÊÈž>„î­ ¹ÏA¡çÍf#ÁæÉ¡ú)oÎóû¯“éÚîÝŸÈiÉ…Öººº®_ïâx»(%“0Œ»J¥’ɤMMß ¹)¨×Âü–-œY~¤£ÓØ…'¡û® ›[áÛ »p𹦠ªï:ØA$©ó×h§út[zû­ìíWíÇM[0tO·œ—H$jO&P=gî´ÐW¼/zZ¿íƒ0dúíB÷÷äÜ®ÄÏé._éH%Óüðä£É³>„î-뻥lóÚèm"Àó·ÌBìv»ÃáD¾ä¿fÅ«Æn{‡©­ŸîýH?]ê3}åÿ¶§ÉÊrÉËÃõ`e?\µºSýúï—fû®]õ#—8N–Å1ºÝg1m‚ïJàê_ÀiÑ7ⓎÐãg:‡lÃw”ÅFG }sºÅ~‡œNçuKßu 4þ ùòšP½®»ŠàúDû\8$Ú‰·ÿ¥ËÒ·{oeÃwçfLû‡ÿñÅó6Ñ7¬¡g•k ´x›”Ï)8N'ˆ ‘HnZh ó? #r?ÿOzêê‘¢x#üEÑ5¯Ün->›Ífçí ¹L²øg³§\¾Úÿ¢~ŠÆ‡"%@`³9¿þ®³õR÷_/zñ(?©„ ²_3Û‚ÔiÜÚ;ú‚04Y²>Œ\ôôÄê¥ÿ†ÎzÑ>ãdàµ/Ï\²ñ dÜ_{9ôbû•ö«F×Ûå4å¯r›9E:ÇOñ‚»ÍÃÃSËRš+¦†ï¾ÿ¾í‡Þ¾þ!gw8›ÎþÐëó7¯, —ž ;@ÄKŸs_}LÕG!! Á–M÷ž/Š$©†îg:%„ˆNà@êFHå"ˆ™˜£§º9;ÈåtäK³Ï_jï0^ IúOõŠ×K_Svh„+dÿ±Çêɯ¨ü5înrC‡ÑÔ¥œªö²ôö›®›9žï¼Ö½û￉üÙkÎÿ’rfEé÷{WDþöŸ;®Û8~ÈÆ}õõ鹯†k}}ðï€0ëCè©'Ølàt:m6[OOB!§(Z&“J¥RÁ)pV+oï:[ ½¯wh^ð‘Éd$IJ%Z.W(‰Ä•"®Ú!6"4éó½¾¾Þ¶¶¶‹m­×¯wÙ8^&“Ò”ôüùó¦iú¥9sÞNøù›oÆûùM#IrtE>777‰”¶;†ˆ r¼Ðj°žøÆ40ÈI Hýë…¯ë4Sj DqìÕ@D¤R&‘á¡û@J‰Y‹‰À×Åžœ½WN|Õ}½ÏàŠåy¯¾|þâåãuWÊ÷’^›2Ǫíþo²§wÌ ÚÏ_¬­o¼j¼î¦M×y0î— ƒC¦®žO¾´o¼pý agÁ>ø’õpôKïœøºY„ëfKm}c⢷ðï€0ëC虨 Š¢( ÇnßF’’¤¤U*•Š–+»sŸJHhÛg;Ûpk£É!‰ŒÕнÆÍݦ(™L&•J% A’’‘áa"Ehò¹téâáÛϞµÛy¹ÜM*£EÁÙÙy¥¡¡±Ýpλpì‹/~¹téßþ]ÚìÙ³e#+»Èår¤œ]DQˆpõÚ@yÕ%?ó“—ý ?9m2Ûf¾àá«vódd®LÏéëßgµËåR_-`wÞøW@è¾”;Pî„Ò_¦ƒ”ÇÜÖK5§¾í¸Öe·Û¯u™€$‰ |Ò#­î—>É%­å*ð}‰pW÷[Ù¶ ׺-¢( n¹ðJØìíÅö+o¿fîûÔòï@G ˆÙÓ–0S8Ù(µ;ìÀPãÙs‹¼.§q®[„YBO9R¡EÁ]"MßœÙÜܼmgÑÐÐÐoû[ww÷¾k\ó.E×qw™@Òv©»BTÈAî&:Z½‚yù+]T˜ö¦ÜÜîîŒB!§iZ&“I]7ŽŒ\£@ñüï=DQ¼|ùòÿõ_{{{¢íçç/—+œNÇ×_×ÿË¿ü_WÖ'Šbw·åßw}lééû§ú§™3gº?©T"“ÉøqpÈáÁÈQ¦iÜÿæÁ‚Ýñò,ïökvÿ©nS¼i Åþç×g®·]î¡)ihÚW-Q¥ß)£ý‡¡û®ÝJ¥/Í~ivð¥ö«Y[w8NPy¸¿­p¿\>œ%ʽ àubÖbÊ‚fÀÍá|}î«A~õuÓõn‹(Ч[ÎGÌyqŠªÓÔ%Bý™¶øwæ… ´’Nt¶o§¿|á‡+N§ÓÜÓ{¥óZÐtž|„YBOy]Ðá@F’ž ñòË3Ïž9³·¬ìBs»üÌÏf.t'AJˆáHç 8{$ŽN)ߢ ÿìIR@ú8ýù¡ ~!ü:„8å^´»»»B¡ årJ&“Éd¤DBŪB?B¾‡£¨hÇààÐ{k’##_u-÷G„(Š‘«WÿT"9w®ÅÒÓ/Š¢—'ÓÛkéëí'€ HRâé¥:ù-»çÐù1/hÝ_ðuÿ«„é2Rä@œ‚k{8ñD½ñÒÕþi¾Š?fš¯@äìBO?ÿSíTü‹ ôðΜk²¹Ï }azïì@ÐJ˜µˆO!ܧŒÉ%úÀ´S}4S}þÒðkòO™LöJØlµ·'ÇÙ ®SzQûá`€¢ä1¯†)(•îì¶–"Ìúzj„#ëõ‘AÉd‰„’J_{õU?ÿÚò^;zð‡µZçìIü âeä Aˆ‚4ɨkÝHÐå!·r3úÙÙÆ¾1X&õW¸3înnn 779MK¥ÒÑ©bBOÒ©“'[š›ÓÓ7½öZ”\.†jµúwß™3'´£ãŠÕ:(Š"øMñ™¢ ’Je®¼‘ ïT‹•üó±+RÊ=!Fª¢p ¢ñúgwL¶¨WÝ–A©„K?×Òjñ׺G½ì«ò h™ÄÐÉ­m¿t¥oÆÌ`¼ ôðε]v:‡‹ïŸp±€ DidÄo· æ_qwS$Äý4!î§·ßê;®ÿQ¿øÅ»?ÇóŒ0ëCèÙA¸æås= D‘ I»ÓIÉ)o/í_/_Óü¯^†¡¯Ž;þµ ú_–,xEò¦?Є)@9œ6C2·³r÷³NB ‰^~š©ÿ'DÏ«rùL3}ЧÚ[&ŽÍ‘@I‚$H‚é $û Ð»-g„Ð3iÇŽ?Æýl~HhÈM)Ÿë±‡Ò#,쥰°—ÆNÝéê EÑá°_¿~ýÚ5“»›4*Ìï­X­—‡ÌÆ9›ÎYþó¿~p:…/N]æ$MI\ûኅ·‹š)Ì…ËÖù¯i¢_òé¼>pùj¿C¤¦ÏÐãß¡{408404äêIgä7ÂF•£õ IDAT©¢§§Çõ™Læ+éþIêY¦|aÖ‡¦}Ãõ?ADQçy+Ëš®X»%n*')%g’o„HæS„Ð*|¾›ßÔ×CÈèE²ä`ÉlŠð ÈáeÜpýG A_+þÙľÒq5Å¿[§’’Q‚ IBJÉ©DB¹ÆŽ (×m$I’“óÎ@„ž*¢(vu™NŸþ6##ÃÛÛ{¢kqëcW¾Ç²ì7ßÔUU}ÖðM}Ÿ¥“µö{»ùõöèüÕ4A¡³¼7øºõõs¦®Þß½ªKHؽ·y¦Î+:B£K<ÝdrZ2Cçh£<å¸â3B÷¬©ùü_}ÝÓ×?ÐÎ%êhî€6RàmÃm4äÈš»@Hð¼!ÌúB·ÉúDQE‡ÓÉqœÓé´ ©é°Zœ A¡á¦½9`¬ô)È"Èw~B¿C|‡xú?ùZÅ&0oÈ®¢~& Er4ësÍïNØü)»I_é›õ?%v–t°„“%a€!B2$Jy»—dhºuÎŒ¾ˆP»nÍ(ÝÜÜ …B.§hš¢(©T*•H\½®.›æ…|Ž­}=»åæ'©¨üÃ醔ÕG’ö~œ ~€­r­[W¤àã¶íßñhfE³Ö¬]Z»ëOI÷·ÛW¤´¤Þ¯yª½ô¯VKÚ¿É|g¢ÿÇìÿÎð„äPÙïl¨åGŸct1IéIJ °Ÿ W;}}µjŸ)‰ôÎm(£}}ì:¸goù•šõ~\ÂËì/ù‹óû޾ï/šgM÷ )©‡›TF­—~úŠïL?FNI\YŸÿT7µ·›Ÿ»ÒLÝÜgµÆ/¾é‰Ž÷dý‘Ç׸yi6“¿ws(}_ÃB2öï| +È=~kû±jKT¸ä𷮨dÉÚŸó1>†lÜÕÎk׺Àè'ã%çiÛ H©§Û’ œ¢ÈÛífÁÓ57®è´=—Dž%(æ©<`®qó;› ÿðŸ(ל»t)ãðöØû*NŒ5•†%Ñê»ÅÃk/ýUJMêþ·ÙÁûùRs]e“nI¼ù˜õ!ôXˆ±g*é;‹ÔÿTòj¬ô% á&ˆúêâÊ !â6B´¢;!r¤hõ0?´N­þ$A©àÕJûTõàô@ËËáƒ/†’S|ÝÝÝÝÜr¹‚¦(WO A’®@)ú˜NNüÎ/㸺ïd3Ûöo©ê ‘¢5•Ö2 Bmi½5"vR¦EÊÛ8|¹pÂç¹F*fÛpQÍ™‹7mÚ”­Û»5V1ö£Ç¸(vu›}5~£Ë0Üá¢(ò<ÿå—'þð‡þ曆෿û…,$@ ¤ !a¦ŸŒuÈi™Œ–I\M;ìýO‡šç½2­æë+äH$ Á¥öÞ~n³gz)…¾¡ÁŽëö¨è¹OôÈ'I¬Ñ¹Ÿùõ׫=*‹JÕúñuM:4­d/¯Ä”ï©á©twsî¿6$±1 %A‚(ˆ}—ƒ´?ý¶­Ë)ð£tºÏlBá-N›GÎ|K”¹;N©ôæN?Ña µ`ø ìrï:>´¡}€ãí2kæ¥ËWlnôê)eª‚ö}áù48cmqikúÂh5}· øQ"ñöW¬¢#I ãµ¢˜õ!ôxŒ¤MîJ&î=½ÍÆ ‚(•’A¯^ãݧ:Ä‘0=Èü’è7ÝÝÃÓÍÍÍ5+ IJd2©L&“¸Šxâs„Zªs]Zk°ðª˜´ü¬%4€±f{^aU ÀèâR³Ò&¸x›ëKë5‰»’)SJi­9ÖÕÖo>òë¥áËõmõ‹ÅÄë“s²ƒ”Æc[³]Û£4QÉYY‰A4Œ>kJ•š•µ$ÈUÊÕo]¿©ºÅÄ2á«rrÖ†*ÁÚ\ž—WÜd Tá‰I¡O¨¬£ÕÉ©Q™G \¬‹¯IÀétJ¥R¸ý`iWÏó---øç>xèÐÀÀXÝ4¡ ‚ €ð`©±Çzú{ãâ·H@$žsþÏ?|¹`~˜œ–ÑÓ7ÔxæRÂë/¼9ÏŸ †¡|ÕŒz öÒ“<ê‡5sÝÎì‚-TQÉYIßR¼1û@“‰¥ô‹³ò7F«ábk?RWTk € OÊÈH Uru›—0I1l]S[›‰‰IOh,®l2,Ìœmë#”„?=º›<€*dyFÎÚ¶rÓ†  ëþª9}GnüHÛ ×\¸z“%knˆéH^vQ½‰&dqFÖÚñuR®ýH^vQ­ t1iY 4W·yi*9Ær¬É`2YTqÃÇŽ#•·÷p7®[T¾S„NàY°õ¾0T)#ív€¯š;㓯™ùI1C6î»Æ³W×_}yö4­¯Äuë¾(ˆýâå/àû}bÏEE H‹ïÏ>;ßnïs:2©T.§¿øêÞn€W^|A¦<+¿ð˜F%LŽ\n¢Ö|õ&€Ñ/LÏÙKÕl^WØfM«MÉÛ¶'÷œÇ5AÌKµº&!YWWÓb0°úä¬D¾¼ø˜ÁdâCR·å.ÑÞîê1zɹ[$Rw¸Pp͹)ÙM,´¬øõâüëu¦[¯˜õ!ôpHŠ×$.2™L.wUþDQDQªPxùö÷ZúØuC†RF"#|ßë¿þ­ÈI€ H `ô¦>$(H¢Þ&„AV4u659NŸ.|a?Ý.^@ôe© &”A ‰-ˆr H×Ãàp2èªcJv¦ËÈXMp¡Î^ïi™ÒôJ¿ZK ¼Ôiån¼fíåÃ0Œ››‚¢h™LvëÝ€£ÕÜáj6¾íˆ1mÇŸ7+ÍÇ6®È+jZ˜m*ÍÌ® É)Ù­æZK×­ÛT¡ÿ›]kK !ÉqZ-$…U\%Eñ†j6½äã%×Zš’’} ê?’T5yÕª¬½ŸÇª­[WoÈ;óq¢¶½tS^KÂŽÃ;ƒ µtݺ̢’dÞTß½íOµÖÆÜÕ kwÆ´l*bSwí_@›k¶¤lÊÓíÍ}bý<ðð”1zv|ÔªK·ëÞÝ›¿Ñu::®þiïnßþõþÄîÿ5õãCÖÚo{.\ºv­wfÐ4§”àêÎI¿¹ 9ÓÊö ¶®ñÓ´¿xKäþ¯ÿôÆ¿ÿç¹–6Kêª9N_VyqqZtÂ/øxÑÿýUÇgµWM]—;¬Ñý·d,ùÅò¨è'3Îó¡c:’Y­Ëß»=Bi<²~ufAÈÞ °Ô×iw”üW´î\RX•ÄÔ=@¬µg´ÄlÛ»3TɵWnHÉ, Ù»YOoª7Æ–l_¯4–ÿjEv³c×Ît{é_¥Õ&íL`o ÿT¶0»ÒJ>Oк¨8~ïú%9G–Æî˜xØ7×TXØ’¿ÿãPÌuÛ ŽÔ›#âÇ$pƪ켦û?Ušk6¯Î.¨ÙOQÀ›j›#ví\¯cù¯VV%E'áX´ÇÊwŠZ3ÅG*‘8œÎŽkÝazÇEÏ‚(XOEÌzã«ï.9NSwïÇG[6®}U´q‡>ÿòàg'††Žž8¥ê6;è'¯„ùyJ…æ½DK¹È³®-;|_=bÔ\0õ9N˜<ýò•N×c˜¬&»›‚”€›¡ š'£}¢VÓZœ]hXRr8)€6V®]Wµ%6++fi6“_2v(¶vlPXë¶L³@ßRÇdmß©µÖm^±)³<£dçÇjkÍÆ¥Í 7j&¼zŒ†Uã]"qâ/¹PСé9Ëë×2ön¦¡}çׇPlDŬ¡‡"pÜpÕDq´>HŠ¢—BÁP2O77Ï¿í5½ÛÍšì6£¼'!@ ºR6D‘ ‘Sô<Éœr¤8ȉ½œ—¾Ú¾Ú¿:Šƒ½À ‚C D È 'ÈY¢sªèôDOAâ.ŠR‘D|¦™_|™$œêŽfŸË $@‘@@‚BÞíÖ¥yµK(õð¥Ý=är9Eɤ)92ŒT"‘Êd¡3P·$1B êh ±°`¬?Ò¦ỈV´0I_\\oL W+j¯,g£2¢”žÃf–·.^享▄(€ÖEE©ŠjÚÌIñ±9ûÃA©eHlUÛjáê˜t‰ ƒhJÚ±1(iÞ ŠIŠÒ€R­¡š,,×VY Qù hPG%ÅPŽ´p±Ñ7•-Ùï¼™Gæj<bŠEsciQ•£Ç2j2´ì¤¿¿¶ýò¥ÁÁÁ±StÂÈN«ÕZ_ÿ—]ÿöǯjŽÙ†x/Æg¦Öñ)Š=²}_ô~ßî˜ý‚àë%ú«8q¦s ãü悤«opéâé>j)AJ…줼t¤¦ã¶Ö³ìàÆ÷_}s®¿R!ExašûO¢¦|yrðJ—÷š÷~ãåå¥ROyRUć5«©²E—¡mBþþP*¡€ Or…•.ZÏTµ[8ÎtO±vSNZ_kÐ$. U—¨/,›@’!ó`HM«¼¼f\¿ÖíüUÏ@…a#‡î‰™¢"ˆˆàúOEEä }™ô ¼ I!’0âÀ€Ø^ì:-ô| Ö=âàupXÑaÁ fÊÈ0¹ìewi¨Rö•v¯î«2¹„¤IMHD !!HœüԮƩ½§&ì Æì=»‹ ’û‰2!¡¥R‰T*£)¹‡ÊÇgÊ™Tú(瀡(†Eg,ŠR~^<\T±¼J?¾VÄ5—VL–uoUV¾Ê[R7GÐ@1ZÆõNšÑ2PÏò榅ÅGÚXÖÀó 8¶å)ÕÈW»*f<E©©á/r½Æ[,<Û²iéχÿɳ²7úô’ü˜‘’7”nØÐôEõ[¯ï‚*$.}[z4H™ ‚Ðh§yz«[šÏL:ÅÝMùûåË—+ÿ¼ïèá²jSÞ:Uãy¾®ÅÖjÒiúß[HÎÒ©.tÒ6~Œ=Òï~ö²‚³u\4V}ÆL[éù‚Z. bÇ5Û鳯ףüíWMƒílN)•’FãàÑc†æ6ÖÝC{öL“§‡g€N ðú A¬±–§´ãC€›#ÿ^cí¦ËE; Œj$ô(• x‹«Z9fûEQc£zÂðksUaQe‹…Þdð»ž:4mGNEqyắ‹INOOŠ;V“3Ö×xàYOÅÞØ! ¨',tÖ̃¦{{yL×ùG„ÍVºß| ö@{uÿo~ºô5„¥·ßétþåÛ3Æk]!Á3ú¬l·¹·ÏʺZy\Wо Óã §Ï9O\öüö‡îAxz0s^ jøîœëŽ>©T²*&ÀíêGÃíCŒæ‰濫²J2ÂG~i|KaJ¦åö%¬ÊT]TXÞd‷xÍ=•V·‰ÙqñGüÞé1?û‰®#î‰÷q¡¸ÃõaևЃ#Š;ÕE$¢H‹¢ÂËË]¥òøŸæë‰ó©sp’BB€H€@€ƒa'HˆG)T4 àïÛc²sÃErñ´´ôùXg‹aÍF“‡Òk¨õZÎb²¸XgçÖÍÛ{ýè}¿qyì±Çm6ÛA—+äAb^yåå?Ônë·™å¡0Op!a°H!,ûB8²`Ø|yˆŠ0 fÅ`‰ñØ‚¹ØjQÚœøW÷'\ˆáöÅ„'–ß4;F,ã=¼0ãÞùô,’åÂ6ûñ?çÑG»ï¾û5))7ßrë¬ÙqWáf/‹­É´z5Óe²zÀÝi\»¾Æ>µ]”­E ÙÜÇëìhqPi™*òüRM2ÆçãˆHÙYg—ÉÆpL¤ûà873eåΖ OoéôÈUjÅ™­IÎÍ•¬’€··ÅìÎ˱ȄþK`/›;‡& .ÁS¿󗂈|Äw»ûù_|eÎÍ7©"Ñœ¡á‘ƒG<ïô}ôêo½¶ÿ?{;»7k¾¾á~\±½ñ¯¿ý±×78‘| æ%,M]òž½ÿ°çXDò%/V­MúHì}?’± ›}!°k£E=¥‡eCÐÉ ëî6µ{€}ýaÌ& ¯Q£¸ÿxVí1n63YâùdJÃ0]?ÜÀ ¾>â}ÈKïÿ(ê8§Ç‚‚0¾ÇŸ  Du‰”LûŸ0:ntT)bçáb^öb8"La%nÿ„LýÄyø°çØÉS~–åA É,EÏŽ%I’ã¸á‘ÀqßI?3Y´3Š$²¾˜”÷AüÉ7°0 XÔ,ì>v‹þZéèCžYî9A}}Äùqá~+Ò|ˆÄb1ADI¥|ll˜çƒÁ ·ãîâ °6Àò¬Ø=B|6D$=§$¾SÄÑÁÄ¿¾…‡‡n‘»¾™í¿eÁ¬þOçXþÛ×GúOâ<+‚Ž 0ÖŠ pœ—|¦¤\ìlF±Ð—”Ê.X¢ˆOˆŽŽáHq|Žx‘á"\$Â1l|÷ô;#np0 »ãŽ;´Ú/üå/>yôCíÂS_JÅæÍ @„ 1¤ÇOòÖ¾‘ôÛcfºÄɰ´83rêÙúžï®þ—îM"%"AÂ<ÿF¯ç//~*_°ôÑœU &¡‡@\^„Zk ÆsÂÍz8ÔÞ€fñýZÍé_x8…Ã<Ïó'|o¿kÿÄyèØ‰“‰|?¾ÐK¢2áë÷ÒÚ$Þ# „p1¤ÿ¦ÎB’ñy©>âüÚ‚çT}ÂT£"'†íG X, H2 âNÂ…B¡P(òw0æa|ùøx‘H)c_¸=¤_~,a¼ŸÁă§x’GIA,棤X4%!$$IF‘QQQQ QQ$IFEE‰D¢HÀu|w>ÔÉ@L I’)šÛþú×]Iò“_¼™œ'Æã"æ?HŒ™Ñˆ"ÇéXlŽá߃[k­=#ú‡o’ů~²«ýÓ¤[ÒË]sëm ÑI"—þ€Û_%Œœ°w›°÷bôr8ñÏú!&O^ŽáK@à9vÂöþ[ßGg8q “Ü—›A»f7ÃØ>~Øì…ØÒØM_FÏTqÝù@àܪ/ Ï󆎋"{ Ÿ£7ºy€Ã@,±X ˆÈ&£L“ØÇĆB¡p8 †B¡P0B"!£H’ŒíË‹lÅŽãÏÃä]§…±Ù€Ÿ/ä™uû2Ñˈ¸‚‚pðàgÍ»Z4*îè ìÃÃ’ÄEqã;¶ÁíÄ IDAT„ÂØKP1ÒØè0/̬Ó0 a‚|¬zP¢ Ãø³µkÿÁX*Êî8™õÕ§žÈË_´h±H$¾Ö$²5Äçž9· 3°O^ØAAàÁõ:DÍÂä·5K¸ˆiûêE"Q,3oŽLËß"óßs|nÀ‚{ŽƒÀ&"@µ »ói,áôŒQíTq=2}›Œçy–eý~ÿÐÐP0Äq<::Z+“FIEb1vîöàäÝÿΫU £†x^àùðððÈ Ð}ð  111óçÏ#H’$IÔ›‡@\¨Þ–eñó Iཛྷƒ½y`$VJ>* €Ëc,r9)ÆOqa 3†c%…Œ/âÊ9’?uñxfOHPд\,#SE .;øœ[„û °ø!¡§¼À SÂa+&Ž‚“óN +ÈoY*,:>gÜ‘¨/‰“å’¡ÙÁ#1ÃïKÃ$ÏÀÉ@Dï6K…}ñÛ z‹¦ÑF Õ‡@\§þƒ$§k)†XöÔðpß»wïŽ4“’’òòòȉäì‰ì{ð¦kzžã„ñsp€P(ðû{ß{/''n¿ýö¦¦&iì¬(‚ˆt6žãú344/ÓšÄç‹çŸîÛKϬ ªñùñ"ÇAö¯û†ÍœåøP^Fü'Úþx%RÆG)fâcƒR À 6ma&X²Hô£§¢qLx¹7ü÷¿ÖÏš-ÿêWWFEE!á‡@\v0RIËðÄ{„ÍðΟ`è˜À ¡0`<Âñ÷GÝ"À,€ôi¯‚a’hˆž7»ý),*=XR}Äõ ?Íš–Ï úŽûÙOºÿþÈ—sãã³23I‘ˆÄq‘XYÉs\n ‚ D6Äà ²ž 6º{ƒÀóãÓÇ Ã"#E#«­DRòcD®‡GüƒÁ‘‘ˆ%‹aèÔÀÈ`c8.á8†ã£²3R† i#‡¦‡Ä … ápè½wm¿ùõoòdøæøÇn²¹søÀÁ¨Näsë› ÿø8† Þ¯}@KÞ¤ädÒÏã“÷ñÃ@>p‘wKÖ?~­×ñ¯ãâbï¹7 ýÄ„”a7}>ˆ üÌX8ù1øÀÐ1àübAÀD2,Z.Pó!nÈæc”¨Ä 5®Hõ!7 xTÔ”ENƒGK$¿øÕ¯º{zŽ9²u[•Ùlfyǰ¡`ð¥—_þôÓO%É#<288XYYyâĉûî»ïÛßþöÀðp|||8†B}æliiéííA£Ñ<óÌ3T —Ë)Š …BǽÞP(tðàÁ?ýéO bÙ²eO>ù$€ †Í_´Èl6ïÝ»799ùG?úÃqñññ¤H484äóùxžÿýïÿÊ+¯Ìš5ëÉ'Ÿ\¾|¹Ÿe¤DÔ™#QÑOÄÄ©SÏÕU{ßyä®Yû?€Ö×E [õúœ¸89~„ðïÿûS~`¹à§Î#³ÇP'ß¼bÅŠ‘‘áÇX­ûÿõÏŽgÿò¶.]ûÀ’Àbeˆ.Š„}R²bð<Üœ$mj•ågÅÇÏ]|S2šŽ‹@\YDÄ.ÀbÜ}KCFˆ@ª¸q¦êëãÃá‘¡!‰XüÇÆFÍ­·~Üßsr²ûÈ‘|ðî;臘¦bþÁÁÝ»v™÷쑈ÅýË_Þ{ï=žç gÿþÆ;¶oß~÷]wIâ­·ÞzòÉ'Ç‚Z{zv65}-/ïG?ú744d·Û¿¿qã¡Ã‡ÇÏ9æñ<¸ì!ޏ(çgŸe|éK'Ož€7­VskkKK‹ÀóÑRi€eSUõÇ?ý) FÖíÙ¿ÿÙ_þòÿþ¯QŒãs‚¸”æ&ëjì°¹€ Õºüâ’ÜÙUùmØÞÍ+6ZNÀ¥TiùÅ%ù©ç“;Û·-Ïà+kÝšJžw~în³K£_*ŸøÓ´zmwak]º ÙÊçÍ´eÙ÷ß{÷Ïýìé9ƒÃü;‚›6ÿ"{ùŠØØØÈ9‰‰ Ö­['•Jk~÷¿ÇŽðûÿÙÑž÷µ''^*::F­V«ÕêÇ_åv»÷ïcï‹/nÛýž2n$k)q«*ÅbÀ0 aÞüþie)Jâúð¥ÏG?Sd˜7/fœs‹¸"ø{·o4ìvÑYÕM…L‡M¥ÏD[L#>¸[V¯é,h­Ë¼÷sÉ©³ÎÎúšÆ.›ËÇP mZ~a‘þ ø|¶¿½ª¦Ñb÷0¡Ðdäë“Iô«#Õ‡@\Ù¶áÙÅP(Ä0ÌA—ëµ×^Ãî¾ûîC‡}éÁ_{õU„®Î}‹.$ ‚cYÇ1€P(ôÉÇÿêÙgçÆÇ[,–?<ÿü©-?ýió®]$IÞuç;ž0L’$Fãû}}/¼ðÂwŸyfhhH*•~ï™g|ø7U¿®úõ¯##±Ã/zÆ‚s·ÁhÑV4ì]ª$¼½uÃF£¢uëUADZõÞˆrc½½ƒ¡\Õ¼-]>c:2¥¨©™“]ˆ q[MýÅYKå%­ªm^)C’ïs(ùxžw~öéê³ò^áæÄÐOê+ûÖ—22bcc'ª¯ù‰ªo}ë;ò9ñ¿«©>ð¡cpÐ_W_—’¢ †ÂEÍŸ?_*l$µpᢅ éõ9Ÿ|òñ¾}¯týãÍÃKRo $Î ÏŠ sA˜'ÇžyTGñŸºÃ/¿×Õð|láú sç¢ßå¿ë鶸4­ÛÓeþÎ õíùY™JÔ´D ¦–b¦õkaeIesZ²üN«©Ê¸~muæÔËêÙ¾C•#«²i{ª€uw×l,5T©›7§ ãDª¸‚Lîë€çÁS/üýï|8Œ,Z¸P,¥h4Q$ɲìë–׿ûÌ3#ÃÃáPƒÑ½ŠøCíwH£¢/^üÒ¿þåt¹:480 •JG††âââÞzóÍϜΓ>ßI¯>êñÈbem{÷=zXûôÓO󛔌’ÉbÅ"ÑɃcª/ù¦›ùò—ùpø»ë×wíÛwôرŸ8~ðut`ò¸¸(’üöÛoGGE±@LtôÅÏíc=½B“©m%ÉS×U7é9Zàïk1m>‚Öæ–”ä§ÈÀiZ½¾';‹3uð9÷k>QÔ¼=SàïÜS£®mÞ pœ+6Ôé§ Q’òÔ‚BÝîÒv«s”æTÑ+Õ¶ÝvMeó–T¦{{yM‡ƒ#€#4+‹KÖ-•³}5kFûúü½uåÆ=v€Pè JJ"áDwç¶òš‡•®°¬,ÃS¾¾ÆáÃOAõöÓaRçîõ‘¾>®{[iU—‹J•QT±é é9z½Ñ\ÊÊr“I¶[žÁ—ŸKtw:<¡+®Ü‚º®>Ÿ÷•—ÿuØÑ½þÛÔÁ㢣ƒ2ýcy4=EÄ`nBB^^Þœ9ôo~SýÖ[oY,ÿ^»ö›ƒƒÌâÅ‹‹Š6¤¥/£¨Ñϸ\”J¥))Kn»õ¶¯å=ñÊ«¯¼ôÒ¾¿¾Þ¿xΉÕðMó°ùsÂ"œÀÔóqfäÔëýûZvÅãë²É‚óŠâÊ(¶æ|YY`³y|†Ê(®Ü”.`íUåõ@©³ŠË6,•ƒ¿s]ŽI[¨qtÚ=£ZYQ±nR¼ÿ´Y¡H+,+ÎN"§ÎtKŽ*Z·¤’lßÖ<WѺEmÛ4фՎ£±Ñêa€Ò®,.Û.pwo7F,ŠRe–¡ÕØþ–òr“ÍÇ­Xø{MåU&» ÔE%›ÒÁl0ìöpP¾&_w3g±1`Ïûæý·Ÿ|Gºµys ÞÎu9åLQóÎ\%@Ý]ÅÍ[5®HqFHŦt9x;×å™´«èŽÝžŒÚ† ûTµ q麫¥¼´ÞÊÐ •6[=>Ôe s`{6­¨¢Wi=V‡ÏçaT+Ë*ÖM”fþ~s•±Ñꈘ(Õµ.¯^SÛ¼!ò¶:ëžXk+h®Ë¯½–šFOZYó¦Ñ¸®,)}]%Íä­¯Ú“»3LO¬íÎXEÛ¬.ŸÏGh‹*J²“Èiʶ9§Š.HóuÚ\Î(«Ü4i ãqøhm¦&ò©L/ªmÎ'hrÚºëÊT#×h1"â&Âɨ( 8NLÇOœNø|†ý¨lË–Íÿó?¯¼úª0<2Â`‘=å'ÞãAjôiÐUºqkKgo¿—™R)'ÀßSe¨grk[ÛÚÚ ‰ƒ±Û@ÀØ:åEÍmÏ}ýÉ Ún¶y#¾Äj¶ÓYúdn†TÓJ¾p@@౺2«÷½°%•t›KË»ÅMm/¼ÐÖTHì)7vû'4~ÛK {ˆÂ†¶¶¶ÖÚ\_½¡¦pš F{zåÞ}¯í­ÎöÔ”Ö{teeiUÙ´}ª‘1l_}U]ÒÜÖÖÖÖ\–îë´8'÷wW»èâæ}ûöµVhí5Æ=n|ÖnºpûŽ»šŠiK©ŸEwå!Èq|`ïØÓôD†”ó=öà_z$11ñì=ô"ÿœ=;nùò¯[¿úÕ¯Ð4ýñ'Ÿ8Ùc}û/¾xâĉ³¥Zdž.%(”yyOþö·¿ýÞÆÍ@?üÏ÷Õ-éþÄÞA/† ·/ÆîJ:øVw³ÙlƸ‚`£ €±Ù“ŠëvìÜÕT¬è*7öøGƒîºŠæ¶¶¶æ•¥´´Ý pŽ.wvYÝŽÍÕ®Ý5VïÄ œ{ªv3Mmmmm­Õz®ÛâbáÜ–8™‰&Ìõ PØ´oßkÍÅtGyy§œ¦Òr‹ª¸©­­­µ"Ýn4ìžlqÞ®ªz—¾º­­­­µ¡€êi·ûÁßm,5AAC[Û mÍÅ Ky¹Ù­ÔWV®RºŠfÓÖŸo]EºŠæÿÛüX g·yÀïèô©Ô\·Ýn»•QgkˆþÆòWvíÞ}ûö5@‡±¦— à&·ißÎ ÉÌ”µ qÉ8w—×82ª÷¶íÚY‘î´x"²oZsðX\ée;vì|¡¡€Û]>ñ5dûj 5žìêÖ¶ÚZ+uö*C£Sž–¯eºÌŽÈYNK£ÉM› ÅXG»´zݤ^=R­O£]v/œÝ"+¨Þ±sWS…ÖVeìòNW68¥/µ¸.R¶=5îI÷)×èµ¾Ýö–Î^§— åJ¥Œœ¾îº"ÕR}Ä&Mü€H€Ä~ÈÄÈd ’’T ª.œ3w. ‡Ï>Ë…Ãl($`Àp¡32rÊÏÃáþO>á0‘H6kÖÑãÇ¿·a3<|Sr²ùÿ(+/ßðýïG’Ž ¹fÀöî»!ž?yêÔ Ã ‚až»¸€ab‚Q" ÁcXD1b"Qˆç ©”ÇÇ×ÿ`­­­¯¯­¯¯{î¹ÚúúhŠ"¥RL,?}ƒ†,}Ksm‘zLåës^öèÓ[L=n`f è ²’HëòÓ[»=âJT™i)22Y?.û¼6³]¡ÏNš9Õ9;/zMõ6B—­&µ>M à··;èŒ\­@ž–«{»cÜ÷ùmf;•U¦R™‘¯å,í.Ömm÷¨ôYÉ$™œ_ÛÚP8C¤ž¤’(Înîèî÷²²”ü­[ôIg<§ŠÖæ²t9È4éÂ×ï‹ÐäFŠI©Tãñ!‹»:¸=žý–—døgºÛð0/¼ë¾ï¾´¨(éÔ•†€T}Ï=÷mÝúË ?#=ýŠ’M§ÐÆ×h¡(Ù—ÉúÙÏ~ög6Å-\ùúÇÉ»»%¯¿yýb±[²¿SuèÅ¿Õþþ÷¿î¹çöì1öé'ã[­\ Îaj}†@®ÍVƒ£Ûåwµ[|êüüÈRóõ Çh°† Ó²Õ2 ) ðy˜‰9P4 ®ö–Î>·ŸLÒoÙšŸLžÛ§h±š0ë0Û@—¯“€<½¤¹µ"Mî¶¶;¹ùKå@&gå«=íÖI­F‚¦ O§¹½×é'•™›·mH•±Žv+èò#ö&ÓæfPŽvû”íER­öuÛ½Àº:ŠÜ\µ§ÓÁ‚ßÑéQekddò†¦½µùI$(ué Î5vë´6[+›¶VAV‡¸d¼ön—"#;%â"sÓ";ÆOo„6W'Pê²¾H(#"à\íVF“q¶d²^¯ðX¬n™6WÇuµØYpZÚmþ$…Ç0 GÑôÞ_ÄTúŒddšL-áèt°Ó– ´úHÙhµŠbœ¾É¢ÌÞÞ\] fºË×ä<üÐë¶¶ôzgtè—¹¹Ž@#<ˆó‚™ôO>2LÃÿþ¯uÕÕr¹|öìÙ~¿hhè›ßüæÈÈȯ¼rìàA©T*‡#r¡jëÖ––<´tv~`³‘ªùóÅá°ÿÄ‰È sgÍò8ñññ¿ll$0ŒãÂÃÃ×­ûÇîÝ¡PèÙŸýLÖ¬Y3 ‚pòèÑððp$­„ç1Ž––%aüKÎï×Þv›Û鎱r–Àq h&|£©H¤l½b·ÙæÍÔZ[*}IpŽ™SgÙøð²±vž&£¸ºx© X Æ0>†#”9Þ%Ã}ú¨o÷úœŽñ, cœ GÐĘS“Éàܶ¤üêJªÑÔh¨)eÚ•E%Ò'u zm{jÛ ã⸬Ñ2AŒeC k»J„ÃaGÿGÿÙßžsIˆùpX8yŠŸ7_uvGßÂO"‘¨Õê 7Žë1ÇE3ÅJƯ;ëᇹë.Ý[o½ey­Ër`ÿ{Ÿ¾39¼d!v×Í!‰øÐ‡£¾ŠôÝÍØX9·ü£iú¡‡Òjïxû­·^{µkß»¯¿ë8tOŠäî[1Ý­¡P8täøÑ®ÿì­|öг•¿U'ß,K.û˜Þ(ßX›Žc|¡¦€RP„®¤yÛÒIí?¿kÆpPrö†­Ù" 1”—îÑÖN“)ÀœnÔrgIH‚¦ Î7v ëuz@A))B]Ø´#{ú…›È¤Ìu[2×-óÔ¨iJŸtÆÉ4MMÈ|¢5k3éÆn›ÕÚb…’ÐB‹ÕJW p6Œ¶ŒÚÚm)2§é‰5S=Þ³kÄ¥„_yÁÏ0Ÿ<²ÿíw?úØyÜw’ç½pÁ¼Ô%·Þ~[r<'‘œnÙ¾üú›=½ïXNFÅüàÛOMÜ È7pê…Ž—]‡JI"uÉ­_~ðÞñC:>ë´XyOž£$éºÔÌt]äï`(ôŸw?hùßçr ³c—g¦Ý´p3<Ìq! Ã(*FtQ‹¨œ›‡}Ühc s`{`¼ .òuZ-ESœ‹áÆ­‘*‰"TçfPͶþ”NîLѤ:SÆ«wéiç¬Ãlñ©óµrà8Æ7æ7GÐ5MÙzÏ}Ÿ¬»×â téÉ2RžœYXÔݱ±ÇÅf]ÝjäºðD ÎÏT¢¢&~0’I¥#áðCË—õ±ÇžüÆ7fÅÇÏ™7¢åq —”|õ±Ç¾òØcÃÁ`üüùa‘(ø?ÿùw¾ûÝù‹©5š‚ï|§uïÞ{x )9Y™”Ô¶ï¥5O?½è–[äJåšµk_ù÷¿ÿÚ×V>þxìœ9 •*aÁ‚ïýà»Z[ ¾ó%wÞ?þâ[oMËÈHX°`þÂ…+|åã?øðÃtB‚Œ¦gÏûPöò¯>öØÊÇŸ3ožB•D+ÿg2ýæw¿Óçæ&©ÕsæÍ»eÉ’ÕºûÓH™ ’žqƒx´7–J[zÝ‘¢¿¿½±Ã£Ðiä¤Z¯å,&‹€uvnݼ½÷ì±TÊ4½Âaj4¹Ô‘Q(ç—ê‘iõj¦«Åæpw™l :zTãë0õxØ~ó–ͦ~”ºl•§¥¥ÏÀ:[ k6š<,ÃpSËßÎÍOo6;Y)Ô* &ŸÆù|¥PÑ$€¿oÉÎqÓ\q5>anüý_ZŒ}d(:‹‹ÍÊü²^*•^• Rd"->wn—Ézæ{¿ö ƒdîò¿Y¤;ö޼Òê~7üñ>6Fdûϯ½ö*3MgÔ•3 GK—“·Åì 4é ™*3¶5v8Yo÷öÍÛ:½3fàïÝúô†È4UR©N¦§Ï”¤’(Æãòx­fÛÙ÷Kª³u`5u¹YOÕÚµUVF©ËV¹L-}þHf¦Í[Ì“&ä°ýuëÖEjR®J¦ ‚"rHõâµµXMö­Z `ô‰ÓZ-a5µxÔé*éÆl²pÚtËø‚NVÈXw·©ÝgYóÔµ âba9îÍwú~]¿³â·Ï·uZŸ<5Èø™¡#žãÿ~óÿý¿][«:-=§ü§_÷±ã¶÷üç]û»}x~R(3 }èpþç]{o߇x&:åg>èÿä?ïÚÏñ9äöLТüqïÉsŸÿþG¤`<å÷â<ü±óÇ]¤kt O—¹¯ÅdÜñôæÀÙZ,^`–v­ÕŽ/IUve7EìÚß×ÒâQek•íIÛê«ÌŒ.W}fMÙÎ ™¼¡¶’¨ª/Í«òq@(4i•ez%d_µjäz hCXÄ/Ö.ð<‡Ãá0Çq,Ë ó|˜ç ÇE8¹ÈZ8Ž&„0Ï æ#ÿ ‚€ãŽ‹D"Q¤ägºØpøÆˆ_Ä.í8Û¯AËŽŽ>Gý×Ì–è‘°,;88Ȳ“C2%“ÅŠÎo¥ááadˆëÀrÏàS×aãöžã'@5_ùõܯܭM7ÞÃîcí]–¤DeÚÒ;¥Q§ßÛ?·¶íùç«Ã#¸Y²†_—‹Å§èèqï¯ëw~ÐÿIt´ôáô¥kŸÊ?dí}¿i÷‹ÎCn*&úßY}ךs×,ǽôêþçvþ Ô üø{ ñ×Î`A¶gÓ £j|†óÇß½)¯~iÃoäî4­Žìc„6°½ö,õõ!ç ‘œ9©F0]+ ;$‚ ǰ,-“aEQ³åsbbgq†#ÁÄ‘1(Óy€dìœ)OƾO“&$?GFpƒ¨>Žñq…P¹1úZŠxF‚5$IÎ=k—ö+»yqÍ3`ß´õE$_¢2!÷«ëR—LâäbÃí"§bbH’¤C!H$’ñuáQÿ¿‹/ªO|ƒ ‡6’C Ä5 úHB›róí·©ßéûÈ70ø—^e††¾üÀ}óñ0È íûÝWþý!‘|íÑG’'ý×MÁÄbÑDy‰@ Õ‡@|Îàô¸ú(çÆäékvü峃oëzñ¥îÙ³d8Žú‡†GFÇq±X”ÿØòEÓÏ»» †G5ïÚóO8kJFêí·=õX6ú]Hõ!×#hå@ þà8–´`Þ÷¿•ÿ¯×Þx×ÞØsœ ð¶eÅ¢¹rZ›rËCܳ`žâreÊóü!÷Ñ©U¨"ý(¤úˆëÔåH¥7Ö _ú^ÏÞî-ëË»|ª§jË’ê7­œ¶¸a»~æíÜÝf—F¿tò’Ѭ³³Ë§ËN½À_ÙÞÍ9åtuó¦äKÛÁÛ¹.¯1³é‚7¬½DÜ-«×t´Öe¢ýnW€KÜOù*nÇìïk·ÙÓ›ñø WÆTý½Û7v»è¬ê¦Í)äY™ú»×åÔ¤7ìÊOB/ÕC„ãI æ­~ü+'žGáø{ëÊ{ì ¡Ð””èU®ºõ¥] ¥O|<<ò´m\ã*ªÞ–ÁµWë-. (m~IInŠŒíÙ”SE¯TÛvÛ“×ÜÚ×àða§ zû˜ÿq› w{XÿD_qíVÏ\el´zi…eÅÙI“[]Þîmc‡‡ šŒL†ƒˆô÷µ6AksKJòS˜–ÕkÌú±^¶wKN)WÖ¼Uëk¯*¯·x8JU\¶aR·£¿ÿìܽíOç™´«Ô«Ëçópꂊ²ÜäI^5’¹uìš›Òåàï\—cÒjvÇèVVT¬K‘ÛßR^Zoeh…J›­F«ê ®ÎÝë×v¶Öi­ër#¯¢ÃÅ(V–ÊÛÛ.£Ê¯¬ÌOžñ ?Û¸dà6­^Ó] êé¶»\Œº ,—kiìty<œ¦°z«^9U½‘LºM«×të UÝÇê‚ÊŠ•\ãzƒÅÇY׬î­hØœêëÜV^ÓáMUV–«rÕ>¡riýšÑ¾>¯©¼Êd÷„:£¨dSº¦¸~îäúãìT`6v{8(_³:«¢aS¤¯íŸiu:¸­Û6ºì†Ò>±å©n½uˆËàq­5õMYóæÑ¾*yrö¦JEŠ(öJ*Ívcy½ÕÃ¥YYR¶.U¬ólwéí\—gÒ®¢;v{–>&tþûÑór²ReÔ6LŒ_œ!{{êÊ«öØ}­YUR±nb̘LÎÍUï1™ú1açìjq©r+’Iðª4ÓÕÒ_0Úaê4›}Êæù¼¿8h%Yâ¼ÀD¢êsaOÇÛ^jØC6´µµµÖæúê 5}¼®¶"¢³*w5=ß°EC( kwmËV:K«ìÚŠæ¶^h­ÎõÕ—Öô±«+³zß ß(/K£è¬Ê¦íBŽJ}EIä[3©¾C'»ºµí…¶ÖJ½ÊÐ8yó]O•±‹.nn{aWm¼ÛÆ}k¨grk[ÛÚÚ ‰ƒ±Û¯LËUyÌwÄ£ÙÍV"-_KôÕªºŠæ¶¶¶æ•¥´´Ý;ÁïM;Ap®.F_±cÇÎæj½§¦|Ϥ2±ýå5®ìÚ½ûöík*€cM/ pŽ.wvYÝŽÍÕ®Ý5V/€swy#£zoÛ®éN‹É>Ä•‡Îeár+êv6W§yþl¨‚Ê;›+u®Æz;Ó>•qE.jï¡ ¶×íl*ÓØkJ[èâº;›JT¶FS;e½ÁFRµC~eÝŽ]Me{}½ ’×UªuqÓÎÍ©¤¿;bßûöík­ÐÚkŒ{ÜäÄÆ—ó÷wKMPÐÐÖöB[s±ÂR^nvÃTןÔNž*•R_Y¹JAè*šwnÞyf¦œÇÚ·´dWÛ¾½Õ:ןk,Þén¸dýåè´ƒ&W7©K[žš*¿raÖVScÓT´¶µµµ5«\íV/°SºK‚Îaar›öí,Éyâ|ì„T“†]œ!³½5廡 aß¾}{kõ¾?—7öO6>eF¾Æ×Ñ2j’l¿¹Å£ÉÏku)ú °˜ììèÁ..MŸB|þߤúˆó´üÆú\PØÑf¶SYiJ •ùZÎÒuã¶Z\Š\}Š È¤Œ\5c팜J¨õiç3²„uµ[M~V d²^¯ðX¬îI'tÛ9µ^'29#W3ê%ÍÐD’Éuùi„­ÝÎN}~[‹•HÓ«ÁÕnñ©óóSd KÍ×+f›÷^{·K‘‘)gnlqUtŸ"--™ éšPeê’FÿŸ/ò®Nÿ†Om\«ÎLS€L‘Bªl…Šb<Ì9ê B¥OK"@¦J¡Á3–ÿ(²ôŠÖæ²t9È4éÂ×ïc§n·[A—©UdÚÜ ÊÑn÷à ן>ÕŒÐiù:%ÈÔK„ÏÇ\Hň@\ãcšž^…øö¬]ñÐ8+ Ö‰ÑC{ùŠextÛx0ÂU“7ñÈê–‰®(ÁØÌ=N/+_ºaëæL9;½»¤µÙZ\˜“KuɆ dê–ÖÖÊle¤ÆÒÒŒëŒÙŒ ×å븮»X»©ƒÓåOÑ„J¯§¬-6?ëhé"2ôêë@ô¡žÄy‚ÖðœÆÇp¾Ýës:"•"Ç1„Πš¢!Æ8 è±áñM7ZUŸþvæÜŠ«)šÆÍ°ã±AÎÇôØ Ô詜ÏÇ1vCÎòñ2‚†a@®ËUW™,îÜ,—ÙFeT«I°ûÎnÌ[^5æ^AåafÌJIEŠ@RJ ¬Ì¤>:ÖÙU_ÓbópÀù\Üø"s„œ-81–„rô$¡¤zÃWCöÉGß:‚bôŸØÌ™þ ŸÆ¸"‰Æ.AA‘—š8g½0væ4xm{jÛ ã⸬iÆ>GhÆj’RRœu¬TÓ_ÿ©fz~gÙòô7ˆ@\š±Ò4Åø<¤LÓµGeU6ŽËÎV¾¦êôÁ‹œ×G¦ÕVìnl©Y_åâTiÅÅùf:wIcÕÅ…8ÙÓ©.Õü}5õf»ÎãíYgÈ´ùÄF“ÍŸªµµX‰´ÊI‚“HÊÈU˜LV¯†n±ÒúZaEª¸aD_0ˆÂtP4E(žjصnòúuSµI*‰›Vç@h(æÂrã\ 7*óTÒ$GAPç;ñù8PD¼$UÙ¼ùL/©ËÕÔ˜,ýŠ^Q›LK)(BWÒ¼mé$¯èuÌ;7®=YÆÍEM±ÎFƒÑ–Q[»-Eà4=±¦szwNÀ¹¹q•ìC#<×Ó¿áÓ—û¢ê ·ëÜ©üÝÆRQÒЩ$Áß³)Ç8}ØàÆÃÿ,ãdzæÐÒt©˜ËW1"— ©ÊÔ¥-]#oÏöGfq¾ ‚¦åã£=YêòtS‘Ê¥ù›—æxûZÊ7–Viš ¦t—þIF,?O'ëw]FCfûª 5ž‚††Ü$ؾ­9}SéØÈš.ý\»•Êj8³q LËW×·tY(›"·Hy}ÌÈE#<ˆóÃn¬Ï… Óê5¾S€í7oÙlêŸf“R—­ò´˜ûX`-*-SufmJÇ0g‰‚ãÜ ¤*;²›:œ,øûZZ<ªl­r’?LWƒÝluÛßÒ‘k¤Z¯å,¦ÈôÖÙ¹uóö^ÿ˜Gò˜M6…^Ÿq§i´­1r}ðvoß¼­Ó;áâÓæî³˜#CEíŸ*]=ÁŸ±Œ!èd… €uw›Ú=À1Ó‰9¹F§ðtEž×b²2Èö×Ó¾áÓ×e«7à¸HÔÞçã(…Š&ü}{LvnÔ–ÆO8]ªlXGKåµµXM¶fÆåJ/,ÕY™^ü "âtÓ‹ 5Žªõ›[zÝ~ÖÛ×¾u£¡ƒ¡é+·"¯³eÃÓ["ÞP®R+( Îé.'ʾów²—f’ãA*Ÿ#"õëì2Ù˜©Iú|•«±¦Þ¡Ê×'MYpW}]}Æ ÊÏ1¨¯8/hç†s Ï.«p«Ö,g€Pe•©È)ûú’VU–¸ËKs–s„BWTY”BN>“Tgê¨RCÎ+«›N/ Sgë8ãúö†E•EFãÆœF€Re”T®J:×d”Vå=TE+4Yze--©,0×/¯âF×Óu2m®Öc°¨ŠË”£á¿¢ÊâªòÈõÖæ—ÈÆ|™2Uî^B¡£Ì†ÕF—ÇGi‹*&•‰Tçê Æ¼å5´B­/,~Êa¨Ù¸EU9åÊ/+´—n|x¥Pëô*«½`—ÀðåØyS¾ác ºLm\ÌEÕS¤µÙššú¼å=%M…«ÚË×çtÑ´B›_TœVZ^ºÑT[6vÂvýxEPRá2V­]^”zeEY¶|æÈ©S±3”ª.÷ü+Fâ2”[Ý@××4–æÕ0@©ÓVV6,UÌq±—¯XV>éE^ÕмaÆî³¤¬‚Ìžª5 €Rg•”¥’$Lå.ýgÅ?ÎÇÉú/È$g0d™®¨@m(Íy”VКܢ╃qý6Eæ3:ô”iùêšr›¦lÊedº|QÊ]?¢°@ €]`\¸\‚Àó|8‡ÃDZ,{ðàÁ{ï½÷ ewèСٳgã8êâF\fþK{¸_+ð€Pg•lJW‚ÓôÄÚîŒU´Íêòù|„¶¨¢$;‰pwo7Öt8J•QXV”©$ÙžÍ9UtAš¯Óæòx|tFY妥rô² ®uü}ÿ¿½{jêÌÿþá’s*$H«XŒ‚UùÕ5o©¸ ~A[ƒ­âZqíWêí,Øpg€™fª|ÇŠ•Å­E× Za·ˆ[”¢‹— ºµ¤ :r¹•5ôüþh@¨V¡}¿þ1$9'ñÉyŸç|žóœäDRRúÕ:Hì¾8jgô<:»õ­÷Ôã['³DÄßÜ»fã­ˆã{çryI i—ª8"Æmndœ) ʰºo꘩þ3ä¦;e¿{÷Ã#Ëɣ׸ÞDÄ8ÌX³zš„*þaã• ÅÂÑÓoø4oŒ<¾×_FDd8»õ÷ÔÔi}Þ¢ùâ\ÎömYum|óFTj¢ÿ£ ñ•½Iº¹û­íM«W0ÏÞª«kb¼£vÅûˉôwoO:]Ç88M]èÏ ä€mFœë€çÇPzE¼nï_?=7µ4eÇ ‡¨¿~òé‘·ëéGoðÄ“’Eëü+uYSFBzï©S ¥y´z×_?ùìHÜÔÒ´´ë4ùÝnŒ{Ô‘OcG?{ñ^ðêOXÊp1iÇQZwð‹/>ÿâx”Ó¥„„œZ""F(½$Y÷á'Ÿ~vdçŒëÉIçôD•Gw$\r‹:òÅ_üsç¼Ò¤íY•¦¨»tãwQýäÓÏ®N¦œ®Å–Ã3=!¥*(õ_GÖÑ餔ox™÷²©Ü¥¼*žˆˆ¯Ê»ÄÍXá-«=t}êÎqºšœ|©÷iÿ,uìâuÛ êx¬îs÷Ÿ+'"‰Ó41ãä-#"ÆÉMÌÕqDìïâÿùÏ]Ar"bݼg8pU}ça1nËæN`‰Hâ6ÍêšzMìªÅj)þVÞUò^=WND$™±b¡øV^©é ÖmÙÂÉ,I¦úÏ`n½Å×^Í»å´bõl±“¯v¯Ë»jªÅ3–yˈˆÜÝÄ\e.‚ᎼõÈ¿RWO`‰Hî=ÏI¨ªãHâ½bFwÙÇWåœãf¬˜!!ù²Ô‰ž&!"Ù 7ª«ë“Kɼøã©‘3èÊÑ„oü~þëŒ?z¥–ˆø[9—È{Ýâ ,ɼWÏe®ç•š²áæ?wš„ˆ¼ìaÙ§¿žSê´,h‚Y6\üq½Ifê S¸Ånnb®®‰øª‹¥‚»)¯ìä…+¦bS€Q3<`pÊ>qÏP•Ǹϥôx}É ·¼£bʈ&¬Þ3ãzÂ[K–,YòVÒ· ¹˜º #À䈑îWw¼ñûÿY”Y5[B¬ûêﺤ·–¼þæÆä*ÿ¨0÷º”mñW =eßufá²É,Ñ„‹)}Í’×ßüCÂÅi‘‘3„¬í;òÌNØÉW|øá:‡³Ik~?þüùóߨ~BX¼+õÝ D’Ù1»ÖQúÆ%K–,ycÛQavψJŸ²o…Û­KuSû}-.qòNnüŸ?5sé÷Mæ7öŸø¨˜…MÉo-Zòúú4 òcû€ÑÅâÁƒhx!ººº:;;F£Ñhçù;wîøúúÑËUWWÛÛÛ[Zb°žUåÑ?˜~.¿h¦³³³¥¥ÅÕÕÉ@r‘Ü!×aøËÁª+Æî¿Dc¯I²µs&ýÄe[m÷òî²A“šdbÔäêöØ)ÎéÚ¤Š ðü³ >µQ˜\\×0‚XÌ öLp³"2Ößý1ëRݶÏìzÓyÊÇõÜÝÆÃ7ý'³|M‘•2`rª•ˆ¡V´ì(†ª`$²ïâ°ùuQû‘ªý7d{_aéÞ}Yw±¹“ÈÒuâ¸í ¤Òú;Û¾¼ßJÕëÛ'¨] ú=ù Å-]D®Ç¿¿ÐÁÕڨɿ¹ÇNqpÎÃÕo_«þàZ[ ‘@Ö3_uyÿ³Š±“ãIÌZšÝ€ŸÀS›°úÓLï€á„µ]<ѲüVG|Ö©»×ìå©ï¼|,ü·>õµqÿ¹Ï¸¸ì˜f-rv=ø–ó$k!/¯Nëäö÷ˆ©ÿXã<®¼î£òö~VØöãžÿð‹ÔžÇÞyùØ›Žâªù÷ ñ­‡³u1ßòB÷ñg7ã¾ð  ê€¡%¶±"¾£õÞ½‚ÑÒWí¤Ddmã?“m¸u¯º×™eoNIc+&"›ùö] ý¬ÎÊzœUÇ…ÿ¶h›Û;é{!Î^æ—²’ÍÁN¶×*öÜ}iÓ²ßPQÅžÛíø†?ÌðÁš[Œ"F$p­$Î,Íì¾»«Ýæ%®ƒÌ'gÖ—×ï¿ÆU $²¢–²uëou¬ÝûjyFqóžÏj¬˜y¯ºlzŦ×ÛÚIß[Ðòö¹ºÛánïÍýqýù†Ån.SPU ê€!ÑfÈ©êò\0Æl­˜µk&/²1¸óöÛ÷šw~i˜<)ÁMDÔ^p¼,s€U2Rix4œ:›«êãòîv™¼ÙÑl†à½¦]çÛç/tdÐÇ]j÷÷wCÉ7üa†'ÀHÔÙ\×üÑçw¯ÙË6»3dg·HÒžu­•#"j×U~PÂYñ­D$­d9Ñ^DDÍU?œl!Aèzü²<¡®&úx¶ˆ,¥Ž/I­ˆÌç¶ÝÛ“óƒÈW±É‰ûàóFé\Åf7+|à s€¤ëÚ©ïCL7fæù^©«5±¡Áòú/«ßù¸“Œd;~ì¦WX"r(÷ßÚ·Ó ñaòµîÜþÌï²l¬]ÝÆmòyÿUåN™biïµ3NŽ¡NÕ{Ž”6‘•µ×4çµNf'ŠlìÞ[cgzâŸ×IñaŒø•vx¡;-üJ;Àȇßz@r‘\€až\D`4CÕ€ªPõª>@Õ¨úUª>@Õ¨ú`¸°FÀóê0üå`Õc÷_¢1Œ×$ÙÚ9“~bÓv/ï.4™àa£&W·ÇNqpN×þ#U\€çŸ]0D€äª>x‘,f{&¸Yëïþ˜u©nÛgv½éöŽÇ{RÃÎ<}«‹ËŽiÖ"g׃o9O²òòê´Nn˜ú5ÎãÊë>*oïg…m?îù¿Híyì—½é(®jÑñfò­‡³u1ßòB÷ñg7ã¾ð <_rù¬Sw¯ÙËSßyùXøo}êkãþsŸArPõ˜ÛXßÑÚñàìmã¤W§°DdåõÿìÇ5¶hÛÌŸÈ,{sJê[1ÙØÌ·ïjhìèguVÖã¬:.ü·EÛÜÎØIß qö2¿°ˆ•lv²½V±çîK›–ý†Š*öÜnÇGðìɽw¯ E´ôU;)YÛøÏdnÝ«&$`¤Â OÍ-F‘ cKÆf¡KwîæÊsÝ÷·’¨ït}ôÄÎúòúý׸jDVÔÒB¶ný­Žµ{_-Ï(nÞóYmƒ3ïU—M¯ØˆÍŸ`'}oAËÛçên‡»½7÷Çõ绹LÁà™’+¸Vg–fvßÝÕnó×A ’ €ª [›!§ªËsÁ1uH‹é <“&Y™=ÜyûáÍ{Í;¿4L ž”à&"j/8^–9À*©4¿{Í^¶Ù!ë—ü'Yé¾iªî ¢ÎæÛ59ÛÜLDVD|G+ B+YN´QsÕ'[Hº¿¸G¨«‰>^£m#"K©ãKR+"óÙdm÷öäü òUlrâ>ø¼Q:W±ÙÍ ŸÀ³'×În‘¤=ëZ+GDÔ®-ªü „'$`ÄÂ Š®k§¾1Ýd˜™Sä{}¤®ÖDd9eŽÛÿž«‰9ÔØnì"‰mè‚ñR²´(÷ßÚ·Ó ñaòµîÜþÌï²l¬]ÝÆmòyÿUåN™biïµ3NŽ¡NÕ{Ž”6‘•µ×4çµNfƒV6vï­±3=ñÏë¤ø0ž;¹lh°¼þËêw>î$#ÙŽ»é–ˆ\‘\€‘ÉâÁƒhx1‡]]F£Ñh4 ‚Àóü;w|}}‡è媫«ííí--qŠ`0uvv¶´´¸ºº"¹H.’ 0<“‹(Œf¨úPõª>@Õ¨úU ê@Õ¨úU êT}€ªPõüúX£ †‚w‘ á\õmC# .œë@Õ#fx -LY|˜ 0tp®`4ù>€‘§³³³®®Žã8£ÑˆÖ€A1vìX'''KK ¡ŽŽŽÒÒÒ†††ŽŽ´†¹ &‘Òôçwß}‡6ArÑç’‹ªà×®¦¦ÆÊÊÊÓÓs̘1h‡4R©D;<AªªªêêêœÑCçÛo¿íèè˜6mš ¦2>RTTÔܳÝ÷ ÈH.ú\ô¹Hî ÃàÀÈc0~ûÛߢûÁÂ0Œ‹‹ ÇqhŠ!õÃ?Lœ8% ¹èsÉýå“‹ª`¤î2Ð0ˆÆŒƒÉK¿–eÑ€ä¢Ï$÷—O.ª>€Ñ Uª>@Õ¨úà—ƒßëÕ 5ºŠZŽ‘MP(ñÝ·’V«­¨å$¾Á*g4 \ýíê†VFêêê*Åw€oÔiJÊjõÌô€@O ÚÐç"¹ðSp®`”j¼œ2ëµ¥«×ED¬]<'0<1·‚ Ÿºå7kVÄ™Æ~<î~ÆÐk—­K IÔõZ›A›[Xó{{]rà¬>²k^T+ñ5…ɯ-]·uGBRÒ!­ÐëÁŠ3‰jÕ¬Y³fÍR©#“Ï Ô~ý·RÏZ4Q*uFÍ“[Ã/0,*¥°†ÿyÿƒš µ*JÃcƒ5š5‡âÖ‡¬zgÛöØØmßV¯‰þ¨ Z 6ÔüeyHHÌ…æ~¼½<úB¯ßƒnÿmýún÷Z÷}Aqý“ß–pûokBúØšWÿÂöošCQ!s¯Þ”t@Ó;y#!¹¿. ÏÅ}.’‹ªYMndèÖÃEµDDŒ˜!"Ò—ü#!tÝ!ß_g•Yæµ\Y‘YÔøìåSÙ¡ÙOµ÷dÄ Ò¾úÚL†Úù…´’A›©Ñ{ü)mg€˜Ä g³³*5Ùa e‘i§¿úú«Ói‘ mBØÖûJ‰*åLJà3 Z>l¯Nî]묉 Ýúâúcxáê â6Æg_k "ÙŠˆˆZt§?Üu»ŸÂ¯ùÚÉrÏÅÓ«OjšŸù…ò¬Ì¼ªÊ>ÛªíìÄì\3{ƒÆ¿±]vdhľóµòU{÷®’ã¬0O’ ès‡eŸ‹ä¢ê€A×x&!©¨{ˆzÜɧ-è®fÊöÅfV<öô¢Tx¬Ý°A©ÏÌïÙùñÙQ!*¿À°È%ÝG„†ËÉá*?U :<)¿¦÷QbMöÖ¨óµE±¡‘Ù5D—S"BTª@•*$<¹ðéz5ÙpUø¡C±áa!ªÀˆC:¾âZYØ=¢f(ŒT©U jÿs(bÝaÓÿ­ìpâ¾BNì¢x8#‡×ìK©ðML‰Ry:²Ä:zª¢vÇ)µ)û4<ñÚøÀdS_ÞsÛPyÆ@D]F”Zåçç§RÇöé5h“ÕÙŒ,²ŽžQ)‰¾º”}ÞÔAƆªT!É—‰ˆ×&†„ĦÄG„……†%^nì]ÃfD©UªÀ@U`X|nO½ðr”*$¥áÖš/ìÙ­ÕtÛsÛÁcÇg‹L•þàdõcO×äUO ój>y¡ç¤›P÷—õ+—¯Y¿5.S×RNó·è•ËW®y7zÿ…úÞÉ­Ï‹Ûy¥áÚ®qyõDÍšC1ëW®\³råúè¿?]%É]ˆ^•õALôÖõ+×Ädݪ³Þ]WܽâŠãV¾›U=ˆÁ­ÉÞº®{ÿV››œœ[K^ÁŽý\@Ÿ;û\$U Etþ°æQÁ°DÄ><‡U™™Ýgè±æ|v2\é8}­¯!;ß´j,LJ.S¥üûLnú™¦L "^—’+‰9Yx&{·ªV£ïÕ9«wFzˆ}³RÔΆ¤ØSò˜ÜÂ3…¹ñ…ñ …O5‚%®¤Ù°÷PFÖ¡àšCû42UˆL›«5˜ö®¹Z™:@ñüS‘¥ TùÍY½¯ìá½úÊZÁ#|ƒòaÄWj/µÒ| ÑÑO­´…?=¸ÊkS¢³‘Y—/ÿ;-¤")öÔÃ>½&76ú²_ânõO]9(Qª½H[XÁóº}ÑÉ5ê´“g Ï$N¿›Th bH¨½\°;##7+Nq>aŸ–7݆¬Â3gÎì Ð&ÅžªQ¨eÚlÓ ¾ìT‰L¢@:†uÑWœUÒþ(¹""b&÷nN^ŸÓ}õŧ¼B½¤ž¡3[ó.Vw¯â£¿•ûÄ;rp÷Z©¶¼ˆ„Û‡÷œµÝtðØ‘¿îði(iéµ’ñAï¯h;s{jBÐx®ø£]gÇoúøØ‘c¿7±xÏžbîiÞ5C­ºbQXÂ»ý²kí}Ùë t§+ÐÙÍs„ÃêØ0Sp—&=Ú½q••œ|Õ•#!¹€>w8ö¹H.ª>B|­¶†ˆ˜{ÿýõ×_ ”«L,üú믲ÖʉH¯­íÕyTägT«®-,2LWû:±žáégÒ»'Òèµû¢÷1[R¢”O˜ÂHd¬ ¨6¿Ðà»!XÁ±^jµL“[Ʊ$VšºE‰W€Â Õê}ŒE¼2\åHD¬g€Z^‘_fpV©M]_–«‡¨pè8¬ õº"ÍŽÏÌÍÍÝ=_LŒ×ûÇrs³SÕ㈨E×Ðk«­¾˜Çù,Ä3iÙ<*(¨&"¡úB¹ÔÇCÄLšçï""¢f­¶Õ5h¦”ˆ¤3ƒ¦ÛøòåJD>K½ÄD$ö ò±Õ](ï¡õJ¬Úì²¾èÓé@‘Ë<W†ˆ±Ÿ"š›Û]}ÙëòÊ"N—§³òyîy †Â¤¤ü²~‚K[voñb‘\@Ÿ;û\$w˜ÁwxŒ:Œ„%ℲSÙgU°ÊÙ ÉÍ×é+4z"" c¾_­ÈÍ.«¬]='³ûoY†nC¬3Ï ŒLbÚ#Kd""A/0²žEÅ}wÎfý ¯ÄÝ˲9#”"³½;#^v&YÙ{ôÍ@DlŸ•*T!âÌì2~ºpªD¦ŽzþèrR²¦¿Sþ)}oŸëÄ2ÖPÑç ½A¢ |oÐ ¬¬ç¿ÁJX"žH¨<¼£’dËŸ| ‚ × ôî|t Šéî´¯FÄÄHdÝ}?Èááè//¶ç!’È$dÐóä¬R;ÈÖ|åù&$‡ŽÃ=¹¶""j/?{:§Úv¼¿ÏøVmÁ…Û-Õ%ÍDD¶"ó|Tä•ßmئ>Ùý·}Îí°Íã„VA$µ5=ÏV*&"jongì{µíy°ŸMOhl'u?ÌØŽ ·["ÆüýÍNüûŸ½z¯€#"¦ÏJ]}ÙæäÝ<ÛÏê¤Aÿû¼E¯MI:ßß‘ŸÇÚ´´pOvd&W†ä¢Ïå}.’;ì6UT}£ ëì;Éç¢hmjnh÷ÜÉúœ­±'o ›[¦½¹»Xkm戈DR‘PÒÞ]¿57· ÒjN©mk}÷²BkC;3p…ø$®>>¶yguÚv­Ôíóã‹D°ÜÙ#ÐWv9aëá‡éSîN‹|,MH. Ï6}.’;Ü`†'À¨#ñ‹ÜàÑóGmQaaaáÃ}“ly¤ùLú’ìó¤2›„àìÀe–T }á©î‰Ù•ɼ¼$Ù…DTS˜­ylüŽ!Á`ˆXEðtþ|¦¦‘ˆ %Ùù¥y—÷s» Stà@‘,x¦wë©ŽŠ Tz©bÓ÷.—÷4—\Æö×[E†;kb£ijx"âk4‡¢c‹<#·(Yb% ±¡¢V "ƒ&WÓkêŠ\åËj2ókˆøŠŒˆ°Øóz""±‡B?½06ùò€W\tg·&h•ÚàÅ’Ü×OR’aú^îÆËÉ—ã4E¦®ªB¢T>< øJ4‡òkˆˆ×egë=‚§KˆÈÑW-/;’ÏÆE‘0´ÄÊð°‰=Ô_+...®î.ùÈ~ñZŸGåš ;]L>>.—¯œ/ÒœÔ ®>®ÍÅgo DÜ÷yywÛ‰Hê9Ŷ:¯¸™ˆê‹óJZû¾ªˆ„ÖVˆqõ÷l/>©m&"N—w¡uúü‰ÏüK®‹|D×225RÿçŸÞI¬"0*69XŸªR©Bâ+ƒcT}Úú^c0kV䀻eEˆŠ4%âA)úz¿]•GwÇ#qfúï¯ÂÓÒ¶Èòc—Ι5kÖœÐØÂ Q=ó@ÁT5ñ¡ê°ðØB…¯Ü|yÖ+r÷:ê7kNx¶"*1øÑwTÅÄO/LHêýŸ}Ô¯E¨U&fì4](°e÷öÀ:•J¥ M®™à%!"bdJEáu ji’> nãS”¬gäî Ì¡0•J¸U£ŒI 1h8ú®’W–0ƒÞ€0$\Cvø#"¢–³îÜu²œˆˆlgnJú_¯G×õpÚœbÆgþ8ó%}|˜k9:ÑüMk]‹cW®\I‹É,®âQœÜ¢¢¢åË—Ñô³Ý÷”øôÜŠ”Ðõ2åÚ˜¸ *gÉErÑ玈>ÉÉÅu}£ë¬TÇ*Õhˆ~G±6fç*e —㓟ë¨T{$8¤ ‰Uޏœ×e¦h<Öþ ç Ff¼WÐf¯ 4Däê¨J•Ÿ3‹äú\$ÉýY0Ã~$žOUò9ÇGM?ñšŸ:YÇ ÞG›òÚº\EL\ #>p-ÖªÀ§:pDr\$·7œëxR¥P'Ÿyñ#¸¬gTnîÏxºWlîåX|z€ä"¹H.’‹s}£ª>T}€ªPõÀ zÿ^+Àsºÿ¾••Úa¨ñèfiiéêêŠvY¬­­•J%Úa@EÝÿ¾üòËh @Ÿ 0È[2š`ù>€¡å]dƒF€çúPõÀÈ„žCâª/~¤†œë@Õ¨úU êT}€ª gs·´ìììD; ®ÎÎNKKK$ÉEr†mrQõÁ¯ˆH$2h€Áe4E"’ €ä"¹Ã6¹¨úàW„aô@CÑ1 ƒä ¹H.À°M.ª>ø±³³{ðàAWWš`°tuu=xðÀÎÎÉ@r‘\€a›\T}ð+baaáààÀqš`°pçàà`aaä ¹H.À°M.ª>øu±±±±µµ5 h €Aé~lmmmll\$ÉÎɵF ¯X,¶´´ljj²±±±´´´¶¶Ò/1e:;;;::ŒFãýû÷~Ç>É3fŒ••’ €ä ¹¨ú~ŠÍ½{÷xžokkÃWK<=KKK‘HÄ0Œ‹‹ËNë7¹cÆŒ¹wïž H.’ €ä¢êx²!½Š†‚……ÅØ±cÑH.ü¼M€ªPõª>@Õ¨úUª>@Õ¨úU êT}Яÿ±M@ûœ†ûIEND®B`‚murano-9.0.0/doc/source/user/figures/add_to_env/add_from_cat.png0000664000175000017500000034350213656750211024761 0ustar zuulzuul00000000000000‰PNG  IHDR«Âž7ÇwsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{@õþ7ðÏ.»³¬ÎZ»\ 01 O¨XBš·¼äõ——“Úï çù!¿' óÏsNŠ¿ÄŽ×’¼c"ir*0AMà$P – È®¹c°³—yþØAðzÊP߯ÄÙ™Ù™ïîÎÎ{?ßùŽH£Ñ<Äh$@@$@è·$÷¾¨ ˜¡£ÃÜÑn6ð‚^oæõ†¶V3wÕ¤ÓñMÿ2^Ñ[šZ ¯ÑA¡Þÿý àÑ~¢» Ôp¹å§µ¥ŽvÁl&³Iàyó5ÎÈ]5·ÿBfs·x(ô|‘ &ïçýWýÏÃÚ”†k¹CùòQ¡¶þÏãýÐ]׫Ö~h%@‘HD$Db"‰X$‰Ä–KI$uþbù[$ 66Fž7™ÍŒDbá–!ðܹs»wï6™LO>ùä´iÓX–%¢+W®|øá‡¡¡¡J¥òÀDôâ‹/¾ôÒKâÎþ–Z­6''çòåË666o½õ–»»;}÷Ýw‡zóÍ7/\¸P^^.‰^xá…±cÇZ1sÜ唕ß—¥ús¢ú•Q– /¿ÿß" ˆŒ²‹û/®àà•ÿY-´· fÓ )ÓûÝ·V·oÏÕO7™8xàÀÁk7ܰ/?½ù†©µeðêl™Þg¿;MIÒÌäc†ÛÌ%™¼-e”ê!ùŠàš››yFå„X ð0h.L]‘Vt‰ˆH9rÅšÄH'|ÃÃ}H€$9Žø×±2›ÈÒãÓl‰Å4hh BIJ"•)‰”*‘DBÉÕŸ.JŸ7™F¸¹¹<6È($62Û>SàéÓ§wïÞýØcÙÛÛ×ÖÖþÏÿüϲeËär¹åѪª*­Vûä“Oþë_ÿ:räˆJ¥ò÷÷'¢«W¯fggó<ïååuþüùO>ùdùòåƒ zâ‰'ˆhß¾}C‡ýñÇKJJœ}}}‰¨õ½«¯>kû\ HlÃ×Ö‘|¸T*=sæL×jU*ÕO·èS×ôìw{|ukΖží5Pëì_Ãí£vþs×c ÖÑ>ÍÍÚ˶66ŒM»ú¢¹£C,p«„¬`ŸzŒ5 ‚@$8°÷ W®\!"{{{Ëh1,ËÊd2ËD ²^ˆHO=õTkkëÏ?ÿ¬Õj‰hàÀÿüç?A0›Í à †ŽŽËR–¾ –Ke2™Ñh$"Ù3ÃÅþr´èʺ5/^F·¼:ÑØÚ¢Û»“¯ú¡kŠùÇŸ¯Ëå2_ÿÞó›.·r_~1pL…ƒU;v2ªÁ,C¬j°«5Èu{LÅ0ÚÞ‹p¥«3Š”Ë·e‡«ø ¹q‹ äj™š°[½+ÚÑ”¤.JÈpÝ–2Š2œ+e3³œ¸Ò¤™+“rWlÊÊVq% 3Wï8ñ®·&?)µÈ-eSf°Š4…IóR3¼·¥»jó5‹³w%²š’Ôy©…ÁY‘Ü'ɫώÌÜ–åÍòêü¸EIë¼·Åû/N [”´ºÄ?qðŽŒ¢Á‹7ÝøKW²á‹K7Ý}CÙÆ\uøm~Úâ.ì(¹æñ–KüÙV®® ËܶÀ›å*>\”ä±-+’ SWWx§ìŠf› S—ØðîË7÷µÁĶ´D¹)3Û‰4…q3×í¸0ê]¦¬LëÖs{T£bß#´ÿ"bdÖ l4’HdcïØç}íuy¹D$’á\³â/•ä—h¸³;{Ë-¼ÔÇ@¡|CÉYÞ#:XED̰°˜g,SkóK(ø­7†ˆTÁSG2gy""©GøH'"b{³R×Ërƒ]YîGÄ=\« {Ã_eý¤ûÓÙ‚ZžˆÈ5:ÆŸ%"Upt0S{¬–o.;Öàmù•Í-,ƃ+-TóÄz/I «]””\4xybäå<¾öXí-àRÙYM“µ_,~m¬ÕËriZZZŒñêÃÇ4S-¿1±þÓ¢jó+4|mQ-íÏ‘Sø¬ˆÁ7@oºRï˜QNDD¬«+Ë]Ò­™§ƒÙ^Q\%å53ÐßÒô¤òpÈ5hù›·|·Ÿ›¦­Zõ†k÷)ʰ•kÿàÁÅU|´(굩 eN1óçO:uþü©?$L}mì¼Ko,ûælIÃà°oËwå#-?z7—Ô:ÅL³žÒDLõh.(k¶~ÛFz³D¤r,U>îÁXþ&­–£›œ‘ÔZ˜CÄ ‹vÕþpVÃ×”Rð4ë—½ÿalí᳑StübeAZRÒºKÉ z}³£â³WŒìQzfþšôûÿåóɽ5™@‚VÏË%"™Í‚ˆú,¢ &“åv£Q,™Ìt·÷ƒ÷uƒuKðëJwÆ ‹ŠŠ2u>— ¶·»£ÃÀW"eÃ}[ÿ÷Ÿõ•­ rü0[Ô++vœ*׮ɔ vrüÛGÇÁÍ góµn»Á"†?ö8w(_ñÆdéÐa8fõ'ŒÇ´å®¬ŠYœìÝ;í±**ê#j9FÅZ?<,ËJ‰ˆxÆpí\”‰–é<¼9ËX:°óƒÆcéÍtvæ´× ŒSçÊh ’¹VËñD$½~814ó§æh ’½~P ^{ˆˆñŽ™¦šµº9bMÖð¼æÚm2°–#êµ`W?øæü¥ó>q‹±v®i9ùŒ™W[—½Fn—8ž8b=:÷’uµ´Èõ#`ßû8ðzsPçu–ŒÒ‰¥²K¢A^£1°¬å‚Ìû–߬å{îë¿dÍ*Z¶b_ƒåð—®Â»Xvdì«5QmÑÎÚg+ _dlˆÜÖó4Ÿ¿v˜Î.” ãÄJk‰x®™£† ‹&~Ò9“Aå¡å-£ë»œai÷ïjþ¦'$Ä*•'×ÌqJñîŒr ëÄÊ®qD,9…¿å¿nE‘ÓòÄ>GŽaœ"³)uѪc׈è™ùë2§ÝŸfå󟻿D×-î`~Å“®ƒžtý¹Am4 ¢®eúJNNNÔ­âGýB»t<"Òëõ–E,5C£Ñ¨RÝõžÄå‰ÁYoš?Ýðㆺ‹Ì0Ï®´ü{ugÙý×{ÇÁD$˜¬Û&’HHL­—c•ÏASg’Dòóæ¯îȱKxúí-EüÙ %‘Ë=>Y±îÆNH5*%Ù»£ËòÍœutN£5Ð`"F¥¨ŒHßßów•æÛ<=«(åºVF×´ü@˱ÂpMËY×®ñR˲n,ýÐ5‘×hÈzLÕ®û„{͵$ã“7²Üp€dXW%ý ½Õ±nð-?(Nñ1¹ó3>ycÓ’a ÌJƒâ·¥÷>†+e‰×^ël‘ÎpgûØUPrc~þ…˜îC‰iJrkú/pe¨¯ræMZ¾¶ö_²f“ú øî(Ä?x5ÿpìæ×xhËJšÉ»{—Bf C|3ß™_4k"“zÌߔݳ_qËgfnrBÂSW$â®]#Ö‰eU*éõ‰<§æ¤J%KDü…OVWx¼6òÒ'ë G¦ôJ,!0#µÈ{yJÌý`ô<ÿ¹Ë^ "‘KðD66݃ }÷ì$â;ôW"‘H,1b[±­D,æõ}œ™*•D¤V«-õ½¶¶6A¾^b­¯¯§Îê_]]ÙÛÛ[–²ü÷ˆ `ÜžÌ&¡[¼¤Î¿ùsg‰Hü¸õ‚1CÝEëRY{sGGljc}´#ULŒ%¢ö’oM?_ÁQ«°þêâ½$e·[dbö¦^Ö,·~¨z|´בt6¿´™ˆø ¹û,ŸJÆ#ÚŸ/ÙQÒLDÄ« 3’>ªàn¿¬´W´Ï2ksᎠòð`ˆˆòó/ðDÄ•æ—òÞa®ŒSP„ksnþYžˆxuAn-;2Ü!MaÆêÚ°øøw(óÓ6\¸!Æ2‘ÁoµÏDøßz4ÆmÚò~_Z®š'Æ-|¤ªâ“KgMÉGIjˆu vÓ–®åˆHS²³èÒîcO6ì­åaü¾I;JÕñÍgg¬XÕà¿xþÍ6ónZžõ_ž‰ø:^[«¹ÅÚmÏó•wÐàKE–“MÉŽRK(s ŠpSïÌ=Ëq;’RóÕwú>!!¢k¹%"âÕEù Ê gUŒGD0•Z¿£5ûŽqÞÞ,ñ6¤åžŸøn|üÈÚÕ…7ÛÆ)21+=æ÷¹¿Ä£wþs×½@¯µ´ tUÉRØÌf} ‚ ‰È|õgýOêöš3—O~gc2IжëO]Ö\îÐó&sÈ û^].===E"Q]]V«U©T‡&¢‘#GvÏ™_}õÕ+¯¼RZZªÕj dggGDÁÁÁ¥¥¥6l˜={6™L&†aúì;zÙÌ_¼ us7s¯®I¥b™ŒˆD"1 ‚¾êùèÅÊ|üÚO”t|W"}Ò•+8Ø}/y÷rÒµýõÿH‡zHžt#³I< óÌ[ ñ@–}õ5îË/~Þ°Nµb%Ž\ýÓ¨gù„Y¯­¾åLR××ÒoèvÎŽZž¼zVÔj¥“wDtÐÀDDlp|ú[Ë&®æ‰§à·Vx³D· ªÈ””ÚÔÕ3'rDŒÊZz|0Kjâ¥ÏD³Ÿ.›y¶YëF-O¥"RŤÅ7§&M™hy‚%iK¼ÍáŒÕ aé)Þ Qtü[‡ç%oß´¤û¯AŒ÷üÅA…«Êú¾,×uêòÛ÷†dýç/š™šQ–í½$mùê´S>á‰Hå?-þ-E¯X\š7e"«r9-Ú£°àöûÈßìÉF%f¯Ê]·aõ¢÷ÉIËž|ó¾ÿ}·<ÀCL:!ºéuL¯Z“Û´Äùg“â^Ëg{G‡¹–žµLMŽoNM9‘#"Ö#zy¢Ýôúúºú8!!žˆò®H·±¡YCÞS߯ŠOiÈX½hâjˤ$Fªø³%(gGªˆT âGÍKÊ8ìŸÙÿ~ž}ÔÎDæNæÁh4 fÓ×ñïþt¼XLô²«3‘À›™ÄƤzÜ,‘˜Ú!“‰Ìf3¯'“ÉÌëÁü3/Ô\¹6x°ƒâç69#eĂˤYªùKE½†Q¹pá¶mÛˆH¥Ri4WW×·ÞzK*•^¹råÃ?T(:nРAW¯^‰D‹/vtt$¢_~ùeãÆmmm2™lРA­­­&Lxþù盚šÖ¯_ïççKDííí™™™F£199™;”¯ÉL—º 1]n5ÿrmÐÔ/XL"QûÉã­+W‘ØÖÖî¿ß—897-˜EDÒ!Oê~”>éjøWƒÛW%Ö\þöWî‹ýDd3è1ÁlrZ·‰?wörjÒc³ç?6kž™ãþ51’ˆœ?ÞŠ«á~âÎnHˆÛÙ뎃ÃV®J ÿµ/«nÎ_4/ÿmÙ‘¨´üV4%&­.8§íõ ¯Té¾89>wѽ¿üóŸ;ªšÍæ–––«W¯þÂ]Ó]ý™ˆÌ‚ðíO—¤bÉ%"O©ØxõŠ¥c¨uÀO³™ó "¯Ç::9L&ñ€Ò!C7|zeC6ªåñf}‡þûòëQÿ?ÿl;â.ÿsâ RO/ñcJÉSƒÞ|Ëö¹ "³¬}Jº¡ö¼¡© îëXÞ ²v…îØ™{¬¢¡™gTNAÑ1Ó"‚¥Ûêð3“4ó³Ó#ø EùjÕ³¨Âü†T£ÞÍõ.Úá÷ôÿÜi P§ÓÕýX÷ó­úﵟ;MD¯8 °‹HD‚ÙÌõâu:±ÉH¼žL&2ð6Y±”±±•Ke2Q;'h5ßaeÅ6âuvÑ ‘ä6áSË@/– ‡‡Ç¬Y³þýîZ-ÜMéG©ùg9K7„•‰¿SŸ}œÿÜ‹;½P¡P8»8_½ú³Xl-õ‰Edù[‹m›lÅ"2™Él"“YD鬃 UÁë¹ëÎØo”Óÿþ=ªà%™»– ç?¤» ÔÞÞÞÃÓ“w~R„®g-©é;¨½x=$˜­3ˆD‘¨“ÐÕóS$Â=úu$"'GÇçßšÛòl Øl¶9KIMÔ uN5›Í‚ X.ÀA&(¤÷00·`‰Žƒ¯À¿ãN¯ì®ì‡ŠÖümjóY[K/PKp+’Ëm=N2‘Hd#ÙØTjãâ*ñö·ì,}ÚÍ ð€%@"jjn–4ü¨Ð_)³ ‘D4` HÊ\.f‰ÑÏà!I€ðÀ£   ~g’‹/¢‰8xðàîÿá>~ð¡ëÍ&‚Ùl6›Í&“É`0\¹rå…^@üV P&“!Âï˜M&“ÉdÂàwH€÷3 ‚`ccc2™º'Cø­ M÷ÿ£÷!øuÿÛl6QW€û—î'³Ù,‚¸à·M€8í†ß‹%ûYÊ€b±õg€ßâünº"ŸeH\€H€€H€H€÷ÐM×4     <è$ß~û-Z\&“É`0˜Íf4‰Åb†aÄ⾫}"½^6‚ß… f³Ùd2™L&žçõz}CCCHHÈ]Å?¼z³µµí3¢(<À  7žçûœŽ0tþ¸«Se$@€G     ÜŽþüª‰/¾•ü½þž–>½jbÔÊïõTŸ3ó•EGuwµpÓÑýßµu_ɯϠÞýÿ>ø²åÖ3éÎZµlfÔ‹/¾øâ‹/FÍ\±æhÓ­¶E_ÿõ¡ïo¾§m_/zeæî¦{ÓÛk6¥~T~‹ÕÐMêšíß5ð†@¸Eú9•S̾úªêdÎIÝ¿³÷Iëvf„*î*oÎùºYO$óYúé΄çd¿Alýá"=õ¬ò–vÍâù™†-\½ïß~û“ÙâÄù‰_·Ýtõþõ9g4¿õ ch*o’?;ô6-úxäŸÓÓÓÓÓÓßûÏh‡šÏ?ýà®Hîêí܆•«»M°uð :ÆC~§+øiú‡Åí^óß_ðŒônžùê¹£ÅÚ¡cCžâ%ƒKÛÉœ“N“7Îešçç·…޳#"j;4ojNÀ¤aNª5šf~ØÜÔ¤ÉO+ês¦Ì?:f’êÔIµF£a–¦&ŒsïZQýžÅó.Ü—ª ¶ï²S2óÎh8R˜›4ã9éNïNOß|²™'b‡½—º"”9ºrqÖ ÅÏjž›±°~y¼&i_Ús2}ý¡ÌôõÅjbˆØ€ “}˜ó«¦ÆkfLfŽ~}¡¹YÃŒˆËH~Ù™tßg§¤çለq½0)nœ{ï©­©1ºMr¸Åç¤éËÌ=š1ë–ýÁ’µœ}^O^­:tFÅQ×®ðDªá“R=Çí_¾§™£ÅSNÇ­KÑ|ã~Ùõˆ×ßç¤dæœÑ0D̰1KV„:éÏïNI\’cUn£gœÊ:5w_öËŠÞ°B-þ²òN_H¹ãð@WÉ™Ö"j)úYgüŸ§ïþi|ùOËFÛ6ïÙqä¢ÎH$Qz¾n~¸ IDAT2mÒð†u-ùß—ýAAõî´u? ûÞ,O)µŸþ8í°çÒ¥Ãܳã«­‘Œdëú‡É³^*'CKùž_ÖhD¶ÎÑoFû(ð逇Á½ÔüÃÃÃÃÃGû»QëéCÙ[J¯Þé’RÇ)³gÌër—ANS–—Wx¢±¯ü›šŠsÔÃgŒqv=# y÷7]†WýžºiÓ¶«_oÎJÉ«'"bø3ÅŠ¹«7mÛõijÀ©Ìôoúª“µJIüÆ-açW_}ûé\~sbæ÷:ýùÍ)Yêqë¾øê«¯>K_¦g}¯W„&%fU¯f|ºf²Óõ¹91óL@ê΃Ÿ¾oõdÍúĬÓz"†4'ª®Ù´m×§qªâ¬œózªÏËÜÃÍýôàÁƒ÷­~?Z¬î£ã¦öÇÚÝoñùÒ]øú;âõ€qÆ9tÜË> "ý÷Y){hîÆ¯¾úê‹u¯k>KÙ|^ïüzjÂpÆiáº]i/³}ìW÷uMOÌ¡¹üüàÎ8§â””ýMDõ{R².ŒYýÅÁÏ?MxúhžšïûסÖjnS¼ì©½å‡ïl=Ÿw–I%RcC<úÏY6ZiPço>¬ñ+“’’VΪþ|ó×:×g•ÚÓêv"Ò^l°ufO·ˆ M?4±žžìùù]g­LJJúËŸ¢ËktdPçÿýó&ÏYNJJúód‡Ó;>ýN‹O<$÷°ˆKÈØ()¼Œïm<}ñ„º=@‘—¾¶Œü'x5æ•Ѹ„?‘×~³3¯ðtc‘D94(*vB€£ÔÐr|×VK p”Úk¿Ù¹·°ºµÃ(QúD͘ê.'j¯ÿfçÎÂÓ­D ·  Sc|t9ïeŸ6Ñ®¿ÄŸ˜ýþR_9^¶~ÁÐnÊ¥·šÐÿÔïßÍH¡ ¢€¹£¹ÄÝç',{ÚRISy}¸‚ˆdn#F¨Ö½Ð6c¹½>æi)†¿À|ùõýöÆHujÿÕ˜¸çDä<.cßhR(d´ìÓ/t2…ŒˆœG„:e}Ý̱}Ò“Åj§É¯û(ˆHæ>fò°¬¬¯Õü8"føäÑÎDD¬›Ë5kˆ†©T¤>´ûk·×Gø¸¿žœÖg¼»X®uxÉõV¯¯áˆ®ê»ªì¹ä}ûô2k3¨6«{öý”=Ý×~uÒ_8t’FdX¶[0y »øÐÝhþkµÓ˜q>2"ruîˆõ'›ûzj®¦Æè6Ñá¶oŸ+‡ÿšpØú7ûôĹž‡ƒÇŸ}ÞMND†¦òšçè@G)IÝFr(9yQ4ÍÓ¶äL«ÁGùã:ʧ©ä"GígÔ’¡o:HIaËÕ”|W#ñÊÅçy>D†Æ¯Ît8G¿ä&'"ùÐQ`³Ê/êþˆ2 <’ °¹\Bd$#‘DBDºŠ‚– q1^^rÍñ Ù‡Ô¶CÃg„»µ—ååžÈÉ6*¦ºt[Ö:‹Ï”wÂåe9[ó6ìuY9Ó¡zKö¡‹4tÜŒPEíÁ]'r6ؾûnÔìÑ‹µÊѳg„x þõ—ü÷ÓÁ¬­ÚˆEsTDD†–ã[³O¸,z'ʱÿf@ýéœ/ÕÍšÅc¿ìœÂî>³pås2"bXgÖ‹d¬3K'9žˆˆaU¹e¾™ï]Àâ4Ï83I¡ "Ò׳>k÷©fžˆxšwºÉqõ] F¥"^ÃC Ó¹Jë¿vãR×ÑæÍ»Sf¥4³Ã',LXÚ«h»º¼Õ!Ðí–ŸFÅ2µFOî}…@Ýé/³Öï?£á‰ˆoÖPÀ|«ýâ5žÞ¹32Ö™åOrÏó ëÌvN|šeúJ€ÚšÚ_u¾ý{çñÈ?ÿ¯0%Q{Ëé/·­ËÒ.^úªœH"WX÷»ƒë(G6[…-µ_1<þìPÚsQ«s8­síù,}õ¥Z磻ht{ÕY*•N\2·äË¢ü¿ÑjtxzÔÄɯºvpƆ=i)ŸKˆˆŒÆRêÚ‰àÑL€:­F#¡ö–SOu9ø¸ÉÉÒAÓ!bÆÔP‘æ›5‘CÄÔ¨‘»äôéÕUGÕ1Sm»Vrµö„šHìîHÊ(·9§Ök|Ž^4’bô„Ѐ'¤>n*¯‹ír¹ÔQá"'ÒÊ]ÜÜû é¯/»%;{ -šác,Ûš]hÓ¯ãŸu ˜…Ÿ~>£ób¾¦ÝóæçœÔ=JD<×Äé‰dDz®‰#–e‰ˆxNÃYÏû9 ϨX¦×ZYËpõÖeI×Tϱî|N|ú©1ëÖ­òQÕçL™õuß[$cÝY:Õõ¼FC×#T/ЧÇ-K·ŒôMG³–§$æl›ìÜ#”7ü³Uy»¡TÃÇ ã3sŠÛž{ùú|M‡Ò6ó“ã^å3㳚çnÜ8Ù]FúÓio,¿aø—úÍ·Ú/F¥b,¶3Ý2*Ëp Ïq‘ub_½@uêr­Ã(×»úxË}ÂF(O–Ôh_õïñ‚°¶Æ&‘HJDÔ¡í ùãòþní_ýxQÙª|ÖYá`pÐþóbM»Îa”«”ˆ¤Jϰ7=ÈtêâíÿôsÏø—Y[ÉSW¾íƒ#– 9çt*§ØrqŸ¦xÿé/*Ö¸…³¼yÕû÷Ÿ×‘îÔþSü°P·Þ…3EÀëøorN¶QÓ×éógiã4£zÚIA¤o:šs¨™xkI‘x®Gr1έy÷þÓz"Ò×¹û;úe7¦Ïøú}Ú¼e9çõD$sö´ª÷†¦rµüYÏÛ]Ig7fét§“)ËÓnÒ雾߽rqúIÞÉIÆk4<ã䦒éë¿É9Åun-ÃóMœžô7Û/kž6nÌ)n""j;µ»˜>n¸‚àÔ|¨ø¼žH_ÿåæ“\ÛÔ®þ®Õ!pèÝ¥-ƒ®¦äd«­‹KÏÈ+uô´m:RÞb ¢vuÉwZ‡ç=•$w}Ö¡µèÈEùp7É]|äê#%MÊ@79QKñÇk¶Wh‰ˆŽJ["£Ô!p¸mÑòF´§÷}º»B‡O<<î¥è>%ÜEJ[…£‹›ã )Yd—XÒšTá 'êеêè‘Q×¢#²U*º?™­ƒœH«½hAˆõN"QHjOiÛ[; 4HjÐT•Öʇ ëU¿Òƒ'$££úyü#jú&çŒÓ¸8÷îÓœGs[ŸóMÓ1N#Øýñ3ÓÕÍ6`iê$w¢z"fØhÚ¼xæ™æf^5:.uŒQ¯>ŒvãR“ΧdN}%‘'§€I©©°cœŽˆOŸ•¥röú¸éâ³–'»mŒ{y›ÿÆ” «Vv.ì>)#¡)%ñ(žˆq±4c©ŒÎ÷±ùŠás';¥Ä¿¶™gbœ&½êÜ3µ–«%ž/Ý~(™Ï¢uÝ×gmŽŸšÎ1ªá£g¬Þ8ù9ш¥s‡Å'¾1Qå¤>yiÜ„ ñé‹W9mœ1nŸ¾øµ3 ×%õµ_«B;·14!Už9?*“ˆØaR“ÆÙÙÍM˜~!eñk9¬Ó°1“Ç8:Ó+ËÝIñÒªÛu€Öyøks'z橂 -R·‰s£÷ìù{Ú×F"‰ÃðIsG9‘|¨¿òÊç:Ï¡,±®CéóÅkCDäøŠgÍî5ÿ{‘HÂ:?;i–§TJÑs£÷ìÙœöµ‘Œ¤xꥉž8 ÀÃA¤×ßùm©-wƒø/z¦GÏʜ᧽éžh÷Yôþ)iŽf¥ç©%C熻éÊòò*´ÊÑïÆ¿îØrýnºãYé¹j…Ì”P¥öè¡ÂFeø‚9>µëþ²ë¢dè¸áªÚC9ÅŠÞIˆu<õ^ŽÚÖkÂÔ±>^î( >,A0›Í&“Éd2ñ<¯×ëBBBî| ¿üò˯²%m_/šºùåOoèUYŸ3³ó~ð+9¿fÊâ qûÖüm ð›0`@ÑáU¡ óQ6ælÜšwš†Žž½(ê†{ù©Bf/ ÷’œÎݸvcîE‰GxTŠÏYî¥PÚº1§Xç4eÑw)ɇ†ú+¨£:oçÁZÜà¢;º"jbòÑ6"Ò}¿¿Xãö²âÀïæ®zJŸY‘Ñ÷#Oľ—Û}ŠÜcÌœ?¹åêyD-XuÃDy_Ì|/`&^-€"4.îhbúÔWRˆX·1q©7t_€ûé®zþ›Ú:U“SÜjëÿÎ{3ÝÑ—ó‘×z<|îg/оêí,n%Û¡.ˆ÷äþ=•ô™éhq€ß‹M€H€€H€¿ÁÛWŒ70À]œ*ã`R)î+Іaáaccc#“ÉP ¸žñÄb[[Û›$KÐ@ð ‡@´ÀåC4  ô[’o¿ý­ðH$À_|­¿ AÌf³Éd2™L<Ïëõú††4 Ào½@     àI€š£O;ØrË9þvªýNVg¨Ý’ÿþÞŸ x=úWl9u´•$J iËŽÿ©Mê2vöìÙSBUR¼¿É]/ah);¡%exLhõƼŠQ±îRëÇwnÉ«h5J|B=Œ]yñ›´ŒC:¯˜(IáÁÓZ£Ò'fv¸ñPN^µ–”>SÍ Vÿ±uëiù ï&ÄJ¦eÒyM™ (>XÖØ!QúÇ,šŒhØ/Ú R¹ôV ¹ë ¡åx™–B_ððíFºS'­U@͉-¹­¯q³gG8Ö–i»2¦TBd¬.¬õˆŠ R’ötîÚœê¡QS^p íéܼÚEDë̇N)§NyÁÁ¨­ÈÍ­mÇËÔóßO³2¶œÒ\_lHÏþG zòôcw[44—éÈ!ÈÚ..”WuTãî!¥«µe­DÊ q¡¾OH½õeëº-§|!*4ÀQ£+,ËkUL plo/>‘ÛØÒÒNn7>‰2(6*À‘†‹Oä4¶4êè9^©þFúÄë ÆnÉÎÞB‹fø˶fÚÆ¼åø{”õÇ–ŽZvüæ3¬³óO¿°°Øè?{^;@¼Ó¨>ZÕAÔQ¸6½Ð:éôÑÚvgäºv"’;*¤D$U8*ˆº'@…JAD[)Él¥DF¹„ˆÈhìý, ‘ÜÖ–ˆ¨¯R?¥ ž³ˆ¶d¯ý[Áè2õ™¾ƒúçvò\S}US}Õ‘üµ™ïd®š¨À‹H€·×^{ôt)ƒb&ø(,ÿ?¸«¸º¸¶ý_[…œH«kÑhÔ kÔ¡m•(=xB2:ª_Ä?Æ7:Ö¯G¼ÓëumM5Uå5m<W¾váRfÏ–éCðÚàm`qµ‘”á!¾Ž–).ÚÂâ¼ê£ÕW}Üý¨±õDÞQpEí?NY ® {B`@TTÙ爷㦻ôñ€þò±—-ÛZCDTµ6ëØøÌ‘¨À#ènF‚i¯=Zm$…—¿òúÙ¿W’èâÑê«ä:c‚—ÒxñÐÖœB]@¸  ô2û‘KW%xZþÃWÕéÑ&ð(éõ8†ß‡ f³Ùd2™L&žçõz}CCCHHÈÝ®çúH0îÊÛÛg ˆH_9aÆö6"b^Z_˜x}H˜º-±“ÖÖ1!k ³FêÊ·¤§m9RÏõ±>]]ÑÏö毬kâx""bìÜýâß|s¼ŸýõÙŠ†¯('"»7sòâ¼d½6dÒŒíMDDv19y+o|œê¶ŒŸ´¶‰ˆS ×GZ‹•úÆc{·ì-(¯ª©·ôh%bìÜ=}GŽ}3z¤ËM¸¹\y`ûÞ‚ãå]lÙÞ˜Ùs"½PxIÐðÈèü±CáÂö˜Î0–yž×Ug-\¸µ¾Ï0u,sÅŠíU|Ï©|[}yÁÖò‚­¿””•6~ˆŒˆHáíIå5DmǪÚâ¼nȤmUÇš:ÿ,/o£¿\YdyÜ3ÂzQ£¾zéÇ9êõÜUG꫎lÏ Iز*vHϨ¯;²4¥ éfÛš•é‚w Àèéøñ6""bCÂz†%Ffý¯®±àƒ­õDÄ:{qaÈÎŽéŒS•™ —m·$CÖ7zNl„ß;–¸¦š¢½[¶o"j:’2g¥bOf˜=ÙF¸SM=Q}A.Ö¥GµMWYp=aÖ©ÔM¿áñš‚""rŽt±>÷2küc}£çŒñb/#½®±®¼(¸ãé 3=óVú]߭ˇWÎI9Â1žoƾ8ÄÅŽá›jŽølë‘z¢úüĹ¤Ø“Œ "6—‹ÒâÖZÊaKß¼¡ÏdgÎkÌßÊ‘çìõë—ö¼a„¾úã•Öøç³þ³•×õò ‹Žýlᤪˆ¸#É”H TÙ…Œ´[[ßFT]P§ë–ÌH_SPIDŒoŒ_Mn9_y¤FÙ}{ôu•<‘]Xˆ3‘®üãü6""&$uOVäõ¾¦#ÃÆOŸ},yƲü6jË][ôöúÎG/N±Æ?ç˜5›WŽ´ï¾½±±‡ã¦'á¨-?%36/Ù·H@xµÙ¾…·ë1I×ÖØTS^T^ϱïd­Š½i×G®¦Í7)gé÷ ÔWmÝkIv1iq½î&(2=ùí“Ö6qKX© Ù°@v{G\eQù éðWñD4$"2‚Ï-¯áË‹êôÝ.l*/·”û­•J]M£¥ç©gD }¯M¶ùNÒ;Šãäì9äza³.ÿãã<‘ó›«âFöZÈ%2!!ÿxâqžÚ >>—†2  Àƒ‡+ß¾¶ü&±¾Ñq ã½nYðb^z;¬W`Ò×8f¹Ï."Ö³Ï凄ź¯][OD••úÈ‘2’yFø1Çyj:^yy鮕¶•—·‘o §oÕ´Ýp©àåJË•{Œ_tçSu泺òzÝx{Eï 8'nd)E,K÷Ø7ûÞ_û‘±Ìñã<ñåjôa¨<*ÄhxDÒaU~ÊŒðظ-Ç.ß|¦!až½ëam5•–Èx†ÜlÌMg?/KWR¾¦ÆR.TøFXî>QWP££n¯žˆß0…K˜/C–K»×UÔ‘gtç–¸†9[ö áÂä½å·½WWsÜ™!~v7™GáiébJ|MeÞÔá!Ò×Ý ôz][]MåñÛ·äWqõGÖ.;^ôÎæõsú*ޱC\z@}[µuNÅ®‘an$³s¶#j""]NO$³ŽSUO|MQ~¤ŸµG§e”Ï0O)<Ã<éHUt•áôuE–‹=»Ý\bÈÛi³ÏÝZCD5ùé óÓgßÀÀÀ°°°¿>"©®Ñšqù# GÝ®Ít5mz‚" À#5@xÈÉd ¯ÀÈ9É[ç¼ãIDÄW­]±¶º¯JšŒeû˜Ê·Ykt¬ì¦I‰é ‡¼®³¢ç2ÒR¼k+¯l³†Éº‚ržˆÜÃüì‰ÈÞ/Йˆ¸Ê®»C4Y.ìÔºY~K7ïIŠñíÜ8¾©êxþÖôs'Œ9~aògÇz–umü]´§ÃA!¨£“½æ¤ÍÞ;ikQÓÞËßÎì}#„Û”Âækïš©k’sX »5Ÿ£ú‚ÊËÓ]ì»Fy± t¶ÎàÇnm⚎—7.âBt¹ò¸åFñ!Ö>š××>düÊ-ã—Ö•.(8r¼¦­3 –çPž¿õ¥„õi7¼¾%!Z5Çëvûdç‰  Àè3“_UÔ¨éuGÙ‡±SµßdíàÙ^g-¼1 ÅõØÈäᩦ ^i/³ŽòÂxvÞP6$‹ Ê©¦¨Fë¢ÐUYúˆ²‘}wËT ?'püœ•¤¿\]~¤ ÿ@~AUµI_˜>dOr ‚º•#‰ñ Ä(/Ð zÂ#…a¬HÏqw¸ˆÌÎË:žJ[]ÛÍfÒ·uVåì<íº2—Â/ˆˆ¯*ªÓwòâÑ5ÜŒÂó%w"¢Ê¢:=éëŠ*‰z zó²÷»4mËá¼UÑ–­kËÿØ:Æbˆµ)ßtó $@€‡ßTßÖ™ëØ;]ÈÎÓײøš¢º›\4×tÌ2‚ ±^ÝÇßTøYm+¯jÓYGyq»>È ÙŽ´#"®¼¨Ißyàõa@ï€KXÜŸ-Ö•·é- 0ÄÝ2¥¦ R‡áÑÔX°Åz»À[ÜØ¡™çøK\l+Ø^ÕW¤ÒWïÍ· æÂF÷èÀéáLDTWTSg xlçE€–u ñeˆ¨éxe]eyQÏa@‰t•{ÓV.œ;=³òf#¶ÈnüÃ%,ÖË·hìsݱ•ãÇOKû즙\ºê+¦WYþcývà×Ùd~sÞ¶ÜÛËOÎ*¿1ê*×®Ün)-:¿yãzCB숈¯9°·¨‰ˆ¿ˆQææIDT—Ÿo¹°ç0 ÄPõ‘‚òšúšíÉkËu·JµŒoW¨u‰Xb¹°æƒ¥Y½ê€úº+W45ÕÉÝ^‰ðHÁH0ði*ø8³éÆd§×µµ5U——×w]øçþfÚR¿» eHlÒ;ù3ÖÖ5å._óvL˜ß;âÛ+‹r·æ–[òŸûì´·o\F6$Ò—É=·Éo#"qCO{¿0gªjâË·'ê= ¨ÌïíwBòSŽóT¿}aä±—¢Ç‡zÚÙËdzýå¶šò‚½¹–áCɽ{ø´KJziRâލ~ëÜñåÑsb#ü†(¾­®òXþöÎ v~3mŽFŠx¤à·ß~‹V€‡_•¿½êÖ³8¿ô§´äé~Š»\³ÌkÎúõº¥q[«8âÊs?(ϽaÖwvfV_¹Ræ9ÞŽ”w>}H÷.ž–I,å[ãiÀÚOÛ¬[±ðƒrŽøú#¹käözÆ3&mÍÒYÎ>2í3JY˜XÐDÄU寭ÊïµÌ›«ÖÄÝuCÀž_|ñE´ü.A0›Í&“Éd2ñ<¯×ë~“gbXç!^~/EDóº×Ì£\ºåðø¢½ŸíÍ?^YÓÄu®Ù30$"vzìÈ!7)¦)|£=©¼Æðœ{EÄ!a^”oíÉéÑÇ0  ¯éë‡Ëßž_P^Y]×ÄuÞxÂÎÝÓ70büôñaCzï•Ì%2í@à›‡·oÏ-*¯¬ï¼M<ëìéÛ÷2ð°éõ¸úQ AËüF0       À#› ç6ÄÇÇ'l«5Ü0ý§ýïÇÇ'l8g¸ëç¿zîèÁã?ˆˆÚ«²âããÿzTsÃt¸ÿ ð×§)ËË+<ÑØND$w›0{ÆìXÅ ÓàW!¹ç%Ûë¿ÉÉùGµÖhëâÐí«UûsòÊ.j;ÈÖÅÂŒ©ÁŽRù ïm¬V†ÏðmÌ+¬Ö‘­[øœciç{Ù§D´ë/ñ'f¿¿€ò¶æ¨&ÄÇÖþ­kúñ¨ +ËÚ½f¿·ÀWNtõTÖ_rÔÊðø•QŽxñ~g†vƒT.½Õè_îµhø©`ë¡j­Ü?fþŒÑ’ª ]ç-³·_¤€ï¼3ÅKW±kÃÁŸ DR µ-ÐxÅÌçeÛ¡.ÜY¨u‹š=ZIDÊѳߙê!ï ¥Ý§O í¯$cmY};µ7–59¼„ø÷û翟fel9¥éüoËñ éÙÿhAÇ]€‡0j«OëˆÆF…<óLð„XŸÎZbKÙ©V"—±cÜ݃£F;¶âDg*xDņúú†Ž Pi5äèâ"'"¹‹›»£üúº¥Ý§z"ä2Ö–5ÈÐXVo$‡Àߟô‰×Œ¥ƒÙ[Ni †–ã[³ mcæG9¢ÐÝc/PC{k;)–à¦pTÐiÚuíDÔ¸ë/ñ»:çmÔIND$W*%D$•Ë%DtÇÅ"Ç€P—C¹Õeí’S;È%ÊG…×­_PÏYD[²×þ­À`t™úÎLßAh€‡1Jå 9Q‡N×N$'Ò´è:§;ȉ:\&¼3ÃËZÕ“Ø*¿nìŠ IDATå¤þ·‚†Ïh·Ü]Õ'ªlkuä6°Ÿ…@éÁ’ÑQˆýß½öUúx)ˆZÿ‘w´ªêxn^µÑ:ÝÑ7À¨ñxY£®½¥*oˆœƒê›è)•JˆHSQQU¯1Ü|ú ßp/‰®,¯XKCC½4úY ˆBüx¸ Ô=jvøP…îtÞÖe’ %‘Ñ@Dä8vÁìÑCe9Ùk·þ£Eá56ê‘M>4Ô_AÕy;Ö¶ßbºÜc´—„:Hâ…p¯Dz½þØLÃOûÓ?,n÷™ÿÞœgäxÕ‚ ˜Íf“Éd2™xž×ëõ !!!h€ßˆ¤ßoaûOçª/VëH>Öñà¡M€]EnN¡–”^Œ}÷¸gH/Px¡(À}&F À£GliPPPÐô—ït‰º-ヂ‚Â’+Ñ ÿ“  àÁÖøYì„êû|ˆ±s÷ ‹™='ÒKñPïºoÒ—[ÆÛã½·… <$X;çìX†o«//Øš8cRÜáËý~ûõÕ™‘A#ãÊï¼V·w»5ùVm?ÒxO«;¼0((ö³ë‹ËFf••••}vç‰rÈœeeeEÉ~²®hº76(hÎaÞ•ýj€ðpðMس%òÆJßåÊÏÒW|p¤íHbâÀõý»J¦«©l»»ÄøY~‘gLD[nAÍgu±s†ÜCî¬+¯#bå]©+j"RàM С1{¿éi«b숨üÞ«d÷‡¾éxÝ]Í_µµ È÷Í9³#ìˆê÷¨¾·ÜYÕö«ïK[y7 Àý'óŒôeˆ¨±²­{ÿJ]õ̸é‘#ƒ‚‚‚‚‚ÂÆÏY¹åXc+÷¦-µÎ»0moå ]õÇ>K^fYÑÈÈéK3TwŸGwxŽuœ]ùg+çX×52rúÊÏ:×U—5>hÔÜŽˆ?²pTPPPdfõm:ƒêÊ?+âˆ|cC\¼¢£‰šò÷ö=ËMwAwlaPЫé5DTÿÁ„ÿÏÞ½Ç5qçûãÏ$™IHš & ¼V(´…j¡¥ÒªÔ ë õ(ËnÑsÝ]ä÷} ç,²û@¾g‘ž¯Ò³ÊžeÕã¢Kñ²âêV¡¥P)¸•‹J‚„ÈL.óû#€7¬—ªµú~>úx‡0ÉLæ3ŸyÍç3ŸO```àÚ³†;F‚aj6/¸Ï/=ÇÖÆê¸s$˜žC1+öj >õ­ÀÀÀ×½ÿÿÜo%†³ wöAE!„B˜ú^€¦n‹/g7¯ˆM?PÖÌ(æGDÌêêO}²aEÂþ¶ÛSJDZ¤q™‡+Õ ô ðuuÍá̸›ÏŽ>TÈ4íIX±áãã5j©ï¼ˆˆˆyLsåôØ[n½hVW““ð§6׈~ó›5ËæÉuͧ>ŽK°gIÀòe¾€|Þ¢eË–­š'§¿s›z¾Ü[Æø.Ÿç 0cñr%€îÔú{2ÖwmåºhÕ¢yJjzÄ¢eËV-ö îLϾË_—+5ßµæžÊCõ0}ù|×»÷¢U‹$ö­Z´lÙ²U _ÿ0B`<{ÏÇ3ÔºÓc¸âQŠB!ô¬às€èÅf¨?~‘áPÕóYúæS:ÌOÛ¿u±«}¡ábÎÚ¸½õ'zýPŒ‡ýeÇÒÓËŒ \¶cÿæ×¥LÛ¡ 1™5§¶|¼üØÖ)0MÚôI= î«r÷$HG3WLzÙñ-GÛjÿ3 €­ü¤rÑŽc[†Ŭ HX˜ZÓ|àP[L¢‡óëk7{HëOÕ7S¾kS6ÐÚ¨žÊ5°jž3€GÄ*÷O>VŸÝ_cxý¶Çï´ ‹“R\ug+µFå¢_n‰ŽaÌpÕɩ㺲SmI³gÐw@ßUóï~´R:;&ÉõùxM x,KÚü®ùẻ?ž¡æP à»j>@„B¡gÛÑ ¬çâþÍI§Œ’ˆF²GÇ©?U²))#ñ¤³?Ú²H Þ{h¸ÿeÇñ=5Ô¼¤ÄÑÐB{,úͪér¹TwQÇ0õ{iä«¶þ2àV®q]œ’è `<µ÷Ëá>žÃíj¿ùåmñÇ9 b:hë;cÀÌŽS{ê¨y«^`® b¦°•jn_Ûƒ7áèéËHt§ŽßÞ:ÚSc€Ëç=ÔØ:ôŒå«ÜØÊ;ºÐ.ªao¥X„B!ôl` z1Ô³üO·wbd:­ÎÓ×䤌„4ÃÅSj˜¾(Àù®¬³8€:^¦«i6À  ϪÀ#ÂWzG–IÜÿY¢ýg¦él@2/ÂãÎ6;çyîP¯nªlcÞ½5A‚ûüÙw¼!-·7ʘG5Ó> 5oÕ­àé:•ofz}åž³= F†<}ð&¸ПoÆ™Ûçì8´vIf=€kÄ¢;ÚÞÆž¹Œõeec,£FÇP÷$eí]µ5eÚ±_`4<…Iñ˜æÇìÉskÌò;ÞNмÿTÇòµ®· #äÇkíX»ÖÀPs¸ÆÞõQ¶m8¡Öø²çÝwÁÐl€ËgcD!„zÆ wz¹.JY³'v¯öÀ–?-ÚŸxkš–S@ÍÛq&çõïÈFö—±ìý–£()€û/zœ©Ø“¡fÏ){×VZ=ÖL~êC‡ÚÖ&zŒnéwmÂÃFÀÅó凫íXã:–?bãóë«æQ5•õ*{Þ],m>TÂdQ ¶"„B=k8 z1Ñ3ÖnY$PïM?ÔvÛr¹‡+°ö.’÷gt´Ýý2†a†±¿Dºfóì¶ÊPs ’P®9xþ^gv̧´Ç÷71¹ —Ï—¨Wv€¡æPÍ]Ï >$iÀÚ€úC•=†úC_A±Ü—Æ!„B BO„4à—)ó)€æ3Ýšr\:=b:4«¼{òž/?û²©‡yÙÚ²L`<•ž=:]ºó‚-ûó3VÍŸ.ÕÖ”•*«lfÜ–¥äå.¿}n?×Å9s³ÈWIi›kjêµ”{À²”Ý·.\”ž“[”û›EîLseÙ©²Ê­ÔwþšŒƒû7?êsrôŒÄ´U¾]s}³Ž¥îyÓtè€|WÍwþ޵,_¤`+Ø›%¸ Î[Ræ+)`µõõm éûîÇEr,Xõ Ç÷<–oùå<9€Q]_¯eïüÍ*w€ïhÆD!„BOÑ~­÷z~LrSâNxa1M[—ÄÖù¦•ìYŒ3Á#„Bý° !ôŒôœý丨ù-Àø‡B!„ !ôcšö§¦W² \õNˆB!ôƒÁ‘`BO•áËì-.¶ÕÔ«Y÷5[?ÂA@B!„0"„^PŒîbYe=€dzÄG))1³1ÿ!„Bý€p$ô|Á‘`B!„zzð9@„B!„zYbâ#}ž¾–¯-³^›åÄþHÊ%‰«½…ø­"„B!„ГJ€ºoÏëçȳö××v½ñ¶Ë÷}–ïòÆòfƒÌéÑVd¹Qyê\‹Ëk³œÄÓßY*fhÆ?„B!„zr Т«¯ëǹW–~[×µ • «ÌÍ+ëWÎ ~[sµÏʓ͌X9Û‰Ÿå·¯±ë‹C·· ù¦ŽÊâ“_µê±Ò7<2Â[ÎËÚâcg/ézÂÌ·¿7[|õsŽt@ÛÁm{Æl¿ñ#£m€Æ«e'Jë®êZæá÷ö{ó§ŠÁrµð¿^u Z<½«ô«¶ •s?ˆ^ ÂÀ•³'OÕ¶õ3<ÇÉþ‹ßž"Á!„B!ôzäç-ºÚú~úOžùš.Õݰ gI>´ûg.Yóá»|ý¥â£õÆû/“±ñïÊZû&¾¹xYäZ[_t°ì†År£ôàg—ôNA+V/š#ì¾tâïçû„“ß]4S Þüɇá®üÛódÙ¾ƒUWM“ç°bÉ›®mUŸþ­Lgàñ@_óEß”ˆeoN¡íWÅU:°hJ}ÕfùÓÕ+ûÓçO–jLx\ „B!„^DÚh骹82_W`¬.3]àLËù‹›jt5²À7g»9ÁÄ7¼Î¶Õw\Òšü\Æ^>s¬µ\=ßn‡€ð€Yù^®ŽS5 ->¼"Î/–É% žâp¡®¯£Ï2Wåâı‹Êʼn}£ðF]}€*â½y^Bë·<Ñým­þÀ›<ÿÝ@/¡E|åüÕºþ®> ð-Ë M‡~Ö”¹&½óc<2㕲“ß|o'Ü!„B½P ÐÒQÓÂ0ÕÝY=¼¨¹FcRMyþŽv¢ø´XÀ˜,÷].cõ&ýˆ]Ä|àKT^Þö„ÑU÷Yi}G¿uøe<«åþ‘ÑÐNbû– Åbtô4ë ùÀ§…|°ðUKüNÕ5œ;Ñp€'óYóžv}øø×|ì¯'ºøüK:øé2 !„B½@ Фùº…GßwüÄöŸ+>µFcš:}8t €·,öÌ%¬ÿ~Ëï$”ÑÀè Hø–¾–úæ>Z5“®8v¡&¿ÿ³èÙN]'þø×‹–ïúŒ´L í}}på˜ú¬Žr1ÀÀ}þ@ìµðC¯…£®ãjí¹SçN–ùýÛû®Øø°ñï3ÓÜYãË¿T´ÿo‡1"„B!ôâ$@S{Í+8Í ö÷žbb_Õù3WÏ_5NŸe_Ð_û2—`—޲K €«¯RÖû,׎Ʀ¼6N´Ÿÿ¬Æu®£æìñš.‡9«gNe¬<‹i «¹¾ì }7ºŒ*1Í€®ú‹WÅ^SFÇåOôóuºP¥)=ù5ßO¬¯9Û 0!p¶œŸØ÷õ_ÿ|Z¯ _ü†ŠËÅ|šÆô÷P,º²ƒŸ™æÆ,õ“ó|—ÅÀáýOËׄO|þw Çqýýý,ËšÍf›Í†_&B‰$I@@Q”££#AÏøÝm6›Á`À’‹–\„°ä>«hÒÔ\µ‚xʬ[­Ÿ¦i½^ÏqÜÓ.¹4Móù|,¹aÉEKîXçëŠÐ“ðôzÞ¼yÓl6 …B‡û¡'ÂjµšL&Š¢œœœ°ä"„%K.B?Š’‹m€èea6›y<Iâ1Ðcž–eY,¹aÉÅ’‹Ð¥äbÉD/QÄçz²ì]SÌf3–\„°äbÉEèÇRr1¢—…Ífþ(=q<ï©Nð…%!,¹¡'[r1¢—ÞŒDèÇX¬°ä"„%!ô‹&@„B!„zY`D!„B!L€!„B!„0"„B!„ˆB!„B B!„B!L€!„B!„0"„B!„z’ø—¾mÀ½€ž“Ü”¸B!„zZ ðÍ7߼€~ÇÙl6«ÕjµZY–e¦½½w B!„BO1â.@è^ªíÄ/½„ü—«Ž3Y,ø¥#„ˆBèee³á>@!„0"„ž]ñº¥™ HØ÷i¬ûÓ}§£?[šÍ&ü5ê{<8ªÎÿpu®æ>¿T¬ÈÛ·Á‹Æ/õÇŒ _²/phè¥(¹†ÓëÞO×,Üyd³Ï_±¶ðÕ9l¾Oc ÛV®/Òßçï=7¦ÈvfV³÷ùµ_Ɖ¡ÆÂWæÜy~ džA ããB•cXŒ¶ê`îî£ÕF(¼ƒ¢£ýåXÑ“/LµGwçVÔiô¬ý`ó ‹Ž‹ ÷’0 [–®¯Ú~b‹ÿ#ŸµÅ[’³K5,”ub[09&@„úÎDU’ßH)TÐYXزbÓóŸža)YžöJŒÕŸÎÎ,aC’R¢”ýZO¥úá6@½ë'ë[“ŽÜS÷¢GÄq¸^À’û0hUtZV¨=ⱚÂÌœjÉ’”ÄP™½xK<=©©YÑÿnÝšÛ¨ŠIKô—ØÿXæ-0HÂRÒ†Ï ¬±SS^˜»?uukZÁ¶pù9:uufµ,$&1+ÔSF±zMãéüœœuêíû6ùKñ8COŽ¡aׯõû[)UÈ’„X…ô UÅEûÓãKÊ3ò¶„~Ÿ4Æ´æ–jdK22¢=ï©ñ LjBwWG 5’¬$IæÆÒüÆÄÇ¸óø¬¯•>Á# ZM.”°*¿Ð`÷þƒéZë:Y R˜±ä>>©»ÿHafdUTK|‚Bƒo»2–üÌPG)™Ppð=W°…w°ÿè9!84Ì–n,Ù]¢ ½»S[š_Í*²¶Ž6£zù©ØõÙ­åÆßoç '–ÿª2“÷·ÊÂÒò¶ŒÞŠ ŠÜ¿±(=;üÈÖPêñ×nÔ³@ù…y¹ßsÌâAŽ !„lÌ/ÑË¢ýü% Eó« þ¡Ã—SLÕ¦÷“5K2 0§¨NÏ¥Z‘”²nøjŒQçdï.­ë4¥ð‹KIŠ©zmùîìÜ¢j@¢ ‰MLнˆ£X}ùŽÌìƒuzJ’’í3ü–ºª]Ù¹%­zx†Å%%þêásXU~vnau«ž(üBb£¼¤Líæ÷7¶.ÉJ€Ý9Ez$ÞKRÒd™™»+4F T!‰iQÃ[À¨Oçdç–Ôu²2ϰ¸¤¤(û'14fçV4v² Q-LHÚª¦vËÒ¥FH~çM*$ëÄVl||øàËXrŸêm#ÏP”hZ:¸»'(«£S©4xË_?Ń =QÚÒÜ #’‘tWK´Ô?qûÎ(ðô’0nÉÉ-m5ȼ—$¦m ¾sah)ÎÉÙ]Z×ÉP ¿% ) áJšiÙ±2þ J7¾Sjï-}ÔƒÜP[˜›_Ѩg$ª %‰#§ Ãéuï§³‰Y‘å™9uðöŠñŸˆÙ÷éºÑ[,†òMKSC¶ÙâO3êÓ¹9»Kª5FJæ–”éEÓ²ce|‰_F•›Y¢ñL;²+; >œ!ô$ªó+ŒŠ…Ñ>4¸GE«Øêü Ýè/)  ³(»ŠÝyäܹy‰ªºýÉ©GµLmöúÌ"}PÒÎ}ûòÒBØ’ÌÙ Œ}­U™ñ©ûõ~I;óöåeÅ©s“7îR3ëÕÍ,„¨Œ}ûò²ƒô9©»[{ý³5>y£,:k_AÁ¾íqŠºœõóGÿìá.‹¶­OÎmTÄfí;r¤ /)ÄX’ŸZ¬µo%9§Ý“ö}~îD^‚¢±(uýúudÖ‘sçŽd„è+²3Kí[¯+NO/°´yûvf,”Td¯O>ª]yúÆœRKËÛWP°og¢·æ`jò.5ퟲ/k¡À/­àÄ‘4Œß A¼\ÿ½d%—5™;XöiRú=€D!»·`*ÂÃЙ»qÓŽâZµ zjµmëéV ü¢üî½7B+}¼n»5a¬ËÍ©õIؾoßδ²Æ¢ôÌÓöÒ­=šŸYb JÚYp¤ /%Äx0=>³Ê´W¾‚Œ ¨Œ‚'2B¥z3-»ÖoÌ© ¦åÙ·3Ñ[³?yý¶áóEhŽæ”{&nß™õ‹è<¡³´X}kÃê «YYX´7 ºÓéñé5ž Û÷äeDS¥™ë“í0 ƺÜ|6*cg^JƿDŽm€¡'@W‘_Íz&F¹(Ãb½s2óKµ‘Ñ·u”’…%Å+iðŠJŒË_[X¡ŠVÒÞ yûâ(…RN(ãâü¦ÖÖ0>^´¶4·Ô¨JHÛîàž’¦Í,d5F°ß2deqiÂåàîž°¤°b]«¼h]iN‰^²pgF¬ Êè””†•É»w7®xøîm†êÜ¢NIØö´häá2:«Wæî>ªŽ\§°oN”½E¼Â"U¹9ª¸„P% @EIJ+ª4L¤ZòwW³Þ)iëBåàµ.-Ř}ZÛi¥Ü/eß>Vâ®”(•q±…%ÙÕuÚuîJZ"£(J"“J1ÿ}¿ø’Í€~Ì%×Xš¼´tŒåŠ'»O€áö|]KÅîÌýà=¼¿îºøöZ·32³÷̬>@É<ý‚‚Bã+±?8Φ>ÒÃ`ôk¸¾vbàgº V8ŽãQíDˆ'pÒIÄ8pp‘ „Nz¾6C¯ÑÈÒ'ß´5|øCQúÒÜìôºÖNýèf«Œ,KO’íqÇÆÄ’ûc(¹”_RFœêŽ«s}qzzÉ“ÜAûãßÙG¼ JØž}ŸLå¡ë¶…ÆéZª«««ªªêêJöW—ìÏñŒÉÚ¾ÉøaYͶ®‹pãÑÝhÓµ‚á˜à®…¹Ñ%|!ˆ'‚Üä3AáOLœ Ôsóh6EÙïöŒÞ›¸ÿ+½CG /%“Iì% :ë  õSÞV¿)à`y«!Zù õ;rFSÕÊ‚g¤÷èZhU¨Ÿä`u¹†N€o¿‘ºSíéÊeª IDAT¥Å-ë¼¼tu…u Hˆò¢A×Z× ²%¡·næÈ½Ã=!»®Q^öO­ õÄ"… ¡ ÇqÇÙl6‚ H’â¡ûwqÃC_pV«Çã×1ì1-…ùMæÒ73o_^RØ·iäÑpJv{ýII¨áºH[˜ŸÓè¹$%-É[!‘PluêêÌN`Y£ý•÷­Þî^ÀÚÿж"ù7ïzñðØÕ…Õ’ÜñÖ”„0Žf4ê®AQ÷~,ÖÈPrŠc—íˆ_Pï“’î©HÀXšŸƒÇþ“öLŽÿçêÜñ2•\JáéwרÚV ”<Éû(²…iQö›>EIî¼@Zîé ºÚüÔäÜýé»Ã pn™®>½ö%\Ø º0Ý´Yêðà,&èSCŸÚÊ8Ú‰?•˜µ”˜ú.„?ü&I2Mk' <¦Æ,i «3èsW¿™;FQ{¨\u¿ƒ\ÅêéKßL¿ëVÊ­ªó¶ƒ4(:ˆJ­(nIðò2V6‚*1Ì}¸}ÑúwŠî*Žj#3Æj&@„^—/·þãÔg"‘hÉ’(™Ü™ã¸‡ÉröèØÝÝUv¶´£ãúÆ_mz&–i,,ÑKBR²â žRÊ1>98(BÏ›ÍÖÞÞAñLbšÝ»÷7§þû7ß|ó€+]Žà*+¿Ø²%mß¾}¦ÁÞñR²½½ý|Z]E~5+ ‹ö¤ï¾œ‹ “±Õ…£ ²¥™9§´:­º<7ó ¼£ƒ”@+‚=)h-,¬ÒêtêªÂÍ©§UA0¶6j (ÃÂ$úƒ©™G«ZZÊó3Ó‹ZÁ;èwå! ešÜԭŵj­NÛRU¸%~åÊÕ°UÒ ¸ cizæÑZµV§m8½-=W# IS>ÒÎqN¢49©ÛŠk[ZjOïJÏ,ÕH‚ý”´*Øغü¢­NÛR¾+5]ãç  ¯mU ) ÐZ^ÝÒ¢Öayø> Ðf{©þÃ’ûá}C$šýëã·ì*.¯mhh¨­:]¸mC|f#xÇÅùÓ`¨Ýú³×íjaF/¨w¬ûðg#ã$0-XfŸŒžK¶s¿çjónÅ?—Ù_ËWg5y\;~ÏWý¥uêËêëý†Û˜§ ¬ t úË„…!&½N(_%<Á¿‰òyØ>ipRVŒ'[—½zå†mùŧËËOÍߺnåÆƒϘ¬”PéƒÖ¸o¶"=5¿¼E«ÓªNïØ¸råêì*Ã÷>È¥A +Tú¢Ôôª­N«®-Þ¶~åÊõ9 ÷Ñ—öŽ‘uåìn¥‚¢GÇõt_˜"iÌNÝqºA­Õi[ÊóSW¯\ZŒâ„m€= °ßpsŠ›x‚“²±¹óóÏOóxüÿùŸÿ‘ÉdßÑ XSSóÇ?þñر"!Æ4åôi.W/_š1cÆÓ~°4¿d+¢Tc µPqp~‰:Ì$!Iq’£é«Ó;Y A1ÛS"•öš,c…1sòÊý Q…Ä&e­uÖåæÄ¯×íË[œ’—!ËÎÍMŽ·Ï*“•´Î‹øÎGú¤þ›ó²Ü³ss7®Ö%óIÜžýHS½Ó>vfɳswo\ UЊ´Œ„ÐGwZž‘ÇædïÎÞXÄH<Ãw&E) 2%­65;gýÊx†%¤¥…s7¥Ç''íÛR’Y”_â—R°#»~\„@ðrm°ÕúÒ—ÜŽÅÑÝù…%Ù¥ûYJ¢ð JÈHí“§×´jZU·öÛÙªi¥nõ67b™}2ñ¯,»qqxT’?03vG­Su]ã]/$IB*»8˦OuçèxÇïÚ¿àº.Â`77ØÍõ^×@rÎZÂÑ ˆç¤áDê³î/G‚ sw-ÍÍ,(¼ƒ³–<ÔгʨíyTNÎîôøÜá i—¤íLxðК>Èi¯u;wʳsòSãsXJæ“•´îþsÅÓžÑa²’ƒz*$ú¶é-äáiy›½;{ýA#H~a);°2|¢õ#Ã0¸ÐÂÞkÑjµZ­V–e†iooŸ7oÞSz»k×®7Î>°Ê£rppx–{fhhèÿffˆ˜¯ Μ¶½‚aÍ®®Êû×u)›ÿÃþ¤Ÿù¶¾m$Iòx¼ÁÁÁ¬¬¬mÛ¶ Íôt^¹È×ÂIf,ûpuÜc|€ÁG{šè˜ÚÍïo¬ Ûyd³váxoXܼysÒ¤IXrpXrÑ‹QrÿºâÆE[Åÿ…îz°Y€ ÇiÕüðý_ë;»{‡ó%p–‹dãI‚2õŒƒC&›Í& Ç;9º*&LS)'¾RöWK˜v‚5 °$’¯þ‚ðzŸpÀ‚^„’‹m€=wL& &' áã9áí×]O–i:;oìÙ³WHóš[®vwwwuu3¬™ã€ð$±L&øuuÿrQ¯Ív]¾pZañõm7îLô2{ÔŽ‘¡ñ•±®¾ùô4€ÍŒbÞÁN¯’^7š€$I•›BéâÜ£¿Ùo0^U_3[,w­As]{¡±‰ÇãÉ$rßy“|^ÙÉð-g„!=Tï°õ|KÎÛdV«­­ý:Ïó˜äŠ;ýè`Dè¹c6›-  à·µ+µ=æë}$g8\ð'Ï)J7˜6Qø?ê F&n…Ÿ§ŒÚ«× bªßÓ}ü+³&®‹yE"äY­V£û¡—;Þs…wÛïFâ ^¾©#z‘ »yþ¹®}V3pý÷^÷9{±cÈ4ÜÓ-4Ø`pèü…FówœÀjµvéûºôP{•ç3mÎZOUO Áôqæ!h>Ι‰wÿ«[ß·§àhÍ?/MsŸôï¿þ¹èevaD=¸fâ8™ÓÏ>d‹ÍÆÀýæú3™LfÖ " xKÞòðŸ5¡íZÿLÏ gŠäa“Éúõ?;Z®ôütñÌùA®|Á04d¾¡3©R8¨¯÷[m¶¡ç%Òþ[??‡Çzæ† Ý}ʤÕfµZ­ÀÇ»kòLÌ‚XrѬ–½òè¨æÌƒ`“¸¼vîâµ! R‰øµ9>—ÕíêkZûË…4å&s˜6ïë*š,69::ñÜC”¢ýzgÍ?¿ý¶õê;þ!c¶Xëš4¸éü/¯.öã—у׳qW>g¾ø8ë4wéÊ5¸¢¹V|ºbé{áÞBB˜B·g?³ÙlfY‹ÕÊãñH’èéî¾ÔtI ¸¹¹©TB¡ðöˆ|>Ÿäñìסœ6I:ÕMb±r:½©K?ä2^(G¿7ßãk™ØÅYÄ# à€àÀLq÷‚$>†eX„^Àh †ãl6›Íf³ßvŽ…6›Á0p©ò†£‹@9mœƒƒ€ ‚ H’þéGwI‡³_ —´®µ;|‚/䀻, 9UÙ3Ș@(¤^™ÕtE}]{x$éæ2.Ü“ÿšôºÂÖNö·s½fÏ$§¾*sSˆ„šëÚÎn©‹|œþfg—ŽaÙŽ={Îÿ—€·^³žä3:à8þ·+~ñŸ×»L ;db¾øú¼@?åDgüЋœÍ]u'‹Noê6_ê:#$rYØLÇûÿAÿ¥òŠÞ©ïÌs»ÏlCõ9¿Ý«™°$åÿ •á÷^°ì××w³µµõrkKWW·‰a>Mñ›ššŽ?AÓô+¾¾ïF¾÷öÛá®®“H’ñÏÁÁÇ§Í–áÆ 8†µµh eç;> ?õ^ø¦J1A$w¤€ãnï½Æ|)à ð‹@/3›ÉV«Õd2õööŠDBŠ¢>ŸÏ·YmŒÁÀš»ëÂÍ7¯+&; ’$ù<-ŠD"g‹„ýî ÞàGè¹Eò‰K7¹Þ«Ö›íe_ôtõiìµðësš.·]×vÙãß+žÊx_ƒ²çdïÍÛº‚khº\Q]{MÛå zMQ9JÄW4ׇ:»{÷~mSÎǽëa6‚yðÉàWÞ/ûºÁf³uéôյыßÁï½° ÐÜUúIVqÀø„¦Ž†ó ÅyšŽøägŠÆþýù¢¢3‚Ÿ„Ü7"ô¢ºråò‰ÇêëÍfV(tà hÎfíèh¯©©Uk®À¥KͧϜY¶té¿þ[â¬Y³##× …BøŒÙfã8ÀÁµ…%WTn’¹sÜrö^èÔ™¦Mvœ(wp’ì©ÏjÃÛg0 …ü‰2Úf³•pïˆßzÙïÄpÇÙ†ÉÙ±$y±±12™ŒŠ³™»<Úbì3Õ×t1­49Ä [9àæ©p;Ð%ø|>Ç#H’7Òm›Ãn¢=gJ ”˜º Tïm™×r¥¼ò›ë7ºÍfón$á5Ù9)À ¾rx$7òZÊ e0ñB,ï7[¯jnôè9ŽºÐØüêìYînÊËêv†5ßÐõÖxÿ|¼‡£¥8ÙÛ9Íöe-ßl±†jë/-ŽxSH㘹èÅL€CMEÿèp]’üËPÀ{o•ÿ9¿z f¾îp~Ñy€?Á罕+C];öüvWƒ>ý}òWk~—8­£4¿àM½©jî²Øå¾w7ûõ_:ùiQeS· @8aƼ%?yo¦#Àº4?ÿM½¡k`ÄTuQE÷Ôø­ëgb¦DÏïeg[[Ûÿû¿oÞì žìêê&ЬVË×_Wÿ×ý?{ä8®§Gÿ缿è{û~ÿûßO›6Íù|ž@ `¸Á!‹£D`ã8 `’Bü/L·™-sfŒWß0»¹8LOAÇõX¿¾ØÕÚÖKS|/ùD¹Ðfãl_1qÂh»"B/!R$â8l61Ÿ´9µ¡¡aû®Ü¡¡¡_üâb±¸ïÓ'ê>+ØHÚÌ‹8‘„œ¥eÜÀtVøj75ÛL§Db±D$Ò4-øö‡Gz“>_åë ÏÐóÒ–ÏeÖôWfM¿¢¾–¶m§Åb™£ø£`‘¸­p81 Çû›ÄŒ(b‚/AKÀÁb}s^ A_|]×Õ£ç8îBc“¿ïÌ Î²ŽÎn›ÍV}±5üý×g´VT¦o¦LžÞ|µÝjµêzo¶wÜðš¢Â^ÄhîjP[ToÍqÉ^—Ðõ¿}ùŸóÏwŸ»æ—>šÃygŠöžœš²ä½5!y½ãCÖÄΛ—í)n²L]².BX¾çÓ¯öæOûD¿ÛbœùúÉOòÎôJ}"×Ì•uU*>“· ’ýŽùäÞâ&ƒpFäʹ¢¦“‡»øþž#ý—NV˜æ¾ç‡½xa¤ó§ÅbÉÍÝ988´fm\@@ }R2‚ 8Žó÷X½ú_ø<Þ¥KúÞ~ŽãÆ9InÞÔ÷ÝìµÙ¬ IžÓ8Ù—ßoŠqŸ¬Ož(þIäÉ1ÀÙ¬6ûú°Ú¸²jí•ký“&ŠÜ]%“&Š8ÆlëígßPºà7‚^êòh± I'‰ÄΜ©õ/ìßßÜ ^|kÚàB1 |‚#«m€´‚µ—géà³"òïN$¤³uÐòê·ùu·U8Ž‹Å"‘ˆ )@ <9Ü[oµ ô|¹x©upÈdÿyžÏä)7‹Àf‚–Œń_@’ (€ÇãQ|þkn®n…WÝ8uìê:¥u–7/|*1‡!€ €°Ap‚ìP7(º–  Bh`¦ögiûfڸ龛H,;88ˆ„4ÍçóG‡™A=.µ¶Y­Ã'7ÜI¸¬ ÎqéÿsÂaŒ±[ĢȰ7"ÃÞ¸ÿZß·ÿøàƒEïá~F/|IE†^ýL»· ÎÒ{¡¸ ²©×tÿ¿7©Ï|ZÜÐa¸ßL,C]¡LÊ~7)ÀÐk €t¼€/s‘Bƒ¿¹ç&þ6½•øë@~]þ®]{0Û¹óao-ðöñ¾+þÙv”:ΞýÊìÙ¯Ü>¨½…ã8‹ÅÜÕÕuãF§Ø4ÛõPå8G‰±Ö]ÒÿíäU«Õv¦²±4ųÿÙÕv=kæ$Ím†¯)‚_qîèh»Öoá¨)S=ñ»@/3Â>¦®ýg‚ã’4[­”?NùÓkþ{œf苳–ÿ.þ9¼ˆWyo»;M8$AÀ8Ô ÅõV‚ ‰›ì¤Îþ¹Do P8M&™2ÁI>^Àç–tû¨¢I1ÒFH<õŽ£šè ¡ÏÀàÐÀнoŒDÈs L„ÍÀõööÚ_#&ònÿIòcÆ?„0ŽEà2G%<ßÐqæüu¿0ûÀ.æë¥Ÿ|rcãç6äŸi2¸Fþj]˜›¡tkVqï=i¡¡àÓ Â9kþc¥¯àòŸ—×tOÂt‘ƒ¾×^ƒ`¼ËxˆLÀ,ú.ŒÏs×ɼæ·Ö­™ç"xmí:سëÏG'ü:ê¥ô‡ã¸îîÎ ¾III?~ü—¤÷B®Âh4ž?_URòYÍùê>}‡ÑÐ?ÞÁõf¯ÊMNá3cüƉ}ýLg÷Í_®ñ ù$ì)h˜¦ì¯ yN!Í›ªr ò÷0QNBœ£½ìp¸ˆÙl6Žãl6˲£±³Ý0ØÃsYI>9œïÍ[@¶Ûç{Øä~èò&ƒ â¦ófQ„# @O„ý?H°”Æ6QcäþÞi|õúµx·•ŒOò8› ’$ø”€àóx”½¯èв?FH’$ù|>IˆÐM]CÓ™/¾îíë€÷ü•óˆ*š¹  °±¦á;­äÈÌ @ðp¿!L€O4sÉ{S›_)þYM>®BSwÃù¦^Ιá*²œ7€ÙdèºT~¦Â†Ëj½»€ú ê]ÜËPoGÝùbµ`¨KÓ5t«ÉHà:7püWg®”óçJ»*Nv¸†ºLš!=óU÷ÉÃåÒ¹ü†“ œÆð¹ pyg]Š@4÷d¯­Mö5 ^òG4m6Ûõk'*åÎx<þw_Û¶ O?v  °ýjƒ§+9¦»ÙŠ¿²~{½ïÛ˺SiŠïèÀDKÛÀ¯Nœæ*R<{tsqwpuKHà ³‡ù¬B{æ|opèëÏvÓ™–m+ã‹Ø°íG¶ø?™ñÐ åë–æ„æ}ëþŸ¢vóû+Ø»{§Ù)zÛ®>]ªŠô—Þ¾¬aÛÊd}Ú‘­þ8:Üš9ÎÆq«•a«ÕjºX~Ý ·Šœm"3éííQ'àƒÀŸ|.ý>I°×¹ c?náêD ™/XCýl6Ï›ãÈÑhŸ§…0¹QfW’nï›ñëZžÙHZŒ„ÕH Coˆã³æq¼¡)Îß©}þ>fÕ$Z"upp‰D"¡¢iŠ¢ø|>ŸÇ³·Ú›ïšßåé9½îÍôÆ»RAY'’4ñ«‹c þòX%æù80-;VÆ7&žØ>Z*Õù?Y}:öÈvIêûcmøï6»uÌ’A¥ßqV‘¨Bb“Rbï(ïè‡3db®uÜè¸Ñ ZWËk¢Mí@|'_’ ¬ÇšÍ:›“}tlÎj&z¯p¬‘ $?Ê fj7¿Ÿ Y'nU.LÃÖ¥ë;SNì}¤ƒR[~Tã,`uöý©ó?Œ/O8²ë>ðQÞTWu´N®Ä#ÿY&@Ù¼Ÿ'KÿQôóMç+®€ÔÕ'Ò> ù½%>šÃ gòvÕû,Y³F”Ÿwþ«ü“~¿]:G𡩍Àü“Ä%!ª= Ÿ~¢Q…,ûù’ò]EWzÞýÖ*·÷~¹ÆüiÑWE{„|"×. u€÷Ö¼Õµ÷LSÑ^µ*ð­9Òâ CøÍ=P$xÀ‚—ÇqÝ=º‰ WÁƒ²°½ÝeÙsçÊþð‡ÿ<¾fº»Ã¿} ðv·Q|à‘0ÍU`´i€ðì—œÆ!ó§Ç^uRù×íäÈ5âÀ\Qßœêê0kÚx ùÐ74x½Ë<ï™n¹¡.¿B²p!TäWüC°K#Úëçç¾Gøxõ±æhn¾ÜóÎÚ‹öIÜWÀJ1þý å‘e9޳Y­†~Céÿ¶XL<‚´™Ëxwb²/´Mºõß8*"ŽIÐÀó&^囡OÇ©ÿiýâßÑÇõºgžoðCù¯(X€³Ð׆Díƒ7@rC˜ÎLpfÌÇœ `@ps@rµÅ¥ôsàYlR+—š]äƒS<ôsügú&ŠÅb‘P(¢)ÊÞBH¤½eFz“>¥¾ë\8SµéýtÉö#[|†V­æGø.Òûn8œ[8ær¦€ Ù>|ÁÍèjw'''§« ¶…ʱŒ=œ¤b‡á/7†x&‰HJÀÙ¸¾6/åß´v[m6øJËŸâ<‹ç&½NN{‡ˆ-+Ÿwc g1qš Ð|æáø*Ö§F=À°fðž1íJ[»‰aÀÑ^íϧ:«€ Á3’p ø1í8mÅîü–¤…ÁrúAÕÙR‡Þÿ“[»0\‰•ë³M€™ï{k}ßcùkk7¿6úÏy›³Vÿøáoý>Yœøû¨Ñ—øfÚ…Ь¬Ñ…޾Q?÷º{å"÷wb"rt€Y]ð;¾P„ßzNY­V>Ÿ÷ïÜeoúcY¶±±ñÿùŸÇŽàXD"Š Žð›Î×ö.|«]òŽ;IpÀ2Öÿó‡s f i>A½}Cµ¯D¾9ùí×Ý’’H¨‰r‰|‚döìWžåVëªó«ÑyqTg|~….ÔÞz +þÙÊ|¿ž­Õ½¾“õŒËH‹ö’hOoKÏ)i5PŠ ¸´´h/F—êR%¤¥EyÙë¨êm’K;¿˜ŒŒu>R04ffî®ÓP2¿è””XŸWŒº8;3·B€Ä/6%%ÚGÊTm^š-‰ 1VÕµ¶vJB’’ükw­Óhô’…Û7øKÇøH4èªv¥g5êY™÷Š”ŒuþÆ£ÉvaýO’vn ¹&drV'ëÓŽlõî,ÎLÏ­îd@â½$%mݵ£.ÎLÏ­Ð(UHbZJ¤;ÍTm^š-‹ ÑŸ®ÓtvêeaiY›‚ñjóÑD(±T¶ÆÓdbl6ŽÏ' ‚Ô^»Á Š],ÜH˞ЃܭΠIDAT%¯Ñ`#9 H)!›@ÊýùѺ¹k-Ö‹µÖÊ}æ‚ß2[‰qS ×™¤ë,ÒÅ›O±£½—ÀH7Qî˜3 8à1&Q+2ô:^»¬¨:É©!ÅD£û”)^úé¯p®SÄŽNöeH’'ðÏ>ùÄ3kT_ºõgù=+ IÌJ‹r§´å;2íåV¢ KHKãì9?<™»Lrÿ¸„ ƒ©Å&TŽ¡ÏgÙøñÃÍ{ é2 È&N°ukÓÍWÝ‡Ž H³à‹†Žð¸ß(¦½BR’!óÏÚúkÚ®À9³&)'òì s6®ÿ:×v¾=Äõ^Ž‚ÔO|볋ìuŸÕjðùB!}æ‹ó¬Ù ¯Îœ,ÖsÚ¯'^‘ÏG®«œÚ‹Ku' ñ\˜”±)”*ß¼>§UÉ«;ã¶ïˆnQÓÞYQc”2mþ‡«Ë#ãTUåÑ3.-š-Ü}ZÓÙÉz'lߥ¼_y=I<¨¥¾£h3 [ãÓëŒÐ¸ògK²vnPuÞ[³cxj ð‡ /ÿCfQ·ÔgYì[Ò¦¢:ð}]p>ôœ^p:Ëe½úûsGw]´ÎqýúµO þ¶cÇÿót#öü‡Ë_Ž*¾ém¾rãÆÍi^“¬|‚©ºÄ?ßÌ»ØbìlÕÜ`')?xÇÓÏKüß¿Ÿÿç¿]jlÕ'ÄøZ-ìþ£——$GΟì<ŽþÇ×?«¸ÖÙ=ÐvÝ`áĿےõÁŠ àgÓT[‘¯ñŽ S*!Ö/7·Ti¯O(ŠÕ”“öýÅ_Ê´äÇǧý5VVžY*K+øRF}tc|jŽwÁfO ØÎjm辤ÚÂW¦gJvæíÚD«óŸ[»+ÒxïGJ0椄Ä}ŸG*í´;¼`CTFJñÒœÐcwScêrrê¼³ŽüŇ]ÕŽìâjømaN[’žYç½óÈ_|¤ºòͫӳ+Bv„S° þy»6ÈA[øáÊœ’ØàXìõò¨HŠû0@(´@ŽãlljÆMì¿©ï3®ÒäKxbâšþ®?(9† @£ªx^^<ÏEð.a4rõÖº:Ë…‹¶æ3æ j®Ëœ+H½IÙtBê"à©€P'‚´?s4œ‡ƒ¡ýÏb–tk%†Nh®2W;é§z÷x½Ú/WÒ6–o5qBV1ƒç,‘HDE ‚{Ÿ=à ÿð¤F‚a[‹µ‰;ÿ¾Yª;½iefnÝ­Áù©éÞûvË™–üõë“zþõî#þ9?<1,°ð#í@ø"š8A®˜àÌçñ,Vëõ=³=Ý,—¬8ÎÝPé?cþÿ¼bµZ;{nþåTã¦uœ‰9þù¹cŸ• *«Tº8Ïžå5÷ÕÙ®N|[CÑXȱFûš-‹µŠæÎ>«Õ ³¦Oikï°ÿ ¯O—“= 6‚äƒ3!ózv†z¬rªhÙž£‰Úw"ÖÖ]·:3'·nd(o¯Î U[Æ(e@ÛX%IÛ±Ki¨Ú¼29µ0eß®¿È å›Vfç7,ܤ³¼Vˆµ¨CÇ~Ó‘¢Mû$e¬¨^¯I)ØLƒz×5»Þ–y‘ lîÚŸtŸ?¼«@èê³dÙʙ؈žÏ+N’tsSªÛ® Þ>Ô'Œtû4 ÕÕ_åýÏ¿(?mbÇIœ§)-¿‹p:só[µeÖdÛÄqœ›Œá¦Y'H¬ç›yÝ}ƒK—Lq–ó ‚Š¿Ž¥¸üú¿o«67}øö<7©ˆÏq0y’xnЄs_¶w_»æçãÆ“É'<«Jçh¡1(%H ~q!ÆÔ–%¼ì§aYX”·hUP,·¼UšqĤRz‡zS-z º¸S½Ð‹¯ØG–€”f;d!±AJz+¨:½‘i=ZAY ÝiņP‹™Ðàï<çk«+4Šè()ÐîaÑž99§5Œ'%ñ‹ô–€L¥ dŠpOÚþ3èõFÐŽñ‘hØräCoŸl·FÿÀ#QPƺ£%U’?÷à [ƒïúµ2jç‰0Z*¹_¸ r;õ Jâ$yª$Fµžìõò¨l 3€ãFïÇ7N$’P'§½Ù¹¨ÇØi6i9`Í$X Ž‚ÎßHà8’#8–FJЯó|CÈ© Ü ÃÝl¶^ùÚÖúMý…íú1nð&0ƒ`áá? ürguá¬ãlœ“'æ8>GØ8àœ'éfÎ! «üzƒs[ IP$ÐP„M$ìqÝ­ì–{ð'ÒbG¡PHQ>OŽŒ%ÃçñøÁSh$TEEûK@ÿŸ½ókêºÿÿûÞ$÷&á†7üHƒ?BµA×е±¶ÐP[ÐUŠ•²–º–Úí¦nÃläó-Ò Y‡lC¶ÒÙ†lCÜ[µB®JmImIµÄÖĉJ’ ɽIîýþ@P­ÕºzŸÍ£ɽçǽ¹ïó>¯sÎ}ŸÖ€9˜Y% å€Ç§å¨kk»l9qʺ0/}°Óm _GxdGw}µÓ•¨y{¼1JÄsfƆ“¡ö³ŸÏßÝO("гÀzQ‡é ÍÂÏ-R»Óå÷û~lªxõoñ³ãv½öf`»?Ûé³¶ÓgûÎÍREÇ(æ¡a³9<ŠàÃa vŸÖ´ †= #‚”‘áºkJ#ÃÃî&޲§‡€!Ê;¾ŽÍÖ/}ƒñ·` ;ÍŠ_W·×…ËpPê’•ív `º1Œ)¬L€©S“” S$˜3]'L¡"(ëˆt¾ØÞG-O¼´½?¹gOˆç ó[¤AygöÚ;³ùŸ‹ç†A…26$Lnêù$22"(ˆ“>Ÿ÷رcÍ»ÿùÆÞ¿Í–ÛK×ÝG˜&O¯]¯|: «"??…{7Øú…‡¾P¬‡öœÿSýC»B:²1 ‡œWpÀ!ÀAàÃqp°bÞ†Æ$"aˆ@ƒpÃ( 74Ä áÎ~Ìö®¿sÃgÀçb9ŸXH™#BˆE· d¢Ç-¡}'DbŠ£>p„„ø™È³Ý‘Žx%„#ìֳķ8šI. „BމƒÉððˆ‘PøuÆÁÆYƈ9Ø(°V¯ZR;Òá¤R=qTâlÔùueI£†ÏXëׯ7^E‡{ñ½£-ˆ&%¿"!¿ÜìÆ!aîœyñ³ÂBƒg©bÜ*“Æ!˳€òDÓs÷dþ_'âôûýû?úÄvú¬æ–Ùç\TŸcàœ‹ ŒÕü7(ï€Y)CÖûf¾s,ä£/û††=LÌŸÿá¡Ã7…BÁ“IqÒ¯ŒŒòŠë¾ÓÕhGM…1U®*tNm§¤½£º²Ñhg€qZÅe=óSXÙωz*|œÃšÌÞG™Æ‡^‹¿„gçùö(@žÿ"PM{ø¡wÞy[›x{@rçñxúøÏµÛÛZ›ïœëþ‘ LäŸ?Kx_¢èøY*>Š€EP)ÜÁR?2OÅÅ„Ë"gð÷>eÏ º#Cq`98j˜£ }èÞ8G_ï°œ°SQrqx˜8:JB†JnÑܲ깼°Ð0¡Pu=.Øe¬7yu»ÇV„ÙŸ]UßåJL†²Q4>âš‚puÖc55©J\6d–NÄ`´Se³PDÜd#”IdZÙ­ôdîÍœq:ÓÔe¤šX%…³\_iÏ­©ÉŠÃîÙœ¹Þy9å+æl\˜àèi,^_X®ÔÖVXØ¡.«Ù±Pàh}6³–7¡¯Ñ%—Z.‚p8ç8IhhIÿÂq&ËéØ#ôÿ=hŠ "@€C€EÀ‡p>ñ"¨8áDˆ!ˆá„€ |!r*B9) Ã,;ìG¯õŠŽÒ"p  …“>¶»Ÿv8Y'ËQPëfÇF‚¨‘2DD‹BdByˆ ?PI>‹PL$D€  È—ËÐèT,F„BAÀ}­Â¤á„’ÀÔyuS½ÛŒ åò1¡F]Í›´ç#ÁðÜ€D†“+W|ã¸Ð`†‰€ËºzãŸ9fˆó $"Í?Iɪ|GpÖÑïóù¾°ž”JÄdhHÜ ehp0LH¥ç©Sg¼‡ís™½_žuPgX–€°ÐàïÜoþò¸³€å8X|×ü{˜6ŽD$…™©ˆü–ë|ÉIÊÇÞC¥G†M¦°SË6}©1¥ªjK‚l$&îe–0™•Ù.C;^dïçlj¦ñ¡Wàâ§òì<—ëù[ÀÃóµ³|ùcF£ñ¸Õêõ2Ç Qo¿ýÖŸª¶ô›cå>?‹1>à8 0KÁÝûÿȶÕ#÷bA $‰@fD"·©IóQÚ=ðF猠ôÝ¨Ç—Ì J„èòÅ3SÅ!8Íø¦³6üÑG—ß}÷=š„„[æÎ »ë0Ôw‘éIã^R&¥+Œõ8 Í&ÐæVƒS•¬–1N'C(T$àêÙSobŠPêÒUöÆÆmiÔ¯\_o§'móÕZÆPo°ЖöÍ·vO»Eh óæhK[£™HJUá——jB•(§“Áu§-õFŠ¡ƒ›ÃبI+ –ÆuÏnjwÈUjÅ…þ‰±Q@Ä«äàènl¶ã`hÞ„¾&8¿ÿ`Y`Y„ãPL(”E+”·Ü6S³NûÏ3øæãÜÝœÈÀrœ€ŽŽå€Žã860È!œë6¢ÿ’Å€Ž | pÀBp‘†"‘:C ø.|0H”&^§ Ú43¤òV²övùÎEQ¯§(w¥(kˆ,½'â'·‡=® N-½=Zçýƒïîÿho{çÆÒʬûß_”l­}í½:œƒÃù7#:jaâüOL½'ígò/~¶jUÜçBǧ‚9Y ò@nŒîô¤vJSN #ã2ÚÖYßjfÄqÁ¨ › ÂFÜÙUXÙEö>æð¦ó¡—S(E}eÏÎ3 ?ÈÃó5û!˜wkÂܹó †N•*.$4äßm­ÿÚY#c?yþ¡‡~iç†<,&Bƒ¢`©_Šûáüë‚ÞåA œ:ÑóìþwOL”lñݱB7ržAçc¹÷§÷÷0ñóÓRR¼Îa;êMŠôü !”Iéªêú›ŽL¡#šõO•ZíNB»¶dEàdÞŠÖâ5™$©Ðæ¬ÍO*,.\__µmEY¾¥°0ó^'ƒ©’òÊòâq°ORœlaAYniéš%åL „`fúÅXq+Ê lÅ…™KiÖ–­MÀ¾ŒTTIŽ­ÍUë 3%¤&kmþ2³¾tÍEMNºŽ)]³Ô”W³ý¢h0qi¹©ÊW>X „:­ hÂDB\V^š¡|å’z’T%å­]«Õ—ë ã+rx[úz$ w¹– €".‰‚ƒƒ¤R2,lhæÐàýƒC'N ŒøŒb¤'H|’E|U £ò8„ceSÞßÙűž\zÂAîÿ\|–‚óëEÛCã8àa5ãFÿǬ-QžàhTÈJüE@€p„Åða¾¬¢nÃØ”›L=ÎMfe—±Îòb{‡‘ñ"™nzziÓÆU©IŠ]Å™¶—ÕmžÌ³ó\v•¦ùáfžoªoƱ,ë÷ûý~?Ã04M?~|Ñ¢kµ‹Ý‰'BCCQô« ÔI¥Ò+½´®®®_—n~úéô÷÷·½ö÷hé‘Åw@L8°x¼Ð4üË ºg>{«Ê—Ú:À9ȾÕÍ~vR¶öiÝ=ßUމEŽãX–ëúôì?ZŽG¨îyò©ÜY³f]½üþZî¹£}uvmjÝŽ,>ˆå·–ebcco@Ë•\ù»”.!Ëq¬ßïõù<Çíòžò M€›|Âã4Öç9‡…%`(†n!£ï’;E#ˆ_vØ";l&Ž})rE¸aõކ 8 8ÊaŠ#ŽŽ†"8 8Âá(‚¡† 82õÑ=?#|a.3á–Åú¤ ‘8H,K%‰D"‘J±@ ˜Àþàf˜ð áÛÞr¿1޽Å}¬ïpg}‰-øOüÂrò¤ýLÿ9M3Ça˜(DF¡Á8Ž3 3ìöœuö»¨á@ðO1Ž¥}7.=쳈þ÷? ˆ8¹[Ì͸Q&y{ç-÷Jàçyx®ÁÈ ‚ÜvÛmZíwþþ÷¿õŸ>¢yîD$:Âáœíg»zÜÉ ‚¦Ë 8ÂdÈ}Z”rŸ{¹úÀžú΋âp‘€ã8?˾ßmÿûë_Êg,|4sÅÌ™qüÍçá9Ï•÷>jJ  …&–HØà`?Ëz½^f&ÃÜÁx<Úã =´‡fh¡ÍÂO âös"ç9ìô`ì?>DüÃCsåÖgÒ]sg„ô~nøOpOîêGYZ>á`t„CQV„±bÜOH˜àPJ1Ó—HϘ¯ˆˆ’J¥ôa І GP*@AÆv„àgžIFs>kâº*–ánÉ€ÀqÏ@Û«Õ,NüÎbŸßç÷³,Ëö9>_àß^¿Ÿá¸±m`"¥Pˆ|g/cÉÇív»ië¢ÐÁáà9Çüb …¬X‚H &Âq\Œ‹Åbq”XŒã¸X,)”±Ýÿxçá¹ØÃÍÈþrÎÝÏ ‡ê‹r ô}ÆÒ.Š@ã— (‚¡"ØÏô?=lìùü‚¦@FH£d¢»ãƒSHkÈÙfÝ' ‰,\Ìyˆ¿Ï<7‹|÷Ýwù[ÆsEÜ{ï½7áUswüø±†sº9rR213‘ÞçG†hŒ’Ký,7}—AÂÉC`Åý"éÿÓߺ:ö&Ä&sÚ#O>ž3kÖl@x£õå©Ûö¥òFÀóÍõ=žKÛ©ßïç8–e9ö[¿„l D A(ä0,°1Äã„%2Êøï>ŸÏï÷y½>ŸÏçõz‰p1Žãâ‘9¾À¶ï(а,pÜøÊp£oþwÁ·<ßáó¸™)Èorô DZ`}Ä!ˆ|.ÑHÔÀ¦\}#‚‰ èp™*˜+sÍ :é1 ö³À±€0PÝ‹Üþ,uy{¿‰ Ï´ÚhšþÕ/KDžO2ï÷9!øà°;X‚ß—(p€Í"4 r9.DÏ1~pÀÓ8E8B)ßE•ᢿ¶²Û1jŠR¤\(ò“<<L)Y–¦i—Ë544äõzQ•J¥²`™D,…È¥Çc&î.xY-Œ¼Ô˲Ëú‡‡Ýƒ®AÛñãÇÅÄDc8Žã8?ËÇÃ󵀆ÏåîÖÃì¹àø8–óœãNv!B1ôe-$bÈçBˆ ‘F„¡þ”Ûbµ1¢0‘W. õž þTâÀY ú=íHˆ ùî󠺑’üæá Ï…¼úê+Ÿß|a™W‹ÆDÌÇéìn6 4Ãúü°çö°nF°õµ%éSFˆ¡žˆ`¯D݇LAÁüY‚Ÿ?)Eî­nÿ¿þQ*ä‘eb±˜ï;òðLèâ“G†ã8ÎGÓ熇{ÞµkW`à&...;;;* ‰._1~foÒ '*D˜êÀçóy\®îO>ÉÌÌ€ ÔÕÕI‚CĘ„¼DþÓØø×ɇç[‚Ë î^4ö.îH3|üW:Ã1CœÏ”(;wöÓãHž2IA·|Yð$"ão,ÏͨoÎ}<<— Çq~¿ï“CÆßýö÷ÿó„ÿ–èQÞÐ>|ø¸ØÍœÖþsçÇ\ŽH$T͈Ùï}~Üþî©~§câgÉoGÌFfDxÅB/pѦP.* h/|b¦-Ç¿ØþÊV"ˆH_²„›¸fŒ‡ç&‡"6&DzîÁAç™3/½øâþýû_FFD¤¥¦âŽ¢¡0tLzqÇ6ÜC ‹Ù‚cÙ± ‚ Õ¤H-”ì(Üü~¿Û5èu»XÀqCç܃aŠ ¨@€¢ŠŽHÐ@Æ¥ šJ(òðð\¨à¢É‚9i܉÷Û‡\ßa8gå†ûÆfö¦H†"➤¾bAP8ô…çæU€<<<—ǹ¨¡õëšýhçÀ¾ÿØ7xWò²W_Z«ªÚ¶­²²rpppLÉ©fÄü¡j;ÇqçÎë;{æÈç½o¿Õ¾¯ëƒš×ŽáÞ{´Á÷iñ9JF&ñ°,:qŸ@8î3+žr§hÍrÿ»Ýæ7^¯ ¾kQÿCððŒ“€“tò8¿ÏG¹\}gNùì3`yffsss__ßáÏLR©$,4ð2ŒÛí¦ià8Îçó³, ' p\„a˱·ghˆb¯ßï †Iƒ‚$b±@ Æëõ¸ÝCÃÃ>¯×ï÷$œëÜ ßë ÊqÎþÓéðÐP(Ä0Œ ÇQÀï÷{<Š¢|^¯ÏïGD(H$’   † Я°•‡ç¦—!s‚™÷#C§9—qäú‚ë Æ>šã8D€.C¤rŽˆ°Y ‹AQ â#îò𠇇gJÎxe[Űãã‡ïÙÿ4½'X§ßœ‘‘&€¼¼çÿãÿ8pÎ4ãýÒrj`` tuü-K—.u»‡Ož<ÕÕµÿ·½ü÷E¨wáüàûæ{f+}˜PA ; 0“ €eá–8I]ë;49{N<ÿ*OT,žt°†á¸Açøé3}ƒƒB‘èW¿ùMç§NÚ¼¥¼¹¹™f9A†¼Þ7ßzëË/¿‰D?üðàà`YYY__ßÝwßýüóÏ GDDøý~¯Ï÷ù1Kcccww7Çqæ…^ <¹\N„Ïç;ëpø|¾ãÇÿõ¯=|ø0†a÷Þ{ïO<ÁxÀ‹ 1³f577ïÝ»7>>þç?ÿ9Å0¸@084ät:Y–ýãÿøöÛo‡„„<ñÄK–,qÑtTT”_¸Z•_ÊÃs Ï@‚gÜy É»O^òðð\ÇÑ4ýé'‡þRûÊKφ³iónØø«ô%KƒƒƒçÄÆÎX½zµD"©üÃÿ9sšãÀåüw[kö÷ŸŸ•T¤V«Õjõc­°Ùlû÷¿¿÷õ×·ìúDæN[ˆÍSyƒÅ &á0ççàƒ#ðï.š DÖ#onUúÂZ}tt,Lû¾Ï5ÁÕ½u½~—•L«¨Ë£ÚŒªŒT~SÜoÔ0'›dý~÷ÐH(üKm-pœfÞ¼£½½·ÄÇÛN:üÙg‡>þ811p îÚ¹³yÏ‘Pø¿ÿý“O>aYì1aÅÐ IDATß_»}ûÖ­[ï¼ã†mº¸U ËdWTK›¡¶¾7?m¡¿º|xxnz?×[¿fU-,+(kHŠ—ƒËÒU_^ºfUoE͆į՘èžJ}¹9­¬nk¢€¶uV®/Ô—«6&ðn•W€<<7N§ãí·Þ8iî\óç98`gpàÜîý‹õû€Y3g ‚FŒã4M¿gxïG/¼àöû|ŒlÖ™ÿ³Ÿio»M"Ïž=ûÍ7Þ°X­'NœH$î¡¡°°°ƒ|pÌbéw:ûÀ=<|Ún—ËZöî=}ú4°êÙgŸ}æBFÈdÁB `àø¨ŒŸ3çá‡býþ­YÓ±oßé3gŽšö=‹ Èmm€<,LŒã§Nž …ñjõ©“'?üðC©XL{ÙV\ÜîK}a±A•_×ÒÒÒT’l*Õï²L¸åÕÖŒŠ––––¦š\â@«É®ÎÒÂzÈ­iiÙÝÒ¯07Û”ee+˜®¤¡~ó/7¯ 1]Iß7.O`LF;¸ÌíN•šé4¹Àfê¢Ô鬷¶¸Òš^µwß¾}u¹ÐVZÙM`0f•U·oǺxªµP¿Ë«iiiiªÊrVë+{hÞî.ÛÅ¡ã?Špnš¦ú½÷ßl°þÿ^|ñÙU«ÏÎöÐ4Ðc2õ9œCCC~¿Ÿ$pNdTAʘh‰TúÝ;îà¼>_ŸÓI w<˜óÔS%¥¥¯½þúÇŽ!A úŸ÷ߨ^Ú’%‚D)”áÁ¡!¸GP4p¦ÃÄItl "@q±˜ðùý†bØÙ¾> ÏéÔÿüçE›6müßÿ}ûw8€a·›@û׿Æ+×d$AGáúÍíݽdJ¥×r}5•UÕÔÒÒR“‡5êK;]”±]¾¶¡å•<‘Bšš;ut5›È´ŒxfšTSÊ¿ 0€a,~iKwLj–z}©)¹lï¾w÷V¤Û+ «íº¢¢$‚L+«Û:Ùº7º§º¼ƒ,hhiiii(Jv¶&¶®ÎòÒ2¿aß¾}M%ZSeéήN2oëö;ëòICe}/o™<×Ë®âJsJÅÞ–;J’-{@NéÈìkrÑöí;v×ä2»ŠÇ;º§R_iO¯hjÙÝÒT¦3•ëk-ò¤-ÕÑlœe1tPš¬¤qºŒ6·š@›¡›0Û‡«3’Hk»Éc2Èr+¶ïØYW¢5–—v8¦ªŒÝГ˜¿-P·=•m¶ ×)×dh»ôú-íÝ €Ë•J>u¯ãštxÈÃÃ3¥²Û÷Þ”¡Çt·¢~–;d¾ûî$±X2éÉ'‘HïºëîÍ›ýs½þg£$'ßG²©ÔÚX|‚=ôpÚK/½ôÃ6„Í\öÞÑø]¢÷>E.¡P€ÌŸ…Þ®:ñú?«þøÇ?¾òÊ+{ö4ûò‹±Pò×—©ÕL¦diåò¤,-˜ZGœ‡:#E צ«ÁÜiuY[ NuNN‚ d‰9 óH'#“ÒÕ2À pÚ©ñ%$ ÖÖÆö› ËØ´9'¿D¡“ûuF’hs³t9:9È“ šJ’ä¶®V³"+g¡ðø´µ½µk‚ÂH³·7·v[\¸2uã–u‰2ÚÜÚºœ$%€L›•B˜[M“z \®vvš@[ÛÍŠ¬,µ½ÝLƒËÜnW¥kdxüºº½U9q8(uÉ Æ:zé¤6]+—±ÙD¤å&)W¦ähC«•ïh^&ˆ@0þŸjxX€aŸ9ÂÉd3ââT3gªfÎ Œd¼~éË/3~?íóq°ŒÏG¹Ýç\”×ïïýâ d!!§ÏžýñºuÔððœøøæ×^+*.^÷“Ÿ’ŠrÈÓ`»©þ€-`&Ðå¦Åá ×å$aÆVSà¡S¥&%ÈðøŒ1 è06›éqÓ§ºŽîúj#¦KWãã .mé“[‡­«Õ®ÊH‹Çðøœª¦š¼ifÍq"Ž`LÍm½Z–³ySFÜ÷©¤©¡(Y2M²sö:UÀ4Yj*AÙ¼Åñ\¦N«"%=!`hYIÝé§vd˜6K'PêÒÎÀ€d@ÌY[»(MNÀdñøŒ …ÝÐe“i³tLG£‰‹¡•ÒæLP{E1INbC@9îK•‘€L“ªÅÌífzʺa„6#P7R­"(‹s¢oS¦om¨ÈUSµÅ+3?øøêÍÝŽi›…¯¹ðí…_ÊÃsUøý~sïçíoͼÇ„¬ßÏõŸc£cTO^ E"‘Z­^·~ý˜6CQT0]n,ÏààÅ‹¾ãÝÁƒ ïvïÿäØÉÛãýóg"wÜâ Oùì•Ó,Ú³Ÿ|³í¶ï?™{Ç:ǯźPÊI1˜’ÀÇäF™)H‚$±ÑA8ŠÊI1¦Òì%å¯ T#Š“c#9`• O/©‚ÚÚÆâ•ÅvB³,¯`m:6e¡“CD D§“Â4£Eà2´ÝFµzÕ’ÚÑJ1¤ÚIÃùu ²…EUµµÍ¥«Jí˜:%¯ ?Cát2˜†s~J‚風É{Ùšt•½ÓìÒt›ˆä-ÑZßiuA»U‘ª•ЖŽêÊF£ÆiecÖ#WG9)ƹkMf[ Ò Ca:¾£y¹°n÷„?Y¿ghØKQ5ÿ÷œÇƒl«¨Ëå¡¡¡.—khhè™gžq»Ýï¿ýö™ãÇ%‰Ðï<å›7766¢^¯¡½ý3£PÅÄý~W__à„È»ÅñëÚZ@Æ?<¼~õê×víòù|/¿ôçñ¬\¹rØçã8®ÿôiÿðp ­ˆe†ššÆ8nìKÆåÒÞz«Íb9wöì§~øƒü€¢\b±$((ÇqzpP†a@Ó‚\ÅèŽ,!}uBújpX´Uë×;jêrN†2é3—Œ=t  <Þ6bI—ž¡ØÕlt¤j»ͪŒ‚8`ÌÓ§ºÆ°~ñ½£ã,š”üŠü…2 ÇìTÍ˸Æç"ë`( Å`ä8+€KšÄåT”µõµúÊBJ¡]¶¶`]ò„©B‡qOem«™ ¬ “6ÚVaØh1om<× †¢SŽŸßwêìéŽö–½|âå²ß«ão E_û H£l=â('C(.…rŽz †r2˜šBA`º‚†- 'x—uÚnj|úºÍé믂îÑVMQ(@w“ÌEÝ2Œ$1Æ9z í°ØAA( LW·=}êx\êêM©«GÃUÔjê’'äCY(Œ$‰q…÷`ÚT²¶ÓØem¾B‰i¡±ËfB—«°ÔêK)UU[d–úÇW¶Ov{OÖì\ÇÛW²“ñq€0^¯Ûã©Û±ƒ ÃÂÔññ$I†‡Ë)jÈf³…GDX¬V·Çc?sF©P°ÜȦÑöÓ§ïOIãøðð0 €cØ‹EE²ààÛ´ZB<è<øá‡ôz†aYà8·Ç# Ÿ}î¹mÛ¶ÀË¿ùÍï+*‰­¨¨™*àD  D"ÏÇŽnS‹ÅR©äÅ¢"Ëñã===UÛ¶Õþå/b÷³¬ÛíþÅ/~þôžF(Œí;?r…W"=FЦŽÌÎÉãæ¬]Ö¼²ËLa ’ ÓÊ. ¸0q`<.%CUßlìeš­ª¬%M^Fª ìq,Ì•7/S[‡ÍJ€ÑNÞh´Y("Ž„iû™36€ËÒZº¦¸4aôG,ùÆ jjR•8¸lÈ,å ë›Ða9E}yüÔþ}~ÔrÖÙϲœŒÎœ8Þ‚[ã#È0‘è|·ö­÷>8Ðý©‡fdDÐOŸrüÖ)Îs»ÛÞ²ž<-Á±ÄùóºÑØ¡#æc톮3ŽþKÔ$Y—˜š¬ üÛëó}tè³Ö·þs©Ç+4xIjÒœ™3¨áa†ñ! BA‚¯Æ #0`l̘÷q2#ã“82úŒMÍþEœWN@c¥˜1뢀ˆ#pÀÕY)ÄúfcoB;s¡\ªÒÆ.ÇÂó&´¹ÙàTçhåÀ0”sÔú('ƒ‘1Eݺ/}´­Û`&tÉñ2\Ÿš·¶³mý+v};ßVøU <˜¾ä‘åË—=öXxt´BG*®¯ÿÝþ‘•§V‡GGÏ?ÿ©Ü\Ý=I¸L†Š%\à•ÝÆT[¬/lì¶(Wokm›]¡ÓÈqu†–1Œ<Þ´¥}óÆÀó?eR†Â\_[oUÖ˜]^ª¯¯y™Ò:”ºt•½±±Ç@[õ+××Ûi êBë•ÂíŸÝØl¡@¦P«˜xãt2„BE⮞=õ&†™"žkÍ0|ÜóÛê%¿µ¥Ý`>vüÜ å¢†NÙÏþçƒÿïÏ;7WÔ´œsoömgÎ?=üÑ!Ó¡žÃ,;apÄëõ1[>:dêî9rü”}ü¡s.ê³Þ/>:dºÄç„Í>N—²gý—>ÿÓÃæ@ÅÆ{ÎåúÂrò¨åÃ|ÅÇH®Ñ)ìÍ=48 õ]+žÚ‘1ÆFƒh‹¡ÕJjµcÃ!¸*=‰0Õ<²«§±Ñ®J×*!°"”4V—7Sº,õ…#4ò¤ü<µ±xý–Ö @»,Ûôú=ÄŠü´‘™skss/ .c³‘Q'«ðéœìPÕ…úÒæLj`ëÙSÛŨ“Uøõì|‹áçyx®ŠÈȨÌDzҖ,ÿeX)^'ã L …Â3TQQŠ;uºî:;Ž8νëù%Ò kµÏ­<½¤¤·¸<{ €‘Úœ²‚Ñ•\­¥rÍãf»“Q¤-”$¬-Ë//^ŸY«™S+˜¦—(Óäf)ŠõKk L¡Í+JS‚L9I¡ K[›Ö^¾æñf’ThS“]¹XYrA‰µ¸tåÒRHMZQQº §¤ÀV\œ½„B½,¿hÂŒŸ•£).Í~ €Ô,+È‹Çeñ%ÖÒòUKÊiJŠÒåã—šáªÔ$Å®âÌGÛËê6kS5Ô®6uÀ•ª’öBsJžuNžN_𽤒T¨3òòŸ4ë+×oRU¤N¸½E%–Òò•K(ÀT)k‹T|(ÐË ñz'üͲb‘(~öìò—_öûý8ŽI1 eY\  ~ô{ß{855ðÞìàà €ã˲Éàà;´Ú5Ï?/Â0Žã¤ !“aæ“JÅ"ÑÿþO Ç0 *@U\,@Q©T*‘JE"QX”˜8Þ<E8–CQAQ ÃÂCC·¼ük¿ß/ÆÅR©T„a4MþâŒ×‹‰DÒ  ©T!“J–>üðC©©‚Ç~‚¤Ò`©å8ÎçûêwG™UQåÕ¥++í öL+«Z ÊrKK×,)gFbljdÏp+“²Tå¥f]IàE]Vª¯£y±\Ú:âV”å[ 3ïu2˜*)¯,/Ç]©:¢PŸùø²Šº Æ’—'åft–®_ZÉ``ª¤ü‚ñ‘/@ž’·¢µxMfI*´9kó“ ‹ ××WäóöuÝðÐôÆžÚ†=}Ž~Añ³TêY*9qêLÏçfgÿà¹AŠã8úµMlˆ„BÍÜÙòЋ͉‹4I°Œ˜?wŽ¿pî)4$˜ €™,˜ b•Qlj¾r'!.§(ÏT¸~ñB¡Öe¤¨ºLo'qd4FêTÝÅOU[íNП?°Y<Š¢‚pÀŠ¢E9–e9Öï󳬟e9E(¸œ@œ^EGrœŸe9–xë÷³ÿ8ŽCQE Pó ;Ê~ÿMñÌñ;¹Û-÷¾´ž,ݺÝ~¶T1Êd}ïNm˜Û=i;ÓÚaˆ‹U&-¼]">ïqþÖÔ²çßï »=a!²šß …ç[ƒÓg¿­ÞñYïR©dqòÂUOfŽêêþ´n×ë–6"HúÓ>uÇmšKûwšaÞ|gÿ+;þ ê™3~ñãܨˆgA!}`ÃÒRÕØÞ—«sCvõš+Þ4ž·ÍÿËåçyx®nåÆÐ~c• lKyÑŽð×vCžÓ—³ü9pw¦Ï)œ×¢}ÎïtóçÇ »Ýƒ.tâP ŽcÏòtÍ9Žf¼zÂÔ  ¿ÆÉÉë€ë@u¥I“WÀopùm†W€<<7…"½¡”*Ïu³‡+8wœ±`&“É~õ«_ýOAJ‰D"ä‚È+ÓJ²Ë;ç*“ßTÐÝ›²×w`ie~yÁÍÃ0‡Í_Š¢±ÑQ‰ æ^iÔûw¯Ôw‚Œ×g?ÓwéTšij}«ÃðÁß'/L|ðÞ»&Mr¦ÏYó÷& >áÑ$CCî[ôݹê™ÿ%÷ÛÒ¸zU¥Uµ¢¨,UÎ?}¼äááá¹"ð„ »[øÛÀó óU§¾(Já8Nú| ‰Dcû»ðÓéßlÓ’¸i÷»›øûpóÀrÜа'`•1.¹ÒˆG>¿ÿÈÑ+ïá÷û¿°œ¸øûÙª˜©¥æp÷'‡/ø2F¹àVõ7e. ·ìÛ}eIâ²¶íËúÊÆåìØ—Ã?´¼äáááááùæàUJ ˆ@(ä„Bà¸íç÷óâ‡ç:#Ȱà€8çröFEW”†aÉ Qôü ÛCzØ Px“ù8†ß¨Žç[§qL›pË‚[Õ÷|î|íÍw¨¡¡‡î»;Z8r+ IDATƒÔÐþ½ýŸƒ˜HôýGŽŸ÷ Æ\A„BÁx©ÉÃÃ+@žë ëñð7‡ç¿edDnvFåö¿;nëüWKÇëov††ÈPt »Ý€¢¨P(ÈY¾dÖÔïé]ÃnOí?šwîù7\´ø;qÁ­O.Oç^òðððððÜxðQ[xxþûAQ$nFôOžËyãÝ÷™zOÚÏ2^ï™>çHGV(ˆ”“Ú„¹Þw׌hÅ×U(˲'l§'W¤ŠþGáá ÏÍÍUî{7uõ´°”ô©·Æ;ÁѾ:»6µîŠwæüî­ëõ»¬dZEÝÆü¢B]«3+“kvæÄñÕ×Õq”Hn® ¾ú<›Öw8UOVÅU¯/íb´ù5[3¦·[g³U“±pbyÚÒÞáÔ¥'^¡uÓÝ3‹ÉІ ñW·åõ1äéoEãS+Ûs›¶¥ò»bmP4nFôS}¯ïþþSgúNÚNÞâ –E+"•‘áQr©dB˜Ð»¾ûe”ßçÇ0ÑøÍ@F=¾ì¡sƒ.¡P¨Œ (*‚¼ïî;ú/QõÌç»ÑB¡6aîOžÏ T&XF\—ûA[Ú«+kÛº¬ mJîÚ¼ôx¸ÚW/­T׌3úÀ†¥ÅDEÓ¦èÝš½j—sbFXRÅÞÍ‰ÎÆ§²+­)M›¿{®ÐÝ›3õöü†­ã·»p´¯Ë.W”5­u®_ZlR­mßjØšŸÍ.7kJö~«vºç ÏÕ·¢ªa™ì¿ Y¤ÍõÕÍɺ©àùäIe :ìkÞ ‰¶w¬š’¦­|È´µâùê\M,ЛÚÚÞE%UìÝ”Èt®3b+jÖ]Ö³i3ÔÖ÷æ§-”ã2k®®—«¯XòðLŠDŒÏˆQ̈QÀÄMá'e¶*v¶*vÒCR‰ø»ß¹ur‡}EÒ46:*6:êz©¥qýªJ*¥ ¬)%AŽÞŽÚÒÒ5zªf[Ö´QR5E{§š¸@õ|{Á5Yiäªzƒ-õüÈ–ÍPo"ÓÖjp0aon¶d­Ž;Øl'¾}÷W€<<ÑfÀѹE_ÚfÇH…&%•b€œ¢Y ŸZÙœ1:±GwoÊ,dŠ6k­åÅÕ;@¨Óò‹ÖM˜Žtõ^\út-Òhá]£y–lH–ƒ«}uf½6Ocn7ÙívJµ,`§tocqauE*TÚt5‘‡çÚmWeµYSÔ°qdKŸ¾¡L‘Ð}-Ugkiqu—B³¬ hu¢ hËÅFçh_]¯]A¶í²/\εÿçÑË2Õq©RªjÆ:}5ì8°­¸|ÉÉš%«ÇBáñYYê=õÍ–ŒQ‘géh´ª²Jâqp`ª$ÕÑØ›;2‘jinvjt*£ý[öñj¿ ¼Gÿ\ ¿—þyÒ{ù9X^ú>ê½A.Èmùàƒ“^þ‡½éÁ€1 r·nÛQW¤1U6’ùÛ¶ï¨+Pkë{h c¬TFÉöí;*2ì•Å{ÆmÒë:P®¯¦²ªšZZZjò°F}i§ë2òt´ê÷`y5---MUYÎj}eHÕ 9eÛ¶ï¬+Ò˜ª«¿º$O…©óëvlLÄ]å¥d~þ}ûšJ´¦ÊÒ=6|ü cÆ]¥…õ[ÓÒ²»¥!_a(.n¶ÁdùO𼓥Rf”•­P`º’†Æ–€^X(cïêYX°³eßÞ õo•ÇTÈsY ÁMõ¹²»3É£ñ««J’2­lgÝ«5›4˜"¯jç–t¥¥¶°Ü¤-ihÙ½»©"ËY]03 ì]ÖÔŠ}»Kž..J"È´²º­ã&”%,6§=•úJ{zESËî–¦2©\_;q‹n×€M¶ìÞY•+ï42S6 ʤ,•½Ù` ôKMÍ]XRŽë©Ô—›u% --- *Caa«c\ïuòÒ/Ù"нµÅ•Öôª½ûöí«Ë…¶ÒÊn:`ýæ[zѶí;*R¬»*»–]ŕ攊½-;w”$[ v^ò\3-fn7&K7a‘Š<1==Q~íice¥QSÒÔÒÒÒR—¯²¶v9€žÔè0 ³ÊªÛ·£ óñË5Õq©&,:øj.˜î®,Þ¹5ûöíÛ[•áü[qmïD·©LÉÑ8ÛGœ)ÝÛÜh×䤌¶]XBF êMôÈÁ&)#ûÖ=H¼ü¦Î]µ¹l#ºìÔ¢¸åz}öÑq-^Ë[­†SnþGåLš¤™"ÀTé:9` AÙ©À dJ†F¸J§#­fÇy§Öl]nZr]Nfl ´¿—ÌÓel6i¹IJÀ•)9ZÆÐj¥Se$Åá S%`wRê)K.ij(J–€L“¬Áœ½NzrWÛÚºœ$%€L›•B˜[M.˜&ÿ©SM ™”£S€L½P9ÔÔÈsY.½¹>WÂ#Ca7tÙ&œÐibÔ:9àñ)YšK4 ã$ ËØØ…%e¨ÁÚjpªsrd KÌÉP˜›ŽË(}Ê ðøuu{«râpPê’Œu¤ÃȤtµ pE‚œv ¦N«"%=!PϬ$’·=žkC9)Œ$§V$Î=«–>8ÆR}×øñSñÒ{Çñè–±!Ekeöø#O5Ž7P eln;`qÐò…ë6oL•ÓS©M×ÊàÊLu4ÕU»`À755•¥+–­%)ëo?‚\—£c:M. MõmŒ.gœ¤ÆTDW£Ñ@›;°” õ·Oò«@o,¼‡_}é_²‡\Æ/œýN—L›½ê1Õ‘ÊÒÖè¢÷dsé¬ËôËŽüáUw΋ϨN5”þÅ}Çì3Gd9×Ìqv6Ô¿uÔå‘sçd/Š WúÆÜ%s,Fk¿Ó¶èéç–ÄIÎtüæw=w,;òñ©³NOÄ9x:ßLŽá£×:Íò\|,Щ™âÑRM"ß( 9úDc$ ÌH‡ëü·Ó—†c–LP6ŠÀÏ[ …‘£'#§NÑ,ÈuYêòzƒ-+ÍÚl$R*Ô8˜œc*Í^R>ÚIþÿìÝ}Xw¾7þL3Td!h Š`t¡T(hÔ Â ´Æ‡UÚŠ[èVì²÷<[Äû÷©rÚwW ‹·ˆ+J«¢¸¢ÖTz[) Š,…ž~|Ä*ò~]^^ÌL†ïÌ{f>3ß™²FßO¿Ç‰ˆˆ¯<–”¸· F "¡¾Jè~Ìä]9ôzbl:‘06R¦ k<¡½¬L&Õ××äÜÏ%?é¬ ;ºK¡ öí„Ûo>â}€çð-ë÷%ïM\‘P%(½—DD„LÐ÷:†éŠÕÃDõöX» &âŠ'&e^¬ˆH¨©'×»†`]C¦3ï§p/»ì=ÇxoèU|2vÓçY§¦žÓMí=' Þ¢dΡ„'K,jm(ªlNõyŸÄ8ïíî£ÜàLmÚVL-µg¾oRÎqb©¤k Šˆ»\i¾î-+qKeúŽCÜ´?ö±·Tfnؼýked€ŒD­× jÕ†«M[*3â·(òE$¦ÖªbÓðeM?¦¬Û‘r|þ‡á²¦¢íëö׺/°ºœ¾ýçûáÇ>VâÆ¢” )©VÑK]Dbj­úžæ¬üÐVÜôcJÜÎìË“—,(Úp~Z䇯˜·ü¸ý@¹rùÇÚ‰©±(cÏù’Ʊ®æX®pûäe×Q¯¯Ö“T*í¹S“ÍÚÝ{§V}Ÿ JeRÆzÑŽ=Ë{=?³ºêÞcqyñkR™¨;fØHˆ;»úÍøþwµŒÐ}r‘×WêÙýyûKÿ-Ö÷X¶ wúîZ}\”Hí¤TP¯'b;ʈ™ð+´T&ªôBgɧ¯×“Ô®×á#• 5]èëë²îw³@ä1oBbê©KÖ dÓ·Œ“/µ–2Qé_íul«+»Ï§÷¿E"¢ÊäÈø‚é[¶ltf‰*Sç¿}ôž§¾„j¡;òõè OŠD9c³fﱞ2!ÝÙM‰e3"B”DÄ02™¼»G(/˜ËW›WC¢_ !Òï}M„ô%}†Žëµû•?`T¹ªÜóÅ ‘‰5Kvì˜g'!¾8îÍ÷ëûªi σ¹$dŸ“ÎÚqç&ÆÆ;Ä!iï±SÒëyá6Ïå½÷èú´´–ìˆîyà'Çj ÉXO's""v¤LÔt½©ÅÜÉglKñ™Ú¢–Ú3Å-c§ÝyYMæ>ÉJLÔ¢=_Ò¤ðq·‘ØÎÇgdCQ9G$"b'+M‰Hl5Ö‚¸ë†/I)ÜeDd*³bIæî$#"‘ÅH¶‰k¢–Ê3%ä0ÙJLDæNÓ\Ä•g* ÇR#Ý]mÅDdj¥d‰ãzwþ4eM¹’¼3?^kl1wQ/]€òz«?•ièvQ–}ª^éãн8» §R w ð•Gã¢7]x€Ž“¬kð„úéguDDü¥ÌµÑ©—úí#É Î Ö× Rk¥LBÄH½(†SÿÝÜž+:×9Wº‚½§ôü'Ü÷±†7Ö]úè Üiذ¡õïa<ĪeãᯬٛYÌ_yxo™Ô{†Rr÷Ь×ßµ"3‚P­çI¢ô÷–^L=\ÉW¼woÒßÕ¦×Q­]Ì~E@‚Ðùd ì\eûǬ¯ŒOx;@ODŒrzxŒRB}w“”¹úOHLZp6j×ú°¹Ù±+Þ<&“Y»†„Gx¯‰]ó~ê–¿xw °)¸{Wµ¾*>áÝ€"’:­ñ—ßÿÊdßcñ÷™«­óø„ÓŒoƒxØìô½šÚÍÝU»æÍC8Ã7„;Kz)q˜á!]ùæü ¿ìºý¨#ÖÁßCˆ_ñ»‹a;>ßÿþ›É‘T9=jÃ\»;B5}M‚×dÖf{HSûß,ë:ϵ&ò”2"ÆPÉIœÃ7D$ĦO2ר%r¢®#K‰s_Ÿ®ës‹ÔãO óˆŒ_(³v‹XT™øþZå_fôÙB!1a×¼?ó€ÔÚÁ#xºòÜE¬`ðÄØÍûËYRbòš‰z"’:xmرäU¢ûž7½û»)±½vAsw¤¯ºïe5»YKfœMxûõxb’:ÌŠŠyY"¡¾BÇÝuªéA¢Ê=ÔÎô>»`Ö#|‰Cäš7ßYË&Ì *‹Œ_±ÑzÇê;.ôÙx‡8$ÆLˆéóffÖ#ăY#<· ãyœNþÕµ\Nùx{ëâ>*ÀË)ëRM—F-°~I1]úñ;qË)ëö[,]м3•G-°·T¦Çî¬ÍˆßÜ0ÝÒñbj¹–¿Yôq¸«)Qý±OâÏ{FýÉ]›¸îÀØ£¬ˆ¨© qÝ¡±Fˆò>ÙpÞ÷ã]M‰jÅ}Zôq¸‹)µ\ËܰY;gÝRqêºÑÒß²ë5‹õyŸl8?-êÃWÌ{þÒÚóÕ.•y©[sL—~Úßk:::ÚÛÛÛÚÚÚÚÚAàyþÊ•+žžžO¨Õ¯^½:bÄ##\÷~jžÒ·3ÓÕÞÞ~ãÆQ£F!¹€-’‹ä Šä"™ƒ‚x¬Skñ×9%"goE¿[¹;™jŸ¯m!¢¦Ê¼3 # ];å“ÇRÉ×õ-DÔRûmzJæ÷zØgk×LDµy[>ý¢ žˆÈÜj¤ÌÔpYž èú´´–숎ìõÊÈ ¨ýdJ§¦ÍçM½ƒ¬îñ b»9ï¥ïÙº.§…Hlå²`©Ñ£}KƒéøK§¥§ºîž+:¬iÓbÜ•‡²7ü¹d~d¨¯SIú§Qé­D"Váº`ñx1–5À³½@á©A/P€çú’ ¹H.ÀàJ.’ 0T @¨  €çš.{ù”)S¦L™òÆÆKû|a¾úè¦Õo¼>eÊ”)S^ãÑ{‹¹Ç˜Ï£Ë_kouÿŸVy4û7@s~!:`À›àéªL}ëõåyýg„+ÎξÇJ¿Ñ rÿ­'Oþsý„?ÞÜÊ:|Ç?Ož>ù\@$u˜±~µ]µ ÑaKúªq"â/mz{EYXú&o}v|lÒ©*=£ô‰ò·“ô<ž¬¹PÃL˜ájcxQþòò¿ì dìíÏ(¨'bd®ó¢¢BœYªL}kÅYÿYBêáö7'צׅ§oš!'"⎮z3ÑaËç;f±çèúÌÈ÷÷ÕèiÅüâˆ-q†ñ sQy×LÒ¥ "ëCæ1yGËjjêˆ kgØéò6FÆ®adÖ¦ÏÐ $úϨêÔ·ÞÎó_¢<›w±ªJï°$fž°7ùhUM0!ì/qÁ6Dº³[c\¬ˆdæF­_þ2K•ûV¼›ö­>úÔ·ÞÎ Sæ-«©©!‡%Ö É+"OÕ çÞ~ëÂúÑÊ‚‡}^¯ì÷ùéÕ÷‹»›z±ž!b¦‡G­ö±¡ÊÔùïæMŸ++8WU__ϸ†¯7lgªó6Å'.ÓI•ÓÃbÂgØHø³Ño&È–x×-¨ª©©—MÙ°úU9VxÎà 8þRrlb•ÿ–~óÍ7»–ÐáøÄ ¼Ü#x‚þTvODÄWeŸÒ»ÎóWŽ/˜°þß|óMz”õ¹„„S½/ïI&{Ó±5ïÇí=zá’Ž'"ÖÆF.!"îlBd’~Þ–:thG³72>#bÒ•‡§ÚöÎÂ鲋™:ÃÁä¹Ì‹²YÁã˜îãÄ>F· ^5±Û²§gùGÔ÷L2T.O¶éó/öìŠJL½Äw6!þ˜,"ýÐW{¶,‘çXàÙÅpñ¬tɦ­_슙p1qÍ^YÄÖϿإ,HN-承»–ìøæ›oþ¹%¸~wlrïÞ ³)dÃÖÏ÷슙p1)©€Æ-_¦d"v}ý2=ôè½ÞîçÓï3—¿&•–ì8tè«CéÖ§bc3«‰ˆáâ)vÉ_>ÿbÏ®õ® ñÇtD•©kbO)#v:tèë}.ÆGî«4|@Í©â—#¶~þÅW;–WcMT€÷#·j×?·„ØIˆÈÆÃÇZ¨ªÑë1ϵ³ä«2é]ç¹²d¼åŸ»V;³D$w¡¤šš;º`²>kÓ·„»ÒÙÔØoΜòÆÖ¦ž­&"¾,óy,™e'!"¹Gˆ7S}Ñp,¨œáíÌIÆw—€º‚Ì‹ÖÁþv·/ûýnýÍ$3až· ‘T©”êkꉯʻ(8{ȉH2nú¼ XàÙ®fxÛkí,e”þr"b¬•R}žHòòÚücƒ¿ I”®2}Õý£e°·„ˆX¥³Œjê{uþ|R£ßk,¾,ûy„bɺΛ.-˾h8©¤ ž>NBDì„®LÙÑ2¾ú\v™õ¼W iâP“}ÎP-J] &™ƒRª¯¬Ç­¼ðÜA/Px|層Ľ5 õU‚u癫>!»*LI™§È#Æ•%â«Ï%'&Ÿ«ˆHÐW ŒÏÝcý—;û/'"]åÙɱ‘ïëvìZR_/è/F¾`¸ª'zš ×1ŒLjÑÎ?Øz_fn†ë¹½eÊà(;"]ç4…~Gïë¯é{&b˜®kŠL×dõŒLÚù‹T*e°*À³]Jo¯Â«³¤{­æŠ'&e^¬ˆH¨©'×»Gg?©Ñï1–P_/0¤]E¤ÔF*œëÜ,H»6 $•2B ×Wë©*éÝ€äÎQõ‚ÌÁPìÝõÜÙÕ "Ï鉇°Ÿ‡Øa½T€0¤Uæe^”M÷wf‰H謅*“#ã ¦oٲљ%ªLÿöQê,=„øì2áy¬Ÿ !ª>¼fÍ1‡ ;¾xUN¤ËþÛÉwL]WœW@®3œ OŽÛ½”ùö¹2=c-“ÊfmHvîuPï[vÓƒ•©™—„Ì*å¼é6==e}ŽÞçfî;“=§¥B^ ’‘¾¾^ k¬!0HOã'D&Ö,Ù±cž„øâ¸7߯æGgd2Fè¾*Èë+õŒÌPù úz=KD¤¯™T*µ‘2a»>÷ïu—¡É²¯Æìú‡`H8î €çzÀcÎ&ÇÇ&ÕñÜ¥Ã{ˤ^µ–ðúz=#gÍñÕy©Ù5$è""É„`áTjò)fú<  Õz’ŽSʉHwaof :¡W—+ábrläš½ª ¯r—²“×X{LK‚]…S©§ª‰ˆøÊ£qÑ›úøï`ë²ÔäÔ*‡y½ŽÜú„j}ï^_÷ÉÛSUú8ÐÅÌsÕDÄ_Ú»· « Þd×× ŒµR&!â+¥è½þnleHê…Gýñ>]âàïAç:s­+Ø{J?Á‚áôQUfæ%žˆ¸‚ÌÁÁG)±ñðWV¥v~¹ w!5zmfe¿få¬+ €!o\Øúp‡skÞœù»wS™ ˜ˆWY’8„„yÔÄ/xcþŠ„ª‹jß_{–ë* ˜éÁã$DDvóÂfQòÛoÌ+6Ï9<ÜUع&»Ç…<›yùËÙÑø·gN™2eÊ”7#÷ ³6lYnGľµa %¯xóýTáÕ®#½;JÀyʲS5î(ûuð÷¬øÝR{ ö9“9u}'úDDM¯OXðzÀï&‘¿‡ë V¬Gø‡‚5o¾1ÿ­ɼˆ ë‹ñ+6ß§ “¹úO¨IZ°ê”ãŒþ˜ŸN¬OÔú&ùÝ€€€€·jf­é¼ÄÇ8xSòŠ·Þx3¶Ì#"jºœÈ.d}”kAì‚€€€€ñg•þÞèÞ CÅ0žÇ=Îðtttt´···µµµµµ ‚Àóü•+W<==ŸÐÇ]½zuĈFF8ë0ÚÛÛoܸ1jÔ($žQ•©o¾‚ßCˆä>Z¹ÿÜQu¶­ó7±)3qŒ|ñk²1÷¸¯ëVcö5‰ÿ¸þ.a·i²J>3·ßñZÇßvUé}þÃKíùO®èêºH‘³«ÑK“Œ¬p¿ ëE£ªPâ IDATŸÊné‰ßwðÚw#l¶,}éËÐÑ“®Žù¶‰±µ]ã,+FíX #²³k ­•ÿ6aÿÛ «ŸjþúSK¼õËgßò¯«¾\úÒ—ó-¥U7JzÞ1ÆßÜ™Qõ=/ÜÒoßs)æGK üz¤fÆÄ·Þllüæ†8ès "™Íø­¤¶¬ñj¯™àùã·¼6\JDffSFtÔÖµö19c‘•qëÉÿ½QØÐ˜[|¨˜ØóB ûÞlëáßU|vÍäÁ#)¿â³ò,‚Aß0X5Üh›1bA“„iÓ:_îh13Ñ·RÏœ?ÿôóß¾Ó_HlL7nÐpe_““˜ÿIm³ûLÃg{ªkŸWlÿ8ɬף­Í->˜zãc5å¡Ê¼y÷Dí,¥íx”¨à‰»ÅeVu8M5•1ÂpcfñÛã^7ëùv{y÷ ë¿æÆÌ«µ|“^šÖÏ$ ‹P‹Pjo¨ú9&ûÊNÛqïYöè6ØX¿áDË”é£Æpº˜S-3f(Qþ :è 0è´7Ô4üõ«kß¿çÀ¹ùël˾ïnꉈZ ó+?)≈Œ‰øÖ›D$7ÉèÅb"j¨º~à BÇÝ·ñ 5ÚÕéÚÂ[DddaibaLÔ³¯è­ÆÏ2¯‹=íÿh­ÿä«: oû÷”ÆXƒjv€Á¢ã»ƒ?~d˜ßŽ·Ù4Ùb”ˆˆ$sgÛüüõÕ¥ÛÛ©†ÿæ…?N’ѨY«ÿ­~'™[»Èf±ƒþoi?ì3RZýqróÚU®—Ûõž:cm9×úêg».6‘±h¢³b±u+Ffæ¼mnð?–X`a RÃJ¼ ?áÛ àù†o§xð½ÒH.’ 0¸’‹d ¨P*@@¨àiÃ÷>ïøsWÞ¹Õý}ŸR[SÿµÖ«|ÄÏêüvtt 6 Ë  <ÆlÓ·£^–ñ­v^[õ^Í˧Fû˜£]†ôR$¢—Ç*…–jŽˆZ¿YpiIBm„÷¥¸&žZòâªæ½Rì]æ?ãÊÖ¼VjÔG¼R¾µ¼ˆèÚõñ¥aÿl%"âo®õ¾¼ñ‡vÝ75aÞeþ¯”ù¿r9,¦QGDÔ^ýMMøŒ2ÿWÊügTnü§À£ÍPÂÓÁ·\øò—úñì«¶D4LBeß´Ï?4.5Ú´þKíÚCâÕ‡2O9|ñѰ̪óÈÄÿ¥¶ ß·‘î\“0^T”牨\_L&3l›“Öêeñ/fë}ÔÆ§ŽË+o§r]ôG7íÖÚgëðÕf³â¨«{ $ „_‰pkÕ¤RŸñ¥>“~Zµ“ü#FØu½#ó0w5'¢Öâð²€®#‰ˆä¯[¸Ró¡œDUÿä9j+ûg«ÃâÖ?pUw\—½ü{‰þЂF"j¯>T_@&þãHÂ̘Ԟùw=y˜ÊÈH9C\µíÆK³—m‰®ÿõÆÕ¯ÊÛ‰ˆµ•Ø™“@dã#U–7ì-h#"j¼ùÅ{×¾Â}€Cñoleï½1zÆ­†¿óDD­Mßä\~;é‡ßoÿáݯ´š[$\»òþ×M7µWßM×–·’Рû$ý‡9Iç$ý°*§þj+µir.­ø×í/1!j+ÿ®rùö~¿ý‡9Û/ýç÷=ß"¢v=ßÞûx¼ä6þò׌’ßoÿá÷ÛKVmø¹É@ƒI÷}€ãKÔ oZo\|ç\ù›Š¸€–3Êü_)_¾mXÈßm^5'"c‡¦þûöq¯3"ö%©ì'ž<¤ÖD4Rú‡ßË|çòŒW.ù{k/xŒŒ~]Dcäqñ¦"~ò¥ÌÆÏgǼà3kØP$>ëE£ŸÊné©ýÇUý­ÎlMèK_.uüÀ‚[Ÿ­»ik»ÆY$VŒÚ±@1F$dg×Z+ÿ'lÂþ·V?Õüõ§–>&xë—Ͼå_W;}¹ô¥/ç[J«n”ô|Ì,sgFIÔ÷¼pK¿}Ï¥˜,€ÇK.¿ïàµïFØlYúÒ—¡£'ÿ\ómƒäOd˜ÿIm³ûLÃg{ªkŸWlÿ8ÉLÚss‹¦ÞxçXMy¨òï_Þ=Q;Ki;›7€GJ®XÐß$agÚŴΗ;ZÌLô­Ä ¹¨úp‹Ë¬êpšj*¥V f˜ËT§ø1Æ=Þn/ïþ±±aý×ܘÙcb•b¢–oÒKÓú™$caêoJí U?Çd_Ùi;î=Ë]Œë7œh™2}ÔNsªeÆ %"9¹2FnÌ,~{Üëf„ä<p—  ö†š†¿~uí»ò÷™Ìc\rÁð”ˆö†rímh "c"¾õ& ÂM2zq„˜ˆª®¸A‚Ðq÷Í@Bvuº¶ðYXšXõü¢É[Ÿe^{ÚÿÑZÿÉWuÞöï)±$=¹ææ¯³-û¾»©'"j)̯ü¤ˆ'$ày³mðø:¾;øc áG†ùíx›M“-F‰ˆÈhükÊ?¦J©kië vøÜ©¿± £á/²Vÿ[ýN2·v‘ÍbýßÒ~Øg&¥´úãäæµÿª\/·ê=uÆÚr®õÕÏv]l "cÑDgÅbëg¯ÌÌ?xÛÜ0à,±ÀÂxìäJæÎ¶ùùë«K··S ÿÍ œ$!¢QH.ÀsaX‰·“á'ǼÑðôG::† ö$¦|õêÕ#Fáº7À@joo¿qãÆ¨Q£žÐô‘\$6¹H&ÀP   xržÐM€€   T€€ ž"Ñ_‘³«ÑW­V‹æ€§N¡P žTÈ~ðç¶¶¶öööŽŽŽŽŽŽî7ðP~X†µkذaÆ 3222666ü0lØ°ŽŽŽÖÖVA®\¹‚ à V€b±ØØØØptŽ ~… Ðð¿‘‘‘‘‘µ··£q~¥ P$Ý]þ¡„'Tö, Wÿ E Ö7€_µø5Ê?”¿Rh¸ƒ†€§X ¢~½ ­O ®?üšð}€¨  €g—M0¸´··×ÔÔèõú¶¶6´ ˆ^xÁÚÚÚÈç‘\@rÉ…ç?¹¨­VkllìäädjjŠÖè¦ÑhÜÜÜÐ@„ªªªšš…BÖ@r‘\$\$÷¹O.Î 2Ç=»"( ÃØÚÚêõz4’ H. ¹0’‹ `Pn>Ð0€LMMÑÁ É$\"ÉE0T @¨ <»ð}€Ï/N[RQ­gävöö–4G¿­TXXXQ­g=g«h&@r¾®DSTZ­c\|ýœX´ ¹H.<„‡ºØòãöÈÈÈÈÈÈÄo»^º–±.22222îX-ZàYQw:1<Ð}ZPÈ’°°¹³^ó ˪àûÙgŽðrw;R×ç›GB½Bp½6ß% q%½¦Æfåj`Ë_’àç~‡EÚ§ÕJ¼67!ÌoZÐ’UkbããS …^oV‰ S«ÜÝÝÝÝUêð„#ýµ_ß­Ô5M„J½[{ÿÖðò[‘˜«åî/ÐîV«"47ló‰j›…›6-´!Faß3yH. ¹H.’ûd*@… UåJÀ†ï‹9bGÞîKÚtùØö¸¨ÈÈÈÈÈu‰EõDDŸFFF~šW™øçÈÈÈÈuÛó®µô70Q}Aú§ŽŒŒŒŠÛ~,o{TddÜ¡Z"¢¦kù_|º.*222jÝ–C?6b›ó”µ4µÜçx*êŽÄÆçë ?»ÄÈ=ž4µ³²)ÝVq×àùû+/[æ¦KËéÚò*/¿ÀEáÛŠ:/Œq§BU^*?uh|ŽVè½÷ËXq¢:?znx†–¨îtbX Jå§R†&ä>ØŽ;ª MI‰ ]¨ò K)á+RÔªðÜÎóK\n¸JR1 û¢”°%; [éθ͹z©W }w¯^³9±Â3.1Båd)!‰¥“*bcŒ[aâf O|áZ¿ÀÃ~½ëg.7Ü/üGD\ÉîµÊËËK¥Žî}˜+LPû…eôsÆQbéä‘çY’¸YÃv–Ñ‹üüüTªÀ°„ÓuDÄÆF'® [´(ÐÏoQÜéºÞõìîµJåç§ò[´6«‚§Þ x:B˜Xp ¹ƒ<¹¼6cÕ’ÎVªÎJHȪ¦‰³o"¹€ä"¹HecœX*ϯj"ª-*h ¥³UWØôcFJv § Z¾|¾sKÕ™©Db‘ˆˆ´9y­“„LSЏ’{Î7ö3pcAzêymóÈÉsB%9%­DdBDMEé›÷_;2`ùÊw},ʆ†§Wÿ];”¸!¥ ¾ë×Úüíñ[¿®E øôwF'vjnï, Iº¯mU¦eÜqJR{"Cëêf鲨“ËÈ1l¯êrãJU‰Çd%¯”kJ"âKc³Ø¨¹G26ªª5º^»#…z}¸£Ô3n_¢ZÁåÆG´‰ÊÊ=’›µÖ1wmlîõ¾(—Y¶)e÷¾”Ùڔ͹*P^˜Uȶ´Y…rµ¯ýã7NEF„:ÐÏOåõZÈæÒîWu•Õ‚cè2·î½_‘[(LT»õ<Áhé¥v sï}Ò•/L\½S¾ïôéãIñÑ»÷ïÚ¬èÕ§½â6ªïu§!릞H…¹<_²yu‚VtàHî‘8—ÓÑñ¹CBõéjß»wg틱?»¹ïù¹Û„eûr9²É·0>ú ÖÞW-/Ì0ô²áKÉÕöH’;8“[w$z‘!¸Añ·I_Y©·Y¸ReIH. ¹H.’ûÄ+@²rwf©*ïrc}ÉùRº;™v½#Rø.ÿàƒC}ÆŽul'"j¸Ìu•&.AA¯¸¸Îœ9VDT_ÕÐÒçÀ-ÚóåD&“ÔAž.® |G¦KM•gŠ[ÉÄ5`òX»ñ3g:‹ZËóÊQ>EbÛà¥3éÐÖ”‚ú––Úü[›Ìy7ÀJŒ–yÊøêB-1S7?þ|ŠK·¸Üóçÿµo± é «{íH*r28ÕBG IœùRVVñ•9%rÕlG ‘ÄÉw¶CD:†³W{Y‘¥§ÚMÚïÇ—æh$Sº±Dĺ¨UlaNiïí· ?öZ[B³ çÕ;_•½„H"Ÿ(t:Þ^(/Ê(剸Œ"¹ZõøýVê²âãOTVëtúÞçS‰q‹ÚÚs[­×q¬œez$—³œNÏO¨ÎÍç\Ôž–D§Ðä#Émt…›WofV&F¸Ý§Ó ÃÊ%‚N êœ\ÎsÙl{ ‘d¢Z-×d•òD’ºv‘ìD_{®°Pw{1æón¡*K"’8ùªm*rJ9…J­0ìŽøÒ¬Bi  ‡‘HîàL.—ŸSÚGpÉq寕%H. ¹H.’û°åY ¦VîN&g ÎÔ_'å|'¶üP×[Í•Ç÷dk¹Ö>*푬˜ˆÈ”Ýcà&Ž#"S™a™™Z°D׉ˆZ8ŽˆšÏoŽ>ß5hC%×âjŽŠã鑽ºœR¶nþ4§¥U±`å[.æh“gÃJˆôBéÁŒÝ¬B5[¥à4Y9%º Žˆˆeznc+²2J+«C^Këü]¾»dY´‚× Œœ5lY9KD$èFÞ5ªôÎ u} ¯¤ŽãJXF(å¢[zF:5éH‚[ï³rI½*Pš–QÊ»‹äêˆÇߎOÐôÕ`n%oºã¾©\ÂUÜ1ã§ãX{)‘Ðÿ¡§$ò®?CÂJˆx"¡rçšJ’ÏQÜÿžA§ãG–8§?±ÚOÅtîÀ…‰uI‰aåÇ #e„î³Â¼À ’®·ˆ•³ÄéxR¨ÔŠmÎÓ&GÆâ0É”Éå ãOôuè¸8))ÔI28“+Gr‘\$Ét ‰“]LΟÿúk"Å|'–Ê;_o,Nßó½ÖdÒâ?/p_Þ¾nGIϱî¨Õ¸>³&DÔTÏY5Õv]̳¬ˆH4iñrßÎËL"Ë¢ü{Š@ñ¡3"ï”ωÂÓ…I;!Tçlþïr‘ûªä• ÿÓu“‚¯£¤Çzw³rßù® •v÷¢°´R>J"eÇIˆ8g8Ç¡só¬Óq‚¼ßj¬^Û9.ÏU Lÿ{®û±W©¤YEA#Ÿ½òñ¯2r¯À…n.ª‰’#Ñ«÷Wwíw|7-ºc_dhĬ4 ç¥êÞƒp……ÌÄP{ •öÜ}=϶JX9ÃWtmµ8m/·!bä³7&yf„F'øí[{Ï3’u§34¬ç2 k/—Nî½ÓæKHè>*:qcz}n×®–ÓqÄÊ%D–SÚoË8]äxš LÀa$’;H“˺ùÎQ8úyÊOÇ®ÚÙ>·Iáw¥ É$ÉErÌ#= T,VLv2!®•“zø7µµ65h eW¶5ÕVÕ6õ3•>&…»’¨ùû¾-*8”~üzçÀ¦v“DÔ\r¦¼¾‰«ÌKß¾=½û4xºE kÊ¿g ë¾Ì±ë—êüÜÜÜÜîí”|NxÏž÷E'HÕ££‚ÂË—ÉO+ìTöºÜƒA2*"’OœÈVdäÖ‘67Cs×y=†Žˆ$ö³]øiš:"âŠ2r8·ž»¿‡Ýª˜ümÛòå³  (IœÔ‹üÜ&ª¢“7ͱéj.¹¤¯=Wx¨B½:E£å‰ˆ×jRVGç;…¯t“„µ—rÕqš,M¯î-6*O‰&-GKÄWì[}BGD$u´·÷‹Zë’pºß;4¸’#q«b Ý>Z6QB6ž^lÑnó¾ëN't§×ìί3ì¶*X7·îC_OV“’£%"¾$#Cç8Û…%"KOµMé¶ÄÉ츉ܧ‘\‰½_Dth ›“WxRòâ®’Êå !¹€ä"¹Hî¯Y‰žN&tghîä­4i.Þ³ygžhæÒ 1¢Öòý{Î7ô™¾nu ™?i¤H{fOê¡Z§iÝë ©Ë‚åAÎlå›·î)hRøxÚâ @_ñÐMg*ÝÁØÕkÒ 'ФžQI=;ÅsšÝ¹ŒÊצ÷@æôîB‰oÔJûܰi*¿Ðmè"%—L\å«K˜å¥ ŒÎŸ¨²a„^ý2,'Îv,]3MWÈx­M˜­‹Ÿ«R©×VÎŽ‹RÝqîÎ{ÜÝÃûÝDÛªHS$°÷ìª;wB¬‚é{ßš”´Ržôš»»ûks£sí"ºúŠÚÏ^¦Ò®«^kïiÓs|ÉÄðËhÛ\/÷×B3ì#âfßžqKUÔZ—ÜØøÞìíÖ˜¶­Ú-n÷F?Ã+7.“l[¢R©Ts´.¾YÃYa7ûÜ5j?UP¼Î7fÙíK—§ð˘”E*•Êo•Æ-*.ÐpÐaé¹Ð¦²ˆð$÷i$—uôué<“ÈBrÉEr‘ÜG5ŒçŸ¹/nijl"ssS¢Æo?ý¿{´Š9þЙž?ííímmmmmm‚ ð<åÊOOÏ'ôqW¯^1b„‘‘Ñ`o·~øÁÍÍí~CñZÍÁ”ÝYšÒj‘ÛOôU‡ªUöìs¼:i4šh–ÎÆ)Œö[’£·™ºrmT¨›å=‡­ËZ”6{ßîEO{ƒÎ—$Ì]ÍoÜíô'xyMtP‚[òƒ|ÿ“F£y饗aÆÚÛÛoܸ1jÔ($É}ÂÉ­H œ»³Zî¶8*f™J!Ar‘\$ÉEr‘èY[¥š~L‰ÛQܬð^<Ç¥éÌ×Z¢‘“Æ¢üxH…›:ÚM†è³qìG­_èæ7ÑòþÃZº©ã·¥h£ÝÝΜ/IKÔ8.þ×Üçƒ:b½›£ÊK!ArÉEr‘ÜÇñÌ›1¿ tšÓÈúS;7oÝS@c&‡,õ±Bz`±N~Tþ)f¯p96ÍKPž?‘/Œ œ¶$Ë>*ÆÏ ž—ƒl•ßD"¹H.’{OÏb/P"Ð ôÑ“kjjÚØØ(’ €ä ¹¨Î½ž„aƽð h$«¶D T€€ P*@øU<Ô·A´ü¸=zGI÷¯&J§ÉÓ|\d☕¦¢ÄwV Šú“ `À=Ê5À‘îÓüý§yORPÕ÷Ù;7lÍ«mAC<óááE ÷™ÓÇŠ‰(À÷Øæ ÙU‡2Š'­p5§¦ËÇÒ3Ž—\onY8„,ðQÔfÄo>à Y·ÂÕ”¨årÊÇ[‹E“–ü–²¡`ú¡‚ª†Vb•“焨]î¸ì×tùXúãÅÚf"‘Å÷u«•¸¥2}Ýæóä4͵åü™rŽL“¼«v1'¢Æ¢ÌÔçËšÉD1)(dÁ+Vâ–·¼£„õöWgφ¬ w5Åò€¡ì±î[‡|û… IDATyÎCÔZUp½…êó·oÍ.æÆÎY¹r±;Øžq¹U1Ù™%ª:¹‰ˆZªò/·’‰‹’*lM=_eêóîÊåA í™;óê{MØ0­zÅ´wÏq¦ò3©[÷W¶‰Db¢æ’‚VÏw#—û+›µgR÷5ÕÚºóT9¹†¬\9߉û~ÏöC×ZˆÄ""j8sŠs š3M)ÂÂ`-M-÷yž£ HIJ&D­\Skãå3UDÓ^±³s™ ¤æâ¼J²š<‰¥ÖËç+[¨E{¾¤™XWoiÏp$ròŸ6Þnìdw–´ùÅ=KÀú‚¼*¢‘¾ \Ç»xªç8‰ˆ+Ê«ê*/”þ®¶Vc}f:‰¨µ²@ÛR{¾à:‘bæLW;»W¼GRÃ÷gº{¦*ƒBÕ>žt¯"Ü.÷®JÜRеÜZjó·Çoý‚žeye¬©¡¡™ÈÄÂTÔ\ÕDD Ù"³»Þ¬màÄã=Ý-N¿|¾ª‰-(i& ÷ÉVbº\ßLD%;>Žì.'*ZÜ»á®sDÄŽd ³hjaJÄ54µ’IgÕièÎiÊŠˆš¹––&®‰ˆ´{þoäž®ihZÉ”ˆˆµ²ÀÕ¿'Al¼tfÊÖ­)´<ĹõüέÇMæ¬ °B¡ ð̶mDDKѨR˵S9UD¢±î ±I½)Qƒ…÷ò¥žlç¤E¬ŒˆÜ'[Ï.?_`Z‘Å4O[1µ˜ÊL¨¼uÌü•j;qç &¬˜ºž2*fGš5s×9/#jåj9" ¶s^[j›h¬˜Z¹úf"ÖTl:Ò”¨Y´2Ä©óV?‘‰…)U H‘ ý’½ºœR¶nþ4§¥U±`å[.æh€gÚ#ômÕæ}èСŒ/¶løìøu™4Þ”ÌÇNV5|Ÿ¹¾©þrNêö”%MDDV®“GwþÀŽFúL¶""±b²+K­Ug¾¯å8íùŒíÛSó®·ö¬,\}”D×¥*ø±(/ã@9‘…û4E×å%í×û󊊾=p œH4ÖÝJlåâ:’H›^Ë5ÕHÙžz¨ª Ëö×*ƒ\\Pþ rìú÷Ç‘ÉH§isfžã)ó\¼¼aOzÞþß±JwÿwYg=ç92ûÀu"…³á±]Ðòù­éÙÇwn=N" 'Ÿ9ÓÆšRšMæ³tyKzÆñã©;ˆDc¼/°“á3Ñw‹¢ý;Ë92Qz‡ÌoJd:séâ–ôgR·ž!‘Å÷ 's¢ëX¼¿Jè€VŒÐ phB7`€¡¾ày~ÐÌl˵ŒøÏÎ49/_:÷›=Gííímmmmmm‚ ð<åÊOOO´ À¯S Ä Cš åüúŒŒŒ†Þó¬q]]­­í3r:ÛÖÖ¶®®nþL,ix¦ ó'<#ëÞ3Ò›©»>M¨† ÜC’v·:è¿+I>'õ@´Ó“}ȯ=±--#_S©ˆˆ‘;ºMU‡.S»Yb1£úhã¦MQ¾”‘VAD3P—µzîš´B…:fSRrÒúP{íþذ CµÉ0DTŸ"¨¢Ö¯_6Å/Ô…ô¹»5··•|ÅÁ:rTûÚ+—Kåò»vÊ—dd‘¯¯47­µ †ˆ*R"J½¢S>ôÑÄêœøU›KxR¨9’þtV5/ÍÈÕ“£ZÕûÞ¿;B1‘¹Oˆîñ¡·ßN£9÷Þ·i±¢2'>lUX|‘×Ú݇$Çxrù›£·u|ϤßãƒúØh pZ%αgµ=|ÿ™›ÉŽ:úí}'?õ2yŠ«Esñö„ô²;kÐÚìȽîd¹¶üd„d׊˜ÓøîP€Á_þ•¤„Í]½3¿R`ävŽŽvRÒ—æü÷’Àˆ#Z4‰Nž<‰V€!¤.7%_ú.rc‰Èe¡¯*wVìÁmšðD/öÞïöþ A[ª#rñ¼ß]I\E…ÄÅmqTLç]^N\þÜÍ9+£X…£ Ë#·qtr’QEJBŽÞfqê¦pÃÀnnN4wîÎÍi%~áN|ÑÎŒj²û(1n‘‚ˆ¼¼ÜlƒÖTv€|ɶÍù‚|NÒÆpC×Ó‰nN\àÜ‰Û g¯(!‰„¨²Â1îH„á¾Èº…n´&?£ó2üe|ÅÁ¹¬ôUë•p$w 7Ô¥¹uâ2ItXZ?Ñ =5à~N§­“2w–'––†õ]"!ULŒá ¼¥zåìùûOktN Oµ#Åçf”ò Q0€. §*ˆ*zMíŽPð% ÷ QÚ9K¤Ž‰ðS‘"t™ÛÎÕšû˜,õD–Há»,pó‰4MGN’{'ýÞÝOk_…UÑÇ3WðïL«=üÝÕ+WÈë¿R?ûíiõ”íóO\`EDÍš¦¬0ÿ|÷èÕßÅžÝ✫~õï¿Ïï9lr<¿¨¬vôÊÏÞ©ýûßóËÊj"voyÇÁ„j¯ÿàãÌâF^bå±åÓ&¿V¿ú÷Y£g_¹òËèÿüóàïþ°"óòõã3ÅîÞ½`ôíå<ê϶xN³2!=+Ø9fû•F"dlh©9s¢Hßû5ó›êüËÙ³ >ÖÂ¥S†Äm7µÕ‚|”v0C£þÛ¼zs‘@vs6&F¨"â+²¢ÃbOœX11E=Àûê|À`ŽQ’¤Ñ~i ¤¨J#üâÜvg,Rp…Yy êYxÒ˜hÊ”)XOà©èèèhoookkkkkçù+W®<éÕæ¤‘töB ‘ÄQí+ߟ––Q±(Üþö@R7?Çî]„åD7*ªÐ訳ƻ÷»··>‚@D,ËÜgŽX¯ˆ$¯ž/ÈíåD¥:}_s:·šä U âùÎ r•J¾3-¿Hî$êÉ&ÐMÞ=s^ ݘü|Ã/º|ޤ³oÏ;ÙøzÊwî/ÔTÓDÃ_ϸºHnìÉhòÓ4œ—Š%¢Šƒ¹:rùÈóI<”/JË—«—ÙÛÓBû”Ýî‰Ý™ ÏÝþ° ýw½ê²ñxŠŠí²ªûŒ„u’é«9žH1UퟟÕYv€}¯Û=Cñ !êïC ¯ÉÝ&vå“aå ‘ýÔ‰l×ÀöR"ŽÓYÞ;éŠø _›„¿|¸xÝ×ë^øåð¢Wö”}=¾óÿ·çxí‚VÔ\¼ç4ÍúÜA’ß=|c~¾UÎÙs.¤ù?S6Sô×ß¿aÕ\´9pîŠ=nçß=µY+%ºš¯q;™±Æ\ó^ \q8õdƉæÿLYñ?eó×Yþ`EæèÏ¿ÞíõBíWKf®ØîöõÊ‘Dù‡%ÿ•zÐÊÖÏœ¿4ù³è=S2#¾Þ=­W}÷‚ˬY†J¶öô®]eÁnVØà"²yÅÇùã^¯É_}­ÝHL$t½Ð¦¯*¯½€ ph€EÛ2ª‰\¢£»Ë-‰}`ܦҹ!iE)êžG}ƒqY$ů×á ŸxÄ‹e©»Ç _š²-Cík¨HŸvj°–ÀPbxèl_ãÃaÕTyÚþƒ»K–õøVÖFÞ#œŒ‚%Òê8þ~ïö´„eˆH§ãî{HÆ•d%nN;QX¡Ówïªú¬y]…žH—¶dZÚo•p*m•v]åqYÄÖKWjWÄŠ°T¬‚(h!‰HÂ%2’ùý@D¼Ö Â÷ýêˆÉuÎääÌgΙ3N¡ï>˜x¸î½7l¼Ã^t€£¿œhlï[¯WcΫ¾üŽÓ“2»__œ““óÁô{ìo¼±a섃Zûåî>Àî¿;•e§ë ]pªHïù¬ßˆ®+g/_3˜Ià[ðœ<щ¦áä±û‘ôÕúNGÿ©ûJôdQ½ÈxÎ~áÆÞ6ÚíÕ©²ìÝªÒ :p{ø‡šu…±–>@ËŸ yË㎨ô¥óccÓÓ^Õå%%}Yªajüìøä¸iÌ…µóW²ÓÝJ÷inÏZäö?&@4œŽ ÍÚ¯€ýËC÷ßxÏÁŒsqko9öðög¦Ýâ^Já#ƒs5…u³n÷3S³=:ⳋŠÞ‹ów“IhЕ®ŽJ©ø5d¯'¯í|ãž/%s£áâ¯?€EÑ}Ê@2iátñÁýÙ'š^ž­ßwPEM÷?˜ºÒìªGBŸIè^ /lš>û6ï4{ölè1þ ?7ÿéÓî·…t˜:o$Ù_7Þíb^¡žšºðV7n¬ÈíkúãE{'ýðý»£oXfÚ†¾Fpzñ ÷µÿ:Ñ:jÏaxq³»®õy[G0´^k£mºÚØØ0L+£x5 i˦ î¹Ù}xilk+_ûÒ„ÔîßdÆqt«¡û)¯…áø²Àˆü6›ÐÌâÍÓ„N ö7,h­Î_ñŽã÷Ys»»,X}C Æ¿'“Èå© ê£ÕöÏyX›ZÏ_Ôðo+06•ÿ|æÊÔ€Q|’4w\ëò qÀ^Â!€†aû/fY,#é=çyɱyó ßÛ•6 .¤F§6DfíçgÓŦøïK 4¨Ž4¼—Yøò£¸`4&@4|èJ·ï×€âõäøz˜t'R² ûŽ=Ô©4 ôìh1º=€Ä­÷xûíïís¤iæ ²ìÝG¾,l˜6»ÿèè©oÄø‡î#.œ …ûk–ÎÌëžê.²Ï}T¢û Y·¯éO §ßpOÍ9Qîžo €Ú:Ú0WÚºÿj»ÖFÛØÞÇÓN66ÞIßÿVß`Úzå6ÏNûø‡â$€¦„‡s~r d ¶î¡ï.Hž·§Ú0ש÷÷ ÿ§.թê>ûþ#Ÿ}ÎåÖ6é®u‰=Ýl ppE_ifF9߉ 1ÔÖæ¬™Ù縙î\^¡ÀuêÃèdÏ%¼8-©ç¨lzÚ®ø[>Vu°P75þU7|æÍ“-Úw‘™* <çMsx4E„  £˜}‚ÏÈÈ—§ÝÈŠž‡ßþÞ>;%>‘ïùïO*MZ™ê¼)®Ï³¦ãkcSJU®o+$*†+z$s6{ûEŠeú²ê9~ä?]…yçt>=;¬ÌÙí)û¨ÙKù;ÈüݨŒ'JbÝœ»ß(ûDïñ/™ÿ4d÷žûLÍÁ#ͼ~âàM«0~ÞBEögÙÙÛu*ñÌ5¥°áHöÏ¥×_Zâ3oRÍg^½ÓEÙ,!°´´ãºè¿ÐŽ,ÔÐSSçÝÝÁû©D÷åö5ý®vEØÁG§~•Z}Ë0*ìE:â«üºisGÎíùW÷…{¾ƒ­÷O7~þ¥o$ø Õ9~Ƽ÷ñ[Ž·x0ÓÊÁÖ¶÷d¿êòÏ–í©Þµ+Áß¶µ4gϧ7F÷û¸–xâÄ ŒƒÓç¶ßækd4t™Û*ŽTtÿm!Û@ò)>þhŸÈ¥žû?½øYôjj}ü"¦áø—«Wî×ø/}Õí!¼'埵é…Þóh¾»ÕÏN£ÓYùòtK^dõ¬O b‰ì޳G`DèÞ4n?Á‚ÿÛ/Ü4SÏœ'Gš^žg©ÅÔ‘Õ+%KNsfkö¥}Z Š…K{'ƒ¸Ã½7ìÆÍ^¿þläòÝÙÑ¡…þ3§NòtÍÅs–j@639-v< à6mµûHFj–[¤­9»ïËlÍôÄÙG.,<ë<ÍG!QHÎfgïÓ¹¹M›î³0nfÞÊý±ÑTÜÒén”îÂÁŒÏö_T,\(‰OäLñ‰ý)+×ÂÒ—Ì…ýO1œëIsoÿñ…} »cWJâNs†¦ãÙŸfk¨©Éo¿ÍO·™ ]?û4{?È^Ÿ×g%uÇãæ¯>7ií®Ô_;gKÃÁ¬†ñKûfK‰ÏlŸ†´ƒµwqYîÙ³g[r ~4çò¶g)nn*%ãgξ›ä0íuHÈþLÅŠ§/ºËƒ÷W‰î‡ÛíjúôûÑ€V[-{.7ž0nõßO¿etúàƒÆß¯¾Uá¤ÕÿˆûàƒW'$2@{¿±aÃ'0ÜûõøœænØðÓ²ehï7þ²Ù]­=Î?Ì;ñ¾Á?íûþ/“z?“ûï·}\ýþ;¾Î×ÚÑ;ìãÍ‹GßüÔ Xr zò „|Ò~B°¿“à†\ˆŠRÜ­O,J:räÓ¨#ŸRÅ^?.VúeFé´¸P›Ën8íç–_)Zâ&¿°ú»Ô¾§1íqüŽ á¡áàösp‹³}$þ §R'Ždl˜7@1om¬n{ÚêŒZ=P ÿ…ëãúìàÝþÞ~¯X”W¸¿À¨¶4û³L‹_õ™yWÝdË‘¶wjà»q_•è~8Ü®¦ß!§úÜø£!{`µÀ64¯aÀKi%-éÍt×o[N®ë}Ðèw¿?¡y•¡×3à[›¿ëÆT8Ы½õý™îG9½µ¿çæèÞ¥N/þ%¯ä/ý>kï»ôÞvz7¯òÝ›s¨û‚ û`ïÞÐg6³]&à‰eüÒ•Næ"á™:/V^³Ÿà-Çâ¡Æyvê.Ï}_~–}ðÄE bŤé #§³ÛWv.;:Ò·Çù?òyÇ)°LD¨˜:M’UØàÿ²34OýôÄÔø8ÿGûQˆÞ©¦zļÄÔ©SoPÌš7çSö½]û"ÝîùÞÁ‡¹:'"[¿7ëþ¯|Ó´/24I÷Þ®¼û[çÒÒRÿÁPƒç“ ôØïùþýõ…»wï~Ü¿ÀCĉ'^ýõ'î 0¨”––Nž<™Ï¿c.3ªO©”Ü< ´ç2€×¯Øy¥´¸²Ù,v}öÙ± ª(¿¬1˜ÍfÚœ8ÉÃ^`T—­¶ ò°ÆoðÆ\ÈŠŽúô “â÷Þê²€]]]gΜéÝg¸‹ý‡†¬yó.íw5Ýw‘ý®X“¹èÓsŠ×·eÅQû“Vy\ÃÈü—®Y³È‡º:¹níÞ5w<ÿûìÏà!„† ]éö”íg'Å­]äÖç,EñTÏû?GIwöËÏÎâC3Bý*ù”ßÈo^líb¹¿çˆFùOÕsÿ(Ÿ)£ú¿P@ˆËsè£Ç/Jß«Wï—Èà)w΋òŽß4\Iòòöã/ø§æ€Û¢í½›·6oÞ ·ï»GW˜2$ IÉ#£WjÞ›ç/a.îûì³Zð|/ò~¦dšÎ––^,ÌHÝ­q}{ÓL,]„B ‰˜š7ÜO/ÁˆÐÐáÀ1M˜B!Œ dž¾ oÿ ±±Ñl6c|¼Œy–…–ø¤ä@‡Ë—/744ØÛÛ’¾4tvv677ëtº±cÇö. £™,à˜&L€!„Æ?à8N¯×7773 c2™úEÁ–––úúúÛ¿TmmíåË—±TO´²²rpp‰D½9ð‰E;¶©©i0ìv£áC(ÚÛÛ;–¢¨¾Ë‡Þh&L€!„аŽ–u:ÝÕ«WGŒ!‘HH'Š"Z[[ëëë­¬¬,±ã8€'#:;;ã„0"„Bè‡@KlnnV(‰Ëd(±µµ€¦¦¦Ñ£G[–<Ñ3Ä „ºþ㦠IDAT<ȇB ëøÇqœÙlnooÇø7$I$’ÎÎN³ÙÜ»¹±Læ°!„î ƒÁF’äÍ'v"„†õÏB!4ÌC Ùl6›ÍXC•eûbÎGY` B!4¬ã_oÄ °7þaDa B!4¼R_¿ØÛA„…3„7ú€Ý€¸ÑˆB¡á pèpÐ7þaêCaD!„0â(Ð!ž1þ!„0"„BÃ1ï ÿ0Ÿˆ!!„ !„ÖSÁ0ÙÖ΃›¡açEO°††,„º×È0²÷WÔl6›L&“ÉÔØØˆå3T566J$ÇãñH’Û·%‹¡¡ÊÙÙùæ…ØˆB ÷XˆÝ€¸‰BÃö¢'Ø€G5BÝ& ôýS¡P˜z´µµ= 7iÙ9Åmˇ5…síúÝa({ß÷MØY¶ÁWøpW³¥lKd貓¡'j¶OâVpttT(¼ýšQìD B!„†]2|pDvsókBíì׺N¾?=²fúד¸]ÊöE=ñp(B!„îFKáûÓåvvò S"?ŽœàsÒ•ûÊß,4ôÞnù&Ômî7-†Êí‘SävB¡Ý„¹Ê }SZå†éò)ß° ÀP³3fº››\.w›³³ fƒ¯ÛÜ ¾9}Н›|ÂÜí5Ð’?W>áÃÊî§T~âÎßY3!f®¸Eæ×”­™` ’•[æÆÔÄäo™+ï÷øÂ5¾ÆL'¼3¡l{a €­od¨„ò)v-5-`7%fŠzg~ ÔäïTßBaD!„Яe¨1€]OçšüŽƒ,[Ô-×/´³<Þp!=òƒ#-r7Ë5¦Ø …B¡Ý” 5-ê–Ö#‘nvvvvvvn1'Á ¶Œîö{+K,Tjòw¶L™"4¾) …Baï€T„B·†3Á „Bè΄nBÃÉ€ZjZ ný¢¡å†øe'·µº÷ñ•-r7° Û~òýÂÐ7c¾™òÍ\¹[L~å›ÚÉ ;íl_ØÙo Ñš>‰Ý”˜)5ç—¶«§|@„BÝ™ÜwмlK¾jvn(lµ„17;CMe *w~s¡o”O™ëV¹e{¥ fç›Sæn©¡Üm‚Ûô·Ï-‹‰Ù©ÚÉår¹\n'ùô7'TnØYi€–“ތ٩¾ÕG±›3¥fËÇ[ÔSb,W{°³¼ŒŽE!L€!„z„SÖly³%ÆM(w{³pB¨«@º&>ž2aÊ”¹ìæN¾¡nÂû;7È·O· }×?ÜÙ} €Ýô·Ï-{¿_Æs‹Ù¹aÂöP7¹ÜnBd¾Û›¡r¸uŒœP¶§¦'öe8)'bbü…ÚŒ©"‚GžÄ‘¡!ÔÁ0 –z,8Ž3›Í–+³,Ë0L]]ÝÔ©S±dBèáýð¹µû à&“©««Ëd2]¸paÚ´iwù:ìÚîè8~üøøñãy<ŸÏçñxV™"ËróðŠð ?x ¦û@mmm,ËF³ÙŒ‚Ð]"IR Peccóè÷Íf³N§Ãšûë ÀhËŸõõõ–h6›±|†ª¦¦&™L&‰ìííý»cÍEh°µ¹˜Ñ°ÓÑÑÑÜÜLQÐ4‚нî̱,[__/•J­¬¬Ùû¶··777[ê,ÖÜ_» …BS,Õ!L ˲ "¬¹ ç6 ^ôz}{{»H$"I’$I‚ pô B÷”,ã·ù|¾N§3™L‰ä¼¯N§ëèè°¶¶&kîL€4M÷޵»KBß ••XœOR¤iš š¦u:€ìѼ/Ö\„g›‹  #íííEñù|KS„e‚ÐýµI–¡\<ïa÷bÍ}x $IŽã,ÿbÁa$Iòx<Ë¡O‡m.BüÍŹ@Ñpa6›-ƒ?Çæ¡ûF„eJ š¦µZm¿Pñ0j.MÓ–,°æ"ôëkî#ks±æ"48Û\L€h¸hkk£iÚrK¡_Çãñx<š¦ÛÚÚAÍ}d ùšû(Û\¬¹ Â6w…Ñpa41þ!ô`Y•±,‹5!„5¡'¥ÍÅš‰†Qk„ç! ô`Y†¦F¬¹!¬¹=)m.&@4\˜Íf‹‚ÐÇãñê¾°æ"„m.BèÁ¶¹˜Ñ0‚#z«Ö\„ðÇ!ô«&@„Bw)nh„Ðp !„BhÈ2™L8# B B!„®#B$555aQ =MMM4Mc B B!„Áè 666åååÆd2aÉ jµº²²ÒÞÞþæ-޶øX!„æ@±XÌq\EEEgggWW—ÙlîqŽã¸ÞѠ݈ÐçL?²‡µµµ“““H$Âì‡ÂˆB¡ëBAX[[‹D"“Éd2™Ìf3×Ô´5-H’äñx–˲÷]Ž¥„ˆB ßÀ`ù—$I³ÙÜ›z;ýzã†À'hkönÇ~Ù¯_?aßg!„0"„Bhh†„¾Y®_—‘%ïYnaéÄø÷„FúÞxsÄ‚B B!„†ofè×õg2™x<ž%b|r e³ZFöM€XJ!L€!„Ð0e¿Ë !„0"„úò‡WM1tuáFGC€••Õ°ZßŽŽŽ»yö!ü2 „ !t'=S¢#„B!„ ¡!Ž éáµÂ÷÷<͘×R*@½ã_®õjö¼óZ*—óÏ0ůzUî櫓‹vü+æ†ÏËTmZ°d—4þ넨×/X¶W{‹§»¯ˆ—nN)aoq·oò·›‚õ¹¿[¦¼a9%uŠ V üÅbTŻҷí)©Pë@,÷ Ž ÷“aeD„~a;ô™ê³éÀæÿ­Fü~ë?Œæúë÷Ü_uN ößïýî3ö½m_þvÄý¿Æ‘?þîo•·¸SüüÇÿüð)jxµP7õã7¹yRPŽãZZZFcuxBiNïÙ–™[T¦Ô²–fÂ7$<*b†‡€)_óÚ²¢€ß®ñ»çýÕ5«R ”,°îÛõ46O˜¶p„»R›ŸYAÉ]@›[5¥ÇˆÍ´Kxâº`KÄc•¹)i%â9ñ±ÁR˦ØÝ».¼ûîêm é.‹cýÄ–'K½$zqH|b˜œ`õjåÑÜô¬„ÅÕ‰9ëgÈÈÑ ‹SJ¤A‹b×»K)V«¬8”™–¶¢¬v㎕~üž¡’,½XjîÁìó”ÜÔ»¿¾üúûã¨~W€xÓÀðyA<ÿW ­wò[¶vm{w”=µ%囫O½¿`œ¥N œ<­ß°}åÖ·>¸¼<+ùúñn\¸éÊ7ëó@O]ù–˲ª)— 9ÑÞr1hË‹ìÍJZ’4yëšà_“ƘªÜô¥tNrr¸» Í&@„0¢;4{r•â uqâ”™±÷qäq0’¸úv÷2Òb JÄÞÁ}ÚWYÏm†ÚCHýojÅr¯@¿ÞnÆÀàwxmEþ¶|ÕŒˆþ˜ª‚ÌV½nmo7ª‡w`€ »,µú¨’ñó¦ñ«†hdªöæÕ‰ƒþöGë?8¼óÂý÷dº§{°ç÷ïÁýòHÂy¼ûÇIŽ=;Â]ÿ$ö4Ë}½AÍÐÖœmdÅ¿ríPì}s`¿…X žÔüWœ²*«Z’¸uMïAÄàa³Ö/Y±7)uÆ×kƒE7¸^Ëå;#ÀÃõ¦:…Í&@„†<ð.`Ef¾Vîë'•ïÝ•Y¢ó îBLñÊWV)ç$GCnÚÞ2- ”<`~\|LwŽbj¤¥n+(S뀒{…DÅÇÍêizÕÑm©é{K”z±KPDl\Doü¢XíÑM)©»Ê´”KPt||¸w÷[jŠ·¤¦çUk@ì×{× @»»@¾²JÍ@ÿ‘ ¬f€A¥’À5ÿü~ÉÐè¹ç³¾ÓJ_ ÷{Ú:T¾?/»´Ý/HbI}LñŸæ|X÷ê_~y_ì?£e’?ûúûZÐSsó?ßð…gºkîÄßúÓû¡×knQƆ¿ï?e©¹Ï-üÃû d$IP]­'6¯ß°ûŒ€ryîÝ?ýižWOÍ-ùrÃW]Ò€xÜ‹oð~ï]·J”–DÙºtû¾ø<ãðy- @I'>·ðÝ÷çùJ€)ûï°?^zõãßCÆûÏkYO|õO~Wzü“O2Ž)õ@¹<÷_IžÝ½LmÁçþ~ðŒšŽ{ñíÞŸmù$ºŠ¼ Ÿç;¯f@ìòìÌß¿ÿ^˜²¿†ÿñ°V¿úõÜÇ{þðXw‡ûõöû=ÉTéEz*(9®ß‰_ìÆÍaàî!`(ÐWìY“–^P­z͉M\9£û˜£®ê@ZÚ¶‚25 @É}çDÇGÏPЖ ´P°â¥ˉ ’{mžt§sSÓ3‹*´,€Ø%`NlOc¯;óJ»nÖÑ”´2øÍ|ûÿìj¿á ÝÑ•¯%TmüzÍÔJOÛ–_¢ÔPR¯è¸¸Y4tŸ¤‘ï›G¥§ä+Ý¿Þ2 Þ‹¡»iK‡×÷AW’Y¤—‡†{Óàî–dizï¤(õÞÔ\*bó×?üðíÖX—²¬U {TÌéÔe){µq›wääìØšÄæ§¬H-g,¯Zœ²$!Kë·y뎭ë¢\*ÒW­ØRËt¿¬rOJ.„%ïØ±u]l€¶(-a[ciÖ.Y•U! _·#'gÇÆ(yYÚ²™½O»«×17`Yö!¥´åZ±\zó>¢|FˆÔé+Vn:pºV‡•=Ô@èOeéå¡oLnaó]ØSYÇ´½§Ñ4A\ývÃn:âó¼ÂÂ}_½çòsN|âþ«$I’Æ3—¯û¶ùÙ?~ž‘ñÕGÏ®‹ÛxÞH’$I¶ÿ¸.&1§yò?ÿ*ã«O"]Îÿ=>î«:c÷ÉhWö}²›ûkFÆWŸ¼Ð|ü‹þï’‘$I²ýÌ'Ññ9çeó?ÉÈÎÎøßHÅ™/bãvÖÉÛé=ÍÍ¢ng\ì†ãôüÿù*;/û«ÿ™Oÿ".¶û5hš&®~ÿE¡Û3îûj©¼òÛÄØØ/”³þ–WX˜÷?AÍÇ7¬;ÒL’$I6LŒIþžxñ£Ï¿Êøü^–ß¿ÿ*I’ÍÇ“ã¾($^ü諌ììŒÏßóªû:1þ«:’=ýaÆ'¡‚ðý({_ÞGSDäã5à¹ýºÑIW}¨(ß0ߛРo>õeéi§½£7îØ±9q¾´boRÊ!K»¬Ú³jIJ¾> nsÎ×9[ãƒô»’–¤ë€öˆÞ‘“D”œóí·ÉÁ’{mž˜ª-ËV¤Q¡‰[s¾Þ±9ÖK™µjÙú{ÒŽºÇnܼîÝð¹î .8P{}ÅÊrKXiH¸ šCIK’v)Ý£7îÈÉÙšN¤,[u@@E¾,=“ KÞ¼5>ãß}Â>@„îb?i˜] î=ÿhŠ2KX÷Ø0WEH„WZJfjVxŸ!ŽÒ¸¨@ a±Q™‹Ós‹Taá Ú+zëŽ(J®ÑЍ(ß] e‡”Œ·­*H/лD'®œá àŸ¨JÉe•z°2d¥Q‰ËgÈÀÕ5zNnQVYµ(š÷·ììKóã½-¡Gö^˜§ x†Ìrùê3µKdt°³@0ÿYñác%uì,¨ÊÎ8ÅNüÅËÀ3æ£ÿ×þiúªžpvðý0#ƒ»*$ÎΑ»¾ûôÔÏê7…P"¥(J,³±yluuÀh×wápÎ~gC+tj¡£ Ú”\kÑ~•3´€‰ŽãxAÛÖŽœdaçV ’‚Ð–à ²‰…´J-€Ô]z7ÃZâãÃ=hpŠÚ³+¡ºXÍÌAù¶ô ðŠK^9K0cy²¶dAZZ~t`¸B"SP”X*‘Ð÷Ü<éJÒw)©€ää˜` (fÅ%W•,Ù•^µ©»§Ž…YñË-=‘Òp¯Ô”‚U11š’Ü2Îs§¡v[z+_´nM÷>EDb|ñkIé¹U!Ë=h @ïˆ'bDè¡2ßïܘƪ ³|ãCºŸ,("€JÈÝS~}xåxý¤r¹» e§ÕL¸‚¦)}Eæ¶”’ ¥Z«ïŽžR–Fy´Ä!^òž§Iü–¯õ³ì·¸{õý+Ä,Ë0ÕG•@Ìpï}7‰× w(¨8ªdüœžFŸ&¿!®)s“R‹`©³–¼”Õw< zcbø-&2•ǬŽÒT•””—•åg•äg¥¹/Z·1OµG¡æÎp&޳ÔÜ]{•oĸXÆP.S\…d÷€!g ÊÊoŒ¤EÂŽÊìÏÿvcÍ5v‘$i¼Rt Ä!ÞÎd÷ólýW¤ø[j.A¸@‰˺P°,ôU¼õ#½‚{›]J*[ÚHP—UèÁ%Ø÷z$õ î£ÕºpÅš˜Û6OŒ²¸š÷YׇnÓ.Á¾â]%G•Lw{ùö\•…ûBRÁªMYnȣÒ{ÇšKAÛÛ¯Ÿ5f4¶·´„&õá½ç EÌšU¿í©¹„±çT3š–ÑÄ¥f#qÛ Õõ_@Kd4AXs…·,ÄÏpÒ‚ho6öyc£ÚH‰ä¦³áàÖÒ2 A¨µF– n¬nLÝÞÃW ø5Ë~Ó=þ Öh$Êò"ÄMk‡'knþŠ7rÊ"àL=Í9ã „:±’±:¾S‹ID %.#¥bt4q­J®©Zj ¶3v€É®SÃ5œ"ÎçAðŸI©Çc>(,ñšåee¹EšàYýN‚cjl+‡Í¾Ý…ri±B @-Ú¸n–´_;uÇëëÞ¡yrKÅҸ͉¾7v™Rr ÀÍ'J|èUE”ÑÒê=àÕ=Èò*¡Éë"\O+Ž ¡aˆ3±nÝ"”dèÅ!!Þ7d—ˆiA~n‰.p†å2xÅJ&ÐòF]\ àâ'§½†íþ¹·PäVˆYÚ%ЊúŒÞÔ^¿"U9#y]ÄmÆãÐ.ÁîP¤ÖR®®×gS©@*{š¦|í‚eùÒE[·ÆÜPœz¥Rb¹TŒ_¸Á‹ ˆŠòsÿúWnMmméO?-‹‰ñòö¹c´t–Ÿ;›ž¾å›={Ý\]ß]úkkk¬¹÷Qså¾îb(8Z¡ Wtïk*ÊÔ ãuO5Gæî+‡¬’²Þ!gš£kV¤³ëåzÖ2œ®»¾VíÙ£ã—ð5L*®r7W‘íW»—ðhÖÖý2ët™q¼¤“Ô*»®i[ôú+fŽ3ÚùíÏÊ\'‚åÌRŽã:šàâ^®î80m„î 0:°r$)ëA0&H"^Uš´Çk]XŸK6èN§'¤ìÒyÏ VÜ®‡Lêå%†%+uuíéñc4*=u§¡)wnžh*ÐÚ[]òëŸK§R±Ò[Å.ñ ¯(:TæZR¾‰ÝÓºH܃å®ÔK]]e×? –RÈ0>88(Bw‘Íæaõß=ަ(³„•†„»ÓýwçÂB¤lInï” lAJÚ¡r•FU{4=e—¼Â@ËÝ)¨ÎÍ-Vi4µÅ¹«¹ˆA_]¡Ô1 ‰kw%¤ì)®ª*?š™’´·¼îpP*U¦'¬=pºV¥QUç®Y²`ÁŠ]µOÂwöŽŽ +³–-Y³åÀÑÓååå§‹å®_¾$¥¼¢¢ühÐ^ûÎïb¶T1½Íò¦˜ß½Ó3ÛS…uö±0›Íuu Ï`M³ÿ·:áÏ?ýôÓ~[8€;qâØš5‰;vì0t4ÛKȺººGði‡dÍ¥½£¢Ü¡,5%³¸J¥QUÝ’”Z^Q÷Øuî@)ÓÖ8]UuúЖ¤”¥8ÐWA»º[–¹·Üòê IJ_wíéêZ4%¦ª–TUÕj°>¤·»råŠÝýMÑfee5¬6MǽxGÌéÕ¯¬( ÙüõjoÂ1cOKK˨Q£°ævvv~œ’,bNœ1qcÃÿõ‡˜øÕÿm9ÓÏØg<9I’<¯££cݺuëׯïììœàî°àÕI]œx‚ÿë¿[…5 Ûš{ÿûWÏš‹>†kçÀÜÁØŒ+áÏÈ:¥U_kîΔÀAjomm%µ³! ¢£ÓЪÓwtÌf³H(´·µq–;ŽsQŒÖT´•ˆ™:‚ÕuO&’O¿Kx¼BXa AC¡æb BwѨÜãÀH„Ð0d0H0ØŠ owÇßLsþ÷¥Z}uûö !Í»Xõ˵kׯ1¬‘ã€ðÄbk©T*ðËÊ~îìì´QÏú8Ï —{ ¾Au ¡{Þ3ÖTÁO_BS9˜»€‘OÝ¥öÈÿ¹^ßa’$]FÊNMÚ–6þ—Ú+Æ®®~¯ ¬W©¸Àãñd¶b7Ù¤©£¼Ÿ¶¿d«;Ï; S %›ÌMçÉ©+-!Ðd2×ÔÕóø<·QÎXøè‰ƒ ¡»H€7µ}îë=€# {F9,1„†!£ÑØÕÕðjdä‚gTMÆzu+Éévç|é>Fá=Æ~•]¦Ó3Qó}ÝÝ@§WýrEgMµ¹»Ú?5qDÌ¢§ÄBžÉdÒëq/B÷ØL;áçpå$˜ŒÀð˨÷.<ÛÐièéè×ÞÑùã™ ãmt0™LÚÖF-œþ…ç=nr¤·»KS>Á´rÆN¸¸Ÿ3v/ÿï5mëöœ=¥?WŽsõç~/n†#L€ –r¸[Ä?“Ùd2™€×ïB^˜€ö[ûŸ°Ð·OÉq׫?ÇYæ„€[]ëÏ`0Y#ˆ@(àÍyÑÍo¢cÍ•¶ îŽrŠäaƒÁtê熪ËMoΞðB€3ŸGptv¯j AºÈ­jëÛLfsç`I€XsÑ“SW/ %œ±Ìâ‘ÚŸýáì•N ±õ³“½/ÕÖÕ^QY.¤©‘R«qŽüI΢ÑÖ[žk°ž’×Õ«K>¾ú—–Ö¶Ncì2•]P~ÒâðÖÓ³}ùGèŽzàÌÜåÿ0Ç>]wˆ«¼|.+¯8TôÚogà%@&@„†\´ÌÃqf³Ùl6[v»÷ Íf®½òÄU'bœ••¯çºR$IÂzm(¼úÂì`4,Ûe2ñx<’$š®]«¼P)FŽéââ& ûFDàóù$@Å#Ç’Œ)î2q­¡QÛéd/”ÙÑ¿}Áí”ÔÚÉAÄ# à€àÀŠŒqîžkŠ$>:ïe*&„p&`ÛoEð…p—ÄAO4u0F iÿ§&^¸\[¯º <’éd7Ãÿ¬¤^n®#Ûê¸f#È&cŸ–Ž”[[ •õ*õ5‰“ÌNÛÒ¦nÔ0,Ûpµiûöoù¿ø¬éß|FÇ?Ÿ³ÀÿÝ¿Õ7¶ÓÀ;ufê3¾Š¸&@„†³Á&“É`0477‹DBŠ¢>ŸÏ7›ÌŒNǯÛ-Ï×ËG;’$ù<-ŠD"g‰‹„eO"4è³_kkKuuõ¥êªÆÆk†ø4Å¿pá¾ýßÒ4ýÔ¤I/Ïúío~3ÃÙyI’½Wü³²²âñicW÷€8†5W)uG~T·w0|¢ßô }ÞEî(’ÙPÀq} 8à€ €Ï#<n„îÉ'ÆÏ!Üžçš1µÔ9ÖÔØª´ÔåiÏL¾p©¦^Õh‰O¹+–LÒ)š¾'›[úœÄÑ­üÂ¥¢’ÓWTV"¡Ç±õee}{G§úZsÆ)³â…—\÷F=;žÒ}øÔ+GN•›ÍæF¶¨ätøì—p; L€ ¹½BŽã83Ã0i›6’$/"b‘T*¥…"Àhd¬Ý¥o5œ+mdªi²“' Aº }¤»ÜÊÚŠ¦(@Àçóy<A’¼ž!dEhð¹|ùÒ·ßî+?wÎhd…B+¾€æÌ¦††ºÒÒÓµÊ+PYyñÐáï¿öÚþ+vâĉ‚ž«Å…BøŒÑlæ8ÀÁ•«í¹ù—]FЧL™–qF­1Œm3Bfe+XRŸÉºv¶Ug ù#¤´Ù Facoƒ[¡{BPÖ@Y’‘XâÕ5µêòÑ?Õ_½f4¯^ÓI£âüuÖ—w÷äFAK8¡F±·_!tÏ»¶|þS=Ÿšèy¹öJâúÍ]]&ÚX/ Y×äv'F¡¸>OŒ#'´¬ºLÏO}† Èc§Ê›´Ç©¸à7i‚£ƒ´A}Íl6—œ­žñÊ4Ÿö*ÒÄ€‹á§1£=/þRg2™4Í-u W=Ƹ`á#L€ ¡ý®. $i+ûMž<ÖÍíÜÙ³9YYËk…g_×jMŸàÂdn'M`jæu5ðÙ ù-Ié`êÉvz´™}ÁË$´£­­­E"-R@ y<²{´(îö!ô²tuu¥§oîèè|;2ÊßÿËå ‚à8ÎÏÏñâ·ø<^ee…¶¹ã8;[qK‹¶µ¥Ùl6€$y¶vÒã?é³÷_˜ä:Za=z„õ³ÆHŽÎl2[^“™;R¢º|¥mÔ‘«³xÔÇÍÍmìs 'Ü"ýzg+«;: –ÛS½GiÙ f#´ÆÏ&|—ÖŽ}r#ÏÝm´ÂÉAîäp²ôgË$¢àiŸ‰2{[†1A4RîœâY¢K% zÆ‹äñ@"±Ö·ã‘S„ ¡!¶wØs=@’ (€ÇãQ|þ³Ï<3ÒydQî/û®Ü÷KŒÂ4Ñ‹7c,1™!€€0Ap]©PW)ú4Aç„PÇŒmÓOTµN0sžþH‘µØÚÊÊJde%¤i>Ÿß;Í BèQ:qüxEyy\ܪgŸ  …}«¡L&{åÕW&Mò®¯¯Óé:8Ž‹­Ý=<ø|%C!á¤Õ‘ߪãSÖ³‚ø G‘ÉÌ©;c—Rmxº«IÛÁç‘ mc*ª´#Ö“GHm(ZÀS6èÕ^®k;Îúõ*«kL¦îæû9W.Õg3Šôû=a5ÀÜ-ÖV¢Y!ÏÍ yîÖ¯úŠåÀ\€¹¯þËaDhh",óûYnG¤Ñd¢„”½âÍù‘åŸÛ);v}žm“y3Ÿæýf$¸Ò„ É@Ù!ÈNÕ9¡õ9Áµ“D ;JÝ6…h~F('q´•Ù øÝ³g&Q’ ’ zú‰‡>pôN—KBhHÚ¼ù‹§{y{õ‹–Û6Ÿ§||žê;¨¥‡ã¸®.cccãÕ«jk+~€óKÁ ;1•Ujwþû“É|øD ÓEÒÏò´_ê´¬‘“;Š/Öè¦?+|Ê¡¡±½æJ[GëŽÛ¡»ÔÞÑÙÞÙiéa yV„0wðEÍÍÍ–Ç‚¼–î'!?`üC B¨oìÞ4›ÍÇ™Íf–euz½ºN×Ñij’šH>9Ž|Á‹7"ÌUæÿlgWµA£8[åÉ›H6$Ù}Éx ,ÿ@‚™ ”æJ=÷Zÿtý•%#›\¤|’Ç™ÍA$Á§ŸÇ£,cE{P”å4B’$ÉÁy&!BOŽã®]SŸ9óS||¼½½ý@¿ÄÍ·-ÙO¯×ÿøcq~þw¥?–´jôº6{+ç–f—‘2š ïñö+FXµ¶1êk-ï½í-òHØžS>ÎÅ.ÐO.òl­Bš7ÖÅ6ÀÏÍ@Ù ñêÒݵ²ò ‡jnm€ßú)¦Å4s@áof ÝÇkÈžkúÁÃrC˜Bw‘9ÎÌq]&Ã0&“ÉÐÙyöh½Nk9˜ErfÔoÚU{l€?ò•)ô+$ÁÖsgv²ŸVqe"¿ ]D½ãÃóâ8²7ZæŒ' #)£3I×µŽÿà4Ϩ'»ô„IOB¯“ã³F;^çݤ±­~ÞF—Q´Xbee%‰DB!EÓEñù|>gé%´tö›kþá9ó|REÿ…TÀºoã”KˆÈùÇ,Ù}¼*Sµ~Á’½lÈÆ¯×ø=˜ÙÕtGc^K Þú¯×{û›,©ˆývË IÏ¢ÚÌ7Šøz£8á•Vü/+õ­°@’©¤WV±½ËÄ.Aqñ~¬`ŸÙl®¿Ò0b„BæàÈãño<¥·°½]ÿïýû²srë~)wwffMÏ‘æ'Mçë[Ï_ÒŒcCS|+¾€$ªjÚŸ{zÄ8g±âYàH'+™½•³ƒµÄŠÔMÌwEªÃ?6O{´«þÀëszõkIâu9«½é{zÒ µ£›Wü×[îëä.ßµöP6`Ö u)_¿`•6ñëµ~8¯ã“¡ÓÀ\i¸Úpõ¨œ,ïm¨‚äÛZM" ÂÄq¬Ñ¨1ÛZæØåLF¢ù2Çê JüD®0szõ+«`ݷ׿¢LùÚ×–©ã¿Ý|O͉êè¥WX ìŽ•â׫ÍüÝ’£Ñ_o¹Å¼—7Õï)s ›¡Ào>&@„:Že9Ž3›Lº6]ÁÿUuxi62]ö®ÄèIPwŠth»ºGD’ çEú?-Ê4B«†«ýÙtìÏï¶rÍNäˆñ¤ûs¼g‚ùOÉ +t×E_éÕu\;Éu` 8#Á 0Cr€vAK»ø—*§‚ÿ¯Ë,±2‰ÑIÖ1ÆM;Ù·c‚7é8ÂÚÚÚÊJ$Šhвô$i鄞Ѥ©pflùaS¼ò•$ñƯ×ôìö©”¿"®•e‰CC¡(³Dç<(#’ä–+?„¸œ9 @mìn¶Íém«V­JrÉY,Ã:öØë8Ç]kÒŒ;÷^Úá6ä8ŽeÙ~8òÉ'ûñÇROW«ÿš+ðr5S|à‘0ÎY ïÒ-àYóè;ÿÚ_>íéQGOÕ‘=5±½.×¶Œu¶š8ÎH>´vvÔ7§>Ò5$uö[ûŸ~žìýíI+÷¤gÊÜoÜ綠cwä°ŒO [‰µ•Uw·ùÕNžA,’$pf®µÆCñÜOÕ×Lf3œTñÇ8L$Döܨi丗8uW—‰ÏïßÈu8e(±@h_Ìz—Ö¶3¬¼Æ»\Sg`X°±¢ûñ)u1´ ¸Ï"œýŸ¤‚SmË¬Š ”Ñwª¥&Þú+ý@Dè VQL€=|=ÊZ"yÛÝ``ÌfŽÏ' ‚T]¹Ê¶wX;uq=={B7–¼Bƒ™ä€ %„Ô‘”ùñŸYJ/¿Æ]©2=m:±Ã˜ó³Ö°K8O '’N^„l,XÛXƪô %à†k<Æ jbEºf›+—äŇ9kªS>Bï:¦}Œ‡Öó)ÎyŒµ­•••eF’ä |@À³\|â‘Ï5ª-XûNf‘RËJƒb×%†¹Òª£›RÒò«õb—èÄØ~È5%™%òð­Q”zIf‘&ØÒ 9ð΂LßùîÕ%J­VͺG%'†{HT‡Ö'Y^’D%&†{ÐлT ”K@tbb˜‡¥Å+Y¿|UA…Z/ö]”œã-]ynJʶ2-%õ ð~Dí-ó‹ŠØ•p@É˰)L&ŸÏ‡[¨¶tý±,[QQñÉßþ¶oÿþöövÐuX‹hBDÁ¾ž|U³îÌyÕœ—\I€#–1ý¿O~˜9ÝGHó ‚hní<}öò¬çGÿfÚH‚$€$Äbj„L,sûø<õ(×ú××5Mñ–¤Ô½Z=H¢â#ü(¶bÛʤ½ej=å>'qÝÊ@ÜW]cj¤¦¤)ûFÄLJ{K˜âÕ¯¥Š#‚ôÅeÕÕjqP\œßém{Ê”J­84yãr?ÉÕŸîý˜,€Ôk~|rŒŸ~Ϫ»ÔzXöFyÜæµ3zŽÃ0åi‹Wi¿^ë¥>’”^¢f@ì5'>1æÆýS¦ö@JRz‘R@¹Å&ÆÏr¥™âÕ¯¥J£‚´‡Ê”jµVÒ½îè!rÚÛwwï²Q×.áhnV†–§];÷H£àXyÃŒ¨?ÊÇ=ERâNóóésWTÏLž8J1‚g9ÕŸ3smõ\Ía8ŸÇ5_Ž‚ÔŽxñ»³ì™ÚV“É$àó…Búð±Y£žž0Z 9Ç©NØŒ"ÁWò¼È;[¥oí¨V^eG)læ¾äîëaýù__øûÎÊŠjmô¢I¦.6kÏ¥9±³^í`G¬þ»¢+êkí5õº.Îú/kâÃæÎ|4cAu]£$%¸¬ËÙä'QX¾8!Õ+'´%ÅŠÍ;þí U[/IËŒßG]«Ý–Z´1g‹·„©Ý³bIBšWÎjw Xu‰*xǦåUîï$¥ˆ7oݲ’®Í|cIzQÄ–Yú›«´>-iÄîøÏ,…e…¶ÍÈY–൴àÍ gÊÒÒʼÖ}ýo4Å›R”hüfô sªü¤”2¯Í_ÿÃ[¢9ºzqRjQЦ¬º¨Üoë–å2PåþnAZ~D`ŽW{¨F8ÊäŽ|¯Ëdª¿ÚÔàã>²ë’€ÕǹêNøáØÏ—M&“º©å+VÆ<ØýÿùaßwGÚ;;9¡prð™è1åig[¾¹<‡¨ÈåX½å•»F9—ŒX$K$W¡“P“ž§¥.A­¬Ý­&UfI‚ȘÔlmmm·5;zF ÉÜÜÈÄÄ+@Ÿ“È6ö¯Üã/ÔéätHM|<]Ýi²g§$•4éA¡….IGú,@w«M“™C@LvUÓJPœ €NÌŽW€B› "z kj6@|Yj4 ÊøìDbc«‘MJ8'‚‹¸§”˜òmWbªF{O}u/_¢âÕ¡•Ç##ÕæcŸŒOŸê&‡}:Îîîƒ5ùó›ínL….V{µFöb´äŸ¯hö^?ŸF‘4‹ûÂ(ß¡E#ã+†*ņ)d’¯¹¡µóä/¶u3Ìø¦§o¾ç¶H…LŒÌ ¸5>ìÿŽùÞߦ•aתºøyµæ´5éä¼8¨ÓÊšA¡€JŸí—•&AKµ™,k»$­ãO» Ufz¬ÈèäLmee»…Õ”>M§Z£"hUŠ–ôÿ !sžüIØÒÔÄ’¤§k-Ž‹ÞJE0½Ím]T¢>:aÃÖ„s6«Ó«ö'“ (õ)¨¶9T¥OWÐZ Ř,ãÕ®*r™tñ‚¨P:Ø6`÷z}=CÁ1”* ÞƒÛê>6Ëm§Ïç;ôž±âùbEïyéÿrÖÓÖÓCÃ# 5‘ª¥xÈ"DÇ 9²|ïi]û‘afÜ *@=/´³«Ç?¦t^hÈíÔQþô8 I¦¾ÈÀkxÑœaã÷0=,é戰™1êö;I êø$Ue»¸XëãñQ@hSÕ PÅR„#-^ „JC1– ë|~é13ɸ +ñƒòʇØAn‚¸rŸúsº=ÂÇ1LHá2’¤ƒƒÇ9=è{|hlO0æÆ'DØY׈Âÿƒ„€—‚øF<2 ÁD: ã0hl ~„Þã‡Þç‹hü x<òºwƒ °Å|¹Trc€8V!™ÜEº9X‡Ä‡?3¼›uŸ [‰GdãR)&c.×Uº“$¥¦mnÝÜ„:{ë TnÝÞ©qYÖÆ'×Ôw;ã’€c¬ @N:Š¢œÅ…õDAMMŠšgצŒR Œ IDAT ©h zm €¿îg53TôlíMStêE'-$(Z©œ2jÌçy«çìL0_8™ãxêý÷½þúkú¸›ü!äv»~ﯵ;ÛZ›oYâ{êÁBâ[¶P|WœäøŽà6hT®@¹[ªA‘¡ÀóØÀ0ùæüȨk^0 <‚£æáÅšàûîŒ&Iüåó ®”††H#Âet°ì:Ýuk¾Ÿ"‹ÂÃïÅ_ ­Q4E0æ‰='¤FÃg×Ú9ÅE4½ŽI!s: €¹„T3å¯r”çWÚrjj2£I`û¶flt\Jþê„ìÍ Ùö¾Æâ…åºéóƒZÛ ;´e5»”öÖ'3j ýï˜J¯^õ-„Pp ‚ $À/áýXï_7†ÜÃqXó’3+_ ؇¼^ï'–“r™”Šž¯ @!A”\>2Êœ:ã9b[|ØäùtÀ5ÌœáyB‚o¸>ÆôéqÇÐ0Ü{ë²;¸6ÄŽ&‘ÂLyÝ5¾d‚¦•So³-sDXóŽüÒÞ䪪m±Š‰Ù¬/1‡Ù4k½ïx^éq¶Õé"J¼Œ‚b®òAàRCžp . òù.ðžžÇ±X¡R_wãÝEÔ?Ï[£Û‡‘Ä À#äàñ€x< „ïï DrÞH ÝAó @Èÿ% @@€€Ã€…àØ< Ÿ/Ý@Šï d…H7¨¶,ª¼ž®½I¹û¶ð—“Õ{’յߜWzGØn yD˜²H~S„t’•‹)BDˆ0òaÈ{Zûv3›¨ÄýnvZ‡ç•GŸ¦±Ô7ö9œ=õ›·4›§o·ê»é´Äi¯å¨ÓT½õ;8 ÍF'°¦VƒC“¤UpG©44 àìÛWoä8†óçbklìs°æÆüÕëmì¬D›®ç õ+knߺy{SxÞ¿¾<ôÐý½½Ç-‡C1¯½öê_ª¶õ÷6G)½>žà¼€ˆ0X¨BwÞàóÏ©ôRR„a€E…aóça7jE‰ËpÖ5üŸÎO8//Â!ñá¬X –‰ñ‡î]|[$D²œ¯×8àæC¿ýí‡n¿ý]lìuK–‡\ƒ‹½"ZSèÓµLG}·¬í¥kÖUgWÐgÒš_ÈÍ},°æ¶F•˜¢!/-Õ ù3GøÏ5wÔ÷2ãï– 8ÎÊÌZ8€¹qÓ[ÚíJVunÍ’³2@Åh”`ïil¶gçXABÿ#0 S†Ì ¥ B€Kð¸ïCdˆÀ]ŽåÖçó­Ðëkü-;cã®ã§lïõ}üú[‡Þ8øîþöÎÍ¥•ßÝð‹Ÿ•l¯}éÍwŽÚ£ã~û7?"L"ô \ŠD—‡p #%I``€\N‡„Œ-½{tìÄ©ñ÷0o¯ë žä1¯è¤ý„!^ñã óÜåŽ$å'ìôÁ¥ œ/ hj A„ ÿ„0þ3C“ÿCcK'\£;0ó2ŸÃ1aH„ñ9N†áŒ4Ú²LªUÓ! …‚$ Ü¿ŠàÕ%:»¤ÀZ\œµ‚J»2¯hú$ ÖŽz£*-oƼ êÄ4Mu}‡5žBO5ç?^j±9(ýú’UÑ@Ò¹«Z‹×etдJŸ½>/±°¸pc}ÕŽUeyæÂÂŒ;¡IÌ-Ë!Á6ËÙ( ÊrJK×­(çüÓè„A™_×$,½>vÉ’¥C§Fôï¶Öí®Qðï?õ ØÍ‰?µ¡17OH0û¨$Pî““>8ûºàŒ÷g1 D8ÒFañ#î½ÿî‹ WÜ{{”X€&öc˜C^½Õ{ú`³,59åžk•804Žá q 0ŒÄÄá$†HH#q 1Dâ#ÃHl<$üÝ;~By‡Cœ&6 Ì¥ˆòÊUi€T&•Ëd2™L&—þ9`ü뀋㾀Œ½}mVmJÝ®Lab½/<ÏGEE}•+—Ë/·PêîîþméÖ'žøîÐÐPÛK/FÈ?º÷fˆ ۃ˿ ’;–ñ×k¼p¡¥#£ü«=ü‡'럈¿ãê)³ˆâyÔýÁÀ?Zއiîxìñœ… ~~û7>>.hMà+ Ü+ƱWù£¯€åu䞦4xTºðSbù'dÜ'æ“'mg†Fœ,Ë!„B¤ èà@’$9Žw¹CNfÜ?ù§”$R¿òaØÐ[˜L„Ýž-Iÿ¢t ‘ZPîå ô \—ÃüU9€H,„T&ã}<ïñx¸w3çv»Y·{˜u³n–fÅVqlŒ<5JÚF$ŽâôhÔ?ÞÁ|ãcK”–ï¥9—Ìêÿ4ÔðßÀ¾>Ò9„ó¬¼8†`²F †pœ—¼”ôQ2.0˜Q-pDDZó—©ÂÂår¹¿_†ã¡â D"\„‹p‘ǰ©!„ßYàk†a7Þx£^Ë/¾0tú#ý‚‘oÆa¡€ˆ0@"â»û\IË.v(@BØ]zœq<[ÝõƒÇoøæmѤD„òñü[=¶_þT9?áÛ«,ˆn¾€À•}Ø„º+1žCץÉ.°Ì=Ä÷ëu÷ÆÝp¯×çõùxžçÃï6~b>qfpèø©Óc.—ÿû©Ib¢Ôáß½Öï•ØOòàbHú¦MìŸÀ—Á \B½ð‚Í6rrzsþ„‹%IøC‹o^¯×ëõúÿöø|BSSÒ‡‰Dj±»a¹7}Å·Ûår¹X7ïdðÑañèO>© Äb^*Ã䔄$)%¥R©4\*%IR*•ŠD"CìÔê˜à÷fƒ$ÉXÝõÿøÇîhåÐ7®##”hª|<0ãàdÜQa‘;ˆ=p›ýwtkU÷q›+ýÞÅŠ¢íõOv·~½$é¡ÌÕK¯×a.HR@à ÂiÆ–#×À×aóoÃè0ø!Ï:! YáK@`;3ØûÁ‘Þ¾Ï â J®Ü˜L[‚šar@,x–°[|ŸpŸ( ð•Ž%n÷… ÏçCˆçy„a€ã"ÿzë¨ÒM, Æ0‹A,Fá_b‚iÆ›dú¸Y¯×ëóy=¯×ëõx<@H$¤”$IéDŸÙwÇxf®p&ßür¡LÙq Ex®"¡ãÇ5ìnÔi¸ÓƒØG'%Qá rS«Àx}ØKP²@¹G÷l†‰0¤ ‚UwKT´ï//tw<HI¦¡Ô{$+{áÂE"‘ø‹fÿ­ |é ]Š$cŸ¼‚ØQ„x°¼ Ò L¹¨,|9söá‹D¢@* "T¡ ä—(œKæ¹ ¸m˜ˆÍØMObá7 ÷X(=( ðUgîúÏó,Ë:α±1ǃã¸\.W*dR™H,Æ.\7œ¹ºà%ÕPaâ#žG<ïw:G­Ç#„"##’$IRèå¸\ï,Ëþæ×%÷ûw{>:!zûˆ+PFÞ'!À€å1–¥’ã#œO`p±a8†($W‡JþÞvÊf#˜1<<\EÓJ±X,HU@àŠƒ‡.A·çâ{PWØ?Ä#÷:Ù‰¥0t”7°°¥ \AL‚û’oŒÒGJB$¥d,Øs*`ü™o˜ärû½`AìOænLN wX@p€_ƒXB’sÕ½,;2>ÞwäÈž={ü•Èèè謬¬ðp2@"9ÿ%øé={sUC/°ÃÔ>8€×ëu;=￟‘‘Ë—/¯««“I Âß yã_¤Òy…æ“ørñüóÏ}ØûÊ3+=Ú(<2Ld:ÎþãÀx³g9ÞëÀGÈåæ]œhûKajÚ«“ª‚Ýa™„àÂæÐ†aˆ”À²…¢Ÿ>&Ç1ôjï_ÿ¨ V>øàJ©T*˜@+F* úN<êVôQ3¼÷w;ƒ¸1äucƆ>˜‹AIsÃ$r‡Âuß–?†IC„+ 8@¯ üsc"žwŽ:ΜùÕ/yðàAÿ—óÂÂRSRH‘ˆÄq‘XìŸtÊz!„Á= üs±`+B žŸzõaæM꟩ş’ŸÄ4ŸÏçrŽz\.¿ŒE »FCÃq‘Ç1Ÿ° þs˜–Ö¿i.£( ðµ!äóyß?Üûûßýáçú®›µ’ íãGŽK]œÈaª,J$bÍüHPÜòæÇÇmoœrÈ .f¡ò¦lù"l~˜G*ö €ó–ÛÅ@„£ð`=ð¾‰5ÿdçsÛ©*mÅ 4sœ¶€€Àó"ÓeÂâTtâ-Ìú<#4>8Õ³7G2“Aà| µxÄÍy„ “¾P@àëfg Àçõ2Nçà™Ó}ø!ðPFFssóààà‘r¹,$8ˆðpœËåbY0@y½>žç!±XD’Ò€€‚ xÄ»]î±1†ã<>Ÿ0L,!I¥"‘8Çír{=ŸÏç·pΑQŸÇ31!(BÃŽ¡Ó2ùøØ˜X,&‚¢(’$q‘Èçó¹Ýn†a¼×çÃ0L,Éd²€€ AˆðÏ0U@à«cÿBNflãÆg}ô‹áÀ»¢½5iåó¿Z¥©Ú±£²²rtttÊÉiæGþ±j'BhdddpàÌG÷¿öjûî·k^:@zîÐÞ¥'«9…ÌÍóøÌu1@èC ™|‹dÝC¾7zLÿy¹6$$ðÖÛ…B@à*B*°Å÷Á‚»±±ÓÈiÜ'ÑÐQpž‚±3À9ÁË"„0¤“+ ! A‰Q* ÂA Ì•- 8@¯#¸T:kÅ‘ChÔí>~úÌàè¨X"ùÍÿý_gWשS§¶n+onnfy„cؘÇóÊ«¯~ú駉äþûï-++¼ýöÛŸzê©áññ°°0ŸÏçñz?>fnllìééAétºgžy†r»•J%EQ^¯wÀn÷z½Çÿûßÿ~äÈ‚ î¼óÎG}”ð€Ã".lnnÞ¿LLÌOúS†ãÂÂÂH‘htlÌápð<ÿ§?ýéµ×^ zôÑGW¬XádÙððp!=w´ª0 TàëÄÈÈðs;*ÆíïÝsÐÁ¡éMцü­éé!!JÈÍ}ïOúÓðˆXÎó©ùÔððpð$Ú˜ëxà—küäÉSÝÝÿóï¶g_|G‚{–޵̽Hí%Ä€‹üM@± X±x®‹–Õµ¾ÎòAaaó-Ž^߸ºˆœÎ¸åJD( 8@4[ ï󹯯$bñßjk!ÝÒ¥Gûû¯‹‰±ž:uäÿ÷^\\àݳ{wó¾}±ø/¾øþûïó<]Öîܹ}ûö[n¾YB‡zôÑG§‹vwuíª«ûNVÖOúS6$dllÌh4þhãÆ'ONísÆf»ûλÏçWæcÇ’¿ùÍ¡¡!x»»»¹©©±±ñ¼\&s³ìïËËÿö÷¿{<ÿœ¢]>ûÛßþõ¯µbŸNÄç©z²ÖöêòÚ¶^ ô6>;¯ 3VqM~¶gó gGéRšÄ켂ì¸KÉíÛ–•ï(jÚG^r~ÖÎf‹.=A9ý;sýãk:s›v$)­|Ù¤˲¼øoµÏýêÉÐÑqþomžM›“¶âÀÀ@ÿ>QQó×®]+“É*ÿøç3gN#Nçè¿ÛZ³¾óèôCÉåZ­V«Õ>üð*«Õzðà[û_~yÛž÷Õ!®Ôb©Æ(å1`"DȇàíàßÝ,EI,½²óyù3ëó#"¢à¢ïè \œ=Û7æï±Ð©u¹L[¯&=EXÎZàKµññÕí9M;R.#ü|îEÛYs{uemG¯ÅÁP*}bvîúô«óÙþÖòÊZƒÑÆp„J—œ——C ¿ºà®]=ñüŠ£×ëeæ¸ÅòÆo`·Ürˉ'¾y÷Ýo¼þ: ÔÑ~`á‚$Ap,‹ã8àõz?9zôÿž}v^X˜Á`øËóÏ oùå/vï&Iòæ›nÚùüó€a!’$KKK?èëÛ»wïžyfllL&“ýð™gl§O@îÓOóî»%!—Ëäb‘È_at»\OæäÜxã/¼ðÂøøøO~òãÝ »‡ìö=ÿügMM †a¿ùõ¯U*•L*ýÙÏ~òäÉß—ÿ®üw¿s»\±Ã?óæ=ù¥}IÍþ5 `ïÙ‘Ÿ¿±TÕ´õš""±b¿ßűöžÚüüübMö$åEÓ‘±ëë8Åå„«¡¶¾?/5A9=Qôªª†• Áþ} íÏóæcŸþ¥ú÷+oC×Ey^í^ùÐ÷¿™œ8݉EFi¾ÿý§•¡a¬¬8ò‘itÔ¹£zGl¬ÎãõQ)“ɧÌIJ,X¸`ÁÂôôŒO>9zà@{ûk/½}rÙ|wÜbwT¨/(ÀÇy B‰=ómQÅjõ½ú~GÍó¹ë6„Ï›'ü.ÿX[§Á¢+iÚž¤p¶o¨nÍNMQ ÕLÙmYýº5µ°² ¬!1F Nsw}yéº5ý5›â®hdû*óËM©euÛ㔬µ³rca~¹¶as¬ NÁ \#fö"xÎíÙû¯ñ>°pÁ±H«ÓII’eÙ7 oþà™g\ãã>¯ƒ‰…Ãò~òý7ʤÒE‹½òŸÿ˜-–'NŒËd2רXHHÈ¡·ß>f69Cv;à?m³)-û÷Ÿ>}Xóä“O~ï{”‚R(Å"ÑÐððñI³xñý÷ÝÇû|?X·®ãÀÓgÎ5À0ì?mm€2$DJ’§Nž”ˆÅ1Zí©“'ßyç¹TʺÝrùgµõØ]Š~¢Æ¤Œ[[Q—ÎÑ g_ciim¯€ õ™Ù± 0×?¾®+-•«oã3n=Ó0¸¾a{ŠÀÙ¾!£R[Õ°AeºP*È­Ù‘>GÓ%©ŒËÉßSØjaãM…åôJm¬aKÓ¹½¸²ÍÄÀº•yk”l_åê‰>@gÏŽâÒ}F€PÅçø›­íÛŠ+ÛL 4ñ¹EEɶâu•&䯶åTl?Û|jÞ³ÎßÈun+,ï°p@i’×—l:džNo"—¢¢Ì’íß–•ïÈÎ$:ÛM6›ƒˆÏ+Û"t?\3ûk¯þ礩sÝSÔñÑéQEúCY4=KëÁ¼ð𬬬ÐPú÷¿¯8tèÁðß5k¾7:Ê,Z´hýú ‰IwRÔDågÊ:Êd²ØØe×/½þ;Y¼öúk¯¼ràoö/ ŒÕŒ/ŽÀ"C}"œÀ´‘8ãy³ÿ@ãî°'¾›£˜i>¯*öÙD±5+ߑ𠽽6‡¡’óÊ6%)XskyqµÁÆPÚÔ¼¢ Jp¶¯Í¨×çêLíF›ÍÆhV–”¬ÑpVV@¨s‹òÒ¢ÉÙ3Ý’‘%M[âH¶okV>WÒ´EÛ»iº„µ¦ÆÒÒÚn”~e^ц$%€µs{©_Q”&9·hý9¾ío,.®ïup@ëýŠgO}qy½ÑAÚäõ›’ 9?ƒâÕÙñ×q†^ŒYß»cùÐ{²­ ›cI°·¯Í(fÖ7ìÊTôïxd£%¯a«Îâ?‰R²)I ööµYõúUtÛ[rUÍ•q¶RE@àó{°ÆâÂên†ViôiÚ©!0³ÈíÚô@9½Joë696F³²¨dít›æìo./­í¶ø%Ju¬ÍªÖU5lð?­æ¬éÍiØ‘6U(Ú •µ¶Ä¢†Mm¼Šè¤µe4“µ®|_æ®l¨dMgò*º·Ûâp8ýú’‚´hrŽsÛœQNç$:Ú{-6›ƒN.*Û4cx c39h}ŠÎÿ©NZ_ÕMÐäœe×Õ)F¾²ó \ŠPðé Ç€‹eYŽ}ó­·ü ¬ÿ¿_þòÉ5kÉÊr³,è3펱±1ŸÏ‡óï3/<œ¢(ud„L.ÿÆÍ7#×;èp0ãã݇e?þxIiéK/¿üɱc˜HäO†ÿ÷­·ü½©+V W©CÃH)‰á¸O1AHe²ˆ¨HL„“R)àõùÜ'&ˆÁA0èpäÿô§E[¶lþÅ/^{ýu0îrñ˜ýúé×xYºôDè(ܸµ±½§ß΀B­V’àì*ϯf2«šZZZjr‰ÆüÒN'AÓÛ®\ßÐòÜwM¦Í½v\én6Ò©é1ÜERÍiÿüpÀAA€­Û’Rq`ï–8ÒÚ\XܡʫkÙ»·¥.—ØW\ÚéœVn-ÌßGäÖ´´´4Ue:ªó+ûXs}~©1©lÿ7öW¤Ù* «mñEE‰ZV·}¶Ñ3l_uy]ÐÐÒÒÒÒP”äh7˜glwv–—vÐy h*Ñ+K÷YptwÒ¹ÛwîÚ]—G*ëûYAqW„‡ã>üÐØ¶¯î‘d!滌ž»¾yTTÔùkôùÿ²bÅ·JK·>øà·hš>úÉñÁ¡®îw^zùåÁÁÁóm›ÿ½>\$ W©³²ýÃþðÛ¾÷ßh ²ƒŠí£"†¡å‹°›£êlhnnv¹\h’«x æL¯1:oÇÎ]»ëòTÅ¥]Î‰Æøø’†–––†¡°°Õp¦kZÑŽ»*’-{*»íÓ30ï+ßÃäÔµ´´´4U¤s VâL¦K˜ë*ͯ…ܺÞhÈ£ÛŠ‹Ûí`®/,6hòêZZZšJ’Œ¥ù{f*ÎÞQ^mI¯hiiiiªÉ¡ºZNpv–ÖCNMKËÞ–†<•¡¸¸ÙªN/+[¥"âKê·þzë*šˆ/iøëæ‡b9c¯ œ¦v‡FËu`5v3Ú4Ñ_[\iI«ÚàÀºh+­ìa8“ɬ;°kC 3k©" ð¹1ï)®4%WìoÙ½«$Él°ù-àœr°,IE;wîÚ[“Ãí)žþ²}•ù•¶´Š¦–½-MeñÆòüZ³21[Ït4›ü{™ Œ.3qš/cM­FЧÇÏèí#µé‰´¥Ýh‚39;wí®+Ñ÷–—vØç:78›¡/.o‡ÿÜöU¶Yg\§R—®wìÉÏßÖØÞc¶³¤R­Vs—]W¥ €À×L$šþ‘ȇ€ć}Ä(ó££5 h,7ðø|¥Ï>Ëù|¬×‹0Œà8¯—q¹FœŒÇçëÿä‰AA§~¸a3>¾8&¦ù¥—ŠŠ‹7üèGþ$€ãÃüÇôô>ìåù¡‘‘Q†s¹=>žŸ<8Â01AHH©HBðæw˜HäåyB&ã”aaÕùËŸªªªª««ª«w<÷\Uuµœ¢H™ ‹ÇÏ^àå¡HÚÒPµ^]õÅë2î½óÛOn©ï²kj6@|Nj4 ÊøìD¢·Õè+š”ÄX“>eí½ÍFUzZôÅS]°S£§¾º—ˆOÓ’„6=Q à4¶šèäL½@™˜©c«i*:{›TjN¢Hur¶ž3´ZXkw«M“žC1ÙUM5¹iÁ'©hŠ36·uöÛYElöÖ-éÑçܧ’¦†¢$%(tI:ÂÑïðŸ¡ËôŸ&¥ÑPŒÍ!(îÚ`µÙ^QàÇâ¯Ç}<:l¿ýöD©T6{!€a “Éo½õö­[ûÓüüŸL’”tE)ærkSó»P”â¾ûSõ«_=ý̦+ß<³§Sòæ˜Ý)‹°e ñ›4'^þgÕŸþô§çž{nß¾æcŸ~2µ|ËÕà¢Ð¦'«”ú4-˜:-NK«Á¡ÍÎŽU€".˜$ã„ IDAT;]ešh¸!èÄ4­HU¬ 6fzMƒ¥µ±½Ïê$£Ó·lÍŽ!/¬ÄYjofMͽŸ¯eRACSI¢ÒÚÝjRef'(€ŒIÍÖÚZ»gÔ š&líÍ­=f'©NÙ¼mCœ‚5µvC|¶_o }f2ej5ÎZw$µiZG§Ñ¬¥Ý¤ÊÌÔÚÚM,8Mí6MšNAÆl¨Û_•M€:>IÅY&/Ö§és–*‚ê>7vc§E•œë‘™‰þÕéç–¡ÏŒW¨ãÓT³†ßÌYZ»]¶?Ø’1éé*›¡ÛªÐgÆsF̆VFŸ=Ãí1 ÃQ4=KôÆá&=9†….EO˜ÚMìœçFPútÿ¹ÑZ Ř3¢NÛÞP‘£e:k‹WgÜ{Ï#k·6öØ/Яp1òÕE* pqx—kÆ?yŸ{lÜÃ05þ3r»I€J¥288ØétŽ}ï{ßs¹\o½öÚ™ãÇe2™Øçó[‡ò­[qÇÐÞþao/  ‰Œû|ÎÁAÿó‚‚lfsXXØokkI ã8ßøøÆµk_Ú³Çëõ>û«_!·{õêÕã^/Bhèôißø¸?­„ç1Ž––%šú’s:õ×_o5›G>xçï~÷» ã”Je$I²££ ‚–Eö9jšŠØ´µ±ikÀnîj«,Îßh¯©Ëq88ƘŸ±‚Žc@Ç0þF9šò'ŒNKWíiîµ§è»Mšô‚hàLOuœaã½wNÖùtÉyy `€šLÀ8ŽPSäTÍ”`L ôÙ­Ž=ë2Ú¦²$âcf8‚&&œB®ÀEgW”Qµõµù•…ŒJ¿r}Á†¤]…öÞ}•µ­&€±p\êÄ9ALfCj»Fø|>SÿÇïl͸$ļχ†FøˆHÍù€ç˜@‰D¢Õj7lÜ8åÍp]¬Ýdê˜A÷Þ{ÿÍ7Ç:tÈðF‡áÈÁ÷¼)Æ·lvóu^‰øÄG>wšÇûÒ¯´ÝøÇrn¾%ž$É«1.tnQPôäsOp ŒƒáŒ¥Y+Ê'Ç€fÂñJ‚œëÙU¦•TAmmcñêb¥[™[°>¸ ÏgRœÃÁºij$µY°T¯YQ;yR­u°pv—"¡¨ª ¶¶¹tM©Ð&ç䥫ŽÐQSÕV5Åu3Ìì…š.Mcë49u=F*)[OµÖwZœÐnQ¥è•¬¹£º²±×Æç°pªIO^ݬ¥Š ;ÏÇ0@¨'Ä@jŠ0°Ììr˜¢(`ì;­ (Š˜&6ÆÊ° }v"‘ߨëŒSZ™ø<ÝŒvWŠ¢ Ææà¦·ˆ²Œ™ÚŸ1=C‚³qÌÜçv6öÍ2.}C\:°ö~C}yéÆ|hØ™x-‹Á |­™YýB€qËí®Ûµ‹ CB´114M‡†*fÌjµ††…™-—Ûm;sF­RñhbéYÛéÓw''KIr||œ â—EEŠÀÀõzJ8ê=ôÎ;›òó9Žå!—Û)‹Ÿüþ÷wìØÏþßÿý¡¢ð¨¨¨ŠŠŠ‰®B„a"‰D$‘ˆ¼^~r±[R*•Ëe¿,*2?Þ××WµcGíßþ&%IÏ»\®Ÿýì§O|÷ \„ÃÔºóWx9fÐÞ×Ù ú”‰Þ9etBöú•Í«»M ¡¢):µìÜ×¶g6¯E'§kê›{û¹f‹&3Y ÀҗꜾ©™`.ÆÊ°A‹qp”j*îES„걚ÝkgôÙY-ôÚÿV3CEÓpÑhµ).}8Í­¥ëŠKc'_qÿð3¢ ¦&EM‚³kSF© ¬ÿ!§OŸîê:øñ襢ïâÓlEg妞a7Ñš1‹Ø.˜êšóÿEuN@Ñga¸)52@ES$ÚÌdjcsol;w®R›¢ƒÒÆn{ÂÙ଩ÙàÐfë•ÀpŒc2n2Ž )jŽsë¹ðu²Öƒ‰ŠOŠQʘ”Üõm»,lêµ-F¾ª£@.A'RéôF’"™ÌåóݳbŃ=ôèO………FDP´2$<<|þü¼‚‚zè[=4îñ„EFúD"€àÿýú×Oÿà‘ juºœ§ŸnÚ¿ÿ¶»îŠŽ‰QGG·xeõ“O.\²D©V¯^³æµÿþ÷áï|g密ª4šðùóøãïnjÊyúée7ݹhéÒÄääðùó#,XùðÃ+~øî{ï¥ÃÃ4Mcklìs°æÆüÕëm,Ãp³[áöÍOnn6³ Pi5ÌÜs88J¥¡Igß¾z#ÇÍqkB|ø¼°;¾¹Òxÿ˜<• LM¹/]&“]“%ÿ‹·ø¼yá÷ÝŸúÌ7~ç‰|ɼÿ4Èvîw½Öãí<ì;zŠ õ¾ûÖo¼ÎÌÑIuõDajì0³`54›(]’J¡II¤{kÛÌ,€½sûæmíö‹fàìÙúäÿk­¤ZCÏ)IESŒÍâ°w7÷ž½¤6-ºë;¬,€³«|ÍšònFŸ¦±Ô7ö9ý™ÕoÞÒ<ã¶ÇÚµþÒƒTjbh‚à€ðÇ_¼Ø{ Œ.íœ.0qÇi½žè®o´i“4$¨’tLs½Ó'©XÆÁtŒJÀZ;ë[mpžšg/U>+,ǽý^ßïªw•üáù–vƒéØñ‘QÆÉŒ² ü÷í÷þü×Ý[+jÚ ]#γõÌ@ïGÞ=l<Üw„çg4kz<ÞLæw{ú>:~Ê6}Óˆ“ù°ÿ“w/ð9aµMó¥ü€}èÂûpÄä?1ŽóŒ8Ÿ˜O5Ÿà¸Ï”ºx•­£¹»¡¾ÛÅsËëm4Ø€5Z-´^?ÕIjÒ)c½_×ξÆF›&M¯ÿˆPº·º¼™‰ÏÔžÛ¶ªLÌËÕöoÜÖÚggX§¹sG~þ>jU^êĘKss? ÎÞæ^N›¤!/&Õ9`:« óK›û솭o_m7§MÒײù #ô \BeÑã9§)R*‘Ä,ZTþì³>Ÿ$É€€9Aà))•Ëå‚`Y¶ðg?ã<B"‘Èå2 (…\öÀý÷ß—’‚a 䯄Èår9Žòz?ûÝQgVT@yuéêJþõS˪ÖF@BAYNiéºåÜÄlx:Åù­íêÄLMy©)¾Äÿ:(.)ÕåÆÌ´’’þâò¬ Aë³Ë &ŠNl-*1—–¯^Á¡I^_¤!¢W•å™ 3îtp„&1·,7†$)ñTa~Æ#++ê6;#µ21'½³tã•A¡IÌ+˜þþ<(“sWµ¯Ëè i•>{}^baqáÆúвŸíÍ'“\­ªç¥Ó›+×=b²98UjAQ‚ v}Y^yñÆŒZÿ´šÙ9J€‹´Ì(t9™ªâüj9‚B¥Ï-JUƒB=K¦ H]ŸÚ^¾î‘fšVéSUÝçUŽI%–âÒÕ”r@ëR‹ŠÒ”Ù%Öâ⬠PÚ•yE3úÛȘÌl]qiÖ= ´neAn ©ˆ)(±”–¯YQîOSR”¦œ>¼›Ô¤$ªög|»½¬n«>EÇìiÓú+Áš$•­Ð”œ«%@›Ÿ_šµ¢’ViÓsó3åWnÜ¢©H™q{g+U> n–}»·¯¶aß }T@ÌBv¡F$ÂNœ:Ó÷±É14:2Ê „Døë؈ź%‹”ÁAçoZ5k’@µlÉb)ynßSpP A E EE©ÃB’Ï\ÔDgå 7Þ»RiãÓ“5ÝFÿ·³È èxMOñãÕ›tåÆ0Ù|CÆ®/[_Zê×5¥I.([5!¡èätUu%óXÁ,o¿“Ñ™5tuem~F)”FŸ¼¾¦$-f¢)…Ð&BíºÇ6G'æ•$+”sœÛ!c6T•åÕ…Yå•.1§¬(] i׬ù ƒ±¬Ð(%ð¿jƒG<Ïû|>ŸÏÇq˲Ç¿í¶Û®Rv'NœÆ?Sxž÷’? BÇq‘Ç&Çù/Ê¿Éår9sæ—¿üåÞæf àüã-ñ·h4’ E"‘X,Æq0 âyŸ×ëó/ã8†a ‰pa8ŽxžG¼ÏëãyÏ# ÇE8î¿ÿœ8ŽO$DÈÇóˆçgîÃû|¼ÿ?„Žc8.‰Dþ3?7Üú|_Våϰ"¼œ¯…ááᨨ¨/ rårùÊøÂ,¿î?–eGGGÏ Ê ¥PŠ.m~¦ññqA_åžÃ§–“¥ÛwÚ@©þnæ·nÑÇN‰÷¤õLk‡!:J˜p“Lzö¹}¡©eß¿_w¹C‚5¿+‹ÏŠèô€ýwÕ»>ìÿD.—Ý›”°æ±Œ©MÝ=ÔíyÙ|ÂJÈüôã7ߨ»p)ÁrÜ+¯|n×?@»`þÏ~˜öÅPÈvmz T3µ¶Ã¥ãìÜ”UPsÙ‹Æ›ë÷¯$,û…W®Ð( p -%’s_ÂÌU#Ã'7!„XÀ²d@€\¡À0LJQÁÊЀÀ ‚ Î *8€À?Ne®h#Lî3ënhòKñÉaZò d_È1Ž „ÉW¾ž¢þbx¿©“A‘$9ï¼á¯î‚_x\nöíÞ>¿ý‹R‡g>xo|ܲé;Dªç}?û¡ ·°œtˆDg½è cØs±‘/¡q—kxÔ‰Ïl$%Iâü^¾‰ª9B,çq³3ºž0±D|;'¯ήêJ£.·@Xšö«Œà.©‚vûN«Õ¡P(~ó›ßü¼  ¦$ vÎÌ+µd—¶ÏçLþõÂÞ¾iuq¯jU…Vèëøâ:Ò/”S¸öpwÄô)à8·|Éåsýþ¹ºéRâ<^Û™Á §r³\S뫆·Ïù>)!îž;o5É™AGÍ‹M2rFL¡ƒƒîºíK´ ¾$÷ÛܸvM¥E³ª¨,E)<}‚øšóY›áE8N$I{½ ‘H$SsÍ Mûÿ[”)ÛZR„Û 02vÓÞá6|qàwûã©LJÊ.w®2¯Ï÷ÑÑËžÞÃçó}b>qþ÷‹4‘s[Íñž÷œóe¤zÞòëµÿ+='l;°÷ò’Dgî8ù™3ŒÎÞu [xh( ðU1€Ÿc¢†‰Äb$BÞÏçÌŸ€€€€€ÀÅc¨HD‡úÜðˆÓ14F_Ö‚HJˆÃñ³}€.7ûÁÓðÈ…&3‹E×-Ztî mÑó#æJ"—IçG¨¦¯H¡!A *@ø( ðåûÜ#ø…\— )‘,[óÖ¡Ã<Ï[NZ;»Þ}ðÞ;É™oâ Ú‡DbQ‚šuâ™ùƒïe?Ì… ”$~ å¢3ÁLGö£§²Ï™ ÃÇ…¥×( ðet€â¯™R8a¡:/€$ }ìu˯׾×÷±cxô¥W^gÆÆî»ëöUŒ2cß9üÚÉw¾}Ì¢èÿáœ+€X,šn5( ð%†w»…› píQÏ ËÉJ¯Üùâ±ãÖ¡áѵt¼üJgpÇñQçØ¸Ë8ދŢì‡V,œû=½ËbÜå®ýGóî}ÿ†ó^Ûˆ[~ýc¥ ¿‹€à¾ê³¶ü/Àq,z~ľŸýŸ7Þ:lì?ià<ž3ƒŽ‰Š¬X4OIëc—Üs×­ó#TW*SžçOXOÏîHUaÂ" 8@¯Aø‘ɾ^üùו°wnYWÜáÐ9g}nZŒœík¨ÔÖL zlצЩЦ-±Ð¿=kÍÇ̉û·Æ9Ϫ´ÌØ@%W4m‰û*.–ÄölÍÈ·å5lŸ¾Ü…½}CV¹ª¬i½cãÅFÍú†é…ˆµùɬr“®dÿWj¥{Á \œÏ3è×ÖÒÞÍ$VìßÇunè%VÕ4l¸$f5ÔÖ÷ç¥&(Ék®®Wj/Û ÌIôªª†•Š/¦XS}usRüÜðìÊIJ†xâ /cÆÚ: ]IÓöµ¿‹ž•À•G&%çGªæGª`æ¢ð³²HµH5ë&¹Lú®Ÿ]QÑQ—eM£"£"¯¥"Ì×T2ÉeMɱJ°÷wÔ––®Ëgjvd^t–T]Ñþ9Ïq=_]H]f*½¦Þ`M9Û&m5ÔéÔõ: @Ùš›Í™k£§66Û¨¯Þ} €À%8@žnÂpöì(.ÝgdU|NAAºÆ²c]aÃ@á#G#ÈSsžÞ«-ë+¶%s­å¥Õ ”>»  3VÁvmÊ(§Wj{÷cV/í«19 µ-§bûd,²6çoÜcc`Ý#}yU[ãÍ奵Ý6UbnQ^Zô̘½s[~i› Uºä†Dtö5––Öö:ZŸYPË4>¾º9}²·€íÙ’QÈ5lÕ;ZË‹« 6€Ò¦æm˜Ñéì??w{ë“YõúUZS·Åá°qÚœ’¢Ì˜ÖŸy÷ä1K6%)ÁÙ¾6£^Ÿ«3µm6£YYR²6Vlcqau7C«4ú4­0#ÀÕügÝšÎܦúîµµþGÑdaT+ r•­µ­&‹Ñd—•eÇ\ô ?_\ °Ö?¾º3-GÓÕi´XmNQ&×XÛn±Ù8]nÅÖtõlåF i­|ugz®¦³Ýd³Ù@›SV²’«]—oppÝ«ï)©ÙçhßV\ÙfšHUT”©±ì8»CYBõê‰>@gO}qy½ÑAÚäõ›’Ô0Ëñ3g–ç§‚æüü=6ŠW?žZR³ÉßÈöOË´" ¬ÝÛ6äwm ¥̯åÙ.Pxê®@Äí®¬6éŠ6Oôa)cÒ6•©b»b¯¦ël--®î¶q@éV­Sk>?\ÚÛ×fÕëWÑm{l ¡öÿ~û’‚ì´TÉU5ÓÛ‹?›í];ŠË÷­[UP²vzû1“™©ÝWßlNŸ4yæŽF‹&³$†'¡IŒg:ûs&:RÍÍÍ]¼¦×ö{Ž„ j.&}­>—wwì­…ùûˆÜš–––¦ªLGu~eĬ­*I¤èÔ²ÝuÏ×lѪܪÝÛÒÔæÚÂr£¾¤¡eïÞ¦ŠLGuae @`붤TØ[òDqQ"E§–ÕmŸÖ©N/)ðbk ÕW™_iK«hjÙÛÒTo,ϯ¹Ð¯³«¼´ƒÎkhÙ»»*GÙÙËM~›_ÍdV5µ´´Ôäù¥Nub¦ÆÖl°ú£›±¹›HÌÖ}•ù妸’†–––†¡°°Õ>-Ξ;Ap–&½dçÎ] é¶Êâ}3Ήí¯-®´¤Uí?pà@]´•Vö°@gê°¦íØ¹«¡"Ù²§²Û`ÞS\iJ®Øß²{WI’Ù`, ÀÕ‡Îbà2Kvìj¨H´½_ 9e;w5”Å[j«{Ù‹=᳉ËPc•³}Ç®º"±²°‘ÎÛ±sW]¦·¶¾µÜ`ý©Z!»lÇÎÝuE:cuu/Ĭ-ÉÕÚ¼º]›ãHg§_ßh*Ñ+K÷YÉé;L-àì,-¬‡œš––½- y*Cqq³f;þŒ:ól©Ôéee«TD|IîMSC@ÏÍ”³u÷%ìn9°¿"ÞòB¥Á>× |n/fj7‚.3~FW·2.--NyõšØÞÊÊ^]ISKKKK]žÆÒÚmvÖpIÀ™ LfÝ]\j–jÆp¡Ï&d¶§²xäÔ8p`Uºã…âÚþ™âS'gëm’dû›mºìäÉZ›ž †ÿßÞý5qçÿ ²[qc%áÓ&ÈêiA¾¥ÅÆ¢¨)x ¤¢ßJ=áÚ¯Ô¶hç›n™9ÈÌi>cM¯ç(ú±h-p-¥-JÕÃBõäås(w ÓBT{$RwÕîjàûGƒ‚?ñ,ð|Œ Ù_¼³Ï}ïk÷½IY‹Øÿâ!)"1˜w;*@€; ŠÛÄúwW—#›ªZ¸%i*"bU‘)¡RCyø3KcƒY™œ,#"Ö/2Y#4tNÊh#îdô‰h®i‚R–ø±DÄ$&*­ –!Ô·HšD­‚ˆØ€Èä þ³ª´iÎÙÚ”¦©¦Et)ù¦òF&"QCæš»&%%XFD²gR•íUM¶;X»<21HFD¬Z«•›ëÛ]ÊFbÖïú¢(Å%"•vR2[g7#ˆÕȈˆU+ÉnÈÖRoVFÆ;·39BŽìÁ¤TFD°D¬Ù«r±Bå‚ù†§I¡MÑJ‡Ê[x"[ÊöIÚ—’šQ'&råM<‘Ø^~ˆ‰LÔŒ¿£@î> td‚]ìë–ís %I`´v"õ0'eB§@œ|`8=#—“ÔؾþÛÛ¯á¸c1'çH°"Ñà5CÉ.0ò ¸þI%»]Z²–Å n# )´ÉCYƒ%y‰¹ª‰‹|GÃR‹]Zô+ã ]-©­Âm×N §âœ›Àr*Ž…!÷îÄÎCÅÆò&«DD’Ý, ~X£`ú7œXŸ@Œªÿ?,£â˜vìaðŸ(ý{ÃÓ¿‹»žòŒ¼‡.çL‹`ˆaçNÍÜò¸A40ålMŸKkÚ""Á,IKF8I¶Û%&hà¨Âr*Njت‘—‹¹n×~7eyä?àþÂ*—s‚Ý*Qð·ü¸%›KÒK©)µáú‹÷ø œQTPQZn\g0KꈴÌÌ” a¤î’awÓÉ^Ÿë~ƒLÄŸÚg,®j±KD$YízӲДHfCYÿLhSy#±yHñÉøE&+ËÊmAòòFyb‘šiD0! À«WÑ#áä£\UòñëC?o˜‹Ý,çÇQ“] ’õÚ‰ ∄»[›d¤þ’O° Äù é4Ž“¬v»DJg)_²yoÎ=¦69ÈXÖpZy¢IYÀ’È)9F›½wËÜ!=¤­ý6k—ëPQ°Äq®mgi–¾)²¨hK°Œ¨³lÅêƒ#wíC’E¬˜í ? #ïá#„ËrOÇ ‹ùÖsñõúÜ2&»¤$JÅlã2ýÈ'ÉŒ4x[@:F~ûËL#Í%ŒÞà~±ê¨VI°} IDAT &·üë™íØ6c{TfŠšˆF.W Ž¹Ñ¹}Ūæ¦äÌM!²*ÏßkÚ›6lwÉ ±â;YÞ<ŠAO²ŒÖ´’’d?–ÄS…Ë6؇«iŸsZªiä–”Üxr ŠHÑ—jàš”Éªqù/FÜI“&Ö¿»! M ²ï+;f#"OWmÊ);=ÂX'•6Vm-¯:%‘ع¯¼‹ˆRßxdeH„› F’,‚H¬:6‚k)Û×)ª¼ÜªŽ U éh¨¥ªÑBDâéòrgéÆjC¥†2çãbçÁœm'øÞÉZUZÖ¤LLôsv­ò¦RçòÉV¿-gËA›ËÂG\»½¡Ê9œ¤½¦Á®^ qéÛDÁ.0ò¥ŒH´Ô—ÕXIF*ìAZ¥õ³…l e²?#îá#†kÔŽD I’ój¾Ý.qJµœ%âO}VÖ"õgip‚ë[«¥Æþ­²5•7A±A·ýØÓ»›ë¦•Þûp7ô vúœòžH´ª)ܵOËÜ'ûv–¯ÿÍ&go¨Pk”1·ì.]KÀ;ïdï/’ƒ¬ìv‰q'ÄÎCeMÂp'D~‰)js©±¸]’è7솛‹-šž¸?pàö~·AÜ‚"6¯ SoX'£ŽÌÈS³ÃÞ$ò[¾9Û’Ÿ»,N"b”ÚŒÍÁìÐ)YM”–ËÍZ¶bé;»®ì‚L«•ôë^lI/ù cs†^¿aY©DÄ©#³7/÷»¡oÌÌŽÌ5¬\l+ƒ–$j¹2""ÙÜìÍizýº8ƒÔÿ¹|ýˆ,49ÔšÕ ÎÌsVrlpÆæLC¾sù$MÉNS ôOlðpk·1J-W•õŠÞlµs¡C¶‰Õ¤¤k³ô+ãŒr¥&1=sU{–qÃ&õ;QöPJ^zKî†_~Æ)5ÚÄHuc v°ûpy4¾ÙhØ=|àÃ`†—pOÇá‡IÊCcƒŒÅ+ãŽeï*H_^“¿nÙ!¹\š’‘‘›Ÿ»¡¬èˆ ¶%² Ìzëq"â4K òb·¿39ü\âm¶êýä;?0Œ¿äwJäÅÆÒÜ•Fˆ8MÄÒÍ%isUD·½úÒ’ÿâÂü!;òò’½ëo{[ÍoIZÔ1ÃêÅzbâ4K²óžaY®»äoºr',W‘¼MeÚŒ4MVî²—äJyPrFæÒö,ýº-Ê’7ÜèSE¤hŒùMAyÃ~ L›¢er¥q[Ò$QÄE)x8úúúz{{‡Ãá$IÅ3g΄‡‡? Õ={vúôénn¸ï £ì!}_üÏEoooOO¯¯/’‹=\$`L$ɘ(PLxà¾(¢Þ?…fìá06à *@@¨  €‰¨³ì•ů×ó#¾ÎŸª©9-Þóìp'l5¯/\¸páÂ…/m¹EÞî…h9¸mã+q‹.\¸páâ—~“S~ê>k;øúâWÊ-#¯­ó`͉Q: ˆ'râF½9PÀDç·¼hïæ²ÏÁÚËŠ«Ú…{îˆ"öý¯¿þ¢ hÔÜY‘¥oPf”|ñõ×_ýõÞ<­µxƒþ]´ÍUÅe-v¼Ÿwß÷ÇRöÊêúØ4õ±ú³YФå%Kå¥ÍV«”þNa¢ŠÈvìý|Ãg-v‰H´<»àõgdÔY±îÕúôOÞ_ ”½²º>1]]°Ýjµ’&msÁR©t]Vƒ]j\ýʉ‚’uÓÝÍžìǺnßpk·Üv.þDY¾¡¬ÅÎ1šÈŒì TÔY¶âÕúÈåò¦F³ÝngB3 ²cýX"Ký6½q_»@Ä©#Óó2¢T¬x,g™Aža?Ød¶ZíòȼÍç*°³ÀϪ\¯/m´JDœfIfÁÆtpýJ£¦hïú–ˆÄÓÛV¯kOß»-B¨Ñç7˜"F‘‘çÌÂõ’ÌzÂÊE…ªœ¿T<óú;»%¹ìú:šìDŒ<49;;%XFe¯¬;»D*Û×»ìùövgìÝ¥ "â®_fÔß°‰®³ UY*¬­[q*³¨0êzÐÄΛ6’NoY™eOIfê¶[­vF›¹yS”ŠÈV¿%K¿ÏÊÈ•A‘Q‚Drì 0Žá Ü'†¤–c\Ú¶÷?Ü•ÔbÌ-—g¾ÿÁ‡»²ÕM¥e§DOó+(­äÀ_%Úwç—^ÅÔRC)›ßÿàã]yA-ÅÅMðzAºšÑdîú0çºëÙ‡¼<ÂÚo3_¯Ï-£´’/¿üô˽™Ê†üü* #µ4ÈÒÞùàÃw„6ô‡lDe¹ù êÌ]_~ùå' ZôYÎXN=“ùþ~Z’&}fÜgÁž?wâéÒ|£9¶è‹ìJ£}zã Q¡M jÌ"‘h®iB“µ ˾|}SPÁ'Ø›­l4†ÞÞcƒ#èPî†Âòƒ'NÛD"’©T –ˆøc†¬b!¹è“/¿ü²$)ÏÒ×óD CBÓAEÆÞ/·ÿúåHyKU“Íy§±ªE¾$1€Ìæ0³« ²ƒezÑÇ®åÑðɽ±^ž¾íƒ?Þ•)o0–‰?fÐ’gîýòÓ‹ÒõMö@pËP¡""™2˜cÔ±Z1J5'X"ö™MŸ|²9VED¬Z*Ì7ŽÕbÔ‰~,ÉÔÁr²Ú‡ þ|P³ßj.±½¦‘´)*""Yhr$×^Óâ<ÁU'F°D$ Š eÚ¶‹–ÆšverÊ\±KR4ÖšFgµÈ…&jDDrš:íx¬~îØ€õ»¾(Jñc‰H¥] ”ÌVdÚäÐþP4WB“Ce¤J,úbׯ`)B£ÔdµÞKÙ‚M{‹2BéXYþºe¿\øÒo6•³‘Ø^Õ@Ú´%~,)´)LSM‹3ꨈ`8XÚšªZ”‰±~.Ùqö›´‘LP²3ÜœZÍ V;‰æúIãÌ+™„]Æ7Œ€Q(¹Kô 1 CDÄ2¿âOí3WµØ%"’¬v ½yöÁi‡ñ f¿Å\’Ý.1AÜÀY1§â¤FApþ¡ò_s#Y%A°d.~5®´VA’kœÅÞM+àm\™Õ(1šô’Rü°ßÀÏØy¨ØXÞd•ˆH²›%eÿEPÁPcNWSUióBeD¢¥±ÔXÚh–ˆHÌ³àæ…É‚c_Ž}ˆlÇöó³6ØJv¥Ùí’Ð’µ,ΙI(¨?\Ì@¸üb•UM¶¨ÐÆòvub¶‘Í%›ÃÏ>Ü_3üF2.Ùd+0ò£Çq v@pϧ”§ YFkZII²Kâ©Âeì?ûÙ¹œ‘ï ŠB§ÀÈ'§’`ˆdDD‚]bäÇ©8F“¾ëƒØ!Où‰'†Y¬lnÞ®O$g!‰gá!묯j‘GÆˈHꯅ:K³ôM‘EE[‚eDe+V¤þP+ékÚH ¤-b‰,ûrsi6—|8WAd«ùͲÒ–n;UßD¡QÁÎOkRøÍMÉXZµº±]`”rN¾dóÞœà!Þ$홨.«j:-U™ÕÉ‘ª¡Ùnöa?aæ¶é²XŽ“¬‚DÄ‘`·K¤ÄãFÀ%Ùí£TËY"±óPY“ ÂOŽpR/œëÞyÊ;*€á#ŽÜâŠÜ=º„–8PŒ9îÏ¿ù’ÇÕ]æ÷N)¶=ÍÒÅÿô•µþB/‘›ïe-òò:fÃWW.ÑÙW÷NÏOòñåm[kø[OÑ$ß'ÿ]¤Üw²ÃT{zë4ÿ’ùƒ‹u|wüì_î!’hò³ÏÍøÝÓž.Õc¯ Ǻ¹ücÞ6€;ã—òá €Ÿvê’'ܾo¿,Xñù¹ãÓUE¯=õQê/ž?oÉûûfÆŒÜàÉ>¾%+}fN–jj¬ÍJõÿ¤ýeµÏcß[ÿôýÕaxùÇ­'~ôÚS­ðæÌ=­®OŒ‰—vV¶fÿ¯(]þüñé¼IxPÀçéNâµK/èñXúÜ4/"šìõ,ûCûųC&dW7ãwO{ºœƒö "q¬›ËpɽøãŸ¾²Ö_è%ró}ⱬE^^ç‘\€q\mìÔ%O¸}ß~Y Þ}c~¯Û37õ©^›õ¶_Pc»4cFnðdß’•>3'K55Öf¥úÒƒþ²Úç±ï­úþê0 ¼üãÖ¿‹‹“?zí©VxsæžVÑåUñÒÎÊÖìÿ¥ËŸ?>÷/ ïÀý%W¬øüÜñ骢מú(õÏŸ·äýý ƒä  çéNâµK×~:øcæsÞO²Däò¦?ÖÝÓ|ÙuB&qÅ“Eó§rDäé¹pzßÝ׆YœûäÇܯ}ýžæ W™i^o'ø„¸>ˆÄÊÞŒWN=Þ±õÜ#o$þíØúÝU¼÷žÜ‹ôx,}nšMöŒz–ý¡ýâYBrÆ Œ€Ñw¡ÇááÉL%Ç©¯õÐéÿ{¨ÿ÷—Èã±×÷ú„½ç¿?ÿÞqá¬DîÔÓCSÕÃ-Žö»$Õî¿]Øú±åwfÁs3ÞxÚ“s`š×Û‹z~}Èú]ªúíˆ_=üÃõŒ'qx¸§äzHÂ%’vîiÙÓÿ뾫ž׈ArP ã2_eî \4…£k^ً̤õ3Ý]^îýnðÇ‹ ¾âgÆÏÌW{]=°·mÏ‹d¼¼Rc½R©÷‚ù|^Í™3ÞôvÂpѾùðÕ…‘¾3y[^ÃÕ¨(5N"î9¹rFšêάY°Ø“\€ñ£@`õ^°^øÓ§çŽOW¼©ahò#Q3Ý[OØÏ^#¢Þ ßuýáà… DäN$^»DD’t‰Üž˜îADÌÿþ¬‡$©ïæ‡$kׯ½]Í—‰ÈÍËû/w"×g—/n­ú·G¸ÿJáŸv{Eø¿©vÇ;pïÉ6m±ìjÅñKÑÕæ£<)’ 0^àjÜ¿¾ãŸÿ+Áù#Ã<û¤jÛó^¾“‰ÈíÉùêÿw¨+{G÷UGɦ._ô¸¹M}BöØ?,¿.å7­R­Ñïíùg…çd_õco<ÿÓ¦o: þK‡.Qz/WžÝº«å¹O öY£t¹zå9ííÕÓœþ>Í oÀ}'—]¯:ÿÕÙ×þÜKšúø£o<Í‘/’ 0.LE­çÔ£¯¯··×áp8I’DQ@€ñ‹ïjí°ŒÂÏßß›EsŒØJÍÍÍA¯óA3’;6ˆÝ­¦“m3;:&P†ö$É…»€{€ãQ÷cFœ–¦¤¥§§,_2?&µ°ºC¡Ï:’9oΜôýÝþ¸?u^ê~~Èá»ÕPØ:di|su]×ù[ 1sn°ª²ëaµ’ØUgHyaiÚúÜ|½~G³4äÅŽý…éIº9sæÌ™£KÊ0ì©ý†o¥¥˜2uI»»nßóbVeëºÄ»û ºv'é2M"vx$wB%·Û´#3aþ’”õóõúí¦¡É Éy½€ä"¹H.*@¸]ÕË×凌øfcúò{L¶Y¿-.ˆæˆó÷qùƧ®ÊôUùm³2Š÷}óí7ûŠ3ü›óW­±ß”éŒû1÷p1s°5¾ùlÛSÎòõ¯o$w,$Wl­ÌXžþîa‹êåmÛ^Vããïš<$\$ÉE0ñtïÏל?ÏÎû¬î¯Å‹ú+›¶wsötÜ4ùÑ¿tÌZ³vm˜mOíÀPì¨ÌLÐÍ‹IX•±ýdÿ1þˆ!U7O“”ª¯í’†ö~•ë3[Žæ,Ϩì"ê>bLOÐébtº„TCÝõpüþT]êŽ9é©«t1é;ZÅŽIºŒºþ+m|]†.iGǨöE;ÒÓv:ÿ¶¶…ïÖ Ü¼ÿÁQ;¢é]cGx¡1SèÍë¨ËÜ’Öl|×$’ؼ)&Áàì×~æë2b2öóDÄ·îÎLÒÍ›7O—”3ô 0ßlHŠI¯áŠ#ë“i, o5¾keΪ˜˜.!Ýp¤›ˆÄæÂ„„ã¦ôU«bbVéZÏîÎLÒébbt1«6Uwˆ4´dꌒ;Æ“+vU®Oëo%KµÁPm¡øY×Ï‘\@r‘\$ ÀDìŒï4]ï,–ˆØÁ{[{*o¸$Ùu¸²+,5Ì{öšp¾²Öy¼ê®ÓÚtÆ¿î¯.}Kaj“ˆHl5æW˲?«Û_¹Eg1Ù†tG>I³¸ð c’_§Ïù\•]]·¿®zÓ¬ºMùuw4^‚%ád³vÛŽÝ;â»v¼kRèÍÕͼóH[ݬHŠö¿ÿÆé¨ÌLJˆ‰ÑÍ›ŸònÛàomiVêÚ°ÁÞHì¨k–B’Â\/0zÏK “šën}ÑUl6nÜÉfT9ò×â„}Îçƒý{WuÎÆ#ó ·$ÝêICYXR5×uˆbë» ]IÅŸí¯Û_8ûH޾Ž'bH²±DoÙ½»º"Ïÿpþ»Í¢ëz·Kk+êöïß¿-ºYŸóy—t’¢¹Ò9ÊFlûü¤")Áé@rÇfr»÷ç¬rw©þz# ‚êå·tÞ„ä’‹ä"¹¨&0ÑÒÜEDÌ¢mýöÛowÄȈ +¬ûöÛo*Ö¨ˆÈÖlÒ‘tÔVòº—g±Ä®Š¦êê";k[ºøY,ïÇ‘Ídâý“æy‘wxR7âêÛjM좗ÃdD$›¤“5×¶ =~KÂáôù.$¤V;¯«1~Ñ:–ˆU„($›Mô×%(NV¶‰D|såIE’îþÇ­tWëõ‡;-6›0ôz*1aÙ[R]Õ‚—)dÌЉ on¹KÝQ~vR¸7˜Zº¿´°­ùÝï2o3Ãn3h…‘)XÉ&‘¥¶Ž_ïϱ!II Su›HÄæì"e!Ñþ|s³íúÛxT KÕy¤ê¨mã}tI>ÎîHl«næt8DrÇfrù:½¾¶m˜àÒ¬·¶¼Â"¹€ä"¹HîÝÂgŒ/ŒŒ%¤¶Ï+wwÈ|tñ:ÞT]Ûjë0ÙˆˆdŒë1¶£º²­Ó’2Oÿÿ»[׿øˆ‚Ä(dΣ³L!#"’l£˜•»ñ@íÒ׈6‰›Õ?/+S1R/¹énQñ~CØÐ«r<±7,Ô_—Àí©lgKŸŸT$eÞgtDo0 ×`a¿-ÝvÃsœ‚å;nØp‰·ñ2ŽHùT€·I¬bàÏ`e,‘H$uîÌí$ů|nÿÌ‚d³ñÌ,ñ6^8¼1FÇôwàRH·D12EÿyÃpŒ4xUX”x‰x‰d ñ6‘|tI>Û+M|¸ªÖÄ$¤â4ɓɛúÃÃÎZS\œÈŽÍä*\$ÉErQÀha}Âg3{K–Úwÿ»–f+¢uŠÎJÃ×<¤=‹u9@ï®eÞªøvà@Õµ{Uúž61›åÉÆ‹D,oããÉ$õžm6^RŒxAM&tõÏ+ò‰¹çºŽ«¬>i’LŠø·îÿ £˜—ðrØl]»?gã_,ýN´qÛªú"g#Vï1ñótƒ=ß\ÙÌ„¤ú³ÔæÚ}H®W[Y™‚;†àð]¢BEÄ(â·‡W¦æb*6ÝòŠd÷‘J“,|­Š•ù+¸E9C;m±•¤Áë¡’d“˜0fÈzºZÞÆ“LÁy/zÙ{å‘“³ŽÈ 8DrÇhreaÑ¿ò™®8’¿~ç`ú¶gÜ”&$\$ɽ3 0¾Èæe¬5ðËѺºººÁã”âW®#ïOV&Ë@ŸyÑÌÑ='%?¿­îóþÁ •)BBd•uÝDÔUWiºéºCÏKD¬ülñðS7ñ'+kù0×îïn»£stûö£ŠøQJl`Rf檘°]Né¶_©šK¥`‡ë¹2R}L9w˜ºD"»L;6æ Ìx+Œ%VæÏñ76IDAT‰ˆxSµiÈð•.œ5í©í";v§¯Ê9l#"âfùûÇdoš]—c82â|ëþÂõùÍa¿]Â’*|žìänçg}w1 Î'˜vívv[²°°ÁSUt¸Ì´£¶‹ˆÄÖÊJÛ¬øÙ2"òORµm7Ö²ñ£ñ% ¹#¹¬LfNjBX༌âÒ5-Ä) !¹€ä"¹H.*@pÄS·m‰wV8¶Ïó7æîq^@㳋]Åó¦ÝuŒ.Z5ô sdw3ý–]ú º˜Ôí”0›#IdCÞÊŽ¶–ÌÓ%ä Ñ©iȸ ïøYm¹/$63ó6âmúå:.aSg|a¶î† p7>“0gNƈ‡hÿ™Nr£RÝ\ݬþNHæÃ ßw¥¿¥¨ÍY:Μ9ó—çÔùeŒõ_«ëÚ´’;>¨’2 Âféæù°H. ¹H.’{?0 &Y`Ì•DD>ñ›2gNa^’¡u ˜› ^H«öÏ΋ñÆãå$[sG'‘H.’‹äÞîܲïòO2ìøWvÙÀÌê께<$§úHÞ=@r‘\$ɽîL¨P*@@ÿ ÒÐOW®\qwwG; ¹€ä’ !¹¨Æ™LvæÌ™+W® )`´NnÎ;ÇqšÉ$\˜ÉÅ·AŒ1>>>]]]­­­‡­áÊd2¡îÍ£>ªT*ÑH.’‹ä’‹äN„ä¢cÜÜÜ|}}ÑH. ¹÷²c£ P*@@¨  T€€ P T€ãi_wsëííE;Œ®ÞÞ^777$ÉErÆJrQÂDááááp8УËápxxx ¹H.’ 0V’‹ & †aÐ<ˆÞˆa$ÉErÆJrQÂD1mÚ´Ÿ~ú©¯¯M0Zúúú~úé§iÓ¦!¹H.’ 0V’‹ &ŠI“&ÉårAУE¹\>iÒ$$ÉErÆJrQÂâéé9uêTžçÑ£ÒM:ÕÓÓÉ@r‘\€1”ÜÉhP˜P8Žsss³Ûížžžnnn“'O~ †0Îôöö^»vÍáp\¹rE.—ÿN"oHî”)SÜÝÝ‘\$ÉEp§<=====/^¼(ŠâåË—ñqÕwÎÍÍÍÃÃa˜3f<Ð!dÃ&wÊ”)/^”$ É@r\T€wç>¤I“}ôQ´’ ÷U[¢ P*@@¨  T€€ P T€€ PÀÏÔÿ\ãU›¼_ÚIEND®B`‚murano-9.0.0/doc/source/user/figures/add_to_env/quick_deploy.png0000664000175000017500000034062413656750211025051 0ustar zuulzuul00000000000000‰PNG  IHDRªÀ<= BsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{@õþ7ðÏ.»³¬ÎZ»\ 01°O¨XBš·¼äõ——“Úï çù!¿' óÏsNŠ¿ÄŽ×’¼c"ir*0AMà$P – È®¹c°³—yþعy=e¨ï×?âìÌìÌwwg罟ï|G´{÷€‡H£Ñ zb4â þâ þÀý&¹÷EÁl4ííæö6³ôz3¯7´¶˜¹k&Žoü—ñªÆØÜdÔjxF ñþï¿HpÿÝõ WšZ÷WjoÌf2›ž7_çŒÜ5sÛ/d6wɆB÷ç ‚`ò~Þõÿ<¬Miø±†;œ'bëÿ<ÞXÐßÜuõ¯r݇ÆãÅ2ÁÆF$‰³™D"êöˆˆH,‰Ä"‘@$‰"IuEÅ.ñ[½ŽllÂø§®Óåìz ñ†øwÕ$´r¼+ËØÙˆÌ±D$I$R‰X"‘HmllÄ"±XL"±X,‹D"‘X$‹mĤ×öï–FO#q¼ìÐØÜLFƒÄå‰{XÖ’€Eb\N Eü#“±•×'ø;9 q~RDb"Á,˜E‚ÈL‚%Y{~ŠHdù§#™L&‘X¯AÔÿÚB»anÏ»ÿzïÞâÀÃÿ³ÙÐÞ.‰®.öN&“‰ÈD"‘È,˜E¢™N$‘@ùO ¡ë ý‹ H$´·‘X,²µÅÛâ¡Äkš4ü-ç`TN* MýøtF­æ'7'm÷#þ‰D""A IÄ"H$¶\þG"‘¨s¸Ëß"‘H°±1ò¼Élf$ë ·L€çÏŸß³gÉdzòÉ'§OŸÎ²,]½zõÃ? Q*•$¢_|ñ¥—^wt³ÔjµÙÙÙW®\±±±yë­·ÜÝ݉è»ï¾;|øð›o¾yñâŲ²2‘Hô /Œ7βˆ™ã®$¯jÿ¾ŒˆØðHÕŸÔ¯Œ¶\Äxåýÿ‘h@D¤]ìqù‡®þÏ¡­M0›MñøÛ캵ºý{¯}ºÙÄéÄ^·±Ç¾üô榖æÁk²d>~xŸýî4ʼn³’Žn3—tTÒöäѪ‡äûkjjâ•2-Àà© eejáe""娕k"œð ¿uü#‘È9`俎“ÙD–Žžf³H,¦AƒD"–©ìH1H¤T‰$’H®ýüsaÚû¼É4ÒÍÍå±AFA A°‘ÙöÏœ9³gÏžÇ{ÌÞÞ¾¦¦æþç–/_.—Ë-VVVjµÚ'Ÿ|ò_ÿú×Ñ£GU*•¿¿?]»v-++‹çy//¯ .|òÉ'+V¬4hÐO¾d9ŽUýODÒÁÏø»ÞêÓÉÕ—k‰x¢9|ðsb—¯?ß-ë^þá‹ÕKJHÍŠ êsÿ•¯­ïŒ´œº`ÍÊÔU¬÷ö…nwñ´nÑk·G±w}ì+NYœTî½$.+-Èå›ÎåoJIšnÅæŒÛ>¢®JÏobTNÞ¡¡OJË‹|.'=ý“r £òŽ‹›îÍRÓÎùó‹Ãßr+)>W_Ïy¼•Íç|RX¹‰÷^¸:9ʉˆ4Å¥¬Ï¯áâï¨q ƒTDD†ú¼”Å9%j-ïº").Â!^}dMú¦âzbˆXÿéqqÑÞTž>?Q³dsZ˜ŠøsίŸžÕã8ÁŸû(©GöëÌ€ù‰)ÛÓÂnÓµ•u4pù¹zŽÜX^}dMê¦â&žˆõ_‘°4HEÄ7I_µ¾X蜂¢ÃÕóFoÞ<ÏYÞñëWûÈ_üpÖ*íôh¦¸°ær“† Z‘šæÄ_üdM!»`Sr´å@Ë8yG%¬•.›µ~}Ih²ÿ¹Ä©k”oÒüP¹I£ MH}7HÕwËwÿzT——ôzy™ÁþAÃðq€øDf°·Öܘàä=ø&Ù¿˜“’´±„S9¹ú‡{t|ÐTüQúúüŽˆu ]°4̉áK§®a§âJ~¨©ibG¯Xñlù'y?Ô×kØðäÕKýÙ¾NHX"bH[úQlRá¹Ë×Ùg§%$/ôg‰¸ò)kvžÓ0DŒGè’¸wG;5å-[¼Ó{õæ¥Ãj:»øS×´¬w»}ukΕœë58ëä_“í#uþs×# Ö±=ÍMÚ+¶66ŒM›ú’¹½],p«l¬`ŸzŒ5 ‚@$8°÷ W¯^%"{{{Ëð0,ËÊd2ËD ²^|HO=õTKKËÏ?ÿ¬Õj‰hàÀÿüç?A0›Í à †öövËR–. –Ëe2™Ñh$"Ù3ÃÅþr¬ðêúµ/YN·¼"ÑØÒ¬Û·‹¯ü¡sŠù:Ç_¨Ëå2_ÿÞó›®´p_~1pl8‰#U;p2ªÁ,C¬j°«5ÅuyLÅ0ÚÞ‹p%kÒ •+¶g…©ø‹9±K äj™¿‘[˜µ;Êѧ,ŽOwÝž<š2œ/a22¸’ÄY«sVnÎÌRqÅñ³Öì<þ®·&/1¥Ð-ysFŠ4‰óSÒ½·§¹jò4K²v'°šâ”ù)éA™Ü'IkÎÊØžéÍòê¼ØÅ‰ë½·Çù/I]œ¸¦Ø?aðÎôÂÁK6÷üˆ+ÞøÅå›î¾¡tSŽ:ì6?jqów_÷x˃%þÜG«ÖÔ„fl_èÍrå.ŽOôØžA)kʽ“wDZM)Ëó lX×å›úÚÇ bH[R¬Üœ‘åDš‚ØYëw^ý.SZªu í¾=ªÑÑ«×Öóþ ñ—ŸóÏÊ\ª¢¦œù³×çOšÎöÙòÝŽkMÇ×'mªé±[ƒ_[»ù]oüB .Uè’iñ»¬¿òz¼±"ü&¥"uNêúšÐµŸ/ôf4Åé‹ó ƒ‰ˆÔ;“RŽ?“¼9#HÅ_ܹ|ùªÍÓâ/—4Þœ±”mÊ™?;5}àÚ¬ÌwõÎY‹7O¿É ‰¯-)¶vó»ntqçò%)Go×µ$=q'­Èú<̉¸’ôù‰)Ã6gFE%,,XœúIxVtýšõ—ÃÓÒzÄî\NJRáõî{ }ö~÷z¤Îîñ&ub}Ò)ØÙñyÕ°¶6†Û\We&Á$˜k€ìCkkkgº³0`™ÍfËmºôµüÝÜÜl©F655åææÇ{D©ˆˆýŒejM^1½îÆ‘*hÚ(¦<ÿOD$õåDDì`oVênYn°+Ë]戸sGjT¡oø«¬s:—_ùFEû³D¤ Š bjŽ×ðM¥Ç뢣,¿¯¹…F{p%jžXï¥ ¡5k“ ¯HˆèYÈãkŽ×ܲ.—žÓô1YûŒׯY½±<‡¦§¦F;¯>r\ã1Íòëë?=Ê©&¯\Ã×Ö0AQþ,9…ÍÜãèyÓ}”zGv""b]]Yî²–øëM< ÌöÊá*)¯áˆˆ˜þ–¦'•‡ë@®^Ëß¼å»üÖ4}õê7\»NQ†®Z‹ì.®ü£Å‘¯M‹/uŠ^°`Ú´i Lóø!~ÚkãæXÒ³àCšsÅõƒCý-ß•oŒ²üâÝTš_ã=ÝzJ>Í£)¿´ÉúmáÍ‘Êu°Tùl˜cù›´ZŽnrBBDRÿé¡n 3,4ÊUûÃ9 _“_BAÓ­_öþo„²5GÎqDNQqK”ù©‰‰ë/‡'-ìõuÌŽŽËZ9ª[iè™kÓîGö{dÏ$÷Ö^ Z=/—HˆHd6 "ê³|&˜L–?ÚŒF±Hd2ÓÝÞúAÜ×]Ô-©¯3Ú 6,22ÒÔñ\‚ ØÞîæ _‰ ÷mùßÖW”·ÄÿÉñÃ,Q¯ Ø~ºL»6C2ØÉñoI7-šÃ×\¼í‹FüØãÜá<ÅS¤C‡á€ÕŸ0ÓW¸²*fI’wï¨Çª¨°ü§åkýä°,+%"â5ÃõóñS'Y¦óüuòæ,G_éÀŽOCŒ¥C4ÓÑ/šÓ^70N+£Jæz Ç‘ôÆA`à@ÆÐÄsœš£JöÆxíu""Æ;zºjöš¦ðµ}ŒPÃóšë· ÀZލׂ}ß›ò–ÍÿÄ-Úz̹®å çÓgMZc]ö:¹]æxâˆõèØKÖÕÒ"7}ïãÀÍA×V2J'–J/kˆºyÆÀz°–‹0{v)¿YËwß%ÖéÚÕ´|åþz˱/+!L…w?<°.îLß_c ¢šÂ]5ÝÎVê¿Hß±½û9>ý:1='Ɖ•Öñ\GõOú¤c&ƒÊCË[ÒFçw9Ã0Ò®ßÕüMOHˆU*;N$®‰ã”ãÝ‘ãÖ‰5”^çˆXr {ËýÊB§ }Ã8E$dQÊâÕǯÑ3 ÖgL¿?CÊ<²ç?wã‡Î»;ÜÁüŠ']=éús½ÚhDËôœœ¨K­:ºƒvêLwD¤×ë-‹Xª…F£Q¥ºëÓ;‰Ëƒ3ÿÞ¸`†áÇ µ—˜až;iù÷Ú®l"²û¯÷$Žƒ‰H0Y·M$‘ ˜Z. Æ>jžƒ¦Í"‰äç-_Û™mÿõÛ[>ŠøsÓ‹#Vx|²r}ÏŸLH5:9É»CËòMœu8N£5Ð`"F¥¨ OÛ×ý•¦Û<=«(å:WF×µü@ËÂp]ËYׯóR˲n,ýÐ9‘×hÈz@Õ¬ÿ„}͵8ý“7²ö8:2¬«’~ÐÞê@7ø–§ð¸èœ韼±yé0†f¥qÛÓºÕ°Äk¯w´H=g¸³}ìƒ*0P¹)/ïbt×Ã4Å95ýº2ÔW!ó&-ßG[û/]»šIù„‹Jxw4²<Èš~8~óK;´¥ÅMäݵ'!3!¾‰ï/õƒ5ŽI=lÎêÞwˆ/¿å3379!á©3qׯëIJ*•ôÆDžSsR¥’%"þâ'kÊ=^uù“õ£’ûL$–˜žRè½"9úþ'ú¨ÿÜeçO‘È%è"›®©F„¾;tñíúk ?‘H$‹±­ØV"óú>NK•J"R«Õ–Ê^kk« ƒߨ¬ÖÕÕQGݯ¶¶–ˆìíí-KYþ{Ä0nO f“Ð%[RÇßüùsD$~Üz‘˜¡ö’u©¬½ƒ¹½½ýäñ>Zˆ‘*&ÅQ[ñ·¦Ÿ¯âÕ?Xoñ^š¼ÐÛ-"!ks/kWX?QÝ>WŒë(:—WÒDDüÅœý–$ãåÏï,n""âÕ鉕s·ßÖ?ʃ+Üo™µ©`g9ù‡{0DDõyyy"âJòJxïPWÆ)0ܵ)'ïOD¼:?§†æÆ¦ }MMh\Ü» •y©/öȰŒGDÐÀ[mÁ3áþ·þ„q›¾"œßŸš£æ‰q ¥*ÿ$ßÒÇCSüQâ‡b]ƒÜ´%Gj8"Òï*¼|§ûØÇ“ {kE(¿eâÎ5GD|Ó¹#é+W×û/Yp³Í¼›–gý¦e ûÀƒŽ×Öhnñ°¦^Ûý|@å8ør¡å$BS¼³Ä’ÈœÃÝÔ»rÎqDD\ùÎÄ”<õ£¾OHˆèzyN±†ˆxua^½2ðYãD%ÖïhMùþãœw¸7KüÅ©yƒ$¼7ªfMzÁÍv…qŠHÈL‹þ}n%ñˆÿÜuçÏëÍÍ$5@²”ô³YßN‚ D"2_ûYÿ“º­úì•SßÙ˜ÌF´múÓW4WÚõ¼É¼(оWOKOOO‘HT[[«ÕjU*Õ‘#GˆhÔ¨Q]CæW_}õÊ+¯”””hµÚAƒÙÙÙQPPPIIÉÆçÌ™CD&“‰a˜>»ŒÞ`6ó—.JÝÜÍÇ«kER©X&#"‘HL‚ ¯üA>æEñ€2¿¶“ÅíßKŸtåòu]ÁãKß½’ø_­ý?Ò¡’'ÝÈlè8íH~ökkn9“Ôõµ´]ÍÙÑ+âÂ’ÖÌŽ\£tò ¸“ˆˆ ŠK{+=}ù¤5<ãôÖJo–è¶ P‘œ\“²fÖ$ŽˆQùOO‹ bIM¼ô™(öÓå³Î5ixÕè©£UDªèÔ¸¦”Ä©“,O°4u©7£9’¾¦>4-Ù›!ŠŠ{ëÈü¤a›—výˆñ^°$°`uiß—âºN[qûN¬ÿ‚³RÒóC3£¼—¦®X“ºrê'<©ü§Ç½¥"¢¨•KJ’b§NbU®£¦Gyäß~ù›=Ù脬Õ9ë7®Y¼©ã¾7Ñ©YÓƒnÞß¿ï–xˆI2D7½¼ƒéUer›ž°à\bìkyì` ¨P×’s–©IqM))³&qDÄzD­Hp£›~CßXW'$ÄÑàÑÞå)ó7Õ7iÈ{ZÂ[âÑqÉõékOZcy‚ä„|å’¬‘jaÜèù‰éGüÓ"úßo³ÔùH£ÑÜÉ|‚ &Álú:îÝŸN‰‰^vu&x³ “ؘT›%SÛ/d2‘Ùlæõd2™y½ ˜æ…ê«×vPüÜ*g¤ŒXp™<[µ`™¨×¸)/^ܾ};©T*FãêêúÖ[oI¥Ò«W¯~øá‡ …B§Ó 4èÚµk"‘hÉ’%ŽŽŽDôË/¿lÚ´©µµU&“ 4¨¥¥eâĉÏ?ÿ|ccㆠüüübbbˆ¨­­-##Ãh4&%%q‡ó4iR·!¦+-æ_®š6óñ…KH$j;u¢eÕJ"ÛÚÚý÷û'çÆ…³‰H:ä)CíÒ'] ÿªwûªØúSËßþÊ}q€ˆl=&˜MNë7óçÏ]II|l΂ÇfÏ7sÜ¿&E‘óÇÛp ÜOܹñ±»zÝüapèªÕ a¿öuÔMy‹çç½±=+56€ßЦøÃÄ5ùçµ½~Þ•*=–$Å…án¹÷×~þsGÕ?³ÙÜÜÜ|íÚµ_¸ëºk?‘Y¾ýé²TLb"¹Dä)¯]µôµïi6“ `DäõØ@G'‡Ç W‰‘ D ßÞµxØiذaüã¿üòK“ÉôÜsÏuÞñÏÂÉÉ)&&æØ±c*•***ÊÞÞÞ2}À€üãËÊÊΟ?OD>>>ÞÞÞDIJlHHÈ“O>iÝO‰$,,ÌrmဗÂLÍ—ù³’'žTÄLµ`™G>2Ø>)õúÁÏ“I<` tÈPçŸ^ݘEF£jEœYß®ÿ¾ìFÈÿÏ?ÛŽ|ËûœxƒÔÓKü˜Rò”Ç 7ß²}.ˆÄ,kŸœf¨¹`hlDüƒûúó•÷ÂÌÝ¡;wå/¯oâ•“G`Tôôð _éö9|yú¬DÍ‚¬´'þbažZõ¬êo¿!Õèw3G¿‹vø==Lç?wZýÓétµ?Öþ|U«þûGmçÏÑ+lÅ"‘`6óC½xNl2¯'“‰ ¼Í@V,ellåR™LÔÆ ZÀ·[†U± ]¼R$¹MòÁ2²‹¥úçáá1{öì‡;W ÷DSòQJzÞ9ÎÒû`UÂïÔOç?wíN¯ýS(Î.Î×®ý,[‹|bYþÄbÛÆz[±ˆLf2›Èd‘@:ë¨'BG=ðF躳ôõ…4d?€*hiÆî¥hÀùσç.Fþ´··÷ðô䟡3ÂY‹iúvjk#^OF# fë "‘@$ê tvø‰p;€þÿˆÈÉÑñù·æ5? 6›-)ÎRLõBSÍf³ –‹îA î=îË-Xr£Á`À«pÏîôÚ¿®Jø¡píߦ5³µtþ´°"¹ÜfÐã$“‰D6‘ I¥6.®o›ÁÎÒ§½ÑÜRü#¢Æ¦&Iý ýu‘âq1«ÙHDФ Éåb†!‘Ý;†ø1šñÿñÿà~“\ºt ­ððÇ¿Áƒwý¿÷ëƒß˜ o6AÌf³Ùl6™LƒáêÕ«/¼ðšà7‰2™ ñ~Çøg2™L&Þx÷;þÜÏ(‚Édê à7‰666]ÿ" ܇Ô×õo³ÙLD!îSü¸ŸÌf³ âh€ß0þáœ~/–àg)ŠÅbTž~SÈ~ð»éÌ{–1`píâ þâ þ þüö„.:§ Yÿñÿññÿà"ùöÛoÑ ðà2™LƒÁl6£)ˆH,3 #÷Qêéõz4ü.A0›Í&“Éd2ñ<¯×ëëë냃ƒï*ûá Л­­mïˆÎŸð3 h€Þxžï=ñ`èó pç§ÊˆÄ?Ä?@üÄ?@üÄ?@üÄ?@üè ¿°zÒ‹/F&}¯¿§¥Ï¬ž¹ê{=ÕeÏzeñ1Ý]-ÜxìÀw­]Wòë3¨÷ü¿¾l¾õLº ‡W/Ÿùâ‹/¾øâ‹‘³V®=Öx«mÑ×}}øû›ïië׋_™µ§ñßÞô¶êÍ)•Ý¢EµEÄw‘²vÇw ¼¡ÿn}Ng±¯¾ª:•}J÷ï¬Ç}òú]é!Š»JE[²¿nÒÉ|–}º+þ9ÙoþZ~¸DO=«¼e€]»dAÆÅa‹ÖìÿÇ·ßþcWú¶(aAÂ×­7]@}`CöYÍoýÂËåϽM‹>ñç´´´´´´÷þ3Ê¡úóO¿F¸s’»:?;¿qÕ¦ª.l|Âb¦õßé ~:öaQ›×‚÷>#½›g¾vþX‘vè¸à'¤xÉàßÒz*û”Ó”Mó˜¦ÙE­!ã툈ZÏŸ–=bò°‹§ÔM?l^Jâ”§uÙS;Yuú”Z£Ñ0#–¥Äwï\QÝÞ% Ž-ÚŸ¢ Öï²’3rÏj8RœŸ8ó9éÎìIKÛrª‰'b‡½›²2„9¶jIæE ÅÍn𗾍nEœ&qês2}Ýጴ EjbˆØ3ãã§ø0VO‹ÓÌœÂûúbS“†›žô²3é¾ÏJNË=Ëã4fQbìx÷ÞùQ[]mt›ìp‹ÏIã—{5cÓ×/ÿƒ%h9û¼ž´Fuø¬Š!¢Î]á‰TÃ'ǧ,~Ž;·boGK¦ž‰]Ÿ:²©ç~ÙuËÖßg'gdŸÕ0D̰±ËâW†8é/ìINØpŠcUncfŽ8yzÞþ¬—½Ó_¹Z>üeå¾rÇá®’³-íDÔ\øÿ2Ïú?OßýÓˆOUn IDATøòŸ–±m(Ú»óè%‘H¢ô|eúäáõëÿZü‡?/ÿƒ‚ ê=©ë:ï½ÙžRj;óqêÏeˆÿ¸wçWÕZ#ÉÖõSf¿:TN†æ²½;¿¬Ö‰l¢ÞŒòQàÓ¼{©þ9ø‡…………ñw£–3‡³¶–\»Ó%¥ŽÁSçÌœ9Îå.Sœ¦47·àdC^/ø75e«‡Ïëìúkjü¡Í-ÀùŸ/Ýů/²#_Ñ-Ë8‡ŒÙGA¤ÿ>3y/ÍÛôÕW_}±þuÍgÉ[.è_O‰Î8-Z¿;õe¶ýêºîci Ù4oÓ¡CŸÚëT”œ| ‘¨noræÅ±k¾8ôù§ñOËUó}ÿ4ÔòCõmʖݵ5ÿð]½­çóÎR"©Dj¬¯–Gýù/ËÇ( ê¼-Gt#ÿcUbbâªÙCÕŸoùZçú¬R{FÝFDÚKõ¶ÎlÙ‘¡ñ‡FÖÓ“ý1/ï’ëìU‰‰‰ùS”CCYµŽ 꼿Þè9ûω‰‰žâpfç§ßiñ速äq é!%"ƒ—ñ½Mg.T·P䦭+%ÿ‰^ ¹¥4>þÏcå5ßìÊ-8ÓÐN$Q ŒŒ™8ÂQjh>±{›¥ú7HJm5ßìÚWPÕÒn”(}"gN q—µÕ}³kWÁ™–v"…[àÄiÑ>ºì÷²Î‰h÷_âNÎy™¯/[¿`h3HåÒ[MèêìáFÆTшyc¸„=&.ÚRCS}}¸‚ˆdn#Gª6»Ø:s¹½>öi)†¿<‚ùòë‹ú±lÏ}ÿR(d´üÓ/t2…ŒˆœG†8e~Ýı}¤ÑSEj§)¯û(ˆHæ>vʰÌ̯Õüx"fø”1ÎDD¬›Ë5iˆ†©T¤>¼çk·×Gú¸¿ž”Úg¶»T¦uxÉõV¯¯áˆ®ê»ß©ì¹¤ýûõ2k3ŒPmQwïò){º¯ýê ¿xøL·l·bÄ”±ì’Ãgucø¯ÕNcÇûȈÈýÕy#7œjê멹êj£Û$‡Û¾}®ùküëßìÓ“æyvöy79˪ۣ¥D$u=Ú¡øÔ%ÑtOÛâ³-ågièhŸÆâK9´UK†¾é %…-W]ü]µÄÿ)Ÿ7æû¾:Ûîõ’›œˆäCGÿÍ,»¤ûC €ðèÅ¿.är ‘‘ŒD éÊó›ÇG{yÉ5'6fVÛ ›æÖVš›s2;˨ŒŸæÒeYë,>Sß “—foËݸÏeÕ,‡ª­Y‡/ÑÐñ3C5‡vŸÌÞhûsÆ4l*Ò*ÇÌ™ìì×_ÂßO‡2·iÃÏ¡""24ŸØ–uÒeñ;‘Žý7êÏd©nÒ,÷eÇvÏÙE«ž“Ã:³–L$cY:ÅñDD «êm,ËðM|ïÒ§áxÆ™éH ‘¾î› ™{N7ñDÄkÔ¼ÓM6ˆ«ãèÆS0*ñŽˆb˜ŽUZÿµŸ²ž¶lÙ“<;¹‰>qQü²^?ÛÔe-n·üŒ0*–Ѩ5zrï+êÎ|™¹áÀY OD|“†FôÜà[í¯ÑðÌðŽ‘±Î,ŠãxžgXg¶câÓ,ÓWüÓVÿÐæüªóíß;Güù…*‰ˆÚšÏ|¹}}¦vɲWåD¹Âºßí\»D¡è8²Ù*l©íªáñg‡ÒÞKZÃÃÏgé«/Õ:Ý%£Û«ÎR©tÒÒyÅ_æýý‹£ÃÓ£'MyÕµk7ÖïMMþ\BDd4¶“R×F„ø`ük×i5 µ5Ÿ>tºÈÁÇMN–~™á3§…¨ˆ4ßd«‰§EŽP¹KΜÙTUyL=Ͷs%×jNª‰”a‘AŒt;™}æXÆçØ%#)ÆL ñ„ÔÇMåu©M.—:*\äDZ¹‹›»#Ò_!}âõ…ã¶fem¥Å3}Œ¥Û² l£ûuö³ú²èÓÏgv\À׸gþ‚ìSºçBˆˆç9=‘ŒHÏ5rIJ,Ïi8ëI?§áËôZ+«b®Îº,éë8ÖÏŽK;=výúÕ> ¢ºì©³¿î{‹d¬;K§;Ÿ‚×hèF~êEñôøå©ã—“¾ñXæŠä„ÜÛ§8wKäõÿlQÞnìÅðñÃøŒì¢Öç^¾qÕ^ãáÔ-ü”ØWùŒ¸Ì¦y›6Mq—‘þLê+zŒ÷R·åVûŨTŒ%½vD[F¥bŽá9Ž#²³Nì«ó§N]¦uízWo¹£OèHå©âjí«þÝ^ÖÖØ¨3I‰ˆÚµí$\>ÀÁß­í«/)[”Ï:+ Ú^ªnÓ9Œv•‘Téú¦g(‘N]´ãïŸ~î÷2k+yjÒª·}pÄ€‡Ê=\ûg¬ÊNOKKKûpÓáKFÛ¡g†¨:²¤ÊAADdеèˆHaùIäJ9Q»¶ÍØ5C¶´‘öpz\\\Ü_²ÕDÆfm«e9…”ˆ¤ƒ<|Gøz¨0ÚK¥ š»xZ÷·¿eØF¿3ËwP¿ÞÜÖ¢ìSªñcn ÞBÎcÆ;Î.²\Ч):pVGDú‹‡‹4n!Ã,o^õôD¤;}à4?,Ä­wÉL1âõaÜ7Ù§Z‰¨ñë´K2϶rŽQ=í¤ Ò7Ë>ÜD¼µ˜H<×-þ8ïÖ´çÀ=éë¾Üs‘ó²Ógvý>uþòì z"’9{ZÕ{Cc™Zþ¬çí®ž³»l†Ó©ä©‡Ï4ê‰ôßïYµ$íïä$ã5žqrSɈôußdŸæ:¶–áùFNOú›í—5Ì?’Ne5µžÞSÄ ?\ÁáÔt¸è‚žH_÷å–S\ÛÔ¦þ®Å!`èÝE-ƒ®ºøT‹­‹K÷¼+uð´m™­ƒœH«³xa°õìM"QHjNiÛZÚ 4HjÐT–žÑʇŽ@«~¥‡NJÆDöóìGÔøMöY§ñ±î]§9ï¶!û›Æ‘*bœF²âf¥©›4ìˆe)“݉ꈘachË’Yg›šx՘ؔ±vD½º.ÚOI¼œ1핞œFLNIùƒã´hd\Ú´ÈL•Ó°×Åθ—¹"ÉmSìË#Ù„¸7¦N\½ªca÷ÉéñÉ oDòDŒÓÈeéË|dt¡ÍW Ÿ7Å)9îµ-<Ãã4bQâ«ÎÝÓPK™ZâùÒíÇN‘ù,^¿É}Cæ–¸ii£>fæšMSžS\6oX\“TNªáS–ÅN¼—¶dµÓ¦™ãGòiK^;»h}b_ûµ:¤cCâSÔi "3ˆˆ61%q¼‘ݼø“—¼–Í: ;e¬Óé³½‚Ü”-­º\û'a‡¿6o’§œºÊ"u›4/jïÞ¿§~m$’8 Ÿ/V¼6TADޝxVïYû¿÷‰$¬ó³“g{J¥5/jïÞ-©_ÉHЧ^šä‰Ã<Dzýß{Úrã‰ÿâ÷gyt¯É~Ú—öáÉ6ŸÅïÏõ‘æXfZ®Z24lZ˜›®47·\«ónÜëŽÍ7nü ;‘™–£VøGO Qj.hP†-œëS³þ/»/I†ŽŸ¦ª9œ]Ô xáøÇ3™ïe«m½&NçãåŽràÃB³Ùl2™L&Ïóz½¾¾¾>88øÎ×ðË/¿ü*[Òúõâi[^þ´GgʺìY·v€_É…µS—\ŒÝ¿öhS€ßÜ€zLùnû® Y¸x¼²¡ {Ó¶Ü34t̜ő=îÙ§ ž³8ÌKr&gÓºM9—$a‘*4wq˜—B}xÛ¦ì"[àÔÅÝ¥$⯠öªÜ]‡jpó€ŠîØÊÈIIÇZ‰H÷ý"ÛËnÈ~¿»êü)}fazzß<ó^zL×)r±sÿ<ö–«ä¹pUd‰ò¾&1ë½³ðj}¬…$J iKOü‘Mê2nΜ9SCTR¼¿É]/ah.=©%eXtHÕ¦Üò“ ‘1îRë'vmÍ-o1J|B<Œañ›ÔôÃ:¯èHIÁ¡3Z£Ò'zN˜ñpvn•–”>SÏ Rþ±mÛù ïÆÇH¥¦ÖyM¨(:TÚÐ.QúG/ž„\Ø/Ú R¹ôV ¹ë꟡ùD©–B^ððãFºÓ'¬õ?ÍÉ­9å-¯ñsæ„;Ö”j;¦TBd¬*¨ñˆŒT’öLκ쪡‘S_p 활ܚnåCë̇O+¦M}ÁÁ¨-ÏÉ©iÃËÔÃßO‡2Ó·žÖÜx_lLËúG3:ðôWw[ý34•êÈ!ÐÚŒ.#\(·ò˜:ÚÝCJ×jJ[ˆ”ãC|Ÿz)êJ?,ÒuYNùBdÈG® 4·E1bbÈǶ¶¢“9 ÍÍmäÖóI”1‘#i¨±èdvCsƒŽž‘ã•êo¤O¼¾pÜÖ¬¬­´x¦±t[Vmô;‘Ž¿GñO|Ùèå'nþ8Ã:;ñô ‰ ÷³—áµÄ¿;Jêc•íDíëÒ ¬“ΫióxFÞ®k#"¹£BJDR…£‚¨küS¨D$±•‘ÜÁVJd”KˆˆŒÆÞÏ¢pQÉmm‰ˆÚñ*õSª ¹‹ikÖº¿åŒ.ÓÞ™å;¨n'Ï5ÖU6ÖUÍ[—ðNÆê¹ ¼x€øwm5Çδ“20z¢ÂòÿC»‹ªŠjÚžñµUȉ´ºfI ºÚöQI€ÒC'%c"ûEöc|£büºe;½^×ÚX]YVÝÊqeë-cön1¯ þÝ:ýUI9",Ø×Ñ2ÅE[P”[u¬êšïwjh9™{Ì#LQóÓ–ø‡+Á8"2²¿l‹søÛ±3\úx@åøÇË—o«&"ª\—y|BÆ(TàQs7C¿´Õ«2’ÂË_yãÔß+PItéXÕ5r ™9ÑKi¼tx[vnD˜ Òô2ûQËVÇ{ZþÃWÖêÑ&ðÈéõ8†ß‡ f³Ùd2™L&žçõz}}}}ppðÝ®çÆÐ/îÊÝ×gõˆH_•1qæŽV"b^ÚPpc ˜Ú­1“×Õ1Ák 2Géʶ¦¥n=ZÇõ±>]máÁÏö娨mäx""bìÜýB£Þ|s‚ŸýÙ …­,#"»7³sc½d½6dòÌDDvÑÙ¹«z>Nµ['L^×HD)"¬eJ}Ãñ}[÷å—UV×Y:²1vîž¾£&ļ5Êå&#Ú\©8¸c_þ‰²Î ¶loôœ¹^¨§¬š/+¬Õt¹ü¯±¬ÌRè °Ö(uÕ –§žáö½6Ù~Ô;‰ï(N³ç%ÍÚ¼OðDDÎo®ŽÕk!—ˆøø¼ 'xjÍÿøDlf( €ˆ®lǺ²›<ÆúFÅÆÇOðºe©‹yéíÐ^iI_}ð¸å²;»ðÏ>—ã¾n]UäWè#FÉHæîÇäŸà©ñDÅ•eC:WÚZVÖJDv¾ž¾µvTÝÚãòÀ+–«õ¿¨Ž§êgµeuº öŠÞpnì¨nS ZJ•î1oö½¿ö£b˜'xâËVëCPÿx$ˆÑðˆDÃʼä™a1±[_¹ùLCB={WÂZ«+,éñ ¾Ù›Î~^–¤|uµ¥P¨ð ·Üh¢6¿ZG]Ò]1¾¡. —P_†,—v>®«Ì¯%""ϨŽ-q u¶ìAÞ¢EIûÊn7V¯®ú„%ý1Cüìn2ÂÓÒ³”øêŠF¼9¨þÁC¤¯?èõºÖÚêŠwlÍ«äꎮ[~¢ð-æöUc‡¸ôNúÖ*뛊!CÁô$³s¶#j$"]µNO$³ÿRYG|ua­~”Ÿµ#§eXÏPO)ò¨®Ápù£‹FÞ®ÍtÕ­z‚òÀ£Õ?xÈÉd ¯€ˆ¹I[d¿ãIDÄW®[¹®ª¯šŒeû˜Ê·Z«s¬ì¦1‰éH†¼®£–ç2ÊR¶k-«hµ&ÉÚü2žˆÜCýì‰ÈÞ/À™ˆ¸ŠÎA4Z.üëôÓºY~˶ìMŒöíØ8¾±òDÞ¶´•ó&Ž5aQÒgÇ»u­ü]´§Ã?¨þÁ£½æ¦ÎÙ7y[#Qã¾ËÞÎè}σÛÁæks’sh»-£ºüŠ+3\ì;‡u± p¶ÎàÇnkäO”5,âBt¥â„ånðÁÖ®™7Ö>dª­–Õ–ÉÏ?z¢ºµ# –å}P–·í¥ø ©7þ»±%ÁZ=×ëvûdç‰ÒâÀC§#_YØ åuGÁ‡±Sµßhí×Ù^g-¹1 ÅÌÀäå©:¿Na/³ëÂxvÜwP6$Ü‹ò˨º°Zã¢ÐUZº†²}÷ÆT ˜07`ÂÜU¤¿RUv4?ï`^~e+µM[”6doR€‚º"‰ñ À°.Ð?á‘Â0Ö4¤ç¸;\Dfçe@¥µ¶õf3é[;êqvžvKáîGDÄWÖê;‡uñ ï_Fáù’;QEa­žôµ…DÝý¼ùFÙ{ŠY–ºõHîê(ËÖµæ}lÔF1ÄÚq”o¼ùâÀCo¬kíuì.dçékIX|uaíM.”k"õ3J^”ßHÄUæ­«ÌëµÌ›«×ÆÞuCÀƒÿ^|ñE´ü.A0›Í&“Éd2ñ<¯×ëëëë“gbXç!^~/…GMõº×À£X¶õÈ„Â}ŸíË;QQÝÈu¬Ù3 8cÜrvW¬´­Ñ‘Ûx¤¿~–¥‡NJÆD"ûôs÷ÚùSé㥠jùGî±ÊÊ9¹UFëtGßD 'JtmÍ•¹[7fRß|üN©TBDšòòÊ:áæÓù†yIt¥¹EZâ…˜ÑÏàˆHd?€‡8þIÝ#ç„ UèÎänÛU* T DDŽãÎ3ÔXšµnÛ?š^ã"o‘×äCCüÔ^•»ëPMÛ-¦Ë=ÆxI¨$^H÷D¤×ë€Í4üt íâ6ŸïÍ}FŽWí!!‚Ùl6™L&“‰çy½^___Œ–ø-Húý¶ýt¾êRy~‘Ž”aã<ýÎøgЕçdhIé5qá¸'p[€{ó€tþ„‡:ÜOb4â»±¸lTfiiiégw'‡Ì=XZZZ˜ä'ëÌ¥ûbçÑá] п úßø½[#zÖø®T|–¶òƒ£­Glèßõ1]uEëÝÅÅÏò‰<£Ã[sò«?˯™;äBgmY-û+ïJma#‘oJ€þÕ?xˆÙûÍH]mGDe÷^»?ô'jïjþÊmù­D¾oÎnGT·ï`Õ½…ÎÊÖ_}_ZËjy¼ùÿî3™g„/CD ­]»UêªfÄΈ:aÇz÷»¼R±/uYŒu¶Ð˜E©û*zôhÔ7ÿ,iQL¨eE£"f,Ë8XÕuÝ‘¹ÖQteŸ­šk]רˆ«>ëXWmæ„ÀÑóò9"þè¢ÑU·éª+û¬ûÿìÝ{\w¾?þ÷ä2“4AL@jðX¡PЪ…–J«P/¬+Ô£,»EÏ)º»Èïû@ÎYd÷|Ï"=_¥g•=˪ÇE—âeÅ ÔV¡¥ \ÊE%A  Bd&—ùýÀÖKÕZ}?}<ŠCHf&ó™Ï¼æó™ÏÀgÙ<׋)´ÇŽ=ôÊ}7ÁðuB@ÀÂÌfP°æŒáŽ¡_èšM î3¨KÏÑ51;îú¥ç`L@Àò=Z¨O}+ àõßìû?÷{Ù„€€;»ž"„B!Œ=>š È۲˙MËcÓ÷—5Ó ÿùááóý%ºú“Ÿ®_ž°¯íöˆÒq4iy\æ¡J5(|üý}ÜA]s(3nù¦3£ÒM»–¯ÿäXZâ3/<<|žÝ\¹?=vùæ[¯ €ÑÕdÆ$ü¹Í5ü£ßþvõÒy2]óÉOâìÁGì¿li¸ ›·héÒ¥+çɨïݦž¯÷”1>Ëæ9ÌX¼L ;¹¿þž€õ}›@º.Z¹hž€œ¾héÒ•‹=È;£³Ï²×ÅÆÊ£Íw½sOåÁz˜¾l¾ëÝi{ÑÊEþbûV-ZºtéÊ…¯.0ž¹gõ 5/Àô˜®x”"„B=øìz±ê]dÀÃßc8Qõ|ž¾é¤ÄóÓömYìj_h¸˜³&nOý'I_?ãaÙÑôô2#(–nß·éu Ývp}LfÍÉÍŸ,;ºÅ_tÓŸ7~ZÏ€ûÊÜÝIþ’ÑÀ“^vló'áG·Øÿ (`*?­\´ýèæáE1+ý¦Ö4ï?Ø“èáüúšM’ú“õͤϚ”MþÔƒ6ª§r ø¯œç à¾ÒýÓOÔgöÕü_¿í‘»mÂâ¤WÝ™J­Q±èãÍ1ÃŒ¾#ÿ­\ >yLWv²-iö êîôç³rþÝSJfÇ$y¸6«©¥I›Þ•í.;´_w÷êjÖ0>+çcúC!„zF°õ½Àz.îÛ”tÒ ÿh$xtœüs%àŸ’2’ý@2û£Í‹Äê=‡»]vÛ]@ÎKJM,”Ǣ߮œ.“Itu4]¿ç @¶rËÇþ·Bëâ”DãÉ=_wínQóÿíÇ·egÿðé ­ïxŒá1;Nî® ç­|}8}¹.ˆ™ÀTýݼ DM_¶@  ;yìövÑž{ú[6ï¡Ó¡f,[éÀTÞÑsÖpñ` s+Â"„B¡g[ÿЋ¡þ“˜e¾½ï"cÔiuF˜¾:'e$¡.žTÀôEþÎwÅþä±2]M³fP`¸xF á>’;‚Lâ¾Ïí?ÓMgjŒâyáw¶Ö9Ï w‡zuSeýî­¹ÜçϾã)™½9Î@?ò™ö Èy+o¥N×ù+}2Óë+wŸéY02Àéƒ7áaóß±cº3'µI3³DOÍ¡ð_úÁÍ5|¥Ï'éõ•û¿6,xWbO• óWúãü!„BÏ0þÍœå{ýôùdœ¾}Þ¿Žƒk"3ë\ÃÝÑêFÓöÀe¬/+;]@Ó:€¼ÿcx cïɨ­)ÓŽý£á)L~G7ï?j[b–Ýñq:€æ}';–­q}¸MxØü.;vH{ôLÇš5®†šC5öž§²mÃñ´fÿ×=ï¾ë †f{ú[6ÓB!„гŒ¸ ЋÈuQÊêݱ{´û7ÿyѾÄ[£–P”ŒrÞöÓ9¯O0²¿Œaîÿ€IJÜ?>pðqæ[L†šÝ'í=ZujõX3ö©l[“è1º¥ß· ›ÿÏ—:¤>z¦cMŒëpúó_öˆÍvί¯œGÖTÖï¯ìyw±¤ù` âE1Øö‡B!ôLáÐ/èÅDÍX³y‘ @½'ý`ÛmËe®ÀØ{FÞŸýeÐÑv÷Ëhš¦iÚþèšuô³Û*CÍþJ@±úÀù{Þ>ŸÐÛ×D?ä&VÙ†šƒ5w=wø$þkˆêVöê~mYø2 T„B!ŒýpÿSæ“ÍŸd½5¯¸dzøth>Zy÷\ã=_þuS=ò²yî >YÓsûkÚvǼñÆomª¡òXà/0~}Ϥx†¦3gjÚ ·ÖßËzÎì®dÜ—-ösƒcìÃtîo¦jnùþ')eóeÍGkÚ†ÓßãtÚ”ø¬´ç¿²¯÷ÙÓßtL!„Bÿz2œ$%ù@Mfæç£Èuþêy$@}væÁÛ&30Ôä¬_Ÿº>vãÉáTèºhÔg§yÝq4g·@¼ f:@ù¬^¬0Û”ýõ­€EwÝœ°qcBBÎÅGj$IF«ýžØØQ¶¿Ü—…{ŒÓ|V†ËŒ'w×jF>V׬¥ÿÂeÍǼÈÜ=êÌ›2ü¦w5;RÓW.–Ôgg–A±hÙ L!„BÏ>û‡^d®‹6¯Þ·|º2ó“¯_ž†ÝùÝ´-•qUf.kŸÿ<0mõ•Í:Ò?esøÈä΋·¤ŒI¯¬L_þÖŸ§Ïv%;.ÖkYøæßÚÓ5ãã­¿½÷Iý¡õ ˦Ïóñ ][Mšp_º%qö#¥Ét4ëš3ccŽ*H59›Ü±ÚNîn€é1á÷›'š¾,\vh¿nx†…‡Ø…¿«7žL\Þ1]&Y²uìç)Eá²ýûköWˆÔi“rõw‡JµvÏše5Ù²-Ù‹í+LÍX¶H±ÖxßL„B!ôTaëz¡Qm^*0žLÏÝyÁæ}ù+çO—hkÊÊN–U6ÓîþKSr‹r—Ý>‡Ÿë✹¿]ä£ µÍ55õZÒÝiÊ®[Œ%J͈É-Êýí"wº¹²ìdYeVâ3uÆ}›õÙ8jFbÚJ1€®¹¾YÇ÷¼€n:¸_ >+ç;Ï»,[¤`*÷Û$¸ Îá›Sæ+H`´õõm ¨ûîÇEá2/Xù Gö<–mþxž À¨®¯×2wþf¥;À÷4`"„B¡§‰h¿Ö{=?&¹)p'¼°è¦-‘±‡t>i%»ãtï!„B϶þ!„ž‘ž3ŸÓ9ÿ£˜ýB!„0þ!„^TtÓ¾ÔôJ+?ÂéþB!„~8ô Bè©2|½yÿŶšz5à¾zËG8ä'B!„Æ?„ЋˆÖ],«¬Oÿ(%%f6†?„B¡ ý‚ž/8ô B!„BO >û‡B!„B/…ÇêüÙw./÷”À1èW óe÷Á¦–ÿÍ9Ü! ] Òú¯‚VÁœÕëÂ'>Òúôµ|Óh™õÚ,'Þð*)"Wy ð[E!„B¡'ÿtß×בkí¯¯ízãm—úü Ïåe̩ӣ½‘åFåɳu..¯ÍrMg‰ˆ¦”˜ýB!„Bè Å?‹®¾®ç†\9Pú]]ׂpW€®27¯¬_17Pð]ÍÕ>+W:3|EÄl'Þ}–ßþŽ]_ü‡½õOÀ3uTŸø¦UOˆ>aá^2XnÔ=sIOPf¾½ø½Ù¢«ÿ›s¸ÚlýD³>ìÆ‡G[ÿŒWËŽ—Ö]ÕÓ”ÔÃ÷í÷æOåjá¸ê¸xzWé7m@)æ~½@)€+gNœ¬më§¸Ž“ý¿=EŒB!„BèEóÈÏþYtµõý ð›<ó5 \ª»a’<h/öÏŒ\ýá»<ý¥â#õÆû/“±ñûËZû&¾¹xiÄJ[_t ì†År£ôÀç—ôNËW-š#è¾tüçû“ß]4SÞüÙ‡a®¼ÛÃdÙÞUWM“ç°<òM×¶ªÏþ^¦³p¹ ¯ùªoJøÒ7§P´ö›â*X4¥G¿i³Nøùª‹ý¨Žó'J5&<.B!„B/œGmý³tÕ\©+ÐV—™.pºå|‡ÅM9ú6Ò€7g»9ÁÄ7<Ï´Õw\Òš|]Æ^>s¬w¸z¾Ý þaþ³&ò<]§jhJ<*hyœ/O$•‰A4ÅáB]_GŸe®Òʼn"¥‹úFWðF]}€2ü½yžëw:Þý]­þÀ<ÿÝOEtåüÕºþ®> ð,Ë M‡~Ö”¹&½Sa<2㕲“ï|/'Ü!„B½8ñÏÒQÓBÐÕÛQ=¼¨¹FcRNyæŽr¢x”H@›,÷].ãíMú¹ˆxÀ+=½ìñ¢«îóÒúŽ~ëð˸VËýW‘ÖPN"û– D".tô4è œyÀ£<°ð”ᑾ'ëÎo8 À•zGƼ牽?>û5ýÛñ.ï’~¾ B!„B/Jü3iεÐàèón¨§Èþï³Åç¯ÖhLS§ç¿®ð€Å¸¢‘÷¿ßò; ¤ÐzÚbž¥¯¥¾¹RΤ*Ž^è€Éïÿ"z¶S×ñ?ýí¢åûÖ‘’Š } ¯Ï®<S߀ÀQ&¸Ïˆ<~è¹ÐbÔu\­={ò|É2ß{ß6û}nšû/«}x—Šöýý&@„B!„^øgj¯¹b§™A~žÃÓ=Lì«:úêù«Æé³ì úk¿(s ré(»D¸ú(`½ÏríXIlÊk“áxûùÏk\ç:jΫér˜³jæTÚ Àµ˜ºšëË®ÐÐw£Ë¨Q\調xUä9etÄOÞD_§ UšÒçx¾"}Í™n€ ³e¼ûÄ¿¾sûË)½2lñJJ$ñ( £ßC±èÊ|nš³ÄWÆðY‡ö8%[6ñùß,Ëö÷÷3 c6›m6~™=$‡ÃçóI’ttt$âºÍf3 XrÂ’‹–ÜgÿLšš«VM™u«}ÇiŠÓ鳚š«ÆYJpñSèÊWõY)©wx”†ŸÊ»gùØÃ«ˆgðsÝÑçÎþ @¤ðy?"ÌM aoMùìôÕS….ÞáKQ‡Žµ–­šïûÚäªÏÛ/}~Ôâô¯a·¶Èeþª,ÇKëNý£€’ªÞ\ ¸O“¡“_xXlj¯Nø€ƒË¬w"¸`þ{¨cGöÆÏ×ñ£;ËÉgé¯TÞó¿ó{{{I’Š¢ð›DèQ¯ä†¹~ýºT*uppxfŸ;00ÐÛÛk/³XrÂ’‹–ÜÇC´_ëx2kw¿‰×qBvô(&¹)žêûÆ>ŸÏáp8AÏþ>(B?],˲,k³ÙX–eÆÁÁA"‘<ƒÏ5 ƒƒƒ$I%!,¹aÉ}lØÎ…^"özˆÇãÙë!Ü'=^…dïÁ588ÈårŸvK–\„°ä"„%÷I•\îSô’°Ùlö>Ÿ|>ŸËåb=„Ðc#‚Ëåòx<Š¢ôz=˲O»äRÅãñ°ä"„%!,¹?ô ŸXçO„ž„§×ùóæÍ›f³Y p¹\ÜÏ=V«Õd2‘$éää„%!,¹XrzþK.¶þ¡—…Ùlær¹ó=1ögh†Á’‹–\,¹ý$J.KôÅ?|ö¡'ËÞ#Ål6cÉEK.–\„~%ãzYØl6ì‚‚ÐÇårŸêD^XrÂ’‹z‚%ãz‰àmH„~ŠÅ K.BXrBOªXaüC!„B¡—Æ?„B!„Âø‡B!„BãB!„B!Œ!„B!„0þ!„B!„Âø‡B!„BãB!„B¡ÇÄ»ô]îôü˜ä¦À€B!„ÐS‰o¾ù&îô£`YÖf³Y­V«ÕÊ0 MÓííí¸[B!„zZñwBäààðRmïàà ~éè à½\uœÉbÁ/!„Æ?„B/%› ÷B!„ñ!ôTèŠ×.ÉlyÂÞÏbÝŸî'ùÅ’l&©àoQ?àaQuþ‡«r5÷ù¥|yÞÞõž~©?eõ’}CC/EÉ0œZû~ºfáŽÃ›¼ïøŠµ…®Èaö~+oغb]‘þ>¯Ú"Ý‘YÍÜç׾Ƿ‡ ?\‘sçù”ªÆ%Æ…(Æ>°hmÕÜ]Gª; –{F'$Fûɰ0¢'_˜jìÊ/¬¨ÓèûÁææ) 6/YW¸íøf¿G> j‹7'g—j20ëøÖ rŒ!tÿ8U’ßHÊ•ÐYXز|ãóä¡)Y*{ ÆèOeg–0ÁI)QrÒ~¡§Tþx Þù³u­I‡ï©xÑ#bYÜ/`É}”2:-+ÄžïMafNµ82%1Dj/Þb•Šœš=üëÖ]©¹Ê˜´D?±ý¥^#€84%møœÀ;5å…¹ûRWµ¦l “¢SWeVKƒc³BTR’ÑkOåçäl¨SoÛ»ÑO‚Çzr ;7¬Û×J*ƒ#b½åbÐ7TíK/)ÏÈÛòC¢ÝR˜[ª‘FfdD«î©ñ Çø‡BwÔG 5âà¬$qæ†ÒüÆÄÇ¸çø¬/ÞA#MZM.”0Jß ÷Åt­uŒ)ŒXrŸÄÝo¤0ÓÒ*ªÅÞ!A·]ËF~¦É#$€Ô/0(èžËW±Ü+Èoôœª‚%Jv•hÃbïn¾Ô–æW3ò„¬-£ ¨žÞAJf]vk¹†öóÆ{9艅¿ªÌä}­Òд¼Í£÷!B¢b#¶Æo(JÏ;¼%„|üw7ê }Ã=Ýï9fñ Çø‡B·_C6æ—襡Ѿ~â…ò¢ùÕ¿ák)ºjãûɚȌ(Ì)ªÓ3@Ê—'¥¬¾£ÕÅ9Ù»Jë:@ʽBãR’"FêZ[¾+;·¨Zc+ƒc“bG¯àHF_¾=3û@€T'¤¤D{¤®jgvnIE«Ī褤Ñ_=|«ÊÏÎ-¬nÕ3b¹oplbb”§€®Ýôþ†ÖȬØ•SÔ¨g@ì™’– ­ÈÌÜU¡1© NÌH‹ÞZ}*';·¤®“ªBã’’¢ìkbh(ÌÎ)¬hìd@¬ \˜´>Dtíæ%JüΛdpÖñ-ØøøðÙ¿—±ä>Õ{Fª%”hZ:i¸»(££/©$hóß>à =QÚÒÜ #œ‘tW´Ä/qÛŽ(PyJhŒG6çä–¶¤^‘‰iÆo[ZŠsrv•Öu2¤Ü72!%!LAÑ-ÛWÄÐ@é†wJí½ %zj ³só+õ €X™8rÊ0œZû~:“˜Qž™So/ÿ嘽Ÿ­½¿b(߸$µ1xÛáÍ~­>•›³«¤Zc ¥^¡ IIžÐ-ÛWÄ—øf$‘¹™%UÚáaØïô‘á´ï¡'ÁP_a”/Œö¦À=*ZÉTçWèFI’EÙ…dìŽÃgÏÏKTÖíKN=¢ k³×eé“vì-(Ø›—Ì”dnÈn íïZ•ŸºOï›´#oo^Vœ²17yÃN5=ü¶š#™…•±wo^Vb ¾"'uW m¯|¶Ä'ïk”Fgí-(Ø»-N^—³nCþèŸ=Ü5qÃÖuɹòج½‡ä%K²ãS‹µöÍ!¡³$ç”{ÒÞ/ÏÏK7¥®[—£ŽÈ:|öìáŒ`}Evf©}ëuÅ©ñé%š¶#o…âŠìuÉG´ +OßS ¡iy{ öîHôÒHMÞ© üRöf-ø¦?œ†Ùï!ˆ—ë¿—¬ä2F#}Ã<íCJߠ˥÷LyX¨:s7lÜ^\«6`áCO­¶m=Õ ¤o”ï½7F(…·çm÷%Œu¹9µÞ ÛöîÝ‘¶\ÚX”žyÊ^ºµG’ã3KŒI; 䥤ÇgV€òLØ[LœQpüxFˆäQrºeçº 9ä´¼‚Ã{w$ziö%¯Û:|^ IÍ‘œrUâ¶Y¿Šþ@¥Åê[VWXÍHC£½(ÐJO? Q%lÛ[P—M–f®K¶WÀ$ër󙨌y)˜ý¶þ!„ž]E~5£JŒrP„Æzådæ—j#¢oë% MŠ RPà•—¿*·°B­ ¼òöÆ‘r…ŒPÄÅùH­;¥¡½=)min©Q™¶1ÌÀ=%M›YÈhŒ`¿YÈHãÒÖ‡ÉÀÝ=!²°b_]«<)]iN‰^¼pGF¬7Šè””†É»v5.ø^m†êÜ¢Nqè¶´h? daë3:«Wäî:¢ŽX+·oN”½-@JU¾!aQ ƒXŽŸ,kS éa°ú5l_;1pƒ5Ý+ ,ËrI‚r"DXÉ$bœ88ƒP '‚K>_›¡×è¤*éÃ4‹¦¤D{Ràwä@jkU'&ƒ†]¹à•”±1B¶>C_½"'§$!(Z!‘ŠIȱ+ ä†êÜ20#cmˆI-Õñr+â¶·Ñ1‘²ÞÞ)öÊÎ,-nY»Ö@W]XÒåQ* Ô»r+yLÖæá3SlZJÕ’ôÜ–Ðõž `T&$EáÆÿB?mi~#ø¦„_3Ê‚cÉÔÂ#êè[½:HeЭ§Èå*% uµt´‚¢Hccþ®ÌêFM§Þ8|õ*e 5å­ õ½š“ø­ßâg¿hP†xÞ÷+Ä ÃЭå ÃT£Ÿ&ñ SAic¹†ö{ÈQ-hM•@rë=@êë%†’FÁ~qI*UÒ‘-‹äÞrÉè¿I`Œ [ë:A¬}ŒO¶qKØðJ‘úÒÜìôºÖNýèf+ KO’íqGÂÄ’ûS(¹¤oRFœòŽKs}qzzÉ“ÜAûâßÙwG¶ LØ–}ŸaKe!k·†ÄéZª«««ªªêêJöU—ìËQÅdm[‹£bü¸¬f[×E¸qèn´éZÁp ̃p×ÃÁìèžDA¦ÙLûgùÜ<ŽM’ö[=£7&îÿJ¯ÑÂKJ¥b{IƒÎºF#(C|·Õor8PÞjˆV<è@ýÞƒœÖTµ2 Šð}Jâ+>P]®¡¢Þ¹ IDAT‡ãŸØËw¤î”GûBziqËZOO]]aÈ¢<)еÖu‚42äÖ™W˜ ²ëõài_keˆ ‹Æ?„^$,˲,k³Ù‚àp8@\ƒ¾hÝ;EwGµ‘ãmÆ?„^ —/·~qòs¡P%•9³,û0AΞ»»»ÊΔvt\ßðëÏdeéÆÂ½88%+Nuë|Ìhò“ÓKòë¶ wÏ`Œ·]Ã1ŒÑh?}kK4‚ ö°}¶çÜTL?k«†tìŽí8G|wBþ#õü‘ï+I¼"TPWWX¡ ‰¸ëÁ7Z]¼«Bµ<äû¦Õ¤Ä 1³-+Bz×Ñ®ø¹R,H“v¤ùŠïºW#¸÷aA‰ot ™\Q¬I¶i¯áŽöwY˜‘«|~ÎÿBOA õŸ}VئV×|ûíºµk½¼g?0Ú ê/ææîüÇ‘"w÷_}ô¯"‘詯®¡:¿Ô( õ¾ãòF*--)¬6…Ù'Íj¬ÒÐAö—ÐU­J?9EuÌð¹ÞN[ZØ f(e*nëúe¨Ýº![–‘û=Ýp(eˆ *:õ¤»û­ñÄ´Zʾޠ”A*(j,o¥ÃF:î.óHýMd*_9ì«®í¯¢+ß¼!—‰ÍJ“{_œá:»åÈ‘Î'ýÌÖlÆðR•ÜݰeźiL^ÞÚ;v§Q£1‚X.ʼn\žõá­e/bÂÀá%\ŠqR]a\®Ð.$j¥[Óh¼fcÙ)“]W¯xMæ> {m:ØÍElû×@÷†k@X Àa‡=} dÁ ¡âäÒìô#^YQ·ÍÎ`¨ÍMÍ< öŽ Q|ßÍD©——J5ŒÔÝ}¤B£uZ#ù ¦íä¤"‹Z[@~k½ Z-#½ßó¯ßè`ñ†ŠSuîÕà›6<Ž‹D"‡\Qêî.»µ‚zR!Ãô÷„àÈŸ=wl6[{{É5‰(fÏžÿÝ”úïß~ûí.sY€­¬üjóæ´½{÷š{ÇK8íííÏ`muùÕŒ44ZEÝ}-*eª G‡dJ3sN5huZuynæ=xE*€’©Hh-,¬ÒêtêªÂM©§”b0¶6j 4(BBÅú©™GªZZÊó3Ó‹ZÁ+ð÷ÿdÁ ¥šÜÔ-ŵj­NÛRU¸9~ÅŠ Ô°U’À¸årcizæ‘ZµV§m8µ5=W#NU<ÒÎqN$59©[‹k[ZjOíLÏ,Õˆƒ|”2HL]~QƒV§m)ß™š®ñUèk[Õ(RL´–W·´¨uX~Hü³Ù^ªÿ°äþx(ï„Ä`±fߺøÍ;‹Ëkj«Nn]ŸÙ^qq~j·üâõ;[èÑ«éík?üÅȨˆt –Ù'£ç’íìØÚ¼[ÙÏeö9Ùª¬&¯OjÇïþ¦¿´N}Y}½ß0`³¿4A€•†îï@™°ÐÄ¤× Å«„j!ôk+ž‡í“%eŨ˜ºìU+ÖoÍ/>U^~êHþ–µ+6Шb²RB$:X㼘ŠôÔüò­N«n8µ}Ê«²« ?ø —&,Wê‹RÓ «Z´:­º¶xëº+Öå4Üoü^Ê+:XÚY”³«• ŒÅÓ}aB°¸1;uû©µV§m)ÏO]µbUj1VˆO ¶þ!ô<Æ¿~ÃÍ)n¢ NŠÆæÎ/¿<ÅåòþçþG*•~O`MMÍŸþô§£G ¼ÓÓ§¹\½|iÆŒOûñ¿ÒüF.RŽ1DXÔBù}ù%êP/'ʼn¤¯Jïd€”ÆlK‰PØ«±ŒåÆÌ}É+öX›”µ\\ÔY—›¿N·7omPJ^†4;779Þ>{XLVÒZO à{ã“ømÊËrÏÎÍݰJ¤Ô+8q[Rô#ÍçNy¯ß‘%ËÎݵaU6ˆ•ËÓ2BuˆiYXF““½+{C V…&îHŠR@DJZmjvκ9 V…&¤¥…s7¥Ç''íÝ\’Y”_â›R°=ǵ~\Ÿÿrm°ÕúÒ—Ü,bË^ù‘]ù…%Ù¥ûR,W&d$ŒvÅÓkZ5­Ê[û€élÕ´’·:™±Ì>™ìW–ÎÞ¸8<Œ ‡703v{­Su]ã]/äp‰Xäâ,>Õ}œ£ã¿kÿŠíºƒÝì`7Û{\8sÖŽn@<'­&ïµ=T˜»ëHinf€X•ùPÍ*¢¶å‘99»Òãs‡'žLÛ‘ðà4|Sžkwìeçä§Æç0¤T“•´öþÂSªèPiÉ=}ÛL²°´<ÈÍÞ•½î€ÄrßД X>¹Ê‘¦iÜ èGaï¬hµZ­V+Ã04M···Ï›7ï)}ܵkׯgIåQ988<Ë=344ô33„ô9‚5§m« ³««âßþumʦÿ°?Ýg¾­K‡Ãár¹ƒƒƒYYY[·nš©r^±ÈÇŠgú/ýpUÜc¬Àà£=Aô@tí¦÷7Ô…î8¼É{n¼ˆw+nÞ¼9iÒ$,¹?:,¹èÅ(¹]q㢭âÿBw=Ø,@´ã´j^ؾsúÎîÞá°Aò¥ãE"é8GA ™ú ÆÁ!“Íf ã]å¦)“ ß(ú«Åt;Á†GTJ‰WEx¾O8`A?ù’‹­=wL&LNbÂ[5áí×]O”i:;oìÞ½G@q›[®vwwwuuÓŒ™eäsÅb‘T*åóyuuÿr’¯Ív]¶pZañõm7îLô2{Ôþ¡Ÿðe±®¾ý3ô4€Í´|ÞNÏ’^7š€Ãá(Ýä çýÍ~ƒñªúšÙb¹ë4×µ›¸\®ÌIì!ó™7ÉûÕñ— ß±æAÒCõv[Ïwœyí Ðjµµµ_çò¸“\q磟Œ=wÌf³Åb>ø¿â¶fE€¶Ç|½³ÃüY5EáíÓ& þgÁHÇ-÷Uy€Á¨½zÍ "ûUîã_™5qmÌ+b×jµØ•½ÜñïžË»Û~7úÐKðòÍЋTØÍCðϽpí°š€è·çº÷™‹C¦á>n!A~ƒCç/4š¿ç´V«µKß×¥‡Ú«\ïisÖx«”=%ÝÇš‡ ùk$Þý¯n}ßî‚#5ÿ¼4Í}Ò¿ÿæ——ma„ñ!ô€j‰eadî>û-6 ÷›ÓÏd2™3AÀçF¾åá7kBÛµþ™ª rg’ÃÂ&“õÜ?;Z®ôü|ñÌù®<.Á04d¾¡3G)wP_ï·ÚlCÏKü£ü¶|yôÌ ºû”I«ÍjµZ.—{×$™±ä¢ŸX-{å è¨f̓`»¼vöâµ!±èµ9Þ—ÕíêkZûËé&u˜6çã*œ,29::qÝCŒ¤¼ýzgÍ?¿û®õê;þ!m¶Xëš4¼éü/¯.öå•Qƒ×µ±W¾¤¿ú$ë{éÊ5¸¢¹V|ªbÉ{aÞ?BÿB£ÁÏl6›Æbµr¹\‡èéî¾Ôt‰Ï绹¹)•àö|<ÃåÚ/BI.gÚ$ÉT7±ÅÊêô¦.ýËxlõÞ|sR‘‹³Ë!€‚Š?Åux  Að¸0ô(ã@ ôÆ?ûÐ/,k³Ùl6›ýžËp&´Ù †K•7]øŠiã¸AÁáp†úÉ]ÏáDè%­k­À Ïà X`/‹ƒOVö Òf(ÿWf5]Q_×Þ.‡ãæ2.LÅ{Mr]nkçô·³½fÍäL}Uê&94×µÝÙ8ýÍþÎ.Í07zvŸÿ/þo½f=Á£uÀ²¼ï Vøÿê?¯w™hfÈDuî¼_ÅDgüÐ ÿÌ]u'ŠNžoê6Oâ:#8bièLÇûÿAÿ¥òŠÞ©ïÌs»ÏlCõ9¿Û£™™òÿ…Hñû@/Xðëë»ÙÚÚz¹µ¥««ÛD3|>"yMMMG§(êŸw#Þ{ûí0W×Igtf?.2[†›-X`iÆÖ¢1”ï¤y$üÜká›Jù¡Ì‘–½½Ó ,°ð¸>—_z™ÙL&°Z­&“©··W($Åçóx<žÍj£ ÆÜ]n¾y]>Ù™Ïçs8—K B¡ËåÚ³"a¿5ƒ·öznqxÄŒHÂãM¶÷ªõf{ÙW=]}{-üzÀœ¦Ëm×µ]öì÷ŠJïcPô|Áé½y[ða M—+ªk¯i»„Ï)JG±èŠæúÀàPgwïžs6ÅüwÜ»Žf#˜_1zåý²s 6›­K§¯¨®^ü~èÅŒæ®ÒO³Š;ÆÏ˜ 0u4œo(ÎÓtÄ'8S8öŸèÏæÿ,ø¾ñ¡Õ•+—?ÚP_o63O±6kGG{MM­Zs .]j>uúôÒ%Kþõßg͚Ť^ °À£Í6Ër®Ý(,¹¢tÏã–³çB§Î4m²ãD™ƒ“˜o|V+˜>ƒY àM”R6˜­„ãxGüÐË~†eYÖFÓtÎöm766F*•R!`6Ó"‚KYŒ}¦úš.º•â qù®pSÉDIòù|Çår ‡;Ò[›ÅÞ¡=gR¤ˆ¸ñ•ïe™×r¥¼òÛë7ºÍfónp8„çdç$ƒèÊ¡‘ÐÈ%( +ÂÄW‘¬ß`l½ª¹Ñ£gYv`pèBcó«³g¹»).«ÛiÆ|C×wHãõËñŽ–F`mœÞÖˆi¶¯kyf‹Å80T[iqø› GÈE/`üj*ú¢À52ùã>À{o•ÿ%¿z f‚¾îP~Ñy€7Áû½+B\;vÿngƒ>ûCò7«Ÿ8­£4¿à‹¦^ €D9wiì2Ÿ»üú/ø¬¨²©Û ˜0c^äÏÞ›é0¤.ÍÏÿ¢©×"p Ÿª.ªèž¿eÝL ”èù½ælkkûÓÿ÷Í›½Asƒƒ\]Ý¡Õj9w®ú¿þëÿÙã˲==ú¿äýUßÛ÷‡?üaÚ´iöÈãqù|>3ÀYÅ|Ë“ä¢ù`ºÍl™3c¼ú†ÙÍÅaÂx X¶ÀzîbWk[/Eò¼=ee›µ±<ùÄ £-н„8B!˲`³‰¸¼¤M© Ûvæ ýêW¿‰D}7膟gPp¤éóU¾žðÄý4/my¼WfMeÖô+êki[wX,V:Š> ŠÚ ‡ã¢`¸¿Ï"&ø”,Ö7çç«su]=z–e/46ùùÌœà,íèì¶ÙlÕ[ÃÞ}ö@ ÇJ€Òôí”ÉÓ›¯¶[­V]ïÍöŽžS”¸óÑ ÿÌ] j €ò­9.#Á‹ï²î7! /ÿKþùîñsWì­9”wºhω©)‘ï­îÈ«è¼:vÞ4¸tpwq“ejäÚpAùîϾٓ?í?}oËpæë'>Í;Ý+ñŽX=WÚUq°øtÞNHþÍ;æ{Š› ‚+æ ›Nêàaò{Žô_:Qašûž/vÞ…‘>Ÿ‹%7wÇààÐê5qþþöÉÇ‚`YÖÏÏÕªáq¹—.5ê{ûY–ç$¾ySßw³×f³ð€Ãá:“~ý­qÿ±¦ð`÷É Ñ䉢ŸELásXX›Õf?¬6¶¬Z{åZÿ¤‰BwWñ¤‰B–6Ûzû™7.ø —ºŸËå’<Þkn®n…WÞ8yôêZ…u–7l*1‡€ €`‚`-§“OÞ ©Z‚*$žÚoœ¥í›ic§óynB‘Xäàà tpPÇW!ô<¸ÔÚfµŸÞpçÀe5A°Ž“8~¿$ƬEä Œ}#"ôû¿ëûöÿ‘|°è=ÜÏèÅŽB‰ÀЫ‚i÷¶¾Yz/T6õšîÿ÷&õéÏŠ: ÷›qe¨Ë Jxß&ázCÂ!Œð¤.h0à7÷Üd¿C¦·À«Ëß¹s7&Àa;vü)ô­^Þ^we?ûÏŽÇÙ³_™=û•Ûü´· ²,k±˜»ººnÜè9ðg»¾¢çÈ7ÑÖºKú¿Ÿ¸jµÚNW¶ÑErívµ]ϘYùqs›aÁkò Wœ;ºÚ®õ[XrÊT~èeFØGеÿ @°,ÁᘭVR@ާøùò5 ÿ=N3ôÕË—@ÿnø«Ü·ÝÀ"8,‚à çGÎß¡^ ª·쇸ÉLêìŸKôÓ¤â)œdãù<ÞhI·!JpAŒ´O½¿èƒ&4CèÅ308404dï#pa³ð„½½½ö×ðùü‰Ü›ÃÀ! ÙŒ1³BÿîÁw™£œoè8}þºo¨}$óõÒO?= ±ñsòO7\#~½6ÔÍPº%«¸÷ž¨ÐPðÙ…ÁœÕÿ±Â‡ù/¿Ïkº'^ºHàŠAßkw>ÀP¯Á0Þe¼„&ƒa@}f¿çƒ¹ëDÞ!Ó[kWÏsá¼¶f-ìÞù—#~õRòòlwwç… ß¦¤¤Œ?~ŒëÑ{Ò ŒŒOa4ÏŸ¯*)ù¼æ|uŸ¾Ãhèïàz³Wé&£‚ðž1~ÃD‡¾~º³ûæÇ«½…v4LSŽ ò“ \'¾€âNU:úy˜H'ND‹^öü7\Äl6˲6›aƒÑØÙnìá:H­gg¾wIØZl_îf’û¡Ë‹´˜7;‹$8œáyá°ÿGl©±MÔÙt_½~-Þ­G)åq¸¬ÍF‡CðH>ÁãrI{Ñ$itÃápžÏ§ú©©kh:ýÕ¹Þ¾~xÏO1¨¢è c¾Í À™” .î7„ñï! gF¾7µéЕâÿ—Õàí*0u7œoêÁœ®BËy3˜M†®Kå§+ `¸¬Ö{»óy ¿p¡ÞÅÝh° õvÔ/V[†º4]C·‹ø®sÆsúJQA9o®¤«âD€kH€Ë„¡’ÓßtŸ8T.™Ëk8Ñ`Áé Ÿ |—wÖ¦ð…£YOúÚšd3ÿ%,Óf³]¿Ö1q¢Bæ<Ëå}ÿ…ÝhëßÀ€ñı£û Û¯6¨\éˆ90ÝÍVüõ»ë}ß]Ö͘âH‘ho4¼k*—§çÔÚ7Óï^HfOÒį*Ž-øëc•˜çã<@·l_ߘx|gØh©TçÿlÕ©ØÃÛÄ©ïµá¿ßhüÝ–1wH™~ÇYE¬ ŽMJ‰½£¼£ω¾Öq£ãF7h]ù ·‰2µÁá99øpÂʲŒÙ¬³9ÙÇÂf­f¢÷ Ë Rü“Ü`ºvÓûÉuüVåB7lY²®3åøöG:(µåG4^QA²Vg?œ:ÿÃøò„Ã;ﳂò¡ºª#uʨ0ùÏ,þHçý2YòEÑç›ÎW\‰«w„}Þ?ó{‘ÞšC §óvÖ{G®^-ÌÏ;ÿMþ ßßE†Ì‘ä_h**0ÿ,12X¹»¢á³O5ÊॿŒ,ßYtåÐgçÝoM”Âw{ïãÕæÏŠ¾)ÚÓ ˜à±fiˆ ¼·ú­®=§›Šö¨•oÍ‘_Âoî¹€Bþ¼|X–íîÑM”»ò„í-~ Ü=[öÇ?þçùó5ÓÝþí¾—»ä—Ó\ùF‹€âó)>×~½i2v¬áõW'•ŸkçŒ\  ÁõÍ©®³¦ú†¯w™ƒæ=Ó-7ÔåWˆ.„Šüjƒ_Èv]Dùmùò쨯2ÖÉÍ—©î¬º(ïĽŒ³ßZ†eY›Õjè7”þo‹ÅÄ%863mïNLöös×ÀþG„‚åÁ!(àzqü_曡OǪÿiýêßÕÇöºp&Îà¨Þà„ð^‘\°k¡® Û v€Ã`"X3Áš 0,ÍaMü›â«-.¥_×b“™Äì"œâ¡Ÿã;8Ó›3a¢H$rp BŠ$ímƒ‡co„‘N¤Oiç„í<@Wm|?]¼íðfïáƒU«ùÉŸ¾ä¾g޹œ® ƒ· _mÓºÚ]ÉÉÉéÊ‚­!2,cÏ'‰ÈÁa¸«Ë!®I,”`ml_›§âo[»­6|£åMqžEdz“^çL{‡å‹,+ww3 k1±š Ð|æÁø*Æ»F=@3fðš1íJ[»‰fÀÑZåÇ#;«€ AA¸úÿ”vœ¶bW~KÒ õ êìG©CïŽÉ-Ž]¦ÀÊõÆ?¾Ôç½5>ï±üµ5›^ýç¼MY+†üðw¾Ž,NüCÔèK|2íC†BHVÖèBGŸ¨_úDÝýæB÷wb,ttäƒY]ð{ž@ˆßzNY­V÷ïÓeoôc¦±±ñÿùŸGàHHB’ –ðÎÓö.|§|ÇÃ` €¡­ÿçgÃÌP<‚ zû†j/^‰xsòÛ¯»8„XLN”‰eijg¿ò,·ZW_-΋#;ãó+t!öv]ñ/Väû.WµVkôúNF—‘í)ОښžSÒj åqiiÑžŒ.Õ© LHK‹ò´WPÕ[×'—6vž1k½%`h(ÌÌÜU§ ¥¾Ñ))±Þ®1huqvfn…H±olJJ´·„®Ú´$[l¬ªkmí'%ùÕî:R§ÑèÅ 3¶­÷“Œ±Jèªv¦g5ê©×ò”Œµ~Æ#ÉtaÝÏ’vl ¹ ¤rV%ëÓoñê,ÎLÏ­îd@ì™’¶öÎ*ŽVg¦çVhŒ¤281-%¢«6-É–ÆëOÕi:;õÒд¬Ax©ùèFò“H"]­2™h›åñUñ»… IDAT8ÁÑ^»Á Š\,ìH›žÀƒá\£ÀÆaàHéŽÌðµ¾›½Öb½Xk­Ük.ø½Å™7•pÉqÅqñ"dSAähï\0Ò;”€;æ$¸´IØÃ ½Ž×.Ë«N³"rH>Ñè>e`Ч~ú+¬ë‘£“ƒƒƒ}‡Ëçóø|>×>ÏÄ3YT_ºåù=# NÌJ‹r§´åÛ3íåV¬ MHKãúë9?<™[L2¿¸„À©Å:D†W Ïgéøñà { é2 H'N°ucÓÍW݇Žð9f3ÀW aq¿•O{…CЇLô?kë¯i»æÌš¤˜Èµ?$ÌÚØþëlÛiøî Û{XŽ~â[Ÿ_d.¨û¬V+ŸÇ¨Ó_gÌfxuæd¾¤žÕžpœDxF<¡n¬rj/.Õ €Xµ0)ccY¾i]N«’WuÆmÛ=Ü–¦½³:#Ç(eÚüW•GÄ)«Ê5£*.-š)ÜuJÓÙÉx%lÛ¥¸_y=I<¨%¿§hÓ [âÓëŒÐ¸â‘Y;Ö+;ï­Ù±@<ø÷cЗÿ1³¨[â½4ö-ISQ xÞ.8õzN¯6eÒ^}ýY£»®ØF§…¸~ýÚgß¾ýÿ©ÜˆÝÿáò×c†Šo{›¯Ü¸qsšç$+ «.ñÎ7s/¶û[57˜I ÇÞQùzŠþûóÿò÷K­ú„«…ÙwärdbPÄüÉÎã¨/¾ºþyŵÎî¶ë +úý攨–=›. ÚŠ|W\¨B±¾¹¹¥Ú{eB’Œ¦Ô˜´÷¯~º%?>>½(ðo±ÒòìÌRiZÁ—!2CíÖU2‹‚ÿ­Pç'g6Fì8¾ÓZò×­KÍõÚÀtV7mûl£ÂP»eÕ†œŠèÁ­ÙɹƄ¼ÃQî”®|s|r¦²`˃ZÔ»R³ƒ·ìô–Ðê#âSs¼ 6©H`:«µ!{·¯—h ?\‘ž)Þ‘·s#¥ÎÿY|nEìÎ㽫”`ÌI?‰{¿ŒPØ7hWXÁú¨Œ”â%9!;ÆîF×åäÔyeþ«7ºªíÙÅÕ:¿°Û’œ¶$=³ÎkÇá¿zKtå›V¥gWo#I`:+üòv®—¶ðÃ9%±A±ØÙåQqHì#¾ðù|À^Y–µ±,O(7±ÿ¦¾Ï¸nH“/æò‰‰«û»þ¨`i.0úàŸ’ëéÉU-‚w Û ‘í¬·ÖÕY.\´5Ÿ6_P³]6`]AâÅ‘N'$ž ô®° 8ö猆£àp*´ßàáZÌân­ØÐ ÍUæj'ýT¯ÏWûe ÊÆð¬&VàÀÈgPãœÅb±ƒƒ$)>Ÿïƒ£g˜ážÔÐ/Lk±6qÇ?6It§6®ÈÌ­[¸%¨3?5½Â+cïö Ý’¿n]òÕßî>âŸóóÀÃ?Ñ~ƒ/¢‰dò Î<.×bµ^¿ÑÓ1[åf¹ÌgŒÀ²î†J¿ó¿úç«ÕÚÙsó¯'7® `Mô±/Ïý¼l`hèdY¥ÂÅyö,Ϲ¯ÎvuâÙ ˆÆB–1ÚßÙ21 X+oîì³Z­0kú”¶öûÏðút§§Á@p¸ààLH=Ÿƒ¡«œÊ[v¥çh¢öu§´GÖ®ÊÌ Ü’–¼$]œµw“÷­»ŠÛ«3CÕæ1JÀ4V‰Ó¶ïTª6­HN-LÙ»ó¯2CùÆÙù 7ÊÇ,ï£bíêб?t¤hSÞIË«×iR ¶Q Þ9FÍî÷d^˜ø'»ægÅçíl¸zG.]1[ÿÐóy¹Éḹ)ÔmWoØFz{ †êêoòþçO_•Ÿ2 1ãÄÎÓ–ßÇ ÷»óž¾ùÚ2k²mâ8ÖMJ³Ó¬ÄÖóÍÜî¾Á%‘Sœe<‚ $Bþoâ_).¿þï[«ÆÁ¼=ÏM"ä±,Lž$š8áì׃íÝã׬þå¸q㤲 ϪÆ9Rh L ”€o\°1µ°%r½§ý, ò’¥ ”æ–·êbÃB2û‚D¯/²¢EOTw*£zRà»ãp$H(¦@¨‰*HNÖétë‘ ÌZèN€,06˜ÜPÜH‡}ï _[]¡‘GGyK€rVåäœÒÐ*Rìá%©RNJåa*Êþ3èõFÐŽ±Jl>|˜¦†7ÈWºK£àÎËIcÝ‘’*q°¯{Ðú-AwýZµãx(%‘€Ì7L ¹z9)ö ”HUJ±Q­§;»<*M§#`ÙÑ›1–'ŠI¾“ƒƒÓ¿Þì\Ôcì4›´,0fX –‚¬=»q€e9,À2,ЂzëÌ™JÀ‡¤Ù›ÍÖ+çl­ßÚÔ_Ù®eo=À÷Ò—àÌ`­.¬uœu²qE,Ëc`  ì€ó$ÝÌ9Â*»ÞàÜVÃ!HP„M(èqÝ-è–yð'R"ÇÿŸ½ókêºÿÿûÞ$÷&á†7üHƒ?BµA×е±¶ÐP[ÐUŠ•²–º–Úí¦nÃläó-Ò Y‡lC¶ÒÙ†lCÜ[µB®JmImIµÄÖĉJ’ ɽIîýþ@P­ÕºzŸÍ£ɽçǽ¹ïó>¯sÎ}±XŒa"¡@ˆŽ B‘èLª2²e ×,T@kÀÌŠ¬’…rÀãÓrÔµµ]¶œ8å Ý˜Š—>XЉ6†¯#²£»¾ÚˆéJÔ¼=ÞH%â93cÃÉPûY‡Ïçïî'èY`½¨Ãô„fáç©Ýéòûý?6U¼ú·øÙq»^{3°­ŸíôYÛé³ýçf©¢cóаÙ Å ðá°»OkÚPÃAÊÈðÎÝ¥¤‘áawGÙÓÃÀ‰‚å€_Ç‹f ë—>ˆÁø‡[ 0…fů«ÛëÂe8(uÉŠÊv;0ÝÆV¦ÀÔ©IJ)Ì™®“¦P”uD7_l‡'^Ú‡^‰‹ŸÜ³'Äó†ùm‘ м3{íÙüÏÅsà ˆB&7õ|DŒi?ŸÏ{ìØ±æÝÿ|cïßfËí¥kÈî#Ì“§×®ŒW >†ÎU‘ŸŸÂ=ŒlýÂC_ (ÖC{Nµµý›ˆ}"d†\̱ÜÉÓž?µÝ«‹öž°[NRñ*™PˆÚlÃo´[{ÌTP°òÓOŒ!Á!q*%Àu¤{êÛ¬vçšÅmcŠ§Ñ”·1ŒP¶'”tQ €Ã¸§²¶ÕLPV†I ) Å`ä¨3 ¨!ÃäØHS8Æ8 eÒg.ù“¡@CQ—jïiÊBAŽú:Œ$q¼FŒùO ðñ%MZ%põ´UV7›œ 0v'h§½;xÂÚª’]µ•kÊ­Œ*)7??'qü2NÚÖU[YÛee€¡¬ –|¾B¼A]µþcÏÛæx;EQ0Jpœ š3tætŸÿ©þ¡]¡ˆÙCÎKF8àà ðá88X1oCc‘0D A¸a†€âpg?fû?×ß¹á3às±œÏ¬$€Ì¡ Ä¢Û‚„ 2ÑŒã–о"±ÅQŽ8ÂÂüLäÙîÈG¼ÂvëYb[͉$ˆ B¡ÇÄÁdxxD„H(ü:Æ`ã,cÄlX«W-©émR ©ž8$q¶êüº²¤QÃg¬õëׯ¢·½øÞÑD“’_‘¿_evã0wμøYa¡Á³T1‰ n•IヿåÎY@y¢é¹{2ÿ¯q úýþý}b;}VsËìs.ªÏ1pÎEjþ”wÀ¬”!ëLJ}3ß9òÑ—}Cà &æÏ‹ÿðÐáÀ[B¡àɤ8é‰WF†x Åu_ù‰éŠê ´£¦Â˜*W:§¶SÒÞQ]Ùh´3À8­Œâ²žù)¬l‚çÄF=>ÎaMfï£LãC¯ÀÅ_³ó|KäÏ(Ц=üÐ;ï¼­M¼= ÿ8Žóx<‡}üçÚím­ÍwÎõ?ÿH&òÏŸ%¼/Qtü,ÅÀ" ¨î`©™§âbÂe‘³ø{Ÿ²çÝ‘¡8°µ ÌQ…>toŽ£¯wXNØ©(¹8›YË›Ð×hŒ’K-A8‡sœ$44ˆ$ƒá8“åtìúÿ´E À!À"àC8‚xÔƒp"DˆDˆpBÀ †¾ ¹ ¡œa–ö£ŒWŒzEˆGi8ЇÂIÛÝO;œ¬“å((Žu³€c # ATˆH""ƒE!2¡<ÄGШ$‰E(&"@„äˈeht*#B!‚ à¾VqÑpBI`꼺©ÃÞˆíFrù˜J£®æíÙó¡_xn@"ÃÉ•+¾Çq\h° ÃDÀÎe]½ˆñÏ3Äy‘柤dU¾#8ëè÷ù|_XOJ%b24$n†248€ &¤ÒsƒÔ©3ÞÃö9‡ÌÞ/Ϻ¨3,Ë@Xhðwn7yÜÙ?Àr,¾kþ=LG"’ÂÌTD~Ëu¾dŒ$åcïžÒ#c&SØ©e›¾Ô˜RUµ%A6÷2K˜ÌÊl—!/²÷óƒDÓøÐ+pñSyvžËrŽü-àáùÚY¾ü1£ÑxÜjõzŽã††¨·ß~ëOU[zͱrŸŸÅp˜¥àîýŽdoj‰‘û1‡ „ÄF 3"‘ÛÔ‚¤ù(íx£ó ÆÇ PHúnÔãKæ„ %Btùâ™)‹bÈœfüFÓYþè£Ëï¾ûMBÂ-sç…„†]‡‹uê»Èô¤q/)“ÒÆzƒœ†f“ hs«Á©JV˧“!*põì©71 Å(ué*{cc €¶4êW®¯·Ó“6øê -c¨7ØhKûæ[»§Ý 4ys ´¥­ÑL$¥ªðËK5¡J”ÓÉ`ºÓ–Žz#ÅPaMŒalÔ¤Kãºg7µ;ä*µâBçÄØ( âUrpt76[q04oB_œß‰°,°,Âq(&Ê‚‚¢Ê[n›©Y'‹ýç|óqîîNä`9ÎÀÇÇrÀÇq˜äÎuÑÉbÀǾ8„à!8‚È C‘H!|>$ʯSmšRy+Y{»|碨×S”»R”µD–Þñ“ÛÃקΖÞ-ž)ÇÂ¥B`DÀùÎwZ’ð©z#–, FRvÜTç×R—®²Ö7ö¸\Ýõ75[þËÚžo/‚DÈÃ"ÃI  "4ñ9ˆY P·síÕ_}/ü–9ªÀ€ìаûø)ûÇ=Ÿ¿óþÁw÷´·½sciåÖýï/J¶Ö¾öÞ‡GÎÁá€ö›µ0qþ'¦Þ“ö3í?[µ*îs¡ãÓ@Áœ,ùN 7FwzR;¥)'…‘ñ më¬oµ3â¸`Ô…MP`#îì*¬ì"{sxÓùÐË)Š¢¾²gç~ö‡çkwB0ïÖ„¹sç *U\HhÈ¿ÛZÿµ³FÆ~òü#B#üÒÎ yXL„8EÁR¿÷ÃùW'¼¿ƒ @9u,¢;çÙý(Ùâ»c…näxƒvÔ›éùB@(“ÒUÕõ6 ˜BG4ëŸ*µÚ„vmÉŠ8Àɼ­Åk2;HR¡ÍY›ŸTX\¸¾¾jÛŠ²|Kaaæ½NS%å•åÅã`Ÿ¤8Ù‚²ÜÒÒ5KÊ™@ÀÀÍôk°âV”ØŠ 3—Ò¬-[›€}©.¨’[›«Öf>J*HMÖÚüef}éš-ŠšœtSºf©)¯fûEá_âÒrS”¯|°0 uZAÑ„)„¸¬¼4CùÊ%õ$©JÊ[»V«/ׯWäð¶ôõè?îr-E\$I¥dXØÐÌ¡Áû‡NœþñÅHOø$‹ø‹?GµpÇÊ>¦¼¾³‹c=1¸ô„ƒÜÿ¹ø,ç—‰7¶W ÇqÀ"ÀjÆþYR:"=ÁѨ•øŠ€á‹áÃxÄE‰ãÜaó…áj%&“ÉpC»^[ârJ lÅÅÙK( ÔËò‹Æ?ê¶ÿ†v€çfB€Á½›ý¿å޶Ϭ?²÷O/-Ðu̘óþ1ú¸Ó;¶ì“ã8¯×w'¤Ò`YPT„œe¹÷º>v €@ X0+bMâ€ðèÞÀ²OF wç#’°æ²'³SœÎÉÓéK³—T’ uF^þ“f}åúMªšüTQ¨Ï||YE݆±É6™zœ;›ÌÊ.cyåÅö#ƒE2Ýô>ôÒ¦«R“»Š3m/«Û<™gç¹<—GÓü@3Ï7Õ1ãX–õûý~¿Ÿaš¦?¾hѵڭîĉ¡¡¡(úU†è¤Ré•^ZWWׯK7?ýôúûûÛ^û{´ôÈâ; &X<^hþeÝ3Ÿ½UåƒKíàdßêf?;)[û´îžï*Ç”"Çq,Ëu}zö-Ç#T÷<ùTî¬Y³®^û -÷ÜѾ:»6µnG²ò[ ˲±±±7 åJ®üýÉ@å8Öï÷ú|Çãv yOy…&ÀM>áqëóˆœÃBŠ0 Ã7„À‡ÑƒwÉ‹¢Ä/;l‘6Ǿ¹Î"Ü0‚zGCå0ÅGGCápÁPC‹ú螟¾0—™ŠpËb}R…H$–ˆ¥‰D"‘H¥X èK`Ÿ@p3Ì ø„ðío¹ßÇÞb¾ Öw8÷Àˆ‹Cų¾Ä|'~a9yÒ~¦ÿœ‹¦Žã0L"#ÈÐ`džv{Î:û]Ôp Ô§ÇÒ¾—öYDÿûˆŸD‚Ü­GæfÜ(S¼½ó–{Ùð³<<×`XAn»í6­ö;ÿûßúOÑÎ<÷@"€á‚pÎö³]=îäAÓea2ä>-J¹Ï½\}àGO}çEq¸HÀqœŸeßï¶ÿýõ/å3>š¹bæÌ8þæóðœçÊ»ž)%…B K$lp°Ÿe½^/3“aî`<íñ ÐÚC³´ÐæÆŽ á§qû9‘óvz0ö"þ᡹rë3鮹3Bz¿ 7ü'¸§wõ£,-Šp0:„¡(+ÂX1î'$Lp(¥˜éŒK¤gÌWDDI¥Rú°EÃ…#¨ Š c›?ð¿3Ï$C9Ÿ5q]•Ëp·dÀ‰à8 ˆg „íÕj'~g±ÏïóûY–eûœ2}a9q¦¯ÿø©ÓCnwàû±¨0±Ê¨,"µ»EŽSÀùP!$ÿ/¢NãµÏ#¼üãá¹&à8ž ¹õÿØ'ïÿî-x´œë¬€Ÿj\”'6"hÚɺÀq2YºHÄýgpsU×q»;cñYÖöÎ;[¿Œ››¼Ÿ/ðo¯ßÏpÜØŽ/R(D¾³À—±äŒÇãv»Ý´‡uQèà€pð‹c~±„BV,A¤„á8.ÆÅb±8J,Æq\, ‚ÀäÉØ.¼óð\ìáfd9çîçCuÈŒE¹ú>ciE ñKÁPˆìgúŒŸ6ö|~AS #¤Q2ÑÝñÁ)¤5äl3Œîˆ„ÎD®Gæ<Äßgž›Bþ½ûî»ü-ã¹"î½÷Þ›ðª9Ž;~üXÃÎFŠ9݇9)Š™˜ >ïó#C4FI‚¥~–›¾?‡ ˆáä!°â~‘‚ôÿéo]ûb“¹?í‘'ÏΙ5k¶@ ¼Ñº†òÔmûRy#àù満Ï¥íÔï÷s˲‚Š ›ª_ÂŽF6"… rØb„qªeüBwŸÏç÷û¼^ŸÏçóz½€‰D¸ÇqñÈì^`owEX8n|e¸Ñ7ÿ»àÛžo€ðyÜÌä‹79zãX°¾âD>ˆh$j`S®»ÁDPt¸LÌΕ¹æôPûYàX@¨îEn‰º¿Ç¼½ß,ò‡‡gZá4Mÿê—%"Ï'™÷{œ|pØ,ÁïK”8@€fš¹¢ç¿8àiÔ‚"!”ï¢ÊpÑ_ÛNÙí5„FE)HR. ùiž‹N¦T†,KÓ´Ëåòz½(ŠJ¥RY°L"–„BäÒƒ1w¼¬–F^äeYŽeýÃÃîA× íøqŽã‚‚‚bb¢1ÇqœŸßãáùZ@ÃçrwëaöƒÜ p|ËyÎq'»¡ú²1äs!D…H#ÂPÊm±ÚQ˜È+ …zO *ñà,ýž€ð$D…|÷yPÝHIþóðò‡‡g¯¾úÊgÆ7_XæUÇ¢1óqúû†› (Ͱ>?,ǹ=¬›l}-BIú”bE¨'"Ø+1,Ç!SÄ‚A„ÃE0–àçOJQ„{«Ûÿ¯T‡„Êyd™X,æ;Ž<<º€øäqà8ŽóÑô¹áážÃ‡wíÚµ‰‹‹ËÎÎŽŠÂƒD¢‹ãUŒŸÓ›4Éò¦:ðù|—«û“O233`Á‚uuu’à1†¦/‘ÿ46þ5mâáù€à2ˆ»½‹;Ò ÿ†ÎpÌçóeÊÎýtĸB’§ÌADR†Ã-ßC<‰ˆÃøËsÓÉ¿›s!ÏeÂqœßïûäñw¿ýýÿ<á¿ezÔ†7´>.v3§µÿܹÁ1# U3b@vç{Ÿ·¿{j ß)ŘøYòÛ㑳‘^±ÐË\´9'”‹ Ú Ÿ˜iËñ/¶¿²•"Ò—,á&.ãá¹Éa§ˆ„ɱ¬{pÐyæÌK/¾¸ÿþÀ—‘i©©¸@€£¨@( ÄÿÓ]Çqõ_AF6àXv,J‡ H`i 4K %;J 7¿ßïv zÝî€pÜй÷`†"(* (‚¢#ú3P‡qi‡¦R‰<<<Ê7†h²`Nwâ}Äö!×wÎY¹á¾±9½)’¡ˆ8‚g©F£ï€˜EÎGyá¹IåÏ%´Çq.jhýúŸf?Ú9°ï#Á?ö Þ•¼ìÕ—VÅÆªª¶m«¬¬“qª1¨ÚÎqܹsçúΞ9òyïÛoµïëú æµ£A¸÷mð}Z|Ž’‘I<,‹NÜŽûÌŠ§Ü)Z³Üÿn·ù×kÂïZ”Äÿ<<ãôß$=<ÀïóQ.Wß™ÓG>û Xž™ÙÜÜÜ××wø3“T* Á¼ ãv»iš8Žóùü,ËÇ …aÆr¬Çí¢Æë÷ûA„†aÒ  ‰X,€ñz=n÷Ðð°Ïëõûýýæ:7è÷zGÂrÜ€³ÿ´D:<4$ 1 #ÇqT ðûý‡¢(Ÿ×ëóû ‰$((H„aô+¬Båá¹)ÁeÈœ‡`æýÈÐiÎeG\'¹þ£à:Cg€qæ8`€Ë©œ#b lÈbBDˆ‚øøº<¼üãáᙜsç^ÙV1ìøøá;BöMï Öé7gdd†…É /ï‡ÀùÿøÇ?œsÍx¿´œEËÒ¥KÝîá“'Ouuíãßm/ÿýCê]8?ø¾ùžÙJ&Tè‹$̤…`Y¸%NR×ú͆DDDΞÏ¿>ÄË'©a8nÐã9~úLßà P$úÕo~ÓyàÀ©S§6o)onn¦YE!¯÷Í·ÞúòË/E"ÑÃ?<88XVVÖ××w÷Ýw?ÿüóÃÃ~¿ßëó}~ÌÒØØØÝÝÍqœF£yá…G.—áóùÎ:>Ÿïøñãýë_>Œaؽ÷ÞûÄO0^ð"H̬YÍÍÍ{÷îÿùÏN1LDD.  9N–eÿøÇ?¾ýöÛ!!!O<ñÄ’%K\4%ÁÄ.Råòð\Á3àw^ÂGò—<<<ÓÃqMÓŸ~rè/µ¯¼ôløà0û—6J_²4888pNlìŒÕ«WK$’Ê?üß™3§9\®Á·µfÿ‰ñYI¥AjµZ­V?öØ ›Í¶ÿû{_}Ë®O”aî´…Ø<•7XÌ`B@p~>8ÿî¢ Bd=òæöW¥/¬ÕGGÇ´ïñ\\Ý[×ëwYÉ´Šº<ªÍ¨ÊHåw¾ýF s²Ù?Öïw ‰„¿ÔÖÇiæÍ;ÚÛ{K|¼íԩß}vèã×àà®;›È¤a§ IDAT÷ì …ÿøûß?ùä–eàÀþýµÛ·oݺõÎ;îaØÁƒŸx≱5¢]쨫û~vöÏþs:,lhhÈd2ýdýú'OŽsÆn¿ÿÞû8¿?`¢–cÇRx ¿¿>èêjnjjlläXV*‘xhúwååùë_½^o ‚èýû_þõ¯ÿüçZ!ŠFFEav5–NÛÚ«ËkÛŒVŠÀHµ.'¿ +Av]~º{ãÒõ†ó‹s URN~ANâå”n©jUg^Ó¶ä+¨ª­³ÙªÉX(¿Ú|xxn(lO­lÏmÚ–zñUïÌN[Ú«+k;ŒV'@(´I9yk3®AËA÷¶–WÖLvŠÀš”œüüŒxœÿÕyùÇÃsCh?–e-ǾüSõï–-ân‰õýOµgÙòçHI ß9‹‰U=÷Üåᨬ8|Ä<8èÚV½-!Aãõù ‚ˆ‰‰‘H¤cÊ ÇÅ3gΚ9sVFFæ_Ý·¯½ýíŽ×>89†'qŽ'6Üäg¼-G^xTF°_Úüo}ÒQójpÞšuQ‘‘üïò @Û; VMIÓÖd™«}]ukNZª’÷T߬q^l­>Ÿ¢¨ãVë»ï¾‹Üyç'Nœxàþûß}çฎö}³fÎÄ1Œ¡iEŸÏ÷ÅÑ£¿yùåȈƒÁð§W_=70°éÅvîÄqüŽÛoßþê«€ Çá8^ZZúiOÏîÝ»ô CCC‰äÇ/¼`?}ò~øÃî¿_„aR©4(H*MƒÇí~67÷¶ÛnëèèøÛßþ6<<ü³ŸýtgÃÎ~‡c×?ÿYSSƒ ȯ~ùK…B!‹ñ?ÿsòäÉß•ÿ¶ü·¿õ¸Ý"¡A¿òûH–]úRƒ¶¤fïB%àèަׯ/U4m¾njKªØ»9ÚÑ]«×ë‹U [’åÓ¦‹[QÕ°LvEµ´jë{óÓÊñ«Ë‡‡ç¦÷s½õkVÕ²‚²†¤x9¸,]õå¥kVõVÔlHüZ‰î©Ô—›ÓÊê¶&Êh[gåúB}¹ºacïVyùÇÃs#àt:Þ~ë“æÎ5ÏÇÏ NÊ2–g“ä$ݘȨ¨ìììðpòw¿«8xð ÁðŸU«ž¤fÏž½víº¤ä{ b¤ýÓ‰$!aþ­óný~öão¿óö›oîûÇ{½³ÃûTÃs¢‘˜p¿eu J¹Ï½×»¯qgÄÓ?È•MTž×GçÖâÊ63ƒƒi–å¬^(§{6gëii`4ÚvŠHÉ/Û, -­åÅÕ;@¨Óò‹Ö-”ƒ«}uf½6Ocn7ÙívJµ¬¤dõ„qDW÷¶âÒ=& 0ER^Q~z>y¡›2õPÒ´) {6gë™’¦Mjã†Ìrr™Ú¸Ë¤)kؤ67––ÖvÙ) ´Ëò‹Ö%Ël[K+ÛÌ¡JÉ+Z{h£{‹‹ëNHmnQQV<®îúâòz“ÀÔ)k 6$C³^¿ËÎ@ñÊÝ-ŒÁH)û™{ô,Ùܰ1GûêÌbjmÃŽ,%@ï¶Ç×[ó6k¬êŒÜ’ Érp´¯Î®×® ÛvÙSªjÖ)L£—)t¹üàçå3qö〖ñxÎíþ׿X¿˜5s¦P HÐhÄ8NÓô{†÷~ô îáa¿Ï‡ÀȦœù?û™ö¶Û$bñìÙ³ß|ã ‹ÕzâĉÁ‰Dâ ;øÁÇ,–~§³ßá@ÜÃçívY°¬eïÞÓ§O#«ž}öÙgž!d„L,úŽÊ¿ø9s~è!ÖïÿÑš5ûö>sæ¨ùhßÙ³‚¼ÑÖ†ÈÃÂÄ8~êäI‘P¯VŸ:yòÃ?”ŠÅ´Ç$•~õ÷ÿh{·Ó¤jGžvyâꊺ †”¸zKKkNŒÔfä$ÈÀRÿÔšéiL}›y×™†¾µ [Så®öu™•ꪆu ó¥RA^ͶŒ)¦pybnžnWa«•Ö™ Çl"u±¥[v­µ;ß8Œ·[û–âÊ6³0•.¯¨(Å^¼¦ÒìýJ{nÅÖóScù0[ Ë;¬ ª”µ%.Р#ù”RT”Ó½[²õΜ,¬³Ýl·;1]~Ù&~²Ÿç: °ÆâÂê.ŠT¨´éê±)ôI}`ÃÒrr…ÖÞev:í”jYQÉêñÍÕÛ\^ZÛe8W¢cuvµ¦ªa]ÀÏX¶=¾Ê˜Û°-}Ì"†ÊZ{RQÆ‘a"Y\òê2’Ê^S¾'kGÔ?¾ª3eiì²:NL»¶¤ =Ÿ¢n3ËÉÜ$g»Ñj·;É”¢² ¦ç)»ÙIjS5ïpeòÚª†ŒÄ§ìu\›À·>ŠÏUÁqœ—a>ûÌÔ¶§îñ &d˜¼÷=ðpllìÅ{ñþ [²ä{¥¥›yä{$IýâøÙ¾þ]¾öúë}}}k¶À»|¨@¥Pfg?ñûßÿþÇë7¹øßŸª ’ýŸ ƒ–áÌFîˆ;~°³¡¹¹y``ÀívÛŒúšak.,îPä×µìÞÝR—‡í).ít”Ñ—¿mûŽuùŠŽâÒ®‘Á<]ICKKKCÊPXØê s‡-½hÛö )Ö]•]ŽñXö”ï¢rëZZZZš*2˜Nƒ•žªÐIÁ0°wYS+öíÞ”È(Õ×B^ݾ}ï6ä“mÅÅí°ÔTùu---M%ɦRý.ËDuÛQ^mͨhiiiiªÉ%´š\àê,-¬‡Üš––Ý- ù Cqq³M™QV¶BéJê7ÿró Ó•4üyãòÆd´€ËÜîT©™N“ l¦.J®Ázk‹+­éU{÷íÛW— m¥•Ý4†c6PYuûv¬‹§Z õ{°¼š–––¦ª,gµ¾²‡æíî²]:þƒ à¦iš¡ß{ÿýÀ.êÿïÅŸ]µêñìlMs=&SŸÃ944ä÷û9@çDFE¡Œ‰–H¥ß½ãÀëóõ9Ôðp×Áƒ9O=URZúÚë¯qì"’°€ ÿyÿý€í¥-YÂ!H”B‚‹qEg 1L,‘DÇÆ ‹YŸßïa!†íëãúœNýÏ^´iÓÆÿýß·ßy‡v»Y$°Iýøk¼"pMFt®ßÜØÞÝë @¦TÊqp(×WSYUM---5yX£¾´Ó€a@ÛåkZ^ùÁ)¤©Ù°SGW³‰Lˈg¦I5¥ö ÀvÁâ—¶tǤÖa©×—š’Ëöî{woEº½²°Ú®+*J"È´²º­“-w£{ªË;È‚†––––†¢dg»ab àê,/í óöíÛ×T¢5U–î±`àìê$ó¶nß±³.Ÿ4TÖ÷ò–És=°ì*®4§TìmÙ¹£$Ùb°ôß”ŽÌn°&mß¾cwM.³«x¼¡{*õ•öôЦ–Ý-Me:S¹¾Ö"OÊÑRÍæÀYC¥ÉJ'Êhs« ´º ó|¸:#‰´¶›€1&ƒ,·bûŽu%Zcyi‡cªºaÀØ =‰ùÛuÛSÙf›prM†Ö¹K¯ßÒØÞmqи\©”áS÷:®I€—<<<“Ë»}¿áMzLw+êg¹Cæá»ïN‹%“žPw‰ô®»îÞ¼ù×?×ë6Jrò}!›Jªt!ÙC§½ôÒK?|aCØÌeïßÕ)zïSÄá ÈüYèíª¯ÿ³êüã+¯¼²gOó±/¿‹-p™ZÍdJ–V OÊÒ‚©uÄs¨3R”rmºÌV—µÕàTçä$È@–˜“¡0ô 12)]-\‘ §_A’`mmlï±¹ð¸ŒM›sâñK:¹Pg$)€67A—£“€<¹ ¡©$Inëj5+²rÊOËQÛ[»&8!Œ$1{{sk·Å…+S7nY—(£Í­] ËIRÈ´Y)„¹Õ4©ûÁÕéjg§É´µÝ¬ÈÊRÛÛÍ4¸ÌívUºF†Ç¯«Û[•‡€R—¬`¬£—NjÓµ2p›MDZn’peJŽ–1´Zù^æe‚ã? ø9 †‡öÙ‘#,@L6#.N5s¦jæÌðÈHÀë÷—¾ü2ã÷Ó>‡ , Àø|”Û}ÎEyýþÞ/¾`@rúìÙ¯[G ωo~íµ¢ââu?ùI  (‡ <ýÆC‡|,ÛîÜ E ¹=^?ËŽfÎ!ˆÃD¸X ÂX HGD ð±,&‘°òˆˆê?ýéUUUÕÕUÕÕÛ^y¥ªºZJ¸D‚…€¢ç/ðÊ%oj¨Z«…õÅk2ßûè³›êØfb]nZr]Nfl5:UjR‚ ÏÓc³I‘‘7}ªKá讯6bºt5>Þ`áÒ–>¹uغZíªŒ´xÏ©jªÉ›f¾'âÆÔÜÖÙë e 9›7eÄ]pŸJšŠ’å Ó$k0g¯3PL“¨&¡R”ÝÉ[ÏuÀaê´*RÒ†–•Ø‚~jG†i³tr¥.]á ŒF”œµµ‹ÒäLÏÈPØ ]6™6KÇt4šh°Z)mΩGQCä$6”3à¾T)ñ8È4©ZÌÜn¦§¬Fh3u#Õ*‚²8'ú6eúÖ†Š\5ÕY[¼2sñƒ¯ÞÜØí˜¶Yøš;ßRøÅŸ<‘ðÄ‘Ï^9Í¢=ûÉ7Ûnûþ“¹wÜ©ÃqüZ,¥œƒ) |L«a”™b€ H~#€¡ œc*Í^Røš¡@5"w096’vQ òô’*¨­m,^Yl'4Ëò Ö¦cS:9IJt:)L3Z.“á@ÛmX«W-©­Cª4œ_þ![XTUP[Û\ºªÔŽ©Sò ò3N'ƒiˆ1ϧ$˜.Šš¼‹­IWÙ;Í.M·‰HÎÑ­õV´[©Z9m騮l4Ú`œVF16`9ru”“bœ»Öd¶*Í0¦ã{™— ëvOø“õ{††½UóÿÇy<8À¶Š ¹\êr¹†††žyæ·ÛýþÛoŸ9~\"‘ýþÀSP¾yscc#êõÚÛ?3qULŒÐïwõõNˆ ±[,¿®­Å„aüÃÃëW¯~m×.ŸÏ÷òK/qÏÊ•+‡}>ŽãúOŸöÒŠXa i iŒãƾd\.í­·Ú,–sgÏ~úá‡?øÁ(Ê%K‚‚‚p§e4Í!ÈU íÈÒW'¤¯‡å@[e±~½£¦.×éd(“>sÉØCšÀãa#–qéŠ]ÍFGª¶«Ñ¬Ê(ˆÆ<}ª ` ëß;:È¢IɯÈ_(zœÁNÕ¼Œk|.²†²P F޳r¸ôˆI\NEQ[_«¯,¤Úek Ö%O˜$t÷TÖ¶š)ÊÊ0i£m†ƒñÖÆs`( 0åȇcJ3ÐÔäŽl¼5A@9zœas“”¢eÚœ$Lßht%* ­”._3aè† HŒ²;€ñƒ*4e¡€ „/cì 5uÝÎ[ÐÈ3Ö%fíè5Ô——®×CÃö¤ëÙàåÏÅœ>}úÀýŸšŽÎ”ËzŽqŒŽÙ½€L¿)s`6oÚ¶ïÒ:$É|P«½íÃß}§cß¡÷™OÜ• ºs¢›çóù}§ÎžîøhoÙË'^.û½:þ¡Pôµß‚$0ÊFÑ#΀r2„"àO(程`('ƒ© ¦+hزp‚;qY§í£Æ§¯Ûœ¾.ðîwqámÕ…bÔyÉ\Ô'ÃHcœ£§Ð‹„’ÀÔyuÛÓ§Ž8Ç¥®Þ”ºz4>E­¦.yB>”…ÂH’Wøx÷¥M%k;]fÐæ+”˜»Œ`&t¹JK­¾Ô˜RUµ%A`©|eûd·WñdÍÎÕq¼±}%;ÿãõº=žº;X2,LO’dx¸œ¢†l6[xD„Åju{<ö3g” Ëì m?}úþ”1޳8†½XT$ ¾M«%dÁƒ®Áƒ~¸A¯gfppŽs{<Ñ11B¡ðÙçžÛ¶m¼ü›ßü¾¢AØØØŠŠŠ‘IBA"‘@$ø|ìè^Ô¸X,•J^,*²?ÞÓÓSµm[í_þ"Æq?˺Ýî_üâçOÿàiT€ÂØæò#Wx%JÐÑÓimêȼœ‚ ‰ÎwkßzïƒÝŸzhFFýôù'Çï’â8·»í-ëÉÓKœ?ï¡û:b>Önè:ãè¿DM’u‰©ÉºÀ¿½>ßG‡>k}ë?—z¼Bƒ—¤&Í™9ƒf‚Š $øJq›0ÆÆŒy'329‰#£Àؤ\à_ÄyÙI0Vг. ˆ8\•B¬o6ö&´3ª?ÀÕ©(mìr,'löq¢”=ëè¿ôùŸ6*Æ0Þs.×–“G-'æ+>FrNaïhî¡Àa¨ï \ñÔŽŒ16@[ ­VR« ÁUéI„©>à‘]=vUºV … ¤±º¼™Òe©/ž‘'åç©Åë·´ö8hÚeéܦ×ï!Vä§Ì™[››{ip›Œ:Y…Oçd§€ê¬.Ô—6÷8FÔZÏžÚ.F¬Â¯gàÛ ?ûÇÃsUDFFe>–•¶déø/ÃÂH¡ð:W`P(Θ¡ŠŠRÜ©ÓuxÐÐÙqÄq~Ô]·È/‘]«Ílåé%%½ÅåÙK(ŒÔ攌.àÒh-•k7ÛŒ"­ h¡ amY~yñúÌÚ@Íœ‚\9À4]D™&7KQ¬_ZË`` m^QšdÊI YÚÚ´öò57“¤B›š¤èºÈ¿Ê’ J¬Å¥+—–2@jÒŠŠÒå9%¶ââì%êeùEæðø¬Mqiöƒ`¤fYA^<.‹/(±––¯ZRHSR”.¿Â W¥&)vg>Ú^V·Y›ª¡vµ©~T•¬°šSòÔ8¨sòtúÒì%•¤B‘—ÿ¤Y_¹~“ª"uÂí-*±”–¯\B¦JY[¤â^öèŒ×;áo–‹Dñ³g—¿ü²ßïÇq<((HŠa(ËâAXpð£ßûÞé©weXMߡծyþy†q'•H™ Ã0ŸT*‰þ÷ à8†aPú«âbŠJ¥R‰T*‰‚Äâ ÄÄùóæ!(±Š¢Šbºåå_ûý~1.–J¥" £iºð¿`¼^L$’I¥ ™T²ôá‡JME8.0ê$•K¥(Çq>ßW¿;Ê¬Š (¯.]Yig °ï_ZYÕê8XXP–[ZºfI93QS#»xn[™”¥*/5ëJ/ï€ì²R}Í‹åÒÖ·¢,ßRX˜y¯“ÁTIyeyñ8îJÕ…úÌÇ—UÔm¸0l¼<)7£³týÒJÃS%åŒuò”¼­Åk2;HR¡ÍY›ŸTX\¸¾¾"Ÿ·¯ë†‡¦?0öÔ6ìésô€ŒŠŸ¥RÏR ȉSgz>7;ûÏ RÇ Ð¯mVC$jæÎ–‡†\|hN\ì¤I‚eÄü¹sÄø…³N¡!Ádh„ÈdÁ«Œâ8Nô•; q9Ey¦Âõ‹÷ µ.#EÕe |;‰#£0R§ê.~ªÚjw‚æÉ¢¼xFG]ñ„µekKK™P¥”­q~q)ŠêJêÉ‚IÞ›Åã²*jÈêÊZ}f)„J›²¶¦$=~dS'Aíš§Lv;C&å—¤ÈäSÔí’àñëªÊ°òêÂìr'˜B“”[V”¡€ôëÖø¶‚Ð4?Ìó õÌ8ŽeY¿ßï÷û†¡iúøñã‹-ºFÅ8q"44ýJ¾A*•^â*à†Ùc=Pš¦/0m™ŒÉ‚—bxxøª‡j{¶dëEM—^ÙÅó-€eÙØØØÐrÅ=ðì(Ç¡(* ÈèRí@s8äv»Ïœ9óâ‹/înnFþð‡?Ü©»S¥Rá.„B!Š¢€ Àq,ë÷ùüáQE„8P (ʱ,˱~ŸŸeý,Ë!(*@ÑÀå¢ò¢(:’ãü,˱ìÄsX¿Ÿ üÇqŠ"(*š_ØKöûoŠgŽß®ýÛn¹ð¥õdéÖíö³} ŠQþ ë{wjÆÜîIÛ™ÖC\¬2iáíñyó·¦–=ÿ~gØí ‘Õü¶X(<ßœ>ëømõŽÏz¿J%‹“®z2sìPW÷§u»^·œ°AÒŸþð©;nÓ\Ú¿Ó óæ;û_ÙñOPÏœñ‹çFEÜ8ëé––ªÆ¶q¸|\²«Ö\ñÎð¼mþ—X.?ûÇÃsu#(7†ð«L`ïéÈ‹¶}¿¶{?ððܘæ)ºðeWÀTC èè!Žã8¡0ˆ¦ñ  ©L† ˆ˜ BåáAÁ!†]`ò(€ `]SµÑè9“žÆ~)œ"9ŒK~‰‚àæ4e£€Àøh+7ný±' ýb•QY,Ö%ÎBŒ2ò¹œå—Èã¸3}Nà¼ísx§›9ç8nØít¡ÇYp»x~o¤_Îq4ãõÐ&¡Hø5NK^\ª+Mš¼~#Ëo-¼üãá¹)äè %Syx®›=\Á¹ãŒÃ0™Lö«_ýê €ÐP"(H$!„Z™V]Þ9W™ü¦‚îÞ”½¾K+Óð n†9lþPŽJ\0÷Js †Ü¿{¥n¼d¼>û™¾K§òÐLSë[†.ø>yaâƒ÷Þ5i’3}Κ¿7Ið &rߢïÎUÏü/¹ß–ÆÕ«*­ªEe©rþéãåÏåƒ'lØÝÂßžo˜¯:é-@Q"(ÇqÒç‘H$ÛÊ…ŸHÿf›–ÄM»ßÝÄ߇›–ㆆ=«”ˆqÉ•†8ðùýGŽ^q<¿ßÿ…åÄÅßÏVÅL­3‡»?9|Á—1ÊÈ·ª¿)sY¸eßî+K—µm_ÖW.0.gǾþ¡ååÏ7¤þ®"2ŠAB!'Ç?¿ŸW~<<×@@†TÜÀ9—³0*‚¼¢0 K^˜ˆ¢çgÿÜúÓÃæs—Š;& n™=3,ä—ØâfDO•D*ψVŒß|ÂÃBdDÿ;òðò‡‡‡‡‡çšƒ\õû6ü’Kžo\$š?/þýƒ‡X–µž´uøè‘Å÷âß¾ësô „‚1i¤™ þ£g²/ýriù'ÆñÇ–¦Núe<ʨˆŸ<ŸsAèåwYãáåÏu›ÌÇ1ü†t<ß:ù‡cÚ„[ܪþ¸çŸµŒ¶ IDATsçÀàko¾C =tßÝÑŠ¤†öxèíÿÄD¢ï?úpüì¸o0È   ÆëL^þñððððð\?X‡¿ <<ÿí(##r³3*·ÿýØq[ÿÀà¿Z:^³34D†¢è khØíE…BAÎò%³¦~7ïŠv{jÿѼsÏ¿á¢5߉ n}ry:ÿ»ððò‡‡‡‡‡çƒÓÂÃóߊ"q3¢ò\Îï¾ÈÔ{Ò~–ñzÏô9G:²BA¤œÔ&Ì}ð¾»fD+¾®BY–=a;=¹UDð? /ÿxxxnb®r›×ë¸K¬«§Õ€¥¤O½ÿíØ ŽöÕÙµ©uW¼åí4åwo]¯ße%Ó*ê6&àêê\Y™\³3'ލ¾®^£Drs]ðððÕçáèÜ´¦¸Ã©z²ª(®z}i£Í¯Ùš1½%Ø:›­šŒ…cÅÓ–ö§.=ñ ­›îÞ˜YLV4lˆ¿ºÝ®!O+ŸZÙžÛ´-•ßúúkC€¢q3¢Ÿzì{}÷÷Ÿ:ÓwÒv:ðæ^°,(Z©Œ ŠK%‚‚ÞõÝïÄ(£ü>?†‰Æoú2"èñet …BedøøCQä}wßÑ?0x‰Ê¨gÎ8ß µ sò|N 2Á2âºÜÚÒ^]YÛÖe¥€PhSr׿¥ÇËÀÕ¾zi¥ºfœéÐ6,-&*š6%@ïÖìU»œ3Â’*önNt6>•]ip€H©hÚ”ømÜ^…îÞœ©·ç7l¿³…£}]v¹¢¬i­sýÒb“jmÃøVÃÖülv¹YS²÷Û³=/ÿxxx®Ž¸U Ëdÿm"m®¯nNÖM-ÿΟ O*kÐa_ó¦G´½Ó`Õ”4mà@¦­ÏWçj"Þ¬ÐÖö.*©bï¦D¦s[QӰM›¡¶¾7?m¡ŸYsu½\}Åò‡gR$b|FŒbFŒ&îü>)³U±³U±“’JÄßýέ“;´Øè¸Øè+Ò¥±ÑQ±ÑQ×ÓH-ëWUR)eM) rpôvÔ––®ÑS5Û²¦‰ª)Ú;ŸÄ’çÛ ®ÉJ#WÕl©ç‡µl†z™¶Vƒƒ{s³%kuÜØÁf;ñ-» ¼üãáá¹:,»Ö¦ï¨ú§Vv¦çªtš¬VJ[”Å4Ö¶[ívF“W±9Céh}6»^»Bmî²:vF[R”?Î ¹zKKkNŒÔfä$ÈÀ6MžàêÞV\ºÇD` ]nAAFª‰;ßøH&€* ²ÜÀ*‚U¸Ò R¡ Q[V°5>¬Ò®¸õŠÝŠ}@öðnW8§ÊnWÜU¼ºàm‘¢Æ­àJ¥U±¸¢ÖTz[P) ª$X& 3<ýþ (øTPÑ÷ëôôH23™|gÞ3ó™ùΤ{i× lä~óÝS³Ž×ÍŸU»¿D:ã¯î:g4 çR†¥v!“²ÞtÏO¿Ë‰ˆˆ¯9’ž¶§¤^ "ÁX+ôOˬ«½ûX\QÊš,&~ÇŽ™ÎâN­~-eàý,#ôœVäM5&FvïãÝÆ2=D‹õÿá>«¿VtJÐU«Ÿë©«”JŒ&"¶ëˆŒ˜ ¸BKeR¡Ö$tÕ{&£‰¤®}Žõ©T¨ïÀd4 ä4àfÈoþ„´¬ãçΖÈfl'!^ê$eüâs6¾ØçÀÖpáŸ>ð‰ˆj2âRJflÙ²q"KT“µàÃw=ï%Ô =‘7¢ó' ‰ræfÍž#½Ÿ\B†S›Ò.ÌŒTÃÈdòžŽ ¼tp.\Iœ_ŒLx1’ÈP¾'é5©r–ö:®ÏîW~ŸQåjqÌ—§Æ¥Õ/ݱc¾«„øòä×Þ1öWКs^È?-µãöMŒs`¤{úž#Ç¥%NócœŸ¾ûíÑùóqi«Ø‘ÐûÖ¿\5—sÖcý=툈ØQ2QóµæV;Ï ±­å'¯¶µ^=YÞ:vúíÔd¾“ÅD­ú3ÍŠ _G1‰]ƒ‚F5–UqD""v⥠‰ÇÚwÍüKÈ"…ïDÙÈY’ùzʈHd?Šmæš©µædy†Mq‘çt/qÍÉóÔ(_1Ù8*Y⸾}>mX®¢èä÷WšZí¼4Ë¢öƒ¾ŒÇ÷›{[\È?nT¹÷ì$îs|„ãYæ»øšÃÉ ›ÎÞGIÖgÎãçY§ DDüùý‰ YçìÉ ˜Ï‚ÔI)“qå¹YçÁ|Ò¿g€[sêG§»æÊP²ç¸iBè„{>ÄðÁƺãCþ Âí,,ž­ÿĬZÎ~¡Êú=ûËy"âk>ßsA8S)¹sE6™îX‘A¨3ñ$Q†JÏe}^ÃW¾gO½2ÔǹÏ!m;ÛºŽˆøó{ö\¸ûfAî7BýþŒ¬§9s\ÍGIJ’ óôÉP´)aãaC¯‰øén‘ˆx“ÑÄÈÆ9±D|]QV~= ¦‚*ŸàçTÄÜB†ãY§MÈ 6(&zÂ…Ô·öœ­ãˆxCy~ò;qŸ›d²¡{ÂnÍžU¿O4gJ®tw’s×Ðõ®ÿî?ª?ogÚM0Ƽ‡çkŽd•˜úÛ4¹Î‰TÖf¤¥_PFÎqíwÆkÓÓιßv—åSWÿ[Ë{¾¹nÙøÛnÞk%"±M÷B‹Ìÿ²èÚºûäÕˆˆ¶“å­ž‘·W"kÖüJ3×,bYÑ­JŒZŒÍ­D$‰ÅýÝ'hÓõ¢5‰D6âÞ³ÑÖµµÔnÿàOæyhkk!×LŽD"±uÏ Þ1A±ëÜ•o<š»5÷ZÛ(Ï Í‚°±OCxs0~M ˆˆqò“î{=¥¶Þ(õ‰Y?Ï•¨ûY ì‹ñ–¦¤¼–*t=‡p{×ä¡k×פ¤¾f""F9#f­RBý÷Ž”ù„NHK_v*þãõÑóò“ÞzíˆLæä¸&iÍ;Y[þØ=À¦9=ûÙøõµ)©o†¥‘Ô=býÚPù½¯Iö?¹Ú:ÿ¾¿ ÜŸüðÃf§ÿÕÔuÞ†øº¤5¯…™Ã³!f¢¤ï÷™~Ò5q¯-ˆøëÇ·žmĺ‡ú )oýæ\ôŽÄlˆIIyçµ Hªœ¿ažëm¡‰Ÿ±&uáË©2§ ³æøI³Þ,ë3ß§>î¸2v­¹Œ“LŒÙ›šdž>É|"ã—ʉº+%ûûtC¿[¤^_)2Ú/.eaXšÌÉ}Ntìâ qiï$*ÿ:³ßŠ\}nÍ;¯äJÜýæÌPž>‡ †Œëü¿î¥§e¬Y˜f""©{`ĆK_t&ºçIÓsI¿™šÔg4oGΪ{^Psµtæ©Ô7^N!†!©û¬øµ/H$Ô_è¸;Î3ÝOT¹Ú™ÞcÌúÅ,u[óÚ«2'Ù„ù1±âRÞÚè´cõm—øœ#ÝÓ’J&¬í÷fÖ/ÒY#<ÕYðˆñ±!"2ù0åŒü}õiërǾ—æHDÍ%iëŽ}/!LTôá†3Á¼çcCtõHò_Ê#>ˆñ²¡Ö+û7lÖÏ]·Lœµ.S´ìƒ×]ûÌ¢±èà g¦Ç¿7Ù®÷m½_íÖTS”µµÀfÙQ=¡¦³³³£££½½½½½]žç/]ºäïï?D­~ùòå‘#GZZâŠ÷có˜~‚†VGGÇõë×Gä¶HH.’ ðä'±Äcƒ<ÛÊ¿(¨M T ø¸O±£¯§þ虫­DÔ\St²q”¹GçÃ|¢bÊXªø¢ÄØJD­W¿ÎÉÜÿýÝíÙÖ̵ÑÕ¢-ù¤ÄHDdç8Jfc¾  Otþ|\Ú*v$ÄõyeTDü{Šª1egóæ36Žwù±±ëÜ7#rvo]WÐJ$vôZ¸,È‘èá~ÁfüÂeÓsrþ².—ÌO]0Öf i±ž¾ÊƒùþT± .*س"ç/ñ9mD"Vá³pÉx1–5À?á±AçO€§º ¹H.À0J.b ðL@ù€òPþÊ?@ùOCþŠ©S§N:õÕç÷iÂ|ÝáM«_{yêÔ©S§¾üêïö”s?c>¯xùõ=uZÍáü³Ü ÍùÙ„°Ao€Ç«&ëõ—W œ®+výê :¼jašû–œUã$DÄŸßôÆ[¢s6šòS’Òךˆe`ÌÚøPWIïƒÉú³õÌ„™>Îæå/¬øëÇs{ë3JŒDŒÌg~||äD–j²^ëTè,!ëóŽ×¦\ÍiˆÉÙ4SNDÄ^õZšû–-o›ÅÞ£›öǽ³·ÞDo-(Ý’lÏ<5wÌ$߸0Î9Ÿ):|¡¾ÞÈøÅnHœéLd(Ú—òy=#sš0c¦I ÖxBÕe½þFQèRå©¢sµµ&÷¥kç {2×Ö× ¢ÿš<Ç™ÈpjkRjî9£@$›0/~ýŠXªÙûÖ›EÑÿÜdÊzý¢9ÑÊ¢ÃêëëÉ}é†õBÆ[qÇÂé7^?»~G‚²äÁFŸß'ûý~zÝ=ÇâÎf%¥f32DŒûŒ˜øÕAÎT“µàÍ¢ód%§kF#ã³Þ¼©+Ú”’öù‘T9#zmÌLg *áµTÙÒ@ãá’Úúz£lÆÚ «_”ce€§ ®þÀ ãÏg$¥Õ†nù×—_~ùñRú<%í,/÷›3Át<¿–'"âkó›|æûÉë>OJ)™°þŸ_~ùeN¼ÓéÔÔã}/ìI&Ì ¤#kÞIÞsøìyOD¬³³\BDܩԸtÓü-ÿ^;á\Úš=²Ø­ÿøäãxeIFV9OüÙ´¤½´tÇ—_~ù¯-sŒ»’2úvêdH8—O‘¶þc÷Çk'œKO/¡q+ÖG+÷Ø?Ixxô>oðé÷‹+JY“EKw<øÙÁœX§ãIIû눈áÜqvé_ÿñÉî×û”¤¦1Õd­I:®ŒýøàÁƒÿ\t.%noùê—¿»õŸ|¶c©›öyÖ@ùpW’q«>þ×–HW 9û9 µõ&býæûtÕ|íþ#&Ÿù>,9ÏÙò¯WOd‰Hî3SIõõ·õ¼dƒs¶ÄøÐ©¬¤·^{eê«¿OÌ:UGDü…ýÇÉoé,W Éý"™’üsæAåÌÀ‰,‘dÜœžúÏP²ÿœÓœP×[Ç–~§f’™0?ЙˆHªTJMõFâk‹Î îsüäD$7cþ¬ ðd€î3‰ˆuš(e”¡~r"bœ”RS½‰HòBâ?ÿ¹!Ô™ˆ$J?™©öönÑŒrN «„ˆXåDÕûôùªÑï6!ÿ4ùEšcÉúÌŸ!½Î|FI9gÆ8 ±fú0_àëNç_pšù¢9­³"ÝëóO›KE©9Ã$sWJM5Fܾ Otþ€ÁÇ×IOÛSR/‘`¬œºŽÆ|L©ùµÑJÚœüÖú°D|Ý錴ŒÓµ ¦Z ºsbìÄÐCW‘¡æÔçiIqïv|¼ÔhLçâ^ 3_ÏM0™ˆˆF&5è:ÇiïþÃLŸÓ{.(çÄ»º¦) 8zߦÿ™dˆaº¯&2Ý“512i×R©”ÁªOvý'½µ w­Î’žµš+ÿ<-}ÿ9£@DB½‘|î¹Ë*>T£ße,Áh˜ Òî Rê,Nwm¤Ý›’J¡^0™êLT›þfXFר&Aæn®ôîøîÔê…q§MDŒ{ôŽDºb½”ðìª)ÚN6#t"KDBW!T“—R2cË–Y¢š¬o¦®úÏOHÉ¿$'¿õ$DuŸ¯YsÄ}ÃŽO^”òÿZÆmS7”•Ï̉æGEÈ]_ŒŒ‰ØÿÆé &ÆI&•ÍÚ“0±Ï?}ûi¹Î˜£ÌÚ_r^Ø_«œ?ù÷q§¬ßÑû}¤Ì=g²÷Á´T¨7 D"29a az§<5.­~éŽó]%Ä—'¿öŽñ‰‘É¡çz oª112sÙ'˜Œ&"–ˆÈd™T*u–2îÑÿ#´Ï}üÙ~&˾¸öã æ„ã>@öÐù~áTFJRú)Ïÿ|Ïé„$¼ÉhbdãœX"¾®(+¿ž“@D$™0ÇO8ž•qœ™1ß]BDB‰¤ã”r"2œÝ³¿–ƒÐ§§•p.#)nÍž³uæW¹óùŸ×;ùMKÜçødzŽ×ñ5‡“6õóƒ Îsœ.dedÕºÏ÷ësØ6àèŒ Ô™úvöºçLÞšª2ÈÎí?]GDüù={.`õ€á›l£Q`œ”2 _s$«Ä$˜L÷q3+C‚`zôŸ÷é÷P?:Ý•kCɞ㦠¡ÌçŽj÷ï?ÏW²¿DpRJœýB•µY]¿#ÃÍJHÜ_3à„Y¹+ÁŠ(ÿàÙ6.z}Œûé5¯½ò›7³˜ˆµ±/²$qŒö«OYöê‚·RkgÆ.v¯O{'ñ×]ÿ•03挓¹ÎžEo„½ºàõ¤¢‰11>ÂÞ¸5ù½.á9Ïÿë_—ʧ¼ñÊÔ©S§N}-n0kÖ®Dì‹ñ–RÆ[aaaa¯½“%¼Ø}˜w[ý7_yáxý„Ûª¿FgÝCý„Ü·~óû¬^‚ýÎdAC¿‰A±ñ3Œ© _{õÍt õ“bý€áŠõ‹Yê^²æµW¼þV†0?6Âé\Ê[ËïQƒÉ|B'Ô§/ [uÜýaFÿ™ŸNlPüúH&ãͰ°°°7Rëg­_Ûuqq¤Œ·^5쵤 ~±ñ3äD®‘ëã}J’†………-L9¥ D¯Nx&XðúšYãùé²ç?]à ­½^ÑûF1þÆNmEü·¼pÓ´}÷ùµß X(ÿà‘ÚZßv£©éËëâˆÉvöD$²ùkÉÕ M—û ÈÌY0~ËK#¤Ddk;udçÕ†¶~&g%r´jûêÿ®—6¶2vöï†+¼{ß6(aßží4â›ê®XÿaÎ(*®þ¨ª‹`xÁïþ W×ÛŶŒX0Ý agö¹ì®—;[m­MmÔ»ßæ?üø÷oL—[Ñõë4BÙßä$vÔ8ï:ÙøÑVLÐd—?L²íó k;ûw§]ÿÝ‘úª(å»?½yìê,¥Ëx”(ÿ`hÝäö×vzN³‘1Â+fÉã^¶íývGUÏ?›×Á™=&I)&jý2§2{€I2ööQ¡öQÔÑXûãÚüK;]ƽíЫÃ`“qñ֩3Fá k·Îœ©Dí7¼ ó'À°ÓÑXßø·Ï®|3Rþ¶;Cvv/³­{¿¹a""j--®ù°Œ'"²"âÛn‘ Ü Ë_QcíµÜë$wÞº'ÔëWçèKo‘¥½ƒµ½Qï.¢7›>ÚMìïö'Ó‡Ÿ5غ½­´Â’^P­ ßø>ÜüO†ùõxçMSìG‹ˆH2o¶ó_\^¶½ƒÚiÄ/žûÃ$ þëøu¿Ëà;/q7ý=û»½¶¢ÑJÇ?LiIüwÍz¹[Dß©3Nóœ.ôñ¹F"²yOT,qêu¹ÈÖîÝ7ìÌþ×R{,ŒáÈ¢"ÐÓü/üð<Ýð´C? €ä"¹Ã(¹ˆ%À3åÊ?@ù(ÿåñ xõA÷ýÇÝ?yßbÿûuEdú|ûÙoÛ‰ÈpºY/2æy"ª2•“õL—–ôD“,åWù_»çvjàŠª:¨Êðþ ×D·ü¯Ý?Ûl[y¹z”ð(7WMª _4é‡U;)4v¤k÷;2?;;"j+ÿ'/ é3ŠˆHþ²½µüÞrb˜¨ö_ßpÃÅeÍD‘X1zÇBÅ‘Ÿ__ê¤üßè ûÞP8þPÿ·Zû™àÍŸ>úšYãùé²ç?]à ­½^Ñû¡²üÚŠøoyá¦iûîók¿°~^rù½®|3Òy˲ç?úå”ëÖ~ÝÌ ¹Otþ|êwç~£ßï;VA9ã‚ný)~1A¹'áöØ—yktûŒïí{F÷[—ŒßÞ~:Áù7Né¿A«ƒÔÖŠ~l»ÑÖr¸ª}L Ãx YyÿÇHÇÝ×KoÚ¾5 3gÁø™d%%"[Û©#;w6´Ñ¸;z–Y‰­Ú¾ú¿ëžÿÁzÛÛ¿nßw%gßžíôßÚêlõîœQëµÕ1¿zwŒKà!“ÛÔôåuqÄl;{"ÙÎüµd××M—ýG’ €òàN×ÛŶÌjo:+Žœÿí‘®×oø*ßÑ«üëøñ‡ÿþé²@b+º~F(û=‹a÷Gó®“í®»jÅMvùÃ$[iïììßvýwGê«¢”ïþô汫³”.ã±yx¨äŠÓ vfŸËîz¹³ÕÖÚÔF ’ €òàv7¹ýµžÓl¤ÔfÏXxMóLcÕë펪ž65®ÿ‚3{L’RLÔúeNeö“dìí£Bí£¨£±öǵù—vºŒ{Û¡WÏâ&ã†c­SgŒÃÖo9S‰#H€‡N®ŒFX1KÞ÷²-!¹OÜ™ƒ¨£±¾ñoŸ]ùf¤ümw†DÖ3ÇXUœ5?¢£±Jÿ߇‰ÈŠˆo»AD‚pƒ,5RLDµ×r¯“ tÞyP¯_£/½ID–öÖöVD½PòfÓGû¯‰ýÝþàdúð³û@··•VXŸ\;»—ÙÖ½ßÜ0µ–×|XÆ’ ðTÀy6øù:¿9ð}¸ùŸ óëñΛ¦Ø‘åø—”ÿyDŸÙÐÚÞIìˆyÓ~aO–#~Å:þ_Ýï2¸ÄÅÎKÜMÏþn¯­h´ÒñSZÿ]³^îÑwꌓÃ<§Ë}|®‘ˆ¬DÞKœzº²µ{÷ ;ó€ÿµÔ àg'W2o¶ó_\^¶½ƒÚiÄ/žûÃ$ Fr†?‹Š@Oó¿<оGsÀã?éì´°°Š)_¾|yäÈ‘––¸â 0˜:::®_¿>zôè!š>’ €äÀ &±x& ü@ù(ÿ†ÂÝø(ÿPþÊ?@ù(ÿà‘‰¦‹&úXNðÑëõhxì `HÊ?öÝ?µ··wtttvvvvvö¼çïÃà2¯]–––VVVæXXXtvv¶µµ ‚péÒ%”CUþ‰Åb+++ó¡9Ê?xåŸùÿ––––––DÔÑÑÆxåŸH$º³öCùCTþõ®Í×ýÌ Ö7€GWþoVJŽÖ¨}}}}}Õš˜ÔCµ_ÿ­Ô=]¬Z³KïÖY›V¨çìèwiÔ±:+<’ûL%·A—þÒ¬ÈU«“RR¶éú&o8$wàÏ$ÉErŸ°ò¯GíÉ*sý×zõL96`O}^̼U;‹ëˆˆ)CDd(Û—4oifßß^+»Ò{®ª:»¸ááë¨ÊÌmÚêûÚŒ2Òiéÿ>ÓË.â±´Wš=ou¶Îàñ~úú`)Iݽ~ÙI¯^œTé“þù¿Ïüûóô·Ò¤Å«Üi²ê´Ci!q³§5þ»i‰B—0oÕãÛ1’;’ËWhcæEo>Vç¼hÓ¦EÎÄ(Üz'É$ÉEr‡ ü³VXSm±¹þkü¶œ#vÔ­.¤ÍlOŽ‹‹‹‹[—¦-35•ü%..î/E%ûÓþ·n{Ñ•Ö&2–äüåOqqqñÉÛm‹K>x•ˆ¨ùJñ'Y¿nËÁï›°ÁyÌZ›[ïñ< ‡’RŠMæ{­Í-<š>­«¬©Üœ]}ÇàÅûª=–,_®2dtoùjml¸: $|q̶²®Kb܉Ô(u€:D•R úîú´«bÕ'Ì‹Ñê‰N¤E‡«Õ!juxTjáýíÞ¸CQê¨ÌÌ„è¨ÅáêèÌ ¾:S£Ž)ì:¹Äƨ5™Õƒº#ÊŒ^ºÓüÝ*w&o.4IÂÝz:ëðºÍiÕþÉi±jO I<Õ±תJÓ6ëxâKCÂSÍ;õîs…1!1‡8"â*vÅjÔjMBßs¿\iª&$Z;À¹F‰ƒgHlZ²EÚfoÞS&, Q«Ã£SO4_šž–½xqxHÈâä }‹Ù]±µ:$D²81¯š§¾ x"VžVp ¹Ã<¹¼^»jiW+Õ奦æÕ‘÷l[H. ¹H.’;$åŸlŒ'KUŵÍDWËJI9ѱ»ükþ^›™_Á)#V¬X0±µöäά’&"±HDDú‚¢¶) #§+E\Eîî3M ÜT’“uFß2jÊÜÈ0EEAEYQsYÎæ}ß^¶bå›AöUGÍCÃã+þ®LÛYbìþójñö”­_\Eøø÷DÇvêní) Iz®jÕdko;©?¦Õ«¢T^Kü9mycÕP˜’Z©N;z(/c¥\W)_‘–”ÇÆçÒnT×é }öE Íú©òÞ4‚+LI8àŸWx¨0/Ñ£01©ð¾úHÈTVÈ,ß”¹koæl}æf\./Í+å̛ټR¹&Øíç7Nµ6V¢x)rseÏ«†š:Á#j¹ªgWÄW– ÞUïS‹•PZx÷Ó­|iÚê’˜½'NM¯NI8гs×ç%¬>¼Qs·» Y•Æ›J «y¾bóêT½&=÷Pá¡d¯ )…CB݉ºà»våí]ëv,is)ßûs· Ë÷:thSpiJ½[°F^ª5w®á+”É5ánH’;<“Ûp(a±9¸)·ÉTScr^´Rí@H. ¹H.’;´å9úNd©¶èb“±âL#)}=mºß)‚W¼ûî{QAcÇúLq5^äºëk¯ˆˆÉ^>¯¼2VDd¬mlíwàVý™*"ëIš/Ÿ°…Á£Ìӥ暓åmdí6e¬ëøW^™(j«*ªBý÷‰]æ,{…nÍ,1¶¶^-Þ¹õ¨õÜ7ÃÅh™ÇŒ¯+Õ3mÓÑ3gÎd†°$Q%ž9óï½Kœ‰ÈPZ×g/R] åÔ‹<$$ñ\LyyÕDÄ×TÈÕ³=$DÏàÙ® t:ÎMà@Dþ•tÀ¯,ÐI¦-R±DÄziÔliAeß·`:ýR¯Û¢òÌgÔ×`µ›„H"÷– 聯—i+y"®T[&ר~w•†¼””c5uƒ©ï™TbTñ£zo¨MŽ•³Lßär–3˜îú u…Åœ—ÆßHâ•q(£«¡tóêÍÌÊ´XÕ=úª0¬\"ª+(äü—Ïv“I¼5¹.¯’'’TeÞ?²ÞÁn\i©áÖb,æUQj"’xkœ« *9…Z£0ï‹øÊ¼Ri¸ÇHîðL.W˜’RPÙOpÉc寕Þ$\$É} óäOG_Oë“%'ËKŒ×H¹À“­:ØýVKÍÑÝùåz®­Ÿ{+&"²aEw¸™ãˆÈFf^`6ö,Ñ5"¢VŽ#¢–3›ÎtÚXõúØ¡Üx|d“£VPæÖÍ)hmS,\ùº—Úä À°"“Py@»«šU¨g«œ.¯ ÂP­3±Lï luž¶²¦.ò¥ì®¿å»*–'(x“ÀÈY󦙕³DD‚A`äÝ£JoßJ÷ÚÑðAêÑ5®„uf„JN êµ™g¤ÓÒ¥ªúžãˆHrÛDÝÔáÒlm%ï%(“kbþžèDJª®¿S½Ÿ±é¶{!¤r W}ÛŒ œcݤDÂÀÇœAÈ»¿†„•ñDBÍÎ55$Ÿ«¸÷} ‚ÁÀ1,qÎtluˆšéÚ{ Þ I‰aå] #e„žóÁ¼À ’î·ˆ•³ÄxR¨5ŠmZçï\ c£p ‰äËäò¥i)Çú;ôX’žå)žÉ•#¹H.’‹ä¯òDŠ)^ÖgÎ|ñ‘b'KU]¯7•çìþVo=iÉŸz‰/n_·£¢÷X·j\¿‹Yk"j6rDŽDÍW»¯a‹YVD$š´dEp×&‘ˆeQû=  øàIQ`j¿'„DáïÅdê 6ÿ¹€¼äÁjy6õÏÝ7&{Hzmw0+÷žéÞJéw-ŽÎ®äã%RF0p<‘„ˆ3pæÓpŒ º¶Í'È<•Æšô]ãò\À ¼Ûº7µZªÍ+Ó :ùì•?ÿÚ#_¤òR{K%¬ÞW×½Ó NÛ´ø¶‘¹ó²u\€ºg÷Á•jKï(7 UöÞw½Ï³JX9ÃWwoµ8}5/w&bä³7¦ûk£RCö&Þõ\dà ­Žõ_î,aÝäÒi }÷Ø| =gBÁ 0*¦Ïçvïg9G¬\Bä0m‘Û6í‰2lx*Ž!‘Üaš\Vêon#"jknÔ—̯i#j¾Z{µy€©ô;0)|•D-ßææ~]Vr0çèµ®m\§xЍ¥âd•±™«)ÊÙ¾=§ç¶3x¼ Oj¿' ³Ü£ûºâž”|nLïÞöeÚc¤îÕ?AÌg— ®j7Cá®> ÚˆäÞÞlµ¶°ˆô…ZÝgô8N ’¸Íöâe눈+ÓpªÞû¾Ý…«™âmۊ峡ç'I<5±±‹CTÞꄌMs»›ËY.éo·¥Ð%¬ÎÔéy"âõºÌÕ Åž1+U’°nR®ºN "N—§ëÓ«ÅYí/Ñeè‰øê]Ñ‹Žˆˆ¤nn!ñ‰^… ©'¼+ƒ«8”¼*©Tõþro 9û°e»Ìõn8‘Ú3žI·«¸Á¼ÏªfUªžãç`V—Y '"¾B«5xÌöb‰ÈÁ_ã\¹-­@2{0nœ$÷q$Wâ›®ò ˆIÏXÒÝBR¹œ!$\$É}då‘XáïiM·Wv>Jë–òÝ›w‰^Y1FÔVµo÷™ÆþÓÿÀm>‘ &éOîÎ:xÕszÏ hãµpEÄD¶&wÇæ­»KšAaþ.¸øÐßÅ«“N§»féjœÒ„¥&çi+ã£Tw¶!oqDöì½»?î­9_‘:o5¿qo‚çœÚåu ©ªŒûù'N÷üóÏ?ÄŒutt\¿~}ôèÑH.’;ÄÉ­N Ÿ·³N®Z¿v¹Z!Ar‘\$ÉEr†èI[Ÿš¿ÏLÞQÞ¢\2׫ùäz¢Q“Æ¢öx@…J“ Ò !úm·%ñë©B¼î=¬ƒJ㑲-Sž v{r¾";Mç±ä}\A@rŸΚØõ*u€B‚ä’‹ä"¹í‰;+c3~aÔtÏQÆã;7oÝ]Bc¦D. rDt`±ž!÷Uû)f'Æz‹ž I­à‡ÏWäK“ç/Ís‹_â€O˶:侎 ‘\$ÉØ“Øùžèüùpî¯#Ê3çA:¢@ÿ ˆ.dH.’‹ä"¹H.’ûÔ'× àY€òå ü”0„„¾? ð3577[YY¡\@rÉ…§>¹(ÿ†–e/]ºÔÜÜŒ¦€Á:²¹råŠT*ES ¹€ä’ O}rìgß¿úê+,6x S§NE# .…B¡×ë+**ÚÛÛѽét:4ÂÃyî¹çœœœÐH.’‹ä’‹ä>õÉa /–––C÷KM€ä’ OóZ&x<ØÕ?tä¦põå ü”€òPþÊ?@ù(ÿžq¢¯¾ú ­ÏKKËŽŽKKœòLC+$É€AL®hêÔ©hJx,:;;;::ÚÛÛÛÛÛAàyþÒ¥KC÷qb±¸½½]$¡åQ{{»X,Fr\$`X$geàYÁ0L{{;Ú`ÐwE à ¹H.’ 0,’‹òžvvv---h €ÁÒÙÙÙÒÒbgg‡ä ¹H.À°H.Ê?xVXXXÈd2“É„¦,&“I&“YXX ¹H.’ 0,’‹òž!¶¶¶#FŒà8M0(û¡#FØÚÚ"¹H.’ 0\’‹[ráÙ"•J---F£­­­¥¥¥H$ÂsÉî_GGG[[[{{{ss³L&{G·%×ÆÆÆÊÊ É@r\”÷ÅÖÖÖÖÖ¶©©‰çù›7ovtt Mî“¥¥¥X,fÆÅÅeH{Žõ›\›¦¦&A\$ÉEùð†ô–w Ï=÷ÚÉ€‡¯*Ñ(ÿå ü”€ò†ÀýðCë÷ÛvTôüim¯ôœ2=,ÈK&ŒYi.Kû`gí¨ˆø?ɰ`×Ã\ýå;=4tzà$Õ~›¿sÃÖ¢«­hH€'ÛCüì»HáûÊŒ±b" >²yC~íAmù¤·|ì¨ùâ‘íÑŠk-m"û‰a‘ ƒWµ)›Orc"×½åcCÔz1óƒ­å¢I+>x]ÙX²/ç`Imc±Ê)s#5^·]ðk¾x$'÷h¹¾…Hd?Æ7Láã(n­ÉY·ù yN÷i=s²Š#kÅ”…oj¼ìˆ¨©lVƲVLŠˆ\8ÙQÜúýövTÃùœž IDAT°¡ÊòüoÙÈu1>6XÞðÌúY÷þ‰ý_CÔV[r­•ŒÅÛ·æ—scç®\¹Ä—Ês·k/¶)¦Ld‰jÏ\l&¢ÖÚâ‹mdí¤¤šÜ­Ygjm‚Þ\¹"B¡?¹sg‘±Ï„ÍÓ2*¦G¾¹dîDª:™µu_M+‘H$&j©(ió3nE¨²E2kwY3ÑÕƒ[w¯"ŸÈ•+xrßîÞ~ðJ+‘XDD'sžs§+EX؃¬µ¹õ/ÀÓRþ‰XÖš¨knkºx²–È~zØdWW¯W”ÔR^TCŽS&±ÔvñLM+µêÏT´ë¨ ýÉŽDž¡ÓÇ»ŽêË’¾¸¼wýg,)ª%¼0Ìg¼—¿f®§ˆ¸²¢ÚîÚBêãâ86èOµÕ”è[¯ž)¹F¤xåW×Éa£¨ñÛ“=R•Qš ÿAº?nÕzW¦mÈ,é^n­W‹·§lýý€žX?óšXscc ‘µ½¨¥¶™ˆó7Äåw¿yµ‘÷÷µ?~ôâ™Úf¶¤¢…ì}§8Šé¢±…ˆ*v|×SKÔ4¶úöüÁ]㈈ÅšgÑÆÞ†ˆkln#ë®’Ó܋ӆµp­­Í\3éwÿ¿¸ÝÝÓÐ7¶‘ ëhë~CAì2gÙ+™[·fҊȉmgvn=j=we˜#ªl€§²ük½r¼ –H4ÖW!¶6Ú5Ú®XæÏvMZÄʈÈwŠýÑüª3%6ÙO÷wS«ÌšªÚÆ,X©qw jÍŠ©û™¢bv” Q w£ñ2¢6î*GdmÏvÍk[ãÕf+¦6ÎØBdÍÚˆmFÙµ("VFzvÝÞ'²¶·¡ÚA©pa@²ÉQ+(sëæ¿´¶)®|ÝËmðäzˆÎŸmúâ/<¨ýdˆŽ^#ј¹ãmÈnì%Qã·ÅÍÆ‹YÛ3s+š‰ˆ}¦Œ"îLîIŽFMq$"±bŠKmµ'¿½Êqú3ÚíÛ³Š®µõ.+|‚”D׿,ù¾¬H›[Edï;]Ñ}aIÿž¢²²¯ss«ˆDc}ÅŽ^>£ˆôÅgô\óÕ²ÜÌíYk›±lUáå…ÚàÉ÷0—Æ®}{ô(Yòœ6÷óS;eþKV4îÎ)Ú·ã["Véæ+ë*æüGåç^#RM4¿"vX± -'ÿèέGIdï4wúXêU°É‚–­hÍÑ=šµƒHd?&pÉÂ01™ï+ñµ/Û·³Š#ke`äÜñ6D6¯,[Òš“{2këIÙñó´#º†ÅûH*@Ÿ°0´À“Ï‚çùa3³­W´)lž¸b]ÔXÜc6üuvvvtt´····· ‚Àóü¥K—üýýÑ2CÁM€òžêó'<]ÐùàQ¯"ÀÐúñÇZZZ× X[[;88üâ¿À²xÂÓú„ÃÆäQ¡¡¡¡±±+$<ÊŒÛÛÛ;880 ƒòà!&9Ž3fŒÍãš‡æææ+W®Úžð´>á°1y”µßÅ‹mmm%  žçoÞ¼yñâűcÇ>Å Ê?B ýhÒÆÆÆÅÅ¥ªª GlOxZŸpؘ<ʵÑ\û‰D" 4<²ŒK¥Òk×®544(Šž×ŸžƒÕå ¡–––'áhÒÆÆ݇†EZŸü£ClLÆÆF‰Dbi‰‡Â#eeeeggwåÊ•žòïÉé1X*x‚´´´Œ1µ·2#=ê>*O¾49"Ú°öhj| p £Z´2ØíŽT0n?+)RoÍܹäÉëú @ùÐûàh×:R­•¦$ìÒŪ†èXO¯]½ú@£ŠÏؤé©ô¢bcu©QÑÙ›W¥ªîã2…¡Tg 7,4€¾ä^šÅšÁO†ƒ**A5Ì› €^¸†^Â:°8#Ö ÷þÁ³·ÐeÿEjµÆŸŽí<ÑûJÕiá¾¾‹µ¥…©Ñá¾¾¾¾!Qɇªùûy÷ö*S·-­Œ˜iÉ5}¯ò±ªØ´µKV® ‘wÏQ©61Ê–­+ãÈSr÷¤ßýÛݾÑô´ö{˜•:o5·Hm(Ðéëô䟞¨*Žš—¾k—FAD|ibÄjfSº"!ª4áPªGaTx¶*XÐsNÍMd´‰‰Ût& ‘\½29>ÜîœZˆƒ~×â¥ÅÁÁL¡®²Ú ˆZ»È ÍÖUVÜbÒ7jÜ$Ôp"uMJAµÀ“4`yêZ›„;ž­ŽRVë« Š¨M›‚ËVÅ«3éæÅĤ§inÕú7M|²J­)Ô³ÝRvê9ÂFhØh­?y¬ÌÔ÷5»ÿ˜6ñ§S§݃üœ„óÇÍÿ·ßÐ× òÑöX¶ÏFñ·yõæ2\çnL‹U+$DÄWç%D';¶&Aë©ä§{u=Q°øÜtiBHö¢C™êÊØdÕ.íbW𧓇«û£ÅDS§NÅJEgggGGG{{{{{» <Ï_ºti¨?T_YFÒÙ‹¼$DDM°|_v¶¶zqŒÛ­¤ªžýƒƒ·Ê™Êªuê*ðîþî­M Ë2÷˜#6 6= ÷ r79Q¥ÁÔßÜŸ(¬#ù"µ‚x¾ëô´\­–ïÌ..ÓÇx ¥¥&rWÉ{f.`‘Š).6ÿa(ÖH:;üÖ¼“s°¿|ç¾R]y›¿=£ ÷’ÜÙŸÑgë¸5KDÕ äõ¾ÿP<°”/Ë.–k–»¹Ñ"·Ì]:nÈîÆ„§‡a_tľ;^õÚx4SÍöYÝsöEÂzJ‰LuO¤˜¦ñHI)Îëªÿº«¿þ×íÞ¡¸Ÿ ô¡æ×ä*ïî|2¬œ!r›æÍvì&%â8‘ÃÝ“®¸zôêŠ+ý÷fƲ\aLxÚjíl[ªV× Q8_™WÌLÛäÆwÏ/™ÊŠY‡yRirÄ6áý½…!|Eæâ¥ T»fß9µ(FB†ÒR¯½™±libÄÒ¤‚M{Óc™ÒĈ„]Õ³ä…k œ“÷¦° ‡bæÅnSicä2•2‰é™nT6/j³N“¶>F;¯påÞ´¾Åa=Õ!æ-QƒN›]í6ÛÏefDΓƒ&>gÕç5ù‹/uXЉ„îÚMµUµ¢çPþ=Õ_Ù6m‘W|ZBO­%q OÞT9/2»,S[­é}Ô78¯õ‡2Cú¾ði‡X–zúð•™Û´š`s9úX#ƒUž%æG~Îv8N0SM“gï;°«by¯€`å½’É(X"½ãïõnß4KX†ˆ îžÇc\E^Úæìc¥ÕSÏ~ªß¢‘7T›ˆ ÙK§gßþVÇóB5G¤pë5w¬ÂCNÅÝãˆä½çÝ|¼i¨¾õÕÒ^‡Dª(µ´¸ ûDƒ:Ī ëH0‡EœnW©Û¢÷ˆH½Èc[OÅ9¼¼¼¤¤¤Û^œ={vbb"Vñg†tZ|¢Æùö È=z­9¬¼Ïþ¢®“*Óy¥$Ë«Žõö”˜«?Õ¢~Š¥W(î/D}hWÍ×û]†HÂöXàî™ôûú ¡#Ôü9Â÷Ï·Z|nFn‚I½ÂU,1În¬©šãü5n©t á!lu^1ã¿ÑMBÅ·¾ºs°ÚSBTQPÌ«ÕD$ñ Ö8o+¨äf;ß95’1žáD$÷–2uÁÞ,É=¤œÎDœá@…|ÑÚ–ˆÔ‹T)©'ô1áDŒk°¹F–{Ë…bÃ]»t6äEÍJ*#©êýô!x¤WZu­¥Ã’D¶¿ð˜ôüÿgïîâ¸ÒD¿UÝ]Õ Õ|t£tƒiP „F#“¨ã(ë*ãF†™ »ƒîô¹²÷"»pwìÕÎŽ’]ƒ¹,¸?âF¢Ä„€Qˆ h…n…n>ºø¨êîªûG‚âgÔ ¾¿'Ï“¶?ª«Š~ëœ÷œSçL§ëüËmÞþôµŽ¡i æÝ”M¢'‹éìE`ÎÒ×&ö³Ño/PïÿØTÁ¾Ùv2ÕÕûçúgçÁqÞ¶ÌÊú ÞÂqÔÜ¥éÙi }¸ 9«¶ð‹ëXÖì+YûH¯C˜þ¡g©5èlÉQÝ´äèÄWŽt.íöw°Üù>Û¼JiCÕp®íäEÛRŸ;]cÚö¥$¾QûÚïÒÓ"ÕJlõÛ’rÛ&ߦ«º•³Ôobµ—RÒpñ‡7]Qô¸s œ¿fsüèþÓÝo.e7Q Ò#ÅÕÒV¿ÿ´éô©%/gŒ<Ážì^´ôß´téRŸbî÷ìQF,Zø Å£Ï‚•ó!ëÔѶ´¹žd©knײ11(“;Gú‹ ø}ÙÍ«"rc ^Or`þÑs¶EÚ£§aÑŽ@ƯըT3Àñ6žV372Z°Y8ÐN²5 ¨‘á÷@{Àg±°íï¯Z´ày^íçJ“éÛ ¿àê·-K9nP/.8œAø,Ý÷õR[Û'†Ô”Mʲ‚¥Øø”Qè^xÞ\ÝêýJt»³ï»Ú‹6߈˜¹ž2{wSí·g®.ˆœ!%Ia°Ë1'*ÖûŸpKÏkýãç·rl\ÈOÉï\_rxe œ5¬MÍ8’¿h0êü]ñÉ7ùõÓ?ôì°Õï;jí/³Ó'ô-ÙNçgì?9~È¡Ídá`´–ÅÙÚXeàXKû_ׯ´ø5õþO}p²sáÒ›‡ywLI9¨MÛµ}åàÁ‹ ^³#glÀÎúÛ€k„—…÷›:Ù‚JµÀÖÉŒ^8lm5­ž£°\´p06èÀÕÇ0±3cÂ÷ÍY³T}tÿÁÓ¡mÇMÔ‚ôÐG‘ýuŸÜ1bÇg†‘?ŠíË´Uœê^úö?4>ÄÜ=@þ·f>dœ<Úöîâƒ#SAÝýCDä.‘þäœä•ï©¿ø%,Ê™rg÷ï»<7¾±j´å(b‘ؓϛóì¾í9%õÝ Ž¤Àtº¾óÆí?=Öò¥ŽX¨öô¸ù¹¶ã§, ^xãfÁ[aîÊ5Z8·ÿ¾ã¦Ñér¶ÎSû/ÌYycÓÊЕóÛ¿ûÄ\K—.ÍÌÌÄÜ=Xj±&L_?yð4K-Xyo-DäΑ~Oõ~JäKµçö}pœ_ôöí:-µ‹(ë÷ïîÂÁƒ–9oπˌrÎÛs;<Ë×vpû¶ƒm·•£ÿ•>.Jþ⾬mûêmàZ¢õà àÉ"Õ¾ò³×oxõ.#7íá¿ù‹*—ÚËà ðRJIqÌçS]ÿî€ö÷S¶•œ™½óKCjêQ âÝ·ÁwRsÒË)L¿ÃRœÍbcOmysÑ¢E‹-Zû~;Ïv».Lê»ÎñpB"èÑ}rßi"Þyí– —F'99ÕýæJWS§¶mQ¾»f¡ßvÄð^;h×¼;6ûÃ]^P‡[ºcÇÙõ›>ÞŸ²ädÄâóçøåâ¹ãÇë- ^œmHK.œO}|ê£ü’Àõ¡´åì‘ö[½Æì?uñøÉ³~ CµJ­àìþýGl …®I[|pËÑÔ*íÝE”íÂñÞ?zQ»f”¡ë3§ænÉwßÔrŽ~ô‘eçFS¹w~ÿÚ‘ŒS·(ÓÖ,ôƒî/÷¿·ßB-È~gîj:‹×¼ÿÞþ£ þåÊqiû2mÕ¶sósÊòè$-ÇK:ç¾;>±T†. í4o¿‡µ·—.]êêDÏ˹ƒûJ´·–“ʹ‹—FÜCã©ÏÂ_F@Æþ÷M<³è^[6,ˆDà"ý®ÉÐÄ‹<´hu%–ïýоSV¶ø¶ùŸ:7ײæw·²JÏMÝñîömkåЋÓs–úg¹ÿDóÍìœsÛÞ\dÙL “­îåúöœÜŒŸ­¬/,Ùv£c5pM~úÅmi?ûˆ`æ,NË_ˆöT“É¥¤÷ó1Óe’B\vGf}RÖ©Sï%z¢(þF£XýÕ/L{ø-Ú£ö™p·ÏmR´2Pͼ¶í“üñ)"wá1¶˜à=:ï;·¹ÃG±fuúTÉñΕ‹´+sRmû Û>jgÒF¬Ù‘™6®vwçWoÚòÂm%‡üࣃ'\íüÅ錄ûîè¤}ÊEé;Þas÷¿·éPêùoÿΰc1¼XÿÞÑŒTÛ®#ù ×¾»àTîé÷³êç¼S² 4pQNÙ®9¹ïïÏßò1@iç/N/LYW^‘¾/“ß–ÿqî–A=ÿíßíÊ´lKk÷}yëå„\šS²4£ê©'¼Ã ÆO-­o3ÙÔ:¥Ä9týâù.ïçC4X!~Úø-Í/›säƒ÷÷?}Ñ£¿hÍúEü¾mïŸÛŸ² ö¥E<öYÆG h,Tî/9Ùñ¦t™ÿÞééiq?ˆ±Y¥zÌ&]øaÁ‚?n–X²rÙ{üïÊŽ¬¼ïW§îBþ²ÄýêôÃ%¾ÂM÷‘õK²l¿+;ø`Ç\__1NÆÔÙ„¦&ŒøÒ¨#Þݾ}m(u!Õ&[Îáíw½çû‡_‚°±¡§†­~_î¾³óÓrÖŽt-Zê¿´³`΃ߗd;ûÁûç "󑌓G!„~™æ'¯kn}Ú=(:ÖõúèP̈X4côõ¡?™qó†"c5x>Ÿ~ôܵ…°mÛQ¥ú!Þfç·öà­# ”oîûòM€ˆü“ pÜ„•9WNxûø¡¦=5”ZeçéSÇS¶X~·2BÉ]<òþûí0çwëdò@®ûl}ýÅ“ål xg×bœ!„BOGxÓ˜óg ¦==üV ¹Üüögmù€RÏ_üûœô[:Ôv:SÖ9PÏ_³cGê\œ!„BÓ?„žºjíÁ¯×>à«S2tm‹>K÷}sj"„B=]pÝ?„B!„Âô!„B!„¦!tWr¹|hhèGß¡¡!¹\Ž„¦~´Nqx1Aaú‡B·åããÓÑÑñãÖ)‡††:::||púR„¦z´NýÜ/&¡'Ný‚z„|}}àòåËÃÃÃ?Ö>Èårמ „¦r´Nqx1yœ§zxx˜a<èñßÉï¡P(¦Â¾=”˜þ!„ykKa´"tï¼½½{{{1ýC?о¾>ooﱺFFøûûÿèàÀ€éB!„šB|||._¾ÜÙÙéíí=Ez]г`hh¨§§Çf³Íš5kìÉ©32âa @Àô!„BM!EÍš5«»»G#£Çœ_y{{Ïš5‹¢¨ñÏ?e##0ýC!„BS.ôóóóóóÃSÐÃ…3"„B!„¦!„B!„0ýC!„B!„éB!„B!LÿB!„Baú‡B!„BÓ?„B!„B˜þ!„B!„Âô!„B!„0ýC!„B!ôô“â)@O®ÎÎN< !„BMÊÏÏï¦g°÷!„B!„ž Øû‡ž`·¶g „B!„n{ÿB!„BÓ?„B!„B˜þ!„B!„Âô!„B!„¦!„B!„0ýC!„B!„éB!„B!LÿB!„Baú‡B!„BÏ8)žô E±¿¿Ÿçy»Ý.ž„îI’2™Œ¢(‚ ó· ‚`³Ù0rÂÈE#Ó?„îÕàà`OOEQ@Ó4ž„î·&Çó|GG‡J¥rss{lß;00ÐÓÓãŠYŒ\„0rÂÈÅô¡»cYv``@¡P$I’$A¿¡'—(Š¢( ‚ •Jm6›ÓéT*•á{m6Ûàà »»;A¹aä"„‘‹éBw700088HQ”T*u•CxNz°É5‚kppP"‘<ꞌ\„0rÂÈ}X‘‹S¿ g… ®1Ÿ2™L"‘`9„Ð#B"‘H¥Rš¦­V«(Š:riš–J¥¹aä"„‘‹éB÷¤¿¿Ÿ¦i‰DB’ø³Gè!H$‰„¦éþþþǹ‰Ï9B¹aäbú‡Ð=±Ûí˜û!ôp¹î³'rü IDAT¡åy#!Œ\Œ\„žˆÈŰDÏPú‡÷ ôp¹F¤ØívŒ\„0r1rz""Ó?ô¬‡  ôÐI$’GºF.B¹¡‡¹˜þ¡g6C"ô$†F.B¹¡‡V˜þ!„B!„Ð3Ó?„B!„Âô!„B!„¦!„B!„0ýC!„B!„éB!„B!LÿB!„Baú‡B!„BÓ?„B!„B˜þ!„B!„Ð3NЧ¡»’KŸ­Hv8ðŽžnnnÏÔñâ!„¦ý`‚€ç!„Baú‡ÐÓ ég뀇†ìs–Š +r›A“Rô§Ä€Gº‡–ò_¯ÈçÓüÇríÚŽ©ôW« üÚ¢?m˜°¿\Ë®ÕÉeªôCÆšw¬ÞxØz›ë7§«vçÖñ·y9,ûØ®¶ôW« Æ ÏS*}ä’¤Ô¤íä?,ÎT[VPX^×lf€ÑG&¤¤&„«1Ñ#‰§'*r-'6¬Èj¾Í‹LìÎCÛÃiü›¢§?lÊ ‹KkVÞUL„Å&$%Æ)¸¦í+6ÖDî<öÑ`ªØ¾5¿ÊÈS‘yÇvDÑX%-ðÊ€ð¨‘þNUKA5®pU>æ¨r @uK!Èh‚£ÂǺU¢bbõ°bsea¥).ñæNSUq¯IÉËë† ‰ŠÔñó[«\xÖ+ѳ¹ê±´ñ…PFiÂ"£¦BdXZÍ<ƒ?)ô¨“¿ÚÜ­%­ªØÌ½ÛÇZcâ–'ÆïHÞ|8+?îPN õà[g­r\û C~Ae£™Péc“ÒÒ–»öÄÖTšo(­i6óÀè"—¤¤mŠÑ×°}Åæ*¶¾ñ*w,»Ñ£aª*¨a©èì´›F(ÃSwî^ú %@Û\¾ÝPPÕʨ‚—¥fn‰ip´µT …Uf€Ò„-KIO‰ÓÒ®û¬Pµù*×ý Êû-žl ¥ùÅ5ÍV€ÑE.K½dØNlx+‹OÍ‹¯Î54Â뫼?-˜pë…­zËŠŒæè‡¶‡Ó\û‰Cae‘ TÁ±)iiñA4ŒÜ›Q–FäVõ™‡öÄá¸Óû† ? tâÙúïØêŠkXÍ’„–'èøºâËØ‹`>œ_J%î>ôùçÇö¦êK¶f”›¸†ü¹‡­‘i»‹(Ú›ÍWænÎoâ\[­ÍMÎ(±†¥íÞ[´7/I×\°uóžvnd³ÆòÜRXž]T´7/5ÒZcÈ(lá\…ONòÖ’fUB^ÑE;“4†›‹Ç>v+žµqð<ÿˆRÖ&+£QÝZAÔÄÅjÀ\°yË®Š†vz´žèÈD{ñæù5TBöÞ‡ìÍN j ›7Žlƒ¢(0WN¤}úù±½)šæÃ7Úãó}þù¡ìhkM~n•ëè-ÉY•›¹{oÑîì%LMþÆ­å&°Tgm6TAlæÞ¢Šv§Ë2¶îi ÃÓ‹ò–0a™ŽÊÄÜ=²˜m=Ñ TØò°[FhmHиE¶±ÀÐ’²³¨hwæ*Uóá¬Ü®ß·©|krn%™¶ûÀ¡{Ó£Ù²¬äÜZÐA)E²£) ¢³;–£¼ßâ‰kÙ³q³¡†Z’¹÷À¡¢Ý©ÁÆ’­wŒ\( ÀXn¨Ö§îÜ÷Û„_èÁ\UÑ~ãÀKëxUlB0 –YÉYeF}Ê΢öf'PU¹·V˜h (` ŠùåÙ»÷¦Gbî÷ °÷¡{Èþž±…àþ“KMq¯O] M 6äW™âÆlTŦ%EiiZžšT¼® ´Æ´MTÎ ¼ÁÍ*{jj†ÕhPéU÷Ò-™žžD@@RRyYFk­™‹SCSaA3§eo‰×Ämʶ֭6*S¢´JCQ@Mþ3¾kñd«+(3R‘ÙÙb” OËn©K.+¨IÚ5ÒGÇC|ú&W¤*!8?·ª¢eÆ K]i#¨V-×ÓÐ^XPÃkÖæm¹2%f¦×®È*(m‰ÝDS¬.%-! o6Äô¡GGxЙ0Ÿ¦ªâfK©3ª£#©ŒÒòö„£:(]Ô»È5z f.AKÓÛ\\˜[×l4[Ù‘¼SÅóÀ«[‰ ÖŒ~L¾)'ÜUiÐŵû1Z€çy®µÚTdÜ ”Áqz¨j®6rá“ÎjÁĦg/×LÈÕŒ¥Yù5ñ™K’ß(ÿ„&2egfÂm&?TÇlØ“di©«««­­ml¬,©«,1è׿íÜ€÷Ö#ŒÜ;Zs+;aó Ó@sk«BT®ÃѶëP   Ñ(ÇþMÏòÀ¶6šA­»O·%'nd§(kUA~Vc«Ù:vØ:–ÇßÒÔæ´ ×ϵ3DW³`iÛU°ÀM·õ‹cÏHåàî j=¨ŸM8á Ô”¹©“¢€ça¬Iñöï Ž ^J¥b\‘æÆft1a7 UX¤ʪ[m Ú»1w,ž8cm+úøà±­Ðº˜0¦¬®ÚȤLpØhª£ «ª¢eCP€¥±´4)˃h°´6šAµ,F3.Žãôߨl… ×^ëbôXbú‡Ð£õ`ã!Ÿ\÷9Õ ×RZl0æ®x5wüó•¥MI[Fï§Tã OŠ¡F "SéÖdC³~YzfZ°†a(¾.c]®Ù•„ñ¬ë·-Ûn~‚w}оfë¯Þôæ‘iª'Iÿ4Ááá~`ªn{¯jIæH†IQÅhîZÆ­ЉЉOKCqÆÖ‚’¬Â¸›‚°_aêÆ(Š¢ A$ Ä=_:Ä‘ NA"‘åšó¤Gî­Ä[Xjüö)-ÀÞÈϨ›vƒ¢nÝ-žå(5EOrÊv%o,³†­MÏŒÓkت­ÉüíOí¨¼ú%œù,-0Ü+8ï)SÃÐ×}íÐvJ¤= ïYļĬ7A&ÿñ‰Ñ¨Œ­fîZLi®0±¬{µ`’P»§¤êvœ޷²ÍY+^ͺ©af,Ç_”‘ ‘TFMEKJP[WÚ ºÔØà­,€õðÆ7ßT¶³Ü$›A˜þ!ô(rù³uÀƒƒ÷U‡l.­´2ÑéyIú×cÞX¼5«²¸1%gdxÏŽ«Ãñ<˺.ߦªòfФdn‰É¿,p£žF©(hµÞg»:Ũ( ÂÒw§SŸ×üx‰¥Ò‡„Üã‚j6‹‰gFFÔP‡¯J-ÞXÙldÓ¿©ìÒ¥Öÿ>þ‰B¡X¶l¹Jí#Šâ½$r®¼±«ëú©“U›ÿ~ËcÙÙ§/riJ͸&.·Ë&€a˜û‹WÀláoé^áŒåUfЧgnm¢ç'©d£©ÀÉ =ßCíNÑX¢s´8—ˆ¹sòé¼r–M:½×© åJ¿ŸŠ‘Á`·Øg»ÏCo;Á÷‹öApÚaÈ"YÄίˆïBÌ?ª ¹EX¯‡ÆÆÒKLüM7¾qí…5ÌòU1wZV“f´ µvg^¼ê¦ßý]Wã¼Kñ¤cT €*mwfØÄˆ£4J€[oT†%DR[k*Œ)ªÖòfˆàÚÊ’ì¼DÝÔ)Å1ýCèY#Úíxn_ÔW±LlblÈ„ÄD—«ªª,­³EŹ–»k®5rQ®·pæÚV]¸†æX ?r­w1U•¶0<­‹ÒA͸¡_¶†›óqÙy‰w¨ËѺ=Ô˜­T@ÀùÄL&P©Ÿ„rƒkÊY½±RµvïÞ N'k4²ÀhT8©üFDsÓ¹?ý©´­½½þ›o6nØz× ÐÕaØtîlAÁž?— øí»ëîû‘« Ó3PUÝlIÐŽÔ‹-ÍfP- ¾¯ÈQëÃ4PR×86ÒÌR½}sŸ˜—©ay×(º‘xm)/7hðÇ?õ &“xþc±ù \yFBóžúËüôËÜ´K6e»ÑÑeíeÙ«‚(Î|ÎïÕ¯¨æáŠÉÁn¸xX¼ò%pý„í*p6p›FRîS`4::%–ÙZ•ŸUœ·|Üê ¶†‚ŒÜ2ktȲíš$TÁÁ TyU@Àh_g1±Ôݥܽx¢©(=u¸µ47öËf2ñªÛݹ® Kˆf6לh ¨k†°Ì‘y\”ú YU@€úÆZ)­³¿‡gþDèÒ?Ax¦þ»¯“c©)®ãU± 7¯µLë–ǪøºÒ±iùª\É&“ÅÔ^][f…à„H-К(=­¥¥µ&‹¥½¶t[Æ ]$lk³ÑÆ66%–±–eä–×¶´4Uçfn…àÈ»´ÿ©£S–¨Œ9 í&‹©¥¶t{òêÕ›ËÚŸ„ß’’ÍK6&oßSQÝÐÔÔÔP{¢tǦäÜfNJ §ÀÖóë_mØÓ•ɻ6üê×£s«p-³? A®\é¤$Ãî4ÿÑGÿo[Æ?|óÍ7w¹¶ˆ"€xúôÛ·g öx+É+W®<†½}*#—IJÒCc~nqm‹Ébj©Þ“•ß ÁI‰÷ÙiI ;*ZZNìÉÊ­22QaZZ¥¾±øp“këYÆ0=€µ¡µÝÆM1@ku]KK»ãáGÔ}^øüŸÄ†½7r¿é¡_©×å]~¯Á{ß_ú«Û/µwôÛ„Iït prÐõX/Ž˜±Ð¾Dè—QŒv*Ÿ2*-o­žoÌ_·zÓŽâŠÕÕ'Ê‹s6¬Þ\fÔ¯ÍKQÞ5LR‚ùš¬Œâê“ÅÔÞtb׿ի×å×Ú~pñ¤ŒLY¥³ÎÈ*­m1YLí ;6®^½ÑÐt»ù{éà„h•ù°¡°•ŠL›Å3`IJ4ÓœŸ±ëDS»Ébj©.ÎX·z]F†Õ½Ý!“=[ìtÞû{«Š›Aµj¹n’)–/Ñ”•W¶Ç–Ä”g­Ë2ó@i"×îL×ºŠ±ìUlnÉÖÕ%Àè¢ÓòV1‡Í†ä–¢½¢Ò÷f«ò ¶&»V[›—¶!ˆ¸ãÍ@Êðm{óò 6¯³‚ké¯Ôi OÆÉWÇçiÊ ‹K+ó«JxŠÑè#S²SÆôX­ÆVÝsÀ›[­ËŽTc1f¬ô¯ßÖ;Óß}š§¶ù¢ùÓOOH$Òû·S©Tw謯¯ÿãÿxäÈ1…\:w¶vÎìéß_:?wîÜG}ûßS¹ ;wSCaFrkA³%é{Sãï»Î®ŽËÞËò ó7æ}lêî´åZˆOÏlÈÈ7l\mF›’™Ë4o>œ•¼5­hÏòåIÑ•¹‡3’+ÃÒìŠÇé¬ÜïT–xíìÈ4.¤tàùÄ] žuÍ7½‘$ %ã>ÝG5gV€—‡Ç„×®|!^? ƒ]â`—Øs ü^&_\Oxø1EzM”!><UZPX^U{€ÑG¦æ¥,»§)¢µËwî¥ †Â¬ä‚‘å+—eîN¹ûDšw/žè  »w«ó ÅÉ€Ré#׿¥m¸ý‚ð´>!VUYf¥¢Æ­d¡ŽËÜ ù…ùËX`4a±é»S0¤^µ–ã8< èGáòät:N'ÏóÇ]¹reÁ‚èë®^½êåååšá~¹¹¹=SšÁû»÷﮸†momnŒÝ}h[ŽÜxsžÞÞÞ3f`ä ýŸÜl÷!Ú3wÖp¼ÝÏOûw»!}ÛÿrÝÝg7Œœ$I‰D288˜——·cÇŽ¡¡¡çõ>«ßžï™ç#~ù«uI¹è™Ü¯W\;+Ôüè:‚‚ó˜]'+ùÊjîêI6(™ÊÛÝÝMååAÄàÐpŸA!—{{zøi¦ÍÖiŸ³ýEÛ_ÇpWÞ62šBE¼ô["è- sôÄG.öþ!t%Ê}އD=ƒ†‡‡Iödˆý´×úý×)£Ù|mß¾ä´äbË÷]]]ׯwq¼]’IÆ]¥RÉdÒÆÆo‡††ÜÔ+¡~+—Ì.­èè4uáÉD辫ŖøæènÁœfA™9¨òÛvpH’Ôùk´Ó}º­½ý6öûö«v‡ã¦-;Lgš/H$µ'¨ž¿`FÈKÞ—Ól¿CN§óºµïº¾—„Ì~q}ˆ^×]Ip}¢}.íƒÄ›ÿÒeíÛw ¼þÛó³füÃÿøâY›aú‡ÐSÏuŽx›ÜÏ)8N'ˆ ‘HnZ° A Ãs>ýOzâ*”¢x#üEÑ5 ÜnM¿ááa;oÈe’e? Ÿ7­íjÿóúiŠ”!Àð°ó«o;[.wÿõÒç_‹ô“J‘€¡!û5Ë0A:[{G¿S†¦Jú‡‘‹žœX½üßÐY'Ú@`ü+^ùüìÕ¡a”Œû+/†\j¿Ò~Õäz»œ¦üUn³§Içû)žsöðð”İ”æJ‡¹þÛï¾ký¾·¯h˜³;œŒèõù›—–†IOу âåO¹/ÞË;!ž¿|.¯Vœ¨Yñó8[~¦=UéŸkêQAWýo¤R(6ÛÀùÓ×<¦Ë´³½ÜÜÜ$AŒ¬ûLŒxº@˜øØív;Ï;œN‰DB’DwW×ù çe2™¿¿¿N(—ËÇç‡ •JI‰€JBΞ¡œåÏ8œ¢Å:|Ý:4Ý[®ö¢þZàW*÷é> I€„n´l¦ßÈäR$AH%0t?s/!„@t?R7B*A¼ÄD?Ý=ÈÙ@.§#^˜wár{‡éHHÒºWœ^úвC#\!û¯ˆ=vP?OÎzIå¯qw“;Læ.åtµ—µ·ß|ÝÂñ|çµî}_{ÿMÄÏ^qþ—”³€(J¿;°:â·ÿÜq}˜ã‡†¹/¾:³àå0­¯þ¦==„áap:ÃÃÃ=== …œ¢h™L*•J§ÀÙl¼½ë\9ô¾Ú¡yÎG&“‘$)•Hh¹\¡PH$W®H¸ª‰Ø@ˆÐ”Oüúúz[[[/µ¶\¿Þ5Ìñ2™”¦¤.\8rôMÓ/ÌŸÿfüÏ_=ÎÏoI’c+û¹¹¹I¤´Ý12T@‘ã…£íÔ׿ANJ@Ê_/yU§™¦P{P Šã¯"ˆ  •2‰ ÿÝRJÌ]F¾*ö|ïì½rê‹îë}FW,/|ùÅ —Ú:L×]¹ß zmò|›¶û¿ÉžÞq÷nŒhºp©¦®áªéº›B4SçÁ¸_6v ™»z>úJоöFÀõ#„ûà ¶cQ/¼uê«&A®[¬5u KßÀ¿Âô¡§«J(Š¢(pgص“$%‰‰kU*-Wv;ç>жoø\ýu®•&‡$2T«üõ7w7š¢d2™T*•H$IJFGމ8:¡©çòåKÇŽi:wÎnçår7©Œggç•úú†vãU8þâ‰Ï>ûåŠûw©óæÍ“. #—ËErvAE  ÂÕk¥•—uþÌO^ô7|tÆlžýœ‡¯ÚÍ“‘¹R>§l|ŸÍ.—K}U´ €ÝIxx{à_¡ûBPî@¹J™’ƒ Z.WŸþ¦ãZ—Ýn¿Öe’$‚žóI‹°¹_þx4i”´R”«À÷Â]Ýoc[¿7^ë¶Š¢808t¦ùâK¡óüµ—Ú¯p¼ýš¥ïccðo¼=Í dOküláË©Ýá`†Î_ºøU93ä"LÿzZ …(Š îiÚ¶Œ¦¦¦{ †††~ûÛߺ»»÷]ãšö*ºNºË’¶KÝ¢Br7ÑÑâ50‡—¿ÔE…ÚioÊÍMáîÎ(rš¦e2™Ôu£àè Ò©5@ô!OГAŶ¶¶?þë¿öööDý$*22ÊÏÏ_.W8ޝ¾ªû—ù¿®ôOÅînë¿ïýÐÚÓ÷OÿôO³gÏve€R©D&“ñâàÑ ¢ÌиÿÍ/ævÇ‹s½Û¯Ùý§»Mó¦ @ûœ_½ÞÚÖCSÒ µ¯Z.¢ J5¾ÓÆzB÷]µ•J_˜7ç…ys.·_ÍܱÛáp€ÊÃýÝ(…{[éHº(÷‚€W‰¹Ë‰ió š7‡óÕ/ùÅW×»­¢(ži¾>ÿùi>ªNs— ug[ãÞZ:ÐB:9Ð 3ó¹9¿¿ât:-=½W:¯ÍÔáÉG˜þ!ô´T  d$éÉ0á/¾8+0ðÜÙ³JJ.6µËÏþlöàw¤„HNa€t‚³Gâè”òÍ òÏž$¤sП ê®C°SîE»»»+ Z.§d2™LFJ$äÈ Q¬ó!ô#$~àp8 v½³>)"âeײAˆ¢±nÝßH%’óç›­=ý¢(zy2½½Ö¾ÞApÈ€$%ž^ª/¿a÷½°8:à9­ûs¾î?SFŠˆ‚Spm§ žª3]¾Ú?ÃWàÇÌðUˆœ]èé窎„~¸³ç[‡†]„<7³÷0v h%Ì]J„%îÓÆ%}àsÚé>šé>©ÿÖ5e¨L&{)tžÚÛ“ãì@×)½¨}…p°@Qòè—ƒI‰”Jwv›M¦=MUÃÑuÿH‚ d2‰DBI¥¯¼ü²¿ŸMé÷G®?òý­s^°$nñ"r€€ DAšeÔ5Šn èR‚Û¸Yýì(H*•¹H‚ 4¾Ó­6òÏ'®H)÷øh©všÂ)ˆ¦ëCœÝa4G¾äè¶J%$Xû¹æ«¿Ö=òE_•EË$ÆNöxMûå+}³fÏÁ+B?ÜùÖ6§s¤øþi —ÚBô˜A†ÿ†p›d²w7E|ìOãczû­¾åúð €_¼ýs<ÏÓ?„žB„k6?×cB ’´;”œòöÒþõªõMÿêeúâ¤ã_+¡ÿEÉâ—$¯ûCMx"$A#ù#9$s;'w?ç$Ä’èåg˜ûBô¼,—ÏV13§yª½eÒ‘À7”$H‚$ˆÑÞA⑽۲H=•vïþcìχߔû¹{(=BC_ }aü„Ÿ®¾AQûõëׯ]3»»I#CýÞˆÑzyȆ9gãyëþ×÷N§ðÙé6ÎAÒ”Äõ±ï¯Xy»¨™Æ\l³-zEõ‚Oçõ¶«ý‘š9K „îÑÀàÐÀЫo‘K܈aBpH===®÷Èd2_IïÈHŠPÏ4÷CÓ?„ÐÚŸëÿ‚ ˆ¢(M«] IDATÏó6–5_± vKÜTNRJÎ&_ –,¢¡Eøt¿µ®“QKeIs$ó(€ GÖ…Âõ$e|¬øg3ûRÇÕdÿnJJJDA ‚$ )%#¤ å":Š¢\·’$INÍ»z¢ˆ¢ØÕe>sæ›ôôtooïɮĭ]‰˲_][YùIý×u}ÖNÖÖïíæ×Û£óWÓA„ÌõÞìëÖ×Ï™»z÷NˆB. aߦÙ:¯¨pB.ñt“ÉiÉ,gdxà0å)Ç%¤ºgM>û⫞¾~øy¸vQKs×´?<ÒX@Ž®ÝK„ÏÂô!t·ôOQt8Ç9Îá¡¡³Õ6«Sá#(4ÜŒ×Låž Y8ùÖOè·H‚ïÏü'ÿ^‹Ø¨æ5Ù’µÔ¯C%Á¢HŽ¥®éá €aÊîGÒWúæþ‰%,ádI$`ˆ ‰RÞî%šéc›?«/<Ä®›A3J777…B¡Ë)š¦(J*•J%Wÿ «Óð¦iå^Íj¾ùI*2ïXš1y]EâãÕ°U®eÇêäÃ|ìÎCÛÃÎ\j¶ê + 1{ÿ”pû±kursê±=qÊѧڋÿj݉ÄC;™Œ·&;ðÜÂþïœIOH6•õÖæ~ì9F˜–ž®Äûñ ‚ÐqµÓ×W«ö™&‘Hïܘ2Öû70Àþ×Ñ#û”^ù¾IïÇÅ¿sü…Š¿8¿ëèûî’eîLš’z¸Ie$ÑÒ6ðÓ—|gû1rJâJÿü§»©½Ýü|Ü•n$ˆ`îæ>©1}öuOTÌÂÇ{è=Ö¸†m+²˜¼ÛBèûúЄèœ~hÏ]Aîñ[ÛOTY#ã'Ä ×´cõVk桜pœÅñÉ04Ì]í¼Öy­ L~2^r¾)õt›O„Sy»Ý"xºfÔv¢ç²È³Å<‘Ì5l{k+ä»ñåšrVl4§Ûs_ʼn©ºÜ¼¦=Z"Ï‹¢(8¶~[Õÿkq KR°sïâ¹ùpå+Ò/²ÿZ¹‚ D $@ƒ$˜ŒxIQl‡>‹Øþ­ó‹ümŸØ3ôKê*y9Fú‚†p“€D}uHqeHqˆ€aB´¢;!r¤8 0 ë`¾o™^õ)H‚RÁ«•öéêÁ™Öß!§ùº»»»¹)ärMQ®¾A‚$]}‚0:ˆôœ¸=ŸÇpµ[ÞÊbvÚ>Zç3@®ÖX\Ã,Y5Åu¶ð˜)™)o{àðù’IŸç¨è#e6gi(ܺuk–îÀŽ5ÆØã¢ØÕmñÕø­âp‡wŠ¢Èóü矟úÃþùë¯ëç¸ýÝ/dÁ% ³ýd¬CNËd´Lâjãa‡ì:Ú´ð¥Õ_]!G#q`.·÷Îòs›7ÛH)ô v\·GF-x¬G>EbÏùôóP‘}°j´±¼ X­ŸXé¤CR‹ðJÌýžžJw7·‘ókC’aF¡$H±¯-HûÓoZ»œ‚1IgúÌ#Þ⌅äì7D™»Ãá”Joîⱌ_€}@î]ˇԷp¼‚çξÜve˜ãÀÃ^.¥Ìµ@Р'ü"ž¤gª),nI[¥¦ï?J$ÞþŠUP‘¸$N‹!ŠéBØhþä®dbßÑs‚ J¥$A¦«×øA÷éq´OOÈ“WiHRI¨¦‘êpéËïÒ›ºÄ«-γ ÎÓEöÿ›Ëñ!¼f~Ï“~óÈéÁ„z¸{¸†¨ŒŽ%`ÂÚ€!‚„Vtó [ÇÕKšÚÏDwjHãË̘dó‚è7ÓÝÃÓÍÍÍ5… IJd2©L&“¸Ö™xì3‹Z«r~]\c´òªèÔ¼Ìå4€©zW®¡²•`t±)™©“\Å-uÅuš„½I”9¹¸Æãjý·TüzuqØ*}kÑj5óú¤ìÌ„ %€éÄŽ,×ö(MdRffB cÏZÒE¦df.rwu;6m­j6³LØÚìì !J°5•ææ6Z(UXBzzbÈc*ôhuxRJdYF…‘‹Qc968N©T ·Gíêôãy¾¹¹ùÿüÏGŽÛ »‚&A"6Gjê±ùδì’ €çœÿóŸ/^*§¥Aôô 5œ½ÿês¯/ô'HH‚a(_5£žÆ„†¾ð8ú‡Çš¥vOVþáf+ ªÈ¤ôÌÄp €o.Ü’u¸ÑÌRúe™y[¢Ôð@±ÆµWäçÔ`ÂÓÓB”\í¶ùLb4[ÛØÚjf¢ÓÒ ËF+³${ç¦på$áOí&  ^•ž½!œ-ߺ¹ÌÌÂÆ¿jJÛ7ÚÃ5ÖmµfÊ 6WäfÔ™y`‚—¥gn˜X9åÚ+r³ jŒ,¥‹NÍL ¹Úm+òUIÑÖF³ÙªŠ9vôù¨¼½G:öÀxÝ6 ò&tÏÂpïKCå2Ònø¢©3.é÷šÙ/34Ì}ÛpîªéúË/Λ¡õ•¸nﱿClû ¾;(ö\Q‚´úþ쓳ü™ö>§Ó)“Jårú³/¾æívxéùçdÊs¢é+DPüÔHê&+a]ÁWgæý’´ì-1Tõ¶†V+l]gNÚ¹+a¤/Í41(¨IbÖTü«uÕñIºÚêf£‘Õ'e&ð¥…'Œf3œ²3g¹övW±KÎÝ"‘ºÃ…‚kÊIÎjd¡yõ¯—åíÞ¤3ßz}À€Àô¡‡„¤(pÍø"“ÉärW-PEA¥ …—o¯µÝ8d,f$2Â÷þëЊœ€ÆnüÓI‚‚$ú·áMBdEó9gc£ãÌYáâgö3íâuD?P“ª9„2 Ñ¡Qéº[a$É ]•M‰ÃÎt™›.ÖÚë<­³‚»ƒ^êWki—:‡E¹¯™K{ù0 ãæ¦ (Z&“ÝzÇàX}wäÁÚú…o­0¥îþó6¥åÄ–Õ¹Kr¢ÌÅY5ÁÙE»¢Ô\KñÆ[ËôÿqóxLSM±18)V«…İ‚‚*S¼«h¢(ÞXŦ}®äZŠ““³GþG¢ª:?·J•yàÓµ­aǺ͹‡£?LжoÍmŽß}lO´oܘQ\”À›ëš¢vþi‹ÖÖ³n³¡&aOtkþÖ6eï¡å´¥z{òÖ\ÝœÇÖÂOè裧±…ÇG­ê±v»îï½)[¢£ãêŸüç®]ÿWïOìû_Ó?°MOo®3ÅíÚ¤4•þjuV.³{ïž-t{ñ_%Ô$î‰go ÿÖU©EŸÆk]Tw`ÓòìôІ˜Ý“ç †Æà¼C†Ð`©Ý•_Qg —É™*³rƒwú0Di©Þ¶.+¿&zWEo®i ß»g“L¥¿Zm¨LŒJÄaj”ï4µfšT"q8׺;CõþŽK2žQ °ŸûÚß^v:æîÞ7oÙð²8Ìýôó#Ÿœ:~ê´vºOè¼ Ÿ¼êç)šÍ¥"Ϻ¶ìð}¹Â¤¹hîs:0oÎ̶+®Ç°pŽšìnRn>„*h œŒöÉJXMKa–Á¸¼èXbm*ß°.×¹=&33zE“W4~”¶v|PØj·O³@ß\ËdîÚ£µÕn[½5£4½hχj[õ–ÕùÅMK¶h&½zŒ…UÃ]"qò/½PÐ!iÙ«ê6Ó숢¡}Ï$ׇlMÅô¡‡Cฑ:"ˆâXÅE/…‚¡džnnžÛk~»›5Û‡M"ðvœ„HA‚èÊÝHER$D^NIÐ %ó£ÉY â 'ö^t^þJhýFhÿBè8"ö7) *Œ çŠÎé¢ÓK=‰»(JE DBAð™ayþE’pª;š|ÚêI €"&€"…¼Û/´Kór—:PêáK»{ÈårŠ’I%Rrtò©D"•ÉA÷ nyB¸ÔÁQ¨°²`ª«hÕ$dG©€Z’¨/,¬3%L¨µ——²‘é‘JKŠf3J[–m r]ÑU±Ëƒ•@ë"#UÕ­–ĸ˜ìCa T€28&˜ªi±ruf]Â’ ‚wZJš7¨¢#µ ÔGi¨F+˵–×@dÞ’Ô‘‰ÑÔæŠf.&ê¦â£9ë­×s©±¤çáaLÌhi(.h¤"³õXXM…&’ô÷×¶·]?±'ŒŽö´ÙluuÙûoü¢úÄðïÅøÌÖ:þ1Y±?@vð³ÞïÚóž|½D'ÎvNcœ__”tõ ®X6ÓG-%B©ýä*ª;þaGËny÷å×ø+RQ„çf¸ÿ$rÚç_^éò^ÿÎo¼¼¼Têi«®øCcÍf.oVŦ…+@Ÿw(”Jh`Â]a¥‹Ò3•íVŽ3ßS¬Ý”œÖÕ5 ËC”@Ä&è †FN@1añÁJPé4”J§§]ÁêºÈÜþ4l?tˆ£G(LUh´Þõä0Šm,¯¬e¢Ã¢6åDÝô²vùîc±´R ê°8˜­Š [©Péu Ûn凩=Rn ùìÀ>*/s—Åáp6ôx1šidvÒÒ¼&8êb»›Ùjs:_ŸiÞùï%A³ÊŽü·kY?Óµ.Óµ®žÞ¾™:?Íó¤÷,‘öž%ô w蟯Ÿ8ßË€’q×N÷©®mp %îã½¹$\QæNh_Úã14_³ù­×)_,…ܦ„MÚTtÌF+iÐFÆh 'Ì,ÀÝšoS>ê(}\´”š†²ÆGª€ÒèÖ8’7ßzõ-3éð;Gâ=Êw¸>„a¸aú‡ÐCÊÿ„±‡ãs#H’ d © i•—×Àìë׺¿ê(ó"†É‘EâFÊ(‚""¸þED9H_$ýà oBLˆƒ$ €80 ö_»Î=߀m¿8x6At ƒ0 fËÈP¹ìEwiˆRöÜ•v¯î«2¹„¤IMHD !!Hœüô®†é½g€&ì Æâ=¯‹ ’û‰2!¡¥R‰T*£)¹‡ÊÇgÚ4™Tú0'Œ¡(†šxigM, ’^8Rf±¼J?±zÄ5WÍÖoTŽÕÂJ›S¶…Ó@1ZÆõNšÑ2PÇò–ÆÃ†ÂŠV€5òüŽmgyJ5úÕ®@Qjjä‹\¯ñV+Ï6o]ñó‘ò,³,ÀM¥‡>­(/z´¨äÅ›77þ€2ûWGvA›¶3- ǪLAh´3<½ÕÍMg§OŸæîÎŒå~‡½­­­üÏ+™¥6çnT5\àk›‡[ÌÚ Mÿ;Kȹ:ÕÅNz˜SôÛ諒¬0Ì w\2U~ÂÌXãùœZ. bǵá3çL¯Fú Ú¯šÛ;Ø R*%M¦Áã'ŒM­¬»‡öÜÙFOÏà1ô$<„Xc­,Oi'†7Gþ½ÆÚM—‹vÕhèQ*ðVWýrÜö)Š¢ÆGõ¤á¶¦JCAy³•Þl…°»ž:$uwvYa©ac¾‘×E'¥¥%†ÆÉ™ê …uFxÖÈS17vê1 ™;ûù ™Þ^3uþá¡ó”nÄ×ï‰}FÐ^=ô›Ÿ®øc5aííw:ùæ¬éZWðœY}6¶ÛÒÛgc]Í=®«h_†™±Æ3ç§Ú<¿ù¾{`p<=˜ùÏÕ{ÞuןT*Yàvõƒ‘†"FóØG~R‘™Eéa£¿4¾Ùœa½} «2WJÍ<ðV#¯¹§Òê61;!þ¨Ñß;=îg?ÙÕcÔ]"ñ>.w¸> LÿzH…âNGQ‰(Ò¢¨ðòrW©<þ§åz‚ÕrXêÜ$€‚  à DAØ Ò"Oˆ2dÈBJˆR$ JzExþ„”‘¢ƒ‚0è$y»œ´ËMr2°J ›„‡ÐÐÃY¬‚UYXQ€¦†–Ng$¾ž2­§Lå!óTJÕž†ûJ§øF.#)™ AßO[Fú%’r9!•CCèLÒŒ–¡ô)E·ŸÔÖX\äýyl8–©ô×ÉÅu¶ðàYËÐ#¥Ã0¶ê¬Œb*}ïÞ8- ¶Ú-+r€fh4³®ŠŸ©e&ké¤T*Fµä®SRŒJ­ËÒØr'Ï©_Д s’\òæâS§N†…¿äJÿDQþöÛ3û ?¬¬(e®ó·KÝ)™sþLéká²+]l¯ ‚A§òpsÏëD¢«—þâœÐ×?4Ý‹A„Kí½³u^‹_  iòhUûU3ë«–ûxËý|*/Åœà9É¿Iñöò–J%¾¾¾ã€F¬1*†bÛGÞ9j*xðX»érÀ@£u4y«¨`€½‡OM 5«Áœ´woB \SΊÍÖ{ù~mTⶨDKSiÖæŒüàñ³š*32ªôy{ÿ#J `©øõŠB ¡ÏtÕºUo‹¢è塤(s[ ѸOäÄáÞp¢üïc §$]–‡ÃqÙØá¦«¼<žÓzyxˆÞžŒ›[_?ÛyÝ~Þ<ûÛVû÷]C½ìuAÀÛËã…yA­ß_±öô ¢oüdþOùÊÿÏÞùÇ5uÝÿÿ}o’{¸A¹IƒÚС]CׯµÛA»‚n¦´RÖ¢Û¨ÛÐnÈ6ÌöA>ß!Û0ëÙ†l +òÙ0Û7W­B®’¶#ýAjKú#ñGâD$—÷&¹÷ûGAAü]«çÙ<úÀÜsî9÷æ¼Ïû¼ÎOL‹30ÅÍWù‘ šVL¬gǺ;fð°®:£Éž^[»-Y>¶wõy¦0ÍzÎC8žU{œîršÅ/ ¢˜©~@œ—¿C¯˜!>Çxx€‹åÑÑ ”ª›ï\¬Ý(OøÛ1rëAá¾Aà! ÀƒÀƒÀ Àƒ 0!p'uòË4O€‚ù0@ Ä&,Çæcø"‘è ¤øÁhIn¬t£*zËâ95·Ñw)vÝÿBºjwºªñ+óM_Žûá]±kc2–Fݵ@ºXAÌ‹S„ˆa"!Œ ¡£²ä÷4›‰äœy ‘²“†:/?*}–Úmné zÍ›·X\“¯û¬f•:i)Ž*5Ki7[}à·Z`íV¿:M#çü~ŽRªi зÇìà8†‹¤âmié °®ãÚ"³—Ö}h :Îj¶zXWçÖÍÛ{¨¼ß¸<úècv»ý Û r‚ 1/¿üÒj·õÛ- ŠP˜'¸ˆ0X¢–!Ù00l¡"DI ƒ9ÑXB¶h>v§F”z;ÎŽ ü«ûc.Ä‹pHýbüã+nš-–‰ñGZœ~ïBzÉra»ãø(?ï‘G½ï¾/k““o¾åÖ9sc¯ÂÃ^[“ë ¦Ëló€§Ó´nCcz º([‹²¥ÖÕÑâ¤R3ÔäùÅšbþŒßÏ‘¼³®.³á˜È€ÁqfÚÊ\-ŸÚÒéP¨5Ê3›•œ‡*I­_o‹Å œc‘ }F`§ˆ?& .ÁS¾ —ˆ|ćç¹_~mÞÍ7©#Ý:CÃ#xßîûð•×ß|uÿövvo6Õ|sãÿ´b{ã?^{ë#Ÿp8¢ý-ˆ_–rû»ŽþÃÞcí—´T½.ñC±ï½H‚|!ö…<À®æô´–eü A')嬧ÛÜîn¬øÃ¸!LQ`cFq þñ¬ÚcÂlf³ÄóI”†a.º~@ýC ÎOÿ çë„p #%ILLtT;´xhðÁ¡CG†ßÆBv)Ö-=Ìc¡ÈäÏqí&ðò·™`\èøC £ ɨC>zÿ‡Òã œž& ÂÄY‚ €Ù&’3aüÂØ”Ò1É8³ó²°Ã1a‚ã r˜Œ"âiâHìíây+—ËI’À#§^Yó*J<åå¹+ 4«ŠË&ïºàé2;”YÅS6bP¥f©ëÍ]= „ROYŒkLn¯ŸÒV¬N’.XÝ^¾!»‹¦•º¼ÂâÔÒòÒ"smÝêÊbWiiör?G¨S * ’HðN“ù²’Ê|“iÊ*.²™a‰ÍżQ›pëmÉ·Ür«ÕÚ­V'Ι;çŸíßÕ çßýî×Å£œø¯04ÊÌ7(‰‰ G‘a8½DpÊšY .h0ý©ÑçÿÙ·0^þÐ} b€0NŒa"LñÂëö£ûû¸¤Û3Ó3¼Êó^.[«(ë/¯Ê}°”¥nuEÅ29ôÂå²µÄÕ•%žòÒì‘8…•…É$°çë óW…ùciö#´’Öæ¯rM¶)ò²ôœiÃJGAÃŽ³¶IÌÌÏè©Zû  (MfIÙ”aûÄœ‚LkÕÚfšV§êŒUÆÒ¤ê‡ÃaŽãX–=xðà½÷^©3¯:4wî\¿˜.:Ù…¯åˆx^øp8 ŽŽŽŽŒ Å !ñA–81*ñ‹FÄ18 cÂCÁ~Iá¿w†…å\òNêÓO$ã˜0ŒáA q 0ŒÄÄÃIL q q pŒÄÄÇ\ 0ŒÄ†cãÿóåS¡Ø€“Ž‘'„¢”i´T&’Éd2™,*Šˆlú9'F8î,0¾Îõ¹M;sÐ6z×<Ï $$$\ƒ–u¡•’Ífû•ië·¾õÍ“'Ovüã/ ¢>xènX8xFƒ°,üÝ*ùòíümêœë”ÿ ÿR/ÿþayá·ô_þ¢jB) ‚Àó‚í½ãm;§þò“kò—,YréÚoxxÙâ:°ÜËÆ§/ñ½îW„‘1ÔΔ.ù„¸ãc2åc×áÃÞc'OX– $sä=7†$IŽã†GFûO˜áÈVŸR’ÈübbVìûq'_ÇÂ,`Ò9Ø}Fìõ2ô‡<5²Üóþ!çÁ…;°H;N ‹Å!•Éø˜˜0σAn1ÇÝÍŽŽ²££ì(;Êò¬Ø3B|:D$½§$þSÄÑÁ„¿¾……‡‡nQ¸¿¸eÑœþOæYÿÓ×GNâ<+‚Ž 0Þœ pœ—¼” S2.f.£\ìOLaÝ®Œ‹ŠŠáËp|žx ‘á"\$Â1lâðô;#np0 »óÎ;uº/üå/>yôÝâS_IÁÌ @„ ѤÇOò¶¾‘´;¢g»Äʱûu83rê™úžï¯ùÂWîM$%"AÂ<ÿz¯÷//|¢X´ì‘ìÕ‹'¢—@\^„÷[[ ÆsÂÍ8Ô¾€ÌáûuÚ‡R¾ðP( ‡yžçOøÞzÇñ±ëб'9:42ù~bW˜Uü7ï¥uÏK|G@àbHûoL“‰´âó’Äy4 Ï)ÿ„é&LNîÈ“‚b±€ Éh€ˆ_ O" …B¡ÈßÁp˜„‰ÝçãD"•XŒ}áŽaűÑÑ‘‘‘v”0øà€xðOa© Äb^*â( !!IRJJ¥Ri¼TJ’¤T*‰D‘.؉Sþ0$öˆé I2Y{Û_ÿº+Qqò‹7“ ÂD „y`†!ÀŒ&ÄEÏjD‘ët ¶ò^‰ðïÁ­µ¶ƒÞÃC7É£‰ŽW>ÞÕþIâ-i欽õ6-†áÈ$ˆËÀ‚í¯FN Ø;MØ¢{1zœxŸg‡'­ÀpŒÀ% ð;aïÃ3œ¸œŠŠ—KîKŠI§ÝsŽ[`ü<@lîblYvÓWÑ{F ù‡@\¿ŽdtôÜò/ Ï󆎋"‡ªŸ£=7v €Ã@,±X ˆÈcLR•Ø8“§Ë†B¡p8 †B¡P0B"!¥$IJÇF÷"g»ã8Æó0õka|Åàç EFݾ TWAü´yW‹VÍ=}pX’r)7qàK(Œ ±-‹‰ óÂì‚ Ã0&(æÀê$J:ü‡?ÛºöŒ¡¤çN IDATÉ̯?ùxnÞ’%KE"ñµ¦ý­!>÷Ì»UXœŽ}ü¢À î×@:SÜÔ,þ f½‰D1Tô‚yru ‹žŒ–HÎ^õ>yLo¦6è9L„ÁB¡Ðh Ðûî»ÙÙÙpÇw455ÉbæH "2üxŽûÏÒâ¼LH Ÿ/ž{îÙ÷í/>½*¨IÀƉœÙ¿î¶Xq–ãCa xAåG8ÑöÄ©è*Nªœ;”I8^°l Ã0”ÀíKD?y2 Ç„—zÃÿkýœ¹Š¯}•T*E ¸ì`¤—ã _>°ÀÛ‚¡c7$„Fñ㎿7ææ¤Íx “DAÔ<¸ùkØObÒXôbHþ!7ü ;a õ<@ á}7™~dãáW{ÿz¡166æK÷¦¢¸‚r즯Ââ°¡£BÀ‹ '?‚À:\B¬ ˜ˆRŽE)j!Ä.ùBŒR’h´36É?↗J§m5r‚08:zð豃ƒb‰ä—ÿó?Ý==GŽÙº­Êb±°¼€cØP0øâK/}òÉ'‰äᇬ¬¬ñÄsDm==;›š¾‘›û“Ÿü„r8?,*:tøðD˜c^ïËïÂሯr}úiúW¾ròäIxÃf³´¶¶´´<%“²ìoªªþø§?ƒÁÈ¢=û÷?ó«_ýßÿ5Šq|~|©³}Ûrþ²Ö­)äy§ç鶸µ†eŠÉß¹ÌkÖu´Ö¥É‘­|ÞL[X–}ïÝwþØøìÏŸš78Ìÿ±#¸ió/³V¬Œ‰‰‰„IHX´~ýz™LVó»ÿ=vì¨ @ 0øÏŽöÜo<1ùVQQÑF£Ñ<öØjdzÿë{_xaÛîwU±#™Ëˆ[ÕÁ)GˆÃB$„xãø§¥(‰ûƒw<õt¡qÁ‚˜u].âŠèÝ^dÜí¦3«› ˜»ÚάF|.ð´¬YÛ™ßZ—qîç’Ofg]õ5]v·Ÿ ”ºÔ¼‚BÃðùl{UM£Õáe8B©MÏ+.6$‘èWGò¸Jij[¡Pˆa˜ƒn÷«¯¾ŠÜsÏ=‡úʼúÊ+ ]û–,^LDz8Žc¡Pèã>úŸgž™gµZÿðÜs§¶üìgÍ»v‘$y÷]wíxî9À0AH’4™Lïõõ=ÿüóßúé¡¡!™Löƒ§Ÿö= ßûÞWx@BQQQÑÑQb‘(ÒZy*?ÿÎ;ïìêêúóŸÿ<<<üãÿhWó®“>ßî¿ý­¡¡ð_þâJ¥R&•þô¿þëðáÿ©úuÕ¯=:2"‹1ü¢W5¸vMV]EÃÞe*À×[g4™”­[¯š"R«÷F$ëëm4åêæmiŠYã‘É…MÍœüB|‰ÇÚhî/Î\¦˜)qumó*9Ò~ŸCíÇó¼ëÓOþPÿ›U÷ 7'„þ«~tÕ£ßùJzzLLÌd¶0Aýï|O1/îw5Õ>pêêë’“µÁP˜¢¨… ÊdQÊ$¥‹/Y¼x‰ÁýñÇíÛ×Ùùr×?Þ8|û¢Ñ”›Fæ…çD‡¹ ,P`O?"Š¥øO<á—Þíjx.¦`ÃÆøùóÑïòÀz»­nmEëö4y sc}{^f† µ1ˆé5™yúFXURÙœš¤€€Ëf®2mX×_ݰ)岺A¶¯ÆXå̬lÚž¢`=Ý5E¥Æ*MóæddœHþ!Wƒ©£‚ðÜèèàÀ©çÿþw>Æ–,^,‰’µZ)I²,ûšõµï?ýôÈðp8Â`쀰âÿXwç2©téÒ¥/þë_.·ûСCƒ2™ldh(66öÍ7ÞøÔå:é÷Ÿôùp€‘áá£^¯Ñ-ÙF¨hÝ’B°}[s\Eë}ÓdÖ8[L¦F›—J·ª¸lcšÀӽݱ(J^PVx†hcû[ÊËÍv?´.bqè5—W™~€Ð¤–lJ‹Ñ¸ÛËAùÚ<ýÍœÕ΀#÷Û_¾ãäÛ²­Í›“Iðu®Ï.g ›wæ¨úë/r7oÕº#Ù{!›Òàë\ŸkÖ­¦;v{Ók6*ÓÕ*Ä¥ °–òÒzC+Õº,ÍÄä—iÌíÙ´²Š^­óÚœ~¿—Q¯*«X?Y£ú-U¦F› b¢T×úÜzmmóÆHiuÕ=¾Îžß\—5Q)ú¬5ÞÔ²æMc¼òÄ´õ•4“»¡jOÎÎ<0?¾®;}5m·¹ý~?¡+¬(ÉJ$gÈÛæì*:?Õßiw{½~:½¬rÓ”‰5Œ×é§uÚÈw¤*­°¶9 Éë®+S\Ÿ ]Œˆó1|òÃ1`„eYŽ}íõ×#§¨ÿ¿Ÿýì©uëÏÍeY Ïá8áó …Ãa°H˜ùññE©.EE}ñ`(tÂïg†‡mo¾™·fM…Éô^øøÓO1‘(… ÿ÷ë¯GÆ3W¬0,^©š3w)%1„„T&[°á¤TÊ„ÂáQŽÄñ'€~¿ñ'?)Û²eóÿ÷˯¼" ŒðXäúÉÏxAZC*t•mméìí÷± W©$zªŒõLNmk[[[CÑb4u{§¢°¹íÙo>‘N;,v_Ä©Ø,:ÓÄÍkFí¼6wFõ¾ç·¤Kiy—²¸©íùçÛš ˆ=å¦îÀ¤Vp{©qQÐÐÖÖÖZ›ã¯7Öô±.³ÑäH«Ü»ïÕ½ÕYÞšÒz¯¾¬,•¢3+›¶O7i†í«¯ê¢KšÛÚÚÚšËÒüV×”ëî*S]ܼoß¾Ö £Æ´Ç@€ßÖMlß±sWS1m­1÷³Èâ®<‚ 9îý÷{šO—b¾Ç¼ÿ+'$$œ}_äŸsçÆ®Xñ5“ië׿þ5š¦?úøàñ'{loýã…Nœ8q¶f‹¬åÃE¢x¥*7÷‰ßþö·?(Ú ôCÿ|OÓb•í_ìñ`˜pÇRìîăov7[,–‘‘aœ+ø f0 »#±¸nÇÎ]MÅÊ®rSO`¬^_ÑÜÖÖÖ\¢¶––¶û€ÎÙåÉ*«Û±³¹:ݽ»Ææ›œ€kOÕn&¿©­­­­µÚÀu[Ý,œÛ§2Ù„¹“± šöí{µ¹˜î(/ïôË\ZnU7µµµµV¤9LÆÝS-Î×UUï6T·µµµµ6äS=펺M¥fÈohk{¾­¹Xi-/·xT†ÊÊÕJB_ÑlÞú‹­«iB_Ñü›Mæv/œ~µ†ëvÀã°1š,-ÑßX^ãΪݻoß¾¦|è0Õô²œÓÊä4íÛ¹1‰™¶VA .×îògzõÞ¶];+Ò\VoDÿÍh^«;­lÇŽÏ7äs»Ë'C¶¯ÆXãͪnm{¾­µRï¨26º©y:¦Ë⌄rY»mNê$QÆ:Û 3è§Œó‘C*íîtø€àVy~õŽ»š*tö*S—o¦¼Ày­})Åu‘¼í©éðLyN…Ö óï6·µtöº|,©P©ääÌuשFüC nX0‘hòD¢°Ìð°ˆ Þÿà Z._”˜¨^¼X½xñ¼ùóy€`8lzæ.fC!Ãx€ …˜‘‘S&÷ü1€‰Dò9sŽ?þƒ™áá›’’,ÿøGYyùÆþ0p\À°È=ÃöwÞ ñüÉS§fhd4æùñ› && )IÃ"Ò‰Bûìž=–O?ùx⤖+Á9ŒBcHW(tYpv»îv«_“——,yJžAéëµ!èÔ,He²ü^fr Mƒ»½¥³Ï  [¶æ%‘ç¶Äišnc&Ì:-vÐçé H+in­HUxlíNeNÞ2I™yo»mJó‘ iÂÛiiïuHUÆæmS䬳Ýú¼ˆ½Éu9锳Ý1mÑÔdiüݰîN§2'Gãít²pvzÕYZ9™´±iom^" *}š’s?:­ËÒÉg¬UÕ!.Ÿ£Û­LÏJŽ¸ÈœÔÈô3›¡ËÑ+Tú,¥?Ò§Qrîv£Í‹8[2É`Pz­6\—£çºZ,¸¬íŒ.oŠÔc†£hzïŒ?bjCz rm†Žpv:ÙóFP:C$o´FM1.ÿT Qemo®Î×0Ýåk³zðñõ[[z}³:ôË\\§ ÉŸÄìð##SþɇG‡†ƒ Óð¿ÿ+ŒŽ’uÕÕ …bîܹ@`hhèÛßþöÈÈÈë/¿|ìàA™L&‡#º¡jëÖ––<´vv¾o·“ê… ÅápàĉH€ùsæx]®¸¸¸_56’Æqááá¢õëÿ±{w(zæç?FG×®]; ‚pòèÑððp$®„ç1Ž––%aâK.ÐÝv›Çå:uüø{o½õÍo~“aR©,::š$IvpPNÀ²†]B3Sžœµ>9k=ø\=5åÆ"_CS¾ßÏ1cö 8Ž-ÃDºãh*11Ë Üm±û2t¶§ÚP’œsöXgÀY‹Z>ÞàÓ¦W/“ ÔxÆÏp„Š"'š¥ãd8 O_õïÞÝ1‘$¡÷sŒ‹áš÷nr9œ»õ–˜W]I5š5¥ŒR·ª°dcÚ”ABŸ}OMc»“`Ü—9–g ˆñddmW‰p8ììÿð?ûÛ³ï# 1 'Oñ ªÏú;CJ$F³±¨hB˜á8.š­Ódâž11szèá»ïÖ¿ùæ›ÖW»¬ö¿ûéỒ·/Æî¾9$úàýgòxß~úÅŽ;¿ñdþÝ÷èI’¼ÓAg6 Š/÷AÇpÀøÎaÊ]Q5fq ¨Çä¡ șʮ"«¢[Ê×–{)íª‚’Â,✖x6ã&Ìùý ¡d$°^îúu+Ç3ÅÑ? §'nÉ—•Õ–46ZLëL^B“^PRlPúý¡¥&Ú¬*г1Ìô•š6Kíív´½*-OGµ›»Ýèt+3t ÖÕU_Ób÷rÀùÝœr܂ǟnÚZÙâÒáÕ˜1„Š"œ,3½9Löƒ@Q0>ŽTEL26ÆÃ°r]^*al±R”ÖvF_¬ÒéJQ4ÁxýÀäîP–q1@G"&'Hp^Ž™9o§}ß (R S Àúú­æ*S‘šw¤^ÍjÉ?âÆejÛKŒ GFG›vîäèØXMRMÓóæ)fÈãñÌ‹‹s¹Ý#££ÞcÇTJ%/Œ/ë=zôôt)Ió$Aü¬¬Ls§NGÉcƒo¾õÖ&£‘ã¸ÁÁAadttÁÂ…b±ø©ï|§®®žùŸÿùmu5†a ÕÕÕcƒ„†‰$‘D" …øñmI©4*Jö³²2×Áƒ}}}µuuü£”$èÓÝùÖ›o¾úJ×¾w^{ÇyèKÉ’{nÅô·†BáБãG»þ³·ò™CÏTþV“t³X,¹ìo`f£`üã;Žñs„†JIú’æm˦4îYû…’²6nÍÚÙµ¡¼t®v†D ætë–;KK4Mpþñ ¬Ïå%¥¢MAÓŽ¬™wy"3ÖoÉX?¾'T£¶)mÊ}CÐ45)ñÉ֬ˠ»í6'芕*B-6;8)}¾ ÀÕh4ÙÓkk·%Ë\æÇ×vN÷zÏ®U—ÒË †ùäà‘ýo½óáG®ãþ“%#Mù; ýç÷Û_ú÷¹Ãܘ©7-^Ä s\ÃÇ0ŠŠ]ÔŽkEçá&ʰŸëʘÆØ˜”‹üE–M@Ñçf¸ kd€J¤H 59éT‘ÅÞŸÜÉ©þ€ÔdhÁÔbó-;íÜ€uZ¬~MžNÇøÇý&ã皢fÈ[﹟“õôZ”>-I@*’2 »;ŠzÜlæÕ­F®KÐäOâ<ìD*üÁHR$“„îXñõG}â[ßš7oÁŠVÄÆÇÇ/ZT\RòõGýÚ£ƒq †E¢ @àÿýâßûþ÷.Y¢Ñjó¿÷½Ö½{ï½ÿþĤ$UbbÛ¾×>õÔ’[nQ¨Tk×­{ùßÿ~ìßXõØc1óæ)ÕêøE‹~ð£íjmÍÿÞ÷n¿ë®¸… —Þzkjzzü¢E /^õØc«{쇢ããå4=wþü³V|ýÑGW=öؼ ”êDZ©ü?³ù7¿û!''Q£™·`Á-·ß¾&?_ÿåTR.Ç¥²3ð»"åÆÒ–^O¤K1ÐßÞØáUêµ RcÐqV³ÕÀº:·nÞÞ{ö4+UªAé47šÝšÈ•ó‹uÈu ÓÕbxºÌvÐÍ»ªõw˜{|l¿eËfs? *}–ÚÛÒÒ`]-ƵEf/ @Ç0Üô:¸sóS›-.äJš‚©Á8¿Ÿ£”jšôí1;8n†û ®‚ÀÇÏûòWVcŠÊäb23¾jÉdW¥7)²ØŸ??þ«g>ýƒ¢o|Ë(™¿âoVÙŽ½#/÷†ºß t„‰Ùÿóú«¯¾ÂÌ0µ1²”•Ti’è™%©DŠñºý>›Å~öó’š,=ØÌ] ÐSµn]•Qé³ÔnsK_ ’˜yóË”E;lÝúõ‘ÚƒT¨“h‚à€ˆÜ'R½øì-VF›uFó{ã´NGØÌ-^Mššeš–±˜­œ.M À2~† “”rÖÓmn÷ÂYÖ<}­‚¸XXŽ{ãí¾_×ï¬øísmVç§O 2fèˆ÷ø¿ßxûÿo×Öê†NkÏ©ÀéÂã9vÜþÞÿ¼ãx§ïÏOéÓ C8]ÿyÇÑÛ÷ÁÁ#ÞÉ—N˜÷û?þÏ;Žs|y¼“D)ÜwòÜáß;àŒdŒã‚§]‡?r⸋t ­^éí²ô±à³šm‘'žÙ8{‹Õ¬ËÚî¦uº‰^LR•J9Ì»ôµ´xÕY:D&‚Òöú* £ÏќٱªH-.ÐØË‹¶µ÷ùX6àê®3÷P«‹3Çf»¸-–~v‹Ó¤©ÉÙLu˜îúR£ÉÒçSk}{mœ&MM^Íjäzþ!çÑR Ïè„”J$IK—V=óL8&I2:::Š pž'E¢Ø˜˜G¾öµ‡32"ëvE‚™FÇÄÜ­Ómøîw%!B”LFÉåA„¢¢¤ÉÿW `‚Àq.ÂY^.Âñ¨¨(YT”D"‰–J£SRn¿õV Ç^ÀqÃq‚ æÍ»í™_…Ãa))ŠŠ’˲¥?ý) ITttT” (J%[ùðÃ_ÍÈÀ0 !ÒŽŠŠ‰ŠÂA…. 3vÄ IDATþí¨rª«¡ªÞ´¶ÆËAäÜ¿ÌÊÚõ‰°¬¤2ßdÚ°¢ŠÛûN+?»Ÿ]•š£®29õ‘% ?¯Xê0³**úË«rW0­Ë«,›:vµ¬ÂeªZ»‚B^X¦&WW»JK³—û9BZPYD’ =UjÌ~|UuÓ¦37ŸV¤æºME+k8‚BZ\2yÁ<(Ò V·—oÈî¢i¥.¯°8µ´¼´È\]Œìë3aþüøìÇr2W¬œüel,-_%·‹Å‹©ãã•÷èõ½o½iíîúÀwz¤[oX}¥Ž¡žÑ((­ÎU³áq§×Ï)3KÊ–É’ +‹«Ê‹²#›hæ•ä+fé–‘kós”寕A¡Ô”eª@®š&QgfvVmxÜBÓJ]FªÒvVËXžVRá.7­]iâ€Öf–•e)ò*J<åå¹+ 4«ŠË¦Œ´‘I9yÚrSîƒ ´vUIA)O*©p›ªÖ­¨ŠÄ©(ËRLžÕMª3R•»Ë³é¬lÚªËÐ2»;4‘°:Mé-u¦hHÐäè¦Ü5´Rc((~Òi¬)Ú¢®Î˜òz§«UÃ(˾aïklÞsÂwäTtÒµf‰Z$Â9Ö÷¡ÓrðÔ #‚¿l£±X{ËRÅÜ9g_º)1aÚ(1rêö[n’’gŽ:ÍCÏsäòŠJPÅ ‚ ¹èª&1¯¬ÀQZôÐJ©ÑÒÕ6GäÛiÌ h½º·|M½Ûëí“eI$Œ÷ÝÉ…•…&SÄ®)uzIåê1JL7(ëk˜'K¦YñN&æT7Ðõ5Æl”Z—^ØP‘•4ÖBhR¡qÇ×ËÑ©Åé Å y;'dÒÆÚJ¢ª¾4·ÊϡԦæW–TuÕª‘ëŒeQwâ³ê}xž‡Ãáp˜ã8–e~IA,ŽfY2::J.Ç0LJQsó¢cæq†GÁÄ‘é)3¹€d<Ì´Á„ñ/Å3D‡IÑÏ‘Ü òcüA¡ÝVnL£¾6„ßDfA IrþYǾ_Ù³ˆkž‘Qö {_Dû%¨âs¾þ>åöɪæ'ïÑsw¯;á‰N Ñþàls^A àS{HI’8{|o¬].,e§ :ab‰ø2K^=õ5mA :‚öºÉ?â¼ZgvR“Ž ¹\þË_þò¿JJ0€9sçRÑщ;c«•YõØù…¹Äè7¾ÎMkËíÊÕÕ4ʸvåè5%Sˆ«ÇqœŸŽã âSî¸åBïÀ üæÙ¦É¦ÄCÞc'Îk”åZÛ_ê²¾qÆ÷iËR\þ¥i£;áoøK«ŒœâSè¹sî¿÷‹·hNÞ·«eýº·zuYe†•>$ÿˆ™‹í€á8M’$ €D"‘Ll+:õ?[ÛÚ2Ðk@ ¦@&oz¾ ½ĵ/Cã*“’² Ýœ ðÑïç‡?v:ûû¥ê…3ëÌáÞwœñåBÕü;nÓ|Vö¼lÛ¾ç/,JbNݾœ‹N01oç¾î‡ßÍ;cë G§¬!üC >wòO|ƒY ‡¤C Ä5 ÿHB—|ó·iÞîûÐ?0ø_a††¾zÿ} ”q0È íë—ÿý&!‘|㑇“–&~†›¬`b±h²ÎD üC >¯ð££è% qõQÍËÏ5ÔìøË§='ÿÞÖõ‹ÝsçÈq ŒŽãb±(ïÑKf^›wA Œ6þÕ²kÏ?á¬Õ)wÜöä£YèwA ù‡@\× mZø,Àq,qÑ‚~'ï_¯¾þŽ£ÿ°÷8 ;ákÈŠEó´.ù–ïÿÒ¢ÊË•(Ïó‡þÑòȇ\Ð^´Ö]X½-k¯2Õ[Ý@Pº¼’’œd9Û³)»Š^¥±ïv$­½µ¯ÁéãZo~õöqG䱋v{Øðx_qíV½ßRej´y”©eÅY‰S›_¾îmFS‡— •Úô †ƒˆ; ôµ˜Lv?AërJJò’™–5k-†ñq¶wKv)WÖ¼Uço¯*¯·z9J“Y\¶qÊ@d ÿìÔ}íOåšu«5N›Ûï÷ršüвœ¤)î5’¸müž›Òè\ŸmÖh¯×˨WUT¬O–ÛßR^Zoch¥Z—¥A[ð ®®ÝÖu´Öélë³#EÑéf”«J ííN·—QçUVæ%ÍZÂÏ6.9xÌkÖvgå«{ºn7£É/ËáZ;Ý^/§-¨ÞjPMWo$‘óšµÝ†uw§Óëõ‚&¿²b׸Áhõs¶µkz+6§ø;·•×t8Çb••å¨Ýu§T.«_;6úè5—W™~€Ð¤–lJSÁ4÷Ï™Zœ ,Fãn/åk×dV4lŠŒþ±ý“­NmÛFc—ÃËPº'#¶<Ý¢R‡¸ ×VSïÔ–5o½R$emªT&Û€b¯¤äl7•×Û¼PÚU%eëSäÀºÎv—¾Îõ¹fÝjºc·wÙ£Bç¿9/';)VzmÃäÎâ‹3d_O]yÕ‡Ÿ µ«K*ÖOî<&“rr4{Ì—a\ṺZÜ꜊$„:UÏtµôç ¡º,¿V¯¶{¯§B„ö¢E f‰n¨Ï…½_{©qQÐÐÖÖÖZ›ã¯7ÖôAÒúÚŠTŠÎ¬ÜÕô\Ã-¡,¨Ýµ-Kåj,­rè*šÛž¾µ:Ç__ZÓÇxmîŒê}ÏW|«¼,•¢3+›¶Oê„T*J"·ØšAõÕk¼YÕ­mÏ·µVêUÆÆ©§ùzªL]tqsÛó»jóÝvnü[c=“SÛÚÖÖÖP@´MÝUjŽÚk±z"®Ía±©y:¢¯ÆXåÔW4·µµ5—¨­¥¥í¾IpúÔ ‚sw1†Š;v6W¼5å{¦ä‰ío,¯qgÕîÝ·o_S>t˜jzY €svy²Êêvìl®Nwï®±ù\»ËkœéÕ{Ûví¬HsY½Hÿ!®<pn+—SQ·³¹:Õûgc äWîØÙ\©w7ÖÛÙÙJøtƹ©£‡Êß^·³©Lë¨)m¡‹ëvìl*QÛÍ}ì´õ‰Õy•u;v5•iõõvHZ_Q &4ÅM;7§îˆ}ïÛ·¯µBç¨1íñ“Lœè6•š!¿¡­íù¶æb¥µ¼Üâéî?¥Á<],•¡²rµ’ÐW4ïÜ41óóÌD9¯­oYÉ®¶}{«õî?×X}3= qÉBÌÙémŽ~Ê ·"%++EqåúX{M][ÑÚÖÖÖÖT¬v·Û|ÀNë. 8§•ÉiÚ·³$ûñóu²“bM™(tq†ÌöÖ”ï†ü†}ûöí­5øÿ\ÞØ?ÕøTéyZG˘I²ý–¯6/}¼ÕA$ÒÁjv°c»¸TC2q}•"$ÿˆó1üÆú\PG¤Ýâ 2óSU@ªÒótœµÝ=}3Çc³º•9†d9‰é9ÆÖ Jh ©ç3é„u·Ûm^f" d’Á ôZmž)ºœÆ W™”ž£s—+èó#Ñú¼TÂÞî`'é¿€½ÅF¤4àn·ú5yyÉr§ä”N‹Ýw©Óé­Hµ^O»»“4#I›öÖæ%’ Ò§)9·—‰ø:5K#R™¬¿—Ÿ£Û­LÏJŽä3'•F¶‡¸*P™ššDt2M¨3ô‰cƒß)«3—ðé+bÕ©*+“)B¥W¡TSŒ—9G½A¨ ©‰$ÈÕÉ4xÇÓCžVÑÚ\–¦¹6MKøûýìô-ävèó"µŠ\—“N9Û˜åþ3Çš:5O¯¹f™’ðû™ ©ˆ cü AÓ3Ëÿžu+œ`¥Ñ6¹ÑQ¾rù$Ù6Ñ+á®É|eMËd× ”’`ì–Ž—U,Û¸us†‚Ù]Òº,.ÌɎǺdC2eKkke–*RcéhÆ}ÆŠGPèóô\W‹#¬ÃÜÁéó&éiBm0P¶{€u¶téÍu¦þÐäOâ|@;Î ãg8ÿî Ù‘Ú‘ãBïPOÓ"c\ Pôøz‚¦«³O;{jEWÄMãaX€‰ÞBÎÏôxj,(ç÷sŒÃ˜½b" ePès4Uf«''Óm±SéÕ~†s˜rWTûYP{™YS‚RQ‘,”Š3eÔŽuuÕ״ؽp~77±5¡ Æ2NŒ§Ç¡ûI¨(‰Jâjè?ÅX©# ÆŠøäöÎÌ%|ãŠD¿AD 5qÎz`<ä øì{jÛ ãæ¸ÌZÈ~?GhÇk’RQœmÓ]ês´5fk¿²×N§×&‘ÀRJŠÐ—4o[6Å=úœ³¤ÎMˆP–ñ0@Q“Õ¬«Ñh²§×ÖnK–¸Ì¯íœÙ¯SpnB.ûÑäOÄ5ÁÌ%|ãò\T½áqŸ;V ÛTj&J2T$z6e›fn!ÜĀ˸‚ž½i¦XÌ嫈K…Tgh‰Ò–®É;—€¯g{3£8O AÓŠ‰‰ ,uy®HÕ²¼ÍËò|}-åE¥UÚæüiÝe`Š+ÎÓÉÜ—ÑÙ¾*c7¿¡!'‘¶okv‘:AÙ¦Ÿk·Q™ g6T©yšú–.+eW檮¿U»hò'q`Øõ¹ä:ƒÖßaîñ°ý–-›Íý3LqRé³ÔÞK ¬«£ÅI¥f¨Ï¬V àæ,ÕCpœ‡aTg¥Rs‡‹€@_K‹W¥SMqŒipXl`û[Z"ºÔtœÕY‚Àº:·nÞÞwM^K£Ù®4#~5•¶7Fî¾îí›·uú&Ý|ÆÔýVKd‰³ÝêW§i&96–ñ3¤”°žns»8f&U§Ðê•Þ®ÈòYÍ6ÙâÚ`Æ>£q]¶z€Ž‹ôãûý¥TÓ$@ oÙÁÙÒD€Ó¹ÊÒƒm,W>{‹•ÑfigÝäôÂb•èÅ? q!N7­°@ë¬Ú°¹¥×`}}í[‹Œ M_¹}|]-ŸÚñ† µFIqNw9Yÿ¿“½4“œè­òû9"RO°®.³™®QhÈS»kêêXE+µ™=e/+©Ì7™6¬¨âÆváó r]ŽÎk´ª‹Ë"2ŽL.¬,®*Üh]^I¾`Ü9‘ÉÓ¥î ”zÊb\cr{ý”®°bJžHM^ÞhÊ]QC+5†‚â'Æš¢-êêŒißP^Y£´è¡=”R£7¤«mTÀ.áËq‚%¦-á㻿Lo\ÌEÕÓÏŽ¤uYÚšúÜ=%M«ÛË7dwÑ´R—WXœZZ^Zd®­N°Ý0Q”T¸MUëVT¥YUQ–¥˜}LrúXì,¹ªË9ÿЏ $æT7Ðõ5¥¹5 PšÔU• ùËT³v½8ÊW./ŸRW74oœu@-13?£§jíƒ&  4™%e)$ Ó¹ËÀY!çãdd’³²\_˜¯1–f?B+imNañ*§Ñ´a›²aÓC|ªÔøÚ×/_¾|ùòål;‡½] ¬§sû¦5+\¾|ùòå>òÔæ–¾K0X_çú×´xfNÍÕÙÞ{™*¶wóŠËþ:É?qC“¸º¶¹2M>cÌi®·8™‹Ž@ Î EVÝ«¯î­Ð^ö»vMVeaÃÞW_}õÕW›ËôÞú"Óë±aÝ–z³Ã~O˜tî¸4<æ5k»³òÕ=Ý·›Ñä—åp-n¯—ÓTo5¨|=uåU{~€Ö®.©XŸ"×î ëº ZëÒóšµÝ†uw§Óëõ‚&¿²b׸Áhõs¶µkz+6«í='‘œœ¿éR÷Ì+Ðk.¯2;ü¡I/,Ù”¦—ùñuÝé«i»Íí÷û ]aEIV" àéÞnªép2”:½ ¬0CE²=›³«èüT§Ýíõúéô²ÊM˨° ®u}-&S£ÍËPšÌâŠMiй1·FSÛ¼1‰¶ûÚ Î‚æí©L»©¼þÿ·wïAMùÿÀ?r9§B‚„𳈠‚"üêš–Š×T\¿ ­ÁVq)øµ­¢Î¢:̘Qù•¥­j…ÚB··Tª.^*ê6Öï­ £€È­¨9`σÀï. Ôz©߯ŒIÎ9áIÞç9Ÿç<'9Y#qγ£â{³ðK=Öð}çé7MÑ{§üÏkßÝ·„ÙIÙÆù"ÎnÚ²˜˜•S¥T½ÿ¯ëÎ.dû¿î~yFÓæ¨;ýäDDÆ#_NwËȘzÇK4]\(ܺ)¿A u¯\ˆÎHöû%hbõ¯^$]ÞñêÖ–•˸G®44´p>ÑÛüD†;¶¦|ÝÀÙ9yÎ÷Ùá³£ÎþÀCâˆ]<#Yµóïï‹÷¼˜÷™]ôß?üx_Œóù¬ýD¿OO̧U{>üÏŒ%-¹‰YƒgUqÄ.ÓÊíÿðÓ}ñž33ÏÓ¤µI‘Μ[ô¾cÿL¿yñA³õ{,e<‘·ŸVíýê«/¾:ít21±°žˆˆcOJW½ûáÇŸîKšv>5娨z\âIçè}_}õÕ?’æ\LÙš_Ý»†“þý÷?þbï*öeú×õø¤Àx9+1½&0㟇Þ·Š¾NIÿ^”û,ñN׈DDbMñIaÚ2yý׉)ç=“þqøðá1NgSSO>±Ç{.™MGã6%väûË‘ˆ¤ …œ'"ã™Ô­™Â²Œ|õÕW{#¹Ï¶¦œ0q çÈ£|õÞk+æÛ],ÍX%?qžá³(ÿ†/Ýüf+ˆHê4UÂ9úȉˆsr– ÿç„üc{ ‚ˆxgŸivBÍS´8ç%³'ðD$užjG -ƒæ|>®Åï¶”x¥ø,ù¬œ­ "’N[6_r¥øbïÑ­ó’ù“x"’zúM㮹"ÖŸ-¾â´lå r"â'-\éÖP|¶·T”L[â#'"²ss–Õ-¸”þèøI÷ý3c垈>sœXMƒ@RŸeÓúê?±¦ð¨0mÙ4))–düsß–©R"’Oós¦††;r)“p #jÙŸ¸îå¿Ì}éöŸ©'"ñJáIòYµpODrŸ•³¹óÅ{³áì7{ª”ˆŸ´d þ3œ/¼è´$p‚I6‡]ü׆{‘œç²ÞpKœ%BC ‰5'.2·Þ¼ò“æ/óÄGF1Lþ€GPÿIúç9â8Žˆˆçúï2^ø:=³ðb #"ÖÐBÓ~½øÀs‡ð¸¿ËR¬¥…qž’þCb‰BÂÎ Bïj×·D±&õÕd®^”Õ·¨ÀìÜz+½_mÀxfË«[Ï Dœ[äÞWNÀçþhÄ꣙éŸo`DÄZj˜SßÈ4!µ¸&Ò™ O’Oü4)‘X6+=ël #"&Ô0nίW&¸vjàZ"2TŸù:=që&ÃÞ}«ZZ˜pqëË‹zÓÁ˜@ž}áâúÃ5!p‰S~áyƒß´³Ÿ]q^3È`’Í¡ê¯úEr&ÙäúW+pvý{1‰DÂá£(ÿìxòBêÖô†U{÷.›À“x!ùåM-øÅ9;;Ž œ…j³ë=2eB‹@$%"Zg'‘HÎ-r߇ƒ®ì¿bµÒâ÷ýƒõV‘¸ž°ê…íæN•ë+„ª³¶¦œŸŸ‘±cª”¨zÿ+aG¨¯þóa)ÅWæ°“ä“äÉÕwÔmûÞ_Šÿçå¬;Ön¸pâ!0Zaò'tvÿÉz""ÃùÏN žž½Ç±5……—E"2ž/<ÏÜæ8ó Ÿ@çšý}ßioü~lBaõ°+–Ê{Iy|0àI'óLVJbæƒh¼üõgW$ž/8ñ¢Ð"pv“œ¤Dbý‰ýÅ ÄzãÂ{.ña'÷gäæ/sã‰ˆÕ $™ä,'"Ã÷ŸÖ3°AS0ÙŬĭqŸ}_ß{¯ñrqÖ× N>žrÞmÉ4v²/\bõ‘䨳L› IDATCü`ƒbö§+û³ö׸-ó‘Îæ0‹sŒÕ ƒgÞóEþ²Vç9nt±ðl=‰—?ûì >€òàÁH}¢V¹{ù¥Wþº.‹-‹^ìt1eÝŽ ÷¨Áì¦z6d¾ºhãI·Yü!·NÒ91I+¹¬Õ‹-Z–Ú°0)¾ïäç6›²Öýõ¥E/'^ñ‰Ž™/'š°2)fÚùÄW-Z´èÕ”3γ1«F€I‘IQngã^þ˯ÞÏ-Ž~AJ¼ÛÊHŸ†”W½ôʺÔ¿èP·†ôM gŒýõßynþ’I<Ñ„e‘ )+lÑK¯ü5ñÄÔ¨¨i,k\±É)<Ųwß]ew$%ì/sçÎ;÷å­Ÿ±…Û3ÖN ’¾³}e­[´hÑ¢—7íg/ô­ÜQÿ-s¾r²ÁóŽêo¸Å¥n>ìËuÿý?ûM_†|‘%ÍC'>:f~Kê« ½´:“}$ø|Àè5Fñuðdôôôtwwwuuuuu1ÆDQ¼~ýº¯¯ïcÚ\mm­­­­™†<àAUïÿkï¯Mà÷Mtww·µµ©T*$ÉEr»ÛÆwöÖœéêûŸåXÎÛU>ËÎõ.—suÜ,¾ÁNnÚI—®¨"ÍÆeﬞ=ûj·Çã]åÉŵ#ŘéA‰ÎæD]7~Ê?Ù°éÓŸ·¿¢œ<ÌA½p£9炽ß$~˜ï42WûOÊ0·ä¨-û”@ù0â˜;Ž·[ÿ’e羚=ä;ŸåéæO»¿i8ÑÚMd¦šè°užLÖx}Ó7·Ú©võÛD­Re4¤•4në!£šèøÖ|;•E—®äršËÞY«íºz®vÛ¹Ž6"FÓŸÿÖ³V&¥c· ’„73¹# Þ3€û3aåLJ1óþHxë…Í®]éHÌ?x㜭"ãõ)ŸDüiFc}ü¿oqãÇÇMµ°Tªö¾ªtµ`ÅÅ z'ç"=?S:\kØ}­sˆvü”öoqÖã“×§|òн¤¦­ÂôB1±=§ "æÿDÖ!|ðéåøK ïÊ?øH¬ÌI¼Ý~óæá6ËÅÏÛȈÈÂÊo:ßtåfí 'rK^™œ1ËZBDVVsm{ššo±:s óÛÇÿÓ¦oíäld›ƒ•Þ¦— òÒõANÖçªÒn<óæ’ÿ¢²ª´«x FLþ©ZÛº,­8K&´ËÉ»˜×wwO§Õ3Âm2·Ùx­qÏ9¡–‘¥9µµ‘µóP«ãmÞÒ*rO·¦}ZßdÎÍy~ü›ÏZ ú:\Ùæym¯m¸á¼yöO«5-t?%Ê?x¼:Œ…5=óÆÚqÌÚœ ›´ÀÊôáî«7o¶&}ct rMt¶$ê<| 2o˜Ur2YD ,‚º[k㋯猟´ÞÞdÂàÍ–íÇ:çÎW¹ ñ';ýüœQû,˜ü 0ât·6´îþâÆ9[ùz7ŽllH;óϵ DDú²êmå"‘9‘x»ˆk'³‰¶–DÔZóã—mÄXϯ/Ýc u[Ôé;ˆÈLfÿŒÌœÈtŠhÇÍ´Â-}]Þt¶}Ñ,›í²ÞÙïÄÈ‚j`¤è9wðRpïMŽ›>Y±s†LeAD|H¢ñ›Ú×?è¦.²v÷æ³<©&JþSÿZ–1!Tî&ìÉû!ßÊBåìðæŒŸ¾­N’»,¼vÎÉ>Ä©6mßÅV"2·ðžª w29]de³9̦÷‰o¯’á͉ð³ïðäö^øÙw€‘? €ä"¹#(¹ˆ%ÀSåÊ?@ù(ÿå ü”€òPþ ü€ÑÏMå¶ñ½5gºúþg9–óv•‡Ï²s½ËÞ¥ãfñ >p?ÌÃ]º¢Š4—½³zöì«ü=Þ*$PþÀ˜éA‰ÎæD]7~Ê?Ù°éÓŸ·¿¢œ<ÌF¸ÑœsÁÞoÏ ý¸¹ÚR†¹%GíhY$PþÀ“¹ãx»õ/Yvî«ÙsA¾óYžnß:|´.çë4'kûqoú+½[¯oúæV;Õ®>`›¨UªŒ†´’¦Óm=DcTßšo§²èÒ•\N³qÙ;k`µ]WÏÕn;×ÑFÄÈbúóãßzÖÊä´[I›™Ü€‡KîÍŸvÓp¢µ›ÈL5Ñaë<™¬É °·€G·^8ÑìÚ•º/}[³§Ù*.bÊ'¯»o–“Š íãÇÇMµ°Tªö¾ªtµ`ÅÅ z'ç"=?S:\kØ}­sˆvü”öoqÖã“×§|òн¤¦­B4yTlÏ)¨ˆù?‘u|z9þÃ;ðpÉóÞ8g«Èx}Ê'šÑXÿï[’ €ò`H+so·ßþùÈÕ.×çí'óDdîýÿlšÛô¦Oä–¼29c–µ„ˆ¬¬æÚö45ßbuææ·ÿ§MßÚÉÙÈ6+½M/>â¥ëƒœ¬ÏU¥ÝxæÍ%ÿEeUiW;ñåÀèUWWgnnîáá1vìX´ÆN§V«Ñ€1VSSÓÐРT*ÑHîïáH¨VWWWûúúâãñDQ¼víÚ… ž}öY´’‹>}îýÃX/Àc4ÿô§?¡‚G…ã¸ñãÇ ‚€¦@raáyÞÙÙùÇDS ¹€>åÀèßw à;v,æ5!¹0âXYYݾ}í€äú\”€òå ü”ðdžßý½ŒuUõ'ŸàâbÏ£9†m%½^_U/H}ƒ4J4 ¹#k½ª¯¸ÚÔÊyÌ™ë*A{’;2ˆÍºòÊzçåà!E{<8û05ŸJ ~îÅÅ+WEF® Y8+ "¹¨J¦Ã:=ó¹ç"5ùࡈ™‡ŒƒöÝ©ÁÁɃÖfÔ•ÖÝÇn¿"5à¹;„Ô=©VëJS#^\¼jc\bJJ¶ž z°êPr¤VóÜsÏ=÷œF•zh¸öº•ú×¢‹ÖhsëîÝ3B£ÓKëÄßöÔåj5Ñ:x$÷©Jn«>ÿÕÚ×6%$½»gO®¾}pYX{|wÌÚåÁÁÁÁÁËׯ¿¼– »"áø–¥[Žõë[LÿÎòµ…CžWß î·4lã;Ù§Ùoú†ß. ¹£8¹ÍºìèàY WnÜ’˜’òžnpŸ9úÜá·‹òž°º¢¨9eõDDœ„#"2”ž²*»Bª×Ê«ô^ª®Ê+k~ð:ª2û½‚ªûÚr’y™ß~g"W«|"­dÔ§G†lÉÓÜÿ–™ä/!‰‹Òä—ê "C+Ý£2¿þö»o¿ÎŒrÑ'†n¶Ó”jÒ¥<À0æ@k|ûåÎp¥.6dã“ë˜É ÉeW‹ã×ÅæœirXœ°Ø,UÖ&7ÇnL»æ‘üQAQÁGÉªŠ´ñÅìL2#ᣄ¹pê³~!¹ ¨¨¨¨`obˆcù¶uÃo\$—ˆÄŠ‚¨È]Çê+vî\¡ NébÚg¢ÏEù¡ùPbJYß°²Wü—¥ÿÊœ×WÖTîŠÍ«úÕÓË>¯r_³FmÈ+éß ŠUÑÁš™Á¡Qï•÷jO¥Fhfj´)%uƒGºë 6F«/‹ ‰*¨#j>•¬Ñh4Á©¥÷×½Eh"²³c##Bƒ5‘ÙbU¶VUÚ7Æf,Òh³«iG”¹*§÷o«ÌIÞU*Hf» LÖu»Ò«|“Ó£5ö<ñöšèñj}ú.H¢>! 8µ·Sï¿m, ˆ:d$"cEn´V3sæL6vðدQŸª ˆ,f¬‘·÷ˆNOö­Hߥ{{ÊØÐ€€&82õT3‰úäààØô„ÈÐÐà€€ÐäS̓‹ÙÜh­F  M(ªipžŠÖ§W!HîO.k,Žß²ç\;QÓ‘÷ß?ÒD~&3?™>'§vú[ oÌp•qÄÉ\g¼·Ù»"'Gψ]J [ýþUFD·…Ó ¯%ˆH¸ZøÎÚåK—.]¾vÛáAç …Kï¯ ‹)æü'sûFÂ[Ó¯åäèYouºmcXXØòå«cÞ×µ»´{õêmÙi17® Û¸[×JƒÖ^øÎÚåËÖ‡mL;\˨6íòøÓ}ŸA÷ÎòÕÙµ’;“+Öl\Õ×JõE©©EõääþKù†>åÜ*êÓ·äðQù§Ný+3¸*%öà@ç^W»åÔÌäÚ»]](Uk½I_Z%Š»¶¤Öi3¿ÚÛå.Nù¥‘„êjA±bƒÆžÐç¢ü€G2ÆV¯¯#"nÞÎ}÷ÝwÙRâÕÉ¥ß}÷m~¸‚ˆ úúA½HUIQ³Â'Þ#ÔŸŠŠªˆH¬.©k‚Üy"ÞÃ?hGDÎè¢iODö¾Zõ°“¥ÄÊ?o…ZJDR/­Fª/©¼óf±ÈY&—!Dõލqü5.</÷–3ƒAtÑËË *E"£¾ \®Õ<üt•梔”cÕõƒpÇ‘ §ŽÙaº£ F©\:øp“Ë¥FÃݯ֩/-3zi}í‰xˆ¬CY}sl ú][vqÒ£Õ÷˜«ÂIå<30ª/)5ú® rá‰xo­V®+ª‰x’¨{ûG©·¿‹Q¯7üò6–‰ê=ñþZEUI¥Q©Ñ*{û"±²H/ Ö úCrGfr…Ó»÷œ¸ÖÔÖÖÞyÇ#ÃãÂ'›æ´½µÝZf}GrmeÖí­íwÝDÓésíÓeDœkÈŽv:ö–9I9–á‰oxßc~(g-³d­ŒšŽŸnŸ¾ÂOÅq“mË_cDY{zKˆHâ1WÕ~©bàü_í‰s^!3dDĹΠt¨=~MpœèÐ[ÿ±«G*¬Ì@õ‡äŽÌäKSRJ*‡èrÉ}ÃŽ Þ<úÜ'ßü 0ºpRžH`• r«¤JMFiÔ•Tªt"")gºƒ­**¨¬®_9+¯ïÿòÜŠ5±JQ`œ\Ú»k–Ê¥DDÌÀ8yÿ¢’;÷Ò&h`÷¾ey©‚c•FFd²›ç$ó2¥ªÇ‰ˆ¿c¥.š`I^A¥èÅ–˵ÑßJIÕ Õ`ê¿eí¼ãZ‰œ7VÝñ™Ñ`”ºHˆ†?‹  Œ—÷ÿ¼”'‰XuN\5É—*ï}3Œœ»”Œ£plK€†ëë½™w3# qRyßAÇI860,2#ãû"©\JFƒHJVù^Îè«(ÑqÁ¨þÜ™\v)g÷™¡Š·‰Úää×ÁÛ¶–Y¶×¶3"“»Y{k»µÊúnÉeB³”Yü¥#b7 ¶ß Û…ŽÖ÷~‘m­íÜD mííg’^[Þ—ÜvæÑÊÈš8kYß:8Kk®³µ“zÏX2ÖÎ,û"k™„Ú[;iÆŒ@‡¼âraºÃ ½å‚THîˆL®¨OO96Tñæž™áÁÌ>W>Zú\”£ ¯ôõâòޱú’]ÿ[B^r¼º õKú/LðwçMöι%܆üïú÷Ru¹¡‘y•b /á˜Á(ñDFƒ±wŽc:Ö·o6ŒL>ìPšT¨ë[V4Ö3nønë^\4IAQ¹ŽéäAþÜ'Ÿ¼Bí¥ñæÅnù¼¾¿ÓñOßzGGÔÛˆEy:ãLÍ@÷aÔè9ïž*Mûf:ÎÊKåœXÕ?óÆXW%ÊDœy8û0Ú¸DìÜQµjËÁz"ÃÁÄ-û÷º¾1™¦áºÜRN“©<öÇeçêc’c6”l‰|±Hªð ö’”2‘÷Þã¿1aáÌT…»F«QT²AÓ1콃ÜSâ^Ôê²rcRƒbB4F"©‡69IsÇÐ[ïu¦÷øîüWò°}åäHþ–üˆ¿¦ÚÞ[ãÎ}^ψHªä†î¸"23¹””ØÅ» DÄɽ‚¢³¢ƒ•DD.Ak4E !Z¥Bé¥ñU˜N(å½£v¬‰ ™™È¸ þÑ©AJ*ïߦ&&¡($1åT~òLéP­!™àœœ»¡ïb‚ ;Ö$ƮҤˆDrõšo)'W»”ÆiS*êEePr¼Ouý¥mÔŽ5 ±¡šT"ÞÅ?&9¸÷ˆÃÞw…"1ÎøÈÜ'‘\‰ë\Û‚kmDd)ã†)C’“-÷ìÙözNYÚzø½¾ãŽDD*¿Ð‡ÓÖ­uptô˜¡vЛ.69ÿüó¶E,W•¸Dî vô8Å[ñêQÁ¶ŽŽUïü?’1ãº.üwàËšÕ©Ö¦&«Åì4ùÏ]þ2·íÖÖïÞU·e£™«J¥îÿYßa_~yu‚¹²Â=5ÃÞÿ)úž=tÚÜ„è¥'Œw˜KC¢bâ¢îi­|Þâñ)ž«¶Î¹Çà5¹›Ó·È+Ò±{ïàˆY1”· !„{¨ËìOjt'–/=®¼cvÌš1ãÈÔi¡°žq¿õGwdÞ„e—ÛL»÷=5vÎÕ=íÒ}×â´ùYéë³r/—±Ü'pôÔ˜iÁ¿y¬¿ÇhµjΞ6›Œ"¡ÐN(B¡Ð"fìæÇ \\!„B…­~Æ‹ßW56Âj-(/¿¨)¯7èÍŽ’1szºv6^èÎ;ÄÄÄ888|ñÅyyy§OŸ iþºët“&MêÛ·ïµk×233wïÞmËÇŽ3 Ó§O÷òòºtéÒŽ;öïßÿÊ+¯ˆD"z½þ7ÞèÞ½ûÙ³g÷ìÙsàÀ¾}ûKK W $ÃGºü¿w¬&“Õhàš¼Bûþÿrû¿”MxE2j´­o£[j†@h'°³3\,ݰÿ [ä¯]á²?J$Ýv|.‹­F£ÐþÆÝ¤|ÉOÜŸ‹»÷è3ŸZ€Ø½w€çí~¦\i¾àÇôâZï%»[μ6ó’Å‹“ù¤««kee¥Z­V©Tyyy2™Ìv/hŸ>}Äbñ¥K—ZßV¡PtïÞÝjµöéÓgïÞ½ ,õõ`6ˆDÍ["ZmñU(›cjkº³5ë™*š/ÂèRSt]œ`›A`ß.Ör;ÿÏj2ɦ¼&”Ò­ÛF+¿Pê3\žŸ}´”ëðÏ ¿ð§uK—ª;ù­®\’r@Ã(”~Çs<ä¶¹ +%es¾`qqQ~,4ÛfÌÈ=M•—[PZÊùL‹à³6--×ð~³–'†+hs×$¥(âðŒ_xlܬ@K³“fgå©u¼rxìÒ¸1*¼zjʆÜR0á‡ü” ژɡ ð+g,.ʸÏ£ˆ˜ Ú¾¥@ƒ`_pùë“R² 8€QN[îË\þú„¤¬žUúŽP]ÏÅîH ÈOšÜ|ý+ÌN]¾9OÊà™KbǨ—09U>mˆîÈ…ÒrV1<~Ù‚@——¾¾ÀgÑÆø1¶-eU‰Ëù3S7.ðÓn›1#7|–*÷HQy¹>Ó–%F¨@“»&%ý@°žÃgÆÏ íx¢ÓäÜÔß“õ  3"!„Dz"ãî§ÄÑ¢”~î·8åñ…YIK×çq ¥gÀhŸÖ“e'çV>/ar*5„Ë»PT¤aƒccûåoξPZªeG'.ŸÀvV!a0Ð^³péÑ‚ò¶_d|â¬àò·%¥n+Ð2ã3<&nA°R“=oö6¿åçø2Ðì_8{‹grÆ?ö‘;¡³ªàˆ@éü‚R*–WïO]¶!WìÏèØø9 €×ìOY’ž«eÊÀˆÑêõÙÁ7FñYó[Ú;©ãñ…+£—è¢"˜Ü£Eå-»,>TÉnN=ÊÎÜaKœŒÒ/<~•x^tzzÞðÄ€‚ÎjS×<Ûèêü¼›ª·Œ{@ /û€r kóˆ ®ÊÁÎŽ±³kR[ôz¡£äviYÆ>áÌZ¬V+ –Jož¡¦¦€‹‹‹m,–eííímmºuë†æŠxâ‰'*++kkku:©TzöìY«Õj±X†1z½Þ¶”íîP[×D{{{“ÉÀ¾w¡DÚxìhMúª.1óqÛ^‹¦ÊŠúO·ó?\hbiàøkW…ŽŽö}nžß\UÉíûB:b4;z²µ#(£pg° wÏæ8×61ŒîæE¸¼Ô”£òØ­¡ ¾0kaŒž¶©‹×s³2v„«mnÒìÅ)ž[ƒÁÀx9_‘¦äò¢—$d-Ú˜–¡àrG§n+½ÀO›tT•¸qE Ú# 3’Rü¶&{Æ¢lmLÆŽxV››4#)åH`ÚnóÒÔ‚!+¶¦ù±¼:{áì„t¿­q1‰Ãg'¤æÄ»oK9ê³ñ¾¯ñš¼mÛ‹¤~1J@»?aq6—ñY¨’×ì_<{ÉŸ­ |ŠÖ'eñQŸE¨ø‚m‹–ómÆ|Aú’5š¨Œ*†/\?{þ’Í~[§1àËOd¤ÍQ@“5cjú¨ÀÝÑ‚Ÿ˜Àö[ªî¹!+_?†ñòÄ­JS1\^Rt†üðÄ@Ͷ¥I'z'n\¨à ·ÍŸ¿$ËgcT»ës\AVÒÒ£ íwKÜï·¿”F!„ü6Ãc",Þ~ÙÖÑÅgBìè[œñÔYËÒ‹†¯úl–£ÍM™}ÀèêÎέJ|yž&xãŠ9¬&kÆÔe)ÒUi õ¶èÙës£nQ!ñx]^žïª T(Ü6?&i}ðÖžy) Û›ñY¨\^ÊŒ„$ßiááñ³ŽÌ^¶ytFDijzùèääùå9¡s…¶å6øLóaÁ¬Y’Z4|ÅÖY~,—¿rö⟭icp$)5ß/qG\ «9’4ÿ€‘ m»¼¦³:^ èòråWd(¡=²0:}[aðæôigøðöÍŽŠàŸå©GKù€ÎjSQl§5Ïv%©9‘¾tCQ‡ÝraÕÆ~· Ô÷ù°;!„#z({¸ tUøJìŒwè{eÕlµX›“d'ª««[cžD"`±XlÚµ¹•Ôöº¢¢ÂÖ>©ÑhöìÙ³wïÞ/¾ø‚çù¶sŠD]¡P>¡ÐÞ¡îÓíåcáêoµÙõ{²®¿:ûl—µ©QÀØ7'a“ ‹:»»µ~O=µI<‚øòÜì\-Wp`ûÍ²Ž”w2˜(_š[Àû„*0¾Ã#zÛ¦eç"pÚh@9„É?PÀ€Ø'tˆëîÇŠ=GÛ–s÷d¹rà ö)†O°õ‹SG à@žá,E`x St¢ˆ×œ>QªŒ·]qS ðáòލy°~s⇥&$,=ê?ææ»*yuÞþ#ùšÎ‡E½¼lÂóÍ^˜šRÔoѪ¸\~v;zj°£ àOìWóšüÓ:Uøp°~áSýÄV³?ó‹²ã®,?qZ€‘Ø O)WªãÁi9±BÑñRë.WÚ`+4Ïð!*ëé§@¹–ƒæô"eDTs±ŽôÑ8­éðÁq‹†´»¤Ô{æªd „BC\þšÙã^ˆ\|Z1sfddäÌ™‘>G¾ðüŒ•y›€ -È-u>ÚÏVK™0Ävéû–çVF0Æ ðtËû…ú0¶×Ðé8Ü¢B@5\ÅŒïðpOÝ…-_t QÁJ`& g‹öp€2<.F~`YBBzù襳nÊ$ñ„®û"æ…–šÑ„ùYˆZ¶,B ^½ÿ„Ö'ÒÖÞÆD…+‹²óµ|ÑÑ"&0<€  :Ú½ÃtË:žØ/¢¹H<=Y®\¾AÃCêÞ±fÄ(b^Ë¡ÓÚÔ­kž7¨¢–/ŸàÙvŠ|ø’U· ¸Ÿç6g9«ÎÀ;ŠD‹U€NÔ¬f³íE“É$ÌÜë“#„=–ÝÿZ3ž¯¯ï¸qãÌ-ë²Z­wzöƒtÔû>}+ÿù–áûüÊÅs[™!¸)1êÏŸÑ­Z!rWº}°Fäæ®yó5¾¨ðŽ,`¡s.'[6á±·/¹%ŒOT¬'«`b–úÝœ”XŽvu£héDz¬x­ÖØpyñäñ¶é<ß?ÎvK[~n Û½ÒLË-Óœ®ÁÈ([{×IåLCÇß8H¥ŒQÃsœšƒTÎÞ84€×5ã¥˜šª½ª“¾u|AÊü%G๡³»Û[úò+£…FÙºBsº£n÷üÉZw† Ôñ¼†K[6•Q(Y¦Ýi¦AÇ1lëž°r)8 Çû´ÙÙ!wÖX¤áÐ~X®¼ ÏæÂbÄíâ9 ‡Òõ³Çonþ»Á¨ðÑñhƒ£Ÿ¤ÙËO4è=3}E”/]~!„ò*Ü–²»È èèö¢vµ•Ò/RÖÙÚ¾²Ï74€i9g2Œ’ÝúÜ €‘¶^íeFÜR±‘oU!+—·T¤RpŽ“kŒ_K cX%k<ÝÀ,”¡ÓÒUÆÆwz¢~h'ôÖþšìy36«"šÃWƒŽ3^N‰ŸÚRRP•s<8°>-µ<Ö“m…üu<éê`k™2r%‹ÓåZ ]äµZ#ëÃÚªèX›ºUͳ}] ˜³j9æ/Ú]j ñ¡wˆáÞŸÑúpˆ»˜_ÖÃÓ©‡gm©Úd± Z—é, *•J´iýCË¢­ZcƒÁ`[ÄÖ~h2™Š{pBÔ­»{Úº²™6þø£ñ§bÆ·gëNÚþ[·=@×¼-rs`57o›@$‚Õj®,·š:iuŠŒ†HT»imݶ̮‹ßÆ#ûÈÄ?"¾`}Jî˜XŸÍ‹Ò;^D"8q©_'Ç&–å5\óØ1œVg„;À(Rùèä­qí¯±hî°zV.s­o†/µ1Œ :®ùhÐÐÀ‹,˪X\hÈkµh>²j¤oæ‡¿à™›²yBƬ‡IFê£ÄÑ"±çm‡Ãã7+60:)eÿc`åR±{dF‡à¨ÎgŒ ßzôáøv«’ÊY¾´uO8]XUçÃÇ0ÊÐé»jÆD´¹²§>š]*úi% ílVÉŠ}fnÌs‡ŸµíÌ‘’tÔ/61‚B !„Ç“æÂ‰ò[þ£ît®~ªvÕ|˽A|C©Öxës+Ÿûí-*$¡+GÇEdÍLÙ•ocÓîc‹’R£Çs£ˆJŽ d¡/îÎn™] ÑòŠàØeÁ @±,N“”0y¼ms–Íñc´ûSRK‡''ú1@xÜ´ý3–®Ý8§Ã•!æî/VŽŽÈŠIMψ ŸXš’:c<€ñ¯bÀÄÄ^’2cÜ…Ò/<"X¾¾Ý9†ñ›³lNÊòE“7óë9uö†–çF,ˈ ¼uŸÈÎkžÿ5V«½›ù¬V«Éd¶Żâürò¸ééXy‹Õ^dgVt±ˆDæ¦F˜Í°X,¼f³…7X­–ZÞzµ¦ÁÝÝUV[íȈ¡µÛ¤©Š™ó7 ²RXX¸uëV …B«ÕzzzN›6M,×ÔÔ¬\¹R&“Õ××;99ÕÕÕ ‚˜˜7776l¨®®¶··wrrª¬¬|饗XVVöá‡>õÔS'NÐÔÔ´bÅ “É´téR.'[»"Y¬ú“¹ªÒÒØà9¥Ë¬M§NV.Y@èàÐõÿ½#Rz”Íš @ü§'Œ?ý(îáiü¹Tu0·ùâËïq_|ÀÎÉÙj1+Ó7ò— ª’œ_›é&“"6ÎbÐιûÿú–Cг\ögàâž½„ÎrÑ>N¯Nsð4!˺$&‹®ËÊ(’ßånÞŒm~+2æø±Ú¼ì<Þ/Ö“B !„ò0(‚¤/ rx˜øü”èíÌŒä1J¾ðh¶ZÑÏç÷ÿ˜ð»m¬¯¯ÿéÇŸjktêukš._0ÊUâ @«ÅÂ{÷âëë…fxÌfy;)+3vŽb{{AgÕi­¼Þ6‹Ãè—ÙÙ‹¢;DP«ÕjÆÖèãã3uêÔÿ~‡[ß–r»ã]avÒ²õy¶g¨†Ç&Î VP¡B!äJ›·&)%»€³Ý˜¹$þ1œànûÊd2nuuµBas³ŸPÛk«PèPVê ÀlÅ ³E+ꛇH±¶´ÞH_wÃ~¥´F!»Áø†'n §r „BsVì˜óXíÒ=ŒêâââÓ³'ïÑÃjµ¶f¹ææ5ƒMMà 0™`µ4Ï XA kë½ =MB!„B~9€ÒÍmà´éý -[œ³5¯ n‚–©‹ÅjµÚ:æY­V«ÕÊ<=øæAbnà F#}Z„B!„òß»Ûþm¾páèª"5¶ûBmM‚VàèhçÔöö€@`'ØÙA,¶ëæ)ò °s÷?éGÅM!„B!¿Ë L£•þ(34d]„¬L`'H¤1GG!Ã@ ¤;? !„B!ä±Ê„B!„B~§„T„B!„B9B!„Bå@B!„B!” !„B!„P$„B!„òHS)B!„BÈ(º»»·ý[@Ïý#¿2«ÕÚúe³Z­‹Åb±˜Íf£ÑXSSóì³ÏRB!„òëæ@{{{Êä!æ@³Ùl6›é‹G!„BÈCË„ü–ÐjµÚÙÙ™Íæ¶ùB!͹¾Óׄ_CÛ–•;¶²ˆìììnµ0!¿Á)Áb±hMƒ„By<Îõ­güB~Õhû«ÕÚöÏ;ç@B~K‹Åjµ [PB!Al ~¶«½ÖT8„üÚ9Ѐ­jmë‡ÕiQå›<Äó„P(´$„B!µEB!G´±X,UUÔûOjN^o(£Â!ä7à!õ¢*d …¬‹Ùj¦H!„B+|íµèñzè)€>þ¾® «§¨<õÏ¿ÔøLL]ÚKý¹¤÷×\vŽ|î(WSÕɯ6í¸pµÊ I×þác§¿è%Œ×Ïn]{ìDQ`ïùlèëo T1@CIÎÚ}¿¯®3Ú)†¾ñ— •¨)útí¾¯¿¯mD.ªQÓÇOìÇ5ç6}¶ýØõj#Ú¼­m½Ò±ïÎØínkÐUrRR.W$½Ï]ê-Ecá©Mk]©Äl¯1Í|#JÜ=U"IsʪÉË.÷Œÿâuõò½Eí%Psá¿ì9Æ­ôBE]-gT ž3wˆJ T^Ú²ú«j= ry*ä¹A*@Í©MŸm?V^‘Ò6ñ[…†¢OWïûºHˆ\ú…4—Ør»úPöG»KªÀyÀäñÑϹà¶…›¤aƒ~(¨.­ x}lÏËǾ.¨ÖÔJ‡,ˆŽòsLe‡ö®Û}µ¬UŸˆ¹aÁÝD7o¼Gّ䔫uÆ¢¾U4wW›2yL™­¦QC Âl5=Ø•Rÿ@B!„òð1Î}}ì€ëk·mÙ{ö\AdÐÀàA^·Æ’#Ëל»*îóú‚ñ‘½¹ó;¶­=É¡¡hSâ¾jéÈ9ßïZöí¾åëJQ“»23ë,×ëõ×/至—TÒSqægû¾7 ˜3eqÂøa’_ö­ýêJÏd¯9|]2büâ„)¯2ß½oO‰ 9wsSªÜ]ÄwÝŒb¬½Xä5ýƒ…é‘}ËNn;á¡hkÊ‘Æ1¯­øpáªïߵ錾Ý"®çþµŸ‹íõõ¼ƒµÞ/=Åz„ V7º—sçó›Ê_ªzF><Ƚ»*/×ÀEd,Ê;×ÇgŸŸ8ØK<¸»‹ŸºRÔ¨]<¿ø\w8¿èsnÝ™¼R¾;x`*»üK•Ô',áïQ 4ò&U%%¥>}zN~sÝ_šëËÞÓgýëÞöHÚ?¼§ iw\©ÕÕçÎÁgAˆ‹@Ÿ±ƒDË¿ùÅ8ÈGÜÙÞg_‡Lñf¦g˜Ï‘¬ok‚ÇÚn•Žè.Àtõï'Í:s½öÅ~Äö‚ƒ€´û»óê#pñXµÇ˜@À=,!vÄÆš›· _9 Ièé€éô¢×öµʦt¿m“ ©ìXq£ÏóCº‰ˆ½‡¹ä}}{É b‰*ØÇ€s7©ÈÙ9H%²½ÆáêF˜j]mT ì&DÞÑ3W4ˆ$¹t²ñ]þˆ¿€š†¯ï0±AÏqzGG{GÊ„B!äñĸEGEÃXSU\ðýÁÌ“ç÷ºÉïo n1FJ]e`ïâ,©{ßAîj¿áL€³J*Ö»_¸þ}#€²£oO=Ú²tµ¦V4lúø‘û>ºîðQÀÎsÄøØé½œ…¿òÙöcç¶^>ÀÑ'pnÜó½¤÷¾;b‘sKã¡vŒ5œ©ñúÊy+lÁÏh4À§¡è$è6å|Û 1®}#»eŠ:¯lìóÄ.ÛÛŠ$."\ÐÚË'·g]-m4h,3CÞPÖQ—–Ê>ã `ìd«ÐÈ5%¦žhÞ,S“اîN;×T£K¤- ÖÁI‚Æ*ƒÑ ;´¬R$n}-n³T‡Ö¥$R Óÿªoª¯l´-‹ÅRQSéÖÅõGAÊäÆpmyäÌ=üˆÔÝKØßûÒ—GÆiv/S슞yìÍÝ!²»_¸ìØçê>/?ÓµõMîcîÀ¨Þùþ.Ùô¿u»ÝæZ·i™‡Ï«9¬*hì› ß ñ¸å¶JÖ… ¸ÅžVš¹iä–­¯xüw›ÞtuãûæÏt«-?{uÖ·oSéõ|ÏåOŠïrºËE3Ï:¥ÿÙÕý‘ø*òßþ ïÕ×Iþ@?Ü»|««ßÙ)ykB·NÊ®âè»i—Æ.™àøÛ”C“úø®-_\r|á­¿ •ÓŠ?²š¢œÝJ%AÑ‘Ý%]\z U¢èüš Íu¶hl0€¾º¶y ‰«=`¨­5"4ü’{ìS·ž]X*Ë F@ îÊ7—Jáد«Pí¸(n@׿CŸHâ  WT|¯(ž++*>‘•³ïpvVˆÏt_—à¿Ì þ‹©¶¤ä‡Ã?:œ·éð€ÿ}ñÜ™(îÂ::û-xÿÎã¬Ôž9yE¾|i¿æˆÈ—oûû¶}…¡Ó]£¾ªÑˆSc• VÒpeíʳâ7f¾=¸‹úÞKÝ€±÷àj¥p€†š²FIg+“°Žbç±ÿž;ñ^uìâ`¼Þ`lŽxúºFH<ìÅ÷´Ï•U™\œË7ݼñÄXÓ.ŠEb£ÉØ6 ºËÝnºkô¿AýÉíwv>ó8;v¬âTæ©úÿæ}¼&¥oO¹—”ß”yHcìýçmÙ¾øÁ‡@ÀXy¡Oô“ß6ɮЙ¹¢Ð÷ÍÔÝ_}óÍWÛS^aÇÏŒ?T}ËÔŸ˜yIûk0Ʋ3eŽý¼ïP¢2—õsü÷¶ùß݇@rß?m˜ØÕýù*ÖÕ~”W[nzîÝWDz¾úÖß»‰~)4]ýdÕ'WYï.tl"„@,Òœ)ÈËÞšüANξS9Ûw¯þ¨úûusW¥PŸÜs²èÜÞ}ËšƒœgH'àâö¯r/\ùzí®2žªI|HÐt,gÏÉ¢s{?[½îàžïMâ.ªa½ªK' këÊÔ{WnOÝZÜˆš¯—¾ûÆ›Û^®5J¤.àà$1©·øÆÔÔMßüR g©HD€©xÓúÆoûºò¿ØEÕ€^Æâœ35ÀWZ»k[¾³«Nd—+Gxßh'dº„s{K áüá’F|ù‰3 ÊAncCQÔµ+ Ïæ™ & ‹HתýyÅ _u0åÃåÙÕ÷ú“ª†ùp'²‹jÀ¤>´{õÞ;öy„xKŠNœ¸nÐX˜w°ªë¿;Ì[–*1úâݙלּTÕùÆb˜Œœñòå¯j2…—ÛŸ¤Ž7¡-KUí®ÝS{ ñòú%ÚŽëàê:1r„ÏÝ^56þòyòÊãM½f¾3«÷=U@ê.;®ó~~pw1$É¥úTæ)å+¦3š™™Ç«Cº@uÎŒÈÌþ“| O©µZ ï;=)á•'e%™“g1Iqþ”Z«Õ2ýç%-ój}£’]1-íÕße$®ØsIËA4}q”2Ô_Ü™œ¼é”†Xß± “…0ǖĤj7U3=åÍ’Øæö@CIΊä«Álÿ)‹¿âÏ\[§ò sìP¡F£e‚¦,éús‰É{.qåÐ7†yÝ$uW¯šT“\oó;)Û·b—vDJúügl‰ËÃÿå¥©ŠœK @ë®ð€¢Ï¤ÅI³pŸÇÅîÒpˆ™|qaú² MÇýêÚ.dŸËL\‘yIËŒïˆy‹…x†k;ã?<ű ÕÐ)ýϧŸ¾;c¤ì是vì3ò¾BŽ®|öކ°@ñ·×ôõ&¸»$†uås¯-ªrÛ0Q.ã7Ÿ]['ÿÓr÷²˜³Néve.Í<ë&©Ï©—-µ›\}ý½ÜÚ ìžè­|k¨“ÜÔ¸zK‰n`6þÜÈרIg…÷åd=³÷ê‰b`cÕC…;g˜ôlžî²Ž¯‘8Çïö”=PW»ú+Í1öxÂ-n˜Ü]d>³÷ê‰Ë³uß×›*…!#þ4·{ã¿?­ø¥ K·¿:Þ󩯿w¶±à!Øý­€ÎFE»ó‡k¼~|Ë–ý?êXWïgTe‡Š‡½5¿_å'˶`ê’W½Å€QýɲM˜ºäUÏ?y¯¹=Ðxý»]»ö]ªÔCäÑ/OEDöshÈô篬=¶=åc"g·!¯¿øR7qøØˆëûrÖež vî9büô.€¾öz…FÝPe4ÝÿuRŸéqƒ7­Ý0ÿ#4ÌéÓI±$ï`•{D?¶}‚ê)I<öCÝ@ˆý%V¾•­©ÒKzŸ3Æ 1æìÚÄÔi_nùÔ¸äÃA#nN–9‰ñ‡U)ÛW •åÌŸ¿¢ÏöÅì¦Ä4õË[¾˜âe_öùì©Éi#ƒ–†$$ ȦlYâ‹Ë[Ò䦸—†¦nÏð—J>ŸÖgûB†öÔ1Å–U=P}h~dZ浡‹˜=+vqÓ·Ö†’Ï“?<®áõdÇ ¨ûñB“j¬Çm~&õ…‡ Ù yýÛÕê=BÂ<Àp.-qæm9æa+†M#·Ï9iq΄´ôS¼ ×Vݼ_n¼÷±äøL,ÜðåHÔ·lj|â“[2^æw%¦ŽHÿb¶?J>ÙÃwÚÇÃXyá*ž˜zm]vB˜›Ácy¤#c¨û÷–Ÿ×]WÄûËäŸê¾o”?'¹œrÑÈ¡LUË¡ÈÆŽê¥£®zÑWõ=Â|“UbÔévü¼²Û“‰*0°œýÑ>}¢‡;Œß|zm]žþ¹‘ŒÈZ¡6=÷gï¹ö†Ïÿ¯0å°]Ê«> ÐôÑ'?®ûÑuUoË®ì_κ÷HŸè$75îÚñSBžCÆ`{Fd­ø±é©?û¼!AùÙk³rµ/OuktÍ´áÒ©ž½yíü<èɽ&É…|nÍ×5WzKžº)äßùíÈÝöE¥ÌÛá*qýÅOV]0Éïü´%£:{S¶nÔ¼·Ÿq3ï^µnk®÷ßú´| ùÛÖ}íÞ1¢éê®MûëGÎ[2ÔM\qËû[>q}k†¿XS錙ßMÜtuË{[öýøÌÔgØôÜâú€P_œ[Ê„w²b7•POÇ&Bˆí˜àÚkâ_{MììŸ\Oø×à -·¦£ç^\òÜ‹f–xý%)è/7å̰·æ†uX£×À¿$ ìdο¾ÖqÄ/Ywë:µ÷_¶ûWi¯%{ÝXvéßmgL‰ï¹ï ¹C9x…­ØØÉÄÿÝÔ\8‘Lj S#Ûm[ßèY«¢[ÿì·bpó«à¿Ì n·{oºøL|kîÄ;~@ý¢Ó?¼±Ëª‘ÞÙ~¿I«þÓ:sÔªZ>‘~¯§кԤµ[Jt‹wY²qÈå«ïâä †«iûˆ³Åä!÷Ð@Ãé97g7V"µ<ì犺 ~~œ€±—éí ‹¿U7õ—íIþÏi¼ÔëúžÓ[üÖÇ¢ÃÛ÷¹x]ˆäÞO›øR7±±âäŽmíNb4Þþé‘+•z“Hî?nJdˆ—#ÐTrxûö#+õ€LõôK‘þõ™og\4Øñ¯¸o_{g^_G:L>ŒMF±£øv=%Ÿïä‚ÉôŸ>”‹ßyí¥ùÍaJ1âå>2öª  Å‡Ç «§øP½<âI{²>#û3ûF°ƒÕùÏ/)F, à–²{(d2{ÌßòE½½Ì€GPˆ2í†ØNbé©ãjå+/ûËØ{xÅ7-횘>¯ õV¥b9ðU( ÎÙyHõr¿×ËK—uòŠÏè\‡yÞî3àµØ>ŠÎoIµ°t÷nƒ}s1ôWlR·¿ÿÀþÉÎö«…¡0ç‚RlÛ-ëÿÊ6&çRýPþZ9"Ì߀רéAžÒt¶jîêU“j¼ë¿>õU³ÖTµI€ìÒ™^ƒ€éëȰ·ï-Á7¦›mžÅòÿ„:žÎüxÏúO»-‰v½òQFN1¼Ã¦„ÈŠ¾Üñmæz‡ ƽ6ôú†ã:ùÐצ ö¡ø¨¤À_¾LûX7zöëý`¬8ùqÆ·ÝfÿÏ8·G·šg¸˜¹O­ÑÆ<¿¯e »óÒ›KØ`XÖŽìY§8VÑ’ÞX–á5<s€Ñr<Óúh#{™ %‡?LÛy^Ãàµj^y‹ âJ8ÜX£P€×r0LË[6ÿ·kXR:6mÚ™85QÃöyéÍÅónº/´I}¦Òuê¶¿FÁ2ZµÖ¯Î¢`ýÅ}i~~IËà5Zôï¸Á·Û/^«å™>-;cÏz°ü)Žãyža=Ø–‰O²Lg9PwõB“ÇmÛºšÉ\ÖOu賈ŸPÚr00"ûQþ¢=8ݓ왋úþÝ{ÀpZf³±"hh4íÅ-‹ ¤;c•…‡ig…$¶k¹ßŒ}Û.ÖžçÀüÉ¥Oš§XÎÖÉÞXªcþvzk¢Çÿ}«[¹£¬ÂŽ ì>'@ÒñªÁ]|¸¦z»4_Š;¸:ˆî¢ ÇéEŽŽ-ƒ¹9¶\È1•fo+59ô‘Û&Õ;ßK?Ëè20&¦g½I_ºéD[k£É¤‡G½®€Hä(jj» |Fž›[\à}õ»2yЫnhººñ½M×ô€ÈuؼycÝ(B!â_»ó»å×ê$y?9P_¯ÓjEhª8ÿåy=àê¯rDÀuô”È =œ©\GGŽë¯¼D/n¸òÃ1uDä; ëоUòÐq^nS}›yñX‰ÖÿX± ²¡/…ôï.öW)z79:ŠÝdÝc7•—ÅÀG…¸û˳žÿ(#ã#Ìžâo:ýqƇˆG:6óæ–Ϧ´tò+Û9cfæ©ú!x®Œ3ö€+ãÀ²,ðœ–d¶¼Ç3 öæ^[¬‚e¸’æeQ_V±^|f\òùééËýe@Iæä©‡:ß"{Ö‹ÅùÖUðZ-n©›#Гaó—…͇¡ìXZlbüžþFè4–ž­”ßi YŸ0_~Eæñê#oôì+ËY¶‰eáX~E\šfú† ¯xÙÃpqÙ„ØÝ‘K6Ýn¿…‚±ÅØ–ŒË(,Ã1<Çq@׿‰|gúŒÎ5ØóÁþ¼…=|ångußWY÷éìÞ¸å¨ÉØæµ8”ÉúM_òªªÝÏ]×ùV¹É¿þ®øºþ»J×à9€'^ýÛˆd !ä^ué·dc?*ò ªJ÷¾ˆéJfJrrròÊ 9Å&ï—¦„´ôY)\e`¬¯¬ ³ý‘£ÜÐëšÚ†\}e]NJ\\\Ü¿2Õ€©BWm[®›L @ìäÓ·_UUŠÀ×g?/ÿóÁiG"þ'º¯Ó#½¹ÕÇ3O)†ÞéCÔç3ÛÊÔÿüR=CaÎq­*Ä×öåUþù5€úóŸŸç}CT7‡ Yÿ—}¹Ã™§ª”Jž“v©šÓrŒâI¥ 0”ËÌÑ€on^ϵËAAa*ÍÎÏ/Jöí,d‡Žìü¡­õç–͘ŸyÍÀÞÃ÷ÉNú ËΨûõ¼S»®#æýYy*1vYÎÅ2`(;·sILò)^©´çµZžQªö€¡äpæy®ekž/ã 0Üj¿šS­oXNe/€êó;s}ÂúÈXßþJMÎñkÀP²oÓ)®“mjRWé:Èû_åqr~YfØ•Wý³\ñì­¿œ¬»Ü›¯ßsÝuµ»® úúK˜û\£Ó(™q×ٌߟ,yïíçÀli0ƒ×\_´Ýö\+¡ÜÅAn×&·ÝˇëàÙ³KÍųeFºK__² @'v;è+¯sP5·¸ý°tb×A=ʾþîºhRï_—¶5_gK{ž®n“^íSùÙ–ãFÀQÖÌbg¼qõà€±âÌÎ-ÙW›n½Yrÿ`yÙׇr+]ƒûÈ@Üò^Žtp'„Bžûiì:9´›"™[7•›“@ss¥¨ùŽ$™«# ¯¯¬Go`ª¯¨ä²¶+sputò¡³g n¾Ä-ÉDEߺ¦J½Nb£ö‡ÓuŽÞO÷—Ñçô(GAñ—ߊ†Ž{ÄC Pv8ó’2l¡WÛiCÃTf. R€Q±ŸÇE'«5Z¶ÿ¼¤I^@ ÀøŦ˜èK ¯º0iDW঻»†%%\K\9*ž‡²ÿ¤¤¤gº2Ê7ƒâ’#Ç¥)”¾/¿¹ðÏ…qi±KUŽ bãã&L~iù’–…½&¥,.KŒŸ0Žeм”yþö¸ÖÉæËúLE™÷Â&žaÀ(û¿™0¶ýãúŒ•gÔ¢žÃî<Њ½ÿìô ^¦mŠ‹LæFÑgè”Ô ¯ Aó¦ûÆÅO¯P*ú¼2oáK…qÉ1Ë•¦„ñÉ1/\z3=¡³ýZÞò´WYÈâ$uòŠ™ãV`}_JJë t¾øÏ…‰1/d²J߯ŒPž¿tS‚½›†Ì–<ܾ ~Bµ-øVs3Ïú3k¾Ñ÷}ž½]¹8)âŸ×¿÷ua”€¨o jʦûûšÙO ÷(ÿêçYë-0Cêî<'À°t¾qrçÌÏK7\¡š¤¼Ž½I IDAT¾rË%;ÑSþÝ^S ïãû {u˜z˺·¿±®=õéb»/Ô-8|à¥]«Þ=%—uñîÓ³Kq»]«ÆO³mÛºwöëM®ýÆG»A×ò9ö?õ™÷×m=ä=ol›~}Ž='M¶kתeÙDòž£&=áèoû<#ÿì³²'¢ûtò7]\óÎÖRÛë/Þ[üú½aÛ”B!¿*Á`¸ë™mÏÌ~'Ú§ýiÚøË§É+¿mòŸýÎë>bÚciÉ{Ô"ïÐÈPUýé={òuò¡ â^v«¸ñ܈ú“iÉYjY@Ää¹îXΑëòÐY¯û¥ÿkG±È;lJ¨¢('óøuÙ³ÿ³x¢ÛÅ´·3Õ½^Š|Þ¿—5>.¬V«Åb1›Íf³™çyƒÁPZZ:xðà»‡ÆÆÆ²%? ½$óÞŸOnïÚªÉ1… w¯z†Êôצ;úîû¿åÃà !Äb±X,“Éd0ôz}SSÓ߯ü=mÄr*BŠy‡½ÛëÝ®]»:88ØÛÛ‹D"¡P(Þ¸Öü+=G^2kv˜¿üú‘Ì ï¹Í×ᙊÁ¯Íí%º˜µá?²ŠE>¡ãžVÀ)ðõÙ¡½dêœ7d¯W==yöK^b8z‡È ¿²gû—EMô¡ò{RlѸñKU¨?÷ùq­j¤ŠB !„BÈCvO÷…Š{ÏJIéü_ºO|;¥Ý3G}F¼þÖˆÛ¾“ϸYKÆu˜èØÙD§þÑo÷¦O‹ßYÈÂ…Çâ“#G%¬jĤ7´B!„ßžð7\WÓ/O_©Dt£y¤t™q°ÃM¡¼¦l=H7…>#—lüòàÁƒ~¶qI˜‡=•ÈoA>üïÿ¢›B !45–Íøð`%Œ¶ÅüOŽš¿—e~Éý¦ÜØæM &õÞæO]¶ðƒ+v¥i-¨û)±ÎéO-}÷Ÿûj:L­Ú·:f饻êÎí~3uK‰©óO‡ü>s ±$gûñJ8xMO&„B!¿q¿ñ+Þ}^u/ƒ?Õ'³—7èÒgÁû¯ s}7Ò§5ê/|¶p­óâ÷ÃTŒ©ìÐÞu»¯–ÕB¢ê17,¸›èæµx”IN¹Zg,úç[Esã|>ýûÉ wßåŠÆ‚#k7-®ààùlèôé}\P•óÖ†s#B<Î\*­ª­B÷—â&êÖ¶BÍÛ´kë·ÕF’®Ñ“¦r(^º“VÌõÆÂÝÿHÁÜ´ Þn[Mѧ«÷}]TÛgÿ áyÑKSÙ7{×í(®2÷!ÓÇGõc;[ k,9µvõ±+µàÜ;ä¹}ªW¼M Sæ†\›ÆädÜ´ ží‹ß¤ÎYøÿÙ»ó¸&îüào`&I@‡Äå(*h…Š‚V´hÔ¯¸]ãW+vÜvµ]¥µÝj·=Ôm=Zµ]uí û«Zý í«[­b•(< €5ÈÈ1üý@Ô`Åõ|=ûè?If>óž ;/>Ÿ™YU5}}üÈ>DDͪ/î/Y?¡C¢6”|ûÍŽ¯ËÚ:3õ÷ÁR"¾öhÚ§; XißÁOú· Ûqe§¶}r$¿Yäâá;úÆ Û¯ýò›=Ç4ÍDö~SæNéÊéÎîøjDZÖÑÑwTÿfŽ:Þ†ž+ë°w>øgñí;î‰-Jžá쎴ӎã×üó/ß4Õ¯ø»ÄÃ׈ˆX^©ÌcÖ+Ë>šûþ,ééϾÍo""†jK®¿°ìÃ9ë>ã~³§ÈÊ#¸¢Ck÷6„/]ø÷ÿ÷ÆÜÁå_~vªÖÚZXïÈ?O“3^Þÿèwþí³Öš v|r†~÷òÆ­ 7®ï¢JÛöý5"†%óåc4~ñ+Ë6Ì=àJòž2î¦5ùò¤tÖú…·.\3×»ñä…ÊN¶ÖZß®ÿlßiÅø5ÿ\ú¿…r_ïûò¢+:ôibõùs7n]¸f¶<÷“}ǯY]‹îÔŽ#WŸ‹Û¸uáÆM/ÇHJN3ÃÞŒSzØyÆÏYó¦Ÿè.vã5|´cÕw?Yök(ø¾ÊqÔpAÇHvlÛΆÑËþýŸyÿwtbÛ·&¢k¶%–ûÎ}cãæ¹ó£ùÜr3Õ~÷Ùw£^Ú¸õ÷çû]U5XvOeÚžm*ùK[¸qëVïøøX%QóOßî8)}iýÂuâc‹ ožzÓÞá¬î@€žJ4lþkæú;‘¤ß°þv åM­‰ÀkäW""ÇAÃ<éÊÙJÞ’ÆJ‰ˆ\}ǸK.ÞžøÊc…Í^¡# ‘È÷¥—×-ér‡µÜ’ÓÊÏæ“÷„à>DDïçG‰*Ž©-Sû>÷¤‡€ˆD}ûK©¶©ã|EÖ^nÏ]É:VP~·9wîÈNnf­oMê¬béˆho{"r>ÓÜYƒ™Êc… ^aˆˆÈ~ðˆp—ª¬‹:kka™Ú“§_¬mô9ûÅ‹º¾ ÜãûT¼PKDMeYÅ¢ðçÜÙ›"Ù¸÷·ÄMP0Däò”Ÿ w­¶™¸ò ¬Wø ÙnÙàk곕Ž#ÂÜY"êÓÿù`‰¥õü1KtX@"b¼ÂB=k/œ¯á¯ªÊ8¯a­£F?Ñyÿî°S Ë”º†KÙ{R +šy"j®4sa­§«bGaka{"½%·ÙKÚî†Åˆí©¹Á|{œÓ_3°}DmIFd/¹ÃZn‹× <ëÞ¾ {ÿ“®™ˆÈŽe;?ƒVŒ^´˜IM;öéÎäf¯ð—&½,µúF+}«¹¦ç—¶…³¯¿fà‹ÓÞžsÀ’¹fò¨5Pèíké07nÖ×Dz¶}‘XËxŽ ‹é%éò.p5ÂsïéÜš‘£+ÏV¸ŒxIqó˦ªS{}±#"Îp•s$"®ÉÀ³ræÆ¾°#"âtzj߆ua˜2"“±¶™®îÝúú×–v^ÏI=xÏküRØ í;¿‘Hg;Å_ä@葚 v|r†ýÓËËBû°dÈÿèÓ­/ðú#GÄglàO{¢¢æ¦¶ÇJóÍdï"¼=>ˆûˆ8uSëgMºÊZÞűª“µÜŠí#b¸«h®40ŽÒ»ÉŽƒGþ~ðÈß“¡òhúêϾñ]ÿ’ KÔÔeÌÙuÒ·>bÖPÙÌ[ÎЛkj›í¥bW8~Í[·Þèå¶µÄìã2rúïFN'îZqêÇû>ýÚ{ÍKnÒm­VôñÛÿPÚÉ+ò¢*ùsão¾ôޝüz_âE¿%Ë_ò•©¼ý—b"b% ÃéÚfåÌDD¬”%¾–³l ¯¯4ðD$ºØÛyN›»ìÙŽÙ˜/‘0\¡µÍMÉï÷N+0/zòák‹ —àš9F®²DÍEg›¹¦¶pQ~ê´š'¢ZÕ™ û~Ã\""®ì;•Žˆ8õ…•¿Á·»1a¾öÅ'N”ñD†’¯w¾÷É…ÚÎÖÂÏé:Ž(²^èì€êѵâïUß0¯_ ÙûÞÛp¦ÒDD"o¹=#öék«ˆˆtù‡ËôõM¢÷2œN/n ¢š ;þš´§˜¡æ‰ˆ®|µ!íÔ5kk᪒WlÿꢎˆØ> {Óð¨Õ>X% ïÝpðPJ±ãXËôËô ƱŸ\Bdºv6½PCf=G¬Ç“žÍ%Y— DÔ|ñtV­%O*†¸4œ>lyG៌–Ö!a}*Ó³Kšˆˆš/ùì³3•Äô îGŧókˆˆ/?˜]a%ÿµî{Û)8U¶ãЃ±,k4Q€^ Ï“S¢Ïl[ùéiG©|pè‹ñ~Ÿ}þÕÇiq/#îï]ùåo—ë8Çѳ_GÄ:z÷½ôÍ»{«jßI/(½ºí AvÀ„7f~óUëö4›Å^ƒ_š?Ò£om-//|bgæ’9%ñï<Õúa‰ÿ¬ùš;¾x=‘ˆDžÏMý¬”èWîJâ~曵¯âX"V>,þ…a}ˆ ;údúê7Ï:::úò•ÿdæ¬öù/T|öíÛLæIâýÂܧD,{#>í«>MåˆHê?iüä>dûZ\]ücúmÛ¶õµfb‰ûŸ5ÍíÐ[k}°Ê>04€Ûy¶ÿ ·Æ@ÆsRdÀÇioÏ9äèâ>}üø²¯ö¬úºï1³âK>ýdýk¬Äã©áýíNp<‘Ë„¹¡%Ÿ|ùçÃŒÜË7|”<¿ˆˆÈ#fú¬Úo¶-X×L<Ù÷ Ÿ5ƒˆ‚ÇϵçËûÒQê6lˆýé[«:¸mïüí%k;:?U¾Ã«68†Gåúõë---f³Ùl6›L&£ÑXQQÚ¥…˜ÍfŽãZZZPO€G¨¥¥¥¥¥…çy£Ñh0ôzý_ þ²é¹µÿírù’Ÿ}rí…uozw<£å~úêõÖ'C ô÷]mò[IW_š;÷)jу%^´1h£½½½H$ … ÃØÚÚv!Äx ôlvvvvvv¨@7Évvv¸p£ã+¿ÿ6‹žZ4!°·C2¶`O.ëûÒâH ´"<²sUßYol¼­•}êÅ¿oFqî7Aÿ¹›—¢ ŒÚ @ïÅ=zUxŒrà³Ï>‹*À#aõ¹( Àƒ†y¡È=Kí·þ¶Jeè&½áÔ?¿hÀ^ä@€Çeìò¹óƒ»ÉÓÏùÊÃǾ-Òa¯@÷…ç@·ÐTœüÙ·YÅ"Æå©°ø? ÷ðå;>ûôZèXÁ…ÓeMµ L@üôÙOi>[ð ;ÿÙƒ"¢šSïýåìè¿)¹¿8;ý¥ý W-Èö–œ8Ø0bùœ=®Oü&EÕ@,‘½÷„Ù“Æq?}µp‡drpÓ©‹ šZã¨IoÌòwlº°*á˜ÿ4EÅIuE¥NþÜ JÇŸRU_­5ôôâüw–øÊ£iÿØ[RËÙ»žõ‹OI©õS^'¯hjš=†Ïépò«µô”ôvÑ„%o>éˆ= ÝÆ Ðÿd_¹lë›➿vèÓW8"b©1¯ÐaZü²æ¾/<»óX9ë=ö)Ê?\ÆQ­êl¥Çˆ ׶Ű qšÜæÐ÷ÿ9÷EoªüzÏ—EÞs×/\·ùEѺäO•˜ˆX†«-,R`"®èЧ‰ÕCæÏݸuášÙòÜOö¿Öú©ÓµOÎ^ñÊûë_Qy꫟t.ÏOÕßN>-n B tª©<«X4zŠŸ  úŒŒñæT?Ušˆˆ˜þ#†¹Ù+Ü훉ñöc:[b"¢k¹‡¯yFû¹ÜX‘Ð/ÌÛžˆHw^Õà=ÂWBDŒÇ¨‘žÍ%§*y"bí½Ã¥DDŽò¾ö†« <‘±ŽAÁr–ˆuìçÈ:ŽxÊ…%bÝI×ÐÌW+lð ›0@DDöƒG„»Te]ÔÙ+ ëgOD¹¯ 5Öâ²@è 0/½fžkú~å§'X""âx=Û¿‘ȈX†½ù½¬×ð ö«¬bÞßåBVC¿˜§¤DÒ+r±gˆˆLÆÊf÷i»h:ߨÜú3kítØ‘eÚZ{Ë;ÚZô× |qÚÛsÏ5“GkäcÚ?Åb?r Àݲ—ŠYÇñÌU*:¶òåVß,p%Z{¸¬Ü+¯¡D@ŸN–)zØSá5‘ˆˆˆ36ãkOÔ|/»Š˜ÀñkÞò·ïØÚ¤Á®ƒ óBàÑ“x…÷×H/n°Ä¿ï¿þ,í ×黯çü/K;lðïmßéÛ¤CÂäµO—˜ˆˆ¯Z¼xñâÅ«öWßñrõwÕÃâÄ%‹¿—|…ÃÞøïÕ¥¤ÜçX{¬†'†ês²ïGvcãââ⦅9ã‰+÷A“êÔ^íú}‹¸êœ“õä9%¬à‹Ôs'Õ•Þ­Oû¬ÎÞ“˜z®†g\‡„õçÛSãáUÐúO™ÈÙ¾žw2%.’?°3µ žœ†L{5~„3§>””t^ãEÚÜ“êÖÁº“‰)çjÿ qqQnÅ9í+eX†ˆ/8RÜâ”'ª?Ÿ²ygïÄi£\©þ|JjñMŠ­o>+‹œ>m”+_.%¥XØSà•ý›>NÌ­»q\l_½åPu¯ŸÛ[›½ªà¿¸Õ®QµptHHHHÈ脸c/ÞZ >B!ŽD[¼bÑê¬JT ;ä@}ñ±ór ™2yˆÌòïý{(ø¡X?(@$Õk«µ9°œƒxOd÷Ÿdž™øX„@"’^•œ†ÿÕžØôÎÒ$••è&9P_üCONA‘¡n–Eý‘R Ž4yu%uÍÉÔcý#eŇr-9O‚x ¢`Ðĉ¨ܧ ¸êõE)…&""ïIË䉋’ÊP€û®+×ê‹ð$óêt#ø‡8•+h$·°™“ýø’I;hƒ"ˆÐ%ÆÊôŒB‘ÀoÊÚÔ]+büd¨ ÀÑ•ñ@qÀk|K›ÛsK?~®õç~a¯, k%¬­9ì­ÛZF¼ùñˆ¶¥%|Ôš&ãW|û›‰tûú:¡-8˜¸mw†*¿RGD$õ𠎘èbT-Œœ“e"’OÙ‘º4ÐrU_{#o<²uôíØ·4zV†îÖ7ԦŎ_YHDò);S—úßz‰ ±4swbr†*¯´Rg""Ü/8t’2^áÓ…« µy›âgYÂ<¦lܵtt—òQ­JßœqB•W¦1Qk1ƒ£”ñÊŸÛ–d<±0òõ,‘Ǽ}iñ>¤-8¸mÛî̶: äÞ¡ÊÙóbƒ]Ú:wbaôëY&"òž—š¯è¤ê]ÊÉëˈH¾ñົÞ¡4@¹jmÂhÑÝ$tWê´…³Vfi:´è* ³v¯ÌJN^°c•¼5 d²yk­jSBBR¾©c›IS˜¾>;}[ð¼­kãýï* ©“—α„@iø‡;ºµ»–¾¾>[ss«®²0;½0;}[ÀŒµkÞ’±„B‘‰È¤1jKӖƯÌÖÝ´eªôõs2²ìÚë#$"Y 2T•e"*KËTÇÇZ‚êÌdË„NiDlà]‡@¸­iþ>@øÆ‚M m!P0eöŒè@)iJó2S’RTë__%h}§ìAv"qΜ¤B""’O™ì!'“:?3=9«ÐD:ÕæY‹äû¶Æ(~-ÈX1ku¶‰ˆÁKWEwe\ÌXº+aæúüÖBLŠW†úùøÈH£ÎËLß’]I¦üݯÏìØ•Ø! Z«cÔäoJX­øEÍP†zÈH[™—±+)«ŒˆLªõ+2"cD$ ŽfeèˆÊ’3Õ±Vƒ`‡8#àîËîâïƒã9àWÕf®o½—ˆ4üÃ}ëÚ““àè蘘uñ³vg´%ž׉Òä•› ‰ˆ vmmŸ—¹tê¢ ™T«×ˆ¸ã IcAâœ×Ó5DD~q[7*}º4|©N^ÚýâvlM¸1 8:Z»ëõØõ*•%­Ø“œp{ÞÒe¬N¹õ“Ñ“"ÖMµ»’ˆòw«jc.D$ PFH3ÒïK3Zc ó·Y†½ç­ˆ½%½¹D,X@DD¦¬¤wx Š:méK˜ô˜´qëMcvwׇÖáH¿kn›Š)ô‰]>ψˆÊ’óŒV—aå“ÂÀ3¼[û—]Öú1a€2BÚº¬Lµ•Tœ™†ðز±±iÿ/<Ò/#Ýáˈ=›±0Ó’~È{R„•ŠÂÀØIº¥i­×Ôy+#|nÝ%bá‡Ë—¸vãÖÁIjU«æ¬ÌÒ‘4üí+F˺އ֩±3¢¬O>UDͰA]vZ©µ gmÚªÜßÇÒiFÛví£ÐOe‰×eé·ÁÒ¶I¡“”þˆmt¹U6U¡_eS• '¦;þE9z6MaiëM`|ü­üyŒö<Ø>h ó-Lào½²À蘘èˆÑÁþ.Bë!nWBBJ% ‚$®ŠVÜCò[û ÷ëôi 2¿`ykÑ ­ŒKz‡Z¿¡‹@Öváðx#¦g«o‹•­©8ÆG(Àã-‚ƒÎTå¢ _nõ¹edÓö}´ú\=šQSÚzoL¹ÜúГPî#§¬ÊÙ‡¼¶>xÈïaø«2seüú|ɧlZkõ¢@õÁU›34· â QóF+ˆŒš‚Ö>hRfŽIùÕô\ª!ºõ42ëyY én]³ÿ¤(Ý»+‰ “³ÕJ¥âöè§Œò¹‘t“Wo²2)Vè£\’07èñ¯ãmmmŸv•¤N´µ± rê!qG‰‚ʦªÜêsy—sÆž¨³!›[¾˜ÈÐ{˜Úæ*¶ZÝžcäx<Ф3þZ:ÿláæ9‹ [S–FuBm ¶2•Ò¨Ueedinÿ¸\7/š„D:± kÕjLF¢ÛÖÓ¥믌òØt[,M»;ŒkjNdde™n_Jið<ä@€ÞmÛ8‹œc]gžlÈþÇ•ÄS êðÈy{ßsDv½ƒÁÖÖ¦õûhuT9à¿ÎV¼KšÂñ®,éõu£÷- îz0j ò¨åË•Š_ItûpûŸ¥wÒæ²›ƒ`iZ†%Ìdzà?–3N[[[†a†‘‹åcmÇ…K#xž7›Í×Û P½Ãå„?3}ú œ%áÙØØØÙØØÙhY[ÖÖÖÎÖÆÖÆ¦³ˆ=ž@fy úÁ[µ•º{JwÆ» uRyëÄIÆhì⨑÷¤µ›â5K§®Î'Ò¤,\=:mUÄ-wíô_z0géëÐÖ’ú?œ»³øD)½7¯·ÁZ¥Ò¥c žÚ1 ƒ×ÈÁÑ ÐÛOFÛÆíìì†aY¶¥¥ÅÒÂ0L{D¡z ¡-c‡»t“(hcCdgcckcÃÚÚ²¶¶Œ­­Æ¡wþþ‘ùÈ,ùGS©1’µkëL•¥š;>ë­µš»ÌB¹ŸœHCDšR©«9Ð;nGbB ŒhíòÌÉ+³M¤ËXº4ò Øá'[[²³±±³±elmZ0½˜Ì/² Éò$»ØØ[³“6{W¦µi¡B™Gë@¢ZUiŒ¹õyµÙÛ2îz6©Ð'&Tš’®#; !Œ IDATÒd$å'¬º5iU‰ÛÒ³LDºàËq‰X±jÒÔ×Ó5Dù«%ïˆ÷Þ}&…Ëw§hˆt™Û2k·ZN¬MK˜µM료SÞ§á:EøŒ€Õ+ó‰òÒókýK-1P‹ðøFA[[["bÆò³e‚(.ì…9Ð9°ûÄA›ÖEØRklÁõЛ)B•´:Ÿˆ 7¯N‹ØtÓp›úàŠYÖ§wʃ}I•&"]fbvíºˆ¹ÈXšüÎÒì.ÜòEï¾¹ŒH—±tuÔÎU—V{bÓjK¡7_4g%ÕŽ^²v†jÖîJ¢ÂÍ ›ƒ÷- ¼Û$(ôŸ²:ŸÈ¤ZùÎ.Ÿ±7Kj ­Î®4Qån=Cy¿Êïª  ü|2å¥eg–¶ÆÀxz<Àc¯_¿nÓáÔÓ’ÛG‘{!Æ»Q¼ñ5´%²|©íËHÖ(=>F%LÙ6'ECdÊ^956{†2<ÐChÔ¨U»S²+É#j’ #½ì¶È¨ dg™ˆtY‹fΙ7i´BNFMivúît•F¾@Yº~wÙ]vÂgƪ¸´™IeDšŒE“ •ÊÑ~r©²ðDZrV™%/\òëý ç­;13©Œ¨r÷¢ÕûVÜõКB¹jIÆÔÕ*™TëgNΚ7%Â_!#­F­ÊLNNÏ· púÍ[1IqÿÊï:#˜ÞQ‘.kÝ6KÀŽšq7#­Íܵ[UÙ!kóZû¨ÉL\§éPyÀŒøhŽ}€nÛ°°ÌEì•¶¶¬-îÓÍÒ`Û—ÐÖÆæ:‘e|ÞúxàÑ£GQ2èÑdÁ 7.(›µ^e"2f$­Î¸ñš4xɦٴ0#ÝÊÇ"–,W½“¥#"*e½êÆÓ×ó6­ˆ(³žˆˆî꾡Bÿ„Ä­¦„„Ýù&2•eí^ŸuÓËÒày›ÖÞÝBÿÙëdO]_H¤I_¸"bßMc•¿’7î ¥¯¯ÎÒܶIºÑ…Ù¦wGϨ²M¤3yD)ïqùÆÊÌmIéVgãšòÓwçwlUF+0÷ {GA"²³³£¶K‘{Ë-IP‡îöí³é ; DÄ<ûì³(<ׯ_oii1›Íf³Ùd2ÆŠŠŠ{Z’Ð?vkj`ZҶݪBËm>r¿àpåìe L½«³½.M‘¶í¶OÅÏV»VÝöL>«7’±šGN:˜˜”’©Ê+k[ w`hÌŒø]GBŸØµË³¦®T™H—µteÚ¾›'»Þ¹Êu©áªŒ¤ääªÂÖN@êᣌŸ4ZqÿglÊ‚•Á‚ìÖy´QJL ÀÉhë°DûÝb{%ÖÉÉÆl¶a0Á°Û|õ:þÃlf]\l:ê6F£%ƒî“CCCï÷zÔ»”“×—‘÷¼}Éñ>(<À}Pùɺk¿µ“HPŠnÈÜÜä86Z±`QgoÀŒ^è2——þ`#˜››®ó<ªÑ}\çyss“­Xìú‡¸;¼ øÐe¬‹kÿí‰5ÿJÒ?ÊÕÖ  Ý„““ãØh×?ı.®Èpÿ£ bÁ"ê|ò!t[˜ €ÈÐ;àú@èõ±É9±(@Œ r r ô¢È]Ú¾xñâ%_s·´_ù÷{‹/Ù~‰ëòú/ÛŸ}…#"ÒçoZ¼xñGÇêni€G•œÔÔ#'Õz""±×丙qÊ!²[Úà>º÷çêËïÜy¨ ž)BB];¼Ð˜ÿï©9%õ)†Nž9}„Ë]ھ싧șêÔ#ZyEÆ¿2Žö,Ûrž'¢½ï/>÷Þ+”š´³Üuòbeñ†ööì‰!×öçèýã–½ &jÌÝôþÎr§ÈÅK'ºaç=bœžcÅì ;º×ñ@îJFÒ‚zñÐ)/Ï|†É?§m{¡zÿ–¤J(hæ¼yÓüµçönß…#b"ª9–Qç?%n‚¿ÈP~dÏ‘z¯‰qÏ8‘Ó3qó¦÷·GÓŽí/?3Ô‰øâœ2=éÕ9j"×Q!>^Ù¿éãÄܺ¶Vgo_½åP5¦òôÚX_p^Kä:nbè A#&+‡´+VçäÖ)Æ òö1ñWª?w²-0ý'*ÃÂÆɈêÕuä¦Pˆ‰H¬ðòvßX6۱ݡ_è(Wâ‹sÔqêœ2ž\Cƒ=¶ßo_Gû·$æÖq\uvÒ–#¢)/OtÃp @·wóB9}žˆd2K|“¹Éè¼–ˆ8½VODê½ï/ÞÛö^u=Ob""±“CD¬XÌÑ]¹…)¤ä¨õLn‰‡8c¿u Î#â_¥Ä-›7dp¼bú¼—P€Þ›Y±LLdÐjõDb¢ºjm[»«˜È ˜!Б餽ã«'c1uöý'‹êŒD€ç'D=)gˆ¯:{ -óR‘Hè:hlÌÄ@ÉåmúZMD¥ûÖ®ûúóU‡¾nÔ]ÎúÏáÜËuF"¡³OÐØ‰á¾â/ÿ߆}—GÆøU>YÚDBQ/üo„—ˆšJ2÷gœ-m4Ù9x‹Šû„ôZ]¾>לÍo$çažƒFxPÓ¥Ü*¾5Q2 Uæ5š÷R´SwéÀ¿óu·[¥»ðÍ÷gc¦L*¬ÌOÝ—UÅóU‡÷¼Tç8rêï' Õ\úÏ79 "ÏèIƒ$Däúì´—žW0SeÖÿÛ÷ãeƒgø S'?«h*ýqïWYžÈÎŽˆêTÇžˆšòìBcåÉ?jˆ/?œv²Ôì7áÅßO&Tçì?\nÀq½WWÇùjU^39(ÈhväFG~ÎQóý¼Úãòl`?Gr30³4_}©Òäf½}µ¥7]Ω0“}ðóÁƒÝ™ ßr£PDŒð驳‚‰³\J’'ìÏå6¨øQ^nŽ IܼÜjhï`Un~‘WÔÄÐ""7óÅÏÿSsñlݘ""²ó (â%%9—s«xbxžˆ¯*W× ~bÔK Ç28(ºJW’¥2…?éˆRôÂÈ«U?‰Œ§¾üû©Ö¦BU¹ÁË·íº<¡£ˆˆJDDFCßi»ÄÊâ uMD$q“0DÄH½>iÉÕ¹ç«Í­o³3ówÑX×D$t”X¶L$‘ØQMSCÛŸÈÑ!"F(bˆˆ'b¼¢&5eäž?úŸóG‰ìœ‡LŽ8Cï>¦}ùŸj†¹¤¡§ ôºh(?ý³‘¢Ÿ(±üûèœËªrƒ¯_klªn¢'EÄ[’—HÒ¶üÎÚo&r‘±ÎÈ“”á~Î/lz þvNMžÿóÇÿ t¬þÏç_æñwê£ÐYBM <)"CC“™ÈA.!jêä’ã_8ž×iÔ—ÏÍÈ9¿?+hîÿ(0,x·!ð aÔâ˜K©»¾JAèºt} ¡BUb&ÇAO8Ðoà@¿#†:“ùrÎåöëýÏʺpùbæáKF"E€‡èWÚo‰dOŒð$jÌ9¨ú¹äbVò7ßÿXΓÙh&"ÞÐT]x<«ÄHdn¨ªÖñŒÐŽˆªóó.Wu¸Üq p$*?¼ÿôÏ%~,ë>xì+o:Ÿª’µ†Ä=Û¿>[­'"q¿ÑÓâ&vàJw®ÜÒ1’ý©èJu ˆ‰^õ]æÅêj-3hZBüp‡ªÔ• w(ºT¥­Ó2b^‰ãÎWõãÞ¤´<˘〱3c#|칋w¯ÃøÀÆ3EuuuZ‡a±¯Nʨ¹4s×Îo‹´D$ó;-nì@{ªúîÃ~zz‚óÅ3Wêê´ä=þåWÆÐ Ûó´üÅU+/¾¼tŠ>eûÞ³Õ<1næ½2ý©G=¤Y÷séGꊌDd7`ˆ×_Ÿsræÿ¶­¨> ]nºÚÄé$Žs_èéHdÐ%{ywg"88þiÒÑ­¾Êë(ú¬ˆÙ¡O»T­ó?úwþÁ!‰O‹‰ˆøÆ¿ý½¨iÒSï=ñ(~­1ƒ¼Ö8Sü¿J“žvœëf«»\þÁ¡Ú F";vÄÓOü%X*è¬wØpQí¼mWÏ:×Í–ˆ¨º¥)I§‰«:°eoÑ€W–­Y³æý„1i[¾þ™#bX®.¯tÀÌo½óÁâñ܉¯OU5_ܵ%­qÌ›ï¯Y³fi ûÝI­«åËÎÐØWßzgù²¸~eiiEô›É/Ǹ1ý¦-]ïs%mïY‡iËÖ¬Y³fYÜ€ºSgª¸G[Ú†«ËÒëÝǦ& OýC?Áùâ~æˆˆÌæÜ ûùq‰œ/©ÿÛ¡zµ\8òó?\Ö¿6<5á©÷2¢Ÿþ¢%¨±âc,×":¸;3ú*=Ç•¿HƒcƸ³Dä0xl Sv¼¬u±#‡Yëæ##m£¾cx»‹¹ÒS'~ú¥‘³8ùµW"ÜÙGZZ]Em‘ÐIéÉ9öyÑ“rÏ7›ˆˆh@°¼/`O•õ冿ƒ—ÍO>íêÅód°[߯†Óí÷ó孾ʞ®A""FŽ–»Qß}4Õ¦U·µå7Ò÷'ñÖKHº&s]Eõ¡ó‰H wyÑÓ|ú\'Õàï¼álÐH™©¨êOD†ã—ÌAÃûH‰ˆl ut&"¡ÈSh3 @&%"‰Ø“i)7’®ÓµÛ êÜ—ˆÈÎÓÍN×xç?è?Øœ3~CÛÿvTUÝòºP mÖ¦«/jjqè³f‚‹óÝ}‡ºx1DÔÙ¦ÀÀy¡ð8aÅî ùEÏÝžš¸:=‰Û3"+cø+zŽÄD,öµ2¬øö/ #vwü׬×èIìÜÞ(3¼VßúÞ‹b-Ù´‘×—myûíÖrzêר'7"†½ñÞÛÖé>6áU&í»o·¤}¡w0æw±1OÉeÔ5™9‘PÚÚQ[©ÄŽ«æMÄ’³ÐÆÒ*Úo6‘¹ÞHRIÛ¡„¬”ø«Æ–¶%Y}Õìl¸.ueZ¯:“ˆ¤v–ú¼èYúɹæ?E¶¤]¶œ*}Ä—¥ñÆ¢&’:³¦3×\3oS­¥?&º.ðäˆì¬Uƒî¸á-RO1vE)|ƒæ /›ß:ài+h?&ìl%ŒåS­KÖY_;KDRáÝoŒhþµЙê®ÌÛ£íø²@á³ù·W’Îü²àH‘ÉÙ!.ÒwÆv¿v<ØÙ8KZûÙɦr À}æ0 ÐY{"«4fæÀö»Âp¿dîÌÇÌì,&}]{FÔkõbñ]E+^ߨ'²'"â´zFÌÚ‹åb*ªkoÔëyÆ]L¤·–Mebñ°Wß÷¹i]š_ß–3F5ÿòã®ÍII>Ë „WJíXƒQÇ[~©´èÌ # "óõ:ãõÖ,aä8¡½”위TÜdn`ätÄô¶ÏM°úªDd£3ò&"5tæÖß`AÁަÕÑ9‘ÓçG<ÑÝTY}¤Y¤ôd¥5,ëà´m¶—×MÇI£µjPÝ6Ü–©r ÍUÃÏk&Oï'EÞü¸Ã¾°ºv]·ÆFêÀ:·Oä0ØÞ–±mûôüË@O"îÂ?/H/üÚ@é¯7ýÿÏm› ®„Ç ë>vÚHæÔ–Í{ÎüÒÈ×\u1uËæ¯Ëw19x?í­?ó]Q3qš3ß±Æô»»!¶êãÇK9"j¾x¼ˆú ïÇ:ºÕee•rDÄýrâ»+²ÀáLÜdû@—œÑpDÄUý¸s{ÊÅæ;†N­ž¨ñÌöÿ~¼Š#"{÷~nþ6ýR·Æúä Žˆ¨¡î« Û ¡Ëy‘ª¶œ'"ãñs‰›S_‘}ôvE?Zù ªê«Î}F´ß.…±ú*ã5@Øt¹ö‚ˆŒ?ü¨iŸ£(õtC×>?Ü b™Qù¨ðå?—/ا õŽ‘ÛJ=]žlÒì¾ÌYXÚ7»Õ­ž·Vƒ¹ó†‘í€á.ÎêÏU-#‚ïjÀók·ÂŽÈÀ麼½-åªK³Ój눈X/7¡ôæ¥Ýáxèø@]Ý4¸_0ûÁ3ßš×/%-eûI<ãì=<æÍ—ÇøØÙy%®*iï{oë‰Hæ=öÕØÁöÄÕÝÅ×È-¾Û°²´®Q/<å•áÄ:Lxu¦6iû»oóDŒó )¯Nña‰ë¤G±¯ŽÝµóãw¿&"ÆyЄØöÖ‡‰?í–¶ê틱‹7æLÒ†·S8–XÆ}д¸ÀG|»PG·÷&5p(o²‘ˆØ ÑÞz‚!žÈÎîIOãçÿ:WÔÀ™œßšê$%zrÜÀ¹é—ü½ÒD$pîóe?¯Ãb¶V_¥¡OüùòÏoÿýŒT"ìÒ¿¨ííŒT9ÈfÎfþ $ ë?Ø|ú""’8HÆD^$•‘Äí¯/Úªaã5Àó¯–»bZ©Fûè^'NDr—Ç«ŸÜç»ÝÝ_î:[»¶^úž)ûßÏëWÿÑdFäl½†xD^.ßPj"í#Ç÷blM–fýx¸EW7 î“û÷ü@€ûá??ð¾«únåG?ż¿`¸}+õèßø·mEM1AïyÞ׳ü†«ñÿ¬QÎŒ‘]ÍÍŸ}Þ-q¦›s7¯ø½WƒûaOÞvŸÁ­OÈèUzñ¦tkø,ô¦Šâ©›.lh!â‹ÎÕ\•È[nyÒPûù n̳ÎνwÛu—+>¯¶ cÓà~Á¼Pèž^o úù£žÙ@$p”ýé…ß `Z.Ê[pÎüäÈoõÚ[Mêw'ß^'œ4iP¤›÷ æ…B÷Òóæ…öX¨Àc óB9 ça.]<*@÷Ñ¥ûÄÀ½äÀgŸ}U€Gâúõë---f³Ùl6›L&£ÑXQQ²wâ¤*¯¨Éiȸ?ÌŒðÚõy‡/»XT”w® I1ÆG[TÅ» îb‡ý÷ˆÖîW~Íõ6f³Ùl6766zzz¢°”Ñhì ýäõb–¸²=ïmΡ¡ó–½ä‘§žíúõë---–h2™ŒFcEEEhh(*ð@õˆ –uÇ>ZZ#2ef¤¬ 5×@Ì7„@€^›GÅOSï9“²å<‘H1dò”éƒÄØw÷¢§Ì …^óB ÜxàNL&Smmm}}½Á`@5ࡉDNNN...9 Ûš?ÐÓ5xäGZqq±½½½›››P(DAà¡1ÍÍÍÅÅÅýû÷¿ï¿[ Gžš—””888øúúŠÅþ¶z½¾¾¾¾¤¤Ä××Q°—©­­µ„@†alllPxhÄb±T*­©©©­­U(È€SóZ‡û~bôßœ®Yâèƒ8]ƒG«¾¾¾_¿~B¡ÐÖÖÕ€‡ÌÎÎÎÁÁáÊ•+÷ý Žfè‘§æNNNÝ­WNNNõõõØ;½ŒÁ`H$ðHØÚÚJ$’1û4ôÈSóî0ôb±÷é•0zßá×µy¡GÅž€.yöÙgQ€nãðøR'dž„„„„„D¯+x(Ñ4žH³©ÔòïÚ´ØØ´Ú‡³ÁƼ!!!+òÉSCjUòº¥s”Ñ£CZEÄÄÎY±é`#r ÀÃPšœXhùI“–”oì…¸)&$$þ`·YZUâœèÉsVïÎP•iLD©T@¤«,T¥'½332fišÚˆCòÞÔ&dž„(w©Q ¸{]›Š9~Ðkóv¥WyL™!KÙ]˜™˜­ Ž=ä>¸Äì:e¤ô(¢ÚU%‘¼C‹0pEæñ%Ƈþè#­jU윔J"’‡Æ-˜=#"ÐÅÒ£Z•¾mݺôÂÊŒ•±FÁ¾uÑ.82»|$ž(%ò@! +0'­*1CCä­Œ¡ô#2eïά}ý>°Pf¬Ì*µ¾Â‡^êu S*‰È/nǾM Ñm!ˆ„Š`åŠ]û–‡ ˆtY+Wgb‚h×Uª M¨tž¥ÚIY:"oe”B0#`õÊ|Õî,uŒòæç²¨w)'¯/£ÐGV ÓVoJÊÌטˆHê3{á¼hŸÖï—/_a2™ÌœóÌä|žç<ç¡$šÔåLmÖÀ€H¯ ©H%ymKTg¦lÐ9D u\¤Œ¢-:}]…¡N«{íýüÞ4MJLc3–¤•TÑê„ÔµI¤ÍXWS£×nÊhd*«R•×7µ®ÊdÜêøëAªÉ-Ô ^µyiÙ5R«¤h›I¯Óm-ÐÕÔæTõéuŠ$»¾,³ b“VÇKl†š ­Q[a'óe%ÙZIBÿVýÖui ß–ëSÀ$)°ë‹3 jìÑ I«”0éjjô5i ¦-åYÑý2¿<#m“©b┊65Ô´ÅÙÚêå›KsûT0)¦SmîÊb½,>1=^½¶ªNW±.ÕLUöGýÖú¼´5½×+ÛÍz¾f“^«]½esjdï×’$ v‹® ¥X+ŽKJ]+#mFmU¾¦ ÍBVnN”ƒ$:99AW]£sŸ QÊh1ØëóV¬©±ù¼ª–c³õzm±^[»¶²¿!!F»¾Tk©$]E­U“xפA›ŠS9;ŠbØMÃT𴢨2@ƒÓ ùË2mù; £Œ½/Ôèæ@|?¼Ö#uGmì m~ªù±’ {÷wL^87œÿ‡è6íÝ1bá<9™t qç£m¹¢’ãäÒØUq¤¾ÎRSÞ˜ž9( š·ÖÆ s©«â2—­ÓŠ j6û”’O'¶âߨÎí÷S“ÊSWl2è ‹ë5ýoÝP”]fP­Ú²¹oìÌZ›»2[kØ”U[•¢°×ꀨœÊÍI}}ï¼­…Õ©å)r¹&5W%Ök Í \ž•»¤÷˯ªÄb®ÊÝ s©Î)#éÊðfiÚÊb£vÆxu‘¦W Š«Ú!%Yú“ †æÒÒ†äËC.ÉTkPÅGßÂà‡µvCne°!€6U­I)Ðë r«bJ{• E0Í[«ã^ëŸ[˜ ‰Z‡nC¶(~ce~ï$ª!qÖVSjÈêôHÆRS#^[YÙ'RSãóV¬©i®(¨J.O‘ÝX’½ÉÀ€(îµòÂ%rhðæ­Y…Kvä©)Ÿ…H°Õ›’·TgõžtJr|þ²´­¶ºÒþ¨ßºcCv jõ–¢Ô¾k³×秬Ùj(Î.Ž©Ìêm‚Œ®X—°q[^ïe@J¢2iEq³¾DkJLUŠÕ)Y*yCβøÕ¹)ò>q_XcˆÊÙVze„Û®/Lͨ0ê‹bÑ@Ôè`­/«cT99ÉÕi*´æÄù]r^z óƒotcU•#n¹J_ª5k’ä¨9"† \2+n¶”¼1âÁù,Ž”ânk¬ÈˆtcUE3“Ú\‹Õ)€M;´lhïš,9kàˆžT³:Aú­úÁs Ué«FØÊÄô8ÀQ[e¼©Z˜v]I @²<'ýŠh’jÖ®VKDÐ7ZHejþkë×oÌK0ª#V§ÄËÀXg¼•v¦ªR(V¯Op0*29'AÀèJuƒ¯O‘ž3ÈêD8Œ¦ë©ÝâK¥UÊÉ›?/s]‰Ž$¯` ”I9é20”kMƒý“šy¥ÀŒXé;ÛÔtÍ•­Ññ‘À˜mƒ¿K”3ðâű©É 0VÕšhcE•Ô99K\ºX™C8´åúÞ‹§|'CÆe :iÕµLz‹¯ ˜jJt €jm~ê€ÝıYy "˕ʵ}öR¯]­0l$‹‰•€Eg¾®Ñi›Ñ’è¨E‚ÄêÕE[6o)ωF"p´0וé!*9.Z“C+ªLîÅÒ¤9sR«ë˳’4¾ÅlRòªM¾¶@×gÆÎI,¬ÝQ˜á[s%61³¨þzó™iÓŽüŒÄØÞƒäV5ô5{Cynjïs4I™…½M\Ÿ«ùÉ:0º5óçÄfÕÓ>ÁZ”•²¤w×”ÜòþƒmÞ‘Ÿê;%©ù;k³b¯¬„ÖúÒ¬”Þ…a4‰yU}kÂØw¤Î™“R^_ž±dΜ%¯|ú×Ä9sRÕ¸µV§ï>´¡LK&d¦§«-ýObÄènÚÿõ‘67Ðæ}_Ö7šŽë÷Õïýªö«no§éÈÞ/¿¬ýjïs72é@bØ¢j“|e^•/pÔ–ê®]‹ÔšÁÕ)y¬÷}!ºzp³X«ÆÔ`¹™3Õ60d”F5hpMš¸yG펪Þñ.J­Y’˜è›™f·ZÍf³Ùl6Ù|ºÁn¿…(ÊÚ ³€L;¤kœRÅ«I0êšN¢VK_Ÿ„ôéÇu¿ƒ¡i€¾ÌÒ›Än¬5€(&~h£L#€fÝ å)ŠŽèÒwZ¢Hõà­"_rëš*‘š!_"SGŠÀ¢3Ñ`©Õ;@• ’Â'ŽJPcÐ ^ðâªO‘„Æfïµ¹¶ñWÙ<*^M8ê·E\ô o¦Ä¾ _úúž¦$Ñr°U”Ô<9J­ŽVÊ‘ -LU¥F_÷“X¬Yjʯ,äI’`(,4hò+¿>ôõ¶qöš zº¯ÁRUPA®Ú²ãСÝïg)õek²«®µRˆµ:;e] Äçoy¿rËÆqmAZf•¬µ¹›´Ÿÿ~å¶m•[²¢MÙ™E&J½¾ò€úµm»wäÇR`×ç­\Sf$¿Q¹m[åæt™~SZF©‰º±8cÝV“jõ•Û*ó“ ,»P×GÑ ùikŠ ²UE•Ÿ¾íý½¦`evµï4) ÀTUX§Z»yË¿zä‰T RÂÖº (’“"‡+/Ó®+ÕËR’”RuzSUÞˆÖ©AŒRØãlO›S~ß¼Øóg‡ºZÛh€î¦ã§»CÕqšE fŽqÙ\,2bd@y¡ˆv]i­@Ÿ:°¼ ’ ÛZfÑ•^cÖŽD%›‰Àa³Ø‡ì74"—‰l&;Ý›[y³Éb¹ä».¡¡ª¨¸\«ov|?Alk°H¢¯þB‰\`aÌVû€óÉÅC¯¸QµÊÞ)–´ýJZÚÍæk›(I¤ÀV“ àŠŠ—ˆ†~+CIÈkœëUª ÝM,8›Í6“ HÙÕêI,•‹Àà°›lƒ[ÆÅÛ7yt°Í-Ú¬†!_ì02`1ši8@)½6ŸÑo`PyÂúµÕi› †²5ËÊHYTLŒF£Ñhb•HŽfTCyE¤É‹€X/Ñj+ ™ÑŸC‘é9¾úLrMfNLÍm¹!G­îmªñ9é±r "“²ÒKW—ך“†$–Òe%:&jýk™)Df¾¶Þ^ 5[ì —ª×WV2âÞ~¹<=µ¢¦@§7g*å”XBR¤X"SVmaM”°ecj4ò”¼õ†Ä5%%†äü(cEµ¢Ö¯O‰•(å¹™”e–¾GkñV‹(~s~Ššé’¬–úeÅ%U¦ÄÞy× $®ÏêW_S¸®¦¼!Ý7a׬­2BÔúåp™ß¬-5ªRó噚,N+3dæß¸ÂTWWoذaÈÆ„„„¼¼<Ôœ7„µÝýÅé:+n¦pП>‚@lÝ ;m=‚Ðh”d‚„׊Šg#D î<ÖÚR]^ZÊ e`·J¯žµCQWfù¶0 3@_\½"Ù¿ßÍĉ¾½Hò†+;ô¯ÅGªâ–Ç«#% ݦ‚Û­Ù‚aú†ê-Ê' sõEßb¹Œ#ã0šì}“=ý½cv×C${íi»Sù¤øjk‹áŠÓ|N!¯5œé;fpø.¹ßksƨ«3^ÇÁCŽw;P‘)¥Û¢«ËJ+´uF‹¡n«¡nkñR—ž›“ªFk4ŽJ”¾´Æ&IXE èyª(Õ\·Ts¥H¯X®–ÎÔhß(<©Œ¹Ò= S)IÐë-tÊàò¯v£Þ2êJZù’ÜÂ%½¤lÚâ‚\½Ñl³õÝ׊kôÏÐÆZ1ñW²ÄÑñ‘ m¨5Ñ “Ñ2õ•!jyL‚61´©Þ ŒÍ QG‹ Æ`²ƒOÞ‰¢¯dˆ5©QFM©>³0V fm•‘ŒÙ¨¶¶iÒ–l–ìÅsúoßR½]­¹á#-11JA$7ǵæÈõÄqNô¾òeåyàBžo#Á#y(Yt qç1kK ¾W¶fã5eSsE•)epÙPšf®ç{¥À …è«wcÊ—ïÞŽ‚¾Áà¡©4o«@4° €ÙQ·ª}.¾ºß‘¦m·pâ7¼(…Fu0Öè­‰7X%ž¶ZAÚ»° Ù›nzµWFäN%1ö¡Ö¦iÛç«HÊ\k8“éÓíä­Û ¿†¡í޾œëÁÏ1€ÅvuOmªÒZ@µþµþŠJ&†¹ö?)–@ª×oÒ]@Šd˜)ûÀ9¶v›}à—3vûÀálÆNˆÅ×nmTdrªª¢ BgVµIâÆ¨a›¨/Õ2qEF*¥êå‘%5¦xõw~Ø'õz=ˆaŒÅƒ®6³#"2ïl5Ù< @FAŒLÛóÔíðÔíÕžo‘9?hhcEµ®¬q•d‰MŽ!õ:›¶BŸ=`°Í¡ÓšèèbÁn¬3¨bÉKm½9S9àÐÖ†ºfEFߌV ”¹UÇ4Të횃EöÚÌÅÙ:%¿_%鋸÷ø[µ%µ·>YP#£ÅR[kÊ´ m¬iˆŒW}ÿÈL¿zyqÚV›¥b͆¨-ùK®2=m®ÎËÜjQ2 bU¼ tF‡¾ÚHGŒEi“ÖWµ%^uÇ4T£Öh× Õ´©ÖÀ€2VF€L£•Õ8ŒÕ:kÒ y£V}DÑš[ZO­Q€¡ÙR]kJ²ê¢µ~‡Aý½z·6ÔêÌâø”ÁYvòØè ŒÍþýO·†©ªÔQë“c#¹D²*ªx]EEcJ–¯Äm³®ÑšªôíboÔY@ßßÍÀt&:Ö÷¢Í:#€R-êFi¤Zeõz[V¤ï>³ÖæfÑ©Eùr ¤¤L‘n¬ª²È®õRhTPg¶QJ¥òJ§‡$R h¹RZƒÉ½sMͺšæÞÃPÊXlm¨3ÒKúºL,ú(âTb€kNv’Ç­Š)\WZ\l³(R‡¯BŒµ¾LGÅmô0“ª—GZ6•£o扉‰>5ˆ@ „8b†ÂÑ ¯kÁI?É„1~¶N@C‚ˆ‘¥ #~4Øõ¥ZÇ õ"†"V§jDŽÚ ý °ÅVUPq¥¼ÝXUè;PÒ:Í%ÕW 4Úõ%Åzi’oNN‰Õé ¦® `‡ùJ ST¨ERR$€X®’€E[oå®)4ûjÔØ¯$»’$़ʤô(ßiW™èv*ÎÓ:D éê;!·¨è¬7V©À¦]·"%·¼Þ4 ½¾*/eÙ†:€"¹(§W|K5éq$€mkAÉ•‚Š@7VTXȘUqwní/‡6¿äŠ·iSͦ*D%ÅÈ}'ŸšªCaÁŽ…ú­µ›6é@–´ê1” é1$@sqnQƒ}`¨Z˜±f]vZf…é/€$Ž~î5mÓnØ´)w]Õ ’ˆ´Y»Õ’h%‰#ÛÕP^c¨¤˜¡Ï©:Y –êŠþVn*.(­7Y­æ†ª¼MzÄ'_i^´vCᎳÕlª-ÞPaƒ¨ä˜«oeòê²ySv~µ¾±Q¿£h]ž¶Y«–SŠ˜H`ôeU f«¹±¶(;פVØô&; %&ŒµºÆF“¤šÌIsqV^µÞd¶šëËsS–-˨0PQIè ªÌfSÃŽÂÜrº¿5‰cÒ“emî†*½Él57ìÈÏ-nÅeÆ_ÿn•jR5¢f­Î•:|b@ºdsýŽ!+ÃönŒVçî¨-TS@E÷¾@ ¾¯¤“Î~è¡«ðŸ²à¡¹á|à‡Ï}hÁ߯+ðƒ§¨=ôÈCšEó¢•Óbš'G­1 ùˆ ½t­q•‹JÖˆ´5ŽÁeCËãíÅ+W«c"%”ÝT¯3:HuVÎ^QÉjã†eK*bb•bÚÖ¨Ó73¢¸œÕ7;‹ŠÎܸÊVfÔ®[V[-k£¡ÙQ«ó“•@E§¬RmÝd4nJIÒi¢%`3Ö댌zí–µLöÊb‹¥"7ÓŸž•(«¢$`´YÊR“ôJ1¥Îy#óªHKž˜ÿš.mV_°bIUL¬R´©¡Î`Õª¢,õu£"37o‘äfoÒÙŒÚMk´›H‘ˆd}å*D1«‹®§'Öäm\žºf«±,mq­:&RFÑ–^{Ê–o\¿äÎU“Å/§*2–ÔFÅD+)Ú¤¯3Ø@±*'AÞYæèS tuë~²¤"F­ƒÍ¤×m¤zmQú-bH—¬Ï×¥e×ËÒרb¢|ÔdŸ›oɸÊèš5+L* (37ç¥ç$Ô®©Ñ¬œ_¢R«d"›Qo°0’„õé‘(¼á¨ ­ Ôkc®n¶ÒØä2[[ªÏÊP¥çÄê‹3~b´HT ëó¤fŠ49éâªÜë, ²˜U›×'ʯټ6–3…%[‘*~í–œ$9$®MŸ]°)mÙ&©â3óóãE [×¥dæT–&%¥ÇÕlØš½²F½~ÛæDuÞûo( Š‹3VØ€”DiÖnÎIQ¥ÎÙœÃämHÓHÔË׿§W¬\g÷õølyCRP\’±¢DŠ˜ä×6®¾aí**)V¤­NÕ êEt 1L˜µez¸j½ˆ«ÂUr¢¤¦Âæ+Jöɳ՛£‹ŠKµ¾´D‘"&1=kõUŽTLÞûšêMEµZ U\ÂêœÌØ[ˆpÄÑ™[¶EW—VÕ z )‹ŠOJ_ÜŸªLÙ¼ Êj:m3U̪Yé9eÏK®Íª04ë´”*™ "3óW5ç–ém̓(ê:ó`äKò+•1%%µ:Ö¤D¡NHZ•ž{G{#ÅÑ)EÛâõÚ²ªšz}C³q8 E2•Z“˜’œ úeâØÜòÊØ’’Rm½¾N R¨ã“Ó“o-ó»…`ÊæJuÅ‚ß IDATIaIµ¶Æ¤L¾63q€V¢”IE•ªª’’ª:½NkR¢ŠYž”žž}[Á«T“WY©©(©¨®×ûʆ’EL|JjzÒíÔò”'å¯Õeë,ƒÁ¦P’âØ¼ò÷cJË*jëz¯.©HŸœžº$-1ˆcókå_ç=MQý!³ €T%å—']g_ILfQuæMt $ænN̽ƭžW¾$oà–ܪCý»%îH$PS cS¯}øøµ¥Iù}­ÈTZ ïŸ(}Ýω5›º–F®ªwHVÇ V‰@ £Ö¸À71ÍD †bÝ‘ú“uP­ÿ¼<ñFº©4iEq3¨ßؽ9Å3÷t}æâ5:F¶ª²úêqRb„1—'-ÛD]ûICë³gèã·ìÈõB¯tCþ²´­d|NÞªek¨*ØPaŠÙ¸£ð–«ßÚÍ&“±º0·Ì³±²ðv‡õz½Z­¾ ýyמâûøtæÌ™<>AŒçرcwüÁ‚4@ ˆï†ŠÎÚòUPR”±²|Ãçë·dÝú(tcIÆÊ ©ˆ[»9å„"Ä(t @ £Š<¥êPÊõÄ—º°þÐ]£åK²Š–d}ߣDfUÊBnG ˆÑÕ E @ ¤@ —Ë…ì€-\.—@ ¸ã‡Eub@Ü{?~<""B(ÞUgåt:›ššf̘ôCÂl6³,;nÜ8d ĨÐÒÒ‚a˜\.¿³‡Eã@ î=‚ƒƒ;::î¶³êèèFÞù!•J‡Ùlv:Ȉ‘ÄétšÍf»Ý.•ÞùªZ¨N @ ˆ{24ojjò »aTÐétvtttuuEDD ïüÀ I2""Âjµ655¡QÄH"‚ƒƒ#""H’¼ãGy¡@ îI†±Z­wChî פRép„kâm·ÚiJ,ò²°h<@ Ä= I’r¹üŽÏ™A ˆá€¦ÅÅUz õòÕk3#Å£t:hb$ §w9¶7±4½};ëÿþOPX]ûgÊ>>8~!ÕSô¼Íòóqœ¼}¯üÁ£—²‹]ÜéÏÜmRlÙ>ñ¥îÿØm@aÌ1§hõØÍÛ•y3]E¿íÉ›°eûÄ܉Î-%.¼ûóÌ›íAoî¼ý òª3;§ËÞû);>8yûAev³}9@ ñ#†¶èL¨<ì'V'©IS½……³B:p´`zÖÌ4.œÚÿ¯é=ŸÒ£ðÙO‰$Ä”ÌqÖCˆž˜Ëîùˆ¦è¦Î]]Â'æÆå?ö°€ ›ºöwQOÿ\@%|ü)þÅ/z,òpÀäÀÃgòÀêv9U¼p,€…Ï$Ȉ€C À-,Ю¿àæ®PPÀ›û¼ˆ<Ðu‚ 'ŠFà Ž CÀkë¤cEcqÇÎí{\6š÷`î¸ÜŸò‘«@ ?jH à*µÇÐLÿ›#Ê µÖp­ù4`}õ¦1_½bÖ*¡#¯ë\ÿá³gZ’$.ñm±{.ê;¦HŠƒÝíðSJôn¦€ë݃¯”¶¦0²·•b´§áN<×ôÕ{b ì]C>E°CúfäNÈ/³~˜¡ð,7áá ì¼ÐÙhÒ @ âÇ ¥ŒU‘[uúŠZó’Ä  Öú = ŠQŒ†D:ð^@<7øAúâö“"fs6ïS7@(5e,j^@ ÌG®.Z«&Á¢Ý°rñœXMìœÅ+ÖmmpÔ–T5ŽÆü@48Z0=kfm™(ýðãëœáÓŸôcž²“χÝh>Ê/ó-iAÎ…Ÿ6aiØÆU$€÷¶Îx°@ž–ÓúÂm päX¿´ÀqÍ}¥~Í´m~øôþEþjÑþõÍçp$…‰¦‰s $ƒ‡Ãn·{½^Ô²G‚ Äb±H$B^C.C ¯!×Ëw‹×(eÊæmÑU%ÅåZ}³ƒ!%Šè¸”ducѺ­†â´ ز95rdÃf´Ž<âîâ^\GÞn·÷ôôðx¨WånÁãñøùù‰Åbä5ä2òy ¹ qzm€ÿz×—'ã6n+ÑQÔbˆï‹Ãá (ŠÇãavωØ,Ëbæp8nüüE^C.C ¯!¯!¯!—!FËkW«³J7“Ùùz¹x„³èD ¾/^¯—Çã¡~¸»Ç §§y ¹ ¼†@^C.CÜ^"37W©"o!wêžGÜ%Üdo(òry y y ¹ 1Z^ýð¹ @ ç/¹ ¼†¼†@.C ˆ@ @ ˆ,H"@ Ò@ @:@ @ ? P…YâžGÈçß…gåt»‘k®‡ŸŸß]xV·Vä@÷º×ˈ{4ˆ¸»@u±@ ¤@ q'Ay¡Äà>¾+od”Š@ t .<d@ Ò@Œ>œÇÅ™õ`ÑCûiè¹îÀp A< cçBÈ4/ú^Çëe{\Ì%[Wp H ?2q|ðIö°#x;EñìS+YD ÄUƒã8ŽóIˆ‰þÝØizÚØÆ8úOÎÙ~­·qŸ>æüäs0…lvÏáè¦wé.œ?g6·ÕèÎ>µlQNúRdâ6è´¶ Æø$°,+ œb=‚l2ì:·(ž7c>}–ÙlFæ@Œ:r¹á6îã»ñ¬ÐüÀ᧪òC™L6Á¢~Axµlo·½µùÿó22×ÈÁz¸s{9mçqð…N<°G:»Px…’h•.ŸåÎë¸Öo€îä.ájÒ±°(H|£DÈx÷/åmR‡\˜„M„ûâÀ€l‚@Ü&àÝ]8ÇëżhÂˈÄâ_öz½,ËúúŒ¯øõ#î(¾Öå”Àqœ ß Ã8Žóx< Ü?éÀÛÍü±RºåŸõûöÿõ¯IN~š$É«o:“é쯞M;p@—þÂêd±zÜ}¹Ž=õ)pdÛÄ”¿Õ»O]°y¼^–==î{8ÆÇbÑ+¹®îp \næÌ±‰ xoáè¡_ßTš6ËüÇϼGŽÑ¢ˆª‘eˆÛ”†±,Æzeõ"ƒŒ„äóùAøbt¤# }ÿã8Žã8°,‹Œƒ@Ü^¯×ë¾, "_|1K©œ´hÑ¢!Ïí¶¶¶ÔÔÔƒt/˜öíɆ˜ØEèÁ>ìx\ÞÏVøÆ?ü·†ðC,×÷Ü“„“‡_y*êßäNn*T Ø}+‘ñî-¾5š~:öCCöb¾DÛÎNøåψ„È2Ä `æò½Þ2¯W}œ8q’Ê üÀpÚ wãC™Î_RÔ˜°PdÕÛ×<ïjˆt b˜tà@)è ôIAÔÞˆ[Åét†ˆ¼3B?üôäË/å¾_^ÞÙiw8¾ûK$íÝ»çë¯ë##BæDKÍæ‹è. q¾ÿ hÙvNúØ+_ÖË­8ŽGNRR$ét¹º{œ_<ªÓ Œ˜ _èÇFù…â=mpê3Žã0Mðý ï ºìÎ7þ^š£amÝ(€·I_^—) eˆãöxÊ¿0ep#‚Ú.‘÷cnÈ1˜Ííöx=Àq^œÄ ¶^ï«ÿ¬pzØ×›*ƒ û}u 1’øDàÀBˆïsÑÜCl=J{4?pxéîîöpkŸŸ_·ÿÂÁƒ‡~™²\)#Ím=Ž4''F¹½Øc-kŸ}Ãàbk²ØpÞþŽ•@sð#¨ãwÙb‘*BqÚtîr§}àž—;íMÍvaØýSŸÿ­¼³ž=õ)†þðŸN›Îµïð3¿HàñP!·»ŽãJ?ø"e–½£ …زŸ>†D q³Õ}€åp‚#)œqáÝÆq€Ÿqb,ËðxpÃàe¯nß7²ÙtÄìßüé?¿" P­ÛŠQ9Ĩ Bd„ï‹Ç3°7‡ã8·ÛM34E x<ö%wq¸éóÇq,ËúR©û=ÙÝÝ ‘‚öü´½››>IŒá°÷€9åÿ](Ìñ£0Æã=uÎ1MP¶õdWW²ç0;‹…Ão øû‰°.û%?á$ŸCÇŽ@ØO­ðÓDðÇ‘x"—;nüdG­åR›þä¹Ó-aZ®hÝÆ?íä…½üï¶n§‹Ç#žùE"²ê]ÚÓC;›öL›ï‡K݌̂@Üj>©‡a€õ½îÝØÿçuÙà 3åg ð;ùpÆÛÿzoõs¿B½Mˆ¬€Å0᎘‘å8†¦À'üÚZÛ _´)gŒQ<ŸÏ'ù|Ç‘¼‡`YÖá°Ûlí~~ÂÓ§Œï¾ûîÒ¥K—þ4Ñçb …ŠpÇq{·¹÷´IÉ˦ I 8 bÆÄ@8Ë ‰¸ÃÑp^.|Ömù„{üÔ¹<±`îìµõ0-B¾>ÚH]Ü­€ñæâ¡Ïûû -­mKÇîÙw¸³ËñòNAaLt¨ýˆ¨ñý¨±ï?íªÙùU£q!A¨øä]ǹÛÛoý+qŠó|`ùpè,X$F–A ®G§ÝqúÌŒã€aÜËv…b¬pBÐÚÌŠ‚8J<7í%X·Pç%…ÖæÃGŽöÆ9<Þì¨ø€ærw7Æpç –Wr,-¥ÇßåÕߺD&@ îyàõzwíÚåõz˜;×ÏÏçqâ)='ëºÏ¹ÝD°Š?+Ìßߟ$I‚ |eZá;{Û£'ìÛÛÛKKßùr×NçX÷‰“'[Z.þsKYúóϾòjApp0†aAAAݽó»«v6Ÿ9ßÙrÑ>kúkVÍŽã0`ܬ½Û# $4€Å0ƒóñE/Ãüÿ^Ôaoq}~Út~Ïþ#0}‚d½r7yñ<†ƒ¸×ë­¬Þéñz?ÛµwÁÜÙúoNØ»]—cÖOãH¾8pcÜž¦æó!A3]ïº{èªÏ:MºŸ)ϹûŠ\ðpÐÞ BöA ®Ç™¦¦çË>é38ŽÃq) ï?8>ÝÓv®gY@Øn ‘yÎëù¼“ýhÇßT— '÷Õ¼]L (‹(Û8¥ã[ð׋¸‡Áx;Qö³Ÿ. D–ÿî.dâž¿y<Ÿ¿ .ŽÃ±Š>øô³ÏwVœØóߢ㯆|Yz±4ð|ixµýÄ––ÓŸ]8ôb«¹­Ónw1Œ›eY ãpâÎÿCÜ.]]]¿[³F*‘n)}ï“O>ùø“êÅ‹Çóÿ+Y»v-M»€Ïçs@ÐŒ—ã8iˆ ûÙûâÔa§[€as~§íÅ) âÿeürº*‚ã¸úƒG§DL€=GδÌE÷~å¸p–e ßžAæuìWËE[CCãŸß¨ø}öËc-ÿ~tÜùnÜÞÞ™×N78ü&¡ÉÃD±±xFùŒ“'n|ýÈë|ô€‡õãe4Û4!e!ýÿ”åJ»Û–ËäO®4Užh?¡ø@±óÂÎþ#p§=¯T1éxûñçw*+”uëúße9ö­oÍø÷Œ6šV}ÇÄ#a`Çæ®‚qán·'Pê%x˜‡Á=nŸâ(!îvãŒ#xŒ(cYŒe1ŽeyCFzP}?i>Åa8ÆqgHüOLÚžù+÷Æ®¬xàé'Û¿9~™ýf@ãĽ׋qœH(|䡇§DLªÕî«}ç´£ Ä:•L'>M¹öâ|'¤nœ›žà芼ˆMÅù*?ÿ`‘¿¿?IQDß !@oi4Z8*p·wÏW‹kžY•Ö?9ðõ¯O›:éØ7'ƒD<ú(ŽáÇñx<;˜W¤Ïyaö¢ûÇ8]ÞŽ.·Šô:]^—}£ìè‹¿š=V*ìvº}k™Ÿ @IÁ#ÉÞýGྉ!Á–rÀ&ÇãsW÷¿;aløý6í„ñ ˆEþK4±@…â¸7p"C­hïì–† )g£L÷v|º}i ­sI6þAÌËaæËŽõ p¹¹äÇ [ µgkO8N<µë©ò‡Êg„ôW6Wj;ÔÁt„ B¿éøfߥ}^ÎKxXO‡³ã£æž™üŒÁf8Óyf{óv|~îò¹Ã¶ÃŽ{Ôw„í'Òö¤™í惭ýD~ÍmÍÏ×>ÿîCïÎ ›ŸŸÿ<ç`Ã2n/ªvvçðu:sà8NËŽ€áœï`€a†€cÀá8°`п¶D?q DnåÕÜÖ{Y(Ž7.î0/p˜bç¦#“#ˆ@üˆž°A…‚±ãÆÞ7]í]Ü~´É}ÔûÉa¬+†H˜ à˜#Z)êF!p¾ (Ú|y6k}(HÜ­½€“ø<ƒÃùçÍ­ ¸ÀëlüÂ! X0wöUGš Ó‘AïÞùpÏ]Eú"^kç ðnÆw?^ÙGÀƒƒfþo2f#s |¾iÿ&­.íÀÏø6úþFøtA¾>ŸöÒŠùÓšk`ߥ}~úè§g?}fò38Ž|œÏÇù€Ö×·Ùbo‰ªŠÀ ÇÝ“:>u»j{é¹Ò§v=udù‘¦®¦Ÿ~þSxåWäþrä‚;ã^Iû`ë%øl Ër<æêfüÄs€×Íú‰Y‚¬—ymÚOŒõ­>ÍëË3â8ÎxúÌ?JJL¼p»×ke\À£€c•k%ÄË…ÿK ¤$¤ˆ \_PÇckí¼ØÈˆC„cDr…s æ£Þÿìö¾s?±`oþxçáþ|0À_vóÍL§¥³£ÜëÆøb ò§DþT`@ŠD$Iòy¼~Yh¨p8±XZzzzd2ù`™ÅäÝÝÝGýÏ¿·ÞW-ä{ê÷M_ò l\¸ÿëÿóÀeÔ ßš.wvºçÎ ëeaÁüª©=œœ7·þ×+a÷¦ò‰çßå$‘8 \ÿä  ,ÜK|¾ûˆäâÇšy¼&+ç«Æä{Ò |€ábøÒèÿd¯a•‚8_)R¼tð;ñÖ¢·‚¨¾©˜|ÝúõGg?ë?6cj†€Àéœg¦<ãå¼pAdÐò‰Ë§Mã %Y]ÖÔ¯R1 Sø+LÎÃ`ó£›­;­5Í5Ïõ¼¹ÛŒþbô‹/Í~ ÿûÐÝÓ³ú¯ÚH1ý^¯ÔɰŽNŸãxnšíîÂ80·KÑz8 p¯ë°öÎ+áÀÏM³<¾o¶ GøäúBŽÃ )î3™~d­ôk¥{¦Øöx€'@ì?E1~Ö‹ÏŒŸ0…(H"?"0÷z½æs¶N[Ïe›ÃOŠ{ÁrŸ»g?)Å”?çÿ7Ž9Z¸oözvbà Ä…!˜ß,Pâq8OÈb¡5VY•÷¶\ívNwN+B™I\“&rŠ ØÄI„l¬0 P ðy<Ÿ Äq=m‡A¶Nš¬ºæ,Çq'Ož|é¥u-g¾˜ä~2ƒ´ØˆÝ'hcç.ØùqàˆÚ:˜KíôÜŽƒ/š“QÞÚð" ù<‚`ÀÝâLÀ»/Noµ]6u 0©Âgaãb†zór3œúÚøÊ]& ¤’KVOq“Žf.(ŸòdÛQ¸[;¿ÝóÞ#™‹]€cÀa}k²r06ûK­û× x—ìpÌÂîø–³c|d±a…©-š-¿Óý®êl•B¬Ø8o£¼Àøóá?ó^I\I? òle»«ÿÜ›Çß\9eeª*U!R˜ì&ßóÓáv¤ìJù¢å‹HId–*+}oê Io.|óx¡êlüjê¯òÔyÈò߯ÇsÞÅéN ú‹ù$`8p쵺‘9ÀyÀy¯Jüä€àËö/‰Ü~%èÁ0ŽuЮÖ;î^àjYÿ‡ ¾u•H"?:8¯cÙÀ ˆ©ˆÅè³Ç­ç~`"ƒŸøq¢ûñ y <Ðq™»ÐÊ65xÎ6;ØŽñ.ñ4,x*FM<ã€å€e GßqÙ¿Õ†Ãl Àä–‡2ãÇ9"gtDÎyÁãSéïïOQÁãù’GѬÂ;ãM–%|ˆä8îòåËü»ü_ï¼~ôÄ… À©Ê@Æà8ï„ñ¼ÑÔ,äóñOkÏž0ÑáRá¾Ã–ÇsÒÞ —zÜ ¦ w8ìb1*:\ˆEþ$Ÿßãté›»Rœ«óáñ®Ç0CÓÅæ¥§Ì0]0W¼ûÎ ¿üEpPpgªe÷¼ Ž‹€Ÿ²¿üèÀ’äO¤üæä©ÈˆñI];Ù® øÜß"ÃŽÜ}Çq=NÆÅ¸N¦ú“ê'£Ü—À' ÛS'¢8 α¶nÎÉÀÉVvÃVOª_¥¦].·@€ÔàpÁ°ÌÑ„,øÇc5+”ûÉø½²NO'øá˜ý—öÿBû‹+??,X:Q À@„‡)±1ÌÀ¹ÛncMû<¾bÿÕs¶ìJÎÃÄ÷ñx#9ÎWÿ÷¸—Û)O—ƒðÒ|LØüÀÛE‚Ýqnê|ÜŒ à???>Ÿß7©'Í(¼mÂecšMgûW÷E¨&ÓÙßýnÍ~]íß^ nYúÚ–vcKè´±LK›;<Еû×ý9¿}àUð»ùà³³ú†–?dÎ~0Zjë¤ußXÞÛÖœòËËV«éÀáCäï7uòÄ}‡¿9~ÁNK‚(Oëôî/BÄѶ®ž×ÿ¹í…UÔ_6ÿËÖÑyàÈñuôýfg(ÇE Èzÿ¤OëZà™3=?™‚c-N@øýȰ#Ã实]»¿rw´ôôt3Ý]s¤­ß^šÜSxÁ ÿ°@œó:]í6G·ãÚ–¤ØNvJ2RæöXë/¶wÖì>–ô5zè ߨÜйÿzô_¿Üù˼Cyº=Ý¿žþë:s]Úî´Ï~úÙofüÆÎØ»=ÝŸ4@¼·è½Ãm‡ Dâ;Ná7…ßv|D½÷ŽÏÀ¯Ì;{‘ IDATs³îì}Ùÿ<ùÏØq±í=íùGòY÷e!ãßN—ëä©3o¾÷ï6›mû—µãdáÐeSîûHÔyId9^·˜O¹¦Ìñ„)8Rˆy¼ËJšOñ,g0ŒõxBäôdµ70ózy—ÎR§aÆÏëa…b÷¸Hw¨‚õ û;ùç¿¥Îpà\¢PŠ·ï©Ý»ï›“v‡ƒ°´^Z¾tÉxY8š"ˆt À}¦ôo÷ô;<8bÞ²•G¡xð‡ö;Ù?… œÃE<‘"bBpf—ùÛö3f·÷(`À•†Á‚~Æ{`7ˆ+×ÒÄ^8Ã]<ÍuìæÝ@K ÄXŽ÷*ÀÿR›¨ÕÄóÃÝþ)"Hç¥ñ¶ÃŒDæŸaŽÀü¤_È㓼…TA’$rËí!—s:]AAàõzÜÿòÿüæçZÇQþlTü.Dz¦¦ã¾‡ƒoÏŸiŠ|@ŒcDggÏxyˆÕæâX®Ûáþø³&JllüvÑ‚XdÛa½ŸXo»|9vÎ,bÒØý?þ=ç2ãüù ö‚¥õ¥Œ“a9®ãrWg—0›ó›ûåݳÿýUøec¤¦ ÆíùQ³=_sT H§"ÃŽ ön×Wû ?µbãðÏz¯Dýܯ~z ¾Ó¸é™S‘]’øÄ’¸(€„ó-íãdž ŽKÇ-}íÁ×~ýå¯í;^Öûä¤'ÿvìo:«nûùí_ðw¨o­ÿäÜ'‰ãƒ©à!Êü˜í˜~ýø×Óƒ¯Tbb9^Õ¿úNã;cüÆ|üðÇ Ö†‡?{8[—H>ù2ûÍ#îžQò§Wú·¤ývÍÙ}Þñ$ÌÞ—À 4&ͽê0@XD=|·8^0ˆ&À´x È©G>ú÷º_ËÃÇ ã#ˆ¸‘—#õÇç¦òÜ]gv¾óæûïOúÈ.?¤ tHHŠq%HHÒŽ(ø/6K­³»–}~`%ût ø 4cÆ„„›?¦ÓO†‡.b óùvÛaç{»(ÌNbætöô°ÎËBB€>Fò0!éæwšÙVêòW|’ÏòDmjÖïçЗ#Џ=E1oÞƒgM¦Y³fq÷Å_¬þMú”±ôü(~l¿ÃNÀœHè¡»1 RfYŽøê˜Àëf.ý©¡Á‚Sç»XÆ•—}HQ”¿¿?²í°2yâøÂõ½lÓvδ{fÛ{1Oü_=g¾Øf¾Ø6yâø™ÓUâƒGo<¿{ÿÔŽË­&'sðèq>÷Â#ƒ¬Z0|Þ‹˜-M>BŒ ÆýCNw Þ:"Äü呯-޹FÑVÞøÜŒ Ÿ5ßxîû󃑾H+¯‡åXXߟ/Láué•Ï^ñR^ß‚¨¯Å¼¶¤zÉ‹õ/æÊ€vºÝËxŸ˜úx8p@{ißJƒB?7jPo÷ ãa€’ ?;ÿÙõ ÷/YT* }hüC›mÎÒeýÏþÿY6aY˜0 yá¶yxÑ‚Oϵuûá|Àx×P,ËqÄM ,ãæzœÐ[¸ 7ÊytH"n~À¤y3Cwêp»þ¥`wÄ<ñ±}3WÿþqqcUÙ¶£—œ ”Ç,_¹Ta~;«<ó÷KÃøpéËü×·‹W¾œ9+ÜgÞûãûÂçrµo+Ûzô’øa³–¯JŠ h7T½ïÛÈ‹Z¶rù¬”c?°ì57ãB@6nLP’³s¾½ãT—k¿—ÞãÏ7⸋Žå8–Žçp÷Lñï”) ^ÿó68à€Ä@ŠaR’À„ˆpð#Àøá¬ˆßîm Ä9ß%Zý#ҹ „ŒÏ'ˆëâftàâ‡ÙóUmTTÔ—»´ZÿÜŸ3ðíû€qƒÛK„ˆY_'·Ÿ0?Àü(ìËëÕQ¡S'ùÞªôrÜÖ/ZžÿíKcÆŒAk#íÄůr.‡îÖEÝL|EÞ—‹­ëôÙó§Ïž€O>ßÝûDæñîžvÉÖáËM¸?lÁ¥p‹ÉfaÓ“G’ßþòQ—k!Á#'È$þ~×(®ËqÜǻʄjuÌì§gOPè·m$˜)›yðâA!q¥ç:[™}îsu§ê|…C }0Z}²ãdÝ`1ò˜G€)AS„a±á±cýÇŠø¢ëtbÑÐÈÅË>%¸â÷ºÍ¯Ës#Ss^/ëtÛÓ×ËŒ‰ì—ž‘x—=¶é@ÄÍãî:³ç]>'R |>ÏÓvܵìÅ‚©Ю+zÿxتßgN €®£o¿^öá„?<1'̹ûŒsi¿«ù8ȃ;ŽšÝ³à’áD<jÞ^vT¼<73JÎ3Ÿ½¿çإȅ°çí÷«~Ÿ95ÀÝòÙ_ŠßÞ)ÿ¯¥¨/m”"QèM%ù|'ò÷—ŽqÆôt¦vÚÍ]pÄÃ3à#I]äNžß¹ª½§}~ÄEù4ñÉSÁ†cÔe/Î91œõýfú&ns8ÁñH–¤8?¿ÕRt ¤ E‘H4F,ö ­7ø=‰ŒœZŸ?fLØ»%¯æ>‡AÆ2Éãþ¯’{v)è?Ôºþø Ëø/½þeцŸÈBý| ¾·íÔ«ü¹ ‘7Fáîa³ŸåŽ•Ý,5Uþ-RÜõ»]Äo³µ¡7vLè‰SM‡ 'ÝnŽcO?4íqæ_Íb|!®yÙp„;_&+¿sŸ?e?l5¼ýÒKуÖoð#üÞž÷6Ìëû“ç§_®¿æg'Š&¶>Óê{mO³y÷Qù£—Ÿ½ì{}9õòÀ·ŒØ0gÆ9ý¿'"ÿø@ölÏe§PÌ:]˜PèËå0¬·Œ³Ó¨ÓÜ—Øåp][²,ç¢9zÀÚ.âòѬ—þ›ä£î¤ß§ñÜß÷y\>oÕœ`~¯ó“æM €®s‡Î g.Ÿ0cñ$ÞÛ‡ÌÂe³BÚ›1üsÇìò í»_rO659Êý„¡ÏÞC:CðœÈ±“–>7 Ú¿<Ô¼ð¹©À»`qØž†KKBBp¢˜¿cà¸Ç…Až±nf&ãrÑ.§«Çî‚¶°Ù±Ë²»›biç¼i=Ò§çÎñOŸâ·š G†¹9’ó°Áž°1žÐ±Þ±S‚Â'øùû8NðxAhuÁ;‡ŸŸ_jê/Ÿ6ùÙ’° Àäãf³ÝÃUÕµ1 &ŒÁ–Îuþ¾`ç«ÙmÿʤÝï}{ËFe€lízîd8›øœÛCxºåÓç?3á™_$œ<ÕTøæ¿N55;ÞèÛy¼LúÂÌžiŽbnÆ£°Ä·!x"²áÀ¸zx| 'à8ÎC÷ðþ× FO韛˜óAú :‚ÓaÒïdY. tœ|Ú\pvµŸÿæ+%˜8g ê‚A Öþ&ýë ;)ŸééŒ" ’à1.aw‡¤½…pu¿³0ÅoúÔž®ž!«>pÀËqNšc˜A3M0<ØÖüsê_ù‡$ Òˆ›órßü@pw5ïûðí×Ë’~ÿÜ,>O(ò<íN„û:Vxb¾Çìô„DFŠ÷»ä½<+2Ò¼ûP“½Klh‹™ „€‡^xŽ¿}÷Îw¶—9ƒ#æ-{ri¤³ÃmÛ^YëkV—G<Áé@ý5# À²¬Ûíf½^Ç}•<¯‡áñx<ž€ˆDœvŠ—å8Že9Žã|ûà87{¦Ûív3ŒÛå¤{zœ4ƒóxâÀ@‘ŸŸäóx<ß;;Ëéüχ•FŸoFÈ>eÝÙÍóòù¼k®¿†©#q¯·ûéÿW=C%3wŠÿoó»B?äœÑ!`<`<ör3済…ÏÆ'€ï$·ÛsÉÚbÑô Á1Òö)=Ùq °ÿÏÞ½ÇEQ¯ö6»À.È¢° .‹(P®F\ 4Aú‰ÀR¡'O`G´¼tDMÄB,$/X` jJ¤ÀòÖR ÍÕ„4.º‹Âв(»°»³—ùý±€xÍ”ày¿|½jwgg†yvf¾Ÿ™ïÌX;Ó&&ѹãò{2dE¸Î§Q`ÔëÎ|·Ý+ì»lT©Ö[7 c—ûÖ]øåò¯GyvC«Êþ[u¡È?äyÕ™ò£_YÙ;^«<çóÚR>Ó õo6ÖÖ+¦þXòËK/iµZƒaïà p°·äòvV\ý­DªÑo‡@ £–¤´Z  ë½Xœaå‡ÞrµY4?,æ@ô(X–Ž>œ vœªÓ‰;ÿøf Qtd6µRÍá™1ÁÚݲË/rêÌ<&[Z[;¨ .Ö˜]ç{ Mç ýÃýÔWÉNÏÊrŒ‹°å0‚âÞõÅ»‘>éäwÇ "ÊhlnnV46*U*ssóAZZZv¾²i³J7ma) zj©P6 z}}}}Öî/,,,f͚ŵ°hUÇ©?ŠÂ <ÖbR 0E…Óâ3nñ¹<#Å €ÖÐD1ٖךH3Ý‚M1芺#ƒ3è4_°æüåŠÛàSD3âCý/ºqºZWË æ0mð 4›áÃôDâ?¬íØZ¾î­!4FÐÉç—i/þï ó$W´¦†+—¤çl=è †¢®êVÃeÓû5§+ªÏ Fzs,m€26É«)R7ØÍ—ÉâhT7/>Ô|ýÊ÷i@ ºãÄ£ÆÀ©o?­¯>C§«ßÔá/†út‘^§e±ñ„<êï^~É¿U£ùùdéoþS«ÑPÕÐØt£éæ«6ÄT)5¦v ˜þQÐv'˜Î»0˲Q:úÊ©UsÂ}_xéãÜ[á"è_ÔWO«Ö[;u¹}‹¥ÐS¨>{¬Z :…äX5ÓÙÇ,±P#)*× xÀ²[_/:&ãŒræ4Kv}¼ãdƒÌllÍø®žÖ EǤjuuÁ®½¦ГmÜètºÆ7‚ƒƒ}||¦MZ[[«Óë¥×ëu:N§ÓjµZ­Ö ×EQ¥7èµ$©Õjõz½±=Ô™Î(š†lT4îß¿ÿû‚‚ë7nhµZNg¤¨¶ïêõZ­V£Õêôz#eÄDøçËW+“¦mZ1cœ^Rͺ©æÄ¥«ÞJ¼X³êÓK•uŒÇ\ßßI¬ØÖòM±™ü&‡F£îì&JsÒ£C™•ÎÇ¿g!.Õ§‚fëAË¥½²6ÈÆææ&U}ÈXö©Å¯Ý®çÚ\ɧ]; `>†¿J›}„˜„!ð ¯l„•%ךlm€ GsøÏ¸ôdÍɼ[õÕÎ~!jYõ¹¢lE}•¢ò7wßê²BŠ2”|õÁ2wñyåyÕ¥?0„Qß¶—söšT]RÀd[Ôœúñèö¸gÆ2Yl\ÌÀ”IA/{Š?Ý"“J™L&EQƒQѪÞä-pbQT«HŒm{³Ž£˜t&ÝhØPýâï9Ñ¿þhõX/OìäòxáùÀþ óõk'Ï7çùÛ¨;Â÷}3¢!kÿº÷ÕÀsœ0/|„°ăšvËÜ'Û²XbÎõýŸ™Ö`éä+ÉJ]¯g“eë:-ÂÝXþó›²v¯{_z0zNó³Å>¡Oäx½sãFC’gûMvåÊpWךšš?ª«†…VwõªR©´²²ºvíI’"‘ÈÒÒ¥R©N§Ó÷¥\Æu/Õ³ÏèìP ºénÚP{÷&ï—Š#›>ù8vѼˆâi®šÂ±  ”¢’ªþ‘ÖpÞØrƒFgÂ!m°78Ñ.¥§Âh4ܼ!=qnmE±ÕG†%—G±[n6TŸ>Ì$8üÁ.Íß~ªn½Å·säòt:CÛªb²籯ÀðñS/ý÷ŽZ3Y”ž¤ ®ý‘ÞW/žzÆ+˜mŽÝc˜ð¢¯×hñ§»öüRü³›xÔP¡ÐÜ‚Ç!¶¿<<åtÝWšuF €¢¡k5ki²o®óâQŸ÷ ·0ÇSë˜Ñ#`9ÏIJîñ3Ø$Û/-=Bç{„vh~ròí°ø^²oLjûÏyÏ¿ëÔøâé±b¼ßù“oÑtú_£F­.,(`2™A'îß¿ÿ»¼üçG1èõ­_ìØ±±/¾øóÏ?ëõzo/¯ø5k€¢^ãõæ[ÍFв²´\·nÝèÑ£oݺõqròÏÅÅZ’-/X°€p£¡!nùò†ë×mm}°öyOÏ‹/nÜ´é×S§(_ßÅï¾;jÔ(‚ 0>²²ÒkãI:ÝÀ²í³¸x îà!CS7õ–V«­¬ºtëÖ­Ö|//¯^x¡µµU&“–•–lÛÿ]}1òUKá@ åd¯»¥‚ª:Ú™K;||ÇúøúáÔ§ŽÆw¡ñ]€Ë¢w ŒP´p«µ™Ý³Áÿ¬ýõpóµZ:0&Á¡(#¥'zXY›jH£ÑH¾mg׬50¢Œ4z[Io\.·uõ6è5ƒ†¹‹Æ†ÐYl½V9¡æfï½ýI’…Gÿ—»s—ž¢xVVæ–mºÝ¥ššŒÌÌ֮ݱcÇ–-[¾úòK¯^˜>}ú°gž1úÊ•+“þïÿ®548p ??ŸoÃÏÊÊ*+-}oÙ2µFóá‡>çá!rvfY[ãc©v”V«Ùµ}ýëÞÚm? ÚøY,—kz¾ ëµ7f“:ã;ï¾S]]}äð.Ã]œœ¸\—Ë9ÒmäH·ð×Þøá‡¶g~.°¨4¦ÅÑNg¤`Ñ –ÑØºåã%ŽiyöÖ¡ÎŒ=ƒeF˜™ðžV{±”g#ÐtuçOŒ˜0ãä—ëÇÎ^õsîVJYOc g²U Q5±8æ ƒút~†ûÄÅ'¾´5·­¡æ,Å”ÿþë5Ùo“bSkÏÕ]øÅÌÒFò}Úä%»p9#ÔA¡“‚B'uÞýáê¾tµG¶ï’ØLîa…9¡G Û?L;Õ pi½Z·|þø>I’”HÎ(šš¬,-KJJT*UsssqqñøñãL—ŠMŸ1}âĉ¬¬ÞûÏ***ÆŽ«Õh¾ËÏW©TZ­¶^.¿,•JΞ5«V­1r„……EMu <÷쳯¼òJssóÏÅÅW®^U6+?Îb±Ž;f4Y,Öï¿ÿ®Ñj)Š¢ãý‘|±{÷@ºäV+Gèâ7xÈνþÆ\óÈÈȨyÿb0 ¼ð!´ß«•Ãᄆ†ž=+Ù•±UuôdÔ?ØvVjútŸú•˧~ºËåâF¨ƒÅþâpp÷¶²wásã4Í û/hš›.>,åË8D§me±Í€FùþƒF£Nùýø>Ù™Ÿ<ǽÆá°´ÚÒXw³î’…µõ„—?bœAN϶4]kiºöâ¬x/øDý©Ó‘:÷ž§õî)ŠÒhµf.F]í‘-ësþФ~¤ŽýÏœÇ1¢þÔå_nÙï”>´O$ÁŽ{j’=làÀA{öì5¼î;Q÷â‹~^^Þû÷çnܹmüˆ«¾nºáCŒ—êþ,u£øyowww<ìŠ0˜¬AÃÜ€Î`ò kgpp‘ÏäîÃÛo»KáÈñ3:¿ï>1¢óK._à4 /B&Ò3®]¿¾yíûðÝm{¿.ùU²kãGý>Öd¥äüÑÖ'½ñdêGðø¢ æ@ÔC ×wz† íÿÕ××Õ•ÿvžðQR’—+•J£¢¢~;w®V*¥ôzÀ¾Ü\Mkë—_}eaföœ‡GUe¥A¯çYXhZZHÆÜÜ| Ÿ?ÜÙùü¹sñï¿?eÊ”¡C‡:ØÛÓ(Š@§ÑètÀ×ÇçÀl6{„‹‹Þ`éêÊa³iÕ1?èÁ?ÿ›ÿˆ:aT4…ŽÏtIk¦—ãÇ¿äççw?zjJŒ3g¾ô]þþ„)¯Çh~»´ýüÁ雾»|£Ÿ¿?FÁǶwÖétzEQt:`±Œ¶ôn0u:=l‚¸ã6»í’Ô»ÝÍ•É`0™ŒŽá»|J§Ñ‚…}¨B­F£%í»jF­Vã2–À××îäÑkí¯gĈúgü¿ÿ,Ÿ4´Ïõ ¥ŒT‹R©V·¾äääÄ·±±··3fŒJ©¬««£hz½þ‹={ètzDDÄ«ÿøÇ•«WO–”””–6ÌQ(ds8\.wñ’%¤N'‘H¶oßîáá±rÅŠÁƒ°¶æZXèHrÈ![Û!ƒGFFªTªC?þx°°Ëå:;;cÐGV\t¼øWÛ£åÌú•^¯¿[Ì»ïÍ?i4F4hÐܨèñ/®\±üôç'=ßb;€²2—¯‰;W`ii… üÏKÍøêäésj–¢Œ,&Ë’g±ìí9#DÃà—3ç?Ù¶ÇŠÇÝ–ü¾éÔnÉés›·gÙÛ ÚüÁ{¦¯'|²­²FÚeœa¯…½ú2”žþmÓö½]>bo÷IÂÒKµuÒÚ«‚AGwÂ* „z•›·šÏ]¸x­á†í ×átÚí¾-:½¾ê’ôBU5ƒÁðpuq2¸ãÉÆE5Üh=-Íf ‡7ÖÊdjfàÀC† a±ðA!èß b#çÎ5ýÿÀ¶rl¦óEÎ΢Ì_ÿéèó¿&µp1Pû¨‡fQ‡Vµ&nÝ–K²«föä@?s3NÉésÒ+õgË/šr ‘¢4Z’Í&¡ýYȃQ£%ÉN¥INKêÆ<;ªSsG8XÐ>¼A£%ÙX?;BÔñ© ß †:Øá„Posæ|EÜú 7o)€Šknn÷¶¶´€–ÖÖ·Þ{_vµŽÔé( Ì8Ñ0ÇÏÖ­1ušø*ï¿™_cÚy †!ö‚Ÿ¬ïíg»³öþ¸æÝØ—ÆzÿúÛù÷“•ª&“a0¸K£çMšÐvûú•ëS~9ûø{y&,]Ô‡í_1" íGÔ Æ€-­­i4A§Óèæ,–“ÈÅ`0ܺu‹Æ`Ìy<ñ˜1VVVL&“N§SeaiùŒ³ˆF£ h@c04ÍÂÒ’?p ©ÃƒÁ°±µ5Ÿ°2ŸN§Ñhæ<ž½}Ç`¦7Ûæ ¯|ÖÖ|kkþã'F³°°˜4ùÁ¯¼jz+ÿX”þúÛåÚ:Ûüø%1Cì ìÕ S’òF{<Ümú+=:%½.ž~ç­YÝVw>|!ÔÛÔÖÕÅ%mpØ}úáê<Ë[JåÚMŸÊêêùVVF£1n}Ê¥ÚÚøwŒyÖ¢¨ÃÅ'?ûâËô=_-Šz³¨ìTÆW¹ÆúÌ{c¦9‡síÆ NgÚÎ1˜Ìô=_}ûÃá×^}ÅÏËSzåêû6Ø­Y¼`§jiMÛûõæŒ]ÏŽ>X`÷qÚö3åïÌ›ã5z”Í€¾×íå/‰‚˜†À¿¿N×ã1¦[Œ) €I£1 s6{ñ¢E¯‡‡?÷ì³#EýðÓ‰_Ζ›^â[ÿ#h\çênì/8Úñr¼ïó6ÖØ§!Ôeç¨Z[?\¶ÈtwÐ|ëmëfÎ*/]þíÂoE„û{{êõz `êÿM¼Þ¨ÈÿñÈÎwò¥ IDATÌ{ðƒíò¿ejNtîzíúo¾/œüò[³ÂétúÓ€¶9a%F£Óé-jµôÊUÁ¢Ñh7MÇ~. y%äåÀ¾»ŒÄˆú¨Öó»>ê/ÝAÇÌÌÓÓS¯×l6½7úšU-`eÉ»÷`¤NWü‹¤ýI‡H(Š*.“tdóáNúäÀÚ«ò]Ùy/Gº Ãø°Äëòzá\x'Kƒ%ëcÊ/V: ‡ò,,::žè F—gU­êŠ&*dâÓÕï4^?-8(ÿÐQùõÒ+W½Ä£z¼ú¢¨ ¿sÚºE\–ÕµX˜™‘:Ýù‹•k>Iå°Ú¿ÂÁÎöäé3ƒ!`¬o__Ì=GAÖâU®æ˜êh©]©m¼ã 'wA?4Á`˜™™u¼ÄBÌyØÐ‹U—«ø#ÐÏëƒYYrwoþN§Àñ’_7¤íî2ƒNÿཷïÑ/Ôs”Û{oÏéxIxç/!°4 ynhæ‰J½;NcÉУsóúk Ðþ\xŠ¢XLfsK ›E0™L hªÖÖ––íÆ¦[FŠ¢Óé6û–Ry·ÑV^¾|K©´âñL“¸Ù¬d2?•”}°ù³ÎÏ|¼ò?¬,À`0Òh4«?äs»“åÑkÎt4ÖÊ[á‘r ¸¨î%&-‰gÓéÆãŸ¬Ï¾ØÚ'ÿX&ó¾ÿhL&Å2ý{áÃ?„ú¨ÿïËd2þwòôg»²uzœû½rþòÄ_$åwBt:ÃawüëüTIôX8ò-^é:J6æSb'ts¢‡ 0£|]&Žpèq$Ñþ®#xžKÖßO'¿~£ê²ÌÔçˆÉ`\•Ë+k.yÖÝÙQH§ÓVoØbÆf›æÄšO¶°˜LÑ0¡¿—ç™òŠææ¢ ‹É”]­‹ùÏjÓM¶¼ÄÏÉ®Öýg݆µ?}á¹çÒ×` ýÊ­ó»>J=Ù¹»›]Àâ…ã>bû¸¨Ï0ñˆX ¦ï8/xíè'ëañòðG:fÒ›Ýå1¡¿Â°¡ "_KßóÍÁc'ŽÿÂd2[Õj8[~ñ±ûƒÇ`4®OÍìœî^ë9÷õ)¸„ŸŒvV~"»€áö“Þ TbSzùú`kóÿ=»»¤êÜÕ¦RãDvÏØðžl}½Eã=lÐÕù­ÒË×òÆ»þ¸vk —3ЂãïÌ9]Û8Ù}ƒF+¨¸¢ÕG8Èoµž¹¢ÀE%ë^ôÍ:¿ôÃ&úí1òBUÍw‡²µáO `i¹hÞœÛwþkùêW'N (êÛÜRªÞ_ôo sóÐIAßþpxÖ¢eýÆ>ã8äÜïFãÊØù`=ÀjitÔò¤ 󖮨òÁûÁÆý¯¤¬ììo,yþ>ž)Û2¯Ý¸‘¼ê?ý§—“)6ÞÿL³–ñþûïão=-T;ƒÁ`0𛛇úÇϲ}Î÷™æSeÒŽ‘¶\:)iîí1ð1ö¯jnnæp8Oq3Äê•·Ô?½{ÆP¥Ñh,--{mÕzç6tOﯽ¿dÑh´g„ƒ=G¹qØA°øÖVî®ÎoL þGÐ8Óìiµ:N'6ôùQn¦wÔ­Á` Š=\M#©‘^ápجxV–ÜŽ¢aCF¸<­Ö 7¸Šž1=ˆ¢×nÀ{Õ2Jjz|€±t¢‡¿ÈNEê8L‹IŸì1¤ üеûíq#=¬_¨Siõ/txõ9áiYã«Ï ý©RþN€ÛñÊk+‚Ÿ+»|=~²øçšƒÞJþéí¬"õÓÄŽ#Õ¤ÖŽjC§Ó‚FØÿ\sý–º‡'µDù8cÕ°d}lóÈb1_çw³¹ù%¿;Qz¹öÊxßV¿kz¾Ÿh˜P0h¤â÷ÃE'~9û›­ Ѽ7_òõ¦Ñh\ ó_xþrí•â_N—œ–4ÜPx>ç1ÚÃý÷ʪ†ÆÆ˜Ùo¸¹ˆ¾?ò“‹“£³£ÐwŒX§ÓI¯^=ñ˯Wå×F{¸ùŒ€âæ­c'J¦Oþ? só¿Ëæñ©‡@ iµZL#èi­$F£Ñ”I’Ôjµµµµ¾¾ÿßÖóYÏ >–5§³+W® 0à)vÙ2ë•¡BýôB…Ñh¼yóæ!CzmÕÌÍ{ã9éÖÖV,êcU»éPïñO[KE1étƒÑH\ Ö<›óëeÓ`ß¿=1þ¿’S²ÿ?bì3¶‹÷•]Sj†X›Ç½ü\c‹võÏÀ¿^neF|QZ•õÒôÏ%Oóü¼øâ,/ÑšïÏ4¶ôÜÄzŠ7éýUÃ’ýÝ7­jõÍf¥ganÖµáp½QÁ Ó;?üývÎQ*[[Õ|릇 €FKrØܼÕÌåZ0Ûzëtúë ÅKž¹ÙíIÜln`iù7Ú<>õx} êÌ="VÝy­àµ£}êZÁŽ ÿzÕ?üá!„z­Ÿ/5˜L.›EpXL.›eJ?T\ùî·ÚŽÁŠ«Æ: räs_€BèæÎ»ã} +ŽˆëÃ+ÜÓ)e¾[bö:Ó©-]ž–½Á»û2®Ï[¸R›¶°Ïoïêsg…§*L;sàŠü"b£ƒ]xö͹‹¤q{–>ô"ê¹yðˆû—úܹ‹¤Kö,íÖöÑVn™d³93Âæ@„zq3³,·B8IT•[ÖèøT³1zMN4æÍ]} cß8éݶ¤º'Ý4‡ÚÊ"B0#yiÙxdéì„,qNŒKǸ4%I2zóžG6€²|Ë¢”¬J¯…ý'@<…šÚnÈ 4eÇeª¸vŠ¡½P¼3—ëÖÏr`}áÊEY‚%›³íÙ •IZ´(‰Ÿ½Nø@?ƒª#2Q|öŠÛÌÆâ¤TYpFN° 4­[´ó`Àè0l¦<ô¦J›–jå¹ ËæK3Vü¥yšà dyeÁ6eyU\‚¸ï·xþrüïö!×-~Oº?@[_ºså²ù›3b\:¿ÒÜYQ©Å“¶ò°”q‚|AEê¶3âûMÅ>tKfYø‰¦ƒÂZé‘”•‹–‘é¡ÝVé.ÍEÜ¿`D5–åVÃ6‡.Ê*n µmå†Ù+b7P(är•(2yE Vš—+T ŠL\l¥[RË@‚ ,>1Œ@* S–¦VÈd¤0:91Ô‘­,ÏMJ)T "ùÁKâ#Üÿ¢½«8P *ThÚ·à$©"ÉŽÆûÂLÓµ±4=i[™Š)‹‹í«[ün5í™á)\?¡B®RÈIqlòBo¢{M¡þȺ„*’$Ü"ãã‚€”ç®YXQ%“ƒxÉæ56SSmenBRž  ¹^±ñ ½É¼¹‹JÝÄ„B^UEzE’¥gdUU¤_âæ¶²<+!©P$ɈKŒ ¦×*B¼$1Vp0igUwå:"qE`¿9·+ÍË’y-I ´g°ã2Ĥ ¤÷/ ¿8ig…Bžºl$.õ6Õ‰T©H€¶UÃÆÅ^SJÐJ “’r夊+ŽŽ_èOæÍ]T*Ê«¬^uýmŸU²éÄc[Ɔü;&$’o‰JP¸ñer·¸ä˜~ÖŒ²q‹=2{[qcz0·ë¾}ÃI’$×+6q©WGB/ß²(I¹y…—ªË’çVö¸0 —›"¯¸>8Ô ±,O.öV™FUºeeªi£ÆˆKŒq'naÑIüáÈìuÞŠ#ëvV¨HaXb|ا‘ÙöÞ1‰‘ÅQ;%ëÜ:FPÕ_( °”VÊŽ•ˆ›¶âö)YB-ÊMÙY™ÑùȤ²™":c…wŸ êlÇÀ%ñgf/Ë*Ÿ´Ô]U´aå6 I$ÃââB]Ø]ZÜÛGËV,*tOLŽàKºìâÉ¢…³s…nª "2yM[¯ˆžšZiVÇþ%Vp°ó®g©7Q´pv®È/—+d2Ò/~sŒ;»±tÃÊ”2’/ˆ¸*àö¸&vì ë SVfU$á¿"ÛÃûm¯Dèéª/Ϊ…z9ŠÃÜdyGëM;*R¡½nÖÌD¯ŠmÛʵ ’“££7ïÍÌÜ›ìUµ3«\«,MIªLÞ»woÆai®D @ªdDhbúÞ=›ýdYy2­¶rgR¡{|ZzzfFœ¨0ig¥ö/:º'-.Tü…6¤<¯ØHAîìWfƬØUX*U(Ϥ¦T&g¦§g¦ÅYIùõý¨¦¤\å·aÖ´%£©ùÒî5…ÆÂ¤TEØæ½{sÒ"‰#yUZR!sŒLÎÜ›(’d­¨šJ¿IÊ"¢Óöfff$z—%¥žÑ(䎑kÖmI U}“kÖmI#æViµ•Û Eñ{÷îIô®Ê+®•œðKÛ›™™/,K=(wœíÅw‹ìO!@)«P¼Ešyl›¶Hw¿Òðƒã"Ýø^K’—Þn&Ú, !SÃ'ÏZ¸fCÖ‘3õ¦òÕç'dñcÓÒÓ33“ý%)m•ªâF§e¾?yšY\,“~¡BY× Ar™K\æ–˜~y,ÝÆMÌ—Ÿ‘k»ÿà¥ß$dqcÓöîÍÙªÈ;(55>UÒ¼„$yXò ›îKž}—…I¸û©òŠë ±¬Påìbjej ûàÄŒÌ̽ÑÄÁÔâFè4'VÛÏH¡r‰HÞ›™¹7-B±s›¤ûZËws#dU UERÔÌ™3§L~eþQatD¿j >ÖRv¬D+ºôËåŠ#—ˆŠ“ò¥¶ÙGSr¹±{3Óc]ªªTênªfôºu6Ç‹$YGëÙŽ3âCå©ÛJ+ó“ŠEq±Þ}ìl-[à/$+d*eiJJE`âÞÌÌÌ´HrgR~}­ U¥Væ â#\Èvñ¨ªT¡›3×ܾ0¤§æ»Óþ¥Ë®G @€JFÇ­Û°esy0«B ÒÜÔ2aüžÌô KÜå ²Ç5±ã¸ìѤmò°Í{33÷n•¥&iìa„ýžDè©’Í•»E‹yÀs ËSò¤a1B v³Œ¨vÊT ðëSWÆì$ËU"ä¥2Â-’¼Ñ 7Œh,®[ ˆ |>YJ‚ªJ"“©æ1m«I¡‚¼}€T]6µ¬ýˆ©R ƒnÖåùËf¦¬^±‰!wt#a»„mø6¤¾¼L")=’•²32m³_i…¼ªjÙÜ\IrZ°g÷‹š:!ôwã[8š¯8"×ÎèZS­¬TÆ÷v³ÿü¤E„ÀËË‘ |—l$U÷¬i—S*„™&)»…rà|‘¸|._$âWÀ%Ï ¨ª …±B6¸DlXJQ¾mY¡Š @¦ ¹dÿÜSgïº}rÿÒº‹ç“^Q_.)+*ÊKš"ŒÍØPUT%“§Ì—˜¾Jðå àŠL‡V„Á~P,p$ ‹! Ñ…”$uÿ |±˜ß·£$A€ªÛ¾ZV*燊x`¼n€ö €âHÊ¢ ~üž`{eKž—…Iƒƒ!á¨4$@’§ ŒÓ–Ž/€Ò”Ey@ª*éMt/O hÌJŠÉ‚PT©¸dO?©Ž÷¸nq¦~¡¥æ/Ú øK:y÷‡RÞ^‰ºåMïØÈÜù)…‰¦2iåg|Óñ{¯PQxçš.v³6WÀ%I¶cD\hÌüùeÉ}ñê^’‚ù!ŽðÜüò#2Y}—VG½ Ȫ¬eGå¡™£yÒvñ„0ÐíÎ¥ÔSó âvW{®°û®‡z Ù@¸¤Š$•² ?TÈ7Q—5L;V±é@ƒ?wç9éßu„wÝbDý…´•y¹2™53€T©¹•‘±Ý›¢õReaiéÁöИ77ªÔÔ>Uu¬ûõ*\¯%ië¼{Þ¾ü€ä;ïó3/i¿>°§¿L©ÏÞÝßÞÝ?xFè–ÙËòª¼¸„ >miß>gÑcM—v¿œLÞ½¦ä^5½GãHâÎ|÷ìp&ÍJØIÆîI÷æ4}Ö2²®¡<7_~¤BÜq»­´´‚~ Ò({\1Ø<ž½»¨»hDàŠÙ©G¥BàºEoî|Ë‹ÆB‚àmm¦P?H(®ôj,&‚$Ý&$=AôÛvL½¤L%ˆ÷üÁß>þ%çð˲ŠëGÛt[ò …»,LÂ1 ˜X–W/ ÊLõ,OIÈå'îYãÎÖ–¯ O¹½1îü;(JJ(óNK sd+‹†gõð³U€(T ëœVÄÁb2©HîŽXʇ/e§•¨‡$¼$,oQJY4»¢§ƒtæ¤ç5±Çowaÿ„ýBzšÜÜ£’vàÛœœœœœodÌ Š³*HR.‘Ô€¶ªHÆ ¹d=I„|­ôh¡L‚ÑB²¢LÊò-1+ {h•º‰¹…%hë 7¤ŸQ>¹?¬Õõº7R–g%mSMŠöâuÿÁz·¿S_¸4fK9 @ˆ"¢W$Fö„\©ö~K¾ û€`îÑÔ\öëèÇ@*$ß]Àh,Ë“(z^;H…‚ùl€úâ¼*U·3Ì¥Û’ò¹a‘]o+ª•Uw>–ò±—ìC–ÈRwÊH` ܹŠR™êËz\¿ïÜ¿¥&U'§Å;“ ûÖÕ Úú#)Ie¢È6´”HäÊŠ"…Ð[(ìÞê ~ѱ‰ñ^’„ÔR%ð{ØÅ?hó€Ý¾Ñö´ëé–ä"®¢T¦€zI‘œ¼×šÈø·ïX¡^R¤z÷xÍm-NoöYx>¡§·Û“d•qÃ6wôùa»„…ñççž* øüòÔ¥Gär9xÅ&»°m¸aÂE+£bQhÄ aRJŠdó’%n+—Í,$¡q‘6PÜuôl—Èø°„¤¨YÛ¸@rý–$>¹,l÷ØäÈ”¤ùSR€’$„~±‰!öÖÅž½$²p~R¡xKðßüŽ¿¤âèÊp ¦uäæÄ`ð^²¤4aå¬B‚ A?ÉžÇ^²¤èŽVÇÁ¶ý}t|ÀüeIG2ÖuÛÅ“Ú<6ѶIŒîºëÿÏj+^¶rö,@( ¸Ý×D÷èömx\li¢Y¹„86ÞŸÝûßheYË–©â³W¸³•’„¨¬ˆéþ<­l粕Dâž>}¯sšVûàIWwaÇŠŒ‹ œù~ì –º«û’6•(¬ƒ—­°Å–=zpEFƒÁ`0H’Ôjµµµµ¾¾¾»?äÊ•+  Ó×Ùu|èÍŸe4oÞ¼9dÈ'XµûõÑžv…%{z%CX5¬Z¿Y*gŽTðýüÙÚÊ-Q Ä>µK†þTÕzƒG;(+©i~Al  k8U®Äj#„B¡¿%‚¨Ì]¹mA$?`I¢#.ÔO®PêÁÁǵsó_­Ы›ê$…R=€ºAÖ ¾ËXz<…š³ùù¿œ—dk¿ÿŒ™£+4Kjj¥´({ÇŽl‰Ë×+¢ x2†@„B!„ú|`9øºr k ´‡ø 9šòœ­»‹˜AóBœ˜úšý9§šz¯çõ∙£1ëJr² \'8´næâΓæglMÏ‘¨ü'ûÆÓ!„B!ôÐê9òOˆNݬKK3€æ_6~Sç0íýw}ñ„S߃ϑG|ê¾Ê¾ IDAT.– aÕV K†zsÕzfo›!õ…]ë2Ê5~oNóP—ª4ÊC B!„BõÙh6"|΄¬}'‹wo-¦µ“OD¸¿-Ö !„B!„úl0sž<ï½ÉX„B!„úK`Ob„B!„ˆB!„Bs B!„B!Ì!„B!„0"„B!„ˆB!„B¨÷x¸çF?~z(ãÆÃ…€B!„P¯‚çB!„Bs B!„B¡¾ëáú…b?„B!„ú»Ãó!„B!„9!„B!„æ@„B!„B˜B Ã`0àrè= ƒÁÀªaÉV aÕ°d¨wV s B}—ËÕh4F£Eo`4µZ-—ËŪaÉV aÕ°d¨wV­7`bµú“x<FS*•x4®7`0<ï¾Û_¬– aÕ°jX5,zZUë hZ­ †ž Š¢ŒF£Á`0 $IjµÚÚÚZ___\2!„Bý¥°_(B!„BaD!„B!Ôw1?ŽK!„B!„úQ7n.ôTôx} .„B!„þjØ/!„B!„0"„B!„ˆB!„Bs B!„B!Ì!„B!„0"„B!„ˆB!„Bs B!„B!Ì!„B!„0"„B!„ˆB!„Bs B!„B!Ì!„B!Ôß1f`Ý…+2.v¼äX ]}&Lö÷à³Ǭ¨Ï§®Þ-÷ž? ƒB!„B‘G98ÈsBpð¿Q ;[¸;9½¨A‡ !„B!„þ&˜ðÏ gL~ùèÖäBYÁ¾òQóÅ– ®>š½ïØÅë=ÓÚ}rD¸¿Cþ¤­%J§ˆµóÅfºê]«ÓË™£bVÏ6IögHdMzà }¦EL÷èr P]}4;ÿXy€iíä9yzˆØ–¥“f¯Ýz \'ˆu§Jj”Àqð šîa Íçó²òOÕ4i€ã0*$"ü[–îÂŽÕy~ÁÂò³¼ˆµ±b3¬7zp:ÕJêõŠêö‘ôâo]Þqt}‡Áap‡Áap‡ÁapƒÁåñ‡9±´§ÒÖýSײl}ƒœô2Éu(NîH/,W:O[°àMO(Ïß±¯ZïàãΪV€Nv²Z!HóÓ³NÉÌü£Ä„8Ô•ìÞ]¤¸cĦq)&DD½9ÍjJ²Ò÷KuL& @sQ¢÷Z,ÔÔ•dåœW4¤ï.®qÄ‚3]•gsv\Õ°˜ÐTR¬t ™6AÈô˜s’ZwŸ7þÆZIÃ-µN×SD!„BèO2 ¶ù-µ®•4<• iµÚoø_ر"ã"sTÌÚYΦKuÒ½k·žÕß\û¦:ýƒœ:ëàe+l¡Y’úAV{ÔÚ^AÒ¦bµ{ÔÚ9ÎuÙk·žbù¼¢ß¿vë)½kÔêy#ÌtW÷%m*ᄼçY×~} »äã¤ÂëíW ª/ìX›q‘9*fu8'?iS‰Rñ~¬ØLçû˜£bV¿|19ùX“ÃÌ÷ß}ÁG?N*Ôø¼¢ÉZ^®o?‰s ¼š·qwÓË1sÄ|]ÃÉÝé%1 &Û>ðÕ¢EFƒÁ`0H’Ôjµµµµ¾¾¾OýoS*• Š[V6¶Xf„B!ô¡(ŠF£€•ëÉŸü“gÉÔMM޵S#S@Saò²Âö𔬾žÖÅǪOÉÔ<ÉE X{úز Z¡€‹«—u„ i“γã…òºxƒx¦Y4³6P6©õÀ`òx¦XgÆch”:Z©€ºœ–å´£®If<[k<øW` ´+=}ÄD¸ëOíN?Æ™ö0!°7«««S©Tæ<+ÁÆJ#„B¡¿‚)@+©·2{ÒÍè?•‘tW‹”0=X…@“µ_Ì<_^Û¨™<>xúX+¬9%1»¨ë ¾ƒY 3ãs Fï4sÁtGVÛ  ÚïDÊâ 2Ð(¯+a@¯lPp¬ymóªojPƒ3 ôJ…€Ã3c™ 2Ð8„,ˆpm;ñÇäX›ì±D]tWüæÄÀ®ô­ÔéÂÌò°ì#˜Z­ !„Bè О¥Hp} ¾îä¡‚‚‚}{Ó’7»L§i!#ÌÀÒÙGÐtödµB­¨þ1kÇ®ü‹j[±Ï PžÊ/Q [`9øˆy —•œmP*ëNíÛ±#«èº¾s¾û ®dH.œ/Ú—_`í9Á¡=#×Ú_tþü/ùù5LgO[–­‡x@ÝÉSuJuÃùü];² djüA=©(âáÑ—B  ,-B!„z®ÕÖÈkkžütådÙõ³ÇŽgë„ÉÓ‚L÷úäû¾Ó”“]´?ã,Oè<Ù“ß–ê|æ_pðw7½Ãr ‰™©Ï.<¶;ý0­]ý§Mp6ƒNÉï?/F—½ïر¬ ¦µ“ߛᓳÀt¦“§õùý»k”ÀúELa`4ïM]v~IVz 0­}zºÕ/B!„B—éaÏ?ÿüž.^<‡PW˜B!„PßFÇE€B!„BýÊßê| kðôÕÉÓ±h!„B!Ô_r B!„Bõ!vC0"„B*ùµ2ù5’à Dö\\"!„ ÇÜs B!ÔËi¯ç¤ïÚs²J@°RG‚çC¢æÎyÅã B¡¿ Ìueº{/Þ5!ÔMã‰õÿ^{P1bÒüWOôòÈúßfïü<ñßÇ~¶ö!»û×TGÿ5cmy§7k‘»g@øÌã†OfΕ¿ÌÈùæð©*…¾“xÜÔ9óƒÜxXÔ.{€Ì×^Ïá¯ÿæ³qêB˜B!¤­þüßk²gnÚ7WTh×ê·‹ËkÀºûΈZýÅäÿ­]úv¢õ×kÇö ˆç¬Ÿ%"€$Uªú Åß¾üÐ7þ±›zŽŽùÇ÷l“¨ì¼¦ÌZ>z(Zdg}ómÊÛ‡Z¼;1ľ¯LUüÙôÅì¡øãE!Ì!„Уå$}©ðýð«Y‚ã ÿL°þ­7½VnZþÉ”·ßJùdÊs«Çô” ;·ÑϹµE¾±Sg½‘½êíÍ©ï¥9}ñÎÈ¿ð¬ ö÷­‹·IÈçâØ>  S²ßž³ó“Õ‡ü¶ñûfn¿VVÙBŽÁ_.BaD!„1TœÛµçŠh~¢—êÀ¼ÄSÂeÛW»œÛµçû2¶ó¤·7}á“4/1á›]/ðÿ~UÚ©Û_z€dEˆÂ—/>þÆúœÅQðTGÿ5c-ýñä“ë7Ÿƒ)¿~o$¡½Vœ¶åó‚Ó2X½ƒæ¼37À‘ÙžyÿLã.ÿd|ñ¦½Å²kÑ乫—u?µ¨*Ý™¯·•Kn‡@Ó䇇¼ë9Ò~$¿=5ÝeZªâÍXEFošY³uó¡*ÿ¹7Ö.ŸA~»ö㹸N“–Å/²»ÿ\ÝýÏ‘gÏ{m3õçAeÉ™G+›H` ýg-_ÞÞmUQöYêç'«`!š8kñ²©n''€%4gQ̤á=pB[{ðÃmŸ\Pp]Æ/X»dRÛÒ#e‡2·f*“µ°øî/½µ,Ö4òô׿¯%>K9(s^ýݦ›»ŒB\«­€#G<áéâsäB¡û!¥'$*§㬫öäÈ\b»Ÿxç­Ôü¢Óe‡sÖ¾¹¶Âgáb÷+ù{¯¸Mõ$*U)p¬|¿)#~?ZIAH¿ßzÜiÁÖÏv&@Uœøöªœkn‹6~ýÝ—_ã&ýví¿’Š•Ð60\غé‚ßÚí?žÈÿz½¯ª åäsd·¯:ü;€SˆOÉ”?|¤ -hÝkZ@Tæl=óüêïþôÃÇ!Ĺ/¿ûΘ³ý»ŸŽm_î^{0qËÌÕ½ÿàÜçɧÄ+·ÿxâàþ­¯E;WeT›¾(ùðßïí½Àÿð‹}»¿Ø:Kðë¶·dË´ó¶÷“ÃCßÚþÝO'¾ù,ÊB’“´õWìƒ6}+ÌÚ¸ÿ‡M3ìÉŠÍ«Ök7~±o÷Ÿ/ñ#­_*Ñö\˜ªŒ”bÇ™~µ}ÇúH‘ôëW/7åÑCIóâ¿• Ÿ»é«Ý_Aü´þ­UëM3BÐ"ù,‡œÿÙ®%^6÷!„:Ñ´¶hZ[žüt1"„B÷¥¨Uq‡ ‰¦ªó-ïpæìvÔ:—žå6nˆêj•ýyM®zбöC¹ S4¶Ç7&­Š 3RdO@ýÿvnÌŒ[üÊH _à´xíd¾êä®ãŠŽ¯‹¢b' ç@ÆÍ]ìÍR>PÑ5بõ:àÜû¦'÷Ÿ–Ýó_²x#BÆYIŠçÏÛ°‡úM d¤ž¼Ï\Ý,áüØIùÀóJˆgjTÐø¿­MÜÉ«?œí)´·Ž™º|ÕxnåÞ]åäíy{oª› pÝ&OAKEù5‚Ë· €Çåó¸¨dåM 2n¤ÐÞNèñÒ‚O>ûì“™¢»]™9Ìuåèú,Þ,!ÔƒŽæ>×Þ®S÷> ¡= Ð Óñ$ïHÜ‘âöóv¤ô„ X¢N7%ÇŠä¥WÚ¿2ÄkxG¼ã ÆØY[¥èš4Ûçûžsqßiñ„m“" ;7û¶a ®¤êö$zž«øsì¼;¾hÁåhI€¬ôeâ¡Ï¡ïœ÷bßs—RõxžlR(¾}÷åo»dÌZUûiX‚G<ÐÀl\¥B˜B¡ÞO0Þ‹Ÿóͦ/fϽž¹6ç¹Mkwÿ´L¡"ø\6Y•ýÞÖJ§9kùeŸƒÑq¢må×g×wü$G¢û9;‚° @¥ ïˆk*¸<‹Ž× €Mû U ‹Û-¯ 'Ž ŸþæpmH·Ç'(ŽgÔŽ r~€i=¸žçê‘'Ap­ `‰WnZàqç}n¸vìÇÜUüãäø{ãijï”HÉÓôw¢ÇŸêŸ’úå¸ÚÓT-ÿß}M²7Eʦýës“û¶—VOÙ’sµh’kÏÚÕ{ÿ6å±gfþtÒÐû¾à¥bè;î‚QÅÿŒšÏ¶3«ús¬ÿ¬ä †n!¶ÿ­ñ¯þHý¯”D$›4uföÊOÿ’qè?|ÒsÊa"÷ÓžDÕž¹ê±þÙ»í¾óŒRÎ|Ï…à¾öðc“ïNLHH@íÃ]ÑÓÓÓÝÝÝÕÕÕÕÕ%I’(ŠgΜAµÀ=jÒÜ‚Ü#¿)Å´úí¼ÿQ7cߎƒÚõ‡÷)ôñ˜™ëêæ?éûë¹GåóßÌ쇤¯ÿvò¯C$I~þÓ¿Üûþ©yâê ù•såŒÌÄ?¬Ú[Z™÷üô‡Éç¨Yw¸]>kÝ€oþüb{…™û×g#™³¿«6x‘ýjÍo7Ê·Uo]ñÞ&" ûÙS‹·¬Z0`ðprƪ¸O¶¯šwú7õÎ]âŸÝó›¶2«­¿½Õ$s– àÇ \v§gc<àÈ~6ó_7ÎüWÛÏž=ïgÂ&)å2Ô üÈ |¬|’ süàG óBá®Á¼P¸Ï}}æ3"ŠþÅÏïð~1pw\¾ØqWö;Up_Áx Àõ0#F6Œ ÀÈ…y¡wÇÃMF¸'Œ"êA-Àí7n|註±_Ì ¸1vµùÎH—/¡*àv;æ.$Aä@€ë…ô\éøöÂ×g>/_ìéÁÐ ü𺻻ŒgîÂ$MÌ ¸ÇqJ¥Òçóõ|JD?6yÜøÐ œýâSñÒÅ`,ƒe° –Á2XË`,sKËŒúðc“Ç3cBîÆx r @Çy½ÞK—0;~`cÆŒ;zÇŽfCÆÜ•ŒE§žžîîî®®®®®.I’DQ£A¸!ú4”dôqqqqqzcŽÉî½—sP[“µ©íömžwT.{þé´"KË;ìqýô†¬"KË­ev±Õd0”´Þb]‹-Eú¸ëé‹Z¾m5’‹ZÄ¡O÷ ¥H¾~siïpKÓ”§7š½w÷µânhhýAZ,r üxÖñº”gãû z-ËÒŠšìª÷?:þÑû {þââ¦{v²ÍQ[móÝæ *¹êK?kÈ©¸y$fT¹ï?~üøñ?› fÕYi%ŽÛ^oll‘ýøñãÇ¿¿^ÃhÖ¿üøñãÇíE±le9}ECE27Ô&ÙŒªŽ`6F ·4ñEÖša/}›b ¹ºÎõƒÔûXô)pÏsÛÌ‚®(S[½¸®©MŸND$¶Ô,˯n%EDŒ^#õ]([ s*š%N­Ñk¥ë¯¢[ª«[b׿—XŸ5Uq–‘Ðb.*ªvøY"…>»¤À æÍi‹›“’»Ãåæ#2Ö§ò–:‡«•WçT•Õ¾c–C?ƒN¯'mvE‰!‚¨­©bM©¥U"bÔ†¼²<}¸èÈ{Α®qÛ\nÏ%•Tåi9jk2­)µ¹%‘dñ™¦õF5+4dêôÍv·×ÍGdlÛ–JÕËŠ>)çy¡ÈlÒs··‚}͵ùÏYbæåä¢nº/.">ÍT%ÓLÖ sZ„ÐRSXTçò‹$‹M-*ɈåĦœd“Òår´ò¼?"¥¬,'–¹šm¯«"¯ä¹|©ì½@ºk³f<_gØg6†YbÁaÊ*´µø$eJIU‘žµç$×¥6Ô$“£"¿ÈÒ*‘">Ï´Þ f‡ÜÔ•/™žË÷—½W(•%íykª9ÓžfÒš-F¡äù|I¯vXùÔ³‘¬Å…•M^"V¦M/)I‹b½æ´Åޤjnv{½’&§ÂdT:òž+‰HuÙ[ÜnÒäÅ­µ¶ºÝ쌒ªÂxŽÄVKqqµƒE&ÊP°)/>\l5=Ÿ/¤êy›Ãëó’® ªHë,\¶ßÃ×/Ìpo«Ê‰b¿× Çx Ü bKQï½_/¶ù‰ˆÈ‘ÿtà‘øûµc­+%¥ÅFħÆxëš“½–¢j!ÝÜÐ`­J#‡O""j³—š\úŠ?7Xwf+®ë‚ Ïá4óâFŒ½19Š#±¥"¿ZÊÜgohhØ–ÔRZXï%b‰oi‰)¨1ï«Ð¹+‹mº¢*ó¾ «Æì‰aˆw8c×ט-ïm‹o1•Ú쥅õÊ«½Án-ÒØ‹Ší±¢«‰7–Õ˜­;3ÉRao£¶†5…6eÁ¾†ûîL¡"¯ÚMD,ùv&s[y_MŠ·¦Ò!E唤*)ûn{ìãwî/^ø´1Ïìj2ªZoPºm.Ah*Í©a2w74Ø÷å)êòM-"ËHžfJ­2[¬»sÉRdq_M\7T‘¤1Î`š-.1íêÝêÔáÃ(+ïh‰]oµ7½_ÀÙ*ê¯îÁk5ÕËò¬v»½ÁœÁØíúÿñÆÊ×fÃ(U[³Õ«6ê÷5{SvÚÍijw]žÉ›RÕ`o°ïLóWçW·K|³CSPe¶ì3iÕ5-"+zš„Ôm5–Ýy\ýšJ1³ªÆ²;ê«›ÚHl­Ì7yUï5ØJbš K{›¿¯Ù¥+©1[öEØ«ëÝáú¢-£)Ø]ó}C r Ü%ïã}ÎË ×DF‹5ÕDœ6CË[Žz‰Hpõ)Sôj–ˆ‹IÑ+"=¶V…>EñQI)*æÚä)x%FÎÙ¡ÛÖ,j3ôáDÄF%•n›K "&ÊNÄ*beŒ:)–#b™Àb+£™XC­%W“÷[—ÍÁÎHÕrDÄÅõ\‹-#”ñI–ˆj%#ð~ÁUߪHÍŒçˆ(\ŸªåíM^""F•¤W³D¬"V!ñü]»oÑs´<ëÙä¼›ß7'S°$ñ‚Ûæ`“2õáDÄiSg0«[$"F¡KѰD›á»ú@b*"µQßG½[mÔ '’L›–ADœ&Váw ýµÅ(8Ñiµ6¹6ÂPdʸ.1Iþ£Y¿p{`†5y¯¯|VcÐQ³Í-µ9êÝQ©×–ŠÑãÉÈë°ùÔ©!Lj¤yjÞîô|žUjdbocVê Q,!SêâÕDÄE(—Èg³ ºÌ5KÄÆо*‹1h9£Ã1 IDAT"b”jnà1þ0/î.&={žÒ-I|³­™'"™6)纃/$:ël>—ÿ¹¸òÞZì^cà Ä)e,§dÈK$‰~‰Qp+ÿ¾'û±\„Lrµ Dצˆ’ ± Y_É ¼HD Ãô¦FvÀŸDb_âè}H&cÉ/I"/É4½{g9%#¹‰8bÛ»G–%"‘çýžÊçõ5 ‘$IŠˆÀ%>Ë1÷ƹQèÒ rRnz'œß-§`žç›'ÛzÅÏéYÑwd Iþ¾´ŠX­1‰É²¸Ddu)뇭¬ðä² Eµ)£|“’]Tpí¼PF6£ªÁ¤½¶A¶ÇjŒ:©ÈæËŽhÝ§ 'r h½½ç^ò W›®`$¯DDÄpýÍ¥oW,ÓßþI‰/øæ'ë™Þ¨*ŶI$»½ 9îŠðøŒÂx""±¥°©Ùæ'ŠJ-(ºq ¤à0;Ôë߯1òØZò|¡Å–!cHà"ŽHÜ~""†•1/ˆD,ž¼†R«åªëŽz“¯~Ù‡·¡¤Ž2ò¢ŒØVä,ñC€Ä R Súy‘‰`NÁù½½{Ÿt5!\›0 ™&×lN´ß=qRURvanšvˆ,&¶Zl¼&3FÆÙÊÔmûòŽº‰¢þzxYß³ƒT‘Ú$˲8äR ¿ï1p±ÆÂ c!µ9LYyE6]_˹E¬Æ¨óÙ]‡[=OÞ—þ¯%‹à$G_3Úx‰‹¿õèÆrj…lFáµñTl½½góBà^&8ê ÃÕ`ª :¿ÍÒÊD镾z»[$uGy‰ˆX•^ÍÛë]"‘Ðb±x®»?ÍÌÖºJsЬ-m"‰m-Ö¢¬âf1‚#e’ŽsÔØ¼ˆcá5)1Cß’'¹öÛ¼D$8¬NÒè"T§ÄˆGëmD$8-6A˜zCNѤDy-–‘ˆD·¥¨Ð2ø=lŒ(Ò©h™6uÓîKÉP!Pô:ÌùË,Œ1/)œU´’=𮢷¡¤°&ðcßlq Däµ×û”úþ/ža©"µÁ k®¬lŽHÑ}Ï(¶”dä˜Ý"…«4ßkc¬Æ¨“¬Õµ®@ þa†6I鮳ºE"Ñk«s+“´ßá E•ºxÎi¶{‰ˆÚšL…¦Á¾Â–a˜ñ@¸Ë%Gä'™RqãXJ›½¦%"¥ bàå¹A'å×¹²óŠR›óÓž®æÔñ©I*Æ-…'dÛò³ž¶rÊØCŒÌ.‰D]¸¡ÌÌT–Vf=[,É432*vfÄrDQ9e™E…iz«N*(1„Ó?'‹i-5Z|‚B_PÏÅ™R ‹ž× D\”±d“ž :ˆž¼©Ä¹¦0Y/ôîMÍRÐ ¥>^‘µ,9#×\“¦¾'@9#» /5>âf_>"yÊ{gæ2Š}zUMZ,KÄj ÊŒ……½@ÄFÄg—’/£Ôr–c¡ÛGQ™eF5Qï褊ˆˆÔIFYeyø¦ï‰ÕdùYOW Ã(´™%I×n1pàÀGtÛþ\2hÔò‹ë£6Ý$«SMyî¬äj‘؈ø7P[qqñ9ö¡_Ïz!t÷†±¨¹¤£¥-ºÂXöþ;tV‘œÁK$¸,µ6©R² j"F¡S ]Œ„h/Ì*m–TIÙ:¹íÕµG+s •ïU$‡ ŽŠÒJG’Ö>XÃ÷ÚJÊ+Ùõ)†(Uyÿ\~×”Vî×hR“#îÒYØ2ú²AÃáÄཀྵï½éñmYÏi~ ïQÃèfï›7#‡Ùî'…‚øæº&AŸÌ ·B'poÀx ŒXŒRAüþR‹û†n«¥&Ϩ‹‹‹‹KÎ(±{‰HlÊ‹‹3VXMú¸¸8}†©Ém/I ü]Ñ7ÐÒf¯È ¬¨O+²ºïéöµ†´ŒŒŒŒÌ5É¢Œ©)œeáÓýc‚b«)9..>Çη–$ÇÅéójLY†ø¸¸8}F‰½íÇwÈ÷Ó5½×á’ˆ´9FƒÁ˜cÚY¶~}IFç5Ÿ^vT"ýâ_'›ZEÑÛP’øô]oÌ3·$:òâŸ+÷¹ŠŸË°û|ͧà^{IVïx£Þ˜WÓ‚mïɆpýù%"jkê{ÕÆÅr*šÚH°güzá~ž¨yÙ¯¯•ZÌ…iɽKg•4xEê´nŸÐۚ̅†Àçû7ö±×µLŸ½$??ßèZEoƒ©¯­%§õF_ŸÜP“cˆ‹‹KÎêïˆáG-è{SFš!Šœ¦üüü;ßÛü’‹¬59ÉqqqñÆ¢·£&«÷ï¾–(8jòÒ’ããâââyæÖëZGïhS`ˆJ°gõõsB Ë3Õ¦éãâââ yæÀ°Ÿà¨ÈJŽ‹‹‹KΪl¤›\0\ßÍ/‰ÐjÎë}ñ”6óÒÈuÍ3#· EFŽ:{Û5SïËZoÌ«q×÷BüÀN`@§¥7æTFZïðö„0$N—®"W¥©¡íÚ^«4§ò¨/*·jçú$ѹ?¿¸¡ˆ%"òX,d,ÊÕ2~gݲ¬J-ÊÕÉüÎÚ«—ˆÜ5YùµÍRRÙÎëãùúâœÊÝĺp}†Ž!ŸµÉKDäk¶óÄèRµ2b‰ÈÔ*¦–™«²c$çþÂÒ&aDòÈÄFèbdDŽüŒœ’‹Ýáæôƒ^«f#’JÖë"FWPµ-]Í[ò×ìw2óÊvnKð-ϯn¥˜¼²t%©ÒËvieƒ½¹Û‹ó÷;8cÙÎUëõÒÑê¢jœû{Ž÷Æó+’ØR^XÛ,é7UíܹÉÈ9j‹+¤-Ø”¢ ¢˜Üªy1ìÀMä,.·y5Ù›¶•$‘cÿšÅ¦‘èÖú„Þþ³NÐç®Ïˆƒô±×µLf@–u”.^Sç`’ ʶmJW»–/ηzû·YíÖç•äêd¼£¶èÆõ`¤vqDÄÛjÜú‚‚$…ä©_“QâJ*XŸ¤<õ¥µ­"Q›5?«ò(¯-ع³ÌHG˳J‡ù9A aY1y5»7¥p¾£å…un¥yµ^5oý¶õ)¼­YºÉÃuYV±µ:¿ü¨K*ØV’ÊØlü=QmMuÍ’LŸ¦×¥&)Èiiî½Ü[+³Öìw0)ëËÊrµüÑÊœÂ&õ`½è®ÈZVÛì׿–m+ËÕú›k—eÕ¸iÐNoOÈâN-LQHÍ¥•޶«}§É¬Ú½{_Yš66ɨeˆÜN¾÷YF›™iÐ3u i2r zc¦^FÄ;y‘Üv‹‡(&3SkÈNW‘ÏVÿ£ã´©:†<õÍ^"¯Ãæ#™>MÛ7+#&3G¥Ö¦fê’õnqDòý#¾¤fSê ß¼¿²4?ëù§ã’3Lö6¢pµZÁ1 MLT8«Ð—ìÞ½ogž>6Þ˜¢"â[|¡QsDĪcbÕƒÏȉˆ¼.‡ËK±ÙûŽ7Yò0‰ôžìüI¢DÄ»­^A¾³éxC‘–ã¢¢Ô q꘨óB½v³“H“S‘¯7æèâmu.ñ;õ ±y%yi}Dx°>öÚ–9 ¡9Í6ždI…F}|rNA¦’ÈQ×w5ÉÄæåõzcv’‚ˆwxÑýÜO4ÙF}Jz’‚ˆ"2rzCfŠ’ˆwñµ5×9ˆT©™†ØX}ff ùíf×ð›‡")Û¨UG%g¦ªˆ<6‡×Õàðisr ññ†‚líM/®iÌBÐ’øš›|DšÌ\c||r^^’l„ÆÀæ:É´I Aàô:9ëŽæ–¸-6_ >õú´¢ªme%©jÅ ½è6×{ˆ´Eiúx}ZA¶†Èc±ö}ê¤ÀÛÓ÷ÂÆpÚì\mM}Q­Nßßåð-u¥•6çÕyýïœBÁÃ1DLßß,‘H‰‚[ "gñ³qÅ}Ë»|ýÈzN›‘$;Zouxg0VÉRRû?•cáé9Ž!ò Â9äŠU'ç™’óHls;vsyåѺÂbmC…nàB’ÏZYbiöøé†Æ>TCѬO)2Õו:êˆH“nªÈÑâFŽ{KÐóËj JRý¥uûË×ì'"F3¯d[¡>@Éñ‰H¡Qº…RAäܼ¨&"â” †ˆX6‚!’pÆï¯7pEGIJ †ˆ ŽˆCD$ùyˆ<•ÏÇUö-ïsó¤Þ¶ejŽ ìƒ%"Áë|‘,Ð܈‰Pʆ¾`è´$>Áë'"NɱÖÈ;EÞ£uN":šÿüÑÞGx³Ík̈ ÞÇ_­O.*^EDä¾™k&N¡dÈ%øú> ¿±ÀÛr Àp…'çe×>_^WÞ$ Ì1h³×;eIeï¯×³Žœäeͯ­orÙÍ©D~MîÎ}ooEŒâÇ×ñ°šÔ$Eý~‹ý(ë"EJª†í{_“|^´,I<ï'’)¸‘rÈ#P[SMu½‹K-ȉåÂÕÚä Ù®qºÝ< ÈbkEam3¯ÉÝ]•Åן¯ôiDDRà"Gjãý}¯Vm(ª1‰m­ŽfKeñþÚ"‹Áš¡FÝß;=¿áú¼*}žØæv:¬Õŵû‹* EA_¸¬B£ ò{}öÆO}.^$5K¦\_,$|èÁƒœBAäS¦WU•}-‘‹¸±kD"ŽïußìÉ»x‘"Xò»"âÔ2Žgˆü>^"bIðºýø`¸YIüCD‚O$âHäÝ#r^¨×nv£Í^Ÿªf‰HôZKËZ,îŒ%§Tô~¤D, -Vk‹¤N2’ÒJß[ù$ð>‰H¡T°½ÑùÆNoO? Ì …‘Nm,˜§ ¾ÿ#sI""Ÿ«¡ººE"<.·ÛÑTD.‹­ÕÇ»í¦œ¬üjçñÞd6*-EIÎÊ ‡¤H2ªô°®ÊR³½ÉZQÑLÄh“ÔìH9䑇eÝGm¶Ú¬Œ-†ÈSQ\ÓÐd·”šš%RR5ì÷ê‚ö±Â€–é° ›–¤ ¿­¤ÔÒÔÔPQZç#F—® Çù†› ×µD>›µÅÇ»›«ó³rLÍ×´D…Z͹jªšì5¦ºë>óÛJ+­Mö“ÅG¤J‰P'i"‡Édm²›K+ÃoÌlÐ’(u:‘«ºÔbo²––î7aÓšÝ6‹‡mº1Y¯×ëõúdcZ¼Œ|6K«Èj I ¢æŠ k“ÝR”_\^nãi^ˆUSTDŽÒ"³½É^SjriRê›|†·'ä@€á_3ÇæÌèï#Âõyé12ÿÑâÅùû™ÌŠ­Lr—ÆÏ©3*ÊRµ’eMÖâe•®p}f¦þÇy­¢6¦ªHò“2Å8pŠ'£MU7—.+ÞïQĤ–Äs#èGN[°³,}†Úß\WY^^YkóEÌH/ۙ˫6¦Æ0ä©[Sb‘—¤b<µË›œñ%eó”ä«+¬t2ÚÔ$%ù›Ë «RTæúÔo+Í/mÒd¤(‰DI"6*£({c/ÎZ¸pñ²joì¼Me)¨ø»Êß\WyU…•×d;¿üÌ‚¼¤gù²… f™œê”‚²L5Q„>M'#¾¾¸¸vàmTÆŠªÜ­•k–å—61ºô²ª«·Ú|·>!xk寶L‹Wº¶1oš§•l¥Ë–­©ukR v–$£Ÿ¡‚ ¡¬*[ÇØŠ³/+mf´9I×jóÖ'©Ïþ5ù®øÌ2"IêowÊ”$¾®0¿²YRÍ(0ÕÄÅ”¥ÆÈ|õÅËLÍêŒ$E 'Ncæ‚•„Ê)ËÖ*ø£¥ùÅ&ͨ싔#(Z-¢Ø”Øþ¹¬&EËÏfq‹llvÕú”ÿþâeù¥Í²ÙUe†ðÁz!6*§j[ºNæ(Ï_–_éPÌȮږ6øû Þž~P£D÷]ÃÝÑÓÓÓÝÝÝÕÕÕÕÕ%I’(ŠgΜÑét¨™Û­­!ëÙ5Uî{–@W+¶šž[X'̨ú³I‹iX€>F(Ážñt¾óêÛÀý ÷ÜWÐaon²˜ÄÌÈ1à]9F:ÑUSXÜ,É4óÊ ôøÆ€ûæ…Â]ƒy¡w¾'9999à‡5U?^Ÿ}ö* ¨É“'#Â1êßµ#øè>úŸ8Åp»!ÜC}ôQTÜn¸?àþ‚ñ@ø±êù‡$I#ãXØÿ­Ã €;ãȀȀ÷6|_(Ü‚+|[»y·ÿ£»ÚyÔÆ]1fB˜ì©ò´…cáÈpÛCàK_ê¥Ñ,þTÈ]ÑsåŠpÄæÿèÃÇßþÝw‹‚˜ ÃÕnÞÝ#JcBCGÅÒ]3jìØ1¡¡=—/µïÞõݶ€Ãåÿðèh–E=Ü F3¬¿é#ä@¸½º.œÇHà=bÔØ±ßùMä@€û r r r À½ _ù #OçQóß6·]ÿhÈ#ê}Ƈ˜Û¶W¿¯­ylØÌŸŒ¹ÇjCtm1f”+­¦þ0?õ#4¾dx+¡vÿ"Õ-”âÄkÉÙJ×?½ÆúÎlÅí;vÏGøé³§r#®ßPŸŒ<:aÉÊ•s5ßýX…^2ìH¬{wr¨‡™ÄÙö6mÀa:·sù Ö×§âWªDÏÛßÚqøã/üD$›4%qÉò¥³5?ަÍ;pB5w¦ò‡i¾C+^Úô±4eeíÛ‰üwjŠ·À×xÀ=wºbx/JÃ:E¥e•­ ßøiü¾ ´ïÚ«ûü——?±¶íl¸|q°BC‹w>|nÃço;{‚>òȃIO\²ý¥³sXûmøÉBƒL3q4uœ»øÑ»ßüñOâÅCÕÝâ‘"ô¾tf¤ý_3ˆˆºŽ[Nm?Ùü/2æ¶ï´ë3‡ï ê¡{. 'ÿØ(›5‹w},LM¸kWìÔ×íM+û†LßÚ†·ï@YDÏí»š‘˜‰ˆ˜§*ú’èkÜúÊêì­‘Öµ1·û"T<½kûÁ„é³qµ{'Càžìô­BâšrkbŒ‚xב›6eæúkßY º÷K/œØµýð¢Y3•?H‹N>É̯±¼ªaÅoÝæ¦èkܱëôÊYÓhìßtñõÅ_þŸ ‰þgùÂ%—=q&ÿw—¾SõÈ3ò9ÏýyXéhô“Ë_ûÏ]¶ß}õ懗¾aBžLþÉ+Ë{$ij±á¶†«Ä-)r À—R>8ó?¿ì”ˆ˜\üìc3å£ýkMsÈ^œt©ù¬x¦cì̙ʉ®¯´I_‹ÌüÙ?¯MW.úÀ³û3é<š!0öÆJ7îš2_súcÏû¤È%›7,ÐpD¾¶¬Ûzø´Ÿˆ™4mɆ 4,õ?ÚNÌãÓ–nØ0W¸>:¶å•GNõ˦¼¸yóË1 Î=7î8ÙNÄȧ,X»vQÌÐñKôzcãöF1D²)‹Ö®]ÉÇ^3lá%ÇNž>íãV®œrrÇÁO;7kså«S¹ Eb‰?öÛu[žj—ˆäÑó×n~yªÿ@nöÞ³~zižså;¯ÏTŒèÆÍ*$N:øñévŠQ’è9ôƺí>‰H9kÕ†W§+¨÷ü||¶÷ÁÍ«D¢ïЦ[Û™Iª©³§HDD¾=/¤˜Û74#:7s…µ–×§Φèúmfî‡íÒÇ©/œÜ\»6òÔ®u[vjgˆ˜ÈÄW×®J¸v@'Èö‰‚6Ï®yé‰óå'?öð|;3uùëkf«nÚTT§^3®c7[6r> ݸ'±öÝEª‘wz…ßÚ~:ºØ²¶·+4³W•+£‘L$b×76í8æ#"R&,ݰr¶Š†z‰ÇV$oQÌŸêûø4Ïûüª96¿<•#NÜxB}»^Hmœ»TÕxä´Ïç£È%on^ b‰|om|ëði?‘L•¸tÃò™Jrm1æò‹°G\>_;3}囸éëOúé”1}Nyõ«W#[жáÙõÂKÇfÏ’v¦¥µïÌ•]ßh§y6¾´î¤$ÌNý|MqÀ±è9°iÝŽFO;É"—nX9[uöÚÍÒ %gƒ½@˜Æ×^ÚzºrS}KÞ~{AеøÆ-¹û¹2:1Ñ/‘ï´ƒêìèü¤ák÷…1[ žÛàÙýyÏxÍ„ìeò'ÃFuR÷W¶½¹CøfÀò7>ÛùTD±‘ ¥ˆ­ùMk/HOMÌ^Ä©™žN©óä»_¿Ý ŒL!<´ø™ÑÿQöEõ_ºˆˆ:;?Ùï[î¡èŽ"¶âßäš0"ê¹àl¯ÜvátÇØ™oªSZ/|þèø' ™pA¨~·ó×óROzî[6|sªcììJõl×?ÜO„>:zBˆd3yw;»iBhFþħŸMDÒ9ÿî²sö¯H½H]2U8tî';qâ(÷»Þ×÷_¾H£"ž¹¡Ì¡¡ÅÕŸß6uüO&Œ íðWoøúTÌÀ#=ï¾]Y÷Â}¢û?Ý;¿ {ý7±ûþíŸþ¿G;*þ—ïÌ¢±Ôy^ð?9ùÍE¿øïš+ùhÚOß^ô‹ÿ®ºüljºÿóÏŸU Š×³~ùï¿yâ—g¿ÚðÉeÿaúàaOÿâ½W~iN‘ýWÓ™Cߎþé¯U‹ÃFMNøyí½‰|ôD/JT*Mñí=âë}˜a¤/Žøçl®­}×R9×·uÝA‘иeÓù*‹Ýn·nžzj릃>"òìZ±éTByƒ½©¡röÙ­«·»D"’Î;5}í~›½¡rºç[y޽‘»Ý¿à«Íf«}™Ý“»±Q²xž¯½áœ²Ùb«¯·¾½ }ûê­N‘ˆ!éì1_ÂÚ·k÷×.¯ßxzÖæwÞÝÿÎ"áàöF>h‘Ä[×í¥%µv»½¡z.ÿÇu;\¢rîæµÑ̤¥ïìé!ˆÏ»Ÿ4%ZN$:·®xãô´Í›ÍfY«j\½úO¢kǺ­žÙï4Øíöº%txãÖ"dÝ'b6Xmõï–ÏçOKD¤LX :{àˆ'pE}úà1š¾`J¤g5/o^ú8¹²îݵS¥Æ«wÑ’Z›­ÞfY¥l\·î€ïÚ!‚lЦÂH§¹%•µïî¯Û<õÄð7o*Ì”E ̱=§„ÞO<{T U#ñ슧œ¢è×NNTL={ª‚%ѹ5w«oÖÛV[½ÍZ>ÍùÆŠž¡_DDDg= jkß­¯]"í]·Õ)’ü„2$:L‹Êß©Ý_·!æÔößž‰<»V¯kT­ª³ÙlÖÍ §6­Øë!"†Ú?n”/}»öÝÖñs›IDATýu+[w¹(fåæùrfÚfKí«Çí‚¶ bòŸ<¢Xn±½3W¤ÑÒÔµïl¼¬·.Yyµ)ذèÜúÊv~ÎÛ ö&ëæ)'ÞXwÐwífƒ–<Ø „Kذá)™|VyÝÛ ‚¯%Û²ñˆ|¥ÅV¿¿z‰¢ñ¤„wZ€!]p^8ÙÁ<©C¡,.ääÙ—~šþʹ¯¦=¼êÙþå‚=Ûñ'_å‰î޽Ë_;ÿÕ£Š×þ-ôÜwúÂO—š.=±$b¡fÔÀ…FÉ‘.ÙNv x¬Çû— œ¼Ò:>³@1á㯖.ü4=Ówꉉ+ ¡žNýÈÔQ‡J¿Xžíý V,³w­ûålïÉGš?e4I£'Nm+v/Ïü|ã_Bæ.SD†ŒÑç+“¨½ ãÓô…îê/C3ó'D„DÄòÛ´ôaöÓñ½’S·ó‰›ß^ªaIônl|10ËM]4wÒéƒ'xVój]Ã;‹T,)§'L’<>?‰§œf¦Î™Â³`îãDD¤Lx1úìCž¾˜0?š$žú˜¦/ rSæ'ÊNv ׿—·“¦òøÜD KD\tâTæô‘ÓâÍ› EÎOd>ÞsR "þØAOäüåÈ<Ó~ÞÏ(äA?a=‡ù£ª“ÕÌ;élã1ßP/¢@æš²`š‚ˆH9}Ö¤vçɳƒŸPæñ9 *–ˆ8U´œÎò~ò;tzÒ‚EÓDÄjf½yöP`D’‰^Ø€L¥’ù}íƒgÛ m/Ð s ‚6Ú!C³çp£?rA¢Š%âb^­µVÎQ^³Ùà%j_A×=§¤È¹½&ÎÆ;-Àpº´î Ä„ŽÿăO†J,/Ñ…‹‡þÔõÈ3ã'ô-rÓg‰F=òÏÜ#¾Ýûñ•N¢‹Îóõ_ùÕ4&dÀ~ÆOCW:‚}>ò"²^¾HD—mvNœ*ûIuŸ?!¸;ˆ::Ýtîcá«N"©Ó}ž&„öF¦ó'¿=uˆzÜvœŸø€:bܯ5tÊ*x;‰¨ë“†ŽŽG8M(QÑ—ÿøóçÝDÔñ•ØAc'†Þ¤ÌÝ®?ù¿!¢ÎN×¹îЉcBîÐÉÀ¼P¸OtI6¾ï£"6DF]çÄ@~Íô¿ÆŽ \k…Œí_k”Œ¸uþõø—»?»Ô~…êù²‹ïÑC»q¶=óéÃ}ÈöžZøèœ‘)¹ÀÅ=Ë)etÌ/ñ'nÝqÈ%ù¿¤YD¢àñKŒ¢ï”å8"’ˆFÁöfƒÀ?ß.ùOå’‹J’Ÿ¢ß³ƒ”Oðø‰SÈzÿË(ä$õ^¢2Wïèd¦÷o¦­ŠD‚óðÖí|`°²¦ÜMºÿþ@¡ñ5ãFiÖ¢„ÀýW~Þ/ÚdLz£/D꬟Dÿ‘íoí=á‰HjÿBR‘$ø%FÕW•ŒŒ ü©˜¾`Ê[ö¸–,—Ÿ`7Gr%¾]b¢eýgB)“ŽùýDýƒ‡A·?HSQ1œ¼oc2#ù$iˆ¦ÂN;Kž¾çŸ0õØAOäüé#tÜ—‘+d~Þ'Q°{?ý¼Ÿ‘õ¿^drŽü>Aм鋍wYÅÕêæÈÏ‹þAN(± sÝ‹×ç§/¶§'íèke’<’—¦Cýû¢›M¤íÃö7Ñsc£’Ÿ÷3Šþcç8îÚÍ/¹Hò³7Û× Ç9p_2NÆ Ý¥™8:.tSèØPf\fõÏ2{ŸMçBBÇ^éjAŸBÃFÑDyÙî¾lÈŒîø|tQÿàÙÅ ]2ðP Jݽ÷\8×E!£C‰ˆ¨³£÷ûi¤ÎîÎÀÇü{´îÎó}ŸýwvwÒ˜ÐÆL`ºÝ}kQGW'3zBè("’¨»÷Þ>iˆ2SgOGG÷x'Or Ü'Æ„±ôÙÅ®Þ1p±ÓOc&²£‡±VOÿZRÇ寻˜°³ž -£óÒ~>ãÁÑ$þcí￸GX8¹«Q¶´®¾ÿ~)ßžôô] SˆHòû‘”lï'“ ëVïbÖÔÖÎT²$[aØHD,§’Ñ _ßµ½àóøe*Y°n]!—Ég•[nå[Jçû6.ñíÄDˈüÃXëÚ"MâßÈÝê[R[»@Å’èÜhÈæï§¶Í%¼ºT•úÆÖcÓ7LçˆdJ3m­åÍéïÏôüvÞ¦‰Õï¼ÃyvÍK=BD 'c$ß[Ž¿ïý“›²hº´îà©D:Æ$¾9è—p0 9Ó—ÜYQ(¶Ž Û¤©xˆ$¡½ï´úy‰‘_½ª¬©jîÕÞ½Ç\Òaßõó&GV•ͬÞ{Ä7sîÕtÂ{këéÄ•óe ™äñK½Ÿ¹øÛ’©¸aå?ïï?5É”œl¨:ðe¨”1‘Këj¯ùº_ÑudØ‚ƒ´½kÚÄŽ76Ú!]S!"ï9+MR Yròüö¦ûäxœLòõíËÏ·K¤$¸¹ŸL›ð$]Úéìêœx¥CºX“ùåG<Ú²:‚=K£Ò÷WÇùéËs˳/|3ÈŽ:Z…Ï™ð”icÿÏŸ®ô=6*"ùáù¡vº®tÓ—*GM˜8†:;;†UüÑ!a}׎¡cB¨«ãR×)üzz”º.tÿ²Óàeî;ä»óBáþ0öDÕ˜O·Ÿ¹BD]ÿù ÿuØCqs­¶O¯‰þ?îwmpI’x¥s,óèøÑD]ÿÙrz:¤¢ÑD=’Øuï1߸ëcùì„W@Ê„YÊ“»zojoè¾X’¿4ÈZ¬*!’N8æ#"ѵgïi¼ÓÜTÈØèä‡×þÛ_Y¿±Ÿ£ÎÏ¿ý¤cÜœgÆ'¢_/{äÕg®Þ8ø³=!acêùê/Â7ÃæNCD!Æg¬‹˜óÄ5÷v~õmÍû]ÑË{Õ0>"tTHhÈÿ=/¢xéxæÜ•|.œê`gÆ…Ñ„’žsîã‹ß ï6¼°)=9ˆFG?vîâiïe»“¢ \DQÈØ_d¡Ÿ ® AWºÌ×-6æ6O3Àx Ü'FÿâiuÖûg^ûý9‰ˆ‘?”÷ÿ>üØPCOµ¿浪s]£ŒX÷ä8y—rNË+ªþöàØ_jÉ™üùæú¿ïÿSÝ/Æílj}ÞóHµ1\~÷×wdשI³W]s¯L˜¥Ú¾ëˆoºœ˜IÓes_Øè9Û.›²|ó|±ò¥ó¯Ë4‘Ë•S-_ùÔêõ«³w½óÎü7WzV¯6Ä·KÌãO--_ªaél°+ÕékË—lÜøRÒ£œ¾dMôЗåªùo®ñ­[mH ¬³¼|y Kâ0Öº®H fù’ÈÜÕ†ù$EÌ‚å«æœÎÝôÒeí¢YÓ¤M™É§–ÖÖ.RèæÍj­šu8{ãŽ9µ/kb–¿¹òu¯vHD$Ÿ²híË,Z:mÅ&cÒV¹2rîÒU/žÎÝúÊ:Uíšµ+­X¬gäªé æF3‡¤¾\??‘ÉØ«XäŽ;ùÔÙÑ[·“Ž­©{{íæE·¤'½AD²È9›7\÷cÊYA¶¼©´1‘ ´#ó…S¾³’H™ƒG½îGzö“ŽÛtnF‰¢ˆ wEOOOwwwWWWWW—$I¢(ž9sF§Ó Ñdÿ]Û»ú¿8$i„|=û¿{ZüšïÀîø^2ÞâzÃýÆwà¥ô#s\^ßfž]/¤7¾l}ç–WRtn4®cÊëðëÝ·TkÇV$oTU[^E­Àwq:ééðŸÜoG=væ›ê¹'<ËwÝk??ØÙöM¤íσqfÐQEÌ €ëRàÛwø–$ÜówÜ Î½o4*-Bœ¸Õd‹*€>¢ë­ô̽íÑKË7O½·§Zò¬H]Rž¸æÍ¹Ù¸U˜ w æ…ö»ÃóB¾³ûs^è= óB`X9àþ2fBXÏ•+¨‡{AÏ•+cäßñgž`¸dOÍèÆ/ܺ%Qÿkä@¸½äi G1L×ÅŒ ÞE=W®t]ì5nœ|á¢ï¶üŽ< ;?(ÂÿÝ;í»wù›>ºÒö *ä®3!Œ{&Q¾pÑXE8r ܉(8qÙŠ‰ËV *~¼0/99àÞ†ï …«Qÿ®E%|¸¿`<àòå—_¢à1yòdä@!zþÅJø>0/999999î_¢#/>®_|rZž©Á-ö>×”Ÿlj‡¿5w1>Ã.ÜÂîoy7nÂk7eÄÇé âͶ/´X­ßk?p?‹*€Š™Qõg“–%¼-öSñói®æœX–/iØÇpìmÜõ÷Þ…»&+Ë®NŠ•¹o¾}ÑYSiÑë Q,Î7 ÆaÄã"b …)þÚR‹—Hl*L~¾²U$±ÕœgLÖëõz½Þ˜gn‰Ú¬iñFSEaVZš1YoÈ1·^7 èm(ÉHŽï]Åk6ÆÍÞÞ§Å–¢d}^ß¿‹¦<½¡ÄlÊËH3&ëõi%MmDD¢×ZhÔÇë“ iEfsF¼±Æ{índº‚Ý5IÊAŽ(p-ΊÅ9GygéóÆ"‡H$8*r z½^¯ON+´´ŠD$¶–$'çÕTäe¥’õ†‹-°”è²4S|šVÖ¿K’ï¨S[Pc¶4˜3Åý¦z/Q›­°Ô[Ò`o°–霵N‰˜ëJ>ä!1‘9eÙ*FS°ÏR¤eÛ¬ù9&Ûl·Ûv¦òËL-"±Ä;Zb ªÌÖÝŠ£Åù6]IÙº/µU×»Ñ,F2–Ss$ø¯æ@öÿoïÚÈÂŽgÞš<µ1‰aUbµgB«Cj*LR@Ä3Ô4*g‚a+H Q`@EQT:ÌêÙNJ{sp0å†þjÍÛdõŸ÷½Ä4U¿íµ:½ÀHV¶æm-""fÞÍh1¬Ü¨ùu¿{gÛL;{­5'.":ãd”â‡É±©lßkõn2p¬”ùfHSÅl71ÓVlÐóÃð¤}¢r®­E$Y˜O<ÇãïXgœ¤ˆÉü”´†'"UºhÇED'-SeÆm=¼Vƒ^ÀÁB€_çñ‹ý“@ÅM}u£kZ½þierµ¯RùjmÑM‹ˆŠ%®ö:“ÃAtç&çïÏzk8,:ø…ã"-ÙëëÍîÌ|Ôê¨üFêÞY=CÝÛí‹‚@têæô`ÌÒê9:Ð"{ºÐÞ,Š*狘¢Tìæ”(ø¹äD!¼rÁQó0ÊÎgôÝB³ ÕµBUÂóNý}õ}=³;% úA(bˆ„A :v»"Ø_]h¨Z³YHV «Ã ´Ë£á’÷¥ G*¿•6DþeŸMk‰üë‘A/ˆžáù´©UbªÙªZßÄo—oßc.¯^xÞÝ[›]:²*‹ùøDÚ*—7;ˆñ‘”©Ôu½ùûÞ—@D“Ïûþˆ“¾íÀÐ÷#´LC$8öþ:ŽÂaÂéLÉ‘öÖæv]ëÉfå,ÿ¨uˆÈù~£Ý³…~$"Úv³þçÆõïÐt½¥ùÿ'€À~ ^«è`öÍïÃËØH®XkV ÖaH#]*g—WŠ£(3ë®TÓFØ•Èi¯ê®ôú¾¶ç6J–HïzI<_)µ–¦ mÓLØåùű…åùÙF£Q¶R¥¼ñnÛ\t’ygI·6w´0[p´i•ÝT»u/\»›ﶯópöM[$µ¸ÛtpoÓ.f6?¼uŽj;‹lôV×'œ@D +?·f1ú €û- Ù4À˸ººº¼¼¼¸¸¸¸¸ˆ¢( ÃÓÓÓ\.÷‚oé|¯ü¶žßñ&“\xæ•'ÛîÎÇb\½rrÂ+í6¿ø˜ žìlïC½ïÌ8L¹°³Rpª­3 »m¯gÚ)͇€Ÿ‡¹Pà)Âîæäô¶Ÿ­lmØ9îԊ˫£ë"*‘«lTÒŒpà'b./æ8 ü ˜ :@è@ t €Ð:@è@À÷þµJK *ça IEND®B`‚murano-9.0.0/doc/source/user/figures/add_to_env/add_more_apps.png0000664000175000017500000011365113656750211025154 0ustar zuulzuul00000000000000‰PNG  IHDRÛr«éDsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝw\Iÿ8ð éH+ö€4 ‚œ¢‚È‰Š½å9ïî¹{Ô{ÎÓÓóÄ‚Ø+`ÅF•Þ¥+ˆH/¡‡RÌóì+¿€±ûý¼ÿàE&›ÙÙÙMö³3³³”/^”——ËÊÊšššª¨¨Ðh4ð!ñùü¶¶¶ÂÂBgddD£Ñ(111ƒ=z4Ô>²¢¢¢êêêaÆÉÈÊÊB8€ObôèѲ²²MMM2fffPøTÌÌ̘L¦Œªª*Ô>UUÕÎÎNÊ €OˆF£UTTÈ@EàÓ244„ˆŸŸÏ‡ˆ‘àÿ<@ >1¡P >1h#À§'‰ "À'½6øô ŸˆHðÚÛÛŸ?Îb±$Ò›››KJJ8N?ò„6¼…¶¶¶ÒÒÒŽŽŽ’’ñ „Éd¾|ù²½½ýÙ³gý J "€´^¼x!‰BB¡ J˜Læ«W¯ð|>ÿåË—ýÈù=?ø—!D¡P^—€/”ŠŠJkk+þ%ZZZõõõËô#~xÏm$\n÷Ý»Qd "’“’Zš›a/_ºaƉB¡P"ÑÑÑÑÓÓëGÎï9"ijj:´sïÞ¿ºÿçQ|üwë=KKŠÈå39oÞ< ‹  „Î;Ç`0þþûo8 ûfccÃ`0ÈÀyÊ”) £££ãC¯7//Á`,^¼vA¯ÊËË †‹‹ TའP(A‰8mmíÁƒ÷/ç÷ÜkÓÍa{:]¼| ½ªbé«&§å¬qÑÖÊ|Û¬nܸ‘””T]]Íb±‡jkkëêêÚæ )Õ××ïܹS(ššš2ä‹>hŠ‹‹===BÎÎÎ;vì€oÑÇÁçóœœZ[[õôônß¾ýuwVæää¬]»ö‹?þôéÓplðÕ‘‘6lسgÏØl¶xºššš¾¾~¿³íD"‰D"QWWWwwwIÉs}}]]]¾@`8x`èßÓZ:šÒe¦O‘[æ`Z×ÈÎnd¿ÕOó•+W:ÔÝÝRVVÖÑÑiiiyúôéÓ§O/^¼¸k×.KKËQËiiiB¡pÒ¤I'NœÀ)+V¬ðôô”‘ùò†‡‡‡#„¨Tj\\ܶmÛ ð1מ ‰h4Ú{ÏùÇlllvD" “““Zš›dd¨¿üë9YùÐK—äåéuÌnzEMǘQšò4™‚’%š’¢’H$’ò´qñâŃ"„æÍ›·|ùr###¥¦¦9r¤¸¸xëÖ­§N233{ïUÜÒÒ‚5j™B¡P>ÄiõCãñxÑÑÑJJJ3gμuëV\\œ³³óÇ,•Jý@9ijjþñç´ƒîܹƒZ²dÉÅ‹ÃÃÿîˆÄÄÄ$,,L<ÅÓÓCgÍšõ%nQÏ£ ÐSSSygD`PRR2räÈ~%\.·ÿ—þÝœnç¹ógÏq¾{7úĉƒi‰„Âë1ÕÝ\aM}gþóæÐˆÒöN~rvº†®”áHiii`` BhëÖ­ÿþ÷¿q8‚#KKËS§NMš4‰ÇãíÞ½ûCÔ²P(ü„g¸þÝÀÝ«GµµµÙÙÙán/ù ´¶¶ÖÕÕ}¶Åc2™ÉÉÉ:::ëÖ­“——‹‹ëêê‚/8ºøÊ‘òòrñ999‰ ¤³³ó£¶‘tv²iÂq†®®Ç?qq´ftB¡®Â«ªŽ§Ï9s:;µ´¤j¢ˆGõq넾¾¾DɱcÇN:%++K„ŽŽNEEÅ£GâããýõWòüË’‘‘qîÜ9KKËêêê7nüý÷ß4máÂ…ªªªžžžùùù999£G&‚N§÷\;ŸÏÿþûïŸ>}:pà@{{{@pöìÙ²²2ޱrrr¼¼¼Øl¶©©©¥¥eCCCZZZJJʦM›V¯^ýÆl“““•••­¬¬¨Tª££chhhDDĺuëÄ“••Å?Ó·nÝrttœ6mZmmí­[·üýýwìØAžGi4ŸÏÿçŸâââfΜ©¥¥õôéÓøøøŒŒŒ . 6LÊÆ'__ß„„|žëììÄÛ¸eË–•+WâeΜ9sôèQ*•:qâD--­†††¬¬¬ÌÌL???,ÚÙÙ‰D¢ØØXMMM'''„P¯ã{jkk×®][__o```ooÏãñž>}zâĉœYæää\¸pE"‘È××7%%EQQ‘Á`(((”––ÆÅÅ=~üX¼ËRšŠÅ+Ý¿ÿ­[·‚022ÊÌÌ|øðaqqñµk×ȃ6$$äÀT*uòäÉ:::¥¥¥wïÞ=|ø0>C÷ŸÏ÷òòJOOWUU577WRR*..¾uëVllì±cÇLLLÈ#­££ãÔ©SÑÑÑÎÎÎ\.7,,ìÊ•+€B¡dffÎ;—ËåÞ¸qãÊ•+T*Õ××÷ã]--­ÆÆF2Á6Çñâ” 4¨_Eµ¶¶& 0>>¾¾¾~üøñd/BÈÄÄdùòåø)e—ÍìÙ³ÉÏ:´ªª*;;»ç C¼Nf̘1xð`|g“øbîîîêêêäËeË–!„¥ûråÊ„··7¹gG=þ|CCâ¢"„@ øã?vîÜ)~•­­­––‹Å*++“²Jkjj’““eee}}}Ék\yyy///„PDDŸÏ'kžÏçûøø-ó4ÍÂÂwᑺºº.Y²DšÛëqÉœ9sÈÜðJ{]~ýúõäø_†w÷ƒpŠ®®îž={þøã-±ÖE777„P^^žô‹±X¬~ø¼¡][[ÛÎÎ!TUU…S®_¿. —,Y2vìXòSsçε´´¬¯¯'ûûI¿ÿþ{ñÁn6lPRR*--%ˉwЇ‡y_˜‰‰‰¢¢"ŸÏ_¼x1Ù–3bĈ¶µµáqèóè`C† ?~¼D·/…B>|øøñãûÙ@ò.3¤ÉÈÈð»ÛÜØ>v˜@UI¦†É'Ïë#ôDÙ™‰—Âóƒïq§:,¥Ñd¥Ì|«ûTsrrð¨‰tsssÜ%,ž8zôhñ—¸Ï^ àÛŒ¥ñüùs„ÐĉŧOŸþ.ýÍÖÖÖã z&’Û˜••ÕwnOŸ>}õꕾ¾þ¸qãÈDôzjìy3®%¼¥â‹øKUUU>Ÿ/ѡث†††ššyyy‰Û£üýý¯_¿Ž[ȧM›†Oç]]]ÕÕÕ••••••¸“¥ç&ûØ|„И1cÈñ+˜™™Ù€X,VEE…x_ÆðáÃÅSSSCõ#¾äp8xöÈÈÈžËËÊÊŠŸûB¸Ï• †tuugΜ‰Ï íííUUU•••ø BÖ†4KF<7Ìã@‡<©gddôzÔáOõËJ©¡¡¡¶¶w‰§ãÑH=¿¤{1ÒxçâÝô1.€ø¯Ê[¥K•g¿?ÙÖÖÒZvIK…¿ó¬€'éë¨vóy&|µ"Y²2ãW侨¨¬¢úVí.oûÇÆëèH¶Áhkk#„$¦¶í¸ÉÈÈ…B|‹ô­88sN700è߃…BwÖÖÖ"„ÄÏ!6UWW¿U öÍ7ßÆÆÆúûûK véYuø¬ÜÔÔÔ³>Å©««·¶¶J,ÖÇ>RSSë»cžÉd?~üáÇäįâ}‹Ò·‘ôºQ E[[»¼¼¼¡¡û¢©©)q ~Ùù…>|Èb±ðH&2qܸqúúú¸uJ"ŠÕÔÔ”¸A7A±X,‡ƒ÷QQQÑñãÇÓÓÓ_1KY±8þXÎ"ij ¾yófÏú$›Rúç ¡¡×øÆ/©Ä×ïñÙMÐÿFxàÝô1.À‡rú÷1>Ÿ~ýxKh¿ä,íIò_ýµýß¾SfS^’ó²&]†•®¯\;d°©-éÆå£‹–y÷ü1êþ5ommmiiÁçÅ77Â÷‡ˆÇáKô)¼ãP5>ŸcñAþâ±TÿH|_çæææææöÚŒÔÇÌ.ä•zllljjªDÜÊf³ãââÈn¬gÕáÅãñú±X¯¸\îçöööU«VÕÖÖ:ÔÃÃCWW¯ñðáÃo ÂzÆm½ŽKíyH¼ÇISp—Meeåš5kÄÓqx.‘ô,!Y?øÎÍÍݰaÇ377·±±QWW§Ñh\.÷ßÿþ÷[U¬4[ЇÚส×z΃ôözÍ#9û˜;àc]€Ï."‰DÅ…yÍ%ÁŒ™;¦Nwœla# #"ÃUT”W¯Y+|[_Wu/"„_vÝÔ°­‘yñYÑ4³±„4󑨨¨´µµ%$$Ì;·Ë|!E£Ñð =/"qŠôãQÞª‘ªçiXši'ÈëѾá2ÿòË/øÁ:o%667e¿®k<<<\""y]Չ߆Jþî¿q±^á+þ¾›¾®\¹R[[;~üøãÇ‹Ÿ]Nž<ùV5€»üzmTÀ‰bîÚÚÚÚôôt„PCCCCCC¯ûE¢uêuõI£Ñp„zôèQ·|ùr<“¸¾—¦b¥A¡Pèt:‡Ã “˜ƒõݽq¼ã—ôc]€ª?mÝÝÝ™OB4”E†ÃÇS(…Ÿù—¯ïròt@0`ÀC£ë6ÿÛÖãâK¾;O |¶5òZ@}T×"x0`pp0¾R쩵µuÑ¢Eß}÷þ ÂÄ-Ã' ô¦¯Æ'`‰® >Ÿ_YYÙ³1F¢3HÊÉ—ð J\þ·…»l~úé§Œâããåää222$ŠÑ³Tøœª¡¡Ñ÷bøî/‰Åz…÷B{{»DÜÆçóÙl6>7ãÁsçÎ?aðù|‰®+)×Õ³öȧS~ˆÍqµÏœ93£7cÇŽe³ÙäU²ö$"T\Ÿjjj8vÇ"•Jô JS±RÂ#ÔúwÔõ C™LfÏòà¯í;î‘yt>»ˆD àË)èÖX®¢ª/°äää\\\W­Z…¯W(ŠŒŒÌر–nØm23¨¾m@bÌ©ð[W¥É|É’%rrr/^¼Ø¿Ïw9ÎÏ?ÿÜÖÖF§Óñ7< ZRR’Ä’)))!ÚÏ«««333i4š££cÏw•””ðíã[ÓÒÒ$~ÇñÏ79[.&ÑTZZÚÙÙI§Ó{ŽØèICCÃÀÀ@(>yòD<= ÀÎÎ_§â•苊ŠêµW¨Žr°¤DsBNN‡ÃÁ%y¿‡„H$ÂUúºyúq£”Ä´¹<Ob¸(£-1™Dwç­[·Äk@šŠ•>êð­dâ ²³³¥lÞ땦¦¦¾¾¾P(”8„8†,ÑŸõ¶>æÑøì"EÏ k7þ¬®ñß1h1äb E^^~ÃÚï÷k[vÜ_è±JšÌ‡ âííºvíš——Waa!ù3‘’’²fÍšôôtmmíŸ~ú §/\¸B¡\¿~]üÞ¸¸¸ŒŒ eeå÷þp |R¿téÙJ\WWwðàAeeeñÅðýÉÉÉâñDhh¨”«ÐÕÕÅs¶’‰l6{ÇŽ~~~}Üý‹Ïy¶¶¶…‘85JD$¹¹¹âç¡Ë—/·´´èèèŒ3F|±7n” ((!4uêT)GáÛV?އ#„ž={† Œ÷€ÄO*YYYAAAøCäl<¸G£¾¾þuƒ‘utt¦M›†§t#—éêê:tèBÈÝÝýmŸÉwóæÍÐÐÐ>FdffÖÔÔ¨©©½îé4M¢uŠF£9r„¼¬omm Á -8÷žˆWÈ¥K—^¼xƒ~²BÞX±RZ¸p!•JŒŒÄ7Ý`•••Û¶m[·nÄWo ߨ|øða2F‰D‡îêêb0±o?|´£ ðAõgÉ[ý¦S(eeeeé?²hÑ"*•zàÀ¤¤¤¤¤$EEEUUÕÖÖV~üØÙÙ¹¸¸X|¹sçß½{—ÃáŒ?žÅbݼyÓÃÃãøñão\…¬¬ì®]»¾ÿþû#GŽÜ»wÏØØ¸³³3##£££ÃÒÒrÑ¢E}_©K 7eÊUUÕªªªœœ²õÈÓÓó×_½uë–¾¾þ«W¯ðxˆ­[·J tqqY²d‰ŠŠJNN΋/”””6nÜ(ý9)%%%%%ÅÅÅe„ '77W(®Zµ O$ãîî~õêÕ˜˜˜¦¦¦#F”——gffnß¾½¼¼üùóçyyy>>>t:Éd.Y²D]]}ëÖ­=×åïïÿüù󨨨üüüqãÆq8œìì즦&ƒ±bÅŠ·ÝãAAAÍÍͯ›’i5kÖëWª¨¨ØØØÄÇÇGDD¬]»'âI5,X`iiI¡Pš››GMŸZ¼xñŽ;öîÝ›‘‘¡ªªš““ÓÐÐpâĉݻw?}úÔßßßÞÞ~Ù²eo¬Xéÿ|}}÷íÛ·qãFƒ¡££ÓØØ˜‘‘Áçó7lØ qÛüÛrwwÇßå 0 yyù—/_jkkÿöÛoïþ­üpGWÏI|m$ÁÂ… ÃÂÂV­ZebbB¥Rëêêdee-,,öìÙ*ÑS°jÕª€€‚ òóó#""ª««œœ.^¼(ýS`¤§¨¨xòäÉo¾ù?\·¤¤dË–-~~~¸¥—ŒÕ† røðáqãÆ%'';v,!!áûï¿_µj•‚‚‚47§Œ7.$$ÄÅÅ¥££#:::99yðàÁ>>>x]›Dzzz]]>ù½6ü¤Ñz>xÏÌÌìèÑ£B¡0::://o̘1öööŸ]²d‰ŸŸ_eeeddd}}½Ý¹sç$¦Çé+ò¥Ñð~NNNqq±™™ÙîÝ»7oÞŒ000033ËËË‹ŽŽ …‡š={ö¢E‹&L˜ÐÔÔ”””$‰”””~ûí7|oUUU¯AÀ Aƒ.\¸àé鉺wï^bb¢¶¶¶ŸŸßáÇ¥lÑ‘^gg' Ò÷£•{ÎÃçó÷íÛ7{ö쬬¬¨¨(™… ‘%tvvöõõÕÓÓÃsÛ>üìÙ³#FŒðòò200(.....–¦bßêJàøñã¶¶¶%%%‘‘‘“&MÚ·oŸÄÃúJ¥þóÏ?~~~ººº 111ÀÓÓ388Xš©ç>«£ ðáP Óô½øöÛoËÊÊ._¾üV¦Ÿ~Îßž={Èž‚^ÙØØp8œØØXin«oTXX¸|ùòaÆ]½zj°ƒÂEÀÛ©««ÃÙ¬h{{{EEF{ï£&€ÿ# "y;ÿú׿TUUÉ> ¡PxðàA>Ÿ?mÚ´þ=0‘¼É“';::Þ¿ßÝÝÁ` 0àÙ³gÕÕÕªªª>>>P?D$…Bùý÷ß ‚¸}ûvAA›ÍÖÒÒZ°`ÁêÕ«¥™™½Ÿaad+>­ƒÊ@-à“ƒˆ‘@DˆH "D$‘"ˆH D$€ˆ"@D FNN"|z‘àÓ£ÕÔÔ@-àG$zzzP ø´ ×‘@DˆH "D$‘"ˆH D$€ˆ"@DÞY[*D$à“as…M¼ÙyÕ,6Wàë@ƒ*ø²¬8«®(‹:ûª²¥ëúƉŠòT¨_:h#ùÂl±7,kd#„^4²×Ú@8"ð œ|T)!„¡ IÕݨ‘HåêÕ«ÞÞÞþþþ<¯ß™ìÚµkÛ¶m¡öövooïS§N½mIII¹½‹ooïýû÷‹pŒ€Ð¹sç¼½½…Â8¼cÝTƒ¿¿5Aý2gø¦C À×áƒ#ÙÙÙÚÚÚõõõùùù'N|Ç Ö¬Y£¢¢òÿ\ÕÙ IDAT¶¼wï^[[›••BÈÝÝý]Â#‰@'==ÝÜÜüãì°©£ÔøBѦéC&UH‡pD$Ò)((`³ÙžžžW®\IOO'#’ÐÐÐÔÔT77·øøøÖÖV33³eË–ÉÉÉíܹS ØÚÚ>|øÇãÙÛÛ;99‰gÈf³OŸ>=vìØµk× …˜˜˜ÔÔÔŽŽ}}}WW×!C† „bbbY,–®®®›››‘‘Ñ®]»BÞÞÞÿùÏ®]»ÖÞÞþ×_!„oܸQRRB¡P†êâ⢧§—žžìææVXXXZZª££³lÙ2mmm‰­£R©&L““«gZZZvìØ1eÊ¡P˜••¥©©¹jÕª»wïæççëêê®Y³FUUU DGG§¥¥±X¬áÇ/]º´gìE“¡¸Úpìøš|ð^›ôôôŽ=šÁ`uvv’çr„Pnnî† ¦Nš››‹¢Ñhmmm,ËÇÇÇÐÐðîݻϟ?]æ>ŒŠŠ255]¹reSSÓ±cǸ\nnnnDD„±±ñæÍ››››OŸ>Z¹r%•J4hÐÖ­[ɸ\îáÇËËË-Zäîî^^^~âÄ >Ÿ‹gnnnoo_YYyçÎ^[€æÎÛÖÖ† Oêµ 8ÏììlCCÃ)S¦ÔÖÖgΜAƒM:!TTTôºüSSSi4š«««™™Ùwß}çááÁãñŒŒŒüýý]\\†jhhØÞÞÞÑÑ1xð`„¼¼¼‘‘Ž È&œ¶¶6›É“'›››[XX´´´1Ðøñã'Mšäää$//_[[ÛkF=jÔ¨´´´‰½–¿¥¥¥emm=sæL„ŠŠŠƒƒB¨¾¾!”••%++ëàà`dddnn^XXH~øŠ}Ø^›ììl@šššššJ6™ØÚÚ’ 8!D§ÓeddX,N”——Ç= JJJ!2½§ÖÖVaèééééé!„jkkꪪø|>d*úÈ!¤¦¦†_ªªªâD:ŽRWWGQ(:Îç¿všTWW×½{÷Þ¹sGFæ¿^gggÏ2àwñ*pþÊÊÊäÿ8ÿÎÎNçïïO»¹¹×I?¥§§+**.]º¿ÌÌÌÌÌÌlllÔÒÒÂ)---B¡<ïvww³Ùl.ฤWÊÊÊÍÍÍ|>ŸF£UTT”——;6,,ìÅ‹¾¾¾†††AAAÅÅÅ}”ÇÍÍÍdyp€ÒÕÕ%ýfêééYZZ&''à”·*ƒ855µööv???‰_·ØkÓÔÔôòåKSSS³ÿÁ÷¹¤§§“ËÄÄÄß¾}!4f̘ÿ–IF&,,ìÙ³gxp™Þ“¹¹¹@ ¸uëVQQÑÅ‹ïÞ½K§Ó9B¨­­-==½²²!TQQ!‰äää˜Lf^^^ww7™ƒ™™™ŠŠJbbbvvvzzzZZš––Ö¨Q£ÞvcçÌ™#//W‡z]Þ˜ƒÁàp8YYYííí7oÞ¼zõ*£ "yׄ©©)™2lØ0:ž‘‘A¦qõêÕ¬¬¬I“&͘1'ÒéôÁƒŸ;wŽÉd:;;>üu«°··wppÈÏÏ?s挒’ÒÆ 0wî\uuõ .¬[·NQQ144”ËåÚÙÙñùüÐÐPñ‘rrr[¶l144 ¹zõê¨Q£6mÚ$>ÐDJÄÃA°×•áùÌœ9ÓÁÁ!))騱cl6{öìÙ²²²p˜øêQ¤¹pÿ®\¹’””äïïÇœ’víÚEÞ— €ÿ ‚‚‚`y|z‘àÓûd½6ôÚà³ "€ˆ$8::2 ü¨)ÀGCƒ*|Z¾¾¾?Fݹs?ê+fnnŽŸuÕ·”” ~ŸD$ð±455%&&R©T@±~ýú¯{{ŒŒÄŸýÙÒÒÒÞÞ®¤¤¤¡¡!¾…Bù"6çòåËÿýwbb¢¼¼<Ì೎H¸\.“ÉliiÁÏy|Îètºššš¦¦&~øöÇq÷î]@àéé¹nݺ/ådÜ?« vttüå—_¾ÄÍ‘þ1¢|ʈ„Ëå¾xñBAAaРA>ðùÃÝ~ñâÅðáÃ?ZPrç΄ÐÂ… óóósrr²²²‚øjãëŒÞ—¢¢"¨ðD$L&‡#4 ¾Û|þ  ¤¤ÔØØÈd2?ÎxŽ‚‚‚²²2ccc}}ýY³fåääDDDHD$™™™6l077ß»wo``à£Gš››UUUíìì6mÚ¤ªª*¾pllì7ž={Æb± `llìáá1}út‰õ&$$\¾|¹¨¨ˆÍf¸¹¹¹¹¹IŒÛ‘‘ILL AXYYÕ××ã”mÛ¶akk[VVFVéÌ™3ñ&¿|ù’,ê¬Y³‚ s &bÍš58¥°°ÐÊÊŠÁ`à&)+S$á]Ãápà‹ÞÑÑ£G?lëtÖðÅùh_Û‡²X,sssMMMœ2{öl„PDDD¯Ë¯_¿žJ¥’ÍøJýÁƒ8E üñÇ;wî´´´$?bkk«¥¥Åb±ÊÊÊpʵkׄB¡§§§NQQQY»v­¾¾>¹ YÜ’““›7oB¨ªª §ÄÇÇ×××?^¼õÅÄÄdùòå"‘èÆïR3aaa¡o¿ývĈd¢µµõ”)Sº»»ïß¿/¾§¦M›6tèPœ"//?f̼áFFFd#N,//Ç)W®\Ay{{+((à”Ñ£GÏŸ?ßÐÐ ‘²2øbzm ááádBžó”””222jkk%ºdeeÇŽ+žbjjŠ*--Å/§M›†ÿïêêjnnÆÓ~ 8°±±‘Åbá·²³³Bâ£1BNNNNNNÅ“¢¥¥…jmmÅ/333ÑÿÆOˆ›2eJ```VVÖ»ÔLNNÎJ"ÝÜÜ<999??_ìT^^ÞÞÞþöíÛ‘‘‘k×®_^SS“l ÁÔÕÕB,‹Ãáà¡$L&óøñã>$ãùóºº:œÛK(á›ø|>~Y[[‹JHH¨¨¨_¬»»!T]]ýŽ•ƒˆŠikk#„$&“•˜È…QTT왈+g®¦¦Ö÷?i*ˆH_¼ˆˆ‘H$##³eËñô¦¦&ü®DDÒsòÖ%´··¯Zµª¶¶vèСºººø#‡&ã‘H„–f:Ô¾OØ]]]¡ÜÜÜÜÜÜ^߉Dýëÿâóù¸=7GEÓ;õZÎ>VÍårßXÒT&‘¾x"‘a³ÙOŸ>í¹@UUUvvöĉ%Σ=[#h4n¸råJmmíøñã?.~º=yò¤øyZ^^¾»»»££cРAï² xÆ/¿ü²`Á‚÷ü£L£Ñh4>Ÿ7°ç&“ƒ?ú·'õÝó"MeðÞÁ}¹€-++«ªªJSS3555£|ªÄøÖÆÆFñÉ×q BHMM ·àÑsçÎ?ƒòù|‰^Ü#Ññ!‰Ølö[M-=xð`ô¿¾›÷ßz]SS#‘ŽW÷Ž7Ùâ···ãfñºb³Ù8ò“²2€ˆðeÃcZœœ$††`sæÌAÅÆÆŠ‡<J%ááŸäm&xpƒÄT³QQQ<OzôÏ·&ý&à±±qqqƒ*ãããÙlö»ÔÎ<))I"=%%…Ü„~ÓÐÐ000 …Ož<O°³³Ã­ RV¦xHG5ø"’“'Oúøøøøøx{{{{{ãÿÉ™|>W¯^UVVÂîàãc³Ù±±±!ggç^:t¨‰‰Igg'yg/BˆF£9r„¼¬omm AÍœ9§à›]ÅϲYYYAAA£F"TBnnn¸†ì-jkk;qâŽ¤ß ;;;]]]Ó^›qãÆ%$$à{ßãããGE¶Žôaüøñ‰‰‰\.·»»ûĉOŸ>e³ÙŠŠŠjjj"‘(66–B¡3(KÌ€Oè3m#qppèêêÚ»w¯H$ÒÑÑYºt©4Ÿrttìììܾ}»¬¬ì¸qãlllx<^VVÖï¿ÿ®¨¨hooÏ`0.^¼¸yóæ &ܾ}»¼¼|õêÕpð9355ÍÈÈ€zà«Gùpã*233Çÿ¶7Ô>->ŸÿôéS‚  *MPPÌ"€O"@D "€ˆ‘|ðˆ„N§s8¨b¾,Gš)’à‹‰HÔÔÔZ[[¡Šø²´µµ©©©A=¾žˆDSS“ÅbÕÔÔÀdø"tuuÕÔÔttthjjBm>²8Å»œœÜ°aØLfYYtßðù£ÓéjjjÆ “““ƒÚ|= Jôôôôôô ¢öìÙsýúuEEÅû÷ïËËË÷/77·¦¦¦øøx&“éää4uêÔýû÷¿UÏž=[°`xnï²];v숈ˆ055=þ<…BAýüóÏ111)))ðœ/>YD½âñx÷ïß722*//üø±ƒƒÃ;f¨¬¬ü÷ß÷£¿éôéÓ 8"Ù¶m—Ë}/XXXéìì û)ÁÝ¿€O 11±½½ÝÛÛ[KK+**ŠLß¹s'ƒÁ¸|ù²‹‹Ë”)S~üñG<mÞ¼y³gÏ>{öìÌ™3mmmOœ8!‘a{{»ŸŸßÙ³gB|>ÿÔ©SóçÏ·µµ]»vmaa!^æìÙ³ÎÎÎÖÖÖ+V¬ÈËËC¹¹¹=~ü¸¸¸˜Á`0™Ì¿þúë×_Å WVVz{{ÛØØØØØlÞ¼¹´´!É`0®\¹òý÷ß[[[/[¶¬¼¼¼çÖÉÊÊöE׳ uuu ã?þعs§µµµ‡‡ÇË—/þùg¼L}}=à‚‚‚æÌ™ceeµeË–††œƒÁøöÛoáp‘@?EFFjhhXYYÍž=;99™¼/OVV!°hÑ¢‡ž?§744´´´œ:uÊÌÌìĉééé¯Ë<44ôرcVVVþùgMM——WWW×Ç-,,‚‚‚jjj~üñG„ÐîÝ»i4š‘‘ÑÙ³gUUUɺººÖ¯_Ÿ——÷Ë/¿üôÓOùùù>>>\.w»\¸pÁÙÙyùòåEEE‡êY·y󿯯F\xR¯eÀyÆÆÆŽ3ÆÕÕµ´´tݺu&Lpww/((¸páBèèÑ£§OŸvss;~üø‹/víÚ…33f̨Q£àp_èµ|lííí NNNL&sòäÉçÏŸ¿ÿ¾øµ¾§§§‘‘ÑÚµkƒƒƒ¿ûî;œ¾qãÆ,^¼8###11qòäɽæ.''çëë+++«££S]]ÝÝÝ=vìØÁƒ+))3æÉ“'MMM£F¢P(t:}ìØ±â9$$$466®^½zöìÙ¡¢¢¢+W®¤¥¥áw§OŸ>kÖ,‘HòâÅ‹^Ë`eeenn~ñâE2±×2à· ÜÜÜ/_¾¬¥¥µhÑ¢¶¶¶àà`܃‡Ú¬\¹RFFfΜ9çÎkjjÒÐÐ8wîN"觘˜ŽS¢¢¢Ä#<DII‰F£µ´´àD… „pcFÓÕ××+++ãæ–‘#GŽ9!ôâÅ‹¿ÿþûÙ³g\.W  „ø|~9 „tttðËAƒ!„Bx´>…BQTTìc܉¯¯ï’%K>L¥RqJ[[[Ï2àwñ*pþäÿ<°»»ÛÎÎŽ,vmm-^ ˆH Ÿ¢¢¢TUU·oߎ_Þ»w/::º²²ÒÀÀ§ÔÖÖš˜˜477óù|uuuœÈf³ÛÛÛ•••ñ(Š>¦qÓÔÔ¬­­år¹rrrùùùS§NÝ·o_vvö¹sçÆŒ³eË–”””>Jˆc‘ÚÚZü²®®'vttH¿™#FŒ˜7oÞ­[·LLLpÊ[•A¢lܸQAA¯!ôº2¼1'''‹uïÞ½ÆÆÆýû÷ÿùçŸø¾â•+W’Cq€ˆÞÂÝ»wñ)ŸL?~¼’’Rtt´ø x÷îÝ111³fÍòôôÄ‰ŠŠŠÆÆÆ¿üòKUUÕ–-[&NœøºU¬X±bÕªUOž<ùñÇUUU:4pàÀ-[¶èééýúë¯Ož<Ù¿¿ªªêï¿ÿÎáp<<=ˆHðéA¯ >1èµÀg"@D "@èC?׆Ëå¶··KÜΣ¨¨¨  U€‘dffÞ¼y?¥S\{{;ƒÁ˜7oÔ>>xDrûömeee‰t@°{÷nò‘ž}hhhˆŠŠ*))éêêRQQ155urr8p`?ÊSQQQUUeee…ÚµkW{{û_ýõy¬¬óçÏ»ººN›6­Ee±XOž>þæÍ›+V¬˜4iþ”¡¡¡¯¯/B(###&&†Édjii¹»»>\¼ÌÝÝÝ×®]+,,äóù£FúöÛo•••ÓÒÒBBBJKK+**´µµW¯^­¥¥õºtñ É¢"„jjjnܸQQQA§ÓÍÍÍçÌ™C¡Pòóó#""˜L¦²²ò¬Y³,,,®\¹’””„ò÷÷_±bBˆl#áp8áááYYYÝÝÝÚÚÚNNNãÇGýþûïT*ÕÁÁ!<<œÏçÛØØÌ™3GbwÄÄÄ$&&²X,]]]777###„ÐÓ§Oúºº †ø€¡^ÓÙlöéÓ§qIhhhjjêúõëïܹÓÜÜlbbâéé)//ÏápBBB 444f̘qùòåiÓ¦á§ÕøŠ}Ö÷Ú”––"„lllÈ”éÓ§¯_¿^[[›Ëå>|¸¼¼|Ñ¢Eîîîååå'NœàóùT*!”­¤¤äááÁb±.]º$ W®\I¥R ´uëVEEEñ„P\\œ¹¹¹½½}eeå;wú(RaaáÅ‹ ôÃ? 8ðÔ©S ééésæÌñððÈËË»yó&BˆF£!„RSS]\\–-[VSSÚGz¯º»»=Z__ïéé9a„˜˜˜¸¸¸ööö3gÎP©TooouuõK—.Õ××Ïœ9ÓÐÐ!´eˉ¨'$$LŸ>}Íš5"‘èìÙ³µµµ¸ZZZž={¶dÉ%ïINS IDAT%¥û÷ïWUU‰0777""ÂØØxóæÍÍÍͧOŸFuttœ?!´zõjuuõ—/_â…_—.ÑT†Šuqq111ÉÍÍÅQTTTTnn®¹¹¹««ë£GÈ%@DòɰÙl99999¹žo´µµÙØØLž<ÙÜÜÜ¢¥¥åùóçø]uuuGGÇI“&9’Íf·µµ <!$//oddÔó 7~üøI“&999ÉËËã3ôëdee!„ìííõôôìííÙlv~~¾øvvvþþþS¦L™4i’¼¼¼øyÁ`Mœ8qðàÁeee\.·ïôžÁPGG‡Í¸qãæÏŸ¿fÍšaÆÉËËÿðÃëׯ700033‰DÕÕÕ @ 2D<üêèèÈËË:t¨£££™™Ù7ß|#‰ÒÒÒð»<ÏÍÍmôèÑS¦LAIÔƒ‘‘‘¿¿¿‹‹ËСC ÛÛÛ;::ž?.,--Gíàà@vý.½§éÓ§ãeÈ5ÈÈȸ¹¹™šš’mc¾zŸu¯’’Rss3‡Ã¡Óé8E(R( …ÒÚÚŠRSSÃéøŽžÖÖV}}}„††NÇ'f>Ÿß÷Šð)“B¡Ðéô¾îììD9r„BùïC ›ššÄ¨©©‰ŠŠb2™"‘H ò-rT’’BˆÅbõ.o2ÕK¥RLJNbcc‹‹‹9^L|½æÐ³ÒðK:ŽïÊîµÒ:;;ꪪø|¾P(Ä+joo/¿ªª*®×¥÷„÷”ø;::ð8!r?€ˆäC¡P(o\ÆØØ899ùÑ£G³fÍÂ)>|üø±§§'>›677ãô––ñsí»Ãí(ø4O®…\ŪU« „SÄ!ø|þ… ”••wìØ¡¤¤ôã?ŠçI惃ô‘.ŸàñÉ^$%$$(++×ÖÖfeeÍŸ?úôé±±±}l.<®«·­´°°°/^øúú“ÛÞÖÖ†‹DnÈëÒ¥¡¨¨ØÚÚÊãñdeeßꃾh°×fÀ€½ö€°ÙìúúziN„³fÍRRRŠŠŠ:yòdTTÔéÓ§ïܹ#''‡{(TTT³³³ÓÓÓÓÒÒ´´´FÕGnrrrL&3//¯»»û«ÖÑÑA%%%=þ<<<\Fæ¿EB(55µ££ãñãÇgÏžÅç]²}‚ÏçóùüæææÛ·oS©T6›ÝØØˆßÍÊÊÊÎÎ~ðàA}}ýÈ‘#ÉިץK055UPPHLLÌÏÏŽŽ¾~ýz]]Ž™Ølviiiff&B¨®®®»»·1¤¦¦’ñŽuÆŽûòåËFEEQ©TKKKiö&^Q[[[zzzee%B¨¢¢ÂØØXFF&999///22GK!“^Ó¥1zôh¡PVPP_ѯҴiÓp+ÉÍÍ­åïß¿/þEû’’’\\\Þê#;vì8zôh?Öµråʨ¨¨OXÿ§Nš1cF@@ÀÛ~ðúõëø77·'Ož|äb×ÔÔ0 >ŸOþ#ýg›ššŸÚÑÑñÆU9ÒÎÎŽÉd3FQQ÷† >ÜÓÓ³®®îèÑ£ÅÅÅvvvºººä§äååçÍ›Çç󃂂ètú‚ ø|þÕ«Wñ»æææ=Šˆˆ000X¼x1ù©×¥÷Œð6mÚ¤©©yáÂ…ääd{{{‡©S§>xðàÎ;Ë–->zô¨4q­”ÇØûâçç·råÊOX€~»wïÞÏ?ÿìããóVõÙÐÐð™œö´µµ£££ñRJKK##’‹/â›(ß‹;w¦¥¥õcRƒ>Žê°°0OOÏÛ·o¿îˆºuëùÝùçŸ455¿ŽIG)S¼ƒáus”}´¹Ë¾,mmmŠŠŠ4-77÷ôéÓP?_eÉŸþ‰'=räÈ‚‚‚ººº%K–xxxøûû?xð`ðàÁ›7ož>}z```||<ŸÏ9rä¿þõ/MMÍððð˜˜99¹ºººàà`ñ /\¸póæM.—«¦¦öÓO?3FüÝ–––íÛ·—••ijjÚÚÚ†‡‡ßºu !~þüy>Ÿ¯¤¤´mÛ¶±cÇ …Âýû÷'$$P(%%%ÿqãÆíرcРA›6mrvv^¸pá•+W¶nÝêèèØóã¡;wîœ:uJNNÎÒÒ2//oÑ¢E³gÏî{ÃB‰‰‰GŽa±X222kÖ¬Ág¹sçzxx¤¦¦¾|ù’ ‡Ë—/WTTL›6mëÖ­¡¼¼¼ýû÷ãëï•+WΟ?_"JHHPWWŸ={öÚµk<˜šš*##£§§·mÛ¶Áƒ÷ZŸÇÍÍÉdêëë:tÈËËËÕÕ5&&¦²²ÒÐÐpß¾}ššš<¯çÞ_ueeåŸþY]]Íçó§OŸîççG¡P~ýõW•êêj&“ÙÕÕµsçÎ1cÆÜºuëþýûzzzeee kÖ¬quu­©©™7o^JJJCCþ‡F£…†††††òx<33³_ýU]]½çZ233·mÛ†KuêÔ)ggçß~ûÍÂÂ"33óàÁƒT*ÕÕÕ_Î;wÙ²e L&“N§ÿõ×_32ôÊÞÞþ?ÿù•••££ãŸþÉ`0Bÿý·@ ضm[nnî¾}ûX,–@ °³³óññùå—_È£ÚÑÑQ"ò[¼xqDDį׮]+~·iOµµµË–-Û³g^c¯z­v‰øæøñãø‹5tèÐ .|üŸ…   $^ff¦——×Ç¥Lÿ¿ìîÝ»^^^×®]+//ðññ©©©jùÊL:511±×½oaa‘••%‰òóó-,,ºººx<A"‘èðáÃ+V¬`±X"‘hïÞ½Û¶mß²¶¶î™avv¶­­mcc£H$:~üø¢E‹$ؽ{·¯¯¯@ èêêZ³fÍüùóE"QRRÒÔ©S_½z%‰âââfÍšÅãñ’““çÏŸßÝÝ-‰žöÒMqq±ºº:ÐÔÔ´¶¶¾wïî^{{{<%¤££ƒ›ö'ihhäææ–——S©Ôn‰’&‰RRR.\ˆš5kÖ¯¿þŠŸí)“ÉTQQY½zuß{ïg‡…ÂÀÀ@|F}|ÍÍÍTøŸñ#˜6mšÌiËÞ¶ÿ›Q©ÔE‹-Z´ºâË)óš'¹× /'ï6Îår£££9‚ÿ©¨¨ˆC–žoôDñùüãÇ—––R(”®®®žSò---’m’µö\.·¸¸X tvvr8###&“yùòåC‡5jãÆ8zT@föææféu2×õËlø­[·233ñSð¯vœFòút2™,ýY,s¹\6›-©ŸÏïã¹>GR\Ã>ú³I×Q(¼ÌNæÑÁw `eee \.—B¡TVVJþ÷ëö„nÀÛe®ÿknn=z4þ,yHDo{éÙvéfª¨¨¼{÷®ç±èãy ý·sçÎsçÎ…††ÖÕÕ999ùúúö¶<.??¿¡¡?k!ÔÕÕuãÆ //¯ëׯÇÄÄ „¾ùæ›ÈÈH„PFFF~~þùóçß»ÒNf‡¸ººây=&“‰#¿ˆˆ:þ _:&'' àCCCcíÚµÝ.±¿üò‹ÌÄ111¿ÿþûñãÇËÊÊ|||z^S%×9ü»ÿ\ž;wn·[÷BFFFFFFàÒ¥K[·ní6ð ¹*ÈÌ~ëÖ-é ªd_}ËÉÉ9qâÄÙ³g‡*‰,,,ú“KSSsäÈ‘/^ìObuuõnÏPPWWþüù_xt¤#???&“‰G}Ö¯_/ý•$F”Ä"ÒÃcÍÍÍ2o†ÀcWø3¾±‘F£õ¶—žm—¾±©©©çØUß._¾lii‰C®®®.’ÉdIàØÖÖ†¶D£Ñ¼½½½½½«««7mÚ4räÈÞnìJNN ’,S}ñâÅæÍ›===ðp¾òÕ«WaaaÑÑÑï{ëöøøxõâH4%%åÑ£GgΜù„wP©T˜µ|ÖÈd2™LÆO´³³»|ù2¾=??ŸÉdö‘‘ËåŽ1BQQ±££#))I$u›D˜6mZzzºX,nooOMMÅíìì²³³ñ“ jjj¶nÝÚÑÑqýúõ}ûö …B99¹qãÆõqC€Ììzzz•••¿þú+þiÛÏ;™¹\.N×ÔÔ$_*x<Þ{sá¹„Ç ÅO’ÉÚÚúêÕ«ø‰‰‰FFF½= _ y<^÷Üö}tp^|ˆç&nݺ5fÌÔ××"„ž|øðáÇ{Û‹œœ\·‡Oq8ÜQµµµ999x.L¦ÚÚÚž7lgee9r¤««+==B¡Œ;!¤¥¥…ß›ÑÜÜŒŸˆ- ÆË—/ñ·ƒ&Bú¬–ÞKqq±t5Æ'//_PP    ®®®®®N§Ó;::¶nÝêåå…MK+//ïvcso¢¦¦† ”““{úôiLL “É”~¼‹ÅºyóæÇüK'‘H0Fø6nÜØí×XoÏ÷#“ÉöööÞÞÞ^^^ß~ûm[[¾EMMÍßß¿]0Œ;v¸»»«©©mÞ¼ùåË— CzðÀÇÇg×®]C† qtt¼rå BHOOoýúõ¾¾¾`À€«V­RRR²³³{ôèѼyóäääh4ÚÞ½{{Û©ÌìJJJþþþd2ÙÒÒrêÔ©ý¹ÉqÖ¬YYYY , Óé+W®tttܵk×{Ÿ€B£Ñ:Äd2ÃÃÃq” ££Ó[bÖÖV|¯þèÑ£CBBú(yüøñ³gÏÆ³=õ}t´µµ—.]Ê`0TUU-,,6nÜÈd2ñ ;---CCC_¿~M¡PöíÛ‡ÓëêêæååEDDp¹ÜíÛ·«««KfU$Œ×®]»fͱX** fm€/‹Åú«n àp8®®®¹þ0k| º=ðÏ}êááakkëêêš‘‘Ñ3AggçæÎkeeµk×.ü`òþðððèù´ï>°ÙlCCÃŽŽŽ¿¼111{öìùKŠ*((èí5(=999áçˆK>|VRSS===¥?üþPˆHÿRÀßßßÍÍ-;;{ß¾}û÷ﯬ¬ì–&>>þÙ³g.\HKK«¯¯…~{/‚ ¤Ÿæð÷½Z¼ç‹”øóà i€êñãÇòòòÎÎΡ &XXXdeeyyyI§yðàÁêÕ«ñë^׬YóÃ?lÙ²¥·SRRâãã `jj*¹$WUUíÛ·¯¦¦F(Z[[ûûû“H¤ÿþ÷¿hkk‰D–––~~~8q^^ÞÉ“'ëëë­¬¬BBBÈäÿóSíìÙ³×®]ãóùªªªÛ¶mÓÕÕ­­­ussÛ¾}{FFFMMÍäÉ“wïÞM&“ýõ×Ý»wóx¼Ñ£G÷|‘ì›7oÜÝÝ=z„ÿ¹téROOO;;;gggƒ‘ŸŸÏf³† ÒÔÔüêÕ+uuuéU¥¦¦ž9sF(Òh´ÀÀÀ)S¦¼{÷nÑ¢E^^^gÏž½pá‚$%ƒÁعs§‰‰‰ÌòÂÃÃ+**µµµŸŸ…B‘®­Ì ¡Óé………†††=+#]BggçþýûKJJÁ¸qゃƒÕÔÔz¾ÎÎΨ¨¨¢¢"2™ŸÍf>|øÂ… ………8Wpp°““Ó7ðûCNNîáÇ‘‘‘‰‰‰ƒ JJJB=zTNN.%%åÈ‘#>Ä)>|Èd2###¯_¿¾zõꀀ¡P8`À€ÎÎN@­¡¡ÑÏò† rõêÕ+W®ÿøñ㥥¥ ¥««Kú[I•p®––é¢TUUÛÛÛûÙ'’¢Èd²H$Bµ´´H…?p¹ÜââbÉå¶³³“ÃáŒ=Ç ý/¿µµ!$™)‰DÒ}ØGJïHfe¤K¨­­‹‹«ªª¢R©l6[z`L‡Ã‘4WƒÃáLŸ>=99ÙÅÅ¥³³ÓÒÒ’ÉdŠÅâGíÝ»··ÊËì1 ôj̘1‰‰‰’VTTŒ7N[[ûÒ¥KÒ'Û¶mÛ¶mþ =fÌyyy™¥)++ãKÆf³ñ%ÍÏÏÉdΘ1!$yÓ=Fóööööö®®®Þ´iÓÈ‘#­¬¬ú®mLLÌï¿ÿ~üøqEEŲ²2ŸÞR4!ÔÖÖ†¯Ùl6[QQQ:^ž"‹ñ‡Þæ¡z¶ 7 !¤©©9wîÜ€€é”øÛÞHd“;çÏŸïˆH¢™(½#™•‘`nnJ¡PNœ8ÑmEB]]½±±njjÂ[† ²gÏžŸþyÚ´iT*uäÈ‘EEEmmmãÆÃÝÒ³ò2{ ü³À¬ ࣚ6mšX,¾rå þÕ[XX8{öl*•ªþ?BgΜٱc‡P(d³ÙGussC …Âëׯã¡ ==½ÊÊJ¼æ ##Ëãñ„B!ž”),,|ñâÇ ãåË—!--­Áƒ÷ç=£\.wĈŠŠŠIII"‘H ôv™×ÖÖNKKC½yó¦çRuuu …òúõk„PiiiCCCß½”žž.‹ÛÛÛSSSñF;;»ìììÚÚZ„PMMÍÖ­[?ì¾eeee##£„„!>}W[zàªgv+何ár¹cÇŽ¥P(555ÙÙÙ½ÝÂmmm}õêU<+—˜˜hddD£Ñ8jÔ¨ .âÞ8qâ„©©)‰Dê­ò2{ @D½¢R©L&óÖ­[666ááá?þø£¶¶v·4...íííöööK—.9sæÂ… B|>?44´¾¾^:å°aÃüýýœŸ>>k×®µ³³ÃEééé­_¿Þ××wÁ‚›6m²¶¶VRRú°£°{÷î7oÞÌŸ?ßÅÅå·ß~377—þVf¦§§w‹û®Ì† >¼xñâØØØÀÀÀׯ_‡‡‡÷¬‰‡‡‡ŽŽÎòåË]]]«««CBBðöéÓ§ÿ÷¿ÿ500@éëë—••I–æÈ¬¼Ìÿ,$8l€н{÷®[·®çµ€º¨¨(#ü3¡«« á_*ˆHÿ $©?ó,ˆH "D$‘"ˆH D$€ˆ"@D "€ˆ‘@DøG"ââÅ‹K—.1c†••ÕêÕ«srr>¬¨¦¦¦£G „о}û Ÿ?þy¶šÍfnÙ²!”™™ihh˜˜˜øG ÉÎÎ.,,ìVÚßêÑ£G†††111ݶ=zÔÐа  !äææfee'6ø“¨Ð€,,,,))IKKËÅÅ…J¥fggoݺu×®]óæÍû£Eݺuëøñã CNNÎÝÝÝÌÌløðáŸèëëGDDŒ;öå …û÷ïwrr255UVVŽˆˆPWWÿšÈçóáÄŒ‘>ª#²±ˆ IDATªªª¤¤¤!C†\¸pÁßßßÏÏïܹsúúúl6!$‹/\¸€/ºNNNñññb±!4þ|77·´´4[[Ûÿüç?¡}ûö]»v­………££ã•+WzVûÞ½{K–,™1cÆ‚ RRRðÆyóæÍ™3çÔ©SvvvÇŽC±X,CCÃÀÀÀ   sss‡{÷îu+­´´Ôßßoonnž={¶Í?üÐØØˆêèè¶³³›9sæ–-[Øl6›Í655mnn>w›—Ëõ÷÷?uê.°°°pÙ²e¦¦¦¶¶¶!!!\.!´{÷nCCÃû÷ï/Z´ÈÂÂ"  £££[MÞ¼yãíímiiiooÏd2E"B¨­­ÍßßúôéîîîOž<‘$~ýúõ²eËÌÌ̼½½q=%!æŽ;$m ˆˆ°´´trrÊËËCgii9kÖ¬ääd;;»å˗㼆††‹-‚¿  àc+))A988 4oQQQ9~üøêÕ«B/^d2™zzzL&SWW÷È‘#ÉÉÉ!*•ZWWWTT´k×.•'N<{ölåÊ•ººº¡#GŽ˜˜˜HïEfúÞªÄáp|||Ž;æèèöôéSél6;00J¥ÆÇÇkiiíÙ³çÍ›7!99¹úúú¦¦¦øøøÉ“';v¬¸¸˜J¥"„rss-,,Ž=Š jkkëmïÁÁÁ^^^~~~ÙÙÙÁÁÁ¡¸¸¸›7oz{{ݽ{÷àÁƒ***øªïààðÓO?I—ðìÙ³ 6H¤,Y²$-- 'À59s挟ŸŸ‰‰Innîµk׺í}Û¶måååœ3gÎ… nܸcµ¼¼<77·mÛ¶eeeIUTT.\¸033³g[ð³³³ÕÔÔ‚‚‚šššöìÙ# ïÞ½{òäɱcÇîÙ³§°°°¥¥ENNgÑÕÕ7nü]ˆH[kk+BhðàÁ2¿MNN¦R©;vì˜1cÆ?ü€’ Htvv˜™™-X°!ôûï¿>œF£!„&Mš¤¢¢Ò­¨žé{«R~~~GGÇüùó'Nœ¸víZ‰”šš*@QQñôéÓ‘‘‘'N477'âÅ‹’o}||FµtéR„ЃðÆ &888Lž<ÙÞÞžÇã•••ÉÜuSSÓƒôõõÝÝÝçÍ›çîîŽZ´hÑùóç]\\ìíí•””ž?N¥R¿þúk„ººz·Køõë× ‚ðõõµ°°ðòò;vìíÛ·y<þvÅŠfff8àëÖ AüøãçÎ300ppp@áU8ùùùT*Õ×××ÐÐÁ`àÄ /^¼øæ›oæÏŸokkkkkÛ[:tõêÕ³gÏ622jiia³Ùùùù¡uëÖ™ššnÚ´‰ IâÓ§O‡††Âß@°Žð‘áС¡¡Az£P(Ä?¯ëëëUTTBt:]^^¾¾¾§¡ÑhÊÊÊ!<¸‚W³ö¡ÿé[ZZðÀ@||<¾Nã©igÏž-,,looÇWS¡Pˆ·+)))**JÚÕÜÜŒ·KB.¼½©©Iæ®ëêêpÿidd„?TTT9r¤ººš @ Ù]…hiiájhhTTTHúmèС’Nè¶ÚƒD"ݽ{÷ÆGr Bƒ 0`.M2’$Ý.Éöž† &9¸çñÎ2tèP2~ #|j†††d29==]rñniiqqq Bijj677ãß÷MMM]]]’ í_ó#ŒJmooÇŸkkkñ¼‹o¿ýöÂ… .\¸víÚÎ;¥s%&&fff®Zµª  ÀÇÇGú«ŽŽ¼hGªªªÝ ï¶½‹Hâ³¼¼¼Ë—/óx¼;vðx¼´´´àø¬šššÒ{d±X’}+))9vìØäÉ“óòòŽ?.ÙN§Ó[[[»ººBïÞ½“­ðréíýCCÜ̺º:¼6ˆHŸ’––Ö·ß~ÛØØ¸|ùòˆˆˆ¨¨¨åË—×ÖÖ „\]]…BáO?ýôóÏ?ãÅ’…¨2á«uJJ ¾ ¿×èÑ£ÙlöÅ‹322>|ˆ7šššÒéôœœ‹UXXèïï_\\, 1ÍÍÍ%%%¡W¯^áU¢ åÀ………gΜAYZZâ,oÞ¼9sæÌ;w222h4Ú´iÓz‹HŒKKK“’’222‚‚‚rrrÄb1ŸÏïÞ½‹ŽŽ¦R©---oß¾•——G•––v«Þ‚ H$ÒáÇ ;öêÕ+''§÷Æ1’vutt¼zõêäÉ“T*µ¦¦¦±±qÆŒB¡ðàÁƒ<8þ¼äÀ}ýõ׿üòKRRÒÍ›7ïÞ½Ûÿƒnff†:räȃ"##¥¿òððÀëc€ˆð±}ÿý÷;wîTSS»víÚµk×ÔÕÕÃÃÃ]]]B‹/öóó{üøñ† ž={öÃ?8;;÷QÔ‚ ètúáÇ{[¨ÑÍæÍ›ÇŽ‘‘W~…Beeåèèh:¾yóæ“'OšššÎž=[:×’%KtuuÏŸ?óã?Ž7.11±¼¼!4pàÀñãÇoß¾½ººúûï¿×××ÇY¦OŸ^QQ±k×®þôÓOJJJ½U)44ÔÖÖöÈ‘#ááá¡¡¡ôõõåóù6lPRRÚ²e ŸÏß¿ÿ×_mjjúüùs&“)]„ ¢¢¢„B¡ŸŸßåË——-[¶mÛ¶þôÆôéÓíííËÊÊçÏŸïääTVVvõêU“ëׯ:thñâÅèfsöìÙ3bÄ&“™žž¾páB$5{Õ7;;»%K–¼xñbÏž=Ó§O—žµ)//—^”þÍHÒ+ŒôŸ››‡ÃÁ7¸J°Ùl‡™3gv‹þåðÜ–²²rkk«µµ5ôè&** ÆHü½JJJlll6mÚT^^‡þgi‘ø{M›6ÍßߟÃáxyyx{{ãI:¤Á¬ >1˜µÀg"@D "€ˆ‘@DˆH "D$‘"ˆH àßmÅŠIII!‹åîî>{öìúúú¾³¸¹¹Ý¿ÿƒ÷èääTTTôGsyxxܺuëÓöUHHH\\œtz¶%55ÕÓÓóïØ{yyù³gÏþî6Êìg|†ü¡J²ÙlCCÃŽŽŽ«FLLŒ¡¡áãÇ? ï»wï …B¡äCÿór8œœœœ?s¢BDÁ!”™™©¡¡½!“¿¿¿‡‡Çߺ ±XÜÛWׯ_ïgDÒG! ¾¾þäÉ“ýLÜÿJöA ¤¦¦._¾üÚµk¦MMÍŒŒ *•Úÿ,?ÿü³$"IHH˜6mÚ¿öl§Â<à“øùçŸ#""¸\®››Ûþóé $11111Q LžÝ´iSdd¤®®njjê™3g„B!F œ2e B(%%%>>~À€¦¦¦AôVù‡îÚµ+==_{’““SRRNŸ>ýøñ㨨¨ööv …âââ²téR„½½ý¾}û B"‘(00Pzü&44TOO¯½½ÝÆÆfãÆË–-C-Z´ÈÏÏ/++KCCcýúõïíÏðððÜÜ\2™ìååµ`Á„Г'O˜LfKK ‡˜?~·‘•Û·o0€Åb;w®gâ3gΤ§§ß¿ÿõë×...îîî=Ây—.]êééiggçäääîî~éÒ¥M›6¨ªªÖÕÕ±X¬æææ   ¼£?ÔÏ«V­âp8nnnÑÑуŽŠŠ***"“ÉÆ >|¸$±t% B(//ïäÉ“õõõVVV!!!d2¹ï~ÀrssÇŽëéé9þü––:Žc¬¬¬aƽzõª¾¾ÞÓÓÓÅÅEæFI9uuuóæÍ+,,¤R©=Ïꪪ}ûöÕÔÔ…BkkkÿÇGDD…Â5kÖÄÇÇ3Œ;wš˜˜È<‘œ F~~>›ÍVPP 2dÈóÂÍì|DÀǵ|ùò+W®‘‘‘±|ùònß>|øpöìÙ,K$íÞ½;00 WW×uëÖµ¶¶ //¯¸¸8‚ bbbV®\ÙÖÖFDxx8N)3ûܹs «ªª ‚(((˜9sfee%AwîÜ™={¶@ ¨««311yúô)A¹¹¹FFF7oÞ”Ù‘Häèèxÿþ}üÏï¾ûîòåËÍÍÍ3gÎÄY,–MQQA³fÍ*..Æ)8°ÿ~é¢öìÙsòäI‚ îÝ»çáá±yóf‚ 8Ž™™Ç Ž•4AúƒDJJЉ‰IVVAÅÅÅ&&&uuuMMM·oß&¢ªªjæÌ™Ò¹ÒÓÓg̘ñàÁ‚ zK¼zõêk×®ñúõkIÞ%K–àÄ...7nììì$"44tΜ9Aœ9sÆÓÓóƒû¹°°ÐÁÁŽ‹‹[³f Ç#"::+MRɆ†ƒC‡‰D¢¦¦¦™3g½·°µk׿ææñã?ž;wNÒ±†††¥¥¥A¼|ùÒØØ˜ÅbÉÜXSSc`` $dž‡>>>‡Ânkk›““CDlllPPÞ#>¸½H...~~~€ ___üWðů?fmŸ—;wîXYYijj’É䀀€;vàíÎÎÎ4J¥N™2…Åb!„²³³ÝÝ݈µçææ ‚Þ²755ùúúnÙ²ÅÄÄçµ²²úꫯB666 ¥´´´¤¤D[[{Ò¤I!+++<â"™Lž;wnZZBˆËå–••ÙÛÛ«««›››ãÑ{kkë{÷î½·½¦¦¦%%%¡ââb77·çÏŸ‹ÅâÇëëë+((ô³Ó† 2kÖ,„¡¡¡––Ö/¿üRPP@§ÓíììBÚÚÚ–––·oß–ÎB"‘TTTÌÌÌBïM܉dcc#//?OŸ>]UU!¤££#9F¦ŸñèÅÂ… qW,Y²¤¬¬¬µµµô‹/&“É***£Fb±XýiÚ›7ojjj,,,ðДôÄ͈#ôôôBcÇŽ1bDiiioûsGFFz{{#„TTT&Mšôöí[™MèíD"‘HöööxXNÒÃ_ Ey˜µ|^š››G?K_’•••ñ …"‰p(}äÈ‘ÿÿ?š¢"‡Ãé-û¦¦&þ'—Ë-..vrr’Ìà¼x¸Ã×Þ8;;/]º´­­íîݻӧO§ÓéGEEE’@EEåÝ»wïm¯±±ñÞ½{E"Qqq1ƒÁÈÈÈxùòåãÇq¬ÐOƒ–|¦Óé---B¡ÍfKÈçómllºå’Ô–Ëå¾7qo¤›L£Ñ$›äýÉ~æp8’8‡Ã4hPoé¥Ï±XÜŸ¦%''766ÚÚÚâvtt”””àõ’ÒpëZ[[znìçi\VV–Àår)JeeeoKFú8‘zöðcÐ@%ˆHŸ—Áƒ766J® #GŽ”™RCCcíÚµÝ.0½e_·n¼¼üöíÛi4𦦿ܹs¤óÞºuKúêÂf³û¨çW_}5qâÄ»wïÞ¹s¯ÛPWWojj’$hjj¿þÉd²d©D[[›¢¢b·+èÈ‘#‹ŠŠø|þ!CôõõKJJ=z´dÉ’þwš¤ÉøZ¨¢¢B¡PFŽyñâÅþd×ÔÔì;1™LF‰Åbü¡­­Mz˜¤ï’ÿd?«««KZ‡»·ï1•?Ú´®®®›7o^¾|Y[[o¹páBrr28ŽtÇ*++óùüžûsÓh4???&“9cÆ „Pkƒz;‘¾lbDÀ¬ àóbcc“——W]]-‹>|øðáÞRÚÙÙ]¾|¹³³!”ŸŸÏd2ûÈ>räÈùóçëêꆆ†â¼ÙÙÙµµµ¡ššš­[·vttèééUVVþú믡ŒŒ ¼!T^^.óžLggg|£`722âp8¡ÚÚÚœœkkk„––ÖëׯñÕëçŸîYŽ©©i||<^:mÚ´;wîtuu5ªÿÆb± ñ¯ðºº:}}}##£††\ÚÇ )½%–““ÃÁ‡ºº:…BÁ­(--mhhègÅþP?KÈÉÉñx<|­µµõÕ«W»ººB‰‰‰FFF’qIb驟M“ÈÎÎ>|¸$ÁuÎËËõª¯¯ÇûäÉ“ÚÚZ|Œdn|ïiŒ[4~üx„Paaá‹/x<žÌú÷v"}ÙZÛ:`Œðy166^»víš5kÄbñĉwîÜÙ[Êo¿ý¶­­ %¨©©ùûû¿7ûöíÛ—-[–œœìêêº~ýz___@0`À€U«V))))))ùûûÉdKKË©S§â±ìììêêj¼EÚ¬Y³80oÞ<<µ¯¬¬Åd2)Н¯¯¾¾>BÈÇÇ',,ìöíÛ666=V#’Å‹#„&Ožü믿JfúC$åååEDDðùü;vàIœC‡1™Ìððp|•ÕÑÑé­&3±]TTÔ“'O¾ûî»-[¶hiiMžˆ³6𺺺ݶp¹\ww÷aÆýôÓOÐ?üy$„`ÖŸ˜å,g˜µÀ§ >1#½É‘àûJ{(D$øô "D$€¥ìììU«V™››[ZZzxxdgg÷‘˜Ãáäääô‘ $$$..îÑðû÷ïKžZPP0{öìU«V}piIIIýOœ••Õóyí}w8›Í644ìèèø£Û²e‹¡¡¡ñÿU__ßÿ>«cúÞ3ðÓrss»ÿþðß<ð±]¼xñ?ÿùÏ–-[ìííE"Ñýû÷÷ìÙÓÑÑ1oÞ<™éþùçôÿm´ÿ÷îݳ¶¶Þ¶mÛ‡e¯¯¯?yò¤»»{?ÓÇÅÅMœ8Qú¥»½ùK:|åÊ•6løàìþþþø­~’÷ü}|_Þø ;"À碣£#..nË–-’øÃÁÁaðàÁrrr¡ÎÎÎýû÷—””‚qãÆ¿zõ*""B(®Y³&>>¾ªªjß¾}555B¡ÐÚÚÚßß_úݳµµµaaaoß¾%“É~~~ŠŠŠÍÍÍAAA¿ÿþ»––Öœ9sÎ;—’’"]¥;vÐéôšš6›Íãñ~üñGüH´³gÏ^»vÏ竪ªnÛ¶ oLMMURR²²²Â/ qrrzòä “ÉÄ#óçÏo?œ:u*##ƒL&¿yóæÈ‘#Òcªªªuuu, ׿ÈíòåË—/_&BIIÉ××wÊ”)«V­âp8nnnÑÑÑÇï{w[·n­®®þþûï¿ûî;{{ûn¥IR>zôHÒáû÷ïGååå›ÍVPP «¬¬”>%m¹~ýzVVÖ°aÃ^½zU__ïéééââ‚zðàÁáÇÛÚÚÈd²§§'>Ïûí·;wòù|mmm.—,bccóòò„B¡ŽŽNPPPoïøurr ÕÓÓkoo·±±Ù¸qã²eËB‹-òóóCUVV⿎‘#G8p@]]]fá©©©·oß0`‹Å:wîÜœ·/>¢ââb'óÛøøøU«V @°~ýú„øøø:tˆ ˆ¦¦&[[Ûœœ‚ ‚ƒƒccc ‚ðôôÄßvvvzyyÅÅźyóf‘HÔÜܼtéÒùóçwÛipp°ƒƒCcc#A/^tuu%¢´´Ô¢¡¡ ˆ£G.^¼˜ ‹ellüôéS‚ ®\¹bjjzóæÍ¦¦& ‹Û·oQUU5sæÌŠŠŠÞšïÞ½Y³fáÏ{÷î=xð`·¡¡¡sæÌÁ•9s挧§'AEEE666µµµAÿO.8ÀuÀ»‰D!‡3fÌI:Îáp´µµ{æ½~ýzLL Bè›o¾‰ŒŒ”Y¾ÌÒú¨¤s(ŠX,nmmEyyyá"‘HæÚƒ!s‰tëBb±XEEÅÔÔôÎ;îîî¹¹¹Çïyμ·æ’bq%ñg2â}I‹Å}µžýÿÞžÁ¹pÏܺu+33S,“H$<Ö‚·KŸ„<Ÿ9ÑÑÑ’9;EEE‡#ó566Þ»w¯H$*..f0/_¾|üø1Ž-º#\g™…KWã/?o!"üÃLž<™F£]¿~}ùòå’÷ï߯¬¬\±bE@@€¹¹yhh(…B9qâD·ßîÇÏÏÉdâß ëׯ—þg466âMMMøÃÀÛÛÛqšÞn÷\Øðœº²²rLLÌï¿ÿ~üøqEEŲ²2ŸnEáI „¦¦æÈ‘#/^¼ø÷ušºº:Ž®$£A½-8ppp077Gáu9²4™pvþüùþ,’í'‡¤¤$mmí¡C‡~ýõ×=Çþ’šKûKŽšt$×Üܬ¬¬œ““sâĉ³gÏ:T$YXXàÓè³"IDAT!$‰ÂpУ¡¡±víÚþÄÊÊÊ#GŽ,**âóùC† Ñ××/))yôè^|ÓÛaêYø/¿üò×öÀ_ fm•‚‚† bcc/\¸ÐÚÚÚÖÖvóæÍ;w:ÿn;v,…B©©©ÉÎÎîììÄ×¶¶6„Ç …ãÇG¾xñÿÖ”ü’Ö×׿páB¨³³399Úëé饧§ÑÒÒ’šš*³V>ÄÁÊ­[·ÆŒ£®®ÎårGŒ¡¨¨ØÑÑ‘””$‰ÁÔ©S_¼xQQQJNNÆ{722³¸†¡¡¡Ïž=C=yòäçŸþK:ÍÆÆæÎ;uuu¡»wïr¹\999Ü!ݺW]]]]]½[¸@&“Éd2îF™¥I'–txoWG##£„„<Âqúôé´´´?Ù@++«ŠŠŠÔÔÔ¹sçþÑ~ø°=övÔdê­Cêëë ñ±®­­500àr¹t:]SS/"‘H<OKKKSS3==!ôâÅ ÉYaggwùòe|’ççç3™L„P(¼~ýzÏû´MMMãããq{§M›vçή®®žƒˆ2 ÿà€1À—ÉÍÍMUUõìÙ³±±±T*uüøñÀ“ë6l8|øð©S§¾þúëÀÀÀ-[¶„‡‡Ï;÷Ò¥KsæÌIMM]ºt)ƒÁPUUµ°°Ø¸q#“É”þOyÏž=aaannn¡3f0 „Ð÷ß¿cÇŽyóæ >|îܹ2ZZZ†††¾~ýšB¡ìÛ·!Ä`0vìØáî¦¶yóæ—/_2Œ‹/úúúúùùÑh4;;;‰D£Ñ:Äd2ÃÃÃñ•@GG!”™™Y__ollüç{ÌÐÐÐÇÇgÆ "‘hРA‘‘‘4müøñ³gÏŽŒŒüæ›oÞóë“L¶··÷öööòòZ±bEÏÒ¤›™™á?uê”ÌÒvïÞ†o͘0aÂ?üÐ3Í™3gpÔ"Kúƨn”¥¥efff``àí|Ñý£z;j2I:$55Uú®"]]ݼ¼¼ˆˆ.—»}ûvuuõY³feee-X°€N§¯\¹ÒÑÑq×®]qqq!!!û÷ïOLLœ4i’££#ŸÏG}ûí·mmmxœCMMÍßß!ÄçóCCC'OžÜ-¦ÄÉâÅ‹ñ@#¾Ï«Ê,üƒ{àã ÿ?¾l"‘_H222.\¸pæÌéoCBBð¦¨(„‹‹‹¿¿?žBÿ6©©©×¯_?qâD?ÓKª¬¬ìëëÛ[ʽ{÷®[·îƒ'¤þ¡¢¢¢`Öð…;}ú´ŸÏçóùiiiøFÓÙÙ9kÖ,<Ð]\\ÜÐÐ0qâDèað^ßÿ=~mCCÃýû÷¥WdwC„®®î¿-Á`Öð…[´hÑóçÏçÏŸO¡Pôõõ׬YóÁE)((ìÚµ‹ÉdîÛ·OIIiïÞ½jjjÐÃྲྀlÙ:wî\ …²páB¼úX&‰ôéŸTö‰À¬ >1˜µÀg"@D "€ˆzˆ‰‰Ù³gÏÊ’ššêééùÁ{ÌÊÊÂO ÏÌÌÄï.þÈBBBðÓ2œœœŠŠŠ>¬ò’Bø0ð<øÄâââ&Nœø¾¸îƒ%$$t{¢|ÿ+ïïïŸI D$€üº ‚ æÌ™³sçÎiÓ¦EEE‘ÉäaÆ><)))++ëØ±c¡ÖÖVkkëììlÉ»ÔB]]]yyyrrrvvv~~~d2ùÁƒ‡nkk#“ÉžžžóæÍC9;;3Œüü|6›­  6dÈéZýú믻wïæñx£G–<.³¡¡!<<¼¢¢B X[[ûùùQ(”;vÐéôšš6›Íãñ~üñG]]]é¢._¾|ùòe‚ ”””|}}ŒŒd6Yòù­[·VWWÿý÷ß}÷BˆJ¥ÆÆÆ¦§§···¯[·çzòä “ÉÄC=Ÿ uöìÙk×®ñù|UUÕmÛ¶éêêVUU-Z´È××777÷Ý»wæææþþþT*ÕÑÑqñâÅ>äp8êêêûöí“~ȃÁعs§‰‰É»wïöíÛ÷ìÙ3¶fÍü •ž{‘®|AA~gggÏ£™–––‘‘¡££óôéS‹µlÙ²>Þ[ þ¥øˆ®^½ºbÅ üù—_~™={¶P(Œ‹‹[³f Ç#"::ÚÓÓ“ ˆ+W®xyyá”ø-¯MMMÒEÅÄĬ_¿¾«««­­mñâÅøM§æææ÷ïß'âÑ£GÆÆÆA¸¸¸øùù ‚ |}}ãââºÕÊÝÝ=!! ˆêêj[[ÛÝ»w±råʰ°0‘HÔÑѱråJg;88àb/^¼èêêJDJJÊêÕ« ‚(**²±±©­­%âÁƒ–––ÍÍÍ2›,Ùµ@ 000xûö-AfffYYYAšššòx¼¦¦& ‹Û·oQUU5sæÌŠŠ éÊ—––ZXX444qôèÑÅ‹QSSc``pòäI‚ ÚÚÚœœœð çλqãFÜ[·n ÅŠÅßáááqäȱXüúõë3f¼|ùRæ^¤+/)DæÑLOO711)))!¢¼¼ÜÄÄ';t茰>*{{ûW¯^½~ý!tçÎ …’››»páB„Ð’%KÊÊÊZ[[ß[TNNŽ‹‹Ë€ïìì,//óæMüê;*•ZSSƒ"‘HöööT*!¤££Ãb±¤Ëihhxýúõœ9sBÇŸ>}:B¨®®®¼¼œÁ`ÉdEEE—ÌÌLœÞÜÜ\UU!dggWYYÉf³%EåææÚÙÙiii!„ÌÌÌÔÔÔJKKe6¹·Fá÷Ç"„ôôô‡Ã)(( Óévvv!mmmKKËÛ·oKg™:ujZZÚ133«ªª’|åììŒ8p ™™ÙãÇñFܶ¶¶’ÒØlö“'O-ZD"‘F•––6jÔ¨>öÒÌ£I"‘´´´ðK…ttt„B!‡Ã?³6€O†F£Y[[ß¼yóûï¿ÏÉÉ9xð BˆÃáàk߯ÆF: ŸÏ?~üxii)…Béêê‹Å=K£Ñh88ëVéÊKw¬t^¥yóæíÛ·ÏÖÖvРAcÇŽÅøÛ¦¦&¼…B¡H.Zmmm=ËQSS“äâp8"‘¨¼¼üĉgÏž:t¨H$²°°èO}𥷭­ _zÙl¶¢¢¢††Bèüùó=œJ¢¥n¡L·†àK;TèÙäþÓÔÔ9räÅ‹{Kóûï¿?~\QQ±¬¬ÌÇÇGòUccãСCqU%õ”Ô°¥¥EærZ¼²¤±±wBuu5N?räHo{é9ÌÓóh>þÎ|Ð7˜µ|lFFFB¡0::zîܹx‹µµõÕ«W»ººB‰‰‰FFF4MSS³ººZ("„$3&Òlmm¯^½Êãñ:::6oÞœ““Ãårétº¦¦&AgΜ!‘H<ï½õÑÐÐÐÖÖNKKC½yóæáÇ8Î022JHHÀ¿æOŸ> „>|X__ÇcÆŒ#ýâx›;wîÔÕÕ!„îÞ½‹—¿Èlòÿþ/L&“Éd™!—¤» B</44ôÙ³gÒ ¸\îˆ#;::’’’D"‘@ À_ݸqFùùùÆÆÆxczz:ŸÏ‹ÅFFF2#==½ÄÄD±X\]]½bÅ ‹%s/2+/óhöÖºÜÜÜW¯^Á€1À'@"‘œœœN:Š·xxx´¶¶._¾\,=:$$!dbb¢§§·lÙ2 „P·w•¯^½º¹¹yîܹòòòÖÖÖ .ìììÌÊÊZ°`N_¹r¥££ã®]»Þû ‰²wïÞsçÎéèèÌ™3Ç1»wï Ã7¶L˜0á‡~Àé---CCC_¿~M¡PöíÛ']”¡¡¡Ï† D"Ñ Aƒ"##ñŸg“¥#{{{ooo//¯nwa4íСCL&3<<!dgg§££#€Á`ìØ±ÃÝÝ]MMmóæÍ/_¾d0‘‘‘xpbÙ²euuuööö’¹žiÓ¦­]»¶¶¶vôèÑÞÞÞ2ûdïÞ½?þø#ÔñóóÓÑÑ‘¹—‹/J*/É+óhöæØ±c ,žêÿÞÿºý…ÀGœœœŸŸ¯šÿ,!!!ø×ϼÉïÞ½›7o^aa!^Ä*áää„ïï…“|V¢¢¢`Öð±±ÙìÓ§O’‡“B“ølADø¨Ž9²lÙ2ww÷iÓ¦A“0k€O fmðY€ˆ‘@DˆH "D$‘"ˆH D$€ˆ"@D "€ˆ‘@DˆH "D$‘"€ÞPß½{½€O‘ 6 zŸÌÚ"ˆH D$€ˆ"@D "€ˆ‘@DˆHþ/*t€/O{{{KK ŸÏ‹ÅŸUÅÔÔÔÞ›²Ûuò^eÞo œ¶®J·«`3IcµåÈ!Êò4/‰ 8q|aáH]]Ýç\ÃaÆõ”4p»–ÿ§¸Cˆ¨T*…Bù§ô¼H$ …ƒή3üCAITTÌÚøÒ´´´|æ5lllì;ÁÉ{•B$//ÿ GB E^^¾•Oœ¸÷æed±X‘øÒtvv~æ5äóù}'ÈùµžJý§®¬ R©wcÿ¡,_}õD$ÀÇöÞÕ-MíüÖèˆ4 …òk_ "À§ "€ˆ‘@D€ÏVe‹Ãh…”Ìòÿ}F ¡?ôʘ¹S†üVÛþ1#’ý‡þ €Èdò„ †^[[‹#’7nܹsG ÐétOOO„Г'OΜ9ÓÜܬ¡¡±jÕ*¼kmmݵk—£££½½ýG«¶‚yµ¹vlN¥$þÈù­±±] ¡Äµß¤”Õ»LÓüOîÛ¼ç³'«/6*G!µu‰¢³ßüVÛŽ2M_c©=p•@DÂÃw™åìÅFZ¶“›~­òÕ`…#yU2sý "X,þõ×_Ùl¶žžBèÙ³gÉÉɇRUU½råÊÑ£G#""¸\nDDD@@€®®n^^^DDDll,ÎÎçóÃÃÃÍÍÍ?f8‚š 5Pq9çGzcÙÛVüA OѦ­8þ‹@DŽR^oóÕú„§5Í]æ:ª!óu–û…LB»æÝRñóë–©Úƒ"/ü½ùR1Ël¬jf9ûÖ“™¹Dâ¿ã½Ã "ð¯I¡PX,^¸p¡††Bhܸq±±±4 !¤§§wãÆ „ÐÿûßÁƒëêê"„,--õõõñƒÞÅbqTTÔ˜1cÜÜÜ>rå)P[;…|¡ì нMš9^íÁ˦šæ.„Pþ˦ïl¾š¢M+{ÛºäHY[—!ôßêV¡˜J—oá %%ô– ÆH€¿ØæÍ›õõõBl6ûÔ©SÇŽóööIII¿ýö…Báóùø54\.wàÀ8™L¦Óÿ_{wÒÖÇqü9çÄxŒ5ï®ê4†8‘ÆMKieƒÎ:Ý l0Æ7dˆØÁ„»uõÖ›„ c2lFÙÍ`S*Z”eÙÆn¬µÛpaaÔÖ*æd1Äœ$»È*Å9¡_¾Ÿ«¼œÿÉsžÎç ÏcÉ>žœœÔu½££ãà‰ëfÕPT Ç“;o”£=Œ%ªáœË|ÖeÎ>U ²ÝT „xÑëh=ãP$)#D"KÒöijcÕcwõj‰!„p:mmm~¿¿··w||<ªªº¸¸844$„°Z­ëëë‡2áp¸¢¢BÑÐÐÐÞÞ>00àõzkjj²Íw–c±Dêå†Ò¯~º·õâ³k•]½þãrv˜$k%º9qëÁ‡S11‘N§“Édcc£¦iÁ`P†‡‡³…ååå.—«³³Óçómlld›zúã›á·Ÿ¯zýÜéâBÅd”_ò:>xųÙ¾õî̵KuöÓf£¢Ìb¼öêSj\¢*Z\¿¯m !Þl*ψŒZ !ôT¦¸Pù¯ªý¸ß¤L&ïpœ,--åxäÖz$B“ÉT__ßÝÝm³ÙB¡ßïÏd2‹¥««kttT’¤‘‘‘………±±±h4êp8zzzêêê]dddÄh4öõõåòÑg—w›®M•””äxkmo\(ó”šRé̯÷7>ûîÏì_=>íyæ£ép`éŸqËO;;.”9©§¿øþîÛ«EòàkµÖB-®¼{ÞmiòXß¿¾ØPi~§¥*ø{dèëßþ]•c¼ ¶æþ•UW{I$€“›Hòè1&’ChšYggk+H$ Ï.·w‘H@þ‘H‰€DH$$òr÷•ÿçþk+6¦R©#zu©TÊqªD8éTU=ä-4»Ðê}B×õ#Úÿº®_:ã$‘Nº­]y-»Ý¾û=ÍÕE‘H$ŽÖHI*•J$§ŒÒ•f÷^kYEp Åb±H$²¹¹™N§UÃTUµÛí¹Œâ¬h‰On†fn?Xý+qTºÝVl|Á[z¥Ù]jÞÛ¬M?‰ä™ÏçcÖä‰HH$€D@"‡€$I$$@"'ž$IòÑÝÈÉdRQymm¾ù²ººªªª<;;K_€|™™™±X,r4 t8xsssš¦Y,Ceeåüü|(jiiq:ƒÞû*™L®¬¬LMMišæv»Eù§^r‚Ï…(IEND®B`‚murano-9.0.0/doc/source/user/figures/add_to_env/drag_and_drop.png0000664000175000017500000022200013656750211025127 0ustar zuulzuul00000000000000‰PNG  IHDRNc¼Ã sBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{\Wþ7ðon.lÂ- Ä"*VD«È ¶µÔ*Þ/¨¨»‚­àVqÈï)Ð]àyŠtE\Á®w¥ÞÑ"UaÛ‚¼!­¨ˆ"¨„ $A2™\æù#€\Šk[l¿ïW_¯â0“™9 sÎgÎ9–\.„B!„ú}ac „B!„0ê „B!„F„B!„¨ƒB!„BuB!„BÈ0îËoÊ0À0:šiiѵ4ëÔ4£Réh•º¾NG5j•JºúgMƒ\S+Ó(ä´\ÎŒótþß¿s  !„B!ôKcõõaÓêǵ¶-ÍŒN:-CÓº&JC5ꚟ‚N×!1÷ÃbFë<ÖuË¿~¯E©~PNË0öð4r‹,„B!„~[}îÕ¹µ}«æb>ŸÃp8,‹ÍètÀbA—`l6€Åf±‹ÅpKoÞükð¨-ÛÃùFi…2íÛlF„B!„^¿¨Ó eê)ÚŽ$Œ8,—Ãáp86—Åbq¹<.›Ëåò8›Åæ°ÙÀb³Ùl6‹Åb±Y,6›Ã•J}êϰûã4!Mm-hÔ\Û/±­>í±Ø8ý !„B¡×0ê€VSO«€b\Å–ƒm±€ Àè‹aé€Ñ7ø[G¯±€¥ÿ_[Ðjµ,¶JÅ0 «ÿ•…bçvåñÃæÿóéËE„B!„ÐëuNÝÒÂe±5[ ±V«Ð XÀÒ1:ëY~a±XÀ@{Öa†é¸BÿÂ0Àb1-ÍÀf³ŒŒðcñ»DËerº×5‘X„Í@!„úA¥-•R„X"&±,ЯuX,ð¸lÀbë§ë‹Åjþg‹Åp8šÖêt—ÛºB¯içÎ;Ç×jµƒ Z¸p!I’ÐÐаuëVOOO¡PxæÌøÓŸþ4eÊvÛP1…B‘ššúøñc‡³lÙ2{{{¸råʹsç-ZTVVVXXÈb±Þ~ûí÷Þ{O¿‰Ž¢Gonù©HŸ¢MÒw=ô“Žö¿,`™øÎ0ßð?TÖÙ†%2ÍÍŒNk6ñù¨ãÑ*Oh<¸GK)Ù¦¦ÖÛwu9—G‹fkëj­Sø.£ðsö›“çG.º¨~ÎZ¼IQ‡¢=DX\!„ÐoF–³16§@8iã¶_1Þ‡D¿NÔËÆmüÏóA§ý`5ŽÅfƒ™ËTÀ"I–Èf,¡ˆÅå—ÛøäINÜg´V;^"±`¦a`ßÈ`Ü)..>~üø€,,,ÊËËÿõ¯…„„ë{ëÖ-…B1hРŸþùÂ… "‘ÈÕÕSRRhš>|ø½{÷8jff6pà@8uêTKKËСCcM'S<6âp§Yz_×ÒÂ66é- È!HÃ0´Œºæb‰kJÒZÈÒV$g-t÷Wä”49»w>R‰—ŸÝî´"8¨ïdAض$ AÄ,Ü]äí.;sñÍè= î"ºìHHÈæ4‡= ;Ý¢JÒb¢rš:Ÿoô¯|«!„Ð+'ò ^~ôŽ~ܹÃìPŸ®ëÒ´Øär¯m§W;òüø ,µ5€ÔP "&€®)yìIXKÊÒVÄÆ›nKIZOH, Ú•¿°‡j×€V8nÛ³^eGB‚cvyZoWyBSN{‹*ˆ_ã¸'ÉÏ/buvPìŸÿÊÄ䟸¸.Mô~RmQeYGò›–9@—ìØœXî•phµ3Im t8”ä Ù1‰EÎÑÇÂÜIYvLH–šôÌPKÆPä ÷$¤ˆAž½aiò‘2õĵk ;?¯ÎG"‡-‰9•´«¡6ÃBÒ`ûªSIÊ.&Gí.ïrZÖïoÛ³ÞÙpf|É/a{ê ñD«±–"GS#Žú9ó tÀhÓ– ¨¯¯oO2z&&& Óéôÿätó¦ÿ¹¶¶VßË$“ÉÒÓÓÏœ9óÍ7ßÐ4ÝqM.×P–c³…!Ø|£Æ“GkþºVG){:lezZÕ¢ÙÔéLóSÁo { °X +ƒ_„ªLOï,÷CtM~F¾œ*É:Ú]Zvdzѕù%´ƒŸ»G/ÿ7õKË3òÁ}™„‘û‚IDQV Àsðž$ÒÚ™äÙùè·³¶#© €*É,yÍÖÏQyø»BIV9 `ççïJ€ÈÝÏ(¿XNË®]¬ûûéï(I¼ü¨‚l) ¤óÚ¯òÄÈȨëÐßîÿhiAfv‘ÌðƒæîÄÎ~¯Õûñå£7n s%*Ê(!}<Ä@ˆ½ºÒ3¥´¬èšBâç%!Hg¿g^—ÝdPÎ õ@8úù‰k.^“aêª/,9Ø™R• (9ʼnºÞj!­MªlÒšß$ ¤³jäÈ®e•‹ý¶»ÏYÖ5Y—ðKÙ8©Ó]“7Wm‹ÃœƒB¯1ªhGÐŒ÷„_û¯Zµ`Á‚U«8Ü_ðþ{+·t½‘ò’üJk/g}]<{’þf5aêêëL€ÈΚ'íí@è…‚‚ª]à¹.ô’„£—ŸâF‰œ.Ï*÷…bÒu¶YžYBˆý‚…Y±‘‘É5>Q«»5»ÃjKñMðûmõÿì4Xë/ZšyQî°@ßkBº.ô—gÉéòœrÂÝÏ•±w€u—7¨Ç– ÏÙ¿µHììHªFt“ŒSë®õ?!ñh9Û =·¯:Ü,]¸eËl»ŽK„^›·õ”sàe¾W§5®0 mÌåK§cX`°[„Ñjõ?4k4lK«ƒ¾>nšmè9õ §=Æ8::Θ1CÛ¶/†aŒž÷ÀhÓw}ù#FÖýŸMª›EuáŸXmMau E-× Û¸Öb«îàZYËÖ,§ËËž{À,‚`xƒ:—!˜=7Ô/[ý á°0ÔŽÁQÎÝÃ)‚YGA¢¶É)$Iòh¹\Ýt'|þ,ýršngJ æ™¶ý­@èumc;)E“š·Ït1Må ¼g—SSB-£)JJ©|v]ZÑ@8û/$Ê|¶˜çB—ćlÎië» Ám›«C—l]º¡Ü{¡~N"¥hR+N…ÌÏj?Â]AÓ2šgÚv¨„HLê˜&EígB M’Q´C‡“}v²&Õå2 :?…€ªi‘]ka¼ÎÑ”Œ‚Ê]A³´þ»I-rPÐйŸûF¤@LЖ‹Mðæªä„…Žx‡!„^ceGâO•« <çhy§:¹ò›ø]¾‡:·gé¦& Új‚“¼òžk LÛoÛÁk«¬õõNOÕ.Ba[#ÀÔ(E åj¹-³¤˜T_k¢H{/sMÞ˜#0XýfÕVû\Yƺ•$þ­ù¢IA©ïÄ/•ØVR ©¡h €thkËvdç[=´dLŸ5zÚË”ŠI¸V#è”vh¹\M:ú©Ñ]Û =µ¯:·xH×µÛ¶@ÈÆS•úœ“áÝÛÔß¾?lºý‰Ò/°¾`Ù »'•RŽaµoc(îˆÅbèЇmCÚÚµ'P©TúMô½@F$êóüf®í@ë¤W¯Z¬~ð@ýð>áèÔ~’úÿ7Móÿù”ke Œ¶õØX\.0Œ¶®†ÑèË2[°¸Ü'{¿l<’jþ)ôÛ¯ú#¢KvÅçû†:ؘÜõ&ˆ<¢£œ \˜H’–Q­* ä 5X"‘©Ð'îPXç{²çìžšò¨öƒ&mª¿\¨›T률©‰æ‰H’”p£}!-—CëeUž|€özß.?þÀì”Õ]®‘„©ƒrÊyv½>}çÕ¡îKcâ3'%øŠ€šò¬¤tÉFÒ"BÝDÑí—Šî´+S!IW¶Ÿ ¥hRbøi„ØÛÕô›S92_ÿw®¤9•ÂqãÄrCÛb’ç°jOŠïsþ¬õÕF|LŽsh´?æ„z½Én\¬éñ—Škù2p–tªô ÛÆ1ÐM•ruÏ5]Ô{uÒCµKC{ä šš€“¤HÄ{¶¦¤O($€.;Xäðþ¤šÉÙ“¢ ¶¾ãjKì柶*þÀì=k 0µ&yãÂŹwl3P$Њ¦¶vO%¥~±–Œ¢qã„»32Êü;>ÀNžŸVnêºÚŽ€rCåc¸}e EåºvÛ"æå±þy8êã6ËÖ}‹Ã騂gÆð 4ºEÕXõX,6›E°9F¶—ͦU§PR©TßcS__Ï0Œµõ³~³ŠŠ hëÏyøð!XXXè·Òÿó%°MLÉF§e:ä(hû™¾Sì7Z'u¨ÞoÝÊ”äXXêZZZ._4PBO0k4çÿ }Ò€®þ¡õƒóÚèÕÎ߈”=Ýl mý»êÜs`7ÉJ2 d@—¥Òÿa~®tþ‘|-ÍŽÜQD=ÿ HW?*ç”~UYö‘"põq *32Êh  2 hg/;B<ÎÇN––QB-ÍJ+''yKgÇ'–{……­X-̈ÝUÖ5¯I¦|sêÔé¸çEÒ#xµCIrb>@ºú9˳ŽÈ貌˜È#e4ˆÝM¥Y2 Ê2Žu¾ÔßIdÉ‘,) TIZšÌÎg´¸§³^[Þ«-B²0Ô‡>›&¥xOÐWå Ïß¹5[¤»DQYN€<ÿhNÍ‹¶d ìÌqY¨}jcä‘)´¬$3~ã–J×àU=}ÓE_ÚW¤ë긄õ/ð(×>`kª­†iïÛ}W £Ó©Z€a€ºÆ'ªGÒæÒÛ¯^áhu`ͪëå[T´V7qÍ8‹n£ÅœœœX,ÖÇ …H$ÊÌÌ€I“&u Tß~ûí»ï¾[PP P(ÌÌÌÌÍÍÀÝݽ  `×®]Ë—/­VK„ÁaoÏètôý2žÄ^GQ´ô!‹ÇcóùÀb±aT·nOþÛÄ”ï2ªùr~Ë•|Þ ;*ëlÇxcíúÇ‘ÿSÿù?xC¸ƒ$ Ó²MÚº2`›’ä´÷©óß<Ù•,Ú¸/^ýØc4ð~b¯+ñìÞw ¡aÞQ‰3…bg¿q¦GH÷°¸eññ!³éÖ§–9“ÏM;"ßèèò˜Ä¥³(Bäº0.Ì)м7ýȃ!KKdrZäë!ùdžÉb"çÏÒï`mìZgBžŸXéíLø…-Ë\µË{ÏÚ.w>ˆ{¤Ø'Ô?-81¹È5ÌÕ7"º2>qå, ;¯à „kp˜Ïæø•3v‹ÄÎ~þÂ]*ÂymìÚø-ç H;¯°X €¢‡}ùF§’ƬLlû^…[Rü{ûJɨ0YLÌÒY~¡ü #„ÐïÏ”hê±™Þ­÷@²0bUIä†÷3Hkw?/»‚’kúyû–¨vk碘•»+erp^±Ì‘ð‹®ŒO š•¨ßAt„¯ˆ.Ù•% NñˆV‡y¬ŒŒÏt}îÇßéº*tÜÒ˜ø,¯$?çµ±¡‰±úªD® Ö‰ÀocpAÔ†ù³H‘ݤ…~ÙYÏoÉôTº¤GDÊ–´ä]‰A»Û¾WÇ?6e¡{Ïó“ ·¯þ;,¹\þ"ë1 £Ñhö»°õ.å±Þ±³`hÃçr´¢7t\®¶ù)hµ Óéhhµ:ZÅ0º'4SÚÐdmm)xRoLð6c;7@´j«Ûœþ²²²C‡€H$’ËåvvvË–-ãñx [·nJ¥ÒÌ̬±±‘Åb[YYÀÓ§OwïÞ]__ÏçóÍÌÌêêêfΜ9vìØêêê;wŽ5jΜ9ÐÜÜœ Ñh¢¢¢¨sò„8žd°öqîi“Ù‚%o¬«ùꥺÍ€mddþ¿ŸqÅ6Õ«€7xˆúáÞ ;õÏ•’oó[o.üósꛯ€c6€ÑiÅÉ{è;%c",_5 `¥Ž¢~žå 6_îÇ;èu¿ÑV3?’ˆ;öÜe„BèåÉó·F&fÝQt›À:xG…yã£g~]²Œ •³¥ø¾Î_ƒ÷B½::®¶¶¶±±ñ)Õ¤l|:†ùáQ lc.ˉÇÖ46èÇ´µ>fM§†Fg0|€©•Ør€º@Ð-;…Ú9::~ôÑGçÏŸ×jµo½õVû7êè‰Åâ9sæäææŠD"??? ýr“>ú¨°°ðÎ;àâââìì $Izzz4¨õ<¹\oooý\ “)ÞÚÚúöMîÀA‚9óƸé×1?Ñ"*¶éÌiF«e›˜òµÙu°aW h4¢Ð0ªEõSá³Xû×MFãߦ2N­æ9 gr‡8˜-ZfôÖ8`“¤Etœºüžºº£z-/oëVqNHYëLÊ 2 hçP;Ì9!„~I"õIë±~KtQüÒHùª”8_1]–“!vxÍ¿$òE{u”Jåß4(¤ÿÞÑ|§Þµ41b³€ŒNGN+•l­hhµ ¦9¦$›GpŒŒy|>«™br†nÑOù7òù ÚÈâ>'e1 £ꀾWÇÁÁ! à¿?áö—Eõv±+ˈ‰ÝU ÿb1¿Ðèµ",„BèwN^°£Ã÷ŠoŽxݧþè\@`ckÓØø„Íní¼a³@ÿ3ÃfUW±Y ÕN Z P¶ÎÈgÚúyžŒK¿P ÁœƒÐ‹ ý¢÷øa9 „B$"÷µ ÇÖþ~ΧO`³°°ppr¢m1 ÓWZ;IT-ÐÜ ´ 4`t­+°X « Ó>hÅÂG0#„B!„úKÔ±•ÕØeµ£ÝØ:>±è;IXÝ@ÛRNÇ0Œ~’ Ã0 Ãã&v&A/ôI­Vã»…B!„zA/:W§£k7nälûçY‰‘~›¾cÇ„dsÌÞ>€ÅâpYðx[;®³+ÇÚ†7Ì‹!„B!Ô£TËdÜÊUKð›°8\–‰)‹G€±1› €ÅÆ!j!„B¡×/ê „B!„PÆÆ"@!„BaÔA!„B!Œ:!„B!„Q!„B!„0ê „B!„aÜû÷ïc) „B!„~oQÇÚÚºã¿Yø}8èÆ0Lû‡aN§Óé´Z­Z­nhhxûí·±ˆB!„Ð+ˆ:|>£ú £ŽV«ÕjµøÁC!„B¿lÔAè×Ì< Ãp8­VÛ1!„B!ô ¢‡Ãéøo¼¹Ž~…„ÓñgNí!„B¡_$ê ôkÒét ðÛ` „B¡Wu°}‰~+ú£ïØa³ÙØ£ˆB!„^!Ì9è7ÓžmôÏ'À¹:!„B£B!„BaÔA!„BaÔA!„B!Œ:!„B!„Q¡6LíK°XB!„F„B!„¨ƒB!„¨ƒB!„BuB!„B£B!„BaÔA!„B¡>áþðÃX èõ¥ÕjÕjµN§Ã¢@!„úCa³ÙA°Ù=vÞ°T*úM0 £Óé´Z­V«¥iZ¥RUVVNœ8±O9?À!„BdFFF=¥À†^cjµ !„B茦éž~…Q½ÆpÜB!„61ê „B!„þ@0ê „B!„0ê „B!„F„B!„¨ƒB!„BuB!„B£B!„B£B!„BaÔA!„B¡þ„‹E€þ`T÷¶,X•NOM<õ¿ï[oY&<+:±tUîš‘Šò IDATS)ž‚߸:÷kéˆ'˜·¿ÈKÀs¨¥Ç¿8!üdšU/+)ïÛ™”úýu)¤dü´5ÖxÚôx,ªŠï¾—ŸþVgZÿ]Ђ½ï<4Ïæ¿;ôæÒ=_|ë²Ö­§­ù±tõeu—…ÃßsÚ2Œ÷‚»PÜ)_õ£YòbKë~ñQ¤/ßj>ÒLøªÞ\õýƒŸýû¶¦óBrüºM³m_´„Ô¥{>;. îÿ(eé•û–c]…]¦YšsâÄ…Ûu-À%mFO ˜å&äᥠ!„Fô‡§¼žšGN›y©W•oõ%§ta?7ùèLAŸ¶¯ÎÛ›zoô æ|—uÒþ«?;uÝû0$@ØkXÛœNÎLŒ?̪‹ÏX%<¸åsÃH¿Þ™jîØcÔyU‡^]Xmݾý…*N·õêÔ_I‰NH¿-§@4>0ÿÎÉwˆôF¥B¡Ð'N\ùâóÇoúd²¾„îŽ=¨YôÉ„¼Ï ƒ7Ͷ|°'ö”`‚íý|©$pÓ"›Êó‡_©l#ËÑÓù¹ yµ9_$ÝûްôFµB¡»w&Û‚ôøç{•n¼Û÷«ê0tÚ¼Ñu9ù¥uuJžÓ¬?/r(KÏ?u¥²€+pzwáÜ ¶<µôøç[¦¸ÁÒ:¥BÉsò \4Zq|Ç‘Ê8øù¶ Á~»™È±~¶ncŽ˜`Ç=,Uª'`¿B¡î^f®Ž¥«····÷dW ÔŸKÙWÐø¢[ò¬&Î_¾dÉ{}!¿–žž}¹ªß/ô_ªÎK•ŽX2ÕÆfò’1²ãßW·.&Zú=õaÌž=‡Ž&~(KŠN¯ èÛy‚ÀÄ=‡ŽŒs=!îûzCáé\tÄ÷’ð£ß~ûÃÁ@zoDÂOJÕ½½ÑIÒéÉß|ûí·á|\ÒO*gdädR4-þà¶yâgioDÂí11GÏž>}*qž|gDR± €ùÕ\Ñšm{;¸A”—”zOé '¨ÀƒgÏž={*ñC:7Oª2Ð~p£YâfÓËß—²ì»2rü‡c:E Ïéï¸T?%EŸ€ÀÝß~ûí7ÉÊ¿ŠÞ{OeóaLøB¼&ùXì;¤óêøÚ¹q©¸ûìÙÓgnçEG] Pq":©ljâ7gO –›.¥ ß©»Q CF¿Üy´ÍßEô‚a»©©ûw3ÈE |¬¸ùžRçj¸ï¸µçÔ =vhZ€íЧõ1ÿQZOq<²ÚùÈ|KâÎÏ[ï«€ÝøžãถOí/h¡Ep™Z©æO>C· ]ñß·LósH |ð ¼¹i¶åíT𸠩¼SC>ùÛ¦E¶•™ç¨¸\h©¼o7kmÈß>ñÜ>}ø¶Ó¢µŸüí“iÜÛç k”…^áM Ù¹y­‡2cïi©~+ªô¶ÐomÈ'ûd–ÑíóßJa謀ñ$wHÀ¦¿ÎU†±­‹›“> )ïç[iääj‰9!„á°ï›ØN|o†ÔÃ5Ÿî.¾YÚ|¼ÆN¦"Žß›2Lß7"šúáð%ãÇ‹væ–Õ/qɇS‡ñ@0â1ÄùïÊTSÉ®Ùáú×·ES7¼%›éñ§&ƒ@À‡ƒß(ù>ØŒ÷'}'£HÉëjžT<ïCðí§ÎsLJúNJO FÌ›l@J$$%“8ŠD =wü;ɇã]ì?ŒŠ5˜cî*,§ØõöÐr È"ÃcçøoE:¥â·ÃÑ^©¼óï‡:¯6ª²sWa|¼þ¸cæM%ƒÏÝVN¦¿“ЧNwá€ý´Àñ;¯Ê íš*-ÕHf=¿Áª|¼zÇã!‡ŒZeï@¼ãhLŸÿ¦ üðTGØ =Mœ{¤þÓ0žBª¸+ð‘:l „é;¶< ªî‚µúÖ´™ÙÜÕ‘w[h €5Ôe€5g§I¡ŸÃ2øÆp>p™°Þ ÊâMÈUè ±ñÛÞL?3!pMÞËÿª ñ牖,Ó±&B ‚§¢) <›pÃáZq4?Üh>Z0J(\ÿð%ß\ͽ½Ÿ†w¼3åû×O¼¬€ @ºL°3žåP!”Ö5ƒ›‹‡ef~±bòdaóƒ+÷¹#íxð ãµÞfÂ!¨+¯<€¡ú j<Äc„Qr¡´y‚,ǺÚòÀØÒN7”-mÛ9 ÀÈÒÒˆkä6ÄXÿ3WS×¢VV_©6=k„±^CÎ/¬Vûq¸6ú= mŒZêZžwý©:õyÒU ¸v³œ°V@!ôª¢NÆÆ\ h¸\PeÕŽ›î?|¸±üÒ®”sR£¡ÞK¼%Í×ÒÓ.§¦h„á l;lÛºŠËü½¯¥îOßuÒvóRË»ûRÎ݇¡Ó—x ÊÏ»œºËhýúË'WíÎS'/_2Ñk´þtMÚ¯ð Z1F ®½´?å²mÐÇ3¬úoØQ§ž—ÊäÁïo[B¿½fó[| HRßþç“6$\¥h‚µ’$hݽK‚’S4aÓÖ]À×ÏÞQU|¿3éøu ´\J‹{8 ª‚‚g» D" å@m/Ùúóé1ɰwïñè€h9bæšðuݰ5K ë,õÃzzDˆHB.•«ÀÞPÚQŸOÚùõm9 ´LcºpoçEËå41¢ídø¤ I_¥(š¦ Ò†l[8Œ$ EEéf›i/ÐcÑÓ\Û´íbÆ —ÿ® 7ý¥F· r8@Ña ŸKršžjÕ|^Ûæ,SŽú±Ž˜*$‡Õ¶S ø;Æu4M7½ÿðííKµ‰¥àìg[u˜f›æØ|uY±õXu-‡ðt¸ÖÕ¤k0~‘7 —¹:\.—Ûe±p„‡MÆ…bÅd·º+÷\ÿÜ¥ü¹F}'¦¹EöuøðŒ…ÆšúTÃås»×%\.¯}é³Z£˜²EC]M޽¡_¬Ñ´py-úûFm[u¯–Wv|qºRÀµ›µiíðlgGÄù5W•ž?²wÛ©?2[‚;!„^IÔiQ*är.4×^?{½ÀÒEb ú±e–>KxŠäß§J,}Ì#°çï¾{+Wê¿àÙèˆÆòËR¡÷ w{+Î\N-έ»äÞ×€`òLÏ1y.ÑðûÍÆÆ<+­1€ÂØVbo…I§¿à üpõ{ûRRöAÐ͵ý)ÙFþý:ç´>`ÍÁÓKÚ&ÜT_¹*õªò-O ©jJÀPQÕ$ @Sr @ 44!"»Ï  E$AU´n Êê Š´§SÃâ®OMNÞâ"¨Hðá#â“ö$\oß-—ó¬Ð½•?lzHìôPUç&…FG¤éòÌ3uåuÂÑC{Ÿ×/1Ý‘NHÍ««ÃCªÏÅî¥çm˜F'„%ÉwïžgÏUqììÐÎ:P±··ó"D"BŸÔÚb!‘EÐE˜·.44€M)-TXzؽÚ?oö G¡ÕŠ›™ó þô!=>ÂTÀá©ÔMýåijÔšš°‰—Ú%A¦byÀ°wM:.ÖÝ|î†BáŠé SHk"ÏUî8ì# vŸßÜ>8yØd|W\%,½oälËP¬&Œ¸ª­›EݬhnOA}f$0â¾1eÝß:?EN]ÕûV±›FhZó(ï–jœÜœÀ3¶uy×ÃòjÎmH¬ð²ŒB¨[k ï›hî¦ÆÇÅÅÅmÝ}î¾ÆhèÌ%ž¢¶ Qd)P+ë” Ðÿ ¸ÆBc€EsLJ ¶Ô5€â\|XXXØßS¥šZE½~;[xf#ÇŒtá­ºþJä¾"è=8»ýŸÿLÊ6òÿxéH³~}¸õy©WEÓ'?{°ØLž.¾žš§Ÿ€#Ïûú¶TeçòäOGý‡Wúõ×÷T ¼þõuÚÑSÒ½½,ó¡#õ}êÕz¨þ.nUpÒízJN¢ab€ª:7õœ èÖN" ©NM}›ñÓ%²ã_«@Uqþx9ù‰ÁV¶ò§Ø•!©÷TÀ·q&꾆ººPj<Úéy³]̧®[,¾{®¸Z ªþéøæà¸«´X̧åršKD|UÅ÷©×©¶£%hºšRª§ój nŽÓÇÃÕÔ¼j€úëÇó¨ÓGHÇ1bÙ¹¼{*UÅù½W)ÇÔ,½Rgé6ô•ßÈ0ð¡@u¢ þg¡èíž?œ¤µp(­L¯R4>9QÅébB¼äÍÞ¨OüØD¨o^ªøü–ªçµY Õ5i–Umáä>˜#U÷¼gд([€g,Ð3æhªòO>]X«€fiá•:#Û¡¼ #„2àezul½ç{Ûò€k$°²•X™ñ ýV`ëøžÀÒ EY§„7Ee­ÀH(è¸3#Kc…prÐꉭu—+à–_P4×µ¨ÁŒ§–ߺV¬0:n Vbý:íðÎ^æNžÑÏs@õ÷©·ÅÓ7Øw\f3yºdgê÷ÕãE@ˆÇ“_‡-“Êää˜u1sí*Çɰ7xém™ŒMÞ3Õ Ûð+óé1‘÷¢¼AƒxÌܘ˜ æ„xÍø°¸3’DbÇ×lX\–%Ù½áñdDØìù3·lnÛØ~n|xutÄì4!¿.~ îj“Žœ'Ž{/M@ˆÇ¬‰œÖùklÔu…R®Ó”ç7†ù.AÉ»íw&í [G¢“—$îž÷–`üº@ǰˆÙ³Dbшyë6Ì, ‹ Þ"Þ½dúx:.øýÛk’# ×϶cô ‘Æ%¬š‘¤ã̘Èéææá‹Ë¢ƒßO%ÅŽSçM_¿Ý-¤õ¡Ç¢Ë\ÞÉžÖ&Þv!vüÐ2ò=²·r1E¼×òù…²…*àŽt—¬—pº…ÄŸëgSóŸŸWïÒL­¬uåè œpÀXâç¨Ý¥Óü%sÅU[ÞV‡;ÊÅv¹˜ýron÷¹:–ïoúÄ­çäáa§8tÏrÖ¢Þ^ÜØeQ@ÝáÓÛ¢3ÀÈÆ- ÀMÐy8`Ò•[@@õáS_D·×r„ߢÇ-ò,G°Ì?s;ð“€Óq„“–ÖÏHúô„Àèasq²B!ƒX*•ê…WÖ?lšëôÙR‡Î•“úÑɸ­—›]‚>[áÀynR\º”;Ô{·Dy-=½H!œ¼>ìC«Úg›V^JŠK“ \ýç{ ¹ç²«„Þ«W¸”'ÿýØ}îÐéK¼EåçRóªo>Ǫ8éÓT©Ñð™ ÞsnÝ<¿ Ãèt:­V«ÕjišV©T•••'N|ñWxúôé+9Ã_‚Y‘Ú÷/ E½»·m~pÙ†SÛ&`™"„Bè•1111¸œýËìNä¹:hº‹°*;u÷þôb:yyÐŒ.߉#š¸<È{8·8m÷öÝi÷¹Þ3ƉÀÌ}E÷pôÜþÝ©yJɸùA3íy`<ÔÓU-wÓž-ÇN#ôZQænœ1+*·”?}'—¼#ÁœƒB¡_CŸ°ñÞ\oø7ç|?§ãc‡©+6MíõåÌf¬Þ<£ËBcC ÍÆ,ýtÌR|·zý<7lȈ[ðn4)™º!¦ËÈ;„B¡_HŸ°ý—š]ÏJMÍ«3rýøÓ¥ö8 í¯ÿ `C!„B¯¯_y›!êŠsGóêÀh¨-æ„B!„Ð/‰ûëíŠ÷æê¸x,q„B!„Я€E€B!„¨ƒB!„BuB!„B£B!„BaÔAø/?À!„BØ Ä¨ƒ~wx<|l9B!„ÐAuÐï‡ÃáóùØ·ƒB!ôÄf³ŒŒzi r±ŒÐëžv8–B!„êš…°B!„BuB!„B£B!„BaÔA!„B¡W‚ûÃ?`) „B!„~oQçOú–úM0 £Óé´Z­V«¥iZ¥RUVVb± „B¡W°!„B!„0ê „B!„F„B!„¨ƒB!„BuB!„B£B!„B£B!„BaÔA!„B!Œ:!„B!„Q!„B!„0ê „B!„þð¸X!„BõBý¸îñ¡¹4õõXýG(0ÅÛbé2ž…%F„B!„^&甯dT*6ŸßK«ýʦ!ó|cî…¡;w÷ô¾¼Ô6yîçaaaaa±gk{]ãŸ×›_èóS¾/<,ì³“Ôøž!„B¡~åñ¡ŒJÅ15eq±“ aq¹SS]ssÝý=­ó2Q§öznp…\P\»ô*â Ïö½åË—Ï÷ñð=C!„BýÊ“ Ùl>Ë¡b|eþ=ý¶ïÙT]{í²„Þþžww§]®š1Çž×ú‹KG÷¥Õi¸–.žšö`ô}lü9åpÿÜì³Å ÐŹ·æ\jú]]æ­p©«þ³±ñÛëÃçðrcãÏ)‡ÏŸ)È;{­ª…+tõZàŽ¨_R7«yƼÞ „B½ö´ Ž[ë·X\®úq]A¨ïIçÒ5Xz¾íà:YÊë—«Zûuä—÷¥Õq‡O_¾ÜǪüš¢=Lñ¸š»Ùå3üÇ AQœ¶=õîÐóß¶EqZzy§n¡Ö•Ï]x/˜ÿ¶¥FQ”–VÞŒob :Î&Åï».ö¹Ø—òŸZ„Ø‹Çg7nܸq¾±wUX!„B¿¬¾öꨫò®)Árœš5¶cl!ýV®ÔßÞå×ê„ã¦{ŽÈ.¨¸¶5OÙa;áÛ3<ÇXÉ•Ù×ÒëcfzޱjnλœVU[Û ’®;Ž›3cŒ Õä]N­ª­RÂ›ÆøNõ7¼®~o_JÊ>Z⢹¶?%ÛÈÿãV¿E§Žêâ:K}Û†˜²3;Á û¢QŸ©ªÂ¬“'3.Þ-­§ôŸÒfð(7¿9~¾£,°€B¡ßcÔQKsoµ´doËn]Tœ[Þìð¦q‹²Œ­<à ¬£Ž@$®Œ-xc.€FÓ}/[€±‘@ ¾Ký”È}EìKÙþÏ,µÆvÁÇKGša™ôŠo>ØÞFIa;Güþ’”7ø†\ íÃÓOαíûÖ…I7ì/¤:/¥©êÒK¥—2¶o÷‰Üù-¾ƒ!„Ðï,ê4—ç·€pœÿLþßgåÝÍ+o~s¤‘À@¡¬UªÁŒ§VV)±lÿ(i‡wö2wòŒ~‘s'Ÿ‘$ñk Ül~ý¦ª`RìÉ3ø¡ùÅ©ª.Ý¢_vÛ›I+Öì¯hý<ÙOô™ä4ØÆê«Ko]Ì)¬  :+:0?5I€EBýŽ¢NsyÞ] ÇxOi¥_b«ÈÎK¿›{·qä{WK¨ª»œžëà-(ÿÏu}ÔÁ™€´3fÆŒþr,6~G-¶Å÷äNYZø²_ïöðËÍ­9Ç|JäÎØwÄ”w¿ZøÅ- >#áäŠI+cY#„BýZ_KÐ\ž{W‚á®ÂgÍÜáã„÷sï6‚•璙Åšûçö§f+ÇxÛbÒAýT9_rË›_eT냎ÿ–Î9@0|qì'ýÏY…UXÔ!„P?ÇR©ðQPè·Á0ŒN§ÓjµZ­–¦i•JUYY9qâÄ>7PÛK`ÿIúÉ—èÕ©Ú7gæö ˜¸-?i_Uuñä—ûO^ºYQO6#Ý|ýe…ïð¶K÷}0w{5S¶e&ô4©uÆØ|âäŠÁðøÌâiÑ¥`¾y8¿­};30­ÀÜoúf§úœíÑ ' «i€‘1Ùû|;¾¸ònæ¾Ãi—.µÏ•ÒÆi”›ß¢9ÏîY±lð¹@Ø||âÌŠÁ ¼›ùå—‡s oUS„¹ý¨‰sþòñb7‹^KCyóLÒ—û.ê ƒ´9iÎ_>^4©uªŠò晤/_(,­§€0wšè·|Ý_|÷0:Py7óäᬜÂÂÒjŠn= §‘“æ,^þ[·¹þÊÌÞ·À)òüWXÀã›'¿üòdÛ¾€0wr›2ç/ëæŒj;sÕÝ„¹KWدþTžûAPÞÜ·¯°¾^IxEmYað$&}0w5˜/JMß0'ì „ÐA±—Ç‹Ÿ èz•òá™Í+¢/uœiO×Wf|±&ëÂ'_m[Ü©Uÿ¬4”U™›G\ :•EÖöœKá'vÎ1xr㊸Ž/J×—^ØqáRõ‰½ÝƒÂãœØi¥Òõ·.TܺpøË)‘I]ûQڞݠ¢iåÝ}ë·wšC×—^J‹»”u1æD‚ï«y&š`ÔŠØ„½ÆjM·…Læ„BÝ<¨Yý×' &Ç`i?xKÅÖ<íK½gÌBsï“/ÖÜ Ÿþ¿ÀŸ š^öÈ›žþóã ZÁôrìã¹÷£BDÛMúá™Í_®7ÿ9~nƒÍùªú‡—Nî˸E@uFtœô¨Q|°õšãôÅ¥½egIÇi±Wo=M|~ëþiåÃà õ@Úl`ÓÞ€W^Œ Œh@ænþËý½FÙšÔWÝÌIÛŸVXP‘±q ±ó«Ín‚n§¥ª¿•´.îE8ù,š3e””Õ7³¾Ú¡èÂ/¢²¼ö}`k 4nÞ¼ÿeîæ¿Üo’­@¥|xáð—Y¥4]˜ic»=îEŽô[1Çk°”sÚJªt{\–ßÎ:ÆåŨ%mÎfÊ¢E>nÃmmºúáŬdzJi¨¾½x#‘žÔ1´<{[râ¾Ü~‹&GúÍù`â(Ô?,ÌÚøR=P¢ãr&%x øÃÿ²3}ýpßš´z°Y¾3iŽ „ù«‰%ªÒŒœÖwa’›9þå „êÑÓGÍ9)êÀ>z•ù®Ô«Y¶S­> &5­þéHÍ¿2Uú[ºÿVí²ÁnÍ„ NY½1¥Å²·Í{kë¿÷ÏÁ~wJ™8Y1ù IDATq-yêœmU{„‰ÿäÿõaêL&Ø&‡°¶¯oðÛn]ûÙƒ/ÁzG8'ÿÏg¤öË*sÀtÅF+ï!l k©Ô-µ9`pÀàØ±ÊojÇ äZY±©úi*«€Á±c©¬Z#—!¼<õ7) <_á[ƒx–<Õ±Ï~ÀpÝW‰§™ŠæSÛd§Ku¼‘â᜜ïÁå-ÂRÈVßzü-J«ŽçÞü_L‰Á¨ƒP»Òí_9%æD‚ï³–¿ï~nkfFÒõ9'KU£že¸RúRF©jR÷oèy–tF.šòbcêèÒ“'ë ·OönYÜy4š²0askLpú8uïŠgæFšäûÁ +WT§E}9çD÷AUTV\8-ß»s]ûP/ðòõóJ˜x¸n.|üm÷~‘Òýû»ìÏ×ÇÔ¶£/D„Ø/Ú»oCû‹zùx ^Xäµ$$£èKí¡¥5é´fêÃ_TnŸ¤n[Ü~$“¼>ø`âæB²(úÂÉB¥——¶¶ ­Û¶6ƒm_ÙS*TU¿ŒÞ¨Gú„/ÇÁk!„žGWšIÕN#Ç b•‚ùß‚Ll{™§á´ŒûÔvɃ‡ûµ®Çbè·ÛdÙ#ÜýpsžŽ7ÄÂÀ ¥/ÒãÁ¨=p,gï&é¿Ø.!ƒ#–‘§6=Éúù ïÉı*5°]|áVuñS–_Û&`jìt÷çÕq-Oãõ¨Û¸âI•šã¾Áþ¯ß(ÝÔ@CHH–†•êÞ˜<01ÄÂ%óÑ#bˆqöʰlO‡üuÀ­Ü÷ˆíõ!þFY ÍoøÚüuªnï¦òÿ<‚Á Š ·zø±¬05v©­ˆüX­¶»ÝbþðÆ­Îý¿{ Øø)DèÒ/!Ê·KëØÂkùD}ã™*-m\f;eÑH}@¹xòV÷ùnÏ’ŽÛ¢‰Ï]ÕÖ¶¯/…)±]sÀã‹_fèG‰Ù»¢[ [0êã(?}Cõ™ý· νsúdK‡œüQ‹Ù묺TaxÆžÍò.ûã;ÍñiïÌ0÷ú¸Ó‹òûÌi}ÉêÂúg/ù8'I¤Ol·Ò°˜´!Ö‡ /|™ep²?112fq—3¸-o;–‡¿Ì#TwO&ÄÆÆFmÞ°nÍb_™!û iÂÉ?æ«H/üQ„BϧnR«eÊc œ,ØÐxìŠF ðô–"ãgü¢í‹×{ÿ틬 ¯-Mþ–êtâtûCV a飸±±¸tîjÀ”0õÕLåÁ@€©±Ïpæ§3-O;½×òL<œ øŒ²J Úë™MMN¦M??É~ ûÿìÝ{\“g‚6þKÉ$ÁJ›8Jê!h…­mè!ØJì´Ðv‰;cºí€³n;ØÙw+vÞwªv¶Ð»ŸÂö'Ì;’i˜alÍtjh+i;¦Õ!VI­­IE…!ðý#á VÔVÔëûñyòä9Üϸ¯Ü‡@×o±‘@|_t~tòÐwæL/θ¹ôù¢O8C–<"îú°ÍtæpÁþÎWŸEN[ðÀ¨>V+ài¨¶zÕÃÛu’ŽH“‘|é•bYj¶fÔîÝÖ:Kðãù«ô)²ºà±ì³{Õ£Ò:K7Fã†,^)B³ð¸Ü>`tyÄéõ#÷'V$ÈWð`õ*ñx›t»‡ð´š«­¡ÓËR9¬Iš¡•ë<€­¶±U?ª…I¢Í#Zˆj9j\Ü.w¬¸Bn[µaèà"Q\JF^~Ž–O%"¢K$¼E4 }-]"gLAlôÖÝ·ôÿM™Úurê@V¹ø«YaXÏ®qÇêôùýým#~ö¿:ó·,ûŽë«Ù·¨|žoêÃÐ9 |}çƒÛ†Ý"ê³wõ7uõúESo‰œÀ‡>p÷CGÒú/ D&ú†‹0,6rêŒgWÜ?ð‡õ‚/r º\ð9áÕ¼Œ:DƒuÙ͘Ón‰úG û¼¨SÇh2ÔØh+ë¸ IG}éš©´£wïuXBµmIbâ8ÃCÄÊde°Òï²ÚÜuâ4‰c„Hœ·cOÃ(Rޱ?‘´SJõUþþMú<›ô:ÍöàÿäêñB‚X©Q¢Î ÀnvzÓbF¬¦L‰û²Hû/Ë·2¤¯¹¾bƒÙ¨É((ÈIfÞ!"¢¯5u‰N:£¥ãP Ð~Á÷EË¿ä~unèë‘‘¡1æ«ÂˆÿŽ½Â•hñOƤßnïzße÷c>‚Ýßû•/˜m.@d˜Ð×ûU×eMà´tõµÔ~ñ/¯õ Mh„oô0êÐ UÒõ‰ÒKXmœÉ¥²±ß,õñIÎPÃ2FÖq[ –à4ÕÚÌ $È”²1öãêoI’%Ž;¸^$“K·ÝŒh‘ÊEc¿K$¾ilR…dì·>@$‘Š. B™Ðçp„öaݸ"iã×”ÇéÕÂ$’JÇ)E‘høwIåµW—6¸ÇÈYú‚¼±f–ˆÑUÔðz[]v›Å\gØi´ùœæŠu[rwíÈæh""—ð–ðe?˜™ó@ßþ-mvÿáûîsº߿ӽó“^á-ÓV¯»å«ÿëü}KpÝ gÆ|õ‹ ~LFNc¯pE³“þ²¯ç‡?ˆþ^dïׯŸá «ÇdÅ?뤊;Ü£“DžtÙ¾º¼=öyÇ»fÕ-÷Ôž=ÐraZÂŒÜU‚?–œ³½òÀ¹_áXFºÈSsò3¯dºX4‘µ¥ê ÈböÁÓPkóªû'i¶T÷'Œ„‰Ô†EcÍ_ìó¹C•y©dü£IC©Åçvї먓‹.u›no"Ûu»½ƒ£—&º¯‹s5ëëÇ8»:7/ù"‘T,ŽQÄÇ(â“uz}IöZC3|Ö² ;5Uy ;DD4Âm³^ýý,@_K“g÷¿9þhíà?éúíaÏ®SVЦ½ö÷Z_þâÂ@CÊØ¯ú}}âOýɼŠ{ÿòÂX+ŒüÓ<íÿìV [ÒÒ¶áŸÛÇ;Ò¯>î°?#_ÒrnŒM É'^q,Ü0«xw üèúÂý_%àò*[Ž·œÿ5[¾úåù9€Ðçûè·gmãM=ìÜÝ_]þõ`Ô!ºlRu†Fd®÷Á387Û`Ò‘¥f¨®nUø’¶&šd…4x<ªÜ­ù_Ûè&‰‹™Ì<·(Ë´ºÂ 8« ¶œÍ‰Ì:DDÔï‘WN<þʸ¯:Þ9ûÜ;g‡Wè»6=q"F¿Š¾C¯œØàWc¬0èü‡g2¿7öKög›âÍ;§2ßøÁ½é‰!ºæìŸ‰Î—ÿÛÉò¡¥ædfMÿIœiý§'Z`páûk'3ûOü³í'Bÿ÷l?}`ûðmY‡ìÎßý_kŽÿ;ôܯ£ÑT}õQý°¬3$éè•W¡",Qãó¸Gµwôó¹C£UDRñ$«}‹zå‰äjõD:ô]íQ—4¼â(µ‰’ §ð46º¨à‡€ˆˆhòâdÓDW’uÔ™Z €`ÖÁ¤#O×_•îMb™249€«É5Þè{ŸË#SM¶'[ŠdÊИ—ÕáÌÓm7U——–m.©½ØäÕO6õùø ""bÔ!ºa‰2BYÇl´{“Î5_&…F¬\»,®±WñÚMMÁÿÉÕñÒÉVBJM|ð΋kR_L»¡¸¬ÂPSg(7›uÜ{(UJeÞÿDDDŒ:D7pÖQéµ2p™ŒÎÖÆPÒQe¦^­®MÒD:˜uš ÕMc5‹¸-S°ú-Ó¦Ê'] IÕ«Ô€aÌ€·©DŸ–™·¹|_“û*îy‚mHÒ„ôЄ—Í;-cˆ£¾ÂÚŸ*U|Œ(£Ñu2Rdà4™Ì¡¤“‘rõqH5¹ú`¯4gÅ–ÑY¡µ¡d‹1˜tr2&ãœ`1ÚœôÐ 6›ZG¾Þj*^ghvÙÌuåfÏU˜U¡l—Íåàf§„ZÐêò6T6ŽH;^‡©(¯84)fœ^Ï›Ÿˆˆhrã´tqÖ•m¶K.­²,Ugç¥]•<"VêSe5šw–4“Ž^s5¿ðÇç­2­­q¶²Õ[2²õZ•\ÓÞh4”m¡ ³~súä%/Vç­²¬­qκ +m©©ÉJ™Èçv4™ë ³ IÝœ«¾ò¨&S)€fžºÂBY¶V ·[¦ÍÔ^BÙHµE©– Fà³l[³¢"!E“¨Tʤn‡Ífi07÷?…(.«(CÉÑd:ï¾û.Kn>›±Îv‰ëŠ\i9iWç‘÷âx}ºÜPá„/XVgh¯r×&©ºp×V¬+¬±ùà4ŠÍ†‘Õ{ÍúWŠ2•“vêã¡'à³+¶+F¬!OqGÁU)7ibFªÄlôpÖW×¥Æëµ—t±c´E•[% kl>.k}µ~Ä*unÉV>?”ˆˆèzˆ:Ë—/g)Ð5qáÂ…¾¾¾ÞÞÞÞÞ^ŸÏçõzOŸ>}}žŠR—*¯¨¶Mˆ4ÉßÀÔ1ÚÂÊ}ú}Õ†£¹Ñæ Nþ%’Å©’u™éjÅd¯zÇh +÷ešªË«–F[ÿŒq™*^£Y•‘võæS&o*ß$Ú\f´º|D2•&AvéÅ£hme­Ñl±9ûŸ€*‘ÅÅ«“Sõ×CYÑU6cÆ…@`Š€¡&e}2ÈÆvŠ×ëeÑä‰:†%CDDD“‡ó?K¾Ú÷VXd$‹bê=ß5ý¡4Åú c¾Êi ˆˆˆˆˆÆóÃM‹zÏw]X“Ç…@ ÷|×Ôˆˆ™?Êo¶ÄK3sþ«åç~]á>ð®¿õ d’›1cúCi3”%Œ™9Þ:ìÀF×.‹³}c؈ˆˆˆˆuˆˆˆˆˆˆuˆˆˆˆˆˆuˆˆˆˆˆˆuˆˆˆˆˆˆuˆˆˆˆˆˆQ‡ˆˆˆˆˆˆQ‡ˆˆˆˆˆˆQ‡ˆˆˆˆˆhòDÿ±WŸ{ß|î±üÌ^xWù'¼ÿÎcïí5Ÿñ@·µô¹çžûå{m#–}£Qçêk;¸gÏþÝ1weÖê,ýéˆåDDDDDD%¸ìwv7¿³{÷ŸšÚáŠ$ÍÌ!/tZÿ°{ÏÁí=Wܱrõ“wÇ ýÇ^}þµ¦+V'8öìor#|îŠì§ÆëÏo?ðÆ/žû ë…§±§b÷©™+ŸÓþòÀrócI_í=ØŸõüÓ @ç¡Ò_ì>5cÅs…Åòâ]cþn¿0Bx±DDDDD×Ìå¶êøÏ+Þlj¸cÕS«ïX»û_hÙ»½âýXº:7÷‰x÷á7^Ý{Æνgl‹_•õh|xÏ©ý¯ïoŸûXÖý3̸?+÷Éùékèò¨ï¿cŸlîÐí8èfÞ—ÄœsíƒÎ™½¥¿*?ÔÖÿc‹ùÕâíjaŸC""""º¾£N{Ó70óáÇ4‹ݽR¿¤¿u¨åà¡s€âᇗÆÅÝýØý3Ñ~øƒþê¯`þcúxx©hw´!V¡ˆ¡˜1¸máÐåQ³5÷ÍDàóƒ?üŽƒÍÌÔ,eÒ¹ö„³ÿî釱w{ù¡6¿¿Å\±}øª§‹e£M—ÙÍß}®€TL(ÒX)ޏø»ÝÝoüâ¹7ú×u´3f#".ùëÿØ¥(Þ¬i:èè:ÑÅcK¢yÝ&…軳ŸAùö²—þ€âÉÜ&D±Lˆˆˆˆè::ÂiÐãvw@[‹»ùÌ G±2wu|¨F>#§®¨F½äþ¹5o4}` ÿܹ2éL²´#ÜûàþǘsˆˆˆˆhR¹Ül3–ÄKsÚóžÕj®ÙÓ-MX:p˜:ÜÝ-Ö=å¯îÞ{jüyÔ„B€¶Ã‡­Ímþñ—G%¬ˆ¸îy¿óˆg•z’¥¥1çÑ u„qe­˜'uÙSñúA&ið@ìÃOgÝ?/pp÷ö²Š?µHã~ì"Ù$bÞwHÑÓ´çõ½Ÿw_dyÄüûãè žI‡ˆˆˆˆˆ.Á¯×{¦ÿÌŠÿóýî%O=Ÿ½(‚WíqáÂ…¾¾¾ÞÞÞÞÞ^ŸÏçõzOŸ>­ÑhX2DDDDtå“þ»Ïk:qØø¾3V<<Ÿ9‡ˆˆˆˆˆn„¨ãw®Ù½¿3âW>ýðlNeLDDDDD—â:éÀF7"v`#"""¢oÎT1ê1ê1ê1ê1꣣£££Ýìï¾û.Kˆˆˆˆˆn´¨³hñ–Ý`؈ˆˆˆˆuˆˆˆˆˆˆuˆˆˆˆˆˆuˆˆˆˆˆˆuˆˆˆˆˆˆuˆˆˆˆˆèæ!`Ðu­«««££Ãçóõõõ±4.Qxxxtttxx8‹‚ˆˆˆuˆ&iÎ9wîœL&‹ŒŒœ:•M”—Êívùå—·Þz+ÓÝÀX;¤ëXGGGll¬T*eΙ©T*“ÉÚÚÚXDDDĨC4õôôL›6åp"##}>ˈˆˆuˆèÆúäOÊÑMDDDĨCDDDDDĨCDDDDDt­]Ö lymÇŸÛ€¨{¼6Evy;îùì×¥¿sD?ø“§’"OÕ¼üúñð;²~’:kBÇÓñÙŸß½xº tHò•yÿp;§”"""""¢Ë‰:®£ÛÖÛiý¤eÙC±W:aµ v™þ{‰ˆž>± Κïн{ñt Rõð÷#½â¹Ì9DDDDDtYQ'à²ê@Ô}©I'ªÞ9z¨E›ª€Ë¼ãµúNù}÷„µœìè ‹^”ú䣉Óã,ºÅ–Õ¿¶ê„ zæ7÷~p¼Í Dʾûhêí2g?y³Öt¬Í ˆg.zH÷XbäÉ_—þÎÀ^µuÛ‚Ìuß=û§ß ´êxNÖÿñC'Û¼€8Z¹ô¡ÇRæE"pò_®:9ýªåì]ËïûÞßk熣ë„i¯ñ{§‹šsgªî¡Û$¼1ˆˆˆˆˆ®o«p}bíDtÒsÝ-G×±Cg¡Ð$p6v.Z™õÃ4¥ íØ›°zÆ_>&ϧ¿7Ô\·êÑ;ÄN랪ú³ÀÙwªök›~Ïãÿ~Gø¹cüýÁŽð9ié‹"Ì\þÄ¿« Nõÿ·êÓ=sR¾÷øÊåŠ.û‡oü¶Þ´YtÜ–ºjùmb¯óƒ7?t!pêÚ콪GðOêî;î}çTï """"¢ëÜD[u-–ÆóˆNPÀÛ»(û?;èÌž;°™è¤å‰³§cÖ²…&»ÕqÌÙ³4vì勯Úz×Ƀ§{1Mý]õâY‚…Ѝy§¼âpÄ÷>¾f© 2Z&AämÓêptî›;] 2vnìt:ðì!k07õ1ÍÂp ¶÷èÿñÜÑOÚ–iasRÒ’†"O¶=Ø.=çØjóÇà˜ ?XÅ´CDDDD×gÔé9õ—ϼˆJH{padðçwß³Ú:Äs‰ß¯=ìÀœ¿ýÇ¿OœÞòÇÿþMcàbÇ(ŽŽÄ鮎Ž §£«ˆ’E]ã¼!rá#?\øHÀãrœüä]ãÁ#{ë—þóß*ظs©9g_Ï}?ÊJÛSùÛ¦""""š,&4V§ç´åD/¦/º÷Î… U ª&Þ}G4zO<90ö¦ó“?Õzò¨éc^@‘ ÿšå#RÇmwÏ:î³|vâh}õïþðT½Þ^ž®Ûú^ ·ãl‹' ‡h±6ž<;dè`ÖÒ„éÀ©wöþ峟~ø¦é03)Q6^téøËoJ^zåÿrº3 ˆ”E ±˜1ç’\õUûzîËüþR™@0=aUæ2ÔWýùl€%CDDDD“ÀDjõ=§,'{yÛâÁïí§ß–0}ÿ»§,'=‹çbï”»ê÷aG¯8zIêß%HE3jùØCÿ%‰ßû«vï_ÞýÝ@¤<áoýîl ¾»â¶7öŸüóëÿ»$uUº¸¦îx}í‡óžZz÷œ÷>¶¯60ýŸ¾;xF±)ÿð½Àß9ôçßÄÑ –ëS“dÀ85ðéw¦~×±÷ÀŸ«~Ób?ü¨6–Yç’îÙ²üD>PXÓVýxA@p^çgo×Ôhln éìÅ÷èžX¹8êú(õóöwÝûáµ=Œ/?<¼ú=_ÿOa³äÓõÉßÑß&ž`ZîüÇ»tK_˜smžeìq´D§ ÿÀùááÕ‡£wç̹µIÛ¡Æ¿o˜¾#gnô1kæG²ò”ßzÉ[#""¢khÊé/WgKã=Ä“÷¤‰øÎlù¥¯|âĉyóæM0çüµü—¯›õݬ'Z0kšÿìцšŠÚ3‹ž)Ì^"Ÿëlʬ›úo?^xOx0oX3?ž¾óïðü¯;Ò’#þrÌsª³oî=ó~àýò×'{¾lë[°bÑKK#€À§–ÏÙànÃTDFf<>뿦%{ë¢Øù^Ïþ–>tµ<ÿûVÑò%{òîªzrfû»Ÿ½ì覠·û€`ζ¬ÄÊÏ_ìøâ—Vïà›ç+ªO3¿2ï®=?Y¤ë8óüŸ:EsäËÐQs:ØõÔ{àpÏÜ;bç èí> Vl˺£<}Ú§ï}öÛheYÖå釜Ÿà9yògïöꟼkOÞ]åÉS ¿ÿüý@ @o×>È_ÊJ¬üñm œgþûtß‚åó=eþŠÄÊKË9Cô}Úpj¤²2ï®=ÏþÍ süÆãÞ¡[ó}vâùÃÈúÑÒ=ywU>*>ðægµ¡cø‹xnå³ ™‹Æ:5~:‰ˆˆ&oÔ™~÷S?ýÙs£{©·œèÛçïn bVĘ}Œ:›?lޏ+eAD%>´@xü£3~Ì^¶( @ĬY‚Ù÷.˜ "6Vè?Û̱˖}G`šò¥ðì_Ïø;Û¢SR”ÓgÝ£Ý}4˜E„ –ÇEÍŠtŸíöû›ÅbݲYBQ‹J4hmöž;ƒ›UJáîìšÏ"fEøí5üõ‹Nÿ´…+ò´vÖ5î8%JÂzÛ{á9Ýò©8úG ÄD²˜ÌéýËáó>×Ý1M \š¦ÀñãçÆú Ãu S¬SGI¦¥Ýî9Ýv ý¢°Cwxtuìë ×/@XxÚm$QÓ¢®»M @4=<Úëó pÜÒÛf§ÅN½@¾"Ì]ç &ŠÂSÆf IDATð´EÁ½‡/ŽD[×…‹&â/Wo=øÈË¡ÿöÈ¡…’hÏÑRû™§- ¸}yü êˆ!/>=ìÆùŠéSHæÌZ&îÙç ^PÑŠ% Á8§FDDDW;°ÑÍD1K€¿èö£ƒ¿­Ñ1H(ÎtûÂþ¥aÄè "*bè»üç»]݈ˆX!¸»CënJŒ_îæí?ûYèG7fwv#×µÏYå=#¨}û­íµ¯uG/XöýLÝßÈ®iØéò¶õ†ÍÃãèõŸ?—[Úl*ñá‚hަD÷×çEâ©þ®>‚?ú¼~¦Ì|Uˆ^¿S—Þ%‹þõÙ]²»O¶œŠ¾õîÈà4'S$¹ lª0 DýßÚ´w]è:÷ÙÊ—Ú{/t]@46EÒ_ˆ"Œ;MIHÔ¬Ò'å·†Öïk³ÚÖZ†}C4÷ÞE/ Nÿ¶Áöêúf͉ù§GæÞ?8YË…®® "EXÿ• ›~ápW„…õó™º`ô©£ÑˆZín¨·ëV/˜„Àÿ…iw}„nõâèt· Ä nwwDTÄ%¥‡@wg70 üînA„pZ„,ÇÛvw³"€î±â—4*"âÎg~‘­¶/×ןËBíê…ZàüV–UT(7­¿ëÚM#×wêðÙÓÓ¦ÿ[ôTI›P5cgÎÜa=²\ôö¶yð`¶éŠÝÆD‘t|Õ0‰€l¦~zKíIûo¿ç–è¯?Œ©3¦‡EF/¨ÒE ë“Ö1ÑÓ™=]8¸»1Z\„KÕ󖪞óûÞ:öïu’ÊÕaeÊŒÈ)¾®þzOõL‘DŽj?Ÿð©Ñ„q¬ÝT„³zâÁGÛË^ÿø‹N?üçÏݳ½ìwÍ‚YˆŠ»7®ûã·Ÿàw}üöqá‚e³/­¡¤åÀ»Àù£Žcö]³…Q‰‰±mõõv?ÿ oŸ‘&Þ5N3áìe pìÍ]~þ³î~µæèù‹æ*w7Ðùñ«/þϳ~ÓfÍŽ¸–…ÚÓýч¶õõiž³@Éœ˜Û»\†“~xjßdpô|µ‡=>=µ§±`Qø`‰œ¾,Ú[méôœß÷adaô\€ˆw…Ÿj8UÑ1mÕœKù^fê‚;"awèèàsµüG•ýPÏE~û]ðy/ãAPÞýU?;tÞ <|~tØð­ Ü!ÅéÐ1´<{À;M7gôµŸè©Ñ„ñO,Ýd¦-^ýÓÜÙ5µ5/ÿ¼"¢ãîÒ=ûÔ2å4`Ú²§³ÎV¼ñÂϺHãz&sñ4øÛ.ác›ˆ·_Þboëì–.^õô]QF=úÌjwÅ«?ÿYD/ZõÌ*¥þqŽ(ó™‡*wÿêç¿ ˆ^ôhæ‚ic7Q‹ï«­-úÙÑÌ羿ì㊗VãB(˜µè‰¬Äo»I§óËÕ[¿L™5szÆ“ ú`…>2öß¾×óïj\é0eî‚9ÿ;@Xø2œÉÝyþË®ÞèÛæ¾°H ôÏL ˜–õwʶºÏ/½L¹Uù—V„še¢Þºàí“ÇãUK/m´Ÿä¶ù/Ýóù/}èeô!L|wòüÛÃ÷3"dÞ½$âÿ{ϺÒWþdìDÚUÄË–Çì¯;¶rŸEÏx6=:²µy/´øÏ_z€xZÚ÷¦EŽÑ²4ÑS#""¢‰ºzÏÕ!º¾ñçê\ugßÞòË¿ê~±þ®i×YQ«¥ç:ùëŽúIÂý­Ö:ÿcçç¢ïÝñ¬â†k‚¾OˆˆhràŸX"š¼iàӆ摷fÜ€aà>5""¢É‚؈hRêj]ÿÿŸüT|ËÿyrÖ­<5"""š8v`£ÉåúëÀvÝbéÑ}'ˆˆˆˆˆˆQ‡ˆˆˆˆˆˆQ‡ˆˆˆˆˆˆQ‡ˆˆˆˆˆèê;z„¥@“Ç„¦% """"7ê,_¾œ¥@×Ä… úúúz{{{{{}>Ÿ×ë=}ú4‹…ˆˆˆˆ® v`#"""""F""""""F""""""F""""""F""""""F"""""ºyXtý’H$,„Ë6sæÌ'N°ˆˆˆèz7oÞéþûïOš+pyóµÿüͱîqßÒvpÏžý8ºYÔDDDDDôí™P«NwÓž?9ÅÊçrˆÀc+Þ{u÷!´»ýˆ@Û¡šÝ{žr‚™K{òÉŽòç· xãÏ}õBÞ|Ç;»_ÿSS{νoÕj}ÂȆœÎc{ߨcn:ׄό׬|â±EQ@wó;»wÿ©©=®HJ×¼çýsóž*úÉ"!¯i"­:þ–#Í`îŠ;bûC†0öŸ<›÷CM¬m¼ºûà)Á}Y¹O­ˆ=wdOÅÞ3˜ûXÖý3̸?+÷Éù8V]þf“{îÊgžyb‰ÿÔ»ußÁ™½e¯íoê™ÿhÖS«s7ímûÞ¿ÿÌÞŠ7›Úñ®~ò>˜ß?˜r&‘Îc{÷jc9Ñd2±VwH¥c½(]²ú_ç ¥±±QBÅ3÷;Î9΄KŠ =B17.6žúÌ¿®FÏŽðûãjŽ4µîö/l×ñ;>8ØÌ[õäƒ €Âøo8™[– ›ÜÀÌÔU.F¼ éÐkGxá&Oαþ¦ìu‡@x¨Ïd/åp+""""º£N„4p··ucþèV•@ûá7_77µ÷Œÿþžæýo¼yÄጥZÜ@x´TÚ›T¸Û=Ýݤ3"@+Å7¯Ü¤É95=+òžMÚ½}{9ÓMéÀ&Œ½cn8àØðŒ?´Èæ— ~þrõ±Î3{wïoj~ô__øÕ¯ž{tÆXÕâ#¯¿qØá_’õó¢_½ðTü!+"V ô´µ£Pw»;HcgDH#¸ÝÝhkaΙü-{_«éYñL–&V(Œ¾;û™‡±÷Õ? ÜDDDDD×ÒÄZu­|l^S͉7ÿóWMIKá=çŽljGøñŠˆÀA?»åØ{ûßwpÞܶ$N(Ðvø°56΀@w»ãÐÁ7›@wË©–îÁF¡â¾¤ì?±çõ÷÷I[Þßë$ÅÎ쎗îÿàÜÞš÷¤÷ Žì=¸Œ9²éêÆ>üL0b /úîìçüB£""""¢É ìç?ÿùDÂΜ¥w)úÚÏ}q¢é¸ý”Ã%T,ùîOÿÝíQa‘ß‘~y¤É~Ôòñ‚e«Ó#?ûäÄñ£î…+õ“Æ3ަ¦VåcÍøÂzâøáŽv(Ó3–º?>zâÈ)éÒù_~p¸#2þeq’¨…w(ºÏ~v¸áKãñ®KþÑjíqØ-·)ÍGo<ÜÔ¥X¦t?ˆ¹kÅ]1a¼~×øî†}Í‚¯s¡_ooooooggçœ9sX°DDDDtå¦x½Þëá8ýÝQQBø›_¡ì îÈ}þ‡ql?¸¾]¸p¡¯¯/r|>Ÿ×ë=}ú´F£aÉÑ•».z‚µ½÷Ëâ=ç¤KV­^!mÚs¨‚%I±Ì9DDDDDt}Gèû²Ÿp¼þæÁšíG€pÅ’•«ž\ÁkGDDDDDãº^:°Ñ ˆ؈ˆˆˆè›Ã©Ìˆˆˆˆèjòù|­­­ííí===, úZááá3f̈‰‰‰DŒ:DDDĪí5¨6Ñ%Þ Ÿþù´iÓbccÅb1 „¾–×ë=þüçŸ>þü«û±eÔ!""¢+­Úž8q"**jÞ¼y×~4mwww{{û‰'æÍ›Ç´óíkmm æ@0eÊ}­ˆˆ‰DrîܹÖÖV…BÁ¨CDDD“¨juu+(WXm &®«^m¢KÑÞÞ>{öl±XW‡nJ­ õ NŸªTˆ2Š·X-†z‡N?|&wG¥~å¶fh^Ù_$®-.­0Y]>’8.'?7Mª²{›JV®6¸$é»jsÝåÅeuf›Ë@¦JIÏÉÏÑ*Æ ­µ™l±Aµé­JÝ@s†×Ñ`ØYQkjlöø‰èÏkß·³Ô`´Xžþ“LÑçä苪!oÙ:3^|«TY_R\n´:}€H¦Òæè¥nKeq©Á\*W§çnÊOë¿nSöŠ V¨6½µCU_²­ÜhqúˆäêÔìÜ|ýˆ#mµT—•Wš-Íe”¬ÏÎÉÐ*J1Tæq¹U•éöÕÁÝŽºYúÏÍdØY^Ý:7IœZ«ÏÊÍLÒ¨e/×=^æ”­Ú½'ÏWWRVn²8=$rµ6{}¾>^:° yÛʤm@Üú=ՙЫj²ØB¥'‰KLÖeäfŒ7ÞtB¥—°é­r[‰ˆuˆnŽú U¦V@“¡ÆF‹­¼Ú®ÏS]M$€ÃTœYciRõ¹J™Ëfª5š otVíÈVŠˆÅ"Ÿ½vóê‹,%5#U!u5ÖV××Wl0Û6U•ê.õaXîÆÒµk*ldª„x)Z›¬VcÙ:“i}åŽÌPmÙQ½îñb‹Ä©5J‰Èç²Y¬fó©qGe¡Z ˆeÚìU>SÑêƒDž'Ç+Ç~\¸£6/s‹ÙHâÔ)ñr±×Ùd¶Ô¬õFó‹»‹BýÉÄRŸË¶sÍÎj¯:={½^ä²Õ×ÕYŒÛÖ6ùªª³•ãµ¹Ú@”’›:~!Äh K´Ã³…ióš uN@$OHIVн.»Ål®)6×™ ªJû#©X$|nKE^q-’õ¹©2—µÎ`´‹×ºEEòŒ²ô¥–šk ØS y"‘Ü–²µÅuîÄt}–R»¹®ÎRW¼¦Ñ¾«2?q ÉV®]³Íê$*MŠR&öÚë­Æ² ÆÚU;Ê ûƒžH*<»©pu™EžªËI•Ãi1V×› ³âÚ’þ‘­ ›×¬ ›&Y!u;,fKÝ6‹Ñ˜»kGv|h·Á¼»æâÌ2£4EŸ½^.rÙŒÕu–ºâ5NQղČŒtsmÙQBjºJ"V&J¸6?¾®Î¼ªj|.§Íb1–YŒ¦õU7ÒÍÍÛXipJâäk¹Ñ¡Ëœ4˜l­Í\iÈØSyƒ§¯ÖÚµl±¨ öTö˜½E+ó\EûJd}¦)o_ù·Þ¡˜®n{Ããç‡WKgª¸½÷¯ï}®^¶xzØ×m¡·õ“úOEêeK¾~UbÔ!ºiØ•6 ) ˆIÎJYêu•M9…ñê"h®1i†ä•쬔¼•ÍÖ²bSúŽ`Fk5õ•Ú¢äÐ_èl}eöã۬撲íÀ¯©}•n¨°ª¬];ú[@ZM…«7­Ûò«“«3•€»¡¤Äâ ªvèû묡Á05%µÙ•™ @¡Í.TI-Fk3”«ò ÓB;5ðßQ]¸ÅìH]PùŠ~°‘ª|Íê2›qË–Tu©6vÀZV;´23ÔÙl±6——7f i$qJv“T©‰¨¸´š¶Ö9‡¼öêu™Åsqaµ¦ä»y©:3UÀVo›Èh{u¹@\î&ý‰ã3 Ò%€Ï\n~~q9ÃÊA­SðØìãïÔí öùS*D¨Õï4ûYƦ!±R_#`­4Ú‡_Ÿì¼Áù ¤ªÔøàÑfçh—&¦ÆðÙ›\Ã÷%I/zòÒäìŒ8¶j“#Xó4T;¨ Ò†œºT—¯c¥%tòâàÁˆRò‡´*M-`·8ƒ÷€½n§Ù¨ÖeYMšœ¿9]8çì//õú\í/øåšd9§Ù1n¡{]6YbÂÐ9)¤êÜÒ];vU$2çî†r“'N¯Sk2S%®ZÃÐO¨½\Ÿ””]ÛP™¯×'£ÏÜ\k÷¿Œ(JKÒî3•æé’“’’’’ÓÖíoî;¯ÃTšÚ†VŸ_ÞÐ:ð@mÑZ]ð…¤d]vhóÞ¦ݲuõ>ض<20w¢ÛRY˜šŸ]«Ï+mh²ý}E¡—Ò²‹ö5™ò“g²GkCy~fÿuk7W‡æt÷Zò““t%¦ê|]RRr^ío3GN·ïnÈONÒ6¸¿¹_ÁƒK“›•“â3V6rêEÅßj=ð¡­£··ãÈ»¦OìŸþ胆÷M¦÷;ºƒ·Ð—G>0½óλï7|r¼ÝÏò"F¢af­µ.@¤Éc"NÈH•S¹yŒ?ïµvøüVbE²Cë¯ýµPõðn0RU²€ÏÞè¼”³›}€(A«ösŒnÇ>Ó¾êP«…X‘¨MÓé‚£DÜ­­‡ÃápØ]Áª±Û=zCk£Ù @®MÑ{G¬JU‹ØÌÍC7'S«eÃÏO& V­=ãîÃçõý]à.µj3ÙH4©#{ZÉÕ€fó°p%ILz}DÁÃ’Ä«‡/•{áøÊ<^;b'ru¼€Ól÷pš,ªtõˆþDÒ„tŸÕ<|–ìQÍW™€Ï啹±@\ê¨2OHU‹OcÃð{%.%qØžÅÒ`WDïøWZ,KTpUïlzpbE¢:Q©`ÒÆ ³O•™ª„8!C'óË-ƒw”HÀZRbÕU8x`ÏÖwÝ–µÅo(€zŒÅ;ÝúÒ}î¯Ú¤¶×l\[:Ös¹Ü [27T¸Ô»vWí~%Gi-[·¶Ôî¼–âì-5­š‚]U{öTí.Òú궬-nôBŸ[¹+K¨ ªÞÚ_š&…·©4{í6“8½h÷ž·ªvå'Ú+Ö­) †oSÙÚ5vUî+U{ªŠô¨ØPb¸¹½EkÖ•YåY¥Uo½µgwÖ]W¼zC­£?•»L¥µÒœWvíÊ×þm–F4,ì¹-³O–š¡–~s¿‚¢ôìĘÄL½´~hÑ®¤Ú]ª{îK¾_£¹ŽŸèè…¿åÓOÏ Uš—ßﱫ³ÅDÅlt“q›ËM@’š=ô/¹813]^Sá4v4RÅWÉFT¹E2™ð¸œîë¬tʥ಻½¡N`ásØ=¤ Ù×BcuiY¥ÑÒì¹² ‡«Ñ²ÄÑ;”)d€Óçhu9n‰B:òÄp±þ6¡áN^÷:å¸ޱ‹bY¼ p¡ÕL2r¯€O,q¬£N4N>r5©\ x|.—€Ëî ’Ò…VÛî~gŒuý¹†—¹ÓX’ß8bÇ›€Óæðbh3“L:òÜ‚…~‘U¤oZ_»f›ÕZ±ne…Hž ÑhµZ­6YÉ”d7VÚ ~1E@¯Ïˆ3”U4´&›ê<>§ 83‡B›W ©[g¬´¨‚„äüü`BV¦­Ï­0n©«³çÄèç0–=q¹E…iJPn.rn®ôÙÝPÆ$äVVåˆäŠàT„ŠœµaƒÅh÷&Æ‹¥ÁûG$‰‘J·¹ÌÐ,ÒlÝš§•Pè ¶ÚÌ« e¦œiR›¡Ö‰„M›2“c¥¢p«/se±³ÿ·\YS’º£(S-“–¿ÕÙ°²lgµ]—'ðùÔùº`·Sy¶V²ÖXnÉ/I–hm0˜}òÜÌDñ7÷+Ø"ÏÜ¥ LÏPFýjkk·lÙ2bazzúæÍ›y;_÷zŽ›ß>>øã´Ë’g&L•Ìž‚ÈHA ÇÛ׋s˜~ûÌaRù\Éñã,DbÔ!ê×j*7ûxÌ›×dû[îvÀXc”ÅâÑMÁ%>ŸoHzô4΢õ.%z׉.:ôÀ3jDª”U©êx™L"à1o+®sM¬,|¾`‹Ë賋ƒéÇçñ>é ‘*ä"Ø|›ÝK­;…Z^Æj …ÊÓuµ:½ˆ¤£K[ŠÁ‹¼(¢±¥‚Çâ~|]¢ •¹Ïf®·sGlïrˆã3Ë÷$ÖV”Œõ6§µ¾ÆZ_S¶E—’SX­¾Ùgó6UšE)ùýóÝ)S3UeÅõŽ´!30Æig ”*Ôr˜íM.£Ž2%nàI• 2Ô4:}ˆ9Çž ’ÔÁöF©:¿DÝÿñr7VìÜÜ`µ;]ýŸ0™wôﯽÁæƒ*=a0Õ+µj‰¡¡¾Ù›g·y W¶ù)4éqØæ ½Ñ(S†4ËÔ‰ÔYíîИTƒ­™â„,½ÜXQajMÖÅ Õl°@Uªü&»¬æ•IÅ·üð¢‹N§04í0çÜ8Æ«ãïòC˜`H𿯂©¡¦Š„ìžDŒ:DÆrkð®fۘɠÙPmÏ>PÖ;ºÊ."Ѱّ½£Wó ­¡MýTª;{/Òd/ß\ã$Cç?‡g'&u‚s†Á;ºÿˆ×ëšÀ_ô¤â´*Ô[a«³´ê.òÕ­·µ1¡îˆBýâÆh %È®Ö7Î>÷ÈÒöz]C¢LpŽ7ßXR¾þh*šx™'lÝÿMO0“¨Ë/ÑåÃíh´˜MFcÑÒ\_¶ÖæÚU•Ÿx3OÁæ¶V]ðÕ¯[‘4ly¥Ñ®œJpXS¡H*eÐÐ'uHù‰Ä"Àçöif Þn@,ëÞpTæ­ÞfU­ÚTT(—JD>ó†Ç·8ÇýnÀµñ‘¤#¶àöw)Út)•I×ÀEªa=xýÝEÒ!ßpˆãõÙªŠbƒÑ¡Ë™«­¢Pƒ×7Â^WnOyeIÿo/¯¥peQµ]Ÿ÷uÁšv˜snnBÁTøúú€0}=þ>„³PèbQ狞,Y:uñScoeqÐ54uêÔ¸¸¸otÞ&ƒ¡ÀÐ)N‡hÝ·ö‘g]ecNáÐÊ ËæòbØãH|­™|X×/—Í…´aõ·£³+ÖXµ`™J«Ëeõ 1¼^/±Xìn²8ÈtYÃ;Ò{×DKC,SÉׇ _°ß–ä* ìˆÑèÕ°Z`)«hÒŽ7Í•»±dõšQJAi‘^)–*@3\Ö‘Å>ÐÿK¡”]¥[ÂÕ<ª´=ŽÁ>kb™R†z§ÏiwC=üØÝ»€|B‡"–©ä€+Ø/îÛéN&U$jõ‰Z}^î¾¼Ç7šÕå–Ü’ä›7ë¸-å&lÕÖ­ú!]}Ömk‹ ÕMw¨×åb±;Ô´%34ØøÜn`t×N‘H&‚Íåëë–j+ä  IDAT¹E…ºP®j· ¨D&d»ŠF ›É¥pKÅ€{èÜ.÷àï)|n÷ÐöÁ`“Ž}á)Yš’£=Yj°J´¯$Ç|c¿‚+ .õ¦¡w$èÕ®ÂÊÆœü¯w0íX,望ZØ´YRXOŸëŽUDø;Nò|[¿Léº:ú}ú}TïcqÐ Ík3Ô:18Éô¨Zyr†Fd1»ŒK^â&9Ø~°Na«·€*yXMÜijpä)‡lºµ±¾€$>ñRªÃb¥V%ª1ûk-ní¯üݦ¼Ìgì®Í—õ×d†w»j5î4M|àNL¢F›Ói2Ùó†=Çk«k€øTÕ•W‰cRsW•­©q9 ë¶$ì*JUô^Gíæ¼ ËebRUª f›ÇRkó&Íœ^»18I@ªêªýek2ÚÜÚ!5I¯ÝdõP&ËÅäZµ¤¢Îc«5·ê‡ájµÔÙHµzJML¢6Öfg­Éž=âiD­ û¬ÒDMâ?ã³µÑdntHS3µÃ*¬ŠätÌVŸË}å=ä®_­¦r³Ož›©MVúŠ,MÉºÚ knQ(Ñ6››Z³•Át7™¤*e€ìõÍî´ièûFdª‘#¾ V&+Qo5Ù½êào·¥hmQsjɯ4. l4r 6@2FÜ+’U¢[䃓º¯L! PJ`´ÚÝ Ár˜ëšìž&V&«PÓXoó¦õt§¥Ñƒ¸”ñ>81Úl­d­¡´Td“¥núÆ&$p[*Œ^uѰ™;Ä údo~¹emö¥lA§ÓÝÄ„±·/šùɱïØD"é¬ïȧX&t1ìâH7 ·¥Üè6ÉôHRu¶VxL†á“¹ª‹ ƒs,y›ªK‚Ò¨4ï,®u ™Èhg™€D›qi‰AªÎI—¾úââÁùk[JKÌâôúx@ªPÉ8 ö!Uä’u%Žà”îÁ^y"‘8X¿¹G©ÏIvµÝ;¤œÊ6=€$=çªTyĉù¯d©¸ŒÏ,¬lœ>Íë°ToÎ\¹¥ÞÄe”„òeŒ6'E¸jŠw™‰ÖÛd(68‘&ë*v¯ñ‹v^m¯½n[µ @‚^£|vvkIñ¾Ö¡æmÛ,äú¬„‰¥ezŽF4—–6º‡æœ’µë6nX“g°OðBÏBuÙúÇ/y]Æ’-Û¶n¬6/˜×a¬±%*E7ï/{]¹qz­rÔg/S+6£½¬¸¼ÁÞÚêh¬Þ¼ÍYjÆÀ•öYŠŠ«-öÖV{Cù–’fÄeèG7W*RsS%.Æ-Õ MM¦òÍ…56$häQ J›ÁÐàhmµ7Tæo0*5xlö`—41à0™›ì­^©&7#ÎU³¡°²¡ÉÑê°[j‹²W®\SÒèÄ z­–ââÚF‡ÃÞ¸¯¤°Ò;pa¥šœ ¹ÇX¸¥Úbw´:÷–5KRòÆŒ¯8!K'wÕ×;å™ßÜ#†¤ÉE&SɈÇ:‰ÕE&SI²,±pŸ©D-†2»ºÏ½YD(“ýPcî|pùâéaaÒÅËTÇaÓ/P+¡HL~ð¡µËïWÇ+ïÔ.çóCéb8V‡n­ õ¾“LúKœ¡•ë<Ã'b‹[•ê.[½¢V­‰—‰Ýö³ÍˆÔù#þ'd¨m[V¦4ÉJ©×Õd¶4ûIJAî¥'æmͲ®©°7®4•%$*ÐÚdmöHÈ-ÊP'ff©j¶ÙlÛ2õfm¢ .[ƒÙæS¯ßµÞ·au™Ói(Ìs'§æäëRU‚ 6—³"[oQJÅê‚WF?ªO¡+zѼf£ÑRüxZµ&Y)ƒ×ÞXouPe•æ_­/wÅñy;vÉ 7l3»lÆmëŒÛ‘D"òyúÇdK4¹¥CŸ3#ÕnÞº*{]­bÍ “Z/{¡ò”¯Úº)íêu¯‘§®Ö¦™4‰J±×n©·ºÄe¤÷W •%–ìbsýÆGÒ µR —Ýb¶¹‘z}i΄«…1i›ŠÌk6ÔÙ*Ö¬¨Si‚´Ø<€¨ÿ2O¨p•š8˜›=uk·«dPæíØœSnZWg)^½l§J­’KDð¹l«ÓÈÒ7åÄß´M:ÁGjÅ­c̽8A¯•ëÊM­Z5¨r ’-ek±¹™*}SQ~¢¸ÿ!¼êõù Æ¢ìâfD2uÆÖMÙÊ1«õ›*·ÊŠKK×­ö’¸”¬W òâÅ@rÁÖ Ï–Šu++ ‰KÉ.,ÍT;,eÛVg»ª*ó49éq궬©WåVUfÇç•ï’—TlX½Íˆd*MÖ+y‰bbuÁŽ_aé–5F@¦^µ¾(ǰz£KÚÿý®WdÅe;×>^ @§Éxqk®6æbÒôT¹¡B–ýÍMH@DĨCôq+,5Éô¨¿÷ª ¬Îà NÄ&êO ¹;t‰¥eåÆ`ÿ)IœF—“Ÿ;ª+–X³y·¶v[©ÁdtúÈT)é¹yé÷.MÌÛµ'ÑPV^m²Z-N@$OHÕçäf t•SfîØ…ââ “ÍllÖ}¶æçhb÷æ S¾ÁÚl6ŠU^@ŸW”Õ\Xaq5[­’õØ;T¤U)5;wLf³Ñ@$‹S§ë³rôÉŠ«Y#–&f–îIµ+ªë,Í.ŸÇãƒH"W©µºÌŒtõÈI“ +«’wî,76Xê ‰S§ê2r2&Öaìë³NæŽ*õÎ’µÆ:‘\ž³>O7$ˆ•úÒ*UõÎÕõ³ÑŠ`s•>'GŸxY™+F»¹ªJkØi¨m°'bÉâ4©™Ù9úË™M¡/ZoÞPfv:­VWœRH“7WîÖ”WL 6‹98Ó›Dž’š‘“].ŽÏßwpœ1!bõfÓÁÍlQ©ôE•ú¢±ïfõÿcï¼Ã£*º?~æÖí›ÝlÚ¦'„¡BG𢀂Ђ"¼b}Aý ¬ ¾ "6lˆ(À6i‚‚ô@(¡¦—MÏfûîmóûcCˆT•È|ž}xvo™\ι÷Î|gΜ™¸pÕÄßþsÖÁ3 þåß³ô¹xýÏ6OY¶cÊéïƒç¬ ^GË“3oÙÄs¨Ü÷/?ï´CK–½`m™?hé;eaß)mu¨ÌÛº¯-¸fC•nÐìV „èDÿàÊâd®p6õë§\þèèøäw+FÿZ´dÙøk_+…¯nYÜ—Ä]´;f ¹g§uËçßür´‹pI÷Ь?æE¾Í‡>pbÞ˜I«;¾úÓ¢>±Càð¼1SWs#fϹ%'Šo8¼jþÜ•%9/¬_x¾±_®z›íä†×y-7uöç‹ÇÿQ©“››Û£G‹ÐŸí…ý»ÉÍÍÍÌÌdÒŸN8?$I:xðà…}fÉ]H B;ƒï2ó½ÿñóß^tǤù|ò½™ç?ÇŶáž1óOBTÎ-‹æ'C:á_‘:@ œÆ:qÕ¾sD§ñ©¬ß÷ÈE#v¬#g.9óÏþwǯØ7žx@ ük!Ø@ ‘:@ ¹Q©T~¿ŸØp¾øý~•JuaË$i @ ü)òóó“’’ÔjõEuU>Ÿ¯¨¨(==8èoÆf³)ŠCLA8/*++BVë…œ8HFu@ ü)L&“Ýn¿Ø®Ên·›L&â¿‹Åâv»m6›Ïç#Ö ü|>ŸÍfs¹\‹å–LÒ@ø³MÛ¢¢¢ æ¹Æv|>ŸÝnw:IIIÄ;?Ç%%%Õ×בH6ÂïA¥R™L¦¤¤$Žã.lÉ$€@ ŸE„úúz»Ý~14mƒÍ&‹ÅrÁ›MáwpÕ»¼Þ¢ÿ'—"#£:@ þ,ÇY­Ö dO Ú§Æ)YÿÚü×VåV ÚcÜôûgŒNýGVY'£:ÿȰ§bÔd¯ðóæÉ±Ÿ>¢þº7W}ýmÒœí1YüÅð’ó¿pq£BR.ÀÅ`ŒBä!@h¸rN¹ce)pQñ zÁv²Ê QW½ºbNß¿_íQ NóêÞ?.Tønam=qü_þ:ôI #~%@¸t…Îü™+K˸eÑ 3zX\‡W̺ãÅÜ5³æ ^¿pðß-vˆÔ¹¨¸g÷¯ ®mXë-«”-º9K";ì)»~>ÿÖæˆ”SóŠïV}ýtéºâòMÌ#›c»U6.œÝ¸»Pä°Ð9sBâyiÓ„âåÙ¡éÇ\ù•Rµ‹ûZôÝ誷‹nÚ¬Ÿšäß–'”¹¸©/š„÷7 ՂꎬWGSàô~:»æ½=2˜³ÌK7@ÕÛE7m¹#ɽù˜T]‰;Lžw~o‚m{=Þ3ª(ïõø™×üûvWbÐey1<Ë@üJ ðï§~Ç¢ nàÍ[4£ÇiQ£ï2ñ…ŽŒ¾gÃoo° ÿ7¹’dÓÒ¶ƒêYŸ$.ß75à|õ !t€±³Ó½®HÖmVºMÖš[ÎàÔûwgF}¹7vï]t[CÕ51_îí°n»µw^í¬×üˆ\°V¼âÅø÷Ö%¾:Jül¾«x$ôé¦G/^—0'Ó¿è¿vóœ¸÷Ö%>’è{ïmäÝsl‹]!omï°no¼cÖl§«ù,ܳøË¤^T]XŸê;_ãØ™k“Ɇ¼yu2£¾ÜÛaÝÞ„YIºm"q*@ Â%@ jg tÝãçƒ7úã{p%;ª÷%©óO!xïÉ<9 ­åSôQPÌðTÖ ºP:% ¹‹¥€Aw}¶²í‹@ PäØìT_Ÿ}Ö`{ÅP(rîvò7]£â€W½­Þä­óPCP‘™ Ô‹nàÒô¢)™IsI†Þa€"“(w¥ÿ—›pötC<Löm:nóh€KÔH¢@ŸÄ™AnpþLªé¢)÷Ǻmþ†Óû‘˜G®d‰« @ . 8à‚F-;ÿ^HÛ?v+´5W'ètfLœžOw»Eížã,›ÉÃÇÙíç!aG…·¸$7OéN—©³PàÝÁ2-tófpóºS݈Û[þö+"líC$«Ç€mK¶ñÚë:Óg|’a€!ðÑþ8½Ÿ} Ç]£‹úƒQuu6l[âªPJ¿­š=Ïãú•ãÜ(€ðéäâ9ߊa|J4¹½@ .&kêôE÷÷à jÃÜICzöÜ·çk]] àÞúöªû\2ªóO!xïÉ<ù³-‰–O¿<×øÕy‚F¸ÁÅÝþkk×ðšK,ógW\ý ¸Qá/ÜÂÈèúèÞó­Sg×ÜÙ«NÌEk¦ÎWéÜmkÑ\‘Ù°xhÁîùñó¦ëv?Y:t6æx¤ë¤dá%2¤ãv»].—,ËäξàÐ4­×ëu:ñññññxáb÷Ÿ0qñ×]V½ýÚŠ ¹¥n ï2hâ=N,ztõ‘צÞï-ž’ú76É¢„‹‹ö¸„¨Ëåòz½ C:þ*$IÒh4z½žxxxxx@¼Ð޼ÐÊÍK‹rƒ^øzáßÉFÜO üYÜn7Ïó à „ÚN»øQ!äv»ýeJ¼@¼@¼@¼@¼@¼@¼p±yá ú3—-æfÍ˵êÿΈ"u„?‹,Ë Ã~£¿Š¢Àëõ/////ˆÚ—ÎR;3¯ú»¯“¸Š@¸P<á/âwöÆ///////\l^ø‡[hÄO¼L Ä Ä ââ‘:@ Ð R‡@ @ ©C @ Dê@ Â?IÀG ´Ô,{^•O‰k3æ"¼ªóKºJ¼@¼@ ´BQ”`¾¸–/„ 1%áâ‚äT!péà÷û+**|>ŸZ­ÖhÔŠ¢b"u@ „öJAAÙlîØ±£C2=ñ¡ãá÷šª\ê®]»šL¦ââbEQˆ‰þ$$€@hGÏëEùÀ’6@ ÎA\.Whhh×®]·ñ/úÆU`“dÀú\B83c¬nHfºÏëu»Ý!­VKŒF¤ðoG’ˆ @h¿8–eu:No\Ÿëÿðûúü2¡!DÓÍ1ü%µÒ½‹íi1îIC´Wf‡)’àñx¼^¯Ùl&$R‡@ .:°äǶ\¨Ê…ÆðÖ‚èDo}4 ë ÑÙ`N!Õ.6dYñú…ڧɨ5I—*á_Ë'_­Ù°ÿ¢„ú¦Äÿç†k‰Yþ ‘#ËrTT”W@ß¼µ¶®¨ZâÄÒg¿ü–F…UÒc4½½Öuëåú¡ÝB¬!!Ç bL"uáâÀ[§œXyïb_c[»÷á_ŠÌ‚žwµ'bxb³·'°yçáŠò2›­nÍÎâÆ œ}û(b¿¶ ^_—×±(Š¢3¦Ô 6¹€(Šâ÷ûëëëÓÒÒåË]¾…«]N¯Â1ˆc~£‡‹cPu“2÷#ÇóŸ9ï«Õ+Ƥ£NžsÛ“P Â%xw!„BEÑ4ü‚ÂK’$Byy9‘:¿™«Ó¾îùïUN} ÍÕ%N|e‡xª¢A’eE)è’]‡N„ؾ¨Ë$ì¬Äû߆¦RlÛ‹‡óÏâö¼¸lj7ÛSkå±4M¡€.éÚá=ˆeÿf¥ƒR¤È ( ÈÄ „²²²¨¨(«Õꨟ;¾Þåsú†:gûZ’aòPmlýÌJÛ–¢) z“û³mÞ+zªþ{UX|¸ÝîÊÊÊ„„bðsJ–eiš6C‰Ô!ü R'ø/EQ-Keãþu¢Ô/¯;À;ô•ÑûöTI’¼ùCÍ!1Ö3ýp8÷-|l5ðFèxê:‰ïŸåøÉ’+£ ˜5„ ÕÁ×Åq7_ÿƒNM,Chï‚°tŧ²ÜZÉ4·úŽ=F‡¥a•hD|@ã_/ª¤¼BÍóáaĪmâóùEIMMµ5Èo~áùv·¯É«0¢©_kZ‹2ßOa¢®vŠ´Ù Gh„"þ|»wÝ>ÿÈ‡j;uê\__$K[ÛR‡a˜_ê"u‘Ôi­v‚ã9AµCî7¿ y÷«P¹ *³\ñô&®¾©†¢¨Ôäžã|~¿ÇëûioÞÎ܃æcRœu€FÉЄQÞ:8µcŒÏVCløàtù^}}ÙìÁJƒŒ*xç åñGgèu*b¿Q’Vì˯Hé Xˆ©« S»#1\jEI–c™bàW'€È²üÌ»+}’²à¿S¬‘İ¿Ô9!N:ÿçª^Q ÝFâ¶ÚIPç”Uòø1ÇþÆñ "þb§÷ËÞ=ÔŒ7³Øåõz5R}œ[ê'A„èœßÿ¼ž%ϲé?T’¹:?C)ø¾¥¦aOüÀ:]nƒ^×1)¾ ¤¬Éáj}d“ÃUTZ±¡îi£ÿ{ÜêØ¡œú! †>WPRþã®ý“¯»ŠaHò˜¿ Œñ²O6Mìæ²{ 0ªÑ˜+¯ :‡ð¯‚¦yO€‚)s<%ø)!Œ+ø¢ ¿Z™lß¹ëPTV )ëùÏ-}þiO2©œý&1Í7/¬?Q."„ú÷VÍ4v—bÔ*’ <û;OA°é€ÿp±¸ú±0ÑYOìßFÓ)عN Aø51ÂïE’ZwL`ŒEQ žW1 ƒZÆËˆ¡þÉJNýK@1Ä¿~4ÜéªÕjÔÉñ1ûæ@ˆ^Ó#^38‰‰•RÇÌ?ùÕú­Uµu¹ÇÊ *Ãç^6.¾æk|ò[þøÇuŸŸaèÉ×&Vý{ðx¾¢m²P¹h j=ˆ7˜ˆYÿÊŠ‚j!@§¿7olùyNvïÙ+¤\ *ͱ¡w¼óáGÓ§ÝJ úóŠZÊ/ˆZÕyÔÆ ¿ˆZJÃ#ŒAV€¦Îã–ÔJ;2¢ÈÐÅ9¤±áìü F8/s) µM]Mã‘Mu Y†ˆ#Í0,Ër,KQ<ÿX Ë8²òT}…Çž*;Ê0tÿì¬õ[w@§$ë“]NòÕ» “M…ݦժ«jêFé»m×~‡ÓýøFÕœ.a®ºË3¢Çî.ð¯ÙøãUÙCHú¯¿œ²Ê†w–|8:ÅWn„@; è?PO,Ch×8\î‚ÂB„1‚ˆÅ†(ZUSªèB0¯F È´"ªu€±Ì©íõ¥ûä5×; “•‘NµªRš<Ī0Æ’ÉúÍW§NôjIÐT‹bQ½^¿½@T±gU߀1P¿P/¢„y êªÜ…Oˆ`:Ų4…¾z2¬ RÜ|п=?q›) 0þY$Ï üR1§£^–eŠ¢ˆ#~&uˆ „v#udYÞ¼y³,˽²³5 Å`}Š÷Øž²µà¡M¹ØnáZ­–ã8š¦ƒ îà7û芥>ýhwUú¿+()ß¶ûtŽ }2a W]€(ÐFʲüù7%Y^»y{ÿì¬ÜCG]ÿʦœ{Ô§@pߨ•ÞSˆQ**-7‡¤»þux¼Ußíõ•ì¼:¡L<=a›¡`gšBìCh×ÝöþWžˆXÀS”…á"›ë̼ue'(EÁêÆªps” °,}çP¾X #wlךw^ã9®¥L£N¢À|–ØÿιšÒ`±ŒÒ71êê+G™CŒ—¬Ám6[JJÊîMt«¸5EÁYÉ\¯ŽüÒ î–^YP=5ír݈î*‹ág³£:ŲbÙÑ}4õyãÿ;ëÝuN™9Ò@VðÐLµ$ãó-i( r „côÇ‹‹#wþϪeb¡Ý<® ðlÿAƒ0…V~òÉ·k¿Û¸ò趇tùÏ„{ÜR½ÌX¾ˆ;òLãÑ÷* ÖV”çUרê.—_DEQÂ4}á?„_Bsá–Ð{o›tÕð^ŸO£VÏêåá<åõ¼‹šº6Ÿ¦éÿ»ãæÎ“0Æ;öæ¥$ÅÀ¶…5†žïÙ©(Ê‘ã…Äœ—Û_YÝpøð‰ç_]ùÀ¬Ç£«>Sî@”›;J}"¸5Éd¢Îï絓¯¥¯H?f?Özã‚ z}ÑKR$dað׃Íï›[> +\¢ ª¼U>îðyÉçGÆ¿±bã™þŒ7”oH^™œß˜¿±|cÂÊ„ª8Ó‚ÄÊ’£KÒ?N¯óל«‘'¨uÂ’ô&Úï¥?%Š’Ñ"Ó ’J%–ǼšEJð!št!HQ¢ ¬( wV™½{tçl§0¢Æ…½F–3u[¿IÛûNZÙ릎5Ê?zI¿ûiZVà`‘Ðz£‚aÆÃÝW韙|ÃÈ š©úò‰°‰ƒµAã°­Q ¡:‡ìõ+`1Ò7Ö~3'ìš‚d_×_û´çn5q?­8U)ú˜,*úKȨÐ~e„±N­vÙД¤ä­vm]Zà.¢R©^j_‚à`¼;Årm‘pŒˆs;S«QÅvÔhM:­VËñ]ͦª€:Œ ²§·ì‹Ž|ð¿Sž,½N;rp_àÃ(J }GøF‡Çb&ÓE.0‡W¬ÿv] WBÕgsʈÞHÆÈÖ„[úGƒAó7^ÑŸØê÷³µxëQ÷Ñ6ß°â²éææqÈÏK?ßW·Ï.ØÃTa‡ì‡vÕî’±ÌÓ<HŠd÷Ù¿(ýbr‡ÉGŽ: ו®£â¨²¦²ý û‡Ç –p´ñèÔmSm.ÛÞš½¦´®ô¶­·}pÙ}ÂûÀwåßÍÞ;[PQ&ÉQÎM°Ÿ«%|Š¢AQ€¢ ¿„0B4P0E‚AKBê 蟺îéC³íŠÜ¤ÖV@Qz$²îÆ IDAT»­¿»¤oöí—²±£¢¢ÊëäªF¹uÔM¡ÙËì¯ÝmÑ]ES!ÿûØqã`ÝWèB ÆuòŠ­ž5{|¡ê«'Âàé•ÎÝÇý#{ª'_¦KФ5<5÷¦ŽÑìkß8¯¢û¿kôv7ž÷‰# âÖÙ«›<ÊÑr¡sL ÉjK¤о+-š¦ÕjUtLt×Î=ä!yEbžüÕ~äÌ¡¯Ê„^]Ãóµˆ;@S¬øVÚ”¥Ô_¢ïo1BBMQMSEQˆ¢IQò§%©¡Ñ€Cµ4#¹1Å–ÛjÀªòƒ,ŠpÖ)æCÿì¬_”” ‰Aÿ–~º­bçÊÛ25NìBÈ#´¨þfT ìµ±wß‘EÌõûa5šúÃÔ=×ì nÔÒZÑÁ¦ò¼Üy9ð\Îs÷¤ß»jw ÿvø·ÅßNî0™¢(@ÀR,K±€î~©tUf¬Ê@à½Sb§¬ë¸nYÙ²6ßp`Ü"gÑ•ß] O÷zÚª%kO· MQ2ô„™f¯ BAQ0à ¿GÐè1Ma@ ‹ŠF¯Ð,(2Ö…È U^ 9=P€1>YPøÆÛo—0‘.Y®üÀð€•½:aïšÑ¡ôã Ÿ½ÄG$I:X Ê/Ò£Ö9”ÑsêÆôÑÌ»Å8¢û™uºæâü`³'˜À SH³é"L” á5»}ŸþèÕSýâí&˜4D;iˆ6î÷Ïx«QŽJ… ÷”E)ŠBÆvˆÔ!Ú%øtÖ5I’jÕ'½Y¡³Æûî €-Oþl‹¼´;Ý¿Ó/"JËb@Dù€jY›Ã.8ªv;”,"@Ï¡-¯ÓòFg4p:Çq,ô( >çI¹­æÁ§_ñÅk­‰åàÐTŠî¸%TX!}Ïÿ$ßm9Zýåà>LQ=n™Ô‹hA–ÀÀЩ‡ïOjï&ö:_µC± º„½µ{¯ÛxÝ’KBøÓ3üTóÓÅ_Dk£ïH»CE« §¥çä”É2–1à.d\â¸N!p«„zý”§ „âµñ%`ñðÅõë×”®¹íÇÛlÔ}]î{,ë1büÖx¼ÞéO<ÓÀéDɲlñ ŠÛt#'µ‹þøš2À(YDöúæ€d 1 0lp掤6Nxr!ÆíæôŽˆa÷»8MMÀ›²çë±ɠצÄÇv»orl\ì%^e½^¸ØÃ¶%44}Ä\™ç`±pÏâF5ׯê ‹·Ž0:"uˆÔ!Ú%ˆ¢dY¶•58¼M n…’A6w½»9 J¸†}ˆBîJ|h»´d¤Ôf¤‰CÆxÐÇPŒZAakê£V¤äFÛ)hD¨ T>ÑLâÄä8r"ŽC‰ÉtT´Ú`T©T,Ã5EQDóüTËдb¥O•@yª“cGÔ74•xTÈ¢†Èn(&çlùÚT §¾€:6as €pKhm}MÑcSDÎ]ŠC’¨”ˉmÿ–(T;B€Ñé…©0D›ÐK[Å»ú3µ.8X¥¬?Ž]ˆ%;_xŠoð{÷î¼wUñªx}ü }^Akx~ÿó ͼ=èmkø¼øóF#\{üVþ[“R&Mé8%^_â*Œ±[tOÜ1—äûj¡¬¬,33óH™ð+uf§Ø3ï–97ÿ÷±s[¾ŸcPk…cÒQˆî–ÌÍ™œ¶±IGñçX]!(°‰4M———§¤¤w©C ´?°,#E1†hi Í‚ÅùõŽ8Á·[¥J¨r•ëºSý0ý%°7እ谜ÿRêVì±~}'dJC| P!ƒ‚AQh·—u7ikJàÈ~ŨÃCDk˜ãNM·§f5‰fXžç´Z-Ïó4ãÜÈ Ÿs¡×i9–õúü¹¥žþFûCcý{¢#EÕ¥×.KLI/©°­ü`é7_g 1Ƹd«²ípW¢¿UnþbODZiÉ ‡ŽJMŠïܨ8+¨ìÿÃþñGc¯Oð ¢Ï'|óÕ72ÄZ7°4xDЧ±ŽÇCÁž2¥Áƒ}«Qæ®–¦ ¦néðûE•Šžó@P„8]Üý߸bÍ .´j¬¶9OºCrP@E¨#v×î¾nÃug^F%JÔ'ŽY?fBÒ„I)“Àªµ.>¶xc密ûÇî_zxiëזц«Ãƒ­s«ÊÊÒÄG§í/ˆ®þjô°!jž öÉS/W|8Ð! ³|«U§`L<êC[DkŠ‚)ºy/BHµ;¿#â…¸tÌòÁéôYJ ±ÊWoƒˆÄ˜S{ïœ|#EQãã…EyùÇn{Õ%î­Vëpy|®†f©»'sp²Rì`eb,Ìëw›ßÝà~kK–±ñô¨ŽACF€à?#u3F냋ž¬S¬l\3m¤îõ.ÔV%\ïT\²V«%‘:B»!DÑtH¨>$T¬(Š9ÌdíP}(Î)Õ+ÞOxh C¨ðÁC:…û#¥±A)Ù%íùQÙÿ²T\®P÷Aúî@÷9ã`’)JUM¼ätÓr€EêÒC*ÙÉË™T–6’ŠI1™5 ˲§'øP4M“Ù=­Ñi5iwí?”_á „†ðRMgÏ&³¾KƒÓ»àݯ%iñ‡ vÇžù9=ºxdzFÏŸjʈg@QðÖû_oüvnxr3¾ŸfñZÕVû= ⟎Fg'Ûív•Š$$RçA,\öÄ[ùR‹ÃMI}ÆL›A–$l¯M 8½:(¦tŒ.>)Î4Ãi;ÞXhå< ôéÕ¯›?Q(äj¦×µ¸Ðöz\Y¤Tâêlß‚ÝXˆ:Ó‘2Ê´µuºšFC‰ZšÓÑœ¯6¶a¿åŽLw™’ÆB³j†ås¼ÅšÄqqKkÿ\?fDCSSßžÝèäþ°åa­·lÆ þÏoR*ªjÞXöILT„‚±½ÉépºQ¨çÝ^WÓFOÖÇ?ÚAŒŠ°”TT ¢¨ÓðYÒOcà`I#†ýc¸<þwyêÚN4EÁ»;äÐÓn½² é¸ñä‹“sJ~8©Œ}ýÈAW•W6ÆF›‰ ÿ£bFý¯÷ÿîúþ.—ä¢-+ò„ä ¯|egýÎuåë^ïÿ:ì¨ÙñUÙW£cG›xÓYzò`ÃA5­þiìOMgrs(X€grŸYzbi„&âË¡_®?ÏVvi ž;-u ˜Ea$˜9Zd#š(*l BSHCáFI±»XÙÉ#‡Ü òù¼^Åפ¦UÍÓ bÇ 5'²›Q©á›~d9VatuÆŠæ8ÌFh¡CbìÂ'›û˜•¢u¸dKfÝGwä\ÿæl«®³U×uHŒÍìÜÑhÐïÍËÏ?Q¾ewš½©"Ã-1Q{óòY†¹sXbHý ˆêsR‘U,ÿ 1‘&Jk.p¨–P#­5uø !9m¤µÛ™{rZzÅÚÃÜ!©ëó½Sƒ‰Î9_$YR°¢€üygç;kùÚ§×>-ó2Æþ—ó¿‘ߌ¼oÇ}söÍ€Æ@£,È×§]–C@WàQѪyÙóÒBšE¾ €£¹µåkŸÊ}*RùöÀ·ÃÔa—Å^¶xàâ™;g>¼ûá1qcÂÕáÄ - ØÿÛ²:&„b1L[írŒ1Ðôïz+‚ˆ½>hNå"KöÍޓ蜳e™¢¨E"ÝÖDŒqb£× Ø”ç£)€Ï¶yìnå¹ÿ„0çvÄóŸ;?úÞÃ1!Øv$0c404˜¡úl›ç—î£:Z&É &¨ˆÔ¹da É}2öì³ûÔν/Íß’ÔGp—=súcõ'V½ÿu^­ÔÖœq“FÅÛÞ™·Ú:ãQá,Ô~?oÁ:ý¤Çgt3€XøÑSËÕÓfw}ýþê¼ZØðnãnŸah<²jyp#ž1fÒ¸nfG}A{ÚÜL¨Uª¨˜ˆñ>G?—ý”Ó¿[lÓ²')ʯV0V0`Æ-zS´Ž¨xãY[Þ€! MG#5 : 44h(Ð2 ¡ë ‹Ô@¨)¬bý*K½6ÉmÉVÇõ2GIJ4}®K"ò þtxjz>é<öÚ9ß«ªœÅåÅåðÕw[šK†éÞ¥Smƒ=ºvU÷ðþµo`¬ ¨n¨óxbÆ?Ãoî÷ ..*T«áÛl|¹%/JÝ£GNÖMY)*ž¼°þ ™Q™{«÷ªé3h³f•õ*ûáÔÁTl½Ãzw±t9f?f؃09Öœa‘à %$%\Þ7²o´6ZÇêæô˜3=}:…šÛjéQéÆƒÆtSz¯Æ¨2.ê·htüèà®[Ón­ôT¾}üíà˜¡…«¯ºò•¹oMì§øü´^wvM"+7¨šº˜5 4Né×L‡eYñùA”Nwl!«vr¨<抑ÄÈgQSSV^'µÙˆ1¤XšB’ŒOÙš‡\h­ÝçKˆ`fŒÑ€Ç¯<öA“ ÂS“¡z¾Øá]ºÞÝ’¢­¼Nöø­ŠêÙ‘ûl»§JAƒK%\__GœB¤Î%ˆè,ܶÏe홪–e¤º|ÿ˜ûæ§ qç¢åùá·<0#Íμw¼ÿiÜ×÷ ÷m)ô g¥ù`5Ùólb7Ô)ƒ¤ a¶uïçéÇ=2#C ¾ÂµË·¬MÛÞY~"þ–f¤Äʵ/½öÎF냣HOÛ_Üž†æ˜6Že†Ñiµ–X³/Çë˜âpÙœp@bŽPª“_ÍÒ>FSfç½ý’ª­ôÇN™Žä›d û¥›Áy©˜¢1Ã)5šÊŽ£$K‚ÏéBu:]„^¯Q«i†!ëðü†kÔ!(ë?øàûà²YJ>%U_—qïæ ýÞ¼üº†Fš¦“âc¢#ÂŽž*Úä˜(J…nº¬ÓXáCP«¦?Clø§ìP‡øÈß<æ¹Y×[ýyëòØc]~–ôYCkÞéóô9ý“ÑäŽËmóÜD]bÍäšàw×T×Y{‡[‡7ý§)ø½iJSë]4¢çöœ;·ç\bÿ³Ðiµ#ŒJ±·É§Ö+>?R«ƒ¡k¡æÄ>Çɹ†®£nÛ"GQ°?€­–B”ÞY{mSÞÌÇâXÒ)pv§‰Åbir+nnû“žo»¼Š(c–FV3•Ì]™ÝÜAðÜgÎÍy~„àáwñâ{ÌB};ñ‡hsOl r@²‚›òÀi[ûÜÒÓÄ6;_•Ü'Ùβ}eêÌqÉCúdæ}6õ˜næÆ|›/‡-;è²öàÚ’_+¦©‹Š|ñíu˜JÚ¾oçSÏÔèäQÓ’ ñû}u¦ÓÒ ÀF÷¾mã‘ÚQ—­sÛn¿¾ŸB(JÍ0*µÚ` ‘¢E!Sðû~ŸßëòC\¨ÉÍy<¼ðõéäµÜ¤*+c N±56ÚmGHÄZkUŠÉ(…GHaÑrtJHdœF«¥)Šfš¦i²êÎïFÙú$>¶Š2ÆáÄË l-y¬ûMΉ›|ÝUÇN-|ëÃSE¥óO޲ܙéíä~‰nÄðhô;`J$6ü~/ÃòMÛRÀ˪´çjÌìZ“ÔsÍi~V‚Ï]’»QQ°!,ÆÚ)|ÎÆòC?2¼*±çHÒz ´ î¿ûöŸæ¾rÌš)9ñÍÑŒàW{ì¡•´ß³tÀDMç4¯Ó{V¤ ƾ„Ÿ…(#ÊÔPzƒpêÙ§Ÿ`Òt<—Ëùů,ãs…zýÁ%Y¡ƒ•½,S5:[iþ™b‰g‚HL°a¢Ÿœh€F—¼fÿ»}¾`pœ‚Mt­Ýë{àÚðÊÊJ“ÉD\C¤Î¥âåÓsu@t–îúôï`Z7€QëÕ,€Ôè•Y}º›†Ñ³’Í'™SSõÛÖúÔyµ¦n©©¶-ûŠ\Ný‘Æðœ85.»s»nËÆ¥ëÞ÷™’úŒ™0*Õg÷CÝ× ß¼­$¿¤ó‰¤÷ç/êFPEEE–)Š æF;“‹€a†Qñ*QRdc¬(c<†¢pV¦(Š¢ ˆ~_ÀëõŠaôF£N£a9–a†a›GoHï|1Äb”¦Rä®F‘YÈÚæèvQ”jëÀ¨×uŽ3åX{ó¹œý S26…¥ûý1ʶ}¡KΈLÊE|³$ûºûÎña¯£^–•³:HmÇ÷–ìÿ^[°gMÁñmÆÜW]p ÿû•ƨøšS‡úÜ0 ‘8xÂEO¨ÉôÈÕC7ìÚ;ø²Á@€¦é(«5ÒeÐéß;ZyxW©ß¯œÑ9,+€áìy˜¬*!ãí©¡÷Þõ$1l›È²Œ1¬Ùãûe5)É +X 5†½šZù¥ÍBn©‹§\Ê„g÷Θõôä¡ÚÉC›·#A†Æ4…ΚD!´ñ€ïþqz’™€HKÖßgHòÚwöÙÄnñ­ï³ü-²Äçò©ôjLéÉðIþ •M1Ê`2Y}kO©ëÌ=ã‚£?É&$ðUîýä­åËãgO W1Öá³ÿ/‡äwû«ÄÍÏzr°¢8ÎÆ†—Û­ÑhÂ,ƒÁÐ:Ë':ýâ„ch«}†T<²$UUU-ÿ­V{ÓM7é´Úæ¢Zp0&8/¨îÓpLüÃ\\WîÊ=P´ E÷B¡$îW™"ø€Y,Fµ_ƒ_? FÉ#P¿‡H*‚?ñˆ`{mEqé¡ðø ЦmŽÚ’àö¢ÜM…‡";õVB+öêB,ˆÑsVåw7çntÖUĤ÷C€YLt]\æ@Ø÷åëU…(©ý¯éØoìÆ×ï•ÄË“´.„vÀˆÁ¼~ÿO;wO¼erÀïÇ×6ØëíM£C¹8(pùƒõ?š´n:Ó¬¡¡4«bßcS&äôêALz.8Žó Ê‘R¡u— ¢Àe™üèÞj‹‘6j¨Ø0ú¬ú¼¢^:R*-ÇöQw°²0,ëÌ»¥°JZ¹Õ“ËtIàÂw¦ä¬dî»§Ãm rU£¼çd`Ý^ëüÞåur“[ÑëõÄ/Dê\’ø*÷m)”LCÎÊ`ˆëçÛ¸¥pÄMij±1oK!“<ÉÊkíçÿd[>ÄÝ¢VÝÍT·v ¨2G™œyËÞÚ—:å–œpVn Wƒ ÀœÚÓ´vÛ–ÒncãÕà+\ûÉNÓ¨ 9ádPç/jÒ‰¢ØP_?jÔ¨²òòÉÉ+V¬è˜šŠ(J‘›Ss_Ò4MÓ4ÆXVdYVcš¦)š¦ #˲¢(²$546¬^½Ú:òòËÍf3˲4ÃP@–eY–qsiBáù= ð tÝgJÙØý8˱¿ nÄ…µgr! 4ˆÉAýFj"rþìƒÁC 4¼N•ÞtüûO͉é²$”ìYëh¨Nî?¦þÀŽ“öM1ÉYö‚#飦Ýò±éê¤]+Ÿ‹MïŸÒçʃëßgh>.s "‰Áò’³/?²iyRÏEû–WÝ•Ø}(ÃòÄÌ„öÂÕ—7êu¯¿°pÄè«“’DQ”eÜèõ½Ü;òžJ  ZG©þB1”0×—¤6ÝÔ§ËÕ3ž0vó¯BÓt“{ü˜cÎÔÞþ¿k ±aL½Sþñ°óA|MŽ&DGå—Š¿gwx—‹2Vpû•'&†œU«®Ûç[¾ÕCS@S áQG;Þ8¨‹J’ñ—;½ .%'×O3º·zAmKîéàbµ%&„4¾ˆÔ¹„h=WGeJêyË´á¾Ö‡˜sn™T»|õ¼Ç} 2mBšXk·0ûûeé£ÂYÖÚMU·ÚßçzÒ‡çä-_ôÄ× ž:nRºØÓ&Ø—¿?ïq$PÇõ×Ÿèœ JëaŒý‚pððá²ŠŠŽ©©EEE' bââ0B¶ÊJ—Ëe4kjjAèСƒÁ`€†††ÒÒRQ£c¢#Â#t: Ч¬´ÔÞÔd4EAÀ)vû®={ÂÃÃcccu:Ïïolh(*.ÆŠ’”œl±X´ I3}~‹ë q}7žÂ…PíÅS(BâPtoHŽ8ÒŒ¸0(ŠÜT_š5ì?åG·CâiƒNyOSmaîæËîXÀp*stŠóË×}^‡9"^gޤ(:àu3,—Ü÷Jè8èšâmk~æ;†Å’€eYÓ©wå‰}‰ÙWð2rMh7 é—“ÕíõeîÝþSçn™±qq­V¯â–Œè¸0×¶¡Â)*€cZ9Ñ«öØ£œ¶l=Ö#cøÐ Z ÃümL&Ó± ‰úy F…ÿ°)TOoË÷{üd¦]®Kˆ ½ìö)!ŽAà–aºà™ Iƽ:òpã ͇›Ý¢  Á¥¤Å°Pm—ûÀÁ1°è+WFe¦j›”Ö­ŽAåuRZŒÎçóשs À&O™¿ Í=êŒó3Îü4dŒ½+cì/ºkÁ‚3zèÁ9-G˜òà€³ÿš¹ÛøÝH~Ü¿®×ê«â÷ùÖ­]Ë0ÌðaÃV¯^ýÍW_÷Èê.KÒsÏ>»eË–¾ýúýôÓO’$õÎÎ~rÎÀøÆ‰7:Nc£Á0oÞ¼¬¬,‡Ãñü‚?mß„¬nݦOŸŽêkkg?üpm]]xxØÓsŸêѳç‰'^zùåýûöa€>99÷ÿßÿeffrG´Îù‚Ì)Èœ4±Å_VdXYºî5“:¢Ë“Ë÷orÖ”S' ~†Sa¬`I %ŒÁ »!$ˆÍAí¬3 3€±‚¨f՗䇧ö–%XBz‡¾c(–—>"uí ­FýàÝ· ‚°îû>{o™„±ÞhÔô=yÎì ì«jÒcÁ¨Bi9)<´w¿9}Æi5b·ß(Š5%+˜i¥v(‡ŠExÀ’ïÜãûkL:êùÿ˜¦¾ØŒ:ëÏ&„3àð}‹lž®UQ¡ºO'þÇÄ@”ðÜ›B"L4ÆøƒÍ5! ád¥x²òìàtQÆaFšÌÕ!R‡p©âÈ[þæ7Þ·MéÙ~Gœ0IívûÎ;tZm÷îÝwìØ±fÍšx!T[[[RR¢×é&MœøñÊ•k׮햙9nü¸ñãÆGDD-}÷ݧŸzêwÞyõÕWW®X‘Ý«×øñãƒEWTT\>rdMmí_|ñõ×_›CÍË—/ß³{÷ƒ<àóûŸyæ™®’“Y“‰$* \t½²D³jN­Në=®üÄn}h¤(‹¶#;Ò†\»sų}o~ì§Ï^î*Dwdx7øÝvV¥¡e_î×KÓ‡]»}ÇŠpM( T[tb™êcûkÊ_>cQù¡m¶ã{Նмoß5s±3¡=ÂqÜØË‡½|x«ª„ä#¾0455YÃÂtVí:î§Îßñ²îÿ»ÆÐ#…»ë*Ýk\Š×öoV• V9ín<öAÓ‹·™B×õ×lØïçhÑC=º·Ž•Kïoò´¬´ÓÆ;PÁñáLFëq98Žk¢±|ó’ey¡×L›a$R‡ • IDAT@ø#:gÉ3oîs?ë¾kP;V;‚ äåh´Ûî]»Ün·Óéܾ}û AƒuÆ_;~ذa!Fãƒ=tôèѾ}ûüþo¾þÚívªêê’ÒÒ¼ƒEyì±ÇÒ:¥iµÚ¢Â"èڥ˕W^ét:Ú¾½¢²Òåtýøã,Ë~¿e‹¢(,Ë;vÌ`Œ)RG.2h–ïØïj°¦÷6FÅ@\×~gcTZ/¿Ó^œ»©CfŽÎ#¼,¯„:ä\…5莅Ç~\Uv`kÏ7¨t!†ðXOƒ­ÉV¬5™†ŒxŽáTaI]<ö½¦ßMOªôd>¡=Ô¢(ˆ¢îWgÎ¥s0Æþ@@­R3þNX–u9¯ÜiÿL]eƒ|®º‘¢àƒÍžìT®_gÕ]Wêe>ùÑ{EO5ø¼v¯¡l;¨s(á!tŸ4>1’ÉIågO0yüƒ& Κc0h¨Z|—,ËíQç¼úì§'%€EÏùf<4å©"u—žÎðå¯xuuÒÜ ±íJì´äXQŸ :rÄîpÄÆÅ;q‚fY ¨ï֯£(Í`DaŠÂ)ý°}û /½4lèÐ~ž((PdŒeŒ c#„¢YVo4вL±¬Œ± JͲÆ^¥špãÝ»wW©Õˆ¦›GÍE‘Ü\„‹åaذ„t hF&k2X“ CŸQ¿<>ªcsR©Nƒ®m½=}ؤÖ?uæÈŒá7óÚ/¼µ´¦®î•§ÿç.þèã]ûó–½ô1ãï„çy·Ûm0ÀÓÍ7-¨?×B¢Af¿×´øs§Xnúhý˜ÞjžE²ŒXj÷šB Éø¾Åö÷g†² z{†9ÆÂ€,ã‡Þ³ØÄs­Û ‹ï 5騚_ûËÀ&-_øéÉæ°»†‹žƒ ¤vÈâ„KPç@ÌÀöÂ&ËÁ,‰U6[þá#ÀsóçÏ{æ™GgÏVóüáC‡ÊKK±$!€UŸ}¶nÍš7_]«VwÍÈ(/)‘%I¯Õú=ÁïG[ÌæŽÉÉ4BO>þøò?\÷í·Î¦&„1 ¢(@äôéSSUÅó|ZJJb||§ÔTÏ#Œ›¯ç’GE¯Ïïñú|þ€,Ÿ™O%+Š? áì-3[Aô„³>’$·>þ¬ ˆ€Iîopnü¿¿Õ«æ¼ðùýdFûù¢ÓéŠŠŠ¬&xú¦_y?#.žòbÃOGýŠ‚ãNÏÒáXÔÁʆ¨P=•Éšô”˧@PçØÝòݯ7n9èÿ#+øÁk©Ñtaaa»Ì4ÍFæäD´úݰsÑsËŽ8þ|ÁdT‡pi꜑=|yl» _à ö¸\>ŸwÄðáIIIæÐШ¨¨îÝ»»].›Í†€$I|ø!EQ“&M}ÕU••;wíÚµ{wBBB|\¯RétºûgÎD1//oÉ’%>òHtttˆÉ¤ÓjEAˆ‰‰‰ ‰Žž:uªÛíÞ¸aÃwëÖétºäädºÖ¢¥+wæòù+,ÃôÚîž’Ö!ö8òââzÝâ—êÛ•{è•%Ë£"Â^yúÁàés_\|ª¨ô¬2¯=üºÑ#`wîá——|tÖÞ˜¨ˆçÎ*.·•–WF†Y:uL"^ Mç¡ã'jjëÃÃB3R;RèL_¶(IÅ¥Ç išÎHM‰‰nY c\[ß°ïÐáúƦ¤¸ØÌÎi½®åDI–wìÛß%-Õd4€ÃéÚäè©â’ĸ˜î顦ÖGVTUŸ*.阘}iº **ª¶¶v`—¨û®6¼°ÚÉPmG"¢·¾ÜxßÕ†;Gé@§¦N3«ØŠùš§jE 3çÖ9’Œo¾L7®¯Úf³EEEµOûiR'<|?<ûâ÷5­ÕΟÛ!R‡piêœqIí9 6EQ©©©/,xA­V‡††ªÕj ¡·ß^ìv¹Y–]»nLœ8±[V–ÑhLHHÐjµV«õóÏ?«ªªŽŒˆd ÅÆÆR½þúë%Åů'""2Ìbyùå—išŽŒŒŒŒŠzëÍ7yžŒŒ´Z­/½ôRyY™Ïï·X,111,K²ˆƒ×çŸ=ïÕâ²JµŠ5´¿F­Ú•{¨´¢ê`þ‰ ÔQ0öžN¯æ ²¬ø‚Ð*äOÅ€ vï’flÕ¼ˆ‹Ž<}¼ìa¡¦.iZö†šMk Š“@ À#Gg?ûB“ðN£ 5›Lx¼ÞÛ|¼¬Ò&ˆ"¬V©:$Ä¿1oÏq°ò«5ï~ü9 „dYމŠ|ïÅg[Š}ãýå«×m˜ó3÷í½ÿð‘ÿ·Àåö0 -˲N«uǴˇ4'b}ôÙ…{€Ù=çκ÷’uDHHHCCÃ-Ã,‡KÄÍy>€s¾¤5<*´‰PÓ$34„êÛHÌY`“:X·Wñ‹ÀÒ¿ö¾ï–ÄͺÖ`ol4™LíÙ~‰Ú!R‡@tNûát?MÓ!‹ÁdBQ4E!JòIRdYv8ˆ¦e^ß­{w£ÑÈ0 EQc­Á˜Ü! š¦BZƒÁl±`Œ)Š¢i:4<0˧(„F¯ˆŠj9,¸±ùª.Õ¹:»÷.)·…[ÌOμ3Ö×¾//¿WVÆù W„Æ_9,£•˜9‹Ä¸èûn¿é÷M2V(·ÙfÏÁñú3O„è —ë©—_/³U™FEQf?»°¸¼üÉû¦wïÒc¼iûÎ7>XñÖ‡+ï½õ–m{ö-]ùÙ¾}¦M¼^£RÕÔ׋¢|µÐ óÖ‡+¿\¿é†ÑWöÏîYZQùø ¯DGF̹zˆ^ïöxßüèãW–.ëÒ©ctdÄóo.9ô¾iS²³2CCŒ—¸;†©««›sSèá±Æ.+!›Ç§ŽÐ•×I×ͯ%lÔP&Ê¢§\>\c—ëŠGPþ{•~Ê0]¬…¶5Êm–„104,¼ÍÔØÐ@Qÿ‚i)^í©C :§ýÐjb @_j ƒMÓž¿ÿÞ{oœ0¡k—.z† ö*  (ê¬EHc€fμšËÄøgß1fbZÖz…ŸK–í{`ŒG íÔ9À±lß^ÝÎ:Ìç ¼úÎòà÷Úû/ËQ0^¿uÇÞƒùÁŸafÓUö> ª¶~õÚï[~Êéj2û„ Ÿ|½Öíõ>óÀ½Á|k³iñ³s¯¿ëÿàTqÉáã'oŸ4a@ïž’$a€kF«khüzÃæë¯ºâËï6Z#ÂþïíÁ×{ëеšºúÏ¿]7ß4¢¨/ÖoB€^™û(…EQŸ¯´¢’åX„P}£}ËO»&Œ¹r̈¡ÄÀqœ,Ë*FYþ`踧ë\>üË06EÁÓ.צÅ0¯}ãöú†FMÅîV0–0B€†B_íôÝq…~ɽ¡ãž©ÛZ)‡¡aÅC“75ažçÿ&¼Àj‡H¿ï‘eÏýÛâÖ~*µºgÏž’$q<Ï‘0³¿§ÛFÃoÌþDqûÞ¼ÓÕ[c¼}O^K]Ø1)á,©S^Y½ì“¯Z~vJI RçÿÙ»÷¸¨êüàod82ƒ2c2Ãê`8x¬1X4¼S¥h n^ZÁmE[ÁVÄ Æ_J©¸*¶^ÊÀ©Ô/a(¬ ÉWRÁ H0Œæ é Â90ðûƒK¨hÊÍ×óÁ:sæ\>Ÿsù¼æó9gÑû;áZzjµÐþr®äÙÊú ÍÍ6ÔØ=o£¿[qK[FTë3ö•º”4"ªª®~cҸǎ«»UtýWÅ‹÷|Õä¼4ÎÃ}Á¬úþäBUq©ÄÜÌŒ«ªºx%oå'±¢Þ½>·¶ê{:ëœÁ`ð醋B#33³’’’~ýú}<×rÁ&mM‹‡˜ðŒÞ{MhÔÃèÇó•wàQËPT¢5䪪ìe&Ž6ÌÿåsÍ&¨­¥ÈÀÞvÖ&ÅÅÅb±¸aëiÇdñ‡ƒùÇmu »¶C¯kîyAlë éî-###ccc33³ÆÿbGxzè%¿ðBîÕ1î.˜¬—…àóõÕa8yæÿÖnþ¼ÙÆ=züûƒw0€ÍùEûÞÕø_†A‚m‰…™Ï ý·ŸÊ«®ÁÓêP ÝYÏž=Koܤ†Ÿ­­­5áñî”—óMGµFú»w{[X4^4e·kjk{ôèaÊçßÖéî7Û¼ÂÂÛ:]/¡°n¿ßÑñxÆ©g2ÿ½~ÓϼüŸ½{Y‘ÁPcdddb‚öä=úôésåÊ×!CB|„k“î˜ðî¹WhÃ~]yemAéƒ]—Nÿ±U;ß[˜«jžsª 4ÓË|’³é¥K—lllºß~-q°µ8~£ÉWÖšbõ]zô¨ƒ‡MCw½ÀN ñlú‡æä'«÷\¹Û¥7ŠÇ{èŸgdbR÷×–éŸÀß³jÂ(7ÏøÄé¬M;÷TUˆèü¥¼ùË¢~ÊÎy² êÑ£‡©)¿ñ¯[ŒÆ~ºlDæã‡Zû¾(óéùºÉ÷èÉ´rsÓ\7»±C¬[IÇà¡ D-t“^ñTÿv+¿PUדÏ36þU­Î+(|i˜Ã@YF+Ön0kÚdÊ0+?Ù`ÂãÉÈ<\œÏåäÞ¹ÓJÚ1áñT¿–ÿsEÝcT\/¨~-ùgôÚUŸþç¯/¼°eõ¿ër<è°±ùý÷ßß+xãåžÍ’~#Ú›v÷»ÌŠç"22¢ßn×D&Üf[Üû²=éT‹Û·oËd²îWz·/îü±§›ͱòZ¼pTŸÇi:a_„cÀ‡!ôQìÉÆÞÇ?YM‹—Môï:‰êjTkç1 ¿õ‚ÙonÙµï𧎧ÿÄãñîVTÑÏ9Wþªphû| 55«c·7 0£G:ÏyË%üx†Xõr—[y ’2¼7uÃû‰3 û‹eÏŽöù™üó¿–•sÕDä)·z^,öËßÊ+]<7DÒë²úvFáo¶}„£ì$WoÜî#0ícnê1Ð4«XãíÐÏØÈèPîu¶Ê0fˆµúöÝs×µ(jÔB'áõ²[ü7–|ôÿƺî8ôr~ÁÁRûŠE¯O×ÛÂbÑ;³>ýlÇß—­˜<ö•ÚÚÚo¦ÜÖéÿµè=óž=}'ŽûöÈ‹–Žuù¼M¿ó—®ÔÔÔ,™OD–½{- š»L¹ö%áþý¯I¯xž8“™ùó…ÞBÎ1qÛoܺµæÃbìÀC•••-ÒëçNu³ºÙµ¶^Ë){›÷ˆz»×íÛ·ëºòºeÎÑÜ›s»ñfü¯ý ;"t”ÚƒÁ`0ܹs§ÿþOpþ&}_p{þÎÙÌ¢ÆßB+ÿåtöÝA®Ž}žà ;wš¶Ã¹Æ¤S>s«úé?¢ ¶¶¶²²Ò¢3ÔB“kÑó²¿8¿hoÊgÆDdÙËaðÀ¯OzmœgÝj°lUUU•|@§íë^©¨d ƒ|€Lá8¸n&E×MMù½{ {Yÿäú ±{žˆ*YÖPm,¾îéÕ~´vžZØv¦ Õ×{›1KÆ:zÈ­ô\•)ÏØ„×Ã۱ߡœë–füw=‡:Z[þp¹DÏVj=ùY–J3ù…þ©yê÷½ìOæÝŸôBfáoÞŠÿÜ41îq—3üÍu ž«~Cac¨©-«`_ê/îÑÃhÜéÿ ~»]ÑÊ3Î1µ€Zhÿ3’‰ o¼§ûïwîœ8óÓ§2 ‹¯rû늄Ôýî|€LòÜsÙ¹—~H;õÓÏúŠE‹Þy{´›«‘‘‘À¼çËu*,¾žþSÖ™¬ì›·´Î/8wt¸”—S£ ž9ÃÞNþ}Jª­Í@™ÛKŠªªª¢_=õÓÿýª¾1ÜÑ~ÄK "Òþ~ûÇSg¦xO0ïÙó™=#ÝÇcY–áu²HL»k¨¡?¿.µµTe Ï—ˆÅæ\EEEÏžùåm[j¡cs±,‹7tÔRSSSr8ŽcY¶¸¸ØÍíÉßÚx÷b|Ó¾?Ø4sýúõÞ½{·Ã°"³Nù˜Š§ÿ°éšššßÿ½_¿~¡žYªF®;Öêë_üÍ¡¶–×£‡¡¦¦–ˆjI`jBDчÞû…u“}ÿîØˆï²Ïªn½7jÈÈçû.Nʼ¡«ìgÙ3lü šrvÅwçˆèï/êeÆ|‘‘¿gîè)[\ó†óÖô+.ò•ߟӔ·~Ýl‡âQ ¨…]ì**~¿£ë%š÷4k~Á%úM£5îÑ£éï~þѸÔéîÞ­Yö®û±"ªd9S>CD¿ß¾#˜ó¾h«ªªþM«ím!ìiöÇ"~¿s§·…ų|Fz°;wîH$’÷vŒæÏ7X[Kkß±£0½qã†P(ìü×…ŽÍ9„{uàYÐÓ1àÃ{ïÛ¹q¼KÞ·ÓxN§úÃÇÿ~¹iÆð|“Z"Sž€oR×Â>’{ýà…âÆÉÒ¯ÝiûœHðWYŸÃ¹¿¾óò ™È<È}ðÉüƒúZ ì#|^,¨©­u–‰‡Xõ*Ò–+ýœ~¼Zzþ×2 S“šZÜ^Zè¬;33k«¾-sõ‹ZÍ9DÔK(”ZõmÌ9DT—sˆ¨w/ ^“&&±yuBNÅÍ9„'°Á3¥ñ™lU/¾ýÏ'”s Sù½‚û½‚#¢ËêÛ( Ô@'allܯ_¿ÊÊÊšššÇ{RBmm-˲ÝòÑÒDDd"5m^cñDo¨FÔg.íDoœF]ó“ Œ ¢vùæP OÇ«ù&0éæ÷ÇšHF-\3²êÉn&ºVáÙƒ;é:cí 7Òu BÔDDDDD€N‰=·ÒÛsì’4ÝŸ™‰&9xZtÛÆ©uiÁÞÁ,͉ö Œ/bÏ­œæíííí=ÖÓÓs¬····ßœÿþtŽß=¯yFŸÓåmðóôôöóóóóóöö OÌÑuûzÒåížæçíççíí½?O×Öbפ„ûyO O.mRé¥)kN œ6Í/pIü9Ò¥{zŽ­Û«ü¦G·}¯Ò¥û…g°~è…õô^Ù¤ðK÷Ïñô L,}ÈK÷/œ³!¯µå•&6~ ×&çéZ¼îí7':¹”íRus¿íjË'çL[›Ç>Þƒ÷—6ž¤ÖN NÖ´V‹9ÑKRºÍt.ÜÛsl]IûM›Ÿ¡iûÞìüXå Ë‰Ÿ8ÍoZpý¾©ËIió¢[¬…æÉ¤U ~sê÷=¶hÿ¿9[Z==~™?ð‚‘‘ò8ÔÖ®PlÞ†isâK陇ŸèØö]fb®l¢{Mø1[´?22QE éI>;jå$)i26DÆfj‰#‰D”¿ˆˆÓ&Ç,‰ÍU©8YК(_¾.'Q“¬eHω&…F<­sµX1F¢OÖ²DÝ÷ªX´?^å5FÊ'"âÛŒ Û¦àÄB.ù¡Å>Q›©ÍÏ_¾’‹X9©¾iÈéõW_~á_zÔ]­RÖ*ãs9"=#Ÿ>FZº΢ ¹LÏ eó«Âw…;ð‰4ûƒçfÌÞ!IW*ÕDœ^ ŠXè!ÈÛ07Rk/R©íÃÖ<Հй[ê5;}îŽì€h…:1R¹_E q—ˆ…®bÒåÄG*“ÕÄq"¯°¨`yãᔽh‡ týB¹êÞ_®n½p™—L•˜­sõO!w…(¿¾2¢#wär é9™T„¿DõÇBÅÊ¥Ea»–ÈÔ-̦Û`3&4âÜÌ¥ñ9—ˆš¼®×kIâ ê²Ôt»ôik—Çes ÑÌ?,Ì׎ßìÔ$ø£-¾(Ù!jM€({‹2.SÏž“ø‡EøÚqi g&Êìõ¹Ìì5+=þÈ5"¯—̸¸ —p×?Î]¥)ÑËc³I"‘Ù‹ò³í¢¶OÕ†O³k‹ýñ9‹2 F­U«Ôÿ¨(/•rî‡5Ûým4iáó㇯ÙâoÓµJZìà’23.]³e’ ¯ùQPYà8NàµÄ¥ñÛ³œ ‹”úÙëÃ]ôÉm9Eèõ ˆ#âñmü7|I¤ËˆŽMWiUË·DDùªbî9lèÜÊé±/¹V¥V«ôö¡ë—¸2Eû#—Ç«‰L¦oX‹øHe²šaHÏ(B£–¸2]ðê|nÃÒ8 Ú¼ÄUHDlÞÚ™J›õÛý¥ÿô!"}FÜ’Ä\µZ+ð [³ÐU¨É¸ïîø®hû:½‹½^­Õæ«%AëWŽS³é]òcb³ó)2\íË4»"ˆŠ’•‘ñù 'œ°IRþƒ¯P”W_)Á3S‚öDç7ý'¢´‡Òôø|ùl…À^w¼Ô×_JÄpZíð -“¤T´%pi\Ž{¸DÍ Zí*¦¢-Kãs¼‚ô1ÊÜ1›¿ô•êÎmˆLÌžDœ^ÅøîÚNyf.߯šD;”ÉQ›lølÞ–¹‘;\¶-|*Í_¶(=Y+ñuç§N•«•L’7ÉŠ|±˜O¤iK±‡†¸dÆY³rÌ—z…ú$/î¯pQ¸zŒñr.å“&%&Nï¿m»‡4)Kæ*S\6(Òæ ¢vm·Ó&ÎY´?Ÿupà—¦'«A ýùñ¢Ðm+øTš8g~ì9—•"†S«ìÖlï&ÝC"{{f¾¶(_ÏíúÒUÈÅÏ]{nO˜ .2Yµm­åÅ/O/ éó¶,£ õ ‡3yš×‚ï} Gàà/ËŒÏÔxŒ¥§0“‚Dûó‰ˆtZ½]Àšp)i’ƒgÆeûDKþ˜Cib}#±ùyO¤!"¾ÄCÆÅ©ô$"N{|ùÌ\qZµVâ³&Ħ+WMÃvéô11¹cÖéoCº´ð™Ê.ëe±÷žšf×eûŒµË%aëì¸s+crÇlÞ>ILºs+ç*¸lŸÈ>_ï»g»kóocä¡îó•;ò eõg›sq±¹.ëwÛpçÖÎ\Ä5éIfÒªÄ_.´¡¢-K÷«&. M™³_§÷_ãß%K\l¯ÅS³öÙ͂ٹ‘ñ‚m_–&‡Ç.RØé‹öÇ(Õþk¢=Ä¥‰KÛrŠà ²_´èu?™ÂÅÅÃcŒ—‡Pèä/ÏÎ ¶ãrr› †áÔÚáë£ ui §ÇgÙ3±;´þ›¿ô•²9k§®?6°Í¾B6'z¦òp‘«O+yý¹KcÓ%Q{ܩȩÕÃ×oY"Öe„ÏŒ=àko¿ã»wÑ–-j•Ýú- ÅlÎÊé1ÇKÇLTÇ6Ÿ>hb¼Š"¢}m4)Kî½"(BrväYóe€ éröWë©!êÜï Å êt°¢ã‰jû …„ö¾ uÌþ"ÿ` #QØK‰ˆ$Ã%ú*=É%¢ÒØåÁ;†Ôj½œ#u†Š±Ÿ-""áð…k‡i’I`?FÎ'"‘ˆËàHŸŸ­Ré#ç§Ôµ48™–kÚí¢ÏœîÝð=§×K‚qÕÕ–ÎLgˆˆ‰KH”O÷}Å4öÁ4׆boåëL¡Cð–C¥9Ù™iiû•3cd!Û¢äi¹êlõ¢9;ˆˆÓ“@­%"È=d|"©»¯(q>ë ÊLÖº„Øsù;òUê˜ùÙuËaDj-‰ˆ)¢nTì•«2Ô{!ñ% {&9W­är²ŸˆìÖ®$Ò¥§Ú¿|©J±f›‡˜H“ÛÊΟÂÈ}ÚGÌO1 IDAT¸L»}rŠ`R”¨h] I$šxep<1Œ6_/à8je‚æf+›ÀSw˜ˆ¼¢vÕ +M‰\´tËšíÁ]8îÔm—úœŠQÌ– í=$ꕪ´Ù©©TE\~üÒãjßmÛ‡ ‰Š2rÕùùKç$é9N e‰ˆ‘±o­×Yè0;D>W¹Ïw½‚ˆˆ´*É}%|"¾ý$wIö½G©@® l\G$t Iž;?R²­ çŽaHßâ(¸¦ÊP‹|åB"’NŠ^KÄž#Ò¦Ä,ÊEìš$%Òå§µñ!´r¯—&/;3;#mÇ¢Ø8¯5›—Èk •W{!1"‰@¯×«‹TŒ½½ˆˆør¹ ŸˆH crâ–&ë†TZNÀuµF7§ÎÕÍV$ÆÄÛ¶äãÙ…˜ˆ„r‘6E­Ö=x÷f$ {1ñ§áHÛòphèžcÕͯzÉwfùÒ…yîc&Môm:NãþW(@ÔèHlÞþD•ž‹™;-–ˆÓëµ¹‰y³CZ¶²KGƪü7o™$%Íþ9s3êNlúf“1-ZÔ—ÐÍÑ®üû´Ð#ölñ¨;U²9ÑÓ•ºòŸ†{užB‰«H’«›äÑpqa‹2r…¬-ÅΞk¥êu:¾P(uððuðð >3ö¸*Œ™ÿšíMÚdš\†Ô-@ê>IŸœ_d·_ë&çS& ìƒÖoiÒUDED Ãt›*aUi¹$÷µ¢Œ¦WqލՑ0z­^æBÇã3ýë†@5¯…¢s÷+Fîë¢9ž™—)òõ1EDD¤KSFfºnÞìoÃ×¥-œßx5C+fómÈOQ ìe‚{^äKÝ}e1q¹š`qW­›úíbòîM¦Lk§&N«æÜíõ‰ñ9^K„DŒÄ+bó’&ç]s¿ñMB× Äù1‡%m¸ë åLôZ='`´EZ¶ñ ð®¥4;S/™-c’ÿN«y‰2ãÓK‡O’µõ¡Ó±B¡ØÎu’ë$ÿÄÀ¹ñ¹!a ïµz Ü¿º—¹ƒ ÙµÅUHE[—v½f8# ð(4ó—G&o^;Iú ïÁšþãÑvïV¦/Jk’£š]háö=y™éÉÉ‘3ã}7oi¸Áó~W({4³êà lÖ\H›¿ùvïÞ½{÷~ûͶ©Lz|.GÄ©³³K‰ˆÍOS ä2WÊ1™ˆˆ-:ž¬Ò‘d¸ŒËÍT‘.gCpxk&Ø+¹ÉÙ:"bK“×nißg|éJ‹JëÈjŠŠ4l³»›‰³ísc”ûëž;Å%G.RîÏç³Øui˧ÏßÐð«ÎWs"‰Hâ!Ó¦¤éÎmY›\tï‡Äî¾’ìøøýœ»¯ŒOB¹‡Dµ?]CD¤IÛ°!MÓÍŽMFœò€Àöp±ÜC¢NËÕQÝלd¯‰ìí™ü”|–ˆ-Š_¸0±ˆˆDŠ€Ð°(_uŒ2Yóˆ;?ßÎ×]›.ñui¼ ›Ój‰LÄ'*Mߟ¯oýÓ–æ½xiJŒ2S>; ù7ºì”|F&tÕ×Û%.ã²³ÕDDºÜ4­ÌU&kyjb$îA!Q.Ù‘±:¹Ê¹Ìä|–ˆØ¼Äµ‰8›xL¨?—Í‘H"¡ü|-ér“ÓÕË ÉÊxAèæ5îÙʸœ.8–G—¯ŒÓO r [ýe® ¯”&/ ÞÃ1ò€ ð¨ Š‹L,bÛzŠ(Ú2úòÆ'jòsô™ˆˆa8ŽkÛÀH$úÜ|=érSòõDÄêÕzDH¤ËÙŸ®â¸.zu:,Œš­]º!GG|FÀè‹ô,i³sµõ›Ä©SruD¤ËÏP‹\e’Gܽïw8pu£Dï½"°yû·$«v¾ Âdê •®ÍW(€ÓjõD¤ËOSqÝñý`èÕè ËXv|¦À½¿±Áåï/šŸøóëF$ʉ]’¢V«É%d_,ð—-Z>7X"‘ûL•)cb²×‡†Ú/_:-™!’ø†ÍSzËöÛìÿHåÜÀ8q÷Ð(a»n›rîŽI{¶O³ªø¥Ë)j×B;¾.3rîþ€o6x»`m‰ÇDmæb•˧Çé‰H Ÿ²9ÈC¨O~¬bzDD©”±3ý´ C'OŒˆ#SXhFäÒÀdéI>;BÒìëq±‹¯H©ž±ËŽODRŸˆ œÈù‰âEP”¸Å—é]‘>W9Ó/†ˆ8¹¬YïoCD>a³Ï)çωc8NàåÀçSP˜×råÌ@"NäeCu™ø6³3æ/߯ØÒ¢´L²¾“r|Bj˜Nì HTÎ#‘ÈÆøÏV(ã”ÉÈZ~¬ù™¶ÜŽÓ_>=›!â8Fæ>{}Ô$q}xª½nÿ‰ˆèb··¾]®¡¡‘Ë“†#YPÄD©švÏ©©îÖ ¾CP„×ü¥Ê”mÑ!aî‘ʹsâ8™o„ÿá#o¤>¡ç&pD|EÐlÙÒùÓ’%2¹½BÂÐzÔÉʂٛ=¤b—P—¹ÊØœmKºB™sù±óývGû‰›ƒøDÒGP970–8"(ÂQ1$š67r‡bóì6"lfG…Ä*M#†á8’(fGÙñ‰¢Øåó£#V¶8ä-Nhî!³“—Ï–(‘ÉärqÄ—ø‹–. L“Iì}ƒ&¦+•q£ÞìšWߨ°ss—+¶EûúËE.Z"“ˆ$S·Û2"I†ra¼Z­e¼ÂB¥Bá£íÞÂá-§wµç–. æÖ¬_ØìŠÀÉ(vùÌxFÀp$ Sv…jx,Ð>À‹S.]˜"‘HDFËuÃkô±lۿ먺üßðmWˆH6í_!µ "ªú5I¹îŒŽÈrÒÒp¯¾h¿BÛÕÖÖÖÔÔ ƒÁÀq˲ÅÅÅnnn]nC®_¿Þ»wï=žH)›·a¦R¼þÞ^ëg]MMÍï¿ÿÞ¯_¿öª@- :å7Dyi™zû1ÃŤIY27Ùw×Úi–áXÀ±m¯…÷x½:ª3wþª° ªºy6¿}O›P OSÎßÁ1Ä1ò !Šž|Ô1µ6­T.¸£PXPÙÏ9:>ÇÓýVÿfŵãñ{Ž])«&ÊF¼0ÅQDw²?ýw|‰µO€mvRºª’„ƒ}æ¾íñ“V'&Òfïù<élI%Ïrð8:vàŠð•¥áÞ}©â×ÓI{å”èªyB[iÞC,P©ª¢ÊÄÌäA/ÀcàÛ-Ü»ÅÐ’tÒÊí“P ÐvÑ©'²,¤‚Óª ¢›³ËHæÐ·!0U\NÚ™|E'ó žæP¥:óy|ö"ˆJަU˜ðŠŒ§»r`ïÙ;÷™øNöžø³%•Ïx#ÀÛúÊÑ+ÕDdJD÷lüúç›Ïy/˜ëaYðcÝÔÐqAç×C±kvf7Œ€¯ºyú¿Ê-ÇnV¡d «Fêëì $UÚµ;Ú+gËHæ<جážõøà÷ßÿÇ,#lxDe×t m_SGŸ¿:*ÆÈ#ҪʪZ¸ªäl‘é‹S|ÜÞÓÇ?W7_ª(:“SM¦ ïm†ŒçÀ«.H+@Öé@&ñ}gÚ²3[[Uuóôç[~4}c®w_tê@çð8÷ê˜õulz&ûLN¶ö7’M,,8ÔðVeÑ{“sJtÕ-?%|NhBDd&ä=`â ŽˆÌDupÍ,…D¿UétDTyvcøÙ†IËŠtU 4­;Žè¯³‚iç–Ÿ­ª¶ž¾ Ð#  KGâYp4={öØ1"ëiƒ…TPÿúœ={.1}ñíMw4¹ößUÛ®4ýT³P¢kub¡)UhuD}‰*n6<óÀD(äñ^|;x|}Ç'"çt†´crè ÏÝ9:•ÇzŸ‰‰õˆÁ¦¤«&냛¶p+ª‰ˆª+ÊJ²%UUÜTݬ¸Ï\Z˜¬eD•?8ðÓÅìC{~lxܙ͈Á<ª¼r¦@[¡+JÛóßÿîÉÖ¢ú:EÚQx#ç@÷ˆ:D&ÖnƒM©yÒ±Pø¸ËL+sönü<7î[^uÁ×{Ï–µ: aëW+¦½ø¯äÌÞøC7¿bÝ0¹™ãô`aÑm·ìÍ®°öðvû :u uô¢í¤ªâNYX˜ÝùéÓï-±~ã_ÿpC·A÷ƒŸ…6ÂOÅ¡µ€ZÔBW¬…Çël+Tqygô¶œJk÷·ßp¬8s¬„è¹"ç@׎:fC¦Ïz%>étúçÓ‰gi;"`ºG_Ôtí¨Cd6Ðû¼Q5ðø0~uuuuuàÙñh›>yò$Š ‰§§' ÚzuQ +x´lŒ]zuQQQ K2666 (‡§Ç`0£P €Z@-j¡kÕ¢@—'*++kjjPOCMM ˲µ€Z@- P €ZèZµÐáx¨*€?I(ét:|{ô4 …‡žLQ ¨Ôjµ€Z@-t¶ZèpF,Ë¢¶ CÔÖÖÖÔÔ ƒÁÀq˲ÅÅÅnnn(øó0€ uºÞÉ“'Q ÐݢΡ(èf0€ uuuuuQQ 3á¡àÝõ¿2B!t6ÕoÖ>©Y¡Wº!Dè†0€ žuO°“3–<…› ЫÝ1>=ÊÄÕ¿$®Ý÷KãùR[ňÑNv½žHßPeޱߔˆ¼æÏuî…Š€?ãqzuDŽ#<=G8 ±¢ÒK'¿ÙúÕYM5 :“Çè1îëèî*ã‘ç˧¿Üv¢ôÄ‘¼!3† ¨Ru:ùè™_´¬Á¸—|”Ï$g+í‘Íñ?—÷Ÿüþ›CM‰ªU_º'Ÿ7äÍÉÖ·/ýþ䥒;ê)UŒ÷™h׬#§R•q臌ü›,‘±…ÌqÔ¯¡b^õ¯‡þ³+‡žwb¸ø³ê.ñŸ{ñUÿ ƒÌ‰HõøÁ”‹Å·Yâ?7dìdïab^õ/‰ŸîûEàäiwò’ùä÷‡š¢¾á¡*¹*Ö@Õ†Ú–wð]¹Ðì›ÁÃcµê[q·é+VýmM{šwõi~¿uã¶æfÓWz‰ûöîcÕÕ§©¼[~£¸ é+|³žÙÀ®>ÍÜ¥;Û48ÄpˆáðÁáƒÃ§NcDÄ3623éÁðŒÛ­]÷§îÕቇ¿ÜŸÈðëem5Ý>·ï«ùå²ñ3ý)ÿøÞcªê¾ »žD%U•DT]òs±øƒœ¬©$%ị%|çioŽé{3ûÛo~º}ÏŒog'&œÌ¿Ý×ÕgêëìHõóÁ„£%ÕD<ˆýå²Aá?w†§”ýíçý‡ò*‰4'¾ú:«˜†Lž0ɶüò÷ûNܨ&26&¢ÛÙYåÏ{MpµÆž´êÊꇼÐõ”””\¾t‰­ªÆ“ ž Z¢*Cm^^^III»-Ô¨øzÛVw¯Žñ7ÿ1YV—ªKÄÆ_f¥¯¿ÿze¦ä›ž!&}ܔO[èc~2nGV¥ÝÔESúßü~Ó—Œ_œ4¦úèvåT??õ½éÏ›Vß<²ùóŸù¯Ís¼Ùp¯Ž]ZјyïüµQeÁžMû~á ™ñ®7ÿxÜŽŸË­_{÷oCT]°gCÝë/lÛvæNßWß5ÌœngüwóIVñvÐØÊŸîÉ74ô)Á:7S¶sÛýÍ7ì{Uk²“¾Ê¶z3p´øÏ…Ê~‘¶Ï4>å£ñ l:îêÕ«=zKÈy& êàI6««JÉ«©1 4H(>´möÚ{îã•·o³Dü^|^e KDwN~¶ædÛÚÛå<Û{ee¨.–Tš_*`©—“BÌ#Õ–ˆ~Ù·au㆗ޮvlüO¹¶œˆÌÅu]<Ó^|¢»·+«‰ODdln^—\L<"¶¼ºš-g‰èæ÷›>þ¾a7o×Om.ê…þœ§’úŽ™þò× _}Moú ª¾˜ôÕÓñ:çt¬ºï¬ú?œðä›<“çþbs£¸ ¤¤dðàÁí±Ä?•Ìnœ=UJd,sìË3½Í'" §Sæ cÞ‹ˆ'T/ñ)'‹/Zñ¨šoÁ'ª–M œ åÕOjjΣ†g»ñÌE|"¶\SN¶½ˆªËµw‰ø½Ìë×Õp[[I2U—ßf‰øæ|_Ä'bûŽ ˜l˯Ÿ¿—)ÕwWc¿zJz9¾1ƒ¾Nørgº¡ÚjR ¯ koOEE1¦f¨Z€§oÖ³±ÑÕã^ÃÍìô'RHØöù-÷?öyS2— —ݹ|®øvåâôƒ‰IÇa‰ˆÄö ݽøÃÏå$r.&"ž•bˆ9~;¬)/¿qñèÞ}~ºç!n½ì¤DÚÔ乿äýt,EEÔËÑÕª!–ÝüßÑŸòò.OQ÷wóă†ˆˆnž»x³œÕ^=þÍÞƒ'JXìJí•v¼ìuƒœCDƒ5 ðôµg£ëqzu´—ÏdÖÅ2Ñó.£&¾\÷ô´^Ã_óö¡C?Ûw‰È\ê8ÚÓ±î©j½†(D'k‰ú:Õ?gg=fÆ$Ã÷'2¾Þ“AÆÏ;!3¥Ê& hgÿ†C‡32ì#2¶9½þª§êâ±Ì±WÞÑoTw‰/uòokJdú²ÿ†C)Ù~&c‹þüFÙši°7µKÚ:jt÷Ø’–¢€'˪¿mû%«Gy,AG«¾q4nÇÏ•vÓM‘áœnªKpKÏ¡üÚAóжٟ× Ý¢tC]jÏjü{ËÆ£ÒàaЫÝîî¨Wtåá9l˜^}µX¥¾Á1"‰­\*@‰tA7Š ˆ¨ÏÐ!ˆ:ìô½[vî:¯'bL®Š#b$N>sçÌzu @—Ry·¼Ý–…¨™æÔê÷VÖ™8ÿ£ceB""®ôÒñ=;¶F½wødȦU¯Êø-?¦?þ÷©«rš¼ÀXÊœ½¦O›êÙŸiŸ5×]:¼mï¾Îæk«ˆˆÙ*<_Ÿ5œ½•z¯¢ío¾µW´zß&OäV@Ô€g{më{«ó§­Kš#/=¶sÅ»é9ÅZÈܦÎ]ñ…÷‰U bß²üjÕÈÖÛÈÌ VÊâ8½¾ôrú¡ï·.;¶Ï#d]ëéèIâ®~óÁ‚¸l½•‹_à²áýT®:wlß·1ïþºøó(iw­0}ú?ÞÞúÒº/föÇÎ ˆ:÷¥Ú«Lк}´;Pr2òoQ§W¿©‹%LYö߬ž÷¶ËòuË>ñ{w^Ì'~/¬x©µ°ÃXÙÁ¾>ÕŒôz=pÆžß]ûÁfÛ/ÞúûvØKÇesN‹wGøØ4,gܸ©~{Þµã“ÇÜ?'êžÑôFf^9÷ö\@ÔxP»ùüÎ]×åó£\ôß¼uV¶ô³vçwîú>“?pâ»ë¾¡|'*rßÎx|ÿáæ³ >݆ðÀȧ/[|rÆê½;Òç~ì%ÔÿûÔU\ÐÇÞ§W¯?O~Ÿ~õÁP†½‘¾yÃÖCY*=™Ë\ÇÍzŽ— CDª]ïüm³`Ù'£Ò×}™®*'²”{ÏY±t\Ë"}ÆŽZ²_úGΩ[ü éï|“5ƒû,KŸþ÷©rAë¦l\,_O$zaƪeS¹oW}üM¶ºŠ¶—F,gõðµºÿæ¨÷¼óæzÑŠ­ã2×l?žWÆ‘‰Ì#pÙ‡ÓëÇ×éÎï[³=áäe-G$èçâ¼ì]gQú…¬ ¼¶só±lu1V ¿ï;‹J¿gJl>mþûèÍýæ%ýw†èÚá5q;8¯æˆÈD2|ܬEÁµž1¶øðGq[]Ö ìF-X:±¾ô8Õ±í·ËT•™ˆFÏ[R7îê–7gS¬a6ÅV \qp—ø¾À3 ›¨g3x¿ЉpE§²õ¶S=-ówíUÙ/v8õþ¼ØiY™?ì]õöªÜ ;\?ðåuû×™¼cùº6ÎUäî7„èÒñ<Žˆ†¨èû'mlüôã™Ò§G½ûáÞö‹>ýê`ÂW[ƒí‹¾]õweºŽê'¦Ë×]v_õÙÑS¾Zí¦?óþšó\‹ÏÿᑭψV—hÐPIý½:Z1Dy{7žsZqðpê‘}˜ó ‹ÿñþ.šõÙÁÔ?[æP|8jCÖêÁ›Ãߺæ¬bùgGOþzã«\ÚŽ·]㈈½¶õïl<ÉL\õŸ¯~¶iÑPÕ—¾ûñ¥ú-eˆò¾üä‡þó>;˜zjߦ¹æÙ{•ÿ#é¸u»CäD’ÀO¿>²nª”Ë]ÿáêCœ×ªO¿Húü‹­¡îÜ±Õ b³ÙÖ+&[LºÍ´vößÕ³åE'V¯ø^MDDÚcÊw"¾U š³n÷ç_팘ʤ®ž÷ááÒºa*ÏÞ´—{=bÓÎPñƒ&€Nê¿­U[Dx–i‹õ‚þ2¦,ÿb¹Äu;¦ú#Mœ?pÑÄÞ³Ÿþê5½tˆ„»¡Ö·u®Œ´¿€ª´š†„ÂÑă½^*—2Tzbçå’ia‹_*‹$Žã¯òéOï<©mü¸|nÈÄA"†‰çœÅ®&Ú¾ÉmÞv×kK«HÐ_òà{ì¾,«óGËøDÂ!>ž–ÄqŠù 1¿¿ûëC‰+È.å²V_„‰l~ÈÄA"½ôª„´ç ôDúŒíûT&.«VÌó(÷·5ä£i–êow¤kþh©Ìøàu{1 ì½_—SynÎ "F 2gˆH(  éU9e$åã9T&µ’9Ž^ðɦMŸL“ßï.©AÁËfŽ´·é/÷|}ž§9åU±DT¼oóiN2íãU¯*l¬$ƒœg¬ Upç·î¹ÆŸˆHo3gñtgûAýž: Óžæ¦=Íuà™×Ø¢H­šŒC2—I¢*""–8z”JwOÃW0TÑÐûÂR‘‰¼É#Ú›‘r"uÆõ†ôsÔ˜`’—¬ˆ+Î×6S ëýÀµxè²D¶²úE1ŒØœÈÊ^Z?-#0gˆÓÿ±ˆÖת ›cåbÓøAsˆå8âTg 88Ñ¡ñ-Fæù‚€®¥5|Nd+ÿãMs§áZl±ÈÞÛ–TqモðýÙ| GÂþöŽýïeCÞbQ9Çi®e«I4ÂMÒ8x¨—iÏ]n,u™§mýÛ01yž›»pÙØVýpƒÈD>-lž]yúšÇ!õ—ZÆJÖæÛüµEÅ\}RâêZêÌ!¨œ#¨inbCz]c3ž5iª3¦¾E~ïŠK¤æ”S¬Ò’Bú€Àõðe5Ÿï}]ëkÕ†E´Ìˆq=QÙªÉWÝûžZßêºÝwµdÓ×}!ý&aϱ„¨c[‰™Û¬Bf¼tŸªjµ·‡+Ói¿ýÇøo›Å¨b}Cg#dÚ41‡¢@'!å"ڻ/fN“¿µ}ÕÞÖ­úG^‘뼊¶¿sNä³Ó¹m¿=©Ïݤܨ"ù¢@Ek¿ãÉØŒ”QVþÉbî¥õÿ*:•O$óh;w=óªv†M]¿„>ÿÌ ŒjÙ¡$pã#ÉÚ·Y¹uøÇóÿX5îêž—íÍÞßkÜ@É×Õv­¯C·F2–ù¶ Ÿ¬þx‚œî†š³|ÄÀ Í=y^o7ÚEJDÉKã,½–>ëûÌRÎGÚæMt—ÐÖ¢r‘MÿÆa†ÚÒ2F*bþäÄðlDOOO”tˆÚÚÚššƒÁ`08ŽcY¶¸¸¸×§èÊ"ÂCØ:Éëa‹xç“÷b–ý'ô‹Ý£ömûöø®í‡É\æ8nÅîiŠÒíï/>!šöé¼û=M˜»‘{î<Çqœ^s-ýÛ½‡sÊEc—}4ý>?p)5oìöö*7Ú…NaE¥Y;WÒŠ¼W4y–šjsl‚pÎD;F}rËÆs$òó³ç·Òæ}”ÿv\¼·³½_è:DTÿ¢çµ’q­'yȲôZP­¯U6§U×9Seï%,SÊ> úùA3 IDATt·pEç÷}s€óÞ´{¡ýCÒÃiOžÍv%‰˜K_·:N/þ`š‹€Ógn;¡¥¡î6”;úOœï–±áÃu& ^*aô¹?l_½ù¼|ùçë^ý¹‰ £Ü(. ¢>C‡´GÔAq@§eå³úcý²W¿õöa¿À©¡ël¬N«ÎË:¼é½Ui7ä~}ü€åÎo\üAÃÌ%/̈œ3k\ÿû·µ.Ë7}$Ú°uý?D‘¥ÜcöÇLoÒd;ëçìͼ‘WFd)÷]±¨õ¥36¯¯;8äðæ/÷üæ“CUDÄH†¸®˜7wdÃïðÑå‘&€Ry·¼Ý–eIJ,J:D«½:nnní³tÞWFuÿ¨~³¶îYYY„^€NIŸlïÎmߤ«ª_’¸zϘèóRûµbÕ{Þys=³ìà¦Gm¬?ƒkpuãhœœœÚ6{í=7trù¸9›C¬V­.Ó3–©H€RDè&ø"‰ #¢À“#™þßÔéX+D€®wé µØòg[»â4jÕ5¶âžxlÕß¶ÙtÅiÚs·Ç!öÌb8|pøàðyv±šC]]H¥R¡Pˆ¨ÐÞ¬­­…BaÙí;FÔ^«ÏãƽE¢¾}ú´[Î!"#–eQôÐ!jkkkjj ƒÁ`à8ŽeÙââb77·vJù_Õý£úM„€ö4Úf¸Wº!Dè†p¯<óÇ@Co)t'èÕD€®Øà…¯toèÕDDDDD@Ô@Ô@Ôxªx(èºÊÊÊPÏ8KKKDxVvk `DDDDD@Ô@Ô@Ô@Ô@ÔD ê ê ê ê êÀ3ƒ‡"xR8Ž»uëVYYYee%Jãé155µ´´ìÓ§Ã0ˆ:O=çXXXØÚÚš™™¡@žžŠŠŠ²²²‚‚[[Ûû¥D€'ãÖ­[ÖÖÖ(ЧÍÌ̬.LÞºuë~Ž{užŒ²²2KKK”C»±´´,++»ß»ˆ:OFee%Æ­µ'33³Ü…¨Ý¢ ê êt('½:’tN(#•Ÿ|¹rwáý'b/DOpvž’PÒê›Y¡£›¿Å^‰™<9ú Û|aY;ÃgLéìììYc€&õb 3¨n•øÒAV££Ò£©:·y¯ àñ‡M™"Î:X·4ãd'!1ÒB}¡Ž}bElígÀkóÞÒeéˆHwõ艫Ù¸&fˆ˜A“5 $%'vg•^ zùhýÿ Y:''NÃñÅõa† ""NÃ1b†©ŸL,dîY¢P(¤ºÑ,íp¬† ªÏ@|¡”á®ê8Ÿ6LÒôŸTßY$°®ÿˆPÀ§g¹Ó¸L¦˜áJê2‘°a•ø|"buþÄ’ £ë^äôܰ[ ˆøÍÖQ  ➺r2Ñ­¤«'”W‰¤#D„¶«Ux4I÷ÚŽÿ­V÷έ#A»³tNR1ÖÔwþp·:Z.‹ã게F£ãî¹W‡?hü ÝÆÝWCfE¤»°3&Ë)ÄI,Ô—Ôg VWÊ1â¶¤ŽÆè4:b|µËÒÕ/»¥á„#[› _8@,~$Ʃɦ²WžbQc@çSx0I3¬I/O§×¤vŸÒY» ¢‹IY:"¶ðàî«‘xØ0aaRê-"*IMÊÒ7›UŸñ¡S˜ïBî×ÉÖ®Õu…s^N>ÐIj*!UOb1iNï>¥=AØÖÓÎ*Ozu Ûb¤bÒ|­L*lqÒ¹°3tÊhggggç ³¢SKˆˆ=:ÒÙyJìÁ˜Y£GÏŠ9U˜=£îß± _ßßJ ©ûàè+vïÆú8Mž1kÖ¬Yó^@D‚ÁSÞš5kÖk¤€W{vØ+1œG†¤j®DOpvº3&hòHggçѳ¢SouÓ‚bK²®rDN!a³¦Lž<%$fÇÚˆˆèYƒ…% S^Yx‚#ýw³_žs…eKŽDϪû¶xô”Є :b³BGú|RDt5r¢ó¬ÔÒ#M¾2¾ç[Û’Ôè ú^£ÑSBw^xf¿ÅkY†DDÿ¿½û‹iãÊ÷þ]i5ó2#]eòP£ÕÚZ)ðxHŒÔ˜•ˆWÊšÁWi\¥×ôFE jH/vÓ"ÀÙØMp7‚*”[ÜFk]ÓèâFº†›Jëä!ÎCießJž<0èJ3/3RÚû`CHBÒl«nSø~^â8ãgŽ3ßsÎ8k©>U[çíœL­AO¶þúÍ HwýúÉ‘jýÎ|OsCyëöÑ¥¢‰üí±åš0>ßã- ª>]7žØûjr4 Ž—Ê…Y\ߨŸ Íå±Qg–f;½uµµµ í›Å…^†Z×Úì­Bv< Ž&µr‡iŒÏv6ÔÖÖÖù—ò™Ùöòí¾£gfÍ uµµµu¾Àü½'ögyP¾4’¯'Û7¾ýz©ŒÏö4»kkkë¼ùÒäž™lo¨­­­mh¤të9‡­'‹ÏöïD¿7(w÷pZ³¸ã¤¤M[ÂáîP“„L4¹öXµ+× ·/0›ÑŸ,kÚÖª²¥ º}“¥é¼gWSuhÇ“]-vä"ãKkלpgdY­êžšð˜Ù…àÐÒ @!ƒo°Û)ÙhWû,üƒÝ.ÉÈÎÆ‹ò³íÁ¹´å›™¨Ó‡:#»dEÒ^w«K€O@M'5.¿S‚ÀXŽ›þ±ù©Žj+»ÐNé;²¡Ä Wµd‚­£³±d&/»½^·Ó!VxF\ ¸BS—ZZ,Ø»ŽÍ\j©(,O§ï¡:0Öb`o›tJÏ:&‡‚ Ù76335à¶–§§wé‚·âÓmh¼3Ñ3—¶Ü#S33#>937ÉÀiRTwOͪŭOÑyj"Q¬ì¹4ò ³Ð{jüŽ üc=¶\¢º»{ µÆÜ¦n<±÷…-q->ÕÍžÐØ¥‘G~yâT0^Ü|Îé¼;0Úí’´ÌÜàÓc1ôò|ñh‰Ù¼;ò(Va±·u4ç x«°ž»gkñ`{dYs†ffÆ|Xžh¿`x-u…x¦:0ûñH“¬.OôDó03áÀ\F³¸4Ф%ÒÖs[Ot?}»wbÞ›N,«²'tiÔ/$÷éa-M[’»Ùíò{dcéò9‰y/ÒÞ»šÆÆºÚr¤³'åxVY3ó“í]siÃÙ=vi¬Ûi¤çºÚgóxfUá1…Q‡v‡¿§I±ÒáHfíÑ7\®l›úøã¿Ž5;k<>§ä³Zù_g[›×íks *[;½n_›[´¬f"ŸŒ€ê¶6wM·£Å5±˜ß…Cvú] ‹é"PÌ$THîfçÆ|zu[§»Êáô·¹X™Å¼¹#J®ñ®ÔÒ ‘p°ýõßÔ6´Ž'×€½‡"‚RY]µWTÜ£ü×™€»¦Î×d´;ª%VT:d¢£ºÆñìU&s™\5ý[*Ø¥«Ý¶kCÀ2-@ËgîuGËLêoKƒNY®ªrdGuÕÖlÅä|¨ì µ6Ô¹}K€–ˆæÌïÔck£f¯»bïvuãñ½¿egfç$OOÈç®kè µÙ€LtãüF¨ |n·¯Ã£Z¦È+'^n•­>wS‹GPÑÚís{Ûšl€–Ó,¬¥£ÀîoóÖÔ¸ÛÚªa$çs/¾CO‡Ïé¨jhóÛB"SÌ-e ÀÙÙé­«ó†:œÏ=l=Öýôm߉šN©@e[·¯®®!ðHÜ?FÒIG3œE×e·KA6º\šÖÏÇjiw»Ý̓S—ÆFýåeÍÌÏ/gh°Ù]çnuT…X|c¤d›ªÂcÊ&^«C;˜ ;;º]‰ÞÅÁ9—{³`hw¢áH"ûh*óÀ$+Š@@ظ-&,˜z^ú]íÐÆö9Õ®¨²³Õ#-/Æ3ÅÃB<©É¿9Ø$({KƒÙ²,†®ïÔ† ñ†Ìµ|6“œŸˆ,G{†œK“®­Yj<2K <Õ¹¾­‰Ý¡¦ÁñÅh8 U·ŒOv:wãúìmÛPt†FýF8º0Ñ»@¨<>z©Ç½wûШå4ŠM)÷P› hšfÁöõX»Mø¶ºñ4½¨Z€R©”:½bSUÏk¦d›"Å àŠ¢—þ0¢TÈ€(*E‘Š`h:€BäõÚÈÆöj^ƒ³âÅž[rÈbé5DzÑÐUJB…MúöÃVÙ¶ïDÕ‹Ù&€Xú*p—þ“—£YËÁ×—Ë÷h󉢯µšª=ÚÝrU» òÛ?ÍcCVlrºº1PûtUá1…Q‡v‹½ ޹×'¢)©4Ï»–ZÌJž±ÿp‹™Î†®ôÖÓÙçœéÊ0*»gFÝåZAÙ-eC¬ô{”Å…XrYÌAiòWЇZK-êpа4Í$EÞ‘ µ–š^ÌÉþPg¼×álhµ#¹Ü›Íç5l‰:æ½Éž¹´VÙýñTs•6ë{=Rئ)À*±Xkš±ÑëD‡wpÖ;h®Ýˤc‘¡…¹Á˜7ÞêØm_Øg¶á^w`Ê0×òÙL|zhna0â]ܶ[‰J¥EU*KÝzöøôØìÖšðܺñtp-†ä4(e/y#ù€Wï’¢ª­ejÒgÛè;rÅÓ_xÝdèÅ'~+MËi&*Dy€ìdM U³z1o¼ÀaëyïÄкj2L-Ïœó#$ä|‚³cÀï˜Åxxb9Ë·vÚd›R†ýN<~Çrx|ÏÈÉŠM´r߀®© Ø±^Åm†çxL)ã6Úé¾ÐqÚæ ±e€©«¹¥éé; ryãžÇíµ¹X➪å“ãíÁéìî¹ÊO¬jn²!™ÌXŠÇçØRUs‘ð|2ŸœL‚ÓãwbC‰b~9‘˜ko ŒÏÎÏÏNÃY@q9m€ ˆ€q'‘ÌþÏ2˜šVLÍOÆTZöNÑ@1‘HÝYûÆV©êât,•Š…§ï<:Ã÷ÕÖzãY ²R! åI‡]p}$–ѬmÛ0k­«uæ3š)í­@Vd‚ È%©­WƒW¸›«ÂäÐìR* §-ؼþJñ{õØm놾eïç·O%çÑì‹w?qÛwbs¹ 7Ž%SñðhéÚ®˜ügÊ'bÎ_ƒÛív»Ý ¾æ: j"vÏ+½HONÆSÉØ`phb"¡áeMtøšì@&<8ŸL%gÃã9 Òïs2ÖT± º•‘ŽF™Œk•mÛµ¡öÛPÀS‘èzóÍ7ÛÇ³Ž¦ÐX›¨p7»$h‹CCs[/¨ðMNu®¸éí †S‚«elêÑ*õïÖc·¯qíÑÞ­Ç;ÌÈq§•wuõÎå+›B3£ L:;1ëxǦ:\Bb¨ýTW8-8[;=Oê8»PXè NæêÚK€emö[“G‹ö#iË~84îs@® ù«%uq¨k<íhõ(¥úð"ÝOÞîˆUcNE[‡bB³Ï¶‘šèŸ•tâ±PÓT³9-V69¨‰XÞk:¦šª…¡®`8-î˜óî}VY«:§.µ¸¤ÌD°+É(‡;¦.5WY¯¯Þ¾_•ëß}÷Àí+×o ërãùÈ;…ì°¯[klÄíÛª¦ò‘³gë@Ï}öÁÈ•Ulõo{÷¨]Ô¿ø½÷?¼µÿþÍ»ªªöcçÏ¿]-ú­¿ô_¿k‚íÐéÞÞ×*E3wÁ×­|C\¹™SÕuáл:W¯ · Ü6p××rl"òÚýú/¯ªiÿ±¾so”ÙˆèeÃY""¢ïLiì{K¹9|%÷ØT‡¾2üþUœžK$±³¶•þþÏ_ö¥¯w_ÁÛÑd2;«ÜèïÿBCáÊ{dœ%ã¾±~ùý‹Y`=XUëû>œ[˜;mÞ¾ßxþ£O>:©_¿¼¢`ܾk?ûÑÜ' ѳ¯Üì^Õaf/v_T?Œ'ñ‰W³üÇ•Öý›jã¹æ>‰EŽ®]\Õíó÷»¯ oÍ%‰øG'´Ëݳ&ë_®ìyëùO¢ï*+¯æPýîù{„WÏÇæÞ±ßýóÅ[ûÏljD"zÖ^¸±ª±/£ÑN"Ø^ë;)^¹¶e]—yÿó/qèdi"G>pâˆtÿFvë*7óþg·qèä« ¥¾7?_¯¨«+ÿûʯUËDû‘ûŒÕ›€ lÜ/Øc· {Ù'–nC[7JO·ïØ(ŽîÃý•‚^¸±jì?Ùhˆ•¯½öʃ•Ò°§¾qŸ @´í·A{`@¿uý®ÔxºÞ@´9yÀZ)/Qö¿Qú’Ý.êúc[² Æ­ë7V š©zç}¿U؈ˆQ‡ˆˆh‡±Ÿè=a^é¿®Zå;,mÝöH忉²M²tÃØòK[7„=Âæ²,šzÁ€¬løô³¬ À,ܸv_ª?b±ðpÿZi©›ºrý¾´¿Þ&Û륻WK Ñôì§Ÿ>øåу¶í+<¶ýÆÕÒµ6fî³þ÷®æžók Ý Ÿþ¡¥ÿ û>›Ä@D/%Îê}òÁ3}õ+Ý7ëûΟ¾Ðâù€´ïØùsG¿–E®ï;²Øß0baÏþÆsçŽ*À‰?õªýï{= Ø™8S-âE~ØYÚ ðç¶ã÷ÕuËÖØwî TŸ™832òï ìGzÿtÂlÿ›ØÊÑsç Ãü€`?ræÜ3–h?RÿʵoÓ͉NY½àw@ íkì;Ç)"z ýÌ4ùûøôãøæ›o¾þúë‡>|øÐ²,Ó4¿úê+—ËõâÏ`Y›‘ˆv53{Á×­ãê1"ÚÕ][ø8.`#""""¢ˆQ‡ˆˆˆˆˆv ^«CDDô“%VŸ]L°ˆˆ¶ÅY"""""bÔ!"""""bÔ!"""""bÔ!"""""bÔ!"""""bÔ!"""""F""""""F""""""F"""""¢ÔÏÙôÓ%ˆˆˆˆ¶ÅY"""""bÔ!"""""bÔ!"""""bÔ!"""""bÔ!"""""bÔ!"""""F""""""F""""""F""""""F""""""F"""""bÔa£££££1êýtý?ÏJÖAÐ@oIEND®B`‚murano-9.0.0/doc/source/user/figures/add_to_env/add_component.png0000664000175000017500000022164313656750211025172 0ustar zuulzuul00000000000000‰PNG  IHDRP[Lò÷’sBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝyXWú/ð··j–jL7[ƒÒ¨ Q1"EF0 ¨Á ÷uF0œ(ÎùÝ™î ’p3îJÜÑ Qa’€ÜDTDTš H7Ò…ÐÕKÝ?]qL‚Éûyò<Á¢ª«êtSç|ëœSÍ’Ëå€B!„B¿Gl,„B!„„B!„ÂÀƒB!„BxB!„BB!„B½ î«oÊ0À0:šinÖ57éÔ4£Réh•º®VG5h•JºêgM½\S#Ó(ä´\ÎŒswüß¿s  !„B!ôë`õõ±Ôê'5w|ÍMŒN:-CÓºFJC5èšžN×. 1÷ÃbFë8ÖyÛ¿~¯E©~XFO7ts7p‹,„B!„úƒ>÷ðÜÞ±]s)Ïa8‹Åft:`± S¼6› Àb³X ‹Åb¸%·ný5pÔ¶Àáü´\™zœm2B!„Bojà©×2umC–ŽËáp8›Ëb±¸\—Íåry‡ÍbsØl`±Ùl6›Åb±Ø,›ÍaƒJ¥>}œç»Øýqú¦¦4j®õÀWØVŸùXlœ…B!„Ðx@«©£U@1ÎbóÁVƒXÀ`tŒŽÅ°tÀè›ý-ãÙXÀÒÿ¯5hµZ[¥b†ÕÿÊB±k‡òÄÓÿùôÕB!„BèÍ<ŒN§nnæ²X µ™X«Õh,`é‹õ<ŰX,` -ñ0 ô_¡a`±˜æ&`³Yø±ø]¢å29Ýë„H,‡j „Bý Ò–J)B,“Xè×<, €aØ\6‹`±õÓx€Åbµ=¨@ÿ3‹Åb8 Mku:‚ËmY¡×Ìs÷îÝ'NhµÚAƒ-^¼˜$I¨¯¯ß¾}»»»»P(<{ö,üéOš2e »uð˜B¡HIIyòä ‡ÃY±b…­­-\½zõüùóK–,)---((`±Xï¾ûî| ßDGQO"·6ÿT¤× Ñ–0éûnúÉHO>û_°Œ¼g˜nú*ó\ý¿â™¦&F§5Y¸ô­¿|Ôþh•§O6Ú«¥”lccË»;Ëã%sµµ5–ñÉ|§Qø9ûÍÉó—G\R¿`-Þ¤ˆÃ‘n",.„Bè7#ËŠÚ] œ´9!Ì[Œw#ѯx€Å²rÿó¥<ÐiA?|M§c±Ù`bÂ2°H’%2 K(bq¹Àå6<}šó­ÕŽ—H¬˜h†Ã7è6ô8qbÀ€fffeeeÿú׿‚‚‚ õ¿½}û¶B¡4hÐÏ?ÿ|ñâE‘Häìì ÉÉÉ4M>üþýû 6118p œ>}º¹¹yèС>ÌË˳²²9r$Ôþm£ê^±Á;.,6‡.+C—ñêŠrMM5a7ŒcfN µ*õ8Ïv0Ûd€êvaÃñ¯X|ƒ+×´4 ·N¥Í6& 'LÒ)êØFFíÏE‘ø…¶¶†œö!¦þx ËÔ/^K]V(‡ž]¾0J¸íðFû×xå•]·æx¢Û/y‹.ݹ<ð´¢Ýc»I‹C;÷i¯t~èœX›„ÃëûX´,ï`Ò¡Ìü2…€gù¶›ïÚ@_g –!„º©±3¢ZÒ(.m‹ÈtNö¿0$¥®^åw<Ñó5Ö¦¯Zëõ#TÖ†¹ÑwÛ-àYŽöò ^ï-éÓ)½r[E^˜š´;5ïnµ€'´sõò \áö[ä×>†‘ýx]«QsÙl›Í`³Ù:Á a™™‹Åb³ÍnëÆQÝzòì0Lquu‘¬Z©jÖy¯w0ïî)m'Nœ€ÀÀ@ƒo¾ù&??ÿúõëîîî-Ÿx…bþüù#G޼ÿ~JJÊéÓ§õ'''G¥RùûûÛÚÚÞ¹sçøñã ,àr¹ÐÜÜüç?ÿyàÀ?þøcZZZffæÈ‘#Õåª{ÅFï™ýïgŒFèÕ`'ÿâÿRçs½ï¥ŸdŸÌbsXŽª¸¨:8 1ã}à¡ïߣҿfYÿšÅã1j5›ÿ| ]þˆúækÞÀAoáu« €gù¶³Mo©TE¡€øÞHz{ëéÖŠ€–Ües<¦//Â5ìø^‚ìcùÈÒCWÇW»‡íõp“”4?sOìæÕ…{±3 !„P—»âzEÇÆv~íƒ}<¯NøaRÛ­ZJš¿9z+éxx­¤/!ñM8ìCö9íäED:†$ǸJHZVœ¹'*buqðÞ¸Øß6ðè­éŸ1}§ºšÖjÕÅ(ç!B!«Ûoeý¶Vma@Ø °Ùœìÿ0N£YÜ»¾}û6899ñù|˜2eJ~~~AAA[à!bäÈ‘ à 6ÌÜܼ¶¶V*•J$’üü|@ Æ6bÄwçζ—‰DdfĈgÏžmllR  Õ‹Ëm96›Ñç46›ÅnÉcm1FßQ£©i¹á ˆÓÐpý ,~‡üFøŠÑhËV²qàiÿAH‡ oVØy Ó³+¨N¿9úŒSDDH»ùsݾ56SFˆÄŽ Bý›\œ{°P@ˆœ}CB;’ ;ºzuž× I~^qEe·"Ì—N=˜]Q-£×n‹ô€%Û8{ÙµU ÝÔ t~øÂxrñ$*ÿfY™Œt ]x0ýfE…œôŠÜ¶Þ™ì®Ú%€Åõ›"²‹«ÉÑ‹Â"×:“TáѨø£År€°ó Ùè&–¥o8ê¸mïz{d›ÙÄ$ot$û]µEJÜ|]ƒŠ+(´4#>zOžŒ í¼‚ÃÖ»ŠhYFìÖ¤<9!»úzIw§»íÝ»˜N jíáé¦%C—n_¾U±Ø—ÈË.«–É ×àè0O1]z0>›\³'ÒW­±£OXoÃò¤¤|HçâîÚ Ý·¯:¾éÒÂü.8ÂÒÙÕž|}˜–ç°édŠ'Áá4I蚛نF½%C9d©c€glÜu…úúz033Ó?Ø€$I>Ÿ¯_¨gmm -“ˆ`È!µµµOŸ>U(`llüã?2 £Óé‚P«ÕÍÍÍú­ôÛôÓ‡ø|¾F£þÛ#ØFÆÏr²ë“Þ ‚^gijk”§ŽÑ·o¶-Ñ5Rôý¶¡!¤s×õµOj© ßOõ"½fàU«¿]D ‘%I)²´iÉ-í#A(ºnBåÇÇf ƒ'{ŠèÒÔMj°Ñ/ ÝM­M>î#!äyQ¡±6‡#Ý€õÝ|2,.QLå‡/ßžºyob²ˆÊ ]´Øk££<=<*[¹7ÎUò¬ðÕQ±Ž‡clÔeéòÀäãa¤6{R eàH ¾› ! ‰‚ÊZ¾§Ð'ÒUv4"êÒÛ‘{ã\EtéÑ  ­©v{w¸E§FEd7v<-Þèßä¶B¡×Hä¸(+ôØ]ýHt»¹Á^=\×¥©ÑIe gÖ:ò¼Ø€Lµ%€´»DL]/sÛ·ž”¥®ö‹Ž5NHNÜHH.Ø·¸‡j×€VäçÛ'ìÝ(Ò£AQ»Ýo´É ? ÁÉg<Å@åÇ®²ß›èã¶6+ ú W²oE|RµWLL§†z?©¶¨ÒÌ£yv+ìH ‹wn/óˆ;¼Ö‘¤ ·„†ÛNô†¬¨øBÇÈã!®¤,+*(SMz¶ß^Ö]KÆPäç ÷Æ%‹AžµiyÒÑR·Äõë ŽI"7_»mñÙ´swm†Åd·í«%)»”±§¬ÓiY~˜°w£coÉñ¿4† 쩃Ä­,Æš‹ì 8êÌУetLKdêF]]][žÑ322N§ÿ'§Ý(8ýÏ555ú'™L–––vöìÙo¾ù†¦éökr¹Ý%:6[´‰Í7h8u¬ú¯ëu”²§ÃV¦¥V.™K9É4=cü–ȧыÅ1³èöëS•i©Àâã]æ~ˆ®ÎKÏ“SřǺJͪîæntE^1mçã*ÂÞÃ÷mýÒ²ôú»K_;*?KJé¸>Ì£,><<"Û28Ì»ë€0ZšŸ‘U(ëþatw£ç~ÐâC¿Ø²Ñ›BœI  Ó‹I/?71bÏÅÎô¥ )-+¼®øxHÒÑÇÏ‘×i7ù”ãb}ö>>âêK×e@;ë Dv6ÆT…‚JNñD¢Î·]HKc *õ…fã3IBiã(‚j9²ë™ebßÅ-ÅîµÈN–y]ÖéÜB’7Oêpïäí5 1˜vBè Fî ˜ñá¢Ðëbß5k-Z´fÍ"»›¡‹>ü`õöüÎ7õA^œWaéá娯‹çNÒßÉì±!Œ½IÙXò„£=íýÏ PPÐCµ <çÅ€°÷ð±QÜ,–Óe™ùàºØM @:Ïõ Ë2Š)±OH 03:<<©Ú+bm—Æ÷oXm)¾ ü°µþŸ” ‹££}Å@K3.Éíé{PHçÅ>â²ôB9]–]F¸ú8“ öôó²ìôõØ’á9ú¶‰ IU+€n”Ñ`lÙ¹þ'D"-§ Û6CÏí«ç$‹·m›kÓ~‰ÐckBïi^å{xZB £Pц\.°t:†Ýv‘0Z­þ‡&†ÍbiuÐ×S³»ûO}Îi 3ööö3fÌжî‹aƒ=ZÚø}oþˆ‘µÿg‹êVamè'Û“Y]¢QóEB×RlñÏ\ KÙº•tYé ˜EìoQçÓsð†ÚãÅ«?!ìÛ""0±k$ EÝMâQP„¨uÒ I’<Z.W7Þ ]8G¿œ¦Á‘Ò_‰yÆ­qúažDëhOJѨ&Äm3`Œ…DcEïùÁؘPËhŠ’R`,$Ÿ_€V4޾‹E~ñ2¯„næ¿ÐűA[³ÁrÑžîÆæ¶Îá¡‹·/ßTæ¹X?c‘R4ª§ƒf¶ ᪠iÍ3n=TB$&‰5M£‚"ȶ3!…Æ@É(Ú®ÝÉ>¿Y’ê2ŸQ@U7‚Ȧ¥°^ÇhJFAÅî€9[þݨÙ)hèØëOˆ½Ã’!*`Û¥Fx{MRÜb{¼Ï€Bo°Ò£±§ËÔP–}¬¬C\ñMìnïÃ[µtc#­5AˆI^YÏ5Æm7ï‚àµVÖúz§§jH¡°µ`l ”Œ¢„r5áØš\RLª¯7R$ˆ=W8'm·u[ýfÕVÛYú†Õ%¾-)£QA©ïÆ.ŸßZR ©¦h €´kmË6dÇž=´dŒŸ7zÚÊ”ŠI¸^-èyh¹\MÚ‘ú)ÓÛ =µ¯:¶xHçõ Û hóé }ÚIó|ñ”à¾?–ºíÙÓ/±¾`É ›§RŽaµmÓ]è‹ÅЮ?Z¹µiË3 R©ô›è{„4HÔçÙÏ\ë–‰ÿ®Z³Týð¡úÑÂÞ¡í$õÿo8–¦ÿó)×Âm˱±¸\`mm5£é¦_ËdÑràrŸîû²áhŠiè§Ðo¿zèˆ.Þ›çlwpsRç r‹ŒpìæòD’´Œjy%W¨Á€‰Œ…^1‡C:ÞO½`÷¤Ð˜Gµ½4*hcýECݨ Z.4OD’¤„„›m i¹Z.®ò¬¤ƒ´Ç‡6y±ç&¯ít¥$ŒíÄ]ƳéõÙ @8® v]›1)Î[¤Ð˜g¹(¹SB’êFŠn»Qt‡] Iº¢íL(E#’îŸe@ˆ=¿9-óömwKš^!7N ïnRLòìÖìMö~ÁŸµ¾òˆÊv ŽôÅ´ƒBo6ÙÍKÕ=þRq=OŽ’•t똺±B®î¹¡ {¯Nz¨vih >Tc#b’‰xÏÒ””â …$Ð¥ã í>œT}0)kRd·mð߸Ú{…ø¦®‰=8wïz{Œ-IÞ¸Ã1®íÛ T> ´¢±µÝSA©_®%Ó Ñ¸qÂ=é饾ír'ÏK-3v^kC@YwåÓ}ûª›•óú„mDÔAÊ'lãË=©CÚX,k× ,§};ža˜î‡©Ðͪ†ÊÇÀb±Ù,‚Í1à° ¸l6­ê&} … •Jõ½7uuu ÃXZ>ïI+//‡Ö¾G€™™™~+ý?_ÛȈ atZ¦]š‚ÖŸé»ÅÀ~«e²‡úу–­ŒIŽ™¹®¹¹ùÊ¥nJˆà æÌ€¦¼´OëñòÕ?´Ümp\¹ÖQâ–¼·‹„à–¿®Ž½6“ì 8=_tiêiýŸ'açãLçÍ“ÐÒ¬Øð…Ô‹‚tö±£²OëW•e-g/; "=½”*?=Ÿvô°!Äã¼ld©éÅ4ÐÒÌÔ2r’§„yVl|™GHÈÆ°µÂôèÝ¥S›dqò7§OŸ‰yQP Ý×Ú'ÅçQ¤³£<óX¾€.M ?ZJƒØÕÑXš™/ª4ýhaÇ !ñžDÍ”Ò@§¦Êl¼F‹{:ë5ãdI›£ÒõCí(Yajøæ=”GÈŠ¯õâq^é±Ôb €*<•.í%ó$Æ`ÚA¡7­(“÷òky…¢c­'rgY­¯*åyGóûZƒt¬wº«v ±05O´þVÝhaçå ù-myáéK”£—# téîètË5aCB&•ÅÇfÉûcµEH{ѧ£S¥4ÏI¢Âƒúªäy;÷gÉ´q•(ò3Ê(çË®~Ù–L7;³_ìAŸÞ~4_J-+Έݼ­Â9pMO߉їöé¼6&nãK?îµÏCÚkj€aÚúy@ßmÃètªf`†`®á©ê±´©äΓkW9ZE“êÆù“f­ÕM\7Î¬Ëø1‹õèÑ#…B!‰222`Ò¤IícÕ·ß~ûþûïççç+ SSSpuuÍÏÏß½{÷Ê•+@«ÕÑí@¸çt:úA)Ob«£(ZúˆÅã±ù|`±ØÀ0ªÛ7 'ÿ‰mdÌwÕt%¯ùjo •y®ý ¼µ~ã“ðÿ©ûü¼¡vÜAÐiÙF­› °IrÚ‡Ô…ožîNmÞŠ—°þ@ì6šõû0¾×•x6ƈ;Gƒàψx¿ñB±£—Ï8㣤kHÌŠØØ 9ñtË“ÍI€f‘wddYTüò9!r^âJ‚hÞÛ>ä¡ åÅ29-r Žvˆ|£CdQá çèw°>z½#!ψ¯ðˆ‰t$|BVd¬ŽØí¹w}§» ÄË=5Rì웟TèâìY¿z„G`˜„Â90Äkkìê{DbG_7áîÕ á¸>z}ì¶Í Ò¤GH´¯@Ñþ¼#“ɃI‡¢VÇ·~Ïâmɾ½}dqDˆ,*jù H;Ÿà0 ~†BèwŽgL4öØXïÒ“ Y¶¦8|Ӈ餥«‡M~q5ý¢}Kº©vK7ǨÕ{*drp\¶Âžp ‰¬ˆ˜¯ßAd˜·ˆ.Þ‘) LöˆÖ†¸­Íp~áíÇßé¼&xÜò¨ØLDÇõÑÁñÑúªD΋CVˆÀgs`~Ħ…sH‘ͤÅ>vY™/nÉôTº¤[Xò¶Ô¤Ýñ{Z¿‡Ç7:y±kÏó–ºo_½,¹\þ2ë1 £Ñhö»/ç²Þ³±`hÃçr´¢·t\®¶éhµ Óéhhµ:ZÅ0º§4SRßhii.xZgHð6c=ßO´f«ËŒÿÒÒÒÇ€H$’Ëå666+V¬àñxõõõÛ·oJ¥ÒÄĤ¡¡ÅbZXXÀ³gÏöìÙSWWÇçóMLLjkkgÍš5vìØªªª]»v5jÞ¼yÐÔÔ§Ñh"""¨óéò¸žd°öI­îY£É¢eo­ «éÚåÚ­›€m``ú¿ŸqÅVUký€7xˆúÑCÞ õÏ’oóZn4üósꛯ€c2€ÑiÅI{é»ÅO¢Â¬\3ÀoµŽ¢~žã V_À™<èM¿éVµ0œˆ9þÂ.f„BèÕÉó¶‡ÇgÞUt™1ÀÚyF„xâƒi~]²ô€Õés'{¿ù_›÷R=<:®¦¦¦¡¡áÕ¨lx :†ùáq5 lC.ËÇÖ4ÔëG¹µ<ŠM§†Fg0|€±…Ø|€º@ÐÍí;ˆÚØÛÛôÑG.\Ðjµï¼óNÛ7ðè‰ÅâyóæåääˆD"333ýr##£>ú¨  àîÝ»àäääèè$Iº»»4¨å<¹\OOOý!£)žÚšjúÎ-îÀA‚y Ƹè×1?Ñ,"ºñìF«eóµÚ}¨~w2h4¢àªYõSÁóˆû×-ãߥÒÏ­æ9 gr‡Ø™,YaðÎ8`“¤YdŒºì¾ºª z#/rVuŒK^ïHÊóÓóiÇ`L;!„~I"·‰n±~Ktaìòpùšäo1]š.¶û]|©äËöð(•ÊG=­WHÿ½³én¼ondÀf Ž:œV*ÙZ Ð*ÐjAMsŒI6àòø|VÅ(ä ݬ €×l2`3‹û‚¬Å0Œþ™ú;;;??¿ÿþ„Û^!ÔÛ%¯4=*zw¾þëÈ|‚#×»‰°PB¡ß9yþÎvßF¾5ì÷1Möeçð+k«††§lvKG›úŸ6Û ªÂ€Í­tZÐêXÀ€²e¾>ÓÚçó¬!„B!Ô¿ˆ-,Æ®ð¯íÂÖéô¹EßaÂêZ—êt:†aô“g†a†7±ë z¡OJjµß-„B!„PŸ¼ìžö®ß¼™ðÏE²bý6}'É24䘼|>‹Åá²8àñ8Ö6\GgŽ¥o˜#7B!„B¨¿¨’ɸªF–à-6)`q¸,#cCC6A‹ƒÖB!„BojàA!„B¡þE€B!„ÂÀƒB!„BxB!„BB!„BaàA!„B¡WÁ}ðà–B!„Bè÷x,--Ûÿ›…ߟƒ~a ô}؆Ñét:N«ÕªÕêúúúwß}‹!„B½¶ÀÃçó1ð ß0ðhµZ­V‹<„B!ôk„~ÍäÃ0 ‡ÃÑjµíƒB!„B¯-ðp8œöÿÆíèWÈ9íÖétÐ{B!„úB¿&NÇ0 »B!„zÍ[™è·¢:úN6›½‹!„BèµÃ´ƒ~3m GÿôœÃƒB!„0ð „B!„„B!„,„B!„„B!„ÂÀƒÐËaÚi[‚Å‚B!„0ð „B!„„B!„„B!„ÂÀƒB!„BxB!„BB!„BýB¸?üð–zsiµZµZ­Óé°(B!„þPØl6Alö ºpX*• ý&†ÑétZ­V«ÕÒ4­R©***&NœØ§´ƒ`„B¡?2ƒÞ3iCo0µZ…€B!ôGFÓtï+`àAo0ɆB!„ B <!„B¡?( <!„B! <!„B!„!„B!„0ð „B!„„B!„ÂÀƒB!„BxB!„BxB!„BèMÆÅ"@0ªûÛ­I£§ÆŸŽx‡ß÷­‹¶- ‘‡ŸŽ\ÔMÔ¾ IDAT¾&gÝédwÁËo\•óµtÄì ¦m/ò ðjé‰/N ü?™fÑËJÊûçw%¦|CJ)?mݦuîV=‹ªü»ïåã§¿ÓÙÖ}°hß{‡/°úゥdïß:­wé©D«,Y{EÝiáð¶ ã½ä.wËÖüh’´Ôܲ_|é+·›‡4¾®7WýàÐgÿ¾£é¸¿aË\ë—-!uÉÞÏNû°Å/JYrõùXgaçƒi’fŸ~˜)T]ضF~hÛ{¦Ýo ýzWŠ©}çuzUA•áè¹/؉Àl·Ÿå+Ç¡ýà=CXÂ~òQlxº?¿yãÛ&Bîk{s¸Ãü?]íðÊ­žÃ’-Ÿpý$=(|{áêûc…£ñÉ}ß)ßûó§“%\EáÑ„£‡$Cƒ&!„z G}w÷Ö=÷Ú-00wòœ·hªá˾Àã¯c¶ç6 _óÙÚ·ûT£6ÜÍÉU ý`â@¼‹‡þ;u×R®‰ìñ'dkRrëܧ›Ô_½(eÌ|ûÒkR¹\FÛûG…/&(OY¸&gê|ÑkR¹\NŒÙ:ݶí…ÊO¶öðÔ]MŽŒK»#§@4Þ?4|Ù;Pˆ‰ÙwMFöÓ6Emv'r¶&–Ê!ÄOæ»®<¸¥‡GU~>.fW®r̲ÐÐNÄým‹BäË9ß•Êdrbü¦Øˆ÷¬@ùSrdLÚ ñäuᛦÛvMLŠ’d¾y/'UâNʧÆ&MÐG +§Ùñ¢ówD´ 1?4*àêëà“2 mJŠ/ë|^B’ò§”ȸ”;r€°Ÿº!t³»€êþ‰È°]×(R$™¼lÌÄþ§“ßtÍ;…RÃï½R«UQp¼qº+ïÊýæ¥,Í"§›Òy÷7?±Ø3O(Pÿpæþ¿…ƒ·YVþh’´Ôœ¸[¶æGÃéFÊóJÁ¶%ÖBiåçyOª€3ämñ–É&Bͳ*WŒ} JŸýüŒ®ç¯õô¾ Sp¶d§‘hì³Æ{õª¹~ŠñùŠ» ºÞh@ØëQ|€†§ÿú,G¡`b2EhÉÕœ-Ùidö[JMÍ3¶ûÔÁ |öS5› âЃ%slF=¬üüÇgõ4pǺÜâlDÀ+¼¹='‡Â„Ï¿sð"½Y¡P(4 ~þÓW¿øüÇñ[>™¬/¡G¢i–|2!÷óÂÀ-sÍî>-˜`ý O*ñ߲Īâ‘W+šÀÀ|ô´%>ÎB^Mö‰wƾ',¹Y¥P(Áæ=?¿ÉÖ =ñù>¥› ï΃ÊZ ¶`tmv^Im­’ç0çÏKœÊ’ 'N_­hà Þ_<‚5O-=ñù¡æ).p³¤V©Pò|ü—ŒVœØy´¢}ž0Á?Ч}—9ÖÇÏÚEbÂl¸G¤JõìãA!Ô“W™Ãcîìéééé9ÙYµEç“÷ç7¼ì–<‹‰ W.[öA_GKȯ§¥e]©lÂ÷ ý—ªrS¤#–Mµ²š¼lŒìÄ÷U-‹ ‚–~OÍŽÚ»÷ð±øÙ²ÄÈ´r‚¾“+ðß{øø¡¨17âb¾¯ë.B û^zìÛo8äOï ‹ûI©º¿/2Q:=é›o¿ýö?\ˆIüI%pŸLЦÅJX ~›ö…ÅÝuìÜ™3§ãÈw…%©_Ë­KØ{øø¡M¢ÜÄ”û*(O‹;Iù:wîܹÓñ³éœ\©ª›&ñÛM«^þ¾”¥ß•’ãgé8¬Ü§¿ç$Pý”yü÷|ûí·ß$Í–¹ï¾ÊjvTèB¼.éxô{d7çÕþµsbÂRÀϹsgÎÛ$ÎŒüº  üddbéÔøoÎ9:,'MJw3¤öf ýjwé9lÐ6}f‘‹†íñ8¤ºöß•Ì 'ð‰âÖ3xF¯æ¾çdЖ"xP×SôØ¡©~ÖCŸÕEýGi9ÅþèZÇ£ ͉»?o t?>äÿyž]²Ÿýz>u ¿™Áej¤š?y Mðºb¿ožæc—ì7x]ÿï‡jÕÉôÇ?¾e•´Öñè*›w««Âó›@¿ÕæQïÙ%,?.äÉæØâE&~Cgó•ÛóUïÏ~t­ãÑ…f¤´þž ^åÍííÎWS[Xëì·>èo[üG(òÒï(…ÎãÍ׊úò˜WnC žoÂÓÔ—ÔŽþËßÖ Õ9tÞ ß2×üÎÉC?*x\ÐTÜ„)þAŸümË늌 Õ\.4W<°™³>èoŸøîœ9rÇaÉúOþöÉ4î 5Ê‚C‡®ò¦m ߺÞM™¾ïŒT¿UrGè³>è“¿}2ÇàÎ…o¥0tŽßx’;ÄoKOÇ*ÃÐÚÉÅAÓ”ò¾­0pp6Ç´ƒB¨·z°ï›XOü`†ÔÃ5Ÿî)zpEÚ4F³ã:8Ï^™v¦‡n™jXöý±´¬¢Êf®pè¸óf±à©k.? ïá1áASÙ÷ÇNeÝ«mÖp…N3–-r·5h*ÿþر¬¢ÚfdܬE¾NÊ”O“‹4püï!WV~¶a¤!¾mý‚ºIÍ3äõ¶ ÿ)ÿú5>t¼ÆøO¦ÂNÜŸ4LßO"š:{„ø’ñãE»rJë–Ù€döÔa|Œxo qá»RÕT²s‚¸ñõÑÔMïÀjzìéÉ ð!èÐ7J¾€VãÝʼnßÉ(²›üu-W*^0ÛI|Û© ì¿“ÒÓˆ &[ IÉäö"HÏŸøN2{¼“íìˆènÓ̃…ù›ÞÞZN9BÔýh:þ;§O«ø-Å0F´O*ïøûaÝW+Uéùk0>VÜ‚1 ¦’çï('ÓßIÅS§;ñÀvšÿø]×dÝíš*)ÑH漸٪|²vç“vQ‡ŒXcë@¼goHŸÿ¶üðLGX Ýž¬þÓ0žBª¸'ð‘Úm „ñ{Ö< *ë‚õú6µ‰ÉüUá÷ši €5Ôi€%g§Q¡ŸÃ2øÖp>p±Þ Êâm#ÈQè ¡áÛzÞ,!pÞËÿ*¿áç‰æ,ã±FB3‚§¢) <ŸˆÃáZp4?ܬ>Z0J(Ü8SøŠo.€æþ¾OCÛߟòþë'À &ØÏ|¨Jj›ÀÅÉÍ<#¯H1y²°éáÕÜþ6ÜP~ywòy©ÁPÏež’¦ëi©WR’5ÂÐEÖí¶mYÅiáÇž†×S¤í>e½u¹ù½ýÉçÀÐéËÜeçŽ_IÙm°q㌕“+÷ä*„“W.›h‡õZ‰;Ï%Px¬#P×\>|Å:àãý7ò¨ŠR.HeòÀ.´.!OÜY·õ>¤©O|ÒŠ„k @¢Ö˜B’-£»vOPrŠ&¬Z»øúY=ªòïw%ž¸!£€–KiqD•Sð|„H´œ¢õ%[þo:=* öí;é)#GÌZº¡Ë¶&iA­¹~ OIÈ¥rØv—y”Ew}}GN-“ØÎÜÛyÑr9MŒh=>iEÒ×(Цi‚´"[#‰î¢äf“Õ´—è½èi‡mÜz1 Ë߉›v“R # Šš9  h·Ï%¹Ï´j>¯us–±GýDGŒ»+$‡ÕºS øí;Éu4M7}àÈ#-Kµ‘¥àìç[uš&[æY}uE±ýxU ‡pw¸ÞÙ¨s<~™7 —9<\.—Ûi±p„›UúÅ"Åd—Ú« œÿÜ©ü¹}‡¦©Yövþð …†š‡úlÃår»Ö%\.¯méóZ™²YC]Kо©_¬Ñ4syÍú»­[u­–Ww~q¦BÀµ™³eýð¬ç†Åø4U–\8º/áôŸ?™+ÁN„B¯1ð4+r9šjnœ»Ñ `î$1ýh3s¯e‹ÜEòïS¤æ^‹fŒØr‹ŠöÜ»#õ]ô|¼DCÙ)€Ðs†«­gH®¤å”Ërh@0y–û˜<'‰høƒ&CCž…ÀÚ@ah-±µÀ¼Ó_ðÎ^ûÁþääý°ÌIsý@r–o¿N;-+Xwè̲։8U'V¯I¹¦|ÇhªŠRðTT$IДœèƒ MˆÈ®3+HIPå-Û‚²ªœ"m锘S“’¶9 ÊSú}×ýñI[n´í‚–ËáybèÚÖ6=(zz¨ªrƒ#ÃÒÆtz.šºâÇZá衽ÏúŒ˜nOÇ¥äÖ½ÓîUç£÷Ñ 6M£ãBeþ{ö,°åƒª(znpÇ(ß×Ûy"¡Ïk­aމH‚"hŠ¢L[v7¤M)-P˜»Ù¼Þ?oö {¡ÅŠ[O˜ þô!=>"ÂXÀá©Ôýåilб‰WÚ%AÆb¥ß°÷Ú/ÖÝzá†BáªéÂU SH«ÃÏW8ì#3vŸßÜ>8¸Y¥WT),y`àhÍPw[Mp5Tk—‹ºIÑÔ–…úÌ@`À}kʆ¿u|Òœº²÷­„cý·ŒÐ´¤0P>((Ñ8¸8€ghíô¾›ùµì; Xàe!„Pm‚¾o¢¹—³}Ïùƒ¡³–¹‹Z«E‘¹@­¬U€@ÿ/à šMí—Ú\ÛŠó±!!!!O‘hjuúí¬<à™Ø3ÒN„·íú+‘몀àÜŽþ31ËÀ÷ãå#MúõáÖå¦\MŸüü±`5yºøFJ®~bŽ<÷ë;JP•žÏ•KÜíõ^é×_ßW€òÆ×7h{wI×V³`Ìl{êû”kuPõ]ÌšÀÄ;u”œ"DÃÄUUNÊyÐ-F@SüVã§Kd'¾.R€ªü‰Rrò{’nÛÚÊŸ¢W¥ÜWßÊ~˜¨ëꪩáh‡Í‚1ºa©øZdpôù¢*€ªê§[c®Ñb1Ÿ–ËiB,ñTåß§Ü Z– é*JªžÎ«%¾ÙO×Rr«ênœÈ¥FL! íLjeçsï«Tåö]£º9¦&éÕZs—¡¯ýv†É€ÙÕÉüºŸ…¢w{þp’–¡´2­R Ððôd%k¤“ñŠ{4y_ >ùc# ¾u¹üóÛªž×fVרZV¹ùXå­gÀš9šW{s_!ñL±R^ûîb…`„žóÏfÂx}S ,¹x§Ùj«¾[†C'XQK”úœ“{äP¶TÝóžAÓ¬lž¡@Ï ©Ì;yäLAš¤Wk ¬‡ ð‚ŒB¨G¯ÒÃcí¹ÐÓš\…µÄ„m·[FLðæ†ÍÊZ%¼-Ð(k”BAû˜(„“ÖNl©©¸\·ì €¢©¶Y &<µüöõ"…áÐqc°*ë×™‡wî wòŒ~žvª¾O¹#ž¾É¶ý2«ÉÓ%»R¾¯/B<žü:dyŒT&'Çlˆšo P@ØO†}ËïÈd´hò¦¨©¦]d™N ¿·èý0ÄcæGEM0%ÄëÆ‡Ä,š‘(ÛÏ^·iiiHbp„dϦ÷Æ“a!sÎÚ¶µucÛù±¡U‘asgЄxü†Ø N|¸ß]Ët„ÿqdȇûh‚BVÕÿùyínhÁØrÀzg>€®ûƒKü±§dš¯d¾¸rû¡; àpG9Y¯³_íÍí:‡ÀüÃ-Ÿ¸ôœ?Ül‡ï›ÏYÒÛ‹:-ñ«=r&!2 ¬\üü\ö!c¹øùU9ýEd3pÍGø,éq$#Ï|ôó¼“ÑQwü?ñk7MG8Ùoyí‰ôÄOOj Þææ7'ñ „êK¥R½ôÊúÇRs>[n×±ŠR?>³ýJ“SÀg«ìx ÏIŒI“r‡z.ò”(¯§¥*„“7†Ì¶¨yþXjååĘT©ÀÙw¡»P‘s>«Rè¹v•SYÒß?à¾ÌSTv>%·RðîÇ¡ó,Š?M‘ Ÿµè§á¶Øåó{Á0ŒN§ÓjµZ­–¦i•JUQQ1qâÄ—…gÏž½–#éþ«3ËSúþÕ¢¨w÷–n:0Ë!„B¯‘‘Q/¿eÿ2;¹¯ ˜î$¬ÌJÙs ­†N^0£Ówèˆ&® ðÎ-JݳcOê®çŒq"0q]à9\ =`OJ®R2naÀ,[uw@ó½´cçÊðÑÔ½Q”9›g̉ȩåO_çÊ%ïI0í „Bè×Ó§!m¼·×ÆÆvÿ›ó>×~‰¡ÝÔU[¦öúr&v3ÖnÑi¡aw MÆ,ÿtÌr|·zóÜ7mÊ ‹Yô~$)™º)ªÓX<„B¡_TŸ†´ý—šßÈLIÉ­5pþøÓå¶80í¯ÿ iC!„Bo®ßdH[wÔåçåÖ‚ÁP//kL;!„B¡_÷×Ûïíµ1±Xâ!„B¡_ ‹!„B!„!„B!„0ð „B!„„B!„ÂÀƒP_6~€B!„°AˆýNñxø€s„B¡?4‚ 0ð ß-‡Ãçó±Ÿ!„BèˆÍf¼°)ÈÅ’Bozæáp8X!„B¨û\„E€B!„ÂÀƒB!„BxB!„BB!„Bý¢¸?üð–B!„Bè÷xþô§?a) ßÃ0:N«ÕjµZš¦U*UEE B!„zpHB!„BB!„BaàA!„B! <!„B!„!„B!„0ð „B!„„B!„„B!„ÂÀƒB!„BxB!„BB!„Bý׸X!„BõBý¤öÉრ95uuXýG(0ÅÓlù ž™9„B!„^=í”­õgT*6Ÿÿ¶5úÕ0M}Æ…†œ‹Cwíéý}y¥!mòœÏCBBBB¢ÏÕôºÆ?o4½Ô§¨lhHÈg§«ñC!„BýʓÕŠclÌâbWA?Ââr9ÆÆº¦¦Úƒz_óUOÍœZà ¹ ¸~ùu„žõ+W®\è.âá;‡B!„ú•§³Ø|>–CÿÄ&øÊ¼z_§ï9U]sýŠ„ž¾î÷ö¤^©œ1Ï–×ò‹ËÇö§Öj¸æNîvš¶xô}tìyåpßܬsE ÐÉw¥§æ|JÚ=¬r©+ÿsà@‘á»Cçñr¢cÏ+‡/œ%È=w½²™+tö XäŠI¨_R7©y†¼Þ „B½ñ´ Ždë·X\®úIí BQßóÎåë 0w×Îy²”7®T¶ôñȯìO-¬åŸ¾r¥—EÙuE[¤âq4÷²ÊìføŽ‚¢(uGʽ¡3¾kŠ¢Ô´²]D-+Ÿ¿!ð\´ð]s¢05µ¬ ßÊþwŸKŒÝCþüs±;&ù?58,±OÎ.7nܸq㼣並8B!„~ }íáQWæ^W‚ù8 4i¬ÇXCÚí©¯­Ê®×ÇMw97\P~}{®²ÝvÂwg¸±+³®§Õ ÆÌrcÑÔ”{%µ²¦¦ $w"7oÆ ªÉ½’RYS©„· ñêoxg¯ý`rò~X椹~ 9ËÀ÷ã¿EêÒ· Ë}Û†˜²++Î{§QŸ©Ê‚ÌS§Ò/Ü+©£ôŸÒjð(/Ÿy>ޣ̰€B¡ßoàQKsn74gíˆÉjYT”SÖd÷¶a³² -<à ,í@$® Í xC.€FÓu/k€¡@3¾Ký”ÈuUìOÞñÏLµÆzÑÇËGš`™ôŠo:ØÖJIa=Gÿ’”—6y]¤mCÓNͳîûÖ‰›7( :.¥©ª’Ëé%—Ówìð ß>ÓßA„BèwxšÊrŠšA8Îw–“@ÿïsÇsïå–5½=Ò@` PÖ(Õ`ÂS++•X¶”ÌÃ;w…;yF¿H;„ƒ—×H’x‰5.V¿~ƒU0)úÔYüÐüâT•—oÓ¯ºí­ÄUë”·|žl'zMrle uU%·/e”ÓP•éO˜žŒ˜$À¢F!„~w§©,÷ž„c<'Ž´Ð/±Vdå¦Ý˹×0rŒ­³9TÖ^I˱ó”ýç†>ðàŒŽ?@æ3cF9+Ÿ#–Zã{ò§,)xÕ/…{ôåÖ–´c:%|WôÌÁíbñ&彯6øq›¨K;µjÒªÁXÖ!„Р/-h*˹§ÁpgáóÆîðqB€9÷ÀÂ}Ù¬áB̓óR²”c<­1ï „~ªòìG¯¸å­¯Ò«ôqÇw[Ç´ ¾4z“ƒþçòÌ‚J,j„BèÀR©ðqQè·Á0ŒN§ÓjµZ­–¦i•JUQQ1qâÄ>7SÛZ`ûIÚ©Wèá©Ü?oÖŽr˜˜—8‰¯ª¼tê˧.ß*¯£H«‘.^Kþ²Ê{xë¦GûgÎßQÄ”„Œ¸ž†6µÌ$ÛOžZ5žœ]:-²L}SÒ¶ç·¶²£gù§Ö˜úîKÛêP—½#2îTA 02*k¿wûWÞËØ$õòå¶™ô@Z9ŒrñòY2ïùÁ=/–MžAi«Ož]5”÷2¾üòHvÁí* €0µ5qÞ_>^êbÖki(oMürÿÅ}aV#'ÍûËÇK&µLaQÞ:›øå‘‹%u4¦}Vnø‹÷àÆ *ïeœ:’™]PPREÑ-Gá0rÒ¼¥+gºty€2c•gØmp¿ðÕL3xrëÔ—_žjݦ.SæýeüQ­g®º7Ù‘ªnö«?•~”·öÇì/¨«SÛVu{gÎ?P¦KRÒ6 lj<!ôGPäáö2¥f9 ‰œÚ6zJ[s¯1óh홟´=nal¹Ï²æ³‡ÿºÍtû‚挩yúŸ‡Ì ÷m4aàîPãN£úßW¬OhzÙþ‡̯Q^þÜÔOj²ózY¿/!´´[•4­,رjÝ‘òö¿¥ªn_<v1órÂW-ó6{-±ÝñE9}ùÔ-å¤îòÖ©Ëú™$¶ó¼÷²w¢5ùP´² Æsz·ã±*3"6„¥—wZÚ6“þKŸm‰ÂŸOÐtJùèìÖU‘—ÛÏçëÊ Ò¿X—yñ“¯–vhÛ?/ eeÆÖ¥a©e‘¹#(ûrèÉ]óLÚ¼*¦ý‹Òu%„]¼\ur_׸ð$;:hsjIÇ…t]ùí‹å·/ùrJxbç>•Ö';¨hZyoÿÿfæÐu%—Sc.g^Š:çýzž›&µ*:nU¯áZEÓ­QS€i!„P«×þõi=€Ñ@Ãñ3ÍüÃmo+ßž«}¥×âŒYlêyªáåýô³ÿçÿs~ã«yã³~\N+˜þQŽ}<÷ÀÀƒÑzC„~tvë—GÊÁÊÅwžË`S¾ªîÑåSûÓoSP•7/-b¬=æ9|ñEIo‰çyÞqXêÑ[¯Ÿß²ZùèH\z¶#›Xµ5ã•—"üÃZ‚©‹ïJ_QÖ¦u•·²S¤Ô”§o^Gìúj«‹ Ëi©ên'nˆ¹L^KæMe%eխ̯\,ºà‹ˆLý3­»)[G¶¸H™ºø®ô™d-P)]<òef @ÄÅeXYL‘#}VÍó,å£ìÖ’*Ù“é³kfû¢¼±¬5ÉYMY²ÄËe¸µAW=º”yäHf U#—n&ÒÛG—çoKvÌ—;nÓäHŸy3'޲@Ý£‚ÌG.×u12&{Rœ‡€?ü/»Ò–Ðö¯ J­«•»çY@˜¾žp¢*IÏny&¹˜â_B¡={Ü”ü¸l#טþçjM‘še=Õâc?Á`‚QÓ꟎Vÿ+CÕ®ï¥ëoÕN›lÖ á@Ðàø‘U›“›Í{Û¼·¶þÿìs¯¾uÆ`å IDATd‘ƒל§ÎN¨ÜW/Œÿ§ ï¯R2`4Á:)ˆµcc½ÏËšÏ~ –;C9y·y^#µ_~T‘ Æ«6[xa]C¥l«É~ ƒýGU~Sc8f ׂõèhåÿKUYø ŽKeÖ8 á ä©¿I®çy ßÄ3穎öøÌC€ëºFì?ÕÀP4N)ÑñFŠw†r²¿§ws![}ûÉ?¶)-‚ÚŸ{Ó=IBmJv|䔨“qÞÏÛÿÞ3}\ÖÍŠ, ê²O•¨F=O<1%ôåôÕ¤®ßèó<ïŒ\2ååFÙÑ%§NÕ.ŸìÛ¶´ãø4eAÜÖ–°àðqʾUÏR5É{æÌ¸UþGʪR#¾œw²ë0+*3&VîÛµ¡mðxxûxÄÍ÷?R·<™iݵ¤äÀNûóör!õÃïè‹aA¶KöíßÔö¢^ƒ—ÎßQ§ žÌ|ž]žŸ9%ê«v¥;|”‹ÇÌ%>Ë‚Ò뀾Ü]ZòNKâ©:òEáòIJÂÒ¶#™ä1sæÄ­3ƒ2)úâ©¥‡‡ÖÖ -ÛÖVƒ­_Û3,T•—¾ŒÜ¬1Gz…®Äál!„^DW’AÕL#Ç b•€éߌ&< ÏÕðFšÇ|j½ìá£ý[Öã éî· ²¬‘îy´5WÇbÖÍ %/ÓûÁ¨=p,gßé¿êÙNAƒÃV§·<Íüù-ÏÉÄñ‡*5°¼ ávUÑ3–Oë&`lèpïçµ1ÍÏ€ãñ+/¨Ý¼êi¥šãºÉö¯›ß*ÙROCHH’†”èÞš<0>ÈÌ)ãñcbˆa}BEÈC¶Û§CþºiÀ®¿VìÌöøÇ_ƒÌ¸¦·¼­þ:U·oKÙÃà™ƒ¢C-},+Œ jÊÃ?V«-Dï0[8¼a{»so?‹=GúÄExwj#›y¬œ¨oBS%%­Ãͬ§,©)—NÝî:îyÞqY2ñEã­Z[øu%0%ºsÚxréËtý¸1Û£Wuig F}á£ïm¨:{àv·sò>ÙÖ.íÔ’%¶ú+/—w?“Ïje§ýñæyµul˜úF|ÜáEùƒ½æµ¼dUAÝó—|’¨?Ò+ºKé˜MÚíEпÌìöQÄÄð¨¥Î\ಲõXý2PÝ;±uÓ†uK½Ýf( ߨ¯Â=ðËGB½˜ºQ­–15p²``}Ãñ«5À³ÛŠôÇœñˆÖ¯kïý·/³‚¾¶4ú[ŠÃÉ3mÿ Y5„¥ÿâdž¢zÐ=¾§cÂÔ×24æyƆ^ÙŸÎ6?ëðZtVnó306ps€¢³ÊJ5hod4684üüôÿ³wïqMž Úø/%+Alâ(©‡ ¶¶¡‡`+±ÓBÛ%îŒé¶Î¸í`gÜ­ØyÜ©ÚÙBwFì~ »«þÚŸ0ïH¦]`f„±5ÓÑÐVÒvL«C¬’Z Z“Š BàûGÂT¬VÔëûñyòä9Üϸ¯Ü‡g߉^§½ÄFð}Ùññ‰ @ïéÓ=8í>xúÐ{úË^á4 Xô˜¸ó£6Óé ÀûÞ¯?œ²$x„>¯ñ}¿À9ßéÎIÓn›tµ¯[xè&Ò¼eyÒ–ËXoÌ1ì2]FÂÈîiR¥ZŽúfn{ÿ¦b4úX­€§¡ÚêUmãéÏ;"MFòåWe©Ùš»w[ë,Áÿ5H¬Ò§Èêj\€Ç²ÇîUÈDê,Ý( ²x¥Í>Àãrû€‘å§×ߟX‘ \ÁƒÕ«ÄcmÒíÚÓj®¶†N/K=êp'iB†Vb¬ó¶ÚÆVýˆÖ&‰6{”€!V¨å¨qp»<ÞÑNàrÛª ƒ‰âR2òòs´|æ(]&ám¢)èmé¼9mb£7ï¼­ïoÊäΓûËÅ_½È Cúz9†§×ïïk'ñ€°ôõé¸mÉw\_ϼMåóü{S/Ïxàë=ÜŽ0ì6Q¯½³¯)©³Ç/š|[ä$>ôúƒ»<ÂÖ¡?8ùÐ;äX„a±‘“§=<³âÁþ?¬|‘“Ð à‚Й¯þu`à!¨Ñ&hFšKÔ7>ÝçEÍ:F“¡ÆzËh‰ÇÝhèÏ;êË<¥H¥¹{¯ÃªsKÇ6"V&+ƒU—ÕæÆðÀ§Iõ DÒà¬}ªF‘r”ý‰¤}›RªG©ø÷mÒçéߤ×i¶ÿ'WÄJuVv³Ó›3l5eJÜè—EÚwY¾•¹&}ÍõëÌFMFAAN2S]ÒäE:é´–öƒ-À¹ ¾/[þ%÷볃_Œ åˆQ_Fôÿwô¾‰ñDLúƒáöøðÎ\v?0êƒÛý=_û‚ çD† }=_w^ÑDþ@KgoKí—ÿòF÷àœ&Lø.ÝT%]Ÿ(½ŒÕƘ6Y*ýÍbÑh¿b’3Ô°Œ’x܃%8¡µ6sy2¥l”ý¸úZ•d‰c½ÉäÀÀm÷ÃZC¤rÑèoT!ým€I¤¢‹ÇƒP2ô9¡}X×/KZ‰2ð8]#Z›DRé¥( ý^颼öêâÒ÷(iK_7Ú¼1ºÊ:^o«Ën³˜ë Û6ŸÓ\±æIKîŽmÙÅCDDcÞ¾äÓsêÝ·©Íî¿ üÀ}V7íûw»·Ú#¼mÊÊ5·}ý¿o ®{áô¨¯~yÁÉÂÈÉ@`ô¾Ñ f¿ìéþᢿٳÿ±ç?èì6YñÏ:©â“v÷é$‘'\¶¯¯l=‡÷zW­¸í¾Ú3û[.LI˜–»BðÇ’³¶ÑWî?÷«2†‡‡n"òÔœüÌo2J],ÏÚRu†Fd1ûài¨µyÕ‰}Ó9[ªûòNFÂxêÄ¢Ñf:öùÜ¡*½T2öщ¤¡ìâs»GéÝu jæ¢ËݦÛãÏvÝnïÀ¨¦ñîëâ\ ÆúúQÆ®ÎÍK¾H0‹cñ1Šød^_’½ÚÐ ŸµlÝvMU# sÇŒ×?ÐÛÒäÙùoŽ?Z{øO¸þckØók”•¢I@ýýÖW¿¼Ðߨ2ú«~ßÇŸúS2§â~翼4Ú Ãÿ4Où?;UC–´´­ûçscéן´ÛŸ“/j9;ʦ¥”ý¯9毛Q¼3~t~éþ¯’vpe•-Ç;Îÿš)_ùêÜ@èó}üÛ3¶±&ÑrîéUaà!ºbRu†Fd®÷Á30Û@Þ‘¥f¨®n…ø²¶&š`…4p<ªÜÍù—l€“ÄÅLä ž[”eZYáœÕ[ÎÆD&""êsáðkÇŸ|mÌW{ϼ°÷ÌÐj}ç†§Ž‡ÂÀÈWÑ{ðµýüz”œÿètæ÷FÉþü1SÈÙ{2soÿî O êøÐÙ0g~üÔà`t¾üßN”‹.5'2kúNâtë?=Õ  /Øß8‘ÙwâŸo=ú¿?°ë©ý[‡nË:hwþ®ÿZu,øßÁçþ1ð}ƒ p¢^#ª’xå½ò*T‡Eý#m|÷ˆ¶>>wh‹H*ž`upq?=‘\­O¿«} ê’†ßx#Jm¢¤Âé<.$*ø! ""šè8-5Ñ7I<êL­@0ñ`PÞ‘§ë¯J‡'±Lš:ÀÕäkl¾Ïå “‘©&Úó0E2eh,ËêðNä‹é¶›ªËKKŠ6–Ô^lšëþç¡ú|ü1ðÝäÄ ¡Äc6Ú½yg”)¯B£ V±]–F×è«xí¦¦àÿäêxéD+!¥&>ø?gƒÅ5¡/¦ÝP\Va¨©3”›ÆLñ¨ôZ¸LFgkc(ï¨2S¯Vg'i¢NL<͆ê¦ÑšH܃)X —iS宄¤êj„NÀ0ê ÀÛT¢OËÌÛX¾§É}÷<Îö$iBzhjÌæŠí–ÑÄQ_aíË–*>|”ˆˆˆ‡èVH<)2pšLæPÞIÈH¹zƒ;¤š\}°Ÿš³bÓÈÄÐÚP²ÉÌ; 9qÞ°mNzè ëŠM­Ã_o5¯14»læºr³ç*̹Ð7_¶ËæòŽó@³SB­iuyë*‡e¯ÃT”Wš>3N¯çÍODDt#à¤tqÖ•m´K.¯Ê,Ugç¥]•T"VêSe5š·—4óŽ^s5¿üÇç­0­®q¶²•OZ2²õZ•\ÓÞh4”m¡¸³vcúÄC/Vç­°¬®qκuËm©©ÉJ™Èçv4™ë ³ Iݘ«þæM¦RÍ8͆b³ax%_³öµ¢Lå„$yð ølÆŠMÆŠakÈÓ_ÞVpUÊMš˜‘*1=œõÅõD©ñzíe]ìmQåfɺ›€ËZ_g­¶ŠD[²™O%""ºqÏÒ¥KY t]\¸p¡···§§§§§Ççóy½ÞS§Nݘ§¢Ô¥Ê+*‚í"MFò5˜8 F[X¹G¿§ÚPc47Ú\Á ÂD²8UB².3#]­˜èðmaåžLSuyµÑÒhë›UN"SÅk4+2²Ó®Þl Òä åDËŒV—€H¦Ò$È.¿xÁ­­¬5š-6gßsS%²¸xurªþF(k""ºªÂ¦M»L°cÔ„¬OÙ%æ¨äõzYR4qF£aÉÑÄáüÏ’¯÷¼É¢˜€zÎwN}$M±vÝEÖá¤DDDDDcŠùá&‰E=ç;/,‰ãB Ðs¾srDÄôe]|M¶ÍI3}îëåg]áÞÿž¿õ, d‚›6mê#iÓ”%Œ™~ñ5Ù¥®_.g—6""""ºÆØ¥ˆˆˆˆˆxˆˆˆˆˆˆxˆˆˆˆˆˆxˆˆˆˆˆˆxˆˆˆˆˆˆxˆˆˆˆˆˆxˆˆˆˆˆˆ‡ˆˆˆˆˆˆ‡ˆˆˆˆˆèF<þ£¯¿ð ¿ùÂ?lùé?¼ô ¯õ{ÿGßßm>í€.ké /¼ðË÷Û†-'"""""úÏÕ×v`×®}:º böò¬•YúEÒaˉˆˆˆˆˆ®ŒàŠßÙÕ¼wçÎ?5 „+’4Ó½ÐaýÃÎ]ŽŸëF¸â®å+Ÿ¾7Vè?úú‹o4M[¶2Á±k_“á³—e?û(Þ|që့~ñ‡Y/=‹];ON_þ‚þ‹Wû—›ŸHúz÷®ø¬ŸMˆ:–þbçÉiË^(|"–ï:ówù…‹- """"ºÎ®´…ÇÚXñvÓ¹ˆ»V<³òAõ»ï…–Ý[+>8ŽÅ+ssŸŠwzëõݧý€PàìûƶøYLJwŸÜ÷æ¾s³ŸÈzp€ifå>=7¢?ƒ ^þõƒwMCà‹Í]ºÀô’˜v®Ü9½»ôWåÛú~l1¿^¼õO-ì…HDDDD7Cà9×tØ Lô Í‚÷.×/êk)j9pð, xôÑÅqq÷>ñàtœ;ôa_%X0÷ ýC =ºX œs´!V¡ˆ¡˜1°máàåQ35LGà‹?üŽÍL×,fÞ¹þ„3ÿîÙG±{kùÁ6¿¿Å\±u_øŠgžˆeM$WØ¥Íßu¶ €TÌ)ÒX)»ø»Ü]oýâ…·úÖuœ "¦MFD\vS@ìâ‡o×4pt ï†â‰EѼnBô½ÙÏ¡|kÙ«F@ñtî¢X&DDDDtSa„4èv»»€ ­ÅÝ·|zЭXž»2>Ôf#Ÿ“ߨ^½èÁÙ5o5}h ÿÂÙ3ïL°Ì#Üý¡àÁ'˜vˆˆˆˆhºÒ.mÓÅK³Úõ¾Õj®ÙÕ-MX<p˜8Ü]-Ö]å¯ïÜ}rì¹Ö„B€¶C‡¬Ímþ±—G%,‹¸ìúàæ<ÏŠõË<‹Ÿ`Ú!"""¢›,ðãžÈZ6Gê>¼«âÍMÒ4 à€ØGŸÍzpNàÀέej‘Æ?úÄEJÄœ‡î’¢»i×›»¿èºÈòˆ¹Æ Ð A<ó]¶I^¯÷8Lÿé?ÿç]‹žy1{A¯ÚMâÂ… ½½½======>ŸÏëõž:uJ£Ñ°dˆˆˆˆèjLø#ì:}´éø!ãnL[öè\¦"""""ºyß}¨fç¾s˜¿üÙGgrÒc"""""º|7H—6º±K]k“YDDDDDÄÀCDDDDDÄÀCDDDDDÄÀCDDDDDÄÀCDDDDDÄÀCDDDDDÄÀCDDDDD _oo/Kã2…‡‡GGG‡‡‡³(ˆˆˆˆ‡hB§³gÏÊd²ÈÈÈÉ“Ù\y¹Ün÷W_}uûí·3óÑMuDºµ··ÇÆÆJ¥R¦q‘J¥2™¬­­EADDD û½¡þXûŒ¥ºß%vZwUÕŸ Îì­Ús´mê}OþCú]ágþñ÷ÚÃg¥¥/ˆ0}éS?ü®B08>ÕÿߪNtÏJùÞ“Ë—*:í½õÛzW ÐfÙß~Gꊥwˆ½ÎßþÈ…ÀɽµÚ{TÿàžÖÝ-vؽ÷d7ï """"¢›Âx[x-–ÆóˆNPÀÛ» û>?à̜ݿ™è¤¥‰3§bÆ’ù&»ÕqÔÙ½8vôå FÛz牧z0Eý]õ‚ùЍ9'½âpÄ÷?¹j± 2Z&AäSlw´˜;U 2vvìTÚûðÌAk;0;õ Íüp ¶çÈÿñì‘OÛ–ha³RÒ’æ‡"8q°£¥=A Μt´-¼ãæ?"àM1^žãõ–îÅ)wNeQÑxËç^ÀûñoþçãÐ"›åd÷ì9}cgÄSÅ G†ÞîÎÀ˜Ë#GÙ|w['€ÈØHdöü;ƒê–ƒ{öZ=¡ÕÂzc¢·­O žYxddÎv¶÷5Ú„OˆÃ€`vêòÅÆƒ‡ßûãá÷€°èEË3Ÿ˜Ï>m—Ÿvlµ¿ùc‹@pÔ…¬`æ!"""¢9ðtŸüËç^D%¤=?þÙGo›ÎÓ“ec˜ö¿ü¦ä•×þ÷/§:‚HY¤‹v.KÀU_µ§ûÌï/– SVd.A}ÕŸÏX2DDDD4aŒ§nß}Òr¢‘w,øê S÷½wÒr³p6 ön¹«þwµ÷ˆ£¥þ]‚¡Ñ5#–>1€$ñ{?pÕîþË{¿{ ˆ”'üíãß)Áw—ÝñÖ¾~óc¥®H×Ô«¯ýhÎ3‹ïõÑžSG÷Ô¦þÓwÎ(6å¾øãÞƒþý1@=o©>5IŒQŸzwêw»÷ÿ¹ê70%vá£kc™x.ëÞ‘-ùÁOáý…55aÅç7@áu|þnMíþÆæ¶ Î\xŸî©å £nŒR?oÿ¨QpÏýß^ßÃøê£C+ß÷õý6C>UŸüýâqfæŽÿØ~¬S·ø¥Y×ç ÈGË~AtÚÐüWZy(zgάÛû–´lüû†©ÛrfGµf~,+ÿGùí—½5"""ºî&úÒqu¶4Ö£?ùHPïÌ”_þÊÇŸ3gÎ8ÓÎ_ËùÆÑßÍzê‘y3¦øÏi¨©¨=½à¹Âì…S&~ñø¼¾©6ñ§?½ÿ*ä³+)½ÑR¯óüAë©_¾ß9ï±E¯$Œ'ó\çÀ8øû¿þ·2qûbáežy´&G‡O¾ü­ÑuÇ/#é–âÿòÝß}Š”çŸ[®€pÆÂGž}>úã3ÒPzóõß}ÚÒ bfòSYËFùí;7míÐÞ'üë±Ó-m˜§Ë¼çÌ»¦#--nÁ‚§ò²ï‰:³kÓ/Ýuìèw›[0O÷lÖ’BøÏ|ôVEmc°iÞ#+3µÊ)þ#ÿóó·¢KìøäX[[›;êîÌçžþ›(à¼ÝT¹ócnÒ¸GžÊzdþœy÷å_þõþÇ£|rº­Í¸Çžyv Þ~õõFwàHѦ#Ï®èªyý­O[±w?õìÓs©D‘Sî»?¾L`]¹ïäÁó à9qòßÿÔú™Þ{ÿÿG-¹NfþºcÙ]ÂC§|m~Ñ,ÅKé·Ï´Ÿ«åÕºÓû;.ˆž%ÿécòÙΦ̺Éÿöãù÷…S‡5ó“©Ûÿ/þº=-9â/G=';zgß7çÞ¯~}¢û«¶Þy˼²8|fùâ— î6LFddÆ£s3f à:•ýk·.Y¼ÿèù¯:üË_ùÞ _ÃÑŸëñŸhÌ<5·\7UtgÚvôh¨…§ÝõjÝÉ}m€(ö¶MWÞ~hðÖ¦|öÞ¿!sÁh§ÆO'ÑD¯ßƒI3^¢ÇïÁäÅ÷È¢}f§ìÞ-'£o¿728 Ê$I:›, Qßw7ç:/tžý|ù«í½ó:/ ›$é+DÆœÄ$$jFéÓòÛCë÷¶Ym«-C¾'š}ÿ‚W§~Û`{ý½3fÅüÓc³˜ÊåBgç‘"¬ïÊ…Í¿p¨³ÂÂúÆÿLž7òÔˆˆˆˆ‡è‹š—ín¨·ëVÎÀÿ¥ig}„nåÂètµõ‡¡.wWDTÄeeˆ@WG0üî.A„pJ„,ÇÚúvu3"€®ÑB˜4*"âîç~‘­²/×¥Ïe¾vå|-pþË*Ë**”ÖÞsý¦šë=yèÌ©)Sÿ-z²¤M(Œš¶=gö>Z.zzÚ¼@x0áô Å‚þŽd¢È :Ï ¼êG˜D@6]?µ¥ö„‡üwÞw[ô¥cò´©a‘ÑóªtQCz©µ÷t&EOìn”ÖábõœÅj ûüžwŽþ{¤red™4-r’¯³ï1Éž“Ý“$‘#ÚÒÇ}jDDDt…8†‡n)Ây÷˜pÞ’™—×hÒ²¿Ýàü‘ýÇ0óž™Â¨ÄÄØ¶úz»€ÿˆwOKï£Ï™pæ’y8úö'.?ÿ™v¾^säüEÓ•» èøäõ—ÿgÿ?€)3fÆF\ÏBíîúø#ÛÚ{µÎš'€dVÌ.à ?<µ¿o28z¾ÚC€îöÚS˜· | “DN]í­¶tøÎïù¨[2?z¶@IJ{ÂO6œ¬hŸ²bÖå|;3yÞ]‘°;÷·÷ð¹Zþ£Ê~°û"¿ý.ø¼Wðà(ᆰƟ<ï>7:lèÖóî’âTèÚNœÙ5òÚ÷Ôˆˆˆè ñ-Ýb¦,\ùÓÜ™5µ5¯þ¼"¢ãîÑ=ÿÌå`Ê’g³ÎT¼õÒϺHãy.sáøÛ.ãc›ˆw_Ýdoëè’.\ñì=QF=þÜJwÅë?ÿYD/XñÜ ¥þ1Ž(ó¹G*wþêç¿ ˆ^ðxæ¼)£7Q ï«­-úّ̾¿ä“ŠWVãB(˜±à©¬Äo»y§ã«•›¿Lš1}jÆÓ ú`µ>2öß¾×ýïj\î0iö¼Yÿ;í@XøœÎÝ~þ«Îžè;f¿´@ ôÍ[ ˜’õwʶº/ž,½Lº]ùW–…šh¢çß>ïÝÇâU‹/o ä޹¯Ü÷Å/}ðUô"L|oòÜ;Ãö3,jÞ»(âÿ{ߺÜWþtìxÚXÄK–Æì«;º|_¯EO{>=:´µ9/µÿÏ_|€xJÚ÷æ§EŽÒÊ4ÞS#""¢+sõžÃCt5\óçð\ugÞÝôË¿ê~±öž)7XQ«¥ç:•ùëöúIƒã­Ü:þcû¢ïÝõ¼â¦k޾‰Oˆˆh"áZ"š¸™à³†æý‘·gÜ„‘à&>5""¢‰…]ÚˆhBêl]ûÿŸøL|ÛÿyzÆí<5"""ºRìÒFË×¥í†ÅÒ#""¢[{Sѵ%8zä0K&ŽqMZ@DDDDt‰À³téR–].\èíííéééééñù|^¯÷Ô©S,""""ºŠØ¥ˆˆˆˆˆxˆˆˆˆˆˆxˆˆˆˆˆˆxˆˆˆˆˆˆxˆˆˆˆˆˆxˆˆˆˆˆˆ°èÆ%‘HXWlúôéÇg9ÑnΜ9 žõÌÊÇãÜMûÞØº»Åï?½»âí¦s‚øÇW>ýÌœÌ:HÇÑÝ»¶±ˆˆˆˆhâ_ ;¤ÒˆÑ^”.Zù¯s„ÒØØ(¡â®éûggÂÅ Ep.B1;.6žúÜ¿.FÏŒðûãj7ûÂí_<ÐÆãw|xà0gÅÓ'D ÿ¡_¼å8hnY,lrÓSW<¼8ñ‚¦ƒoæ…›8iÇú›²7áÁ<—½˜Ã°ˆˆˆˆèÆ <ÒÀ}®­ sG¶°ÎzûMsÓ¹î±ßßݼﭷ;ܱU‹– B{“ ÷9OWDé´DÇJqØÍ+7aÒNM÷²¼ç“wnÝZÎÌCDDDDËxº´ cïš8ö8í-òŸÞûjÁÏ_­>Úqz÷Î}Mç¢ÿ×—~õ«Ÿ6Zåøð›orøeý¼èW/=?JÔŠˆ•Ým炨ëœ;Hc§EH#¸Ý]hkaÚ™ü-»ß¨é^ö\–&V(Œ¾7û¹G±ûõ?ôßDDDDD×ßøZx,bNSÍñ·ÿóWMI‹áÝgh:‡ð»â~þnwËÑ÷÷}ààþ¢¹mQœP íÐ!klœ'®sŽƒÞn]-'[º„Š’¦}¸ïø®7ß< mù`·P<”;½+^ºïó»kÞ—> 8¼ûpà fÓ¦«Oûèsˆþƾè{³_Hð 9¼Šˆˆˆˆ&ްŸÿüçã‰<³ߣè=wöËãMÇì'.¡bÑwŸzöïîŒ ‹üŽô«ÃMö#–O¾,Y™ùù§ÇqÏ_öÀí­Ÿ6žv45µ*ŸxbÚ—ÖãÇ}|¤]™ž±ØýÉ‘ã‡OJÏýêÃCí‘ñ-‰“DÍ¿KÑuæóC ZuN[ôèVjg‰Ãn»Ch>rìX㡦NÅ¥ûØ™@Ì=Ëî‰ ãõ»Îw0ì .åBŸžžžžžžŽŽŽY³f±`‰ˆˆˆèj™äõzo„ãôwttEDE áo~󥲸+÷ÅƱ-áÆváÂ…ÞÞÞ`Ôñù|^¯÷Ô©S†%CDDDDWË Ñ7¬íý_ï:+]´bå2iÓ®ƒÝ,JŠeÚ!""""¢›!ðD?ý”ãÍ·Ôl= „+-_ñô‚^;"""""º„¥K݄إˆˆˆˆ®5NwFDDDDW“Ïçkmm=wî\ww7Kƒ.)<<|Ú´i111"‘ˆ‡ˆˆˆXÁ½Î•'ºäÍðÅ_L™2%66V,³@è’¼^ïùóç¿øâ‹¹sç^‹-}Ó îñãÇ£¢¢æÌ™qýGÙvuu;wîøñãsæÌaæùöµ¶¶ÓŽ@ ˜4i „.)""B"‘œ={¶µµU¡P0ðÑ„«àFEE]‹jÊWž‚¹ëUžèâÎ;7sæL±X§cýÇ)JymO‘ÌTRVn47{ˆd Ú¬¼‚LõE[ÆÆ’:UÁæ¼ÄQ×Tè65›¤Zjðã½ö=ÛK F‹Õéé;É}NŽ>q ¨ò–¬1#áåwJ•õ%ÅåF«Óˆd*mNA>Qê¶T—LÁ¥ruzî†ü´¾‹á6e/[g…jÃ;ÛTõ%[ʧ€H®NÍÎÍ×;ÒVKuYy¥ÙÒÜ_FÉúìœ ­²¿Ce—[U™î0lÙ^Ü툛¥ïÜL†íåÕ ¡s“Ä©µú¬ÜÌäA \örÝ“eNÙŠ»ò|u%eå&‹Ó@"Wk³×æëã¥ýëš·,OÚÄ­ÝU©è¿ª&‹-Tz’¸Äd]FnÆØwã-'Tz Þ)×±e‘ˆˆ‡è&㨯°Pej4j¬·ØÊ«íú<åàÕDR18LÅ™5&‘&UŸ«”¹l¦Z£Ù°þÉFgÕ¶l¥€X,ðÙk7®¬±ÈRR3RRWcmu}}Å:³mCU©îr¡ån,]½ªÂ@¦Jˆ—¢µÉj5–­1™ÖVnË Õ™Õkž,¶øIœZ£”ˆ|.›Åj6l2›·Uª¥€X¦Í^á3Õ­>HÔé©q"q¼rôG;jó27™=€$N/{MfK½ÁZo4¿¼³(ÔÃL,ð¹lÛWm¯öªÓ³×êE.[}]Ÿeu“¯ª:[9vQ›«mD)¹©cBŒ¶°D;4a˜6®ZWçDò„”d¥Øë²[Ìæšbs© ª´/˜ŠE"Àç¶Tä×"YŸ›*sYë F›±xµ[T$ß¾Î(Kï_j©Y¿ Š]…Á¨'IÀm)[]\çNL×g)e°›ëê,uÅ«í;*óûólåêU[¬>@¢Ò¤(eb¯½±Þj,[g¬]±­¼°/bÀã±› W–Y䩺œT9œcu½Ù°>Û!®-éï1ÙÚ°q՚йi’R·Ãb¶Ôm±¹;¶eLJv|8¼Ûi.Î,3JSôÙkå"—ÍX]g©+^åUmÓ) KÌÈH7×Ö™=%¤¦«$be¢€»aã“kê\Á«ª–ÁçrÚ,c™ÅhZ[Õ#ÝÚ¼•§$Nî±–ºÌ ó`ÊÖÚÌ册]•7yk­]ýØ&‹ª`We߇ÙÛX´<ÏU´§DfÐgšòö”ë]Œé:è²7ì?v~hµtºú¡;{þúþgáê% §†]j =­ŸÖ&R/YtéU‰‡èc7VÚ$d¤( &9+Ed©wÖU6審 Š ¹Æ¤”Z²³Rò–¯7[ËŠMéÛ‚‘ ¬5ÖÔ×j‹’C§³õ•ÙOn±šKÊ´ý /Q+]WaTY;¶õµ†´š W®3Z·äW'Wg*wCI‰Å$TmÓ÷Õ\CƒdjJj³+3€B›]¨’ZŒÖf(W䦅v>bZGuá&³"uAåkú«òU+ËlÆM›RÕ¥ÚPäkYíàrÈÌPg?¶ÉÚ\^Þ˜1¨ÁhØ)ÙMvP¥&Ž£úÒjÚTXçZðÚ«×d[ÌÅ…ÕšòP-I,|Í5µ)/÷ÿÑ%C·Úè1oZ'IÝ\U:º5FW]¹5¿D->g]tmUU_ÈÎNÝøäšºfCquFe¦€·iûº-V$)/W–¤õU‹ƒÞ\“_’¶g£Z,!W]™=cGm~è 33R‹–¯ªqÕ—›ZµÁ*lëžMëêœ@BîŽÒì¾ss7e®©±–­+ÓTå‡nA±€Ï\fNß¼kcè4©SêŸ,k¶l7ÚuÙJ©:3_¥h¬3[!OÍ-쫵;jKê\@BÁ®ò6K·¥${µÁZVbÑ•&³*é¶Œ.¹¾(ßž·®ÂФϟ)Ðk3ÙoŠ£Á®ÎÐØ+G|ËD·žðyš•‘Ã&,¹²˜†®"Žá¡[Ž·©ÚÐ ˆ4Ù}µH©:S+\Æá“µ…ZEäùƒÛhb´¹é2–ËÐq?ªœÜÁUI¥.'ExLÕ¶ËšÌmÞ^çd+ rÒAŒvm®Z&‘ÁÒÔ "evÑË6lÞ˜>è{z©:3UÀVoÏ({u¹@\îý ‰ã3 Ò%€Ï\nz~q9CÊA­SðØìcïÔí öT*D㨠Õo7ûYƆA±R_#`­4Ú‡^Ÿì¼Ù¤ªÔøàÑfçh–&¦ÆðÙ›\C÷%I/|òÒäìŒ8¶j“#Xÿ4T;¨ ÒºT—¯c¥%tòâàÁˆRò‡´*M-`·8ƒ÷€½n»Ù¨ÖeZMšœ¿1]8æ ì+/õÚ\í /ûåšd9§Ù1f¡{]6YbÂà+¤êÜÒÛvT$2íî†r“'N¯Sk2S%®ZÃàO¨½\Ÿ””]ÛP™¯×§­ÏÜXk÷¿’(JKÒî1•æé’“’’’’ÓVík~<¯ÃTšÚ†VŸ_ÞÐÚÿ5@mÑj]ð…¤d]vhóަݒ5õ>Ø6=Ö?¿¢ÛRY˜šÉ]«Ï+mh´ý=E¡—Ò²‹ö4™ò“æ¼GkCy~fßu«7V‡f÷Zò““t%¦ê|]RRr^ío3‡OÌïnÈONÒ6¸¯Ý¯`ƒÁ¥ÉÍÊIñ+9=#àoµîÿÈÖÞÓÓ~ø=Ó§öÏ}üaÃ&Ó‡]Á[è«Ãšöî}O󳼈‡h”?¶ÖŠZ Òd Œ='d¤Ê©Ü<Êy‰Z;t,±"Y‰ÁµØ¾º¨zhÇ©*Y Àgot^ÎÙM>@” U ù²9F·miOu¨C¬HÔ¦étÁÑ#îÖV‡Ãáp8ì®`ÙíGí¡µÑì ×&ëÏ#V¥ªElææÁ›“©Õ²¡ç'+Øž1÷áóz¾Nq—[µ™l$šÔá}¯äj @³yHÄ’$&¾>¢àaIâÕC—J‚ýò†}}¯¶¹:^Ài¶{8MUºzX#iBº €Ïj:Ÿöˆ¦,‰L Àçr‡ÊÜØ .uD™'¤ªE€§±aè½—’8dÏbi°s¢wì+-–%*¸ª‹·7 >8±"Q¨T0ïc…Ù§ÊLUBœ¡“yŒå–;J$`-)±j‹ªöØ¿ksŠ»nÓêb‹7C=Æâín}éžýöUmPÛkÖ¯.í9^î†M™ë*\ê‚;«v¾–£´–­Y]j÷^Kqö¦šVMÁŽª]»ªvi}u›V7z!ŽÏ­Ü‘%TUïì+M“ÂÛTš½z‹Iœ^´s×;U;òíkV#‚·©lõú»*÷µª]UEzT¬+1÷ßÜÞÆ¢Ukʬò¬ÒªwÞÙµ³@ë®+^¹®ÖÑ—Í]¦ÒZiÎk;väkÿ6K#ù܃Ù'KÍPK¯Ý¯`£(=;1&1S/­\ôD#+©s®Õ}$?¨Q‰\ÇŽ·÷ÀßòÙgg„*ÍÃK¼žØÕÑËb¢ËÀ.mt‹q›ËM@’š=øï¹813]^Sá4t=TÑWɆU¼E2™ð¸œîaë ¯zʥ಻½¡naásØ=¤ Ù¥N¡±º´¬Òhiö|³j‡«Ñ²Ä‘;”)d€Óçhu:n‰B:üÄp±8¡aP^÷8ºé¸ŽÑ‹bY¼ p¡ÕîâªL2|¯€O,r¬#N4N>|5©\ x|.—€Ëî ’Œ Ò…VÛîzg ‹v}¼†–¹ÓX’ß8lÇ›€Óæðbp““L:üÜ‚…~‘U¤oX[»j‹ÕZ±fy…Hž ÑhµZ­6Yɬd7VÚ ~9E@¯Ïˆ3”U4´&™=>§ 8o‡B›W ©[c¬´¨‚„äüü`NV¦­Í­0nª«³çÄëç0–=q¹E…iJPn,rn¬ôÙÝPÆ$äVVåˆäŠàt…ŠœµaÅh÷&Æ‹¥ÁûG$‰‘J·¹ÌÐ,ÒlÞœ§•Pè 6ÛÌ+ e¦œmiR›¡Ö‰„ 2“c¥¢p³/sy±³ï·\YS’º­(S-“–¿ÙÙ°¼l{µ]—'ðùÔùº`GTy¶V²ÚXnÉ/I–hm0˜}òÜÌDñµûl‘gîPP¦g( #Š~µµµ›6m¶0==}ãÆ¼oxÝÇÌïøqʼ%É3ò&KfΈAd¤ ÐíííÁÙvL½sz€0©|¶äØ1"1ð Õj*7ûxÌWeù‹îvÀh#˜Åâ‘ÍÁ%>ŸoPEzä„Ï¢þõ.'€×‰.:qtÿ3mDª”©êx™L"à1o)®s¯,|¾`ëËȳ‹ƒÈçñ<éq‘*ä"Ø|›ÝË­A…ZaFk…ÊÓuµºÁˆ¤#K[Š‹¼(¢Ñ¨‚Çâz\*׆ÊÜg3×ÛÆ¸Àöw%Äñ™å»k+Ê Æz›ÓZ_c­¯)Û$ŠKÉ),ÈVßê3’y›* Í¢”ü¾9ñ”©™ª²âŠzGÚ Yã4³Jj9Ìö&‚G™×¤Êj>ÄŸ‡ÏIê@Û£T_¢îûx¹+¶ol°Ú®¾O˜Ì;òw„×Þ`óA•ž0í•ZµÄÐPßìM‹³Û<«Úÿšô8lñ…Þh”)ƒšŠeêD ê¬vwè‰Mª–MqB–^n¬¨0µ&ëbÐj6X *HU^Ë_Á.«yyRqÿ-?´èG£Óé Î[UQl0:t™"sµUjüº&ìuåö”×ö•ôýöòZ —UÛõy—ztîàÌôsk &Ã×Û „èíö÷"œ…B—<_¾ô‚`ÑâÉ ïš{;‹ƒ®£É“'ÇÅÅ]Ó]x› †fƒ'C¤uÏêÇÖ[œu•9…ƒ«„.›Ë‹!/ñµ:<dò!Á\6Ò†ÔzÜŽV`ÔÎY£Õ…e*¬.—mÄ·Åðz½Äb±»Éâ Óe í`ïuZ\ã- ±L%\£6|Áž\’«0à#F£WÃj¥¬¢I;ÖTXîÆ’•«jD)¥Ez¥XªTÍpY‡{0…Rv•n WóˆÒö8z±‰eJê>§Ý õÐcw;ì>òqŠX¦’®`O¹o§ƒ™T‘¨Õ'jõy¹{òž\ovV—[rK’oÝÄã¶”›<²›7ëufôY·¬.6T7eôß¡^—ˆéÅîP3_pôÌàxãs»‘=E"™6qÎ$n IDAT—o´/]ª­çêBéªuÌN¡™ì(6œF$—Â-îÁ;p»Ü¿K¤ð¹ÝƒÛ ƒ™L:ú…W¤diJÖŒöd©Á*Ѿ–sÍ~W\ê ƒ§õHЫ]…•9ù—~w0óX,¦[ZØ”RXOíŠUDøÛOžô|[¿Lé<ú=ú=TïeqÐMÍk3Ô:10õˆºyr†Fd1»ŒK^â æ9Ø¿~ fa«·€*yH}Üijpä)mºµ±¾€$>ñr*Åb¥V%ª1ûk-ní ¯ÿݦ¼eëÌgì¬Í—õÕg†vÄj5n7@OL¢F›Ói2Ùó†àO¡+zÙ¼j½ÑRüdZµ&Y)ƒ×ÞXouPe•æ_­/zÅñyÛvÈ ×m1»lÆ-kŒ[‘D"òyúFlK4¹¥ƒŸK#Õnܼ"{M­bÕ2“Z/{¡ò”¯Ø¼!íêu¸‘§®V§™4‰J±×n©·ºÄe¤÷U •%–ìbsýúÇÒ µR —Ýb¶¹‘zmiθ+‡1iŠÌ«ÖÕÙ*V-«Si‚´Ø<€¨ï2«p•š8˜›=u«Ÿ´«dPæmÛ˜SnZSg)^¹d»J­’KDð¹l«ÓÈÒ7äÄß²Í;ÁGpÅ­eD¾8A¯•ëÊM­Z5¨r ’-e«³¹™*}CQ~¢¸ïѽêµù Æ¢ìâfD2uÆæ ÙÊQ+÷*7ËŠKK׬ô’¸”¬× òâÅ@rÁæ ϦŠ5Ë+ ‰KÉ.,ÍT;,e[Vf»ª*ó49éqëê6­ªWåVUfÇç•ï—T¬[¹Åˆd*MÖky‰bbuÁ¶_aé¦UF@¦^±¶(ǰr½KÚ÷-ÃŽ×dÅeÛW?Y @§Éxys®6æbÒôT¹¡B–}í¦+ "bà!ºÆÆ FLG=⯾*C'«3¸‚“µ‰úrHî6]biY¹1Ø£J§ÑåäçŽèœ%ÖlÜ©­ÝRj0>2UJznAÞxúÃKóvìJ4”•W›¬V‹ÉRõ9¹ýç”™Ûv ¸¸Âd3›ƒ5 Íù9Z…ؽ1Ôo°6›bU†Ççe5VX\ÍV«$A=úiEUJÍöí“Ùl´ÉâÔéú¬}²âjÖ‹¥‰™¥»R-ÆŠêºKc³Ëçñø ’ÈUj­.3#]=|gÒäÂʪäíÛË –z#HâÔ©ºŒœŒñu!»tâÉÜV¥Þ^²½ÖXç ’«ÓsÖæé…±R_Z¥ªÞ¾½ºÞb6Z¬w®Ðçäè¯(yÅh7VUi Û µ –àdm"Yœ&53;G%3¨)ôEkÍëÊÌN§ÕêŠSŠiòÆÊšò ƒ©Áf1gƒ“ÈRR3r²Óâoá¯ÎÅñù{Œ1VD¬Þh:°‚­«¢ÿÇÞy‡GU¬üS·ov³i›žH „iŠ * ^„+Ö êO°àµ€zAElè½"¢Xؤ Ò¡„š^6=›í»§Íï !bPQ"óyöáÙ=erxßsÎÌwæw:ŽŸ·bü¼¶ï殚øÛÎ:xæ¢Á¿ü{–¾3¯ÿÙæ)ËvL9ý}ðœUÁëhyræ-›x­;â¡eãçvhɲ7¬-ó -}§,ì;¥­n•y[÷µ%×l¨Ò š= ð÷è\•œÌá!Φ~ý”«ÿ}:>ýÝŠÑ¿Ö-Y6þÆ7J¡Çë[÷%‘íƒÀŽCîß)DÝþù7¿ù"\Ñ}#+Æy™o󡜘7fÒꎯÿ´èÒ§}ž7fêjnÄì9·çDñ ‡WÍŸ»²$ç¥õ Ï7ÌUo³ÜðÆãoä¦Îþ|ñø?*xrss{ôèqúó²½°¿7¹¹¹™™™ CzÕ ç‡$I¼Ï,¹ @hgð]f¾÷~þÛ‹îž4‚c“O¿7óüç¾Ø6Ü?fþIˆÊ¹}Ѽñdx‡@ üM!‚‡@ „ÓX'®ÚwŽx5>õñõû¿l$uäÌE#gþÙÿîøûƯ„¿9$K@ @ ‚‡@ @ø-T*•ßï'v œ/~¿_¥R]Œ’IÒ@ Šüüü¤¤$µZ}Y]•Ïç+**JOO'ú‹±ÙlŠ¢ÄÄÄS΋ÊÊJ„Õzá'’@  “Éd·Û/·«²Ûí&“‰xç¯Çb±¸Ýn›Íæóùˆ5¿ŸÏg³Ù\.—Åb¹哤@ þl·¨¨(¨|.‡qŸÏg·ÛNgRRñÎ_ÇqIIIõõõEEE$¶ð{P©T&“)))‰ã¸‹Q> i#ðg¡¾¾Þn·_ Ü`ãÉb±\¤Æ@ø\õ®¯·è/ùÒed„‡@ Ÿ†ã8«Õz1‚ï B{S:%ëߘÿƪÜ*B{Œ›þЌѩ—pmv2ÂsIîƒ=£&{…Ÿo4OŽýôqõïÔÀ¼ê›ï”ælÉâ/‡ÿœÿ…‹’r.cŒ"÷@ BûÕ»pÊÝ+K€‹ŠOÐ ¶“Unˆºîõsú^*ÍCFx.œæõ½\®ðÝÂ>Ú zþòø¿ü-t è’FüJ påÊù3W–—qû¢—fô°¸¯˜u÷˹kfͼ~áàK#yˆà¹¬¸g÷¯ ®mXë-«”-º9K";ì)»y>ÿÖæˆ”SóŠï9nùè!ß=wJs¶Çt>V}óté¦âòMÌã›c»U6.œÝ¸»Pä°Ð9sBâyiÓ„âåÙ¡éÇ\ù•Rµ‹ûFô=Ý誷‹nÛ¬Ÿšäß–'”¹¸©/›„÷7 Õ‚êî¬×GSàô~:»æ½=2˜³ÏK7@ÕÛE·m¹;ɽù˜T]‰;Lžw ~o‚m{=Þ3ª(ïÍø™×ü‡vWbÐe9<Ë@üJ ð÷§~Ç¢ nàÍ[4£Çii£ï2ñ¥—ŽŒ¾Ãoo° IÂ^IZêË iÛAõ¬O—o›p¾þ…:ÀØÙé^W¤ë6+Ý&kÍ-gðêý»3£¾Ü;€÷.º³¡ê†˜/÷vX·ÝÚ;¯vÖ~Ä.X+^órü{ë_%~6ßÕ<útÓ£¯K˜“é_ô/»yNÜ{ëOô½÷¶?òî9¶Å®·¶wX·7áÞ1k¶ÓÕ|– îŒYüeÒG/«Ž.¬Ïõ=o†Æqì̵IgCÞ¼º™Q_îí°no¬$aÝ6‘8•@ á Pµ³ºŒîñó}ñ=8€’UKsaDð\*ïý™'¤µ|Š> JžÊºE @§$!w±0ènÎV¶}Š›ê›³Ï˜c¯ªâEÎÝNþ¶T<ðê±·°Õ›¼U`jè`*2“zÑ \š~@4€"3i.ÉÐ; Pdå®T àÿrΞnˆç€É¾SÇíq p‰úIè“83È ÎŸ 6]4åÞãX·Íß`z?óøµ,q5@ ÂÇüBÖ¡e祀„´]²¢­9<@§sh"€àä}ºÛíj÷gÙL>öÀ€Èn?ã8*4¸Å%¹yJwºL…—è–i¡›7ó€›à©3é:yÄ5ߨ 5 øè´¢køæ sïržu  œ% Ó›÷~ý§ó*㸡!³æ„e‘‰=@ ø„¾¹Õ;sWnµÝ*v­~ÇÊ\ cNü%’aâ⯻¬zûrKÝßeÐÄ[{œXôïÕGÞ˜z7¼·xJê_Þ8$ ./Úã£.—Ëëõ2 é>¸XH’¤Ñhôz=ñññññx¡y¡•?š$å½ôõ¿:¶ÜŸÅívó<Ï0 B¨Ý©µËEQBn·û×_©Ä Ä Ä Ä Ä Ä Ä —›Πï1sÙbnÖ¼\«þ¯þ!‚‡@ø³È²Ì0 éCºHP^¯—xxxxx@¼Ð¾¼p–æ™±xÕ¥¹Zâ0áB=ö„‹Äïì™#^ ^ ^ ^ ^ ^ ^¸Ü¼pY´Óˆ·y¥ˆˆÄ Ä "x@ ¡A@ @ ‚‡@ @ ˆà!@ „Ë’ª@h7¨Yö2¼*Ÿ(×þb4ÍexUç—ž•xx@h…¢(Áœr-_bPÂåÉ»B áÊÁï÷WTTø|>µZ­Ñ¨E)((Ä2Dð@ 훂‚³ÙܱcG‡dzêCÇcï5U¹Ô]»v5™LÅÅÅŠ¢]HHÐŽž×Ëò%!m@ œ‚ ¸\®ÐÐЮ]»n;â_ô«À&É2€õ¹þ„pfÆXÝÌtŸ×ëv»BZ­–áÊ@’ˆ @h¿8–eu:No\Ÿëÿðûúü2¡!DÓÍQý%µÒ‹íi1îIC´×f‡)’àñx¼^¯Ùl&$‚‡@ .S°äǶ\¨Ê…ÆðÖ‚èDo}4 ë ÑÙ`N!Ø.7dYñú…ڧɨ5I÷*áoË'_­Ù°ÿ¢„ú¦Äÿó–‰Y.†Ô‘e9**Ê+ ïÞZ[WT-q bé³_þK£Â*鉚Þ^ëºãjýÐn!ÖŠŠ Žã 1&<p9á­SN¬¼w±¯±­Ýûð‰¯EfAÏ{ÁÚ1<±Ù%Çí lÞy¸¢¼Ìf«[³³ø–1gß5Š˜…ð·mˆ××åÅõ@,Š¢èŒ)õˆM. Š¢øýþúúú´´4‡Gùr—oáj—Ó«p â˜ßèçâTݤÌýÈñâgÎûÇêGõŠ1験'OšL&•JEÓ41ïï<ÌÀLz7ªs7›ÍFÌA¸äX­Vb„_y^/Ç«"sxÎYËI¸l;Þ0K~Ví£Œ^KV/«C»tL€¦b\¾×‚€WÀkîBá0z)âuÄx—–'æ¼ÜÃ\‘‚:¡ë ð‡‘þTÂß”ÇIa ŠŒd;}!©¯¯§i:::Úb±¼½Îµè…MA›RGVc`è6*QÆ/~îœ÷‰ãŽ‘ºƦЪ®®öz½‘‘‘ÄÈ¿«¥ðIY–EÁcŒÏÜü$¸‚pA Þ]!„EQ4M¿ „0Æ’$ ‚P^^NϯAæð´¯{þû+§¾Œæê'¾¶C…¡ÎÙ¾–d˜9œû>¶x#t¼uDŒwi9~²äÚè£Bf aCuðuqÜ?nþ§A§&–!´wAXºâSYn­gš[}G£ÃÒ°J 4¢> ñ¯UR^¡æùˆð0bÕ6ñù|Š¢¤¦¦Úäÿ}áùv·¯É«0¢©_kZ‹2ßOa¢®vŠ´Ù Gh„"þ|»wÝ>ÿÈîª ÕvêÔ¹¾¾H&·_< ÃüRíÁC¸H‚§µæ Ží5¹ß'äݯCå.@¨Ìrͳ›¸ú¦Š¢R“xŽóùý¯ï§½y;sšCŒIqÖ%CFyëàÔZŒ1<X ±á%Áéò½þæ²Ùƒ•UðÎAË“ÿž¡×©ˆeDIZ±/¿"¥'` #:¤®‚NíŽÄp¨A%YŒeŠ_"Ëòsï®ôIÊ‚M±FFÃþRí „8MèüOœ«vxE 3ti Új'ASVqÈãÇûÇ34 ˆø‹Þ/wzGôP?<ÞÌb—×ëÕhHõñ[‚‡@ø+ ª Díüþçõ,y–M/Q-Jæðü ¥à;8ø>”š†=õët¹ z]Ǥø‚’²&‡«õ‘MWQiÅf„º§þgìq«c‡rê[„€úBAIù»öO¾é:†!©eþ"0ÆË>Ù4±›ËîE€À¨Fc®½†¨Âß šæ=M ¦hÌñ”à§<„0¬àCŠ"0 üje²}ç®CQY¤¬‡ç¿°ôÅgU<ɳrö›Ä`4ÿcaý‰r!Äп·j¦)°»£V‘dàÙßy €Mü‡‹ÅÕO„‰Îzbÿs6 ‚íÄ„K¨|ˆ~/’Ôº{c,Šb@ð¼ŠaÔ2vF u)«:ö/ÅÿæÑp§«V«Q'ÇÇì;˜!zMxÍà$6&"TJw0ÿäWë·VÕÖå++¨ Ÿ{Õ¸øš¯ñÉoLø“×y|~†¡'ß4šXõ¯Áã øŠ¶uÊBåv )¨õ Þ`"f!ü-+^j„þÞ¼±åç9Ù½g¯r=¨4džÞý·MŸv1èÏ+j)¿T

Å{ìOÙZðЦŽ\l·p­VËqMÓÁ$xð›ýu„ ÅRŸ„~´»*ýß””oÛ}:Ç…>°…«.@h#eYþü›’,¯Ý¼½vVî¡£.eSÎýêS ¸oíJï)D‚(•–›CÒ‰]/o`Õw{}%;¯O(OOçf(ØY†&„‡ûÚ5…EEw¾ÿ•'"0Æea¸Èæú³o]Ù JQ0€º±*Ü%,Kß9”/ÖFMÇÛµæ7xŽk)Ó¨Óè0Ÿ%ö_ó_­¦4A,£ôMŒºþÚQæãkp›Í–’’²ûDÝ*’MQpV2׫#¿tƒ»¥›WV TOM»Z7¢»ÊbøÙ¬©N±l§XvtM½CÞxÀÿÎzwSfN'<<4S-ÉøÇü@KŠ‚ÜaÆýñãÇãââÈßFåLL@ ´›Ç•a–í?h¦ÐÊO>ùvíwWÝö¨.ÿ¹ðcOZª—ËqGžk<ú^eÁÚŠò¼ê[Ãåò ‚¨( B˜¢€¦/ü‡ðKh.ÜúÀ“®>ÐëóiÔêY½<œ§¡ž÷RS·SÃæÓ4ýwÿ£sÇ$Œñ޽y)Iq°í@a¡'Ä{v'ÄD*Šräx!1çÇåöWV7>|âÅ×W><ëÉ誇ǔ{åæNSŸnM2™Àóûyãäé+ÒÙµÞ¸àÀ‚^_ô’ Yüõ`óûæ–OŠ—è€*oU‡;|^òùÑÆ£ñŸÄo¬Øx¦—ã å’W&ç7æo,ߘ°2á‡êδ#±²äè’ôÓëüuÄçjä j€0Æ€$½‰ö{iÁO‰¢d´È4ƒ$’D‰å1¯¦D‘|ˆf]R¤(+ ÃUfïÝ9Û)Œ(„qa¯ÑŸåLÝÖoÒö¾“Vöºí¥c‡ò^Ñï~š–8X$´Þ¨`˜1Æpßuúç&‡ß0²‚‡fª¾|*lâ`mPíølk”ƒr¨Î!{ý XŒô­ƒµßÌ »!G£`YÆ7õ×¾4-ä…;LÜÏÇ,NUо&K‘ž 2ÂC ´da¬S«‡]54%)yë†][—¸‹¨Tª—Ú— 8˜@ïßN±E[$#âÜÎÔj”F±5Z“N«Õrð]ùw³÷ÎA”Iê”sìíj ¨¢hP (ÀˆÂÁ/€!Œ LQ `@Ð’ºº…Aú§®{öPÇl»"ªk÷d IDAT7©u€@”Þnëï.é›}וl쨨¨ò:¹ªQn‡FShö2û÷™GtWÑTÈ>vÜ:Xw÷5:„‚qE¼b«gÍ_¨úê©pxv¥s÷qÿÈžêÉWé’"i Oͽ-¤c4ûÆ7Λ†èþï½Ýç}∸užë&r´\èC2ßÁC üª.š¦ÕjUtLt×Î=ä!yEbžüÕ~äÌ¡¯Ë„^]Ãóµˆ;@S¬øVÚ”¥Ô_¢ïo1BBMQMSEQˆ¢I`ò§%©¡Ñ€Cµ4#¹1Å–ÛjÀªòƒ,ŠpÖ)æCÿì¬_”” ‰A/K?ÝV±så]™'v!äZ´3*öÚØûîÎ"æúý° ‡Mýaêžö7ji-è`ƒy^î¼€x!ç…ûÓï€]µ»†;üÛâo'w˜LQ `)–¥X@€NwÂTº*3Ve ðŠÞ)±SÖu\·¬lÙ-›o90î@‘³èÚﮀg{=kÕ’«Û†¦(™áZŠL³Š×… ¡ (˜aß#hô˜¦0 EE£WhëB䆪€FN¯žÇœ4ÀŸ,(üïÛo—0‘.Y®üÀð€•½:aïšÑ¡ô“ Ÿ¿ÂG$I:X Ê/R¨Ö9”ÑsêÆôÑÌ»Ý8¢û™u½æâü`³'˜Þ SH³é"L” á5»}ŸþèÕSýò]&˜4D;iˆ6î÷Ïx«QŽª… ÷”E)ŠBÆyˆà!Ú1øtf6I’jÕ'½Y¡³Æûî€-Oþl‹¼´;Ý¿Ó/"JËb@Dù€jY›Ã.8ªv;”,"@Ï¡-¯ÓòFg4p:Çq,ôè ƒ?çI¹­æ‘g_ñå­‰åàÐTŠî¸%xX!ýЗ’ï¶­þrp¦¨·LùÅ4€ K``hˆÔÃ÷'µ÷{¯æ¡Ø]ÂÞÚ½7m¼iÉÀ%!üéP~ªùé‹â/¢µÑw§Ý­¢UÐÓÒsrÊdËp2.q\§N¸Õ`B½¿~ÊSBñÚøw ÅP°xøâúõkJ×Üùã6êÁ.>‘õ1~k<^ïô§žkàô ¢dY¶øÅí:‚ŠÇ‰‚SÞE|M`”,"{}sˆ2P68£GR'<½cŠvszGD‡À°‡\œ¦&àMÙóõXƒdÐkSâc»=896.ö ¯2€^¯?\ìaÛ’­ÝãÍLb' n^tÚ« {NZ’¹4Í5Eˆ–j9eóAß ÏJŸ>n ®äs°X¸q£škc †F‡ŠÅ;FJ!w%>´]Úˆ@2Rj3ÒÄ!c<èc(F­ °5õQ«NRr#í4"Ô*Ÿh¦ñaBrœ?9ÇÇ¡Äd:*Zm0ªT*–a‚ʇ¢(¢|~*ŽehZ±Ò§J <Õɱ#êšJ<*dQCd7“s¶ˆm*…Sß@›°¹@¸%´¶¾¦è±)"ç.Å!ITÊÕĶžªÇñm Kª@!ÀèôBV¢Mè•­â½ý™Z¬RÖÇ.Ä‹/<Å¿7ø½v>°ªxU¼>þ¥>/É €5¼¸ÿE†fÞô¶5|^üy£¿®‰½~+ÿ­I)“¦tœ¯‹/q•ÆØ-º'nž¸©rSjhêÌŽ3ïÚÝ%ÅÑÜ[ÞºîYU¼ îH»cN9Äòg!KR¹ï:5\­Õ³ °ÒVÿŠ,ÿ"f Í€¢´,õÖx¦B+ÆëbžþþʧŸšKr‚µPVV–™™y¤Lø•:³Sì™w˜یÿùع-ßÏ1¨µÎ1é( €D wKææL aNÛØ¤£øs¬IŠØDš¦ËËËSRRˆ;ˆà!Ú+X–‘¢C´4Ðf‹NAâüzGœàÛ­R% T¹JƒuÝ©þ˜þØ›pERtXÎÿN)u+öX¿¾2¥!>¨„AÁ (´Û˺›´5%pd¿bT‰á!¢5Lˆq§¦ÛS³ÀšD3,ÏsZ­–çyša‚qodæÏ¹Ðë´Ëz}þÜRO#ýŽ¡±þ=Ñ‘¢êÒ—%¦¤—TØV~°ôžÜd 1Ƹd«²í9pW¢¿UþñÅž ŽcÓ’;•š;Þ¹QqVPÙÿ"†ýã Æ^ŸàDŸOøæ«o&dˆµn`iðˆOc†‚=eJƒû8V£Ì]-MLÝÞ#à÷‹*‘=ç qº¸ÿöÿï5k®Yxp¡Uc5°ÍÕ’ƒ*B±»v÷Mn:óúÀ0*iT¢>qÌú1’&LJ™V­uñ±Å+7v0tØ?vÿÒÃK[¿n´Œ6\l£[UV–&>:mAüpõW£‡ Qó\°‡LƘ x¹âÃY˜å[­Uc*àQÚ"ZSÄèLÑÍ{B¢¨Ýù¥/Ä¥c–>H§ÏRU¾zD$ÆœÚ{Ïä[)ŠÂ/,ÊË?vëØë®phµZ¿€Ëëäs04KÝ=™€“•b+caÞ¼Ïüî÷[ë\²Œ§Gx  0ÿ©›1Z\ºôd¥˜beã˜i#uï¬w¡¶*áz§Òà’µZ-yˆà!Ú1!ЦCBõ!¡z¬`EQÌa&k‡êCqN©^ñ~ƒ@B…' Ò)Ü) JÉ.iÏÊþW¥âp%€ºÒwºÈ©QQ’¨jjä%§›–,R—RÉN\îȤ²´‘TLzˆÉ¬ÑhX–==ñ‡¢išÌúiN«Ië¸kÿ¡ü W 4„—j:{6™õ]œÞï~}Ïíü+‹?l°;öÈÏéÑå‘ûnÇGV€»hn‡vü·?Ô@¯Ìô½yùpu …•˜¢!²;1ì£ÉéݼåGÑ^éõz³§¥æx-*SS¼6ÜHaÙçv8Ü÷§k*Ç÷õj98æ½{b¶·~Gu£cÍ–ƒã¯îAîðózA!@ÙaÙÿðÿ1gßœPU(x$ϽïýÁöÃÔ-S×^»ö¾ôû\‚Ë#y¾*ýÊÀ>øÑþºý`V™ƒå,<´ð¸ýx²tÐR £¡©3Á9¢"ÎÚ5ëÝcïöéÛèmœw`žQeœÙuænyŸßìTá[}\×аîû­1Q‘àlHØõ…ÎQ««*YÔ³¼?¥§95’ÊYÏÙN1U…)’d¶:ôaH–™ÚbþÔ>$ YRÔz1&U ‹W´F@ˆò8Øòã|Ù °_gã™]¹ Ûw:vÂåvc€ªšÚq£FÆFE^™ñT‚ $&&æ.ŸÂÒm¼7"þçp-ÔØå±ÏÔ;Ù0q°–¡Ñ´«uòTÓÿטӉ™ÇƆÑó§š2âYP¼õpà¾7¿žÅŒï§Y¼ÖEµÕ~ˆø§£ÑÙÉv»]¥"I&‰à¹¢ —=õV¾ÔâpSRŸ1“Æf… ÛkƒN¯)J…)£‹OŠ3ÍpÚŽ7ÚD9}zåìæBT ¹žéu#î´½W)…¸ºÛ·`·¢ŽÆt¤L‡òmm®¦„ÑP¢–æt4ç«mØ/„F¹#Ó]¦$¤±Ð¬ša9Æo±&qGÜÒÚ?7ÑÐÔÔ·g7:¹?lyLë-›1¨ÿ‹›”Šªšÿ.û$&*BÁØÞät8Ý€(Ôó>¯«i£'ëãí‚ FEXJ*ªQÔiø,é'Œ1ðF°¤Ãþ1\ÿ»N ÏVvi ž;-x ˜oa$˜9Zd#š(*l BSHCáFI±»XÙÉ#‡Ü òù¼^Åפ¦UÍÓ bÇ 5'²›Q©á›~d9VatuÆŠæ8ÞFh¡Cbì§›û›•¢u¸dKfÝGwçÜü¿ØV]g«®ë›Ù¹£Ñ ß›—Ÿ¢|Ëî4{S D†[b¢"öæå³ sϰÄú ÕçA¤"k_þAb"M”Ö\àP-9 FZkêðACrÚH}·3÷ä´ôе‡¹CR×{§7µs¾H²¤`E%øóžÎ÷ÔòµÏ®}VæeŒ1ü'ç?#¿ùàŽçì›FYoN»$,†€®Ø£¢Uó²ç¥…4K}AGskË×>“ûL¤6òío‡©Ã®Š½jñÀÅ3wÎ|l÷ccâÆ„«Ã‰Z:°ÿ·euMÅb˜¶Zçc éßõW{}МèE–ì›=¼'Q;g!Ë2EQŠDº­ <ãÄF¯A°)ÏGSŸmóØÝÊ ÿ aÎíˆ?w~ô½‡cB°íH`Æh`h40CõÙ6Ï/ÝG!t´L’L&VÁs…Ã’ûd†mÙg÷¨{_™¿%©þà.{æô‡ÇêO¬zÿë¼Z¨­9ã&Š·½3oµuÆÃ£ÂY¨ý~Þ‚uúIOÎèf±ð£g–«§ÍîúúýÕyµ"°áÝÆÝ>>ÃÐxdÕòàF62Šôº]äV54G¹q,Ë0ŒN«µÄš}9^Ç‡Ëæ„s„Räøj–ö1š2;ßèmì—Tmí¤?vÊtä ß$S؇(%ظÎZÅNáx¬ÑTv%Yâ8„xNªÓé"ôzZM3 Y·ç7\£AYÿÄß—ÍRòùk©úºŒ6Wè÷æå×54Ò4vôTÑþ#ÇDQ¢(tÛUÆ  X55ø9bÃ?e„:ÄGþæ1/̺™ØêÏóD—'žèò³ôÐZóNŸw Ï韌&w\n›ç&êk&׿»¦ºÎÚ;Ü:¼éŸMÁïMSšZï¢=·çܹ=çûŸ…N«aTнM>µ^ñù‘Z fÃ5§%ð9NîÌ5títûÛ–:Š‚ýhµL¢ôÎÚ›òf>ñ(Ç’®³»N,K“[qûpÛ˜ôxØåUD³4²šé¬dîÚìæn‚>snÎó#½‹ßo¦êÛ‰Ÿ8D›{*`k–ÜäÁZDšÎ9KJ”¡¨Z3›1ƤŠ&‚çJC:±ôñ‡O{ÜÚçöž&¶Ùùªä>Ép–í+SgŽK6Ò‡$3ï쳩Çt37æÛ|9lÙA—µÿ×–üZ1M]Tä‹nÕ¨ÃTÒö};˜z¦F'š– ßï«3 ˜–f6ºÿðmÔŽºŠ(ž Ø‚ûõýB@Qj†Q©Õcˆ- ™‚ßðûü^—ê¼ÐàBMnÎãá•€¯O'¯å6UY[pŠ­±Ñn;B"ÖrX«RLF)Éœšªßv°Ö§Î«5uKMµmÙWärê4†çÄ©ÁpÕ=ÓØu[6.]÷¾Ï”ÔgÌ„Q©>»ê¾^ðä†àm%ù%}œO =A©K @QQY¦(*˜?íL¦†aFÅ«t:DI‘Œ±¢`ŒqðŠÂY™¢(Š‚ ú}¯×(†Ñ:†åX†a†mÉ! ½óÅ ˆQšJ‘»Ef!ch›£ÞEQª­o£^×9ΔciìÍçröS€LÉhØ|–Nì÷Ç(Ûö….9#2)I<ðÍ’ì›<Ç„½ŽzYVÎê,µß[²ÿ{}DlÁž5Ç· ó`uÁüïW£âkNêsË,Dâã —=¡&Óã×ݰkïà«𦣬ÖHk”A§ïhåá]¥~¿rFí ²¬†³çg²ª„üw¥†>pïÓİm"Ë2ưfï—Õ¤$ƒ¬`A‚Ôôjj壖6 ¹c¤.>œnp)žÝGcÖÓ“‡j'mÞŽ Ó:kÆ…ÐÆ¾‡ÆéIÞ"x®hXC|Ÿ!ÉkßÙg»Å·¾Ìjð7¶ˆŸË§Ò«0¥'Ã'ù'T6uÆ(ƒÉdõ­=Q¤®3÷Œ Ž%˜<ÀW¹÷“·–/Ÿ=)\ÅX‡Ïþ¿’îbIœŸõê`Eq: .·[£Ñ„Y,ƒ¡u>PtúõÆÐV+ ¨xdIªªªZþþZ­ö¶ÛnÓiµÍEµ æ`Lø‡¹¸þ8®Ü•{ hŠî…B;&HÜ®3Eð³XŒj¿¿~@Œ ’G ~’DâÁöÚŠâÒCáñM7Ú µ%ÁíE¹› Evê­2„VìÕ…X£;ç0¬Êïn*ÎÝ謫ˆIï‡+²˜6覸̰ïË7« PRûßÐ±ßØo> ‰–'I_퀃xýþŸvîžxûä€ß1®m°×Û›F‡rpPàòë~04§%hÝ€¦YCCiVž'¦LÈéÕƒ˜ô\pç”#¥BëŽAE«2ùѽÕ#mÔP±aôYõyE½t¤T.s "‰Áò’³¯>²iyRÏEû–WÝ•Ø}(ÃòÄÌ„öÂõW7êuo¾´pÄèë“’DQ”eÜèõ½Ú;òþJ  ZÇ­þB1”0×—¤6ÝÖ§Ëõ3ž2Öó¯BÓt“{ü˜cÎÔÞþ¿ ±aL½Sþñ°óA|CŽ&DGå—Š½gwx—‹2Vpû•§&†œU«®Ûç[¾ÕCS@S áQG;Ù8¨‹J’ñ—;½ .%'×O3º·zAmK–êವ%&„4¾ˆà¹âh=‡GeJêyû´á¾Ö‡˜snŸT»|õ¼'} 2mBšXk·0ûûeé£ÂYÖÚMU·ÚßçfÒ‡çä-_ôÔ× ž:nRºØÓ&Ø—¿?ïI$PÇõן¨ Jë!Œý‚pððá²ŠŠŽ©©EEE' bââ0B¶ÊJ—Ëe4kjjAèСƒÁ`€†††ÒÒRQ£c¢#Â#t: Ч¬´ÔÞÔd4EAÀ)vû®={ÂÃÃcccu:Ïïolh(*.ÆŠ’”œl±X´ IH}~‹ë q}7žÂ…PíÅS(BâPtoHŽ8Ò˜¸0(ŠÜT_š5ìŸåG·CâiƒNyOSmaîæ«î^Àp*stŠóË7}^‡9"^gޤ(:àu3,—Ü÷Zè8è†âmk~æ;†Å’€eYÓ©wå‰}‰Ù×ð2ŠMh7 é—“ÕíÍeîÝþSçn™±qq­V¯â–Œè¸0×¶¡Â)*€cZ9Ñ«öØ£œ¶l=Ö#cøÐ Z ÏümL&Ó± ‰úyO F…žü°)TOoË÷{üd¦]­Kˆ ½ìö)!ŽAàöaºà™ Iƽ:òpë ͇›Ý¢  Á¥¤Å°Pm—ŸøÀÁ1°è+WFe¦j›”Ö­ŽAåuRZŒÎçó×ÁsÅÀ&O™¿ Í=êŒó3Îü4dŒ½7cì/ºwÁ‚3ªè‘9-G˜òÈ€³ÿš¹ÛøÝH&݋ךkõUñû|ëÖ®efø°a«W¯þ櫯{du—%é…çŸß²eKß~ý~úé'I’zgg?=g`|ëÄ[§‚±Ñ`˜7o^VV–ÃáxqÁ‚Ÿ¶oBV·nÓ§OGõµµ³{¬¶®.<<ìÙ¹ÏôèÙóĉ¯¼úêþ}û0@Ÿœœ‡þïÿ2339Ž#Šç|AædNšØââ€V…F–®{äŽèrÍäòý›œ5åÅÉ‚ŸáT+XhIcp:/B bs°;ë È `¬ ªÙEõ%ù᩽eÉ–Þ¡ïŠå¥€BûB«Q?rß]‚ ¬ûþ‡ÏÞ[&a¬75}Ož3{ûªšôX0*PZN íݯGNŸqZ†Øí÷#Š¢AMÉ fZi Á¡b@žE°ä;÷øþ“ŽzñŸ¦©/7ãÐ:dz á øüàâÆ€›ç…kUT¨îÓ‰ÿñp!%<÷¶1þ`³GÍBh8Y)ž¬<;\]”q˜‘&sxˆà!\Ù8ò–ÿïïÀ;§ôl¿£Oƒ$Šv»}çŽ:­¶{÷î;vìX³fÍÃ?Œª­­-))Ñët“&Nüxåʵk×vËÌ7~Üøqã#""ЋЖ¾ûî³Ï<óÎ;ï¼þúë+W¬ÈîÕküøñ ‰‰Á¢+**®9²¦¶ö‹/¾øúë¯Í¡æåË—ïÙ½û‘‡öùýÏ=÷\׌ŒÉɬÉDÒ.»>Y¢Y5§V§õW~b·>4R”EÛ‘iCnܹâù¾ÿxâ§ÏÞÀ®*Dwdx7øÝvV¥¡e_î×KӇݸ}ÇŠpM( T[tb™êcûkÊ_=cQù¡m¶ã{Նмoÿ7jæ2bgB{„㸱W{õðVU É\|ahjj²†… è¬ÚuÜO;â; âeÝÿwƒ¡G wïuºÿ®q) ÜØ¿Y[.Xå´»ðÄM/ßiBÝÔ_³a¿Ÿ£aDõèÞ8V.½¿ÉÓ²2Oï@LJ3 ¬Çåà8®ýIÇòÍK™Úh‚ IDAT–å…Þ0mB†‘á«%ÏýoŸ øyŸøØ½ƒÚ±æ!/ï@£Ýn4víÚåv»NçöíÛ œÀ3þÆñÆ 1yôÑ£GöíÛ7à÷óõ×n·;TUW—”–æ<¨(ÊO<‘Ö)M«Õ@×.]®½öZ§ÓùÓöí••.§ëÇdYöû-[EaYöرcþ@cL‘š’p™A³|Ç~×€5½·1*âºô;£ÒzùöâÜM2st–1àey5 Ô!ç:„¨Aw/<ö㪲[{¼E¥ 1„ÇzlM¶b­É4dÄ § Kêâ±×xì5ýn{Z¥'ó¬í¡ŽEAu¿:Ps.µƒ1öj•Š˜ñw²¬Ëé|íÓøçê*äsÕlöd§rý:«î½V/+ðÉÞkzªÀ/àµ{} `Û‘@C ¡û¤ñ‰‘LN*?{‚!xÌ“4iøsÖ¼ƒAC­xÄâó¸dYnjçõç?=),zÁ7ãÑ)TóÁC¸òÔ€/Åë«“æNˆmW’§%‹¢øáБ#v‡#6.îØ‰4ËE}·~}Ÿœ@ h# SFHAè‡íÛ_zå•aC‡ö8ðDA c,c¬H+€@!ŒͲz£Q”eŠeeŒeQ’h–5†„ð*Õ„[oíÞ½»J­F4Ý<Ž.Šäæ"\.Æ%¤E3ú°0Y“Áš úŒúåñQ›OutcëíéÃ&µþ©3Gf ¿˜—ÐŽxé­¥5uu¯=óä8wñGïÚŸ·ì•ˆ'<Ï»Ýnƒþ;Ý|Û‚ús-?dö{M‹ï7wŠå¦Öé­æY$Ëøá¥v_@¡)’Œ\lf(Ë ·g˜c, È2~ô={M<×:?À±°øþP“Žª©ñµ¿,mbÑò…ŸžlÄkع踠š‡,&@¸ÕÄ lAm²üÈ’Xe³å>B¼0þ¼çžû÷ìÙjž?|èPyi)–$°ê³ÏÖ­Yó¿7ßÔªÕ]32ÊKJdIÒkµ~GðûƳ¹cr2ÐÓO>¹üÃ×}û­³© aŒ(„( P9}úÔTUñ<Ÿ–’’ß)5UÅóãæë¹âEÑëó{¼>Ÿ? ËgæYÉŠâA8{KàÌAýá¬$É­?ë#"`’%œ@ œÀïoõª9/|~?™ï~¾ètº¢¢"« ž½-äWÞÏˇ§¼ÜðÓQ¿¢à¸Ó³w8u°²¡*TO%F²&=åò)T;v·|ß›[úEíÈ ~äFcj4]XXØ.sR³‘99­~7ì\ô²#Ž U<á!\™jgä£]ÛnÚ°‚=.—Ïç1|xRR’944**ª{÷în—Ëf³a IÒ~HQÔ¤I“F_w]EeåÎ]»víÞÇ«T:î¡™3QÌËË[²dIFFÆ¿<:::ÄdÒiµ¢ ÄÄÄD†‡ÇDGO:Õívoܰá»uët:]rr2 fkaÑÒ•;sùüŒ–a zíÃ÷MIë{yyñ‡F½nñ‚'ƒ üíÊ=ôÚ’åQa¯=ûHðô¹//>UTzV™7~Óè°;÷ð«K>:koLTÄËsg—ÛJË+#Ã,:&/„&‡óÐñ5µõáa¡©)t¦G[”¤‚âÒã…4Mg¤¦ÄÇD·¬Ø†1®­oØwèp}cSR\lfç4ƒ^×r¢$Ë;öíï’–j2Àátí?rôTqIb\L÷ŒôPSHë#+ªªO—tLLˆ‰¾2]U[[;°KÔƒ×^Zíd¨¶cQ‚;^m|ðzÃ=£t SS §™ÎUlEƒ|Ã3µ¢„™s«IÆÿ¸J7®¯Úf³EEEµOûiR'<ö<ÿò÷5­5Ï…ç!‚‡peªqIí9a6EQ©©©/-xI­V‡††ªÕj ¡·ß^ìv¹Y–]»nLœ8±[V–ÑhLHHÐjµV«õóÏ?«ªªŽŒˆd ÅÆÆR½ùæ›%Åů'""2ÌbyõÕWišŽŒŒŒŒŠzëÿãy>22Òjµ¾òÊ+åee>¿ßb±ÄÄİ,É7^Ÿö¼×‹Ë*Õ*~ÔÐþµjWî¡ÒŠªƒù'‚‚GÁØx^8½,ȲâB« @A‚ؽKš±U##.:òôñ²? „…šº¤uhÙj6@|td¬5‚èNŽýüKM`À:&Ôl2 àñzïzäɲJ› аZ¥êÿßysxŽ€•_­y÷ãÏ!$ËrLTä{/?ßRìß_¾z݆9ÿ7cpßÞûyä? \nÃв,ë´ÚYwO»zHs²Ö?¿pïÁÃ0 »çÜY\±Ž ihh¸}˜åp‰¸9ÏpΗ´†G…6jšd††P}É; lR+ãö*~Xú×Þ÷Ý’¸Y7ì&“©=Ûï"j"xDí´N÷ÉÑ4b±L&„ES¢4,›Ô!E–e‡ÃhZÐèõݺw7 ÃP…1Ö ‰ÉB€¢i!¤5Ì Ƙ¢(š¦CÃÃåcc°|ŠBiôúˆ¨¨–›¯êJó{ÿá’r[¸ÅüôÌ{b­pÓèáûòò{eeœŸ|EhüµÃ2ZIš³HŒ‹~ð®Û~q/Ð$·5@€r›möü—¬‘o>÷TˆÞàp¹žyõÍ2[•ÙhTeöó ‹ËËŸ~pz÷.1Æ›¶ïüï+ÞúpåwܾmϾ¥+?Ò·Ï´‰7kTªšúzQƒ¯šaÞúpå—ë7Ý2úÚþÙ=K+*Ÿ|éµèȈ9MÑëÝïÿ>úøµ¥Ëºtêñâÿ–È?úà´)ÙY™¡!Æ+Ü ÃÔÕÕ͹-ôp‰Xc—Ε´ÍãÇSGèÊ뤛æ×‹6j¨eÑÓ .®±ËõÅ#(ÿºN?e˜.ÖBÛå6KÂÞijlh ¨¿ÁD•‹¥yˆà!µÓ~h5a† ƒ¯6È€Aˆ¦i Ï?ôÀ·N˜ÐµK½FÃ~PuÖÒ¥€1 @3gÞÍebü³ï31­k½"ÐËö=0Æ£†öªàX¶o¯ngæó^gyð{mƒý—å(¯ßºcïÁüàÏ0³éºá[PU[¿zí÷-?åô5‰ý BO¾^ëözŸ{ø`N6‹Ù´øù¹7ßûpª¸äðñ“wMš0 wOI’0À #‡Õ54~½aóÍ×]óåw­áýë®àë½u0[M]ýçß®w͈»n›@QÔë7!@¯Íý7…EQŸ¯´¢’åX„P}£}ËO»&Œ¹v̈¡ÄÀqœ,Ë*FYþHè¸gë\>üËÀ6EÁÓ®Ö¦Å0o|ãöú†FMÅîV0–0B€†B_íôÝ}~ɡ㞫ÛZY‡¡aÅ£“75ažçÿ&¼(š‡Âßï‘e/üÝ"Ù~*µºgÏž’$q<Ï‘À³‹‰Óí£á7æ† ¢¸}oÞéJ® ¡ˆ1Þ¾'¯¥F옔p–à)¯¬þöî=.ª:ÿø[΀Î!™1! 1À“@\ð‚yM LÝW”V°DKÄlEÜ`ü©”Š›`©˜¡+F…–˜†’ðõÂÊJ&‚, ãe†ôŒÂ9Ü~p Mðõ|ø‡œ9s.ŸÏ¹½æó9ç$ìMiþó9›Á<êè”N¸T'Þ™ˆZ@-t¼Üükå ¶OŸæ{åkjëlžµ2Þ¬¼j¨ ª÷zy|Ãk({U×Ô¼æ1qÿ‘£º+WK~ùÕIýÂ-?fµ8.Mts]èߨ¶\¬-¤÷13ª«Ïç¬ú VÚ÷©#Â-ô?™}¶¶¶Ö}´ N ÍÌÌÌÊÊʸ6ÀbáG†ºÛa`"êñö+lž=Ž«j¾3§Gº=•jó´ÕvJ+æ¿…B«êë)Ò¯¯¥Iii©L&ëFEØvæ1Yòž¯í¾ºëÕè/¥ú[ȬíåÝýú¿G½zõ233kþ£3dð üÂâó.LpuºËhO™Kvn|¿¡WÃñSÿ]¿eg«zõìùÏeoÝ¥K›ã vËÞòoþ“acÛEnnæõü í' jêðD;ÔBwÖ»wïòK—©éE¢õõõ&"Ñõ7Ä&ŒH$¢úÆ›7ûš›7Ÿô×êêë{öìi*_ã¸;M¶ ¸øÇ=Ų ³øí:'õJ?•õÏ òìÚïû”9ÕÖÖõèÑÃÄד·èׯ_~~¾ó°aÁ^ìúäë&¢[NÇÕµ´)…»QU_T~·ÇL7dÔw·x²yÚÖi§¦–f»÷ñp4ýé§Ÿ¬¬¬ºßv-··6?z©Å×úRÝMzÐÀƒÇRCw=ÍN ÓòçýñÖìͿ٥WJ$ºç¿"Q“†íÿ!ü{RMë"õúþdöG {«kj‰èÜO –Gý''÷áΨgÏž¦¦âæÝ¢—ö£e%í3é9Kï”Ó_|¶!j2½zöfÚ¸é)ÀÅæåa–mN$ÐÍö99º¢ºñctW®kZõE½zýªÓ¿8Ü~ˆ•²gÏ+×o2kêìdÊ0«>Ød"©+ÝœÏææ]¿ÞFæ1‰´¿–ý}eÃCVœÔÏk-û{ôúÕþë¥çŸ[óφ´wÛ¬¬~ûí·9/K^ûSïVy¿gJʸùuVåÝÓõèAW®ÕEî¾Æßv·ìŸìÄ¡¯›_»vM©Tv¿Ò»v>áÿÅžlÙMg€û’Ecû=ø¶Hè®z;ø¾LïÇoné¹tôƒ5´dùÌý}౫©AµvƒY.œû—¸]Ÿ:vâhæD"ÑÍÊJ"ú!7ÿ%µ}û§S[W·&v{Ë3n´ã¼7|PÂfØ€§\U܇*QÏË\刲ÓÅWž±èý÷‰Ãwž*<÷kÅ ¡†ˆÆ¨<+c‡?cqåF•óেɟúYwítñë~ìXù…K×úILûõ1ubš]ª÷´Ø«Gƒy¿ðÕµ†Yê®Ý<û‹EZè$Üÿä’øåþ¥ïÿ¿—]Gpxîç¢ߥ÷—I_õ˜Ø×Ü|ñ›þ~¼ãoËWN}y|}}ýW‡Ó®qÆ,~»OïÞÞS&~õíw~‹C_vý¬ÕÀs?å×ÕÕ­^@D}ŸZ°\³þÍ¥á›þùñc¾?••õÃ}ÍY·QŽ1ñÛ/]½ºî½¿£Á=UTT„N{ê‡"A{¹¦U—µöÞícöíÓ3jÎS×®]khÖë–iGkÚùƒo½þñ`s„Ç¥¾Immmmmíõë× ô§oÒÿy—g¯ŸÉ*i~ƒÚÿ̹9ÔÙ¡ßCìtýúuSSÓ8â˜tÊçrÕ<úÔ××WUU™››w†Zhqêñ¬òÇìLŠØH-ž²·2ëUW&ŽiX ž¯®®®V 4ò»†!•U|mm­j°Rí`Û0‘¢’_LMÅ}ŸbŸ2—4ÿS 8ÌæY"ªâùÚšZ[Õ³ Ϲ~ì{kç©…m§ŠÚÞ׌Yú²ƒ›j€Q¨6õ2õôtx0÷ 3ñ[cžs°´øîç2#_3é9Ë©Ï+³µú©ÏJ/нãnw¼àR¸ÇóYÅW"<ÕÿWtÙ¤WÏ›Bí_‡…š×ÔVµuõ•ü‹ƒd={ö˜8LñEW®U¶ñJÇ€QCP ¨…Ž?"™˜ˆ&qýíúõïOýçØ‰ÓÅ¥¿Œuyiå»Á ïÉQ VÊŸ~:'ï§ï2Nüç‡ûˤ‹ßœ3ÎŹG’>½ÿôÒÈâÒ_2ÿ“}*;çòUƒãó#ì*(¼¬×Ížeg£ú&-ÝÆÚjˆ•ÒåEuuuuɯ¿žøÏÕ]á`7êE5~»vìÄ©iž“ûôîýÄ‘îD$ñ<ψz¼<Ò|_ÆÍÚ:úãËR_OÕµ´s©LÖG¨¬¬ìÝûqþ„ÛžZè i‡ˆzð<Ënx\ûI]]]CÔçùÒÒR—‡ããÍó‰-ÛyÖÎÓì—_~éÛ·ot42ë”!¨|ô¥®««ûí·ßØjá‰Õ©jaô†#mÿô¯n6ýÍkëëE={ÖÖÕÕQ=ILMˆ(úÐIÿ-ní›·^Žø:çŒöêÛc‡~¶ÿ’ä¬K\Õ@‹Þa“ž×ßàW~}–ˆþö§¡O™1Ÿž.Ü0nÚÖcë^sÜš™ïç¤ZõÍYý¶Ï›p»ºÎ8èÒïò½£º´5kÙ·Íì…9ï½5ºßØ,º´=êY K[gÐ%:SQ_3¦ooÆÔ¤×»g*…ÚSÅW~è¨[ÛÑ¥ µ€#Ò“yDjÚÚÚòòòÁƒ›0 =h`¯©©¾xñ¢¥¥¥¨s<"õ¡vi«Ö}¿eÍîÜÊGvOiƒ'JósÛª_˜ó÷‡”v Sù­Rø­R ¢Ÿu×P¨€N¢W¯^¬ªªª««{°ç(Ô××ó<ß-BMDD&ò± –Ó–5»sÍÝþuxà‰Ë<Ñ›gP×¼ó¤ýLj¨C~ÅÔÀC'‰êþÀƒ Lºù}³&ò±‹Ö®~«‰ÆVxòà>{€ÎxöH.Òx ÛBà€.ˆ?»ÊsÌËK3¸?2}jÐŒè\¾csAžA¿ÏÏöñK,áÏ®šáééééùò˜1c^öôôôô™÷¯CÎó¹e˜§_ôY®`“Ϙ1ž>>>>>žž>~áûr¹n_O\AJtÐ OOOŸ è”®½Å®O ÷ñœžZÞ¢ÒËÓÖ/ò›áçç7c†ßÒijvâ2‚ÆŒy¹a«ò™Ýþ­ŠËò ?Íßÿ®þòÏU- ¿3æ…'žÖ·kö z ràrÃçùùùùùÍð™Ô¸mr¹iížõmK¡x;é㪟yÛ_’²Ôg^\›£/ó»ž0N§=È µ­3_°iƼÄr"‹G÷U^Ö¾<åUá¾,½ÛÙã\ñˆUI‰HŸ2ovFà—ëŠç¼KÄ^4s‡÷®¸†%ä 2ùëëv-²‘>méìÈDuRM7®¦òÔ‹å!÷NPˆ‰/IÓ,^¬‘î i×%€6-O²-ºEíê35±ZmI2"ÒgD/ÞqÈ}Ätö‰]Ä®87–ˆ/?½cEèýÆmA6âG7?F"aòöåq#œY"¢òÌT"¿ç×Þ›¶ßq’R÷¨½«Fˆ‰ø’´˜‹C…mqÞŠ[†çnš›ç=BÜ…ªæNëõ(ç(×íˆMs¾ûqQlþÙúî´0ªà-Û½D¤Ïݺ $j[øö‘ÍŽ/ˆL‘G슶ñ%ûBWìÈq Wç%îHóuu–‰Ÿì#’>MºO¶%Èží°Yæ$&„L¸Ï¶}†Š ðt’ãiÖ¾<åôÞ©‹3õ¼eĬŸ½Â ¶#ƒA§3ªæ® Ÿ ãKR"#÷i‰!#©æF­òPþô¦ÈØ, $Ÿ5]J$Rc–Ææiµ‚2p]”·•˜Ëݧ‰I50d¤!¾êˆ-SOS %(àôÜ]òLfŸŽH0JÔ‹Ü$›" vR­Î.lÝ# ‘¾ÎAQs3väøF«uû"5)ZbH8G,r–—›©IÕ‘ HÝâ‚TÍ»SFôâ’‹TÚ[7~•®íÂa”îJí¾ÎÙ%*9šF®jiaceDGîÈ2 ÊéQÓåÚß§"Ó„–„íZªÔݶc¶\« !gg‡&æNY*m1Üh4Ü^Úe+¨åzÙ3Ö¯ˆÏF åô°0oq«C“ä÷+²ðÅ©öQë|¥9qšø,#CFA>=,ÂÛFÈX4{ŸÒΘÇÌ]·Êí÷t#uvÊŠ?íîüû±«<-zElÉåJ;iaŽMÔö× á3ã'슳;:oñiµšÑtZdzT”»V°Ã~ÝöéVúŒð‰#ÖÅM·êZ%-³Ÿœ6;>Sç!)h½4žA8G-ujþ -wÓbqîÆp'cj{F£@ˆÄDb«é›>#âNGÇfj ÚqQÞÚ˜[v+:»jf¬Ä]eÐêtZ£]ÈÆ¥ÎLIJäŠD­D.W*MK‘©IÕ1 uHÔRg¦ žÏn §À-KY"â ÖÏÖXmÜ>]Ñü_/"2žŽ_º/O§3HÜÃÖ-rfõ§ï¸yû½%ݾÁèdgÔ …:yàÆUdÔj|§Â˜ØœBŠ WDD{3­ÎÒ’TMdbaÓ'ÌC!¾ûŠ k#-hvZàÞèâ–ÿEà€ŽSž™X¨šëd¥–Øiâ–{OW1‚Á0"0ÎCA%q~¡ñ¹®ár0"pc´³ŒJâüBsÝ1š¼ [>óVpg7EîË™H‚QËxïŠ §‚M³W¤h§ÒMª}Ô_+1_¹ÃiÛ¢GrÌ—d¦änÊî|øä´y¹‡ªEbËdb"}{Š=$Ø)+~ºU~ÿºÂ=Ä+5t¦g¢ÚIíì6ÁÝu„BLú´˜xãômÛÝXÒ§- Ф9mR3d(”DíÚncØ7oqJ!oo/.ÏLÕ©ÕÆý ¥!ÛVÙ‹©|ß¼±gVIA§µY·=¼›4Ií옔BCI¡&‘ Üõ™3Ë—$,Ž=»7L™ªŠÚ¶Þ† W$f–‡HˆˆŒq+â)pã¢LÁ¦Öµà}‡Â‘ØOWf%féÝ&ÈJ2Ó@iJ!g0Úø® wS>5hv|ŽW´ü÷)”ïk¼Tl½cÞlˆH,wS ñZ#II0]1;OB‚Ag{­ ¶êÊUÓ´^œ1&&oÂÆÏ¦[—>[³ßi£2öÖCÓ܆„zýŠ}ò°¾6ÂÙU1y¶l÷wvU€f¿Óö)  Þ{·;·þMFåâº@³£@½HÙx´9›ç´qW•pvýìÅB‹Ve†!ƒVæûÙ"+*‰ó MÑNY’¶ &Eí›oœ¾nz—,q™ZVÇÛå´Þ ææE&J‚·}6‚-O 9T¢¶#"2–¤ÄhtÓ×E»ÉÊ÷…¶ç!h·xñ«>Jµ““›Ûw7–uœ®ÊÉ ‰ ²róZíj†t†£±\Æ¢™‰YvLìÃô-Ÿy+øÜõ35îŒ[Øo{–Ïž­9TâìÕÅJÞxvGhl¦(î oynNVFFŠfvŒ2x[”*#O—£[ŒTg )1RµZÚŠ] ¢ÚÓ:ùt;–ˆÄrµ“š§3Hòe°RLD6¾ëWqº»o IDAT$hSV„jÕ붹Ɉôymlüw(‰Ê[mˆÏÒ»Ú¥¦I<¢¤%) 5$—ë5A‰Ä0†B£D¨)HZï˜m¬‚@LÃn"uÚÕÐ%¬<-rqhܺíA]8ô4¬—QÏ•±vnr]šV[ÞêÐT®%¡01ô¨Î{Ûö,QÉé<]aaè¼}DDFAx"b”ìÚjfíç«4Ÿ{oT‘A«%•·\L$¶óp•çܺ—JTj9‘ÄJ"œˆXçàÔ€‘òàm]øWaÈxÛ^pQ{Z'õV±D¤ðˆ^OÄŸ%2¤Å,ΓFìòPq…í4ÕÈ0¤5¡«]z º7z¦æ~^îÕtÏ€•;Kuiyœ‡[Ó)†/9Ǩ•í)vþlUÏqb–UØ»yÛ»yûNŸ{TFŒrúºí¾-®Ìôy #i˜ÂÕCš˜ZXb“bp S‰)‹$vãZ4Q Ã0ݦJxmF©¼Ðé–çr¨Í¾1FƒQéDG³¦7tŠj] %gïT8ŒÊÛÉs4« Kê=]Ê”—¡‰ÌrÞ²eº•˜ËX43±y'k9…6vÌÖëP˜¦•Ø)%· +\½•1ñyú +YW­›Æõb nͧL[‡&Á \íŒûsÝ—Ú³DŒÜ=bËÒÇî4s§O¬spà¾1‡äí¸áö‰ FAÂJ |óá]KyN–Q>WÉ4åÿ»î‚A'u—f%f–ðPµ÷Áq<ËÊlœ=lœ=¦Oßç˜ÖôY›;««yN‰‘;„à]qÎ,•Äù…v½‹qFåìë-Q묈LݲÞCq·_ÃZþçþ6ï6Æ/Éh‘¦ZhÑö½¾Y™©©‘³½·Ä5Ýøy§3”.³ZÂSÚÛEþ£äµå˯’’’’’¾úrÛëLfbž@$èrrʉˆ/ÌÐJTJ‰P.0r¥”ˆ/9šª5‘|„RÈËÒ—»)(¼­‡IìÔ’¼ÔŽˆøòÔõqû0®¼¤¼a†¼¾¤DÏ·ØåXM™k—£Iix6_’¹X“R(<`±s+f.ØÔô¯+Ô R¹Tî¦4¤e–qgãÖ§–Üú%™«·<'11EpõVЉU¹Éµ)™z""}ƦMún¶wèOÇköK¦Ï!S¹Éuy5üäIvj©ÔÎŽ)L+䉸’ÄE‹ö•‘Tí孋ѤêïsãÛx»c3åÞNÍ·h #WJÅDå™)…ƶ=½}Ǽu/O‹Ñd©æú¶þ]€ËI+d”rIW=pý¾^ÒJ!'GGDÄåe”ÎJåí‡&Fîá”{š#©³JÈJ-䉈/Ø·~ß½à&›2]HŒÏˆH*—Sa¡ˆ¸¼ÔLݽÒBª&Q²ekŽ&>· öîár5ñÆ)N,{Û^0HéÜ4¤mi@ª÷®õåâ ûöh-tÖ£=Utý%µ9Qõå3¹xc©µ-KE'µ•D—ÏçTÒ¾Slªü99!5ŸSzͰ¯ÖžÚ™˜sÈD$"¢²Ã5£fúŽWЏüýIg®ßaäë9{Ï”U==ê5_OËüÃù5DdJD•ç÷nþâ‡ËO{- p³(:Ö06<¾¸óëÁØu 9M=ã«/ŸüDwär5Jºvà¡þŽö,i3.^7䟩 ¥£­YÓ'"ËIAï¼ó®¿Û!êQV"¢Š‹\Ó°©ƒ—×Kꉇˆˆ ÚŠê6G®.;SDdúÂ4/µçÌIO7L—*KNåÖ©ÚsÔ«a'Ú‹jŠ2Šx#“g¼ßœHãr ÕÕ—OîŒ;fúZ€g4ð@gò ÷ð˜õw´5=•s*7Çp…”3lÙ¢ƒMU•KJÍ-ãjnÿû4kBDdÆŠî2r%Ç‘™´¡c®™Kt…ˆ¨šãˆ¨êÌæð3M£V”pÕjs\`?>Ò—üƒ(!n󇇫k,g.ôs@Cè‡D–£LÏœ9r„Èr†-KEïçîMú¡Ìô…9ÿ˜é`rñ“ÕÛò[~«U4áÚÙ„5%¢JGÔŸ¨òrÓLXVD$zaNФÆF‘ˆe‘v:Cæ19xJäꉴÐ=ªÏÄÄr”­)q5d9ʶåune QMeEYÎÁÔ’¢ÊËÚË•w˜J›#“¥£’¨ê‡ýûÿs>çàÞcMC0³e+¢ªüSE†J®$cï'ŸìÍ1 ú:EæQ{"í@w ÅYû®^ 6#ª¾˜°2.WôBÐJ?eEÎ{æh+jˆUŽzÍwšC«FÊ‹G÷î?–[VE$²°vôœæ¥îoR]²wõæ3d;^]}æTG¦–£fLs0'¢ëçS÷Ÿ)ª¨"S˼|g¾ÔߤúçOVnËg]=”¹©?°¾«ƒÕf¨o¸§*¡š¯¥šÚúúÛ>*Éÿ±Õ+Ûá0ŽN{‘¯¼ÙrÈ€AÖ¦½ûtõq~»zéšþrË!OÉú÷í7 «SuóÆ¥Ò¢–CÄf½åÊ!]}œ‡¸Iw¶q°‹aÃîƒÝ»O'§‘¨W3“žŒ¨W_Ýý¡{xLú»L´&ªÑæ\©&ÃÉOâRs¹!¯-\8Ç‘r÷’|±Ær”=K¤=s±’ˆªµ'/Ö©ƒ›’JöÇ%žÑš¹, ò²,;µsg†á– 7LË`9Þ7`ÎköTt*1î‹’j"‘È„¨*?§Æ% 4ÈCYUv*1é|%Ñåƒq;3‹Hí»pá [OþZMd""¢ŠS™œ­×kã•"‚‡«º²úºž²²²Ÿú‰¯®©Gý<<õDÕµõeee<ë<Ï·ÿ ÷çO·å‹^Zí7¤á¶ê’ÏVoþ¡J9gõœÊ¸&•Yx„†»÷§ë9±ÿL,³XíËÔlȬ´Xí?¤lïêÍgLF½æUóÅêÍgjlV¾9̬ú×d͆S¦^aËËšîá±ÏY«I½Òt7OåÏŸ¬Þ–/z!håLÓýš §8¥ï?‚ÕæÔЂ#z!hå¤üuëŽUXÎøÇ»/™“áèZMjÕ¨w¼ªWÆåÖ4µ/ÁCŽ;¿¦|¸³bR¿ZJDT}ùäθS–A =û·ûŽ®úúúºººÚÚÚÚÚZAxž/--uqqy\«ÄqÜ… zö쥬™0¨c€‡¨¦¦ºüuuµC‡eY¶ÃæûÛ=*+*ªˆL-ÌDUÚJ"ªH]šÚôáå Îd˜‹£E汋g´•lN~Y8ŽêoB UD”¿mehóÕsIEµcóÜŽˆØ§ŠAdfaFÄUTÖ)‘ˆeò‹+"ªâª«+¹J"*KúghRÓ4Ê*jÈŒˆˆío¶GÁäï7'&ÄÅ%P¯}Í™qÇL_»Ÿ´Ó 5üÞ0`гH;?xˆLž~ÆêRiQYY™­­m×<Õ¿fÖ‰†8Zš˜̈*,\ƒÞta›V‰•‘ã(‹c©EgrÌò9²ïòŒ U›IM©¨ÆzÆÂiV&£š²&Ôôü7öi3¢*î GäD5ÜeŽÈÔ‚m\ÖšŠË•4Ä„j8C‘)kfbö´Q•¥×B_ÛÆ¦‘©…iJ¦ƒ;’¾äD q›?<\]c9s¡Ÿƒy×^ŸÊÊJ"bLÑðHˆÍz7_tu˜¸‡§¦ì䑃&¶e݆cWHdýš×0322JITñÃÉ‹†JÃÅÉŸ$ìϯ$"ê¯õ4qgöŸâèi·Qý‰ÈÄr”š¥í©.s\Ù™äO>I̸RÓòBZí¦$ºrpïÁœŸÏg$ï/"²poÙÔxPv䋌óçÿ³‘hˆc“þ꧉ÊNž)ã*/ŸßŸðIâAm%6¨ŽÊ<^Ý íQmm-jàÑéÑ£GÇ_t=HóÇ•Ž#""Ó§mÇ{¾6±á kR—9AI{3¾Øö«tôðt”6Æ—§S÷_!²t³obbå4£foê±qÇHdaëöÚø!fÔ"¢HÝÞ ªÞ›|ìXâ6"‘…µëœ™žÏ˜PÃ-ñ"kG‹ó_ì,âÈTéêûÚ03"³‰oΩ޻ÿTbÜ)YX;zyÚš]Á6Õ!™GíéÙ=Öäö‡ÕÀÃ5`uG§¬ûyhÁãÖð€ƒJû ÕþCL°µtyí¡W* ô“tÜ-Ó=QÜÐ]!ð@·Õ¥º´A÷‚.mO&tixð’€F%ù?žÕЉuJµºK#•[Y«”@t©´ˆˆú=7  )3).a×ÉB#cÂÕ#é0ÏÿÏC{º”ª›7:xŽ<ЙéO¬y{õ!ð) Þ_ù²£’%"Ê:ºwÇÖ¨·þhõŸ•âÛ¿f<ú·×Wç¶ÀX¨ìÝgÎx}Ì ê7Îýth[Òçß)4T#µVyÕÁD;•z«’íy#IºæóÆ ½Ç8ÀÉÇoùˆAº¡={äó¯bÞú.}ÉÎ(/Ew­0cæ»s¶¾¸áÓÙƒ°ñÀ=h“4» .ïïñ“ükÔIÆÙçõÅ~r¦"ç»/×ÌŸã´bÃò|ÞšóÏó+_l+ò0ìFJç‰þïÌs·bˆH»ëÍ¿n‘,ÿ`læ†Ï2µ7ˆ,TžóV†N¼½±ÈxzÇ~Ù­ù=í4Ì~è̵ Ï Šç¤Mñàó2fþíõ÷„À 3Š6o?kõò×…¯V¯ý2GWMë)¡Ë'¸÷RÝyut{ßüËFéÊ­³Öm?ZP!‰ÒÍoù{3{Üqç>_·}÷ñŸ ‘d “OÐò·¥DM˼Áïb–#9ºjb¨}‚W¾ã(-ÿæÍi±…D´åoã¶ œŸüÉ,éÅCëâ¾;§ˆÈD>b¢ÿâ )CÛNš _zèýø­6IlÆ.\2¥±ôí‘í›·ÉÒÞ 2‘Ú›Ü0áBÜ_ü¨×3ÅÒYy`ƒ»ìŽ#À ¥hde;hèD„’9Fë×ÇXîJÒÚ-±?ñÎüØýÙYß%­ž³:oÔ¢%ö¿ìÿì»W™‚#…\;§*uõFôÓш†¨ä›ÍÇ­nþpíì! 3£Þz/é’Ýâÿ}`÷¿·Ù•|µúošLŽG¦Ÿ7oøÙuõLJOìÿ÷ãÁ˜wÖ»í ^Báw?Y{j#‚I‡>'o¼‡çnó"†¨ ióÙ‘+Jÿv­sn÷’wßÙEþH?öñrûÒCQ›Ú±Tw_†èÜÖugÔ+>>|âЛÿ,dìxoÛEˆø‹[ÿ¶lóqfÊêýûÀÇ-~NûÙ{o­ý©qM¢‚Ï>ønÐü¤Ÿøü£€>9IšÍÿH1qÞ`‘ÜïÃ/¾ÝðºBÈÛøÞšƒ‚ûê?MÞùéÖWáÈš…±9wxû_ᶘL«ïïùø“5sU%߯YùŽˆˆ G4oF|¥:oÞÿNˆxI_3ÿ½Cå Â0t#ç£$áÕˆBœdw:ƒ¬ ²Fà0”%ƒ”LEáùrçatöˆö÷Lqnÿy»1.ÃäÂ%±½Seƒ$TmÐ7妼äþâs*Cåß'|wC>#lÉŸŸ“ˤr‡‰KV{J'Žš¿® ž2TÊ#3o‰³‰á»/óZ_Á åÕ$$¿ûø÷ž×€Y Æ)ÅDì0¯1$ê~j‘xë«Ï‘P”S.Üc©î= å‚à)C%D$}ñÏ^r2œ-2Ooÿ\kâ´zåü1Cä²Av~†…î«™ú߯Wf-{ÕNFD;ÏWUt#/÷#‘öaˆˆ•HY CFmn)ÇzyN© t·ðƒ>ú`†êNwO Z>{´Õ Õ˜WçéCg´<•~¾å¤ Ÿ±võŸÕVäCg­Q ç¶î½(‘˜ˆÈh5oÉLG»¡ƒ$w: ÓÞ}L{÷AàhÌ#׵ŀ=“ú( Q5OÝOŸ%A¸åòWòœº©%F(9¡%U‹Ç¸1V£UDºÓ¿4}e ÓÐæ#‘¿8€„ÒBCëHÕ´Üw]Š{ÎKj­lœÃÈú °S4ŽËHú0$ŸEÛKÕŽÕàdÕüÅ>–ˆ´§Š2žù#F9æy ]Ì,iúžÔZõû‡}$D‚^¸m¥vžÖ¤ëí˜Ýßœ)Ô Ä²st§¨tÖô#‘Kˆn‘þbŽŽ¤£\äÍãÉžs·!ÃÙŸ›K]9ƺñ‹ížH¸‡:%F1Djÿ²âÓÙ3Tol_ôü†Õ;ÓC FF* …{—m.°ö_-ÍZ{ŽF„©Ú{9[š¹·ˆ$c§X1··Â0L†Œá–\bHÂ6÷½ F"YÓÆD&’Û‚‰òåaÌwÙŸWêuÛÓ™ Ç·âÇzMÒŽyµ_ÛKõÀ³È$DK¶†©ÙVINBd¼Ÿc”cf.3“ȨûïÉÝ[6m]øž$ù£ûx*·ÄBB$õ\¹vö­oObúÈÅldx’ÏñãÇQ Ðùˆ‡Ì ¶cÌ¡?¯}?òçw"ÞþËñ‰S<ŸW’!绯%÷È î%Ûß<+õJplß+yi6kIµØOÝÖÛ?«ÑJÊ.<^*¼8¤ña%' ‰”nͽé~ɺ`˜eÕÐFa,rûçgEÎóŸ8èÎWܧ½/Ý´uã»û£ˆÈBå6wí²™-šƒ¬ý—9ælYöZA‘…Ê3dåâ¶çÎX½ºáÀ°C[>ûüø—¬&"F>ÌÉoåü€ÑMïí¹ç¼ÚïNKõ ³™ÿñ‡Òuñ»—¿½Y b,TÎ3Ö.›gwÏöyÿÖË’âßñÿÊkëÇKþµ’6lߺä툈Läö£n ž"»¿u“N û„¶°-ö­¤D$‘?ï¾bÃü;˜û“ª›7:xŽ=xžG¹ÃcÑf ‹‹ËãZžììlB @§d,<’”°íËLmuó ¹³ç¬Ù~^/vܵ¬nï›ÙÈ,?ðÑý^²?Kpg }jFŽÙasD tvÕÄyïOœG¼A§«02r…T‚RèVÄR¹º'ÀÃ&ŸùIúL,@W…»wµƒ¬x {2íݧƒçØ…Ý ð ð ðt.¿æ5¼ú‘K¥EW~-Fàx ÌÌ̈ˆ¯º‰¢xªnÞ¨ºy£'Õ#ð<–––Dt¹´™àQ¤+¿–4_tu¼‡ ˲ …¢¼¼üriñ »–ývõÒ5ýå–Cž’õïÛoÀ£§êæK¥E-‡ˆÍzË•Cºú8Dt{ÁÛ_öÚÇÑi/ò•·„䃬[½d +ŽÓ‘›=v±'vÃîƒÝ»Ï“³‹ÕÕÕ6Ô…B¡`Yàñ°´´dY¶âÚõÔ±M­ÝZ¯ž½úJ¥ýûõëà´CD=xžGÀcQ___WWW[[[[[+Ïó¥¥¥...(xXp ð ð ð ð ð ð ð ðtr"t](€'œ……<‰7º´ ð ð ðtŠà~9¤¡ :©ónù-<Ðm!ð@·….m®U*x\îÔÉ-<Ðm!ð@Wƒ{xA®^½ZQQQUU…ÒxtLMM-,,úõëÇ0 @¥¢¢"ssskkk333È£SYYYQQQTTdmm}÷̃Àðp\½zÕÜÜÜÒÒEñ¨™™™5DÊ«W¯Þ½ÀqÀÃQQQaaarè0wàᨪªBO¶ŽdffvÏ{¥x ÛBà€N¥x,®þxàû9ÆvÒÔ‘ýP ZxKÞù^©ùàƒÈU{Šï<ÿcôdGÇi»ËÚü0;d\ëøü˜©S£óùÖ3ËNŸ5y´£££ãèÉþáÉ?r¸døâo¿½m xº$¿ãÅ=~ÏIÙ+c…äÃÅ`\vôÜÀ=ü+ÑŸ;óÇvGŒÓÇî.î¬åÁïÞºçÂÃJdèÒÐIqÙ»´|#~þ…à¥Éùo„ØŠ‰ˆ®~»j‘æp«°u×<≘àðäb±b°Ë8™@²[¦r5=ökzcGô¬†ïí¿>^–®gx"îDì Mr¾@Ä ž²>d\?>;Ä+ÚòáÒ,.&—°áßï<_\,>š9<9F1ÕöBv¾^o´|eýúàá,ñÅ"Ã7Ÿ(#KFÎ‰Žže+.Û=knö¤WèäÉâ²2ahplÌ´ÁÄç'GFnÍÖó?æõ¥Üãô‡³ËÊËÈ%,~ÕÈóዾ(Ñíë_¼)>¸a‘ÿ´ðtœ²dÇS4ˆˆ¨|L‹½µ#wbÏ…¡oŒ³´}c›ž|o¦Ñœýmúäˆáç4ñù±‘ذýéß&¯Wž­nMM_`ǽ2¸Et`m§Nm)æÒ5á_+¤›~`ÕÐôU‘é‰ù’Ü›’CدWlæçÇ'$'†Ð×[O\%3BÉIz#~wòÄ%”¼*¹˜¨xOHLÙ+ñߦ›¾c–qëÒ­ùD$&ýÉì¡añ»“?y~kÂ<Ÿ¿yiLÙ´øýߦíp"\“ÞЈS~ò‚KtÂîäÏWY¦oýº¸ß¸Ua#™¡a‰ !í ðt(®XÇÏÊË-ÿ¼šþEñðY.,‘å¤i²“Éçy"¾ìär˜6’%"Ëqo gˆˆôÙÙÜài£ûQ?—i#%·N•ç8’(ØÛÃáp¶xì#Y"b¦c<ܪã¦ÚЉXKK‰Âeô`"b- פ™Ë+CÅDÔoø$Ëòô|®,ûpùà7¦‘å¤×ëÓÏ—1CI¬*áõ•Nç\æ¿2XL$>mš,û@ÃÜ$SG²DÄ(³ÆbŽÈŽ.mgð+óßà²9"â.þþ‚@DV.“†Ë"fèÔ¡-bIÙ÷{²Ë/þépãß’ÝÙÜÈ‘‚^Ë# ÃJ""A/02†iMÆ2·Ì‘eYj­2ÀëÉÐÆ$$fŒpˆ%1Ã6Òò¿ÔØp$±lü +aH0òBÇ4Ï“é'c„²†dÄ6-’XLD<§çŒß/<®a `†_HB$nµ¼<]–ØvjȪ©DDW“/|¯¹@¤½0"äöÞ[Ň“¹Wvüßªá Ÿ\ý6ÐwO67R!cø²Æ† ájS£ #d BC¢Ñë9á–{xÄC' å6ï¹Ò4)"îÇ„˜ì‘Á#e¬±¬1 ñ\¹ÀÈÚ“=š¿Âé9b$b‰%+dss®êvt[S³ƒe’±á߯Œl±ª|þ#/ptiè|Š$뇷hñé7òÅ{Np–.Cé|r6GÄØsA "’ Î'§_%¢²ôälc«Iõ›2ù:xQ‰bŽˆ+;»48¡\&“ ~Åÿ~OöU"âÎ'æFNzï»fýÉäó•¥]®gËö9IQ¼ç@1OÄ—ÞS¬˜4Ò²­/*\F³çw§—]=sâbc†xNxH‰€ÇA,“1DÉß~ Ÿ¿ûknd´C‹ú¹LµŒÙs’O ¼tühV1|ì´‘²‚@âá Ã&-Z5etŒbè¸iã„[Ó‚xxÈîx…&&òõÍz"F1ò•°„É–D–«b^ _õú8Žˆµ5Ž¥{ÞBÃ(F²ÉÁÓ‹ËÉvþúiƒ‰è˜âðÀÉ[y[މyc0Qï Û.\??2|î8 O$9Õpö3t’‹>Òkrvüþ[šƒLžç±±ÁcQ___WWW[[[[[+Ïó¥¥¥...(èüÒÿs~Âï³³³GŽÙW›Ï™=rwò,ËβDÍeÞfº´@7†ÀÝîá€öŒIOîZ‹Œè¶x [155­¬¬D9t˜ÊÊJSSS€Ž`aaQQQrè0<¡_¿~ׯ_/++C;Ï£VYYYVVvýúõ~ýúÝ}L¼‡àá`ÆÚÚúêÕ«EEEUUU(GÇÔÔÔÂÂÂÚÚša€ŽË<––––––(ŠN]Ú «A—6€ç†2èÔÐÂ<] º´Ü·óP]Zx QqÂ4GGGÇÑ!é\ÓØ©ŽŽ“còyÎ]ðùÑ“Û05¡ø‰/îÇäUþSG7ÈèɳB²7.¾ø@ÂîWïöå«Ù»`ãkc'•\ö‡¦R–žðmÙãÜg~¯ý²ÝÓý¿åP¹]ùX—›îïèè8mwÙã_ÆìðqŽŽ“£ïrähÇÁ§å:ÇLut’#ÑãªLGÇÑÁé÷>@´8¬á¨òðà±ÔÐ ßkbt .FQ´X6yáK½@Ü…ä‡ËÉê•…S12Ù“wÒÃ5'«I Ã\dTœ¾uç÷›ƒÃûc'÷ã²c5›³'œ6ºß6´²ÃÑlG¼2Õ›âC¾jMÐlþbèÐ7&[>¦’mYû²qáë-9™‹ŠéÊÇ:¥ÃÈõëõìЮpÌkÇÁ:IMíN7’LFú“{Npã&³í=¬á¨òð …º-F!#ýšäâÛ=?&„Lçèèèè8Ù?:½Œˆø!£§Åˆñçèè8Î?æDqzô¬†ÿÇ6ý”5=6¸á‹ãf­:PÜ &ë7rê,ÿù¯ &"‰í´7üýý_a“}Ç7·òðù1“G§ëó£';:Ž Iˆ œ:ÚÑÑqœtúÕnZP|Yöhdp˜ÿ´©S§ÇìXíoË–íž6~Ñ÷¿žû§É1ù<_öm´Ã/Ç㦅ìþ‘#>;d´×%Dþ{÷ÓÆ™çü»ÒjæÍŒtÊäEVkk¥À‹À‹ÄHY‰x¥¬Y|Jã*=Ó‹ ŠÔ.vÓP€p6vÜ ŠåŠÛhM£37Ò^ØTZ'/⼈#­ì«äÉ 4ófFJs/lIHšmµM ßÏ›3þ÷ÌãßÌ÷yž1ƒ¿«mMª‹›†Á-&GÚË3Hn_`æöŽÑ{º `5µÞ§j뼩UèÉÖ_¿=¯é®_?9j­ßžëin(oÝ>²X4±>¨ÿ¢=¶\Ææz¼¥Ö§ëÆ{_MŽƒÁ±R¹0‹‹cëû³¡¹ü6ÖëÌâL§·®¶¶¶¡}£¸Ð«PëZ›½UÈŽƒÁ‘¤Vî0 ñ™Î†ÚÚÚ:ßÀb>3Ó^þy½ïè™™@sC]mmm/0w÷‰ýY /êëÉöõO¿^*c3=ÍîÚÚÚ:o`®4‘£g&ÚjkkkÚ#)ÝzÎaëÉâ³õ+ÑïÎÊÝ=œÖ,îø—”w¢iK8Øj’‰&W«vå:áöf2ú“eMÛ\U6UA·¯s¢4µ÷ìªÂc í²«£ÅŽ\dlqõñÊîŒ,©UÝ“Óý3;\\D(Äbð t;#íjŸ Û%ÙÙ‘x@~¦=8›¶<£ÓÓýuÚÂ`gd‡¬QÚínu Pã©"¨é¤ÁåwJKqÓ?:7ÙQmeç{Â)}[6”X᪖€L°µsd&–Ìäe·×ëv:Ä ÏH¿KWhòb‹C‹{ç³ÂÑÑé‹-…¥ñàÔ]TF[lì-£ÓNéYÄä`p>#ûF§§'ûÝÖÒÔÀÔ]W|º M˜·Ç{fÓ–{xrzzØ'gf#8CÃM €êîÉé@µ¸ù!:OŒ'Š•ÃGCdæ{OŒÝ6¬Ç–kBTww÷·Ö˜[Ô'ö¾°)´eÂ'z£Á½8ÜâÈ/ŸÆ‹9•wFº]’–™xzD†^>-1“w‡BÅ*,ô¶Žä<¡~b³wM`5l,iÎÐôô¨Kãíጰ¥®ÏTf>n’Õ¥ñžhf&˜Íhö£ýû›´DÚzÎaë‰î§oõJÌ»SÁñ%Uö„.Žø…DBã>}VSÑ´%¹›Ý.¿GA6–.Ÿ“˜w#í½ó¡©t´Û©-E:{RŽg•53?ÑÞ5›6œÝ£G»Fz¶«}&gVSxhqø{š+ŽdV}ÎåʶÉO?ýëh³³Æãs @>«•+8ÛÚ¼n_›KPÙÚéuûÚÜ e5ùd¬T·µ¹kj¼-v¨‰…üÎ(²ÓïPXHb&¡Br7;×gØ«Û:ÝU§¿Í%ÀÊ,äÍmÙPrÝḚ̀ÿ`¥–ž„ƒíoþ¦¶¡u,¹ ìv8”ÊêªÝ¢âùôÓ¿NÜ5u¾&; ÝV-±¢Ò!Õ5Žg¯K0 ˜Ë䊨éøëßR±À]ÿ¶U–iZ>s·¨;Z¦S[pÊrU•C ;ª«6/i+&ç²@eg¨µ¡Îí „\´D4g~¯[ 4{Ý»·ªïýM;3;—Ð yzB>w]Cg¨Íd¢ëg9BM às»}Ð2E^Qñj«líð¹›Z< €ŠÖnŸÛÛÖd´œfa5Ív›·¦ÆÝÖV #9—{ñªx:|NGUC›ß™bn1cÎÎNo]7Ôá|îaë±î§oùJÔtJ*Ûº}uu €Gâî|y'Í@rz]—Ý.ÙèRiŠ?K¨¥Ýív7L^ñ;”g”53?·Pœ¡fw»9ÔQ bñõñ’-ª )Oà5<´ ²³£Û•è]˜u¹7ʆv;Ž$²&÷7O²¢Y„õŸEÀ„SÏ벃¿«\ß>§ZØDv¶z¤¥…x¦xPˆç 5ù7žewi`[–ÀÐõíÚP¢£!0Ö€¹šÏf’sã‘¥hÏ sqµy#KGFbé‚§:×w5±;Ôß40¶ g¢¤ê–±‰NçN\·½eŠÎЈßGçÇ{ç•GG.ö¸woµœ@±)åj“MÓ,Øþ¡+€b· ßU7ž¦U P*•R§Wl  êyÍt€lS¢X!\côÊF” EE (2AÀ MPˆ¼YYß^ÍkpV¼ØcKY,=‡@/ºªR©ƒ@¨°Iß}Ø*Ûò•¨zÑ ÛDKîÒYq)š°|s©|‹6—(úZ+ ©Ú£Ý-WÕ¹« ¿õÃ<¶1dÅ& §«ëõOWSxhgÙÝè˜}s<:ž’J3¿«ÉÁ…¬äýï~·˜élèJo>©}Îù®ìP£²{zÄ]®8”R<ÄJ¿GY˜%—Ä”&¥¸~ÀµÔ¢§KÓ @RämÙP«©™©…œìuÖÈ»ΆV;’K½Ù|^æÀcÞè™Mk•ÝŸN6Wi3¾7#…-š¬Òy‹µªë½Ntxf¼æêÝL:œŸˆyã­Žö}fîv&Ýs5ŸÍħgç"ÞÅ-»•¨T*€QT5 °ÔÍçÿ@Ín® Ï­OÇ×ÒÉHN3áR“×óx}ù¶!)  ÚZ&'|¶õ¾#W<ý×M@†^|âûÔ´œf¢B„‘×ÈIÖÀP5 ¡óÆ ¶ž÷J ] «& ÃÔòL;/!ï$çrœý~‡À,ÆÃãK±X¾µÓ&Û”ò` Dè·ãñÛ–Ãã{FZVl  •ûtMµÅ¦ˆå+n1HÇcÊc¸¤¶;‡/tT¶1`lY`êjnqjê¶è…\ÞxÇq{í@.–¸«jùäXg{p*»s®«š›lÈF&2–âñ96ÕÖ\$<—LÅ'&Ò€àô8ÄíØP¢˜_J$fÛ[c3ss3ÁpP\N "`ÜN$3…ÿ³L¦¦Ss1€–½]4EAPL$R·WÚ*@]˜Š¥R±ðÔíGçù¾ÚZï@<«AV*d¡<±N¢3Ä2šµeæc­uµîÀ\F3¥Ý’ÈŠ,B¹D"µùZñ ws5P˜œYL%cá±´›×_)þ »eÝÐ7íýü¦»ˆ5ÍFb$K¥'ÂQ‚«Åµ›åxÛ¨¹|N@MÄo«Z>=lïK?Öw‡Cr3S‹©äÌXô‰!#ŽÄSÉ™±˜ Ø›j*§dÆÆâ©ä\8’}ñî'nùJl.—ä¦Â±d*)]Ä5”?¦|"V€àlñ5¸Ýn·ÛÝàk®“ &bwM±ÒëQ€ôÄD<•Œ ÇÇžQÖD‡¯ÉdÂsÉTr&<–*ý>ÇsÆŽvæ1…‡v0±¦3tpãs¾Ûh©–Œ¥ÁÁy¡m"䔬Ì`øËøCŽÖ‰Q¿ÓŠõ¶ŸèŠäv»ÛÚÜ;éÆáóÛa°5ù6¯Nœ~G:Ü58_Pªý£¡:y[6”ì M¶téhd|<2›P+¶ŒNjDˆŸ¿Z@!Ú;ÿ—Ö€Ç.f»NŒeëFFÚ F{"YÁé÷Ø`¤Ç{¦2VU[¿¿ZÒá`8UÙÚdLË‚XÕ:ÐqPH¶¿ýö‰®©bÍÑáѦŠЭŒt4òÈD\«lÛª µß†žŠìx×Ûo¿Ý>–u4…FÛ@…»Ù%A[œÝ|áD…ob²û`ÅÝHoW0œ\-£“V¯¿»u݈kö~¬h=Þa†:­D¸««w6_Ùši`ÞÙŽ‰Ç;:Ùáƒí'ºÂiÁÙÚéy|‚Çè÷Ø…Â|op"W×vP,k£§Øš½>üöÛo*§DôOÆkxˆè;³N&™NÅÆ2vzyx&""""ÚFÌÜLÏ`Ú’*ކÜüƒÏDDDô“Â%môÒpIý³ñK ˆˆˆˆˆˆ‡ˆˆˆˆˆˆ‡ˆˆˆˆˆˆ‡ˆˆˆˆˆˆ‡ˆˆˆˆˆˆ‡ˆˆˆˆˆˆ‡ˆˆˆˆˆxˆˆˆˆˆˆxˆˆˆˆˆˆ^A?gÐO×ßÿþw6Ñ÷«_ýê9¿å m[œá¡Ÿ°_üâl""""zÎð1ð1ð1ð1ð1ð½êçÿVWç9³¢oÜbÞüÀsô/…müžµ•/¾R¹ë‰ˆ‡ˆˆhG,]¸©ï”÷«ß¼rézÁäŽ'¢Ÿ”Ÿ³ ˆˆˆ¾gàÙwê¤uaèR6zºZ|2œ9åΚ{½×wºÞöDvÈ~>4tùëû¤}GNŸ}¯^Yøò£¡KË€´ïx_ß[Õ²¹ò÷¼|¼^_¹uïž*׿ÿþ¾[—¯Ý,ÖäÆs‘÷ö Ù!_·Ö؈[·TM5äC§ÇO×+€žûâ£áË+*Øêß9ûþa»¨õ{ïî{gï½wTU5ìGÎ{·Zô›93t펶'{{ߨÍÜy_·vü-qùFNUׄïÿél½6ÔÒËÀ_Ë‘ñÈ÷>:siEµH{ô}w¿Ìþ@D¯&Îð}oJcß;ʡ˹Ǧ=ô塯àäl"±ˆ¶-Ÿ9óÅã Áô•¡îËx7šL¦b§•ëgÎ|¥¡pùƒ²ûÎÅ ñßZ»ôá…¬ °î¯¨õ}ÏÎÏž4¯÷Ýk<÷ÉgóŸׯ]ZÖ0nݱŸþdö³ùèé×nœZÑaf/t_P?Ž'ññ׳ýÇåÖ½jãÙOf?‹E®^XÑíË»¯ ïÌ&‰ø'Ç´Kݲ&k_/ïzçãÙÏæ£ï+Ë®äPýþ¹c»„×ÏÅfß³ßùó…›{ÏʼnD"zÚ^¸¾¢±/Ñö#ØÞè;.^¾ºi¥—yï˯qàxiRGÞwìtïzvóº7óÞ·pàøë ¥¾7?W¯¨+ËÿûÚ[oTËDû¡c{Œ•€ íoÜ+Øe· »öÚ#–~†¶f”nÏ‘C6PöÞƒ{˽p}ÅØ{¼Ñ.+ßxãµûË¥ÉaW}ã€hÛkƒv߀~óÚ©ñd½ €h;t|Ÿµ\^´&ì}«ô$»]2ÔµÇÞ¶dŒ›×®¯4S9ðÞû~«°+Ѷd?Ö{̼|æšj•o°´5KØ%•ÿ'Ê6ÉÒ cÓ=,mÍv Ȳhê²²~'AÙ«hI؈W‚PþYØ>v)ë7 ,¡‚´q/i— CÕK)FËkïÊÿkºµvµÍëñx<÷ï K[+=ÁÆsm~²ò«O}rî0–ÿü{ïoÜÿöÁ•›œà!¢W¯á!""úaF_¹ÊÓIDATÄÊ“}Gnt]?U ‚²KXO+€© AÙˆ2[l îã5Ù.á¦fr9AØ+Æw?½±¦Y¥cék–°G‚¤HVÁ(ßcM‡d—EÜßâÎÒ.Yxíßgçßµo¾ÕÌ}ç{¶8Þwà8 e??Óñáù½ñ?îÙˆèUÄ""¢yªOöÕ.]ºc€¸çðëX¹²¬€vëê²±·´(mcóÒ7TÐW>ji9¿bØþåýϿȚÌÂõ«÷¤úCö‹÷®–¿©Ë×îI{ëm²½±^ºs¥´4MÏ~þùý_ÞoÛú¾òþ#{×®_)]ƒcæ¾8óÁ•Üs¾†M€¡@áó?´œùJžÇ&±Ñ+Œ3 í9rîìáǯq‘ëûÎ?3äo¶°koãÙ³‡àØŸzÕ3z= Øœ?U-âE¾ZÚ»¯ðç¶£÷Ô5ËÖØwö€ TŸ?5<üïe ì‡zÿtÌlýíÙÊá³ç Cçý€`?têì3c–h?TÿÚÕ~oÓñONZ9ïwC íiì;Ëé"zeýÌ4ù}úôr<|øðÛo¿}ðàÁƒ,Ë2Mó›o¾q¹\/þ–e±‰hG3³ç}ÝÚY®'#¢íÑ5‡[á’6"""""Ú¶xˆˆˆˆˆhÛâ5ÏgÏ9óC3²$[¾÷¹??ï×k^÷Ê’fÎ9sFó>ßùΙwB!„r-ïbB!„Bq&„B!„âL!„BÅ™B!„Š3!„B!gB!„B(΄B!„Pœ !„B!gB!„B(΄B!„Pœ !„B¡8B!„ò’Šó[o©Þ>üu<ú{w–øZü½_÷ÿ ¾ëÛ4|îϪ×>äž „B!/¯8?ÜüëÀ÷½oþn,ÒÉßç‘ òÏÿ³‚ïzß7á7>îsB!„wœ·ß~{©¿?qNWþvôŒ?ú'€ïÿ:<ú§ñß=ZøÝG‰8ÿ‹º­Äùã¿úŸÕëöýN?÷÷(!„Byâ<Žz||Œ/|á …¿õ«_E¿ßÇÅÅÅ;#Î9ƒÆø¯}PˆóÃÃÖðöW.ʶ\%b§jü™L–?ô÷ᷫǽJ!„Bž8ŸùÌgÐëõÔ†¡úÛ›o¾‰O|âêo¿õ[¿u£Ôá[‰³Œ6?ü¿„·þŸ |ôëëÝxô~1Uú+Ò<ËúÓüæËËK|÷û¿¯ê5îUB!„òÄF*²œÊóïýÞï)Y–ÿ?<<Ä¿øÅ­g9qN¤øáù<úþÿoÿaˆ‡ÿèo«<ç‡ûˆŠBc†(ÿÁÙð¥/þ÷™«ìþÆÇñíßòõøôàuîUB!„òŽ0ñÉO~2“çTš¿üå/ßxˉs"Å_ýÉ~àá-!ÐJ¤¥D˨sÿ7ãϽõViþåý¯ðÁïx/¾Ï4ð£þQ_ÿ)±¬á/þOß‹ƒÎÀ}ôÃxÿ7=þü~Ÿùé% 3ÄÀ÷P«Ø0õ¬¬Ä‹fX(×<øÁèÙîÐG£lBKʵ¢—Ѻ¨¨×6ÚÑ«4Ì룖î#£Á虃º¡Êc6H‹x¦ú›^ëã©q8@»^†ÓÉwŠm;n³Jwôâíò°‡¶[EÙ6¡¯LŸÕZ½pfúµøó¦‡ ÿ÷@O• šÁ¢è6ëpJb›ZºM †UFÕí`0\°=«‰ðYü&„ „ò‘‘å¼8Ÿœœ,õý¥S5}æ5Œ?üž8ÊüËÿLIòø¿^Ý$øðï,öë$2ýßÏÏñý›ðßò xÿŸYÁw|ë7àþ¾áû?ôâÿ;ÿøçð>íOâÛ´?…ï|ß7*™¾ÑI9h£fMNÆê„¬ë¹“¥\t”› Ÿ5£iOÊ¢t³ŠÞÅ«)Îî3‘±_ªÝá3.Ñó$Î#ôMm×n¿ â¡ë– ²,åU¿r|Šv®4¯ ¢fŠóh€†!¿c›#Α߀­]ݦ–/‡V‚Û>#qžó›0!„§„¼PF˜óâ,— Þ9qýÜß>òµxûÃ_‹õS{Xý!u“à£þI¼õŸÏ>Ûý_ƒñÞ?­ùg~úoãÛ…@ê“Gø…þOðB¨ÿã¿oã§V¼ÿ›Wðw~jwéopþi¡œž MžäxõÑ®YÙɳü,B:£TM4 f0Ä ÛE·ÛÇ«ãÍ:eÙªB¨”È”;ϸþ³Åyöžé¢ ŸjYf‹³h¹~W•g0|qöu·fdÇž]k¢;Ý–ÃÝV-“\Ýñ‹}A¼ß“ÇH?‘â\_ ÎQ§š‰ºQqÑD…ÏpÐA£¤%å²Å:FO_œçþ&ByÈtŒTšen³|-gÙHåùw÷wŸ¼8¿õÅ—ö7`ô¡¯Á[ßó5xð#oE_À[¿öï€ï}XÞG¿èfŸÿ¥_ü—J–eÚÆgïwUÔyxñe¼ñÙ@ˆó7â“ýßFï¿ý&> ä:üüérQÛ[pɈ~ÃL¢Lü§-Ceu’,=ým?o„MØê²t½° G “57rø,ÅùY•ež8¿pC$?½² Ãé,ÖÐÑÀ…uS‘\$ÎQ•DÂÍFoþ¦Q0ùí(µ2I~jâÌßBy¦|îsŸS‚,gÑSHäd¯¿þºú»Ì}~â³jŒö¶-þè{Þ£þ}à|/üÛŸÇ£þ}<Øúq%Ïÿ×oã˯¨ÏËùšß÷MRäó§ŸÃ·ó×cpü~çäÓJ–>q¨‚"Ó6N>ýzödÁ¹Û陋¥ˆ×°‹ª¡Á°xÓ'æaíz¶¡åò +¨·®F‚Ó«^'å¨ ¯Z‚‘F¼ •F;b?•B’.ey¶ÍOÕ…>\ÇÎÖ­6ª^aÐŒÃÎì{‰ äþ–±n媈¥m§×z» ”’œcÝ®ÁrŽvÛÈ.qËr8n·MÜ$ýA´ßHJbU#ƒõþÂWÍé"´QÏå„êrµ¯¦ß,ÿåS5dŽ­Ü÷¦®e)'V¹ŽV†E=´dÿ2õBêYªÂós‘Ô0Ù·S‹Õ”{uQªÆ¡ï¡ZÊåë&JUwFnº­pˆA»Ž²¥gý^•©{UØÃVrÕÆ¨££}À5“¨o­wƒÁˆèk^ 5·…n8#œ¤j ýÒŒãÉÈd{ô¯›”s4hÀÔä~k ÍØ˜ˆ³Ø^8u|ëâø®·çFü£^µ²5IAQûÀ+ÔçÚßB!OßÿýßWSÐå‘òüÙÏ~VÝ8x–ç?úÑïÀø{¾—Bœß–çÿ<ø…ŸÅøþ”züu•û<þ¯ñƒMþÕÏÿs•ß,#Ο~ýXÈò7â÷~ç3øÏœ¨ˆ³g9«†çßù̧¯ÌõkÉ _ãmcs£‡Rz¢Ó Øå²º)ÅR1’IYÉI¾'%Û†ej““ ÝLò1‡è5ë¨×ÒOåšx]o %…fŽ8ûn•MNÖ%Q&ÛHÊcYW$ùqÄYÖ£ kB8T}GZ•¼P•Q) QÌÒbò‚}ÓÆî'‘Bõ¤QGƒ:ŒäJ@wÑÍZ¦Ø¶úœ‰²SEµbO.ÇW‹—÷—ÿÎrâ,SŒ¬½l”+e”̉@çoê‰NIËïËJÜŽú$÷¶’~^ àš*ɾօÄʾÒT2>Oœ#ø5s’+k•Pë·²õ›¨Î¼ÉЀ㘙àY¶5©ÓŒ¼ó¥Å9pã¶—ƒÚÇÝN‹ó(h¡QKû¬Û©‰6reÝtƒÇÛžfe}]ß¶•ôØÞÔÀQJ)78+¡R™³òønd¹Ô×ü&By¡XJœ¿bý \~ðk„8¿[Eœ¿ú·>Š»ÿ~ª‹óOü `ÿÿ»©^ÿÚAGE–e~óÇ~ìGUÚ†œ–îäÓ%ÑRœÿß{¿®>s½8‡h%‘㶗ׇ=ÔŒT¤Ú…“á(ì š Lµ›E(³«:6Î {ä„®£–·‹y—eg‰³œq"Ù®ÕèæänˆA³<¹¹é ‰s¼®::ƒQÐG·Ń’4µÅ¨¢“˜ ¡nW+—¸oÔÜéM¦››!!€—ìÇҌԄb{»ÈßË54“üv!Ÿ9‹_þ;KˆsØF)Í—/Ül:BЪÄõËBRKiÔµ;5¸ËåÿÒ–»90l¥Xy£[4GæìÜì“õ(yn玹o“¾2=•÷ ĹÆÁ޵¨mbOHœ“8;U#;Î4Toy—Ýôñíçú~þøÎ¯Ø\ùjt‹û`Мô‰Â@“©„òê‰óå_ùnŒ…4_~øëðö÷|-Fóûñà_ýüÕïÆÛFÿÅ÷©ˆó£ßº§>ÿ‡_ø}õT@™¢a|ëŸÆ}ÿ÷¨¿¿ÖÿmïDœ?ðÞDœ³;ë…`´noŽ:å…Q4™wi®¤—µ§O¬³ÒC"tJ3Ê´„8Ó2YÅé·Ò±Ÿ›'#Î&®çDy+S—À§U½9¾Ak'7ʶ §¢™öÜ:/nïÜwíyª7þÎÍÅ9ýÛìÅ`®d¨4Ÿ¦º¢0@³ZA©T›-GiTV¯åúß✠ä Ê3ó¡E›'û~R‡Ézd*Ë•4—ô €^½aJÆléÀkÎÕ ¹LMƒ6cÑ+þÕêMÄ9leyÒ· 8_Ów†Y¶²>,ö¹O©™¿ ïSœ !äÕçñþ/a~7¾’ä8œïÃøßþ ¼ý‘øÿoøÝxø—¿x8ÉùkéÁwiþñ>|ÜS8äãµ¥HËãT?Ïœ f>e0gÙeÙi»á)2”ùëžYÌ?ÌN¬3#i“œÝ$¯ˆó¤LÖœ¤ía·òDS5ŠÒ6µ¾¹—å‡Ù:gËfÙj’~RF'º2‚IÚGˆøÔ¯½Y+“¥rÖ¶Ëç¦â<‰ —:qãÞ(BØï¢Î*¢ç§![Bœ³œhѦsä+ë/Y”²žÒ¬/¥ûIscj4Ñž c±8÷œâÔpù¥Ô¹8Gi“7>¦8Ï9¾Óô°,d˜öÝù÷YDíRV¯ˆâL!¯®8¿ý• üÑ ¾ú¡¯U9ΣYxÐÚQÜ}ðkÔÍäÜÎ 'ƒ×…4#>õÉ>¾šKÆ–O ”©¯¿†ÿÚý |×û¾ ¯õ®`¦p»T¼@Ì“ !ü©Sáæ!Ì?±ZÞmÄyR¦y7 ÉšŒ')Î3ä2»Ì~ƒå¦sž•¥Xv ¥RnÉå×j¹hc¾½µJwöv²6´Ð oû›Šs:XÓ—JÓŸyu'~ø‡6£µÛ‰s^òæE‡Õ p…m¤ëÑfϵ3q~œé¢£Öò©aÓzün5óWv~çSxô‘wcü‘¯SByû‹Q9þ—ÞŽJÓXýüƒÆßïþçÿ¤þ¾ÿËÿFȲ†{÷—Ðýõ_ÃôoÄüðàï×ÿÎcEµ¦?4å]ûMt¦n¶º‰8§©‹£™ONœK ÄÙ\ZœWn'ΚŠãÀY°ÔÛÁ :É$­æú¥„ü„ü ³ƒßÝ,âwEœoü[ˆóòÄzs7É›O­RN­¯å£×–ÚwFœ‹©qž)—OHœ³”Ü~yÇÅ97cÅÍn Ñ©×Ðh¶Ñ‹FKßWÅYGéšc¥Úðq&„W]œ}î3xóÃ\E—Çí_P»ü•øI‚îZü™ñõï?þ‡ÿ‡’âoû3J ´œaãà?ý|ÿ‡¾ßùÞoÄw¿ÿ[TÄY>9ðÛ¿åëÕ¿7=9_;ݨ—=æ9Nƒ¸YªFšR韂8 ÉMÊdΩШëÌOÕ˜Y¦\Þõ Åy4ó&¾Ç¨,-dÁ“Ñrr—ž¬½íöìÁQèÅé Z%›•cùï,‘ª±(ÍAîê~­¶bySY–#o Ú¹zS]&µÚã§jÌ“¯¡_I¢ÞTªÆ;+Îùý)§<¼‰>¾8çÖq£éè&û'MZZœ£Nr³¨¥nµ 8BÈ+(ÎÉ<ËoÖÊÀüq<ø¥m9FÖÃüoôcqNrœåŒRˆå“¥Ë\æÚOþ8~æ§ÿ7TÊ?þ×L=þð'þFEHô·âÿlü½k#F­Rš¹ø(½zú”IŽíäæÀÆÌï.¼9ðç\™æÜØ­êóo†›uY|˜>däæâ,å©´ða¢ÝË&L«ŒúµËžÜÐx]ZG–Α˻žÜ¬UšùXò ¥ÜÍzËg‰›“y‚§SJ2¹MúcYt²,r?'×:lÚÙCyz{s`çš›«Óòÿ‹³êËI~µL i]3ǰ/}šßâ|%°ùÙP¬…@À³'ÓGÞì(3Ä97+Œ=3´.ú–[‚iÚ¨¸¹:Å™B^=q~[H²ãßüU¼e½—é5þVœã,§¢Sz[M&-ùÿ~ùsïGãgþ.~ìGJJ ücõÊzå¤Óg_øý›BΓ›^ ·ä#·‹·]4Óùjåbù<€Âttf] }ÔÌÉc€‡KžXo+Îù2Ùn¯0ÝY˜Ÿ?8Ÿ–M¦H«´s‚2 åL柽±8ËF*èÓÓÑÉ÷it×>Ü.+›qýá²åTqS~)«åfááÃ^:ßµZnι忳Ìtt­¤>z±­e*P»’ÌOG—ݘ'kÓOzz¹¹ºW*9I}(iûâ•k¦£ÓJð _¢ŸM_˜¿"s;q^v:ºl WŸÌ1m”khvú‡ÙCÍ |´•Bž°Ì™âœO™™1p‹:Ná‘Ûí~TØOa¯…š5™c9ÿ@¤åÅ9?@˜žŽNz|-Kå(”•âL!¯`Ä9åáô£†ÊuèkÔ ýýL®Sq®þÍ¿ŽúúZöµ~ÏwácåGTô¬§^÷äÀìÔ÷PÖ‹¹²š®O݈%D§9ã)s… ˜êå’™›/ÙEÞGÞqqF~¾Øô”,-yr_:]»0Çs/X}Æ‚m™Ù´ZÕª¹¤8«FDåPì2*•üƒ5Œ©kÌqá4º{£´É”uéÀ`"Áz"¡É>²œhõgÞPxóïÜþ(šYŠ÷OöµTžF}4ÌɃHäCXjUåd_êe'‘çâþÏ"Ѫìº(k€E@éTsrªöSþár®æpFäz9q^þÉywnv)¾½bŸš-ΓiáâcÝ,Λ®æÔvrt™ü&fòÐäÜ×ÃÙÛ[Bœã‚5ÙŽêù‡âˆßƒúTô›âL!¯¨8'Rü õO•8õÃïÁ›á½âóæþÉÿ~ä‡PE“å üŽ÷ª‡¡Ä«yTŒf/œŠn£Ýf•RqæùˆèJ­9ãÑÃyYè«G"[ùGnÛíùÜ~'Å9®NJþ‘Û%T›=~’ÊQžNˆÐkÖ O°³* t‚a&=K‰sºÎV½ðÈm)¡¶#Ö;¸ÁÙ^湚+ §×»¢Y~½3áF…Yúýj¥´,:LÁìEWs‡—þÎòÜ–3e4rD—‚j‹önO·Ë°‡f5÷ÄÅìQÛ2r[LíÈ·[˱rO9ìÅŸ]ðÈíÀw Ü–2Y®y ¹ý´Ä9k0t¼:œ©ãSƒ¼rµV7XøÈõ¢8Ë+BmÔìÉ“-g¥ªŒÂZ G :sýW=鳌ªÛ™ùèìÛ‰sÉîN=r»°¯¯ttŠ3!„¼²g)º_üC\~ôë=xðÿlAªS)–7ÊGkÐxŸšËYNA÷k¿z0Sœ_Y†AˆhŽœ„I°Q¿åÓ_0®“ù }‡B!äéˆsQþêÖO¨¨ó[èJ5N£Ç§o¼øðŸÃû¿ùëÕ¬?õ>/]~™E1÷ð‘©«È­äƧ« ¡8Sœ !„ò"ˆs"¾>ÕÛÿh½ð·iþðÿÿÕÿ¬¦»ió«eθÖäR¯œ÷Wæ¬ÊËÍY¾dãfÓ{Qœ)΄ByÞÄ™6¤4¯î`ß¿‡ãó3Š3!„BÅù1Åùüž’Lǽ‹=7‰Ò®nÀ;~ŽÃ½-¬9R<Åâ¬c{ÿ—b=Áîjü7µ8Ø–Vzq„½­µ$Ú+Ö»îbÿäR­êòhKýmãî>v6œäýø§ã¬lg÷w±µ–ÛÖA€ËTÓ÷á®Çß»³¶…=QÆñöwâÈ直ԅ‚8O’|àmÜ?½œ¤.L‹óÁ,qN#Î2W:Váñ™oÇÃþáNÓˆ³àìì g§'8>ÿŸ5ÞBqN£ÈkØ=:W¹Úq{L„}|º§RFœõÕB”{QÄyÕËEœ“úB!„WHœÏâ|àU÷.îÝ¿/Ø _Æ`Ó(±x½³?èÇiŽ ÿä'~’ãœD`‹s.ÇÙÙÄÎî.¶×ò9ÎûÉL.îú>îºqT{ëÞùÒâ|+ÎÃöîb0¤“‘žäK§Ÿ—eÙÆQÒßu'9λùç³\Žsz#!!„ByuÄY¾>ºëf³HÜqÖ°µwˆó4 ùÈKäqUî—q~߯ ﺻ‹Ýt–ŠóëÅùʬr¶‹ü¬Gwsi ëp÷13•øºTSÛëé¬ÛØóŠùÓjþfY?)æPOqïʬI )΄B!/“8B!„Bq&„B!„âL!„B¡8B!„Bq&„B!„âL!„BÅ™B!„Š3!„B!gB!„B(΄B^\Fº­œ²C[ÁÊJ²èìrn»hæ÷º¨¨ÏÚhç?0 ]/ÃéD 6:ÄÀ÷P«Ø0õÉ65ÃB¹æÁF3¾ÒEY}®„Îðn“ÐG£lBËÚ¢ŒvÈ®ByÄùÁƒÃ¯½öz½.\¸¼”‹ü“¿uò7ï91f„:ì¼,KyÕuèšVøÛŠYâ8º8ÐsâïÚíhާ·Q³fm3ÿ7åæÃg"Î!šö¤,ºa@õï(„g,Îòr||ŒÏ~ö³ˆ¢\¸páòR.ò7î7ÞÀ믿þ\ÈsØ®@Oå°TG«Eu©¨°c&iÔÑNE»]t»ùˆô5â¶PNÙtàùAa›£¨vÍJ¤UC9æ}Z✠L4´eBÈs$Î2ú"O$o¾ù¦:‘<|ø .\^ÊEþÆ]^^ªß<ùÛ÷l­¹…R"Íf½‹…:ì¡fÄŸµ[ו{‘8ç"¹¶‡ùN:D¿aÆŸÓøÃ§,ÎC?ÛŽ?¤Bž#q–—.¿ô¥/áÑ£GluBÈKü­“¿yò·ïÙ1B¿¦Çbj¹¸IP5ê6P­»hõ¢‘Ù$U#lÂZ)¦`ÈÅjƲ=êU“·/¸N^»¨ Û—0/Îaßu`iJ‰Ûqᇳ+3 »ðª¥\>µ«\C3_)öÖÕòË¥Lƒ&„<â,óþÆã1[œòÊ #Ïò·ïÙysÕD Kíè1Ö3%ÎÃ>š*FšþQE½Þ@³?,ʺÝ­¶š‰³ËœÜLhÛf–r²¢]½‰/êÖ'BoØ(W*(ÛF–Ròˆu{ˆ^³Žz­œ¬OG¹VWuhLÙ „<'â,/aBÈ«‚üÍ{¦âx0“Èoóq2F–º90D+‰æTTo+ÎRKðòÑâÈÏÒIL7Èý½äTKAîRR†=v­®å“·™ªA¡8BÅY©m–2Qž-†BP+ºM›±äg—XFœG4²<é[F¹sâ<+R¶’› Ë~&È7É•.wfF¹Ã–}õ}Š3!„âL!çTœµ…âìg7^Y4ÝÛˆ3¸æMo0¼NœgGÊGÝJ’ ÒN$x’³\š7§tàÅiùzQœ !gB¡8Dzè.ª14`<–8GhÛO*Ucö¬WÄyÔGMŸ3¸²äê@q&„Pœ !„✠¨£-wsàã‹óƒ†±ÄÍ#Íjnþð±ÅÙ(;pœKÕÌQMq&„Pœ !„✘!zÕd† ófÓÑ=¾8ËuÔãuÜd:ºQ/“^+ýð²âŒžu‹éä(΄Š3!„Pœ3r@1ª„ å9B·n=fŽs,²­R’QZü”^Ý̦—ËÒ“—çúõ8Ê­Ufß8ìÖ`›l§…€âL¡8ÏáâÛk›ðÏŸö†Ç8ÙYÅÚn þ7Ʊë`íî)8“5!ç§MÔq&ó›Ô[>áćaf ec’ ¬—›Áœ#Îýª>?—9hNn<´ä#·Å)â‚.šŽ9yävëæÜ¾*ÎPe±WfOG7 ÚpÒTŽzRVŠ3!„â<á2ð±½zwîlÁÎêvƒñ Á/UGBÈÓÇ÷ý+â,ÿö¼‹slœúmµŠ{$µ”Yv¥·Ý›Ê1GœåœÍ-ÇÊ¢ÙFµw5ò< ÐmÖQ)™aÖ •Zþ¬'õÝRœãÍu๽Ý*£Öì"šÞÅ™òr‹³”ÕI‹Ÿâîšx½¶‹ãôõºƒÍû‰â^žãB…zïcÓ¹FœWïÀqïá\~þÜ¢-^oßÏ^o:ëØ?“ÿ¿-!¯®àr<ÆÅ±rñÞž”`±ý=±ý½c±]ùÞžZÏêÒâ¼D !Ï„|Ôy^´ù¹gB!¯’8;XõN’ï%Ž\'K…H_¯ïŸóˆo$ÎB†.³×žx½}<ν^…'D÷üÞî¬ïã4ÛÀ%Ž·%Ç—Á.ÖG—Å÷nq^ºŽ„§J>êŠ3!„k…£ß¬¢dhXYY‹«Ò@'|%dÔGÍÐQíâí»%èrÛšƒî‹xî.Ôç–lCÔŸîw«>ÜuD¿õ^¢{D0µ2üámûÛÝŠ³1ÀMºTÔ.C/uâÛ¢mŠ3!„¼ÊD 4ÍF£ÓGF]4+FýwLâ†t»Èóh€ºöR+Àpø¢Zc®>·uïA†Nq¾mûwJÚ«#Î7êoˉsØ´ Qœ)΄BŸ\uZÙ/¦ »h85t¤‡¨è–JµË´Äb¢Tk#HÏÆ£z †ŠV‹uÅCo89ÁËh¶­¯¨h¶nWÑ–_L#fÿõ“pí\¤û§ÿ=þ®èr'*¥©ÏˆDG>ešú®;W¦QØA½lÄïiJõ⺔ f­ŽŠe QÕ —êèt=8¶x­i0J.úé¶¢.ÜJ² ÍD¹ÑE4³s@!–QF½V‚)þ¦ÉígßíÝr`éq5³W6–ho'i£½Œ–h÷a¿‰ªÔA´«Qn ëàXF\ËAk0ZÜæK×gÁ>Wë±â«I=¼¤Ñ¢–-¶YeÓT]Ú¢áƒv­pEî‰ý‘mÇ„Sw`›tMôjÝV5{m×'eöÅ~²ôx=F uÑAGÊóì¬ÌZ_üM¶s± ²ö \µj¢d¿q„{*f²^Ý‚ÓìÏN™h×ì\_w“}"#¶¢ vuÑ.†ÜïºZçªÈ}1P5$ýqЃT½š RO´k¥‹¡”× õz9Ùž.ú±·ÅTÄ9꺢?çÚÅ3qÖ+¢ŸØz²Ÿòý$¿»ëb[i[¹|zÁ¶—éGgB!/:„H °«.Z~Átž¨»bÔb¯]SC©-_ð„ÔŽÆaºÑNÍàZq–b{ƒ¸Ìa %!Ïu),Q ¶fÃ$um–„ÌÄUˆ8«õ‰r4“há°×É !ÊÕAl¥'ÚB+]ÓæËÖgî>Ââ®WÚÉ`$‚_bfÇÛ—â¼²b y ÔͯR-ÍB#ëáÀƒ-D¬Öå¶ÓŽE:lŠ÷„¼9‰X‡²½,x2S”ÅÀ¦¬¤v$vyC¬×Dc§ûä#ÎÃnU´-%‘*oßí,ÚK ¾„8«ýãöTù"Q7WHs¹Kø°/ŽñÝfx5ÊÛõÔl9€‘}} úºhwÛCˆ³ªw2jŒ¯äÌðuDuŠ+ˆ¦µ¢¾§v­|-$·,C½I?2D?†¢¾=Qß•¤åû›j•Ö@µKèWŰ„v”ô“¤/Œä±)öÛJÒO®8ÏÛö2ýˆâL!䥔簋V£Š²•F¦Ê¨w‚XÚfäS*9“ÂwÑGU×PÉ_ÓU¢d‹÷PE¼ œD§!(sÅ9uâGòž1#—3‰ÔÜvQöGƒº‡âeæaWHŒ^C”Dá²2‰2–EëƒÂk%¨J°l´r–µ¥èÆ¢´Xœí¸üq…”Œ—¥A i’òWª7á÷ÃÂ%ôbª†¼Q+¹Qp4Té3RVôZ*ÿù:È(fY”KÊñ‚6¿m}¦÷ù(¾‰1¾Lhi8€ßƒ'7H)ÎÉÿSá Ã(Dz-TdŸé¦â¬Å¢˜ »'ÍWI"ßR²Ãë•yÍq]óâ,ľ\lŸ¸Ém³ý:Ù?±¼êåZÝæÞ_8êÂѦòŠ…´ÚZ,½Jœóm™ ’ZW,5BËNgâû%yu¢¤Ã–—äk½uÁ%éG­é~$Û*·®îÃ!‚¬GÒOª¹~ÒMûÉMÄyζ—éGgB!/¡6s Gúíš89ê¨õÒ“´•DÄR©)ÉëE>JÉ%Þâ"dBÈZ[‚Õ Gh§ÅYF´¬X,ÔvŒÚì\ëQ€NÃm¤—˜k*%a$%y*?[I©éîp:ïsÎkQÙQÏI.ÿO-zW=~Jœ âž“)½&je3¹ÒDÅía8CœUªLo²fÚe”E=óâœÏ]Q4·Í—¯Ïœ}>ʧLI·J¨ñË‹³f·&QM•ÊSm"·eÂ.—Õ5˜ô™¯¥8_Ä¥åÓŒòâœFq¯.JNÕÀ¬\ˆ˨©ë”â2вYNójþ°”Ú4ú=iT8z=S5Z R=KœcIÕ+>BÑWrGìk[ˆ» #oÐK"Â3ú‘'¯†L‰sà™á:®§û‰:6Ì4Mäqž³í¥úÅ™BÈËåÌ4ŒD(®DÅV„ˆÙIÚÉG;åä‹C1"œFgD?‡}4Ý–ŠTÏçô$Þ‚/Ó1êý77 Qô0ˆRñé¡YÖ„DupÞ—çJ1âì#Î7g™[=}ƒ”À0.,ça€~?È¢ÛAGæ–*Ý  Î*ªg¢Ñ˲{sQÔEâ<¿ÍûŸ\¾>³÷yœ^‘¥¢ eŽÅy’ "ÅF5NåIÖ-¯R,'Σ¸OX91E>ò]Œ8wÊÓ7Å%ü´m â,öC¿ŸåÀGý¶(ßÊÕÁGqîOEœW&益sœgíÀ«ŠD3¾`¸C½Æ⬶[ˆöFèz®D^¼3â¼ÌqAq&„ò²!o¬ZY±PmúèâôÑq+ÐW’üÑD”Vl½h”å4ZI¾­Ê¯•yŸÊ<ÄI»aaEHªŠLú2ß¶Œ¦ÊoÐs­krœ3ÛÒaÀÒÓÖi&y¶qn¨ò7U.t–ãìrœú,éœ/Î*ßÙÒT®t'¿Âr¦U:WsDo*ÎR´‰Çù´IS ¦ \Hù_‘s¡U>¯Œ®V{׈ó¢6_²>óöù°‹ŠÌ5n‡‰3uDÝežx,dÓâ,ovS3´$‚«òE]¦S®ç8W\ô“V,ì£ Šžúâ…Që ‘í%J² ¼¾Ê÷Aè×D{Ê« £«âœæ“{É I¾|©]ésq޳›ä8*ÇyÅšä8ßXœ“>ªå1uå$Ѿ¡8Ç‘pÑ.í Éq®©T§V¸\Ä9üô£á5Û^¢Qœ !„¼|$ó8›ZvÙU·¸ét‰XØr†-žÁ¢Üð'‚ fHgÕ˜šÁ@­[Î"‘Ì !g°GפjÄQ³vI|gÎI‰à4Ê“Y'ä éljVRri_Þõ_˜Uã†â¬>?s‡¼„ŸŸ1ä✤`Xé †Z{’KÏ0"e*„_³“t1€ukKV)‹Åyn›/]Ÿyû\Î’Qÿ.„ÍûÛkÕaêq”Zœån²/4]ÎÀÐB³”N–g¹Ëåì–6Ù¯¹Ù¢Ž÷Á$u#?³H~ŽY©2õ¤’ömªO o«šìÙ~WfÕ¸¡8«›[õ\zC|¥ Ã}SqF2«†™›©%¾Óu)qFÐDYOR.>½`ÛËô#Š3!„WŽ'ñp[È|×1âTòŠìsB(΄B(QËm. t=”t­ÍOq&„âL!„5“8çZGÙ»ÙÏÅ™Š3!„B!gB!„B(΄B!„Pœ !„B!gB!„B^Mq_œábÌH!/:rš:>cáygˆ0âL„<%qãxÛÁ;vNƽ®Ó«Î&î]ë»8ÂÞÖZ¼¹Þuû'qDõòhKýmã®Û 'yþé8+ÛÙý]l­å¶u Ç^ïÃ]¿wgm {¢Œ³Ô¿q¾À¡’û-ܽ»uUUlíÝÇý»nòz î~º1Nýl¬¦õZŦwgé†ÎEýV³²ïïoªÿo&ßVï¯eåwïc¦¾?|Ÿøäï¢ô¿ÿ7üÙŸý$~î_Ä_åA@ÈKKÔ…[± ¯¬`E,šY×­4j q³j¨–,X– Óïõc ÅÝõXÄ·÷öqw;èMÿlæ~øÍ_9ÄwßÀÏþóÿ¥x ò’2„/äR¯´ÙŒàW…\Ùm!–â¼²b¢ÞåpØ«ÃÔ+èD±8›Bˆl7‘å¨Ç²,Åzž8Gm”5!ØCñ­Ð¯ÂÐJhG‹ËQˆ8çS5”œ®Q‹eyú¨É×õXܺ)ÛUøQ\×^Mv©}%ú=ì:Ð:”׉z”´ø{²øvPNÿu*ÐD]¼~*ÑeõZ:õÅ9l‚_U’+Öá•”pÎç•´½†$ÛëDi[j(7ûª-£n–f¢1˜!Ÿ Ú½[–uuЄC±•nºfÃíE“ò‰¶P]@–4 d°0x°EùjqC"Π׳DBq^Vœ×÷ëÝ9üXnï ›½¸ŸÈîú¶Ù{8 Î0ÉÈ‘ª1¾ÀùÙ./Ïqz´-Ñ]£ëñDœWwƒ8R|yˆ­lÛcœì8Jº½4…äâXÈú1N/Æ8Û_O5ÞÐøl_ ~¶®kÅy-‘ìK%rog²ÝÝ ^ÓåÅÎ/ÅÀàì÷wù•·šoÛ"¾|OýQüïgm&ä¥FÞtãhâ0Ào˜X1]iĹ*À³„¬u†3r—Gè×8r;Gœ£¶$ÓSëNÅ= ï'[TŽyâ<Ô…ó§‡]!·zMH¯g ºŠ~&ïùB<“uÍÙGE·à±D¥:*† 7ÅRm5EDJ M7ÿmÑBÔmaÎ7çгĀ 5‘wUŸ©jÛ¹uŠÏ–Dû‡Rª u‰sŒ\}'Þ<¯Ýcqž´‘À”‹m&ËWWåª÷Ã0ŠßFz­\¤8/΋׳LBq^Vœ7ï')¸Ÿ—áñîyYêEœ&±{*wáª8Ò)œÕ$õ£(ÎÙM{ãc¸©8/q¸G‘¯ÞÓ'äÖ˧…ä–­#\ÞHœãˆr\ÿ¼H ùUëNÄYÕw3Ž”K1O¢ÓRœ31Þ>ÎdýâÞF&ΓˆúÔ’Dï !¯pÌ9»Ü¯Á°J¨”ô‚8ëånn6‹m[ÈQ3Œ£F•M5Ò3¡•:Îçìý%Ë1Wœ¥$õBÔgÅöºÃXœÍÆ`"ÎÝ9â,¥¸¬Ãnè×LØÍŠ€Ë×½ªKÉr•é™âlL‹³L 1 Uº9¹•©!ú|qžÙþ #I—(.Z–b2c¿\mõ8U# $i*3ÖkËû(D§^u‘QjÑNå2,±¿Ê‰TOÄyÑz‚¥Ú€ŠóÒâ|8SœåTsÁñ N/Îqz|û;qäwÕ“‘Þ)qŸ`GE˜·qÿT¦.Ø]!γÄ9üÊ´ˆ$_øÌ‡·ãaÿð §iÄÙpvv†³Ó‹ÿ_Ü4Uc÷ â¼>SœÏý$ûç*UesFÄù ‹8§B¯"Î'^"Ö‡8•e<;eÇy?.窋»¾»nÕÞºwþDÅùì ®ßúÞNƒCì¥9ͪ¾“çõí]ìílf‘ø8ÇY ÖâuïÜõq°K·³s5*Ny•ÂÍ]Tdžl;Vy£]MÞ°e4T¾oœã¬Ãiq.ªÌ±ë'ù®2ÇÙ¬ûGiŽ­ºšIc~ŽsI‹×çÚÖÄ{%´>½¸±”Úh"!å³rœýB޳‘å8ß\œã¼[Må6«ûeD]ÝH7‰hGí8Ç8¾!0Íq.A[æFË|dY·Q„žÊÛ•ãÜm` š´©Ê[^˜ãlÁM ÉÜä´ýÕztuC¦|9 Ú¨èIdøª9Ïn÷p:â,·QžåqÇŸ5VL¸bG2ÅB¶Ç0–ì47Y ¤’ô £Öò>Z¸žeÚ€Šógùú(›}BJí¶öU4V½{äÅQX!ž;G_Æù}N,¼ëînrsÝίç+³j¬n`'?«ÆÑÝ\È:ÜýÙ3V<Ž8ãòû鬫Bà÷v”Ì˼eUŽóCQ§dV yáÞzqV³ûØM¿/Ú`cç­™W=䌠]Â+g¤ÐaØUx­øÀ4B¼bTà”ô+³HÄâl¢êØñLºš!\?«†©e3gijD,.‡Œlº¶¦nTlô{WgÕ(%i š‰raV%Ä9ÉWÎfÓH¢ñz5Ÿ3<Bœ›UÃíÑËBÌj‰ø=9ÛDS”YŸ9«†lƒrÒf¥Žª¹ Uì¢Z2aš Ùþ¹yø¢ž‡Š¥MêÞèÎöov»_çx@0™ £0[ǰ7ikM—Ûk¡™‹ÂGGÈqÚ† Ö³DBq&ïç8ºw‡Ç§™°ÇêtÖ BYž«7æ=ó <Ø„B(Îä©#§›[›LGçìak5ž#úÞ›‡Bq&„Š3ɸ<õ±³9™áÃYÄB!gB¡8B!„Bq&„B!„âL!„BÅ™B!„Š3!„B!„âL!„BÅ™B!„—GœäÂ… ——r‘¿q———ê7OþöB¡8/…¼tù¥/} =b«B^zäoüÍ“¿}„B(ÎK!óþÆã1[œòÊ #Ïò·BÅyiq–—0 !äUAþæQœ !„âLq&„Š3!„Pœ)΄BqžfˆFܯ/ö> 1|n "rŸ<áFEÄF¥8BÅyùhÏѰ²¢Áé{]ƒf†f£=O-¢íXÐVV°¢™¨v_ƒkŠÿ¯TÐ}4@»V†©É2ŠE7Q®µ1Ýä« ñ½Ç¬WàÁ6œw¼m¢¶ Ínaá|2£>ꦉúàßQC¿ÍôÌ(CÍÐQ½åñu=TKFÜÿÄqfØϲëEí2ôRç±G7Úªý4ËFÜ—Kÿû% ¦Pœ)΄òª‹s„¶-åà9ç°Kž´… z­6ºQð‹ó½ªŽ³†v?@…z-TEyuÇ¿Vtž„8Ëuú;/Σ°¿.ÈQŽn<[q­>èv1¸…e†í ô·ƒ~" ð›UÕ-·ÿÌä9lŠäÓç°)êkÁD‡ð)ÎgByiÄ9jÁ'u­ì¢Q1ã(™n£ÖIO!:õŒ4ªY¨x=q¡_Óã¿%‘µx}>å4Ú&ÖkVàõ†‰¨”Õßl×…ciñû–ƒV0ÊÊtê(Zyµàxýìdu]TÌä=£„zg†„©“öJ®\%øÃ)q…h×légävš±®-5'ý´úÃ.Yw½†¾ún€v}ÖEùÓú©H¥ {µ$ÛÆ@µ;Dà™ê³åî,m Ñ´„TµÂ)™mTm"nš­*l=Ù¦]E+Ëiqö=Ѷúì6 å¾1³H|Ùí"’õÓÓv(£5mE Ë(£V1U}(wÜJn= ±žIÁÑr,!q?ªÖ+0ÌºŠžçÅkØóľÔsí/÷³Ø/å´O%ÛZP÷¥Ë6 ™^‰mS«‰ï]qVÿë®;°Mº&$°ì¡?kWª¾¢¡Ô g¼Um"úU€l•j–i‰ÅD©ÖÆä0H޹ä¸2+Ò.·aõŠC”QË«i¿Ö’Hw©?”›«Ã\IÛÏûBgíÚä8[Ña×:!žÕO¦Äy¶QÑE]½AñƒÖRÚŸ4Ñnݨ ÎÃ~U;/7ÄÀ6Þ—¦VÊ ÀÅ~oˆ2TâÁcáØ—un'ÛmY5L8µ¸½Ìú³œPœ—e|ŽóK !äÅgùºìvà·ë±xjäÛÃN,»V­…N§…FISbé y‰zÍDºt8nKœ#tÊšz]i4Ñt+ñÉߊå$g¡®·}tÜRüºÜQ'fy‚WŸ2TwB!—Â)„ØNä®î¹¨ª÷L4¦#“Bl;n%7£ ¯å#Å9lÚj»¦ã¢Ù¬£¬Å‚-OÚQR_ÓMNô~Eä͆Ž0 ˆºøå$äÖkMd+kM J&Î˧®Dý6Üjv4„x·T®€,ƒV¬§ÌŸ«t‡q[BªL7'‚B…<ò»JfŠå}n ιï%¯[¹õDí$åAE¯DÀ]eЮˆsÜÇôr­îÔ@¡ ΋ë¾TÙF2,úV®lê=ë&âœl/9~úU)¤WûÝP+Bêg⫆€ÍÈ¡vè²Ï]HÔ”¨E49¥8çe_¿Z\çQÏQQíª×AoêFÀbª†è÷a”ƒ‘J ª¨:Ž Ûšî'jÛbP[6äqןö1OœÕ ŠÉM¨òwbÐUtÿÊþ+ûG6ˆm)¡ga¥""¯v‰ZE”a”´W÷ÙßøøB‰óÅ¡ ÇÙÄÞa€³ósœŸã`{wÖv\ëÎOBœO°³ºFq&äF×u¼ë]ï*,òo/Œ8Ûíä’ö” ËÔ„ª¥^¬$¹ÃqzÅUq.\R¢§~Å9Ëw2SQâ,eoˆN)Ø«Á¼XVV )ÉRš‘|8‡ÔÓ›—D;¨èt*ÎJàã4‹z·²j›äòt¿¦>«9½‰4IIPÛí—Š³VÅRé㣩Gt¢Í…w¢t su±[aNœå¥mcæç´²sQvC›-Ç׊³VFê%RδYûAJNØgÅ‘ãÌAk3S5d4ØuJIÊ‹ËiÆ9Åq^\÷¥Ë6Õ·”hÞDœ ’KÛ,qVÛåñçDœ2âÜL"Ά•ô·\;‰}Ћ’Áä•ÅŒ¯òLçGíLœ¥¤ö[uT²T2~tUœU*H’n¤›°Ëeч5•J4ZÐOâh·8~Kæ$꿤8«´98¿ ¦JxÒ–¢.%]ÔEH¿lc5àSøX’GÓ;>æªzq@Dq¾RLi1½<ÆÞö.ÏS»>Æ]wŽŒH;kpïáb–8Ïýœtà3ÜßÝšŠj‹ïl ¸<ǽ­I¤{ûèr¡8_ÜßÄêævÅ6ÖV8k.öÅ67’×ÛðOŸãpÏźs'^ÿêvî!Õó‹£=l­Åï­¹bë¶/¯¯!ä‰ãûþq–{aÄ9‹FeXN5×e „À „HzU35ž–잺lº" ­®•Ç—§§ÅÙJˆ âœFœ“Ô åì-Ôœ\?Žo·Ô ÅëAÝžŒ„Í8a.g!èå8‡¶æ‡êÒoWµ‡™‰Ìh§Œh¦‘D¹£âzgDœõ|Ä9͇¾ j±×>ÊšÈ~œþ§ŠLö¡ŠÜŠ©J&¬âÍ[rš9|2cNEÃŽ OˆÕR⬶7%‡rú¸h¨r|+ÚM"ÎCý>Â4úßo«~Ke1⼨îK•-8çF4òjŠöÅ9¾Z1'ǹ'„´ã¬nΕ)QšºÊ!ë?=£Ç$B¼HœGaýôŽÆa€®kǃ†QQœÕ• £§‚$õ•Q[•ƒ¿ Ÿ¨m[M•úÔ”ÑóꜨópVç…ŸKxcGçbý—6¬í/q–â|çÎ:öN.Õ¶½Uõún0yíl«ÏžßÛ"íáè"^ÏÙ=Yw¡ÜüÜǦbïPˆôøÁÁ–’d%Î ëAyQçyÑæMœÕIKŠaÙE«ÓF3g[…Ó(±»Ú@ëÓ¿§9yiõ赜ä&±øä½Xœs9Κ¼©¬†Š™ËqN#»Ffä&²R;\Rœ£¤ÌBN:}1HÒI ùÒ<3½ÁÉɉ˜h›r.ǹVIrœm!D¹ç)q^œãœ¬SÎ"Ê |43n7y¿›s]´©×W£„¾”°X¶ 9ÎòÆ,-ÍMóS“èl’»jÖ|%¬ò=)hê†:% 6šƒèª NÉ©ÊñUë‰s`1ìÃb¤UdžúTqÔEÝš‘ãœæº¦7~ŠÏ©×j¤–\zoJŽÕ}Ù²õäå}ÛE/Ÿm>AqFnV ÏÇ@ÈîP <{­š[™'ŸÔ7í'ª,£,Ûrã¨l\κa|U§Û°TŸê‹³J=É„XNYš Z’4ž~4Œiñ÷~"¶*o\UGŸßO W ®8Æ„°ö†7çøø¶âc%ÍÁOÓœrQ]^©Rƒˆt}2ÇÙ€#ûD.ÇYõÝYâ,K=ÿv³¢¼2âgáïí`kcUE`u{÷ãè¬ëõ;›¸— ¹JuÖ÷q–ç…Ÿ“yÌB>óåñÅ)e¦KгX_T¾¸'_ UZùÚÙ¼G‡/Ïqž Ægî{XKÊwv°.>w? ?ÅݵXœ×—ò4¢Îó¢Í/š8Ë×¾[™Ì1,ﲯOîÀ„ÈXÉùòD¶«â¤™ÌP®£žÌR!=û:qV³j´å¬+S³-¤Ûj œ¥˜¨¸¹n,Îò¤ß„cNfŨ׬bd9Ê¥‘äBó Š³jØšý©Y5¦Äyñ¬¹u¦³ˆ¶´* t²i„Ü4'3Käg˘žU#’³UX“6*Ì*!­^2®¶­(·kk³o¶œ–Ód=Ù¬ *Íb2냒ÕÜì,Õª•ä‹OͪÑ÷r)=†(§Ÿô)!ßÉþHgóê¾tÙ’´£ÉŒ¥'šª‘¹¬šÇyR݃½ö`M¶œUC‹¯~L꟔³VÊf}ÉÏ$²0UC¦`äf‹‘}»™Ú£Ï²ž b£ܤhrÎðF M)·é%—9ý¤¸mÑ 3'à7ˆ8Ëß’ZÒþbŸ[m×ÊòšãÝÏbcºÁT›æŽ}9#J+7«Æ´8Ë6Énv¤8ÏÓf”u|àž'äqމɓ8eazYõp2Ήó¢Ï]ÃuÖ°7KŽ—ggÃÇy^h§_§â|q”¥[8kØr7Äÿ¥‹uz«XÝ9ÎÕû÷7ãTÅõ¥ÜòNGE›Ÿ½8òN1DÐKS0R‡)Å—÷Ù8³Åœ¼4¼Pâ¼·vþùÔ_/poãÖd$ykÎóéÇrú¸‹8=bq^ð9q^u°}œ‹8ŸÞÃ݃\¼#â,Êå:pÜ{H'ÉG’ÏögDœ×Óˆó¢úBÞId¤yQ´™âL^^"´KŒZ7ž)#ê¡aMç(Š3Åù™‹óÙÁ†Êöü#gBÏî»X•¹Ã2'"‘Êuï0–P™Ÿ,dÙÙ>Œ5Ëq^ô9!À»kBrïâøbœ½·¶{¢rœ=!Õîý3\ŒŸ”8˲ÌSNnê»<Å=9SÈ ¨1ÂÙ6TŽó¹ØÂ%N}7—㼨„g Å™¼´N´Q³õ,£ð`Bq¦8?â,£Æïa+›ÇYçÆ6öγT†ñùö¶Ö’†xF uÞÔ¬ó?uÓÝ=oSy<ƒÆ¦w/ÉU¾ÄñîºÚîÕÈ÷íS5ÆÁ¶U¬®ma×÷±½*ÓOTæ6Îw±¹×wÝõàŠÿo%9Ø ëA¡8ByUÅùä"ÀÉéÅ$ÇYݼ¸Š&1Bq&„Bq&ÆÁ®ÊcöOeYNU·UÇÅ!s1¡8B¡8“<—8ÙßÎ޲º¾ýcZ3!gB!gB¡8B¡8Sœ !gò¤"ŒFÏÑzžò‘ÛCvòÊ»gB¡8?ÑóSíz–^|"à;9uØ•§žå‘OûÓÒ§>Þ‰·ëèÙÓ ns‰õ<ÉÍ?0ðÔSñüDZ^±Ûpâõ=÷S  ÑwKÉSåt_Ûbýþ‰uB4L •îè™ôÂ1·èxû3Å™B^VqöP7W —èôCDQ„ Û„c¬@«´ñNÃGa~/œý0Œ'(Î’öDÄ9¿ž§.Σ]¿÷XûB®ÏÐqõt»<¯B*„­nh(µ ‡¯ÐüÆçùÇÜÂÁãóןŸš8¿öÚkøÊW¾Â3)!ä•AþæÉß¾gEàšX1êè¦Ï™*å:ºÉI<꺨ˆ“¨ŠHë6jíä pâ„feÔk%˜†M>è¢ÑM$o„AË¥ÇßÓÌ ÜÞp†ÄÑs+âÄ(#Þ&Ê5ÆÊD †}Ž•â,ê®úJ²_ŒRþ3xÆûSç0 qzzÊ3)!ä•áóŸÿ¼úí{F!.4­õkƒ6a áR7Ÿ”â&_Wå5tuB[í âüÙ°…’8YÖåÉ0j‰ÏÙðɉ·Y'ÜÔ[9qŽ:eq¯¡“’7@«"e!ˆ¨²–r³Ÿl»K3Ñ+‘â,„P+ imx5òjÄYžpU=Fø U’¤ê6B¿.h¦”ñæPH§#¤­œ´Q+i#?PÇÂP¬«.Êçôâ¶ïŠzhvCÈòHõ¶#¤ÌöÌùn\Žv,À²ïŠ6ÖDˆCÙ'-¨*,Úç ë.ë#Ê`‰2©úôáÙòñâ¢Íõ×éñÖcôû[·uÚÓl§29Ôqn ª}ˆ¾WRòªÄyÁ±|5J=§?)q–ƒ·*ü(8ÔD;–f]Ùšqe1Äzƒ¡hžh•äw&ן‡~E•KUOJ´¨»^í=õǼ?5q~ðà^ýuÕùß|óMžQ !/-ò7NþÖÉß<ùÛ÷L'9CÈ@s±¸‡ž%,Ÿâ NÎò„WéŠó²<¡å//B0Ä _ž‰…Ê“©Þ„ß/FÝ&⩤éùp“Åx¡#ÓE;¡ÊÜG%)JœeDlÞ5Úâœ_—)­ä$†Q\Æa„ ×ÊEÛ§jÈ›îÂaÜ.Ãp¿afÛ¹šÀ³Dût†3.?ÇB¦;=\Ìç¨-…Å+´G0@:å¢rÌçÑ .Ä»x |Øò¡×п‚–o_Q¾ª‘Q÷y¦Ã®]ÊÕE²ŸòQÒïãhzçÅyÔ…£M寪ýfBv™Yß•e.§ÛJ^;iºA­MDs÷ùhAÝUù¦ú]4À@ðÂþZÔæÇê÷·nku äúO"ÄòHó¨°O“öXp,Rô§‘g z®-†¾<ê¹HœÓc5÷;#7”ïÏ=Ñ+ª^½ðÙån¼ëinLž@äÉD^º”y\¸páò2.ò7NþÖ=3iN"έ¹ç¢h8‰® I‚ЖÂ6¢+ò—;¡Éór¯‰ZÙLnô2Qq{„Rˆ¤¹;ŸØ9ôQR'ú #¹Œ^\´²¯¢‹U]œ0û£‹sAb•€YPãuy»_6×MØå2¬•dp8O.©k0¬*%½ Îz¹››Í"BÛÖâÁŠJs©ÒdÏ„Vêà|Ž8§ï—,Ç\q–R3•ª£>+¶×=Ÿ´xÀ4_œ-ä=pÔ¯©mö"±?gìCùt#%¿Ú”°ýÿì½ÝoäØycÿ¹/ ؼ"°ƒ08³/è}Ã}SØ®‹³k /¶P’RUá”æ‚8ÑA"øÐ8è ¤G•ƒ Ž1®¤cW{¢²GS#;¡gÚòP3q¬¶zzžó®V±>%ukfZÒû Ö´ªøµ¸Ö*ò·^>kqÎTGåJòÜó]i ù¢'Ü`pf±X¬»ª´G71«†.ݺ9Ã`rVHy½N4áqöÂtî mΑ¯|™ýDGD}é)Ñà sèÁ4+h‰^¦<™#¯§ôLçþj±¸ƒªÄv|%p+Â{Ú#àÈ–‚³ìˆDª¶Ëý*r>¹Ÿéò« /ªd(F‰ò,Yc/·ôUw"åm _«§ÊKû6íFˆ8Ë}¬ª³²Ìã,ËC×EÖiYíw–çCÔ…°´†Éä£þ‘'5œð¤Zy–€KÀY @t}ô“Lï‡ÀG†E3åeuµ'XÀ~“Ê›`J•—óÈãìks$=Î%gìq~Yp^ZçKϽàqÖ¾ëVY{œ—µ×it~…vÿÒe½œóñ 5ÝV‡¢­æç%¿åÉv°¤=ázà<ñ›»"8K+Ó¨3¤½ØTÇCg‹Åbݘ’/‰®[W›“ó8 ¨«ä³jXeÔÛãY5[5ÄHüÚx~hKÌb͉|  ôèF,Ö³Pi4&¦åJúªŽ1žc:ŸµãRpÖLO¯„øé2«FÚ‡_VÇ S£-a(÷ ÷3<33ÔTÞ t,·† ­æâ’U…WVŽÅ,­ÁxV »d£FeoŽfùˆ®6«†]˜Ý@N1±<¢¬|×웃þì¬úÜó9¼ã¹ó=_q6àŠ™òzl†…襞…B[LÊ_>›ÂrpV0Ö®é2³=Lͪñ²à¼´Î/;w=Ó‡9š£3‚³…íu¾l»é²^κmå¿s»Ú@Í6 ³jÌÿ-Ï4…EíéZà<õ›»ªUCØoF3°èßÛ—0OÝçÎÏÏÎðîÎÞüoÿ ßÿÊWdú_¿ñøöøœ8qâtæ×ÆÝÚ‡ÿø ø·±O²lîè›x±Éë¢×þ¥*wH\Ö¯½nœ0ÿèk_ã#'Nœ8]3ýÓoý4ƒ3Ã3—õ}çOŽå…Ÿo€œ8qâôòID Y Î s ά;ÎÓÐ,AÆñ2‚"Ò'üò‹ÅÄuñýnÃßÿ}|ç×}âú)žÜ±X,뎂sÑž!nâfÀb±X¬«K4Ã3‹ÅbÝqpž¾ØócF‹Åz9‰ëgñz*®¯,‹Åº#à,7/òb& ‹Åb½¼Äu´x]e›‹ÅbÝp.^à…§™Åb±X¯.q=個ÅbÝ1p.^ÜÅ@@‹Åb½ºÄõô~%2$qÊ €ÅbÝMpæÇ‰,‹uóš¶ÁÝ% ÌrŒÎ,ë΃3‹Åb±nN÷ñú· Î,‹Á™Åb±X_ìõ5C¯jÀ®ÕQql8¶ »ÒD˜Œ0a³Û,¡T¢d:¨µ#È×.D>«‚zÕ¦e¼0E:h¡æZ0ĺ%í«—äÇ1aרÒq,Ó€Yn Û à¹ôÙ uË>9 '=ø´_¹ÃF¥ÙƒØM6hÀ.©¼˜®a¶x]Z÷*tnõ\ʿሸɰX,g‹Åbp~yp@ì¡«w軵êMwI§ êkÎu*0ŒªzÓ³€X×ï#Žc$gâmfÊ­¡ë´¦]‚íG…ãÔÔ¾²¡\V¢}÷ôgߦm;âC„À%ö:ˆè8Y¢NËÜ–ÂÞɈó²u8«së cÊ#ǨY,ƒ3‹Åb18¿jĹ©a’–Q6´9§ âD-É’ƒN VÉ…â[Îúo½¯„Zâi–"ö$Ôšõ-QÇQy4Øj '>KÈÖûm'ã\J€·UÄxœ—®«Ày|L‹Åbpf±X,çWgn‘<³ª†…†ðAh„Y*Á°”+.Œ"8ôÒñ¾†í\Ë@É0a»T¬Ò8}Ágç¬ïi«ÇT2kèg“à¼|ÝŒ³X,ƒ3‹Åb18ßDÄÙ*FœãÃE;NÒ2£ÚA”/,F™§ÁY.³ÑìçNÛWŒëƒó°)÷YŒ8Iuö à¼t]g‹u§ÁùÑîVVV°up>úîôñ6V黕• ìßÜY=ƦÜo1yXÛÚœӋK7??ôå6ëû'ÜBX,Ö-g1¨®‚Ö`3ÐñLSáqNÐ)—`z¡l—Ѧe¥’CP= ÎbàžEËIÙ’^ŽˆT×ú×géwvÄ ¾®öt€ ,¾+ó‘´]”lÇK×ÎÕý°‡!ÛY,Ö]ç³'Ö>hžçuø;‚ml­i€^ßÇe8|q¼»gÜBX,Ö-gf¥&mb& »êë™0—¶Pµ ù½i—Qo·á™êƒlŽU#AXw¥­£dXph?ßá¶iÉ5ÀY(ѬأÙ9/@Ùn¡bŽ­‹×ÎInÉTùg±X¬»Îg‡°¾šÏ÷á¯{ r×¶°ûäTĦñhSð(|~_®³‡ã‹à\\v~ˆOìc_œàq°©#Þ”V7°ãÓç úêØÁÎ<ñýn„ n;,ë€óÄà@‹ÅbÝ.pÞx`CÃêÖ£©ˆîÉC¼«Ìûû6°îýž=ÞR0ûðDsð¶„Øµ½ãYˆgBïÃ] ë>DÐû4Üû[ÛÙCøp[ª·$TÏg±?vàaÄØÌb±œY,‹Áùs牴¾‡"ƒžì¯+ ~¢€úâd_ÂîêƒgO°%¶ÙxˆSœãpÇÓè9;×ã¬Ò8ZL0~r‚³ó3œDO°·1ŽhÏgÛçÜbX,ƒ3‹Åb18Q༉ý£c<ò•c}o ²GÁê\Ø]Ù: T>ǯìáñ!‚Õ%~å óv‚v÷ñèðt¾8}‚Ý­µÑÀÁÕ••ˆÏç5ùf±X¬ÛÎ,‹Åºõà¼ùXÛ3NÃÜîʰóŽóˆsáää'ÇG8<¤¿Ï°ž({ÆúŽ/A7·m,çyþgµžh~p â×ÇÛÞ%ç‚¿šÅb±œY,‹Áùóçâtt9(¯¬ï*ËÆÉ¾ò?¯úØ Cìé¨ôÖ£SµÉh€ŸŠ;ØϪá­Ãß?ÄYa?#;ÇFˆEÜ|98‹)çBl¯«c¯nlc7û«œY,ƒ3‹Åb±¾$p¾9å7ÂS®=‹ÅàÌb±X,çi=Âþî¶žRNMÇb±X Î,‹ÅºsàüÙg¯–~Õ÷ñ»ÿcÿãw7ð÷O_yœ8qºÛ‰Á™Åb±X·œG72¨ôâ³qÊ¿ãĉ§WM3ו[Ð Î,‹uÀ¹Ì/ ÿ~Jÿû´ðïóœ8qâôòI^O¦®-ÅëÎmhg‹Åº'à< Ìù í‚þ'Ò3²ç”>Õé9'Nœ8½\’×ú÷â…ºÎä0= Ð Î,‹Åz­À¹Íy„ùBßÔ ?½ø ç”~õì>~öÙ(¥Ù Nœ8qºV’×úW\ODzšƒ4%¦ëÏÈÂqË"Ï Î,‹uÇÁ9¿1 YG™s`7¹³O^à—”>xú)NÏEzäWŸâ}Nœ8qºf×q×q]×q×›l žo[Ô™Á™Åb±î8clϸÐ  :Ó°,nv?ÿøSÄgÏqü‘JïþòïŠ9qâÄ骉®ïékˆ¸žœ|¬®/Òuæ,{!Ÿl‰ëOnÝxÁg‹Åb½nà\´gˆH³¸y}DМœŠŸ¥ê&}ø?>½À;É3¼ý~ž.pHÿrâĉÓUR~íבŸ|pAו y}ýÁÓžEäù™ç¼SÏàÌb±X¬×œóh3ýï™¶gœihŽ š¿ýã§Ø?ÀÊ߼ʷ~Á‰'N7žööö¾ôôÝï~ï¿ÿþç,‰d|ã¼Êbº/s1|9JßÛÒí?÷çâ À<Ú,¼†>}!#ÍšW:ïã»?Iñ‹SœqâĉӦ>úH‚ëÏ~ö³/5à¯ÿú¯_ ž_œ3ô=¥’¯ÿª7ª ÃV–ᢓ¼F·à^…ί;ˆn´Ñ©W`%™ÿ’i£Rï`x•jÊú¨™êƒW¨Ól€†m£1¼9€‰Û ·Ñ<’ŽK·Ï«³° ÃÍic½ª»9Äk‰Uqž­êËy¥ö–¢ç™´U:ËÊêµ8íQ½ÞDýÜ®sÿBÀ¹hÓÈ£ÍÂs(|ˆøð½w?ÆÓ§OñìÙ3<þœ'Nœn4eYöZ€sÏ"ò|7À9AÇÐðzs6 àU«h„É-ºí¦è×L”ì::ƒq#ê·Q#(3½—oœûðhŸ8gqa?ž X‹Á™ZÙ D/z=Ãài·Œ’Õ@?N‘f¯Vÿݲq Áù&êgòÜ—µ“ûÎÚ¦!¼Íb”»ð O³x„* ùÓO?å§4,ës‘€çל±¿¿ÿú€sÒ†[*Á¨øhVm2Òé¢ÞÍoÙ1º2¬< j8¨}ºÕeÔMõLùþB4+–ÚØ¯]EÐO5©H°ëûðC-w<´£l”·¨Û@Ù2tÄÕ FИô|Tm½Ì*£Ñ]agqSù.£Ù¬Â1E¾,”›tšyt×Betœ ö§×SËÜzq~ 8D£lòeùw¹«·Ž»£å%ÃFÕï!të0é{³>˜“ï-§§Ou¨¬j-äE”¨Sà˜³e0 ÎI~^Ÿ”Jsœd:õ¼N X¼iŒNų¦`V XB¾Ó.*´_˜Ë‘ç6ªóAº<âœÑò•?:zݦNÃ%çl€ºeÃkxpm ¦a©uÐk×FŸÝÆø<ÓA 57o‹”ÿJ½dÝo{:ÏÔÞk*,»¡£û¢ Ð>u0ÝÚs:iXŸ³U‘lj6*~G‰¥¼×DÞE¹‹¶Ù˜lQàŽòiSûˆEYÙ54Š¿Éθm,lsÊ/êÔÇ¿©•Q½«ê@–§…j~¶CÉF™Úz”ʽVGűå2›Ê/ï‹.Œ8Ïm[Ëó1÷ÜG†ƒÖø÷hÒo®¥Û–jO *#–e˜¸nÝ‘ˆ³g1“†˜ECŒv8_\\ðÅbÝ pIäåugñ¹âwvp$ly‹Ó®‚P§ÞF·ÛF³,¶u˜2$ýjr™æ< ™κsÐéæy¦D7Ý“úì¢ žj–y®!h¨»yÄq"®ÚÖ­ùšúürp&kÚ <«ÍMÏVë¶âQ$¼BRñç?ÖŽÛeÔ1ñ¨ìºýá¬o<é¬R=µ²ã’ôšp ]à,òI è‰lì× æÜV$ëÐ ˜t"Eo ¨uÌ/‰8§=¦ULj˩]²^T›0«yç"A("ç–çƒsŠ­c” U¢³Q³JWgSÔcGA•n¦§A0¦¶Lå'«]B¡rK—uÚ—ucû‘Žî[êøI^>%9§žöjá.ü¾ÀB7êf ½9AÕ¤KËœÖ8?ï^{¨ëÇ—ŸkbCÎ2ï’q<ÇÏ;q–¿+±¯,Ű%Ú†§ò°¬L+ h™ƒ¦†Í”Ú Kû•ídTžm˽mê<Ù²}Šr¿7ÝDw&|fYí|p^Ò¶–åcI´=éVé¼+ÔK4DWägÙI‘ed£¡;æj]on=Ý:pΊ) „¿Y̯úïÎGœÅMÅb±œ¿DpA‹Š|æö 2*ká *ØæX5è&G Ò4Æ0 P‘'SWΣˆk¢<:6嫦 »ÖGM»Ý†Q  ´¢#»ˆ| ¸ó¢·óÁÙ†d&m•Rá8ùq 5¦I„8% ‰úèÔUôØ'H`$;£h˜…œóˆ²áõGQF&¥„yJøµ \™³Êu´‡yô–@Áö ûRÞÐzGà,ËÆE;)2·¶B3í»Z¤‹dˆ¡$ì%V ±+sªw:y‡ ÉfÆC„M{”Ϲàœõà  ,ØJdþœ«€3c ןU§fAUy¤ú‹cÕVE›ö$ÄÉö’öäym-¢mœ©#P1&ÛÕ¼2›ÎqàÚ†nÔ~ŒjàW€óü},çb],»†ªÓ¥í`Î~ã8Ñ¿·DÚª2œ­Âï-ï ÙM*‡9ÞeÊC™àWTû\p^Ö¶–åc!8'ò{ÕÙõØê÷¨Ê¨Ðfĵ̘l÷·œ?Uoó³i³˜2ŠÁ™Åb18¿à¬áf†Å£×š;²^¨Gù½bœ'U©ÇÌ“à<´GU•àìËÈe¸³c¬@jE[H!•gý¿óÁ™n¨ñÄ$Hs¸1%H«(œ~Ô¬÷oêè´¸QgC ”îÕîœÇõ©¤£÷—WÍÔJÝ&•½QE—:æ5wÿF…Ê ÎYß›¬¯<™5ôϨÌÅp¼Øã¬: V­OÜ#*/Ï¢mÀ€å”Q-›ËÁY@àT=‹<›Wç"èÍý<gi·j‡¶[AÅÒ- ¡ Çl\×V¼ã8›Üv¼œu´µÐ6TZŸ¿çÉÎÂeà<áqåù’v0S|Âj¥-I¦ ·R¡Îu>t¼n9(r©,S´WQî&sB³qÛ™ÎËÚÖ’|,¢$ư×AP³ QãiÈîËÇÑâñn'RÖ…†5 Îù rœóȯ¶fHfo£îÕá‡t õÕqËí!¢˜>ûèõ”¯«Z5òjœ£YpŽ5;~_Z%RqŸˆ8çæežÍ9ç.†âq|4D¿×Ç0J.è$÷mK ÌäÉ„¨*.!Ì™06ŠöÁYØMŒ &lÊbš¹$YŠQAQÎ~«/á{Ùà@¹_«†NK<²×-UwƒáØ‹^ˆˆ.8z @oœeÔÝF³?r<#É©¼Ega7šœ%BG¯çK1âéˆs2q6 çeƒ7¯ ÎXÞ¦›•¨ ª³0—‘ˆ|ÁÙœ$,¬Y†ˆ8ër·Šå Ú¨î0-Š8/j[GËò±$âÜ™qö ç{Îi¦fÔo÷/7apf±X ί/8K \ñÑîvЪ}»9”pkM´ßù.‘ˆ°VÐ4¶==øª¦üÒKÁ¹àq6Ä`­:ªvÁã,<’2Ú]E³ÕBSd+wâ›g}¾v#ÄpÐEÓ)Fc´´ÇÙ®6Ð(Dâ•Çy : ´oÏo¡ÕPË =+Ær3•»ð‡[‚î@wB´„OZ”_*)e#÷Ð (é jê¼­Ôañ1Ъ«¼«ÂkJbT»tF>TÙ3¢UÎ=ÎÚNЉÌÉýšÂ_›G%„ÒçN>#B—àIÔSSú…yœûÂÂàúè=ÆöͳjKÂï¬mÂ,ê¢Ö—¾å uÒCÃ{œ1èoä«¥6Öi_s:5SàŒHxœ-x¢ü g9Ðò à,ÀÞª÷”Mh 8/mÓ5&Ú3—²k¿¶°<éäĺJõã)‘Nlݺ—n¼’æ œÛaáÃàÌb±œ¯ Îÿ×ÎÁ¹Œ¿:bp¾—M7'¦ç Ð ¨˜ªMt.žÛ#åÖi‘Oúh:÷œï/8ï®aeeO&çƒ>²…•µ=_sšè³Ç›ð6Bœ~éÕpCßÃÚÞ1x¦k‹Á™ÁùËW:lË—jŒf2°+h†1Ìmcƨƒº«gj1¬Â‹?œœï 8¯`ec’o?8S^¢žœs‹d±¦dš&~í×~m"‰ïn œúæ_Áÿ£?ÀüHÿÿõ?æàü›øß×òïÿßøÿÞbpf±X,ç[Îë¶WW°±?ŽÎNƒóÙá>üuOAöê&‚Gó#¹Ep¾8}Dûõ°õP¯{vˆ=žØ‡·ïgâû“‡X_ÙÀÃmŸ†ð¶ãìdë«[¶7±¾¾Žõµ ì„…|F!v6VU¾(­míáPî´q¾8B°¶†` «´Îúƒˆ£Ð¬{­0 gÀY|wSàüèþ·ùsòN§ÿòÿà-g‹Åbp¾Uà¼u€ÓÃX[YÇ^t1 ζ›+«Ø&X>'ä<;Üæ·ŠÃóÅà|ú;k6÷5¤^œàáÆ VwC/hy –?<˜Œ–mÈ¿%6Óº܉€8¯¨×û9£ý®®!8;‰ð`­æGØ]'0Þ?¡ÏSàLÏžâôŒ±™Å*FE›_œ¿wUpþ¯»8bpf±X,çÛÎçôßÑ}Þ…`ç"8Ÿ<\ÇÊÆ£‚ýâуUQ±Ý,8¯¬úð×’ƒÃÑò‹ã=àM<:›‚ìõ}Ht~$þ~(ÿ ¾Aûx"Öàìù88/{üHÂñ°\tqŽÓãCìoztÜh8{ðضÁbå*FE›_œöÓïá;ó7ø‘þêøÚoæ°üŸñG»ú{Jßyë§lÕ`±X,çÛÎ\±]{p„Ó8+Põ¶'ì ÂJ±²ùgóÀYØ!¶¶WwFÀ{q´£,Ói5ÀÑ…Ü[Þº¤x²¿ŽÕÊ8¯éu´Äro뉌~? °¹&öµŠõM[Øçó*‚#Ž4³XE‰Hó²hóKƒ3d±X,ÖgÉÎ"2¼Ší`}yÄ9Xqö6âTX36ÇQç‹ã]¬y[xRÜàBØ&ò/ÎðdËÃÆþö×éø¹ DFœ·TôYûpg•ö{„sÅ^ÇîQ¾ð¾·œ#g«(i^mfpf±X¬\âõá)ƒó$8 0=ÞßPÑà‚Çyƒ`zgÚã|°Äã,aYø“×ð@ú‘±'üÇÁÈ™ïÎ#<$Pö¶ŸŒ¢ÖçO|¬®nPÚÁÈ>­=ÎëÆÕ±7<Ú'AðEô«bP¡Ì¤^FëzÚÆÁàÌb½º^œßÂîWÿ£çßüŸøÎ-JÖ÷`ú·lž©™7…݈R„â fò-ƒ³Ñ÷Lõ:êÛçM2˜Wúº/_IÑ«ð4c¯V¿×laaÆÜ׉ßä©,›Z®øªÀ½%ôËi›ŸÏï˜ÁùÁY/ö7V&gÕ8Ø»ö¬22½+"× Ùùô»[kÚ²áa}û¡ü~¤ól{+2š<Ú·çuììl¨íıŸèågxò`SΔ±B ¿±½‡GýÞ¦ˆŽ38³X¯8ßlbpfpfpfp¾á£`Øëax Ç-Æ— ÎYÜGØï\ûã7¾¬Øw×T4Epö¶ÀãúX,çל£ŽUA£V†m™ô½ ¯ÕC§‘vPëÄ#Ј:u”-CÛVL¸õîd‹/•0öiÃôúê™ÅèÒ>-¹[5@?3öÇ4ô FªðõŠœíU†Øé¢ÞctÒóQµuÞä2 ‡Y5ÓB}ͦIÈ-žƒéÖP—o˜›Vé %_†bès²*Mô’)pΨYT¦uuîvƒöµ´,b„Í lS[ƒL*ÿv4:~6¨üÕvŽWGÕTp"_m51e4A·b™wÎfµ>*+«Ü@7.– ®>¾(ƒöpÉ 2juTŽmæóõ“¶KÛÖá9t ³QMé  Ïú¥#V®†'-µP­Ui?ŽÜ×Ä I’üªsôÒ™*‚AzýãÜTýêüz ®mÁ4¨*y¦C´1ãìôG¡Õõ©—®08³X ί18‹›©(ÈLºy-·"ý¹J@VÇ ‡lé¦&„tÀ%x–@ª#Lޏñfr}Ÿ–Ñ W‚s†ACÀƒ¸Óºi„«Qé`æMÕI®á"7dºQ·D´N¡¸É X÷ÚCº—¤jG/•¡4ÚN/>N‚hñ¹&^œ§Ï¡×„#aXIP!hii8OûòuܶÍ‚³J ƒ8Fœœ-- Àu  ¢£BõaTŽÎÑBM‚`ŠAP–u%á$é¢BË9ÈÈÏZñ8»ÅKÚ“Ñêæ0¢ýÍÑÛŽç€óÔ1«:ê-€Ö”(Gkî~JHYü¨ð­SGLµÑ±õ‚ ×)£JçVç«çô¦êwôUÝHpm’ê²è‘ ë,±jŒN<^RþÔ‰ª›cë“ú ãαjˆˆo»êÈ®RAS{hŠà,¯óÚ¢Y£r¿nÞ–·Íeà<û›fp–àü)ý/£ÿ}œ½@rÎàÌb±œo8ËhžUSƒBôT€³c2â<EœûðÌéÿ…èõKÐMx¢\QWø2-ù¨}18+HŸˆxI˜1uÄYÃëèø*zvyÄ9GE§ó)£u6šýdbŸóÁ¹íKËBEjÁß«£‚2âÜšŠªgCñËFìѱae³<ÍŸ k…(_œ¢;3pPG^g½ *ZÛœŠ\Ëýä@;ŽŽJ`s&#à£H²†>¯q–!qV¶a%JGÙu§Àùjǹ±ú]ÎyĹp.IwYĹXËË6âÁ·gÁ9‹ä£é÷Ôó] ÃSà%pþ÷³ç8:½`pf±X ηœ%œŠˆ¦¶mä>ÆJ˜NùGéþ7dd5÷8÷EDÊm¢'¡;A¯Iû2ë³3{°HOª–tàK_µ`ÐeàŒHy,½N4áqö”9XFˬzˆ8Ëkoë<³ïÐßPúisŸö<¬´¦”D¾”;÷ËÒKºœ—–…ˆÓñ¼PÁQ:D[øé82à i'’ÇjëN„=†Î¡Téb>{hïªUÙoú ›Öï( «0©¾ƒ‡8¤ÑÜ'ÚãL붤å^í‚ǹ´*ï¹] Ò«š:’­á¸äúè'ÙÈkëhKE›:gz¨ð ×…gX„¼Þqn¨~—³(OY¿â\rßpiùàÀB'fiùË6n£*ñ°]ëqV>ù¼ƒ«Ç è§Ay§c¤ãò¨wUG- (‹Ž›h;×ÌÛ¥m“ÁùZàü‚Ò§ô¿gDÏ¿zö<ý1óœY,ƒó­g1@Ê/«Gá†)Fà·Ñ*o®RjÎxV-Ë%‰_z>“ÄòÙÄ#r'ŸU³cèŠËÀY|$¸©ä³jˆÙ Úãè˜xÜ_µÍÑ,­ºMÀ0;«Ìù9Š™AªÖ‚Gù º«í$œªŽïhÛÀ2p^^Ù°¥g» ²³Å9´e9ß^tòs³*ÔìÉÇá"ò/òTé.]¥=Î^MΆ!fN±)ïý‚ïwÐÏœ0=+ÅtÄÙ¬Ô¤…AÍòàëYEæ­ø®Ouàèú)Îà ý°®˜UCÎaѲP׳ YSß[TVA»ÛT&¯uœ›ªß¥à¬ë·¦·5]Ôå+Z5./ÿ¸Û@ÙÔåMe/ƨŽëä¬]1«FÞ¾è<[yšà»b–Fh¢_4+öhæÇËgx¹~Þ.k› Î×gJœÏ/>Ã/?y“?Eôásg‹u¯Àùøøý×ý¥‚óç"ºYúQa~ØTz`y¾à/XÂ.¡¡òs®ðÙÁ/½««½¼ãÞ+ ?L&Ê­1eqaÝ%p¦ÿ]8?%p>ûDͬ!|Îøðäߟr‰³X¬{Îøîw¿{÷ÀYÇ·ü+ÿïûxóg™ŒF³X,Ö]gÍûûûxÿý÷ï8C½œA=¶×¨[C¤Üü¾ ª©Üúè%$ Îw¯sÔªjVmÁúLÍwœ…>Ãx€à³BÔYÌ®kx‘ç•ÎûÒºÁ‰'N78ÙIDš_š_wpf±X,ç›ç)»F¦½Îix‘çãžKϳ0øNòLNU§Ò…|à 'Nœ8]%å×qùÉt]¹×1®âƒ§/p–½wщÿô³qÇþ¶ˆÁ™Åb±î8¢Î9¤ëŒ€fÑiן ΢SÿÙ-"gg‹Åºà¬oPù yäYD~„çYô/5D‹yžOÏ_È7 ¾Ï‰'N×Lâú!®#âz"®+âú"®3O54‹7™ŠNü‹¼SÏàÌb±X¬×œ‹QçS¶gÏÇ-"A" -npyJ³œ8qât­$¯ô¯¸žˆôô¹ægSМG›œY,‹õ¥ó?ýÖo.ìé~4žsÛF}–­S¦a:ËÿæÄ‰§—HÏtçüâFÖŒO§®C· šÅõ4¿¶Šë,‹Åb±î8ÿèk_]ÜßÝÙ™X–GwŠ7®<ýiá_âĉ§—M9$¯-ÓÀüÙ-›S\Oók«¸Î~ŠÛÎÌ›ØX,‹õ9‚óûÝîèâþ¿~ã7ðüìlf"@-/ ßqâĉӫ¦™ëÊ-f!q×ÓüÚ*®³ Î,‹uÀY¨h×ø×­­…ë}ö'Nœ8}qé¶J\Go̦‘ Ñö˜ù‹JUXvÃl œ“üª^’aW Ô+M’ŽKë5Рå–e ýÔ»ñèIÏGÕ1ÕËP¬2¡^–Åè6ʰä> ØÕ}~K ‹Åºïàüá?þãÄ –ø/þ‚K•Åb±^BâúY¼žŠëëË+E¿fÁ($‚cCÔm·Óàœ"¬š0«Äò…n °†jÎ¥’†¦Þ¤[…axè¥r!*†‰j[¼90CÖä«‚;I†AÃF‰ =;M#t<‚î G¸Y,Ö=g¡áïÿ>Ã3‹Åb½‚ŠcFD×ÕWR*^Íl¡>¿Þ8 +0¬Ùˆs–Ĉ%gHã!¦€^QÎv ÿVä܆k¸h'bYFqás4"9 f¨†…sÀ¡í:LÎ,뾃ó¢‹~q¦ ‹ÅbMJø™E á;¿þë×Ϙtp´Æ® dƒú\«F:àI»…Ë)£Z6'ÀÙpÛˆ'ö«À9 lå.fiˆ²¶}L&þ0ãŠg±X ÎBE¿3'Nœ8qº~º±'viUã çl€ºY‚ Gœ´Ý+³\6qNÐ |tÞùGx¦‰Z¿É)â8c3‹Åbp.DO¾ÿ•¯ðÍ'Nœ®™ÄL7;ƒFŠ^ÍTçTØ1zh8s<ΰ T: ³¸‹º%ÖkÊõ–³ø»l˜ð:‘ö8×ae´ã ýºEÛ5Ñ“Æiꦃ’Y‡dé,F?ìaȃY,Ö}çÑåúG?’§?râĉ§É$‚ ŸÛ¸t€ jÃÈgÕ¨¼ÚÍ)«F†¨SƒcÐ:Á–[CÐnÀ6«å¥à =«†mŒfãð{zA¡SÏgÕ(Á¤ý¶s›†ØGÉœˆ†³X,Ö½g‹Åb}ÙJõz¦ŒœWË0œb.‹Åbpf±X,Ö“Ñ)°ê=$Ò-ÑGÓ1`7‡ì3f±X,g‹Åb•EÔ]ýrÃB¹ÞAÄÔÌb±X Î,‹Åb±X,ƒómÒÅ)NιX,‹Åb±œ_U§!6WV°²âaûà†óâûëbŸ>/èóÙ#uŒÍÇ8»dӳǛ´Ý 6Ï_óüЗË×÷O.=ÎùѶ<þ!“3‹Åb±X,ƒó«.Nö×%ˆÊ´ù§7²ß3?Ü‘ðºúà'·Òß9CžéïÖ5ižlËõ×öŽq~¼§ p#À~ø6µÝCìRp>Ã_Á¤¿û÷¶±ª¡ô¤Î++kØÞÛÇÞΆú¼¡–_Ùªqz€½-OAs°G¶£óÑ=óÃñù\L– ¢Gtì½=J65 ¯=8¤%”ÿmO}€ÝÛX_QŒ}Aß98‹õ·âÉAˆ5u>»ùòu}~»tŒmÐ›á ·~‹Åb±X¬×œÏðx«tçØ€èmcduο“Ùx×Gè󳜞_àìäh|tvyÄ™öuzr†óóSìcKF±DcpÃ쉎þn <½ŽÇyŽUãì ¶4„ŸîxSQöi]àx_ƒü¦¶œ†Ø(€~±CáíP§cΛPnÚÇîšÎÇ.¢²£àíªó»8B ¢öëû`tf±X,‹ÅzÁ9@g'@ìŒ"«›NGàx¬*¸>x¤ 3÷A´> 6U´XD_WW® Îg‡ûð×=mUXU–)p–ûQXŠ_åsÈõ•Ày´/‚ðãÃKõìÉŽ:¿ÕäNŒ|·ÇQ꓇*ê,Ž;çm•'±¸óƒ­Y ˆ,‡]ð€Åb±X,ë5ç ï­Ï¸•I˜¼8Þ•– o]ù·žœiîVнCœ à}²y5p¾8Ò>ém<>>û¬§Ày58š‰8?zÙˆsa¶<:¼¾ãK^8›Å D5ÛȦ²`Lw8æDœežspöæƒóÅQ Áû ŽONprrŒÃÃ#D'g`nf±X,‹ÅzÝÀ9·†Åi4F ºŠQŽqùw“6Ž“‡ ×wp=Áî†ZgCìp)8jKˆðèG¡ö8ëˆëØã¼Š­`»Ûð·T¤û:ÓÑåpïmØ{2]¨À]û’ΛFDÀ¼ö)¯ll#xðDÚ}„“‹3<öÇçEóIÁ㼜Çû^ÇÎ^ˆ‡Ôùz;à¹?X,‹Åb±^3pÎ#¤+[³ÓÆä¶Ç —7ŽCNý¶ŸÏ ±º‰Ý™Þ9Äù%‘àÓÇ6<5˜pÝ *ˆUàìÁø;Úα¶µ7²J\œqúÛ€×D:ï¹ýD@q8ú½ó':Ú<|Õq 8~43«†.­ËÀYöOãA^vt®;15³X,‹Åb½~à|ß•ƒìFxÊ…Áb±X,‹ÅàÌšÖùÑ#ìïæÖŠ-<æÉ“Y,‹Åb±œYsÀù‰¯,*Þ‚'mf±X7¬O.ðÁ'/¸X,‹Á™Åb±X3zþÿð÷C|ÕÿþÓÿ‘§àwÿöçxë.ž×IY#]¸0Fœr]¡‘¼Fµ´N¹NœY,‹õé“ðÆ7ÆÀü•?ý~ž)ùCt?š~Š?ÿS±Îíòï.ð¨íþä'ø‡_Ý\6ŸýÛÛ“ù’é ¾ÚùÞ}~ùö©íÝ¿…QÌÙz¶QB©DÉ´Q©w0Ì®²m5ÓB}½üñ£®å¡7oÙ ÛFCf&C¯jÀn‘½b¹g½* ÃC¿¸£¸‹šU‚Ym#Ên¦~³~ fI—ë(™p¼ýKyêzç›t*0ËÝ×V—Õé¥Í±Im±úRÛ¾nz­ê„Á™Åb±Xóuïüå”ÿ{ÿÏ=Fð›§o¼7N§Áùo~û_>hžç?y ¿×9Âïýå[pßаÿ·g”ïK¶ÿÅ{ø½Ý·ñÆÛ/K)ú5%»ŽÎ BœÄˆúmÔlH/¼ü†à,@É2síÿóç,îÀ#h¶j]Ä7X¿ œËèD ’D$*ßAGºáõ.-ßd¢] »â–ã5´¥uzÀùuªg‹ÅbÍ×/Þ…[ä¯|+ÁÏÕ-y ž¿Õ£çKÀùoýÝ`4?Ç[‡(kÈýoþ_<—Çè|S|÷/ø³SÑþä¿+÷áÇÏçƒóïtÆü,þW|E¬ÿ§öâ‹_â?Àoë|ÿöŸ¾?{OÍ©9q~~†?¶”?âëß|"#×_ÿ·gx÷ïøÿîѼvŒ–S‚ÓŽ§àŇWk"¯é €ç˜*bj•ÑèÆ ^§ÀyázòP!š†Xfبø=$iÀ8tW0™ŠÞWÉ‚žJp6« x®úÞ°=´G¡ñ Ãv ®ÞŸéÖ ËƒsµQ5 8 ÊϵöàW ùmêåQ§ä É%@êLn?ç zé,P•즌꧃j®¥ŽS2`Ušè%˜ê(¤èUèïº:?à 3hÀ.åçíËý&=UÛÐeë¢ÞYÔáH1hM–[GW|wѨè¼Ê êXdyÞLÊÕ…c$S½8º.fêt^ÞÅ1=8ù1iÛÖ ½œe8£(¾aW ÒKÏcnÛ»¬ÍdÔþê.,C×K¹P×yÚ¨luÛ4x­Á Ï«“ÅåÉàÌb±X¬/I?ïfìcx¾˜€çß™‰êæàü|ýo¨aõ_ðç§“¶Ž~ø¶\öÛÌö÷?ÁW@ûGøçOIJ*˜}üTÃíP®ëþݬbœŸ¬ÿ½Úþ?}óø@DÏw•}ãw¿ýÚ÷öTÏg‘¯?Áû®ÌÏÏß|å?àß›?82n— "éæßl¡Û"™¾‘'T  ±KÁGS’@œ—­G¨8†ŒèFV;«&ªaz͈³Ž2‚~‚,Ð!x+i`M{©† _,Ðy™µh-‚sHÐZ!02kÓÑ_ʯKùõ:ߌÀ«Nê¶"ÕÙ eΈœEçƒÎ»›ÌÉþ,8gI¾KÐW ‘fÔ-å–†Ú´¦]‚íGsÀY@š‡Î0F<Ç7;ÝŒ[p ^{¨ë—Ÿks #íyTnªL©Ño`:>ÕÓP奮àN•}n hº.¨|ÃDAk¿n:“u:›÷¤+Ê¿BЛhà­ÈÏd8§©¾ÍjGÃf‚°Fõïæõ¿à<–´½em& )Ô¹‘–ѻ֧õ"øÍ•Žê¦ŸÚ¹;Ñ‘š['KË“Á™Åb±X_Š^àÝ¿ûÁ\ßð×ÿíùdXæ_~¸œ'Óït>ÄÇcôA÷›“>èÞ¨¶8ƯµÿoüŒ`ý9þù[ߟŒ@Ïç¹ù=Òoj"˜þùi†?Éðã£÷ðß%¤ÿo=_Î?D÷š–’dÐ_«ÀµT„Ò*×Ѧ¬]”l¿á$"ˆ°êtÃ/€óÒõD”–à¢S`Ë4 J®oÕ0kcÐH{\ò˜UZV/@ˆðGÓùTçÀ¢ç­O0é–- uÜù°K.ÚI±ÿ@Pe«H¯8WÃÑQ_qnfÝy€>×ã," œbð˜D—¥ˆ‡= ìê&¯ˆˆiÎgK×;Ô æÃñ«xœ%K˃‚™yÇwÛñp6ቨa&¢Ë”Ïr{ýšŒ9ûVé‹N:(‚(#Æv`VçûÁss[FZUš-m‚xÛ­ b•€ó4l.‚4‚䆂älz¹;m'IЙˆžO•‘Õ˜€:YW†ˆ ÏÖŸ3œ‹yWàòDO%Áô2p[’2ªeSƒó’óXØö.k3)íª#ëQÍP<â¾WÖjé¸^ Ãôp^Zž ί¬gÏžÉØ~ô#ôû}Nœ8qº“I\ãĵN\ónLý_-ÀìW ÐügßœŒêþq<ÎÁylÏÈm¹Cú˜¿¡}ÌïãÝÓ§øñ{âŸéïŸëiîFöŒo½…ß@­m‹À¹èqžÐsoa~ƒ`VÀôóñ† 8ëeWRÜ‚S²áO{Óƒ€UD’ÅÍßiO šEþŠçeëEAÆdÔ/îúÂä†À™À«2=pPGsçÁúô¬q[Z6_m¯àm2:(§ÅKÒpŠã9•·€|yœ'#Û6šýdã(èË‚³(nqN&"ÎæÕ"Îé-¿A_DH«“Òp2âüràL;'âì_q¶“Ö †£sHFO9ŸÇðEm/ZÚf²x€ANÃi„žïêŽSŠh0y½ÅÓšåk´O€ó`Yy28¿24â§?ý©…{vvƉ'Nw2‰kܻヒ·ß~ûáù9ÞúöØ®ñ•·ø`š¿‡ßÞb,çâttOõ€?Üo)ËÆo¾¥öñÍÅŸ÷ßÅêŸLü¿÷F~¬â¾® ÎbU‚óÛh¿÷1Þì%ˆçQå«€ór3A ÁCÉòtˆ¢aˆ–g+HHT–Ü/›{DuT®èq^¶žŽ2ÚõPù;i™gÒº‚"< è0™µ!,ÕLÕ¡Q¶ œéLBÌ‘o–@>¬Ãš×)Àüéè¤ï¶Dç"(7Ò)#+‚=£ÚÁ¨€Ót`Ši×€ñeà,aª¤"×È}á"J/½´×ç"î#áq¶à‰r+xœ½pŽÇ9ôd¹©Áy ú¾3åq'<¹VcêgÁy²Ngó.¦i3FÇÌ=Îetâ%ç´‡ªðÐwbÝé¢n‰H°d¹è<–´½emFZs¬ÂXÕͰU–ãá™ö¥z@`ÒSŸ;Éò:YZž ί$}7’§OŸÊÉóçÏ9qâÄéN&q;??—׎Ÿš{9 äJzÀØË³àVw•š@שúèà“Ñâë³€åŠ9¶“¯ä³jPYÔÛËfÕÈg¸P³Gtã¬y‰úœ˜Uc 8OÔi2'ï)úAaV ×C«Ù¬¢N ްGP'ÀrkÚ j·ywñy,l{ËÚL£+fÕ(fþÐhaÍXBõVi†ó§1œª“ÅåÉàüJ.ùË_âÓO?e³"‹Åºó×:qÍ×¾›Aç¿ý oìàúßÇoû?@ùÁþì‡ú}^ëWûWò]u8ö+¾ü…źÃúÂÀYøþ...¸ÄY,Ö½‘ˆ<‹kß]ÐÇïýöí¡žKú­kÏpÁzí‰iaЮÂE»Y,Ö— Îâ&‹Åb݉kÞç·õ`Â7øú™ªîž´/ÜpÑì§\,ƒ3‹Åb18³X,‹Á™Åb±œY,‹ÅàÌb±X Î,‹Åbpf±X,g‹Åb1838³X,g‹Åb1838³X,Ö]çL¿^šu?õeÖ?·½ëYƒ‹ŒÁ™Åb±œ¯ y Úõw1@öѸM“ú¦”g«Ó ‘L•G¸(™ÂäÐÂ7Î]¯ë–‰Úu_ZóÒõOÛÞ5”t\ù&Åø&wpūҳËêüê‡Á™Á™Åb±®"Ó4ñk¿ökI|÷ú3Ýœ!zÑ+ÄŸ²><Óºuð’ 6K&¼!gCNÉB½w»âq7ÎH1ìõ0L¿¸ú¿¯mïʧ÷öãWÑV,ó*à|õÃà|;ÀùÐ÷°ìb{c ««¼õ„ÇùÛÏ=ÜÁÆê VVV°º±ƒ‡Ñ¹üþ`ÛÃÚƒ£÷ž=ï­cOl{vˆýí ¬®¨í¼õm½‹ÅbÍ* Ãpß½~à\Œ*‰¿MØõ<Ç¢›«ÓñÐÖP’öTm¥R %Ó×jÅèTôwœ^(n²1Âf¶Y­[kGêæp¬ õ2lºa†…r³7ŽúÆ!š†ØÎ°Qñóe†í\½OÓ­ò%Õwê.,C,3`•ã«ûÐwdt¹›H¢€ïˆ²Œ@%‹»hT,Êk£‹8S–iÝ cgX†aˆæ*¢<–Gyt¼©ÊCÔ©£lº M¸õ®Š0^VV Á9Å åÁÉËŠê°5ÃO6éx*vµs¹›NB”ü›ê³áÁµ-˜­[ 0˜a¨yõ¿üø÷±íÍtl¨­5mUE¯´Q^ª v¾~¹L1â¬þ¦úª:°DþMõn<êôôƒ*C•E™Ê±LçÞšÎKÚ£ŽF^6´#QÏTÿ jƒú{kTÏ“çùuÀº#àLp»ºƒ'§ ”ƒU¬l=Æ™`áÇ>{¼E€¼ Õ«Ûq"–]œâ@ìsó‘Ü'‹ÅbÍS1ê¼(Úüú³¸)Ö´MnÆu‚Ær‡"‚O7ÍJGE¿ÒÇpÕy*ê—t ­ºÞ‡Ã AJ’k^lºñºÁPÝtã6ÊF¾m„€ Ϊu v‹:¨R¹UiôW#xs (ñÒg :åS†Ó°J°Ñ„d 2ž ³Ö¿Z”Ž&p†è˜=‚hÃñǯ‘–pS"˜S°œXÕÅçÆ@æáêàœaРrtšè‰¥.gö#`ÎpÐÔ`™¸ÏõAvIY-³¤KåaT  ±ù¹#>Æ-¸´Z7Vå(–Ñ1æ‚3”Qi˺ :w'ˆ.ú.=þ=m{KÁ9iS¸†¢[e¹OñqœK%ªe9{2âoÓ¬ЋLE2¥ÒpžqÀ,ÛfªÚ¸•×s±~–ÔënDœW ‘ãóÀ{8&P~¼åa}ïxU&,Þ__Áæ#Bà‹#«kŽÄRµîF(ég§8•æ œŸã`o+ªY,ëò¨ó¢hóëÎÌú8⚆¶O·Í-˜•&Ú½!’l18!Më²$ SƒUr8Ixq %nÈ*âî/!Ò¬4 JR+“ù’ÞVK€ÝìûL‚„ZÐEÿ%F‰eÁ¤Œ2DY0°øÂ´°#X1ëd×çB^Çaß!†‘ŠÎÆq¢Î‹Ê-ê· Ø4P-+«…`– +òåsAPHÐëÒŽ¢ÀÑ0šKuæƒs1Ïÿ5…ƒÙÉDý/?þ}m{ËÁ¹‹Š!¢¾-„ƒI[Æ 8Û—îv’ Ce>Ñ©¡N{ep¦2 õLUÏÅúYR¬»Îk8>?ô58Ÿà¡€äÇÅ8ñ9žl­`}_¬èÁVƒ#‚ãGØô6ñèT¯uô;«XY!(_ß‚¿µªÀù‚‹ÅZu^m~Á¹8(íåð¢"®¾WÖƒ•Ý@úa§á%éÁ¯Ú%–ƒr…nþEx™€Q /ôE6¨¨zs|ºê¦­ÉO&·«¨f»ª£#[4¯5²/•çmx½ hÉ$[ ²)è ü÷Òë€sÕ‘b¥ì6*ªLMn¥§4†¹EeµÌTä´ÜM&ÎOÁì;EÔ½bD” Ë]dÕ(z_‹@µ œ—?º·mo.8[¹Uƒ²Ýo¡^Qù6‘ªß—QñY«Fa `ÒÑà¬ÎCÖa±Í™Wçyõ,ÛÈd,¬Ö]ç3<Þ\Yqñäã]¬¯xüp«ÚÞ¡"Ñ´ÎÃc䮿³G› Î,ëJQçeÑæÛÎ)¢Á@û{3$ƒjf ޏ3OÀ ¥€Ðj£àmä#}Ë`P.›ŒúÅ]A¡[™ÝOyˆc¤ÒB1À ¿ƒ§z¾+ù_}rˆLƒóä#öl "ÎÕɈsXˆ8‹<ùÃBÏ™Œ"”õ©ˆsµá·ú8jS^­Â8­[3_œUôq:âë/Œ8 ëFÀyùñïmÛù(›ò]ËŸ,Ðvƒöa‹sí6(ÏštNWg]æÅˆ³ŒFß$8/©Ö]çÜãìK³°c(óÖ(²Œ ÒV=þ“³|ئÏ[´’´8Ÿ ÒаWíâHp+Ló–ÑÖ~K [ ƒ*Zi×Cå)Ž:E¦ô•°š#ßl†8¬Ã*Ùð%\_kŸÚ#j5”W9PÇe€ä%Àyìq'<ÎVC=Æ6,é í'„QW.+9—xœÅ3n*“VYyœß!-‰¨vª IúgK¥Ì]œO)O±—{ŒËèÈògõPyœ‡íêbó•Á¹Xÿ—ÿ>µ½¢’.Ê%s”Ͼ¬çÜ’#üÂ6š}ÕJ•Øà૳.s‚Ꮀÿdû5k¡ÇYA¼‹Ö0AvUp^V¬» Κqôpë^aV£ÉÙ1Nn`ÅÛÆÁèë œ<ÚQÛ@¯mÒ6Ðg¿°‹ÅbÝap–7t1ª^Ïþ`X¨4C}OÑ«;êñ5Ý©³aK¯gÀ´Ë¨·Û2*8ð¶  NekÎÈ}`ã™ JV®öƒ »ƒ˜Ù T˜ÅAGEþK¥ –Ï.·œ¡gÕÈó#fZͪ¡àa4 ƒ˜ !ð`9ËfÕpÕ£x9sFGÁUÚ‡¯÷o˜´ÿf[BµŒØ¾$8« ³Z¸Tý´ImèÄL5é©–û|YpžªÿËŽ_ÚÞô¹Š™9T™ˆúoÁwͬµQy•,õŽŠ@_œE¤¿çWt>,”kÔóÃœŽŽïr asп²Ucq°n=8³X,ƒ3‹5GÉýa2Q '¯Ï£½n³ÒaøP‡r°ãäÀVƒ3‹Åb18³X×WÖQQ1]›°!TÑå'î·ZÒ»îøÊò“ÅÅT~7ýÆAƒ3‹Åb18³î—Š/ÊPÖ‚ ÏÔ|û{DÂÏíh+°à4¯ø ƒ3‹Åb18³X,‹Á™Åb±œY,‹ÅàÌàÌb±œY,‹ÅàÌàÌb±X Î,‹Åà|ƒúÑ~„?þ˜KœÅb݉kž¸ö±X,‹ÁùZŠãÇÇÇ\â,ëÞèßÿýßåµõEI¼2ù¦&¸M'<òë[?|î¬;ÎÏž=ÃÛo¿-o"OŸ>å’g±XwVâ'®uâš'®}_ÖzP7Q*wQ¼]§½œ’xÅî/}OCTôÕŠÉrkh/ßëÌ›Ò^ú#´*úpåÞéT`NïËBsÏ3áñÍæw&ÿâÕßúõ̯ ¸íPþ:xÝ'ŸK^º~R ü²š’Íð.y[äMUMñUç¯^ÿç>ó¦Cƒóx7ñèRøþ8qâÄé.&q׺/šçƒsÖa—LTÛ^ Õ$8ðÂI’PŠG}´ªt<«Á%;Ïâ>Â~ŒWŽçÆ-ê8† ÒT|$€¼!pî– çÖKוSâεÛ4ýbžÁù&ÚëĹS‡¯öÁ³l38³X,ëµÑ$8'a ÙB­;…I~Õ†!£y6*Ížº¡‹Wû”¶ââÍŸ²L€&ÁÙD}гaVÉE;Î÷›¿¸¡î"¤3 š´]˜nžc dVЙ¡Óa³ÛÔ‘mÓAM€ÜF9ÿΰðµÖÒùé—¸>†”µtÐ~MµŽUF£«á' fÙðêeÊo vc0EQàªò/œ¨‹üÚ54òr2]Ô ]xœy6P¶Ô¾¯ŽªYçEuA{ëU)/µ:*Ž Ç¶Õ‹0’9àLPÖ©»ò¼dþ«>zÉ>+…W J84=ôN¨‹òhxpm ¦a©uÐk×FŸÝFozËʵnY…ýˆvò­wÙ 1S?3Qå–Ç¿À¥%7Âw ýTƒò5UW*?-Ô\kTg•M/¹¼Üd;tꨕ8´Üv¨öÓK"Î"ŸT.y>Ý:Q¶43çþÎdÄ9éù¨ÚúeÛ^Zž,g‹Åb}Nà<ìzRhéW„€ Äò:ˆ£Ä!êtw[‘Ö-sFäLŸ ^óÀY¾ئƒ,EX5aV;ˆå* ÂåEÃÝ48—J6a$£ôÓLtÊ0¬º†ñ*é  îò@&¢zIJk@Ÿ3‚“&­k£)ˆM€3Qia@Çœõ2ÏFœ´yí!R:·a‹ò”[–g6ì×P—LXP–¥ÀyY]PåéWhgúÔá(«2ƒsŠ•³á `=‡!:žxEsñŒaØ´eùä0>lØ0½š,Ž‚C‘Oy^WnS¾ÑååªöÓ†dI½v‰Ê1š­ŸézîV©L+Ô¹J4œVägÙdi¿ ‹Ê¿?§L%\(·4l¦}4阶y¹©z¥¶§½iŸ×T¯)_ÎiÏ#€-ë·2&è‹2u|:ßeù˜:÷¢UC¶ ݶdyúòs­—^Zž,g‹ÅbÝ48ð=eºáå)»AäÃâd TmZ‚—DDNý-!Õ¬ +nö <Î%«?Ø û†z.4"$À(Ù>¢yିŸ«4m–Dtj2ª-j 8Ç3ûU¾e«>@&ÁYDz…îæ€sq_®¡Êméq¦¹9p¨óÐ?¢×°%Áyi]èÈis8Þ'å¡l¨'#pÎzðtSæÕ†ä7q *¯1ŒZj] hÃyAêÏ^ בOÑQº¬\ëåJm@Þ¬©²X Ή,ï2G:j³n'YÎrÐîpQ§&ödĔ忼Üf-8tLÙ9L€s*÷7Q·Ôacy¬ÅùX Îy›ˆ'~·ÔÙ©æšÅåÉbpf±X,ÖMƒ3Ý ["‹Ha Ž?†ˆ¬ïéÇÊSɬA2ІŒ ʈ¹˜ÕPÝøssw(£Ä"%SÞÓñã| §ŒjÙ\ÎF&g˜JÙ„åð¨P6ŠËÀYDW­Ùóû¨„Hj&æB3ö%g £¾.9ÎL}( UDñM ÎËëB  ·HÕÉUÃBc˜ÁyT_ÅÃöá™ùÓ†e*¼lP‡eÕ•]‚q¸ç~à|vi¹Nl§ÏùrpÖùê&3u aúp K u@JÔi°Ý *V©Î‹ËMÔ«Yéò“ £Ÿ²Ìçñòëåc8Sù4¦Û„^Wv„–—'‹Á™Åb±X7 ΃=P ^ÑÇ95º?Ö…t ¬€ áàyyäkÇy¼õˆÙ-ÌÜQŒ,Ï‚ó¢mÂòaXtå‡Ò‘ÙK#Îâog2Â>Š‚Kp¶çÿÊà|Éq¦$Öˆ.jß±ç¥u¡"§V1r*FÊO>qLEœK:â<*£6B0+÷ _œ³KËõåÀ™€tNÄÙ¿JÄY¶Í~2n3•Ɉó¢rSçÖD}4-y¿rÄ9 å·1|gY>Gœ£é§úw;Š83838³X,ëËgùXn¼%Cù8¥gÒຠL ‚²Õîx XX…i:0­Â4`—s*¢z z]w „•£)…]œP ¯m¨–§C´=ÅvÔÄ)pÎá| `S 4rï¨3×AUÀ¼Øð à, Çª÷³¥à¼ô83ä,ÖµPëDÒã<>ÞÜã¼´.´WW>= £¤:TÆB³¯=Αô8—r»ÎƒðY;fÁ‡} p¾¬\—ÞDýL×tGyšå€À‘ǹ¬‹.g1ðÎ*©§"È=×"^ëkp^\n#ﺮyLÓ“íi¡ÇYt>GùLÐ÷éq~gi>¦Î½èqŽ”ï]ä¡èqöÂôÒòL‡½›™†ÅàÌb±X¬ùó8‹›±´T*· Å!š{4€ãèOLü¼j¸8ËA|5‚Ú’|l-æwÚjà•ૃ³˜–žqÀ€i—Qo·áåÐ;ÎB*æØj’ôT=[Aq–ŠKÁY VóÔÌ•?]ÎXrœyû%0ªèìj5ÛϪ±°.TäÔ¬Ôäãÿ‰Ù20=«u.j®žÍ„öQX¯Ø)ÙÍñÌ×g,/×¥Ò©ú™î¬ôƒÂ¬®‡Vì¹^lÕHÖõùŠoGÀ¬Œâ./7 ÎV^ÙœœÉ—ͪ‘ç“:Wåºrì²|Lû̬ÍQ›³”ÔÛÃùO&ÊSÿ¾oÁ4„ Î,‹ÅºGü=DÃ^™¬Ï¿43Èí¥%óY÷df†ååö¹ÍÏÍbpf±X,Öýƒµ4Ž0hWa£“¬[ ΋õ”M=×6ƒ3ƒ3‹Á™Åb±X7¡Š˜!ÀE³Ïo\¸ à,^ì"<½•`xO|± Î,g‹Åb±X,‹Á™Åb±X,‹Åbpf±X,‹Åb±œY,‹Åb±X,g‹Åb±X,‹Á™‹€Åb±X,‹Åbpf±X,‹Åb±œY,‹Åb±X,ç:;9Å׋Åb±X,ën‚ó¢Ý5¬¬¬`uç磯#?€/¶gpf±X,‹ÅbÝp üGóÁùìpþº§×ÛÂîaÍ8ÁþúÊxû•MüÓ›ÛðèïðTnwúhSE´ƒHZ9ÎÕòõ‡'â¢0ÀæšÞ~uÁ£cù&Hö$;j›ÝcPçó£]¬Ëí¶ñø” ‹Åb±X,ƒóçÎ66W%¼®ïàþÿ콿¯ÛHö·ùýŸ1bƈ3 0"01´äÀÖ€¼cñ:ààäwaEB»Ñl ­mF´µ ·ÆØgÆÍÁèAïeÃ~Ùw8{NUQ¢tõã^·Û}m€°u%‘ŪùÔáaq[œOÓm%¨,ÌQv«•×S*ždtCÞ‹ù½ÇÏèäÔD ï<¥SVàç©‘b‰Hóö^f×Õw±7¿ÎoOéþƒû”¾óäuGœ×ï?.Þ¬"Îžç”Æòÿ;ôÑgˆó‡çëtÿÅsÊ®k)}T¼Ðÿ7â|òè¦Úg§ú['T¤÷ú}–ìs©§ô쎬ç.=ýÒ¬SG£Ÿ¾.èÈñ‡ôêÍ+ýß'§¦8¯ŸhA—÷ÏZqŽéîó7«òjq¾¦"Ðòoúì½âüŹ8£7ÏïÑu%Á)ÝŽ[qn£Ä×Î/wžÓ›9ΧOï¨uÞËï«hôG•Ž)}¬S+n%qw~Fwã®8“äjÐ-•ãœÒÃ<§‡i¼ÎE>{I÷b-¸wï?¦BeU¼¦üV'·ù¬“ë|=£ÖsO¯sœ³™ÉqŽ)ÝÈqÞ%ÎúæÀ³¶\·Ó ú à#£H]-`²ïë„ZÑ4‰(Š3-tïQœ›eFqQ’W珞Ó0Ž(ÎUD´Ý·ð“çšæ}›zî€&‹‚ʪ¤b>¦>×çÇ£ÀïAœE^ûŠsSÐ,Ÿ«~ó^Ä™ki9›Ñ²ÞªÎväï1ÿâ >qw~šêâî¬Ï®gÕˆoRúè…I‘xC/ÜÖŸSzbf·hó¢U´|ßÌ®ß{ÙyP ·;«Æ =«ÆY+ÉGÄY¾ÿB¥‘ÄÈu|\HdÍañ´|Š”€º”í›%}ù›GY{–­gK¤ÓТih9ŽÉ³t÷ò*•k‰8W9 C‡,#ì–Q6¯7ÄÙMøàÙêÿNP^¶E¸XĹœEë¬#yJÿÝßÚÇ:§HöÇnElKy½ï«Åiá`Éš$먯íÅ«ò¯Êäô)MrLÝÃÙjÐДSJG¯Ór)J×ïÙ!Ù×åòÆå–Ìr]õGT˜}¨ÙªîzN@É´¤f‡8ïýœÚ”´‘«ÛˆËJ¥ýÛö¶CŸ³¯†ŠÉ€Ç2ufsŸ˜ª:«Æ,l^Fuû—E¾ZIIùësµnúãB—eoÄùÐwXœ¹ƒ€lU~âÑB,ŽFœKš„öªOÇÿçÿNÿF}-G¼/Áö °ê|¯³IUmÞöy‹ûC2Õ¿UÞN“ï:d[¹aF‹zÕYxÚö#~/Êh¾£kÔyDÖªóosÈýËîS;F*2ìhFqvû”D¦mmŸ“õÎíï; ê;.Å]7YPsÁ²Aœ|ñËY¬Nžö`Nå$Ð8X¬ä©šI5¦©NÎòz¸¤S‘%“}ÊF |}òŒ•Õ犦¡¥¤*Žh”FúÄk¤ªgÜx˜QÚ÷Œ€ŒÔûNÕ`ñKC-pn?£Éœ·löÑËŠýw×£…UTr1æm§)¥CA#ÈÎ@"Ù\þH¯×X@XxT=°\¥Ëî¾óçãåù˜…CKØPÞo–4tõëˆ÷okQö™•“ˆ<×§dOT¸d‰rÝMçKªšs!E Y¾B%Š U³!y,¾zÛQ<ô9އ̳ÈéO•Œ7Å„"ÛV©<#Î,Ÿ—mh¬¯^fÜöj{¯?+VöÉŸ H.,H»X΀òª•ï÷1Òã=â|ø;©j)ɼjž’o±,Ë`äB©݈3VXð½•9Ëà…ëmzøÚI½šºX·¹;вÜp߸­|ryXþ­p¬>üYé?º6´H¸¸2pä7k°Å6vÇ•›jÊõÛrÛ_;H”}°)äÓ¿/›âñ’ꦦåHú·g}¬ï°8«rŽhQ–TV§/ÄÀÇlGèÚèk+&"«"Ì®D²jÊC6òSW•5Ÿ`‹9MN'ÅâHÄ™×UÕuIË<Óbª¢Øˆ3ËycD%óôvÅ].“ã|.Uƒå"\EŽkšÅÖV”ý|u™‘÷MÚ‰_Gô» «?…3eòiRu¢ü~Ä…lµâù*’'âÔs»ÑØ#-·˜ð€"$ßDv`@ãemÄšËë¦uÉ~Ú,ý"ikQ<ø9%Àmùͻł¸Éޤjp»–•Þ¯ºRi$‘Ê1Wy4”Göj"P+œêþÀŸ-Í á>µ˜ôy0e¶¿/â|ð;’ªÐÚmšó¾ÙRç—g]§«h¹ÔÒôPdµ4 Ém– 9[©#õŒûŒôùSiÿn>ËrŸËÚ×RÝ··î=ØÑ6íïY"ø‰Pà„”¶ŽèËk[ׇú}uÛ]~3¼¾qu¬ï˜²´å¼TÙ Î>vX}s9:ì÷©ßW‘Õ`uæktN-&™M´t¶ù‘’®0h/ÓöÈ6—Ì/"ÎÕ,¥È5—ó-Û\2ÞçuŽ3Ÿ¼C=ÁÿMâ¬äÍÒ¾œ«Ú!a­ò¾¾Ôo÷Md“΋o+ *G\¶»U&ÚL¿¨óðüå|U1Í/tƒßÖ‡ª%M‡¾Š¶N«µ¤o/V˜S½ÅÓƒŸ{ÍûèX»åø 8«K÷&…ÅvÉC®kUÿá·EÌ©#{-]ÕŒÒÈÕõêx„¼?ÇÄùàwXœuƒöÒ¬@êàò⬣å2`äaQ*)òÉ%ÏÞ³ÈMæ«Ï4"ÉN²QU¼½ÙëNyZqæA¨g¸»úŠ övä_—#]6ISrxP²d¶¹=‹iH¶I-9—ã¬ÄY¥ÇúŽˆ2—³Ý‰K– â à£fã¦Àí¥uRÑ2•‡¬Oªí%j’´‡t®Òêip1qnŒ°²|M eC:ÏzKœ%}DŸ~ qÖQ±ß&Îëô ¯*éò²ÝÚܨ4½Ý¬+"Îv7âÜÏ®8¯Å›ÅF.yKšÏæ´,*:ªjÛ;Ä„%&´•Þ!òdy›7ÉôqåÖÍp?§$r3rXNSÊxôpHœUŸpúúÒ}'*¹ª–JÉ“NY€m“`3V4YåhëT‹Câ|ì;©þ\M[QÜw‹8“I/ò²œRϦxïͦ%M"[§]tëu!çh3âœw"ÎûÄY•£ûÞVTÿüš<'¦¬ïªÔŸF½Žx€á¬Rö‹3é;‹ÍK/[6ˆ3€–6=@dtã¯VD»3/°¸ºë¨h{ò/3ÏÜÄ—Ór1¥¡¹™NßìuHœÍ †,)ãKã8^EuçM7ÇÙ¦`0¤Ää·3~\FœETÄ,P:]Ý]¨·ß[§ì¬§½!0¦Á` —¡ä¡ÊM`çAdrœ}‘¤#⼺!Sr¸Ó_§y˜Y1ç8›m‹MT°xËœFRGRjc ,“ÃJm~²i—®(úœÉqv¹ÎÉå÷D’bi|%¥>–çIÒ/zY5B¼Èµoa^oH¡Å2­fŸ=+ˆNÛXÒ8¶UÛè¢ìçcßÑ9ÎÁHß,Øc mW×é§£Si“‚êf-º¶í‘íÄ4Û3[Çq–+>R_þfj0RÑlè©AæÎ«f;Vo—¬ûñ:½ê8î;[â|Ù²Aœ|¬´Q×^›cº5ìˆ\÷okÙ‘•,( Í¥]ǧ~ëÈt<ãïÚIŸ<Ë܉&”øk‰ÕâÌÒ2’»ûÛ^>9WmÙ/.Î’kV7bµ'ü¾½1ãÁù šî¹ j)’¹”»³jø1[³jìg%$zV Ë ¼x´šEáð¬m¯f3áïGCšk[©æEžµšµ#lgôØšUcïçTÝåë™?ìÍY)RßZ¥ÎlÖÛœRóKæ—æÆ(°6n¾ÔW0ì)ñšåȤî°P» ÆcñÝÚnªÆáï°8ÛÜ'#Ÿ\×!Ç‘™#ŠuNù1q–ô ·qÓf{ÀÆo`;꿳Ϙònͤn̪±Oœé|J”ß§ñÞTù®½„ªýԤΤƒâ|°ï,ÎOex©²Aœ€’6…Ãc6[pA$¥Èýgàc¡^Œ)¶ÓÇŸõÝÿàÂÆLuYÐb‘íi ogŸ…8ç¡y…Gƒ)¢Íà"˜¼r˧áçþtqà£ç_~ù…ʲ¤ï¿ÿžæó9,X°|’‹ãäX'Ç<çw’æ/^ÐßÿþwªªŠNOO±`Á‚å“\ä÷üƒ~øáÈ3@œ/D_äDòöí[u"ùÏþƒ ,Ÿä"Ǹ7oÞ¨cžû@œ/…\ºüé§Ÿè×_E­>yäX'Ç<9ö€8_ Éû;;;C>$ò,Ç>pyä/æ2øC[€ª-À•g¹„ Ÿ rÌûäÄyï“ØÞ^‡ï˜'ð{ÂÚGP'Ýíx“†®EÑŽ7«ñÖÓÝ~CýýÖ6¨&!ÙÁôƒ—šryJ <Ñqë …—¡Î²Ülõ¤; ÎgøôŹ)h–Ïé·÷È·†›ìx®ËΚ:òx]an$±¢I`S /XÓbó~ëòÈúF¦®ÎÉqGˆ·ß+ó„GÖa‘(²÷‹sωiÀû§ë$¤t¶Ößz‘ñ¾uêrZÒNEí´jS?¡„ëÚáz´lý˜¦¤ÉÀ'ÇÒes‚„¤yšEbž²Èûì§ê©yõbD}ßÔ»|6’.ÚqVmìš¶r)ÎÖ2_/i{ú=Þ—ÁÀ¥Ä@œ!ÎpuÄ™%‡åÒŽ&F6+Êû,bþD HV¯çR2ÓrXÏY ìˆ¦•‘1–?5²\M)vX’D¬÷‰s5¡Ð²)bÁ®ù[eÞgI“G^.ÇFĹ›ª¡ä´Çr¬e¹)sÈëdÁkqÙîSn„n>`Ñ &ç"¯õ,&ÛIôc”y?KOù^=¥år\Ê[Y¼/Ù¢•èP½§¾°8—#òYðûJryY dq¯8÷Úúªii¶7­Úº´(-T]V³!y,£Ã]Ï‚ÞgÕ¦f¤÷‰ëVÆ(9ÿß’zK$:æ6éëÅFÄYµEÁÈ´}=×íĹ ÌgÁŽ'TÔm[YäôwfÜÞVÑ¢Öƒ¡¾ , Îâ q€«#Îú¦;}Ïk\¹¤|(‘¾T ‹ŽNvSX~<–µi½#o¶¡EâèÈíq®&Û—ßk*–KªšÃåØ'ÎÍ2añÞÌÝ­g,ö€¥WÄÙ"{°XEaÕ£¶Í:7Í9§ÈöH\O$Z"­‘ãRZ4Zª½×AES´ûm®FŸÍù¢â\fÆky7º7UCm»³NV®ÿR¤zc_X>YtÎþîçnTcyˆüÏy_{õ³)Í·nÜLÕÍÍš —e9SR¬ëz8)´ôvV›nûC3£˜TýNJ‡zσ8ˆ3Ä®8¯/÷[äxE½!Îv8ëäµV4aAòF¥NÕpLTvåg®–«=â¼zÿ’åØ+Î"ÉN²QõYÞÞ¬Öâì—kqžíg‘âÐ&\Ðbà’?Zª¸¼ž÷ò”,ëAC0íÆ«ë•Lïgg[œ%-Ä!+šuäVRCìýâ¼³þ ZuúÆöb­RLö‹óÆ`¨š¬ÄYEÑÇI'•&¤¡ןçå¸O>ï_…×õC ÞAq)·v”W"ûó’ËÐsÕÀeÕŽ"ñgqþÄùŒN_Ÿ¢ÕŸ¾8‹„Ú=ò³åJ¶ªN$Sç8Ÿx†ù:â<íDœçí¥ý½g+â\Ñ,Kiò×ùÁrìç…Dœ£Íˆs¾q¾˜8ë§d”xžJwPƒ†`H}·M\çóçÔDœUDµýVu°#â<Òçn&‡"Î~7µD¶§ë_‰¬·yãà:jÿnâÜ” Z´w]ÖÍR_‹m³%Î*zÌõ2¯Vˆ<<qÖu°5³GÃå­$7ÃDœ;3¥TSDœÄùÊóÉ#ºyí]Ï^Òef†>}z‡®ßyFPgÀ'/ÎõŒ"É“”Æc¦,¥iª|_kS<)t>®äزÀ*ù19În’SÙ´9¶%j&ý9Î¥×§sœü^@ã¿.‡–RŸFËŠ¥|WŽs¾‘ãì¬rœ/.Î:÷ØZ‰¢Š¨«¨ë:¢-S²Iޱ¾!°ÍqH[r£%Yö­©h®r—wå8¹ê›:UyËsœ=JM*É oë_­ÇV7dª”äbB‘ >Æå;‹³Jpú”«Dó†Ë¨ˆ¾ê f ³`ÑU–ž¤¶èÏ©¶—h·Ê‡Þ“ªÁm•z–ÊGW_«”ñç¬hÊ“î§4¯Öí¸J)©”ç‹ß4+烜QñàÝHïÑÍë)=»„¿ÎoQ|â xwlÛ¦ÿú¯ÿÚXäoWNœYsŠIŸ…·§.¹;~Ÿ²±¾p•ëDö¹Y$´8»Ô}=†ÌΠdŽÏªáZ«™3ô,‡Ë!QæÔ·ÔMmÃÅüü¬I[™6fÕ¸„8›|åÕl&o÷»9Ã,xYgV Ÿëc¾ 1«ôýžMþ`Äe¶wΪ!uš:p£„úîT ·OýÀ%×uÈ‘úïÌÃWÍ3Š£âþuŠÓçu¢uÞm†8Äùç“Ç«t‹8ŽyÑÿ¿v穎"_XœE’oP|÷ÅFj†¼íöä@Ž"‘æCÑæ«.Î>qq~õ€e÷Î:9=¥S³¼~ùeú&=:¡U:{Ùêðzvç]¿hÄ9CÄp1$Ò|(Ú qˆó*ÎÙõ˜î>ßÖÚz|«•cýÿÙsz}vF¯Ÿ? [×:âüä]»ù^ž¾QÑë[×®Ó½íççÐfÀûâ ç?Lœãø.íºwïõ“Ûtßç}S<¢»f¦ŒëwÐãû7W©g'9ݹ.3hÜ# JŸ>ˆY5gŸž8ÄÄ Î ÎgÄÄâ g€8Cœâ â gg€8øèÄùûï¿§Ÿþ5ølcžû@œ/EY–ôêÕ+Ô8à³áÇTÇ>çKñË/¿Ð?ü N"oß¾EÍ>Yä'Ç:9æÉ±ÄùäYN&réRòþ°`Á‚åS\ä'ǺOEšë¢¤çˋԕÕ[SMUr)® UeýYµþÕ©{ðɈ3€'.ËÄ¡^¯Gv¶>¡7 Ø=ê9CZu¼’&±K–›RñÊ;‹,.¯Ké;n¬š¥ûzŸ{=‹?¦tV]è»åØ#ËŸPõÎå¯iÛäe`jN‘‘ïÄ4û½Ü]úŽcS~|Õ$$;˜^^$‹”\+¤¼>¾¯úÜ¡ÝYÉéy”ÛûÈýǽÈïãê¾™SßêQ0­pˆj9yÀǘìc Î. νžCƒy}yq®gÊ÷?q.Gä÷l ³œ–eEU¹¤< ÉÚ£ßQœ§õ‡Š³Aûjˆs9âú|q® šåóãíÐ\ðsÇ$ûǨìvù˜7¦Èqx?ë÷_÷\‡}[ıiˆ3€+*Î"Ê -šÝâ,‘ÚȵÌçJ¦’šQPæöÖßïô}³ˆöÈ3¦Q}Ñ,T*‡H‡z_™jM‹QŸ§]¯OƒñÒˆ”HrOIò ï«ï¸ÃgôõJœªCòä{,#SÙ\3£è€Ä7s޶ݧM§«h:ˆi8k %M“€‘v£ŒZ7ÚçŸk÷Ë·u½Ø~Ÿ&\Þ"Óû¡>oêcƒjFiä‘mêÓr#Êõ9u(Nbò]‡l‹×f´úè¾²ñ '6eêÙ!Ý‘µjcî Cî \? S°"ã²Dr%Bö'&¯Ý/¦Q»1KÏ i¹jðñ´#Î5͇\gNŸòj{Ò¶~RU†>fs_˜,w§ÿlDœ•­qæÿK9“A@.—ϲ †³ãR]O¹F4«;ý%´Uÿ]¦.Yá´³Žšr¹QØJø¶ê~\J3M) Ý'¤<É”JµÃ%|—’E³sðµ«oéfß·¾šf¡ô9ý=ËÏè/ü»´ýÅž¥Ê3áòÔ‹Œ_Û[¿qÓ7ÆRÇÖª_¦¦³WîÓÞ€úGžç’ëqŸí &ö¶é±>\/i{z_¸,ƒ÷¯Vœ«œ†¡k~Kùƒ W,O â Ÿ´8[äùú„éYè¶ÅYEjõ ?ÉRê{Zh‡ËŠO¨-@,(ÉhJŸÔ"‹_"˜,¡‘uÒkhÑ·Wãr˜“4‹W2 ÐÑŸ ÆeGœåýˆ’$a‰<]Eœ‡ùXo‡e}ÔÚ=—;aáð¢1íŒéÖsu‰Ý”MrZœË¯åò%r‚N(㨠šÄ,Y¡–åµ8þœ l+`¨”h͇|’÷DæEœ¹®"›Eubd§¢\êjW„Û´޵04KJÝv0r¸lQÏŠ¥ÐòH‡eÍ´«Žæ‹¼Ù²uVSlnßlQq ÕëIÕFd{ä§s•³_¶çŠ©¯¤y_ÆÁFÄYú˜eS¬N.yÝŸÕÅùpÙ6ÅY•33³rÌûîPrü’ -çÅ:*Îßóí@¯_þou£ÑÄy»î¹Í†Üfî@ËmSæ4׉PU‹¹é[¥Ù×·®OÄY0'Ë’Û©6Z–ó¼PíVW Y^ÃÑÂÔ?J-ùˈFöÓ§LÕ3F²OúØ â¬ÖcÚ©žó€ÈŽt›jÓƒ}˜ËË}ß ´HË€ ïtŽ!‡œ~®<ØðÀ;¼bi-gø¤Å™b–kYîy”òI»+ÎEæ* §ë(£ÛF‘Ï¥j°ÊIÚŠ(¯æê’sž”|rosCOÍÿ{FBtøŠ‚^»ÝVœ-ŠVòÔ¦jôV‘ÛKŸ0›‚òQBqàêÈ.‹O”æZ´Õ%rÞ^7)V"•, RÆ•8ü\­Êèt#ÊMIËe©æPª†Ü8¦]ž?)i$Cwwô\IÇf½È€ÄîëAÏ¡}ØL¨hì[ÈR÷‘ lòeà"¯Y§U¥ÊìnäÆè+ ¾|Oõ݆*’ÈûItÝßHq8$Îeæñ ¡;àÑ‚dE³ó©+q>V¶mq?—ºÜf—K‡(R‰Âç¦L¼}i뤌_\œ›eBÎVþu=ãA€= E³_â÷õ­ÓƒëÓâlw¾§Ä¹Ó·Ê­×m>¾Ú°DªƒdDùbó&`qÞh7®ÏRÇŠƒmz°Ï(ÁîTD5ázô´8«+#NLédÎõ«yK2Ä>uqfC®g}-“nDµX%î_ˆ9Îr’ëõlŠYP‘Ût þFC%ÜJ4Ú´ 'YçQKÄØÑÒ=[‰³££^[âÜ.V4½Tk³õªœ(v$ÒÎeªs-îç—R.ÃJœ~®¤ ˨7ÚU>$ÎëKå,G^@Kì^qÞÈ#ÖB¢¤ãÈ>lçÙŠ¼Š–,YN8¥¥\Âs*¦rãžD©µmÞ¨V¯…ÕHìÚÌÕ Û'ŸÅÈ?<¾g‰’k¡j¶ßßq_‰ó±²m‰ó†Xq¾Ìƒmÿ”~Ç")‹ª[+6û q©mS£ÚÕËûݺ‘þÒÜ´e,·é¡>̃6Ÿûk·ëHš•í™T üN‡1ùN›®2X¥«@œ|0qVéqG’ÛˆsꚊ%eIÅrN³ùBG{vÝ(—°Õ VÖãóIÍDž--Â*w³Ùqkés»çî€kq²MÔÿ=¹ ç÷u®RÎߌ¦öO$±™SloߨVSYVê俎8úÜŽ¨`½ Q:æ}: ÎF8W©;¢‚ç#ûpî5•£SÖwÉg!kÔëˆÒÈQ¯•íˆê¦Ýˆó¶8sÙây­b–O£âxĹ0ÑÉj#:i8.Ûûg•&Áu—Ë¥•YÊ™Šð«¨½JM’ò,×ûÈ}¦·Kœ!Ž6#Äù;DœMßZÌ­oŸ8¯%ª-¼Í§Õ ,Å*ª^L%?]huŽóhý=õ»Öõz°MöaqîôájºŽ8W|üYVmÀ}N#Þ·]¿kˆ3€ßYœÕÊäwrœåR¿É5ŽF4 µ\rG‘ˆš¥7NFææž6_¶ÍK”üÝöƨAçæ3GŽ3Ÿt'ÝçnäikV¶\þÈD¢ç8ëÒ,ò“1Í–’ÛYÐ|2TÑu-‰,×r)ÙÒ¬Ô‰ÙÐSe–sx7ÇùÐçê\òPCs“ZEóÔ[å8‹X9ƒ I³me\ïí¾ë¼N5åÙ®™MIÇ‘²iéd™]Væ&-kõL>k;ÕZg¦™6ÎZíO›G¨Êö‰³.›ˆYÁîöh‹Š¿\H>¬Cñ¤ØÈ‡ó#9ÎËvqq®—3Êç‡æ"—›·¤µû2ù·êÿÞæ<¨¬‹©Ê3Ònݯr’óœd'Yœ}oß:¸¾ãâ¬s¾Û|d êN(’œ¤íÈ`Jòç•quy­û‡Îq¶U»5mýËàBÕù6=؇kÓ‡S’M¶û²>–è{tntÉh~Ï ÎþqnE©·5«F>¤°½;^]ªmg$™Ìlæî|-ÅîÆlú+óEÏ;b°=«FЙIáâ,ÛîëÔ†H.×™UCíÇ,Só8[í¥hǧþhޙú É ‘BÏZ06•°9«ÆþÏmÎôÀ²$45wzUÓX'Ì·Nô “> ‰Ô¯M¯/ë­Î¹ãAé8R6þnê›,ÍÍ^ì­fÑQÍí|×yÖ™¹Âi4¯7$v·8«†×7w¨3‹U¨Ò:ô¶å†´°3s‹Ì°r‘Y5ö—í¢âlêàÐTƒê*Êž«*ÏÛ¦ÁBíÄzÆ™}‚Ëæ¬R 6ë^Í‚8«ßT¸šã`Ü{oßÚ¿¾ ˆ³ümžQä­ãájÖ™U£¿ªc5ûͤXÿ®y@öùYMè@›^¤÷}bóo4 Ö©ªŽõ 5QJó+6sÄWƒå–¬ƒ?Œó7ˆ3® U’®Ð™o@œ!Î[¨Îzé’àÍgˆ3g Î@œQ@œ€8paꊪ÷iƒÏ†ªòs›·¦²ÂoýÊ×Ucù ÄùÃpvzB§ghÀ«ÌéÉk:û#ÛŒÌy“ß>©§ŸT&Zà€ >ä)v0ý°«-GäY>Mª ”/è§éí{jÛ…~çsêÛŽ~²›ÔZúi‡îðcœ>m³®äɉ='ù0ó'ËãÓ]w㉖hqÞÔ\zq7¦k×bº÷òì7¯ëÕ㔮ǷéÉéùw)¾v®Ýx@ÅYg¿SþÛµ[”¿~ßVú„nËön?¥÷_ 'ô覔{s‰o¦ôðÅE¶öšžÜ»ÉŸD'gP›Õszka¶\|Ï]=Š·gÇ«Çð©RŽ<²®¬8³ÜÄÙñ”ʺ~wÁÙçi`}@qfù_ä4+>Æ‘øf]ÉcšEœ—DœçÛÄ@œ?Œ8ŸÒ“Û"rWTœy¹ù𕉴þŽâüæ%=¼›Ò݇/éÍï&Î1ݾ›Q–Ý£»·¯¾COŽíË›ç”ÊgWâü¡Û¬¢)4µ4û4œuÎàÕŒ’V¨½Œ UÁ'J³HÈ5EÛO•U³”"×ü6lŸ“}bÑP1Pà´¿#›üÁtσjš§¹–¹¢3ˆÉé­Å¹^d{¶^P2-yí Í®Y7ËsÀ¿E^{> Ém¯ÙõÇ…*_³òú#šµ…m–4äýˆäq.2ß ŽYš‹óûÖ”4M.ŸùL”ÑÜ8¯~ØCBIä‘ãØdIýLKµ9Oœ¤³¾zJ¡åRºìZ³ ¾ãR<ÐëwåóMA“ßÙ^JíáhÿöHžBžRÒÈ•÷x[ñhF“¤}ÍuÓùï®cÕ hà8'1ù®C¶Åe3uÅm»®NçÜnÁ„*wȸŸØ«vˆG‹ƒ/Ùw›¿›ð¶rlnG/¦ñJ†ZŽû«+~¶ß7ï•4 ͺ{\¶‡÷Éçý•­SÇ\.®Û¢íÇ® ßÛÏÕý3úº#ÎUÞ'‡·1œãR#øXÅùõº%Ìô!=Hojá¼~‹²gÆÈÎ^Ó³wèFl¢ñMºûHñŒŠû×;QИî¾àõ>§wn¬ÄU"£^¾1wGýíÖÃGtïVlÞ¿Gù«³UÙNžÞ§;7:Ûz\¬dôôÅ#Joêï]»q‡<ÛL?Ø%Î"ÊÔúÏ‹ó›—õñrãÎz~ªåòÙm-¦Þ¥›j߯ÓOééÃÔ¼¾Aé#S¶­ˆóÑý<;¡'Ù-º®ö‘ëúñCÝw_ìØŸVœou$ù”žÞÑeN¥Îy}O³Ûz}¦ýîå2`ØŽVÿ¯4ý?v´ïEñøÝ2m|ývFOÚ²ž<¢›ò·4£TÚ%Nééßô™.Eº†^0f9f‘îûê„!Çm9Ûæ„Ïp Ÿ.çrÄ‚bS<^’ÄwEBäu×o@ÄMDÃä4ÕËŒ|–çÁŽëøÕ4dé‹h,Q×zIãÈVV%ÎÕ„Ó¢P‰—lsÈëui¨JK§ÓÊÍ$ ËP^µâÎëeYÎë‹‹óáˆsC‹„eÝM(/ù³5KmÌjY‘ñOŒ\UÓˆ·“TO=‹Éæ²µ»¯öYÞ´%Î,‰V8¢EYRYU4ëóúý!Ër£êf;üZ¾wx{Rÿr ó3S7²=~Œ ó:RuµhŽÔ±ˆ³*ÓX ¸ÞR·ÇõSœ¯+®ùRmœ?cS8Ñò]/RuaTîgؾi3@ xÿZùžõYÔ}J粦EÆíËŸUû·q.iäYL+-Û‰£ŽÝþؼºäôç<æ9ÐÏÕýéª]ª ¹/'fð)ˆ³¼N=£ç,®7•ÐÝ#yûôYª%ð~NÏž=¡·c%qY¬N_>¦»×µTÞ}˜Óó×,œ©~>xLY:•ÌÝ|Ì ·J‰v>xúœž=¼­_ßy¦„óìå}º¡$,¥ûÒ=i½÷œõôä±–Óë,ÌQvKÞ»©Ê±Oœ¯ß¾¥¥î¶lKœÏ^R&eïÐýÇ9=ºwSKãý‚?ÙŠ³–çÏr³Ÿ²®ô„_ß»ÞY×qÞ½Ÿ<àxpC¯ûÎ}zôˆ fÝç7'ÏtÙ¹žïgô:¿¥ÅÿÞCÊ? ;±–þ§§,ÄO2]§¼Ÿ?£ÿ÷‡í6Óm,õ³0KynË÷¯gôâÍZœeý·³tÿÁ3z}¤ÏlÈ‚\rìuòš-KG6LÔDN‚mʆ½+*À'(Î¥<Îxãñ¹,’":ÑlG4±¦²¬ôo£®¨˜)²¨n_ÝaùrÛð ‘nפj¨ß¢›RÑY¯äÕ:êw·)βöFµ¦*h1é¯"×ïEœ•\ñwòzk€ ·¡DÖÍÖe­Æ,f>iãm8í6*šÈ6”In‹³”ɬ¿™Q,b7ïÔK®oéhêÁí)qH0À hZw_‡JBÖ±çN™¤ÍYæíþBÉìåcc8¤ñŒÅsïRï{÷Zç,øª,5åáæ{*¯Ù1eÙJÕ(R—lÕ Ê|‰{¼ý\¿ölà8Ø·ë¾-[q=òß§àg¹”¯ÞMù--}OÙOŸ ¼y—eö =/N:é;.ûŸÒë“Szóæ5½zþHKK˜ä·B©åT ðÝYmûŒ^Þ‹•Ðe­}¾`YA¯NÏØß´ØÞyvj‚¶&Ú®k‡8ß|ô’žÞÕß;ù+z¾q>ã2ž¼~CoN_Ñ‹ÜH~ú¢#Î7Œ˜¿1ßm˶.«ˆë>qÞ¹Ÿg=Põ”ž™Š|ó\—÷°8ïXd@`ò–OONèôÍ)Ïè¡T<Ò£•#©íëu½œ>¹m¢ÑoÖâ¼êt´ÏlœÝMq–g®£e>¤Àêä>óAâ >}q–h«s®¿«÷}!Üt"Iiuú…í’†äñï(<f±q{äwšëœc"}-t¶~‹æw§¤hKœ«¥‘«®YŽGA(©ÄÙ¹¤8K¹v”E¢¾’r¡S':b¦$׈¬©?‰|ÖüwÙ¿qI;Ä™Ey––Ïy”ÝzaÔ‘ûƒÛSƒVŽ¿çõ¬>RÇ*U£+ïZ6‹³4Ni˜ôþL<¢e½[œ»yÄõ¬g-ß»ÊåKÅm‰³j_g@ó’ëÌéÓL¢Üüï¼àÁ„-WŽôßíºo£á=‡ÏZ]UàãçÕm§ô´+V&­ î Û»ôDYØyqÞH§ˆ¯›Ëø›â|óÑIk¸©{CÏît„o«Ì/³ë»åñÎósyÅ+q~Ì:þú)ttïÞì ¢IOh#É×M™SY_+Îíg¥Îº"}ÆÇÊëGÅyç~¾yAwÕ`âþêÆÅ³W•œç˜nݽG÷îe”Ý@ž¾\ÍŠqöú™JiÓ/tʆÔãÙqq>{Eoìó[²ó­8wëùXŸéÆÀ&Á9q)¥ÃØä®7€Ï$â\˜ˆ]µ±³wFœU“ÅE¥4t¢µçÅÙDœùwÔÙè*Š«¶ï7r£›ª†¬+Î:ØŠ&ëûTÊ•‰ºšëJ•,_6⬥u#܉¬çVîú4ùd­ˆm‹³³Ngi#΋­ˆsoqþíâ|¤ŽßIœk* ÒMÏ‚¿˜¨4ï\®Æ!qæu‡Û7çÉÔˆ%©YA·oTåti…ä„S#üüzÈu^ ÿn×}Û·Þ¾IeAÔ|"âül§É´eÅ‹—ôêô5½zñtÒ锆M {I÷”Þ¥§¯X³Î º}‡8?Þ%Îm×D:•³ç”±(>zvB¯Úˆs^ÐÉÉ ¼zI/^ðÿO÷§j´ÛyýäNGµ ‹¬ª†;©àuœ<Ö‚¸qnÓ#Zq¾y9qÞµŸoÚˆóUt¶M‡¹xŽs—6=æÝþZåžëö½hÄùµyÍŸy¢êöUñ‚^¯èu7U#í”íHŸÙ:ëóÉi+¢TìŠ8ý†)°ø¨ÌeüE%wƒIލCñ¤ØÈóó‰JR䆬Z‹”ÊOåßL¸ã³U“m‡4’d£ó†W9Îü[ ¬6/UÞžPd›¨ã†8KúCì8×b$¹Òj=žŽìVSþíÚIÙ›Šæª<»ÅYRœÁŒÅ±9'z*WrŽKr1ò~Ú¯<&Î*÷×³Ô váJˆ³¤Lô%Ç959Î…ÊqV7%Óûçƒu|DœwÖ•úŽEAfn¬fúõ¹iR‰³ô‹ˆë*¤lÑ^íc¢û«´Õž¦m¤½¹nuߨպUУÝî¡þ»GœÛ²•cɯŽiÚæÏÏd&ûÁ'$Î'uþìõô!=yú”g7×ÑHj£ÄüúÞÊ‹…ަÆ)å/_ÑË6ýÁä¾çNŽs|›îÝ¿Owotsœér^OéažÓÃÔ¤`ì°ÉmqV©··Ä¹x ·uû½xUÐÓìF'‚ý;Š3^™çk·îуûwW9Äï*ÎúFÁë”=-xpcÒcÚèx;˜á²ß½Ïƒ„7[mÆŸi’sý8dêý–ŽXÿVqno:"ÎV4Åå;ðiòÚú.%‡³!…í¬N@ƒñž+.õœÒ@§X¶KápL£í\æN„r1ŠWó1‡I²1]%34xf›–¬k¶­m¯ú4Ë‘™1åÔ•²UTRËž¡Á³Û>F”úöqÇ6W–T:Èö¡Af¹VWžÖ3=\DœMž¸¹añ¸8«¢qß_ÝŒì›Uã=ˆó¡:>(ÎûëJféXÍ^Á²ó3ªgÝ/Ö³jlÌö!b<ðtꆉd׳ˆC޹q´½rئĘýÜ׈³ zF~;0+Ô ’»û2©8Ëëç«™$DjoйA¬MC~žñ»Î‚ûÿÑë§™™!¦›é}ºoôñëãâ|nV ™¢;«Æó‡4›”>z±sÞäóâL*¢|ûZ7ý‚÷뙉Bö){@éu=÷ó«³ßSœi3ýåúºÿHßÀß{ùâ,Ñóܤ¡ðçÖ]zuóÁßÐKÞOµ-ÐÈ:6ÛìþÌã»ë´•îŒ%¿YœIåhªèNowždx ®¢8ƒ?<{BOŸ¿¤3"8+î+ßu£ã§CCålDIäë¹Om‡¼ OétIpf@œÁNqnotŒï< ÇQvÛäv?ƒê€8ƒo^Ò£»·:,‘‡Ê¼ SÔ Äˆ3g Î@œ€8q\ qþå—_¨,Kúþûïi>ŸcÁ‚Ë'¹È1NŽurÌq~'i~ñâýý離ªèôô ,X>ÉEŽqÿøÇ?è‡~€<ÄùòHôEN$oß¾U'’ÿüç?X°`ÁòI.rŒ{óæ:æÉ±ÄùRȥ˟~ú‰~ýõWÔ:à“GŽurÌ“cˆó¥¼¿³³3Ô8à³A"Ïrìq¾´8Ë%Lø\cÄ ÎgøÌĹ© ª´ëU¦.JjÐfWåCUYÿÁE(é½á}­â q€«)Î Íc‹z=‹âyó›×µEäX>Mª+¤%ó˜¬^znB‹f]ÖYÄëy4zß÷eVòe{þ„Þ5”¹RîÍÅr#JgÙZI“Øåϧ¼¦«ÓfÕ,¥ØwÌþXäøñ÷çÝûê,²È.õ¢œPlêÕËŠ»ï“ì`JõEÊù»TłץdÙü¶ím¬ç]ëÂ'Ës/­)¸ª-ºÿßþ9¤äZ!åWPÖ!Îq>vÚ£‰/òqEÅ™7m…àwçzNÃ8¢x8§÷>oÅÙ"?îS¿S´Îàx½×3 Õ ¢ç+Ðfåˆ6…YN˲¢ª\Rž†Üfýž[-ršº…êi@='¡yYSÝ|èÝ÷ÈÚ+Λåü~ ÛÎ{çîzÞ±(åœò¹\ 8Cœàcçj¬¢¥V˜Ò0rµpÚ> ¦­]–4Mr,í´<Š2Ć»m×—Ó0tVâ*‘Ñlnd%Õßü4¥Ø³ôû^Lã¢Y•­˜&8ú½žíQœ-V‚!QÊÈ5ï9%Órçɾ+Î=%cÍNq®çÙz}õ ‡”+™¬iȾ4FäÙò¾CÁpB“aÈ'ný:l˶q>ºŸMA“Ov[×Ù<ùL<ß±?­8û4®ÖU>þN4kÔårYŸÓî³ÔÛHDh;Zý?Ñû_v´ïÅb“gÚØö4ie¨ÈÈ•¿…} YwHÓ¿ë3‡å\µÝ§ÍqïÓ ¦á¬^Ë\@¡ç’çºä®ÚF÷“å¸O¾Ý–·O㎼©~âÙë~’—‚Xå‘®{Ùç¦ÿ-²ÉŽgk‘e!ì‹.šs¿b2X÷O–0¥r·ê6±Lß ’b4‹DÕ§.wJË¿¦ä9! ¸¥OÅùëµÈ6 8ü·$&ßuȶøïaF‹¶ Í’Ʊ·êGý$"ÇMè°Çr¹Â¶¬·gG žm~³q§>KÊ¥ÏÛë¾Õ\Ûë©7êIŽ öª?—4òøsanê˜ûG`SÀã"Î=—ƒ@ï·%}}}ŒàƧ´í“–KápFj|øYˆó¯o&Ìç€8ë“{˜N)Ÿ$JâzV¬Ä¦žj ôcšNÇ4 ,%Ÿ)ŸX«ùˆb[ DœŽiV±ü„–z G4J#-s^¦¢­PŠP%“œ¦i _‡Sur©PŸg‘HÒ!K§‘;‘)¥Ôâ–d)õÕ{. wXB+ζïé¨?¢b[œ•i9N²¥}W•ÅI*úÕŠ©ÈádÚ+á×cóÚ×ëÚ#λ÷“¥o¨#ÆËT–ñ@Á¬û¢â\Sê;ºÞ,wåÈ×Ñõ8¥Ñ(¡Ðj£Ñ5 æ@‹šÅõ6šÒ_þïí6ãâO#UO sš±Ê÷Elëµ8«ˆw?¡dÈ¢x¤Ï(ñé{äzýÝ‘ÁzÎBÈí (ãúYœK’5meÇ4­Œ(§<ÐÆJRëYŸ%Ò§t^©¶ZdqåÜÜ¡Åýo¼Tƒ»2ï³¼J]lFV«)Ç‘î ¼>ÞÖ¬nƒô1Ù»”ëÂcQs­—™Šœç[­f9·Ü¡®C‘è˜E²¯Ûw#â¬DPYs5·{Õ4›âlK“û-)uÛÔ’šæ} ,Ò•l"§ôç˜8ïŠ8ëßA&õY󠎽@÷åjÂõä Ì E!YV¤Ûõ@ÄYÕa[–jºêSªªê)…,úãòS5äwÚç~ØÈ1(%ŸÛ»¯+>Râ IÀ^× ÷ÛQñAެW_œÏNéŸßÿ‰¾þrÊs^¾øš¾ýîo¿Ùáç¿Ò7_þ™*5}ôüé úê‡Sú½f“þõô{úê‹?Ñ LˆóUg73—òMtÈD E0”ôy æ„òEѹļ#²ØÔTÕuIË<3'Ì:a¶BiZ뜂ն¹\}-Ýý6YÍøø>£%Ø‹L‹m8­7N «uíg/›³èè`À"•o§jp ¹T_-i6Žu+šuÄÙ¥´Ð"8 {²µe5QÉ=â¼s?Y~%½ëËÍ"ÖQqÞ±#-Tr³YQPUsÝ/¦4ô:e?šªÑ¾^×K5öUÿˆDFZq^õ:Úg.Ö ÊYòãÀ]E£47ÑÛé\Ç%ed©âÁÙF»K®­£Ë«D¯[Vn»b¹ÜÒ-q&ÙµõMÚš%wwê×oY™6­¨˜)²-õßÑm®Ó~6Ué 1ßsâÜ­·mq6íÐFrû"à¼ïÜ®"­]i—~g½“8[z+é ×9ñ¼Ÿ¥+¹¡t1áH[ÞC©Üç#[§ÞHÿ–ˆ{äHŸl´T›º·çÀ ¨Ú㙉n›ºwúàùþð¹ŠóÙ¿éû¯Y–¿ùŽŠ“SõÔÁÓÿ“¾ÿöKš² ÿøö"û“ˆl+Î\õÿ>¡“ÓßÏj!΀+-ΫÛ¶ÄJÒ ú~'õA¢ZmÚÁyqÞH§°lsSœW'ÄfFÑJêÖ²zþ|©…a·<æçrE×â\òÉ~¢#°–o"Ø­ šô„6Úk›õ‡rɾ-‹ŽŠµr¡dtiÊ£ÒTL´q8ïÜOþléÈàÊyÌ à°8[äG1õû}ꆔMë@Q9¥$\ßh§Ó.*Î…Šbîª[O*ªçn=ë3ê…›¯J¹zÁ -¬Rß6ù]’:´DÒ #éçŸKX»ó‡ˆ³´gâèt %|í€i{’¶dRuø3~’'Q÷Ùΰ:-ÆI'e$¤¡É59'ÎVHëUl‰³ÓHª~çhÉ•>gmæë7‹ÁR5èhŽs3ÓÑr-Ö©¶Jkñ(åXpq–Ô›PÚe{Àu5’«~-‘rÏTð;‰³3 n¿H¥Ísz½‘¢ÕYÎ¥}†âüó_¿¦éW ú÷¶„þú3ýí›)}ñç:k£Èù޾ýækúúë¯èëo¿§‘ê³ús©þò[úçÛ͈ó¯oÿE‹o¿ÒïO¿¢oÿ¢Ÿ;‘鯿ûžþüÍWôå—_Ð_ÿ™ŠScß¿¾¥}ÿ-}ýEÿ†þR˜uBœWYœW²±)A*ÊÄe-ª’–³ e&¥AGü¶%Û¤?Ø1MÔµR]ÝgÚóâÜFqMj†rö1 â¥y©NŽmä¸(ùõrN³ù‚˵?U£ÝN9:'R-Ír¨ÓB‚-de¦Ó 6"Îmôª#ÎÅÅÅyç~v"ÎmÔL]Ö¿TŽó¦ MCg:ÈK•ž0‹­KEœÇ&âœÍ *Ë‚ŠÅŒf‹BO3ÖŠ³ª—-qÞÓgŽ÷?P…çåVµ±JÐõít£¾åˆ´c'unp+Ù2`°’Z• Ã}a!B÷®â,)%}[ç8˵š± vrœYçùŒ–»œÑ$uÔg¹‰ûq®¯,Ôr3¢­ú†º³±ž]#ù–µŽø®~Ãë«-ïšãŒ U^\‡¶«S¦$Üãï ¦ZôëeˆÿôƒÜ xuÅYÄö«)}SìÎÇøõß¡/¦ßÒ¿Îvä-7?Òì‹oèoo÷‹ó/?-”àþ«#¸g',À_~GÿþUîËïþ½ZçÙÉ·ôÅ×? :Ÿ½¥Ÿßêw~m~¦ÿø}9Ñ?ˆ3àãgy§‘™IÂÜ©ž¬g¨XL<3ÀÜY_Núfv™ ¡¤“?{LœõÍG2«FwvˆÎ¬ùÂUˆKQºûŽùóâ,'\ssá*Uƒ÷+13[Xƒ„"‰–;:Òöû‰3™ôsã¢-7'ö•Ä¿›8‹/ŒVsÛ"ãÏ䃫ÒÐ|hRmìdœ±Ýfê3Ù:m¥±ÄØâ;ˆóñtÅ‚/ó8¯f_qx°4j§ó3y·íLÒ—¢”ÖÓrr¸ß &EçÊ„Ìêcê„ËìÅÍ?ÐÔuW8âü3ýM"À{näÛŒ8Ißüóm×€éO_|Eßÿôë^qþ•Hò‚~úµëêòÙoYzÏ˸’ꯌ87'ôß¾fqŸòß¾¡o¿ý†ÿÿ Äp…Äü±È”{šäsj§êm#ízFðA²Kæ§ò`’ UEÕTÌTv*HE¹;yÛËaDøÙ.Ÿ5W:Çùt_Ž3Ku1ÛÊqî¦t¼ý}Ã"[üƈónq>£ñ{_üéŸ&ZdùúZÄù-ÄqZhæ}»“‘ÑÀßÌíXœÉ™Ï)ñlЦÕGRG’Fa‘3˜é›D«9 ½NIt|¸gŽiðù‰s;«Æß,èŸÕ)½mzûÓ¿è‡?}IS–Ó¾meXnÐû–þöÓý*Ó×ýùKúâÛêg%µ3*N“»ÜÉqþjJ_oç8/þ½ù¹sâÜÐ?YÚ¿üË¿t§5Û›¶¢q@œ‘š,òVá””(S…šùCĹ}(‰Ìÿû1‰fSLxÐefíPéF›øÄù¼<ÿ¤æqþfkç“·+¥ÕùÈßþ…¾ýJ>ó}ý§ÖÓ÷° ÿ0ûBÍšñýOÿcsVŸ¤ÅÌ̪ñ…̪ñãÆ¬ûR5Î~úýé«/Ô¶¾üjFßýùË/é»ÿ q@œâü‰óq³þÝjgg€8€8ÄÄ Î ÎqïJS•ôIOú&þlgµ“GocJ?qˆóGFd¹™y"`×m¶Ÿ†vAä vV¸óΗY‡ïÄ4» Sv½ýÙQ·‰ëîyZÜWÞÅ@=Fû·Le-·WO3Ü_Gyaû„½”æqóçóÄÈ+ñCë<=ÐÚ|ÒæŽÓbwžì9¤üæß“§Úä ~Ã{Þõ8q†8 Ο•8óÉ{9›Ñò²‚Ô4ËÛ\ÇÍrHŽý)‹ó\=ùsçrä‘uDœëYLŽSä8,mG6ÖTTU¥\Ð(´Xº“öç#¿2š±ÀÚјO ;ôˆB‹etO%ÖyLvϧᬤ†÷mžú«GkCœ!ÎqÞs²Í‹Üγx7$·ÊišVÏ!¿ûP…jFé*ºåR8œ­E¶^Ò(öô{N@ƒË‚q$â¬þïPœÄ介“DÁ2ZÔGD“ÿï9!%ƒ€\^—%X•¥¡å8&϶ôÓù܈R±œzÆRÙ>p$¤qIJ4ú¾cöÕ"'Ò¬Òë˜E6¹ƒ„bÏaÙ¶Èöb¯ C"w}òÍúl¿O“¶’ÕÑöþôÛ”SJBS6Ù¿dºz¼r=Ï(ríÕÃSt”±¤IhþÆísEU#?¡$òÈ‘z²}LÛcIù0$×^?„¥?.´µõÛoë×åmÌh’´¯ù³“u¨²^d\OfÛÜö oã²:Ôgà¸V´à4KºEò‡†÷sà“c¢¦N¨¨iûÝé¬hÊuäqß_¦ÜFáô1nó¡Çm¡ûÎE䲘 (p¬U”Úìy’_Óé›ÅM‹c£SЏm†«•ÇlsŸ‰f;µz¨ŒÝ•]3кHô¼û°éïõÔB³.Õç×ô‘ß\Öþˆ÷OÔoßâ~ÍudöÝÙ÷Û‡8oòý÷ßÓÏ?ÿŒ3)à³AŽyrì»zâÜÐbÀ¢Ø7Ç'D9¹…ê1Äe¾¥ž®VˆÜ”9 XfüQ¡OÊ}ª@ŸøDúúêrøÄ™OšV86'Ó%¥nO‰Í1qIò³¥„rLe"­Õ˜|˧LÉ‹Ä(XEÕ6"Îí‰{´~DñÐmeEÄYd²Oy¥ëlÎõbU/µ´­€²y¥dl>d1ðRÞ×Cu´KœYX¦Šº¡j>$¯göA‰"—e eY¯‡_'"*בMáDËi½HÉãý•t.â,âÜë¹”˜ðh5Xzc%§Õ„ëŘýÉ ù½è\ýª§9OC%>Á¨0¯#õ]å[Õ„Bð„JÞy?f¼2÷~ŹÎ#Õžj—D¢%âÚŸ«r8s?ñí€&•ù?FLU('‹¡GËš >¬õçëeFþ…R<¸ÏfºmŽFß‹”ë) içsõtÿ•ž<ä¾Ù}#÷—>ÿþ‚c7õïÉ °1m,­Ä™×IÔ{bvå|,èùò[9p<1¿ýžÇƒÕ²Ö}ÜÙóÛ‡8ouƲ¤W¯^áL øløñÇÕ±ï*гD¬zNLédNEÕlž¤{>;çX%_ò=‰˜Y,Ã)Pïyg¢z% ‹¾ˆÐŽKÀçÄÙפßd™ä²2©¹ Q¾ØŒ|n¦jÈdæFÁ¦¦r9SÒ«e 9«s–GWäXGî6.S³À-—¼­Cu´Sœ»Ÿ5ûÀ;Ø,r¶Ò8ê £-²ZÒÈci ‡4ž-©ÚØÁâÜݶT¨mÖ•æËMUÐbÒ'§­ÓíúÝ4õZKn9–m¤ýÓé—½ŒQqnæ±Ø~6¥ùÖ€ÇĹH=¼Ü¼_ÑTÚ19þXïz!¢hS4)/õ;+ËÊ Ê**æcŠl5?@•s;È ìÏÎÖý$ÚH=ªgÜOÝéª­ìˆÆjÝ5*õ€ÈŸTØN·?nþä†[ݬÑå’ò¡kúÄã‰ùí‡yç·Ï’½ó·qÞä—_~¡~øADÞ¾}‹3*à“EŽqr¬“cžû®ž8“Ê%žcòö²÷@¥!ˆ°X»n”²û,0ò{.uƒEJp."ÎyŽNžÛâ¼q"_K§’ùˆ¡«/[.Eé\ÉÒ¶8/Ç}ÞO‹?c“ë‡:½ qv;Ñ9%$J*š°`{;B•ë¨9°?f2Þ‡@ÄY$ÙI¨œTeoŲÌ)þ¾NWðâ‘Îß!Ζ?^§T“µ8›”©#Ëñ(ù³]qî–mÏëYmÄhÇ>[a~©ÙKŽŠ³ÓJgM‹qBÑ*5$¤¡›g¹qÒôi‹V²¨ï›¼Š@wÊï·ùÜ·#®g/½¤Ðñgš„ºl—ü0dùÖƒ;„­ëjo$*m9ÔÏ/˜@b4ù¹ˆ3÷ÓûÃeê¯oxt㡺"I´oVƒ¶Õ_¸ÝÝ•8¯SuX¦½€¢À^¦öOöþöã9Äù¢ò,'¹t)yX°`Áò).rŒ“cÝ'ÍFœC–ÂtÙ‰Dy&2ÙPµœÓ²jÏýsu3”䂾V2³u3›L}VÕ:GÓڼѧš^0âü¾Å¹.h±0¹º¼¯ÅTr_%'⬢Ã,-ój£^Ž‹óŽˆs½ Q:¦Åÿs Žèâ¼Ð‘Ä !Ê[yá}Z,Ìeqn¯ÅD]nW"aq–ËëÜ®Q'ÝDË/'ÎFV½ñFîî:y(´:¥~Ð_­S ´¬NÛt·§R LĹ\Т½³”Ûz–ú«É!qVé5ÜöyÙ½Ùo¦Ö¨®©, *Ì¢ÊoÒwìxzé›RUt×áýkÓ¹¯Ë¶B=òYm§(J}ՠʩσ?]^\ëœB•ÓZÇ ZvìÜìX7ê KÝèïG,õÇR©ÏGœ›õU“r±J›R6üUÄyßñ¤†8ø8à“kâ¨ÜÂ9Ÿ±ëbªòg{Jr×ùŠ:縤‰¼Žg|¢[RêY*ïV_é]Pˆ|‰T˜`?%ñÐ6'÷b7¾gq.Rck„Xç{:®„̧ŸÉOEN{ž¹$¾ÎÛ´T¾ì!q6³ðöG*Uf'ðtŽóÁ:º¸8¯sœóg'1¢"¹Ù™™vÌä*ù3rM %FûŹ¢I BhrOë%c‰zúÆ·Kˆ³Î/·)kq’›È"{±­—3Êç;n”›5-þ\:c±[ИûYÏé²²T*5BöƒëWr~{Zœunv+¤&‡ÝIH§·ka[œ¨ÈMÖŽôó[Ø™,}_Ï ‘‹ÜV›3lÔæ÷1ÏwÏSÈTvrÕ Öƒ²…Ú‡Þîè.··JÚ)èX¶VwºË¬YLNVï­gšp£t=õVÙ½C^R²õ{MA“¾¯Ó#lŸúIð¥jè ¯¥Àñi01hÞ^ê[æò¸ˆƒ)¯åÇû9fÑ¬Žˆój>\{=³Ã´,ª£‹Š³$0i2;GwV…̪Ѧ8ó•üÌúR¼?*¦j4,Yz,ln@ƒñx=ÃÂeÄYV+³|xÖº¬NƒöF±Ý0OV3“X³–tÛPf£q»Ù«Y5¦2«F;ƒoÔšk!â¸#5F¥-8”ìº1OEÚwÜ´ÇBîœÃY/ꆺr´¾¡óœÓÎ)5ígÙR'cIŠÔŽðn3ï¯f¤ØX¤ÞTšŠÜ4·'¿Z¶Ó™Å%ÊÍã¬ëÎ6³|xQff‘!“s`;þ(m•DŽˆÈ¥}=74 ¿OÙ8!×6WLöO Ο’Ñï=D=ëS<©~÷½ùPÛùT8ì5Í9¥Ã=s3¿7*ʇéoz0ÌÕÚĈ3â Ĉ3g Î@œ|F¨GCëG!ÿŽ¡ylïx\òEŠ7$׊HïÜ“ú>VjÊå tê©ÝÿðÆçvâ â|•Ź)h–Ïéã.Ĉ3€G5£4òÈîõ¨Ç‹åF”-t(¶šødù %ü¾ãØdÙ> ¦ëg£•yB#߳ȋٻŹ{¼žÉZTËy–OꉾEFžR2È•mXÃÙê³M1¡o«²Ù~Ÿ,‡+AkJš&9=]7Êhn¢ÈÕØçÏ(ö,êÙ!ý÷ovGœíc½Èxzû=' „ßköÈc1p}Xú³=›üy’\³ ¾ãR<Ðeu.ÿ²ŸÓãňú¾C–ù¬iV禜RšïH&\.xGd9CZê ¤åÐáúéÓÂìT‘q_ˆfTÙ÷ƒíÄÀ§ËVd³(M”T©GíöY†ŒäŠTöz.%Æèª)K—ëGñ²üú,d}%S5-²@IÚ»ˆ³Ëßó³¥’5þ0¼ÞDÌÎD±=é¦aÇ’'¢¦­¡EâRÏM(WFXÐ$fñ MÙǦìyAeYÒëå~qÞ»Õ„BË¢p´à²™í[. —;ôP–GC3託ù,Ï1Rg›%áˆ\–²:=XöM_Ѐe<-µ”Ös®–ï´Ø/ÎªÞø3-ËM™ÓÀ5Â^M¹~=ʔї4òzjÿÕêä5Ëp¨+fÿ¾lÄ>QšŠEN¹ëo¹¤|(B—RÑŠ³›©ÿk«³,û4f»+3{¼=#xï&ÎæÿÚ@)e) Ù\›eBÎF.rM³ÈD6•Œòöº‰ÊJ^õº”8›ýPÅ;$Îûöqkjû{SjôÊÈmEÅ|¼ŽÀ·eÕ«º:Tö­¢Še[7oc9£Ì·Œ¤îçóõÆïÎx@`hÑT4æïª’&H´?°É—úµÐôȾŸjü¤€8À§Êúr<‹PÄÕg‹åx•¸Àb¥¥²¡ÅÀ!+šuDI¢—ö»‰ó†„qæ?4+Ù[Kä’Å^ ZS`ÒK6—Òe£ÄÙêˆý!qÞ·*aÇ6¬0§sY*õ"äõògl—ü0$¯§Z”mê·;r¤ìÛâ¼÷É—Ë&×)tz‡ÅYêÍI:õ¦÷_dWŠSŽ$#§’?ç„S^¿O6ïS1 ɤïûëC킟gø$‘(±ÝI“ ÍHí~©ÔòÕë¾×,)Ùqn%¶ìJ\ïâ|.²Ù¬#¾Íœb‘Ñyw{ë¨¯Þæä7ˆ³ÞGËë¼GÝýöà€ëÍéëÔ S·U^‹³£Ó6Ô{‡Ë¾A‘’ËB=œW«ÏåᑈóBê-ÚŒ8çÙåuzNLYŸTR£^G”FŽz­Ç6û÷ý`»àWÄ>IêE’Ç:Ñz$7” äf?sóØ!©ls‘û“B ÜrîÍqnf1YV@£%Ëp½¤q,îãâ,2žz,ƒI®ru«yJ~'Çy.QoH3%«͆,ó,‡â£ïCœõ>ÚõÀBnˆ‹d 1.Ïí£ÜTד(o­å¶ÍùÖû±%ÎGʾ9¶aIíy”j:U>±ÕŸïçuŽs¾‘ãì$íM•ú}«×æ,/t»«í¬Fû÷ý`»Èî,(ÏŸÀ¬%@œ¬µŒŠIŸeã„\;:.•òr–RèêY$Ü(¡¾k®¤éÀ'GmÇ£8ËT.íQqV_Rè´Ë‹)‰œÎ¬MíÌzv‡±Iux/â,/çEž™)Ãr)ìÌø±9™SÚ–Ó–Ïi$"+wÝçÃeߤ¢œëÎ6³cxQJ“Ô3i(GfÕ0åQå6³j´í¾Øj6 -ê:Gy3§ùȾh—zòßuZgĈ3g Î@œ€8q@œ€8qâ Ĉ3g Έ3g Î@œ€8qâ €8qâ Ĉ3g>q.Ë’°`Á‚ ,X°`ÁrxAÄ€‹DœQ@œ€8qâ ÄüÿíÝÏkiÇñ?*, È „]ÛK.ñÒŠ($‡õ¢—î!F¥=Kq! E6‚!#BaV»ÓԮ5XÈt‰4š¶!|vžiúÓîZ× ø~Á%IËLNo¾ó„3@8 œÂ œÂ œÂ œð_†jµšªÕª½Ì}4›ÍÏþ^¿[Sjò™z¯<Öw?·N].ù×oîƒpøJÑôX>h}N<›Øü!UÒ‰‹%L9 _}¸e®Û\¿ ÿOÅ3á ð?˜Ún gs_‡evjMt1˜÷/s—&ç g€£ÖÑl–;9,3æÔæƒvžÍ®3á @8z–™î†hÞZæ~g™p&œg™p œ g€p&œ g™p&œgÂù†sº¬3i Ðá\™ˆ) í]vT‰tAå/‰ÝJ^綹ʱçÈݺÖÕÖ܃²zv½Þsã/-ëƒ~Î|I4Wô°±¡‡·¦g€ ‡³eÅ4^t庮§¨|&¡p(¬¡Bå gOkU×2SGÎ zÒ"œº$œãÊUv^ssIE¬¨ÒNç5wBÉXDvgGÚêi8_î|¾¬|:¡¨½ùžM(S¬ì ç²rCYᄲî1 çÖ{•^µµþjIƒ#‡sÏõçÊÕ6:‘½¡¹™çê7ŸMÏëaCZ™WÄüÍëUÍ´Úš+>ÓX­Ý¹²–frÓ„3@Ãù£Q oE‡ ªtÂ8³eÇ2rü¸v•MØ E3r½÷ËqÙVŸ†s®ÿ^n¨WV$©âv8»Ê'£~4»ÇxǹU×Ð ¼ÒË_gý‘=á<2§;o¥Õ/u6=¥ÈE•ííÏFn¿ÑŠÖ”»5«k^,¯/Uuf„g€® gËP¦PT±è­B^Ùt\á­xvsW¹â:rÊæó•‚²^‡z½8ö¢z"f)|.߉l3¢á¨PpTñÃÙR$æEsh×îõqçôSõß«kÕ‹å;7§ö„sÏÍW^е]cýÞk½¾¬³þµ«ó³R«-5ëJ]gT  Ãyï¨Æb'ˆCYÿÁr~Xñˆ­PÈ‹äHŸb}v'œ]e¢^§ƒgœíÍ £¶¥èp1á¾:­äBKò‚øÇ›;á¼=½_óoOïíVtšg€o$œãpî°ÝØ:eËþûŽs9¯trL…?6G5â¹²Ê Ùffº„pöÖè‚JMiåEÝßeöwœo½ÑJkU©Ñ½ÇÌ f¦7Oâ)û#«µº–½P¾ÛÝ ç&á Ð%á¼sª†ë8Ê_P$di`ÜõBxB1Ëû9³¹«\qƽ )RÁ‹írÖÌ8(í?,è*—Œì›q®lÎEÇmY}cr‚ÎÞ:}÷­ÍÆÎŒs®îÅôBUƒÞçzFçõ‹y˜piQýW§4øè½Ö›u%G]ýíƒÔx«¡ÑÍKͶfÌ©?M8:œ?>Ç9¢øpÎøÏÌ53 E,ïuËV8šÐðØõÚ1eË[§jÄñOÕ°î» q§òñqtnF&ÀÇœ@„óöÌòîS52‹º¿uª†ÚZ^ZÖùQ3¢±¤?[m=¹÷ûöÙÍ~dWÌÈÆ´’•5ÿ7^>šÝsN4á  pæ?ò/·g™páL8΄3áL8΄3á @8΄3áL8΄3áL8ÎÁ]ÕjõÐßÁ©Ë%L9]Íæ>z¯<&œŽZ­VëÊp6÷uX©Ég:q±ÔálîãÒä<á pÔFW†s³Ù<ôwðúÝš¾O•üè êγ¹nsý=Wû÷C8|¥x6;´f¼¡vš?'šwdz٩5cfF8hËŒ›˜ëÿT4ÎÀ!Îá Îá Îá Îá €pgàkúëéó|)ùIEND®B`‚murano-9.0.0/doc/source/user/figures/topology_kubernetes.png0000664000175000017500000041137213656750211024361 0ustar zuulzuul00000000000000‰PNG  IHDR*®])JsBIT|dˆtEXtSoftwareShutterc‚Ð IDATxÚìÝ{|Tõÿÿ×LfNr‚f¸ HB%ñ°/ %PƒͪP¹x—ËV‚?]ˆ]Ì~ÒߺºZÁð[‹à‚—(BµÐB\1` -ÄAI, 3H&œIf¾Ì$HÂElDßÏǃdΙÏ9ó™É9|Þó¹Ø;zôh‘6`WˆˆˆˆˆˆˆˆˆH[SP)"""""""""mNA¥ˆˆˆˆˆˆˆˆˆ´9Ç×Rj0Á :?Áš5' ø-‚µµ¬ZüG𧾪 «âsêŽy¨;\I׃åñ¼u Éÿñÿã0 ½C"""""""""ß¶†|ÕÅtü_æï¿|jN  POвTû¨ó'pò§='læ6Á`úä›I™û+½Cçª÷OKñ­/ :u Q)7«BDDDDDDDDä²tÉzTþõ—ó©{¿Èˆ 6l6{(°´ÙB=,[`·Ûv› ` ÿíØóþò¯|î/!"BïT üe¨Z»{û+TŠˆˆˆˆˆˆˆÈeë’•ÇêƒõYÄ›Q@„-€#"‚ˆˆ"ìl6‡‡ÝÃá$""»ÍN„Ý6;v»»-pÚlvìv¨­Å¿n5Îá£Àþí˜N³îða¨óãèvÕ%)¯!¶Ù5ݨˆˆˆˆˆˆˆˆ\¾.Ý•õuµjÁ$Å݉ïuíŽ ;$ ` Ú¤!ZkömknkRXúúzl€½¶–`0xÚÖË•÷…_Rµæwtø÷Ÿ^² RDDDDDDDDäÛà’•Á@M ›ãuutë覾¾¨‘¶PXi;=n´Ùl¡Ü2ü°ÐÁ`ð¬}/kÁ`hîÍš“`·c‹ŠÒ'Oþá,O%ëÁ“' êi?òQ®üñSg½Îªu¯rü¥eÔûª°ÇÄÐå—Kš­¿?2Œú#‡é’¿˜ÈÞß×§\ðfóø¬÷ñŸ÷3œôŸµ‚œT—*ODDDDDäëR¹‰Ü³Ù|(ôc\ÿ,È‚[ýFä;êÒ ý¶ÙèzK?>¿õ@x€w š;±}{l1±ØL›«ĶÇçÂæp€ÃÁñ/¿dóœŸaÕ×Ó/!nW´§.„`ˆÈ¨V‡}ïÚµ‹5kÖpÅWбcGJKKùÕ¯~Å”)SˆŽŽnÜï¯ý+^¯—îÝ»óùçŸóÇ?þ—ËEJJ ÇgñâÅX–Åu×]ÇÞ½{Y¾|9S§N¥}ûö\uUh¨öºu먩©¡gÏž|úé§ÒµkWn¸áŽüdµ+!ê¦[°Ù#°J÷}K?üå¨;|#ñ":vÂ虀oíjœ=¾‡½ýÔþµ˜ã«_ÆÅOLh<Ïüçð¼Ž=Æ$ú¶þ¼G±·kwV}xþ‚ú#‡1ï½_!¥œúü—^@H à§´ØçTZÅÙŒÌcîŠi$ý#n¦e«?© «’Ú†_6ZûžçñŒuxÏx<&±?£32òUN΢hæCäÅ/`Åä$.ªZ­b²šÁû-¼ñ×Ïx……CD‹ˆˆˆˆ´aK ¹§BJïûs™µ1…Åéî (§’µãdziÌjúG4’.A{å²çcÓÓØýÉ;»pãà1L<„„¯R1—²Ýë)fí¢%¬-ü„C~ÀGbßÁŒÉKê70¿4Ae0HåGÛ©¯óã°‡ȱZÑ;à4ˆ˜’‰­c'°ÙBÁ¥Ý~ZoIÿ®¿ðʼn Rrè»*QU[C}t;†L¾–N­¬ú½fÍ222ˆŠŠâ­·Þ¢¨¨ˆíÛ·3pàÀS¿ì^/?ü07Üp{÷îeåÊ•¬[·®1¨Ü²e µµµŒ7Ž=z°{÷nV¯^͆ 1bG¨ªjjjø—ù®ºê*>úè#Þxã 6nÜÈ 7Ü€¿üµ+¡]Ú]tüŸ¬«#è¥æÌÃó‹ŸãÛð6±ÃFÐîîÁØÂlçüÅØìØ""¨-ÙÅ¡©“¨ÞðVcPiíý[(¤l׎n«_Çætôû±Gž>„Ü:ð¾·^ÇyUw®Ì˜¢k¾4ÞDB×ËëI‰?¿+œ¯¼oø™ú"¯5×ó캅4þ_ÀòP¼üYfÎÌ%~õœ¯pC1蛵še†yñõo¤óöïÃçUBÞÈ)Tf®c^ª†’ˆˆˆˆˆ|3šjål/?ûá²¢r¬t·Úb—¸û±bÚ©°ÖW¶‰ü³yÖLfÅÄ„‹/8a8 V¤c~å²ÜI³(NÎ sñú&˜X•%l\šË¬ñ%L]6 ÊÄÿ.Í•á!Ý6[hÈ÷îC‡°êëñ×ÕÑùû)\‡Í0Z+ q~J{½ŸÎQ‰±We·±ù÷{ßê}y†¿þõ¯ôîÝ›ÈÈHî¸ãŠŠŠØ±cÇiA¥aÜpà ƒA®¹æ:uêÄ‘#G(++#!!¢¢"bcc‡z÷êÕ §ÓÉîÝ»O;¦Ëå⪫®" Ò«W/Þ|óMª««TU…vªõ*µ9§ÎÛn'ØÎÚíØì§ÂצcC/Ⱥç¾RñæçÐafv㾶ȳÃ[ßš— ÖÕûØØcFHS £3™·“òÄ4⊠Ø\îkvOWr:·zg1«¬å ÝügóØXiàr'“–æÃ"®áSHÉÚ<ò–ã W Ã33lBå*Æ/dðØŠ K(/÷‘86‹áÖZ–o.çP¥EòĹ䄯’žÂçÉ]´‘RËË 9}*™ûêè§¼ —Ik‹(óZ¸Ó¦2+3ô•U¶ü¼¥–‡BV3e4™™ÃI¦˜¼ñÙx2–1g ¬æŸIùèÅÌ»TWfÃEÊða$¼ò%•š¾â%äæPâ 7}ÇÎ 3=t#ó/!;w-%–‰;y0Ã]›Yâ›Ê꜊sGžú†Ò·‚ü¹,/ª ÇÊ„g§2$вG’7–þÞMì,?D¥ÇEZÖl¦õm¥·¤UÂüdzñç¬ 3ÙÏ&ž5›êŒ—X6Ü ìcÉã3(Ÿº‚œäÊŽÝÌ5ݪ¤¤¨O u“Ü7õáiø?r’ݰ¹ôô‡ÝÉ]ÎRZì[›Ë¬%Eø\nâS“Øt=‚ÊBžÏ[ÄÆR`Ÿ6¬ÉƒpV¨ý`ަ¿¯ˆ¥¥Tš©Lz#ÅË ØY^ŽÇLÎÜɤ˜­´­ÌPïvžŸ>‹Í%‡¨6odTVSLÀGñª\òW•à1#‘´ŒL¦¥º©,xšI«’™»l2ITn˜Î¤—♳xZ¸Ü¦mÏŠJ<4»Ô‚™Hß”o^˜k&¤2¼o SJÊñ‘€i•±!6K +±3q0S³&Ó×j?mÈ{–E… —›¾ÃS¶¤€ÔeËm­eJ“•-¶­}ÌüY¼£‡cn¦ôP%£/Sgg1Èm±oy>›Í ,ÍNClj¸“IÏZ€óéÇY´¨ˆ´œJZmW¶ÒÎoæ³YV\DóqƒA—”¾$™ÿ€ f¨„`0@¥÷ ¢""0""8Y¶Ÿ@M öèvçUNB¬ÉÕW˜‚¡11-î{ìØ1:vìØ¸øŽišDFF6nkЭ[·PÀÞïꫯæÈ‘#|ùå—x½¡Á›111|ôÑGƒA†aà÷û©©©i,§axÃ<š‘‘‘ÔÕÕ…BÆë{aoÉ-›9¶hA¨WãyεYwä0Uÿó Ö_wžöx Ú‡µwöèh"oHiñùõ_Á÷Î[ÄÜ9sð}ºàK³ÃÕÓÓÕ…øÆpñÌ<ÉÀð¶T†¢ü<6ÇMeÅâA¸¬}¬žŸøÐÖ¢|f.ñ1qñjÒ <…¹Lš™GüŠR1Àÿ Efóºñeóø³Ù¬±Œ…‹]ø gòxþ*JO#ÙS@vîfr–1¯¯ <›ÈŸK^ò æÄþR <,^…é)$w|.y›ú²pˆå³ò)é? “1­2 ¦O"{Q2+2SÈÈIcRv>…)YtY•Çæ.,»”_Y•­z…Ò˜d2Ü€gÙ3 03óÚ 7VåfNz–çW0-±”%¹k±F/æµá X%«˜1ýV_㬠}É¢gy¾r4‹W'Á°Ø·dSž]NòбXz¿„”Å ™ì‚ʵã³h#£ûަÅWf$2(Ù"¿¸’ð•nÆŸ…%ø†»1+?a»/‘1ÉF+ÇžÈYßzŠY’;—Í 7éϬe9hÚS‘.Ò2F±iæ+|ÒðèÄaL|Ž6JÙZf/*%mÁkLL6ðæ1i£Ÿ.¡¬š•Ëû×ç°l^(ÈZ5e Ï®MdÙhw¨ýPTIê²yL6+Y;~ ³óbX°x!ÓŒ2V=>‰%…£ÏѶJ,¼EE$-XÆ´Ø·j ¹KH]1ø¢<²WÁÔů1È ¾¢<Ægç’´l!ééYLÜ4‰Ù˳xx9ù‹1xΚ˼|%kɵ™êfªÀyãT–ÍKçÖß¾¬*¬&ql"&%Ï?K~ióVL$ÙôQ<3³Y±plÊ%¿8™œÕ™ô5+Ù”;…~“AgZÙJû¸/x)*ŒcټŸñ°iúã,ZµÔiÛ·{‰OO;»í†‹Ôá‰ÌÍßL¹•Òj»Òl­ÖûVÉû‹f±´´¹ÚéÂý –1-¹õxÙ~©ß;vîìîæ];ss'I1QDøÏv¼Aêƒ–Ý ¶²ïÑ£GO ´ ÏÝ‹8cøxÃχnìZYYÉo¼Á›o¾É[o½…eYg=Ïáh%ÛµÛ‰›2{dÇÿçýëd¾ªs¾æª7Örð‘aø^{•àÉØŒÈÆmÁº:°ÙˆèØZ_õÆÚP]Dªs¸´˜¢q¨°€B’¯ðÊ+ÍÿY»é-.n•SXb‘˜îÙh$‘6üúÆòK ¡ïX‡{Û¹úŽ¢¿QÌÆ’p‰ÎDõÝJÌ.ɘÎx‡{þ]â1}‡ð¾’ ”ºÒ–Nµ\© O’¥ás‹'}x fè ¤÷5(}¿«r;ï—»žžÚf$6<_Ñ&Ê,0“'“•VJ~v6³6wajÖ{øYeElØTLe«+¥Âìa÷pÏ=á?÷!¯ôFf,È$Å_q%æ`Ƥ†^³áÄè‹÷7”aU³Ý›@zZBèÛÉätÆ$;›;6ùH=8<ljARz:îCï³½2ôsLJ: (]‰ñÄøÊñ¶zÞ‰ƒñ–àÁ¢|s)]†#ñÐfJ-ð•n¢2~0ÉÆ¹Ž}÷æ,Èàú3_FÌ­L]¥RDDDD¤!Ð*~žI÷ÝϨ™ÛqŸÀ„Q£5a£w2sÔýÜ3~>EÍ‚ÃSRHy—4'7´»†Ñ¿¡Jåv6–º>úT›mð¨D*7n§’†öÃp0è"¾‹“¸‘h4ü ^¯ÎѶp¦Œ&-ÁµÒÒ‰÷î¤ÄcQº±úŽ&Ü ÂLFšYʆà&=3ƒ¸³ÉÎ^Ä¡Á³˜ØBpe¦f²xFÎê¾výÌùf„”Þ·2¸ÿžSmÂaSÖÂèÙÌîµåÞ÷8jt¸¾MRF§ã.- ØcQº¹£o:¡å Ü 386ŸñY9gûØIòðÔp}˜ÄÇ›øyÁª¦Ò‚˜.Íwa4\.œ–­µ+Ï£šFÏ˰ø3#íÙç )áö¨l Öâ­µˆz¶@€ VÄ †‡Jœ¬«Ãn³Q8ïE¿[ÔtEﳎ'›IIIÜwß}Ô79Ÿ`0HTTÔy3æî!Döº#ÿçjÿRÌ‘™ÿFçù‹›ºPóñ¼ æáèâ¦ó?£s*Ÿ|«tß½V›a`¿âJ|ë ˆ6gx¡‘Ó©ÑS‰7]³Hn)È2]°¹¥2,¼>—yêâbš&Îð6ÇOõ'3ùѸ¿U ɾ†;¬“£é4Ì a4™Âç­Æo¸irbâ ªK}¡ ±3†¦×Ú˜¥…ÏW†âÌÓ/¾XÞð·pÉÃGã“Oåà-gV ySžes5tµ´•¹EšÌQi•0ÿñé”Ý8,Úç­Æï]Ç”‘‡$XV5F_/–U‰åŒiò \nã¬ÿŒTãõ˜M+ÃŒ#•>‹Ä3êî|™Éƒ‰?ô>¥¾dŠKLRG¥³á Ë|°¹÷ \jõØÍÍ`j$ gÞ˜>eQè[á˜[™º ‡ô}‰"""""²Uyë(õ”²ù•Ò³›`åo‘·d+¦%Ÿõ¿n«ºŒ&Þ ·é¤°|•ø(gɤ‡X~ê ø]‰ŒçiíDÃp6ù)ü”s¶­ÀŒ‹;ufL¸à#ÎãÇHn/&nÓÏöêÐPt܃›²ˆ›ÝLÍjm1÷,“ˤ¹ï‡Ž{ýÍýYÈõ<4£²²àiÆ/O`xCǪñúü|’÷8åŸjSW“À!Ÿ>0cšÔaE³íÊsµó›iT›)L^0¦Ì`]9„BÊÅd :¿ž+—$¨´Ùl¡!Î ?_àóc»ÇÓ¾{<_–—QÍWÙXH+i¥ÛÊ‹›öœÎö œ>ÔÖÖ6–ÑÐ#³®®—ë«wùqt»Š. CÅ„Gñú)þÏöc$]Û´Âÿyü••tø÷ŸâèÊ΃õ§^Íá€`ú#‡ÖµÜ3µý¨ÇÁáàËÍñU+é0ó§_=é•o‹’%y™Jâò,*i>©t¥æ0+¹å…iZ§…T>—Ð —+†¸ÁsX‘yöÍ”Êó?S3.§¯’¦YXµ×"Æ^\Æ_×wêZ[]mát™˜f&;OÛfy<`$‡¿…ó°iÑr¬´û‰/Ìcù°ÅLlîgÄè†Í¥NâÏs"Œd&NíËã¹ylè?!®ðëè2ŠÅÍ “.+ÆðW‡^cã À‡uÖéÄgZ”7­ Ÿ—jL̯pwv¥0Èõ…ÅÛ)åF¦ºÝ)°n{1”šÜ:Æ ø.êØ aen~ ý33›ŸÏRDDDD仪r'ï:÷nÞí…T’|V[ˆ1Àª<5Ϊ¦ÜÊ ÓéLd²ŠqÝ&,>ÏS4ÎѶ²ËÛdP¶¯šjLܦ‰Ëå<}›å£Ìç$.œzZû–“_œÈýý±|Ñ&úç je.û†°2ÜÍÉLÍþ )ÏäœÉðµÈ[>Œe““0ˆ¡‹éäÖÌÌé{f»ÒG‘ªÃÆÖ–¯Ÿÿ"ÚÇ-7ú¸õÖ8–°oøä3êÍCáÚRbR&o@i+õßj;¿ÅF}(¬4r—ãKÏbÚ ¯»4C¿m6ºõ½ [DÄYáX0l}ü6`ÕÔrüàßÁfÃn·aØ#ˆŠ°å°c·j[|^\\¨osYYYcÉ£G éÒåô³8u>ÀgŸ}„æ·l(§á±KÁÞ®FÂÕõ§õÛ°>) íå©ùýŸí?UNŒIDÇNjj¨ùàý–ßÃIìC?àd៨ÿò˜.þÒxaiø;yr“’µ˜eË–5ûgÁÔä&Ï8³¨xú'BIAQ(w´ö±v]iãÞ‰é)X…«( ‡’VÙ&ò²Ÿ§Øwagl¦¤“èÛ̺†'VnbU1¤ N ŸS9ûB7f_EÉiñî[_ÉÚ‚’Ð6«ŒkK1û"ÁϦ<òKÓÈÌœFÖÄ8 f/a_³ym£¿Åºu¯1gÈù_PÍÔ &&–°(¿_øu${6òJQxyk¹Ù¬Úg»/É1el /RãÛWÀªâfîJFCú›”¬Úbá£díZ*ãsãWëàâÆ ¶¯ZË¡ÄT p§&ã+XÅûÖ¡a_áØFÒprf)¤93ñ¶°å™<ÍOéäJ¾•.‡6Sî|â)\EQC.辕Á e¼²¶$<¤×Gñªlr Ê.ì$ÏѶ¨.^K¡À¢lsåq·r£Ë qp_(:Õ.ô¯ã}_2ƒ“M°ö±dv]&d1-3“þ¥ùäm:Wm„ÂÊ…s¾¹!eCÛmôÔÁXëf³¶Ì#Aý]/ߨ8\ÞSø<Ùó7áÁ$¾oÞ¢ ”ú<¾²™CÕ>n¹Þ’ÆN%ÍZÇŒìU•…žoU–°!osËSȘ‚yŽ2.ºo¦0qμ )áý®>|8Ô«2xz*iÔÖ@0ÚlƒÀñ/©ý{'÷ìæ‹·Q Ž Þ“µ|ü…‡/jj±êüàÉ[éØÂ°ék¯½›ÍÆgŸ}†×ëÅår±aÃú÷ïÚ¾Á`wß}—»ï¾›¢¢"¼^/íÛ·§C‡ôíÛ—¢¢"–,YÂO<„za†ÑêòÓXû÷áLèAÀçÃ*û ›Ó‰=¼"¹Íf‡`Ú¿î$zÀ±·‹!²÷÷9ùA!5Û qvÇ·ñí³Š½rò4¾ÈþwŽ>÷Ÿ8{&âèžzìíšt¥†BMóÞûñ½ó_.Y„kƳºHè“z#ÖÌ1ÜŸžOpÆsÿœæ’(“Ô©™ š•Ϙûò‰s'38ýVbV…·öÍdÎØ<ò¦B«ižCf_ÊÀr^OºùS/¡ÒcáJÊìTàbøìL*s³ùPèë&wßÉÌžœŒáÙ@^~9isrH6€ôLÆnϬ%ƒX6¹¹o† Ló‚kšÁS‡³6#ŸEÅ)d¦ !+§œ¼üñ¡×A|ZY )ddæÙ¼ñÜ·Ô…;9á©q,±Î>äɳ™œ7—#—‡VŠ‹O#svhÕ6ïÅßEI”ŒoÝF‡‡opñýérh#¥iÃsÔ´~l¹ÎÐpßêsþ—½…s £ÉšPBöôû)0»Ø7´ø"BÝ =+“ÊÜ\5B0Ó™š•Xp’ -·­ÂåtIM¦8w>h]ý[ÍU)rÙ°(ÎI¶1‡ÕÒ¥^DDDDD.3 çg“¿ñ¼-ÌðæŒKdPÆ,2¹U]ß•L_À°‹¿¡íźè•@€Ã‡süøqNøª©:þeèñ`?ýýN{h\y´ÃƵN;uÇ5¦¢+zá^˜Ú×]Cgw'®ðÃI0¬š³zi6•””ÄSO=Å;ï¼C}}=7Ýt wïÞ$'‡&ë3M“Ò½{÷S•çp0hРÆ92ÛÝ1ˆúǰvÿÇU݉ýÑH¢úÜÒ¸t¿ÐqÖlªß|`}¨G¤ó{=éºä%Ž-Y uu¸¦f¨­¡öÏ;N;׿>CT¿Ûñ¼–çµ×a¿"ÇÕ‰´d,Q7Ý €Ý4é˜3é^ü *E¾¹w! žϪäy,žœŒé aŸ¯RDDDDä[ÍEê´…¤NSM|—YÅy<žíaÂâ9 q[ìÛ\@™ëFÍïv½|¥•UUU|öég|yÌKÙožçä'»¸»S;¢ì¡¥¾ƒVÏë°ªª°××A¸'%~‹ˆ»Ó "*gd$¶“>‚^A«°a¢?ˆ9iF‹«f7' 6.ÓУ211‘1cÆ|mÙô˜""çucÚW@îì%UZ€IbúTr&§âRÕˆˆˆˆˆˆ|Ëy(z>—¼‚Ð|¢†»/cŸÍbxÒw»ëÊWš£266–®Ýºrüø—Øí§úKÚm4þ´Û‰ª(—õÔC}A¨œåƪ IDAT:µàKS=-O ü."ük‹ÀP!¥ˆ\(#)œe骑ï}'ÏcõdÕDS_yÕïŽ;’xíµX]»‡VÔnØ5ö2¬­“'C½)ëê 8µ¯ÍFPÐ×ð'Øt¨wxùö²_ŠBÜ;sóØq¾ñì@c¸ØÐ˰iÙôOx#6›@ ^6Ì÷  ƒ·þ Å…tÎGCèé÷ûõn‹ˆˆˆˆˆˆˆˆ|C}¥9*Ï´}çN6/øoFU–„†zÓ¤We;[t4í¯„ÈHÀ†- !N"ºÅãHN!¢KWœ×$ëù¹¤A%@Ee%ŽòO‰­­Æ{%v36H¶‹Áæ4 :»a€Í®!Ý"""""""""| A¥ˆˆˆˆˆˆˆˆˆÈ…²« DDDDDDDDD¤­)¨‘6§ RDDDDDDDDDÚœ‚Jis *EDDDDDDDD¤Í9þ±ÿ~Õ†ˆˆˆˆˆˆˆˆˆ´‰Æ ²K—.gm´Ùlª!‘ó OûÝ ƒõõõøý~Ž;Æí·ß®Ê9CcPyÖF•"篹 ²¾¾žúúzý.‰ˆˆˆˆˆˆˆœC«A¥ˆ\œ`0H0$""‚úúúÆÇDDDDDDDD¤yAeDDÄYÕ LäüD6 ýnøýj,EDDDDDDDäl­•"rñÁ`»ÝÞøGDDDDDDDDš×T*D¹tʆ^•v»]=”EDDDDDDDZ¡tRäkÐ4”lXXGsTŠˆˆˆˆˆˆˆ´LA¥ˆˆˆˆˆˆˆˆˆ´9•"""""""""ÒæTŠˆˆˆˆˆˆˆˆH›SP)"""""""""mNA¥È× añœ3ÑÑ‚:""""""""ÍSP)"""""""""mNA¥ˆˆˆˆˆˆˆˆˆ´9•"""""""""ÒæTŠˆˆˆˆˆˆˆˆH›SP)"""""""""mNA¥ˆˆˆˆˆˆˆˆˆ´9GÃ?þô§?©6D.õõõøý~€*CDDDDDDD¾Ñìv;†a`·Ÿ»¿¤­á'Nœ ªêD.`0H  ¾¾ž@ €eYX–ÅÁƒéׯïE—[__Omm­*XDDDDDDD.+QQQç +5ô[ä2â÷ûU """""""rÙ±,ëœû(¨¹Œh¸·ˆˆˆˆˆˆˆ\ŽÎ'ÓPP)"""""""""mNA¥ˆˆˆˆˆˆˆˆˆ´9•"""""""""ÒæTŠˆˆˆˆˆˆˆˆH›SP)"""""""""mNA¥ˆˆˆˆˆˆˆˆˆ´9•"""""""""ÒæTŠˆˆˆˆˆˆˆˆH›SP)"""""""""mΡ*ù®©eïÜQLxÃâÎüu̺)ò¹‹¹£2ñd¯c¶ëUŸ°…'×-f`ìÅXÁ–×ËèõàmthZö¥8×óæ§lÍ/x5vÿvoçózFÕÞõ¼°p%ø¸ €™@¿{Ÿdú“éyî÷åÀ{ÀÓo(7£Þ޾7‰Q/ÞÅK+FÐõkxå'÷,ãï¦0eò-œë-<ôÑ&~àovÛu÷\ËÜkœuÞOJ™ðQ{=Ú‰.—Ýï˜Å­áºÚ÷uöüûyég¿awT?ž~fÝšV÷É]üzö >»Ÿgþm@«çâÝú ž{ëH³ÛâGÿ”É)ѺtŠˆˆˆˆÈ×NA¥ÈwMÕǬÜjrï½°uå‡TÝ4ØKY~‡YôÊÄ~•B+¶òâʽL¿÷6:Döæé—^ÁŠüÇÖ“ÿ;÷ÃÕcÎ/jªÝµ€ŒŒ70Î&?»×t€Š]ïðBNʲyiî]thµ€2^a%’ÎT~Í/œŠDß8ìü?±Y2¦Ë% ã’¾ÇÒ«môµ±ã_ò‹j˜v}{â_ÿg‡ƒ¨šÝü±<œ´ËŠfh»*ÖWÅ2÷‘nÄ•ä¹Â/ù´ ‚«¯wóÌ€öÄÕàW/À{ó•°ïŸŸ°8ÃÄôîÜÝ>ÈŽ7÷ð|;7Ÿ¨æoÇj9a2ùŽ>*òò‰×âX»+Èz¨ßŽɯ~_Éo°ÓýêÎdÞGG}¸œŽÜ~â8©ªãð ;ïüO]u‚ÿüŸÃüý$Ìzi?<Ï÷?=Èsà`áàæ¾WñLJ»ðgâ«~öLz^ { ?ådÏkÃ÷\/» ÐéÆ8*ʳùÿÍGýžáß„ß[¿›ý"užÇœ?mùpGד“õf¾Â»ïþ‰—ÆY¼˜5?WÕ²÷Å– eÑ[ïòî»/1Žw˜³ðÏÔÆ$;{¦ë^ò^ZÀwÓðbÖÜââÉËX±ú%¦»¶²på^j9Àó^Å7î%Þ~ûmÞ^—σÖ¶–Õ¶xêÞOwr2ẞÏõ§jïí3é÷`Ÿ³{!vÈлz Ôþy!9¯Â¸¥ïòî»o±èA/ç¼ÈÞÚ®<˜;“^†›'­fö]fËõsæ¡·Ì!k%Œ[ú6o¿ö6¯Lw³5'‡×+€¯’³pwæ¿ÅÛ¯½ÄÌk¶ðF™ÕêKñÙÉ®æÆKÕ­.Âõ'yŽäŒº†¥c®âêCGøÍÁ Ý{Ç÷…—¿œï{ÂÇúCîêuZˆçŒÿ1ÖÍ=Y;¦=O%÷÷Ut¹#‰U“Y5²Æ'Ÿ3hºA€>ä_~”Èâ1ILŽôñÛ¢,lŽ ‡Ëêøáàž,Ó“G8NÞj¸7=‘Åc¾Ç½Ö1~ó©¨åÕ‚¿óÑ•]Y41™UÿÏí‡*È.: å|z’ïߕȂG¯#ÿfx§ÐÃç‘WðÌ`“£=³ÆôäÁÈ*æÕr÷® ŸkG̲cü­åÞ…}öÂân¾¸ý›ÙÓpËõSX•@jϨðII튷p‡ÞëŠmìçZR¯>¯¨+g'w0nÊ¿ñ“g¡[ùÞù:Ý–‚YQÈþ†cWí§°Ü$å¶N )EDDDDä‚8.eQÝn»‡¡‰¡f‰ÿº:f-ÛÅþp2%–7þ+vÂ?]w7wÀ½?ÉdPt)›V¿ÁæÝÔŽ¸žÜrïpþ©Ogœþ#|°zùi=*O–nbõºMì9RC#Ž^Ceä€D'Ë6±zõ&v©Lâoy€‘ÃzSõr6¿Þ]Àšÿ|†ÆæðÿõÖ\[ÒÐR?‰ß}VcÚÒ3ú[ØÄ>ð:k|ý˜Ù/§õ7_Öö>0…kzºîäÁ^¡í‘ ýèçz-ûŽòX@Þy ‘±½¸«Á;ïí£öN³ÙÃU}ü:»]w2=<–¹ëÐ<Ö €ØØH˜òoUEÑÝ•~Ý,|¯`¶tþ²µÌ͈CÁ‘=¸sD ¾G™50è5b@xÞF“„_¥HÂ傲õkx/áAúõîÁƒ³f·RQUìßá¥Óñç´X|˜ôrµ><=ò¦Y¬[WKdèäIè×׋exÎÞ“kZ©ŸSjÙ·þCè—Ç€ðd•±}Fp§™ÁúÝU °Þ£Ì}'C{‡Î«Ç½ãè÷‡T¶r޾={¨KxˆNòñ¯ú‚‰Ïqúc&³&ôà îJŠ…‘‘\ßþt"€Ñ-Ží>eýßýüð'Þ2/‹½‚§:ÚáŒâ0b¸+ü­•ïà1ö±Lnø«}{¾ª‚ì¿Õ`%D6zö¾"<=‚î#¨öÖ… ²sÕ•\ºouogãÊØ+èéçõíõ <~œw9y =<Ϥ£wÝÉËEÇùüÂåÄqs»P©q œµ¾:8mVÉ#êøÓÎc\wc,ß‹cÚ?Å]ºÏ^Ã8.…ÔN¤pw)·EqxÛ6N^û=£ ÷‰ë•Jׂwùðà]¤wƒŠm{ ×â„>WÇ6ðÜÌ g| ã~:žkèÄÍ)á’ш…U58¯îGйÂýU¤¤ÄRµ§Š¸ÛxXCDDDDDä}}sTFGáꨜ¡ùŠùýá[¸wØu\íქ/ðNy=Ó%-á$;Þ\Ƕß-¦Î5“‘g®áù_–þz=åQ½ñTÑÛ_fù›KY×u&vþË_XÏ~zrï#ˆÝ¿ž5Û^fYÔ4¦ }‚ÔŠ¥zãHû(·÷TH) ü\ÿK–{ïáÇOôÁ~ìð¿å…ºñäS÷Ñù[Õήe×Êw(«ôqÏ;M7Y³ûIž /Tc˜]1ò¶H“®&|è ÷Â3L\MRDÓ4°*-Zê£çóø°Œ®MzÇE6Î]Y{༰p W†žmyʰÜçx¾ø8ý —+F“¾xÿìÀÐÜEð⋬ÉCN¥I¯ždæÓ- ý>YÆŽ#¸%á<¯† ÓðPæ©¥å±ä@Õ.ÞYø¯ïö„ê̪ÄCŸæ_ëyÕ…ÇcaôjR!‘&]M‹}>,Ë ½ŸM¶]c­•^öì…á2[œkÏt™¾§Ê£ŠŠ>Ì+3çðñ‹X47Ô;òÀÊ‘Œy¯õ—iöÀäãÓÎÁòxÀèÕr/̱×0tÊl†NÚŠ-,œšCÖ}X1âìu³ýåq$îFzžïj2±½šd1oåVŽÞtÆ¢9ë™ý¢Åˆé÷bÍËdaå8–.AH¨Ý5›aS=Íx€Ï«~ \.ËÓ¤Ÿe­>—ËÄðX>>S­¾V†~W•±ÃÛ‰ÔøÔ…ÒN÷¤8:äå/_yÇÉЫϽhRLlÎZ?Õu w± ÕÇë‰igoyÞÇ d1OŒ¹†»Û¹5À_.¤¬¸8þyhÿLoÙ!²×—óÛ«® õýªŸ½&׳èkÓèùZ…;ËÙãLa\7ç‰o4=ô¤nÍ6ÊS`t ã:]š ]ç”~ÄýqûÖ°íH'RS´$ˆˆˆˆˆ\L+ñ’©cÏïæò_ÿõsþ+)ïì¯#ªç?ñèש]qt 7¾ü¾ÃTÄvnœÓÍí" ¨ñœ¤îŒÒO …Þwæò“Ÿ<ÃOþóeʺ#Ž MŒÛ-6Ô3ÄKbï>ôNti~,9·>ñ$w³ž_åÏçW›£þÔcôŽýö½Ò£[Wò¡k(zœþx×Cq¼’­ SMz¶òúîÐïTí¾õlõ$00©¡BÊxýõ½¡y«>æõ-’&ÐR´ÛçA’|`凡Â+ޛÄŒ…ì>êÃã3p]ãÍÝX±…•ë+Áò…{g`ù8+SëÚ¡ •¬y=4'%µxgÍ>Ìw‘ÐZBUõgfŸÂʽ¡‰#»&q«¥ýTì(#úÆk/`õãÜùô£¸?Ìaêìõ쪨j©øóžÍ˜Ã‡–wd¸÷£;WdèÜÿ°òc|M^§aYTøj¡ö\õÓ ’¤¡ýàÕl O5zôã5lõõbh¯X̤>¸+׳uoè|¼ó"úZ~'˶q¤Ó-üC;ž·¿‚ckyµè(ŸÇ¹¸½ý¹Ÿbv‰£§UÅCsRrüK^=hã†Þí.YPIûöÜëçÕªÃÃíýüåðÜ_kÏãÉ6¨P]VåAf¼r0<§¸ŽQÄEÀY7¹‹þì5}5wô:ɶ‚=D÷»­ÙÑWßA/vRP°çÍ7_º/dâz“WÁß+äH§Tz} ¯¡"""""òõ»¤=*»¦$­«œÑÄvêFBçppèoØÃÙx@§Ù™h ¦ê0U\‡ ¨«:ŒˆrÅžubÑB Ä¥>ÉøÛOµ€ŽXœû? æÈIüÄâô{صcÞ¨Dné£Ö’œK(¬t¬ÿç€û¾•!%Tð‡•»qN³~q04áVþ¡‚~.0Üý0_Ïäñ9eTzLú<ËÃ=€€‘Ä^$ãñÝTVZ¸L'÷ÎÐÒ`âCÉÍÞKμQÜe»çær[÷“ýÈœ3Šûºp'=È“Óe_æB¦ÎJ`éô»ègf‘9l$Ì}¶I=x8o&9Y »Ï Üýž&ïéÞD²·å—Û‹q#ÜädÞÏ‹–»Ï“dß{voJüGØQæàÚ;.,*Šì=‰EK{ðÂÂÉ5`¸z1à±|–ޏ‰X ßÓãHÊÌbØC.Ü®^Œxz:ìËdNÆ\ÜKch?‹9÷³ûÉEd·R?s6yig’[6‡yîc€™Ä¹Ù¡•Ü;Œcæ£ûÈɸŸ•¦›¤;Gp§ûcv7û ü”t„¸{rÁ¿ÍÍQ 8¯N`U깞lp{oƒçÿTà ÷˜çеw‘uO Ïýq£kC·²ú&0-!¢…ðbDòpzWýþs&. @=Ät¹‚É)‘@ õWw7Ÿ3kéîžÀÃîƒÌiw¨sc„ƒï÷îÆnû%ûì5©qº¦¦µ³ŒÛZêÑèìJjŠƒ……±Ü?æŒ(³¹9*G¯á§ç\<Ž^·ÅñÚk\ýx/tç‘‹Ñ8Q׉'ƒW„Ÿ¿-ÍbÙ)?ÎáÑÄfºgø²öçóÙVÓ›Ïz‚Ð.¶þòç¼Yî gÚHÒªØñæ›{ãH:ƒ:áŸÏ?µ˜NÕÿòËÿZG¹™Â°‘ˆóneýæƒÄ¥Mà‰Þûyá?W³ßÑ“{D\éÛü®°ó¶§ø÷áÙõËl~Wŵÿ4’{z]G‚Ký,åë  Ô×ׄ滳,‹ƒÒ¯_ß‹.÷ĉ_ëy}o£^¼‹—VŒà¬ïÀJŸ°…'×-f RˆËÔ^ŒÌ`ßôu,¸Moâw•wÛìHåß&ߢ@QDDDDDþ¡Úµk×êv{Ûš‹žäÞ^qÜü2Ë–¿É.z’:öI†6·R¨ë<ñã4®uîbݲ_±l])Žžƒz‹ boeìÓ¸6¶Œw–/åw…UÄß2’'ÿ©N¢I‚I {Þ\Íúý5úTˆÈwCÕfÜ÷³¶„†ÞWýùu¶z¸+AñÔw–·˜‚w«¸ö^õz‘ožK0ôÛÉužã¿ZÝ¥ÃÿÏs ?óñèD=‘É óñú<¦w[D¾[b2}ú²æŒâîÀLàÎé¹47â]¾íü”­û¿ù°†®wŒc\O­,'"""""ß<—`è÷×á$?þ=/ÿn+G¢Rxê?#A£µå2r¹ýùº|ƒ‡~·Â_Æú5[9B=﹇® )EDDDDDDDD¾Õßȳr^Ç„Üçôˆˆˆˆˆˆˆ|GØU"""""""""ÒÖTŠˆˆˆˆˆˆˆˆH›SP)"""""""""mNA¥ˆˆˆˆˆˆˆˆˆ´9•"—Ó/¬]¿²"""""""rù9ŸLC©‡ÈeÄétªDDDDDDDä²cÆ9÷QP)r‰ˆˆ 22R=+EDDDDDDä²`·Û‰ŠŠ:¯,áê¹¼DDD¡Š‘ouË‘6§ RDDDDDDDDDÚœ‚Jis *EDDDDDDDD¤Í5.¦³uëÕ†ˆˆˆˆˆˆˆˆˆ´‰Æ ò‡?ü¡jCä ƒêë멯¯Ç²,,Ë¢¼¼\•#"""""""Ò ý‘6§ RDDDDDDDDDÚœ‚Jis *EDDDDDDDD¤Í)¨‘6§ RDDDDDDDDDÚœ‚Jis *EDDDDDDDD¤Í)¨‘6§ RDDDDDDDDDÚœ‚JisUˆˆˆˆˆˆˆˆ4øªø{ÞQõÁûkkU!ß5ó|mewèÐøøx"""ZÝOA¥ˆˆˆˆˆˆˆˆ4*›õSNìü˜ˆv1ØbÛ«B¾#j€[n¹å’—kYååå”——ó½ï}¯Õ}/íÐoÏžËÌ$33“Ùo>×Îly.“ÌÌÿæã“z ?¥ÿw&™™?ãþî×'IDDDDDDDä©Þþ!ÓÄæPÿ6ùê à[·n;vìœû^Ò òðÇ[8‚ƒ8x·ÿ/__†è¤Û=ÿ½{‹ê>Ô=þfpAGÁ€¨(±ÑxDLÜbSéÖ mñ4ivÒ˜î¤Ù¦Iš4iÚØ¤=mmšœjvÕê6U«Õ´¢‰×D*VŒ¢(„æ‚çoxC}?ÏãóÌšµf]~ë2Ìëï’IfæTÆZ:ã""""""""mÉÏ_e m&((ÇsÉåÚ.w•³c[„¥0el>ï¯ØÅ¶²‰¤÷j ]”o]Ê‚»8î6ÐmàXúº[|¾|=?}k ö¸)L4d³zOî°LÉLÁ½f+ò« l SŸÉ0«‹²²pO#ž~tã§¾ÏNe²e«w”Qocð”Ç™6ÌŠ¢L¹øuëÀe :ïq9\ƒt刈ˆˆˆˆˆˆÜ(mV£ÒU¾•UÐmìúC4vr·•q¦Reå6,ßÅqCff’j;ÈŽª+01îülöÈ”¡aPµ‡åó‘ßg"SGtóN¯8Èy5Ï|v ¹–¦MA7w»–/ç C'Y.zÕRºúÞZKe‹÷Ê·¾Çó?¦\½ ˆˆˆˆˆˆˆˆÜ0mT£ÒEÙ¦ØéÆÐhp¸#IŒ„yŸR<¥}Pspǰ¡26¡'Æ8 ‡wü’MösV6‚‰c±UÚÉÞ±‚ã–D&MÄæp°iÛrÊÊËq}áÝJúÄDlôÁ½i‹ÊÊ)³C|N´\ˆ‘ž_}”ñ æ3<>c î ™ŸÈ”Y±ÝÄ*¶<Åèïmm~#`¿Zû FY®l='Öþü0§ù^ßgEÖt"¯÷þ^€qü.û$™t劈ˆˆˆˆˆÜŠÚ&¨tói^=POö¼7È>3cŸtÐ7>ˆz»·jcÍâmfk´`³ç•+C w¹ nwogݸ/¶–Hïg "0ÐûV½Î±´Êʰ™Ã‚ùÌ›»—;’i³¾ABGÔ̹•%9vF%_IRy‚ st ˆˆˆˆˆˆˆÈM¡M‚JÇÁOÙSaC§0y ¥éMV/ÛDþ¦ƒ8â´UØËí¸Áè²Sf× ›7¬4®Þ†aÌÄŽRàdë‚ œHN£ëå~¤l‹÷·Ã®ô'55à€+üœ%‰Õ¦¹eµAPéàà¦|€l.X IDATÜ„‘˜2’[Óû‘TeobEþ§ä×$Øk0Ý(ãø¶|Ú7ËÁÉm *Õ ´;+‰'vÈ=îLíþZÈ[ÂÆ²4Ò/³ÝvѺ% œˆ€ Ž8oÐGLbÖÚ¾y¹ˆˆˆˆˆˆˆtl×>˜Žã Ÿæ»ÁÇà°–3¬Ä ñi~ ØÆ2craîC¬Y¸ˆl{")¾¤B9¥ÈÕ‹LJ&€ý,^WtyjÈ'kÉïë„q EDDDDDäªø {™Ø?¢Ó¿Å ú¹G°D^zà‡N¿GŸß K,Ú)æ^º$v¹¶ý:óïgX:_Í‘Ú}kÑã»tŒÓ¹?¡ãû·Ý(Ú7ȵר Jà‰·Þºð)¼÷EÞº·yºçØGyqlË%Æro‹×ϽÕbfÈ0žykX‹í$òÔ[‰g&­3ßà­‹}#ñO¼Å[z^Èí "™äðU,©€ÃYYäg$kfŒ®A¹­®ZOÉw…Ã~‘wò'èþFO:ý×kÔ¿Öµ =….ÆBªsOrú*÷ëÚ•Só“YÔÖìç¤Sï°¦R÷ñ~;еdÐí$Ò±5Cjj8K–TÀ‘udíŸÅ‹ƒL­~"oÉ:¼9eéIᬻ@³oSÿ Ò|(+Y²?ju½vvgm¥iU ׿¦¦ÅÔ¼m§ÓNμ™üÇ’Ãç-W{$ ÈÆu[ùÕâ=&5ƒ^óÞæ0àÜšÅnû¨ÖGN·ï&kkÓö"=5F ˆˆˆˆˆH e;99÷Uøé\ºNMÀþëõ.ÀØŸnÿ÷½BíC?%tÝc””}‹˜'ÍÔïOH—õ”ü×r:¥~Sð¨Ë§ò׿ jó¢Û©*2òÖ»tÙ³Oÿ»è†góo©rÞK—w`«£æÍ—8¾§.R~žÎÃéùÛoâZWˆ)±7[§?û%ËÌôxú^ŒaN¢ß²QöâûÞcéüt ‰ttôŸ”J8¬[’GCk‹ÛsX¼¡Öû:)ƒ‘ápÁî)Mq¤gôòMÔ²á’ëmâ%‘1²ëu?îæñxœ­|‘§–†ˆ$¦Ìz…ŸüüWüü'¯0kRÁM‹YÅ«¿ØÝ|‘ɤ÷oZÅV²v·>—}wg±ÿt’Õf^DDDDDä|®Rjוâ7ð. Æ.˜Ÿü/BœY”<:ƒƒÿùÉߣ[¢ù¬’Ÿ¥{b9'þs}Žª€t"¦öçtî|Ž~V‡kÝKþåNü.²\§+ÜÅÆ:0ô‹£áÏQôÝY)êMØCqœÞó7ÌC°ôô¶GïÔs,Áæ|jöÔ4Øé¤“­?Æìpð?ÿgÌÃD̰QûúLfÎäË¿š ò›/¾?ßïÚÀUœxeE¯¬Ç?õ{t)}Ÿ/g?Iéf3!Sðãåg¼³y-¥³gQøBŒ~ ë9² ŸÆÒÿ¡xv[†”v¶<;Š¡C‡žÿoÔSlhƒA³TŠttN0Å¥Ó”)ÖnXÀÖVöœ%¾°-€q™£Z%<&u:M9^í†Åä´¶Þ!^À¸LFu½‘…°Ÿyoo%`ÜOX±òw¼83 É£HžÆÌ-àÃW’΄š²ØßœT’ÜœT²uÕþVÂØ_cTDDDDD¤£jyZ†xÁ$OOÂr£‹ x¿øÑ„ †‡]“3ùF@í~öWÀ È¦CÌ áWÉœ[²ÈkH"éB-ÜoxQ‘ŽË¿K8µËŒŸ9Œà.jníF§÷˜[•ø›0~ígôý·+9Y~N »Ë]Îëâ}T½M´]Îæ>/ë#ÀIN­+Ä6õ. Ëœt¾;Œú?æÑÈÙ5@©«Ããô­Ë§N67ewÖÑè2clúÈ·ãÕXçÛ9§÷÷fã9ûÚ‰K•Ÿ‹Fçy‡wýX’xvÁï`æàíy-‚)¿ú/¶Qm%•"·ˆ–[Μ˜~~mɲ,Éó¾ NÎ ÁDëA%]•9Ž€ï99 6p"9íüõ¶ ñ“ÉHh¥/ËÃo3yèÛWxtMƒå\|‰ð´ .–ŽZbHŠ€‡ìµ¬Úu$é —Ôn!+¯¤ $•gÕ™qƒkŒŠˆˆˆˆˆt ÆÞ„¦ÚðìÌÇwUÕ¿|Œc{ÎNá: î{åÄsÒ‰3ûTz΀9fšénm¹¶ãÙó7º¤c–ÎùT쩃sƒÊ3?¦]xÊЯ ~à +ºàg¬ÃU×{SwÑò£óðö9¿¾°2àÅwqfü„gÛð²š~‹Ü*º&3s¤¯óþŬ+;‘² ‹Ù@8iý1]Öóg:ÉMÿm“·„XoË/<5ƒþ¦}ð$ŒŒiåxZ ¼ã¤á¬Þ]™‘ä{]Ë–¬ õÅig÷’¦£ŒÌh‡£""""""@§nwÑå™°vÞɉösúÔ~ì0î­ÅhìMèÓ/Óm`Ëàï$ŽM…ø§¦ØÀL࿽@äCMÍÃt2›/c¹6r2š¢.tùÚŠÖâ¸Ä@=îÜí¸{>@—~fÀˆ)ùNîÄq¼ :‡¼¬ò»cü¯[+ð$žzçwmR‚jTŠÜB,$eŒ$`ëFœfIVÓŸŠi1¿ˆ¬¦±#2H»Ì4Ñ”@fj8ë–WûY¼¡Œôé-X·löAFz\ëh@“Ò]YÐ@Œ©õcou…&.>·ë¨ ’È!¨½Póo{Kr|IlS“yšú‚¼×7U‡sçz޼øö“ÞéºwŽý™'ˆYüwîŸ8ZX½›×áÞð Êû?KÄo—ÑɧK7qbî—œÆEÃæýðÌëôéù[¿r±å.µ_œÙ¿Úןäx«Gt’ºìRzÌêOÝÏòÎüNý‰#‹î â¥? pr''æþ‰zW[´Ân¥üZÛ§ÂõÔ›Ÿ ×{½)}â5êNuŒkIA¥È-Ä’4“Ôପ…#«“ÿØ‹4å‘ ùY¬:â}Ý+#•˜Ë^«‰¸é“ˆX¾#Àá%ë(š>³ùó-›}÷Ê õR+ŽHå±g§·ù@4¦€k*82F³Õ µ[X¹¿¤AÍI¥='‹æœÒ×d^DDDDDDhüü5 ¾~‰…Nîäø+îù‡¾Ó4QŽý×?Àþëó?îÙü‡67O_l¹+Ú¯ÜY|Ô4áÂõQËiðlx‰ýZ~ œêÙS©`~‹ýö~¾á¯oPô×ó7sözÏÞNÍ쩜KüÔ&Чoj±ýg(Øp‰òc;¥™Û›'Oµœ^Ë—™k;Üõ¤¦ß"·S2Ò½¯+Ö±0¯©sû—¬¤€f¦^aL“NFÓàØG–•ßÜ8ºe³ï„™©t$l_mTjÙÕrôo;9Y9¾£á¤^f“y¹2 *En)&âÒ3ˆ – ‹s°4ä±dC­w‘¤ ®|ÀêHR3|¯+Xw&ÈkÙì»c„m”NSŸµ²Øß”TÚsÈÊ9Ó'é1Š)EDDDDDD®•"·š˜Tfúj?:·.a·ì9‹ñ攌ÌÅÕĉ]“gž ò*6®ôy-š}wø‘°-ILo5¨vY¾¤²e³ïˆIéÄ)§¹.TŠÜr"×TûÑ™CÖþ͵ƒ“™yµÁX’˜ÙäUldåþì9K|;ƒo‘°M$d$ã=ÂZ¶®+¢á¬fß½HOÑå%""""""r(¨¹5×~t’—µîLÓåàä ®:M´‘Š·Ì 6®ÌaKSˆw-èMÄÔ?ä¦.>7¬ãȉÝÍ;ûO'5R×–ˆˆˆˆˆˆÈõ¢ RäVäÅ bÝ<6Ö„“vÁ˜Mg’·L*V½ÁÛ¾fßáiô¿šD›ú“1ΗTÙÀ†­Í;2Æ¡œRDDDDDDäú1¨DnE’f¦¼qµœé`‘ôkî`1†ôŒ^,|û08øF`RzÜå GV1ïGE\ÅQ%Íä© ×3.4“žJøò%Tp˜wqØWz ¤ìªËJDDDDDDä::T~òÉ'* ‘[ˆ©iá«XâMé•‘NL¬72u& o¿J^Ó½2¸¢®ûY·jÿUm; bMˆäzVÞ4Å¥3)b €Ó7P:I$+§‘ÛI£üüUÒ&þþ—¾žÎ•÷ÜsJM¤œ>}šÆÆF<§Ó‰Ó餤¤äÆí„)ŽôŒ–Ì;ôgz[u°Ø5™Œ¤WùaŽw²ÿôä[¬It i©,\xÄ7í)Ý¢ËZDDDDDnæ¡wsê_¹øw6ÓɠƸrmœN'eeetéÒå’ËvjzQ__ZE'Ò6Z *GŒÑÁ®Œ¬é“yc?@?ùÛچ""""""·ŒÆZ;Å?z™SÿÊå´Ó©¹MÔÿâW×mÝáááDEE]²V¥bq¹" ùY,ðµÜ—É(…”""""""·¿` 1?Ÿ«‚í©Däò•±îí…xEGñX’šD‹ˆˆˆˆˆˆH›PP)"—ÉÎîwþ‹W}}SŒ{–™q&‹ˆˆˆˆˆˆˆ´ 5ý‘‹j(ÛMN‘{Å~¶f-`Užo쀑¼ðB²jSŠˆˆˆˆˆˆH›QP)"U±õG|ïÃç¼ÛŸÌßý”4õM)"""""""mHA¥ˆ\T@@W8Œ œ„ä ›•Á¨H5ù‘¶¥ RD.ªkÚïØ’¦r‘ëOƒéˆˆˆˆˆˆˆˆˆH»SP)"""""""""íNA¥ˆˆˆˆˆˆˆˆˆ´;•"""""""""ÒîTŠˆˆˆˆˆˆˆˆH»kƒ Òž÷f3{ö üñ ë‚óKÿò³g¿À{û\×¾¹š}|ºz+¥¾U9òÞaöìÙ¼ùiå狈ˆˆˆˆˆˆˆÈͯÃÕ¨¬Ü±‚ÙÛ(sx§ƒ¢'“9#“ô– Α›Ÿáz¬Ôqx=‹}L~•›ÀÈ¡ŒìvÎ5yüeÑ vª¢ž@"OfÆ´aØŒ.ö½÷2ï燑2#²ÙäÛ!0:…™Ž‡¥/3€e?žÍ¶Ì×x”,\TL·É³I?8÷¬ù['åäê8â2yùÑ‚€šÜwøñ¢bÂRfóâD›®€ÛËË„ñ¼·]ƒŒ*‘¤íkTºJY·p ùUA žò3ÆÈÛeo±@9«ç/dÓ!Hœ1‹YSã°ïZÆ{«KqFÀq>]WIÜ”LŒ ¤¾8›¥ÙUDOÌdL@c2g1­oP‹õΛÿpÒ‡ûà;”í(º1b¨BJqQºúÞZKe‹÷Ê·¾Çó?¦\݈ˆˆˆˆˆˆˆÜ0mTVå³ÇtÏÄ‘ñÄ›LúÀ7Ëw{ˆÏøÄ^ô6‘1Ý j×¶Á¾Ó›ÀØñ‰X€ª²J°EDdt/lAgoÚxîüžŒÑ ÜÙQæW;»¡ÛH•S Fz~õQƳšù r©t¹(ߺùÙLyd"6U¨¹aÚ¼é·Ëq€ÅBSŽh±Yð¦—àrؽóË–ñãÙËZ|²Œ*7¾ÏæÝ5cPw'¯²v›-q,‘k–“¿£ ‡!—Cõ9q V{Àʰ™Ã‚ùÌ›»—;’i³¾ABˆJFDDDDDDDäFjó Òä (ëíÞ@2¨,··˜ßÍ;?r2³fÄ 31Åm½CÖŒ‰^βümäÄN4TL)g]$ ›ù8ÆÕÛ0Œ™¨RDDDDDDD¤´}Óï°ÄY€ã³âÓ<ò¶.gE¾»y¾-Än@ÙVv”Ùq”ç±bÁ{,Z]Ì¥ê6úú°¬d×®<Wº.c~ )qì;X±© úŒ%NA”œÇJâD…”""""""""í¥íƒJc/&f¦ÐÇbgÏŠ…,Ýa`äÐ0Àík½mcü£™ŒéãfÇ¢ùÌ[ø1å–8ÆOŒãÒQ}ÆÆB=ù+–²ú ã²æõCœê17ör¶#"""""""""7R§¦õõõ§oÙ£t•ò—7~É&Ç@yy&ñA:ñr}>}šÆÆF<§Ó‰Ó餤¤„#F¨€DDDDDDDDÎa¸µÏAé¾|íZÇ&;„¥Œ§¯BJ‘›Î­TºììZ¾ˆì*‹›Ì£ã{bÔ9¹éÜM¿En05ý¹2~*io *EDDDDDDDD¤Ý)¨‘v§ RDDDDDDDDDÚ‚Jiw *EDDDDDDDD¤Ý)¨‘v§ RDDDDDDDDDÚ‚Jiw *EDDDDDDDD¤Ý)¨‘vghzñÉ'Ÿ¨4DDDDDDDDD¤]œ *ã TiˆˆˆˆˆˆˆˆˆH»PÓoiw *EDDDDDDDD¤Ý)¨‘v§ RDDDDDDDDDÚ‚Jiw *EDDDDDDDD¤ÝT""×W]]ÕÕÕ8NU W!00«ÕJ``  CDDDDD䥠RDä:ª««ãøñㄇ‡c6›ñóSEö«a·Û9zô(=zôPX)"""""r‹Ò/f‘먺º›Í†ÅbQHy , áááTVVª0DDDDDDnQúÕ,"rÕ××Ó¹sgD0›Í8N„ˆˆˆˆˆÈ-JA¥ˆˆtŒ/,??õñ)"""""r+ÿîSˆˆˆˆˆˆˆˆˆH{SP)"""""""""í®mGý®þœ÷÷*áßá?Æ…·Ùªë|À;.Ãzï<2ÔLñò¹,-dpæ¤v¿–èæÀ¶/pÆ€PCó1DLæ©oމƖ¹þÚ4¨¬Ø»ƒJü ñ÷P“·“òÑ÷c3\ŸÝ¶Nç¡A` ½¶ ¸meÝ'¹Ølà ˜û3þkfLÑ )EDDDDDDDDn¶‹ÝäåVCÈR‡âÃõ{É-O&5Ò·‰Š­üîýÔDŒàîÀ½äVãñ·Ÿ:…b¸Äüs6Fùæ,>jªQh ¾l+kVo£ ²0‘p¦ÞI¸ÜÇv²fåöU6&ºÅßOÚÄA˜ ½µ4Š>ü9oÇNç{÷ãã?·¬QYKáÆ¿²>·ïÇ­Ä$ÞÏÄq}0ã¦ðçòaa(w§õ§|ý6ŠêÀ1‚‡þ=™è@¨;´ÕëvRTÓøu©i÷Ó;XŸˆˆˆˆˆˆˆˆH“6ë£Ò]±“¼°½‹¨øaDPǾÜc¸›0¼©è‘ÝÔÄO&óˆ1T²oÍ_È«½Œù­©ý‚–l¤ º;÷¤MáÁÁ&Žä­àÃÇp»±þÃµì« åIƒ9¾ï¯|´£šÀ¨ LŠ7Ðíž©|ã¾Ès’[7åÿ‡·R5އ¾>™{"ë(Ú¾Œ?m¬À øûT’³¹šÞ©S¸§·‰†#ÛX³½ÜŬ_¹"O|ø›LK» SÙV¯/¦^מˆˆˆˆˆˆˆˆÈmT£ÒMyÎnNa%!<6âm}`eîžD·ÜŠu(÷ êI(ÝÝoEyeì;RO¢­õùñ­l½®p%èœtIºcèIHŸbL`01üëÿ‡Dƒkx0˜{ÓyW.ÕeÕ¸GDcó57Û|¯«[Ö1róªhR'ޤ_ `ó°÷7åøÞTŽNö-èOÔ¸ íˆÛ|ˆ…¹Ô”WãÆ€Ûí]OqY%zàÏÞA×ÝÍ©ösêIw'¡* ‘ªm23w9€>ûãoùìÌŒýä×ݧEo¦PL¾M›Ì@õuîKÏ7_|óõ•u˜mfîw§on-å¹kYŸWF§ù3þ÷eX•uÞ}27•T ³?¯«nQ+2ÐïS wÜ€!šÔɉԭËeÏ'eÏ'€¿•“§3±ŸÚ~ßTj÷³ò¥Ü``_<*ë)É9„‡Pâ‡ßE¿~ý½ÿ c°<…;(lÙÇdÍN>Þø…{7°~_IBDàåÏ¿sïaD5;Ö’sà{7fñѺ°½Ø ž<îzêÊ÷³yã!Oõ1ÊkÝLþ”çí¦ðØ9aº“˜ ³~õç8ôÛ×là8Ðmè Â/4VÎ1‡_ýïç”Ô¸1˜Ã½53M&5ÿ¾Y¸+ØøáZêGLçk‰á ¡$L™Îh6òá?Ž]f -""""""""×êÚó²úbr =`îÍ€³ªŸ…Ò;!”ìOŠÉ)¬e@´ïmÛ]DTläÏÛ«ñ˜¬ Lý* Á4÷ y‘ù­><ˆ‡®`åêÏùäÏËðŽúýo*LVbïI'uh8\*Æ ½‹ÔûÊX½ù|øGï[mÿ`26%•7ÉÎ臟Àh8ëÚM˜òb݆[7P®«&k} YŽy}{wåÑñ=¹ÛìwKŸòÚ²r6¬Lè 7¡«h)¯ÎÝ‚ý‚s­Ü÷â+LîÞ¶Û¬Ùþ&¯þýn^üa2á·ø#ÀY~ˆéTPÕâ=³ÕBÊH¾“µuÒáæ³sy34žÅム¸©Ÿ U¬, $->è"etŠ'g%Òòÿ +Š™þ‡j2¾3ˆ4w Ó?¨æ»O$0&ðê¶skp“½p'¿¶ `ñƒWzÎØ”{Š;ð^§gÜÑí»˜ñ©³Å;þt%}Ô¤÷6]ã¡×ð³w ¨KK䵨›û{äâet-çODDDDÚµÿRìÏÃÏ=ÁYá#ž`ößDSéocø”dÆ]l}™Øï[Ì~®y:zÊlf·œÌ¿?ž|vgè¿?ÅЖo xŠ-æ?üŸwµ˜Ù‡GžÖb:˜~÷M£ß}.¾s÷ƒðdþã¹æý°%~•™‰_Õ•v3߆ žÛÀ[5¥¬«âÇ ø<¼/}+ž»Ã ÔVT±2»:yãÛ}¹;ðV=Ûn >û’¬˜0&Ø:Æc¦ñúÿæ8¶‚Wº›û_þ!£Ãuï¶ ^j áÜ ã7ç3³$–iaÜ= ×–á÷»"˜tuáLxOÞ},‚àÀë¼[Yu%ïm9Ås aX¯úûç2žq!=XôX=gÝ)róJx3kŸ?09 ¦Û  ;Þ÷€ˆˆˆÈíDõúDn+l/bÝø]z±¾'@px™è‘ç8S“§ò@¯gWRÐàOìÀh^º7 «»–¹ïî§*©+ÔPP鄨H^НçƒívŠk\ÄDóvZW¬ÅLÿ †”ÁFv•8©¬qÉk“zmgE9sW•²¹æ4Ö¨ž{ ‚;Ý|öá¿ø¥9‚Ñuìªqq´Î@Êñ<Óϸù"ç on±S‰˜ÍdŒïKF”*J˜ù´Q&6ï;ÅÑDD0ç¡î8·ìãù®ÂÝL/éË‚{ÜüzU1Ù•§Á ¶.<=©c:Pç¤5ÿZÊ{ÞI¹ ˆž£¦’9y!®"½:Ÿš»ï‚}T:ìØƒ1õ‘ N}ɆŠù{Ý;ö—5ž3g0º»ñì ´¶œë۽ǟwÛ1„X‰w7•+7ò•ç‡ ªœ IDAT÷~ÊöÑ/óÃd_¢ê*bÁÏÇù2è|+šˆfŽf~PÄÂá¡Á €¿‘aÃ{óƒ¤`|µÈªº@aGë\ÔšCyò¡¾¤œ{Õ×’õ·B–”¸p!¡|gRo&ž`Ö»¥ ˜1˜'m¾šhåÅL_TCæ·cøbÑeÞoÐÊ~úîÛá]a_ ÅuN* žLïKJM!­ª£ŽƒL_Ø•93bÎ<.[E)5Õ¨48X»¦€ß¹pÒ¦`ÒÆ÷%ÓP|Þv¬…{ÎÔð³wR—BqN5Ö”HœÙG.\F%0ÁÜAnØú²V²Ðw [­<ýPƘ*xyÑ—”œ‚çßm sZ<é¡õ¬]sˆß8q ØfåéI1Ümª+˜{Þ³+†»ÎyÆ¥…¶˜;s÷ð8æò˜‘]Ln|? ­=_[y¦Ÿ³î ‡„Rùñ.f•G±xFWß÷›MKsùeH<ïF1ý³2#N±ùˆƒâ:#ˆ¢Ç¾RÖoàh½‰Œ‡âɈôk»ïK”ÑeÝÃá~àö^÷¿.p`22xxWŽ}RÎèo &Cÿ±$"""rÙüT"·{‹Üt·D:“’Nl P}”—WUÑ}ü V<5„ßêIÀžƒ¼yÀåýq‹‡Ü3OÏH`ñ·ïÀZPÂËBy)s‹¿I@A)k+Nàq°ÙÅÛ™ƒXü¾ (û’7óÀ}Š…YÅìêË⧆°â‰xÒªKyùãœø`häXA-ƒLàÝoßÅ»wê죵……<ÿ‰‡ôiCXñÔŒòcÉGÙT à©c-ÌÉÄâïô&öH)¿)i$öž¾|ÇÚ‰¾)ƒXœf¡`K1ÙæïöŸù ¯E¹XWàè8§³b3ï-ÜM÷©/2gÎ漘†aË{,ú×)ï|·ƒ}w0õ¹òÃW^dºe7‹–ý‹S¸(úó|VÖŒæ©ÏaΜóhìa–Í_×®³¯—Ö–«ùlË z’ùã9¼þÊ#|¥èïvÀл’{R¹q3ÇšÖTº™âÛ¹Cm€­+)!n>/l€ºr^þè÷ dÅSCøpZ7ª>9ÀܲFï¹%y:s ¾;ˆ§ÍUüìã*Îîõ¸‘/²ðûꮼýÄV<õ^‹ªenÖ—›Âx8ÒCvN-Nß²Åûª¨ŒìÁhóÜo—ØÏ<|VÈwg$°à±Aó»5´Á½?-Lˆ„‚‚S8«+Ø\c"-É× ¡3†R[RI±Ûûx2GÙ¼µ‡«-cƒ“Z·›‚œjèÝ“ ¾šUÖØRüí¬:â>³Í ñMÛ d€*ëNŸwœÁVβrV¨¥ÒmàÎ{âx-©ãôWsx;‡ƒ†0.6ÄûFÈ î5RðY)Myc¯ä»|ýL†;Ú†ûðnÊO•²}¯ƒžÉwã­@i$fÜ8l•»)¨i±Wk˹(ýW)ÆØd¼Ùc8ƒîr¦Fnø qô¬ÙÉæ/]€‹ÒÍ{aP21ÆŽRºF¢MP[硲¤œ/LV¾ëmÞ•‡£<|¾«é~€Ø¤pzø>—˜ÐŽTù®ã¦{ïk =Ü9¼Ñw&ÙèQSÍçuFï¶à,8Æn€z6ïó8¤‹¯ÙùåÝoµ—ÜÏNĶúöÓŸ(›?µ5®Ë,¯ÏÛÁs[üûñ3AôYLŸ²³rWuXûÅ0çÁ®çõ»xéç ôÜÕW^—*£Žñ'W콃øËôž¾08ˆÁ±FœÕ ç„Ú¾ë倇ØQÜè½^‡t¥Gù vÕ]‡g—ÉH°¿‡*Ïå=_/øL¿ÜskëFzh=Yû|Ëç SWÒ|Û3†„2ÁêøÑ#ˆ1$”aáÞi«Íu.ji»ïËÿþlívS_O@T7L¤Œ §;""""r¥ôÿ¼"·ÕïOt dwáÄtÑš$µu\&‚ Í?°ƒÍþ¸ÊÝ8ñüή%âï‡ÙÐôÿÎ^™'¬-º= 0ùáªk¤¶ÁE-è~Ö<#x\g~´˜:õ´jÚߪºÓÔ?Àä¹Íï9=[w¬Þm·Ø¿¸ÀØW~DgŽ¡„?mÙÏ{i¤{TW¾û@4cB;FesW¥‚¬µÿŒîR.Œ`"¨ÅL£1\8°;Œ„XZ|0(„ T:\g…S_ÎAˆÃMP÷æ‚6†ô$Ȱ×;2ˆûcÿ̲ÍÇH›âfó^#ƒïI‡É)Ý ÔA°Õˆ³ÚƒëÔqf½s¢ùzã4Q.ÀßwwjqûƒÛsVpª ¸å`U&#Á¸9ÚÐHpT£ý X^â&1¤‚µn OGÎ\«—s¿Õ¶ºŸÞ’¾ê.yú[ñgÕ^tV–2kéùÃ<DÆ0ï«¥,üç—|?»§5„Ì”>dôö¿ÂçL'¬ææãk½Œ:gy%¿Ï>ÆçÕ¾Ú¸ N\!ZÒCUÃiö®ÙÅä5ÍïÖaâh=¤\ôÙu•;V×@¥ÇŸ¾¦K<_C.þL÷ž³Ë9·¡¤ ä÷ÿ,çhRÅ»NÑ#©Ñà{öw:ûz7ÏìG@‹K¨m¾®Dk÷°kýi‚»š¿WÍûëÏ‘+Ž-T"·#ƒc¨ÚuŒ/Æûj~43§ÈZs”à{bê±¾ZwÓS¢‘Újf³áÊÀðx¨l€¦ªÒΆFŒ&Áæ ‚©ãØYó\àLð™¬âGX¨?fk,¦…œ¿?ÕWV‰I}HLêO±öoûx}Up‹¾Ónò³i G%Žæ ‡ÝAPHwÒíÀÑb¦ËáÀm°bÄ‚%ÈE©½å+q„µeêÙêr‚ŒŽæ_þ.Ç1š';›‹{ÑfІ@AÐ]<Þ½ÃÄ”8”“}*ô(#ÁÇCÂx÷±èóúáÃ]žÓT64×Ôr6¸p™: Tžyן0¬óp¦1Cƒ‹Z ô0ù!˜ô~ø~N5_DÄÕË[“î ‚•àÐÖö³öK¤Á!F¬-Ÿõ~yøÑ£_?è¸øbû¾¿êžèwVíÇà+}Î\¬Œ: ÷)~t˜]±q¼;-„`)þd7ÿ§ðB ûfêÄàñ‰¼ÝÏpÁ2¾ð³ëjÚÁ7R¼ë%CyÉj ¶µçkÅÅŸéWpnƒûõàÎì#d—ufoyi㯴6h[~\®Öîąmp{û®¨«§Ö£¿:DDDD®”ú¨¹Ínù軣Iõ¯äù¥Ed—{»¨­¨bIÖ>~sÄ(“Á6bªÈ*ñÕ®«®äO%~$6_ÅH½NVîòõ+W_Íʈ$ÀÊhkY95ÞyîS¬Ý^Op?«¯YÝÅ!v°ŠŽ°ÙW+ÉYQÎÏ>,"·þry§q6¸²?ÜÍó¹¾&‹ôµv¬ê/!½†ÓËñOþ^àí“ÒUñOþ^`$vtsÍÅÒ ŸqÌåMvo.%(æ+Ø:wgø€ JÿÞ4ïE7Si΀–ƒ>[[®3¶AV{·StÊ·þ5;[sÐ9ö~±“?ÿy7†áÃé9¥›âÅ|ÿà ÷"-ÜਮÜYWÁ’Bßýà®eåGù,iê£(È9ákêÝÀæ]õ˜maô8«VXg&ôö§`{Órn¾È)稵 ÃB}×õ®XKÊøMN#Ã’‚¯ø^»œýl%ƒzµ×\~çì㱕'|ׂ‘h›©9 l±+Î\{µ÷µu´¡ÖÈ ‚guK œàiª}ën·/ÜëÌ„~þ|ñÙqßõÒHå"^^s‚ÊVŸ]-Ÿq—¡ÞÁgÛ÷óýÏIE¬árž¯y¦·¼/unÍ]˜å"+»Œ/BmŒ½òï²¶ù¸­ÞâcMÔžà‹zïs`ÓöŠ w """"­ÿÙ¥"¹Í†ñƒÌþÄ®/á÷‹ryÝøÉ;_íá­¡hãµI§xýãÝLnð† ‰£by®·áÊ›Îù2šRf½{Š£u¬½£y-ÞÈüj •«òõwNèssRB õ`%¸w_æÜ}7?Èe.àobب¾Þ}ohí“F† â÷Ÿæ1¹¨ï¦t%{Õ>&g7XÃxf’µCÔ¦ |4fcá²×xÞ`¡×ý3}@gp† bb+Yþæ«”Úkp[‡0=s˜©3eÑbÞùï¿yGó¶ bÆããèÔ´(¯Ö–ct&i{ßgþ?OPˆ÷¦çîí-Š»'ã†xkc_{äfî­ÍÁëó>çuß”9ÄÌè”ÌI öõi㥇ê[܈Žâ¥¦Ñ§ýý¹3ªß|°‹‚jN«•ç¾FðY7‹wŽïÇ“« ùþoxk]Y»ðƒôžÍµû’z”ßÔwçiÛUü?â¥ö³•à&º_=þy˜ÿMo|;Ž»¯º¦¢Ñ#H),bæÜ"ïqš:“ò@_ ~8ÏÙÎ?g®µŒnª={ypOËw‚xî‰;Ékáù5»˜¼ÞH›•GÇwçà‡_òý•¼{¯•a¦C¼0o“¦â™”8ž\sÈ{½¸!ÔBÆø;°b`ô=vµ|Æ-˜f;ÿyVs”??ê›èD÷n¡dLK8ÓŸd«Ï׺Vžé-¾¡­|‡øþü¼{¸çÒ“ÄN »ªgn[}\¨Œ.|þ˜ÐÚ=<¸7ß-<Àó¿ý'Áæ†%u¥oA¥þæ¹Bg:*.)=­â¹þîèqûlE Ó?¨æ»O$0æ6%ëСCôéÓçÆoØUÄ¢WçãÈü1ö»AU+6ð“Ÿ~Fò+Ï1Ú×ï^Åæ7ykû8^üþpB:ry^Œ»†Ÿ½[@]Z"¯E]kpæbÓÒݼ3€Ã•Ñ-ýL//fúROçZ‚ñ›XõQfþ¿ã¤?6ˆ4³.‘Ë¥¦ß""rU\ðÒóï°¹Â;²÷—›7SK¯¦ü¨âŸüyM ñiƒÚ$¤¼ÕÕ–ð›òÎd&(€SÝâܧX™}ö<»¯äÌYr¯¿³µÕ€›‚]Ç9j¶0À¤Ó-"""r%Ôô[DD®Š±ß¦ÞýË~ú<Ë£ui¤q‡ÑEÑÒŸòÎ=ï{œÇûuVaµÊÁ’…{x¯ÒĤIñ¤¨ö•Êèæ,ÌgzV ÄD1瞎ÖÏèÅDEó\üÞüÿd.já;ÝA¬þÒ¹"jú-rƒÝVM¿åækª¬ò‘›”š~‹ˆˆˆˆˆˆˆˆH»SP)"""""""""íNA¥ˆˆˆˆˆˆˆˆˆ´;•"""""""""ÒîÎŒE¸oï•†È  ÁtDDDDDDDDÎw&¨¼çž{T"mäôéÓ466âñxðx<8N())Qለˆˆˆˆˆˆ\€š~‹ˆˆˆˆˆˆˆˆH»SP)"""""""""íNA¥ˆˆˆˆˆˆˆˆˆ´;•"""""""""ÒîTŠˆˆˆˆˆˆˆˆH»SP)"""""""""íΠ"é8:¤Bè`‚ƒƒUm¨[·nºDDDDDD:¨>}ú´:_A¥È-tC‹Üê, ‹E!"""""r RÓoiw *EDDDDDDDD¤Ý)¨‘v§ RDDDDDDDDDÚ‚Jiw *EDDDDDDDD¤Ý)¨‘v§ RDDDDDDDDDÚ‚Jiw *EDDDDDDDD¤Ý)¨‘vgh«¹ÊsY½b;òS`°7†§ÜK|Èe¬ fŸnª¢Ïø‘ô4¶¾¨#ï^^XL·É/ðÜX«Î¢ˆˆˆˆˆˆˆˆH×&5*]åë™÷Ö"6å'(n(cÆŒah´²=kxÿ—dŸãÒë¨Ü±‚ÙÛ(s褈ˆˆˆˆˆˆˆˆÜnÚ F¥ƒüSDNžÍ¬±6¼"'’òé{,Ê…*» ‚ 2w9‹Vì Øº1pâ4¦¤lÁËÌßã`Ùg³-ó5žê[ÆúEKù8¿ 7`‰Á”é$\°e ûV/cÅÖ|Ž×݈9™©ã ‡×³hÑÇäW¹ ŒJjŸÃ¬Øtœ>ü”'⺠DDDDDDDDDÚٵרt•³ç°ˆ&epSH `Ä6ö žyꌴ¡rï-ÚA±a™³!Åvœ=+²º¢'f2& Œ1™³˜Ööe-`M¾èÉóøÔ¸Š·±pQ.5ç參çñ~v>õ}$ó‘<ØËN~öûÌ_]ŽËUÊê…kȯ2÷à ¦€­›ŽQÊYjö±zu.•* ‘®MjTÚÝ€Á‚%¨•Å,™ñtŒ¶#‘ƒ»‘]vœ²ãnŒ‰‘DUADF÷Âä"0õqžN1bíi#Èå¢×ò=äWÄîJä¬J•®2¶í¨ú0eÚ½$‘.výxe¹[)O4’oº¥2åÞD¬ÄaÈÏåý=:ùÒBMœ·”2ƒ‘Ürx|æ9×™ˆˆˆˆˆˆˆˆ\WmTyJ{•è{±jŠî*v­YÊÖü*ï`;—P8›eköPfw_bIåv Њ¥éh‚,Þ×ö*jA8,aùÙj³À»Î¾xÕäñÇyË©OyŠg†È]4Ÿù VŠˆˆˆˆˆˆˆÜH×ÞôÛhcpt PFöŽR\gf¸(]?—þ{.Yûj(]½ˆìü*¬>Íko½ÅìÃ.¾Îš=,]¶‹2×@2ÿû§¼õÚ#Ä]4R Âfê+©jÊ4UÞZžaAo@i·{KÜT–+¤”¦Ë´œÕï/§>åq2GÚ0­ ›ù8ãYÍ{iy=‹ˆˆˆˆˆˆˆÈõÔ&5*ã'O¤Oþr­ù%oåe`d õÇ÷°#¿ „{‡7òqÕÛ)ß÷)Ù›¼a¡ýàa*öÂh¨d×®£ñ¿€1¨eU`+ÃfÎ&ÁeT?¦""""""""7ˆÓ‹—^zéGW½– (‡DÒXuœ/åSPTLY…‘È÷1õѯrgˆ?æ;,Ý“OÑÞþù¥Ñ3&a>°“C{±÷KaDìÜ]JY~>'b&21ìKò°ë³½TÇL"#ÑÎ?÷bO±…ľGÙ¶«sÜXF÷ &¤ß`"Ç8°k ÛrvSPÆÀñßbFr&ÿ.ôŽqsxo»w‘_Éè;ÇÜt’®þº n÷›ÀèÁ[Ãx—ÆéÓ§Ïüóx*kOðÝMÚ]uϪé7Øoêjâîj«i7`¶`ìâ¢[Pâ:lÊM1$Ì Ìï@1ï Cèý|<æÑ0s}®Ï5×õ™Ô7×õ¹DDz‚Jéu *EDDDDDDDD¤×)¨‘^§ RD¾ 'ɤåVâVgˆˆˆˆˆˆˆÈ—dTˆôGÕäeLeUíޟ†íYÄ[¾Ì9™”½†Q¶X,ý©ëœEl¬ˆefZìew/â®Å%ô,¯®I#âóÕmt0ùù£DÍØÀÖÌøKôÕW1n"""""""צÓAåߟyãÈDnM@ä`õŒH  &&æ+=gðøgÉË…ùóo˜mØ¿tØe!">éœ`®¯sîYɪ’L2Òb±]æ1fÌxÊòÙëLÃaïþN5›jÏíÿ^7‘kÓé Ò·w7¾½»ˆÛ÷¾zF¤?°Ù‰²Û/8‹Ï]–EÚ¢z2ŸŠcÏÚ"ªjkq…'1/{9sF¹Øè˜ÌÚø5ìÎN:]‡»,‹´ù•ÌÛ¾M&ì¶gÆR;™Ye3X·ƒœW<,ܺƒ9±.*6æ“¿‡ªzÀEÒý y*3 »ÅMeîTf•ÍàÙIeäÄYïÂçà©å™Œ8Ó¾EKcرv/UµõØ’f“½4‰âÜ\^©¨¥žX¦,[AVjgdZWL^N.y{Ò „ÇMböÒ¥ÌeWó',#üÙL‚7å±·º–zOã3sÉvDQ;•Y›jÅL›ÀSÛóHÙ;“{sl¬(\ÃØ %—Á£˜^ÁÆ=Õ8æÄžéßʼâŠ#5æ u»™ïÓðìvÖ¤‰x«Wf0õ•6lŸùŒ[3íújˆˆˆˆˆˆÈµG÷¨ù:3›ÁSÆÚ½ ,ݸƒÝÅ…dÇU²jYNì¤:âh..ààé›Pº9XPLsÜLRÏ »,XÌf¨*`Ox&Û 72#êvg1ÿù –n祥¾8óž1U%n,XÌ@U>¯ØæñâŽÝí^ÃøÚM<½¶ó¾—íÛX‘Êò»)~õYâ*ò™¿¨€ØÌì.*äÅIõlËÉ§Ò PMÞâÅä1“5…¥”þñU²SªY5?‹¢:3ÐLÑÚ R—°»¨˜íKmìÍYÆž: ñ™[Y‘$­ °8Œ°$8˜½p ±^ÌxGµ› :ÛÑÙW›öÂØ$u¥…c™1Ê6•PwúØjvì©%êþ™—¿¤»ÇÆMDDDDDDäÚ¡ R¤k~åaîJN&ùs™În¥¢˜4/­sI±¤I±P[A­ì©âš‹)èJ¼\ÙXÜLÂŒñœ7ï2Ç1{ÎXì6ê(ÙT)™,Jí˜h‹w鈢vOU]!Zpóîï¼w£-ŽÔ3õUÕxºµ/cæØŽ%æ£H‰sÜL&ÅZ ±©±P_E½§c㦪8-uo,$ÍË$Õ\¦2×écgÎclç„F{R*1ÔRUþ-lñÍIãâùž…ˆÔ9$¹v°ét_•±±ÆÏ辄ÛFÊÌT‚æ±§kªw°§6†ŽØÞ7‘k€6ÓéÇÌãŸåÅEçnàbïWÙˆ îöcga7€}<3rÈÝQ…;ižª”y’Xš8Ï=ax,ö®™‡îz*j!<éì{=†²CþQê=t¼n‹Ãf9çôgµ/¼[û,°Ùϼ`¶c¦à©­¢ž*rîM&çsµDUÕÃØÎ6Duo‘ùÌçý2“˜‘YËp%…²M”Ùî'/Îܱ컫ý ³ÉŸÅ¦=ÕÌœKõŽ=ÔÇÍ9k¦ãÕ7‘k“‚J‘~Ìl³ûevåŽ Å‘€'·€*w,®ex’–žx.Û5ð©“X^¸†Ôó5Åå„+ÞÚærÙHš3 Ëü|Šëâðä•>c)±Î *±Äã˜æ‚*öì©gÔ³g:~õã&""""""Òû´ô[D.*"e£<%”•QPæ!eFÒåÅ‘–pFEA}U5®n/×W8!<†¨«š£FN5eÎîó#ÝÔ9]_I_YF9¸?¼‚M¯lbSU3'¡u줙ÄÕQP´‘=®$f\…ñ ›ˆˆˆˆˆˆH/QP)ÒŸ¹œÔ:8ÏyÔqÙÑ]ÄX¦ŒrQ´v%%¤vìž}y’2#JV²¶¸7àª, wS-1W²q̰Ä;˜SϦ§×RVPGÅÆ%L<ŸçeÖa6C]N—ët›WæíæòÇ1#Šƒ«ò©5ƒñÊíã™T϶œm¸’fd»–ÆMDDDDDD¤whé·H?Ö¼÷GLÝ{¾w¢X¸u3.«cg$áYRÕ¤Åí IDAT‚ùþe$\AÞ‘–Íšúr²îå®fÀEÊŒå¬Y{•>q,sÖ¬Àõt.™÷æÓ ǤàX±‡.òYˆsÜOÌâUÌš°ƒ62û`ù«l$9ÒÎÜó"ì“æð|á³;7:Ï0vv æÅe¤Î9w¦co›ˆˆˆˆˆˆHo0t=yÿ®8×ó¸}ï«gDD®"gÁL¦æ¥°qÇ"bÕ"""""""Zú-"òÕrSW‘GV®“”Ì )EDDDDDD:ié·ˆÈWÆIÁÌÉäT“0;—e©Ú†[DDDDDD¤‹–~‹ˆˆˆˆˆˆˆˆH¯ÓÒoéu *EDDDDDDDD¤×é•_Wî?ñ÷ôïsÊsž÷¾Ï[²°Z¾H½åücÚ£ø–½ÍÐoZú\·´ú-.s:×ßrõÚî÷û1 ºEDDDDDDDºQPùµffÀŠw{6P´$2è¥7Àféƒýá¦õ¥\>w7×ß2H—‡ˆˆˆˆˆˆˆÈWHA¥\€›æ¥ws"|!ëwrªæ8m /{Á7ÿ‰ši9XV¿Á 3Û?Èæ£ïñÒc´,èœQyÛ{ücÚB|ŽÃ»áuŒYopcâqr—ÒðÎq ƒÿ‰ðe˸>Æ‚ïõé|´áÂG¾‡ëÐq|ÿpaz`C$X»–#½íáa´î+ÇSãÂüðó„zòixãžxšÿkìÿ<„š8µe)¿ø'ÚÂîຬ Îz®Ÿ?Œæ7ÞÃ÷ãøo^Èìïáq:ηëðÿ)#å¿$&3WÎcÔ¿s?@ðhB²ž'ò›!º¼º4DDDDDDDDzœ‚ʯ5§¦j܈³G^ê -|ó{‡w”¼e†æð¹Cžvíû~‹Û ¸ðéMX§ÝqÞ)º¦ûî!ÈÒQ®é&,}·ãg,Xø¦¼Î©ÚÎÂa÷rsnjŀÁ£1R‡·¹ó=ólã†&Ð<Œ;;–h# ù8í¸iýÝëøïXHHLÇlOãlþMswÖs¶qÃ:.~Û0ÌaÐVßtN» ÁChþŸîÚGk½ãY Íú&]8""""""""=NK¿¿Ö.vÊŽPÏ`6Ÿ~ÅÐùLœµyM5™Xø Ÿ1ŽÁ‰çYm6Þõº _³…€ànç Ž Þæ®óExúíŽ'~Îü`î^¹C×ÏfKgÛÜø<øÿ6—#÷YÎ|–f°¸šÎ[O t³g ™Etv>u[²ù{îGø£ïáú%ËôMÝ¿RDDDDDDD¤§)¨”/Æv¡wºùÇ®÷ö¼w®êØ%Ü}у0»ñ4»é !i®£ ¦àžÚ|Ç‚1ÌFÀ}/0,+ñÜ)õWV—éÎyDÝ98É©-™ÏZÆ€ßý’]""""""""=IK¿å ²`}`ì{ú}>xë¥/&Ë0BÆ…à~é·´ºš8õò¯i‹þ.ÁQ=×® ¾ö½€«3”l?új—fó™ërŽ÷àoðt<Ûò}>Zö‡Î{RÂrË}aDDDDDDDD®ͨüZë¼Gå9¯ßDÄ–ßq©Iƒ·Mg€ç{¸ÌyËåL1´0`Ñ Dä,åïÿ¼ Ct:‘Ëgc†Žº{@à9Ø^ÊÇ nç¤üæ! x8‡ Ð|±##pßhê×ÜÇï䓽àwžâè=Kñ›-‚oÅ–•«Ù”""""""""WA×-yÿ®¸Ó·ŒÛ÷¾zFä*ñûý u„ˆˆˆˆˆˆˆH7ZÉ*ÒO¹* Èš“FêØ±$''“š1ŸÜ"g×»Tì(ÂyéZ.³Ü•s—e269™ä®ÇØ ædåQ\÷åêuntšYvñÛ¥ög;*Îw‚:в2HNN%³øÂ÷(pWf“‘‘M¥û‹}NweîéãEDDDDDD®5 *Eú#w¹‹WâÊXÁŽâbJKÿÈÆ…áìÉÊb‡pW‘·¶€êKV—[î 2‡OaÃK)--å[³q˜w°dj&EuýsXœEkÙTVž~>ÊŽb˜½µˆÜ±¶ o‰ÏdãÆLâuûé‡TŠôG'Õ.;©ãã鈽,ØÓžbÃÖåL²;)XœÉÞÚ²¦.¢À ®²•ÌÏH%55•±isÈ.ª>W®º˜E©3ÙØ5½ÒÝígw%3¤¦vÔ‘±( à® +5e—N:-öQd,[ÃÒØró+qîʲf¦‘––Ú1#´sº¥»"›ŒŒ,V.›ÏÌ™¤¥Í$ûŽeÝfB:)XœÅÞæZ6ÍwU삺"²ç¤uögóW–á¢cFäÌ™¹çΈtU·ÈAZZ©iåUÐñé\çÎ!ul*iŽ9äìqâÑ·CDDDDDD®Q *Eú#Û(2FU“;?‹¼ÅTÖ¹ ö,Øq<»ˆ¸à²·®Ä^ÉÚe0o+EEElÌÆžœµTº?Wî";³»Šžgmý¶QT´•̨ öT¹ÀËì짘{¹S#HqÄQ_\F½»’UKrq:Ö°}w»³(ÎʡȘÁS[Lí¤ålܸƒ­OŲ÷éUœ•‡º+X¹d-žy[)Ú½›Ý+&Q‘“Å+ÎX&9©((ë óÜT½rpG1µ%T§e“W°•ìØr–U‘±<[—[¼–=NÀYÀ’§+HÊÞÊîÝ»Y3©šœ¬‚Ž%ò¨/)#né6l%7é kó*`ÔR²'…3o ËFu۬ʎcE6ãƒcXøbÙcÍ”=¿Œ½ö§ØQTDÑÆÙ¸6eSP}ÁÞ§8gyæylؽ›¢­™„oZBn…wåJžÞacéö"v,'µ¶Œz%•""""""rRP)Ò/Ùq¬ØÊrG0e›žfÖ½w16c>¹»«Ï½§¡%žÌ­»Y‘@ĨT쮣Wh™#¡z¯URçŽ 5+—Ì$`#~ìXâm—_—-Üžz<µ{(r¥0ïþX,€e”Gx;ª:BW‚“p$uTl5‰XWÝWUWï¡ÄĜԈÎ9 GT5{ª\ØSØ+ (sî*vT“‘Ûq\xŽ`&<6œðQ“ˆ³æ(bmª]nêÊ^¡:n3FÙ ±“f[½ƒ®ÛOšãŒ°Œ»Þucg!){7ÛŸÛ16<‰¤ðfª]˜•ê®fO™…IóR‰°%1c¼™²ÕÔ–•áŠíjK)Ž$‚õå‘k”Q] ÒOYìŒ™ÅØ™Yண²h-YOÏDZe1Ý º©Þ“KΦœn3fO=G=ñWvª¤§È[ºŠ•k³j‰›¸I‹xj©ãŠÊ.®Úz°Ù1»*p5ïeIZ*æÎ÷<ÍFÕy ̶ð3¡›ÙL°ÙsV¸êö¸ðXº•ÁF¸ \õn°§â°¯¥ ÌEJÔÊÌ̉*óç¢<ó¹ml®wá9ø4SSsºZF³'–®<Òl3Ÿ9Ìrå7”tU“[@E=˜ÍjkÝLºpiêëë)y8='õxš±¥6ã©÷`ïÖ–àplf}5DDDDDDäÚ¤ R¤r;Ë(ª '5µc6"–âÓ1oÓ+¬­¬‡îA¥³€Ìœ*/nef¼œqLÝ{¡šÏ<õxðxº~¶›–InZ&¸*ظhYỈ½Â–;ÙSPMÔ¤$ì6áÁãÉÚKÒç²>w%x\õ4wkK½ÇLR·Îb Çì®>Sõ.°…[€ÆÏˆemA1㊱eä{ö§»¨àpæ¤Lv¬IÅvÎ'ø²ƒWÉÊ%kq-ÜÈÖ ;w%ÙS_äÞ’6Â㘱b+™ŸÛeǹь§Ìƒ:®ƒúz\žp}ADDDDDD䚤¥ß"ý‘«˜UY™äu-õvSWVÀ¦*I£Âé¸É£ —Ü®Z<æpbí ŽâM¯pÔãî¼ã™r`#ÊÒLUmGuÅTx:ê®Î›Ïœ•¸Øb;êr¸¨,.¦ò2V>»ë*(ȚϪúId:b!*…±¶ƒl,êŒþêŠÉÍÊ¥¸«®æ26–ÔnKµ-‰¤î\Ô$Rleäíé8Þ]Y@A}÷'tD‹)¢ªÖ²r…û'Å^Q÷F$ÝOle;:·CwU䑵l÷¥CJ3xœîK¢ÍÔ»-DņcœE›(©íƒó°Ä’‘ä¡hSç=7ÝNvgg‘Wá&|Ô(lÕ»¨;)*(ëÜŠˆˆˆˆˆˆ\[TŠôC–øE¬ÉKíÊ9Ü•œLrò]L]VBÜÒ5d޲@Ä(î«âGäzÌIªbIZŽQ’”Éì¸*žž¿’JÛ™rÙUqÌ™—@YæT3çs0‰¤p `!öþŒ*[BÚØ±ŒMÍ Çu?YsbÁ]M~ÖÓlª>4ç©ßƬ»’INNæ®{Qàv°|Ã2ÆÚK< —ÏòöáŽÝ¯§æâL˜Ä¨Î)Œæð$b‹~„#-•É9õLzjgM(´Ä³hù<Ìy3IMM%mqIK³é¼'D¤0#ê(Í÷“j¿Â¶;X¾4–WæwìÌ‘UBÔ¤±\¼ ±“R`Û,Òuí~¾b Ì›ËÞùi¤eÌ$·vK§„³7s1¿;y¾l$-]Ž£>‡ŒÔTRÓ&¿9…Ô8 –Q Y:©žÜ{Ç’š‘EɨT¢Ìíü-""""""×$Cד÷ïŠów=Û÷¾zFD®YîÊ\¦.q³|kñ–/\ eY“ÉMz‘»:UDDDDDD¤—iF¥ˆ|-¹+7±²,ŽÙãRŠˆˆˆˆˆˆ\ ´™Žˆ|͸©ÈžÊüWÌLÊ^CZ„zDDDDDDDäZ ¥ß"""""""""Òë´ô[DDDDDDDDDz–~‹ôQYYÍòCðùÛÔruþ€0²dä,²¿¹@!""""""WÝé¥ß.]è7ŽL$à¶D"«gD®»½g6o ÞômNùZÕ¡rU 4ZqÍxC!""""""WÝé•¶ÿ|‚¶¶6ÚÛÛñûýøýþ³  õ–Èçt}O ƒ€€O?7 øý~|>‡cÇŽõXP¹xÄ4ͨ”«ÊfÀÿŽŸªŽ‘¯Äéô±¡¡ÁßR *E.C÷ ²ë¿tÜþµë;åõzO•)))ê8‘Ï9=£Òh4^0¤•"çÓý»Ò=¬ìšI a¥¾?""""""""wÞ RD¾¸®²ë¡RDDDDDDDäÒN•]³ÀD¤çè;%"""""""ryÎ *E¤çh†²ˆˆˆˆˆˆˆÈå PˆˆˆˆˆˆˆˆˆHoSP)"""""""""½NA¥ˆˆˆˆˆˆˆˆˆô:•"""""""""ÒëTŠˆˆˆˆˆˆˆˆH¯SP)"""""""""½NA¥ˆˆˆˆˆˆˆˆˆô:•"""""""""ÒëŒê¹&x“÷äjùº_¡ 3™Y$¢é×TÊ5u9Æ?ò sG˜/M‡_cýê lþ$ÿ–`U÷ˆˆˆˆˆˆˆˆôc *åe"døF*¤´±°ÒôîÏÈ)ÆÛö7Žfáã`«, {9'Z¬ØS¦0+=çºl¶Ùñxz$&Nðfösì²Íâ‰E‰„àåðKϰÁ:—¥]lÏßFù oÇY#™2ÛABÐp‚ ]L˜Ì¬)‰„™4:""""""""=MA¥\£¼4ÞG©ËNr¼ “Ɉïä!Z'ÿ'9#B ¡„•9ûq¦rÖ=—Ï–è'™–IKáaZÒ#15åvBËqz ák`ØôA8wåSn›BÖ¢¬´pxçö8Aü8Ø·n•1³y|ÑB¼ÇÙù³U¬{ÍÎÓ#5<""""""""=LA¥\C|T®Ïâñn—§}Ìl’CMg®Ö áŒÞqÇʦšRj¬£™Òù3!#™0ÜȺR'Öɉ„5ÂÙ’‚©æ.ûÝŒsrè„—Ö#i‰a¢}ÖAAøÞ.¥ä`(ÉñCž>—á oRz2”qsGtÜÓ4„»'D²ïµƒœHÿ6Š*EDDDDDDDz–‚J¹¦.Ç3÷¨oÓQöoYÇsùŸ›ˆ 0ZmX;sK_C …þÀh3ás¶à ‹'Þ¶'Z°–Ÿ 41žxg!¥G\4ÙÒ™B´B¾½€¹¦]¾¶ž]ù-„ÃäééÄ·4ÒÊI¶?÷{º¾%¾V|¶hZ:V‚‹ˆˆˆˆˆˆˆHRP)×,SH c& gçºRœÞDb>ñ†Y¡µá¬à°ÅÕBÍŠ‘PF‡Í‡* rZIH!4ÔNËÎJŽXO–ݹ“xÃÇMgø8 å8ïn^͆ 1,IÑÎÄ¥? E[Ž‹ˆˆˆˆˆˆˆ\uê¹fµ§´ð0¾ÐaçÝÀ&$:™è–nÀÛPNáa#ÃÇØ1ažMkù>ù¢fëØ('ôä> k‚=< h¢<溺+9À‰=²swñ°x’CO°¯ð(µ·pxg/u•‘¥•r ùü=*ƒ–Ìì¹ãˆ„ÎÀ°›°fÏ:Á†mÙ<Ñ`#fÂ\¦èMöD5æS32H`²“t’m­c˜ Âȉ)”oXÉ“Û}1bŠŒgʬ‘„`bÜÜé4nÈ'û /øÀÌ”»#µê[DDDDDDDä*0t=immõ«;Dz†ßï§½½¶¶6ÚÚÚðx<¸ÝnŽ;FJJŠ:HDDDDDDDäs´ô[DDDDDDDDDz‚Jéu *EDDDDDDDD¤×)¨‘^§ RDDDDDDDDDz‚Jéu *EDDDDDDDD¤×)¨‘^§ RDDDDDDDDDz‚Jéu *EDDDDDDDD¤×)¨‘^§ RDDDDDDDDDz‚Jéu *EDDDDDDDD¤×)¨‘^§ RDDDDDDDDDz‚Jéu *EDDDDDDDD¤×)¨‘^§ RDDDDDDDDDz‚Jéu *EDDDDDDDD¤×)¨‘^§ RDDDDDDDDDz‚Jéu *EDDDDDDDD¤×)¨‘^§ RDDDDDDDDDz‚Jéu *EDDDDDDDD¤×)¨‘^§ RDDDDDDDDDz‚JéuÆ/_…—÷×e±¾ šiO,âöÎwŽóóý¸€Ðû'ëÛ‘êq9GϨ¬aÿ‘¦Îç^N”Â¥>‘K0ö\UA؃Z©)9BSb"!4rà lƒ0ºNž)Ör˜77læµÊF|€-z Sf9Hƒ¦òŸñã Nì“g1¬¼€·kZÁÏäGf3nˆé¢ÇBå›ó)(uÒj %~â8xm;•¶ <ž•N$-/)`Ëk‡pº|mÃ7mé#Bt|y[𚬘ÎyÙ‹ÉjRÿˆˆˆˆˆˆˆˆ|EzpFeÃâmp¤„šàÄAÊ!zdd·4´…÷ òØUé"zòL‰·f?ùÊiLÆŽ’Î=ûð™Î¬ Ñ]•lßRJÓ%Žm*ß̆R'­ƒÆ0eV:öÊ=Tú‚:Î|p3«¶àÄ t,|„q¡G(Ìß@y“.‚¯//Çw®ä¹¼rº½v¢d9«_ã„W=$"""""""òUéѥߑÉ#±QþÃM4T–ÒH4ÉñÖn%ŒØ'-à?ÿóÌ7œá‰cˆ1‡qu …‚&3ùö'Nd¸h¨¡Ñ{±c½8KAŒvL&%!‘ôé“tú¬-ÝA$¦axÌ&N‰Ñw„}G”T~}™òÀ\&²“Õyå4x½œ(ÉguaSI'R*EDDDDDDD¾2Æž¬Ì™L|Ð~Ê÷¢¼á$DO#Þv„ÝÊ´-dË®Žå×bdë\ŠkÅf¼œc[p¹:ʇٺŠ èXtîí|¿•ÒUY”v;²ñ¨ obʤ¾®Â¸}ÎÈ[ͪŸíÁë³3}áC$èŽ""""""""_)cÏÖfgLB¥¥¯ñ`Ÿ#gÞo:Äæ-pföÓI0fÝ3ë©ü|=çK ];Ö„- … ´œè¶‘ ›Í={“NO•3b´ÙR~íu„•¦û1Þ®RDDDDDDD¤ôì®ß&ö1ñá‡1ñŸO|Zè˜ é£¥ÑIùÎ]õ-'¨9Ñr‰Ê/v,Ø“£VlßλËÙ¹¹3[øX‰‘V*÷¡¡ÅÅÑ}›Y·n3å º ŒÄt…”""""""""½% §+4ÙSˆìc8'§ IdòÝѵb˪|ö'2wò0Œ¾#lÛRJãÅ*¶]üX_â,¦„ѹŸ-vr"~ön‡[¦³`òHlG·³~Õj¶”·`—NÊͧém†®'­­­þ¾þa¼-M´Bˆhz—Ÿýx NûžøA š('_%¿ßO{{;mmm´µµáñxp»Ý;vŒ””uˆˆˆˆˆˆˆÈçûËiy?ìõ‡hµßÍì) ´ì '0hôp…”"""""""""׸~4£²…Ã;7PPRÉÉVÀʰät¦ON$L«»å+¦•""""""""W¦_-ý¹V(¨¹2êém *EDDDDDDDD¤×)¨‘^§ RDDDDDDDDDz‚Jéu *EDDDDDDDD¤×{¢’·ÞzK=)_ßúÖ·Ô """"""""=̨.ùzò{<´{<ÐÖ†ßçƒÓ‰¿µËM7ߌF &  ê8¹*TŠˆˆˆ|´·´à>z”Ö> ¹¸˜¦·ÞÂ}ä-Œ¿ó/‡ÀÛù_“Å‚uÄ‚““±õ¶Û° †ñúëÕ™""""Ò£NÿJ¼µµÕ¯îé~¿ŸöövÚÚÚhkkÃãñàv»9vì)))ê ùÊùêëùd×.šöîå“;h9qKHHGðƒÙn‡€,11 @ËûïÐÖÐ@ku5­••œ:~£Á@˜Ãí®»¸>- #Ô¹""""Ò#4£RDDD¤?óûùøW¿¢aËšÞz ƒÑHøƒ}ß}X† ä½¥…k×â=y’[_}õ‚!å§••¼ž‘©Ïh0Pµu+Q&÷裌ç.Ô¹õÕW)»áêó§OÇzë~þõ IDAT­4¹ Ó£üÖ·¾¥Þé!›Q)""ÒSšÿøG>^³†}Û¸qç-ãiläE‹ðº\ †=¿xgñbFG3ô;ß9·@` ÃÖ¯§ò»ßåã_ýŠ˜çžÃ`±hàDDDDä¼´™ŽˆˆˆHUóÃb<˜È¹s °ZÏ[æÀ̱×_§ ðùý=ûÜmmÏ›GÓ‡ž÷ü×Ý{/a<@ý† ´|ðMäk®Õ릾ùê›?¡ñ³OÕ!""rm¦#"""Ò5—”Ð\^NäÃ3ðöÛÏyßßÖFÓ‘# Â7Ÿ|zx6åYçòùø¤²’QQ<뽋…, qûv>Ù±k|<“I(ò5QöÑAþXUFõÉ¿ãlü˜†æOðø|@Çÿ–‚ƒrÝ7ßËmCnfÌ-‰D‡ÛÕq""_S *EDDDú ¿?õF›ðï}ï¼ï >{åÚóò0\ýE4®ÂBÚo¿>TXG"dÜ8Næç¹`ÆÐP  H?Vq¬Š÷¾Ì«Þâ3÷)>k=E‹·•k0Ã#c Ô~DM½³ÑŒÕlÁj¶rÓ ¡Lóþ5uÆÀ@u¨ˆÈ׈‚J‘>¦­© ×¾}Xn¾™ë&N<!ƒ¶úzZß{¯ãÞ”šQi0€ß¯þ‹ü¥24ôÜc:™ív®¿ÿ~>úái9tÛÝwkEú_›’ÿBöïþ‡Ò*±Cøçä‰L¸m w ÿ× ¹àñ©>ÄŸ`OÅÛüéÃdmYÎ/ÿŒùÿ4“%ß™Kˆ5X,"ò5  RDDD¤iض {;3f\ºðBJƒ¯ ÷è8|÷Ãøû7±¼÷ÀsK ÞïÞCÀî·±¨ÂìPZ÷`Úº㱿Ð2òIIEDPÿòË *Eúo›j?â¹?¼À¯ßÚFì ¡©ÿ=“7•°øÞÙüî±ÕüÏÃÏ\QHùyÁ–ì<öÒ³dm^Îÿ8ÊÿùÞã ‘~FA¥ˆˆˆHÒRYI[s3×¥§_´\»×KÐm·1衇.~OÉ®©”бŽÁpökç+w¬´yZ/Ú&ëm·`6Óüî» *Eú¨:W#Sž_@ÃgŸ²böS=åbbö¿ðiK3OOýOfŒÍøÊÛ04<Šß>¶†rçñê_ß⯾ÈÜû°GD¤ŸPP)"""Ò—\æŽÛƒæýû©]¹’@«•[6oÆõ·ƒÔçÿûÏr©Ëþ þ¨AD=ò(οÀhÆš‘NÝ£ ð|ôÑÅëÚ L& ­ü€1$„Á‹i|Dú)¿ßÏ÷•Ií''øÿ2æ³àž™½ÚžÍ‹W2þ™ïñÓk‰ ‰è•ÐTDDzžvýé§ –!Chªþ÷„_Ï'ÇDkü|²ùe< Ãñ·ùøäã£0ÀB@` Fãþ`›GØêŸc|CÇë‹:\¤{æ·+xý`1ó¾=ƒ¤?Òëí 2YØöƒ_qÃuüdÇÞ;þ¡ID¤PP)"""Ò—ø;·Æ¹Ì™•]Ç4¹›hkóÒÞÞŽÏ߆ßïÇçqc ¤ÍãÆï÷ÓÖÞñú¥êrG…a[4›¾¿€€ÈˆËoGW›ÛÛ5Ž"}ÈÞ÷Þá…77“zë<=õ?®™v Lö÷çX½“uE[ðø¼,‘>®–~{y]ë+»¿DhtLƒk EúˆÆÏ>eõin=ůù1õ5×e­cxxüƒ¼ðæo¸÷ßâŸFÝ…ƒND¤êÑ?e%Oà¾û&p÷h;Ô`Wþs¬Þwý^KDDD¤gXo¾™Àà`>ûóŸ/]¸sv¤çØ1 ­nÜåÅwìï´ÕÕÑúq-ì~ ÷7n…œr5Ðr´šöúFüíí³/ð0¸½X¶¸þeüÍŸA{{Ç1—à>v ¿Çƒõ–[4"}ľÊRvüùMr¾÷8C⮹öYLffŒÍ vÐPVîοô¬p¹¦{²*{òD¾=¼cþdú¤7YõÜ.jvphô¿‘-‡ßdsA!•'[ñC™>‹éãìœ(ÈaÕ~Ãf=ÿ%Z/‡óždõ!#£<ÉCÑ”oÛÌÎò}`‹ÔYÎ7²å0onÞNá!'­€1tÉé&'Fbòeó3«(%ž ‰^J÷ÁEö1ÓyÄ‘@@ÓA~¿a;¥Gi%ûèÉÌš~;‘&/ï¯{’õ•6î¾/šC»`›õ ‹­ºŠDDDä+cމ!08˜Ö>¸h¹öövLÃn⺴´ŽvíƒëFŒÄ¿ýu‚ÂaÚó_溆Òj  ý· 5F_ùl¤€iãâAË{ïÑ ¼ýv ¤HÐøÙ§lÙÿbÂíLþ_÷`¸6g*&Ý”À·oÃ/_‰ÊÚ#Üj¿Yƒ'"ÒG]µ]¿M‘)L¶‹ü#5”Ÿô’è+eÝê]ÔdÚ XK7¿}ö,¦‰mÿ~jJÓ’˜€Õ[CÉa%2.Žn_͆Rö 0+þ$¯­ÛN~~$K0޳cÂJÖ­fWMÃ&ÌbBt ¥Û·±Ãj|¡K™n7b4®JÊ}³xäñITn^Í®ýØÿ$s\ì\ÏÛ'C3k!ÉÞ}äoÙÂ:›ÇˆÄdhdÿÛ¡$OžB|´6Mïó¼-xMÖsnOàmñb²šÔ?""rM2ʧo¼»¦Ktôù µµaŽ„íöÛ1t .4Û(¸kFdÀå/¸é^¯ÁbÏ…×Ñ´Ÿ:…÷Ø1‚n¼‘€à` ¢Hp¼ác^?øGNú>ƒB¯é¶þ˸)¼R^È~“˶Ç~¥Á飌W³j›-hÅÕ⣩a?5@è„tn‰„Ðt¢÷oàо£0k £mûyûp)G½ w–RÙ ¶1wcÇɶrã¹oÂb¬Ã¹/¹Êý%jGr÷S6”³¯4‰é鉄1ÆCZ_ÉÁ}5L™ÔY0šôû‘ãym}%GËx#+)? Ø'211†lÜ]x€]ös"}òéÓDOžƒC3)û/Çw®$¿q æt\/àåDI>«÷ÛY°0He•""r ™8‘¦½{ùä÷¿ç†E‹Î[&Àl¦¹¤„ã?ýé黵`»ûn Vë™My¾ˆ€Ü‡sêƒN×m &üá‡/xÈ©¿þ÷Ñ£\ÿïhEú€¶övŠ?(Ã×ÖFê­wb6^Û1þ_7däÐ[x»ª”ºæF"‚C5ˆ""}ÐU *[hll‚µi­i q×s<¾«[±¸L#HIåíÂÔִ`+¯¤•P’ÇDbâ0 ­•¬òñnz9Úè=+¨ôºNâ° ÂÖõ­¡XWc >:ƒJ£ [WÎhµaZ]^¼-.Zœ[øñã[ºÕì¤ÑGçìM‘¡šIÙ?˜òÀ\&æ­fu,˜5_i>« ƒ˜¢RDD®a3fð÷¬,Nþ¿ÿwÁ ¿ƒÑH@`àé™KG@ÙÞþå‚JÀH€Á€!0°£îK„ŸÍ%%´8 s84€"}€·ÍËïK_'馆EF÷‰6?xg:ÅUæ7Å;X8éûD‘>èª%nÞão³§0'Ùn"¨Á 4z÷æ¦ØÎ4Àhë˜É–<†ÐÂ])-ÇZé‚Ð ¤ 1×JXñ cÚB1¦Ód3A·ÝÆM¶Ž{-µºNâba€Ïuj;óa}œhá&ð¹h‚lVLÖÎãí“Y8+þ̲rc¡V¨¹ê½&_½0nŸ³òV³êg{ðúìL_ø !ê¹v™o¼[j*§þügZ++ Š¿¬ã  ÁãÆxÝuaåd0qíÛGËûï_Vù¶O?¥¹¤„ Áƒ˜¨é#Þü[ ‹Ófc¼¼¶ùxÿd5-Mð¥wÞöÓî÷ssø ½îòÎ?qÔÝ  ÿ¶_A¥ˆHÕƒ‘›gÉk쬄–†£T8B#F†M™Ì+0| Ñl£æ@ ‡ãÇÚ¸]…NB'ÌeNŠ"3h»J·³4y ‘&;cm”î¯aÿ„Åû¨Ü³“rßH¦Ï}{÷&„%2.zÛkv²y§ Ñ.J·BIž`Çĉ΂N^Û¶[r‡¶Œ OŽÄi%qÐ. %”:í$òÚÎý¸ì“yä¡x]-ýVGXiÚ¹ãÝé )ED¤OôÐC|øæ›8ŸžakÖ\Ö1mÍÍœ|áèœùe´·´œžMy)§¤nëVnxôQuJ‘>áíÊ2,F3Ãoˆ¹¬ò~ü×ü•EÛŸã¸ë†€/Ý_{;##oâ•9¿à:ËÀK– çÆð(þö÷ð¶y1j‰”ˆH_Ó£sO(¤°óyРx&¤Oab×ÖÜa)Ì^ÐÈ–Íûضþ`#:ù>Ò“»¶î#1e»¶ŸìŒÙõº‰˜É ˜æÛÌ®Â|V‚14žqS&0ÜJÇRíÓÂ7wÞÍn`=»~ß={:éCLÐuwã0’C²-¿c×ïè»g1e„°2qîl¼›·³Ãjöc$tX2“Óã NêzéÇÂHLOW7ˆˆHŸ1gÇžx×›orêÀŒ}n¡ÏíРÿñ^ý—žQÙTXHÃË/c0Ï{®.í§NqrÝ: ƒ~˜€4x"}ÀŸ?ª ÂÊÈ¡·\VygS«Š7SY«ÑBí=Óg%ÿ§èE~<ñß1^Æf_·ÜË;‡p¬þ ‹¼Q)"ÒÇœþekk«¿ßZïq r~Îþ–‘,xfÃõ 6¹Jü~?ííí´µµÑÖÖ†ÇãÁívsìØ1RRRÔA""Ò# ¨zðA¢œèŸüäì?‹ÚÛ9ñ ÔoÞ|fwn¿ŸöÖÖŽÒð%–eúýL¦Ž¾;ïKÌM«WcŽŠ:«èg¥¥üõŽ;~ðAnùÕ¯ ÓÀ‰ôs_XÊþþÂo¯ ahÜEËúÚÛx¶ðÿòôë« ±öüò¤v;/:žÂ‘ðíK–ýÅ«yütÇþïüŸöoi EDúÝmQDDD¤2ßs­ 4¬_Ïõé鄌æM¿ŸðéÓ Ÿ:õË…’WÀ`:û·ÀíŸ}FõÂ…´Y­ümøpN:Ĩ#4hOäwäãc ´X|]ÄE˵ùÛùõ_þÀÿÿìÝw|\gïñÏsΙ>겚-¹H–‹Ü»ã8Åq: a!Mh˲À]¸waYËr¹„¶piK–% 8!í!…'Nâ$¶“¸Ûr/겺4ÒŒ¦œ9繌$ÛÄ XŽdÿÞ¯— M9óœgF£¯~Ïó{î.Âþ0®vÏú±hàKëÿƒòÜ–Mšý†×Í fájM*–“(„ã•B!„ãÐþýû9|ø0Ñ«®ÂüéOiùÊW¯_ŸéìM¦+·•›û¶cÓ¿HäÕWé\»–Þ)SèÚ»—Ž–¦NÊòåËå$ 1†™†\ýÆ ïNDºPŽæŽ+? dV™†IÚIcJ)×ÅT PÄìa¯ÿÏ>…¢;ÚC,'ä ¼îõªK¦b;6m}r…bº°‚JÏDÞý•ïðn9ïB!„Ç6lØ@CC)ÛFUVÒyùåX?Nãç>Ç”Ÿü$³ûUQ¾ÆÐcwüìgtÜu9Ë–Qñ“Ÿ°áå—ŒF‰D"ìÙ³‡ÖÖV.ºè"Š‹‹å„ 1Žío:̾ €Ü`6~ºÎfæ–Ï ©ç);EY~1ݽ¤4U/á·û6a™ÎÞcŽë0·|s&T*xý Ò2M\W‰ÈÉBˆqH**…B!Ɖîîn6lØ@__Ùl<Â.»óN:?þqÚúSŒPˆŠoûí;H¥èüÕ¯húçFYU÷܃¯ªŠ÷O›Æ3Ïw~ôÿ¼î¾’;êö±­nZƒa(Š´“Æëñ’vÒhéÄí8~ŸÇqH¦SoRžñ}MN Ì5Q”SxÆë¼rl77~÷c|ðâwñÛ¾('Q!Æ! *…T !„øK<üðÜ8qÃ0Fª†Þ÷¾÷‘›û*ƒ\—Æ/|¶ï”ÂÌÊ¢ð ô³ŸÅ;eÊŸwWÑ(]¿þ5­ßù©úz\×¥àæ›™ú“Ÿ`ž•ŸŸ­­­<öØc™ªC{ÙeggsÝuב-“DˆsÄvlþù¾o³aßîþä÷˜[^=æùËÿï{Üù̽üê“ßåºù—ÉIBˆqH‚J!F•B!Þ,×uéèèàÑGÅu]”R†Aqq1W_}õŸUEùFÒ½½´ÿøÇtÞuvg'éxY9k×\¸À¬Yø§OGy<0’Úmm îÚE|ÿ~"Ï>Ktï^ ÓÄÉÊ"RY‰úð‡¹üŸÀgœÝþŒƒƒƒlܸ‘––çd¥K—2þ|Ù»RˆsñyØP»‰¾û1îþä¿óže׎í÷R­Yü¥L rè{ä !Ä8%A¥£ñÁN‚J!„oB,cÇŽÔÖÖŽTQ†Ãa.\HMMÍèüŒJ§éyðAú7n$qð ɦ&ìÎNœX Nkqa¦×‹UP€wâDüÓ¦X¾œ½ÅÅM§Qñ8ï}÷»™pª)Ïdß¾}ìß¿ŸÎÎNLÓ$NS^^ÎÂ… )//— $Ä(kîiã¦ïý=UÅ“ùÏ¿ý:9Á±»gì/_ø-Ÿ¿÷›üË;?Ág®ýˆœâ‚ÿeÑ0¹~áåÜ»ù¾xÿwxîö_Í÷ÔÚÍfNNUUUx½^Z[[QJÇiii¡­­²²²sò q¡(Î)$28Àï¶>E¶?ÌÒÊycêøZzÛùÜÝ™eéß¼åŸÈ JÓ-!„ÏFÖè¬_¿^ö¨âX»v­ ‚B\`´Ö¼úê«ìÙ³g¤›·aÌ™3‡å˗ʲéÑV__ÏóÏ?O2™Äï÷ó¡}èœ=v?øÃ_¥×_=eeeãr<…ËâQ®¼ãCj=Æs_¾—“g‰ãJ¥m¾öÐøÎ£?ãîOþ;ï]q½œ,!„礙Ž£ô ©4ÓB¡µ¦··—Í›7ÓÐЀeevÝÉÍÍåÒK/õ*ÄÑä8ëׯ§±±­57Þx#eeeçôvíÚÅîÝ»I&“$“É‘ U¿ß/¥gÑËGwrÛ?‹i¼ú¿Onèí¯\|ðå?ð7ÿùy>¸ú¯øîmÿ"˾…â< K¿…Å_Neé·B\¸lÛæÐ¡C¬_¿žžž à 0eÊn¸áÂáð¸~~†aÐÓÓCGGJ)úúú˜9sæ9=†’’*++```¥±XŒÚÚZ‚Á ápÇ#“Qˆ·ú¹(Ï/ÅïññÄîl:¼Ëf-'ûmìþüþ—¹ùÿÀª‹¹ã–ÏSœS 'J!ÎT 1Zè$¨Bˆ V[[[·neûöí#?&MšÄŠ+X¸páyóÅ'ñ¯eçóÓ|Ù«ä$ !ÄyB‚J!F‰•BqaÚµk/¿ü2mmm†ëºÌ™3‡K/½”‚‚ó«âÇëõÒÐÐ@4Åu]\×¥¢¢âœ‡RŠÂÂB***ðûýÔ××cYýýý477ÓÝÝMEE†aÈâ-Z:mùá\~õÂoÙU¿Ÿ%•s)ÌÊ;gÿíÇ~ÆWûLÓäOÿ…Sjä¤!ÄyD‚J!F‰åÿrŸ IDAT•Bqaq‡Ç{ŒC‡aÛ6Zk,Ëâï|'³fÍ:o— çççsèÐ!\×E)EUUÕÛÖ½ÜçóQRR¬Y³hjj"ãº.===8p€ÜÜ\rsse² ñ(¥XRù|>JKKéèè ¥¥ÇqÆäqz<¦NÊÔ©SyòÉ'©««Ã4MÚÛÛyüñÇ™3gÎÈ£Ñ(wß}7“'OfÍš5³vÃ¥RŠh4Fÿ@” ßäIe¸ZÑÒe¹0ib)‘¾>ú"ý„Ã!BÁài·b´E£Qž{î9Nœ80RlÛfË–-TVVŽ›c///§¼¼œuëÖ‘H$^ó}ŸÏÇK/½„eYTWW¿éûíééÃç5ðy~/îKóø¶8/îí£»ßÁãQdhP`îP^î÷(^EoÔ忟êçáÍQVÏ rí?Ï  Ü‰Á(ƒ ›Â‚|™„â-yñÅilliàt¦÷ûÑj.%„B2B!„Á`ÇsÆï™¦ÉîÝ»yñÅe Þ@UU%%%Äb±‘ãÅ«¯¾J*•zÃë¼òÊ+477Ÿñ{§VãöE¢t´wŸë'ÎbãA/ýA/Ÿû¯{%Æ`R x-…ëj2·ÌôõN9´¹ÜÕàµ!¿Á`þðrŒÿù_½üÝ"<ÀC ¦0×OWW'‘þèGˆ7ãòË/Dz¬×;–e1oÞ<(!„£B‚J!„Bˆ?axßá‚‚ÙÂãMÈÍÍY:½cÇŽqsÜGŽ¡¶¶öOv,dÓ¦MtvvŽ\vê­½}Ú;:ÈBQq÷)nûvŸüI¯J¢¿† ‘3[Ådã é´&èU8®‹F¶Læ1ÀçÍl6ÿêáŸúq·}»›çöN ;ôõõT;K`)Þ¬P(ÄÇ>ö1|>ßçM0$ É@ !„²ô[!„â ÃÀ4M3gÎdÁ‚2(oÒ¢E‹¨««#‹ÑÓÓƒmÛ¯[©:–Lš4‰yóæ{:ÆuÝ×\O)EOOÛ¶mcõêÕ#¡M2™¢··‡œœ0ÙÙEl:â§u²å` Ù!­ÁqÝ¡Q£5§t㲺ÆÏ¿4o>á7› x®{òz…ëºø<&~fû‘$›&Y^íá“ïÈãâ9a’ñ(mmíäççáñx¤C¸xÓ¢Ñ(ñxü5]îµÖãj;!„ã•B!„§ÈÊÊéî={öìÓ:?‹7Çï÷“““C,#™L²cÇ–/_>æ;°dÉ–,YÀÞ½{9qâÄb1‰ŽãŒ„ØuuuôõõqÙe—áõù0„r‹Ø¸ÏæžçºØT›À4Y(pœ“M§þ84ÔZcŽë2©Ð$è7¨(öœPf*)O­¾Wk²BYÀö#6þ÷vVÌöñ5Y\\3X´ äååIX)þ¤t:Íï~÷;LÓD)E^^@€ÖÖV´ÖÒDG!Ĩ’ R!„â—\r @@â-š;w.­­­8ŽC[[Žã¼¦:k<<‡¹sçÐÐÐ@gg'‰D‚ÆÆFúúú0 ƒH$Â#<Êm·ÝJ]Ooý¼—­‡“¸Z“—ebຠ‡:ãd*"ÕHE%dBH”B»ËP4v: 5i  WQj5²\|8¼„L%¦ãhP›eະípŠí‡»Y4ÝÇß—GeaœH¤ŸÜÜ™œâ ½ð $“I n_ýõvïÞMgg§ÝB!F••B!„u¯ÙçL©‘ðåäEcã—_ )ÏŽÉ“'ãõzI&“ôööÒÐÐÀ´iÓÆõó™ožWQQÓ§Oçšk®aÁ‚…L\ÊÑ6Í®ã)òÂÃK³3¢¡¦‘ .3Õ§.ýÖ˜†&špéˆ8D¯Ç`Iµ¿W±°Ê‹×£ˆÄ4—Á¤‹i(”Ò'—~«LX©”Â23¥µÆu3Ç‘Ÿ¥ØÓd“&èÕDúûebŠ3êîîfÛ¶m¤ÓiÒé4«V­¢´´ô´ëƒA(!„£J**…BqV½n¨Cîáô÷ax|¨`LÙP…å)ÍB27Q£r|²tñܘ;w./¼ð–eqôèQ*++ÉÏÏ?ožŸ×ëeñ’¥„C^z;­±LEÚWkLCKjIM8^Ë8­;¸ãhzãšée&W/Îâ’9>*K,ràùÛ«²¸qE#Í6/îK²~{‚ãí69!ËP¸:R¢4Ž£èîwðya¿ëf^O–®«ØTgÁ;rqm™˜â5R©;wî$‰ ”¢¢¢‚šš!„眕B!„8kN )‡ÿ;³^L`· ÕPGbûfÌü –®Â3ifV6Ú43¡ËÈíÔ[O=­5†!‹IεY³fqèÐ!º»»éïï?¯‚J€þHáP ['±Lc¤r×4±„˪Ù>n¹4ÄOà`s¿'óšHÙšülƒzO˜›WñyŒÓ^:C[YR”cR”c²ªÆÏ§oÌâbܵ>FoÔÅïÉ¢¶­ÉÏ2øÂ͹¼r(ɓۄý™ SkðZðÊÁA>õŽýý}ƒ%21ÅiÙ¿?>ŸÇÃõ×_/ƒ"„âm!A¥B!F‡ë⦒8í¤Ž&±o/±—6ƒJãŸ>™äáCDî{€àŠ¥„V\„oF FI†?ÖÉ(Éríá°èСCƒArrrØ»·–U«VaêŒ÷)U–£cÑ¢Eìß¿Ó4©­­¥¬¬ì¼ê¤î÷eæjm}Š€´›¹ÜPŠxÊeÅL?W. P=ÑÃ?ÞÙÃá \>7À¿Ü’ͤÂÌíítfywW¿Cq®IqžIw¿CK·Ca¶IaŽAÐoð7We±va€;ŒðÜîJÁ„“¯0—Õsü”Yü~Kœ¬€v3{Z¼p¸ÅÆvÀïóȤ§éêêbýúõø|>”RÜpà ò~(„âm3ÒzñöÛoÿª ‡gÏ©û¡9Žƒã8ô÷÷S^^.ƒ#„8﹃1’µ»ˆ>µžØÆ§H>HªþNO†ßOèÊw`˜^úÖ?BÛ¦ç8°áy’;¶ãmk@%]Ì àó3ü«òð¾~Ã_×ñG—z]×u¹÷¾ûéè袤¤„õO?ÍòåËF:OÿñíFîSœU†aÐÞÞN4%‰PSSƒÏç;/ž[ÿ9Ù¶üü©(AŸ‘io£2ÕŒ~bcŠ´˪}\:×O{ŸËeóüÛûsÉZâ½·Þæî 1~þÔ¿|&Æ‚i^¦–XÔÖÛ|üG=lÞŸ¤¡=MvР8× 'drÕâÉ´Æg*n¿5‡eÕ>Öïˆóý‡ú‰§t¦[¸PX–¢7êrqMÊR‹hŸÏ+“SL&yä‘G°íÌ–óæÍ£ªªJªÏ…B¼m¤¢R!„gFƒ«iÿÍ} þêNÔ‰>Â︖Ü÷Þ†ö˜Ø­M´~áó$¾þ S3`¤èy8ÔÑI¼ï9B¶ÑþàïÈýÒ—˜øžÛFþàÓÛÛ‹ëj’É$¦i2aB!mííD"²ÂaŠKJðzã¾1:ûL3ÓÍ;èÏæ¡€ÂNÃÁ&›ý6oó¾K‚ܶ&D^Øäs7eMh\¾øË>žÞ™ÀN»x=™Žâ™maõH·ðíG’,­4I¦RdÉÔÀóÏ?O4 ¸¸˜ùóçü1G!„x;HP)„Bˆ³G®KSíš÷ì¡,/Hz㓤›ë3Ít¼rÞq=ž)Õ¤ŽâÞ÷sB>“Ê(Cs<•¢§«…ÑA\×%•JñøãOräè”R,^´ˆIå“xòɧð‚¤RI.¾h%+V¬àØñãÜûëûp\Ã0éèhgêå—ÓÞÞÁC¿ÿ=“'W°áÙçØ·oétš3fð¾÷ÞŒaÒdgåç瓟ŸO4=¯‚ʬ¬0vÄãQC/€LÇïáߦ–¡xù@‚»ŸµøÒû²q\ †âù= îx BvÐ ' ¥ú†‚JŸÂïÃÈTûöÆîx°ŸÒ|“›. âhMȯøÏÇ£üfÓ 9AÃ!épX Ÿe²§>F6YáLJÁöíÛillÄ0 ü~?+W®”®ÞB!ÞvR: „Bˆ³F)…²Lʯ¸#+‹£±»spýã´?õ8ñ¯âññà´4ŽÇ±•AW:ÉXŒî¤MYÅT&.^Êð.’Zk:»:Ù»w³fÍ¢ªª’ûî{€3fð®wÞHUe%O®š½{÷²nÝ=X–Å{ÞónjjfÄ´ ¢ÑÚN´ÑÝÝÍsÏm¤¦f—]v®ëbÛ¶TS޲‚‚¦NŠëº¸®Ë¾}ûÆýs²m›T"Š4§xNë…j•Éî5YAƒå3}ø¼ ¯¥0\·,À·>’‡a@2 Ë<T¼ ¯G¡€dJc(Å·þ&—V1x­L:}¢E^Háj`($=Rf^C>/nN‘rÁNFG–úŠ SWW‡ùMuu5%%ÒdI!ÄÛO**…Bqö µ+N?Â4Ã!Ñ™JÒæué4Ù='(øá·ñ‡³p¢tù< D£ø•A™ÏG¾é!ÝQOÏŽ­„ç.©p4 “%Kó¾÷Þ̳Ï=G__®ã°þéõx,/~Ÿ]»÷ÐÕÝÍ7¿ñurss™9sõõ $I,Ëc †X0»wïbFõ ÌŸÏçÃu]©¦eùùùx½^Òé4»ví¢¦¦f^ÚŸÀ0 þ¸W”£SÓÞër°f”XCÁ¥ŠøBä8;w¯Ã0˜0a+V¬B1&Hù€B!Î*­¡³£ƒCÑqíRêõRíóS L-‹úÅÁD?Í*S)65à§*ä'`4'“K{q‚a§7&›0¡¯ÇK*e“J¥(šPDVV«.ºˆêêj´ãÒÒÒB<§»«›X,–©ls5v:iš¬Zu‹.¤«»‹ýè'455,ý£§²²’‚‚b±===ãøÙ(´ëàõúØ~4I"åbš“ÁŸ>%T .™ë§0;óÑûþ¼—Oÿg7½QÐ,¨ôrßç ¹yuˆKçú)Î3MNÈàŠù~n¾8ȯ?_8Rj"1—º«ø\­É ¬YàÇP C ?nf>+¥`hV;­Ùy,×ëEK8ÁÚ»w/GŽd¶Ò…B¼ë]ï’AB1fHE¥B!Î*e(JgÎ"â÷Óc'iw\‚¦IŽe’¯,hl¯¿ˆ8íIWi†IyVìœìÓîS£q€9sj˜9³šÎÎ.jjfÓ×ׇÖPS3‹yóæ²nݯY¾|mmm=z”¹sçà8.ËC<gÆg)..¦´¤„ûb§ÒrÒÎÇCQQh­Ùºu+W_}õ¸}>Ž“µ – ®vO užW B~ƒyS=¼r0Éžº†‚¼³—½-‡ÊR‹¬ Á×>‹ãjLC¡uf ù—oÍ=í~›:þí×^ÜÇu/Ö&¹t®Ÿ…•^ò² ¢ƒÃ^†>Vj×Å4áP³ë¸®4L¹8q‚mÛ¶aš&®ë²fÍ!„cŠTT !„â¬Ò®KûŽ8ñA&yüLòû°”¢-is<'æ8Xhºí4Çã ¢ŽC¡ÏïŸ,Ç «³îºz`Yskf3kæ rssøàÞO~Aûöíg``€  ‚ÜrË{Yºt CA®¿îZ*+§QTTÈŠË(,(`vÍ,ÚÛÛéèêâ#ù0S¦N–¥ßçÈœ9sðz½@f¼d29.Ÿ‡ëºX†ÂvýiµñY W+25ÂÃ×ÑÊÀÕP˜mPQ˜ 7î㺚ìbÛ‘$Ÿ¿«—½õ6®«ÑC!%ÀÉ阹ÜÕšCÍ6Ÿÿï^6H’6ñXðâ¾ÌN,0)ÌRDbi7NZ¦ÂP 0p]…Ç‚#­iÓÐ×ueR^@Òé4Ï?ÿ<étšT*ŪU«(++“B1¦HE¥B!Î.¥Í_LÝÌ%t×#Çé£Àï£(`qºì4Ýnš ePðã׊hÒ¡ÉN“ί õ* V®º+…×ëã’K.ÔÈòìÒÒRÞ{óÍ™å܆×ëÅ0 òóó¹ñÆwŒ4È1 Ã41”â=ï~7>ŸKV¯fÅòåh­ñûýCKs%¤<²³³ÉÊÊ"™LÇÙ³gK—.wÏÃ¶Ó Ò• p¢ÛÁjœ3Üa;3w3ÿvM^È +˜©8rÂ!èW(¼–æ…Ú$ÿzO¿ü\!~o¦Êø‘—¹çÙAn¹4È_­ ẚxJóõûúxfg‚I…&ý1—ި@AŸÁ‚Ê m½.‰¤M÷€× ;lâó(ì´FŠö>—†NEyN ¯×'¤. O>ù$‘H­5•••TWWË !„s$¨B!ÄÙ3úMÿëP0gMÏ>Gó³Oqìàƒz,ª~4™}#-Ú@—Í¢då2&_y-%­Ä—_˜ %‡š‘x<ž×<”Çã©Î;uI˲Îx}ŸÏ‡Ú«/ŒÜNBÊskÅŠ<úè£8ŽCWW׸|¦i 9Þ¦?¡1 ë§TTj­Ð¸îP÷nKájMÏ€Ã`ã.9aƒ«{¹õ²0¯Â2¡¾#Í×îí§gÀáP³ÍüJ/ÓK-^Åû¯£QÔÖ%˜Rìá7péüLsÜ·ßlðÅ÷Ó“4¨=®yvG”gvôÓ5à4Q .umiæL‚–òB±{÷nZZZPJ ™;w.~¿_F!Ę#A¥B!FEÁü…Ì_HÕ_ý­›_¢ñ¹giÞñ Þîø]MÌ@ÍœÉäK/còÚ+)˜7+B-I=S€¨ÔɪÊS¿ÿzÿ}¦Û¿Þ¿%°<7ÊÊÊðz½¤R):::hhh`òäÉãëIh?ࡾ=…m»ø¬á¥Ú'«*µE¦‘N* Ž«AA~–ÉõK-.ŸçcÙL 2Ç3sÞÀïQ„üŠÈ ø<Š 's¦¡¹zQ€«hîq) à16CãàÕmèä ”›Æò( McMá*Ö¼ÿ:>}ã ~ùLŠ_ˆ’²]\]`€vAÉ^•ç»X,ÆŽ;FªÇkjj(//—B1&IP)„Bˆ³N+5ÒU8χ©àš%®Y8ùRÒ€2Pñ:ôÁÛqOÜÒÓC&Í ö‡^w”Öh'>ö´<ßå‡ÿã |uÅÞãƒtDs™˜Ç+Óñ¼¥µfçÎtww …X½zµ ŒBˆ1M‚J!„Bœug ‡—l~?¾¡½ÑF–qKC ŠišTVVrôèQ:;;éëëWA¥eœè„=i†sJ…ÆEô+>˜iC IDATýÎl–Vg"ÀW%xzGœ³2˼{þíÞ}Ýý.q—®ˆCE‘Å¥s‹0 ­‡ª3´†‰Ž7 v½ÕµeÀPg¦‚RëLHëÌåF&àÔ¨D7îî/S8å _ºí¿ùÚ:Mc”åzd2žÇZZZ¨­­EkM2™äæ›o& ÊÀ!„ÛŸ³d„B1š^ZJµ¤È,ÿ>pà‡ýû÷SZZzÆ&Hcq>‡³ÂtL1˜Óà´­ “š{Ÿ²å€Å†]qŽ·9ÄS.ï_æö[rÈÏ2銸lÞŸdB® Z“JÃ¥sý˜†Âu]¶¢¡Ãfjq¦c·vmÔÞB×(¾¦ÿ+xKJ)¡ã8vØMƒY?€ð,pÓ(åA÷¾€q賸÷Qæ+äc7|dÜÁ´äµx¾J&“¼ð ¤R)lÛæÊ+¯$??_F!Ę'å B!„✠”––¢”âØ±c¤Ói ³UÀ©]ÜÇ&…ÇÊÐ# ž”R(À4Øç{¿àX»ƒÏ£ ^Ú—àè‰ÌsüÚûs ùé´ÆNCVÐকA´Ît ìÕAÖ|±‡6Çp•{ôßÐm/BNÌú˜aè} "¯Bÿ˜üPññLn¹øqÈ^ ]ÏBßfè}Uz zÆ¿c(ê×±0øËfš˜¦TTž´ÖlÞ¼™¾¾>´ÖL™2…ªª*!„ã‚•B!„✠,X°`dÓÚÚZz{{ùÑ~ÄC=D"‘“Ç­µ¦¯·šIªË¼¤7ÓÈFŸ -³ƒE9^S‘v4 EC»Ã£/’²]*Ë,¾tKÑ„&–pY1ÓGe©ÇÍì[¹nC×q8Òæ!8„>ö´—L¥·jÿv|v|¶ý5´ßéà+€ÀT8òÏðêßÁÎÀ+†Ö{Q¹«Ñ€r{0›îÂãô‹öÊD<=z”ÚÚZLÓ$°jÕªqQ­,„B€•B!„âm‡±, ˲غu+÷Üs~¿×u‰Çãcó •eP”•䳕C8`’‰"‡zꎣ±‡:g*-5~¯âîçb¼r(Ó}ù¯/ ñ™›²±,ÅuKýø½`™ŠG_d÷±å<¬]âÇÛø#TÚÆ0í‚¶Á ð›à &¸éÌè4(ÏÐ÷ø†ŽÙMfŽÑz7£û·H+óMOO6lÀçóaš&+V¬%ßB!Æ *…B!Ä9U[[Ë–-[سgîPÇw˲ðù|ضM*•“Ç®€œœl’¶ËªYÿxSƒ‰“$¨L–©ÔÐÞ• x,HÙš/ýªÇR†âï® ó“OåsÑ,¦¡8ÐhóÀ²E&DqO<Šá%Ó G ,HBH9ŠgÂKchëyeŒtþfx}æ€FŽŸT*¶xÊ”ÉxI§Ólذc¨9ÙäÉ“™>}º ŒBˆqEšé!„Bˆsª££ƒ}ûöáñxFB•aJ)’Éä˜]ú=|Œ^¯îî>n^•KkW˜ï?4@i΄•§^WkÖô)ºúþáξþÁ\.›ëçŠù~\7“(n:ÄLCS:ÁO–³•èÍtùvÉ4ËÑ)¨øo΄“ÊùWBë=™jÊÌ£fáÔ^9Ü7§çUœì$ yžxùå—éíÍ,çƒ\z饘¦„ÑB!Æ *…Bñ–9®>ož‹iH'äѶzõjÚÛÛ‰D"ãö9x½Á`€htϼ+‹ãíiÞ§8ÏÀqN¾N«¬Ôà÷*â.Ÿ¹³‡_æ#W†ñX™=.?°&Ì;–8Ñm““ œªCi­Ji¬…ã߆êo¤¿=y0½¡ñ®L5%¯3Gª+ɬ©lÀc&d2ž'Ž9¡C‡€LCª«®º ¯W–ö !„$¨B!Ä[æêó'¨4´^%+F‰ÇãáÆoäÞ{ïi¦sªd29v÷¨¡‚Øöv*ÅΧ¾­ƒ#'Ò„}Š?~Eè¡y¥µÎ콤ë6ĸbA€ê‰v:³Geq®EIÞP\S$³/e憠4Ôÿ4ü 3äð |yú°‡ÌîÇïIËd<D"öìÙƒmÛh­Y¶lEEE20B!Æ% *…Bñ–=¸½ãM¥{';#»zhë<Ù?ý§oÿºc§ÝÁ_–4¦‡wΟL®4u¡Pˆ«®ºŠõë׿&¬Ì,•áwvvííæóåó·ßïd`PUIÍFuzø­”"•vYYégj±Åº 1îßcù 5“=”æL) Pfø€á½/‡¦wV5½<ù'``+´?öææýð’pËë²aý8çº.{÷îåĉ˜¦Iqq1‹/–B1nIP)„Bˆ·ì»ÏÔ¾é%ÓŽÖxMƒŠ¼0]ƒ úS(¥p´‹¥2±É©q£>åÿOõFßã/¼n<ŪÊb *Ï‘òòræÌ™ÃÞ½{O»|<•ÅÅEtu÷0½$›Ïߜ˿ÝÓ7tü'«(‡úáö:!ŸÁǯˢ¥ÛágODiëuØßhc™×È­k‹¸ýÊ|† Z£4à)…š;!0-CI¿*>êsÐùм†—Ì~—þ"b)9A™‡ãÙ±cÇØ¹s'‡¬¬,®¾új!„ãšüU!„oYÂvH¾ÞW:ó5°ñŠyey,˜TÀ-K¦’ã÷ÐO¡µ&Çï£o0E"5r›þ¤M4ic;. &åã5 "ñÑdšþ„MÂvˆÄmúã6ZÃÊiE(¥èL2˜JMÚÄ’ib©4 Û¡/n3˜Jgîÿ Ç·Σí6ÇþQÃ`Ñ¢E”””œv¹ëº#ÝÀÇ‹ü¼<¢Ñ®]äáýkÂÄS`Y w8¤yΊ˜ËÖ„˜?ÕË+‡’Db.¹!ƒü°AvÈÀk)š;lbž9hÓs2`L…p ø4l½¶]¯Þ}/@þ ÀÌ\Së“]¿5CËÆ9ù¥œyVH&á8ÖÙÙÉÆñz½(¥X¾|9¡œS!„ã›TT !„â­ 0×VTêÌÿh íhJ²\>£„«fN$•vÉx¨žMcO €¿½h:µ­½ìiéáD$Ží¸L+ÈbIEJ)æNÌ£/žbÉäB²ü¶ï c ÁªÊ"&æiìqÕ̉D6=±$ÑTšS 鎥ØÞÐ…Ö°ºª˜ÞÁµ­=Xgè†k™²=å¹åóù¸æšk¸÷Þ{I¥R#—ÿq7ð±Î0>€è@Ÿ¸.—#-6Ïì$?Ë"e;†;œ*Å`JÓБæ¯Æq]ëUýjðXŠú1ºSS)ÈžÛ½‘‘ápSîm‚ëBzôðö :ÓTçÔ`rxËá´Ôr–á“Âáqí™gžÁq\×eΜ9TVVÊ !„ÿ¿WÈ!„â­ÒⲂ°—›MáêÙ39ÊP¦rÛÒJLÓàH{?+¦1»4‡´£ièŽQ–àƒË+éŠ&È úÈ zY1e¹A/®†é²yîP+7Ì+§±'JW4í8Ü´`2Ûê»È xðyM•ð˜ÄSi®=‘{¶GŠ&ǯ×ËÍ7ß̺uë0MÃ0hjjbÚ´iøýþqó<ü>®ãb©4ßùhïþ?)²&vÚE)p\È üú¹(¿yq„­ñz2—J)\Wã1 Z»Sì<U3?ŽnÛˆògv« Ž=T)é }¥5Ôõ[ƒ3™&;ऀ¡ðÒr—AöR¼*ÈÚïñè‰'ž```€ &°xñâ×4¥B!Æ#Yú-„Bˆ³àµÑßðï̦R\W3‰÷-žJE^ˆ¢,?EY~гTçðÑ•ÕüóÕó8ÚÙÏwŸ®ewK7i×eÞ¤| Ã~~õÊ1~³³l¿‡š²\~·«žu[Žòñ¡ÓÙ¢Ÿo:ÂÁö…a?ÑDŠºîf•æP×5@*í`§]®SÎÆ#mìjêÆs†jJñö …B\sÍ5¤Ói ൵•ÁÁÁ3^7³,\ã8×ÕcfOK¥¡Px"EÈëðã¿ÏÁë1H¤Ü¡Šc5&i,à íh<æÉˇ÷²4TfËß¾ÐM,ûTáBH&™Ù“2g1'f–‚‡¦@  ÜÁL@©È^¡BT@V1„ª3ß×dª0‹nx²eâCûöíãĉ@&ä_ºt)Á ÎB!ÎRQ)„Bˆ·þÂ0^··‹&–tPÿŸ½û¯ë:ï|ÿ]{ïÓp €ƒF`ï½H¢HªP¶ªmÙ’-¹ÐNâØ‰ãxâÜûÜdÒîÌØ×™É¸$–Sä$ã"-Ù–Õe‰E…)Q"ÁÞ ’èÀég·uÿØ )SI‘H¾ŸçÉÓ×Ú6~x×z –,CQ c _ÃØt‚®CÝ|÷Åíl9<@,da™G‹¸¾æšI 4%ctfJôÊ\=¡‘lÉÁPðf{SêS\?¹‰¾BÛó¨­ŠP0Pp¸ÿŠI¬Ù}”ÝÝV¤¦p /‡çë“6Õñµ¦*lvS qîMœ8‘¦¦&º»»Éår”J¥áÛ´Ö¸®‡ç¹ôööÑØP‹iZ(4¹lÛñH&“†e½·§¸©d‚®ž^¦Ió­ß¯åKÿÒ‡i€ak°ã„’Á–•Û•Óר2X·#Ç㯦øÄâÇ[}-æàf8úLÿÌøÃ5ÅýÐõ+°‹°ï¿Ã¤?ƒ±_íƒa—ƒÍ¿ôµ×BËïƒï‚!k¿Ï7­5Žã`Ûöð¿‡Bõh4:|¼†B¡Óz¾L&ÃÖ­[q€É“'3~üxh!„—Œá3ñR©$« „8‡'¥¾ïãyžçaÛ6år™¶¶6–.]*$„¸ä|ã¹ÍüÛË»ˆ…¬ã¾h´†ºx„[gÁs}’±ž?Àîl‰ m½<µµG±*!¡ ®›ÜÄ´Æ®§Y»¯ _û\?e†Rl=ÒOkG?š?ŽD8ÄúƒÝÔT… ›eǧ;_ææiÍèÍòêþnn˜:еû:iëÏ YoùºT€~úêÉ|aÙŒþâÂêëë㡇B)ÅÌ™3¹ñƱí èq2Éx˜Œ§õ€Ã¶vŸhN 1s¬·D¡d‰Æ‡Ã„ÞÃÀÒu²ÙµµÕ|÷©ßüÅ ‰H°4û”'ÝJU¶–Ô”]>ßûF³(ñ¼×>‡¡H_fMp"¯5¶CaO[z@íR ª+  û` ’3`Á!9Ÿ`¯ÌpçïûtuuÑ××GWW™L†žžÇappß÷QJÑØØH$!™LÒÔÔD}}=µµµÔÖÖžôy=ÏcõêÕìܹ¥cÇŽå®»î’BqI‘ Rˆó@‚J!ÄåÆö|þæ×øõ{‰Zæ _ƒ¿¡*l6 ,S1­)…i˜tg‹´÷È•á¥âCK`5Á²ñXØÂó5EÛAU.+EÛÁÓšhÈ$lš”]_ÁhÈ4PVˆ°i¢d EL®¯ñµÆxË^n†R|pîX¾òE$£Þ¼—ŠÅ"O=õGR,Û|â㟠*"•¬"[6yæ ‡Ç^ÍӺߡhÕ±µIƒëfE¸kIËf›¸¶M±äûA¦’˜ïQc×uÉd2ÄSiþëøéš<©*…e¨wˆ+U帄BÙ§9mò/Ô1+ùúÿ •ïƒÇ:x+‚9T.{k¤ãаæ=‰yà{`Èq~®•J%Þ|óMÚÚÚ8|ø0ÝÝ݆AMM £F"•JP9Y(èíí¥¿¿ŸÞÞ^’É$õõõŒ=šéÓ§3uêÔá¦RZk¶nÝÊK/½@UU÷ÜstùBqÉ‘ Rˆó@‚J!Äå([vhï/`—ꓜxh ýJ ©NrŸc_S+׫·¹\ùãøì1“ÉðØcG…C|ð@Æo½Î± ІD„ÚªˆLä{ø½s¨ȦÖVÖ®}…«¯\À¢E q´ÅOV—øÅËyöBmÓ¬,•ÖÁqäz)®˜æþܲ ‚ïÈä˸®O}}Ý{òÿ*—Ë üP-_ùQ?Om(`»Á|êÞ' ­} ¶§iH|õ35Ü>e#Æî¿Du¿TPZëì=ôÙ£uP–ì–SÿFBµ`ÆÑHß•s§T*±~ýzÞxã úúú°,‹yóæ1}út°,‹H$‚eY'4¼ñ<Çqp]—B¡ÀÁƒÙ¶m{÷î%ÓÐÐÀÒ¥K™;w.ù|žŸüä'ø¾mÛÜsÏ=Œ=Z_!Ä%G‚J!ÎÓ[T !Ä{Ƕˬ^µš½ûö¡µæšk®aÁ‚20žÞ>|צ¾®׈ò£ç³üð¹"í½Uƒ°ž§ÑJ¡*‘¶Fa†©(–}\æO ñGHqÜÚ+Óq¤‡ÚÚ4ñxì‚ÿŸ …"žç’L&ÙÞ®éËzÃÙâÛíítñ6‡ow5„MX0"! ïIØÿÏÐû8úÄ'R@´Æ} Æ}ÌIàf!Ò$Ø9¶yófž~úi …ñxœåË—3cÆ "‘J©3êÄ=tþX(øÍo~ÃæÍ›ÑZ3eÊ\×ŶmlÛfÙ²eÌ;Wº| !„¸$IP)Äy A¥B¼÷ÚÛÛyê©§*¢ásŸûÜð2J1r¾_5—é<ÚI(&’sc<¾®À¿?=ÈþNŸêÄ¢&žïãûªÒ|FW¶ ösÔ•çQJc(ƒlÁ£ìÀ’™a¾pg ‹§…0uŽÞþ<±XŒT*yB§íó-›ÍâûšêT$Ø;r(¥<épø`÷€o£+]Εa °ÁòmÃÜëÛ^ B5š ÑyA3¯:¡¨pçP.—ã¹çžcãÆX–Å-·ÜÂ’%KÎékôôôðÔSOqðàA\×¥ººš‰'²|ùr’ɤL‚BˆK’•Bœ§¼$¨Bˆ÷þkñK/½Ä¶mÛÐZ3~üxn¿ýv˜¤lÛx®C±P •ªæÈ ÅÊV›=?ÀîxT*|­† Í-(/Ø£Ò49aßQ­5¦i€¯(h<_³tF˜OÝRÃÕSMªÌ<¶í‹'Ð"‘ ÓýÚ÷=4æÛ•PŸœ5¢2ü,GÚÙµk7¶c3gölF¾Ú#Êe¡Ð±§õJ€ʨ›â\:rä>ú(íííÌ™3‡»îº‹D"qÞ^oÛ¶m¬\¹’®®.®¸â n¿ývÂaéØ.„âÒ$--…BqIRJ1}út+…çù( &®ð4¼¶ËfÞnæO q×Õqnž!C¡lã:V(tÞKÃ0Oóà­üa¤È;16ïɆ (—ËÜ~ûíRU)„â’$A¥B!.YŒ?ž;v µæõ×_g̘1²·Û{Äv²™,Õ©0–æŠ_¾\ä…ÍEº} 5 5¼¤Û^–}l¾ ù²Ï˜:‹¿ùx5Gú}Öí(Óõ›Æou÷üà9Rq…ïk¶pØzp€ÿ³Æâ¶+bÜuu’‰M.…B‘Á©dâŒ÷<ŸªSI,Óí“Ífä zíÙ³‡_ÿú×äóyî»ï>¦M›vÁ^;óÁ~T*Å+¯¼B6›å³Ÿý¬LŠBˆKŽlÔ$„BˆKÚõ×_e¿›íííeË–-2(ïÏóÈf2ÔÕ&ØßãÌóùo÷ò‹—ó æ}ba4‰!µæ$aapÙPŠ¢ E<_Sr‚jJ…渢Ëá3Ø’%,£á M{Ç¿<™åÓßèå«•È; "äó…5nõõõ¸®K¹\¦¿¿_¤÷Èþýûyì±ÇdÅŠ4¤‰D¸õÖ[¹öÚk9tè?ýéOeb„B\r¤¢R!„—¼%K–°fÍ´ÖìÞ½›qãÆQ]]-s Ejª¼¶VüÏN´Ö$« ¢aðýcíªo°£OÒlÆ×A Ù—óèÏzd š\Qc™•Æ8ÆÐãpbEæñ xLC2…²ÏžËóú.—úã4 c­«FTÕíâÅ‹‰ÅbŒ3F¤÷@.—cåÊ• ðùÏþmç!›Íâºî9yM¥–eÇëX|ßûÞGWW;wîäÉ'ŸäŽ;îIBqÉ R!„—¼™3g²qãF2™ ´µµIPyù¾i€iY|ãá~@S›0)Ù^e¿ Œª†<¾«w^ס5>×Ó¸.`(|íc» „­àþ'vר¡¾à'ìs©ð+•–é„ÉŽv›§7”øÌ alÛ&9û<^uÕUr½G<Ïãå—_fïÞ½Ü}÷ÝoRær9ü×¥­½óìYé8×,]ʇロX,ö[·ò“Ÿäà7Þ`„ Ìš5K&K!Ä%A‚J!„B\n¿ýv~úÓŸ¢”âÍ7ߤ¥¥…šš˜óLkëzhß¡£7J[·G<¢*˵ РµÂv4¦ !S ïM„Áòn׃XD1®Î¢±ÚdÑ”0šLjâŠÏÞ– uŸÍÑ~ŸžAÇÓ„,…©*ÏCV‚ÆóÁ×2ƒÊMó˜¦fËA‚má9¢Ñèqa©¸\µ··³~ýz,XÀ¢E‹Þö~¿zôQ6mÚD$9¡éÓ»ñÔÓOSßÐÀÍ7Þ8¼}Åñ>ýéOóÿø¼ôÒKŒ?žx<.&„â¢'A¥B!. 555Ì™3g¸²rÛ¶m,]ºT‚¨ól((ŒD¢lÝã‘-xDà ÏõA)|ì9yÕ´0û:]:û=’1¿²é×´÷½ï}<öØclذe˖ɤ !„¸èI3!„B\6æÎK*•Â4MZ[[”A¹|×Å÷Êìh³ñ|=\q¦dK𫦇ùúï×òí?¨eT­É@ÎÃ×0÷¸kqŒû“4u_57Í‹1:„”Zëá€XX1½%Ä=×UñwŸ­å›Ÿ«eFKˆLAcYŠœOS­É·>Ÿæ¿_KsÚ<ö5JÓÑë)h …܈¿b±ÈÞ½{Ù¼y3r@] {öìaÛ¶m,\¸ðm—|oݺ•G~ñ ÃÀqœsúáû>ýýýüïü€LæäßçÏŸÏèÑ£Ù¼y³4[BqIŠJ!„B\6ª««Y¸p!kÖ¬Á²,žþyî¹ç˜óHkaX¡»:²X–QéÀìM Á®‡Ã} 'Gø—?Nó‡ßéc—ËùD ÷-«"”Âñ4«7•x|}‘«¦FøÔò8™‚Ïÿz6K®èsû•U\15LM\±|~”ÙãÂ|å¡~ùr¹Â<ø¥4SF‡xqK‰Á‚?ÔbP˜†"_Òìhwùà• ”Je¢ÑȈÃr¹ÌóÏ?eYD£QÙ²àY½z5õõõÌ™3礷çóyö8ð¶·Ÿ+¾ïóòÚµÜxà ¿µ_e4åÚk¯å'?ù íííÔÖÖÊÄ !„¸¨IP)„BˆËʸqã3f ]]]tww³cÇf̘!sh­ñ<ÁÌŽÙÀþ£.FeÇH”FkE4ÝýŸø»n~ç–$_¾;ÉÏÿªŽ—9˜h«6ùú#öqéôßdU^v´9<új‘ÿx.Ï’Qþó}If 3ºÎäüN-w\cùü(¡â_eø_¿Éái0UPÕ©TP•éúš{Ë|`qœ£G:˜0~܈ا2•JQ.—q]—R©$ÖÐÝÝM{{û)«){{{)ärÄ"ç?ÐxÛŽâ---Œ7Ž 60uêÔÕJ!„8ST !„â²R]]ÍĉéééAkÍúõë%¨<”RDBaöwùôe½á&9F%¬ôµ"îû÷¿Ê°õ̓_LÓ4%‚ïûx¾âk?àßžÎSš„ãiÒ‰ <´LH§ Ò ƒXT±v{‰{¾Vâ/?Zͧ–Ç©I(>¸¤ Ç…Ï=ÐÃS¯—h®5™AŸ C8(4!3=Ï$¨1L&“äóy2™ žçaš¦\çѺuë‡ÃLŸ>ýmï“ÏçÙ¿?Åbñ“Ú?1ìÖo Àà3¼÷ê[ 5w:™t:ÍäÉ“Y»v-ÅbQ‚J!„5Ù£R!„—ùóçÓØØËj_|ñE”ó@)…ïû$“UêvÈ—5J¼µ ƒNÜÅèZ“]í.G|@£ E¶è³³Ý!%hÂãk|âÑà4Ö4ÑÂÓÁõUQEÄRì>ìR²ƒëКýG^Ø„”¦Q '•î,Ž‚HÈ`ÿQ‡|Ù§¶&çy#¦¡NSSõõõÒÙùÙ±cUUUÌœ9óÔ?LÆÉ?”ÂªŠ°`ñ"ÇŒþ|'¢Ìš7›¦±Í¨Êu‘DŒÙÖÙ« IDAT‹æQ3ºC©·}ÎS}ž7Ó4Ù¹s§LžBˆ‹š•B!„¸ì(¥X¸p!,O>xð ÝÝÝ20çÐPõW.—£ì¸ì=êã8AɘֺÒ(P`(,øÜwCœ‰MV¥ÊQ‘N|ÿOëùËûªID¹‚Æ×¢a¦ëÁ@ÎcB“É·>WËW>]C,b`TBÉIÍ_g°0T¶¦*Aie§JTgöd\v´M._1ÇëÕW_ÍwÜÁœ9s¤šò<ëéé¡P(ÐÒÒrÊ€ðT|ϧzê(>|LJ¸ýCwa—Ëø®GýŒ±ÜÏǸýÞbÛ¾çÑqc/mµù§ÇƒNÇá|jy‚ï|!ÍUÓÃh­‡»v‡L¨‰h_ó™[üãÕqó‚ 9ÔíòG2 |,V,OŒKÇAïM¼…¡À÷aí–ÑX …1ã™N§I&“X–ìÜt¾:t­5Ó¦M;ûãß4Èíïæ©×W³fÕjBá0†iÒ¿¿“gÞ|‘ž[E(da&Ýû:xlíoØòÒÔY£étšêêjvíÚ%(„â¢&g:B!„¸lÝzë­<øàƒX–Åž={˜"®ë³lv0îí½.÷Ú4ÔüdUžîAŸï|!M4¬¨MšÔ¥LüJ%¦jN†p=eíwùü}ìhwˆ…O½VâÖE1–âªi^ÜRBa µF•°²’ ECš½G\ Ž"Yqã Œ˜}3/Uýýýh­=zô)ï—H$˜:u*årù¼Ï‰ áéS‡•©T ˲èèè`„ 2‘B!.JT !„â²6þ|¶lÙB>Ÿg÷îÝÌ;—ææf˜s §§ººZZ_-S¶5á*£ÒÄ&¸}(t}ˆFSF§¦‡{=:û=<k žßXâ÷þ¡‡þ0M}2xσýÝ.! ZêL´ö±Lž£¿÷÷½ìòh¬6Ìû¼¾§LÉÖDбõ&ZCÑ–ƒ¾F)c¸ûw$¤èÍø¼¶Óá†9 3TW§Þó±,‹¬\¹’žžnºé&Æ'Øy288Xi²têð1‰ÐÔÔ„ã8D£QLÓîºíû>¶m¯ªÂv\×¥:•"—Ïã8ΙÿÐfY„ÌSÿè‹ÅÎzOM!„b¤ R!„—5Ã0¸á†xâ‰'0M“Õ«WóÑ~Tö< …‰ê:6°ƒ²É¡ÛÃ˾ƒËާ‰‡ R±àúžŒOÁÖ(%[SWìîpØvÈaÙœ( xhMޝ?ļ !æL 3£Å4 øÑÊ<9Ÿ\Éáù¥ ¨Ô>¾&΄¦­ûmÊ~Œ«fšL­ÞCmé%è?Ê8¿À—¯A¨Ž¬?‘6{6­ûxrý ë·gñµA4¤Ø´Ïâ$ñ1–¦i’L&Éd2äóyiü4(¥…B„¬£Æ4³mçv››(ØEˆ˜446ÒÙ×M<"Ò¥àÛDbÂáð)çOY3ÎaÒØ ¬zæy ùüí9Y*•dr„B\´$¨B!Äe/3}út>ŒmÛlذ™3gFepÎR&“Ai‡Þ\œ¶.—©@áNÐé<_S¶ƒeض¶„WOð½?I3qTˆtÒ ªÔø¾Æ0¿!Î7áQ›4¸an*Mqª"šëfG¸fv=°³ý_açFt¹¼ U3+5–Yã?Êû|†•­-üýÏÓcköw:äÊšýè…2Âïéxš¦I,öíá=ÅÈ tgûq\ß÷pß­}ÏÁt`)¸cŸVS3bêì,?“õ/½B!Ÿ?íÏ9×uO« B1RIP)„BL˜0qãÆ±{÷n<ÏãùçŸçÎ;ï”9K®Õñ0›¶{äJ> )_SYþ­(”}”RÔ& šjM>°8Ƙzfú˜3ZN * #:W,OpÃܦ©[o•šx L´›…­_Bþ9ZÁ‹ ª9A¡µ nÕÓ†îztâ_ù輘3i9_þÇ#l=ä³ýÏUSÂoü=>i·,æÍ›Ç„ hii‘­ ΣP(t†Íq¶gcJ†ªV&†¡PJaæi=¯›/óòêØ~“ÞþþÓ~ù|ß÷1MS&Q!ÄEKÎp„B!*æÌ™Ã‘#G( tvvràÀÙëí,ißÅ §yyK¦ Fß ö¤´Ÿ+¦Døÿ>SMK½‰e r‚SƒVôeƒ†:íÝÛ;¶rÈùüÅ}ÕÌŸ|&5Ëa}_£´F&ªÔŽZ;jp+ eP•.>:¸Bø•‹†ƒÊmÇ}ùƒÌ¼êA~øgŸä¶¿:ÌšÖ"WM­Áq=Âïqöc£G~ÇNÔâÝ5j9rä´k†Aww7éºZöîÚÜæFéîêfâÜiÚw²ccûöð²ìw ,{…GQ¨ÓM³Ù,žçQ[[+“(„â¢%A¥B!DESScÆŒa÷îݸ®Kkk«•g)°ù€K$„‰Zk,Ó dûLbtÅ¡nÕ­yÖn+3gB˜/ßÂõ5ÿüD–ÿý›<®¯ñ=i*¢aEoÖ˜†Ævƒ%䦡APÜ ënÜAH…p-Ai€›…|;(;xƒáFˆ5¡ü ÒRû6VöîÚÏÐx=üàÏVðà¯{€¦œ1_Vš››QJÑÝÝ}Ê 23qÒ$lÛ¦Ô“££;ËèæfºA)Eóèfö·îÂ0 ÕIöoßKº&M]mÝ¿§P(„§½SÞgpp¥ÕÕÕ2‰B!.ZrÚ%„BqœeË–ÑÞÞN±X¤««‹-[¶0gΘ3Tc{ЗóY ­ƒÊ0×Ó¤ªL}%Ïæ6‡{]÷ø(Có›7KÜ8/Ê‚Ia–ÏñëWŠA1¤ÛÕ,šfá¤Zûh þéñ Íi“û—ÅÑδ~6)›n„Ya¤¶ ºŒ+8ðMØýw¾ f}b“*«T tÇ÷°v}ïÕßgî “ù½Û¯!WÒ$¢rÊ|9;v,J)vïÞ}ÊNÛV8Dm}ÇuP¨ "Ø÷ƒ}(ßR©+%ÃAèw ƒ*Í㻺¿Órî™:uªL Bˆ‹šœu !„BÇ4M–.]Ê3Ï<ƒišìÚµ‹ñãÇ“L&epÎ@±P$VcÆØ0/n.RŸ2ñ|=ÜLÇ÷­ûB&Ô$!Ë [ôùÞ3Y¾ó…:®™áS7Çù‡G³4Vx>\?;JmÒO¿^äë2¥9Ä’Ùq&d¿ƒß÷2ÊÆý'ðK°á`„Á±aìÇ`Ò_Aۿ¨‡7T|ÒסÆ}ôç˜ýo¢7~+®}×â:.V(üž©mÛ´··ÓßßOSS---r MMMD£QÚÚÚNy¿¾~Ö¯}•B¡€Baš&L ]W‡~ûš*Cq´«‹û÷W–}+¢±(W_qÕÛ>¦³³“þþ~,X („â¢&A¥B!Ä[L™2…ÖÖVºººèììäСCÌš5ë l\ÞòÅ"ÍŸÞbó>›’£ [Mo€&¬Gk…ãjªÂ/n-ñÔën¿²Š/Ü™ £Ïã‡Ïç˜6&Äò@Q,û<ðh†dL1º>D­±ÿ \ ”†üèyB€ T¥aôï‚Yf ²Û ï0ìÊF•6ŒûC” £C 2[Ñm?Àhùà ÈŠÅ"­­­>|˜E‹IPyM:•mÛ¶rŸZ¥–e …†/÷õ÷“/ÞUWv¥Åb븦>ïÔ<éðáÃd³Y¦M›&“'„â¢&A¥B!ÄI¼ÿýïçûßÿ>áp˜×^{ &Çe`NS}]šîînNnà/î¯æÿýÊð ëv¥Ã tâÖ<_£µâÛf™6&Ääæÿãwk‰†eW3¾1„~ø|žƒ].!Sqíì8ÕúI¼ÌfLcè©ý`ÏJ0 0|0B•wV • *†‘†¼'­Q>`úpô?ðÆ~|c4R¶,kx poo¯dçÑ’%KذaÃíSkš&S§Ne̘1Áòï³ddãÆ§õË‘L&þ}û˜:uªT~ !„¸èIP)„Bq±XŒE‹±iÓ& …o¾ù&×^{­TUž††º»zøÐ’z¶ìwxø¥<ñh°O¥a¡e°\ WY*ûºü— ðõϦUkð•ÕÊ> Ù}Øå{Ïæ0 …íúÌŸ¨a`-ÊwÑF%úT€²À#$=0*¥œ•ùSúØ>‚ù©:öoT¶߆ŽÌ㇉F£@P])ΟææfjjjØ¿?455½ãc\×eË–-ìØ±ã]¿¾ëº'ìQy*íííìÚµ‹|ä#D"™þÛ§j˜:Ú¤*„6¶£yÿ1:z]ò©MY8´'È&‡BÆÞg`â_Á’g‚f:ÚÔUm…ÒA0" O8+‚ŠL7ƒ[ÐM##¨ …B¤Óijkkq]W®óì¶Ûnã§?ý);wî<­ Ò²,¦NJccã»®¨<|ø0;vìxÇ_Œ”Ëe^ýuššš˜8q¢ü"E!ÄEO‚J!„Bˆ·QSSÃüùóY·n¦iòÌ3Ïpï½÷ÊÀœ&­5ñx¹$£óÉþà^z³ÑPPY©T°'ŸRÇ–ƒûZ“N¼±§Ì§¾Þ̓\ÇUÓ‚J±ÙãÃ|uE×Ó”8Pì;V <® Õ A»AUå‘á+˼ßéÍ8˜n'¦9rÆtîܹ̞={¸²Rœ?3fÌ`̘1lÚ´‰Y³fQ__ÂíÕÕÕÌŸ?Çq†¯ó<ïœ,ËÅb\yå•×C¡ÐI;ïÙ³‡;vpË-·ÐÐÐ “&„â¢'A¥B!Ä)L™2…={öÐÛÛKOOÛ¶mcÖ¬Y20§a¨º+¯bp0ÃŒ‹¿ýÝ>ÿí>lW²‚ÊÊ¡%àÇö¬ ®¯M˜´u»Ê_Ããë D,Ŭq!šjMâQJ>h—êÈÜ"ú'ˆt° Üî‚RX¡ £Ï;Ò }L패1 ‡Ãr`]¨”,‹›o¾™ÿøÇ¬_¿žÛn»í„åØÍÍÍ477_°÷óÖ=¹\Ž'Ÿ|’¦¦&-Z$Õ”B!.ï¿2B!„o/‘H0eÊñ<72uêÔáN¿â)¥H¥’ôöpíÌZ¾úé_þn?õ©¡ÐGVŒi*º<Þ¿(Æ53#<º6ÏŸ}€DÔ >¥H§LSðµaRáxÐMTLV/€y?†è˜cu¼,ìûŸ°÷;CmÇßáM`X8*…ö!lÈ<^Ž&MšÄW\Á+¯¼Âĉ™9sæ Çõ…þ<:ÞC=D¡Pà–[n¡¦¦F&K!Ä%AN¹„B!ÞÁ‚ H$äóyÖ­['ƒr¦'†AMM ýî^çKHѓј†AÐDGPèX²55}5¬-‚ËÔôf}vrXÕZ¦£?ñJU›ÒAÉTQn¼Zï‡×? =ÏÁ俆X-¸¥ß~ƒÇg@š ¸ŠàÇÆò.¶¹P(ĵ×^˨Q£xä‘Gèîîïë¿øLŸ>… ÊD !„¸tÎe„B!ÞÙÒ¥K+K’}:DWW— Ê2Mƒe2Ð?À?äÖEQ2E£ÒLG)Ö`(È—|Þ·0Æ„Qû:lÜk‹(\/(š [ χ‡cP3MeE·BMy?]ÏÂÑUÐùc0b`Õ‚ö‚74ŒjÀ?î²¢µµ‹GÔ s¹\fåÊ•üó?ÿ3=ö˜T@}}=Ë–-# ñÝï~÷=ÿÜ_·n[·n¥¥¥…ûï¿_&H!Ä%E‚J!„BˆÓ0nÜ8š››ÑZ388ÈîÝ»ePÎB"‘À×^9Ë_¼†)Í!lwhÉ·B)¯UaÅk»m}µÀ×~š¡ìhB•^" ð+w^ÝaCòzˆTh‚ Ò0ƒÆ:! €™ªÜ>Té˜Ceœªòà¡°Ó3!½˪ÅR¥3~¡Pˆþþ~LÓ¤\.ËuÌ;—[o½Ã0øñL[[Û¾ïóÚk¯ñì³ÏRSSÃÇ>ö1™!„— *…B!NÓ-·Ü‚eY†ÁÎ;9|ø° ÊÒZS_WJ1¶ÎçÏ?VC,Á“z8¬Œ„ Žôyüå÷X·³LªÊÀ× /÷}E4¬X¿½ÀÞ•õKe†*,÷\p öœT&AsF8¸MW–‹k#¸Î0*••˜òç(¿ŒaŒœ¶ß†a‰DPJ100 Ô´`Á–.]J??ü0;vì¸`¯]*•X½z5?þ8 |ò“Ÿ$•Jɤ!„¸äHP)„Bqš¢Ñ(K–,Á¶mJ¥­­­¸®+s†‚$ 2Ù×LÓ|é)r%em©MØ‚d•A<ªðµîcÁíJAנ˯×Gaü#<´ÿEhø ,þ,|?S¾…=P:¹mPs \ùppû?‡9ßr'”»¡Lþ"„g.¨‘Õ8)ã8år™L&#Õ¢µ&ŸÏSWWÇÀÀ?ü0Ï>û,¥Òù­¸mooç‘GaÕªUL›6û￟t:-"„â’4üëá¿þë¿þ¯2BœÛ“Ù¡ÏóðüÕ.öuIÅ ´¯9Õ j°_¥ÆPЛõ¹íŠ(_ÿ|=©£ÿv~E9h!>7êOƒÁÞ•>ÁGÝM0÷`ÅÁHIB)çsôõõ±zõjººº0MÃ0X±b‘Hdø~}}}üæ7¿aÏž=”J%ª««Y°`óæÍ#•JaÆðÇ[ù¾?üqèÐ!Z[[immÅ0 R©×]w‹/–ÉBqÙ Rˆótb+A¥B\ÚöïßϪU«p]¥+V¬ ÐßßOuuµ,É=]Ý=ÔÖ¤82`ñ÷¿ä@—7Ü÷æNg5ÓPt x\3+¾¯ššÒ*ØûM|œ#AFyüt ùšÕ˜£ïƒ±¾+ï}u.†s¥$Q=× …»wïfýúõ¸®‹iš¸®Ë•W^ù¶Áagg'o¾ù&ûöíc``€êêêhjj"N“N§Oøšàº.===ôöö²wï^Âá0©TІ†¦M›ÆâÅ‹1MS&C!ÄeE‚J!ÎÓ T !Ä¥ï¹çžcß¾}Œ7Žo¼‘Ý»w³qãFî½÷^b±˜ ÒÈd2„,ƒXUœœ‡öƒ†9§\~­]ðí`+JC1󩯶¨ŠEAÛÐÿ ¾ ÅÝ? ^!hŽ­‡ädˆÎ‚æ[Áh×3\é>²íÝ»—\.‡aÌ;Wžs¨­­M›6±ÿ~Âáðpån8fÅŠX–uÊÇ—J%:ÄÑ£Géîî&—ËÑßßO.—Cëc?rY–Emm-UUUÔ××ÓÔÔDSS---2 B!.[– B!ÄÙY´h”Ëe:::†›mø¾O&“‘ ò ¥R)òù<®ëRW¼ÓÚk­Ay%pú‚%Ü@ª† h,«àºÔÕPw ¸=à•A;hmÐ?˜§kÀ§>QC½Ñ„ÖÅ3_›7o¦££ƒt:Íœ9s¤ªò(—˼þúëìÞ½›R©tÂòn×uY´hÑ;†”Ñh”iÓ¦1mÚ4\×¥\.“Ïç)•J'TÀ†A<'Çe„B$¨B!„8kétšT*Eww7žçÑÙÙI8Æó<¶oßNSS“ ÒŠÇãAÕÙéo PÕ`%ßéN`6‚e _“é<@cCâXÇv#|QS4Ų,”R”J% Åߥ#GŽðòË/Ó××ì{ú–uÿ¦i2uêÔ3ÿa˲°,K‚H!„ât¿wÊ!„BœgŸ}–®®®á ©ã+¥:$t–N·:PA¥’Ò8Í;3a„‹zŒêëë9xð ¶mÓÛÛ+Ë…ß…7ÞxƒuëÖ ïùÖãÏu]fÏž-a£BqHP)„Bq†z{{yâ‰'Èçó'mv¡”"ŸÏË@]D|ßGk}Ñ4/I$Äãqªªª$@{—æÏŸÏŽ;Èår'½Ý4MÆO(’ÁB!Î3iE)„Bq†êêêxÿûßO2™<¡9Æñ´ÖtvvÊ`]r¹›6mbóæÍø¾Q¼çéÓ§ó©O}Š|ä#ÔÖÖÊ$¾ ¦irï½÷ÒØØø[óïû>ÍÍÍ444È@ !„€•B!„gaÔ¨Q,_¾œD"qÒpË0 ¶mÛ&uضm/¼ð7n¤««ë¢xÏÒ<çÜò}¸bÒqœ>ÇŒ#U«B!Ä"A¥B!ÄYjnnæŽ;î ¹¹×uO¸M)ÅÑ£Ge.cÇŽ%‘HÏçY·nÝoÍ¥¸ô­ZµŠ¶¶6<ÏcÉ’%h­ñ}ŸD"Á¸qãd€„Bˆ D‚J!„Bˆw¡¶¶–Ûn»1cÆœpÉ>•Q£Fqå•WÐÞÞ~ÑTU) o»xg/½ôÄó¥R™|>O_o G1Ÿ!›ÍP,•°kî!.¬‘¼¤ºªª €r¹L©T’É:½½½<ÿüó(¥0M“E‹I()„BŒT !„BœCÕÕÕÜ|óÍÃ]‚ …6lø­û E2™ Ž]$7(MüdËWVâ~]bëá‰DSyä³²Ù®ë ?^ö$<¿²Ù,ëÖ­£££cľÇúNÿ…¡ IDATúzÊå2¾ïKõíÈçó¬]»–B¡€ïû\qÅÌœ9SF!„dJ!„Bˆs,‹qóÍ7óË_þÓ4Ù·o“'O¦±±‘l.O©X¢*fQS“ £þíWEžy=KG¯‡¯5hxh•ÁUÓÃ|ôº87Ì­Áw²¹ žVÔÖT£”’>OlÛæñÇg``€þþ~‡÷-IÒé4ýèG‰D"TWWËÄÇqxå•W8|ø0¶m³`Á,X #„BŒT !„BœÍÍÍLš4‰ƒ’dSk+sæÌ%Y¢¡!MoNóíŸåxüÕý9ŸhX¶4Žç³jS‰U­%M ó{ïOrÓÜZ\;O_?¾çÓÐP/}„ÃaàСCìÛ·3fŒ¼yËbìØ±2ag`Û¶mìÞ½ß÷™6mW_}µ ŠB1‚ÈÒo!„BˆóäÖ[oÅó|’Õ5Lš0Žæ¦Êfš¿ýY†[þ¼“:KÑÑ$b Ðh‚¿A£5DʪˆÁ†]6Ÿû‡>þwݬߦº&Mmu‚ööŠEÙ›ð|¸îºëˆÅbxžÇæÍ›Éd22(¹#GŽð / ”¢¹¹™ë®»nDVÊ !„—³á5C¥RI6:âÑZãû>žçáy¶mS.—ikkcéÒ¥2@Bq‰ ö Ôôöt£ Euu-a~¶&Ëÿy!KOÆ'0ˆ„®§ÑZ¡TeßI¥`è¯Ê߆ *-ó>®§¹vv”ÏÞZÍS,"FžÁÁ<ñD‚h4Šiš2çÈÁƒY·nË–-ñÝÀ}ßÇ0¤áíôôôðð㔢ªªŠ›o¾™1cÆÈÀ!„#Œ•BœT !ÄåÉó}ìrßsñ=›P´š­íŠ'ÖxìÕ,=ƒˆ•’ž¯ÐÚ'Øj2H%=­p<C),ŒÊ>”C}s,Sáy>™"h|®žáÞeÕ\;à )â{V8ŠïC,• 9sêy#:ü ­­ ß÷™1c‘HD&í$côä“O’Íf1M“믿žéÓ§ËÀ!„#ìQ)„Bq f²(<â1 [Exuoˆ'Öåxy[‘Þl°e:TKº^°¼[)U !ƒ¥Þ!>[’.Oo(¡Ì ¡ºŸëù(¥¨‰ƒç›lØc³q_3Ɔ¸íÊ·/ªblÜ£P´,‹U‡ÐZKó³4’CJ­5`åÊ•¤ÓiÆ/Aå[äóy^xá²Ù,ZkæÍ›'!¥B1‚IP)„Bñ.K%²™, \/Æ3›~¶&Ëæý6eGcšŠT•‚°ñ·CCi(²Eù“"|ñ)^Ù^æ…-%Ê.PY>Ty©µÆ'¸.5ÐZ³»Ãeg{†Ÿ­1¹íÊ÷^_Å„FM6›£P0©®NIXy °yóf®¿þúñ~”RÔ×× …(‹¸®+“tÇqX¿~=GÅ÷}¦L™ÂUW]%#„BŒ`T !„Bœ%ÇqÈe³46ÖñÒ6o=ÒÏövË€pHÁâPÀê¤a¡ÖAX9˜÷);š¢­)9•½)Ã{X'Ta]¶,¡½YŸ&ËÏ^,ð¡%1þè®L5@¡'Ë„½ [¶laÆ ¸®Kcc㈩ʋÅbh­qÛ¶e¢ŽûœÚ±c;vì`Ô¨Q,_¾\Âz!„b„“·…B!ÎR6›£¡¡Ž_¯/óÑ¿íd{›C"¦‡À÷ƒûÁbPÍ8Ô Gk] .ƒ°QkE$¤èËúdò>yÇÕ(eT«+9Ö`'x¾Ês£ð}PJ“ˆ¸žæÁ§²üÉwûpÍZ …‚LÖ»4zôh´ÖxžÇ† Èår#â}…ÃaZZZ;v,ŽãTŽ+ÑÙÙÉ‹/¾ˆRŠT*Åm·Ý&͆„Bˆ‹€|·B!„8 ®ë €â?ÏP–x;ŽT@¢QècpЕÐñ¸±0ºÚ§äh ,+8As=°_«JE¥B)}¬;ø Ëȃ0¾Öhß§©Úâå­%6ìµIT…)•J2iïB:fÚ´ih­ÉårÕzïµd2ÉG>ò>üá3~üx©z{{yâ‰'0 ƒh4Ê-·ÜB,“ƒX!„¸ÈÒo!„Bˆ³`;.¡b[›O× G"ª(» 0ç+J¶,·‚Q •T*(ÙA€ÙPm2y´Es­ÅUÓÂÔ&LÏóGw%ÙÓá°¿Ó££×%_ÒÄÂ Ë J*5A%%hJ6  bi´‚*ÿÿgï¾ããºê¼νÓg4êÍÝr‘-—¸·Ø !Ù8 HƒÐ6ìÃ.eaŸ…°<°ÀË.eXvZ @ N!Á‰KÜb¹ÄU¶\$KV4½Ü{ž?®$ìØ‘äÄvdç÷~½dISïœ{GžùÎïœ_ÿýÔγjº›d*Ï瓵*_…+VÐÕÕ…Çãa̘12 £P<gíÚµd³Y<W^y%•••20B!Ä%B‚J!„BˆWÀ¶,Åú½)޵çX4ÝË7ß_L8h`iøÁß–ò‘[ )-P˜†"³øé³qÞýåNÙ˜D)E[ÍÇ~ØÃçeûag^wȯ¸f®ÿo‹§{8ÞžçÊ:ßú›Æ—»x¡!K6?°&¦³^¥ÛeгÙלgܘJR)Y§ò|koo'‘H¼¦Ûpøða~üãó›ßü†|>ÿºÜõõõ444 µ¦¤¤„Õ«WKó!„â$•B!„ç@kM&“!ŸKÒus²ÇÂT[+PΑ~´vYÜñ…Nþê†þæ–ùT9Ù¼¦¦Êek’Yů×ÇùîšQ›ž„Å_,hø¡9МcGc–ÿùcœ«gûùØ[ ˜1ÞCe±Éw?PÊ–ƒ®Ÿï£-jó÷?ð‡­)|^…etwÖ°ÌZšmÒ\9ÃGgWÆ“u*Ï“_|‘M›6Q\\Ì[ßúÖ×î½Ë…ad³Yúúú(--}]퇦¦&êëëÑZãñxX½z5¦iÊ*„B\‚äcF!„Bˆs¡À4 |^/ -yÒYÛéà­5J;¹m ~¯ÓDç+¿îãÿФ¦ÊmÛô%4ù^7ŸøŸ(±”¦¬È ¸À¤¤J¯GQR`P6(*0ynOš»þ¥‹ßlL`ٚ âú~Úzlîþj?[—ÄïuÚø v×N£K±ëhpáóúœ‡ !å«fÛ6‘H­5]]]lݺõ5ۯ׋Çã §§çuµ"‘6l ›Íâr¹¸é¦›‡Ãr€ !„—( *…B!Π%=> -ÙþS5JV µZ6Ê [»-b)Ûéüm(Ò9ˆâÂP`Y­!èw^š¹M…Ç–vN÷z 0`Ê:ëOZ¶³&fSgžÃ's”‡ ”³q(¥û+&-ó{ 4gÉÚy±,Kvâùxm,^¼˜ââbLÓdçÎtuu½&Ûâv» ƒAÒé×Ïôþd2ɺuëèééÁãñ°jÕ*éð-„B\꯱d„B!FFkmÛdÒI’iÍ¡V ØZ¡†ßƒ¡ó‹ÓûíW) ›  ³ºÄä;(áî*$èSÄRN èo$í6ÁãR¤³Ð³¸jŽ—~¤”w½1ˆÛ¥0û_ÁÍœàæMKýÄÓú«(‚R­ÁÖàviÚzòlENÖ©<óçÏǶmæÌ™3XÕx±…ÃaV®\ÉêÕ«©©©y]Œ½mÛ<ûì³´´´H‡o!„â2"kT !„BŒÐ@èöxhí1iêÈá2Õk>j­1”"—·™\åfõgÊõOŸMÒÑ›çïn+$à…w½!ÈÜIþé§QvÍ2®Ôyiæ÷… Ü&|êEܶ"@ß¹ý-3ünS’Ïß]Dȧ¸ãÊ Ú•Á²5 pú‡(”rª/ݦeÙlØ`ÎÍaò‰¬ìÈóhÊ”)”••QPP€ËõÚ¼´öz½TWW¿®Æ}íÚµœ8q—ËÅĉY²d‰4ÏB!.T !„Bœ[[$â1š;=ôÄ,[ëÁ€œ Ò4 ‘•³}ø½ñ¤Í¶&Ù°7C4¡ù§wÒÌ™ìæ¿?ZFWÌb\¹ ÛÖ†âïo/äoߦ¬ÐIJl@±£1Ë?êápkž·,÷³´ÖÇÔ1.¦u±¯)ßÝ?õÆY/ÓÒ6^Á¶ƒ)þúf±XÁ`@väybÅÅÅ2Ñ–-[8zô(EEE\}õÕ¯YH,„BˆóüÚJ†@!„âh4G,RYgj7ƒÍk8­ºR¡Y6Ý™¼§)Ë‘¶cËL~üÇ8ù~„tƹ~AÀpíh'¤Ô@qAE‘‰mkLÓ`kC†¿ùN„˄ßoq¦p ê&¸Qô߯Öhå„”àT€úÜš†“yò–I(à“}x!­I$ض}ÑïWkeYh­/ÛñmlldÿþýX–…Ûíæ/þâ/ðûýrà !„— *…B!ÎAOO†§€}G³h (…êŸj=@¡ÈÛPà7˜XáTznÍ“ÊhòyMy‘Áï6%ùè"Dã6ZÛ 5É´fËÁ ‡[sX¶Æ²l\&lÜ—æÞ¯w‰Yø\.6íOŸG1®ÔEÞÒdrYË&Ÿ·±µÂèP½ƒ®^›]Çl7ñxBväË娱c?ÿùÏ9vìØE½ïîînöíÛdž ˆÅb—åøF"êëëI¥R¸\.®»î:JJJäÀB!.#2GB!„âd29zâŠÆ“y§Ó÷`‡íS“J', û×–lïµÈæ!›ÓXZS4hÚtõÙ¸Ð(¾ñÛ^|:ÎÔ1¾xO!ój<€â@SŽ\Þi²“H[L¬ðR79@ÚVø ¸f~^_žDž£m97¥iêL‘´ à1P(, ;gX8Eá2ó²#/€d2ÉþýûI§ÓlÞ¼™ªª*‹3Í>‰ðüóÏ“Éd˜0aápø²ÛD"ÁÆéèèÀ4M–/_Îøñãå B!.3T !„Bœƒ’â0Í=yZºóƒÝ·µ¥tÿôo…2œ¦6¦¡V­$·ñºó&{˜?ÕÃÜIn¦óP]âTdj4¿Û’"Óìkʲ¿9Ï‚©´móŽkB,˜æaïq ¯/ÀÓòŒQõxÛ_„d+ÓuŠéS}à­"n̤Eì9^Ê#ë¢lÜ#ä7q›°·) àó™²#/€ÂÂB,XÀƉF£¬]»–›nºé´FKJ0ÄçóaY‘H„É“'_VcûüóÏÓÜ܌֚yóæQWW'œBq’ R!„b„"‘´ôx‰Äòø<`£”Ñßér–&›‡DÚ&—ƒ\ÞY+òW‡x÷5A*‹\| K ®%hÛ6†¡¸ÿúßü]ŒÚñ.OsÖ¶D)‚^Í©^æO͡ڄ£ß…ØQ°’ ³hœû7AÓOMh Sƽ—k?p?k^ÿüô$–ep´Í"Éá£< ä¥àùV[[Kss3‡¢¨¨è¢„”áp—Ë…mÛtvv^Vcúì³ÏrôèQ Ã`úôé,X°@4!„â2%¯N…B!FHcàñ¸Ù}$G6§ x*J'pT$36¯AE‘AÈçæW(+2Ñhê&¸Ï¸½Á¦;N€·,÷ãu…œðSaƒ2щôî¿Bw¯Ãtƒ6 ¿Õ8ª?¨ÔX ’¨ÞnìÈßÿ·-ú!³'/áýßháPKž#튺qžþ*PÙ§ç›a\qÅ,_¾œP(tÑî×ãñP^^NEE&L¸lÆs÷îÝ:t­5%%%,Z´Ç#šBq™’ R!„b„lË"§Š¨?Ô…Ë4PJ ®Q™ËÛ¼eY€Þ¦8dŠtNcY`¸ oÁ‰Î­‹¦‹-9öÏað•÷3¾ÌÄÒ6•ÅÎË3ÛÖØhÃDõlDm¿3Ý @ƒ²éÿg€v¦™Û •S,©úö’ÿÓ5Ô]ù¿<ôÀ­¼õ 'ÙÖ`Q7.„eƒKÚ*^•••ý>½^/×]wÝe5Ž'Nœ`ûöíh­ ¬\¹’¢¢"9À„BˆË˜•B!„# øIe5‡Oæq›§Y·Æ4 l[S]fbيͲ<³3Åžc9VÔyùЛÃh­ùç_öñT} `ƒ Tdó6(¦©¬Æe‚ËРLˆ¬…Þ ù$”-O™se HwBlu~Í„À8”í”Kê\/®žä×ÝÁø•?ãësëvö¢•ÓrʋŲ,²Ù,~¿_c„¢Ñ(6l “Éàr¹X¶lcÆŒ‘B!.sT !„BŒP  ÚcOkLS¡Q†Â²5·â¡?%xj{šÖHž¾¸Æ0áÀ‰×Í÷3s¼›·­ ²þÅ4¡€SÊOÙ¼ii€±¥ÎÚ‚‰ |áç},îæ¶+ƒØÉFŒÝ÷B.“ÞSÿÉ™#ŽålrÃÑ/ÃáoÀø·Áôe0P†Ýôï¸ÿ+Ö¶ÿÃâe“(Y¹”l^ãuËþ¼¢Ñ(ûöí#‘H°bÅ ‚Á  Ê0R©6l §§Û¶Y²d Ó¦M“â‰Ä£¤sYNF;0”Ö6“+Æc&aHHqQIP)„B1BñXœ°?Ä´1.vÉR§xÑ™žÍÁ±ö<.S‚i*R›‡×'øÇwrÝ|ymˆoÿ!ÆØƒß`Õl>·¥øÙs1~øDGÛ\9/Hyã§°“Ç1Åø “â',üæïbDš¢ Á²™~¼ÑG±s(—vníLë6pÖ®4,ç;ýçÁŸWôw 8Oi€>èyŒNß2}t “&MbáÂ…2ùòz½,[¶ŒŽŽ²Ù,,¨ ¤Ói,Ë"™L^rcuèÐ!êëë1 ƒŠŠ –,Y‚×땃HˆWÁÖšŸnü_øÍ·éNôbuc§ñ®•oá–ùo¤²° ”âlèþÿÙZzÚùÕÖÇùùó¿ç±ky|÷sL©œÀ'Þü~nžw ¦Tç !Î# *…B!ÎAii)=‘÷þE1ûŽçX÷b ŸG‘·4Æ) jª,µÖø½ŠeùÌÿFùâ=Å”…áów9Mt€-3üb]’€Wáv™L­ìîz”ê;ÑÎ[F#ÚÚÚìH¿÷o€:åm¦:ågoåY<¾öîÝËþýû¹ûÑËTRRÂòåË ƒL˜0á‚ÝS% ¶m‰D.©1êêêbݺu˜¦I `ùòåËÁ#Ä+dk›ÝMùôÃÿÆæC;( ñ—+oåooxËÆŽè6þ;[\Éß®~»ú=4uµðok~Äo·ÿ‘»ÿãÿ²zîUüë;`Bé˜ ¶¬…âõE‚J!„Bˆsäv»!çßQÀ_uæ9Ò–ÃëQضœ¦:R‚³~eIÈàñí)â)›¸«™ãÝx\N‚è6ï»!DGO¯Çd\°š:œŒQVº‡ñNH‰Á™Ðö+Èurò¶ò¥o3ûT Òm••UdÓ1ÆŒsZHiÛ6áóùdgŸ†a0sæÌ‹r?@­õ%U‰‹Åxâ‰'Èçó˜¦É‚ 7nœ8B¼B½É®û5Ÿ{ä[T–ò¡îážU·8 Ê„²±|ãîOó¡ÕwóïO>ÈïëŸaþ'ßÄ×ÞõIî\zaì!Ä«"A¥B!Ä9PJQ ÑOPU¬ùç{‹¸÷ߺH¤5~ÓÜÉ*Õ`“§&RS6ØÖå}ßèæ.eîd ¦zX0Õƒekò¶Â›Ø¹¸s‡0rpô«8  -gzwË¡í7€Ù?Ý{8¬f¾‹eËobÚ”ñ„B§wtmmmåé§Ÿ¦ººšêêjÆŒCII‰TÊ\ù|—ëü¾_¹r%Ç Ó/©TŠçž{Žd2I>ŸgþüùÔÕÕÉÁ!Ä9ÒhЦîV>õ˯ñËÍk¸sÉ üý-÷3oâùNM©œÈ7ïþGÞ¶ôf¾¶æ¿¸ï?`kã.>ù–¿aBÙÙ!BˆWL‚J!„Bˆs¥¡ ]ÝfO(åk÷—ð¾¯wcNu¤­©ÚJ©Óض"TtÇl<.E4átSâböDU%.¼n­íÓë#³Qè||ãŠJå‚Ld"à>‡ÊGm£°ð{Œ³V­½øâ‹$ Ž9±cǘ8q"«V­’u,Ï£X,ƦM›(,,déÒóÛâRªDÌçó¼ð ´¶¶’Íf™;w.‹-’DˆWòߊ _àÓ-‡wðÕwýw¯ºí‚W8^Y»©UY2å >û«or¼«…/¿óÌ_+;EñŠHP)„BñJÞ*EYi í¬šUÁgßæþ;JiØ<_ë?O×\.8Ùmñî7©çæ+¿êå?ÖÄy ÂEaÈ`Æx_|k€€Û‡Î:·ƒ Tß ³~®0ý WB®|NühÄoe1}d¬. ®³tO¸úê«?~<;vì Î)s¹Ü%S±7=úè£ÄãqÂá0“'O¾`ÍuF3­5/¾ø"{÷îŶmÆŽËòåË¥r÷0ðAFkk+'Nœ ¯¯¯¿rÜaš&eee”••1fÌjjj䃎‹à`ë>þÓ¡áäQ¾ýÞÏqïÕo½h÷]YXÆGoº—ÒPüŸÏòÿ~ñUüë¯R,”#„8gT !„B¼RJQ^VF¤'ÊW±¿ÉâgÏ%( ضÝVö_E"eS;ÎÅ'ÞZH{4ÏŸvey üHç4ñN‹d&GG²ŒI¾Hà´ëV˜ü1ˆnÆÏƒa@΂šÂäAÇÃ`g‡ÞVpº‹±=•èæ:/˜={6³gϦ­­íŒóc±>ø “'OfÞ¼yTWWK¸tŽV­ZÅc=F4åÅ_䪫®:ïÁï©!ùhtòäI¶nÝ @aa!×_½„ߣX,cÇŽìØ±ƒH$2øœ¹c¬··—ÆÆÆÁ³¤¤„Å‹sÅWHã®  9r’üäól?¶‡5ÿ×ÎZqÑ·ÁëòpßïB£ù»Ÿ|‘÷|ïcüâÃßÂçöÊBœ *…B!^Ã0p»LR‰(zK‡OæØ}4‹×=9À â)ÍÍ‹ý† ¶Ög8ÚžÃïQä-@Û¥H¤mŽG+™T0ݽ¥¿¡·átøŽ®ÎÍàÒ@Ñcžïœ§uÿWÿ† “ƒÚÿ=4 ³`*#‰«ªªÎ8mÿþý(¥hnn¦±±‘‰'òæ7¿yT‡b£Í„ ˜>}: ´¶¶‰D¨¬¬%%%2à¯Âï¶?ÍÖþ‚¿»é}¼÷ª;_óíQ(>uÛ‡8ÜÞÄ7ŸxeSçsû’dG !FþZF†@!„âÕÑZSZRB<gÎDøø[ ùØ#˜.…ÒÚÉ •ÂçQ´tY|å×}¸MEÀk8ËM*m«þàR³awŒ»VÞBUÁ7Ð}õ`(”áÃï¬WiYN&iú@™8e—&˜Aç|ó]yÁðâ”uÞ±0î=:ÊóŠkMM 555´··ÓÜÜÌŒ3N«¦ãï‡Ð<0”S¦š=Ï•†,0çã`Tõê«ÊÊÊ3*-Ëâøñã?~œ––:Dii)7Üpƒ¬cy…ÃazzzˆÇã¤R©Q1­Ú²,¶lÙBKK Zk&NœxÞ;ž‹W'óÄO°sçN*++¹ÿþû7nÜy];Ô0 ¦M›ÆÄ‰©««ãÉ'Ÿäw¿ûíííÜxã²ÎÑ—ýñt’¯~cŠ+GÕ¶U•ó•w~‚;¾ù¾ø›ïðí÷~Nv˜bDÌ>õ©O}V†CˆóGk=øeY–eÑ××Çøñãep„â2e†aH¤Y1;DwŸÍ†½™þæ:zØë;§Æ² M ÞxÕ"Âþ4ºõ9H¾ù(J¹ Ûù>èZ‡> v ¢ÁŽƒè?¿"OÑ/B¬ &½ =å ¨|m†¸+Jj­±m›X,F"‘ —ËQYYIMMÃèëëã±ÇcÒ¤I¯:RJQTTDMM •••¯ùú¡ZköìÙÃÎ;±m›P(Äí·ß.áõ(’N§yøá‡Ù·oË—/çöÛo§¢¢Ó4/Ì›PÓ¤´´”3f‰Dعs'ÌŸ?_Ö»¡†¶£|ì¡/±rú">sLJGå6N«šÄ®ãûÙÒ¸›¥Sçº0U1:©SþsÒ2Bœß7je6›%“ÉÐÜÜÌòåËe€„â2—L&1M¦Ûû¾ÒI}C–¢eä?gÝÊHÌâš+¼üÇËq7¼uø?Q.gùÉþ<Óy%çÂi”£Ü)§¼Ê³€qo‚ù¿ƒlxŠ/ÊD"öîÝËÔ©SO[ƒ°¥¥…矞E‹1~üxLÓ|Ý---<õÔSär9ÆÿŠ*ËNý€T)…a´µµQ__O*•¢££ƒÕ«W¿&¡q[[?þ8™LŸÏÇ;Þñ޳6`¯\.ÇC=ÄáÇY½z5+W®¼¨ÏÉl6Ëš5kؽ{7UUUÜwß}bÀ;¿ýQžÛ¿™‡?òVL½Sçž<œnä£7ÞË¿¾ãÙqBˆaÉÔo!„Bˆó,ÐÙÙIaa!_¿¿”»¿ÚISGŸÇ8eº÷Ù)¶¥  ÖlKóÑïwó…{¾G±¯ Ýø ”Ý÷çÞ $–ý?z Pý¿Û€ À¤wÃÌw*,/RH PRRªU«Î8}ïÞ½tuu±fͼ^/‹/fÖ¬Y¯ëî¿cÇŽ%ÓÝÝMkk+û÷ïgæÌ™çt;wîdûöí¤R©ÁÓ Ã ‚•R¯IÓ’¾¾>ž|òIÒé4>ŸÕ«WKH9Šäóyzè!Ž9ÂÞð†³>g/4Çí·ÞŠaÔ××ó‹_ü‚·¿ýíRY9„ÎX„õ¶2g|í¨)j*&pç’yþP=G;›™\.³Ë„C“ R!„â(//§««›²pˆï~°ŒŸŽÓqJ*‡ÿí\À0'{òü÷“¼ÿæÏ,Z M?€ž­9ît?µðHÛýå([cï†Ò›œ5*]…ý{^Ûq …BTUUÑÕÕE*•"‹H T¾Þ*ª®ºê*}ôQ²Ù,MMMÔÖÖžÓ”••áv»±í—/Û-**º¨)NóÄOH$ðz½,]ºT:|2kÖ¬áСC\uÕU\wÝugœ¯µ&“ÉÍf‡ýe¤<~¿ÿŒÓßüæ7“ÍfÙµkÏ<ó ×^{­„•/ã×ÿ–d6Í}o|û¨ßVÓ0¹mñõÜÿƒO²ëø *…Ã’ R!„â)++%‹1®(Ëþ²€x2ïÌÌV Ñ¨—®90mÛÊ u…Ó <žJà¶sPt„AßvHí‡ÄH4ƒ•Ã1š þZ(Y:ì4Ýq¯}H °bÅ b±­­­tvvRSSsÚ:x½½½lݺ•É“'3a„×Mõ]yy9‹-¢££ƒyóæ5 ˜Ö}6ãǧ²²’¦¦¦³^/_ÔÇcYÏ>û,ÝÝݸÝnf͚Ō3äÂ(²mÛ6¶mÛF]]ÝËv O&“<ýÌ34448ÇÞ«ü#¢m›Â¢"Þs÷Ýx<ž3οå–[H§Ó<ÿüóL˜0éÓ§ËŽ:‹µû6á6]ܹä†Q¿­†R,ª™KI°­»¸ñŠ«ñº=²…/K‚J!„Bˆ ( ‘ÉdÈ[6Aÿ©)Îö†ßéü­òY°bý¹5…" Ù>çz  øJg:7 ´ªÿ¶]ýá$!P¸ü£nL ¨­­eÊ”)gTSîÞ½›††ZZZL›6 ¼.Ž•Ù³g“Ëåðù|gœ÷øã³|ùò!«"§M›Æ‰'Ψª´mûŒí’Öšõë×süøqLÓ¤²²’… ʺƒ£HWW›6m¢¸¸˜Ûn»íeð½ûöñû?ü|>^«ËÊʸýÖ[Ï8}`y€‡zˆuëÖ1vìØQѵ~49ÞÝBKO;˦ÎùsXw¤ž­-û0ÏÇ~TŠ™e“¸~Ú2Ì<¯Ãþ kæð‘éKÅ(w—ÊŽB¼, *…B!. ¥ÔYƒ§—½<€Yºø,gô¿ãx£é®àôÀ³j¦9P…hŽê±9Ûº”Ó3™ ©TêuÕ1Ü4Í3º,?ýôÓœ8q­5C•S¦Lá…^ ··÷ôBë‹:í{Ïž=466¢”ÂëõróÍ7_°îÑâ•Ù²e 'Nœà¾ûî#œõ2'Nœà|Û¶Ïû²O=õSjj¸bîÜ3Î+//gÅŠüú׿æàÁƒÒ ü%ÛšèŽG¹÷ oñuŽt·ðî‡?M*—å|Œ¤¦º ¥7L¾Qhq°y“êøÞ"‘IQ.»Q1ùXS!„bÔQN5å©_ô)ƒ?·õVg^ﬧ_"Z)V®\É{ßû^®¸â <uuu§]¦µµ•Ý»w“Íf‡\ñRwâÄ ~ò“ŸÐØØH6›%›ÍÒÒÒ2ìõ,XpƸh­©¨¨¸(ÛÝÒÒÂŽ;Èår¸Ýnî¸ã )Gá±µoß>,Xð²$ ~òÐC$“É R ›ÏçùñO~B__ßYϯ««cæÌ™<õÔSd³YÙi§8ÚÙL4ÑÇ´ªÉ#º|O*Æ=¿ú ±L’¼'w¾,ÛâH¤…ïlz˜“±®áCe0¶¸’–Ž&™¤ìD!Ĥ¢R!„BŒ*~¿ŸåË—³|ù™•:dïÞ½lܸ‘ÚÚZfÏž}ÑB¸‹!‘HpäÈÖ­[‡Ëå:­’,‹‘Éd†\·sÚ´ilݺ•x<>x]­5å徆©§§‡õë×Çñx<\sÍ5„B!9 G˲8tèÜu×]/[)ùÂöíD£QÆ穉Δâñ'žàŽÛo?c;B¡3gΤ±±‘={ö°páÂËn_D£Q¼^ïY ¥¹û$}É>®œ>ü’ñL’~ö¿Ùßqô¼5Cà6]ëªóæÍcûöí¬[·Ž \vÁÖ¯~õ+ª««7nÁ`ŸÏGIIÉËNÅ|®ås`[ä-kÈËYÚæ™#/ðÇÃ[z#¿³6yB‘?Ìmû-s*§pÛ¬k†¼¦e[ضM*—ì'„g#A¥B!„¸$øý~/^LMM ­­­´¶¶ž15¼»»›ææf¦M›vÉ5áÈåräóù³N•VJÇéêê6¨œ8q"ÅÅÅ$ ´Ö_ðç¹çž£¹¹·ÛM]]tø¥ZZZèîîfÕªUCb[6o&—Ëõ<­5Ú²A) óÏÓÂí¼ ŒSŽ_;o¡”B™ÆYo'0¦ºú¬A¥×ëeÒ¤IlÚ´‰cÇŽ1yòäËj_¤R)ššš8vì.—k0¨,**ÂëõRVVvÖ©ù†aPVT1lð˜H'éˆtpóäe  Ðëö’³ò€Æãr“Êfp›.Là “Ïöÿl.w<,–ms¬½™ŽñÝT†_¾INiAÅÁBy !†%A¥B!„¸$(¥ƒƒAÆŽK*•:cÚä¶mÛhnnfÿþý”••1kÖ,ªªª.‰ŽÓS§N¥¸¸˜gžy†®®®3ª µÖtww“Ífñx~»ë9îãÛyþÐ 4wµq×ò[¨?¶—Ç÷9aå9Hg3¼eÖÕC•RA)„) *…B!Ä%Ç4Í3Ö?Ìår´µµaY}}}ôôôP^^NUUÕ%ó¸JKK¹ñÆY»v----§~†aÐÞÞN2™2¨TJ1~üxÂá0½½½TWW_°ŠÊ]»vÑÐЀRŠ‚‚®½öÚ!×Я­5GŽ¡´´ôe§}„ßëããwä÷¿y”lOOUÿ®¿áHËqüéO /‡{L˜Üy/}ñ>¾þýoáJ:U˜ç¢¦¦Ó4ihh¸$Æx ù•iš´··“H$§yPoo/Zk”Rd2™3žÃJ©Óž§™L†L&sÚe܆‹t:MO¢wØ5'-Û¦½¯›c'øômÄeº(²ªv[0R¶¶¹uáj~°öçÌŸ<‹¦®Z"í¸†ù Á²-ò¶…Ûta(ƒT63lf$ÞKo2&kS !†%A¥B!„¸,¸Ýnî¹çصk©TŠÊÊÊÓª)c±‰D‚òòòÓ*•F“‚‚n¹åž~úiŽ?>H(¥ˆD"¤R)ŠŠŠ†¼ ¿ßOeeåຖÉùÔÜÜÌîÝ»Éçóx<®½öÚsn ".žd2I{{;Ó¦M2èŽe[ëi¥'!›J£”"Û“äD´Þ¾>¬T·¡Èö&‰Ä£>qÈñÊÞzN™2…††:;;_QS(Û¶ŸCZëÓ¾³ýl´··;-›¥³³“\.‡RŠX,F:í<î|>ZåéKÃÆ—>ç”R¯è¹8ð…×ãÅír;KÛÃ^OádÖmÑ›Œa&±t’ÎXÛCSg+e%ô&ûÈÛö°Y²RŠÝr?¹ñ^ÞöïbÃF”?Ûhlmc*Cª+…C’ R!„B\6”RÔÖÖR[[K__>Ÿoð<˲طo[¶laÒ¤IÔÖÖ2vìØQÙ™Ú0 ®»î:6oÞÌþýûÉçóƒ!GSSÓìÙÆÁ4M´Öôôô`Û ûç ‡Ûí~ÅÛ‰DØ´iñx·ÛÍŠ+κΠ=ZZZðù|Æ}J)lÛ~Ù©ß©dŠï}雦‰ÛíF+ mó­þ7 ÃÀãõ`£QI‹¯}ñ˘†Ûë9ãö^¾œ‰'ràÀÚÛÛ)**²œ¦,Ùlvðvòùü`8p?J)’É$mmmäóùÁãv )W&“!™Lžv§ŽÁ©Ï¯áÂÇSø])uÚò n·{ð9é÷ûéììðz<ÃVábÛ6ûöí£µµ­5¹\Žh4 8Á^*• ø,Ë:­ ù¥ááÛqJ%åK¯7ð³Çã }>~¿Û¶ñx<†š§~@àr¹›aàñ8mee%ßþö·+[‚RÇCUUcÇŽ¥¢¢‚‰'ž±½å¡Âþ/66¨ƒ-mS.!•Mãu{¨—²«é‹&ÏÁ¶mò¶Ea „F çm›~öeÆW²ýè\†ùçceí}Ý=~Â<…C’ R!„B¼. Tþµ¶¶ÒØØÈÉ“'™>}úi—‰D"äóy***FÍvÏž=›p8ÌóÏ?OOO}}}4440sæÌ³^>‘L’N¥©6™+—Í¥µ/Ì÷ŸH±¯9Ï ËgxY½0Œß•§·7A:•"àõþ94ªâiãÆ=z€ºº:æÎ+×%``ºòpÓ¾•R‚,Ë †i`YÖiA€¡ŒÁp-“ÍbšçÖ°J·Ó5ôzˆápÛ¶9zô(………g ÑN=m ªr ùÔ%¼^/^¯­5^¯—ÂÂÂÁêɲ²2‚Áààñjøèv»ÿ©·áv»_ñrJ),Ë"ŸÏS\\L]]¥¥¥””” Ù«¶º†ò‚žzqï½úÎáÿî¹ÜüïÆßR^P̱®ürË´Öìin À¤5ÒN[´ƒßo† ÛûÇjˆ*I­iêjáXg3.ÓÕŸ[ë!×&ûØ~dó&ÕòäÉ(„’•B!„âuÁ0 *++©¨¨ ¶¶–x<~F °}ûvÚÚÚ‡ÃÌš5‹)S¦ŒŠiŠ&L@kÍÚµkÉd2lذI“&’ÄIñA¿›ÒÒ":ú ùÚ£ ¡ƒÎ^¡@kX³-ÉŸqq×ÕîZU XÄúâôöõQRRì± m+oaº·¡@€Ú—|XpÆuN©r4 Û¶1 c0dTJQXXHAAZk“&M:íz§>¶ÀÑ0ŒÁ©ÙaäÅ|®{½^ÆÇܹs ‡ÃƒÁÝÿ´ªI”óÔîõC^®"\Ê—Þþ1ò¶8+¥¸séMƒ?²ßMÓäÊé‹^ÑØÚòzÑDÛŽìæÆyWöKE¥bhT !„Bˆ×¥@€@àôÊž®®.ºººH&“¤R):::8yò$«V­Û=qâDæÎËÖ­[ñz½ƒ!e&“¡'ÚKÀ碲²ŒhRñÏ¿ìã‘ z6~ŸG£µ$Js¨5Ç'ÿ'ÊžŒóÞë xÛª"‚ Ѿ^rÙ<••gV”îß¿Ÿ;vPQQÁ²eˤyÎ%$‘H`ÆiäÏFk=¸¤Ûí¦#Ò…Çï£3ÞCuȇF“ K,•ÀðÐÔÜD8>mÊõYoײ Ž/eö‚¹ì}v;ñXlØëœúœ5k7ß|óY×ÎjÝÈÑêÞ{ïuž¯ è¿fÖ2vÛÇïw<Ûæ_{ÖËüiÁµñëËìw4ûZs å0ŸëGñ{|òdB I>þB!„(..fÙ²eTWWãñxðù|L˜0á´Ëäóy²ÙìˆÂ• ¡®®Ž{î¹g°ëwWw7ÉDœò²2”ð¥‡ûxÃÇNòý51r6˜€ÆÖÓ95–­ð˜ŠÒ°É‰.‹Oü¨‡þ_;lµ1½%”•ÑÚÚJ"ž|œmmmlÚ´ ŸÏÇ‚ †í<.οC‡ñÈ#°~ýzvïÞMSS™L†L&C.—;£ õ©*++ÉårÄb±sºO[÷7–…¥-@õwÒ¶±µ=².Ör.Í[o| 7.|SæÍÀêoê4R÷1PyêשkQ^*Z¶ý•¸iÞ5¼~~¹é±aÇì¢}½LR™ÏçytûÓÌ0ƒéU“äI,„–TT !„BÓ€fòäÉLž<™ÞÞ^Z[[Ï*Ÿ}öY:::˜3gUUU»æßùäñx±,‹U+¯$ï#ÑØáâ÷LðÈÆ8½6EEe¡‰¥mrùþ€Gk4 SQik…Îk|xMš»òüßïu3k’‡w¾¡€«æTáñdè‹öÉæØ°a#Ùl·ÛÍ‚ ¨©©‘æµxóærFikklz¢µ& R^^ŽÏ磲²’`08X1œN§I&“455 vºÑsÂ0ðxœ)Ñn——ËY“Ðårá2]N—o‡ŒeÞ+026/¼¸ƒT&îmõîM9À²^}—úËÍü‰uÌ7'w¯§±ý8S*'ŽÚmmvðóMàÞ«ïd΄²ó„Ãÿ_'C „B!Äé Ï莜Ëåhll$ŸÏóì³ÏâóùX½zõaæK¥R):;;‡½ÜP´ÖÄâq\Xøƒ…l;lóÄö O×Gèê³ñ{…¶Vä,P ôŰmEÖ²1”ÂeÂ@ßÛVØØ|&¯Í‘¶<Ÿùßn¦Žqs󒮟fl8ά™5jt1gÎ9@^#¡PŸÏG.—;­r0—ËqâÄ N *Óé4ZëaƒJ…ÂÊ;M^"==ø‚zº{… èiï&“Éíè&ŸÉÑÙÓIÉÔ"ÚÛÛJÎ!ÂJeÔ?·…­Úˆ×ëň¦~wwwc¥¥¥rœâsw~„Õÿr_zô{ü×ý_½ÛùÈ¿S sëâÕ²Ó„#"A¥B!„#tÍ5×pìØ1Ž9‚ÖúŒ53™ .—kp@˲¨¯¯§¡¡eË–½l§î¡ôD{QØ…½dónþôbžß>ßÇöCbiۄ ,Û™¦;°`œÖ[;§å…¤µ&NÓÙÙI6›¥§§‡H$B&“9뚌ÇÜÀwÛ¶Éårƒg<{÷«kÈûµ±©»b6y+ašäì<ÕÆâñyÈf³Ì˜SG*•¦ ¤‚nr:O¸´ˆ9¥ç¾€×ã²Ã5@{{;†aP^^.Å)O™Ëê¹WñÔîõ¬Ý·™kê–ºm|nÿV~_ÿ 7̽š«f,–&„ *…B!„·ÛÍôéÓ™4i , Ÿ¶Nc>ŸgÇŽ;vŒÚÚZêêê0M“}ûöaY7n¤³³“«®ºjD÷—ÎdˆöD©ª*<¬y!ÃOž‰²÷X”Â4 à…PÒ~ÉZZ;ad2cSSåæîkƒï°øõÆ$í½6Ó¹¬s§û/Ú¹5¯Û)ÅìMhÙ˜`ÍÖ$WÍõq÷µAæ×H¥tu¥())º¤Ö2™ }}}D"z{{éë룯¯o°r`ÝÉ7ÃqÖÔŒ3†ùóçS\\<¸â† *MÃÄïöb™.´;káwy±£º¦ IDAT³ÎlŸËƒÎ9?¸üdi¼.#;ÊpV3Ô¼nϰÍ}1 ƒqãÆÉÁòŸ»ó#,ÿÌ|÷釘7q&ÅÁÂQ³mÉLŠOþâ+˜ÊàÓ·}@v–bÄ$¨B!„âx<ÊÊÊ(++;íôD"ÁÑ£GéëëcÛ¶mlÛ¶eË–‘Ëåp¹\ضÍþýûéììä–[nÁëõ¾ì}äóyâ±UUål:hó/?ïboS¯[á÷*œY¶NåäÀ÷3ÃB'lt™Šî¸MOÜ&“Óô%m ¥ûâþéá TW‚S9мDãó8ÁÒš­IžØ–â s½<ð¶b*CIâñø°q‹ňF£twwF‡›=pþP¡°eY̘1ƒÙ³gŸQ¨µfÒ¤ID"¢ÑèË6C²m›;w’ËåO+//' ½ª&RJ)âñøi90yòd*++ÏzD"Aoo/ÕÕÕ†ŸÅ”Ê |ú¶ñÀÏþ•eS®àÃ7¼—9:ÞâÿýC_âàÉ#|äÆ{™^-kÚ !FN‚J!„B!ηÛMyyù`gpÛ¶Ù³gÏicJ)ºººøùÏÎ7ÞHEEÅYo+™LQVZÈõYÞ÷õ.B^EqÈÀÖËrª `q ¤ä´œ˜ÒÖ ¢q›¾„M,e“Èh¼.…FŸr='”t ?OWÊ EQš¿žØžæà‰.~ð‘2Ê|½#ëú|ÒZcÛöà×Àïä@…d4¥§§Ç™^Jõé©“ ÃpÕôÿ¬”"  …(--%PUUEQQÏ=÷Üÿ†aàóù3f K–,28ž2e Ï<ó mmm#îÚ®µ& QRRòª‚ʪÎîîîÁÛîövíÚE.—cúôéòæ,LÃä=WßÁ¦Cõüëþ“ÙãgpýÜ•¯ùvý÷s¿â·ÛÿÈÒ)óøÔ­8e1 !„øÿìÝy|\å}÷ýÏ9göÑŒF»lí‹-˲ll0CÜÒB’;-iÒ4ÛÓ»i{÷nž! !5àÛȲ,Ë‹k³ö}öíœëþc¬ Œ±lÙþ½_/½<ŒfÎ9:׌tæËïº~oM‚J!„B!.ÇÃŽ;ˆF£tww300ÀÈÈH6 Y°ÐØäÉ'ŸdË–-¬\¹òœ0Ó4M ÍM矘#×£áó$’&š¦£0röö/‡ŒL+¦n‡†Ë©a‹jšF,©²MulÆÙŽ;g«35BÌ…ð@ÃR ËRù †¦R<Ûç¡ÛíÄb1¼^ï5;®J)’É$©TŠD"išÄb1¢Ñ(óóó„Ãáì×üü|6\ë…Û6› ›Í†ÛíÆ0 œN'6›-Û¡»¨¨§ÓI^^^¶c÷ùäææ¢ë:J) )))¡¥¥å-+[5McåÊ•<ùä“ °råÊ×½6ßH<'¿ã 2¿­çôôô`Yëׯ—_0o àñóå{?Oß?ýýÆïðÌþ¬­Z}Ŏ癣/ñ'?ú;* –ñŸù›ÌkO†Iñ6HP)„B!Ä%äñxhiiaddä + 5M#™L²gϦ§§Y¿~=n·¥¦ea³éôŽ)ÆfMàø@’ž‘4]Ã)¦‚&n‡ŽÓ~¶îIS 2Û‹%2 z<®L7hÐHY »¡Ñ9&šr€™¸ê++•RD"‘l(—L& ƒ$‰×Ý …Îû³*¥p88Nrss±ÛíÙNÝçœû}>‡ãm§×륬¬ŒŠŠ jjjÈÉɹàçú|>š››éììdÓ¦Mäåå]Ðó ÃÀáp¼ã Òf»ðŸŒŽŽÒØØøº¦Uâ\Må+øêƒÄûæùõoý>_¾÷ó|`ã]—ý8¾»ï'|å‰oà°9øÎ§þ‚ü%´f¦âê!A¥B!„‹àÍ‚JÈ7–eqüøq¦¦¦Ø¾}{¦ñ‰¦£tcýi"q ¯Ke¦‘¶Àe×øÀÍ^íIÒ9¤Ðg`*…eÁLÈ¢¹ÆÁƒ·{¸©ÁIQ®ß“©šS |n_Ýæ!µÙÍlØbxÊä™Ö(?Üc6lðf‚P»¡˜)V•Ù)ÌÕ9Ò›ÌN×PèšFÏp‚P"—¸jBÊd2I8&‰0;;K<gzzÓ4I$çTN.T¾všòÂm·ÛÏç#777;M{¡»öù*'/•ÊÊJÊÊÊÞ´êò¸\.ZZZ8yò$ÝÝÝlܸñ¼ãfš&¦™i˜óËÓÛ/–R*»Ý×N•?ß6-Ë¢½½¹¹9>ö±É/“ p˪üã¯ÿ1ÿý?¿ÂþýO˜Nñ©;¸lûÿêOÿ…¿yê_)É-ä[Ÿú߬.[!ƒ"„¸(T !„Bq‰-LYM&“À/Öç{m(´0-X)Åøø8?ùÉO(**Âívsó¦N@&€ÔÐÐ5˜‹YܹÎËïÿj.ÁˆÉ'þn†Îþ$~¯F(_Øåã“;}x\†þ‹}¥Ò™©Þ–ºv›FqÀ 8 ÓT˽Û<|å‘ /wÆ)ðLΙ¬­sòÏ䃦øÍ¯ÏpfÚ̬{i®+F§S£ ÃH,É1ˆD"ÌÌ̉DÍ’ð‹ðÍ4Íl€öËAä—×ë%ŸŸßï'77—‚‚ìv;º®¿îk±½Y¦ QSSC}}=Ï<ó MMM¯›¶¯iuuu¤Óéì}†aœÓ\çby<jkkÏùYÎ¸ŽŒŒpâÄ ššš^×H¼±_Y{k*¸óÏ>Ê—ð5Úúó•‘|o`Ñö9šå·ÿí˼tâey%<ú;ß º¨BCqÑ$¨B!„⫯¯§¾¾ÈtðžžžF)Åìì,±X Ó4™œœÌ6_ ‡ÃÄãqX¾|†3—î‘yì¶ÌZ„h™u#s\{Ç9Øç¶f7ßþ|Ÿü»iºGSüçóù• n,ËÂÐa&dòô«1~´7ÊëÜüÖ{}ÌE,¾ú£ s!“÷oñð®µ.6X±ÜÎ7?[ÀwŽÿ|>ÂÍNþù äzu~´/Âļ‰öšnà6M#³èHó¡›KˆD¢x½žË~ž-ËÊvχÌŒŒ‹Å˜ššz[¡áBóšüü|òóó  ÏY?ôZàñxhjj¢¿¿Ÿçž{Ž]»vó}¿ßÏ_ú;ÜýW¿É=7¾‹ÏÞõ1n¨jÄïÊÁv|2b>âÕ¾þáÙÿ`Ï©CT”ñõ~‰Þò9ñBˆKsÝ$§@!„Bˆ+¯  €x™© Ž$™Xhº†e©LMa) ‡G^ŒÐ3šæ;ÿW>Õ%6,eO¿=ÃOÄ)ðë 4 |™êB›~B¿ŽÛ©Ñ5’ä׿>Åçîöó…]>v¸yµ“ùˆÅo|mŠ#§Stt ”Ò²ÝÆ5Má0àÔ™)S'ç"º~›¦I2™$™L’H$²·ƒÁ ¡PˆP(D0$FÏé ½pÛ0 l6N§3ÛÄÆ0 <n·›ÜÜÜìÔm§ÓyMw'»~åW~…ééi~ðƒðÉO~òMCôË¥¿¿Ÿgžy†+V°aÆË2•þZöÐmâöÕ[øæsó|ç>vþů³¦|%l}-U,SàËÃçòâv¸^÷üP,B<•`"8ÍDpš}]­†žiƣȄž–‚ªBÅ¥ 3»[1¶˜HSàÓ1^NfþÍ„…»NßXŠ`Ü"×ë NŸwšn2™ÌvÌŽF£D£Qb±Ñh”x<ž½/“Hœ½K]×q»Ýx½^\.^¯‡ÃA Àn·Ÿs¿ÝnÇë8^ xÏ{ÞÃ÷¾÷=yäî½÷^*++¯Øñô÷÷óøãc³Ùرc>ŸOé¨-®à¯üCŽždwÏv¼Ì_<ñOc!–ÕRUTF‰¿eyÅ8lŽ…_(¥è  Ñ3>@çÀ ªJ*Ù²òF>ù®³½ñ&–×Ê B\rT !„Bq…-L™ŽÅbX.'ÝÃé´Ânè(•™² +uM1Wüî9” Ò¦ÂfhøÜ:ÿóþ\noqñ•ïÍsêLÓT¸™pQ×5vxRŽ™¼g“‹?ø`.5¥ö…#Á² ²ÈÆÇïÌážQè7òKfu++S95or|¶Ö›ŒŽã°Û²Ó³:k'“IÒét¶b2•Jeµ¼¶Í¿ ݳ½^/………¸\.òòò°ÙlØívl6‡#[M).ÞŠ+¸ÿþûùîw¿Ëc=Æ}÷ÝGyyùe?ŽÞÞ^~ò“Ÿ077ǃ>HE…4c¹Ôn¨\Å •«¸wã»› {¬}]‡é›<Þ®V&CÓLÏŒƒ®ƒ‡ÓÍêò•”å—ðžµ·ñçþ}ª‹ÊX(&?' 'T±hä/»B!„WØB•¢a³Œ;9uföì´×s×|\4i‹å÷Þìেâì?çÏ=€M‡­«üë øóyêP”ªb pØ $×ÀãÔùâ}~>t«@ÑÑŸæÛO‡øòƒ¹øt~u«—ï½!ž²°ÚÙ2s, ›ž9î—†x×?û÷ýœH$ŒR ˲ÎùwáØnC¦iK^^>Ÿ’’¼^/Ùµ%¦v¿vÊ·¸ôêëëùà?È£>Ê~ð>ô¡QVVvÙößÑÑÁ3Ï.‡FIžÁW?‘Ç}ØOIÀ†e)4 ¸ÝËoñà÷è¤ÒJiœ:“æ‹ÿ2CkO’Û×:ÙµÙKQ@ç¦'Ï´ÆqzÁRZ¶¢R×–R8­Ý1ÐrÐ4E2™Ì®+¸Ð¼¦  ŸÏ‡ßï§´´¯×K~~¾ ö¡i«W¯àÇ?þ1ßþö·Ùµkk×®]Ôý¦Ói:ÄsÏ=‡RŠO|âWtêùu7îh¸ìg—H•„Kˆ•B!„B,¦iðûé4™X8 Pš–mbóZʲغ:“. N¦èHRQdðÜá8û«iþö·òXV`C×% …®g6âr€Ë¡aš ›¡ÓÞ—äóßša|Ö$àÑøÙ«qvmöà°i¬­uðìá ýœŽÞJeþuÛý&óQu-ÍŒMÌPZZBnn.¹¹¹8R…uµX½z5N§“çž{Žïÿû´··³sçN 1.¢CôI&“LNNòì³ÏÒÕÕEmm-÷ÝwŸ„×B! *…B!„X&&¦(..¢½'J*¥pÙõs×…T H[àqéTg£ái“™ h”tZ{’|üo¦øÖç ¨-ÍLùŽÄ{ÇÉqël\éÀ¦ƒahì?™à¡¯M‘Ls¶9âØ@ŠhBáqjTÙp9ô³Õ˜Š…ÊNílp»Mc*hq +Å]kë(]^INŽtÖ¾ZÕÕÕ±lÙ2žþyN:Å7¿ùM6oÞLCCË–-Ãår]ô¶c±gΜáøñã¼òÊ+n»í6n½õVÜn·œ|!„€•B!„B, ¦iKét¤Ðt2­¶álEåÙPS¤Ó CÃëÊ„†Ó!‹p,+3U¼À¯ãrê£ ëAjüíãAþýçaò|x¿Ÿ÷oÎC3ó&§ŽÍPLÌ[º"TL-¼Å6òr4œvH¦ÁдlU¥Zè®hºFkWœ»Öº‰ÇT^å<÷ÜsÍÍÍ=z”C‡qàÀêë멨¨ ¢¢‚’’<Ï[n+‰066ÆÐÐCCCtwwãp8ضmMMMTWWË Bq *…B!„Xò~i‹žÑ$vCË/*Ð4•ji0³Ð|'ó€PÌÂaÓ¸©ÁÁ–F'7T;¨.µQàÓ³Û~éX‚XÒ"5ý)Þ¿ÙƒRwÞ覩ÚAÏhš¶ž$ûNÄiïMŽ)@a³iØ ”©²ûÏ„•gsTŽžN9ø}ÈkDuu5ååå¬_¿ž'NÐÚÚJgg'~¿ŸÏ—m~äp8²ÝÙãñ8SSS$‰l÷÷P(D0¤  €;•+WRXXˆÝn—“,„âu$¨B!„â ›™Å¦¥ {Nãrè(e¡i™µ!uM‘¶ ™TÄ Ó‚T:Se¹s½›;×¹(ʵᰡk˜–B×È6ãùìÝ9üé#&ŹïÙè&S ©á°kTTÛØÞìä3÷äÐ?nRV`Ѹb*daèà´iØôÌZ—–• .-4O¦m.bO‚Ï iSãôhŠÓã)F¦LºFÒôŒ¤ Å,þßÿ`à 'iÓÊ>×´, ]çkyäÅ0 ejJmÔ-3(ͳ±¶ÖNiž ”Âi×ùÌÝ>þàƒ~’iEÿ¸É_þpž=Çâø<:¦h™ÀòÕ®·4y1㦠èu"//¼¼<ÊËËå„!„xÇ$¨B!„â Ëñ¸H[pb(Óž™²Rhè˜JáuëL‡,v%Ù}4ÆÑ¾$ åþâ7ºâû{¢üËÏBh:(t]#׫‘6Ï®5ih„ã ›.G¦âQG1:cŽ%Ø{<~vÊ®ÆÃ¿WȲ|ñ¤â«? ²ïD‚ +œìXë¤4ÏFU±Ý(2M~L œvC)À‹,=(„Bˆ‹%A¥B!„W˜Óí&a*Âq…ah 44-³Ö¤×¥óó¶¯v'™š„£ ›GûSÜ}“›[׸øÀOŒO) ]#ž´ØÖ䢹ڑþûÿ:ËŠ2¿³ËÀƒ·{yä¥(É´ÂïÑ™ YܱÖÅÚ:J)ú'Ò|ww„¤ ½£i~z0J®Wg6d‘ëÍL_`èóQèè†LýB!ÄÅ‘•Œ…B!„¸ÂBÁNCcã ó ÃÈTB.tÙ™‰eix]§ŽÇ©ñoφI›™µ$?s·é`¦ñŽ®klováueÏÿw„'DùÁKQZ{’€¢$ÏÆ]7º˜(I‹Ò<ƒÏÜí#çìs¾ýt˜x òrt|nИ [躆¦Áº˜væ#ëëí€I*™–B!ÄE‘ R!„Bˆ+,‘J …ùÝûr©(²I€¦ešãdBÁLoíl·nÓR¸:¯v'xto€ß•ÃçÞçc`ÂdYžÁöf 14ùæS! |:Á¨É÷_ŠHe‚о+”ÂRðå_ËeMµÃÐx¶5Æcû¢äåhX¦:–fŽJe¦§Ûí:³a‹–ZŸŸ—ùùiKÖ¨B!ÄÅ‘ R!„Bˆ+¬° ŸD"Nm‰Á— `è ”F&ÌL¥Ö4íìWfʵi*tM㟠ÒÖ›D)Åïóó¥çò®u.Šr3«<}ë©03A §MÃ04þ«=Îáž$(h(·sïVú±<îZïF×4N¥ùƒïÌ’ãÎ|TȬEù‹/È|†F,n‘—cð­Ïäc7,ÐtÜ.— ¨B!.Š•B!„B\a©T Ã0hmmåö5v>¾#‡äÙõ&•zíðL€™ A×a|ÖâËÏÑ9˜Ÿ}ŸŸßý€PëOòè¾(›F$¡0M›5ùÏÿŠŽ+LSñ׿™Ç®-”‚SgRüÖßOO)œv ËZ¨èä쾚¦Ð4H¥š_û­|г³!rý~L!„B\4i¦#„B!Ä’L&bxx˜“'O’HÄQÊä“;×Ó7–æù#q¼n ÓüEXùÚu+AáuiœLñ;ÿ<Ãïõ³½Ù™íìíuë|öÃÓiæ#™&<¯NC¹]çlu¦F"¥xéXœ¯>dhÒÄãÌL/×µÌ:” ,µ³ÿ­€´ôk6¯0˜œž¡ ? *„BˆwD‚J!„B!®€S§NÑÛÛËèè(‰D˲p:]$IœF’/? o|ŠÞÑ4>·F*i’¿ ø=#Ói>÷­þésùÜ~ƒ€š5wæLe*!í¶×wå>ÖŸàÿm–hBávjX ÛÖ2qèËÊt%Ç,Øîåþ[=LLNPZR,*„BˆwL‚J!„B!.£¶¶6úúú˜ŸŸÏ”6›uëÖÑÐЀÛí&‰Pè³ñ÷Ÿ.à¾ÿ=‘ ™*G ;õ{!FT*Ó\'4ÉõÄ“Šoÿ,„×¥sSƒƒŠ"Ÿ[GC#7ž²híIÒ7–âóï÷cèiSÃf€²8w¾7œ E†¡KZljpòÅh?Òʉã'in^CKK‹ ®B!Þ *…B!„XdJ)Nœ8Á«¯¾J"‘@©L'mÃ0X³f 7nÄápœmV@€É©ijKóø‡ßÎã£=…ݦŸ%1|aÛ†¡1>krßV7Ö;ø—Ÿ…øÊ÷çÉqé¸ë5ÈqežMX̆MRi˜˜˜|ùïÙèæÑ½¼. ËúEõæÂ>tLÓ"/GçO?–Ïôh?Ç:Ž‘L&9xð ½½½Üyçø|>p!„B\cáÆ—¾ô¥ÿ%§CˆKûdáË4MLÓ$ RQQ!'G!„¸N®‰§NâùçŸçäÉ“˜¦‰¦i¸\.V­ZÅwÜÁŠ+°ÙlÙàqÇíavnž†J/9.ƒŸ‰ãv€ÊNýÖÎNÍŽ%…_ÿ­ þìû!ÂQ‹@ކ†N,¡˜X£‰T&Øt;t¼Náé4÷ÝìeE™½q uNµ&dBKXRñÕßÌc] 8\9Øí6&''I§Ó„Ãaºººp8 ÃB!Þ©¨B!„âRJ …äÈ‘#ÌÎÎb‡ƒœœªªªhiiÁãñ¼év4 \N“S3|äö<ºGR<¶/Š×µPQ™é®k±¤ÅæU.òrtZ»œJâth¤Ò€6CC;›*2S¹“i…ÍИœ·x¾=ÎnöÐXé`´=†Ý¦cY ë*;í{6bòÿZ·ß`cz:Hn®––ª««yå•W!³{÷nظq#………¯ `…B!ÞðúgáF<Wr:„¸tP,ËÊVR&“I‰CCClÙ²ENBqãÌ™3ôöö255…¦i†ÁòåË©¬¬¤¦¦¿ßÿ¶¶9 ‚²H’˾5M{_—,K=Ó‚;eB^ŽÎ{6ºÙ×™ {4…w¡)ަeÒÉ×~ÐÀ²2]¿-eW:ÙÝc>¬²•šŠÌZ˜³!‹OìÌá>œËÔÔ4^¯·Û}Î6»ººèèè`rrÓ4ÉÉÉ¡±±‘Õ«W“““#/!„B¼% *…XT !„×—ññq:;;! aY–eQUUÅêÕ«Y¾|ù[VP¾™X4†¡Ã©1;¿ýS# ›ækÖ’4MEÒTš†Ã®e+!߸¢Q±°Þ¥iBÒ§tm¡«¸B×4f#;×»ùˇòI'æñ¸=8öón1sòäI>Œiš,[¶Œææfêêêä…"„Bˆ7%A¥‹@‚J!„âú´uýà IDAT044ıcǘœœ$‹eÊúúzV¯^MQQ.—ë’\[̃x\vÓøì7gx4RÖÙ‹zM3u ëW¾ærÿ<Û„LÉÙÌòMzBÊxJQ[jçï?]@ŽmÛƒÇã~Ócµ,‹‰‰ öíÛÇØØ†a`³Ù¨©©aëÖ­8Nyá!„â¼$¨bHP)„B\Û¦¦¦Ø·oããã¨Lâ‡RŠââbn¾ùfŠ‹‹/éÚŒ ÍùB¡yy>¾ñd„?ûþ<¥yis‘.ã5 ›®ñõOå³¾&M2eâ÷ûÎé8þVZ[[immÍ>ÇétrË-·P[[+/"!„B¼þòcᆕB\:T !„מT*Åôô4tww£ë:º®c·Û)((`ýúõ”••-ê1$“ Ò¦…Çíæw¾=ÃãûbøuÒÖ›ÕN¾ý뻡N*~w—Ÿ‡Þí!Žâõz.*|žžfÏž=LLLd¯êêêØ¾};N§Sší!„"K‚J!•B!ĵ#311AGG§OŸÆ0 t]ÇãñP\\Lss󢔯57?‡ÝæÀîôðÐ×§Ø<ŽÃ¡/Ìå~×/™µ)5-³öå‡nÍáO>âg~n7»ÝþŽ®ÚÚÚ8yò$Á`¥‡Í›7SSSƒÃášB!$¨b1HP)„B\ýB¡ƒƒƒ 200€ee„ÌËË£²²’ÊÊJ***®È±ÍÍÍc·ÛHâå{/FèM™F8Š·_]¹q*†¡±¡ÞÆû·xˆGçq8\¸\—f]ɉ‰ :;;éêêÂ4M à¶¶–Õ«W_Ö°W!„K“•B, *…Bˆ«W,£³³“þþ~fggI¥R˜¦I `Íš5TUU‘ŸŸ¿$Žsjj‚Ò’b,e`YêìÕýÛ¿¬×4]7@)”²p:u¦¦fÉÍ ¼£JÊóI§Óô÷÷sôèQ†‡‡±ÙläääP__ϦM›0 C^„B!ÄuJ‚J!•B!ÄÕ'ÒÑÑAoo/ÑhÓ4I§Ón¼ñF*++q»Ý躾d®7þãá‡ÑÐhll¤¹yÍÙPñíÕSZ–EWwÝ]]8¶ßv;†®a¶E £Ñ(GŽ¡££¥†aà÷ûÙ¶m›TW !„×)›œ!„Bq=K§Ó:tˆãÇcšfö~‡ÃÁÖ­[ill\’U~gΜ! bn· §óâ¦gëºA 7—‘‘LÓ¤±q5UUU‹~ü‡›o¾™òòröîÝK(b~~ž§žzŠÆÆF6mÚ$kW !„× *…B!ÄuÇ4M"‘§OŸæÐ¡C¤R) ÃÈNC®­­eÆ Kº#ukk+º®())yGÛÊÉÉ¡¸¸˜±±1z{{/KP¹`a­ÏÝ»wÓßßO2™¤½½ááan½õVŠ‹‹e:¸Bq R!„B\7,ËbjjŠžž:;;I&“躎Ãá ¨¨ˆúúzššš–üÏ133ÃÈȆa°|ùr ßÑö¼^/EEEŒÓßߟmts¹hšÆí·ßΙ3ghmmebb‚ééi}ôQ6lØÀªU«òB!®qT !„BˆkžRо¾>†‡‡éëë#£”ÂápP[[KEEUUU=}úrkmmÅ0 \.ÕÕÕïx{†aPXXˆÝn'2::Jyyùeÿ¹ÊËË)..æØ±c?~œP(ÄáǤ©©‰•+W^òæ>B!„X:$¨B!„×´žžNœ8Áôô4±X ˲ÐuU«VÑØØHAAÁUµb0dxxMÓÈÍÍ¥²²ò’l·¸¸ŸÏ‡iš;v슕YôÆo¤ªªŠ#GŽpòäIfffØ¿?CCClذáW !„bi’ R!„B\“z{{ioognnŽT*…R ›ÍFmm----l¶«ïr¸««‹t:¦iÔ××_²íâóù˜ŸŸghhèŠÿœÜvÛmTWW³gÏ¢Ñ(ƒƒƒ ³víZÖ¯_//r!„â#A¥B!„¸¦ôõõqàÀæææÐu]ש®®æ¦›nÂï÷_µ?[*•b``Ó4±Ûí¬Y³æ’n¿´´”ÑÑQ,Ëb``à²6Õ9Ã0¨««£ªªŠÿú¯ÿ¢§§€C‡ÑßßÏöíÛ¥ºR!„¸†HP)„B!®jJ)‰ããã:tˆ±±1l6†aàt:©¨¨ ¥¥…üüü«þgíëë# ¢”¢¹¹ù’o¿¢¢‚cÇŽ‘H$èéé¹âAeöC‹ÍÆwÞIuu5‡f~~žÉÉI~ô£±qãFq¹\òfB!®rT !„Bˆ«V0dhhˆŽŽ¦§§Ñ4 Ã0ÈËË£¼¼œæææ«º‚òµ,Ëbdd„D"®ë466^ò}ãv»I$ “J¥–Tóš+VPZZÊáÇéïï'‰°ÿ~iii¹$…„BqåHP)„B!®: ÑßßÏÄÄJ)ÊÊÊ(//§¦¦æš¨ |­©©)†††°,‹•+W’““³(û©©©¡­­ Ó4¸¤ë`^ >ŸíÛ·S]]Mgg'§OŸæÌ™3LOO³råJš››ÉÍÍ•7‰Bq’ R!„B\5fgg9r䣣£„ÃaLÓÄ4M–-[FKK ¥¥¥‹à]IJ)ÆÆÆ…B(¥¸á†m_«V­âðáäR)FGG—\P¹ ªªŠââb***xõÕW‰Åb;vŒ‘‘ej¼B!—•B!„bÉ›ŸŸ§­­þþ~R©–eaYlܸ‘²²2Ç5ûóÇãqº»»QJQYY¹¨ƒ>Ÿ¯×K$azzšX,†Ûí^’çÅívÓÜÜLyy9/½ô£££ÌÍÍqðàA†††Ø¶mÛ53õ_!„¸HP)„B!–¬P(ÄþýûéééÁ0 4MCÓ4ü~?[¶l¹nÖ$œššbddMÓhjjZôu#ëëëikk# 199Ieeå’>?yyy¼ÿýïçøñãìÝ»Ó4âÑGeÛ¶mÔÕÕe;À !„bé’ R!„B,)Éd’`0Hgg'Ù9N§ŸÏÇš5khhh¸®ÎÉñãÇÑu‚‚ }MMM>|˜p8ÌÔÔÔ’*¬^½šÊÊJvïÞÍøø8Éd’§Ÿ~šÕ«W³nÝ:òóóÑ4MÞdB!Ä%A¥B!„X‰###twwÓ××G:FÓ4<Ë—/gÅŠ×eWç`0HOOº®SSSƒÏç[ô}ú|> ™ššbbb‚x<ŽËåº*ÎWNNwß}7?~œééiºººdÆ Ô××ãñxä '„B,AT !„Bˆ+*‹188H__ÃÃÃÄãq,Ë"//ÚÚZ***X¾|9†a\—ççСC躎×륬¬ì²Ma®©©abb‚‰‰ ÂáðUT.hjj¢¬¬ŒãÇÓÑÑA"‘`ß¾}ô÷÷ÓÒÒBUU•¼ù„Bˆ%F‚J!„Bˆ«È™3g˜ššb||œ¹¹9B¡Pv*«Ýn§¸¸˜@ @aa!µµµKz]>˲hoo§§§‡P(D"‘À²,\.---ÔÕÕá÷û¯Û€2ÓàûúúÐ4‚‚–/_~Ùö]WWÇÁƒ …BÌÎÎRXXxÕ¿@ À¦M›¨««ãÅ_dbb‚‘‘fff¨­­eóæÍ×t&!„âj#A¥B!Ä×ÝÝM{{;½½½¤R)LÓÌv½¶, MÓPJ¡i½½½Ù5u]§¢¢‚––Ö¬Y³d?˲8yò$‡&‹¡”²,«V­bݺu¸ÝnYK8zô(¦iâp8¨©©¹¬Á³Çã¡´´”±±1z{{©®®^ô&>‹òÇf£¤¤„]»vÑÑÑAkk+‰D‚S§N100ÀÍ7ßL]]ü¢B!–Âßm9B!„KO2™¤­­½{÷2??Íf#''‡U«VQ]]­®ûåàjxx˜H$ÂÀÀ@6ˆ9}ú4O>ù$7Þx#·Þz+粇€J)Òé4¼úꫤÓit]GÓ4ìv;kÖ¬aýúõÒ™ù—?~<»NçŠ+.ë¾ív;ŒŽŽ266F:¾*ƒÊ‡ƒõë×SYYÉK/½Äôô4±XŒŸÿüçô÷÷³yóf¼^¯¼è„Bˆ+({…Ç•œ!.݇1˲0MÓ4I&“$ †††Ø²e‹œ !„o(‘HÐÕÕųÏ>K0$??ŸššÖ­[GEEÅÛÞÞää$'NœàرcLMMpÇwÐÜÜŒßï¿$ÇœL&ßpú¬eY„B!Μ9Ckk+áp]×±Ùlø|>*++¹ñÆq:2ø¿¤««‹={öN§illä–[n¹ìÇ0<<ÌOû,õõõ477S\\,/B!„ârÿ–S „Bqå½òÊ+ìß¿ŸùùyvìØÁúõë/YÅ#€®ë¬_¿žææfŽ;Æ /¼À£>ÊÀÀ;w©àsss8p€Ó§O322ÂG>ò”RŒŽŽÒÝÝÍðð0³³³@fñòåËY±beeeäääÈ ¿‰ÑÑQfff°,‹òòò+v¾ü~?EEELLLÐ××G*•º¦ª KKKÙ±c§OŸ¦­­™™Nž<Éää$õõõÜpà ÒlG!„¸Œ$¨B!„¸‚,Ëb÷îÝìÛ·œœ>þñSYY¹hk5:n¼ñFjjjxâ‰'Ø·o¡Pˆ»ï¾ÇsÁÛ™››c÷îÝŒcñxœŸÿüç¤Ói&&&ˆÅbÙF?ÕÕÕ¬]»–üü|© ¼@CCCD"Òé4›6mºbÇ¡ë:¥¥¥ôööÇ ¾¾þš:×v»††JKKiooçøñãÌÍÍÑÖÖÆÐÐ7ÝtÓeí¶.„B\ϲ­¿ô¥/ý/9B\:J©ì×ÂZ•Á`ðš™2%„â3M“§Ÿ~š}ûöá÷ûùô§?Maaáeitãv»Y»v-“““=z”±±1jkk/h­È¹¹9^xá&&&²Çª”bvv–`0˜íL^UUÅwÜÁÚµkñûýØlòÿÈ/Äüüþñóâ‹/ÒÝÝeY>|˜¾¾>î¼óNòóó¥;½B±H$¨B!„¸NŸ>Íã?NII ïÿûÏû˲°,ë’íSÓ4t]]È´iÓ&&''y饗ÈÉÉaÛ¶mç}þØØ?ûÙÏÞ0¤4M“U«Vqûí·Ë_¤T*Å©S§PJ‘››Kuuõ’8®ÒÒRÆÆÆPJÑÓÓÊ+®éqÐ4Ûn»ÚÚZ:ÄÌÌ sssüð‡?¤¹¹™uëÖ½­¥„Bqa$¨B!„¸ÌæææxüñÇ Ü{ï½x½Þó>nï¾}ŒŒŒ ”º$ûõxŸOç\Ó4iooG×uªªª–\øUVVÆôô4©TŠ¡¡¡×UÝ^ëJJJ¸ýöÛY±b/¿ü2Ñh”¾¾>ÆÇÇijjºâM„Bˆk\A !„B\FO?ý4†a°k×®ó~ß²,žáÚŽ¹ä‰š¦Fyúg?£²¢â¼Ó³·lÙÂáÇéèè`tt›Í–­˜ôûý444àóù((( 77÷œ5/¥#ò;sòäILÓÄáp°lÙ²%W‘ºzõjÚÛÛI&“ _wA%€Ó餮®ŽÒÒR^~ùeˆÅb´¶¶ÒÛÛË]wÝ%M¤„Bˆw@‚J!„BˆËäðáÃD£Q¶lÙ‚Óé|Ý÷•RtvvòâK/á÷û-øgÏÞ½|`×®óNßݹs'ÿþïÿN$¡¼¼œµk×ÒØØ(x^†aŸŸOyyù’;>¿ßOnn.sssLOO‡ÉÉɹ.ÇÊëõ²sçN:;;9|ø0±XŒ™™}ôQ6lØ@CCÃyßãB!„xsT !„B\&GŽA×õ7ìŠmY‰D‚_½÷ÞÅ]›PÓˆÅbLOOSZZúº@´®®ŽåË—‡Ù±cEEE2x‹¬§§‡h4Š®ë,_¾|É€ ìß¿Ÿp8ÌÜÜÜuT.hjj¢²²’pæÌb±X¶ÒrãÆ/™uF…Bˆ«•B!„—A__“““´´´¼áú¦irðàAÆÆÆÎnh€e)4 X˜n (Ken¼6p´ŠL‡îÌ­s% ªªªÞ°jsûöí<üðÃôôôHPy;v MÓp8¬ZµjÉg}}=ûöí#‰055µ$+?/7ŸÏÇŽ;èííåèÑ£Œ388Èôô4 455á÷ûåE.„B\ *…B!.ƒ¡¡!fffX»ví=þ¼¶•…§,x4Ádæ>ËÂQ˜ƒeY˜ó144à(ÌÁ°éDÇç/ª¢«ªª »ÝΙ3g²sÄâcnn€ââbÀ’=VŸÏGqq1ŒŽŽÒÐЀÛí–A„ìÚ•]]]´¶¶‹Å8r䣣£¬Y³†•+Wžóød2Éèè(UUU‹~lJ)B¡étš‰‰ 4MÃívg×™õù|2€B!– *…B!Y:f||œüüü ªN<_H©”ÂUàãž÷ÜMiA1ÿøÕ¿Å2Mr‹ó¹ûƒ»pÙ|ïß&Žât;yϽ÷ãôðÄc~bæuÛ|«õ/+W®drr’ÙÙY d ÉÉ“'I&“(¥.8Ⱦ’êêêgdd„H$"Aåkx½^Ö®]Kyy9{÷îedd„ÉÉÉìtð­[·âñx°,‹¶¶6Nœ8ÁÎ;)--½äÇ222ÂÉ“'³Ë ¤ÓiLÓ$N™jk›Í– -KJJ¨««cõêÕ²¾¦Bˆ+F‚J!„BˆE6??Ïää$555†qQÛЀT*…˰“ •½7‘JbYÓ‘9Rf&€°”"m™hºNÚJs1-yt]§¶¶–gžy†¹¹9 *ñµ155…R ŸÏDzeË–ü1×××sàÀb±sssÊ@¾ö½ªi±k×.Ž9¡C‡H§Óœ>}šááa¶mÛFmm-Än·³wï^vî܉×ë}ÇûŽF£ìÙ³‡cÇŽ Ñ4 ˲ðûýRSSƒeYÙ÷øØØ‘H„þþ~¦¦¦èììäÇ?þ1 lÞ¼™ÚÚZP!„—••B!„‹, 155Åúõë/(¨TJ¡ÔëוTó ¾óÏÿŠJ™Øív³þÖw@MÏl;KðØ¿|4°¡gÖ®ü¥í)¥8ÏÒ•Yš¦QUUÅÜÜóóó2ˆ‹äÌ™3ÌÎÎbš&6l¸*ŽÙápPVVÆàà TWW¿áº«×»µk×R]]ÍË/¿ÌØØ‰D‚gŸ}‡Ã‘­Zçå—_æ]ïz‡ãmïC)E0äàÁƒìÙ³Ã0ÈÉÉaÍš5´´´°bÅŠ ÚÎðð0===tvv288ȉ'(--åÝï~·Œ±BˆËFþÚ!„B,²T*E<Ï®÷†4ÈËÏÃTÖ6ÓQ*sCãlΨԹMt^ëìcÏ'™L¢J©7œn~¿ŸH$ò¦'344D*•Âëõ^p t¥ÙívJJJ¤¯¯-[¶Hˆõ&÷Üsíííœ:uŠùùyLÓ̾Ÿl6===¸\.n»í¶·µíp8̱cÇØ½{7©TŠ+VÐÐÐÀºuëÞö˜”••QVVÆöíÛeÿþý òï|‡ææf¶mÛFEE… ¨BˆE%WB!„‹,‘HFñxÉ3Ï<Ù3gxï{ß»(ûB!t9B!„‹k¡QÊ[­?§”"‘H‰DðûýÄ“qìv;š×ÁüÜM$A×õL•ì[LÃ_Šv»¥===2¨oB)Eee%k×®%¼åûîÀŒŒŒ¼î{­­­¼ð x½^>ýéOSQQqÙÞŸ6›û￟{îîn{ì1B¡ ®BˆK{Ý,§@ñØ»óø¨ÎûÞãŸsfF3­3Ú÷IH,Bìf³ñnðî:iÒĤîš{ûjoÝÞô¶MÓ%i’¶Y›¥IìØ‰7¼ F€ ´€V$FÛh×HšÑ,çœû‡Œj‚@ÈÒïýzÍëš3gÎ<Ïlç;¿çy„BÜxW&((øBÍ™M¦‰¯mªªNîKUT” 'Wwk;C#Ã4¶ŸÃ¤š®ê˜%¨œ}UUU(ŠBFFN§ócùÒÓÓ‰ŒŒDQ¥S§y-ÅÅűvíZ>ñ‰Oðë¿þëlܸ‘ÔÔTìvûDåôGæ£õù|¼õÖ[´¶¶ …hnnæ7Þ 66–§Ÿ~ú–Uá®[·ŽíÛ·sæÌ<8y|B!Äl9*…B!n0‹Å‚Õje|||Úm ÃÀ0t|^/ѱ1øÆ}øÆ|Ø#cîì™oÜG @×t ˆ6}P0XßÉW¾öϘüf‹™@00íp]]×'""BϘEô÷÷c±XHII!""âcù8QQQx<ÚÛÛ ƒËÊÐ[!**ŠââbŠ‹‹ñûý´··ÓÝÝÍÀÀǃa¼þúë¬\¹’ôôtÞzë-bbbxòÉ'‰ŽŽžò½£³³ 0kÇ3e¾víZ9pà‰‰‰¬ZµJ:U!Ĭ R!„â³ÛíÄÄÄÐÙÙI~~þeC?EQHHH˜â=`°·›ÍÆøð(Æ‚®kŒãÃápÐßÓ‡âÓHMKEU¦¯¬4 c²:2 ¨¿´F IDATÊEûU£££ŒŒŒ#U•³¨¢¢³ÙLtt4YYYëÇ’––FWW0± u~~¾tðU²Z­äåå‘——G0¤¯¯—ËECC###TUUqäȼ^/?ü0IIISîçl}=/¼øâì ÇVòóòøÜSO]R½i6›Ù²e ÝÝݼóÎ;ÄÇÇ“-)„âºIP)„BqƒEDDàp8èììD×õ+•8 œ‘1ºALÎÿ,l£Ä% :Š]!.>nFÇñÑUÇ5M#Üvù¡£º®ÓÑÑÓé$**J:q– ÐÓÓƒªª8Nâãã?Ö'''‡ÊÊJ‚Á ÍÍÍT^§ U¶)))äååQ[[ËÉ“'¥´´ô²«{<Þ~çÚÛÛgíX ÃàäÉ“$'%ñØ£^r}TT÷Üs?ûÙÏxóÍ7yæ™g¤…B\7 *…B!n°˜˜¨««C×õ+555¸ÝnTUÅ0 """fmåížžžÉûý~ .[)i---ÄÇÇO»ø‡˜¹ŠŠ ÃÀb±PRR2/žÛ‘‘‘ 200Àèè(‘‘‘Òѳ ..Žââb8@dd$wß}÷e_«»ß}—šššY¢áœ™ûߟììlÊV¬¸d›ÌÌLÊÊÊ8zô(dÓ¦MÒqB!®‹•B!„7˜ªª$&&rüøq:::ÈÍÍr;Ã0ƒƒATUE×u’’’ÈÌ̼î Ò0 Ο??dƒÁ+îSÓ4êëëY±b‡C:qŒŒŒÐÛÛ LTÙ¦§§Ï‹Ç•——GEEãããtvvRPP =Kª««Ñ4M›6a·Û§|]W?ÎÞ÷ÞÃd2Íú Š¢022®]»HOK#11ñ’mî»ï>ª««9räëÖ­“yJ…B\ *…B!n‚¬¬,œN'G޹lP9UH0::JWW׬TTª3X!ü‚ÊÊJL&Òy³¤¥¥¿ßaÍ›ÇU\\LEEÁ`ÞÞ^ *gÉøø8•••DDD°fÍš)·¦©©‰¢¢¢¶à•òá±4µ´àt:1›/=…\¹r%àðáÃlÙ²E:O!Ä5“ R!„â&HKK#66–3gÎ0666£•ž ÃÀf³3+Aå•ÎùUG%..n^ Ož ü~?­­­ƒAl6Ûeçü8²ÙlÄÅÅÑÛÛK__^¯wÊê?quª««ñxVjšvÙ}ÖÔÔÐÛÛËÆg¨Šé¹ÝnÑu}^Væååáv» ¯¯ÌÌLéôë içÎCQ”+†ÚÁ`ʪª)‡[+Š‚®éƒA, ªi¢¢ÚÐu‚ f‹y²ÊÚ0 ‚ &³“ÙtÉ{ƒ®ëÄÇdzzõê©O*Íf–/_Nmm-.—‹œœéD!„×D‚J!„BˆäôéÓ477ãñxðù|¨ªŠªªœ9s†²²2²²². .¬}!@ ÃëõÎÊñ$''OVTL&Ó%U–ãããìÙ³»ÝÎæÍ›¥gA0¤µµŸÏ‡ÙlfÅ‹’|ÜR^^ŽÏç“ rôõõÑÕÕÅ¢E‹¦óÑl6OYÁhèÑ™ñ¬»mG>(gÌ=†5.šÕ›Öq¶²†¾v7vG+6­¡ñôÜç:.©¼Öu}Ú¡åË—/çÀtttHP)„âšIP)„B1Ë©¨¨Àëõ¢iÚDe“®˺uëx饗طo;vì¸$pxüñÇg¥zr&¦Z|cß¾} rûí·.9 FGGq¹\èºNaa!6›mÞ=F›ÍFzz:.—‹îîn|>Ÿ<®ÃÀÀƒƒƒ¬_¿þšÈ i!Ö–¬`ãÒ5ôø†8ýöa à ?=‡;Ë6b„™èÞ‹®é$å¥s׊Ôq·wCH¿êûs:DGGãv»'«8…Bˆ«%A¥B!Ä,Ðuþþ~öìÙ31o܇ÕGªªb³ÙX·n‹-&†‚Ÿ:uŠƒ²iÓ¦É}(ŠrKOî›šš¨®®&&&†;î¸C:u†Aoo/ƒƒƒ,^¼xÖWfž E!''‡óçÏKP9 FFFðx<äää\óóÅl6óþ‰r†í!šNÔ¢( ÐÔqŽ—Ží¢­²=41ÍDGÝ9ž‹ywm4P¯þ>- YYYôôô022‚Ó锎BqõŸ_ÒB!„×Îçóáõz9pà.— «ÕŠ¢(¨ªJLL ¹¹¹¬\¹ò¢ÛlÛ¶ —ËEyy9©©©äååÝòÇ144Ä{g×ëå™gž‘Ž%Á`ªª*E!;;{Þ†7Š¢’’‚ÉdbllŒÞÞ^Ǽ eo4MÓ %%…°°°µý…˯҇Ʃxu&óÿÌGôRýÆaLfuòoAŸŸÆÝ'PM*&³é²÷s%ªª’@__¡PH:R!Ä5‘ R!„âøý~º»»©©©¡¥¥‹Å2Y ™––FZZeeeSÞÖb±ðÄOð£ýˆ7ß|“O~ò“$%%ÝÒÇòæ›oÒÞÞÎ#<29O¦¸~ôööN•3 ž>®"""HMM¥½½ææfòóó§×P\* 222BDDÄdx9–°0V­Z…ÉlB×u@AUtcâߊ¢`è:ʇûÑuEa¢bò*f˜0 »Ý~Åã1™L8NFGG Ò‘B!®‰•B!„W©¶¶–ÖÖVÚÛÛÑu‹Å‚¦i¤§§³xñb233§‡0%%…Gy„W_}•×_x€´´´›þX¼^/;w¾ž­[·RZZ*<‹Ž?Ž¢(ÄÅÅ‘’’2¯+ ­Vëä<•çÏŸ' IPy ‚Á ‡ÈÈÈéÛÏ0CQUâââ…BŒx<Ä:„BAÆÆÆHHHü0,‡Ô”T»ªç¢aè¡çæÏU‡ÃÁØØ~¿_:R!Ä5‘ R!„b†ª««ihh`hhˆ`0ˆ¢(„B!ؼy3±±±Øíöﯸ¸˜±±1Þ~ûm~þóŸóØc‘››{ÓÏÈÈ?ÿùÏq¹\¬^½šM›6M[Á%fnhh—Ë…ªª¤¥¥Íû9ûTU%>>žððp|>ííísbZƒ› øg²¨V0œœWÖKJj •'Orÿ¶mt´·ã÷û±Y­xÇÆ&ç ¥®º“ùʧ‚AÝ0°„MTŠÇÅűnÍÚiŸ~¿_†~ !„¸fT !„BL£¥¥…òòr|>߇Ã+'†BFDDðÐC‘€Ù|m_«V¯^MLL /¼ð/¼ð7ndóæÍ7ü1544°sçNÆÆÆØ²e wÝu—tô,«««CQÂÃÃIIIY966‡Ãßï§¡¡A‚Ê›@UUÂÂÂøñâÇl6ãÕÇñj~LV ïV«›ÍÆàðEC5™®ø£„®éÜóÔ£äÆ¦òæÎ7èêè”1„BÜT !„BLAÓ4Ù³g“Aä…àiÕªUÍÊ}°cÇ^|ñEöíÛGGG÷Þ{ï¬/Fb>ŸÃ‡S^^À£>ÊòåË¥Ãg™ßï§¶¶UU‰]0]LL N§“žžZZZ…B×â‹™S€@(ˆö‘R ÃôTfêº3¨ÔÔ Û¯¡odÍ®Îx>KÃ0Ÿ×s± !„¸±ä[ƒB!ÄGø|>ÆÆÆ8tèçÏŸ',, UX×áp••ŪU«fý~333ùâ¿ÈK/½D}}=MMMÜvÛm,[¶ŒØØØÉ…z®…a ÓÒÒÂþýû"##ƒÇ|ÞG¾Uêêꀉj·ìììõØ“’’hii!ÐÐÐ@qq±UAUT à -)EQHŽOÀÐ T“ çÊXB††Õ†cåj¸Ú\>¬ÆÔ®0l\Ó4Ün7‡ãªB!>J‚J!„B,X555œ9sÇsÑ*ÞñññÜ~ûíÄÆÆÞÔ€ò£ìv;dgg³yóf:;;©¯¯çìÙ³ÔÔÔ`µZ1›ÍUEjšF   Fqq1kÖ¬!++‹èèh ‹nÃ0hkk# …X½zõ‚l‡ôôtÜn7š¦ÑÒÒ"U•W)&&»ÝN{{;‰‰‰—­äBœn·ŸÏGgg'ò$¹Êö«««£¢¢‚ 6Ìè6º®O΋jÆ5ß·¢(tuuáñxfT‘í÷ûihh ##ƒ¬¬,é ‹ÙBtx$Ù éä'e±,³ˆ’ôE,Ë,Âf¹õ¡e(¢µµ•††Î;‡ªª­â™™É’%Kdˆ¢˜5tuu¡ë:Ë–-›¦¿PåääðÁp»ÝT^¥ÂÂBbcc)//gÍš5ÍG{9Š¢0<<|Ý«n+Š‚Ïç›ñöååå„B!éc!„×M‚J!„BPÕVÇó¼Î‰s54v·ÒÞë¢(£9%¬É+Åb2“Gjlß®.úFépófå>¾ñÖ÷)L/`Qr ÊøÄúíd'¤ß’ÇR]]Mkk+ÝÝÝ„B!L&¡Pˆ´´4–/_Nrr²¬J+f•®ëœ={Ã0p:$''/ø¹A###IJJ¢»»›¾¾><ÑÑÑòd™!»ÝNqq1‡âƒ>àöÛo¿dÃ0GÓ4EA×uÆÆÆf嘱±1ü~?ªª¢ë:@`Ê*ÍÑÑQ***p:¬[·N:N!Äu‘ R!„XàÜÃ}üùÏÿ‘÷ÏVàêïäŽÅëøý{?ÃöÒ­ÄEÆnµa3O,Ìb1™'× š¸„‚Œù½ô òÒÑwxéè;¬¯àÇ_aûŠ­üÍã„Ý:;+gO.3•ÚÚZjkk™\Å[Ó4œN'[·n%66VV¾7Äèè(MMMȪÇ*(( ³³“¡¡!†‡‡%¨¼J[¶láØ±c?~œ+VsÑõ‡ƒ§žzê¢÷ÄÙ È?LšL¦)ß?wïÞÍèè(=ôЬÌ)„ba“ R!„X BšÆ·÷<Ç—^þ:ª¢²:o/ÿñ·X–Yˆª¨ÓžìZLf,&3„Ùˆ±G‘êHbiF!õè3¼]µŸ¿ßù-~ôþK¼~bûk“ë¶]×ñúý~8ÀùóçùÔ§>uQE¤ËåâÀŒ]t›ððpxàÒÒÒäZÜPgΜÁ0 """HNN–çÛ‡ Ø»w/>Ÿþþ~222¤Q®BXXÛ·oçå—_fÏž=<þøã]Ÿ@BBÂ-;¾¦¦&ILLdåÊ•ÒaB!®›•B!ÄÔÒsž?üñßPÞTIvB:ÿôëÎKn»îý*Š‚ÅlááUwóðª»ùÝ?åßwÿ„ÏÿàYjÚøÓûŸ&6âê+ªü~?ååå444`^¯³ÙÌèè({÷îÅívOÎßf2™°Ûí,]º”¥K—Jg‹›¢ªª UUIII!11QäCªª’Ë墳³“¢¢"©j¾JË—/çôéÓÔÖÖ’••5gÿòx<ìÝ»—ÑÑQJKK …B×=7¦B19yɳÏ>û%i!fa“MÓÐ4 Ç#•Bˆ[nOÍìøÎŸq~ “Ïlx„Ÿ|᫦æÞûZ“·œ‡WÞMÇ€›ÿÜ÷M=m,NÍ'1:nÆûðz½=z”êêj¬V+f³™úúzººº8pà@UU1™L$$$PPPÀ}÷ÝGRR’t¶¸)N:…ËåÂb±°xñâ¿Ú÷G)ŠB0¤µµ•±±1òóóe~ØkPTTÄ©S§hmm%55•ØØØ[z<Á`wß}—ÚÚZ¡µµ•ôôt ¢…B\ *…¸A$¨BÌE?=ô*öüW0›ÌüÃ'ÿŒ?¾ÿsXÌ–zŸ1ö(,ÛJTx$?zÿ%öÕ•Sšµ˜tg2 —bÞ××Ç¡C‡hllœ\±&.ñx<˜Íf à ==’’6nÜ(ï³â¦{ÿý÷ñûýDEE±nݺ­Î¼P(Š‚Ùl¦©©‰ññq’’’ˆ_ð ]-³ÙLjj*§N¢©©‰´´´K櫼Yt]g÷îÝTTT°lÙ2TUEÓ4ÆÇÇijjÂd2/Ó!„¸&T qƒHP)„˜köŸ9Êoÿ/Hs$ñŸûÜ»lÓM»oUUY“¿œ¥üøý—9T‚¢ÔÜ+® ÞÓÓÃþýûéîî¾d8¡¢(¨ªJjj*·ÝvK—.%==]NŒÅM×ÒÒB}}=Š¢——G^^ž4Êe^ÏUUÉËË“ òÄÆÆ’˜˜ÈéÓ§9{ö,·$¬Ü¹sçdH¹}ûvrrr&û×0 :::èéé!==]B{!„WÞ M „BÌ•­u|ö[_$>ÊÁ·óïX¿hÅÍÿÒ¡¨l[±•×þô;´ôœçÙ_|¦îÖ)·íïïçý÷ßg``àŠá£Ùl&''G†’Š[¦¦¦]×QU•eË–IƒLÁf³‘œœ L»Á`PåðÄOàóùxþù穬¬¼i÷=::Ê÷¾÷=ªªª(**âá‡&<<œøøx¶oßÎÚµk 躎Ëå⥗^¢³³S:M!ÄÕ3H!„óÛ˜ßÇg¾õ§ ÀþÎWX‘]|KgcÑj^øÃoRÞTÉWÞøþ ÿ¢ëxûí·˜¶êjhhH:XÜ2n·›‘‘ à !!èèhi”©N8T•øøxl6†aÐÜÜ,r-ZÄ'>ñ Þxã Þxã 4M»¡÷ÙÜÜÌ·¿ým:;;)--åSŸúÔEÕ’6›U«V±}ûvL¦‰A{>Ÿ7ß|“ŠŠ é4!„3&C¿…¸Adè·b®ØñÿMµ«ž¿{ò‹YIðûý¸\.Ö¯_/ $„¸)úGùÍïþ9µí ìÿ«çIw¦Ì¹c|ãä^žþÏ¿à¶ØÅÜ›±˜¨âq8ddd‰Ùl&22›ÍF||üE« q«455±oß>ÆÇǹ÷Þ{)((F™F]]GŽ!°iÓ&JJJ¤QfI__•••444ÐÖÖFFFYYY¤§§ãp8HHHÀjµNYÑèõz¡§§‡ÞÞ^:;;'ˆZ±b‹/fÑ¢E×zž={–Ó§OÓÛÛ‹ªªX­V–.]ÊêÕ«¥Ó„BLI~ÆB!æ©Cõ'Ø]}o|ö¯çdH pï²ÍÜ]²]§°)µ”â¼"V¬XÅb¹æj !n„®®.jkkÉÉÉ!//––‡ƒììli ÈÈÈ ªªŠ`0Hcc#%%%TTT066ÆÚµk —FºFñññÜyç¬\¹’îînN:ÅñãÇ9zô(ÑÑÑDEEa±X°ÛíM£¡i>ŸŸÏ‡ÇãÁëõ’’’Âý÷ßOFFIII×õãPQQ‰‰‰œ8q‚³gÏ¢ª*'NœÀív³nݺUh !„XX$¨B!æ¡Á±a^,‹Â”î]ºiÎg˜ÙÂ'ÖmçàÙ ÚìÃ|ñ¾û™#Ó…¸Äðð0­­­œ?žòòrüþ‰E  eó EEEát:¡··—Ÿýìgø|>ÂÃÃYµj•4ÐuRU§Ó‰Óé$??¿ßÛí¦µµ•ŽŽÆÆÆ8}ú4ª:±žªaDGGãt:ÉËË#))‰ÜÜ\¢¢¢ ›Üîz9Nîºë.œN'¨ªJGGï¼ó«W¯–ùJ…B\D¾U !„óP÷P/oVîåÿýÚŸŸ:§õ¡•wòo|—×*ß囿ù%é<1' b¡PˆP(L=ÙÙÙ(Š‚aÓ®R¿uvvràÀ<Ïd{y½^i·$,,Œ°°0¢¢¢ÈÏÏ¿åÇ£( +W®ÄáppàÀ>Ÿýû÷3::ÊÊ•+åy „Uš@!„˜_4]gWõAÂÃl,Ï\ü±8ù{|ͽø~^<ò¦t ˜›¯+M»äoaaaüâ¿àßþíߨ»w¯4Ò à©©‰—_~™ááai.77—;v‡¢((ŠByy9»ví’ç‡B@‚J!„bÞÑt·+÷³2g Åi3«¤1 ƒ€Äòã ŽÏÂÅ?˜ñ1bÝ6Lª‰]§JŠ9©¯¯]×/ù»ÅbÁjµJ]†¢(äääPVVvù÷,M»hÞD1ÿ=þøã”””`³Ù0›Í´´´°sçNÚÚÚ¦| !„X8dè·B1Ïøãk>Åg6>BRÌÌ*øYÕ;Tvž•yÉt]§$1ß[÷ÄŒ*:ӜɤÄ&p¸ñ¤ sÖTÏË`0H~~>[·n•º “ÉÄòåËééé¡§§ç¢vT…ÑÑQ § Ûn»ŒŒ Ž=JOO>Ÿ·ß~›eË–QZZJDD„4’B,@T !„óÌ™Ž&BZˆüäìßæ@ëIþÏîÿ`<˜•ÐÀ Ò΢ø îY´nF·Y“·œ]§ÐÜsžü¤,éH1gøýþÉy)?* ‘žžÎÆgmá‘ù*22’eË–qàÀ‚Áà%í(• SFFñññ>|˜úúzÌf3555¸Ýn¶lÙB\\œ4’B,0òJ!„˜gê»ÏMÞ Ã¾†¾óüá_d²1 IDATÿ‚/èǤª¨ŠrÝ“¢â óù×þ¾±¡G~r6-H}g‹t¢˜S‚Áà%º®ͦM›¤òk†òòòÈʺô}I*¨¶ððp¶nÝʽ÷ÞK0DQúúúxõÕWinn–BˆF‚J!„bž9×ãÂj#:ó™Ïðî»ïÒÑÑÉd¢¹¹™Ÿþô§lÛ¶ ‡Ã!¸B1ÏIP)„BÌ3§]g±˜ÍØ,W^‰¸¡ëmMüvñ64}bÕ]UU'B ,&3A-„IQ1M×1›L¨ÊÕ ÈÐ þ¾^\]d8S¦Ý^ÎAÅ\388ˆßïÀ0 òóóY¹r¥4Ì5ÊÊÊ¢¬¬Œ#GŽLVÏ 1y‚j6sÿý÷S]]ÍÉ“'ñù|x½^^{í5Ö®]KQQ&“IJ!æëç€4B1¿Ø-6`úyßÜÃýüüýW1 ƒuù¥ä&fòΩ÷¹gé&‚Z7O¾Çolz„ÊÖ|?w/ÙÀóå¯ãîGfßA-„nXÍtà ͑Ȧ¼3 *…˜kÆÆÆ…B(ŠBLL ›6m’Ås®Sii)tttHu¥¸ÄÒ¥K‰çèÑ£“ϓÇÓÑÑÁƱÛíÒHB1É7,!„bž)HÉeÌï£k°gš- ¼-HF\*ɱ ,JÎ&&"ŠûJ·`› WådeîE%/1‹‘ñ1Æü¾©/ƒ^É9¬Ë/eÈ;˜߇/èGŸ&ˆ0}X©©ýÊ¢%BÜJ~¿Ÿ¡¡‰¡Û·o—*ÀY`2™X±bš¦¡ª*VŠK¤¤¤pÏ=÷°jÕ*ü~?º®ÓÒÒÂk¯½FWW—4BÌCRQ)„BÌ·w“™`(Èwd[+¨ŠŠnŒù}XìŒ{1©&E!¤khºŽÕFßè a–0._­©:Έ¾ö™¿dEv ëþú1ê»Î¡Ì`vËóýXLfò“³¤ŬÓ4––Ο?Ogg'}}}“ùìv;‰‰‰$$$™™I^^ªª200@WWº®SVVFdd¤4æ,q:dffâr¹hnn¦¸¸XE\Ân·³zõjÙ»w/š¦1::ÊÛo¿ÍâÅ‹¹í¶Û¤‘„b>ËH!„óKiÖb¾»÷yz†ûf~#åÃðѸ8„TP&çŒTuÚ¸QAa<èg`tÝ0ðøFg¼ðA‹û:::8þ<===ôôôàõz'·'--¸¸8ÒÓÓÉËËÃn·OÙŸb~QU•œœžxâ Þ{ï=úúúÐ4êêjúûû¹ï¾û¤ÒY!æ *…Bˆy¦ %›‘ñQ:ÝWÜÎ CGÓ5 *<’a¯‡X{c~/!]CÇ@AaÌï#/)“ÓçÏ ºqùáÙPÇ¿þ{DÚìxý>P”+nÁñsÕX-VÖ-Z!(®Y(¢··—êêjÊËËÑu§ÓI^^ÙÙÙ¤¦¦’––FDDÄ%·ÆívÓÙÙIkk+ÃÃÃtuu¡iéé錎ŽbµZ1›å+ôlŒ366ÆW¿úUìv;áááX­VœN' “Û뺎Çã¡··—ÊÊJÆÆÆHIIaÙ²e‡Íf“†Çbccyä‘GØ¿?---hšF{{;/½ô6l 33SI!>æä[–B1Ï,JÎ!Âj§¦½áŠÛ©ŠJª3]רïlÁ§­¯ƒÖ¾vN?CLx$¯ŸØC÷pý£CDXÃqõw‘•6me¥aL r I1ñ˜MWþÚqªí Ñ¢œÒ‰âštwwsêÔ)MXX¡Pˆ‚‚ÊÊʈ‹‹“Bˆ!©¨B!æ“ÉÌ¥wðÙo}‘ºŽÆË•qQ±ÄEÅΉcþå‘w†‚|vã£ÒâªÞzë-*++q8|þóŸ'%%eV+êÌf3999¤¦¦²råJ^}õUvîÜIww7÷Þ{ffl¡ó](â½÷ÞãäÉ“ŒŽŽrÇw°fÍ"##¯k~I›ÍF^^999”••QQQÁ¾}ûhoo§¬¬Œ»îºKªë汄„6nÜHtt4ÇŽÃl6ÓÜÜL__eeeJ# !ÄÇí\æÂ?ž}öÙ/Is1{ ؼ\¨¬ôx…âcD‚J!n *…·R˜ÙÂùþ.^;ñ.¬º›¸ÈØ9{¬??ü:/ûoþ辬—…tÄ éºÎóÏ?O}}=·Ýv?üðM›—Ðjµ²téRü~?UUUtwwSRR"aÈ|>Ï=÷mmm¬Y³†'Ÿ|’ˆˆˆÖVŠ¢`³Ù(--ÅçóQYYI[[‹/–°rž‹‰‰¡´´”¦¦¦É…šº»»éîî&--°°°‹¶…B(Š"¯[!„˜c$¨â‘ Rq+…™Ã°[ÃùÙ¡×°…Y¹½x- sïdlÈëáo^ù7†½#üèóÿ4§+?ÅÜ yñÅ©¯¯gÍš5lÛ¶í¦‡ Š¢PPPÀèè(§NÂívKXù+FFFøùÏN{{;wÞy'÷ÜsÏM&¯ª*………Øl6ªªªhmmeÑ¢E²ÈÎ<§( K–,Áï÷ãñx…Bx<êëëIMMÅn·£( Á`7ß|EQda,!„˜c$¨â‘ Rq«%Ç&p®·Ÿ|•{—m&96aÎã¼Ìö½Èßâ±&Ùœ SÅÜóÎ;ïpòäI6nÜȶmÛ¦Ü& i¡Phòsøz.º®O²2::ÊÉ“'1 ƒ¼¼<é &BÊ_|‘¶¶6î¾ûn6oÞ|KŽ#33“°°0*++q¹\RY¹@dddG?^¯Ã0¨©©AUUœN'õõõÔÕÕÑÖÖFzz:‘‘‘ÒhB1GȪßBܲê·b®8Ö|Š'¿ùä&dðæÿþOìÖð9sl-=ç¹÷+;(LÉåÇŸÿgâ£ÒabZ'Nœà7Þ ;;›;vL¹M `×îÝÔ××£ÎBŸ¡ë8œN~í‰'ˆš"Ð…Büô§?ÅårñøãSRR² ûH×u^zé%*++yôÑGY³fÍ”Ûy}>ÐutcNC>Âa·Oyõ|À›o¾ÉÊ•+yâ‰'ä…´@ŒŽŽR^^NSS&“ ]×IJJB×uúúúˆŠŠâá‡&""bÖîwxx˜ööv†‡‡éëë›üÁÄ0ŒÉ9t£¢¢p8$''“žž.%„’ñUB!Ä<¶&o9¿uÇ'øú;?ä‹Ï}™oÿæßΙcû£Ÿü^¿?¸÷³RŠ ¢¢‚ððp{ì±ËnWwæ ¯í܉®ë³2û‰´ÔTîºóÎK*+Íf3=ößùÎw8räéééÄÄÄ,Ø~:vìµµµ¬\¹ò²!åøø8¯¼ò UUU³²ø‘¦ëÄÇÇó[O?MœÓyÉõ6l »»›Ó§O“––&?/‘‘‘ÜqÇdff²wï^Ìf3n·û¢¹)GFFØ·oÛ·o¿®ûòz½”——ÓÜÜÌÈÈ^¯—`0ˆßï 66–èèh:::…B˜Íf¬V+6› «ÕJ~~>ÅÅÅäææJÇ !4 *…BˆyîÙG~ŸgޱóÄVdó;[ý–Óçð—:{Œ?ºÿsÜ»l³t’˜–®ëœ>}š¦¦&ž~úi¢££§Ü®¯¿Ÿï|ï{³>â /¾H~^ޔû£££Ù¾};?üá9sæ ëÖ­[ýäv»©¨¨ 66–|ð²ÛUVU±k÷îY3²§§‡}ûöñЃ^²p Àƒ>ˆË墲²’üü|ä…µNxÍf IIIá¹çž»ä}AQººº8räÈ5½nûûûÙ½{7躎Ùl&==­[·MnnîE?šVÑÞÞNkk+gÏžåøñãœÒ4òòrªªªøô§?}Ù ÐÕÞÎW¿öµYŸ+Òd2Q]SC~~>)))S^Ÿ””Äž={ˆŠŠ";;[?Z`ßÍOž<9eøgÃÃÃÄÆÆ;ã÷¤Ý»w³sçN<iiiÜqÇ<ùä“”––’’’‚ÓéDQTU¬âTUUU±Z­$$$°hÑ"Ö¯_Oaa!š¦ÑÑÑÁÉ“'ill$11‘ÈÈHTU•B,T q¿ IP)„˜+¬æ0*»“·*÷±óÄ»$D9Y’Q€ªÜ¼“oÀÇ—w~›/½ô n+\ÉsÏ|ð0›tŽ˜ÑgjMM §Nâž{î!55õ’m4M£ªªŠúúzœN'1³}±‡‡ÉËËÃô+áÅbAQÊËËIJJ"%%eAaƒƒƒ¼þúë,_¾œÕ«WO9¤»§·—ï|÷» ^ò}i6.ªªRYUEQQÑ”CÀ#""ðz½ÔÔÔ°xñbì—™ÓRÌ¿çæøÃËVð*ŠB `tt”ôôô+Vú†B!NŸ>Í+¯¼‚Ëå"??Ÿx€­[·’œœ|ÍÇEQQeeetttP^^N0$..ŽððpéH!Ä‚ C¿…Bˆ"3>Ÿýþ×xæGÿ—?}îË´tó÷>E¤ÍŽ7t½íó}üí«ÿÆsìäÓæ¯û"­ˆ™{ÿý÷ÉËË#;;{Ê뇇‡fÍêÕ7þ`…®ÎN233/¹*;;›ÜÜ\Þÿ}V®\¹`úçB˜ Yºté”AO0Äår‘––FÆ \<ÄZZZHKM½$ˆ £¤¤„ªª*ª««Ù²e‹T«-íííÐÞÞŽßïÇl6_Òï&“‰ÎÎNŽ;ÆwÞ9å~<û÷ïçèÑ£deeñÀ°xñìŽPˆˆˆà¾ûîcùòå?~œC‡qîܹÉáàB1ßIP)„B, E©yü×þ…?ùÙßóo|—òÆ“üùC_à¶‚²vŸ¯Tìâkoý€ÚŽþøþÏñ—ü>RŠ«ÐÒÒ‚ÇãaÍš5—­€ ÔÕÖ222rÙýš€búŸ€Bi(ªŠ¢þOT¯k:ŠÊe,«ÕJZjê”AeTTééé:tˆŽŽŽ³šo0äðáÃdgg_6Löx<œki!2"‚]g:80@GG‹-ºäº¬¬,òóó)//gË–-ò[–.]Ê¢E‹èïïg``€ÚÚZúûû'‡a_¨|¶X,444`µZÙ¸qãEûèïïgçÎ444°iÓ&6oÞLTTÔ ;æ””xàrssÙ¹s'¯¼ò wÞyçe¨BˆùB‚J!„bIs&ó“/ü ÿ¾ë§üÕ/¿ÆÙÎî[¾™gy†Ä˜¸Y»ŸÖÞv¾¼óÛ¼~bÑá‘|ÿ·¿ÂöÒ;°…Y¥ÄU9qâÑÑÑS.b3S†n`Íp`VTÆÚúQÌ*FH'fqÞ~¡ÞQ“ŠS”ŠÔG°ÛêÕGjÅÅÅœ:uŠÊÊÊT6440>>΢E‹.;l6 ár¹ðx )Å5ill$""bʹ)gÄ0°¦Dó¿ýÇ<ñÀ#Ñ–‰êÊ8ú©ßå÷Ÿú´HzP#¶8ßûÄçøügŸÆ\ÓÝeddAccã‚é£S§NInnîµïÄ€˜‚œ…©“Õ¯†¦“´2{FÜäßôF²l¢r'ƒÍK»Ü¸â]•””Ë©S§ä¶À(ŠBxx8N§“­[·òôÓOóÀ‡®ë“Ûµ¶¶òꫯ2<<Ì®]»8wî;vì`ýúõ7}º€ääd>÷¹Ï‘œœÌ믿Nkk«t¤bÞ’ŠJ!„bKw&³ïÙçøñ—yîÐN¾ÿÞ |ùµÿàž¥›xdõ=l((#1:‹ÉrÉêÜŠP ¢Ï3ÀžÚÃüâÈ[T»ê‰²E°85g{†Û¯“†׬··¿ßO||üµ‡ŠB``Œ^Ï=}½è¾ fEAÒÑß͈g# ¡¨ žžF<#´ t^óý©ªJBBuuuŒŽŽ9ïû©¥¥…¸¸¸)WÛžÝÀœÉŸ|úwiwwòݶïcòéà´ò…‡?‹/0Η¿þO¨žÑ‹SøücOá ùù‡¿þ[¬¶«ÿ$99™ˆˆš››åE¶À)ŠBNN999øý~öìÙCWWš¦ÑÝÝÍ¿ÿû¿3>>΃>xÙ*Ý›!**ŠÇ{Œ^x矞gžy†˜˜é@!ļ#A¥B!رùq>»éQvŸ>Ä åoÐì>Ïß¿ötõcbYF‰1q 53)&Ý­4u·Ò72@Nb&Î~gë'¹gÙ&î^²QV\·¾¾>TUQ¦ë:š¦M1ÿ¡šÆ?ÿÝW0Y-„)&t ñÍýtl6† ŒóÕ¯ %h`µYÑ5ýWöe\Tuu9)))œ={·Û=ïƒJ·ÛM("!!áÚw¢*¼Ô6œ¡«× Á‰áÞº7DÕÙj|c>ðë(&oï0gêÏÒ=Ü‹Édºæ»LLL¤³³“ááa |01eÀ¶mÛ8}ú4uuutvvذaëׯ¿åÇ—˜˜È]wÝÅ«¯¾Ê/ùKvìØÙ,§ôBˆùEÞÕ„BñaN rßòÍÜ·|3ƒnºZhên£ÉÝF÷P/ƒn´É€ÆÀ¤šÈKÌä®’ÛHŒŽcyÖbJÒጌ•Ƴ¦««kFA¥¢*dçåâŸx†Š¢`ðᜇ|øoc¢‚Ê0Œ‰¥î§Zò~ª¿}„ÅlÁ1m  ª*½½½×5·æÇAoo/ªªÎhh¾ÒCS·o~üýb²˜±¨fB àÕxþ'Ï¡„t¬h h½£üä¿~‚ªX¬a„B¡KveRMÓÿNMM¥¦¦†ööv *ÅE–-[†Íf£¦¦†ÜÜ\6lØ0gV‡/..¦¯¯Ý»w³ÿ~îºë.é0!ļ"A¥B!.‘æH"Í‘ÄÅë10ñ1ì¹èÄ_U¢Â#‰±GIƒ‰æÂʼ±±WÀUÕD¤=‚0³MÓ'CJÐ “É„šޭƇa䵄f³‹ÅrÅmŠ¢0444ïûÈív£(Ê´A¥¢*,]±ì#s^H„/¼¯\úoãZOrL&bŽ+n7Q%~¥Å}ÄÂuìØ1ìv;[¶l¹¡«{_‹Í›7SWWDZcÇ((( 33S:L1oHP)„Bˆ+‡ (D‡G)!nº ÕrÓ­p«…BÔŸ=ËÈÈ/æèÑcdeeátƱ{÷.î»ÿ>z{zq¹\¬]»–ãÇãr¹®üüW ]G×tTóÄ0c›ÍFVÆ•ƒ Ã1B600€¢(ÓqW•€ÏÏø¸]70™T4MG½Ð·Ê‡2Ædå뵬n¬™ÍÓÑw8“U¯B|Ô¹sçhnn¦¸¸xÎVD?ñÄ|ýë_çàÁƒ|úÓŸ–NBÌT !„BˆyAÓ4B¡ááá´´µAßÐ Ãz½z€!¯[„WW;v»MÓ®¸OC׉ÍJbQIU{  …B3š§¦_}z>¸ÐӆɚFSSÃÃÔ””°téR>LfæÿoïÎ㣾ï{ß¿¿ßìÚ÷±HBH³ÂŒ7¼ÄØØqãØqÄ=iœ¶çqºÜöœæ\ßÓ´Þ{»ÛÓ6͓ۦmâ4M¼á-^b0Ć€Í&@ ! í»FÍÌï÷»ÔÐi0-óz>zK¿™ù>>Ÿ‘4óÖw™§‚¢Bmá%=øÐCêììЙÓg´ñ“õÁþtæÌ™«“ÏçSYéø'_šM‡ùæÁeÞ~ûm™¦©Ûn»mÚŽ177W+V¬PCCƒNŸ>=ë·˜Ÿ,ËR(LhFªa»:rè°Þþé5Ô%&÷õõÉqœi?k7N8Ö¹s生Ÿ?#ž†ahåÊ•jiia¯U³{T`ÚÊÉÉ‘ëº ½ /--Õèè¨LËTlxTyY¹ò^ö‡µpáBô)`x•›£ðàÒÒÓT™Zyõ/ =ž —$÷÷÷Ëu]eMpòôl››;Ö£‰N¶m[ŽãèܹsÊ+-VSãyå¨átƒ"‘ˆÏ5j°P­íÊÈÊTKsËØJã9sâ”NÔË2.Îð,k™•===r]Wééé|£AÒÅ쇆†´fÍš„o㺮†††úF¢‚Á ü~ÿ„׆¡¢¢"†¡ÎÎNUUUÑD3A%¦­¹sç*ëìÙ³ã^çóù”››«X,6P¥Sþ=¬úˆ‰!0¡1\š¡wé¿–eMTž?^ñx\óçÏŸõ=*((ëºjooŸ RÕâ*FFe˜†¬ˆ£òÒ2Y¦)Å¥eË–ÉŠÊ ¦+½,EñHTÅsŠUT\tõor<¥¥¥{MWW—ÇQvv6ßht1¨TEEE·iinÖ_ÿÍß$¨'ÂqU/^¬§žz*¡í)B¡,X ÆÆF­ZµJ¡PˆF˜Ñ*0my½^)k``àŠ³ß¢Ñ¨8 ÁÁÁ±Ïedd(--íšNÞ6 CÃÃÃcË„%Éï÷+77W%%%‹\X" IDATy›…Ãa•••%EæÌ™#×uuîܹq¯óy} C²Lë>7Ñ»ïÇ“eYòù|ã^sîÜ99Ž£¹sçòIÒÐÐFGG•“““Ðõ###zæÛßVÿ¤ŽãHMÞ|óMÝu×]nàóù”——§óçÏ+‹ÑD3A%¦µÅ‹ëý÷ß×¹sç´téÒ+^gÆe³333Çö¸ü¸LÓTww·>4¦®®Nýýýºå–[’¢?†ahΜ9Rww÷Cžh4ªƒŽ…:†a(++klËk‡ÕÕÕ5¶üÖï÷+//ïŠKÑ»»»‡µhÑ"¾Á IŠÅbêëëÓœ9sšÉFõÃýHmmm“>–ÑÑQíÚ½[Z¸pá¸×Z–¥P(¤þþ~‚J³A%¦µµk×jçÎjll7¨üFFFÆö!ü¸ ÃÐÐÐÐUÝÇÙ³gÇ“j¿¸+Vèõ×_Wcc㸳Ñ,Ë’Çã«mjjªrrr®)L6 C–e©¿¿ÿ²åùãʧNR__Ÿ¶lÙÂ7$]\rÇ 'üc„ã8Úû³ŸiÏž=ŠD" ›W«ñìY=ÿ úò¯ÿú¸{ÝZ–¥¼¼ùÉOê[ßú–N:¥üüü Ç[úk†LÓ”Ïç»æ¥ß–e]vßWº?×uuæÌõõõé±ÇKªÐÀçóiÅŠ:yò¤š››'<ýû’KA嵆ÉW³äµµµUçÎÓòåËøƒ¤‹v"¡¹ëºjmmUMM<RRR4::*Çqä÷ûeÛ¶b±˜ÒÒÒ4000¶ÅA4ÑÈÈÈUý\p\WûöíSNNŽ222h€¤@P €i/''GeeeÚ³g–.]ªÌÌÌ˾nY–JJJ4222ö9Ó4Õ××wÍmÆe®x½Þ<õ»»»[»wïÖòåË•———Tý1 Cëׯ×tòäIÍ™3ç#g¹®;J†!ŸÏ§ôôôk“/ͨ¼t?®ë~dàdÛ¶êêê488¨õë×_—%»˜™‚Á RSSº6‹éÂ… JOO×Ò¥K•‘‘¡—_~Y?ü°Nž<©h4ªêêjíÝ»Wiiiª®®ÖÔÒÒ2á¬ÊK§‡[–%×uÅ®éûf‚JL{©©©Ú¸q£ž}öYíÞ½[÷Ýwߨ~×u•——§G}tÊÆǵcÇIÒêÕ«“r¦^zzº/^¬}ûöiÙ²e¿´Dßëõª¢¢â²0ÙuÝËNjÿ¸|>Ÿ*++ÿýMŽÇó‘'Äwvvj×®]Z½zµ²³³ùÆÂ˲ä÷ûÕÑÑ‘p0è÷ûÕ××§üüü±ŸGŽã(%%EMMM …Bòûýjii‘ßïŸðþ ÃпøE™¦©çž{Nƒƒƒ,çt*0#TTThÕªUÚ¿¿JKKÇÖ™oä?®šš­Y³F ,HÊþƒAmܸQ§OŸÖŽ;ôðÃ_Îdggëþûï¿¡cr]wìùFõæ›o* jåÊ• GH—z¾æSèÿãsðj”——+‹iþüùª©©™ðzÛ¶ÕÝÝ­ÂÂBžÓfÖ:`F°,K›7oVaa¡^}õU577O‹q={V¯½öšŠŠŠ´iÓ¦«>0c6™7ožÖ­[§'NhÿþýS>ž_ ±÷ï߯††­Zµ*á=4‘<<²²²ÔÝÝ=¶ü:Á`P>ŸO’äñxdš¦ÒÒÒdšæØ>–‰l3àþ|Oʽ{÷ª©©)¡ÛÄãq * %õϳèç1%ÀL‘••¥{ï½Wßýîwµ}ûvmÛ¶M%%%S6ž¦¦&½ôÒKŠÅbzà”•••Ôý1 C›6mÒ¹sçôî»ï*''GÕÕÕS>®šš½û;w®6oÞÌrZ|¤´´4y½^µ··»_¥ëºŠÅbêííUWW—úûû‡uôèQµ¶¶*ª´´TçÏŸW(’ëº:þ¼âñøØ¡\WòÜsÏÉ0 y<ž±ÇÏèè¨ÚÚÚTXXÈáPf‚JÌ(åååzôÑGõ½ï}OÛ·o׃>¨9sæÜðq477kûöíêêêÒO;vL|ðFGGåõz¯ù$ÜH$¢óçÏkÿþýzñʼnD´qãFÝsÏ=ÊÍÍ¥ø ÈÈÈPUU•†††´{÷nµ··Ë²,effÊ㙼¨FGGuôèQ½óÎ;Ú»w¯V¬X¡mÛ¶©°°& aiiijjjR]]***”žž>mÇú /Èu]Ý}÷ÝJKK£yfã^„¹”˜®ëÊqœ±€2jttTMMMZ¿~=à:9{ö¬Ž;¦ƒʲ,•””¨¢¢B%%%***’×ëð>b±˜Z[[uæÌ={VMMMr]W«V­Ò’%K˜Eù1E"ÕÕÕé'?ù‰z{{UYY©êêjUUU)%%åcßïÐÐNœ8¡ºº:ÕÖÖ*''GwÜq‡*++ )<®ZWW—þîïþNåååúüç??-ÇX__¯gŸ}VË—/×§?ýiš`Ö ¨®‚J¦N,SWW—Ž9¢Ã‡+‹) Êçó)==]………ÊÎΖßï—ëº2 C£££êééQkk«5<<¬p8¬P(¤›o¾YË—/WNNNBA'Æ×ß߯'Nh×®]VFF†***T^^®ÒÒÒ„ÂÅ‘‘={Vµµµ:þ¼å÷ûuË-·¨ººšCspÍ^|ñE9rD÷ß¿V­Z5­Æ622¢gžyFÃÃÃúÝßý]y³ A%pT0=¼ýöÛª­­Õèè¨,ËR__Ÿ,ËúÈÃ).m×’››«ŠŠ UVVª¼¼|,ÌÄä¾VŠD":räˆöíÛ§ÞÞÞ±CCB¡JJJ”››«@ pY˜ÜÙÙ©––…Ãá±-vLÓTnn®>ýéO«  €âbRÄb1ýõ_ÿµRRRô™Ï|fZªýÜsÏ©¦¦F÷ÝwŸÖ®]K³Ì*J€Ùh``@  …Búõ_ÿuIRgg§ººº4000‚¥§§+77÷#OÎ%¤œ|†a( jݺuZ·nZ[[U__¯Ó§O«³³SgΜѩS§äºîe·¹2«¼¼\}}}jooW,S,£°˜4^¯W=ôþáþAï¿ÿ¾î½÷^)×þýûuâÄ -\¸À¬DP €Y©³³Sýýýr]WÙÙÙcŸÏËËûÈ@S§¨¨HEEEÚ¼y³¤‹!s__ŸÇÂäÔÔTeee]v¸IOO¾ÿýïË4MÕ×׫°°pRèAr+++ÓwÜ¡;w*%%E·Þz«|>ß”§¾¾^;vìPZZš}ôQ`Vâ·8f¥ÁÁAE"IÒ’%K(È ’žžžÐiËÁ`PùùùêééQ}}½6mÚDñ0i,ËÒ'?ùI j×®]ŠÇãºûî»eYÖ KCCƒ~üãË4M}ö³ŸÒÀ®'“`¶‰D"êèèarGe ª®®–mÛŠÇãjhh (˜TÁ`P÷ÝwŸV®\©={ö襗^Òððð ÃôüóÏ+kÛ¶m***¢1f-fT`ÖRKKËØ’aÓäïó³‘aÊÈÈ×ë•ã8:|ø°/^La0©ü~¿zè!9Ž£ƒª³³S÷ß¿æÌ™sÝ{ûöí:v였ž|òÉiu¨\¼bÀ¬‹Å‡å8Ž*++9g+,,TYY™$©··W###“β,=òÈ#zàÔÖÖ¦ï~÷»zÿý÷eÛöuy¼ææf}ó›ßÔ¡C‡”››«ßüÍß$¤˜Q €YÅqµ¶¶Ê0 Ù¶­¥K—R”YÌëõ*33S’dš¦öìÙ£;ÂàºX»v­ ôÊ+¯èõ×_Wmm­îºë.Êëõ^ÓìíX,¦¡¡!½ûî»:räˆ<6lØ »îº‹ÂH•˜Ub±˜Nœ8!˲ …(H˜3gŽêêê‡ÕØØHAp]-X°@O=õ”vïÞ­ÚÚZ}ãßPii©–/_® (%%%á-'†‡‡‡ÕÞÞ®S§NéСC ƒª®®Ö¦M›Ø@Ò!¨À¬b†úúúd†æÏŸ/¿ßOQf¹¢¢"eff*Ëu]Õ××kÑ¢E×ÏçÓwÞ©+Vèøñã:sæŒÞ~ûmÙ¶­yóæ©  @éééÊÈÈeYòxŸ‚$™¼¼<ƒA†¡––;wŽ¢0ƒT`Öhoo—$…B!åççS$´|ùrÙ¶­ááa Rf‚JÌ CCCŠF£’¤ÔÔTQ”$TUU%×ue†5<ŸJJJ$IMMM•Ì •˜:::亮,ËRaa!IÖ78¦©Õ«W˶m¹®«ÆÆF9ŽCa˜ ¿Ç)fºh4ª‘‘I’×ëÕ’%K(JKOOWjjª,ËRMMlÛ¦(Ì•˜ñNŸ>=TƒA ’ä‚Á ÊËËå8ކ‡‡ÕÓÓCQ˜*0ãuuu)‹Éu]ÍŸ?Ÿ‚$9Ç£¹sçÊ4My½^íÝ»—¢0T`F»4kÎu]9Ž£•+WR(++Kùùù’¤öövö©` ¨ÀŒÖÖÖ¦ÎÎN†¡@ ¯×KQ ŒŒ Èu]¹®«?ü¢0ÍT`FT8–ã8*++£ SPP `0(Ó4UWWGA˜æ*0£…ÃaÅãqÙ¶Íi߸ÌÂ… •™™)éâÉð€iŒ 3ÖÀÀ€N:%˲äñx”““CQp™ÌÌL†!ÇqtôèQ À4FP €+‹©··W®ëª¨¨H®ëR\fÕªU²,K®ëª»»[ñxœ¢0MT`Fr]W½½½ŠÇãŠÇãZ½zµL“—·¸\ZZšB¡¤‹û™žÒM7Ý$Ã0d†ZZZÔÕÕEQ˜†*0#E£QE£Q9Ž£ùóç+P\QYY™ÇQOOº»»)ÓA%f¤ššY–%Ã0”——'˲( ®hÍš5ŠÇãr]W­­­ŠÅb€i† 3R]]LÓTZZš‚Á Á¸ÒÒÒ”-Ó4U__¯p8LQ˜f*0ãÄãqŒŒH’ •——GQ0.Ã0´zõjÅãqE£QõööR¦‚JÌ8ÇŽ“i^|) …Xö ]Ú"Àï÷ËãñhÏž=²m›Â0T`Æ©¯¯—aòûýÊÎΦ HH(RII‰\×UOOâñ8E`!¨ÀŒ344$Ã0”ššª P$$¨¢¢B®ëÊãñhß¾}€i„ 3Ê©S§ä8ޤ‹ÁS  (HXZZš233ÇÕÓA%f”sçÎÉq†¡ÜÜ\ ‚«RPP ‚‚¹®«xŸO†ahhhHçÏŸ§(L1‚JÌ===cA%˾1.\(Çq4<<¬¶¶6 À#¨ÀŒF‰Dä8§}cR¬[·NŽãH’.\¸0vP˜•˜öb±˜Z[[e†ÇQUUEÁµ¿2MeeeI’:;;Çfì€)úÝL 0Ý «±±Q¦i*##C†aPLŠÛn»Mñx\ÑhTÝÝÝr]—¢0E*0íÄb±Ëþ?jppP¶mkÑ¢E2M^ÆbräææÊçóɲ,ÕÖÖ*}–ÜXJ€é&‹éäÉ“•ßï—mÛ2MS®ëjÁ‚•˜4¦ijéÒ¥:xð z{{‰DÔÐРH$¢ÞÞ^Ý{ï½ €„ ÓN(Ò©S§ÔÖÖ&Ç£@ Ç£x<®P(D0iLÓTUU•>,˲´{÷nuttÈqÍ›7pT`Z²,KÏÅ—«‘HD†aÈëõ꥗^’išJOO×ý÷ßO¡pM^xá ɲ,IÕ1M“}P˜•˜QFFF$‰™•¸&¶më_þå_~i?Ô_ (mۖ뺄–Ü lî€Ç0 mÛ¶Bàc³,KŸúÔ§Æ}Ž…ÃauvvR,n‚JÌ(±XLëׯç@\³‚‚­ZµJñxü#¿n³)¸xu€#«¼¼\7ÝtÅÀ¤Xµj•*++Fék®ëÊqŠÀ BP €Áu]ù|>­ZµŠb`R­[·N%%%²mû²ÏG£Q R n‚JÌñx\k×®U^^ÅÀ¤JIIÑòåË åºîØçÇù¥ð\?•˜ö\×Uqq±æÏŸO1p]”––ª²²’=)˜B•˜ö¼^¯ª««•žžN1pݬ_¿^ÅÅÅcÿoÛ¶FGG) 7A%¦¥_œÙVXX¨ÊÊJŠ‚ëîŽ;îeY’.n7‰D( 7A%¦H$26“Í4Mmذ¢à†ƒºí¶Û‹Åd†úúú>òDp0ù<”ÓMss³Âá°$Éï÷+33“¢à†)++S P<×…–  Ê—›£HlTÇ›Oéä…ÓjênÕ`dX—&þš2T‘«EEeª(œ¯y%€«DP €¦««KMMMRSSÓØÛKRRRTZZª .ŒÍ¨¬ªª¢p¸áÖ|bö¾¿Gý#ƒúŸ¯þƒuÖéDËiEãQÅì¸âvü²Â%É2-y-<–GY)麵z>»~«6TÜLAHA%® ×ueÛ¶ºººtøða?~\2MS†aÈ4/îBdÆXà㺮8 ×ueš¦<ü~ÿØ×9‘7BÜŽ+˜—¦ï6¼¡SÃ-r$yMK òæè¶Åëµ°hªŠËåµ.;Õ3Ô§ÃçNèÈùZí©?¤þìu=ûþvÍË)Ö»ÿ)m½ù…|žÇ\ÁØoÈH$âR`òÞ˜9Ž#Û¶eÛ¶¢Ñ¨FGGÕÔÔ¤õë×S À¬ÿ=888¨úúzíÝ»W---ÊÌÌTjjªJJJTZZªP(¤œœÙ¶­œœõ÷÷ËqÅb1555©­­M.\ÐÈȈº»»•‘‘¡õë×kÉ’%ÊÈÈ èÁu·ãªomÔ3;~ ÿoç¿iNvªŠÊ´õæÛõðš{”“šuU÷÷镃;´óø^Õ·Õ’9 õÕm¿¡[¯UvJà? ¨®Ó4‚J@2ŠD"ª©©ÑÞ½{ÕÞÞ®ŠŠ ÍŸ?_eeeZ°`ÁUß_gg§Ž?®¦¦&544(==]ŸøÄ'´lÙ2ö­Ä¤êèÑwv?§¿xå¥úCÚzóú܆ûµaѪk¾ïþáA}ï½—ôòÁwôöáwõÈÆmúÒmèΛ6Rx~A%pT’QSS“vîÜ©ºº:•••iíÚµ*--UJJÊ5ßw4UCCƒ8 ÚÚZ•––jÆ ºé¦›(<®Ù‰–ýÞ÷þOí>¹_mx@¿úÉuëⵓþ8­½Ú~ð'ú‹W¾¥Ñبþ`ë—õ[w=ñKKÈHV•Àu@P H6û÷ï×;ï¼£x<®»ï¾[ÕÕÕJMMôljD":s挶oß.×uµlÙ2mݺ•àc{£f·þðû®ö.}íáßÖcPz0õº>fÝ…3úƒïÿ™Þ9þ¾žÜüýÕã_UÀë§€¤7vÌâÓO?ý5ÊL×uÇ>.–š;w.ÅÌ*o¾ù¦vîÜ©P(¤Ï}îsª®®–Ïç».åñx”——§U«VéìÙ³:~ü¸z{{UZZ*‡Yi¸:oÔìÖßø=2ôõ'ÿDoÜ&¿×wÝ77-Kw.ݨŽn}ÿ½—u²õ´>ý‰»Ù{ô*ë„  Þ~ûmíÙ³GúÊW¾¢ìììò¸^¯W+V¬P[[›>¬þþ~•••ÉëõÒ$äRH™“š¥ýö×µù:,õOŠ?¨­+nWO¸O?ØóŠŽ6Õëá5÷Ð@R#¨®‚JÀl÷î»ïj÷îÝ*))Ñ“O>yÝfQ^‰aZºt©\×Õûï¿/Ó45þ|Y–Es0®ºÖ3úxZqÇÖó¿ó÷Z1¿zJÆa†îZ¶Ig;›õ£}¯ËïókCÅÍ4´X€«vôèQ½ûî»*++Ó#Y5=Ÿ¿¯__¹ósêèïÒÞSe;6$‚J$äøñãjkkSUU•òóó§í8·lÙ¢ÞÞ^=z”¦aÌß½õ/²LK®¾K!_pÚŽ³ª¸\mx@ϼó¯jîi£q€¤BP €„ìÞ½[)))ºå–[¦õ8‹ŠŠ´hÑ"Õ×׫»»›ÆA®\=ûÞv•çÏÓÖ•·O뱦SµuåmjênÕ‡g޲W% ©T`B---êììÔüùó§ü”ï‰x<­^½Z---,ÿ†$iWí>µ÷wéÎ¥åóx§ýx—ϯ֪қôÂoÊvHJ€‰ÔÖÖʶm­]»vFŒ777WÙÙÙ:þ¼*++åõzib{ýÈ» zýºkÙ¦„o3È–+ÇudLÂl×Qº?E–1ñ\‘ò‚yZ\\®í~"Ó0h iT`BgΜ‘×ëUYYY·Tܶ庮ŒI[¼–¥PJŠLsâ '--MóçÏWCCƒn¹å‚Ê$÷α=òz¼ÚPqs·ùÉéýú¯oüR¼k~|ÛuT˜š­?»û?kyqeBÁçòùÕz~ÿÚ}òݺx-M$‚JŒ«¯¯OápX .Lø6ñx\Ï=÷œ>ÿùÏkÞ¼y^TTT¤(ÒÄ$64:¬îÁ^­\Pðm^¨Ó?ú?ßrrf4o?­¿zïY}óÁ?Tª/4áõËæU*#%]T’A%ÆÕÞÞ®‘‘•””$|›;wêÝ]»äñLÞËÍ“uuzåÕWõù'žPZZÚ„×§¥¥É², (;;›F&©S­gwl-*,Mèú³½­ú/¯ü¥Ç‘eZ“6ŽT_Hß?øªn.®ÔooxtÂûÎJI—ßãS]k#M$ ‚JŒkppP±XL¹¹¹ ]_SS£_ziÒ—[}øá‡*™3G[ï¿_ÖKÀÓÓÓ•––¦ææf-X°€F&©SmŠÛ¶äM´‡£#ú£wžÑ¾¦c²LK1ÇžÔ±ø|ý÷·¾¡¼”,=±òSã^›Ÿ‘« Ï¯ÆŽšH•W,“ã8òûý^ÛÔÔ¤þèGLè¾ Ã›à8 ]\þÒöíš7ožV®\9îõÁ`P@@}}}“¶O&fžK3£ñØøÏóx\‡/Ô+/˜©ßZû™„îÛqŸv“øsËq]èïPW¸O¹)™W¼.5"Ë´ä±,šH•—mÛ²m[EEEã^FÕ××§ 6hÃúõÞ¯ã8rG†iJ®›ðx\×UwO”žž>îu®ëÊqš˜ä×ÑMs{Íh<ªŸÜ¥Æóõ’¤HlT>O’«X<® Ï¯Hìâ~§~¯O£±¨LÓ”Ïò^õ6–m:¯y¾=¶áþ+^“ê)àõk`d’A%ÆÕÓÓ£h4:á¡8ápXµµµêííMèdnŸÏ'˲4<<|Õ³ÇQé‚ã•À%¦aêDËiÝyÓÆ+^ãÊÕ±¦z½sl*‹Êôõ/ü‘þ×ßQÈÔ#ëîÓWþñiýÑÿ-¿åÕ_¼úŒþð¯h_C¾¿÷eÅíøUÇ2M-›[5î5q'®h<¦Ü4öW$‚JŒ«  @@@ñx|Ü}'mÛVgg§ZZZ´iÓ&UWWëå—_Vii©JKKµsçNmÞ¼Y†aèÕW_Õc=¦šš>}zÜ¥Ù—¾ 5::*Û¶å8Žb±ÍÁ„ŒŸOwL4 ·‹³/Ÿÿà -W¥ºÖ3òz¼òy|*Í-ÑÎ{µxN…Îu] W>wÜ Òu]gåë®e›ôní>ëJlÏÉŽžŸ/Wwi" i˜”ãqG†aèüùó^{)lÌÌÌÔ‘#GTPP X,¦ÎÎNåä䨽½])))òx<ŠÇãŠÅbòz½2MS†a|ä‡eYZºt©žxâ Í›7ï²ÇÏ¥¥ß“yò8fž‚ÌY¦©î¡¾„®7Œ‹KŠÔí8rÝ‹Ï%É•í^ÜFÀqÉ•\ÇpÛW®>µâ6ýå羪Ç7n“ÇJìù‰ŽÊvle³%³ A%ÆdYÖUÍ`tG¦iŽíiÆØÌÈKŸsÜ—Ò²,mÚ´IÅÅÅ*((Høv###ŠD"ÊÎÎæ $VY\.åÑás'ºÞu/Àðúåµ<òX–ü^Ÿ òý|f¥i˜òy}òy½“Íq2ôᙣúþž—õÎñ=²Q¶,¡1¸rÇöË4 SórçŒ{}Íù“ŠÆ¢Z[¾‚’A%Æ …”™™©Ó§O{ßï×Â… UPP Ã0ÔÐР… J’:;;U^^®ÎÎNIÒâÅ‹ÕÞÞ.ŸÏ§¥K—^õ˜ÇQ ¸âׇ‡‡ÕÚÚª’’’±œH^¯½W¯Ü¡×¿{Å 2ÕÒÿõÙß¿¡ãºÒ!RçºZtâBƒ6V®’Ï㥀¤AP € •••éìÙ³:~ü¸–,Yò‘פ§§ëÞ{ïãRKK‹–.]*¿ßO“Ü}+n“eYz³f·~ïSÿé#¯™Š}L¯ô˜'ZTÛÒ ¯ýÊïÈ49V<ø­€ -Y²D^¯Wû÷ïŸöcu]WÍÍÍêééQyy9§~C’ôÙõ÷©®µQ;k6­Ç³ãúéÉ‹ÇtÿÊÛe¼e$~ë`B999*..VKKËØòíéʶmíß¿_ .ä ŒùÒ­ŸUïP¿^?üî´gcG“¾ûÞKz|ã6e¥°¿* ¹T !wÝu—FFFôÞ{ïMëqž:uJ---ªªªRzz:ƒ$©zN…>³î^=·ïÇúðÌÑi9FÇuô»~$Û±õé5÷(Ťq€¤BP €„Ì™3GUUU:sæŒZZZ¦åmÛÖo¼¡ÜÜ\-^¼˜¦aŒešú{~MãÃúÖŽÕ`$<íÆxôüIýíÿ¬m«·hcå*šH:•HØ=÷Ü£¾¾>½÷Þ{ŠÅbÓn|»wïV¿–.]ªœœ†ËT-ÐolùUýËO_Ôë‡vÊqi5¾_{æU–?WŸßôiù,Nû$‚J$,''G›6mÒñãÇuüøñi5¶ææfíܹSyyyºýöÛi~‰ßãÓ“›E›ª>¡ßöÿÖ±¦úi3¶ßøÇÿ¡³]-úÂ-ŸÖº…+h )T ñ¦© 6¨¨¨Ho½õ–𛛧ŏzzzôüóÏ+hÛ¶m4 W4?w޾úÀWd†~ó;ÿC'Z¦t<1;®?åýÓîçôÐ'îÒlý2M$ïkMJ€«‘ššª-[¶(ëÅ_Tkk딎'ëµ×^SWW—¶nݪ’’š„qݾdƒþâ±ÿ¦cMõúÒ·¿ªƒg§fvpÌŽé/_û¶þøù¿ÑÃkîÑ_}î«4Ô*pÕ.\¨mÛ¶©··W?øÁ¦,¬ŒF£zùå—U[[«-[¶héÒ¥4 ytÃýúÞoþO9wBÿåŸÿXûO¹ácø^ÿGýé _×Ö›o×_ÿêÿ®ÌN©$7‚J|,K–,Ñ< ¾¾>=ûì³7<¬Ñw¾ó?~\[¶lц dA¶Þ|‡^ü½oêȹzâÿ›þmï«7äq‡"a}áÿý}ýñó«O¯¹[ÿÅ?V^:‡?`]úÇÓO?ý5ÊL×uÇ>lÛ–mÛÐܹs)`Ö(,,TQQ‘:¤£G*55Uùùù2Íëû÷ð .è[ßú–úûûµnÝ:Ýyç²,‹†àª•ÌÓ­ÕëôÚ¡ú×=¯¨g¨Oë+VÊcy&=øv]Wï×нñk:ÚT§Ï¬û”þ×ÿ‡rÒ²h’Æ~óF"—r“÷"Ôqœ±€2jttTMMMZ¿~=Ì:.\ÐsÏ=§ÎÎN­^½ZëׯW^^Þ¤=CCCÚ¿¿Þ~ûmåççkãÆZ³f À5kîiÓýþŸé­£?UV(Cò™ßÕ­ÕëT‘#Ó¸¶à}(2¬Sígõí?Ð?ízNÕs*ôÅÍ¿¢ÿ|×€_@P \•€d‡µcÇ8p@Á`PëÖ­Ó¢E‹TTTtÍ÷ÝÙÙ©††íß¿_===ª¬¬Ô¦M›X©€I·ãú·Ÿ½ªÝûªÞ9ºGËæWéWÖÜ£u Wª¬`žæd$|_1;¦s]-Ú×pD?=¹_?üÙ•›–¥{—oÖoÝý„–Rpþ‚Jà: ¨$+Çqtúôi}Z---*--ÕÆUYY)ŸÏGÁq]´öuè§'?Ô¿î}Eï{_iTU—,TUq¹–Í«RaF®R)š—S¬Ô@H’t¦ã¼†G#êèÖ©¶³ªomÔéŽs:ÐxLeysõ«Ÿ|Pw/»EŸ(_F¸‚Jà: ¨$»H$¢ÎÎN}øá‡:zô¨âñ¸222 5þ|eee)%%E~¿_¹¹¹êééÑÈȈb±˜ZZZÔ××§ÞÞ^ )릛nÒš5kT\\¬”” Œ¢g¨OM=mÚy|~rì}í:±_Ë£?(ŸåUÐç—ßë—ã8 ˶Ä"êìÕâ9Ú¼xî_y›nš[©üŒ\y-E`•Àu@P ÀEŽã(‰¨¾¾^µµµª¯¯—ëº2 cìÀÃ0Æ »tÃ0T\\¬eË–iéÒ¥ ƒ×ý€`¼ç±íÚ²G‡édk£Îu¶ÈïõiÏ©ƒ*ÊÈÓ¼Ü9òy½*/˜§O.Z­¬” ™†)Ë49€T×A%WÖÓÓ£®®.uuuÉ4MŽŽŽ-ãöz½*++Svv6…H2¬=À •­ììl-Z´ˆb` ëgL9‚JSŽ À”#¨0å*L9‚JSŽ À”#¨0å*L9‚JSŽ À”#¨0å*L9‚JSŽ À”#¨0å*L9‚JSŽ À”#¨0å*L9‚JSŽ À”#¨0å*L9‚JSŽ À”#¨0å*L9‚JSîÿ™ÿ h`²zDIEND®B`‚murano-9.0.0/doc/source/user/figures/qs_quick_deploy.png0000664000175000017500000011607013656750211023446 0ustar zuulzuul00000000000000‰PNG  IHDRÙ†! vsBITÛáOà IDATxœìÝu\éðgfX`é.EB±qÅFlDO=Àî®3NçY§ÞÙÊÙ}v7‚RJˆ"ÒÝ,›3¿?@%Öx¾øÁÙwÞ÷wfç}æwf‰””CCC@!„j\ñññiiiMÓò® B!„~R‹ „BHn²³³1A!„܈ÅbŒEB!$O¤¼+€B¡ŸÆ"!„’'ŒEB!$O‹ „BHž0A!„öú±÷ÑݧåFý7y“ËÛé6Ì5Š îÞS€ÕÂËÇF™²¨œöÃÆŽÌÓnÝ`ÑOC§ø•õ‰ )?ôzd±Cg•F+©Þ`íFåܘÔou¤îÈãWÙ(4lYu'ßfÿ.°›Ï¿þh~…ÅÓ{.z ¦ÓÏŸ›j^eÔÓ±Ö)?Ps9tce;¥òÿQ¢üäWÁ<6œyÁslùÁÞÚ(Ê\ʼ¹rñé TlÇ.]0¶·µ&›¤E…É7yìôŠy¼{þæ—Vu’û8BßR«ÎIã—ЂŒ˜h‘&™ŸË§ަ†R];é:œÀ ºôèªÄä^ßù$Ð/üÑÞw‰îbq/–d@VÎÒðä{ϳŸOJ Ù ›R`“l6I’EEMÕbЉ(îôò#¥ h·øì©uã{µÐUf14Œ›w²pÏŽ#tÁÿŠä:›/FKbމEù RË~ÜüEóGÛªý\]ˆSü¼ÀrʼNl€’ÏÈâF,¾1Ûí[ÚGrnvT ÉV7m;páŽ-C4 Ýë«R٠ʼn7þ ˜MÚã1o@ M6 ›kb?jõ¡½# ò¼øgQYy„¾} eKkCey¹|”ô,- ë6&P§X„:9&•¨têd¯ÖEÊiAJÞ^yžOozɘxérP¹ß…_ ¯É=w!ëedAI‰€Í–°Ù‹M’$AП¸¬ ‹"þ;þ@ÑaÙjWs…ªåv˜¶ÀŽ ëséUC#e¾ûKqjÙå¹åà}\Ú1J‚=_–È»V?U‘ß4ž]¿Õ‘yf\Ïùßh‘¬²êç(#Ž?4ŒÇãñz.ü™¸þš½V­Q—† ÅÙáG—Ø•ÇãÙõr·ì¿*[ _wÔ}Ó˜júj¥¹|™‡--)RÀÏ.–ñ9S¿×ä¹Ó¦Mî¥WáZï³m%ó ¼¬Çë·áE•°F»ÿç0Ï7úº"pð5*Jÿ6Sôþ¿’œØØ þ„uŠ_ ].ЄÃ0æ½³žnÌ”e6IojGè1H£¥×9¬˜‚Â莥oEz›îíµ5ÚkWo*?lÛ¤Ùg€Åf¾¼¹cÆãדÛÕÜ/]ütçôßO¿€·°¨Üà-SçW¶QŠdiNüÃ+ÛÞ¸=i÷®¶Ÿ›!I)ëÍv7`’$o@ xUôàÆ+¾S9©0áÜüU•Ÿ©Âć—7?ôºöØÚÌ:'ûÄF–Dš5eÿK K‰!Ê‹ ½´9ôNØŠ†—EÔÒ¬»+Fÿq'€PRU!ŠòR£O­ ¼ùdû¹UÝ4H`êuÐS164øôl»Ûh6W%¡Zß\_‡Dm6¬‚úmöÏ·F­¶¬vé·WŒ<˜=}fRzjÔÝsŸfì=»´ãû)_wÔ}Û$ù©l™ÛA(›6׆çÙY×èº}¦ƒnåé(lÓþã§U\P‡¶ªüWiåÜ™sÇ''È7aaë Ï5‰“ïÝNPì4œW~³ñ‹‹@¨ñÐÂìøèÄ)°µÌ ÉŒ„,U”K4o¦«T§“FÆE€’ДT*PžÿXµ~ .ÙW”<:/­X¬ÁÔ0ÒµlÛ²gKgPrQýº ,´ÔZu¥Úô% ÛÒNšÖ RÖMi^ôë|0noZõöLÍJ£-ÙñD,›qÛ¯„‡„øž]ãbwoÝò‹‰•»©—{þºÊpùûʃï+7|ýN.ä)d^Þå“I°Í]—oZ7­ €Ã›±nó¦næUŸ€¤òƒ·.;› ?pÕißààPß3«dÞ9\Ög|‘èC«N'™õ™¹n×á“ÿôÒ$¨¬;ëþwþpÚOØz%0<ø~Xð̓ õ@udéöðÂÏœm$)~e}â ž†LR§S? (¼ïYýÖVÔÞDnÏû†< ¸¶g¶½ @îݵk½Ó¥uOVº$b÷’ý/% í´ìÄÝà Ð`OqÍ™P¸ykPnY]ypó\s÷ÍW‚ƒüüƒÃîZÞG ×ë_J6“ÖnZ5Êt[¿yýâ~†ÕB¡ú;$Ê0ÔmÝ&?q‚£Á''¯ßf¯EkÔ¶aËäøœ R¶ázp€×•÷îÛž yqo@vyª¯<ê¾itaÄÙk© lÕRGvð¬`=jR€Š>>o`¿‘ 7õËËÞê:µU•/¸jk—N€ ¿DÑÇDâÿ[‰‡áíËBï)⻎Ñw†d±ÀÒljm¦­ebÕL› &“Q×¹u9ni ¦"›`1 [¿‰~Ói&úÇ­T|»Ñ~ÃD\ówONñÙ™ìs4iû†”e«Ò~ÿ'oÉ.Ö¬mª#ÿQ´\Ë~˜Šº&!ó´8«ØšÚµ¦èü°ÃçS4‡þ»{n7e–šÅÀåû×:(yüÜëÊã Ë9ô3Q €Ti>bñhcÈŽÏ­ÝoþIÓïì¿Yd›¥ûW¶RcSÍÒyå¾%­¿æË/ÌT¶ë¿¿'÷ïÔ¶¹±*@wq_ ´†lÞ:«‡ ‡ Ø:íG­Û9Ç Ïs÷­´Oöÿ’?¯xh: gYGÍÔëÒ× ïßx]ý.·ß–}‹z›«±†²‘ÝÄm‡g[ˆÂ\M}A2™¨l¿}—2¬æí]3¬…‹‚mÐuÖú¹–‚Ðk‘%’¬§Os¸ƒþ7«—‰ÀàZž;É ²ßɺé Ký¤†­Û̹sgOp4üT,R¿Í^»Ö¨UÃ~`³Èc‰“!›’Ûjäï£  ;1¯,¯¯<ê ru?;ž,=>”[ C rßExnž³èzè ÙšSCJ¦ñˆíf9èÆžßµr–kŸÎN®³Wí:WT1®«[[Uù‚*­\ì”’}S?d’´€[ïT» o[Š|UõÔv}ÁR3±¶jbѼ‰&› Xê¦Ö–fͬËþ['u›»JQÁ`\:~⸱y¹@0˜ ¨ªš\-]sýN­LìÛ›6kfÜ¥³É˜QR3.§åv쪩¥¥¢@rXÀ$€’JeO¥Å|0™µÞ„Ò·>O&#Fµ¯øÖR·Ç8G.@Vppj¥ž²Åˆ~&ú–¦™&PÒÚ)©ÜG7_°Æõ­x5Î4ì3Š÷5ïØj6zlÅWqJ O2@·±•ÇaÙM]ÆÛ’±Áq5< ûD³½Þ×’eØ­·݈®Ú+ שâ( æC';°’ýB3¥uN&]øÜû™ÈöcšUib8Mè2hPk1Lc·C>w}®ýÙ®bgAK„ )ÙSŒªkÜCâ£znöZµFíö½6®N•[5C5 Ë÷ÞWuß‚ëSº}Œƒìºö>õ¯óQ…636Íl¥Tóš¤Z»I;n\Þ½bú°î6ºL€‚¸0¯£›¸örþíØó²ö¬k[Uù‚ªm\:*$Ü Î(o}Ij€w€Za­U꣄ÁRÕRûyl®¶ú—¼œ«Žï]% ‘HtñÂÿaÆ[XX\½r%==}ìØqR©äÊÕkv¼ Úºy3I ÑÑwcbò’“¦Ï˜ñêõë[·oп{÷R©TFèN*ir@PPZÛ¹Òüظbåíõ«\±*™wjÞÏS_¤ˆàãnÓ&U¾¯uj/aÊÓ$0µ³P©´¡bÑÁÂë’WªÖ6•&¦’ž$@¦¿Ç²W•7KšOˆòrK)P©áÄ#Iõ÷ŽÓ½Œ>¬Í6íÙC÷ÈéÌü ¯7¥íÛU8+µ°3©|'Šà¶èÚ‚ߤ=OŽ6V¨]²š®5@œöüÀØÖªrë3õg¯tüð_R‘«^6Oˆä¥%&Ä¿}õ$Äÿö͸Oå]U#Ôs³sjÕµlØ2𦕙ÊúuGXÿïÆ‰ú5¿wõ«6,–¦Y ÛþSN¨: DRÙÔ~ÈTû!SAZœäwÇÛëÞ«<ȼ¿sÊlúìá æì:¶UÕ/8ªm‡tT й–ån¬O‚4ý¾w,€fï_lÊ¿I_[Bߟ:Â4M3Œø7oÞ¼ycݼù=_ß”ää³gϺ ²`Áoóûíáð{¾>?¾wïÞ¡#GþõðÐ74¼s÷n1¿$88DII)ÐßÿžŸŸ‚‚¬ ! 5C €D*ýM–¸‡j ' Aìõã7ßIÔmGŒì¢+åçò@U·ÚD„¢¦¦€°¨@XáËTªý‹ TIv ¨hW=#3Tt¾â}VJêŠó£ù…RàGÝ÷‹’¹‚ P@Õ4ž%IõóŠHÜûkç½Õ>Î ô~SÚ®íÇ^QUŸ[5,d¨ê©“ü¼b €Bí’}’¤¼Ýô>÷œ—(3ü잃—|#R>^ó))Ôá©ØF>$Þ«ïf¨MkÔºaXJ¬O_wÔ}S*¿ëì+0TŒÛ:lë4rNvøá¥ >¾:¼ëÁ-=$uk«*_p ¸m]xì ¯¼æü2X‡Îxà ÓÇź¼ÚuÝÕ‹@è»S—X„¢I\º|Y"‘888\»zUMMMSSS,‘(((“yÕ²÷(Ϻޛ]T«Ö¨UÃÖîûý5GÝAšý$08QEÅmv=åê“\3S.DäÓ4M×G[jí]lYÁ¡Ï¼žå·Îó|`4pàÇ[‡?ýî@?£:Œí‘$ í>fLwGGQié”éÓ{öè9eÊ”õ7µjÛnð/¿¬^³fæœ9FÆÆ®\¹jíZ÷Ñ£{÷í;ì×_{8::të¶aÓ¦ÁC‡ $!»P+×ñ6»õ¤ê¶P…ONž‰ÝÞýÍ€Pµ²3 "½žäUŠn$©·âˆfÍjxSÉ—P0¶k®Xiú£èÿY]¦¸´Òp‰0!èYm^«ØÔÁ’x}% òó²t~Ѓœú8Íòªé]F’T¯8Ðtü0Øû‘’•sOMÈñ»ù¶Â£$Qža9•²ÆÞº›À´°7Q¨s2™Xú¶-UrCü„— ^_»nã†ó(Aò‹4¢íøá»^eÖé%ê|H”g]ïÍ^»Ö¨UÃÖÒ—u?–^›*Å~‡}d>¥.J‹È“Ö õÒV„š­K{&ˆ"<ý}®G˜:÷oRáúæ'ßè§TÇûŒHE"©HÄd2%Bá ÁÎÿûs¹D(”ŠER¡H"I…"J*•…eÉ(‘øÃ¿R¡H*•?,ÃÐù“ÍD6Lýó|Ta…¯UøüäK®ä0m§Œ².ëÿX¦ý†Zlòðùð|Í>ûϾvg7Y?aþÅTÚº9r’ޝ?ýŠO¿/íõ™ §R?´©ÈU€¸;A+UsaëÅÌÚ”BjuqëÌxµkýÕᇷŸ„ïßÀh9ÄA§¦¹"þ7â@Çi°•ŒÛåï{Ål¿›±».ÉÃ-o|ˆ­¨ÜÐ=«N¤pººuT¯°›j™L6ŽÍˆ¾Zi§×Qü~ŸJRoíóÌÐêÜÍ” ÀPà°èì·Yã<šsiÓ‘¨þMMOºÔÿ!Aå=>½ËÃcÇáùUÒÍ^ËÖ¨MÃÖÒu?N›ÑC Ä7,ÙšYyGKrBw-= è0²›Y?mEªó†´g@i ÇžHó!}M+Ž/þì»ýŒê<ýš|ÿÝ ƒ’J¤ Fµ‰x–@”ÿ[ušEuÇfò–eo&ü”}oÓ8ÿÿZuïlc¤ E©¯Bü^dp{®øËÅà}îL“ጾ2éT’÷2÷XŸÁ=ÚèIݹœL³íÜÅ=ë÷­?„*oöÿ¿‚Ÿí?úÉ> Yïê4ÂÙ¾ ;ÿuÀ¥ëOóÌÆý>È ¦4e}¢ngÙï­U²rî¥uùRN–ßíØyÍÕÊ2 Ðû?ç­4KÞ„Üö}YÀ¶3ßA­â¾ªe²pZO[Úçî’»/÷OùÔ¥¿½…jáë»ç½_‰€ÝqúxEP²h¯˜x`ÁrrºKmIƛǷN Ëæ0$YÁWo†+8òšqI‚Áf@öý —Úf65ï`ß´rYõ~HHó#.=™*ý»ŒtªþŠ‘iöÚ¶F-¶¶¾ð¨ûa(¶˜¶y;ŸEý7gàE›æM ¹TafòëðИBPîºxiomê©­HužK;òác¾Àjho£Ê'âŸ}w ŸÐW= FDÞ9\«ûôlÓa›NëZ¿ñðƒô¬Hÿëæ-êÚOücå´nzªL(·™»½dùéÈè{ç¢ï•/Öé:oã·:\ÖCßyý¢‹¶&_9 Àl>vÛŸÆûÇF峕ÙåýÛr†y/gíÍ ;µ%¬l‘Í8uíθÖ"`™ºmß/^±tÇý¤ûç÷Þ/_ªë0uùŠÉ­ªþrW¹÷}¢~¿5Ü5Q´ÔKëÒÅœLß[q3ÜÀÀuÓTþžuׂ.Ç•§Ò°Ÿµeý“Jn-“ÕˆÔêµêÐræâ¿o&†]ÿ/¬|©¡ã‚u-{é©Ùó¿Ý³–}uoߪòݨ`5lÍnwþ?îž%^^77MÛwgWB¥…ck2âEêmÞÐ{êòì*ƒ{H4L³×º5>ß°µ÷%GÝ„àXÛyÊ`ÿúͧžä%E…'E…üPËvÔ¢å³ú|꣭HŽCÚ‘ŸP`óKÏê?¥ð“ïôó!jø¥:hI-_~Y‹R™Ÿ;QRü´¨G#2óù´’š®Y˼–Æ5ý 1Ušü,>«”äXóºt´Ô¬]'ùEhqþ»?O(áZtêÝÕJ)~Ÿ«û¡d›ÞG‡||þ‡*Myú <*!KÄ1lÙ¥gG³O¾œAqnÌâÓJ˜Ú¦-Úwh®SÓ.¥)§GÙöÖ`ÜéKóÌùoBüâ3líf¶Ýº´Ôý8é³–Éj[haüãûa/SJØ:f–6íÚYjWÙ ª0îahDô»JͬC·vƤùQ>^!)„A»~ýlµ@ñCoûGfÓêMíû;6—ýާÆ=$j«NíY»Ö¨EÃÖACuߪ4-*üñ«¤Ì<>©¦odllÖ¬¹…>GÖQÖmõÓïôÓ¨K,"®Ý»ÒkS*ëèêJœxeƒ‡_Ѱ¥ zV¸]+M½0Ñec”î¨ãWÚÔþ§tä«b§hUó`A-“¡ZÂöD!YêòLï÷@Ô#&W=/<8P£ØÜtÙs ’ìÐË·G˜8;×4HB¡OÀWסÞ}é §çúÜZåzç_3kce~rÌ»\1i=é¯ñ–x‹B}ŒEꀡ×oí9ƒNÇŽœ÷‘ðê¹ØêM;v8r¢{7S%¼‹B}‰:ÌA!„ªwøÊ„BÉÆ"!„’'ŒEB!$O‹ „BHž0A!„Ø7 ¥¹­»³¹"AEßzW &• Úö?c˜ŽÏ’¿îó `ÕLX±Â°Bt黀ÓG/?x^ÌÔlÒÖiä„!íµY¢¸cóÿç•ßb”›æ}ÏD¾ªeß) ÇÙk1dndÊ¥ýwº®u6ø¸„®VW[Nì9Ë}Jm\zî½,ä¶è7ÞÍäé‰Ó±…œ¦ŽMîªËg=¼pà´odJS§¥£ûÔÑ] Ùc&²E·f£oGýEK²u›î°Sb5ÈNC!„UCŽ‹Ð%ÑwB A½›ûÈ!Ö$úÿW§½3õÛ´6„‚˜›ûN¿–yëE«³cS2öÌ¡À,释ò«×!’_ö‘(êf$˺ 伺±mõþH%Û¦ Eñ¾ϼ.Å_\·ùê3I«¡c†óXQ7w®:ü¢òöK…áYʳ1ÒM-ÌþÂ[^!„з¥ÇEèâ¨[ø Ý»·…F¿–ŒèH¿Àä!£š”l:zÉ,g=†ÀF0oÅÝàëÏ',V“½ÜÆLföÒÌ`Ïb0·d®³YbgtÊ'ŠDª¼Q“m4Z¶Ñ/‰}øÎ?$¹$;â6×Se*ú†š 9sȹơ.Õ”En.š½õ±ÿ­X÷™h:埵}µé ‹¥s%&%Q-«…n ýÞÓ~}ûÇÙcGZt*[D·Zr…´£Õœ¿þ謔p귥ײ̧üµÜI-íÊï Τdd hAªçí4Pé1c†[K%qkQôRÏÀë‘cZÛ«¾!¸‹Æq †6§#„ú!4\,B<½ùTÀI¸~`É/adú½>Ñ L¹ PÐ1×ÈÏË,¦ÔjX.;‘§°t¹ P¶:ͤy™aÇÞ'UÐ2ä~z©´(½€ah­Ç‚cb¥ S²òD4€¡®£LÐlh)-{„†m:h†‹ß²ë‡Nq¸@*pjª[Ë& €PÖP"`0Ihan&þða…ì”B)¨VØK ˆ „úq4X,Bå<ºõR y/|èZsøÆÂÄèlq&?)*€¡¡«B~ryõš+k«d&åKÛ)‘ÅQ—OødêõtÈÛw5²¤íÌï©“qqÑ¢ i5W‘¡ª¯ ›)îЄEó“Þd(i©³ë8«U¡Ù/3œ‚þò (Qü•Úס‚ÍÕPPì1ï÷†LZ˜—)Vo­){– B!ôƒh¨XDšz;†ƒ_·nýÕ„ taè?3¶= ½ó«¤]X³.ÇM +µ^CÛ¨ïjX^ ³†^—-Î|urƒGO1Æ' Fh9~KBˆâ=/$–<º•@Ó@0Ù €¢7¯t›ÌA»Ó°Žg·?¼ú÷úâžMJŸÞ~,Ã_†X)AJÝ6–P¶qŸÖ%tãƒbZ*–U‡ÏS´ä¨v3ø†¯®ƒvn˜§o Õff§¾õó¼B!ôj ±~IÚý»ïô:Ûë—G;„j‹Ö (ytçu §ƒ{Öëûa)Jæ=¦/ŸØJ¹¼Ë­iyu ]Ç…ËGw6Dx{¦jvøuéâþfÖ#¦ô·T+yyïÞ Ún 9þ,¶ˆeÒ«¯µ ¤ù^Íü8}HN³ÿšÙ§…bü½k7Ú¹.[1Â\á ¶—à¶;ѶlM ™uø|4B(YZ>o€eqèÅ“îç6é=uí¢žÚ8,‚BèÇFеºd¯OeÏôB¿öÍn¡P‹å!„úáH„BÉÆ"!„’'9Ü£A!„úÇEB!$O‹ „BHžö·ñBèSÄ GFŽØ“Çolì•÷ût¨¬ë¬‰ÒsòÊoÍÙŸO_gÒÔ3c\¶Æ@«Õ·8kɸ,œÙkáCÚdÚùsÓÌ٢׿Œ9™ñÙl™›v›o^«”ÿúîè¢\±zÐÔ…Õ>fi˜ZZµê6|Òè^M8ŸÛ¢ÌÇž§.øDÄ$$$fñYê†ffM­íú»¹÷m¡†¯#@u€±BHnÄ)÷¼Êþä‡^,îâ *×ú|‹ˆZuê$Y—”Ÿ ÎKŒ KŒ »å7þÀþ9íTk G¨ÜÙóOÇ”ÿJ'É&Eù©1ù©1ÏÜ8}uöÞmlj~=B•a,‚’qŠ_Y(ÂòC¯G;tV‘s¾1ìæó¯?š_aAqÀôž‹ƒéôó禚³*'v¬uÊÔ\ÝXÙN©ü”(?ùUð g^ðß[~°÷Å…6Š2×£2o®\|:†Û±KŒím­É&iQarÄC;½bïž¿¹Å¥Uä>Î…¾ ‹…¤¤¤’’‰DòùÔ!¹b2™\.×ÈȈÍnˆ[²ˆSü¼ÀrÊ<­ãÛCKB<#‹;wÂ`D~H¶ºiÛ whó‡Ïº–›îuáÕÌUí•d$'Þø/T`6iÇL›ò{9›kb?jõ!®û”3i^ügÙ¹èâœDT ‹‚èèhmmm---o"ô­“H$ÅÅů_¿¶±±a2cÄTœZ6*b9x`íç;CÃK‚=_–t²Wn„²Ñ'ªí܇^;’Z•#mo,ã^šð0Ì ´¬:©„Pnõ눦gvÆÇܸèr¥Êè{×Pgœ¤¤$]]]555&“I8L‡Ð·Ž¦iEEEHII133kø%©÷¼ãÀbP7CmÅ-‰ðgÅÁ7^–ØÛ}F¤)§GÙö¶ýFß]Í#Žî8tåþël!É5íàä6c戶•:IiîókGOÝy›œ'VÔ04kÝËu¸Am´*æhQꃓ{\ x‘ƧÙæ¶ŽÃ'OÞ^³ê¹g‡ŸöØ}Þÿe¦€T5lÞù—™óFwÒ¯ô3Þ?Áïø“7îG¦ói%­¦­º;axg#Åïý”ÇTÓWH…Ò\¾ z,BKJ…𳋥Uïÿ0õ{Mž+L¤Mô*¬ùÙ¶¢2.´þuÛîî³}uh͆Á©–+/L0ïN‰Öˆÿ®ý¯uÅ»E¢Øýnn“ؽõ¯óQ…636Íl%ëšr¤Z»I;n\Þ½bú°î6ºL€‚¸0¯£›¸örþíØó²ö¬k[5])!¡ÚÆ¥£"@ÂÝàŒòÖ—¤xǨõÖZ¥>Š@ß|¿B¨±IRý½ãÀt`/£3 ئ={è9™äõ¦´}» ½ R ;“ÊÏÜ]›@ð›´ç©ÂÑÆ ¹êe3)A^ZbBüÛWOBüoߌ«°Ž8íù;)€±­Uånˆ©ç8{¥c•jZ˜ªTJUy¸Hô$2ý=–½ªHP‚üB)ð£îûEÉL!(Pߟsåw}†Šq[§‘mFÎÉ?¼tÁÁgÂW‡w=²¥‡¤nm¥¤®X¥Ùn[;èÁ+ï‡9¿ Ö¡3xÅèôq±.¯v]wGõ"Üa,‚j\BB‘£T¹S |¹þÞ1 Û¶ùð§D ©6L@‰ÅÉd ͼ³jä²»óÎÎ]xmm¬,,­šqBf \ù~ ‚d‘@‰¥µsøä¼‚Áb€¢ãî;›ìÂhˆ¯nô¸—§?xÉ¢>zUÃD¦¶ÝÔõK9¯‰(}~?QÔÓ¤nmEdÕ¦'ÔÚá±Gz?Éä$|p#@¿ÿ`«÷H]w‡Œ"¼a,‚jTïC¡¯/¯rE^úìï!“¯äæúߌYÐæÃû$rß&—Pm*]ËŠ2¢Ò@ÝH Š¿¸ûn0ZÎ>ºg| å÷騜Jy3Õ Õ ³c³Å`X±¥yg0Ízô·«á©‘ªE-=?5¥ˆN¥pŠ–HIEU®Ò<)Ršý$08QEÅmv=¯¦#¹f¦\ˆÈ§iš®¶"Ôڻز‚CŸy=Ëoçù Àhà@ó·í~úÝñ#À‘*„Pc’¤ú{Å€¦ã‡1ö”¬œ{j@ŽßÍ·‚‹£<Ãr*N,aì­»iL {Aò‹4¢íøáeWX‡¥oÛR 7Ä?AX1/Áëãk×mÜpàa^¥">I±©ƒ%ðúJ@z¥çeèü ?9õqšå•Uû̾?,½6-TŠýû¤Ëz^H”‘&­ ꥭ5[—öLExúû\0uîߤ ¢Ÿ|wü¾‘X„ÿbÇDW×QkÔ׌-i¦÷ïÖ=®þp`u‚—;&ßò¼Â Yïê4ÂÙ¾ ;ÿuÀ¥ëOóÌÆý>Èà¿# ØbÚæ¹/&î|õßœMlZX˜71äR…™É¯ÃCc @¹ë⥽µI¨§¶"Õy.íȇù«¡½*ŸTöÝñøzIºàùÍHNï?'qö¬¸žÝc€.JŸnœ{¾ù(ë§—|^æ²MxC¦Ms¶V%DiNí?ëÿ*³8†¶ƒ§ÏÖB…æ=¿¼ÿ¿›OS„ܦvC§L`© @‹Òöþq-86iÚ}üâi=õYti‚ïу—‚cr¤V=GÎßÃX¡¦zIR=×môÍáÃÊÅ¿/2½¸¾üï?¶Nÿ[½n*ÅqÏ3Ô»ÍëÛÊ€ÆíO›v86[H0 å23<ÿX›8xqídXTÀêýÇøfliÖí?»e·ió0#ƧÖ:Ó~ŦÑM>ÿÔBߎòPD¿ß@‹¾yŠVƒzi]º˜“é{+n†¸nšÊß³îZÐ帠òTö³¶¬aRvø“š=ÿøÛ=kÙÙW÷ö­ºW–@ÁjØšÝîüÜ7†úh+R£ãväã'ØüÒ³úõÝO¾;~tÃxôè‘H$ªURi¶ÏŸã^M‘HÒ<Zp%EBÓ4Mó#6ŒúÕý·ƒÁÉ…ég–™¸%¼P’°rô´]q9ÅùIεäv–T’q{ù¸»òò“ŸûsÌ”Ý/KiI†×â_âáŸÌÄx®;yW”€*|òï”ñ«/Gf&‡ý·pÔŒƒQ|ª4ò߉ã6?㬒(îøÌ‘Ëò)Áë}3fÒ4MWø[fÝ(QÒ•¥î#ÛrÚ÷Ù»\!Uae–+N»¾È}ÔÔ'_&ÄÞ]9föÉxMÓ’ ï%c–x¥K>»Vb®¨b!Õ‘HôèÑ#y×â=Iò)·:8ÿ-¤ÅyÑWŽÜwàØEß‚êǾ´ 6ôöÅcöÿwîÖã¤)MÓ´$ïå­“‡Ÿòzœ-©mA\˜×™#¼r7,:Kø5ß#QΛ×OÙðø¥ÛÁQ™_•×wIÊO}áïyþÄáýûÿ;{íÎýÇÑiem_]#´ÕO¿;¾[ò‘f…ÞI6¸@ŸÁ€N}›œ½˜<ÈÝŒ@*ÚŽqïd¤B@»a“û­ò~Q¼Ìvî¶Öª: t©TIY DiaÞ MF.êf¦N€í/sÓ{§Zv‡˜eââÖÕH‰My<Ý‹ÏK%…O¯>ä8¯ÜR‡ `ç6©Óƒ‰c›P¥áëÆ»V®˜å'«]½nE<‡!y4»òøÂ–osÙ&-ízÿ2©¹)³ÜQC€ÝÓÝ»1i'‹ãçCS]›ç>òOoÒ×^‡Av­Ú#}‹˜êV݆Zu«9É5·ïkn_iCݦßh›ª)ܦv›ÚÕKµXš–ƒ-ê%¯ï©dЪ‡s«Ú$m„¶úéwÇwKîý™$-èN{ÇÞJV¹J¢$€÷ïÜ!ÔZ;YºÉz”Ûµ —¨©¶•ÖB!„¾r~dEç”oÑ·“™¦††††††¦I§¾–%¡wßð(Á££gB’ Ò".¼Ío7°µªD(e)«pX Î}áuùY‘°TÌ4êÖÇðíéÓ’ŠJó£o<î›ÊdËÜ.B½ý ÖYçÝ|•U\˜òôê¦?þ¹ž*ýL·NK"ªúßÕë¦kéd+ññØuíqlZN~núÛË'K­ºZ©µ(—à¶r²Ìõ:r-¿u?UâKk‹B}oä;.Âs;¤Äjb[õ=,©ÞÆÑRxøvT±غŽ=(ïu³< Œ;ŒX2½£ºŠp’[Øö So25Ílº¸Û;½éHGI¿Ï/Ú{lùäecû‹ÆµPªHFy„šýÌ%¹‡o›¬€V3ïâö¿I-•@(#e9–N›– »VάÜ1ßæãßÓ zÝÔ¤íŒuó/žô:¾á|Z˜¥¢giç¶lt_=€Ìr3*×Mµ•SsÉÖ¸.s­9Ÿªm†Œj"ôcb:ûh”¼kjhM7ÈïA>~ü¸M›6,Ö—?qZútã¬c–ë6ûçh~ËuCèkˆÅâçÏŸwèÐAÞAýD¾Ó׊!„Bè±B!„äéÛ½Gƒj|x!Ôøp\!„Bò„±B!„ä c„BÉSCÅ"APõùt¡o‰H$Âi^¡FÖP±ˆªªjAAAMŒE5š¦sss¹\®¼+‚ú¹4T,bdd”–––‘‘!‹¨„P=‰D©©©yyy†††ò® BèçÒPÏô€P(LJJ*..–J¥ TB¨¾0 555###6›-ïº „~. ‹ „B}>GƒB!yÂX!ÔøŠÃ—;òxgÝέ¯Çí¤©gFõœT\ÇÕø¡‹»;®|¯¸Lwp¸ãâP~Më4iÊ™Ñö6E *,J=?ƾÿ¦‚š×ú”¯Þ4ª8êìŸãœ»óxœFþq"¢ êþ£ Þë' êʳst]ôß“||œÕÆ"¡ÆF<9÷€²n£òì|Pö·×Y1tzÌYêÖLþÓf½ÝZø\Žú;HÓ®¾Õ8ÄZñ süºM£r}ÿœ±+µó²“>÷.­ë™¾Á_>•w  jÏÜ5a ߺºePñ VÞýw0úö`,‚jdTnèÙ‡ª¿,ýÝMÿÕ¿ôò¹í%Á úŒ?~mÛt—n¼NNnKŽ?+ haâ­ÍÓ\ztäñìz_x8¢IvØßF8ÚñúþóLdaywG ½ÖŒؕױ—û*Ï$P%o.¯™0°+×yÀ¤<ãJk1ANšû`ï¦s±¢š ’‘§4õÌØAz{nœy÷L IDATâ҃ױ×ÈÕ7’DÒÌÀ³‡tçñx§móÏ,ÛÒ:T‰ÔîêÞ¡ÔÿÒ‹òáIªßµ8ÃÁÎælÙùH’NŒrY}óÊ_îN#vF%W/½Â¦IsÂ/tuêijëõˬ賂jÚŠ oï¾P°`¢ƒ©:׍ӨÙ=É'>q‡ho®ÝÉï0g¦£¹¶¡íÈÃT­·¡/ôÃX!Ô¸¨¬Às‘ÇÚXöÖ$îÒdÉûOJ^î>!úõßë¾×ôÈ<°àï |iŽïºµ¾3ö{Ý»svM—øÃ[ïdRÒÔ«K¿¦6ißÍ;§WtOÛ³pûS>]òôØók.Þ»{t ×oÇáÈRª dýœ)Ý×\¸çsfI˧ëçüû”_ûéú2 ª)Oi–Ͼ0›egîÜ92IÕwûü¢+¯)Žßçíëµo4quíΧ|¨quÙH {·Îôƒ O i¤ú]O4Úß”Us>TÆ/ñ›6:§o«^úÇMËðúsñizضë~·LÕ÷Y¾ðd¼dmEÅê(¶^|âØÜŠtiRÄ¡^K½ ¯Æ£Šßê´5W!ØF¶¦DjT¾×}Æ"¡F%Iõ½g1²¿ “iÔ{„UÊU¯ø÷ß$§ë¼Y½›j¨;L^:B9øtx·ëš 'ÿèß\WEQ‘£ªDðóø‚wÞgÞXÏž×ßJK³I׉kþž×]hv³q3ú5á°5¬»w7çðÅùÁGýUF/Ë3àª7é5s‰“$Àû­°¶5Ë*ˆª)Oša:lêseM›ÞŽ&âìŠd²HqAzz¥ÙÚÝãú…ß[+Ö¼z ®­[OvøÅð| Äɾž)ÃŒ˜Ps>aè¶|æÛfºvµÒ?fø}n4yñ¯mtU5-Ì×.íÊõ8™[Q±6¤’®‘>—TñÛ››§N>ª8~ùpÓ ±-*‚¢šbyÇÂPRW q\}SÞ@ýTĉ7/F'nø¥Ûfh‰P$Íô|;y¡05Ìõ `ë7סƒÓ‹iIÆ]•7£ruc3•Bšä'qL8eÛ¸»³1Hó`i™j0’$@Zš#HüoR¿3ei¥Â¦Cq­ßw$³ q|My²4Ì4ËΨDÙGÊvËö.?wêäüAKKŒ»˜0mB.Qç*qZŽè«:ý|Hn·æ>7Ò›ï©ÏøÔ¦lfZ¬Jÿ0ODZ˜^Ä6h¢Î(«/ǰ‰JIj¡DÖVTA—&ÜÝó×FO¾ý¤­WÜíu+M=!ت (P  J „,36^ò¢ÏÂX!ÔˆD±ž×Ó[->½ÉI“*×wÉøÃW¢fØ´I^lº€¶bâŒ7Y ¦- X±è¬Þê'{špH~èâÁ[˜ªzþ³ŒR”aÜÕ#÷ ÜÆð€ ˆJ…1TuÕ9-Æœ;6Lª$émº‚§¶ueÈ*hT3™yJÞd¥â©’ä„Òfn«L]ÍO=¾léÂR³+‹õê\%EË¡Î:ã/ø>êèÝzzmò›&Œ}‡É,}‰ÕûMãꩈÂÞH”4?ý]1§™jyGÔP%œ[8ù(kü¶kcÚªU1HSknvä;>m®F€(-2 èáï¡Ï€!ÔxJ_]öÎi9¢·…®¶¶¶¶¶¶®…ãˆVE¾å“3)~à¶]wcssZ¾Äa¤½šD e©ª©° Qfø©Ã!¾ˆÙdà0³—»vÝŽËççÑB9u-ÌEB!*ßpª!íý»v”‰téfóæõë/hVVt÷èS‹ ¡»v­ľ{àD’,¹»}ûÝ&žAÛöîZ?­Sæé}· å Î>•p_²mwøtëÒ3¡[ïW=“,KܵòPgZØÞÝëÆ¶|½kåÁW‚znúF 2â_‰´Ìt?çdË—ÕB!„þS¾á·u:£¾ uu ¾€§ø}É›-ã½¶T½d¹/_çkAºáïCzšªÐ¡E×n†'ï ä Þyz˜•zm%R SQU"„\¡h*]GyY›¨Ðið8—K/<çN©hä&FÞg÷]ݯ}€µ—_·[›®§lÛºæ#Iʶ‰^Û>¼Ò°òš7¤9 @ $¬ðõ¬q«úk!„BˆÊ7ÌEô¯wºÙÈåÖê^ ¶6@ McÍŠ,‡ !˹spó”RBÃÀX…GVžkah5ÕcUüÍÔk®KK,È+^ÊÊóJDÙg–Œ®x-—U³&U14õY6·»&¥ª­¥Êøxõ ³ýäU“Ú)W¾”fD. Mk°B!„êh´y‘† ±4›èhRÇ ¢F)Yš°y]Œî”e!ֆʄàɺiû*Þ–¤ˆÉ¦L@Rø¶4›¨Ò *zfëª+·è»~Õïº4 rÒ XÆÊµúK³‰6U 4em}ƒªßÑðÙ3Žzj!„B¨¶ox½½¡y‘z å"^ |‘LÑ¢‘Œ©ªÆf‚¤èYôé'e"„¹ áÀÑ{饥ÙNîŒ[{X©W&„V'w«üã™_ÎÍLŒ\»pUT– ³„Bèûû¦çh˜©wiÊ®Y~»ª/Ýiáî…(–$4»øyÝÛ°füy†ŽYg7ïÎû¬ÝóËh`[Žè#;»bJWŬ›Ï¿_Ոܪ:]'Ï+úkwØÌý¥¤f‹^ üÚ7xË„B}}IÖóó‘åôñ#ƒ<}þÍ!„ú¿÷MÏÑ4t½HC „þO‰“· àp8ë±Qyu®ÿ4’÷{‡p8œq—JÉþÃ%öŽcÐcÁ—¶P‡4ý '‡Ãáô {Ê'Ȓر§×¢üÕð'¿ÙêÁ©mäi…«Yøt¥›GØKÑ7‹wk†ƒ÷á é'W¤îìp÷³×Úgwô•ɹ ác]mì¦ÆæG©Ú†eEøØO½Qþm"ü!}Ãs4:ºº…ùºzM(ßÍH{g`høízGý¸DÉQg3äON^Íq÷4þ—ßKèê­¸˜™2¿ô²¯ßBMÙG–ì{h¢¥¢;K[Ì6óoúýãôCUãg{ø½I¯ió;Züt7Dd܈Këzn•Mí{u¢z|Ã篻<òøÂ¹HÊyy¹¿vêòízGý°ø/NÏÕÎŽÍ^œŽË”ð:p8vS·¬™àfÓÅÆuÔ§“ø¤âòêde¯c#£O_˨¸l½äÉ‘¥£Üì8k‡AÓ7_ɖȹO,ôq¶áp8ÖŽƒfüy3_ºsøÄ åÜsã݃äÕh—tvíÄŽ]9œžn>swÝ΀èe˜‡Óuü¾}‹¼{[sº9YŸ«ðû÷ÛÝ+N¾—T/©ƒ „OW9s8=&lZ;Ñ͆cã6~CÜ£¨å£œ»q¬F¬¼UÑ€8ëÚ–éCœºr8==&­;ÿ^D€èÅ:W‡ãs,«ÎuýSMKKû#-u @–1Ò}qÌÙq½8]†Kç¿?4eÆ™¼¬#ã†=àÈyI§ƒG»Ùr8Ý]ýVM M?èãtþÌ2ïÞC6'‰?vBŠÒ.¬›àÑ« ‡cm?Ø÷cn­©Rø.fŸ[޵“ç¼Ãÿ”W¼MÑÈò®ošÚߎÃáØ¸M»š'YÑ­mk¥ˆk ¤¨NÝQµGÝ‹©ã—eEŒt›{dÏ<ÏÞݬ½#ÅošÐώñS±1¨âÿØSö™YÓ"²‹/xνÆ%AV˜°Ûß³w7޵ÃÀ)ã3ÅŠÖ§¤Ö† EiÑÁ£Ül9]¼ÿ8›.n¨ëŸÜ7ÌE444{99÷é;€ò_gNW6ûÛõŽúA‘eOOă®ë䩾H>s1íã!›ïà#ƒ~ãFX/¢WMZ}—KÖ_^—,7zÑä°óIê¶>#ÜšßÙ?×ÿ`jуÐÙ›.%«ÛxŽöqÒ˼½wѺÇZCB–vW`÷ Ü:¥mµ yá•e–XÞÊc”­ÆÛ+;fŒÛøäÃÉÙã-YM­»šAѳcË·$RžDÐÿ½âÅŸkb²¥U–×!¡r^ôèh‚RÇ®- ïñáùVÜWýͶµré«3«·$òD¯ÿš6g߉õ˜ãz2[:>$KÁÔ2Ò×16PûŒ{Éò/o¿×nQDlì?õ¸ ;_6±uÓ@}cŸ¿NqØòÒ;«§mÊ´ >9b^ûÄÕÓ6&òIynlx´¶ïÚaæï!-/Œ[±<ÎhÒŽèøØ£Á=Þî^[ó<ðÕ®YÁ7›MÝ{ùð‚v>å‘”]pï„þ­ì»=&.zûp"rùæÚ+µ*/­u« ¨:j`àÏøŠâ—å],²íÜ…½£U.®˜´GyÊ‹wx—¶ŸLSÇÿ±;ºÑÀð-ÃŒ m í¥!Ï^p„uåÂÎñ†——øz+ÊõÉ4«¾!€ä%îú[ðÉøKûÆi\Ù´û¹ ®r?Û´Bè'G–>Û,Ø¿gݪð3Z”¥¤–R]ˆÁ0¸hbKñý°õW +g-äP7†üÊ[,Ò»ïÚ¸*d¹·´]°ëÏÕ«WŽ6àeæðåüg§†ûÒ¥“FM Z9ÜŠb<à’¬Vã÷ÄÄFmpׯ³? t¶þxµH÷Aa/*®!éÍwm¡ª¤ÓÎɱ©¤€W=xyÉí}WÕ†ÏÉ1ÒÐ2w˜<¯·ôZL²@N{-™ìÚÙâÃÝ#MÛà‡öi£¯¦¬ÌVW!øÅüê4¤3犻úÏr³ÔÑ0ìì0Ü”®¨ ƒI“”æä”Êu¬¼Ã£N̵ªu·§4g<Ü_§úógÕVwàŠâ'•ÛÎÑUÖjÕ£» û7?ïŽÚ*º¿Ø[뉋ø2…«ˆŠ,÷Êѧ&c†vÐW×iå:}FÇì3Q©bë³6–ŨI.æl–vk;;cI!_ò9]ÿ|ð‰m¡ïI^tçØ!€,éàÊet—ó÷›qs›€J³–:tP6jkPXÅ•êP—ËZQ¶/-Í(`™4צ€ú¯£ý ²‚[YñakC–KUôÍ´õF(-É( 7ë`ššEC¸ñ.'_Hª0tŒÔire5% eÔ?E$”Z[:*Ê÷ÀšÍjÚ@SÑQVƒ²¶–@gÐhêzª4 èL ÌÏ*€èIvÑUrÞIASხ–³v¯uÐúp #jz¬ŠûV3µÍt*vûD FVšU(LÛëçQñ–LÄcØ”ËV‹:OÕ"hÒôKáç_Z¦fj\²ö“LËrš-MÙÅ,}K}Ö]([/Ú¶äØáC3ÝçóL{=at׉|@BU½´DT·£:ê \aü4%u%`¨²?T"ê]ETdÜœ2–‘¹Vå}ÂÙÆæj¼,®TÁú¬½z™ºÍ´]ÓˆÏíú烹Bè;’ç];þ@ ù «­y±g^NõAò“lqW &/õQ]ÏXƒ¡ \Áå® C €¢Œ”B©*ûhoøéLÓ~ÎË÷Ý/ëxz}?£Ì]^ž;Ӫש™M0´L5òÒžf‰í,Yòò”g¹l=åϼQ¥Ý˜%ƒb&>W1µ#zµ§¾SÒÖSPq_êmÆ$…9¯^fIô¬ êÛyÓ”tŒŒMt¨æ½+ªTèêúZì¶#Žíd@9/=9GÉŒ-Jùp8¬N^¿tÎQƒ ‡ì›²iü»ýBkµ¦i¢VšœÁ'-Y€8?9_¬ ‹¦dÆ…WОñAüŒ»Í÷˜™gY3j¡(BþÞº58ðãÿœU¤`a 5ñ½÷¥2U:ÉÏy_ζPg|N½jÝ`üóºþùà9„Ð÷#ÍŒ;ùŒ„fŽßyðàÁƒî_ 鯄â¸SÏ+/HÛ9yZàŠùçÄpAÇ}tWMPP®`gÎ0qñéÌ€Ôͳ­_6sö¶¨ØTem–D z}h熥ów§$ÐJ îÓóç}ü‚I7ìíg¯ Yû¦Í\µyÃ’)K® ÀÌ{”Õgïö õΓ¹|xR9)£Œ¡aì>Ptépäû7NoúcUØÖëBu%Büf—Ÿ›³Çìèº?×%e‚²rîGeå‚z¿@K"M§‡uöö£²¸Åïnï›3júÁ÷REMR"”1Õ5ÕX„8/áðî;¥B¾¸úp”[ ì«›°>,úu~IÖÃá‡Óeu’òë§L »”Z*ËàÃüÊê KŠŽÖPüŸ€¢UD7pð²Êø+ôÔóüòâä ›Ãö÷¨ÿ‡AâßwýóÁ\!ôÝHÒ.œJ0éíhZ9EMhvêû+Ê®ŸLä’ ÖsJ_æã ñoUÛö]üg@—nPT^øÿš?güÞ’+âÐù÷Mì&„¯ó´ì0n§•NÙÃÈÈÒ~X[@úÝ—¥,‹þƒ;h@Ú™ñYÕ~ñBÓs Ú8¸“ÊëÈý‡¯›9LÜ´u\Û/¹33MÛvæ\ÛŠšÊí(ch8!Ø¿Nûs…÷/¥q»6í¼g9pÑžµ} é@JJ²óвrË¥uÚ¼X=ر‡ßÜSôXt–¡õoÊÑã,¾Ï§é8†V>·`°ãïÞAWô'‡Ïå¨*šŽýÜÉ­®Ïr±u8ç¬ÊÐ)¶Ò£sÖ&V;õ¤ÔÊoC mÆV?Wç!/­gô3ePu¡aàèo´n˜“]oï fSC&¶Qð[hÊ);jHÃñzЦö]ê 'fºÛ;Ýží´bƒoKÅ©Hµ ñï»þé|Ãû®"„Чã? tŸC¸ïŒ^ÖYåÊBÿ7p^!„B s„B5&ïѩբ¢Rž°Ä‘Ãé>åbÕ】§6çÕÏ„Ÿû"…ïbVû¹Ûr¬=çì}TR;HR˜v1lÊ{kN·ß=ýw?,¦Þ­Þ‡3¤ŸŠ,+ÂÇ~êòO®ðÍ"ù÷Mý«ÏùÏ s„Ðχޤ״ù^õ?ÛãÛUÿnÈÒGÇnÉ[wP{rüFÕa\¥Ó’³—ª\8²ÀFŒ›}§‘ _l|¯¥ÿ ‘¡îå{g^ª¥àŸ­Ó‚ï6Ÿ±'öú…bçÎ9™ù5Žéÿ?ËõßÃ\!ô‘¢´ ë&xôêÂáXÛößý˜+ÞíÙ¿ûø;l¢GON·Þ^ó<)UPXEVtkÛÚc)bÜÛ9kˆ£5ÇÆeøâˆç\9e/â÷‡¦Ì8“—udÜРüjÕe… »ý={wãX; œ²1>SL‚,+b¤û☳!ãÓŒ2ª++ÿú±çFƒ´kå2È<õTl}sû²ü++gì(ê²ÆÓ¼žoÑŠÖ5Û×Å'6%/½³zÚ¦L»àñ—#æµO\=mc"ŸçƆGkû® fNñt¿º+j§Á!Wuä¥õ þ¾Æ7iU.݉’e§Èó3êYŠPÕ`þêÀ²²¦Dý'š¶Á'¬µ õ”/e««üb¾ hlÛSœšk`3vþóã$”úR.®Õžä}LDRë©kûXêÒÀvLðJ“7Z@R÷¢U7Yî•£OMÆžÚAŸú®Ógœë¿)*ÕÛHz³Aã][¨2 “cÓ]×xŸ|ƒb4“&)ÈÉ)•·²òr•°•ë]^šw2µå°ÕM pb¹õ@ô[Ÿ)­¨ Rðzÿœ%WÍg°Ñ®woª`ýש#L:0wå«Þ¡ú+>Hâ2(k*WÖ¦«h)IÊEÕÖ¡ÕsÑ*ÏEA>½B ºz+çß›+½×}ªð‡.Ïœ+î:–›¥:>Ã#‡_Q0åš$€e1j’‹9›­íìŒwÝãט‚¡»rÝmÍOºHɧø´¦ä%·÷]U~`$Lj à0y^ï‹Kc’§9aìµd²«9Sš~û—R¶3«S‡ªÏõ™Uыί©¿…ïæëç"¤/ŒÞAŠø.Û.\=¾ßÞÓWÑÿqÿþsKžªÜÇ難ú4iú¥ðÀó/ -S35.IT”3´[*WüÍ2lÓ„¼S&¥*”5Û“–¤—±›™°+‡,S»¾¦2ê^êqsÊXFæZ_ý ¶±¹/‹+¦¶™£2äú$-ËÉᩪ׳/%+Ϫ֋¶-9vøÐL÷ù<ÓžCFOÝG£ž) IÚù“¯ì¨/ IDATËÓÖ ì¹ŽR*ËòÎ&õoÇÌ‹š4$ø@Íf]Ô& YÁ•U3¶º…ònÑÐ…Të_ž5¡FƒòâÛëçìgNØ3³‹F}ƒ'XêJ ä åt JEL3F~Ô„ÕZ³™¶#vŠ˜/¢©(—ÅŽ»|SGUÁ<‹¬,G ÙÒ”]¹Áõ-õYW|`­I‚©ÛL›Q1NZm®è³Wg[SG¢ù1ýú¤¦d¥Y…´½~.kW&â1lÊe«‰….ÅŒˆ¢ÆµÓà?t$i°…ïæëç"’Äx 3”†]uWïWô¿½§ï•Ã;EW"ÄO®²~µ¯ÓÿÙ¦©ËoЬfn[ÒCSѾDiÆÉ€À·cþœûë—=e\ò>böÜ3y5Ê´]W‡»¾Xºðùð­ ;}z³¢×;fmVžæÛ‚õo£"Ko,|¤õÊM#›3%é'æÌ9‘SõžŠ~{‡a‡÷0TüQF¨‘É‹â—Î9j´ó}S67 _hÅÒâ”!iÉ"$¹Iù ©¯Ê (T£ç×l®nÀæ?É BˆR#÷Ü4òòiõº—:èjâ{ïKe6ªt’Ÿó¾œm¡^y4û”Ž4+rÆÐ3½#ŽMhÁ$%‰œ¨:Ò’òÊC”¤0­X @ò2Þ ,¼‚öŒâgÜ=°h¾¿Àì̼öŠZ§œÊù%àÈÚÞ:4ÅÍóÝ}æÅ¤vô=v^÷¨êEðz¿ÿ’ø¦3ÌíQÿ”€‚õO«Ñ ˆÓN/^r£Cà!ïJõ·FSkÖZ£àù{>ÙB“qöó 0r52íû±5qZäÚÃ’!s†¶P²ìE\2ÑÜÛHA¾D×4Q+MÎàWlpq~r¾XAÀÔk² „â¦ð³Wg[SFRGííûéMÑÕõµØmGÛ?È€r^zrŽ’[”B™BUS»qêv>eÈ•5ØÂ÷óõOŽHžß`Zõ{Oßœˆõ©Ë}_ÏPë_òR¯œˆõñ¶Š%Ò š¦ä EÒI–½¸ð˜lnÉ~}á!õ¯ÙêE×îâ3Öõß]MÎh>vý®¿ªì^ïS߉ØïUu sßu»þúë¯];6‡L³•^Þ¼á|6^¥Ž~`¤D(cªkª±q^ÂáÝwJ…|1 rþõ°-—RŠŠÒnýµú8Ïf˜µ6U¡Ví=5ËÜmÙ?[¶\L-á>=¶&,òS™¦¨©@Tý[ÝÀÁË*ã¯ÐSÏóË‹“/llØßÂú,/ù'>æZRY½]»eKvúŨÙܼÄȯ™-1dÐٺʥO.ÝM㉠Þ~‹+ ˬŸ25ìRj©P,€Îø°ÿ­€àåé˜ÂöCœZêëéééééé·tòKYÜ©g5~³*/¼ºzúÖÌž‹—öm"âV*+Ê*¢½šTëÊT…ë¿êýòÄms6 Y·ØA¯Úü…‚Ö”-=\´ì<ø¨PT–½íTÉož]u«T˜ZzÅ—ÿ =ù"¿àÍÅ !×TÝ|»iÔ­)·ØW7a}Xôëü’¬‡‡C§Ëê€eŠ×d}{‘TGµ})Q6EÓéác½=äè£,nñ»Ûû挚~ð½ôs¿oÃ'´ÓпV$_Á78G#l 8л™<+Ťc7¦ €¨8@I‚L’õâ±ã¨)­š˜Z¶7Qªû“p²ôéùçl§Å~ì­K/&ôrÕ§ÈŠݺ/öi®€©ÓÖyìÌ]tè”…²ÒGG÷$ûvþE[EZð âÏ}—^*µ°Ü3ïÄÝÞá´º±ø7î^j—N\U@3³=gB¯: CECCC£ú†©¶Ã•<‹Ü¹7æqOÙ°½ãð ÞÖLgß:¼ãèÕ—y`wî7qª‡æ•«ã ù8»|áú‰Ú•Qi”ÅP@ê²êŠ?]¡†f—þC~^“˜!ò0ú6W!ô¯ÑtìçNŽ[8Ëå³I«ÃFN± Û2g-g(÷w'N뻨P¹…ÝøõKìuhw© 3k·È4÷]U6¦÷¾z ÇñëfudÓª^zŸ`ý›òãð·EéWV§ö]š¿*t¦ûZ®Š gàŠ ¾-YE»8ã\HàǺ[ªü6A¨w X3.hõü~‡ø*ÆÖÞ+—8êÐÀ°ÏœÑW—.©ÜÔz褉6>šk âÒuܢ:mzO ™ØF @nXÕÊ.UßHËŸ¸\fÐý㑦Ûu€• äø#®µ]ÕNIðêLlHãÇU‹TÃ}gôBÖ¹À[ýŽØXV?D½þ{\ÒQåCƒÇO¿åóÞŽ±ÛSQ ã¶=2˜CË j @¹ýÔ­Kz°Ìm}7¯pnR#+ 4læ­¶tù8×påfœ¾«wO·V'@HÝšR+¿ ¥Ë¶ø¹+µ°9£_v$uÀëíR¬É†¾±RÝv“EÝE©"©N±}©Q6EÓq Ë[³fÁà°"R§­óäð¹U¨ïêJEC¢j§¡!÷Ø`öÉ-|Gä×V¶u–4+Eš•bkk+ÚîÏ[áÅ Ä[6¸â?x0oÙ`Þšá%§·ìöêqÜ„4+¥lë¬Ú­È ./å™)•fŸ ð™}&SJ’$I–?\ëë·öRr·àÕÙ ‘~›ž J2OÏö[›È'%YQóFLÙz#­¤,71b¡ÏСKnr¥¹ÑžÞS6^Iç‹J’¢GTTªFüîÈTŸE×Jä5ã’fGͽ꟔Äô[óº ¼äÝõ­S|üO¥‰åEׇOØr-µ°¼$ýþ¾é>ó.æËHá«í“¦îK‘Õ¢¢ €2ÔÈK®/6é@ª˜$IqÚñé> â‹*óÓ¯†ù TÑB?“ò[³†ì~+n¸}:qêá £ï%ÿÖÐÿoø :ÔŒKÊ%„)ûúIcHMÚœ={vo&qqå<ʺ²ü»±ÍÜfÒéÐÍÙühÔõ wo3&Ðè BZ\PPNšYº.ø³§DY @HUøaC’y%6»•Ï¢M5 øuÀˆ—–gW¼C7ü}HOS:´èÚÍðä}AݬZòfËx¯-•/èMœƒÂƵü`aBL’Á 0gK]:èÚquÚ¡«}‡užf¥ÞD[‰ÈTT•!W(u+¨v"…¡*$IÙ6ÑkÛ‡WV^ó†4ÿÜ!ÔiÎËBÇþ&_gÿ#·†þ/|ÃCÀ{˶t^Ó_X #S ™”’`0eͬ¢._+++éf¬Ä¦œ’f߈}ËÏþkƨ½2±DVt5m¯KÅjBà„óçήž&0øÍyÀÐ=Õ˜”…UMq³ËUŒô+/Ægj›h2*ð McÍÊ«ç\.D7¹<Àº2• lí‡y9¯€ÏÔ3Ѩl@¹‰‰ª ¯\FèäÜ9¸ùFJ)¡a`¬ÂSxõ>eŠCUˆÞÔgÙÜîš4–ª¶–*£QNô!„~4 CÇñ_ï÷‰?rkèÿÂ7ÌEV˜r‰&¦'ŽœPWWëçГžü$ ™ù¯g¯\/(,rrršzêîUÊš’ô+W ZY;§›&$÷îú…§/§xY´!s3EÍúL]1dš07ñïð°µ"ãcL ëú™W¶EWÕSᧈÈVJ€¤$«ôãÏõ\r 4–f}MªëEhªºlÉÓ¬2YG:),Èâ+7eó6¯‹Ñ²,ÄÚP™ã€F]‰8ïÃDn®çB™Íöš´ox -BèBŠÒ.¬›àÑ« ‡cm?Ø÷c8•&ìö÷ìÝcí0pÊÆøL±$m¿§ÍˆÙrqÊöŽÏ±,€$u× ßÓ¹R^ÒéàÑn¶NwW¿UgS$)|³ÆÏ­ÇÚÉsÞáÊ?ÿyß¡ïâ›ÌVÒ´õ•zy*õòü#„~^ò¸ËãŒïXa«_ž¸o΂õ±îÔYL–½8àˆÊ” Q7¶ø/ñW?´ÛÖ®Éî«/¹C ÄÏòi@^Uîi(zz3×´÷oŒ{«§mÊ÷=±©¥èáîy‹§m4=9Sy÷¬à›—î í©ñîtÐÌ-^Å…ú~š4ýRxàù…„–©™—úù‘2nNËÈ\«òÙ‘lcs5^—aáÔ‘\u;ù(E«×Ø>o/¬MH}]˜Äî6ÎHp¯P˜¶×Ï%¢âÛ•LÄcØ”–ˆš-MÙ=°ô-õYW¾Ó(BŸs„Ðw#/Š_:ç¨AÐÎCöMÙ4þÝ€~¡T‹Ñ5 ÔÄ÷Þ—ÊlTé$?ç}9ÛBÁ6ú½MÙö —ér«Eæ­›µ(ù+6VDv^ØBUý­»íˆcûÐ@ÎKOÎQ2àïU+MÎà“–,@œŸœ/þΣE}"ËÅÖiàœ³*C§ØJÎY›(¨½ݰïÊPo81ÓÝÞyìöl§|[²h:Ìšõ´TšnÇî@oçÒ^šŽc`Øhås ;þîtErø\ŽªR+¿ ¶[ý\G„¼´žÑÏ”ÙCF5ìëßw!„BèÓá¼B!„æ"!„jL˜‹ „B¨1a.‚B¡Æ„¹B!„æ"!„jL˜‹ „B¨1a.‚B¡Æ„¹B!„æ"!„jL˜‹ „B¨1a.‚B¡Æ„¹B!„æ"!„jL˜‹ „B¨1a.‚B¡Æ„¹B!„æ"¡ïˆw{fwNm.!Ï…Ÿ×Œ 1؉Ãéµè¿f¹äýÞ!gÜ¥RòZáÆ¯G—á‹>.‘HÓzr8­oċʲŽùp8çÕÏ„Šk5¤œ!m¸‚,+ÂÇ~êò†ãh|§+Ý<Â^Š>µ¼¡FþÝØÜ.ŸígÚ?Fc€úÒèìÜÓˆYù‚®ÛQ§1wEz]\ºêÓ9/¾ŽÝ8[n¹Êæ‹jÙiÕ÷íŽ,}tì–¼uµ'ÇoüÞ_¿ þp»üp­#„¾;ZÛ‘‹–U œábÌÑË07§ëø}ûy÷¶æts³.>W rî“ }œm8޵ã ÞÌ—U6#+º³e‚{.6®£‚N'ñëL…ˆ³®m™>Ä©+‡ÓÓcÒºóïE”“%ìŽc/[¶|펈½“ÍÊßN7<êZ¢ë\9ŽÏ±,Yí ò¢»G﫜?×Ëðå‰+9Þ'…ïbÖø¹õàX;yÎ;üO¹\aa5¼Û³÷=ðwØDžœn½½æxRZ±)J‹åfËéâàýÇÙt±â%«Èò®ošÚߎÃáØ¸M»š'qòÖA.KVL:‰Swv^tŸOÙ”‚öe… »ý={wãX; œ²1>SL‚4ý GÐù3˼{uéÚ{Ò™¼¬#ã†UŸØ’¼?4eFµrŠF/L1v9/étðh7[§»«ßª³©Šõv¡)J»°n‚G¯.޵ý`ÿݹrÜÛ9kˆ£5ÇÆeøâˆçÜÊü…ñüGa.‚úîä/®úãƒà-q9U' d·Dd5µîjEÏŽ-ߒȇò¡³7]JV·ñí㤗y{ï¢u •sßÂûcåú8˜—½8·jÒê»Ü»vÑ뿦ÍÙwGb=fƸžÌGÇ–ŽIà*ÜùËù¹/ï?-u}uzeaÖža6'bºz¬Kú„ZSËH_ÇØ@AÔ^2ÿú±çFƒ´kå2È<õTlå9á«]³‚o6›º7öòáí|Ê#ÖÂûçσâ¡£âN÷ÊÛ9{å9ÉKÜÿô·à“ñ—öÓ¸²i÷s¢%«”Ý ü[Ùw{L\ôöáDäò͉ü:}ÕßiÝBInôâ€#ä °¨+vŽ7¼¼ÄÿÐ[1Èscãµ}7ŽÙ6Pߨç¯AöÇÖ™f#¶nª*—)h„ra »¼ôÎêi›2í‚OÄ_Ž˜×>qõ´‰uVÛ…r°²Â¸ËãŒ&툎=Üãíîõ±yrYVäü¹kúm?{d©]öVÿ kð ãù¯Â\!ôýqÅFuþYµ£c›û÷¬[¾qFK€²”ÔR)hõš6ièºÏž[±ø9ù¾O6¿}능!»Â=´{ð~õ«DøÏO ÷¥K'š´r¸!Åx@‘Œð/O±ãp¬íÜýÖÞâ†ã$fUgÌl]ÝÝÝÝÝÝÝÛ©|B-V«ñ{bb£6¸×žé—fÅLm9¬OSÃÄiˆefdô[1“Μ+îê?ËÍRGð³OÀpSº‚ÂÚhlÛSœškkšÚŒ?Dõö‘„R€e1j’‹9›¥ÝÚÎÎXRÈ—)\²ª“&)ÍÉ)•ëXy‡G˜k¥¬x³Q4EQx')þèS“±C;è«ë´r>£cö™¨T1€œ0öZ2Ùµ³…«vªV‡,÷ u# Õ»¤äö¾«jÃçäih™;Lž×[z-&¹Ö¥( ¶‹‚ÁjØŸ8´°O}5ee¶º Á/æ ßÇD$µž:£¥®Ž¹í˜à•3ì´€üâxþ³ðz„ÐwGëº!þÏžj5Ê*vÊ #u€\YM HI¨è(gŇ­ Y.UÑ7ÓT¯ÂjneÄ•æM ª¸ “+kùá=R˜ŸUѓ좫*ä¼+’‚&jÒëâÒUŸ4%í¦¸vСAå—c§©K§´b€<÷Tjü‹Wõ×RL’vþäëò´5{®#€”ŠÄ²¼³ÉcýÛÉÊrš-MÙ‡f–¾¥>ë PÖÆÐna¨\¹„a›&äíœ2“`ê6Óf4QÏ’ ýa߯j½hÛ’c‡ÍtŸÏ3í9dô„Ñ}4X5»"«2EЦ¤u 333ËXFæZÁ66Wãeq¥«‰…níµ¯€Œ›CÝKA…:c—•f Óöú¹DTl™ˆÇ°)¯yîLÑvQ¢l9)ͽxþE!¡ej¦Æ% iIz»™ »¢–©]_S•|Y<ÿ]˜‹ „~d¢W{–ï»_Ö-ðôú~F™»¼´sÃÒù»ÓÈçÒvNž¸ráÄÙQÅ ÓoLWÍj{v(ºt8òÆý§7ý±*lëu¡ºÒ§ ¿ŒøÍ.?7gÙÑyÕÇ#xy:¦°ý§–úzzzzzzú-‡üRwêY¹r«}uÖ‡E¿Î/Ézx8ôpºŒÊÂÚäüëa[.¥¥ÝúkõqžÍ0kmC«»¤Vµ%ˬŸ25ìRj©P,€Î ÐٺʥO.ÝM㉠Þ~ëÃå˜Rvoãèe•ñWè©çùåÅÉ6‡?6ìïaQg>C*QN T”Ó þM#@Óéác½=äè£,nñ»Ûû挚~ð½´úJR¼](ÛUS*”1Õ5ÕX„8/áðî;¥B¾˜aî6ÈìŸ-[.¦–ð Ÿ[ùŽ©Ly`m8žÿ2ÌEBß_õëE¢£#/%ñå"ÊíÆ-ð´Ò){™@ÚkKH¿û²âVûþ]w¢.'³Ûy,ÝæÏQ«¾c'Ø¿Nûs…÷/¥q»6í¼g9pÑžµ} )®¼øšHIIv^QVn¹´Ú%åÏN\.³Ø]·jKÓí:ÀJpýø#.«•߆@ÛŒ­~®Î#B^ZÏègÊP¢*¬Eɸ¿;ytZ_ç!K¯6¿~‰½ÂsDõ.I3p ô·NZ7ÌÉ®·wÐ ³©!Û(ݰϜÑÍn.äÐgÜ©×Äìzšª[È4ì»2ÔNÌt·w»=ÛiÅß–5³–¡õoÊÑã,¾ÏWTNÿâFªÆ¦ã6ZùÜ‚ÁŽ¿{]ÑŸ>—£Zíýú¶ I1.]=û¹“[]Ÿåbë4pÎY•¡Sl¥Gç¬ýÇÀ;tUïœíczÛõ™yN{üºYÌu4ÏA’x/BýLx·g÷Û`µçˆŸyCW_|ú’_ÖéWlÿ‡òÿ:®΋ „B¨1a.‚B¡Æ„çhB!Ô˜p^!„B s„B5&ÌEB!Ô˜0A!„PcÂ\!„B s„B5&ÌEBß ÿa #ÇûHfå#DÊïÌ·ãØÌºÆ­¸³€<÷ô¨.vóï”SÔäÝžíèu MZ»\œ}}Ç<מÇÚ¾ïèÀ÷ ñɧýl0A}7*­œ¬”ÞßxQ‘|Þ\zÌñ“‹/+ž'RþúF £SëOF‡èõ®isOÉû¾tíjÌžEö%ûgK“|›èBßæ"¡ï†Pk×»µüõTˆÞÆ? ;Mtd>º˜$aÚ '+MBÎK:<ÚÍ–Ãéîê·êlª bÞD’{uý8÷kÇ!þ%É@^úò^¦žëØ!]ši«ªéµ°¹(ÀY;;G@E#Òôƒ>AçÏ,óv´s¶ëÒ7ì…dYÇGÚ ÙóVÒ@­ÞC6'‰må!ôÿ s„Ð÷CÓîèhÎK¼—)qæÍÛ«þî:Jâߊ@š÷èa‰©ÝozDéÕÓ6eÚŸˆ¿1¯}âêiù$€0íXáógtܩޅ{–Å€VÇV…Ç—.Ùú÷½ä‘膮as¬5+hDž­íº{㬎¥W/¿€,÷FÔ»æƒ]š1¨µ6d>* ¡os„ÐwÄ0°îiçi‘8ïΕbK—¶†íú´/¿y-]Ä}u+S»kwczÉí}WÕ†ÏÉ1ÒÐ2w˜<¯·ôZL²€®êè?ÙÁ\K³©ÍØC5îK(a´ðÝujãp‹’ë;æzöêéê3síñÄ"€\Q#rÂØkÉd×έZÛ lWù½d9×¢ÒU!³ÀIDAT[ u4¢7XËBE4öDèÿ£±@ý§°šÚvQ?~íÅ;âR¶ù +MšÆ¯}, ÷ÝJ픜¬ÔqL eY^V¡0m¯ŸKDÅW%™ˆÇ°)—0t- ”*R–a}Úí‚r‰H º œh=p"⢗ñ[ÖN˜Xräðº‚FV ]&Ðtºl²óJÆ•»ç²ñµkBYiCµBßæ"¡ïJű}Ù¹Hî{cçßti@Óþ­Oó5GÏD $mf´f]]_‹Ývıýƒ h ç¥'ç(™±“OH SrD¤‹ç¾. ti÷¸¬Ôßrza‚¥Ó®ÏØÉ‰Qãî&•³¦lD”V‘Ïд­¶_³ëÒ}ÖµüN“ºjÓ€ºëêµBßž£A}_ªm{·*½~ü¹¶}7}:Ðt»8§ž>Ÿmæø‹&4>ÖÙÛCŽ>Êâ¿»½oΨéßK 9ïꆭñ©EEi7w­:!timüË ž’3 ÿØýEZ^a^ú?—÷lŒáuèÓACa#Õдº ú%÷HèBkÏΚ€â®Bß΋ „¾/šf‡Þð¨ÄÖÖ¤â´ð»S³ É`×Y4ÇÀ°¼5k +"uÚ:OŸËQ…; Öa†—ìàÔ¾ó‹U-§…Ïí¦A£Ù.ݳbç¦#á³v¤‰Y¦¿8LÚ<}ˆ)€²‘Œšhqu”Ì{åÜA­²äj!„¾:‚$ÉÆŽ!„Bÿ]xŽ!„B s„B5&ÌEB!Ô˜0A!„PcÂ\!„B s„B5&ÌEB!Ô˜0A!„PcÂ\!„B s„B5&ÌEB!Ô˜0A!„PcÂ\!„B s„B5&ÌEB!Ô˜0A!„PcÂ\!ô Èå%å’2Yc‡ú`.‚úŠÈ’¬¼M'žº„=¼=qÀ†û¦J‰/ÿöæS§ÐûNë_ž/#?·3iQö˜ÐûNEÜ3ü¡÷jþs=SZúÅíKÊVm¾ï´åí3ÉW R”›æzßi_n¶@X<«F´‡H9ž!•×Û‚8ûúŽy>®=9޵}ßÑî*N¥é½gÞæ}NˆÂ§+Ý<Â^ÖÙÚŠÊ?«‘/óu[«—$u×`Ç€»ü/­/ç&„uµ±›_*ùw+ÿßFÒBèÿ†<ãIÊôK%\PQÖ Iàæí=S|£këP[uu¢N )ÿü?"²ül²Ø¹“ýsú£)³í­ôŠt”˜_'~Öom4t?DÀ6b1á+ìοvÕ1;µÑlBÈrs¹OòŠvœ¦ã,º«(XVôz×´¹7Ÿ¹ò°k;YîÓsáKg0Žìôiö û/¢7é5m~G Ö—Ö—d܈Këzn•†,½Q#i 8/‚ú:DyÙK*µ&kÆü²o¸é/•_vÈä{oÂS$uç=9ùqeÀ6Õ6xý¤8§â{=){õ(uÊö‡N¡÷ûlý'è.·XN](ò¯>+8—,’@YVβ}ÃO¾˜{èà}§Ð—qüÊéç£ÙçžZßeëË-Ib)å”5Fº4ŸïZùozG•Z;s~~Á¦cO„ÝwÚødâßY \€”>¿Ÿ2aë§Ðû¿oy¶ðFI¡D°ÿ«8€°`ÖŽ·‰eƒ¬'ÊàÀT÷qn>ß½e˜oÛ1:¢²„9€üu|¢Sèý DÕg=ä¥/ïe깎Ò¥™¶ªš^ ›‘‹œµ³s$ÈyI§ƒG»Ùr8Ý]ýVMÔØT”ïJ îíœ5ÄÑšcã2|qÄs®\òþДgò²ŽŒô ZèµËe… »ý={wãX; œ²1>S\½¯š KÓúx?³Ì»÷°˜ðA.KV4,NÝ9ØyÑ}~‘V×@ŠÒ.¬›àÑ« ‡cm?Ø÷c®@–w}ÓÔþvÇÆmBØÕ<u¡¬èÖ¶µÇRÄ É¹¾q’‡]—nΣ‚GLt["ÍŠé¾8ælÈ8^œ.ÂΥ‹«u-Ë>3kZDvñ¥Ï¹×¸Õ⢊¹nœâ#­ŠDFÝ)ExŸ='ùµa.‚ú*¤ 7s*¿Î ø¯Jå*†F«‡™v¨üÒ-»z£ ½öÙ?‰E%Àìmk:Ì  ?¾˜aVúâøÂ$––—‘½¦ðÆÍ¤U/Å|ªÂÇZ^Ñšé×  ]k­&Ù{skö”‘qºT¹³™2ðËÏ\Ìx.¡{ðâÛóoCο ‰Í~^s^_Î+^{ôíß鲿 nA÷&sáÑôçb१-¹VôVYk@W;UQ½”-Œþæ]˜L­¹CM,ëÌ>× ¦þà@ÊósË^”½‰L%=¶R%¢ú<M«ƒc«ÂãK—lýû^rHtC×À°9ÖÈKﬞ¶)Ó.øDüåˆyíWOۘȯ:8Q¾+ÍŠœ?÷oM¿íçc,µËÞê¿!Qb6bë¦úÆ>â°?v̬Q.Ë^p„uåÂÎñ†——øz+V´0Èscãµ}׆x›S|ͯ?òÏë@^·byœÑ¤Ññ±Gƒ{¼Ý½>6O^v'$ðoeßí1qÑÛ‡‘Ë7'ò( «HÒŽ,ºlY–R™c2[E{\ouݦš&BÞ­ü‚«…²ÜrÐ4UÖ  –rY~êc˜\oð ×yÑÜMEU¯Ô-M\´ ¢E÷¶Çº×Y˜ÕÂwשvçÏ]¾¾cîÆyJ-8ÆŒÜQ‡(¹½ïªÚð#9FL‡Éóz_\“ã\ÿMQ©#fµQt>AN{-™ìjÎ'×}“¤Œ|V§Ê_Ô5¡i|ÂZËPOøR¶º Á/æËh &MR“S*oeåå*a+¨ ?dÆâ·Q'Ò¬¦or¶Ð¡A·Ñ3]NMN«—ÞlÐxת hçäØt×5^ý—÷(ŒyøTŠ8A‹º‰: ßÞ¡¯qa.‚úä²¢ê 2ÞþËùà ›êëOý-oÂ]€¬XL|ÌŠßå=(ñ_zKIé9ÿ¤vkÖÆÌli÷ô½Š^,:ÀÖ×ï¢Ù•ª°Z6AIˆf&J,`©tÖ‚ê‡s[Iš@FyÜTÖ ŸØÜªÚÕÒz²´D @˜+±€ 77fAŠ0·\®¤KËIÊÚ|ù”ÉjªÒàÑ…2yýÁ+ÆìÔF³ ÃÔXÛ­­šVÝüªj2‘ º œh=p"⢗ñ[ÖN˜XräðzV¡0m¯ŸKDEr'ñ6åެ²RŠwK Åeìf&ìŠ"–©]_Saƒ˸9e,#s­Š‹r¶±¹/‹+P”‹¬&ºu/h!å c+Wp=nÃ]4iú¥ðÀó/ -S35.I€ªõ¢mKŽ>4Ó}>Ï´çÑF÷Ñ`Q~hFZ’V¦ÚÌèÃÊÑk®Ë¬<Ø3µÍt•]5¸ªÇ,£é×S¡Ú*¯Qa.‚úh cxX5ë¬Ù$xAS:™ûêÝâ»"‚i¤\=yß~Ä•@97þŸ…å…ѹ&FL!ê/ß\½´ìÖ³¬m‰ãÔ­™u »ºT5G¨«Ó$™¹bis†Dø¼ôëÐÔbˆ3²Db 6‹”½ËÐõU!ùîÛˆ4ÇÅ*ØJ)ûöó±·k?möûKƒgªû87ïüi—(òî.p[¡¿åôÂ*K§]Ÿ±“£ÆÝM*g­¯Ån;âØþA4óÒ“s”ÌØ¢ «S¼k$;Éæ?É BˆR#÷Ü4òÑ•]ot 5ñ½÷¥2U:ÉÏy_ζP¯ï8DÐhUŸR^™ëI ÓŠ¥ b3SEƒ]Ë‹â—Î9j´ó}S67 _(ÉËx'°ð Ú3>ˆŸq÷À¢ùþ³3æ¹u çY~èHÝ]žœ# ­” qÁ»¢ª3‚­Þ´áÓbVãRÄYï¬Ñi=á5&¼^!ô50UZ|ر³u—ù˜õPƒÜWo§Ÿ+Ìš±î/Õ~â!--ŠÊÐ6Ù=»K\@—¸€.§<4 ½þ¤<'-#ðÌë§ÞŸNågñe2u-¦8½n!KéãN–0j­ß–€ô›¯ž·ìhRôWþA#¡ßÚ¨ rî%-ŠÍØýzeŠtô½Œé2È“^丒ºìíÝy\”UßÇñ33¬#È" Šwfjš 7"¢âŠ¢-šån™ .=â–©©à’z›™r÷ä’f¾ÒRÄå†^>Zfeîö*wP„†™¹ž?pA–ð úyÿ5\ss~3¼^\_ι–#…ADBe£"/ûÀÙ»wÊŸ+©ÚâͺŸÎE¬>}ÆPtdm‹ð|ûß³ÿçàÙ+·Òn]=s î“øœV¡­j«ët|Ý?eÍ¢-Ç’³î\úñ‹¨!ã6\6ÞÿjK}Wýžá>gV­Ú«ËЧܺpéŽKÖv…Gcn~©…Û5u;G¼tm]ìöÓ©ÙwÎ'¬\þ»gXß’|”Ò‰Fëj—ybÿ‘+9ùiÇ6­9œeBõ·•Wzh¥ Ïdíèä`£2Ü:ºiýO™yzƒéî¯Kƾ»t¿.3Ï`*!4Vj!JÝxŸmã°~õO¬ü×~]æÝ”£VÈxìÛì”ZósÖ¥Ô©”õ½•P…åU%²€*¡iÙÞÛ·0 7ô¦”³ºq»ÒÒî½k7(ÈÕíáQB¹~.õ‚õšºxÝ¿†ÖÉÛµ¥ZdŸO½ÓâùÿËÙ##}ëáëßèL›7ü¸‹SSß&%6Ö.rò‰°rö˜Ý¯ÞËN¦cgÒ/¹xr«â§®UgZä?úx«ÏŸJùæ|Aƒ&^ y½`­nÚÞ§_=ëì«·ã/+¾µTB\¿¤Ï´²ïÑÚÁQäíþåþÅA«j‹/ÈÍ¿­ÏOÍWŠÎʨfÆÍënNZ>!²g÷žãV÷½2f ·•P× žµt¨Ý®wœ“ä1fù¿Z–ö®u£ÈØ!7Ö¼:~—ˈ˜ m´BØxú·µÛ=¼_ô/†©"Û5ž½çÇFŠmã{u¶&¥Ë¼eo=oSÖÎE7kxÓ׳·°ÈòÈ"@&éa<ÓÈ"@&²‰,d"‹™È"@&²€'HIßóNû^Ëÿ0! ºµýýŠèÔwô’½W ßyÞÉù=û.=—_þžÛmîóÁ“Tæy1Æ«"ƒÇÿ˜óð€b¸ï*‰¬_˜ôåªn*Ť¿uzçâ虸7ÿbHÃ’O‰· ÷NïMkSòanþ?˜ ‘ÊÊÁÙÙÅťޛW³ ·F´³9ÿÓżGwQò¯$ÄŒìÛé??ÿ “Öÿže†ó«Ã»Ïø­p~ [; ÛôÏmûþ··’74çW½¦´£ë'½ÒÎÏ¿sÿ±Ÿ$^7(”üÕàžS6ÇM}5¤pĬÇWŒìèç8hV|rA©c.íÖ”~øÓÅ[/„ÆÛ?¯00Øß¯C÷7¢¿:e.£ÔôÇ>ìÖmö½Ú .Å öÝ­ <@xz‘EX³^—´óxž[GgÌiÿ™÷Ñêþlwâ¾-s;^\¿d_©GnkŸ7W¯èïQÿõuÛæøiM7wGOÞ¬„/ý.)aíÏ3&m¼hB˜ný°#{à§»þ=Ô~ï¼Ñqvc¿Ü»÷³HÕþ5ßè ¥•Þ h·F3%ï˜6e§Ó;köìÛ<30eõ¤eÇõ,UÛ¬W;q4á¯\!DÁµñ7›èàÆŸb<ÓX£ ‘áìÜþsïÿäâ?fɈ¦>Nå0w›¿³§›ÐµŽö*ý½©¼nM7“¶œô¶mP+ðè1îý]a+¾ÓE¾*»CÞðsµS;vlïµÎþÈ6.ö¢e¿ÛwézSc9—ì¿àrüW6}wqè ®jðöÜù^9 ¥ôæ%Ö›´Í{¿büpï…¼ÖM“÷ïIk5º]¢žmdY5~omlWWµP©mÝÜ­K<N¥6^Ý¿|Öž³i*go‡,¥ä㔓¦¬wmê5rÖv¡­ßÈ!'9Ë(„PÛ:Úª…*•ZeUKkuo UEÇ*d̸zWÛÐK[˜!l¼{{ !„©bÍk½ØÛÏðñ>Ý»ƒ wZ{Eþ“ɹÈ"$RÛÖ©çåå^öÁØœž83jKÝ9k75ЪõG&÷‰½÷Žb¾A Ò®Ü1>ÚJS»®ƒáçË™¦µ4B(ú—³µËû{WöXÅiëjõ'næ*Â^%D¾nGÜ¡z¯7ù­‚Íkµìó²~qÂAÕ¡¬¶“Ú:ñ<^<ëˆã,šRg²vtr°QnÝ´þ§Ì<½AÑh]í2Oì?r%'?íØ¦5‡ž#jÌÍ7 ¡©Û9â¥këb·ŸN;s>aåòß=Ãú6¶ý»qÊ«H·Ø4êîsfÕª½º }ÚÉ­ —î¸dm§.»y1*‡–}Zg|óu¦x›ÚD<óÈ",™ºNД1MNèÐ¥Ô÷öƒÆ·D->å5´á¡èðΡÃ㌣Zi…ÂÆÓ¿­Ýîáý¢Ñk<{ÏÛÆ÷ ê6lMJ—yËÞz¾Ü+qKë¸éa·vµn» äÆš·CCÇïr3¡¶Œæ¹¥Œ¤rlÝ×W“mß±k‡ªû®€šJ¥(¥Æv@õÑÿ:»ßL«EÛg¾¬-gà)Ǽ1•!‹™È"@&²‰,d"‹™È"<½²’ÆvèØ=ú‡tóý-¦Ûßê2l×móß5{TÞéEa?ù#¿: džr*q7iQìi•OY€§š­wÿ!/ü³$©x1çüµsÁˆ~Á:vê;jñŠ9uß´a Žf™…Èÿ+nhè误ê¯|5>jgjÊÖ1oÌ;¦¯ŽÉ"<Ý4u»MØâXLLbÑ…%óç˜ «“fmNˆÿ2êÅ1ÿu"Ï-dòĦ‡~v<ý–·k‡Ïèß@ÛðµO–„¹×‹øtÓ _muÔGàigåÑuÚÄ—Ž/Y| õ~Q2Žl8èõº¯gm'ŸN#¢‚÷êòÕî!SÆ7NŠ3a«öéaÞÖO¢º'0KãÞuê¤ÄÁKcö·/„˜•’žwuè>Û §%Lù9Ví²MB¨Ý‡¯ÿâ{!^O"‰Ex6¨ÝC¦LN³h_˜Iaåàî¤möÚÆuaj!„9çÚ…›¶ µB.}»2±¶_ýã+¾8Ýöý—´ªê¯¬ÚG–@í IDATxœìÝgXWà3Û€¥÷"MTTD\QQT°#¢±€½÷ÞýblQ»{»¨+‚ T5"R¤÷ζ™ï¨”E–¬ÄóþÈ—;sïž™{æÎ‚¢(@!„j^ f!!„’ š´€B¡Ÿf!!„’ÌBB!$˜… „BH:0 A!„t`‚B!éÀ,!„BÒYB!„¤³„BIf!!„’ÌBB!$˜… „BH:0 A!„t0$,G U%Ád6ÖªB!ÔrIš…A4e3B!ôÓÁ+2!„’ÌBB!$ ÉB(Š¢(Šªø„B¡Mây!& é PˆH’¤€ ¢±§Œ%qO¯_ñð zŸY,¶¦‘qëvÝ›äØU£i§µŠ²OmÛ{-8©Xcä©[ë”Î;»œNi½äö•i† Ó@xvÂØ£‰À¶ÿËsWo¥¦œÔ#L¹½jéÉî׸ٟ¢²?E…>ºæ>ãÐáÝ”šê™ódÛÚÓå,-=5iw ßCúÔ;±â¹Á÷"KzÛ(Jµ=? {ý‰ºs­!%¿AŸ’òÀwÚÉ‹-ëüU“yA®‹–¹Å’•«eÑøi±i±o^xºÝYtlÿtsù–|H@¨ñ‘ÜŒØé\ ¸”i»VJDijll—‚Rª]É3÷œ@¾ŽxST–WªRæ§bܾ@·SÉ‚Ån-Ï–U’&!P@Q@REÑ a~üå¥óNFŠ€f?Ñ @æv=eB¾Fç&Ë{šŠ Õ·¢7¤ˆ¸Á÷"Klz)4[í •&‹™ë9sÈ–H­ ÜW™Ë4m] 'ݰ·¬öËî½\V僒góú¯ ÃyׯÍ1©1Òi/qÉ/”N{n²”«üÉ/H‰¼áºóÊ?Üç7œps¥¹¬ØåȬû›V»Å’ `5eÝŠ)Ú©±h¿(%Âó´ë!¯Øð#Ëöt¸µ¹§ÔǶú‘Ðd”TØéÜRª<36†¯F+ÈãR[MU®A´¤GoˆÞýúÈ1”îzåïúòا¤ñS8,;w]hÊÓ·9À- ‰ŠXôr)â±X4 I I H ¦’ðãÝ6ü)YëÕW/oŸf×AKžI—QÕoßsäÊ£7Õ(üët$÷Û«ù×(a¹€mжòºM½ÇÔe«–M²Rùz¸†¤úz%€éì¥=Y¥A‘%ÍX}sÆíGÚFR;ª…ÆR1ìâ°òàÞ‘jáu#ºL|AA’çßÁ<£™G]—ë Æ¢ÁR2è1qËéctò½Núe“ÍÙx„~|ty]Óvzò”ççq)Ó65ÕkÀ8€äYTJl­\¡gÏÚЮX>=@ÎÛ+ßãÕ³ð’Ýïè3ž2œNÉÙ*óËJÞê­y×nd¿‹,,--g±„,ÁdÑh4‚ ¾q*AGü}ာÍú-Î&25[©Ômî k@Þ“[ÑM•†Thñ§;‚´ŠSrÓƒœ,¥ïJ¥Ýªÿ< ûŠP´?J £¢rEb‹”%†%€ÑpÓš“GùNãÆ¶ bŸ'”7y[jièòZúš_æœ1ÔõuTмšpãÁïWwîäì; –1§O*û}eÞÅÃ^ç³>üSPÊ+Ò"’¢Ä‰PEá—}ŠÔgÛk‰kM¥Ûx§®æZCfaÕC ?3äâÖcì{r8NŸ!—ïu,¨Z€Ì¾7•ÃáÌðξ¹ºmŽS_k§‡½Ó´ßÎeð+Ã}¹¾§ßÒî“…}9œ¾ÿ å “Îãp8ãÎ' ¿®¬4Ökÿ2—A½8No‡i/¼Ì+}·g‡c·éUErÄÿp؉ÃáL¾•Yí̉{Ô‰ÃáL¸’VÑ62óÖd‡3ëQ¾ 'ðØR'gÚ½/'[$7ÑçøúŽ}»s8Û!ãüq90µ\²Û’„iO½ íp[=®Ã:%žÕúCQªÛx‡3ǧ—êwbÝ䡽9޵ýè^{“/jh±Z 7ŠŸöüìÆ™#úvçp86ƒœï¸‘'¬¾œ(ïííýëæO5¨‡Ãé3ÈiÒÊwßæ~.Uì;—c=dK$d]™Ú›Ãqü+†/®®ÆÙ%*Næp8œþÂëÉ}/ìE£! 9¡ç6LsèÃáp¬íœ¦®ÿ»Æ7…ïÛë~h ee€²<®ØÝ––ñHàæ”ˆù;CÇnÖ’¹sgÙiW9¿«7Vbà ëûq8œ!;ÿ©‘ÐðãNüÂápl–úä“ßWØ fE–g'|Ìâþ§07..“ÛÐPò´…PÕRа­Ú~@öë]YÂs ãŒÖÖ„6ÖªTî}.3¶°(&_X-Ë&åh2EÅìçþ*>Êê c ÊkÛ†¯¤™Ûf¨n·aâ’Œòÿ(>€²Í`SñWn¦Öwý©¾Õ>¢¸1—Ï<øŠ,”ç~x~õçƒ6ýý‡“~µ‹ÇdAÐî)[n§[Ë@‡ž’‘öîáá%iG¯þÏZ‰ÆP³d_ö1, ²T,úvÕPíªQ;0dAÈþ™‹®&“ÉËzwÿàüð÷³,ëî‘ëC•¼>4oÛ'ørÁŠÌ Ü;géõO_J–V–›æ~ ÌóáÌ#‡ç[Õ7B˜ZÑš8ôÕeÐhœaàMTñ Ïh®5‡]½(/ñÚ²Í'_VÉ¢¤°Û{Âü^o;¿m˜.£Ážñ%K#O/œ}â€)GççÇßÚü(dãÅ#õ+²hQöã“~}”@È)*Åùi1þ—·ùßuàÚf[U0´{ë/ø¡´­úš«ëµW¤A­^¹±v I¾Xöú£!q`+Z—ñpã„KþùÀÖ6Ða$g¤E=:²äu汫뺞êð}{ÝMXVÀRû=yÃöð6'û掓},°Ñª>í„e8tÚܪ4 VÕà {±=É ðI\Ù¹Ê=K‚”§“d{ŽáT^Zü×U Ô|(^NBLR¡XêFz´ÌÄìr²8%&ŽhßFKNòƒ†äc!@ )R$–“ªlÍþšu~¡"<^œ2)?ÝR Pe¨¶Ò2íÒ±¿±©#È9ñÉ!Õ›mÕ•e:õ!-z]¨¶ÕÚÙÐiâ.yˆòcÞ€~WÚcêVuzíÁW<`šO=àþ,40(ÈçêV'€ü§Û7ÜLªÞA½;úûºÓî/žy»{úø^ZÉ‘Ⱥ}øI À2qÞ°{û\ &›3ûžÝ]LjÞ×Hî[5 @Ça³›OP``°Ï•-ºYÎTôÿJÌéÍnÉFƒl?|æÒŸvj42ûÑöÿ]ÿì®Ó÷¹û‡> ¼j¥½6¢Î®;ZTÏqF˜ê[Ñï¯Ç iöÒŠž{Ô¾uìäK~[—]×}‚ÂBžÝ=º¨‡@ÞãmÛ¼3D /Vª4âÈÚï„ 1pýÅÇAÁ®SÛ3 ØϾ€¼Š¬¹,òÔžGy&ã÷¸„øú†<½¼a:@ž×ißläÌgnÛ½yb[в_¾cÏŽÕCôj%A·KT «X¹Ìš6mÆt{ÝoÞ$Þ¸a— ’¶Bî“KÊ£wÞ |æåîùôé¹%]YY7=Ë©,õ{Ý*Џz7 äÍ:jŠO›eÚMœiA c.,u2aåîsÞ¡ñùñߺA±ªñWììÔ“ éç›ÄÿZHê÷ €m3¦kERø=U´è|µ04&“LµÖíŒ4Ô ÌÚh°€Î`Ð4³Aâ–€`Ȳ&ƒà³tŒuZÏ5й`¦àcKùŽæŸt.82+õÉ¡”'ç’ìL]¿9}ÍŸùk3îWœð§Âð ê=F+¨¨b¯ÈˆJ²K€¥¦!qE„œ¹ž  6ê¯#Kl äi@0•Û:l8±ÍFÈÈ ×ÞWõ,7]ìúëh íÇ®ž¤9 y’½¥O”ñèÄýB Y¬;±i„™2“ Ê¦Ž›Ž¯íü=?{^–üèÃÿ1khÏ.íõéüø›Çý¹ >rϾ…ý Ø4‚¥ÙuâöC‹Ûä{yþÍž_˜êë•­‡õ¯è¢Ú½@ÑsÏ÷µ¯)( Ù{|Õe&A—oe=cÿ™Efüгwùÿ¢˜XdŽïñ[YfKmÝA•IÁÒí³pÇS€ò໑¥Âìׯó”†ÿo¡@Wj7bÉL3Èù$îƒ8¿KÐT­\,Y²hº½Þ·²Æ »dÑ(°_˜¯r];PEM©Ó„5õ ')¿b]ß¹×@ä–!Öqú¯ “Z C–ç}ŠðسxÕ½|Ð1¡3»Ž’ ý±N.´Ñ(Šõ¿~xÓBçA½:/Ú|øz@|qÕŒ®a±ªñ':9Yˤøø§}ÙÉ„éÏ|P´Ó¥" ù®*)vÕ`*´33nÛÞXELÃv¦FmÚUüSr ˜J’$A§ßº~}ÆÔ)ù…y@Ð «ŠjJêZ&:=;ôèjئ~ï^“'žL˼ž§×½šºº‚ ͤH$~ú'%àò€!˸ñeŸ¼*0;±kէдúMµWÈ L«ÖGv;Ä JOÂT3RR$Ù1’Ì{y?€e3upÕ3p†Þ ‰œïyZV›ISªŽ¯ RýŸ¤»L©>êÊjí4ÍŠ_Ç4øÚ ³ûÜJ¦ží€VPàS³?Ô5µgÕ›KdLFͲa¤øg‰\L,ªè­÷кNv0ª2ºÄÐ8g†Óðáe$0ô]N?yüäîo–U» JÈEŠŸJT[óî_5rØ%ІdýÌÂy`µÝVYO¨Ê­÷{ݤðÞlÛ¯uŸÁcæü~=ª@Æbþîäê^’¦l9ó ç³ÛG6ÎÝ×\‹Pâun÷ g;ÇåçßUij¡±ªñ'-œºË$>̬Œ¾0í™w<€r¿Ñ£ „šÁTTWþšs,% •?l«!ÏN¥|>ÿæ~~~£GiÛ¶íw÷ŒŒŒ)S¦ŠDB÷;w­9݆ ¾oÏA$ÆÄ<ŽÍOIž7~ôû÷>t6´oß~"‘HLºN“Sc@ya™¤s,Dqñ%òºêÔ8K•3éi ÞoÓþIåÃ×ë*J­küR)^êëd0´n«Pm9B¡m7=MjȺªPlg^mJyò«Èòs]]ýk‰rH~~^ ur„i~Þ `è`×êËÒ,Ãþý´Îºex}(ëjYå@,×ÁÚ úu'B©Ccüþ67I_F²bu_€ ýí'€¾•Yõè3´ím²ÿòOš¬’JÅ| ²|øð¡]ûöO}|RSR®^½ê4räŠË—-_òÔçÉËðð§OŸž>{ö/WW=½G—pKƒäääüýüžúúÊȈ›øAWÖSH"3>d ú)Öq¸(»wáþ'¡ŠÕØ ½µDÜ<.(jÕº-ˆUS“àòªüVr’³ˆA–攀‚FÍc1]Aó;žL%§"[u}dyA‘¸QÏ}£Ä.P^TNÖ5€%LóõŠH:6®×±ZÎ÷÷þPfÙåk¨¨£T3!¤+j«Ð¸ù%BÉŠ}“°2nÚõݽÅÏ ½zôÔ-ŸˆÔ¯çyrò ¸×µ™w‰Ï;ì’DCâÀ0å˜ßH!¾o¯û¡TjÙw +èw8¡ËÀ ‹sBϬ[qê /úÌá#÷ö6,V5~à@(uqâ°^D{‡åþ2B“Ê|á  9È©]e³º9jWPË"qBRÀ nݾ- mllîÞ¹£¬¬¬¦¦& eddNï Ýbª@¨E‘4 !hEQ&­[:t¨¯½½‰‰ILLLrrrO›^®®® áÚZZNNNçÎó¸{×eüxMMÍÂÂBuuu&“yÏãsçÎ,‹$ÅvÚÌV}lµO\Î|{å~ÒðiÆbFC„éA/2@˪£* €PÒS% 1/.KuªvJ˜—.PÐià ™o¢+ë)deÇf A½êxº '.[‚å……éµ_µU !«®Íথ“À®Ö¥‘üâ¢RMVQ©Žgã~î UGº·¡Æé`Ù›?FÎrÏËó»»Â¢óçÃ]ÞÇ”RÒ¢Ú‰?3*TZ©|Ý¡¢§P”—#½ª ç§xf2Œú µÖ$ny\ôŽ‹ÎÖAþsMdn=+¯YWóî•«nô°ó%ІD•ìÇý={Ý‚(ç•`’‚‚Ë¢AÚòµÿLS22T‚ˆŠ¢¨Æˆ¡ÜÕÉŠüÆëMAç|h€V_/þô›ýt$Ì£Ñh@Rã'OîkoÏ/+›=o^ÿ~ýgÏž½c×îN],GüòË–­[,^ÜJ_ÿ·M›6oÛ6~Ò¤ƒ7®Ÿ½½­íÎÝ»GŒÐñ5ʘ9O3€¸;ï&×¾m…,zuéJ<h j"„¢™µéõ*¿Z^#Ló@´éeTÇ“Gþ }ëö2™þÏ’ªMpäò{!®³”U"á%¼‘䑯²­mL €÷îϪßKü:|à  ½êz*‘0ÍÏ+Ôì¿ í~%gæØ_ r}ï¬r›H”GHnµÕñâ „BûδˆÒ<÷ÿæ©3åòíE5 šw—hš°Kú+¹³×ý‡ìvS]Ö=±cÏåWùÉQ¡ÉQ¡_ÿ¨n5qÕ†…ƒ¾¤ +šj÷‘–´ðW$˜ÿÒ¿ö‹~òÍ~2D¯—«‰JøK ªdÔwˆ$¹éQ/Ã"³ ¸”œ²–QÇnœŽúu½,˜,ˈ |“]FSÒmÇéÝÝTM²îñ_¡Ÿþ ›XªÔ¶ç€>fr ÇÇŸN1ßè}nä×{{ȲÔ×/B£³ùl½Ž½ûw7úæÃÄäņ½x“^ÊÐ0lÛ¡k·öš7±R”ê6iäþºSÝn-5á~ò ‰É,gi´±²íÝQëë´N ‹IZiQBøów©¥,M#SsKKS_ˆ,Š Žˆù”K*YØØZê³i *ˆzâ”JèZb¥N’›üÐ/2‡RiÝc¨}{ñOkjÞ]BR ЧdÑ ° Д{]‹@–¥G…†G'gåsiÊ:­ôõÚ´o«Ã·—5C¬~úÍ~g!Éžt.I•Ì Kh(A’ûNWßÂV£×­è_岬(íÆ §]QZ/¸¯4—ü8ÒUµ;4«{€@ÂbHBO„ªEâ;u[bêЈJ*ù¡þå±²í ×3aÓ@˜|rÃ(GǺ†äB!T|ö¯d•¾ë6|ûÛ“›ýeÔN_ž›û)O@k7ó÷i¦xn‹B5f!’¢kÙvM·çù³×ýþIŒ~Ë–Jëî¶fŒ·5”Ã˵!„PƒI:/!„B¨qáóoB!$˜… „BH:0 A!„t`‚B!éÀ,!„BÒYB!„¤³„BIf!!„’ÌBB!$˜… „BH:0 A!„t`‚B!éÀ,!„BÒYB!„¤³„BIf!!„’ÌBB!$˜… „BH:iiiÒnB!„~FEQÒnB!„~FxE!„BÒYB!„¤³„BIf!!„’ÌBB!$˜… „BH:0 A!„t`‚B!éÀ ¶yO IDAT,!„BÒYB!„¤³„BIf!!„’ÌBB!$˜… „BH:0 A!„t`‚B!éÀ,!„BÒYB!„¤³„BIG“d!üøó œW{eЏdù»ƒÓg‰æ5E»j¡ÊãïìZ1ÃÙy¶àî+œ7SÍR5B!ôÓû¹ÇB„Ùa>á©¥š¦l-#íÆ „B?FSWÀ?¿ì^&º¨=÷Jâ*šž½rju:UúñþÙ3wCâòùLe#«¡Sf;ª>Zûûs.<Û¼~?2öøÔi—Ÿ 4yÝ.ƒ§Íw¶’ÿTÇÚ€,޹îœgX\.O^×bह.Öš AvØ“n>‘©Å ÍŽöãçLê£Ç">·L|cÕª[™ísæŠñ&Î×FS%15ª6ý¸wážpFŸMG—v’ezÿoɹOz.öŽVK}ævîö‹÷% 5ã.'LÙUƒYù­;Θ¡÷â^|×uÛÆ4y¤B¡¦™ÆBDÑnÞY:õ 0öþq·÷åÀûpiç¹€x¹nNãFöÒÌ ¹¶ë`0kàÊù]dd»-Ø8A'öÜ®KAÉò–CG áîz6’[×ÚD¹þ®[Ï$²­†è«_ôæîÞÝ)¥ 7·ï¹óFØiÔä1fÔýC›ÏüSúõz Cgðš•vªÐvÆöå=•¿†‚Y»jšù KY(ý'0‰TÑû $}»^Z%!G7}øŽkÔäp+…”Ðë;6]Š)ûü­ß]8ó,“©ªÄ$!„B54×zëÙn¬Ae¶]·ä|RrJ1i\’W0Õ: gÕ#5Ÿ¦+¯¬£­H )èè©Êdp&Î2Wíh¡SöÉ/(¥4'G)Š]›@-ØãL]»ÄQ›VjÝêò“,ȉ¼÷0úÍŸïÒQNЙ³ÎÃÿ^ääÎ=+r‚©¬£«Â ±µôµå ¾´•¥ÚUóÙ=Z±C#BÓx­rã)0´ë¡‘t „ š£~[?±5“Ñž¿h_¸ßƒ¸ñ Ø >hó¾ælÌAB!1š) ¡«hÊÓ(›”ˆ¢ä-f.{éªwЭA·äŒûMšoY¥»&d”d²BΟ9s\$£®§Tþ͵ K2Š˜ZúJto7jn;  6ràÙïÓž}Y2'µHŠõ|é:ªf› ì&öòS§ô0²³Ö„âŒbº^;m&l3 OÍÎçSlz«.Ƙ‚ „BuÖl²89L/?¼P>+*Ì÷æ…‡ÏNŸíÔý7Ïø îÇïD–vYðךþš™7W­º‘^÷Úèò …YÉ"K9ZIÔí‹O²´m-Uddû-]3LAñrâ³*Õèõ¶­®ªåÚ°V ðõ÷ôæ–Bk—ît:¡£—“%èf̤¸ÉräÔU>O>¡Ó0A!„ê"­,„*yç¶çb¢œißAV:da¹@^[M†Æ`ÑŠ?øûGuå‘üxI¥/¤PuÝDK×îíÐáú©èK;]s9²±OžÅòL§›âh¯z?ÐÓGËF#/ÄÃ'–´XÐspýy%ˆ¯Z¶}eß'ÁoÚŒï¦NºFÏÑݯ»óÇŽ’þÆe¯†ó@ï—‘frÚh‘B!„þ«¤u§.]wØšÕ£ºidÝ»vÝ3¼Ô¨Ï´õ3;±YvƒÛ)@ºÏ½¥‘³‡š*—¾{úôÊÚÁ„ÈxW×Ã<èZö+7LêeTáí៦ÖmܺÕCuÚMܰt˜iIðÍK7žç˜³mUú‡B@¦íØ:ª–1¶ë¥ `:ÐJ4Õž‹~_0¨ƒlÂÓ»žaEzÖÎë7Ž5Á›~B! T !„BMèç~jB!„¤³„BIf!!„’ÌBB!$˜… „BH:ðk!)$ž0öh"°íÿòÜÕ[IÚOù#³ïM¶5J{ò%÷åíYMP(íÊd§}±ÐiËóŽêbNKüØ­ £ æ^¿6ׄÅïúËäK™õ®–a³ûˆÉ¾y•üËç`où²ˆ-ÃçxÕú3SÕÐÔ¬“혙“ìêî3?+Üãò'±‰‰IÙ\¦Šž‘QëvÖC]Æî ,Á#ÌBBÒ"H}êXñ¿Üà{‘%½m¥Úž!QwN£5¤ä7ò“¢B’¢BøN;yb±¥b‰™äºh™[,Y¹Z_[ûæ…§ÛEÇöO7——vN‰ZÌBBR!Hõ­HBè"nð½È›^ RnÓ†Õ~Ù½—˪|Pòl^ÿUá`8ïúµ9&Ìê…í%.ù…²ÓiÏM–r•ÿ"ù)Ñ7\w^ù‡ûáü†Sn®4—»™uÓj·X¬¦¬[1e@;5â¥Dxžv=ä~dÙž·6÷”úØj š* áñxÉÉÉ¥¥¥B¡°‰ª@5ƒ¡¤¤ÔªU+«).Dˆ#HõõJÓÙKÕ/. òˆ,éÕÓ顱T »8¬<¨Á³ðn^†×蛻ʉ)(Hòü;˜`4ó¨ë‚Ï/ 'XJ=&n9m®4~ö•t¯“~ ­´pâ!ªW“d!ååå111êêêt:^ DHúä¿ñWŠ¢x<Þû÷ïÍÍÍŒæ"¤UŒ„˜Žp¤ñöPphi Ç»Òž=¾ÕJÔ EËñ£ôîžM+ŒŠÊuÕs/K K£á¦5'òÆm}åPBìó„r'-v³4µhMr¸INNÖÒÒRVVf0ƒrýè‚ÈÎÎÎÍÍMMM522jú …iO½ íp[= Ùa‰Ð7%žïJ{XICD©n“FîÿØu—Ïáöçžvþ>‡GS2ì6Ðeþ‚±]T«u¢¼·wÏ]~ô*&..%_ «ªgÔÙÎyúÔáêÕŽq?íÅ¥cgÝŸý“Î¥Xª&VöcfÍÓU­æ䄺¹¹î÷.«œ¦¨×¾×/ –Nê©Ãªz4#¹‰¾N^ò|™Á¥äÔ[wê;jÊô1½ZɶôCCYG Êò¸"€ÚY%,ã‘ÀÍ)Ô¼ÚÃб›µ„—DhWY²ÞX‘™·¦ßñ¾ËŸ[EŸÞºób`šé¦ó‚§/}Tª>öï»ÿë\õÚ?î„‹Ë©d–Í./ת´ï¨âþßNš8`#]M’…ëêê²X,:ŽYB?’À7®^»v]MMM]]½9Z#L­HBLúê2h4ΰð&ªø…g4ךSãü™—xmÙæ“/Ë+þE%…ÝÞæ÷zÛùmÃt+_¢ìÇ'ýú(€ST ŠóÓbü/oó¿ÿêÀµÍ¶•ÝP¥‘§Î>ñNÀ”£óóãƒoí ~²ñâΑúU®D 3nœpÉ?ØÚ:ŒäŒ´¨GG–¼ÎP Ðɱûѓܟĕ«Ü³$Hyú0@¶çŽ íûª@Ò×$?Š¢0A¨ÅÉËËÍP‘0Õ·" Þ_@Óì9¤-=÷ˆæÖ,uìäK~[—]×}‚ÂBžÝ=º¨‡@ÞãmÛ¼3D%Ê"Oíy”`2~{@h€¯_`ÈÓË©äyöÍ®¼ƒ*8²öÄ;!h \ñqP`@p ‡ëÔö (öß³/ ¬Reî“KÊ£wÞ |æåîùôé¹%]YY7=Ë©,Ef?Úþ¿ëŸ€Ýuú>wÿÐÀç!÷O­´×AÔÙuB‹ZrïFE\½›òf5ÅŸ¦Ê´›8Ó‚@Æ\Xê0dÂÊÝç¼Cãóâ¿uƒbsz³[²Ñ ÛŸ¹ô§šbg§žl€L?ß$þ×B‚T¿Il›1]+’Âï©¢Eç‹ÿ Mµ ‚À!$Ž0Õ×+Zë¯Ç`h÷lEÏ=ß×JC@iÈÞ㫘(3 º|+ëûÏ,2à‡ž½“Èf¿~ 4ü í äºR»Kfš@Χ¼ŠÑ2Ç÷ø­,³¥Ç¶Žî Ê$€`éöY¸c‰)@yðÝÈÒjUš¯r];PEM©Ó„5õ ')¿b]üø›Çý¹ >rϾ…ý Ø4‚¥ÙuâöC‹Ûä{y.ª'‘[†XsÄé¿2Lj) Yž÷)ÂcÏâU÷ò@{Ä„ÎuMë`è=pr¡@Q¬ÿõÛ:ê5ÐyÑæÃ×â‹«ft ‹/K~ôá¿ÿ˜5´g—öúŠtB¡““µ@ŠÚ—ìX˜þìÁ'EÛ1]*’甆‘b‡þ=LBÍësb4ÌN¯òd›©g; xÆÔLCtGMí©RåH%c2j– Å78K }—ÓO?¹û›eÕN“ò„@‘@½õ~#Z×ÉFU®½0tΙá4|xgAÕ®ÓÂy ^•a†²ž2P•™ ÕÿI €±Ë”êcý¬ÖNÓ¬hqñeÿ",RPxo¶í× ÈºÏà1s~¿U c1÷‚Nâî©DS¶œyÐóÙí#çîk®Å(Œñ:·{…³ãòóo‹*âÙÐXµ™T­ ¡háÔ] ñq`feô…iϼã”ûî¬ÐU iÃç… „š•0ÍÏ; ìZ}™QÀ2ìßOë¬[VA€×‡²®–Uú?¹ÖÕï&”:ô1†ÀéoÓx“ôÙ@“UR©˜»H–ç§'%&|Œ~ä÷ð~|•eéo?‰ô­Ìªw@ mûE›ìk´P­­¡BµRÕ‡uË“_¥@–ŸëúèêS"D¹ $??¯Œ…outíþçyq¬NÝÏNýÆ¢M‹©fÔÁjèì•ÓkÎö‡&oØcäœ#瀨$%28À÷‘·×Óè|Èz~hö"êê™é&¬ÆJ±¹FµN‰Pì2²»Œ@ìƒìñú:4e<÷ŽPð‹yeÒù½U )íjNÂ4_¯x€¤cãz«õç|ïe–]¾¦!Š:J5‡ÍéŠÚ*4n~Iå\[~VèÕ£§nùD¤~=ë•“øz™EXšS ÚŠó˜rÌo¤dyA‘¸QÏ}£Ä–(/*'[Ä@sõ§–}º‚~—º œ°8'ô̺§Þð¢Ï~1ro?aÃb%§"[#l„R'+àE´wXî/#4©Ì^±šƒœÚU6»¡›£vHº0 A5£/I!Ë–«ÞåÜròü¼cWv±ørc¦°\Xkh€HƒA€(ëÑæ ë°Mz9öæt17kkjÖ†´ÐaKäç%“¤@$É8Ã7ç´t&dí<ÚÝã'| † éÎ.×§ù:#Ö®¤]3AdhXÏÙ±î¥ãÖˆ²·Ï“øý +‚F«zB¹ëHëE`¤÷«‚áy/v°:@ºÛŽ ÿ”|î•„iŽ{ä¨÷²5”üý94õÞ.½XчwÜIä}®€, =±ï ãH›ÿöã8Ù“FéÂw®=œUýX,Ì >¼îd€¬Í[MZãÄŠ¦ÂÙ•eþ®G#LF6¬: õgß-^ º"C'¼xáq#®Ü¡ik¢©vŸ8«}ŽJ! |NB´9šŠ}Y«œ™£úí[¹Ù¾ã–¶W®øE~[ÇOöuì×I­ôCÐCŸw…,«ÅËl” kçÐCî™ÒÉhóœ,4„™Â\¾’Ãf³ïÜ•±ç´Qbwž»nÐãµß˜1áµÓÐm‹Þ?¾îÍV÷yÓêxy¬x45»ÕK,]ö½Úá<>`¬ccVÁûg·î½.0šºf¸î|ü_¶ÃÜ=Kþ™qèMÔß‹n˜whkb¬§De¥¼ Ž-ù>«× РA#ÅŠ¦Âq²¤……s…f£´ªÞoý웣¥ûQ²Q–÷o›£lO½^¦’z½'϶N¿váqT6Õªïì_ç÷Õb€ ÷]ø»tR‰ b)$XU–èsîÔ­ÀØ\‘ªYÿ ó§õÓ—^êó‹ÇÝübòe ºíYJYøêêÙÓ¬:)d_]½=kîÁ¥eÉ7ÖlM}h‰ÖÓú*BèÇuîÜùyóæUýäĉÓ§Ok†ª+“!meÄ—5n§~ëfn–σøù. ë¼{÷èö»·ã*K©öX¸wÇXƒŠbšZÿ_ÿŸ½þjôÓ㛟V1½õÈxîŸãw¾Iº½}Iº†Ï¡> 4u»Í§70Vÿq?)äÞß!•ëÒ³_±ý·Qz üÕ2 ]œl\wðyòóëÇžW~ªe3gÃÆYj¾áí¿‡`·›zè²î‰{.¿ÊOŽ MŽ ýúGu«‰«6,ô%UhŒXÑT»´¤…¿"Áü—þºµ6ÖO¾9Z8‚¢ÿÖôððp &³þûÍ¿eyÿoñyÒiÃÆqÆ9vn¼üÑpÜï¿9é$»oû# ë®“[W®¬,bǼSú¿ÿ5¥5³k0.8´ò¯|‡5 òßÝÚÿWH‡ û§ÈÜ^ýÛ‹öó×MæÈ§>>²ÃíÖÔCZþºñã´ÃkÌëÈB$k*B?ªï‘©šˆ|IA\]ÿ€tëÖMzͬ¢òmvºSÝn-5á~ò ‰É,gi´±²íÝQK¦F×BŇGÄ|Ê%•,ll-õÙ4D=ñ J%t-‡ ±Rÿ|B,*Jò.µ”¥idjniiªÁú×Ý” /6ìÅ˘ôR††aÛ]»µ×ü÷ëj‘Ȳô¨Ððèä¬|.MY§•¾¾Q›ömuØâ®€4C¬~úÍÑ2ýHçí2m;©ÈòV]´nÉŒÖ^IL»wRõ-,—prÑ·Ö@½¾ÆvÜ1¢£&ÀÚefÏý?ö žYÌšÚ×H‘åá3}Ö…Ö_Mc4!é©H;æÍ›×l£ ß‹¡bf;Ê̶î4%“ƒMzTûŒ®b>d’yÍ’t¥ÖÖ­­¥YL5S›¦6²®‰&§Û©Ÿc'IŠ6C¬~úÍÑ2ýHYÁb³ Á“­8u!ro÷·Ö *É*ॻo˜ãU±BRPΰ,)ð µ+ßýÌT3Vg|# ùš`|S’ªŠä£e¤ ¡ÿ®) iZt¶º¢¬‰ã¾?©Ó€,ËHÊa©—»Ë'e–SÆL@Ÿ”Wë½ç_.Y 2Šê|+:B-¦ !©káw0‘ÅCÂ>•J0·…Pé:¼söõÓ÷£³KŠR_ßÙýëŸ÷ÒFú«¼=wÞ?!¿8ûçßž¢ªã4YeVÉû 7éeü‚(Ïë¯JZò »B¡L  d<;sèõ€}–FòõæS„rkóNŸÙ¿ì|!¥lÒÛå3;ʱà—u ‹^Þ8ï(SßÚirÿlŸ*‹Ð5ûLvè¯eOdt,†¸8›]ŒmÂ/ƒª‚ÞjâÕ—¥Ý „P“úQî‘A5©ª÷ȈõÃÝ#ƒú ´ð+2!„j±0 A!„t`‚B!éÀ,!„BÒYB!„¤³„BIG“d!A$¾O¡FUUo°G5§&yj™¢¢baa¡¦¦&Aà›UúQ}£@Û¶¦JJJÍÖ„j’,¤U«V±±±$Iª««ã©B?‚o§ òòìöí;¨««ëéé5g«B?¹&yv*ðx¼äää’’‘HÔëG5":®¬¬ÜªU+‹%í¶ „~"M•… „B}Þ#ƒB!éÀ,!Ô|øéþ'ÖNfËáp¬û;Nßt!,·1®Ù âO±_Ì ‹B]g ³é»èiá5Ìûµ…’+û‡ƒÓþh^Sµé‡òcYQÚ•‰ý”TûðÛÛTì"ÕTùÊõþïj’Ù©!$/æÔâ5w[/ûãò0s5Qæ[O×+V3ÜNN4üÎIìtÍ~‹×Y¶aR|’,÷zþi£ôCÝ¡÷µ…è¿·i£À±„P3! £CR5†ÍÛÝPU^AÃÄfÊúÕƒUÓ3Ê(( \1hÚ…»ûç9ÙrztY{áM! dé‡Û[§;ôápz ›ù§G|œ“ËÇÚ[sl†LúíJd Ê{ql÷µ8nºûòÅWÒó¯v^ó,#ü÷Áƒ7‡Wœ© ÏŽë;ë^Võ牲ü.Ù—ÃáØ8ÌÝï—U1,#Ê =³Òy`O޵Ý/ ÿzšÊ§@”veŠÃ·³kö´¶wÙtçÕÓƒsGôåpúŽÛä&€ºšZ¥ªŠòA”veÊðß¼=vÍvêÇén7a‹g2_\KŸ.-\êž•æ6{Ü–—\ xIöÌuê×ñî?f噈"²ŽU‰‹O½Íq• “/NtÚrßý÷ñÇŠ)ߪ†ÆŠ_ýËŠkmµz£RÄm¸jñ¿Å„ë3aÒyg›É7ÒI~ÜñQÎÄki"Aü©Ñ6Óng@ñ’¼¶NuèÃén7~³G2ÿë6­#æP{‘¯jl_ñ…ëÙjÿB5^Üß“{ô³æÈàØìrQ•¿”¼XÞ«›õ˜ãó ’_™ÖÛn_¾°àùoƒúÍ=–V˜Ÿðtï¸^Ãv¼*¤Þ˜ië°É+&'7!àøŒ>ƒ¶„—RüijãìW•RTù»½#þxSFQTiØÆAC·¿æRÅ?5Æv®W¶¨ZsŠVö³_yë]fAÆ›Ksmí7¼,¥(aÆÝy¶ö˯¼É,Êýàõ»c/ç3q´[´t¨™ºšqŸ[ÿXÚWÄŸ!²;8v>Œ+Aòãû¹c{ªU?àÑLš 0#£Të<ÞõÞ5eA”é{õm«Y«ÇYh)ª™[²Ô2Ýý^<€’í8uG]VÅ´w¯Vìn3Ç[ªÊ©wêo­ÁÏãŠÈ‚ÀÚMýX׊n8zÎ0y5óö‚œRR\Kª!”ûl½qéסíµdeÙŠr7Ÿ+·*Þ'1ñ‘¨yµâZ¨$¾R’ÐsÙ°`˜UMM[ñ­ú®XÕYàK½ZlÖ7ÃU÷F¬ùª{§aßò±~ËJc2Ì&;i'øÇ••¼÷KÖ¶ë¥Ã`µ™:ˆ1›¥Ú®o_=A.÷ËŒ@\Ì)€o,"NÍ‚íT-Î A5JÄ+íî¿Ì³þePü¼è§Wïž;¯Àíò\]†ª‰ŽlÅ\–N{M*0559·<éï™C®T$"^)æ0—_Ì6lÅ®øˆ¥ß×Qbë“7wäðw<Š_ ëÿ ¿Ë’îª5κä­×Ûpíò¥eÃוêÛŽ>wúP%™¢Œb–®± ¶ž±BiZ‘h2Š24 ÁgW;  *L«ÝÔ’:û¦ª‘ÚçåëlIµéM˜üØuÓý¨\BEßH¡ˆ"êX•° ¹v| 4¯Vü3J(a¦¸J –fuæ·Zõob¥ð¹!uóK½õ…KTçF¬ùªdÛ °¤þ üË‹Sé7khƒݡñ1¹Ø=".ÍÉ IDATgë³ Œ`ªª2*¥U›s$6æ *€º£VáîT-f!¡fRü?‡íZ‡oÿj!@°Ô̇ÎZðúÞìà%st„ùq唋d~Èe]v‡É×ÎÖ¦Yšü1CFWt“Í}“YFÀ‹¿sö¹®Ëd+ñÊwÑ•»û?ñ¼¨ÛÊnÊ5ú²4%±¬Ë–³s¶pS‚/¬_·²ÌÈ}•ª¶?äS¡ÈFž@q3>•°Û(Öw ¤+jÕnª»ÎòDõ>IlKÖv¬R ïéÆUWµ·œ¼Ô߀M㯱·ŽUѵkÇgb šW+þüguTZÙM~£Uÿ"V1õàÅ}©W|¸d¾V¡TçF$¾• °Û j_|üÁ:Ùy½q;C“‚Óñ(«_Md¡ Î7’ˆùd|cqjnèNÕRá„P3awm+pÿuóyÿ¨¤¬Ü¬äwOÎþå]j1ÔB‰’ë¿ÿð㸼¼¤§w\/µ™Ð³MŸ‰ÖéÇw]}•V”ŸxnÕÔ%?ÑZ;Œ6zwøðÃønîÛk;÷ßIdÊÖu#:èRp}ÏõBëÑ–µï™)~¹oá¢ýã Ëù" è еí\:§œÞ{+2»$ÿãƒC®:#ÚȈ[{4µÞµ›*”¼×’ Â2ž(A¹ˆ©¨¬À"øY¡—Ï–sùb¯C±ŒÅć!IójÅ¿‡²°žJ%n•„±ªø²õ³îpUøw€Pê<¸uòõëi&½ä;ôÓwsÏ6d&÷íÅÄÆ\¾µrûŠó½;UKc!¡fBSé³ñìö“Ý\—ŸHÊã³”ô;ÙÍ?´d¬>JdôF§®.v\Ÿ+kÒwξ ýÕè4ûMû³vîüߘýy”Z‡Á \×pä™Äø½lÝ?c஢‰ýœ=Ë-ÙPלPìâdEöº÷/]jý‘¦=lÓÊ×÷L𛈩Ö~à¢]óÚË¡ãøÇÞì?÷.¾»H®ç—í¦µeAZ}_MMLS%ŒØ–©cÝMvóìQÜcw¶÷_³Àç×åC®15M{O˜²°Ïþëv÷9ئöº˜ÆbâCc×ß¼ZñWW*SiïF_¿´Ä­ª?VÔ×/ûGwqRê WôµhjVŒá ÃÖLh²–½´áƒîŽ D3¾sª ¾ÚX_¿òÖVê?ŸàŽ’¾ÒÀ#t>ë6Ó¸‘_É}¹yÔFÆ®[»þ÷†²Q“Å¡zà„ÐÅ/ÌŠò8åÇ0º¦ ý˜0 Aý7•ý³ê¬3§µ3:ÈÖ_!$ xE!„BÒc!!„’ÌBB!$˜… „BH:0 A!„t`‚B!éh’,„~³³ój¯Ì†¾x§üÝÁéÎÎ3D7Ë{…iî+œ7Kë>!^Ášq¯øRª!„’ªŸz,„&ßÚf@¿Aݵ™Rx4?å5ïNzlIñ¹[ï–•‰)(Bè3aòÅñöËKAjŒýê`nC.û‡ƒÓþhÀ¿Z¼±}ù.Õ•¾Xj7þrаêG+ì].$ Ajª„Nb¾BßÐäï‘áÇŸ_ö?¯‚]Ôž{%qMÏ^9µ‡:*ýxÿì™»!qù|¦²‘ÕÐ)³U­ýý9žm^¿™F{|ê´ÇËO…š¼n—ÁÓæ;[ɪcm@ÇÜ?wÎ3,.—'¯k1pÒ\kM† ;ìÆI7ŸÈÔb†fGûñs&õÑcUI8ÈÒ„@Ÿg©í­Æ;š±'oxRfîdG¼xú®H©Ãi.¯/º=‹+b·¶Ÿ±jV-P%15›¤J§J?x?qçeõÓýÓ¹kñí–žÞÚGIøÍÚilÛLzõ;%ÌÑj}ÐZŸ›Œ„èšý¯³lê¿dS,ŽjDÍ4"ŠvóÎұ謅±÷»½/Þ‡K;ÏÄËus7²—ffȵ]ƒYWÎï" ÛmÁÆ :±çv] J–·:jxÕ¬w׳‘ܺÖ&ÊõwÝz> ‘m5|D_ý¢7w÷îöH)M¸¹}Ï7ÂN£&á0£îÚ|æŸÒo_{áGÝd¶³0€ÜhÏý[NDÊ™[µ–)Nð9uå}7RL“È‚àÃÛ.†$f6õn×â?¯ªÞÚE¼ÐlùE¿´ÒJ+Ê!›"êý`(^Òƒ=súuçp¬ûYy&¢ˆ„ÒÀƒ¦]¸»ž“-§ç@—µÞÖñᢼÇv_‹ã€0'ääò±öÖ›!“~»YDŠ­…ÿéÒÂ¥îYin³ÇmyÉ­²¸(7ôÌJç=9Öv¿,üëi*ŸQÚ•)ÃóöØ5Û©§»Ý„-žÉU¯™ “Î;ÛL¾‘NðãŽâp&^KâO¶™v;“_{…üGGÙ^qôâÇŸ3x}X•qª<Ñ{çL‡ÞëÎk/¿+w,dúí›=¼7ÇÚ~ìÊÓ¡y" K?ÜÞúöÎ; ‰¤ ào7…z¯ŠÂ‰Ýó4 ""b{ĆØ;X{CìEQQñ”³ "`ÇÞ{C¥÷ž¶;ß¡Eõ¾›ßq6³óÞ¼™Ý}û¦¹;Ùòx=VŸ‹+ªxkS`iBˆÛ€eÏ,wí1lÛ{¡‚j2b¹µ)S?«G¦ñ„Õ+¼g.X8ª!?!±€–f–vó>“úÌšæÔPEÃÐ@ÀT54ÖRÒ๟âã=®wûfõ8ÂÌlRœ›$=öÜ 49oúØÑž ¸õèÚ2_ž½œª]§Lqàâ9³Ÿ.äÝ8û²°Z7„ÑÊkùÂYs¼œôÀ|ÂrßÙ³g 6(JË"ê•UdÜ9óHC–øNŸêí?ÏNM–“ðù¤JêsÇX±0Ù Ž„`þÐYÑ+WDMÙs!&ò¸çÏA›"Óià¿Ú"¾ålô)ÿ®é{g¯º™KWq°Trø|Ÿ4Y‰n¦ZŽ{鯧"^ᵃnÖÄÍå•3tîWI„ïÏœÏé0–“¥&ÚnÞ#ÃG^­”ˆ¡â0gj·FjØŒ_0›–’%Œ?èÑ;T¦%â3m å¦$*¶Œ4 ¶ž… @’—¬ ºŠ *ÕVÑYy¹¢š‹€ÁTůòBPá«cB¾(7±ëÙÎÎR*ÚJ$“Í(xãÆë¿D4€8îÆ¹°xþÃK)Un¼Ç0èìÔüä¾7GÖfñ8¢®5;|t?ûcÏGëÛèfß;ýn3µc¯ïŸƒ(Ie•ú6½š?øá„ÿšÔv*_oÝÍ“%V¶ìë s¯¥c0ÿvèì˜%s,Û{ľ—Üõî¿Qö…4çSªY² IÚû ÐÐWa*8¨ÊÈ(Ÿ!CÍ€+x–V„@™Å…¸eäâÖä‘b)•`¨¨Šï}Í£lTHúµk! Vd5—*·iÏf»/E1èÖ‹5mhž»?2R„Ú-4W©2CD;’¬øy·„¡a¢š÷1Q +¨8ãc†‚IÖ§T²`â´w™„Ž©±‘&·ù¨‡†@ó>¦*™qå²Ud™Qí€ Ijú•sh Šñ®Öt Ï2¬¹LUüªÎ†‘£÷ öº©wΞ8yþßÌvì"V\vƒn½šªBJôÙ'ê'ôi¢ÁóY;™©Ï>Uµ°CßaŽïÈNfÂ'çn$k·>ß»‘jS7ߎM ïž:v+»Q÷‰+æÚëþ@0Béa T*Òï9gÞÀVúE/®ßI0êß¿Aqjå:–ŽÁüëA!ÅRÓPeâôûGƒîä b´àFÀö+Ÿ²³ãoï_s’o3ÂZKÑAÍŠž»‘Ó³WÛ·_ŽËd=?±6 ü ‹CV%@Z$’_ˆaÐÍ¥uâþ¿Ì(Ìùxi[àÃ,”j,¡ÞºWã„“'“Í;›)«5ïjwìLF‹ž–ÊŠ3Tæêpòž]¹Ïe=>ºûv¾|4„Ódp?û›.¼ËÈM~ttãÑ„Š ù×6ËÎŽ¿µou˜°ÛèŽæ¶nÖ)»×œœŸó%6xî˜é!_¥r'*¶Œ\–¤vg9Ôd:…g1-kQ ¦JÐOþÿýexöäéëd…-M=;gøðá~±ù¿^1üƒjóó3¡ùoBæ ²µêÐÍi”oÈå#3{wtZq+z–}ÿ½+ÇõéÔÞªÛð¹Ás)Tx[ÁAIüa—n3n"ñ—ÃæÞá#„D)×·Lh×¾=Ï~ø¼ÃÏò¨*¤<)L‹ôÜ©}ÏE÷ùr§K2îî=ÌÁª=ÏnÀ”Íщ"„¤IÇ\»LºV€BHš|bD—)× *DšxÔµ}ûQ§P‰ÞïÐÞzòå, )ÎQ¹wNqìØÞÊ~д—ŽŽs\xŸ_ZD}¹°zœ£M{«nÃ}œZ6pÔ‘‰œ¬ÂÛ³zŽ 9¹jlŸNí;ô±0ôU>…¢òž]8¢gÇöí;ôµäÄëŠu©À2’øÃÎvž7ŠK£ ‡M§XnMEÀ`ª@Uvsü€gSîŸÿsDÎö½˜¥ÓÅcb½¤ó;Cð-Çm^æhˆã˜DéÇσ;»ÿæÖŽy4bÕpƒÁüÿQ—ãB*8HÑÁÿ?Xn ½à@Øõàµ7i%­F]½ÆöÒ'þÿ-2æÿ 9σ@²‹õW¸# æ?Hy!¨ø@å~Gò_ULÿÛ°³û¢Îîò‡¨zˆ0a0?ŽBÇ‚ÍD—9!¥î S¿ÔALi´£Ôÿ@²Ù,²#¨, ~4c0¿„|DæpÈ\âÿŠŠ`0˜z£Žb!%„Ê~/ý,sJ0ÌoB™ÛA‚€âO@ž‡,<‚} Soü¨"ó¹ 4 ¢‘¼;‚°#‚Áü&”¸ D±ÛAII’$ë’)ùƒÁ`êžòB*¸ t‰ B#DÓ@# P±_Ræˆà~ æWSÒC"HAˆ$H;" ¦ž©ƒå¢ ¨’Ošª4""7^¤ôD óÓ ä~“ û EAA‘ˆA†,R/A%N ƒÁÔ=?æ…”Ì)ç‚Ð ¥‘” !) ]#‘Q8_ƒÁüTнD)óBH`"  !™ ‚€$R6ƒÁ`0õÃ÷{!¥ËÈ"²Ž ”Få é¨OE_²%…âÊÛqc0˜ß 5%ÒR—eo®¬Ê&‚@H6jAq8û! ¦Îùþ™º²¨€DÓ@!RHB# 9ETÐÃü欖:„FÍ»2`0˜zGUU¥šoB™|jëÝ|ö*l‹,’`2$ ¤lw7<4ƒÁÔ5?Ð#S:áEnF …€B(ò£ Ÿ%ÛÚ˜Éd2 ܧŒÁüö!ÌIá ·¾þÙã.‰!’ d1¸SƒÁÔ=?>SÉæ¿ÈfÄÐ4Hix—!ÝJ…Íf3 ì…`0¿4M€T*­*Á‰'µ´µ?QÍí͹ (‘ˆ@xŠ ƒ©'Èš“TM銨ÅqPɆ£ªrXØÁ`þ]ädgç iŠF²9ö¥—6à1å ¦~ø!/ʑҪݏ] æß-·ö BxZƒ©G¾Ó )Û)·dû˜Ò×&¼—,ó¯¦ü’Ç%³ëqDƒÁÔ? )¦tµŸtãììŒ?ñ'þ¬“Ï:•uÇà=0Lýò3u˦é"$¥AJ# …DI‘PŠoçnë«Åb±êZ[ óÔ8:50p ÄYºÏê¬ÉaJLB‰A°“$˜$ž¬‹Á`êž:Š…”[Ĭ¶Ôù;ó¤îc!r—sÝ"zàÄãñ\%Qßx¦à‘¯=ç°ìIQ]ë¤$x<{X7¯ƒgô«ƒÃx<Þ„+y?7,$N¹±gž›cgmßÏÝïðƒ¬ª&Mqu˜ËÿÂ竜¼ý°¦’¸}C¼ï ~†,þíÝ\&Ê;Ô5(PiÖ£#K'9;Ùñxz 3gkä—¢ú«ßï*¾à±_ï!;?ˆ«NAçßïhc7-&Oò ෡μ¥ÿ7ääÉ“u(ƒùoR÷×QéŠÈÿY$)×Ão~)0ä=¶çW( z·ÏËçoºŸÿÑ+ׯEXdŸ{h¶÷‰xɯХ60ôºzÍw±`ÿ+~8ê·–w]s+ûߵз$ñft|Ûç·;hü«#”ué…|+8‚Áü8ÿÒëHé018x‘kk^Ç^ã6ĤI€.xê7Ʊ3dzé5b^н좸½#'_*È??±ï²'‚üg‡ºõ²áñxÖCf츕AUйώ-ãdÇãYw2}ÛÕ ˆ“¯oŸ>¬{¯Ë€).~É»\⸽..û 9|ÝŽXùG]I´4ïú[¯›ïPI¡n<ohÐg ÍnýäÁx¼.Nn>ûbSÅ¥¥î8åĩկÅID¯78òx<·Éò‘:ïͽ$]Çñìj©¨êšÛŒ^äÝK+%µÍÚßÝÉ–Çëäè±ú\\ù—x…ßJ3ïí5ÌÁšgÓ{äâЗù´äëÏgÒ“M¾ìa¹‚4!ÄmÀ²‹g–»ö¶í½PQn’Ô[¦ °³êØkŒÿÉÐÉÝ'DæJ³oïZâ“€J¿±uÚ@;gã4)àZ:e)аf¡Hø%b­‡SgžuwçyG_Vô¨¨äÐÑ}Gœ[7a@WžU·ËÎ'”'PÉgWí|oµâðfO'ëf M-Úvs[¼g}zÕþWEüØÙ=Çþ'`ò€.¼Ž=\æ~–G+¶ªbA5‰â/m˜4 «gm?tNГ|ZQÉ)Œo‚':ôõL•þP)gfy…¦ä\ñvö¹ž_Ö*ç/M?;¡s¿€×¢ââŸm3ìÀg •u?hŽsŽ<ënƒ=·Ä$‰+VD5q˜º¤nfê~åÞá$ŸCªÙ8»»u×MŠ=¸hÃýªr£Ò.,špñ½š­Û(§Æ9wùÌ ‰+x·ßknð‰õ¸º°ŸX2qÝ}¹û8ËtØÆut ¥÷ÕݵËn’…+‰~@þ5Ć ÷¯|ó$ê€ù€&ùW—OZ~òQa“cÜlÕ?_Ý3c–g%{éÀõÙºš,‚`iék¨2å_gIÍ6M²N.ñÝùϽ™"†Ž~s­Õ  óî¬ñÚšdç:¯åÓ5^[ž–Ý(~+MŸïó†Çǖإ윳ù©ÄlÔέƒõÝö‡-ãq+T xAkìúu.š+ç&Ž?á½(ÊØóàåÈ`OÝ Û•ëª*¸³ÎïÎØÝÑv$ÂWl{*`•“U•þÕ -z»o–ÿ­†ÓFF]ÐâqÈs~5m’ʈÚ}¯Å¢ÐÈÈjÑ›÷¾w³è¬‡ït‡Nî®Ï(;Hp[žØ:ïFôWÿÕŽñð-g£OùwMß;{ÕÍ\ª + ª¹øYÑ+WDMÙs!&ò¸çÏA›"Óiªr•¨ŒŠÞ›;í„ÎÜ}~½ åe Ü>ÂØ`Èîð]Õ‰²âUÊ?S»Óà–y×¢¾Š€J»yöK㡽²¨´ ‹½¡!g¯^Ú;Ñ0ÊwΑÏbùÚÑè'ìüѵS+ðMw+ggçò7P†ÅÄ :¨U”ÿ2úØ…‹3W­ñ§¶Ñ&†–•Ûøf ¿7*H¥Eî¸k:Éw[;]чË;6²Ü9­yMáP©—Ö®8§7Ö{Ë8|2Ôû.Y2…Ç[‹ž ‰8üp¦uI\›`k7h¨Ë UMÌMÕ²Ju¥A³²h¡ªÃ[Õ˜ÈÛ1_„R¯¼AðÇÃÌ+ c ÁØ}û6¯¦lzt[aÿy7ÏŸx5m©*èÝ}Ò§*0ñ@ÄÄJfa›Ý÷w‹‹ç£nìñÙò:]Éœ×mи CÛj¹±Á×TGÍ3bt›:¯Çå%½Æk¨èÛ7 Bß7¶¾¥ ¶ãüW™|Ь¶†iÂØÅwªc#Föŵ•r{å¤ßzúÖ^Ú$ttŸÙûï©ñrç’L)ÉLMÍ£›´v <ë(á–ïÑR¨áG¯1Õ }é@œÏé0–“¥&ÚnÞ#ÃG^­ZÄh8d¢£¹ Ztwh°ï:_>² -LÍ#´ëTxô‘*&¦œ‚Ä\©5\۞ݫ`3~þ°‹ÝûÂ?UYçéã"ÙÕ [ÿ0kMC]¤\5eB#~Q\AHøé¤Ïñð÷¶ÛÎ9×îö®(¤ÓaP‹u{£¾N±4ϸ~6¡Ép#•zõøs“ñaÃÛè3@ßqúŒó·žsZZ?ïVÇ^È7QéÖI2¹êêêj¨khŒoÄÍš±#ôQ_ßÎêÂ/ÑÁûþŽýEiYÚ˜2¶«) iöý`¿KWßæ°Mþêë1ePk•¼ÇÇ|Û®•Gœrûèžã×Þ¤׸]ÿÉÓ†4WΈX¼ôC_Õ+a7Þf’fvîs'u5”35Áäª*1Øee‡Tæ°X\U¶¼DgßÚèsDmÆÆ)ªJ¾žZ¼üY·UKt“®F$6ãÝÍBƒ! ×Yç«È¬Š _ÙqߨZ/; *ƒòŸþóÄ ç0 ¢èéºé'›¹5}úwÔ«lvÞÀI“ú5妟[¸"¾ÿâŸcþZ²vܬ`%9Õ¨’‚«(*#™ýèøÎàÈçiE,íæ½ÆÏe¥žvnåšè,øÍ.\¸iZ R¹é\T©"”@”t+d÷±kïr”Xõéȯ)MX¼ôu—žDÌ…‡I´qçQ¬SN¾ò:™ØMX8ÅNÅ÷^™>i댖IB˜Ò„mÓu¯”ßw¥CÒÉÚÕ&•û"|ïÁˆ'‰|ŽaK‡‘“\­ Xòuˆ4 UB˜Â` IDATšù0tGð•×YJævC»¤‡Ýí¸¼³jåVǬ,ԣɃÕr–l©kí ²ìÜ['ÏÖÜŸÕUû­.Hpð¡É“'ËÙ³g»ûØ:Uª¶0µÔHš£ªˆBH­Ã¼Õ·ì Ú¿2j?€Še¿éKläÎ •µ9É1ë×­*ë›iU››$/1€mÒX‹jº/úPöÅñ…paŠÝ…Ò3S¿dKA£†o¢U[¶SŒ¸~ã½uüs1X°7†ÜÄ\FÃ6&l U-ÚÂÍ/©B¤ ÀhÜÑRµºö(‘ ¬O¶<8ûMLèöõ“&ç;:Ž‘œ%Œ?èÑ;T¢¡D|¦MaIô‘ÊSðm^–¸€ÛЄ+;Ä6µëg ¬R:ÁÖ³ÐaHæ–™W ÒШ$7ÝÆ:,y/DÅzÑ.ßGÌì;ŸoÚe˜û$÷>êòÏO…R5 ÍiüaZ|M±õ-õÙÕx!ÀÒ2Ó–Ý„‰JÑ~¦ª:Êù’-=y½è¢´¡J u&SËܰøÕ—mØLÅ&%%TaóJ‚j*>¤4áJ ßÅ×Y„¦©™j>"¤¹ *H I¿~§•‹ #|ß…D+×µyZ+ÊHíƒ[®Û{5qœòÝó)­ÆÚé‘ ÍO-`5Ò”E„®q#U~r¾´¬"~¿ï¸BãÏ^-ÈÏ“„O÷­:’Îó 8´aüïö­ y[„Ä)¯}}wN·Î;³qçÝœÒ ʽ»{÷]=çe»îÛäõWÒéàØ,¨ì»ÇŸ[LÚ¸oßÊ!Ü»‡ÃÞ—»I[Ï ïlž;a´û´åÇ%準ìDjÛL×øáÞÐ×¹ñv]âŸÖˈ‰ ¯sTõ3ÏmX0mÒÔ¹kN¾#´Ô˜@ç= ÞýÆjÚÈ–*ŠŒŒøï®~ÔëÔDv]}<~NÒkÑŽ ÀéVÙaëö>* èìØëêçÎqT¥Ð ©\Fþ³ m1JývíòëGFï>úVÈ4îï»°»Ž~_ÿÍÓZrª2WE•U„èó©µ;º®Ú´n¼Åë³ï(Fe=ˆôZ²sïÊAœØ=ËN+¹®Ù»w©{"2¡êáveÅWyXËÚ¤²nlÙzÎß~pϲáºw·®?—XN€Â’JS.nØrWßuÕÞ}«\µn}U€ª(¬¡qÚò– ÔšwP}u5®ê[|ó­ãBÜÝÇîÙ³§ôÏ_è‚(‚Êýô•h>lõÙ!ó†·¼?¿võì’V…@ôöÀŠà¹<¿Ó·oü³¡¿qµ¹1Õ ÕĉŸ²¤tþã _ÿƒo˜:ÊÚ}W 9¼oâ9³}&w1¨ù_•h•–ƒì5!áÂÑлÐl½ƒ©iª@Å?O]øéE×@·øáF0Õû¨ü» zÞðBæçlí}ÆOí¥÷}!CM_“ÛÜûDTLLLLLLTÄñ½>íKúT~ke`À$¦_™¢¸ð]‡ïU?“ I¢ªÜ¬ ¹… ©Å¹‰3¿dË_b4?ñK‘…˲·®eù`Íœ]姆T­µBLTó>&÷<‰3>fT?d «´/©Ísj’þ÷Þk™r&@‚7G÷=×´ïi® Íù”*”I’¤½Ï CC£ªl^APŧ³c–Ì=ÎvÝp$,ôÀ?·fÊS­Š bº¬óŸ»džuÜÎ —Ók3tVaþ¤–õà–ÙW®<ˆ:Ÿñ—K-€¡n *NùšG õk!×P ¥ñóø•^HMïp UmŽ(—Ÿû4ü·ßøþ-õTÔL¬]<:J܈ÊƸX›¨©þ5tBo•——^”>ÕÚMX;¡Kcme¶’²Š!ÌÒ ÃžÃº˜*³5Ì;t4”æ•«WirDÀžMÝtôðŽÅƒ |]ð‹ò½¤¶ÍD÷†w7-]u^yøÔž†LZT §]¹ZÔÁ}áÒ9ƒ_í[ô´QÙwöÅwîl©¬ØÄâ¤' *ÍÈÚœv£\;š¨«´2¾—òÓˆ…è;NvíÒ”ñê…¨ÂlËH2˜„´ 3³iX:.Ø0βbPUæ*ÊWPßG]Ïo3vŒ™†Šn‹¾ãú0* ôÇ€~­4•ÔÌÚý©Ïi9ı™º’f«VZÒ<rJå¿–vûÚÕ¦$ë~Ä{ƒ!î½,uT4ÌlGŽj–}­¼¢ ¤¢¤«‘)MÜÜ:7ÐPÕÿsШÎj ZQaãÅŠÌ[AmR­QVÜóôŸ7›á;ºcJ‘ßÌ”ÿpûÜ9žãf®=~û]R¶@  nªÏa0•˜ùÏ/^|”.¤Do.Ù»yÉü x¨z>Ó¤·[;&Äm›µhSàò™³wŒã4è0r€d_9~óÁÍÓ[—®ØyC¨¦TóQÅ¢¹Í:hCRô\h1¸‹†=<ìU 9Økæêm›}=}o™ë˜ÖG`ˆ?ìópê5`ö…rnË!]$g.=tãu|zVz«¨["ømú´Q'µ;»Y§ì^wüqr~ΗØà¹c¦‡|•–è®ð[²±Ó³WÛ·_ŽËd=?±6 ü ‹#»-I‹DÕ âR˜ヌŸmÛq%.¯ å~Èö¨Ür9<Üä9-àJ\žPLÀ`–Üe²ª×¿*¡LËÁýtîo ¸ð.#7ùÑÑG¨ï~P2øNµ¸ë;Ö{_äãÉ©__Ý:¹j¤ÃÒ‹'¶ä-¸°ýʧììøÛûלäÛŒèha[½Îµ/> ‰b©i¨² qúý£Awò„1³QD°U”HR¯»·WÓÇ·rjá‡(ÊšVCZ¥Ûx8ËÚ¹ ƒn.­÷oüûeFaÎÇKÛŸP~Žû*&âúû‚úž9ô+{djêϦ sDJšJ‚ô\QÊ߉dµNK„̶ES³nq K·±ù4GPb-‚ Rï„l»ù)P70V棒ÃÔ0Ö(Ž@Ur÷¤i÷b¾ÝÕLµ?±º²!òÓ˜Ömäû&HmëÁB|¯ÿ1ÊFöîD0X BÍ~âè®Í8¦#ÜÝÜõ!1çRHvŸÅ3+A†âÂIóRÊÍU‹ŸÙ S]¥Ò²h£'™|š¶–©&@Z¨ÀüŒ«Kíz#à¶õt—˹R•[Oò›tñü¹5SŠ Ú÷4|PÕr·*ÍU¡:¨Q˜/©54(~Åci7ÒaÞ¯|*Áæ² ’`*sªªY¶¥¿¿öµIó3,]õâc=•¢ôüô«K–jûü¦•²’æ§*é—AËDƒ™´¢ÂQŠÌ[RUÃ'øIQÍï"s>~3˜ ]7mÈ[¿+<êðn1°ušõ™³À‡§ª$8´ÍÕ çgÇöݲÀùóÚSÂÃóº Ñüë‘7 wßä5©";ãkwnØtìFè‰z#»Is:7TgxíXI¬ÞynßV¾’AÛÁ‹|fõ3Tä>W€ÓbÂç•D÷××Rn: ‡Þé“Ðz°­HÝîËöùmÛt%üЖn“n“§{m® •†¢#InJzv†f¡TÞ“"5m—X¹wë±ÀY{â³ÅluÓVݦl›>Ì”  íà¾ví‚¡ÙH»y¯©><H,9QÑ·,Âuãê\ÿ€q=|jæ7ÌjË  ­Ûs–N$ؾʪ²{Tenl½qiöÒÍ£º/׿ wÖèÃKfé¥@8úÍyºdÈî‹)–v³ÓÖMn¦TAVuúW%T <6ûå-ßîáè¯dn?zFÿ”ðšë« eK÷=á-B·íÛ·èÐçLWßâ¯óyôm©I@Éx`_tܫߢ,޹ÝÄM¾öÚ R‘Î) VcñWÚûL^8«÷ –^“Î#F{ÚlŸ»¾ë©y•+¨,œÊ4°Ðãï‘kw=n·WmOÚŠó÷m«ÉÒV2ïmoÿ6²¡IÀ0ì·jcÆê3û®ÏW6á ^¹yìlHËLœx~ßÁ':YªÕï˜Cô]ÐÑ4’RH$¥b:_Heò¥Iy’OYâ×i¢ÉgÒÄbñ·å(Ž;<ÕÍ÷V>]*"÷κ1#ýoeg]]Çg‰øOÖŽ³ñq¡,¹(î°ç¨å±Ù‰§g{¬* scWŒ™´ónJ<]ï1+,A"M»à=zÙ}>B!iú%Ÿ1Ëðå4&‡ÏvóŽH—Êþ<twx.¨ fâÙE³üçŒõ ~+ B¨èå‰;_ ‹Ïz±ÅÃ}ÓÝÛ«G îâêêêêê<|øðáÃ]ÆúE–äŒB¨ðÞ2÷Å7ri„àÉÚQ£×=, ‹ â9ÒïffòÙ9cV<ä#„èlE å2“$É Ž•±PüîM|…]”úøø‚QS‚>ˆ¾Ý=eZð'BU˜+åì\÷Õ¨ä…jä¿ß?yÌê»ÅÕ&Ž?9ÝuιTù‚Ê«$I›9nýSB‰>O›´ýµ‰¿†Î˜ø¢¨ÄêãÜ7¿(’¦”¿Öµ™ŸvÁÛÍûBšL??3áÕµàµ;k;º¶×Ôú«o댓û/¾É(ÌOz¾~áê³É@Ý?|ü^B^^ÊãS{#ÅÖZ—z‰H"¢X*ª\H²_\8ý¬@T$©qÔ?CϺGãÔÓ‡¢>dæ%Ü;|ŸcÓ˼ÜgIbÄöpäíããªuuç©BÀ1ïÙ‘Œ >õ(9??ùÑ©C÷Y{¶âymßµkÇöíÛ·oñw1a5¹jÜ.Úòo[L C®0£dT-|z'!//åÉ©}—mZ—M½B³ Ôļbå¡;‰B E$£¸Ö‘T(¦km.…j0ͺÛk>>tãsNAÆ«óϧ~s¤”äh° ßÞy–R$Î}}þäãJÓ£k]› ë>–©_ù#È¿u4ä®C·¬²b5pè®ÿîhèÄ~Æ‹³ÇîP¤†"›WmãbKÐüL¡Š¡úÏ‹2ÖÇz!ÿêE0õ ÿYŸÿ©7…4-ˆ‹8xYئ»Å/YÙ óÂÞ+änU)Œ,ý¸g†ÇRÍÈ’7jÕ˜^8¦ÎËÞ0óPÒ0ïì²À£¥2<®å¨>Ô¹•žùÊfÝxü©J‡È +—{›×N¼ÈÔ6kç4ÀµÝ¡cë´[Ô z}˜F½½ç ÷¯õ *`é5ï:eñÈ*r”$œßN÷óïcÂaéOz}ÑŽÓ6ëÜ,”›]:éÐÎóÿÉ@:–vãn¥Â&Ttd'Q´*‹d©këj”ŸpÌ6i× 02±™¨[ß¡+±Ò30OÉ´ý°y“­4Èô²´„†" ÔRÇnêØ·ÛøŒßB15wr›ãܘ @ëµi©´ÝoºÐoë …æZPqÜŸB5Ø0x¾gÁΣK&ïd™ZeŸ]kÍd0ôlÝ=ضef”’a›Þ.Ζ!*ˆ­um2tígøäì=¸vêB%ƒ–=fÌXnƬ⬬6󙚷ãÐüñ|–½õ6ùòI’ m®°{UfÉ™­”QÁ—÷âÆÎ?oùOX/;%˜Rظ¯ñJ]6«ÏîBRͬ“ûÆ]þÝKwb~1u¶›˜B"iñnv[bkµ›]}¬sðïåßÛ¸$¶ÇêY‘ÏÖyj²rÓ_9Jç¿‹$ýÉÝx}«ö&@ô!hÖú¢éÛ½Z|ß2.(/ví²'}Wy¶ùi3ukyÕ~7»™6%»Ù1 6Þ̓ÁÔ'uÙ#CÄ7¼7ý‡] ÔÛü+5òéOÞ# S™¢woß}9N€0ñæéÛBË ¾{廬Ñ…6ý›ÿ4êã:’yØÝÀ`0õOy!DÉgíï]ÿÒý/ê ¥&C]µ¯^Œ««&1ß«á Ùnú·×N5j²ÿeÖÀy“Û«}ß½;¯ñè~ ~êš?u~r—3ƒÁÔ+uà…² -!{}úæ7(Ù=ô?ùIŒ_sÅw„ŤÕn2Ûí—ëó_ýtcÖkú—<ÑÑ£‡r¿ÞØ\Ýõ;ssQnáþ쬟2ñSõ¯óXHI(DöŠ`0˜z¤Æ…P¤4’P "”¢€[9µ‚Á`~µ2ÇV‹S2(„Å&I0<.ƒÁÔ ß !Jÿ!Šã·DÉkÓO^üƒÁÔ-$Qv9÷ΔtÒà‹ƒÁÔ-?Ú#SÜLIÿ`0˜/¥2@ÅNƒÁÔ?ä…”¸ %¯M0‚A$")žúÁüËÐÔÒRç ’`!:tD8åö¾yc:täñ¬íLXyòEþoT!‰Û7ÔÁû® ÂaþíÝ\&VÙ ¥áóUNÞˆ€Ju³Ÿv³ðÛΪC¤ !®3cùU°¶*}Ïé??p¼£Ý´˜ÝTÀïj9¿¡ šó¯iåùñUˬ#†A‰˜,uÙOR%¶X؆Áü6ÄÆÆÆÆÞ©&~£æ,m6“’A”uÍÔ™"I85ÓmCr—é³—[jJ…oÛäéC„înúC÷"†^W¯ùm-êw»‹_ÉðרG’x3:¾íÆó«mÔñ“à÷äw¸p~ B”! xðƒAô°àþó¦(ú“ @X͆ æçQ½ ÂUáZ¶íp²ìl¦Ì dÃQ”ë©“Ž”wg뎭|÷®mߦ±qCKëÁs×Íi›}#ITÖý 9Î=:ò¬» öÜ“$F@%‡Žî»8âܺ ºò¬ºXv>A @¥ßØ:m dzqšp-*ûö®õ'>‰ðKÄZ§Î<ëîÎó޾*”ÅYhþûÓþîN¶<^'GÕçâŠHBÜ,»xf¹kaÛÞ—ìQ-ùzÄsÆ™ôäc†/{(@¢ø þcœlyVÝ\—žK Qü¥ “tµâñ¬í‡Î z’/®tVY™+%¦;»çØÃÿLÐ…×±‡Ë¼ÃÏòª8XJYAšyoï¬aÖ<›Þ#‡¾Ì§J)¯’Üéµ¶³UèV­U»uvpœš’sÅÛÙçz>R$W¾ ¯íäsìÀ<ç­\üÂÇlÔߎdzî‘,©Â’Uh®ÈDŠ´-_Sµm9µ·†bõ RÔªËóíW‹Æ\Ö0jV ¾øáÕ: H@ „tTÈ VêQŸŠÎ¿Íâ® æ· )X6­ê;e¡¤Åö0WVeL$A’eTë*Rôáò#°YÕÝ lK%†ñm§‡Pig{SöÜ|¶¯iÞÍís|ç¨ Ë*#j÷=ßÀÐYšq'xnÞÛßa^Ñ:¿83vGt×I=ïçµb[WëíKçã ßî›å«í’ƒ»¨9½læv¾qw óî¬ñÚšáº1lë¢GAó{m1=5Wè´ÈÀ ®³Ö¯³jT’ËlÔέ_‡ø*o ›Ó\‰JÄzèùཧh|›?ukÐÀ~ ¯®\m´xÏJ[ý§ÁslŠì{Xþ,ù"ÓYÑ•;ð_íi¾jËÙõ¬7G}çÍ^evz KÁÁ•æmH%‡Ï÷ùÇtÁî‹ÙoÂüÎÙÜ4|i[)ò*I¾–œžv¡–v^ѾÜF»•u[ÓöUuVÝtØêÑ¡Q>¢•/jÃQX¿cXeUÐNëÞýôká…;v_”zr–ÇÊ)q“ö¾Ü îàT¯Ý§Fö˜Ñ$_AƒÍ—E(0‘DA˜ÿWÙú‚µo9^µ¶†·õsƒ* *¸£ UËWÀ÷T\-óââ­FjV þø~/„@%¯I ’ƒ@²á©šÆà*RZ…¢€F€B%S|1̯¤lj!ˆÊ & ‚`’妿Ê/£úã¡INšPµ•–‚)üTÚÕãÏMƇ o£Ï}Çé3ÎÜz6Îգ቎æ*LhÑÝ¡Á¾ë|šd³HIfjjݤµkàYG —Pòâ&|æ|N‡ù³œ,5 Ðvó>ò*й±Á×TGÍ3bt›:¯Çå%½ÆM»øNulTíšl‹1Sz7â2¡©ñ¾{ŠÐ°õ³Ö4Ôå€@ÊUS&9 4Ÿ­81ɵáÙ½±:6ãç»8ñØý¼±Š.®ŸäkDèû¦ÓÖ÷±Ô!Ávœÿ*“š€j­Ò7ع™•t»÷…ª«Š^× whYb*ù>â´3’§Ã!Õ:w2Ù¯ìáÚVKZÙ[ëžÍPUX’SYs‘")n³þjS²ß7´œ‰Ýjkéã*«'x¹² ™ ZuT\õJ¼š¨G~,B•ÜÑH AˆDƒŠ”¹ €É{!ØÁ`~&rû4—¸”ê"I`À Ù'Yº a…C–†»0%WPÖMç>¸’ÚØ<¥€mÔHS$!¸ÆTùÉùR`i™iËnS„¬ÿXÅzÑ.ßGÌì;ŸoÚe˜û$÷>ê¥ÙQ©E˜¿á²õ-õÙWÊKÎÆôè*Ëñ™6…ÁֳЩaY#‚¥ÓP‹)“/›HÒ„+~_gš¦fªù¨:ÓT•˜©enX¼Á%Û°™ŠM-*:XqjinB·¡ WV¶©]?Sª–*Qù©µµs*é–””P{«V)·\bRIM‰‚ ¦ ·D¢ZKVÒ\¡‰$Ÿ«h¥~SË©½5*©§PPõ­ú‡*NžÊ¹”š¨Gê`ÿ´â “(q*H‚@ˆ‚€"4€P±Ûñ]ˤa0˜:£dÚ Aê*žàF@–l\W2Y·.G˜sšôjKûG¥Z 4,Òb6¯ÜeºeO Uñý¯y”  R¿r-ÔŠï—å4 ù‰_Š,\–˜¸Lx÷ð¢ùsŠÌÎ̳,þ–¡a¢š÷1Q€,Ù€8ãc†€¡¦¯Ém>êÄ¡!$Ðü„©Jf\ѧÊ÷b…Æ*Ÿ„ÎŽY2÷¸Á²½GìpIÁ]ïþ«>¹ÊÄÒœO©B™–’´÷ ¡¯ÂTpP•Qag†šWð,­2 Š ?pËÈÅ­É£ZªÄP7Pß«+RI7CC£Ú[µj¹µ©‚j-YIsÅ&²PØäÎú†–ó1¬¶Ö~­¬ž"AŠ[u˲νﯸrT9a¤Fꑞ©[¶ºQIh—A0“,Ábl&Áfl&(16£x¯Nüƒðϯúa3%Áf›A°™„ì:e2€É 䆦–¹)u5I†Ôê2sr³ç«&-:|ýåהķ±a+§­}ÛÜÃã/ón.­÷oüûeFaÎÇKÛŸ`¡ðXðp“ç´€+qyB1ƒ)wã4ÜOçþ¦€ ï2r“Ýx4"€Ôîìf²{ÝñÇÉù9_bƒçŽ™òUZý3·HTåè<$R,5 U6!N¿4èNžP FUUUbZp#`û•OÙÙñ·÷¯9É·a­¥è fE-Ùœ†˜½Ú¾ýr\® ëù‰µá_X²Ö*1 jmç TÒ­£…mí­ªXî7½kW]ÆÚ˜ˆYSø¶–óÖP(¨úV]¥kç$TטK©IzäÇgê"€@Å¿‘B²q"H‘EAd1‚`0¿ro„üòÇ¥ïuë‚»±Ûöã†A›÷­õÜ–!`¨›´rðÙã5´1›„~«6f¬Þ8³ïú|eÞà•›ÇþÁ†äÊ9Ž~sž.Ù0¢ûbŠ¥Ý¬Ç´u“›)Aér JM<6ûå-ßîáè¯dn?zFÿ”pRÛÁ/ }íÚC²‘vó^S}x*X•ކÖí9K' ì ÷7Q €¶½ÏÔè…³zŸ`é5év%_ãÅê~ììþ›[8æ!?.VáÁß„ßY·Ÿ¶FÝRWãBŠ#"²Ð!‹Ž @@ÈÍ‹‘»™a‡ƒùù(ð'JBD‰ÇA”&Ã{×a0˜z¦¼%þG±/"s>Jûj0ÌoŠ|DDÑA ƒ©?ê G¦2¨Ü? æ_v>0ÌÏ¥Îb!òåþÀ ó»‚} ó ©/¤2øN‡Á`0 ¦?mJ0ƒÁ`0L9°‚Á`0 æ×€½ ƒÁ`0¿ì…`0˜ÿ Â竜¼ýj=0L1Ø Á`0 ókÀ^ƒùIðcg÷{Û9¤P IDATøŸ€Éºð:öp™wøY €Dñ—6LÐՊdz¶:'èI> Ò„·Ë.žYîÚcضwù•PÉ¡£|Ž˜çÜ££µƒ‹_øã˜­“úÛñxvÃý"’%4ÿýiw'[¯“£ÇêsqEâ¯G6aø²‡ Py¹ïÅ¿Ú`Ìÿ?Ø Á`0?þ«!âá[ÎFŸòïš¾wöª›¹TVôÊÑFSö\ˆ‰<îßùsЦÈtè´ÈÀ ZcׯsQ»©0•~-¼pØ®ó—º+_^9åÇóðåË{\‰+»Oʼnλ³Ækk’XLTè¼–O×xmy¥7rçÖÁúÆnûÖñ¸ < 9¹#ð6!Lýó“Ö Á`0 ¹¶3<»7V'Àfüüa'»Ÿ·ÍÖ?ÌZÓP—)WM™ä(`M»øNulÄB=ÿ°pqZŽÉÓáj;™ìWöpm«¥ ­ì­uÏf (:76øšêÈãyF,€nSçõ¸¼$âã¬æ¥Š(Nà5¦Lî/´óß{! æçÁÔ27äÈV1d6ÓC±©…Hšv%Ðïâë,BÓÔL5•¬½ÌÖ³ÐaAJ%RIM‰‚ ¦ Wv3#H€ÊKÎÆôè*‹÷R">Ó¦ÕEªJP&ƒÁüêÅ Aù·ü&l}§Úuù®iÍ•¼8ì·âB«©ÛŠEÍ•¿c!Õ»K=Þ”ýÍÖllÕßÝ£os5…]JÒä3>³B“šÍZÞI ¯ÛŠÁü6Hs>¥ ‘%›¤½Ï ]ñõ%s,Û{ľ—Üõ8)A’ÐÙ1U$¨†š¾&·ù¨‡†@ó>¦*™qá] DŸJäb0˜ŸA½ AEN­^}!‰ÙÄyÙÂïsAÊÐjÕ¹k×.Zš0s?ßY·ÿIâ jH•Æ6Ý»ö´2`á» ó;A nl¿ò);;þöþ5'ù6#:hH…KMC•MˆÓï º“'ˆË]×HRCEÚݬSv¯;þ89?çKlðÜ1ÓC¾J i‘ˆª6A©®¹¯b"®¿/ ëÖ FŽúõB0!b½Ø'h<ÄoÑÐ&\$Ž­š=~„³óèiËÞLSY1¾.ÎÎc7?Ê»½ÜÕÙÙ+ô«¤Rvœfƒ'M›6}îÒ «\Œož¤Š¾;»ÙgâHggg×q3ׄ>Ρ€æ޾~åAš8îÐTgçË/FîóõZøw‚´^KŒÁ`ªCÉx`_tÜ«_¯aK®éMÜäk¯£kï3µÉY½m»ž{Ny¸§­ôøÜõO‹JÏ µkH RÛÁ/Às~ÁP‡ž®Ë®êO ôá©Ûк=ç„A‹'Gœx~ßæ˜t|ÏÀ`꡺ßﶸGF©¹½eµ…&ý—®ÕR•õ™&Å ÓОƩ1§o'«wó pÉÙè¹ãŠýòžÍ©Ç¦¬} 9tc€Kò¾YY §Ó’=³[+ ³>^ß»*èI‘ɈÍzgïöZqC`lÕËZ?ïá¥;‰¬‹wÏÔ»\Ú#£ôùÐ̲€A°UÛ8ÏŸÛÓQç%Æ`05ÃÝsëÇ<ðÐO #£>G§ŠÞ\{›ž#¢A•Âç.§€j×)S\Z*KZ‹ßÍ?wãìë‘^½Z2Þ¼xv'QÔXrç­ŒìlŒܦ„wVŒ½Sú—jg{#Hynã[hµlcÈÿôàëµ;‰üÌlÒ«t®NÏ¥›Æµàâ ƒÁ`~êuŽ §•ë¤Ovž¼·mýi£åÃ,8 ÊNÀõåc¯—¦ÊL*PéÑ« ëÅ“G÷ã;K^€‘“‘BÅ´Zun£Ã‚­ndÙÁÁÖRƒJ])ýÞ¡  Ý”’ޱº°*U&6Â.ƒÁ`0¿õé…¨vÞ×Ö²#Ñ{slØÚ½ ×OëÀQ×RàtáãhÌD¢ÌÏqéÍÖÚL5õž*=y{é2Ê“ êÅi6xÒ´ÖÊò‡ÄŸÏìÉÿsê{½´Ss熥(V†‡½c0¿›Í16¿Z ó;QïsdZ'Íëo y·7žÿJZöuмØóÑ^>Š:²}ï¡ãÄ*l‚PmÞ³­2¤ß¼•¦ö kí!JBˆãnœ ;¼-àt @=ŒtÁ`0 Sçü„Ü nS×yãZ°¨G×xmäê;ñIáÝSGÂne7ê>qÅ\{]¡Ò´g;€†Ý:è×~ø¨ÒÃ&ôi¢ÁóY;™©Ï>U1ƒÁ`0ÌoD½Ì‘ù>øVLØðÂtì¶µ} ð, ƒÁ`þïù=Vp§ >Þ‰¾|úE4ée­‹] ƒÁ`þ ü^ˆ4íæ‘c7„ƼQãm±‚Á`0̃ߨGƒÁ`0ÌŠŸ0:ƒÁ`0 FØ Á`0 ókÀ^ƒÁ`0˜_öB0 ƒÁü°‚Á`0 æ×€½ ƒÁ`0¿†úZ/D$%$$ðù|©TZO"0L]Ád2ÕÕÕMLLØlö¯ÖƒÁü‡¨—õB„Bá»wïtuu¹\.ƒW!Ã`ªDUU¥Æ4 ™™YíÛ·¯?5D"QVVVfff‹-˜Ì~9¡é\ÅPf©á«ƒÁTK½ÄBôõõ544˜L&Aõ!ƒùpâÄÉîݻ׫%%%ccc„PRR’™™Ù÷fƒr“3ßN½ðU$ ªhµ1n¡¤Tgšb0˜ÿ+êÅ )((022b³Ù {!L5Ð4Õt\ž8qò§)£££óþýûï=›N|öiú•Ü|Pæè…YòÓ²žÉ¹Ù¡éF[55¹;(-~lHZ†nÃ#c Œ¾ipš¤`õî·Ñ„nà䯭Yß«i­‘f§L<obqf„¶z½K«qʃ›w‡ßyŸQDª¶°sž6s¤•NÑ&iBȨ±gœÛbSs¬­áóUC|•7…ÍiþNc©P«´}®ÞùœßØ‘+ÿ=ÿöŒ~Û:„iZúà‘Ä)LYÏÐù÷·Î^zòƒùÊsÛ4¾á%g"*9t´Û­©çwtQ­?EÿÔËèT„vA0˜G"‘|ß¹¢ô_™ ¢ª·v\«à‘¦­Š5è㽟$ÿÆ­"H×¾µn¿?”êßá© Ñ»}^>Óýü^¹~-âÀ"ûÜC³½OÄgmÕ3 ½®^ó],j1Ĩö)ëIâÍèø¶Ï› ‚©êkt*AØÁ`þ3HïßJMýZ$x›GóŒŒÖŒ€ÅÇŸK€ºv3slc£†Š^Üeq‘lSÓqªYaïŠøÊªý{XL±d3õöÉ×­÷sÞÒ,.·c»3Û³Îz-€ÌY{ pRâÙ×­r> ÉáðþlàÝYS5£ŠÜå%¥ï¸š›**qxšÎî¬eÀ S?&ÞÈxœ-ei¨9Ú6šØœ# …‚k/2ãM4Æ[©É_ÜŽe50ìÙ¤¦úž•ï_O¼’*áèy 0ë®A’¾|XQ% ’S"SngƒEKãÎéñÓTy6ïÎU(~óÜó±Ä¡ͮvJ¥£óÞÜKÒu\9̪!ÌmF/òŽ_ÿ:µ5d4ÿ}ø¦Õû#_¦Szmú{úÎîg.ç6)øV™fÞ;°rÃñØ/B­¦ÝÜÎwišsÌsÆ™ôB˜0<Ëñe¼’Ð~vÒà½-öý=§…•|Ò}ØÉnGC=Ññ—·®ÜyþI2ŸP5³í»lÜ_¥á *ûö®õ¯æt±Òc¿\ ôß~îy&ÇÜÞ¥G!]¡öKSj§‡ºOxì8Œ?vã mÖgÆ|ûøÝ›O=NÆN ¶,q2f!Qe‰ê¤$õÆÎeÿ~”Îiî4Á1iOôп÷õR((r©È”3³¼BSòÁÛY²æä†®*Ù÷ƒWm ËWnÀ4}ñÔn&dbȘiŸF#íxÑyç±é–lÉ×#r&Zb €DñüÇŠ|ÁúÃiΆÅý°Zû;.¨ÿx¦.ƒùa$E·“K0?øø»dJÙÀhõˆÊž‡Y9¯ŠªË€JL<ÇigÆAá™Ë‰/% LNX“õž­ébcd¯!¼yëýê÷d¿¬X,MŸá&Æ)ñ¾×³?s4u0°SÝ¿÷i{]ãµå© ´ ¿•&‡Ï÷ùGÃc÷ÅÈcKìRvÎÙüTb6jçÖÁúÆnûÃÊ\ u; n™w-ꫨ´›g¿4Ú»!‹ÎŠ^¹"ÚhÊž 1‘Çý;Ú™^ÑÃáÛ}³üo5œv02êè‚Cžó«1/•~-¼pØ®ó—º+_^9åÇóðåË{\‰+»OʼnA¡DIü ïEQÆž/G{ê^Øö( j  £ÁÛG Ù¾±«:va±÷14$àìÕK{'FùÎ9òY tZdà­±ë×hTâѱ*šñŸzÞÞÿTÌ•à êW·½,ª¾.0 Á^ƒùah*[$÷'Å?•‘H²¾þ´ö²à•#®önl`¶Ãíß!–uDE_‹T(æ¶šê ^–þý̇ê1´´8ê$ƒi¢Íæpµ&ôhä?°á@sµ?4H:­€FŠs£Sߦ>–Bc»&‹º5˜7ÔrBÝ„øÉýô$`öêÝÈÝÊd^_C}DÝ/(¨¶ Œ†æ›‡Z,u24³Àá~ýŒòÄE@¹²JTê»”»0îØt}߯ËG4é©\l£7J'Í;5?áÙfUKv¹»3Û|쾿·Œ´È½±ÇǹkG·™ëO>ͦèÜØàkª#çæ©k6ê6u^éõˆ%µ¡ðÛ7ï#Bß76£¥Žv#Ûqþ«fØiBUµCêtÔ"7&ꫨÔëgš w0b¡aëvdaŸfúªWM™ä¨Jç ߟ9ŸÓaÎ,'KmuÃvnÞ#M«›4…8-ÇŒäép4›tîdÂmïáÚVKY§•½µ®8[@)”XôùlX|ëé^½,´Õ;ºÏì­Á sª3H¨´«ÇŸ›Œ÷ÞF_M»‰ãômSΜЄ±‹ïTÇvºìªCl‹1Sz7â²µšÚÙK²’j룘úê‘Á`0ÿ!H¦±2<”ü©¡ç?Ä ¥½ý²ø®€`qª L3¹Jªª, ª™Ù’N g‡\Îù{÷ÖDÒüÝ4B ô Š,èIDEDš4°#‚ŠýPì bÅ‚ÝC»b9Ï *vO{C”"½HHßï,” Å;Š:¿çžçt“™yçݘÝÌ04Ô|jÜŧ3H¹ï²w\ÿ$¢ÒÚÉJê­ g—ŠHZª2Èȵ—Þ8.€¸S㾕,¯,++H?VÊ0(2 #`2T@¾ ˆBÂKŠ…X{]Ðdû(ÁµJ±›Ð:.æó@³ï¨éf£¦.(~}3zç†iÓK›BÎ.âeðvˆ® CÌçPÌ+¾ŽÄl‚WÙE‚rF{]FÕ&šžå0=q—I*ýFu‹¼•5E6ñRNÉ–ê$ ‰2¯m ¾üªSÒÓ—/à w®¸<·R±“£êEšF Ú-©© É0eH€a$Œ"Ǩ::a$ìËÿë¶(*Í(—k¯ýµ#jT©Ä]®¨;Dªz±,·œ¦m T•sŒ¡c ÏÉ.`4uCÕ¦aTÕöÊ”ªàHHɶ´¦‘/Ð(A*kÝ‘rñ…€¡ºrœþ@9È{óqÎ¥¢" é¨ömZ•ì"hi,óíÀd—ßžýgJá¶Ìn_¦mà yŸø1:CÌrèÚS&'þÅÔx)GQŒ©@æ EÈd^ù±;¹Šª,9Ù~h§Q*.¼Ïã åÔ~|â˜L2€ðsž@ÔA–"ä½`W½™¤Ø”Ö9‰‹Wkìü{‰‰,FSéæ8Õ/å‚Oâ» 3 %†ñ„“‡\5I ád¦æÊè3ø€Ì$xU[üƒû4¯Y €Ÿvnÿ=m ý¤ýJ…¤l6ªûú½×Òîü1£Ÿ2 @R|3hþ ÍÈ£Ví$nâ‚ᛈJ’uåÙ©Y\¼ ¤~8·D-’™ZŒŠÔÜJ¼'~*Jé²¾”Α4åÒÙbs92ÎÍM¯`2)ðm`Q¯Ú“›Ô4òº#ƒ ¿"IeîÛgOŸ¿Ïç·Ì]irz}ªNj‚\®8çUÚ·!}Œ•ªZÓæèáåYÁgßúŸIÿ;›Í‹˜J4:†ÑH¼Šë¯Ê … y÷*÷ð­´•‰UCiÅ´´LHðéîûÕ737œyàyñ'ªŒ)K]„·“ 3Ø—î¤m¹õ9ADù7K›ˆÅuC´»jcyïí’ËŸVžxó効që’´„×»Ÿ-{)¨~y‡ÑÝuðì’‡î¾ÊÈ/ÊÏ|y}ÿ¶Xމ£‰Ieà8³œˆ°³ËJ>Åœ?iΑtÑ×d¾JêàìªÿrçΫi¥Ü¢g'ׇŸûD¥W D•üº§î$¥¾®=òŽo:\dæÞ§êz.䉩LEy&ÈO:•Àæq î¸Ñ;¦š´9<æmAiö£c›ŽeŠx¦&Q‹4Ã#užîØu-]ž“tdçõR1Iµ¾„ÔBÖ´ö虵oÓ™%©Wvl}¢5Â¥þŸì¦¨Jýû!†F!ò ªLY7v¼÷Ô)cgýÔ2?æ$+ªÖéF•ÿyèÉ„Øâ¯C™!C»xk7|bY¦×§óÊ~J¥Å'ïþ+MlhÜ~­‚UÖ©—<x1ÙJfú#µ©™…±é¸E9 àó'n™”qEQmÅ=+uqÒãÜk%ÔæWþAgêêmªiÌ+9|çó ÆÐ!Æ!Ýiÿb¹WR×!q5VŒÔþCQüøeñ'e­1j_ÞÍÒº°’_Èåðk,kMR²Ú¿ÚArkë´ÊìϤ-Í Á€“õ Ëÿ(·ÍK4då¾ã¦µGOûB)( ¹!‡X´vm‰¤¼hÙ¼¦ª¿½ºfQîñB é(¢5íÿœ§QÁQ…»·O0"}Š=p•g²ÂÞÚ1!MÓ–F!4­!Îêñû¢Ô‡ˆKŸŸ‹<û$‹C×ên3~š§™&•èÜ ¯L;¿~ÕUUŸU³ª‘ñÊO7î=ÿ¾H¬ÜÅjìŒÉƒÕ>ü9g >oǬîtÑç³K»lYÙ?sãœSF㺦œ¹þ²˜ÖŽ5bÚ´a]™˜ çþ±='n¿Î¯†NŸáÓg¹ÓÙOìOܧ‡ûâ’UÃ]±óÇßÿ´a¼A믬ˆüì<4}úôê[öìÙãå5¹ UHJžœ=}?‡ã üü¶jVBaRôî*dÀHr†ŽžŽ†ŒßùªDëÑÖÛ0¶Þ+Üy¦HB¥vꪻÄZC·mžiýlh¼ÖÍÎ ™çQAbêðÚ´xZ õgÓ–F!@V³˜6%}ñÞ} Fó*Ý*.º»mc,}좖šoؾAnýz×vµü8/=fËêËJ^«üª‘/OÙ»æh‰s`øÒö‚—g·­9¢>~° l¿—ÎïÞUF”—x·ØÐµ· 2¡2õÄÅŽþKwPÒb¶o‹ÔÞ6¯Ó“ˆˆDi!þ¦*Ü×ç6l9?xMµæ$ÅñGî8MœÐC·MåùYU 8¾ Dš<î³=ë#“kÞb¼ºxôUÕUÊXÖKLЙbË#µ7nnܾµÃøaŒ.n¡ÇÝB[;äǵ±9Yuà4ﮯöí/þ¶cQRì;MW/û.ªrŠúã'ܸUkÂÎϺº9øpZ¯™Ó,5¨€—¥œ{È6uxwu9¦®™‡wÑû¤ŽV=Ä)÷2ø ʉÿ§´‹½‰@¢÷™àÙ_W©ÙÛuª½lJìó ù>sÂ×û ê "K“‘•“Áxe¼ à á4ÝsP·vÊ„—e¤é¼¼&ïÙ³~l™Zß?h2•‚>«‚´-mî<ž¬2ÐwjÂü¨½÷»z€¸¢KUÓý²’FWו«Ì¯T¿"*~˜ÒÙ©7ùÆé»y=œ´È ®È/åçœ]îSõ½+ò(½+%²]¬º #ã³}*¦²0yÇÆXÕ™+ÃÌ´èXåÓ³Öó·ž÷4›‚ÐÔŒûUM åÒ.Ðà%@®}‹AMø ‚ HKjcwdª”øøvO=y>“@V5sì’{æàµ÷%ܲŒ{ÇŽ¼V³±®=+£Òi$’r¯q¯y\†cJ íYpjßå×eŸSÎmX²öB¶ŒÑÅʨüÊ+=‡É}FHxÉ£2Ùìœ'í½ÊííÜ“)â‹©rò *‹ŸÇüý´œ_ùS>™AAÚ®69  )÷›:íË‚Âd5+ÿ@'üêz?/ß SýýŽh/å7)dMkW•¤}'_qA±Ÿß‘2wÂçzû,Ø•¤ê±Ø»»,`Œ®VÆd.ý».ß×Õ¥iØ –Ä®žéû¿•ÝN﫤Ô×ÛC?y½ïoÿ ·e<ûˆ/oØÿ=•ùIÛiÕµåÿÅ2\‚ Í oÉÉÉ 9jþ/p_ìô™öç«Êo²ÞkÞ™,akÆ„ü¶Äb‘X,âóyÒþ KNNn™xZ¬¡ Ì8ìaí¿|ˆtµžŸÀiJáʧ«†o~ÅÃñ*.¤(vJç-¯ùÿEeÿ’èóñ±ƒgÞ-ÿÁâßÒ[SŽ9VG3ü‚”RüÇ4¶ÑŠûó¬Ý¥ÿÜßÞílËVÕrÚà¼f„ Ë‹3îý•DíÔý`A~RdõÁ³õ®ÿiÍWAÿP½#ÓLøï/ ú[h=uTGôciq8?ãÊÆi.ƒû²XfV£¢ž”I€ÿ¿!“ŸŸî2ˆÕßÎcáá§l)¿ßÿsÃÉ>ˆœçfcÆ2w¿,úE™„°AúÑ™þgó³ûŒ IæV+..JŠ p·ëÏ2³5sÛÍÏÄÙч.‹½æã2˜Õ×zlÈ¥ÌÆ=Vœ=Ñ9ðøþ…îvýÍl<‚Ï=¾¹}ÚpKËrLpl¶PJ÷„¹w·Íp±ìÛß~Rè©èé¶>q¥8H8ïþõr¶`±8y¯½˜VYkZš8ÿîöY#,Y,–¹ó´ðÛù_Ÿ¯†ó3bB'9[°úZ{®¸˜)¥‚ÔÝ®ËU= E9Ú~iõ£à¼O±ë½²ÌlÝ{Y!Zˆ;ò…(óÈ8—ËgWzÚ¹íxÇ#èaq‚F¹WÚÛ¯ø¦ðÓþ1–S/ä× F˜w{³ÏÐ,3·€}IÅb€†²Gøéj0lâÏ$Q_‘É0ñ'³ÁªÚ¼ßkBï>kÏñ½«½L•ªõ[¶÷¢[\ÑÚcÒÜ$E7V¯º¡=cOÌ͸¡?FmŽË—çå®#‚1Û.Üø+tp~äÿÖüS*‘²±qö¹Eç½#.DzÌÙ°%…KÔJq» »·Òзïtëû„0q^̲Çq×ð ·®Dúj]_pô£Ä×#t[·ß›ycKäsâG—Õ%ο}®ÂíÏKWxÉ^]=p¦Jþ IDATc?}æá«W÷xb×"þJw_˜qrÁÒë:3\;8S-fÇ#6€³ÖÍÞþÙ2ôôÍëÑ »§¬›½-…[ýHZž|ž>9"öFLÄxìܪ)U!✔CÏLCÿºyí Â­íQ/*¥õ±¼7{ç…Þk?ë@Üõc‹»=>òŒSk$m?~C^ÜÖåÉÂ<”’ëv„°8Q£ £¡ý!éÊûJf]Í3m®Vû˜ÅË8y·+æÆ™Õ6E¬¼Q(j({ åÓUØ8Q)±”TÔ_Uåf¸î'³ÁÕöý^£AZ¦hzúèG# y:Á”Ÿ%\1þ3m;(+ê™O]ä&<‰M¸±ö÷«0=6ú]×YþŽ]TU ,¦„®ñ·T\Z+uˆónx¦;uÁ ¦Jg§9þ½sÎ^Hãàäö®¾NådTºÙÚ´r{~‰Ó»OÏR¥+u8@—aêíÙ[YVµ‡•™š ˜+&ì~åÇ §3zΙmo¨¢ Óßk®ƒ"@Rð¶üøEYÚ JÖ~ íDwbS«OŽ'Q¨$!;7—-Qéé¹õÂéÀž_n1Ó 'Íp0`Д»ZZꋸÂ>Ö; á½;{©¤_À<ç.* Z}Æ-¯W{~sƒ–`:Ëýœút <:DЂâÂFÆÃúŠâ¯~à0óÚå"·þ*uYd9›?k%ÅvæSQxxòÁÇû d¤|º›°”q*ê­êÅóÍpO&·ÁÕö¡+‚´Œ$ʼ¶5øò«"LIO_¾ìëb€åŽZôª?Ó´ŒÔñøÜrÑFq­%zD¥™åŒöºŒª#MÏr˜€˜¸•:Äe¹å4m¥/+"2t ä9Ùe" *ë«P¾„ܤ’d˜2$À0F‘c|­“Ú}QiF¹\{í¯]Pë JÍ1;»ˆ—qÀÛ!úËóÅùŠyEõ㼜ÙÒ?—Ÿ4 A¤eHŠoÍ?¡yÔªƒÄM\0|SÕ ¢’¹<¼ æ½+E 9 ÁFyrAÍ ÉLM÷i^%²?íÜþ{Úã:?"n¥²‚¦¼àA:[l.GÀ¹¹é Cæ—cø¿&!a÷ÉL-FEjn%Þ“Ž ? ÈL %†ñ„“‡\5I ád¦æÊè3ªUÅÉúTiè²ß7„›•xx颀Jý³ Ãj.½¸äËàCX”QR}XBVÔ•g§fq«r/(H-¨uéDê~üîˈ°#íø7Ô̓”Fåz ÿƒ»áÊ]ì^™i€)Ñ“ê„Erù¸! ä½-ÄTõt´ëÏÑGNž\PoØúŒÔÓuJ© îHIE}Uirüp†k}2ÜY?f¹#ƒa˜DòóÍ‘AßÇ£R›ñѸ'¦2åi˜ ?éXT›Çà áÞ ßyíCqqÆý}ëNqÌÇš)mTª} ¢8»ê¿Ü¹ójZ)·èÙÉõáç>Qé$i­ˆ*ùÕO‰ÉšÖ=³öm:ó¢ ¢$õÊŽ­O´F¸O\—”¾¼{ç]ù¿ù^# Œf8b¤ÎÓ»®¥±Ës’Žì¼^* ©g–vâqvYɧøƒó'Í9’.ªÞûòäÍ3g…_KcóbÀÈ)_åÄ}”e¨ÒÙO¯%fpøEEܯ>¹èG SMÚó¶ 4ûѱMÇ2k_ƒ’žáZH*D!*.#¥QL¾Çð^¥§6žb›¹öV J8··ì¾™V\œqoïÚÓ<ë‰ý;Z4=hàÓE6FPªŸ¢¨þTVEéòŸe¸áÕö5˵&“Éf³ÕÕÕkË©#>>>>>¡µ£(**RPPh¶êI*V~7–Ìs8IUïQŸëv„ɨ$ÌÃÂF1f/—>ä;)Gõ’'L«¼‰¿‡øÈ¬a‹JäºØÌÞØ_Dª?{ÐÀ§‹8ÿ uK©*ðHaU2ð#¶ØnX·û í¬Ÿ†ãÿýŒZ.—ûþý{MMMUUÕf=µBŸÝ½{ÿ4fbkkkjjÚ|a…‚‚‚ÂÂB###­EWÒàÄÿoø–žû{PØøKdß¿žªk5È€𞇹Îç¬>ÚG¶µãj;¸É+FQÂÎýÁhøÍòcŸ®ßç3ÙšåZƒÁ022ÊÌÌÌÍÍ‹ g§# +˰µµmÌ;=zÔ|aÉdEEÅ–‚ ÀyU¸{û#Ò§ØWy&+ Ñ’Š_àvAꕽ·i¶»ÿ«!ÒÖ4×ìT™N:5Så‚ ¿Z'¯u³sCæ9FT˜ú¼6-D4ó÷Tù<|Òì·åSŒÑÈì—Õ,wdAA„V-CA¤u Q‚ ‚ ­BAih‚ ‚ Hë@£AAZ… ‚ Ò:Ð(A6M˜¶w´Í‚D®”—yÏÖ8»„¿æKy¹©8÷ý­=eU¼[4D”yÄÓfn<翈A~9虺‚´idõÁ³õ6l½5][=ù…¡k!‚´Qæ‘q.!—Ï®ô´sÛñŽÇy÷w¨—³‹5ÀÉ{íÅ´J„¹w·Íp±ìÛß~Rè©èé¶>q¥¢âûn8ùA ο»}ÖK‹eî<-üv¾„éGgúŸÍÏ>î3&$™ ©[gÃâ¼O±ë½²ÌlÝ{YQû©p⯈³£']{1ÌÇe0«¯õØK™µŸ£Nÿ÷u!q~Æ•Ó\÷e±Ì¬FD=)“H«STø rž›ËÜaü²èU½%è‚üìÐ(A–#ɋۣÖ?¦hzúèG# y:Á”Ÿ%\1QüôØèw]gù;vQU1°˜ºÆßRIzïä§†æ… Òr0šº¡*@ÈÎ.âeðvˆ®:ó9sv!»\®½6£jM­ƒ*5£ZY9³¥.?yìèÜ¡‹8zƒÜ¼¦y9*TŸ¬!&ª³BÜP£¥üJÅNzŒªGÈÑ4ºhÐnÕÓª²¾JÕ×&VçNTšQ_üI”ymkðåWE˜’ž¾|þõ©uµë•f–3Úë~­GÏr˜€ð£”Þ!ÈO BiA‰„™©¡Ä0žpò«& $œÌÔ\-þQFEjn%Þ“Ž ? «•”p²>Uz„ì÷ áf%^º( RÿìÂîßß@X§>ƒÿ¡ÞF5¹äÙ©Y\¼ ¤ÔžëQ»RyKfjÕñÍ ù'4C"Zµc¸‰ †o’R'™©Éà>Í«ÄAà§ÛOÛcœ!aïL8‚´mèŽ ‚ -¤2pœYND؉ÇÙe%ŸâΟ4çH:¹Óˆ‘:Ow캖Æ.ÏI:²óziSýòäÍ3g…_KcóbÀÈ”¯ß_¢J¾XJ"¬F)]F SMÚó¶ 4ûѱMÇ2ÅR‡ 1¬7~\ÈS™Šò4LŸt,*Íã çuÐ œ]õ_îÜy5­”[ôìäúðsŸ¨t qï$¥/oÆÞyW^{J-‚ü$Ð(AV@R± ÷¢_Z<ÚfˆgÈ- ¿­,9Zlj›VX¤m™`ë軿ÒÙÍ@–Lùv™€¤é`önãX[K;Ïôg…M7’ i™™Òc|F.{È%¬³ÁFe:{o ¶ÈÚííd?!ìµ™ÿp=êvªþøU¬ý:ßç`a;jþEÙ13-D'æoH©$¨‡jà¹i­]nÄ;Kǹ—”}7ÎëÍ Y—‚·ÜÌTƒ ? ÇÑ$kAÚAöý멺Vƒ ïy˜ë|Îêó¡}d[;®ÆúÙãG–‡®… ÒfpžF‡þõºB"á¦Å¸Ê3±5¤7\ªíøÙãG‡®… ÒfàÜwgÖ‡DÞüTAbê¸xBåŸéTégAZ\³ŽB„'œÉ¬«ßî•ÖªMûÇ(Ê>8/ú³Ñÿ¢VÍùþg&ÑÌ1þ›?gß \±gnwz#*©Q!ÿåö+üs–±Ì¿ê0‚ ‚ ל¿Ôdܺ€¿K.²tP¯o1 :HrÌm—êhRtÂz=•ü'•#‚ òo4ã(„÷áÚ?E kÜOéõƒ×óí†k“Ên˜¹ñÅ"x·Yq^ìâ9Óu<¶lt¨¸¼wßÅät¶$§ÝË~ò ÷>LÎÇøw>õñÖ±F”xÅÛ‹µß\õ£yIiʱ·^—Éu4w›ám§/+‘RÉ÷íŽÔ‹ WÞãÀÓ‹«¿¸“N°ìÏÿõbàìû¡Ó·½TµqËXý/“æ…éÇçž+¨–¿?–D-ùC¯L¿süàß÷ßäVPT zÙõñ‡Uvhîâ˜Rãq*÷.&dp™í}&õS%ƒ°àáéÈã7^|.§¨w·ñôo¡CCã!Aä7Ól·,qÎÛ¸Ä2Pä9vDW 2®ßÏ&ßmHo:pžÇgð/{“ g=@áÍÁ°£ ™r½Gí§œÿäìÖý/¤>E›ûBê›ù/ÏÇKŒ-Ìt¹îì]¹¯ÞÇA|EѲ˜ÑK€nê·bæè¡F$¨|q?ÀýŸ*ÍAu¾ÿn¬lê6qüøñã=ŒeTôÉ )}°{Åî«/¹úV#†ö‘ÏJ:µ.øèÛ¯?À¿>›¯eÒSØï/GÃÁÇ¿Vo<÷TÔcä„Ñ,ê«Ë;VD=oL¬‚ òKi®Q^ñêJ2ÔÙvÒîãÐ 9·îf “3²ëÃö“¤l>'5> ‡öÖýÔÉ ¬qSg.˜â`jÔAÀ+,æK9*ã@ôæ/+öh¹­òŸ°r±µTÄ_x^шC;UQK“I Èké¨jþaß åO²ø¼Œ„7|ж4¯6’BWëá#\ì» _½©ªÑ¤Eiâ„3¸ >rÙÒéã'Ï žk*…·¯|ø: éà³vÕ‚¹‹—LhÀÉÌ*羿x5äϘááâ1sî05`ß½ð¢1±"‚ ȯ¤™îÈàì”Ë)|Ƨ ‘»I\ àî­ôÑS:1ºØ™ÊÅÿó09½GÎ;!è[›©SeÊdòŠŠŠ˨ê(ðê­“Qúfªnu*Ðu»i­÷%y’öM‹SèioB}þäQRÆ@á‹rÐv6×®"qÁ?»ÖžIÇUm,pnG”ç–uºjRc´ë¢>”pYI]Ž€Ó4ÀÅ~q>|ç[¥…ŸËÄÀDëé#‚ ¿“æ9îIŠ’¯¼@Éóûߎ´Å÷o¤íd,ÛÉÖŒùÏ­»—b¹èàÑW,øx6âÜ N/¿mVêyÍŸ:GzÕõ½Y˜ý¾PØ»…÷ùUYYS¾É—z0f·!½dž$Ç_¹ŠîØþš53„sßœX·3‰C5ž¼lÊ $2S‹ Pœó6_hj@Ź™ï dU•¤ÌôÀ¨ Ê2ôÁþN:œ_ø1-_¨ÔS¥IswAäç×,£q~âÕ÷8hÙ¼yL; àe‰kg„?M¼ö~¢qO†¡M?Å[ןzšª’A$Jiw/žÎà$_Éúûa¼¾7çœ]ËRʺ—Pж£Lä±ÒF„‹Qhd€òwwï¾Ö±1V0Ò[6ùÁ?÷ôÆ÷ת91–ót_Øù,….ŸÕÞ6Ûõwí{bËÃskÖUXT¦\}ÄQ#ºÈÂgÂöd» µQ}p9þÒ sµâo¼—˜øõ·G³SAßLsÌ åÜ»– 9 ß×c8Æ4Ü• œä¸7d ¬(t¶ë£JéäæãØY‘óòæÍ縙sG ÷é‡râqñ›«&UP;Ùôà?½!kh=#xrwFãì´vÖö]å!çÆ…Ä|`r]‡ô‘hoÝO£æ œW˜Í({r1úرcÇŽºø–ƒ“”ûÏZé7ĘþñæùKËtÌÜ—¹u”¾ôˆl×qËý:W$þuôô½b[ßUó­ÔÐ¥AäwƒÖN%Ày¸Êgãs½É;ÖÕDƒAi&h>dM’òÔ„Wÿ~)Æ:Û›¡ë‚ ÒŒÐ(¤&QÞ?Gßåé°&Lµ@ƒAiNèŽ ‚ ‚ ­=îAAÖF!‚ ‚´4 A¤…à%W¼Y,–MÈ“J ;)| ‹Å2Ÿzð5÷Çî —ÝðeU7ÐaüÒ#OJ%RÞ.L?àÆb±|®±›Òœ ç㜱X,3«a^Á‡‰¥¾Y”yÄÓfn<§)½à=[ãìþš_Ïvqvô8«YÿT4¥ZàÄÏ4$4åÛC­ ï®w5w\t!CÐÄŠ¾¤EŽªžðÁ.36_Í”Z›0mïh›‰R &½ïÍ¡)mýÈ~lI-™·f†f§"Ò p΋}sü¤ö˜¹m²q#÷‘B­¯C? Reîë¤Goã¶ýO¢n­¥Á)™ÙÕ~äÐB}=jã›ã¿Ý;;ð|‡¹kŽ9uSç=»´5è (Ç#ǵ§6\¸-åÝXë”ÜgåÁeC´þMìÔ.‡w:©a¸˜›ÿâü†eA‹ÕN"LY}ðìE½ iÿ¢5äW‡®… ÒÒðÊÑógD¾Â¼ÿÜ>µ‡<‚ì;;ç¸Ùöc±¹ÌØx9/Î?ïݗż$±$ÅWg˜±X.»ÞÕ=ñfôž²låÊUöDðÓ¨xŸ)IÙÓÃKÆÙ›³X,3Wÿ]÷ Ä .w.æï;YBø¯ÃY¬þ3NþµÖÛeRTšÿj£‹Åw2»ú• ûõƒÏjNSÝú¶W–“Wëh>qé{åœÜJ$œw‡z9[°Xœ¼×^L«¬q‰…ðUQáƒÈyn6f,s‡ñË¢_”I„éGgúŸÍÏ>î3&$¹ÚEƒºÛq~FLè$g V_kÏ3 P ûòŠ)Áφíú:©[–ûx¥½ýŠGUA?íc9õB~ÝëJE^IIYYYEM×Èj²oZjÂGÎϸ²qšËà¾,–™Õ耨'eßÿsÃÉeçrùìJO;·ßvaí>Š‹’¢Üíú³Ì¬GÍÜvó³ vwêd€°”8;zâÐe±Ã|\³úZ ¹”É­ÑVÍx¸ µûQ¥DE¸‘h‰óïnŸ5Â’Åb™;O ¿/²Qêg£Á¼µih‚ HË~¾¸Ü7<™×a®Ý3zW=‰ÿvßìù„fSü}QŸ ò K–0úp’®¾ãp^Ž€ž³ƒ´k 7ïõÃg…ÀÔ`’+’7ýoûµT¦¹»×8[µÏñ–nL"¸Ÿ!Jß“ESS¢bUI[CEGSžRýB IÉĦsÑ© å»Ï?H-äK€¬å>ßL ;aÝìíŸ-COß¼½°{ʺÙÛR¾ßY"|U”}nQàyEïˆËqǃ,svlIêOؽ}”†Î¸}§CXŒï SkoÇ9)‡ž™†þuóÚA…[Û£^TÖÀ78?ãÂòÉAÍÖGúºQYè:´?$]y_ ¬ë±yÆ£ÍÕê;FH¸i·Î§ðÔ:kÐ@RtcõªÚ3öÄÜŒ;:ðcÔæ¸š#I^ÜÖåÉÂÆ|½lR³â¼˜e Žã®án]‰ôÕº¾<àèÇCNqÝìqAZ)qÁõˆÝ–FÇÅí÷fÞØùZ½V>¿ÅãN¿V»ß»@ÔG⨈6„°àóôɱ7b"ÆcçVíHá”m”öÙh0om\sÝ‘áóù™™™G$5S‚üW(Š‚‚‚®®.ÖüWÏ+Ÿ\L(Ê.¬ÄA€ûüÈ© P4ƒÅ˜ñŸM8{øÑœÐÑ,Êã¤ÄëyFüë)ŸÿæÍ›nݺQ(Í=]ŒÑwæÒ>÷Vî¹Õ~¯o7ð ²+ f†eÌ·wå~*eŽr3£%Åß»õÞAĆöㆴ#<†©õuè§A’Œr;›‘N&*$«Ð³o†o[%’ÕÐWª$*@îп‹|}“Dp1Ÿš}GM75pAñë›Ñ;7L›^züØrv/〷CtÕ‘ZÌçPÌ+¾^:³ ^e ÊíuU›hz–ÃôxÊFUm¯LÀH$LZµ'Îâ@í³8*ÈJpÚo|ðêþ'68j¥–•3Ƭ‹Kó£ß½RÒkN_e¢+!ÃÙ‘›†¨’#јjjÌ/“lH¢Ìk[ƒ/¿*”ôôåËðÚYÅhꆪõÌG—å–Ó´ ”ªŽCÇ@ž“]&øz4•fÖÍžà”R@UÖW©ú$c„×s¾Æ#Ö.A‚>FUù˜`£ð#QÎéfKÿ\~òØÑ¹Cqô¹yMórT ÉmüѼµuÍòu“™™©¡¡¡¨¨H¡P0 =+AÚ: Ã ŠŠŠ>þ¬¯¯ß¼)ØLëh2œòÑsq\伵ޝ´‘UV“ºz“§>çå¾y-T3Ó¤*©¸õ§Çß;uòÁ`–­áQŒÑ{ʲ•fŒê›øoö¯:ø°¼ðß›‡kÞëá™A F&×ÿ ÅI\ì¼ZcçßKLd0šJ7Ç©~)|ßUø˜i(1Œ'œ<äªI '35WFŸÁÿd&Á«Úâ¿ܧy•8Èbü´sûïi{LèǨ7‚ï±Öú2%lB¿vedåþ®ƒ´©4p_½0ÑsMÐßÝwŽiG•V–ÖcøÜ Wîb÷ÊLL sC’QÑÖÕU¯yh—ß šB3$ò¨U;‰›¸`ø¦:ñW ž¤!+hÊ ¤³Åærdœ››^Á0dV;D‘™šu³çÙNj)¬Þæ¾ÅÓ`»õ÷‘B•» ÁÆq†9o‡g½¯4ôÙïÂÍJ<¼tQ@¥þÙyŸêl\Øø ©¿j–y!åååL&“F£QiªþmФ;yòÔ‡Ølvs|'ÔEV·]>QН,]pô=Édœ‹&_;vÿü½}ÅÚðÝwyL Sè=ڜٗ¯dCÇáR!Dp±PÀs4rKТ¨ €Ö‰¼ßëílïò¿˜ÓÝ] Ï.Yqèü¢üÌ—×÷o‹å˜8š(TŽ3ˉ;ñ8»¬äSüÁù“æI}=ð¾JêàìªÿrçΫi¥Ü¢g'ׇŸûD¥W} ‹*ù„?ÿ•¶]Z#ý¥ IDAT"©G^Šö°+,>lY|ä_jYL¾Çð^¥§6žb›¹öVhÊ)$.䉩LEy&ÈO:•Àæq;I²ªdMkžYû6yQPQ’zeÇÖ'Z#\ªÿ¼†f@=a)éO4¯›ÏÛ­¿¢¨èD)D9V$ož9+üZ›'@¦Ê‰6þhÞÚºf…à8N£ÑÈd2º‚ ?‘ââb¡PØR­aò½üÂûÐD/vÌÝø¨ýÌ]«={°oìÝy%¿Ë¨¥û7 Ó"` ½Fbtr±Ñiü ½›Ïb÷ž*åÎK­Æ“2_K]H–æägçUˆª?³!`êXwÏ)þ«Ž<ÈŠ‹oO˜yèCÕs‹ÅWÿßߟE€ rî™=ÙÃÝÝÃk^Ø™×ÿýblò+8xðŒ ½újí ùMµ•Qˆ‹O<3œ¶iïÞÕ®ŒÄçßñÄEw·mŒÅ‡,Úy`OȵÄí.fË÷¶5,˜˜-qQòÍÏzCjQðÒĈˆDu÷?ìÝ<ûÏŒ/ªo­fùmyyMÞ³gÏ·¿îÙ³ÇËkrË4-LÛ;ÚfA"ñräRðž­qv Ío®˜¯|µkt_ë…׫}·ðÞìmfüO½K÷QæO›¹ñœ&iÂîhÊ^ø¹÷rC~¤wÕUë©8;zœÕ¬*þÓúBmhd­!nƒôdiŠûõוT ‹’bßiºzÙwQ•SÔ·?Á¨àÆíÏ »Ne‰‰ÙB&ßÎ5°ï§N`ö™¾ÞgPYšŒ¬œ Æ+ãµúׂ´Qß"-9²úàÙ‹<~¦mU‡Évó^å¥r{]ø½’ªoÁÇ“«—ÚͨԖ¾I«™vÇϽ—Òܽûµ³G¨-ýÛ¡(ê(V-XõDf §KUÓUø²®®+W™_!QêiÛ©,!)—_˜|§ ³#K…€aâÜ„#kçÎ[´v_Ü;Žž¢‡ õ©ˆ´äÄÅ÷ÿÜpòƒÄÙч.‹½æã2˜Õ×zlÈ¥L€8ÿîöY#,Y,–¹ó´ðÛùb¦é6?û¸Ï˜d.àüŒ+§¹ îËb™YˆzR&‘Rˆ DÎs³1c™;Œ_ý¢L á¼û;ÔËÙ‚Åàä½öbZ%NÔh=d»y¯š¬tmõöe}>¿&2gð²ùƒTH .JŠ p·ëÏ2³5sÛÍÏ©»]–?ª:¯¤E޶_Zû¹tDq6¡›Äi® €0÷î¶.–}ûÛO ==ÝÖ'®TTÿîø¦Ö^ ®ÿçÞËÄ{ЍT½#Êó÷ôÔÎ$Îψ älÁêkí¹âb¦à{ýMûdþÌÚÒ(j=‚—$§Êf—W%çfséjrL±§]'v|‹„;ÅÆŽ& ÎNÚ±1–ê¼ lËÆUKf í@G£i@ Aj\xÐmit\Ü~oæ-‘Ϲå aÁçé“#boÄDŒÇέڑ¥êOؽ}”†Î¸}§CX IÑÕ«nhÏØs3îDèÀQ›ãò%„U‰³Ï- <¯èq9îxeÎî€-)\°ÖÍÞþÙ2ôôÍëÑ »§¬›½-…[V·ÑzÃ–íæ½ÊK!vÕ®‡®†íJ°$ÐJ•⼘e Žã®án]‰ôÕº¾<àèG©Ã„ïI Œ³ÑÝ$®“(aÆÉK¯ëÌÅœ?iΑtaa£’Ò—7cï¼+oôíÈšÖ=³öm:ó¢ ¢$õÊŽ­O´F¸Ê2Téì§×38ü¢ÇÇ"î—Õª0NR£»ÙøHº©ótÇ®kiìòœ¤#;¯—þÀTǪ½@ÜÓÆŸ¤·¡½\=k{ —ª42†Êó—žþh¢~5¿j¿ù¹4‚ÌÞmkkiçòþ¬°éF24-3SzŒÏÈey*V~ïÎs°°5ÿ¢ì˜™¢ó7¤TÔE5ðÜ´Ö.7bŠ¥ãÜKʾçõfIÅ&8Ü‹~iñh›!ž!·4ü¶²ˆd] Þr3_DP71²Ö°5›<áôÜ¡VöS#rlWo™Ü‰FÖrœïÕþÞ2WkGŸý"é&ŒFÄIj|7 ­ãÄM+,Ò¶L°uôÝ_éìf K¦4îÚG•ï{KX£+jK{¹FÒêî))¡ÖŸ§ó\-“?’¨_†ãÿý,ÎG™˜˜P©Ôÿ¼fA~ŒD"‘HêuëÖm`kkkjjÚra!-B}ÿzª®Õ À{æ:Ÿ³ú|hÙÖŽëWƒòüеA_çiTpè_¯+$nZì«<[Ã_õ'­ å¹éÚÊìTA¤™Ð:y­›2Ï1¢‚ÄÔàµiñ E´¨Òåù ;2ò[@wdiƒšåŽ †a zŒ ‚üd”••ÐÉ‚ -©YîÈ0™L6›­®®.õ·Ð‚´¸øøøøø„zÞЩSg…‹A¤YF!ºººïß¿—H$ªªªèÔ AÚ‚ú‡ rr ##cUUU–Œ Aß\³Ì >ŸŸ™™YQQ!ÿ²OD_™LVTTÔÕÕ¥Ñ~ÍU¢i›šk‚ ‚ R?´^‚ ‚ ­Bi)œø¹ƒ†„~[Ž[\xw½«¹ã¢ Òž OD9ŠUÍ`—›¯fJ­A˜¶w´Í‚Äú×Ë®KR–´uª“¹å¬›lœ÷l³Køk~«¨VPœ=ÎjÖ?M®£Î}kÏcY_W^”yÄÓfn<çß4ú/4)oÕþß…ð-?ò1¨ÿ~ŠF@«–!ÒDy7Öú%÷YypÙ­¦Îa§v 8¼ÓI ÃÅÜüç7, Z¬n|pR{¢jÈêƒg/êÝ„ç­Ufýs#£÷¦KkÍ0^Ë"? z›¡úüüGÅ‘z k!‚´8AöåS‚Ÿ Ûôu"á¼û;ÔËÙ‚Åàä½öbZ%Î}¼ÒÞ~Å£ªóOá§ýc,§^ȯZˆ£È+))++«¨éYMöíOKMøÈÀùW6NsÜ—Å2³õ¤Lââûn8ùA¢Ì#ã\B.Ÿ]éiç¶ã]µk'uK sÎΛSrm{àõgGfúŸÍÏ>î3&$™K§”š…éGkÀù1¡“œ-X}­=W\Ìöºf¢pÞ§ØõÞÎYf¶î ½¬HÉpâÿ7dòáóáÓ]±úÛy,<ü”]cÍ&qQRT€»]–™õ¨™Ûn~HI¯8;z¢sàñý Ýíú›ÙxŸ{|sû´á–,–å˜àØl¡”ÖÅÙч.‹½æã2˜Õ×zlÈ¥Lnî׌¨ZÂï”ÕÈÑ>%ìlýøö1>ˆœçfcÆ2w¿,úE™„°Aø«¯›I¢î7åêÞïGi÷ý-ìBßœ´3²ân‘øÛ+âÒ{ˆ žõ0›]òñæ¦1œÖ=æT< â¸:…‹ã¸ mïèAÓb Ä8Îÿ°g䀉çó« ‹9..²1uÞüЇ‹ b|Í‚c^籋>ÜÙJ-àK¾7MT ç½Ü4ÜyÍÓJÇñʧ«†o~Å“§@JÍÕ Š>÷45²ôÒG¿øÅQßAv+q k«V¯|µ}D¿¡+.½-bç<:0ÝÂÔÔýh&Ÿ¨TùýyLÍF¯»–V\šy×äÖ·Kø‡=¬ýïWà¢ÜóÓÙÌ‹~šWVô.få°îQø¢ôŠ>kʳíAaeÉ‹C“ÍLûŽßó¤˜[˜¼kLÿáÛÞð‰3 ü||l_³áË.|¨à=;ìka³<™S½ûÕS#áÕî ¢Î–Õ›oÑçÓÞƒœƒcÞ}ü'bŠÅG)Ÿjñ/N¼ˆ°ûHã k!‚´ IɽU~%]uËo¼úv²*)?x[~ü¢‰,m%k¿…v¢;±©dãa}EñW?ð@˜yír‘‰[•/ßX‚W¡Nf,‹Å2³tyÔÕooWÀ-BO]âh¤!O§3˜²·„[c¥ ¦ã±ÜÏ©¡íûUÿKU¯€0N¾”šk£Nšá`À )wµ´Ôq…ÒjûŠ÷î쥒~󜻨(hõ·`¼¹žH ÿ™¶”õ̧.r“‹?žôu†…8ïÖ‰gºSŒ1Ñ`ªtvšãß;çì…4Š”ôâôî“Æ³TéJÐe˜z{öV–Uíae¦&(报¶Ž“Û»ú:u”“QéfkÓNXÈ‘¶|6q0Ò®HÛ;­/ßÓc£ßuåïØEUÅÀbJèK%Àý ¾)ÝGjCóBiA8Pû,Ž ²œö¼ºÿ‰ Žd1;»ˆ—qÀÛ!ºj˜!æs(æb9“a,Áº¸4?úÝ+%½æôUþzÚD1œ¹iˆ* 0©¦Æ¤VúI¢Ìk[ƒ/¿*”ôôåËðÚŒ¦n¨Z{òÖP©j¤Ä)¥æÚ QUÛ+Sªš$aõÕö­¹òÜJÅNzŒªˆh]4h·¤—¢(wÔ¢y«–‘:Ÿ[.®ú«¸,·œ¦m D®Šƒ¡c ÏÉ.Éu«›^1d˜2$À0F‘cP¾¤ «7@UÖWùúÖúÒ %'Nš”½CÐYQ=øFTšYÎh¯Ë¨ ‘¦g9L@ÜÈÏ€´àß}¤64 A¤‘•û»Ò¦ÒÀ}õÂDÏ5Awß9¦•ÌÔPbO8yÈU“Nfj®Œ>h=†ÿÁÝpå.v¯Ì4ÀôûãII2*Úººê5¿î%Å7ƒæŸÐ ‰TŽ3ˉ;ñ8»¬äSüÁù“æIa€É÷Þ«ôÔÆSl3×Þ þvòÄT¦¢< ä'‹J`󸂆õÙ¸R¢J¾¤ÆYª‚„¬ÞyÔ0Õ¤Íá1o J³Ût,SŒI/%áÞ ßyíCqqÆý}ëNqÌÇš)}©‹¬iíÑ3kߦ3/ *JR¯ìØúDk„‹!­‰ém\Ì v_Z0ĤíºU®/ßÐ œ]õ_îÜy5­”[ôìäúðsŸ¨t’ôÏ@­ø‰ƒ—! ]RúòfìwåèÞLýÐ(AÖARµZ¼zhÉžÅÏ8˜ŠMp¸ýÒâÑ6CréRjIùÛË^zø¡ˆ/§mb7~š‡™:EXððtäñ/>—SÔ»ÛxúŽ·Ð!~ìöç3{â,V Óþ¾¯x{±v댑³—_¯ìæbÝ¿ù²LÁØa²G»”#Çï|(ct°™2ª…EÂùãÎg£>žÃ:’>J‹ç¼»±ç\r6è[Žî›~ðdZWÿ}¡uä@75mVOYÑç3 þw2ûõ“\©¼°vl®ê׿¥Î'«ãËoiüsÚÿÙ»ó€˜Ö÷àÏ™™¦iÚí*E¨+ÛIÚD¡KBâZ³ïÙîµt“5KÖK×’]vn©$„„d‰T´oÚ›iöóû#Ò2Ór¿~÷ùücÌœó¾ÏûžÓœgÞóžs´’vÔf9y²þý°ôî‹&Wm]%1Î/xo.Ú[ á´*øÏ_M™ˆÙoϯšµùîÛ#‹7þra½¤›%#„BMøNQò©ðB]«.úPþîzð©7\ड़ØtänºBO÷Q¿ömSðèLஇtgß™]å=g­«ûîHà‰YŠÝÒ[½ðÙ¥!/9ÒJÇî8z÷³Çav†ÏÿÙºùJ6ûýùu[.?þ2|üH–Üëë»ÿ<ô‚-a$A³¯c;JZèÁØ"Qí§œ—Rk翾þR®£U[(N¾äÿ÷K‹íä+ßG}#ñ£—=ܳöø£,Â܆¥™zêLzsÝ'æ§¿L)EM&UBlÉ*.µ]·fá¬ß¿t£aŽÔN½:vèNœºJͰMã8¿ Ëîï;™ ãX;ñAíÿ”z¶×£‚°Ql¥b•NŸ»Î@§ ùñs723ÿ–Ð £Ç€æÀ?·M¶`üô£·‘%ãs’ÊMIª™cRpvöëT>¿ãصT(âüòšÌëý¤²I&mp4!„P+|§,„ªÖF‘@Ò™t E$©h5e¡ç‰Óá.üýà€‚É€q3»ÕIyùÂGG Ékê«p›,MX•_ §m¨BŎçw²üîjÜY3ñNíšs*D Ü¨Ñt£!3Ýo¯;x’©”&j§«ªÐ *•@(ª+P€ Ò(’gl4޶<§ @Π£¶0ºè‚Ô,Ôég¥I‚®¢gÞÛÑÖ\•"é±5DòJ %wP ºš0¿tyãmô¥»¸ªö?üJƒé¡¦›ñ^„®Z±ëÓ@»˜#ÆiF!„Zå{…4$®ÌÊS—…{f+¾~|ûü±›w†üÒk¥Öçøï/_~Éî:kçRû6ç/>—'½4ª¢–@yaV™¨›¥êõÅã‘…:ý»©É0Ì_êªO#yß§ ÔºhP%– o6b¦óÝ5‘w*[_{kQ5ÊòÓK„Ý hÜÜ7…Ò—­òEkb#è*ê;!€Jié Zšš¡<*ùü_nÚõ£ûªž¼˜ô9¢h¨HîY„BHYe!dÕ«S[ŽPè`7°‡®¸œ+PÔѧÐèT€Ê”ØØ×Ýyb~zì•s™ì„yRyCÕéçÖùìä›v³ï"ï¼ãu˜8ê·¡Žšñ×ã®FiÛh•<ºõNl5«‹”/¡há5½ßÃÀûU¤HÐòÚ[‹¦cãÒáôáwg6æ÷P̸÷°¼U«K‰¨íºd}ÛÚ×ïì¨ù¨a'Ø·öú†Ù [µ ae5ÿ£¶s›4½o.çjmB±ÒUõë\„Bè¿CVCèT=×¥K†÷ÔÊvæìÕ'lcÛ‰+¦ü¤·upé¨yQaÏT~õÜA•ý*:úiífJä?O“v™*UÛÑwÕ¸¾ÆÜgáWbs5zŽZ¾d°žRGïUó];T=<âܽ§ikÛkIÿÁN¨tÿmryoïÙŠÚ[Ýx¾Ë~ýE»úÅYzƵmÕÚRb“«íº‡…”Ú×*Û·ª¤avõ™k-ÿé?…J Pjw£ñ jãÙ„B­„ÏÔ•Aiê› ¶œŽyG=BTpuÙ¼cY}­é£,ëÈš"®xú÷‚y‡^ð(TªXTsO:}·uÁ«ëK˜–‹B5 ÀÊ€øãݽÖûŒx–üôú±KY@1ïc”uXÍ çEQ IDAT¨ô˜uàêÑ€©ƒ{˜êª0˜ZFýG/ÙýÏÙ5˜‚ Öá§îÎb±XÖSà [}Ã;AÆaO‹ås«œ¬÷Z¢êÄ'kÀŠNË ©W çÉ*{ËÑÿ™ÄKðü¼Ø¿—y»ög±XÖöC'ù{\,ývÕ¬ã^Ž âØ­©€›´ÞÍ=èk߃Y~`¤ã’‡œfBbÇ-rs,SØÌºµï|£h¿:Qn¨·ýœ»UÍ/ù!«y!ÿiòí½W̓ƒgïÞxW,¯Þ®¯×üI.º?ÃäNšº¥Û¬un³dú©ñRîdˆŸŸÉ2Z¿Uû>U¹£Ëð! ÿ—ÛK+ä«þðÞ˜»ôŸv ÖŸtµÐ$]ݱzÑÚ©ýÞF?ø¯j›s—w3£u¿¼#”¾úáXˆ,òý'ÿ¹ûÈé³gÏÿ;p‘GWõŸ!Aèk༾p½{8¼¾•# ËïøÚ²X«s@”êÍb±Fzϯx~ìo‹eíè1ÿ¯{E"U¾¸|íâlAƒñ±„…kˆJì™>¤_/× þS8$H-äËûüôýãfܨ¨¸:Íu¶ÿØ^,Ö€?V€¸äæLkËý¯”/}à§ìqgÕÕ·æ'¾˜reóŒ޽Y¬þnÞKÄåó€—äÆbõžväÈ /gkV—É[¢ „üÜ;{æy:õf±ú»ÏÜr=ƒGïõW‹å}&·îH‡¸<ùQŽ–ëTÏ^FêŠJZ¦6¿­X⢞—_MÖÔ{1`’›-‹Õ×uʆ+éÕõš)ñSáÇGûz:Z³l[ú²B,È81{þ¥ÂÜS>£üŒ%‘¼Ì[¦»èÅbYÛô=ô¬BXæÓohÐëšQîÙßl© Zð!d”]ÃQ·ª{ ìên/¯S9"Çòí܇eí0böÎè> ¢ÜÐ߆¬ ¿èã>€ÕËa¬ÿÕ,~s=,Ì<:Úfü¹<1?-xøçm'H?àa3ñb¾H^æµ€ n¶¬^^^‘V 0븷»ÿõKk¼œ=w§p›Ü¦?1ÌBBßY™t.ª4]gÍ™hE@꥛™ Tº{Ø0¡2þV*Ä¥Ï"ߘº;«'n]´ëVª²ÍèIÞNZ9q‡Wl‰—:]• uanÂÑq÷Á&•¯¯n˜¹ñaE ¾¿i†ž«û2˜ýý‚ÿœêÝìø›)ö눗b0tdòå9­MŸ…óæÍ›7Û« ©: ÄÅ·×L_söIU÷ Þ¶*ïoÿ=ßgçóÏtѳ=¡¹m­{CÉ‹3k÷$r€÷öàÜÅG¬'Ï÷é/÷ôÌêiñ$rjzÚú:J´º45+ÇÅgW¯ÚûÏ£Ô<1Pu]ý‚[« .°qî®»€sÑ‘¡Ë,7Îݙȩm³ÄO…¹——/ýGuJðõˆS«íòöúnOß»k„¶¾÷Ásþ¬z'ŒÅÅQëÖFéÍüûZtÄé€~ïm‹ø¨Ñw„eyLdDwÃ>´9ÈHNÂ’’ÎÁI[Œ›y&ŒðþëZÔ…uŽÅ‡—¬‰ú(õž\Ýh5; éñ7ÞU€ ;2¼ óH­z;%Û± Â78k¨ÚzÛëPATpmå’S¤GPØíû§éF®ò=ñž¢¢ÈàG+B#"B¦(Gmßÿ‚ÓtM·¯]›Ì˜ä R\ö2¾ˆbßT‘âÒ¤{†Î,- ÉN<šÔ3à|ô­#>*·wzY-­@qAÄŽkê7ŽQKhªÆŸf!¡ï‡,r&¶ t]‡[¶µÍ¢Aæ•ð÷| TºyØ*AÉýèܪ—·’Ihïî¨GS0wùê­[–Œîß­£€“_$í šX¸í´à½ëVØá®ÇK›FRA×04T¥ÐTÛëôÉ¢AùÃÈ÷\λÈD.¹¹×9-@Qïê>~âÏž¼§Ï8@ï¶hÇÌÎò¢ü[‡¢«@ÒžÝ+çû®ß·¾?ò¯žyõ9 éôûÑ-vìœß 2-½¼êÅñ³™ 2dõê™fú¯§ %áÇ*Hz‡i!áaÛ‡Ô¿n:ñÀ…ãÌÊbÿ^:z@Wï›Ï&–ˆÄeqGb”Æ-ÿ¥§¢fâ0k™³ðNxêçé?MN Mé8gþ`sM ÛÉëçÛ©I¹ #ª¶çNü1¸“¶ƒÁTV 8¥R³÷p‹²èÈ >ˆòï„euå¨G•¸¤„©+Ò£*:úÎr0QSmk3õ÷Q*ÏÄ—µl³óÐ^¸›i\dݺ^låÙGòc®¸)Ç–®ã¼)`¨> D·O'L]2ÊJ[Y£ƒë¼ùÝò.…¥óHª‘Ç4WSEy 'Ƕ‚la“= t#»ÞŠïbR«Ùïîæ›w×y›V]õ&&KÇ¡¯. €n6aæ &]½£¾ ˜#V ˜Ð³j–kv´'G›¬ñ'†óBB߸äÁ™\QÊñõk¨ì *@nø?ï|–Z*ua§~'6Å:3‰æîöút…RFntÐæÀµBmcµ¦çˆR4¤.Lo×E íz@XéÇœ QûÖÅMQ·ö´¦ÇÇÝ»ýn?¾Œ¼¶m8ûB˜wÝþ¡Rgø–-cMåxeÙeT#+:P”̬táî‡ü".©@ÓÐS¦ˆJò@ŠÄÕE¹Upm¦ÝµÚBó?”AUÒDRÄã‚N¯3¬GÌ’_’ºgóôe§NN¦æs3OZsäñØ4›ªÚÓSå>-/æW2 ˜5oÑ í†H¹33AfÝÚáwýu1¡fh¬TA@Ñè=Â2pÿíìÉ ¯æý2Ñ® $-Ù€¦i¦#_óš®ÛI›÷‘ÝÂÙÌŠCYüé³±7J»Îë¥.! —Æm[|TnzÈ‚^*UäWÒõLÔjNL}%vn…äÔ5hŸ"•Ú‡UuÓ+†™S7rC\ê;^šÚ€©ƒßߨŸþ¶8…ÙÇÇ 9M#uZMy¢© z3M9A³5þ¼0 A}/âÂ;g„P³öH[q)yŽewEËáöjáa×N†²+¡Ó,{=*ïMÈÚ#+ûø]Ü6L/çÀ˜Ñû3¥ÝÔÂü/óù6frÕïŸæPµZy£_µžž}q±gÏA!˜Ìq2¬ŸU‰ûøÝ® ÷ðݽ´_Í1¦f¨ P˜™”Ë·3§‹«Ò^0u´RÅòêZ CÖmõ2–#¹ùo’sZÖ:R¾¤Ùw[§½çâV ]ÃbðÔY‰a>Sª|¬µÕ˜ÇŸ9ê¡C1;+5_Þ˜ÉKª²„OõD癜çÕ$(¼ôË!÷ôÆŒï-ùÂ=qIôêŧuü÷Ÿ°oˤp.¶€¢n=ÂrÓ[éwŠºÏì­N‘ºd §åóH3:À/xû‘ÐÔW¦f5¹­j)þ2¬;góXâ^EOßžî©Èϼ¸rÕ]+¿^¦Ÿî„DUÑQâ?Ê(Ù(RHN~FÓLùS²P¯‰}h\¯·˜vª ¾IwYaÒÑÈ´ì`Dìñ‡)Ê¢á¬hi›ìSšÒ‚ZxF!ôs¢Î¿ ÁhúÙ oö‘ƒÒ¨ /«˜uÔ€œ¨e`1¢¿õÓm‚yÉ×Nìß¾zù¡L€&naÜä™ûgÍõ[ÿÇŒEa¥ 1lrï–Ýè—B“§T$]¿þ´DD¨tiÄÜë7rÁtXƒ$„¬x°É÷h:€:Ë’w÷ôÑ£GOÝxÇ¡è:O±W„Ü#slؽ}ÕìU±Õ`ì5¡‹´cÓÊÛ]Jn¼|÷ñÝ‹»þÜ´7–«,Oðߘâæâ¾èZ½)LKþ‚Küy4öufaqaÖ«Èál«ÁV*~ÞÖyÁ§ŸæV”~ˆ;²x¼ãÂÏM–ø)¥›‡ñ«={n¦—qŠ“Îl ºüAîÓÃ,…Õ¼†?¹IW$§¬ªD'ø…ñ'=(çrø$E­—Ç/§¶+¶Ý£¦‹¥,ÙhãIYLÌŽÙ¾7:½¤$óÞ ç¸¿Y7·åj£%”~Öµìì–³åÖÝT®EV%î[¼«ÄsËJ‡/7q¤ê8Œé’}pë…—EU¥©7vïx¦û«»™<4Öt×Ô¯ÒÅ¥]ÖÙ³¹¦ýŒ”;ÐK?u©Èb ¹‚„âZP` jüia‚ú>™7.¤8;~>†ªÝ‡v¥BeìùÄ :º;·è2ÂV‡ À°ðù}tÊ'—/Ç“öc;S²&K™ÐÔÂtË_{U?‹LeZ¸¯ÞçËRjÙ··¼Ù¯#­T óÒ±è\*]GöWhïî¨_€‚äægT”Æÿk÷îÝ»w^AR´œüøì®ðöòÑ“wJfìÚëÓYòqf×¹­óú¥<êÀ®ý7 ÍG¬ÙÒq —ÿmíY;–²¿¬(éS9¯­œóƒ';Û ^pU}Ú–…ݘt]람k>ÃW>®{ EÃ~鬱 Ù:X|EaÔl[áéÅ›«¢Æòè&È¥ ð´RjzÉú¤,Æ%«ùcDÇç u½&Îp}¥uÕ–PîêÞƒZ¥ÐoDW¥F‹V¿9{ñ='5d²]¯škd\ü8@Õº~«œ[0ÄÞejpžÓºíÛK¾ž¸éþ´H'£þæJ@ÑìÖW¨ƒ,¥ízÍØ‚VßêÞ©</++‹Íf …x7B?:¦¢¢b``@§ÿ«Û8ü7TÄ̸$ÞÌ÷òqoC¼¶þ‡ÇIøsøjZà…ÕÝÿœ¹øÿê›Ì ár¹oß¾ÕÒÒÒÔÔ¤Rñ¯¡P(¬ªªzóæ……†ÓÅ—½Š¼|ö`‚ˆè2ÒA¿Ô~p$¿¼(õƺÓÞΘ‚üà¾É×MVV–¶¶¶ªª*Fk8 !ôã!I’Á`@NNޱ±±¬ÃùñrÂwî¹^ml7™ëOqŸãÿ¶êAæ>Ð÷\5¹3CÖ± f|“32OŸ>577g0T*³„~|$IŠD"6›‘‘aee%ëpBÿßdv*I’t:S„~AP©T@ ëXBÿ!ßê‚ 0Aè'‚³¡ï¯ÔE!„l`‚B!ÙÀ,!„B²YB!„d³„ÐÏA˜uÜËqAéF:.yÈi~•/¸IëÝ܃’yÿjõ¯­¶-õ±ïÏwð:™]÷†Óì¸EŽcŽe¶òÔÿcIT³”à%’Ð"„ê›$"„~2Ô6æ.ïföoï5ÿ?®þSø/´ýÿ ó±’WòáÅãû1‘7oÞº}÷á³”|vÃ8Ö%*{u'öM…ÄUi÷¢ŸÿÏ96Éùýô#æê}k$/óÆ–éîz±XÖö#}=«;nÑÀ‰Çþ šáÞŸÕÇy̲cÏË¥¼YKTrßæ3i|~|´¡§£5Ëfи•¡/+Äkágœ˜=ÿRaî)ŸQþ œ:«‹ŠãùŽvîòv1{gtŸQnèoCV†_ ôqÀêå0Öÿj¿N„™GGÛŒ?—'à§g±¼ÏäŠéˆŠ"ƒY¬ˆ™¢µ}ÿ‹:IM·¯]›Ì˜ä R\ö2¾ˆbßT‘âÒ¤{†ÎÝ…7$Øî› îÍ9yòw‹§Ç“Ø¿ü¸™gÂï¿®E]XçX|xÉš¨Âòçîʱ 8ºÌ2qã܉ißš›Sù ÐïÆÄàð¨kÁãˆËkw'räŒëv‘´-ÕpƒJ £º-B¨–,ÏÈÕ9¯ÞUjXõë®Ç ™Jꚪrq^¥ôï |~7U½ƒÚÇôì.UIÛÄÒÒH.'áI6Wî zö³”/JM.ïÔFCžFòŠÓ_¿É,ªP™†æ–tˆêŒ‡ñåÆíå²ÓrK«AY¿s7K}&EÄÎKyý.·¤ZHеL,»˜ªãI)„¾BÕ6àœµš®8B¦²Á)刀´?Û© 6S—{^Ÿv*¾|¢¤7W6(OšÒqÎæÁæš°°Þà’kQkލàöé$ƒ©çFYiSAÛuÞü«¿î K÷ $ÕÈcš«©" ,œÛ¸Ã®{¦ÙõV ‹I­îÅ»›o>Þ½ìFlZ5«*&KÇÁš¸»¦q£‡6Ñ%Ü”KWK{/_èf®F€†÷’q—ÇÝn´UÑÑw–ƒ‰26S>õÌ£÷ÂË1JãŽýÆÒ“p˜µÌùæêðÔ…Ý­$>4¥qs(t9Šàc~~¹¸C¯a®fƒ%÷¡\ƒ‚ÅeqG…ñÒ‘h¾EÕ’á!˜ä•äVÊöÖaÔ½_#Mµ™ZVjÛL„åï>¨Xõ´ëFT|HJ|úJѶ+«'û^µ{¿N*Tñç¹Q$77éYµC;¦ 0åYÒS¹¾}ÛQäå§[ö°1§We%&¼I5Ðé¢Xðêe‚e¯mÂÒôgÏßäô1”Eãú"(¬[;ü®¿.&Ô •*ÈOú4uSÝO_tÝNmȸüJ¡¤7E ní*,˪d0k†té†vC D’kiDT‘_I×3Q«O%˜ú&JìÜ !È©kÐ>…Üh5†™S7rC\ê;^šÚ€©ƒßߨŸþ¶8…ÙÇG)¥À/ÈúC ¢ÊüjÕö†ÌO Õ6צ7>fÓ4Ítäk»B›W—UÌÍ<£D Ù8×'¹eL3[#5 }sóÜØ”œ*c#‚ÙÖL_‰F€ªŽ3­PHrm¬l5åòTVÓä¨ â IÙÏAè?A\½zñiÿý'ìÛ2)œ‡K†m­ù@Xš–Ï%Í造 ¥TµiÞT¢Õ/ª¬Ãä›×àœ!)ärE49 AWb|šöAe¨È“üj¡„Œ¤€+¤0å>ý™Qå„Õ1òÌÏ9ÎçHNþÛ'îÞ{ð$9« Û…Ð÷D ¸"9eU%:Á/Œ?yèA9—Ã'@̉ Ús+­¤$óþÁgÙ6c­Õ%½©Ö03 ›¸y¿Ú³çfz§8é̦ Ëäiµ«yuÇ ¨:cºdÜzáeQUiêÝ;žéþên&ßl3•..í²ÎžÍ5íg¬ Üy€^ú©KEÍ$¨ÀÔd”?¿õ0“Í+~z2ø~½yžŒ#†jÆo ºö¶¨,÷ÉÉ­'³ø€˜³}otzIIæ½Îq~ëcjëmxúinE釸#‹'Ì;ž!lùC€*¶Ížt+½œË@¥}>|ê"é}XE£_ã0hæ[$.{~'¥§ª¢d™…Èkê+s³Ò ëå!¢ŠŒ´29m]E ɯâ~úÒs+y Ç Iø;#ä41—-øTŠˆËRr5 «¿8É/Hz–A1îfÓϦwKœÙŠÐ÷CѰ_:«CìÂA¶N#_Q5ÛVxzñæD.Èëÿ:„<=w¨‹çê˜6Ó¶­²× €ä73ñÚºÁ9?x²³ÝàWÕ§mYØ)¥‘®uOÆ5Ÿá+ë\ŸBÕº~«œ[0ÄÞejpžÓºíÛ·äÚVŠF'£þæJ@ÑìÖW¨ƒ,•ÉRu/ždto¥‡Ã`Ÿá˜VõÆ,ä;LÙîg›½wŠ«ËøÀdëùà ξP²š?Ft|ÎP—Ñkâ çîXÚG…¢áè4‰qõ÷‘޽üokÏÚ±”¥Øò ¡ãêçk²e¬“³—ÿ]ã93:ÉÐk»ˆ+¹«w„„0$·ˆŸ}5Ðo{t!^Œˆ HòëÏ_~ò䉕••œ\㿦D•ï¾ãj™u4ÑVU ð+‹³ß½Íê÷ècцRüôö“"FÛ®ÝÛkå/žg1ºØvÕâ¼¾›]û[ªSÅìôÊ;Ùu×f'ÜK¡™÷´ÐWà¥<{YnЧ¯)-ëÁýÂöö½´idu惸‚övV§±©j=û˜kÐxÅ¦VõíoNË|ð°ÄÜ®‡ÎSEÿm ))©gÏžß³RvÜ¢aÛ»„œšb"×Ì›¡ÿd{à¥*·ëe§’‘’–úü=›'¢É+«ëZô1ÕW¥  (ê“ wžó©Jm̺[jÓ kjP_ÄÇŠzõÿåóÈ)Á0°êÎ{•üäN²€ª ahÕ£2¥í„¼vçÏŸÆdP䕵ŒÛuhóæÝ³ä6=Zþ!„B_ÌþSä5ÛuÑl'ñ3‚¢ ÛÙÒ̲î{ ]«þºV5¯Mû9~ZP^Ó¬‡­Y½•Œmœ?¤`dãd bÒ½¿Ií2&º5¯mM!„Bߗ̳„К¢Íöh›½‰úÿ¯RE!„lü¸c!4­޶²!„Bß Ž… „BH60 A!„l`‚B!Ùø&YAb1Þ¨¡Ÿ ŸÏoÁÍBè«ù&Yˆ²²ryyù·¸++Bè!I²¤¤DEEEÖ „þC¾Ib``——WPP àãú ðùüÜÜÜÒÒR}}}YÇ‚úù&Ï‘—••UUU%‰š_!$ST*UUUÕÀÀ€NoÉãÜBèëøVYB!„PÓð„BÉf!!„’ ÌBB!$˜… „BH60 A}'¼ä 7‹åu*§µWÎqž¬²g±ýŸU“ÀfÍb±XÂ’8$Y1•Åb X‘Àù·e 2{²X,Ÿ[åÿãõQÓXuõ4nÅñgeRoY·ë¾}7òóbÿ^æíÚŸÅbYÛäwìqñ׸JR~`¤ã’‡qEüŽ©®6vs¢ÿ׎”Š›´ÞÍ=(™'5†¯Z…(7ÔÛ~ÎݪXjcf÷r\ÇþòâÇYBI”wjíñw­øÎo U¹£Ëð! 刯RžV¯AC†¸:ö4‘+~±sѦ{Òóï‡÷öÀÜ¥ÄCNÞº²Â¾ìè¢%g2ÿ÷ÛFQÛ ˜»|Œ@}7*³ÛÖ«{U¿NGþ‹~?E̘… „d f\¤÷´#GVx9[³ú¸LÞ] qå«P¿ ®ýX,–ËØe‡•T§ï7ãF@ÅÕiCüŸq*žûÃÛņÅbY;zÌÿë^‘Hzi .{~jõ7;ËÚÁcÞîÛyàçÞÙ3ÏÓ©7‹Õß}æ–ë£ÞAT,¡vnÒ«ßô]›g¸Ù°lܦmz¶v‚K–µÓøõ7r ª|qùÚÅ;Ù²©h+’N,ãÔ»·óo¡‡~c±XSn”J ŽÙmòÊ5kÖnþ;ôð,c€ªgqY| ±Õí:— ³<êtcµ„N¨ ¬ÏÌ3ç7LqŸpèu’´8y¯·¸²X,ï3¹uG:ÄåÉr´\§zö2RWTÒ2µùmÅõ¼üjØq‹N<öOÐ ÷þ¬>Îc–{^.1;åbÀ$7[«¯ë” WÒ«I~|´¡§£5Ëfи•¡/+Ä¢’ûû6ŸIãä]Z874¯ôÖ’ÑKïä?Yãâò瓚± Á‡QvSà ë§b$/óÆ–éîz±XÖö#}=«hª‰ cwÍùÕŽÅbÙ¸MŠ) ãÄìù— sOùŒòO೎{»û_¿´ÆËÙsǃÛû6ŸIãƒ(7ô·!+ïú¸`õrë5‹‚üØ3Ýízõq™p6t†“OD™äݪ~Ÿñ÷dž IDATâ¼0ÁÍ–ÕËÁëÏ+Y|I‘ó­UC˜yt´Íøsyb~ZððÏE~ÀÃfâùä»51ÿÈ0 AÉŒèÙžÐֽܶ¡äÅ™µ{9PýbçÂmáo˜v¦OpÖˉ޷hU”¼Gàê¾ f¿½³Û¾Øºh×­Te›Ñ“¼´râ¯Ø_%­4QÁµ³‚®§(ÛzwkWúàèRßãé•oÎ]|äÀzò|ŸþrOϬž_!အ=ð×NÄë¿6…ç k?­JZ;ïééxùn½M¡ðÙÉåÓ×=VìiÛ‘QþæÒÆ=‰GñG+.ŽúsÎŽè4Š•‹Î«=û’›ë>1§ ùqÒGPÖV¦Jˆí™šgm×í߸zÇ—n4ý µ„ A›¯eÓµÔè„ä895=m }%ZÝ Šš•c‡â³«WíýçQêGž¨º®~A‹­Uö«¿ŽóGí ‹:0 pÿ¢õwËDå6ÎÝ•cp.:2t™eâÆ¹;9ÂÜËË—þ£:%øzÄ©Õvy{}·é>šÞˆ{Æêëx_Þ:@·ó>ã]5²#à :´ÑªwDG­[¥7óïkѧú½?´-¢~šRù ÐïÆÄàð¨kÁãˆËkw'räŒÇïÝ5B[ßûà9Ä;®©OÜ8ÖäË#–DE‘Á,V„FD„LQŽÚ¾ÿGyfÉŠHýÙ‡oF™­um÷é'ŒUA²&õ 8}ëˆÊí]‡^VKˆ¼¤mƒµ>÷‰n_»6™1ɤ¸ìe|>ľ©"Å¥I÷ Yš?Á!ž&ëBÿa~?â©KfŸ7<(5-½\ܱ¢ˆ @’$]»Ç˜•¶N>RŒ•5 UiÕ¶ÆZŒ¬s—÷ÔêÙÛ¨òuÌ»+·Ò+ó‹ªÅjKãkGçƒÙ¢mkÇR*Lv_Ì%ò;› *CV¯žÉbò­yIã‡KX`ÝhˆŸf8bÅŒWöm‹±tªyK j’jW ö 8°ÓY1e×ÈqÇò:ÿ~à/̱ž{?ääsÄ Ú|Ûùúwß­Ã){ÿšÝA®rПÃç„—Ké7Näl;VíÿTgºQß(¶"µnŸ»ÎÄ@ŸÌÿÜJïÖKè„™s@{dðÙ¥=”^rÄmÄbÒ;L ŸÖ(*ºéÄ,®_Œý{éÎ×…ò¦,‡á“}FvÓ …i;¶S;l¦.÷¼>íÔ£ìó1JãŽýÆÒ“p˜µÌùæêðdwДŽs66פ€íä€õïÔ@òÙyh/áš›iÜ®so]/¶šÙG£þ1—Pµ 8g­¦«ÅŽ©¬@pJ9¢º¿½)49Šàc~~¹¸C¯a®&£Q-bB̪Y®&r‚ŒØÚ7Iª‘Ç4WSEX89¶=p‡Í}ÿà\f—y»\Ì4(ÐgÒ‚AfeJÙtÐÍ&Ìd¤AG;;ý8"É‘«I^ÙÈ®·bXLju/ÞÝ|óñîe7bÓªYU1Y:}uiw[…¬`‚’š†ž2@ÌP’RD’ʽ—m˜¶s_häÁu‘͇Î[mSg Š‚#7:hsàZ¡‚¶±Zu“¥ ʳËèíÔ© ÜuÒŠ®@–\ŸZ×fÚ]«]3ÿC‰T>N˜o?võ„°‰Ç6íVRo¶v†ºš<@¥Q(ÊZŠ ¨rrmmñ‡bºI7}:(¶ïmá/¤õœV¯A½µi@‘Wokå8ÜÕJƒ"é±5Dr‹r%wPÛõ1Wú’‘5ÞFRKñ¸ ÓkÄ ë3€ä—$G‡îÙ<}FÙ©“ÓõhꦺŒšbéºÚq99YÅÜÌÃS…Öä"›fS^̯d0kÞ¢Ú 5É3K-†²ø#Òg1bo”v×K½Á‚"̺µÃïúëbBÍÐX©‚l8“DÑzžUgNžX0d9Û°¿ç¤é“«4œCAÐÛ˜i6zдœº±íS%²ÌJE#½ÏakµÓ”kyBÈi©Ój £-м.†™S7rC\ê;^šÚ€©ƒßߨŸþ¶8…ÙÇÇð§x@6f!¡‡¨,-ƒèì¹!Ì_9'!&ìàŽsW7maÙïÖ«ù˜Þ›µGWöñ»¸m˜^Î1£÷7ñmOSÑU(ÉN+Ú(R*žÞq1Çе¯¦€Âu[½ŒåHnþ›ä\–µŽäïB‹É«<Âg^¼Z3(ѪÚ[‹ª¢£ Pœ•\(°i'ÇÍHÌ‘¾,³Ûä•k¬™ußj&¶º¹IÈ«kIèmÚ ¨Ô7ñ“ýðw·uÚ{.þa¥@Ð5,O•æó0¥jš€°4-ŸKšÓ AAJ¨êêê©1;?sÔC‡bvVj¾¼žè<“ó¼ š€—~9äžÞ˜ñ=$W¨øË°îœÍ7b‰{=}{6Ë—D¯^|ZÇÿ û¶L çá’a[,ÀÎþPm6Æ?dš?'ûá±Ë}«/-³lPÉçÌ á»õÞ¤*ë2«Ró«É. €ÿñCIk¦äDýš¼>fÇ*ƒoDRÅ]V˜t42-;Á#{üaÊ€¢VD!+?ÁI#„ÐY‘°g±ïìÉ 6¾ÿ6§„#P1ÔfPiò4€Š¤ëןrżäk'öo_½üP&€Ô_ç4ƒAÞ=h¾{áŠm;Ö,X´/,"Ѷ÷8w(¹uòòÝÇw/îúsCÐÞX®²¼”/¡ÜcÖŠA*ŸÃ Z^{kÉ õ 2öÍ^à¿~¹Ï‚K%­Z]Jl”Ú®{ZBÖ¾~k0FB'0Zš}ðߘâæâ¾èZ½yLKþ‚Küy4öufaqaÖ«Èál«ÁV*ˆ9±A{n¥•”dÞ?¸ñ,Ûfl3[oë¼àÀÓOs+J?ÄYÞið´j7O*Bð³¯úEä .ÝtR"I[‹¢ÑÃÉÀ¨¿¹P4»õժŠK¥ï|)ó¿…ÏÔE¡¿èUâ»Jº¡••“"Ê>é=|{ZÀ¨ýN¦¶þdØq‹†mïrjŠÉWžªÀIøsøjZà…ÕÝ¥ç*ß?÷~dª}&À}豘½îŸ€ ‚÷§6ÄÛ®c„³¤Á±„ú!ˆ ÂýçÏõ™µñ|ܳ{§·NŠ•£¹¢¬ÃúQ‘üòÂ×WÄÐ<:Ë6`??äp>¹J,椇¾Éµr2c€0ÿn$×ÑÁS&`ç „Ða9÷¯µÄ¦à«[ç_3´:œ½Ö׳-~IKQý"hÂÜúž«&wn|í÷Fo?iãÜ|ÿ…ƒƒ«(ÊÆ}'mý½¿* ë8mЬCûÑá„BÉž‘A!„l`‚B!ÙÀ,!„B²YB!„d³„BÉf!!„’ ÌBBß ;n‘ã˜c™ ogý]C¸?ßÁëdvÝéF:.yØ‚»u·|É/¸IëÝ܃’y­Œóßå†zÛϹ[õo×ÿŽ¡¶@åíé6®[^·.šfšP¿Ê‘Åê;ûf‰¤»çñ ;VC._p[û¿Dr?„oœ2Ä–eí8zñá§e ƒ$¹™7ƒf··fõ8Ú÷ГR‰­DÂnß´ÿu_j ÌBBÿiÔ6æ.cÖð‰îÿÓ’èD–?=s_ÜÑJéùÙ»%Àº¯ºr«ÖS¿Û(‚¾“£ÑwÚàÜ×{çŸ#ËŒþkÁ,!ô b¶ù éDzvôô=_"1;åbÀ$7[«¯ë” WÒ«ëßI‘Ÿº×cЪ'5#üôý#]V<怨0vל_íX,–Ûô ˜ÂšJ*Šä~ß4Å­ËÚiô²“¯ªD%÷÷m>“ÆQnèoCV†_ ôqÀêå0Öÿj¿5K6IqböüK…¹§|Fù'p€äeÞØ2Ý}@/ËÚ~¤ï¡gbi• ?>Ú¿ÐÓÑše3hÜÊЗ5em¦£H^æµ€ n¶¬^^^É
8þïhç>,k‡³wFçðÉæC••´øÝ–ž Y6Ú¹µã¿ËO£wMfÇbÙò Ï´0ì&µthÐÛ ‰Kž~¬¬;f#È{pï£ùÄ)ö¦jL5SÇiSÍR/Ý)þX^I»½Ä€%ÿ)IÜ—¾ ÌBBß7óLáý×µ¨ ë‹/YõQXþ`ãÜ]9vç¢#C—Y&nœ»3‘ÓìqªòA ß?Œ‰ÁáQׂÇ—×îNäˆ%UýæÀ€{FsGDžüÝâéñ$v…‹Š"ƒY¬ˆ™¢µ}ÿ ©g_/)!$9ãñ{wÐÖ÷>xΟÅG­[¥7óïkѧú½?´-¢P,±(QîååKÿQ|=âÔj»¼½¾Û9’[× -$;ñhRÏ€óÑ·Žø¨ÜÞuèeµ¨àÚÊ%§H °Û7öOÓ\å{â=¿ÙP%F%5þ˜ËUžû®Þ8ߢ°ÿ…–4¡qQì™—z#‡[täa’~!¢©Ó¢¢Ûëçÿ]24pÓh“&B¤uH-%Û± Â78k¨ÚzÛëH}l±¸*3¥¢MWÓš'áÒ z¹¯ _ ithGO»v+•-qå›ðËo8)…Òr®¤Ý^bÀÿ”@Ò¾$½'þ'˜… „¾ª¢£ï,5Õ¶6S¥òøÌ£÷÷Ä([þKOEÍÄaÖ2gáðÔfgPhrAy~~¹X£‹×ްsK»0@\׸¨—/.]-íí»ÐÍ\CE·‡÷’q†M=¾ž¤yLs5U”×°prl+øÈ–zæ½ñ’’Bª‡Pµ 8wâÁ´• ¦²Á)åˆ$ÅËMé8gþ`sM ÛÉëçÛ©In]£Ž¢›M˜9È„IWïhg§/(æð nŸN2˜ºd”•¶²F×yó»å] K4ªÄJŸa9aK“¡Ö¡__fÏ)^ÝÔ4±·Öâ—pD- »õší턹QçÓÛÜ–F3pò4Ϲ|í½”8YýöèâU1& w-±Qoò)­Câ¦[ºþ󦀡úÒ Dò+yÀPe|ª‘ª &/¨âÕÙÿµþ+6Œ…x°îÕ×}m²a;y’/”’ÏqS$íö–Ú“ ÷%éÃ8ÿ|PBèû¡išéÈ@×í¤M‰+ÈË*æfž2(´æëWÄcÓlª¤á‘5ßËŠÖ+ö­:sòÄ‚!ËÙ†ý='MŸ4X…(Ïm\Ty¯Zµ½!óSÚæÚôÛMÄ'§n¬Qó­H4ó­Ñ’’Bª÷Cš ³níð»þº˜P34Vª )E ˲*™FÌšré†vC ï%´®aGršFê´š’(ˆ*ò+éz&j5©ÁÔ7QbçV0š Ub¥ÆO‘W–§APš"óóJ€HÒF‘¶}…•ùùlE]]å&LMìM [2¯Ÿ[•¹iDÿ-B_Tx%uª¯…\aØLÏ€§%›-a»TDoo˜¿¯ØmÇ /ÓææƒHêqaØôzŠKã¶->*7=dA/•¦v)‚®,Ü ®€ âêržœ1­(lúø:¥ÙÌý;b6ŸÃ£(0*#|"ïi(JÉ©E•ùv{‰[PZO6Ú—¾ÌBBß 8-ŸGšÑ ~ÁÛ„¦¡¾ž³óø3G=t( fg¥æË7O'ÅâÏëg– Hvö‡j³1þ!Óü9Ù­Xî[m|i‰Žvã¢t8‡•ÊS³9¤9à¥5}~›hñnƒ%Å’BZfYg’èÕ‹Oëøï?aß–Iá<\2l«”¢¨Ê:LÎó‚j^úå{zc¼Í$´®QGDýð©*:JüGå"E*ÉÉϨbš)q› Ur¥ÇߪrK®!̽<Ô%çÐ3ÓMåHAµ@LÔc[´4nÂgü´+aù¿,9µÙYƒâ’¨e]z=Ó¢»¶ûþX÷ÚZªßõ]ÝvÁ±¥ýš‘Ú!”z?óâÊUw­üNx™Ê7]Eɨ£ÊÇ—ÒT•~ÞËlÐsÕ3ú¥4~æåÍ'ž‹G™*Yù:*•hç¥'%S¢ª4Þí%,¹';Aã}é[Á32¡ïGÌŽÙ¾7:½¤$óÞ ç¸¿õ1µõ¶Î <ý4·¢ôCܑſÏÖýú£25åÏo=ÌdóŠŸž ¾_! +¶Ížt+½œË@¥Q€¢Ñ¯qQ4óC5ã·]{[T–ûääÖ“Y¢oôÝ*)¤ÂjžHW$§¬ªD'ø…ñ'=(çrøÔé&nƯöì¹™^Æ)N:³)èò9MRë„͵…ªã0¦KöÁ­^U•¦Þؽã™î¯îíøÍ…*Q‹ã¯KâFâ²WÑáwR*ëñ¢ª·oÏ̺–WQ˜xùÜ[¹ö¿èʵbÚ„êä‹áÅ–žNíµµ´´´´´´Û;zþRuáE½+QÅÅ1çíÍé¿rõÐ6¼ŠO*«¸"—½ŠIi0÷´Ù!«÷-ÞUâ¹e¥ƒV1 )¥1ÌÝ©%ì?þ´˜W™vmß…²ž£{kÖ=BË©i•Fþµõüë¢ïnn¼£è6±!¹4FI»½¤€EÒ{ò;Á,!ôý(YÍ#:>g¨Ëè5q†sw,í£BÑpô šÄ¸úûHÇ^þ·µgíXÊR¬» UwðâIF÷Vz8 ö Ž™aÅ è¸úùZ§lëdçìå×xNàŒNò ±(ùS¶ûÙfïâê2>0Ùzþ0C¹oÒ2É!]׺'ãšÏð•¹öKguˆ]8ÈÖiÄâ+ £fÛ O/Þœ(iΟœ‰×Ö ÎùÁ“í/¸ª>mËÂnLÉ­k6,ªîÐõ[½àÜ‚!ö.SƒóœÖmŸØ^¡¹P%ÎÉ¥´<þú«I ›Ÿ}5Ðo{ta½)¢„rï%›| b–st›YÁký*G Jkv)M¨zq.²²Ëˆ¾_ŽéÍÞûTÇž}ZQ'k¨~s)¢Ê£üF:;Örpßø¼šŸ}5Ð/("¿þ„Öf;¤úÍÙ‹ï9©!“íz}º÷ˆ_@ri Ë9{Wwyê7¼¿óôPbâîu.mê  ›eÇRB}\ÝfìÏ·ßxh¹µ2!­4I»½Ä€·åÙKêÉïˆ Éÿ}¶2B!ôÿ–àý© ñ¶+Ç}•I ?riߎ… „BÒ óïFr ¾ÎaþG.Mp,!„B²c!!„’ ÌBB!$˜… „BH60 A!„l`‚B!ÙÀ,!„B²YBèǾ?ßÁëdSbÿêE ³Ž{9.ˆcƒ ýÀHÇ%%ÞMTvjë}ñ |ÅnGHªŸ÷N'!ôÍQÛ ˜»¼›YsWEý;8‚ú^H^æ-ÓÝôb±¬íGúzV!QnèoCV†_ ôqÀêå0Öÿj€ä~ß4Å­ËÚiô²“¯ª<ù ø©{=­zR3DÁOß?ÒeÅcNkгS.Lr³e±úºNÙp%½šaÖqowÿë—Öx9{îNùôè]QÉý}›Ï¤ñ¥Ä)©œf›\¿"î¿(AQqü!ßÑÎ}XÖ#fïŒÎá 2޶.O ÀO ÎbyŸÉÒxØL¼X ”PosÝŽÐW‡YBè;G­[¥7óïkѧú½?´-¢P ¢¢ÈàG+B#"B¦(Gmßÿ‚Ã}s`aÀ=£9‡#"Oþnñôx»…÷xnaQâòçîʱ 8ºÌ2qã܉@\±ãšúÄÍcM$<ó®qáÒÊi¶ÉµQKøw%4Œ­àÚÊ%§H °Û7öOÓ\å{"K£¯]›Ì˜ä R\ö2¾ˆbßT‘âÒ¤{†Î=i×[ýo»¡ ³„ÐwB¨Úœ;ñÇàNÚJ SYà”rD@R<¦¹š*ÊkX89¶|dsR.]-íí»ÐÍ\CE·‡÷’q†Ôf ¯Ñ²¢ÄeqGb”Æ-ÿ¥§¢fâ0k™³ðNx*@LèY5˵‡™hAáBiå4Ûäϵ£=9úïJ¨OTpût’ÁÔ%£¬´•5:¸Î›ß-ïRX¶®]oÅw1©ÕìwwóÍÇ»ë¼M«®z“¥ãÐ[>¾qä/_üÛnGè_Ãy!¡ï„ ³níð»þº˜P34Vª ?éåÔ5hŸUæW«¶7dÖ|N×6צßnª`òËà@‹Š•çs3OZó;LÄcÓlªD½™¦„Qi…K+§Ù&®Hð¯K¨OT‘_I×3Q«I¦¾‰;·‚fæÔÜ—úŽ—¦6`êà÷76ǧ¿-NaöñÑ«~Ô¸Þò2^«º¡¯³„Ð÷!.‰^½ø´Žÿþöm™ÎÃ%ö~þˆ Ô;¶RU ”ÊS³9¤9à¥ñ%”GŠ?%‚âÌÒÚ+9ZRUY[Ùyü™£:³³Ró噼4 (‰Gy)…K.§%MþTÑÿPB=T%þ£Œr‘"€äägT1Í”iL½*ƒoDRÅ]V˜t42-;Á#{üaª¨ü¾q½:œÃ-èv„¾*<#ƒúNHW$§¬ªD'ø…ñ'=(çrø'0:Œª¿-èÚÛ¢²Ü''·žÌ5È ¨LMFùó[3Ù¼â§'ƒïK™±)¥(ŠF?oë¼àÀÓOs+J?ÄYõ‡ŽÃ˜.Ù·^xYTUšzc÷Žgº¿º›Ñ •..í²ÎžÍ5íg¬ Üy€^ú©KEÍ$ÖK3—Øíâ²WÑáwR*qª*ú0 A} û¥³:Ä.dë4bñ…Q³m…§oN¬–°¨|‡)Ûýl³÷Nqu˜l=˜aƒÓ$TÝÁ‹'Ý[éá0Ø'D8f†SB)Ò‹¢h8úMb\ý}¤ã@/ÿÛÚ³v,e)þ«&5]NóMþßKøÜ!C×oõ‚s †Ø»L ÎsZ·}b{:E£‡“ €Qs% hvë«T‹A–J„äz%w;?ûj ßöèB¼qú’ÄIÐ!„’ A!„l`‚B!ÙÀ,!„B²YB!„d³„BÉf!!„’ ÌBB!$˜… „BH60 A!„l`‚B!ÙÀ,!„B²YB!„d³„BÉf!!„’ ÌBB!$˜… „BH60 A!„l`‚B!ÙÀ,!„B²YB!„d³„BÉf!!„’ ÌBB!$˜… „BH60 A!„l`‚B!ÙÀ,!„B²YB!„dƒ–››+ëB!ô_D$)ëB!ô_„gdB!$˜… „BH60 A!„l`‚B!ÙÀ,!„B²YB!„d³„BÉf!!„’ ÌBB!$˜… „BH60 A!„l`‚B!ÙÀ,!„B²YB!„dƒ&ëB¡¯‰$I‘H(“¤¬ci€ P*•FD³‹&¼/ûóbrqW,þÑZ!…Bè©1×´°4TnùZIþÍC!„šE’¤@À—uM!‚F“k:yVºèx¢N£Ñ(”Ÿã¬…X,"¡0t޵‰³…kýmC!„ZB$Ê:„f$)‰š^fÍÅdº¼Yw¢âË÷)ê…éæ´8çr8ÖZÒäö›0:!gÒÐ{  žºO[7Ôûfγ>ªç(}LøMÚژ蛪‚ ëB`“¼'khÜô$-Q ûÈúuµ±ÅûT¿[8±uǦ¿uüûW¾RmøÍæªwäOê(ý]ñüõbwóî¼ìŠÈ¥%ù! D5Ž»ÏyoŽª+s?óˆDœ>*3EÜYu~/¾lî°¸ó- ·œÊ8Ô;fºuIÇ1æ>i;~æé- ‹þê°L´¤i…ŠŠsö•;›6´á檠ï*±”D{uÖ´êëWÜèßn}(†#’ÂS ÿü€ÁF¼¨ÕiÞÎ{ÚŽ”7[3×ÎÉRê‚ÂUæó$‘ä¹°'¿¢ª9õ=Ä…|.G©Q… .ûm–p0$ì­i?Ô-Gß5Iè̪wÚüDÍ—‹ÏFæ'kJ9Ömw:œ>8…OôH¬AIä¾Q1<îæª·Ú]BP_)%N?õ÷%/&«‰$ÑuùDÙê—^b¶½ó\"'¶ÚRTsú*cˆ·èœC$ÚÛ{4ÃÌšoæTñ“fÇO$v­K™û nÿ¶—â>Uôø¼jµá;³ŒÁ55œ¯µ‘$z/öJDŒÞ TÍÅY¦oâ §àÄŽ•˜øQÃ^Ib”Ä+Ý~ý÷G9n]ÅûB`Pb8]t¬Ù¬!"¢øØ…íZt¬Éñ¬ñŸ«òÊc ¶n›’ eù“/?ù&‘B£u7Ú<ÒX C$´T•}7/=…Haš»¦p©éhÇ3Þ88uã¬è®spw]mdÓG©N5^Ÿ”a•“Ó†/´Ÿ;ÜIDä'"’z]¢Ûֹ轮.‰ˆm„Æ$zÔ#GMðnÜõåQ{@RŠ,–ï>ûÖUn 2¬ €Á)àå]N§Óét^³9\^c3Ž¡g%ŸÇ¯Ô†¨oWý®'Þ«¸kæËWo•l±óÝ•¯m®º¨P³DĨ†¨YvhÚ²LkÃæâO®…èÿÖoI¼£ô8Ÿ<ãž‚#FGªÌ&Ü£–Åô¾_çúï¸Ð}ÁöyxüÒ úØ0…åî¸?þÚ:?’a8–ó‹¯DœjÂýqhX­‚!"bâ¶UAÿñc!0(‰ÎsŸøøÛ …ÑúpΟ2’ÃX𒽏¶pùã•Ê¡IŸJ_’º¹$ïõÉ;sÖ9ÖlZ2û¼þî©Ï¯{qœ–nü0¢0?¶bÁ¾ç^{§aüŠ º /á¼½@[ýÙ §9+uøÆ)JM@ìè¸V¼»}ÿÕqã&‰¿¶q¯rÙ´eiJâ{k5·ùݪ‹Û­Ik³L>ò³Îm,OXŽo¿òù¥@^ú½šòÆ5m·¨ ú 0’40~)¸#¯7¸«',*Õíöેõz}È\==='Wýª7cFäò@ y …€ðoB2™Ø&(Z‚‹E±Ø"¶x©Ð T‹VÁûý¶UÜ¢ž*{p¶@{€ßY¤[ÄSÑõ®x© Û*® U¤+E©X [ˆ ‰5c!“Ûïr‰ÜîŠíóùGH2™™7ág¾¾óŽàÎO· ZÑm‰Žçþ­ÐJ ÑhÐ ­0ÐàŸ&züE-²XÌFƒ¥©ÉÜÔh6ð½ÞÌë õfîŽI§ãkÿa¼­1Ö©Z ¯ÑX†ŽòúïOE ƒF€î¬Ë“¾nÕý¸öOÔÔh1›Él²ð¼ù.gäî˜&³¹M~¶´_Àb±˜¼^õYý¿Ö¦4üPÉËq1ÊÞçU|±ž^]®"—­ýÜx¦Pbg±³B‹ÙLuÄDD$ ‰BÀB$,D¢Š‹ÿ#|ðêµdg÷+ŒÈª*]Ö>aÏg‘~[ù¶ÉÒÀñn,cOd'0‹ìììììì„"@ ‰EB‘H$¶³³ „vB! „B¡P(B@(´’^o8¸O:•„Ýq´±®ŽŒ‘ës±¬õ,A Äðn€ßXD&“±×gñQôîëò¼€„D³Å,°Ìd±ÅæQXÿiÉ&“I@$Ôë-‹ ûµ…výZÝþÝNÿõñãEdø-Fd‹Ùlhj wŒF×^ “ÉDd" H`¶˜‚{¹W …Z3²…Èb±´}A÷b±@`ij$¡P`o¯Å¯¯Qkø¾‚‘+东àéìãU*ŽQ(,Úž@DD ‘H$XˆBëpd­—èY;;#Ï›ÌfF$j~ÁSò•+Wöïßo2™žþùiÓ¦±,KD·oßþüóÏG%“ÉŽ9BDo¼ñÆèÑ£…-C´ZmFFÆ­[·ìììæÌ™ãîîNDgÏž=vìØôéÓ¯]»VRR"^ýõwÞyǺˆ™ãnÅG7ý½„ˆØ ±ò?ĨÞaT}ë“ÿ GðX§•ÿÅå½ý©–ÆF‹ÙÔsÊŒg?ø}Û­Õ™°*1ÿ&‘løª51Á ”;àß‘I pñö3…d6‘uP…Ù, ©gO£TÀ²¹I{ drHD"ÑŸ~ÊOú„7™†)•®Ïô4Z,d±ØIìmÆäK—.íß¿ÿ™gžéÕ«Weeåÿýßÿ-[¶ÌÁÁÁúlYY™V«}þùçÿñœ:uJ.—ûøøÑ;wÒÓÓyž0`À÷ß¿}ûöåË—÷ìÙó¹çž#¢ƒ655õë×ï‡~(,,tqqñöö&¢úÿ\¡¿ZnÿН@hÇWV‘ƒï0Cu•±î&ãñ¢]¯ÞL¿þDÄeí»÷ö|F_Vzgß.Äþ™¹ ›#×çâr Y‡×†›µ Â=Úî‹6í3S}ûî{ÈÇÝ%"—Vþ*Ce©†î‘ùÒØ) ²Õ;Wôÿ;_ÕžK îKñ¯,|ð×¾˜~PÛæGáÓÂ#§ùti­|qÔ„d·5;—v±xuáöu;òŠ+µ"qŸ—F„. õÁ©ü2|nBs>&"í™Õqy>é!ЇÆê¬ NÎÞ—ø v¾ÛIv#ÜɈ‰‰WÚ< îórÐìåKƒ•]Ú¥Ç>´iJ³ÖmÌ*¼rÓ@$–yøÍŸ3â ñt1"[,êoÏ›Œ‘Ph' ‰„B¡YÌØ-‹ôêM@($¡°µTl¸tñÖÏ?“ÅR~óæ%õM¾ÉäÐ#x©go[3Zìß¿ŸˆÂÃÃííí¿üòËâââóçÏ5ªùK¯ÕNš4ÉÛÛûûï¿ÏÈÈ8xð 5"Ÿ>}Z¯×ÏŸ?ßÝÝýòåËûöíËÍÍ/ù¸=è•«.ÕñD¿ÒêÃKÑ[޼¦t{tTT‚Û¾¤®ô_Œ_Ì¾Í ÛÅöQçD-H½9byÌæË©Šó6%¯ZP·{ø%:øêóÕíãYq5‚:ò㓽·®µÄ©N¦®JŒf½v.Rvá-”¡kv†°]ÎÇ… KâJ½Â#Ó“ü”,¯.ÏÛ”· |ù攇Ÿò<ñˆlJaÁíòÍ›¼Éd0û¼ “ lÞÄb±Dš ÎöŒ‡ô{¡Ð.ÿ¯–A/ DíV]VVFDƒ ’H$D4zôèâââ’’’ÖˆÌ0Œ···ÅbyñÅ{÷î]__¯R©”Jeqq±T*µ®8p X,¾|ùrëÛÊåòçž{Îb± 8ðÈ‘#wïÞ%"³NGDd2‘@$jÞ¡ÐbMöB¡@Øœà[ƒ¯µl¬k>KÕ¦&‘ST¬õI»ÄÏíße1¥3ç 1"ªû`”Ó"—˾«ö•æäWsž–{… ÕÆÅ©lüÅ~œ§fä ¯€Ž'™õC.ÏJNÞ^ª!bä>¡‘‘Ó¼XRïY° 0h޲¸°¼ºšó˜Êgmϯ¾©æ½­ŽQ‘¦ð‹„uy•Ó"#C½¨4yA¬&|sR œøòÏDUOKÌnƒ‘û„NTîÝQ®¦ý‰+ݘœSÎ1 ¿9«"Cú3D\鯨„¬ržUx…Êó7rË÷Åû”&Li.p×rRWo/V)F,Œ^¬¤âØ)©²9õ'¿«¾©ÖÈbWøÉ¹âuË=VmŽ ¶n)«ô _Í/X˜º½Üo…—fÏ‚…!‹”…'+oÞT“ÇœÄøP%C¤.ü"y]^%Gĺ,ŒYØñp§)/.ï4¶œõðóÁqà·Ö»÷ñRP~å½^}îÓðײâ6sr…›OGkb£Ãá‹c§¤²Ó†sÅßUVªÙË—¿\º=ç»êj ¿z©k«—f‰ˆ!íù/VÆå—߼˾<5&~‘KÄ•îIHÝS®aˆ€ðÈ#꜈%{¼Vo^ÚŸ!uîÊ%;Ü’ÒWx±Ý®—c•#Bý—•Ws¤dyUnjâ¦B5OÄz-Yê''âÕ¹ÉÑë 5Œ\á¤Ú˜3bóæi|Ö²–*²íóYÑÚi¡La~åMµ†ñ[ž¨à¯mOÍgnе†qFá³F1kݺâ€xŸr[‡Û‡ãöºª´¸Ó1Ÿéãã×ÿa­Ë3ZXšç¬0«µ·ìíì;»FÕusS“СǃN'¤ì ϰf‹ÅB$vtìü‚Û·oQ¯^½¬—ô±,+‘H¬Z¹ººRó`hzá…êëëúé'­VKDŽŽŽß~û­Åb1›Í à †¦¦&ëRÖáÖaЉÄh4‘ä¥ÂŽ?ŸÎ¿½nͳáËè#¤õuºÌ½|Ùw­˜ïrü÷B‰·Oç×›nÕsÇ¿t|3ˆ ‹Ž«»õ£Œ¼Ë+ïãÖœtÛ†F†Ñv^„+NMΗ-ß™(ç¯e­ 7›õѨܢô}!JFS˜°$*ÙmgübÈp¥˜IISpű³¢c³VmNK—s…Q³R÷”­ðÒäÄ&ä+ã7§øÉIs2vAB²×Î$7"CeŽ&<}_ «)LX|Ò/-˜Û—Z>`Ilj¡OLŸ=Éù}Â7?öi5¯.Þ³·ÒÑ+\A¤ÉÊa#Ó*xunÔ’è/éiKå¤ÎZ0{]Þ4¿Pm~ù]p¿ö[ª qÛ”Uª&/†!Õ<Š\“¦d¸â„Y±›JCâýÔ{âμ¿9ÅOÎ_Û³lYt–Çæií \yVB\þÝö»%~ùIÕà ’„O=µ÷Šu8ÇÄåA÷éTY‰ë*ÖZäÅh “—äú©lu8 †ø›Åê›S–²ê¬³“פ§­`T{f-ÙX8í>½´¯-.î¿fó %]Û³,¦Zb-I(B=¸â“*žX¯¥1•©±±qù}–Çw¦À«ŠsO–ªmOÜq%qâ;ÍÞ›\ùòª5‘>,q¥9ålÐì "bÓ|ø3¹*^]z^« P2D¬WÈl/q‡Õäs^Ó¬ Àô QÜbÙËŒõgÒj9ºO/MDbŸiJ†ˆéâ¦ý®\ÃWæ“ß´ ""Ögb[™[Î)B"Ãey‰±±ënÅ-êמ`/§ý2ü½–ÃÅÄeY4-11TA¼*÷ŒÆcªµJËúL QTæ”jøÊüJÆ/ć%"Eàì >> ûøÄ^¡ÍMâæÆr7µÄßUó䨇íTÀ’‹y G61÷?·©ÉL[½z¢[ÛGdÑkš§ŠÜZKÖêy‘ˆˆf³E@6˰“ÉúC£Ñ(Lfêê´oB[wâ°&ãÖøÛ¿ÿ±cÇšZÖe±Xì6q›ãÛÁ’Þõüƒþbi}ÔGΟ§ :…é¦ %Ú5)¢> ç?!rî£^<—¯¼öÐ 0Œð™g¹c9Ò‰“Åýú£ÿêVUdiËÝX9çÕ9D²rÊ·‘‘µ#o|˲¬˜ˆˆ×h w¯DM™`}œçï’gíŒÅŽ-t 1ÖÁGLË$N{×À(ZGò:ʘ»•ODâ{}‚£#cPó§âÈQÆÞë ˆ×Þ%"b¼B§Ég§ªƒÖØÇË—'/‹Î¿K}¦n²5h¬e,2_þù¬••Ó¬_pÚ»íÁeSòZw†ñÓò¼š;¶l*#W°L»ƒÍ]-ǰ­{ÂʉSs¼G›½×õa •jŽÚ_ÇݼKr·æÆbÄíâ95GÕ—LØÞüû]ƒÜCËSûÿ\dÁ1é”°dõ™»DôÒÂu)ÓúãÌà·åڞ䃕"ªÌß[Ù® ¯þ2ycðÎö9ˆ¿{—˜–Ž„a¬¸òþ1Ž­Õ†aÄ-}»µ›º_/M¬LÖrÌpt$NÍq2ñjɺ «` çïrD,)çø¬[•¯Xc³÷zb½\ëXduNÄ‚íÊÐæ\zWË®$ÏšÚÒR¤¼ÉñÄëÑrècÝØö•ûøï#[Û”‘)X:SCÔ.%óõ`­W u<ÄÜïpÜþÉú,]³š–­:XmÍÇé1t%L×'}kÙí^/}Þ­çón?U«Œf‹ u[1Y¡P´­SËЋV­ ˜ˆôz½ukÕÙh4Êå]¾îGäú\Ÿ´¿Ô.œaøáÃëLÏÖ´þ{go9ý×Ç"ç>Dd15o›@$"‹ÅTÓb´Q;ï9u‰D?mÙpgO†SÔÇÔm§‚þMV‘Ë7&/÷ؾj]dzL’ˆó²ÑC±,¯æš/áã4Zõ!bärGYPÒÎÈö'¡ê‡¬ž•9йÖ7£»ZÞÑÚoîj¹æ>áî]^,gYVÉÒw­ò 5÷¯š“ë¶óï¹&oŸ˜¾¨CgÉ8z((¿RìöÀ«‰ñZ´ÜoVBrîð”`9±2GqŸ©é2µª”1ÜåøÖ>ˆãÛ­ÊQÆòÕ­{Âiï«´}£ôqüò`¾:8´MéC•ŸS-:TA¤±µ «`Å 7§?äÏÚzüHNÈ÷ZŠ| ð›£þîÌÍû—BϪÉKÙ®dˆoùo6þnµÆpÿ‡/}pïsŸ^š§Ö¨LÄݽK¬‚eårñ½yNʼne2–ˆøkÛSK=Þ~sûº“Ããm¦¶'ÜË)‚"C³&oŸ¸yi†û°â¡‘;“üÚb¸b–xíÝ–Ãd5gx´Ÿ ò¡Ce›rr®…¶DS˜Uéè³È¡J[ícûplãì³tÍj&a;³â‘¯ïâ@ ÀÕï5]Ûäg±Xlž â›ôwj~$@(0B;{;¡½H(äõ6NYd2"R©TÖ qCCƒÅbéÓç^Á¾ªªŠZêÇ7nÜ ¢^½zY—²þú„=z0Ê,f“¥Mþ¦–Ÿù+åD$|¶yЪáÆõæ¥Y»^½ÍMMMßœ±ÑBŒX:!Œˆ ÿfúé6z°î¡ùÕkiü"/epLúæNÖ,oþk_©tîAå9Åj"â¯e´þ…2!>|ážB5¯:™ûE)÷ð`}B<¸üƒÖ—ªOî)%Ÿ †ˆ¨:'çOD\qN1ïàÆ(†¹©³rÊy"âUyY•ìð@%Cš“É©•‘‘+bÉr7^ë˜ó•ÓÒ¿QgË÷ä©x"âʳ²ÔnA/+î·× Ǫ׭JȱáÔ¥Y±«6q‘sîÛÝ+†)U{³Ê9""®tOlBŽê)9- ùà7YöÐVjð´¦ZÛ¾“”{ ís3ßÚ³j ÷ßíj‡Ó¾›²ÕKÑÝÒ¬B ñÖZÀËrÆ#ÈŠ›šÒƒg8¯ /–øksú,ŒY9¼25ù¤¦;örŒrÚò þ`b–Š'F8\^ºÝÚó“¦ð‹ØÏOjˆuóSj‹s+9"ÒîÍ¿ù¨>+ë?gypUìžbGD¼º<7yÕêjŸð…÷› ´+‡cÖgQRÊŠ®Ì¤ÔåwëêÈbi­%“µ4l1›õMd±X,D2ßùIÿ£ª±âò­sgíLf#Y´ú ·4·šô¼Éì¿xh¯N£<==Á7´Z­\.ÏÍÍ%¢áÇ· â_}õÕÛo¿]\\¬Õj{öìéääDD~~~ÅÅÅ7nœ;w.™L&†alϸÇlæ¯_+ÝÍÇ«nÄb¡DBD,}Ùw#ßöp” ÜøMaÓÙBñón\ÞѶoðìÒ·bÿ«áOÿ#îç!z^If“°GËÿ¡XHèȲï¾Çÿò§ë䫢ыuŠ/óQ³ßK}à‹Änï%):†Éå‘q©³Ç¦Ê^A!C÷±~‘Is’“—MHå›gðb‰š’åÁññ• ©³&pDŒÜgZR¤K*âÅ/…°;–Í*Wkxùˆå‰#äDòÐÄHuBì” Ö,M\êÅhr“S«’â½¢È9¹ â6n^ÚáÔ™y´IvAËC³ÂSוúDúÇÄW'§.˜Àã£dˆñ ŠN^0v“\á:B¶±Ý‘†ñZš¸4yõª)Ûy"Ö- 21TI¤½Ïº‚ãÓÙíëv$,Hm™yÚêôÐMɬœ©NH˜5#"Ö#dyŒßaèÔi;2Dwïï:U+•Ób–Ç®|/‡íãáàV\~߇غ•6zi≨ϯ҄›ªÕòš3§?C4"2¾:9uÉ„Të âc‚å|ùqy²ðô`9‘|Q䈱ɹ>­o<¬ÏÂåCg%$礅x-M\žšhíùIî3-rŽœˆBV…Ç­œ2•» Ÿâq2ïá>þ¾õ›˜ôÕYë6¦.ÙÔ2/rhbú4¿û¿¶}8þ…4Í£¼Îb±&‹Ùôu䊋 „Do¹¹Yx³E"²3ÉŸ5‹D¦ÆŸÉd"³ÙÌëÉd2óz‹Åüo©¸}·OŸÞÒŸ1#´¸Nš-_!èt­Ûµk×vîÜIDr¹\£Ñ¸¹¹Í™3G,[ï®'•Ju:]Ïž=ïܹ#ÂÃÉèçŸÞ´iSCCƒD"éÙ³g}}ýøñã_}õÕÚÚÚõë×<8,,ŒˆSRRŒFc\\w,G“’$Vö5ݪ7ÿ|·çÔ™Ï. ' ñ\Q}ô*"ÚÛ;ý÷'"…Kí¢ÙD$îû‚áÆâçÝ ÿ¨V~UØ|vúç?q_&"»žÏXÌ&źÍü•ò[ ±ÏÌ]øÌìfŽûÇ„`"rÙ° #’ái¯Ô”&L‰e’öEz¡V ݉¦ðóØÔ¼+ÚNÃÅ2Àð¸È@\Áûï¥ÎY² gâÎôà_Ŭ÷TE6›ÍuuuwîÜù™»«»ó™-–¿ýxS,$!‘ƒHà)ïܶ޽hž¶Âl&‹…,æžDžqtVô~Æp›±…ˆá›Ú¡[õïßÿ÷¿ÿýñãÇM&Ó+¯¼Ò:#rs%J¡ ;}ú´\. éÕ«—õñ=züþ÷¿/))¹rå  4ÈËË‹ˆX–5jÔóÏ?ß¼Ÿ"Q`` u¬sѦº›ü勢瞗†M±âk}Ã0ÿ^q‰w²˜LÂŽâ¾ý\61ŒFùòH³¾Iÿ÷’{çEÿñûa¯s9‡ˆ7ˆ=Ÿ‘‰^ðè9}Žý+C‰HȲ½â“ •ßjk‘á©ìç"ìñJI_êÅjŠsŠy¯ånÈÇÐÍÈG¬H±íðd‹(ɳb5 Ó“‚üµü•üe_Ë=!µŠ¬Óénüpã§ÛZÕ_¾h¼r‰ˆÞîÝÃ^( YÌf¾ß^§šŒÄëÉd"oçÈ ÅŒ½ƒX"4r­ÆÂ7Y/…³zŸ]²J zH:·X,Ö«ñ¬UdÙ³gÿó;Üú¶ð ^ïZNBâÆbë ñ!Ëã—âVxЙ¦ø‹6·ŸŠŽùÕ\ò¨c‘¥R©‹«Ë;? …ÍÅb¡€¬?[„BûÚj{¡€Lf2›Èd…tÍWªYZêÊ÷‚é£%ÔQE>xLÿøÍ!hx ¹ßÒ”}K…;Ö…-zõêåáéÉ»}Úþ.À|Æð/Öz+rëmÉÍf³Ùl6™LƒáöíÛ¯¿þ:šžpD–H$ˆÈð#²Éd2™Løâ@÷Èÿάl±XìììL&SÛè ð„#²]ÛßQ̃C2nû³Ùl&¢Ö  Ðí"2À¿“Ùl¶X,Âh蹞k8¶’…B!þº äcxbZ3±õº=ŒEDdDdDdDdDd€®³´Ñúš‘‘‘‘‘‘~eDûÛßÐ ðô2™LƒÁl6£)àÁ„B!Ã0BáÃkĽ^ö‚'Âb±˜Íf“Éd2™xž×ëõÕÕÕþþþ]ÊÇø@—ØÛÛ?4%c <Å º„çù‡¾žb_ÿŠü€ˆ €ˆ €ˆ €ˆ €ˆ €ˆ €ˆ €ˆ €ˆ €ˆ ðo ÿ~õ„7Þ÷wýc-}iõ„±Ñ×SUƬ·—œÖuiáÚÓ‡Ï6´}“_žAµÿ?;^wÿè¾^òÆG>â IDAToÌÚ_ÛnÃ/xã7ºº;ÿ›¾(yÀ†h >‹jã _ì/©ëÚÈëòÿ÷_”6âoîK„&€ßÝ…ŒöÝw© ãœî•QÒÇ~÷IëöŽ—viùÚ‚-߯|÷5'É ˆ{y©ä_ë¿»N/Ì–=äe¬úðáªÉKÜ[7ì°ší¡¶¤Öáå‰i×gƒÿðŸ2"¢Æš’9°ÅÁå£W1¾ÝðD"²áÊÆèMWÛ<`ß{P`ØÔ7=õ ~<œôyA々Ÿ,z©K‡³;WNhû½ãÿ‚ðÏi8—qN1yÓ|F½0£ aÔ'"¢†c ¦f ™ÔÿÚ9•F£æûÏOˆü¢´*cÊÂÓoN’_8§Òh4̈„¨1î­oTu |áéÅÓGI©álz|Jöe Gòaó£bg¾"%Ý¥ýII[Ωy"¶ÿ»+VbNG‡§]ÓPälõüäÅUË#5±_‘諎¥$­/PCÄ™5yóýê©‘š™“™Ó__S«5̰•Éqo¹îïéñIÙ—9"b#Ç®ãÞ9ck+*ŒÊI½üwÂ(GãNìÿ~þª%DDU‡kS^P[ŸÖWKŠ__ âˆåȈب1îýÙè‰)òù#5__P©Õù›±É«^s²±›NDúÚcI‘iF®6yŒjýáQ;vÎl»ýŒbØü¨¨÷_”ØJÈ¥*‡oÉùótpõ ýÕŸ¿­àÈUf¨;{`ÏW—뛈D²!³&ù:‹‰ 5g8~¹¾‰D./‡L›àëÜf}uYW(›´tú ‘*÷S?hDö.¯N˜=q”ÈPWr`gÎeˆ•õñª6·p`Ä8“®âøþƒg«›ˆDRÏ·§MzÍULUÁŽ_W눌$õ|kÚ´‘ÈìO±ÇhÑÛ'0000p¤’ê/KßZ|çQ—;ûO™;sæ;]=thÎggŸü¦ÿ1 ÿ¬Ú‚ ÕÀ™oº¸Œœ9D½ÿDËh†áU'¸÷6oÞ¹7õ}uZ|vÃ_.ÎOݼsߎ„!R’N4Ø ÝÇâcN(£ö~õÕßvÌç·Ä¤ü]§ÿ~K|šj̺/¿úê«óéxRÚßõÒQ±±#Yù»É;ÖLVÜ Ú[bR.IØ{ôСƒ©“5ëcÒ.é‰Òœ;-_¼fóÎ};VÊ Ò2¾×SUvÊnþŽ£G=˜ú>º@ecœ†ö‡ï•¾.ûûb½ÿ&d\Öé¿?|‚ùþ ¦¥‰ŽÇ']˜p𫯾Ú¥8—’R #"†xuÁ¥WV¦oÞyhÓ|>;íx-ÙÚM¢†ñ)Æ2í’í7ÔWA/¼,ëÚ‡ÚÔ|²¯=»çÐu·éÑŸ~úé&õ®8tಎȠÊÙ’£}-üãO“¢g»]?°³PÛº ®tÏ_NÙ‡|0}ÔPóõîÜÛ¯þîãO?ýô£·éÛ‡®ˆtß8tÝeztlÌÎX}ªÚ(&1‘®dÇŽ³âw—EÇÆF/¡ËÙrHe Ýw‡ro¿ûñ²·Dg@ð4{Œ"WÿwÆzˆ‰È0Àøñ¦K׿Q5‘f'­=O>ãÔdŸ§1QxÓ¡òÄÞì“—jšˆD²~Cdžâ,6ÔíÛf­"÷Sc剽™'¯Ö7E²AcgNåî@ÔXubïÞ“—ꛈ¤Ê¡ã§†Òe|œ~ÉHDû>üfî'ÞøØºC£Aì ~ÐÝOÕáýܰ¨aR"2$³ÿûñËš‹™ò7ß(%"‰rØ0ùúÓ×fö'"åûo¾(!"éÀ·†0Ç¿¾¦³ã€݅×åo®|EJD.c’Ž$©TBËv|©“H%Dä2l”"ík5Gdc(Cí¹•bòûƒ¤D$qsrÿ´´¯Uü"fàä‘.DD¬RÉrj Q¹œTÇö­|Ø ÷÷ãmížîz‰¶÷h·‡Œòý÷Ùðýt¯¼Æ\Û‚y3¹?s¹ù9—÷×}ù¦D*%"§!o)i½ZC¤ bØ!ïs""’÷W²\•F/dc7õ×¾¾Æ ‹"%"—·æ¿»þDAs+±ï®éBD—7gIK:¦ŠÔ±ÌUT•zwáKÔXW’{övïÑž2"þ±/98‘Tù²Ìx¼¶‘êJ.7¹MxÙYL$î²ìc£È´DDMÿrH7:üw¾2"»†|ôq£õû+{a Ûô¶‰ µ—jEýB^p "ÙÀÑ>Ï~WADºëgkí_ž0P&&"Ù«/ß_RkxW*i¿+üN9b`?gŸé |ÐCüÖ"r""#‰D""Ò•æÕ :`€ƒ¦hcú1•}¿À™ÊÆóÙYßd¤eQS]Û,Ûü’AS> t8Ÿ±-{c¦kô¬ÞW·¦»NýÆÌ%­<ºï›Œö+VŒ;²fSV6rîLäãî<š¶M´dÞ9‘¡®h[ú7®K>ëÜ}C²þRÆq•ZþÎñ–GØý—G¿"!"†ua­yMº°tŽã‰ˆVÞlY–áÕ<ßéM9 Ç3.-%Xk´$}Õ‰õiû/¨y"â5*^qŸ âª8º· F.'^ÃC Óò–Íÿ:IXG[¶ìŸ¯fŽ_Ñi E£ª¤¾·¯òQþF÷7'+22Î5 ”ï?'’9׺Qµç¶¤m9§â‰ˆçT<3ªe™ÖMj}©Ýä9ŽØþÍmI¬;Ë4·’æ@øÄãÖ·àyަé´UÚŠï]Þuyø7èvr­?Ú?û¢ïüß8‘A[ñõÁ¯+ê $¦¦z²÷$"Žk984wtb‡–s8cuΞj£ý@YˆšïŽçVh‰ˆšn“ŒˆŒMF{ç–e¥.¢ "2Ꚍܹu‰ßYŸ0›Dâ&rðœ>éë¯ ÷§¸-ryù­ F*Ñ[ü¶"r“N«Ñˆ¨±îÂÑ MD½)ÈúнƒfN%'ÒœÈPõš:vˆœÈ]téÒ¦«e§U¡Sí[ßäNå7*"YàX?wg’U~“qét•fÐéëF’Ž?jÈsâAJù€ëbg©«‘ÖÁUéîŒcNw!~îýEïlMOßJKf2žß–~Ò>´[çãæ õï84³õ*µý fœÓ½2Šˆx®–ÓIˆô\-G,Ëñœ†#’Z£0ÏÈY¦Ó»²r–᪚—%]mǺó‘IÞ\·nõ )QUÆ”Ù_ÛÞ" ëÎÒ…ÖUð 1ï{ÝœôÅ1ËÇ,#}íé´åñ1ÙCvNviwÖRým½ìå~x¡ËÈ™ý×ï?QÀ^PLŽp¹¶kÇĜ蟼içkND ÇLÜrß·¨Úbk7Y–xMK{pUÖs VÎ2Š›ö-qФ*Ñöáöä÷.×k°¿Ý±³Ôeþ²žR"]ɚᬛco¬Õ‰ÄDdÐÕi2g"¢g_ ŸïvjÝÝ%®øÊ 5¹;T _öÒ¨îøÿþ¹‚ˆÈA$jj467oc½õG{©½èÙÑÿù®s‡ pöywºÏ»dÐVänÙ±ãx¿?LÄhd€§ÖcŒE6^ÍHNJJJú|Ó±ëFû~ãgŽ’·ämyo)‘AW¯#"©õ79Ȉš´-‡kήo$"í±äÈÈÈÈO3TDÆ:mƒu9W©˜ˆÄ==¼‡x{Èqé®ä~ó–¼CG×þùÏi'íC?œåݳ[onCAÆ9ù˜‘îmSâÅ…ŒëcMÁáË:"Ò_;V QŽêoýòªþ^ODº ‡/ðýG);_a&ò~îDƹ"ªý:iaxÚåNÃ1òR"}íéŒcj⛋ÒÄs\ÛB´Ë°1Jõþ×ôD¤¯:¾ÿ;ò-%c3>þ=qÁ²ŒïõD$qéÿ¢¼ó+ µ%*‡—=y¯Ó°ÉUëÓ.÷Ÿl>ÑŒ¯åˆ}QéDD ßXE|o{v:ÞænJ•¯)5çŽ]ÓQÃéŒê–V¨9žq¶ˆHÿýá¸hë¾´Õ¨:[ßÛ·ßãžµäàÒ[JDºŠS…õdl4Ľ}=íkO­15ªrÿ’¶³TKD$’ºõvö™4}`ý¡ujÒ5‰dn2"ƒ¶ôÔåÛdl4’Cï²¦Š’êF"Ò^þºô69ô{Í…+9U¡#"2ÔìÞ‘¯2jr¾Xs°BGDb™‹Û³˜+à)÷8¹kà”@W1‰ì¥Î®Jçžb"jž•Td³bio¢&]½Ž^’uu:"{™´íÊì{;ie#—,òo®z‰DRQå7DÚÆú&õ4eç/iú "ÅçÔS²øè7¢‘c»y>&ª=‘qY1fe»*¦ËÈ1Êõ'j‡É‰Q cGÎJR©5숄IîDUDLÿ‘´%|Öeµš—\™ð¦‘ºSÔ“û}|ÊÔ·cxR ™”ðš£X<,2iêØ4¹¢ÿû‹Wθ™¶yñ»)³ÇfÈåÊ‘‹#"†D¦DƼ˜:³óòLÿ™6w3**âlÌò‰cY¹räÌ÷ûŸ8fm¥Ø„ª¤”Ùc9"b”oFÄv<ÝèZ¼3±ëˆw_¾|è³øS¬´·gpHpÍŽ/ÿ²C¹lÁ„ùÁ{öüå“Ü&£}ï—'ÌáLÚ–qמf¿öÙ_v~ÝoÉ[ï¾°åÀŸâsX©‹OȄѵ[¾üb·ì£IÓ‚+vlIŒ·g{{¼ærù[""©ïìÙµ»~ßDD¢ÞC¦»ˆÅâÑ£ÝvüìûÂkÓßE ài&ÐëýþÖIßD>K>™åѾ÷7ü˜™ôù7ƒ–|2ÏCLDšÓiIÙ*Q¿À©JÝùììR­läŠÈ÷ëîMú¦+JKÊRI}B§Œ’iO;Y# \4oPåºO÷]õ33P^y,£ Fúú‡QaΗÒ>ÎPÙ?õAÜQVþµ°X,f³Ùd2™L&žçõz}uuµ¿¿ÿ£¿ÃÏ?ÿü‹lIÃ×K¦nykG‡ U³Z¦uƒÇ=19¼`öáÉ{7qzú÷E[ðÙgߎøÃ²×ð}xúõèÑãÁ/øÝ]O>jÑ’1ƒd5'36m˾DýFÎ]2¶ÃœÆrÿ¹Kˆ.emZ»)ëºÈ#pìP9õô›·$p€TulÛ¦Œrè”%ãÝÅäÐo””š®fï=Z‰‰”º5ýß'Œ]u¬–ˆôߟ8¬’éÏ>­ûb¸¾;!~ÃY­ÈPsöœ–íçfOà7¡KUäþ€ó¸·_#T‘¥ήis“ØØÉ/JžÚ}Ñ]ÊÙqèlm‘H†ûüz<´ŠüïŒÈ?^ÈËÈ(¨·÷ùðãYî8Ð "w›ˆ ˆÈm ÿ}Ûb¨:¶· žìû¡ÝÖ¿qj"ñK‹’’ÑâÐÍ ÑˆÈˆÈˆÈˆÈðûú ñ€_>? aÀSL,ÆôÐ5 à "ï™D"A-…P(´··”ä BcÁÓž’íììÐðK†i4"2"2"2ÀcýíoC+Ü‹Èo¼ñZž‹Åb6›M&“Édây^¯×WWW£Yà‰Ã@ DdDdDdDdDdDdDdDdDdDdDdDd€_wDÖœþSdddddâѺ¾âÏåí •[£"#?ÉüрϞʈ\wát=‰d"Òž/ú%b­Øõ¹sçN%ãó€'NÔå% uç¿Ñ’,0tÔÕMÙ¥ßÔŒ s7?Q´wkvi½QÔ{Ð(ck >‘˜|L7 t¬èäÑKZ£lPèÜ@㱌ì«Z’ š²džŸÜPó×mÛ.9¼¾"*L|:1ù˜nÀ”ñÒ‚£çkšD2ŸÐ%Sý»%C£Aì ~ÐO¥.W‘ uEçµÔ{Ôë>#•¤»ðMMsYóÍÖ¬ÒzÑ€1sç9Wž×¶†p±ˆÈxõd¥ÇØÐ¡2Ò^ÊZ›qµßØ)¯÷&í¥¬ìÊveèæ» œ:åõÞFmiVVe#>¦î<š–¼õ‚æÞ÷bcRú_ë0Xæt¹ó†:tèÐàÄ‹z4@÷ÕÕ*²¡¦à¼ŽzUR£Ñuˆ+e—V…º{ˆéNåùz"ÙÐ1£¼ŸVÿ¼@×f9ÙëcG qÖèNžÏ®—?jˆsccÁ7Y5uu¤ì¸Ùа±Cœ©Ÿ±à›Œšº½ä€Oª»?÷þ¢w¶¦§o¥%3ÏoK?iúáXç'QDÖŸ‰±¬è/aX—¾ƒ}ýƒÂ¦Ü ü¢Ù :]ÖDÔtrmÒÉæ‡.®lôxÉ¡I×HDÎR1‰¥ÎR¢¶Y*—‘È^LD½íÅDF‘ÑØy-RW)‘ƒ½=Q>¥nJî7o mM_ûç<ƒÑuꇳ¼{vÛMå¹ÚŠ¢œŠ¢œmký?\8o°üB¹±òô¥&’ ?Hjýý辂«•/yÛKˆ´º:zŠ ºÚö·’’ÅG¿Û-ò1ãÖ)ýêu µ7.–”ÕòDD EkçÏÓmÙ1X‚~ˆÜXYpÕH²!þÞÎÖG\µ' ²¯ž¾zÇ{ˆ»Ooª©ÿ&û´G ´ò¯¬#S)yÈØ±Ýe[\‚>X9ÃÕösº‹»âV}vªˆª¶Eo:1!lêÊåz•§¯I:ÀGv/ *#º~úêr5sü™ñú±m'uC]‘¡[‘ž‘¸þCwë/µ™»+pÁ܇@¯GR€'Ãb±˜Íf“Éd2™xž×ëõÕÕÕþþþ]}Ÿ{—ë¹”y¿*2ÝÊ÷nL‘ˇŽÌëÛþYÝÕüÌÌÌü¢‹µo}ˆuñì6/, ïý‡/ë®ænÝ–•_rµ¶ã‰ˆuñöõ7c^ˆ¯k»Bµ.w^`L9…nÉŽî8ÒCw&nÒ²œ""Ϲ[Ú¹o]ÌÝ™STrñFË–1¬‹ç`ÿ éó†»Þ¯®¯9³{ö#E«x"b\¼ýƒ¦0/x€T5eüÌÝ DÌèõ'S|%,ÉÙ™w¦¤yÉGiÝüÌ­™ym6‘XσýC¦ãIxêˆÐð"íëéDe D¤«hÐS_I›€š²xÕî ¾Ã-—ùmõýhýš6†fÜÊO\¶*«¢ÃBe§²ÊNem»>q\ßGÏ¡¿ºuqs>v ]³¾m>®É‹ˆÉ©ê°ÏÕ–e•em»ÏJnåÇÍ_•SÛv‘Ú²SÛbNeæDmMìÛ`=5f$L§¼¿+zÙgE ¶Ûaƒ÷ôÕ«WïxuÓ"o+³Ñx%µ%yÛ6%¬O vÅ÷‘º7¦m6¬ÉŒX¶ÛšsYÏ °°Ñƒ]zIIw«öbÞ®m§ªˆ¸’ÏÇ÷=’8¼] UW’8U–5†ºøOŸäí*%]MYÞîÝEµD §âçÅK$<¬†Z“½xm;:aKt›•详µæc'ßé!þžN½$¤»u£$§u%kûXÙ¾(]³kUk>v=wÞ¸á}¨¡"?së¤ˆ”¹®Íy¶}BÖߨ1ó³2kCx‡Ì ó÷ìÛWJ 5ósvgÕ_¶{Ùb¦ýÕŽºü¸–|ìä:=d¸§«TBú[57JòvgÕÕæÅD¸ ØÑ£¿ ÛÑUT4—G<$÷rèÖ ÖXÈøÇH×&чŒÛ:cÒÚ*".omÞ‡ÃÃ\ÛÄ× ÑÖ|ÌŽŽÝ•2®õ™àqaÓ3—MJ*á‰ËKÚ0Ý?úAÓgèJǜ∈ñښܫÝsv[ó1´æ@Û€>< x\Pâ¤ùY Dµ»×}°>àÞ“º3)k­;DÞX?£%šö  ÛµlÆg9Ûšãsû"rMfts>öœ»e}ĽÉA6cײŸ•ðTµ-nø̈¾ÍÏÝÊßzŠ'"bCֈ󽷾ÃÇ͘w$bR|OU»ÓÊ>è<¤ {¢ à7C#gksrt ~/ëòœÔÛ×ÛÓÝÝ3䃠Ž_Iß°|­?VäU´™ÌPW´6Óš·}WFk?Š@âõõÒÀ†¼ÝeúlÒ®ˆkÎöœ»~uX‡:«žwò÷õötw÷ž7×·ã `éàys›/?¼š×öêC]Éî"k‘ØenT‡·”ô‘åËØÜ–‹[·Y+éž­Žè4yž¤ïŒØ=‰ˆ¨*skëíõ ­q›äÝyœ²ë¸¨Ø¹Óç~æ‚o <5PE†ßL>>¿xmó^ïya}ÛdM߈”õ÷_’éëéD% Dt«FG$m ”GJ¬9Ô;Ô߯Hо!Ñ N5$uêåâ~¿Úé­üøyŸ•ñDä²f}çTJ½¢Sî¿eNú2TÅq5:žHÒ²§ù›r@± ½‚> J™ŸÃun SÖÈï==Èö¸aנ鞟ÅWqEGnè7˜n^£ä†~xçáÚ®Á+ƒñýDd€'¤öÔÖ´†N9“×ÕÞ¨()*k¹ñM {صcz½Žo®«çm®«¤ùÚ>§Á¶'yèå<Î÷kÐ]LY¼*#"vtÂú¸áxÿ6Fz½„!≈Ú‘kn4Çß¾þ6g»xŽóerNuØ-]Ys 9yzÞo[¤ž¾NTÑ@ÔPQ¡£"’ô ðgwçpDµÛæ/æ£VÎ Ü ã) »àK²¶•<ø%î!±)‡E4çÍù™»Žä•”U´ÌtöÀ¤Úp£eTs_§®'BþFæªÅÖaÆî>l¶ÝÕÜÌÝ9y%+j¹Gxo®¶eË\œlލ ‰Ëp:UÕa‡®6/Ö5sDÖÃVÒp£¨‘ÄwebHɲœZ"¾lwüüÝñ¬‹·¯@@€¿¿ï¤e@D讬óú†L `«Bª+I‹ˆè÷Ñsç…ùzº:õ’¶äËiã&m«}@(m ü¨j+Ú”ƒË>[™æ»ËÖý°õWÓZó1ãôÁܰ€Áž.®­¦¿#"2ÀÓBqCš­ÒÚEàÎQÊ6Ö5ð±VÆsnÚê€3ó·UUm[•°+ºãåzº¢µÍS¾Y'£ë1m­Y"i™ò™×é[+½ÞÙÆ63N"Žˆˆõôõð8$¤†‡ A¤¯¹XT”w$óÈ© Žˆjsb"œúÚ< èŽ0éüÖÕæ—XKžlÈÊ0[7·¸7ì¸muêëdý©¡¢¡Ë7q÷þh×–_×Á¤|dF­6kUÊ]‡õÞÈk™™búJ›Ã§u·jl”Ù–Ëu ÷9+h(©é¼Cž-;TUËÿ³*q¶2eWîØÑ,UíÞP†›Ý"2ÀSA¯«mަ®ƒ]lV\ËrJlDF_Ok±–»xÑf½u&-::::::%ÿV‡§œ<›W%é;cuó,Å 9Ñq¹í^È74p-[æds %Ye6–ººX·Œ¿qÃæ–é+Ž”tŽÖROßæµ´ŸeùŸ‹Ê}Ç­lž š¿qµ_7@Dx*´^n§×Ù(Éê¯f&¶Žöåù{YY2x\ó8ªvᆰ·‘_·mËËËËË˯a4¼À5,!ÖŸ!"âNÅÇiSÝe–iÙ2‘UW²á³Öé;xþÞ+$î}­?UåÕØHÖùrl¥ÙÑÖŒÌåoè”ê›=1nܼ•)™gnµîæ®Ä•‹g„-Þuã~í+Áè @DxºHœ|›oûVu$¿CÌÓß8½lm•‹7ÛœJÛŽ©úb”µ»£×–´%Q“›”dͯlÐ ß_Ì×+811ˆ%"âKâWíº¡oͬ-[V–SÔ!²ê.îZ‘¥s÷lÙ²mâ}/ß0oëOik;„]ýÌøø"›)$æ}`]Ž/‰ÙÕ)öë®n]•TT[[vj÷‘Ö¡}IΩ’Šª’ÏâvÙ8Q ýÕÝ»¬·ìsòµ] è†ìþøÇ?¢àI±´0™L&“éÎ;nnn]}Sõ±ÍÇþADô¬ÿô©ƒ»8¹õxÖáâ¾ÿ0ýtîë‹zç>ÏŠx®ºòì×þç¿þg¹É7ê‹¥¢¼œJžˆ¯®íáåù¬‰·{V*!QŸ!krr*‰~*ËÉÌ¿¡Óÿ|»¦¢´ sÝ?nžAŽ»zÞ€Ö5ñ•‡¶¨#¢^¦êsïZYIßaƒoïi¬ IDATåä”755žðZ/IDù» ˆ¨öÔ×WWWjl¨¾\tl]ü|–ó‡ÑŸ¬›Q¿/¯–ˆ¸Ê›Nƒûöày‡g¥"’º¹5o_™w¨ä#íAz]]EѾÏÿ3fg¹Ésî‡.¥ç:o‰tà0§’Ì‚Z™j‹²—ܲcìøÆÛµ•å%‡¶&ýñÿåüÃDDäùáõ¬u!‰Û‡ü}E DuEYûÎÜhøùg^Ç5ÔÕÞ¨¸x.gjÌÿ;f ÄwÅÿ.ìògð„þú׿¢ ûxûí·»ºˆþLĈeED=éÝÊ]9)æ”aŒ÷Üõiƒ™’èàÅm&WóN8¹5Ø÷jòã"VåØž·ØitÔúÄ6WêrçÆ”‘Sè–ìèÁíÇè/¦Lš¿»–ˆÈ%tý®h_)éoìZ6ã3[C¡YÿÖ¯ž1@—1>æ^Q˜½þdН„ˆô·.^¼ÖÖLÏî¡kÖGð1«Jln‰þjfô²¤S÷6Ìú~˜¶z^û¬«+I‰ˆØý€Y¥Yß¹)«#|à©!zã7Ð ðDX,³Ùl­ó<¯×ë«««ŸÈ–ô N9âš™¶!óTI…u:4ÖÅ{xPØÜyã¬wñJûP·áTOÄ8yûº¶N"ì—y<ìȶ­™gJ*ª¬·aœ<}G‡LŸ6ÜõчáJ˜öaɤµDµY+“Ž$—’¤ïŒõÙv­Ý™Ñú挓û`ÿqÓç…ô•‘$8vuELÒî’Zžˆuñm¹âŽ$ƒçmͼkÃÖÌS%Ö»2Nî¾£Ãæ}æÛK¢ËoÑñþ{’a)Ù£Kò¶efž)i½Ñ úxúú ›bcŸ¤¾+·æ†åÙu$¯¤ìFUËE†Ä8¹ö6=¤+ Ð ôzLÄÝ("ûûû£eþån™ñn|¹Ì=p$¢/ =\®𛣯m™Ù©/‹æèw×øõEà«™k·©¸qCç·eåàŽƒôGЬƒ!\|÷Bst‚*2À¯ŽDR“Ÿwª¤¢ªbwÒ†ŽS±é.nˆË²^ç6®/Z  3T‘~}ú΋ Ê\–ÇUl›9¾,tnÈð¾®RÒÕTägnÍ)³–B£ÃlÁåzðÄàr½%ýÌU‹“Šî7y›KPìúØq˜hÀ&T‘~•$}ÃÒ²ýÏdnÍÌ)*©¨mžˆqrì;<$lî8_ B¸/T‘á‰Aº'\®€ˆ €ˆ €ˆ €ˆ ðïȆ+###£vV:<þãáO"#£6^1tyýw®œ>Zô£ˆ¨±,-22òO§5è¶ù—§9Ÿ}ò›šF""åø¹3ç† ’vxàßéñoÒXu"#ã¯WµF{סþ½Û¼'ÌÐh;ˆôÀSéq«È†ó¶»ªuð ]8s¤¨¬T×òDÝÑôm×iÈÌ?œ2@WºoãÑ Dbýöî?¬‰+ïÿg·a%céè Å•¸7áªmÒ{ ­W •»%}ªàºÐ¯-ÚÜVÔ]°·@·Boë ݪ­—°]¡úÚ‚Õ%ý!hè³Dí>kÒƒÚä¨N(Ì€í÷€¢ V+*êûõ—“ÉÉ™sμsr29½ßÚ¡NHž­öï9¾wûÞÎñqÉQÐ#Éis'œO탷ÏÓ>rõmlí&¢nW£‹hL´ùøæä¯v­-9Ô1ðß¶ú·ó7~Ô†µ1pçFäNûah̬8ý¤IÍ1GÌF·5:M¤š5krhèCqŒ¡Î/b“lBœyŠF3eÖd–¨ÓÕA!*U¨Æ‡†\8¶ßàí£Æê£ÇPßÑFW/õº[ûhŒ~2òÍç7öñgfÑî%‡:z{ÛêK7îõOX‚Id¸õýÈ…½Ý§»‰ˆe½É– aé°@D½ÝB7¹vüiùŽ}]}@D$#"¿€]ñtcÈä)ª=öFW·ìPK©â"Gã¼£JYL%‹_·öö©æ¦ýV3 uwpDö `ˆz¡›(€¨£MØ>&€¨G5'm¾º^Xæ@ǯ)‰E>2¾b‡½¡Ùÿ¨@ãg#!°”ì·»AöHò1Ü6~ìB‹ H5Ktú£ÊýÍÍõ•ö¾þí!šÉcˆ\õ.¡»­¹²äím»}_ ??u|ñEskGïÐÛGi¦«eBcåg>E(6ÂRòä8äc¸­üØ;Zø…Æ%Oo+Ý{¸²ôèøh£.¨²¡³—ˆ(dÖ3ɽÛ+¶ml YP¸nNœzÑißG Ÿr?»í {åö^ÿå)¾·?7Ú/`Â#j™ýpŸL„ p£ü¤ u0"|gBÜðÆ/Šâ-PÌÞ¯>È_ÿYwäÂU)“pÖn—ÿÝwß~ûí¹sçÎ;'I’(Š'NœÐëõ¨Dd@D¾¹d#¾„Ý_±·|aýL  é³& À‘{…/*¶íí¤ õœgfÅ-Ån<ÌbÞ˜ÅGDš_H\ÖÚ8œ(n’$µ··wvvöôô 6àð÷÷ fµ€ˆ È…#.”H’tôèÑ»ï¾;$$D.—£aÀ Šâ7ß|sôèÑ &|¿AŽœŽy™(ßÝÝÝÒÒròäÉ®®.œÐë!00pܸqáááxWsߦ""ÜYù¸¥¥eÔ¨Q>ÇßÛRwwwgggKKKxxøà1±½½Ý›e2ÙO~ò´ ¸ ÅéÓ§ÛÛÛU*Ո혃{ 3xû?þñQ£Fý⿸ûî»qB¯‡o¾ù†çùüã?üðàÆpŽÞ7òŠ€ˆ p§koo5jÔàkóJ¼—“KBIggçØ±cårùOúS4 ¸aîºë®Q£F}õÕWƒ[ãH똃{ Ñ…Ry#ÚÏþsœÇëçî»ï¾ûî»Oœ8qôèQFs'Þ7òŠà® wÎÎΠ  ;ð…uvvÞÒÓÓˆ| 7ØOúÓÀÀÀK>(™óû½æäÉ“Çá$ÞÇ}õÕW½oXÛFD¸ÓõôôÜ™ŸÐ|õÖWÀMñý†72;æ÷{MWWÖWÜwß}÷%«½ïØÑû†]‘‘‘‘†núÃO:Ùð‰íÝ5%:\긡ڛªj›Fm4iƒQ?f‘àR¢-Ûgû‡Úš¬XCºÅ)^Ñc…šô˜ØÂÇ’³È¤»ð_Ñ^h2¤×WWs™ ç€D[FŒî"†,ÛY{žÉ”gÉUf6dØD"rÕT5 # ¼RKÙú¿¼ýö_V¿Õìñõ÷“;&dÚ<×çÉO5||ä’CŸú`±é‚„…Ù%MWþä§>X<ïÕ&é–Iȵù¹ùëÖåæ”;}6¥ºôS‘óú<·ÐTUsñ˜-Ú c/´ÚSzQ]ûîöÂKüu#Û·oÆr°+Z’ãŒ/Új»²if5Æ¡ÄÆg¨UDä²ÕóŒ`³ñ¤Vo«ãÃR4,êàGa¸„­•Yê‹:£¦¬ŒX9%®šÍåRž)êŽîg§Ê*{WÌœtÉ䵟zù_ ¦*ˆÈÓ²gmVöÚI;­'¸%Q$’ßÈg%›-f£Auѳ2Ši›ª µr"Á^–þtÖº˜ê<­|„WžlÒ/#1è€O.KÖ2kD^YzTÿPÖ^W¸2ßê”DRĤf›9[†)?¬¤*=ŒˆÈYbN±¥¿eTº­MíIª`5‚Ö¬uÖ6 I*–„¦Z·Ò¨ ¦öº¢•ù»DÄ„™2 2 Á¢-cN¡ÊÈZ«héÎMZ[Î’|«‹Uªõœ€Ë{aÒ2*Ø™åMÄbS΢u7³Èì,(ËQÚ.î°ar¡:ÅT®5J–ZeaeáÉ(RÓ« ߸÷ñI- GNž$íóϪv~Òrò$½<ï-cËþÝ[!3Â5µtvv…ÌX¹2e’‚Ní{cí[ûO£~ôÅå)Q ϾeÏTj¦Ho^0¹õícm~™‹O®Üðâ$Ÿ¿2¬Ÿ‘]–³ï˜%5•¬^ÿ÷c]$ù›ñÂÊ¢ƒˆ:ÞXýÆþ–.)P=gÅÊ”¨Aéûãìeå!+þü‚úëׯyû@Iø`âʇ3$ܳæÕÒ_Ž{pÎŒ¶òý¾Y03HjÙ³~}YSgo/sߌçW<«9¿"T§˜Ê fU}}““çŒÙ©œ¥´Æawsæ‚MéQBuÊœÒ(³²Éæäy),¹  I-'¡©,'g³Í#'â iy™¦0²ç=¹L2„Ùªø¸$v{­Ûc{2=}S‘ÙׯױjƒIY\Õ. UIs,©Õ%–¨½ÿßzGÆœBUr„ÓêpºyÖ˜·)CË’PW˜žeqÊ•az'wq°äæn¶ñ¢È¨M™«3b†me Z€o|}΢͔¶)'f`6ª½ze–U™¹³ººf[ªP”±ÙÉF™µ‚µÊé Ô6+eÖŽ×ÆpN«C VgŒW9­‘HtXí\Œ–jò³v)3«jªkªr"jrrk"’‹Ž:1ugͦXy]~~}X^uM•%;ªùâB…ºK?jÖéb®jéÀíL•™gäBS7Yr¢„ïuX"’“§¹^•]]}½ò±tdýïRóòýÞ¿h^Ø¿¸!»Á÷Ò¦÷+›gNnÁÆ Ï(>Y[*%ålÜð }R~ “ˆñ“¾:@sò6lܲáYúûú¿Ÿ¤Î×®oÒ¬üë»ï¼ûæ³~_óv“DÄP—ýÀ½/þõU¥/Ÿò³±Iù‡ÈÇçù1~$µ”¯ÿ;%¾ùî»ïny6pÿe-u~¼f½=:÷¯[^ì?<‘ä9òVv)%ç½¥ðxã/ö¨œ¿¾ûî»ySŽ•þe_'Qç¾õoÓæ¼ûî–Ü'+í]Äø‘ÔRºú­¶Ùù[Þy÷¯ËÕ¶µo4x®×ÙwYRúGÅGóDDä.Ÿÿ°w‹¹ÈîkQ‚œ<Í5ª´MeU›ùòe¥\榒ª’xÞRbIN$9lÊôMe–ªM‰|q¾µÄ¦¢e›¥Ô5ÕÕÕŒMùY»\D$'w½+~kMÙs©«Ó#ú¼¾ó1 MV q™O9䢣Ž7””UmM%KQM;‰ö¢Ü*6³²¦ÚR`pÛx颀\¼¬ÐeÞTY]S§©ËÊÆË"2ø ÈÖ¬œ^àyéü°*8vÙ¹ÄÔ–ˆ‚ ‰Z¾¦ÎÅj“b$oFn·UñÚD-+3jåÍV§(:kì CTXÔ4ÎQíEgu³\k #‡Õ&Ÿ–¨e‰ˆÕ˜ l“Õ!qQ& K$ºê¤1kY"R£.ºÄ±19E‰¡ƒ·( ² Xºw‰¯˜?=f€!År™uú¾:,£4Ô×oúXúúÔ×Cý­÷Tg× ‰žÎÞò vÞÂx:%""ægÎgˆ(H=5¤­¡å”ý“–Ù³'1DôàãšÞ¦†“ù…Lg®¨˜ž–OÊz£¦Œc˜ðgßükîÌ " RG‡tì”<öOì?›1%œ! Š^ñö›Ï{‡¡ÞSûׯmÒ®\>ó^"RDç¿û泓"fœVØy²‹¤“ 'ƒ¢g„3DAÚÇg‡øµíkèz0qÆ8†ˆ™4{öÏš?>v½–4 N~È¿¹ÝC$s&Â4MED\Ç„õÁDÄEp/x«>4Þ&'"¥VË9kZE§µ^Ô¦‚‰H®6š•Þù"&Â|¹é[ÉS»ÈÖ§?]LÆÔiªË¼eŒ1BND\˜’xñ6›æ=|°Þ¬½heŒÛZ#èSãÃäDò(³™³U9†m}2îh>‡MuFYATMzRzaTY––%"‘ç=­ÅOJ""I’8• Ê5f­”WåLM´ïrk’£X" 3Fˆù5N7g“´™J9§ÕÐ.›Û-ÙĈŒ0¹ÔÄKŠÖ{‰–³JFr±$WpÞ/ɹþAa—\ðXmFÉ&JYTÞJDÊ„ [³bð…m¸cú%_°5-b SÈÙ`rµ¯ÏKDÄr×sõ­Býdò£÷žì%’:mû|MDš)Ñ÷2Dô³bŸŸÂ×?©×ûÀ{½¯90!©ëO)‚û÷ ò“¼QšxÙÂõÚ×&šÖz=öWÉ9ÏkDÒÉ}o½Qy Mòóëýú«Þûˆz=]¤èFbýåé:ð翟úù þÿwÚ*ß(ÿø˜‡ü¨«íkf‘$uI~!ýüYH7~ÝÕõùêßÍón•º$u§DÄ\º‹OMl k­C"¢P½1Šcˆ˜SÄú–Ÿ/Ö =YŽíok#9$\Ÿ‰åXx‘”D,Ç^î5]X‹L‚Ý’µd~NÞΜPßûÊNÞ_ùÀ5á˜þÃ+.z"QàOí²XCõz¤¨vi¸V_#"€/lhdž%d×?™‘¥ÝYLrŽSD,-+Kºøí¿&QïÉ©jŽp¸4‰ÞÏÎØˆø0¡ÜV'ç#’Ãä$‹à‹êêˆKŒ`‰a9Öã¼ß!·Ä Œxì@ `DWÿ„‡ÔÎÂ…Õf”lb²6K‰Ã¹ì àÖÉ\pð 0ôŒ™Ï+¸¯{ ƒ´O¾ %"’ެ9p`Ñ}?ÿâµ})®ëT—7Vvuzˆ ¼[HžÎ."QWg/sï•EÎ _×»àÔžWÿrlvÁ›‡3têƒÅÏ5ù)ÉóõÀâŠS';Ç‘ß}Ï<ß¹&gíž fßë±½±öÅò [´A$5½ú»õDÄ0Log¬ÿºÍã͆ã~ø«þúrsÝ«^®6e䘈ˆÚ-ŽÚ|‘2&-;ãš>3xˆ%^b¬‚åÑéôG–»ÊóêøÄˆ¢Ü—˜<¨K’x™FÏH6©?ùò¼ ]X‹,gÃ8Å´¬ë³n -à2‚cóò ŽÜ%%v‘؈xµËbi‰HtZr²¼7‚“G˜§IÖ¢ÍÎóÀê²à(“ÊQZî 3D°D$5†¹ËË*cT0‘<,^#Ö–ÛÚ‰Hh¶X­ñ¢Ù ¹JAÍ›@$:«Ê>?“dµéE›| ’\âöV$}}`ÝCD§>i ‰¿W=CýõžÊ#"êlø ÙïÁ)ã˜K+¡÷”t% ¤®¶^ægãB¢N[å'_õöv‘B=#üë+xˆ:më—e–“ˆˆ 7)iÅ£žÒµœ$êúZ ¼o\‘tò“ö.©K’˜mHgCC‹Dä±}°ç«^"¢µöNuÚÞZó–Ís+U}ë.«]$Ö>Ì*Wõ¬­Äê""Ñn±ðñ—Þ£ˆ!I.Sõ¢Óji’Â4œœå8†w¸D"rÕWµù.*ŠuZjÚ‰ÈUc¹¸þ”ú¶¹Ì{—¹öºÂ¬Â:¬E€„ÉÜ(n^’_'Ǯ΋iΊ5 ±‹ª£Þ{#8y„Y/5»/$d"•VÏñn…¾ÿ¦õÁQÓn7«Qy˜SÏç?i0L9­ñy™—,%fc22´öeÓcbŸÌw´INÀ’‡õT1?6½š|wؘÕC‰ˆïýs­Š Ü“³xÁ¼çv&½øè8 š¹âÅ(ûêgæÍ›÷\%®L¾äky̸)Zúûï—½¯ó>çIͱտ[°pñšQÏšïkYŸUÒ9uùóQM«g2-\ß9cÅ3f€™ð¤zÊ×|ðõƒÉ³™òçæ-XœUFO>û+ú{öšfÆ‹IA,›·`aÎþq³ïóó>"yeS¶lÞ¼yóž{ë”zŠúÜeNÎq Æ^ÛIgBµüæ§M±ÓŸ¶†eäƒI®N/HeJ’ Cì›63ÏtÉLEpT|„cåts^ÓàwdÖ"ëN)‘Ì«cƒI®MKQíZòdRÒ¢bÁ Q õ™ˆ<*-ÓÈ>c0eÕG”Ì k‚\V*ßü´Á`0¾ùÐmÔµìüô_‡Ú F•Œˆˆ¯ß´¥ö¬2ú¿üÿe;væÜ]£'çÎŽºG6ÄöÁGlû‡å}ï,²¿¬ÇU¿gwÿ;D¢@¥fÆlãr2ê;upOUÍ‘‘H>fÒLS\T౿½ç""ç΂u¿HZ2ãÔGïŸEö«ýðÓCÇ:D"ùè°É3㦅Rß±ÿýúÎc÷ü—)¢íÓgɕѿù_†ñþÔÕR³ÛzÐyV$ºkÔÏ0šfÞ‡ûÂm*((¨³³ód;;;ƒ‚‚.¹Þôôô(èíp£õôô\ry™óû½fܸq<Ï#"ß<Ï;£÷ kÛ>]õZä>þ`óY­{àç“RRבC§úúöLFD“æ$ÿ66LÖqdÏÍž¡·ûäù¿ï—×þû̽SM ³ï—»›+wÖžêë;õéÎê#÷üד âï÷?}äÃ÷Ïøÿ<6~R ™úÔog¨dƒwí;;??Öóói¿yrÎTU—óóïÖò}DwÝED¶œ¹Ï˜0õ>¹ènØó9O}Ç?­jpž‹˜=oÁ\ÓrWãîO÷ ùÀm*88øìÙ³.—«»»ûΙ-p¹\gÏž ¾äzóõ×_£IÀwæÌ™K.Ï#­cÕkÂÃÃÏž={âĉo¾ùçñ:ùæ›oNœ8qöìÙ &Üá£÷lÛ>]í,r_›­é­Q‘x.dRíý²ÑÕ7vüùÃŒÖM{ÝûðÄg³ëˆ»grˆïí“|½ëXã‰st·v†ö—÷Ê&ªF…åþ$“ÿêɧ'ËGs ¼ïî/qé‹rŒˆCƇÜ#£3ç xêPó¢ñÆ8ýD¢sÿúˇ§ÿu°ãaÝõói±º‰þ}-Çm;ÓG²¾>¢¾SÇ]¿¼/ú·3q§è«æi©µõLžöŸ÷ *F<†aÂÃÃÛÛÛ[ZZzzîˆ7ƒþþþAAAááá Ã\r½iiiq¹\AAA˜˜vyîìì!<<|$wÌ¡zM@@ÀÃ?|ôèÑÿûß]]]8¡×C``àØ±c£¢¢.—îÀÑûF¶íáˆÈ}.Û—"‘øþöæÿéßä°ï>ð™‘ü9‘LèO$ötõ ¹=ÐÇá{:ºˆ(0$PFD2Åø‰ÿé`m‡ª?mv=׿Û]çú†.¢ØÑE$¿'ÐûÊüï¢Ó]gZ“ÿ=£dD$“ûˈ¨H6Þ8gr—õÐá}ÞGt×èÈ9IqñÙë•çcGÕß>l“ÉŽð4/)ùÖHÉ*•J¥R¡p½‘sy¾U:f@@€F£Ñh48›½o{W‘{ŽÿóK‘Fib=1Ðûÿ}{ÙŽ÷„Gôgä®¶.úOêó†RÿÀãµý’ác´œˆÄ±²¾3_6;ÎÈÇO’Võ…‹~þØÿ÷¿¢îiûð/kê»\å£éD×™3}¤’õœé:G4Š $ê oàÄG;ñÑ>ï:vpŸµñðîÚÉ/<¦Âdò•æãêžèß%kdG*ËÞ­@J\oàŽ‹È='l-çèžI¿z`bÿ­Þî=óyãÞcÇ<¿ôn8{ð£Ú_…¸jˆD*ÒŸÎ ±Ýí+­Þ÷ÐÏéÃÕ6Uô¨ã5»lmwß¿`R¸xŽè®¾ž®6Gsm‹HDgNµyÆÊï"¢¶æ¦cï;ÿÍÙ½“5÷|ñùñOwÿS69°ÃVsšhŒ.Š“ ‘ÏüóooÒ1~†éáñò@.PF$—#_‘>¾vguOtÒ“9‘&!‰*Êv~Â%ϸp›ùIꑇLÈÇmÇÎQà}¿¼0OxÏ}š{öî;n;æùåx"" y>@x IDAT@É×¾÷ù™sòÑ‘ÆÇ5 ê_%ü½í¾?×TDýf_µûŸûÞÛA¨Ô<6{ÆX͘~ߎ½Ç>Ùþ¿C" ñòŠ]ÿ®­ú<|áä‡~þyõ‰#ÕU}÷QK+mµUÎŒ(µœˆD箞H“8-øG¿ÎˆÔ‚…©nð@&ÔåÌ_²‹'NcLˆâˆo²Z+rëÂÎ’¤ké~íuëò‹]isK·•‹º0F›á€Yd€a¥2$¦¤¤¤¤gnZJä¶îrŠDíu…‹¼S!1¦ô"[ÿ»e¡©,#Éû¶;6åûóe®ªôΔgH´[²¼{ê I9UN±H*ZäØ\ThɉÕé 9M"‰Îê¼E&ƒN§ÓŦäÕøœ+ÐÐZ\'H×?ÜÖeÄèt¦œ’þöy¾% ö²Œþæ’_ÏKƒ"æ¥Ú¥]ØwUýc£y8:ÀðŽ6‚÷”o€sô=V{¯’5ÇÖÌ%MÃ<ˆ p0KD$µW¯\Rn Ù[7-âëK3òm"Q{uÖ¢uµ®¨´‚ Ùñ\sÅÊEņ,‘·å-Ê­g¦­Þš¥eìÅKò­Uò†­ ¬cWn†ÅE$Øò3Jm¼Ò˜Y9͵yO$g"±©pÑÊ kÞ°mSf„³bÙ_+8CZ<'Ù ×Õ]4¦ø.*Iõ%6Mzf‚Rr׿>½¬N›‘JîÚüb›x…O:ŒÚ«–-*®åµ™[·˜©vÝ¢|›@Dr"â­Å6Mz^¦‘ó8*rŠ›D}V ɉˆZ-›†Œ¼¥zo+ͱ¸5ÉJ" M.Øš£eoåzk¯+¯—†$ƒ>ÑÈQ³¥¾}àòZ¼he…‰Ï.(Xªåk‹Ó³êÂ2WÇsD¤Yºik†æü”B›dP§®Ê!‘`ÛÕDj6… u9‹ò­Žˆ´MÛ6¤rõ¥éYÕí×±]_cqë3 –Nãx[iVQ“8ä%<7%w—C™¸zÃêdµÓš¿(×v=>Ú 6¤èrWÕ¹ˆˆÜõ5<1úD­‚äDä©­ Ê6¥i¤æŠ¬ü:ÈY²hYi½d,غ5;†ß•›^|mÑ…Õ&êâk¬n""gÕMŒ>1†½l—)uhÒ2Óµò¦uY¥õ’aõ¦­[W›Y[inñÅuÔ^“õtî.‡Òœ½aCv<×¼+QÖù® Õ[¹ä¼ì„P©ÕšŸ_wmµÛÞduqÆÄ ½É)))L >ßyËÃÒ씨ï|ö#½’Â’ –F¿zk¡Qå³òEïК½!;ž·Ö_ÿˆì}9nk —ºiç†ÄÐþ–,Ú7/[Wëf™ò«•?¿? ±Ú‹º°ä³‡º,Y¹ÖVF¿´ 0]Ù¼«u8GäkmˆDgÑ¢%¥õíÒ‚ KµžúÒ%‹JœCŒÕN"¡&wY…5lݺ)Û ÕnÎÙ<¼¹`x§\¼Ëår9›ª‹‹›‰ZƒJÎj3·mÛV–mŠÒš"ˆŠÚ/Ôœ–d0¥$†gLO2Ħ¦DIN§p¥O:|ãq}¹(41ÕeHMÕ§¦Ì106†¥f& æ´äP"Ó)ø®À•‘a6ÌiFŽˆ·¹HÆ‘*pàUq Éå*¦çºŽÝ"õæª-o&¢ÚeOÖL·–Y]æñn~PËQÇÔDDÎ!¦·4‰…uWÕªµÔK‘dP‘hã%"¾âé‡+ÎÏå:\«¾N=è²ïذþWÂqD$ð‚ï|)ðn‰ˆ‹àäDDlTŒáº ¬6Ũ¨ÝUesMcª¤ˆO¯ûrŽcˆ§ É©ÝVeµ“ÚhÒ_‡æ)H4r»*,5µrqñ‰òõ"’Û%VNÏ{ˆ+gÃ8"OÄÒ­yn )sì°<•¥JÞJ\‚Y#¿â.lÈØdÈÛͶªÍ¹¥9ŦêÌ ýNɹy/R°œDÞÁÇ]—ïYG#¨Ùa-©O-4xÏ’P“õdV“&£¨0þâÎë³ñUI?Ð+}W¾Â]ã{h½¶sÂ…)ˆxgS4DɉHtÔ8ˆˆÓ(.8½ïZòhŽeˆHp‹D,‰¼“¿’mPk¿´‡25r"ê¿èôŸ=I£ §äˆøþšxW«äzô÷Ï‚<Ì”SbÊÛí¶zKqnEiŽÅT5Œß¥–ù×a¤9ÆUÞâ9Jk¸¸ÿK¼DD’È;mU–'ñͧIoÖ2Í6KaIT¢Ò¶yey3—¸-Þ‘…J£ÏÔ[WÖæÛÊ’DÄH﨩)®å‰ÈÝäâZfW­­°ÐB±j]óù«£iWQaÛeu„¨¦¸È*ÆäeûãåêÔÌiUKj[¥ËUˆøáKòU<é°\>õf-5Û¬UM1fÎi).iR¦}ï,‰¾*°}âP/†aˆÈeµÖ…µQ>_Ãȯ7§ÕÒJŒ>ÙãÍ "[»¹ÖjµØS3"LF®¢¼¾¨¨Š‰‘,ùùµ¼6Ûhc"rX­uœ!†½8#Oã**J [‰´‰ú`"b£õŠúÚšª:cŠZ¨**¶É 7$±òëÓƒˆ c¨ÕQ²¹š‹q[Ê/^B)ÕVI¡ªØAÄéJßSclT¢AQoÝU¸YŸå.Ï)®'ã“éú´O¹:)^YQZ\D—hT/Žâü2ÖÌÖÕ1Zc˜<Œ5…;,V»ÚÈÚK ËÝQr òáxþòR".Ñ!¿Ò.㲤<™ïÔ/ÍKÕrÁ*sé[Ž`mÊ4fYmynqDšžjŠwyHaLÔ²t=u«L™‰åO—×.{2ÅhŒRÊy[•µÙCQÚKO±ï~döÝ+õr†!r×ÔÔhzƒ¯Ê× ­UŒA°7ÓË1¤h‹sm‹žæãµ*ÉUg­å‰Ñ§Uçß?ÕZÈ@Ö–¬$=W\áØœoáÌLMa½DÄHùÐ4Ü .컇jãCi]ky~IT²Ò¶¹j¸"òp6ò0s|hE©-?§ŒÌ*§¥ÐA‘hj²[´%Í/•â³s#XNÅ2ýŸÎ ã,òÔ©SËà¦øî»ï¾ýöÛsçÎ;wN’$QOœ8q;¾Ð°ÄŒ„úœŠŠe‹êõ©9…É…é¥Ö¬Âi•EE|N^Iñ²z"N“°:'M-'û…›™V:gÝ®¬­s —êëê×-JHÈ,X­X¶²¶8«T¿3³ ‘Ï*ß•¿Ì¦ONÔÛŠë½ÃLTƦl)§¸tÙÓ¥¤Õ§d%_ææFlLFº¦6¿ù²E}Kÿƒ—ä«zÒáÈȦ‚M|VÞæÜE»ˆ8M|ZºQEƒjï¢×¨MóUÚ¬!ªD›hT®´Ö¯Ë"ngQ¬üV¬7g•¥•Há`òˆx-c­µZœiYQi›²…œâŠÜ%Ä„NKËË1’ô›óëwåæJªÊ´‹gjÌF®¢œ'FŸÜÿòs6eæç­[RK¤ˆ0¦f˜Â®ã‡rmF¶Ñ™k­X¹ÌfÌHfË­•$©?Y(ÌŒ%gY³‡8}ZAºZ>ÄüؘÌM™”[Tºr ‘"˜™sýÚh˜91´t]+)ÍæÁk&mbX}þ’zž8M¢·lJQŸ[hY¹¨œ¥Öœ‘j†™í0“9´´¸•”ñÏ%]FŸ™aËݼnÉ|"b8M|ffêE%س5³0syî’rb”Ú„Õ™1,]—ˆLlTFÙ¶°¢ueVkE3)”Ú„Œ¥¦°ïbŸý(Xé{àÍKŠ­¯h.Î*dÊJ|V~pÿК»Ä¦ON16ç[EéÚ¿³§2l• óK¬µ"R„êS3Òb/œlÎhbª·d9¥¤µ.+®Í_Ö¬IH5+óËÝÒš~gâ .œç³‡š 3méùµÅËìñ©)ÍÅI‰Ø2ÚÈÕé›6Pn¡eݲZ"Eè´´ÂÌ$Õ_Ù•«SrÒœ9%¹‹vy›cv¼j8›àODñÆß `Ȉ¬×ëQ3WNho§à`–H¨K]RÏ%ï¬JCµÜtíÕ‹]i ]ZiIRyg¼ çÌ/¦mÚ[¨•£z`0Ñ–1}Q-›¸­r„ÞEÿN…µÈ·ê¨j/œ3¿œW&¬Î3É­Åõqzƒõp³Ó±­¦¾ÎRh#fZºI…ú@D€I®NÝÉçU¬|º‚NŸ“…€›ýæÕQ’•[/)" 2 ,êàV……pÓ`¡ŒLøéDdDdDdDdDdDdDdDd€›?@ ·°––T\­ðððËï€Yd€‹`naãÆC%À°Ã,2"2"2ÀºêµÈ½m‡vWZí§{ˆHƪÔÌNøõ¤QC?àì‘ýŸu†ÏÒõóý÷îæ¢U¥ÇÇÌÉ\1e4ÎÜtW7‹ÜÛöiñÚmŸÙO¨u<òˆn¼ÌuxÏ–õ;Ò=äC:++÷6¸ºQÕpk¸ªYän{åG."ÕœåiSBüˆˆâ¦ï{Û!êz)€:Ul«l<.ÉÆDÆÍ;Eå*YµñpíøÓò†äWÒ'¸>ݶý#{g;>:a¾YséÄñÙ#»wTÖÛO÷ùQëç<7iQwë§Û¶}dïìóWéŒá­•Ÿ_˜÷Ü$?œ¿›©·»×/ÀïrnIW3‹ÜÛv¸µhüôûCr_È”ç^Jÿ­>Ä:ÞÞÖx\œ¶pzÈéÕ¥»¿¢ñqÉQÐ#Éis'ÐKÉ»0~ÎâÅOEöo(ÝvèìÅOðÕîâ-{í=f'/œ?;T°ïݲqw[oïW»K÷Ø;eêÙóçFSýg§‰db7= µ»hmÉ¡Žó£þíüµõ¢fà–wu³ÈB‘Œe|ý‘œÿb¸2ÊOuÿ˜½®Ó®Ó}~“Uª¢ÎÕøÐ€^ãâ§ûÐÛZqØÞyTè|a¹×ÕÐØIž0÷ך"UïÚá:Tß6ÙÏ.1&üzòhRË쇶Ɖ»éüÆ>þ̬’KhñüȾÆÒ{ýÒâBðÞî°ˆÀ Ý4áûI¨¯ó‹=Ûëí=C?¾§uïŽ=‡]BßP¼M òÍÊúŸ• žî€n"bƒˆˆd£CX:,àÌ£JYL%‹_·öö©æ¦ýV3 u·ƒ«Yhárÿx"×ÞÆ¯>NïýêÓ×3ÿûuË‘³_íÞ¶×Þ9zö‹¯¬]»|v‡Ÿ=¼}Ç®ÞÈäÿÎ[ûÊBµpÂõttz#tw§ÐGưD$ÝDD}mÈÇ#+%ÏÑhàvru³È“æÄ…Û+Zö¬_k×Eªü{Nn´w’ÿýjU@_c/õömGöïýL "áhkGd¨ŸŒˆ:¾ø¢9$ÔÓGDÔ×Ýé:Ô¸§µ¨»íx[÷……~ªh]PÃÞ–ÊíûeÑlÛg»]Dª)º1ÝjvoÃéÝûÙhÙá݇ûð»Ù#*%OŽ‹C-Àíä*:d´þ™åÉÓ#U}Ç?ûì³F{Ÿ*röÂå¿ÕŒòSÅ͉ ’Þ»ecåQur².ˆ:¶í>. Ÿr?K=öÊí»OEÌyd¼ÏáÅ¥ûe³ž™.ëk©ØÑØyáè~cãÒ’QËì•¥[¶íie#g/^8%„üBã’§‡³=öÊÒí¤»ŸÅi¸y„ž‰1¼ð!~‹èXŸ¿ªYüáÇŠ /â×;D"âÞûÈ}KÙüá‡ñj%øƒ1~C$þ£g ó¶_Mù½4¸õ]õt¬ßhM\Š&ÎÇö‡R²:ÿ_}ÖÚ¹ýÿüíªÉ¿Øœþ§ÇÏï¢ÉŸâýÇ”µkÏo¥yüÍã—< tÖü 5Êz[·¿B$óÀ¹¸iÅá?¿úQô본«{œ<ú•ªr†• Þys÷‚¸YJùu) øå;o¾?5ú±ˆyxnê:K4ÃáL "`û×äWžf#æOg핇zH©Ã­n^B]°<ôµköEÿÏÔK>Ù¼³jÍ;‡;"fâÌ_^1U98¹6¬2½º¹|æŽäìƒ:lNþͺÍ/*ÿeÕ«ïö1Êè…+W>!kÌKù¹qÔðù—­nŠüý+}¹åƒ­­nfêò7^žÅ‰­®^õfƒ[""Eäo^~åùÏ—Dtü%uéþéóÄy_+}yâáˉˆß·fé«»ÝÌheäÌ™‰8"â÷-5o™Yþî\%¿oÍ×|Ü*‘"t拯­˜ªh~Õ¼”‹£ƒݼÛÃÎ\±nÅÔAiÚ[´}­"&têï_YùØèƒ0¯’¿fyÅ[Fþ½dóö™¥ï.ES©~z+rttÊSºñt¸bcqéÞ¶È9‹çNÂ,2ÀM¤ˆþýï8¸æÏ.þµ°ïÕ?¾C K­Ö]VË å¾U«ÞóµXÑ,í©Ñ̯^³”¾áùðKßgž+µZ­Uo=Å¿¹ôÏÍ"1Ôq°Y³âÒŠÒåÜþÕü8ú•·J+Ê/ÿxËîV®ÿóÈת¬V«µ|Ehëî† ë>HñükÏg&./÷å¥(’аæÕG/·XwUl^Èí;(]TR±ùÍ5~ÙbµZ­–W¦òïk%"†<‡®x«ôÝŠòÿññªWUƒ{÷ªÕ"_«ª©©±¼ü k×ìØLe¶÷ߎ‰oØÝ:w&ò1"òµò yhnúªµk×®]»öO/¥L E@¸É¸Y+~ºïÕ7/A¿üðsŠ^à¥exj¦âËÝÍ?p"áÀû‡q §*‰H®œ¹àißîV‘ˆˆ™øØ)”¡£™È¸Xï¿O« ’BÉx¼¿»¡•¹èÿçå¡–|üP‘ÄÖ}‡¥‰ODsD$˜ùTäÅ—³¡ éð{»÷9x‘Õ,øŸWžèO¶3SIDÄ=ðØDúr_ë…ZP>±¹º|…†%"äþ$ŸøÔLæóí"âÞoøÔ%3Ù€ˆ ·GH~ìåç¸Ý«ÞtœŸx•ø‰­8/• Iðx.O‡ uìH5F£Ñhúãç‰ï "b…‚ñîÃ#¿ðO""¹æ÷o½öí[ÿ¬iºaÞÞ9Àqø,’Ä{nà‰ìÀ¿„.xcÝB®aËRÓtC ë÷õÏ@+Fsb$yÍ=‹îÏ·¼šØ¹ÑŒÔ1@E¡ÕÃpœâòÇPŒf™ÿømiÅó-<?ôÜreô‚—£ñÍÛW¥ýqMdÕÿ<èã»y?X$†UHnD$'"ß!Ñ%ó»ÜƒO¬xð‰$´~øê³«^´¬Sy:øþ‡HB‡ÄLTuxwwïþã?ž¸®ôÝhŽˆÿ0Ù´¥?k?17tÇŽ‡´Û9 `¤Ã,2üx¡O­|Šv¬Ý×!É'>ö+jxÇ;ÕÊܱÏ9Ô:ò"öÁßDvì~Ç»–Xt¼·êï\ÁÓZ·¿¼ê#žˆˆ ¨Tø8º$vH?\$yèÔ‰tø½7‰Ží;¾¼ø0üGHþÃ{­"±ÿ11TAÓÅ_îø¸U$"÷¾÷¿TDN½pcÉ-bb(GDüíï·’Ä‹"‘ræS[·üyKkäÜX"Á±ïÃÁë3nòˆ…/ÿFÑÑŸÙ©/¿¶€Ù’l4‰kÜq¯½ò˜ïùRyè̹$ŒIDAT©ÿq8Ûÿ‡æ±W^‹ã×$F£iénÅÌ™¡?|§¶Ð¸…3…-‰ƒÑh4¿êžùòŠ‹§G?øXäÿ{Ól|áCéŠÄN]±rfÇZ³ÁŸü&Åýêâ´ÍM]øùû/ÄŒF£iéÁ—¿ì½w…"òÖõ© ñÆÄ?{â^^}!t‡Î}.޶$ãæ­Ú§ùýïv,ýã‡n"⢟šøÿz¢ç>ÀQÇÇëWÿå@ZÀÈôQÄ[X¸9¾ûî»o¿ýöܹsçΓ$IÅ'Nèõú+?‚$I¨F¸ÑÄæ5æ¥ü+¾v\þ¯šW1ëÊWDÈQ‹7Ã0—ß³È7€Ð¼cí>å‚ÈÇ·‚«ûºÞ¾}ûPepU¦NŠJ€;ÿÑK‰ÙGÏ\ùú¸ÙÀm‘îtrÍŠ]Ö«{7ëuë,ÔÀ- -.ru³ÈøÐn{˜E@D@D@D@D@D@D¸Žðëzp c•óȈȈȈȈȈȈȈȈȈȈȈȈȈȈȈȈȈȈȈÈ@$»š{¼µÅNDãŸúïô‡Fõ~eÉ_ß Í^žõëT(Üê~Ü,òñ†–³ÞÐÜÖxX@-ÀmDvõñWù÷¯o9;yò(êüâ°@ì™pºÿÝG?ݶý#{g;>:a¾Y3šÎzýOÛ\ª9óÃY>;ÞC¬zÎÂä)cý|îLÔqh{©¥ÑÕ# RÏšBUÚÙé˳âB¨û«zËŽ»„>>å©ùq“FáüÀ°û³È£ÃÕ,µÔï&jk>ÔIã#C‚v÷KÉ»0~ÎâÅOEöo(Ývè,‘ŸLFD.ëþ¾è¹ó§— öÊg‡Øùì¡íÛ]=c¢æÇ©ìV{ùQwóöâŠ/ÚÆÄ-N[8%¨e¯wo ÎÙ½ûPêîàˆL!ºH–Žï?z¶ÃÞØIãuꀿÈTÆÅ/¾øRÊ” &G‡Êˆ: ½ýó×Ì™ófò¬YdDÇ;{}îÜëjl!ò¿ßçìç§ŠVû7~ÑCªhõ(ê<ÿ‡î>"¢¾îNסÆ=­}DÝmÇÛº‡˜Vô¹3EêÆSËñ/*+Õ³&œÞ¿wàk€¡Ñj™ý°½¡E7K%4îþÈ.‹N~æ×cqo¿Y‹3ýÎçáÑ¥,×ôú!À­îGþtˆŸJ¯ö'oB¾`Ôä9Œ÷ï9¼£¸t¿lÖ3sÂe}-;;}‚õ½sßäùOÝ?Fæjرmw›zºj`÷ÍÜÅs"ÙÖÊ-ÅwêVM‰Óc²ò¦‡ä¿Øp ú‰(Š#­L½Ýg»iÔ¨¢³ÿ|ýO;\ª„ÿ~I¼Ý~¾ûî»o¿ýöܹsçΓ$IÅ'NèõzÔ Ü\²‘V î#%y[÷¨INÐt7|ä"sÿäc¸aFà,r÷ÑÝÛ,õöÓ=D² p]ÜÜ9“GããûÛf‘n?E " " " " " ««ûé}ûö¡ÊàªL:•·Ì" " íêZàCs¸ía‘‘‘‘‘agÿùúò¼¾êEM "\5ªàNÒ{äíW*Øéjáðñ¶¶™Æl·[?k=Ý!°“ç/6O  Þ¶úíÛ>:ÜÖM$ Šœ“2÷¡?¢³Í–-ÛÛ( h‚NßW¿—}&sn¨_wëþíÛ­G"bC§›çÿzÂÀãí½ÔGãõsSâ& ÞF.?Y_§ýôäå鿀ŽO×äoÛü¥¹Ô¶{íë{šgMz¨¯a[EËøÅ«^šp¶¹dí¶í‡Õé“ýšwlkd–¿ôÐè³G,Å[z(ZFÔ}dûÛ»ãK«¦„øm.Y[²-$ëukeeËøÅ«^ õ£³Í–ö³&B½À- -î¸7EþáºñDĪX;a²ÊÈïÿoïþcâ¾ï;Ž¿€ï7ÜmþÒ·å¼$=:P}“°‰d¶ÄýA¬šJX±3“ÆUh4/q%<…zždÿán®O¥ iͤáÊŽTâ$H9K°©x‚æ.Ù‘@rçå~|¿w·?°'u—­uƒqž?"~__>þxòá}_,¿¥ÔrZ*u9ØZí–Tæ–;ÉXZv|z^þ†ºrIe5ÍÍ’${~|Vpƒ×”Th®3çÇçm¹-wr62>³”°Ëêvv¶ÓÇ`Kðycº¯oº)Ãõ‰o{eö¥³fã)G†RËr$¥’Ža]ÿ*ËSnH’“N:é…¾žgŒµw´|É”YÓÖµ/2<:Ô;´ìTB;w…«‰d@"cãZ™èï¿ìÛ÷×5eRâÒ‰¿¿ In—á¤mG2%¥V“Ž<’aY.זΞݕæÇ¯Q^óÀÄ|d ÷ÔÙ@ÏÞj“• ƒøˆZMÉåó–IJÌŒ^ŒËIÙ¶é©ói~<š”š¹‰I’L_Cµf/L®Ø’ìø¥ÁSçgRŠG~tâ…ÉI*óV”»%n56N‘ñssSxËÔ™ãÏŒZVE ÜŽêí÷س³u²oàØ3n«¼*ÔXeŒJ’»¦½³ypðÄ‘!Ify`û®j·ÌúÙÁ݃ŽdX¾`ûžŽÀFS”ÉdXüߥ¦ž=2T}à`Øû;·o¡PÈçó¹\.—Ëe³ÙL&³¸¸ØØØÈ"€õÅ >•½tþh÷‰W—lÉŽOŽÆ ÀÃÙ0¸s1hOenÞÑ:5x²ç‚$ËÚ»“à€;ƒX7 Z€Ûƒ‰ ȉ ȉ ȉ ȉ ÈÀm¦(ú·OµÁâ¯n)öþ ËuçóùX°Î‰<ÛX{ë+‘–`Ð ‘ ‘ ‘ ‘ ‘ ‘Ø0 –`cJ|ðø¶ÿúå ?ëÜþҡÞ{Ëþï—p^nó§áÊ=wÝNÿc…B¡¨¨ˆ ëˆSä¼y½xOdæ+‘™¯¼üŠ·öòò“Çþ;êÈTº¹ìÑ¿)½I.d$Ù/oþ¡¯]yðkWZZÞ:ý9IRþ퟿óxÓ•kþ³¥å­s×>xÝÒûÝMot¿hKùù—mºòà×®<¸õÍÃ/fךû½—ßy¼éJKS´ã‰åsO¼ñÐ÷RI‰O?ñfËÖ7Z¶¾ÑñÄòtB’2sïþztíƒßèŒÿ"Áæë%+©HRòåwŽ —<ýʽ¯ü{ÕÑm™g»?x[ÒÜ{Ow§BÏU½2s϶Ÿíz÷ʯœW¿ÿÈ»WûÓÛZzÿpwºödÕ+ÿ~ïécæ¿}ïHBJ\ý~wrS÷—G.V÷~3÷³Wò’¤Ü¿Žý8ùÅÞ‹÷Œ\úòþÒžîN$•›<ºü‹-wŸ»tÏÈ¥/?]•‰Øì Øh˜E¾#d–?=™ù“°×_ªÒ¿Ü|n›¬2I%þ—¥w½’YÉH‘ä;Už–¯–Hº÷[þsß,²Jóó’2é‹O‡}?Üã*•´¹¼÷õ/”–•HúÒ6˯÷Þy7ŸI$™q ™’¬Ð—¾Q“ø©¤LúÜË…m}e•¥’Œmmºë‘Ä/3›6m.¾úú#‘âÐ6×}‡þô>öÈø åÏ?üÆùµ7ï* >üÇ?|Ê]*iùÃóÇÞY¥H:ÙŒ%å¯Î²¥%×_—Wb•IÊK……|çÇ* ~Ó´®µvöõ“ñŸD²YIÙüB¶8$)›Ë–o*]{DñÝT$Ig%[øeç\ËÚÇ3ºªÒd¢ø¾Cþ£ýïž>úÖ?¼Yð?øÅ§WüE;Hd|FŠz±êé¯~bVƉt¿=Pêýɹ/Ü]ªddñëÝ’Š7UéuçªdIRîí¹Ü¦ªbIåûz¾údgìô–?ÛUUüö‹K‡†]ß±ê¾ iùýGC+ký­Œs5#•JÊ¿÷nA›¥R£Ü*ny®êPðOÀ¼ï[wß÷-iùÃÓO-:üçþéKÙ+°¡*‹%¸ÃÞ{·°ió]å¥RâÃóÏe²™\Vº;dù—ÞÿÙdNÊÏ÷¿µû‘•w2’Š6ÕÜu÷6ïÑ=¹?±<Ég—ò²Jý’œ_üË *¬dTºùîQæÜ뎤äë+3’¤R××·)ò\òmIÊÏÿüíî£ÿTöô#oþ¹-I¥÷næÛ ÈXæƒO}¡üÅ·¾Þíxìƒò¿©h*ýðÐ#ËóU_úþß¹Ñ5ªyã¯þµäñç*îýèh·øÞ.ß㥉C‡SåüQ‹ÞÛ½5ú–XdKÅw¶åöØÒpÖ:ôwî…î7[š¢Oþ«ùжµ»—ÜwÌ÷¨Vöo}£ekôÉçò÷=ì²tWKצäÉù¿v¥eë›G—6:Ì2ØpŠf›ko}%2ÃràSå"ÌýpËŸýì)×ïçúüé°î8EƧʤ{¼òè?§3Rf.qz²¨6d²*àÎÅËõð©J]ÿðÅ+O-†OJ¥%Á®»ŸÚVª€;ƒ¸½0hÖƒ‰ ȉ ȉ ȸ“qÇ7@"$2@"$2@"Ÿaܿè ÿy0‹±Xw>ŸEë«(çr¹|>_( …ÂGŸàÞ[¸¥Ö¾»ŠŠŠŠŠŠŠ‹‹KJJÖÞ(*** Žãd³ÙÅÅÅÆÆFÖ ¬/Ã4Í’’’µ|!‘ñ$òÚ‹‹‹‹‹‹%åóyÜ^‰lƯ÷1‰ŒßS"ßXÉkçÇk•Ì÷¸ø,­õñúÜ^‰¼v˜ÇB`[™E·]"³ X/ü܆¸/2@"$2@"$2@"$2@"Ÿƒ%Ø0ÑW‡†Ç§Vɰ|ú–¶pMÙo|xjþÒ”ܺټÅÏâÒ‰c£õ¿*gG‰Œuíã©~Ð?[ÑÜq ³Úëvâ3cCÏÿ`eßÁÝ5î›~=?:r±6p˹,¸¿»Î(cG‰Œue/]VSWg¸Ò”$Ó[óÀžï”OÄ-IÒÊäàÀÐd,%VõŽ={BÞøðÉþé¤3{üèìÞƒ»}±ÈààKѤ$«²ygÇÕnÉ^Šô÷GSnËUÏÏîè>,³ã—ÎŒL­Ø’iU7··‡*ÝöLß‘³V£/Yðwv†Ž_;ENÍÿúeíøØàÀ…Ù[ŽÜþÆö½áj7ûHdÜrɹÙUkK½ïÆaÓlôJRjrppÊêè>VW–Šï¯ýn(¼'#KÚ7~ñüø¬á¯)©,Ð\gÎÏÛ‰ùÙUO°±Ò”LoýŽ€k-ŧ¦V=¡P¥[’é­ùÒ³“q[’ _CíǦo~Y¹-wr62>³”°Ëêvv¶ÓÇ`ãáy#0Ý^C—c)[ºY%'¢£g/LÅ’Ž 9ËŽê?öY'tÒ }=φ$9NZ¾dÊIÚ2<×¶ß´ÊÝÆªd§VÓr{®OF.·a'Ó’d¸­OÌKÜü²fM[×¾ÈðèPïвSíÜ®&’‰Œ[Ϫ®óœ»¸nÿh²×^Š ^t…ÛëbýcfÛƒ[ËM¥f~tdà[lY.זΞݕ7æubÌ”³ê\»Tj%åH2Ý—¢«)ɽVÁ)Çô»¤ô;snzYIå5ì®y@JÌGzO ôì­6ÙA°‘0h±!˜Þæ¶zs¢¯÷ÌäR–ŠÏ ÷õ-^·ìdÚ1+|–)¥æÇFcŽ“ºV¾N*™–L_Cµf/L®Ø’ìø¥ÁSçgRrû«¬Õ©‰%[²ãf×*ت««XDæmIöÒØh̪ zo¸7¿l<ò£/L®HR™·¢Ü-ÙìØhŠ2™ «°1$¢‘¡áÑé…¤#°¹µµ±Ò-¥fÎôL¬˜–å©nn L÷ÌzZì«›zþÄÈ‚Qµëà·ëV_&%™åí»Ú7›JEÏ÷ ŒÇl·Ç·¥Ñ;= ÷|'è¶W&Ï MÅíjGOpwv·Wš»/rjþ×/›Š ŽE“k÷n¶îÙY÷- …B>ŸÏår¹\.›Íf2™ÅÅÅÆÆF¶ÈXoöÒùc'cm=ß®ûLoÐF"€ÛƒŸW‰É¾g޼0•”Z¿œòÖù¸1€ÄËõ>¿ÊjÛZgûuH†·¶­£¿( ‰A ¬#-Àí‰A €DHd€DHd€DHd€DHd€DHd€DngÆk¯½Æ*%òý÷ßÏ*`] …|>ŸËår¹\6›Íd2‹‹‹, Xw Z$2@"$2@"$2@"$2@"$2@"$2@"†ñÿy°=ÓwèùÙ_½ëòø ÍáP]¹y+žJjêÙžþ…ŠÖîï†ÊÙ¬—ßæ¹¢¾¹¥¥¹i‹O —Gú÷Fâ6 €;…ñ[|‰¯~ûÕ¦¤ðŽWOY>3½åÛÁ2¥¢¯ž]N;†§6ÜÑòÅÏ;9ž¬ê8òí [²£§zz§-û{vûW'ÏO.¬:²ü m;ë>qpœŠ¾:84:KK†§ª>¼³5è5íùÁ#''hÚãsI¹| íûvÖ•IJLš˜[MËåÛÒÚѾÕkÚ3}=ÏÏZM-þé‘ËVÇ‘ïÝì÷­d§lÓmþoØ~§YdÓÛ¸½Jr&—m­ŒõõŽL'«ÛººöÔkz¨ïLÔñ5ÔZÒÂD4%É^‹:rÕ…üšê˜Xp‡öuíoõÅÆûû#+»ðÚµV|Íûö´Õjn| ÷ì¼-†)¥g'Æ}÷·øÓ±ñÓS))>ÜÛqNÁŽ®®]äåÓ}ÃK¶d’VÇ/&­mÍ~ƒÍ¾µ¼4üìñS“×7ÎŽõë½À/Àç=‘%ò\’“L9‰èø‚äio­¬¬Ûö+=™—·a‹%':1oËŽM̦e›|ŠO&eZšk*«Zê-ÅÆ¦olä•ÉÈ‚T±£=¬©kÜÙ0”œŠ,\¯/¸%¸Ù[Ú0äÌOÆìøÄä²äÛ¾=XY¹5ÜT¡ÕËã¿j5ëÞ¡Æ[4/~>ÚüPçv ÷žš\±íøX飼m_ØË2€ïw<[M­®¦%—Çm¤R’VG޹þÉøjÒ¬i¬÷\N,¤¬ÉÙ´<õ ^SÑ•´¤Ùç{^¨=¿j×ÿêärR’Ua­=E·Ç-%WSŽ\ײ|mbÂmR:iÛ©dJRìôß<}ý±UGnI²¼ÎOÊ·îݯS½'O¼d;¾ö®Ýue¬ øÜ'²½tñ¥ɨ®÷™®·´êiÚßÙh]»´a•KªoðŒŽÌMLºg“ò47n6e»Ë]šsªvuí¬4¯=Ôe™º~¯ ÓªpKéärR5å’“Œ'%—Ǻö\ÕxJÕ¦œäJZrYnÓ]á–Ò¾Ö®ŽÀµqcÃåqká–ü€O«dsxÜh ÓÇàŽñ[ Z8±± ÃÃÃg^øÑñŒ.˨jk­q«¬ºÁ/­^‹®¤V¢/ ôšMI’7ØP¡äÄÐxR¡¯$Ó×´ä,Œ_Ž'“±‰3}}‘eçÆî †üÒòðàðäÌTäÌМä©oö]ÿ~ìÂÙÈÔÔ¥¡¡9ɨ®÷šÞº`…›ˆ%Sñ©¡S}à )öö³ªä`˜>w”ßæˆuùòè¨$ÉUh·m_»Eyãžý«§#gŸ¿,Yþú–p}ùµ„j¬Z–|¡Úµ˜•­ûw9ƒ#£ý½£2ŸËår¹\6›Íd2‹‹‹¬ X_üj€D~³ 5h; ƒàöÄ)2@"$2@"$2@"$2@"$2@"$2@"·3ãµ×^c€ùþûïg°. …B>ŸÏår¹\.›Íf2™ÅÅE–¬;- ‘ ‘ ‘ ‘Xÿ_ÅBLw >QIEND®B`‚murano-9.0.0/doc/source/user/figures/deploy_env.png0000664000175000017500000022670513656750211022426 0ustar zuulzuul00000000000000‰PNG  IHDR5i2ŽžsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝyXW¾7ð_oÕ@W£Ý€4(í.ˆ E£èj *qÁ¨—¸M"&g”Ü‹Ü ÷"ï44’q‰ wƒ121’(FEPiTn”Bèê¥Þ?PIFIòý<>P]ÕUuº©:ß:çT‰ ´b Ÿ Ÿò @ ¤­_THl³PSc«©¶™yÁd²ñ&sy™»k­¬ä‹oX* –R½Åhà aÀ0ßÿú)àРI¢'½—ùvéÍþF5Õ‚ÍF6«Àó¶*ÎÂݵUß#›­Ax¯G$‚Õ÷ÿÿ^‹Ò|­€ÛŸá8ÌÁÿ|±Zá‰ÛOÎ}ô¡åh¶\"H$"‘H,Øl$Ñi„ˆˆÄb1‘H, D"‘H ’^þùç¿D>·â#’H~‡ùDWX¹{»Ø¹ò ÀSÊ'V¡œã½XÆH"²I%‰D"KE"‘T*“Š¥R©L"‘ˆEb‰XL"±X,‹D"‘X$‹%b2™Ì{¶Ë§’¸-}±”–’Å,õìØŠeíM$Æ€§•OÈj)çMÄ þ·.D$&l‚M$ˆl$Økéµ»D$²ÿWW·Z­""±É$‚¨í•…ñ“*w|îòŸïµ.ŸÀSÍ'‚Íf®©‘ŠDw-OWÕj%²’ˆD$² 6‘è~è‰D$P}@ˆAh8CÛ"$ 5Õ$‹ðµø]â zßâŒZ£Æýžü«ÓqŒF«aQð´ó‰H$""1‘T,ˆDbû‰Dõcâí?‹D"A"±ð¼Õfc¤ÒÚZŒ(/^ܱc‡ÕjíÔ©SDD˲DTQQñá‡6L¥R}õÕWDô§?ýiøðá⺞TF£1==ýöíÛ‰dÖ¬Y;w&¢ãÇï߿ڴiùùù§N‰D/¾øâK/½d_ÄÆq·–ÕütŠˆØ1êwcu£íin¿ÿ_"9…ŽqYòŸ\æ×§ÕÕ‚Íê<åµöo¼Õpk+÷ì¼»y½•«+î­}`_nN›h-+uOI“û=‡ïÙ3gÈŽ›Ôüˆ¹dCâ·$ªQ\K(qéò¬""Õ¥«bC5¸ÖO3ŸHäÑà£Ùd³’½/—Í&‹ÉÙY¤PŠXV¤v!¥³H¥I¥$•Þ½s'+é}Þj¨Õz¶s¶ ‚DîÐdF9þüŽ;ÚµkçêêZPPðñÇ/Z´ÈÑÑÑþê¹sçŒFc§Nnܸñý÷ß«Õj"º{÷nZZÏó={ö¼råʦM›¢¢¢œ;vìHD{öì©©©éÖ­Ûµkײ³³=<<úôéCDeÿ±Øt)Ï¡_‘XÂ\&"ÇþÍE…–ÒÆ»»ÄÕéæCDÜîí²Î]ÄÎíLçrïnÿ§HîÐîõyµõÝÿÆe|)V°Žƒ†ØŒåb'§†ûb\ýµ¬”}y,ÂI[É'¹æGÏe.È5Póù„Ï›’¨Z±e±Ï¯xäÕm» {ÞöÕÿÎKN|þš‘{Œ ¦(¼‡DDFGø?ÑZùœ˜ É^«¶,|ÂàõÙ›R7gæÍD2÷^áó#Ãý‘~'؉µá„ˆŒGWÄgú§…i™ivÏ{hæöÕÁ¿âɯµ'©6„;ôÎÄåL¹?23ja¨ö‰v©ÕU CîîÔµ»³/–˜‰d*‘³ŸEÜ|Â|"úÓ'­³T,–ˆÅb"±Xl“1’EÑ"W7‰Db1‰Åõ$æó?ß¾w!¯¤ä¼¾¤ÒTcut ]ØÃ­©ûwíØ±ƒˆ"##öíÛ—““sòäÉaÆÕ~ãÆW_}µOŸ>W®\IOOß³g=Ÿ>|Ød2Í™3§sçÎ.\ؾ}û&Ož,•J‰¨¦¦æÏþsÇŽOŸ>½wïÞÌÌÌ>}ú˜‹ M—òœ‚Fºþ×û‚Å"˜ÍDä–´ÒðÁÿã|­œ8ÙiTˆ}ìL‡”4‘X"’HLyçK¢TØgÏ'ü•K\Æ—b''Ïí_Šd2ÁlËï÷ ã ¯sû¾”uìÔ>rŽ[mOD2÷^þ^-ý¥rE¹F"žèwzݧײ=u'Þ»iYLL¢×ö¤'9x1±Û×3ì–>#fnJI`Tìú  Ëér2×%/›¿MU¿ýlÑÉ¢Æuãœ"> -(­§›Z!”ÓJYº|ë»e¾ö ÞB¾jKûÄá$;qA|®odtZR€–åõy™ëãçæE­_ùè¼ùl󉽗ýfÁJJx«Õl±txο«J%jòÁ‹‚`|"¶š;80ÞÊvb±$ë_‚ßó"i£UŸ;wŽˆüüüär9 ><''çÔ©Sõù„a˜>}ú‚н{w77·²²2N§Õjsrr”J¥½OWïÞ½e2Ù… êßV­VwìØQ„Þ½{õÕWUUUDd«¬$"²Z‰H$•Ön‰X,Øc•X,ׯ§úÔao±”Ö^0¦$‘KLœ}‘¼QÜâvüS°X”Ó_+Ð ³í`´ÑQª³EÞAªÜŒ¬"î—Õ¾aŒññº&þ\?\–œ©gÔß  Ž'•ýCÎÛœ¼)×@Ĩýã£#|YÒo;7;d–6';¯¨ˆóžÎïÞ”UT¢ç}ç¯HÓ‘!{MbjfÏÏø†EEÏP™‹2ìÎÑyMPT|t¨–!^w %y]v1D¬Dtt¸/å&Ï3D®O VŸ÷áܘ¢ˆ´V3µøDí¶Íyz ô!.wmbrFGÄhf-óaˆ¸Üµq‰»óxVã®ÎZËEmOðÏMœR{iŠËÏHY±)GOD¤ œ·,*TK9qSRT³†-*ÑÔA±Ë¨¹œÔµyÞK×džڷ”Õ„'¬àçÎKÙ”°Ø×°uîÜì°ùÚìC%%zòžµÿÃËŒáLvVA‰ÞÀD- Öðù›R²ØyëÂíIˆÑø†Å®’½3#55'(Á?¯©S|Óաƺ.7ç¡:ãîàÃþzù„ˆ„Ú;tÙôÆÛ #‘Të®ÚjjÄŽN-9%ÛµkH¦P<í‚EË6ùn™Å_r4Ï?mõB5éwÏ™šnÌÊ«òŽ h¼¥Ú 0¯u»sõäË0d¾˜IÑ«Vk.'qFܺܰ„ýÖøÄ£½Ö¯ Póù[-Z¶Û{}D£KG\ÞîÄø¬ªÆ»%{þ™\åø#SEN=³í¢½µ÷ĨfúÝËS ‚V}1ß—1d'/È4»éš:àkâKrôëW.dõ»çÎ\ž¬X•¶z1£Û:cÁÚìˆfÎ’ÞD¼1'ÇgÕúÅZÊߺ(2qmà–Å^9Éq[)*í‹` q9Ésã}Ö¯ ‹hÁòM!iáE)©%!IIÔ«ÛÈY†ËÏÜš]å=Ë›%>oͲ”‚ •[æû²\î‡ bâ¼·¬¥C‰)¹¾ Û£Xý¡ÄE™f6¸áòú¦*Ä1'[µ~eš† ‡–ÌHÝš¸˜9yÒèÔ¸™Fî½"%«ˆ÷oêÁ6YjT’ú£©ñë Ø-÷±«Ö/öm)èµòabè¤ìÑá7µÂAb~Dß~ VÁ&Ô&œ&”——×Ç;'''"²Õ=“^Ò K˜ýçÒÒR{{Ž^¯ß»wïW_}µoß>žçÎ)•6ÀÄbÕ¢%b¹ÃÝ]ÛJþ²ÐÆU6·Ù•{wßš6‘ûb§P}OÄÈkšÅB"‘ĵC“O™¬Ü»›ˆDr\Ãmƒø’ìŒl——¹ía»•4qs/¾(;÷ PãÞË>µ #›f…h"RLÂäfæñDD2ïà!"bÝ}Y™Wˆ}9w/–+ሸ¼ê ‰öqêÀpÊË,à‰ˆ¼ÂÂýY"R„0G xýÉ£Ešð0ûÅ mP¸7—sHÇë»06¨ %..>Ë=*6ôáÞQ¼.çÀ¡\}Ó·)»¸|âKµÆÎL.x~éªh–¸ÜŒ<6df †ˆMp„?ô€Ž×çž4j´ ë6ÓWöÀjäp¾ö`|ÂÂ4%GOꉈQøÛ ‹ÔÞ^ ®ÈÈgàdjõƒWIXwqEUöBó ¢eˆˆõòUS‰#ýÉÌMxDm±‡LõÖgžÔ?ðÑiK‡4ºÔÑkÞª$„€§X{Î]³`ÌØ©1'5áóæM:uÞ¼©Þgc¦Ž}iî‡9^2'C^v‘{Pˆ¯ýÔ9qˆý:a³|FáêË‘ÚË]¦z>Ø›±ÿLF#GÍœ%‰Hæ¤eˆŸ 0/ãÙ<_™C""Öb[p #Ò„EGª2—ÇÅ¥–„ÄϨ®ü Ï2Æ}‘cëN×í¦ˆåËÃ5Äë5xOµ·O°þaš‚Œ\_UÀ„ù³D¤ žâþÀÔlÅCæ^[$^^,Wb$¾JÏ“Â}èê­ZÆ8jòß|u¨ÁɈ+&z5œ¢ Z¶ªåpB­yþImÆŒ&ÞQ*%"‘Í&ˆ¨ÉÁjµÿPm±ˆE"«žôÃâ¦wh%õÙÃÇÇg̘1Öºu ‚àð¨{+F…Ê{÷)ûïwM?ç–ÅüµÃ‡i¢‡’LÍ™SÆU+¥îš_#íà®óu¾ ÿ‘,bq»öÜþ åÄɲn>8xµ%ŒwD”«f"ã}®Á³jÊj" 9F]7à‚eYo0˜«.ÆL™`ŸÎóUäËÙÄ2EÝ_CŒ½Ï#S×õ‘3V™Mýè …Š©*àx"’Ý? (ŒYÏsœŽ#…нt ÞXEDÄø†G¨g¦èCV51vƒÏK^´,«ŠÜ§®kª£jÝø>ïÃK ‚#ì£í8c•Ù¸gÑ”ÌúaŒ<¯çeŠºMeÔ–it¦©2r [¿'¬JAœžã½ììýã;k.ÐsÔx8ã¹›´áµ¡ ÊÈ™/&ϘRWR¤-áxâˆõ®«z°^lãˉÍT<÷ë(õeʨ4,,15Š(¼Á`f½YûèÜOñÍU‡WPXÿ…«VТ¥{Šìá$-6øÑ£OŸüþÂõ7~Œù•¼œ;yÝ)ÒYl‚¨~™¦2ŠF£¡­%T×ã«^}ü "“Éd_ÄÞÞb±XÔê'h+õìè¾úÅó^3_»f¾~•ñéQ¿“öÿïnK'"—ÿ|OÚÁˆkí¶‰¤RkY‰`i¢ÕÈyê ’JïløôîÖt—˜÷¨Í>òåˆÏ[›œå½iiêƒùžÔ ñ¾MžX–×sµcæ9ƒÑLîDŒZ­P…$m‰nÿõX=«Rȸú7£*#¯°4ÌUF®ö€PUÅËÔ,ËjY:[?‘7¨öàj8”º‰땼ibÚüŽ”ŒÂ[CY2¯o@Œïü¨€‰É†¬ U«RÈܧ¦=ht¹Œ¹Šãë@ßhU ËÕï g¬"VÛô°yFì¯Ø·'KÞ࢓.+£H5`€†ÈÐÔ2¬†•yÏ[Ÿúˆ?kûÉ#91Ë7*!áà©ÒŸ=ZÒì‹Æ“ÙzòÕ6:G1Ä×5ðóUEsó|>·å£3gIžês WUE¬†eÕjÙý‰<§ãd*KD|þ¦”\ï±CJ6¥’Ðd•ùŸe4!Ñá»ç%oš¸~¡C wV6 zKR@ÃS<—Ão¬ª«¦qæÇ«x4A=`€j]FF~xÃÛŸ²w(üç{1TÐTù4]j¢ä¿pÕ &q»øñnó„ý»D"Ï€A"‰¤aµ[„¦ûlñ5¦»·n’H$‹±ÄA"vŠÅ¼©‰°¨R‘N§³·”—— ‚àî~¿ª°°êZN®_¿ND®®®ö¥ì¿¶‚ØÉ‰ÑvlV¡Aø¡ºŸù‹yD$n_;PÁ|ýjíR Vâêf«©©9v´‰bdÊ “ˆ¨:ûë ¾Ú†Ú‹¾ æûjCcÓÖ?dUTí_Wãkô^C¼)/#GOD|þî=ö?OÆ;ÌŸÏÞš­'"âu‡’ãÖärÞÖ?Ì›ËÚcŸUhk.ù‡x3DDEù<q99¼o£â¥ß‘ǯËÜ]À Ö2d8”œR½8v¾*cùÚüC–6"mßž=_$=ª^ÏFÎ÷ÎKMÉæˆXÿ0_Cæ¶ŸŸ‘·5Ÿ'M€¯B—™£'".?cknã£ ÂæmÍÔñDÄåíÞ­÷ y^ÓÜ^Ï‹ O]š˜aïwÆéswÇ-]ÇEÏjöX¯¢ÕmÛÇq¹[ã3t-D”ÕI'Oo,0´ð²¡ÈØø$¥öà^’e?³²·æT=é¿ñi¢©³$UåîÎ6o¿ö¼šñ  œÚS¶!wÏQÎ7Ä—%>íò ÷y±‹££‡¤$2´Å³ £ˆ á÷,ß­ã‰ÑQçn²Ÿyɽ&îÃCb½´Æœ²·e•q\bµYH0V›ÎÜ6Ü®1ñVÛà7¸>Ô™ªG"‘èúõëF£Q­V8p€ˆ† Ò0}ûí·£FÊÉÉ1ÎÎÎ...D““³víÚ×_ˆ¬V+Ã0Mö »Ïfã¯æË´mÇ뮋d2±\ND"‘˜Átî¬ãÐ?‰r¿çªe×Ï–uòâ2¿nøí.¾÷Ÿåû_Y7oi'-Ù¬b§º¦CÄ –}y,÷;;kSÕK—áÖhŸçcfŽMiq&™×Ø$̓5ù¨èàø”™cRTß°Š­DDl@tÒ¬ääERøÚ{^ù²DŒ(êЄ„‚Ä”8"Fí‘À’ŽxY¯0vó¢yz¯ŒZ¨&R‡/Ö'ÆM™`_ÁÂå }Ã䔢 ¤_†(,zÖ¹ñkƒ×/|à¢óx÷Ô„D…ïŽLIÍõöM(JN™;#"Æ+(2VËã²,yî˜ujoXx jm£Ó ã»pùÂäK§lâ‰X¯ èåáZ"c3ë MHc7¥nNœ›R÷ü“ˆiá-=zE­OLœ1#"Ö;,*V‹ï0@Û"S0DUÍÖ­ºN¯ˆ—·dlëîä•“×ìŸÔºµMœ%‰'"÷@ßÜĹëŠôò;ˇ! ŒN(JNY0!ž‚„ØP5Ÿ·&>S™ª&RÏœ—|Àÿ‘÷žÖ^Ô€‰É™A«Ã|.JYn?ó’Ú?"z–šˆÂ–FæÄ/™2U{ ‰ó>”ùèŠGs¥ËƦ­Øº6eÁººçŸ„/O‹h~ÌMÓÕ¡_ƒÈ`0<Î|‚ X,VÁf=½øæGÄD#½<ˆÞ&È¥«º½M*µVß#«•l6o"«ÕÆ›Áv‡.WT¹»»)ï”;22F,x¾:S=ïÑCƒËóóó·lÙBDjµÚ`0xyyÍš5K&“ÙŸ¯T*+++ïÞ½+‰"##;tè@D÷îÝ[·n]yy¹\.wvv.++7nÜ /¼P\\üÉ'Ÿ<÷Üs“&M"¢êêê•+WZ,–øøxn†ae’LÛÅz»Ìv¯Êyêôöó#I$ª>ñcÙ²¥D$vppù¯÷¥âù3‰HÖ¥«ùú5Y'/ó"í·Ùµ×þþ7nß—D$qn'جšÔõüżۉqí^Ÿ×næ\ÇݘJDŸnÄ(ø­_#ËMœÇ$md.ü²?ŒKɼh|¨·»LåŒ[–<]úŒs3&nI ýí?]ì±ÚOl6[iiéÝ»wïqU•wï‘M~¸Y"“˜ÈQ*ê![îVØ»|ÕÞ¤Ëf#A ÁæLÔ³¢ƒÆ­¹‚™@Äð5 ›_êùøø¼õÖ[ß|óÕjíׯ_ý“Oì4ͤI“>¬V«ÃÂÂ\]]íÓœœÞzë­S§N]¼x‘ˆüüü|}}‰ˆeÙaÆuêÔ©v?¥Òàà`ûø§áÁÖÒþÂÏÒŽ”“¦8ôíoŸÇqà`×øåU_}!X­b'…¬K7µ›+Ö¦‘Å¢ŽŠ¶™jL?ºŸHÿò®ÃÀ¹Œ/ˆ7Ëzô·SI»z;O›åÐo‰YÖ5!É\pÅ\\Œ|¿ÉƒÜ;s·ú®L[èËr2rxß(/„h@¸xuàb”óÄç&ψ3ÌKK ÕðùY:õóÞ¿‹gï=nûIeeåõk×ïTuÿXS}ñ<rsr‹HD‚ÍÆwëÉWVŠ­âMdµ’™—(X±Œ‘88ÊärQ5' _c{î2ž]°T$}D4Á>üÝÞ~âíí=sæÌ_¾Ãõo -òò3—¯Í±?*,*a!öÐÖrÖ4xÆò²ØßLjÌÇ¢T*=<=îÞ½#×6“ˆEdÿY‹Š‹Ä"²ÚÈf%«MDUÖ êZTî§‚Ç‹ÿ¦pð8Ÿ°„õa(€6L°påö…¿·½z‚ûw¹ººz÷èÁ{t!"M‡/ÌšSú|±ÍföæÑC¨nªÍfÁ>ðCA˜ƒEM=y½9ö`c~Ô#êà·îqÇŸ4tòìÙ¬UŸªÏs°÷ï²7¡8±"GG‰s{’ˉD"‰T$‘L&ñô’úúKÜ=dÝ}QÜð+ç"*Öë¥E×”¦*‘²½˜UŠ$R‘“B$cÈÑQÌ0$£<¥|ð«£ùùOOà7@zõêU”´‰|âîîÞðwž[ÿf‚ ÔÙA°Ùl6›ÍjµšÍ把Š_|EðÇÍ'r¹ùža>±Z­V«_<h"Ÿ<Í "‚D"±Z­ s üqó‰D"iø;.cÃSˆ% ¶ÙlDTŸRùàÙ°Ùl‚ ˆë @þèù•BxVìÉÄÞ„"‹Ñv'ðÌÔû@yŒ?ä@>@>ääh“„ê§ XOOOùùO‡ô‡~@)Ào—Õj5›Í6› EЖ‰Åb†aÄâG4ˆL& ž Al6›ÕjµZ­<Ï›L¦¢¢¢Áƒ?Q8Áà7ÄÁÁ¡åˆ‚þ]ðf6›Q¿!<Ï·<ò ü†¡[Àï¬þ†|mò Ÿ Ÿò ò Ÿ Ÿò @kIQðcº²bê¼½üˆ”=ñýäO¾ôùS£ q{–«wΘwøÍ=iÔ¿pñá/u½Çr©“VlÀ#˜u;>Ø©œó×—;´0Så•ýŸ¬Nÿ#"V;ðå7—¼9Ì£Ùm1üÎ0íø˜” IDATpt¿fö´üà‚©FnÞ2Ùã—mzõåõ|ë¿haÿæJ´äôåùÇÌLìùRÝe¹ ãÅ‚y§S_sso_Eþعšž}œU¿Ö‡k¾ºùý\°4žÈ|ç݉ž²V¡JOíܲóluà;þ]Oš­›ŸI?¾ü2I?QÙïIÂÅ:¿šºmœò‰–/>²!ýÊ’—¹ÈýÞÙ¼WÊý½3—½J]gªZLX«"#÷²¯Æ¥Ä ìîBÅç¿ù$!vž.nóŠ‘.M/ ûò“tŸfóɯµéŧŠŸŸøˆ•(]×ÎtouºPùtY×U¤j#_Å»w>Ë©YÜËY%ýÕ>\"i÷9ïÍíñ+ ³nÏêÍe]{»Ñ9 mæóŵËÖ]j0ÁÁÍ/xÒÔÞŽû7¿LúðHuÏyïÏïõD'л1v{ipG\¿ƒ_¦üDú Íäusý¼ô#åÃF»•ïŸ;5½ï«>ù'tƒž÷™“7¹»²0}ʼÃ#^UŸ9¡3 LßwcFw®£Â‘uí'åÇÓVî½`àH=pNLÜô~Jª<¿#)ià =OÄú¼¼$qé0æð²ÈÕùŠž©Ÿ“üfaTmû‰©pÿʤOŽèˆ!bûN‰™ìÇ\Y15Ú0}2sø`¾^o`.IŽéA•?¥%$í½À£úfÜ’Ñ8ÆË—-ÚWÝZø;)þfåNÈäÔEƒìIÀÃo||Šzÿ5CDõ»Â©{¿“¸ ÷etÔN=G‘SÎ/I]>Pÿà~5Ê4•?¥'¬L¿``ˆŸïÄ,æAdº²#!ö“«ÖÞ÷Ìê3sö¤T>Oru޽G¶*;Kl¯ ;v¥¦´ÒBî® £]øì+KowX7I¥""2ÿðÅ•¨º¬p/Ž<íœúšs±`ÞiÇÑN•û+•+¦yªt·þ–}皉ˆ$]{iÞꬲÜûxs¡ñ…ö”ïÆ=¾B¢˜Öi”³pê«ËkœÔ/Ü«ºTa*•° ‡+Nç/ù §v±<Ÿ“ݽóñ¿ô‡6"q§®¢‡«Ü¥ÖS_]^ãäúâ½»?WZJèòVÇ{ÿ»«ôf5Åo¾:m‚×s×nýíô½ "ž¤/t|×߉¡V|¸Í§òÜU;Ø#´«îl‘Ñh´¨Íœó²òø;=ðÝ¿µ—ÐÕÏ—o¶L{wf‡s™²Ä_µª«ŸžF>€§§5ãOÜüƒƒƒƒƒ‡úk©ìüþ´Ïrî>î’²ƒ§¼>}úKOÚMÀprïÞCÇnUãó‚_¨øHº®÷ôC§÷Õïø®¸v2Ãðºï¸ñ‰ë×oÙ–2^¿:ao!Ã_8¢œ“²~Ëö͉}ϬLú®¼©Ä³?!ö;m̶o¿ýaó~CìÊŸ*MW6$¬ÖNÝ÷í·ßnžCß$­þɤ7”U¿œ¼yÕdÍý”³!vå…¾‰Û¾þâ‹=)“ ŸÄ®>o"bÈpâ°úÍUë·lß¼D}duúî]¹“›³ù믿þzOÊxþð©‰ìµ³ÕÚþ-ü}UæÌgŽïÛ(x =ÒOIdúiuÂNš³îÛo¿Ý—:ÞðÏ„ WLãcz3š7S·/É6±_ ßûpRl:ÍY÷õ×_|½m‰æHB—ÅD…;VçHÙ÷õ›cºޫ㛾vQvö2u}¾uM1Y«’kÂÔîëfvìZRö[B'?¥ê¶ñç{DDtÛ_"éçP_é—IÈ\Áñ/tÛ=Ó³Û½òÄUº÷Ù:ßwë7æâ¯š‰ˆ!Ûékò?OòN›é³PÎmÌ©áIÄH…RåO!ÝVÍì6î&Wór˜wÚÌ./óÿ¸f&2í̸yº½Gê|ß­³½^,)ŽË©&ûRתŸé½êµž)/Ð7Ù†òv Æ9~f·ñòÊsL£&õÜ:ßwëWVWqÉD­ùp[º%µ”å–ùÏ\¸è?ÞÓÛ˜q¡Rå?ÐÍxâ¼Ñ^þײ/SÀ®\kRi=qÔ€§¬ý»¤žƒ_ã-#"sOË{ëÎ_=¦«î«Ü›ôÑIò×óÖÞ“4:æÝŽßmÛ{èü­"©ªÛ€1“Æõí 3—þ¸}£½ýÄYFÕßmÛuèRYEªò3}ê°ÎŽDÕ…ßmÛvè|Y ‘R;`ÜÔp¿Êô÷ÒÎ[ˆhûÿD{ýýwúà|Ù6˜«Í2GYKÚžÂ/wpc*‰¨ïœ¡\ìŽ+ãu··B¨GŒï­$"¹và@õ'‡ó˧û‘vüˆîr"RöÙ—ùæ`¾iû`…ÿÌ—Ô#–ôS‘Çèä=CI©”Ó¢Íû*åJ9y ¦Y}PϱMÄ¥GtšÉãý”D$ï~y“áãê)£Ûp¯–>ÞÀÛ[Ýt×2y¿ø={LòÚbè«Þ 34~½{SûUÇ”¿ÿ L¶o·²ïäläþ •Cùƒ:͈Ñ~r"êüòœŸœÐ7µjîòe‹v£Û*oÏ_s»A2aãçuîODÄŒôqdˆH.ïåD?ܳ1žªaN×öß4ÿ©»Ì¨3^R¶{ËUL %F1ÒSFDÜ­Š«Œr¡ýª‰³ó«‹ã.ÕðZ ‘¨›_;w""I'WI•Ñ>°C¤èؾ§œˆ¤œDí•íºI‰ˆéåD‡6º{÷Û Ù¸0gIF¾ ÿgÎ݈݃DŠŽªœˆˆT®ŒÌÄsº?ˆD"í ±üp¶¢çóÊçTªÅ¯¨ZùáY®lx/¦áå¤Ð¿ü5¨I‰X¿A^ŽD$s릢ËeÕÔß/Ðí@öyãСªêkǯJ{ÏñB5ü6óIŽŽR" Yˆ¤R"ªÌÍ,0:¼gOGÃkÓöëºOÖVŸÜ»ûXzšE3Õ³Á²µ³øMy;Øñdúƽkwy.›ávé³´ýW©ÛèéÔ_o?–¾Öañâ1¯½µîˆQ5ôõ都NÚJ:¹ùõêÆ³ûª‰ˆÌ¥?nL;æ¹àí1ÚnÇt>ýÞùÒ7uSØÞ\ÖOND ëÁÚ+írÖƒ¥ODİêºTÁ² ¯ç¾øÏ8žñ¨»0/·H1~÷Éêgô<ñ¯ifƒ¸BŽî¯‚Q«‰7pDÄÃÔ½eíÿ.£SiÆ 3ôlïqoƼóPÿ®jÝ©2·þÚÿF5Ëtun*¢Tžÿfõ'_^0ðDÄë Ô÷Á ni¿xƒgz×팜õ`ùÇó<Ãz°u»³LSùÄxùlµÇËÑ6ÐÜø‰XQw0“‘…H*å'Ý{–3vgO¯éä×±‘±Á2¹”•Uݳšå²ºÅE '‰ù¶' )š*$™DT·Rbä › m<ÏW¿ñó Ÿ×NÌNœ…ˆHƈï/õ`.t~w’Ç??Ü^\*a†t\èïô`š}œ—¨…ñ'R©TúÀdUï@Œïχö/;~ÕÁÿÏ2³nÇßROsDÔþ…È¿NÖ"¯Ào$ŸÔT )U—žùúL ‘›ŸÖ‘ì]¯ÜB¦O¦&2|—®#r ™:¦¯š¨³ôüùu—ÎÖ…Ou¨“»ÇtDªà1;jŒöXúùÃ…¿ÃW-¤:nXߎ2?­ºçÕjGGY¥§#‘ÑÑSÛ¹âI[!ë8~þKŸ¥¥}F ¦ûYNnL;äÞ¦ÃIíÈø771½nIñ޹óÒOTöFD¡Â -í£V3öxU—½µše8†ç8ŽÈ¥vbSý»*u§Œn^¿îŸ·¸“ªÃiãÏ·…oŒòÑ]›½B)‘™ÌUûáP¨ºkU8‰™V­’a…„y}f÷QN 'Û~~ä‚*ÕìѪÙd3êJâömìØý-Wñ¸OLÙ#Ð#ãàù[ªËWü#=eDÚ°EË^¶Ÿ”'ðl´bü‰åRzrRRRÒ‡ëö_µ8t7}˜º.ì¨Ý”DDæÊ²J"RÚ#©£Ê‘¨ÆXÝð¾—5eÕDdÜŸý?é:"K©±Ü¾œ§RFD2gï>}ûx«q’l«Ô³¼D_ô÷¿¯>äþöŒ>ÎmzsˤŸPz„;y ­9“~Ä>¨ÄpäË •DdÊßÄ æcÿòê¾üòЉˆ*Ï|y†÷¦}¸’«ì;Þ‡û.ýD9Lš¹úB9gàuw’ÈT|8}¿žøÚæâ¹Fõs£µú_ž7‘©ð›ùìБÚ&«Æ•?-Ÿ»(ýЉˆä>ÝÕÏa.>¥s|¾Ç£Fp¸Œxç5͉„¨åûÏ›ˆLÅ?íX™t‚×hä¼ÁÀ3­ZNd*ü.ý W·µ Ïs&25·_µiËgô@:‘~¤˜ˆ¨üÌŽ#\ïѽ•¬O_~ÿ‘+&"Sá7NpMlSµîx™[ÿn¿úÕçv㕦9å7Tê›ÿr²îªn|åÞ[f"¢»wvÞõñsbZ¹FçQJóÎÓU‘ùç ÿvÎÔüÜ"²Úª¬Äëo-Ývëç{D$V¹:¨$D–Ö}¸­(Ã=*Oü¾H9h½¿™£²®À³ÒšöÏà)Áž2’:(;xj;8ˈ¨ö™µÝdJ7G¢šÊ²Jê¥&²T–V9¨” WæàæHdT ]0pí%A©T)-8Fd¬.«1“³Ìl8wò¼Ñ±Û€¾J|Nm9¢È¾>&:¦‡¢âïÒ/hF/éÜpšÇÐÑÚOÒ¿+¨&F3ý2zF’No`û¾“øjg¢B"Æg(mˆœqA¯çÕC—$Žp!z¨w’Ëèĸ+ +§ŽŠåIÓ÷ÕÄÄA.ŒæÍÑISǬVk|Æ¿¹äµüèÕQñÚuKFdc£'N·bYÝÂ_MŽ)Nˆ8†'b4ßI~ÇONWšªHöž3Y“=vÏ0Ähú¾÷rãǘËNé¤=†?º+÷[º®ó'«7DOMâˆuï¡ÓSÖMî§$øÎŸè؉ÔuïÉï,—¹B³núè|RäØ o¦Æ5µ_+†Õmã°˜D]ÒÊycVë3.1n´ ‘Ëœ˜×ò"Ǧ³Ÿ“GhÎççùºFܺ÷áñ'DncßýkÿæfwìèeÜrÅm´&ÞÜ|õóåÿ8[CDD×V¿—MÔuÆ{oø!¹À¿—Èd2=öÌöû Ký¼?ûq«†ù殤Uû-x¶·Œˆ ‡W'íÕI»O ÖVžÜ»7רº8z|‡Òû÷®üquÒnÒ?|Ê0•ñðþC·TÁógû¤þÏö«Òn£§« ö§¹¥|ñí˜Iί~/]çÐsÜÔ—üzvFƒÊï… 6›ÍjµZ­VžçM&SQQÑàÁƒÿîÝ»÷«lIÓO,Lò'0BË®¬š™¿dϪA(S€?.''§^ÿ{Vª6Áh?Õ­Céë6î=O݆¾¾`ÌÏ.Q~}ApOéùÝë>Z·ûªÔ;xÌ59Ì^ÜS©Û¿q]ú‘Jí€) Æu–‘c·aþJª¹´wÛ׸Ç0ÀoJåá¥c&Ä.'¢ÊŸ¾Ð1  ¡'êßõ Uß<“™ž~¤ÌÁÿí÷ftF/­?¼¶Ó¿ žšgÒ¿«)æÂýÛŽ”‘C·O„xˆôé­JÖk~R2Jš#Fò ò Ÿ ŸÀïôë+ÆàwUCõ~Ãd2ܩහaäøÝ’H$r¹­(mŸX,vppxdÍMŠ’‚ßzD‘H$(€ßIŒAò ò Ÿ´@úÃ?  Mä“~ý^@)À³"‚ 6›Íf³Y­VŽãP&dèßÈ'È'€|€|È'È'€|€|È'È'ðû"EÀï‰ùvÙí-›îþÞR^ŽÒh#$*U»áÁ®3fÉ\ÝZžStû6>6xfAÁf³Ùl6«ÕÊq\¯^=Q,ðKÂIÁü9‚É$–ËER\‹o3µ>‹Åf2‰»}²®åˆÒªþ]Ç>~?áý÷RÞn~Ž„÷ßO;Wó8og¹¾íßÅ>½Ÿü··lL&‰BpÒ¦ˆ¤R‰Ba«®.Û´±å9[“OnŸ;VN’vºsæä¯‘)¤šáS¦LÔß!øEî|H,—£Ú&1#¯ÌþáÙà‰ßÕr;÷Ôj8vPþ?3ÏÒÛIZûÂÉ/¶8_n•¸ô|±K}n¹}$eÍAÎ{ìH鑃—îXÛõ3u¨åàÎÌ‚;Ô®ç¸×#ú¶·è¿ßºý’Cÿ7•KYsóÊ;˜[b’´ó;{|_—6ÉRc‘:H[šð´YÆGŽp€gE$•šo—="Ã_.õ1%b¸ëõ3wêTJd-8RØyÔXÿvtçÒ×ëvt5®¿ ݹ´ïÀõF 0µ3{ž:~\ëóû2®×à£l‹éDpíÇÛÎUÜÿ^lIÙ˜u}ôàxÒ«Ýýñ3UäÒ·ÕX4~î”yñر¯v‘wýL9Q»¾£^쥑ú°7Ï|r¼ªÁríŒ|±k—{ œíúbךšã§ö•ܾ]C\I»¾cGöq¥.–ã§v—ÜÖsäã€OªÍ}s4¡3†oûlã6z}R/Ë™­³ÆÎåú,šOLGß \ôã“-à ÿäÐÊþm½í·òÔgË–}ôc9ÑàUÙ«‡ ±OÇ“Ç/šˆLÙëS²k']<~½¦‹C WCD.¬”ˆ¤¬ KÔ0Ÿ°íY"²÷þqpuÖýL–&.¸³–ˆÈÁÁˆÈ„O©jßwêlÚöÙºO²,Íøy¯öbQ&¿^躕õѲeŸŸãQ€|Ò¬šëÇ.š¨ÿØÐž¬ý÷ƒ{ç¿^ãÓËu ºÃ•sb¥®„CÙþQ"ŠôàIé Qm"œ0=BBú°ÌcÌ©ìïÑvÛ"L׿JX’Yˆï Ÿ<"žÏ·R»>z¹Ú§h*²gËçzõéÔÇ…JÊO~s¬óP¶0뜽ñ£þ¥ÏÈQme[<ÂÞŽÍó7]œ¦ë»–¾™dïÒÅö{yø©¥±?¢þ0žd||ÍõãVRøøµ¿_7õñoGTx<Ÿ#×'…x·³~·}g6×'ÐñàÉUžÚõc9¹ ÿ놯>™Ý_É LàχgéWy~üýññÿºwW+ÚOn}6iÜG…T7Ýtëè®O7îúñçÂržˆˆõèÓ?dÚ³C{*k¸þÙ+¯~TLDÌðUVQ65Ž. ]ô=ODßÞ¹kv—ÇÚ–Û»^÷Y—%+â&õ”‘éè’`û{`|<Àc9ø8÷ù-êš0¢¾+‘µôRUæÖ²/~²6»„B‘°Á½ôýkŸš|C·Aíú–Þù×5á‘ëvÔqmŒâkÆïŠ®ª6?æ^>bcžv¢xü}'2ß.óËÊna<­€”µõþJž¯<õÑì7?o4ôƒ+>÷ýÆØï3\õÏx{é2­óGñ?îú¹rHÓ¥òç]µ³:O éòØ›28ngXOO€§àZÉü¿Ü© rêè8ð×9q»¬(üðˆµUï%éá¼ëîãÕщø{ÿ7çFNUk·¼êÞßß.äBÛ(Ç'Ü÷G@>`ê®_ð׿Zöéç…äÑ?|RXÿ..rSùõw}–qŽ#¢âŒ„•“öÆ?''"Ï I=>øàrKå~<éñZÐã·éÈ={zâxºîݬÎJ»YFæ¹üëxéy³ÈsD‡·g*»0‚™7ÿ´µäã¦-¿jö[âõfW -ê’Ò§xiZ[K‹·T5éï]Â.U\îäÔ£ƒÔMfÎZukC…*åïÊì¿\O¿&‘Ó ÏÔE¢W„}ä^úþµOÉ}MŒ$ûœ,¤õӷвH1{i‡à®b"âK¹ô¥Y7©ËÌ.Ë_¨ÜWêØ·£´CÑõ­·þo·©ÃÌ.Ë_à2KüºÊ:ÊÌûÒ*d¡ª~dn2Óö÷o~qM ’ÌÓÌá  ŒÕ{V鿸l“õѬ‰‘d}G~ý7•Ø|îöÿ®¨ì°¨á¾?vP³ÄøBÔ¹üÑ?2Ã÷~õɲٯ„ }evüg;ãúÛLy֮˵·»ö šÔÃi~̸ÜÔ-°ïÇ“>Ó†#q´}¶Ë¸R•¢o'‘¬«Ë,P”®»þúô‚È•Õ]çyNï!ªŸ¯©W…3«ô‡Œ¶Ë«®G¥US‹‹·H0“¸ã ’캨7®'þ$ šÅ¶¿q'ó†dàPFFD$ö u¤sÆó÷î/B Ç—ôó§eUH‚–z„!fvÁëÓ¯zCñÆÒöž2≘®,íºýöµ¨U¦.®~ ûDÇŠ­7¢ß(üøš|â’v7×E½qýӛ܈ô8áôú`{@á._®®å9|Z{@9ºëœ©…xÒÚ`W”+Ào€¹Êl&‘B&ê8TÙ±âîöã3ѽsÆŒ›’ƒìñ€ˆZ~õqf ""Æé?Ò{ìü¢þ_×Ù]k3ŒñôÝóDd»yÉB FAæ,nƒ”eD ÇžÂO_ÕÜkô^ü¡#5÷ˆHá؃ÎUyËLDÖ3ªª:*{(ˆªˆnÜ9tÍFDU7MU$í  ª"þÆÝ×"ÛÍ›VºYyæ¦@d»yÃ&SI‰¤~/Ë«Ž²n DÂõï*®(œí[È›2›ÍDdäoV‰TíE¿öç€þ]ð;RøÁ¸<Æ|ÍŽ5wyeZŸ‡ûj)»ô÷ ï ‰¨òze}j<©;GÄÝuÎÔ¿ñ³èëã 3xÚÄ€ßY{Ɖl¥U‚B%¢êéu÷¬eÄU×Äõ£åW[˜¡QÛB³ãOlf³­.0Ɉ®¯¸9³}`§òŠŽí{ðÜÿ^²QÃÁõ¼ížý}d’öŒízUÝ *«™·Wˆˆˆ'›Ù¾ú†O-0 õ9‡'[£m‘I:(Ī7­T¯Q æ{"ûõ?ä€ûW2ú îÒTlaêÐó&2ÉkÊ´þ{ª©€Rùóçõñ¤¿å ð[ ö{E©*½s¦”È(ð7J£Þ®(køºBQ[íoòU™cýMÏðK”r™×\Æ:\ïéPu¤üº™¨É˜­¼=DD ‰Œ·VTµj̺ÙRZe+ýêFÔºš†±JÖç)|È'ð»Êa“žS>Æl]š¾?–Ò¥é…åLS×!ÓúÓ©&Jå©ÏOÙïLôÚýxrûèêv]¸+˜rÈ;ñ“ºàÃxvdí#ÜÞf;”`¸ndG*Ë^QMìWùéOVY{§é‹ÚWl.þ¢Ô>¯p³ÉWofËb"KÓ3ü¢{[YrÔ̈POPX³×5?Ô¾ª&ë½õŠÒóô[$ø «¸V~¹¢uk´žÿÎ4'¼ýÀ¯J²K§>ª·Ã¥ûV–]nzæú}·!Ÿ4âòÆ’_ôüxù= QÙÚ`æÔ@>ää@>@>ääøCåóåõ1Ëbþ{ëUóÓoe$.‹ùï —ÍO¼þÊËÙß¿e&"ª>¿fYLÌGŒLä“§Áx*cß÷Ç‹kˆˆµa3"fLðc˜ÒV/Y­ËÚúùÁ+º5x¡ò|Æç§¯UÔƒÇóa¯öw“™/¯ÿ³+ª?Eô.Îøþ G^ÃgÌI;ß_{ÁBD»–Çœ˜ñÞlÊØ²µÈuì_'\[U?ýxhÿЧjºÏˆ™ëçHT™»&ikQûáy÷åøðž1sµYæ(kiÀ“imû‰ùÖÁÍ®T8"rÁ«=*ÏîÜpà–™H*#¢²£=&ÌíîPSôýÎï^¡3‡´'¢öCfD¾Úͱ>25œ>¹ÿçÛ“åÚé¢j"ª.>ULä6è„“gŸNnHýûæ\cݯeÇ×'ÿã`ºäÀ3È'ÆË8"·Q¡ƒzôè6¡w];Léé³eD£Fúkµý_t£ŠÜãuuVi×Ð ~~CF=ÏUܪ ŽDäè¡Õº9ÞoYÃéJÏAƒÜÈrõt±™Ìŧ‹,ä6ðyÄ“gOæ6g$}ó͹F³¹ìøæd9N˜ó²šOàheÿ.sMY ±¬)ÝX"ŽˆÌ5•5DT¼3)fgݼÅr "røÿìÝ\S÷½?ð7œÃ A4±J¤üA¦5T ¶%®´qñ¶·×í>6q½·‰Ý ½›Ðû(Ü­²îö­°öíª5kkh+©Ö´Zâ"Å€5QLàB‚À÷òÓŠÕ‚úz>ú‡=IÎù|Þç$|ÞçóㄆrˆˆëÀ!"ϵkÆÒUÂoõ–nÎñ¦>º$çmZ•ý8þ_É_‹Þ÷¸…ë~ž²˜˜ÀTä'\¾?QÃÑC@Ô~É1¸}†?Qðû›ž– ôˆpî  sߨ¼8~ÎÛ•ÆÃ'š4'i1Ò“é•¢pÞ=Ì]õ(’øæ®w|Wèb èÒ{5Ÿ8yøíã`oHÄâïÌ ²ùÌâè¾t²æõÝÿ|·eâU¸8µqüDK»{âíüÅ 8ŽÏÞ9ô4o•íài–¢,}É Lm~›ôã„y<Ç©w^¯ÐsV.¿‹Èã!"ŠxxÃâç¹?ûçß^}ýýK<ÉÃ^%¡ˆZõõœy§â@SÏU¶D=°€C=ÄY€ôàöåãè꺊é6×ü©¨®g±*çÇ’œµÛDß ·Ûív»[[[—ß{/"pÇâLûv›Æ³Ç߯sÐ] ÏCr€üdʸí_¼õÏÿîZðý ‹°z-Àmìß·#Œï€Q|@~€üŸ ?ä'ÈOù ò@~€ün+]]¢Ó"?Y¸h ¢ÓÆwòä'€üù ?¸v„ni]]].—«¯¯ѸFþþþaaaþþþ ?¸‘ÉÉ¥K—APP¯/:¯•Ýn¿pá¬Y³¢Àtƒ&ÜÂ:::"""ø|>’“Iáóù ­­ ¡ä'7LOOO`` âp‚‚‚\.âÈO`|ó}}1cŸ ?€iïºÖïêøôï»Þo# ^ùìÆÁõ¸çÌ?ŠÞ2‡}÷¹gbƒZª^~£ÑiÚs‰3'UžŽ3Ÿœô,ºoQg HÂ5™?^Œ‰î üÄvêhùûõv>o]õHÄ7]£˜±Jù„”ÂB&·#ÏEæÃc÷- ! ’|ï‡ANv.’€;)?ñØ Ç:(øþÄØ¦ŠNk•'Š8DD6Ý®¿×v ï_áJ¶£×/laâSIC8l¾ÇÖC•o{ûOü9=fÝþ}Ÿ4¶9‰‚„1?–¸XÀ!ÏÅÏ÷WkO·9‰Ø Q<. :û¢·ÌDdªØY8?uóÃÿõÖPÿ‰ãlí;;Ûæ$bÃÄËy1u+¼ÿ‰“Ïõ§®&í>Íç¦N'‘_ðœ{Ìãᘓžâ±}n褰Ø{ç,¼OH]§]ô d:Yê;®IûQ’˜Óvzÿÿo—ãäÛåµ3R¬}l)k1ì­¨½èñ\ü âÀé¶ë~œ¼ÔÿÒéwÞ>Úá?')yaÍxèÉ=,â Ïvjÿ_Åá³=sžX·æ!Q—éð›ÿ¬µyˆüüˆ¨M¨c^âÚ‡æ±NË'ûÛÈÓòAõ'¦^ÉcOÿø)ެùè¾Zzp]L…ÉöŸxZõõ—),FDÎÞˆ…tðÌQ³göܡ݄Å>$B3W-К æÓ–žeão_8ÞÞ»Î=×K²‡e‹frˆ‚£Zœ¬?qØ•ë6,ã… x4/ðø±s‡çþ¹!" Š˜Â¡Ž¡^=ã¤à˜¤ï.òþÿ‡ûžÕ·ôDI”®Ö.ZìOoFà4¸ÿ‰¶äÆ‘³Íé!ÇÓqÆ`ì`ç.d?®>n¦9ßÿé¿ICZßùËëõž«•‘ ¢s]qˆz:ºz‰‚AD]| hÁ£?Zð¨Ça3ŸýüCÍÑûj—ýâû"t£\krr çþŸ¤ÅpNï-ûgRøF&5ÿ¤çœ¾©—B®¼wÁÉ‚’Òû–†QïÙ£g‡æ“t~þ¯Ú“gOi?8í$Åý¿fû¨TaÞ}sˆ:Пi:U[ù¶æýÃ-êuö‘§§«Õx¨¶ÉIÔÛq±Õáá°~DÔj¨?{qØtÎÌe1!D-ìûôLÓÉÃûµ—ˆfÄJ埾^ðÒ+ÿóé¹N'HÄ!bYä&×Äc«­8Ðsê— 8œ˜µ©«¨¶âý‹D®×dšâ=-ú³½4oÑ•;ä!óbB~Ø¢?ëX4—ˆˆ"îÚjß:Üш-IüA f†ŒÙ>þtžô‰§mÕû>ýð­7‰‚„1ßìáÙõ̲ûæ>pîôjOÈϾR£ˆ„?áyçƒcï¿ÝHĆÍH™+ š ÙroâÃæ}‡Þ¯xˆ(0bÑ÷“G A¹¦kG°êéç8þCÁ ‰Yûì|ç^ç™÷ªªÕ7·yˆ8üÙ‹V(ž\³(øÖˆúeÓázÎò•ws§° .sSj™­}ôfæé Òg×ÿÈ×6ƒ!õˆ@ýSá¬[äàjmJýÇ•8…ñW/=»,x’ÃC=G*Žý)daÙ÷xÌ”T£«½úœ¿baÀ˜ª]þEFÌê¡[I¶–ÔÝ)ÏJžs©ÿèøùs1ø_ëÞ&ÅçÜWæ³§‰žˆ''ÂdÜ=[xíonjjŠŠŠšdrò…úO?=óá´'™?3Ð}ñT]Uiõù…›rT‹§xܧ^ÛQ-}þù•7 ºžè2Ôf½£únÍüd°ïq66^üË¿.¶ˆç«¡“IQ¦8?qœ>™z\XñT(sùIHŸ£«7ÁÝq÷0)è)€;Šû«÷Þúœ~µi˜KDĹ葟ý*ìÈEþ@òòÆko}ÞÚMD³ãŸL[³(ØmÚ³ãÕNù îç[Ûh¾"uùÅ÷´§Z[휅Ofª–_Ü»ãO÷&7ž¾ho³sæ+~–¶j&—Ü¿YZ]ïí£™ÿÈúT¹8Ð}꯿{3øQiçgmmmöà{S7=õ`¢Ë&mÙžwíDÄ|äÉ´GÒÅ÷^üÓ+ ;õÙù¶6;E>úÌÏVÑþ—_«·{Nåí8õLÎÚîª×Þü¼ÕCDœˆ{ŸüÙSß™ê. ¶3¦?lkt‘ßü%sûÝÐ0Oç”4¶ÇÜEg».t¹A!¿xâžÕ!D=ŽÊwÏ–Ÿs»ˆ˜àg“ç% ïx÷UO÷ýÿÕèfXîÒ•á?l]õ ý¯áÀ’õÊ""Oçüµ±+ù;/Ì›ŠŸ5;áÜ—ÂHõSéÊ_Dø:ζüñ_Ö“N"?î}+çý»ŒÇL«TÜßšQr~Ñú¥¿ˆð%"jmIÝÓ™öSñÉ=ÆvY85v6¶¹hŽè· {þqØÞÒéfÄs áaDãÝñr‰±}e8îlérµqø¿PÞ³ºólzMW}™ZþÒzñük‰œí|º·ÿ„Ó}`ãßLnõËS|ïž4NËð½…÷zø²+&¸Eß¶Zä:h]µô˜¤ üLÜé|¸“t6žjã/_1{øð(îÌ嫾sw ‘íÐk¥õ3ŸÌy饗^ÊQpê^ÛóÅe"‡º›ÏˆŸÜòüöœòëß,ýbQÚ–mÛsÜúê#‰(<ÍõôhæóÛ¶ÿþ±©ªôH'¹/îõÍÆù?ûýK/½ô‡ÌUÕ¯¾uÆMÄáºÛêMó×oy~Ûý¨»î­#‰.Ÿ*{µºsÕ¯þðÒK/å(¸ïý½tà°žæÏè‘MÏoÛþû´ÙÍÕÕt÷šgœÙOælW‰ÏW¿ùyð“¿饗^ú}Úü¶#Ÿ]tOmh;.ü¾¦}æ÷¤{3—ïýÉlæÄ—:ã&"êí=v.ð—iRõÏ¥¿ jÿµ;¨ïäÁ3ë/|nùÞÌï¼0ÇñråW-W`Žÿj›áË—Ïþö¹å?—2ŸÛxä¼›ˆˆ3{ÕÂ`" ˜93€3{åü@" ˆˆàº/v{“‚ˆU«îæQ x…˜{ñ‹óîÎúú¶°„q qg®Ïî>åM ¸óWyçºÏ ãt_ìv»›¢EŠU3¹D¼è)§ùPóÀnWÜëÝm„˜OöÎîáIUÀÌ·éHÝ_uº¬yîgò™Ü) ­ãœµ‘ UÎá…Üõô:vⲋˆˆæË³ˆˆ¸ËbÉÒÞÒsùÀÙÞÅ+gÌåg±,bVgǧCëëyÆ}ÕÓØÐÃÌ™±ÌŸˆØÕñ‚™DD4kÁ¬ù]ÖêÖ>¢¾FC'ÍŸ¹xŠ»„¹sYrtõ¶k=Ɇýd>KDŒ üé9½ŸŸ ž«Wœ»lßÕxñ¤‡ˆzî]¶ü.‘Ïü¥!aDÄúÏa}æÇðyD0‡Ó×â$Ç„G÷™¿4l‘ßœ?GçÕSÚî?}ôåÁÿv_¼8êu–á]¶Wooìê [ ~é±ð°k»f- ŸË!¢‰ªw:Œï‚; 7`&‡>ûªÛM4¶5ïn릀°¡Ü…ËçxÎw»)€ˆËánåpÆ~i8ÁÃ?å¾Üm릀°¡½{à½WvÅõæLžîæWó›ÿuwÓìÎnŠ âp¯¼wÌ1g>’¹‰SýÞ»¯Vÿ½;lþª¦*¾#˜Ê ÅÑÕëögyõåù¹[=.â’ŸOëãÝʰ~äéuQo»“xAƒ7GX.<œ}ƒ{÷ÕÞ°ž~Þ ÎÀ¬† žŸ÷w==ÇôŸÇ/?»º¯ú¬ïêu¼)žöàq6v/Œëêèu_¾”Qdõ–ÇEýÌ7‘ßxÑ «V¼7G¸Ê¯±êœgY°í€‡ÿË"_fèšðó âx?5°gÇøGç½öÊøÿò' ‡:4\mç3Þ°™‰‹p¾ô³¯¶lt…§­ŽJ™ç÷u׃‘OXÐ@9'¨ ?¸ƒÏ—†ÙëjMŠõ †fû¿Òî© P¬_@ÝmC¹K·½; 8àššüžîÎn¢@""·½›À PcÛÐÆîngfQ÷x9?8 àÞMP‰GËöõuY _¿@Ntù«ÃeÅ¥¥âí[–Oá ^ˆ·ÇéðxTú½AA†ˆzûÛœým\§ÛÍòÈ/”¥/»zúonqf±C}¹ã¾êäïãpz\D uõ8žÖÊY& qío=¹Žû‡¾6ÅV]–Öƒ—ý•s¸¼K\nphIúܹ#®“Îñ¢AmW«¸/qxÊ>[ô'çüŸkNäbÿ #v.Æ=ºc’µñásÆ:¾{|Çä~¾³Ìù÷sˆÜ'ŸÙRÓ´è¹+¶ðzñ÷gLÕ0ÿî0Ü™<¹‚säÕâ7>ûªÓMîËOí}µø­fÎÌ Ž\ÙýÙ{—‰Èmûì½FîüU³¯­K¢õÐ!“›ˆ.Ÿ:ÔH³—ÏæK¥mµµ&7¹¿ª{ï<_º|‚XÜÙ«æÓéýŸÙÜDä¾xxÏkU§._5²wu~öÚ‹=tÑMD3gGLýr®Ù5u]åèãð#êq;&]ß¾ýéôjkwn˹·«\ÃÿM¶jp'@ÿ Üa­>cvUuÕË¿+õqÂ"—+~õÌ*q Qટ¥],}ó…ßt?ò‘M©‹ÉÝv _£)½÷òS[g7ÑÚŸ-&nðc›ÖÛK_ûÝoŸÏç#0­`| ?@~ÈOŸòä'€üù ?@~·Îd?àn=¶o¯æhÃ¥"âðEÑ<¶ö» ƒ'þ@çé>nú^Ülîø¯wŠ~_Ú2cMöó†á|ÜÉ&×âný øÏ{>n¸ûÀÄÎå˜Oìÿû¾~º{´Ý»÷à'æn„¾Æ¤úOºöþËL$ZóëŒ#¸DD¯þèµ=ǨÝî¦j;VµgïÑ;gÆ’ÇŸzêA‘YýûWOxˆèÍ?üú“´2ï1°ç5´{ˆøsï_»^3ºË¤óô¾7÷ê.õùψŽ[óäã ƒ‰º›?سç_ íQlbTóÞ/E=“÷ÜB.ÎÀíd2ý'îÖÍ¢¹«—F f܈ŸûUæâ"¸ÔöÉk{޶pîOËxfuÄ¥{K÷§¹§=JD¡¤e¿¯tC;'ú±õOÝOº/qšL#§÷í;Ö†8À76¹þ»‡ˆÃçŒ÷"Éú_FqùÁ\ÑÒÍ—Ì—<Üe"QQ{€hndD€Û?qÓ/WsÃfG¸Ý‘U'Ú¿´»—]éAq›?9ÚNµö©ïƉÜÇÿð¦ù˜®u·ÁN4#qíw—…Q4§áØßOàÄMŸäÄðzñf÷X+mR-Ã"øÖò“~‘½½­›îÛái?¾ÿ ]C{ÏÄŸïi>øæþf»g¢ü§ÕNäÆç Ï!²·;ºº‰ˆ@DÄ ‹àÓ ;ÎÜ´INªzVgþ*–slÏ«¯ª‘¢À72™ñ]܈¥sý‰ÌžwlrŸÿàåìß½\yºóü¾=ÚÃûå þó¯ ¯-{â7›ÝKÒ~—÷瞉'3 ˆàõ´µ{ó—îv»‡ˆÀ "»½›ˆÈÓÖŠädzp·îû{UÏêMiq\nØ}ªMߣ}¯ýïе0i“ë?Y¸æñ¨†ª¦ýÿùç†Ø%"ÿžK'Ž6´“ÿÒhQ€ç¨›ˆÜ=öÖÓüØNDö/›Û–Dr9DÔvü¸!"Òá!"òt·›Ýßì!ênmií¾r»+º?6ô“ƒM{ßøˆs?¿õã}f"у±3º£ù?¹´¯ê#þýœûNx®cYd¸ñ¸ßÛ”Í êJ »Oõë7Sƒàºùýîw¿›L†2gÙrQ_û¥¯šM-fW´äá'öƒÅÁ~Awó/œh0ÒögÕúä 3Ÿ75ž²/X}ÿ,ëçõçÍ Vñã‡~ehj<~äT‡89e™ý³SM'ZøËî¹ðÉñŽ èWEò‚,u_ºÃH’íï–)†:œæºò’Òjm}³ÃEÄÆÄ+Ó3TñÃKæ´ÖU—Vêê›m.""F ‘%¦d¤+¢½=@Îúܤ 5""2l[»(æÅƒê$Æ»—¼û@®t¨Pöúêu¹f ÐÄÆÈäÊô¡ •“Ixå@ž@[P¬ÖèšDÄbäi™Ù©²«ö;™55"’dïÌ”ŽûN‘b{^}¾–/WH†?iÍi:PRT®Ñ,ŽÁJ&(ÓÓ•Ò+¡ªË\µYG1/¾[$®-ÈWk #ÈÓ³³•R¾]_–_T®õnÊ’3¶g% ž »Vµz«$ÛßÝ%©-(Tkô1BY¢*#K9ª¤V}e±ºL§oŠQ¼R•ž"Eq æ‘eÉæòÂ’JïaÇ\,ƒuÓ–—¨+ëêÆ‹”É•i©ñúLjźb‹`íž½™®š‚bµVoqO(“«¶d)£ùCï!"¢æÂ5±…D‘[öV¦Š†ÎªVoˆ/R¯HÉH™øj¼Ý¾âÕªGwH˜QQ­ãù À4g®-Õ‘$U."¢¸mÓÕ•&e或 Ãg‰ˆÌÚüÔ*-—¨Ì lFmµFW¾m]½¥b—JÌË2 ¹LÕ¹ë«ô‚„Ä”DßV_]Y[[ºUgÜ^Q¤¸ÖGÙë‹6n(5‘@Í'kƒÁ )Þ¬Õn)Û•:ÐÄ5Wn^—¯wñ"eqbã²õ]ù¶~WYŽŒOÄ äªµ.mÆà"ž,91’a£Åã?dÙ\™ºCç âEÊ¢…¬ÓÒ Ó×–j5º÷ä ·bù ¹lÆ’ %•NY²j‹’±kkjôšÂ ®ŠÊ«4ͺJ#1 ‰!\žS ÙºÔænØZc!b„1 ñbÖi3éuºª|]6»¢h0d†Èe×—fæWS¼2#Q`3Ô”kŒšüv&OX²U#HÚª¯Ú¶D{s¼™Ãð‰ˆìúâù5vi²2M, “®¦F_“¿¡Þ´»,K:”~–mÜPhpñ$q bë4Õ×4Å[5Õkw©s³3†Ï9&mÎúb½0Q‘ž($‹^SY«+ߦ2³ÕCíu¹6Ô-.^Ä·›õ:}M¡^£ÉؽK=pXïc±í]~j±†Ÿ Tm26£¦²F_“¿ÁÂTìRˆH MIIÖU×èÄÄ$&Kx¬XÊ'"{]îºÍ56ïY• Èe³õzM±^£ÝR1t!ÝÖL5j#Œ$KyYCJNôt©±]›©(’©+oó”É^—¥Ø\ËOÛS=”o+Sµ™Ô1uª5%‰Þ,nî ŸÔ#·'AÆ}îYüàÒp¿¯ÛColjCŸ»?xï׿ŸÜÎmM™‘ˆbRDDDáñi Œ¾ÖRSÖ>ª%Ã5Wiã†%ª´„Ì5Ût†â|mò.o ÞÛ~7T_©Î‹h‡ª”eªu…]Aq|hãU9ë‹¶–‰$i»w ö5Xµ9ë·j …Y•ñ•©b"{]AÞE“]±K9ØÐ˜àQUP­*K‰äª _¯14“xmVNÒÀÁÇÌ@7WæìÐ9ˆ‘e—½¢¼Ò¤Þ°¾Ø¨Ù±#QV$ÈPˆˆ ÅÕÃãš"S=ºÃЬV×§ ëŽU%“ÖDD$I”NbvU»#§Æ22ä4UnNÍ×ëòs*ãÔ Ë¹š«ª^š»¢ˆ'ÅFC·c+/qgEÞ@2RlÖØjÔ†¬;tr]–šþ–ŠŠÁ&»J•˜»nsMsy~eJYªˆˆœ %[ .â%¼XV4ئò¼¹*« é@®ŒõFˆ!"[M±)ewuÖ@¡SSóÖl¨²ÕªµV¹·Ìz`ÇÖ QLÆî"Õ`Ýìuy©›« Å[‹ã*².A–%"—®X—¼soî@5(U!V®+nÖ—hL •˜/KÍ’ˆêkt&fä 6ùÌÕ56¢˜ì½ê+=‚v}jc¹¡¸@¯(ŠçßæßpgCey3OþJoÇFM©!+O6=§¹ÎèpÉn÷Xk]©A´6Ñ^S^Ÿ>áOÜVMIá}. •]HVÆ‹Œ®æŸÀÇÙPYÞLÄÄ©}|YªœGdÓŒ^Æk ÏA˜’5¼$\ž‘, "}•~äœIzÆð–ŸX‘žÀ9´•ÆkZ›Ê®+©± Öf§_i̇˷dÈ<é¬DDŒX•÷âöí;s“‡ÝçËR…Dd¬5Nf‡©Rm ¢ÈŒíÊa;c£S²“yD.Z7²~‘éÙ#â SHˆÈa4M|P»Å;$N,b®½\æÚ‹H²}X ˆ+³Ó…Dd(Ó˜FžU敉õ|I¢÷–m¤*]~e«41šˆ\¦ÛÈcñ’³‡Wž¯J‰$"c¥ÖLDä4–WZˆH–4¬ê|YfVCäДé*Ïz Ã$d(´$IÆ#"“Þâ½L5%:‘dKžjØÛøñY¹É<"Ë••äã%Û’!6ìK/$"‹ÎVž£w¿ ’—»ñÀÍ›ogÖ”š$éééJžN­Ç”²;Uo‡ñ°î¤µ—ºLpÄdª×R÷±Vûáç-ö^""·µáȇ| ý¸Nolõô!`€üîôôÄPZm#bâR®Ì›`cRD£Z2CMX™|äêH¬(^LÃMGÙÈ1 |I¼˜ˆ\¦z˵̤­w11rɈ;ŽáŠ]´*úX‘Tž¤Pxg>Ø­V³Ùl6›M6o{ÖnŸÄ*½Öz…ˆ„òøQC-XI¢Œ!"£®yøî2™`dýŒ·=ì˜ð.§“hp„Ø5²µF"âÅ%Žˆ$”Å ˆ¨Y7"#âI¥ÃÏã-/Z6r+Ï;HmÔ\òhù¨ƒeÑ<"²èLN"²hõ"’$ËF­,ÆI–‘Ë ¹0ò˜Ž"ž€%"—Í>sM3E&މyL¢Œ!rÔ×¼V"¤#ŽÌò½#õœŸiV ‘­2¿¤nxáX‘T&‹nÿôÄ®SkÂäT)KbeJ¤K§¶øËQsñ${Ï¡£‡ÞÝ¥dk 7æh­DÄ0Dd((0Èó*=´wg‚½fÇÆ|ý8¡vÖlØXX/Ißµ§bÏ®,™©|놂z'‘³¡dãÖrct殊½{÷îÙ™Â×nÌÕÚ‰DÉ»*²%D´ÝïT§ˆˆÌ•™ëwÔØã²wï}wïžír{ù¶ÔuÞ+Å\¶ys©^²sÏÞŠ¢4&'WcÊZMêòµlÊÎ={ßÝ»gg «-ܨR›œD,1 9ôE¥.åÎÝ{rV¨ä¼¿kNc¥ÆÆ$¤Åß´¥òL•嶸ô¸pq²Jl(šuG`Z53}û:/xÙýñ¬Š éhllwSo‡ñäù>ñÊù+ó;mHP`4Œï‚;Œ]§Ö:ˆx‰ªáÓºYij²°ªÔ¢»2gX»\"ÕNf‘Ãf±zßè–¢ODd3Ùc¤®Âe69ˆˆ/|]ê+‹ŠË4úfÇ7KÔlõ6""tì"‘Åe¶Ú‡•›'â®KDtµÕ£¦ð8í“XbÊn6vbÑ"YM6¢+Ù¥€7ú¨D.VÀŒSÖ1Ž~_È'r¸l6;ÙL6"b„c[õüp »É6òÊ•‰ NNs‹¦ «~ÔFYŒf' ïÐðG×Íô«T”¼}Kõ†Bƒ¡tóšRF'—Ëåòx1ÿŽøŠ[µjK²E)&"%ªb w¨5fň âôìTi8±²ôìäÊ 5åz»?œÏ'rÖ—(&{gŽ·W2)k§­nMaAuF|ªÈ¤)7RdF^¦\DD¢¬É´f›Å{É8õ%j#É^|QåM2ÂU/fkÝ¡VZÚÅÙ©Þ¾\ašR¨)ú]sʵÁÈ_¿{ÿ§^]Ã$ï’²D¬<-¦¸xtèǨ®®Þ±cǨÉÉɹ¹¹ø{u«ðX>=8ìÎ 3û¾U’a Šfòýˆˆ¡ =}ÔÓÚîòÏò#¢€™‘¡Æ/D@~w2«V­s‘C—»!uD“Ãn#"2¨Çþ9eÙ±7ÿ½[\.×°vïØ•{™¡÷]Ëvï»æª+=K„‘$¬M”E ¼M‡®0¿Æ6¹X¸\Þ¾±µcYoÊâr¸ÆVzRø"!CF—Ãh²ÓµDèã¯Ï…ˆ§íF=Ì‘á6Ÿ®œ4ïIaÆëþñ–Å5òøº4t æ.£®Ö8Á µ¿ëÁF§ª÷J«KÕåšZ£ÅP[e¨­*ÞÁD&¤çd«d·ù3f̵dÛ—c—«âò·–WšR‡-~!ˆ¹r/Ɖ©Æd0;½ó´"㮬\ÇÉ„¤35ØhdרӤm ŠŽJ$ÙhU^Á`‚ëj(/ÈÕL»cà›ÏŒ×ÛeÑ×;(R>lÏY¼ÊköTYo!^â•Ëðød éLÞÖ78Fv¬…KeB26’zÓ/¹„?T2¥JRš?ð»f×—iÂÕM›bש5¶f׺ØÒÁ-Æ‘¡K¡PÑðÉÉ­×”;ÿ¤·ãÊ¿}}9¾ƒ¹Š/Q¯ÇÕGÎ@ Ô—Ëp«¤ò¸ƒ™5jƒ÷_¶fã¸Íùæò1NNרfæ@uÄ‚¸Î±os oVM£’?Ðàu^¥³Å¤Î­²ñ†OÄ'"2;Jh²ù‰wÅ)rŽÒætÚ&Qð«V*R.¡ZkôVÅUž¾è´Z)|àÁ(ÌÀ°±qú\š÷$¸QÍ+—}t´NÛ°üûB˜k¼î×`>ÉL>æ1;ªoòã@Ã¥Š¬EÙÍõzV£©Ñè›k‹7m»+²nã)ËΆòÒf¢æÆŽ¸%_SVŸž3To†?¬+eG\m#ºã>;2޾n\ÄŒ{ê­¶¦nÓ ·lÏŠ xŒË¯Úª¯¤N›ƒÈV¼.¶xÔ5b¶“Ën'byÃöÏ„ 2]ù pDÿ #bˆìCu`†÷tŠÒâ ¶•–7(³DúrK’¥ßÄû?zÉöwÕƒ}ÐΆ‚u›Õõé¹Ò«~lxŠ‚ääNàÇa|©Ãã!âQŸ³ÇƒÙ0:?ùê…_s–,ó]´Ô7bÂSÈ××722òf·]Ê›‰H’½·L)§e±ñÑmzËÈ– ÙŒ6'xl„Ëjv‘@8bd”Íh£¤N»ÙJ4îH¥ñ𮉀 6›Ñâ¢Që¡:N"bYÖÞ ·‘@‘6r|†Ó¢·M6¬@" ²Slry‡5ñnÀd…ð8¥Œ zÒ—6ȳ&XçÕ^_°~C“]”§³|±ˆ¨™l†Ña% nÐ%akm‡ùÊ.V P­Åe1Ùiô³ÉEDÂI…H„D6ï°±og´_$•+¥refÆÌuÛt–Jµ>£ þvMPœ†òj/a{Qú°gé¸L¥™ÛjÔúÌ‚Á”Þe6âÒiw ï­sÚDáCyˆ}Üî3ž€O.»}lW—U_®sñ’ó¶§ü„Ø™ zOY¾GĤí*RFýˆˆLìPêàoÎ`g&Ë xDö3©\fŸÏ#gÐg¸\%çmÔTSdåz’mO¸iKûšjÔF±*îÊ}Vœ,g6ªõö‚¯;¦7EÑëõHNîþá!œæ¯.v ÅAÔe1uôQ(‚#óOíOí"’|tá€ÛšÓX^m¡+ë ù3ŸÇèu6M¹>S:¬s¡ӘœÒaX»ÑûhvIüˆæ³E[gÎÛµµ¾¶™ˆxÑÒkiòb¹„©Ò¹ê«õvù°›ëvmæê­:¦ì©Î ¶`FŽJ²jJ´“ŸŒ.’ÑbÑjM™#žÇà4ÖÔE'J¾y;6<1cmñ†*›¥|óŽ˜ÝyIcBï4WçfVÙˆx¬PÀ_’(!Ñ¡¯6:¥ÃE§Iã­ž(¹amûÑ.–ì9MZƒ‹ˆÄñB–ˆ„r¯´Æa¬ÖY•#æ%Yõ5F"âIå“zšH¸TI†fKµÖ¤õ kÝ_'ýÆP´Ökuõf~bª|D•(>YB:ƒËfÿæȦ+»N­qðU‰Ò9§8-Q ©)¯³Ç$â6}½¤ÞKÑÙ¬3EËD,Ù‰ˆšu V•Ø:{ƒÎB¼Ä19(+Š—0UõµF{’÷Úq6mÎÑEæîV9\D|ñPÿ…µ®\ïèŠ@*呯䈇&9­f;+â9!鯡RÚõ5õƒ#,…²hijë­©¢ðÁS®· .†?n~BlLšB¨©..Öë)î•›63ÞÙPYn‘dÄ…øUK–ó7”ÖY³¿þó …›¥ÀíÏ/T²xöç'u›8þ¼wÏ`.{=jpǰëÕLju…GãËTr‘C[>rUL[e~yƒsØ_á£&™6—äW_Y0É®/)ÖOžrmÍ|¾,=Y@äªÍÏ?`¾Òj-*ÐQ¤RMÄIDdÑÔ™†µk 6˜½ãéíW­1 KäíÔ™ˆX™ã-vå°ETíúâ\ƒˆ—œ~C&ѲҬWÒ$DdÓl[—šSVweñ-§Y_™›ºfG­ƒ(2¥({ ) —§'0D¶ªü’zç°ÖOy~¹…ˆ‰K»7€š¼’+gÛiª)¬´QŒ2Nä-¼JID†‚üá ²Zµ……z"*Ób&×Ô'§Ç1DÍÅ9EõÃW½­+ظyÛÖ ™å¦IV`àA“6ãàœ§MS°£°0g[eƒsD¨©2‘@*fnׯ¸U«Ö¹‰c¾o¬X™(péʯ¬%e+ßQ¤m0[Í òs5&aØj~¦â|uÉj5×WæêI˜2öóãÒ•B‡&'·L[ßP_W¹ck©Þ!I³‚˜Y*Ë´&«Õ¬¯ÎÝ\ÊÄ ˆLz£ÕNÞ±d6m¾Ád¶³ÒôÌWmÎVµ¶Ál5›êl\³f]~ˆ'' ÉX”_¦7™Í Ú¢œÓ•!¤ééÒçïP×5˜­æmѶ|Ť«&| %¢’8ôšfAòÍ›OltÖ:õ¨åEØè¬êº]IábUeZΧð$uÎx[áκÿù˜‡Ÿ_È’‡äKÃý(`nüwï¼í Žÿîýw³DÄF,º_þÈ#ß•?°b‰Xúg„‘0ÿîÖºÒZרu…Ç´:bRäÙLzÑFÄȶ¥OúÉäáIÛót¶ÖK7¬®‘ÄÅxw¨7:ˆ˜ÁÓ<©àŠã"I×ì¨Ù¸Î$8sWnzv²vs>ýª‰L"ä1ä²õ‹‹H¼==úvÜeÖ¨ $HQŽíÑb£•ÉÂòRuI¡$"*³’íêÍë 6ñ"¶ìʽò]–¤gÇë‹7>j´ $ÉÛóÆ®ÃJ³v¿"È/.ÙºÁAÄe);·gÈøDÑ™;3,9%[×U#”)³^É–ÔnÕç—nXoÛ½7W–ž"É,/ܸ¾|írצ °$g}±‹ˆx‘qÊÕÞg(±ÑéEÛm¹Å…×’@’œ‘—Ålܪ¼(Swíf J¶®/v1BYòö=#žÑ4†(N)¡|{r*—ÈO¦QÛ¥TOcÖÓê¤(5å6ï2^Ì`S$c—BZT¬Öx‡ñ"ãéYcF*±q¹{äÕ…EåZÅEDIBrFvæd†S𥙻÷JˋՕZƒAo!b„1‰ÊôŒ”¡‘dâÔ]»)?¿TkÔiš‰HâÒvf¥ËE¬=7E›UnhÖiXIŠ“ˆÎÌKkÎ)ÕÛš ^ÌϬ%åUˆãJJʵ:ÆHDŒ R–¬LKWÆ‹ndC†/M-Ú›¨×”VÖÔéë›m.‡ÃE O(‘É©)ɲÑãÇç”UÄ—”¨5uúZ /R–¨HIO™Üxª¯OPRwUÈJ Jª55ò6õÒ·d*†µáY±²¨BRYRRY«×i DÄ$qk•ééJéu%JáòÜŠ yyIyuÞ»Œ#ˆŒKLU¥+¯gm-‘2o‹nk±Îb1l‘b†ˆŸ[¶'N]Z®­3êuÞuÂx˜„Ä”tURôí»È°(µòhꯉ3«fÙˆˆøbE¦Z‘3î[‰2¯L™÷õç1^U¯çRWUج,Ò*ÿ-Ë*«Ëž8)rv_V(Ï(Räž.ku¹kØL6¾T™«Væ^¥¢#™´•F’mŸtú 0%|ˆ¸i„ù'#Y¨Ýf ÉöwËWk8šÔÊuÅÍ${åà®x>ÂvKpÖe®Þ¬s Ó*ª3Ñf»ƒØ¨Vo³eTT«Æžvs™rM!ûu_÷o‡I­\Wl‹Û’—/fFman±^œ½W­œäÐ(§ÕliÖ•äæk˜Œ=eªëë<Óëõ2™lžÍi[°Û€^¯_ºtéÐÀãòx<Ç¿_C\yÓ‹Xµë{~AÉæõ…DÄbä[vg+'=oî۶f«ž1kwîTEclÜ"ŸÀ‚Ÿ¤>š4ÁkW öí Ï,ˆÏü¦Õ•ï:zgn5X¿ ŸÀôãïïßÓÓƒ8ÀÕõôôøûûߌ=c~<LèĉQQQÓªTÝÝÝMMMK–,Á ºÌfs__ßÝwßPÀUœ?ÞÇÇG$ºñÏ4Bÿ L(44´½½}º•ª½½=44gç& w8f³¹»»Ñ€qo˜Íf»Ý~S<Äüx¸ZSµ©©É›¨L‡^”îîîöööÎÎΨ¨(œ›„a˜¨¨(«ÕÚÔÔ„^0–¿¿hhhTTÃ07cÿßWãr¹¬Vk{{ûthªzFááá7©ap§rÚ­v'ËçOýbäè?€«aF$ÝŒQæ0 ÓâüâJ½ÅEDDÙÚŒ-™Šè)|â4úO¦ä:8òÕã?¹ì¹1ì'sÞpÿxÌ IDATÌ ¸Æ”Õyì“Ïzr?¾ûÞiñÀ­ÞoÙ™ÇïZp Óßßïããƒk঳ë TË›‰ˆFŠù.³Ñâ "aò+e¹ñS•¢ ÿdª0¯|zýÙ»lÆëïš< ØÙózAǃܵ`Î+À-“äg•7“V´3SNDd¯/Ûº±P_³5W~ @>5 ò“iÅéÈ~ UdÛw¹å|o[8/÷o³æiy2Ÿ}õý™ X"ê;“wvÓéð×·tozÖ“ûñÝ‹O]x2Ãóoº÷¼ÇÉyβómÙm‡Ï‘ϬG¹¹wE²ž÷ž:»g…`É)û‰óž vîŠgoZæg)iúÑûü Q=sµØ™ …¡®Ò¶÷›\\þÿ!zb¶/u^~3ûâî#½D¶"$'Æ’`²”4ýèý»6F9Þ?å¹p¾~Æì¼§ûw?eþØÚäñ¦cÿ™nÏßb;|¾ŸˆxKƒs #î Æy˜v¬uE1 yE™²ÁL„/MݹӠج©-јåÊ)Ö‰õ…§rz>:°õy{>ž»ÁÙùÊ[.Áƒ!‹;û›úˆˆœÎýï÷-ûIPØÐ'X²ö^*|ûÓ9²—‹žµY~x÷ÛŸÎßÿ±hå±Ö­Å=D>,õ7îs?V¹{ÿ¼WwÿO¾ÝFD¬ëx7/cö®ýâÜ¥=E¿hË»{ÿ¼œyÝ»KzœÔ{8×¼Ë~׫Ïßÿ©xÛ±5»Ó>ð);={÷®·£^/ô?Y`=F›þK0—áfí‹ÊYAÇò.}¾Tøö§ó÷*ÞåÚÿ‘'`úqZt&"’*d#»Iø2¥Œ!2ÕYœSS0ä'SÅuyóRム‡þkzÝ›°¾÷>Íù-ˆòqœõ8ƒyO®èûè-§“ÈÙÔñ~gÀ“+Fu{q{ØŸ%r6uîdôC–ˆØ€<ͽðÞe …=³–ú1QÁ+g‘Ϭ(_Çù>rö¼ý^ÿŠŒàH–ˆ8+žå1G:O:‰ˆ˜yü£|‰ˆÅ„Q¯­sD~Å›íë8Ò±ÿ£›“³2çîœïsqª¦#†%"“…¸œ®¡§ÆwMÙ1Þü'ù .˜èCä'î·,-À‘ÛÙ’ÅÒ?»èÁYËFŽ˜b_w‹Ýã`}yƒûä…û’Ýíðî3Üo`3KDýï`}¯¬ÍÈú0ª‘ÓÓæê?ù³¦ÇØ‚9ˆµwŽú”Qߨ|wIÎܼRë›y_œíŸûð][sgÜ‹I)Ó+Ž—0U:}¹Öœ¤6ËZW®wIâ"§(CA~r+à¯]é¼°ÿÏõ>­,`ÇIt½ïãðœ.‡Ó›„ÃÚK|.ïú®,–Æ÷}ìoQ9ËFt±Y¾þƒÜ•é•éD—.¿™u>'7ðíÿ bq ¦[ 3.C)Ô•vl̡يh>‘Ýt (k›ÎE¼Ätyø• ã»nü6àÒG³}ÄýÛ¢ Ïü`°óõ·zœDÔyùþÑ;÷‡<áuÑÿ‰ôÑßì"¢¾æw,Ùy]ö«¼ßÕßæ""×›?9›ûŽ›ˆh»`6./€iÛÂŒÎ(Ú"cÈ¢Ù±~ul¼<>võºmUÍDDmIeÃÍ?AÿÉTq]Þ¼Ô8b˼ð7ßž¨§ÁwñS®§í̳W{Ƙù·ðü쯞(&"Ÿ¹GìLcˆz¯«|~+óE²/nºï’‹ú™ÙòýùDŽqßøØRÛ®‡çGæeðoo~8»Ÿa}x‹ø9wHç‰Ãá°Ûí½½½¸²o???>ŸÏãñy„‘GävDA»‰agÅ©»öJ+KŠË4úf‡‹DJRSd EÛª Å6Òî]ªèo½-‡ç3Âôr+>ŸÑn·_¾|™ÃA¶#y<žÀÀ@>ŸÈ#ìˆ<"°#òðí„}Ø xn#“°soÁ·=Ð gà›r8,Ër8Ÿ[.¹šžúúú|||ÇÕFy„‘„‘‡ö+ø²,õ.fkž^4G~ðMõöör8Üã¹|}}‰èòåˈ<ÂŽÈ#ò;"ßZØG¥(™»*§¦´8a7êk7Ð5Þ-CävDvDn`اE³ g ð3 ;"°"°#?@~ÈOŸÀ-«¶Ü¸ÜiXªn·ûö{``à4,ÕäV‡ÀÈ#òp«Aÿ L/XÓù ÀÔÃø.€[â›:-¿ª·ûø.@~ãñx@~pkè÷ôô›õdÑS[#]n%÷eòñ%6„ø³}f,¦Ù+(lf¸M¹ÞÞ¾Ë=®V[ghHPXH·´7þ·Fó™ÁÇCDäã¿ ò§O¯CXŸLïFs¿·Y|•ÆñÐÛЀ¾—/õ5Ôбÿîïnïå£ý ÿKD>³î¥ØçHëÃa³oŸ£Ëù¾®þ«s-fó¥ÝÙ§×<”þ8·´ë¥cse>\†úúúx! ¬Ÿ#&7&?á<”ÈY²Ìwñ2³ÙŒpÀ”‰D¸ßÔéX*Ì?¹6•o …ÂU<4”¨ŒMNÚÚlÛõ—ÏþÂ59}žþ–û5Yýž""n@·oÈåð{/ùEö¤1ýßÙþsºþ‹_³£ÿÂçý5é>1¤ø»ËCð¾e¿Í-”…}µä.Ÿù!ôꙌ˜À-χ|»:}ûû©¯×§#±o\«‡ÿËßõöööõõyïÞ] 8îáÁ 彺¼·‡}}}ýüü¼ÿðññéïï÷x<.—ëܹsÈOƇù'·2õîÿ®ûäðþçË))?bfìWÃd:ûÿÙ;ïø(Š÷?³íú]r齓H(@i*(  ¢ ‚*àW@Aà«€ ¨ÀO¥ A(EPˆ„J ½÷K¹¾{»óûãBŒˆŠ~A‰™÷ë^z·»7>»;;Ÿ™gž™üä¤ôô“OO{N¯×ÅþDÅrä)g` 4W2nõ !§´Î!Š’”Û) :½Q§ñ¸© ŸýŠpù)2˜˜“¿“žâí­“âÊÿ»_KÓ²«CÒ(Chóö!$IHA’@‰ ·ÌŸ°,KÓ´³íHü áoð'ÎÿREQH’DÄ!ü‹EQÜ]¸çŸŸÖ¯_¿ëjךšš‰'žJ?9(©ãå싉½û‘ê÷æL»MÜÿ”ž[À Õ½O§W8¢³†qÓ»øûzÿ\ÿœY³¿™:Ü:'âýÍ\¾ZxŸ_o‡9X75ì-œðð“Zµ‚(Chð<¿iç§¢ØÚ~47˜³²²i(,W(»hüûE–”*d2/O¢êø†a~mNˆ?!Ü&ÒÚ¢8GNœ…\o„+V«U¯u1ŸîË^¸`~òÎF“Éä¼ ÔjuJÊñŸ~:ªïÞɽ¼¼’Ü 7küÒÖ@Y* Tì>ôµï¹Ú†*Š¢"ÂegµÙÌëO§2Nž9¯wÑ…úöUJ±JÊR9û1Æè®ÅÀ*‰†MFëš÷¶Î»Kª3ƒNÏ»/|e†F-'ÊÚ ‚ñótfiDwÀŒh—šR:²+ìÀy¡:ApˆÀX¤ ·ÖÅ×7luH+žèëíE„½)B ü8ÍIë©Ã„ß¿S¯s{שùÕÙdþÉc6›UrüÂS}~L+=uêô„q£‚}¸òKú¹¢G‡Ç "J?_FSð“=‚ʪ¢ØÍ å„óÛ Èuð«?²MF“V£î”[XÜÐhl}dC£1¿¨ô0B]£†?pÙ·ñ„”³! ½™[Xr,õìãcîg’*æv1ÞºëûqqÆz :qßPbNmš–™$Lј“Q¼27 „1 `y+’$žaàwŸÆ)'S/øÄÛCãç.sÓ[¯Ée$QÇo·zHºÂ?nTˆŒÃѺc,‚·Ëdr†aÐ&‡"Üæ˜S{Œ±$IÎÀÅ–³a6› 2Ð%í«ÇŒf¦A¤¤—ûOéªù‰JâbN±©c°vÛÙMMMDÏ›\‚³€¤ z/˳ÉX­R*‚üOŸÏ²[ò®PÖßËÍ9ê|æÕ=ßþPQ]s&»8·ÌsÉÀQAU{ñÕ}ŒçÂOjÌVÃÐNT½]þÜb·æïJꦠڌdZW" ¡í¶YÀiAtí}óÆ–¿IZú)>â+³Mݸ}ÇsS&AÏŸÿ`ÃŽˆp“BIóv;8 IM•áÒ÷5ÁñZ¯`Í0,Ër,KQq)3’$™Lƺ:ƒR©È͹úÑG 6lØ}ç  Æ€y«1Æ)gk^è¦{tDG‡GÓ1!:s”Ä“éX7Ñ@À"öŽCæŠ=xdNqÃÐI ñßþp:†ú.êtUV™ U€˜Êã)•JQQUsÏ€ÞÇSÏ66™’¯Jìäa<§¾’ë72-×öÍ¡c÷é¯w!¹¤n=Åeu?Ü><ÂZR‚…Ó¥ÔOC”!Üù4M¹yycàyK’ÙÅI"P´¼ªHR»`™Á.Ò’ PÆ"§¨¯-:{.£ùÁÍ0ñ±1T«grƒÙŒX9ÆØáêûõžó“ÆYTJhúþ„H@ ´ ŠâáÇEQì‘ T*)k",Ù?š‹ÏUƒ™víÀÄyªT*Žãhšv&Fƒ?ìÌ!üo¦Ñ`0lݺéÈáC‘Â’•]VV¹y˶§Ÿzòµ×—»ºº"„\\\Íͳü>?T”WÒXViŒ‹î1ó‰8À#àÉhv¸é8«]ÒjI+ù& XªßBèóR¿zc™í`naÉñ´sè¶(ø(WY€(Py‹¢øÙׇ¢¸ÿpJRBü™ YF³íã†Ä™ŠàMv¦Óó/8ò‹Jô.1D×[ˆÙbÿüà)káÉ‚‹…k“Š N£±ž.DÂO^~þSÛö˜½cLQî çÝü@ŬÝRS|…’$  0Txê}DÀ€EÇÁFéËoÏ9c°³S¿Ùø²V9uj56- °º<»üÝJJ‰0RïŸî¦wÑ囫y"ÐnT†aX6©L¡wíÚ·ÿà¡³Ž¿¤Î|Ý3{¡{åV]ÉZîÒ놬-e¹ûKK2*«ÊkFÏ ’$!„) húÖ¿Ú7MMM³fÎtwsß²uÇž={¾Úóõ€ƒÀáp¼¿îƒ^xÁn·˲h;/bŒÝõò9OvîßÍ3·Ìáç¡€ŠZaÞÊÔ¯Bð÷!ƒŠ7 Íyº»ÍzjüýCúY¬V¥B1§‡™3— Ô}:5)…¼œ¦éÿLÝ!c|âTFDh ?—W¥íAæ´`oI’.]Î#rþïM¶²Êº‹¯¼µæã¹súU|2Ä¿Ä̃ 6O‘³ `R†‘É'¿Ïÿ]ý¿˜1ÙõÙ­7®8·¢Ç—=’x‘¿kï]úmú–WðÎ`£`€ KEø'áŸ~–eÈ Út¨ôPëþ”ïJ¾ û8,Óy¨äPðÇÁ?VþزWÂÒ‡YÆ|Sc#Sà~nó 5€0Æ€WÚf¡y%»H3ÈÁSÁÁʰLA Å[Íðj$IH’–$æúlò=»uåÊs0¢Æy=†ïNœt¼Ïø”Þã?îñØÊlÃ…Ì,"{ dü„@h ˆ"ÂX­P 8("4ì‡ïRØ”kʧ"© k0ßÈØse¶Šå(ÚÝý{ ©)²EQl¥ÊU­R©8™Œ¾6¨Ð<¥žŒ®üe0Æ)Ç p×ãOLj™|²b劎Qaç/d»hÕƒ‡ ¡…1fÆÈë¯=3oZ|¿®^V›Xß$tàD«MtˆÒšmÏOŽ÷sW˜­ÂùË}î"z–”´sÐ9DïZ±PøÝTÂs-{ý¼_|vRÖÕ<ШU÷ÜÕd%ŠžÚ-ÈÐhvדÿ+/—~»ï€?WáBÕ&pÒÝ=‘ˆQy¦PK l~thÑê÷ù¡à‡,SÖ#‡Ù9pgŒ¾yXï³¢ÏNל®çë=äê/¤V§ŠX”Ñ2pHŽzký—E_>þø¥ºKyyŠPTqCñÙº³Cü‡8KÈ2dM:>©ÜX~ªê”R­,ª)zꇧ>øQ/Ï^p°äà¼Sóx‰D’õ¤ÎÞ=Œ¢($ ( 0¢°ó @#@…SH´ä n¡ߤȯ]èP/‰ 5` ¥©/O2öNxšHNü Ðö*J𦠹Ÿ¿_çènâCF¾!î9‹šéû»@ ˆ®’ɪwަXÈê°GQC¼T;ÐEÓ+H뢄(„(š¢(š¦(Š¢E!’%ã/ñÙg»__º¬E9„—§×¼ù‹œÓå[2Ô•”kT²>‰^,ƒÊª-+6]:s±ôBŽ‘¦É"TÔ˜ÞÛžõÌ£Q5õÖŒìÚŽ1‰°¿àpÔ°›Šf&L±%åUà+·( è{ÝWô.Ú¤„ø_•Ô¢‰ ·‚MŸ/=ùñÓý˜ª&l²BÈÌ·tƒ4#gàT9ûÌÔx"×ïÃ2,\0\˜ôã¤ôÓU´ŠF´³¹»ìÌ2»h3ñÍ™13 µ:uȾ!û ö=þ8EQ€€¥X–bºÖUf,‹ý<E°L ˜x Ã­Å[9üȹQçò›òï;x¼Öã5_Y"¹š¢D†³«´K"ÍJ#Öº$a†A63¯Ô`šÂ€@$¥F¢YD¬vë*ìJ º¶às-Ðc|57ïý>(d¼¢XËÛ€‘–äõ•Á§¾îF/\õÝ?!ÚøZÎ.‡ÃQWÕXy…×è^jß ëL;”gˆ»Š›ºÒI½˜>àÍP*²#Ê TƒÀ–7ÖóõõP¢€X ‡\T2µJ¦Ór:-§VsÇ2L‹]2´òGTT”Y,ß_ZÈŸe3›Í»?Ùr6õkë8‘}OOoÕŠ—{¬Ù&›ûT<\.lhlºx€C%Hê“$#é&ÿˆ’òª_{‡ç…·ò )ù»ERt'À-áÊéþ[9xôœ[åWwõbòk±3„³Ê¢x XCƒ·Ž\U=Côº‹B±ÁêàSÕ§Æóa¿]d×fì ø©ê§/ ¾ôSùMš*§åÐݽûã‹XÄ€]8—Q!£:ºtÄ­zîkmµMD©‚ M…CÀ†!jÕ~SôÍSÇž*7—S@=ßéùñ Ú¹òf‹å¹W_¯ã4 ¢DQt·ò’©Ñ©<#Ø%sÀ` ª*Œ€T_ÛðŒA)Ø%†uÎFq(tc­À˜¢Mœ¦Ñ+Ü>ø#§¬²["Ò÷ŽÔ:´UDP@Üóg.ñ'BÛQ”(ŠåÅuu–†:“ÒAÔw,iœ; ~}‰B¦2|!ÅqCG)ôHˆtA ñ§…„<¾©õùü*%h\O¡[=eòàÃma!8(…„Ñ>~ ­N.—³ ã4*E‘Jó7üIUXx‡;aŒ³³³,x¥¬ ãùÑÂØ©\E}4ËÎÐ(.5²4~®jêùjƒ=!Æ c8rª<(œ„¾ü1rŽehš¡Ì* Ì•aw×Ö5šåÈ]ÞqÈ?ñú3ÒP9û † >\ˆÀÓÝ­º¶Ž¦è‘g*Â.¡TĽDÛ¿r#T5^>¾cp_ÙŒ®-΄ÁϽóƒ0=‰©6Âù éÛËØˆX¢ØÍ £d[îÚ2ëä¬Ï >Ò­ìµR´¬ö­³o14óAÿ´¬ö³‚Ï 6 НÏ\?>büăÔA…ÆBg]dLãû¾ìûH·ÈÙf?ÖAÄÑÜú¾ë§Á´Ï >€ÉQ“w[L”Ž>9h’§B¥a9@`éFýu(°ø«. 4’Ô²F™¡u÷–Lv[•ÅÈØÍI¶²E¯.q&£'B ´U°("IÒ¹¨h õîj Ù 2kykš\ÂS%r%Vw¥’ú2I¨oÀ¥URþE1ó Td’êlšŽÈ5 É"€rA$ ’D›,¬©AUU—ÎJ:¹àé"øzðþ¦È˜úÈxð ¥V&ãT*•L&£ÆFf­ü|F$‰¦©ëü Ƹ¡¡a×';·oZ‘‘UªwÑEëÄS“uµäja£ÞUÁ²Ô¾ ² íÞîŠÔ³¥£îö·ÚÅÒj‹ÀKžÁÞ&“Q£!)¼~Zű¬Åj;SdNÒɰ­qP€-ý<º”_YôÐÖˆ˜ÂÒò?Ú4mÂW-`Œ Ž¿¦J@ô>i—é¥ÇF…_ÈΉ ÝtHj*¥ž%Âþ‰‹c‹•·ñ‚Õʽçë±±Bµ XÌ%£±Z††‚ôb©ÎŒ­^î…¥¼ ¨•²xÇOcéÀ=Š{“Ͷc©W†xç<Ô‘¦(Ø|Btë6eò}70x‡®¾ýxbáW¥{†?|OÿX€ûKÊ ~z¢áÍ3ÌØÒžK§™ntiD‹’86lìêó«OÖžÅú\·(@à a ¿*x†Bì ìÂŒ+¨¡ãÝ@sQç¾üä•é¾Þ^äò&þ„ÀDNþï”(@hÊ;´i}rrØ«ÓcD—¶Õ(»¾w c™\îÆqªîj×wê*~°šà!U µÜ5μ‡#^ÏÑëÕ¨ô¡<úI4…”68¤z#+6É‘C&Y­‹dmPÐrŠ–Ñ gÇ '°å:©JÖpŒåX‰Q×èºIÊáZ¬W{n%÷êÕ³ °0..cüý÷ß?÷ÌÓ~ö>±lïX¶Þh€î‘`±›‚qƒ$ ÓÇÎËEøéGb<\å9%M¹ ± —Û>•Éd*•Š\ìHxHÀªEͽRþ\x´KÍŽ©‰çà B IDAT¯;Ë+kÊ+kÂCºDwÐi5§223¯”M‹ªo¨oOw¯S™,ÃLâRûDõzÉÉŠ7‹¿·+¥Òç6Ê?<§@*ßÈ!ý$Þ ÚÉ3W§Ä”î¿È]pt~«g¤s#1'7ƒCtHX’@r~œ=­ZVýÚþ×D™è\iiâÒ{¾¾çùÏ/>½ vƒÈ‹G= ì vÑî\)ENË—%,‹ri¶ß¼ƒ Íí/Ùÿß3ÿõVyÐï…ÇÀ€úm˜}röËi/á©ðlÏúê—´¯¸Æ¬t¡X@Ì É’„1š¾©' Ä Øb…æÄÈ»ðô¼!݉9!þ„p¬6¬W£§ë­Š¦Sï,?ÚKs>µ¾ËssGj®|¾moFµ¾‰£Æ *߸ì ßs‡y²P}dÙŠšñ gÄiAÈÛñßdÅ”yCŒ{·}‘Q-ë7ê‰Ñ±ZåϓYÏØãGÅéI¤ñ-A’n¸™PÈå>þ^.£­}Œõ9M¶4Ñ~\Å^¥(›XÂX€“`‰P5úé.‰ª’: 0pÜr§)àh¤ AM’%*””¤f-ÞJ¨…å¬Mî^« 5¹'({è½Xšþ­?©ýø“?öCllì‘Ãß½¹hÊ[S©©À ˆ´^#9;2•r@J9@ŸXôÆÎÝb=¢B\œ{£‚t"Æ_|_öÔ³ ¼¼¼HÐË_9^ÇŸŽsU?ó®è‘->"¯¨kÊ-(É-(€=6×} ÓµSÇêºzgd×ý]=“ªßÇXB>q(z4‘ñOñì„!6[_šá}ÜTÊdœÃu4ÃGÑ­[bücñry ü ºøt9UyJAÿ܇8'xNqâs~t&òêéѳ“{§ìúìz{½³*Ñ7q°÷`ˆp‰ðTxööîí§òS³êÅÝ?ó…š'aÇøÄèÎëb\cª¬U:¹nmŸµÃƒ†;wMŽš\f.ûàòÎÑ•öÌ÷ß·zÉûY!}$«Ö¨¯‹Ò#ò†NzåŠ:e“ã÷´Â¢(Ym 8®uç!µ±úq7qÄÐ{ÈENü á:„¦¼ã§¾Ý#5À²Œ£&Ó6âùåQZ0œ\›œéùÄÜQZhÊØ¸bÛ§¯>ÜÝÓz4Ï:Ì“m*Ê_×úŒr!N Õ—Š!t¬GùmšQógÄ*Àš·?ùøùêȾp|cò• 'æÎˆÒ eûßù¿‡|_æIt¿]-3hùâX–aµJå ·&Z'6Ë›àœƒ¹Dɯr²J–¶2Êâz™ÁbèZéÛQ“ãz鼬A¤°Q’óÙåœß‡)3œÄɰRYÖa˜Ã=žw âÔnjµÚK£Q*4ÃõR 22jù²e^^ž}ðúüÇ(O˜:‚á¼î3üä0¬S]¯VEMÁ.Xqdí’{}<”ÎRvìÍÉ«õ’Ô—(úï… ŠŸßÆr÷ÂÏVGjjbg.ÕœÊȬ©3Ð4äïçå‘•“öR¶ 8( =6°ãH~;¶KˆUPw½N4ü³Î<<ÈûysÎÃD«¿Æ‚N túEž_%­ÜØk#ôºö‘Qžuæ†ß Q‡T=^å|oœd¼nïß! O68ß7Llh½‹Fô’îK–t_BôW«Twë¤KƒU¡‘¬6¤P8#»0BÍ3à­WOžÑvÞd²ÝØ™H¶Ù±½Õ@ˆÒ4U?Ô1{ÁKKì:ñ'„fW6ÍŸ{íŒûöz¢»+Û|òåa½Â´ÐT|ºXÑeT˜@3 ŒÙxº\1"NoÈ,·&²Åç¾I}G3«…(E~¾5hˆ¯Rá!w¤œ>yɵ{¤_ذ)a`8rºÆµï”(-°~I<ºT=l 1(·¤Qðûû)„€¢ #W(´:‡ŸÀwám6»Íj³mPc:#j0qf³L²[{u´¸?&/.fssتrÚT€UVÉ%WÃÓËáá'úE¸x*U*š¢h†¡iš&«£ü¥R9qâ„§ž|ôý9nž.!àXàPTnTÊ4¿^9!ôBìs—z}ÎÀoõc…ߥ‰·¬”ËI¼å_DúaÎþœÒâP|œv˜}£û<žøø˜û³sòW­ßž“_t>óŠóà÷i],M›‘`BŒ ß®!DÛ·YVFÑ4`Œv +WýVã,7õ›ÐîƒiNù‹¬¦Â3‡$ k=ü};&€µÉPrá#“‡t¿‡øsÂà Ï<ýÓ’ÕÙ¾]M€dÍÑ oS˜ëÝ e´Í¼©ï8et”¥Ér]v` $Œ­vÌó¿F”k]Ñ#|ί½Ê0¤ÕMü ¡ÕY¾6ÿ„¦¢ÔO7®Ø6zî”8€Qh,€Ã`¹^qÍÕ3ÖQnuè##5ÇÏW[Õ®q‘‘åGOç›4— ž‰ М6…=pôЦÛ¬®¡½FŒi­·AÍÞ ¿s^V›ChHgÁ­H’$‚$ŠE93ký<)ža†‘Ëäjµss,EˆÆX’0ÆØy Eáø.‚ þ¥:,Ö;´ HáÜ×&Œyþ7j'li¬Eéº/‘9ñêj¯¯.-(ºàKÑ´¡<·±ºÐ¹=ÿÌ÷†¼ Þ{ʵn€¥úÊ<Ì ~щ +·™ Îjª)õéƒK¢ÕL`—~pú«÷*òÎQ"“ìÐgä¡÷f9;+#£ˆ„;…»ïêk±Ù~:™6î‰Çí6Ƹº®¾¶¾a¸÷¹F›óA Άæð­ësšÕÖÅ—ž^0qlbnDÒ?]· ÚÖ²ÓGó®¡×M[×v´ž?šgÁq4 ëåËëhË8žé ÕëçZsüh±¼K˜ )cë[OV  ðôõTè#»»V?Zd°æíߺÃyáV·A¨«­:th¯^½F=ø`II‰àpH;AA°Ûív»]t8cŒ±CtØyÞn·;éšÙpŽÀ8¬3Ô}ñÅûöﯩ­µÛí‚ H7×á°Ûí6»]p8$,§â<%ÅEëÞÿP?GFÛ`•Ï[ozziÁÔ¥ù Þ+È)§7\¸…›¿ÁüYŠ¢²AŽþe¸Š ¤¦Ždr._Z´pž³@¢ê_yÆRcv£û6 h$Ó€­ç’ÒßS}'ºf·[é^Tu@醣 ‡©Aˉ9ù³W<§sÓª]yK\>ò©>$Ftðù'÷4Vä…%°ç]8¾ËP‘kȹ蓘—~c1õã79VÑ뾫'öä¥}KÓœäh~ „%Ü›—ºŸ‘©òOwäÃy!]1¬ŒÈL¸£xàÞ!ww{oåªâ¢"†a0Æ¢(,Öw{z‡²[lÀ JÍU{KWÅP’è^×'{ÿ›¡Ô'o¾Ú;¡;!ÿ ñ“ö@ëù'r×ÐîOLéë `m}ˆ>ñ‰ñÕÉ_,[hMЀ)c£ÀúÆyÔo+޿ɰ¾qòš/l½vmÌČ䵯îu0À°ž‘£ÆÇhí;el}ò¶e p€"°û¨$OÛu‹z¨ÖmÏŸ¿x±¸´´Cdd~~þÕ¼\ÿÀ@ŒPyY™ÑhÔétUUU<χ‡‡kµZ¨««+**ÁÏßÏËÓK­Vó‚`6›‹‹Šêt:Àó! ÀP_Ÿšžîéé V«­6›¡®.¿ KRhX˜»»»J©„v_ÕÚl¶%‹<Òß¾/*ã{~±wy~AÁí««€Žcvîú¬±¡þjNî¾}{ßÝ—¦¦k"LB/LSÎD“PRÃÎ{Bs*ëð»o¿5cÖl—ü¿Þ"½!°7`CÎûU_’̵ˆbÀ%ùõ„°!ˆÓ•þ’$6ÔÅ~²$+EçDkÕ,37Tç9é#€¬Ã|«À’ˆËݼ‹üŸ«Â«ÓÐÇKÎ~ßTUBQœÈÛNޱ„<íAçê< !^h^˜m²‹ `,¡kë—×fzFö6à˜ðÞ#(Væ°[‰?!ܨ”ŠŸyšçùG~ܽe«cN§ÔjºË8½Ù~º¢Aƒydw£ÅPO·ž}º%ö¥R*‰nÄŸ’ÆŒäu_[ú=5±·w[ÛÁ‚P__òÄ µJÕµk×'N|óÍ7sçÎEUWWjÔêñãÆ}òñÇû÷ïëÒeÔèQ£Göòò*ÈÏß´yókÿýïÆ׬YóñÎ =zŒ=:8$ÄYtiié½÷ÜSU]ýå—_îÝ»Wï¦ONNNOK{qî\«Íöúë¯wŽ  c]]ÛíŒyŒ±ÝnÛúáö´oøÖã÷g¨ÕÎlÝì#ã&ð‚ôüžÏËË;üýw"CCCÕjZ­îØ1ºcÇ豌ûöÛo?Üü·ªäÞ®æ /AÂ0ë!V’,kÞš´n·7±(„;±{DtЬ‚S(¢zŽ*¹’¦qóD¡üÒ‰¨ÜùFï ~ÚýØXèŒÌ6S=+WÒ¢õÌÞM1ƒJ9±ÓSéU矧X¦2ûlUñÅ{g¬-¹p¼üò)…Ö-cߺa³· w,ǼwÈÈ{‡´~ê„’ÃnÍp{pÊØXñ'Â_7'¾¾ît@ÁVáåéýÛ¤Eáy>#㜡¾^§Õ¦¦¦šL¦¦¦¦”””þýû9§1Œ~hôàÁƒ]tº_z)++«wïÞv›íë½{M&“Ýn¯¨¬,,*Ê8^’¤ DuŒR©TùyùйS§û©©é§””Ò²2c“ñرc,Ë9zT’$–e³³³mv;ƘjÇõòGÛ¶¹Sy`D’Ÿ¿ë]ާR+'Mš4yÊS4M?÷Ü3K–¼×òŸÉåò‘#G4èüùŒ­›þÏtäääûe^:+5ºWÅ+/¿°ö½Õj5¹M w4+ëÐçðé©ó €ÀÎýlMŸ¨¶¦ú‚3߇wIT»û v +SBá‰÷#DõŸº*ûØçÅç~èÞï¹ÚEë`®+o(/P¹º¸ûM†“{„v2×W™ë«ú<¶H®!3‚wÌCVxAPÿî0Èo™Œ±ÍnWÈåíÄœ¬yãÓ«€µoZg¼4ñ–ZâOíÏœX3w®ù"tÉØ€6âPZrsI’•ç/\ºTߨ˜}å Ͳ@Q¿ý¶Wb¢ P4ƒ…) #$!ôcJÊÊwÞðÀ¾>>c@!DP€HìÕëË/¿”ÉdQQì)—ÉÆ-O{ãÒ¥‹}£Êåœdh’ƒB®sÎýûß•”Ô~»ƒÍéd~øÑ‡|½÷‹%[V=:HÔÕv±àÃK7®×ý?/¿“Ô—¬(ÿËG¡ cLQDz4Ýì EIB ã¸_lÉš·ð¼ ý*CCÓ C·Ý^ !ŽcIбÙm6çêï«ÍfµZÛ…L¬wb¢×É#U×>ßb‹Bü ¡}š“{^zùÞ€6Ý…%l6­VËÝC†„††êÝÜ|||ºvíj2ËËË1p8mßNQÔøñã‡ßiYÙÉÔÔÔ´´ààà À@™\®V«_˜=›„ŒŒŒ?ü066ö•ùóýüü\\]Õ*•ÀóþþþÞžžþ~~“&M2™L‡¾ûîàjµ:,,Œjß͵”ãÇRÎzÉd*ªM‡ã·ìÇ&ãB!„<<<žœ<µÿ]ƒ^™ÿò™«—îífötÁ:eåâEó¾Ü³_«Õ‘{×ÉÚMŸ31*<N»ôö†í:zÊ…Îá¬Ô3V˜ìãå±úµ__òö†œü¢ëÊ3|Șáw@Ú™‹ï~¸ãº½þ>^o/™SPR^TRæíáÞ±C(9 ¿•†Æ¦ —¯TU×zz¸ÅFv ÐÏã‚Ñ[Pt97¦éØÈˆ ¿–¥Æ0ÆÕµu§/\¬54„t‰ŽÒj~Ðuˆâ‰Óg;EEºê´ÐØd<{)+§ 0$пklŒ›«Kë#K+*s ;„ùûµÙ”‘c_~ÞxûöXâOíÓœŒ m›™)ŠŠŒŒ\¹b¥B¡pssS(B|°Ád4±,»ÿÀ7n\\|¼N§ V©T¾¾¾Ÿ}¶»¢¢ÒÛËË!:P@@…Ð{ï½WXP`¶˜½¼¼=ÜÝß}÷]𦽽½½}|Ö¯['“ɼ½½}}}ßyç’âb«Íæîîîïïϲí:eô³Ï͘ôä“Î÷îîžÿciξù°°ðÍ[>:öÑoö~ÂÛmånÿ«½wÿ2,VÛ¼ek ŠËrÙ°AIJ…<õÌ…¢ÒŠó™WœþDÂØfçe2þÚª¤ Š’ÍÎó­‚yA°óB×NQºV­‡@?ïkÇ‹6;ïáæÚ)*¼e¯›Þ‚ü¼|½È ð/æÜ¥¬yo¬lh4¬V*Ýô®®Z-˜-–§_\X\VÎ ¬ËÃÞ_¶Ø9Zûñžo6ò™³&EÑßÇ{ËÛo´ûþ¶ä/|·ø?3îêÝóìÅK/.]a4™†EQ­RÍ™:åÞÍP_ycÕ©ó oB÷%sfµ)ñn£E!þ„@ÌI[àZ‡ MÓ.îîZWW„ES¢”,!Šbcc#¢i@©ÑÄuíªÓ醡( c¬ÒjCÂÂB€¢i!¤Òjõîî΀š¦Ý<=åc³|ŠB)5/Ÿ–ܯõ,µ»ù'®®zWWý­-!¤R©îvÿÐû†;·å[H;{±°¤ÜÓ]¿hö´_/3|ÈéŒÌñ±ÎØ#4ú¾Á±­Èu„ú=ÿôc¿ºíh’¤˜@øSR^>oùJ_o¯÷^ÕE£m4ÿûî{ÅåzN’¤yo¬*()Yôüs];EcŒ¿O9ùþG;×oÿxÖä'ާŸÞôñî½{M÷°R.¯ª­ÁYaÐ ³~ûÇ_}ûý#ÃïKJè^TZ¶påj?o¯Å/<ç¢Ñ˜Ì–u;>Y½ik§Žü¼½ÞZ÷á¹Ì¬ç§LLˆïâæÒÇÌo—E!þ„@ÌI[ Õ|€vNË–0€ˆ„hšVÊd/ÌšõèØ±;uÒ(•M#$@QÔu+<Æ4Ý* ©¹LŒñcæºh¥V+±n­K¹áûvNJú9Œñ°AINsËöîwÝaV«}ÍÆdçûêºú_—#aüí'NÏt~ôлÞ?¤_ë*ªk¿Ø¤åcÿÄnn®$¾Ž@ø—³kï~“ÅòúÜYÎl]îz× o,yxú § ðâå«OÛ·gw‡Ã¼gpMaïw‡¾èWùzy¾üìÓÎçcëÈ®ªšÚÏö5ôî§KQÔ—ß~­^ò …EQf«µ¨´ŒåX„P­¡þèO©cGÜ7âîAmYÅÛbQˆ?!üK±\Úúæ¿'¬ëf+Ý»ww8œLƵï(,¿†&“tÚ?Xú„”S×ô ,4Æ8%=£Å÷u ¾ÎŸ””Unݵ§åcLjàvèOâ–í¹ÿªÏ!Êåo™WrB4*U˨µC”"B‚Lk­¡<À9ÕǨ¡Cö:RYS[TZ–×å†S 1ÆCú&=7±y<¶°¸$ÀÇ[¥Pð‚péJÎâ·×ê]tï,šïëåyòÌ9QöNlûBÞØ¢°/,ùW«$þ„ðom×”–Ôýbƒ[hŒ÷¿·ÑŽ¢iZ¡P´|$—á_@XpÀ•Ü‹YW%%üÎa:­zÛê×) À±Ô³+×m»îš¢^{ñ™ß‰ïêÞ%úÅg&¶|ä8âðoŒ·V1¢sÀæ9‰D!åÛ~³Z©¬¨ª†kë-bŒY†i2›e,Ç0 `d²X\´Ú–k]}£„1EQr™¬Ñhü­bs FFãü‰†&#ÃÐ?¤¦¿¶úý¨°·^yÉE§Q”B,ûïhŠ+½cBµGªZu וTZà¯úŠ\„i]~ïìýÜZm¨;öö»®XÚè?‡aþð…±¬óu3Çß‚p›¹§"ÃÐ?ž<óþÖ]‚C€ Ù9Ó_^z*#óÖþEQr¹¬åÕze‚“ ½ê#»Žéâ´‚M)¹ÌЙœ18Ê÷†…LíÙÑ›Îåï†èWYS›[Xì :`hº¬²2'¿°k§˜° @ŠB¯®\£ÉœË9nñÛkX† ì›Ðý\fVSÓ , Ë0ÅeåÓ^zÕ™¥#!®sqYùKËVþ÷÷ztî¼þלæä_F㥭o®=Ù:fÅkà 3û»ÿõV¹: ÿÚ~‘Øñ fÀëkµŒ£Tyû xáå±ÕÎÿƒüF*[áßMp€ïs“Y¿ý³ƒGOI9Å0ŒÅj€ó™WzÄÅÜ|9¢$½±vsk×qWïîO>úQø&‰òÒ%…{ ìàÃ1TµÑïï–VXãçª|iH§m©¹Êêͼú…{…¸i:ù¹Ö˜m=ƒ=¢¼u—+Ó kBÝ5ý#¼¯V5º«åî*yß0ù™’ºa1þ4Bû³Jí‚8(Ê·²Ñr®Ô@¤&Êÿ 쓘üåÞ9¯¿98©w|lÇ˹ù_ÿƒ§›þÁ¡C\´ÚYS&¾óá–§^~uøà㯾;Üh4-œõ¬J©yﯾýþ±Ys'õ ò¿}E’¤WfLWÝœ©“_^¾rÊœùk^[8t@¿SÓÓÏ_tÑjúöê¾jÃæªÚÚ ^ú7…98ÍIÝ/ÍÉÿØÖ¢.\HîÂ?¾†(Š¢(655ÜÂòYÏΉ!M§Ó‹ZVK2œÌ°tèë~ £7šššärùm­kØ;2ãvΕÇÛl6­Vû*g&SngÚ´;AöÖ „Býºw‰–Ë8Žcõ®º˜È°q½H?ç`· ‚ „tëíÜbµÙEQ Œ‹t’_T*—Ë\tVÝòYr< IDAT öŠ›Ý.:ÄÈðgÂâ°2üǕߔšÃí. nÎàØ¾á^&^34ËPÃbý÷g–º*dÏôëëëúýår“ÝqwGßáÏ× ïðCNåó£åTÍÚ9½°fѰ¸Ÿò«Yš²ðâã=ÃL¼cT\(áz«½k€E¡!Q>?å×4ZoV{r¯°ýO”ÿÇž­,sw¿¤†¦¦SO=‘VXRÚ?±Ç«ÿ™á\Ÿ$<8ÐÛÃ##+ûûã'N¿è馟5剻{"„Ô*eŸÝ KJSNI=“Q]kèÞ96>6&;'·º®nÚ„qÑáûÿ˜Ø5N„¢²²§Î–UVÅÇF÷ꆆƣ'RG»G¥TÞ9õÌ`NÙívÒJ&üSÏcI’œÎ„çy»Ý^RR’˜xë'ŠY.%·E¹U7O ¥¥¥...·5 DqG6”­·³¡,IRCCƒ¿¿ÿ?¨¼Ry'Ž´Y,–·ìí“;AùÞïºáöïá©1f(J”$ Ôr–<ÿéÙBçaûž¼è›ŒÓŵÏöêâùÂçéUF›¿«rÞÝëÌöW¿9Oõé Sp¥åîš|×莮Õýƒ”+%„/Þw®Î|ãÖÈm¥}‡\ðDù¼ª±X­ MFF£R*®o«ÔÔhŠj½¨âÏ­s£Ñb±ê]]œ‹¢€ÍÎËe446©Õ*æZ÷¢ 8j ­F©øù'šš\´Ú;ªž¹Ì ù'„ö€2vü‚_ÎE©:ÒÆæ¢´L,¹£^äÒ"Ú?T+8F-c1€œeÔ2ÖÙDþ6«ôë‹%-‡¥äU÷õÒ«{ºÌ*›Ò§C ^55)òXnUOm˜»&ÄM-aÜ=Ð-ÊKWd0/ ÛÑ«ÊêµrV"kþåÿÙv‚BáëåùksÀÓMCs:ÆÇ˳Ŝ€Óœ€‹NË´Š}`YÆ×˳µ9€¿ÓœÜrnŸ9!þ„О-ÊÆOóÛÌò‚XîÀ¹®„öÀ–“9³Ê^ø,=»¢¦šƒmög–.øúœUøyi¦åß^vSo™Ðç« Å;Òó4rvÛã}1†]g ’Óó7OHš”Qc²­:œ9>!læ§© Eï檔å×E’“Š(Oh[W’×¼}‘)$¾‹ðϵ¹ÿ®ø®Zz)º<±à™Þî·¢Xßu; ñ]¿y“ø®#wr|¸(8%'gé{£ý¬¼˜ZXsþïšQݞ㻈ò¤ªùûe¿yƒRùãº7vfZoƒ9’¿‹Ð®hÉè%tyâ¥[dNá_Oƒ•o°òp¹²‘¨A”'XïþÓ_†uoìÌÔ¼õ™Q‰?!´;‹²ìÿ†¶6wÂJ‚©þ nëHp§ÑÖ 'Ê·Ô¢Ì\Ñ[¸¹.ɨ¡ÞPdb7@ ÂÿÞ¤º-m*âO@ Âñ'@ ø@ @ þ„@ @ B @ ÄŸ@ „¶Yÿ„@ø'1žùà’âëvÍ‘ýåBŠÖ?ö ,Ý1-覎®ØýäôÌ»Ç;И6sì–¡Û—r˧¯Ê2˜L&àÔj¸ðÉÏéw½nàM&Þ¹Í{ÄŠÕ=·Œ•z5Àóà0uѼ¡A²¶¨¾=g̈́ɟéç}¹~¨Û_/¥îÀ´éçfl¿©3h?·xÂ+¿’tÝ´ˆ[¨_]ÚáÊèA1š6x>*oX¾åH® €ï¸13懴™c“ÇïZÓówÿ=Æ´eÓ—dèǯX1¾åR¬K[³|mJ%pí¾W*Ú´kæµ/­xÂNýÒ}ëûj~÷n\?}•ÛÒõc|npŸŽüßüoÐG?cê  Ù/·ó\àÀKçÜáçØx|Ú}¯äêõj¸À„13fŒ¹¹[Õx|Ú„“v-ë)û ¿h·iSs%S”üäX´y|ÐÍëß¶©»Â`ÌL^¾ê@1À›x}¤E³‡úÈþj=l<>sžñ»Vö”A{‡øá¤.eweô@}Æî,cLü?Ú t´òÓAN¯3×4oûœæÆöèÁP·çÉ Ç§~Ù\cÚÏ>cÝæ‘>`/Ú3kú’ƒqÎOm­9œ»;…˜`Ø}¤bèßôP–Å/þtÿ¯$½µ×TFrrÎì6èOŒi˧¯å'­Þµ&HP—¶rú+sÕ›VxßÌ™¬<žãW¬iÕè²§­Zž¿zûø €1sͬUÉ9 3#ÚãCŸÓ\êì°^õʬ¹ü¦õ·õ~åÔz>eOîTg-bÏÙ“bR«ÿð<Ê"¦m^ÿ›Ez?´bûÌ€1çÀò¹³–À¦eƒÔ¿Øž¶xªä‘wþ9VG/Ú¾¾¯À^‘¶å•¹ÓëVošv[ÿfNíÍ\upäœôßÕ¿Mñ÷*lÏÙ°d÷¢íËbdö¢Ýs_Ù’‘4¿'ßVëaâO@őݕÑ3æõÜ0+9ÃßWösóÇ®R'*M†J>nÆŠ™=5ÆÌä%ËTr˜¸¸ÙKçôtƒŠÃË–lÉ2ñ<=iѼ¡ÀWî^<3+·¸âf¯^<È êÒÖ/ßnâÀÄ{™·hämªžeAq}õ[2 ö‘>m®ågÌHNWY=>sÖª=Ec¦ØsVNxÅ Ce¥)|ÒŠùƒÜœZó˜øÀ1K ’A]Úš%kÓ Àƒ÷˜EKÇèxÃUsÖfóSW,E–/ß] À›ÔqS¿ãÞ^q`Õ+ÉYÀÏEOZ4úøÌ ÉIÞ†ââ\Søø‘êsiÅŹ†èÙ«çôÔØ‹ö,Y²»˜çyuÂŒ¥súªŸ„OZº8.cÕÚŒ\X2ßgѲ‘AmétÔ¥lIœ±}dóø‡[Ï9›¶5n`JÛ0gKVq¥AïÒÕÓbdö_Ê;UŸ¼êHe1·d>·hјæïó¼‰ç¯•­‰™¹y³óW®¿/øã3'ìŒ6eá.TvÉÛWöÕÏ™iÑüA>{žœ•X™«Ÿ±n~|›»äeAƒf/:7anræ½s³Ö/Y•RÉqú¡³Ñ\a«[ê©ógˆYºb¼>ã—êf-»VÇe™†.]Ùªõ«¨ÏØ“e‰—½xO†~`´©œý¿¸\‡êϵ”°hjÑÜån«7W__ã©[ÿ4CçÍ;>aíÁ¢AµÞn2˜À»§¾ ™OÏiK'¥LÞ’1~YO8wýéh®øçõç-Þr£_6k‹zöê™áÅ»—¯:`àÀÄ;¿ÂûÓ=uŒaêÃI+¹µêX3wU ¯÷öŽ,NáçmŸÍm˜°Ümõæ¹3'ìOÒWVŠ‹ù¤E«'Á†ÉËaÞ¦™1ü¹•“Wq‹6ÍŒ‘µ9…ã*w/Y¾§8àÕ 3ÍìéZáðÊ5“—¢õÅ•ÑóV´X“‰5ð2YИ5;œ·ÌµzxQ\Æ®ùá†âÊÊb“³^7f&¿²dAïîmànðÜooù'Â?Fў݆„1ÑA #½³v§×97ò•¦žóV®\³nvà‘µ{‹L•\ßyëvlÞ¼iQ`úÚƒEPw`ùZØÕ;v|ºnwxO®€7MZ±yÇ®¥áÉG*Àxníª¬A+6¯_¿yÝ .yùÞŠÛÖw”rØØÓ» vK3vgèG&EL2Ù“cwv5òCüÔe+×l^šµaC¦Ýh0EŒ_±cóæëƶlȰƒ1mÕò¬A+vìØ±iv`Úî #o*æF.]¿cûê¤âä=ÅöнK’õ3Ö­_¿yóо«Öž³ÿN³üÈò •cVïØ¼yÇê‘Åk—®Lnä¼ekVLânÉôÿìÝ{\SW¾7þo§°ƒÓlŸ!¡šdÆÀ£-B‹CF ÇKt*¨l—èO¬°= ‚¾ z<•ô©Äª0£0^àT`¼ÄªXÚÚX= rJËå)xyÎ$´%0Ow:¸7¢¿?ˆÜÄÖ"èçý$;ûò]k¯¬ï^kï$¤¦íˆŸ=\ÅQÝ‘”\qì®íXÐtüLoo&Fï8°oß­“®îÏ­”Ìž£TÎnÉ ßp©A2Ù³ë—0+eÛO‰¦iI»÷ÚµR8“[ÅS÷ðVyFëfÉ<#¶¤.¾;Ï»RvxùËKV'¦åž¾TÇQ¯çCö«ö;öé—…)¯/㈈+;~U¹x}jÈ´/Þ±o÷¾};7¥ë?åˆa¨éª8z×¾a˜œ´wÙdÓ”BU}Ó•LýYeÂÞûöíÕÉŽ§ì¿Â÷R±‰H°_JÛpX–°%b¼Ð3z #Ô7LÛ²/­Û¥yÉäŲ²ãeõx™lÁd1ãèÊu«®|—5t°ôhñºc=§Iš¾hà‰ˆN¬[¾dÉ’y/-54͉ž:Ü:q¦þjߣ8¸+™)§=“ö8ðÁ–ÉW_hoÁíWvoȤè­k&2WöëOOHÚµ{÷¾½ ž§õû¯ð}#›£[Д™~‰ë|éJ®á‚2áƒ}»·®”–Õ L×¥É^/ÌMHMÛ¹#B8“[E¢&]6쯬ܟ^5+)z‚hF¸îˆ>—‰Þu`ß¾½[&_Ö§Áóab¡¡~|¾]ÆcD££}.¯}õ•×âSw?…#"’ßm‡{­ó McSÓvͽ̑õ¬á°8vïÝ;&ÛùÉ}Ï‚ÇÆOU‡¬òðaÒO‰&-P¦ç^°þ~„ˆQNóa‰H¤œ(iú´ðQ2•™ëNۆ꛱ÀÕ_ª—Lö‘‘tZbÚ4¢ºóŒlÒ$wIdbÁ&PÓ¥ª†«W×½v˜ˆÈ.â&žîpMg×½z¹ãI°Û•sl×…«éo,Éeˆˆ嬤¤ßÃK;¶ ¹UÊÅ rIL¥u‡¯F'N "Fæï#'"’M”Ù÷×ÛÙI2[®~u.1LÓU»X¨áR=ã³RBDìÄ5i‰l§Iìó{OIÆK„K‚ýêù«õ †7Êáe$ MD}L­àë/ÕK¦ùK‰ˆ¤>ÓÄû¿h¦‘X9Y)""‰XÒù#؉«¿Ô YàÉ‘|njñ$±¦oX½Ÿa¨¡Áî) ã‚éó Ïßû°D$–‰» p½„׳—ŽøøÅiÇB­•—ËÊ.}š¾Ê°å®S{9/ˆ¥cý“xfž®â¦ù”¯÷\åòä]»»‹¸ók–æ¶÷£íÝcº÷­Å>Ñ;vÿ~ S™wÓ{+zë™”ôúÅ»vÏ•“íøk«. ßÉ&ÊšŽWÙ"Ü;»WÖ/. >>½Å¤{xù+½d~G,+Ÿ0M>aÚÜE v._wüê$qó‚»DÔ^|ì¤ÊÌãeuöãõž‹ýYª'F¹x뾈.ÝVÅ0bfX_¹úi½ØGù«Þ«b·Š-45S}ì‡s+gÅO`{¶*|åñ¾â!ö_쓞{ႸÊsq¬˜9Ýwuí¾†û·x\ÕùÙ4¥èžÝŸ:W’ùiý°šjÊן¯"Ï2¦~ KÛ›ìÊIt6÷òâäiR"OÒíêz77_I}WOÑ„•±ž« ¹'±}4'}·BBS“  MMÂ0ë&·Gx4]êzÈBíìý"\÷1 Ó=dz¬tüä¹ã'Ï]¼øð²U¹U±eý6Ñ ÓÂúc¿÷+˜ßð¨Ò“Ë’è½Ç:tèСc·Î²?^GDBý§UqWÏ7É&+ÉÞ`—±D\åñ õ‚@Œr²²é|™ˆ¸óÉ«“»ŒÙw’Lö.Ÿ¾ÊåpÚá+ü`’µÎêØo­³¶ïWWgã‡^øëŽnšºõ`Gø?ˆU–9&´ eeV"⯞¯{*›š™R""²^8~ÕN‘l¢R¨ºÜ@D\åÎÕ‰§m=»fžÓdõÇ/؈ˆlçwî­£4ÉZvÞ®œ,ë§ûË*'ËÎWqDd=¿zg¥Ý*02¥„ˆ¯;{ºÞÞo.3ÄI§®œÔž’[isT¡ó©ë6äV5õ„„—¯4,_®ï|«éêUAâ.‘õ^°þ‹=ë>Þà³ØŸuͧꈈ¸/v§þS,xë§ýeÏ•ã%>>ÌÕóŽH\ý´^âï)í¥b3²©Ñ±[’&•¥¤_â°Uù,ö©Ï̼ê³À§3‘ú¨®÷ìc¯[3så¸ÞpuRô¬î×GleŸ6ˆ=‡Ó (¶K™úâÅ+'ŠÄ=Šc¬sõÓ«<_—»fÍá:"’øGè¶,h0èOÛHìã/®:]Æo=¶û î~›c'ÇFKΤ_hˆ™§¸áR=OÄ_¹pºþ>íwÞÙ´r׎ˆƒáGÃ0ÂRÏi-'ßp¾Š|ü%’‡áºÝo,Ýpºý«lW+íb¥än;<:/’M4}q•#"[Õ§W"¡·³ ¯oØÇµ“„ñ€GÒn^È­òŒHp¿Û3Š˜Jÿßß#“\Ò¯Émhhbæ$Ì‘‹˜ˆÅ’uk—WÊ|DϹ ×gÎÝš}iÃKr‰Ÿˆ$–¾èñM416ajŠ~Õk ‚rARè |i[ÏnxÃñH*¾*}múÄ]ûËÉzfÃÚJ]ç`ÍPé¦U>K³’ü;ûMòYžûs/4鈑H*Óã?mhh I±[ÇË)Âÿ°~Õk2™ò÷‹Wúë3õ§}RuºóÖ-9ÍÉ$¬”Ò…îë—‡&EW¦¼±ì°˜Æ?zKÓߤ¿Oˆ½”²vÙa†Æ?6iKýŒ‚¸/JˆHIYµ,±tÒ„ñ´X¹vêÕ2™ç‚ˆEJ½Áp>u®°nÝjaëŽaö´*vr®„L}Êò\;‰•SWîØ:W.ôŒF/áí‘Æˆ&Än]iпñŠF95vK¨œõ8/îé™±> ”W×UMÝå#rîRʺe§Åd'Ï•I²ã ÃÐtvÃÒ²ögðN]¹cË\)‘4:aAŠ~Õk #lqB¬;±îÝ+ö™öPF'ÍzcþÓ½©=¢wµ¿Åsñ$æ²°Àçn-t_нºþ×›=?Ö£Å{i-QѵKÏ:ŽÁsNì®èÉ,Ow_'"‰ÏÊ-ã‡|qØ«ôË_1‘@’I[w,v'¢ñÝ‹CÄF'ÌÚ _¾ŒHLÕmq§2GxÜ#’V^zcÃqÿÝ+“§èW-Ë“ žªÛ2€ÑZéïu+/54‰Æ¯ŒöY»aùk2™ÒÇ_ÉP?WEìç é ‹wÌ•ËI·øø:Ãù½ÉÓØaáЄ•_èßx-“ñÔ„-D"zð7õÖ&¯Ü›®_»4“FHæ¿rKôxq“ÛÛá„ÅÊu÷©ó$Ÿ;çÓ”åËöËd>žJq1=Ï‚¹‰î†5½~Ã.>pì±ì%=Åó¿¶ÙúõžÄ½ÕD¤\òﱿIDÔúw£~ûEŽÈuîºÄY£Ðí„»sçÎíÛ·ÛÚÚÚÚÚAàyþÆjµzØÈßþö·_ýêW¿øÅCä¿H\šùû63èñvûöíüã¿ùÍo'òŽð_Ù¹\/ÝqÏŒ„ýg; òû`_£±^ºP¯œ:Y.â¾H^•9qÇîÁž°‹ ?d+üñãÆOê/^ÿþwþ#‰Z¿-­äPàȾؿ63Ý1`“4GŽÀðÏO\.7ëK®ïï?’š¿¬äˆ}Ö‰û®ýÍ–kgs~\Ý|‹ˆUNY¡õ•Ð÷eïÿG®E1¶Ìx¡þ&±Þ¡«VLûµs¯ 5•Ì1–Zn:¹zÏžFŸ¨fg®Kœ7ŠZþ^b<ôq¥…»åÄŽ¶$bÞs#Q~RkK«óçþ^€ÿÒ˜˜zl7ÂðÈÂ?~Í¡}<î¤ÓâwOC`èú£f’±Þ,]/©o!ú¶¢¬™”Fud9-_³OWsÊÐÕ«—Lh­¿˜“[ö=‘³“YŠÎßš²4b¦Ò‰«>q¨ôû>þ¾ì`n©åæ³SFÌSTUß"""j©8˜qôËoŸ·:fÕ4×ëŸ9–†G—üýTúÖ첎阭ߖìÑïþøÛVD5?¡Qª ,ÕŸ¿ö}Sui3)UÞ#:ÞqR­~ë­?FN7Ί»Qó5®£Ãêâú;_ÿÙ³Ç95Õ7·öºp«¥ô:‘Ë‹ÚPµ¯ÿ¼¥AÏ:ÖK-u+o‘‹ÿ¼)ãÜŸ›={‚Ó­ëç¯#Ay„œ½àõÙtjwvYSkë·%9»?sY¸jÞ( ŸÀOðcî?1Jåír±ìbeYÓw¤\âÍ^?ÕñÖͺÏ®´p·z~Š}–u&"Á:õ³p Çщãîà®,ÑwDD­GD7K3K;m®ãZýG¢?üèH~¹š²wg¼_ÔzK±4f™/&ÜÀàç'䤘âëRZúñÇDŠ%Þ,]oýûʃ‡¾´¸¼¸âß—ú:_Û³you×OuË$¸^vf]ˆ¨¥‰#EÔòmÇÍ÷Î,ëDäôâŠÕAí—èœXÉÉPHQœO]tš:É üt?ê©mÎΊ)Þ.ÄÝ"Åï®ÝÒ–[DD·Zš-e§N×Ý"jù¶þÛ–>ÖÒë¤P)‰n~yâÄW”:øYÇ}÷#ܧx;ÑÍê‹×›Z¸ºó÷ì9XÖ„â)Šÿ<$'ðó"g…ÚÛ…º§'#ýC§*]nVÊÈ9ï4ûõбN·®=TÚÜë*ØÞ¾å±äÅg,åžúÖ{¦¢cñ¾KW‡N`ëNìÍØ}¨¬E1mžú×>x¬<Ðï3’Ö–ï[häÈDßÿ÷ûÿqÈ¢XøïTãýã¿ÏýÀ¯w!ìˆ<"°#òˆü ‡}ˆpj;ÔòuvêÞÊ›Š©+ú¶\üØBôì‹ãœ< †\~2â¹¥‘3s%r2.“ëØ)K§B9 ?y4ʸy¯¯Ÿ‡¢xâ`V ?@~ÈOŸò€{°ç þùç<éÓ§#0@?ä'÷z°ù]˜«?ŒŸòä'€üàñôôÓO·µµ!W[[ÛÓO?È#ìˆ<"°#ò0haG~ð˜‹Å7oÞ¼}û6Bñ°Ü¾}›çy±XŒÈ#ìˆ<"°#ò0ha"œP`?˲O=õÇq¸Òó°<ýôÓ,ËÞ·EävDvDb؇ˆ§xžG™Á#qçÎÛ·o·µµµµµ ‚Àóü7Ôj5"ðÄÂü.@~p/§Ï?ÿQ€!‘ŸLŸ>Q€G¢×ûO€'æwòä'€üù ?@~ÈOŸòä'€üù <ΜdáÖ¯÷$î­îü×ÅUé=eæ¼i¾燱+-é›rêŸ MX?M‚‚xý˜ñ“gU3çÎ9õEÕy:gëîóß¶"ð“9ýˆ(T³gs&¢yAg3¶ž®?e¬|ñ ÿ‘ÔríìAãgÕßݼåä:a^ÄÒiŠoúŒ‹Ü؈Íoø j½–½iw¥Ó‹«7-S6—=xª¬¾ù±Ê) #´¾Ý†LZ®=xâ³JËM"'×±ªyÚPÿQέu7g”’÷LÿÖÒ‹×9rQLYºJë;’ˆ¾¯8ž{¢ôzóMrQ¼±ôw£œ[¿Þ³io5;u®²òô—lÄæXÿ(oèÇqV«ÕÉå—#%£º½UW]Þíwo¿±LCý5¾åŸ]_=f¬Ë/ŸîËü£ñ›ÿgû¶ë+ÿK:êWn£‡û27ÿùÃ77®w}E4â—2帡¼ÌC¬®Cmœ>85púàôÁé3˜Ë;‚è&÷GÏIˆnqßrD.®lû¾Þjþ¶…Æ9Ó-®é&‘ ;Âyij#ˆn*Bc"¼Û»–N.®#¨þ¡¤`Ð'Éï"WSöîŒ÷‹Zo)–Æ,ó9ŒÆUö›_¶´ 9èÊ1¯¤¥¥eжø#î?¹e)ùøÔ©SÆ»¶nÿì;r»0ô¹4rÜ%Qó—%ךZš®åîÉ>QÝBD4Êʳĕž¸ÈѳӦŒ""gÅ–nÕ_üò[޳”÷ìÉ=ÿÝ­®ý^ÿiJ¢ïN¾\ù7»@DÏÈ&¨B—¿¶húh¥zoúyáßm¬{eqµ'ÆÄ†7Çó… òtM§¼µã†ÿ†¿lz‰);”¹þ¯®6ØÉ8ÿW—DeäÌÙµ~}ÜzIþöp÷Þûü²WÞŽ{IÂ`·5×a:qÈðæ¡ûJiîŽ_xï}ÃŒŸ±híROé3dûúì±³Þ>wfÉ{~ëñãZ`uûþõ×â ¶LB¦ÈOžÜ0ˆ¸âm[Ì’eÚ4½9;j}žõ¹9Ë_ uwêÌ'>Øü¯½²ýO[Þ®{ýÝMÍÊyUÖÛ Ä^˜ô[Iû?³g‡¯*~÷›¼½ÙÓøÞœŸs¥é£w7ûFöÊ{{Öw¦"³^}å¦?l<¤Ïz)'Î÷ñDiªùªAx5ŸÀc¨á“˜Û—¾üÎŠÊØqàle³@ÄHž›ºüµ¸¥/ˆ‰ˆ/]¼±þ•MQt,ãØWM1²€EëuQS$=6síÈÞ¯H2oÓÚnã$’©ë¶ÿyÙ3ž»Ú×¶„öKðü0=ûÒ7=£|iõ;ëž«ÚªÏøäºœe“—mÚ¼Ô‡½ÿ^õ}8_m ^uÉ;1ôaÆ1sƒHò\èÚ„¸Ù£‰ˆH¨ÿx_ÆÞ/×ÿ@ä,™ ‰Z;Ç‹¡»û–äóÑÎìó³‰Çψڬ u§²Mao}ò­Ÿ9‡™öÎÉÿ£²_<¸m×± Wš‰ˆ‘Œ4ﵸ7U’^‹†!û׿wàrC+1£ý—Änê\’ûêÈÖ}yŸÝ$‰3é•Õo·¿e?û‡E›…è÷敼»ã+zåý¿®žésaxüàùÂ0¨ìUŸ\OÅS8—}žæl\*lsã®/\*9±cý›{#7ÏŸ?p U6_¾ôÍWÊŒy–„š.~ÕDÄÃÐe>$¼šôçlÝ$)QÝÁ·¢Ò/0¯¼“sÔø§w–2v¬óƒÃ5K?Â,ùsÁSáŸbܿʋÛ|ÂÚcÖ¯/4xÊì^î¦`ÇøxIÚ³“¾·Åˆ†~¸°ýCZþ~Qñ‰ÿ\7®áÛÐ_žœp´øÌÉŒ—éÒþÍÇnÐ}÷ª¿Ãqfj8–~„^Ý^pÆôÙ_âÆ_;‘d8k#"júXÿzÒ±z¯×¶ççü5;icz7jã+ÑÝ}ÛWÿrÒÑâ3EÆM“¬ç¶mú¨ÿ yoÞ3D/l29ºYÅØ>Þ·¿Ê}Ùöüœ¿æÿé士l\ÿa%ÕT²mïßfmÜþŸùï½ý•Ðgü@DÄ_ËúÃúŒÏ™9›ÿôׂ¿üyíóõ6¾ùÞÿ:¾î£ŒÏÇÆd¼ÿÞòqL¿ ò€Ÿ¢¹ÁJ² £©î«æ¹Yîßœ¹t÷¾Ë†ÏÏ5Égx27.[ŸQÊíWšÚ¹zJ‰ì7ì<‘ˆˆÈîþZÜR•×1 e{]¥â6/ä5Z"7iùÛq¨þƒCW;¡X2#n•JƱãBßZ&£¯|Þ½Ã-خىd$ýèÜ[âé¯-ú­„ˆQ¾ôŠ'‘}5æå1 ‘ø·/Ï’QÃÅvê¯p8âyqoªd""ј9K_`èÚe«@tãÈ®A¶ä½Í/û»–y©Â7ëü…¯²^ë ²ø·Ñ1ÓÇ0DŒ\µhú3t¥´ž'‰% Cä,–ˆÅ"¬_Õ“³ÿ+³ýÝGËÜÇMZš°'ûý·§¸öçÐͺ9¿§taÎK<釪ÊoˆÈ~iß‘zçI›7EM'“Žñy9ö%® Çö_°u~æl\=ë·Ï{Ê™û/ ?¯ÑcÆŽ3ù <¾j%"¢V\•]§éHÇüØß'nx"ºûaåô±³°¾©ªù”ê.ø’øLMökW;Ƹ«”£"²qJ†þç›î©ãØóþÝ[² Oúb1C’ñ¿éØOFÂÙèÜD{5€ÃÿüÝûvÄb†A ²]+k ÉõÝ·¤ÏÏOM_|Ýù<4Ùä1dÄ1ÑBfÜgL•´ž{kãö.Tܰ#ñzÞSÞG±I^ðï,_ÆUL$Ø„ú‹×7gBçD9F9ý1]»P×±=ñóÀÂðórùå3.¿¼{Ðpÿ *W¥Ü¹éâ74]¥vŸ½â·yIUÜ¡2;‘D·y¶øŠ¡J%o.«k•,ðC{ùoÊšˆäã:Þ‘a;>Ê Mv"¹k×U1rg¢ìý[FÚõ‹—éèÑßÛ/—Ž“5|ñðjß{5€m‘¨·¼§7½ïÕÙ D$4Û‰šŽý1èX·â†ïóƒ½`Uoç¼ïóÁ¡3ŸìÞx¨•ÈÕÿ•踵eïŸezý[°Ù‰š7‡ÌÙ|ïÒ w‹äf@ ã©Îä'DDuÕå„§x ±Ï¼qö­Ë(!ò¥ÝëßIŸ•“°½h™Ý&ˆ¥b²¿ûoçè¥w&Ù>z³aôœ)£¸Rû]¶“ç¼z¹gZÄHÄDÜ=SÅk+Ñ3âŽ+ò×åÙþ‚`·wIo:I_˜$£¼‹–q/Lb»¥%×NìýZ¹t¶¿´ßmÙ,R½ïÕ§À»Š‰$ó6½·|Ì=ÇÆ<#{ЧKŸ}+)ô-l×.Ÿ:°m×»oÚ%G7¿0ð\A,¹Æe%øßIFÖK˜ú]ÃüäóÏ?G`ðH^zmήõÛv]ÿÏuïE޵QûúÔW^ž4ž®”ž8VÒ0~Éöµ®gãNÙ'¾½È}`k´šÞÝtÎ.ž5¯×|f´¿×3ôII•íUYûœ¨¦ª/¾!É<ŸÎü¤²´žW9n|¬¥W‰”{’ŒY´ê…#[J6¿cÚó4]|ÜtaËÆmŸPèôÙþÒ~·õ ùIï{åzßÃé;nªŒ²ê~¸éÈâ„&k3#—<Є½®ôrë¤éãÄDŒtÜÔå:áóE›k®5Ñ ²®ƒ‘MË»~•F‡vþÄ ÷MƒàÚ[¦ô@ ÀãŸLŸ>Q€GâÎ;·oßnkkkkkçù7n ,OÑ 1›gÿ1ÖK¶¼—‘ãê@Þ©ò>ù‘Žõ_û^äKÏ\Ø´>«.àí|M_µW~uY.aˆ{Sýÿœ;q¨¤žy.*#¶û°FG×gÕ2ÏO2·½sPü†Æ“µW}˜¹­’|Ö-õ9¦6 çÞÝñ\Üò$Â×G¶k¢ç¢zº‘¼üö;•\ìÝ]øñ¢¥ù3dûúìÁ/Ô“ÿÚí1¾ õ·­ÕÇ^Ýÿpz7fÎ꼤·;Ǽú¼Œ±W}²ïÝ]_ynÈÙþrÿêe1CtýÂ¥kwWI݇ï¾ý•Ï2]ÔËÏK¡©â£¼J’¼òÜ=íW<ùµEÊË{[¯Ü¸lêx±P÷Õ‘÷ '„yÎ_ã#úI ÀcŸ 0ØÄ¿Õýù]zëíõ ?Ÿ¹êå¨w_“IÁz­ìóSµWQ@\VÒyŸo8öîúŽ›(Éoü_‰[õ²?¿Ìèþêö,&cÇ‘û"Föœ Šyùn"ž)þhsØ» 1²€ð ][—LZÿ—¿Nù0ëƒSgvŽ=£œ8;nã²P_É·õQêk¯~ì&$³öоm{Óß<ô‰e/ÌÚ°=êåûgÊW—M=e8ñö¿™¨ûëŸþ¼.sÛ†7´I~3iÉÛï¼ñüƒÝ"õ—÷%[3óÞþ· ˆqõœ¼ä½õ¯õžo<ÐÂðð}sã:¹=ÿÜàlî)žçtx$z?Q«ÕdgÌf3áþ€A&XKOì=”wꫦ»]ò±³–/‹\¨´®'ÿÕÆàõe/½tãóCèV롹Wð„rܦ08›Ãø <"Œ\µh£jÑF²Ûn4ØH,-cÑxÂ!? ÂÈ À£%–Žñ”" €üžp¢Þ1Á^ øýx*0~}=f,ò\~ùÌ`nó»`¨@~@DTW]îx¶7 ?@~@DDO?ý4‚ÐÓíÛmO!?d#FŒ "þæ? €N7ÿùÃ+UÿøîïÈO•B¡ ¢æo­@gròÝßëˆh”›Û mÏ "bYö7cÆ<åÂv}ñßü?Û·]_ù_ÒQ¿rýs,sóŸ?|sãz×WD#~)SŽîËQϸ{û=Ë4Ô_ã[îp=fl·'0µe³JãôybOŸáxjàôÁ©Ó§ÿeär9˲ÈOÛèQ£ZÛîüS¸u«í΄žl¿øÅ/Äb±B¡Ì䄈žâyчGâÎ;·oßnkkkkkçù7n¨ÕjDàÉÍ‹@~€üŸ ?ä'ÈOù ò@~€üŸ ?ä'ÈOà‰á„ÀðÕÜÜŒ /®®®ÈOàI¬Ü0ì`~ ?@~ÈOŸòä'€üù ?@~ÈOŸÀãÌ !€ŸÏS{èÏ×ïùã'0T ?€¡ó»`0t›ÆO¸¾&þ!?€'ˆ ÍÍÍ7oÞD4~V...®®®nnnD Š:ëÃ0ý/‰üž ääúõë#GŽ;vìˆ#ŸUKKKssóõë׉žC@g};vlÿ) òxR466Ž9R¡P ƒ`Ĉ=3êCcccÿ÷ÇÀ“¢¹¹ÙÕÕqLÝŽ"@}hnnîä'ð¤¸yó&æ ²nG >Ü÷¾#ä'0T ?ä'ÈOù ÀpÂךŒyyFS5‡X rà‹‹kyÄù té%×d%ë·mÓÇo3÷“ 4DªT]q¯‹Xò´ùÞž6WYÈõè’¦F‡hT*•J¥ÑÆL–¡Ü?o,.(nüùVo3g¬Y43<ÙX~Ÿp¦HU'MHt²±üÁrI¾Ú’Zý€±æË“5ªî4ÉåßWB‚“Ëùûw½p£e {S¬Óhó,ö\©-,¬~X5ù Àg9—oSÏWTä›Ê ‹Å¸&<¥Â+&óÌ•þ×™ôH©)~eJñ¶i4çdYæJ¨9©_9'$6½ÿTq;QZZZZúY^ .+:<Õü³ÇMä—l*----=“äÅx%)----5%û‰zY–Õ¤¦³÷[%#ž‘ù_¥]äiú–¢Àä‚lí#ýÅK¾6/+¿æaÅ¿ð£Õåqê䨀¬•ùÅš`7""¾<{M|V5I¾/¡£gLŒM/X/M€Ð½wWž•Uî—tBçø¼È/$9“5–K‰ˆ¸ò¼ää,³]D$ÕĤ&„xØòÂW–1&sM­M™f3æ›kªm±™iZk¶6Ú¬™Aæ ‹ÕF1é©! ¢Æâô zcµ@Äx„èÒt7Þ¬ 5(VxÕÕÔZmlPj¦.€¥ÆbÃ}Q­À“80ʤõq…‘!ùšHE‰©ÖRkSDîÜFYkRÌV!v—œgа?o€­%9ñ¡Fß…º„Øï~·Å*à ™‚6ÜP™®àʳ“ókì<‰ýÂ’S#ýX¾86Ø ñ®1WÛlvÅü´´X?ænÎÕ-Djkjh¼v‘u4D.Ê9’§u»ïsfCtbQ¹UÏOÍLÖˆL±Áùa…ÙÁdNO6VsD$ Ô’B“À¥Ÿ¼»Ká¤XW`2™ ó"“i@÷×ô ¾WÈ 28öª±¤Àâ¡UK»,n-±ÌßoÊ ÷¨Í×,ó3 M…¦ýáö¬ø¬j"‘­Äì•™gYëvï^1^Ú@7"²˜‹¬aŽ!EÐB›©ÂÒõ}‘ÜKÌ·Wf¹&Ä[DÄ*b¹:ЃˆX…œálY‹Lœ:j¾‡ˆHä§ÕJ;#±oHKDŒÜƒízŒ æwtÁú®ˆY(¯ˆ[IQ‰ˆÄAŽó'ˆ¤âŽ=“²ÄÙx"b¦=›uù“ˆïè ·¿$‹È.¼M{µo]ÄÊ¡†ˆ%#µoQ$""Þf³×e,Òd3DD‚ HŽ®§ˆe†FÙHÕ+bç÷{§…½–#V*âl6[ÉÊà¢öC±³Gî&Vt”‚˜!ÁÞѳî5D¢mm¬á½„‚¹6i@éIŸÁr NK·§g"·­ùÎIN¸w~#ž‘Yh¸·p½¬Oä¥U ÉEÖEõÑZï…nD5]jo{Ù în5`ܤŒ`ˆˆ¶³ºtlJÄtÖÇ®’@Eê¼¥ ïX9>ÈJEd»Ï6Npä:vÏ(†•²vKûÖyÎ*Üí¹ÞÛó•JÅ^qyyá]Î:$ …qŠIŒ ¸OŽÀW‹l^Q¾bÖ$•‡í<¢ë:JÁ›‰:ãÀÙ8bÄïö" q´Ñl¦m‚ÛO=ÖO›˜®M¤F³!Z—\¤î¨9Hä¥UÛ“M5^æZ…nYé½Ä V0wT¡Ñ&°žRˆX©xFâ½i_ý³6æwüœ9ß, ¹Ûay„¨íEÆjÆ[#·ž4ÕòDœ9ÿœM "‘»ÆÃf:YÃqåFc]·ûOD~Q15úØä‚òFžøÆò‚äè”^Á’Bä".ÉÈ(QÌWÿÄô„/OŒÍ«å‰ÈÍÝë'­Lä¥U Y95Žô¤÷$; H^›_PËñ–¢üZyPÀxÀ—\ÈVä™,DDņDC_”c†ø‡V!0~ÐG¯KÎÙI,—ö¼öÜhÊ.WÌOPtí6†¨…øüš]rXI|øÌ,Ö#0,È©å‰Ü‚bŠâf¶õ IDAT£g°r¿ù!¾b“ÀuÉ4ÜBÒò˜ }FôœHì5#2}¤K䛕œ®1‰<‚RCÜè¾?t!öó­ÖkCÊ­œT“È&æ'&/ÒpD¬·6u‹†íõ¢»[ð–ÔŠ ‰Á®}k"êµC*×J£×GÆåe‡{üŒ Ÿ“  TôwÓµP·­}†#õÕ¬ÈÌ÷‰Ò´‰‰!ŽH¤ŒIuddŒ<€5Æjk­ä•¦õ j `{ ‘GVœ±ÍmËOMOHä©•ÆGÏÌà†‘D¥Ý»FÇý']_Qïü,µÏ%À¶ò¤÷–~260ƒ®61:8‹'‘"Pgó zàŸHyǤE¥$®Ôèy"i@T²Ûשm)¡ÁæÌÝç¨ýOñ<~œ;wîܾ}»­­­­­Mžçoܸ¡V«ø™˜Í怀€Çû-yÚpsbáCè%>4Oíéøê}€EÐX˜¸¡D£ ñ{˜ãͺàÔ€¸ºº"? "rssûþûï- .á‚––‹Åòý÷ߣ k}pssëIüþ <)†;vlccãõë×oÞ¼‰€ü¬\\\\]]ÇŽKPp·>0 ƒüànÿX¡P( „ECæwÀPñ OíA àþ0~ÈOî…ù]ð3ºó:bã'€üù ?@~ÈOŸÀ“­6[«R©T:×ñJzˆJl¨æ‡õqñÕ©Áª^„d×¢Ð)®Ü˜è(ŽÀàp]¶¹½êñµÙyÅý}¸Ñœ—]0Ì«æ0i–Ÿ´‹);»Ðò(›€»ÕÉ’§U©T‘… wh7Ε¦H•J¥Í³<ú}4'jTªàÔ~›´W]Ù¢RêÌC°ñr«Jkâ伯i5dà÷Oà1&œÓ§—«ýDˉ¤Á1q ›@\1§ÈJîócB<ˆ©ZŠÒ~”Ù‰)1Z_"¸Å$¨¥TkÊÊ9—›(?‘ìÆ™Óõæ m [_ÕÐR”º-C”4?Ä[„Pñ.h¶>㨗WX°âU×ê$Õ$¦)8©/‹‚Ú³Ò7 -ÍÆz ‡FzíÕ0i“Íy&;I¥d+É/æ4Áì@ÏkœVCÆOà±ÅÈ¥d;ª7Ööh¹Ê³uZJ¥R©‚#SM"â‹u*•6½À©Q©TšHCq­)5ÜñwzÇ¥ðFSz¬ãƒšðä‚ÚGpÍÈ- $<2222j¾‰½µa‘‘‘óYcÄÌÎ1¾Ú¬RÆšlÕ©Á*•F—mˆ T©TšÈTSãP9Ç«Ûj1×D± ‘Úm¬aZRRj¤7kÉÓÎ\sN ûÉ•ÿl¨æyKaj¤ã"«F«Ë+çˆ7ëC·ÕÕ¤ÌQEš¬…]®´Þs±ÓbJnŸÑhuÙ帺÷ðJ¯{¡5wœ"ªÀØôâFâL‘ÿqÔFT²æ_º_1æÊóÃۗŽN-´ðÔqA} '`{dÈK q\½íÙLu«NVSj||¼ÁÑ:ñ–BCG o?ŒŽf­0;6$P¥RGw¶e08sdxˆ7UâããSM¶ö*œ\¬R©µÉ…µæìèö¿;jgÎÖ…ªTª@­.¯º[‰µ_ßw p¦èŽƒs´†ìÄpJ¥ Ñå9†I8szt°J¥RGgsB?߃ÝÛ«Þ÷„«ÎÓµWh}‰MªéI~‰À̈K˜/&s¾©ñžÓ½ýDÑhuÙf®ûymëzZui4ÚØtǸRß§Ziä'ÁªcV¸SM†¡°ñÞ†K›qÎê—¹?)ˆ¯8ŸRØH$""ª3I›ÀØ+ò×DgSXrœZl¯ÈI-°Qmvt|N‰”¶R ídJlÆ™’㦉T3d-(¶YKL6bÔab‘ý\––—ã+TMÔsCø@†+‘Bí+&2ÇGƦfMæZV¢ ð)‚R“Ô £NÈܹÂÃfŒßp´‚Y˜¶ç EݹmñYÕä«K[!'"÷iû“Ä}}ÛšRâšYmÚþý™Iá\VrÊìá°ô,žøòm‰9%‚fKæþý[´¬9'%ÃL [æK‰È7.s¿ÎWÔu±+·Y¼b¶ìLK"óÑ + å<у€íMP>§‰KŠôã{i¦ºU'¦KŽeÖ¯Üof‚ÒvnYáQ{nÛÊøKç:³j5ºÔ8µØfÎIîy½³­ "[Qv­&!!H*ÔÜ™Z”$êNêsªy¢Æ‚øèŒs¶€„ýûÓ´tn[´~€9¥£° ̾ºìÜ-óYë¹m‰ùµÄ›õº³Í}aÒΤù¶¢¡ŸïÁnŒëmOøê¬ømç¬lPÂÎÔ0¦¨È6$ÃÜXœ_"ˆ5áuX”*Œ%í}¾:#zÃQ33?)--.Àv.#6±Ø£¯óš¯M^“SbˆKÛ™`/ÉY]K}žVh¥‘Ÿ ”GXâ|©P¢Ï07Þm&X¯¨ÌÜÜ#iá~AÚ†¨¶ÂÖþ.¢ÑF©"òŠŒ Ñh£4b"[…§Z“±ŽÈ7*Jãç³Â¬E'‡ÈȦf¨îd‰…Èb.²’XÐ1<í«ñö‹R3$˜OÖòCø@†m*˜š½%l†—­äh†>>zÑLUp¤ÁÔHäæá!eˆ©—¯·›HªIÍÍ=²_§ñ ÔÎw'²•[‘Â˃%"‘‡¯ŸGßS x""K¹ÆB~1GJ‹:L{8z+"ˆlµæj ç±bqiarËz{{0DÄzøzwße1åUyÅ&Dj´º5C¶¢üþG€~ºT]xˆFáÖ[3uouêR;*òŠl$JLÐjƒc¢äDæüŽ>ã§Ói5mL”Èf¶à\Ô¼"c´šù+‚¤D¤ˆŒÓjB¢æË‰l56KòÍDîaQ!~~š¨(_²›òj^dÒ m€‡wpT˜;Q]‘ÙRSh¶ÄƆ†$Äôû=xOãzÝkI±•È+*N¬Ó‰‡dzR’o&q@”ãXZJùçCÒµÆ"«#MxræÎ´Ô0iç5_›w²Ž( !9\¨ Oˆñ"ª3tä÷½œVh¥.Ü1† ˆ‰Sm8™œ£Öt¶:¶ò|}FQÅÝéÎÆŸ•J"bX†ˆéø[DÄ“@Ôl9—_ADçâkÅ–WdÑF*ÈfµÝë¨ñ&"ªí}5÷,L¬TÎP gí¸šÙó´B+üà¸ëbrmËßV,v Ë6š’SNVˆƒÒÎ$iDæØà5%]{™ýt@Y)‘Ý+nª¦½Á"F:TÚ‘WXôäQ£éœ¨†¤óüD_7‚ÕÂQ€ˆ›ÍN$–²Cû@†¥Æâ쬓5lXB¬ëæéN¦s*jkmÔ%?á«ÓsJl^q¹™áÞ¶lí¢Œº^ ’ˆHpô„F›½£NŠr?©\Jdkq6«@$•KEí ™¨—«Th¥&Ìï‚LJ6a¡”l×Gˆˆç¬5…YYåWWSkÀz4!îD5Æ¢j«­ÖdˆŽÏª:·¿‰¼ÃçË©"#Ý,Hƒ´]šÎš }ž©¸ =½„ˆ ò íŽD¢ÚsEE9Ñ‘:Cv^^vzr¼¾‚Hª1ŒˆÈ^^d2×ýCà‰ˆ·Ù,ÅyéF+Ù*Ê-¼ˆaˆÈRTT\ÞxGî%%²žÌ2õYåw{ÑZ•*$¹ ÂF¬TÁ2íWãáÁ».ùÙwÍ6¡×B©5Fª4º<³»)Ä +eEÄ0 Õw½iY¡ ÷%ªKOÉ.,6õ†ä!a^¢ŸtöÚLq]ªSm—ˆüƒ¤d/JÕ‹‹ ÓõùVbÔ+Ôn(ïaxEM­ ²”[mµ%Yñѱ†’{j‡ÔÃ!ªÉÎ*,6eò»]ä°é3 ŠMÙ£•È}¾ŸÂ#(€!2 Ŧ<}FÅÀ+˜¨×=‘«ÕR¢š,½ÑT\ OuÜÏ2¤¦ Öëˆ X¡ Öh4&X(&k‘±šy…I‰JÒÓ ŠMÆäø”mÛŠlÔÇy-òÐÎw'2ë“óLŦl½¡†È+LëÑϵ´ÒÈO¨÷è›0£³™pÓèþÿöî?¬‰;ßø‡™X3©(°í Ýnè^ÁÞ¶klûDÝr¯È} Öò +-JA¨(®\¼r`EQ”KÕò¸¹©E¸á„»"OËÆVáœ-ô¹ g·pªÄ_¡h"6t&îD BݪP߯Ä™ÌÌwæûMò}Ïw&ÄrÚ¹nó &ñÃm Yáë»j'ð{ïk?Ü»z¡P¹ýu)Å3_KL|m2u¢W+IàH±"zô¥ZÌÂÕçv¥ìôÁ[~8GˆO韖Ïãf9x2‡ÃáçùK—.-Z´Gæá\?õÎo¶­Lÿ—Jçg(ÿí¾ÿº¦ÌºäÐûâ €Ç o@xŒ¬k_ßÜvçó`ŠÃý'?ƒhòuã¹³•û¾&fÉ{‘øräxrøŽ?ünç9 \µwÛk¸Ó¦2\ßO ®ï€{àþx@>@>ää@>@>ää˜ê@>ää˜zðüø9è7_·|vŒûêŒÃbÆÑx"<¼¼ÙÅKdo­ñ”ÏD>€§:œ\LZ?È îb±hæ,'b°¿ßÚPÏ}ufîÁ:¢àú.˜ò,Ÿä‰ÄÍçߟ7OO‰dðö-Ë1ýC¯ù¦<îÌŸÜÅb‡ÉÀsg¿B>€§—£÷FN& 7OÏ¿ç ä˜,OùùOO`*À¯°ÁÏýOŸý{þõ{§Šüþ9zóȶʙ®Ÿóô^:Ëã±ì#ß±'zmµ -®É ùi~ëÝjXy@£;§ü¥hÙº<ùŒpïdõöš#òG·ïÆÓ æ°ˆé¤iq÷F¦Ö$ddD>|­§×G–jËŽÇ*Æ{a[­ÑFŠÑúGífÛžètsNÍî)úxÞxºä@i]óEŽˆXß`mBjRD tJ”ÝÜTÕ¢ŒZªøi*ÔT›¶>¯YÎÐÔšªýü&C•Q&ŸØ;)2[^\¹%O°€Gjz¨ÿ'Û$—oSsýè©Û}c- ‘ì<:»'çÂÁ¶A—óEþÏ.›w«þK»}BÛ÷PGÎZÉú¸‘­§ï«ã×>ýœï› ‡îGî)ò ÀwÏ’·þó""ÇŸ+Ûó§ÏÿìYæ‘oÔqþkSµrÆcÊ'ÖÖO lx8ôÍÖÍë`‰Cv7žuö\s#MY§>†²ðƪ½ç9ð}Çå|Cïw<‘‡çË/+3_~æÒWÿ‘u~Ànü[üeå‘|öQÇ!s“¾I«K`LñzƒYã«0ׯGëƒc;›f³IP%äçÄJ‰L§÷dÕurDŒohBNNl ˜F¦Zˆ™š”“èìJ4íÙ˜ÖÐÞͱÁoçço’’µ­<7·´ÕBÄÈ‚c³²â‚Ƽ±¶ ·Ä`$†ˆ ŽËÊŠ ’òM[#÷Hã4Ö¦ÖÎN“T“‘ÜZZÝb4Z¤áùÅ›B¤.Š$&sÓGÙ{ªÛ-‘L“•¿!„«JO®èæhýª¶Œ#»—Ê'eS+4±ZßêæN )ˆ7Öd—L« ß’³)LNCǵ¹{hbþœˆ7Õæ¥,Œ¯2$"X "2•¿¹º*jø¬8ß–nͪÜæ¬¾ã£Äô3¡yõ›­ùº,U»>{¾ÝÂ1*í¦¬-š»Ï¥»X?‘Ë*6êWÅ´1²Öf£ÙlaBRwoP>°Š•í[£³Åù•9ÎÜh®Š.×êŽÇM–¾¿µù@I§zgeÖP›‘Fl)T¨›ˆå‰ÄÖŽª‚¼Ò&‘B“”“¡¤ñZ,ß”¶|<&ÄÔÜi6›8åÊœü !R"kËýµ`Ò¿¹Ú•¤44tšL&R%ìÏUЉL†¹ê:9"V©MÊI]ª Ž=Ñ鿏X±¡¡Ãd²0aûs4æÜø­µGǯ,<¼éN”pY¡Fý›ë›"Â}%éŽD±÷¶´PcîúìVAhM^}!vQ¯þNû5.Æ«ò²K F ±*mRNF„²ûîÕÒ}%»jÕŒaëú¢N ¥¯6%<ër)³aOzn‰‘)ÔZ-'_VðXÙmöoN}ßÕëQ´mvÔ)ã± ƒÓ½’Sd ¼Ýì4påÌõý¥Ök£^ÿ\ûb¿ÑŒ„üŠ|ÌyY½ÂbŸä8i3hì­Ç¿?xŠÝ•ùÏX÷†û¿î½xøK‘ÝþÍ ÓŽžjÛ MòN{WèMDƒ½m–âz;mžK÷¬ø¶÷œéóüE^½ÖÃÇí¯®šàã)é¹¹'çZ»Í3¢8 ¢ãf×<‰¿ÄÝK$Ôï»z¬m€¼$k7û¼>ψ„îØÞžÆ+ðûkmÏ3 ü=}|ܺŽ_Ý}âv¹ù½q_™%’‡gßø#ç2}–—‡ÄÆÎù¾=hôžÞèz„÷ŸÀSbெ®£?xïþíKÿüî/ÿÇÛ‡ÿÇt©ŸÈ“ì7¬Ü‚ùûã^ü§ÀþêZ…>0îÅRÞþ´Ù*ÐÀ_¿8È*ßýίþïoçýªûJÎ7·‰¿¹ïôMï×_ü—¿úlû·³—jpþUå:o·ùš_è}8!2>5ªã´ …&.ØTÑ`šÌ0ÂÅne¾Nw¼²8ÊT”]m$²öä5ȶT666Ö䇴åU›ˆÈ¨OËkמj<{ª8¢»(³¤ƒ'"¡»©=,ëD}ã©â0ã§E3Y› ÒK¸Ø#5õõõº âòô\ƒuÜâK·´çWÖŸiqÓD4h'wÿ·Ú]S“¯þ«—WZœGEV׆䫭sfÄ»‘`w÷ v¯ßÙ•šx!÷KQTŠ\%òxm³bY¶­ý.~M×áË’ÄÍ^~"ˆ˜y,U^ÉH¾úðæLµ„Dó\—YyϹ]œÖµ!ñr=3cÍrñè=íz´(È'ðtè¿Õ`tüâå™Ïy‘Ç‹ ä³­Ö?÷‰¤Ò¥ÞîDî³}=EÒg_–¹¹ËfЍÏÎ9—Z({ΓH̾óÖ/÷/˜FbïÜßþ2óy±¾3æ{ØÏÛ뾫ʭa ¡R"ip‚ÆZ^ÞÁÏ’iWª¥D$V††É.:Ì$Õä×TæhäD$UkÔŒ¹ÓÌ“©©¶[¹2ÏøM{5Úk¬WíDäøæ”Íæ/ ”Ùˆ.ßüâÂÙ®ð6òô‘< ÌŸs׈Ènïèøxˆ_}àú.xJ8nðÄN>‹!±äèá¹Âyxz:;0"Ï‘¥ÜXñ襈Èþÿþ|ùØù[–~bh𲃴÷Dp›¾îb·%ñõºá)lE{’óì'Ã*¤ÎΫXª`©‰ˆÌ­ÕE¥µV""î¢ „ñV#'0òᾚX*%"ˆaä⡾¯óÁl¸öôÈeΗ Gj+7 †a†þfF–º¯Hdm«+*©n3;w,<‰ØÈý'VÃÖè\!ÇИ!oçÈÃGì>¥G–l·¿w0ÞÝÆœ¿¸¿ÿÖ/–<ëNüͬO.>Öý°¶ê lRÙÉ‘ëúMåññúfkˆ†ˆÎdåI!ê HYÖjÈÎÔ3Ûuº¥ 1Y›Ò"s‰H,U²Ôbî»ZMFŽU²®>¯å2V^Xùcîòv®Ü<¼rÁl!FÍqXêî"ùš Ò‹L :]¬RL|[nd²y*´4©fS’ruAQSXN˜”ˆU°LhVåþ°Ñ÷í?Z•×¢=|d”Ȩ_µºˆ)ËÜðwg1ý) Ž ²«ÛµÔÄh÷y3#—1ÃIЙ!¹|t­º\ÿUl$¬–áêàÌ#»Óq«ŠI«¬¨hêêL÷^Jõ¤‰•Z5“YÑ`Zu§×ln:Pԩ͈aå¬`ä„¡àÍY¬Ä*¥ê'sfnäxZ‰UHÙñjat›W°Œ*©Lw×oÝñ îNÑ`îªÈÒ´û[Ú¸î: ¼ÙØ-ø*Ç-9?zà¶ÆØß6)+˜†·Å™-)àñ›êµ€nmsØ}úmBß/Õ;j¶D2Ôù·¹šKÿ²Ý.÷¤&÷^cC¶o­˜™+B=ÿíóþáin~ËgÇHzvôÛˆN;n^>d·Û&T|w‘÷p‡Fâ!"‡í–£Wp’Á¡‰‚£×æúÇÇ\—yx—Ÿ\ßOÏg´Jïþl¹ÔODŽ¿~cþÞ{ÆËÏNp©ëßõñܧ':r:ï·{2s¦»9þú—ž¿9m ‘;Ñ À;õ~˜ úfY„fTgA¡ W´ê‡®‡·ªÛ­DÄwÖ,s5RÁlX…R&&²¶UëÛÁ*)Â"æv——·Y‰xcyúêz“Ë«¶Äª¨`Á 7˜ˆˆxãéÜ­ZƽÿĹòª6žˆxc]E'«Ñ*Å[ê®"q³À8ËÎô-œÀY""FLV~ò66ExFŒ¬!·¤'+µYki‘wVß­{N›y«…cä*…”ˆ7ôµÝÄs‰•×TÝj%"kKyU÷HâQÇh¨¡¤È ŠºÿކÞ"‰U¡Ô4TYæÖ §v^œt§‹îbý¨â‹UU<Y[«[•fTŽYÅ mŒÊXZTjTºIfòÄFugÁú­å-&+on«Íݘ^g•É¥be¸†m×;ëÈÚV^Þ=7"dbd¡µÜ`&"Þh¨»( –[ w·y¥Q_î¼üËڢߚ]e|@!ÎÊÝ“¹Æh0£zÿ.[šËös׊Ã5l{i]Odm+Ý¿µ¡{ü’¹-1 VNc)±R£¢öª&ñåø²‚ÇNä©^>;ëÝg®Ô\kì!û…¾±M[ùÆ´éD$½šâ¿é;÷ŸŒ=wPäíÁÐà•/­×|¼£‚=ˆHä5}m¶ßÊywÝb¿òÃþèP§<·)rºŸÄM$ý—U~;“¦3=ý7/XÛmâˆÈi""òzfÙbžæ¾k»ÍÃ;xÆ/"rW¿!ñîéë¼z»±Ô‘R?‘Èó"YÉkG¯ËEÇ/ó=¯y{<úNŒŸÀSÂýÅ×Þù㥭ŸôDŒlÆûÿmösãÔw.µî—¶ê±9Üç¨ü²L“9+ÿr1íÐMïg=µÐÿ½ùòOþGEÌó‹^œvôì·ÿÝè8z¦ìQí…©Aßî±å®NªB®,Ñ7˜ÂdÄø†±Õéoæ»-lpj~Œ’IJ¤˜ºìÄÈ™L—š±8sGf²þÈ‘˜ýÆÌÌÈW,3wqRaR ˜º]uê² rs×/+ˆEXÂvõøÝNeÌþí¦ìÌÈeÎeR SƒÄÄO`©{Š$gRT陑+d¾ò ØÔ-+;ÓóÖïQèâÂC…¼ÄåíI:]ÜäüeXq`Ü–ðºäÜÒ•º A©û3 ²7F– D$ ŽËJ‹™¸¤Ð´¼èeE2…**iËÛéE³•ºíYMi™Ë_cdʰØ(5S+ çÄ-³¶BžáâŽYH„º¨$zYÓö²ƒYùq¹{â—«Z™ŸsÏChá.Öﺊ-DŒJC¥‰o¶›º™&c·VNdz`ÉÃbTy;:˃'ßSE”±Å:YÉÒÌè"ŽˆXÕâ•…º„0¥¦æå9ëˆUj·ïQM`´Ž‘…)[³ß,1v[HývNR ˜HãªL®K—¿Ý”½ÌYž•[r”D.[”R«ñ­Ø¹¢¡°l÷ÈPœË ½ç ƒË–vPë²ýŒ´qPjaj^vòò"N`UÚŒÝ1J²4Sr1ïºUghÃØÌôÈU+‹Ë¶¸Ø_ÒlÙ®Í,ˆ~­@æ« eõø¶‚ǃ™¾õ˜ó—+ÉÖÓ÷Ué¥O?´e»ut×õä¿O¢ÝHD½7·Øí#×ZºžK]Ÿß²mV|rX’›öýî=ÒR>c܈]g®ï¿|ϨÅ@ûÇw\™µ&Òïƒw¢úw]¬hî'ê?¼Ïœü®¿î7d§Áž–k{þo§‰<µ` §ÕñúŽy‰>ávÕ>K—} ëƒ«ªÍ³w›Iv²]¶Üwó*‘Ÿ«…íÌ.Êì:‚ ŒÚÓîol®zÜxžG#…'bppp``Àáp8Axž¿téÒ¢E‹&¾AÀo½Üa>½>úG>p¦ SÕúø†•£z˜Qÿf¼aCÍ‘ý<¾-7:›),{ °Ç7¥-ÏU®Ü„GÏLË^Íœõ´íµçÒýQ-ÆTýd{|Šýú5UýcDæA£0¸¾ `’§“Ó%¥&M‚fÒ?ÂÚVQ`PÄÅ¡ÇOèÂ!˜¬øŽñ‰uRa~ˆtR—Ô|:mõŽV™vûþ(ŒàÀß×wÁƒë»à§òt^ß5iáú.ø9@>ää@>x$<¼¼ûûq&ƒÁþ~ÙÃÿ*>ò Lyìâ%øYÚÉa@àÙW^E>€§—ì­5n ãè³aå ìïwôÙܦM“­‰{è•àùŒ0åyÊgÎýøˆå˜ž;ûUÿõk8 O„‡—·ô ­lMœ§|æC¯Ïg„'—°ñ|F€§žÏSò Ÿ Ÿò ò ŸLžÏSØåË—q¦–ùóç#ŸÀÓØ¸`ÊÁõ]€|€|È'È'€|€|È'È'€|ðÓøÿ°ˆ÷½Êü‰IEND®B`‚murano-9.0.0/doc/source/user/figures/browse_zip_file.png0000664000175000017500000010740613656750211023440 0ustar zuulzuul00000000000000‰PNG  IHDRÖ¦׸TÍbKGDÿÿÿ ½§“ pHYs  šœtIMEß :Q¶¡ IDATxÚìÝuXYðßMàÒÝaa÷±°±Q[QìZsW±°Ûµ{MlQQìÄD‘P麸5\wÕõ]¿ŸgŸge¸3ç̹ÃÌwΜ™a1 C?Mˆ €€ˆ ˆ €€ˆ ˆ €ˆ ˆ €€ˆ ˆ €€ˆ ðÿ‚‘å&½IÌ•1%?Ëò’Þ$dK™¯X­_E!N‰ŒJ3$fjÔ4×b‰##SÄ ‰˜šµ-58ˆ ð=°U´tÉbSø.2B¢ÇÎÎ3D,ž®§Ò a1 ƒ¦€¯#%GF$‰Þ§5c[[ ͯèÚÀXøzu# C~éO\} Sͯ»´‚_MQ˜ö&*URú£,#:úXßS”þ&".GND|}kCU"Rä%DD§T>…`8*|%6Ç!’ñôªÔ´Öã“6‡y.áp¹V¥—á¨ðÕi^¦XEO›_œ9In†XE_G~j ˆ €€ÿ_sS.“yqd§yÏÈjì‰c£ªðþ Pðxa7Ïó¹¦ót­jØÖkÕ×cP;ë[—šwst»™4w^ðn"ÀV¿ ô‚|‚4+.<ÔÇ,×Q›Ÿäá¦!DJSdœ. ׆}ñ³Ú=wß~ðÞ½àk§÷x¨/ R¼Þïµëe!¶Dïß*|«†ÎÓ6®é¥GD)N¼,@£ ‚ü,ÍFî½Íˆ('<80o˜sK¡PhïÔÛs™ï˼’W×È}Ü…B¡çõœ¢Ä[;fîÒR(Ú9¹Œ[vìiV…C½ä]èAïq}š …B¡cçS×ø†e—ý”âÝ©ÁB¡pä•,izð¶É=„ÂaçbnŒÚu^FD©G†¶ »ÿ!ùê5äj›hdŠKK”g>;½nöØÁ½;¶ …Ž{š¶þì³ ÙGs2’¤ ½óÏ¥¦†’„´Ôç~«F%fÕ÷Ýx54M- 2ÒŸ^:2ž}zs/Né|EoMY°óAÉ0 EnÜýÓ«ïßz²xÿ⮦ÜÒãrÄÁ©åàs©0ãuÐÑ¥A—Cæÿµ´§E¹›r˜ü'›ÆÌô‰%"bˆkܼk[Õè»Á¯ ɸIë:úfµ4¿>nɲ“rˆˆø*l""yÚÕyƒþ¸’IDÄRÓÔ`åe%E^xñÑúc Zé–”ÀˆÂvµã…Œˆˆ§Æ‘dÅÜ=µúî•ÐyWô²à+)¨èíÉÙc·…ÉTšLݱ´—eÉG*Yœ";tÇ„£qDDÄ㥾¸¸qìÃW#}ç™Ák<'-nLUvAÆ›û¾ëì±eóØ&Zè€ÿ—^‘}[Í9xÓïÌÅ›gµÓ$’<Úµñ*ÓqÞñÛ7üÎ\¼qjnK‘äþñÀÔ2ïð ß¶ó¤ºÛÊã×CÝ:Á^ƒ(óêâÅþ)%Ç΂ðݳ6>*"^¡ë}\?êÝÓ’(ëÆ¯“qå»"v/ð‰·î8nÉæ=‡–µ3¯ë±xÕ‚Õ‰ÈÈiêòÕËgt6ûÚ¸Åä>>z6‰ˆÔmër‰¨ l×ê+™DUÝWûÞ¾wûæ­àЇ½:êe^Ø}3MQ@o™µã…Œ :Ì9x5$øöÝ`¿ Ckq)/põÚÛ™ßb,K¾´hôÊ1»æÈmëÖP+½¸rÅ)²ƒ×Î9Gdâ¼ÀçzHpðÝëG:›¦^ÙSœ]>ôY]YòûñX4¾Ö7ð^pPhðÅ]ÓœŒI¾wöú{¹è €ÿ·BZ]zõ©&`ߢã¨>&DDº=¼ÿèYUEÄR±vÝȲ²¤åfì¼fûôöUµy,Žº¹Ýˆu{&ØIîí=óVBDLvèžã‰Dz½ÿÜ2©•¥:›X<íêÎ^;;¨’"ìÀ±WåîS)JUwÙü×Ò‘]š7¬e¡ÉùGk¤(ÌŒ}ì·zâôsYDdÜc@}ÉÒž<É$Òêöûøv–ÅA£U³Ç$["J-¹Î¢H¿¹ýT*‘íämÞ.µuy,bñMÇ/ŸTƒ¨ðîÙ0ÑÇ]wVõº’IV®nÓ@ãÃR¹âä)Wv\Ì!vƒÙ;æ÷°Õæ±X\íÝçoŸU¿üW+‰9¹=PLú½V¯߯RÀ&bñ \²ibM¢,¿-—’1Ú~¤op!FЬ{#­÷ïâêZꥨ7s®ÿa"OÏF()”3í=´¹N™¥JÕÞ#vÍN¸y7Õ³šEQÔµG…D–ý6Ö,ól0¶Q›¡NZÁþiÁÁI’zU?\Ö¨6hÈß¿šsnT«sÊ~¡Ò`ìªqõÔˆˆ¸n»¯õTpÔµÊ>MŒ‘ɈˆQ¿r˜É}æÿTNìÆƒ­Ë\rášvðeª"U|~ŠÜ'Û'þv*‘ÈÒsÕÔºåj_©â™.¾$â; íT¶—‡kÖq pÝ÷ÞwI¯%Ù¸}ÔFü*=‡5Ù:çQtpL«™þ àÿ(‚¨ê¨•=¨±8DD]AÙŽ6»âFÕjÛY–ÁÒªíhCÁ¯“Ÿ% 2ÍŽŽÉ'R¯ÝØä£±ªUmnCþÏ’ž'JèCѬYÇ€û [†§g]»I—QÓ†;•–ÏVÕÒQ-é&ÉJŽ{û&êå£[—/Æ”™Mšü,VNdÑĶ|â;M˜ïT¾ˆ¼ï)ÅW@âÏž2³Q¹ç°V¦¸¢Ä'ñDdeW]£\ ³4ª75£{q¥?Æ?J ¢Ô[æ¼,ßœòŒ7 "IVf‚40þ"«ÒËÒ4Ñúør GÓX‡M$ÎÊ—‘\œ)&"M#ÍëÈRÕÓS!*ÊË)*sÔTÓQýPíž»ÏÏo¤ö¥IRïݺëÔõlj¢¦NôáêŠL”."" cÍJ4mA.cÔmþÚ¼àBêñåGûô¨Êÿºâ%Å|œ8†eú4…Ù¹r"‡Ý WZ•ÂÜBîÑ€ÿ³ò÷È e†@*¤R›Ëe‹«Â%"™Dɧd9qøœ29‡¥¬§å›’§^Y0`ÎÕ"AÕÝ[ Ö±­^öš d¼ó°Õ౉H!•Wb|§V»»¼z˜fó¯\÷º½{ÕEç-nª\q>›ˆd9óQê“KÊ |eqx\"RuÚre•=^J¿vÉŒJ)”뺼 O!"sqµÌtYô63:IÌÔS){t•eF'ˈ4Lôø¬X_É›“[®æ§î„}[‡ÕV?ž#£|ƒê˜éå¦G§Kɬl/$ñ¶ð;®u›.v†%­®é8 ½9Ȱýô±>ÁÂü¹)¸ÍâVÅãc*WGÛL›(5-2UFúe{P¤éÑie"ˆª¾±€Hœ”˜§ A¹¾…$/W$g«jj©qð÷?Ì¿ÙóîšQîÕ¢èKW“‰¸Õí-Uˆ¥ikgI¤»ð(«Ü§dI—Þ±ªµ°Vý‘Õ-LxžLÄj8¬ï‡@@Dò¼Ôü2Ÿâ™4©«I”rëm¹7Ó¾:°xÉÊ;ïgU¼+—xV}g2#ʽ¼jï ñ×§baWK…è]`@\¹'¯IboÝ)VT«8Ô`½ò H)7&˜É¾ýG·;Œ¿¦À_ü"DvÍÊó̻[L&8º5Óañ¬:÷®ATtgÕ†kI¥7ó2∣˶Gñ[¸9èWªö ù·yäGEÀ#bÒ£Ò>ìqä©U{ßSZˆ N¿NúDÉ>Ë<ÏW¼M—¶ûeé·he¥ìÑd¤V{Äì®ÚDÉ>+N¾•~Eq Ýœ´ˆâ,÷y)fJ?öêÈŠÃI¥= DDlý–n-øD/7/?ó¶¨tfEνkÄDu{9büHÿâ…âPî-o÷Á7»·©§'zrùú‹"~“‰S´YDD\˾ òõ8ï?Ç=úZ6 Œeo\9œ  nÃI3Úê}á ÉâðyD”tâTÃÔ*U›Ú×øGOU«él¯·ó7/ö˜ž dï^?¼tøHhº€K$K >sñžŠ“°š– þèٯκúbLjOzv±¯®™ûêêqÿ—â73¬Î'znØÚÍ'N±»î}/bÇš+]6v3ªlqšÂ ¿9ÜZütó°AzuZ±^ñ J´¨£žÍSå_¬bëµ›1©‘ÛÚ'!Ë]Ýo÷ënoÃÏ~pêÜ“l"ë¡3»™â* ü*ÄÔu•§xë’³·OÇÜ.™¤k?~Íò~–¥w²ÔLÚ±Ž™ååqãXĒɆޓWz»)ïM(A4j;Õg?~žt~ÝÜó&CŸž¢Åÿõeëµýc©{Úœ£/ol_PR[ï-îâeî+žÆ^2)Ùàú&G ¶~»»½¸3–^Œ =÷WhÉìfN¿-™Ûû3håw™1ÊÇukÔÝõ[C[-hQÙâ8&Ý—ïÌ›7}]`|°ïÞ`""n­!ëæZìžÍWç—Æ.ž•ÛúÒy³7ÅßT2ÕÈÁÓkÞÈzþà‡b1Ì2·<ÑgP¯uQ¦C}NM®*~r+4â]!ß Z“V-ë©T<* RÂB‚Ÿ¾I+`k™Ö¶lVCWÉ¢⸻—o…¥3:Uì»8ÕúïAQäÆÜ¿û8"6C¡mÝÀ¡U# ›äÙá×.„$²LuîÜDÿý-¹o…¾Hñ ­kÔiÔ¨†Áß=[éâivì󇟽iUoÞÞÑVíÍvW÷Ý uæùïëeTvµ¥™‘÷ï<ˆHq ¬ª×nÜ´–!ñ~½bËÇwðHã|Wl¸™cî2û·¶e†sÈ“NŒè¹2ÜhàßiuTÐLðÓᢠþÏ¿@-¬{Á…‘ªµ¬æt­*`‘,ýîN¯õáD–Ý»WGþDøöX:­gÏëðlîµK \¯üi]ÓB]œ›)%b×ôX4¬z™¾ ŽqçÅÇL›ïß{üÖó·/ŸIˆ¯S¥Y+ç#Ü[Y©a˜ü¬'ÑÿÂXøåáyT€ˆ ˆ €€ˆ ˆ €€ˆ €€ˆ ˆ €€ˆ ˆ €ˆ ˆ €ðq“’’Ð ðƒ±†A+À† 1€ˆ ˆ €€ˆ ˆ €€ˆ €€ˆ ˆ €€ˆ ˆ €ˆ ˆ €€ˆ ˆ €€ˆ €€ˆ ˆ €PY\4|{â»3:N¼UTá¤G`XµQ+çþC]-TY?a½%ÑÛ]Ýv'T™túÈ0+î¿¿€ÿ2ô‚À£§EŸÞø[o×ùþ‰´À/ é¾£}§ÕV)É’¼´7OnžÜµÅ7<éâü1CŸß›iý\}!\Æ.CdÔ×úªó3EÆyÎ ÃŒð^Gåï/àÛcó5k¶rŸkïXÿ÷ÁÞ)§ïëu|rÕŸªŽúöC§Øÿ<ËøOïÐðcñ-ºÿ>ÓžO”túГ| €ðƒv<†­µåŸUPö ñÛëÛçŒèÞº™P(lÕ¹ÿ¸¥‡ƒ ?J)Ò´GÇ—OÐé¹PhׯÙuÌ’£Ó¤ÁH’‚öÎóèѺ™P(tèè:qù±Ç™²½;5X(޼’%MÞ6¹§ƒP8ì\š‚dqûû …ÂþûãdD$Oôq …ž×sŠoí˜=¸KK¡Phçä2nÙ±§Yò’EåÝ-´ë¼0ŒˆR m)vÿ3BR~9%$ïBzëëÔ\( ;œºÆ7,[^võÓÎ  …#ü3d9O.öìÙÚN(´wê9lî¾IÙf¾Ùí" …m½б="@e±4jµ©ADù¯žŠÌà5CúÍÞ}åyŠ˜á«² 2ÞÜ÷]?¹ßèmrïã1‡Ç÷½êThdr.[]#Jyxf͘~³ýß}8˜3¢°Ýž.S·^|–,fxjIVÌÝS«=ûÎ:›P~ ,“ÿdÓ˜É{‚“$DŸîŽ)z{lŠÛŒ]×_¥‘"7îþéÕ#ݼ.&ˈˆ¸ÆÍ»¶u°U%"2nÒº]Ƕµ4+îYqĉ.þTw[yüzÈýЀ³['Øke^]¼Ø?EN¤VÇcñª«‘‘ÓÔå«—ÏèlVa”]AøîY¯ÎÐõ¾÷‚CB®õîiI”uc‰×ɲ]%Dôbë¢3œžK}ïøûž¿~óÐ4¡*QêéÍ×Rß×£ÓÄmä°a#†;™ò°5"ÀWì{ÔtÔˆ¨ [¬(éÝ8¹=PLú½V¯߯RÀ&bñ \²ibM¢,¿-—’åD$I¸ÿZBd=djßz:"bñM='¶7×Óã&¿+(Ž)é7·ŸJ%²¼ÍÛ¥¶.E,¾©ãøå“jÞ=&*Û¿‘ªî²ù¯¥#»4oXËB“óÉÚju^³}zûªÚ<GÝÜnĺ=l‰$÷öžy[©;‹™ìÐ=ljôzÿ¹eR+Ku6±xÚÕ½v,vP%EØc¯ Ë}¾°ÆÄ t¶Ta[£V¿ƒ,ˆ(ýMæûþ¶n·q“&Mîd†ˆ _ÕRîÒÄÀk D6nCš”»•_¥ç°&l¢èà˜"bqU¸D”|ÿARóþhì´òì•+gW¶Ñf“ûÌÿ©œØ;[ó?,ˆkÚÁsDÏnÝê«HËvƒTôQJ™öÚ\§Ì§TªöéÀ'J¸y7U^‰u-ˆºö¨È²ßÀÆšenBfµê¤E”œT.ÊÔî×Ù²L²àéYë‘BŽ¡»ðßRé›róï.ðX÷²ÌŽA§J³Ã=ºÕÖ¬|Š)zµmüü›²– vL©ûÝîÓg=;èø•G1i"_Ûĺ~{·AÎ ôq¢ðSQˆs ˆH #`Æ?J ¢Ô[æ¼,ÿ×*Ïx£ ’de(HC¥j·î6Gö¾½¿¢o‡ã­ûôîÒ¶…]=~™ãº4ùY¬œÈ¢‰mùhÁ5vš0ßé£ZhÖ¬cðå½ Zm;K~ùü¤UÛц‚_'?K*d!øÒ^);:&ŸH½vc“öDjU›Ûÿ³¤ç‰ªú¾­*6Å"6ø¥#H Ýz-è³ Ócž¿xsçàJ…Ù¦©M5¢¿iü™eKŽÅ’¦M£–MU2£ž½ :¼$<}ÑzÚjø#øi0ℨL"2¨nÈ'"Eav®œˆÄáA7ÕÎP˜[¨ b«Öµi=-Y²74#&Ðg] éÕqêáîéÑ¥†:›ˆd¢tikVb÷¦¦£Z‰“(M­¯Ñp4uØDâ¬|Y%NŒÄ™b"Ò4ªP%–ªžž QQ^N‘‚4J«ÂUãbwˆ ¨Öê3zB}5"Yâ©¿Kzù8EÒTCá·k·ßƒØ)[Ý´a§ac]›èry÷í;?:£HÝ´A‡A£Ýì´>ì~ò_쟻È?Ų×BowË„ ggD¯ÏoßqæAY·îÛ,vß±˜š“w{;jÉÒîŸØés=,1kX×ÉÝs£Y™ &?êA,‘aO¯¥ƒ«ðˆ™w6-?ú6%*CVÛ‚ÇÄøì;}çUJ>WϦa‡Ã{56à†o·ð6µY´}BmyòÙ™S'Ôœ¼ÛÛ.ýÀ”ß/d×1Âìι˜Æ³÷щþx ¹ÒÏÖ”ËIDšµëp‰ˆÅáq‰HÕiË•UöŸïTà›¶¿åâð¤çA7nܾr/:3üÆþù7n„ï<0½‰&‹Å汉H!­Ìe ›]‰¿WY¡¬Â²R©‚ˆÍ­LX(¹|$“(YŒL"'"ŸÃB¯ürþÖXEaFLØë,"R×pÄaûV ‰WoÔ¥w7{ÝÔǾö†‰å¼÷ß~+hÒ­Gk‹Ü§g׬ò{ç™$ùê†þÉúmgx¹×f…+™]‘}wó⃡ñ,[¡~”ϱ˜Ò9ßœ\²úÌSY½Þƒû yá7-Øó\T暥nUË€(íâ¦u{|o>x™ h t’zûp ˜H«e÷š‚âÞ}cQaRbÞÇ7ž*$yÙYÙ¹åÆ\°f ; þmñÖcWN®Ý\“(þ躋Ér"®Ž™•½Õ¦”$ñö™'ÏßK“}mu3£DUKò.<…ˆtÌu*q‘—«e¦Ë"ÊŒN´{eF'ˈ4Lôpêèù’ÂÅÃBÞÿ¤aïÚÖ”C2áÀ‘utë60Eß½’ JϽ‹ó{.%Ë¡³&u7f‹ìÌ_K¥üâác¯|–݉-²°Ì³™.‡kUœ]œ–äû°ˆŒ]æy¹[sE-·L^˜GD…‘~—“I£ÍرnuÕ¤õ%³ýÏ… ®oÿþZ¿êÀEsôN_ zróÈÃËDD,šÚÚ$'äT¨˜ {Ï3° éQK2aíÃ[—¢ÝÇ|>†éw\°vD"ÙoV…5J;÷…ú@’„ó+V…Jˆ,zj¨Q—X|-S[{'G[m6ɵTRC÷ïÙ³]®¢o¦U|k™\aeñ õÓ¨‘¼ ýÍóÐ'_»ºe³UùÕSòˆ8f5yDÄXÚÐÃÄ´, £ÿ¹æ˜7´°ˆdù׈ɹ=ïKõ€÷qB*Jû䯉›O‡™ö÷ñ>"°õ[ºµà? ~¹yù»5.6*,""EνkÄDu{9²‰¸šº±‰±oÏœy>`FÓÒ±ðÒw¾#"ƒ*z\"Ôé×Iÿâ©dŸåÚmY¿x„…,éÒv¿L"ý­¬ø_]sÙý5+Ï×[Ö³xVEæÝ­ & Ýšé”=ßøÔ=+<«Î½kìØygÕ†kµçu*¾–G]¶=’ˆßÂÍAÿ+{¤Y¾ªÐ¬×ohÜ— ¿Fy?¤Ì ÍßígÂD Çý9³­á»“Ó§ŸH&âhh夯gË©±óÃO¼–jÜÉ­6YôþÍ)bã—>ûBíg 3”ή¯N”“)klÎ-Lz•Z/´tUˆTÛLžÙՌ˥¿‰I•êÔ×ûpÆ$?5¾oŠ¹Û’=ÌÕ ªÛuÕÍ º¶#:3)—›he&G¤J›Úðqüët"5}>›ÅfIÅE "’å§‹>Ê Å—Š¹êJÖ¨U#Ï×à—ê3¤¥²_˜u]¼}š°L![¯ÝŒIÜÖ> Yîê~»_w{~ö«€SçždYÙÍ”CDl={7Gµ'·SqyÝ­‡C-Uq“«§oDIIÐzh;‘ þèٯκúbLjOzv±¯®™ûêêqÿ—â73ìï¼C¹·¼ÝßìÞ¦žžèuÈåë/rˆøM&NqÐ.^‡Ï#¢ô §¦V©ÚÔ¾ÊG{Z˾ òõ8ï?Ç=úZ6 Œeo\9œ  nÃI3Úê}í5qyöã“ûÅ‘F—–}”° IDATAàWéQrb#—*ˆ$1~'âD.%1£–εïzyhņ ¡j䵀ȢÃúŸ×¨Y7lÔ±yË¿Ÿyø×±µÛ)Ý¡S£Eó^žÒD=6ènNqYj¶ÝœôC/Ÿ¿nä`êw=RÑ`\óNöb<;{“>¯Θ\¿–…ZÞÛÏb‰LZ¶4W3Ðsivtýý3K—ç·µ)xrùa™õée«ÆÍ¶Ñ§€Øû›—¬m ‘ôðq–ò]±²5ÒÝIÿÞgêå°Tõª4jÛÝm¨«£…*ëã®·õ;¤ófo Š:¾-¨dª‘ƒ§×¼‘õ¬’Î’öó×^°`gpê“ ž\(ùJõ®SæÏîXz¥„­ßnÁn/ãBÏýZšzœ~[2··ÙßØé™º®òo]rööé˜Û%“tíǯYÞïýÃ;Xµê³?O:¿nîy“!‡OOPûhÅÕLÚ±Ž™ååqãXĒɆޓWz»ý~€ÿÄa*7z²ø¹ ª-æíø­|/É3B÷¯Û}%2OÝÊ®CÃÔ3~1‚3ÿœÚ„ ?¿w¿ÿ÷YRuó&ÎCG»4D¾.Héƒ “W…ˆLz/ý½Úí-go,}tlË_—ÃRÙæ-œ›$œô‹¯9y··£¦$ñŽÏ®£·^¦ðõk9ºŒÚ¡Jù»my׎¿‘œ+!ž¦qua§¾nÎ ô8DŒøí­ÃŽx'âêZ7ê8hD¯Fú§&W¿¹ñ®oP­I«–uTÊ/L!Ž»{ùVX:£Sž‹S-åÏ;S¤„…?}“VÀÖ2­)lÙ¬†z0ägÛ eE½ŠñŒmkšª±äïÎÏšt ¾ö´=‹škâ+€¥l±EWÀ7ö“›T¤ßÞºìb†~«‘£;&ž÷'¶ms¾/DïI¥ú@¯I´ûxÀ_Ëo+Tt«´pŸ<¼“ †y ‚|_,óV#´oà?é' ÿml4 ‚"" ‚ü}_qSnQQQ||¼H$’Édh8€ÿþÞËÕÒÒ277çóñ`Pøö*{SnaaaDD„@ àpðŒ0€ÿ õÏü–a˜¢¢¢¨¨è:uêp¹\4|ãóœJ~.>>ÞÈÈH[[›Ëå²XxÀ/p‚Âb¥¥¥edd$&&Z[[£Aà߉ yyy¦¦¦|>ŸÃá ‚ü7(r"úÌ¥ÕcÇŽëéééëë£­à›«ìpT†a?~A™™™R©íÿZ!"‹…ü?:‚ ‚"@YŒ$ùήYC{95 íÚöµäøó\‘<éÈÀ¶nçÿ\•ߟÓZø±NËŸçÅìêë4ã®ø{•«´5¤ÿ°ÐÂgK{®{Yôm«*‹?èî4%Xô· º3¹ûáYå×ô«V¤Ì‡¿û6ö¥Šýã¶ú…à^øæ¤ñ'§ \ÔjÒoÙêHžÙ´vüLÖ‘-.?åYZc/¿«3¥Á íº·çŠ·í¬†*g7ªöcÌÆ1lóã ýWü:k Ÿ‚^øÖ= 9!·<¯çµsñ¶ ª˜YÙÚõ™¾rZ£´ë‰R"bŠâ.xuv6kç¾À/^BDòŒ{{¦¹vh.´k×güŸ7%Ì'&ÊS7NèÕZ(:8^w+UNDD ÑëÓÞÃ…Â]=–ùÅ|ôÀE¦(îÒêÑ=Û4 íÚö¶çq®¢ÜïY\¶n1Õwg—¬{\kÆÆßìµ™w¶­:-!Qðo‡8»nLÏVÂæÜfxš£ør²øƒ{.¼è»È½C¿M¯Åé¡;§ös²:t4÷HXi*´†¼¸Ð‚Ôs£Zv_^TÒ_r|ˆC¿½o¤_XYiì¡ñ“}S“|Fõ_ø@ü‰†ý@µÕ¥³×Ãâ~IÌξæÜie•-Si 3…oýWx8·ÚµwuøE¾âãN Òæ•'Òm®¿ßÊQ=Û›µ°ð|¼økVäãµVº}i#!™’/¨âzIÊ—õ…MKiµ¥)ŽíÙºYóNC½Ó~Ô•læ×ÝYT΃$ ÿ!r¹L.—~ê¿•+W®\¹òÁƒ_µXÑý9íÚÌ ÎWò+Y¢{Ó¦çœ#*Ê ;ä٪‡bYÊÙ1­œ¦yú.7ãõ…EÝ[¸î‰.R:1÷ö´6NÓN½x—òôÐèVN^D #ÏšÛ±Íè=÷“r²ÞÜXÓ¿E×åDв«™vÁÓ¡óü /ßådD¬íÝbЉd¹ÒšËR¯ÏíØ¬ÛÒ;™r†aÉÛ½ý¦‡ˆ˜ü;S[4µë»üjLfvü-ÃZ¶›y+Kþ¥"¤qÜìZtù§ÿ蔘ã­œç_ˆHÏxs{ûÇŽ Š”·Fi¡òÔóžŽ=þŒ(bF–xtã@ŸÙ—W–)xº¤kµá… Ã(mòŸ-ŠÜÒ§ÓÜ¢â¢w¸tüãžHéÊÅpk7ùN¾òe*]ý‚ð½ì»-8‘‘“üð¯1ŽM›ºŠ—–)ý}óÊ}4³ë1÷\t~aƳžŽN^D_µ"å>¬¬U¿Øn²Ä¿ å[N™²>ù½º­$±µì¾èbTFNbÈ–¡-š6õ¸œ¥øUwAß³D{d¢ëGÆü-N89ÕcõÓ’§øÍ±üqNþSç5Ò¬w…fº¼Oüž_mèØÎ6¾nÍ֭ͤbÉ»›GŸ™œÑ¿‘¦^®“&7Jö=§dbŒ”ËcKsRRrzõÝ7œ;1³¾*)²ƒ÷ÝÒ4{ˆÐTKǦݸYdþQe/Ô³´½Oú£K-# UU¦Kœ%–+©wAÄþé^·l¦nœá [a×È8N߾Ю¶…ÃÈÙýÔƒ}îå0_.BÁ2só×µ‰•èúÑ×5'Lîb«¯gã8Â{éäÖ:Ä(k÷cëÛ÷®“}ãZ¬„ä)çâkôw2å|yeËž‚+kØIeºÇ?¹²Ê—)U²ú¢×¾ç³ì§Mu¶ÕÓ2i2pÆ ‹Ï½ÙƒáX¹xv­ª®¢W§½“¥4]¤øG+òq«J¿ÔnÒXÿ#¿ /n9Ÿý€Òj¿Š8w"®þ¤‰ªéi™5>¥³ö/ý“ï=„[eäÊ9-´K'Âb«ÔdÜ#kYáúÀ‹§­ÏÏOΖ}ø3Wd?ó¿šR³s]bñô­t¹Åû6‹ˆä¹)y|Sâ]1K`f£!JÊÌ¢ŠsUíæló:vøÐ”n³E­ú =¼‹+')£0î/ÎGŠcƒ¼HÄuÈ/{ `±eñW7Ì¿žÁÒ±°ÖÈe”=ßHž~sÙämιWU¶wâêV5Q-ž‘oRË NÉ““.÷ E°ø†ÕôyDÙñy+sAqù­»[‘<»bk”Ézö}ê®Üy3a„ÚÝóÉõ†µ6d“ü‹+[v•”5l®¬ì×R>(>·²¬Ï,SÎ6ª°úò¼”íê‚’ÅÙño~f«áéZëqKÚòŸ®ˆ’mìKí&Sú‘ü [Îg7-¥ÕÎH£ìï-MµF§FŠùû®¥4ëeÂ)=!¼±~É6‹Íë}üˆCŽ–±†$46Gî Î!bÄ)±ù‚jººJ&j&¼-¨æ¶p¯çBqÂÝsfO+°öal¤#¨=øØ~c6)DñQ)*Ö‚ËWdÞ˜7ý¨ñ‡ÚZ Øâ»3z¬QÖ2Íë†å”3[ê*ï–eE§2¶|‘ôÝë4Ò6ÒàT¢ˆ’C GÓX ~ú®€!5QQÌ™½A¦nƒ…T±5Êf]»>uWìºzŸÖx¬½.›ˆ4¿°²_lXMn…àQ’<¤qY²O¯lÚ§—©‘«dõ9Úæ9Q ââÅHÒ¢Ò>ßÿÂb²!*·"åöñ6ö¥vSú ¬ñðó[Îç7-å¶ ò£R ˜úª,"IúÛÌ_úÑÃ?ÅpT&ïÉ®¥‡R…×ýµgõÈê»–|UÀà°ð£ >lÇŽß$[·Õ”1µž-=ç@@Xlr«àK&¬xUÛã²7órŒÛ¹ÕOؽæTXZ~VÔ¥M›ôêik¥dbɃµã'¬»“S(‘‹ˆÃe[¯å@»äí+>JÊÍz¼oúÐIcee@Œ´PÎÓÔÖà³$©÷ï É)—ͨȸµ|ÒÖÄVsçu7,Ê-‘—_X®sA!\·ùjtffÜÝË‹Øé°*_߯ÙÅúÅæÍ—c²ÅÏŽ­Xwæ-Oõ‹»_¶N3—zï|ÖȰsm¢Í"ªÄÊGˆ‚"ù'¶Ü (¾jÎÓ«wãDEo¿S:–òÓ+«t™UyJV_¥FŸîú÷Ö®»‘–ôððšÃñò¯?¯¬ìŠ”ù°ò–üR»)ÿ‚>ýµ–”õÙï]iµëÔîÕÛìé¦-Wcrò’ïÜ|-[^ÜKøâ†Àë<"È7%ÜìéV:dÀ„ÝJ.Z2¹OÎÜtÙ£®¡º¦¹›GsÙýÀ8  ÿF ù‡ù£x‡^eàæ£Ë;IüWŒï×£÷p¯CñMfîX?°ŠòŽsŽI÷¥kÜéÄ”nm;ÜžÜ~ÉúaÕùÊ&ªw?Íîõêí[wp_xÛzÂÊ1µTˆ­ç4ÝpÕó¿÷uêè¾ð¦Ñ¸ 3…êå?mgŽ«8µ³cû>ÓýÔúw”¾êɇQh¯|¯dRÎõù};8½×®çò§eª©˜õêÆؽS¿y· =×zµÕcEijq_³¬CÊöZw™r^×sõÔF‚Jì u„.¤IÜ6ýh”–ôù•%â›Ø5U½0ª÷Üûb¥ [¾å»Ln4×¥]—Q{enc¾¸²Ê–©ªtõ_Zx¬Ÿï˜°Õ£k§Á+_ÚMîaÁûºè+V¤ì‡?‘A¾Ðnʾ O|­ò÷e~þ{WZm~Õ!k8Ƭܾ‹çÞç~6j.›%I8¿rþú©²_l·Ãb˜Ju7<|ø°Aƒ<Þ×lBÒØ#¿ýþ¨óâvš%…qºzš¬dßYó¢†mžY/Çoöaƒ¶Î4òŸþÛ±t:¿8“*¤…ÜF³7Ïh¤†ÃÀ÷TñM¹ûöí/›?6lø“ˆÚ·oß´iÓ_¹¡DÁ¿õX_¯‡ + ÿˆ$éε(ó¶­l,¢Âç+]¦‹–œõnò‹î¾÷X6_ÛÐÈX»ÜX §@}MÕªÝ×.ë¨Ï&"EAJ\:ßL›*À¿Ñ‚Føžïéžù{Ò·n\‹ýÖÿ¯Ë… Tûuw?ÃX–NãnõÓŽï¾ø2-?7ñÉ™U,;—$ÇhTøáW¾|¢Å¥©]»Œ;Á¾fn+í_÷p÷S< ¥m?nVæî=ë¦ìÏa´«¶tûÝ£..ÂÀÏBÝaý ¬,|“žÀ¶Ÿ·O?o´}ß± ðs«8ä# ßÞˆ €€ˆ ˆ ðߌ ,K¡P ½~5ºº:¸¾‡Ê>šLSS3''ÇÐÐð3o–€ÿ;ÁÁÁÁÁ!Ÿù@õê5´´´ÐPð¯EssóÈÈH…B¡¯¯S"€_!¨« jÕª­¯¯off†¶€o®²OG%¢¢¢¢øøøüü|¹\ކøÏãp8ÚÚÚæææ|>­ÿføVpG ‚""üŸÄìì#,£Mϱk/ÇK¾jâGó;»l”üûk#O:2°í„ÛùsvYüAw§)Á¢&‹îLnç~8Aö +Zøl©sÏu/‹>õ{iÌ®¾N3ÂÏ‚‹&€ï€g;íÀæ®,F.N ;»jî¼ß kïj…;úÿ=Ã6g7ª†Û›à§^øX\ ]]]=óZm‡y6çG…¼)$bŠâ.­ݳM3¡Ð®mßi{ç*ˆH–ºsj?';¡CçAs„å–}3#~¹ÏÓ©›×•Ù§f—¦þ9¶gëfÍ; õ>~dLûQW²Rˆ^Ÿöîì(¶èê±Ì/¦€!’§nœÐ«µP(tp½îVj…ç |êLQÜï¡ÎŽÂfíÜøÅKˆHžqoÏ4×Í…víúŒÿóF¢„!IÔV—Î^‹»$1;ûvšs¿LŸSøÖ…‡sK¡]{×Y‡_äW|Þ´ÒvPR<éÈnsýýVŽêÙFج݀…çãű‡ÆOöMMòÕá±Ò†’gÞÙ¶êX´DÙì"*xº¸ƒÐõ@œ [/ ‚À‚Bsóì“BƒF|Rd\_²øºéØn\9êÝòÍžµWRò¤3³gžÕöØ~ñŠÏ¼ÖÉ[§­Rzàf ^ûLŸpLú®ùL¸Êg—Æ›1çšÙø¿._Ù7Þই9 “²|âÆÄÖÞ'n\;2«î“åÿ|"Î Y9ÿ¬ê°íþ×/lÄ:³xÓ“.Jä}âŒèÉþgM½OÞ¸ºo”ÖÍ{ äï.Ìáø¬;wóÒNO“k^Ó½ùÂE£ÂW»¦zYMøëʵÿ×ytð™è£'"(m‡O$O»¶=´Îœ#W®ìõм¾~çKÃÁ[7ö12¸ûÄB¡@iC•+ë£ÙŸ‹‰øV½÷žèh€Ãü(¸߃$Ü»«wéOºvãÖzÖT!ÛÑû„މ*‰eM5–8K\{ãÈëšVu±Õg“ãï¥æ‘:ÄS}|æÑ3¯7ù9›ñ‰ˆXÚg/xã"®þ¤ªé±©ùð)O‹#EVð¾[ƒ šòˆÚ›Õáò<ÿ(Ïö<¶4=%%GQ£¾û†s]¥ÕÎɸJ>À¿Úбm\ªÙºµÙ®P±äÝÍ£ÏÌGžèßÀˆCF]'M>ßkã¹×îŸK ¯}ÏgÙÏžêl«Ã"½3t³Ü¤±þÛA¦´ wWb8V.ž]«ªs©N{'Ë]¢r CYCɉS¦GFÉìÝúœ±å"ü¿ï[ªMܹ¦£>›Xl¾¦&¯øíRlYüÕ ó/†g°t,¬5r‘,;>O`e.(>ùæ[´înADb"ij@H=7Ι]š¹[r‰XJgËS·2-Ý Š>/Žä9I…qyt>Rzx­r##Ô?ñOßJ—KDÄb³YD$ÏMÉã›ÚèÔY3 QRnù+Lù -ò¼”íê‚âvàÙñËG¥í yõ©‚xºÖzÅ;pVÅn e UÞgg@€ÿ_l=SssÃò‡7EæyÓ/Üy¨­¥€-¾;£Ç"®¦±@üô]Cj,¢¢˜3{ƒLÝ×'♸­ôžnÔéêËNº‘²Ù9š&‚ü¨”¦¾*‹H’þ6SJÄÑ4ÒÔ|l¿‹1›ˆ¢ø¨K&!² šÛ½ž Å wÌ™=­ÀÚwV]•Õ%¼­øZDôñû99ZÆ’ÐØ¹ƒ:‡ˆ§Äæ ªir‰ˆ)}¥¸4#.«l&áh›käD%ˆ[>‹H’•öÑ…޲vp·üTAÄbò¡JÛ¹BJÁ+Gá_ßM  à‡a¤…rž¦¶Ÿ%I½wxOHN¡Xµqv±~±yóå˜lqƳc+ÖyËSe‹¯®Âf¶Ÿ1±æ£u‚²JgçWëÕÛìé¦-Wcrò’ïÜ|-[NÄÖo9Ð.yûÊ£’r³Þï›>tÒÁXiþƒµã'¬»“S(‘‹ˆÃýh˜÷¥¼ ÆíÜê'ì^s*,-?+êÒ¦ Mzõ¬¦&ÐWÍyzõnœ¨(ãÑáíwÊ «U­Ñ§»þ½µë.D¤e'=<¼æp¼¼|à+k¾Ò‚T>ÙÀ²‚"ù'Úù‹ïâg=¿æ#V`;DøÏípôÚÎW#pjgÇö}¦û©õï(;:}Õ c÷5Ë:¤lÑ¡u—)çu=WOm$(3×¼çF7Wl{$ÖU6{¸é5 cÖnßÅsos?5—ÍÖsš¿n¸êùßû:ut_xÓh܆™B-ã®ó§Ù½^= }ëî o[OX9¦V¹ƒ9ûK(“ALº/]ãN'¦tkÛiäöäöKÖ«Îç˜t™>Ü*h®K».£öÊÜÆ4(»¤RÃcý|Ç„­]; ^ùÒnr‹îPæÙ(i¥)¯ßÄ®©ê…Q½çÞ/TÚÎO >ÿíHâά˜¿9(~¼¦þ¿I’î\‹2oÛÊFÀ"*|¾ÒeºhÉYï&jhô‚|O¢§{æ{Ÿ|™¯Pˆcüÿº\Ø }5U´ ÀϽ ðŽ¿>µbáÎoóÙšÖ-Íü}p]œ] ‚(›rÿ{d™áWOøœ¾þ(:!½PÕÀ¢zÓ.úu¨£‡/~èùo‘¦ÜX;uÎɨ /yàVï¿lÃ4'¼$ AàS䆮4áTréÏ| Izæû·`˜õßzh¦.’ÀOàkGÒ¸c“\]]]ÝæÝÌø›7Ë’|suu’Ç”û÷W(|±q¸««Ç–—Ew åß]àZÖàѳÿô{™÷U+YôjÛHW×a¾(ü®_ZQöÌÑ*¼KülÛÂÒü¡á0í¯ë·¯]ºtzqg½â‰I'nc£€ÿÃ"‰»yëqåA†üŸ¯^Å¡}›ŽÍŒy¬m åéÖkÙ¦M+ûºæÜì7w®Üý8ï§ê%R„ß s&92?oß©SB ¤ïÃäÞ?p.­ä‡j£fºÖ׿KÕªÓ%ÓSÏí{‹n/ø |ÝÅÂè«·3H­¶½ÎËÐè«wS;ô0åPaø¦q o+ôn%½}óU®FU‡~c=:X«}bz¹#ªèMðõ€ÄZMÜ»WUe)ò".îÛwþ~tF‘ºiƒƒF»Ùrò#üvíö{›#e«›6ì4l¬‹áµY‹‚ÄD°`Í›gVf LAl€Ï¾Ów^¥äsõlv0¼Wcž$fÿ”ß/d×è¦ä'Ö¬ÑiÔ´¡öúœŠk¨Z«Ïè õÕˆd‰§füv,éåãIS éÇupm¢ËQR[­ ÿÅþ¹‹üS,{-ôv·L¸PqvFôúüög$‘uë¾Íb÷‹©9y··£–,íþ‰>×Ãó¸†uÜ=9šñ?¤+víVÕ]_ÄÈÒªl´Sû0´£(6äEÑûŸRïúŸ ;d0sãèê<ïCÿQplQëúxhü?õ‚0¢ˆ+wsI§•û€^5YwíNò‡QÏü^´í×½>+:`×¢ÝÏDÌç§W$ÏÜà½ÿö[A“n=Z[ä>=»f•_BNؾ•‡BâÕuéÝÍ^7õ±ï†½/µ:MÛP…Hµé¸yª–yT±";të‚­—_ˆ­ÛöêÖD#áÞñåóE”>“XþÒÇ?Õ¤A}3ʉ¼¸ÝçÕg.–( 3bÂ^g‘º¾€#®X‡0±ÒÚ–öIH’¯nX៬ßv†—{mV¸’ÙÙw7/>ϲuêGù‹)óÍÉ%«Ï<•Õë=¸¯~qÓ‚=ÏË7™¼è^šú„>æFI¹åž£¬¥ç¿ÿ!Úg¥÷âƒâÞ³Wç+²Ÿ\‹~ÿ›ütž¾ ?@Á“e«ŸWø+c².y…ž›_—¹’ÈäÍj-v\úìk.aJcvõušqWL¤È½·adW‡Önä|E_á³¥Î=×½,ªðçÿai’Ò"dñݦ‹ð½üK½ L~ø¥b2hß¾º©n纜ˆ°› ½Ú”üÚjЬñÝ9…u 'Ï»|îÙðÚʧױVž@RƒýžKÉrè¬IÝÙ";óÃ×R)O¢)8²ŽnÝ&¢èû±·BDéY ­ZÆš"¶†‰™žJƇ%¤‡œ “aï¹sVá1=jI&¬}xëR´û¸â5Tµlq'æ]õÙ“öÇÅ'ä)êªVH`…!‹‡…¼ÿIÃÞµ­)‡dê)zW±¶ùE QÁ+Ÿewb‹,,ól¦ËaÄZg§%ù>,"c—y^îÖ\QË-“—æQa¤ßådÒh3v¬[]5i}IÄl¿ÀsaƒëÛk–v„°T´¦Õb±©wb—­>[]_¨ÌîÔ¨uksqLXð£ÝKƒ?LÖ0PÇpTø¾˜œ ÅSvFe&æEŒö¨9aÃöZå.“²ˆ|é|”ç´:*% äÑéP1ÑWvÎq ÛLœÝ¨ŸHšpûz\£5ç—9h}ƒë±e–Æä•ÿjarž\|RD$x{nçV¶XÄ!J ¼Ûw„©˜ZiqˆHŰª>QvVj¾BûÓ•GY~J.ÏÈB‹CDê5{®IDò¬Ç©¡û÷ìÙ.WÑ7Óúü)’‘Š•C]•S·Ë\‹9ë=ù2[Q(.,Óí¡R·…µ 6{ø®XÚŽx'N(K£Ç¢™öbßÌÉž¹y6b\jD¤Èºú…¹s“”{Å{š¢¸Ë—l=ÿ8IÄÒ°vâµpDcõ”#Ã=ÃŒÕ:½ËÿI2»F·é«æt7ɼ³mÕ‹i-,‚fO<’œK3\¥Ë¯n£!~}fí²ÝWÂRå† zŒ÷ú­{U5Ejà–EkO†&ŠùFMúÍZ2¥­n¡ñ“}SóiTÿÜ?.–¾ONžì;õÃÒ–ÙÜÙ¶êÅ´VÍ„e:ID—·Þü-•>#Vd<¸ôBNDYÏïܾÿFBD™w®Ç”Ä‚¢¸ˆt)#ŽGÄÑ5Ò`vzÅ0¤n A$MÏ–1ùá§¶mÜvúYØéígÂòêûóÐMÓÛ}þ¤HÓD“Hž‘*%"Fÿ:HM_‡ÿûÕZ}FO˜0aÂxÏ!}ÚØjsˆHòÆ·b8Jjûªä’‰Eï߆ֿ(^ûì ÍR|bv}u"iJL¦Œˆ “^¥ïºyZº*DÚm&/Y±bÅòE3F:¢S=N¥vû͆v7(3ÁÔeÎÊ5+縘–™fÐch3-ì.á{“g½·[µgY«ü·ÙJF­ó«vë¬t楘ˆH‘uïtD—–†œ’=Íõ%‹¯›ŽÝqáÆ•£Þ-ßìY{%UADò´kÛCëÌ9råÊ^Íëëw>/½·‹kÚgÃæfÆ.ÛϬi£Åä„,Ÿ¸1±µ÷‰׎̪ûdùÄ?ŸˆsCVÎ?«:l»ÿõ Û±Î,ÞôD̳¼uc#³»O|ÈDÄ)·´Š+ eËÇo€ïÛ "O½{9’!Óþk×ö·ä“{wÙØuOï^ì߈ˆ’Ox/IjÅÝÍ'ív½h°b?1=Gy€0né\ûø®—‡VlȪF^ ˆ,ª1¬O¦ ’Äúˆ=¸”LDÄ0Äâò9Dy¯_Õú°ƒæ.ÍŽ®¿féòü¶6O.?,"³>½lÕ(ñŸ4#—V¬ÇHImû«°ˆˆÔ¬6êØ¼ÇåßÏ<üëØ‹Úí”ÎîЩÆÑ¿"y/Oi¢t·¤MÔl»9é‡^ >ÝÈÁ 3Ôïz¤¢Á¸æ* ÇÍï4Ù÷]ñÉ'çO:Yî&. Ç•{8ÀwÁ1j=•ˆêŒPþ{žU箚S|ÃDMìÔ2‚OG×è7G/hGiŠ÷ ;UËšj,q–XNªÄp¬\<»VUçRöN–»D 2Prª”¼ï–Æ C„¦<¢vãfu¸<Ï?ʳ=-MOIÉQÔ¨ï¾á\W©àïÈV¾ü©`„7À÷ë‘%]%2naoRZXšµÛÔäèÁ•W"""AS÷6¼WA¡‰jUÛŒñQO½ä°ù©éÊöZNÓ¼µ°.|ì״ÿì]¬köÕ¥†¶èÅÏ;çª,¢”§Ñy<ËvjjPòõswSË<”­Û|¢qk«¾¹qöüý\3;×9óúUý§×Tª+«CaÅÚš¾t,•*=†µP§œ».²{(›Ý¨ã´Y½ê<‰7íÑòdFµš½&w­‘÷ä¡A™6í=OokÀ©ì—©ã0s×ò>U”}©ìª.ËwÎh® ð3à[tì®{ÿÔÓ\yZЙ¸Ú.vï»úXlYüÕ “ºô4qåÉç¹L郧k]òŽÖ§·byNRFaÜ_œœœœœºO¿ž#ÉÎWµ›³ÍË>åДnmÌ=x7©èowï(]¾_(Àß<ÇÿÇ ^lÞ¿ÿðÍá…•› ÃH2#Ÿ=~ò2I¬`F–â7­ÿþóCrÿÇÞ}‡Eq´Ÿ½ÆqtŽ‚¢Æõ3rA@)¢ ¢‚ vÅ"Š]DbC±{TÄ–hT,¨Ø±DØE@z?ààúÝî~ ebŒ¢yOr·;ûÎìxûÞìÜΧ)»(éüŽ%þ>}zõìÕÇÃÇÉÎóÏŠeÐè  J.N²÷ÙŸ.Säç>ïÚ«ãúÏ¿É'„W¸õ_$Æyñ3¬º–)ÄI’Þ›ïâ³;U¦È9êç8íFI’$©È=>Êñ盲ôý#\æß’¤äeÄ`Ï5Ib’Ä‹ÎNrû{>®<.È|›R ªÈHú;…“$.̺»kœƒGø IŠ“V{ ÞTÿóéCidõ!䙇|î (Ë—p^ø(°rÙ—AßÞ¹ö"ÏÀqò47Üó§³­c/«Os“„ÙªÛÀ™Ý΄V-ù^IŸaæÑÛ7%‹~\ö£Ö‡ÁQR.Á™Z:š,LVø0fß=¾¤µŒlòehú½GÛnÙ~ÌjÁ ¶²§×/;n²áäÏY›fîn»rç°nåúã)­ìü–Ìw7¡CÀÿÎg¡ƒ·uöS‘í°n52š~ßànöwp6ÿœúˆ™Šcó7<7=Gp ‰œÈ>¿ØÇ¥Ÿ_èu£QÁ\mc Ûä£\ÜüBo[Î ŸÞI !–‰­ ;nÊÐe5cÕªò5àdðq`™:|‰o"Ѐ‚@ HA>^3Ÿ ‚Ëñ¢"ÿ=){m©©ÓLÚÒM¬ [-(!J ðŒWå)/äü"ZqÖ7ØlMfÍÖíé–ßÓ´  s- Áå²´gü'7I\¡áâ§Õ±û·×eIw$÷ÎËxyúѺ:@çþ=M ¢Èx-ÌË Õ5§¯Óhß ‚¨\AùÕ¯T¿Þ⧨¢ê]n½ Æ-%KóoˆÒè|<ñÓµþŸKê½.y¶Æ½÷œ;‚¯ÈÞíô²¶ˆ K.úÛ Œz#k¨\áÝg¿˜lå›DùèÉöN³ø²´=>. î«xð©¼ú]ɳ5ž^‘¯¥µ^ü85ŽNùÀGEÖa?—¹‰ÂæÔHABDIüÍ_:ýÇ#„0 «þ›$I ÔW¿ÞÒž¸ªL2ª#¬ùzõ»ÊWèêšœþ¤ïžâ¯ sðqÿàøwÂ&N¼Ÿ‘1ÍíƒòÏ÷q Ͼ}-³{Äùí.: Ã>³ùZ³¨7¤S½Kop—fƒ^À'LA.Çäv+S„Èúê@µ¨±š‰ˆò?”á)“(åßÊ?†´:þˆI*¾Éù¶|˜ŽÃ’°G¡9xUðOÚÿôzLJÒ/¬÷÷ì͵u¹0楀P~-&ÿ6ÑÓ˵óð_{.M¬È;8;6¯ôÊ‚‘Á7Ë%wwm8ž*Cxnì¸Ë.œ ŸâÕ‡ÛÓyTèù,•ï 3ŽÌ 8]˜{tʈÐG"¼j„pÞÃ}A#Ýzqm‡ÍÜ’##©Ë©ñ Yëè$U Í®‰Y‡G{…^<½ÊÏmø¶dô-ð_MA"+/ä¨ÎÕ½úZN’„ò -êVŒ2Âê´£~®¢LW`Õþ¼4]ä¼aßZGAzþO “¼Ùv§Í¬ñWcw~rø™Dˆàß[7{kŽSØÉ„«± xºnö–ç:C£¶23öŽ>ѧVÞƒ]~Ðyil|ü~­k›w?¯º×´»së0#³Ñ{O†r?,TÄ-[p”ôŽ<{ýÒî©&W—y/k¨„ÝtX£*Jh^žŠH„ˆ‚ø¨8½ ÂGY1¡gÿn R}e&I„¦¼`«øÓ2!’DAÖ¸ª:dš>ÝÈiÒÈÎF]ý&9þÓõŸ%ɧϗþèÙQ_Û¤Çèc,èe‰ohŽY4Žkª­kåã‡u+ÜÞÿéQRy£z0¤ò«/ñÒôcóG Sò3}ÑæÓÏˈS•/ò§VJRU å?îÊêPæ åצr¹Î‹xÕ;xÞ‰Ñã϶Õ,9sÓþ‘)³Æt¼&€©sàs¨Tä‹u¬-8Ê¢,£ŽF,„p~.O’yÀ¿¿‹‹‹‹‹Ë ù×ø²2ʦž¥¾ò×X>òðòü –©•®2yÂ8fVšÂÜrE3ÊQ]Bók„± ­ `ü|›šóh2啹jêD% «ºAC’„¤¬DÖþçí+ìÔE¼ŒGìØ÷ËfÝ]!}õ[Ð3XI’Ä*ÇÈã;$IÒ0L9%Då(†*®­Oè¶Þ­UóªT5Om­½6YÑgö¢î?å €¯û[Kƒ…——ˆ ¤YùH^š]NªsX¢L!è:æšü”lÙ‘…!$+J)’!D×2Òå|?öøoÞÆ4„!ÌJÉW³ä TUÿtiÍA kkÊdðq{ :B¤(?CÀ±Öb4£œJhf¤©£Ñ`øÀ(Hõ•Y9TPg\)ÇHŒ¡®¡©©klù?±Þm¯ dHšñçº@?oooïÑKÏåÉIyáýßBöóöö5cÕ¡År‘ÖŽµæ/I"RšºoªïÒ¥‰HYFÌ ß…ñ6üµmÀ` &B4}—ȉìó‹}\úù…^7šÌÕø¨”ÈÄÖ†7e貿D5þZá‡NÎØ×}rtžëêÍÚ7oܲáþÝðiâLNéý¸œ_Æâ¸B&“ÉdR©T"•J$qÍ?Ⲥmc <ÌÛ{è Aƒ x8©X$—Ü[5ÂoÃã±X$‹Êžm;$àL–@,‰Å‚¬?†ŽÛþœ/¤Ÿš=tÚáw墼K ý&Lñ›òë«2QÑõå#&îzYVúhƒŸ×´í É<¡¨²œ¤¨1CæžÍˆÅ"± ý÷YC§N®W¾«êO˜•”u‘ɤ2™ Ç9¿Œ•Þ«Ûü«SzûìO—) .:;Ï»X€+rê=îϼ¬ØQv~1Ù åÏnJâg8ÚüZZs_ÉˈÁžk’Ä$IÊÒ÷p™OHÊ3ù:Ü༠SzÛ*Sn*ükE¿«“Ä5öÜ[äì8yǵä¡•òøRœ¤Þ«¢¡2½Üãí0%®WžÑ¬›çR…)NZí1xÓ+ I]æƒkÜ®•*d-}·kˆíÈ#YrøGÍLWò7·Õ?`%kŒ8A"z;ÿµ‹zj2AÁ»[Gw¯ cnXÝD$BDåTVEiž€idÊAÊÿÕ05f òø2‚¦÷?;ã˜{IEn­ Ú «qü÷'CÚÝIaw÷1e¨±&.ó?zøà‚‰{Û»Žš<ÎÙ’,Ë/ÇSwÿì·»*>½ï ‚ 7i,çÃMb CIbFT>WÖðObèFý—,¼â·aÝåÿÍW‚¨šzÖ´ïMÕÓÐb•_q©a_kb†íÒ]ËÇ™;p‘ÐÂqøÄihc îEY&Ÿ'«à´1ç(_bY8 ²@!IÑðˤböµ¦Î]‡ÌÀ?ÖŒ„¬~Q™ƒ|H@*_ H„18ÚÚ:ZÒÑ32ôöÅ3D®„ò é!LËDC–šËWüÀ¢!D”çäK5;hЂfÐÓÁèÛ÷èe´²›ÔEçÑ÷d¾aþ8¯5“ Hv[Wÿg¿ô›{×þºQÝ*ÂG£•³Óø­+tkÜÜP£‰0 C$Aʹ©4D"š².ܽ2r_²øªïºµ—¼qÔØÔ³Æ‡lUL¬ûP%avºØÚ7tÿÔPQöýCK‰-O/0V5yMe™¦ø)Ž(©@L"u !iÚ™ýwL}ÇþÄi8cÑúS瀪yÓQITc©œ BãŽX~‘ ¿¬´¤(÷ýÓø£1Ïæ]Ì œ@ˆÄq…W(pºEß¾ÆéÇöÅ=Ë.Ê~vaï± “¾}Íi¸BésŒÒŽÿö\¯÷÷Úì¶}:þqðÝÆ©5CKŠß,oCÂÚ€”‚ÈÙšU7c”ùHuŽ)U‚U-þ†µ°çé`U ”r´CÕƒ"$BˆVcB Iü´× 5¦¦øò)Íб8Y'·› Fb$"FS^Î1 !‘4„”x «¼¹ÑÒêª|ø)‰>„GÔ·¢*ë€FçÇQ·þ‘ÖÊ:ð/4qÆ)*—$ÝÉ»GZþ`ìêÃäèÔM1H„°¯áF-†‰ä"~Þñ­ A‰¹³7ëǾˆKC_:Aáùéâ7xù9xú †¤â›lܤ½E/Wºyš!Œ‚ðˆŸ®ueðÎà®ìú_hdy‰¿mþõü£äœrBÓ¬›ÛعûjY‡ÇNxpn‹ý—.¹ðnÀ m?>2Æ‚b ˜(¸uÞÊïÚ­>·ÙêĨ)oƒÏGôâP”"OÛã§|—öl÷rõM'ƒ¾Wûð"ç£B«qôí.:õ›ÔÍØ`øBšÑé&VÚúììwd§n¤TüM6ÝÄŠfÒ&‚ðü;¿ÌÝR’Sñvšÿw³¢–üTsi$yÖ©¹£7æ:Ιµª£®<ûñ™m›fc±;†}-õkòÂ×têwT/þã£Ã"và?”‚ „0Ž6££ ´ Ï ‡%a93”j^\+ÿ@$ÿÞÖÏ»,ÿý/c:B™µ™NfÍŽ¿•3ȱz#iæå­«wžÿ;WˆiZ:Œ[:éGm²ðÖŽU›N=ȱŒz _¸zn_#:©^D„0ù̦µ{ã_â†ÝÏ\>oP;u‚rËš‘IÒ/F…m?÷¬˜Ý®¯¯[åŠÐõŠòP¿8;6¯-)_wb­ÕÝ]^9öÔ/Œ8õŨŸµÿØsái­ÃÀù–2)¹»kÃË ^F—çœ. )#Ê·[fX¹‹!ç=<¸&"61­\½5wèœe3œÍéyå´®ÎW*—Ý®<úÆ>%õJ 5·FƒÚ1³Ÿ•:nöÛŽç½wÓžõ>4àÃKÓEÎö­u¤—áµÞ¿»üÙw5þpý§›yoû#z´eõÜ+‚wmõ/×Lþ5.!þXXï÷û6Å”ëE7}érª-k’P­MQÔs¡*¾Æ‹®F?è¼46>~¿¿ÖµÍ»ŸWYk=êÛ«Xa[e9¨î²ÛDƒkt7µFOE$BDA|TœÞ„ ᣬ`€ðõ¢9MÙÙ¨«ß$GÃZc ¤¼´@¢i¦Çld%ìä‘%:i²Ù-uLT*Âi &MÎÏÏçú]ý¢Îž îÊFˆêE¢,ñà Í1‹ÆqMµu­œg,tSܼ"§Ú½f’|ú|éOAžõµMzŒ^0Æ‚ŽT%U6Ioã=Õ£†š~gW—Öòbaëà×=3Ÿ¼`D7#-ýsºç>›&mF9Ô%È>ªFfæ»|†GëV,¸½>˜™øl0¦ŽKW&¯¹4Qöì•üïÜ;UmDSd]‰ ¹øŠ‡éZXj–“¢^/šÕôE¤ÙT»×¼œWä×_ZÕ*ÖºÔ•cêYê3*kЄ‘"U+l7¹Õ%4»FcZÀø€ðíbwpïN„¼šßsˆ ½êË|ÂæÕ»,¶÷ÿ¾2#)IX1ÿ˜qèî#}[sh¢û G DR®mUÐÄE¤[“Ùïêm¹ðµã6:æõW„VµŠuªª‹ÖŒ„VØnb9 ¯ÑÝœISF£ÁðøìàF à3~âè9ÎÞéÙšiKÝ|‘‘—ý&ñäêYëß|ïïß­z–)—àL-M&+|³ï_"’áTëE7}i¹€j÷Z©ŊЯbÝÊõ¨?$”+l«5£À†×èþ 5FA_VÛÑÛ™ìÛ¼gýÌmE"º¶y—à_gû´eY•YŠ~ßà×–ö?Î4ìÐ{Ô¸™‘Ûçor:\½hjê"ÒÚœ.[Ö¤ÖbEhêU¬eQéëQ‡Ue”+lç6'¡,!«ù5ʆn ¾ ¬å¬g €ÿ¸HA)¤ €R@ ) ü'ˆŸ®õßø\RïuÙ»^ܺÆýQHü;aHž­ñôŠ|-EÉÓöø¸,¸/ú”Å+²û¹ÌM~Ò˜‰ò‡Q“=ìf%ðÉfTx7ÀÙ/&[}|=àí€O‹äßùeîî”’œŠ·Óü¿›µä'íÚ«0;-ŒÙÚO¯úEŒ¡¡ýï¢ö™½¨»5«Å·Ÿ<ûöµÌîç×ÚkÃê-àÛ£ €O ÓqX6Pƒà(4¯ þ©þucjêêê} «Å¢!¢ðR«gØýr!iòžÑ.“c3å!B˜üGØDO.×ÎÃí¹41‰R?Ø8ÜÅ–kß̲ØåB²”Þý—?VrÈÒvû¸/M|}dfÀéÂÜ£SF„>á%wwm8ž*Cἇû‚FºõâÚ:›¹%!GF"<7vÜÀeÎ…OñêÃíé<*ô|Víµ`„‰óúM8ôgät/Gn/7ß…‡’ø5GnHiæ¥Ó¼úôärmûúíû»œPQ&^xkë¬!N\.×ÞsZäB¼Öað¼Ó³cóJ¯,|³œ¤ µÆA%éÖû{öæÚºŽ\óR  ˆ¢ÅY‡G{…^<½ÊÏmø¶dôQ)à…—¦‹œ7ì[ë(H/ÛúYdä¾8¸Ó­5;žðRb~9¡1=tx&"ø÷ÖÍÞšãv2ájìž®›½å©H‘{fQðŸ:þÑã®pÊÛ´ù)åí¦åØ[‡™Þ{2”Ëù]AܲGIïȳ×/ížjruyБ÷2„^t5úA祱ññûýµ®mÞý¼n¡Â—;ËFl9{íTXŸÂÝóÖÜ.«NBÞµÕ¿\3ýù׸„øca½ßïÛ_HP–Yq/<äOÈ× IDATö„è ×â¢Ç`g~ÙV;vºé°¨í£ÌŒ½£ÏDôÑ&T„ª$y³'0ìN›Yâ¯Æ,îüäð3!‰¨[ŒDˆ(ˆŠÓ›°!|”z(€ð¢9MÙÙ¨«ß$GCzý·eÏCÜm?̱óŽ|%­LBæ·¿¶pê죜©!Þ­™e‰ohŽY4Žkª­kå›&Eˆ¤·ñžêÑNCM¿³«Kky±°îüÇ!`¦k[= ûÉ‹†k$}X=YÓq;ydÉ€NFšl6GK•ŠpDU&Á¤Éùùù|B¿«_ÔÙ“Á]ÙÍ µ*‘$Ÿ>_úSP gG}m“£Œ± «h±)Bfæ»|†GëV,¸½Z ˜ øÜ;÷mpÖ­ºb ÍV¬Ê‘¾“Ü¢üÏÿ0·¿!„p~.O’yÀ¿¬òÛ.2ìùÒ·5‡&º¿`pDÕNuÊ$„ÙébkßÐýSCEÙ÷-]$¶<½ðµæ†Š¢ë˜kòS²EʈdE)E2„([Ì’#MEà¥}@>/WÊ?¨ˆq„,-våArâÆˆˆ™­Î®ÚóBD"š~ïѶyÑáÇžä–—¦'œ?~Îá Z[OoË—Û·_N+ñž_y&ɦÑ9l~Ò•û™B)ïILôÝòêq…XZsB ÝØÙ·köÞˆß_ JS.m‹úÛdˆ—µZâ&D·"·_I-)ɼ»wÝ ¡ý(Ûê‘R.Á™Z:š,LVø0fß=¾D$£¾7TñhÓÌY‘WÒøŽ0„è ÕŸÂÔ¡V™°; dðpSdÜÛ¢²ÜÇ11Y8FÝb È=Œ‚BHþj˺/0{o½ºÑøÄÊƒÄØ}#­8,³å“ÏÝßïÈìÎú.!‘…ë×/ö‰,!õ¿wŸÌÕ`b~kËÂ"'¹-iµs™º1°;ÑØæO¼±b™÷vkÛ?Oï¶åBˆebkÃ^9e¨h×™P£ª »É 5Ek#æÜP®nζzó„ö,”ÛxÜjfC’ÇfZÊc·sšºiy_}ZNåw9ý¾Á3®- ìœiØ¡÷¨q3"·Ïßà°Õºþ·>c §+6Žr]†3õ;¹Í ŸÞIuúCjVU<ü7‡ðWm÷÷Sk×w\Àà¼3ѨZ eC¯-F’$´4L˜8oðæ®ûúÃJøTàF À܈À£ €‚@ HA ¤ ‚RHA) €‚@ HA!„¤/6 àr¹¶SÏ!„ÈÒøé¶\®×Žd™Š]d©¿ãrmg^ã“M> YrÑßn`ÔBˆ(5ÙÃÞiVBí$ÏÖxzE¾–"„ðÜØÑ}gÝ|Ö¦= éï½óìóMx7ÀÙ/&[ñíè£|é“þå:À§<­ÒWÛv¼–B øªàÅÏž#„ˆ¿cãs!$I¿—B Î÷\s–ŠlB˜ú8!‹Ûr°:¦<ûöµÌîç·»è`pøÇß#R®&wr³Vƒð5!…ïîe „½;q.M†¼àïç|„Úõn§N”¿øcü Cœm¹¶ÎÞ;o*<ãÀˆ~KŸeþ:1äaEù«3á3†÷³ãötòšu=W†BÒ—=¸\îè¹xýœ'ïtàìØ¼Ò+ Fß,ÿ0 "Ï823àtaîÑ)#B‰Bˆ”fÆ…÷tàötö[y.K†"„É„Môtàrí<üמK׆&Îë7áП‘Ó½¹½Ü|Jâ‘ÒÌK§yõéÉåÚöõ Ú÷w9R?Ø8ÜÅ–kß̲ØåDÍV½>8Õeàòø|…ªÝåù·¶üìåÔ³—ûø°±Ó]§Ä—‘…‡HIú…õþž½¹¶®#Ƽ(I±uE¨¶ÄscÇ \vá\ø¯>ܞΣBÏgÉT/¼µuÖ'.—kï9-òFaÝs#KÙéÝùc‘òÒvû¸/ýK¤"œ÷p_ÐH·^\[ça3·$äÈTERûÜ×ÝKö‘']‘ux´WèÅÓ«ü܆o«1Z×;@cÍNY~3N+BH’Ÿòƒ[[åyQÕVÍü €ONül»ýœÃQÞ66ýÖ<á¼ËS{ÚØxíxË{émccÓ{ôâ v´±±éõóù¹(ûæZ›Q§ç$íiccã8nù¦M‹Gô´±áŽ?–%'ñâøùƒûyLØõFZ} ‚waR/Ïͯ¥$IJ^F ö\“$®LÒjÁ›^IH’Täõ³±é·ôü{¡´äÅ‘©Žn+‹ð²;Ëúõ™¶ï¯\~éû„ˆv랉îÚÙØú¬»’VR–uwÇ„ÞÎÁ7JEqSíû‡Ä½.àóRonj7æd®È9éïè÷¶˜÷þvô$‡~¡…¤ðñ ÷a;Þ–½=ò³ó€Eçs¤$I’8ÕÃczZu1…ÇϹ·c¼ÿåÒFÿÚ:ä§+Ï¿åñó˜î`c3òH–”j¯ ÊŠPm)Ï9:ª§íàegSÞ³CS\–?R¨ävP— ß_”å'™æè²ü‘°vóKßí澬òUiê¯Þý–<R6©,ÿÏéŽ.±Iå¼ä¸UƒìFîK•*¨"©Y¾‚j¯;é²ÌC¾¶vî“·\xœR$%Zrà7Öì8uxM=­r’%EÌù5Yª¢…å*ÚªY`ð¯Ü†ù›‡PÛ>ÎÞ¾QÉåØ¿‹ÒSÄéÜMrjMLê8çÐuÁÁk·/ïACò´ç ¶†,³! '‡Îj·LEF£wþúKPPhÈðVˆ|}+MŒhý"ÎÆ_8øów¬ËzüÏý­8,½ïœœÌä<‘¼,ñà Í1‹ÆqMµu­œg,tSܼRçþ7ã0Óµ­žŽ…ýäEÃ5>äk;„<²d@'#M6›£¥Ž‰JE’Œ ±ÉßÍ ÐÑ@ßÊaRØš']D"„HIê‰à)›_÷ YæiÆB!L§þîâ÷gOfv3ÛÝZ_Û¬×Ĺýu襄'I>}¾ô§ @ÏŽúÚ&=F/cAGˆPU©zy~—zK’ÞÆ{ªG; 5ýή.­åÅBÕÁ¤Éùùù|B¿«_ÔÙ“Á]ÙM„¯ɽä„cÏÌ'/ÑÍHK¿ƒÇœ€îy§Ï¦QERsd/¸N±—ìcO:™ù.ŸáÑú kÉ@ÞX³S•£&ŸV„Do.eüÏÕ’¥º…UµUÓ1à³ðÉoÃ’ïe dÌýÁм•_ÏÈ›Ïè•#Ôµ§ÚØ D³™èÕ–…"åb ~}¦4óa*8ß÷0<^÷”@¨ðèDÇ£U%jêiÐ?QpÓ !„0 Cáü\ž$ó€ÿXåw2\*dØ êŒk3ôÚ™°•Ÿ³,“N†db¾€T\‰ ¹øŠ‡éZXj–“Bв¬ Ns޲ –…Ó „!yáÍ{]|íégöÄe÷ôkÍ@£)²êïžY¡ÑÆ´j÷Vm ˜™‡‡Wä‹uÚ[TN au4b]W½W½Šääd©(Ÿ©g©¯¼F`4•B¶Kw-?sdîÀEB Çá§M Ý@ŠH*›4''§‚ej¥«<ÓÇÌJS˜[® ˆ¤Vº[žO¹ûãN:Æ2´6`R\,[X`7ÖìTå#ÔäÓŠDo.gwÙ†…LE «l+HA_4ã~²±;ÙZ°h½G9¨ÿucÏ „…m<³!“IG‘¢7y…P{cT|óY B]ìÚ2ù— „ÚNÙºªF*ı‚¡Ó¶‹ú§ŠÃje£kér¾{ü7ocBˆf¥ä«Yrjï¤(MÍ—YBò‚ä"¤ÓJvsÅücÆ¡»ômÍ¡‰î/C˘#J*“HCHšvfÿSß±]b𸆇Í7¾™;bÍÆË.QPIBýÝéZ&AJ¾˜ìÊÆ’§—È›]Ç\“Ÿ’-RF'+J)’©Ü+åd½Š˜˜˜Rm©È@£Õj)ÊÂìt±µoèþ©¡¢ìû‡–. [ž^øƒZÝÄ£2óó2K*šÔÔÔLSö8ƒÛkÐ"Eù޵Veâ òk6]ÛXSö þ^ò9éÒÔª¥®ÖZ“Ùïlv‚ªüªä¤ñÓŠD¯.åöÕšÙ@ #UmÕtp#ð©)Š’ž– Ô¶·5!L‡ë禃BH£³e›ÿµ¥!Åý°9+6mX4yÊÞ÷¨Ýø¥>­’Ì¿2ÂÄïždku旅ÐûÓ‡¿råÔÖÓfìzÉÔaÉÞìœàáî5?¾˜ø˜˜ÄR\ÕÇ ~ïѶyÑáÇžä–—¦'œ?~Îá EVBt+rû•Ô’’Ì»{×ÚúIG!Á™Z:š,LVø0fß=¾D$cXyz[¾Ü¾ýrZ™ˆ÷ìøúÈ3éL6 !„±4Ôh4C׳¿{u§”@¤¼þî,ë!CÍ’¶í¸’ƯÈ{xxûÕ2!šA#á±; dðpSdÜÛ¢²ÜÇ11Y8¦ºRõ*ÒËÚ¡ñê«>ªx´iæ¬È+i|‰ GBtFë cÀæ']¹Ÿ)”òžÄDß­š Y/»N.¾]³÷Füþ¢HPšri[Ôß&C¼ý9ÝØ™b/Ö§8é-¸È5;Uù”?v§<­Â—ò¹}-˜´ð?)à«ü5Œ‰Mg=BqºŽh„BÖöí4ͼֆ·5Ç_^:~é-ÓväÒßöÎî¦!¦iO®)‹L½z—§Ñsþæyý¬ÿUùOÅM;­‚ç— m+3U-üIF$I’„OLh€0qÞàÍ]÷õ·bþ»’åÞ½šbÞ×ÑŠƒ!$yî=_¸úϰê_]E¾¢HþS ¥Qh9׺¤}!a§^ B”váÀeI7Wk6´ t€oLG€–‚Õ~âºÙù¡¢4-K»‰‹áA¯Ð¾]p#_܈¤ €R@ ) €OCž¶ÇÇeÁ}Q‹(5ÙÃÞiV_öÏbVdös™›(ü¯¶­äÙO¯È×R„ž;ºï¬Ûèɵš¥QÂÄy.¾‡2_A³À£É-ݰÏìEÝ?ÍŠXÿjxòìÛ×2»Gœ_k¯MV´è˜¿–¶…žü_£ €OL‘ux´WèÅÓ«ü܆oK–“ÿ›èéÀåÚyø¯=—&&B²Ü„Èé^N=m]Fí:²|ȸ˜lQÊNïþË+¿&ÊÒvû¸/ýK„—Üݵáxª¬ eâ…·¶ÎâÄårí=§EÞ(¬·D*ÕÂÄyý&ú3rº—#·—›ïÂCI|!DPŬ(~°;p¸‹-×¾ÿ˜e±/Ê „*Ã圛WzeÁÈà›åŠª˜)w©óÝ8ÿÖ–Ÿ½œzörv"vºë”ø²‹$¥™—6Nóêӓ˵íë´ïïrá¹±ã.»p.|ŠWnOçQ¡ç³Tˆ²5Ú£*N<7vœgðÑý Gºõ²uñ 9ó$aë´ÁN\®Óˆ ¹r‘¨žø˜Só¡=2ŽÌ 8]˜{tʈÐG¢ÊFˆ ïéÀíéì·ò\– !„óî éÖ‹këO*ÐnoÁQ.¿Å2êhĺ^ïšH4¯LÛvé®åÇcŽÌ¸Hhá8|â´‰´kÝx×P±C¯ »2“N†dbNNU̲ NsŽò%–…Ó „¼ÁûQeY»ÔÚ ³B£iÕ­Ú03kÖ—¦ÈºrñÓµ°Ô,'«–+cêYê3*7Qy ù{ªVRy „¦¦¥FCa chpªŠÇTFB<þq§¦¡ŽÄ4h£ÇPAÃBxy~ËÔJWyÆ8fVšÂÜrªC`üÆZ@U 7ÜÓðFÎ u„µæ†Ö?ƒ ö„:)ˆªòk¶)ÃÀÚX­ºWÑ ò²šÓ |Í9ˆò‚A×2Òå|?öøoÞÆ4„!ÌJÉW3®ø•]–’-";²0„dÅ)ÅòêÄ£2óó2KÍ)³5™ýNlíºj¨(ûþ¡¥‹‚Ä–§þ öa E˜^+„¥©ùe(ò‚ä"¤cbbZ¿|SüG”T &‘:†4íÌþ;¦¾c{4Ôt-cŠ]~Ò§}ØÀ„#HÉ“]ÙB²âô’š) Q’°bþ1ãÐÝGú¶æÐD÷ ŽøÐX£mMÑJ–œÒ¢Š„2ø;5 w$¬öB±tmcMÙƒ >n¯AGˆåg8ÖšŠ“»À¸‘PÝ õ´š%P7U„ZŒ:]¹Îl¨'ÔíWM(Éy©ùRÒš…!$+x[ŒX˜™~ªþð)ÁÀ¿ø £ß{´m^tø±'¹å¥é‰çŸs8ƒñÝÐ:÷7Eƽ-*Ë}|tãáLBˆÎ1`ó“®ÜÏJyOb¢ïÖŸ»ÙP™rÁ£M3gE^IãKd8¢3ê|ºU¨Ø€ÝŠÜ~%µ¤$óîÞu'„ö£zY;Ô/ŸÖÖÓÛòåöí—ÓÊD¼gÇ×GžIg²þüdY5²‹šõ¡fIÛv\IãWä=<¼ýjY­/¥¤\‚3µt4Y˜¬ða̾{|‰HF6ù@ ªVR|ܺïT‘°¨‚§4ýÔe/.ÜH¦<Í ±TÕ÷sº±³o×콿¿(”¦\Úõ·É¯¶2ŠCÐmÆZ¸Ñ(Ï e„ ÿ¦‘žP»YšT>!¼±ygBZIIæ=kOJœÇõjçðÉú¤ €¯%q ‰œÈ>¿ØÇ¥Ÿ_èu£QÁ\ õ.?G.±}¿m’‡ûØð×܉ÿÓÀ¢› ˜?±ÍeÞΦìWøNïÆiN™ÚÆ!A¶ÉG¹:¹ù…Þ¶œ>½S­ïÙ4U¨™ H›=È}øŠ†S7-ï«O§Š™iå±Ö-?z’›Ó€¹çõ¦n ìÞØWÈFwaµ±Ò!móX×S÷‹=‡[©ÓÕ_iú}ƒgt¸ØßÁuØüsê#f:(ŽÍßðTÜÔQ¶üGžCªH^™RߌS#Ë>Ÿ_w°‹ebkÃŽ›2tÙ_ÔÏР› Zá‡NÎØ×}rtžëêÍÚ«S¢±h¼…mCÊ3È ˆ°‘O ö„ºÍBoBùšÝ|ñó¹\•h1;*¸—ö§ëŸÌÞ|Q‚;súúÉ’‘cß t¾ï½ìËÔ\šs'îæûÊŸ%ˆŸ­÷è·â±èk9mÿž‹#$OÛãm?áÔëÛ»6OÖ!DJ3ãÂÆ{:p{:û­<—%£ªlý½*ßÎ;8;6¯ôÊ‚‘Á7ËåY‡G{…^<½ÊÏmø¶dïá¾ ‘n½¸¶ÎÃfnIÈ‘‘Ïç|tÿ‘n½l]|CÎk¯m­¦­U5IýS#Lœ×o¡?#§{9r{¹ù.<”Ä'T[¿‡¨lgŠÝkDâ9it_÷•• Oß?ÂiòÙBþ…B øo¤#EW£t^¿ß_ëÚæÝÏE÷ÂCþdOˆ¾p-.z væ—mOEL˱;·32½÷d(—Cð®­þåšéÏ¿Æ%Ä ëý~ߦxªËÁ¿·nöÖ§°“ WcþðtÝì-OEâ7{Ãî´™u þjÌâÎO?ÖºP2Lìœ 3o¼.'‰²‹h(ýÖI”>»S`áÆ5 !„Pí`B¤ðéoÏlÂN%\98EûúÖ}/(WŠ«»WÕ—wÓaQÛG™{GŸ‰è£!DÄGÅéMØ>’}eÙ‚£¤wäÙë—vO5¹º<èÈ{B/¼qF0|×ùK&ª_^ýó~öÌC—/ÿê‡]‰>•&«×¼ÍÙøCÓUÅà«u›²©ëŸ5¼ Ž2ZêbuÕ?5$B—;ËFl9{íTXŸÂÝóÖÜ.“SKÑCT´³ª¨ª"Ù¶j¶#zxé!$Ͼz¡à{ûVpÕƒðß@ÒÛxOõh§¡¦ßÙÕ¥µ¼XHÐLšœŸŸÏ'ô»úE=ܵÎb˜ŽCط颋cIDATÉ#Kt2Òd³9Z꘨TTír¢,ñà Í1‹ÆqMµu­œg,tSܼðâùéó¥?zvÔ×6é1zÁ zí½Xmœ~Òxw#E,|w;¿ãX/ã÷·RÅ‚77²ŒíLTÝ—fYÿ¹¿‡¥÷““™œ'ÂÿIƒ˜™ïò=¬ðÄãÏÌ'/ÑÍHK¿ƒÇœ€îy§Ï¦I"Ù?ŒÃ5`ëvèmgαñ÷ë®§nÐ¥¯m+YIý#7kãz1X:R6u½³&/¸~¬~´2êbÛ2ÿVïÔ¤H¢qfº¶ÕÓ±°Ÿ¼h¸FâÑ{É ÅÊë!Õ ˜ª¨ª+Øæƒ{*/§J<ëÊE^·á½ôá¢×’À\À¿‰©g©¯üœÁ”þ¶Kw-?sdîÀEB Çá§M ]kÚFSd]‰ ¹øŠ‡éZXj–“”3(p~.O’yÀ¿¬²X\*dØóˤböå,£ŽF¬ëµwc[»v'×&¦¼“¦êö™<àý¥ ÓÞò’9½¦X0UÔc´Ñc(#£ýãÙËÐÚ€‰¬<¿‚ej¥«Ì‘0Ž™•¦0·\¢©i©ÑBFܪƣ>r36&‰º1¨nêºg W-‹¢jrªS#Àbèµ3aWž“N†dbNNE±ìÆzHuPUu‘FçA\Ùºø´ì[—Jÿ7§§d ‚þ;ê\ avºØÚ7tÿÔPQöýCK‰-O/ü¡Æ% +æ3Ý}¤okMtÁàªbéZFºœïÇÿÍÛ˜†"„Y)ùjÆ¢šü”lÙ‘…!$+J)ªw7‚ó]¿NÑ—®Ò‰®K­¾kÓ®lo|¼”챤©ª†}Òö a!º¶±¦ìA·× #DŠò3k­Oÿ‰L•™‡œ—Yª¨CM]ç¬5-ÚªªQKNÊIEij¾DynäÉEHÇÔÔLSö¸N±šªÒ‘ª¨ŒêC²¨Ñe𢠗nawÊm‚lt`BpË!೪x´iæ¬È+i|‰ GBtFÕÇB,ÅB¤\‚3µt4Y˜¬ða̾{|‰HVÿ׬4ýÞ£mó¢Ã=É-/MO<8üœÃŒŽÃ<Ü÷¶¨,÷qLDL^÷šƒiwuo›uâDn»Þ–êZß÷1M;zº¨s¿Žêu¶« ¦™š¾ÝØÙ·köÞˆß_ JS.m‹úÛdˆ—µÚ'mj:Ç€ÍOºr?S(å=‰‰¾[oZoÓšZe´*~óDyjB„èVäö+©%%™w÷®;!´e×É¥~±me*{HvnJT˜f—Áÿ+;±ñßÖ»{åO’ˆ²— n&WÀÄTHAÿ­Ïc Ûä£\ÜüBo[Î ŸÞI !–‰­ ;nÊÐeIôûÏèp+°¿ƒë°ùçÔGÌtP›¿á©¸þ…Î%$r"ûüb—~~¡×fDs5Ô:øoqÈÞéïá>6üµmÀàú·Whú=\­jãØQÑ ºÛ#zçþ?hÖLU>Óœg›4s/ºÉ 5~èäÜ}Ý'Gç¹®Þ<¡ý'þ3ÝdÀü‰mî,óv0e¿Âwz7NݦhZS77ZÊSƒR32<6{ûð7 §nZÞWŸIQ¬:u¡jç¦D…iýÏ«] Þ{Øÿ4+_’eŸÙœP?ïýâ0’„‡åøw ç ÞÜuÿQ+æg>²èÑÊ¡+`ø‘§FA€Ï€”ñ _Ûsƒåêý=䂟‰øyäøÉûä^ '}φÖhàF ¾¤ €R@ ) €‚@ HA)¤ €R@ ) €‚RHA)¤ € I¹¹¹Ð øÌ0’$¡ð™Á@ HA ¤ ‚RHA)¤ €‚@ HAþ4€o›T*ÍÊÊ … …âkºB3ÚÚÚæææ,«þ»Þ—­üã5O !²%DK£a¦ºœÕ>°Ðjâ.I’Ð;|«$ÉÛ·oMMMuuu)¯å-9sâñxÅÅÅ;wf0j ÜK-wø)“Åb04Z‹¸¡A„\.ÇŠØY¶V­8‚ø¯{÷îžž^«V­¾Òøsrr …¥¥eÍlL)“Éli“¹žÚñ™=›²1Ìð-«¨¨ÐÓÓûzã700àóùu^,Hꌋ´L&3³XØÄ!ð-#I’N§½ñ³Ùl¹\^ÿu ÃZ`´4 Ç HAÐrA HA)¤ €R|]`!„)ç½¼|êܽ·YÅBRÝ »·S;ãË:^¿fÝ[ïusº°ÿͱõ¢f·o›œ2é\i‰òYè4Ö±]ûÿýlÖsySŽÎÔ òo'>óbWñi£ƒQ!¤(¼¹}ÕŽ{4›³W¬ùeét‹¬ß£¢oá_{Å4;ZÍéÈl×{)|ùÇ™´¶ãÂ&ÛëÑB¨•‘¯!Y´õQR±ƒ«>ï¯ßüyï]±©wu7Ñ£ƒ:ïÚúˆ÷®^·ÎßO)¡Yô9}¬翾xøXÂË|©fëŒíÒ–ƒ!R’uçxLÜ£÷¥„n;»!ãGØ™~¾«¯\zî‰ÔÙÍÒ);õ†°ÖÀÇÈpV?3gS] ¸t'}× ‰æ÷í÷ôQ¬9øþ‘„fm÷ý&«âÙ§øv#:Ô¢£Q]´ÿxžù)B`@²ì¿Þ¢Ü{è}¸.ÒZ9„¹ÓË>ôDðüõ›7®œÔ%?îÄ£R!„—=þóµå؈ˆ…êONžO“Åw~¾£á±büÿxî8ùNŠHá˘-¿ÿoRèæM+üÚ¦Ælù=EòWˆ% _§oÏÓì§gPã‘î4uÀá­MSÞOÚþ÷ÔkÂ.ý:N· ñÞdl/Ð rÔÖoe¼àGü·‹…ÙrÉÉ“ÉqÒS±Ÿ8ÿ€@‘ŠŠR™z+-ÊÅd4ºú‡.óS]6‹Åæ°0i…”@!º±Ó ŸLÙL-«= q¾XVðàZvë¡>?Yhk™tà?ŧ›&IT¼¸ô”ã6ºßwM“½ülIr䟳r„,!>㥅e`'VÕUÓµ2uæoyT^ Qd¾ËÙöëÝYEÊ®_É|ßÑ:j„‰øÞûseÿn¦7bŒ®¡Íó8BÌ—nAêƒG%­{õÐ.||jÿƒôrLËИ-ª¾.ÓµŒ+sŒ†!„pA¡HÍÈPM9ØÀ4ìfgˆ"W.+¸|Mù2!—лHˆÏ[=\P²ùšþ^WKçœLeÀZ:L5=³m3Œ•‘ÐtÅ{:!© 4æmëm?}#UüËQA  5‹ží‰ý——tê­_9T@”>9uøOÀ°S»ô&Ì_þ£‘&yµkéñê½hµV«¥«ë³¥)%2ÒZ CHžwçÂ3g73] 5K·•‹ôh!BR˜SÂ2Q“å|Þú‘ÅoÒ·|×%ÐÝà< !D  qAþä#EE$Bãèª+$b„˜F3¾S<ákýÜKóïëÑ¿܈¦ÕÕÇ«MÚáˆ=—“ÞðŠ2_Þ8¼åh¦¥§G;5… gp4ÕHQöæê…—B™”ú­ “ŸœŒÓOŸþ+W )OMˆ9y'ŸÎ¢kwqûžwîhÂ;ž°"ÿå¥ë¶ÆçãØç¯!)¿y%㩉¹_+BdiZÁmó¹=´LØŒ6mM×q¤>F2Ô}]&¥i´jû£_Ð0'S¦ç7äÉžíÁ×éº]]݇v=qzç±®fT9ˆËŒ)‚C'Ãçï“rLøóˆl„±?³ôhìî“外eO¯Ù~ß±QѨ!!,Ýz¥ôÇÁz!BTºñ43ÐÍú7g& ¯ßy·-“lûSÛQXþܧ±Bºé~«f7g¿UÈžd‹FuS?ñ|Mæ§ü‰2F’$ô;ߪÇÛØØ|cU°]™ ¥¥Õ2£­¨¨x¸Ê¥)[Â|‚R@ ) €‚-†aA|½ñK$&“Yÿõ–ùX/‚ è´¦¦‚ø–iii•””|½ñóxz_¶ò×Å’rÇ0ÌL³Ú§óM}r<¤ øàF ÀÿÛ­„AýSßR  (€‚   €‚(  €‚(ð£bjm"µ¡pxIEND®B`‚murano-9.0.0/doc/source/user/figures/topology_wordpress.png0000664000175000017500000025325513656750211024246 0ustar zuulzuul00000000000000‰PNG  IHDR}p=M³sBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝy\×Þ?ðïd™°LЄÅP‹¨¸¡U¤‚mQ)µŠû¾Þ*VÑ[¤÷îS¤Ï~·`+Ð ¶îJݱEêÂm+^À iEEA%T ’AÈd™ß ×Ö–â÷ýêëUœÌz&™œÏœ3'D]] „B!„zi8X!„B!„¹ !„B!„0w!„B!„z ÞoZšeeõZ ÛܬonÒkV­Ö3jM]­žnЩTLÕ¯Úz…¶F®U*…‚æëñÏÿã‘$–;B!„BèÕA¼À¸š{5w¿øš›X½ô:–aô´–nÐ7=½¾M(cÛoŠ`YVç1Ä+áË®ZššÛeôñLs_3¯!øÞB!„B¼H{×Õ/6jÏä ¸,—K‡Õë à‘”€à @ À+¹råï!¾.· æ.Y¹*ýǪæ.„B!„ÐoÊ]õ:¶Žfœ(Ò €Kèy\.—ËårxAðx|‡Çãñ¹\.‡àp9 8‡CÁ!‡ËµZsä?xp:ãÓeÚšÐjxŽ/°¬!z|j!„B!ôÛrè´uŒhÖKbëbß“«gõKè5¤c'CÃÿZ‚‰N§#8j5˲Dç+åæ/T÷ZÿÏÇ/–»B!„BèwÈ]¬^¯inæDƒVë`#Ñét: €BÏê âa˜"Xh ^,˲mgè\X‚mn‡03ÃwF—Ä(ä æ‰sb‰Ç}A!„^´¼TΈ¥RüæG4wÀ²‡`Žá/ ¢u, ÃßA°\®–atz=Éãgxbôº~ýúÁƒu:]Ïž=gΜIQÔ××oܸÑ××W$=zÞxã1cÆpZzô)•Ê´´´{÷îq¹Üùóç;;;Àùóç?>kÖ¬ÒÒÒ‚‚‚ ^ýõ·ß~Û°ˆž¦ïEG4ÿRT@ ø£HÙ[>†Õî}òO‹qÖaÿCg«ÿ2‘mjbõ:«é³»¿ÿAÛ½U9Ô°{›ŽVq,-{|±å‘c¹;k²®¶¦GbªÀs¾Õþtм¨¹ëÏhž2Ôú=Ñ>b,.„B¨ G®â-ëÂö_×ßur\ / ½lÏÿ$AØÎá Àêõ‡ݺ=9}=¸#Gs¹Óçðç,äÍ_Ò4ù?7nœ¸~]ÞÐ@«cY^3“Ù«¨¨hß¾}E¹ººþúë¯_~ùeSSSë«W¯^ÍÈÈpttdYöôéÓW®\1LohhHMM­««ëÛ·/˲»víjhhGGG8räH~~¾‹‹‹^¯ÏËË»zõªa©Ú¬iþ¥ÀlðPó¡Ã™²0:œgk¤k³#ÉÞn@§à;»˜ CQ ¾¹¿sëÃzüÆO•_~Îêtæ#Fñ{r,,Ú‹2ù3]m 5þ ]%w–iž>—¦¬PÑaÉüÌSr¦xãôIQ…Ìs\×óVÎÝ'{úŒLaÔ¤éñÅÌŸP0ô©Uo·87lãIÙóîÊóNë‰IY57аééË£¶äÉ|»"„zy˜Ò-Q†Ðš²#Q)ýn­Èö-\•G?Ï÷ë3Ö˜ÒMs×åw½ï¾ß©‚ñü%ßi+Ïÿ|Ëʾ¨Ójx—Ãáp8=Ÿä††6¶@‡Nk£–¦èʽ€e‹««‹äÕ*u³ÎÜbÜ w[SãÓƒ`JÓcÖoɧ)±Ó¨™^—7Î;ìS±iñ:eäh/R‘·)&%«Œ!!=‚V‡/õ3¥çF(g“yÙeÕré½:6Ò_”îJ̦–l6\€I‰GPdÕÜ””|¿h¯â¨é‰¢ù£”§.WTËb¿–21µKíNš¬0¿Ãé%{xy»áÇ!„€ØÉÉÊ[ÿÍw2yW¶] \ü;Õ ßbùòF ­Ž\áCÉT¤G¥¤V('¿ðØH ]š™˜°+_ ñY±z•67Å5iÏ 7˜ÒM‹CË–ìÙàCŸŒÝš'£H©OHDø8é#UrEq~q‡'Ü)Wo¯?4O¶«`0²“‰±[óZê-‘+¼ÅŒüd|DJž‚K¼ƒd[2}¶m›É¤‡.Ï[r Ù‡‚¿zãEÆ3d#êåÊ{f\.Éå6Éné››9æO «BªW7Jϲ,ßÒ²ã õõõ`ccc{ƒ¢(@`˜hàààÆÌ W¯^µµµ÷ïßW*•`iiùóÏ?³,«×ëI’Ôh4ÍÍ͆¥ ½ – ­V ‚×úq,,äd×§$u …'>u¦­­QÞÏ\½Ü:EßH37K8ææ‚þ^ç×Ý«¥O|o96€ ÄK[g‹^¤¸E%îá¢G_“¤²Ã«×OέßçM2Å-Á:/1>[¹'ÙGLn\¼6!sTj0y*qKEPê·ÁR`ä§³ŠÜ\4Õ‹½ö¬‘Ð…ñ‹×nÊ N'c¢²âölð¢ä'ÃG%zì e~¾$iÛ·R(ݲ8$%k¦÷L*/>j¬NýÖ_t~ü⨷mÉ£‚¥[ÒÏȃƒ%Lqf>éçE–n‰I©ÚúíL))Ï\µ8>Åß;ÒëÅ.¦tiÖ¾¼F×ù®Ÿ¸n ½4õ@”TäÅ,_ï´'ÚG‘›Ræ—ôíReF…~¯qj»¼<3*&[½mƒ·§¢ÇÄ{ì‰ó”ùy¢mR% 867e_©ÏòâE¥S_û»^bŸ`ׄÄì Æ‹¦úL±Wjò 1ÈÓÏ3”‰É]jw½“ŸIY¿µì‘ÃêñNÒ¶5x¿!„€ë¼¿Â„l÷¾å¨ÕKѼ€¢€òðñàŸ)S2à$“òS™']ƒ|¼¤þáqþ@€hÔ o P®Ãzð •4Ðe™Åb¿Õ^HÆÅðŠ‚BK¯™R¤Þ®–YJ†©ÎÊï8 å5Ù =YLš,Ý´ÿŒ<8XB¦ç“£â\I’\±íMR$H†ùH6eËiðjßâÅÈ ó WoiÇ·¦òûw¾xÛoÔüØØ` S–™Þq†½{ÏE®Í*f<Ù=üÞmI:3!AºöHEë‘_D†.„Bò“Q¡ g”¢aï,Y"¡i (Eáî%“,‡­NŠ’>ý«â7Õ˜²ÌBðŽó€Ø'|φ¤@Àw r£@üÚk†¯H8™O{¬6|Ý‘nAA’ý™åK‚½S²dKÝÜ@–™M{…{Q@%ñ#) Ä^~N°µZ@µßåðÔµÌò„3£×kK’âþˆÐeº‚Á”ž<£p 1´'Q^3ƒ$‹3 þTvémâDâ?/`köèZŒÏ],°J5cÎã¡×³˜l0bu:ÃMZ-‡ tzxÞ‘ä9¦~†ØÐݱ5S¹¹¹êZ¶Å²¬ÙÓÆ‚·|kœ _ÿÚÿýH}¥°v݇vS‰ ­ùR2i¯‡ÄîóM<»òe ˜²Ò§î0A’œnÝéã™ÂÉÓø½Ýð ×™®3W;Qb2d½GÇG+)1d?ãz…™)»² ]è ”wdRø®Ý™ñ˪IW¿¥kW¹Ÿ·ôÀ5þV6jÈÖ–}Õ’òч£…BCzX¶Î(¡4i{OvMÜFP‘YHù%¸’ŒìÔ–”#—«`šŽ—RÙ®µk÷Wƒåå¤á.­Ý¯å™«ï’¯EŒB¡i¼¾nú$Ãü Ó4Í42|Jb¼˜‘–®¿]îR6jHIë¡XŠÈÆ2šK líŠlø?)’Pp±Ã×£Ph(WÊð i¢L:î@ûŒIy­HJã•Qä‘écT"„:/1ñŒ”¿ßz±í+ãOJ÷ô¯‹ßR`ŠFÒƒÿ° @+§¨ö_‘Ш¤É‡)‘%Ðr𡼂½èÄ,ÙR)džïH/ €‘çïJÙ}±‚†®Ð>&ê?’q‘©cŒ^¯-IÙ0Óí¹ù˜ F£’Ö\Ÿ;)ÑøåÞÒjš(WKã~QN¿ý¹ûëW0^hùÖÁâŸa~aO'«žN÷+dZ=K´.c*{I$hmÝ‚–ž‡­Zc¨ÕjÃ"†ö1­V+?w½ŠçàØ#ùëª%³5·okîÜ"ÝÜ[Òðÿ†ýi`ý?óìz«3îÁãËêj«Y­‰V>«sÇ»¿ý«†}iÖë>†Nû“e¯"¦xK|Þ¸Õ®»ÖvºHì½Þã¯ÚñQûÈðÔT tþºéñÆ»Ôi¤ÿR`…»"ÖEìzmÏ|“wÊD–|ZF‡ï å2š’š|÷’b1ŸQ¶Üœbh͉(Ê;Ø#eÿ™Ò……b¿$7@¶+"á²_RRœ Û7wIÇI9õàCµFÒzA3Iœ¾$~×äm+ÜH ÅbKQ@ÜžöAMq’ÔÐ-—"¦±‚Öt8:yËÑA£’±”¤×3·JùRg=M3²;ŸÏ€ 8À²ê«—ÍG¿Á±°xh:—×|>ßÓ‰Î:ÖvÝW¬¹õ?uŸþ‹ßÛ•×S zÇ¢¥? KŠÿ}âûû[RÄk#ð:×H|2ëæ½“øÄ™øNïÄI½Nø’‰1=;6u¦1Âø-™|2&tz¶XÜÃkÆŠÕ£¢b£ÂÒ“¢gzÄÄÏ ¤{…/u#¡Úä]˜qÑ‘e1‰s×k ÇÀàèho M~®}£+â—OJÊ5(:ÒØÿò ö’Gœ‘®Ž”®3–zGÄÏ”"–¸-Y=£l]ÊÚ§ÔÈv÷‘Œ]Ÿ†òZ²zØÜ˜ø,¿ä ‰wxÜüøøÐI‰ŒaÔ¦µnóÃg”Å„NÚGI\ý‚ýz?rtÑe1‰s'ѤØkf\¸7Í >‘© é)[—o­ÖðE®ÞÁ±©3½ßåœ2µK!„гÔýIË'¿L>¶ð‰ÇïR |£+bâOJЀ赀ÈÈqb0ù é±"vE|ÂÚé»ÊÉ/<¶eh> o&4‹œ±ÚŸ¤ÁKÎ$.ž´O,vµdÅŠë#¢\“âÆuºßci[ÁðX»:1Öpt öš>_ AkCòׇMŸD‰FÍ r=•]«‚AF³x,Ëjµ:V¯û1|Íݳ¹€7ìXFÏ x\¸»žÇÓ5=ôz=£NϨYVŸaKê{ô°Þ¯3'ù$‡u˜:O¼dÑaPŠÒÒÒ={ö€X,V(NNNóçÏçóùõõõ7n …*•ÊÊʪ¡¡ ˆ;;;xðàÁÖ­[ëêê••Ummíĉ‡ RUUµyóæL™2ššš6lØ Õjׯ_OÏTlˆãK]t÷jõ­fÌé¾4¢éÂÙÚˆµÀ13³þç'<‰}ÕÒyÀw饹s›ßÓIók…ô‡<ÃÞ*>ÿ”þþ;àZucõ:IÊ6æzñ½˜¨n –t›·XOÓ¿Nö_íħ¼P×UºinhÙê¼1ý „êì˜Òô˜Ø]ù6{ñ-{xÍŒŒœ‰÷ò: yæòÅ™“÷¤ŽëBÝVžµ½K¯××ÔÔ444< U ÷@ϲÿ½[ÍçÀœG¸ó9Ú†zC×CCC«×Ë«·èÛÍÒNbÛMS$Ÿ ™æ¶Íe­ÜÜÜ>øàƒ'NètºÁƒ·þr—D"™2eJNNŽX, ²±±1L·°°øàƒ ®_¿žžž@Q”¯¯oÏž=‡Êãùûûž³㯫©f®]á9öN™n6h¨aóá#mÖÇ6ý–Õé8–|—Þö[v×oI­V¼:\¯nVÿRð0uÿý#³á¯Ó™ß£á»÷åtñz¹ZÍšo6xp(Ê&:NSvSSU…¹ u)tÞº¹‰Txj¤˜.Ì<£Ît¯)„B¤[pô¶`,‡NšŠ ãçF)–¤Æ“0¥Ù™2ñ@×®U¿xŽö.•JuçöûõJÙ×›š®À[¶f`õz¦w_F¥âè´À¨A§ õ¤8|’kfΈ&šU*X¦Ù0f…YÀ{Ôòµï)©eYð†ö.WW×yóæýöcn]-BèÅÈOůO<%c(©ÿ’õ«ÇIpŒv„Bý6ŠüM1ñ™Åí~’º yŽç»„B¡½ƒ}CÃ}ÇØ¬Å!Àð7Ëá˜UU˜qÐéA¯žTÆ!%Ø–°‡içÙbÏKJGºú$þá©þáX!„úýˆ½Wl8°¢ËÞóghccãêîÎØ÷dY¶5;›ÔÍÐÔŒ´Z`õÆ‚ Z°­} GWG!„B½"ž{y‰Ýù‹jåèõ†ødh>":€–©z½žeYÃU,˲,KÙqP'06Fƒ' !„B!ô—óÏwµuñòåì¤ÏgÈ‹Í ý M^anεêApy— |>×Á‰çáÅíaÏïã%ŽB!„ÂÜõ¬ªär^Åm¡º‘vçPB‚Ë#,, > ææ’‚ƒ= B!„Bè7å.„B!„BÏ‚ƒE€B!„B˜»B!„BsB!„B!Ì]!„B!„¹ !„B!„º Þ­[·°B!„Bè%æ.‰D²lÛIþîzÉZßrA°,«×ëõz½N§Óh4õõõ¯¿þ:B!„êR¹K `îBnîÒét:ßx!„B¨Ëæ.>Ÿõ]ô'0–e¹\®N§k›ÇB!„êR¹‹Çã=2 cúâVÛ¿õz=´¦/„B!„ºZîâr¹X èO¤×ëY–å´ÀA!„B]0w \èÏbH\†&/‡ƒoE„B!Ô%aMý™Zß~†6ðù.„B!Ô5sB!„BaîB!„B!Ì]!„B!„0w!„B!„П“»p$ô'bÛh‚Å‚B!„ºZîÂ"@!„B!Ì]!„B!„¹ !„B!„æ.„B!„ÂÜ…B!„B˜»B!„B='^NN–úKÓétF¯×cQ „B¡?‡Ã!I’ÃyÖv,¢©©‰ ,8ô§`YV¯×ët:NÇ0ŒZ­®¨¨9räs….µZ%‰B!„þxfffϽ°Ÿ!úkÓh4X!„BèOÁ0Ì3Ή¹ ýµa÷B„B!Ôù뢘»B!„BèåÂÜ…B!„B˜»B!„BsB!„B!Ì]!„B!„¹ !„B!„0w!„B!„ÂÜ…B!„B˜»B!„BsB]šúf¤7Þ\ÿ‹ú…–.J˜ñ‹ÊÓæ¾µú'äÿé… mjÛw>úp´¯M!„0wµùÚ¿¾%bë6Ìl=ý§Ìëjþ¬+¸û]ܯܦ¾K>YúÚs}á7\ÏÉUö~{¤#ÏúMê.¤]LÛºˆ”/IË­ó` Pw|ñŒ´ASÝJ/5– 5 IDATÈ 9ã¶(&jZayÚô%9c§Š/]) rЪ˜uœ[WT~(dIβ#©¾B¨;Ÿ½!ãš‚ñðEë¢æ ‚ªè`\Üö r€r³Ö—̉I.U@ø<ù¢øeå«ÃQGb ÔåÇ7ÄmΕ @ š³nÝ4OòfÂŒpÅœidÎ¥r¹‚¿þM{Pý’—qR2zYTØçŽÁMYR¢•Nµ}Âç¤êĆCбñ)¡# ÇÞó½õ‰âã×Ä$´  î7u]ÌòÁôwá«Éi™^–;\þèqµËjª_Ò¢7¤]S¤ÛØUëÖúÚ¨oŒŽÜ|¦ÄÒÑs]J¾´èHê›Âޱ«PfÞïͪ}+«—hœàÍ?w³¹F¥…6Ѭ™¼›kïÙm"hþûíͯE. =ªB~¶J™mK^/[ò³ù Õq•0a–ƒHVùiÞýÛjàözMòÑh+‘öÁ—»Ë•CºCéƒ_0õ\Ë¥A=ß²b Ž–l²yÐx£^]Ã¥VŒ±ü9_y]ÉÔ[t‹œä0@ÐpÿËÿÈs”zNÏ^vácD=xº‚£%›,l^ÐpE¥­yÀñëòヮ¹Ûëwßš5ÉiÀíÊO~PÀoˆ·ãG^$¼ÀÉÕTæîÞ}òv³eÛ{„´êÇ[c> X»7v7Ì‹˜Õ› ‘íÝó"f9ÝÞûéAQÈG“øšÊó‡¸VÛ <ûA3' µk³ÂšÜ¯SòDSWÌòlwÆšd¹‡ýxKB§1“fùõ6‡šìÏ’¯ ySTr¹J©TÓ›óæ€ÌOSª‚>Zá%P~õi¦mÈG“C³ªÌ„fxeB!ÔŽ`?C[/ÿÑ^R¨-:žº#¿áY—äÛœ¾`Μ·ž3>).fdœ:WÙ„§ ýFU¹i²~sÆÚÛž3H~ð§–Îq$ÉÈ~¢ß‹Ù¶mÏþÄ÷äÉÑå$s-W¸(qÛž»c]Ú÷S©$w<:ò'éºý?üðßÝ‹˜í‘~Q©onN–MHùþ‡~ؽNÄ%ÿ¢úFE¦Äããw'M“È5užËx¦þëÛõ¡Ì»?w·OYê±o¡ÓëÕUQùM`XêvÓ€7]“f÷M'ò¿ º}@Y’Vëçõ~O Ú˜¯~kJß}K=öM·¡dõ7Luû|úÉ­ÉÛ÷}­çß>ŽŠüǼU…µZï©7×4²Ìí™Ê!ÿ_\Ä<§[‡öä=ìù¨*Ü÷õi³ ÷ ]ÐTrhûIÕðˆ¨¨¨ÇñOïÞ[ÔÀç¶â2ŒYúá?>šåPqòÄm°áEUåÝ2tUÝÊ« ¼F´ Ž ­ÑÖæmÿwôÿ®ûßèÏvgßÂËu£¶YËyΙáëlÐTþÓþý§Šj›„Òag{ªÒ>N-ÒÀÿ ?·à“UýÍñÌu š& ßœÿ¤ Oùwéáë† `ТÑtäÁ›CûZÄcßë'tøpñæœÒº9n }olû½9ˆ<ñc©z,õh¹ôÝ5ñذÁB°Ÿd4…Ýý½J €ýp_Iòr€2/äÊ$ÓÞó€Àyì4·ääe̲ߴÑö”TJÑr€›X ²ã”¾7ÜÓù½õ±&CÕ­¥í§'FAÕOlº‹£`ðú#GÔc1 o—)Ú¿ÞÇÔqµP—¿Ãã û-4m,rüšj4ó£L2v‚§œÇ/¾ù‚ÜԦ钭t’íSß>ª{K7Ýk“¸¨õKœ‡oº™“ ¼fÿ} 'D¾·ßռч¯”)o»}`Ã6‹iù¦èÊú[¤p…án•ÕTǪ¨ÍŒ” @ôöìÖ€ÛÓ†Û¨Ôa騽¯x=-ˆîÂn½y@¾f9J=44üPÏŸd%žÅ›Cßä7ü:Ò€°t ±Ù|5Ckáa³—gÇÕþ÷r}ßÂ"ÑšwE/vrU—k)Ï™ö|ºû¸›]®}ú§¸¶àZ³Ó¤v|~ï ÐµßÞ}`?ÛãGô6˲w½}·è£÷½„x}E!„¹«=ss€´<¨ ³j†MîÛ×\qvKêq™Yoÿ9þÒ¦‹éçÒRµ¢u3Ú,kœÅsúJó‹i;3¶vˆ˜k{cGêñ[Ð{Â_aÙ±çÒ¶˜­Y¸`tåÖ\¥hô‚9#]1tu–Ôu÷XòNeÀò…ƒÄšš³;SÏ9,_h×y“—º(í„L®yûDËêàµeƒ@Rö”!Œ({ .Ð I‰[ÒE‘ŒœéØXC+h†´oiHžøR—ÿ´9ùà%9ŒBÆH³Ct9 7AŠÅÀ(h $[Viü¿õ„˜ؾý`ô¼h9Õoâ²u«:ô3l’ÔÚ•>ñ3BŠ)R!S¨ÁÙTôRHÞüÝ5Œ\ƒÝá'£P0d¿–ƒPös¦†!){ªebŠ4•»”%—›ìÇÛ?ý½ó¸ç»¸Ë–ë´<Á[ž¼ŒË´²UPÔÜÓÓ±'@ÛA,øÅh| Óø-‹–\Í==\°4UH|.ѲQ m{ è†ifçÞk{SX…­à“œ‡K=šw­>šbÿÍ9åÆU5\Ò×Ûq…—Å£)ýN®V¥óîÆ[|3[3ÞÓsÐt3ÏÜÜxð|ó–'ÚŠÌ}Z³~"Ãìà§)?ÓÐ}HHˆ»JÛ\±ý“hCkšVÛ öªf°àñZÖÔòí·2B”—wKåÕ»ä|•hø,;h*Ùöéö›Í<Û1«V÷š<ËË8¯Ô'¨ßé¯ÏËš¼<ñBBs@³J©Pð ©æÒ±KͶžRs0ô ± ˜3ÃW  ø)M`0#pÀ™WT´õÆÕYðŒ‡½øÊÎÉDþÞÎv ”žK+Ê)WxæÜÒ‚pôDßAŽ|O©¸ï­&ss¾ÐÁ@iî u¶Ãoã΂ïøÞÒ·w¤¦î€ås<µw¦ž2 îÔ¡Ë8¢Æ²ÝßÎiyH«êàâ%iTƒ}€¡«h5€@MWÑ@QC+h¡!_1¤˜êøÔ %¦HºÜ¸,¨ªÊiÊ™I »46%%ÁSPž6}Þ¦÷H@9Sp©uŒBƒKÇÈÑgBhì„PPWå$¯ŽŽÌ´gš}»(\ñs­h`ï'7ûMpc6¤åÖ n3ŠFÕñØíÌ´°ñ̆ðdù¢­[§9 @];yuûæ.(ßþ¤ã"ÅbÒ[2%)S$M24MX'šêg¨’(m}œ~ß7§§›Èîgå•{ì ¥`B¯ÇŽbb)äòÕšF­áŠÈ66è,-8ä m’$IK.¹`^Ÿ·,ÚNÖ_yê‚"Ñ ¢… Wʪ£ŽWìtìó çyO.OÈM}“D|Msm³¶õ:¯mÍfÚG.üe¦­Ri qU£ªQjEvÝG„,r:rhoÃûCE|iPhÄxãV̪„ffEÌ’¶û¸?fdF;¯á¢ÓçoU6Ÿ¯µõñ@¯YFhxfBPUÞR ¤Æ>´ÀããˆO!„ºž{¾K{#->...nãÖã·´f½'Îñ·|í‹m…U­ „†Ï\dЬlÒ¶ oµM <þi2m²Î°œƒ|+×þƒú»Šq(ÎJì½pùÛpì‹Ï?O>e¼rn«N½»u¹iÄF?ìGO\JË5<´¥Èýîš Ô¥ÇsR_7ÛWöÝw7Õ ºôÝ%ÆÍWÚ±ò.ôžýSÚ…:¨ú1nIHòµ:ZA“â>!€º*'í¸có0t»Üa?|‚T~ð»"5¨ËO,¥F¿)5YåWý»84í¦ön}ÄçÐTÈ̺?í )뱫fK.D¯Ž=^T¥PWýr0"$î#‘…‚!%R±@]þSÚ%ºeoI†©¢Õ ~ÜqS¤Û„áp!-·  îÒÁ\ºß„~BÊmD~<÷¦@]~bûÚÄ>5ÉÎ×Úíý»ßU±êöžP}(¿îW‘øõÇ¿9©¢ÞŒ*Ã0¦zÃýC•DO ò·hõ–PsèçF@sålù§WŸ0B?:}£yåÚý•WGdc&â¶ÉIÏsrܻ͜×ý\¥åµÓך wHÌDf͵•4€ª$ïVsûû'¶CÝͪNŸ¯Ô4ÉN~¼§PiHWN¶v^Sgõ«ývwnÀ\hd|û½¡ä‡ËJ hj îÎ,yÂSY"OQÕéójm}ú ø-ë2çÔžÞ²ýGY4ÉòN\ƒ^#œðšB¨ëyÁ»ŠþÓýøÀ3Ú9Hí¬ø`üÁž±‡‹ÐÖ YU«‚×ÄZU ÀL$l»=3[s¥hôò¥#·py0…ÀsyÊVçÍÉÛÃgÄѤ¸ßè9‰[§  _µÈ-ÏH05Ⱦú?¿.Ý¢Xöè¶ÂK 7½s¢nCÈ_×o-,*©Ü¸ûš¸¼ž $œ8¹|»1³ÆÈvýñyeë>´_wC?C;Ÿ !×%ýû‚Hؽw?÷î·Ú_:iѸ}û¾þäd³ÖÌvह>v l9Eæî“æøìë=?ö^5¾ÍsYæîS9t()6x"÷·¦ö2h~lðê7Bôí·U½æöëxŠù½'-zçСퟜn0³í7nÑTìcˆB¨+"ššš‚xæù ãÈó¼–2×µýIÍÝÃqÏ5y.ÿd¡+9Éq2^oÿþRÕÅŒŒB¥hôšð÷ìjŽ#¯:›—.zO÷)sŽŸªù/]èY–ònñzO˜ã/.;ž–[)|}åº)vEɧÉÌúNœñ¶g_glë*X–Õëõ:N§Ó1 £V«+**FŽùìkxðàÁï²'u?.Ÿ±ýÍÝôÛ+O›Û2R<úÜLšRv$i–é˦Ìþ÷gׯG¬ðƒB½DÏ2ç¥í€Øwéò ž¢ÊSi[wfAïÑ –>òÛ[â‘ –û÷å¥oýbkú-ž«à01Xy/\îßW(;¾skZ®J:lúò‰Î|0ïíë%„æû•á Ãý¥¨rÖNZŸSª_¾ËUHß”bèB!„Ыåyûò_[oúÇ)ÇOi;ÅÜuìÂÆ>quV®K#™hnj¢Õ ¹š‹' ¡¿¡oXXNdÜŒ·¢(騰˜G:H"„BuyÏÛÏð7jº{)+--·ÖÌkåÇs±·à+¯óô3D!„Bèüéý MÑ”ߟ[ f½0t!„B!„^ 쯤ð_[…ŽB!„z¥p°B!„BsB!„BaîB!„B!„¹ !„B!„0w!ôüï`¾‡B!„Pg¯‹býµñùø‹!„BèÏA’$æ.ôJàr¹[½B!„ЉÃᘙ™={-”‡E†º@ôâr¹X!„B¨óæ4,„B!„ÂÜ…B!„B˜»B!„BaîB!„B¡?/''K!„B!„^bîòõõ% ý)X–Õëõ:N§Ó1 £V«+**°XB!„Pƒý B!„BsB!„BaîB!„B!„¹ !„B!„0w!„B!„æ.„B!„B˜»B!„BsB!„BaîB!„B!„¹ !„B!„0w!„B!„àa „B!ô§ÐÓª»ñÿV;êÕX¤æ I¿}%ÖÖÖNNN\.sB!„B—lýÇ._âZXB+,?4w :ô·¬a˜ŠŠŠŠŠ —g™ÿEû*r> =VóÄ9>¿Ôô,«Ó”íXþÉá»| „B¡WDãÅ <Š"xØò×C’¤ƒƒC}}ý3Îÿ‚¹«æRN-ðD~Iè?cúë¶ZeazzYž©Î˜ºîKŽßqIñð}±%.õ?5]¾¯è½£³‡ 6lذq±7~ðꂰQÆ 6lÔª3ø -B!„P×öí]šÊÜ‹*°&…&­Ã ȸš# vvåCCÙÅZѰ ¾ýù}…å7æªÚ,'z=ÐwBuêbF­pÐDßAvMM¹çÒ+kjš@úèFD沃ÞÚÜsi•5•*xÍOVgÃw|oéÛ;RSwÀò9žÚ‹;SO™¯ ´Ãæ.ô[2íøè’§ÎFm?¹~€Ë !„B]8wid9W›šO}wÊ8©(§¬Éõ5ófU˜Û ùÀÚ Úæ.¡X<3>˜Ûšñ´æ<­¶ãV„Bs33€fŠ'þeP«ªhÃ_öcfù9 úO‰þ¯»Ìû‡ÄÇ?Zºc#âÇÿvô]áÛúŠoËdßâ[¦Zyÿ=Þ»emƒVÅ2¦·…qñgþk·‡Ðã*í7NîøjoVÁUCg5ÊÞ}¨ß¬… Þ`£.ó_vš°ÞžalGiC“Nm%ì°>õ•ˆq‹²èGghûÁ:8-#¢ï£2ê;Ù{wÎ*¸r§Šf€´v:2hÊÂ)~.ÏÑ~£º’¼pÑÎrûà¤o"LìÞ¨+ 2÷Î:Sp¥¼Žca 0eá?—kRŸ ó=ÍØ¯|øÃí±ÖÆøA _j}^U¼jÕΫL»,QWr6ó³³™_ ]¹9aaßgÊO•‡#–B5&fûó….Õo"B?;[×~*]Ur6³älæWýg%$„²i÷¢@@0LZuçhÄÂè³t»(/ÈülYÖé¿Iší"á€)#ÉÓ§€ò£Ù• g›^•Ù‡Ë ™Ïoö€g;mÌ]lïB!„:ÐWþRÿy4Ä~n3½¿êË«l÷Á¶ºXШÎJ©JûåaÒàÛ ß³Þ“ +9,ÿnpŒr™óëÝթ;»mb™EOŠí–õ~Eå|—,kÝ­ºÿT±6•LïπƊ/7(‹˜ŽkSÞ±´Šÿª{ÑIû`ÒQ¤ËKQ2c»{ö$í>ýgmQ#t8^ÅÇ”yš¬Û‚A½xv"öBRÅKÉš±|#·«ŒØÚÜ™ºÞaîB]úFòª–ÐEõ~Ö¸.Ôݹ’¾3½à³Ð¸€–j¼ðeîÄŽeËvA·<+`¨½50•W³3Ÿ.a€.øbÑZëC›ßuxZø8³~QÜYÈ¡ëvÄŽ³yž}¸óͪ9Ÿ]5DÐÂ)#Ý]\„PWy%;soúÙ*`®î ]FnÿfUÛ‡§Hcé¨ë®&¯Š;K“Œ`/UÕ•¬ovž.¦à³õY~;ÞuáÐÙ~Ôé, üpvål“Á«MìšÕÿ‹©4FV¡56w!„B¦hîÒYwm&æñ%?XkÅì’-=©±íj[´²º%fðüÂz ª©^ýU£c·~j?ýê©ò CzÔü³|ÇmîÛÿîðjÉSÁôÀëÓW½ö£šJÒ⣯$“úÞßqBm9_èÈo¾£!})Ë÷Š8“ _ê a7˜àeÙ5Ðg‰Ë;UÔÂ{7Aðοœ>˜×´z«®ãÚ6þ @šy*Ë#V2ŽK\B»oþû¯;jïé8½]Ô óÇ+/à÷´´L-¿ªwvI˜)<ð÷ªãzOÏ•…Õ¾`?ìØÓ¦²42ád²ßo«GbîB]À½ìÏvëøcbmhM*}Œ÷î».Ú›Õò¡yy;qçpô%dÿ¿Ù<»µSá¸wg/ÈŽ˜º6‹¦ nÿ'ö¸Sߨ±,4³À}Áæ¤).Ï•?*GC—û‚í›W=le0`Ô¸)³¿ ýYå;×õîáU.§³âÒ]Òo\߆©‹öVÀÕ½÷Þu°Aÿ)~TVæ‚×,c처âþŒ¡VÕÚ»HJ ¾“}tÇá̳%†¦JÒÚyÀP¿ Y³Þ`ƒïx„B¯2ýƒFà[r-zusg?ýI£¨?¯¼´ÄÞ§‘m˜¥»¹/]v*]wU™·mæŽ ÓÒ[V`òÕu›¦!B4ÖiïØ‡[,J¸uôw¢+5 ¹«ä¸w‡ú«÷ïXZûô¼wçWÒg0§dwc}›{ÜÌ݆K5,ßs0÷îÑú›Pçdæ›ÛòéŽkƒ_&ï¼ZP[ÇÔÐEwYMI#ѧ;aòxK4Êy7ôPW£±ä[þö_’ŽZŸ¨¯ìøÊÐÔå¼rýìGҒ߇aý³¢¯0§wžQ÷¸nåшe†ðf”´yÕsè§¾²ÃØÜæþaª]û.³£VfNü¬ üðŽ+ï›üáaK Ìšå¼÷³r¨<[®~×Fм2¼îd}îØOá" IDATÀ¨ ÷–˜‚ˆ‰Sëé®Y^µ³ kçWQÉQïº`{B¡W·{wxp^§±äXЍÈ4Ê8™d‹,‰–¿¹–$ò¿]ßiY¦¾¦Í8O~Àôó]|.hc³X#êdݶ›>˜w€±.jÞsU–—hlÔ1ÀçÚ‘ð ÞØ’iÔk,ù†¹]€¾QÀ0 oáqǫѷ­2ð" Û±ŒÑË>8i{Ĩßá¶/æ.ô—§.É6¤ p2õ›O‚³ƒìÓwV½Ô}¸sÔøL”ó?—Ž¯Ûø…ÅÀZÛØ»?®ÍMU»,ú4 Ô˜˜ÍëG ŸŒ]-ûÏ 0Ý™Ñ!`–ûgÑ%ôÙ£wÔ:Œ C˜êiÝ×…„r€®S1û”ëÌô:€òÌŽÁëNK'Cû )}Ÿ#vÑÆ ']ÇPÎ#ýF u·'™º;W NŸ¾ZP•½PM¶iÕD!„^%ü^Ýìt¿ÜЂ¥V©¼¿ñýꢇé„ðaøJÕÕ3Ì©¿—{·MïAK‹–/\S¯¾ ]Ñ u÷)–ž ´¸QWÔms¾Ö5ºútçè€ìÎá7j_`S,F¼¬r Û±™ŒøŠ™6ê÷©tpðÝ‹þêêJîÍpékmrûQî/y˜U‰!Ù×ô>Œ{÷Ýq~£†öµ˜M߬Z•^äÐwÄŽsx}¸jÜkw÷Çe6¡ûPkc¡•˜øas瑦À [†¹P«ÆY÷)†u•dž­„GcW•1…¾ëòɱe8C †®Ü|"ûpòú°…³gÏ^¸*bÃŽ“§¶¯jØ úttôÉ{øÎG!ôª!lwÿû:±Å/÷¾-a”¨n’–oàÂØšm=[3O}SîmnÀ»f`iöÎ:‡I½†°´|ü«/¤þjÃîÝ'çÝ9Ùô˜Á9´—ÎkÇwïc Àø'ëiª}þñ.žt¼ÓiwîïÐßpèªäÍ¿WèlïB}êº;Æ>„Ö.A`íb §«^æ>\iÙû¢*;zágW°NN˜m²]åÉØ/²êÔŽÍ!`eØ8uÝ ã>Ô¥ÏñIjZ½Sðè…Dho:Ÿ’¤€~tË}ƒì÷î­(9|¶rÊ‡Ž±Ë}J€ËÃdy8.ùLǰ'p™²n•¡qÏæÝíy†‰‰èº0!ùÎÔe™uÌÙ¯²*ÇÍvÀ·?B¡W!n=|Úª‘ù姪ˆ]ªzhlü*Aõ÷—oBí¥}òÛЫ%êdo¨q³O9@ð½›{ïó_YШóJàïÿêí˜RÕñÕÇmÑ ‘þ׸¾¾ñÔ]ÉJ÷Æ_}ܸíì}Ui=íÿ¹½Ôÿrïó}ÍšèhêxMnîöOÍÿŸ½»kâÌ÷Æÿ’ H5Á(±@TTX¨ñ Ô¶ªGl׸µàžB·-Ú]éÝ-ÚSh·¢»·+z~âö(uo¡wÁ£l¨.t[ *ÔJ¶¸ ¢(A‘ÀÂLøý@ET°¶ˆ~Þ/_m˜É<]óÀ|¸®¹Æñ5ýÓš^ÛÖÕýíGä.÷ º^+sknüÈõ]œ½Û:Ü~ÚÚ=ë7Õö§ºTË*†išÇêÕ%…%Ã<¥&‘Em #†È``G±T½Žcû› Þ”‚F³æÞªP׃·/MÞõØuC2Ò•– éÈúuÅÆØF•Ãå­£—"&Æ+?¹–ˆê Õ­‘2´5€‡]ïémukn3î¿»¶%æ¦8tv÷¥W­ŸZôùý_núºådò¥“7·Œ½û+6Ö}fýd2}6ø™,ÅïÖ~©¥cóóDD{Ö„ˆLìçÉšÏošÙ s¸>·ÎÍÏwZ‡uŸhˆ<10ÿßÕßf{éTSÔ©þ݃Ÿ ¾*xw%rÀýÈ]Ã~!]í qª>ãõ” ìÅèûÌ |’Ð-[T²»$(«×ïšB®òÈØSsðÒäZc—oDð}ÏE_…„juDÔ\«cÉÝkÀø€Üãž@d}ëïõН¡X}³ážÒ;Ò%”ô7Ä3èXv”µFDD+w¤FëÖ$WéŽÄ%å% é­”ñN((O¸c9 ¬ ½ ïŸ$‘ÈCU{vZƒW«JårcìRDÞ»EJiù^ à ¼lŒXÇ>ŒèWÆ;F$ïO(ºfÝð-í¸fÍ»‘þžkÕðÖž‘xõ÷¦¡ÓèF<¢¤'*erÕŽ-""CaB¨û¸a꛲H"SFzQm^Y+Ý»A?B+ÀÁW|‘P&Be wüT$ryNª©6^±µ…•à 0ýU'zýpyÕ”iFº"/ßþÐS[¬vf•é‰ IyÚ¡«!Sô÷?è¾%)XHDÄ•½³)G;ºrì«j kÙŸªôe*kðªÊW·Þ»FÛT’Õä¥$&Ä®^ŸRyÛÕo.V[«.r?Wû€ÜðSy)­wþTŸ_u5MýszEÛÀ-eû“÷~Ñ‚¦¡÷-wµ×œÕMZ¶"ÐÇgþ*Õœª³–òŠkD²eË<<æ¯X2‰ÚÏ|3p/Λ±BµÔ×wé²Q»¶¤2™9ÈÜ=¤×çÍ¿q¸ÓÔÀE“È|±\k"“¶¼ÞL“»Æ곯,££{Ó+ÚL¦–²Œ½Eö«_^!EuÀÍÉxÍHD"‘5.‰¤":«'"“Qo$"íá?l><ð]m»™ˆˆ&NäßÁGD#®‘,•;RS®5ò*.õlÅ1vÝANýT+þùk/Ïsl8²ëP½Ôk¡“GµJ¾9gž5–3¯•\WÅþûlôMã>wéΗ·‘“¥³ê»–ÅOKhwô<ébÕs~$vÝŒÌWË ¿®JçÏr&rôZö G–qGè€ñŸ»ÌºªŠrZ:ïRöWç+Z”¡2‘®lß_K:]-°?¯¾Üa±û„®]îçÌ»ÍðçØr2ç3k}—=¯G[vìè7um,‘£«ïSËCgKxd¾úݱ¼âê6–ˆ™äótø ?Ç˧~ª%"MöŽž‘¯?uõ‹Oë» —K>ÿªârKĈåO¯žîHæËÿ³+û²ó‚p¯–¯¾Ñtãºè¹_*Ýí©ëRñÑÂï4,‘“Û¡áOOâØ€ûã^žï2뾫ê$ñ¼'Ü|æ»RWuÅUsˆãñˆ¨¹²ÓgUÔ¯Âä¼¶êc«2Ü~ø° ç>;XR×1ùÉðÕËý™æªÜì’«fóÕ¯² ªÛœ¬ù÷•þöת?ÿ¬¼ÃÞ-l¥#Mzòù_=%ãݘâJþ_ö©Ë=nÁÏ­Yõ¤¬Ksêð—èÌDvvDÔ¦>Ù1-tõ“Ó¶ù›c§tdnø*ïÅkù ÿ¾6ü F[~ô«†pŸÜC}—¹E]ÙMb_±©”Š.”kÍSÝç$ž÷¤ßTgš¼xf±¦J[ÝÜ ~¸Ïpsïº\Þh¡ Ч³&ófÊœ¦7°Œ=ñ˜…k^ à9Š%Brœ6áLE‡¶Ã¼È]êÌ#"G©»Ô™Gƒ+xµ¢ªƒÈ=tEàL{"©åü‡Ÿ_;ÿ]Ûb%Ù¹‡Í›iov¼T~¹¢³¥ÃL<³™È|µAÛ6kÚ¢_Å=ÍÃq1Z†K%ꞀàÙÎ( €û»ÌZõ–ˆýö“ÿú¶P­º¡Ç}úÀsUŒ3CDÄcí‰Øž.óm‡;3ûž¶."r”:òˆˆ'tŸ9Ûz_ßRQðU•¶ÓÒÿ5;‹ùö«È¶u1ÎŽÖ³wt´£k]UXöÎN<"â1ö<"2ñÜCWtVœýúó³_ى笊\1 Gºjó>ù¼…Ç«ÖÑ «½~pîêi8}%'ß°ŸÏt´þüõ±òËꆞé^ýÁ««¥‹fÛ“Ùštìq»á7³3Dͱfò̪j;wæDÞ-¹ýÛ¯éçÜòù‡ŸTšï´ŽŒØ‘»::Ì$ãõttYˆœ$ŽD]·™Àqæ3¿šùŒÙ Ó^þîëÂò³GK~ûo2T{4tô,z1Ê—W›õßG½†íó]=êKröYøÄÌ™^3gzÍô›ï/&Ëåò˃Ïku~÷EɹËç‹¿ªf‰d¾®öw>$M›ïFÔY^ ¾pé|IÎg…_žj0“…µ‘¹§«¥ödÉ%–ÈÒqµÅ`æ1vDÔRUyùê ‹ñ&ø:5|uôô…KçN+¾F4ižŸäv9ªãô')ÛwÿÏéÆN3ÏQâÈ#bd®1ëJ² zEþ"@Âã9û®Ž\L%Ù_^5£dn0Ê|ÑÓ ¾l!Çi³®×h8Oóu.úºA}Ù0ˈˆ¤O¸êJ>=ÕaaÄsBŸõRÿ“W· ¾ï ¡ßs/èòŽžþúÓÃDŽ®¾ÿ¶ü©©Bz*dÚá¢Ë_úéœÐÕ+™#ùu%y§¦¿0ßíTAcuAžÙù7O]ß(ið¿?gþü«Š/?«#bÄžOªBçIˆnœŸ}J{ôä—ÙŸMÎZ¶\)EðÑá#YüÂk<ûÁÂrö]ýª§™7 ¯«#ç«Æœ:ãU ‘oÆ4—W–M]à8>^#nжœä‰ÃÆô5imÝUª:XüT–U“ï}¶§>Øú ï(%ãä àZ.E~¬køÑQ, ™+{5Ài”Í”ÍßfW|à쓵L(›Ó¡=¯Ñ>ÜÇá–MëþíFßÁ?‘é"tD¼ênnŒü¸ã7¯ù.±éÜH梌ïþ"•µ|$ÅΞ¨èž0QüƒOÕ+§Î¬;Î üd7ÙÕYô¸j3ÊuïüSZ]WxÀ67Ûæ*4ªò@îº+{¯Þz{È0É¢×6/"¢|e']¸Z|ë´· ·Ÿùâæ·ú?»¯Þ¼yp¸»ò—”7OG>1L:–+Á—¯ýãÿ·–ˆèjî֤ʧß{g±ä‘= Þµ†3[WwõÃ/j¢=ÓÃ'Ž£'D Íq óqéí²djZŒ«Ðþ>Ím\èhÛ_Úý–ïD1ï~œªNS2cܦq]ÝUäœ=ýÌœí¾Ìø)Žâ*ð°ç.€q¯·î”¦˜&íS¹yòˆˆ„’‰Ï1SªŒÖ¿d·]Ðü±¨­Ž%";Ï9îïþ|¢ØlØ•VÛ®p¡ºÎº6ŽÜdïúô||JßÐiÈÝw†»ˆu ‘w†øóÏ4rm&›lÛÊ)î<ât-»ò›Nvö‘ØÍõ­g\gÛ›¿Íþ×:º.îÒé4]éâ…<ãó»™|"ó9õÅJõmdKŽŽËfD¸ñH×ý±><ˆ9YÝ}¥ÓD®®ÛŸ›Ì•V¿]g1]®Œlœ‘þ¤ù/ù Em}d&ô±7VN_2ÖÖuþëÐþO¿k1‘ÃÔ ç£VÍr2i2·îí\ðU×µõz¿ç_^7WBÔý}qVÆ?êôf"žØgyԺœù×g4ìXÓÕS™û?­ÔóœÄžÁ ÚòJ~öÖÚŸtjñ{ý5d&Múï÷š£Þ{eÖ„±¸š2ž>îÛÅý±&c¡óo¥¶†Ë ü¢õKdÇŸ¿pÚ(„sçŸÒêÚ}£Ë]WºLGçß>7#䯽ÖcÈùûåƒ&ŽHàäüêÊiaö­Óšf­óÿ­Ô–ˆ¨¥!2³3ê×òs™w<&‰†[ºaWZmûBªîlèâÚx¢ßªf„t^ŽÉïꢋ‘.Û×É=Gò;A×c­ïâ ŽÕ}¤1qÔKŒ0|ÙŒ(^Ãs_¾õlêüSÚÅ._§u‡8DÆ5Ý´ß0Ç1=ˆ{:sò/g4š8"¡XüÆsÓ—0º÷2¿oì¦·ÓØ¨µ>*çž‚c—>ªã8 ¥â7VÊ8uèvÝt2ʧœ¹áT w6… ',X轇Wµ®¨¡ÂgfoØëÀp——frË%˹í‹3[ֹܲˆ‰ˆÌ'Uü§“Oš›&ò[§(×î“ÍÆ†.~Ø3nSª› ®±Wz˜ˆç|"d¶÷xºÍ¦Ýé–Ø’ÙXp¬î/u&Ã÷_èrõë–Å/úGHðë r¶(xĘÎkÌ“}¤7Ý_ò&„H<í‰:®¼—ß>y™_nìÜܧ Î^üà‚‰ˆd©ht|coÖ¯×5¾wÁùÝ(¿¬e‚º¦]/‘ YŒ'yn;£ü²^1KûýU,™»3rλÍÈŠ›ûšOxGÓ{_trd+àõ^­3ø/÷Mûõi (¿èJ‘áòå·¿¶¨ÖÎÍ›d{ð³‹'zˆx<²tëö(¿¬W§y67}ØØëùäŒWÅ63Bü²ÂEu¥ EŽò¬Ø¹¹¿ûÙ67SaqŒ‹VwrFåäç¶oß¾=!œWº?ó_ÝDDfcuÝãÏ¿õÎ;["E•™‡ÿÕM&ͧ{ó:ÇþaûöíxųþðÞcß›®ï£aÇv~›y¸njÔ¶ÿqËË?Óü£ÞÌ#Þä'”SÛJN^µNÖt²Ž|‚='Œa¤.!NæÓ—Yêjyï³VÁ“srcçf¯Ôþõ…]Ú^""‹¥¢qÂQ~é¿ñ{ñýO_´ßðpjï¹¢ u¸ì|mnnì϶¹vå|ßÀL|Af)R8"¢Þ†êö6ٔŎw;&o³tY¾­³ÿÍ:ßô¿ß1•v“Û´mþ<¾ÛŒ¬¨‘…®põ»·½677v^zˆýÅêÃsëöl²’¹¢q¶ع;$ÃnÚÿ]¦ôâ‡â±óþþ»9Q¼¶Š:8{É»áNŽŒx{Ìl•„ÎÕìºæ´íµ¹¹±?{KÜþÞgWÚ¨÷ÜГ‘½áT½K2™â#ÁŠZz‡¿ {y4Ì%Ëâé/·\9míHª§#¿Å.D1AÀ#S[‡Aáµç×þÛ}LGþÖHA>i¿öß>­'£´ƒ»Ç«ÐÝB×°‡´™Úª.îjœðîks³㵤ñÊy ðG`@îçù/¿õöæŸm?Âá?=³¥¡‡„b»aG[똉*7>‘óc/¸QÅÙnŽˆÈÆÓßYLDŒ½cãé+‘£ƒ¯·¡ÿÈ>Ü‚€ˆìEa2ª«ëæ:t';™p…“ˆxÂÚÛÌDdëè&]àHD$– ø,g0›ëÔ4mj˜Ô–ˆÄž®!vúüfëãˆöa>ÖÙÚÏr¤¶®¾×V(æqÚ–¼ †63oö“ÞÛcüDMgý©z‡¹ÁžNDDN~O{òë¾m²†)å""'ÏÅRs}eKwÓ©óƩʓùDÄ—KÛ*ë:c×°cMMÿjâ{*='‘Äïé¹ÖúI‰_ðÔÎïN~o"25×Ánº€t\°x¹Î¶'"^À\—)-­gº~ØÉÈð…v–vË®C//w.dé$•sON5KD†Ækç—p©-ñœÃĶD¶S\ù|'çù["[±”O]&ÝãUèn×Ûais]MÀmR€=1!A’ÉøÅü‰ µCÞÎÝžŠ®™8bnýK­¡Ëb²g„ý§…­ÐÑÎÔbæÈŽÈöúŸcílyÖ?XØ\ŸÒÎF<ðt†€±5uõX“l&_È'‹ÉÐÿÙfðü³®C{W_×µ «võÿÈYȳ«ÄDv6+CÒ5Œ­ûBŸí¼Æÿ.­Ýÿ·ÞÉn.¿yÆ}‰óXÖ`›ÚŒä vˆ=|ÏÜd4ŸxCù|MdÔùN¢¯:89±Í8˜†kt2š&÷ßiªïü@ÀûôðÉ«á«Í'Ïóý6LãØefëºH(æsS÷µ©­ýû”ún&";²³ÆŽÌîúÄ–v–„ƒý»0|!™¯°½B7×ÅvuGÍNº³è 7k!Üé˜4 ¿t> Gñ‘ý/ú V@qmMÝÔ—Š@&ßólSÆ?¿³¨Ž;E…L˜f7‚³ÉFìØ¿ž·Ù´±Äµ´}TtõtG/Ë™œ†Œ·´³}çYu¬ÿç.b®ôPÈ0'ãˆÙŶYìf0·¹8 syáÈì2×þ£¶\Q¸6œéž¢ðp'2Ù\?fx|ëR{ìž®Bw5ì!m÷ô 'ñú¯ÀŽöB;üfä.€‡ßßSÐ~æê¹¥Â€ÁXswα+Â'å‹íø=¬Ál=3z GGÞˆº°XÚX"{""Žíå3<¡£ƒº®^h";¡°ÿîgÛ‰ÎvŽbÏìp§›–Õq÷m PLPõtü½úùÂ':ƨdÅé‰ßžœøDd6†šŒF3OÌ'‘ÈÁÔ¤üê͉mø±<>Ïhì¿é3¯|œà©ô4gžÔÌ¥:‡'6LãØÅ5·uÛ«ÜøÂk|¾ÓÄ´w÷›RY'YúÚØþŽ5™˜ B¢¶ü4‘¡‹]–þ–¬É@¼)Œ-ñ„ª™6oª;ιý/çæ1Ûþî÷¾Bça—nåÖØøâÁÓ¤Çö–sÁvÊL·ÿ˜éFd:wê›ù—f½vý•ó‘œM·nÚÇæîŒÏêÏxz§­uRoÃו/]ò »‰Œÿ²€3‡üö´½åda‹ÉÞ†3W'8¿+憽膹¼îVÈ™Sf5i'œo„/IåÛ=_…îlØCÚÎÑÞÆÀš9këê1Xð‹  x¾ ¹cÞ}{¨]ÛÛ‡4E-&Žz ºöƒ9Õ6Ûº1¶BW©'ÛžÓh""êhûïFÛÇ‘uËÆå1pDÔÓ‘×Hž>öGçÅb6GÝÉ‘¹»àTp¦Ø}ø?tØzú;’¦ùdG/qº–?ek*zîpÎöq¬™ˆ-Ê®|»¢›#"{ûâ±ÿ‹±“ÇBã?ÿQ×MD&Ý?ÿQÇ÷\Ü_ûÔTüíUé*O69È&0yá,‡¦XvkJN¶IÎ|ªž?ìØ R?±ñü)M7é*}7Uh‚çÓ~ôݧŸVò.ÓØen¸Ððf¶Nàï.±º¹ÌîÒ¼l²ž¼ÏjZŸï"ªS·6˜‰ˆ=y¦ÇQ:qÊõ*ˆ aÓìêNYǚϩ[®ˆ›ïLD¶žs]ÄÚÕ½ó#ê¤ûKîÞ˜¨Çdõöö6¨«còZÛˆˆøîRFxóÜFv6zÓ~ìx…µË„D\GûÁ:Ž,Ö I[2› f"Þ„°™vç¾½Ö`&¢Þ¶ š÷޵¶ 2žª·×cüöTí›ßö*—¹yòîp¸åò2¸£oWÈŽ­v3åiÏ9K¨æíÞ®Bw3ü!Ís÷dº.·žë!"öÄ)ÝUü^€Gê»àÑc?ñ?¢¼<¿jü(³â";Þ,Yê³SfÛÙK·­ìþã•«X"ây¾57¢v5vö‹©icZ÷•.‹xšû6†xõ¬¼-ÿâšÔ>"›)òÇ·‡8 hø{_á´Û\üàãŠ]ÔKvÌü ³í‰Øa¿ËŸ?Çá£ãU«4i!.EùÕ«ŠzDñÄß­‹Ç¶`%‹_‰ºšqxÛÛF"y<½!rÖ2ñäžmG>ØÚ¤ï4‹çFFÍš@$~Ãê̬ÔßÿÝLÄ“ú­Û<™hà /þ°ciqTøù¿îýýÛNÒYO/žZyjàëSƒçòþ\âô‹—Çä9ã÷œþ#9:9.™µ=@($"Gé»Ïõ K6îžnïZ{í³³›íÆ~øñ™º'¿µf¢ðúf;{ÙÌßæ_~ó¿š9"ø±ÿPMí¯°’¸„;_ù°gòÒ‘ý±ìvKö/3'Nùgý/?lOþµ÷h^¥`ë>Ç5ä²&z—†#0Bž™À³ån˜ÛˆÎ¦ÑnÚ}Õ~öüò³ƒ?9¼õÚ쨥¢·YõŠTüʲɳ¿3Ï>íçâùÌ¥ø=gVFúý.Äû·Ç.½ù_Íœ¹—œEËoñ“ÜŒƒ§júZéMçfç•u;®‘ÍäIÎk}­h èîò2xupî’EDÄ[°PÄú_Ï•#}çØ½]…†lÚ-åé6ì!í?í7—/¼ý_ÿ: æ+\fÔµá÷< l›P ð@y|ªë8[cÝ_#;\ºtiúôé?ʬMšÌ­{Qxeæ}­ŠÒ¿Ÿô­rË[‹ˆˆt'?øó©à„7:=PÛ~«{Ý­éÄ¡ÊýòYé º3þ!Þ´1½¼´4D2¾ñª÷ƒþZÂŽ+Ñÿ÷š*Æ/Ü;rhgãäöüBú»o§žÔ™ˆLߟ<Ùæäéa½Q×ýóÓc>á~Nï¶.7~Ø2!Ê×›#KøÝyE­4gjÀº¸Æ‹kR« :z‰Ìug®]qÍb°Ïàá‡v†0>ðg®~~ÁþÃIo!â‹g…¿þ8ߤ9””ZjœúÔ† 3'<¤Ûm<˜qv³r¥Oˆ#6 Fj.×Dæt’Ümû“Â#sø¹¿åsáƒÿûÏ]DgÑ«Ï=x !²Û>iÒ$EpϦOŸŽÜ8ÐîB$‰D"”ü¨Ðι ¹ »»»¹ ¹ ¹ »»€ˆwÓ˜Z*Žæ–×\ë!"žHæ½dùêŸû8Ý~‚Îêã'Ú§/ œÊ~¼±*õ½Œ†I«âßZ*Æ.€‡Ì¨ë»L-_íùs扚kÞó–,Y2ϧ={ì¯ÿùIµñ¶“´•çæ}£5¢´àQ4Úú.cMîZ"٪͗JùDD+BŽïϬ v½‰¨­âHfnyƒžˆ7iΊµk—Ê´éïí=k&¢ÃØüMÔ¶ØÚ¯2}QÓn&¹/Z½Nå;´Š«³úèáܲšk=Dö“¼W=¿ÂljÈXÿUfæ5íf{Ù¼Ðéõ¹'®M9é5>v!<àFYßej9[o&rñ—$¾ték¿‹ýU ”OmßìÏ,oà-ŠÚørˆôÚÙÜŒ£Mä¾"jÉD"š¸$jãÚT“~¬Fï¾jÆç瘾ÉȬè¼yMG÷üµ¨¦gÆò¨—×-÷Ð×ýuïÑ“©éhƱšvž÷òukQÙ‰kD«VL¯9réØþ¹fÞ™}ϵ³å5ídïï-s0—›ˆÈÔ£o©>^tBODú‹õms<ø<"j;s¦Jêa0™íÚŠòcõf"cKC‹ñzõ_¶hÞÄoŠ.å:Î[$j9qTK$[:O:Éè-*úæÚÑ#ÇE‹xgž5ß[øpŸñ¥Ë6Äó«>Åó£7ûšøxôàFvï¾û®Íh’—[À\Yoûµï/ÕÔi´:¾lÎSÏ¿òìl';ÇÇEWÎÖhΫÿù=oñº•޾»Tw^?3dÑ”Öï*›´55­ò+&~_u©îÌ·ç;ä+#ôÿ<élƒ(`Æ•oÎt8z/]ì!tšé/3^½p¦ôue]×Ä9Ë^\§tcì›&7ן¯««‰B€G껻ƳQ·3D›1€QA}rr w w wrrÀ¸¤ÍRÍ K©a¥mfÕqAó¢‹õw,“¤G«LîE5Mzøš=Í· –¬ÎÌMðfF5+IhÒ>?‘œy`·U[œU) “ßÇY2^±ûö±rу¸gSÃ×dܸgÁ»‹R‚óð@殆BíæðæØÎò·•NA‰À²µµõðð¸ï³¿Ÿç'¸q@$õ :ãâ­py€KO[˜º§,.<쾦$‘ÜOñ@n-«×éÉ+>sw°äúBè€6wõµ^5—˜K ˆÈëx5JB"™«l˜œÅªÂbuq[¼ ÓŠk››õELÒŽh?}–jUš÷¾‚$3øµõ51¹©»*#(37N®IYµNï•—œÏmÌ΋–ë+³’“3 kuDWÅÊ[âÂd [“²f:âýPuFN•V§g¼T[vĹô/76Þ#/­¤¶Y'RD%Å+JSRò+›u$_¸;AéBDÔZšžœ’^Ro ’x…FÅÇGú‰H_¼>$Qò~œð`z‰¦YǹÇ¥$©\5)kÖl&z=$ÈwKnz`Iä3É¢ÝEû‚†„0V[¼)9¿Ö@B¯•±úÔ­ºø¢t¥&1ì¥ÚØÜ,•ŒˆH_º>äuÁî“©A¤Ž Y¯K*JWŠˆZKS·¦,«çHè»e‹êæ C}eJôKyò÷³RÂdCKZ“—œ¸§°JÇ‘ÀU¡ŠÛ§”Ý®ü]K£Ÿy‡y¿h_˜uÕÙš”Uë C3sã†,NÇ $®r„-ð|<ÂâÔi%¾ñYy¥EI^5{s´$Sª¼ ¥9Uý-±U9¥¯Håõ,Á0ÕæJâr‹²"äÔZ°~g¥o|îÉòò¢Ñ‚ÂwÖï©a‰aDµù¢˜yÅû‚›nM«a–›U©Ü‘WPú÷÷½*3ÖÇæÈã² Š‹„êŽ$gÔ°D¤IýõtŠÜWT^~òïIš=ëŠ[‰H@d(N«TîÈ)(.Í•$'¶2ÞqÙ»‰»‹JÓÃ]ˆñUEm\}kÍ—6gÓ;ù‚èEååy[¥{J ÄŒ,·°šôõ¯ç¢ü½¨(;ÞK¼~k©þÆÑ9›Ö縼™žtKè"}éÖèäZ¿øì“ååEY1ÂÂMëS¯—ÃÐòwQD(•GÔúçê\Wª†6 åôzŽÓå$D†)ãsjô8¢¹ `Ìò_Z<ï&‘9Ú‘®¡1a2†ˆDŠP95W6³7/}UV©Á7"xhšxEEÉD"†ZË–Q`\¬RƉ¼Uq*×æÂœZkl*bVz3D$òRú tµn`¹á‘A.DäâèJ¯ÈP9CÄÈ•rÒÕê8bk²ÖzÅÆ«¼EDŒ‹"&N)(;8Fä‘1A.DD2…ÒƒškuC;¶y«b£oM@Ú²üZApL„ŸˆHäáj r#ˆ]µYë=bâ½]D"yXÜî÷ãBøqºâ­ëSôûvDóø[kiZ!)ã6ZËGåÑœŸ¯aoWþ.A ªÌ±n+«É/Ôy¨Â巬Dž,£ˆÙ‘•u Q%*N~)¡ ;< Ð¯<üÁ©¾D Œ$"¹pà#CDÄ‘,8Â79%¯–UøqµYjNèB¤½i¦¹¬¿œ®²™$ŠëuK?eÔë8‘ÈKÄÜ8ûëÉH2°\†!‘¬ÿ##âškuT›ü̼ä¦q­ÕQ‘Äupi‚þuQxÒ×èH8ØäRâ%irºZ¹ n¤È;,Ü›¬e¢¯M‹=R&ˆÈŒñë/u\ÈúkÀTì.x³ª™ UëÞ8?GòÛ”¿H¡RPBŽZ¯T 4ù…:¨P9‘6Kµjg½µ¢²óbÃ÷‡L)NJT‡mÊ(ц©d8๠`,r—H&—ªB—@•/—’SËÊõYjN‘4L?AŠEû”C–£×ް†jDiê~ çªjeÁe9Éùé*1¾ñYÙ±ýeï*Ô—¹FdæÅy·[-‘""6å¨õ®9…:¯¥Œˆdá©ÙA\l–ß2‰ÜKBù=;4ß<ÐÎ`ØàáÇ•å¨Õ9j.0Bq§ŒÅHü\IW«|ºHW©%‰‡ë GW? iÔÚÁl¶jðóKŒÈ[H:ÍàLu•uxC,{=ÛµÞº>^ÒVê¾Q“—žUjý–dõŽ)©[üj“7¥[[2.ò2†‘ùºRs­¦õ†èØz—:‘_d @£®Ê)ѶñÉg*"V““”˜^y}•5µ:rõ’ trÀÑk›µC´Þ%ĸ­öÓ§¥–‘2ÒOt·ŒHe©i¥­,‘¾&'å`³ÇÊHï–oU„‡îàÖ4u+µVfmZ³j}ŽöŽ“ÔZ«Õë­«‘š^pË×eŠp®$í`e+˶Vf¥ä7ß›KÔ­DD­Åé9õ·Ì\®ZéÚ|09«²U¯×§nÚš®¬YÉÂß߬ݻ§ò–H% ŠªwîÌÓ°D¬¶8)zÕšdõ“—È72H NM-ÔûE×y?#ÔîÙ´5¯RÛÚªUg%$–Qpt  vx0¡!<ü %ï¬)2Ìucv^Äïüƒ"ܦ2ÁÊDß»µ(t KÚ§KNNxf±Hà±c_¬ü¯µ}爫 ˜ôÉ—$bŒma{>IéXºä±™“°_»p¬!~I‹d££îhwC“¥ÍE˜øÑÏožOfö~9y&CD½’.o¨vùäMã†W͉'Ÿ}þÊóÍ¿\jÊü/áK·€¦¶”ø¶SMDd3åiIbâcŒùk/g.Ì9¯?Ûd¾¢ç?»gꆻæ´K¿úRôÒôžã\ƒ^ðÒΉ\FÛ——¸+œýúeÏMµ¥ÎîÃñW|k!"ñç„äIsœ¨9íÒ¯¾|lýt×çÍWšú<7NMz¡ïÀZí‰Ö¾oW\ªø‹Gœ‹>ùMÝ©¦>"ú;%ì”>á„ý 2<ßõÀ±!Ö|üŒÃ¦CÓ2O¸¿Ävîþ”“,užÝi8v©—ˆˆe}Ùð¢£xp ƆZ{Nù»~vÚm)Óúª®ùvÚóØ ÙŠ–M{zˆlê«;jZ¾ÓãÀ±i»W˜þ'Y¯#"Ɔ;cnœºï˜<Ñ¿'õ·íâD÷Ǧ%L3HëaÉr*Q»OÿØÞžÇNË70›â;õýSééÕÇ÷}6ý“öçRZ+ÈaÃ_$î~ÜÑé ¨"éÚwþ®Ÿöû‹#ƒ].´3/‡g—ÒñtÇÇ_κínc¦;-ub?ù´‡%¢ÎîÿùØâþ ¡ë=.Ñþ¹tü#}3QoýçÍñI]ú;|Ÿëk㈈;üâåÄÏMDD“˜™Sq„ ¾k qݯû×Þ4dšËáÏnW3d;{íî½àUéÞ‘ÅLˆýÈ%9þûçö‘û éŽ(‘åžÖÏna²ì¥ø«æ_ã¨O0uÂKÉö""ðßu™°Ü_·ï©ºSÉI…§¶Ô?ß'`l„³D )¨ì€GœMõb¯Á¼ŽW£D`Ìá½ÉðA+0xÈékr¢Ã”AAóæÍS†¯O)ÖZWæõv¢;ŽV4o@PxtBziëèæ ÍR)ãÔì}*‡û;7@îL?•)¯§êÃwç•––—ŸÌÚ()LHÈÓ±µéi9šÛ¥;1duæÉòòòò“ÙI*AÞ¦5qÅ­Ø%È]N«ÑË”ÁÞ"""F¶%3{G¨L›óz\IsYšØ-éÕ©ëÕJ¥2(,:©¸•膱šÒXed–µæ‹øÌÖdÅ©”J¥R© M¯Ô±• ʰÄÊÛ5F枸/^^–’Qñ59 ‘aaaJeøú”ÒV"b+“ÂÃR×GF†‡…E&Ý\5¦¯ÌŠS)•aaʰÈÄ< Kšt•2¶¸¿“}iœ2)Ü…ˆˆ\#\·¾£3IFDD2ÕŽøÚMëÃÒX"‘·*~‡ŒˆT‰e›"CÒDò ˆP¯ï6Õ‹½ð:^øé±5)k6±;²¼™QL¤NX•¢8¥’¡phg0N£ÚÁTµWT0BÀ8€v†ã/sU&­YŸ/MÚæ‚ÒÐÎàÇ…v†È]ãÏÆe²ÝlÞœÛÙZ­%cN&C_ðP±iiiéëë³X,½½½}}}}}}×ÇÙØ €à>²]666666¶¶¶vvvÖ666}}}f³™ã¸ÆÆÆÀÀ@”sqêù†³g'W½bûbÃòÅÓ?[êv|iõ¦×WÑ¥ŸŽ~¼týëÏ/!¢ú/½¼qʼnÆ.nú*‚ wÁ“ÿAÏÞßESWÎ:òÖ›ýâw__[OT×À5ÔM_š¤ÅËfçÖqõÓêäô2‡ƒ;ñáÅɆÓ—®u8ÔáѳúnìÒ ÏÊZòկ׿7üÁÛïõO.}nÝæm›“—¯ÒÇGßü~¡veM_æVNNaª! wÁÓ£~ɪuW{kTZ»j¬®^º™‘&õÉÅ\C-]³šÞ9S^¬64oZ²t©mòXùlÃÇËÜ+kãb«×o[½žhòÿðÎÁÇWun_±¸ÎöJçŸy°Z"À,<¿ëé3ù‹Ñᦗ>wÇrKVºWN~8üÑ$M]:=üQÝêu¶zª·­]yõô‰3Ó+Ÿã¨~ÅÚ¥Ÿ>¿ø…Õˈ®œNÿå[#§ˆ¨a…mEÑ2‡{éÅÃç&‰ˆ&?:–þ÷µO1Œw=%æÞßµxés_A49·È2ÏŽí¿ÿþ$q«6¾¾íù"ª·­]~¹ÿüšM+ê‰êmküîÕu¯.%¢%k^ñœ>œúÁÑé:ª«_áØ²}ͪ_ÿú¶Ë‡ûãߟ¢ijXéÞòò Ì1€§Ü¢ÉÉÉE‹¡#à‘¸qãÆõëׯ]»víÚ5Ó4 øpá‚ÇãAÏÀ“ó »>Ïp<íÎkêûÿå¯&NVd"*Vä% ÍÏ:ˆ¨ùËöo{¾Y{ ð©áþ.x”íý]'+ò;#C32äùÊï­´4=k±5?kæ‹ÜÌ»eyìŸË'Ëò¢E‹Â_kmûê·o¾ð@0ÞO£± åïý‡¿*Vämë¾9úÆWZló˼dwÕ^;-õþd ÷'™½ù¶§½ ã]ð(=’ñ®‘ÜÿØÿÃŽoþñ·½- &®»íõ½w’ßü·ÿâ¿Ýƒ/@îä®»úÞ‘ýÅ£ÿÇŸ¼9œuÿ~ù+ýö‡Ñ¢ÿsÏAD/¸XÏž"™ë(ýq¤÷S„."zæ‹Üßîé]óå¯üáþ¿ü•Žþä.€Û Œäz’ùq¤÷×YŸð™/r©PìÝØÝß….ä.€[Îkê÷ìO…beQø¿ÝÓ[ºPþË\:»f|ÿÈþo¼°aÓZá¡ÔVõêûéfrÑÉŠü³òèwm±Î—ì®5_¶ïHÝ È]Ôû“Ì·½û_2þ>¥BûÞ9õwòä.*Vþ1øxÞñJ‹íËË~çØ‡zî­]O¶c§¥% .§ñ¯—þQýùÔµéO¬di·žÿ·ó·c­P,ËAOý È]ðô»P¹ÛÓºþ§ãéÌé÷ï§’%‹¹ÃÛ~øß|yÍÛ7­° <|"Ì3„'Ü/'õgº³ëoþïÂ!9g\›ºŸÿçKß/Ô_ͯç‚6ŽN€{Ãx<áï:=^ù_O ®ú7Mwl¿qãú¢E ÿgÄ¿LhoýÃßþÙË­s7Þm$ ¹ ž.ÏZoËWׯ_ÿÿ_ÙýÛüÒÏürr♆Æ+“‹ûWæä2î™ñKß­mü_þß=÷»ÿŪyÑ®üPÇ È]ŸWª·M\´hÑÿóÏÿô“ÒÏþ] üþ‡¿Æ¶úø¿(kW:¤ÿø}eù³ý§«—ï¨aÍ—¿ræŸÿiÅË·×-°."BÜîï‚'\ó³ö·70‹ÿùÒ¿|‘i¸P_\Ϫ—/ÖýÖoÿ§¿ð…;)<_ù½áïe¬ädEFr<ížià.hêüí\CãŠ%–/²‹—?³¬qñ­K—þö3Ï|‘»qãÆ%Gþéÿ`ÿλÕÿåe¿ƒN€{ÃY‘oܸþZkøkA sÀg“»¦~þVôí2­|õûí/.!"šúE6ñ×§t¢¥ßønô«+ЧðyÉ]5ç5õ½ÓÒ/5Q»ékäŸþ‘[üÛÍÏ:ˆè%»kÓÚ µ×ŸÚ§žgxþÔÙ+/®]B4uqôŒŽŽ„Ï­•[øk­èxÜr×bÛâ«çGÎ^Y»v ]þðŒNÜò:ýã™7'?úéáw>(_ž&âV®Û²]l^FWNÿÕ_Vm›·?w:û³óW‰slþÎŽõ_ª_°0Ñ¥ÓïôgGÕ«uK¯¬§Ž–¹ßnZA“¿ÉùàŒªO×qÏ­uû¦ç—à#|”¦&§êêïµ>å:òËžsptväü$Ñűӗiåš³nòçÙô{e}åæ;_]3uþTÿáÓWˆêëêˆH-œ˜^·mûÆ•uzùè‘Ñ+w)|åô;‡GÕ«Ë×mÙ¾ÉV.”§‰h1M޽ÓóoÚ¹ë;ë—ž®•†G—º~q,õfúô¥Ù/޼•8øÁÅ)ô ÀCÈ]´Â½†£ó'>ºr©uæô¥iå«îì±Ù·®ž>òÞUŸž¿·œ«'"jàêîQxR׉¨aYm鸆¥ÑÇDDSºNDWG{¢£³E/ŸÓ§Ö.Á÷üGgÙ‹¡”>ØóW…©iÛ¶]ÔŒ‰Ÿ+wQm]óâÑÑ> ²½êàèìÌö+gÞ9ò¡ºø…ßßÖ\ÿÑ[?|»n6Fî¯lÁtN䨛¹vO‰al¸Ìî ã]ðÄç.g{—M Ý9Jd(¹h« ‚WD2eƒÈ#~1™Ž…C¢_cùb6‰~¡5^Ô‰ˆŒr6Úê÷û!N«DDF)*øc¥ÛFˆ”´èŸšûºTJIÑΪ†.§ÂAA£9åJ)î¿UQ5Z³Ú¼½®cPVm½_ü‚_¬µžˆÔ|<ä¿ ÚSµ1>½œ‰ˆ‚×ëÄhN1Úbê&ÓÄÍ ]F)æSJ-W…Ýî™ñA5#ú£%e ˆÍœ‘.'Sªqq¸Ê»ài×ÔÒ)ê}Ié¶¹púH"Qr¥ò’4Üë«ô$ U"bsE=x =á†ööm½éìá õ«d”{:’ªØ{4/åãÍÅhBÒ‰X~G|_¿Ï‘4CÍE;ŠÞx·hÓrÉ¡ÆHN’¤|&ÄHÒø*q3’­µ<3¤ðÁ –y{Ý<Ž2Iª-½y)/jèëè+UsÑ.ÙÕ—òÒ`„ÉF“²a”Rýlû`±8ÜPÑ!uþÒ5]Š·ÛëÅóªÁò>û„\®©ºj•>R1ˆôÒñ »gæÄ³T¼ˆÍi wÁÓ‹u„¢®±dßÜq)NèŒ8Y"–÷:9M™¨e4!à`‰8›­±Éã剈³51ºfÒxAÒ=m- îï‚§çÚ³‡ßhíµÏnª}¹ŠN MŒkL°–ÐnÝ<5÷%™dèš>q¼Ã/Ôb†9a:«&Ñ}õ˜çú÷ž#Ë[­V«¿;5‘êK†öïf›[vÅ:¼Cô1álŰ›¹J“¸ÏJtîνnV¦êŒ…› <ŒÕ˜ªi0:q–ÙrÖÔþ³Î˜¬e6±K†®Ý±…ÈŠÅj?Û„]müæ¹Úê,éâ¸Ê‘'à¢ìþ’ª(eNh³Î¦.e !5wf,¸º>Æ»à)aõGÚØt¢0^ûQ/&¢\[o.›ÍfâžÆOÜŸåxKã†T^ª)Ž{ýwçšÍ"†¡™3¯KËÁ7š ÑäÌ⊜SŒ¦²Òèûqg)+T‰ø€¯q$+˹ÊÍÑ®y{ͤ*gjº9ªšÉÙ–ãH×fKMhcùmÎÂ77éªR¥y[ C-—”›áÉ$b–š\Í4&ËRÕîjâ]öª$Ë25{šf‹ý‹T¨œ{7¼Ñëõn|­ U›ñÀÝÔ8q½O^ì „ûtj""Ò5³ÑÅ[‰ e(=6aZŒOˆ M/7‘T—ßFÕbrÿˆ§3âåôr±DÎÛ¦6Z8s\ÑÈe3”BqÜäg6ÛyÞß+l&‹ƒ\*ÜÇǺ[yÖºÊn¥R­…@c¸§‡lÁ]³K·ís͆H—¯)5S„VžÔ€ÒäsٸƧ–("N®*edÖâW‘‡m(¨Þ€EÉ„CCbæpç–L"Ügï>õZ«Å¾´b99byW“i²µó,K[¥€±[÷±­ eŠ¡™lYŠnN¸gD+.1€»æ®õë×/Z´Ä7®_¿~íÚµk×®™¦iÆ… ~cGcmBnwˆˆó¶‹ý‘­Bïjmß³!ºwwôÅw¯Yƒ¬cWw[Wô5!aY\m1'Gd(ýÑ.&u4æ¼µ«Uh¢¯²M6»à]ÅÍ]HÑ*tÆr[»¾Ì.ÑÒÞØ£3 cqµÅ}V""Þ'6öì·¾á¹=ÃÌîUÌ´ÌfÈ`2¢DÃþ>ƒX›7’ òDx#Vêèµöu·;Y–ڻۢѭÞ.“Yå‹$[l,{ç+ßWŠv}Ý­YšƒñnÑFDœÝg9·Wí9\LeĺÎ4>¥E“““È]ðXå.ÇsŸ»áǯÖ^\ÿÖ‘'£Cªùðö¡-ƒ)ÿc»4»š[KÑ|Ò…Oüï#ÀÃüC‰.x\èrŸê yãçaºj²,–0@îøåx×r÷Æo|cãË/Øèü‡ïõ¿yðÄÅ)ô%ÀBê>Ý^6÷+_]]OD›|?íyó½óDzg^ø“µKhò£Ÿ¾“.|uºnéšMÛ·­·]Ì&zNéÏmÿ៬m šú(ýƒƒgê^Øùƒ?Zyùô»ï;}þò4q+×mÙ.6ß1Ä5ùÑOß9:|F½JT·ô9÷&qóÚõSçÞùaÏ(96®=uV§Å¶uÛ¾#6/!¢+c?>|tôìå«´ØöÂæíÛ^\Q?õó·~ðv™{ù+ϼ÷!·ý‡íkð‘Àgì×½¿«~…ç•爦ϟþxŠ.¼uð½3úê-»vípÓ™£oe?š¶­[Ãýh’ˆ¦Î|4M‹›×¯¤sG=ß°þ;»vn¶©§úûO\º­âZ]—l·gÇ–5töÔáƒïž›"ª««'ºZ>=íùÎww~cåUõÔá#c“DìÿÙYZ»}×®Wú‡GÞ:ö‹)¢ú:"º|êgºcó–+ëðy?dS“SŸ°ºu·˜hZŸœ¾òÑ©óDK7nzqÕªæW6­¤«gNœ£ë^àhú£ÑsS4¥Ž–¯·öe©§NëTçøÆÆçW­^÷ 7GêÈ™¹ÁëÒé牖û¶mZû|³GÜâ¨#}ìÄùÙ/õ+7}cí—V¬^ÿУަÏV§.Žžþ˜ÈöÊ+kW­zqÓËËéò‡§nÎ}\¹9$®÷<¤{ÐàVÈúűԛéÓ³ŸÛÔÅ‘·?x,§œ*iÑíö'ËÆí¥çCÞP^'CŽbF½g™¹Œb­¼š…ˆlÌ)S-æŠU\9O_hòòå«D‹—6Ô]=?ID—ß{ó»ï;yñ²^ÿ¼Ç½ôgÞŸäN—¯ÒR÷ºõôÑ¥«DT~ûß½ù%þÜå)÷Íôu"â–sµV6,m Ò/ONÓ♬W›0ØÀÕ]Õ§¦&õI"RüÅwÌÖ¡^ž¦""nÅRŒtý&Ôé[¯¿’>x0M;·¯™í?8¼xË®M+¿xk”³9òù¥Ê®˜“½ïý8!•÷rx<ÖË9Ž´;ꡪÜß7²Ëçµ²¸z»ÀÔ/~V8OT·Úm«_|©èòÒ—w¾îáfj¯ã–‘{ÝÒá÷ÎŽžn(ë´t£çKõ4Õ°l1~L•Ü IDATîÕ]âªú™¢‹¹zš])±ž[Þ@tUÿX§ç—Mëu¢ÅK¹™æN_¾8I«ëiZ¿t•h1×Pß°¼èªmó®íŽ™[¸ê/m ó+]–½ÚIéƒ=U˜š¶mÛõGÍKÃF•¬ÄŠ©663œ.¶š md2¢ˆŒRlssàh„-tE“E•Lâ-ܬIÉÝY†ˆÈK·÷ •Æuε«»»ÕAÅX éÊdg÷«Õ“ë¬ìî’ÇÍö­—¿ý܇÷»é\;OD¤¤Å¼ó/¸ß/êDDæÄ„Ù<<qèÅÔÞD¶l1| Ò¬†Ùœ´í°+…Š2®q¾xoÄÅQµ˜Ü›((¦AÞ¶ä>‘g©šmÝœ ͬ·ºaÁ}Õ|<º¿ ãcñv{)Hð7Û–CJ$—´ËñŽDA1ˆX‡ïnwq¸öħ›g8­Ž|pìØ±ì¿ÿßÞüëá©î¹-›Ÿo %«×­$ºüáÈG—&/}T8üVúhy’ˆhÅÚuËI=zJ§åë×­ ¢zÛºµMŸ?õáE]WG³o½uøÄÇÓs¿Ï¯]¿’èãcï;ýó±Ù£g‰–º7Úf‡RÔÞ=16öGž%ª[í^Q¿¢yír"udTÕ'/ŽM¿uøØùI|¼ŸUôÚÜÜü¸†."cl`Ä"úx~C/edÈêy5'Wk¡,7Âlys$‘(¹RyIîõUz…¦ê —1+E³-—†{eቈˆq´ÇƒM––Ôàÿ¼}›K/ä”Úµ,4§¸n}<'I’$å{ƒv‹«-è`u)jêÌIy)³K±.I'"Ö¨5±;Éj£lJªR5¿7ZhêÌç¥Ãmz*Ò§ç‰tGîLG 웋vɮ—#L6š”§èÒ%©Ö6E’4—èdäý±ã¶}9I’2;ôxVÁeðYä.úøÃááááSž\îØ¸ã»¯¿¸Œˆh™gÇÎŽº3ï¾Ýóö»gëVoÜä^6“¢<ˉ¦‰lë×Ô¶Ô¯Ú¼óU·íòpÿÁƒ‡O\^±ö•«o[kpÙú×w~cÍRuøðÛýGÏÐs/ïØ¹éK³±«î9÷Ò±wûŒ^^¼òå[žo ZñÊë;^~nzôðÁžþ.rŽW69–àãý¬¢×ÚM›š×îÖåL‰n°Y… ½20¼”!¹Jd(¹Æ#ò,'ôFœ,Ë{œ¦L̯ê.e˜U “#bí-‚E‘Î}ò´DÎÕê5kÁ«*ç4Wp6!ér²c¨©ó€ŒJAf7ÔÞášE+*Q“×gg‰ÈÂ71º6¡W†Ê–`›—#"«tiRQ%bm.¯Ë6o:ãûŽ UšDÑÉ‘ÕÓê2dIaœ¢S+U"R‹¹ —èäXW<tŸ—#"‹Ëe™Pt=ÀyÐxõÏ¿þæ›w{ÉêM¯G7-ðÅ|ýŸ¿¹þŽšV¼¸­ýÅm·mkhn¿U{Ãꯆþü« §Á±)´é[·×·¬ù[Ò|û6ZJ¼‰ù©¦Ë#ã#Ç¿îÞ;³aBª «Gä“CcºÐ44BB7ÏU‹‰¾\E'†&Æ5&¸Pew)Ã5ÕbËY³¢›Ä|R«ØfÑeÆsJ[°<4Þ¼ÃYÛ¿*%¢#®xF°‘ihf£cgjnªÕÌËXØ™<ŲDdhÚĹž­Bš!"2MÓbÓ ¢ï ›·¯®g™k´°¦fçZ߈*z¤¡‰æ]NŽH/eÉlI#†1ÇÇ .+€ßpîø\©JW÷pJ¨… ½ÙÚw¼­‘ïÉɾHBœgI/&¢\üpÎk%CŽøc E¸»•Ñ5ˆ#2tÍd9æ>â`›ƒž‰XnÌ^Q›ƒµØ¥æºå–™™±/†³pêL„2ôq“±p å9Öbi´ïÉdZmÞ;,ÇÝl<Ñ„f06†ˆs‰v--W¨ 5·;92Ê©Ž>}Wf0`cr|ën×Àúºž`êñ²]¼uŸç›•lA%²zMc龂)´ð,éšÙhç­D†2”›0uc~xºKóÜP¡lJAÒxaÕ½+d ]7‰ˆX»¸Á,¤ú»èäˆ %íÑw$Û³{³|K³q|@®‘>–-è®ÚÁ;qö‡šÍ– "2”l,šU "C•‹²úIùknqjÙ’NDU)#³ÏÖ‚×ø@:3îjmæjŒmâ-,‘* ŒŒÏœ<¹¹«þKâÞ|3ZgqÁ}Ä®BFu´Ì]^‚sœj¶ Y=ËØÈlìâ¼í"Û·Uð‹á> íÙ@ïîŽJÚ)e¡2ãDvÞ÷ZÀ¿ñµ‚=óYïÞž&ÁkÙíe"Ö.ẕñ™ØUI÷ic=­½^¯×ëõ·ç«œ7–lÑ[AÄεÄ;……´ú߈{Ç¢~Aüáãóð,‘>’ìHÊú'u5ðFÌUê‚°µÚºÛk«ìs.Ñ®×\b3KDls[ˆ?öû­Éq_çËñÈ« à,šœœ\´h:‰7n\¿~ýÚµk×®]3MÓ0Œ .x<žûýoƒ¿Z{qý[G>‡©0ÓúÚXähÜ…§yÁáóýûð›þC‰.xªRπѲ£¡ ¹ >56'41~ëv.x’a=C€Ïœ-Ð+Ð OŒw wüZªr:Úê÷ºÝn·×Šfäêoæ0Å\ñþk6äˆ fæ® hïÜBd”“@¼|—õàr6* n·Û-´ÆòªADz>äž#,鵦%Ã~·ÛíöÚÓ%½VÎÊ/¼Þ¡.Çw ¥<ÐÙJ.Ö*¸Ýn¯?œZh!E]N·¼n·×ßË©å¸N[ɲ±ÐùÅvïÜsº{ÓÔL«Û.êô}xjF"òýìg¨µ“÷ öÙ“Wóñ_A#™’Ž_Cä.€'™^ŒmgIŒŽÆFøµ¸üð¿Wåþ¾Â¸ñé+`½±\Z¼ÿ§垎¤*ö޾·tuIU"}´øzOŽÎè8¢j~oG¡©óèÉÑ“™ Þבºg1J©¸DÌ6^ˆ$*¾ÞáÑÑÁ=–¡hâÎÖåDtÀ9:::| EIvdU"š˜ {çÑÙ¶æ" ßìÆzSÅÙ2'WÙ}¾¦cR®«_c˜Gp©ÙޤÒÒ{r´8™9ùj¾+!»ä%Il3û¢}e¿‹È]O,5—,4îJÅE—#âl.1Þ»ƒ†’9•Œb» Æ“ÑP«ðûéژ„¡æc¡€ßïü¡X^%"R3­þH: ·Š!É*D¤Ë©p@¨ gDsÊ•rjw—<>Ô¾5"éd(¹h« ‚WD2µoÜz9¯×+ˆÑœ2÷K¸^JŠþpV½RŒBY•ˆôb2$x¿JÔ™g+©€÷Ž¡ÎÓ‹ŽÈê ¸8µ¢™ªÁ46Þ\l[öuGK,/xýÜx­Ns,Ý.ú¯7О™F¹/!»"¾¦Ùü²Ð¹PUšË™ܪ– ãö¢ƒ#²ùÛZålåö1«JVn †+ë´9Õ¡•LC3˜Æy%3µB"¼n¡5.Ý>€¨d»$g$´P>«æ}L[›¹™·ç÷áL»½Þ[cró·Ün¢˜ ü^¯WŒæÔ™+Ý.úý~Á/ÎŒª#Cª³-à`‰¬B(Ø(g+W´1•uÛ¸TÖ«òbo :9"–÷y%Wcì¢×JDl“½ÑÐtb,œ1–˵bÉÛG`8¡wx0âd‰XÞëä4e‚Æ¥½YôX‰XGèPþÐÌtB­ÔÓÑÃìJEæf M–u¾v8«Gt5ÎÆE—×i]ð$Õ|´CruîqqÄrÎ >!˜Ì޾Ÿô(ÉŽž9óÛôRjwÑŸ98³*P;Q{‹`Q¤s©ÙXÎiwrì½Î…XW<tŸ—#"‹Ëe™PtÃêô5Uú³%¨ZLg*¦¡ß6¾cê17ç2cè&±6—Ïh?4Y½"¯—JÚÍÓÌõ9Û„&bêr2¥÷Í™£¹PêcC%K‹¯6,Ï vºÌy[îHcìAÏq®@3UŠê¥ ³¾6ÁJDœ+¸‘sŠaêsóóc˜F2t“síét„7z½/mNè--6ü2<å°Ž<<É8 Gº2A47±L(:qŽˆ¨Ñ6“1¸F†Ì cB×ͱ®­B¢–&L^Óg’ÂLh`Y""«¿;5‘êK†öïf›[vÅ:üœT‹‰¾\E'†&Æ5&H†®™¬e6v°Kd™çú÷ž#ËÛíC!¦f2–ÙÃ5Z¸{Þ±d”3»w4í9¬DD¼Íœº+´Ë•MŽŒG<U¥X818jågÃ×Äʹǘý|®/kkO{9"íçBDz)›HfK1Œ9>nøˆˆ&;•hG M6o‹`o”-\5ÞºWž fUðPÊÎ’išDl-…™,Ççl¹jGáíb_h¨bì"†³Xf#Œ…1µÙü¦d³š'Ö\k²!G7‡ ‘Å×û‚ùx%ì´é÷êCC׉›íM–㈪ó·Ìis&HÄX8n¶–&LÒ5MyÍ_`ˆˆLs‚&ˆáXSŸ·¦9A,Ǩ™ŽÄxhð¤È³ºoÝu ÆÙÄÍ6»ðà6ä.€''wÙ}¼–ΕÛÚoH)9I³·Ú9'šPuƒˆ%Ò5˜F¶‘áW$×+ÌBê‚5;ÅhJŒRUN†#±‚'íœ}G/&¢\üpÎk%CŽøcµdc(³©@WÃÒDÄXZº{=ÙP4éŒÝñb,Œ)ÏfMÓMË]C—šíØ=dgnŽ—ÕreÂæä¹™ `Ñ.ÇÃI=Ô{ ÀÏùº¯k:GdèšÉ4^¯dKçÆJ~ifGÚêW³wž åTGŸ¾+3°±F9¾u·IDÄòX&P‹‚ñ­'ÏXùîÁ÷ "b9+SáYµ¤‘À‘®Œé_«+%…±;oN°$†%"S×&nF“™M«jQÒš#ö™²¬«óðû{jqé\*v®2Þº±o¦á²¿u×_·ÌïC–ãHŸq†ªhœeÞ^¸ÕfV“ÉÔô™J&& ÆÂg±4 Þ¶HU±èÒ¸NŽˆÔ’ÊÚySNV,âž%"®9ࡎ‚B±›m¶"t<…¹ëĉèxbÙ|‘–tû»³Åi¥jihtÀ{[lDãdj#Ù1=êâTih¼Éçà¬L ŸLçO+Ïê¥t"Û´+æ_ ð”âá>>ÖÝʳÖUv+•j±ÁÐu“ˆtÍltñV"CJM˜Ãh¿Í,¥ûJ¡ÓFz1•…™ÛB‘yn¨PCR ’Æ·ý×ß ¿9[sJŒP2ÛÎëù¾yçBšÁ6ñ–H•FÆu»I¤fÃa©¥·;`Q†ö_ÚÁ±Vv¶iö Çìè“‚q-gûÊ|pŸ•´¡X¸ ôö¶;5ŸÒv–ò4!gFª.ÁZ-fËœkO-uêʈfóÌ9Îj©ÛÍFg’¤ ìÈõz™’2¯¹æ»–(‰§Qìz­‹‰Ý5oKÌu«ÍDdVÞ-¨~ѦË9™ìûlKø€ËŒ Èm1/g¨ùdÏx`_ÈéùT_¶ì 9ô|ß¹¡Ûn!žS ²ðÛÈP$Yo 5±Ä±VÜåðôæ®õë×/Z´Ä7®_¿~íÚµk×®™¦iÆ… ê8WôPʶ?Ùñõ„FÄXìÂŽT¦ÕY›éÇ4¹¸l»UÆÉÑÖ-òD$vwV:Âþ>ƒˆsˆÝ¶…Æ»X{H´t„7öè ÃX\mqŸ•HðZ»ý¡=™T»ØÙ*ô7ñ®Öö=¢{wG½‡cÝmÑèVo—ɬòE’-6›©Ë*tÆr[»ÅLËLåÎ]¾Ý±¯{“MvAš*¦IDã¹XÇXg¾÷Ö7wEÊV´ñ½_wï­ý̸ä{…Îxio×Ö—öšÔhoéLµñd Ú9ÚþRÿÌŽM;sA¢F»Gï{-0¦hŒ'’ò-xïç]à\µ…øÝaÿq‹­YÜÕ¹EÞÙÍtï ›_ê¢F»/’lãïì1g¤;nvw¥¹¥3°Q0©DÚ7öOÓä &ãG%bš¼¼Ô!&”qÃ&Æ÷Í ,éãšÉØî;µ,؇Ö@¼³ÔÑáwkdqãÝ.–sݹå¶`j’ÅÕ¬$Ä@i\·ø:S^ŽÈÕÙ-F£A'bmÞ]q;Kd㥎ðK=fã*W[w»“e)ÒŠÆZ…±¼°/¾pÿÀÓcÑää$rǰž!<­XWRÊ¢à3€ñ.ä.€_CUJ†ü^·[„’Rõ“Ë«QˆÈ‘¡ä¢·;,ÍÔèjb>Ý‘ e «`2ì=bYO{Jm9NzKÉhV%"]о–·;o+Ø‘2Cƒ'G‡3!³¯£y ¹ àñ¡½[âC;\çÜâKïŽéDT•â!¿àõzýᔬ‘QJ‡ý^Áh TÌÚ¾žÎLo›ëŽgF™Z! ^·ÐŸ>›W‘šeù]AþVŒµ ^! †“ʼnÚ&γ+×Üâá´Šf1üŽÞCûMsòš2$™B›ÏÆkóµ ¦4¤ ·»>sZ©ÊÚø™èÄñ6¶ZÒ¨šÛä‹Å£ÙhR6Ôl¬Oß‘Éçs½­$ׂ—Õá˜ÿœ^S“+®xN*¾ßi)$zJƵ‘šë°DöÜ mz1‘áãy)—Ýç+M±6¯ßkc‰HW¤þrùx–ˆå¶ÛÇÈt­¢[œ3AŒmrZôŠ6µPK¹ à³g¦ÉÜš±Ç42¦nTdžJ–Ÿƒ%² ñÜ`§Ë¬ojx–ˆknî9³°ÑôÙˆÈêy½TÒôyµ±TÍ'û˜]‚u¶"C©P³èâˆÈ&·`”b~÷Æ­{Ë®Î=^náCêÆœ“`ÓÐj >nä.€G€eÆœ0g4'L†cI׉ãf¢Ëq,šNœ…›ÙpÏØÅpËÌ+ÆÂ˜šiÌ«M—ö÷M´uú­sv35“µ4ÎVÑxë¬3–=ùþ!q<öZ|á1+†ã朄1a2,·PKðq w< §ÕP”™{®´ŠbØœ–ãHŸ)†ª¨:ÛÈ®ÕJº2q M]›yÛ4'LÆÂÌ«M+åŠçäÄV¯×ëýz¢¢^ó‡ýÊÂ7w¬ÖŠëå|®X%"b­ÎÀ‡&Ë ŽY±6;§•´Z&3ÎÉš¥ÙÖ¸@Kði w< œ+èTÓ}²N¤Ëé´ê]×Üb×r%¨Zìz-ÜWaBÓø¤DºŽ÷}«Å RR­ýãDDÔ±ÑMäê>`!¦ÉËKbB7lb|Ÿƒ%šWÛBÍðF"®öŽ^®É¹AtYr¦IœÐ÷&¶¾ÔeÓä Æßðr¤ÃþÝr-—mu÷SӎÃ펶d{4ÒúRYìB$ä‰J µW‹&''-Z„Ž€GâÆׯ_¿víÚµk×LÓ4 ãÂ… ç>wÿÂ_­½¸þ­#èL€G ¿÷úC‰.@î@îä.ä.€‡O/g£!¿àõºÝn!NJêC«Ú(F1£‘^Ê=ÄzS†ñº½íùêÍ ¥˜¿5£â@î‚§›QJîNé¹bqtôdf—¥æVR`½±\Z´•t_V1žüîdNÞß#븰»n2UE· kóï;<Øí³‘¡æc¡€ßïü¡X~&‰U¥xÈ/x½^8%ëDJZôGäZžšymÈk2ö á¼ZŒBYUÍný|Ïï•fòW5Z³Uªæc­‚Wð‹í©LÄ/¦2Êñ@ –l­… %mõ ‚_ð‹‘LÙ …[lÄx2j~8UÒ‰Œr2ˆe’í¡VÑ/ˆ±ÚH”¡ä¢­‚ ^!0SŸž ¡t*n øý¡d±˜Ž„CÁJÕ«—Òí¢ßïüb{º¤‘QŠ ·NåVÒ䃻ì#ñtùÎ7ªÅT8 ~A„’Rõnm£j1®õº}*’*r<8gÀ©$ÃÑt®X®D¬Õfe‰HÍvt•\ñÁ|>ßëSѬJTÍí òÅâÑÎÆl4)/ X£R4Ú¥^¿¥¶Á&¾ÑnoôÄÿ—ð·ÉVjYFRøà¶˜HŒðñ¼”O·Qö¸F CD,¨-‡¤L+¯ D’jKo^ÊK‡Z'ú:úÊ Ÿ ˘çF(Ø›Éæï¡l,«ÑøHÅOg²ƒ1›Ô7¤é#‰DÉ•ÊKÒp¯¯Ò“(T‰ˆ¥‰1ɶ«7“ë jý–ÎÞt.Ý¢eÓ²Az1ÑžfÚçóÒ`Ä2Б,Äò;âû‚üü‡1[„H—M Ý6f¨K‰èPSgNÊK¹˜]ŠuIú‚m«æ÷F Mƒù¼t¸MOEú\¡€Ü𰉻ÅFy kû×_òÂɼbUå!ÅÞtrD,ï òJ®¤ëcC%K‹ÏÁY…xn°ÓÅÞ¥N‹3ÐÌ-˜xQ˜ ^º<¤ð¢‡SG*ä]ç †ìÌlQÆ.z­D¤Ê…q>àY"²ù¶ðš4v·iŒÅÓbg‰ÈêôÙÆ¥²NDÔØpqDÄ4ñÜ„¢Ä ½Ãƒ'KÄò^'§)3Ç l°‘…·0¼Ïc%"‹Ýbjºi(™õµ V"â\Á ŒœS â^¯c¡“dø–΀ޗ”nM64*™ÝtqDÄ5‹W*TŒÚ¦W†Ê–`›—#"«tiR7‡ÀS¢]O8Öæmz[£dTËR_´+¬[†4ÝëÚ*$ˆˆÈœ0yM788n&±w÷ -Ü]"ë}L8[1ìf®Ò$î³Ò¸fr–ÆÚ»œ¥éfîâ,µC™ªÎXfÊX-Œ©šäZ¸öFÛÌq¹F†Ì £ÖPæŽRÕâ@¢/Wщ¡‰q Îæ¥ÆÙ617_隦¼æ/ÔÚcNpÂĽ;ÔÑqmM¤J‡µ ¦¡™ö™¶±\cVô©ÚfhÚĹž­BzæH¦Å¦7›€Üðùd¨²T±ÏkuøÛÛ†úÊZ£…c\‘\¯0']éGºfÎî¨hOD³s C3oÎ;¼{&#>àk ge™*¼Øi%Òs¶R]›}u[–2eݬ¥³ª™œ—¡»wB‰)º¦Ó¸`^Ñ‹‰è?œóZÉ#þØ'wg±4 F÷€8ïž]¶­±~§ƒ!"b8 w³m†>n2®~¡Àf±4Ú÷d2­6\™ð´Áaõ –¸Li@Ö‰ÈPóñhºdéåb±|÷u ­Î66›,jµZšãr•ˆô±lAwùì e8ÎÞâP³Ù’AD†’ae @îx°ŽöÞ¸w<zÉív»_Ú±wöFœ,ÙÄîN~(ì!iòymDÖ@¼Ó%wøÝîÍ]ZK<âb­B»H}¯ZC»8請sY-öÊÞb¼dñ>±±Rá·x¬DDœ'ii÷ pškq5ÎÛ—&#µ–ø_ËÚ"É O´ðq™&—mýÂÖ~®-&ò 6…ó¶‹lßVÁ/†û(´g½»;*i÷ì$ÎÕÙ-j‰€ þ×ú'<‚%Cév Ü+ñbg ;Q‹ã¼±d‹–Ø*B v®%Þ),ÜUVÿqïXÔ/‚?œc|s à)±hrrrÑ¢Eèx$nܸqýúõk×®]»vÍ4MÃ0.\¸àñxî÷¿ ~üjíÅõoy|NªšoÚ2˜òß>t)èó fDëƒWjÈÜ•ÉbŽ<¶ÏßG€Çå%ºàaÒåþ>ÕòΆ.%% í9•ˆªÅl™s5sè#€§ÖÕxx™«Ùº[¶“½®›éŠEÅŽèVo‚Èâ ÆÚ˜ZðôÁÜë%º¹ àÓ2J1¿?Vúì—+7Ô|¬Up»ÝnAŒf˳ ¨Ê©×H)³åôR&" n·ÛíÅó*åd /ßÞdCŽxÝ·´fÔ9oª™V·;\Ô?;µVSဠ‚hO«µmR2ä÷ºÝB ””ªµÃˆBDž×•z)ÓðºÝn¡5–WïÒºæžö|óz†t9u³âœzaµ˜ ûÝn·ÛhO—ôOja5ßîu·f«ó›½n!œSoïGĄD¤Ëéö€×íöúï¿e·®‹xÈïu»ÝÞ@$3ÛBÒK™v¿[ˆÞºR 5kÜn¯hOÉsWô7ÊÉÀ­¢F9½n·W#™™O~¡}ïrArÀ瘚íè*¹’„r2šU‰H—¢¯%ÇíÎÆ9_å}JŸ}¿“?ÞÕ•¯.\Ÿ©O0®îáÑs=¬æºú5†¹{[î±oí;1jŠå$IÊuZ†¢‰¢NÕ|W¬èŒçGGsqg1v×v‘.':,‘Á“£Ã)20°`Ä5J©¸D÷hâüž!½‹ q‘ÁÑÑᔯ’ìȪ÷‘ºò{; MGOŽžÌõ¾ŽTÙ¸W uiOi¡ž3TidÂw(ß°-|ÊÑKäèèèðåþZ6÷ºñ£££'µžh_Ù 2JñPLnj¶°·L*-½'G‹ƒËP4q3yÊ@WÁdØÙ ÖÓ‘2Cƒ'G‡3!³¯£§l,¼ï‚$ w9/NFÚž?©„à•â伃ZÔç —HôÅ˵bR9uˆìî®ZŽE"¯–JxÌÆ€OóX¡¡¬$”éç¬]ÃÕ–£~‘DtYs]‹ÏÜvæ È]Ÿ8‘ïwXâv­q7+íÞØàË›µÆÝ,íV;#âýj¡AË;†aÜ».µKÕ>'Þ¯ä›Òõ{Fk'§´w‡® Z7òm_n§Õ2î.³J¶jI•õBÜ÷Ôμj<œ\Ñۦɔ‹D"Q úŸŽ%¢¢ÅT/ëïÖö$MóM¢“9P‹M£óANn—6zœÆw•«±È‚¦gŸÌ 3nm¸©\ôÔHɹ·}’ýæUŸÕ쌈hd¶-_D•ÞHô+ÓD")~qÔsˆˆÆ=SÉí´:­õY.ŒÓ&Ù©¦ã1M‹§§ŸŽGÖöš1_ÈNòͨy£°§Ýnu:÷ržF¾lò•y:ÅJ9=穤`ï®m õZË0ZÅ€Y.w‘ŠÅB“ýŒÌ¶­\ Hgõ÷*ÅA¼ ÏØ­7V\Oø|ïmîTâb§Tê*Å–ÑlÜ íõÆDÄl‹{yZ@rzgR¦&,ßmµŒ¬¼½Zîñ™'•WiA‰ˆ¸mÔcu1 ‘7¤HOõƒ;=G ø§%“/·lFDvsm[Î^?ÉŠÌ094«¢/$³3ž¹íÌ»>>-‰$¿ßã G"’ü>9.‰ÁìNëvÜKDÞægûŽKŽi² ñ‰J|YˆˆØ`·/'–#yµ„ê›ÈЍÊìËØQ§˜¹#goÆ^ð¨dÞÉD.ýaÙ‰–§ƒ15õ‘7¢+¬×sHðE¢šžÛé<¼_ÑÇÕL©Ã¦#6‰›úÓ“áηíéð\.D­__ˆ,|}µ1»$îºÂ“9‚GpçD$QE$’Ôø< :ö;¦Ìí´ŒœÏÈßxvB¢Ý(4ÙLèI®`{»=y1:Ž)6wrê¬Ò‰Jtž=¸cØ“HÚ3æ>õ¿¾u+©ˆDRHó¹ÃÓ©Œõ*×6ørQ÷ŸÙCÞ¯–ö"7Ê‹æg·»š×U‰ˆüZ"$‘Ë8 'Û ’À™Ë­¶)F—5/Ijâ¢`6->ë¤"""«¦/¼{yõ²’žq^¸Œ 'AU<Ä™K£V¹*¬ä4ï“N3~ê@‰Áålö¶/sBÀ§Ïï‚7†øäjôôKr‰ˆ[íri»ksAp}7HD®ã ÇÓóÙ' DÄg¼¿±¤Õ""×ue?ãDâíÍ|ºJ©Íõ™· =éW¤ÒyÈìNm5›®Õê "A’åãËfYp—ü±l!6y+¤¯Dזּ­IÍâ ^Îù‰Nç¨óm+nÿ³tÛ!’£›÷®ò«¦¶u?’X¿–¾¶Ú¼›×9¹XwÇ®àE"diZ8,ÒØ%A$!”XTD"1’Ò}©ö¾å\KÞ¸$®ï¬Kk ¦‘ˆœ“²0FÒñ´GQ:ë1ÒR¤P^Ì’ZI FõˆÏòx†õäIËõ$u7JÕŽÅI ñ¾+ë'ÉÂ(¤KÃøíJR‰øŒþ(Ø+ó¹zP¤“°6j¥—n˜c.$¶ê+Oò㊲縲ˆI$×u§GÝe®( ÄÇé^µ§çÅXÒÆ3O*""RR‡‰Q¿]º–^“wŠ‘%$ÑeÇsÝ1‰’kÜªŽ—+1/ÑèÉÇ$Á(>vQšµ­ðR'$ w|:ìF¶4зv’A‘캾ô€ˆYp÷ØäúÚu†Ìõ‰²ì \¯?·4Å £ÖZº*e· Ú FFfËÔXÈK’?’Hø·}–PÈeÎøä²Ùd˜Õ³=¡à´)—ÈCÚìî†ÉKÕI$3–\©Ý<×¶‚¨æî~pˆHôR/ÓóD³!‰ˆ¤ õÔÚîå]‹‘*‘3°¸?*ObÈ´ 4sADyÞ'ô›†F¢H>}ó^”‘(Q'ÝÛßëÅŒii)fݾ—ˆ‡:n[ޤøg†/IÍTš™i(jû/úí¤e凞Ê¡Íz%$k¥bw&Û0³˜.³ÔæíøtrVÿÚhöéK»Ónµ/Çû›w×w>˜¶-Rÿ$ØÈ·ë9r\"’E´{i1kÉQŸ(ɲ/q{'{ú©Øvý¹“Š[FÛ D5¿(zƒÑTxcÕ°yäùGi‹¾ÌŒ!£ DDvÏo¿ÙÙ7¥HiZË«1çæNn2ÍQ÷‹D|ßtäy¿üü¶ŠtÞ>5˜g@œ ]AVü"Ѩ³½»ïrF$‡BR¿iŽˆ¸Õ¾ÓIÅ Ýhô8q«Q˜¬¬1êuLëée FÍ·ìÔæÇ^ãÚÛk«ñ~»aIE â46ëÝ:¾¤ª2·j«é ‹±þîF‡Â±€šo>|ø°Óét:­uÕ£ÞnÕSη­"’äHô«òÐèX“ïdC9à÷ª‰]«šŒˆ™µš­N¦Ú‘;x¿=YH½iR 콪´ªwLF4êÔÛN ÅiÛ’èÕ:Ó.vv®\¸pe§UŽxçNs»ÇˆFµ«éê`æ Ü,èÉòäSÕ KMD$zÒ2¹#9à“ˆX¯ñþÀå̬ÌhjëÅø©YŸ3zHÕ»u+*r÷šùЗŸ´}*ÿøÃÚk˜Œˆ[ÍíKDb vw«ÆˆˆõÕ¾’{E%®ºÆ¶Éh²R|¾Öã3O*fläó>#¢Q·Ñe¾-ï 1˜H©éÕXLö)Z&{Å̬¥+ÊÖÊu-]¸¬‰¾PTøl""oì[Žù˜ÆˆD%š+*"1scµ4_of”'±«»m:óòBiúFàæumŽ]3'=K wÈwåîN¦x³—_»¼à¸$\¸¸²ž ŠÔ#ÁQŒU½d ¹_/Þ Š"e×— ùä»%—<..ßΪ³ç6º?öJ¢˜¬¥cUN$ú#Ùâ²B¢r³h®æ/-8Ÿ/~K“ˆ—duÞ*éñÞÉÑ\%"Iño«ùK Éó‰Âº&}lµ½ñb®·º[pHVÅuUd•Q——•LúÒ¶+Èj¢ølÃþh&ÚÈ_Öª>EMe²j¶”.þƒÕaÛÙ§?|w:øE¾+;ÍŒòò=|BŠd³jfõRDò….êªÜt]CÙõD>ya•äùÅ\1î'"5·®çóq‰þÈJ1 Šâó'UuëöúJ©¾tkL$Ï¿w³÷ï._ÝÌüún›<ÑÍVQÕ‹¹ÞjúÝ ×sA]^Ï„ÎXCY.gòÙä»k$´l9¡‘ÿùmGí'd àhîñãÇsss(¼GGG‡‡‡®ërÎ=z‡Ï¹ù[ßùæäÅá7¾ý©ö“÷ —óòæéh¯è÷à3ù‡%˜Ín¤´dÝâDÌlty@•Qø™`ž!ÀüÑܲ±š¼´A$ ë 5ä.€O”LVšIÔ~^˜g€Üð3ã½B,Vè=½R97³š^·ÏÞjdVR‘…xÅzöýV&²lL[;2Ê©XdaA‹§ÊÆè¬¶ìº¾ð„–7§kÐ瓱È‚¦OÖ¢?ëÕ3±-ß›ý!»ULj ‘x¦Öc“ýiYó™ó~%Yˆ$+§w5ó“O~˜\XHw·[…¤¶0ímŸ¿¸âýr|VwY+IµØÇ±Ù½u*éxdaa!KW:³ŠmÅ䓃3YÏ=‹,,,DâÙzYO»‘Ñâ…A§žTãåú¬iš¦Å3“>[µÓçÂÂÂBÚ`³ëÆzµL<²°°°K—;#ü" w¼n˜‘¿ZBžçpk£''l­Ð [6‹¡Na­5û☳¡ëKÜýîà £¨ŠÄû™Š½x»õðáýr¤WÎ7ì3cc1U0}ó²xÖÿê­Áâæý‡ßÝYÚµ3ÓŸcvmu½UÏ(â¹j`7×î8Ç_Õn¬®õÔòÞ¯hýô–ˆ¸µ½Övñ“=$£ÖZ¾íËî|÷áwwV„FþÖ³ÇnfÒ5š¿ œz«±ºf†Š÷>üîVÂÙÈWû|v=Ù iúo~Ð,œµTûÓÕ8÷iÔ)åw}…¦aÍœ¼›/u)©ÆÃcÜ û.¾7/ͪë”25Z®÷áwï]÷4ó¥Ãï%rÀgèUHj-®§Ëñq¬Ékφ ʕͭ›qß3WáÌ,Wl=«N/”ÙÞû=%uE•ˆ¤Ð•”Ò{ѨSNÇc±˜;Çr™+ø¤§“Â+Å¢”ˆ¤ùŰä >s[}ñr­˜Tθæ·Ú v1«%ýñr½|ü@¦q§œŽÇ"‘ˆžoÚÄÍBzc0î’éšÅ{µt,¢ÅâÉìä1À3+Uª ËËé^…`âfqYõI¡hDï 9Œb*¦E"‘Xºb²“°Sh(+ åŒCàîÕ2zL‹Dâ™zŸï׳º¦iZDKæ›'yîéþ‰Šž+f5¿H¢_[T\Ë~&‡H¡•­Zæ©g Á+ÅI¯Å õ9ÇQOÞ¯¤ {î ô‡Ér3³’Žk‘H$–*ždØgªA4ù”¦iO}ìÙ>³áÐU´€DDRHS\ËbO¥²[U–ÈÆ¼³ë&G³Å›qE$щÝá¹ ¹ à3uJ¥®RlÍÆÍÐ^o¼DåJñfâ™1 Q úŸùà½Jq/è'?qz#ѯLC˜¤øÅQÏ¡QëF¾íËí´ZÆÝeVÉV-"æ0g7×"±T±eON‹øE"b–q§KjTgnKä )Ò™ƒGÌ6I2×’1M‹%ŸÌ÷L%·Óê´ÖCf¹d¸jaså‚çbyg3%4 Uv¥Þj57“dg/fÜÚpS¹èɘWÇ‚“oj›&S.^iÔ¼QØÓn·:{9O#_69Ù͵m9{]=kÝGwÐq—k-ãþ¦fm”Ú#²w×6†z­e­bÀ,—§Ã:ÏôŸ‘Ôb!‰ˆøÈll[Êbè™'þJJðÙg{Õ˜”ˆˆÛF­1VÒŒzŠÁÌfn^˜¿¹SÏ*f!ß¾Phv:­õ@·°f°YÕàýj¡AË;†aÜ».µKÕIÕŸë³<¯ú¬fgDD#³mù"§C`5ʽpV÷OS׳u“‚Z<2ùB¬×¶du0@îø,àvw@óº*‘_K„„ã ÜH$øñËÃó~µ´¹™PN&›qîºÂ“™ˆ‚Gp vûrb9"‘WK¨ŽÑ±IV£Zty³õð»;9¥»¶zä×V–•ËÛæ(é÷‰¡BëanÔkÜÈ\-Vv–glˉž»Þ¶ëÉ¥[—„ÀõM? âzÄKDJ|Y­–M'« ²4Í’Y¤±ûTR#IžüP”|ÙDÜÌ_N·"9ºùÏ­â ^Îù‰Ø3¹µ™OW)µ¹÷gŒ$iZDQ’ˆ˜q«:^®Ä¼DOV¶8Õò½I¾ã]Ë‚;`.ÙæF©Ú±8 4Þwe}z|fö߯=Œ3«Uɤ¯I;·w’W·÷]ò¨ßÚÙŒª”TãabÔo—®¥×ä⋟ÀÆâ´â’$N9Ÿ­·ÚåÒv׿‚à:ûnðŒ>ZùUSÛºŸ I¬_K_[mÞÝœÌefÍô%®O²Ü¬º§³J&ß Ý¬eCxprÀg„ ÜžÞÖåŽ÷%6íÁþ }iwˆ¨}9ÞßÜŠxy×b¤ŠDä ,îÊ¢ {×ëõ¤ÿt`é÷\%4Ëè ‚Èú-ÃQã/‰ÞPüJp£l:bàùmgñë›÷¢œˆDÉ+XÙµù“x6 ®ÃÜÉ{ã1äSSôÄF$qf‰ˆD5w÷ƒë“8´_)ì†ÉKÕéW5cÉ•z=åi­¥«Rv«p|•(IÄŽ‹ÈmËífgß4–"¥É†t5æÜÜÙh<ÑܤӼ7³nq©_Ëä÷´Û[) u¼&0ÏÞ¢? ½†Éˆ¸Õœ~ÕÖºêQo·ê)eÔ¼qËNmN-[!Í/œæv:kWÓUK-Ó ;ärt«µ÷>iy’MöwÛ}NÄ­¶á(ÚrÉŸDÄz÷.g“þ<×wP[Ë×LFD¬×49äObfläó>#¢Q·Ñe¾üâ#*Ñyþ`Û±ÞÆÕTi˜Q º‚¬øE¢Qg{wßålfŸ¿ìWå¡Ñ±&ÇÓ4†r`z†‹+Áé [bdVÝx¯¼ÚPŠë]¯ŒwÁ›AŠd³jfõRDò….êªÜt]"nÝɯ •{§—gtìš9 K wÈwåîNfÆõ¯¤Ý,š«ùK ŽÇ§Æ‹ßÒ$")ö­âÞ|LcD¢ÍÑ«oöòk__pˆäùDq]÷ùsEýFiéÝ5—Ÿš(~+"=¿-ñ^áòÕ]‡ˆˆ®¾Û&Ot³UTŸôE ®¬gò«K﮹…‹Ùõå H–K²:o•ôxoÈäh®‘NM“SôB¢»š¼T•”H"zA°øÇVnÔÝ6yy¡4}#póƒz<^ÌõVWc Éj¢¸®~l@àDž@˜U¯Æ÷,Gg+Q¯Ÿe¢üe­êSÔT&«fKéb¨ìŸÑÿD97Èg/ÝyÑlù™GÍä××DDd~}¡Dܽºž]_)Ò—n‰äù÷nãÞÙõ <9ErÅÅk—ò ·µYÓûÄ`"¥¦Wc1Ù§h™ì3³–®|ëfõ¹˜¬¥cÕÉB*Ùâò¤ÏÜŽ%¿ç…¥4ÚÃáx2ÂJD$/nÝ;{™{øL˜{üøñÜÜ ¯ÄÑÑÑáááÁÁÁÁÁ뺜óG…ÃásnþÖw¾9yqøo£˜¯~^ô‡%@î@îä.ä.€O3R½nOÿ—ÝÌh±|k„ºÀ/Ö‘‡7&‚u é²›©ÝŒyQ @îø¤ñ~-“D+›º2y ·[¥üFwèròi׋…˜ÐL-mÇëuÝOD¼W¼¼ê®oJi3ºHÝ®eÛn S)ë 1³²Zhô¹¢²˜[Ïk^Þ//­2=ìæÀrç3­_kì ,¦æ¶Š1ïóûòY•xr/×ÚŒH88¯?Ì3„ן;læ¯5”ÂíLè8åØÕµžZÜiµZ›Q«”oØÞp"h7º6·Ú] ëA$§kr›õÆNYÝ«Özœ÷«…-ï†qïºÔ.Uû“'»V¬Xkì•n©0ˆ¯×ê;¥SmÛ³öED¾xa}%€Ð€ÜðZ¤®ýZ¶l2æ0÷佑¹k–!‰HT¢ Åjö˜W}ï8x » 둈„€ñ‘è x¸ÃH fwZ·ã^"ò†4?Ûw&­Êª>/ ²"Ë¡h@$|ŠäZŒÏÚ‘¨¨‘&<¼!0Ï^{žHa''ßI¥W+­LP$¢±Ãܽµ%­4IfcWqy#‰P©ÚµöÎDrˆI&ÍˆÓ ŠV»\ÚîÚ\\gß Nw"xžìPxj÷3÷Eé@îx}ò|À+ùWÊ+éäµ’ºSˆHä‘%AÍ67µ§ãª‡œZw@mÎÄ™­Ùli oí$ƒ"Ùu}éÁÇǾÙû€7æÂBT’ë7çüjÓ&òª‹J¿Ö´8±^-_hÙDD’š˜Ö6j,|¼üƳ8º‚¬øE¢6’á0 IDATQg{wßåìãv<{_Ü2;=,h€ÜðšñÆ eÍ*e*}î××sÊn:¦iZ<ßõE#~""’Bú¼cºêY±‹Ä`"¥Vc±¸~£«f¯kéÊà§/ÜíÌ} ›…ÕÃAx#Ì=~üxnn…€WâèèèðððàààààÀu]Îù£GÂáðyÿ³Áw¾9yqøo2âýòRžÖëÙ ˆ£ðR>ùßG€×é%JpÂno´åd¡ »>V-Yª +…E?ŠŸ(¬g0¡¤êÊŸŒw wü̘‘ZxZ¼Üÿ‘™ÕôºýÍŒ:ÍΈˆÈ®éZÖäçÞðe?ÿÔ¶õç·e­T$Õúô–Aäýrla!ÕxR«¢ÇË}ŽS àçy†ðº.\ßi$Oß³ÅÍ—lbdÞ©vW¢¯èOÔšºtþe7^öó¿ õ<ƒJÙ¸XÖ¼8y»~nÜj®å7:6‘èQ¯‹É 8y¯Ü±É%)¼¼^Ô©zmͺ™%V¨g­T²—o)¹ì¿°ÚkèHÑâfV•ˆ™åL¾a‘¼˜¸ÐÝv‹;y{òy¾+ûâÁÙwœ±q}=’ˆ÷ëù|ÕtÈ%¿–]/ÆýD¼W»¶Zí“ìŸ×îq/ùL¥ëJJ@S]""Þ/.­ºšb6D­® ­R~£;t9ù´ëÅBÌOÜn®­ntlN$ã¹õlDxîɪē{¹ÖfDzª(¾x6Ø.m˜jA•^\+»ž¼jF©ÛµlÛ d*e]™>z{0æä % ÅTH‰o<Ì3„7˜µ-Û‹›-£el%ÇÕÕjŸˆuK¥žZiÆýÍè`£ÔfÁL1á“+;eíI‚ù ãèëµzsk™cD¼_É7¥ë÷ŒÖNNiï]Ax²'Qp÷»”ج7šw¯S£Ð°ˆìݵ¡^kF«0Ëå#²…*»Roµš›I2‡.ÑÈ(•Zå~«¹µ"›ƒIiص·ŒzR±«k=µ¸Ójµ6£V)ß°‰ï•7úÑÍ–aͼm˜£çß!òÅ ë+çS‘0¿r=Ð-Ö,þ1µ"‘œ®ÈmÖ;eu¯ZëqbR¦&,ßmµŒ¬¼½ZîaŽ"r¼öÜý[—#'´Œqrw”m¶‡J"®ˆDä¾§8ÆžM’¶y'‰D%’k|F»¾H4 ‘¬øæŒÉ1MÔ#^"Q‰/«Â³aF/D"ò†¢þ¡Ñgä×·îo%‘H i>wèpbƒCߢ¦ˆDÒü¢æˆˆï·û²¶‰Ä`tñÂqÃB@x‰hdîZåDH"•hB±š=F¿à £gsIÍ”óšwÆ;$*j$4k2¡è守Âî“Û¼fÖêT/D_ÀÃFÜj›btYó‘¤&. fÓBðÀ/É#;æD¬»Qªv,N÷]Y'â#I–¦õ d¹|ì òñ¶òÉð”4íúØaîÞÚ’Vš|§±«8LŒ­l¶7jù¥Ž^.Sjð¹w^8ýϯߌo_+3/ª‘ ëM«ÁÇé^µ""×KÚç r¼þÁK–½ÞÓÃ:üIrMæ‰DäŽWЬSÊoKŻ͈—¸™^b7‚»7mÍu†Ìõ=ýó±Í8‘HÄF‚GµVóFh³^ IÄZ©Ø"=1‡IDœM†ÚÑ#¸Î©mŸÍs²$¨Ùæ¦ötŽòk©¢–"f5 ©|Y½W=ÿ΋ÖûƒË9u©´ÑÓάÕÌí$Yö%nïdƒ"Î<€˜go.¯õYÛM‹q»½mù¢ªŸ˜ãzŠ—ˆ[»µ½±Ë8'"3澸59’úMsDÄ­öÞ³£<®Ómì1"²Ý¡O J®ÃHø$"Ök¼?p9sI j¾á®aq"fn?p\"/hŠcì8ë5ûîsßbQé×&³ùX¯–/´l²›™T¡3""ɧø%">÷·ÌNotæ’"×WüF¹=<³V³âšW]cÛdDÄíV1_Ãý]ï‚7š’(g­|:Vå$ú#ÙrB!QÎèw²KÚŸ¢&3×/æo\ËG¶R9}-–º^/žÝ˜Z¹®¥ —5ÑŠêß3Ï|ªÔÈèykHÁåu]!É“‰6ò—µªOQS™¬š-¥‹¡L!Ñ]M^ªJJ$½ XœÈÍ­´WÓ—š’/´Ÿ÷îÓIƯ¯ç«éX•IA=·î'IZÖÚù¥ˆC‚ *ÑÜzHŸ}G$«YXÝ˵6½gÍ8ôÆs©ÚÒÆøŒZѬG Ijn]Ïçã#ý‘•b_4÷øñã¹¹9^‰£££ÃÃÃ×u9ç= ‡ÃçÜü­ï|sòâðßþ¥ú^¼W¸œ—7›eú¿Íl¬¨ÖŸ~ŒÀëå—ö÷à—â%Jðɰ)-YŸÌlty@•Q "Ì3øÄø£¹ec5yiƒH ,Ö#x^0 w|²¤`²ÒLÎú‰¨– ðÆÂ_5rɯe׋q¡™ZÚŽ×뺟&«Á¯ ·ïå%£˜¿Õ¶ˆHé…bFÌìå²?*µ›t}g]º+Í×O'"Þ//­2=ìæÀrç3­_kì ,¦æ¶Š1/I¡•­¸ÞݛէoËíV)¿Ñºœ|Úõb!æ'â½ÚµÕjŸdÿ¼p‰ˆx§/«õ†î.ç¥Û;Ù 8YÝ^º½“•É«ÝhT0ÌåøS7NcÛô%³¹®+xÞÀ'ó á fï®m õZË0ZÅ€Y.w˜7¬+vÓñA³+\ÔÖ̯™êzËh;Y¡‘/›œHäƒ_Þ16c^)°²^ˆûžm|صbÅZc§¨tK…A|½Vß)(jÛ&"I z_Ô±lk7V×zjq§ÕjmF­R¾aÙB•]©·ZÍÍ$™C÷c¿¸HN¯7Ÿ«Õw*akc­.lÖw*áA­nqœÈ]/ËÝ¿u9rBËìäG~}ëþVR‰¤æs‡'oXW¬]sDÄ­fW늻·;ðézH$"o8©rÓ°8É¡øüdŸ7QŸ%’U}^"dE–CÑ€H$øɵØ9’ÍÙÛŽÌ]+°œID¢M(V³ÇØàÁз¨)"‘4¿¨ù„sTEÆ#^"Qy%’ˆD9àaÎ' À§ó áu'ø®ln%N†£DI¢“Ù}vw£TíXœﻲNDÞ°®”w÷˜æÛí’¶®ˆ|ÀH’ï”òÈ¢ë¸D$zdé…3òÏ©×/Ûç3·;ÌÝ[[ÒJ“L9v‡qñIEÉ'Ð9–ÓaÚ°xê%†»»~–à%Ë^ïéi}ÇÙbÔÊçÐf½’ˆµR±;DÓàµÑ4J‡´¢"’+IÄF$Mrü“˜òJ­ðÈ’ f››Ú©½³–pÒCά³‡¬\± à•Àk¥´T¥˜ÔbY“ëÕ2z,Óbz¦ÖcDOv¢iñã·¬f>Ó´˜Ó³õ>'"«¦ÇŽ£Ž_?Ó²YIǵH$KѤ[çØ× £H¿œL–û|æ·5“‘ãA«ÉkǪ%µôd\Ón¤´Ô¤¸‚¢ùã'Ökô|Ú…éyPˆÅË“1¦“×v=ËTòº¦ûœ[Í|rrâÓJ°VJKÕjùt*×béZŸÏ®ØéoêåL*99 FDÄíÉÚ侨‰¸Õ6Åè²æ%"IM\̦uä•Éjïý÷jùrV•l³=TqE$"ô=Å1öì3ûzÒòîž éó‘Ê×›ëšp®}ÿø=û­gG¦àr!Ú/­®–¬ÅSIYRóÖvwDÄÌíA@W_®JD$øil1N¿à £gsIÍ”óš÷Ô‡ÏyÜÏWs/€W ÷wÁ›¼"‰P©ÚµöÎDrˆùxäÃãiücæ²ñƒÕ˜6yÓ»¡‘KtæU:w™+ÊžãË{Y"æp¢SqB¤Y/éìØEÒIŸìîF©Ú±8 4Þwe}š@$aúsQÓ|Ã:¥ü¶T¼ÛŒx‰›ÙXáŒ^xfVÌ}ñ©ã×RE-EÌjRù²z/û’Çýü5€Wó á ^‰ùam£ÆÂúñ4wð~Û&"f6÷(ö_G¤½ºa:åüäÞÖïtú3§¶ù¢aɬµm"âýFà ,ÎKD£^«Õûøeë%Ÿ8 9:Þs—é®ÃHø$"Ök¼?p9›}%þ>ˆJ\um“·[Å|­÷#«–NUzŒˆ$Eñ‹ÄÈ«F}ÖvÓâDÜno[¾¨ê',¹CË!"nµ;Ãg{"*Ñyþ`Û±ÞÆÕTioî\û:w­ffHÁØœˆìnsߥrÙŠÞÌÝ,\”J§×pçê°V„’§&7Š’âaÖÐœæø¹ú2Çõ/·vk{c—ñ™ÓöfVì…ìf&U茈Hò)~‰ˆHâÌ=ÿq?WÍ1ÍàÃx¼‘Á+¤Ï;×ö¯ŸÜùã Í÷Kz¼7d²–«D$‘VÖ—×òWµ'’ÕåBH"âÖüšP™µ½̬/òI­L$*Ñ\1î%âÃíÒ-¡¢…^<‰N ¥–çÓÙ%Ý/+ª¦ÊÎ3?÷G3ÑFþ²Võ)j*“U³¥t1T ÒËõÁûtòÌ­ëù|\cD¢?²R |Yñ%B««±#ACz!§”(g­|:Vå$ú#ÙrB!"-£oç¯Æ>@‹\ž½ãKŠäŠ‹7Ö./8ä ,nk’DçÙïê§;~~wá¸É ×wŠ/*Ÿº’ò_»¶Ô•ýJT›÷ÜíUJ¦Z¨E‘29u©T6ë'£Hb@‹]WŸOD)‹ËZ³°¤û}þy-ì3ŸûRýNvI»ãSÔdæúÅükùÈfüù¾(³*ö"~mYkç—" ‚¨Dsë!QEÃÎÚ嘹¹u¾ã~®šcà à›{üøñÜÜ ¯ÄÑÑÑáááÁÁÁÁÁ뺜óG…ÃásnþÖw¾9yqøo¿ÜŽy¿¼”§õúd"–]דæù'À'úûð&ü¡D à d·7Úr2»_¹ àS`Õ’‘¥ª°RXô£ð û»àM£¤êÔÓoù“ #‰ÊÀ§ã]È]?/«¦/,ÄÊý—YL›÷‹ñxñe6ùøÂ‚–}𯳚^·_b_£N³3""²kº–5Ͽϗý<7³‘…§hùÙ›Ûõ—k^ó áõÇû&E£c{°2c ø3ˆÁl½NÒù—ÞàûÍ]Ù12>3ûr™wªÝ•hÄ+úµ¦þû|ÙÏ‘ ¿·u/%E~‘0Þ¯ì4 Q_^NJÝí=~ÅêY]Ó4MÓâ™ZÍx‡÷ËÉd¹Ï‰x¿–‰G´XÓ´˜Ó³õÉØ·šù¤¦iZD‹gë}Îû•kkæp7³”5˜½ŠÌYí3Ë©XD‹ÅÓÅz1/ô8M?O£V*’,—³©¤Å3õ>'â½¼+œë¹'_>¢%óͧGêFF1Ó4MÓbÉbkDDÄzµŒ‹Å´˜>) wÁ»ö¶»²U”‹ ¥WŸ&ãVÕIí†aìd}½ö€=ÿÎIÖv¾ê$êF«YTÍÝ+ˆD$òAÇÑ×kõæÖ25*ÆÈ¯ß.^ô\XÙjÿ‹'[fËöâfËh[ÉquµÚ'bÝR©§VZ†q3:Ø(µY0SLøäÅÊNY{ò|åçÚ'Þ¯ä›Òõ{Fk'§´w‡® <ù’"‘;0}™Íz£¹™p6Jí‰Ê•âÍ„rŽ-{wmc¨×Z†Ñ*Ìr¹ÃN%²;ån`½eFëöâøA×&Ö)ejÂòÝVËØÉÊÛ«åf# wÁ›™õž’¸è%òj‰À`ÛdD$xe²Ú»FĽZ¾œU¥çß9iÀ2†Š®)Dä¦ÂòqÚñE¢‘ˆdÅ'0g<+Î˜í¡’ˆ+"ù£ï)ޱg“¤mÞßɆD"Q‰„$ÇŸÑñgÛwL“õˆ—HTâ˪ðìç… ‹š"‘OUeËØç$#‘ ôìç\çý?¼9¦¥6ùõ­û[IE$’BšÏ:O‚”(ù$Çl´M›‰Ád±÷s«mŠÑeÍKD’š¸(˜M Á àÅp¼î±k»;ì>øúÂécc¤Å½êÍZn£R½¶±ÊÑÌÍœ|îeºw\äI|eÅC½ÉKA§CIâCJ®ÍYš$Á+ ®í:Û¥jsÀH ñÐgtü¹ö]Ç<ÓÖÙ'?¼¤ãNJ²à˜K4³_‚¼¸¾µN‚•—Èîn”ª‹“@ã}WÖO}ÜŸ¼]¡jaiÍ‘T=÷­l˜9ŽÓ½k DD®;–´1Î3ä.xƒŒíº~¿2ÁÇ:Ù¥êƒQ\÷ŠJ,[Že‰õê™L¾¡6RÊ3ïÔÃÓ`âÈu8‘DÄû%2†Ç/¹æqþqGŽ+EÖ)å·¥âÝfÄKÜÌÆ çnMwoÚšë ™ë{6b:lÒIv*¡ÍnIözOe²Q+Ÿ7B›õJH"ÖJÅî<ýq¯š,l& Ü6JW káÆ²,û·w²XšàÜ0Ï^göƒí~@2gP éóV£mYµtªÒcD$)Š_$æ>÷ÎIRP•­æ›ˆl£öÀqϽw¯õYÛM‹q»½mù¢ªŸ˜ãzŠ—ˆ[»µ½±Ë8'"3ö1 Ë¡Ôoš#"nµïôžËîþn»Ï‰¸Õ6E» ëw:ýs¬zá:Œä€O"b½Æû—Ÿê 3ò©lÓæD¢_ ÈD® ÄUטÌ×äv«˜¯áþ.ä.x“cW»nÕS·8I¡xÈn´˜™«±H$¢ÅKl1Ÿ (Ͼ£œl£¤ :U–´X|ÍT£„óï_I”³Ên:¦i±« ¶œPHŠdt±º¤Åôt•R×/Òû×ò† EäîµXªn½ 11´r]³ —µX²l]Œøží‡pAuªWã±KWÛJ¶õ·îä×¶Ïqï•?š‰²Òe-®gòrVun¥‹½iô’ÂWâTK^ŠD"Zz7Í…%IÍ­ëN)®iZìêqX `à àcÌ=~üxnn…€WâèèèðððàààààÀu]Îù£GÂáðyÿ³Áw¾9yqøoÿb:lUôô°p¯zµQƒ÷ —óòf3sœY+ÛN´j1 '¼*¿øßG€ÏÒJ”àŘ‘Ñâå#⽦á(}¯&tÙ”–¬[œˆ™.¨2Ž ÀgÖÕøR8› e3±†K‚ͮǼ¯¦þhnÙXM^Ú ’‹…õƶ>+0Ï^¥ÏÜúÁ:ü!ÿÁø§ü£C÷£Ã¹9zç­9ñ·~í‹ï|íËÂW%á+_úœø¹·Q.ä.8¯Žó“ÖÿëìÙã¿úÛÇüpŽŽéèè-::¢£Ã#"¢¹¹¹£#úâçÞúMùó¿ÿÛ¿úÿЫ|õ‹ï¼5‡ wÀl?=8ú‹ïÿäßü‡uÿüïþÒùðí·É'}.¬xþÞ¯‰ÿé—Ùó9éóïï¼ED?ýèpüáGßgüo~ôá÷~ðá_ý-¿÷oÿªñGßûí¯}éŸdUù•ßþÚ—„w0€ÜÇè/þãOþ÷ÿÍ_üðGú÷¿úùÿþ5ô_þš$|I|[üÜÛoÍͱá‘ûÓöáG£}øÇù·ÿêÿûþÿrÿÏÞÿ’ø{¿õkßüÇ¿ñ;_û¼éji IDATÒ[þø¤Í=~üxnÿ÷ ¯ÆÑÑÑáááÁÁÁÁÁ뺜óG…ÃaTàʼnë?vÿåÿ_ü?ßÿèàà÷~ÃÿÏ¿ú~ãW>÷Î[Dtppø¡ëþäC—ý„ÿðÇŽÂùG‡DGâçÞñ|AøÏ¥/_ü¼ ï¼óö[DsîO?ú“}ç_<üžiýðí·ßyï¿üõË ¿.{D„/€OÆ»>KŽŽ¨ógûí?úë?ý›ÿþoIÿmè«¿ûë_þÂçÞ&:ú;öãÁþ_ÿÛ?ÿkô¡ýC÷?9xü}t47¹³ë-¢wÞ:úÂçè+_xÇÿ•ÏÿÎW¿ôï?øÍ¯}Ùóõw¾öý+ÿþ{?¸÷ðÑÿöÝ?û£?ÿþù­üê;ocÝc€OÆ»àÕ^=`¼ à%ð¿ýG]û¿¾÷+Ÿ+»ð_ýöW&Ñè‡ãñ¿üWü¿wÿƒízÞùâ¯Î½õöMSÚô_Gt4ùÿÝÉ?èðð#÷Ç¿é9øg¿¯,F~Wú҈裃Ãî¿ÿÞÿü?ù¡ûÖÿð_ÿýÿéþ³Ï!z wrÀ›ãûÌý_;õÁŸ|ÿ÷[úßýõßùO#ÚÕÑó«ÖìŒxM“BŒ/Ü’“L#´@ûÔµ¬9‡R~ 2&Әܵ·UõºüÔyí½#®®ŸQvÚñe*6ö8xø[+€)ÊJ<\Ûn(ò«'—¤»á@èö•ïn 8Õ ÉIr)¸”\ NRà$8 AܺßT.…)…)—œKÎÇžlJÎ¥àÉdrwß0·öùÚ/z¥y\×}|ºaÞ÷Ê–®® rÀ1BHùüæ®ÆÎáïY6-Ïkr~ÿKï¼Ù%U—’K!¤•8'!¤àRp)„\XY‹s!¸à¦}ˆKÁG#™ c‚æ1ÎÍu ᱺÙ^Ö=Ó s~rÙâæÝ]O½µMH‰«€Üp,hí =±¡}ayêI3r¤k7n{tC—Ôœ£E-ÁIp)„UÑÚçkz¡9q¡à£.k†¡"yªS›‘ŸznuQuIŠäI9ú.…)¥¼ïåÍ}CK^¦Éßmì|¾vbf™oáôÜw·µ¿ßÚƒk€Üpt«k F¿¸ ØiÓB‘Ȫwv%¥6–¯Ìý§ÒØCd%(n’0Çg2)²<Ʋپ^X}Ó×OùÏ«jÚ“A¿äÉñú˜Õockkï oo›x&áH´{0ôüÛÛ‡a—ÃöÅ/Ì Œ Ö6´r!p™>>ô‘˜Z¸kßïšží<®,“ˆ^^¿¥Ùo2›”Ü$²ZÁ¶ƒßÛA^ᇄ$Rˆlºâ²ë¹©ÎªÒ¬šù³Š³Ò=NEam=ÿyÇ“v +6'1…¤9aû/çòá×Þ;·f–/+1&¥GÂñ¾HßKµõ_>»fÁœi3|©«7n¿æì§ ¹ à¨Ô1lîºî”醦‚áG×¼Oš‹Ÿ·Æ·>Þû-I…ÈãÐKsRffÌ(Ì(ÏKËÏôz]6UQˆÈÚyscû–γ9%‘uÌl&e·?´ò­­×_ô•1"ò±3ôG^Ù¸üäãRÜγNœuÛ“ëÞßÕ¹¨ªë H)»ý#]þÓæËHsÙ ›¡ wÀñz}§"ż’,"jlëÜ5h2›”BLLGã[$˱Û'Væ._8­ºÂ—“æVÅJYûËÏÎpÛõxØßaYîsL)_Ú°ýâ¥Çg¥{‰¨§Ð¤ ¾££Gkç‰UÓÍ­¸ãé7V½±¹ë`ÅÉ»ž_?Í—µ§(Kœ½`fU©ÏaÓ5Uý°ëÈ]pèÅ“fíŽ._ª=;ÅÎ…x¯©“«6ÉM²fJ)I2"§¡f¥82=ö­-Ý1SJ)ò¾Iרþ]\aí߉%îxæ­º÷wMÜyœ¡kWž½øôãŠF·ð¦”ÖqL✸ÙçâœÇÉ¡@X ÓÚã+Ž ÂD”‘"ÌxïÀ.Ù'àrØ<ûŽŽ^C×®?oINº×º?Ãëúñå§y]Ž_ÛK$1PÈ]ðå.M$$OºúÄ;÷yc¬(/ëÚ³ªuÆ%777%7%7‰'%7­ ”‘Äw<³³½kÒ#ØmÆÏ¯¿¤ª4kl÷dSrSp.„)G¢I.bñD0 fÂL&¡p„ˆ ÜÐÚ%ö‹Ä^××Ï­Y×вµ¥c€ÜŸÁ'rb$ ÓªPílï¹ý±Õ¡HlÒ‚UvFÊõ,Ns(B˜B˜‚ )¸ä\r¾·~%Ì7l{vm˜¬x¢(ÊÒs®ÚWÚd8öʼn›ÑhüåÚ­V–2 ýº‹ÏXvü4&Gg*JΉ›šBš¦ÑDëºv陋w´u=ðr—4qäñ­¥”Y©…1+¹íßV>-Åóo7\Ö¶çO;÷ŒíèEÒ®kš¢Ž‚ñD\ nVSÈãrQ0æBØmz8ª«««««³Ž–——wþùç< 655‘Çãñx<†adddÎÑ\³fMUUÕaþ¡Óή¾ÜTÓ¦OúhºÇ9­ ûѵï]Þe²lÈ]ð 1ÆRÝ…D¯?HD)—Û¦¢ü®gÖ—ægWY²y„1úÊò“·µt¾³}±±Ä5º òh +ÈIçœ7·í.Ê÷9ì¶ý£WIAî7¿tæ/n{0KJ’$EŠË®(l8J&“RX)N8 =Õë"¢Þ¿";#% N<”a¿õûýã‘lÿTæ÷ûׯ_ïóù¬ú|¾Cšššššš222ªªªJJJö9½#k[[/3•}H¦Ò5uÙ¼é?¿{å¹ gf§áÀ1ó ¦¼tB²³oHévÚ3÷úã/¬BìUUÏ;µæŠ³jF'+ ‘žêVehx$™LŽÎZä<ÝëLñ¸…ݽýÜä…¹Y§ºº://////===33sŸÜ5ñ[+bëêêêîî¶Êeµµµõõõû<ºråÊ•+WÖÖÖÖÕÕ566~â!õûýkÖ¬y衇֬Y³Ï)A±¤ih*­khé ìY+ ²gç®Ý²sÒMØà¨ƒzÀ’“îqêj{Ï@,žp9ìÅ9)[[zÑ[[[þøàs?þê.‡}Ÿ"‰ª(óçTüìÚsÿëΧC‘„¤Ñ2—”’¤tFvº7™4ÛºúzáíižEÇÏÞ¿äårØöÍ+wìÚ½ns#I‘‘âVep8À“IbŒˆ¤”¹™)W<‘híèv8ô‚ÜlŸ/×çóUWWOž!óò¬‡‰„Ûížøh"‘˜ø­Çã™øíø‚1ëŸûüˆúúúºº:«>f³ÙæÌ™³O¨Û_"‘˜Rå¯4—}$íÝóÒÛל¾p|¯ aXùê™ ïXµnÙqÓ ²Pò@î€CøqÜã,Ìòvôøƒ‘Xfªgza6­ßfM|jÍæYeŸ¾hŸ…^–³Ož_ߨþÀ ë„[âE’¤´ëŽôO,ž Fcÿwÿ3…¾ì‚ÜìI¢—Óù½¯|±mÏ_:û†Ò¼.ÆØ€PÁ‘$"9£¬Ðé°´´w”äçdg ø|¾ˆCV*ï“Ê¢‰Äx'ŒŒŒ‰?hâ’³ýYå/Ã0JJJŽàꯊ‚œWßkLs;£‰äúm-'Ï-ßÎáô‚œ‚¬´ÿ~àÅKO>r‡ÍÀ€£æL!.‡m~ea{O÷Àª* æ”krt+ä‘`ä<×ÖÙ;élCËù½k–Wæ§[3 ÇšÂsÃðºÑhl`hXrþVݶ¿­X5i[yÆXÍü¹ßºò<•‰ŒõøI )¸”¦äæIóçjªÚ;àoní8cñ|‡ÝöiþK=OIIIuuuuuõâÅ‹+++÷IeË—/_¾|yMM5•ñÐŽ³Uþzâ‰'î½÷ÞúúzqØ7).óe&“üíím3‹rrӽϮ¯“µ¬üú95ß8wñž‘ÛŸ}sí–±DF»à8ïäyf"¹±¡™ˆ¦TdkO-É;û†ÿå–{»ûü“F¯¬ô´›~öâl¯àÖŽ^¦¦×es9lÃ` &Á97xæµg^~Ã4ÍIz)Êœõåó–æf¥Iÿà°[-6£¬pvE)mx÷½xÒºO·ÇkkkwíÚu˜¯²ª(gTÏàBœ5ÖEKæmkïië™dí™Çi_PY|Õéó/>ù¸º¦ŽÇ×¾—Är/ä.øô*K|eùY¯¼]ŸH$=nçç,f;Åë‰ÇãO=ÿJyIaeyÉ‘%«¢Ï竬¬Üg®à²eËn¸á†âââ4‡ÃqøÿfçþäK§Í¯,Ju;¾{ÑÉ}CÑ)g1b).ÇEKæúáG×l:üÕ9@î8ÖèšzÆ¢9ï7ï~gk#cìüSj* 2ÄØžÈ‚›½¼îÅ7ÞáœïS°bŒ)Šrá'}ñÔ$¸¦<3ÕmzWo,—‚[û)ïjïºížÇ¡É$ff¤gf¤‚ápT.8¯,-¸èìSˆèÝM›7¿¿ó´% œûÆ}úvì#==}Μ9'žxâ\pà 7‘“_ÓåqØç–åw Oú´•µ ·=µöÉ·¶8톦(&Gî8ú ¯À”S3wú}çÃÏ¿qü¬r—Óqñé5»îy&–àÖ®\#ð-w?Y^”7oæ4ëÓûÄ׺œŽï_{iSkÇúÍ;¤™©^]ÓZÛ÷pγ6W–\ÒËo¾s׃O|ïkWº¾ )åÐðp$%Ám†þÅsNIKõF"‘‡Öãõ.[2ÒÞS™Õæ>##cŸ&Sc,ÍãLó8'}Ônhþ@ø;žœ™âÆŸ€£ê]SÎŒÒü%ÇU¾Y·­îýD´üÔ+ ³¬b—U³jëêûù-ww÷ù÷ïÅÀËÍÎüÕ¿^œ“&…™›•¦ªJcs+I)%—ÖüCaÆã±›þúàê7ßþ°sèðGcQ)Ey±ïÒóNWUusýû¯½õîÉ'ž0oöŒ©?†ñx¼¸¸¸¦¦fùòå7ÜpÃ¥—^ºlÙ²ªªª)ºhÙ¼éÕ…¿yð¥g×oEk ä.84 ]ûÊùK5Uyü…7"ÑXNfú?]µÜe¨Rpk• ÞÐÔvçÃÏÆâ‰Iç N+)úî5_tª/;#ïéî•rôµ’skö 7Í?þíáæ–v9Y'½=Ý‚ ·Óþ“o]ëËÍN&“>ö4S•ï\w…Í8 š_zé¥guÖ‘ ZRJ)ÅG?*?Æb-‡M¿|Ù _;§¦£oøWÞMšh­pôQo¼ñÆý÷‹8¼ïIRJÉ9çœÂÂB @fš7‰>õòº²‚¬Ê²ââüÜx,R×ÐĹIB’&ç;[; r2fN/Ýÿ­\Q”òâ‚` °è„*…Ñí÷>'%I’‚¬ÏúR‰¾~8>í ‹TEÙç Ï<÷ÒÆú7\}ÙuW^¬ªê+«×üþŽû¾zÅ%—^pŽr,~r †W¼^WßÒ½­½{VqîÄÿÆp,þüÛ￳£}W×ÀÌâÜõîÜ÷ÝÏëþ í¯S™+©†õÆG‰èXÃ7ÞÌßPì|R Ô3[ 92˜¢‘ŒúÍu¿딂“S¬ ­©jvšç„éH¬¥{ 47sÂê0@î@îøDc¥9ooÞñÌËo.]87;3}Ö´’¶Ž=Mm{¤à$…”2O¬{wsÍ ³ó²3÷_£¥ëzÍüy™i{ºî|è).% ABX¯%)H!øûÍÙé)sfV*¢—”ò‡/).üù¿íõ¸w6ó‡ÿ¯  à?ù§ôÔ”crÀwu üãÅ·[{ü;v÷?­0ÝëhwïÐ=/¿½}wo{ïà‹«üÖêL¾ü-Þø(ņ™¢È‘Ñü K-W2f‘ŒôñuÿÎßý ´“ˆSpì\Ç[Ÿg†‡eÍeL‘‘>ó¥oÐP£z¬Ü51N—äfxv›¡1…á#ÀQó ¦¨ìŒ´ë¿tv0ýÃÝ §¥zrý5s§‘à’n‹<Ýrçƒ=}“Î6´Ûl6ÃèèìN$VGøÑ%^r|cea&ÍÿûÛƒoo|oâ’Éd¾/çß~ø­ì¬ŒÁ¡áßÿ鮾ÁÀw¿~uQ¾ïXíápTUEaŠÂj·µN|hgg_$žT FbBÈ*¹æ§²oK«Ð/{Q¿x¥þ¥ÕÚ¹÷³¢Ó¬DËß½™7=A†G¿à1ý²WõË^VJϦøçe¤üÚS?,g¥º5UQº»àÓSUåœe'þàÚ‹_|ãÝ;xRJYQV|÷M7žX5] NÂ$a’¯¯¯ûë}Nº§“UÙ¹«•ˆ¤àÖj")„Ü*|‘à$Eûž®›ÿtWhB[yMÓ~þ³Ϊœ.„¸ãoÿxò¹W¾ûk.:÷ U=f?9Ã1…1›®iªÒØÑŽÅ­û¥”›vvx6EaDÔ?L˜æî¾Á¶$¾·UýP0ÒÚ=Ð7”0ê Z÷÷ w÷ί,r:c¬s`Ä4ùÝ/ÔþþñÕ››÷Œ¿üÕM;n~ìµ×Þk$"b 1Et­—|ß=Äø®ç‰¤’9‹eÏÛ{•ÝyÊ´ ˆˆ7?=i@î€Ï–ͦÿè—/:aÎþ¾âžGžN&“ÓJ ÿç_ÿ韾rIŠÓn¥¦H4róí÷nÚܰÿ§öh,ÖÓÛOB›^(ùÞÛB)¤IÓüÛ¯|á•ñºçü¾WÜô§»Vÿ/?ø¶Çí:†YJŒÄ%ÉÊÂl—ÝŽ%Z»¬û×mkM˜üøi…^—ƒ1ê 8í¶Ì÷ÀHxbîjéèf¥1ÕPÊÎ#b¼ù™ä›?—‘ñ–†R˜² ‘ÂR§í»p+ÿ$"¢h?%‚ø¹ ·žžžB_Î-7þ`ÁÜ™¿ÿÛÃ7ýùîÁ¡áÌŒ´Ÿ~çÚ?ýúgóf–š*…híè¼ùö í½"‘ho¿ßJYblM—à\!娄CÁmºV^\˜šâµ ÝúÇ?ÿæÖ?7¯ê¯·þ¦´øïx$%Å“I))Åå˜_Ydr¾±±ƒˆâIó-;³RÝyéÞt¯‹1Ö7$¢ÓO¨äBÔ·vEb "âBìV›–ŸEDÚIÿ­”/gªMl(ñì¥|ÓŸd¨SJI’S|˜‘êØçXjÙè™Dðÿ<rVk×®}öÙg×®]›™~ó/~xÑY§üõþ'þ߯~¿­q§ªªg.;éþÛ~ýoßûÚÜå ɵµu¿û¿;Çç Z‚ÁàðȈ´RÖØIArt‰—¦°¹³*~þÃï<ü÷?žyêRÆ”;ÿõßÿûæ?ÿí¼³ÏøÃoþ#''ë˜g.D,a‘M×N®*7¹Ø¾»g(éè å¤yÓ½®4S ‡"D4=?;3Å5Šnmé$"ÿHØ?ÎJug¦¸‰ˆÙR´¥¿S—þ–y äPßxsò¹ke $‘”D“-ÍÒÜcmá1Ϲ oèjll$¢ÆÆÆúúúü¼ìßþüûÿòÝëž{ý­K¾öƒgž{Ù4M_nÎ?}ýªç¼ýÏ¿ù·9¥w?ôÄ#O­|ᄎþÁ¡`82^ÚbR°ÑÜ%ɪfýå¦ÿ|ñ‰û~ðí¯˜¦¹êùϿ쪧ž{å»7\wÛM¿*)þ\ìp IDATí!¤LšBJé´y)¥¹ÑxâÝÆÝÛw÷ I3‹r Mµë“ä ‘ª*ó+‹Ñê÷š„”Ûw÷$L³ª,_ë;Âl)ÚŒËõ Sg]CŠM¾Ÿ|æbî&ƈ$‰ä>' #=$I1G&þÏ8&i€©ºˆÈëõVUU‘aßýÚ—KŠ|ùÇŠþ÷ÿ}áµµW]zÁ óª\.çe{öi_hØÑÔÓÓŽD¼^¯õÚ‘@P á0tUUtM÷¸éi¥%…s*§/Y´`få4¯Çà ‡Ã[ëß¿ïáGW½´º¼¬ìn¸ö¢ågëºþ9m)d"i‘¦*ª¢,˜QÜÑ?üÚ¦^WÂ4Ì(aŒºFDÃá¨õ’ã§¼¾¹iW×À` üVC‹ÝÐç”äísXÅ[Ä–ü’gÍåoü« vŠŽµdK#b2ܽï 40’äÌ&ÃC±!üÿ€Ü‡Cww÷xèºâŠ+ö~”Wع§-7«ò¡'VÝûÈ“kÖ½ó…E'\uÙE‹œàõz/¬æ\XÏ-³fTüþW¿HrÓa·¹œÎô´´¯'%Åã°Û­þ„±XlÃ;|äñ×ßz[HyÝÕW\wÍÅ…Çv÷Â}p)â¦)¥´ VsJ|/lØÖéé)ÍÍ(ÈL!"¯ËNŒá˜õ’Üô”ts`$¼µ¥k{{OªÛQœ“>¢¤ïóÎ4‡:íB^÷Gì hŸ’9G´½,D2¬è®±ÔÇù®•RJµüÆL4@î€ÃäŠ+®X±b…ucŸ‡TU)*ðýì{ß8ÿ¬Sþ|÷«ß¨}sgLûâùgÕ,œïËÍq¹œ6›MQ"Ê÷ååû>P‡BÄãñÁ¡¡ÞÞþuµµO¯|qÓÖ÷=^ïâE ôÝëçUͱ^ø¹"%q!ˆÈÚŒ8+Õæqö “¦8{ÁLk@tE%¢P,aŪt37=Å?~{[+‘ôe¤fxGs”èߪØÓÉ•KŠFfŒ·¿J‘>’&Ë>yò©î2:À×ÿ’-ø92ÈŒ‰]+©{³¥ªs®ûÀi™19¾O—jOÐè~ÊŒ•16ùR1@Š^ñ¨¢(³gLÿï~¾u[ãê7Ö¿ºæ­ÿýãºzWyIQyiQYI¡/77;+3Åë1 ƒˆâñD ìëëßÓÕÕÚ¶{W[û®–ݱD|Æôé?þÁw–žT3oÎl‡Ãþùj)eÒÜ»(.ÕíÈÏJí:mÆqÓFW¸¹6…1…QÂäÖöʳŠr·¶t6íéMr>F‘M׈H&Bæó_%ëäÍ'G 5ñÎuÄcJÉÙJþRuuÞ7ùæ?‹í'YîBh—눩ê쯰”Ò ù8™|õ;dõ WTõ¸ïR|Xú·KÅ`š®Nû"nR ü1@S__o­ãúø Ø\Õüãª~ôÝë[ZÚV½ôêª_}ú…W‡‡GˆH A£½ …Õä)*#æõ¸K‹ /¾ð¼Ë/¹hŸŸu\A×T»¡«ŠBDšªÎ+˯o霖ŸéqŽfQMQ캦(ŒsA:1ƪÊ|ÿxémf72¼®š™¥£s U›ºð'¼þÞ¼Šñ):iNµò2í¤_3ÍNDZõH ¾óqØ&û¶H¦1Æ$‘LŒÈáfJ)%bÒH'Í.»6Œ…l]1Äò‰ÞMr¸t'•-§±mÁà¨À¢Ñèød€ÃLJkÎ9O$ñx¼£££¦¦#ŸC+V¬•••K—.ý4ljÆbýýþŽÎ®Ž=]=}áp$i&¥†a8öÜœœ¢Âü¢_FFºÛå°[8]þ‘¤É}™)vC'¢h<Ñåñ8ìY©në“R(ïJI%¹éVðñŒ1oén2{:STbhL €Ü€Üp¡Ëº]SSs°U¯ÿ5KR a­\R”Ïá­ςR9ŠÞ¾òÍííÝ‹f•~û‚/Œwÿ„WJ˜|ûC¢í5ã¼{1ÂÇ$Ì3˜B¡k¼eü!Á±ÏUgÂàqwﯾ3ŠFb‰¹åWœ2ÿS†."bŠ¦ÎºZ­¸à €ÜŸ­}ZÆ¢è…Y-‡X^FÊi'̈&©åùYn‡í`F£Ñ(iš6¾Óc é˜ù pÌÂÆà˜‡zÀ‘‡Äõ¹bFEEESS555!w|`}-ÀÐÓÓƒAø<_Å×ÔÔ 1 È]pˆ­X±âÙgŸmiiÁP|neddäååG/ râÐeu/|õÕWQõú</yÕ××' râÐED^¯777cò¹URRâv»‰(‘H´¶¶b@»à…B¡PhÍ3¬%=–ñîÝÝÝh(€ÜŸZÆÃGóx<ã%/¬ò@î€OºÐ2h{άYöh8îîîÆÕƒO¦²²Òj(=”»>¿¡ËRsâ‰_8é¤}îdŒUVV~ýë_ïŽð TUUY7ššš0Ç CS6v‘ªNå3¬œ1chx¸¾¡Áú¶¤¤äÌ3ÏÄ…ƒO¯¢¢¢®®Žˆº»»ý~FFƹ à3]S¸Ò5Ñ¢ ‚Á`"™\¶lÚÇáâñx***¬bW}}ý²eË0&G;Ì3€©º¬.G‰3N=uùòå]phMœjˆ=”»>B}AàÊÈÈ_%ˆU^ÇÌ3€©b$)GÛ_ 2†ë‡\UU•Õ³¾¾~¼¹<¥Pï€)½Žº/€C­¤¤{( w w!wÁgk|•—ÕÞ»à›¸‡rWW¹ 1Ã0***¬Û(yÕÐW¦ÆHÃÛÀ¨ªªª††"êîîƒc€Üð©II¦¹ß}RJ)¤$F S›b ‘á3ãñxŠ‹‹ÛÛÛ‰¨®®{(¥0Ϧfø’bŒº’ÉäÈÈp`$Ç8ç|ì1ŒóÆ»k´µµ% ÀÑ9S/tI)Éd8ÒuÝf³)Š m]Ý™e RS³Ýª¢ê†îpÚ4McŒÑxlüßG8Vø|¾ôôôÁÁÁD"½¼ŽRê7ÞȰÛ#ÁOWc8çœó@ PXXˆaø¼ÿfB ½ð þÁAEU‰ˆ n²èÀθ¿%Ò[ìÞì&;7%ç‚ 9Zùš˜ÁßÛcLÁø,?±©ª5Õ0 Ž—¿à(‚zL1Œ1MS„ð¤¦.Z²ä•W_ÝÒÐPYQ©›Þ®×\ýk¼¬ÛæñJowåòè»!WEÈU¬:3mÎt»=Ýfs†a¨š¦*Š¢(£ ÃG¹ÊÊʺººP( …+++1&È]Ÿ‚ÕWCJ]Q |y—\táömÛ_{å¶7ßR‘–ÌËR²Ì~g|@W·Û4¦(ŠÊ<‚—Æ#µ2©“-Û°eÛmé›Ón躦i{ØX´ý÷¡ËŠè«‡'zQCCrrÀ¡I2Š¢†-55möœ9†LY=Ô°¾­Þß¿= ²Yn˳S–´D…4½Aw¾Ï ÍéCÉ’ÁxE’MWõB»-ßãÌOux]ÚX.ˆh¡½ëÂÓîaj«ªª²r—ßïïêêòù|ä.€OÇZ®%%‘ä¦H†•‚Ìi5ù³vû»ûÄ{ÃÔÒÇS2dºOÉ/¦"‡še½£1“ô^ÕÖ£²·ÃÒH”ă‹íC§ä¸ 3tE!"EeLטMWu]×4M×5MUUQ…)„ S˜µ‡rSS555!w w|:Š"¥4É@ ($ïÞ=ÔÛc¹rÔ)!H]U³rSãQSÉ'Ò’ý]#¡‚ذ‹sŽi µËPcZ.+*WK 2ÃÔ;$»DÇ€Øý®Øüªô3™ÈM8‹ÉUÄl%¤å’é`’$‘L˜z hìoíR¥ÛHfz“ÙéÉœ¬d~~¬¸,\R) ¦kv‡ÂÃf8ìvÃfSUÕêH´_gÆ}äá°¨®®^µj555ÍŸ?ß0 Œ rÀ'Ä3lzna𵇲™4]n—Ó6ì4"}µgz21¨SlôÉ:3òYÑtV¬Òñ!Ñ9(vûÅž±»Gtm•kÄpX†$ó™^*ÕBÆ‹e²€Dš}d¦i ŒØ’A9ÔŠñX@öµ«ï¿e°„¢ŠxVQÐ7›e•:=^‡Ý®[u0EaŒ)Œ1+‰¡‡‹Ïçs»Ý¡P(‘H´¶¶¢±!rÀ§ ^DªªŽ¾]©ªaèN—-5+4pRp ÑìÙ*X€˜Üç]MKgi™ŠÊXº©ä‡E_XöG„Xú{eŸÚCÁ­2öO]‘º"öXz–“÷3;“…;Ýa{vŸkz8c¾#ofFV®ÓåfŒî6p¸TTTX¹«»»Ûï÷gdd`L»eè²z jªªªªÍ0<^w¦/#2;¼,ð‹ImkÒÖ(-Ì6À(Nö®¨£³'‘OýgÎŒçW{ßoNßPçê Nþäğň)»KN§¹’þxJ¾pûì.¯ËíÎs¹‡nl . Ng|åúúúeË–aL»>« fm®åÖ4‡Ã‘ššfú’ñÊDü¬X$ †£CÃQê +=!u  ŒPÐÞÔ®*ï¹ú4g0èÞ²ÕÕÔèìî°…‡5ÉŠthÂmK¦¥Ä²s"91_Y¢hŽ;·(ËíVUUSUM×TU³ÊÇ-D.8"ÆsWSSÓâÅ‹ÑP¹ à â#m²·'9ÊzŽºÆcF¤R:ÜRJ)8çBp‹išœ !¬—;%OUcÉÓOÅbhÄ ‡E8Ä…”šÆl6Ýé²;ìv›=Óf3l6›µs—±>¸yÀäóù&î¡\]]1@îøØ&ë«!¥äœÇb±x<.„ÐuÝáp躾Ï?FĈ$‘¢(š¢HU%+¨ýs<Ú1Ƥ”R!„ÉÍX,Þ×ÛëtËLMMIIÑ4Ö´’’}ô ®ËŠŸ¥ŠŠ ä.ä.€CĤ2îØ¾½içÎX,–››;·ª*'7×ÐõªD!FãódzÙXJ“RJÆHQT"•«ñX|ýúõ/¾øbyyùUW]•’’bÍ$´ž/ǂۄ£ÃC8Ò*++ëêê¬=”±—rÀ§ÂM3 ®X±â¾ûïƒ3gμõ–[ÒÒÒ4M#)çV.RH!EQUUQU’’ ÎM.¤´vaV5Íš1hÐ8çBJ!D8nÞÕüÆ›o‚Á3Ï:«  €¬ç«*1&‰¬9‹BƘª©ª¢ۛ⎔ªªªÚÚZ"jhh@î@î8ûÄÆ’œwuw757§¤¤6[sssk{ÛŒY³lG2™ìîîæœ»\®`0¼^Ovv¶Óé’BC¡þ¾¾@0¨©jNnnjJŠÓåbŒE£Ñp8Üßß  ÃÐuÝäBI¢`0¸½±Ñf………n·Û°ÙÉd(ôûýCCCN§3'''ÅëµÙíê„2.VÉ+‘Høýþ®®®öööÆÆÆD"qÉ%— ¹<rÀAä.!D<oljjmmSU¥(ÊÚµk××¾½`ÁBÇ …~ÿûßGc±¹sçnª«ÊÊÌ<íôÓO>ùd)ÄSO=µáw€ª(EEE—_~ùÌ™3c­­­Ï?ÿüöíÛ@vvö™gžÉ9'¢ááá§Ÿ}vppˆ.XpÍ5×x<ž×^{í­uëü~¿ÛåZ¼dÉgœQZZêp8tÚ€#Ê0Œ’’’¦¦&)åªU«ÆïÇãä.€$ÄøM)%7ÍH8¼«ygwW×N>¹°°pËæÍµëÖ}åê«s²³#¡Ðª•+ûûûë·lIOOzsíÚÝíí)OyyYwWO&ÓSSÛZ[W¿öÚßÿË_þ2 ÝyÇÏ­Zåt:gÏ™ã°Û­y‡Œ¨­¥Åi·›œoܸñíõëgÏœY>­¼ncÝíù‹¢(³gÏnnn¾³¾Þa³e¤¥šÆTÕêÒAŠ‚ëGD?í7éÕï÷û|> rÀIIRR2‘èééiÞÙ¬ëzzZZqQ‘ÛåjÞµ«¥¥¥   išŠ¢(ŠR\Ttñ%÷öô®X±bóæÍõ[·tÒI999½==ƒƒƒœó_|ñû?ø~só®§ž|Òåv_wÝuó,ÈÈHWUõ½M›ˆ(3+ë¼óÎËÌÌìéînïèxwãF›ÍöÜóÏwwusÎ9Ǽ¦i+W®ÜTW·¸¦&--MSU\&8Rzè¡P(4éC‰Dã€Üð±£ÉD2ÑÖÖÚØÔ‰Dž~æ™Õ«Wwvv&Móí·ßž;w®Ýn#"C×gÏž]YQ™³qãÆ÷6oîëëëîêzþ¹ç6lØ`³Ùt]'¢p$ …ÚÚÚF‚Áâââ¥K—––•ºÝî¡¡aUU‰(ß竨¨ðù|9¹¹íÃCC¡pøý††p$òÖºu›Þ{/ E£Q¿ßŽD¬f˜bG„ßïÿˆp500€!@îøpŒÑX‰‰¤ˆ%’m»;v45åäå—–Úl¶¤”ÛÞÿµ×_¿æÚ¯ªº.ˆ8Q‚óX2‰Å¢‰SUÍfÛ°qã /¿œ}æ9ç8ŽM[¶Ä RTÍ0QÜ4‡ƒÁP4ªè†)„`L1M³9†Ã¡hšuXA¤ÙlN·{aMMqq±ª(š¦UVVæú|ª®3lÛGHFFFMMÍÚµk'}õ.ä.€$%q>z“(™ˆ÷öô456Æ¢ÑÓN9åâK.Qe×®]¿þõ¯;vïnnlª¨¬TˆbÑè‹Ï?ïu»;::j×­+*,,*(hnnŽ„B”™éu»%çLJ]UgTTädfînoÿóm·vúéÙÙÙy¹¹f"¡1)"ë‹)D.‡cñ¢E÷ßÿî¶¶™••^¯W áËÍMñxƬUa„õ]p$TVV& «ü>ü~?ƹ àãf0ÉEOw÷û ™sfÏž[5Gׂ‚ü»ï¾»§§§výúiååDĈ†o¹å–d2ép8.X¾|Ñ¢sssׯ_¿mÛ¶ßþö·eeeVïAUUKJJ~úÓŸÞzë­k×®}çwrss¯¿þze¬-®ë†a0+w)JA~þÅ_¼gÏžµk×îØ¾]Q»Ýþï¿øÅñLJ†pÄUUUùýþ¦¦¦}îG½ `ªaÑh»>Âü@%„µ)O$ñx¼£££¦¦#ðyÿÕ`šã7ã‰Dçž=[¶nQuÆŒº®­õ[»»{ÒRS .¼è¢‘‘‘n¸¡¬¬, NŸ^1cÆŒ´ÔÔX,ÖÒÒ²eËÝ0æÍÛÑÑašæ’“Nr»\###]]ï¿ß044œ››[UU•ˆÇ÷ìÙ“––VQQa·Û7oÞÜßß_^^^^^.¥ìîénmmkmi!¢Ò²²ªª*_^žÍnWŪwaÂ!A?þ¸µùÁDW^y¥ÇãÁà w wÀsÂúýÀˆlv›aØÆLÓŒÆbÉD"™L wÞy###?üç¾ð ³²²ì‡ÃáÐ4Mp‹Åb±išFŒSì6›®ëœóx<‹ÅLÎuM³ÙlDdš¦ªª6›)J<3MS7 »ÍÆK$Ñh4‘L‘a‡ÃfŠ¢°±ý»»àJ$ÏŽí;7nùòåh%0uàM¦Æh,Ã0"H3 ‡Ûm}kíP¬kšn·K)cñxœsÃá°'“N'ÛçËÌÌTUuï3”£‡µÚ2FŒiRN§ÛjTϬ¸H~Kds8¤”ã±JµÙn÷Þ'Xà/.aj0 ã”SNY¹råÄé…Á`#€Üð!¤¤±z×Þ,6i@#ÒˆÜvûmøC2™,+-uÛíŠì@/ˆÿÄÉž¼ÿqöyþ¤YàˆÈÈÈ8ÿüóŸxâ‰ñ{öŸyÈ]Ÿ„ªigÑ¢E‚sÃf³&ÏÃç9z-]ºt¼³|WWÆ`ê@Ó[8šßÆÓ Ããv{½^‡Ý®ª*r|žUVVY·ÑÕ`ê@½ ¦žƒÉN£ížøL}öÙwß}·išBˆÖÖÖÊÊÊ}žÐÐш†‰h]SuÏ’Šj"ò:\s +1€È]ð¹ ]؃àS8ñÄßzë-ÆX]]•»^زö…ÍkÖ5Õuø»÷þMnfä-©¨>ç¸eçÌ[Š‘8”onè#GúÈÀä¿öë«1õ³"úÈÃÔ‘H$zè¡D"±Éß4d½Þ¸aü!}´¨U”‘W˜1Úe¾ÃßµÛßMD ÁXxüÉçÌ[zÎqË®¨YŽ!øôð&S.Ã}§ŒL%†a$R”›_x8²î9{Þ¬*VQÆvôÚíïzaóšç7¯­Ý¹é…-k_زöÎ×þï/ýÈš‹Ÿüõ.8‚Pï€É !9?Š‚"Š]0u¬kª»iÕ]ë›êˆ¨ =÷W_úñ’Šê§ç`3 >¿eÍM+ïÜ3ØCD‹+ªºüz¤/ä.@î€cí÷Ã$ÛdMÍ·R»`ʸñÑ[ï\ý°•¸~zþ WÖœÿéùpíÊñôuéWþêK?Â8 wrC¿"8ŸúÑ •.˜"F"ÁïßûŸ/lYë±»¾yÚ—¿yÚ•Ÿ Æõ¿ãµ‡ïxí¡`,|μ¥ÿ÷Õÿ8„@î@î€#ý[Â4§rôbš†ò04t4~ÿÞÿjØÓTž{ß·oþŒÚÁ7t4^xË7ƒ±ðœ‚Š{¾}Ó—ŠÀD˜SÓ´)ÛS¡ ¦NèºèÖo5ìiš]0ýõúìöàšSX¹é7+gLoØÓt꯮jèhÄà wÀ±½T•©ê;'ñ7/(ÑIDATÆt¡ ¦Nè DC—/:ïõú¬§ÿ¥8=OÿèŽËˆ†.ºõ[ˆ^f¥À”§(LQ>Ó ‡¯¾úª”’ˆæÎ›““sÀÜ…kSÁn×xèºíÚ_žšâôX?ë‘·Ÿ»èÖoÕýúY¬õøXoe8:0öÙ} Œ´¶µµ¶µ½ùÖ[~>À0 ^{ûOsèwÛµ¿´ª^_¼õ[#‘ .rÀY7†††0pTøÝª;­5]‡?tY~õ¥[k½~·êN\ä.€[¸p¡uCJÙÒÒ‚)n]SÝ]«Wxì®{¿}ó‘:‡§çÞoßì±»îZ½b]S. rÀy½^ëÆ¦M›00Å}ÿÞÿ$¢ŸÑmæ^”áûÙù7ŒŸ w@YY™uS aŠûÝÊ;;üÝ5ÓOøæi_>â'óÍÓ¾<»`z‡¿ûw+1Û¹ à@0ÕŽ #‘à«&¢_éGSä”nûêÑ«Fƒ ä.€ÃTC˜úVÔ® DCgÏûÂg·?òÁšSXY3ý„@4´¢v%.rÀ`ª!L}w®^ADSa†áDß<íÊñsä.€‚©†0Å­kªëðw¤ç.©¨žR'vîqË Òs;üÝ ¸LÈ]€©†0•=¿y ]Qsþ<7묮]…Ë€Üp˜jSYmÓ&"ZRY=ÏÍ:+ë `†`ÜÂ… 7oÞLcS ÇcÀT৉ˆ>æ$ÆÞ]ÿ³öžOÿC/sêgràÜUQ=~†€Üp^¯7ѦM›»`êX×TGD5ÓOø8OÞéïøòŠwô|úŸûRSí´ŒÂªœi|fÍôjwnZ×T7Õ–ŸL˜gð˜jS4w5ÖÑÇ+v „‡½úîCºˆÈü;Oÿ¶;8pÀgZçf' w|t5„£Ý#õ¯<½}Í!<`}oóÿ­$”ˆbl»t5„)«03°µgçÏ_þË!ÿ¹·oxüõ]?ú9)N7.À‡Áú.€}•••YÝ50Õ¦k}WQ†ï#žÓøÃº5Es?Æñ$;¨¸ï½çfå”–§|ØæVŽŸ' wºÂÑHÑÖ·gŽ3Ž3ÿÀ©Kcý#š÷´–¥å³OðJä. ÀþÐÕŽ:Œ±æîöÿ}æv"º ú´ÅÓçßûƦàÿ¿½ûŠú¾ó8þ^QÙŸŠ&àíré´@«$PÉå\í(…K+ ¹8­ˆ6SœÎf¦g&b¼› 6&j:‘\ãt"x3{m@sK²(^&RÈ®íu=0ëåXb’ò%»&Íjö»îâ²÷Ç75TeQtò|üµÙý²ß÷|>d_~>Ÿ÷wSÙºS®Ó¶ÿéÞU³õïùÞøåW®ýË òê`$4©[l\ñÝoßóM†¸œïà*èjˆT£v öº¹¸lѲj–V}-çËѱ±ÚeÕ9_ºóË Ì÷}åÞ;3²¾Uh E.Ýÿ•¢©­P­&ò¹ €DÑÕ©IùØ“Èeq‰»Üçbã±Y³Ò†Î¿½Ù²jã;¾ŽFêV|Ï}ñ£ £¾oܽX;'Ý)x‡!£ºäo” o lënoënO°Bµ6µNŸÃzWg4u:]8‘3gÎdgg3&H¢BKy^¶âõ {Ý×zŠWúœ¹weΑ}ÇþyNÚìPô’F£ùÏÿûmäòØåØåm¿|æòx,2ý7÷î[¡hX½8q†týµ>öº¯Çérl9ôTRC×S']ó¼ì†òõL @îàf±Õ)%Soúù#Í&­¡ÃÞÙn·%¥†v»­ÃÞiÒ~þHs¦ÞĤä.n[ ‘j -û7î‘G=ÝçrÜæ»÷¹zZDöoÜYh)`:rS€­†HA•Å¥»Ö>&"u/ls*ƒ·í¾Ne°î…m"²kíc<( w0•®ºÕðõ×_gdD åÔ¶òe{¾=Ûí¶²=«ãÊ70@‚f3$¢¤¤dppPDb±Ø/~ñ‹P($"sçÎed\û7î´d-l>zðÑCOŸU†v×l½u÷j:Ò¢>"y[Õ¦í4ŽÈ]L9£Ñ¨Ñhâñ¸ˆ¨¡KÍ`Œ ’n{u½e~NÓá}mÝíŠ×ý|Ý“SÞè l9ôT×@¯Ikؽ®q½µšaÈ]L¥ŽŽ¿ßÕÈ]Hë­Õ÷˜óÿv_C×@oÉ6”o¨/«’ôå Úº;ZO¼äMZë­4Òn绸ž`08::Ê8 õZ N?cS{ííl+yâÁ{çM~g‡½³ä‰÷v¶©ºN?c#t7F‡5 ¤ˆÇãããã±X,‹E£ÑH$¢(ŠÕjed¤”sçÎ8qâZŸÖ×sʩũ >q¤Å>tZD,Y9ËóK*ŠK+ŠV&þ ]½]ý=}.‡âõˆˆ5oÉžš­$.€ÜrÜZn·›Ü…i¤ÏåxÖÖ¦¦/UEÑÊBK%+'7k¡ˆ,6çeêM¾PàìȈ {ÝŠ×ãT»z¯ü‰5oÉöêúåù%Œ'@î¹ n‡_|1’»0½ {ÝêÊÕñ7ÿ«UE+ÔU25¡ wÜ·‰Çã±Ùlä.LS¾P Ïåp*.és9DÄœZlÎËЙDD]Ô*´ä/Ï/™òvˆèg@Brrr ÔGxÓN¦ÞTY\ZY\ÊPIA?CµråJNÇ8È]ÜBkÖ¬aä.n!£ÑX\\ü§ïœ;wŽa»˜J÷ßFFÆ•ÿ¼xñ"c w0ÅV¯^}åµ¢( €ÜÀ3 ,P_³Þ˜}ä¸V«õµ×^‘±±±`0h4EÄ œ‘a¯[ñzDÄ’•£>yv±9g"¹ LBvvö¬Y³b±ØÅh`Wû?¿üI×@ï„Uhί]¶zYÞ’BKcä.p=¾P ÷â[g܃ž°÷Ê›‹Íy:“ˆ,Ï/¹òfŸË!"þpàìÈsÄÕt¤ED,Y9E¥õåµêj`fÓ„ÃaFÃ@ )âñøøøx,‹ÅbÑh4‰(ŠbµZ)ž¸Úº;ZO¼äEĤ5T—V—.Ï/™p'á±þž>—£«¿gäÂyõZëê]k·²È]¹ >ÕÖÝþ¬­MM\ë–V5”¯¿±ƒNeðXoóу"’¡36”o¨/«%}¹ wøBs*ƒ[=íq‰ˆ5oÉþOÞüÁa¯{¯­íð©£júzeëÎ}¹ wø‚ês9ê^Øæ›óv×4þéñ­)ItOi±ÎÐwÕl]o­fÀ`†Ikjj"w!¹ÑK¥¦/¿ßo±X)¥ÝnÛxàñÈå躥U‡·ìŸòNwfÎ_¿¬:—_ÿï©ã½"š©Íu€¤£Ÿ!׳åÐSöNÙµö±†ò ·îFÛ«ë-ósšïÛÛÙæTŸ¯{’ã^0cÌb¸–gmmöN“Öðâæ½·4t©Ö[«_ml5i ]½;^naü€ÜÀ ×n·©ý_ml­,.½=7-´üzÇK&­¡ÃÞù¬­Yr3–SÜq¤ED~Z÷ãÛÜc07ká«­"Ò|ô`»ÝÆ\¹ €È <Ô²Ùn*«MJwÁBKÁOë~,";Ž´8•AfÈ]Ì4u÷‡ƒ«ŠVì©iLV ë­Õ›Êjýá`ÝÇ™ w0£ô¹']“Ö°¿ngr+ÙSÓhÍ[¢x=ì6r3ÊÞ΃"²{]c*´qß^]/";Ž´øB¦È]ÌívÛI—ÃuJÚS³UDÚºÛYòrÓÞ±þÅëYlÎK‘Å.U¡¥`ÝÒ*8ØÁ)/ w0Ýõ¹"Rk]j…U—^)@î`;>Ð+"ËóKR­°ÊâR9>ð&[ €ÜÀ46ìu+^y^v¡¥ Ë[U´BXò€ik6C€ˆtõ÷ÈwôMh4þ•³ûs¿½É›Þ¡5nY¶þ«Yæ ¯¬(.=>ðfWOebÈ]¤œcý“ØdøúÐo¶t6OÉ}ý—BÍUÎ×ßqýËÔÂÎŽ 1S0±Ï€Ï$ò¬ä·?zó+?™ª;¾òvÏ‘3oLxYnÖBqޏ˜# w0]ÂA)4ç_ÿ2Oàãͯ<‰E§ðÖÿøúÏÞúðSä.f8u)éúë]Áhøù“‡ÎOýf¿þÛÓ¿ÿÄsýk¬yKDdØëf²`Úá|‰ð¸ú=.kî½^‹ÇÒ4i“úò_½Õ½yé÷ôsÒ¯™âõ¨{ä.¦uI]Pº–.œOyﻊùÂôôôH$2©ÒBcùþp÷|3Óä.f uiäÂõvú]‹¾Ô÷ÚïÞ{KDšÖüÈ x㥚¥•‹Íù{^ùÙ"sÞšûøÕoº†/|øwßùo4Ð|ôà¤j˜›6ç[__Ê\ÀŒÄù.>¥x=‰\ö%Cæ½–¯}ý/¾jÉÊyàžo^õ—.úëoܽè⨿vÙƒ_¹+7CgXž¿d–†ÿÉÈ]ü “Öà•:£ûâ‡þpPDÆãq—ç]Ѽí~'»ãK Ûu†Ñh8Cg4¤ëBÑðç˜Q«„¹×Ž—[ÎŽ uõ÷$^žy^6sÓë]ˆˆäfåHbë]¾QÿbsÞÓ¼À¥Ññññºß}ÿD/ýè;?¹à FBÝ÷moð“ñøøõ¿Gñzöv¶©Ï ›Ð±þ±ÐA¦'Ö»©(.=|êè±þÞ†ò W½@#2ÏxÇ]™ó/Œúv¼ü\l<Ž^ÚÛypÎì9pð_ÿëßÓ礇"á´Y³Œé†“.Ç]™ó'UÀœ´Ù×iÅÑçrˆHeñJf È]LW•Å¥"b:í 2õ¦?¿`AFÖ³þ!>Ñ*VÚ¬4ƒVçMú,V<×¥ë®õéñ^¡©»˜îV­8>ðfŸË¡f°Ï1é &]¢=MZãæT¯ÇUQ\*"“jtq{¨› +®–ä.¦ußáSG‡½îÔ©Ê ´uwÈwBÈ]Lc¹Y ×-­‘½¶¶Ô©ªõD»âõXó–p¸ È]Ì»kMZÃáSGi(øB¶îvÙ^]Ïì¹ €™ SoRûÈ7½ü\*ÔÓz¢Ý®*ZÁb»˜9Ê×›´†“.G»Ý–ÜJœÊ`óу"²»¦‘yr3G¦Þ´ãNÙq¤%‰» }¡ÀC-›EdSYmnÖBæÈ]Ì(•Å¥›ÊjýáàC-›}¡@RBך–ÍêÃ=,v¹ €iOM㪢þppM2¢×Ž—[œ#®Åæ¼ýu;™ w0cí¯Û¹Øœçqm9ôÔíŒ^[=Õaï4i ‡iÎÔ›˜ w0ceêM‡i6i ]½kZ6߆‡)ûBº¶©¡ëÕÆVŽu¹ €™/7káéglêªWÙîïßÒ6Ã^÷š–Í]½jè*´0þ@îà !Sozek뺥Uþp°lÏÃêSŒ§\ŸËQ¶ûûê™®ÓÏØ]0ÃhÂá°F£a ñx|||<‹Åb±h4‰DE±Z­Œ €ô¬­M}šV¡9WÍÖ©z±Slzù¹“.‡ˆ¬[Zµ»¦‘3]@îÈ]¾¸Žõ÷4Ù7rἈ,Ë/Ù½ö±›Y˜öº›;vØ;EĤ5l¯®o(ßÀ ¹ w€´ÛmM‡÷.ŠH¡9¿vÙêeyK`Ã^÷ñÞ¾AG×@¯š¸Ê74”¯g™ È]¹ >ã ZO´·žxIM_"bÉÊ©(*ÍÔ›Ôý‡:ƒšÄ†½îïyqŽ ì9ér8G\W¾‡…@îÈ]0cý=}.GWºù0&­¡²¸´¢¸ty~ ‰ È]¹ åTû\_(¨xÝÃ^ˆØ‡N‹ˆ5o‰ˆdê…æ©,^I¯BøšÍpó -*Àµðü. w¹ @îr»ä. w¹ @îr@äÿ%DIEND®B`‚murano-9.0.0/doc/source/user/figures/logs.png0000664000175000017500000023711013656750211021216 0ustar zuulzuul00000000000000‰PNG  IHDR½éÁ?Ì3sBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝyXçÞ?þÏd™™ [@ *E´h[E*ØÔR«à¾o§Š­bÒçAη@ŸüN‘V¤-غ+­[Ñ*uá´ŠUÔŠ´REA!T ’AÈd™ß Dí"¶Ÿ×åu&³Þ“Üóž;÷ÌJ¥B!„BÅÁ"@!„Bs3B!„B˜›B!„ÂÜŒB!„æf„B!„ž¼'Ÿ”ee :-ÛÚjhm1hV£10mC½nÒ«ÕLͯºF¥®N¡S)¥’àõ¯ÿã‘$:B!„zæ{:íºÛŸ|­-¬Á=Ë0†fZG7ZîÁÐ!T³—C°,«÷zÁgݧÕ¢ÔÞ*§æXúXø¼€,„B¡¿˜Çno¾òÉzÝÙ|—år ‚à°<’€Ãá‚`‚`x¥—/¿1tÝ'Àåþs³¼R½—cÝs3B!„æfhÔ³ 4ãB‘\ÂÀãr¹\.—Ã#‚Çãó8<Ïår9‡ËáÁáp8‚ Ap8\h4Ú{ùa3€Ó»Vëêê@§å9÷}‚i§»Œ#„Ban½®ÑÍúHíû;õ#€ÀXÁ`éÑÔIƒÂø_[°ÔëõG£aY–è}e¡Úø‰zßW¶ÿûþ“åf„B!„¹¹-ù ÚÖVA4étÎvR½^  ¬ î‡a‚ €…öà̰,Ûq„Þ…e ØÖàp üXü%1J…’yè¤D*ÁëVBè/TñËå4)•I), ôr3A, Ààq€à»8Aí×_Ár¹:†Ñ $gá¡ÑùÚµkûöíÓëõýúõ›9s&EQÐØØ¸~ýú€€±X|øðaxùå—ÇŽËië¡R©²²²îܹÃårçÏŸïêê ?þøãÑ£GgÍšUVVVXXHÄK/½ôÚk¯'1Ðô„µ­?}úØÙÙ•——úé§«V­²´´4¾{åÊ•JÕ¯_¿_ýõÔ©S‰ÄÇÇššš233†ñôô¼qãÆŽ;"##­­­ûöí hmm8pà­[·òó󜜆 õÿ³Zs½Äb¸/Áá2å¥`é;R[U©««%ÝqíìÉî@gïå»öçX÷Ñ\)jÚû%!°è³`‰)‡­ÿÎù†#¤,_mP5p¬¬:n‹*ý#}}5þu ͽ%7•k{K[^¤„îs3S7=Q¼n×j÷ß±ò•ï^¼<ÉÞtÿ?²5„)ûlnÄU‡!B·Ñ3#¢gú<ÖR™‚˜É).v­xÌ`ù;2v攫´|ÇçüÖF„ùàù Bè¬õ'šB3¨Î®‹ÏõÉ •ö˜µ³/>9oozÐïX#?iÍÙ‹Ð'WNIºÖaßñùày‘+BdµIO|¼SeglÊοV«à‹Ýü‚çEÌ÷J§A™›YVñÓE½NËãp¸€Ãáø$wU4agAp8Àá´7*k‹/ß¹wX¶¤¶¶XQ«Ö´ê-­BVxØ›»ŸÆ¾}û ""ÂÂÂâÛo¿-((¸xñb@@€éC¯RM:uÈ!7nÜÈÊÊ:pà€17Ÿ>}Z£Ñ,Z´ÈÕÕõêÕ«{÷î=~üø´iÓx<´¶¶þãÿèÛ·ïO?ýtèСÜÜÜ!C†h«*5×K¬_±û׬NÇjµ`Ÿœªüèÿ£M™fõj°±o¶CZ&Áá\®¦¤¸6ryóño¹™¹qÎù†ceå¼÷‚ÏgµZŽà~零‚þö~ß~6«°êêà;>çãò°/+]U¤`þ¢MÏ­=Ðv,`”E;ÖÆÄ$ºìM~œú‹ô‹Ý»…¤³|91‹Ójý#c·úH)Z^»9eÍâ¢ø-Ø´úÃjýª‹U3[AŠ-ÎONüzF{«-?™¶&i-åµk©ì1f! Û°+”zìМŸ¸<¾È+":3ÙOF1Š’Ü͉ñ‹K"·¤ö|ôÔs³±'†ñ¦rWkk½^«Ó9 õ fh²ÆÎͽÖÁ‚tõ±àp¸yÿe½Ÿ'x}åÊðöö0vìØ‚‚‚ÂÂÂöÜL’ä!CX–4h½½}}}½\.—Éd"‘ÈØ7cðàÁ|>ÿêÕ«í³•H$}ûöeYvðàÁ‡nnnƒZ  ×Áã™Ö„ÃaqŸÃ!8¦Xßž†Íƺ:Ó©«*-lcâŒ#‚N§ô¾/YN4gGˆªzR63:RüK•[ ¸('¯Š~àm‰WèU|¼ÜÌ7výÚ”\)‘zÒ ˆ;¹$;%eG‘€”ø„EGÏô¢@±{ñâüàù²‚ü’ª*Úm~l“½#¯ªVÁx-]—*eþg‰¹å é½ÔO ­ÊI\ž] W1ÒÀÈøè ŒüxZÊæü* (Ÿ™ÑÑa^P”²8N±%9HLÉúÅ1U33Ÿ°Ú %>aSd{v–(Àßè¢M‰)9%4)õ›¿&:Ô ‹6Å%f—0”Ô+8L’·‰ŽÜ›àS”8ÝÔjB—夭ÛQ ú/Y"ƒ‚¸éiâù£U'©ªU(%±I«ý$tAƦ·5[bCŒkJÉüÂÖ1‹—¤í(ñ[í¥Ü½xq~èRYþÉòÚZ¸ÍOJ“‘ŠüÏR2rËiÊ%pI슠wÊ’‚’.ýÕ)7?<."„HG/)ä•ß õrì¦r`ʲã7Щ‹O°[{µb¦b ⦧Q3GÓ¿”—+(ÿÈÈç‹väüRU¥¤‚Ö­ð¡ÌUÝ ºøYT|^Im3õüŒØ„¥>]´;1mw‰’ Ý#¢WûK9+—ïöZ·e…; ŠãQËwº$g®ö¢z]ÕGÉüÃü„«JªhQŒüxZÒæ|@¹GÆ®ð“0Šã)k3ò•¤Dê,ß”ã¿eËL&{U[{³™£!S¶~îZÕÌ02?¯¼V¡$ý"“bƒ¤LÙŽ´”]=k }p?Ûr ¦3‚kç`öé-êCÙ@°Í«bjósò•tIîž®²OÖš¹ÙS•_¸…úI€t {Î8´<'üæËHøÍMå–0|· ÑR ½(¾K°q:GŠ®¥è’ãå’À)Æ~½ÿ0(É-g\BÃ|(ø…ú‘ågËÅųUÒ°Pc;…,0Ì.8)g€òZXžŸçÒµ—#/8~²Haþ¶!×’¦¼fòú¼”òç×lˆö¡€.Ê)¡‚çùK€”ÍôaΗ3Š¢‹*Yh Œ ¼BçyñXÌñÚk¦±H÷ÐPiíÙ‹ …>ÆÂ‰›‹®R1@+i¾Dòà <å(ºªÙXh.¡£e$P.^¨UÒ ¸˜[. ›i*öànŠÜ‹Šfà¹ft§Sðç–lHÆÐŒºè³å_ŸsQ¶dÉŒ3–,™áöKÌŒ×_[¼¾àÁ&FP–äW9{ëó)£*ÝÖB¤Ð'Ä‹‰‹#_ü|i| * ÝTÝÀ÷™(#H÷ÀPÕ/%J¦<·üfúK(Ÿ)Tùñ@!ÎMŠ‹Ë¨ Ž_Ú%Ã=ŪOõmÄëmÇ)«²afRR˜ùñ³J·Æö\Êgf¨´<§Hɔ畓~¡>Hƒæ;>°ƒº=ò½ÂLEââBѵ*`š ©.M]>£¤Áìq§ûct‡Ö›™ëÖMqé8D¸vC¡ùIÚ›Û[UÆ’ÇÂ`` 0Û`ËêõÆ-:‡ ôxÜ;ÑqÌ=FÄ—Û3±»»ûĉõmËbYÖ¢§{É _  RÿÿÞÓ\.ªù§ÃúL¢KÂn½T¨ÚÊs”:|üÏÁQ±lS^Öã $ÉécCÍM™ÆèŽõW¯jov›éBIȈx¯®É’’@ž™à¬¢II[‡^Š¢øŒR©m¾3}²q8Ã4ƒm¬Œù¶/ ¤±ïÙÖ…‰V5kIi{ï`¡˜l.§à߯„BR«`hZNƒPLݯ €Q5^a3%óÒÁÌô fJRV­ÍkÇ›Íõ9këßÌ”¬ŸU4ÓxA­jÖª¬šžÛ¾1¤ŸŠa _ضª¤DJ‘6Í*š¤Ú·„ VÐŒ[‡½_9RÚr /¤k›Aâb*,’ßy"†VÐPµiù䦿›µ7†$¥!±™¸|ÝÙfxnIFêLw<]EAÙî”åZ(ÏÛSÞ©^¯ú6eSÈ®Îáˆin²­v!I)Å/ï¾RØÞŽ@’$¿­Â7Ö]ÝUÝ@‰Åm¡hM‹•ZÒ«-“””Ò^l¦(Í÷ÉX“'Œ5[¥=µª¯½³"gåâ²0SXmVÑÚk)s'§µ•Èjih ÜÚŽ‡” Õ¹í¥›£¡ðþ³½LI±”‚‹µJ€NÑ™Q*µ”e¼$éÁãNwÇèÎGMÊgņu°jÍ*chÎŒ z¤Knÿ>tí7›{„ñEý\¬û¹Ü­’ë ,Ñ>¹ì,•J;¶.C[Ïví±4qcû´N§“Hû#žs_Çô/j–ÌÖÞº¥­¸Iº{´o¤ñÿ¦=Y`û¿ïó€Õ›Öàñ€eõõµ¬ÎL+»õŒ¹ÀãÝÝúyÓî,Û˜÷¡×Þ²úoÙÞ\²)%?$ÒmÇšŒO=AâŸïe¦†¢(FA›®¤•*-8‰Pœ¼+ºó™©¢‡ÅSb!ŸnŸ4«¡±ÞÐ6«hSÐÜÌð%EÉ(ø¥} £T‚©~UžÌØÁ¾î’Ÿ²cJæÒ*KRè&…¼r¾ËC/Òki¤ßÜÄ”ã£SC$@‰…|Ç™my©m¦™ö:ˆf:-J(¦˜ªö-¡UÍ@ÉÌ_.HJƒ|„ßÈS„„uh‘çåT‰GŒ(ÍMCI)¾Û’-™!=|­Ç”Ä<¯È„0 Í!Å/gk»o4½˜¯/Y§Š“¦íW:¦¹J©í¾bŠ^%uSu3ОŸèæf ¤%‘ðïdh9Í‹)`Êv¤¹½>ºvGÆÉÑ f£ÜS®ú¤ÁÑaÙKRvLٲ¡#Ž+Ù¯ãq‡. €Q5·;«hí£ ÍŒ!Þœ“SÖñv$Êüìr¡ÏRÊÍ•ùc´™£²ÏŠ ëÈÄthìêG¾Ný1ûi„³ß‹—Û1²,k¾ïÓªiª¾ Áá$‡kÁåXð8Fcæ+¢{^ Ê'ÔÎ;`Uqrwø»‘U99e Ð9ŒW  )ì¢ÈÎ)a€‘çf—S£ƒd$(O¦¤•FG¯Ž]*ÎIÚTö`ø—ÍÌüöÀƒÉ=åMÊ?b©[IFZ> @ù„z)s÷(˜²œÄ¸Ýe Hý¼„òÜÐe9»‹:×y¤,d4U²;WÎ]’­p ~^ÚÝV/‰¡ÈX“˜cì?B+вãÖl¦£çw[ÝKGËä{²Khºhw\bŽü!Ñ9=C3B¨-x¨Ê•y[Y¥ê\sJ¼F8Öæ«[eþî‚æÇ­…:×]æªnh.ÊÎWcl5x^BºûAé8¢,:p–ö ö¢€)Û””ã¸$vutôèò´”“ÊÞXõ‘²™‘Á̤l9¤,h´¤h‡ñpÊüÏâÖŸTåâ'S/§@™¿'¯öQ†fæ>?29°&nwœFQr9͸€„Ø SòY|®8"3D Yí¿8.å¸O-!Oå³$rÄÜÄ”ÜÀôP¯I‘iIÆÃH|fFÏ—@蚈‚ø¨é“)‰Ë虡n's{>2ݶôÄf®ËÎØ”¶|sÛý›Ã’2gúuß§Ûü1úwB(•ÊGeYNÏôßG¯¾}î à'–1°W/±1ðxú–{ ×ƒÁ``4 × Ëî2lic³££½ènƒ%É'9¬óÔy’%+‰.Õ•••íÚµ $‰R©tqq™?>ŸÏ7>/P$©Õjkk릦&‚ """àÞ½{›7onhhÖÖÖõõõ“&Mzá…jjj6nÜ8tèÐððphiiIMMÕétñññôÑej2_Ö_§Þp¯ÙzÆ›¥@-ÎÕ¯] Û}À“:Õ,üþ´·øý\´¿VɾË7²~ü!ýí7ÀµîÃôÒŒ-̵’;‰q},é3o±¦NŸoÇ^ÎèYo¾)JœG&ïöÂV]„P¯§Ì_—–{MÕ¥+%_ì„×ÿ¹9ËçLÙ•ò—¸eÿ#µ7 †ººº¦¦¦{t³ºé.Xö‡Ûµ|p,y„Ÿ£kj4vÝ0Ý4Ã`–Ö` àÙGè µï£m’ÏLkÇæêvîîîo¿ýö±cÇôzýðáÃÛïÜlj³’JÃÃÃOŸ>-‘HBCCíììŒÃ­¬¬Þ~ûíÂÂÂk×®€···——PЯ_?ÓvòxAAAÆþÓVcƒôuµÌÕ˼¾ýDáÓ-†ùDZ9Ê.>©ùðAV¯çX ùý:mÚÙ¸)t:Id´AÓªù¹ðþÉÒ»ïYŒ|‰Î9Œ–ïáÉé#æ p³ž5ßbøàP”]B²¶ü†¶¦s3z&빕‹w{¥f®ð¢”9ŒW¤ †f„г@â¿:Ý5–ÃÓÄ¥ÌS.ÉL‘2ey9rÉón•Zëð@­µ±™ËPµ³H$rrvjjºËᘚ•9_³ŽEM•‡½ zÐ`Amº$Žmk¾ŸV-¶þAéC3B‚tMØŠå€BèñIüV¤î]ñܰǸŸ†›‡ãÔíð€=Só­¦ZZ€Ñ€N¬Á4A°D¶½oAàÝÙB!„Ð_67€ÔÁá…ù‹êž÷å Æøkl¾%º€¶¡ƒÁølcÈfY–1Š0÷¤½î·¶§G"„B!ôÇyÔþÍ]üå—¼ ÏP”Xûi›œ­(ÂÒ’kmApy— |>×Ù…çåÃutâòÂâF!„B£Ü 5 ¯ê–HÓLˆl8”ˆàò+!Á'ÁÒ’C’@p°'B!„ÂÜŒB!„Ðß ‹!„B!ÌÍ!„BanF!„Bs3B!„B˜›B!„zfðnÞ¼‰¥€B!„P¹ÙÑѱãßÞwýÁÚŸ¸n|úºÁ`0 z½^«Õ666¾ôÒKXD!„ê¹Y `nFO17ëõz½^<„B=c¹¡?3@³,Ëårõz}Ç<B!Ôs3—Ëíø76û¡?!.w|m0 ==#„B=¹¡?“Á``Y–Ó !„B½77cXAO‹11›œ9þÖB¡Þ C3zjÚƒ²ñAìߌB!ÌÍ!„BanF!„Bs3B!„Bs3B!„B˜›Q/ÆvÐ>‹!„B˜›B!„ÂÜŒB!„æf„B!„07#„B!„07#„B!„¹!„B¡?ï‡~ÀR@Ï.½^¯Õj B!„ž‡Ã!I’Ãé¹5™Ðh4X^è©`YÖ`0èõz½^Ï0ŒF£©ªª5jÔc…fü#„Bè·³°°è1:c? ô ÓjµX!„úí†éqÌÍè†Ý3B!ô§… ÌÍ!„Bõ s3B!„B˜›B!„ÂÜŒB!„æf„B!„07#„B!„¹!„B!ÌÍ!„BanF!„BuÆÃ"@3šëf,9ÄŒK;?\ðøS¯›­Œ;$Ù?wÉée2D>qÍéoäƒß|Ѷ}&O°=ÐÊ÷}´_´èŸã2’úÆÑéY'.Éi d#Ç/‹ZàÔíºh*¿?¡9ax7[Úðýò[_Ù¹kšÓo[õ–Ò-}ç³j…ow%ZûSéÒ󕤳‚ IDAT>YÝó5uƒø¸Õµò%?Yg̶wìEæü•VÏ!Öâßkçjoîüà‹«º¶Êràã?>Ä×™ßz„ÂÜŒÐP_Ê:Cg².¨‡?Nè}€ëÔŒ=“D5}Í™­Y7¢Æ¿h+ð^¹s#üþ[§­ÿå& ˜'~hòßqˆš—7r-ÔÛ˜»D·sÝ+¶æ'³1ËÖ½ÛÜü{­zMaåóSzXˆÈnÓ<Ç'N½b÷þ›â^òQlº»­ uõsÖbÞï¶sxƒ½¿ØƒТ’_Í;x0=½&be¨ £3Býé¹Y{mÓÚÍ×; °°÷ Ÿ1ÎÍòQgpû›äõgZ<—|°ô¹ÇªÇ›®>£øÚ¨¾Xû£ß¦áBÖé´Í‹HÅ’¬3 lŽ.ž‘5lª{Ù¹R©`Ü%ÆM$ªÌš¾äô¸©’KäJ¥’¶21f‚kûŒ*÷G´µ77ü˜™z誒ÉÈE1qs†‹@]¼/9yë@¹J\@ž^‘^¦„èyŠE)Ë*#Mí͚ʣ©ÉÏÈ †Í‰‰™æMÞX7#Z9gyúû2…BIŽŒJ‰Å Ô?g&$ºJ)³,.j‚k×à­*-ÕɦÚ?ä{Rs,u¿r\Jƪ ÕÉûÍø4ÉÑ«Ú7… ž“¸|8ýMtä~ Ó‹£2’F*Ü®NY[ýsVBjÖU% @º[³&À @sc_BìÆ 4%‘™3ìRú¥E2_uÍErËÁ¯´”ŸØóõÉëõ­:žØ{✮–-•'öì9Y\ß ’˜4#Ì[õ~f±öþ_ôù¬b‰»­Wжhù–ü‡ è}*¿ÙGŒ)€a‹ÆÐ±ûnLZ5ÈØj+÷æ`d#GJ6ž.k˜ã²7Ç €hð+ÃÈcß—iÆQÑKß\•Œ‹.§ )Æ€H$€U;¿U Dp Mÿ^APfbü…3ré´7½E p7Í==ý{93€Él(¾Y¨²ëò°}À(i KÌw ?p@#0Ã0ÉV¹²óûƒÌmWMÙÑ 02ŸޢaÓÆQG¯ªÇ0ßË¥ã&x Àuü¢‘/(Ì-š.-ÕÉ&÷Ü–ª¾³ô³;3¿ÄÕ€|ÅÝ’à9+øážtXÝ:z[ûò ¾J®º.êó¶:L ¤ðg>ÐÕ7IÑ ãÙ¼µõÔ¾5q×[€èÝÇ€ÛÏŽÛ¬2v&„}m<ÀëgE؈ú äùœœV ©é»Fþ¤Pk1ð¬^yAðeAÓ¯£ìa_ñ Vb;’¯ahÜï¤Ìå9pu?üÒèù¼h¨X¼ú ñî\sm" ¨Rë´õ…W[BÇÊ,Àr ÿ‹TzáMõ‹ƒyÀ³ñxÞžb™JŸ÷pà€ÈI5êVmMai«S¨¯ø2ûü 7éñÎb¬þB˜›Ÿ€¥%@:ÔE¹u#&„yzZ*ÏmÊ<*·4'HÖrñPöù¬L8f†s‡iM£xO'ÈòbÖöC›¾v^;×þú¶Ì£7aà„9¢ò#{Ïgm²X½zâ‚1՛ϨÄcÌ冡¹·¤æÛGÒ·«‚—/&ÐÖÛžyÞyù;{ñ¯¸šâ¬cr…2âµcmC¨}W—­.’r¢ŒaR@9QpfHJÒ–v)ŠdLׯRZI3¤S[C¦ÀØãYSybcú¾K ¥œ‘v³Bt% ÷AJ$À(i $ÛfiúßvBblݺ/a^‚‚fH Õµ×)%¡HºÒ4-¨k*iʕɊN¾4.#c· 2kú¼ïͯ‘€r¥àRû"¥îÏ®‘qЄUIV¦ætzdBì¡aÜÁB[õS½øù¿°N4x‚;“šu¦ax‡«kŽ&me¦EgR£Ó‹6ožæ*MqÒ”ÈÎÍÍP¹õaÛEJ$¤1ö· EÒ$CÓ4€­i ¹~jy¡ÊÞßå÷ýzsú¹‹~R]¾ÃS & èö*L¡ˆË×h›uÆêmnÒ ­8ä-’$I!—\0oЫV.÷8¡X¼p‚x!TòÚ¸£UÛûzÛŽóØ;×LÁ–æ•ê\Be– ¦,x&¯}Ë»S!·Ô?|zвÐÕ¨uÆ“hUµ‚¥%†f„Ðß×ôoÖ]ÏJINNN^¿ùèMÅÀIs$m!\b/ЪëÕ 2þð­Ý† â&ÁJº·’ø-\þùäãÓOZ„½3wˆu¯^݆3Y$ÆÜ¿²œÆL^Ê:cì´¬<óÍU5hÊŽžQÊÜ^ù7ßÜЀúÒ7—÷Y×ð%ö¦;}"ëBÔ|Ÿ¼$"ýj­¤IÉ ©@Ss:ë¨Só50t§Üè4r‚L±ï›b h*í+£Æ¼"3ÙÔ?'-^•uC'÷A’®chk å–Ï{ôôºí¸•³¥"“Ž×h45?ï[‘|‘JŒRÉR™D ©<‘u‰n[[’ajh hºÛ.ÓY€û„‘p!ëL @Ã¥}gèÁ‹(÷aRÅÑ374šÊc[/ÐfÖ©Eþc½½ïÀßý¬ØºÏ›"Íþ‚†_Å’—ºÿpRŽâŒú±ßnÓÝýÕÄo+ò —hýªH»ÿ§f@{ù\å‡W4ÝM€ÞЬFQ½fOõå{ÀÛYˆ¹º'Û¹&QWøb÷-ñ+SŸßÞw°EÕ©Âj-hUÅvî+R÷|vlïëaQsª°N -òüUö/x`' „Ðߨ“´7;MræÏBäà,s°æ€éJÓ{|‘½%@«º^ ÏItê:5€…XÔqaö–*ñ˜åKG™šPx<¯ü<€ª¥¾U Ö|­òÊÅb•åÀÃD¸Ÿzstæ9Ï3±—‡f€šYW¥¢\;s3A¶1ëDÍH Ò‘Ô7Ñs“å %5leâTW€JÒ} l˜{U¡`$c¢ÇÙtée`;!1îFBêŒWc›š˜ø¢-)]62:yÆÄt‰ÔýÍeQ³Ë¢Ó#ãe›£^IÅFO™>iÝÚ¶‰]§¦ÄÔ$ÄN™ÈÒ‘+SVz à†™Õ ^4MšýúV†$”[7¾óí’µõ…ržÇØžCÀ{yÆf×é[£g$Ó¤dð˜9i›§ Œ\¹È=:vÊd‰T2xÚʨIeÑÉ뤛çLÉ$G¼~uYFœ¹íZжŽ1‰òäÔ%S€rŸ”7ÁÀvQÌ첄ˆ×³(©û¸i㤗®vIxÑ–ú@ÿfþÙnÿîÆ&_ò&?û¡uÈkÔÃÊÅZûZ뇧Êfj€7ÄO¶ZÆí’\‘`j¨Sí]ºÉz:öYá#0˜_9qŸÈ_ã7—Ž“M•V¯ßyU\ÞPoçRΓí\Ý­ïÇ´U²ƒ|§® ñ1õN]ºÿÖ¤ïu Ñ€±“=D=]kÍ—M^ºÿIßëxöƒ§.òwÀj!ô7Fh4šGoÀ¸¶iíæë<ŸåÌuëÜ ¬½ýuòúó-ÞË?XèÆåéôäCrÞÀ A2õÅC‡ŠTâ1«£ßt¨»:õ¹ôäl¹È'lz€XuúèÉjqÐÒ…Þåÿ·÷&oà„9A’ò£YgªE/½îPœþ~–ÜÂsҌ׼=]±ú¯‚eYƒÁ ×ëõz=Ã0¦ªªjÔ¨Q>‡{÷îý.kbþÉ•Yÿdôp76L(‹:°áE,S„B½Ž••ÕÃGøƒž³- Xº|‚·¸údÖæí‡Šaà˜Ë'>pïeɨ˃X ðAëõC{Ž”ã½èz¦¨O¯™89þt¨þæŒRöŠ C3B¡gÒcõÓà?·4%Åü;}ÃßO ï8ÄÒmÜÂ÷Æ=tvÖn—®øÀ@Ks­‡Í}Ø\Ü[={DQQ§c“g¼š@ÉÆE%ŽwÂBA!ôLz¬~¿QËíK¹YYgê-|Þy®+ö¶øÛë=ý4B!„žV? s´•G÷œ©‹ÁÁΚB!„Ð3…÷ç-ŠÿÜÒä,q„B!ô,â` „B!„¹!„B!ÌÍ!„BanF!„Bs3B¿ùãËÁ0B!„þ¤P±=Ãø|¼£!B!„~$IbnFe\.W `«3B!„ž‡Ã±°°x”8ÁÃÂBÏztær¹X!„úÃ6B!„B˜›B!„ÂÜŒB!„æf„B!„z Þ?ü€¥€B!„P¹ùå—_ÆR@O˲ƒA¯×ëõz†a4MUU B!„z'ì§B!„æf„B!„07#„B!„¹!„B!ÌÍ!„BanF!„Bs3B!„B˜›B!„B˜›B!„ÂÜŒB!„æf„B!„žB!„Ðod Õ·Sþ£>–Õh°4þL­©~ûLlmm]\\¸\.æf„B¡?–<þý{¿\âZ ‘5–ÆŸš›|}}ˆ©ªªªªªêß¿ÿÃÇ|¢~ÊÓFGGGG'©{è_jy”ÙiË·ÅDGðõm-î{„B=‹š/^àQÁÃÉgI’ÎÎÎ=Žù$¹¹îÒézà‰y ºxî÷Ⱥ|ç×,X0=@ÂÇ=‡B¡g‡‹eðŒ²´´Ôëõ=ŽöøgEÚº‹çU  ¸¾ùPÑùê‰á®|Óçöl;TT¯ãÙ{¸éÚSö‰¤”£jϰ‰¼“GŠU:±wØ‚ ÝѬC×U öž¾|¡ŸD[ýßíÛ‹-_ZÎ?”rTí9}’èÌ‘‹Õ­<±OØò~¨{%m‹–oÉØ„B¡¿Ð™ÑãÇæsU`ð’›Ï¨/¯6µ8+ÏoË.ªçyNX° Ø¡ü¢ª=™óyºë'ËÝ&†ƒª8û“¬ë'NÉTÅÙ‡Ê;5X›F>zI4cúKö:UQvvy î¦Þ˜šoIOÙvIyÿs±)9ó¿uØ×!„BQÛÞ¬­>sQ ö#dТsæ ‡®œ–‡¹ºñ¡©üb=€xÄ„€!}ùž¢Ê‹ëϨ;L'~ibÀ0¥úäÅCõ¢a“†9´´œ9Ÿ]]Wײ">q˜ Ô9ŸU]W­†ç,qOõ6ü¾o.}m[fæ6X>Ç[wq{æI‹°w&:<æfÍÙ•þ«Îu÷.iëÔ¿¿‡ÇÑÁc=ípÏ!„BèOÉÍZùé+­­'?I>iT|º¼Åí9ËVu X:ˆøÀ9ˆ:æf‘D< >XÚ[ðt–<®ëRDÎ"K €VÜK½”ÄoárØ–ùÉǹZóŒwæé•3 5¥ 5¥…§r¶'“®cßŠŠš5ÚY€{!„Bhnn)?]Ü âa“¼EÆ¿ì=sýLyËsC,D–*uZ Ö|­ºZeûw‰Îü#çyc&öŠÐL *ºÿ·FÝÐÐP]qùJ%mÌЕ§>YuêëÐÄñ!θ÷B!ô‡åæ–ò3×u 4jˆƒqˆ³êä™C×O_o2ÌÕǪëÏ:í$*ÿï%cnÆÞ®ƒèÿ<=ç 59±³Õðe*Fg„B=†Ç¹.°¥üôuˆ<}Ä÷3“ç1ÀÍÓ×›À!`Î$O±îæÑíY'Õœ16£ÞCà<:<~Ûá­ï !€>»æË ,„B^äò{ß}ÿAã¿/·ÊÞ["rîöª Â{ÕÀ/Vuw“*¢ÿ8›a6·DÓ¿ÿˆ¬q}ú¤ì•½fó4‹ÌÊ£ÏkœÞ´ > =%,Ë ½^¯×ë†Ñh4UUU£FzÜùÜ¿.ÐõŸ‡¾žýÐVdÍåÔÙ‹¾ªßÄcCÌ\(xçò᯾Î=Wx¹¢†fH[ס¾a †xŠºÌðzÒ¤9Ù TèÖãñCw ¿üäó¯ó =C(WßÀð·Þ™íkZÌï: þÖ;Ýö·ÖTŸÍùêëÃg¯”V60`Z!£ßŸŠ}´B¨w)ôçÛÙ?<Åx«±zņ-pœ‡[ϰóþµnÍMõæsó€ÕP³bC‹™6H¾`ÎÇNüÔÊm·ØžrsûŸ$#Ú8pšëôO¯”ð^Õá­ªèú‡Ž¦Žù¿ñyF………=ΟjƒþVC߉Ë]”Ý…ŸçT„,ìß)©VNX™[Óy"¦¡²0w{aîöÏCÓ»ôŒ›°†a*¾\5û£Bæþ{teaÎGËò®¬ÛŸ(º¼mÙ²O®t|·æJî'«ò ãö§¿ñ`ÚW_Þ¶få'…t—5¹rªòÊ©¯ÒGý3=iöPîQ„zªnü8’>¶›>DýéÖf¸ý»¢þBš5¹5Y?î‡dÑ[Qv#ûqô¥_+>Îf?CÅŒ³ñîG:47}ø¯úâfè²½z«ûfÌÓæÞ Às³6TíJWã‹YŠCõÚÍ­½£æfô·KÎ ¸fT •‡óª.¼ŸXï_»0á @zÏ ëÛßÙ–djJÏþrû©J€ÊœØE Ú?ú~^˜b30 ×?ú¨q;ka°¯­@Óp9wÛöS5@ç& ÌÚO®0N£ÂfviÔ—Omû*·’`Î%§ž LÝñzÆŠ/W.úä ´­É¬àÑý( k*Îæ§¢Ï}´l`ÿÆpì£BÏ(ím:÷¶Ý”á<þ¯äÛk¬™ò¥ÇµÂ1Î)«ì‹ß©m‹‰¼À(Çauµ‘ÿ£nîÛç_:M¿R±-SqáǺUn»Å}í?]Þ-e{LíÍÀä©Yó^]5iõÞçÒÉžw·Óç‹úò[+´DßJxýNqg²©]ˆpÎßû?åyu0hIÿ9긅wn€àõ»¼=¯%r³¾ëÜÖÿ @Zx«*×¾Ãô]ÒÝ*›ïþº­NðÖ§}§iˆ»nÙe{¥ü~BafeôƒsXÿu3E{ß­Ù2púyOíÍÝSŸ YuŠé4Œµîxzà“¶;qðs‹þnœG¿ád|Uy®TÝ!5'˜B³S؆C_&­ í;Ôs¨o`øÊÔ¯%Ž¥rR/wêÛÔöÝ+üè«ߘýûS£ÂCCÂW¦~¹Î84ä¬Z“Kùçþýékg¿òÆÊ¤/7†Ù«¤s_—vœeuNüGÆÐL'ú2iå¾C==‡ú¾±2éëýq£H¦05ùøÜ!ôÌ2Ük¾k5 Ó|ð„V Ðø£êXù L£ØX ÐçeÓÚÛêœ[œá/’÷;=?ü]B<Îå«ûý›ÝÆ“Ÿáö ºZ Àho«8bh¼r·B(ôïGŸôÎ)=ÞÜØa.Ìí¦Ku,Ï{8÷ö±ÆZ­&ÿ8c3ÄÒžofnƸÿ£F lã-=SGßfA«-m&¬lˆî¶W«º—Ý·µZ!_øÛ !Ÿ>˵ã§°uq¿áÇZloF?NýI¨a úr˜¾?9ŸŸcœf­‹Ý¥Û³sHLLιØs 4ä~~.Êì©ê¨¸ðþ»‹FÍMÊ5v¶p}'~v§wáÁ¶Ù_50—À×Ôt¬¹þÕ禦æ±ñ1];`;¿óõø„+Ì¹í§ªC°É!„žQ\¸÷£^+äÅTleL²Å¶ÜLr…$ÊÜ^o›¦±®C“çÃß`U'ªìßÌ瀖15K7ð ñ^î-‡éÃy{«‘âÖ]W ¼?Es³ž>ׄ{¦>$L³A+äÇzpn†f­1?€¡Ã ÐÝöj ›†—'©‰|£¶m„…˾ª§° [׎þMO@ÃÜŒþ†DN"€P7¨5¨Î;l¼ZÐ5|–§ÙKîìF‡û’çÎ1À.ÕúviȬ±FXÓ[0æf×ðàþ¾ë<ÄɸtuÛzÔäæ58{”Ùsb»QáCàÊ(=|ùN¸3>!„žAü}‚ô?_×P§RÝ]ÿVmñýtIx¿h §úF†9ùnåÁÛz_Ûn‰aöÝ'¤/>¦± zƒÈêzCq3tÌÍ`̳Z}ƒl8 m8üfmó,ª¹ëö‚Õ‹Ø1ß7jÛFríç̬Ĩѿõˆ‰ý4Ðß)è\¨KÏc3Ù¨mwßuµ©§0sj™ÿˆž¦W—6h ÿ¡–r™‰¹¤i[êÑÖ­¡Â´&dçîz` l=lM Õ5 L[C5B¡Þ—Åã\¾ÍÌÏ'jÖîP7@sóçëÔïFôÿ2‚Ð]Ú­¸Õ Ú¢j^jG”SÆ^‚ìí3w>þ•­&¿Þý÷À¾•q]ßín‰FÍô¿ß®ï&87Ÿ¼-}Ç£ù?W ݬ?[±»&«ŸÓ¿¶ö€ÆŸï|¼»Uûý)Ìm¯ÙÅÝ:Ñ*ŒpÝ4àvÄÍ÷zÅÄÜŒþ†±¹ºÂt7ÊÓ”uÕ ÌcÌ€V›kä}hz%qÖMƒiÝDT÷ÓDdûøšû—&"„ê½ ”Míæ½ÆŸëãÞêg‹7Üü‡ñUúÓÿQÚit}~òÍ|Óë®ïö¼ÄKï”4¾Òj¶¿}Þ¿JóÚGª»=ý.@fÛš€VómrÅ·fÖa÷çÖ=½É8ìÞùì3mó·,¯›í…o/øÑôò^ûëã¿.8Þ«v"æfô·£©8UÑ›ûÛ>yÉQÿ\·Ð³‡\ÒÖãÏhâ}´¬Í!„æf„þØ\úõYS“®gp[þ%mÛB*ééëëûô²¨@`K»`hhºûmP·5 °­!„ú“àuèoæNî'9Æ@JŽšåÛ–:EýM·Â`j*žêúÙö7]·@WßQw›JM+iëjKâ>E!„07#ô»§æã É…¦ÈþÎýÛ¼‰ú2ݽ4÷²úi®aÇ5)ífM®šrsÿÑÎØO!„ÂÜŒÐïšóâÅnTpÜ[»1;†›âjáöÃÕf'WŸ]ûƳ£’¾Ì«ø#ïýÖ?0Ðt»»s_š}`uÞ—¥ÆW¾aC°ŸB!„¹¡ßæNá×ñ³'­É1ÝÙuVzÌèΉÓ9x¥ñùÕPúÑÊô.mΚŠÃk׿ÖÔ”žÊþêò{Ëäþ³Þò5>Iû\üG]ž¤­©øríGÆ{MS¡oâ3OB¡? ^ˆþBjr?O­é‡55]Sq¹ðJÍýÛÌ‘³Ò7F íÒNk7vjì) rû¢7 C†í/"™†ŠËgs¾Ê6upš•Ôãý6~#»7âbr¦&2@çÆNª8÷Ö¬`_[’i¨(=—³í«sÆðošå‹4B¡?/7ÿðÃX è/‚¹’óÕ•‡à4ö˜˜…Ý=1È.$éKHX›[@_ÉùäJÎ#³Öm0¹wÎolØÊ¬Y•|®˜ÒœO\ð[·aíhì£B½ŠA.󨥥…Ëíyßñ^~ùe,,ôT°,k0ôz½^¯gF£ÑTUUýþ‹!)[§þC|C‚ƒ}{¸ŠNà’tØwÖñ¯¾ÊÎ+¼\Ùö0ÊÉcè¨ÐðÙoöÿ³¢ªÀ3<ýШœ¯¾<œWXZC3í+â:+<Ä33Bõ*Â#ïýr‰k%$xøcþ3†a˜êêj›Ç$4 –ê=¹yÔ¨QX2!„ž9Z-ÿÞ/—X†ÁÒø3µþÿìÝy\Tõþ?ð—0 È æ "K,*ˆ²$ A¸â†b¢%. ÝÐk¹Ü+v éxojÝÀoE~ o©W¯R¡×M1QÊ7‚$1p'ŒEt†Ì Ì™A° ne.½žÿ3s–Ïûœ×ùÌ眓ðé¯_ˆR©tpp¸c—3O‰ˆˆˆˆ~-™Üù£å¬Ã¾—Y"""""æf"""""æf"""""æf"""""æf"""""æf"""""æf"""""æf"""""bn&""""bn&""""bn&""""zÔs³áìšèè蘯~6Ü4½tÇ»ÑÑ1kÎîyý5gïÎ,5@]~bttô‡57M'""""z¼róoOs|çÎß—Õ€¹ã„ˆðˆPùMÓ‰ˆˆˆˆ:Ñ}ÏYW¼?9ùÛ‚*£™o@·V/ÔäïHÞyü|U=ÌìúMŸö¬µØpvÍ;k º÷,Ûy @ 3Çá3^Mï¬^f€¡ìx±Ý¼›>±ýÄWGc÷Êõ¹ƒ¡23iå³I³ÆY³»™ˆˆˆžP÷9NÃPw¹€\ÞwåÖrœÒ0Ôië”m~/zsó{˪Œ0ó®]EÄææ"wÝ1ií=Ä.m[Áñ²:QîùzØóPp¿=ÏΘ‹õ+W,O7í¦ÍÙÓ’5!"""ææ¶Äærs ^«­ÌM¥¶yz7s ÞnÂüp·¦d‘YWs”üªxæ1ØqÛæ‚ïóÍ~ÖÂ1˜±ù‹ÎâÝß‹ch&""¢'ÛýŽÓèêá&.»óp~~æ¶ƦéÖžÞÝ€²ÌãeÚºÊüë×$ï.éø®b±€æäÉüb¡ãé–žÃÝDÚã;T¡ç7æ³G,:{ch&"""ææ¯Ó¸ˆá=åÚS;“6øvŒ°ýjÄàžÆãÉ+W$}[)w=î6A×¼ç~rÔìÜ´ûçºÛL7ï5ØM„zˆÜ›‰ˆˆˆèaè¤×ëƒÍ4”îˆÿ¿#u³Þ™ÑÇœ{í qýúõk×®544444‚ ×ë/^¼ÀÊÑ#HôÈoa]éÙ‚ó'ÓhÑuøè^ ÍDDDDÄÜ܃öä¶äUèê6áÕÑö¼Ë=É8 zqœ=FLX"""""æf"""""æf"""""æf"""""æf"""""æf"""""æf"""""æf"""""bn&""""bn&""""bn&""""zD‡bˆˆˆˆˆî›ûôõ`ˆˆˆˆˆnã4ˆˆˆˆˆ˜›‰ˆˆˆˆ˜›‰ˆˆˆˆ˜›‰ˆˆˆˆ˜›‰ˆˆˆˆ˜›‰ˆˆˆˆž$"–€ˆˆwµµµÕÕÕ‚ \»vÕx‚™™™) 333–‚˜›‰ˆˆî'4_¾|Y©TZXX˜˜ð{Ô'™V«­¨¨°±±at¦‡‚¿_ˆˆèñV]]mmm-—ËšŸxr¹\©Tj4–‚˜›‰ˆˆîY}}}çÎY‡? AXbn&"""ºmp11á(vbn&""""bn&""""zœÝ×ý4ªX»jŸ°ômÎ0åý­¸þ܉ÛË#æÍòµ(Ù¶|“ʬ_ļ î÷´=Õç¾?mìûlß.¢¦M²ù'w^aKDDDDDnVŸ9®©¥iCMþ‰ÊA£¬í½ìDÖƒB_ð‚¢Ë½-Èx)3ýP®µõ³}»½G¿h¡—:24Ñ£‘›êüÜjX>ä{~ëþ3¹•Av"Pg®Z›QcûœŸÙ™œ Õ ¦Š>AÓ‚½ºˆ:˜Þz‰•GS¾nìo6Õ—e¦íþ^¥Ñ¶ž#ƒƒÜ•"/HK=xV£¤ÝúŒ çeqá‹Äíeж~ô±KØ‚‘—¾ÝÞÒ߬»ñÍþÜ = U8{7¬§Œ¶,ßz¡‹_HïÊýßÕBjûÜ SÍP{þàîôE5zÀÔÒ¡PȨ2DDDDÔÆ=o6ªOä×@áÛߡϳ¶¨=›{ÉØ”ÀE"åy5}&D¼<ÆY¤9›¶#_×ñôvéN½1CUÝ}hȤà~Òòü[3.—öoÝ{VÓÅoòŸÆ÷3»|ö›¯W›9ŒßÇ@·¡S_i'jÂ3¾Üšu¡ÞaØ “' µ«-ÊÚüß µ05 É9ZÝ#hÒÐR}ù÷iYjKö§~_ÔÐ;ø¥?M é/-;¾{I= """"jë^û›•9yW¡ð´ƒ¾Áº5œ;^f´wlYŒÂw¨—}täz°(¿ìly½·uûÓû´·ôÚ Ç/6 ³ÏHŸ¾ÝE®v–=KôR3ˆ¤þ“gz‹,J,zt>™[]Vm|ÎѺ‹€…µ£uª[6ðRn~5à4.ÀÕ °n8óÙ7—ϜР˜: ãëjf´8üBnMeµ"£0^*)ÓôíñÜËQ£øÅ{¦;Ÿ‘Sï=̽ KADDDÌÍÍ©´,çœÐgõyvӤœ’zÇžÍ㊥]¤ ’Z˜úúZc‡Ó-ÚY|½¦€…µ…€HæèêÞ˜Ë*s÷îÏ/«ihz›iƒ±ãMÔkji‹Æ–™YX˜ârmus²YK‘ÔLÀˆƒ&xצçž:ôÍ©C€©ÂcBØ8WÔ¸ûÐ\˜úÕ7•"ÑY5^šÄèLDDDÌ͹¶ä‡szXzŽájÑøó¡´ãrJê{ön ε•µp7ƒ±1©šY4/¿£ém™)¤ô½2‘±ú\~aµÔ±ôHêÉ28<ÿç)^]*¿ùì«<ãí¶Qª°ÀÅÚêj#ìD@}um`©´j;˜ÁÂuìË®c:uÙ…‡ÒŸÚáý×çíØí|·¡yoýs¯DxŠÎîÜðßmŒÎDDDôĺ§ñÍõsÎ7 Kÿþ®®½]]{»z=ÛO† Ç/´ŒW®9ñmÆé gî?«ìÝòÃÅ£ÈBi!¤Rfæ»bTglÝ[ÿ\Ø‹ÞJ‘¨‹ç¤°AÈØºï’‘•!""¢'ѽDÄú’œ °èÑ÷Fb—ž]*ɹ ëë°îo«ÎØžUÝ UxMô”¡iäñ-ÓÛ¿öNæõÂKêÔÝ?Ú¾°°õ|>x¤½ #‡÷Ø|à¾M[¬=‚&—nÛ¥ÊHÍê9ËûY‡¬½ÏîM5vùËÈ-²ö§ŒßìÏÝ÷µ *\††ù*â\—þA#ËvÝ·õ+èlÝwtp 5ƒó];ÊA/Í™µ«‹ç¤×\Œ¢Ç xµÕ)û/¦¨ê.5¦¢^=¬^mïgñx<HWVyT¤óPQ¡ì|ØuÕÍ“%/ÍôzMyÿeÔäç‡e+×ÿÙÖæ1ù•çþ¸Q …|ø»×¼-ïq˜—1{kî]úl-“<œCUêE³>æ·4íê_ç{oéâP—„­«žþšWˆñbØÕ™ç9Øìn—öHºúãÇ1ÛìßX<ÍY|ç7«:Zê<èË{ZAQVžh€ÿÓm¯>øþ»Û+›2W8õi;¦ùݦv¥ýêÙ¶2³ßhiu^jZi¸ß3–÷ Åߥfxõ½)7€"äÅ£”€¡æ—3Ù©›WÆ ‹çoùø”£ã¦17=Y®©²Š¢ÛªPÈ”]§¿ µÉ¯S4çŠþy@£Ò0uñpüûˆ® £nùêÂ*+¨jTvïSÿE–¶¤Æ qvü8ÄJ¡. û¢fx?ñÉ‹‚¦Æ q°{w¼£‚ºrù®Ò£5×(lßkënfÌÞúÓÿYتUŸ¬1TÔŠ†íó†«0žÎùùƒcZ L`a1}t¯é"¨/ÎøB2PzôìÕŠlm—½Ð]8vömUƒáB^ØÅ^ë‡ÿµ«ä€æ:ŒX?õ·ñ=?ìðÚ^õjþwµªÊó)\¨­¨5è,ºüõ…^ûõº”=6^4€Ä²Ëkã{ŒiÝQÝî«Æº½iª© ©¸Ÿ¿Õ¥C•ƒ^éù{=<×û›€±æ?WÕŽæÝãךHêÒÇq™3¾(JòïòWkÝ…’~{å´0?ëßã|d’Žªq›†›]™¿º´ox¿¿Z›@eIXrMÄŸO'ßö˜Ú[»nùêÂ*+œ­)©4"ù_C{ ¯¹0{Wm-~K²Zîìr7•S—ÎnìoÕíMSý»È लѽ"D%­—¦¸Ðîñðs­§eINµb¸p üæ¦ÍöcñPâ«Eß%%§Òs{¿©¯N{FôÓšåÛ+µX¹T3622Pq)+9)õ¬Æ˜Ûû½1éK æ§Mk6Ÿ¨4Y÷Ÿúê$ÅÁåkò´Æ3qKÏÌŠÑ~·°ØòégFͳ}ðîömçÌp_-:¸!yJ @î4jjÄ(×θ´séªþÃ,Ug/i5Z‘KÈ«ƒº·ZHÍO›Öl?QYÀÜ~àÔˆ .šMKK'-~s€%\ý)ñ›­#ßpÝ—æì|é§¢ÒJ­Â/"D‘•š]ªÑÔ)Μð´hwíß½ÿÁOþÁŠ3?–j4Z8õê ¤Ý¹i­êùËÁ Iß©´F@¤è>¨»†KYÉk¶çiE– —a~šÔŒgÞZ<ª;ÿ<ÑãÁ„% ?Ù"c÷>Ömò¨ópo¥‹P]ñήªî£½vFØùнäÔÏœ3 !÷¢ÅßÂ=7üùi…êâ;çºü=ÂkÃ+vUé^õ5 ꎊ>ŽðÚðZ¯¾e¿|¯‡ñjRJɇ^"ìœ×'¤ºôok˜HD×.©tý‚=Wÿ¹ÿj?ì:PQè.\xûPCè´;#¬h²ñëŸÔ"j÷ÂvY„׆×z¸”—~vñšËÐ^¯):õîµ!D®:VrÀÂyCä€o<ó®ƒ!]U÷KÛAõÐÐ{±óß"¼ÖÿÅëoUÿûm•×N8÷ïj«ç ØùÌ»ºå)¿”ÜHÕþ«šüŸ—_ìü÷y¶þ¥÷à‹g ™`^qòJ @(¿üä“f_€ÄÚj¸¥ñ‡ zÔV¾óõÉP‘¶NëVuèÜò²kTã¶ —v}É®á@ŽN€k%g«4v6ƒ,îtLv°v ²Uf ÷\?Ûë iõ¿]…Cwû‰Ä½6DÜ]hnE¸X¼ü¢Å»óìŒô]?Üìç³ÕºÖK«m÷x0‘Á˜{±ó»‘>öV¶Û´‡ûûá—=I©ÿùËbƒ‘½aó9Cçg""¼ÌÍýæ.Ž ìn(Ú–¸¹´Ï«ï,[¶ì0뼤5GÕ0¥n>a9õeË–-{'ÂE“ý£¦û„Y!Ö"û©±‹ï”,•†Ùש~¼d¸zfÃÊÔšAo¼·lÙ²Øñwk“~º  3ŒÅyùÖ¢ÅïÌr.Ú–”]Óêæèš¤¼îSc—-[¶,6DtlMòOûA~–¥óßuUu´ÔrÀ {sˆŒ•g®{õÍE‹çö×d¬ÜŽàÈ·-žÛ·2#UeÚ_»Hcñ5÷­E‹ß‰°/NMUáé»n`(Ú¾2µfPä{Ë–-{ïU—âÍ+Ó~1 &;y³Ê>â½eÿ\<뙢ïŠ"öàÑ27wyvÖ[oGÿÉÝì.§ýþŒ %õ)LÛ}QwñŠJÚ5ÔA ]žzɹ§® ÐÉ¥_©™ƒ´“‹§\ÀÂÜAt­Dß8«YH¿Îfò1vP©® Õê£5ÒKQç1þfº‹š# k? PXKÄzAg4ªrªÑÃ~Œµ …‹ípSí®òÆi6¦OãbÍúZ@S{½õÖÊ"¡¬2õœNc¹u{×ç!(í¸zpñQÚ€ØÛ³3Ê«Jê¯î½ÐàîßÍQ@äîcmSSýCËýnŒí¾jTÔKºy›¨l윲qµq©½’Zy ¸¦Ê¯Kw÷‡üXì(…®¶As±ò´TñŠ‹€Diõ’CÃ';¨†ñö {ûÉÕ¥ÓFõGÏ6xxJv§cR×áÚ;¹ôSØ€©ƒµ©®ÆpÛ¶ÔýsÅñ±Ë›ÿ­»té¦×¥ÙUmêÉ*Uí5…«ó²`+ÅÝ6ý¬E:jÚÃÜ}OOŠcÔÓbJ—g,ë4š6磆KYyuöÁ£œ;èì8Ȳ4KU#6ïnn(Ê>öÓ/5†Î®æ½ØýF0˜[š‹ŒÚ:CñÑ3è2¨»€eßQ^¢â£Å;ÈzР§Å:;û9‹/ýTÚ²ÛjгŠÍ s±K¯Q.bUv)ž4HQzôGucl.6ï?èi1D)úè.Ä gK(ôí.Är{9´5u¸ÝÚýú7®ÝÚ¹ñ½÷pRšu¦Î>Я»€ØyØ0kMžªÆPúS©Ø%Ð¥3¥×¨ þa¢Ç Ïòèu¼›:šáÀeƒé­ã/uµ 3©¬é3a"³05T˜&’–Š©‰…¨ñl³Ó9M;)¤Í=ŽRCí5Þ C§î7&ŠÑ`Ð5ý¿Sˇ¯qªj¯×^>7ayÓB\j¯C˜vjÞHpÓ¥­&Žþ}–‰.þ÷Xáš׺;Xýe¬ãà.ó룪'†i'Es“%RS4Té!k¹S*–ÁX¡¿Ö¼¤v_mPÔ_—u5í5 3Yã¹ÅS/9ýßÉ«¯ ¿–zÁdødÙCVkÔ«j!Sˆ…êÃÕËó¯4íS\—8ÓöªÛ6üšÌÁv©jÛE£·¥z¯Qþ·¦õÛ“ºö×. “Þ}cÌþöJŸ–`AS:“¶õË;çK“~üåÍ*Aa1¼çô¦wñiꤰhÚΚö0~ù1u{ÆÙÆ´\§ÁÍ™®N[g,NþÇÛ›Å`0ÔA¡­C÷Q‘sE©ßíY™º¶Ná2èŰg”w½ÊšK5F‘½¹±®ÆXW¼òí·Å-‹¶¯©ƒ™[6Ÿ‹å"c©Á€¦Ÿ š:˜+ÌÅ­_­3@Ù?°{ÚÁêÀ•G‹æv®€eË;E¢¦ ¸ÅMS í¯Ý‰oÌuÏå¬ÓÖ‰-åâg¨ÓÔÕYÖÍ»7-Llio.:Ã?MÄÜLôh÷s‘T¼tzˆÌÛìF?_JZ…l¨ó .¦âz½ÎØø±¸¦«n°°ÝUkhÐè3ô×ÄR‘ÌÂ\†ÚK7&`*“í=`Þ¤kS …ËÖË6몾s[¼}zzûõW÷î9ûÏ]² áV±çFÖQõ®kôM=å‚Þ`v–Á´«?×64}ߥ7è ²‘¶„þv_5µ0ë¤Ó…ÆSˆÚz]ÓSDÞ>]„´ÊÓ}pÒ¬ë2ÅCx&”W¸jê –]‹-»®žíèØ&U×´W hn×pˆd¡®ÞÌ©>íðÿ'w³oÔj_´»vÝ=¶¦“ÌR¬hù˜Ô›ÜòY0±quøWÀp:ëÜ›»Î÷wã‘Q²»ù4ÝÚ´‡šS×n8ëõFt¤sgàÒÎ¥qgoz‡¹Ü\ä2õ½Èg:·néî\ý%kʤ$çÅo:Ýí*fTʽ»›,ÍÍûÏ}oFÛûQ\Œu5u@g0hëDæâ–7ˆæ¨ÓÔ5¡N[gni.:{²ß–v¢Èº¨ÔzÐÔ»‰ðby»kWÿÊ‚Ê忆RmËö5Æ|‘¹XTWglì—êxïRz¬p|3ý±xG?Ç SÍÛ›ŠT\Ó©«6¦œý¬ÜÄAj"³µvÑW¥\4@µæ¿M¼ûYÜ]ÿ¥zR'¨¯N½—>f‹.ƒú”œ€ñêÞ¬z™«Â±ý³T—~(*?Z} € ®üß­E¹õ·ùÀ^ôF@`kÞÛ¹Wff½:yò»ææŽ«§Ê¹Rb ?z²Þº«Yç1=LUY§s*+O=Ûryœ¨ÝWEŽ.ÒÚ WN×ÐÉR·Œ9t„ÿ÷Ùþj™G7LJÙ`,9WòæVµ¤ŸSˆÒDæ`å^«ÞxÁÐXS¿.ØXÖÔ¡~s5D·o8—VŠ‹eŸå\{Öç®:Ôo³öv˜õÝ=·÷ZIÎÙÙ©W4 v´–ÊÚ.íî>M÷Ü´¬®¦N¤pVt ê¿ËÓÀP×4(ÂPSgÄÝý½Ì‹¾ËþÅÀ þiÓšäkPóãš÷??zÉ sw{ë–SÆ:ímG5\UŸùnÍŠ}†þSƒÅbûA.8›ö£Ú4^8·íÌÕÆ÷U=ZdpõÌQìØ·D[K'§º¿S]Eã«Ä.ƒìÅ,ûŒrÑÜ–Z¤äuW=ß·Y{ûGûšÖ´Ôîþ}ÍK¿Ë¾dpµ(ã¨ÆÚ¿¯²Œï i IDAT³µ—¢îLVÑUê¼´þ]¢Ç û›éƬëÿDôvÙñßɹÿlLE}ûØ%N´q7̬ßõŸßæMÐ{ty«‡wÓbj6¥óW_­¨mPôp|·"DLtÖìúyrâu “óÓˆ[JÐ~v‘õèµÌïç¾È]Žk0•>;°—» oÿѳæÿ>œ?¡Èiõp«»ÎN8pMH]߯xÈûtP=SSwýg_œTU…â­É]e€ûh׿îºðæçå Q<õ?¡öŽ7º]MÚ}ýzüå¹·?ÿQf!yÖǪ—ªùí"YhŸNs~ýí…‡2»îŸ+~ø'ÀÂÒbÐð¾Ë¼e2Ö¡¾¹]þÞx׈vªÑr„uÐpJ«.ŸÕwÿ›õÝõtt´övÏ$]»ÚüX<峪ø?»ÝË­M=l‡_(š±¼H$ÒÎÃÇöò™­–vWŸ¦{mÚoJ{lùÂc-?Ù‡½÷FpˆËÊä¥oo³”Û÷Ÿ4udéÊíË×+b'ùõ1_»2f©ß±á“æNJÞ°ò{Œ0@î2jjKtö;èǤåoo3ˆ!uï35ÂËèë÷ö™°ØÈ¶7™Ó¤¾ûzjã±+wò;ÿ­@WKû†Íµ!ùÃlGã½'Â\:Z@dí…ï–/-ÒÔÔÉûNzu€åÏŠrЫ—’6¿ûv¹Ó¨¹a};Â;÷ÕǸâ„}„×]Þß®ýµ·Ÿ-;jÚ-õ|ËêÜIÉÿ±Çˆ¬½Âçë`PDÈ™µ+ÿñ¶¹¥ußQƒìó²øw‰#.þRÆ*Уãi{ÛÇl‹Õ·} Äœ±æW«jC¼ßuøMSQuÅŒÿ\íb¹ù³OY¯·V<±Õ0Ù”·Æ¹oÓ÷ž(¿MÓΟ?ß³gÏ'ðt黥üòÞ›:ßcY/íŒ[^9õWûv~´¨>ø~\vàâ·YrÓãã4ˆè1 \üyrâÙ½Õ×£êäå y߯Kܪ¯|vÌ0h¨â ¾*_wáâg•#<ÍÙ4ºËÔœ½ùüƺ<’¡ÙpnýßßN<ª6†_ŽÕXº8qÿÓãƒã4ˆè1 qp|«Ï¹þóãr@ÒEþÚ O»ˆ®þ6ïÍ“ î~.o9<©¿Êê6&Z£‘Žßg¸›Fw‘JϬYº2}^œòˆ>ÐOì:iªßšÍqooÄŠ¾!³BøäAzŒpœ=Z¿qDô°ñ[{îq¢ßÇi171717=*DgÏœbèÑÁ뉈ˆèÍÍC‡e衸~ýúµk×AÐëõ/^dYˆˆˆèÑÄqDDDDDÌÍDDDDDÌÍDDDDDÌÍDDDDDÌÍDDDDDÌÍDDDDDOK@¯óçϳD$“ÉX„?”nݺñ÷?=={ödn¦?îñMDDO¹\.—ËYúýqœs3s3s3s3s3s3s3171717= ¢{ÁP™»{gúñ‚ËõDr;·ÁÁ“Fô±ìx†š³‡Tõ`/nÿõºüÄw’JºMˆykˆ‚ûƒˆˆˆˆM÷Ößl¨Ü¿âÃä#—ÍÝ|ìë(*;•¶öÿ¾:[×á,šã;wø¾¬Ž¥&"""¢ÇØ=õ7×ìü¶ °›=ˆµÆ ?¼&9UZÌ¡ÉÝ–¼óx‰uó7mÚ»²õï¬Þ®_¿~íÚµÆÄ,‚^¯¿xñb@@+CDDD ÇbÀƒæðñ;/Ë=&…—ìÌ­‡ÈÃך¡™ˆˆˆˆ˜›ÛP<7cjÙ¦´ãÛVžÌì<&LšÖÇœûŽˆˆˆˆ~?Ë8 zqœ=FLX"""""æf"""""æf"""""æf"""""æf"""""æf¢?}AÜ__ßÄ"Ö‚ˆˆèIwo÷o>tèKF÷dèСveB'|\|ÓD‰ÌÖÙË' 0$t¼”{áwÙžïX?FÎrÑ‹ýÍô„)m)•2‰ +/ÌÜ•?gÂð Ç®°:÷‰SB}}gìÕ²DDDÇó‰îÈ3fkëÎNý•‚Ìô¤Õ+Ò ó7.W”hÅ"Ý3mÑÁr€}ÈDDD÷ž›øwîD¿ ©•[`X\``PìÌ…éêôØ¥Ãv&Žar¾Wêœ"U ""jÄqô$³ \üÑt[@È\‘TÐú‰òÚ‚Ô„¨°1}}}}}}CfÄ®?VÖæ çøúúúÎ9¦½rl}TؘÆ7 ™±$¥à£´© ‘-Ë8&42.%¯yž²”0___ß°”[è B|}}FÓB,j ¯¯oä1한õQaMK ‹m\ù•c‰Q¡Íg,I-Òß´¬+y)q76!0tÎ’”¼Ö+¼±|mAjÜœÆeùŽ ‹JlÕr%%Ì×wrR9€üEÃ}}}FåèõÑíMŒšÒ´a¾¡s–l8vå¦åêËö&D6µ/042!µH¯Ï‰ ôm3bD_vp}ìŒæ-¿¹ÌDDDÌÍD÷Hê5}Foåé»ZÒ啃±“×nÌ(ÔÛú æ#W积X0yΆT"‘4¾5~æ‚Õå¶Ó#æGŒ÷‘—ç‘XÐa‚lZvf¡Þ9`XPPP€³¾8s[ų̈Ô2°6Ý@aJFÙMs–§,da>r@*uNâœÈ:ÏÐ7çGŒ÷”¨ Óãç,Iݾp—Î'ôÍùã}$êü]KçÄçµÚ ²ÔÈÉ3ã·eÂ9`XPP€§´8gWüÌÉ‘©7VÙ¼üÕsfÆçÈf¼ùæüéÜԅI f6¶NÚ{üôñ>2ùŒŸ4iÒô Û_y…¥6'.lò¢¤Œ|µ­Ï° æ-ûxÁ„­ ²Ô“mÌ,ÖÉz ò’n\:yæê<µ®e³”¥Ì™¼pEz¾Zî0lذOÛÆ2O^rŒÑ™ˆˆŽo¦'O- ËÕy…Z¸I+{—Ʀ«!¶xC\HÓÍ6´y‰3f&å•20%̹9:Bñ¶ƒï· ñ˜1#dÉä9»Š“>NŸ¾*¤aÚƒKcÓÕøÄlø4ÔYz#Ç.Í̈ß8ÆÊ*`ºån8XfwcÖ¢Ôôr@8ÝS è%BaRæ¤U[c}ä0=H>!|£:cé"Û6'‡o,Oߘãå#mL” —fê ÿQò’æ1ÝWŽ- _°+séÒÔ€¦Ín^~ê°÷w&4µ.,4 6dAzyÊÆÂÙK¼ä^aQÎv…»rrà<)*ö×ß(CŸ“µ­è=?yÝ 7éÓŒ…é9Ǧn³ =–Ÿ#žon]ÖXÁ+cî(lÞ'ôy«óØN_·5Ê«%Jï [”±+!uöÀÖu%""úͰ¿™žxJg%¨‹tP–¾:S|bbBnÜ¡Nî5{ÉxPœ”ÒÒ•ÜÑl§Gµ-÷™á gWN{ÝšW®Ï§Ù1-¡€]HÔl[@Èܘy€ÕÀˆa 8%½¨Õ¬EÓËeÐôÞ­;u=gÏöi¬Rç@O ôn;±·ŠŠÔ‰²`ãêB@´8ªÕ…V£b$@Îúô¶½ÜN³Û´Î+È €®°èôÙjsÖ§ë夘én7šhøf”'€ÂÕÐæ¥d €rRÔ ZÆ,’µ^–PV¤$έª »1KV­Z•œ¢ä!ODDÌÍD÷G"AÐëm^z1€Þã}ÚvK{‡øHuNa›Ì(ó ´m½ÜdŠrÊnª¡/ê`Û·é ê<µ>Ī%z){ßär[9 Ó–«o]‘¶¼\ ì­¼)ºI•n2@­+»"RH=§ÊÒw•ïJ)˜å&Pv,µ° qn3ŸÌ¶íÚ%R@'±“v˜ õêÆæ®_•Úö%u9\)Ó¶º¯ÜÍËoêd·ÐʋՔ^7×JgyË–I´EZrg¥¤mm}ì^Øò£×ü%A™ Ó‹·-œ¼Mâä8pذÀÀ>v¼c17ýŠØ¬Î)+g% × èò32Ú·®m_«\ró;ä €›"  ×€DrK®•´tyr@Ú{zˆr×FuzJÑüX7)ʦNÓƒœï¢=’ÛÆÓÆæ©;jžP®Õ߲ݿÏnhªäÖÚ4VT-´Bc¹nÚD¹¬í|Vq[·[¿zã®ôüâœôâœôCæ9)fIÔgv8s3Ñý(OÏTèÔ[@ª”|z qàÝä+í-ñO-Ȥ·æ×¦´×œŽ[ÇUmÛD-u n»qEyFJaT¬—ú`J1Ð;,ð×_Î&‘HA9iÝÎX¯G+>6×F¸5êkæA(©‡ÔHÛœÎÜ2ŸÜyLdܘÈ8}Y^ffzjJjFaþ¶EajéÎ>ㆈˆŽo¦'›ö`bJ9€Þ¡v t¶ ¨ÛgÑu¡ú¦q̺2-¹ìÖ7Ëm%íÎÓ4|BfgÕ¶ƒ¦;êŒÔBmco³çôa¿>6K•^Jêbõ£ö¸‰­“Ã`n.qã%VÎòæQ0ЖÝ4ÀZ_žSÖa›í¼C£6ìMžï«3ø\u""z0D¿¼-òð6éÛÏÄچ堇ygbâääô›.R_”›¡”ã£Æ7¦Ryï ÞÈ),LÍ, mT¯Û[¨ôñq³jÝÏ©ËK/Ò{ݸXO_t0_ÐÛÇîÖî\©S2rÔ3ˣܜ[½P~0GÀmX«kâì‚fx~¼4?#õ˜]N1à3=à·è$UzT¢X—’£ ”·)ÅÁƒeÎ:?¤!ÀR»@Oɶ !?µPïÓº+¼,'½@ïa½å”^v@¹Px¬>7*¨Íßx¬U’Ö—åÌÌ|BCZɺÚ®H*×–év8уÈÍÆŒ½ÆŒ½z>ËrÐC[t,uuÂÇéÅœ¦åÓœ°ì†E$,ÊÌOˆOñù¨åfgÚœÄ ’ á¹xçúÖqº<%>%´ùNÂ(K_‘¢$¡>íåO«A²œôòÕñ)-÷oÖmˆßXÈ‚"¶ž©éFÎÛâW’€é“¨'u›Ñ{ãÇ…™ññ{{ÇinÉ•ƒñ‘ w•K†}´7!ðî“sÓhdu¡¿úþÍrŸÙ¡¶Ëwů]ÙœœËö&$Ÿˆ ;{Ž÷ANNyJâÞéÍ÷•¾r,aÉÁÖýçBÑú¥ñ‚S¹Ýú¨ûA_z°8ûðFtDDô€r3K@O„üøÉ!+šFAZµºy<¬Ì'"á£ÈÖwe³³8.sæÂ]™ñ“‡oð pVB(ÊÏ,TŸ˜%AmK8M TåXNFzㆠ›>}v› “ºE®_§ŒOH:˜Ÿ“Q™Ó°ˆ¢fûäÍù¸qÇ661tÕVÛ «“R2ór2‹@¢tò1;t ŸHDDJ§‚Ánÿã8 ¢ôÇ¢†/ÈzÇìÙúÀË^I1viþ£x÷‹GÍ•”°±ñ…’ Uâ|X)""zHx? ¢‡Í ’VçNÓÚ[%ä‚c{SR¶}£¶ðX[O[VŠˆˆŽÓ z8ùðXÂÂåÌïÌjÜ8™(ß»h—½µÉëf4ÝÇD›³:>CœB9ƒˆˆ˜›‰þ0Á°(%>1½0?§P È/Ã{¦µ"õš¿$èàÂôÂáÃS<}z+QÞxÑ&zGÄ…26s3ч6/3#G ‰­OèüÅó™šof·uÏŠæäg–Øz š9›Ð&"¢‡Œ×ݯ $""""bn&""""bn&""""bn&""""bn&""""z|ð>tƒ>û—q¯\ÚNT¼â°9Öü.ﴥϭ˜úšqÉ‘§û?·æj8µ]+÷”ëo°1ׯ_ïÔ©"""bn¦F’Οþpÿ©WêÝí«}?"÷³ÕוP=dðS®Ý¸_‰ˆˆˆ¹™~ª‹\©œo¡Þ}µ¤´Ac%[òo—ì’©ñÒ•ûº»J\;waîY«¯Þ¬›ûšqÉ‘§ÝÏTLoœ2Äü(vŸƒw©&!F“U  “Í(å’%O9IßM»ì§ô8£=Uj¬ÐŠ'®°ŸëmZ¾úüËûä3{ÖÎJ´’™w’4ûÎ ‚Ùœ/ì^°7AÍÕÍ1—Öe7Pøu‰ïæa‰òÕç_Þ÷Ôœžº}gŒ¥×]æÛǽt}Ý´²#W®g;Ÿû/§(+mü›ê¬Òëdý,c?¶îoÉýJDDDÌÍôë½ñðIóÿlꮄ°9¸èÓíŠä—º¸Ç\I;ß͵¯ ôú´}×¼c,¨kšCÚ Wê³ú=ýu¼™T5î5uùk_G˜Iõu+_¸¸p…Ù–(±×U» ·;-´¼v.îÂÜxí”MOAÚI8Y'ûøéUö׳þz~á_«bv;®ëÖpøÕó­®^*Í]R¶J«üÏ‘®NRãá7‹ÆH7ÿËÒNÂI-âVõ4Ñ.ú×+¹/==÷_ÊÃÁÕá»{ŒëÖõêåýì¿þº³Ƭ¸Š´Ã†þÏ‹dÅA¸|ùrUU•^¯çñCDDD÷D*•víÚµ[·n‰„¹ù‘%\]Я°õž˜³Ûùe{@jÒÿ%™L]{vÒ]0ê-eSý*?Ý®ŸÓ×ç«÷Õ˜Çú‰p¾õ²ÄÁ#ͤ€þ|MVtá‹fRRó‰/‰“ÿ{µ<ª ÅHKK&6ýDØgÐ@ÒG>ÄÞ¸fÓÏTrÅÒ¿€N6=Mtç¯A_ÿõw×ýÖX:Iˆü^“I^©9­·t$=äCzš÷”(pU]Ó&÷ËìMtÙÕi‡M†ø™ùÇ>íÿ€‹(*•ÊÂÂÂÞÞ^*åS˜‰ˆˆèÞèõúšššŸþ¹W¯^wŒÎÌÍK»ã›õ:5ï³N@ãõq¦Þæº%5%QRü·Cl¼ÛŽ|HL”S´FÔDÖ¼L™• ´]ã2­L›&K\o>Å2¹qxH;5þ_"íz£F¸~úÕóÁÒ¦ ÓAª­¹i.SàZÛ˜xÄ:Æ%]Ù÷KÂ…ëŽ#ŸZ¸¤[ÿ8èùòåËݺq\5Ý©TÚ­[·Ë—/_¾|ÙÞÞž¹ùñ'÷ë꯯H;#öÁ…¹´1`·ó>‘L/èôáº+ ‹e÷× +)ä&ÁÿîëÝæV…åwžQì?ÛÖ6pùêæ¨ÒØ%¿þ—Å뮪ªºã!NDDDt{–––¥¥¥w ¼óãq.d>qÿ[}Xj1¥o‡ûLÚÓrˆ¥þ«íõz5W·|Ñàø¢Ìö>×hö‚ÿ[[׊¿)‰«ÕÞæýÂu@ØüÊ…%ß ›ÔÕþA^z½žÃ3ˆˆˆè×&-©ôn.”bóÃróøf ‡Õæ¯;Ê€&îÓ: /i%¯YßîÉÒΑÿ¶Šùå…:9޳þ(B4Ü×ö™úÇÛÍŒ¹4÷ÙË®Kì;ÏŒ7“ºvßkÕ9¸ŸzÕHUV¼SÜ|YÖââ‘1×%ÒN²¾òØ ÆZ"""z"t*ìÖø¿Þ‡Ï²ôÐÝÓsOrrrúöíË¢ѯtæÌŸÛ¿‡ã4ˆˆˆˆˆîŒ¹™ˆˆˆˆˆ¹™ˆˆˆˆˆ¹™ˆˆˆˆˆ¹™ˆˆˆˆˆ¹™ˆˆˆˆˆ¹™ˆèN»oîÐqq§ô¿ÇºŠ“§}9¹ø>74kÁÐF£f=èÍÕŸˆõ;¬æ–6ž;tTì ý­pñÊ©M…¼Ï}¡NûóÐ>:¥ç‡‡èÅçžÐ“L_¾oUbòþl•F€Dá>bfTäDWyóßÑÉKã×eW…÷„¨Å †(ç9µ%~ÕŽÜÓ%A2ø“oâú·zr‹öÄ–øÄuGT:@æ8"òÃ%Áwz£öÜ–ø¥ëŽ”è s¹8*ØI @jÉ‹óößxŠŒlÄçÛ—xÜö1ÚS[Wí8rºD'@æè7!2f®¿²1,x~Qî7Ú„}¹y®ÓêÒAõç’—ÆïÈVU¸µ^í+O[²t]öé …ˈðȨ)ý›æ(Þ—¸#7WU!À}ñ7+GÊï"Û´[.@_œ–¿jÿi™£_xÔâðþòsÈ”oyyZb‰bÂÚM ]ïê™=Ú¬Ï/’}øMœÿ­o—Ø ;B¡xôŸý#÷ÿôÐ!賎^ô;¬Má?b„`óDþÆqš»ùÐ\'OýSý17=ft§÷†wxÌIžU ó4²MTP§-Š^U1"æópÍŽøE‹^W~ùU¸APKƒgŽ,NNØß6lžKž÷ú*Œˆ|?Ò]MI…DrçLÿzb®wÔ'ï{ GÅ¿.qÜ´°9»D~ã-kÌW Ç;d+}ÅáÃ6Á‘SÜeºÓ[£ç k¿\Ðí$ÞQŸDºKš–uçDÒa!±9sñ… ‡WÅ'ÌÓÙló¿]D`3$€#¦üƒÍM½ IDATÈŽ™‹Bs$­$ÒÕõ×^©Gx¬?†7WÅibl,Ë@DÌÍD¿ÚÝ?,ðn(GÆ­ÙüƒGLñ‘?mHSéG*¥(ߟœ‹ÁF{È91öÏÚ²åÜä…®RÈûÏí”ïØ6™R›»n]…÷âMKF6öKßERg¯;¢s‰šØ_ 8ÅÌI›¶*9wNs•ظ¸ºÞm¯©Ôuî§Ÿ¶´ÄYÏ/:’]±Àµ©cYáèr/)¯£6J]§,pmYIÔ©=³ö®ÐûË›—¬×ªu‚D¦”ßX•SðÎm›Š´i««ôÁJ) u ]hïÃV¡3[–Õa¹*öekd#ÞŸéï$lçÄŒÝ?+ùHyð”ß>8—g§UØLx?¿ôtãëÑ£‡­:ûo| ûùöØÖß%¨³VÆ'lÍ® s<3&fЇ€öðÜç—ÊæL–¤í½ÝFëO,yñõÆïYü>üö£V=ôúâñKWíWé‰Âeðœ÷ïüUÎífiÕ|…ûˆ91±ÁM»R(Ù—¸jê¦ ëË÷%Ưړ[!@æ8bæâ¨)MŸÌ*\¾ãåiëüÖnj½ôÅ¡C‡}áϱÉ'´÷ÖAÐ …¬åçýÑ£‡:ê…¹q;Îi“ji‹l9¢‘¹ûÛH[:,zñÅ_߯n¿¹åY[v”H\†8ÞM€WïyýÅ_\”«½s¹ô‚ @Òªw_"AIV‰ö·?DÔ¹i%²Á#½ý‚+ö)n“¢g%d+¦¼ÿå¦M_~8³¿P¡ ¹òСCß|è Éà¿=tèСC-#däC>=tèÐ7‹ÝoIæ[¢£7Tø-^»iÓç‘.ªÄ×ík)§&Lüd÷¡o×ÎÄž„„¬;´P›•xÚ%òó/7}8Eز§¢¥’§>š½G2qñÚM›¾|¢°.zÑŽ«j¿nâ绿;ôe¤bÿ¢Ew…ÛÁÛŽw×ÙrZß|hlɆ÷¿Û'}iÿ%»úö“Á7US¼uQB¶ÍœÏ7mßþåç1=$wÞWÏ¢=7+z«Î/êó/7mú<&XV¬Ó·Tx]–ëœO¾üŸ)KÛZÂ_ÕDÌÍD_ùþÄ=:÷™á®R‚FÈ8÷éÔQ/,Éd tå·ËÍ‚®BÕºdÍȘÏ×~å§Ùº(zåí3‡ Óè s’o™;jÜÂ4ÄI]…NHCÂ#¿ÿÉÚÏ?Œ!É^õúë÷r‘öÔºU§cç V€Äf䜨÷?ü|íçFú {æ-JSÿªÓ‹S½0tèÐçÿ´ôˆcÔ狇ÜExqòËC‡=-z§,ì“ïwüD‡å’Ú ñ–iö')×úâýëöTÍoß/§ÎÝ¡’ é(µõéX‘Öœõç’×VLþpñ'[['‘á î{ŒHñþ-*ÙØ˜È!®¶¶ÁQ‘~ÈM>Ò²¿Üg†û+©ëˆ`G]«S¬öƒÜ-Gtîs¢&z8ÙzGF¶Dtí‘U{t#/žâïjkëä5YqzKvKp¶ Ÿ9R Àväœ 6ªiÅ÷·ÁJ¿)Þ‘-'>êì-¹¿)Þ÷9è\¯+Ö@ÑßÏÃV©trõŸ8e¤íýÏ¢>²jÆ;æý#=œlm]ý'.˜{£»ßefäW'à™SlšObË÷¬:"›°8*¸¿“­­ë9Q#½%W{› ßÏyhG;E¯Ú²Gc33jJ'[בs"Kø»šèQÆqô‡ =ñQtBÉàÅk'¶ýƒ,QÚØØÜè·½m¬÷Ș)þrÀ52&kÿ¼ýiÅs;õY GGgd#>Ù¾¤õÅ„È662™Dr#ÙŽ ŸÒø?WwEÅ‹Ñ[vœ›Ü4ZYöçãU'líæ¹®móBñŽ¥Ñ{s>jº2Nê:1ܵyY.’’ã“÷ÿš1 R—™Ÿ|9Q§Q^—˜è¸vaË%xWÝÊi‡_úé4%Ù[W-JðX»dˆòŽ«QNüÏ¡‰í¾rk¹äý£OŽ^ºtÚ襀ÄeìdoÉá·ÚÜ*‰w¤‹°<ØfUZvy¸“- SÖHÜï®ýNi¯â”Žý›ûðåŽým|ªB?±ñ¨å+‰LAô@Ç+Õ”T oǦ9dŽî d7®ãD‰ Ë}}të!8Š}®6ŽŠæ‰® lPUèá$½÷ –*ýÂý°hK®Öˆ½å´dð'÷›!u™8ÖqOâ´©û{»{ø;ÒCy¿³è+N”Àq¦{» ´4^&“5U%'*P±uÖèÖ£ð+t€ÐA…ïkÇw´S$%%:‰£‹Msýmpš¿°‰˜›‰fhþôõèýŽQ­òœD!t8…úU8 ÍZ§ƒÌövùY"SÈ p±iŠkR…«G*4M™Cêóå—º¦76‡ ‰L!CE±`;7î«`@*N™ìæŒ"wìoƒì’–”¨üþ—_ M›yÓ1ÊÓ–ÎKÔŒýä“ðöG3Ë\ÜØ_¬ÑÃö¾SžTé䤄“«‡‹ìôó‹V™Ùx™ßíÈmäpruuWœ{ñõU{f wº÷õÞ®\rÿ+wÏѪ5‚ÄV)¤ýyä6g;Ú¬ÏGç¶÷ŠKÔ¦ÿL´í06§å :Ì»mҲ˧L´}´îæÓ©¤ÍØÇÈö†Ûê[N rï)ƒ%Ñ[²Õ.º-§e#¢\îÿÄBê±à«o&žÈÎÎ:¼oËÒ­ÉûÞÿ2î'_÷1Ëm´{×âÛU¸UU…»,i»;åÿ³÷ö¡\yÞï/³éªÉ¥H‰ ¥ Ã@=á~v¥4M¨¼ Ê،è½@|}uóÓSÿÇÓ&ówŒæ?üá¨8_9/¼ðÂ%†¦´3Aÿ®< 1²Ðn”A§ÐÙ=f.‘b‹«ZÌ'îH´Ï=ø•^GT©#ƒ* |›Àh- ÄS©éµ`B6U©×çù¦µx­D˜MåhŸY­¥8œŽ˜5ýúFª¬·MÒ¡ å [’™€kŒìèWü‰Xub»-FÒz-Þ+ßâš&ÛM2ŸçØf‰ØÇ{‡žšG¥¹‘Èk''4‰ÉB1Ã6€ XŽë7âsá¹ýÖÈ­´³‰loÒ6A“„*6²lI¦n8èã‘È¢  Š|»M R<ÌO!<—âÍÉ»‡jå¬â€^9S#É­,ËòÔM«ör^¿•k¨LÀjMH§‹æj=§Skðx…T4¡x-&ó•¢l]8œ†‘4 …|­k´ŽÑzz»›áØg‹¹µ‘NÕÀ±>œI[ct[±húNÛâ1@ûWS•ã LD7 à2ªÈ×òepGFKR!•¶E\”˜KÝ‘hŸS|nH›-4;…aZ­f\‚qÆe'çw÷áD0ÕOÙ"épšiB y('…?ì#Z«oš &¢[pIUlä[´×sÎéè:»ÏšŽÆã†ˆÏÎ`’Ð*ëzï²Swf Á˜I¹”oõMX§®©@Ü !–²e§×H Œ9»R÷45ŸÉÔí‹X·”.É@ qøëfÍßþìÓO?ýì³Ï>ÿüóÏ?ÿüð‹Ë= ´®§žzê©§žúÎw¾ógögƒ?žzê©Ï?ÿü“O>QUõƒ>¸\Ý,Õò<âþÂ裑êÓ:W“x"1_P4ÞX]¹(<ëÝI"¦üó‡h±u)‘àü7S¤q&¶îgbÓLFÖ‰8ç¿)ÁLGÖ&0“*\|_Œ±öÀfÈ=X‘@•Øðü¡¡jzóö² Ã@(¤¢»*`”ÑÙ Œu«83„²l“ÕÁÙ^õÐùŽÒ8ARŽ‹ïJ*´åõÕШTÄlx~wxœçÆ^ÉrFq@§Èrœ @ÐÖד¡Ó%ß%¢ðù†J͘µÇd©ƒD¾Ñs:´:WrØT:|3¥FYnD¦ŠÀà Ì´RѹëpxÒ¾57gh„lù¯ŽžÎLöâ©øü¾ mõ%#·h&Cë¾DÜ-‘”Ùj%ùáQ š‰¥í$‘bSþýÁ!m–ißÑ„ñ†™OÝœ0ÎÄVOxÔè¦#j”õϱ£)͹ Æ .µÏa.ûEdóàN™á'÷Q¾_yô8FÈttW”0Ê<KÎŒ›Kœóˆfby;I&Ø”W »7v~kÑÚb›1.ÅÅç9€ Œ·8·„qƒ7r£^/”qÚe''|’ñ‰@d&œˆÞ¼st4ᙕ‚|ɈÎ^U1Òl·SíD@ ¾žúãÿ8͇ÊéfÄcÕ̓¿óï|ç;߀Aóûøãºùå—_¾x˜ï¾ûîK/½„ʸØì º|=,¯³ñ?rˆõµÙ ï;Çm@ ¾)¼÷Þ{?øÁÎÿÍÓO?ýôƒ¢éfÄcÒÍÇ¥óÀÒ<Ψ½!ß0ÞïI|–-¨–˜‰fñ„p¤›ˆ/“h€D3ñM£W Î&xŒžŽ„ZTâIÑͳ*ÄW( Q! _øäÚo.),­ó­'*RñêfT ˆ¯ ´Ö@ ⛺g@ @º@ @º@ @º@ ž,”úòÕ«KU囓â^ucá•©©©©©«ËuåYæíW§ÞÈvQëC ãyâÛ¬BºEŽÍ”j¼¤FíÞPÀe]ùЯgâ‰tMT1Ò<Š-Ú§i)Íl‚Ë5Z‚¤bÖõ»kÇîë׳ 6]áe‚¶’+Îq×öÛÙD<]d ˜é@,äÔã 4WfG÷õöÍÛ+ç_×ofY.Wi ² m™ D&µýòâõhãè‡ã.å;/J;Oäj¼¨Âƒåu:ÝüJ<]k‰2ŒÝ¹'†Otrkl®ÑàEŒ±»[Žñwmt‹l¶Òh‰2н·î*<¯R.µÁtòl*]hˆ*`$cõÆV\úË¥_]¼%’w×&Ì9i·«ÔãQ¸ù…ÙÄnož×;1ÇQ«·Íù›»"9³½·dÀúÕåÙpEeB·ßr;b®Mí‹öäžÏH¦y<ÕÒ+.ÌÆ[˜5y{íÒ.ly|ïœcMˆ Vw(äÒãè]Œ@ ÝŒ@|ý‘[Ř=Cab‘K¥ü±wË¡€^>æD{dÓÃH¹D4Ôî¼íÑ€ªö0Úéut2©Òɱñ9°VF$Aİñ)dæÐúªY­¤¢‰ Fï-ô1X˜ ÀHzÌȪˆå²H9n#MÈ­lŠ ûÕíÅá•Ö˜9´0bðƫ®3óåðÆ|I€Xæ)¿LÑ**P6OÈKSHL‚ †‰Û[N-(ª ”Å2gû¬/UUI³Ûg.²»ò|™tsáùo~=²é Aâ‹ù¦¤À—«yp½kyù1…­5;`ó|ß¡Ôh¯QÀè5j  „\Éñ%Þoå@\P%J‚´Í¨Ó<>AÛoäx‚¦ÔFžW&'¾Þ´_û £/¶i¡1Yh•‹m @^ÅÒÍÄ7­cmË1ú)Ò©ÜÜÍóŠC‹C·”i€5pš4¾ÈLi>›mßX2à ™XXžèærP:9z§Ó¢9¶·2´Ö™ÆGß«¥+²1rMhô_~ŽË4|#ŠQŒÁpQµ66sÂ@õz´R Ù¤ƒáâŠâ¬<â÷¢á0’P³0_*‹Êä¡Qé÷d#´ÇìŠzç‘qÛD‰ù9®Ì+N-€<ËKýröÕS׃aÞ¹´ Ô›Ü.¡_®äaÙ1³¹º0˜ÙL“‡ç+õåëA9´j,²û5QÒÙ¼åÔôÛ96•.´$Ò8í‹  ›¿•ÈTZ‚¤F™§}‘€C‡ô‹ ×ã­A˜ákSGëJ}e68Xƒ°$ïÝ:4E+í¹ùšÝgleK-I%;ÕUI3ü.sA%ŒÓºÁµ\ÃÉßéè,NZMçeÒ„@¿UäÁ2kAÊ:Õr¼b¢Ù=cöÅó‹«¼p=:ÊÊõ)8Z è7³‰Dº"È€Q–¡ÑÒ(í[só-Ϫ³Î VaŒ¾Í-þ|ÙœoaÖUŸMåZÊÄP8w3oÌeé£Xªñ2PV_,â”J¿™I°¹FK”Æê D<£P:E.ÅÝiˆƒj Ä–l£”õ[‹þ݆'JøØF™g‘EÛyKL Ÿ¯ÉL(â«7LØŽ¿ª[ öNmP,ÞHÄ3qÜðŸµÄ_€¶1ƒ±§l H­–|ÞÓB±¥Ò“rzáÕ«SW_ymq£<Î!RËPfãpp$FBåëÒèëV|vjjjêÕ7—3õþËŠªÊ$yhTKákSSSW_]X˵û—RZýN%[‘ã$…S0ÑÙÙÙ`©wzv»ÕlNÀ}ß+ggg£þצyņJZ]Ì™©o°œäXÝ»wïîNÄEÐÍGý,o lîìílúèF"˜j*Š,ÑYßÙÛÛIzˆRÜϵÐ8¶î&Í€Y“÷FºŸXùõÁÁ½uëiËB¡nŠìýæàvÌÈs‰Bw(éA¶A6wöÖ]j® ŽÍ£Îb¥äFQ¤‘/¶TÆi6OLos\«ÛÈñŒk’·˜¢±mÜKZ0° ²ò›¡ûL¯²<ØÜÛÛŽYÅÝp8Û9ñ(Ÿfë“‘{÷îî­z˜1–í~+×À,N£ÅiTyþ¸µTi™"{¿9¸»nÙpª:hKªÔ#¾Õí½½íˆYäÂÑâ°ÁöŠq¼€¹bÛ{{{›&J‡Á w²²kug;ù:Õ8,a¥“ Ó²%²=¬Çhx«snj ’±Üè>èè­4oùÃÃÈwV]j:ÍxƒˆwØ¢Þ·}÷Þݽuß$‰ë.J,å;‡“ð,OXÝFúåø|¢Ay“;{{Û‹ÀåþC—0ø" {ó·ßÿ‡Ÿo5?9¬ðç¾÷£ë/Ÿ}òJ¢[b ²1à1à J2AB{ã5ɸºí& º2À™îœª,JÀ§3”/²"„\" c;oŸçI¬Ê’ „ëdæÓDhÛ§' "Ê NÚ<c¤ ™/¦S\0;o]Ø&Ôo¦¹9½nÕ`”Ãr “[9.•ò‹ØÞ†óáo>Vš·æüw$ ,¡Í˜íñN曜˜ñõõäXŸï¯'ª$È@ˆ³E?a …œô“6PÚY®Aö:] PœMd[ŠiÇ ž¥‘á^çòÍdnVºdH»oZàV— W…¾[§é·2Ù ¹LZ}È—/Å¥qáP+¹[«I`Ð)B±!ÓËaš0Êê"3™´À3žQå6­½Z¦–ÕÓ¤Ðù"Ó6ßqë)˜1q™4 ›°éÆÊæ˜cŒF£:™Ë Šépa³øf 0y¼æýx¶ÑŸ´i@k[\:œ(x½æ;ñ¢ 8´8t é X“1Ï`ÁGç6¯\K à0á¯eXÂJ+Ì¡Û 6 è\!on6“k{Ï\ÚÁ žÈL#Ÿ»Æ2f³ÙæpMÛô+x…+ÈödÌ=€Îº‘»™­u]®£üÓÞˆgRÓ T¬.ŠËå; z€^-ÇÖƒ@·ÀUˆ™íacÔùBöB0ÛèÛŽúê)at3âþZ~qþïúW>þÓû÷¶·2™ïÿÜÿ—ÏßPÍ£ÌNZJç…À¡GI“š‘ægµ"H€ny#ÅjÂáò‘YUpE¬ @{§GMš† +A` J¸Å˪¿>?VH”|~»ž\zëž·Y«5ªår&ºŸ¶ÆvÖZE¬ ªÜ^;îfDvd`T,¤ÙHÞׯ¬.z(œ{µ\‹°¡.‚¸?íø¶Z”4QÂéfÄ™\yöû?ú«?ç·üà™?ýÏÿ‘xç{?Òüë¿üñ¯þ[Ø¥ùý?þòNãÃà™^þ±çý~±öO/¯<>,­%óÏÏægáã÷ßþûÌ3?\ëßùå?5>ü®þÓûåßö_øá‹¸råéOþ£ùŸ3›ø‹gAúg6Ó|þ'áÀ_< jü"ùË_Ñ?í‡ÏôÎû½òü•?ušðÂslüácó³ðáïøÞÜŸÿ!ÿˆæÇË¿|>zÿ×™ò¿~ø¢ Ê¿Èü^ÿ“pà/žýøßý?þŸ_Ü{áÿ|åù¯X47·‚áÚŽ÷Ð06¸2ßwj5ŠXæ´‰s-u“TQŠÔ–€ Hü„ؼïÊFC©Ñê^ R«%cÌù@ …¦„…<©BO¡›_ö§„é俢é¬Sx =yy‡¨ê1Õ¡ôº’Š‘:íyá«ý é” …õPœe#vh‡+TŽÛ3ÇÉ?ÚHª¥² LÜÿ€TçeÚíu'ŠÍ“`˜ª>j6I†Â$ž— RxñBÙdœfˆç5Y ­¡û]Ñ5&§Ëp3NšH(ÔžG¯E¬ @ÍPUË Ÿ«Éôëë«N@²áh©ÒYЄ³Ô†¹—y^š&úbYÀ,Ƀ‰£È‹*Ãî8AC¦Üê;.z˜i¤1©ñ6JOBE’ÀÉ î”[=·î‹¸Péì.šËæºF‹´d3NOPÜÃP IDATþ"ù:ñÄ€ö> |òûíåp8/ÿ÷­¹bvþð¹+ÃIÓw¿ÿ£ï? ~+<óWÖï? ð¬é¯¿ÿôû¿ýÃ3´™”šø>þµÿ‚Õö܇Í?†þ¿ýÛGzó ÿÛ3þÝO„ßþóïþýO?óýW~ú_mÏ_‘~÷ÛÿxÎví/ž€+ÿÅú×Ïÿ±ñ»¿Òœ+íLп+ÛC^FÚív»Ýîö‡’Ç •[lwÚåtâŽD»ÝCõ£ô:ív[èÈ ÊøˆÖâ±@-•Ê5;Ýv™KdÊî8ÿÈ7­Åk%Zl*×ìtêÙ'Ó³ _ßXÙÈ«õf³šßŠÆK2ãqk½âŠ?Q£}'!rÒé)Ð+ßZÛÊ—«Íf³š»N40‹Ç>v˜?=JscåV&_®7›Íj~#šhã<¶’ßoÄçææÂÇö*íìÊ(úz1—dÊê G‹2€,ò‡)æ§ž››‹ß·/°ß<¡‚Úá›Çž8£R.Wn|Fi?Í”›ív³šÏ¬m4ϸÁí5Ëûáx¶Úév;Íjnce­ÜÒ@ab¹ÖU WåØÊ}"™¤Ihåkݾ¢<¼BÕ=ÃÖÕí¶‹,׸ècN³ZK§[˜ÙÁ<ù4ì(l¾Ùí¶Ë\¢ Ó.çC­?(B¾&SVç„~€Áâ´b¾r¸5¯Å²ùf·Û̳\‹°ºÍŒd(µUnõ@éäØÌ‘å\?íµB)ÏTÛÝn·]ÍmåÚç?nôÝ 6¼–¯wºÝv½œ½µ|~“P:™ÅŵL¾ÚlwÚõâF<-h-Þ²‘ˆn›n§]/fÖV2í±µ¯³ºhq?ŵH«ó°¶tvß #åv·ÛiVó[kkù‹\Ûrz§C _do~"jyäß ÿ©ó/¿úEò—þ©ù ÀÓÏhž¹ð‰ô|—|fäSñ´æÊ'øèòÅ5åýð£g>g~ñÅ?¼óÛëÿIó;éù—égàYûÂO¯äß¹·ÿåGÏ}ïG3s¯¼øÑÿþãNògÿß Y}òŸŸhè>øê\5¤Zž€BÜ_}ÄDn¿åÔh«ÉN<‘˜/¨@o¬®Ž\ žõî$SþùÃG´ŽØº”Hpþ›)Ò8[÷Ž3Lj&#ëDœóß”`¦#ëI.¾/̆öÀfÈ=X‘@•Øðüè#bzóö² Ã@(¤¢»*`”ÑÙ ŒßxV =&dÙ'«ÉXë¡ó¥q‚$¤ß•T hËë«¡…Q©ˆÙðüîÐÊç¹ñW²ôJÑùÔðº;Qÿañ³+åRѹ׷ –MÇýÜðÞëù¬s­n›JGo²*A›­n'G$V'æ®±I2v÷ ÅÖNnO`¦•ŠÎ]‡ÃsèºÙ7æØ‘ÆQGùv~užÃ‹f"´HDYÿœJ0ÓžiŠkaXž×ŒoaÃMfA8;bëb"ÁúçdÀ(óÕ˜çaesE",¶£É)N;ŒX!_ë$§§±lx.!c”5ŒLj7xc1¾~#Êâöš채m›â¢óœ iœ©_\¿°¹®M±\𦀑´Ùê=w-'6ªšc£ƒ.Dí‘õÐÀ*¬™XÚN)6åß—0’±Lû.°.¤³ºh–È™ã½hm±Í—ââóœ @PF‹Û†Í@ ¾žz{âÀÇïÿÃÏñÉO†ºùøúß³çû·üÊój°ÿýý·×¹ÿ¯øy~úóÿJÿá“{ϼòâïÞ!úw?ê¿üõ÷_yæÞ;/þ·¿{ù˜·ÁGÿþ?÷¶þ©ÿ7O+ù[[äï^¾ØiŸþùgŸ}öé§Ÿ~ú駪ª*ŠòÁ¼üòËÏÜ»ï¾ûÒK/¡JF ”æÚ¬_ ÝÝp<º™7ærÖñWc"Ä…yï½÷~ðƒœÿä§ñ„ñÑ¿ÿö÷?yî{÷m×{–þ!ýÑ¿¾óþGð±Ôxçý§¿ÿ£®À•Ìô6ÊÍOèïiàÊóæçþ£üŽðÝ¿ú> ð§Æ?ü_¿øç?€gžáùgÈøÜ‡åw:|ôþ¯ÿáíÁÄãÐÊb®Üìö¥×¼Ã•T‹ËŒNQ@ ˆÇ òÓxøä÷ÛËááßß}î{?üÉOmÏ|tü'äË?ñ|˜ù§µŸ}ý_ÿtî/ž€+/˜ÿü¿L¯<àÊ æïþÇ?ýç^{ž5]{¹‘a~ç“§áé+Ï¿øcéY¸bûéÜ3¿\ûÙÇð ÑÉ­±¹FƒU0Æîn]àBŽnqƒÍV-Q:°÷öÑ]…çUÊ¥6˜NžM¥ qx_`lÅõîÕèW¯G‰äݵɳANÚí*õxn~a6±Û[‡ÇÕu³oÌqÔêí@sþæ®HÎlï-p€~uy6\Q™Ðí·\ãN¶kgSû¢=¹ç3€i.µZ”úÊõ`I}°ˆFéü’&ù7g9ã—%@ºø*[Ř=Cab‘K¥ü±wË¡€^>æD{dÓÃH¹D4Ôî¼íÑ€ªö0Úéut2©ÒÉa¼ñ9°VF$A©q¿š² sh}Õ¬VRÑD£÷–Fú˜ ¬G̃Ûq1’3&+b¹,R΀ÛHr+›bÃ~u{gq8”cæÐzÀˆ ïºÎÌ#`”ÃóQ$b™K¤ü2u{mò<Á«eó„¼4E€ÔÈ$Ø`˜¸½åÔ€¢Ê@YâËÏq™†o¤C1Š1.ª6pÃÂÆÆaN¨^Vjâ¢ah %iÆðÌagå7¸ ‡‘„š…ùRYT&͈J¿'«¡=fWÔ;ŒÛ&JÌÏqe^qjqÜàY^è—‹°¯ž¢¸ ôÎ¥%¥Þävù %ø2éWY¶AÌl®. f6Ó¤ó0±õåëA9´j,²û5QÒÙ¼åÔôÛ96•.´$Ò8í‹  ›¿•ÈTZ‚¤F™§}‘€C‡ô‹ ×ã­A˜ákSGëJ}e68Xƒ°$ïÝ:4E+í¹ùšÝgleK-I%;ÕUI3ü.sA%ŒÓºÁµ\ÃÉßéè,NZMçeÒ„@¿UäÁ2kAÊ:Õr¼b¢Ù=cöÅó‹«¼p=:ÊÊõ)8Z è7³‰Dº"È€Q–¡ÑÒ(í[só-Ϫ³Î VaŒ¾Í­³’Œkõ-@Çì/J'ŸŠs^Œ4Nb‡¥½qs¾BÕZ ,¯{ˆ [¨éäöò Ó)"—âî4ÄAµbK6-€ÒÉ%™Á¢Éñµœnö9V~þÚ&rû-'º]x‚Aþ͈'E•U ) Ï— mÌ`Æ)R«%Ÿ÷´Pl©ô¤œ^xõêÔÕW^[Ü(wÇE(– ÌÆá0K„Ê×¥Ñ×­øìÔÔÔÔ«o.gêý/–U•HòÐ&¨–Âצ¦¦®¾º°–k÷/¥´úJ¶"ÆI ?6uˆÎÎÎK½Ó³Û­fsÆØ.d 삳³³ÑFÿkÓ<„bC%­.æÌÔ7XNr¬îÝ»ww'â¢ èæ£~–76wöv6}t#L5E–À艬ïìíí$=D)îçÚ h[w“fÀ¬É{#§|bå×÷Ö­§-c…º)²÷›ƒÛ1#Ï% ƒ–ׯ'‚lƒlîì­»Ô\A›GÅJÉ¢0H#_l©ŒÓÍÖ'#;÷îÝÝ[õ0ÄõÏzŸ¨žõ½U7âÁA È„'™¼Õv³dhguZ-¥kýaÂüñæŠmïííml˜()ªÔ%l¾ØöÎÞÞNÌ©î‡ÃÙ.€ÎýöÁÁÁíäÌö ¶hF nF ž º%¶ ½ª$$´7^»úêJU%HäîyºY•E øtFrD6·×Ci?ÞꜯneIBu² W_YÊK˜žY”œ´y±ÕõíÍdÄŽÕ¸`0Óù’¡™æZä´ÏªÀ(‡/´šÜÜÞL,j!åæ{¤›·^ššº~3^¡C›1Û,âÌSSS׿Âwˆ×דc}¾¿ž¨’ i Îý„5r´8®ÑOÚLPÚY®AV&½Nor¹’m)€ó¡VRªÕ¤á4Ê*ýf.Ŧ+-iä¡BõÔGˆšÐô椙Õu‹^ƒ+͵Y?ÞšéfÄ“)š›[Áp mÇŽûh \™ï;µE,ó@Zçéfœž¤ "ˆ*pP¤¶Eâ'Äæ}P6JVôZZ-c&ÈR(4% ,äIz Ýü²?%L'7Mg™ëd—€Ð“—wÞ€ªS(J¯+©©Óž¾Ú¿­îBa=g™ÅÇ(JÚaÆ •¼¸èKŒ6’j©,(÷? Õy™v{ƒ]m}±)Ý'é0L}dƒ&ÉP˜Äóò Aª/^(›ŒÓ ñ|£& ¤5t¿+ºÆät™àÎaÆI …ºØ÷è5 ˆU¨ê’k™`(Lâ{8E^P #Mœí ƒS4dÊ­¾ãä1ŠXåUcÈkô:Yäó{x’Aþ͈o3J;ôïÊö—‘…v»Ýn·»ÇEÝc†JŠ-¶;ír:qG¢ÝCgGPzv»-tdPe?|DkñX –Jåšn»Ì¥ 2ewœä›Öâµ-6•kv:õl‚ÈiYЯo¬läŠÕz³YÍoEã%™ñ¸Æˆµ^qÅŸ¨Ñ¾€“9éôè•o­måËÕf³YÍÝ '˜Åcë¤qz•æÆÊ­L¾\o6›ÕüF4Ñæ˜,ôñ¹¹¹ð±}J;»2о^ÌÄã%™²:èã‘𢠋üaЇù)„çææâ÷í ìwO¨ vøæ±'Ψ”Ë•ÛŸQÚF3åf»Ý¬æ3kÍó$np{Íò~8ž­vºÝN³šÛXY+÷€4P˜X®uèU9¶rŸê"iZùZ·¯(¯P5Fϰuu»í"Ë5.ú˜Ó¬ÖÒéfv0ã<·aGaóÍn·]æ™v9/{ýAct2_ït;ÕL"-’v÷˜ìè§½V(Åã™j»Ûí¶«¹­\[ÀIB±Ñ¥[d¹Ö}¢ ¹Qlõ”G©-ñ-Ù›ßf¤Zž€BÜ_}4:HJë\Mvâ‰Ä|AÒxcuuäZ ð¬t'‰˜òÏ>¢uÄÖ¥D‚óßLƙغwœaR3Y$âœÿ¦ 3Y˜pÀLªpñ}€dìÍ{ÜM%|±"*±áùÃñ|zóö² Ã@(¤¢»*`”ÑÙ ŒßòV =&dÙ'«ÉXë¡ó¥q‚$¤ß•T hËë«¡…Q©ˆÙðüîÐÊç¹ñW²ôJÑùÔpüNÔg˜GüìJ¹Ttîõm‚eÓq?7¼÷Äz~ë\«›À¦ÒÑ›¬ @Ðf«ÛI€Æ‰Õ㉹k,A’ŒÝ=C±µ‚Û˜i¥¢s×áðºcgžŽ¨£|;¿:ÏáE3Z$¢¬N%˜iÏ4ŵ° x'hŒNF·0kˆy<Ç k±u1‘`ýs2`”ùÆjì1¸íh&#ë¡D‚ zã¨o)c¶ lŠ‹Îs*`¤q:dÅ@7‹4£‰Ù©8ARæi`»©à¾Àt” Îî:‡@<…fЈ¯ŠÏ?ÿü³Ï>ûôÓO?ýôSUUEùàƒ^~ù勇ðî»ï¾ôÒK¨$¥¹6ëCw7Tñ0¼÷Þ{?øÁÎÿ òÓ@ ˆo¦Vîsåf·¯(½æ®¤Z\f$šâq‚ü4⛉*ÙDJT0ÚêMFȃ@ nF ÄýàÏÆ¯<¨âKùi @ H7#@ H7#@ H7#@ H7#â+@ißzuêÍ|ï Èj/ÿæÔ«·š_ý-ýêâÔ€«KÕKJN7ûÆÔk™Î7¹~úå…©«Ëut‹â:Oñ­Ý"ÇfJ5^R#vo(à2ŒŽ¸í×3ñDº&ªiž ÅmƒC¼”f6Áå-AR1ëúݵ‰c—ªõëÙ›®ð2AÛÉ縭ûíl"ž®2Ìt rêqPš+³£ëïûæíÓ¹··õ›Y–ËUZ‚¬A[f‘…Ií`äY¼=vÇòØKùÎÉ£ÒÎĹ/ªð`y1vçWâéZK”€dìž@È=1|¢“[cs/ª`ŒÝݺø…J{k~~W8–“ó*åÒKuéz¸vüFìG¼®³õÚÍŠkïmîkÖ-pbÂ:­£±oH/îW¯G‰äݵIü˸—s61¸¾£ŒV—7à™|Øæ ™Ü88¥ºt-ziéÃhë´•&óknþŽDûvÞ~ —>"H7#_/äV±fOÄÇP˜XäR)¿DìÝrh —†9ÑÙô0R.µÃ‘AU{íô::™Té¾!$ãr`¬Œ$H‚8þRã~5dæÐúªY­¤¢‰ Fï-ô1X˜ƒFÒc$"–Ë"å ¸4!·²)6ìW·w‡WZcæÐzÀˆ âƖ˙yŒrxc>Š$@,s‰”_¦n¯Mž'xU lž—¦™ ··œZPT(‹'dÎ&ö¿ØPÍ%Jz‘_¢š4‡¶·eYÈFã%&²îc0‚ú–ž‡¬s,-£·ÃÅ`B›£*6òi.|³ÛYûú’­\Xž|¼†!_‘H†òµ®G¯C­@ºñíFëXÛrŒþcŠt*7wó¼âÐâÐ-e`Mœ& €/2SšÏfÛ7– 8h&–'º¹œhýF:-šc{+ÃqÓ4>ú^-]‘‘kB  øòs\¦áéPŒb †‹Ú`qÃÂÆÆaN¨^Vjâ¢ah"iÆ`¸¸5î¬<â÷¢á0’P³0_*‹Ê¤f²ÒïÉ*Fh5GQéGÆm%æç¸2¯8µ8nð,/ôËEØWO’  ßdãc(¤ÆÃñ ¾\á¬Ó0Œ8^žÝÜsiÆg—rw¢JoÄ’‹£¹D¯º•Hí×D€ Ì3±Õ“fd¤nnŠ0'ïnLjúÍL‚Í5Z¢ @0VO â™Ð@¿¼p=Nøn`ù;AÆèéÈúò‘Bë׳)6Sâ%’±z"1÷ uG ež Dmº1s’›óû"ÀƒÆt¥“KĹ/`$cõ­Ž_L¥SäR܆¨F™§±¥á¢M¿¸p=EÅdŽ»ÓT ìÉí•IÍ™ îæo%2•– òE>&Þľ6pb9¥WÝJ°wj‚ eñF"ž‰áŠQ'Ÿˆ³%^Æh»×¢>b« HÚ`Ð fJžr™¶u0[==v¥º|=,NϵRKT ãt(¶d[ŽG­ˆ ­ÞHÄmÒt³oÌ¥›·—‡í~uy6*Gö6ZèæÞœKñ”oçWG–àsZQ¿¾ï6$ Í7ÜD“B··ÆNÄbEf¼1G6œ¯uÝ®AFÎÎc¯¼‘H—GË{!×Ñ[é¬6   …5–+ð÷5û³êøjAþ͈'E•U ) Ï— mÌ@ýà”©Õ’ϵ¼[*=)§^½:uõ•×7ÊÝqŠe(³qø¶'FBåëÒèëV|vjjjêÕ7—3õþËŠªÊ$y¸B«–Âצ¦¦®¾º°–k÷/¥´úJ¶"ÆI ?6uˆÎÎÎK§;Æ*Ýj6'`Œ¾ˆ€ï‚³³³ÑÆÉÔöël¼fŒøÌÄ׬ñH•²Ö·ý›ƒ»ëvq?Áµ•¡”IEwEklgïöÞΪo(7,ý¿;¯S@ûö6†J[•z¤Ã·º½³··1‹\8Z<,Nµ–W]ë¿>¸·í…B*UíÄî–?ÈòŒo}goo'æ¦{¢<Ї™`0-["Û{{;IQІ·:ã¦_‹¿:8¸·=CÞÿMg?šªQ¾Í½Û·w6#.Óœ8zŸ?^À\±í½½½Í€ ¥ã~ªr%•÷úí{÷no$vN‚Y£'²¾3ü<Ʊuppp7iÌš¼wpppppä¹sËF¾³êRÓáh®;(-.˜¨Þõ½M/‘ß.« hÌN#ˆµ–t^ìÀ—d׿¯s° KÑèXän6Þ-±í½½ÍóÁA“ÐÙ=F¹’m)£Î—­ÙmÑè\oìèÓ^§µ¢^1Þ-‘í½U‡©ÈÊr§R)§Åh±’B¾q¢ÛŸšGYÚZßÞÛÛY÷ÑT0QÓ† NW ¾õ͈U.$† >¿„¤›ˆÇN·Äd£×cÀ@•d‚„öÆkW_]©ªI€Ü=o0QeQ>‘‘ÍíõEÚ«RTY’ÐcìÂÕW–ò¦'@e'mž@lu}{3±c5.ü"»{úÍ4×"§}VíÀlíð…V“›Û›É€E-¤üÑGÛð¥4o½:55uýf¼B‡6c¶ XÄ;™7¦¦¦®Í…ﯯ'½œÛ¯¦â s$0¡ùÚµÌâ1i4F—•”Z¼<Á¢J0“f½N«ÓO8ÜnÓØ”km‹KnÇ„A¯Ól^¯ZEáPm½žI-n°;iy4Åê7ÒûH.;'ô:~¹°`Ó€ÒJgshuÁfÐéô®—J¹öÃm±RäŽ䄍Ójõ†I—Û1¶;…t¬±˜ÇfÐét›{Ñ}rɃœ‰,Úô×l6~N‚qƒgiÁ9iÒëtú —o†’j éü¦Rá ²=sOt:ý¤'tƒlek]…Kl IDATÏ$ÊrOèu‡/`½W;þ^95zçâ¢Ëf2ètz“ÓçeäFYTÎkÃoÀ=iЛœ^75´,Œ)aâ+ùi žúõ[á”`m»NÊLKQy!㦠` DÜ“C R-ùKùÎÂÀü¥T—®…k@Ø×o¯œØ·†$E†IÃãüe0Iq6œÍµo ½•íF¢^ßþÕ‚á¤ÀéäâáéÛ Õ%npy £°L˜MdJ]§û¡Å+Îx×w\²Ä—Ól*ÌÒÛK‡2v°·éAô3É‹, µ,ËES¦íÛøU­ë­×É:*' KlgBðµÛ_OPä@€á*Vÿµf·á9Þl1'lÎéIýX[{·¼‘â 5áp’fVU;\BÀ TUUpx^%-æ,ÄR‹—U!~}*~¬©QòÃÖºkš.°s¯­f£iÒ1í0©CE¬ @{g 9Œ™¤.šà~3—bÓ•–4òª zê¸ÈU¹¼vÜk‡ìÈ `‚ c43ŒYCORк4á<6öaâéQe‘vyQ³Û…"6% 'FË:z‚‚LST\Z\kñX šmô'mj-Û¬ë‘ͧ´"ElJ@9éáÓ$Í Ž—Í•œ@Y­z ,˜oôœ‡ž§æQéäÙTºÐG•G0ƒ¿ÎjÃÃ60 ‹ ˆQ‚Ï,a¤›ˆÇ-š7‚á:¦ç0’%Ð{6Þöô«i1ÎØD2ÔpìÄI QŽˆ¸9²³#81‚$@쨺…µ·JsM‚"îñkè j¡¨ÖZWwvÔa2ïÛÃÞÍÇý¬4½¾î9Ý›™`Œ$”:’º‡_p­^¯½ÁÄ­ëQ®âÝ{¦„F§×€Þ`0’íÙ WðÚbï½"”’$¯?Ú½9Uºq´ûñÂõ]]¼~Ü9ú&´÷–ë2w7霷n[šµJ£ZγáÝìë;Û çJçN6½Cø’{3:ÍàGqÀ%g¶÷– —!%pÓâÛw]õZ­Z.fãû™âêΚí‘üI1»`‚ûÕD8Å[c›«Vƒ‡Næµ›¹ D@öÞ~`~Ø8Ú±‹ÁåÙ›UI’Ð8ÈgÅ>˜ð©—£Æì¶bál­ÇÈÙa1_¦hìÖòˆ»7§vGŸäZ}Çhýé´ m6˜(Cë·§MZzù7gÙGIÀé%Œ@ ÝŒ@<^ÑÜÜ † dh;vÜ@ÃØhàÊ|ß©Õ(b™Òj@¬ŠŠMƒ(B]júØÀ0U>\`”£‰„L]l¦…¾Xr{0ntÛ‰`6›•yj:öÐ$œ2‘P¨ }·N’ Ècç½Fž'¬±uƒÈ„ŸÍ5ú¶¡p>%r«%‘vï´I;,zil>3Áäù% ý^WB§ýúùt!¾í ÿfÄ·¥ úwe{ÈËÈB»Ýn·ÛÝÁFÝc†JŠ-¶;ír:qG¢Ý#ïL¥×i·ÛBGUøÃG´j©T®Ùé¶Ë\ª SvÇùG¾i-^+ÑbS¹f§SÏ&8œö˜5ýúÆÊF®X­7›ÕüV4^’kÌ Ø+®ø5Úpâ 'ž½ò­µ­|¹Úl6«¹[áD³xìãB85JscåV&_®7›Íj~#šhã´èŽ)‡øÜÜ\øØ¾@¥]E_/fâñ’LYôñHxQEþ0ÅÃüÂsssñcûq­N?‚¦Œ¤ :Íy ¾äÖÒí´ÛM^R/G¯¼±‘+·»½^·]É5d‚9~š.IS +Íž¢Œò‘ ¥¶Ê­>(›¹À®5Ù{ƒØð­|³ÓívšÅÌVµ¸ÑwƒØðZ¾ÞévÛõröÖòÆÃÞð¡´3·¶òõN·×ëÔ y¨ jŒJÓO{­PŠÇ3Õv·ÛmWs[cœ«ÏL0i 0±\ë*Ыrl徉I“ÐÊ׺ý£‚ÔZ¼3d#Ý(6;ÝN»^̬­dÚ Î¸§)>“©÷”n)]’ïW¿÷·á1È’Ði×ËÙµ`¼†Y~NìÃy@!•®vºj:uG¢]NýñÙ7 ­l¡ÙíõzÃÖ¥·»¹àÊín·™gS50»­£N‡3.;ÙÚÝNó…ÑZ<–Áë®ÛmæØ4?ö‰^#ׯi1 {¤ÉêbÔF¾Õ?;MR£&(Ðoî³il>ïÕy^ ƒÒLÝœ›ó³/}A|CAöfÄ·©–ç ÷.þŽßÒ:W“x"1_P4ÞX]¹(<ëÝI"¦üó‡h±u)‘àü7S¤q&¶îgÒLFÖ‰8ç¿)ÁLGÖ&0“*\|_˜bìÍ{ÜM%|±"*±áùCËÚôæíe†PHEwUÀ(£=²UÇYy$ô˜e œ¬# ¬‡Î_(Å ’r\|WR€ -¯¯†F¥"fÃó»C7J.8Ï]èJ–/–àK•ÍÔüèÞ“ZÂ_»@|6åOI*ÁXÉÐqÛ«ÆY£¬–ƒÑ9t¸Á ˆñðõ«AP·×Ü¿”6×µ)–óß”ÚêÝÀõÃσ7%Œ¤ÍVïù+ ÇÏuƒÄìTbÔŠp#äF:º+ÊežŽ%gÆN¾´ŽØ&°).:Ï©€‘ÆéõüþpV‚qG$V'æ®±I2v÷ ÅÖNäߘi¥¢s×áè:ÍÄÒv’H±)ÿþàä<Ë´Ä7ø’)½ªb¤Ùn§ öHÍ‚Oùoî=ñ&WG÷žœ;o˜ùÔÍ9ãLlõ„Ï’n:¨FYÿ{t4¡ÎLöâ©øü¾ mõ%#Çnp¹¨}sÙ‚QêË׃£ÉwsŠKòÞ­sî…Ñ:bÉv4Ÿ/i¾á¶œt®Å¹ßȵ€‰ó^×”šÎóʤñŒ<â¡ØëÑ„ÿZ#IÚâö2­Ì¸6|ö«óÜF ¾Bž:šÀçãÿõ‹åíßýÚÏÿû³ÿû?&þïé<ç /ÛŸGЏ8ŸþùgŸ}öé§Ÿ~ú駪ª*ŠòÁ¼üòËáÝwß}饗PI"ˆ¯JuùzX^½»1yYþJ}m6Èû.Ó1¿_^šM`ÉÛyíæåçøºðÞ{ïýàÿ?{ïœÆ•æ{?;‘Ûi2q;“mî8ð: ¾4“ §^`+ž’ì]aeŒUcìJ°ó^¤ÙAÚ-ÄV!ê®Äî•©ºµ#‘‰÷¢ä•ñÆ_47F5ŽH­àV ë‘»âyéÉâ„V&ôDî–’}ÿôËúe[I<ÉùT*e5ÝçWŸÓç{žóœs¾·ö=wæ§A_¾öIII߸’,¢’F bsEx±›ñŒó*£únE3—…"é\‘+æb#Þ8¦2H‘õ¸îÀOcË®-7é·®}¢T>Óo'‹ ÜQUü°üãÌ{aŸÿÒÕé9!µïYãöðIâþÞw}W£qwâgQú&÷4žzNóHõŠ70 ÿ«?»rýfÕö=4piìªð[çÁ0óÛ·~vîRòzq®J¸[sÔxðñÐûû*™™­ÞZ½Ö@Ü…p{“+ƒQõvëÝŸíͳɠÛí*yÕYû­5ÈXŒ@Üw`o&vïµ·è€ï$¦R쬨ï™wöJèj‘jli9ª˜¥/¿êK|P]U×™Û×l|†ª*^;wå“Unþ$á÷]¹~sǾgw]ýÅÕ9Ø3ïø_|íí;¶üø”fûµ7Kw#¾:ÕüÛ‹žÞWæ'˜½ñÖK®¡K7fQÉ ˆo*‚ÚÓoLn’ƒ¨áåÉÉÉ7Îtê6ÁCCXÓ1ô?Þ˜œœœœ¼ør·^&¼7òˆ@|#t3ì|R!:òÞ'ÌÕ+Ó@=¹gkå—ª]ßoù«¿úëç5=¦Ü'©˜~¯XR[ö66>µWyàÀcU ==»âͳׯ\ØòÄŸÞ«<Øüý¥pa&{99[”÷=&yüÀEÕܵÈ5$œ¿BªÑ¿p.½’`fgo¼õêЛ[ž=up'27#øšr'ûilÝùäž-——“ æC Žî^»XùéföÍs¡äõâÜ ÃÝÂj€­Âª5nž)`+QÊnÝ.ø`¶X€›W^ì¼R¹u:[œU>€tÚWñÔó-ðÊЋÿð‹Ù¹]Í?>¾9Î @ºyéC»öíÝråÊ¥K»ŽîµòõO’þso_ßòÄsÿµyoõ{/ýÝðÕÅO-S¸Åo®n€¦°`æFeÑaµPXPõÄs-ß/›4«ª„B$šïé\}ñr•ú Í@ ¾ÞÜÑ~ÕÕ»öíÙÅ9صoÏb¹43073}=q1”˜¹AߘY%”o†]OR7ßû—wýoVÖn•ìÛS7¯^¾ÆÌ³ÿK/ù z}÷„tVD¢@ ÒÍ«)ç]OïÙËeóÊF5µåfòÜ‹¯Fª¼Ð¸»jîÚkç®L¯„på›ç”Æ£O쨺~ùœïâ=ÏìªÜ¾uosK£B˜~qè\bf—æàÓ s3@Ü.\ºï°öd¨ð Èj!tR{¸ïNOQÜDб6m‰ý±MJN.p\{™‡@|¹ÜÖ¹'_³3ŸÌÀløä_þáïÏ]ßõìýë§‘AóëÇ—pî —›ðz|áx†á#äu&«ea%yqÊçtÄóc³߸ӎEwzHWùCaÏFOœ e8H¹°/ê^KƒB`¶7†Oé#2kZ:krÁ ,Ñ”ÅÄÈH^Ùåï.÷›Š ؃â#QVn·êkD»9Ôìõ%ÌŠ‘RÙ†·QÈZæs"…Ø!G4žo“• Ë%•É6nÂZ-™¡M6‰59~*ÉsµÂJÈ\±Àò..D%iX0n+È|¨ÙÉp "Á: ^)¬µ‹ r!§‡7ö胭_ŒnX"À 0|qyæ‚Ç›G¤æ:&8–Èó¸üHWo[%Q…ØË}>žçpRÙØÕÓ¢—îk>5VZ€ámÖz*&òbÒçò©< €KÕF‹ÝX#€b¤å7ÁBcQšÅ¨z{ç‚B+NÜ_8ÃRµÑÞe(¥na#•{›fmË—8qê|àVc:— ºœÞp†À©Úܳþd pÙ ¯Û;–Èó€‘ÊzKWGÙôYœh9ä&»,DÐ;–`x ëz‡»k…«&8êsù¢)š)d¶[tbA)gùmÛh–L§bC.ÏXœf#U&»ÝXSž1ʆ\NO8ÃbTIÅße­À J&Êd5J’mrx}iuið·rì\¬ó-_߈Çé<Ëë­]šuËq¡á”Úd·B€\àxóˆ|ðBgyäXŒu69X»@'‚\ðd³;@šGÏçÕµ¨85äpžM0@(ðq/c½0´Æ@()}›8Ç[þ}Y)ÁÜTw“-#¥˜D¯³èyŸ7ÊJõ¶TÒ¿b.D\#áÄÂŒ U/¬Ù‚ˆ¯˜oÝ{IÚúØÁþæï{{{{{]­?Pȱ)p<ËAÅL„J#-}†¤F L*Å®õ4=‘â©Zv¤åð~íþƒGÛ"¹õ"ÌGh •òrçDÈå8Ÿ™š_Ïšr6iµZíᓾ©Û<­žçY‚ÀçÿÛhµÚý‡[NÓÅM)­b6ˆ2¸¼–,:8šššÚÃ+;Ær¹X HcRÍ ¶óå (Œ·7559Å W.èôò&{=ùÕT&™‡ß˜|½¿.ÞåMse)ãvœÍ«»Fýü£=æÊ|¹@Öñ?&''G‘@™ý“““““óçDðLЙ{†Gýþa»2ïµ9&æ‹“‡x}ÿÅÉKÃ&w»cÅŠØjm÷d¤æþQ¿´Ë@òlIúÚÛGX•}Øïí5âa‡m(»Þð«íÜää¥áFbù/Ùówœ4ú/\´ëØúeR˜p¶:Ç1}×°ßï´h°<³Øëºƒ`è¿péÒ…a‹ŽÀÖH0Ç2 7ÚûGË×­¥ê†&''_ïU¦î½49999YÍ\²¯ÕVŽ|´GÏØÁ\©´¼í®(nêõšðÐyz³ª€PÙ ‡|<Ŭ;d¬~ðâ“£"ìp¬ë€œ Ølgóª®a¿Ð"ÍxÚKUB\g”³Ñ@Š«4¾@”•@¬yrrÒo¡Vú8¬T‹ NÛÙ¼Ê>ìíÑѾ({7%±J‚€ç¥–þž:6ì™Pô Û•ù1_)ý«Õa`Y ôÖþa¿´ßL%Üí®©âÚ-@ºøRÈ…=ã¬Üd” €gXœ€ôÀÑý‡»c:¡Vʵºzb7^.?Ee’¯*ä0i-¹Ñ“A·g$šb*^d_/ržM´XìfDdY0šf1JZŽYHÕ’›ç­{9ñTåe2Îfò¬^/¸|’ª¦2­#¤jHð%óœ^$©Œ*pÅZ ¤0uÿFdó µˆË' ¨òÓ%Å!ÇëU\†•þa˜0¬ÒTV«Ã\6äqŒ'ò•÷Ky@ nF ¾ZÑ<Ðn SÖEz#p–‰qàŒ aãë›)Yî;„Œ€hž)÷ˆ¥}t”-ßXéQ0œÀ!ŸåÅ-§Ï4pÉÓ,à$¾¼R5$ÄéyQ-R÷ŒŽòåd.Û#r¶z˜úþ~ãÊÞ̸TN@8Ëppç–YH"D¦â©CoÔ4´îžB±D™LN¤›Ú½ã&ͼÇåz ^^Â+›šÈ°O³Ö3¯íVÙóúÀÊÆðb¬í-±Ò/R«ÿåMUß↾ ªd<šˆEBÛÙÀ±Ñá–5¥s6`sŒáæ^cXXÚÂãndÑ8ìïm†^ h;óº~*E&Î󾉞ÑÓw·O†cLp1æ²¹3ê®ÁµL$€¬ïè‰à" ,þ3·Œ +v1Ø<{3Ï0,à\ìj±7?ÄÞ „Jƒ³â)HáuV©àköiæÒžvWXní¿P¯  :ÙäAéfâ+ÍÉ¡vÛ8aîZì? ”j(ðF2Å‘€ËG2@¨åkéfUKB”Îó ǤÀIB°Dl.{„ÔPN¤ “J±˜´æ›K‘N2€«ˆ¥*tr¡ÎV7]ß;ضª;KgÀ%Äæõ¯<¿Hp…Ãc„X´Vø|‘ßH‚o kÕâÖõŒÊ+a2QG»³v©¥«Âjfñ/H¡Ñ+4ú# §›Z£q¦E2_Ï„üRUÌGhLÕ{¤¦4¬Égò<ëic©c dKU!§V¼~2MR£“Ôè †Ú“MîÍiÖzϲ†_$UÔmÔïtÕ3S–2˜t²ÒÆŠùäR 0Œ_ªED c‘TÁ ^ÖêpŠÂù ÍB¸|2 _³ÞmøK’¦€hT ÀV‹½D>–ç4BGOå¬_´D0Œgç'Jå¨ À7•çD(æ§ò@Ê-X 7Ôáí@€Íõ]w<@ Ƨè¢A,†¦Ù;O¬šàüí×a6•bˆ:S½BT~[˼snmAÄWòoF|áÒ¾öÖ³lÕ$eét:N§s¥ÅVâ:£¢nÏD:›ŽŒ¸ÆÊPñÎä Ùt:MgYàY:3ÿˆHeTAÜí&³¹tÄëgÉ:ÝÚ«ÔD*“OyÜÁd6;pyi¢Þ¨§º‚±©d2r8ìԨ_§S,Lt·ºâ”ÙÒ€çK9É8(DúN…"±d2 öÙ\ Le¬[#„óÈ%ºû|¡ÈT2™Œ…®HTâEÊÁÙÜÜl[´.Kº+ÑOMøœÎ0KªuÔZ ®ägÜÖÜÜì\´.pÕâX2E`8IID›n{ãrÙt:™aø¥/~­—FÒ¹B!—Ž,.¥½Š„üD4YXØ%#¤$ŸŠ¤ŠÀeƒßV­ •¦#í±õ…’Ù\.›œð Å ›P´Çv:4•ÍåÒS‘@_çÀžðÁ¥}}C¡©l®PÈN‡h kÈu XRoRCØéôÅÒ¹\. ­ã\½j‚ ‰å#ñ…˜×]¦”Š€T(ž+.¤Hej$.ÇÀD2›Ë¦§&|§»}i@ 5Ô“ŸoªÀåÂ#av¹ú]^‡×eèlz*8ÝîŒcj‹Q&X#öò8`Ü=]·` IDATËæ²±÷Cé$‹GߤãÉ\¡P(×.IAÊŽ»¼‘t.— yÜqPÔ•F'êëˆÔÙóô’`n‘ʨ*}îr¹dÐ3’¹›v²f‚o¯ã…3‰8Í@1yÞ3Î,{ñ·´ â+Ù›_g˜x(ãÎÖñÊ¥Êö[¢†žÞ¬Óå:5Î!?ÒÓSq-à2žÖÊ™$ywë©ùGDº®~Æåò¶žpòÆ®~Óz a­½ßârz[O°€Këíý…0c¢^çy¶dŠ©³ Z ëT’™ˆ2À3Û©yËZýà…N†=îvœå#åuöAËúGu¬–G\‚Ñϸ—åK›‘Yú­k;J pg‚^çY†œRë±¶” ò«%XpÛÅõe ²îS•sOâ®ÖøÎ=Á0ÈÜ­n†À¥jK¯u±íU¨²XÕOk“*»h d¦.KÞi;´ÃqRe0)ëÏK d-ƒý"·ÇÛz‚À)µ©ë€@R¾Þ~‚ÀJ©6­=Ó°x_7p5i]ó/E€álbÄq6Ï`¤²¾«·qÝÁ—H×5·×qÊËFÈë­êµ_×j èì]SNWóNÒ:C#é‰/É¿ÑÒ˜r;šÁÂ>tšŽá^Üíq·ž/휧ª7È̽vÆéhÚÏc„²®Ž„ø]U‹Œ»õDéÜSoOåÜ“UcùeÆ}¢9¸¼±«Ç¸¸i‹ëí–˜ÃÓÚìYØXMlèí-8ÝÎSçyÀ(µ¹×¾¨Ò dz=yÞ‹éë‚á¦:µWÞZ/¨z/­u˜ŠH×Õ›v8§ÆP1¨q/sçç•ÌÝAÔX»Ž9\­F0‚ T“4åƒ5[êÔ_9·w^àä—8û‰øz ÕjWûéK8/@ ¾ÄÁW¬óíÙD…ÇMnjϘ7Ó1¿éhra½–œ…Š@ 6v^ òÓ@ âÞáÅBnjÄ3ΫŒê»Í\:ФsE®˜‹xã˜Ê E¢¸Ÿ@ ÷…p{“+ƒQõvëÝŸíͳɠÛí*yÕYû—î ‰@ 6Ì!{ÄWòÓ@ q€ü4@ ˆÍéf@ éf@ éf@ éføzÁMuï×¶DŠ›dçþý±MYà]œhÑ<ü’‹cmÚËó‘:Zþå¸/{'AB'µ‡û’hõ;@ºX_Rä&:OÞ¯Õjµû·œ¦ –┯ãè~­V»ÿpÛ@dþÜ].èn;~x¿V«Ýß9µ´Ã-N:OÔjµZíÁãÝ¡Ü$A:Ðyü V«Õ¨m™ØØ{ÖLNN^êUÝò‹¤åÜää䨙Dß2qo€öoF|aS)Píf)‰å'¼nw+ƒûût"(„6o¾Î>h”2A—ÃÑ.=c”Ï0ªÁ¤ËúÜáejÎ×Úî…:KENCç±uª-Æ\íž„ÒÚߣä£n‡«£ü•³£¥–~»/É‚ZGªpùH$O6X r gS·ÇÖʶ•úÆ”Ö~‹+‡µ¾ÈX5€‘:S—™$pÈG¼.w+K^8½æÑg<£ÕD‘80 ŸËÓnÃ/ -:'¸ó¸â$ÌÆ%WÚë cüµ¬¯Ýq;Ò3¬'iŸÃisHü ¢/ Æä¢A—L4D[d²?ˆ“!}gçf…¥0v*Ðw@ nF|éNé*(ìÙ艳¡ § ö%@ÝkiPÌöÆð©@ }¤C&aMKg @.„%š²˜É+»üÝå36 / ñ‘(+·[õ5"‰ÝjöúæŠÅH©L¶Ñò–ùœH!vÈçÛd’Ò‚’ÞŽÊ[-™¡M6‰59~*ÉsµÂJÈ\±Àò..D%ih‘̧‹Ì‡š½‘ × *ßPŒ¸Ý™º.S¦Õ±\8¯@1éqFåV+ï´%”t @ƒfL2‹u"lóçŒâM¯0¹x(O6ößÄ|éæ|Ç›T£<ŽgX Õæ.»A!,%Öçò©< €KÕF‹Ý¸pœD1ô¸}áTžœR5Z»ZæËGûZ¼c)#Õ–Þ.½¤TÅ©€Ë3Ͱ€‘ÊF‹½M³N¹©î¦ö0  ê½ÔW»P’\6èrzÃ#¤jsOwÃ:a#m‡ ¼~ðB§B°Ç¡vÚd¦&Ñ ‹Ìå&ÿwØv`㮢˜¢ .¯%‹†ަ¦¦öðÊ\.Ò˜T3o;/L¸Ü™:»‰ZÁ0_oojjr$–¦¶8åqÆåv³_|•M¥˜W(ÕP@Ç2_€¯F!¢qµN©j òáèb&šRØýoL¾Þ_—÷ØÜ±RäìÈÔ ö× ³ù†ÄB"˜ÁÕJ Æu”;Í%•w‚©Ì2!(Œ&åyg Q¬ÕA¤ië¨<,6™”cÎ šÓ‰À¥}#)âÈp—A&±X²xz‚l´¶h$2“Q:æ‰å9R#>Zi½Ð¢€Xo5›|Á´©íNì±›e€Ð«b€H$‘ÝmÁP³N,Ôé¥nw,ÏéD`³ àj•\"€H$–Õ¬ޤ¡­­R\b³)0îä¹ád±õ޳u½]†ˆÖ#ÁxN¯'2q†4õj$³ebÜ–B?±yºY«Õ¢R@|%¬xÎöWqªÏæ¦Õ]Ãú¥ÓÕ˜ˆ$IßH<€Üb7Ô d{,Üe[J™‹u°Å¯ë¿Ð]³X `8A’8Ža ® bÑPú—L!'òM¶@0}¤¬‘ ¡“M®LI`>ײTõpÙ Ó6N˜­åYLo”UÂ’bt“ËÎ5îØ‡A 5õêY&ñ¸mj¸cÞ½@X;°â8[ÒØ;ªb:ðxnÅp·F¹Ó“¯ïï‘ VZb'Ò¿<©_úŽ".WBÕ5Z#\ù œ IB„}Q²˜f0¥E*«Õ¤7Ï%år$(¢\ )Åù(Ír‘·w¹|©(†ñlÉ^¿ü:üGhQCÁX$U0ˆ—µ:œ¢p>C³PSŽ$°Äg{Cu@ V­ D|áÒ¾öÖ³lÕ$eét:N§s¥þW\gTBÔí™HgÓ‘×C e‰Ã²étšÎ²À³tfþ‘ʨ‚¸ÛLfséˆ×=Î’uºµ·|©Lj<åq“ÙìTÀ奉z£RPœèNĦ’ÉXhÈá ³Rãz &º[]qÊliÀó¥œd "}§‡B‘X2™Œûl®¦2Ö­«½VÎ#—èîó…"SÉd2p¸ mP-VL8›››m‹Öré@w%ú© ŸÓfIµŽH,©@‘8&¦$‹TUaÜÖÜÜì\´.ðÖ'J&€@f0P̘ËIgÓw”ÆúMÞL£˜ &xiƒZQNLÕ ÇRÁx%¯)'”Ìå’!7…« J!FHI>I€Ë=¾…%h™Ñ$gÏ;\Á©l.—KGCkïö-›P´Çv:4•ÍåÒS‘@_çÀ×Á¥}}C¡©l®PÈN‡h kÈÍW‰ÙÐÀP(–Î ¹d8”â ù¢õŸBA=Ï9Ž[$i™Dœæ ˜<ïg–L)HÆ“¹B¡°D%R)ž"ÙB¡Pä*M«‘H¸Él.›žšðîö¥9ÔPOf|¾©"— „—ùºÜZ‡â6@öfÄ×&ÊÀ¸³u~ò_j¿ðrƒ@ÔÐÓ›uº\§Æy äGzz*Ëò¸Œ§µµÜÛæÝ­§æéºú—ËÛz @È»úMë…µö~‹Ëém=Á.­·÷[ÀpŒ‰zçÙ’(¨³ Z ë, ä2QxÆc;U¹TÚÝ Ã€w;Îò€‘ò:û eýE«å—`tÀ3îeùÒþe–~ëÚŽÒœÀ™ ×y–á§TÇz¬-_À¶ÇcOÁévœ:©:ÖÛµÙ›7s™P‚'• Á å:)¸B‰Bƒˆúz,`kv±©¶ôÚkKrÞÔeÉ;m‡öc8Nª &ebÁï@¬ï{ÄvÂÍFªŽØë×L€@Ò2Ø/r{¼í'Œ ”jÓ:Ó¹ÀñfOE«Ûh€4ž3JÎ&Fgó,F*ë»z×ÛÑ.Ý×|j¬¬cS­Æµ”ÕÀ06áužÏ³<!¯·÷›¿xqõØ„Ã}âk~:Aµë˜ÃÕz`#Je0IS¾ÅŠëí–˜ÃÓÚìPö¾>0¿o¸ Æbo´¹'ÆÈc£çZ$šŽá^Üíq·ž/m¶§ª7È̽vÆéhÚÏc„²®Ž„8ú"ˆMãŒÄ—ËŠëŸ~úé‡ðË_þòOþäOPI"¾Pr¾ãÍAuI®!âëÊ¿ýÛ¿}ï{ß[ûä§@ @¬ÒÍ@ Äú ÿfX ±ñ̤@ ½@ @º@ @º@ @º@ @º@ ¾qpSÝûµ-‘â¦Ù¹GìžÛˆ?8®=êË.Jh²û ¶DËDaÃyÓ¶­P\ÅX[9¨{+ësÅÿæMv¤?C5øºr[ûi̾ûRçðÕù?·l§öì{æ f/Q½I™yÇó·¯Ò;í£!ЋAlޤÈMx=¾p<Ãð€ò:“Õ¢—UN!+Nùœ®‘xžÇe£µ«M#*÷î—7˜HÑ ©û_?]³è´âTÀå‰fXœª³ôv7¬wÚs1p9G¢4 ¸´ÞÒemJ ¢©uÑ ÀxÝà…nÅš§Ã“7MÑ,8¥j´Ø[jEÅHÛ!GbáÆÊjk–Ë*yäÒ>§+Ïäy¸µ¼VQG¡nçH<•g€Ö-VCÍÒ'ŠS}'ÚÇ©õÂËúòÇ¥‡N:K/ÉI!2àt%#UGì]-5Â/Lí5{h¢qØßñœ{ø…@ÔÖÕñä=—,ŒR׫)|á‚@Ñ}q²›Kžnj¥ï6paíÀä$p±ŽŽ/:…ÐÉ&¯|SêÃÜÌ+ÿt-¢wyPìµ_ÿðÒ·ºOI¾·y{\ñåZÏ5G¥Ï?ô­eâþ'¯Ðïï“õíÅàƒôõŸþнZ˜ý=T¿püÿÐ?0ßçÓ×ò=ÿ<}uª…ÛÿìÑç©u»úÙ}ëýŸüïOo|>üà_ï{`ƒ¶¹Ïþu"Óyuî;ZÙÀ^lÍ2üô|è·ÁëüÇŸÜWµç;ýèÏD»ÿ@Z*⨛Ëìxò™'w@ñz6ùöÛ¡W“ÉÆ¿nÑì¬Fe‰¸÷`S)Píf)‰å'¼nw+ƒûût"(„6o¾Î>h”2A—ÃÑ.=c”Ï0ªÁ¤ËúÜáejÎ×Úî…:KENCç1l½ø‹1W»'¡´ö÷(ù¨ÛájÇ(GEK-ýveIV`µÎ—ŸËG"y²ÁbS8› ¸=¶V~x´­Ü•cJk¿EŽ•ÃZ_B­šGÀH©ËL8ä#^—»•%/œ®]K¢ò@jŒVEâÀ$|.O» ¿0´èxæbÌ㊓0줽®0FaÀ/\ËúÚç±#=Ãz’ö9œ6‡Ä?°ÙGm—ds4HãR‚‰†h‹ìC8 $úÎÎ{0]¢Ú–ÎZô úÊøì_ßšžÞ%Ö?´\¹N¿ûá$²Ò÷âóYî?¶?²ý9ªøÿLÍ-½ïCûø4(íÿÓê÷õ›Þÿù›GïÞÿÀZQN¿ó›®©Ù}uÿÉùÐ\èï÷üϪÁ£?º•ÁÒ×r½êA˜ÛHƪ·?pìñ­ ïã?þÝ?ýs¾ƒ«þÿâ½pÄ=¬›«v=y î±j8øýð‹½!úâÏ’O´*€™÷ÂþŸ½yõÛsUÛÍš]7~æzñrq·ñïZ•[fß{åo‡’UO´üíqj:ñšÿb‚žž!µïYãö.31ϼö½™¼~ jûî'þ Q¹³z6ëÿ»¯Àžg”³W._+–]ûšOý`ïðÉ;Aߨ•kÓ7aË®'ÍOí¬ž}÷¥¿¾*T7PÉÐÛBãßY”[Ñûþ¦!ÒÒUþPسÑgCN'@.ìK€º×Ò ˜íáS@úH‡Lš–΀\0K4e112’Wvù»u%½¦Ø€¥*>eåv«¾F ±›CÍ^_Â\Ñ¡)•É6j5ÈZæs"…Ø!G4žo“•ͱ%½•·Z2C›l>krüT8’çj…•¹bå1\$\ˆJÒ°`ÜVùP³7’áD劷;S×eÊ´:– çÂ(&=ΨÜjå¶Ä‚’h¢qЬ‘ @f±N„m¾ñ\ƒQ¼é&åÉÆcÂᛘ/Ýœïxs€j”çÃñ ¤ÚÜe7(„¥Äú\ž`"•gp©Úh±ìàÅtÐãö…SùÒu‘<íkñŽ¥ŒT[z»ô’R,Ìf`¤²ÑboÓ¬“Anª»©½4m¡ê½ÔW»P’\6èrzÃ#¤jsϺ3#¹PŸËMÑ ©¬7Û-:± dlõH/t–G{ÅHG““ïº0 "®‘pba.Ǫ/WÁ\ðd³;@šGÏ7p<ù*±—EUr¬Ó3Íó¸´ÞÚc]ôËjÃÕtÐãO1„¼Þl/Ïò¬^ŽÙ Ëå+Mš,žË)Í=@æÔ1©ýÂËëØøO÷þÆ ŸW ñÿëÏÿ¸aû·`îÓýõø \ÎüÅe€½õ»vßǦßûᥛ¥»ÿï$€ü¡øÑªÙIÿ¿ÿ¤êÁ}sìåçÛÚ¨ûã¥ßϦ?ý î«Ú.Xɦû óêoîÓ=ûííË®Ï}zþ_fv*vÿçr‘|ëѽüÿÛ™¥ºùók¿b~»õÁÞÿóÛ»«`·Z<™ùÍù ·ÿ»k”$715üÇ?zü~à¹:vò5&øÑŽ¿$×39ú»ŸNÜÔ|çÕàû¿__€lÓ«·•ÿMnÝþA±ýZñý¹GgQ ¾,îÊ¿¹zçÓvÌщgy륡P²øØ³?þñsOBr쥟½7·kŸB@_yofé·Þ›ƒ-{5ddž|Wè­šS?niÜuýò«¯F–ö©¥°˜]ÏO=÷¬®]ö ½–¨ªª¸y51÷ô)[Kuóúeß¹wfn\z5z ”ÆÿøèžâÛç^ºøÛY€ê*˜¾-îi|ö µªÍfvfv ÷Ïò@@1¡ÒHKBF@j¤À¤RìZOÓ)žªeGZï×î?x´m ’[/Â|„R)/w³„\Žó™©ùºžr6iµZíᓾ©Ûôwåy€ æm,|Øv@«Õî?Ür:˜ÞßÙb6ˆ2¸¼–,:8šššÚÃ+û¦r¹X HcRͼí¼0árgêì&jÃ|a¼½©©É‘XšÚâ”Ç—ÛÍÊ%æ#6•b`>\¡TCË7¿Š!W딪*Žf“¢)…ÝÿÆäëýuyÍ+EÎ3Bgîõû‡íÊ¼×æ˜÷ÛÍm§ÜqÂÐ3ê÷öšjøüBíJ„pcïèpO=u»£…’vóµ·°*û°ß?ÚkÄÃÛPv½ÁTM÷ÅÉÉKýêå3Ùówœ4ú/\´ëØúƒe@n´÷–cw¶zÓˆT9 f¸J &@iP €eÒ[û‡ýþÑ~3•p·»*ÕX¬yrrÒo¡6Ü4W‰½Dæüeöö±°Ó6²^©äBŽVOFnõš©„«Ý\Ûšgr¸ÆÜ5<ê÷v5ðçm¶@@l8399yÁ.¢qøÒäääääË™åøõ¿||ÿS’ÁgÕûÓð裂jÛ_š?ÿ/» „û¤?ÿ‘âç?R¸v߸챟ÿHñOõÛà>¼û¿(~þ#ÅÏOˆçm´³°÷?½û5óŸ |ÆB¿yãÓEÑ|t£ã•të?Ïð+$áówÿå£_‹:r‹feéCü¶çŸX׊4wõƒÏa»°œÁÖ}Âoé›k~"oþ²~gKym»ðQøüêGëšg''ò×d{èn·¹²Ó¿»6Wýþ(êÞ(º J(Ü0Wœ™ûä½Ë4Àög>%‘ì=p‚›ÉHvî{Bsï]ÉÎÂìõ+Wo‚P©Þ×/'ŠPµ§á™Ç%íkxR×ßJ.ÎL"Bìø~óAåã{ŸþÁ³{ª øN„®ˆ2ê`ƒò‘iì©‚¹lâúì+‰v8 ”Hž:¨ÞÓo_¾1wãó?Ð<½I>؈…Ýo/zz_ITÞÛì·^r ]ºq+ç\Ø3ÎÊMF™x†À Hݸ;Æãln­Ngó dF|ŒÎ>8ÜoU1ç×6<˰€K°l eÿÁŽƒIp`ó, 4FKWOÿð`¯½‹{ÛÛ}Ù礘ñ¦ˆz³ZT2[ëÌÖžÞÁáÁ^‹Šw·:B…»)'.ÙwX«Õ:áŒRÖÁ.Í,âYßq­V{ Ù6†÷ø‹ú IDATëï­X6 !—‡®ï2ÉØF3s;J»e¹ï2›c'p>Ö}xÿñ4Ëð_€lfpµŽˆU:*Z,œ1•¹Q&*Œ&% ”ô¾HÓÖaÐÕÈ$b±Lc2)!5As% ¹o$Eéí2ÔJÄb‰Bgl[dð%­-™D¦1¥‰å9.5⣕֞L,–Ôè­&)¦ïlÅÇf jT ±H$‘Õê ºu-ó™±£¥¡V!‹%5zs#ÉÄK[¤Ò/ç’lÖ+…¥™†¶6½F!‹%гIÊ&"ù;\¡·jì¥g½ÝT+KjXIz|íRáÒo‚²ô´é±DÑ`±¨Øh µf„5-F]­L"Kj˜ëðÌÄ]Êv>.~~÷¶GÉo«Á`šý`î.Âí8FU|ëQÅÃûî›»¶±Zÿéǯf öé¾¥xÆ/³÷?þðw·­+›?û€ƒû·Ý7KÓ'¼ÿþyØ.øtn­<7÷{€û·ýÑ»ÿüïώпäî{ƒß¼ÎÉéwßÿiñ¿Ù· »oã…òù»ÿö?MþðŸ®_Þ¾³¯áÛÈIñer—ô™éé›[¶o­ºIÏÀt¨×ªüxcºXýøÓOn¾ùÞzF˜¸z¶?¹og5¼ÇÜ€«Ãk›aÙéÙ'çÿ(~XáŽRçYµuûV€âôÌl)kõÒPy«° àfqvv¦8×Ïý½í\%ŒëÓs°@¸s;Š~T?¢áÀ+CC¯@‹Q1wåÕ¡7·<ûãƒ÷¬Ÿ{qªÏæ¦Õ]Ãú¥ ‘$Ilè³ËÈ-vC­@f±Ç­áP¶¥ä¥ÀÅ:Øâ€×õ_è^¼˜0œ Iǰ) Ö ¥Ér"ßd ÓGÊÞÊ…ÐÉ&W¦$°Ž Ÿk‘-휲A§mœ0ZËêR Óe•°¤Ýäò…s †;öaHMý£z–ÉDF˜å÷VfÿhÅfþùµ_}ôζw-—¢üooœÿxËs¾í6ÚÐ}UÛ·U=|;½(.¬Ú¾­êþ<òIá¿Ggu.Ù]p£‹oí~zwÿsÓýî|ôFÏÿÚÒÿgB$ºyö·Ñ_ÐU=¹«z ³`z»ºå…§…•f.$àÉ}Ûß ]»’ØzµÛŸyú‘j˜ÝJlks»þø’êò­[„ÕPÙ©£Z¸c+ÀÍâ‡Exœ˜+Þ(lÙ.,§unúÆ ¾à±}¼F¿ýÖ{{4Û§#¡7¯oæ…çŸÞ ;•ûv„BWÆ.ìhÜ·ªwíS ¯\¦/¿}ƒØ3wõsŠæô»º¥† Ñý…ÏPÅ+c×¶?ùÌ®j¸×/½>¹%9v  ê±'wVïܪÜzóú[W®ïz²*{éâåâ®ÆSÇ÷ ·ûåHçê‹—«Ôï]Ñœj·Öá®Å+£„R ÞH¦Ø pùHµ|-Ý, jIˆÒ[ǤÀIB°Dl.{„ÔPN¤ “J±˜´æ–]‹t’\E,U¡+ u¶ºéúÞÁ6ÅjÎ,a—›·Ï/’‚\!Çð!­>_äJ»´b´ã®SnöX^*^5,Ô<|%\>–áåV“¦ÔêXšf×nwÓßâÀ}¾B¡TAõg+\Ÿ¾9 ‡€ãþõSØùpõ¢Ì6ýÉg X¾.ðƒä1ìÛ½ßY.qù>zõƒª#u÷oÌ4[õ‡¿teÉ7sùcxä©-‹žýœýdî÷U÷=¼­¢Œ[¾'„³¿¾ÉîÅp~ºø>|kßC‹5Æòc»üae4À}ú“×òÓJ9ÿtÛ‚hž›ýàÓÿÀ¶a«OÿÀç³s€@|i܉ó‡o¿ùæ›o^~ûÚÌŽ=ÏÏqPˆy=Ñ%2Q¤4Èù°Û•^^~…8EáL"NsPLž÷ŒoT7 ÈZ ËS¹B¡PäÖ˜q÷H,›ËÆ|™ž€o=þ]â‘™ú¿~wmúÓÉh>öÙÖ#ÒEµhnæ§çÒ/üìÆû šU «Ù ¿É½ôî§ïô»Wÿùã$–ì‚wk‚«°G·o-ÿ÷Pu5Àý }`ÁD=ýîÿ÷™ô§,í|þú›øàkÅwó¿ÿå»×{Â3 zð?£þq¯Ú›«¡·wõŸxìà Wø$kþ¦W³,¤O5[žj^rmë^ËBè[«{þoêVŽg랃Ï\êYMìÕ·î]z {ÞÕ‹Þð7&ÊÀ¸³u~ò¿²‘”¨¡§7ët¹Nó@ÈôôT¶Ëâ2žÖÊ™$ywë©ùGDº®~Æåò¶žpòÆ®~Óz&-a­½ßârz[O°€Këíý…0c¢^çy€ÖY­†õN*ÉLDàíÔ|^?x¡Sa@»gyÀHy}вþ’ÿÕòˆK0:à÷²|iÿ2K¿umGiNàLÐë<Ëð€Sªc=Ö–/`Ûc‰±¿§àt;NŒTëíÚìÍ›¹L(Á“Ê…`…r\¡D¡AD}=°5»XŒTÿÿíÝpç¹/ð§þ±ÛKj-v¼Ä4.Ü&ö"gJæHꌰ;RÝ#¢ÆDßVqï‘HÑÌ™AÌ\Ä+1s03‘˜™sªwÜúà6ÓTÌDp§–: LSHR¸NÁNÁ±Y;fmg×–}ÿdÙ–„ì8©ã>ŸÉޤýñ¾»°ß}÷Ý÷5¹m å8ßå0œÖÛ Šb4ú.uâzW‰Î=^ߺÇ#ÁhvÙZ—Ž“²ž‘!±Çë3ïaZªnìªñØ`Þ0iÖÍP÷$(.á·*p£nu¸ÛkÜeˆ´6GÜéêÜá¥hZÞ¢og¼37gRp&ˆÆ¹Ø d½Å±Ûî2îð4-Õè»ä©@¥*ã};ÍÕèëÛÓ샇É5Ù,-V¹óPõ´«±uù.uγ·³ PòV‡û†aí$­6Ó´Ýkìô¨Ýo 7ˆ$ºðzüö=^€’ªõmK6±JÚ¶¤ÝÕÑì¤hFÝjh¡¼óçe!ë»M­v¯¹ã0,sº%®¡Û¾ýPÃÄiëkg :]¥åuÃÆ«.½üfæy˜‡`Ý#u[>4Ú)®ÃzEhqï½÷Þ“O>¹ôßàKs!„ЗŸpå!9cÝvëØÌ³6Ð/m«ÃÐŒÐg÷¥ÊÍ«7?û¿ÜÏâAC!„n²öAÝÂ눧¶mÂêAèï/7#„ÐNb88eÀj@_°Õͪf¬„î1+° B!„ÂÜŒB!„æf„B!„07#„B!„¹!„ÐgÅÇû¶oß7}Ï ÄŸ¾Ðü\ ;oG“ýßm.ë™,.»lͽÑÒ-¿(M÷VVuoýJéÿø’ûÒ³xZ"t¿Âñ4Ð})ò“>o 2“a heK—ŤSTg<+ÅN—¦ ´ºÝâèmW®îA—/”HåXhzc°~Þ¤m¥xÐåõÇ2%m1¹ûÛjÍö\J]N,Ç%o59,m2²œ :ªóõP-#GúUKÎWJ½¾P,•ã ¤šv“­§A PŠöî´'®ÿ!³»ö ‹•‘Oœ®ÐL¦ À­õµH:šèwúgRhy‹ÁdÑ׋æ*Øå ÄråYëÚM¶Þ¦%«‹OOx}X"Ç @0êÖn‹I+«V Ÿôz|áDA‚V¶ õªîæ´„¥hÏN{êÖŸKMãõ’/ê|-N¼ØáSŽŽï»­)醖¹ç>|„´±µQ:o~:RÕÿ›©~>9ØaÌ}Ö•‹†§¦€ŸÞ·Ã~o”…Sõ¥×~~<ª’n»yUÜñŸsEÿ^Ù“wïš,œÉ_/5='ÿá†7…û—_Ë|J±ÿ N¥ÿúÊ;ÜÅË`õ^øoºë“^={¼0ðÖÙ.ÁjÑÚöooù¡´æ|c—ßýýÉ—ÿxñãYX¿iýwHžzp™ms³ïNfú>¸òh³bø‰åMóråâk¯ø‹s«ž}Nqs¨ŠâË“G‹W¾²~“è-›·Wæ_l‡¯ž|?ÿòï?ùàÒµò¬„?iÙ¸•üŒeD˜›ºçq©É¨ ¶n9C&}‘¥Æ÷kÅPœ°[}…ÛˆAΆ\v»YùÎ ÷¯OlyaëÒSmŸýÓ GüòS-_sn¸2ñÛ“¿^5òܦåLµÍåþúò_W­‡+Ë.ÝÕ÷}4¹rõj¸¶Œ„}á•ÿ*«Û0ø|Ýø4ôÛCÿµr랇·®Z|‡ÏœrDέþÖ–‘o­Ò'ÿöëûÞzà?¿#">Cæf„¾ÄÚÁÚêÿ¨lÙØžC^+&! $ ÑmjS‰ºm푽Á`z×> ¢úž¾z€|(7dÊRÂï/¨ãýÚr»´j-U3þ§´Ytõb™­{¢ÓHtWs(ÁÈ5sç…#EÏðð\Iä0½Ó›)ô** Ë´T®¸æ°ÅÊH*ô½Š¹X’ὑhoÍ5ú–Šœ@PbÑõMÉÚ®7n«˜ÂD§/šáÛÄ$_ˆçºÅЪ’ZƒÞÔ/ðzÉâë’èöëæ¶N%cÆØDޝW‘ ûbÔ®QwO¹Œ*ÕÝ?UD’ʱ dÄ-õÉg'øB§·Ü ›Ù»ã(€ÜväÕ6ñ’7Sñþsù±…Æýæþ†ù;r9}‘ @ÐòÆîšOFòû]Xj®­ßfÒJÈrc«W>r¤¯r·WŠîëp Ž#ÃM¢btØå$®?˱è*U–½ØéÉ0Ýc¯–1=ù"[¯„ªäÑ>¯?V(y«eÀ2ï7‹Ý®¦C^?œbhek·­ò”gñz̆\®@ù¡Éüg9wtP@¸øÉ¿Ÿ ¯®Qÿó{´Õ­€+ÿmìÃð%8–ù§cO´>æÚº’Kÿ¿çßü´¼`ÿ¿'DôÈó’-«.OÿùåU럺Â;wˆ5íÚGnlñ={qV®ª#jï<ÏþìÄJí÷¿zóW.þÃ¥‡T[¿Y©’[žØüá£K7ææ«Çßa?Z³Þý_ݺ ¶6J¦2'gøíÛ–¨I~2~ yä¥ÇÖQ?há¦~ɆÎlü1S«9öâ'¯L~Úô‡>¼°Ì‘òî×þäÛWÝ¿¾xKJ¾|öâµÕk j.Ý\üô}¾ù¾Y·€Øµí_¼yéä,l]µèsç/} ˜·}uËZ€éÝŸî;óéYmºã2¢ûlôwƒ8h†(e¢96ÉË ‡dšäÀ¦RÜRKç&S‚´ó÷<³½yûwŸëŽækm°Í£VV.³´RI ™8[ýuÊÙÑÜÜÜüÌ‹}xéöŠ"MÏ5º ëŽæææíÏô †Ò¥»R[¥l,c)eCλu°wtt˜# ÷MåóÓÁPŽ7II ¥Z ÃÎL¦ŠPJÇ& ”¦m^«z1lîèè°'Û[ã e4 ÅT4G+e3ξ»½yû3/öß­B.³*â.£+F†ÆÆÇôvš}éj—ZŽ2¸Ý»ˆ™CAÚ26Ð*Dü3¥Jv´îõÌÐú±ññ1wW½P(Ÿ][¤µÝ£cãã£6uÁgµO@¢?855uÄ&º}ôÍ©©©©©ÚùŒ¬ïÿÍÔÔ›C7?ùȶ{f˜î‘ñ#GÆFl:Uíß<Ç‚Ò`s¨ˆÓX.£X£Wr±P†¯ž¡¨õjpHu–¡Ñññ±¡niÂcvUOc‰îÕ©©©q“tÙÍE¶^–9<)µŒŽ¹ DÄiõgkfp»Ñ›QšFÆÆÇFº¥ —Ù“\º´À橦nÇèØøø˜£M8lµóp§>üùuÿ ùþ-p¯D>9 «Öþ¸Kõ«Þú¬zJþ«—T¿zIåÚº(Å×õ’êç­ka%ÕÿϪ_½¤úÕÉ\ûååSܺ§·þ²ûñámptâÄïæ§Ä3ï{-m|ë’°`sìÎ|(Þ°ë–<ÇåNOkøß×Ôl¤ýàÔU¨Uö„\óÔzø(÷é’_‘Ÿ¾]‚->Py†V'ÚW?8S³ ùòÔdá¸bóî _YöéRúi„ûf óÍ…Îë³ïÿåLäæu1_»vûzø ɺp…?ö¾°zÓúoKí0µaý+ùÉã—8ÏMœ¹¶ùQªîÎˈ°½¡/¡|Äæ”&ƒ‚å(ÒÃÏ#ÊQ=MA.Ï,zU¸ €é¶X¨\Èå´[‰±ƒKõ$8–JFdƒ={ý”e´[FA¬Àñ$Ýd05É•RŠËLú=>³Æ^]N»\9¼$ý¾Ý:Ô(.7[k»-z¥œ!¸TÈçñ Äøðr®î‹]”’û;GY 4–GÓ2Zijöør@(w¹+-›¤jß­Ïhî8 @¨M#ަeïŸ=ꋎV —eÍø&[-î)—ð9=F}d°Iô…œ8¥T ÆÉ-6}½@f°u…ö‚™î>9R­Z¡¦äDš”29'oš­ˆOü)zרC¯ @"‘U›ÈÅM½ûæØ»ºÔG“9^+¾›}µç²,Ð:J"‹eŠÚ‹ þêŸItÝí=± ˆ5:%ç ex•ЬÄf‡Z këí­.!éî †}Ñ_/º“’,ºõò g«­«AF‚l—¥=´7Jwõ.þl…O} ©i¼W+˜L“®`ŠWÕ/¾c¢úž}õÕÍïên '3%½äŽO¯‡“üpëØ]ÿqøwêJ]Ý_iÅwKWÀÕ¦§þð—£Ç…íËéþ{ñÜÏ2Ðжþ–ɵùð1nÝcn[[36Ïžâa݆•—s¹=Ÿ>¥{ô)àâ•ËKvW.¬[û•÷ßúsßñìÏŠ7ðHž}ÿä+¥ÛÖp~y5rùí·þúö¦‡G6¯„Â2cΚ]Ïl9ù‹“?ú÷“ëëŸoZz‡¤íßãû~}üÙ)€‡ä[ö?½†¸Ó2"ÌÍ}ù”âû­ž\£cTwããjBÌ0 ½¬Î²€ÒdÓ7ˆ&ÛtÄ™Èö”ƒ3?½o‡u¨–¡#ý7\¤ ŠfŠ"ˆ¹¦fh úò¿*%]è°Cé]•4Pœx±Ã•f÷èë=Š›eÈi ÓÝ#–Êëw¤BgPT×%'r®@$ßvçﲑò®¡1Çf¢~¯ÇꕎçWyëV²v÷˜†cs3A¯ÏîQö7‰JñýfWJirwih.ô¸ÌNzlP[ÎbÝ«SºEv¡u™ýÂ.·M;/hÓí¶}Z(l¦‰W0Qjúb‚3—+´zî7F.%¸LŽ9E@A‚ ð\&Åʦ…z­ç£Ã_x&7×r§€»š›I¹®Uöv>7Ù¨Vª´­ZUÍ;–R2äñúc)¶ÚzÉËÿšœ…Ô¼Ø |vÂëñ‡…ê”\¸ãÏçb[`ê+Ï rNø õ_·©mW¯] ³W/†U­~põºÊµzÕ7ÖÂ;§. OTŸ.lŒ¾´àÇüêñwÎüiíú‘‡WÞ\9}|øÜ?øÞZbù{°rUÝÚU›n')P¢UukW­[Î"ç‹ÿ»¬ýžlë*Xfßfîø__þhíOv‹¨ÊWò-•ÿ„âWOÜtpñµÿ:yL´Á¾ãÁ‡f?Œå¿^=üìÆ-KìðÙâÀ¯ÏÂc»UÀùó?‹œ´ÅV7^¯·Û(#ºÿróÔ‚×A„î«ÐjtJÁÊðRn^læÓ^³+¢´ iU‰Ér?è;þ€.±õ;qË885θ §ÕǶŒ id"’Ov3÷â÷Øåe6kòÜ¡ä•'Z6Üò²š0u¬òGš\N4X¹‰„ gWo~xx\þ°vÕRj«Ö\¸xm˶­£Ûøó?`Ýú•K}²Îÿ“pùO¿|ïèܦÒÿôLJ~º{㦅—¸zòËç.]íMÎý诿ýÖ£#‹Þ =}ôÜê|oÓSÀš-ÚKS¯Ÿ Ä?®[l‡¯ÿã™?_úǺ­«6¬ùIéüŽ~÷)Ù“·_Ftææææf¬ô7qíÚµ«W¯ÎÎÎÎÎÎ ‚Àóü‰'î~hN0[ôeÔ1ÿÍ(‘¼I ¾h¦Ô&ð…hèFåR¹™”60ËUÛºx6ÍÅÐä aó¦E˜&)D©"ÈÄÀ¦R!¯§oÙÃ\’JCߘBŸè3zr­î‘^Õb ­\.Ã%£ï^ó¥ ÌËu|1Ï -Y²[P@àêÆp)k­«8=htÎ(£}óc-—SH³ p…‚ÔâO k¿C”œ!ØLŽƒò«q…LN ”R €]j%-Ä¢9¾þÆû›R!š#4î]õ’ʺ ÐKTøg ’ÕkeõZ½¾áÅÏDŽoZê ±ñ 'Õwiå¡ ÉùekôrÁJ4p3 ¨´6s©K·tµªÄ$ð7.±tª%¸eo /ðZYþÐ 1ewC{=!UÒBäÖš_"f¦3‚ÒÒÕTþÔq¹·ô§à3\oþꕲ VÏ.ðóËg˯£ðü»á¡M«ç~öìùY o~/ðTòÔ4ñU÷£7G\áÌ™ŸZµ«eÝòÆ¢Yõè¦+¼òàc«øKÇÎÁæx`Þ²W¹óW.¬Z¹im55’<)‚C~Ê=APÂÙÒIXñÔ†ùáýæ&Þ<ò|õn€¿øò/ g¿%u~kíõÐ|åò©‹×ˆµDµ£ËŠ­OoÙV©(áÔÇû"›[¿öüf’Xt®Ì^†›:O_»0»Ô_à¯ÂM‹ÌÎ^ž]NÑýß D÷3>0q-–.9—K§Óét:_~wIÒbPCÌãLgÓQ¿ë(+Õë+Z¾˜M§Ó¹,—ËÌ-"Ö40ãñ„’Ù|:êó„9¦E»ôobMW#•òzBÉl6tùrt«A-(Ňû‡C“Óñdrzâ€Ýáä]Ë|q²ßèš‘v›Ú¨B¹$Ù"ÅèþÁÑéd29Úou%¡¥f“êÂeä“ÃýûÑx2™œž¶» oÓ\_Y)áììì´Î{/Oû«›OœÎÇ4j¥ Vk¥ðzBñl>›œôz"­iº^_۵³³Ó9ÿ½ÀR|¿Ñ¡vYô ›®-€”ë[™Âa×h:ŸM†<¾ ¡Ñ+E_ÐI$RêËG1žÍg§.nÑË—>Z¤ÂÐ¥äÛ]¡x6ŸÏ§£Áy h9#¤¢©ðÙ7pã@Æ#¥¸ÄdªÈó<ÿ™Nûý&âÙ|±˜‡'r×{:,†V0D!:“ç 8íóÆnˆ‰bµ^)D<ÞhtÕj§¤RŠMÌäx(%{ÃËÍÍ$Ó %2¡`<_,K|í­öø§³ùìtÀs´ ÕÏû¤Ò)¤‚ád¾X,–*5¯ïRs‡­Îàt6ŸÏ&§CÃýƒÑ¥fY!i¹ÉDøü¤×wÓ0Þwé ”Ãè–µðqîüû¯ WnLÉkÉuðéä‡ç!VJªÙ=`© '3 ¹K.¯Ï¼ÇSž÷Ä1`Zrª¾0+€‡ìÆCÕŸ©Ýo 7ˆ€Tt9§×¹÷”´Ñ4dkag‘¨Á6dq¹Ê%¡•Õøt†’èÜ#àõø­{<Œf—­HE—ÃTpZwn'(ŠÑè»Ô‰ù½ÈúnS«Ý[~—²ægó†I°îh†ê¸o$Aq ¿ýP¡<ãL«ÃÝ^ãNJ¤µ9âNWç/EÓò};ã¹!8딂3A4ÎÅf ë-ŽÝv—q‡Ÿ i©Fß%O*Ç1Þ·Ó\¾¾=Í>¸q˜;éõøÂ‰‚­lêU‘wõ\)N¼ØáÊÁ(u]&CÃN 'jžš~zßû=êwÚ)÷ƒ ·QùˆÇ—Q:ÆlÑüS‚nhi˜ÛÚƒ;X!„07#ôyãR“)PlÝr†(Lú<#Kï׊ 8a·ú -¶ƒœ ¹ìv³xì A‚P$¤m]ÚlÀ¹)ÖŒf´˜LJØ\¨9WiÚeö&Ô–¡µóØ]fB:¾¯š÷ä¦!›º<í-AKkd¾˜6“^)¥¸TÐãµ…ѱÞÊDß„Ú2dR•uÕN$‹–FÛåèfh QŸËcä˜#ƒ K%g˜&ƒ¥KÊPÀ&.¯ÙJ9Ð&(EV_Jcq7Ò\"`wÚí’ñW—š¶›MMæ¨Æ.[½œLÈëq9z¼¿^ŨÓèLÈw[ÜMRŠ+ä8êó9aä–›R($&ü>랤clP+ÆOð\šF¯–‰n>H™®¯ïöVv‹ „æf„>wbíàmõT¶llÏ¡‰ ¯“Ðè6µ©DݶöÈÞ`0½kŸ‚Q}O_=@>‚2e)á÷ÔŽñþJ”RÕÞ|qÆã”6‹®^ ³uOtú‰îj%¹¢Fc¡èž+‰¦wÚc3…^E¥a™–ÊŠå7.VFR¡ïUÌmÄ’ ïD |ƒh®Ñ·Tä‚‹®oJÖv½q[Å&:}Ñ ß&&ùB<'Ð-†V•„Ðôþ£¾x×K_—D·X7·u*3Æ&r|½Š„lØ£vº{ÊeT©>¯†¢¥ …H¡¨W3\‡ÝH7–oMŠÓ\Þ£39FÓe³êÅÀO÷í´ZÛ©™Hª PÊV‹c_“¤æY1}Àå9=ܹw¦¥[™ FR¬@«» *Qee .ÀgC.§/’áZÞØ=0ÿQN!¶¿Çw4ÅL£ÉíÐUŸA,|Pøì„Ëéd8BÚÒ¥ðk!taÿfôwƒ8h†(e¢96É˱•dšäÀ¦RÜRKç&S‚´ó÷<³½yûwŸëŽækm°Í£VVš,i¥’2q¶ú딳£¹¹¹ù™ûñÛìÀ)MÏ5º ëŽæææíÏô †Ò¥»R[¥l,c)eCλu°wtt˜#Å…‹›Ÿ†r„¼IJ)Õjvf2U€R:6Y 4móZÕ‹asGG‡=±ØÞ '-£I(¦¢9Z)›q¾ðÝíÍÛŸy±ÿnr‰; u› 3)øä~£5Lè£ããc:Áoµ‡®ûL„ÓüæwSc&:b·²5VœZ­‡ ÇèøøˆIžñší“E´”\,˜â«5œµ^S>u8¢m`¨›Iöq]#C»‰˜?’>0›ýœÆ6:>>æ6P»õÀÜæÙXTÜ=ú»©7†Z ‡]¾4"í©©©7Üj ÝoNMMMMÕìÒCÖ÷ÿnjêÍ‘vä¶#SSSSSšD•ßüfjê͡ƅž»äÂq•müwSGÊŒÏÎÏ­láE²‡íž¦{düÈ‘±›NuïSþ Êàh%bO¬|ö-zPø´ÏìŠQ]Ccã#]ÔÄá~ó!„07#tÛòo˜Sv$,@Ñ~nû3ýÓESÀå—ÊÍW`!ã°ZÛÈèEÞŸRY„倒Ù`Ïöïî›` \ãHºÉ`r ޏm-ÄŒÏl®™·æGڤߗ¢[»Å£í¶ ¸GFGÜ&öíÅÏt{‘ÜÿLssóÎ=ΘÔ2âhZF‹x6ðBssóŽNëQj÷»ÒPHªö ÙäsGssóν>¢{ÈÑ´ìN|ö¨/F4vµJ¸, lÌ7Iw¹GF ôŒÇèŠ~ÎÉ™ h ¸4ÇC)æ s-‡¾A!‘È –]t*83œC—V mw;“ M,} ³‘`†jµ™š‰ªÍbÒ@"+€X£W ±`ù>¢8L½ºú`¢I­k”4Hµj…²AIqi–>åäÔ–ž&…D"«×Yºä¹H(]IÞ„¦«]%)u4›Êp_ì§nén•‘âFšÈMç–>Z<—e®×¨$b±LÑ Ókç·Ú3í–ž&…LÑÔeCfºÀ,~PøL0Ì2]}½L¢Ðv› üêCÝEØOý](Å÷[=¹FǨîÆÇ脘azYe¥É¦o(L¶éˆ12‘í)·×ñÓûvXg€j:Ò?ÿeB (ša(Š æššA¢5èËÿR¨”t¡Ã ¥wUz+Ï{AÙ=úzâ¦DrZÃt÷ˆ¥òú©ÐÕuɉ\‡+É·é%wZU¤¼khLDZ™¨ßë±z¥£ûªïùU^w»•¬Ý=¦áØÜLÐë³{T£ýMb€R|¿Ù•RšÜ]šK=.³“ž×_X¬{uJ·È.£.³_Øå¶Íï]L·Ûöi °™&:\ÁD©©Iô9ž2Õ¼Åâ9K˜wÌïÑBg¹ê Œ”®þPAáLÙ¢=føB’i}µ _$­g ,ð:1)Ö4`&J MÂL0E4©«Å#H ‚ Êÿ'p›ÊpBι³Ù9o§™j>¦º\’ ¸/¸»%£*e¤X®Ö9§k•†½ÏM6ª•ªm«V5ÿÈ«èꉪ”dñƒBär!•3Õ n` …ß!ÌÍÝFh6[#RK9Ï•¯À4À± 3 4”¦ýP’¥ò3AÑÐr¦§HZAC¬ÀVB©¶q•?¬¦"‚¢)(dIÏàÁ6>9ÈÅP7‡*‘´ž™Ü\¨7Œ •ݼé)z~Âiô²­CC†…{3Sr% ‘,˃äŽG› Å2™d •œJí´ûb]Újµ‹$2È %î0ûÂ]MYiÆw´ tŒêD ³X¢³?’×Ö ôÅè Ñ™Ò8Fzçò:!¡3  ,°pn.M÷î´&úÜ2þªnywËråôÇ€Ô4~ðÖ=ççî§î‘ZßHXƒ3E9LQ-9¹`Ž¿Ý>:¾OA~é?¢¤ª÷àºøÌÌtt2è<˜¬ùtbÁƒR,ßh\¯5loFanFhù¡9yÀl Ó–QÇü1ãDò&)ø¢™R›XÀ¢ •KåfRÚÀ@,W@AϦY š¼!lÞ´Ó$…H"U™ØTŠ#äõô-{˜K²@ièSèò}FO®Õ=Ò«Z¬¡•ËeX dôÝKR‚0/òÅ<+´D¼Ôú…’Pn¤nÌ}B±ÖºŠÓƒFçŒÒ1Ú7?5Ñr9‰4 ZW(@-þ”`±fñÛ:m¡ÐíjH¢^ G£©¢^²`+Lø& Àçâ`Zçõ‚8A ¯Ÿ*ñß&& Tˆ€ÑW©Ô·Pæ`0Èe˜VGÍ4L+¥›H° ¸½g „p¾-'’ÕkeõZ½¾áÅÏDŽoZâ,#éÅ %•RB&ÇA= |!YPâ× BènÁþÍè~Ƨfã!®ÅÒ%çrét:NçË=-%-5Ä<ÞÉt6õ»Ž²R½¾’Tøb6Nç²\.3·ˆXcÐÀŒÇJfóé¨Ïæ˜íÒC¾‰5]TÊë %³ÙxÐåËÑ­µ îMNÇ“Éé‰vg„“t5rRq²ßèš‘v›Ú¨B¹$Ù"ÅèþÁÑéd29Úou%¡¥fZ¸Œ|r¸`"O&“ÓÃvWämɼ0éììì´Î{/Oû«›OœÎÇ4j¥ Vk¥ðzBñl>›œôz"­iº^_۵³³Ó9ÿ½ÀR|¿Ñ¡vYô ›®-€”ë[™Âa×h:ŸM†<¾ ¡Ñ+?N›Ë¦ãÑà Ù9C4š @¬éj§.ûðd2›Ï¦ã“Áþ@zn& 6ìñOgóÙi¿ç(+յɿßjI! 'óÅb±RNY‹^Î…]¾h:ŸONx=3 Ö7Vk˜”ëZèԡùV³hvTvï’æ¼ÖÁ‰x6ŸOÇ£Áý}Ã˙ზҚ˜É—xž¿g>§ûLijùb1O䀩gÈZ­… )×·2™@ ^àó„ïA„Ð]„íÍè~ÆÎLd ì4†«?’ÛŽ¼Ú&· ¸³N—koXZ¹k`ÀPI*|Æk¬ÎIRð÷Î-"Ö:†X—ËgÜã •펡®Zm‚¢ÛÉåô÷p@É[mC& E°1Ÿó0@Ë[L#}­™J2“1ÖkÝ[ýÕ:r¤OE {ì‡ e‹mÄT³[Å¢e¤dD.è û8¡<˜iȲt¿ ’¢)6äsb ¤šÝ–Ê`q2ûäòúÌ{<åyO¦%§*á “±pÈnØaÎt/»6B¡»æ½÷Þ{òÉ'—þì§B÷@/óq¿7,h šBèÞ„ý4Bèo®1w¸2„´ÕfÁ¹½Bs3BÝWȆÁßMÝ¥u‰Û^jÃ*E¡{öÓ@!„Bs3B!„B˜›B!„ÂÜŒB!„æf„B!„07#„B!„¹!„B!ÌÍ!„B!ÌÍè¾A’$ÏóX!„ú,xž'Is3ºŸÕÕÕ?ë!„BŸÅùóçëêê07£ûÙÆ/\¸púôiluF!„ÐàyþôéÓ/^ܸqcÍ?^…õ…¾¼‚Ëå§OŸþè£0:#„Bèv‘$YWW÷õ¯ ÌÍèþΛ7oÞ¼y3VB!„>WØO!„B!ÌÍ!„BanF!„Bs3B!„B˜›B!„ÂÜŒB!„æf„B!„07#„B!„07#„B!„¹!„B!ÌÍ!„Bý-ü<-‡´’¬-RIEND®B`‚murano-9.0.0/doc/source/user/figures/app_logs.png0000664000175000017500000016225513656750211022065 0ustar zuulzuul00000000000000‰PNG  IHDR=‹ídü4sBIT|dˆtEXtSoftwareShutterc‚Ð IDATxÚìÝ{\TuâÿñW:Ì€0 $¸âL0ILÃû%5]µVLSkÑÍR[iw3û~Åï/µý*m©ífßM+WÙB7S+4M*/¡&¥‰¦xã’ (C:£0ô÷Ç€¢^+µ÷óñðñ93Ÿó9Ÿsfæó>ŸÏ9s€Ýn?‡ˆÜ°sçÎqöìYJKK)--Åáp`·ÛÉÍÍ%::Z $"""ò ¨¡&……………‘«`ذaƒZBäWZZŠÓéäìÙ³j ‘k =]ºtQKˆÜÕýNϻݮ¹šÞ&rp:j…‘;—¦´‰ˆˆˆ(ôˆˆˆˆˆˆ(ôˆˆˆˆˆˆBˆˆˆˆˆˆBˆˆˆˆˆˆBˆˆˆˆˆˆBˆˆˆˆˆˆBˆˆˆˆˆˆBˆˆˆˆˆˆBˆˆˆˆˆ(ôˆÈÊÎþ™Ò¥K?¦~k¿IEîfæ£ýˆÿÖÙI<ñÐX6Zo¤À|6~²•ÂKËþY9ÉùðoÌþ¬àª_aÝ¿š™Ï=A¿.]èÒ¥ ]ú=Á ol$ß~uû%ûËÕ|{íVøåXzâCò¢-/ÎüÓÿ™ÎÕìÂcßd2àŸ»+ý÷Â~çuסhïA-:αÛò=æ`KÆ)Š~ÆcïzÖ‘ù¯ÿÇôò¨v/¬çoÿïŸì,¾•Ú·˜œMï1}Ò$fo*BDäZÔ"¿Ö$mòáá‡aSÒ6¬÷wÆ|3Ëo8˜·>ˆùF ÍßÄ‚¤ýLx¸=þ¦pâÞû‡Ùô3gžã|w?é{•¹ï ÆKÆgðþ1¥Íý!÷gÌ›6™§r¦ðÞÌžøW[@ŸÌK¿Y_î7ÿ’ˆ“üô|¼îûÝÕ溼ûä=ÜskáÛ¬óß…ïíø;u’…_—ðçµñ5üôÇÞõñ tØ‹µ—›ŠhÒ+šúÚÙòëV¸-‰mõcþ(#GŸJbSagú–õÆ Wÿ¡I‘ nv€m9,G45)5ǜħ6Òc°;¶å`±X0FÆ1}R_V\AöRÆ=µ‘1Í¥³ ·ÎeÚ¬döXlà׎Q“¦0â~3XwóaB ¶Åø4{˜ Ó_ ³q#ñãæpÀŸ<Ê¨×Æý§‰X¦|ÄŒûMسW3+a›rÀøDŽ`Ò¤Ç7îgæÐ‰XF<†qã—8z‹±^›JÏ °~;—i É챩×i S&ô¥aUYª(“LWƒ®æC#ŸÏf-ÅÒã5Þz®ýù°þSÿáÇê=~Ý-ÌÖ¹Ó˜•¼‹ðkÉàIÓ{¿O&þ‰¥Gm0n»'¼ÅŒvG+oŸË’“•o“¦1+i#`lF¸I¼Ð9°³ÿÃiLž· ›!F¹c;F}ÄÜžUDg>;s¼hÙó&u¸‹Ž1vÉiú>àÁ–ý%X]pO]¦õõDZy?/œd~ŒoY¸q²áãý¼ãÛˆ™÷ä3î›Ú¼5<ãÞƒ<õ}kYYm53sX0¾9y¼ºù$‡í5iÜ¢/vª¯ë ÿ÷^6Emî†gøáŒƒkz3ºÿox¨ö9ÒWdòÏZ~´9sš}?Ú)¨éó]½ùæë"ö9ø±V&?L+“;¼üßçGÙXt¨Áo2±«/÷JËʩ˃gN±Ëê¢àL :÷hÄëŸá—p¤¦¾wˆa6 Õá<^ýæ ? ´y >/¶®UvLÜè±ç$oÓ{¼·æ0%ž>4iOHþ—êú"ÏÝwœÅ3Þƒ'ãÖÄp’³x x’øa 8¼øU>ôÇ‹¿ ÆÃ™ÇÖ¥KùlÏqJ0t_4ŠÀKÖU°éÞÚìËàg‡n¾<älZÊÒ/¹G Í èúè0º5ñ‚‚õÌž³‡6=}Éü.Ÿ¢"+4èÉ“O¶‡•¯òV~^|¶uÙ{ÇÊη_ee@YÝ.é®ÜÝqχxñÍß(ôˆÈ5»)ÓÛZw§{÷îtïÔš޳{õ\~}ê:OB=$–#z|ƒAŲ=™äu[È+ÖŽ–_»|6%åÐrD‚‚:1"ò(®­Ðm0qä¬ÅöÈtþõ¯÷ùàptÎ4’³Ë;ö°É<Šüë}–¼7ȳHX[XMÂZÍ´Ék ™ô_|±÷F9X0yßZíì_099}yëÓ/øâ‹÷Åg$Ìù»¹3S¦tÂÇïa^{ï «wQ¢bÁäY쉜Ϋ>æãþÁc–yLž³;`Ķ~Œyã_¼¿ä=&ømbNÒ~ìd“eÕÇï1©ùF’sÕw¡G&¹ïf 2Ô¬¥Å|I]¦ mÎü'ëÓøØqÞÉ;ÇoÂÍøž(b×™²çž±±ú˜žážšàüц£M–?L“3…LÿÜÊ=]›ñŸÑ÷òŸ!÷þÀß¹'j9Ë7‡M<Ó”¹O6ãY“įKppFÃ9 r\téÝ„7žlÂ0NñÚÚîß”¹O6âaǼsØ ØYºòßÜÄ[£ïå?#ðà±|¦|] åå.¦UϦ¼1<Œ´Ï6[øÁT‡{ûàm¬ÍÔ'›ðˆÉÊß¿¶óPLXY]ëâ“ó#ûª™òxMÇ^ÁfþóéqŸ~‰)“ÿ‹'ïËgçqõœËt’³r+‹Ú3’ÿ$ -åýÍO³îüï¤zÒÿ™Êg.eÁ+íÆÅ3eÊžïãAê{‹Ù] xÀ•ËwteÔsÏó_/#8w Ÿ†€ö­ñÉßÌ¡òù”ÖClÎõ¡uû€JF¡< Dç/EäznFÁѽè×ÔýQä sñÒüÝÚ’Cq¤™ä„7ÙNk†å‘¼úNz‘^YûA2ëvçQ|›Ð¶_ #ñp¶$ñüHOm(>¸––­cßñ\_Âû`hç†xÅÙkùàƒuì>^˜ i;¡ƒÂ±&½ÄÜÝ.–üu"[b_&.ÂK{\ʾë‹qzx]öê,vâáu~­f‡¶vLjçî±DŽê„mò‡ìøÍËG<üzðHK÷rSH;ÚùÍcãBF4á‘Í1˜[Ò3ÒÈg_ÀÞçò,°ãöøõ`BÙ|­ ¾¯ñQ'0›MðÜ{|j5ážµD»Îõ˜óåQl€O•™m›rêñØ#î©!=kÆœ9_’ãè iùX'‚ð!$ÄÛQ Ð ??ÈYý!_†´ô«~ žéþ©|ô‘“»ò„´‹ÄoA–ËŸIójÚç;Voƒv¯Ñɽј#£‡Ï8Vï±ÒÉñ%9õzÐ7Ü]¯†¢Ý¼m­¦Ž¶ÌL\!p-‡¿õ£ÿyâ’°ãÃÔ§UCz6ór“‰µ`Ù³ƒ}é\ë0«8éÒ܃¢œ"ö™ëðǺ5à’â0zÓ³ì ˜-ïGÍ<[~F¬vm×Ïgʾ!5»h^§lº]M~S·&§‹\eÝ…wý» 3¹¿·~Së.î6ס‰Á]ϵpìœ:Å?z0°m÷(”¡=Û˜Xôõ)~ˆ(+Ç—6µÜ¥úÖ5âaw`sqñèHM5]løîGÂî3ÓÊ×—?ð½iÇž5÷;Žû„óxYB2‡v$Ôó;Ž_ÓçàqÒ÷”ÐàÑûô<šÐÿ¹—p¼(¿0©$ó#ÞùØJ×qOå[ypÊÝš ¡£hX^—®´4,`k®“ð€Ú´.¹ñ  ¾³–àѸ­}¶²ù•Ö­ÍX37“ïÛžÁÁŠ6"rK†žKxya\¸ƒ{Ö¤´¥ï 0¼,¤½;—Õ9ž4é>‚î!ÅlO^Ζ¤¹¸|'14ø’ò,i¼;w59žá ߯íI$&¿Ë²àxžØÇ¹«9DúŽèŒùà*–lIâ]Ï?óç~±tʛϦ"_:ÅŽ º©\ø’>²j‰E½;2¿²Ç Ò™»%˜±ãûxG}çÚÙô9G-ŒëõY…Ç}øpÏâïwwŒ>Aø”÷ÝM>ùÀ6[Ùè€Ñ¿ ‰ÄÇLj㨃ªÆlcP…³ö¦ó×úس×2o·ì8ê(Ë 98ê]a lÙØ¸¸F?¿²ÐÁh¬0Fpþ¿þôþ,XÀ‡ÓždÚQZä¸*¦·ç~<€¨«ü¼0úác´c±Sõ|9Àº›ÏæÌã“=w›9Žb!²òm½ªöq`±80¶¬Ð &‚|l³Ùp8îýYaYsc5¡§ˆÌïŠ z8èÚΤ_éšžš5ð®ð-㸿L<n ù;EÍ}Hß]ÂoÂëó¸ì&&>eeœ>SŠÓäQ¡Ì»ð®U牳8¨ €w5»Á£æ]êFÓ¥“Îâp88ƒÄÅ{X|þñs8kyb+ËOÆ—SiÒ­Í‹1A,ÚRÄß—äSPÓHçêólëZ•‡ûk<ö\VxÝÍùs4žx®-ô`ÃVbÀËëÂNòðªp2È•ËÊÿäâòl‰oùŠœ9|øê[|c¸›6ãÆjuQ’»€—§•}çãÂUAÖ *¬âBÇÃ#6í}Ù¼ùÖÖMÈÜšo»aRLæ¿^eÁþÀ@@×8âÖ(ˆÜ¡§ÄZ„Åb€âv¬ÚA ‚åóÊè=b(ýËZ’r€€Þ íçîp64ìf÷ü}dlÌaÐPÏ‹Ê>up 9€o÷~<Ð0|û²%‰Ý³±„oä ÌÒ9²>á!ø…¢ØË @3Á^@‘Á! Tæ‘ ]¯úŒ¦×¹Ì]cG„ãÚžÈÜuž ºãço`0æ½Qá"œüÿÀSe74pØò±Ù`·‘oŸ²î™Ã†Åås¸lF?Ÿ*¯MðñóÁh˾PVò³mø4t41=Þâ­™îQ›ì¤!<ùeõ›`òiˆ;.ªƒÃbc˪G‡ÎwÌ›Ó÷¹ô}ìù™ó§iLNŽäýÇ‚.ùßpÜ÷>š\í•üæ–ômæ`VÒ& ï¿ä†ù«™±ÀÁcÆ1k"sŽŽbþüÇhhûîüîO–J ÌfÁUµ??#‹­b2$ÛfÄÏϣ͈ÃfÃî:ÙmdÛª™ÞfÍ!½(€Ž ~®Êü¦™/ß±ëÄ9>+2Ñ·ñ•oXám®‰‡ÝÉiWù·×9NŸ*Å»Vª¯“¹FF£ïšFbŸlÎCµ¸,íº–²|}Ù×—‘œ¥(çSVç’X¿¹{Dë=ƒÙÎ)v‚¯à,áx‰ë¢¯vWÅäªìßOùVWy$Åi- Èå[6ju7íÇ¢Aê[,]œNð3Qøz„Ðÿ¹x>_OòÍžxÞ7Šøa!—“+Üd-°u;|S·r(¯„­ÇèØÚ=œÔxØóÄ—m€ÁÓ¬À#"7á›ç†¹Ø—ô $ü}>«¹ðl2ý*|:ûPöAî´/»Ð1àüxƒ—/^@IQñEÒ%ÇÝÁ©hõkLœ8‘‰M"pQxÜ=Ø\öèQ›¦‘D4õÓ¤\ŒK/Vñæë¯3g'ƒÆ?ADí;oK 7%±Í¯/^üxP§¾ÔۑĦòKs,›ødû=e?°šM–:7+—æðÉ'ûÝוXwðÉÍ:‡PU7ÕùÍlkIÚæ.<ÿËž7‡=…6,6#~Í빯uÉßHÒê£à°•Áaã²þyP;ú†åÃOÜ×ð`Ïæ³àÓ©'!Õõv­ß2ãÏ‘´ß}!…)¨Íýªz²“üô¼î ½†;‡ùÓ#n8õ¶MãO3V³;ߨÉÿöCâÇ%°ÍQz¦²Q™z!ø™Üu_›´[…í4:äÛì`¿Rûœ4ëÛ¶%±©ìҬ²ÉÖ’¾-Íø4‹¤ÞÑÕlÚï®Oög Øf«z+Šs¶r< Š&?çÉ¡ÚuxÄlgé×…üàëǃWñÞó¹Ç—&+Éye7[>u’¥yw^릅j׿!³“¥ßœ.›RèdWZ6¯f\ÍýÇï‚Ò³œ.ÇÑ<^ø ¯ìº¥øÖõÄ·æ%IäŽ=Ï¡Üýãn¾Éw·EÑžTö””Ÿ×ñÄ׳„ãye;ÝšÉæC%•œÿ *Ô“üÔ­ä9âÖ¼3‡÷w•'Òzð0Zÿ˜÷6à¼ÌfÌeÿ¼ð ¨}Èü‚ïŠÜuq¤óá{+ɼšëi}Ãéè›Oê—›9Б²¶xxUX‡¾ÐEä&¸)#=Á݇Ð=Ø ž˜ƒ ¬íÎ «9?opëq¬´ÀpY °ž¾æË*äàáÛi,££/œ3ÌnŠ(>^‚“Úx8-dlßM‘WÚFšµw媂Ǫ-:õ»#ä³6iõúN á¥‹‚:Ñ7dIkóiçÆzíðùd"O$äpÔâCdÜt7²c3:±€qOìáèQ~&0½‡?T5aÊ¿/Ó§ìgÚ¬¡<4Ùõ"<}:íýÔÓŽ‰ Cé7ÇzÍaÌ„á˜8‡?M aþ„ž´ó™ÌÄß aàÌø 6dðk“ÈŸ6™ßõsF굋㵸pLì¯zóÍ-õX=¦Mü- FŒ©9†)UÒïÿMæ/?„¡iwúµõƒÚ0rlwÂÌ9¬NœOÒ&+!m‡0v`C<ð¢IçÖ˜)a_ò¬:¨ûV‹È¯„u#/ô{”©ÝÓ ­ß~Â&K=CxDDä×馷yÐbôk¼VíSêóÒkÄ\ú¸WSzŒ|‘W¹¦ÚMû1:¾_¥Ë¼ªYV;ò ^Š|B{YD~]Ì™0a#“†òÐ4À'„¦SÙ¬>‘_ƒ˜ÞöS(æÈŽ’’6qܳ5ã_z‚†š‘&·‘Ûuz›ˆˆˆÈ¬Æ-Ug6«?ØÄqæ'ïdK^?b–‡'i°0y'Ç]Â;ÓÔU11­eÆk«±† ¢Ÿa«váò gPlw\«“HÞW¾á ;’üœä}žHân/üó$b<6–½vÍ›Xµ=ƒ/­eè~(IÕÇm1N¯ËŽg±/9""""w’éq¤±½:?HÓÖÁÊŽ-yœì±laáò7„Ñ76–ÞÙ^T1vy`\ûÖq°i?µõ…¢Ý,3‰}Mú1äÁ÷ßɹléükW³ÃÜ¡C$ÀUÄÎåË9X¬+UµY5‡×îÀR᱂´wI˜û9š9yõN¬`xÛ¶´mÛ–¶}f°Ï~s‹·§O CYùâ¾Â®‘Ÿ?ô8ÉÛ´+D„@±+˜È`(ÉØHNYÇñÔÁí|Ûö¥sD "{ âAs%Eù>H¿Î‘<Ы3æH–ý ¸ ¨2Çø¶%¦_$ô¢·ûÉäYµs¥*Ôd4½XÅÜ…;°8¤%2w'ƒžêG zD.Ϭ5L) ¶mÛ2`a–EDDn;76½Í™ÃÆŒ „uo&°îü‚Ýl¸‘Ý%àÛvÃÍå²jÉ&öm:Hq‹<Í^@Ö+Njãá´jFn©àã±j †Nýx®‡¹3–­P;ÜiN|ÅœÉñ$¦ÛÔ""òk=ÅÜ´¾Dv&"°üñ`ŠÖm"yßFöŠ ²akÈãø–d66íŽùàçì(=ºvBnàÙ¯ŸšAä|Þ™Ás/,'Óáþ»aÿ)Äù/ä…Äl5ŽˆˆÜ¶®ÿšžâƒlÜçs­}/îD†µõ±qß)ì̈aøº±:1‰uÖHº+óˆˆÜzìä¯Lqc(ƒf&³hêBÍj¹½Ý`·ÛÏ©)Dnܹsç8{ö,¥¥¥”––âp8°Ûíäææ}ÓÖcÝ·†…o/&%=ƒü²H>A¡DuÆÈØ´ªk'}BwƤ:-H&¾•é|ÇöÂ2ˆzcó:˜«ìïŠïè[åÏ=±‚áO#ÀIÉñ„™*/'kýb.K!}Wù6÷ºþ¡DE÷'fd Ý]þB{úºIÅ£ß`ÝœTV¼u×FŽJÄ=Ä 7ßáFzêvòÒW²xY _¥ï"»°lØ‚B[Õ;†‘1ÝhTÅ*ì_M ûsîz_ÊŠ‘Àº5o¿Íâõéd”ï4£? [EóÌx†GÕ­°A_1¡Ïs¸wQCÆ'/cd𪜷ˆ˜³Ým`ìÊkfqíM`gWü@âòú3cfʪ”·0†o–µnùöˆˆˆÜF j‘ÛKÞŠ Œš–Já%Ûò3I]<ÔeËx~Á üÏwԘͿà¬é̉‹#1ÃqÙ"Ga&i+g“¶òm¢ÆÏcæÈ0®¹Ÿž·Œø1åLJ®ÓÜXà±îcQüsÌN+¬d¡üÌ4Vf¦±òí†ÍœÉ„u/šÉ„pŽB;֬ĜFší² ;}%³Ç¤úü"ÞÞÈêÌ­ˆ‰6’šê²Y±>‘ëO=yë—Q>ͧÛpZ]W˜ŠÇаFhpGDDzDäaß7‡¸ Ç'bÏ ëC«F>P˜Å®õËI\žÎìçèm¼ð:ó/WaŽCbfÙßþQ Ö›¨ p䑱~%ËR3q`#ýÍQ¼à¿”y‚¯¾|ëWL•@šÃî¢&-dFŸº7Pß,Å`vÆù¦ÿÈ¢CÑÈ …y»X¿r1ËÓòÁ‘ÁâçÆ`\°ˆ¸V—„Jã…Æ·f0'.4›‘ÐÞÈéÚŠ 3Xów‘²(‘Ôlé³§’Òm!îÍ75¼>©)Ø€ìeëÉ>œª[&õËÎGº ‹¸î}^7¬‘Þh""¢AIDq IDATÐ#"¿”¬Ÿxál~×é,Õ‡ ]ü0ZuèÀ³9j1)zà¿X³–MãͲÀcŒxžEó†Sq[ŸÉ]ÏàR°á =a_u»ÊiYö},ó+Ë`hì<ÞˆiÄŒiå-‹¿xBcY0/îâ“V­èÐ'†á‹žcøìtd“8õm,‹£ª¨`KI`9¡Ä.˜GÜE…u£OÿnÌ<ŠÅù,N?Á€`÷5EÄÐÍ'…•îÔÃú¼áT9Ø“•ÂùÌãß›˜PÝ;\DD¤¢j‘Û%ó¤±8½üPž™P1ð\`n5ž©ƒüùúÚw±ðíò!ž†ŒŸzqà)W·ÛóLˆ(ûÑJâWWsOû¯êp¹~2O Ê<""" ="·%{æzÊ»ä4ìO·*ç:™h5¼?A¿t}³V\¸†¥a ÝUõ̺t›0)S¦3óy<u¥‘)+é3Æ0-Õ]¸O×éÌ›ÚᆧðÙ³VZ>o0b½«eLïaå©ÇFÚŠ,ªŽ=QÄV3eÏ?¬Ñù±8[¡G…ýÓ›òøš½r=•Çž¬ SÛ‚è†2ˆˆˆBÈm©03ë|‡ØØ(ŒjÇr‚:jüeëkÍÌ8í‘1¬úúš[õaÀ€>tëEXÝêºìv²Å·<ß]nÔó,œÑ‡à›Qߌ õõ ½bˆ2‡FߦÂÌLªŸj]ýMŒæ íG'Sh ½ËW’¹’´ÊROÖz–å_—é½"""r)]Ó#r[°S˜uánbþü«?›oò§‘?¤æÿ‚õÝU¡¾Aþ7eô!ý4FÎÎp‡?ÿAÌ™Yù”¹rykfðfJa£0&‚{gBŸ`w}÷]¨oáòt\~-‰4‹B¨tº!æ ê¯ª21¶J«FÿÞA,^œd²,-˜˜àK2Ï2ÊwshLï‹®-²g-#aÎWU2S£&ÅuÐÚDDD¡GDn ë…‰OFó•†qŒøÿÂ#=›ýê{åe¾É˜2/„ƒÂt¾Ê³fª2xYÓSII-¬²LÿàXÆ÷Á:lö믜µ‡ªJv7øÂbz´8‘| sYy11F¶²Xq~˜'”˜Kçä~EJj*Žª ÏŠb¼Bˆˆ(ôˆˆ\gH©æ¯ëR˜yÉoe“øÜ,:,'ê&ôÚ+Æ2ÿÞS˜|õaÅôÓÝ< Ñb&òf6¹Œ´¼Îöd­ ¥<óD £k]w""" ="·1÷h‰;ªË4öÌvU³Ühº0™Ëj­&>Ù³H˺¾úšC#.ܱ-s=yÕ­f×B¦ÆÇÏŒ•ߘÙEhyî«;€)3ºâSÌÒ&¿À²¼kߊwcc_ ™ö[hçGSžz2V’~‚‹¦¶£‡Ý”)~""" ="ò‹2‡v;¶Ÿì•Tý[•VÒ­§êÙm&ÌAzÈyéùUŽH{›”ëœ&gj4€èòßÖ,L!1ÃZe}Ó¾ÍÊ”RRRÈäênzP·ÛTfô/)$¼°¬*¦FýéZ^œm=o¯¯~ôèÄŠ8 É„YËøêÄO½÷ƒé:¬ü\w±2ãYë˧¶ùÐmx”nF ""¢Ð#rŽ&¦¼ßK&o&¬¨ôÇ*óÖLejjõ“³ü£*ü æú…¤UÒi·g-cr|ÚõOó2µbäȆåk!%>Êrĉ¯æP^_c4â¯vš–™“f2¬üWX3ß$îÍ]\wî1…1ò™òv>m2‹öU^šußB^HH#??ƒÔÅ+ÈÿæÂÕŽ!¢¬n»V¤±~EÙ0O7†EèçHEDDª£ˆÜ>©‡Þqƒx{Ìr GÚ4OcXLWZ™°摞²˜åiùÔ›þÆVfWZÅmL#ÕØRyaÄÅö§C°?Ø ÉJ[Éâ•éútåù˜,f/ξ®76ƒØ#HÌ Sxaà>ºÆÄÐ!Ô£#ŸÌ¯V°,5»,X‰š0‰>×riŠ©ãgÆòÕˆD²üÅ/Ðm)S¯s®WpÌ &¥ &!ÝŽtfHê Xu #Ø ÖÂ<Ò×/cÙÊŒó#i¡ã§Ò?øgØýu£“ÓÁ–:‹·Ëlïa7ïÎq'Ö³hqúe!κëÂ>®_ȬÂKÚ×?‚a#oÎÄŠˆˆüd¡gÆ j ‘Û€9jo<ŸÍ¨Ùé8Gf ‰ )?É'ŠIsž )¬¬² nLšÒ•ôÉ©îÎ{a:Ëg§sÑïq#?g*ݲÆ0»ì¡k¾‘›)Œ¸…ópÄű8ÃŽlRÏ&õ²'ú5~3c®½Ûl {†Yϧ1xv&PÈÊ Sé¶tÝ®ëºþ`bÞXñÏ‘Z’¾|6é•þPiYG6ú™îòV—â1¦§áÀVƒèsóÖoÏ_ÏÛ‰+©nF£#c%‹3.}4Šè˜>kŽˆˆÜÊ¡§K—.j ‘›àܹsœ={–ÒÒRJKKq8ØívrssoÒL„ ŸGr«$¾½˜”ôLÊo®fô%ªk ÏÄÅÐʜǢ+u¡ûÌbEð Þ®¢œ‘ÏÄU¬y®±±ÚáZ¯1G1aáú¯YHâòõ¤ïÊ®°®†´ŠÀ°‘ÃèÖÈtÝmÒhøL¦¤fZºl©ÄO[ÁÒ9®oäÁF̬dº¦§¸l_¥g’}þvF|‚B‰Š@ÌÈþtþy§•™£bˆ2¦‘V^ ÞÄ„ij›ˆˆÈ•Ü`·ÛÏ©)D~ÚÐý3Ö$E1™ ÐñK—1²‘öˆˆˆü:éF"""""¢Ð#"""""¢Ð#"""""¢Ð#"""""¢Ð#"""""¢Ð#"""""r5 j‘;Q0×mg¸BDDDD#="""""¢Ð#"""""¢Ð#"""""¢Ð#"""""¢Ð#"""""rK„'{ßÈĉ“xÿ ³ÒåG>y™‰'ñî^ç×ôÔ^6®JãHYQÅs˜8q"¯n´Tº\DDDDDäCÏÏ˲=™äu[È+vÿí2رĄ›+]."""""7ùwzгג”ô9ûŠ\x·%:à’'œÊà“¤d¶*¢O‚[dÄÐôp²÷Ý—˜¿Ï—î#"ÈK^Ç>+x†tgäè^ðÁKÌÝí`É_'²%öeF“LbR'sðõ‹–§õkË«¶SËK£#ðNí˜Ã_“rðí>‘ø~Úó¿vÎbœ^x\ö°/µˆˆˆÈäæô8’¸š}E^´ô#:ÈØi­ð„VÍMdÓ!ˆ1žñC°î\»«Žà< ÇÙ˜b!lP,}Ã<)ÉYÇëŠéK'__:ÅŽghS¯‹rÛ¥ËêDk_pÜNv1@1yÛó€l«À#NެšÃk w`©ðXAÚ»$ÌýœM‘Qè©TÑ>v[€^ô‹nA‹^a ©`;;ŽÁ½èÙ†ô£SíÜR¡“i i¿:GDйW$f (ÏÁ{xÒ@¯‹WíqéòÚõ‰~0\ÙžçgÛ³]M¤2àAýGFÓ‹UÌ]¸‹ÓIAZ"s×y2è©~j GDDDäŽrÓ¦·9‹S `6SžIÌfÜIœÅV÷ò¼%üuâ’ ¯Ì£ÈEÙk¼ðõuWÉÃËË]¹ë<ëÙ™àÕËÙ·=bÕ@p¿pü´Ï?9ÎåÍ×Spº‚:þ "j«eDDDDzªàáå;%Vw¸ñ,Ö ËÜ˃2~DØù`„Á_/ȹé}Úp:…,gɾ-dxÄJ}Ãyäòàã±j †NýxDDDDîP7oz›o8afàøç$oÌ #m9Éû\–F䥱=ÏJqAÉ ß%iUW¾ášGÙ5?vîÌ Û⼊嵉è†ÁºäMEФ3aêÔJ%Á'²ŸˆˆˆˆBÏÕðhH¿Øî41[ÙœÈÛ D·õ\e3Ôé5:–NM\lOšË›‰ŸS`£W¿0®Üßô¢IçÖ˜)a_ò¬:X|U˽šv"Ì%ë|5ë‘;Í]v»ýܹuÎ#|’ðw6‡óÔK#iá¥.?­sçÎqöìYJKK)--Åáp`·ÛÉÍÍ%::Z $"""ò 0Ü™›UÌ‘½û8´3…MVðíÞ‹¦ <""""" =w §•Ë“XW¾aÝ«>º ±ˆˆˆˆÈ¯Ó=½Mäg¦ém""""·žjQèQèQèQèQèQè…………‘Ÿ“`Æ j ¹sCO‹{ÃÕ"""""rGÒô6QèQèQèQèQè¹5ˆˆˆüÚ>}š“'Oâp88{ö¬D~1žžžøùùáé驯Pè¹yçøñãøûûãííMš#¿«ÕÊÑ£G©W¯ž‚ÏM¤wµˆˆˆüªÀ½uïPzýλ)DGDDDDD¡§bz($cÇI¨ý ½ÛbéÚïÙQÐÞÁeE¦1o~*§‚¤ç÷¤>IiM?ZôJßVu0\aù%+£`ó2>.éñ4P’—ÆêU[8`±ÞEô¤oï–øÀuì[V¯XÏ^‹0Ðâ!ôk…÷a÷è@ÖÒ™Ìn6œçzãó*ŽôØ8œú)kwÆýr?E>D¿®MðÆÅá_géá:´JÁÚ-dSЃ<úX7B<áô¡õ¬Jù–¬Sv &µÜOïÑØGˆˆˆˆÈÏ醯éq~KÆ)ðk{? Z<@§Ù»ã®ó±ÊàNVù»8Õb ±Oô¡‘ÁÂÞÕŸa»ŠåÕ±íáãÅ©8y] ¢okùÉ,M=†ËuŒµK×°×R‡vƒŸ¤kOŽïý”·ŸÄ³Aú·ð  Ëžè|IúsQúK·¦¤AW<.Á§ÉÚº„ÿ¤âjÖ°¾ù${¢Kcöü-¬ÞZ®Ö®ØBVi(}’¡îÇ”·Uks(Ñ1'""""ò³ºÁ‘é»8ƒÁ`/ ¤E ¬Û¿´mî‰ËûÛïàTÁI\p¹ÜåääY¸·ñƒ<1á! :ÞnM¶C¤¦—Ùµ%uÔ"""" =gž<Ò÷Û;ÛÞ‹mçd’žSBH“ Wǘê`*[¥ÉÛ°SrÚuååÞU¯¾Ärº,¸x»7ÄàCHó–å=Y v¬amF§J/¼¦f©ë*6ÌŽå´»NÞå-äéwM8~úd…ÑOêÔv?Á`òt×ÁBè=0’Ó);ؽáSvojú>p8ýšk~Û­x2Yñþ§ ì-„Ç)øˆˆˆˆ(ôT 9_³ßµ#úУ¹wùƒlX½Ãé9”4 ½pS€Óœ¦%ž¸8}²¤,GTXý•–WÂÓÏ“ì;.|0¸N²?#““¦Z˜6±bg4ø-x¬u >åŸïïÂuU[fÂÏrOŸä¤ ‚ @ÉIN—µýñN_¡ïæóDó‡qÙ É;ü-R¶³{U*‘ü-Áò¹…ÏJü=±ö&/â?Ë|DDDDî47pMO ¹é‡(¥-ÚßOóæ¡î­ µ”ÞÎáŠ×äœú–ÏS÷pøûõ¬Ýk‚‰ò¼úå•‹ÆÐ8µ} éûñ}ê2>Nù’­9.(µS à*átA&›SaJO£ÀæÂ`ª @AÆ.»äâ!Ã=DFÔrX»êköÚÃÖÕë9´m…ÿ•BËɯyÖ+¼ñá×äžraðöw™Lšâv«p’ºt %çw‘þ uˆ4œŽ¤²ôËcWŽEDDDävpý}ð’Ò—‚wc÷-ŸÏ«Cãˆ:¬ÛCúa÷†”=x?A…©|´õ$¥&?Â{?B„®¥©byµþû´âÑÇ Y±êk6|´÷ÝÛ~Kßžõñ¡'Ý/aÝá/ùàÃ@Â{¢¿i9+¤²bkžŠ|€[×»w +\ux¶çÅÍØõIu}ÊÚ_òñÀäG³.1ônëWê×¹ŸÞ=óXµùK–¾ï~¨Và½ôêÛí'º•·\û‘ïOÇÇÇað4\tìF zšf.ÃNOŸdÙÚ\–(æX)PÓ@ÓÆuÝ«>í¼ïìß*¶å°ÙàGŸÛäMèÈ;ÄðE…UºÔÈã£Zñ´ÿÍÝg–Œ †oógႨw‡8 1üß·¯·Ÿ™îm‚y:²676ÙŶ¥;xµN õòÁxK&±"ד-¼ªh£3üq|Ý+žƒ,Ìaø‚“ {º\¹ ÿ÷IžA'Ïë[Ïá ßÌžÄòúaÊÐFx\Ók ùnóu¼Ú7Rƒ¬­ì2´¡ýo._{áúé¼üQA…G¼ðkØ‚Ž}ñнµolÓY$M›Kqì_ÝÜãÖÞKU¶Ñì?¹óCg(¿øß•.òp,û£<ÔÔ ¤ý nt­ª¼*–{6ÿ=_¼ðwÈ ‰L¬¸<¤íVI÷Ðö±8ÚV|èÞ8î­°üñ?Ý_aažzñЉп=‡Ò¼gåÍvi=ðïÆ˜/Ô#0òFF>¢#ìV>ø= •î[Ï;5ñœ.⯉øÚ¿ÿóû´ó7`+,bźÃLJtð‡¦´»c¤ÊÅm?°¬‘/}oƒ›°ô…&—w25÷ò&òâÊ;ô.;㟟ïcdn3ðå×p¦-7Ÿwvѧ…×õ…3ÿú¼ýL>ž?ñzîd…»X±ú#ÚÝGíëîm;Éþb©­î­4ôà7€—¦<„?à<õßo[Á’¹3Ø?<žqíkÿ ú*ÚHzDävw–[³XOóbЬìïãï˰GMÔË(Ư왖ýYüï: ì5iÂÿôðÅÏeãõ·3)Šª NqÀâ€ÁüO‹þ½ÕJÎ)'ÆF!ÌP¿Â†ÿûÝ[{°3×å”cƒ`^î_8 x}å6Ÿ:çþ.nÄ‹ÑÒÓŶ¥ßñwï :ž.dç)'GOèþp þÒÜp±'ý ¯~eÅB ðöfX¯¦ k`€Â\FþÛÊ€&6ï=ÃÑSN â•GïÁñÕ^þû@)ÎûžÛ”…]\üßÊÖYÎ ŒwóçþMètŠª÷Ó)þööŠ"î†Ã§9zډͻ|´)Ýë%6–}v˜Å¹N€±vžîߘ>—ŽU÷Þ·ÉöL_$&ñÅ NÀ«~;†ŒÊ}†ïx÷õ(°ÂÜiŽ‹£›ß1¶&%²b¯WÙs;ˆûj§¾ãƒw—ðm{Ɖ!ð~†Œ„ßú×yw—×÷3˜öýSÄl^íh…GíßpßCã¨ox•—?ZÎþ6#iîq†¬õ‹HúìVsCËCÍkÁ±d¦½z€û»ÖæÀÞcX-V Í0:¶#÷\Rö©ï>àݾ¥ Ø}b¡~‡!Äl†åƒiÌ92ˆ)Ï·)Ñ:ÃwsþKãøKó%ÌXÝŒ¾Žñ]Ö ¬~´‹€ßÖl;bÁRìG‡±q üP]=¿`ú«ßѾ¯ßs‹Å æ©ÑaõµµÑÅûïÖ/Jä‹V÷ýªüZÐ7vïñç1¶&½ËG»¬jûѬk;,+R¹ïÅ)È«û)eG®7Á¢?ü¿¹¼´¿ÿÛŠE¿Æxàk ÏwAi1› ˜ÛŠEO7åÞ¼x5î3$.ËáûMY׆äq-pò/}~ 50Îrì€Ö}#xû÷óv;X¹î(9€íðaþ{C)1CÛ׆…j°øãƒl* (=Í‚x%¶‹žnL³ü#ü3÷,ͺ4åi¿»hÚ½‹˜9ðUë¼¹×ÿ—ûx¹“”Å·Ïî¼Â~¢´”¹µøsl+>ÛŠ?{ñ·Ï‹°q–=ëöóÎɺÌ׆ä¸ûx¹×—ý@Žëâ\Ýó,y=·ÿ3® KŸ ¥SîQ¾/£Á‹îm¼8ºó9e%9òó5f5¸=αëÒ½¶‹¯Ûát/}|c—p’ãÚ°thEöózÞÙ+´óU¶¥É—ǃKY—nÃQöÜœ½EX‚ëÑÑûÞoW¨§‘R¶ðäÙ,|¦1ä¯Î@ƒÆ¼ÜÚ€Gƒ¦,нŽÀs Gn6¯çzóò¸6$ǵeawOî=‰íÒõœ®îø­.väÖâå¸6ÌŽô¯¶n—Ïß>Kd…¥=ã_™Å¬Yñôe‹–ìÇYë>bc[áåÕŽ±Sâèv“¬åsXr¤£_z…W^y‰á»H|w3…8ÉZ±„oká¥WÜËb›YØö…{>Å€@õ‡Ä3å:óþmºR¿øßsræûEÌ]qŠŽù+¯¼ò ñ<øb~"ߨ®lvñ0q/NfÊKOÑ(k9‰ÛN]‚7ónâ.îÏ+¯¼Â+ñ0|õ.Iß9©ß±µ¬gWùKÎ`ó‘Ú´éX/ ¸ ¾çL×ÑQãñëá þ‘#ð<}ˆŠ îx<éACe1ÿç+.4ôÀêB~ùäíAñðÄík}Uƒ¦8[/ÏAã r«âãªækÅ‹#žrn«‡¡~î|ý?§i{%]¨:D•ÇÓŒ6ººËy1ÞèNEñixj#´§ùøS³+ó|L•ÇPF<ånà¦ÄÓOºîhý%÷½ý|aqU¾ë-t\3®ÇZßHUöoxu‹+Ê44Pk=<9>žn¹|¸{ ¹ëêÑGðœ)üƒî6wìÂ×\ht£G#õ©¯Z믺»®šê¡Ï…z羺yàÙæÞ»ÆÆÓ 4ÐúÃK=xhñp¿z¹zÐ14òIòöÆ9œ3W¡=‹'‹ÎøÒî}nn­“ ¹·ü¼áÆû鸹·_Ïw>{õXëÝñÔ¸·‹Ôc©¯Ç³¾'[·âîÙ·Ï¥Þ!¡Gq¿î41*œÿìkÊFª]wè›+yÉÉ«C=ÊuÃý’[có·Ãlß\¦gO·[¯´^¾ŒÅÍM¸ûÜUn¨{z æ[¾n÷ZtS£†«ºµ+O<ÖžZ#Û¦x^»?ßÜZy‡ô#8¸t‘vÁïw©ÙÓ롸C§¾ÙyºÜ„ÅÞÚÂå°7Рêšn<¡‚ÿýö2- ýöl¸á­jøn´\7zvï‚ÍÞèŸðí%l—[­‡<†#ï eá³îOðíÃÓ“ÚQ{†.v'º¯;ê³î¸{>ÁÚùzôׄ£ 7(g°tª,»‚›šhÿ.¼\ò e}ÿ޾ºÃ­Ì›¯~ìFûiûŽ%Òµ§;Ú¶ß—º^çû +Þþ}ùgÿ¾@e‡Nðò®“ Zèß®UF}«ß3×+£‡'ñ»n#_ýšeñ~ô¾Þ™JÚ-ìÆÃ ã¬ßÿ=:xÝÿÈü#‹_qhã*Ö¯÷#åeÃíì_}¼Ÿ3š bžô ÁÓ¡ øÝ¼f/ûh¬çB=àÚ­k=nîí–u×z@½…úÖ¼M½µOÜAãé³=Õ^TžöbĬ[Mkîhn´Ÿæ»q5h<8mm{Pêñ@ëᆇ»õõ­؆ú¯©—ç^TÏ„n^Ý\ÉGgœmæólÊù‚?Öv¥¯ª+j/ŒöóäœruøÆÂêJðž·q§ÞAîg®~ø—¾!÷vGéù#´vrJ.8_k¼È‡.¡ö׺º³\ÿŒCzBe-ãl•p˜Ïð·URz©3_uM8쀶áÕRWWšîÝùáMºý=p¡§穢䜫›•?»DO¯'ðîÞƒ‰?èFÅ¡æ×)+9Cöq~Ôvð½Û–sCoTñí—ç(»ä\á!s»îNê¾O2‚ÿÇ÷~ƒ:°÷MÎ냢‘êÕ¼¼ÍŒ2ÄÀ]WÔ}{ð­™M_6´ˆÜ¿gSMk«X‡åìÖÙ²t]×O÷B{ª†?–\áG!·Þ*Ö™ý¼®nÀ¥lß¹ü®P]òósϹŸ;z/UkØi³[ÿžùîetÕs¡Þ ­Ÿ–@ƒùS>¿Øü¦3|üq¥sÛ?çã èótŸvÁÃÓ†¡þS>¬p¾©Áü)V¸cáZÎs ãVömÏ¥R;‚ [n¡êÌ~ÞøsÞé2jÙä“„ òàô‡Å|íèiÛ:Ñõ†Ë1äüŸ/OðêêOQ÷TøQH/~XÑæ×¼›šè]ˆûÔ_=ÿ •ªç÷«þ›ß»þ×Ó³'#Æ âÁj׸/þåùKmʹ zc_þ¥y±ë–sc» û Ë@׋)ÕñÇKOò+¯Û¸y³ý¼ÑÍÿ'ðþ´Š™<é|‡i뻢ôaÌ—•Ì{³ÒyœªŒ™ôC‚ݺâ¸j;·ü=ó]Ëè±|“¥Ûþ¤s~÷k¢¦Y“Ê«Û=ÑôÊôYã8½æ=Þ|GKÒôPz¬cMb*¡¿N"fú¦godÍovÓHhŒŒŸ5Oz4iŸ®“W·7àŽ;nOdÖÜ ¯6ËyN2~³Û9{›W1 F;Ç2Ž˜Ë”Ï×±æ7¯âáéÅ ñ#èsäÔ9@]N}UÓ$E!ÄÝõTŸïÏÁš;ùÀBq繦RþvJ0¿í{*‡ßÔ1ïÏg‰žÄרºÒ£Ì?æÅ;1^æ Þ;ZÎ n>ÂÛ~ƒZ§ú÷´ŒNž;K]O ƒšËsŽ?l`Ä(­ÌbÔ ¶/OñÇ3=˜;X”Ñ£ž]¿¦xËAäšíì8¤ïð/¯fð±¹ç8©±x1È¥úÀ‘îmB!n‰ÒWÏ+Oðoþ”7å1 ¿|þ)ŒnW(ûÛ^þì2¡F^é+¿bn¬žMëñ¶EÅäÉÓSJDÊèÎ;Ÿ¿Mêš#0ðLyêö§Ù~À¸ûOgVèÛlI{•퀻vS^šâšž\6-p;^ʺcrÒEÛÀs”wWm¦ÆÍÒ3°`ÞU×™B!„ø>‡gرžÇR?¼^óIãy>ËÛLÑñóΉnâRÕGlÉ;Fµñ¦¡ëŒè®EÓ|ç¿­ç±Õ{P yסj½4pÌ*g]´ <Û¹4&ž_s£4{ kÞ‘à#„Bñ¨¹ýîmî^ Ñwjøè“Ó4´¼ÐÀé½o’ø›7Éùâ§ßÏæ£ãçÑFýŠß®XÁ²¨'nP =Ææ-ŸQÓÈÜߤ±â·/1Àíú¡ËK\²p¾9ÕŸw¶>i¼xÂCã ;V«3üЈåŒÑ|™žáýuÛ¹4fsýpw×ò£y x†÷y{GÛëY!„B<ì¾SKÏÀ©ÏÒïøvNæý;+Ž#з;—Îã“ãç¡ûøzÐø‰³úØpÉÊ™/ ø¨Ð<¬ÿ[…%Ѐ»€…Ï>;Š—ÁF£+ ÔŸ¯¡ô“<ªú3TŸ©o÷ÝÝ—{‚¿t’› pû±†3…ï;'V9 ¯Þõ Ð|ÄßϾÏö ?v;Æûǹ³t‹G»Ï,HÄÝ£m¥–Í[Æàw÷%„Bñéð›ßüfùíåž¾?íË•ógùêäq**«©1»ã8ŽY¿˜F€g7z>¥¡îØq*?/áÓ¯Ü3™ž's²âs¬þcø±÷99MÍñãœó{–gŸøŠ£'+ø¬øs¾ñ›Ìì`+Ÿ~~’cÕ‚XÇß?û†žF2 ÆÓ¾õ_sⳃü½äß>Aà3?'&²/ªnó¿Fª>¯ âÈgÿÖ—~V*¾n¤×ÓcxºW79ûß÷‹ß½[‡ ÷ïxi455µü¹|ù2—/_æÂ… ôíÛW ]!„â>è`·Û›ÍÃkàÂ…z<<=q§ªÍ¿eÕ'0dÑ¿òSƒÜËw^SSW®\i ;‡»ÝΩS§—B!„¸á¾^ þÍÄγ§Ç0Fsœ¥—À-a^x„B!„ÐóÐÓòãy³¨ÙœÇ'Û×p èîÈÔé/2ÐCN¼B!„ßx÷6!î-éÞ&„Bñàé*E „B!„Ð#„B!„z„B!„BBB!„BHèB!„B =Bˆ’ýx‡ cØ” *¥8„BñøNÏé9pà€” øÞ5jÔýÝšDO}ƒªŽ^SÔøøÉ”èÉ„øªä„=ŠZ®Á¼öÑ;LÔH‘!„!-=B<„Ô:||œt:5ŠÃFmy»Ö›ˆ›:†yé9'Åôàg˜œh† ›ÇV) !„ânr“"âa3˜ÄmWßå·sîxùëײ*¿œ£›c~ì´HzI= ¬T¹F!„x CÏ}ïî#„pQÑk@$sÒ"‰œDìÒ|ÌùI¤ŽÞIÆD‰=&3%•)!„âîmB‘9I98wó3ˆnóÚ¼å¹TÚ;ÚÈ9Žä¤?g"Ã]å4,2š¸å9¹z·ÚmßÊñÜ4â¦D¶”ïÄ9 dl}Ó¹œ9 6ƒõµGIã:–û]º*ìT~A¼)­Ç2,’è¸ålHŠaé.!®×B3Gw¥g:rUÅ¿†ÜøÄš¶ST~ᣙ0!œÁª*Jv™ˆOnMû2oÙþÚ8bM%¨ÃçñòË‹˜=Ú€¹|?ëǶ”“ªÿdfOA €šÉÓ™>}6|îÆVJÒæ0#y=ûšñ Í„ ¬¢ªdo,žÊâ•í¿&—Å3’ÙTT…MÝŸðÑÒ”³)u±k`¶µ=fWP›ÁÒUù5k>šÑ£Ãìc§ªh;¦Ø,?(ÁG!Äý#cz„xù†0ÁÊkÍ)·ÂpŽR“È7ƒzt Ó¦Ð2É›õóbYô r†“3ǯMðUlßÎk;3hé-7oS–Ï nWëßÈgvæ”ë²î#5)3 !‰y+Ú¯µÂ\“KüŒTŠö›0}NÆÄ^ô ŸMÉ””od_M4s|Û¯®27ŸZ@9›Á*À®¸ö³œõEÓÉÜ–Dˆk¨Ìì ¦Æl¼?•dŸk_›³‰ÚüMM "ĵS59KI-²n2¯g/'²åÀÎqpy ‹w‘ššKxË1·Ù~îh^Û™ÞZNs¢ OšÂâüZr6•3yš 9$øùR¾«„ü˜žt×fb³—¤“°½ èÏ¢ì,æ Pµ¢Kó)y#‰œÈ®r¶r0ÝD‰ü2Û2çà§j]>fé*ÊÛ\ö#kÉ8êŸÙdmK ¨Mv«ù 9ÉûÙ•žËüásð•O§Bˆû@Zz„x$éðÓ9ÿe®´¹jŸù¬-r!$&¶ <š æ/ŸŒ¨ZŸÓ®K\sÅÖgví‡i™?@É.Jnp#ÿܾw(r†ù$¶ <¾SH˜ïꎷ©È9ë\¯áÌ­UääW^µ¶Jöå×:&ÌîÏÕm#ƒçÏo 5*¿H»¢¯õWG%•ææüq6­-ÔLHIhxz1|0…BHèBÜIŠ«òépرÖ#ùÎgüôŸLHM2ªþSQs å×ÔÌÕEút­‚ v‘’šëuq³S¾ÏÙ6 NkÁ'$ÜY!®,¢Êî Ts"!,'·ýCN+÷‘[ øL&z€êš°Ôÿê&â|mð5¯©ÑiœáÀÚ<§€¹„ƒf€ &uÐü¢ ar€*ö_SP:†‡\[µWt:gW6»Û½¼ì5ì+w ƒ'^¡A‘j‹\Ì\Žó-ý‰¼:Á !$z8WÇÅ×5à(J'cßU]åÐ0 $„~äéQB!îéÞ&Ä#ÉŽÕUóTëœc/jË]M59˜öu𛳲‹™#f;Sz©ÚUæûk:¨²ª4øh›•ZóõöÅJm­3Qèúë:¬øªtPf[ ç€ Tƒg©ÎgWí.rŽÏ'ÁpjæRøDOÁkÙOû©¨›‚¯êæÕn»¹ç¡”óÎòr;XÆ\ëüû\•öSNw¼ý–ö²{=Y›£–*³+ ê:>vŸ¦ù`°ŠÕ~4~è”ΕO¾ä·tqP-bù„"–æW±}é ¶+B"‡3zt$‘ÃCð•Y¹…BHèBÜùÌc¦ÄU1ïå§ìØ®·í(û÷ß80Ù:hŽÐ(/­qÕæ¸Òʵ5o쮦(× Šâz§‡ÝµRUfOѱk“™üœJ% @E ûrª³'øÝb¡( W61sôÆ…£ÖŠý:Gý „_»ëØåzEïJ$³ó¸VçߊB‡Q£î ${™¶m£ßaí¦]ä­¢$¿Š’üM¼šÁÓYž0ñš®oB!„„!Äí«Í§È П ®.]*×m{%ü->Ê~ËõÇ¢Øí˜5dÔ*åºaCÕ¦«]‡ãtX[+ç-;¦b@ôl|6­¢vå I™÷‘SôŸCäÝΡ›NÖΤvƒò>ªÖ0é¸^ÆsYEã 3ŠÊyüWX½úøí¶ë4Xið›OÚÄxÒì5)*"?7‡Üýåݞ̳Šéò°\!„÷‡Œéâ‘ce_Fµý£ w…Ÿós-æ[^§™rsGcvlÔ8ûB᫾Þ{5øù8‘¹ÜÜñ3aš»”©}éÕ6;ùM`¶0ï'·ÜJ;ª€Á³GßµYÀTº çø"s•+Ð=Ä ΃ሹã1Wææzù9Ø4>ÎXj­épü‘½¶¤ãiÄÛ¢/A‘Ñ$¤oäƒìEÇþµì?'ŸN!„÷‡@]N6] ¡«—·”ˆwúÎB×® †{´5;•9I$í·:&'Ln šþèO åå¹ÕD}Mj8ÇÁÊÑ…„0 —êšps$¿{Ѐv7þí•û8êèOˆïõšDT&ÁþÌûЍMpÍXœÚ}%Î ö€Ñôo?µæ æÔ£ìÏ=ˆoIÂìð»Ø^ ÌpT™Sb%2RsmïÛGßp†û=àƒUT¾DVؾßÁÑÜrì!AW5ÜÔP’ïìÙtgØÑá Ô:Ê9X !~íõÑM¯ CvjŽì£èˆƒè)×taS ˆ$Ògëk­ÔØ@šz„BÜ·Ðséÿ×ùK¯à )!RÖʃä®Mçü* ³_'!¤M Ôw4sÃÓI.:Jº)‡×ÛNGl¥$c1‹×—Ãàv¾3åš–”Ú9Ñ™ÌiyS ù«r0Jxt»© ¯Ökø\&¨Kȯ]‹)'²Ýszì•1mªÔL˜;üšÎo-ÏìÙnb „ÏføÝ¬8«0{n6½QN‘ÉÄýӘئ0Îí3¿tµÊh^ÿ ÈÛÍ=-~5Snæ.=§GCÈüh|öo¢v—‰µÑYÄ·é¯WóA:å€ÂÜ ®ƒÔ fr””Ô’“ñ³Ó'¶ä”sÓY¾ïêæ/•ï¤bÚïÀPëË; !íΡýx®óA²Š!2gµBˆûz„“£˜fLa•ÒZé´šÍØZê¢jBæ¦óz|ÐU¢SÒ(Š]Ê®"3Æl$$Ü*QnvV~—Oè ë˜é‘fÞ˜1‘]áÃñÓØ©9²Ÿ£µƒY”Î ëìšá$¦MæÈâ]”˜f01'œáý5ØÍ•”•c ³ÓI®é(11;\¡¤È(„Ïán·¯øÎy”¢9¤å“<õ ëCBðÓùx %UÎV´ )‰·xT¾„ ¨ª–õó¢)ñÓ ‹N#}Šo§®Ô)yãzkÊ`R6¦3\ª‹H›[BìúrÖÇŽa_H8t*¬•%•›]ÇòZ›g õbÂËsy'f=Uû“™4e;£ƒt`>Âþ3á//B÷Æm¬†'$Rd¢dScr „ù¡VÀa.§äh-B.³¸ !„Ð#„è,›¹öª.F jŸþ„„O zN4ï7MV¯H–oÌ&|íZÖçQ²¿Ê•“ „LŸÃüùÑ>ÃT X”IÖàU¬Ú´üZgñ<ù‰‰LéÄ´\šáËÙ˜ÎÚµëÉ/*"¿ÜÐ|O zÞ|æGú]gr !³ÃQŠöãPG2'è^Ôœ}™Ô‚Ó IDAT’‘‹_NksöSR²ß9E³¢£øf/šÏ”ßu?üˆ^¾ˆ’¥«(2Wqô¨ŽðèοÛa3c¾îCÌm&žPŸÅΠM¬z'‡ƒ%ûÉo>–ѳ™=ÿÚcQ ˆç,¦ôõì;ZÂþZPF3÷õæ‡!î–ËÎU\ÑdnóaãÚõ䡤Èu]): !“‰ž;Ÿèá¾òÁBqßt81  ¤{›â*öƒ$ŒYÌ~Gwo$ú>Ç8—;I©GÑMÏbgR<äò~:—ÜI&Ê• d~”Fˆœ !„™½Mñ€¯ã¬_{00{Žž{’kŽ䃜öÕ\;㛵ü •>ƒñ‘“!„â!!ÝÛ„rõ›ƒéKÙT Jø|&ûI‰Üƒ”Ií¦$’wÙ ¿•ì¬y h7ÖÖšöã Ñ‘H‡5!„z„âv«Ý•9˜2ò)?Zâœ`ANJÊD™íøžP´h9ö-%¿|1crÒµ-r=O©ÿ\Ò¢%ò!„Ð#„·Ïz„¢ý%˜Qð ‰fQÊ¢6³‹‰»®W$iÛ²YµŠûJ8Zä|–â3˜Ñf?"~ÒµM!ÄCD&2B!„B<Òd"!„B!„„!„B!„Ð#„B!„z„B!„BBB!„BÜ12eõ÷½˜¯žý9¼¦ý9}·$áq;SÑÚK©›õK—òÔЇo.ÛËÇÞê<Ëãþwoß›ššèÒ¥‹\ƒB!„zÄݧÐã­ÿ¾³áDLïw÷€æa|x‡Kï¦óÍÈ÷ï-—‡B!„„ñh³cKŒàŒn=Íïs±ú4—-½P/ÿÞÆbªg™P­ÙÓ®‘+'ÒørÁôz÷eê¸Zz>§nÖ"gޤ!ûCÜ’öÐ7ø4–ôD,‡NÐÅ{<ºåËyÜ ¢ñÃù2;]àçX¦±ÎŠû´UôYL·Úµœüé4±ý¸TPŠ£ÚŠûO8ÖcÙsGƒîqÿ‰ïó}èÊ.nIäë¬b.hCy,ÉDï@Op­çñ¸~Øö|NcÝišŒ‹è“öš²^¤¦ðMÅÏr²ô?0$ôÂjzó¡Ó4¨‡à™ô^C=åòB!„Ð#]°ÓXðÞÌ“:pl‰¢ò­÷Ðfÿ„Ç9—w’ÞþƒèŠ{Þ®'ÒS õ-kPÑ…s\:4„§þb¢»ÊÎÅ´_b®ý%}ÿ2—î*;õkžçÔÒUtßš€» š*Þ§aé{–zº‚” ëÌÍ<ŽŠ.ŽÏ¨W¿ÁS™}h:ôOœ\úOœO|}Vo.ü‚“¯¯åRT*ªÒåÔdZÑý¹' * ^¦ri"ª-ÿ§k=VLôÍìGWk§gýçJÂS þ]AßļÏžíÍåC¿àìá!ôùË_è¡‚ÆCiÔåÐ0ô9Üïãyq8œ={–óçÏc·ÛåBB!„Ð#nP}æââ!”_}1ĽßOû*ºý jóçÝüûÑÅö%vOÔ³B9óÖ{ØãáÁI¾Ùs¤PÜ8yÍVÜ£ÆÑ]ØOráÐTK_pþÓ~‚{öq±6Ç´ãð4:[RºzÁ=4ØP¢Ù‡®Àï!tSÎáæì†ÖÅ»]m'¹‚Kù¦Ð·ñ48[¡ÜB‰Zù9ÊìxêåhFösÎޡ釢…‹æ ׆>uºÚŠù&¯€®#Cé–ÄSa÷ùŒ9TTTгgOúôéƒJ¥’ËX!„BB¸¾éq¶ tQ”ÖàúÐ-x.¶å\¨N@Åñ-#ñî Û—¢ÐU×üs+6]Õm¶§îEW¬4Øš·×‹n-/;ÿÑDëÿ»*mW®¢Kóÿ•kßì4Z4•ý‚“QªÖc±Êz¡Ãõt®tP]“Ч­çÜ–4¾Jÿ’&ý8_ºœÞCïßxŸ³gÏÒ³gOz÷–1GB!„zÄÝ¥ å‰0;uyŸ£vì°UÎÙÞnØÛJƒ›ÚŽÃfo 4ØÎq îê;Õb¡ÂM«¡kÔŸè—|í\ìµ·¶.÷°ùø„ÍÎrqK§“–Óã/ÿAÏûÔÀrþüyúôé#ןB!Ämçôˆ[ÓFBÁŸ0¨è9sÐÍ/"U?ôˆ5Ñ]ØnôÎ^ôˆ‚9s‡LÒ¡>”BÕ¸Dš]ÔƒÐ$¥ß·V!„BñÝt81   ÁR"BÜ%ßåá¤%%% 4H Q!„â6H÷6!„B!„„!„B!„Ð#„B!„z„B!„BBB!„BHèB!„B =B!ÄweÝÂQÏ’vÌþ`ìOU6³Fý”ìª;v€Z<ŠQ£œÆ/=Äý>Rûá$Æ_Ê!ûyAP°`ã“ßÙrºÕóZµ†Y£šÏÛ»ÌyÿȨç_ç˜]>úâÑ"'âc¯ÝCfF6{‹+°8@Ñ066øiþhÚüÒ>œŠ)«˜:‡‚6x* )‹©k^É1¶š2ÙQZFµÅ±’¿¦ ½êÁµVo5‘‘UH… Pë¿‚åQ>·Pw8ÁVS*Y…ÕØPcœOJB€cË_`áÞöO–U]Í{Ëéܳb­ÛšAæŽBʪm8P£J|âÂ\Çj.xÔ̽®×A­ej|" šèT¡ß¤¼ì'ÈËÈ$»°”j‹o‚'Å‘?Îu¬·¨v‹_L§T=–Õï-'°yÖÃd›ÒÉ.¬Æ(ÞÁLOdñÈNžû ²SMì(® Î(ZÆÆ’? ÿ–‹ÇÌ¡5&Ò·;—Q뉈I 1fh›ëë^©eëO_$£ZËÔu›Yêë…i=´˜ç’Õ¬øka×{»âÍÈIcÑjÕ'k{ë°shé3$?»¤ cìXÞò•~}†l9°À–~–'å!„„!¾_le{(#˜˜Ä8ŒÞ u{2IO_ˆE½™×Ç9+òæ¼d–eÖ16q51F ;LÉ$/ѱáÝ fEOTì8ª²ÓÙ{mí˜Ù Y’ cã_#>@ –jêåVª›2-!£4˜„•¯ì($=ÙÄEÏæ¥mB1ž•‰Á¨›ëŸZ=®zÚë((¨Ã;*ž™zÔ¶2¶¦g°l¡ƒuã¬#û0-£7jÅBÙÖ 2–-A³á]b ÜÎÍÊËRÆžj5±‰ 5zCÅ2ÒSYhÓ²yù­†…*¶¦fa1ª¡®}y¤.#³,”„Õ+ˆÐÚ(ÍN&59ŸÍff'sâ=ŽØ”8¼µj¨+ Ó”ÎB›7聾¡jw$³l£…I)ëˆ Vc)Î$Ù´ŒTïÖëëÞežBvT«1j-æUïïÏ]‰%ª@b’åËåR¦‘”$å „Ð#ÄC§K—.÷d;ºqi¬׿‰TþŒyØÇéPQËÞìRˆXA|T  .q*{_ÚÊÖ3œwË5CY4¨eÇ®­Ä[KÉʪ#8e3Ë[*º·X)4“Uh# 1iCu€Ä¸<^Ì̦4.0MK-£¿ÿíµ"¨üYðÖ[m #‡x.¹âºÅø@72†m—Ð;س7•‚ +1†Nnõfåå3×ßšÖf#FÔÇ YX˜Gµ}hkK `·š±9Ô:Mx;UÙ©lÕÆ“¨ÏdÉÎöïpµíØ&ú ÆÅÌ$kg&‡ëìÌôi·Ì6ŠZ‡FÕ¾¼f.öo·Ÿ ÇvóÒÞêìahTvêWƒ>†˜qþø>cc›¹—½Ç,®ëëfžâ<ê¼§òZL)ÉÙ{¨[ìO»œj=ÁŽŒt²÷–Qçpµâ%¤°`¨ëž<—ZÖ²è²gF9ÿá=‡ [8×c-`ñsÉ” fÒê÷H ¼ê͇XcJg[q³%1"–ÄÄ™j\AtÁs¤ªã˜¡ä±³°›¢gRâJ’n% Z±Õ”Jfaµ‘I1Æk?N‡Ö`ÊØIqµ oBcIŒŠÀ~ˆ¤ç–Q7i*êâ½”Õ9PL"!e)#}nå3{ƒc­ÝÊO_Ì" ]Y9”ôɶD6¿5ŽÎ±ýðr^X²gûn(+þöúU-pvªv˜HÍÜëlaV´#âxmy?”έ£}™j GbRTë5æ¨fwZ™»+:<¯öÚ=d˜2Ù]ê*¯±±¤$Ìlm5½Éy­ÝñS^Ì eÝææ4U¬™õ3 gnæÝ™>·pÚnpmöªQ$ćBi6…mSO@,1a:@…ÿØ(ô¶«‚ý ¯ÙR¶ÚˆK`Z ŸÀ(âãÚ…¢ÂÌÝØÆ¦23  a1$ÌÐR¶µ˜¶±Ç;&gC„ãâ¦â]±ƒ¼ª;u¬:Bgã(ÜJs–6o¥T efð»`·UaAËÐÐ@|t: þaL›9Ÿ;º3…™»±'òÚâq|ðñcÚâíZe1Æ?3 C Q±3ñnsævw&…ꩤ$D1ÔàƒÿHâÆB±«|nz^ï„›_öŠ­ì¶x›0“¡üÇÅ¡ Ä£Hº· ñ³~eéÕD¤¬cZµEç··õ­®ØÕû! >‘™aÀŸøÄCì]¸—¼ª-Á~h)Ï,+v½IÍØ•ï±|èÕ•cµÖoµEi_ôÃÌæÿø ­ã…e[Ùqb‹›­›óøÇLT4Wìæ¬cËÿŽ’;R—±[Çê„«ÆÑè"HÙ°›­ŽÒ­™d¦¦â¿î­Ëì»WÖ 0-ÉÂ1c‰×tqjPÞAÉHe·w<®Û-ÊÊá×—`* ~E,¡Ze[Ó1-IE»!¶oÓMû3¦]oUcW²aš KEYé,Ëгn©³ÌÌ{RY’i!"q%3ÔXг0™–¦]GRؽ›ÊÀZºƒ %˜x£ ð!"›̼bjc ø¶Š2,J#õw/ŒÙëŽaAÏPïÖmhôCñ&›cuv¦¹Ê\ѶùŒ)j8Î`S–jêZ‚õ­ŸRµ>-ÅÍ;Ááj¶Ò%,H{—(À~, j¼ÕWœ•¬bª-íËk64ç0mGM4µä¥.$Ã2‰•+c¸v’/ >gxóÔcžõ3²²1iiàí²e. ma*e¡)¬^|+ÔQZ\‡­.•F¥¶ûùÂgŠaÒXLæÎ:RÖ¹‚((Ø»„¬½µŒ»…1*ƒ þÕe<—œIaì¢tµìÍ*ĺ’„(×ìt†Dâ÷m'00uå"­ûX·uËvI\@¨^6×”ÛÔ•fÇÕ¡Öâ@Ñú ëTÔÃáüÛÜA±( `ëD×HMo8p.ð2v”B@Âjƒ]Gì¨ sI*y¥f¦ùèPÐ: )¨¶3ôSY+((ŽÛ;×*ï@´ds¸ÎN”« ­u‡©Ã›™ZÕ‰Z#ÞŠº6Ÿ5k]–Ö» ÕÃ΂2Ì3}n:ëÕaéœ Ã^íÜÏIÞªkN¦Ãæ¬\«néXTÌ‹zÉV¶nµQá=‰ÿ»ÑÒ¦Á0t†¡ã˜93Œ|!¼j;#uª;³•7Cõ°»ez+ýPoÈ* Ì:Ž@ov^EQÀaksÙ¨ë¨[¤¢ ààšab¸6Ôz=jGÕ6êzT@ݱ: !ÉÐÓ}á+t ¦¦¦FJDˆ»Ä××÷žlÇ~"›% 7b›”B‚ÑFõ‰®ßnÞøûhÆÆ“iJ'cÏkÄèëÈ3íÄ¢cfKÅŽ¹ª‹ÃB• ¶j*N¨Qš×¡ %&RÓÓÙ¡%T©fkúnlÞs×ÙkèB‰P³,#ú8‚ŤgV£”èìc=Ì[éF†¡÷Vã¨. ;c/6c<Ó:]‘2³gùBLÅzâ_‹B]w‚uΪ®Vo@§ª%/-“ªÀ‘ Õ{£ÆBÙŽL6ÖÝêê›”—õ0¯/\Æ^õRfzc9qÂU¹Q£÷÷i³+¥©/²¬ÔHâ{&ªM-EãchÇØGE^ï .ª`Æé!3ÃuN\ÝÛö:´LÙþ¤˜w/ãÅô ‚Wü•·ÚÔÈìÇÞ”§#,,½VÁV½‡ìŒR0ÆêàÍÈP-w¦“±'‘™jl¥Yd”‚>.˜{5aµµl¥#ñ´fj-Q É;Š1GE¡ó!6`7éÉ& ‰±„z+Ø* Ùc‹`AÛZ=Zv“W\K@¨E¥êüy7Œe¦1“ S&#Sfbt”’•^ Á‰DÜ©Ö&M3#’³vr"4N°3³ú桱SÑ.1‘üÄO @í¨£¢8f’Ó:·ew:Y#™æ]ÇŽtçg>ÊpUe=L[Ù}ÌÈXoEç¼1ÒÙcU§1Vû·>. Ã]ø~ËØ£e\T0zµƒêÝyTãM”·ê®CGDÜ$g™®q–©ÖQGi^úØ:3|ÍglYɤ¦ú“7£b¡º¬€=‡ Ä&EásÓó jc0ZÛ^òʬU¨ÚE±ƒkŸ]¤5bT×±wkQ±¨5:ªs׆q&“¼_";û0cE©ÝKÖ^·ÞçYˆ‡$ô(cŸåÊ•+455ÑÔÔÔn{5Í®“æÏI—.]èÒ¥ ]»v¥[·n-ÿîÒ¥ MMM466âp88uêÔ= =–â<çø–Ý©,ÜÝæc"ïý9  ‹zU©˜L/±ÛÚ€¼öZLkÅ^AÆÂ…´<´.…/µ]‡Žq)+±˜Ld.üé€6`*)+céü] a‰+‰7¥’¹ðg®‡“&²2ÞÕ¥LQ£X ÉLÝæš¾V‹ql<«fv¾"e¯`O¡2–½Ôöþ¦kúa­ÖÁÖ,-W6 fjÊkÄßÊø”›”—ºn…uà`#É 7¶yc0+þúwf(Œ˜•+°š2È\â<'Jó±tr’•Ú€R½•ŒÝ™Ø\'5Fij2a¦k·ŠÀø•¤N¦i!;]' ³‚ÄÃ=úôÙ©È+Åá=•`]ûë)`œLy”š£§óaÚŠÕ‘NÖ²Ÿ‘îÅ;”‰“Ú³ ñSËHO~‘ç Í”ÕvN¼þ"/íl½µ^¶ðv·û,ù0sŠ̩餾´  úˆ8V$FÝÁ¨!,a%q¦T>“…¢õ&8"mEë [š¡KY·BMzF: ·Ùœ¡Þʤ8m»0#˜ŠôŸñb¨¦’Òö3ß\YŸ”Hü¡d2¾H´ Æ'YýŠå©Â Þê9|¿wˆD"8;b¯jà«\•¶‰FbììçQu;½£>¼nƦ÷ $´¶OY—Pƒøf'é>Üe¶–!в™ÎRTu$×w:1œh´â!"k)ò ›éõ.27p†Ó9ª9â¡ k©"2Ö~/³¾,€™¹!&v´c"÷®p{®ƒÖF¯’‰Gˆn¦È5tdÌÎA¼qºïZI^'Ýi|²ÙÉ 7Àx×¶Ü}œ¿j9‘(±Tš¢ªƒdÂÑ?†ÏÛ×x×3RÚdr$LZîeåö‡÷¨ …‰¥ŠG'ÍzLv·˜&µ±`ˆÍý¯DÂkl¥ËèH(V£³s¸-Ï8|Ý›äÒŒÌâݺ–žJ½½:¦g¯@HŒb–Û7ú¸Ÿ«KÄß!jšç¶7ÃÕ+7)+ƒ¬n\Ãfª{LùIéV|·ßÃ}†â‹‡¹Uîeqc » ’ÑðÌßù &O‘WAR¬8‡Çðyº8+—S IDATö’‰îþ^Åðäéú;öba¢ ;M8ú}ÌNž°ã Sb'%oŸe=àDAÂøì‹ãÓÅ2λãPˆñÖ•„hèBôвÛdqà Œa5I”·£„èò×ggT3ø£ez+x¬*›¡f¦ÚX߃@שHfFû(ÄÂì<n’‹M0…^ï<^»j‘²$%Td/4E$íÀ·4COž 1%™Ù¸Ö$j¬^–äÃ8E1ÓrüQ+“L–1 x¶›‘µ,ñpÿ„Îêúd=¸£»Û‡ÇjB–T²ñÿÆõ÷ñ´èPH]áf"O­¯ %vbip-âèÀŒÙ¹'ž»Ì5›ŒŒOw%67y0ˆ¯¦Y[+ã˜Ý`îèÂ3•}ÖRö€wg`!0–`$#=¶@—ñ( Çj³=Yðd°1¾¼Üì ¬ìqi&Å~y›Úº=Œ7_aÖÙÞ ’ÌWñXZ|êãüÕîæú²»é!VäLЉT‚b­óþH õSí5]Bn3ž"îjbA⊗€9ÊÔãï ¨£ôzèïhÇôy†Y»å \c¸ýØC¨h:’ÜÆ±NxƒáIÛ1;}™-®î$)׺0Êlï«È½óŒvY0ícúw®K•~Vª§Ê^$BZde~üȶŽ.š]r0Í¥) ß¼íÈ-öË:(N+×ë­šc3fm+‹ (ö~Æ>ES)ÁõPŒT¶X559è àí«û·º=Î¥`öèyþ‹=õLo³þÁ8 v0ÇÐÔõñJ'‹÷®5¨å–¹ºOï˜l|‡¬ª£8ƘŸ÷Ðq4º–# MÑe;ý3éhw‹Â¼Ý9€Y_#Q¬ÑÕpV5»M;>GuãL¸ú%ö7óÔ:̤ãỸŠ·Ê-§Irü3Gîðs©@µt—…ÎÆs3qB¡5RE $ÎË>ãÍ#5r×G¸šõ0?p@t-EQÙ>ÆÊF§Ì#Åðá;eÛL4îj³ÑÙÝlj’ÉK3¤ëRþ•ÛL7ÂVÒõñ}wßQqVÛÑw²Ã¤ÈÖB„èVM2ÓXbºé`×ÊÞ B‘;ìúk4@ÀÓY÷W퀹KSìè‹CCô„ìÌß½Aw«•æ£ÊA-Ãò• RÎV¯ÕÛ‹Z!ÆÄ•æùuæºÛ V`3"¶Ÿ¥ÜõwzÒµv0Ç?Õ¬’ÎËôzÝè±()ÍÊÛK+Œw(ÅÞa$nfÐ^fg?† ר,áŽ3Õýô—àϱ¦G øªSÓÑtPLJ£Ë“,‚¹ÛzÔ˜LÝXQÉfµÖnYÜ&«›éÒÖóuz^ƒ·&—I–Î`V9IûýæH±Û‘õ<jÓ…Ù C==ôô¼É»Ó1¾à\u]×å´NìZ…ÌMò˜qXŸf©Ž¦é X8>³¦Jzfˆ¡¡)v*§˜—[c&nbÌçB9ižÁLŸÓ„º¿M¶R¿W.µMYv2`>.Ÿ*[S 1“~´3«…ñ”ŠlïÂd¨ç%]éĈž$Aq¯È3[FP+²ÖQ\n¬ÔI‰ªôÍopïÞ]ÖnÌ2@‰ÄÌ‘¼ïÊ:ë+Œ™Ó„¦Â.ñ¨i*Ø=–ÖÙØXgÑ#³œ š«_`ì»Áîî.w ¹X¼·Ëîî.»M±¡sŽŸíîroÉÅÃB‹ltØø9»·g±ç£„¶JGyâ 4E$m®Û¹äFßÜ¢|µ;q™4ÒÛÅÆú‘ùí,ºuÇQñ“°t»‘Ó›dKi6óVÜ] ­Ýé¾±Ëîî=8¹·»ËîîÏ•m‚SòV/+¬Îº(ßô㟲@#¿Fä ‹Àú=îÝÝ`ÞcmiÜ©’NPÄŽÛùˆ0רÍòî.»wg±Ÿöu éúX;²Û·Ð÷ר³±´¾BÀ¥± ³×(HµÌu&ü[HîYV76XŸw£¯ù™Ù,f.æ~¾Ëî½°n×íÜ=ƒày\90t06ÿ6Ò"U¨åX›‰¢öÏã;œ­«”änÆfWYߨ`}vý–¼Ô\ñbõ.1ß«±Ù¦c~•€£ÌXöþš&5E¶#ÀÆÏw¹»ÔK9â'¼×z­òX þì#=‚/—O?â'?ºAæ³æ\ùßüÞ ÷_ñ¢ðЦ´aK³ãõØê#ºŠÈ ä–ßbbÇÎüê0Š ÅRk/t­ŒJžµ˜‰±À >¹Èf(ÈŒ_býýÖ]SѱHâãWY“}¬ŽYIQÖj€¥Ûƒ·ÛŠÝ,£å·Y G™š‚õ÷<<Ѳj†µh¥ WókVŒ…¨÷íš\\bü)® ©îMI¸fûiyl¤–!ÜÂì]¥¯ÍÀƒa¢ŽkK¦'˜ºÕˆcxWfï¯ÕjíAd®0q§®%·›óÈ­•ƒQæ½û\ ¡¸òÜÔ/³âkš–kìdüZgSA¹ÌXoŒ‰í<Õáöºp–ítÛmXU3¤í8­6än}³ÌQW›ädl°1ªßáaÔq‹`·¦4Ø úÙRÆŽ7Øm.f×WÑ´2éx”h0ˆmuùTŸ}ñÈ/Ihj ýò"¾“jÄH×ò.»§ ‘H-“—õ¾¶‡6ú×§eíxGq*Ùx˜ÐTe}æ?ks¿Ç®ûa°Ž.±îÖPóIÖ"aü3«×:1b¤Ó7ËeàÈE‚€díç²Câ¦.=§¥ÀL×)ÃAz1‹JžðHáßÙ50@5Ãf8ÂZª¾iÑ„¨œ·¼“±È÷m”% ÔF(¨æ)ë ëýR*™­˜Ø?Ãý ˜ûœÈ·¶IW<´kû¤U.ç‰ .)¸Ü&¡<Îy²´w¾B £‚©³ñ¾]¦.3lå)Ÿ\Šeêâ<[ÍÃK¬w§NDžËÜ)™Ì(G /#££ëµ£éªZzŠ‹'çË*ýB_¼ÿ •r€Ëð<ÞíÂ[&Þ^;6%÷äÆ÷]}s @’îÿ/IH†Æˆ±®Ýï,QÌM#Ø&«Œž*¢ÂãEÏ3ò—@ˆà¹À‹ßúý—ò‹ß~¼ÀïþÏÿ$ôá7ùžñ_ù—ßþ5ÿÍïÆøoÿ‹ŸÞIóñ'/ðÊkßÇó†…ßüx|Å‹ÿ—¹ÀÇì,,’0zø{¯ƒù”Þÿb/üÀÅ*w~ú¤?þ´þÔ—|ÿË_½¨¿âÅ¿»ÀË5ˆçû” j‚g™)ÿfßj}ÞuS`#š Ï2ï{€êkÈí­ÉIVQ°šîºņBŠrÓBrƒ#Àúºv_ܘ 'îQ¦ ·3¾ð>@-³€†ŒI>½u2š;1±OQ=.Xæ××NI9mˆ¦D"8ADígiɃíÛi·ÔÅ›­ÃLå­+¬Å2ô_ë8ßv²’da"HÖ9ËÊäY60(“Þ/£•ƒ õ}>qq¿.&­ûDϮ6„(X|>’;S¬í”è;ÃzC›KXlXå,—f¢¤Fo0л˜¼ñ3ƪT]¢½M'ñîR+⹺Çä%c-ÅéX}¼÷8µ))˜eØÏi<>–‘n—äbéî†ÓEä^ÈO8ïbve—­ bo]aóO°f5XpÊ~Ù Nm›¢â¢Ïô 8jsy øÊØF(~™j@æì2Ú€bSàV¹.R `hkÇ"™x¶’¼Éí‹Ûfïï?íµr,‡uWž½"€J:{|¤³’⪠ί³ä´`4ÔÈ, 1‘‚δæ­?§þÑ#œŸò»’ü¢ú ß}µ¸]¸ðu>ûÏ ¿üý"¨ÿL$–áåøñ~ûEø]š/þ”Ì?â­ï¾Ì'~Ä'o¼Ì…ßÈð /ý6Ío>uð"ó«"|sä/ùM⧤ßgÚûW¼À'|ô³Éý˜W»!ùãÿfù~ï·yñÓÿàgÿóÿåÇ÷^áÿ~ãå?Á“¹Á” Å·ÊìÉ-µŒVºÍMæ©´Õ¦–“äQpÙ[=s&RË:‡ ¢¦æP‘15/R1´a±œ>2a0ucf‡t¶kÔlM²Ò©<佊TdœÊi‚åa”HLO.ö³¸2yqø#[^еsîͯì±0dß>Ëêt÷C'Ö*%T]BiokŠ•, .­ãÒïÛXŽûñoY ¬øpš  5¶Ü~ äýäÈD­BIÕ‘”öã»Y=Â'ú‰[Œmõé"¥8ñ<Ø=-ìªgìbyw÷bJ3}‰­T‚¢×vŠˆm!Î3ÛQô’ŧÞ@å ¯a¥ÏÖH­j™Œzš¬’ô§4¹O±b’Tòyí¨¬éÅüÙÖôÔU&ÒìkE—ói¯mì`À]ß”ä|O¯1 t(°u@¹ê¡^dk”÷Š`ÄtN½ mö>̬±¹_¡¯ï‹-_ÿ"éZ·#Z·cà ì0(tšáN2Ke¸ý©-Ä|9¨Ù7ûXÞÜ!æXÁc14Ò0n÷1Úmitäh‹ÚÙQ³²¹F>¯‚¹i$ #FúƒëŸ‘¿Úˆ ÏŸño«Óøý~üþiþÇá‚c€ï¾tá¾4ÿÆ·øÞ·ê+|~WüÅþWãw^ìào¾õu>úÅoxÁì@Q3üæø¤ø¯T_qÑýÒÇd>þªÿοbÁñÊÿÅ ù >+þ‚þÕð»O_à[oüÿÚý2Ô_ñ‹ÿ|‰î‹ß®¯'ºð_pýÍËü6ý+>þñf-cjâ&Z¯Q«F1—#—Ë‘+6íôz ÙÎQÈ%Y ÝA53|ÔèÕ¨rärE èZ‘|ó=Úœxœ°³™)PÊ%‰†·ÐL½§ô?,*p2ê’ÉFê÷(Ä E‹(ýF zÀòÜ2›Û{d2ì%n0ÜA³zp·åVØž› ´ofÌ;€\nø"W Rk¢…9nln³w!s$>äfYÆ9`=CícüU=àú„Ÿù2¾aêašäJ'Ë*éà##þ620¶[°XÿÙ0µK É˜Í áÒæ Ï éH˜Íƒ¥B†íH˜]ÁÙ}³8Ð÷×XËJ8ú¬Ï|¶O›Óƒ“}‘™R‰\2JhKÃìàÜ–ÐYñöˤC~®'Èrì$(>ÉXÏIWË Þ~…tÈÏÂæ^ÝŽä&Ë×´¶¬¾ çè J:ÄÌò6™B‰Bî€íØs±Ü¹å±Ç—(mÎNÛñͺéè 0Û«Y£¾Ÿ‡¥ÃÅmÒ•z]XÚŽÍ>‰5Y"¼‘IDˆfe\ÃŽã#⊫\f'ž¤P©P©Öž©¿Úˆ‘Ás‘ ï¯éOWà_>ø1‹?ý[ü?tpøú F^hh ÏÔOàÊÑï_7^à³ß|ÂgÊ«¼jLò¯ éyÉñ*¯þæC~ñïU~güê˯a~^ìç‡|xo•ÄO?á¥o~Á‘7xõ“ßò{þ“;‹Ïÿ>,ŸýžÏŒf>©Ïv{îQ÷õõ-[A&¶š¾°¸ýÞm@ÛÀ<‹… ¡ÐU¶tPì—™ŸoÚ –'21Áѹ å0W›ïÑFßìj(Dtâ a@±2»4z†^w#]%¼¡ щ+ÃI,ySÊ$IM Þj,tU°özYñ · Õòl§TÐU"þ«M_nS+¡(:ñµ7‹6d“ƒÁÙy¼]gXPðÉåmReйÉÌÄͦ?t°xw™®sÙ(΂gi‘j(Btªž&Òá»t´–(Ù‚TŒÙŠ¢5'µº¼,ù†-.lGˆF5@Æìz›Eß8Ï:‚nfiU&Y#8½8©«UCÚqϯ@$ÌÚÌ"õ“iq¸†ëù³/0ËA0ÄÈŲ¢`ífÐy`5ÁæÁ;˜%<3Â%hÚÚ¸~h¤išØáöǦ±u>hé (#¾%¼¡"#貕~O?¦héŒq¼Ñ>€U’•\ø¬_‡¶>f—Ê„B&Fê[ ;.Ï3ë9Ï]CŒtM¯²¨„‰D¦¸s¸…òÛ³øõ‘‰Üõ®Þ¹?d—¸ÈÖ‰:òÑéz;,a¢Q?W5@6áôµ¼†ÒØyÕE™p$ÌÄ- P¬NúÇ”s¬.µ\Œ™pçìzã.#]¾Yú¯L1ébõZ'탳23„†zÊ &G?ž^ùX¾oMdöÓ/Åñ„Ð$.ï"“•£¡o`h†+wާɳñ—àO™¿¨Õj®|)|ú?ùÑùì÷EOýãŸð£Æþá‡Xþ-Â?Üù7ý/¿KGøwÌü÷€›ÿràSþ¿Ÿüˆ?äGÿÕÌoþ×"/¼Á«¿úå‡Ç÷ªï³ø³oñÆ ÷øðÕÿÆß½vbîÔ'ÿÁÿÙ¸Á?Vÿ–€§ÊÅ_Ðø;^{‚­ãþøÇ?ò‡?üÏ?ÿœÏ?ÿ]שÕjüú׿æµ×^{b7ýò—¿ä;ßùŽÈ/€Zf¡‰2¾»Ëô‰³(_J±wÙtAT gGLo<|òüâÃøì¥ožºyÀ‹æïbþä_ùð£OêIMóáG_ç[ß{… \à‡™ß§“d>3óMc}“‚—þ3ɇÅoð×ßR€ß‘þÉÿÃÿùc>xáe^y¹±Kœò*ß}éc’¨ßý>úÙOxÿðZ@ xÖ"§°Íf2C©Z£VÉp'ºƒît×§  %Äô6Ás@cMÏÑïßà¥o~—ü°›—¡!>šP^㞉ýãÿ €Ëßü‘o×…Ë…WüåoJ±ã ^¾\xÇ7þ“üý÷xë%€鏸éX„ÝùŒ¯óu.¼ü*ß÷tð"èþá¿ý”…¿ÿ>ƒÌßåû®—¹ J |èe¶#!ÂåúÀf×(‹>±X[ ΀˜Þ&œ#bz›@ Áó‡˜Þ&@ „è@ !z@ @ˆ@ @ ¢G Á¹S#wýMzÞMPÎ8•Ä»ô¼yLíOÉê*{“=ôôÔÿ½~m§k~‰ø;=¼+ˆrð(/m¾CÏ›Ëäjçãóí…wy£‘Æo.稉âúPÄ–ÕÁW-¬)mÄØÙÏ£ê )vzG}xÝ6ŒMáA,HhmŸ².¡8ñÍNÒ}¸n-C<e3¥¨êH®%î.tž8ÕºÊA¦T¼;žºÁ5›áìP¬.FgçpŸóÉ«µƒ(á-Á•ÛxÌ’dÄ€@ˆàÏ-»MžÀV“Dy;J8<*op½¯­Q§Ïà–é ¬à±ªl†f˜™jcý}Oý4l]§"™í£ ³sJЙ‹M0…^ï<^»j‘²t–PªÊ^hŠHÚoi‡ž"<bJ2³q­IÔX½,6£’bn½R¯•I&˘¼ ÛÍÈZ–x8‚Bgu}’z{ÖŽÝíÃc5!K*Ùx„ˆ ãúûxZm ç/5ËvQÆ5 Ój‚ü&‘p Mac®“³É…ñàªU†ò‰Ïý3ÜÒ™]õ`—Šì„ƒÇÓµ•°ÅÔÇèì&E†r’h(Ì„fâöBFjä"S„vL¼=¿ŽÛ¬“‡úý(ë7xfšÀ€Ã·Êª¦QŒÏܱXÃ*ɘÄá5¤½ïÓÂ Ï Vß »N9`-êçJf–õ…?Õ3˜Ú蟦ëËz|iÿÕ0yÇÛVú0£RL'9È« XÚŸ]98ÅŽüv‚ŒZãÉz¹Ñô¨e4ÙN·µ £P;Bôn´õ-p£¯éƒŽ…Ôn&òÔúÚ0Pb'–×"ÞŒÀX`«qâ¹Ëõž-c'ãÓ@‰ÍM â«iÖÖÊ8f7˜ë;lž;ÎfheŸµ”†=àÃÝÙXŒ%‰ÆH-Ðe<ŠÂ±Úl<Ñ8‚ÁÆøòr³3°²Ç¥™ûåIlhëö0Þ|…Yg{'H2_Åciñ©óW»›ëËX‘3)&R еÎû#5@­ZAÓ%ä¶ÓzìjbA⊗€9ÊÔf¦Iä%œ‹côÙŒ@;žÀ(‰‘Øýt½ÿ*šŽ$Ÿh( 6†'mÇìôe¶¸º“¤\ëÂh(³½¯"÷Î3ÚeÁ´èß¹J,Ub`øÙ„Ú-ØI‘@’1[m4¿bióFÖ¬ŒõªlÞISÖeì—gYœìºŸ—*{Ü…¹µ_®ò™ ÎÎ3Þa„ZŽë#W¹£6®ŽÐ­ÿèX¼Ër—¨’‰…ˆl¦É–5@Æêòà x¨|UIŽ_"(qYJp'UD“Ìô–˜îk;Öp‰íWÅŠË`vØÖÈÇGU%“ƒAo€ÉîVý]#·|…«·*Ùàö{'ë…ÍÁèN}äVR°ºÆ˜Ÿà,©Z+l G›FûñÎ^»?ÚXÝfüRÓ¬e3Ê´ŠŽ‰ÞÅUæ>}ä»–\ÅHe‹õ‘l“ƒþ±Þ¾v @u{œKÁì‘=þ‹=õLo³þÁø‘ø¯ìÝ ¹Ã~QÉ„s4@ÀÓyä“Z!A(a'¯!™{uêO%ËŠ›ÍˆÍ։ä14%–s1ÙÈÌ´³¶Çô%?åþAäý²eÙÞoöÝgI´cå@Æì%¦Ã”â¼3²†}å6ÓGU•½é!f´Ë}´QbóÝÂa+ÓØ:ë1j¥T9¸1CðfÇåaä­(ªï67úZ‘€Uö"Òò +óãGuª­£‹¾VËA)Î;#Š_óW/R¯bÏ2‚üp;ŽwO’¿5Mp-Eñ´º©šc3fm+‹ (ö~ƾ£«Òæ;Œ„-Í2qq åò*“61ÚóÄšà«NMGÓA1)Ê4O²ænëQk0ucE%›ÕZ»eq›¬n¦K[cüÍ×éyý Þš\&Y:ƒYå$EL8ì÷[ÅnGÖó¨Mfƒ õôÐÓó&ïNÇ8¨~Áž1]”Óf`Ô*dîl’ÇŒÃú4§kéhšŠÅp¼ÁLÏ 144ÅÎ)“Ík¹5fâ&Æ|.ã·D¤c£m*Ùüñt­lM144ÄLúÑάRÄS*²½ “¡ž—týä3@’ ¸W¤ú¼å}5E²mŒÕŸïrw©—ò­Ñ£‰ôUöÂ3Ü,»˜]ßàöÆ:ócÝ÷ ƒkÿ´Ëîî:o›À<¶Áîî.»»» ÁSwºZQè›gu}ƒÕŽgà« IDATrÿÌö±µú~ݽÄÏvï±: [á0{Õ¦@ìÆS‘<Ö±%Ö76XŸÆ\)£ Ý)¦Ö4œU66ÖYôÈìÌø¹ÑòÒ ¶ÉØÝ½Çê rú%…[Ì„÷1­°qû6ë+ÜgœWÙ&8dKr3»ºÁÆÆ Þn‰²zr•F*¼ ÃKܾwÛ«^ú©¥w­i*Ø=–Öïœ8JWcß vww¹»èÉÅâ½zší6 žZæ:þ-$÷,«¬Ï»Ñ×üÌl– Ñ©)y”¥õ VFe·ŠO=»Ø)³ŸU[³ó08ßÑp¯üŒŸï®ãUv˜™‰Ñúªšq¿Ÿ›eg=ÍV¼Xó¦óp{/»F*ž½¿V¤š&¾Žag£¼´ã~o—ÝÝ ¼æGÔz(•í þ›åzº¯ÏÓWŒ‘ÒÎÒÎÙNë(.7VÖƒöaÞßÝe÷v+ ƒ«÷eþ Sf[²PwXËuá[]gÉk'¬n*‘˜™ ’·ã]Ygc}…1sšÐTøhMY»û}vww¹=k¹Ÿ•F>ÿ'!x„èþœ)íDØÒìŒz•¡®¢²¹å·xýÍ9ötE­ÔZ+£keTò¬ÅTú+¬.ùpª·˜ñßh¹±Õ5 ‹T >þ:o\K Jd4ÊZ 0 t{ðÎγ´ºÂb i?ÊÔÔYô“Q|†µh¥ Ws#VI0ÞÓCÏÅ!&¢*ý‹KŒ[ž^šÔ wˆ¦$\£ý­÷¢×2Dƒ[˜½>úÚNiÖ;NEgm‹\¨•H®ÅÈšz¦èÌõ7éééáÒ• )³•Ùîº@6˜èvȨ;1R¥Z=HÝYc« ¨*úó–ù%'£ƒõÑL£ÝKi€:jYG¶vá°´ÓÖn¡³o˜á޳ˆÝ6º'¯1Ü׉ÍÒN»­›ÑQd·)6ÇùöQ<]mõ «w³Ö$ì«iÖn1{™èÄÒÞŽ¥s€ññ†«eY‹qøæï¶ÑÞn¡ÓícÔZdgóü-×´* ÎÚÛڰغp÷i”§°µF ³³ºmí´·Ûèždø”uÊ`€Én Fƒ6[7Ý6CKïj°y¸6>@W‡¥ñýƒ&•ý´Új%@*º…Ö;Ëìp¶öv,]|—²ñ}J@-gK51ê¦ÓÒŽ­o ¯ë¬‚’õpN£Ö‚‡˜<£ÔCÚéÄ”ß$Ñj%YØ!ž—éxëiÖ1€Ïë„tŒT¥žÇÃôTœÃ>’Ê~œ´ädØqÆŽ¡‡–ƒ û±}pùðØh·tàöa>S?’JQÅ&×Û¹j’ÉÆâþžw¾@›qæþ¬v<Üx}n:-:Gé•ï×Mµ\œhÚŒw~’¾ í–¼^œZŠxVlSðEÓÛ‚¯0ÕƒëøÃE\³«¸O‰^¤6&“™—6¢[»7Àp—°á ì±3±C¢0~$j{׸èßoü‘LïÒmæ:O6²bÂ$ËHÒñÀ¥½ÏÃðá/¶ìJ™!œÍÜå£é'›Þ^åƒqÛiJƒÍ Ÿ-eŒ߉u4m.f×WÑ´2éx”h0ˆmuùTŸ}a*IBSkè— <0mãpáñ)B$dËäeýaS= 6FçÇ(΄¹z) €¹÷mz•›G¾9z]÷{ìºÞj]bÝ­¡æ“¬EÂø#fV¯ubÄH§o–Ëþ Á‘‹ÉÚÏe‡ÄMý9\/›PÍ2HÈèš~$XÃNùÉ;p:ìtvÐߘ¶×r§Br™pt«>ý躇7’”¦2&ÉHèèz]Ø£æÉë NÇCF`Ô,yM§¼DOðDÉ1içæ*ƒÕM¿y‹ÈÈ[l»Ø;ºèëåÅ%5ÊE0bl,,aí2=Ù»V3l†#¬¥êiþ•%w­ÌAQGKOqñäËêt÷CwgªUJ¨º„ÒÞÖÔ`Z\Zǥ߷±÷ãß²Xñá4omõ4¯lo’ÖÍŒìz¯U(©:’ÒN[Kj}-ϱô3¶Õ§>•âÄó`÷´°«ž±‹åÝÝ窬Ú:èvwÐí¾ÌÀ©}Ôq˱i]ƺÌå$EÉÉâåNÚ/_ΗÑ9ƒÈT¬X%•tZÛ)Á­bÇü¨ïÏ7ºÅÒÙ‡¥³áá.Þ “(Öèn)“0uš!–$[í»¿É™´ÝãÞUå ¯a¥ÏÖv˜dÔÓd•„¤ŸR† f¸“ÌRn?µÊf3²ž§¨Ñ:k”3eÀÞby}Âz;½I…A‡é±vu}ì•©u×7>©(c¢ßtÂIB×ê¹øØÞ%¦b”k 4Ò¹Z®ßcø¨.7`îEžŠkäMýÌž§7˜èP`ë Hu¸½Þ¤)j´.5 fú[û Š5_ܼë¼3Ù‘JPô>™’ÙŽ¢ï,Öè´ Õsžˆ5=ÁWŒZ.ÆÔÄM´^£Vb.G.—#W:\9ÝN¯Ç©0‘í…\’µÐTópÓÜû•BŽ\®HA]+’o¾G›öÃa63J¹$Ñðš©—>S‹†¶9uÉd#õ{â„¢E”~O}ÚDõ€å¹e6·÷8ÈdØKÜ`&¸ƒfõàn¹!¨°=7Ahß̘w¹ÜðE®@¥ÖD sÜØÜfï Cæ I|.ÈͲŒsà,=™ñWõ€ë~väËø†M¨‡i’+X“Q%adÄÿÀFÆv Ëá?¦öÆ®eæûÂ¥z'–HÖýµ¹ÀTp©×Kÿ‰ø±²ågdd„à‰ j™eæ®ÇH$Èd2ì%–™ ¥Á:€óð•$±X‚½ƒ É8ÓSò¦ËŒ¹ží&»µR\.C^ÕA×(æëþl}3… Éåe6“9J• ¥\ŠÍ´†l5Ÿ±R0› ¼"S©QkJ0I±bÒ³$³õ§Ö ›Dbg\ðnt0zÙL1âçz"C¡T¢Ù&vc¯>â`°3Öø~!q@¡T"w$~}šås<)³–‹qýF‚ƒB‰J¥ÀÁV‚"¦cÓž‡¥;ƒ1ör%J¥{›7ØlõÆÇ¾«‚Í$QNîSªÕÓp/!uZpª˜QÈ’Ø/Q­ÕšÊYÎÑA”tˆ™åm2……ÜÛ±æbuCÖaúMyb±êËãvXÛ9m*áÃËk«hj‘Bî€d¼Q^]^<6CKvIÁ­0k{J…=ÖÂwPÍn,Ç©¹Ë Ù8[™•Jå~9±ô2lÕØ EIæJ”2 "á}p ãjª7 V7½J–›·Š˜Ýœï’Ç6œçQ›T*eØŒ¬=0-÷q‚½kl {ùþ`Œd¦@!³O"­ræA:Ù„YÖHog©ÔŽ—ù–ìðŽaWo15#™É‘Ë쑈-´\^ ¶aF·üAâ{J¥™½M–çHŠS…¿b¤G øŠ¡î'êÅV‰­¦/š¶çl˜g±$ºÊ–Šý2óóMg¹ÔòD&&8jçËa&®6ߣ¾Ù%ÔPˆèÄ€bdviô =[FºKxCA¢W‡“Xò6¦”I2’š"¼Õ˜è¡`íõ²ân½Á­åÙN© «DüW›[5úWn3Ý!¡(:ñµ7 ·-öž¥«ú1þ’Ëۤʠs“™‰›Mè`ñîò“õŠŸJ‰d4JôðÔ˳,Žuµ<Î [Šq"[Q´Æá¤V——%ßð±‘Âv„h´¾E³Ùõ6‹¾ñcÛn?ÉC:|µépÒ}BûœmkY ‰<ñðaU§¾Ý´—EßIqz}¸f"L Õ÷¬>ܲÚ`eÖ[&è¿Äë’Œlr2<ê 9S×0¶ñ–ÚÂD¢\QÙŒkt–Ëï-GßOÕ¿—Ì£J‹N¯n3~)Ø´$%ÄPO¨©0H2Zz™›õ]ã$“ƒþÙEÏ2¸ÔÖÇì DÂQf®Fë‡2Úûñ¹ -ûâÑïj /0ËA0ÄÈŲ¢`ífÐaÿÀуw0Kxf„KplËjcç5Ve‘0·4@B±:éSêuÁÆØb58ÃÐë:’â ·×Ä9òá ®Ð8œtt‘ù¦ÃIkgûeùðFÊ Û™ð\®öþÞ½"#DhÞv½áÅE*Á0Á«·Ð‘0»ÆX œØÒÜ`Ãí6q+*áî=~÷ÚÁ4—¦R÷ÇB£WÛ»;Y¼w½¥ÃaÛúfYÌÍ ^e«±eµKŽ¢žE±X†Y\•‰„×N4å?ß`Ý-”ƒú»v2æíg&2ÅÐ-8ó¡ÇíÃ,­ÊD"MvX]Œ¶\Úqϯ@$ÌÚÌ"õS³q¸†øòÎ}ýJðµZíÂÁçü#øÃøüóÏùüóÏÑuZ­Æ¯ýk^{íµ'¾ï/ùK¾óï  ¡6êçôhów›¶Qz  CLåÇØxÏÍS_uWMrm(„´x›±°EpNˆém@ ‚ÓåNµBé`È–ŽÓãz:‚§–#‘H’+U©UKì­EÙ—œ […àœbz›@ à*ìL ÊK˜ûøúžÒÚ=]#³&ªŸ÷%[{ñ-ùè4Šœbz›@pŽˆém@ Ïbz›@ @ ¢G @ „è@ !z@ @ˆ@ ·ê6ã=o°©}'9ÞÃëÓœËÓ+{,¿AOO==¯3}pÖ»ÖÈ]“žw<̓ÝkÓ¼þú5öjÏe†`o²§áÃ^¿¶÷`ÚnðVÏá5ï+œ‹WØ»öç ‚g‚زZ øŠQ+mÄØÙÏ£ê )vzG}xݶ¦“æ«Ä‚„Öö)ëŠcßì$݇»‘Ö2ÄCQ6ÓYŠªŽäZâîB'†ÁÃA4µ°ÉBd“t:OYûì]nôeÏ×7ÞºÂÍòñOówYî®ß§šœäÒLúøM§Ý?ÜN)¹F8z‡ý¢’‚½w¯×MGó+K&ºû{Q”Ó]Ý›äÒŒÌâÝ…–NެȘ]Ïq;Î\<Ì­r/‹cØeŒg5Ø€Ü颿Ý|–sîÏŽÒEo¯Žé©= žOSî Þ÷œõÔ#]Ë»ìRcïÚEfN»Ä2λãPˆñÖ•Äó¯ë¿`.m/‰§HgËh˜ñn¼Ïpû‰ºþQíE‹uñ½Çãílª.“Ó\™I¡9¹»ÜÕhû_¿=ÞˆsÁ5ö³e4ÅJ¯Ç‹o¸±»¶=à£e·ÉâÀÃj’(oG ‡'På ®7ÎX¨$fðGËôVðXU6C3ÌLµ±þ¾§¸ê:ÉÌÀh…X˜S½\l‚©(ôzçñÚP‹”¥³„RUöBSDÒ|Kó8ôá™S’™kM¢Æêe)à@>Œa3-·ëµ2ÉdÓ€—a»YËGðO謮Ob3´cwûðXMÈ’J6!âŸÂ¸þ>žV£øÇùKͲ]”qè´š ¿I$dBSؘ;Kc)Ó;»ˆÇ,ýnj jº&'ŸƒxèÖç!ÓåEæ”ûO5Ÿ°Prà[òb—Žå)¸ j‚\ÙÇ|ÙÇÒ¬Y+“M&É«ýt4‹CžéާgÇv«ÁûvHj‘ôöª~þ"O-ª`îÆÞn|⫽ïÓO9m 7ÓÓ¢.þSA×uÇ0cŽm"7µóøãÚ‹VÊÉ9Üãqv6JB‘"f²OR¿=Ò0u{ðš1É ¦c„"SøåÛÜh™Iˆ@ð,ië[àF_Ó ©+ÜLä©õµa ÄN, ®E¼±À ;WãÄs—¹f3€±“ñéN Äæ&ñÕ4kke³ÌVwÆÀ²²ÏZJÃðáîl,ÆŒDc¤Çè:l‡$V›íÉ‚<ƒñååfg`eK3)öË“Ø,ÐÖía¼ù ³ÎöNd¾ŠÇÒâSç¯v7×—ÝM±"gRL¤kt4ÅèµjM—ÛŒ§ˆ; ÅlÅf3<äu=L_ªI¶¹ÅCãîZ•Ц#Émœ6X YÌØlêAW0[mؾ¬ÃÒk9ÖÂ)p-²8yØ‹kÃÖÙÝ”G“L^š!݇ý+·™nrtu{œKÁû!‘ÿbO#":èU-ÇZäA;:ºúNJE¶"D·òh’™þÀÓM‡<ÖJÛDBQ¶Òåúhdï(³¾alÆzç@rü3G¦ú¹ÔSÏ ®¥»,t¶’5rËW¸z«ÑÅm pû½ÚN\SØ ŒîÔGn%«kŒù¹ZK©Ì14µSïÇÉâ½ëÇFj¹eF®îÓ;f'ß!«ê(Ž1æç›FÅj%¶#A"[ÙÆHµ§gžÙa †ZŽë#W¹£6®ŽÐ­ÿèX¼Ër—¨’‰…ˆl¦É–ë#oV—oÀsÎ]é–L½&»ï{«”¼N0|‡¬ &çÛôÖÍiR‚ë¡©l±î “ƒþ±Þ¾v 畇ËÀ5®µƒ Ñ›ù“F<¾½xü‹œÃ=gçýg%‚tÏ<î͉SEÏãë·GÁx³c;L”#D“yjm|YU¢ 5Äšà«NMGÓA15z¶ªy’E0w[„„ÁÔ•lVkí–Åm²º™.mñ7_§çõ7xkr™dé f•“1á°ß½»YÏs 6]˜ 2ÔÓCOÏ›¼;ã úÅܡ렠œ|Ô*dîl’ÇŒÃú4'+èhšŠ…ã³®ª¤g†šbçÔE*·&.Ö×"¼5Éõí­¨lM144ÄLútg#WêëÞx‡k7’®ÿÐwð_¬¯+ys|Í\õÙæéò6ûª„Ãíx¸6v³¼»ËîÝYì§}ÝwƒÝÝ]î.:@r±xo—ÝÝ]vÏ2M¯;}=ÛKë+\[¡0{Õûâ,x5DÚ4Êâú«œÅ(S¡$õKŒtߨew÷‹N œ‹ÜÛÝew÷ç- ¶ÉØÝ½Çê rú%…[Ì„÷1­°qû6ë+Üg›gèœãgÿ{÷ǹ/~ü}.:›pg IXSX¡Ý%=k +äh¨6M@oÚ¡ÛÐcs@…ïÅzÁÈ=f{0þaä\Ý‚.ÄÚb Óö«(§G *4zsp UNØm`·4.)N »`v4Í÷U³±&jb~4ý¼ ?ÖÝyfæ™gfžÏw ƒZmÕ+ÆÑ¤dSßÕA4Æ×ëÅëvcïh]5ÏÙì(UGš¨Í[y³_d½ sÅ®»í6”à霠:+oCÝÿRŠ>b¤è>Æâå'=Ý%ZBE7Óe§É0É^„k9{í¤ÛB‡éž¡ øéÜøMŽJÚ: è««aÐxöÎCÅbe¹}EUQ10ŒøÓúÐdÂ8~`å,+á(<©ÑÑ&[ùÖA<%GÊvâHÏ"/?ôMdUÒÔ»×UQ@¿û´ßRPŒã‚‡ã%>22²òÈÍÍ uÁÊÌh+ÍÞÁʼn%–81 Ø”hXŸ&5¹±ß½òXGဖ ,Kë3YȰ°¡ ‡È}Í:Ǧï#f™}:…ü¡ï›œÆ}ž$Ñíî„ÒŽ\·×¾¾­O…M]dFuB½x¼u4§wp*GÆôHÐ#„xJO+U5ÃX«W\Œ•ø 'ªCš«•O]@dœÎ(¨©ë»)ª†Š†Ír·‹I³£1FX±4%™ÉYKWWônpc1­H#LÐH¥üô§±©ÓDQ±¨«ß}ÌÖ ,LÒï Xºº–ǯ(ÚjM43 ¸+ðèù´´¸V‹b&5-¼ÙÓ­Ì=Fg÷ù›Ýb0;Êé 7Ó™õ´xÔÙ~4lVBaôÇV76aͲ@¿¯—®–ª ‡ÃA©ίÈ8'Õ¬òö.[u­mš4+„[1¥f7HUžì9¶¼zìÑjÓŽz.¶ç=ÝÙŸLéœøô"E“LŒ2ÔëæB÷ ]§y’u9SZ1í³™›`||ˆ¾Æ*¼Õô´­¯U4ØKM]?jY=…¤šã_Õlv  QØÑsŸñ(±„G:÷<ßÙÈœñÆšÙÔ·5mOÁDî£Çè{¢‘Σß/6%µD§ D xJØïIü¢†Cû4\l]¥Õt×·û0§¦a& »Ýæ?L•wÒמÁRHÐ#„ 2ÕNUÍ Zuõ+›ÝÍ6r¬à )HÁL||MlÇún@&kÆ… –"ˆ˜îGGÅ’ØÕÇ”BZÚê5&“%+Ãø¦gañ7úô4QÅFÆ}†DBSè¨dj«,÷3ÃÀÉ šCù4µXÇ4ÂñÊ‘ÝäJÒì8§+ÜL8êé8™sß±ÙtCAK]kP¬N d€fAÛè¶Äf™Ñ -uî>1“aP«ˆ†è ¦ik×ÌY´ŽŒç­™´Œ<Ò2ò(.ÎâÝÃÍ „bä¤<áÑ ¦T2òŠÈÈ+•ó>‡ë˜Ž‘jNÜR0V™ª#%¤dÒtänëP8ÆXí,QŒh<•U÷PQP0øÅˆ5Íw¼'Í IDATUÑñÝ·›™ ‹Mƒa?:KÁ¬N( X×› :“(ÖâRòì)K;Ç”¾ÉexÍ"±‘ûE„Ù™(¨©¤˜2u_›VHÉ¥¡Ë‘P"tÆêªð*Õ´Õg³úÍû_ßÖ^ºmDx™Å 2‘Ï™˜¿›ªŠsDs«)µE ùýøý~ü3K·îTr]NkÆ3ä'襳±ÝZLñòS˳A?~ˆ`Œhˆ@b)™¸2a¢¹™¾© 3þQ¼ÍƒD-¹ä­wîâ”LJ³U¦=ñ4‚“½4zChù.œf 2Ië©Vú†Æ™œšb| :÷0Q›‹¢uO6ËЩ '¬”U †óÂd6¶>E{ßã“SLMŽÒ{Ê͹°JfmþÖȯÈ$g*jVP]lA_:&þ™Dð¹K()©ùÅDÁ¾Óœé`ty;kð„Tr]™w+Û±Y‚~?þ@üÑp¿ßOpöÞµÌÖPRR‚{ÅD17§Ïô24>ÉÔÔ$CÝnj.èX ]8Lñü=sšöQƧ¦˜ïãLM#>%WîìÚfJ§´2c¸Žºö!&ýAüãÃŒ†AÙhkfEcš‰"±ØÆ&†0¥SZ™ ÃuÔ´1é÷359Dï™VF×9::5·Œl†q»»õÏ0Œ—õÓ§˜yÂ×3íLg˜ 298@ –'ðZiÇ?3ËìÌÃÓšë=ÇUÃjðÐS³1b MÑlXŒiF§ãe;ìÃÓZ=à̲Ât/ƒS3ÌÎήÜØ°©a†{G ÎÎ2Y\‘ÉAÙ+!O §& ÎÌàŸ¥÷ÌIZ_‚›VTŒ-ÜOçbA˜í¤7¼¡‚‰Ý¢`&?÷ƽÆŒM.Ñü~?pƒ``*ṞûÅÒÁ릢¤„cž©Û°þ4îwmZ{;M¤¦¥‘¶üMT Ö´xà²öõm­ëp ï)N·0:>µœ†{8Š%;oýñ¬xj¤¥GˆçŒ>1ß2è¦b0á‹„ijS h ºil<Πšã M󱞊 –ß n¦âxb)äÕ· 76â­8F3 9 ©o)ÝÀ4Æf²j[¨ltã­8¶ørÒZZ*»”)*Š>†×}aq \ [n%mÕÅëïB 04¦ƒ¡ã©9žðÅÒÆ šfÐÛÙȹÅNóªÅIa}•yì¾F~©á!ÆÂ`pŽºŠs :iºØº®'üŠ ÓÍô/n§bqr¤¾‰²Ä…ýÔ?ÇrÝÊ[Åq/XÞêâü:ff0)*QŸ—Æþø‹ZQ­d¿ÕDuùR7?…ƒÍuœ3âŸ-Ž\jÛ*yÒ¯¨HÉk  /ÍÍT‹ÏÈgË.£¾41ügJ8Þ÷±øtÅWœ,^Y8Ms] ‡`ÃÓý¦äÕÓ¡xiö6Su!áå¤ëíµ“’C}[=Þf/îãÞø r-2‹s6oÜCdˆòCî„é{9¼¿‘Ä©¼ãǾ“ºsñ€Y±8ɯo¢pÝ±ì ½o—àIˆ/–¦P¶”uq~/½R”(>¯› áxÔùÔ¶”­¸®˜É¬¬&»ÎCÅáøœÕKSV›ì¥ÔW†q×âuEEµdR\êÄçY%à̯¥r¼OE §½^*TÖRÓXDZþIJa"­¼–”f<Þ*Žé€¢aufSºÔÒZLCCws ¯»4G6Ù6dý×ǼÚz&Ý”ð j¶Üb -&Vž·X†g‡ë8Þ|w èþº úÊÆš÷‹õóMHc­í|ôëÛš) j*zŸ÷9}9Ì·¨.·Ëìm¿¿ˆÅbw6¾è<ÿ:{’Ž«VŽþO%xañ›>£ñ/¶Ôp2w‡ä´øM¸sç?ÿü3·oßæöíÛ†A,ãûï¿gß¾}î?ÿùO~ÿûßK !„B<„MêÞâòµŸ–ƒ¡W¦ˆHÞ !„B!ž›Ð½m ;·Ü"ôõ5~r:y›|3óv’"?ÞýÙÜw w÷ðåÕ›,fë^Þp½Én ~òý¿v_gg¡‹—|Ÿ1ºæ]‡œ“¸,èøz>á³+×¹•´]ràË~®š_£æäAv0Ç_Æù/§¸Y Éü9G]|å9ú¿eósÌ'o%ùž'yk²äB!ÄsdZz4^Úe†k_šn|‹ï&XÓw$DTsü본ÁZXNùÑtæC—ù¤ÛÇO@rRü—×ÿ>ÊÂÞ\¯YIŠ\¥ÿü~ZcÙŸ|=t_¹Î­í{yÃuWÿÎÕ…x00÷m~þ 7¶¤ü½ãäl»ÆWŸtãûIþo8âá‡Kš>ö¡'üíÆ×gilÿ’ó’CB!„ô¬°cO:fBŒ~÷úÕ+ÜÄÊž][~‘ÄÎ?–óŸÿù_ü)çe^vî%- ¸ù‘„ æ–Ý…þa7Îx9 ÐCÜœвó\¿r ØÂ«o²o·“ƒ%dûòZç^žb-8îåå´W8p ¤…kŒ^“¨ç·+™‹þÌ.Ñþ±}~ž_BûW[xãøAvHCB!ÄseSfoÛºc»¶\Æwy Ÿþ#X²Ë|K ¿¹üŠóñ.f÷cÞn^ìn´sÒz–#‰ÿ^[špeë6Ì@¼cÝüâ÷·¸òáI®$,y3aÞùR¿ý­ÒøÃŸÊáãv>üÛß™_ØIÉ{o³[z= !„xŽ%ÿå/$·´À‚dƦ֨“˜¯ªbþƒ$/žç ‡¤ìݽ…+W¾äK`çÑ]˜¹v÷ûŸ¦è9ÿ ×·¼Ê;ÿSÂîäï8ûAWq&®’väAË&cÞ~ô°˜»‘0‰B2fsÄ«ï”óÇåGøI$™ÍðHàÃþTNò¥Ë$e”€G!Äóô´µIÀó8,,ÜÞ.AÏ3lsfoKNfçÞ]l!Â;Ù»keíqŽøéµÀÜÍëø. \ˆ(¡sk$þ eaç+p‹oúûù¿o}\êùŠ»Ó'l%mï.’¸ÅÕË×Ðç"G{8{¶Ÿ._ÄçA x„Bü6ÌWT@’¼¦q³ÝQUæËË%#ža›Vê“wîc×–oøFÛË®€› _¾à¤0û MqþÃÖì7øsá(íý×øüüÒ< aóƒ—Ýõž‹£WÏòù7—9ß}•ô¯±óÚחžÝ%”öÐó÷~:>¶l'ý%ì{QÚy„BÜO„ñ‡¨ñÅ?)™M\<“%/ "SÝÔÕy:h¸ØNNÂ;=c“'9TcÐpñ Y™aFl’S‡ª×_¤=Ǽiû<;ð.‡½ÚzÞ'ýW^æ?ø@Z#ÄoÒ#¼œô:ç~bŽxa+ðÓÿñ·¿žçúÎ7øŸÿÚ‡<ÀOÒ³ðrÒØÌ^O7ÃtÍAni5•EvÌ ºÉn7„ ÍYHuý r–^S›¢·ÑKŸošn d·pñtÆŠ _„ÉÞFætÇ·vfóλ™»ü%×í¯¾,øMŠN1Wm6‹BxÈKssºÚÙ¼”Åx5Þ0¹µm¸l:}uÔU¥Ðõ©+^q5 f+¥y»›^¥"èï® Ê ¹• T:4ÐC„e#U0Æ«ðøœT·4à4Æh®k¤J±Òó~BPc«¤¥Ö‰ºTÁÕ¬ë¯xÆÂŒŽ†±TRì°¢F§émöPSaÐÑu» GQ5.›UÑ™îõà©©ÂÜõ)®õÖâ×Ê/}š¡Jvi-6 úð4»©ˆjôœÊ`ýU3•Üú&\Veù³%¡–3¢`ÉÄUí¤·ñÂC—!Ë‘& ´»kµ®ØBÅIuK%eù `y eÝVÝF­Ã ì Ó[ñ©zºNç=†ÀGÜ-dQü:XФ™W/¹¦´"Nž|´ÕlFBñ\=[_)áO¯uóÙ×c|òá$m㥽.JrvÈÑ¿I)y§iÏKøCz-Á±cœËKÁÄ ÃÝ>Èn¢² 3PV[Èðñ^zýGxßnså'3€úúøe%>⣳3Œ³¾‡SyKUÌômèìcQµÕe¤iÔ– PâíÆWvš¬¥ú”bÁf·óPÏlMvÊ[[3ãªc"|{¤ä¸Hì…n5v3ˆàJ[çZ×ʯÔ"δ%¬Ä†:5FÅØ¡XÆ=OŽc‘Y¢†‚šb^%¸SЬ6ìvÓ}v×ÅÉ÷È(C\À¸oÅ5ÂlÔ@QS0¯’”’fÅnP‹†ÕfÇþ”Ÿx«š»ÝŒÝžÓåp—n6'7lv¼FO?¡((2Kk©ueă¢Ø8'ÕÎ/Df:l :ò©®ŸœÔ”ãqÚ›¹0Ž·$f—R[[Lº˜éåí’Nm_prù G?y˜ºh-=­ÆÞ-¡Su¢LûˆÚŽPfóáé f×Ó±ÀÝÛªªXœVÖrbqCgúÞ¦¤ÓFY®N_¿°¡â8ROÓ‰,Ì@d¨œCîéåM®9°1ºÝ@ Ýb ÊðR¡j<ÌþFHìÞ›<Åáªaâm³™4}yo×´˜¿•’ãä–9˜îfZ7Мe44¸âùÅÚi@Œ`_#nïp¼…YѰe—Ñpª€{[xŒ3å^ú§uK6•Mõ%4=°l±ànÃ(Š5—ÒLCn.BüÊýÛ¯¶òòÁ?óßm¢©©‰¦Æ“T¼éD“!;B,Þ½ ¢h–Å'÷‘£!°æØ– “%:ÓÓÑõ%bÚ°’í¤ü?^gÿë9z¢•Ñ™ lVx”œŽ»Ïå5‡Õ0™8ÑÈ´›Ãû÷³ÿðîÉn&#–†44uµšeª¿Vœ6óc<(ѨZÚ=º¾ºÃ>\ÅðìjËé\¨8Àþýûyýè Î ‰=ÄÚg«8|ø0u¾Õ33ä9ÆþýûÙðmÞoå›b Ss`?û÷¿Î”Ÿ¦ÏyêÅÜì,ÀA˜‰éxá‰M¡¢f¥¨žŽžºŠ0:k¨ë»·†£µ]â#]TjÃÔÕu\÷Zgè­©á\8“úŽzÚ*±žBÇJ†åîoÍÖ ,t3ŽQ”b"%ÓE&uôú"dåLôN£d·àL8`Š¢€ TEYlÝPP”x -ú4¨AÈ}ˆýî{lIjT ÚR˜TŒè³Ø%K%M½›_ª¢€¾þàÌd+"ß:ˆ§ä(CÙNéYäå瑾âTÒÒµ„xX#>QÉzʆ U¬Ø,wÏKk–¦åž"„=Bˆg0ài¥ªfku§rjJ<ȉêæjåS§3 jêúÂEÕPѰYîV4Mš1ÂúÝ £ÉYKWWônp“P9Œ§&h¤R~úS €ØÔi¢¨XÔÕ+œñ å!ýÞ€¥¡«kyüŠ¢­ÖD3À»žOK‹k•±(fRÓâÁ›=ÝÊìÑctvO‘ÿ~úæÎÖ5;Êé 7Ó™õ´ÈàÑ:Ðiج „ÂèÀãéŒgŠWöúõx½tµÌPm84êÄH}p~EÆ9q¨ß~b«îᣇ‰6ø6ªi*¦Å!ÖÊ>½_ »'~|ÌNгjz'˜µEéVÉ­¶­:^ëAǺ°£'>Þî·Î”ΉO/R49ÁÄø(C½n.tÑÐušœ Ì`ñ ²1»x<”{ŽŽ´ô!AâÙ x¦Ú©ªD«î ~åÒf9VðŽˆ¤`&>¾&€F¶c}AÉš……1Baƒ¥"¦ûÑQ±$R1¥–¶zMÄdÉÁÊ0¾éYXü>=MT±‘¡Ýg¿BSè¨dj«,÷3ÃÀÉ šCù4µX0ý€Úsüß›ý”|vœÓn&õtœÌ¹ï c±ÙtCAKMY#àÒ „ Ð,hÝ–Ø,3º¢¥’òÀ•ÄO†Aq¬> " ƒš¦­ š³hy†×}a±³’†-·’¶êâõWc†Æt0t<5ǾPÉoû‚“é šfÐÛÙÈ9ÝXŒ Ö7P™µckä—b, 稫8—° “¦‹­¬gUŠ ÓÍô/n§bqr¤¾‰²Ä…ýÔ?Çò»E½U÷‚å­.ίcf“¢õyiì_ÿ ZÉ~«‰êò¥n~ !›ë8gÄ?[¹Ô¶UÞ =)æ Ž±ørÒÒ&^NjÎxŸŽ&•fO3¢ñ@×–I~Ù½-RŽ#NÍÇ( ƒê(¤>ñcêÕ œ/ÀÜwÃô|öW¼ÅBÒ6Òº(ÉÙÉÏùðr„—\PáÜ ÌóÝÇ¡}*‰WËÿÂÛÖ›ø>ïá’/ÄÍ0[÷ò†ëMv¯Ö°3÷Ã=ý|5u[@Ò¶—ØsðM ;HžÒóÁ‡\a¯9ç¹rù¶°so ÇßÜÍ ?}K_w?W®Ýä[Øùj!®’?°#yžý WÍdX™ø³ë*[¥ô!„Bñ+°écz’wìãÀKÀBßó ÍÙö¦"/óÆ{ïñΘê?Ëgß-°so:f tå;ææC|ýÝlÙMŽ‚ýít_ ±5ç8óúe>ùdýkÕùúl;S:;_sqü7Hç—»Ûù<8$‘” ܺŠoaÇkÊ)°ÞâúånÎ;ÜàRû'Œ]§ë=Þ;º‹È7ç9{éæä$€›\‹°«ð ^³&IÉùµ›Ÿ[µ%r~NÚ'…B!$èYSfó`ÈÜ?}w™°íµƒü!-ÝbåS£Aر—WͰðÝ‚ó0ý WoÙ™ÍN®sÙ¤]¼ö i/ï¥`®ÍÔʨG÷1¶ÿ‘’ƒN^Ù½7ߨE¾ %Tn­,pò⎗É9°‹$ú®3ã ¾8àL#íÉÞ7¿¹Ì„:°µðO¼™³ÝZ²”œ_wÄ×<4}ìK ç¹ñõYÛ¿¼ç˜ !„Bˆ_¿ÇÐd1ÇÍ›ô§ÌôIDAT·€-lۚĭÐ7š¨HøÙ›D’_aßžmŒ}õWBs˜}W¹Å6öìÝA2ߡ߸JÇ_jî©°oγ'ñ/‘‰˜·c^Ú±­ÛØ DnαÀ–Å?š1/õJÛj& ¸™g~.oiº~ž¿ÖœOHù:7 ¾ˆ™Û¤…çùÌ‹EæÀÇí´ å®t®|BûW[x㽃ì˜V!„B‚ž™ÿaŒ¿‡€¤—Ù³3™-úVà&Û²Ëùó>óÝ'™ÑöìeÛW\»âcëÕl{}/&ÃüV´-pmá%޾÷&iÉË ²Åœ ³Æ%›·³¸ù‘¯  ‘D€-ÛÌwwrá&7æàådXˆèܶ˜·’¼uqù…¼çÚÅòh¤-lÛ ¡Ç"ЧEã*‡Ûùðog~a'%ï½Íî$g„B!ž7›Ð½më_É¥K—øìÓ6šþ÷+~$‰—Þ(ä•­ðÂË{±7¿ùšïô9ôïþN÷Ùé¿ob‡“½Û!r¥ŸËØž³—É;Ùë4ÃBˆËßÜ ¹Î•ÏÎr¶{”VÖ_äX/ÑsÉÇ¿¾å³þkÀ6ö¼¶3aêìë|ùù(ß~ûô÷_’xyÏ’wìÆ¹¸þ5W®G˜»ñ-ýŸ¥ûRˆ9)#Ï}àS¸{·Þ)¿ÉùžQ>ïø0cÝSÀÁ=ÚrÅÓ¹o;ý?;ÉI_ú{2i…å]èaà«Ohÿ ’¶í"ç×xy++‚œ?—3ßó_}ÕMñÙÛ²ß)áà‹É,êIz‰=Û¾åóOâ³·Y³]¼ñÊV`+þüó=ý\înç2Il{i…wñ𣔓ç:ðq<(Ù „Bñû@,»ó\ïåü|Öø¿\žK§üƒ?ñ²ŒÙÉ;wøù矹}û6·o߯0 b±ßÿ=ûöí“ B!„x þM²@!„B!AB!„BüJý6º· ñ„H÷6!„Bˆg´ô!„B!$èB!„B z„B!„B‚!„B!„ G!„B!$èB!„B z„B!„ôH!„B!$èB!„B z„B!„B‚!„B!„ G!„B!6KÀÈȈä„B!„âù zöïß/9!Ä&¸sç?ÿü3·oßæöíÛ†A,ãûï¿—ÌB!„xJ¤{›B!„B‚!„B!„ G!„B!žAÿlô²±ÈùIEND®B`‚murano-9.0.0/doc/source/user/figures/env_default_network.png0000664000175000017500000011363613656750211024325 0ustar zuulzuul00000000000000‰PNG  IHDRáºè ЬsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{@Tå¾?þÏ 3k@ÖX3ƒ‰a(†…X $XAš‚7¼ßvŠ[Ñ“Ò>Â9íðû†´C<‰}½+Û[bi°+ð b"%ÞP“a#ÈŒ9Ë`Öܾ ÈxÍ’òýúG\¬ë³fžõ^Ïz–@£ÑôB2: £ £Àýª¥-²XÌFƒ¥µÕÜÚb6ð½ÞÌë ÍMfîºI§ãþm¼¦16ªZ ¯ÑX†yÿ×ßE ƒr¸ÁŒëb¸ÚøÓÚ¨µÅb6“Ùdáyó ÎÈ]7·üBfs§oéº)Åb1y¿è»úþ¬¥iø±†;˜ï0"ÈÞ÷E|¶àÁú裠  ™LöÅ_Ñ+¯¼2jÔ(a{¯­V›““sõêU;;»Y³fyxxÑwß}wðàÁèèè‹/VTT‚—_~ùõ×_·.b渫Éñ­?T.7AõÚkÇú«ïÿ—€½ÂÂVü'WxàÚÿdZZZ,fSïÉÓž|û¯÷V·ÿÓëÛ7™8ÐѱïÚ ·ËOÑLM}3³%ƒ‡à£öÈiJg$1Üe.q`ÒŽärÜuQÊÊÔâ+DD²À•kÂhóß3£“@àê7üßGJÉl"k¿³Y RïÞG©€er'’öÈ䑈D¢ë?ÿ\œö>o2 W*Ýžèm´XÈb±“ØÛÌégΜٻwïO<ѧOŸšššÿùŸÿ‰upp°þöôéÓZ­öé§Ÿþ÷¿ÿ}èÐ!¹\îëëKDׯ_ÏÎÎæy~àÀ.\ضmÛ²eËz÷îýÔSOÑþýû[[[û÷ïÿã?–––ºººúøøQÓß–ëÏWÙ¿à'Úñ5ÕDäà7ÜPWkl¼Âx>k×Ç™é?€ˆ¸Ü=b~ÂÞOèOW^ßóOÄþ‰ÙóÛ2ßGpùŸ Y‡—ÍÚfa¯^E›õ¡©©‘}ãMôž’Ñ+k wŸËPS©¡Ûgt¾2qrŠlõŽåbÍ«Ú5oQéü=Y#~ËfþâÇ3bök;Mqô œ7Õ÷¾¶Ê—¯Ÿî¾fÇâû,^]ºmÝöÂò­HÜ÷¹‘ b"}q/ž‹LAJ[@'"í‘ÕI…¾ÙŠ»æúÜyóŠfîÉ yˆ€­¨{®hé„Ôs&ˆû>:sÙâ0å}Ò_^5•¹ë6ä–ž»b Ë<ýCgÆÌñ»ßrÝF·XÔß7 "¡ÐN( …B³˜±‹ôq&@ ’PØÑXn8sêê/¿ÅRuåÊõ¾ÕäÐ+l±—³­q]öîÝKD111ööö_~ùeyyùñãǃ‚‚Ú>ñZíĉ}||.\¸““³ÿ~kF/))ÑëõsçÎõðð8{öìž={ &Mš$‰ˆ¨µµõ/ùËSO=õý÷ßçååúøøêjõç«z¿Úç¿Þ·ƒˆœÓ24þÿ\Áé„I½^ µö¥wÉÌívvúª3W–-ºQð¥5£óÎsùŸ {õrÛó¹@,¶ BÉÍ2|íeîËÏÅO=ýdL,ê­ž'"qßç|ÝïôMåê*µD<ÑŸ´íã¹øýí^S¹-~Õª÷=i÷Sy1þ {61ì}–:Õ¼Ì+#–%l öU°œª¼pcúÊy•I›ð' ø³\dêŽ×u͇åu|ZÒœìÍu bœª(sej<ë½cò>V¡Œ\³#‚½ï€^š²(©Ò;&.;Í_ÉòêªÂ)Ióª–mʸû=×£ÍèÖÞ,ÖÏ^¹Â›L£Ñeˆï32™ÀæË‰,kgt¡ÉàbÏxJŸ° íŠÿeü¼@Ôeë§OŸ&¢ÁƒK$"5jTyyyEEEGFgÆÇÇÇb±<ûì³ÎÎÎMMM*•J©T–——K¥Rkÿ–Aƒ‰Åâ³gÏv¬V.—?õÔS‹eРA_|ñÅ7ˆÈ¬Ó™LD$‰ÚöD(´Xo-„B°í¢#y[›Ãm÷ÈÚÌt"rZ•hA érËÁíý§Åh”NŸ-tD´žƒQN[&;Yç,«Ì/®ãnùµÜ;b˜6)IeãëúQ|z¡š‘+¼ƒƒ9ždÖ“\•›ž¾­RCÄÈ}#ãâ¦z³¤Þ5o^iè,eyiU]ç9+!’ÏÝV\wEÍ{/X¡ "MéÇ)ë kx†xÆ;bYÜ9‘¡.?eQn¹JË+‚—%Å…)âU™éKëˆ!b}§ÆÅEzSeú¼DM̦´9ñUÍ[U75ûë Fî9A¹{{•šF ®rCJz~GÄ(üg­Œ‹Àq•Sr«xVá)/ÞÀ-Û“ì[™2¹­y†»˜Ÿ¹z[¹šˆH1b~ü²0%•'NÎ”Í Ô¬»¢ÖȃR—û˹òuªÃµk׈¨OŸ>ÖçJY–•H$Ö‰VnnnÔÖ!žžy晦¦¦ŸþY«Õ‘££ã÷ßo±XÌf3Ã0ƒ¡µµÕº”µÇ‹µ+¼D"1D$yn°—ã/%Å×Ö­y2&–îØKÞØÔ¨Û·›?}²cŠùÇ_¨:8H||»ÏoºÚÄ}õ¥ãèP64µVO«Dy_–!VÞ×½-jwN­ £í¾Wž™^,[¶#;DÎ_Ì]c wëÔU¸Ù{"”Œ¦4eѪt÷É#ˆ!ùr6!#KÁ•'ΈOÌ]¹)+[Ε®š‘¹«*t¹·&?1¥X™¼)Ã_Nš¢Äy)éÞ;Ò܉ 5ùš˜ì= ¬¦4e^Jz‘V·-)³*0cG–7Ë«òW,J\ç½#Î7&9xQbf©oBß]éÅ}c6=ðM=¯.ßµ»ÆÑ;FA¤)H\•ÏÆe¢àÕ«Åì¹c¹g͆”\~jög‘J¾j×ÊWxÿÎ2_µ.þcõÔì=‘J†¿¸aQlü6ï³â¯©òÍÎZ,'uî¼™ë §úGj‹«nxÆøwÝSep„ûÆÜJ5y3 ÎRÜš,%Õ§ÌHÜX‘ì¯Þ•”rä¹äMþrþâ®ØØø\ÏMS»4ŸpU¹)IÅ7º–øùß¿¥€ˆäÁ1SŠVí>gíUé9aYèmª"Un꺚à5Ÿ-ðf4¥é‹ }‰ˆT¶*=Cü•rõˆM‹Yuî¼™©éŽk²³–3ª]3m(z›+…'¯-/°fÓr%]Ü“²aÄŽåîå鉻hYög! âÊÓç%¦ Ø”‘° hQê¶ÐìȺÌuWBÓÒnÉ–=¤¦å.î*½á9Ë“%¾êãøÌšàŒ ¼Y®ò£E«=wd…QQJf¥wòž8V]”[h`C:/¯¶uñõ'†´å¥²MÙ Ò­˜±n×ÅË™ãǵîÁ]›ëå#"=Wg×ñ¾¶.sSY›‘ KIª¬KÚXsËaõ}sͦåÞ·½Ùy𑼅$ý´"ÀÕåEgùG{;Ã]úúšÉb²˜-m)ß†æææŽnÕ«W/"2·¿»Ô®S÷ëÏÖv}µZ——÷Å_|ùå—<ÏwžS$²u"ÊbW%ö×÷í¾ò‹Íœîv»­ËË­žÀ}ö©¥å#i»K1I °ëãbóMLº¼\"HЖ×ñWJóK5\Uáîîr‹®Øô…¯+­â=#üåDÄ Ž|Î:µ&¿”üg…*"’ûO d* «x""±gH ‚ˆØ¾Þ¬Ø=Ôº\_w–»ÂqU5òà Ö~Øò‘¾TUXùGDú²D$÷ðgjŽÔðêãGê‘Öep¤'W^¤â‰õ^œ\“™˜˜TÜwYBX÷ž"¼ª¼ ¨Rm{øšs©^oóæÌôšçW®‰óe‰«Ì¯bCgŽP£™êË)PñêÊãZeD°’!b½#fz‹oÙLA9ç=ÕZÌ€ˆÅ•#ÇÕDÄ8úZ ‹äžîŽ\–'NÉåò[[ ؾŽÄÕݰš{D ’!"ÖÝ[NW4©Ö("§¶{èOuáqõ-+—½2°Ëíþsóפ! Àï«üxQø›SVWDΟ?eÊ”ùó§xž\5åÍ×ç}T~kÓ)iªJëú‡z[/­íE·­ôGß0o–ˆäî}ŲçC<ëϤÕrt›+‰}§+"f@p„»öd•†¯),'ÿ©#DD¬ï„`¶¦ Š#RDÄÅÈ S×] MZÐ-/>šVûe̛헬 ±¹4555RA¼ªàˆÆsеšõ¡¨É¯Ôð5Å5Œ„/KDŠ™¡}o9A·½øŠ½#ÛŠÄÝå®h‰¿¡æÉ±/Û­O.æ5Ù¼ÌÝ>tj˜šºzõ÷ÎSdÁñkîÐéÇGoËÙ­žw‰ˆH`6[d³!Úb2Yh1…ÉL÷;ú¢ÐÖ+¬Ñ¼#0 <<ÜÔ¾-‹Åb·ñ_ “ òiúïwõ§*›V½ãòQ¶ [šo=Q¡]“!ê«pùÇÇ"—¾ê…³ùš‹wÝaßx’;˜/0IÜ*¯ž„ñœºÌ•31IÞÝS,+§b!]Ë1òöØ,ËŠ‰ˆxÆpãܪÉã­ÓyþysÖšXìØþcˆ±öÿbÚ»qÚFÑÑ›ÛQÆÜ¨áx"߬ƒšç8GŽ2öfí@¼öã9U>3SºÆF_n¾*=6¾øõ²ÑV§½öþè|ÕG3VÔ„Lµ>}Ãio´ûc'v ã¯åy5/vlßUF®`™.WšZŽa;Ž„•9§æxÏN{³êËjÔu}D”»rƒäîm…ň».ÄsjŽê6,¿­íÿ7 rO-O]ÿ¶Ê(²)eÑê#7ˆè¹ùë2¦À­1üÞ.îJß_c ¢šâÝ5].#u_¦oÛÑ5ˆñ7nÓ^™1Œ‚×ܾÒ#"Ʊ£‰„aqûõÅZUÞîJA¬LÖ~Ýrt$NÍq2ñnÛ «` ÇopD,)Bfù®[Y¬X–`³}d5mGtuþÒyÛ”‘mÁø†–3œKŸ1>³½¤Hy…ã‰#Ö³ýò˺³]›•nsñu¼yî(SF¦`éø Q—˜Îk4Ö“µ>±vëeîv‘ ëEšõ]¼f5Å®Ü_g èÙ !wy"ëÆ^ì`ñæ—>íÞûi÷ŸëTF³EбŒ­œ®P(¨S«9µ÷~éÐÁ‰H¯×[±¶»F¹ü¾>¹=Õ7ëÿ6ÌŸføñGÃåKÌ¯Žƒ´þ{}w9ýç{"—¾Dd1µí›@$"‹ÅÔtÅb´ñ׃ÞSfHôóæO®ïÊqZõõØ!áG|Õ†ôÒ°ežÛV®»õ—ä#’“¼mTO,Ë«¹¶çH9Ö@}‰¹ÜQš¶#®ë-°ú.›geŽb®cetCË;Z+ à -×V!ܸÁ‹å,Ë*Y:Ù1‘×h¨­rÕ­ÛÆ¿é^š¾mBö‚[jJÆÑSAÅ5b÷;>KŒ÷‚eþ3RÒ 3ÂäÄÊÅ}§dßêU•ŒáÇwT@ßeSŽ2–¯ë8N{ƒX¥íGIEˆ¯ã—û‹Õa‘^TÅùu²aÃD[˰ Vì9SvØ]¾ÖÖ‹GzJ±÷²äHtxÔ'\¹í/µÇKÕä­ìRO3Ä·ÿ±“¿Q§1ܾÒã+ï\ÞæJÁSGV'ânÜ VÁ²r¹øæDžSqb™Œ%"þâ¶ÌJÏ7¯l[W˜l36>âšV™;?}Û„M‹0䨗‹Û‘æßù2Ç•³Äko´_ªë8ý]|m&Û˜Ÿ1²ó°8šÒÜGßî ÕØ*Û‘ÀFð]¼f5“²‹HX~C&Ü_ÀÍÿ%]çèi±Xl÷_!â[õ×ë"@(0B;{;¡½H(äõ6n˜d2"R©TÖ6òææf‹ÅÒ·ïÍ¿WÔÖÖR{ úåË—‰¨OŸ>Ö¥¬ÿ}Â^½å3³ÉÒé€ÚæÏU‘ðɶŽË†Ë—Ú–rdíú8›[[[±QBŒX:>ŠˆZJÿ×ôó5T_=CÛ ²÷âäÞʰ„ìMݬYÖöíêÚVëèIUùåj"â/æî·~=Ï_¾tW©šˆˆW¥'~\ÉÝ}'XßO®x¿uVuÑ®Jò õdˆˆêòó/òDÄ•ç—óÞÁîŒbX¨»:7¿Š'"^U˜[Æ(Ò¥gÖÇÅ-OX ËOÝpñÖ åÔì/÷ïÿ,ínÙ–³À³j]f)GÄúFxk w—kˆˆø‹ù)‰».ò¤ð÷vT–«‰ˆ»˜¿«²k…Ç(ÃÙª]…*žˆ¸ªÜ\µ{èóŠÛõü˜aêu+Sò­}p8uenâÊ\pܬÛÖõŠa¡JÕîÜ*Žˆˆ«Ü•˜’¯ºCLÏJC@€GÔö£­ÑÜáך:m׊Zî=¬ï•bkí®)ÝU~ã~+½®U¥­+ݨÌ-Õomy^Îx†úSyÛeKS¹ÿçêÍqCj~ßù Ëãâk2Ó‹4=±¦e”S—…òûSsU<1Ê@yå6ëÕ‡4¥'~T¤!ÖÝ_©-/¨áˆHSº»øÊ½^|mllÀ¬eÁüþ•‰»ÊUñꪂô•«ë|cæßn¬âû‰¬ï‚´Œå÷6¦Ùƒôu¹ÑØHKGk:YÇ-f³¾•,‹…H@æë?ëRµTŸ½zì;;“ÙHm‹þÄUÍÕV=o2,Ö§[Ç///@pùòe­V+—Ë ˆ(00°óÀ×_ýÚk¯•——kµÚÞ½{;99‘¿¿yyù† fÏžMD&“‰a›=dn2›ùKÅJ3ÇñªË±X(‘‘@ $‹Eú¤ÃÈW„½%ƒ‡´-mý®Tü´;Wx ó ž\¼üjâ6ðÿ‰û{ŠžV’Ù$ìÕþ'$ Yö7¹¯¾üyÃ:ùÊxTa=bÄóüª™ofÞq&±û›iŠ[Ó첸¤Ì™á™2…whÄ0Ç]DD¬\Ú¬ôôØñ™|ÛX(Þ,Ñ]cº<,9¹&%sÆxŽˆ‘ûNM‹ógIE¼ø¹v{ìŒ*µ†—X–:BN$LS§$NoÝÀâÔÅÞŒ¦ =³.8-Ù›!Šˆ›U0/iCȦŷܸ3÷6Δ"tYdnLæºJß8ß°„äºôÌyã9"b܃c” 1¾1q¡ñéóÂ7ÊÞ‘#dº\fïÅ©‹ÓW¯œ¼'b݃ãR#•DÚÛl+,9›Ý¶n{ʼÌöñѧ®Î޼ÓÐìÊ©Iqê””ã9"b=#–%(ñ€žHìÈݸm¾ìÖ^«œš0¿*qÅ›ùl_Oÿˆ`÷òªÛVzüݶ­´q¥ žˆúŽð®L™·±N­!ï) ³0D#â’ëÒ3Ï´n 9!LÎW}œT(‹É“ÉĘ—˜^à{×FžG€õ¿lØŒ”ôÂà¬ïÅ©Ë2S­W’ûN›%'¢ˆ•1åI+&gåîS#<‹ ï~ñåoÛˆ•½:w݆ÌEÛÇGLÍžêû>ø¶#Á¯&Ðh4÷8«Åb1M³é›¸å?•½êîJdá͉ÈÎ$Ò,™Z~!“‰Ìf3¯'“ÉÌë-óϼ¥úÚ¾}¥?7;0bFhq›8S>© Û—/^ܱcÉårFãîî>kÖ,±Xl}ϨT*Õét½{÷¾~ýº@ ˆ‰‰qqq!¢_~ùeãÆÍÍ͉¤wïÞMMMãÆ{ñÅÖ¯_?dȨ¨("jiiÉÈÈ0IIIÜÁ|MFšXÙÏtµÉüËÞS¦?¹ †‚–ceMñ+‰Hhoïô_ï‹® f‘¸ß3†Ë?ŠŸv7ü»NùuiÛ½ñ?>à¾üœˆìz?a1›ë6ñ窮¦$>1{þ3ç™9îßãÈÈõ“­è•ôv¢Ê”ɉLÚž»þ!à±£)ý(1³ðœ¶[ïW±Ì3$&).²ÿ¾Ôù‹æåOØ‘öǽ¶£›ÍæÆÆÆëׯÿÂÝÐ]ÿ™ˆÌËÿþtE,$!‘ƒHà%¯_³vi¼Ål&‹…,æÞDŸptQ8?a¸FŒØBÄð­›á; 0à¯ýëW_}e2™^xá…Ž‘Ñ­ ETTTII‰\.ˆˆèÓ§uz¯^½þú׿VTTœ;wŽˆìííMD,Ë=ýôÓm‡*…„„Xû»÷bj¼ÂŸ=%zêiiÔdû¡~Öy†ôIJ½ñÅg“IØËQܯ¿ë†í×6d“Ñ(_gַ꨸yWöïÚ™ËÿŒxƒØk ð ™èÏÞѳì_FDB–퓜f¨¹`hh@F‡?d%·tÞ.ïŒìÅÞ¬¦<¿œ÷^掀Ð|Äò¬ËQ_™>#Q3?;-LÁ_,ÎWÉŸ÷ü㿟æ>ÚÑu:Ýå/ÿ|M«ú¿·œ;CD¯9÷² H@³™ï?×é„&#ñz2™ÈÀÛ9²B1cgï –H-œE«±ð­Öç1íCßb­ˆîr‡`±X¬„ZÛÑ===gΜùë¹cµp§*ïb~Jê†rëk""–%/ÆKA gÒ”Üé]|ñ ‚§”î£?ºT*uus½~ýg¡°­¹\( ëϡо¡Î^( “™Ì&2™d!]Ûã’–ö–õ›ÉøÞ"òo”¤Ðî3 "ySÊz<¹ÿâŒ=‹ÿT‡tãºôéÓÇÓË‹w}ÚÒéÅœmÍÒúVji!^OF#YÌm3"A;KGÿ#<„ŒND —gÍm|ÞOh6[£¶µYZÐ µO5›Í‹ÅÚÜb±X,fX€ÀÖ:oÇî w{•)ÀŸÀ}ôGïìøÉ“Åkþ1E]eoíëbmJïÅ ìz?I ‘@`'ØÙ‘Xlçæ.òöµëë*~Ö%ð›dt"jP«Eu?Jõ7Ò'…¬T`'ôrˆrp2 „èÍð»ftø-QÈ而€ŒÈèx¢K—.¡zPFW(Ö·xv`\søu|äõ´f³Ùd2 †k×®½üòË("x¬3ºD"AF‡G›ÑM&“Éd -£‹Åbd#x„aÝb±ØÙÙ™L¦ÎÙà±Îè"‘è–Iˆìð;DóÎ?›Íf"êHê{F·³³C)À#d6›-‹° @$ÐpŠ5[›Ò…B!>ŠD„TRÇÇÏúð(ú£Þa€ŒÈèÈèð€OéÁ#dé¤c Š÷ŒŽ"@Fdtdt@F@F€‡JTRR‚R€?4“Éd0Ìf3Šz>¡PÈ0ŒPx§¶rAkk«@ @aÁ#a±XÌf³Éd2™L<Ïëõúººº€€€û èz½% ,öööwˆéèëlƒ…8<Ïßá·Èèðdž..ðçË0Èè= 2:2: £ £2:2: £ £2:ÀoFaõøW^ OúAÿ@KŸY=><þ=ÕæÌxmQ‰î¾n(ùü»æÎ+yø ª½ÿçïï<“îÂÁÕ±Ýh0Þ IDAT3Â_yå•W^y%|ÆÊ5% wÚ}í7¸ý‘6³èµ{~õ®·ToJù¸â%ª=üáªn>®l¹÷Mè*Öü÷‡‡µ=壨=óݾ‘ÐE݉œÃìoÐáœcº‚¤¼‰ëv“Þ×ò ‡7ç\XñÆKN’ÁK·ïæ¥’ß ¢7¼DÏÌ”Ýñ.cMLL;113qø³NÔpæ«õÉ óU‰ÛW¿êd{ÕçësœŒyAú›žCCEƒÃó'ÃÞý[°ìA·!}þ/ïI{ÈGQ{¦à놉/–Šñµ€_•Ñ ç6Äo<ßi‚½óà¨)£=îu?}žöÑá–óß_ðÜ}]–®Ÿ+9¬íÿzÀS¸˜Á¯Ó|,ç˜bÒÆ¹Œz~Îáæ 1NDDÍçMÉ:qÀÅc*F͘›’8éYimÎäù%£'ÊOSi4fèÒ”Uc<:VTûiÌü’…û³ƒ¤Ôü]vrFÞY GòásW%NAJº3{ÓÒ6SóDì€7V¤¬ bJâc².j(n¦znúÂÚeqšÄý©/Hôµ3ÒÖVCľjÕ¤ÁÌ…ÕSâ4Ó'1%ß\T«5ÌðéI¯º’î‡ìä´¼³1Š‘ WŒñèòµÕÕFåDç;|O¾ÊøT3:}]ìKÖ¨ê:ø­¤LùÁ³r†ˆ:…'’š¸*eÑ ÜçqË>Us3ùÌŠu©ÃÕ·W—\¯û!'9#笆!bŒ^ºje+‘þÂÞä„õÇ8V®9}艬s÷g¿*íÑ+Uƒ^} øÝXüaÖÙ_•UŸlÐjuäþêÌ™/Qþë"Þ]ì+%"ÒU~òA¾sLŒòÓzñwFŠ*Ö|p¨ÿKlåwZߘw"¤Õû·çŸlj%"{×—&D¿á%5¨ö~°½u”¬nÒiub¯ˆ¹Ñ~2Cõ¦ÔýÒQ^º³uMMZñ ñãûW]ZפÕIŸþË/"í™ý;?;Ùd$9Šˆï+[—zu°îä¥kZ­NúüĹú«¶üeG›?оú—¹ÊêíŸ~S§#2’ÔëÕ©SGº¡ªxœ=`_gß‘¾Jj:s0{Kùõ{]Rì0yöôé¯ßïõGs+‹XûÎßÞoö«¯U"‘Øx­ºÉ7zqìßbGÑ÷»ö6¼47öwc^jùþ«³:¢ÆâÍ»ª'½“˜˜?·ݧ›¿i$ëRgëž™´8ö„ØWÇò+OdoÿâÜwßépò³‚k/ÆÄ'&&¾ûª¨ú»Q×<Þ¬¯‹È-àõpO1ßÛxæÒQUËPi^ÚÚãä;n`}Þq³êÝÑ5ßîÎ+:SßJ$’õ5n¨‹ØÐX¶g«µ½·˜Zj¾Ý½¯è|S«Q$>}J‡QKí·»wij%’*‡›9X—ó^ö#íù{ÜÑÙï/õqÀ™ë -±ƒøNzžÚÏ÷rÃW —Ñй#¹„½ÆÅ>km–~k”ˆ$ÊáÃåëK.6O@DÊ·F?+!"é W‡2_}sQ?š½5ôžøü¬|ôФDä:&}ÿH’J%»ýKD*!"×áAЬoÔkã–áØa•bÒ[ƒ¥D$ñ=i@VÖ7*~ 3hÒHW""V©d9µ†h€\Nªƒ{¿Q¾5|°Ç[I©6ø¥ ­ó(÷;^Ã;Hn»›ä…¤ýûõ’¶b*߬Òtýý³¶Ž«þâÁc4<ݺßÒ¡“F³1ÏêFòߨ£Ç –‘Çs‡¯?¦¶µi®ºÚ¨ï|×ϵ‚VtªžûÞÿêøñ#•¨éÑï[«N«Ñˆ¨¥ñÄ­D΃•dýÓ¬sèô)Ar"Í·9*"çÐ)áCåD¢3g6ž?]¢Šœbß±’ë5GUD²p’…+æœ)©Õ .¹d$éÈqACŸVÊ^jqp»H݈´nJ\¸z ñSo-x}KvöZ4}°ñøÖì"ûÈÐÛž]¸ý³éíÊöΛŸsL÷Bñ\§'’鹎X–%"â9 G$µfqž‘³L·µ²r–ájÛ–%]C-Çzð9qi'F¯[·z°”¨6gòÌolï‘„õ`éDÇ&x†n†Ün¤ÏމMKú†’¬eÉ yCwLríë¾o’=ßÿÎODJÀgän~¡Ó¢ S7ó“V¼ÁgÄe©çnÜ8ÉCBú3©–umF§ÚÍw:.F.g¬·í÷Œ\Î2ÃsGäÔ6ÑV_ªBë<Âý!½]|‡Ë}w©¾õ»&ç¾·íF#’ÙS˵ÉÄDD­\«½ÔáÁ*G±ƒ³ƒÈõµwÛ;û·Ÿ™Kw]ÐÅ÷hß7È ­.ؼ}ûWý߀é±ën<Ÿ“ž–––öÑÆƒ—ŒöýÇM’·_ëäÎR""ƒ®IGDRëÿHä s jÕ¶;ý¦"ÒL‹‹‹û{ŽŠÈØ¨m¶.ç&‘¸·§ÏPO9®T=•Ü΢×éÀÚü#«È>rÉ ŸÞ=zw›ç“yó©Or9Fq"ç°µ“¹æðçguD¤¿xð°F4ÀúáU}þù=éN|~‚¤ìÞø,úÖîÛœcÍDÔðMÚü˜¬³Íœ†cäÏ*¤Dú†’œƒjâÛšå‰çºdT×ác”꽟ŸÑ‘¾ö«½Ù‘¯*›7?¤Î‹Í¹ '"‰ë€gåÝç04T¨ž÷º[n§ÑK§)Ž%/K=x¦AO¤oøao|LÚ1^¡ð Ï(”r ‘¾öÛœ\ûÞ2<ßÀéI»ãj»ã0f8Ë9Ü@DÔ|bïanИARvÀP…úàá z"}íW›q6ö©Eõ]“³_ÿ‡~.ÿã5û«uD$–¹º?‰·{x)p ™â&&‘½ÔÅMéÒ[LDmW!‘õÂ&–:;µêštôœœÈ¨kÔÙˤ·gïì@¤•\´  íâ)IE5G‰´-M­ê-6hN?£uè?l¨§ª'Çtñ£¢‘á=< 5|›sV1f…Gçi®#Ç(×ç|Û0\NŒb8ûyÜŒ4•ZÃ]š2у¨–ˆ0’6ÇÌ8«Vóò‘+RF;uë©á4&%ñBrÆ”×xR ˜’ò’£X8<.mJx–\1à­…+¦]ŒËZ–¤Ü¸âÕálBÜ„ÉãVÇ·/ì11}UCr„pžˆQ _š¾t°„.Ø ’ƒæNR$ǽ¹™gbC&¾áÚ5¢7U¨D^£îþÐ¥dð¢u=ÖgmŽ›’Æ1òA#§gnœô‚”høÒ¹â&Œ—+äƒ&-]1îb\ZÌjÅÆéc†ói1ož]¸.ÑÖq­jßÇ U)ª´ŒùáDÄ—’8ƉÈiîªi“cÞÌaFO­8q¶ÛÝŽü Í-ýщDƒþò^Äm#ó —dŸ}ÖðÌŒAwZ¹ì¥™S›vîÿ ¹•ˆ¤î£æNôr âî2bîDíÎí$ÉHöî~F¸ˆÉvJ;¿èe¿cóûÿçŘ¿ŒrßµÿÃÿ戈Øg^Š~è7Akk«@ ¸çù­c/Š|½?óë%ÄðÓ¾´Ž¶ ^ôþO1iJ²ÒòT¢þ!SB”ºãyy•ZÙÈåqo¹4Þ{QW–•–«’úFN’iKÕËBÌ\³îï{.‰ú™"¯9˜s¸^úò’UQ.g²ÞËQÙ7åõÁ=аþga±XÌf³Éd2™L<Ïëõúººº€€€{_Ã/¿üòPö¤ù›ES6¿ºý–¾#µ93ÚGW„‡äšÉ1Wì_óÊw½zõºÝ¯~»÷ŒÊƒ,3XV_”³qkÞê?rö¢ð[Æ6—Ì^2Pt&wãÚ¹—Dž!áÃäÔÛ΢RÕÁ­së”Ã&/ç!&‡þA¾Rj=Ÿ·û@ Æ$øCÑ•¬ ŸTÒLDº>?¬Q¾ªD@¸“ûíë"~nAzºíß<õ^zTç)ž£ç¼;úŽ«ëí¾ >ü–‰¶&ö:㽡3pÂþx¤A+V”$¤My-™ˆUŽ^‘rK'¸Åýöuù•Z~:Q˜“s¸ÉÞwÉ{3<Ðcå±×súºüÎI_[ µwn"ûþ¡¡x À¦ßwˆ/ñs ÒÒQèw D £2:2: £Ãã÷ â3 ¶ ƒ|lb1Fñ€?†aÑáOËÎÎN"‘ 5þ(„B¡½½ýÓ‹Å‚˜ngg‡r€?OŽG £2:2:<QII J eô   @€‚€GÂb±˜Íf“Éd2™xž×ëõuuu(xÌ¡¯ 2: £ £2:2: £ £2:2: £2:2:üÖ]SòA\\\\\êÆ;Îñ-÷²:CÍ–UqqïïûÉ€SÈè¢ñDI‰d"Ò/{¹ZìöúìÙ³'ÉÅ8%ð˜=ÈB†ÆãGµ$ ‰ :¿1¯òh}x”‡¸íe»·äU6E΃ƒ<‰þÛÔôƒº‘ᢢg´FÙàÈÙ!ƃ9yçµ$xB2eòËÎFmennM ÎTOLè?ÈJßrBsós±!-û_è¯tW¿˜6lذaÆ…¥ž×£8À¶hG7Ô>®#çaJj1º u£¼Ó%ªHO1]¯9ÞD$6&Èç)ñ@iíñë:-'{9çЪk!"©˜ˆÄR)QçŒ.•K‰Hd/&"g{1‘ÑADDd4vߊÔMJDä`oODÔŠÕCÉýç,¢-ÙkÿQh0ºMY2ç7ÊäŽ$Ný<\u<1ný$¸=ø 鎬‹=Ä{¬ÊÛå†â€?Fo©)9ÓJ²a‘ãK­ÿ?°çðùÃ5-ÏùØKˆ´ºFz‹ ºzŠ÷q‰éâGE#Ã{D@g¼BC}Xææ”ú¹þþ)Y˜ºï |h~súú²Ó<ŠŸŒÞRsø¼‘dCC|\¬SÜ´E‡óΗœ¿î3ÔÃיꛎæ•x†HkþušÑÑ;ù1ˆéCÃÃ{ʾ¸F,Iš††ÓÇ®º¢¥`÷ùÌhKMÉy#IúÊnæ³ÃdD—JÎ_'— éãÊŒ—nÍ)Ò qCD€G@_[|¥d‚ÖÖV@€‚€GÂb±˜Íf“Éd2™xž×ëõuuu÷É:žõx'oß´£×o‰·¶–ˆÖ”fJôõGö}²u_Ù©Úfžˆˆuõñ ~{NØ@iÛ—·Œ¸¶ˆ˜Qk 2¥¶WÛÖ+šˆ<–|ºoN?ºúÅ´7’«‰È)2'/~`[gý©Ôqss›‰œ"7çÅ{5¯MÎØWÑÀù¤m ë¼rÝù‚-;sËÊÎW7sÖ)¬«×¿Ðˆè¨›;w³XV„Äâ‰\—|úÅœ~¤;_ðÉ';‹+N7pDDŒ“Ç€¨·—LóësÇÒÐú"ë“-‡*¬…ÁºúF½½$:Ðͺ÷ºS_d}²óPEu3ODŒ“W@Äì¥o‡õ»MG"Ýù‚}; ‹+*ª8¾m/¼|£¦Í{ëné æ„$œ&"¯Ä¯þ9¶]=µï“Oöµo‹'/¿QQo/Ò~äúó§ïl°±]ë¡´ÏVdß–}…§«ÛNpûnŒŠŽh?0€GH„" "i[.Óñ¼®b휅;k;ÿ–k8}hk¡²5ÿL²æñ~¡Ñk?¬%âËöÒÚéºSûʬÐ#*´ß¶Î´‡uŽ×U¤Í]™o³£F}AÒÒ„üÚ[¦r ÕeùÕeùk?‰X•ÜåþD"aˆx"¾Y¯»üEüœä2®ÓoùæÚŠüzçŸk¦uÉÔ7KCW_?-á×¥, ׯ—­út}”Óå}+ç¤u^)ß\}hk¡²†O7ÏéÓ¯§Æ®Ì­î:‘o®=}¨öô¡ŸŒJÌJÛu¡ökõ<¯;¿eéܵ]z™óÍÕe¹ie…GR>Íës¯÷sç÷­\ØeŸ»îFVÀª-«£ú!§2:À£Æ´?eÊ_þ"þ“µäêá×ÏI¢o¾\¶oKþiŽˆò“3¢ò’†HˆÈ-8ÊëëïÒoFt¯iÁwjÛ—HÚ¶Ïë.ïÌÈo&"Öç_"׎ä©;’47¡-»;ùEÎŽ âæDÔ\ª8wknE3QmþÊ…ÌúÆûI»–¾ùtÖÒ´2Žñ Ž5ÄUJº†S…ÿÜz¨–ˆøŠ“ ƒ·Œu³Q§vÆo=Ä9ùEÎŽt“êu—íü¤°š'â+22 \ÝÖ¦•q¬OÄœ¨à~RÒ].n/©êµi…ëÇvÎͺ#IÓÛo>\GEG‡ú tseø†ËG wî,¬æ©áPò´•L^Vç´}ó´§}²ö4ÏúDD â*¥æË…[w–5w(9­80#XJ$øöú¼hþò–…±¹ÍDä:{}V”+CDŒ“„ˆH*#¶- ³>sÆxõë#!½®þrEqþ¾CÕÑ£î­û _½o_3ã÷ÎæÕÓºv\ÑUdÄ·å[¯%9›ç ìØÚ!acÇfÌ™»³–¨!7铨OW ¼u_¸Â´\òš½yýÒŽ^!œ1qîÎ":½³âêX·î-ÑÕ[·Þ²½°P?ÖÚ/‡?”Kä½yËŠŽ•‡÷›6qm-U쫸:öfܾy쨔v*ÝCü‚ÇFG$MÍo&¾¬#m·Eô¶Þ°óÃÆïœ5Ó:ö$0xìØ€ø±±…h_….8XJDR77)ñÒ¶å7×~nnËñë^0)Ÿv¾ð ;möën4ç®-~{ý=·Ì<|B@lDFRØ-‘ºOðìkê㪫Ûû¡¸Šö±&ë#ûNwiè͈îp·¸×J›«iTê­èê‘Oò­3<–¤ÎéÁ¥C–$E8YÃì[OÛ|©×;«;t""’ ‰Žö°þX_Vkûµ§®³oÙžÄ+*Ô©ý?N‘IKº¬TÒ/4ªm• Í7Wyµ8Ëzlhj·Ò%ê¸"5”%"â}RXokG˜€Ä”i·¹Ôovû¾\®¨¿—“««®oûËFh÷ÞïÔ'pIâ’èè%ï$F£¯ Òî)}Ί@|‹àÑC;:@gŒO€Í&T¦ý1J^Oú›!=ÚˆÚBz×X}jgGD÷“Þû潂»o^__Ñöœ%;dˆ“í%ýÛÂtóéêî¯óbs'˜öN!z›ÍèL?Ûc¤í«êçgc”öUò\Ç*õ e—­?¹úÝnÐI¿€¶¸\ÖÐ}gúò°}Z¤í§E/åëæìj=cù &í«¨×ã#=ÚÑáÏ–±#¢†Hïa¶Ûtf:Ù^XÂØzwiŸÀh?ª¨èÞ’®«ØYaµ1xÚ}Dtrêçdc;Íím÷NCœn×TÌ8¹²Dé.sD·´9K]m¿z•a$Ö…l“º±¶#â‰Vz纶7ÍóõõmÛ82,á.eÀ54wkÓg¤ÒÛ”"cÝ—{ÕïíÔÙes·VQu~ÚÂü4ÆÕÇÏÏ/888 `]dt€ß„kèÛ+~Õ{F%ÌýÌ-õ‹`*ÊxâŽ|Q­÷k DW±¯=¢GûÜOðc\¥Ýgçy][ •²·ß;FÚ·yÎF·ß ~2÷ºNÇßÏzu:ýÍN)÷»­»žß!K7Ú/#)#÷4GDÄ7œ.Ë?]–¿•ˆqõ žývHdt€?6©_tSvˆ'îæˆ/7#ºSh´×ÃÍ{÷´6¦‡ÒÍýñZ²zÅ]ÿÌÁzü¶#ªHúß2véåŠââ‚ÂÂCeíOó ùVäoµj}*Hdt€?rHÀêÒ;Eô‡õFÚÖ¡ƒçtÝZ˜Ûñº¶¾ÕŒTÒÃò¥¤£ãêçw?}~Ë×Ïo쿱sâIõ|Å¡Âü/ò O7Qó¡´…iý>Mê!û '<3 ð+³žß´`–ˆ¬!:Et׈¨#-Kœúµ=¹Ù|¾ùv9òÍ m}¾¼œzX1NýÚúµ7ŸîOiJú ŒZšº¥ ouÛ–ÍùŸ¹Š6 £üqI|¢ÛBzYáeý͈ncÜÂäàemˆn®8Õl{ýåâóÖŸ\ýö´`I¿€ÖŸŽT4÷Ü3é¼âë@=t¹¢C¾2:À9¤{E;56\=Õѽ¦…º=¤ H‡Œõ³†ôÚûÎÛÊŽºŠÅÖft§àP×WBR¿È¶ì[»s§Í ýùŒ¨°iK“¶œ×=Ä-wÙ–îÔ¾Ôø…Ó¢¦eœº]—tûàÒ£G95—µEtŸèQnmÒ€%QmïÝšÜ=ä^=’‘\hè>oGìñ²OðÛí/Bݹ2­¸[?’«Åi±;k›«Ëò·”qá99˜ÿ IDAT‘×öA!›«;7‡3tþPaEumõΤµ¶îê ·X_Åø`px”ðÌ(ü¹4ä¯MºÌÞ[Ê“úÍYöP‚´¤_T¨SîÎfªý$£ÖÑ£æà$’o§F/Ìm ª^;}bEôœ¨`/W–¸†Ë§ wn)¬nKèï$E¸õÈó"ñ[‘Y±0·¨!å¸êÐèèÐÀ~N ¯«?_–¿sgY±¡IKü~}8vòr#ª%".?>ÞiNp?Ò霂§y{I@~rOµ;†16ØÏË©D¢×_m®®(Ü—Û¶Ñoã‰Qx´½¤¤¥|ua~õ=ÎË4‡½öpšK%£"\wnm Þ–ý¢ƒòøR¿øÍ«)6>·š§†²ie;oÍ¥ï¬IÖs‡ ì||uáÖä­·Ìᑲ~ÕC)7éèP¶¬#¢†C[Ó:0*Ø­ÏØÔͺ• ?¬àˆ¯=”»öPn÷O…WdꚥÑŠ6£ <‹Ål6›L&“ÉÄó¼^¯¯««ûcJ¿±¡®[·Z›a™€èÀß ¶Opü? ¢ öíÌ-,;UÝl}/ãäáå8vZt„_ïÑ'8þŸÓŠ÷mÙWXqªº}ÖÉk`@@dôœ°‡÷°«40qK"“´¶ðt3ODŒ“W€õ­ÒÓÖÉß™_Xqêüå†ö×+1N^>~¡c§ î‡&txä­­­ÈèУ2z@@JgxfÑÑÑÑÑàÏ”Ñ ç6ÄÅÅ­ÚQc¸eúOŸ¿·jÃ9Ã}ïÂõs%Ê~2µœÎŠ‹‹û DsËtdôßæx^^ÑÑú""å¸ÙÓgG –Þ2àñ!ú5 ·Ô~›“ó¯óZ£½Û°çN¿¸~úóœ¼ã—´­dïæ;nú±á܆÷6ž—…L÷©Ï+:¯#{eÈœ¯Óî÷²Ï‰hÏßãŽÎ~åmÍQ9‹‹ªùGÇô²ða×o8û½>D×Odý=G% ‰‹wÁù{Ä -±ƒøNà¾ýŠvtÃO…[ž×:øFΟ>RtºR×þ‹ÆÙ[_¢¡Ó—,™Ò™´•GÛs›È3<*ÈÇ'èõ¡R"m½†\Ü܈ÈÁMéáâpsÝâÎÓ{?ð²3kŽ×ÈP¼ÖHÎCÑ=ñSo-xdo9¡1˶fÙGÎwA3:À¯óà}] -M-D$•Z£µÔEJgtDdhѵQýž¿ÇíiŸ·^k$""™LDDbÝsƒëÿcïþ㢪óý¿Ïpæ0ƒ 1¨h@  ‚ŠB).¬Ð»’RújE7lËíÊnþ¨ îM­n²7-Ý`oèʵX°¢† ¬`‚€1$Èd~™óýcñ®š%èëùèapæœÃ™Ï9Ÿ9¯ó™ÏùU`˜º(¿±R£c«›õ¤ŽöUb× ÊÉ)”µ=óÍb¯NH}ÜÏepû2ºX®é9NG$'ÒvrƒÓåDzulj¢Ï@Ë8+s”SÛŠ‚¾sÝós+êdM¹G!¢²˜..¬`çF# Ü?¢¯‹£¯‚¨ë@AY]]y~A#?0]åèL¤)¯ÔpºÎº‚¬9…m#Î"³D¤­©©kÕšFžîàáÃr•‡{È+ÌYp”ÅôÀht€ÑÑÅÑI^ ®¾ {o%ìHÄ›ˆˆT W$Íõâ+s¶gfèTø,Œ¾F¨–{…(HßX°·°Iwérï¹>,é‰õAD€;£×ë†[jjÿGÆ[‡u¾Ë×'O‘cÇÝ!A°X,f³Ùl6FƒÁpæÌ™ÐÐP” ÜÍØ±°‘ºö†ÆæšâÃ9F,ôF@dôÛÌÄÕäç”ô£O슅nÙîlc§¯ ܉Ð×àJ"2: £ £2:2: £ £2:2: £À%ز²2”ÜZ²âÙJ’ù[öo Wµl‹ùu¶qiNÁj)Ê~.\mÞÖ­YÅuF"’8M]ºzcr‚ˆ -ûöuZ¼löø>WµûMÐÒ˜ŸëÔe¨J[ôLqIB·ìßf=ŽLSšUlˆL^¤&ÒìŽ}£Õïµ’¬E ìò[’ѧLõE)ÀËx(c[mhš?R9Üž„^šöLF¹Ñ#2u]¨µ”¾›}(seškÁ¶E㹪m™U‘Añ³ÇtšÒ§¿‘)ݰøçÊè\ÕîÒ>rr¢îò=G¹ðkæmCcVFfþäÉK©¥äž¶EÍ9ù! ß*èëw2‰«uçgäµ\Ù¦‘µ:><8888xQrz©†ˆ GWÏŽß¶okrxpppxòÖ£-¥éˬ?o«âÚ3J·­´.¾lã¾Ê®Å ©:i$ Z¹.9>&&~åÖ÷·lØžì£ÐìŽxþ‘ú>yr΢­ƒfzò¢àààààðøÕ»k92T­žûF+ÑÉM¿N.íØŸ¿[CDd¨J ^”Þh "Miú31³ͪå~DDßSn”Ì_µn±=Uí)=7ìmìüáñ«³ª8®4yNb~7Qùósf¯®2t—¦¯Y³f«õtyîèàÉ28<~å¶£çhØyvÖʘÙÁÁÁ‹ž<¹ÞºíGF¡©It2sëþs—~e¬Ì<Ôá³jÇû" uùk6í?G$%"jÍË£ø«‚$}u{ž&‹–n\jßW—¾OCD-YϬÉ.7Fnyÿý ³»?Ù´2³)®Aªõ³'ªZ“¼2=+¯´ªEä)UG¦o•IB×íx;ɳ;oÍòë$q[Þ;IÝzè5ï6’ßê-I®Dä‘´åýAö#åêÒMkò«ñ[Þdžpã¡w7¾{³'§sG÷”í×…‡.t¢º¼ò³§¡1ó™?äWIoزeUP÷¡Ì•iG=×½¶Ø‰ˆüVíxµß°V~C˶gžÏ.ï Zµåí-«‚úʳŸ&«…†Î³ï¶„¯N_jß]•½1¯å–n?2:À˜á¹4m±“±<#³êÜÅ ¯˜üôŽœœ·, òŒ’µÔu¼* zúé˜ðø§C%D49yeLxüÓáöDÝuÝj)Ík%ò{úépÿ˜Ô$ê(þMép-ŠÙéY¯-?¹»Ù˜>ôùÑ]»'#³¸®ÛxÉç‘ÂÉIBD…„H2ø³”È@F2p-ÕmúEð¦ÁùOv %p RÏE«·.ZM†s-uU¥»ßÈ<´'mSÐþm¡Ãg2vìËLÏ+oí£+NMÿî" |݆Å·~²'£jÙû%mݶ2è&ú…kí©#¢Ck~}h`J÷îbM|²šº;º‰ì]$DD ŸÙá>DD-W_Í%3“ÂÉUB'¹ŽÁ¶0…õ©T-!2ÞÒí¿Ã îxã­NL{Þ8:Ô§|ã¦Oê á[þy¤²äíPÉ¥Ÿ¤×øUx:ÑäUïX0èµP|ŠÀÈÎÍJOKÛVËIÇ{-J^·ÊÈØÒÒ=|.Cã¶´ìòVõªœ’ÊÊS=®~""2ZÛ—Œçºû.^ÄlÌ*­<òÏœ·7ÄMv!¹ñˆ^ºû$I‚R_Û²eË–-[^[5ßžZóòZ¬Áš¨¯Ûú§¹Ú}»wç=7Òzœ\ˆú:ÚÁ¸î#‘ÂÕI:âyöm?2:À˜ã¿.Ήº‡'ŒF""×qrÿ»ïÖ‰¸Ö“-}×±žð¢“yÅÝ-¥[W>³æÝ:ÜØ× •¶*.Î~&yõ֬ݻ³¶m\“QGääJ$‘H‰új‹K«Z0ˆÈÐÝ­9º{[^u×Õj R‰„ˆ4ÅÅGkÏ ®“ˆ:>y7ïèѼŒwk/Æûøàà˜ûêºIá¤VHˆ ÉohKq^+I‚’â…‡‡‡‡‡/Š_6Ûž:Šó ÒÉ1‘NDåÛ¶í;Zš·qͦ7Þ(î&’H$Dt²¸øh#7=w!=yÛ–¥AƼ?<óäó™'LJ?ýtøx”.ŒL´îý-Ió=ûÊ÷d¾ñFfvq‡z~Ò–÷WûKIê¿ÔOB­{þ¾ïžäÕ‘’ÖìçŸÜZ7;}Kœ+uìIˬ“-t¥¾ò7ÒÞ­2ú<½a©Ÿ}wqÆšŒ£““»ŒF’ú$oL/)ÝôLbâ“Ï¿«ñ{mËbõGô}y­Dþ‹ý‡¾–N^$¡Žâ¼ƒÔ?udžÅ~}ù›ž_“Qn??uÇ–˜ñ¤_jOÝŸlÚ”}rXÇ©ÏÊo'…ÚW½±æù5™UNóSw¼½lä ºEÛçaÎ|§A)À¨2ÁÍ…w3´£ £2:2: £Œ}7ûœÑó_íÚñ™–ÈaÖSÏÌwº¹uè¿ýë¶4ʇž]l×–ÿæÞS²€¤g#]nh“Î[ñ/~ꌩãØMr]ùÄ2ìX¸Û2z÷‰J-Ù8ؘ{ë¾îœ³@ÅþØÍP͉ÿ•?)ÇÝØŠø³åÅ_T«T3¦Ž#²›¼ðQ;ƒÔÎw×UŸ'‡Èàæ??QÝ©f‰ˆºËwì:Ôë2Sv¢êôy³rJdB”ÿ8v„éÃרy$ïck;ºŒÕkÊ‹ +Ni Dv®~GE>àÄöë¢}¥ Z‘ÔyÊ‚˜h»ÓÝö‘†ˆZ>ÜòÆÄeÏ?|öÀGCíè}§}úyõi­Hªô \=ßËŽøÓóÃÓãfÆLîü¼¢åI]C~õ›pw]h.-,þº¥×@dãpߴȘ÷ÛãØ€Ûãfú£óÝ_×õ’2xÚ}Sf¸Ò…†ê³ü@àgY"ê¨í›ôø"OVÛPôº¾‘§_Uß¿>ÞsèÔy—y1qQÒŽº‚åù³Ÿ¸¿A;n毟X ëjøôãÊó²û-žbGDÎó–<þ°šžøý߇ÇNëï›ÿ«_ÇÎS_h9–û·CÝ<‘ i«Žœ¿?2nÞýRCGEѱnâÛ>ßWÑbžõØ 1Ó¤šÊÂÏÛô84à6¹‰vt¾³ª¶Ÿ”~j2˜USTTòm¥†wsZ“2xž¿Û8r™3©´¥NÓСT]}ú”«­ýÂéÊ3f² z8hª ;IíàÕfʈ•Îúõ“¬ÒÉžìî·­©>¯9χ¸«Æ±Dd§rWcéüО­®;Oä:IF¤2ŸøßO»N|­NDD6÷Í_ídÙ†nz,1àgÏèú¶¯¾5ƒß¢‡&ÙYÿ¢¨òtU›Þkò@H¿ÐyoMÅ2»Á?1ÒôKÉ”R"2h <Ù³üùoëNž—ºO‘ÞW£¡û~ùÿ~ã?®óÓÿý –¿Ö6J•vtæÂùó<©Y"ýù f"';¢ #,`7éOúß×­9ýõÅ•õ…‡Ÿû¥Íé×Ð÷ëCþ#Ém(Øý·|Ät€Ÿ;£ëÏT5›iÜ”YÓ& Œ¸èrþXeÉéÊÓ}“§Z'ô~}àj–Js¨Á@¤ös•‘y„éW‹Ë÷ϸ>=S¹¿JâÐVúIU§mÀS¼ f"^¡ódÝ¡f?ÛÙçn'µ!¢ÎºÚÓv“îÏ…u ôWs¬íó¯Ø@;mUi‘s°¿;BF?ÿÕ;?Óº?3Ç]jçdÇI¥Èç×…ï>ôá~}ȲGX"¿¸e”¿ûÃÏœ’vùÙ °¹¹ûÆ"//¯[”ÑõmU§ÍdwÿÔ‹-¥ãî÷WòE[Õ龩îDD¤šæÚ}è£cçÍR¥oä#~ö4ÐSüŠéW¿/ÓÞÿWuï+üê‹r‰ì\ý~õ°›==qnÉéÏöþ]å·XšÿÉ©CûŽy-œqß±ýgöïãÇýçÃß”jþ¿â?ý¼ú³OI•çÅG;Ðø>nZäÚÂ#Ÿ}ø‘­jê¨pBúu]â9ÍyìYV6TXãü➚ȳ(<€ƒ9óæ–­l¤§áéBp#&¸¹^ÿÌF£%c‘D"é%J`TAF]ni_€[}]àn€¾.c2:2: £Àè›ûx”ÀÝÁ`ÂCÈè0ÊYúxó7ŸÔÿfO×YÞŒ37À}5nä/lû¿=õ…ÎÈ›Q×ãºÀ¨ƒq]îlg¿nH.3©l,fÖц§ÉÞY í%(€;éhÞ‰W»X;£é‚-+î7?â»ÞÃå0ãºÀháò€ú7ã-f"â{¤÷<3ËvÄÏ'“®·WgB‘ŒUâç¹ø›Mˆ¨Ÿ—¸»>é6b@7õöö¢¶ âàçtöäÙ¿Ÿü¥ÿ‡¿TŽ}ÈîÒ˜®kÿª¸è@EcµÇ:ë쨣ôÆÓ7GÎÖöp¹ÐöýíÊu—¶£›zÊ ”Ô´é­¿+Ü"¢cüPxp×C_unC_—ÎÏÓ7õ\6Q²þqººmë³Ûœc×½¦m¥ªk-/iSE„y˯òÆYŸ¤u+üˆÈÔþÍoæC^XïöS%âÞó¾cèÄé7úU¯Î_¯œ¯þ…^oõoåÔpDD2Gg%«×tqDDŽÁI© ~8qw{}À*œ½}ÃF‡zȯu¸W°}oMϺǭ]zýoÔÔž—ñV…Î7å•do±©ó«uйM¹äøïýêÍWs5DîqëÖÜ[þú«ù=ÖeFØœ†²Ã=^ CoUõþ·;±ï»så›ÊmµÞî©÷š'Ÿ*þ.?ßžYÔÆ)œÕ2^ÛÕ£'"Ö=*5å!7\•Ã]à}]ÐŽ02|æFx)†~•«oð !wMJääîŠÑ÷Þzë òK¸ˆàË2Ǿ1ÿ@«O¼ÇÏsFt·ðÒ:¨ŸîW<8YvÙ‡“¶lWN GĺG¥¬xÈCND&mõÞÌœšžÊìl÷u7’rõ姨/2Ÿ¹^b}Ogcu}E~c}Ûòµ SFŠéºæ²š.Þ1bíÚè›ÿH×T˜_Òè6Åájëh+,¨ Lö“_Çš´•%â%sC¶øk?aüB2{îíì0ÛÙæ²÷µw{QO䜘¨[ßëÎí%mmE»ò=Ö%x#¥ÃÝ `Â'ì¡ËÛ‚z«ß|5G£ŽMôªÎ;ܦ'…Oìò¤`.ç•]õì`»aoõ¶WsÚç¾ê]cmRR4ì\¿«Q17ʽ¾¨F‘øÊÊ@SCanAyc—žHæì»$zŠ™v®ßÕè‘è§)(iäH摼"Ú[>0}nœO[áá6½L=71Ñ»>go…F/SÏMNyÄ[N¤kú|o^Ic—žg}£Â<ä¦Ö¼ŒÌ ^¡;PXßÃËÔÁ Ëãd¼UÁQÉæµuW6x±Ž ¾§boYØK©.;ƒ~ž³÷@cO¤p‰KŒ÷SHœº² RÃ+¼¢’be9ù5]¼Â+jùЇÜÄD½uÿÈ)¨lîÑ“L›˜0ãÊt¢œàüè•»ÀÔTX¬±Æ °`5W¾óÍŠHYWYŸÝÈ·h NðÀiõå6Ö—‹oË_Yá=øçzÊ^ß\ÐED•™iWù†KáH\}~áÙW¼_µ&kýözžˆr_][Ò·¯‚ŸûºGܨaçú]¼,8u}‚µî}%³R»î¥¾º ¯°²¹‡'’9ûFÄ'<ä-ÜÅQQŠ’¢&åëB†ýÁ¼7·Wp^q/®½¬ÆÛx?àâ}åCuAžˆÈ9p®Û”÷f~›{BJ|tBDõæ’®²°:jå |sw1Ü3 0ˆçz´õꈈÄ,KDšâ2>$!1Âå r+MÞ!>,é+5&"Òµ•·9^Ú2%f‰¨§â0çá.´fî*iÔ{G%-OŒòàKvm/ì4 ÌÖUV¬õ‰KŠò‘éÛJö–t.ÞUYÁ‡ÄGy±zÍá]ÛÐÜøX™^s8¯RK¤-ß¹½¨žóŽKMM ¦ú‚yMº«n®ú@“{lb\€B¯©Ü[¤qŒHŠR‘" 1%1àŠVK¹wÔ\gê:÷Uï%§ø†¼¬¢FÎ=6%e‰¯©­";§ºw¨@Jª sÕÄ5eîªTF&D¸×\”_ßKÔY¸=ûp3&¦¦.ñájrw¶_ç`¦Îºfk§T}}Ϋë7ç7’{€·‚ȤÓñDDú¦ú¨¨/·µ¾ ãଠêilæÈÔZ°=§²M¶<5%V­©ÈÎ.ÓÊ}—G8‘cHbjb0_±3§² IJ]¡êª/Ⱦ®šaçñ>q)Ë#®¸ÜeÕ±îÄUäWt^’¯|¿¼{tÒ\G"rœ›”úX` »Œ¸fŽLšz O2Ò75õqm­zRøxÉšò·çT4S`\ÒòÄUO}ÑöåÚ‹Ÿ•lplÜ\õÀæ˜øÎò¬=ÎsS®è#ÑiªºÚv•¼õJÆ® ­ÂÇ×Y>TÛ©­R£C=ƒ»Ûp¢¥£Ê õG¿•zJ¶g”\l ya]¼›õg™_lì ±‰­,ÛÕ¨më¡à0_Y}Mce§ÉCÙZÑFä¢"ê¼|•î±Éñr2µæUöyÅ%<ä''R›j^ÍÕT—w.Œ¶VCïèø0?¹IÑx¸±¢G£5‘£uºGTôŒ)¬²úÀözÞyaô ?VYWÜXõö˜´mDŽÑ3¸r{eAAƒOİsdÊ b¥›Jn2yä×7ö4q¦@k“¢Ì'za Oe‡sÚd^‘ ½y¶¼$»™kåLêšê."õÂ…¤˜[RSTSÑ}}ÝÛynXfáeÁ)/&x³_}•Û6pZçt&"4¤wm}~i¡P)ˆ8½Vׯ©¨æˆõ‰Š˜â!÷Ž .i¬(¯×†…y¨åD=¬ÊÝÃÍÁ$O|ÁK¬P©ÄêçM—¦‹'Õ¿+g±ƒZ­`‰H¡vwS^åØw ˆ‹({«¤0¯: apZoÓUÞ/%«Õr¢¹ÚÝCå  TS¦±KçÝÚÄ)‚cÝë ê[{Cåu]$ ðsl+©æHê-&?¥¦zsI[Y£64pà >ño1‘®ŽˆˆkÌÛÞÜL>‰)\ÿ×\&N?¬¶ó긵+C•½ …;s*8ëD=g"’£ªÁÝ›ÑÆAAÀm!‚Åb1›Íf³Ùh4 †3gÎܶ­QÄÅõédej¥˜ÈÚž£pVˆ‰ˆäŠÞab÷0?YMecMg¯WEOê0_%Ñm> •£u]'G$S,.W(X"®gð %wtd‰H,—³Dt1¥Ê,±r–ˆµ.,“‹­Gߥ#¢ž¢Ík‹gïìáHADÄ::ʉˆX…œèºÚåÞQñ^Õ95ù%>¾Cõ­%¹Eõî*(™œˆäJ…˜ˆär–ˆ'2é8ir_]›;8»¦‡§ëÉèb¹RNtñÄ­­.)¬n-¯hš¤P+ÐG‰»¸¾ ‹™Žˆd*¹X§ÕQã®õk¯!ç\ IDAT‡^lí1… O˜|OMÑÞòÆý-Þr·ˆ¸€ò]5yMÕc„÷«¾”{ ššÛ5MM]2÷xß`maN}[«¼‹H¨æ9Ž'R(ê›L-'êÑw…ªP;¯ˆúæf=išzL×[CÅŽ vð!"]SYa'Ww¸¦k(Ÿ8*ÐáîÎè(€2ŸÀÀ«ß‘xÅYG¬ñ“UVVWÖw6ñä>×WyÍ&W)¨™Óöðä!&Òõp<‘£JAÄÝôÆ:ˉz禬ø2žeJÒŽ°½ÿ–C`üÂâÍE‡‹eÖÅ{ë÷æÖhdI/'ø‰›v¾²«ñš2,g;ˉôêØÔDù`~s¼ÎS­c€¯cÉáÁ˜¤Œˆ¥²º‹ÝÑÏ·Œ¢¾Œ‚úbÕÛx š#röV’N)£fÞkIê`·p–•)Ä#(™Ú sJ9uÔ )¹q— cèÞÁõÜTïù”ØX¯šÜš‚JÙ5߯©é’+sG*i¬¬è$u‚Z©Tñ…•rŽÔ Ýår‚%Òi9©ÄDzŽˆ*…xà*æ²>ñ!)ËUoTì=òbôuÞ*W»³Í%$sŽvo묨é˜Âz«qEw5ôGÄÕ•óyyë5N—buH ‚zÔëÉ=Ìçß|#® v$j.Ø[V×Pýyn¡†HücÆûvðq'ê©)oÒê´MÅ9;³ ¯uv³D=M•u­#õ€U…%„(ˆëÌÃÖÐÀëz4Õ…E­<‘®³­ó:„Ê/ЙHS^©átuY;s Û®7wˆÝ"b}e“Þ¥²€¸ŽSÔ—Û\_¬oü{³ÞÜœ]¯'Ç„PÕÀäÛ*j:9NS™·sgNY×¥_Añ:™ô\gCYáaŽˆ¸¦V-9º;éë Ëê¾Ê/jâ¯zí"&Ò7UÖ7µëF¾ÈŽr&ý`õáýŠÅ,ikjêZµ&±£¯»Œ4•m¼³Ÿ»œî^ }cM9úx;Ø#"PFúš½ùåu _ýcoY±^¾#ì8™ÊÑ-dÉ\Gê*É­Ð^÷Nñ_è|ÅÚ ut¬šÑˆˆôÍ%ÕTkM×Ì "žÈ+Âçß= v‹NMšëÃ6dïÊ)jUøF¥,ûqqSš”áÃÖçïÊÜ•ßÌzGDÜÄ,öˆv&j+Éɯëy¦…q>ìÅs~ì\w™¾>73»Œ]¸"Ö‹å›ós+¯£+€jኤ¹^|eÎöÌì Ÿ…Ñ>×?6ƒƒ_bJ¬—5¦kò_]»6£ÀúÕ·Ì'våÈ#ÜêËÏV_¬oüpe}§Ü=8.õÅx9‰=bS–«{J²·oÏ)ëQ.Œ¸tàF±::Öבí*Ùµ½ É'))Ø‘z*r Û¡ ^ ¾¹(;·B67Ô™ˆ7]yÍâÎROEÎÞŠ¯±Åª°ø`Å¿y¿r¯°é ö6éH¬ T)|¼Db•ŸKD2o_G"’{Ç­L q§êüì]¹‡{T±)É×Üi‘ 2ÒìýêzSºXõPJR°õn}MfÚÚ4ë¸3DÎ!Ë—‡á¡ep·côz=ú£ÃírÕþè¡¡¡×¿†[ó #etíuå%e•Íš)ÕîÁa‘a~8cÜL½M•J*5ZÎ$V(Õ¾!ÁÞ¨îp—¸Æ3ŒÑ`tetÜ3 7ti2€; Ú*aBF€IçÌ%IáÆô¥&3ìxÆÁ Èè0&Ó¹ C$$1ŒõhY‡±…±Ä C‚@Ä0 4ø’: £À˜ èÓ¹ c±D$ ÁÚ²NHê0â9Yb:CD‚ b¬ÑœJêˆé€Œc# ‘Å"X,‚ÀÅBÂ`dœ!F}DLß Ã0D"ÑÀõ'Y†a†š×ÓFq@ú—È"…È"ÙB‹`!²‚ DŒ€„c"£“À0 ‘À0$bHD$†¬Mé"Œét7ÆtNÏ¿þiÓѦnƒÉ2Ê7õØqc¥T]]]mllÑà‡f°Ý"oÌâÁl! 1 Y:¼ áÆÆuç@gH$" ¬@†lDÄŠkLYç¸û.:×Ôp¼“IåÙxÀePPÐèßH£ÑxæÌ™ŽŽŽ & £À­4$‚µÝ,o!“Eà-d¶ox‹`Ë`šÐ'Fûõ¦@$ˆ²16 ÙˆÈ,¬ˆÄÄ ¬ cýˆ¹+óUóvöö"\lß:‰D­V766ÞÜâÈèDD&“©§§ç‡~0 ( £¤Ré=÷Üãèè(ߢ§4„F‹…x³`²& õè,ßœåÏ™Îõ[Pì0F9ÛŠ|Æ‹ý]X¥Ü†H`ˆ1Ĉˆ˜»÷ÑŽè·œ\.7›ÍÈè7ÐÛÚÚlmm]\\¤R) Æ(ƒÁÐßßßÖÖæîîþãcúÐÝ¢‹ ™…vôåÓ“ú)N¢dÖÅN„b‡1êû>sí9˧'õ¿œ,SÊE6 ‰ADŒÅ"0"wŽÂm‡Œ@===¶¶¶*•ŠeYÉ0fÉår{{û®®.­VëââòãW80:‘ÅB‹À[ÞBßœå§8‰¢'ÉP_`L»_.ÜçÈ‹Ã7gMsÝ¥6ŒÀŠ‹Å:Ò‹€qÒàöûá‡&L˜ •JE"4 ÂØfccãààðÝwßÝ’ŒNDÄ ŒÙb!ˆ1[„“çL+¦ËQ_àΨ/Ó\-ï×…N 6ŒY ëÍ¢Èç0 à€ ƒÜ Ÿé"‘Ý­¼­Bx\‘EÌ·]ý·qÔ¸3ê‹Û8ɹ~‹YÌÁ24‚(†dt€Q_Ùæ«­ÊÚŽn½m”„ÁñèP_à«/ëá-E°Þ‰cn¿›éëbê¬.,(®lìÒ«PûÌŠ{hŠÃÈ ô6”îñZê6Â-Lººmë³Ûœc×½¦Ä.e)fà!¢Ì´/ÂÈl,cýÎ]`”¸ávtSçç™›s7vÉ}‚çÎìÎjê‹v½õAƒnÄE´•%J`Œ¬ç ƒ¡Ïá.8Üõ[ÜÕÅpüwá³g'ý_ëÅI{ î nì‘dNØä÷Sg|¶fÆg/îxäÞ¶7½.vÆt'o›Ÿn[ÏUe¥-[4;888xö¢ä´¼ÚŸ ¼5»ãÃWWýDc6ßh;º®±à€†H»65L%&"ŠŽ(Û™SM=œ‰ä¤­ÎÏ)¨lãˆXgßè„„0µ&kýözžˆr_][‘ôÊJoÍç9{4öðD ÷¸Äx¿Ë›Î{ s Ê»ôD2gŸÐØ%ÑSˆt­ŸçähìáeêàH¯Ö‚Ã]^ËÓŸ"ÆG ÀOŸÔa 1MŒpG²ÞÍüT¹D¢lÝõ§¼÷¨ëX.%vÆÂ^¹¿Ï?ëVÖ“ÒqéÂû_I`Sÿú]ÓMŒ.µ›5~}w“ù§ØT®*ýÉgM^•þaLµTåe¤=óŒa÷îežc§¸o°ÝÔYßʹG¨Ó±Xöì‹+U‰I[±3§² IJ]¡êª/È.l'÷褹ŽDä87)5Á›ò²Š9÷Ø””%¾¦¶ŠìœêÞKÿ@{aæ®’F½wTÒòÄ(®±d×öÂN“©½0»¨±‡õ‰JL¡òÃ]D,âù(ÒÛPXX­E9Üá1†Á“Dáμ ¥Ÿº‹Ë½ ÖFw¿ó§O;®xÅÐú韒GFFFFÆ=÷VE7uúTxÒ§ÝDD†“¯/žþ»ã""î‹ç"ÛÛq‹Ié´b íû¤iç)]YèéÒþïÇ'ß«é3ãæ÷÷MOåüB!¶‘„ÿbjNê´¤N{?þÞ©R""ljÛž *z!¨(Õ÷%‰ØFþXüý3í~÷ÿ|sfì\ïÍx2ð©ÓþñìÔ|$· à+Ýö -};}YZAR…çìä-;Ö-õ”ˆ -ûÒ–…‡‡‡ÏY½»Ñ@d¨Z½hÙÖÝW&/‹Y´hÙÖ*Žh`¾E³gÏž³rw#GDÍþÉ1‹- _”¼q¿f´etÒq<«Pȯö¢Â7ñ…Ö¦ÆúyL p&â4]¼X¥VˉH®v÷PÉYudÊ /¼˜æíâÁõ4q¦á]SQÙCä—ðß”À‡–ΉºªË;»j9"çȸ‡ýBcc}1dä¨ èudæÔÕlÏBL¸ '¿åœ×ú?¯è¾4¡×ýÏ‹›¿õ_yÅÅÅyôøâ÷¿ÿ”¦/¸·ãà·}¬^â«lý¢Õ@døö`«}È´Ûxßžó=î†ó%šaíÞý\þñΘÉh ¥«í‰'þ“Súyÿî~Ã{ùú‘wNä±®œm'¶±KZ8žŽÖǾU•\ÆG<4áÒýíŸm|ïÿ¥ñoZûç~妬ÿö×™_/û¤ÆÂû#lì¦r'‹O*Â{{(¡Â'&f¶ZJ\yFFmжý¥¥%;"OffŸ#"©áäÑîø-Y»÷½ÿ4åm+=GÔ²'mk÷Ò÷=úáÓÆw×dµ&oͦڠô÷ïß¿#²%#-ï§Né7vå 9×£Õ‘÷•—9|OMÑÞòÆýÈËë[Kr‹ê5?Ò5@'G$S*Ø¿¦`‰¸ž>\GD G9«T)¨žC…5=_±òÅ`¶:gûö,JIÄ¿—¥ôé¿ýcÈÒõ¯òßó†"zkáÚI¿}ÂOADŠéO""r9YJDNž®®»ÎU·x&…«‰Hóö¾HRœ+Nk™üôÛþ "òŒ\êùîžZ.Þet±*À]VY¯)©l|È:L‹©ýóÌÌ N\RŸSÒÈ©£^HyÈû<}sQÏy®~onFôr‚Ÿ¸iç+»¯¸P)¨™Óöðä!&Òõp<‘£ÊQNr"=ÇéˆäÄk;ÐGSgá®|}DJR¨JL4#9…²¶ïü‡ó‹¸Ý™=‘Lßîü}fíe˜ŠÙk7$L¸Þ7l:ñÎïs”/ÞÀ?¥þ–cµìôYWÛ–Þo ²w}vJµ8©¯»ÏXÿZ|äæ ÛGß÷yÌ›.ùÓ×ßwkv{<1}žq×;uÝóú¾6úþvÒmŒèԧ牕(‰Î\=›úˆˆDJ©èÞY N¿`´'›‰¾ÿ`¯d‰X›{ÙKÚr%R{™Ãïž úÝ`2=egCô£2ºB¡ ¾Î@te;º'ãÝ}'9’P_G·d)I%NÒY­ÿïã8‰B!˜¤utsƺM¿ÏØSFÏîŸ8Þp;ú”Øh¯Æü梷67ûªeú®úÊÆ’ø¨å|¥‰ˆLz®³¡¬ä0GD\S«Ö×CÌ‘¶¦¦NåÑÇñºMueQ+O¤ëlëÔ]lv«C‚+Jš ö–±!ŠÎÃ…"uX°ÊYç£(©è*Ì/S„°õ…õ<ž:*ˆU SÖ‰åC'HåŒäµ~&ñ}«;%忞zÓoQ<5iCšØat‘©õà¾CþS¯Œ8ÝÇÞy󠨢üT/Žr¸Eýà›éûL3—¥¼:ÝÓz[ŽïËÙ½9S—öR¸Ë-?€G¨»rþËì}sÒâ&àn¦»ÈÛo¿ÝÔÔ4ô«··÷óÏ?·ÇiÞK¿Ý»ôõwf=:í]í%³þ˜÷fˆbølÜ‚I}»Žwmu]0ÉÉcžkǧÇ÷uOJ¸­.týÐ&UÇÜgSÓ2 ¥ÿ¹Ðá«ÏÛ¿¿8—EÛoi«¯úKýP_f±ó„¬yò’½õ;;Ìbç Y‰—¼Y£ÁÔ§?ÿ¿ïèPD?« …ï<§×?ø?r}ÂWq{·]{ngƒË-ž¬=вçÔÀ¸.1ôݾK²5¢¡_9ÓåšÖƒÍÔé÷?ƶÿw‡X›N7“dfÐ=÷²‚½”ˆˆX{)™:¨1Œ›"û²FOÊ玫.:]Úÿã6u|äêøwŸ\ù¼gúºøÙž¤9šµ)-VG*HÓm´òOdhù$«®ÏètõÇ2÷tݺ§¸%|™g÷¾´eïNÞ±/~±çÖ¬}-¡Ë<¥\mVFžkêÆE?m£àÍÄ2¥_t²_ôU¦ÏHN›1ôkhÚæ„_øøà䕯>24‹_F˜õ‡°Í›‡&:ø=²Âï‘ËW.÷X˜øÂ\¹ƒƒ˜L­{_!ber|øÀhÁËw~}vÉÚU ¶¦–½›¶å׆¯š6GUt¤¶;<܉ÈtêPMY>Ñ–/X‚%îT«ç‹ÿ•ì"6µälß×»à¥WÃ]Ħ–üô7·y¤Å*¯¶ÎY,K|ë7ò¤U/9õŸØùòö]—­]ëÔÿÍ;/çlŸ™è©;¶sçQ‡Äµ¯Nw¢î#ÛÓ·çºmHtcYâNÔ:¥­zɉz¿±)ÿŸí—ÇÔ¦¹ í¥Y—?Ìv‚§-™Îb¿Â-bj?ÞÎ{.ó¿äHs˜4g‘‰›´':c^ܺ‰úOìܾ¯÷/½î"îýfgú®lÕúg¤ã»sj’6¬zСÿÛœôÌì#þ½x_}©KSº‰Ä. ’æ|ýfö‘i/…ëàÒ{•*3K¥;xJë"îmù†Ü”Úãí¦ét¶¶•&.sC@C&MšäíímmJ÷ööž4iÒíß&×Gÿ¸üã¥ï|ëJD$õûí›k7¯.f—‘ˆ”Óžøãr'"RøF;}ÿZ÷¼iJ"rò&Ùüä·Óo{Ç,óWÖ_ð\±Ð/>†ˆ7ý«¡mUI×3sß°™ÎÖ5½éêýǧ‚$,µÚ÷>Ñ÷Ÿÿ~O—ÏïžžöÜyý‘/¿Ësõ~.þ¾¦œsG´^|úÁöÖÿùŸüÅÔÃD2ý«ætvÿßT©ÿêÝ;\3¶núuf7‘Ä5hñº¬Õ‹ÔDŠ•ñÙ«žíê´låªùix>mÆï®òý„çÒ­«O®NŽx£\CS·$ûÂs˺“kžYô®Há¿n‹zÔµ£ß¦k·²×3 º¾q‰ŠÆ‚j=±¾Á*|NÂÏoؾæ·Ã~WŤýa ±D ÿ9ž¶D$VMRRÃYÍòwÙWZÛîÔêÈ)Ö?ÅSL§†-«œ9ÝELdj?vBç7ÓELDbÏùóU‡ŽœêyµuKĺÍòw""[¥Ê´3§:‘Xéâ ;«#ê=u¤]>m‰¿“˜ˆœf.˜¸/çX»)Ž%bÝæOs""’+ÝäºN‘»~¦Œ®ëÕɕ׸’u›ãïDD¦Ö#'hjÊ19L]àÏn?Òjzpêô”W§­-ÙzNwckÛ9]Œ+#-uÅßOˆIš™¾=ûˆÿª9ƒ­Ò‘\5eöòµQ:]öå’íÔe) vçl~ù#²r´l¢-‰§ÅÌ>’ýæËÇʉ â–øïÌÞ¾íàK)þà«,u­Z2=ñÑ#›vŸ’_£ÊˆÝ¦»hwµøÇ¸ˆ‰ÄnÓ幺ÙËð„6ø¹0z½žaÜ‚ X,³Ùl6›F£Á`8sæLhhèõ¯Áh4þøÍ¨­­ `Y\²ÂqÉó555þþþ?ºz1d¶Ù"Í‚žôfº`´üùË ^¬D};¦¾<÷‰ö¹™vv‘̆d,#±alDŒˆH »*Í}í°B16Æx=B4V ¶ªªêȉd¤—Ð×`tAF@F€±HBßH¸1Ä  ,(„[M§ÓÙØØÜܲ7Ü¡ð‹/¾@‰Ã ™7o `l'†aH`†È‚Ò€;ò”aD ÑÝ|‡Þ ¯{¾nå¤2™H„Ü[Ãh4j4‡›²7ýÀ5Ò9C$h@‡»àp·êwiPåÑ)ÿý驯[ÏŸ¿`õ;®ªªjô©D"±³³suuEF€Ÿ€`m]D ÙˆÕád#bDÖŽ\ Cwkw…ŒýSü £Ç gtô[¸[¹@$ C YÿEc:Ü™¬aHÄà Â]6î"ŒÊÃE •Jõz=Êî z½^*•Þ²Õ1Ö¶EFÄ06"†1ζ¢ÎŒr†;Cgo+²a#ŠåÈ瀌0ÜsÏ=?üðÊî çÏŸ7nÜ-[ X›ÏED 6"š<^|¼Ãˆr†;Ã×FŸñ¬ˆl†¾,Âð&€Œ08::r§Ñht:JÆ.N§Ñhz{{•Ê[óÌz†æB$"‘ˆaE +¢]ØúNÓ¾}š^ec—¦—ßw¢¯ö¬ñA1+"VÄ0 YG4a<n?F¯×ãH„ÛE‹Åb6›Íf³Ñh4 gΜ ½þ5·¦=/} IDATÏd2iµÚóçÏ ì£¤Ré¸qã”J¥X,¾55”ˆˆ,™-‚ÙB&³`´& õè,ßœ55žãÏõc(F«œmE“dzºˆ•rV$HDŒØ†± Ü?J¸û~‰d¤—0® ‘X,vqqqqqAQ é tw‰ˆ%F "”rQ˜»4t‚”·A° ô `B½b¬žÖŠlÆFD¬ˆX‘ 16"‰:º Ü0Š·2:Œk¬Ý], D "bˆ1‚™!Ö†±XÈ"0d}†1dàËjäÙëâDÆÜ¨–·?Ræ<6îu犚'M‘ÁPô™%p’tKH:§?0áã ™ÔПþTwÇS÷}œ$“tÛufM¦ìï«ÅRNšÖ|䱯Áòmúé” î7{ï!)c¬ÑÙ¿1a‡›pì¹æ5Ïõ¬+tßÙ\¶¢yË»ú¨MÒêšœÓ_;zHù²U-kÖIsÿì@RÆXÃQÆ};¼D\Yû’çÎU?6!åÏNeQç ïv6[Ñõu€ÛÇÛJ‰?–þ}Q™iÚ/Å?YqI$3p‡Á=£·‘±ÿù€“aS†þkþ ÙBD$M{ÌÞ‰ˆÈf’Ówš78Ø/™i)ûÈ` 24Ÿÿ¬W¾dæeWW⨇eR"Csï±^éãʤD$•?ò˜øûƒýDD¤|Øa¢‰î `霩Ϛp§(ÂÜDD̽6/‡YÎDÄÜë%êk·AÿñAafªƒ‡”ˆØ™OÙK¾ìý—ˆHr¿"ÌKDD /‰’Ìݽ—\cØ»‰ú¾<_T¦ï6°³Ò&¤ý„àŽ„vôÛèªýÑ DÄ ¶ 3DÖ{'m“ä}{ÛVKéo(ìÞÀK{H$"'ëŽï“Šì×i?^Dœ©ÏºÎñ6“¥D$ Ì!]l†–2ÖŸ%R†ˆÈÀk¿V4GI6¬¤\ïeKÙY.»ìóMsOÏ>—›þÝÖÓ‚ûÃ÷¬Ùè< ÔÑï<Й޳ ß°7~F³2åRk˜¿Ê|¬½ÁØg°qê;g&…Øþæî+•²J…(ê=¯´ÀK¾méø÷ Šg=í:ëi¢®þÜÕíim?þ³»àz¡¯ËX!•?Feïu—Ií~3uÄÝ&õrs0|ð‘Þ@D½ýÿ«ÙýQ{×›ü‹²_ͤ²÷¸""Kë§ëÒ/pטß(hDdÌýÓ?59K'¹á¸QhG¿ŒýÏœ¼dÊýãs?©ÅYô@‚­ñ1Nò”êZcKmW¾7>cÝw¿Ê$"Æ=Zµ%IBd¾©í³™•¡~rÝÙ”]F$n¶OfÈD}Ww¼mT@÷އOËðHOµ?¶¡õáu‚DÊØOU¤mE#:À açú ý2¹¬%·žaw9ôD@Fdtdt@F@Fdtdt@F@FðQ@Fdt@F@Fdt€1ŽeÆ»Ø<ÀúŠÔh4(¸íÔj5 îfLWW— f³Ùb±‚ ÂÅ×0ÜRÖ£‹a†aD"‘õ†aAàyÞh4ž9s&44ew3V"‘X,k~BF‡Ÿ!£[ÿ‰D"‘ˆˆ, àbF·±±‰DWtdtø‰2úð˜nmA·Æto}¨§Ê~fÖÏ àbFg¡,à6†uÀå· ¾Ã¸ ÆG@Fdtdt@F@FdtdtøÿíÝOH[éÞÀñŸ—s ç $,N!‚YD0`)$`p Yd ]dÀºpÀÂÌ Shháí¢Sx]DP˜,^*40)˜,"h ið,Nôœè»°öíÛÛÞ;ýsÇvü~v&ONÃï¸øúð$àÏ¢0‚¿>»¾tg¡ê¼¼çž¡X*óuØÍdht\àݸ;3¬ŠØ‡õ­Å…\.xç»°Æ\ht\8ÕŒú å®%¢þþð~a(¦ï”º£só_ëµµåJÛ͈§3ÉÁVöÞºqs>éW¥ýäÞƒM=sûfÄ-vý×»9mæÇ scy½Ò¶EDõGÒÓ×Ãn‘ÎîZîìAÕNeÒ¯ÊØht¼•}X/–M#ÒEDUç ÚK}Ø-í_rUÿôüÍa·V²–Ww&£~«P·’~õp¯*†§[iÙ·´w›24åkm.Wôô­›aM¬z>WÜi‡RÌæjƒÓó7‡ÝöóüÃGÙ-ãI?s Ññ§¶xkþü¦±é¨G}qÿ]ÁXÐ-"‡ÍrSMÝ""î‘ñ ’-·´TÄÛ©¶¬¸ÚÜ1±„Y¨¶ía­Ñ°'Œ¿k>—󴼽뉆®“3Aé<)x3ÃnQ¯Œû‹[»íä—D:Ž×oôùyt±÷J«ÙË×çg"ªˆ¢éš*"ât,qyµós)Š®:-Ëñ†Bzq§mi•¶' µ å†y¨ïvüñ€&î/ggÔÍÂÖâæ²åŠ¥¦’!«Û“ƒ·Ÿýf9=GX¶Ç]ht¼êŒóÙrËŽ ¾ú«àÕ¤×yÙÓ–i¹tMÏHPVª5WK 'Ýaåk íÀ œí·SÁ„ˆõü÷•…\nðnjߥ?þç[cÞß~ùXÏË…ºãzí£œî@4`íê–ˆØJ¡®c†*ª ô*ŪÒEõG<ÅBÓ5ôŠV–þ+»Ý¶EDó~MDÄŠzÚÅž%"bÕóK¿ž-ÀÆ>ú%ñêyt—g(:=“ð‹X¯.ñƧ3íÜú½Û–ˆèƒã3SÚˆ¨FÄ×]nŽ$ýªˆjD\ë½Ø¤GDÜ#ñJî—;Ž"Šê¥3#nQ3SÝÜò½Û¶8¢¢é1?ç\ÞÉ@¯×`¸§§§'''ý~¿ßïíïïÇãq&.3κ4: ÑÐè€Fht4:@£ ÑÐè€Fht4:@£ Ñ€Fht4:@£ ÑÐèht€F@£ Ñ|®”w\o?ËÞZ¬‰H`òöÍ«nûùÚýŸK¦ˆçÚü­/ýÌøï½Þ,5Ϫ½]®š øH”÷z•ËpõšÛÃHÄ-ݪ)ºO1^ÌûuÍ ¹J•RµÒ9ÀdHoäÏŸêíV7«-ÓùçWé>]Ñtå_,¶LSD4¯~ö/yt‘Û4E¤W~t«|¾´»gÚ7Mxq¼W¿•¥…GÛŽ15÷M˜ÃGÕ袱°«\ÞÚ1&Cº4^<~X]YÝi¹F§oO…ÕzöîbíÕW½VÓæ«ºKD¬Ž)â±ÚçHUu]QF§g¿z±U«(ºN  ™®æKÊX’@ø(Þ÷{]TÕˆ…\b:bÄB¯¦™åˆˆ8V·UÉoî9"V»Ù¶Þr•7.#éíllü¾[ɯÎ?‹ª ÆBŠôj¥FÇ2÷Š+ÙìÊˣиØL$ t€ otÕˆ‡\òz¢»#©±€«W]}´\T&fRCŠÓX_-wßx ýÍ‹HfrÔ§´J«¹|;4nœ/×ÂS³©}ocñÑÂjÅ2Éø¶ÑðW3Ðëõ>µ·e[‡–¸ÝšÈáïZméÛ?ÄÙ¨ýë9===99é÷ûý~ÿøøøèèh?3p™)Ÿà{²ž-Ý[¬öŒ±étØ*mµD|£A—ħ¹nÕó¹µíÚAODñ E“S©ˆ—S-Eì£|.àòú#ht4:@£ ÑÀGõÎÿ‡Ño¿ýÆÔðN¾øâ †ðDZÐèÞîϺpnøb ÑÐè€Fht4:@£ Ñ€ËI)‹Lø„=‘H 0\ˆÓÓÓ“““~¿ßï÷ŽŽö÷÷ ¸ä8ëÐèht€F@£4: ÑÐè€F@£4:€?JyÇõö³ì­ÅÚË]ž@(6žL„½êÇx7Öî/w–›¾ÔÿHx¹7¸œÞsÝ¿vm|lÔæÎæòƒ…bÛf–ÀÇ ¼ß«ŒèÄ—AUD’_=yô`³™_«Ž~q‹U²²V¨ôÅ3’ÌL%ŒöÚýG%s(s÷»ˆ&b×—î,T•ÑÙ;ߺ•õ•|¥ÙuDÄÒ™ëá׶έú“•BµÕQ˜ß<²Ý5ÕáxÔó´P/7-½Rë‰'ó«RïôD¤¶xgþeðíuíèËÌSDtŸ~ö.5&bv-G\/þ.8;´¢éŠHÏ´mË´D¤µúÓüêù5Z]G4Ýïaý?A½òõÌÄÒÂÂ’ÌfFœòòBÁ•žKúùSàbÝ~þôqSD F ÕÕÑDºž±Ù™¸þâêŠî‘hÌSØl”+ZÍÏxüŠ*¶æuIÚœ»>¨¾XêÒU9ÿÆU÷i"=óÀ”a¯ˆc¶M—GñvnÛ’ *ŽÙ鉸tMÕ|šHÏHÍeB/Žœ+.&Íõ—ÞÌ{õÛYYZxôð±íSsß„ÝÌàC½ßY§µ½•Ïç×~ýï?DJ§†5qc‘îÎv½cuêsÙ¥š%"âÄ|b–7J¦ø1¿ˆ¨F,¢‹Ó,í´M³U^ËfsÅçÕö‹$"ù•|åÙnqm£!≎ç[´­­õâîîï %õ«þpÄ'ÒÚ.·L«½»±”Íå›·÷ÏÊôT8L |,ï¹Ã|°S(ˆˆˆËO¦'ξ“ÅŸží®®×wDô@ôZ2ê}QÜqßæÆˆ‘9{DLÍN:+›…å…‚(žP"=Ô䕪ö&ff핵B!·(¢x†Æ¦§’WT9;ë¬ E=»ëË S\±LzXÑ&f¦í•Rn¡$Šg(šJ†Ü"Üá?%Ó#É$SøXz½ÞÀÀÀgó~íçk÷.Y#³w¿ rîùówzzzrrÒï÷ûýþñññÑÑÑþþ~<g2à2û#htoõ¹uÁ_ g]þûè€Fht4:@£ ÑÐèht4:ð)SŠÅ"S>¡FO$ âôôôää¤ßï÷ûýãã㣣£ýý}Æ.9κ4:ø\ü/“Z)ƒ^Ë~IEND®B`‚murano-9.0.0/doc/source/user/figures/qs_package_details.png0000664000175000017500000021532313656750211024057 0ustar zuulzuul00000000000000‰PNG  IHDRÓ{®ÙŠåsBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìÝu@iðgfXºCÂBÅŽ±°QQQÁDE1±ëN±°±ó<=±  1¥séeÙ˜ùþXbåÅï{~Ç©,3ó»3ϼ5MÓ€B!¤ä¯ÎB!„þ`äB!ÅÁÈ!„BŠƒ‘B!„#„B)F!„RŒ<B!¤8y „BHq0ò@!„â`äB!ÅÁÈ!„BŠƒ‘B!„#„B)F!„RŒ<B!¤8y „BHq0ò@!„â0«»!Í»>¥ßÊ×`>ãÜ™© X?3OŠSørÍ ·«¹•^gi›[6iÙm„ë¸^õ9Dm§šwoZ¯%/Ôí^ólÏ©íƒ#„B?-ÎMŽÏS33Ñ`⼤øŽi=-V5®™Øæ!(+.*,ðÀR§©{"òè_„B¨¡ø)Ÿ>'óR>}HÌÓ ÉOüô)™—ý!!_RÝÿ³‘•yu—˵ßUôÍm5?|V*<äöÅ#žcZq¨{z'P@vB¡ß©¤¡Å!@úéClìÇ)|€àèh«0ª³ûÏÎßï‡dk™·±_¸Ë{¨¤\;÷®ðWg !„ª;ªÆ–MMT dñø4¨ZZš¨U'ðÀÈ£*„zÛÑÃL '**³:­G!„Ðÿ †ª©>»ä;¦®©±zuGŽ~wäA¥_vár¹“3ø±>¬¹\®ýäµg£ò)óž_9Ѿ+—Ëíd7Ìm£ÿ»óœûvár¹]í'®<þŒWðvë@.·×ª|Ùíø_îø.Ÿ<¸{G.—Û­ÿ¨™N†$ p B¡š¢鱟ÓJ/XâÌèèT>U½}«=·¥ ‚OÇg¯ó{#R36Õ&¤§½¹â551k†®ÿ®[ nlªÇKÈHxyqÔxòâž¡F¥í0E_ÎÌ[}ðYñ *7îéÅ­OïG¬û{Ý@ãâ<Ñü'æ»îz!§Áf‚ óã£ÓÝ ]õ×ÓrÓkèüˆÝÓ—ø} iØy`Oåè'!`ؾ{s]“fê5±ÄÙI9l5%@’~kå¸?ƒx„Šº‘—•ô!øäºàë/¶ŸYÝM»8º òð¬©ÞŠX* aVÌ“ [Ÿ…­<±y¨)[NBE_Î/›±?R¬Ô~þ CÍŠ7©frTv˜ëìÓqÀb¥½½¾kÆó÷SÚVˆâ(^ˆ·Ûܳ_¥•©LfÆ>õßþôêM×½{f´×À¶/„BÕDeÄ~ˆË‘[ׄLý’. ò>Dͨ|ó‚ò£WœO'ü»-?|ïJÀõ{k{©_Úu‹î»òìûW®ß½°¢+@øôlpšL4µÿà3acç-gï„> {pißìNj¼[ëÖ¦_2 £/Ýõ¢XÍ]¶û? ½sÚÓÁ ëîzóqåoü?^íoÑwæú=GþÙØ«^ ×u^«Ç6»ù›¶nZÜߤ¦!ûòô¥$PmÒBŸ …‘‡¶ñŽÞêÿ0üá½û!awOzôÕà];|/½¸ltÁ˽K¼ƒ^Ÿå'n…†<|re‡K3&äoÝöW9'ßX;mK(Ÿl:e¿ÏXK•’ùHÕKŽÊÙ¶üt€‘ýj¿;¡!!OîœZcoœtD²” ÒƒÖÿqö+pÚMÚæò(,äú¡…v† Š:ºl{x.6| „ª6’ÅbK§AS =]³&ôØÀ`2ÕYˆâ‡ïu5®ñÞˆCÛ´ïÔáFÚC<ÿth¨BJöÓ†è@VB–¨ÜŽý½}õn¨É"ªõ¬'û™Ý@~4à‹èì°#gt†íÜ;§›™* K³±½Çu6Ê@E?ó¾ÜŒ“¢4UÇ=m˜2 s›f¦êÕáR%JÀûúòÊV÷E—³ÀpȘV§GDð4ý1«—™4>`h42ǵ d|-îL¡2îù^Hh2w¿§£•6‹‚ml;kÓKÁ“K‘’â=Þ:Ã#ˆæN;÷Lo­VöÛ¨^r’” ×s€l½ìÀª!M4YÁÔ´¼Êwi«ò¿WaÌyß`>èݺmV3 @°õÛ]¿Û½)@Ö•½7’q$ B¡j"XšfM›Ôoܬ¾› XZæM--5•~ûM?ÚÛÂé8¸­FiBLm3€ÕŽö­Ê^déÔ×H§Ë_ÜŒ‡¹tÖ’¹>*56ÅæÐ²„{OÒÜ™}¾ýB`6rl;u™r=\ì4BÓCB’„-–õ]47áû» r.OívYÞ”ZÏðšÙR€iê|ø¶ÅPÕ]ü‹‰€¦h€Î}øJd»ñö2ý*Lã>n“£d+‰¨²`Êðu_p!ÀÌÍk~ír¹¯VrïÙõwl—~²m:L“¾c¹>†—6 ‰ƒo'Ôw®PGìÛï[þ":$¦ÐÉD­ºÕ…BèÿÁR×Õ”ù–­¡'o8\?y(k•ëÑ!mŽl³IVŽT¬¬ÍÊg’а²­!“_'3ÎŽŽÉPµjgTa¹T•†ëCàë¤7‰B(‹<Ô›6×ûÑ¢ÈbéXXµ0uá$ƒ’ôIe -e YÉq_b?¿{zÿæõ™ÝDɯ¿JLÛ7)1 íf¯²+ŸDÞÏy…ÒnŽøK£&,i[nµÔê$W”æÖÕÊÕ0¡Ö¸ƒ „Ç•|/ˆ‘i÷w,W¾:%™±€0‹WHŽõ@!ôóýøåZnËÊ7›[Ô4*ö‰0Ô µH~V¾$|Ô *MÒ!”ut”ŠòrŠd.–*ZÊ?pÝÔt8|uU[•om&L ?½ïÐ…;/ËøPQ(ëBd€šauææÒƒV͆=«¯¥Ýtzä ׆åb±o'G'§W1h`¨éË´`P‚ì\ ð£Ý‹’›A®€ÂÖ!„¡6 jB,WÕH‰DÉd@0•˜ ÊÙJ,”ƒ-;Ž…×®R«$iA«Ç,¿•ÀiØepWn›æM[6iÄ e¿&²,,(‘¤C65z­>ä1Ä8›tÇãqôa¯ëö{Ë&ÿT/9›±PBWö$B™±¬ƒÅe»½A^ðA1!„~©_yð>'P­Ë5TS£R@«ž ˜&Ú|áE'ñé–J²U1/:Y  fT½q,µE{~ï­`´˜}lßD+ÕÒ±™å¶bj™häfDgˆÀD¶MG˜ø00$•iÑc€µ~q•«ÛŽé] ß{Ñ ¿QÏvîé±®›tìKõ’chšh¤¥Jƒ®l{‰(#:½ì;BY×ÀOJÌ£€S®eƒæåHHeuj­x‹Bý¨_ÖÂu%,³ÜӢ跒˜;™)¡ÞÄÚ €Š¼ö"«ÜVâ¤à±D£.ÊŠÌ® áM2Ñf∲8$yiù2[±ŒÚ·Pà…ÞÿRîi1‚÷Ç×­ß²ùàÓ,9ˬ°ÌG,g{Óëè[~M’S2µn¦ü ®ÜBi¯÷ËÆ(Ê l, €÷þRÊ ó¥³þ9¨Oß>³®¥Wsù„Bèý²ÈCüÔ{ËÕÒ &Å{²oõ‰dŽ­sG-€eÞ˜%@Ñc¯·“JfãÒü§7ú~`wq¶Ñ­VÖ©êô{TC‰Ã 3>§—]ãiþ§ ^G¿]’§ùÈ~ºÉ~›Ž¿É/¹š‹“nø^áèvéf.w诊Õäe5’ý6Ÿÿ"ªArjmœí4âoò{ǧK6{jóɤâ-R·«s6À»=›¾•ìL儨ö€Ðb¨>Žñ@!¤¿ª·{ßsôø{ƒ{´Ô)øzóÎÛv{÷y6šÓlÄŸãü]OÆ.}{HÖ†â/Ï‚.‡$PÀl3gqOo\+ ›Î]h“Ö a‡N–?´N§JSûN*‚ã.ð §;´Ö§~|~ãä©° @œp=\ÉŽÛHƒÓjÚ²¾·–Þz{`ò˜‡«ç¾¿u6ðاOl^E; ©ÙÙ}žõÏð¼ƒìdPÝäÔ¹³ØÜ_òjÏÄq/†öåš“‰Ïƒü%š6׊‹Êf)3¥=R¤N¯ÅsÚ:o‹Ýä4úáÈÁê³³ß?¸p9"ÀÂeÉ cìjA!¤ ¿*ò0vòrãï[éá؇Å/iwšå½i¤YÉ´OBµõœ>ôR¿ÈwÏ|¸[ü²¾íÜ-žÎòÛdjVv­È—o’®ú¬¸j4áäÅyÕžj,©ÓóÏ £Ó—Ÿ~w×wuq^”š8zîÍß8z󫸋ëç$ëÝÙm«FêöZ}؃¹xÃõ¸°Ë…ïnb·`ýŠaÿ²*ÃpÀâ©~Nû>?Ù¾/¬Ûê.ÕMŽa4xÓÁ¼•‹|‚ãCü†0›MðYaz`BT6[•]m±Ì·­\¶ëQü£³û¿j`ãæ±rJKŽ"GÌ „úÿFдbWΖ$úêóÙØÅïÂ܆ü¡÷Ã>¤ ØzÚwëÚÂ@©ò%*L‰ y›^Hj7åvíh©Ã’sXy(~Ü“›÷#3h­Ø5«…g“P¹1OŸ¼üð5“Ò´hmÓ­­)‡IvÔík¡‰„qÛþýÛë–ÎMÉ}þ(ìmb[ß²yÛ¶–zß1 ¶ÚÉÑ¢ì¯ož?ý¥@£qçÞ¶MTb}FNh¾2ðØPÙb‹xŸž>~ö!¹€©gÞØª]‡fú §‹BýÒȣɴB Qœÿæ÷rê9.[ÐSf¨†$éÜd‡-Qcû/l®ô ó‡BUôËÆy ZÀÔÐÊ  |Rnf¾|`C âŒ'=¶G˜ ÜÄBu F¿3B«û²•}^¯¸}cµSÐN‹¦¦ªü„O_y"²©ëÚ‰–ئ„B¨®ÁÈã÷Æ0ì¿îŒq翞½ÿæË»×B`k5èØÍ~ÌäÑÝÌUpB¡:Gáã<B!ô WB!„â`äB!ÅÁÈ!„BŠƒ‘B!„#„B)F!„RŒ<B!¤8y „BHq0ò@!„â`äB!ÅÁÈ!„BŠƒ‘B!„#„B)F!„RŒ<B!¤8y „BHq0ò@!„â`äB!Åa&%%ýê< „BèÿAÓô¯ÎB!„þ_`o B!„#„B)F!„RŒ<B!¤8y „BHq0ò@!„â`äB!ÅÁÈ!„BŠƒ‘B!„#„B)F!„RŒ<B!¤8y „BHq0ò@!„â`äB!ÅÁÈ!„BŠƒ‘B!„#„B)F!„RŒ<B!¤8y „BHq0ò@!„â`äB!ÅÁÈ!„BŠƒ‘B!„#„B)F!„RŒ<B!¤8y „BHq0ò@!„â`äB!ÅÁÈ!„BŠƒ‘B!„#„B)óWg!ôƒÿdq_÷ûE_&9ú Ûv³åâdkªLüŠŒ}ƒ0Ú×ÉùpBƒ9OM4ÿ“fm¡ß¶y „~1ŠŸþ9äâ®ÜV& unB?†Ý!3{¡•’ôJ˜—qïü¡½þQI×WMçèûýÑQ£nµ|0µÚ9N“¥×J£F÷jTæU×þk" Æ÷_Ô\éûƒÐ F¡_‰d«6í6zE'ÛVŒ÷ N¹°îØÐ³s›+ÿê|É"u;¹ÌëTwŽƒÐï #o„P]À6üÇ’Nl€¤‹ÿDäÓ¿:;¡Ÿ#„PÝ@êw×rõ}¡ì(þ—;¾Ë'îÞ‘Ëåvë?j憓!‰‚ Á‰(ýÅÙM³Ç ±ëÌåZ÷°wš¾þôótQ…$haÒ££+]‡tïÈårmú:¹o:ó’'.K(õÂx.—;%(K”²®ƒ —;ñr:⸿Gq¹ÜQlj@’è7šËåºÝÉ)J¼`Ùø]¹\®µãÌg^eIŠ•wo׺ÿšHH;åҕ˼óƒ°üqŠ SÃNxÎa×™Ëårmûïí™-‘É4•~Ù…ËåNÌç¼:½ÎÍ¡»5—ÛÉÎaâŠc¡)BÙjÅvär¹ÜžÏùßùK@H0ò@Õ„Z³–ÿþMYÌ@ñB¼'Œ\v8èM Ÿf+“…™±Oý·Ï9mÿ‹\ªd#aÌÉYC§y]û”œKªª2 ÒbžxO¹,0µìNDvsœ¿ïúëd>ÍRa³bž\Øê6b饄òÃZéüˆÝÓç ITÝøRôåÌ<çŇî¼Ï(*7îéÅ­Sœ=®'‹˜†ö´i¢ `ؾ{¯¾=›©W>ÝÒüÇÝgï¼üôk®ØLd~|tzäQ^N¨5QÙ¡^¦x_z™­VÏHÊMz{sÏWï§eµ€Ðo#„P]ApLé@FtFñu—JZÿÇÙ¯Ài7i›pxÈ£°ë‡Ú‚(êè²íá¹4Å{à³÷¥Ôm»òàAHÈ's€‚ཧ>GtÁ˽K¼ƒ^Ÿå'n…†<|re‡K3&äoÝö'{ùþpxµ_¼Eß™ë÷ùgc/*Î’Qû>6vÞröNèÓ°—öÍî¤À»µn]`Š@¥¹ë:¯Õc€ÝüM[7-îoRiX]aÔ᥻^«¹Ëvÿá!¡¡wN{:˜dÝ]ïq^¶aÞî[ÀpØàÿøA ÿÕ;÷þYÈUH»¸çvZiÞZí§Lœ8y’1ëû ýly „ê REK ³ùÒ«©0æ¼o0t‡nÝ6«‡‡ ØúíÆ®ßíÞ ëÊÞÉ&<ý(°˜0DK-lc[7÷Þõtt˜É©…Òè$ãžï…4€&s÷{:Zi³ ØÆ¶³6ͱ<¹Y “‹¢4UÇ=m˜2 s›f¦êŒ*s«ÑßÛwQ,‚¡ZÏz²Ï‘ÙM„áG¾Tkj0väl"€Î°{çt3S%`i6¶÷8°ÎF¨ÈãgÞ Êm/°tßñg3%Hµf#3€ŒX^ië©ÝÞyæœ9³'Ù™`äê0Œ<BuQî/Qbðí€úÎÚ—›‡Ênà0±= SS‰ ÉOŸ%•ôŽÚv[.]ÚÒC“:÷uà+ íÆÛ[°ËÄ4îã6ÙaРVJ"ÙFFã*$(—ñ0—ÎZ2[)56ņ pïIš¤êÝJ~¾ýB`6rl;u™YĤA; €ô¤rŒÕÈþf2KÇB( ŽÆE¿›ÚŸU+I¹²tî‰xдÎÛ¥© tÞãUSv~PéºúÀ¼ujªB¨n¡ø9…ÀÑâ‚ø vÇòwåoâ%™±€0‹WHšRÃAƒëŸ:úåéæ}Îv>l@Ï.Ö-ëk±e.ç¢ä×_%¦í›”(˜†v³WÙUÈ…zÓæzß>5ªXY›±Ë½BhXÙևɯ“ŠÆ™r¾±¿$;:&@ÕªQ… •†ëCàë¤7‰BhXš„Fƒú¢¡ºµè BÕöóÖóH¿æ{¥Ç§úìooŠB@ó>ó@¯±>(Av®øQîEÉÝA+ HåfSwo‡õë†eÆûùû€Ns»!£Ý\Xª’ .È(5CõjœóT´”«Ñ¬n¤Q±#†¡n¨Eð³òÅrw)GÂçñ@Ý R–e%€¢¼œ" ÔJ²ÂTab¨þ~æJb‰Ù®l\ö ÿáÊ¡ÃWž}Í‘ªÆmúMœáÔž}ÐÝãvas‡^Äã»os5¬úOt6‹8á÷ :—ÓÀnò¢)¶LQúÓsýîD&æ1õ[ØvgkÂÆO!Bÿ-ùïƒ?€ºUK=& ”íöyuú÷&¶q·Y{¯OJzóèî݇!OBãyQwÿ^u÷nÔÁã‹Ú«É"€U§o‚ Éjœ]Äq¥cQ"@2«#÷‰…r#J€Áf”;žòÐÄOç¡ÛÅ®}êppzÙ'ylË?¡ñªm ÔI;í¥ÿŽ£‘ų΅Q×#YM[›A滫>kDª4oß@)/öΡSï „±ç×o x%n9lü.+êúîÕGÞ`ç&Bÿ)TÚÓÁ|®ƒ›re]C€ )1¯âÌQJ˜—•[Xn<É1iÓoü‚uûÎ=8¿mZgu€øÓ>ד%L--4SB˜ø0àÜù«áéÕh¥(÷9¡ B¶„©Q) UO«<™&Ú/:‰_ád&æE'‹ÔŒtðþ ý'ý´ÈƒaÔ{Ú(sQäßÇžf:)ÐàŽ2cÉâÉý;4k ¯ Èàc´t_ûçü…îöúÐpêZ æ¯P˜š! Ÿ®ÜLµ3f8;8Ïš7Xr‚/Gâ*‡ý‡®nö ˜×FMúšrKà½ÿƒ”r!ýðÏA}úö™u-Æžœ3rèˆé?–È$Uë÷˜´ÀÙÒcyb–Qûê¼Ðû_Ê=*Wðþøºõ[6|šUóU1¢®„e–Û«(úÆ­dfãNfJßÞPobm@E^{Q>qqRðX¢Q ‡þ“~âܶù †…OŸ|/MKIC)-ìœ÷ÂY Ö»ŸPnÂ[SƒM0$¡ª­BÁ`’4ÐE¼4>@þƒµœœÆ-»’ ÉHÌ­Îèq„PÝF‹ Ò?=>³qêÏà|ãQ“›•\·IÝ®Î]Øïöl øR:m…Ê ?°í ÅP}€©®]ø5ñëó€€72m#¢ÔÏS@¯8ÍGöÓHöÛtüM~ÉV⤾Wxº]º™×|Dšø©÷–«q%ÑÅ{²oõ‰dŽ­sG-Ù¶ŠªfŸ°Ìû³(zìµãvRIS Íÿpz£ï'vgÝž ©¬ç~{vìØu¤ìxÕA?õ‰qJ†Ïèópííy Œõ÷ ˆ,h3sç’žú©ç-:—\­Ãl m%ås— 4aÒE±1i"­V:UO³GÕai~ºúÉûÉÀu¾ ¹2SLI^‹ç´uÞºÉiôу;Õgg¿párD6€…Ë’AÆ u:9ÛªDñ{žPÇ€Üûž£ÇßÜ£¥NÁÇЛwÞæ°Û»Ï³Ñ”–€`°YñèÜ…6i vèÔ ü˜f#þçïz2>pùèèÛCz´6yt9$f›9‹{Vµ†Y•$Ù/Ïû'ÔtÓ—ô@uÖÏ}V-¡Ú|ô´®O¶<Π%" @|å\\Á³ÉtuºL”› ²Ó »rõŽ/ìÊOTë™ûa(Bÿ „²Nƒ¶=;»8Ùš*Wø\³Ì·­\¶ëQü£³û¿j`ãæ±rJKŽtcR·÷*Ÿi«W I‹¸v<âZñFJÎ[µ¬¯~ñõ›Ôíµú°sñ†ëqa—ÿ +ÞÈÄnÁúÃ*//úmÆN^nü}ë/=¼ó°ø%íN³¼7,]tƒP³²kE¾|“tÕgÅU£ '/ÎV©PpÕÖsøÐK=ü"?Ü=óánñËú¶s·x:G+ B¿‚®Öµ¿Š×ó0¾uû Å öš·çE‘J×Õ{ÇçŸõ9ô)OÕܺO›´€+1œ.K¶Ø¿\±ò¶°ëjßy-q§-¾˜ÖjÙÑ•”R®,›{"¾ñLß ½´¡(ñ±ßáÓ÷ߥ²u›Ù:NžÐ§ Fý˜ßç3$â}zúøÙ‡ä¦žyc«všéW|)Ê|ÿôù‡¸¤´¦n=óF­¸­êq*·HrcŸ? {›XÀÖ·°lÞ¶­¥^M‡qJýÆ õùlìâwanCþÇÐûaRl½Fí»uma Tþ`?îÉÍû‘´VƒNìšÉ_žŒ*L‰ y›^Hj7åvíh©ƒí迬ö#ºÜ_¡ßQúúW²‘Gl˜@¨Æj­·¥BÀAË{!T·ÈD ý°b‚ú™j'ò ‹ÿºÜ¿iÙUÜ!¤Xrƒ € ¤DiB`ðoôK} IDATú)~4ò(mÕ(9hé¨Qé+tÙ6µÝ«ƒú~„´aƒ.þ7tiôA—Ä46~ „~‚ç!dÐ@Óeÿ.ý³,AÕ”´pQ|ÈþIHÿ Øòªm?ÔæQ9ì h h (š¦hÙ„Æà¡:¢$¤†4AII $$”´x¥#„P­ùþÈ£BØA•„MSP4HèâX¤,øÀ>„~µâ~ ‚&HA4I  @| „~ŽZç!ÛÚ!¡hIÉŸ’Ò–™ñ¥;"„†ù%½*0BBÒ @0¤íÅí"tI ‚Bµæ"’¹+å Ä-¦@BÓb $Tq[ˆt´‡Üy.!…*ޤ '´Te³Ù #„ê>š¦I’ìhûŸñ{6ä04I4 48µ!T»ä>9±ZJW&-ž4Kƒ„¦¥CJÕ”Yv ô» ‚Á`k0³”„¢¥óáK?Ú€ãÂBµêû#( >J™U¼3aB¿‘ÒÏ,%³ Mãt4„PíûžÈ£ì ´%k‘öQ«¹C)Vù¥‡KfÂcËB¨öüP›G±Ò'¶ÐðƒOAýZtYW >ï!ôSühäA—®'V<Ø£ºœœœ~0i„P­+Y¤‡–}Ü4BÕ¢Úhó(·°Bè7FË|œk—8þ„—ËåñyÍ—öÞdMár¹=–?ã×vZU&X:v`7.—kÝsð¤UÇŸfJªÞZðzƒ½ƒÏ»¢ÚI›Ê ß1e M÷ÙwsjT·¢˜C#ì?©XGçö}2A\ýɧì˜ßÊU©×ü«ú;îû$üÕù@5T;‘Hï0ô@èwWº2ñÏ’ì·îħZºš×LчCîK.Pƒ=OÞzp?ðèòžÙ/X|&N¤˜ÔE ïĵõ¾ºÇN³FÃïú=Ü—97b×f^ÊŽù­\ýŒÔªµÈ!„ª%öÈúó_Ë]ï©ÜWÇÿÛφËåZÛ9ÎÝû(]‚×ûq¹]§íòšnoõ±wÛ~çÅåu.ý:s­{ßp#IzaÒƒ=sFöîÄåvs˜±õú×"Š¢¶är¹cÏ$ɶhP9ïÂõNÙÑ\[UM¯¡Í„å‹ûi'§Ò@|¼è9ÉÞ–Ëí2Ðu㕘Bá×fÍõOKò›:jMùFáç}Žý=žK_ÆÑoùS~AÈ‚¾_ò™îÐÛ¹óÒã¯rd!IöŸï~*9ëÖb§%rid†YèÔ§3׺×ðY;ï& iÇŸë°æºÿÚÑ}FîþXv/á=Þïu&Z@ ¾nvµïʵîí´ôäÛ|i•rNƒ$éÔ„A+¯l™êЃ۱ט5WãùåŠS|L¾l®Rž¯í×ouq±D_ŽŽê>årUšºœc @”¼s†C÷Žû¹xž=5½÷Ô ìrQ+]wcë4‡¹\ëž#y™[þ‰òëMþ^⌰ƒóGÚYsmú[q*²Ü‘hþ»cnvƒ<‚RÄUí.7«rj)@-̪ý1ü7»&;9]÷¸f-ÿB’¸dÒúç5m¼Ýå:ÑûuaÙ+¢Ø³Æ®¸së'9–_º°LÞësDñçæÊ¾4Ñ}í±Ç)rî¬DéÏÎn[:}‚““ÓèI³Vì¾™ý/m¿ý µ|*6è;´µws`²¸ôÈùϼìºõYÝÆiÒØÞz‰!-ßž/ýQÑ‹ÓáJm;5„´—'—M[ÿTµƒmSåœ÷þ›öDðŠ>v_t,Td=yîÔn¬gVºm Ï¥`i蘪1eïãI­Öv–™gWzì»ö9£ˆ†ÑÀU>‹¬5 rB7¹ïJìîyîîíSK[DlrßùVܾ]à LÆ>·†Ë©NÉ Þî=!µóòóž=Ò.Øð0»ìÒÈ0¾cÏCGßïT굋ýhGŸË÷nt3ºí±ðŸX!P©A;®iOôÚ2¦>«òñïÍ÷|d>û¯ Û'ÿhþâÄëäå<‚OHÒoû†5_~*(訫úíßé¯\¦l®Œ¬u†ðŸ @”p;0Õj„^¹ DÅc¾á‹âÎ,^~ÛdÖ_7ƒŽÍÒ»¶ûyÅÓ8•ygýº;Æ3\»tÚ³kì‘mAiæU¹Þ$òö’$,[rIÓÕ÷zßÊîÉûn(9ÉÓ…ýÍ>£»èЪ~FLù‰ÊÍ*]Eí¡Ÿí‡Ö0­à;~at^Ô—tƒ&œ7žóºØéÖÁ&R»ûÊ#$4€ jߢ½0{Û¬æÊS™MÛõ•󺊤0ëOÜ´¢›6AK yŸïݹ{»Nà Ʋõ-Œ=¿aÛÝzãçyy4Ò”d~xp|Ï–­ ¯µƒŒkó·‚P ýÜ3/Ótøòéo]öùl»ß¢·ô% ´z¸/ë ×¡“y^ÔýOWnÅ䥤RªŒŽž‡vöQý¸kĸãÉVÚë¨wtÌÈ}_Søÿˉ³q 1håÊ\ŽÐºèõøǟͳ¶³t;èV)ivɇ.4¿~õvð%;£Ò”r{ ›yàôýwi…À1i?dúlG+5B’õúâ¿®G$i4°6uê@KUZ˜ü`ÿŸ—B¢³˜æÝ'.žÖÓˆE~¹sìÐ…O™í&=Ç̘ØÃT©ZÝ­$[U] €¥Ê"IPU×ÐP)þ[þë"  @C³ãБm®mŽH(*yÐù1¯SµºÍí×Ò˜¦í†L›”|$:£ˆ6frrËL½ò纸!ŽÄ¥Âr$Vï;&6bHÒo®˜ÃÚk«c=Æ¿íå÷©ÝJ¯qòOj) ¡ÔxÌJ—ËoÞ­¦ ¤ŠŽrÒ]¯-ëÄ*Z…²[+kk) & @ªë©’@0X$ HOÊ€k3º_+Ý!å O šòÞæ´¤H†‡O·>h!ïÝÝS{¼¦MÏö;9™‘”)ˆû˵ÿ)é%QRTÀ´É—€Z5ŠC—^Ò™Ú ”¥ç¶Q3}:$%OÚrN±’Ü”<¶q}-†´>8&õÕ ’rÅ[¿‘nUŸPI^J¡fcSNq M Ø÷@’#?ç,m iÚDuoèT›æ 7ÅÌT¾‘ÕfNGmÊE•Ž)ÎŽËS57æH`ë5ÐeUŒËÍ…o/øìÜpÂÐgŠ•ŠVZ¥ Âï¾/Òê^á”B¨7íd‘}v÷.Ö¾]Û53Ófëu›¹¬Q9·“´â…œx0pÂÏzIGWK’ùìn¢iß®FL:ïå¿íµhaËzؘ‚ê•æ“=g\¼šEï®;ö4¯óª‹Û†'rv:÷SÒÖSP´Þ{´‹¤¼—$Ò³6¬âm^ðäûõ{.þÙZ€`ë40efÄå©O>æOµ6ÐâX?ó·£! TAüç% |¨2eš*8D™qYÅóKÄYÑ)º ›¥~LM5†Ü†j°¯9UÍOùšÏi¤Î‚$«<%14ë©å|NàKS¦N0Ôåæ\ü¤O®Õ–CÚñ½nr;,ì gÈi…c2Ô8ùŸS éVÊ€0ã ¯BŸ2Å»»rÑiÃ5ÿéiÆ!ùOñ®œj¥zÓ>¨¼SÝÕZHƒ Ppô‘±óøV,#ç-ž‹ $Ú°õ¦ÝŽA /Q¹Y­¢öjZm¨æ~e÷†$ýIP‚¹½­ƒaй_ý´;Á %ï[R¹ýøÑëi¨¶uœÒO%"ðM¾Zû9>›§vk £ÂVRQU"¹aòÃÀ/õÇŒëf¡¥Y¯ýð9óÇsÕ¥ƒòYfζõTX ¸\qv¡87"à)gð”!-ôUÕëY;»v? Ž«8‹* _?±lxƸeW2j0g­ž2\ùõƒtK®YEe÷B¨Î µmç-± ^ù¨@¹ùÔ?œ>o>ÿ< §—㫯ÿ¼‹ò.§þ7BpÚ¸ï]OlÜwåЮ%ö×/™?؈E¢ìä4^ºV¾Xö*GjÙ®<ºþà.¿óÄñ„l Ó–½fìž3Ò”  c·Ê'móæ?Føðh«~3w,áªmdÝAyõÔaüý:–Ý 3Œ,štå Çe3ëQ3¦·Þ J&CѧÝ/ÏTnØÝm›GOªnìFƒ7x§oôž7È+W¥wøúí³!þ¥U²tݾ*gíמJ {N˜;$9€”›ódyû³ËŠ³Æ Š UoãОñ ¢ëð6Õéivà ޫy«·ï½V‡;jÒÈúŸ"™²Í"¤NÏ%3ïü9¿ÿ–¾e×1fÙúìYäÕã¼G[•²*Õ›®†@î^K½7f{úLîãÁWohç¶u~[J¬çð§ë…q›÷¿8û‡ÜDÏ-©œUùµWyu˪Ðágº4QÇÙÄ? ]sMS-–ÐEbŠ/¤r’ŒqbŽ(:S•Z4Ý?U(~ó £FO;>kìòÀØLÇãñ2¿.3Õ7ª¦ù/7Ÿ°åYEÓ4M cNÌ·*øëãu.Óö=I.¤hšæGx¹Î?ÏÿrÊ}üšGÙÒ ‹âoŸx•-§^[g!TëÒù”†2É FY‡Kñ8 >BµèÛ<ˆÒNA$0Ih¢Ç~™"úŽeBB¿ MÓOâ…Vúl& $ ‚(ëvÁÀ!T«¾7ò ÊF{P¼ÐƒAôiĹô®ðN4?Oð/EDÕ9É•÷a E]-TÁ(îp)ëkÁN„P-úž5L¡tSš¦)$H¤ë™JhEç¨ÛÑ…Ÿ3„ìvA¨ÎSaÍ Ø=ª¨±II0“”vžJœ$`ÓB¨Ö|gä4 4M% >hP´„1E‹K ES4P4Ð4M—Ä+¡_©lJ!LÊ ‹C & L’`À eZ>pa„P­ú•Ä h KÎb$ A4I $¤4ìš&h e#Œ@R$Bæ_ÅË…åi1ˆâ€C:Nœ(Y»ZBµë‡×0 H¢$ ‚¦I 4HšITIÓˆt xŠÐ¯U2]¥¸1ƒ,™˜F@–<®db-¶t „jß÷÷¶@IïII`AK›7¤¡†´ †–ù)ÐØÎPPöÄ™5É’…yˆÒ°£ìÙ!Tk~(ò€JÁ‡L¨Qú']º B¨Ž( )¤+–[·Ã„ÐÏT[Ïm)~h YÒfË €Aƒ&I0‹GËã~áWù*ùH–~TI²tHiYØQk„1‡såp:'®½T*¼ÞЯëœGù2Ùø´Ï¡‹Ëåtê;Xðxn¯Ñ'Êe™Ê ß1e M÷Ùwsjt%Š94Ânñ~5’øw‚×ì|Þ•;æ·rUEê?Û7*PX’+qü‰ÑvóB Ê•î›~Q¡Šñ_¬êï¸ï“ðפþ{©•q@@Ð@Ð-}j-]üìZZfSéö?˜*B¨æä%MDÉÂDéfµÛÚÁP·ê?tP²Äia7Ÿf€Fû~ÝŒYÀª×D­6n~%QÂÃ;qm½¯n´Ñ¨Q1ô{¸/kÛˆ]›y);æ·rõ3RÿN2Y¥ó~(Wu¨Pè_Õ·¾ô±RÒI.%]ÅDI+HÅ/~á~)üK(þHÈòŸåÚÄÐï6cåÚµk×®˜Ü––ã–¯]»v­Ç´Î:ûêøŸcûÙp¹\k;ǹ{¥K€Ê}ýÏRçÞ:õ™àyêÈ.—ëz#‹*ïí©U.»r¹\›~c– ãI (jë@.—;öLRu—/”¤ïš=´;—˵±Ÿæs?MºUðñ¢ç${[.·Ë@×Wb iZð%p³«}W®uo§¥'ßæ—o.‘$ûÏw?•œuk±Ó’¹4H2Ã,têÓ™kÝkø¬w…4ˆãOŒuXsÝíè>#w,»#–ðï÷:-¬* 9™‘$š0hEà•-Szp;ö³æj<ÿë?³æú§%ùMµæ¿ø˜|Ù\¥<_Û¯ßêç҆ї££ºO¹œF•¦.ç˜B¥ïœáнcç~.žgOMï=5(»Ü#]wcë4‡¹\ëž#y™KUq¨šT ¸´N¤DåJ'·Nd«wGè½)TAÈ‚¾_ò™îÐÛ¹óÒã¯r(ù%g„œ?ÒΚkÓÜŠS‘¹²¥¢ù٠òJWµ»ÜœÈ{ûÉ£þöjív£ô¡µ²Ï°%KüÂ/üª‹_Pm”²Í ‘ÿÌ{Á®[ŸÕmœ&í­—ò×ò­áùTæÕ³wÜ&[÷ënøvÏþwžÙ9[à{Nw—i.}Œïî_àq#‚¥el cb¨Æ¬fÎóC·¬º¤<Ñ7ðÎ5ßqDÀºÝ|*'t“û®ÄîžçîÞ>µ´EÄ&÷üÂ÷‡æ{>2ŸýWÐí“4qâuA¹ 0ÃxøŽ=cL }¼{hP©×V,ö£}.ß»qÐÍè¶ÇÂb…@¥í¸¦=Ñk˘ú¬Ê™ÈKBnfhIúmß°æËOuU¿³ýà;ýñûv 70{øÜ.§øˆLÙ\Y ê á7>€(áv`ªÕ½rgþŠÇ|ÃÅY¼ü¶É¬¿n›¥wm÷óŠ]6TæõëîÏ8pínÐiÏ®±G¶¥Qr%·tUU`Å_ËB¶tUÕ‰ÜêýŽB@ÁÛ½'„£v^¾sÞ³GÚÁfKä•T’°lÉ%MWßëA~+»'ï[¸=¢¤‹‡.üè·höÝE‡Võ3bʯ(¹9¡å•.WÞõ?àG{[*#Êý€}+ÕUu`ô(Z=Ü—uÐëÐÉ  Údðœ•6ß‘ªªõòýgNþ3oвÓn#'M›4@ƒÈIÊÄýåÚÿ”´A@RTÀ´ÉÉ.*Q°£ê IDATÔllÊ‘žÅØM Øÿyä¦ä±ëk1€à˜ÔW+HÊlýFºrÃä¥TNB"/3ù`i[èHÏÛDu›¬U›æ 7ÅÌT¾‘ÕfNGmÊE•Ž)ÎŽËS57æH`ë5ÐeUŒ2vß €eä¼Ås‘ფQ¶Þ´Û1ÈäU”ÜœÈ-ð©Òui ¥ï­Â:ãwVŽú­ÑPôîÚ?·¯\v$€fÖë;ª% _÷Ïš·fò©óüyÒ©Üg{-œ5yÞæÓ?$òøb SeRøé«}?‡×ÒÊõ=°ë°7ï³Ò÷Vd\ZzÒÇ¿ ko3íœÛ©å?Û6k¶Ï­˜PƒI©Óu¬u²ï–Ó/’r³¾„[ä2çÄWf“áƒu÷ù\ûžôü¤÷ÉxIÕ×}†a/çV ‡½/D¦çg}¾±{ÇK£¡ßœi¡l)' ¹™W´¸°è_Æj-‡´É>»õl޵cÛjÌÀQj4t˜É«Ý{oÅää%‡ŸØs;»âÁi‘@ÂR×Tc´ð“GBs|¡Ü~u¹¥«)iéjZ'5.Pü`Ÿ=·¢y¼¸Ç‡7-°ÓIS\¹¤ÌúöŽo÷칓ÍÏ|}f³OÀ–2 [U‰$õ{/voúÂgÇ£,JnE±åå„Ô•S:‘¼7*•ýönàƒyß;9ü×ÃÈ!ô )7Ÿú‡S+¼çátÏ1V$@ü“w&Ž[¼]:š„_½c>~|#éÆLóÑÛ¶Nêfû¸ï“óš X¸k W hQvr/)5¿ÂÓ±•›MÛ³s²~ØN÷‘ö¦x^ \xe/]–áÀU ­?nÓ»{ŸÑkZÌÞ2½™:v«|&)_ýc„]ßÑkîÌܱ„«ªdéº}•mÂ>×ýÆoyg=wˆiU½&À0¼Á{4œ›7¨g¿)¾É½×oŸØøÛmãr“›ùû³¬;(_›:lÅÓ*GêmÚ3òUºo£öÍü»áïÕ¶1ÛÇ÷àv´Ð~d}S¶Ôé¹d¦eðüþ¶½‡/º¢2j–­øô"¯ˆÂê–®dJWƒ:ùžB(™ DŸvÜoäÊûúnÛå±M[·6ç’„“c‡mn¿åÎÁÞš¿:g¿+þ³ÕÃV2·\XÙŽóíA˜ôøöçz=»Õç‚7[¬¿äÙ^å§gógúf¡ B ÙÞꨟ«ü¡À Ìɶy „ê*5pÍ\÷©37yùèôö¿¢lmפ÷·¨ -ÌI‹ºrè>»·£Uu€‚WGVyž—OQü˜À¿n Z÷nôûOª¨;…ª;9ùEp„)B¨ÎQná¾w±Ù÷ª÷Ü딲^Ó¾³Ö-i†§«ïRøÆÇÅ=Ôd¤Çd«ê^ÞØ'mrOY3€o>©nÑe’÷ÝäŒKýÍÔBÕœü*ØÛ‚B!ÅÁÞ„B)Î"òð³Ò2r…¿ï #„BèÿEmwœŠâÏ-Zt.¥Òë¦ãvnj̨ÝÄ$Y¯ýù÷O’®£iÕ¬ÛÌñÝL•þ¿ºÌB¡ßFmód=?æI†Ä™¯GfªUW®˜¶£G´Ñ¬ÍaÜÅ?&o ÎR§¾¥!‘þ!–G0šNÚ¿V{ÿDkB!ôóÓF˜¾Ù>}]¨ Å’c«;J'rý½;‹iýþ93ÓTSM«vŠÈ®¦$-¢"$•¸–È’lÙî%¡‹+K²»’]Iv ²KB–H¥Mû65ûv~„Ûr¦âÛÂý=ï×}½®NçÙ>Ïiæ9ÏyÎ98ëÕðCW’s˜B’‚ÎÇis=©’qvúÕÿ\L.› f9G£³z.<l¥Äɸv8âÒÓÌJŒ²Á Q¿Ï×_¹Î” ÿÃ>ïɇsÔì¬Û†„ýálà¼-÷«AiĶs‡«¡±‚ ‚ülÚïÛ™óæhÈÉÇy Gs¬ZòâBØá7IÕ“=xš‡[2Ô3"£³¾ìÌO?¹ùèý,yS׉c‡t*~²ëAÅ¿ë8ðª‡ûOåh9LÖ)û°Ÿ›÷ú»Üî.ê 57÷^Ì%x$?‚ ‚ ¬ÝnÇÎðžÙGµomv泜»óÙeœÒ‚ Ïù å¶&Ðˀºwá†{5"VpQë=jΠÁŸ+I:uBÌ˺›Ê€â3~.×ÈAÏIõ¢“$EÌÚÇ÷~JL­šnØ Íz ‚ ÈÏ¥ÝF˜,]¶ä鱈ˆbYu]:DUŸ«dôzjÊ­‹‰6ÔŽ<úû,v?y:îñ¹Ÿ76yîÀ—ŠÙå¬o?jôfG…Ï6⿎ \µëˬ »œ#ùܹƒ ‚ ÿ!íöÝ,øtáÀÅ75ýæív€*ZŠ ‚ ÿM½“Õ³ž±v÷ÑÓgΜ9ñOÈ74ì@ÿ¦ê_F]CGN^uâEUozä¾ ¶g0†­JæÔß.Ì9âÎ`0fÝdâõþý}vŽþ·6ƒÜ|ƒÏ¦±¤WGR6ÓÉÒfþm¦ +|‚ݲ'©û¶.qA”÷ðù÷YÍï ¼Ôή¡iüïKÕÎêT²=qR‚Fºíû(hçbûÑ;Ïã¹¢Ž¬ÂÃ…¶^§òÛ¨ |µAÿg4ÌFÖ$q‹Ò’žˆß¹Dbpq“ÊŸ‘•z:Žs)3Зù‘‹¬”>«N‡Ù*ƒˆ]’ùìâî­Óf96¿/(/aþý„ÜÛ®n²¤ã5ÃüW4¢ì… H³:zÎAÿWhg¬^¿þ¯-ÿD™gÀzñ(OÀI ²e0ìÖ¦p@”{܃Á`ø\¯ü2‰!®x¼g¶ËP3K§©ëΧsLmˆk>Ä_Œ=Ÿ˜/Ä@Rõ*rÍTgÃÜÖmÁî;…Bà¿ÛêÄ`0¼£ Ä kC’QTQUUUë¤ßËbüŠÝÁC‹£öÞ¯”€„~>xº³ƒ1ÄÉgÓ•,®¨ðÂbÿ¨ÂÊ›Ë<–'V‹*îß)qAÔï.«ã®„ÌrÆ0³´îjž qr@\ro×ü±6 ÃÒyvèÝ’úuåó°œS(d÷µ¶Â¬p7Ëiç‹$€óscƒ§:[1Ìl½Ö^!.EsÒoá…’‚ÈY×Õε$¢¼Þ®ë®]Xïåà¾;½îœ€¸<)"ÀÃÁ‚an;ÞoçíÏé;K E£WòœŸ{}ël×af †ùð /ªëÏ@±-1íø¥Ð9®Ö ÏÇ_1%ÒR‰Êž\ìngΰ9yuÔ›z9᜴£¾v.ñE"iÉ…E÷vÎuµ1³pœ|&jŽý¬ø*œ°[ë÷"A¡DùK‰U}Ââ»Ûg¹ e˜Û¹JªK9®êdìsø¼6¨‚¬ƒW=ãH9ðˆ²ÂyÙq›}œ‡2Ìí=VœzÛÄüßÿ <iwNqÚ³Ô2PÒTjæ+/ùX¼ä·Q¶†5ï®nšû÷“j©—UÄű«æ…^KW²òžâܵòñ±å'²€É¨èhªéj)Ršž!©Y¸3Èïfs™ÿößõÙ&8æö­¨}_þí¿óµò¸°=“tµÜ\Ü6Œ^7qé­Oû¬ŠŠ?죔°ãàkޤqò—œêÇ!A—䦈Kˆ=0»ø×î—õ¾u)ÚCl:åÞM«Æ%Uo’JI}ï= —T¦>(Öw`hpöËc©¦Ágoß<:‹~gWÄ.A)o;MÞ·k¼¦®÷¡˜u ´(ÕK )Ž‹U¶%d’á¿÷Š‹cW/‹ÄÝB/ß¹~ÐWûV`ÀÉO²3a(rÈ×™R¿’ÿå þJЙûOìíøÓÁC?El/iøåÇ~»÷„`âÎË gƒ‡•\²ñ~•˜(•¸àâÊå—”}\‹\cS¸/`Ç·pãÜôÈ¥ó£Õ—†9jSˆ æF/[uK×ïÈø£~±»Ÿ3q\Jèþm>Q¡ÒÕ8V ZÊ˾ŒyïM8·Á®üȲõ e¢æ*@¨†èÀ#< ¸ïÃ?è2ÿHü­SôI9‘Ên»E hä H;âÜò³a0Ìm\|¶kGšEÐjg]ª´B¹Ÿ.Çäš,ðw4R£ëZL_4R™ ©l&àBÂB¥5ªQ¬Ž±È vól U”;[Îüc"ýYôÓO¿ã°ü7bž„è0xóúÂÕÊÁ‹ÕèÚƒ¼—MÖoÃ5—h‚ íIÃlä`M dU;÷·çÔ_M¯Ô¤v5Ñ¡€|×Azp¹²ìsµ¸;áŽ"f~U¯«*”L_5à;ë&ª)åÊiȳ Êy¹G|FFÕŽTÄ|6Å’%âD2ªjµ¤ @Ì$J.g¾j`ô©“‹\V²õ­Ý§Ïž>Š^oˆœ‘ý@|Ó£ŒüL•a3G}º¾%)ëCy:Íb–>ža2ê]T)µ…0©¥ˆA±nž-Nµ“‘zƒ! ¸º¨†ªc¨Rû„Ñt ÙÕ"â‰C!%9‚´I”w3,èÚ»rLEß@±'˜¢¢¨vÓþòتv¯Nø£".*n˜JT•WCë¢G«m$Ußf´>p„%‰ûyZ’/†Çæ›yu¦*ªÊ­Qè¢ó5¹FWu™\é¡ûЏPKiTÃX5j©º‘–ì·–j’æ5]ðÚ±ŒÁ‡µ…YÅç*w×ÿ²Æ‰ªi¬I½#5óÿy ÒŽhg¬^o^ÿ™=`€€Í“€YTSï·‚ì7EK#î§”Ïd ©ïd¢Ðµéù™å"KRuÊ‘°óŸõݗ̨Բŧ’ЧgŸ‹{­2Ò¨ÐzO‰>æ¦E ;/£HÖ€™RÒa¤zù“•4'ïŒçäy®;컎“ÿäøª•\ƒ +úÊÖIGë9¢WÍë·È“U†=»t«:ÏÇýÙMª0¬~#K1 Á‡úUkY*~æ×¡I½éZŠ‚§9L±¥çå°hFJ¢‰C!%!QZIÅí5KOk­;xrxg‰ódÙ˜mwUfñpc* ,N/e AbãT%-çU1y €ŸuñðÏ)&2Úž!ÁKµ &nÜzÃ.ÌEˆ %+iÓXE\ÜD”eW¥¼Nl õîñ\Z£0)1üBXžYÄǨ€ øC¦®¯«Ót—H¾¦Ï­àìüìFÞ2-‚¶hqŽ(23ò9µÑ”f”¶á]@m2òàóùyyyl6[$êÈ»‚i …B§Óõôô¨Ô޹[CF³§6Ħß]ë¿b°Rö½G¥õ{pžþ0µ¬ë·*AmÜŒÁÊX9a6½‘ÞƒþÙ”²{ñªù7b_sûÌ–ÇÃç.Š)ë¹èÐö†\p§¦¦šbNiÖ³ó;Chz¶V×ày›ïÜrÚpÙ讂76¯ŽÖÞr~]ÿ¶†¤6´qò˜¹yÛýv]»o‰µš02¥á™.F7qìš·þ Õ:Ô@^Ic˜NVÈê°ÆòU-,åü:qùÒ΄‰SjîLÖ²õ4Ù·{Û9“?õ˜÷w‡½Ð»Äˆ É- „ôÞVòÄ2JÊŠTLP’t*â1“×YÐðš„s/tÏM½¹ ™´ÓŸa[Væk”Šbèìf¹gÏî m”sÏn½¨6UA–Dêd¿Ìÿ¬ghØË VD…RÆŽÓº{ïM£Cä?Dî¹U%î$u€k~ðˆƒ?ÇVŸº=4Vo•Rî…m§òÄ:-îéïÕú#÷áà uuu2=œA~v"‘ˆÅb½ÿ¾OŸ>J̃RôÆ.z¾ê`âëûÏúŒš2žðÂçKí;ÖŒ{ïò­•>®ËÖ01ñÈ(ºc7ïemÝy/ê¤nh3;àO.à « K*JUX¢F D„o7Œ·Û@RîÒØ¢£K&ô¡a@³ -Ù¼ù ¡¸ZoÇyaË Ðâ3@’ZãätZ¿ €—k¶N²_-–Qëå0?dN/ÙFéÙÂ+е±"äÑ‚t‘}1 \×BTŠàÚæ¦rkgã쿬×âTùÄ !kÞ¸­tÓ¶E.[ªåõã7ì˜Ö y-ƒÔ$ÿVr£Ù·“v’Úðåóþ\<2Z¦S¡“~÷³ ݳt˰³åÿÍPVw¬ ~Úôªr¹n6¾Û‡«Óy„©VlÛT:Ã!£ÔÍÎwëâ4à}Ë…¢çú§Ï¹É›÷§œùƒ°Ð˜åÛÖV¬Ý1Å~½câtwÃo($âÐÕ!cèÕ¨PF”¿Õ.£fC§Ø¡§øÄüÑ++ŒíüÖ[ÐI¤f*@ÖµtúÝ5«Ý.Êu6Ÿ8wNÿo€¤åDpàa²Yɂώ æú=>NÁ²Ý†ÿ¾pLáÅïèêïÓúÏ0ýøñ£¢¢¢²²2…Bi8Õ‡ ÈÏÇq‘HTVV†ã¸AGWAˆ±-³Ãäp¤a¿—KPððV†ÞpkCÀ{â¶”½áRð ùæS"-Óúç7555:::T*•L&£‘‚üüp'‘HÊÊÊ999]ù °_EE”íÛ5¥);îÈ ^ÿµF-¸@‚´Xë-¿·žóz×ü¿ðMíÚ:7ƉKâþX‘âµ/дQ§ ‚ Íúùæÿ>«urkÿSþæ£Mó÷¾ûúäoVR ƒ1ÄïÆ΢¼^v‹±A˜>ÁnÙ“¦ßÜ„¶ŽXœ” ‘nû>¶áËËêb?\hëu*¿í?0[§ ïïGœõ|Û‚Ý©œV~˜Æwû ßUK¢*(ÉÈ(ÈH  D§ýæ¥oF¦Ñét:@W6ë> vóË|¾«Ž”öᬬÔbë…Žýtd@ÿ·1³§Fd–ñq †s³ކŸ{ô±\¬j<|ÒÜiÃô)ÅWþü+wŒvéäS¦˜'c¿)lš@\zcõâëæ[¶ºé‘›Jùñ·5[&<òSè>¤+~,9?¤¯œ ÿé’…Çà´›³ùý{Ëò ^fŠ:Oè¡HT%ÀEIGƒ®ßy_IÕûÍÅgî8úÏÒ®é_¼@¦“EHºíed, xõ››™ZÖ}ÊÞ|O uú™™zí Í~µmßšIeÜ4ÉÀ}²àL/ïž/ÏÝz[AíÌ;{öèžJ˜ ðá©NßM+áMwИ9óÝz+bâÊÔóÿ¹öò3ŸÞÕ|ܬYN=pAaâþ?/=ʬ¤t±™¶löpm‚ðÊ¢‡!ÿ#îÛˆýe®a½jgùpfJôCIÏþНÎÜ/1VóGÏɆù¯hÔ1ïDZÍ÷÷#¦8pòðˆÕ§2øvïÈîÿùæ<þg87?éö{¾Šºô/DL©ç`ƒªë»wEÝNÍ­à@Ö°ž·rº‰xÍËð'Kþ¡G"¶Îìþ!|ã‰÷\@RñèD"}ìòà?§öªyö¤@âòäÛŸõG Õ¦4“ji€³ñ £÷2×å}H-‚°8å%ߨv˜]/Ñë§ùW¤½«ÑbôQ%IÉ\Pxí.æ¸?"l9ó¶}O*ñŸ¦]?Šªo3”š’ÉÀ™¯oeë9 RýÁÃTRñüZ††£½‘ÁPÝü›Š¿½“›qúŠÐqÕÞˆ°f1!Ÿ×ˆ«ž8ð¤“ǺýG·ûÿöùüÑGåqIBèöÛJã×ß2×´4j˱´/³Qï/¥÷ñßqøÐÆ OOžËàK R°øîöY.Cæv*Äœ”õŽŽkŸ×ž³ ³O´™y¹¤Áɼ¸<)"ÀÃÁ‚an;ÞoçíÏAÎI¿…J "gM\—ÌÀù¹±ÁS­f¶^k¯ä @ÂN?<ÝÙŠÁâä³éJQÞ o×u×.¬÷rpßþõ$ZØ 7‚„₨ß]VÇ] ™å:Œaf;iÝÕ<ÎϽ¾u¶ë03Ã|ø„€ˆÕ¢=9õó—ÜÛ5¬ ƒÁ°tžz·DÚKekI*¨ï6D­ö/@Rñäô3¥ñ+—{j§ÅÜ)ú’–ýhɈiÇ/…ÎqµfX8x®8þŠ)!ÞøoL+îß)%PÍT²aÄuPý㞸&DÑ•==¸ØÝΜa9ròê¨7Õuœ“vÔ×Î%0¾H$-¹°èÞι®6fŽSƒÏDͱŸ_…6°.œ—·ÙÇy(ÃÜÞcÅ©·¬Ú2 RI iËâH,P IDAT˜–Dœœ(8?Òd-Û±Š7N¾duèÇS‡Ž<$ܤ Ó<¾™¼òJÙO> 3÷Ïñôðððððœ°÷­¡ç÷®M édôÇ®ûstçšç1Û¦ý>gÅß7Þ3ÅxõË‹Ïh£gŽéÛIAIÏÜÓÇBôì^®M§9^Ö} ºš:t¯~ò¤@â²ä»E†Žƒ;‘›MÕYUFÊù/Y½¿©ZÅ«t¦°âUÓp¨‘zw+#NJr‘€•õ¢˜Þ &YZæ$ùÁS=Íõ””´›0k¤Â›ëoj(?M»~´):Cm^%|äHª^ÞÊ31@ùRq铸ü.ÎVÚd²¦…£aI½ü¯'É šâe¡GWÒè6ÓQþeÜk–â ¡›gYwU“§ÊÊ+Èb¼jž ð~\¶á¤ÉÖ*ÊzƒÆ/X<…¡TûÌ_™Î®žVzò2ô® †¦¨Š+’(¤.^nôeÌ{ol¹ våG–­Oàôp±€¤ë¹ Ì¿WÜ{‚¥F½îÇ®^‰»…^¾sý ¯ö­À€“ù:Söí¯©ë}(fƒ8ûå±TÓà³·oE¿³+â WÂ|ü·ÿ®Ï6Á1·oE­èûòoÿ/98€¤8>,VuÚ–Iß&êd êæ&-¡¸ôÖ§}VEÅÇöQJØqð5GRž°á¯¹ÿÄÞŽ?<ôSÄöø 4Þ3­SÝük‡]’›v .!öÀdìâ_»_65S޳R/¿Õqè§TûG&)½ýFg¸>=Fºf‹ÿw®žývï ÁÄ—Î+9¸dãý*‰” ¶·ºéJÖA}jxà7®‰˜(zâ‚‹+—_Rö9p->rMá¾€ß Æ¹é‘KçG«/ rÔ¦að…¹ÑËVÝÒõ;r#þ¨ŸFìîçL—Ò¡ÿ“ïÃ?è2ÿHü­SôI9‘ÊÆ¥„'lH‹˜ï*¨qò&‚óýHRùÍžž|9Ûđ׿:ôj &ÓwÞ¦¹ßV Šò/®ß–ûƒy‘;{¯_>DŒDUPUQ 49Ñ‹Ðègïab︙õ4.2bݺê-[Æ“Kªø…}c¿ü± y”\1PUõU(€©˜Øw?“T4^.5±´‡+CbVs©¤“Ñd¢p=9³{\ªï`¬HRìimÀ¼ø"¿Wn®L¯qú²â )™ST:kPk·ÉhtU'½¬är?K»~´e´‡ S^{ó=»O—”„Ân£Mè¤çÍ&""*¼ÿ‰SxháÔ#àbP\q7×mšÈÊú²ßB§†¿(ãàâòÇ'vßÏdbt-]y6ŽˆkŠØò:Zò_vÔ2¦âŠŠ½vÕ.F¤ -,i€¬`0ÏÖP Ë™LŒ›$ m&Z#“7 gÁÍkåýçZ¨5xÜ9ª73fbM2h:-Xxuì®ËYSæÖÏ—j4uîHCzÚØè†?嫽«8ùøï Ûy+n¬‰ËðŸ L×3pž“Ô냄 fNîâæëÔM}ìí:‡'²%˜²UpŒ¹Š¶†pD4%yŒSɃÁžu QdH²¢"¦¤‡‰WØe'!­©ÅÒüì‡YJƒº)ÔT¢‚„³YÝ'ýÝ™B{wã}Çc?yûõ hV ýì»Ò1°œ¹ÒýšodsÑÆÕ-j¯¯}Ë+)¥ƒ÷ª{ÞGP“Ý£Ç˹•Þsþ–QÆê$°š¼Qï£ à€ó2Ï,?}1Ýj÷g]*Qð¹ŸâbrMìr4R#ÅôE#ÏÍËI%QÿÖÿk‹xé®V^¹ØÙX5ïe“/N¾#-,¶ò4›}¶e 'ýFK "JÎω#Îô#IÅØ„züi¾À̸Ã.¸tì:’œª¦–Ö·{8´¦Ç MfEU¥ÚÂôÜÔó¨­ÚåÛS“Q6²róz'èUgB?u%¹n£·o¡N ·(·Œª+/È ‘jsÇ”MºŠyüF&¹¢·G:@¦5›J:Ù΃ÉûXš–}”I€ÑûXé…_¿u'ê6¥«œ´ÌsoˆªòÊxg @Xþ©”;‘Þì˜ýÏÏÒ®í_r§Á¶jWn¾É黤»[_EìÇF£Â¼;wÊzÌØ²ÔB¼úÉö?ÏßÊô4ê bf^7ÁDåÙ ¤*LÞ½5NÝo}ˆ¹¶Æ}µÕÿ(‰¦.ÇýPÆÃ{Êb‚ü„ Ï;Ó¾‘8Pèí– PÔ´¾ ø¨Ú½4IÊXò6£‚¿ã³æÉÝ»^9`Yƒ+kâꢪŽá—›³0š®¡"» ZõB‹É¨wQ¥`µ‡¥˜YPÎË=â32ª671ŸM±d‰0j'£&®ÂJO2ªjµŸ–éËÿDy7®½+ÇTô «ñ¯GD£=ëR0_µ?0úÔÉE.+ÙúÖîÓgOE—þé/(Ï­Q¨\››0÷ÚÙ¬ÜÍã­·b€‹øqÉ•Œ™}d€¢ÚM[î[`;áŠjDDÅ þ‰Û+÷•”ÖAP7Aãš°pQqÃ艪òjh]ôhµU¡êیր°$ñq?OKòÅðØ|3¯Îâà‹ªrkºè|M®ÑU]&·‰ýZÿš"®rw}Ú—ÚikRïHOÕ¨!Ÿ?çµð€ù¾‚%'Î×9ÜïìG²²Ž|MJeƒ^jW?á ÓV%©Éxö²RkÃP¡îßœ|w‡A¢-a{4g37T—–}¸sâרÛX‘¤ò›‹É‰Ã‡®éû ÓdÜ:´óºÆÒs5êfŠÑû9ôøçÀáK²&Kú(a€5ŸJJMh݆°v]gêLœ«N’Љ¥føñûÐmVwELJæ>nÒñÓO5Ü{S2cÆ Ì—št2¢þDíúQd 3­3‘G³y½æôj˜+.â²Ùì¯ENNð‰¨ü¬[÷«ºO¶0Pû2U¶pìqâèÍôß{÷ð’F=ÖôèKÉŠ ¿Áèo¢ÄË((Òd@Xñ:öü«¾¶¢g=B762òa—)¦JñáÇ´Wº’€`E?q æ«µRDþ+„å™E|܈ŠŠ?”aêºt²‚ê˜ß8[®ßÃT›˜6¼ñ™L×R<ÍaŠ-È8§(‡E3R¢@ýwê6*iªÐzO‰>æ¦E ;/£HÖ€ÆÏü:4‘FJBQÎ×É­o$·×,=­µîàÉái$Γec¶}«ô"$ìül®‘çºÃ¾ë8ùOޝZÀ5¸°¢¯l3qd^¹\ÔoYä5H*VL‹¸ðnnŸß@T™YÄ逰8½”5(É¥-hog<ÿc‹+)­ƒêiT AbãèQ”´hœWÅ\ä1~ÖÅÃt<§˜Èh{†/ÕJ,˜¸që »0M >YI›ÆÊ(ââ&r€ ,»B(µCëÔ_YO‘™‘Ï©­ 4£T 5UFL£†hkë´ð€ùž‚ˆ’gP«õc{û®0­GX”±û裆ë 0¥As7,²’$ß¼lÞì¹K7E~Ðõ\µÌQ‹ ˜òày+ÆÉ&†.ò™µlo’ºç>}ÞÕŠ)õsè%*¥0{~9†›O%¥&˜bO‹ÎêƒiÕþÅ’5Zèè0ú¨’šÈœfpüÓ«’آϑ“†ùÝ«ÁqÇEù§¼†ù߯Áq1óÕ©?'°05dá‚ìÃí–>fã„í%®¤ÔˆuPý~o\Âè½àð wÎkcjÊ>qÅñWL1޳Ÿ¯q¿7ã8ÎÏŒð²pÚø¬FL˜œÍ˽2cÔSK—9;bvN°òM`6°~¹Ù±›f8YššÙN\~øìº±SNæ ‰R6¤åLË "NŽçÇúQ\|ÉÇyÕSâ?·vò_yˆJŸÄœK.ÿ ¾îžš´®o×÷W<µõÈC:ö³ £‚S:ô“ðç$®HÿÇfÃoþzXÛºG|4¿±C´[MøŸÄ&~bׯЛºÙiÄšçœVÌÿç éÿF\~cá„ '5MTmí¿~µ…¬1ØÝÍT­ýþפuux»:¼Èÿ0KÞ] ¿KµwëFßIuÈ´¡yç£çï¶ûUDPðÙ4–DÂÉŠ;rƒ×ßÞ-ònD\r÷bµãï¿)vèsÿë+L¤ù+ ìèJ À}:Õÿ±®{àŒÞèK‚ˆ|¿Y~«¢ßóûŽ—ýÿDí>ýoÿ¢u‹G`‘” †Lßö‡u뼩é¿g¿:u»×¢Ž~~-†ã­ü$³çÏŸ÷ïß_F滞¨ H …©©©¦¦¦]AþãþëW[Aù™ ‘‚ ‚ í<Ai?­?òÀ0L"A+±ä#Ðò,AÚAë<”””˜Lf«/\E¤íà8^QQA§Ó;º"‚ü÷µþÈCOO¯°°°¸¸X(6¿7‚ M TVVêêêvt]ùïký»j€Ïççåå±X,±XÚ‹ùYÉdeee===*µƒïòGäÿƒ6y ‚ ‚B÷¶ ‚ Ò~ÐÈAAöƒF‚ ‚´4ò@A¤ý ‘‚ ‚ í<Ai?hä H{dìÇ`0æ3/—4ùšÎóÀá †Ýº\æqg0³n2[ó!¬¤@;cˆßŠoõåð²[ôˆýï?Z/u£³kh¿%ûŠ ¢¼‡Ï¿Ïª·Q˜>ÁnÙNƒ}ÙÚzʵV='%h¤Û¾‚6+@R6ÓÉÒfþíV= ^×F¾Ê"Ô†GàO<iGüŒËWò$¯ÎÞ-já£ÉJ=ǹ¸ Ó—ÁZ­"83%ú¡¤gÅWgî—ýRoš"wæ¿ÒÓèÿíSß„ù÷rn»ºÇN¹õ¤]¡‘‚ í‡óîܵPd×àÝù„Ï_ÎÐ%U¯"×Lu¶a0ÌmÝì¾SÈÉ:8yÎu@õU_—uÉ%â/ÆžOÌJ˜‰V †mà3ˆ?Gy3Œ Ÿ„‚‚Ä= Üí3Ö®s·^ËáãÀ·Õ‰Á`xG4âH*žœ~¦4~årOí´˜;M ÄåI sÛñ~;osyXN‰)”2Œûš¿0+ÜÍrÚù‚¢{»æµa0–γCï–ÔÏY˜sÒoá…’‚ÈY×%s2o|óscƒ§:[1Ìl½Ö^É€¸âáþ-Ñ™œ—·ÙÇy(ÃÜÞcÅ©·¬Ú”„~>xº³ƒ1ÄÉgÓ•,.Þ(Ãë[g»3c0̇OˆxQ]àÅ~´dÄ´ã—Bç¸Z3,šÏX8ËZ&%zoHR5˜ŒŠŽ¦š®–"¥áɱ¤ô^ô ãúôéf˜u.^êE qqìêe‘¸[èå;×újß 8™§6ĦSîÝ´j\Rõ&©”Ù÷Þ³pIeêƒb}‡^é[ƒ.ÉM;—{`2vñ¯Ý/ë]‘1˜²o×xM]ïC1ë4‚Ì?5¼J³_K5 >{ûæÑYô;»"Þp¿ýŠ÷>|qðƒ.óÄß:õGŸ”©l@Â|ü·ÿ®Ï6Á1·oE­èûòoÿ/9u¿“$å þJЙûOìíøÓÁC?ElotÙ‹ývï ÁÄ—Î+9¸dãý*1Q*qÁÅ•Ë/)û¸¹Æ¦p_ÀŽo­Å¹é‘KçG«/ rÔ¦*Ì^¶ê–®ß‘ñGý4bw?gâxÓõ'ëŒÛ3IWËíÀÅmÃ耤8>,VuÚ–¹›„Á—ܽÈrßõú‘éò76Ì=,çwüƼ°›ÎfÕ vý®!Œ|³±% AÛ+:×-«é!ÇŸH€Ñ‚í,^»3ÌßÍÅãÊëë+S(Ê 4åþý Âèݬ¡âáílëÍÍ4º»Ú©¦8“ t—5kæN»nãdm¨ˆ;ž\S{øŽ‹¿¼ÃE³Á'¨ álV÷I£:S(zöîÆŸ/Æ6úƯ%.¾s:Uo沉ý5•Ôz8-X8°ðÂå|m›Á ïfpÙïOqÕút/“Ëz7OËvˆŽœ IÈ,*bJÔL¼Â.Ç,7‘“Â̳V„j4uîHCUµ§®°œóm…—~ájåà€ÅÎÆjtíAÞË&ë“$UŽÞUœ¼òw†]ÅÐvÞ Qb\FÝÕ˜²UpÌÉ?GõÒT”“£)ÉcœJNÃ)Íj¡Ÿ}WUe}Ë™+ÝE&1éSñrâ¢Ò{Î_8ÊX]ÍÐjFðÆ…6*€ÎË<³|ÖŽ4‹ ÕκTi…r?]ŽÉ5Yàïh¤F×µ˜¾h¤2@RÙ\ý`ºžóœŠE7&—ë;u2C]N¥ÇÐ!z4S¯ªòêý†›k*µ»éÈ ›‹­0 ͼɒ÷B÷+¡ttùBRñ8ú1@œ~bãz2»š Pwé㬒ü*ª^WU2( ˜¾jç9q6Š&ãmèñq‰÷ÒÍsS`ì:\Gôº€±smb¿íV”]!eÂ,„¹×Î~`åno½\ĈK®dÌ è#ÛhOquQ UÇP¥öƒ£é*² ª)FöñM2>ò3U†Íõéú–¤¬åé4‹Yúª}VíŒ>ur‘ËJ¶¾µûôÙÓGÑ¥­È Î\P7&£ÞE•€‘Hõ¦nÄ5E\åîú´ÚTMcMê3 Êy¹G|FFÕ¶Ä|6Å’U÷‹#‰òn†]{WŽ©è(Vã‹%(ªÝ´å¾ä«Ý«þ¨ˆ…‹Š¦UåÕкèÑjK¢êیր°$ñq?OKòÅðØ|3¯ÎâBEU¹5 ]t¾&×èª.“Û‚ú7€Q;©Ë¤H²J²$À0FQ Q¾D¡Ù5""ßl݈âfÞd$å¥Ð8t¿4ò@¤]HJÏ$‹ 4鯷BIü…´9¿kÓ*ò3ËE– ¤ê”#aç?ë»/ñú²K£id…¾ã†«Ä]Ž=Å®^ó†ëPdó5ää]6ló2ÁyEïÓ „æZÒ>Þ™W.õ[¹ÅA’Š„Ó".¼›Ûç·Fc2]KQð4‡)¶T àœ¢ÍH‰BÓÑ«æÀõ[d‰É*Þ]ºUŠçãƒþìFeç§s<×ö]ÇÉr|ÕÊ®Á…}išÈ¼Á^&å;’¬¬§ÈÌÈçàÆT @PšQ* +iªÐzO‰>æ¦E ;/£HÖ€V§*n¯YzZkÝÁ“Ã;ÓHœ'ËÆlkœµ¨2³ˆW›¯°8½”5‰SQ”´hœWÅ\ä1~ÖÅÃt<§˜Èh{†/ÕJ,˜¸që »0M *”¬¤Mceqq9 @P–]!lAýù2,hY0¿KÃÈ7[72Q@¼{ó899999ùÙÍ ¨L8÷^y¤÷ dí^¼j{ØúEKö_ŽÏ’S“'Qd)Õ©×®¥TÔ?ç¥õk§ŸWAŸñÖZd õ÷vÕ‚Š›§.Þvÿü®µ›B÷Ýã)Éb‚á>ÎŽ®Kbë-dà¦+ïënß]SCCCCCC³»{¿š„s¯ n¡$kÙzšäÚvîM)«2ãúî°Úc]¨ÝıkÞ™3݆È+õ¦“y¡´Ïcy¨IÞî7?ôf“'@¦}ÈŠ¸|±ÔÌ[Q¹ãG«'mýPZUðüÔ¶Syb HjC½Í „œN)¨®Ì~ttéÔ'rDu¿Aq!O,£¤¬HÅ%I§"3yœFëZ%œ{¡{nfVTä><ô÷¶å¤ÁʢƩ(†Îno÷칑UÅ)OÞz1[FŽUA–Dêd¿Ì¿gJh؃J a¡T£±ãt_íÞ{3‹YS˜tbÏ­*1I½¹úKALâ!_Sj»†P³±¥DzÀ¿”Õd¶«Oo‚ÐHªÞÞŽKL¯ùùoÕB#AÚ0÷ú¹t=;ý/W@0åßF Cͽ³o]7ï]8¢;çaÔÉk9lf‡mõèB‘5;¡?r/¿]ÐàŒN¾§«C'“ñVZdŒ6Àï¯~Ì„ð]¯—_uxËhm2àÂªÂ’Š‚b–¨ÎW+ëuÌ­“ñCÔ¿}ú‘Ô3áÞ;“RÝx™Y{ôÆm^³Èe¸ãÌ…övLëN © ²7èbm¬$õC´€Ügd_EŒ¤å`ž¾u’½ƒ×ºûóCæôjðíGÕ67•‹5nõ3Ž”Ì[J¶‡ÏŽ «ü}>NŽSBÒÌŽÑ— ©Ù…N—»úÇ»^ëîhÎ [ÎP¨“ˆ¤6|ù¼÷´²¿ôŠüD?+Ñé¥[^rëç¬;Ö?í?ÚÑ}ÍÝN¾Û‡«k¥z«åµm“CÑ6£]Uõݺx`ÝÙ ŠžëŸ>šw6ïOá¨%§óû¶µVY;¦Øò=Ìuv7”'SHÍÕ_ªÿ1˜õº†ð÷ÍÖMưq@¤\ü­,^Ó=BØ.j7‚Ða‚ü«!A;n—tø3]š…áø¯µ$AiCìGKÆì09écH¼J¦Õ ÞÊÐnmHÃx¯CÜ–²7\ $ß¶¥þ'üê¡Cs‚ HG`¿Š >›Æ’H8YqGnðúÛI¿©ëZaŠ ‚tj÷éû­[<ꋤd0dú¶?¬ÑSI[æW]›\máóù÷ï&|ÎÏ«®f6ø•¬¬l7£ÖÃíee¿é‚ ‚ ¿¸6y\¿zI‰Nï?ÐT‰NoüÛÛ7¯ÓétÆ`K‚”¼˜¥Kcоý,¯Ù×vÒœÉCµ‰¯7r_†Ì?Ñkã–±:u£".º²òÏ7“÷ýiR~vYЧ{—øe.~!‚ È\›¬óÈÍÉjcK8ì3 Ë>HOM1œ¶5üСCáÿìñ·ÝÚ½ãZá-Õ%«šyÏtêòÿö½J‚ òói“‘™ÒÔ“\•”èn¯þÅÈ4:N§+«ju5ë>@&÷e>„¹§ÍÞõ–¼˜Å¾aox€‹*’ŽÍ›âáå³$äÜkf;±Å̔Ӈ¯å @\™³y‰—ÇäÙ+wÆ}d£ûyA¤C´ÉȃBnfáj³;Ô¹ùI·ßóU Ô¥ßÜ%(¼vs ܶÀœyaÛ¾'•¢".IÝ~[iüÚá[æš–Fm9–ÆkIù‚ ‚´²6¹·¥é9ævfîŸãvÞ/ IDAT¹ÿëOtÏî]© íz I~ðTOs= ~›0käý5×ßTû5ØETx?.ÛpÒRk _°X+G Ç~¥•À‚ òßÐ6#æ¦4šÜÜÙ{ýò!Ê`$ª‚ªŠB£÷[|›Ø ¨tÖ Öî!£ÑUô²’+i@\SÄ–×Ñ’ÿ²—–é0­5AAÖÖFW[š™óhrU¹“–––––f'ÕúÃŽo÷áˆªŠªE_ÿ™Wöå÷ÂòO ÜI¡a›H4u9nq¯v/A~Bô¥TæÏÿ`{ùï‘0mš¿÷Ý׫¬¤@;cˆßŠøƒåð²[ôˆ ¬ð vËž?ðºx©]CÓšx{«á¤tÛ÷QÐEûáB[¯Sùmÿ,íÖ)èûûg=ß¶`w*-ÜûÕ´Ñ Óææ<šÛ¡1’œ2•õþñ«B® êÝÕ3)¬/Çš„›tüôÓ<&³0åìÁx¹«‰RÃ9=뺑‘ój¸U®…O( PÑÃ[¤ÝqßFì/sõêUû´Eœ™ýPÒ³¿â«3÷Ëþ‡sr§aþ+=[þ¦5äçôýýˆ)œ<<-ìTf; åÖÒ6#ææ<šÝ I'«éãtžï\4}NÐñ(ã/OŠ¥O%¾²ÁÏ7`ß mï?|(6¾8CÑsZ¾È²,:pæ´9›•Ý—Nížð íMRùøøC}·!jµ;’Š'§Ÿ)_¹ÜS;-æNÑ—ÛÒØ–Œ˜vüRèWk†…ƒçŠã¯˜â߈+îß) ;ý|ðtg+cˆ“Ϧ+Y\@\ro×ü±6 ÃÒyvèÝ’úo"æœô[x¡¤ rÖÄuÉqyRD€‡ƒÃÜv¼ßÎÛŸ¼Æ•¸&8?÷úÖÙ®ÃÌ óá"^TK@Töôàbw;s†åÈÉ«£ÞT×\᜴£¾v.ñE"iÉ…E÷vÎuµ1³pœ|&jŽý¬ø*œ°uá¼ì¸Í>ÎCæö+N½eÕ–IJJH öDýî²:îJÈ,×a 3ÛIë®æ ¾£ âäDÁù‘~$kÙŽU¼qò% M{üZð6pïÎͲÒi¿ÍËùôøÁݶ(AŸ—„yw‘Óü[•’ÚÅEçgX{Í sON2ñH¶Çqg=\<ÄÔ|Âß7³*ªòî6ÔvùÝÊj¢üÜãž¶ ²pAöá‰vK³qqÕƒÕ#†ÍŽxVÀ¬üt{ÛÄ!N§°™÷†Ùœ{[\Uôêälk»ÀdvƒŠq_mp³ýÇqQÑ¥9Öv‹£^W—§Ç®=Ä#"“_w_Âê‰Jc}-GŦ3Ë3·29¦P,úãcíû¡¬üÓý3¬F¬{ÎÆÙÏ×8Žßû¡êÃɹ¶£V^ýÌÇq%䜘iTg EÏÞÝøóÅØO_§ÌI4«…~ö]U•õ-g®tWx™Ä$ÜØð4WRõèè]ÅÉ+gèÐU mç­p%Æe)2$!³¨ˆ)Q3ñ »³ÜDú›µÄÅwN§êÍ\6±¿¦’Z§ ^¸œÕ`*Ÿ &t«à˜“Žê¥©('GS’Ç8•^N\TzÏù G««ZÍÞ¸ÐFpÀy™g–ÏÚ‘f´ÚY— €)7NÎýt9&×d¿£‘]×bú¢‘ÊdI%Që¬Oá¥_¸Z98`±³±]{÷²Éúdiaá4äiöCâ=qr7_§n ²j}ìí: ËØœï*¨Qr¾´àü@?’TŒM¨iOóÑ—_I›ÜÛB§+³wl‹œùU Êsk*×~æs¯ýÀÊÝ<Þz+¸ˆ/—\ɘÐG(ªÝ´åjÇ'Tí^ðGE5"¢â†w±1 Êy¹G|FFÕžQ‰ùlŠ%KÎ|ÕþÀèS'¹¬dë[»OŸ=}]ÚRquQ UÇP¥öj0FÓ5TdT‹ê&h\.*¾tí]9¦¢o Xc¢ª¼Z=ZmU¨ú6£õ€ ,I|ÜÏÓ’|1<6ßÌ«3#‰ò'Ï­Qè¢ó5¹FWu™\) ¬ûôÄš"®rw}Ú—ÚikRïHOÕ¨!Ÿ?çIÉ_FÕ@­¶ã0Ò÷Ô(9qp„?Ödeùš”ʽ„üÔлjiw‚Ì+—‹ú-‹Üâ FIEŠiÞÍíóˆ*3‹x¸1§—‚²¦…`£"¹´~¦d%MZï)ÑÇÜ´H açeÉvÆó?r<×ö]ÇÉr|ÕÊ®Á…}‰_XI¦k) žæ0Å– dœS”â)5ø”lT A⚥§µÖ<9¼3Äy²lÌ6Š’󪘋ƒ<ÀϺxøŽçmÏà¥Z‰7n½aæ¢ ·''+iÓXE\ÜD”eW¥4ЀV§þÊzŠÌŒ|Nmí¥¥©©2b5D[[‡hOQFª7Ìûž‚ˆ’gP«õ#ò³C·x Ò.¨ê9µ÷ÃsÓÎÇ•÷u·ï®©¡¡¡¡¡¡ÙÝν_M¹×, ç^èž›™¹ý}†m9É\•h£JÃÅä$µ¡Þæ…BN§TWf?:ºtê‚9BVòv¿ù¡7³˜<02…èSOÄå‹ÈZ¶ž&ù‡¶{Sʪ̸¾;ì…öX׆7[4ªÉ`eO,£¤¬HÅ%I§"3yÅÐÙÍàíž=7²ª8å©Ñ›C/fËÈ‘£*È’Hì—ù÷L {P)\Ø89Õhì8ÝW»÷ÞÌbÖ&Øs«J @R'h ¨NäzŒ­ž´=4öCiUÁóSÛNå‰1â°ˆ0‚†XY5ÿÔøPœéGquW©³*:‹þ• ‘‚ íBÖp¨QuJÖë˜[5&㇨ÿûe£>xœ ÷Þ™”j@Vw¬ ~Ú´£ûš»|·W#IÙØIÍ.(tºÜÕ?&ØðZwGs^Ør]Ë)(À<}ë${¯u÷ æ‡ÌéÕàD™ªmn*;kÜêg²öèÛ¼ f‘ËpÇ™ í7ì˜Ö½á~£š¨k _>¯Ç½Å#­ìÇ/½"?ÑÏJtzé–·Z^Û69˜á`3jÑUUß­‹Ö™ŠžëŸ>šw6ïOá¨%§óû¶µVY;¦Øò=Ìuv7”'SHD T¨W·>;‚¬ò÷ù89N I3_8F_†8, D Q#7—ÿÔ˜ŒaSÁù®~”T¥¿æ÷¬.µüJ0Gw#!Ò$•·—ϼévtÓPºôW°-³Ãäp¤¡L3;D»ÕDPððV†ÞpkCÀ{â¶”½áRð V{ÀÏÒÿ¤"~Éì‡ÞG× &x ò³Bs‚´’êiCóÎ=þ‘–þÿÃ~|6%‘p²âŽÜàõ·7’~SÎÿ[â’»«ÿ ;~-hä H{‘ï7ËOãrô{ô®èfQ»OÿÛ_ÿúâQVV£æÅÈLß¶ÚZ}»6€³_ºÝkÑdôüÚ_ ºÚ‚ ‚ HûAs‚ ‚´4ò@A¤ý ‘‚ ‚ í<Ai?hä ‚ HûA#AAÚy ‚ Ò~ÐÈAAöƒF‚ ‚´4ò@A¤ý ‘‚ ‚ í<Ai?hä ‚ HûA#AAÚO›Œ<Äœš¼=ËÒæ }5©wƒÿÞL”·g™˜SÃcդܸ$%Îë]3<<¼ÿzÈÄ›.‰ÿáŸyþDz Ê?»Øgë+nk7AVÁJœÃø—ù0gÿ°›¹¼fþÆ¿Ÿ0çˆ;ƒÁ˜u³©ÎóÀá †ÝºÜ–íÿƒXIv Æ¿’¯›Dy'¼ì=bÿûŽÀ~¸ÐÖëT¾ˆh#7+|‚ݲ'œŽ.—ºÑÙ54ÂVªaÌ›É\R6ÓÉÒfþí68@jµAKr”¶È4+tLU±áÐTE  ¶¿0Àq rž?ø|=òÒ[ݘ&ÇkÞ]w5¦}¸þ¼bˆzËFGdU3ºP[­‚´5†ã-2·4=)éÉÉ?'gñbvŒÑ&·bd¥žŽã\Ê ôe°6Ù¿åpfJôCIÏþНÎÜ/1Vó™b&wæ¿r Q}–þ[ºˆhc›–HH˜?!wà¶«›,é­}€|eþ+ÚäO¡ôu’¾ +È|x&|ÿLø>Yø>Yôá™àC²ðóGõ‘¿Ÿ9qL^‘îâ·‚(5ÎL½ö†f?ÓÇI#ëFR™øëvqejÌæ%>^“g¯Ü÷‘‹ ®lø;¡¼$6hÉÞ·<13åôák¹¼Š;ASüŽe jÓ”Þøcò’óŸE87ûÖþÕó~÷ððžxðn>¿­†¯‚H'ÛzàúõmÙu>ÔY¸þ9ýQ‚‚Ä= Üí3Ö®s·^Ëáã’š·QAS†2 KÇI+"žVˆ@Rõ*rÍTgÃÜÖmÁî;…Bà§…:3s£Ïnòqñ±âCüÅØó‰ùB8)A¶ †Íü=›g;[šY:M]{>ƒ ²NžsP}Õ×e]rÉ¿ûHØéW¶Ìo7˜Á°vö^þ¨Hð¥ˆÁ¾G®òr0gX8ÎØz»XÀ·Õ‰Á`xGˆ6URñäô3¥ñ+—{j§ÅÜ)jôû‰Ë“"<,æ¶ãývÞþ,æó°œS(d÷5aV¸›å´óE÷vÍkÃ`0,g‡Þ-i”3ÎϽ¾u¶ë03Ã|ø„€ˆÕœ—·ÙÇy(ÃÜÞcÅ©·, ñFqÅÃý[¢3 .ˆúÝeuÜÿ±w×aQemÀß;ÀÐ !(!Š "®‚bë Ægر¶«b,*v"v Ø &¶ˆb‹Jw3}ç~ H ¡+à®ïïÙçûØážsÞsî,óÎ9çÞ{v¥OŸ­; Zt.A ²Ô›ëÇöqiíä>lÉÑÃc\}.åR?¼õ¢OÆO>™ž|ÈçE…%!)+ª’8•†¡tô«è¯(åäÔ‰‡Sr.Ï8óF>¥¬uyÂþÁ}?¹ØËmÀºk{ÿ×cæ¡]³º99vöô;õèêßÞ..ø…'Ë”Žô÷ô_¨V2)¥šJ!/þGAÊ)‚4jµoß>‰L:tñ:å…ÙÑçßi»»š™´s3H¼™Vü_™¸æªjÿ…Û‚ÆÚgØûJnÐ{þ\W-ÝžKÖN°æ|éFKW³‚QÉ2 ³^M2êÒNŸAÄ-=î01pwð*oóØ ¥û_‹0÷@¨ÞÐ4¸j¤F=J|¹sâô=weŽ#'û83Y0zåý|á³õSׄ¿æ¹ óæÖ éêÖ?ç_H—¦…ý5.ðüÕöƒ‡öh”swïÌiûãŠÿöÊ„%²´Õ+N]ïí¤×Ûg¨#ñ2lÙØåQb£+´åðœý¶ŒoÊþz¤"ëÚbßÅG£ -ú Ü^íõí“}Ö?ù2õM>Þt8ÙØ± d?;ò÷¦!Lõºšz*ŒòÍ*2nyÞà÷~Í,ºz˜Æ¿Tnqá+2-lÞŒC”Gà™kvŒÖ¿2ÚͶ.:ñ×_åSŠÜç÷3hðñæëBJ‘óôvš‘›Õ›U~§9÷…G„mBœú{cL¹¹yEV„ÿß Æn»z)dI»Ák.¥+įƒ¦.¹ÝpÂîKWÎiöhÿÓ" @é‹eb˸²í^³¿_º´k”jÄÚÏ„²ø#3þºb0~÷ÅK{Æk‡mŒ.¿ñcZgš ݲ¡¿®Áà¡‹xUÕ©Ò8•†Qɨ¼¿/ý×md ç±íÔêjŠJZW¤]Z¦1<`å S&™~ýTိç.ìÁ½è?vgü¾‹·{—·‹“*œlãØÓj;õª¥Ìƒ£ÀÌQnéDR„B.'å22‹6{ŸÍÉÎvjjÆQQUZ–̈º”ذG{}:]×ÉÝ4=âf¢ ä)·Â?šâl¢.0´ë?iêPUJiæ@¨Ûº™çGE%Ë€Ì|x=ÕÔ½Ê9õ€×Ë»·µ_ÕÐÑs”“üÁÍøg²ˆÐCÐ@Eñw÷µž Œ6vÑÒ!ú¾ïav^FEQ,];ÏyëÖ,[4Èœ‘|iÿ})˜MZó÷´© ׯ›èÑÓ†Èÿ¼UD÷÷m/ üݸâ²ùäÀEãFMY¶üw-È¿´ÿ¾PÃÈHÀ`ŒMt9_ÿ ’©—ƒ¯‚ÁˆMçMž¶tëRg¤ž;òâËw«9{w­Z¶nýds€‚÷qy –Åè]á—άíY~-Ežq,Î|P7cÃÐu€eÒ©°Êÿâi×BžzÏøÃVWUÓ¢û¤É-SNžIÔwiÃ{ý¨èí­TË¡}ô>Ü|/*|}=A¯SÛ&M–—šš§Ð´ñZw&t¦ §l„ ý’Ðs»Yéªp8Ý(€ý§ÂSÓÓì[è ¯-ÿÑîu'’ŒŒw èôÊþŠ‹Þ=I‘¶1cÅ=J k¨Ñ!£øWes†º‘ =þi²ÔÅ’¥(|ÿ, €§§Íùæ­…Ò÷gϤ6Ÿq(ÀM“ŠìˆYÃO¾Û¬U…½ƒt5=é½Oyäo|:%LýTÈ3Seðt±*Øvá ]aó—i“†sw^º$¡ìæ6f%¾™y.Ú5z‘01jß_³§‰LNβþšÒ(²¯.˜¢·hÇŽÆ<š0jFïÕt¡JÞ»D!eÉ"¤ï2¤•¼XΗÏÌ/Ѫêó ߥŠ( Íü˜-+{üm½fc¥$N¥aÔD¹zjÖ:A«¼Ô÷EUóžþ+ÕÚ>¼¬¾=º@jzú¾3öŸ¹šžnÒи‹cKYìY%_$qWnåš»;™hjhhhhhh;¹[E]~#d:w1xwèЄQnìù }É  €’‹¥å&/µænÙa»NçÚtm¦J¡Þª§MÆÑç_eæ'Åœ ˜»ìL2ùï?}ýÛHžîñ_¸pÁì C<¦†åç·±^-÷уìËOÝzpëĆ…Ë·ÜóÅÑ›¦O?rÊŠ;±IÙB9€š‘Y·Áv ˆÛ8õ¯5ëOùsë™KqMnµÿ%Çï7ÑÏö˜éáù ÙsDAc°ùOÏŸ”ýu„®ï6ª#’÷Lœ²lãÚùãç߉×0^åUKßêáÞçϰ2›D¯N„gYp5×ÕÖÖÖÖÖÖ5ï< yAÄñg…k ëuò´IܹúøóŒÂœw6®{¬ß·‹P³qo”pôhrãv&\Õ¦Ä:™Ñ¬‹% ®?!ðr\žXJ@g”û;NÉÄ$SU Â"¤é÷ßÍ ¥l‹þ½´î¯ ‹ÍÈMŽ>¸ú`IGÙ‹Uc›õígðdãæËqy)÷÷oº’[~þ臶.IJׯ|¬*Î#UÆ?ÜÚWÉ™ú–**êû{úoT[ûÅ$|sñn‘¥[ õ’ßÒÔm;[H^|YH7ì>sÊo™Gæ{³â†`ÀôaM¹L[köM¿I럗¹¡ÚÜÍJžÁppoòùO!h3nV?öÀ)£|fl¾¯å9g”5·6úŽªRöÃKaaç#î'±9^vpe/}¯ÅÄÍþ^Íó"‚6ì¸nÙÿ¯]½Œ{­Y5ÂY?áʾmÛÞ*°ì6mÃLuƒ¾+6Oîb.¼søÀùO:.¾ëV lXíÌ­Šóø^ÌÇ®~à7í5oóŒÖª°Íúþn«ñ'÷]M.õ¥¦íº(Èï÷VÜØS{ÞÈ1é4fߦUý© d¹)éÙÉi…òRk…ÏB¯Øôoûõ–4­6ýlD7>ʯøéG×ïµtµ„NéÙÑÝ{[Š«ÿÚáæ,š¦«)@CgK iµl«ôf]­Uš^w¿iŽoV ruqóZtËdÂÊ1Ve>‘hšg޳¸9µk{×þÓÏrÿß^2=à•Ѩµ~í·Œêî>tå+Çɽ˜l %/VÕø«¶[;ÔµÛè]¢L¹tFé/á?®u–¾£='̧߼_7QV2V)#æŸÝð©Æ­W¦’¨ÈÒÓ%‚ªj©ò;íëkãac" YÍÛ?ÏŸ ¿Àa³‡ ¨þé1•›ÆdsO<û4ìô³Þ.B•&|ä×Ó7œè¹#l±~Õø!¤Éw®¼3ìèlÊ#ÄÏVzL/ò?½G}‹ZÙç¡¢Ó %¯P_O½‹naißrÜH SâÂ<`qÞeæiYØÔF»!„jWÑ“`¿àÌ-†ZÑ>†ï¾(¶]h†[æÐ·©•ÌÃå¯üF~LxšPî· -¬\fÕp³B¡ŸË|Äò‰©‹¦vÛVHS5i;bõgn™CߦVV[B!„”ú÷^ŒB¡Ì<B!Tw0ó@!„PÝÁÌ!„Bu3„BÕÌ<B!Tw0ó@Õ›¢È?;{î‹—oyñÓ¥=ú¾RöÐêÚ$|ä×ÕcËÛjp†R3„BÕÌ<Bu‚’Ä_XåÛ§CkÇŽ¿O ~œ_ütWYÚõ5>=Û98v0mçýlȬûÁÓº998vê?~ýÕ$)Òw[<ºÎ.~¢–4nÇïîE¾:0~òÉôäC>,z(¬Q[_EþÙeø¾Ócú8;8¹yÎÚ÷$OQY)yæ½Stvtø­ëy‡Ÿ—©‰¾Ú3ºsÏù—Rå•—¥Þ\?¶Kk'÷aKŽãês)—EÑ›KFôhïàжû¨egãDxCGô+ÁÌ!TYþG4»=ìê¥%í>¯¹”®qü‘3ÄàÍaÇý;gíž±8"Sš6oÆ!Ê#ð̵ ;Fë_™?íÀe L“¡[6ô×5¼3t‘¯&m•Vôbó~éëÏD[Ò!}ÇŸKoå’ÊJ‘ɧfÏ<-µíü¥C \R¶L[ó%É¡DoMŸpDkzŸ»>Cy£²ø#3þºb0~÷ÅK{Æk‡mŒÎ£¨¼»Ë'nHrYzõÊáYÖ1Ë'®bî~µòÜ„*‡´_ꨮ¯Í¡œ§Ê%„9BèüÎÓÆu2U%à7ï9„{¹›òÔÐ;ô[]:èvŸ4ù\ß gâöúçm•ù¢E㵟<Þµ‘¿yÏp~ô¡ûy+–ºzøM“ Ý,µhÐ~ä’¥†oÕJüþèÌSoÚo<ÛÀUY£¢á¡ñ6“6¸›iÒÀiÄ”®ÇÇŃ"'rÏu•!ûþçЀ ÐiÜ,·‹ ÂßMme‹^C¿Ì<Bu É.¯ó;ÿ2‹P72Qɧ>?fŒ¡e¦Ç.þ™¥o¥K‹LKI.`50U§ã˜ª%ç—Ý„«` IDATJ•ŸÁ¨Y[¥14ësJÚÕ¡"S )yZùRòÜ„^CC^qÒÂ2réeBYú»Í=£Ÿ KlíeÌPÞ¨<7¾€ß°Á—âÚ´˜ñ@æ%g‰ãwêz¸øeRRÄø­ü®QEèß3„PPd_]0=DoÑŽy4aԌޟX-ËzŸ*¡ÌX€4-6“Ð262P‘FÊ#ãÓ(aê§Bž™*(…âK™øœ*®‡©´­Òä9ïSÅ”%‹¥½É¶ôFÅR U=žðIšˆ. ‰;µëvÏ¡6L}Ï•K¦ëÝHþc骋×õÔeÒUõy…ïRE” ‡f~Ì–ÐUuÕyM‡Ùë¡GEQ»T¶ ¯bˆýGá>„P] db’©*PaÒôûƒï扅R E××n¹—;hY¨¸ÓÿÚZvö´IܹúøóŒÂœw6®{¬ß·—§ÅÉ{r9*¾H’õèà¶;_7zÊE’òó•µUšBx3pÓå÷ÙÙñwv.?ZôÛ 6yÅR Ó&/6mº—+ÌzzdEà©L ŸM£é¸Î˜ØäQàºÛ9 ¥²Ìúö3x²qó帼‚”ûû7]É%hZí;¦l[ò(9?çcäžéÃ&íÿ$'¹/®†ßxSPõtBÿ˜y „êM³ãÌq7§vmïÚúYîãÛËC¦ĈAÅv²'¹B/÷‹#&®›é¤ÆÐïµtµ„NéÙÑÝ{[Š«ÿÚáæ,º~·é#ÞžçÑ©›Ï.¹ç[KßÑžæÓoÞaõm‰ÊÄ6èÛ“ ™ØË}À‚ë:£×Ì逸­¬Ô =¯ÕËÜR·tsé6åœÆèUS[–ž`ö™;J÷ÚŠ­„ÊŠ¿lð¿Õ ÛÇ­êÚmô.Q¦\:ƒFÓìì8‚snÎï»x-º¦;nÝL>HÏ­ô[{5ý»on‚пAQ¸¥!ôk)Šü³÷Z›]‡F™2k·!iò+ï ;:›òñ³•Ó‹üO/±ãÖn«ýÜpÎ!„jMÑ“`¿%Ç^*¸ðÝŶ®fx úÕáS„ª-,óË'¦.šÚm[!MÕ¤íˆÕsœJ.´Aè—‚«-!„ª;¸Ú‚B¡ºƒ™B!„êN-ìó>XÓ†µÑú‘B!ô «ý}4Aó®N€Ì'/Sßó_uꉼy¿¡¿;0_žß¸0øY‘øÍ{nÅqíûüÑ·­NÚ½#+7ÜΖeÝ\·dï­<»ž½]ŒòŸœ^p6Qä‹}Á7Ò˜j§.DOϾÒî8 — ñþFÐâO%úîÓÆ¶`pìÇ-Ô˜õõHEî½- ·\|!4騷§Jâý£ËýÄ~¹Å!ùêPxº¾­ä½=¿íÐkq­B!ô‹¨‹ûy0TtTòD)ONÝN•cÇzZse6ÒØÙgožyîÑ=[05›vc×&)‡Ö€žyö™ Œ‡ÍšÔKVähxðJ:~~ð‚V—…kF6ãòä“å[j8dÖø^ztq3ñä—#Ï<1¿•ž*€¦¢o ÉÎ*9ŽÌ¼{üžtúÍûkp#&ÕÛJ:aMôõ ï½Æß¹‘ϲ¿Ýµ©4óÙ“öÆ'$(¬9¸!„úê"óe‡/ÉÀÅÃo”ü.3IÞlÔÔBÂïß~÷8״ñMURó˜ºFjtà7éçÛ¤q÷€nØÂ”§|§»AC5:°uk俤Vòì%² µ€nÐD ÏØR¢“2r¤€®®Ã§P, (oy‚Bý µŸyPù/.ÝËÐjik’ï9&ÏìnÀ $™âÒeêÖÌähì>uÓx~úË׎í»xcç.«…v*yé ¹dK.­ðå‰ýWÒõܽZVÙQI|l¦ÌÖ˜!Lx™@×ÐU¡A¶²éªúªÙ)±é2{S&%Lx“ ÀÕRgáÞS„B¨VÕZæ!}sjÇæÛ4INü³§ŸŠ€ÝÒ³»•ufg­{ç#ÏEèþ¦}ïlÄ[…í¸56/·®Úÿ‘káÒÅN_‘'&øzº Û÷hôêÀŠuYœ·Wn¼•X ÿƒSm^ºÄ?ÕA-þÖ½Btêg«B  àÍÍ›¯t­JŽ£k;y´YûàÔÒå…ME1£%`п¯%’jk<B!µ9ç‘÷âÎ 8†6ÿðöj«M'´ÏŸ A!×±´¬\GÖQKΜQ°ëHÄÝ3GdÀToÔ~¸Ï¨æªüfÓæ wí ?+ãÚÿ1Ì·[ú§jšäÙ{uE\¼—ÃmÜa丑ÍùPÆÜ›Ü?q&ÊÅ\½äHš†Ó„Åãî>yõôs††‰ãÀ!#û6fƒ´Ö†!„BðŸyn‹øåÆq‹nA‡ÅÛ&4e×w0!„ª ^²B¡ºƒ™B!„êÎdµ!„Bÿ 8çB¡ºƒ™B!„êf!„ª;˜y „B¨î`æB¡ºƒ™B!„êN­Ü=]"‘$$$ÉåòÚ¨!ô1 555CCC‹Uß± „þû~üý<Äbqll¬¶¶6Ç£Óé?¶r„Ðw‹ŠŠ‰„)II¢B:Áæ°Uø*šZLöçGhjé0µÿüj„ЯíÇgoß¾UQQ ƒ ð±óÕ¿œìLŠ¢>ƽËËÍkhÚH¿!‡Ã‘HÄI‰ñ9YYÚ:ºZZ KMLLê;X„ÐÜÿ~SPPРA‹E§Ó1ó@è'‘ÿI&“;¶mÇáp‹_a³9Í,ISù«Ïdr™®ž~^^^ý‰úüø¦EaÚÐO%%9)++ÓÁ±mIÚQ‚Ng˜™7‘JÄ2™L&“ÕKx¡_J­\ÛB¦ý<²2ÓM™Uö[.'P×,,,¨ËB¿,¼ª¡ÿ>±HÜФQÔ5¤IŃú•aæÐŸL&-û¯²ÊJ]ôÎb±dRi…r!ôãaæÐ¯E&“Ý»_*•Þ¿¿$ù`±Ø$IÖo`¡_fýBòóó£îÝËÏÏÏËËËËË+| „PÝÀ»!ô QSSëÔ±#”Ú®P(8ÛªCõ–y\™3pG\…W-'mŸT°lö#¯-óíyßQ«ðÙ† ß–ØLÙ:¿à‡\]C¦‡Ï™õíñˆ_l ºm†í—‹eöO™÷z Ç s‚*vÜ|ˆ'yðȇ ¯[N ZhziúôÐÔ’—¸ºÖÒNŸYîXYÆÃ“ûŽFÄ|Ì‘ÐxÚföÝý¯gsõº¹‹¬,!´fAVô=#,‰Ý>u#gfàðÆeîö-O<6ÃïÃÈÍ3[”¿t´6Q…ϬÜtá“ñäÍó‰ç%?·Q­æXI/*}ýÁg „êW½e;’€øå–é›ašñÍ8ƒË-¼üÝuR//<¦Yòb/Dg·í¬õ.%Ñ4\·QÒq‹êÜEÙ€¨@*ÃtøòyÎEвß]Ûµ~ãZÍÆKû4(}ö¤Ž-]sÕp蔀ùf2+öƾM+WÑ÷lPWç¸A*CSkáéchÊþÐ5Zö¶jXÇÏ‘¥EG¥XÍØ:µŸ¾ÿúsÝFBÿõ–y0ùªÌâÿgÒhÀWUS+þšJPÒ”[瞎|ŸÃhè2|†oG}&%ú±'èxäÛ,Rò㠱Ã;±Ëÿi§òžžÎs7Š·eÁÅû™ºëÒ@³rÒQ«ÁMbŽ_y‘Í2vèëëÛ«‰*!M¹sp{ÈõWé"àØõ3Á£© Aæ<=±}÷ù˜$‰Z#Ç~>>Ý-øßR4_•­¬ã,å¯Ë€ óÔÔÔÔ5Aë¾Z„­ˆI””ùP§ 㞦©;OvoÞ€ F­zûŽH ~Ÿ)¡0%Ñ2ÒÎÎý;¾·qúÀ½ÆËÙA5p3ßw4*y ©QöÃ멦îmtèTµ¥j¤JŠéç7¼Ñót·Ô¢ƒVû!C¯O_¥ ?ÿé“Ç/„éééwríò]U"„Ð7û)3†zµâ¹q‚FY˜ž+I99tXñ'ŽB&f´,ó™ O¹uéƒ0eçäa»  H©ŒÌ¾ï1ÜŒt‘ö給v#Mêq¦"³îîßxë}¡¦gÀ-¢² µˆÛ@ûù@=ûz@|_<Ózܲ±ÍJfÑO-^ÿ#B7¼xf[Å×Pç3*|ôR¤T ÚÍ]Ú¸J–w/üPð¢EùýéÊ¢%€¥a¤ÎBÝÆÕ|gèýÔþœ§72,ú8hÒ*écéRßäç"²¢L!SÛðËXrt ù¢ôÂ/SSJ[,Ì•+9)PÝÍ6¹6¾~¾çÏ]>.P¤gïÞï~Î*e>¬ ‚L-ÿ†À@Pú\—VÙyWU‚¢ÒÎV:€5­Dð™Ç•‹çå$9|¤7I*HR.•J˜LF+;s ËׯFEÞâóùß^+B}³Ÿ2ó(ÿÐ:OK•Ӹךe]´h ¥Æg² Ê̳Ë®]Ë´0ÝI@•µfî‰+ï=Íš™—)¡L˜€<ëc6¨jÈn\®5~ñJG}!z²jâO‹#ŠÍSMØ€41âd´N·ÞÖߣ¡«§Wrm‹W1_¨)K £§§QEyÑÓµã¶iþµat6Á˜µ÷ðz}ÍïÉ'áïÍ•EË•&Ð>¸7ó¡wŸ3f7h«FTÖÇ2¥¾!Èâ"4¾Oö4¹€lÉ¥PâÌd!ǘÿeÿ…Òu—”œ[åk,%(QZ’¤a· þ&ŠÓbN¯ ¬eþu–ˆÊ»_ñ P¬Š'UvÞ”ŽFå­lkZÉwüG+“É …âþ¿$ EA€BA((‡ËusïvîÌ)+++³š‘E¡î§ÜçQ¡Þª§MÆÑç_eæ'Åœ ˜»ìL2Yú¯·$îÊ­\sw'M Mc'w‹¢¨Ëo„ ñÃ=‡ï&äå¥<>tQز‡ª\B2ù*<&ȲŸ…xR ɆÎ] Þ:t'¡@”{>h_D2ƒ¥t|ª§îqÍÝìäWÖm:ý>%+7;õÝÝûoŠ,Û[ªÐj-¡ÖÜÍ";l×é\›®ÍT ¨>Òµ»Y¦ßsùmŽ0?þöÁý¯´;w2þòõ]i‹´JO %KËO3}A=ßó·ÿÞ»‰bI4z¹IÉ*¾ªÝ¨óMc¢¼³å/»©¬Ÿ_¯zľP$²wpd0¾$-EA)©  nlÜ0''çÛ+F¡oöSÎyT@ÚŒ›•½38pÊÞ¬)ÊžßY]<õ€Pµë?娰}+ަäɘ*zŽž q×£(6­\ñænVò5qí&5ù|W å}LSÒtÍѵ;Nž™³c÷Šq» ÙzÖn“gõmÈ„ô/1(k‘At¯xR@¡ckÍÞä7Iì·aJóŠ#OÓr7üõÆ]3½×“ A£¶ƒ§ ,»-†´Vò°ûË¸êø•I%;>•w6µÔÌJzQæue•|;™LnÙÄJ.+Ž•*ù_ €¢(™LÖ¢•Ý[7¾£f„úVEýàk2¢££mmm™ÌïÛ÷ã‰bVŽßká¿Ê£òK1P}úÎ{µ¡o¼cëHŸ1r™ŒŠ¢¨âû–Êår¹\N’¤‚$UTÕNmfÓÒÞÞ¾¾ƒEýÇý+V[Ð%ÍÉRŒo}@ß«ä;EOx@ñµBHñYµ¡:™ªO’7ÁÓ]å»tmü#îaŠªB@A|N4€P¥Š ÔÍíhBèß²ÏãŸà¶œ½»e}*Á¶ôÙzا¾£ø5P  ¨/“A@˜z „ê Îy ô«ø¼©‹ >'|^z¡>g!T0ó@èWA•ûRPõeÒç<Bu3„~DéÛ¤Q_®ªýòËz !ô ÂÌ¡_Ã׬ƒ"(‚ J‘}i=BU3„~ %{K¿\ÈBQ×µ „êÖÿÚ„P ªøêZ €¢âó«xV Býp?Éœ‡èñò‘3Î¥‘ÕY2õ쌑Ë‹~LL5öc‚yⱩ£V=©,~Iìöq÷ÆUz»§jŠ£_\ÉÒ ß=Œ€âœƒ œõ@Õ!œóø‰Ð5Zö¶jXþ©buTýÇ•ÞÌQ2ÉA•¼ŽÉB¨ŽÔ_æAI’nïßvèzlÛ¸u7§¢â'vR¢{‚ŽG¾Í"5,;;Ü™¹xr¨ÙâuÃÍXdÆÅyS/8¬ò0¤—?²ƒQ©Î¹ÏNíØþ8±ˆ£oÝyˆ¯—£žüÉÊIG­7‰9~åE6ËØ¡¯¯o¯&ª¥'}(iʃÛC®¿JÏÀ®÷˜ M¹áó¾íé©r9ôæëLš‰Ëˆé¾ôJƒ/Õ|zø¼…/»WÃ&) Ú õqL9²ïòË ÊÐÅgîX]†²¶8yBv½n×\­ B££,,[‘%¿? 箙ЌömÅ};è3¿«§?ËãwÐòu·Ç—Kk1é@Õ­z[m‘|8¶bË#}¯¥AÁ+½Í^žy#¢1AK¤;L ܼÊÛ<6héþ7œ®f¢’e@f=¼šdÔ¥>ƒªxäkQÉP2ëæúUáT—Ù›vo_ô‡vÔ†€³‰2½ 9+sÿksðºI­³CWîˆ.(ý7—ÊÚ¶-Jgࢭ»ƒÖLl•tbOd–È쨧f¾«ƒ‚ü=xQûB߈•_™õàªÐ}Á–þý8‘Û`{-ß±caZä‘K ²JÛúZ¼\£qš½çÏuÕÒí¹díkÎ7#.ýÛš÷ôŸŸh„B¨´zË<>^¹‘o;|˜‹‰€¯Ý¬çÈ^ztE~Ì©¼^Þ½­uøª†Žž£œän&ðlÝÌó£¢’e@f>¼žjêÞF‡N);2þË2ë~ø=î–Z|Iû!C­2"®'Jh»¡^N†jªz-=¼Ý¹1áÏʤªv“Wø87Ò䲨\>›ç‹tý.œ¸,Aã6Núò‘HYð°Íûôj®ÎV5±k¡Ë±öèn¥ÆV·hÝ\Cž'VTÞV‰ò–ým-¯ºB!ôÕÛj‹0K¢ÚPS¼ÜÌÔ4ÕbÜEaz®$åäüÑaÅ/+dbFK¥nãj¾3ô~jÎÓ}4i@*=òËOEQ¦©m¨VœC¾(½  Œ´ÙŸ›Ôn¤I=Î,R€Ú—´ ÈÔ»û7ÞzŸG¨ép‹¨/ká às]4Ê‚¯€`ñXÅ›øhƒË)]Am•(ßhÙºk©x•¥B¡®Þ2]nA|š˜2e²œøl9¯¥ÊiÜkͲ.Z4PˆRã3Y‚iãf¾3ôîsæÃì¦mÕ:OÙ‘\iÐøZ<ÙÓä²%—@‰3“…c>€ÌKÈ”P&L@žõ1T5y_'}¨¼ûW…k_¼ÒQŸCˆž¬š¸ç˯Ê]uHSü7©¢­U\êX{ÅñúJ„Bµ«ÞV[L\;ª?ݳ÷懜‚ŒçvŸK%   Zõ´É8ºóü«ŒÂü¤˜Ss—I& Ôš»Yd‡í:kÓµ™*„ºò#‹Ñµ»Y¦ßsùmŽ0?þöÁý¯´;w2f(Ä÷¾›——òøXÐEaË6j¥>h)™„dòUxLe? ;ñ¤@"’)Ý{ÇVü·©q[åŠÉÅRÅ÷ÿ‡­#„BÿX½e,“þ³ÇÛ¥^0ÆgVpœÍÐŽz š Í¸YýØ7§Œò™±ù¾–çœQÖ\ T›»YÉ3îMxÅʼnJŽ,F×î8yfwêâŠq#F/8šá4yV߆L`évî ÷?úÏ4ÌÓZP*c ­Gyš<\1zè¨É×Ù]½ìÈó»^Kjü·ø†¶¾bêØZ³oúMZÿ\ü=Åÿaë!„Ððù&†?Ptt´­­-“ùÓ]Ž)ŠY9~¯…ÿ*C¼‰ úÅïØ:ÒÛW.—S”B¡PP¤\.—Ëå2¹\.£(…ªšàhÈ¡–öŽöööõ,Bè?î'¹‡)B!„~ ˜y „B¨îüB Ü–³w·¬ï B¡_Îy „B¨î`æB¡ºƒ™B!„êf!„ª;˜y „B¨î`æB¡ºó ]U[×Ä/6ŒNÝ6ÃöËmÝeöO™÷z Ç s‚â*o>Ä“'i_žûw|oâô¡·­,ë‘nûîó1IµFŽý||º[ð P»F¼4_• Àä3i4૪©}ùêËRþº :OMMMP´î; EØŠ˜DIÙÌCy—•^ÚÙϽ;p/3]—­nÆ 3.ΛzÁ1`•‡!½ªÂAˆ\ IDATR‡Þ¶Z0Ä” @fD¬ðÏ(‚ÕÓäS×ÌhÍÍ«0Â4¥Èôðy _:w!®†=LR´êã˜rdßå—”¡‹Ïܱ.º eç‹ ’¤Ûû·º›Ã6nÝÍ©HÕtóÐÛc:¾Øý±ª7Ì?|C–îã|ÿÎIG·‡\•.ž]ï1ú®ù/È‚ߟ…s׌Ñx²ëÝp»æjJ߯ò̇‡7ï¹ü2‹ÝØåwçôÐ(·u‹ÛÕñdBÕ–zÛçAfÝ\¿*œê2{Óîí‹þÐŽÚp6Q¢w!geîm^7©uvèÊÑdALÐÒéw¯ò6 ZºÿµÈ쨧f¾«ƒ‚ü=xQûB߈K×_ô$xãUv_¿­Á[ýzÑ"¶|-®¼Q¥Ù‘ûo¨õ>­ófàš«ªýn kŸq8`ï+1PÊ¢ª›'ÍS¢ÄûW_KÔM´Ê.¶(íreq~îÝÌ%s‡Y<ˆJ–™õðj’Q—vúŒjJMŸÖ£ä±{t×9ó{èj¹-Ü0³µŠ¢’VRȬW…î ¶ìðïljܾèÛkùŽ {Ð"\J)?_’ÇVly¤ïµ4(x¥·ÙË3oD€¢Wý†ù‡oÈÒmuç?ܶ-Jgࢭ»ƒÖLl•tbOdž~ïùs]µt{.Y;ÁšS¦Ý QÉSίZ¥ëµtGÐR/›_ÔÍû !„êF½eY÷ÃßèyŒp·Ôâ LÚj•q=Q @ãØ õr2TSÕkéáíÎ šsꯗwok¾ª¡£ç('ùƒ›ñR ëwàlÄe ·qҗ爥ë§Ñ„¼ 3³XvŸ³9p¤%H¥V–zP Û}Œ—s³¢¨óM q6QÚõŸ4u¨ƒ*¥È¯,ªÒ¢ûþÖ2ûl¦ü{Lö~ëÏè9|Úæ¦žhTvº^Y—©ÊâüÒ;“FönæùQQÉ2 3^O5uo£C¯¶”±Sé7på#\UA¶yŸ^ÍÕÙª&v-t9ÖÝ­ÔØê­›kÈóÄ ¥µ½{åF¾íða.&¾v³ž#{éÑ*=%íª3‰*ß0•F^ó7ä×>jÚO \áãÜH“ËbsùlBœ/V@eÊG%Iºv)ÅbðàvÆÝý†¶SýÙw° „Ð7©·Õ–¢L!SÛP­ø*ÁÑ1ä‹Ò IºÀHûó¢S»‘&õ8--%W’rrþè°âW21£¥ˆ†À@ð¹<EÖµ…n}%൜±iޝŸïùsg— éÙ»÷û£Ÿ³ «²FKûúÁÒ0RgH R‹¸ ô¸ŸƒÒ³ï  OJWUù‚i=nÙØf_¾ãÊO-^ÿF7¼xf[Å×Pç3*|ôsm*v™(T'ùµw@¨Û¸šï ½ŸÚŸóôF†EMÕ–ª„¢Ò®¬ Áâ± ÁàrJŸOåµååK%ª õ8ŸO‡¦©ã>(jpù7L"ÿ†7dÉdêÝýo½Ï#Ôô ¸ET•ë$壒ç§rè~é †¡€‘RUy„ú—©·Ìƒ¯Å“=M. [ré”83YÈ1æÓȼ„L eÂ$äY³AUG[G•Ӹךe]´h ¥Æg² ¸òd‚(ó'¦Õiñ¾NÅ?S¢”·’†Ý&ø˜(N‹9½.0@b°~¸Z%E}žÐ–ç¦æ—LKÐhÐxZQl¦˜jÂ&¤‰'£uºõ2ÖRU™itGCWO¯äÚ!¯b¾PS4–@GOO£òò”(-©B—Gj)‹“+MøÒ;B`ãf¾3ôîsæÃì¦mÕ:¯ÚR•YÙi­®`ÍkSS—s âÓÄ”)“åÄgËhü\î S£Èkú†üÚ•wãªp­ñ‹W:êsÑ“U÷TÙÍrQÑùÚ\a|¦„²`²Üä¼ïž'C¡ŸQ½­¶h9v³L=¾çòÛa~üíƒû_iwîdÌPˆî9|7!//åñ± ‹Â–=lízÚdÝyþUFa~RÌ©€¹ËÎ$“ÕUO=ßó·ÿÞ»‰bI4: èJes¬Â×wŸ¤ˆ¤¹/Ï}TXnUièÜÅàÝ¡Cw D¹±çƒöE$3XtõVJ¢ª×=€J»LÔ NB­¹›Evخӹ6]›©5*¥”òþÞk8”ÖfnîÚQýéž½7?äd¼8·û\*IMðOOG¥‘×ð Yº-J&!™|dÙÏÂN<)ˆd%K+_vùŒeÜÙU7öàỉEÏκ[Pí»!„þMêm΃®ÝqòÌœ»WŒÛUÈÖ³v›<«oC¦<Xº;(ÂýǯËcÙ˜5¦µ€Nk3nVöÎàÀ){ó(AãvžsFYs!£êêiZ.ㆿ޸k¦÷z’!hÔvð´X@(k”NµÑïÁÆõS®°õm»z´Üÿ¶l] Ãî3§lÝ;ß{ƒ˜oÔfÀôaM¹@p•EUŸ*é2KYœieJªÍݬäkâÚMjÂûüŠ úRJ)=­Z}Áš×ƤúÏ_°åà‚1[˜FŽ}†v̈ }oÀU·õ oȯm‚Ö£<ï­]1úE‰ßœ2hÌÖÇ?æÙ쟻‰7G!Tì_›yÔ>ºFëÁÞÝÖò=œhµÚ EQÛ‚ïåTñ°vãþjðhûŽ;Y$%|²> zLÑï!B¨Ôßý<Èìè-{.=M15›º{OÚZSörˤµÔÔ¬9ò¤“3ç>ê³vq'õÜòGª¥õ_‘%¿? ç®™`Í}ŒØt<òm©aÙqÐØáŒáó¾tîB\ {˜¤0h7ÔÇ1åȾË/3(CŸ¹c]tJ — 0ïQÈ®wÃíš«„Ï[ø¶§§ÊåЛ¯3i&.#¦ûvÐg’9OOlß}>&I¢ÖȱŸOw ~IYY|È ÿtß “­9²„ЙK’|6Nµ&’nïßvèzlÛ¸u7§"(ªiEžùððæ=—_f±»üîœå¶nq»',ý.=t"wß³šÖV£²,“iÔcʈ˜™;·ß²š ujc€¿gnù&(iʃÛC®¿JÏÀ®÷˜ M¹ÊbfH*v!„*VosEO‚7^e÷õÛ¼Õ¯-bÛÁ×bà4ê` Oo’€<-êf¶™{KMš’#½çÏuÕÒí¹díkU´ô@ºÃÄÀÝÁ«¼Ícƒ–î-2ëÁU¡û‚-;üûq"·/:ÁöZ¾cÇ´È#—dJ¨™òÔÌwuP¿/j_è1™¸æªjÿ…Û‚ÆÚgØûªŠò ùplÅ–Gú^Kƒ‚Wz›½<óFTn=£b+ò”ó«ÖGéz-Ý´ÔKãæÁߺB×nï;ÒâEÐλUÍ{0ô:Oðmþ6h¡ßšÛzCÿìcRq †ÊÚ¶-Jgࢭ»ƒÖLl•tbOd–BiÌÕv!„Я¬Þ2AÈ 23 )e÷9›GZ²¸;6'cnÇK@žy+×ÒÝVP~d)T~Ì©¼^Þ½­uøª†Žž£œänÆK€mÞ§Wsu¶ª‰] ]޵Gw+5¶ºEëæò<±¢ÚjË¢ëwàlÄe ·qҗ爤)·Â?šâl¢.0´ë?iêPÕjž½'ùxåF¾íða.&¾v³ž#{éÑËR¾IÒµK)ƒ·3¨è¶è7´j…"Õ¢kµóÕäåΠÈì*rº–Cïßø™)„]ßözJ'ÂTí&®ðqn¤Ée±¹|6!Î+”Å,ª¾›!„~aõ¶Úµñõó=îìòq"={÷~ôsVa׬£µlGd¢ûáíü&Cš«•ùY˜ž+I99tXñB&f´‘@°x,‚F0¸œâO@âóÇ««¶,†À@Pº“eÀ•'WÙ~%ÕVºÓ“ Ê|ÓxZQl¦˜jÂ&¤‰'£uºõ¶.Ó—9ynj¾€¦¢Ë-ˆOS¦L@–Ÿ-¯®:_›+ŒÏ”Pl@–›œW¡Åc’Ey xŸ‹ÊóÓ )§ô™¥iþ6Úçîô;n»)»È„*xºom8­×ßS<˜çýæ¬n±f’£ Ìt•wãªp­ñ‹W:êsÑ“U÷T625è&ªggO(þ¡³+>!T×êoŸÇó=ûï½›X –‘@£ÓžeG«‚ »/Út±â@Ur$%K„z«ž6Gwž•Q˜Ÿs*`î²3ÉÕ^ÅYyµ5Â4tîbðîС; ¢ÜØóAû"’¬¯Ð8Váë»ORDÒÜ—çŽ>*¤Ø&®ÕŸîÙ{óCNAÆ‹s»Ï¥’ÕmewvÕ=xønbAQƳ3‡îTèÓ ½Kƒ{7¹û6%+'ýSLØö-‘ô6ÝšòËæm}F[¿;r:AR¾Eν®«xLýÝŒÃnØk’—νÍ[nf–k‰’IH&_…ÇYö³°O $"™ÒÕ¥ïè&ªkžƒÿWüO}‚úÕÛœ‡–˸á¯7îšé½ždµsJÁÖ½ó½7ˆùFmLÖ” Š/«-tö#ú=ظ~ʶ¾mWÏ–ûß°LúÏ_°åà‚1[˜FŽ}†v̈¨®¦Qï™ãò6ïí]$°îÚ¯«áÇ· ZÙrv£?æÏá<²é©L¡‚­Ñ°y‡)K~wT§AaÙk´ñömó|í½²-7¶l} ëµ²oñ¶R¦QÉCÌZÁÒ¯§AÉò!h=ÊóÞÚ£Ï34Mìzôñ²Û{(`—Ý_ÆcþŽn¢:&‘r¹\ŽÓQ¡z@PÕì‹üfÑÑѶ¶¶Lfå{&ª!z±yòú´õc›r~d\ÿJ²ôÇQñº­í 9€ämðÔѤM›Uµ¡Š‚wléí+—Ë)J¡P(ΔZm‘Ëe¥PU 9ÔÒÞÑÞÞ¾~CEýçÕßý<”¡dÙñ·Ýg:-hŒi€(öø¦Ù æöiLKºuâŽØrœq-ßÚ ýJÖY2ÒÒê7„Ð/èçÊ<$oöýµ4FÇ}lÿÆøµ€Ù°ßŸƒ36¯sTHã´è;ËÇo-Šþ1\mAÕ£Ÿ+óàXOØ~¨¾ƒø©÷Ixýú¡ðÚ„P=ú¹2„PÀÕ„P=ÂÌ¡_®¶ „ê>«!„Bu3„BÕÌ<B!Tw0ó@!„PÝ©·ÌãÅÆ‘g„¥}~:ˆðIàðCV<(,¾¡ª"ëò\ÏáÑoŽMµê‰¨&õ‰/9ã\ZµÏkùf…Q x/·äódÆÅYÿ›ñîòœJÌ¿•§ô®°Š¬+•Ÿ“>s„´ð‡‡^2õ쌑Ë×dl©ÂgûŒ2Ìÿ^A™žIb·›¸7N dº’.Èk~ú¾‡ÒF«Q*æÒ¾!ÔJj@!TCõvm‹‰“%ënt\Q=5$Ÿ"_‰@{'NÜÚ– úø(Þ¸·™¡á`o«†õ~ÓNŠ¢¶ß³ü³­F©‡Âi¸,nCRâ—[¦o† kÆ7ã n…'̯ÙaA°£²ã¹…—ë¬+ßC–•b5cëÔVüoº‹]£u­ž>šZ OCÓqϹÚ!„P‰zË<øæmQ{&HÚZs¤‰÷žÓœ¶yuùÎG‰mS¶$9æ½Üøw nÞí]ï†Û5W+Ÿ·ðmOO•Ë¡7_gÒL\FL÷í Ï$ÝÞ¿íÐõضqënNEÅ“dî³S;v‡?N,âè[wâëe¯Ÿ5#²ëºå]uÈ„#Ó¦çŽÜ¼¼»•xlúìG½×NÓ¸¼mÏ¥§i"¦fSwï)C[kÒËÇÊÒïÒC'rgð=«i¥r‹¯Ê`ò™4ðUÕÔ¸Uõ˜`òU™ÊŽ' (iÊ­sOG¾Ïa4t>÷£>“}ŒØt<òm©aÙqÐØáŒØe>ùå™oÞsùe»±ËïÎé¡Qnë·ãå•ë¾£¤)wn¹þ*]<»Þc&x4­$Ô £ç@»¹Â?<£VO“O]3£õ—´Jž|ÖyD–üþ,œ»f¬Ž’.hç=*>}¬ìè-U ²(f夣Vƒ›Ä¿ò"›eìÐ××·W^úÙ¹Ç÷ö NzÛjÁòžaåúEËrdç#/»Z<¥cEæ<=±}÷ù˜$‰Z#Ç~>>Ýå+óë¯7è'kjÙ^O°f–.G=&Þc!„ªTo«-„š•£8öiš dib$–:t¶’?»—(2ûÕË=‡f¥?È쨧f¾«ƒ‚ü=xQûB߈%Ž­ØòHßkiPðJo³—gÞˆ(2ëæúUáT—Ù›vo_ôÇÿÛ»ï¸(Žþà³{ã „((š(jb‰ÆnŒõ£ìÑX}b0£bÄ+¢£1±D£b4ÁØ¢XPlQÄJï퀻ãno ÜjðÎÈçýÇóºgogö;³†ýÞÌî¬m쪰éŠ6íl2.Ü+a ªÄkùI»WÊ .å:¾îùpËêc¢!ë"×…ô£cÖo¿¥á–gÛ9xl³›Îæ8¾®ê[ûo·šº|ó¦…ïJÏý¸çŽ–UÅG,ü1«ÝÔð-‘Kƒš&D,ÜvK]y²CŸ~xéÊXû 7F,a}rû KˆÁ¸ù):¶ výúX»a_®Û±ljÛÔ½Qgr¹›ÁÑ{iVÝçÎÇ^ÙcÁª9í+æðûÏŸ×]iß÷ëå.áFM¨Ø·äJd¬¾³ó€®×ÿÖD®˜Ö>o×’q*!†¼3ÛNÈΚÙ[tƸ]e9ûŠÉŠ _vL6xÁúˆ°‰þÙ?…m½©7ŠÙH¡Vm5GwUŠ 8™ïSžÒ×ß&ïÊíB]Þ•ó…š(›vnRzébFYñ½Ë™rß6öUÇcxŽ=‡ºJ„ŠÆ::êóÕêž(òóAw…Ô¶Uß±ýx„0¹ç£o; ù°——Rªpïu·’;8KJØšæ œÅõÄ⹚ð„ħîNæ)\mM& l=mØË9%Š­]­ø„è¸Ûõ¨(g_èK$N’GU:øwu „-©ÝÓ„úXMÝEj*ļ«§‹Ü:xñÖžˆ)N³£•‚&”¼Ug—ˆßÿ<©Ñ7í)&¤êƒ*UåzF[ÚKTI™ÖC@¢ËOÊÓ³TZ讦©˜6!¬&'­Tì&å‹íÞð,ùùôÛ,ØÅÃÉ­hÏ™¿Ë -?rª3jõž:tª&3~ÿŠð0­óÊqM¹ï4¤mÞøhüÙY›6žîQïÐTkáY(eâÆý–}ÛSIB ꌤ¡s¥žÔVRš”£e›‰(Bti…zBxRŽæ[”œ_½4Z9ù«%ŽbJ}eéÔ¨‚ ¹ŠKù¤î¡®&T`Õ™©uv2S˜œ£eÝ!úÜyDf#¡ó ¡iªÆÀOÆqö•á¨X£a›‹(BÊRb~³ëÝß—{ŽåÙB­«» 6f]ÏâñëîÅO”·÷Uò!´•ÏöÉžÊvêДû‘JDîÝ»Y]Úzò~¾*ûÆÁ-3Šð”½½2öDý‘˜_Z”tzû¶›¶o½é& ,½:¹d9’åêç,’6ng—|(&¿éb¶äzÔ7¡[Ϧ¨4:†¢¡yµõmýúø¼ïü¼?¹ÖßÎÕs§.<,yº+6'ʪm_Ÿì_6¾™]\”¿/lÞ·¿¥1•úDèöVwû„í?MQ•d_ûmÇYCÏ–£ù®|–H--D—wíÐÞ+*­ZÇZ ½WK˜¬^SVçìÓSu²As1꧳Ʌ…é—wG)móŽüIkkŒ³¯h—ÀžÎwvìø;Y¥.H8ñCL_H×óÓý{xTów˜ùq”eóŽn䕟ŸCy<Û6~H"íZY× Ý6YµvûÖ \Œî–C϶ÛÇsò7nYZI[w îp}ù¹ÚvÒeœˆ\ß}Ywés_‡(E‡IŸæmŠ Ÿ¾µU4î4|î8ï*Ï£\ûÏ™T¸fëgA% ï·½íò ‘Os5_Ä·7üÜòÅæÛ¸û½3`„ßÖa›ýæ:”»÷jZºB`çë-ú>dš&dÕTûZšB+Ÿ¢“…öou5D‡N^Q(rõúé„ö :«®ÀïÀÙW|ªÏœéªu[ç­ÒH]; õAK !†'1Oomü|ÏS„*¨\÷?6¨Å>ÅmwÏ$..Î××W ÀŸàK—u96ɾ½¿‹˜"D›9#L=íû©­êcu “SÇ/™¼µYèÒ!.Ï’ 3YÑs?½4bí|ÿ§»¥!‹Ü¸nlP°^¯gYƒÁ`` )W­^§×ëu,kÉ¿ìÜÑÆ?ÀßßßÜÁÀ+«§ÿg©ö|¿þȽR–Õ¤œÚû·Æ«ƒ[ƒZ ‹-ËÏ.eù4ÖÏøOÁýpÿU‚Fƒ>™½fñ„_Ji©ók?ï/k@aííÈ™_ž’õ˜Ñø?9ÊÐp!óøÏ¢Ä…õ2wõAÒæ³-mž­ˆÈküºŸÆ¿˜pàÂl ˜20d`:È<Àty€é¼ ™‡>e÷ŒqK¯¨«mV_^4vöÁÌzÅÊˈ-¾¶í‹ £>=§b+}Öq÷Ì#5ô[­´ &MÝz¯¦eMŸUC:G@y5žªåY·Ô¢QƒZF«]f\lz‹Ùëf´•Rew+>“’Úzý¦g¶ÌC¿dÚ/-F6ßóç<¡[»ÁÁýš[d˜÷MRÿ!Ôþ‰m¿XÔWuhã–èË)%bGï·Fh'8ýÕÇ»š|µbL!!Lö‘Ïgü¶tuiçæ;cüZ[‹µ©§·­ßqU+÷ 4~|ŸfR}ÒÎÙ¡YÁ«>ö¢KÞ5çëÔñ«§ÙþQ©¥?å¨ IDAT‹‡SµEX…ÑqE§‡Fg—ïfê?žÛöÈãÏ3–ÍpyÜ3ŽÀ˜ÂŠo9ÚÂÏŽþ|Abßá–ì:y+‡vïòá¬qÍ.|»(&·”„|R¬^Ãm ç9€†Ãœ™-ö=¢£‹\æÐfHP/I|ôµb–°Ä¾Ï„­œ™øÃ·†|ØËK)U¸w5ºEvÌñT ßM‹bcÓt„ɹx<ãW;^E}Úž(òóAw…Ô¶Uß±ýx„Šâ÷]°èÔßÛN*s >®£þÂɤ*÷)Èü¦…/èi#Š$R¥)ÒTɽ¶Àj®“çØsh «D¨hÜ¡££>_]óøDM}X½5×9€Äœ÷yð®¶&¶ž6ìåœE„Ö®V|Bt%9¥[yù…‰Û¹HÕYÅ+ŸîM7í:Ÿ1X|õDv³ílhB_ ¥¹ZY#ñ£*m<”üóÄPœU MÿuþG‡Ê7t~›*—PŠb2În[}ên!%wp–”°Õç9$>Á!Á‡X4)\íàßkÐ{ƒ-)®j‹ ô%'É£ü»:BtUk{rèG-Õ×a%L ;ËjíiF•Á˜>¿¶:B_á¬xtj1[}X½Îs ˆ93¦09G˺ (Bô¹òˆÌFBçBÓ!„–*-tWÓTL V““V*v“ò)…O¦›v½.¸˜×r˜¯¼òõ¶´—¨’25¬‡€"D—Ÿ”§'„–*eâÆý–}ÛSIB ꌤ¡så; ϯ^­œüÕ’G1¥¾²tjTÕ0Yufª¶Qï)¡C§j2ã÷¯Ó:¯«ä¨ÖÎpT¬NÈѰÍE!e)1¿ÆÙõîß’Â>aÐdé+¦)BÏ¢Ž+«içäZ{š¶PrÖªÖ:%ú4B(ê©^BWKV«ó@bÎÙƒæbÔOg“ Ó/ïŽ8RÚæŸJ‰OÐÛ+cOÔ‰ù¥EI§·o»iûÖ›nBÉ[÷h–whóþŸ·[U}9«È½{7««Q[OÞÏWeß8¸å`CZѶ¯Oö/›ßÌ..Jß6ïÛßÒ˜*7˜ê´Œ@ji! º¼k‡ö^QiÕº*÷”\ú&tëÙ•FÇP!4&”Gµ´K`Oç;;vü¬R$Žø!&/¤i±BX|ëì•tuYÁ?¹T\mþ…³*†2¨îœ;uáA û4;×ÑÓÎÀj¯³ÆÊX½¦¬úˆL]}Xó@bÎ1¡ý[] Ñ¡“WŠ\ý‡~:¡½‚Îzò-϶ÛÇsò7nYræ0O!¡„Õò©>s¦«Öm´J#uí0tÖ-%„wþpÐ…Õ+§ÿ)rô}{ø0¯m‰Uæ8#,K<¹úR·¥m<¤‚:w®6£c„ï“_kÙ\ ì|½E߇LÓ„¬šÞº¢¹ûÐïnÆpž#h8(¶æ[ ŸO\\œ¯¯¯@ ¨}7uü’É[›….âò*,)òBèSm¼ê7¡n„)r㺱AÁz½že ƒ%„Ñëõz½^§×ëu,kÉ¿ìÜÑÆ?ÀßßßÜÁÀ+îUXÃôÕÄäÄÕvè`´^%pxYñl; bî ê™Ù2I›Ï¶´1×ÁÀ<0Û¦ƒÌL™˜20d`:È<Àtþ ëyh6ÌX-ž>¦±ð_Ö¤OÙ=;äþØ5s¼–LÙÖbaØÀÊëƒ2>›w}ÔÚym%5Wa^•º‚ÉŠžûé¥kçûW_D¾¶R/(®ŠŽ}­Jש//š¼Ýgñ’~ϳšæÆªÉae3ÖÏö}\©îþ¶éŸßÚí÷¹÷Œöo:j8³ýçûFÛ½¦E,ð8:kÖ®ŒŠM{ï7ߟ0ª“c+í>·:ä%@Q„¢˒ǯòÃ{sÀÄþ ™GýáY·Ԣыºþ6\&íXںˑ–Í?kg­!S–Mn%&„â‹…ì[=9¶K,I!|1‹>´¦XFwç¯Í+W/·i¼p€Ó‹ù/àeü—Vù­Á,KÊsŠŠ"õü€Ú˜1ó`Õb¢"öœIÌe¬½º½?qLWç’¿¿›ó£ìãï&¾f©{¸û󯮼¹ðó6.ŠÉ-%!ŸÏ[6Å[dTÊ•Ÿýù‚ľÃ-ÿØuòVíÞåÃYÁ]鼸k£Ž^ÍT lZö š>º½ )¼´só1~­½aõyç£B~ÿëV¾Ð¥mßqùXÖ›«¨òoC†£rÎRüÌó¾Iê?„Úÿã¹BF#èþíŠ1M„„0ÙG>Ÿñ{@ØÒ!.¼ÚJíHlûEØ(!„èÓ„>銉v„°eé'ÖÍÛæn>¿Q—1³ƒ»9òËÒÿÞ¾açñ›Yjbáì×”Š¿B+w ¸¢êø%Ó~i1²yüž?oä ÝÚ î×Ü"«ò¡õUÚ¸%úrJ‰ØÑû­QÁ#Ú Nõñ®&_UkÅêQÇZ‹µ©§·­ßqÀdÌvŸ«ŠXøcV»©á["—5MˆX¸í–Öúñc=/nü韂¤Cë~·xoJ/'±sÿùóº+íû~½|Š·˜«”šÂäÅî¼Ú$ø»ˆˆÐ!±?캭)¹¹ú˜h`ȺÈu!ýè˜õÛoiªP–~ø8ÕwþºÈÓ ýnml¾¡¶ØÔ•ÿlsV^S)CÞ™m'äç|= ±i:B“{ñXªkÏNŽü:JÍšùNÅ+õøUº‚BÔ·ößn5uùæM ß•žûqÏ-[»~}¬Ý°/×m‰X6µmêÞ¨3…ŽÕKU¢¾³ó€®×ÿÖD®˜Ö>o×’q*C¥C÷Y¹4šíùÙ÷[6|ùžm쪰i–mº71nEE…Úû»¯½ä8baDä’ &ÿüv[Íbàjc'èÅaÕ)çÝÒZ¹+«N¶Ôãi­¨“ÉŠ _vL6xÁúˆ°‰þÙ?…m½©á®ÓtÂbŒÌÉl™GQü¾ ý‚ú{ÛIe.ÃÇuÔ_8™TFÛ¼ñчb—-XxPòÞ¤žŽÕ†dXîR„žcÏ¡®¡¢q‡ŽŽú|µæñ)½*'§˜Uxõ™»&|¬—¨j]´¤ÃÃ\d2ǶïŽ[zý÷ëEl]G©(ËQy¥XbßgˆÀVîžþ=šÅƦé“sñx†G¯v¼:K¹Y jþ1*p0¼³‹D ÷l×Î^_ fˆÌoZøâñž6¡H"Qš"¡Æâ„Ðb¿Ñ#:ºÈem†õ’ÄG_+f+íÌľí0äÃ^^J©Â½ó¨Ñ-²cާZø·¢¢>íƒ?OùŽù ‹»BjÛªïØ~:fX…QŸÈÑ×ÒœZéî®›0|ذaÆ 3sÍ áŸ õ¬:R§µ¢J}ú©èï t·R¸ø ž6ct;û/:¤~°þI•‚`°LËl³-ÅYÚô_çt¨üïžA§á·Q¡m¿¾mþ‰¦£ßp0 Žá,ÅBø gEùß{Ц!Dâ|øàE“ÂÕþ½½7(вÊ/\¾•›­°¼­§’ŽÏW¨ZŽRùÎU9UclBkW+>!„²òéÞtÓ®óƒÅWOd7ÐΆ®¥EKÕ†oå$¯ÒjŠb2În[}ên!%wp–”°u\Ux W[QE'ذ—sJ ÔãCëJrJ¶. ¶s‘ª³Š ­ ;ÇPš«•5r?ªÒÆCÉ?O œmÕu‚!„xOúvb«ÇC5ú”}_}—TG§ÔØV·‘_Íy]AŠJ­­¤|£¾©¿ÓZÑ!Œ*£Dâä yÔ!þ]ѧ>w‡üTÅ}”áQÎAB(ŠÂ ˜’Ù2 ¥Lܸ߲o{*iBˆA‘”#t¢K=ºõ¬ÔÇþŸöÞnýAsI•˳”DŸFEUÙ“Ug¦jõž:tª&3~ÿŠð0­óÊq•öÐ$ç”±nŠ]îý<¢°“Ò9µE\Gåc•œ±•%B—§„Røôhºi×Ùë‚‹y-‡ùÊ©[T¹T-ª5š°…çW/VNþjI€£˜R_Y:5ªö ˜Âä-ë. Ñç>È#2 ÿøÐ´Ti¡»š¦bÚHx„°šœ´R±›”ÏÑŠ ´¥½D•”©a=!ºü¤<=!´”£NlæCãÔ´ú-™´ØÚÞÁ¡âÙ–R ã|áiÑB…ƒƒuÍåëñ´>9¨…R¬NÈѰÍE!e)1¿ÆÙõîçöüò/°,ûè)Š¢ÝÙÁ²,˶® þ˜m¶Åªm_Ÿì_6¾™]\”¿/lÞ·¿¥1”.%úû}dÐì9sFXÿµv÷Íã ½¦Ì@ÅYŠ«z¶äzÔ7¡[Ϧ¨4:†¢¡yÕšjPŸÿaç¹äÂÂôK»7- à#{ü˜!wluT^g)B%oÝ£YÞ¡Íû |Þn%£žæXÆ-+ÔiÔÒB@ty×í½¢Òªul-¥ š‹Q?M.,L¿¼;âHi›w|*]7yÊ€Þ^{¢þHÌ/-J:½}ÛMÛ·Þtp´¢‚Ƚ{7««Q[OÞÏWeß8¸å`CZÁÑF}i]'Èäêñ´V¸öt¾³cÇßÉ*uAÂáˆbÒøBW¦èªü‘ZBØòTãqÂâÞ0!³yPŠ“>ÍÛ>}k!«hÜiøÜqÞüä}ßï3ôûº·‹X`?áÝÿ[³÷%#›ì|½E߇LÓ„¬šÞÚ¸”„dWO+»Lskõæ9A+¾Âóõ‘3‡y Iå$ÅÂktoæ@èäð"‰{Ç‘sǽfIeÖ›¤ÎÊ)!W©LR%kÝ£…~Ù½NÓš[Ôv¬ª¥ž¨ÔSí¹:µý¸áç–/þè0߯Ýï#ü¶îÛÜ>ü½JXe} ¡ý[] Ñ¡“WŠ\ý‡~:¡½‚Îzò-϶ÛÇsò7nYs¦«Öm´J#uí0tÖ-%„’˜©CXöѽ,k`­éñxiŒz€‰P¬Ñ³vÿR\\œ¯¯¯@ð¢Öh‚ú¢Ž_2yk³Ð¥C\Öª. QäÆucƒ‚õz=KXc0°–atz½^¯gôzƒÁ “ËÙ¹£€¿¿¿¹ƒ€Wœ¹G¸ÀT*î ¢ÝZJB(š¢(J¯Óñxõº|@ y¼úÊïð(à¤hŠ-¿Ñƒ%y´€i~A¾X\}¹€ãì —¤Íg[Ú˜;0 >Ÿ—ž–fgoO BÊŸÂfõh܃æÑ9ÙÙ–––uUP0æðê …çΞ~2òQ>øQþl-Eñyü;w-¥È<Ày¼úÄ"¡H$Š¿GS4)ë(aYXœ>uR"–H-¥æd¯>Š¢š·h‘ôàþoû÷ædg B¡H$–HRR’ýyT$uèøº¹c€†÷y4mÚ¶ÍÌÈ<îl±J¥×ë%‰X"qqqutp0whЀ óh@œœœ)#æŽ ³eú”ݳCî]3ç5IÝ;›Ë“ é„ 3V‹ç„i,d²¢ç~ziÄÚùþÕ׫|Lû,;›]¥h«l×ÜX59¬lÆúÙ¾¯M¹¿múç·†…vû}nÄ=£zšŽÎlÿù¾Ñv¯i <ŽÎšµ+£b“ÄÞûÍ÷'Œêäˆåæ³e<ëö#ƒZ42ó‚Ùuxäs¿›ýÕC[wù"²Ã¢ùgí¬5dʲɭĄP|±}«'Çv‰%É „ï1fÑçÖ˨óîüµyåêå6p @c¶?üLᥛïŒñk-WE¾ ±ïpË?v¼•C»wùpVp×*?†™¼¸k£Ž^ÍT lZö š>º½îŸµÓ–³3VOñ¢OýuμK–Õ…ù«*&ÿêÞ [ǧj垃ÆïÓLúdp™Iß?gö™·W,zÛŽIþyæ¬=’±kõ±cSvÏúìRŸ¹þG7ßãks:lQLn) ù¤xÞ²‰v„°eé'ÖÍÛæn>¿Q—1³ƒ»= XŸv ´ÎYõƒ˜¨ˆ=gsk¯nïOÓÕUTeÀ›#f}ÒÎÙ¡YÁ«>ö¢KÞ5çëÔñ«§Ùþ1þC¨ý;}?ê|}[Fùç¶_,BNU;?Û¨«Ç5»ðí“h§x?ÍZR´P*Bˆ@* i"•ÉåGE„ÜÛu„Šg!—Ëå!rEûC_;´8>E‹Ì Áy)žmaòbw^mü]DDè‹ØvÝÖTþ¶äJäêc¢!ë"×…ô£cÖo¿¥!bÏ®¾äêé‡ZBˆ>3öd^“^mlhΪ˜¬˜ðeÇdƒ¬›èŸýSØÖ›•«çÙ¶ig“qá^ kP%^˧HjܽRÖP˜p)×ñuo+šBøÎýçÏë®´ïûõòG×fõ­ý·[M]¾yÓÂw¥ç~ÜsGû¤Â§Ø™UÅG,ü1«ÝÔð-‘Kƒš&D,ÜvK]ùõ9uÄ\•!ï̶ò³f¾ã"¨øÜG~ÃøýsϦz´/«N9ì–ÖÊ]‰É€†çåøÉÉsì94ÐUÂ#;ttÜ}A]å}î4OéósrŠYw¯>s×êÄ"B¨ÆÝZ3kO'i›{f9Uà5Ü׊"ŽªÊÒOE?ðxV »EüO›áðPƲ•ÞÌ)pô÷ÿu>IÓº,.ǽÿ›ªÓS´­K/¤+^³åÅq,p0¼³‹„G<Ûµ³ß}UÍpïÆ½³¾(~ß‹~‹ú{Ûñ >®ãß«N&ý_Ëæ¢Gô5ÄÌ%ö}&Œtá3ñ?ó Om2>ĨÁutuuõùÐ1ênkV[Zèî®›0|Ýãÿ'÷þéPs¿œÌàåÈ<ø gEùÛª(Úè.{‰OpHðáƒM W;ø÷ôÞ @K‘4éæ­Ûx&e„èâ颿£ZË)îªUF‰ÄÉARþµÀÁ¿kõE:¶`#â“’Ê’åíßíœzzóÕäû%¾ï:Ôø›œoå$¯1àºvfг ´é¿ÎÿèPyQƒNÃoS9àŽYWµÖ'û ­]­øU?ë9ÁpôO­(÷¤o'¶z<¢OÙ÷ÕwIuªÏmäWs^WP„¢…Rk+)S4H/GæAjy¬Ug¦jõž:tª&3~ÿŠð0­óÊqM…’¦ÝZj6Ÿ¾H]*n5ÆÛ’ª¡*ÚB)V'ähØæ"в”˜_ãìz÷÷UTšf{¾áYòóé3<¶Y°‹‡“[Ñž3—Z~ä*"ùÏoÝ;ó,”2qã~Ë¾í©¤ !uFRŽÐ¹ÒTwÌ- !ìã¡}AFQÅ]¯t¥¢ü3÷!$ú´g [Û;8T<ÛRjñüù-TØ98X#ßhà^ŠûhY}JÞ²£ !N~îB[µhcKxßhjQ9›Øùz‹N†L[y]]wÈuíL):LútèDøôqãg¯9¯>wœw•˜8cæÙuþpSÜÊéNù•é=Ì«¶Bë<Äs6 àߡؚo]|>qqq¾¾¾ ž[PßXóñ*ÞÌ•[šè© €ÿ¦ý{vzû¼FQEÑÆ ˜–oOMI¢bs ¯¸—̃«SåÞ=¾û¼ cÆH;þ+^’;LŸ™ööÿ[o×kâàÆ¢º÷€—Ã5ó{OÙ°ÃÜAÀ3ú¯Î¶À20d`:È<Àty€é óÓyÉ2m†IS·Þ+ûU¨//;û`f­ï­¯¯Rðl^²Ì^iæ[IŒÉ‹Û¹6êèÕLµÀ¦e¯ é£ÛË3„.ŠÉ-%!ŸÏ[6¥þ÷ö ;ßÌR g¿þ¦ i)ÉŽþ|Abßá–ì:y+‡vïòá¬à®Ž|mêémëwOȹµïݱÄ@!lGñÌó¾Iê?„Ú¿#±íüoº¥ì¬^Ê8*žÙºà•c¶1’+‘«‰†¬‹\ÒŽY¿ý–†ïÜþ¼îJû¾_/Ÿâ-f bׯµöåº-˦¶MÝu&×@aòbw^mü]DDè‹ØvÝÖhïï^¼ö’㈅‘K‚šüóÛm5Kˆ¡†â†¼3ÛNÈΚ٣l¿q)ލÌÕA¯"³yÐ<>¥ÏÏÉ)fݽúÌ]¨WÿŠÌoZ¸ÌÎZΉTDiŠ4"$„çØsh «„Gwèè¸û‚ZýàïE¾Atq—QDÑwl¿˜ÏÎBqç–Ø÷™0"Ð…IØÈUªÎ¨à_0[æ!ñ  >|ðÀ¢Iájÿ^ƒÞh)¨¼E1g·­>u·’;8KJXêÑ|…³¢|„¢)Bˆ¡4W+kä .ÿ^`ã¡äŸ¯¥¸ÐÚÕŠOˆŽ³”E]QÀ¿a¶ÌC™ªmÔ{JèЩšÌøý+ÂôÎ+Ç5}ò=[x~õÒhå䯖8Š)õ•¥S£EQTåšhK{‰*)SÃz(BtùIyzB 5§iªÆR¥œQ _xo4æ»ÏãzÔ7¡[Ϧ¨4:†¢¡yBaõš2!„ÕiÔÒB@ty×í½¢Òªu,WM"÷îݬ®Fm=y?_•}ãà–ƒ UwqîR¥œQTwκð°„óððôÌ–y(»LÓúáæ9Ac‚f¯‰s9s˜§¯·èdÈ´•×5Šöㆻ_\üÑèq‡½=Â9¶ù––£*¡ûàÏ&ûeüôÅ„ñŸFÞóÝÍOè:‹s–âŽJ—q"rõ±yz“õÀ+ŠbÙzþ%çëë+àö€—Åþ=;½}^£(Š¢hŠš’D Äþþþæ^qXI L™˜20d`:È<Àty€é óÓA榃ÌLÇì™GéµUc‡ ùÍß…õµ–*“=çÃиÒú(¥MØ0iêÖ{eÕ?×M}yÑØÙ3™wíñKÆÍÚŸÎÔ½çsªÔØz ûßó¢1f]tYýbòÂOß³3 æ 3g¬êŸß/³ž^ ¿ÇåáOÀ SZRRË·*U¡É"€ŽoÖ£³…W_·èþù8‹µ_9ŸÓµ=¢Ž_2í—#›ÇïùóFžÐ­ÝÀàà~ÍeTYúßÛ7ì<~3KM,œýúO˜2¤¥%Åä_Ý»aËáøT­Ü3`Ðøñ}šI !„-K?±nÞþ3wóùºŒ™ÜÍQÀªÄDEì9“˜ËX{u{☮®"ªZ8UKóºðí¢˜ÜRòIñœYv?þW» yq;×F½š©Ø´ì4}t{^õšôyç£B~ÿëV¾Ð¥mßqù(xœmäØÈÏŽþ|Abßá–ì:y+‡vïòá¬à®ŽoÚѧ}ÒØ‰vÏÓŸLVôç þ ìI;t1ÕàÜiôø€ôŸøãŸlÖ¥Ëøy»Øó Spm߯-Ñ—SJÄŽÞo³ŠvIIDAT à 0n¸<³r0S¼Å‡àþwBsT«¿Â±§8eçìЬàU{‹ Ñ%ïšóuêøÕÓl+)£ó"É<0þC¨ý;Û~6ÊC@!Lúþ9³Ï¼½bÑÛvLòÏ3g푌]³¨›²{Ög—ú¯ú¦“ê¯jUÃé{ÎÿŠžRnNŽÔÒ’ó+ƒÁP¬*"„âü ~™uÌÃwøŽm¯îMÜ;õpNùãÌ“¹ õt½þ·&rÅ´öy»–lŒS1±ë×ÇÚ ûrÝ–ˆeSÛ¦î:“k`²b—“ ^°>"l¢öOa[ojÊËßÚ»ÕÔå›7-|WzîÇ=w´¬*>báYí¦†o‰\Ô4!bá¶[êêó;ÕJ=PöŸ?¯»Ò¾ï×˧¼ÖøÉgo1g„šû»¯½ä8baDä’ &ÿüvÛ¨~ÎÀ¸ÚUr%rõ1ÑÀu‘ëBúÑ1ë·ßÒÕT–~ø8ÕwþºÈÓ ýnml>ÃÕF×FB“»ój“àï""B‡XÄþ°ëv¥#ð«5öùú“ɽp¬´×k7†ŸÙðå^шE7.x‡>óóÑdarO®\Íöüìû-¾|Ï6vUØGéÜFgAÏU-çžµÏîqžBˆ!ï̶ò³f¾ãò8kçÙ¶ig“qá^ kP%^˧HjܽRÖP˜p)×ñõV¼«œe|úL0ä—‘–f¼Ñ`0äåæ(¬¬_üñ1oæÁdÇMiôNgGϾc/¬˜“)ºÇa‰ýFèè"—9´ÔK}­ØÒoZøâñž6¡H"Qš"MYú©èï t·R¸ø ž6ct;Yù«wn†wv‘äžíÚÙë Ôú¢ø},úõ÷¶“Ê\†ë¨¿p2©úÕKÕ6oáÅkœ(òóAw…Ô¶Uß±ý¸~ÃBfÜ.ÍãSzUNN1«ðê3wMøX/‘q’ p‘ÉÛ¾;þméõ߯¦\6nãÜšÎsì94ÐU"T4îÐÑQŸ¯®õÂ÷|ý)j: _k+‘ÌÝï5{±÷>-ä"«fí[[ë 5&÷|ôm‡!öòRJîGn‘sâ‡ç“4ê‡q9îýßT¦\LѪ\HWø ¯qw”Ñé»^G<ÿÚ뻊Äâûw‹‹UKKJ²2ÒYÛȽñ‹=<ÀcfœmѧŸ:z¿4}ÓÇl¡˔阼ãICÆ4Bx WÛGc÷[OörN)ËäžÝ¶úÔÝBJîà,)a)BUF‰ÄÉAòhGÿ®„FEßÊI^~á§hŠÂghÓÿÑ¡ò} : ¿ÑŶz©ÚE˜•MkeĶÙx(ùç‹‚¢˜Œêí"ŸààÃ,š®vðï5è½A–£šÜl…(éøÜì ã6r5œ!„ðΊ§mìsö'%´R„Š¢)¾D\åh†’œR­ËãZÅv.RuV±ð)^™ñYÈÊ䨖áüU5ÜjÁsžBZ»ZUÿ¯FÔ¨c 6">)©,YÞþÝΩ§7_M¾_ðPâû®­ö*wÿ¾üRyÑ.-ZµNOKÍÍÉÎÉÊdY" ,-eN.nJ[»{`€JÌ—yè’ÿú+§ÙذY!„-Š]6oïŸw‡7iIa “s´¬»€"DŸû ȬuW/VNþjI€£˜R_Y:5ŠÚB)V'ähØæ"в”˜_ãìz÷÷&„PTÕ‹)ÏB)7î·ìÛžJšbPg$å«ÝW/U£mí$ª¤L ë! Ñå'åé9ŠU?[xÞ¸]¬:3UÛ¨÷”СS5™ñûW„‡iWŽk*¬RR_œSƺ (Bt¹÷óˆÂÑÞθN–W9.ѧ=[kŸ¯?kCK•º«i*¦„G«ÉI+»Y”q6¼æZŒÏ‚½…îŸjÕJy{ÚHèR²ìãÞÌ(ª|¾8ÏË£È95±çž%?Ÿ>Ãc›»x8¹í9ów™¡åG®©\ýŸtÄèôÙY¾øñG>_àÖÈí‘Ç ?@ÍÌ6Û¢½÷ç©‚¦½:ºÛX[[[[[Û¸uìÕ¬$öÛ¥„bÐ\ŒúélraaúåÝGJÛ¼ã#ÓkÔÒB@ty×í½¢Òªu|—ÀžÎwvìø;Y¥.H8ñCL_ÈÙ"ʪm_Ÿì_6¾™]\”¿/lÞ·¿¥1Ouåeõš2ƒñg£Ûùôèfu5jëÉûùªì·ÌxªúYq» %×£¾ Ýz6E¥Ñ1EÍ3n•A}þ‡ç’ Ó/íÞx´,`€¯«Ÿq œ švWixuÿ¢?á)z{eì‰ú#1¿´(éôöm7mßzÓUWSÃkÆè,´ñì`\­›ë_”•D!,¾uöJºº¬àŸƒ¿\*®2ÛÁu^jž¡,½:¹d9’åêç,’6ng—|(&¿éâ;ÊèôùXâþNhÌ6æqûÈÙ¯±¯YUü¹¥­|ßj¦<òOqS>Ú¿ÕÕ:yE¡ÈÕè§Ú[YjÇ ?·|ñG‡ù6î~ï á·uGØæö+ÆÍ™®Z·u~Ð*ÔµÃÐY´”ƒŠãp”¢Ã¤Oó6E†OßZÈ*w>wœ·¤î(v¾Þ¢ïC¦iBVMoõäs01ŽP!¢6YµvûÖ \Œî–S÷(E{ãvEµ[ž“¿qËâI›‹EÞ=>þt`#ß«á†Jg¡u•£Ÿ>m\­@ŸÇµ'ÕùÃAV¯œþ§ÈÑ÷íáü¶%Öq^6ûÍu®¡5”¼eG’Àós—ZØ¢-yhûFS ª†ŽºÂqúx@AUŒ7×—¸¸8___ ¶éùÚ©ã—LÞÚ,téó>ó[³—?†àéÏÎ×þ=;ß~g`íû\»r‰ˆýýýM4X õ/1@ƒt1.î·ß~Óh=D-‹?3¦qc<ئƒÌ içïïìä´íÇ­­¬ò þoôhg皦^ˆ—q¶êWµÙ–´´´M‘‘ヂ*§ׯ^¦ø"̶À‹†1€ÇÙÙyÎìÙÉ“Ûu†„ú¼š1ûãÀA~^nå-•ÓBHvV†H\û‚±õ™À«ÏÙÕíÎí[5}Ë0LNv¦……Ô”!@ƒ…ÌàÕçäìªÕjo\¿büÃèÞ»#‘Xˆ%϶" ÀóAæðê£(ÊÛ÷5­FsæôñÜœ¬Šíùù¹ ÿÜP«ÕvöŽf dOG›°aÒÔ­÷Ê!LVôœCãJŸ±¶ðÔü‘“¶Ý×Õ´C¥CÔ§g©VŸ²{Ƹ¥WÔõ¼ x<žGãÆ6JÛ{wÏœúëÌ©ãçcO§<¼o)—»yx,¡ ¦‚g[à žuû‘A-­ÔÿuöNåœ]Õ´N§KNI3UDÐp™/ó`òâv®:z5S-°iÙ+húèö6ͤ×)«©áðÒ2 õ¾´'³Í¶”\‰\}L40d]äº~tÌúí·4„°ªøˆ…?fµ›¾%riPÓ„ˆ…Ûn©YB yg¶œóõ¼Z¨.Ħé!LîÅc©®=;9òë(5kæ;•^×Áäž\¹4šíùÙ÷[6|ùžm쪰):B“»ój“àï""B‡XÄþ°ë¶æI¬|çþóçuWÚ÷ýzù£‹·úÖþÛ­¦.ß¼iá»Òs?î¹£­)†šT?Ü=›Ê‡xšÌQêŽu¿j‘×ÚÿµEx[ÃdÅ„/;&¼`}DØDÿìŸÂ¶ÞÔÔxÊà¿…¦iŠB¦`¶Ìƒæñ)½*'§˜Uxõ™»&|¬—ˆ°Eñû.Xô êïm'•¹ ×QádR!,±ï3aD`+wOÿM‹bcÓt„ɹx<ãW;^¥Ü¬R™ÜóÑ·†|ØËK)U¸w5ºEvÌñ!„çØsh «D¨hÜ¡££>_]Ó â !„Ü ïì"È=Ûµ³×¨õ5ÅP£ÚWw‹¬”Q Ì3ÅÀÕÿµGX–~*úÇû£Ý­.~ƒ§ÍÝNÆž¹áð’)ê8yòdaa¡¹c€Ál³-ŸààÃ,š®vðï5è½A–TqV6ý×ù*Ï : ¿š!„­]­ø„Êʧ{ÓM»Îg _=‘Ýl@;š0u–ªÄP’S*°u‘ó!„Pb;©:«˜!„ðΊG[é:ûñ­œä•w採¶ä¥¶Ã=]‹ª×PS ÜJrõÕïêWe”Hœ$åµ ü»:¢O}Ö†ÃKÉÖÖV,×½À¿f¶ÌC™ªmÔ{JèЩšÌøý+ÂôÎ+Ç*•2qã~Ë¾í©¤ !uFRŽÐYR–LýèòL)|z4Ý´ëìuÁż–Ã|å!<‹:K=AK•º«i*¦„G«ÉI+»Iy„ò,ƒÍÕ÷厡Ö?äµî)[T­†šb¸Ïu–«ÿÇyÔ!m¡«r4lsEHYJ̯qv½û¹=sÃáåR~š[µj¥ÓÕøÜ@=2ß}×£¾ Ýz6E¥Ñ1EÍ£ eÕ¶¯Oö/›ßÌ..Jß6ïÛßÒ˜ªhJÞºG³¼C›÷ø¼ÝJFòT¥*𔽽2öDý‘˜_Z”tzû¶›¶o½éöTo·cõš²š~Ì?S uâùj«¹Gä,Wÿ×NàØÓùÎŽ'«Ô ‡#~ˆIã yõÓp09½^O¹yóæ!QQQyyyæ ¼« ¡c†Çã1 wÕÀ‹†•Ä¢k×®BÔjõÝ»wy<^ZZZII‰¹ƒ€™@²lù0çƒ!………YYY„ëׯ—Ï¿¼hõ?ÛréÒ%ooo‘oÜx©•O²B´Z­H$R«Õ‰‰‰¾¾¾æŽ ^qõ?æ!“É ±"ÀKÅ`0BNžS€—˲E  ‹¬¬,{{{­V«V«¥RéÇ---mll„B¼¶^¬úÏ<!Z­699¹¸¸˜a˜z¯êÇS(...H;À^HæÀ ϶€é óÓA榃ÌL™˜20d`:È<Àty€é óÓA榃ÌL™˜20d`:È<Àty€é óÓA榃ÌL™˜20d`:È<Àty€é óÓA榃ÌL™˜?--ÍÜ1@CA±,kî ¡Àl ˜20d`:È<Àty€é óÓA榃ÌL™˜20d`:È<Àty€é óÓá›;€H«Õ&''—””èõzsÇò ø|¾\.wqq …Æß^¼_°`ïÍÜbÁÀš>6c4M9YY„¾ÛÊÛUVçÎ˾AÔ;F“àäädeeÅy iiµÚÜÜÜœœœV­ZñùU† ÎÞÍÿd[¼@(äóù4ýRÌ] NÇèõ?M 𰵨}gdðÊJLL´¶¶¶µµ5w Ï)55U¯×»»»WÞØ{é™R=抪&Z­ÖÅZôóäöµïöRäJ/‚J¥²¶¶6wÏO©TVÛ˜W¬©6 ò’I9%uî†Ì^Y,Ëòx®É{V¬?™Í˜;°ËÒËcš—ॺØcÌ:¶äÆÞ}÷<ÿïë 7¬iB±µnÇf¯ºx%§sw›Ü {~Ü61GC$>½þïÃ>Í$¹1‹¿»ß}€ôäÁØ;y´kÇaF¿nÏg oÞ¶óØ ­¥[ÛÞ£F¾åiAV“|úçí‡.ÞÏ7X5~}àï½îdºK¯N{à’öÍî]Rî/©2Ìaao7¥§ó›NB^qñ溺»®±lÙ4¢«~aÔý‹ºÉë-—yäLÝ]øú{^}e<ò~kùÞëK’êgØã¥JƒÌ ,åBñîågýä¢HÛvùøë™=xEqÛ~¸dÓÖâåKŒmqè—‹ùBS·ÿ¦ûèï¾û´äÒ®ƒ÷´†œÓÖŸ–ö™¹ä»/>x-wÿš]‰ZÂ–ÜØ¾rOÎkc¿\¾ì‹žw·¯ÜsGcÂ7µ²Y7|Ÿ.ŸÑÓZYi½uZ¢˜1ÔÍéÎý±ß_þ(¦¤uO¯ ®tî­‡ßgZÍ ”ÛØ:ÌnËl=œ•¢ÓìÚuûJ»û§zK;2hðX½*¿Lb+ã|Á‹ÔgÜ—ŸêÐÈJ,Š-„”V¥5BÏ¡K¿NbÌÃÏÏŽ)T—ež‹IqônW¹Ìѧ÷¸ñïúZ²Õõßã-zŒìÙ\iaéØvÀý•s©/byq eÇŽ>¼áê>£…ðñ%Ÿ²òpê¬ÍXy±(S£OJL]@uj%²eý‘t߫Ɋ÷Õgï(xQ f[ £xR¹@[ÌòäÍó†â»ç.æ¹uô“gÅíÞ|îA%³s—V\Žy2‡G© ES„¦8«Tdo'*ZØù¾nGˆ>=·¨,óð’91å› : ¯µ¦ÞFžSœ·<ÆfSw÷7S“Ê–)"kçÕ“Ê#áñyúû<!Úâüí n«½K6ÜÒê_X<È< ¡¹¶ojØü{\^‹N6 ù—voÛo÷±7µ{Ý1ë1³æ·µQšÖýïçŠRt•÷Åò$6bí¼2¶‰ˆ"D—~:úªòÍÎVR‘{s»XÓ„ƒ&+5Oè(*K5eëasn=XÙ¼õŒ^ʃ4!„-.Ö«33‚~ÌÎf !”…•ÄA¯Q"PÚOj®¿T(›ØÑòò_Å¥/&̶@CGÉ|ÞÐèÞ¶ï"Ž\¹Ÿ™›tãø¶•;’ÜßéÓX¤/cø–>ÑÜú3úFI™–û‰T¾c‡.~ýõBZ±¦èî±í»Ngð„;WÁw|kÒøâv-™©µpjÛwâ{ÍÄ„·ý`rþŽŸ6†ì*beîíLÑ\L²Mß@b(É_õG~ÛþÖ„CiþÒ_3z4Ùú¦€”–üu:quëÙÁó}*cz¼F­×.‹µ]ÓÇùø¶”}Ù¥dÃgïûJ~¹¶0©~ž1¦XÖ„÷ؘP\\œ¿¿¿¹£øWŒ›°à˜L&3W<µS©Tç¿z«ö}0Û¦ƒÌL™˜20d`:È<Àty€é ó€WEQƒ‰_“RŸ4@ 0Þþr®Åe0xtÝy2xeÉd²¼¼^eZmYYÙË3òÁ²¬V«eôúù[Ô¹3VO€W™V«MNN...f˜úyíˆiðx<…Báââ" ¿½x¿`ÁÞ›9*ÍKr§(ÊÙÚ"ôÝVÞ®u/ëŽÌL³-`:È<Àty€é óÓA榃ÌL™˜20d`:È<Àtþ=/#¼Í2RIEND®B`‚murano-9.0.0/doc/source/user/figures/component-details.png0000664000175000017500000016302113656750211023676 0ustar zuulzuul00000000000000‰PNG  IHDRzcZýcŸsBIT|dˆtEXtSoftwareShutterc‚Ð IDATxÚìÝ{\T×½ÿÿ× 3 †ñÂxal“ i0ÌEm¼$ÞÂ7&Ä[ê%õÒ_Äž¨§JÏW9¿"íA~¿¢çˆ´|ë¥Ui½äh´ÄÛI¢­’&¢©¤QL‡D‰3F6Âì™ï3 * *Ikòy>¶afØìËìµÖ{¯µö68NB!„B!¾Œ² „B!„B‚žB!„B zB!„B!$è !„B!„ '„B!„L¾DŸ|>¼õ|uuxëjñzt|n7^ÝçB^í ÕÕèŸSÑIýyõ.'ºÓ‰ï‘¡Äýû/1)Š!„B!„¸¸ýÇ+x¾<Ï¿þÔÕâózÁÛ€O×ñÖhÔk—ðÖ^¯÷š<ØÂŸ4ðù|4Ä=DüŠßÈѹÑ~ÿ´ mO¡ƒ‡ÿì!„B!ÐA=zýzõïä#(È€Á`ô>ƒÁßÃ× £Ñ0 øCàÿMŸü¿ÿk2ß_ñk ’£ÔZгŸ¥zûVŒ%è !„B!:6è]lðqAÓ‰VB€ ƒSPAAAM L&3&£ “ÉLPPFƒ‘ £ FŒF#Fƒ?  FŒAFp»ñìØŠ9i2¿S ëÏŸ‡z¦ž½:dyÚ`”©–B!„Bˆz4ÔsAwƒæ#ÞÚïõè#àÃëóbððâkŠ&MÃ6 ±£ÿmŒ/ £ÛÏç»êÝ;•ëµ_S½ítùß?ï° '„B!„_KÐóy½xêê0 \ª¯§gW+ @C ÈüaÏpu\3 þÜghÊ|þ(èó]÷Ù;šÏçŸ{XW F#†ùÖ‰oœîtàÔÛùaÅ‚Õ"7CBñO_»á´ÛÑ+6«*»CˆŽzþPæÃ‡ÿY &c`¾±qž^`î]³¹z? |AAÔë: ^/ŠÉtå³í {§NbÛ¶m444лwo¦L™‚ªúOö‹/²jÕ*†Jdd$úÓŸøÁ~À“O>˜#èçr¹ÈÏÏçË/¿$((ˆ3fЧOÞÿ}öìÙË/¾Hii)ÇŽÃ`0ðØcñôÓO7-ëi|™¾”º¿@5ËÏR±?5¸i¾â—¿øw è4z]ýo´ý»¹ø›l|µµø¼ DLú!wý??¹n;«w¼Î¥ëhЪ1†…õë5-î/^|ž†ªóDeç<àûò 8 Ó˜¶ì]<íþ 3O,ÛDú`‹ì·¼ @`€¦×ëŸ;!,ƒªb°tð ‘ &˜L\úê+fþ½¡A6=;GPxDCPpH›Ã6Oœ8Á¶mÛèܹ3]»v¥¬¬Œßüæ7ÌŸ?ŸÐÐЦÏ}ôÑG¸\.z÷îÍçŸΟÿüg, ñññ\ºt‰¼¼ ôáAxÊÏR¾%¦A]»¡ô@Û¾sŸïaŒèŒû£b.mý†à:¿4ûJC}կРvb S }ô ¼® ;uºn¸rþ“†ªó¨cž‘'®|ŠËn"äx(+vB;‚ž^œÆ¤ŒHVlZHì7Q¹Ú73kn!³·æ0øxñV/}•iÉ;p]ózXÌLINaJüí¬œNÑ’çÈŠ^ͦy±ÜÖnÕnÈeãþ"Ê\ÀLÔ}ƒIš“LR¼y!Ä[³±/ãJÈp½»‚eûãÉK´ÞLZdû¬Y˜¾•œáßD¥ÒåûKãÀ+ϳüÔ5/›£x`ÔtÌívvLG¶œÅlÏ]ÃöÂSTzs$1 £˜ž<ƒÁwÈ…Ûz>ŽŽÒPïÁdôß`ňÿŽš^³BÐü ]»Áà~FãU½užçËË—Á磤²’ŽJªÝu4„vbô¼{èÖÆ]7·mÛ@rr2!!!¼ùæ›qôèQ†zåäw¹˜0a÷ß?§OŸ&??Ÿ;v4½C‡áv»™9s&}úôáäÉ“lݺ•}ûö1qâDL&ÿnª««ãÇ?þ1½zõâƒ>`×®]ìß¿Ÿûï¿OùYÜ—ÐiØHºþû/ðÕ×ãóø›×Ý2WâüÏÿmßnŸŸH§§FaDØîÙyŒA‚‚p—œ rÁ\jö½ÙôôÓûC^§NôܺƒÙŒÏãÁ|õPýìghoîÄÜ«7w%Ï—:@4U*þòó>â£ÛWâi埿)FÛrKwäÐÔ6ÐoXÊ’%Doͼ F!!u+ëõ6÷¿ƒ‚%³È®Ì‚Ôu ‹·¢jvŠö¯%kñ,Š—­“^[!ÄZµ•s´¼…6~Q9z¢Uê®;@ä3¹lZx%ìjöd/^ÎR5ŽMsl·¾`[«7%¢ÞvÈ+$cî2Šã’IÉË$Á¦¢;JØ¿6ƒe³JX°n%7uMáN zC2p²²½¡O}=Ý¿ÏÝ‘‘Úzøyàf+>ÀØà¡{ˆBLxgBŒF‚þ¾ø{ÿ®ñÑG0`À‚ƒƒxòÉ')**âØ±cW=EQ¸ÿþûñù|ôë×nݺQUU…ÝnÇf³QTTDxxxÓPÍþýûc6›9yòäUÓb±Ð«W/|>ýû÷çOú555x««ýjð÷jL¦+ëm4âk ·F#ã•ðÚ<°5öÂÕŸ¿r‰Ê•@—%iMŸ5_~µmÀW_OøÔ—0†É8uqup°MIaAä‡”Ç #²¸€ƒåZ‹Ÿ´Ä%òˆkËì­|«–f±ß¡`±Æ1l˜†NdÓUº’íYdm(Æ (–x’RR˜§‚c3³f2j†¢ÂÊË5bf¤’¤ogÃÁr*:qsV(5…¯’‘»Ÿ2]]!.q)sðÇåÌÝ^„Ý¥c¶€e)þ+€º}ÙYk),÷‡T5~ ))IÄQLÖ¬4œÉëÈn½„U³–P>%•UR+ⓞǶe#% Zñ2² (ÑÅJŒŤ$ú+6­x iÛ)ÑU¬q£H²d¶€­éñgLºrÅW+¥ {Šþ¿cÌì¥ mƒ¢´IdGÎà ×>,¯Äá´0,u9 ,hE¹¬)‰añºTF7n¢j#!)ú,fgo $a!qNÿ±Iœc£ð@••ˆ™Áòô$ÿUUG!¯f岿LT¢‡Í&uÞð–‡G9K(*qÒâtP5†„xi€ !:¢¼"Î Ë®~Ùuƒ2F§t{ËÖ¡Y¬DÇ"¦yÕjy§ûË[u OhE|XV†CÌ‚P¼¡€ËËqª£H_1xµºHõ×ɸŽòê¢e,©¤F}€É©é̉WâÍdo.Á©J Ã’SX8ØŠ£àænŽcźyÄ*àØ·ˆ¹£ÉÌ[Xî]«¶Á$%„1¿¤ ªng_örÖ:Ð5f Rç‘`tû²–’[èD±XIH…}Mƒ×­cоùÍzôZmO襬š¶×”$”ƒ”U:p* ,XžÊp«Né†lª³Y›žDcìT¬q$¦®ÆüÊ4rs‹–OIõp›í¢¾›öâ"Znž)DÅ'{ Íû¹ë¦¯énš^®/ B ¢Ö~o]ÆÐNí áá*wwVñúüK4‡…µúÙ‹/еkצ›·¨ªJpppÓ{zöìÙFî¾ûnªªªøê«¯p¹üƒ¯ÂÂÂøàƒðù|x½^EÁãñPWW×´œÆ!œóƒƒƒ©¯¯÷‡´ûúcìÆåC¹˜»Úß«Öι†õUç©þï-è}xÕëÞ ýô'CC ¾?¾Õßoø² m…:jœT¢ÅBB±D¡* Z¢ˆn g×fÅÕÚ24в³8¹€Myñè¥l_”Œ‡hÿ»EÙ,Y£1'o+‰6gas—d½)Á(à9E‘šÊÊ+ZQÓ–¦±}ñ:rò,h…K˜–½™’Q ‰s–q[ú:V&XÀy€´YdÅm"3ð”QàL&ok*ª³ŒYdH g´Æ†eÙ”<±’M9q¨º‚EsIËcSJ<É騛–Ma|*Q›³8•ÌºŽ¼§;(Ú¼…²°8’­€siK PSòxc¸ݱ%s—òjÌ&Æ”±&c;ú”<ÞH²¡—lfñ¢Jô庂¿$w)¯:¦·5 ›¢Sºf.ó—n nÓ t*ß-!>/‡yplŸÅôÜýLIHÂu°„š˜dZØDÛ°D¢×n§ØqŠÿØì'…Õ96­ˆŒii¬-N$=ÁÁæe¼{_:ëVú+ÆÍóç³t{ ë¦\ÅU+ÙNƲƒÔ´°{Ì,`ÝÊD¬r2 !n›…aÉ“9°d §ç&Ä<Ï‚Q7(aìÛYž[ưÕo0'NÁY˜ÅÜý¢üo¶QÞYýåm‘ƒÁëV2Ou°}Öt–g…±:/‡…ŠÍÓæ²¦pÊ ê¢@ÇUTDìêu,´Aéæù$g¬að¦…De‘¶ä½Áp+hEYÌJË v]‰‰©Ì90—åF‘—TNvn%£23i)3܉e±VºŸÍ…5Ä̈AE§äÕ¥d— cå¦9ĩūæ²$-†M9£á@ÙÅq¤oM!Aup c>û=*ï]¨£öD(¸(*ŒdÝÊ<¬89°h¹›K¼PáèQщðµðÝœÊ샔ëñmÔÃSPÛj]wܼ›»Œµe-í(žY½Ž…q7Ï;ôlFŒŒèmåñÝy¨›…ذ‚<íŸäÅGƒÏÛô|8_Ÿ½páÂUá­Q§ÀÜ5¯×ÛôZÐ5Ã?>þ|S¤Ãá`×®]üéOâÍ7ßD×õë~Ïdj#DÎ_„18„Kÿ½…ʇW«¾á6WïÚιŸG{ãu|µ—1(ÁWt}= uíÞæƒã«wm÷ï‹`¹V.Z¿ŠYYX@¡S£dÿ¶liùßö•´zsN½œÂ˜Ä@Ïš˰¤ûš–_VP 3\oI˜ÌJ1ûKK4Ç0ü Õ¢FÅ¡š£•` \œFÕ*Ñ­de–a<ß8‡Ì2˜¤x(Ù_X·h“âQý„Ä…²wËÐGy·ÜJRbœÿ=ÅÆ°¤´¢ØuPãæ‘:¬Œì´4–ŒbAêhZ¸¨Û‹Øw G›w*=ÅòçŸæé§ÿž™NVÙ,^B¼ Zq%ê(¦¶®gJ¼Î»ûìèŽbŽºl$³ù¯öÆ%2=ÎÜÒŠ°¯H#nʨÀœ…ØÄD¬•ïrÔáÿ9,>‘„Æ]M˜VŽKÍ©a¶Xhñ Eå5Ç&šÄ'üë‚Mœ*8޲¿ÌJÒ”+Ç|Ôäûâhi±ƒSÈ[ü×]¢»o6«3%ä !: ¿ÊÜqÏ0yÉQ¬I³™=y2“gÏfṙ,™ü OÏZEQ˃Vp–R5ŒQqõÔó<ÑxÝó†åBXüè@°²e&òáÄ(?ƒËå/7Ûª‹ÌñSfSüeú°D¢]RâÔ)Û_ ST¨ñÏ3L-c_‰XILI&rÿrÒÒr©µŒ9­4üØõf2Ï<}¥}~þv˜²œåIVÝ÷®“˜ÉSû[%~J"Ö²Š:eËPñO‡·2|ú¨@X¿6ðÞ¨=a&.ip`¨DG«h•.Ðkp襶rQÜ‚Yw¢ÑV=ÜŽvÑÕ—`™²bÏG_ûz$Ö®¾¥õ½¦`æÃåÖ "ƒ×‹Ï@›7Tñ†:ÔÖ×c4hð¶û¦›mä®Ö3lc¸kÜbcc7n\àÑW>rC{j4Áýï§êÿýî¿Sµä§t_•×âÐS€ºãÇp­^‰)ÊJ÷ÿzS÷(/¿„^VzSÛjPŒïBÛS@øó1nô"D³b‰˜) ˆV-(Éˈk-À¨8ØzXti õJa£ª*æÀ{N§‡šSK˜ôœÒôy½â´Æ×L˜Ò|Gu+͆wk®<Š•f†°H…š2Í_0›Ãh^ö†…)x:šfG#ŒHõêÂݸª©—4Ëôl£V·~¯½„¬ùK9XQ“×¶1W Ù=½„UÓQ6| £ºæªÁãÚÁüIû›†Èèz J‚ ]w ›Ãšm£‚Ū¢\×8©Á¥)¨Íw†IM'æš}wUÕ¥â)s } Õ*©ÁBtÓQ0·°]s QΚ¹Ï±¡éÅ<–\:- ßT°ŽN% æ®x׿ßï›MîÊ)ßÌÍz„ßr¥lÎÚA™ Œƒ[Ê®¯²Êß$kÍh6-Œ»nx¢^SJ³a‹Š‚U5SÖŽò@ 3_UÞ)йÙOåæê"P##¯¬ƒ(Ó5"”¸fñLQ±ªŽÖø‡’bÎŒø\´² µ­›¹üó—ÅÍçè9 ^aÖI’©Á¥y8•5粯´Aj°Q©é ÖlF£¶p­´íöD(×Ô¡MUb$VŽV:ýûýÚï‘Ó‰GA%p?ƒëᵋZh„¨ñÌ[½æ/fGycÈË#uø­Ï§ï˜Ç+4tÂMþ~xïh"zGóU¹zoàá膦…·ú{V«?7ï¹®¶ \ÞÜnwÓ2{ëëë±XnÿƦž½ˆÊù-³ˆçÓOñ|v%öžæ;¬é?/mÉð?D½{T ø^ÙƒÉ> U•øê[ï˜< L&¾Zÿ¸´9Ÿ.K~~ûIY|Ë蔬ɢpôb6,&·¤å¤gœÎ²¸Ö+UÕqhWnÓ¢9]ø½(X,aDŽÊdSÊõ•k‹Ý?­eÍÈ0Ìšƒf†—N˜5psO .íJÙ[S£c¶¨¨ª •¯zOw:A‰ \Õtr wú°gˆ.ÌbÃóyÌi©ÆSˆ±ÂÁ23Ñí¼ Js$0-#‹}O¬d´%°Q“ÉÛ4çú¡öbO›* ýºÕ #RÕ)o¾345¨ØT¥Í`oOØ›;8èMÒ5—oí (|„G¬€³¥¨VTs ³×å1ºÝÅcc#‹Œƒq,HO’'„èŽy·òÆs-ÄAÜue¯¦€î¸2rE¯¡ÜéiGy§SÜÞðu‘è®fƒ*µjP±ª*‹ùê÷t »f&2õÒ dÇðÌ•lÈ=Àéñ| Êb먒¶Ï&kÃ󬛋BQª™GR6‘™pm=¬Q¤ú÷aSͨ•£yn¡=Ñ* <ÉÚ‚J“æ]³ßœn/#,~Ñ ”µ±ÿÛlµÚò‡=%cZb* oó¦i·?tÓ` g£‚‚® >Ÿ¯íñ—€^çæÒ¹/À`Àh4 ƒ 2b2bÔÝ­_ ˆô÷µÛíö¦º .àóùˆŠºº÷ìÙ³WÖøì³Ïÿü¾Æå4¾ÖŒ:¡ØîÆçm¸ªÇ2:¯lû©ÿçïº2_ÊóÙ™+Ë S êÚ o]uï½Ûú!PÌ„?÷µ…¡á«‹Rˆk/O7/9q6F§æ±nݺÿ­^×ì7®]T4OÄ@IA‘?·é¥lßQÖôé˜ÄxôÂÍBn?@VÚ«k7·Æj|"1ÚAv4þ¢ã›‹!~TL`Ê)((õWÔZE:qâQ¬0*ÚÁö‚ÿ{ºýÛËPŸŽMç,²Ë†‘’²Ô9‘,_Ci‹yׯ”¼7Ù±ã 2ÛŸnP'3'¦„ÜìB´ÀvÄ9÷³¥(¤ôR 2ÒØ\ªƒ5¸0;û7XÑJ Ø\ÜB-¥Øý„JÉæý!?%Û·ãˆÅÖíÇÙ$?â wqņæ x{‹×j K™qãJßú£lv¶l/ QÑ(ÞœFF½]a/'SBž¢/YºÊÚº6Õ¬-^ÞÔ wUó=î¢*R¸Øé,ÜLQÍí–w-”›mÔE5ÅÛ)túdã…·, 1£ èJ=ê,ÞÁ»Z£âTÐKY³¼€¨Ù©,LIቲl²ÜhoÜ!e±bcÊ‚Qè;–³Ý®ƒbcøŠ7ìoîê,|•´Up¢`ÃU´2-¼¶¤ò–Ú­ï·Ø ¦ï`qÚfŠìþß×%ìËZÌŠòx’gÇ£Þ`·Ü.R㙓¹ò¶CtÐÐÍšóçý½z¾«SÀçÅ뮟Ïÿ¶¼—¾Âý…ÚONòå‘÷ jðRW­›ã_:ù²ÎÞàåñ—¡k+Ãï¹ç Ÿ}ö.— ‹Å¾}ûxâ‰'® œo½õO=õEEE¸\."""èÒ¥ ±fÍ^zé¥@k@Q”6‡€^ÅëE?SŠÙÖ¯¦¡Û?Ã`6c ÜÔ`0‚χû£ òŒÂð}jß+¤îýB̽£Ñöï¾n±wÍ[È—iÿ› ¿úÌ}c0õ¶·c§f]û>(TÇ<ƒ¶÷M¾Z“‹eñR©„¿Îüú’é<“ÝÎ_0GóLfK)Beð‚†/Ëfú¸l"­qŒJ|„°ÍwRÈœ‘EÖüçÈÖiºËdœÿFbígMzzÙÓxNÃ7Ë)™¤$¨`Ý|‰êFæO+ÁáÔ± ^ÀòÁÀBÒòiLzÎùΚ0åóâPœûÈÊ.gXf:q ˜ÂŒ}³X¶f8ëæµt¥M¹…[3[µ ‰íÉÙäÇ“?šÔôr²²gù·…èaɤÚPâINÅÒ¬YŒ[kÁ—HÒàHÖèׯGܼåÌËZÁâIüw‹FÊrÿ]À\7XŸÑéy¨rÙ˜1‹ìfÏÑ›²"¤v=ëÏÆ”e)822˜æßÔ˜D¤ÚäÄB|óÌþáz57 ­ôØØ¦:»„´EÏP F“Ȱè"JnXÞé7±’¶Öë¢Àr¢ÇQœ1‹µåœÄ195pámp éåYdÏ}Žlÿ ˜žÊh‹NÉ«ËØ™LÞh}7'e0³Ò²ØŸy#.þy©ñ³YðÈ42²ö3,'‘¸yËY½¼©îÃÏ””þÌÄÅ$-cѤçP-Ñ<1%‘˜ûo®=q£Cª&5oÛs×=wm³çè%±Ÿ—¯tŸ\¬!*ªá_] T1£}ôœ0ËìWü½…-(--eÓ¦Mþci±àt:‰ŽŽfÆŒ˜Íf.^¼ÈªU«§ººšˆˆ.]º„Á` 99™îÝ»pùòeÖ®]Ë… &""‚ªª*ž}öYzè!***xíµ×øþ÷¿Ï /zÎjkY¹r%õõõ,[¶ mOΕ™˜mߣáË*¼—kˆ˜<•»æ$ƒÁ@í‘¿Rµt1ƺüû/0Y{P1gº¿ìúÞÝx>ûsïh<Ÿ—c{«ðÊ…©ÿúÚ›;ŠèŒÏÛ€5wú©¾ÌH£óK³é<}^MãóçFÐãÿü^æê qç\§¦8ciJ&[ofˆ‡B|§8)\•FöþS¸Z™ÑbŽŒaxò2R†Ë퟾3ÌUÀó›ò¾¡·#ÝRž×ëåüùó\ºt‰ËZ Õ—¾ò¿îóñ—/*1ýcBCMî1©¿t±iÚ]Ó5½Þ@/ —àÞÎat·v£³ç"(f|€¢×]×KØ\ll,?ùÉOØ»w/ <øàƒW=?¯‘Õjå…^àСCX,éÚµkÓû:uâ'?ù ÇŽãÔ©S€ÿù|qqþÉJªª2tèPz÷î}eÇ™L >¼iŽ`§'‡Óp¾ýäß1õêMø “øpÓçC=N×eË©ùÓøü=ræïõ¥Çš\\“õõX¤àu×áþÛ±«/HüëÏôZÁ {0ßs/ÆÎ‘˜îŽ!âÅ„<øˆ?@ª*]Ó3ñ”ÆSQ!AOˆÞZ‰‚Wf±9n%yóâP!¨ ¢%ä !D«, ^˜Ãà…²'¾Ëôâ,¦¥9™—Éh«NéÁì–ˆ‘ÇH_ç–{ôª««ùìÓÏøê¢ ûo_¥öÔ žêÖ‰£ÿV›>¯½ï½èÕÕê!Г‡G'(LÅhV ÅŒ¡VÃçrâÓë dÔxÔ¹‹[½keK|>_Ó V{ôbbb˜>}ú×¶›ÿM!„hWEUZ@Æò59t@%&qéó##…Bˆ¶8)z5ƒ¬ÿ|JÅšÀŒ¥©$ɤðëÜò½ððpzôìÁ¥K_a4^é¯3húÙg4RQî~ ^ð6@ƒ>¨¾rÃWzú® L·žþKBžâf)±‰¤¯K”!„BÜ óV²užì‰¹­»nvíÚ•˜{îAïÑÛGËf§©—Ë]µµþÞ¼úzðy¯|Ö`ÀJÿ|͇j>#„B!„â zÖîÝyhÆLÎ?ð0F¯·)œ5ör5qÍÿ59ƒÁ€×ëóÝ|>>Ÿå‘Ç[½K{4†FÇ#GZ!„BñqËsô®uôÃ9¸ú¿˜ì(ñÕ¤Y¯^'Ch(AwAp0`Àdò‡8³™ žÑ˜ââ Šê¹3ܳ IDAT_œ!„B!„øgz¦òO w×`¿ £îtÂ0˜ Ũ(`0ÊL!„B!„¸‚žB!„Bˆ<£ì!„B!„ '„B!„B‚žB!„B zB!„B!$è !„B!„À™3gdO!„B!Ä·)èEEE]÷†Ažs'D»ù|¾«ÎŸÏ‡×ëÅëõÒÐЀÇãáâÅ‹<öØc²³„B!Ä7ô‚ƒƒ%è ÑÁA¯¡¡††9—„B!Ä?OÐBÜzèóù|ÑÐÐp]B!„â zAAA×½!½BÜ\¸»ög¯×KãùÕø„B!„ø‡=!Ä­óz½ø|>ŒFcÓ?!„B!¾Ñ 'P!:NcÀkìÕ3ÒC.„B!¾Q’ð„è`ÍC]ãYdŽžB!„ '„B!„B‚žB!„B zB!„B!AO!„B!„=!¾so¾ríMXä†,B!„B‚žB!„B zB!„B!$è !„B!„=!„B!„ô„B!„BHÐB!„Bq«LùË_dOqhhhÀãñàõzeg!„B|‡FEÁhl¹ïÎàv»å_BtŸÏ‡×륡¡††t]ÇívS^^Îã?~[!ÏívËB!„MBBBZ {2tSˆ;„Çã‘ „B!®¢ëz‹¯KÐâ!Ã5…B!D{Ûˆô„B!„â[F‚žB!„BHÐB!„B!AO!„B!„=!„B!„ô„B!„BHÐB!„B zB!„B!$è !„B!„ø&™dñ]âæôŠÉÌÞ¥3"{Ë î€Ež`Åäœi;Xnyi³ñòŽ<††ßê+8´ÓNÿñÒ¥ù²;b]Û̓}ÛòzøL~:¦{»~£úô^ËÉçãv4ÕÆ 1/³èå¡ô¾ñq9ûö;8åÁì· oÏeòú‘lÜ4‘_Ö×~²Žÿ|+žùóæF‡°òƒO˜óž§Å÷î}úVô3ßÒ:¸N•1ûƒrب;îÓyï£:î½?‚ȯû»W_ͬµó~C ï…ÞEöô^ôíÈZ¾¾–·Þ)'»Ôdz“úñã®Æ?ªß_Êä”è?\ËÖ¹ý:¤Ü{ñ3dÚrÙò²NÎm—)ÍÏ×fËžßo²”¢ú¯®.æÉŸÎb@h[‡áÖýb=§ë[~»Ç„¥Ì8üt¾x8ì´þÒ7Tjh!$è !n£apœüÃ*cÆÀáü#T?8”­ÞûL w˳„ßÎB+³>ÿ4‹Æð|û¿á]Y3=ªCYdì÷X{·áƒÒ?Ø¥¯ø]Q ï‹ Òôõ÷ÀÀC‰÷’n úz·«¾†ßlýœÏ{©ôò_Êø¶àGòOb}vÚÞmœ˜¹”yúwD™rÕùÌ£i;ب„ó —RÔÚáêö(¶$ó=Ìúefà˜ØÙ¶<—ª ?gÞ€‚då©¢ð­BB£%è ñOô<œZ³”µ_órH7 É#b¸¥óÖó;3Wq¸ö^fÿb÷™oc/âÐa}Ÿ~œ^f9àâ»í‘|ŽX'²v¦‚cv>‡/ el \Ø3‹Éù™[Ê»§C'vfiû~6ŸI³1b‚…ãGì8N”¯±d,}šÿ³¯“ܬGïÂûy¤¯ÜÅI§–AÌ\’ÆÔáúÛ23YĨ±cX”±˜¡Ê!–&çPê„”éff½ÌÙW®¾»Ïîaeæk¶ƒ¨§²dÉD(§ý=S'¢z›R‡§2ˆEYËÙªÿ–Gzæ.Nj Ö!/“¶h,}Zk™¹>á“zºµ§Ð¨`ïÊ×qŽÈ"wþ£M©Ç€ñ,˶°ç¤%Ѐ}?/•»NâÔK&,É`îƒ;SðºCƒäIœX”ËòAŽ–÷Ïui±š¿å§³2ÿ$NPbñÊí¸9½-Ô׎ ©lC¦2ðxÇgî od+1ÎSA±=”þ#;(b¹*™»µ†± fÞ;]ÇùêzˆêJúØ.è…§YüewÖ¾tþòÆi~ù=VDUèÑSN•1ûƒPÆvªfOu8+^ìI¤ý¿*üŠOÝAÜ}Ÿ•Ÿ ‰ ²þ2¿Ùx×CwAée>¿¬s1(Œ9‰½y*ÂDZ?}«,(rqÊ¥s±SgRŸëÉ÷ƒýí7ÿãàË é}wwRžŒ$ÊÔXNW»|‰¿W×sþ²‘¡#¾ÇOz]æ?þû<_Ô²gxñ¹h¾ÿé9~õÁe.:&JèÅÏâ;¾·ûÝ»1íT3>èÄKQuªôPyÙGÔ€Þ,{ÜÄÛ(eÏ€Xòâ'B}5¿úÝçè£îá߯ Ž&3#GÅr_x KNµ3èÝʶT¼C¾=–™i3±_@þñj–?ø¾¶Y`ùäœcÆÀñã8œ4u‹²®9oÜ'șެG¯âmV¤ç°·Ô ŠA/§‘6¾Áí>_³¿gú•½êÓì\é?w°áå´EŒíLõÛsy> /÷/åí“ Û³dÌ@¸û,{2Óy-pΣöçÙ%iÌmõÊO-åTß÷¶/ÖyÎãÍ{9éªL„÷}’ †`3ÙÙö«õT~óÉ3œ«rAß1L| Šƒ…ŸPUUùžçøñ‹ñ„W1oü±€+4êMÝè?r S†ôÄL5Ÿü‘ÇÊÑê5šÁ§3¦oï¯ÿ-G.ÖAîÿϹçæ1+>\*j!:P‡ÍÑë?œáÇ3|H<6ª8±'ß]ºµ…™»óø¤—˜:õizÞf]ç<º‹]Þã\­lñ]WÁá|;ý§Ž G!Lè`Û;WÞVtû;hã3X·n[²ÇãÈIg×ÙÀÛúI‡Ï${Ý&¶nÌ`àñ•d¾s¡T¹‡ôÔw°-ÙÂ[oý…3uÖ§®äoÕnN¯O'Ç>–Ü7ßâ­·62“½dæü wøPÒÒ† ZƵq5­W¥HÖ§®ääÀ ¶ì~ƒ7vd3Ñù©9'p N޲ðòêulÚº‘E–ÃääŸÆÍYv­|mæFvïÞÍîÙŒ×qØîn½}úé‡ÔÚ¦G{ÊŸêRÞ.U4~àõ ®C;rá€ûo9¤¿3×¾Å[o½Iîx'H_ÏiwÆg,¡¿bååÜ­,©¶¾®ýÓ‡2I͇™kw³ûÝlYdåpz:;+ü¡;=§”Ùo²û,éwˆ]v½í_Õ‡|ÂÝ<ÐQ]iAFh¨åmº’>¹k§÷âîÊ*~{ÎGïáD~éâï—Ÿ½¬±§ÒÄÈ!W… sx.jèõeûôžô½|Œÿ©&êÉX6ωcó¤n(§>gÕÿR/|Ì_ˆ!oz,ó‚5~_T‡ŽÅäã¼½žŒêËêé}y‘Kd½SǘÄò¦1úE~û©pózÁ|pWrçıùGÑ,Ê ”ÖwHÏ|ŸêÖÿù)™œšÅ›oý…7³ÇâÈIåµÓî›8_-ÍS$'rRÈqŒ%{ÇnÞØ½ƒ¬A'Y™²ž³þD/}‡Š±iä­ÛÄ–ìØ_ÏáÈpÏ!çx2vìf÷îÝl\dþç­–°ž ŽÙCyàžÛ Fžó¼½þ ÎôÎÏÒÒH[úcUïc}Á<˜0QGù™hž›7Ÿûi"á'ßà'ïáÅy?åß~:Óɽ;pž·×¿Nyßéüü—™üâÇáÚ·ž‚sÀÇUuÔ›"0n*“‡ö!¨=û[¶àDUŽí‘g™œ4€êüŸ“wÂ?(}ë/Sxï¥_ðÊý26@4VpµxÌ¡˜¯{Ùƒ9ô[Øý{v'Û´A,ä¯L΂–ºÓÏΧ_cÏ–eãûûß¶ bå5•^`j,€ñ#sPÂû3r ÂÞ·KqP[Î?ÇwrÒ2‚E+Ò=Æf±c„‡Ãü¼YŒôT µ’ó¶ P[Í©G8l·2q¼?8܇cÉÉy»>Pè?qH`ÞšŠÍ¦¢9œ@, Ø÷lãmÛx èÃøeËÛJnœ9æ¢Û“Ñ´ë[ ;ÑPéoi{àVðƒËرÃM°å± ˆe½çõŸ¤_û§y£²tÏ”ÅÀd½ð¡&³çd5Cô·±[G060î­Ï˜™ zíŽ6ÖQûäêmÏqSIÕ_2çÕ/¯ *Ëf÷áá@ó{dl¨?¼s_'øËe/JÏH†vú”=_xøA?3.»‹Ã;ó“®FøòÚŒÆÈÀU?íÜEÎ(áÌk¼ Á„^¤}\‡n  ôÐ90”4ˆÞ]ƒ¨q5NN2Öë.î ö×[½;¸+¼s`›Â}ð÷à]ºÄ[Í<›˜ggêÄȇ‚ùCÑ%>¼[`9‘<ÔÉ¿ÔÈ® f·ŽVWÍD 2Ñ=¨ž¿|x‘{çû‘‘,ü_‘÷ÝÀǧø_×¼Úë±Xòò{s¨ÊÈ(HS"C‰Bãs·—§î¶Ðû='ï]êÆøˆþ~¢óÝ6îí–Á-l‹ûù{Æd 2•þ¯½Æ;c™Ø4!µír(vüˆ@Ð…ccaå!ìî­–){6&Ž ,¯ßTrw< áÁÓÞóµùúÛÙsD£ÿ¢1ÑÁô?ëvr¤b.cÅ2„±±2Ö:+‡qh€jEÑŽ³sïû¨CÒçÑù,´ê«¢»éžToó0i'9y1’ÁƒmþXæî<<¸oSåy0ÑãÑ{üenH7º…˜yønÿgCºÑÍTOU\'9Yå_Ž ç0’—> ¡fÌL`éR0ûÿÝúG£ºÚ;Xñz× ÅÔã`¨.fÿùG›t/÷†:ùëš<öØCè;|*Ãmµݵ÷òó¨\Âäž×,ÏùWÖäíÁ2€Iÿ2œÐ£ùü~×þ»çR¦uû˜ßåíá };u(áe»Ùú^>kB²pÜK 9·–îH†¼4•Çc$䉦j’/vçð{×(æþh –Àkçÿú{òÞëÉÜG÷oUÖss"/v‡“ä§÷6{]eÛÉ—Y¸)¢ö@mÌ+Á*=T8¢zK³F…ª*èÖúˆ4§†®ôhÖ;Ü4wÏ}ö^ËÙÆq‡ÈJvtë ¶@;‹ÆÕë X, ( (Íú‚šþ³ c3raýz¶¥O'Ý¡ÒÿÙ—YòJ+C7kí«êÆÃ¶v–ŠUqbwºi},(P}‚½9¯±ó¤Ó¿ÏtNZn€¶oÿè8:Jÿf;$X¥‡ªsDÓÐuÝ<›½×OUÚz.>ù°–czpS_ýÍÑ 2Ö¬¦1þª!˜§˜Øõ¡†«ŸÊ±uôЋހëšE˜ƒM¨eÔ\nÀln¶La‚ð|éEÇfÂÚ8 æ C³u%øÚ-^t]§ßÿñ$l¨7{¾0òƒçBQêkXµñ3Þ®õ7FŽïÇÂ^79è¶¥úH>ï8íèÓÀš½^ºó,çöiG9¤b±\9Š¢‚®µZF¹µ³hºB³_!¸±º‰óµY©‡SSPÕf T-¨hThn\¥ Jðu…Á^!7ãuÖoË!y¥Ý6„™‹1õÁ.-Ö_U'?¾/r»#|=µ.j !2¤Ù×%4S½F] ™h27;M&BM­/Gm~®‡Ž}mï¿QÀ{5€z ­>Zš!BÜIA¯®Ú…Ói‚Úóß}œ: Û¡4Ž™ìÆ¨©“jœïoºbò8#»é'Ö~ÌG‡ì$M¹jÙ—ÊÞÃDGBŸî9Û{ùœ8tç€Cœ©‡ð!Ï2t`/ÌlXî=Cmh(æîáô \¡ô´õ¡»ä<Ѭ¹Ùküžþ]y¿ƒ¹SPô÷ä!é[òhº ËËß`j³IuÛf1;pS]«@sÁ€[£BU ´ªt §ã5§ŽbQ[k¤ZTíì•åQMÅY µN~J&ÇGä’»Âß;w6Óßn{‚Õ>¨¿jt§”þÜð¢vx?ÆÎ_ÎØùà®8D΂tRw dÓÄëï[é)ÿ€ªÈèÛÞQDáý«³2ÿ0¼æ¦+{X¾^gâ¢1è+SÈqÌdíÚ‰ô ÷‰å<¿ ¥þ³¬o×þQ°Xt§Ö¼åÊYMÁbQQ4]ÓÐÀ¿Nn³ZC7«ísucpô7UPéI÷\üýK{]ÁŒ½ûÆ·³ ÂìöPSßXƒù¨¹Ô@X'cëóÞn’¢(„)¼4½Ou⺠ø÷›YVd$?Éðâ²W’¶§œß÷êçï¹¼ÝïÞío)?š¢Kœ ¿ÌGÁü¨«eÎä{x©±´ìt󳽚é)ùþ›²Ü°Òp:õÆ]s¢+±¨ÐbO\c™âh¶¼êгhªg»Ï׫J=,ªŽ]»²hþÿ>ê¾ÛÁôxt*K \àĶt¤®¤ÿŽå\sPONÖc{î&/Ê´T†Fʧ¸ê ñ¦ õµuÔ›ºr›Ë©u§.$×ëÙçIòO‡ÐÓ û6–ÿÖ%Í!¾‘š¶CÔóq~™™™d®ZËž3õ„ô}–©C›]7Yè(H=ÕUþ1óáÝšæ´˜B# ê\µ\{àº*XtíÉ"%%…”_æcêÏ»¸På}Þ3Ü_à™#ˆ¹ ÷ÇX{¯ˆ¶YHøÑ\žf7¿þ¯ÿ"ç@Iÿ2û#¾}[záp>G,cÒçê×{ ‹õx>‡'‚8³ó¤ÿœr—îá°ÓÆÐØÆ³ÔÎΧýóγó¸NìP[«wš 8žXíòø^ñv&³“s8yÁÕÛÒÏꟻVqˆü=ŽfWÞÐ5®Ë$=1Öæ`ÛNÿœ<ÜgÙ»­uÈHlmµð«ÿÆòYóÉ?í¿¢Ü#–~–V›§T³úÀ=7qÇÇ.Œxå‡X¤³`ùNT¸7ÛÆÒäLŽèV¬ÁÞ7« K°ÝßÉ?ŽÖl;]÷_õwßhÿ\iÆŽGò9˜jyáø6kýÛ?5v VÇŸö¯ÏÙ½ë9ÒÆX©ZûûTu{ø›½ó]DgƇ»y½èŸGZx¬çžI_½š]çu¸ô¯Ÿ3pÿ€Nôˆˆà©p¯P^æáï=˯>r·ã— Ð०tÇ9o9˜‡h$²k‘A@}G}÷n_¤­ w_¾ÈŠ.s× ½Mµ“™ÈÀ¿›x Ûrv/ù¥6ƺº+Ø6–!ÊaòW·«*ÝögÝÞYŠÚ(ÖÖ ©Æ2eÛ ª÷Ùm¤L_@¾CkÿùzõÊ2vˆÊÉü½u¨æÄ¶m8lcxƒg¡œÝ6ŸYËÞÌÉë‚-ÖÚú~¯þ„«{ðpGLäTûÓ¿›‹ÂB»¿·ÍsŽ÷ÿ\Úÿ›ë-ŒìOÿnUž¡ðœ?Ìúÿü-«j©­®ÇÙH3à9Ïþ„ºúzjëñ_­©¯§¶Î#M!¾Ö£×sø$†÷4ƒ)„ðî=±uð-Ï•?ÕXf˜Ã»ùC]uÕ܇¨¯>O5~ÝJ…t \D™ËœÇ¯\4™Â1•½¸¨­ªÃCf“ŽžÀÚ—GÊÄ^Ѿ°gÞý¦!㾕!*x'ÿ$Ö±‹ès]Cgcm¯‘ÿNƒ, X¡îLaZ¦‡Seà+L蜔X†°žäi'q8t,C‘1¢ ´6°ËX2ÒN“¾r2O¥ê`È„Œ í¢`}y)™“—cÁ;ž—ýÒ”,³±vÑH©©¤LÈZBEz*ÏÓë WÈzeÁœn}óÃû3s¢•ô”gX¯+((X¾LÚ˜Z^ž*ŽÙMÜóäÍ5µƒÌ%wm^ËYOÊäL4@±ôgÈÔlÖN|p`Ð+3‰MIåùç,X-ý™øÊ"ž-M!3yÖµS;H'3ùN¾œKZûgÅÐf›6t öLVÎÇJ5–g3ÒüwRí2“%?,%=ùòU+±#&2Âzœ“­4ÌË?¨"ò[¸ƒ_KsôóÝ66¾Ñ/+<6@áÕ¿ÔqÿÓjûBA„…Ô§ëøÕŸK™âö×-÷'ØXh j%@ÝŠ`&$ö ò>gÎ/4@XTgæÅÞ¶·(²3)Ÿ³lí'ŒI²1ÁzŽUOú‡£™øþ€ž¼d5vØw¯µ9z 0gZ?FÞpSUÆG}AF¹™yc[ïuÒ¿°3cg55Ÿ?ÚZÂ.àþ1÷‘Ù7è6·ÅÍéÛpľ̠kG*ÂSrþ.,ºQ9¤ÒàYr’'Qêp¢[ǰ$íQÂi- ÷aBÖ"Φ¦òüœèŠ!/gñr¿.(7q¾¾Üì{3à•,^ÉÌdÁóëýw̵`IÖú@7…ñÏ¡ùþJ¦?• Šj,c–¤ÑÒ£þªÏÃÕc0ÒùnîÎÈ™¨þãF–§û»É#ïIdf¢ 3çnbAÝ9mÕ›7²|Iõ¦»è7z:cl˜Æ ¦ÇÆ,OA´18ñ9:·‰×swùÊ0íWÏ빿 |ô+$ë.é…è@·Ûí»µ_o|¼‚‰ø¹¿`ZL §§ç þ;sïÕ`î/~„ÿ#Nåd²Ën¢ïðÉ ·Ust×.Š]‘ Y˜Âøîç¯~¼Bõ_ÉÉÜŽ=<ž¤IC‰tbÏsDŸÃ”‘ûË­œ1õeìÔáXÊöøáý K^èΉœŸ“oáÞg'óô€{éc‘"D|½|>^¯—††Ðu·ÛMyy9?þø-/÷òåË_ëz·ù î³ùð tñušÕ“’)]´ƒÕÊAw ¶Ê!÷ ÿ#VnëAèBqçêÔ麹÷x…›ca蜹Œɹù¬ýý.NЗ!/Íe\K»³<ÎKs‡s¯éÛ×þšµÛÏ`ŠθG,‘ÀæçÞp;{~¿–üÃÕØ™ÄÜgû`&”¾Cã §Žwmaw™Yrº !„Bˆöµ¥å(ÄÂl–g!„Bˆ«)Š"AOˆ;YPPÁÁÁÒ³'„B!0„„„´Ú64É.âÎ {AAA²#„B!DÛAðÿ²wÿQQ]‡þ÷ßI†P+ƒXÆFˆI@+\M0‰ƒ°M0ñŠíoR°÷‚ßäªý>šÕí*dµÑä[éj5éŠ<ßk|’ø>nr…´@µN~Ñ8&aZS° ‰´|t00àÏˆŠšø#ý¼Öêj˜3眽÷9²Î‡½ÏÞj=QÐ=¹"€÷Þ{O-!"""""r#½|P-!rœ9s†Ó§OÓÓÓCOO>Ÿ¯×Ë¡C‡Ô8""""ò•ÐÐM=QÐ=QÐ==QÐ=QÐ==QБaôÚ·óë•+Y¹r%k6·]îËlÿõJV®|‘Ý_öDÝì/ÊcåÊç(?Ü­+("""""r½‚^ÛîíÅÀh¯spý2XÖ‡³ÉÎ~ŒYáAº‚""""""ç1\“£t·Q·ë8ŒžMú¬F^­ü˜]®¹dD÷±nÚepó´ IDAT¯STù1GýÆLžÅþ)ñ]Öüf ž¸tæ¶±yÏqü£'“ž=ÿ–*ÃèÉ<¶4‡û»q½ULñž¦ÿ8Œ í½û>Æ|ó6×¹è2ŒfJúR¿/EA¹ø}ÛIwPÈ÷Hwg7A!ºsDDDDdøº&=zÝmêŽÃ˜YÓ¹sÊLÆãa÷.ýzí»(ªø˜£†8ÍÎ&5r?uÇÆÍ €¿qûïœKú´Ñp|…%4N˜ËcÓÇ~®ÜÏ…ýûna·y6?61þã|\QÁþN]`¹è]ËáÍëùMÑnÚ|Öæx…‚ oѦQÁ""""2Œ]ƒ½n\;êð0†iã¡Óoeª*¶s0=š;ƒàäþ:Ž£§=ʬøqÅ™i©û-;<çjôtæÎšJd»‡mu•5Oeþ¬©Dvv²cW®¶6:?x1FO#cîT"™€Ç.J\m¸<01DYĸï=ÉÃEØPKNÆ_W̆mÁ¤/›KäìÐó:s™½¤ß58VlÞŸ(͈Ðm """¢ w±œwí ]@Û ØÖ¿aÛ÷wrçĺ<®µHs`˜\™H3p~Ð3‡c0¾2†à ÀÒ[P?þ‹•Ãl ìKÁÁºt}å’¹/g)m ðE;Ý~+/û!ñaj¹¼cU9<²ºâײ­(¥÷÷ˆˆˆÈ ô:÷ogOŒž–ÎüÉæ¾ÙüÆwì§sb<Áæà8ž6Ý„ÔíÁåQãËÐ {A›wa˜9wH‡²ïs+Ç·í ²q;'ã™=…1¸8º«’íwÎÆ¼ÿ-v÷=­ê](aoêܹC¿˜Ö9,ÏŸsÑÍ®¢zìM-ãsÈËODqîzi¥¾¾CÍ """CÖÕMÆÒ¹Ÿí~0Ç1eô¹ÎqÓFØÞx"g±p~£ýØR\Â6ÏTf[•óDd˜ò4âhU3ˆˆˆÈÐu €×ë=£¦¹6Μ9ÃéÓ§ééé¡§§ŸÏ‡×ëåСCØl¶ëv^WQó {{ô’_fÛºË÷èyÕc/.£z§“úwÿD/ÆÐ(bl¤fd‘–3øûgž­äÌ~†€ØgùSiÞf¶n\Oqµƒ&wàhFK,¶Ôl–/›CL_ú¾gwÐÔÚ÷½h“sX¶<8óårÖVŠŠ+¨q6Òêî”;4ŠøDiY9ÌK´^²îÞæ”——cßÙ@Ó€zc´HʼlrÒâ.¨·×™Ïœ%v.Ú—:×¶®"A]©"""ò53¨ DnF^šËóYRP‹{­¾ŽV48*(ŒÏfýúå$^¾LgÔׇïØNV-zŠêózº|î&jËž¡ÖÙJÉk9Äy¶’¿ðìîó¿×‚£b5G¯mʽHX:FÍš§XQÑtᦎVj+h¨­`cò³¼¼&íl°<©/ZÁòBçàaÍç¦Åi§Øi§¬,“õ/çRo=‚\U+È*pô÷dE%g’“–BlT(t¸i®·S^TMCøŠY’%¥Ë‰;'8 ˜êÅ׈}õ:ª[C‰Ÿ—C†-³Éƒkg9+¡ª©‚êXRÊŸÁî6›šIFr“×ÎjŠ+œÐÙZƪ² Êsb.iÎ5‹XQÑ—$£°ef’oÅŒWƒ²2­€»v59«ÍlZ“ÂÀE$ŽÕ¬bI¡³·ÞF¢“3ÈHI$ÆjÆäõàj²S¶ÑN“|Me,_KåËiýÇ0Å?Miå2<õëXôLïR±y”¬µõöþ™±¨7ODDDôDä+wl+ý!ψ-¯”µ1ç uLHL"m^ «® Ú ´³º<ƒÒ,ë99¯?êµVPØEúË¥äìKI%ɚłÞ!¥ OÑ€…y/•°*i@KI#%!‡ù«h©Ú‰+'†gÃÛ¸‘ü¾šÌ³¥ëHø…9idd–óÔ‚œ>è°°1ÓF~×  ûú³ëÆ>]ÊkYçÖ;1)…´TK¬ÆéŸs#ÅiäÆõ%½¬VðºÍ!p,£«ÕªåDDDdH¹UM rsqÙ7âèK;ñyäòúE¤›—ÜæšÊÊhô^ü¸¡óÖ{Á8G1©YDøÄ˜ü,¹I.ÖnMÉ$±?8:i>ç\…åýÃLsóÎ y}g³f·¸ïlnìe ôÆëÁg#1>–èèT§]¤ÞÖT§„ögƒK7ˆˆˆ ;êѹ©ÃYÝÒÿSb¦ ë%¾mNÌÀf¬¥Ö´îÄáÎ%nÐ,¤fÆœ,1Ä¡%Ðý…-+qðÞ/c ÑpºŸúè­§ÊÙŸNI·E\´Ì1óòù¥Åf QÑgËdŠ#gÍzr.ÛF&¢â-`¼ÅçnöàP=Z¼-8šû~ˆÂqéï›cHŠ‚Ú€VœÍ^r¬ƒEž’¬‹BFÌýãcHŠºÈ÷L&¬ýcA}ø¼ÐŸ[ô­%˜K“ŒHdNZâ—k¯ŸïìϾs6ê¶=Ê<.\ý)ÆBŒår;Xˆ²-øãnõ0hß–14æ.õL˜‘ňå ^fóº›ÏÎj‰¹º O¼.œÕe”Ûwâ¬oÁíÓm!""" z"2œùùùù䯫!PÃ\ý/'Zˆ½Ô´ÞfªkôDDDDAOD†li±ý?5×r©åÀÕ”]\=z6ë×PHK4öÔ²²Æ‹®zpÌYL±ÝŽÝn§ÆÕ÷¢qÀ¬ ><ž‹w ºª_ l@Îóú4SDDDôDd¨G½Ôe¤ö ßlZÇêòæÁC“«Š‚uÎތؖ§býÚJmƶx^ÿðÍÖ²| žAʼ•‚‚¾2‡’Ú¿8»…ؘ¾¤ç¦ÖÞ4h]5«XRàÄÕÿYGë`ï˜ÈÆ]úÿDDDd¨Ñd,"7sO¯Jeç ;øp, kg69iIÄD…BG+M;«(-«¥¥7á„&?˳)_k±M ËY3¯–%Õn …²%i8S3˜g‹ÅB­õ5”W8èišœÇ²Ä¾8f"1+•ÐÚj:wÙ–Çây XM^ÜÍ Ô”Qæh…èl^Ë…üEÅc97²±&ŠŒ¡Q1D˜À•€…Š@Àk-&7ßL–ÍQ©$Eè6‘!ôÞ{ï=µ„ÈM$"åYJ Kž±Ó ´Ô³º¶xÐïF¥>Ëúgçðõg3‰«^c-ËYQÝtÐd/æû…ß´$çñòšsËlJÌeÍ<'OU·>ÊVóTÙy;F§³öåå$˜I‰*¦¬ ‰² )#š§+Ëɲ6²mFžé×Úb/¤À`!3qI&Ýd"""òõ½|P-!rœ9s†Ó§OÓÓÓCOO>Ÿ¯×Ë¡C‡†P)MX笡*1“ª²2ªkœÔ·œ¢h´D“˜Â¼ÌLÒ†R÷”•”Uåü)£Šâ¢rv:›héðõšØÄdæeæ‘ddÕ3I«J)±mdcq ަÖÞú†›HJFÙ‰½á0Žeëópç¯ÇÞÔ±Ä&Ò?ú“æ¬ywAíMtô'ÞF¼Y!ODDD¾~·x½Þ3j ‘ëôl6›HDDDD®;MÆ""""""¢ '"""""" z""""""¢ '"""""" z""""""¢ '"""""¢ '"""""" z""""""¢ '"""""" z""""""¢ '"""""¢ '""""""7|Ðëfß++Y¹2ßíïtûá?<ÇÊ•y¼²¯ûêK{rÛ7;8Ü{¨Î†õ¬\¹’_oot»ˆˆˆˆˆˆ‚Þ×^WIå¶]¸:?‡ŒŸOöÂl2&›Ý."""""r32\ëv¶¼KIÉ[4÷l†mÌy_8ÙÀJ*©;pœ.‚±N™ÏÂÇï#2¨›}¯ü‚WG3{a<®Êm4z xülrž|^ÿöøxãù•ìÊ~Ž'©¤¸ä cæ¯$cÿ‹çlwÌÆÿ·¹ŽÎ¸l~ñd}šžžzzzðù|x½^:„ÍfS‰ˆˆˆÈug¸q«ÖÉá}øØÎŒžý0w*䉈ˆˆˆˆ‚Þ0Öíá㊶‡ÑqóyòáqhÆ|¹ÜøC7E¾b×sèæ©S§8qâ>ŸÓ§O«±¿bÁÁÁ„‡‡¬Æ‘!Í &N:ÅÑ£G±X,Œ9’[o½Uòóx<üãÿà›ßü¦Âžˆˆˆ izR&Nœ8Add$f³Y!ïkb6›±X,´··«1DDDDAOD®^WW#FŒPC|ÍFމÏçSCˆˆˆˆ‚žˆÈ óKóÖ[õ~¤ˆˆˆ(艈ˆˆˆˆˆ‚žˆˆˆˆˆˆ(艈ˆˆˆˆˆ‚žˆˆˆˆˆˆ‚žˆˆˆˆˆˆ(艈ˆˆˆˆˆ‚žˆˆˆˆˆˆ\À{ï½§–¹‘‚ÞÄI“Õ""""""7 ݹÁÔ"7™“ŸðvEï×·Ðî fÆMºŸ´Çæ3)ìÆ®úçÍPo¸—¾4´ æ?Á/Ö‚ïûSùÕúµ,""" z"ò¥BÞ_)úõ«ìû]²º”»ÆŽ ûÈ^vV³á×í,ÍÏaÒˆµòÝ´¼]Em¤¡ôDDDDôDäJƒÎßß~“¿ÌO–Î'¦7ëÄCOþ„ð`îσ¯óÊ›¡­ „qI‘=aÝÍ”¬ÞÀÉ”û úë§nk‡»ÒȺ÷o×쥭̓aâc,Ϲ—°#•¬þõ§Ü“ƧûŽài÷`¸+'³g06º|ÀÅUÔº1ßõ ³RˆÑÍÞÿü9o„=BÂÉ?ói{;íž0îÉZÊãÿ|NsM)%ú€9š‡Ëæ¡»GÀ‘·ùå¯ÿʆ³÷χio÷@ô#<ñä Øò"¯Ô{ðï]Ãê½OŸs7Ã%îùÜm¼X}˜÷Ož üö(~úHßN¹yqS [Û!tÔH2¦@ÙAüjñ¾}ÊÍ‹ÕÙÖ~ü`Œü?ž7™£ô¯ADDDAODn'ùto;æ{ïgÜù 'h,÷Îøo÷û¼R\ÏØ'óyzRœü3ÿ¹æJbžçG“ è¤å“òŸN'ìä¼ðóRŠ KÉ:'ßç׫«øðȽ<Äð·PÏJ~úÓoôù'”¬Ù@ñ‡ üôþN¶lxƒO–ó‹ôFt¡fý¯Ùðæ8ž_ƒ!¨›öúfîÊšô0p×ü’çÞü”zóÞR6T䑟>OÊØ NþõÖ¼ZLä/~Ä? àoáÏ<ÆO~ú-‚>ßË+ϽBÕ§3øÑü'H«_ÇåóÓ†ÑUÿç—dï]±”~'ŒPÿç”—ü_¼5’Ò´|¸å3¶ŽŒ¡4;‚ðSÇy±äSNaÁÈiþ¶ó ÛFÆPºp4¡øùÛ{ûù¯O;™™¢"""78MÆ"r³èî¤Ý!cC.Ù“u²åZBî%ù®Þ0–ÀCwñ采éÀÀ¸ ËØã¸‹!‘Dus¤³»÷h‘̘ñ­ÀùFÄpLGþz˜î“õÔ·‡“œØ/h,÷§Œ£sïŸ9Ò DÈ]3úß Ž¡óÝÝ´¼¿&¥1cl a“"ÁÐÂû-gÏyÿ=}çŒ$Æ ž“Ã÷ºpóþIi‰a„F0ç`:µs°ësÞo…oOùá#G“}pÿ®¡á|®6ª>é ÝoàÛÆñœBžˆˆÈMA=z"7‹ ÆàÏï¤.öºÛ;!$œ_2ð CЀ† B.ö›ÄBXÈùÇéæóN7„>p[H¿‡Îþ]Ï=Gà§n:OúélÙÀÏ~vö³îNw²"{Ëtãü’óy»éàÆšÎ~f4AO7œá”ÿVFŸý›]訾v¹•ñLäW†Cü×Î&^ùÃiÆÞÁÿ|d<3Géo|""" z"rƒ㮄p<;kiN[ÈÝ']éþ;5%µ„¤-dRxt¶Ó9 vz: ùòï´ù;9Ù ôž«ÛÓ‰!$ˆ!Bø”öÛ:;ñÆ\¼ÿ-sX!÷,åùœ˜ Ëã¾ñ®šqd¡œâˆ>þ¸-”Pna¤á4Çý§é Ñq¢›nŒýí55qS®ÏÙú§}ü¯êPJFzEDD䆥?ëŠÜ4‚ûÐcÜoø …¯ó翟¤›n>?²—Ê …¼Ùb`l„E?@tçŸyûÓÏÌýgÞþ4ˆ»fŒ»‚ÉKÚxÿýæÀÏÏ÷òþ§0îÞq…%ÙNmmï¶î¿³óíØîelÐ¥ë0nÆ]°o v†jvù€’W*ØûùJžtz†Ù0Α£˜î¥Üy€ÿs¶~ÐEèÝáŒáþHøÛÇ'hè:AÙŸ»zwô²mS=?Ûýy`¿à`î ¿Mÿ DDDnêѹ™Œ˜ÄŸ.c\E/þœb?`'úÞ4~òÄ bF#fðdöŠßxŽŸu˜‰~h)Y“F@wû—ü IoóâêfÚOvbž”Γ÷†AP.]ˆ§ø~þ³À¬›áÓYšCÝ—©BK*¥ä7?çMåŸøhwàR]@“ˆ¦ªj ?Û›EþòZS²œá£ò¿ðÝsŠüM^[|;Ùß‹¡½z? ÖŸná›1ßâW³Ã03ÏŽòÏÈzñ áá¡dL1ô€‰F°­zó·ÆÃGó“yáê͹ Üpèï®3j ‘ëï[㢮xß0a„áSÙ#o³ú×%íù§¹÷[›o(_‹ŽOþÆ‚m¡lüã¯?剈ˆÜ´4tSDdØ:ͧï~Ì#ŇøÔø;Ùöáç£FñM…<‘›šDD†­[¹+é²ÿðËÖ ÜÉs꟎EDDDnN×nèæ‰xõåwhÂø–$[®Y!»>ù?¬ÓEøw~ÄÓFr°âE^ÿ4˜)Ù?"uìÕdÕ|²ëoø'ÝǤQ†³uˆšÏòû6Áº?仩†nÞÀt-DDDd¨»f=zî½u´sa·õp²á/´ÍxˆHÃõ)räŒ ¾Ÿá£®îþ#ìïí&2ò>&FÆòð¿ŒÄk¯'"""""7yÐó»iØ}¦“:í›ÞÝËî¶R­½‡w;xùÕZNFMçþà½8?;AÏmáLL}œGFa¸ÌöóNFÛûåü¾¯G/Ø@—ËÁ–Í»ø´Ý Œ$*þ»<šúm,ðù [ªjØ×îLŒ™øisùY — yÓZ^¸+‹§¾{„·ÞØ£×ÁgµäÝÝŸØ=œ˜©17y#ñóٿȦÏFqZ,mïî¢ù˜¢¦óýMa|0œ:PÃfû_h>én#ìö{HM{ˆ;Bu㉈ˆˆˆÈõsM&cñ»ÿBÃIŸv·O¼(N±o÷üýqÒH”­õœœ8ŸìÎ!ÆÐξ- ¡ã l¿”Ž¿ñû²Z>=1–ÓÒytЉֆJ6ÕÁï?»›¶²¯}÷/ø7æM æè¾?òûºß>‡yG0æÁÇøáw­ç¥^?mµÿ/›>øŒ®Û“ùþ‚ù7ü ]aODDDDnò ×uð#>ñBXü¾s÷ȾyoKŸ9Ò5!öìÄ&§Ú8Å· ÆÏ©]½Ùi@.·}Ááhèm÷â'ƒÿŸ44qÂ4ž‰¦T}ì‚Ûÿ™ÿñ¯ Œjû#ÿûwõø¿PÍL„„C§NpÂVÐu‚S=@˜…‘À©ËaäÝðûÁßáÆõÙ_xÏ^Ǟ͵Lý¿þ«ºö†PÈÛJ×ô';ÞÀ¾ÊRþ«BaODDDD†·«|G¯‹CÎô0ЉÜÃÝwÇþ—pS¡ç³:>øŽÝÉ¿ðVíßølo ïîóV⣂¿øöÁÂÔ÷q;p²n+ÎO°·¶œßÛßჃ~èñÒàïâT[ï×À ôœ8B[‡ƒé6ÚêùìÈy/Æ25~pw7Ä'þÆ[j8 Œ™–€årAíÄGünݯxé¿?âÐI?†‘–@Ϡɤá›C…ßMí¦­tMÏâ_¦Z0FŸžÅ jÙôΑ/ø‘¡çê2G×AœŸõÀÈ;ËôÅñ£ØöÞAœŸu0i|ïÇ‘÷å®åÍNÐc grê÷ˆåì»qÙ~ÉÉKBøþÜTmþˆ÷Þ|ƒÀ¬›ÿÌ£ßG(ßeöo°í³wxý¿#™œšÎ9‰‡M¹NËNÈ—¿û-ÌøÁ0ιwãÓÿƒ»ür¶®Ý‚é—r¹…ȵP¹Ü$´`úA×BDDD†º[Õ"""""" z""""""2„}5C7EÐÐÍ…®…ˆˆˆ ušoBd˜ Õú‹CŘ1c8pà€BDDD†„Áþ­ '2LDFFª†³ÙŒÙlVCˆˆˆÈ¥wôDDDDDDôDDDDDDDAODDDDDDôDDDDDDDAODDDDDDôDDDDDDôDDDDDDDAODDDDDDôDDDDDDDAODDDDDD ûöîQKˆ|¾5.J """"_MÐ{ðÁÕ"×È™3g8}ú4===ôôôàóùðz½:tH#""""_ Ì“ IDATÝQÐ=QÐ=QÐQÐ=¹™5¥1mÚ4RVÕãíýÌU”ø,ÿìg"""ríÔ"Շƭå”UTá¨oÁí |j "6ÑFZF󒬘ÔPÛ·‘5óRál£Kt,ñ ‰¤dd’š¡ë-"""€zôD†ç³¿k+«2f³ð™Bª½!ÏJ¨|­4ÔVPðÔ|æ//¥QÝ%C,·­cδ$rWpaB£ˆŠêýŸÅB¨Ñ‡»¥ÚêbV/z„ùË‹¨÷\«‚:ÉOšÆœ5WÝã“SE]]5«DEDD¾"êÑnŽm%?ëj;€Ðx2ssÉLMÀÚ÷íi¤¦¨‚bnÇ ,Za¦r}j¹!ÁÓTûŠö4’¼nëÏJÞcõÔ”QX\K«£EY.^.Í'Ñ|•m­§Ñ§ë%""2\©GOdx¥<¶®^y–TÖn*"7m@È0Ç‘²|=›^š‡ð9 (¨ñ¨é†/­ŽækzDSDs–¯cÓ¦ÜÍN¬v8hzm¹ _¾Vç*,©Æ Xb±E…BG+Íõ Ø‹W`w>ͦ¢,bô«@DDDAOäÆá¡Ùè²$Úˆº¢c¸(Ï„¼ÐÔµlZ“röÝ=o#E‹RØTM~AUk{ì`|M;ÒyyÓÙ÷¿2SÍÌ_X†»v5ÏD]¸mÁÂ2Zíe4ä%Ðÿj™ðµPQcã—•ë™ÓW€œÒV-`Iu Å/ØÉ|¹÷½BO «óí¸1’˜WÊK1gƒ‘«Šå Vã¨- `«õ½3™zeKeæ§Ù´)ëlOPæ<,óR殦șKbй·úYQØ€h2_."wÀKn®ª\²V×R½êR«Öœ Á¦@Ðs:˜÷R«ú7d‘™¸„GžqÒTVNsÖrb"’ÈÉÁÜ`§¡ÉH|Nù‰×º{*Š”ÄPŠ«;h®iÆ›˜uõËÕÍÊœå¹ÄøÔ¶´bI\L^þÙGÏÎu¬súÀ˜Ì/+×½~x©_·€Ee­”­³“]ôeß =FͺêÀu~v/§ èŽôÔ³>gÅ …¬ß™Æº$³~ˆˆˆ\†ÞÑ6Ü4 ü—%á {ší5Ä“ûtʹâ¦82óÒ±5ƒÏÞ¿xñ9“|˜bRˆï;ȶX#àk¦yÀì#}ƒH£2s„3‰‹³‰pVãì=ÿ±š¢@ïcôbò†<k¹‹£a«ÌÁ± Jl!#/ãÜá~¦RCÍQïî) Åå´–Ì5,;o&kZËã;Å;=ԅħYv^øˆHL% µ×WöФ K¬ŸÛÝûžÞ•ÕíbŒ19¬ùå³<»öüëg"!33pýšjhù²SuzÝ.‡[‚õÜm毗_+='¤Šˆˆˆ‚žÈ ÁÓ·VžùÊz‚Ž5ÖôýL%qîSìÙpæpy/M ±ç?d1Ûâ/ØŠÅ àé/÷Àm )ƒôIZˆ hÆéò^šjš›’ïÅŒJ´ahv\.Œñ¤\ðR— sT ¬>'°t€·™gŠ-5f-5€FGóË D''\Ø{e²ôöˆzñ|…K\ôß^¾kP· ªeM eNiI0æõÃårár¹hî{©Î×1È5¿Ü-$D´R´®”úcž71!«ÞÑùB4tSdØ0béíBò¹½À—ïÙèhêíÁ²ÆÂÑ…I‹38Ün\†³¨A¦Ñt±š¾Ì¸…ØÁªÉL”èðÐê„ÄÖÖ@b°ÄÞ‹i²Ä ¸;\óÁ9_2[½D)¼ýaÄÝÛëØ³0ŸÜAvòµ†Ív4»ð‘pÞĩ^¯Þ=ù*W)èp÷F5sho ®®nƒþÁ¡¾œõ…ET;[¯aÝ"HÍ[Fù¢B/°è‘°ÄÚ°ÙRHIM&%N „ˆˆˆ(è‰ÜÌX#€pÕ·â͈ø’Ã7½x{»YŒÆ‹ìi2õ†IÞóSÓ¥Cè—®ñbµì G>À‡·7·\´ÌFcÿ¤(¾+Ë¿àóõ/GÐê¬íŸsðïvà¹ÂÓ\^\õÒ‡Z­2^ãºyê×µ¨"04qó’ˆ1‡b4 ª/}ŽK0ÅåPT™@ùÆ"JíZšT79¨..€èd–åç‘“¨À'""ò•½î¶Ýl®´S×x”.ƒkÜLMÿþÀNîcûŽãLxØÆ¸ Kµ³a=¿(>ȘùyütV¸® ÜTA/69œ-t8ªhò&pù‰ =ó˜‰0˜0õ¦+Ÿï"ô¼Þþ¥ B¯ ¼}žËßdŒôuú.–â|½Ã/1b¼Òa}Fcï‘£Y¶©œœ˜az‹x°;a>.9¦¦ÓkW7U•þ¥ùç.kÁ1ÅWôˆH$#?‘Œ|8Ö¼G{y5Ž–Z —4ã9oFVÜU¿£×Ýö.…¿)aGãQBâ¦1sæL¦7àÚ³…Wû;öu^þíu•TnÛ…«SDäR¬)É.ÜÕÚ]梙FnyàÝ«ÐÞ‰:p5ãlŸ›f€…Ëõ|˜vÓä,lvôN\bÆøÿ˜¨ÞˆMîAßóº›u µqÅÙÔBŒåRå\öTwF™ý“Ã\úyšq4D‘‘•pAìö¶:q]ÃúDÄ$‘–³ŠõUbmr(ÐByY^ý*¹¬«ìÑ뤱ò-\€uþJ–ÍŠ$Ð!7—ÙÛ_¡d7÷tC´ï® ¤²ŽƒÀ0†ÉsçñYV\E¿`Ã?o<¿’]ÙϱüNï–¼Î[ÇñæñÓI_˜Aü x'Ù·ù *í‚Çg›Ïcs't¶¼KIÉ[4÷lFê„*weÂkøÑÄ Ý2Ì’^Ë“ YQëÃY°‚ÒØ—ɺHïÆ±,/lB1EÞo3%¤M--vœÇ²CA>¨7Ù©÷¡ $Å\ÏŠtPooÆ›pîBáÞæ|±$öκšµNÜ5Zsã.XC­µÆXü;.™Ø+ͦ¦RC)³w°³ª oâ…ï©ykpvĘsm†m^ã´â©/bÅjg Í2s±™¯GÝúÞ742ôÖƒ£¨&p-®¤ržFvÖ8iµ¤’‘tþðÌÓâ ÖIG«‡/3¨XDDäfuu=zÝmìiñã™=¥/ä9ëGüdù±EAû.^)©ã a:ÙËž`väQöT³ù0ŒŸ›ÍÌÑ£™™½ŒÇï„}åEliô0~þR–>6™îƒ»(.ÙÍÉ ÀáÍ…¼º­‘®;%û‰…<í¡qÛ«lØÜFw÷a6o¡ñ¸¸Gòøtpì8 PÄ“sÿ^°Í›wÓ>ä j&%o ©¡€¯f‘_º³·îìóÖõKXðTuï»uäõõîXSYœhXW°õÜå<õl\SM•–Müu~’n-/ ¼y` pa/,Ç mýK5D$eêÛº‘‚òsg…ô6—RPÖ „’štÌD|vQ@Gu>ëvžÛ[êuU±jÉ V,YÂúú«Ih} Æûhm½Fk.x©)Ê%kQ!MñO³nñÀÙ5¯¤n&L½¿îÖ®˜£ˆh¡Êá:'äÕ—®  ÁÚ;ÉçË/)áv°nõ ¬XMUóùm|ŒUDÙ¬h‘Ë»ê=0˜1‡\êÙt2 < s$‘aAX§Œa›ë(®£~‚¦Z±†ÇC°Ž&2¤›àÔ¥üxváã" éî&ºbÇ÷ãéžÊ9zÝ.vÕ&þøwˆ¬Ý|üü¸v;h›D£“Júw¦N†ÆÝ¼ºG^†¼~Wø:.C»Û`iÎy÷ÙP‘šÒ_b\þ Õ--Ø_x û €1”P:èð ñ™kY››8àÁ8‚9¿|û‚g¨­}†G攑œƒÉÛJ£ÃI‹ŒñËX»,î:÷˜D“žâæ…s¨¶%cö⪯¥¡ že¹¶³e6'‘·fõOUã,XÀœrI±f¼îfœŽ&:€èÌaöJ£^Ü2Ö>]Ï¢¨xêjcmÄÇñ¹›q:[ðÑékXžp5-c&6ÞMnš ’U…1&‡õ«R¾@xñQ›»€4óÙŸ}7î³£ZlOóÒÚ,Î_QâJêf‰ÅH+>Ç ²²â±˜cÉ})ŸÌÌxÊ^h ¡ ‹¬š$bÍ^šëkiheÙkϪ…¶´P¸"—æÔ ç$}±¦‰É ?½œ%V/˜ÍÆøDb-FðuÐ\拉ˆJgUFŒ~g‰ˆˆ\ÿ xžã´wÂë&óçã-¯ãh<˜¬å2ºZ¶ñÆ–=¸<þËÍ6޹¯&!æÀ{ŽÓÑB'€y4!½Õ 4î¼ ytÍ^ÎO¦Ø]² Eà ìYç°ª<‰Ìª"Š«kpÖ·àöuÐ-Ñ$ØÒÈÌÉ %fø1‡uUVÊ×o¤´ÖI­½€ÐèDæed³8#é+X«ÌDܲ—y-¾Â²ì­€‘¨øTçå‘v^R1'­¢´ÄÆÆÅØìM¡Dŧ’‘³˜Å)1× ˜šˆËz™Ê¸r 7–SãtPÛÌ–ødæe.gñœ«=‰¸åÏ’Ù”OYƒ›¦QÖ/ñbaG+­ç-{a &!)‰ÔŒLæ%Z/R¾/_7sR.ÏÎkeuu­M xb·^Öz^fëŠkirØi"”h[:Ï®Ï%-Æ„'?“šÜ2šj©µ¤°8狇àÄüRJ6²±¼gƒƒÚÞ-¡Q±$§e²xqqêÎùBnðz½g®l÷Nö­áÕ=]ŒyôÇüä;ãz‡DvsøÝB ·Á´…O0}Ïoùí.ÖGÌÒïŒÃóî~³å8ã>Çò©Ý|ôâó¼á²òØÏÂ}ìfýó% žBöÊljÚÏ+ϽJcÈt~œ—Axã€Y7§{(/(d—g ŸûSC€“^|¾×èÙ¬ÌW^ÜÆñ1éäýÔF8ì+zŽW÷@ÜÏñ¤ÞÑ»¹u·±¹p®éKɶõ =n磢 lÍO¾7øž9s†Ó§OÓÓÓCOO>Ÿ¯×Ë¡C‡°Ùl7w›{w’;û)j}±äý©” Í”/"""r]\uÞÄùs™ÐXÁ-¿å7Ó˜l ¦ëèêCðâ¬!øëºÏÕ]ÚömgÛŽ@šg í“£ 2°?þ¸Èèýx~:»Ø]·…?ÐÙÆÁ¶Îs{Y‚¬LŸ6š]ÛPùúv ÓÍ´íØ˜fÖ4"ÇtgÞÆ®£›©Ønfºa›÷øÑò¸"yxiA!ã\8÷å¬$¾;HïqŠˆˆˆÈ°uÕË+nãÉ•ÙÌžlŰŽ;vP×èÇ:ùQžXùCâ°ÎÏäÑŽn{• •û‰ËÎfÚh8¾«„Í L˜53]4V¾Îæ#±ÌŸ9žà®=¼QXÌvÃÃ<9ÿ*Þ¨ãø¹Oꌛ»Œì™q+)~µ„--f&?º”'fEBP4s³g3ÁÜEce1¯×Á´)÷#î Áâ\!Jy""""2Œ]åÐÍá ›“'; #ˆnZ^ŽÂ:˜²ìü0ZOóríièæ%h覈ˆˆÈWâÃØÎö_PyÔÌäô…Ì67R¹» “™©'"""""7¦¾G¯»í#*^ßBÝÁÀ{ÁÖɤ¦?άè]}¹.Ô£'"""" z" z"""""×Ô­j=QÐ=QÐ=‘ÎU/˜þÞ{ï©å¦ñàƒªDDDDdÈSžˆˆˆˆˆˆ‚žˆˆˆˆˆˆ eW=tSCÙD¾:®Ò æ¿à#{SËc¾ÔžTå/§ÀÞ‚Ïhã¥mëI2©=EDDDôDdØò6–QhoÁ’¾–µY±Ä(䉈ˆˆ(è‰È0×áÆ‹‘Ä96â”òDDDDnxzGOd8s•’1mK¶ÖSµ*‹9IÓ˜6mI¹Õ{/ëæ0c‰|Ø—Ì`Ú´%Ôxޱ³(—¬9IL›6iÓRH[²ŠòFÚUDDDDAOD¾6F&ÀYX€#ñY6í¬£îO/“á«¥pÅF½&â–m¢rm2FŒ$¯­dÛ¶µ¤˜½Ô¯YÄS… De¯gÓŸþDeI)žj ® Ê¥¦QБ¯7ïÅ,#/-3@D"QàvÒäLf,fFŒ˜ÌÌf3xV´šº†5Y‰ÄDD`›CîÚeDãdcy³UDDDDAOD¾NQ¶˜@Èëj6^|¾Á¿ïmÞI3“Ë9oìYI…Ö†f4€SDDDDAOD¾N™_Å{±ïûÜx0b6ÏÛ`Äl<ž‹ï+"""" z"2-˜ñáñœßåçÃãÌf47§ˆˆˆˆ‚žˆ #¦˜$bæÚ¦s{îZÔw@trì9CAEDDDdx1üý¹•&OåÖIS¸5ò›j‘kìÖ[o%::zèÈlcqf‹ÊòY¸†Å¶hŒn'E…´„&³6Õª‹&"""2܃ž¿v+þÚ­Änß§V¹á™HÈ}—,n\‚€P¢m™ürí2R"ÔB""""ÃÙ-3ãÎô}  '"""""2¼é==QÐ=QÐ==QÐ=QÐ==ú j‚›÷Cþ>÷ßùÜ7ȶðçö7ò 1]ÉqwóÇþÿª|ëÓ°k–ž=oâ1Îåw_¿²Ÿ9s†[n¹E÷ ˆˆˆˆ(èÉõ`dÄK]Û@fšÊ˜ß½fÓ0l/]¿[ljY3ùÆÝct{ˆˆˆˆˆ‚žÜh¼täͤͲŒ‘îÍ|~ð0=í„®úøæ]rð±LÞaloÏ×éOÖðÙÒ}Düîi:—ööè}{/ÿxlþEwÉÛòßáö©‡i_—Gû‡¸å›aYµŠoD›ð¿ý8Ÿ•Üeò^<{ãÿ‡‡ ï2néTnkÝȾƒyѺ¶ïÆwЃqÑ ŒöÓþÎ|ÿð¼äÿ`ýþ8nå$Ÿ¿‘Ç‘×>¤ ü~Få0frôçK&ÐñÎ^üÿ8Ì™»–1nÍ8óÚã¸vã̇s9°ûÿ&:7OÁÓ¸?8Ì€Ð)„å¿@ä=aº=DDDDdÈÓ;z2¨[ðâßþ1!+^玒Œ_äåäKoâ³ÌbÔ·OÒ±å§{C¡wË;œžúïŒ x·pŒ®¦õû¸}–‰Ï×ÿîÖá[¿ÿˆ»¶ìÀúÀnÚVÒÜb‚3Ÿnæÿgïþƒ£¸»Ï¿±¥”GMFpÑ8A³•œX*“šÙ]fÖ¬‡l¬Ys û<Œ;û<µŽäÔI®ÄƒŸ+ÉåElêÕ=‹Ø”¥Ô£§ñØax²ˆÀJ~v–µDÖš;‰d¥;ÈâÑÖÀ…V"z$¡ûc$¿d¼‹m°?¯ª){¦»¿ÝßowSýÑ÷ÛÝ“Oï¢hïQ¾ðÚ&ÿª3=[Væ=&òëxd÷Q\Ms¥õáÒ²&Vî=Ê¿ÀÄÞv®X0ý·M¤v›üúë?ã·¾‹ë;ÿ¼­ËæõrLþˆßÜý׬úÁ.ÿ} c§ ï…¿À±ÒFnø«¿ §"|ðf·ý·¾‹kÛ*2GO0©CCDDDDôäþ•á__|œáuÞð9ûƒ¹gç¡ßûCòÙ¹þâ*ÿ#SÖòŸý2WOüw, °ÎòÏ?¾LÞ³_¾m÷pîÓ_g±=;ß忽Œý[ÿ.û;yßüCrÿŸÿÁ¿ŽÎμìë,ùílÙC¿ñ89Œ19>;Íö(ƺGxXôó°mK¾’b¹è7VñÐøû\ÅâÊ_ÿf¾\Ç’¢locΗÿˆ|ÛϹü÷Öl9_ÀX·*{à«°-ƒéôå[ƒnþ#<4þsþùè ®¤-r¾ÒÈo6þÏä~š»,%äñàñøÇÍy¿·ôx´ aéÀ4tósl¡{ô²qa‘Ív=øÌ~^SEÞx—Ï…±óßøÖñkn3¤Ñfã!ÇÜï&SãvÊŸ·¾üÂdr|n}<|mröf¸þý!ÛüÂí,šûn³Ïn›ÅÔÅ 3ÿ2ãË,ýŠÅøÑ`â‡?†¯üÇ»xJ§AN¾ÅÕñy}NãcLc›¯ÒŠœe=ý_Y}ô]¾xô]¾xôïøâ‰¿cå,ÿÈeå~¥†Â–£üö‰<òM“ÿ¯±‰¹ºÌl…H¤9–¼ý æÑp¿ÇƒÇã!P!žÊ†ÞÞ°'DkW Õ~Ÿê–^’ñ•sß[\ë/‹ÓZ?W–ŸÊ¦.’ê6QГÏ";yß\'þ’ô ;ÿæßÿ·HöU,Y·ëÿ+Àeþõ¯þ+Ó+ÿù…÷n»ÿÛ/ɿĜzuäomˆð/æÝ,Ÿaæbö™·þ#ÿØô7³÷ä-ÇþÅGÅðÖQUÃm-tÝ’òH4×Óv|”’—v³w{9ÖàA¶íèfŒ¹~Òb15½„Û6Îàþ©BEÓKxóÇìˆÐ•H­ÝFG_†ò{Ù»ÝGúðêÛ4DTDDDä~§¡›Ÿ[³÷èÝòû(xë¯ù°>¶‡~÷9~-󇘶?bÅ]½wÎίÕÿ%Í üÓ¿m`ÑÊ ¬ØY… ²OȼþJ3έ ü¿/|‰20c{„_ÛÚÌb_hÉ~íéÇIïþ:ÿ÷ß6S©#ÿo·3òõflvåÿFc ÿæ¾*颢q#‡kÓÜ–À]qC ¤¸f7ûª œ%N ÜÍ=O’¶ü³óØp×ÔôÙpzÛ¨=ž¡¸ºž ß†ËßNßá4ƒi 2qb#@i 5þ2 pPíaWÏa’u%”hبˆˆˆˆ‚žÜGì_æ7ü‹…çi~—ÕóƒÝïý¿ýÃùe¬¡ð‡¿à†Î8û~ã‡ïÎ~ùþ§¿ú»›Öû;,múk–Þ. ­{“/®›ŸWþ€¢ÿÁì—*¾ðãªëÛRTê×ÌûfÕç¾-áמý ¾ðìmVRxc9ðËöýs ]ü­7ùâ·®O]Þr”ûóz6 w/y{xåp^ÿ¼iéý4·õ0˜ÎÜðûü0èpdoT´6À6ï»=;o,3™Â9¸ƒoxvÌ[~˜Ñ z"""" z"ro×ÑñÌ.öïê%ŸÙa™cqšvf0¿œ?ÚŽßž >ð"}7gý»ù{€áÂŒ¿ÄÞˆ‡ízÐtÚ""""÷3Ý£'ò r…hØì€ôȼQ©²ýxæè0Ýíí ds„áäøG,ßO°ŽÑ34J:§¥¾–m탘j}=ù8Ø)«oàÉù¯(ð®*%ü8;¶nã ­†Ö7ù™;šÿ†±–ô¨nÝI…;Cì•Z¶¾ØÆpŸš?1ŒŸ IDATj|‘ûÚ"€¡'J®½®¬øÄ/Ô*"“™™-Z¤†‘•zôDDDDDDôDDDDDDDAODDDDDDôDDDDDDDAODDDDDDôD>Yz⦈ˆˆˆ(艈ˆˆˆˆˆ‚žˆˆˆˆˆÈç]Žš@äA`Ò]½žWo?Õæ}c­>ìŸÖÖ t·•,±kW‰ˆˆˆ(è‰ÈÝ1Dû `Ñ[¿žFc7Ý‘2>ýhe1m#æ÷*艈ˆˆ(è‰È=ckÞA{o*ûÝé§.Ò@ÐeÇì®&Ðl˜ža’ã…„¶×ã8ÜÎá¡$©qÕ¯½Fu‰¬$±´Ç“¤1(.¯#ÒÄe‡Tw„Æ]‡6[!Þš‘JÉÖ­ÔO“é{†P¢…Î&7Š{""""÷AÐËùZ99­á¡ß]C*•R«ˆ|LœNçÇPªÅ@Ë‹´¤ªèì®Äe·j­dk};e]õ8쉓‰tm‚¡È&¶¼ØÂKöÒ邦MÔ¶%¨hu3ÜRKkº†è±®Ì-•µ4ÆÜt‡iÞу#rˆ^f"Â3µ;ˆù;©¬ßI]üW 3X ,"""r¿=ãO^ezzš«W¯233ÃÌÌÌ 3é‘ð"·š;O-ZÄ¢E‹x衇xøá‡¯ýÿ¢E‹˜™™ajjŠL&Ãùóç?ž g%éê3)›íy;%¡…1zSõ[¡ÿì°JG™[¢ŸëúwbiL+I×q“’†òl9ö2Âݘ6ìNvvwa`”ú)µg8mSÇ‚ˆˆˆÈ}ôrssyøá‡¯]¸*è‰|´ 7÷߇zˆ‡Ê>ÌöêÕ«ŸÐ–Œ“6mä¶ë? Æ5­ìw›ƒkSm6°×¾Ûn*ÇqC9Ùh7F"¶‹ö®!ÌÙyG2uˆˆˆˆÜ¿A/''çŽ!OAOdá wsØ›ëÉ› {ÿù“ÃÈ0bf`îî83I>.ã¿|9ÖX’ÑL!Žál‹ÚØÞÙIÀi³—úÀ""""JБ_Þ\È›û|"$±»>iPí"é­Äe7Ø¿ŸÑ¢n'0üËiïbÈ[IIf€öÚZâÁNvi2†—Ø Ä:ÈX¸3³‹’ÁJgtˆˆˆˆÜOAo®BDîmèûdØ) ¿FxÇjíX€á*g{k.˜jùQÊi¤vý.Æ3ù—7ÐRᢠSGEW#[=8…¸«Ã4<¹WµD£»ñKiiÛ„¿o;vÑ#YDDDD>åkQ˲Ô'rÌÌÌpõêU¦§§™žž&“É`YçÏŸÇëõªDDDDäc÷š@DDDDDDAODDDDDDôDDDDDDDAODDDDDDôDDDDDDDAODDDDDDAODDDDDDôDDDDDD䔣&OÝä¢ßyÓSóÌ¥¬Z»‰-ß,e‰ZHDDDDDAOÌC±äÛßåùGsI.Ÿy›7^ßǾÕßáKóÔ<""""" zò`ËeÉêµ<¾üý—&€<.¿û}š­b­ñ'/=NÝËßÄŠÑqè&òpz7³eC©=:ëyyà r¹ÀO"ß㨱…Wë×°„IÎüà»ìË{ž†§LuäÔ…ÉìZW¬asUˆÒ%ÀÅAbûæ¦å²¢t[6¯aY®öŽˆˆˆˆ(è‰ü&¹|æý¦O‰‘ a¹9L}pš+›þ„æG—ÀÅ>Z÷fEÕËÔ?º.ŸbÏ÷:xkåwxÖ³‚‰cg˜Ø°‚ÜË#œÆÉÒK§HM®a <«ž[Nêh§ŒÍ4Ö—’ÇgŽìãÄ{(Y'öìc¨¨Š—ëeÉäûù~{ÞvòŸ6¬Ðî=‘»3Åм<ïÐt®­Â³4÷ú‘ºx5kWgïØ»|®Ÿsy³yö;Kcýêöô§ÈÛ´†eO“šð’{î=Lç¬3qúÂ$æåìDO9¼å‹™úY?}ƒKñ”<Âê ϳàâOèÿ`)ëž4{`î#<±~'Þä†ßGQODDDDôDîòP¼~L^áä[{ø^Gˆ—Ÿ_C.“g7›û¦.NÀâe×¾ä¹L¥&˜ZVB‰q‚÷.LwêK×”P’:FÿY“ËÆ WxY™K~ÿžÏ=ʱ·ßàhÇKW­eÓs(™¸Ä>àÐ÷^¥gî ™ºÂ”±’‰ìHN=‘*wIkׯæÈž~R“k(ºùÀ]–W.Þ¼&Ì yä°”ÇVÛ§‡XœÊ£tÖ.u2qdˆ³y°Ì³röIžKX½î9V¯&ÞçÝ7_gß¾"¶¬`qŽ“§þ¯ù)"""" ½GOîOïÓì SKWÝö(KVzX9ñÇÎL0yñÇÎä°z­“\rq®YÉ•S'8=µ’UFöA+K?8Á±s‹y|õ2à2§¢ÿ…=}˜È[sÅìÓ=—•àYzÇFÈ–>Á™#Q~07¯ˆˆˆˆÈ}N=zrŸ¸ù½Å,]å¡êùu¬€ÙÀ5Ï2/U[.°ï`„W' ŠÖ?ÏsfÃZ®s Ë/upî± ¬Èr¬Yü¯¬åÙ¥Kxì)/§öµòCSäCîŠ6oyŒ%ä²îù縴¯ƒÈ«“0y+=l~b…FmŠˆˆˆÈa€eY3j ‘{cff†«W¯2==Íôô4™L˲8þ<^¯W $""""; ÝQÐ=QÐ=QÐQÐ=ù$å¨ DÉ(¡gÚ)nàPçF’õëy±/3o†| K}„jê¨ð9±«ÅDDDD>·Ô£'ò€+ÚXG]]Ë`°‡¶ŸáÅXJ #"""¢ '"¦|J‚TWWnjåÀ—(&C¢¥™¸©ÖQБžÝ¤Æ dt [j=yðÙpæÆÍŒšCDDDDAOD|RÉq ‡Ã¦æQБ5£}Èw³Ñ¥çnŠˆˆˆ|^éõ "´q†ºÚ‰@:9Lüp£Øð†Ãø µŽˆˆˆˆ‚žˆÇX–5£¦¹7fff¸zõ*ÓÓÓLOO“Éd°,‹óçÏãõzÕ@""""ò±Ó=z"""""" z""""""¢ '"""""" z""""""¢ '"""""" z"""""" z""""""¢ '"""""" z"r[cñjƒ~üþ@ˆpçæÜÄTœ–Ú>ÇO(ÜÉ€y}Y+§¥Ú‡ÇßHš_ªE²«‘J¿ÇG ¦sèú‚©îµA?D8:oŒÑÛZKЗ]6X½a×ÊVâñ„èLeIFCÙòæ}|õ½˜¿L£XIºš* Ì–ã¯l¢+iÝEÝ®÷+¼¥>XCD«ýx<‡þŠÊ›êæñxð[IbÑ[ï#Ð2„u·û¼·õZûûÕ´ÄÇæíÓn"Õ³ûܤ>š˜mÃ[É@g˜ßs­ÜH<µ@wÑTyýتlŒ1t‡ X‰0þ@äŽÓïÔ¦C‘þp룶‘ÙMµon_˜$Z*ñy|›°<îç­} BÐã¡:žm=³·v¶®7~üÙ2<׬!b•øçMûhm!""¢ 'ò9Ky]¼ÒØCQSñînâ{«o«§9aI¢õô6pà~úÔ‚oxÛÚg/–“Qj·F1ËÊÈ¿ù"w¨úæ$å»Ñߌݕ㴿ØÂ€¤:Ù¶£ÂðÞéïçXkѶzZ²W®©Ø6ãÅ4ê§ÿNjl=´÷¤n ûiÜŸÆ6ï¢ÞJgÈ/ßÍ;ýýôÏ~z[}=å1ÔRKó€›ÈúéçM®>v4ÆH}Hݬ÷‚¹òæúéAz†4ê¦eÓ¿§s^½úû±³ÜAq(HáG­^*ƶm‡qÔeÛÿPƒ‹xã6b)€$íõ;è+ÞΡþ~Þ9Pƒ-¦1þáaÕìm¢¾-M°õýýïÐYgp¸qÝc·«ðmõÍ {#êï§ÿGJšÙÖž¼ÿÎ+E<ž¤lg7]MeØ8îç¥>ŸŸÊÆ.æ:íì¾:"-u³ÛàÄ*%?5HÚZ¨n—®÷7äÖúŒÅ ×¶0œ¡¥2Hø¦ eö6Óµ-ÌuHš‰Vj>| ¡ÚúÒó×¹À¶[)ºCø}~¡jcóëK{ñEöfH4>C(2€uÇã~Þöµ4‘p7På²Ýñ mM/k ¾Ì¾ð¹f%éI˜”Õ„È6m ¡p9Ä÷3¨¤'"" z"r;vg·1ÌáÙ+e+ÙGOº¯»(À d/.¬QúzMŠË‹³½d%”Ü®Ô £Ã&Ž2çõÞ4{!nÇl€,pð—ÌN3IvG‰¥‹Ùè.3É`Úc¸•Ú`¿?@eãüá¢Cû‰¹Â4ø7…Ö fb[~|>?ÁÚÝ©;] §8ܸƒDéNº{{é=ÔDao3Íqs6¤ñ»ì×.Ü»¡¬—}¡º]\¸Þw¸à¿m} ü´ì®£ÈVLÃ.Züóú%­!Ú›¸j(³_oóto% ˆ÷¾Ã¾ “ŽÆÖ;ô$Úg×|ý»a@j 5;m^ªÂæ4ȤHÈzŒ?Aÿõ@>–è"i¸ñÞöÀÃð3×ÄæPÑãîÅØ1émn¢ÇÑÀ¡x7]{kpÄ×6Éìm¢¾êôÒÛˆG¯t3f ÐÚ¸«ª“cÝ]Ķ—‘H¤çUåÎÛ>ÖÓHs¢ŒHwœîX+é8Ã'¡×^£¢Ð†wç!beØïxÜ_› 7Mõî;÷&§b4wP÷Ò\ó‡œk77ŸÍm{¯ª9DWûaFgE=¹U2Jmã å{ÑßÛKÿvRÜS϶®y7VõÒ²µšvûKìÝÂù¡…Ú1l`Ýpj1ž»q}h¥áßMÿ;Ú[ÕR=»NààɪòloQF¨ÆM&ÑMòòí;zp54à7n]gYu„¦z?.°; ÔÕP<§gÔ¤·Þ?ûð •Ñ$`‘êk§©2D("ªd×àÍWÍ)º›ª©=\Äö½üV·¥ Ö{¬«zöaüµ]ŒY ÕçŽÉˆã¸ª7rs7Žë÷øùŒ3jŽÝZwg‘ ã핬÷¨9ØèÎÇpä.*Zÿ3îd3›|>6m‹S*Å–_ˆa_h=óT óL8Ayk”p69ÝZ÷ky»’Îþ~ŽzàH[{1É6m8æfÃ0f×™a,=ŽÝ1/ÀÙ ÃŽe¥džÃ>¿MŒî{¼ý¶›˜fæÆ2m†í#§<-M$üMÔ•-nÍ^Ú{ó U–pË\·=×ì”…_#ìê£>àÃ_¹‹w9E6‡¡ÂDDä“•£&y0¤= ;6²s®û¡ÀMÐk§öð0f°c,NÓÖ&’¡V:«Ëî²×ÉFa™ƒô@ Wvk„DÊFq±•ŒÓ3ä¢<àÂŽgÙFªý­Ôö c•»(vX¤Ço r™s‡‰'ÓŒ6ñÏ^ôg2$ž ØÙIØH‘q•eƒÞìt°a`à‹àGs÷ß³$顸µ}Ä|À]•ß }^ ê o¥-SCtoèÚÃ…ë¶lÁz·rÀk]'ɶês€×ívX±¤“ûÖ® k~£™ã˜äShÜZw Àf·?<—ö‰†¢¸BÎÙž°MÑM³Ám ² £¤¼ãzì€ÅPç‹ÔîwÐÐ%0ï/å7Ö½À ;ž¦,èÇ N¡ª2Úwô´BF†Q3ÃÜ0S3&C!`£Àa»q¬1’£PhwbcÓ‚lãg0G͈rûm70 Û}·om3'iSì¸uÚx¢sö¡$Éž#nÇmê>'¬¤uv“±¢ã>ªÜ"V¤¶3ûdUs`?-=6Ê«J¯õ>Ýi=Ö@ ÛÚóiع!ä] wóꎕâps#;:‡²y±’Ä÷@¡›Â%.üÅ0ë%` ±ÿðµö/z¡7JOÊLz›·PÙ܇YèÆŸdO2;Ì7ÙCG"smdÇå/f¼/FöÙ,&‰Î£õd²»‰t÷ÓÛ;»?ã‡Ø^l£tgWöÞ¾ÙàœŒƒËÍ»p¡sÍb¨µ’`¸+{l%hoéÃY¢Dÿ„‰ˆÈ'ìWìÑ›ä{yc`%ϾZÏ—–ÌNy?FóŸŸÄ–>ý2¿¿B­-ò+°»h­k¢¹6@»•½vù·ÓRá‚TŒý‰qF[øjǼ… «8ÐUƒÕò [ö_¿®ýjPLáNB®ZÒ4n ЖÎ_\N¸5L‰p7°û¥fv„¿AÇ8`sPZ>»N ¤®•†æFê×·1N>EOÖñZ¸ û‚5qÚ¹“äŽfžùê+d°Qè±³µþ–!ޏ*¨Û§ù?.=á°›úæÙVü*®Ø0㣻xæ«»æ-TÌöu\¨n M»¬Ñ4™|÷µa”óúËH¼¢-9Jš2ª"5·_o—úšµëéÈ@~Q9õ¯m'›-”×UoÜÊWwe°9Š)瑩$ÛcwçõX$ö÷0:>Î+ßððʵ•Ùp¿ÖÍkA€í­£ìˆÔ²~×8Ìî¯ÈÎ €¿a;åÛšÙäkÆQXÆÆ—üÙcÐð7ÑRÝHÓ3ëÙ‘GéF"‘ v¨‹„ØÖø ëÛ8Jž¤¢¼!Óúð6ÚØDCo=ÛÖû°9\ø*B”Úº¸µSÏbh¡ãþCÇ5gHšE7)%Õ·À¹VOIuþm;ØôÕ`sàEx­Ò©ÀDDä·À²¬™_=èÁÊ-¯R¿f 0Éû?læÏ–}̘‚ž|žÌÌÌpõêU¦§§™žž&“É`YçÏŸÇëõªDDDDäcwîÑ[ŒsñÎõåòš5,áï6ÁXNŽùÁõÙ&Îð“}oòöÐ%¦cåZ6o Qº .Ÿú>¶/…sÓVŠñ³sWÀ(aÓ·«X÷Hî‚ËÂEN½ÙA¬?Å•œ¥”<µÞ>ıž—7°‚ Þï‹ñÖÛ§I™Sä«X÷ì6<ºDGÀçÙ䓹yäÞòó$¹y¹jy`Ý£{ô–±ªÄ€³}œ›. rê¬|lż$9Á/bQŽ™¬Üô/<û“çNÒ±ï—ܜ윩žL­}Ž-ëW’cqè­~.Ȳ—O½É¾þW–¯eó– 8‡zšÊP€‰Á7i;ø–oà…ºo³néYŽuìãÔeŸã”ÇûGZù^ôçýv¡oͯ¿Í…Iµˆˆˆˆ|ð<†Á9Nœ¹ÌÅ¡~.±OIÞ¼9rp–¿ÀŸüÉŸR½n5«×¬¥(¸tsÞEõâÒMlúR)kžzŠÕ9ÀÅs\š\hÙIRýgÅ<Ú„·t ž+gùµµN0rò4S,f͆µ¬.z”§žzŒœ©³œ8«¤÷ù•Ë#ß|ž§8ÂëÑS\œœäB_¯[Ìæoo`…:ôDDDDävÏ^¯·ÂCÉⓜ:yšS?€•ÏRbœåȼy®Œã­£Ùá“wb,7f‡ÒåaäÜͲ˜fvþesÏÈ[ŠdNÎN¿B[#ýó–¼4b2¹f º¦ÿ¼ZÆ—ª_€èë´}¿‡É)'ÏÕ}‹Rè½¹’œ¬-]LÿÛ¼ 8Ÿ-Áàìõé—Oóæ[ï‘Zü8U¯>Giîö|÷ †n.çv©Ë\hÙ\ŒÅÙÀwÑV²Ÿ›nä9<^õå׺jrÈ1 …<…=¾Tý¹GN’óÄ…<ùL¸wïÑËÍŹ¶„ŘLádmÉÍWÌdû⦘¸”âÔ‘£ŒLeCÙ¹ RøB˂ӳ¸Â{‡ñîà)޼yŒë€É£hm 9\aèäY.N˜Œœx“={ÞäÔE’ {k6(䉈ˆˆˆ‚Þí³žÓKÉbÀ¹–[rÞ’5lzb%‹¯œæ­¶Nä<Åó›V‘3u–ƒoõsi¡‚…—Z³…g_NNê$oí;Â…’õÌkQ^és¼°é1Œ‘C¼Ñö:ošÀ¹nÞGÔŸ'"""""Ÿ=¿â{ôî“—™` Kò€Ëïòý?{‹”s3¯þ©uÔÈ'IïÑ‘O[Îg¡¿ˆyã4WœOPµ¹”‰“o“–?¾Z!ODDDDD>w>#=zœ9²Xß\r–²Ê³ç6­a™FgÊ'L=z""""¢ '¢ '""""rO=¤&QÐ=QÐ=QÐùÌù•_˜þÓŸþT­(Ÿ_ûÚ×Ô""""rßSžˆˆˆˆˆˆ‚žˆˆˆˆˆˆÜÏ~å¡›Ê&"""""rQžˆˆˆˆˆˆ‚žˆˆˆˆˆˆ(艈ˆˆˆˆˆ‚žˆˆˆˆˆˆ(艈ˆˆˆˆ÷à©›"ò °†ˆlÚÂÁô¦Öq «—ZJDDDDôDvº—p¦3`ëèa”"6Öq6‡‡ZIDDDDfiè¦È¡w°’êêjªk6f{îòKUTS]½#¶…õž ÑäììÖ-_=ñô‘€?L´¥– ÏƒÇã§:gl®ø±8­õ!üžì´Ê¦.’–Z]DDDDAOD>µè¯öbc”®ÞTö§Ñ>âi°y+pçƒ`ü8]V;;wSWšað`#ͽ&$Z»Ž¾ å;÷²w»ôáÔ· ¡¬'"""ò`ÊøéOª–y€î ¼¶>Žî#U‚D£äS^éÆ 9;W)5õ~J pÕxiñ8‰ÃI,g‚ØPZC¿ŒTE{ØÕs˜d] %vµ¯ˆˆˆÈô¾öµ¯©%Dî‘™™®^½Êôô4ÓÓÓd2,ËâüùógÒ£º<Ÿã‡»H¤žÄÖ5 ù©(—Òl lsóØ€qÓÄ2“˜ƒ;ø†gǼB‡Í  '"""ò =yÐÙ)®(Çqø ±øqìÃàØXA±®¿ÌŒ’2Ám‡L:Í8ï0°.ÀxñKìøqØ®%C†ZVDDDäA¤{ôD>+Q¯¤’…0ØÖJ"ã <äâÆÎ¸aÚš;‰÷vÑÚÚØp—»°»ü‹€á=C£¤“qZêkÙÖ>˜íé=ù´¸UAf 7ºyÌ¥ÍM…«æwppÄAiÅN|ࢺu'î ±WjÙúbÃ~jjü¨QEDDDHº)ò ±ûhíï¿í$›£¡¨"t›—§çSVÓBuýmtú ïöV늈ˆˆ(è‰È}b,A¼¯—XKlORtªMDDDDôDäAf GiÜÑG&¿˜Í;ðë!*"^V¼Ä IDAT"""Ÿk‹,ËšQSˆÜ ½^ÁëõªDDDDäc§‡±ˆˆˆˆˆˆ(艈ˆˆˆˆˆ‚žˆˆˆˆˆˆ(艈ˆˆˆˆˆ‚žˆˆˆˆˆˆ(è‰<ˆ,†"<? ëc_›¯ÆŒ’ü•69AØçÁã¹ý§ºkìSmÏdw SG–ˆˆˆ|vüŠïÑ›ä{ychþo‹Yº²„µë7°®t¹ãÆO ¶òŽs,ßÔÀZ·L{S>ÌÇóÙ¸1Ÿx´Óíç¾mžÝMKoÿl® )°•Ѧcì¾^øg%‰µEq”qëýƒ"""òqÏzô–{ÖóôÓëyâq'œ{£ßãõ˜T‹ÜSc½ôVRSSMÉ@”ø¼Î°±®J|¡Zk©¬ ð©ïb®³*Õ¡:àÃçóáó‡wq­O0ÕM¤:€ÏçÉN‹Í›FŠÞH-A¿'@mëÀl™&aB~?~¿Ÿ@(Ltà£wYÉ.šªøýþ¡p'Ùb,zÃ~‚MQZµTýø+›èè"R_M(èÇ_Ùr½7îŽu£·5»ý>Ÿ_°–Ö„ ¤ˆ½XËþÑÚªƒ„»Çt€‰ˆˆÈgBν*ÆéyŠß_í¿ÛPþÚ¾w”sGbœ~üY³&Îü„7cÇúà S9KylÞ[çäB¬™¶“&«¶|—?^“Lr&ú^?Ãã/|‡o­¼Ä©ƒoräÔ9.M±r-›·„(½]ÞÄ~òæ!ŽNqÈYº φ›Ö¬ wr„7¿ÛF?%¬_3Iÿɳ˜,ƹö9¾*e ÀåA~¸ïýg/q…Å8ßÄ–ç¾ÄŠÜI~±ç;¼1dðÄÓ+9}ô=Œ-ߥ~MžŽ ù„¥8Þ‘¤¬¦§ªÜm´õ¤V:³“m62#=˜ètXCQ*·4óŨvÄiÞу#rˆ^f"Â3µ;ˆù;©t&‰Öï`0¸—cÑвuë6ÚJPdFûôí¦«Ñ‰™hâ™ÚâQüÃÍÔ·SßÙMÈeg,ÞÈ–ú&\]-Ü}g]’öp3þÝtEË0¬$±ÚJ¶µ”q¨©;FûRøì&l¤è mâ•&ƒ½QíI¢ÁJZãUDƒãw¬CÝø.÷Cø@/A§ÅP´’-í” ÚÙDW ´‹j—Ž0ùløXîÑË]áå©UÀÔ9N}0 ûØóúQN›«Ù\WG•NÚCìÌεaçúÏ00y޾3S°¸”u+aäÐëìë?GÞºoS÷Â&œ©“ttœàâ-k½Hßž×9zú"Îõ[øvÕfã,'÷½ÎÁ‘I ‡œ\àʧ¦¼|ûåxzåR'÷ñÖàp#¯wð³³°fKuÏ–`¾÷{޼Ï$›p‰“?3)Ù´™õ+stô<è&'nÛã<9q÷C'ctš^j¼`à®ysÿ~†æßªç('TšMYv—Ÿc„øÐ~vvwñ`”ú)µ¥N[ê¥kÔEhc vÀ^RÍÞîNêJì³eú©òfäQì¥Ð–&=n1‹ƒ·†®ì|Þ*ž´'èø÷¦z‰R*ËAµ»(¯(Æìë!iØÈwÉVÉËiÃá.§Ø>÷Òéñë`wGèî~ ÀŽËëÆa&Ië,‘Ϩœ«XÃX \Áœ˜âòÅ“œ–®ßÀ—ŠVÀÒ ¬<¹Ó'F`ËZ7Nò³3ýŒL–²:ÕÏÐ0Ö>“O™SÂÓë¥(o5O{Ž1t²Ó×á¹!çâÄ9`y9ÏmXÃ2 (ç4§ßbðÄ96?·xvÆ•lxz ,O•ðöCŒœJ1¹bˆSΧxjMK0xâØ{}ï$6lº¶š•›ª ©'ï³òxÿH+—Êy¡:{¼À$ú:xý¤“ê6°"÷~Ûf‹èaFFÓlýêáy¿ç³°Ž&w6lÙò 1fóvƒÂ|èÏc$b»hïšÊ9ÎHÆb#`™IÆ36öë¥ÚlXÌ6›ûµisÿ“a,a|°ž€ßví·Ì8”™æ¼ù>¤Vf’q ózm°ÒŒÏ­1ß6o 6»mÞ·yåÜ¡˜ni#60–Ê™%[§ˆˆˆ(è}4\ºtXÌÒ¼®œ›àÒÑïñòÑy³]¸„™û(^ÏR~vì ýç&0N q…¥xÖ® —3\¼0Äßyù†‹ô‘K“7½IóƒìÅ«±üÚƒ)rò–’˜—&˜b6èås9-Ï ¸bN29af{Soñg/¿5¯ä—¦ »ˆÁŠ¥êÉûlÈå‘o>ÏSÑ×y= /lyŒ©þ^?¶˜Í÷eÈÌÑx>uºob˜ê¬¤rö¡,™ñQLk6gY&£ã`ä˜ñF¶Emlïì$à´ƒÙK}`Çl r‘O‚” s'™Jb®ôb£À‘cc+‡šÊî2ÖÝjnÝéyëÎŒ¥Á^F>\ {w[έu($Ý\OKª†ÎÎJ\v°šÔª?ODDDô>’É÷FÏ9 g5g.‹/æ—XúÄ <ï½~Ù˜“cd{Rx‚ÁÁw9tè,ÃjÏ rW”²f9ê£?e2qaCÑ=ì;rŽ 'Ÿù°·©´ô¾y¢':@aÐë–€ãg£k˜hO [¡#VO(èg}m×K*\PP^G…£‹­ÁP=1G OÚ9®%štQÑÚ€;±€ÇÃW+c8ê^£¾dáàcøšh­ö­³Oݬí ãÛ8{?ÝÝrQѺ=»n¿ –ÃÎ0¯…?j/áêP€÷¥JÛ‚„¶¶“©l`sá ;ª# ØŠÙèµ8¸u=•ѤN ùLX`YÖÌ/·øíÞ£‹——àݰ™§æ½Gïò™#¼õæ †.M+=OóÜæ/]"wñÄ¡ùЀ“Í Šw“x÷à›í?‡ ä,-aÝægÙðè’[ߣ7q†Ÿ¼ãØé®=usí¦çØPºŒÜÉ÷‰5ÿ9''V±~-ôÿ,ûÔÍ•Ol¡ê›²˜¼8È‘7qòì%¦Èaé*›žÛDé2fŸšÇÚ?i ôH®Ž¹£™™®^½Êôô4ÓÓÓd2,Ëâüùóx½ÞuÝcÝÕlj/ç@¬§v…ˆˆˆˆ‚Þg¾¦×‚Þc¼ðÝjV+«‰‚žˆˆˆˆ|F=¤&ùlÑ£ED>C Qzj‘Ï»ÏÏÐM‘Oȧ9tSDDDD4tSDDDDDDAODDDDDDôDDDDDDDAODDDDDDôDDDDDDDAODDDDDDAODDDDDDôDDDDDDDAODDDDDDôDDDDDDDAODDDDDDAODDDDDD9?ýéOÕ""""""Ÿ¥ ÷µ¯}M-!rÌÌÌpõêU¦§§™žž&“É`YçÏŸW㈈ˆˆÈ'BC7EDDDDDôDDDDDDDAODDDDDDôDDDDDDDAODDDDDDôDDDDDDôDDDDDDDAODDDDDDôDä¶ÌMÕA|/@e8Jœ›Ã"Ù¥³wìî KÐíbÈRÛŠˆˆˆ(è‰È§òâ4Ö6sxІ¿®íÛ¨òÂðñ6ê»0´6·ÑÞ3ÊÝd·TO„]mû6Õ¼"""" z"ò‰³R †3€»ž†êÁ`ˆú–½ìܾHu Fª“Ðú9žñÃ[ùj …!Ë"Õ¡:0ÛèîÀÄ"ö±i×0ÌŽox¨ŽÒ]íÁã Ñ™š]g¢¿ÇC 2” Ž©8‘Úë=ŠþP˜è€R¢ˆˆˆˆ‚žˆüRìN/¥ù@bÕõ¢±8‰¤?Äïvaw–ÙîÅؼ ì~­ W:ƶW2hÛÌν¯Qåáø®m´Aix'U…ETíÜK“;ÿC¶À$¾c¡{Ù»{;þÌqÚ›Ú5ôSDDDä>“£&y@>"ÑÿL[k]ÇÒÖw0û»£”І„ý¸\lŽbJK °[~"ûÜàpá*°S¼±ˆŽ]# Œf°—ã2€Q;®Ò2\†ÉЇlB6Ï¥N SêwSw Ÿ&»vˆˆˆˆ‚žˆüÒì®á–a,Æ’ƒ$âìj;ÎþƸ»[ñÞ¼@f”®¶±¾ÆoMl5iâoØÎƦïo&± ŸÒªZëÝÚ=""""÷ Ýy@ŒõF‰46Ò:`v \nÕ ¼T d’$Ó7/a1ÔÚHGßΗöq¬¿ŸuE Él:$™Í‰cé¢Ý¤)§ÿ±ïµíl.g°£‰XRûGDDDä~¢=‘„ÝžäxOéøÉPw!¤‡ãćw!`Ù°éâ ;¿žÉvÝYé4©ÞNÚc£¤Hù˰ÙRôôôâ*/¥°Øƒ£náÞ‡ÛæåÆ!Z+·Ð‘ÙÈö¦ Š NÃ6í‘ûÉï¾új“šBäÞ™™™¹ö™žžfzzšË—/ó[¿õ[¿|Ðszùzñ4©3ƒô?ÎÏú~Î{Éi\Oõ0åß^ÃùãÿÀ¿®òþàw)û]ÉMÇþx”S¬á› ªÏÐ_DDDDî#‹,ËšQSˆÜ»wõêÕk/“É`YçÏŸÇëõªDDDDäc§{ôDDDDDDôDDDDDDDAODDDDDDôDDDDDDDAODDDDDDôDDDDDDôDDDDDDDAODDDDDDôDäVV‚°ÏƒÇsýã Tné&iýêÅuWã u’úå7Þz–!,í-‘OUŽš@äAbãÉÝÇhqÛ“Ô@œhËž©fog=eöOsÛìø"ݰص£DDDD>UêÑy`8Ë‚4¶¶²q¼ƒæØl_œ•¤«©’€ßßï'XÛBïÌõ¸›Ziª­¤2À¨¥5aÞ¦l“D´žß?àǬ%O):C>Bóúý¬š~½iz<Ó6„e  wFi¬­$ôã5Ò=·ØXœHuŸ?@ & ãDRW ˆˆˆˆ‚žˆF)!o>Ã=˜X ´ÔÓ<ìegWœx¼‹¦¢8Û¶u16;ûh<‰ÿ?wÒ릳Æbc 7,3ÞD8 5qâÝqº 9ÞØH,åÄ_éb4ÖCr.ç ÇèÃG¥;ÿ†2ì¤é;î nw'±®4ÄÙ¤·¹‰ã%Ż鎆Hug\{RDDDDAOD®G*Ãe€9Ži%é:ž¦¸ªš2ÀÀ]¢p8öÿ·wÿAQÞ÷ÞÿŸòceW"r@Œ¨pôbìi ½#fnÈ7rîTœ)˜9ÅI#N§¦_ä›`’AíÉÉ=2#4÷ÇfÉ=m+Nc6G ±ˆPZPËbqõ°ðýcE£©iûzÌ8£ìÅçº>Ÿë‡ûÚ÷纛7é™’sI õü=25›{ ¶ÞÉí´×€´|Ò#½Y2y5+­íÔµ8ˆ|,¤ÞZ꺼ËÖž€ÇV“xÓ|MI«Óñ4a%fžG¯Œ.Z]$­N#ÀšFAnœv£ˆˆˆÈ=¤{ôD¾ñ ìíL¡!Xqbw¸hÝ‘MúÎñ×]8‰¡× VÀ2©òfµx~ǘ\ÒsÑgwaNš´œÙJ„ÅE“Ó¡i¬NÞÉÎê3»¨³™XYÇ49“É49N´ï0LX­×_³F„`ÒŽQÐ/Ç ª›\$'bÅN¤ÕDê¶:ÊÒ¬7Â&ÀaŸ4IÒaÇ…«yJB 1aL^ÎpÐå4bÅS%LÃØRKk&œ0­¤,Þ wü¬MV\Ø®‰ôç°Ûq¡})"""rhê¦È7–Aß™#”¬Û‰˜õl^ æV>‚­¢nâ+úŽî¢¸äÈÄ=z.[5G½gé:ZÏùd’C&·k&.;š*9ê}xJŸ­†cŽ$²=áÑš¸št(Ûu kN1w³ÙæRã¡¥ÖæÙ&‡ªÊvíN‘{H=‘oÇÖ­ eüŸ–y¤fo£z}&1fOHK*.cóÎ-¬Ë¬ðÔØB’Éß^@(ÐŽ‰´l/åPÞÕ‹$òJ ‰73¬éÛÙ•¿’ÜtvXãÉ)}•ìÐñ°Çê•fÖÔ„°yüF¾;Jú¶Í+ÜΓéfB"“Y“Œ¥J{WDDDä^™`Ƙ†BäÞctt·ÛÛíÆåraÝÝݤ¦¦~[fÐT˜ÁŽ˜ý¼WÿW×]Om>¹ 9Ü—Mè_Ù–ãè:2w%R]WxwÕA™–¦nŠÈ—HyG(¯è%½ ýK„<ƒ3eÙ¤åVz¾7Ï袡¦SRšîÒ¹G4uSDî.¤íÊem¤õe”&[¿DfâóK(hßÂÚŒ ÀDHr»6'ÿÕUFñÐÔM‘{ìïwꦈˆˆˆü£ÐÔM=QÐ=QÐ==QÐ=QÐ==QÐ=QÐ==QÐ=QÐ==QÐ=¹®JrRRHÉ­¥ç¯nÌ «®’ê¦>«ˆˆˆˆ‚žˆÜ6Êv–SÑЋ¡ÑQБ¿MÅi¤¤äPv¤’Âì4RRRÈ\W†Íá]¤ç(%ë²IKI!%%…ôœb*[ÐSMNÆ޹ÀY¿–™»8cô)!?Ó³lJzÅÕ-8Œ3”d¦’¹#Õ[ÈIK!%%Ü’£LÔûš(+Ìñ®+ìÂ2&Š…FGJÖ‘îi;3¿„£Óï`=Æ™Z¶ä¦{¶1%Üíut7ŒGÝ.òÓ=¯çïj¢ëh ¹ãÿ.³á˜Èº•çfz¶9-‡âê3¯‰ˆˆˆ(è‰È× Àyj+ºH/.¡(Õ‚ÝVÅöÚ.ÀÁÑ›8d³’SºŸýû¶‘î:FÅö ΄¬¤d[*&À”º™}{óˆ±×²é¥C´šž¦tÿ^ò"Ïsl÷&*Î××eo Ü–HaÉfV†8i?´òè¡zêN8Iß\Jéæt8Qņ Õô`вk/²aÍÙË}›‰ë:Ħ ÕÓN?½ízŒ3”oØIC{$y{÷Sú´•öú×öLZÈÙ^D²ÉIkÍÖUÂêíE¤Zœ´V•P×ôÕ±i]9ÇìÉlÞ¿ŸÒ8¶{;mŠz"""rðÓˆ|“™H*.&'ÍŠ±’ª‡°Ûz0òC¼S2{h·µ“˜žÌúƒ³Ý“†0bB0„Ä‘ŠÙH§ä@2„Äj&.kU»ÏÓÒ나ñuÅP°9—ôPˆë©¦a÷yººr”Úv ®€¢œtBI%.f%íŽLF;µ v0¥²>?x«Áú•œ8TËÑž\r#§ëÓ-Ö“Éê½È2‡ !©„:D¯­#7db<’ ÈN3™Zκc.âò ÉN7“^Á‰z;­vƒ¾®lÀ¼Õd'Å@L‰5/q´º#9ÙEDDDôDäka%"Ä€Ù‰ pyž¾yYÛwQ_³[ €…ļ]”&{BÞd®^êÊK¨=qçäŸO¾ÏA¤ÕûW«' ¹ÃÞŽ $ÏËf"“Ó‰0š°;N°!#eJí½DN©n±0h¯ßÍ®Z½®ÉQwêx„xÇÃd5¦Iÿ6{:ä§ÝS¹;_þ )å“~½· ;ÉDêÀ=ù:ݪúdŽÉf{e6Û>ÎØNP[¾ƒCUÛ©Í®c5SÓÜ™²-T°Wt€}¹ñØ+sx¦üü­ßCà´Ûqf ºŽÔÓä !íñ"BG*Ûöo&Ù:) …Ü]Ý̰ídK R·q°4›ˆöž\{è¦ûêî¤UKHÐKDÞ>Êr"®‡E“U!ODDDî ºGOä~dœ¡,'…”ìíÔµÚÁB¤ÕXñºL˜gKGmçù‹ËSº3ìvzšª)«íÀÞÚBÏ=–3&ì8 ½œÝµM4Õí¢ø¥ì®í‚Ùqd?.õ íØííÔî(dÝ–š)U¹;á2\žÊžË½ý(5åǰ®ÞÚûîîÙ¡¡©9$½ u´ôÚé:QÁ¦u…ì:¡{ôDDDDAODþ^™ãÉß¾žÇLGÙ±n kÖn ¢'‰§_-%+Ì19¬N4Áù^*©ãübVÎ3q¾jkwµ’VRÊÓÐ[³…òÓÃ_”ôÈß[ÊêdGwn`ÃŽz\É«)Ý›O f’Š÷±-+Ž®ªM¬]»‰Ú¾Hr óH²Þ]—¬Éë)J ÁeÛͺ zž.åÕÇB ½œ-U繫ÜšMé¾õ¤šرn-vžÀ”œOáJÕóDDDäþ0À0Œ1 …Ƚ166Æèè(n··ÛËåÂ0 º»»IMMÕ‰ˆˆˆÈWN==QÐ=QÐ==QÐ=‘۸ȋoä{e§©;ßMîžV~;tãB#|tðcžùЉkš&ú[[Yõ‹^.~Ѻì·jqRw¸…gÊ>áɲOÈ=ð£·lª¿ó/V|Ì÷JOò½=Íý×N€‘«¼þÖ'líýƒ1ÂiÛž)=I¾Í¸ý¢ƒW¨kûü‹›¼Óåîf¬¦lòíú;Ì©_·‘ïÓ'+Úx»søŽVï²÷±§ê¿YUz’ïíùoŠ~íßÛ¸íq0r…÷œô쯉?ͼ}yô›}þŒ8yó­y±sdšG9uøžyÿê´ç³­•UÝ\¸Ûý?ÔÇú=ÍÔèò%"ò·â§!‘oçå~Nñ ûž!v ›š/ÑFpBÕ±>é­¥£ñ,oFPñ|8Ñ~#œþ°…¢ÚK,z.‚ð›ÂÓe^9܇)c1ï/›…«§›¢wϱgþ?óÿF}Ùm棺ÓüÜâÑÙð‡/·î^ÞnŽ 3a&¦{°ÜMB¢¢ KÀ_±o;?ckó 6>÷Ðö,ù‡Ï[@FàíÂË5ªj;99?–ê¼9Xì—ÙZ}ŽWÂ’x-ÁÿK"7NøÑ“È Òy'"" z"òU°w“ÿΙi39ÙæäÂÕQ¢—?Ì÷‹¼Ó9ÄÅþQb3xmÙLúOµûɃT>î ƒ—)¨¸DösIdt“ÿŽƒ‰£ÔµBÞs‰ä˜¯R[ßIU÷0.ÀÌŸz˜oðÑÁßóóÀV Úi¾:ÌÅA?2V%°q¡?žêË9Þh¾æ©œøñÝlL0O÷®ÙÛÖƒ<:èàýC\ô bããV>jºÌì.úƒyùÙ–ù9ÙSÑΕo…BÛU. ºè÷³òBÎ2®vRP?Ȱ{¢Š!~ø?§„¯ ¿kc}³™Ÿ¬™ç )ƒWxóÀ9/»4òô ya¾?ýmmä~Bås„ßq?&·Íp›àùADûy.§±±³ ÍÉÅ0µµ’û‘…ìÀ+Ô Ì¡üÙ`²_ÀÒÄY˜Sd(™A©pCÔA«‹õ‡<úÔ"^ˆ‚Ó¶s¼Ñä  dõã XåÌ <9ŽÊHŽü¢ï¶AÏÕ}Ž‚úA9GnÕ<>r…Ë©LžéÝ=üÿqã[V>ûõør¡¼öl0µ¿8Ç`âl.Ø~âŸyÙÜÃÖûè0€‘„Ç>ÄÏž#zàO¼3ÀžOäÛж‹Wû=ËáKì’h~öÝ97…ëÉý͹<„kvK½»58jÑînNŽ’1ôGrß¹JÆRš»]ô_ÆÉËYáDpüj«—{Û åGK{)hþ ¿ïþ#?¹EõšPïºGøí»§øùìÊ£€‘Ïi¬k¥®kˆK#¾<š¶—¿eÁdŒàdÁæ;8?ûX_ÑÍ¢5Ky!Ì3YÆu¹‹ü×XÂg) IDATû´…ÿ|ï2Æ hî1†™ÉOžO$sÄΞú 4öÁ˜ÂàÇYóí pv_`kÝeN»}  "sÖU×bx/Ç—=¿h§qp|åc »áѧb™ÓÐ ÙËøi” ^fýœÇù¯‰T~k&Œ\ãÍ_´qé» ˜ ¸.÷²µñÏ|Ôï†àøiÎB2Æ­1HÕ»Ôõ¸ô›IÖªxï9ïù€á䇧y±í— –.ååïÌÆ2åtÿœ#ïwðfÇ0¦@Kf_¯®Ú§¹)H‹ˆÜsšº)òùXÆÜŸsÜÉî¼¥TfÍâôoÎòËàÊó–R™5“SM½œ¹“v9iަzc"9A£t4ã­«Áì.LáƒKÈóëçÆ\ø`òåR‡“¥O$RñÜ¿P±ê/rpžýŒ­Í÷ƒe¼WøÕO˜9þþYꦿܘüF¹Ô9LFÖb* ‘G?¯¼ìœD* È6úx«Ã3MÏ„›:øÑšD* ’Øhàí¦kµ€Š'fâ?;œò%=éÝeÛYŠl¾¼ðì|¾í W:‰]•Ä{“Ù—èæÐûÝ7Ñöcjûþ,J ÀÙÑÇé!Ï›ßSm×0Eë&?îÀµ<‘ bˆ šMFbÐõ30@〉‘þS‚¤Ë~‘­‡X´*¢üpvvòâ¯Ýä<ûï>Beš5‡Ïy§ÇùygU7SÔ|^^ê‡Ôªóbù–p±ù/S]Ý—9IÏ<²`Òr1Äúù`a„Sݳx¹ðv' S÷áe\iKx¯ðÞ+Œ'Û}…#7Ng¸ÈÖú+Ì}<ɳÜÂôé9Þ8;|ÛþÏ"øjÇí£À(;ì\˜5›Œ``†çð‹bw^Õ?\À¢ž?òF«1ýñèÃðÀç<Bð勜FCÔ_ö%#Ùº‡¯þ…Ž… ©.LáWÏÑñ›sÔÚGÁpár»¨­mæÉ='YUÖÂÖßÝb:h`9‘n›¯y§<Žr¡ù ý‘sIMEa lLáƒÂ%ü0—¹K¢X8Êé¦ 4ÆP]øïmüg^ަ¡ãs¹ÊÛu—p&/æ½Â¡r•…“#àë~³ùi·½Ëؽ4€Àà¹ü{Œ•ŒHhîôÌt^¾Bÿì\]ƒžm¼J³@F¸/0Æé6ø~î#|°)‘|ÿ›MΉm¿Ò=@øÿðž7KÜç<ÀðÕNG-ðŒWN]àøàçJ'{ºgñ³çá`A9#Wèvßê¤Ë»ˆˆ‚žÈ?:ß2ç{*0–Ù³&€ìùžrƒ)(€`Ãõ…÷$yßö“±ÄâýÞ‡Øï&ñ«Ü‡ˆõ˜ÉÒX\†·-£ÂX>^a 3áo¸pŽŒpºÙQdy.%–¨¹¬0q¤wø–—œÀ¨Pø8ƒ9Qž`„Ÿ‰EàìOa3ˆ]ìéKT˜/Ϋ·¾WëJ×g}èfõ3 É º~ióšKFˆ§ŸKC‰ºæ yJ€»³~L×~øÒ‡É3_¢°ücV•žbs§…Ϲ^Ù0[ÉŒšfÚà€×ßíää…]ßV×@?¯¿Û‹%#Ÿ.ôFè° Àü‡Èô.A†¯ƒúÞ‘¿êP }è>ŽxÆàT³Sìƒ,¾Å<ð¥¡ÞÊ¥ÁpáÓK4ö|ŽÓoÙOÅóÃÈ©ÿ8»ûè0Ï!g¼ÿAðý(8õ鵉{¿nî/˜Âþ‰Ÿ-qóæ~«öØXóÁODOÚ®²—zV2#¡£ã®À VÌ¢¦ÉNÿ¸ìvªlC02ŠëÁÉ ¢¶ÍðnÛŸ9m%{|ìÍë9,adÌrq¼× æY<ÿ™ßIààÆG9˜óýMgÙÚ:ÝqèÏ£XpíóTîF®QwvŒå˃&UºF8ÕØN¼ö¸çç–`?\=—©;ë¤ÄÅ߉çåä™00ÀÉkd'xûÌ÷£fÜ´Öþ¶N¶~jâ…œhbýüXœ€³ÓI?£\h"¬X„¥­—ã—‡1µ'X Æí=¿fÜú£ iÏyo¤õóÅäwýØÀ—›ÎáÁÁ1L“>p!ÀŒÉ÷Ö× QБ;6)Œ¸q¹o±ØÈ5ªŸ§96žŠggca” ¿namç‡Î93p º§¬çÂÐ ,>ÇÆQ½pìú›:˜þI}÷„‰œÜ8b?úoÔ_fñ³a¡Æ9yûŒaœønö¹ã~ܲý‘k4v²8ëÂÇïÑK#¼ñOïz&ÂOwE‡,ÊJdãü*}¾° c ?óí¢ ®“Ï-dy€s‚| Žå`öì»{0JØ?Q^á­žÍ Ø:¦,`æÑäY¼Ùô:f_å”9„ò0àž(`!óñx2÷TÎö¼û[mV*c'l_ü‡ OÈ`瀛À@?O?¦íïŸ^Ã4?šeãÕÕɼDc÷0«£<¸ß¼|q£ø›=mšBÂøi^?ų¾Óï7c žE0`ZÎâÆ^{fñ‡Ë&²Ÿ9±­Ã“·sÄÍÅ!<û~ÐÉéb#Í×CöøÓŒ/~VžŽãf'+F vÁD%Òu¹›]dç,™˜VìM,K~˜eÉÀÐ5Ž|ÐÆ+õªWùcb+}Åyu×xXàÍÚ^H[ÄÆIa’@++{iì {Äʃü1EùPÛq.û°"Í \ûÊ? ˜kr•oÈÀéÖUYDäoI§‰Ü‡Lþ0èy(ŒÒÑÖG÷-—á¢1ƒàÈ™X×Àj:\àvOûxõÉŸÅ.µBw/ǽ•ÀþÎK7f‘å~~ú{þ|ÕŸÜûú²(x&«æ³Â~­¶ë_ 0Ü}Ñ;=q” m}tϲN<èãŽúq«öýL,ž=ÆéVýÞ`q±³‹¾fÍž¦¿CvÞ8|…Y 7‡úñ!vi t]ß6—ý2¯ìâÔ}…>XÆÇ?Ðo"L24<1½78f.±ƒ}¼Ó4HðÒ¯‡Ó–›Ú^¯:MMgŸ)h‹o® Y"ˆ5®PÛí8ÐÏ/»}X¶4К¦ïox„/W:ûéH¡qЗaþQ«®Ù{/ÙÐuÝ›€‰Ï©;ð߬ÿç5gÏŸx«Í‡ÌåVÏúàé¨aj{8ÆŠÉ÷…]»Bm·§?ÎÞ>Ž_ ãA\ý½¼XÝN•·Ξ?ñ¿;FY¶Ô‚iºñÅÅÉA¸:{y§V,µL<èõƒ&8#î†)®[xñ”w:k@ ‚½I.(ˆ¥æ!êÚ<¯¹ì}ü²glâ÷ŽÔŸãxÄ|^KžyÃÈ›y4Nþî2ÃæíçCøüY8Ûz9‰•Á‹ÿöýˆŽ`°ëÏÞãt˜>êç’.Í""Sªè‰Ü‡,óÿ‰¼°³l­h&<П °À÷/Ó7? yÿjåÅ÷›yò¿ü  æßŸË¹ƒ¤¨ÎDáíÖ³ða^îÿŒŸ¿sŠ=æYd>µÌÀ¯©ãsØøT(ùïvðvD¯eœãçø¥˜X‘ÇOÞúëLò¨q†ß¹üÈ{àŶ?rôšÿ[xòÃñÍñgÅSIlüN(õm<Ù8ê©JÏacV0Á~>ü0ëA¶ÖÊ“M¾‡=@ö|_:FOÕjÅšCØVVlØvÛ zŽ”Ÿé“”ôŠ«[px«wOî>´³cU ùGí´WlbÓ¦ÔŽo¼£…ê-¹dzÇ4-{%G¼ΞjÏúŠë¨ÛžëÙþ´¶Ü*]ÔmÏ'3Í»-™¹l©=ƒq‹ýcœ©eËø˜Þ0.=žãÀÛVzN1•6Çt [I6))i¬«½q» šŠÓHIÉ¡ìH%…ÙžJnæº2&šºÕ1Åõjs~u%ÞíÌ\WIË™:¶äxÛ*¬¾~¬Ýf?‹ˆˆˆ‚žÈý­«ŽòíÛÙîý³óP×”7æ-»ÖñÒ!Öœ½Ø·™¸®ClÚPMl; )?ÖK|Ñ>öo[‰ÑzˆM;ŽÐ¹’’m©˜SêföíÍ#Æ<õ {} `"5/ÈI¯˜ãW“Ÿ¸l4t€ ׉ ND°¹(›HǶ¬Ûͱž$Ö—îe[V­‡^b]ù¤é¦®”7˜È*XM²ÅIû¡T´@•ë6QuÂÅÊÒýìß–†½~…åg0Œvo©â„+W÷ígÿ«9XmUì(·Aòf^Í  ±hû‹1O·möZ6½tˆVÓÓ”îßK^äyŽíÞDÅH,.%/`y¥ûÙžl¹agôP[¸–Ý =Ä­•½¥›Y‰C/­eWËõ„â:VNCH%Ûžfžë< ;wzBñ­ÕoaG};1{Ù¿/›í4ìÚI-ÓìÎP¾a' í‘äíÝOéÓVÚëwP\Ûœ)÷¦¬m”–‘l?FyáŽL™ù颫v…‡z™—·½9‘7m“ç08OmEéÅ%¥Z°ÛªØ^Ûå ‰·:¦®ÿ2­U Dæm&/ì¶rÖm¨'¢`y‰&ì'v³û¨ãöûYg½ˆˆÈ]óÓˆ|øZi¨oþ5£Ú;˜RYŸŸF¼Õ`ýÊ NªåhO.Ùû8g%2>«É;8ÖÕŠÝÈ$&&ăBâHŒeêÄD‡ !2ÄtÃJ­ÞŸ¹°;€ï#rØV’O<Ðwd'\±º˜üôH#&­»Õ Œ'ž ¶m!'Ò\Gy¦¼—ö.XR{H,  =‰PBÈ«l`wC=]?LÇpö.lgz°&籿©xbÛãc<ÛjI$>ÒÌÄÍ“¶ #„’ÉCL¨™¸¬yTí>OK¯ s|1V ×LLb1Vû”dv”êV ®Íù™DI¦£4l8ACM;ÅëÇ×·šâÂLbHÃQ{ˆ—Z{h·CšõÆýg.zZl´Ç¤“¼ý{—1ì7î3«÷ ËBLL(„¤rè½¶^Œµ ½@2……Ù¤[!y_ ¶^ˆ˜´cÇv²ÎfƒÇ^e_a·žŒj"©¸˜œ4+FÄJªNÂnëÁÈ!î6ÇÔxl yl=«3ãqQCÕK­˜R×S™„Ë|ˆªM6zÚí›ý¼>žx³N}=‘ûYÜfޫΙxí8’OÆKãÁÏÝ p‚ )“­½WIë©agy­v×”×¾˜‰Ðà Ëî‚)‘ÀAO¯'F„LúqHÜÄ6:{íÞÀ5^ %)=Ý»ú3ÞUDãý}KˆèÅŽ.OlÝÁª”“VÐNïŒb6—¬Æ¹³†C»_â€)ާKö²%=ôÖÝ™´m¸z©+/¡öÄyœÜݰövO𠉘ȷ¦¬€Ýngb”'^7aµz‚ót"sJØÜº…²†*v«òüjj{Ks‰¹yí´×ïfW­^×ä=`§×X"ÏåÖø4ÒãÇ÷˜‡Ýfóe+½F&¡· SV"¼ ™Í‘˜&z``oùâcÊcõ1žÎcø·Å³½.ƒ«·ÛÏ.ôDDDî’¦nŠÜW¬ž°eJeÛ÷xï½ñ?ÕEœ`ûŽzZtJ?8ÎÇ{I5Ýi»fæ­L„‹Sï›2ÎÔPÙXRÉŒ™þݸ%Äs]ãQª‡£µÕÔ9ƒã‹Ölñ„¤¸"öœÜ§WIµBhz1ûŽ|Ìñ²ïÕ<’içÐörZîh¾ŸÁ™²-T8OdÑ?þ˜ƒëçÝñh›Câ<ÛÖÓ;Qésõöâ,Þ ÜÝ0Ç“SRËÑyï@)E+#°ŸØÍΆ›Ÿ´iØv²¥Æ†=yÌñýOrãqà´3ž¿-uTW×2ù¡!Oïã@Q"ôÖ°½¢ë¶ÙvÚ=Ûwô¯8¦în?‹ˆˆˆ‚žÈ?.sÙ…€ËF}C;v{;µ; Y·¥†Þa×DÆÑÛÎ‘Š Z\€ã¼gФɄp¶4pÔÖuS MßÌúD u7Ïä²}W»¶¯ã™5UœÇÂc›×“|‹ªKhjÉ&è­ÝEåÑ&ŽìÚ¦»©hå‹ÃPL:Ùó€öZÎôbï:Ê®ÂulªhÅÑSK~Z éÅÕØì–ÐH,&À‚Õ &“§õö†šÎL)].O¼1ìvzšª)«íÀÞÚBaÆÓD M´ôÝ…"ÓÉMΗ±£òMGkÙ¹ë."È^ÇÝ¡ضg“’’î#]8!2Ч h¾iÿôÞýér`o?JMù1쀫·…vÇ<²W†'(+«£éh-Û7í`÷î†)SO-1Äçl&/ÎWm¡ö®œúÇÔݸÝ~Ö™-""¢ 'òžôH*ÞǶ¬8ºª6±ví&jû"É)Ì#i^:Åy‰XœÇرv‡L”mNÆâ²±cgö˜V'šà| /•ÔÞôDLÌ1äî{ҼLjsÚ¨¯©¢¦¾WR´ï »2o3U24›Ò²õ<ÒBù¦ ¼TÓKâÓ¯²o}ü„¡òËJYì¢ö¥u¬ÝPN{h:é„Ff±¹x%‘­»Ù°f kÖí¢5&‹Í¥đ鹤ZÀ^¿ƒUíÓT¬Ì$³rž‰óUX»«•´’RžŽ€Þš-”·šH^½’œœØ½… ›ó†ß$§lEEr¦ü%6lÚI“)•¼Ò}ßõ\C+Éë7³:ÙEÝKkY³f-›j RóJÙ–nÅ|Ãþ¹š¸ž¢Ô\¶Ý¬+¬ çéR^},ÚËÙRÕKÜú}lËJÄyh6íä„å1Öï+%ûÆÝdŽ'{Ú)ßQÇ]}K_èí©Þ»Kz·ÞÏ:±EDDîÚ Ã0Æ4"÷ÆØØ£££¸ÝnÜn7.— Ã0èîî&55U$""""_9UôDDDDDDôDDDDDDDAODDDDDDôDDDDDDDAODDDDDDôDDDDDDôDDDDDDDAODDDDDDôDDngà"/¾u’î|7¹{ZùíÐ ðÑÁyæC'®išèomeÕ/z¹øEë²ßª}`ÄIÝáž)û„'Ë>!÷Àg4ŒÞ²©þÎ ¼Xñ1ß+=É÷ö4Sô_8F®òú[Ÿ°µ{ôK Ƨmgx¦ô$ù6Cdžˆˆˆ(è‰È7“ór?§x}Ï/&ÛòåÚNH :w.á_z+Féh<Ë›ƒ²ûùGx¯ðŸùYد×^š><^æ•Ã}°|1ïoz”_=Œ³ù{:GþŠ‘棺Oy¥ÓÌ£³u\ˆˆˆÈu~‘o{7ùï ™6““mN.\%zùÃ|߸È;C\ì%6#זͤÿT ¹ŸNá ½m×0Eë&?îÀµ<‘ bˆ šMFbÁã Ð8`bE¤ÿ” é²_dëá­Jà…(?œ¼øk79Ï>Â{…P™æCÍásÞ©¤~DGÎôZ=‘o(ß2çÏÀ2{Á=ßSu2l¸<©/d"c‰‹÷2ûÝ$~•û±~3YëkÀð¶åC`T˽Á)8Ì„¿áÂ92ÂéfDEä¹”X¢æ²Â<Ä‘Þá[^r£BYàOTà æDy‚~&‚³áÁXIDAT<…Í vi°wj¥/Qa¾8¯ß²GWº>£èC7«ŸYHfÐõK›Ô\2B|<ý\JÔ5ÍSÜõcºö×>Lžù…峪ô›;-l||ÙÓl%3Êÿæ°óú»=¼€¼°ëÛêèçõw{±d$ðÓ…þÀ¶˜ÿ™Þå‚c#ÈðuPß;¢óADDDnIS7E¾Qf`™<›Ð×ßñèvŸÛøú0)`\îçíÆKœˆábxÒ=_&óŒ)W OiŒÁÁ1L‘¾“^ó%:`ŒæÁQúO&÷ÿ2 øGÌ£zM¨§-¿IÛé &ó—¡±‰¿YÌwØ÷ç¼Yÿ9Ãæ˜8u,Aþ×+^f,ŒÒï²¾ÛõƒoÕþ0¿­o£&0†?%Üo„[;Eº˜[ð0Ñ€¿ÙË Ýsöt³µ¶SZ»“g]ß6·›“œLd]ß–+ƒc þù,OîabY—bÇt:ˆˆˆˆ‚žÈ?žIA`ÄË}‹ÅF®Quø<ͱñT<; £\øu k;¿8tÎ œkÐ=e=†f` ô!86Žê…c׃%pá+뫉œÜ8b?úoÔ_fñ³aS$“·ÏƉáfŸ;îÇ-Û¹Fc÷(‹³ |ü½„0ÂÿÄñþQ¢§ÙJgwE‡,ÊJdãü*}¾° c ?óí¢ ®“Ï-dy€s‚| Žå`ölMÑ‘;¦©›"÷!S ? z £t´õÑ}Ë¥G¸hÌ 8r&À5p…š¸ÝÓ~-Áu~Ä.µBw/ǽ•ÀþÎK7f‘å~~ú{þ|Å—__Ï$cÕ|VØ/°ÕöùÄKÃÝ9>à‡ m}tϲ²4ð.úq«öýL,ž=ÆéVýxÚ¿ØÙÇE_3‹fOÓß!;o¾Â‚¬„›Cž7é…‡½l? sðJ}ýø»4º®o›Ë~™×vqjHǹˆˆˆÜÜw,óÿ‰¼°³l­h&<П °À÷/Ó7? yÿjåÅ÷›yò¿ü  æßŸË¹ƒ¤¨ÎDáíÖ³ða^îÿŒŸ¿sŠ=æYd>µÌÀ¯©ãsØøT(ùïvðvDžƒOL^ÒLFÖ|~û‹slµRž¼€×–ŸãwN±‡Qð5óhÚÏ}ŽCvŠÊ?£yüWÏ÷!0>ŽƒÙAªŠˆˆü›`†nö¹GÆÆÆÅívãv»q¹\†Aww7©©© ùÊiꦈˆˆˆˆˆ‚žˆˆˆˆˆˆ(艈ˆˆˆˆˆ‚žˆˆˆˆˆˆ(艈ˆˆˆˆˆ‚žˆˆˆˆˆÈýGߣ'òwló'ÿAé§sk0äÞ\ôgø²iÉv>ò¼CDDä>¦ŠžÈß±½mÿG!Oî©‘17emÿ©QБ¯Ë†„ÿ…ß _ „Ü3VÿY&ü›BDDä>7À0Œ1 …Ƚ166Æèè(n··ÛËåÂ0 º»»IMMÕ‰ˆˆˆÈWN==QÐ=QÐ==QÐ=QÐ==QÐ=QÐ==ùFøÿ½;ý£IEND®B`‚murano-9.0.0/doc/source/user/figures/topology_element_1.png0000664000175000017500000000670313656750211024061 0ustar zuulzuul00000000000000‰PNG  IHDR\\ãïÒXbKGDÿÿÿ ½§“ pHYs × ×B(›xtIMEß  &ü7TB PIDATxÚíPTW–Ç?ï5Ý4@~$ðK£’€ã&…»£¶îÌH¨ÙD77ŽaÍþÊ­Ùª­ÔîΖ?à*l’ùgªâ&[•ªMMD&ŽšrL42&)í¬H\Ù0DԄ߈ʀŠ64Ýýöúõ¾ô4ÒÝ<¤iú[EÕ»÷½w_÷—Ûçžsîyç@„3¤Ùð!…&ƒÁît:cdYŽq¹\‰’$)’$ I’tÇétÚ€!„=Bx¨¨¨Hw:kEY ,qÿeQ~ÜîÚ€fà’$IQQQ'¶mÛv5B¸»wïŽ,Ve°X4 iNH’t<55õw/¿üòØœ#|×®]êr¹J€¿’&»>>>£ÑˆÉdÂl6#IŠ¢022‚ÝnÇn·sëÖ-Ýì“e¹²´´ô÷aM¸" xø9ïë£ÑHff&™™™¤¤¤œœLrr2QQ“K”±±1 ¿¿ŸŽŽºººp8ÝR¼ |(„p… án±ñ7Š¢ü ã}>))‰üü|,X@zz:ƒA·g;º»»iii᫯¾âƾ.» ü"--mït‹›i'|çÎ?Råàam¿Ùl¦  €¥K—’‘‘qO~aŠ¢ÐÕÕEcc#_ý5£££Þ—|-Ëò«¥¥¥§fáY‡ãmà'Úþ¸¸8V¯^ͲeËtÉÂn·S__OMM ÃÃÃÞ§¯ !ºgá;wî|VQ”ÿækgôÊ•+),,Äh4†Œ:::Ê™3g8}ú4ccß“&}’$m)++«YÂ…÷ÿ ”x I,_¾‹Å‚ÙlYƒdxx˜Ï>ûŒóçÏ{ŸÚÿòk¯½f )ÂËËËsœNçohÃgžy†ÌÌÌYcz·´´päÈïÅõ ð¬¢'$wëÔGµúôã?NQQ‘_ê\¨Án·säÈššš´ÝWeY~ª´´´q*ct#«E9 $ žzê)Ö¬Yƒ,˳ÒÁd0ÈËËÃd2ÑÞÞŽ¢(qŠ¢<»víZëÉ“'{fd† !~ |˜¢££yþùçÉÎÎ&\ðÍ7ßpðàAí‚:,Ërq°ª£41²ÒårbTÓ»¤¤„”” ½½½TUUi]·dY^Œk (‘R^^¾ØMv@BB/¾ø"ÉÉÉ„#æÍ›ÇÃ?Lss3v» ZQ”ŸX,–CV«u(±²¯¿þúýN§ó8à /¼@bb"ጔ”6oÞLtt´Úõ ð»7ß|3aÚ?pà€Án·²TcfË–-a)F|!55•’’­á¶xddä׈æ€DÊ£>úsàïÔösÏ=GVVs ñññ$&&ÒÜܬv-²X,ýV«õ¬®„ !ž*Õ_Å“O>Iaa!s<ð6›+W®¨]f±XŽY­Ö«ºˆ!„؃{›+77—µk×2—±nÝ:­ T¾ûî»F]—$é…ªÜ^¿~=’$ÍiÂeYfÆ Zyþèµk×^š²H)//Ïq¹\#@QQQX6SÙlÆh4ÒÒÒ¢v­´X,{¬Vë­ g¸ÓéÜ¥7iii<öØc¦5X¾|9÷߿ڌDÐ"E±ؤ¶‹‹‹ç¼(ñ%ZŠ‹‹µ]/VTTd;÷©bgÉ’%÷l+l¶!;;›… ªM£ÃáØ0áBˆl`³Ú^½zu„Ù»À‹Ÿ-nþšá/© evv6©©©VŒ zè!Ï,þÞoÂ…2šm²'žx"¨ðâé7~Íðª)«‘OÜ‹-bÞ¼yj3S’¤5þþWêA~~~D3 @cÉÏÿÿ€2EQJ&%ÜŽæ‰%)((ˆ0´„î-Vdÿ¥B·OBBBd± éééÜwß}j3I–å?Òžÿƒ-uEQ~¨çææêþ|„—Í84› S†$Iäææzâ[\.×€ßßð5Z…^W²ív8üÑG!CöÂ… Ùüӟꤔ““£ (ZËx„îî–7<„+ŠÂÐà ¿zÿý»…ßsôõõ‘›“Ê+0™LºYžü ã;BŠ/ž ÄÂøÆi||¼®¢ä­Ý»CŠl¿Ù¿Ÿþþ~5þdʘ?>111j3N‘>Ñ¢éyÝCÏøÑÑQöTVÒÛÛ’ Óéä?Þ~[×õEËŸ$I‹}®=¡×ưÝnçܹsÔÕÕ…´vÑ××ÇžÊJÝH×ò§(ŠoÂEYàÑg’’¦üPEQ¢rïÞY¡ÒÕÕÕÑÐØ¨Æžè6ÉOp‰F—œÒì~ë­·¼ã®C••• OYž{ñ—4áž«¦ºb«rûzˆÊíÉ÷©Îr/þâ&ÒÃãô0ÆÆÆ¸~ý:f³™U«VÍJ‹ñ«¦&–=ñ¼ø›p]f¸,Ëܾ}›¥Óà‡1 8Î{BúTbÛýẸ].ÕÕÕþ¾¨°lôñÔ´`ñâÅZ}:`ßç?Ñ«}K»àé‰ììl6lØ€$IÔÖÖræÌ™ úêêê8uêTÈ‹$/õò椄ëídJNN¦§§‡žžÒÒÒ‚î›-£^üݺç3\óÎ;ºõM‰‰‰lܸ“ÉıcÇ´Á<ÓJ¸·Zè .¿Wrr¦°eËRSSIJJbÓ¦Mºûömmsp"Â/«ýýýaM¸Ö01 ºzZhù“$éòD„_Tšðk×®yŽïܹ£û/ZK¸¢(—|Ê𨨨Kªû4Ügø{ï½GQQÑÑÑTWWë>¾×„½è“ðíÛ·÷!nq6››7oêêOKK#66ö{‹Ÿ¿}©©©ÄÆÆzËÆ ¡(Ê´ 044ÄÈȈڼ!„¸6‘–¢§"€ÖÖV–-[¦Ë‡hkkólcuuuÜ—Àè訧/”ÑÚÚªmÖÜÍð8©ÞÖÖ¦áß}÷§OŸºïìÙ³³Fsjoo×.˜''#ü¿ÕƒŽŽŽ ÍÚW^yE·-«™B°ËZÂEùb2Âÿ×­¨Çݸqƒ«W¯z,¾@œ>³1©¸råŠÖ‡4ôÈ#ÔkÏûмr‡ÔvCCøÆÆï%›8´qãFç] w‹„=êqSS.—+¤p:Þ)?öx_#O 2}t©FÞ~†pEKK 6›'qP‡·†2!áî~žß/¿ü2¦¨­­Õ6÷úÊ…8áF£q7`SÕÃÎÎΣ“h&­Îf4ßöuÝ„„oÛ¶í:ð¾Úž Nÿ™„?ï¹ùóŸp7~ 8¾ýö[º»»#Ìú@GG‡Öºt †_Ntídïi~ üFm=z4¢±xÁårñÉ'Ÿh»ªvìØÑánü3pàúõëÞ ÃœGMM }}}C‡ñDÆM¸ÛÓõºVV E˜fÜÇSSS£µ_v !z§D¸F–7ÂøÞâ¾}ûB2ìø^Âáp°ÿ~m_}^^ÞîÉîó7_ŠøÆSþÓÛÛˉ'æ4áŸþ¹6üzL–åW½Íx_ð;#Õjí²X,cÀº»»IKK›3ù®´hnnæÓO?Õvý[YYÙAî (ç•Õj=m±X~Àx! .^¼HVVóçÏŸ3d·¶¶ràÀ­ëùâŸü½?Ð4zŠÉdzÉí'ðȱpßÿTÑ××LJ~¨mlsóÁtÎÖ­[û Ã: Àf³QUUÅàà`X“=88HUU•Ö9Õmݺ5 ð†©¤B-p¹\_à≉aÓ¦MÚŒ aƒ®®.>øàíÆð °JÑèXAgW>yòd¯Åb©ž¢.\ ###¬dz[[ûöíÓ†®Ù€¿Bœ f¼)¥³¶Z­-‹å°0«øØØX|ðÁYOöÙ³g9|ø°V׊…Ö`ÇÔ%\±8Îø{žÀx*‹õë×_=“°Ùl>|˜Ë—/k»[ ú;vLi7Fï’‡O\ERRO?ýô¬J—ÚÞÞÎÇì­Ô»ÅHûTÇ×»èF°ءՀ-ZDqq1 !KôÐÐÕÕÕÞ³Ú”nk›"\…¯²2ÑÑѬZµ*$ËÊÔÕÕQSSãÓ=(IÒß–••ýVÏçM[ªŸ7Þx#qttT?ÓÎv“ÉDaa!+V¬˜Qù~óæMjkk9wîœ÷{¤Nà L¡»[tÚs+¹ëD¼ƒ;w­Š™* ÖÞÞNCC.\ðåñ¬~&„˜6§ÿ=If%„0K’ôד¿ËÍÍ%##C×’aN§ÓSüîüùó¿» IRE^^Þ<~!O¸vQ•$i“¢(ÿÊ4”wt8ß+ïØÙÙIggçÝ^=?ü;áVÞq×ÀL0ýŽñ¦{KKKÿç^ï¹R¢÷ãaØÇc3Y¨:ä !2$IZãU„:ÇO7„Z„úpQ’¤óƒáÄöíÛ¯„Ê÷›ÕeÖdYt¹\6ƒÁ`s:WB½Ìz„7þÔ ©¾&ŒdyIEND®B`‚murano-9.0.0/doc/source/user/figures/env-component-logs.png0000664000175000017500000015164513656750211024014 0ustar zuulzuul00000000000000‰PNG  IHDRáÀB´þ sBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝyXW¾?þwoÕ,Õ˜n”6‚"FŒˆ‰¢Ljˆ1¸Ç}™‰8q¹£ä{{Ì\à7A3A2‚‰»w4J¢21â nˆ‘¨ *M H·± ¡«·ß ˆ nY$Éçõäy‚Õ]]U§ªN½ÏéSÕ­V B!„BH§!¤" „B!„2:!„B!„2:!„B!”Ñ !„B!O@ü“æ¶ZaµZLFkS“¥©Ñbä­ƒ…7ëë,Ü-³^ÏWoº©5ÕjL:-¯ÕZóýŸ¿‹†ÊB!„Žžà¹.Ƶ?|ò!š­ ,f+Ï[8wËÒxK›o½{Q«Õjöà¿ü_¿×Ò4^+çdÛ ³ó@Ç!„By2OÒ~á“MÇó¥"«H$„V‹îIä¡P„V@\zþüE¾°üˆD¿ÃŒ®®Ðgí:u¡ŒN!„B~ÕŒ~Ól­çx–±D‹X$‰D"¡X ˆÅ±P,KD"‘P  ……B¡P „P(Â`0îÙ!‰˜ag oª­…É(vïþóÚš)!ò'„B!¿nF‡ÙTÏÀYý•ÎϺõ@X-V‹À*°ÀjKªÍ]Øþ×bÍf³ V«UÐùŠC·úýέ]ÿûƒ'Ëè„B!„<…ŒnµXŒMMbà–ÉäÞMi6›3@`±Z‚;Á[ ÀŠÖn¬VkÛ7t.V+kS#„B¿K¼V£åøF¡TÐ=Í„Bžô:£VsŒR¥d©,ȯÑ`µB@,XÐ6$ õ>QÛßÀ*™xÞl±0bqóÓ/]º´sçN³ÙÜ£GÉ“'³, àæÍ›üñ°aÃärùþýû¼òÊ+ǶŒ*Ñét™™™7n܉D3fÌèÙ³'€S§N8p`Ê”)eee………àå—_~ýõ×m³X8îFBLÓ·…ØÐÑŠ÷cÕ¯ÙÖßøÛÿ pÝués9_ÝüWªµ±Ñj1;M|ç™?ÿ¥íÚê÷캵y™Ó ]?Ys϶ü0åms]­kj†Ôï:Ôž:m~Ü´øãƇ¼K2$~KB‚Š‹BÈãÑI\–”[ò!ËVƆ)©Ï‡üš[À ïçÃb†m\‹Å" áä$p” XV è ™“@®ˆÅ‹oýøcnòßx³yJåÞÅÉdµÂjIíÚÍé/^ܹsg—.]ºuëV^^þ¯ýkÑ¢Eööö¶W/\¸ Óézôèñý÷ß=zT¡Pøûû¸uëVFFÏó½zõºråʦM›/^ìääÔ½{w{öìijjòôô¼víZ~~¾››[ß¾}Ôý¿%†Ë%v/„"¾¼€}À ce…©¶†ñz^ÔÍ™ñôÀeíô|VèÔÅp¡èÖŽÏR».3ç6g¾?䲿:²ö/ ±èê…m·E—ö‘¹®–ùôΒыʗ±¼H‹Ž3:_71Q¾|ËæUo›3? _²Û…/[5-r®ÍG¯!“#£&û?ÖRù‚è±)+·,xÌà5ù›Ò7ç”대ĵwPļÈj B~?™C‰Í€îøòøÿŒpåCs}Öœ9G¦ïH ù/OZQw"Ü‘…o']j3AâÚ/túâaªÇÚ¤'¾¼j‹²Ò×då_ª1¹W`èôÈA¿z“ëñ3ºÕª9{Æl2Š…B‘P(„B¡EˆE º9C … [;ËÏ߸}VkIMÍEMÞÐd¶w[àãÜÞs]vîÜ 22ÒÎÎîË/¿,((8sæÌ°aÚxnüøñ}ûö½råJffæž={l=//Ï`0Ìž=»gÏžÅÅÅ;vì8tèЄ Äb1€¦¦¦?ýéOÝ»w?{öì¾}ûrrrúöík¬¬0\.q~µÛÿüÍj2YFÎÉ+´ýÜ¡¯doOpx-Ô6–Þ%5C  D"CÉÅšÅó}iËèü•Ë\öB÷_$«Ñ(”Þ!ÃW\ç¾üBÒ½Ç3‘‹¨Þêx×Þþ:S¹Ê"À¿Ó¾Þ1{Z.¼¶hSLtt¢ÇŽäÇ©¼˜ÀØëö1ËG“='µ&hqìº`%Ë© rÖ¦,›S¿Ž¾² „ü^.2•g*ï·•|8õ¤?9ùé­bœúH겤ÖwË<Õc|„*bå–pö±z~âüø"ßȨŒä@ËkJrÖ&ÆÏ)Y¼nÅÃÛ\O7£ÛF³Ø¤X\SÛÍF“ÉåÿçärA»?NdµÚ£ ÍF;ÆKÖÅN(åþÛê×O ¾ké.\àçç'•J >¼   °°°5£3 Ó·o_«ÕúüóÏ;;;×ÕÕ©Õj•JUPP “Élã[úôé#‘HŠ‹‹[?V¡PtïÞÝjµöéÓgÿþý ,z=˜Íbqóš…V[ÓB(››­ÉÛÖnªmn#ëRSt޳½A ½«ÉÁíüÜj2ɦÎ:Òˆ´ÎƒQMŽZ,ÿ®Ò+X^”[ÉÝó²Â7| .>^ÝÎéúqLJކQ(}ƒƒ9rÛN.ÉJIÙT¤…DTÔd_šmsæä‡ÎPä—TVr^3b#ø¬M¹•5ÞwÞò„p%mþªÄôœržÏø†/Žš¨cevâü¬µŽW/Ž S1àÕ‡RSÖæW‚XÿÉQQ¾(J™§\—¢_òñœèÊÉOXg0 ÿˆ·UÛ7—hä ®hMbJv 0ÊÀˢ½€+Z—˜U³JßÐEînñŽÿ¢Ä‰ÍÝ3\YvêòMPÍY¦BAÜÄTùŒ!º#ßUÖh´Šàؤ% ® }M‰×²u±a¶5eU Ëù9sS7•.ñÕn›3'?|ž*ÿHyM^3’"T  É_•’žSάGðÜØ!÷^ë´%%÷Ý_ÀzúÓE‘òë_a\}•È-¿3AéëÚA]Ä—e%Ư)àJÿP¯ÖZ¬J/ˆ›˜ÊNÂ|W^®aƒ/îW´)û»ÊJ-š°|?ÛÞ•‚À@wfÕÒøÜ’š¶ß¤Ø„yþ,ÀmKLÝV¢eÆ+82jIR“½pþ6ßåëx3ÐZ:³GrÆ_¶ÓÕ´¬*("ÐqQI%Ë«¥&­Í×ðëº8vA à5‡RbÒóµŒBª^“´nÝd>kQK?z;_¾ìãi1ºÉL~nyFË.NŠ Qòe›RsÙ¹k"l­Fé»R²pZzzAp‚I{—¹ö#ÁÝ;]]Tp_î`\ý½ÙŸ/£°6?¹Å¢Ñݰ‰‘¨Q}ÕÒÔ$´wxPcFÆ>×…µX­V@âèxÿnÞ¼  [·n¶ûJY–•J¥¶‰6îîîhçž{®®®îÇÔétÏž=kµZ- Ã0F£±©©É6—mÄ‹m(¼T*5™L¤½ûoçåÞL_ùLä"·áîÍ’ôûõ{:!€"8rÒ‘èí—l£*½Þ^ÚAU¤ÎJJ/^¹wž/£ÍO™Ÿctu{•ž’_S  Z·b«Éš3=)ÅqeFÚF½mÚü5ù“;¸Rx¼® À{åº%*”m[™¸&hË‚”¸mXœ±7D ® eN\¢÷º´ððØyGæ'm ͈¨LM¯ MN¾'[v’š–+ËÙ–ßà5Ë_²*&µ×uqlØý#ExuÁ¡#Ešö_s)éí×›½1=¥¼ß²•Qþ,¸¢ì6tz£ ™ìÏ?¤æ5Egtªð`°¾áÓ}%÷,æPç;ÙVŒwx¸²æø ÆÑßVXPxy8r•:œ–“(÷ö°®Žà*l…æ>DÅ`=|¨ÑrМÉ)WFLn.öÐI^šœ3š{> (*cÙ»šû½ç®L¦€NùµqE«æ~cRôeÄܹ“&Mš;w’×wÑ“Þx}ÎÇ÷vB[’_éêk»|¼=ÄÖ_Ôa¥Ç8ú‡ù²®y¿/Æö7t:\)Hü'«€ñ÷Ð}W¢åËs 89H ¬ÿÛÁlù¡P†GEÊs’ââÒkBãçÝ—ŸbM«û2ò–KÖÛ‹²09))B ^}è¸Ök’­ŸšõŸ®,Ï.Òòå¹åL`¸? @2=ÔõžÔáÅWâÑ\$,W£ß ááèÊÞ׋§ðZí^æ:Žm:¦&/_þ¶GÛ)òà˜•èxÂç£7çl«ÎÀÛ‹Å‹U€v;¢­f³íF“I(˜-xܧ/ ÛûI [4oÍßÞÞÞ£G6·,ËjµÚ=ìù‰Ž¯…Iûô­ûß÷ ç‹ê¢ÿêòq†à¾4ßt®P·r…ØUéòÏUbWÍ»3ùò²‡®°€a„]žádËÞž ñô¦Ê«3a¼&/ö`Ld¼ïý)–U ·®ãEËl–e%ÀkµÆ†KÑÇÚ¦ó||9[M,ql9ã0¶ñ_LË00N×`d”­£¹åLC9ÇÜ©£†ç85G9{§v¯kÆ7b²bzª&te;c¹ù’”E1¹ p´¶½A{-ãÑù’§--™l»û†Ó5u{MÌiÝ&PÇó^âØ²ªŒBÉ2w]itön +w§áx¯6{§reåwß"ÊÕ4@áÑ\XŒäî™xNárÍü±›šÿÝ`TxéxÜýÝ*£ ‹Í@âüåÇôž›¾b²75 !¿¶²m){ÊÊs·—ßu©ü2eMØ–»ƒßЦ¥2c%+)ï¸ÒÀ8¶v‘0 #i¹¾ØªÊŽ®`åò–ë–£#8 ÇɵFÆ·%l3¬’5žiàÊþéËr•‹cÛ­AŸZMÛ:]“½pÎ&UDs0nÐqÆK)ÓÆ¦¶”T5¬WËå—õ`ïîVêàâëxç:ÝZ¦Œ\ÉâL¸+¦óZ­‘õbmw¬Ý{™ë(Ü}‘fý¬\ŽEËöTÚzFlÈCîÈz¢g/¶>`ñÞ/ëááÔÃãÇJµÉb´ÎÓ^NW*•hÓkŽ–Ñ/­Z#8ƒÁ`›ÅÖïn2™ŠÇ¾ùLìÞÝ5í³ê¹ï¯]3^¿Êxû´n¤íÿ·¶gèú߈]\XÍÍë&‹aµšëj¬¦v¾=pš4 bñë?½µ-³kôè´„ÿ#âKÖ¤ä‡-öÚ´,ýÞ6.A ñ¾íTO,Ëk¸æûH9­ÎW€Q(å¡É[¢înk²xVî(áZ? :ÞÑVit\s…ÐÐÀK,˪X|×:‘×jÑ\¹j¤oâƒßðÈOÙôvƼ{jJÆÑK‰Ür‰Çoã;oqà´Ä”CCV„)ÀÊ%®“2î õê"ÆØÀñ­Çßµ(G9ËW¶n §k«jÿVRFâïøåž\MXD›Žunv¥|à@% moVÉJ¼æ®Ë{Èim»x¤$æú.Nˆ €Ny 4߯éðEÝ™| |UwÕÓ ø–/;ù†J­±ãJ/zp ØÁ•‚GkV¸†°J–U($w&òœš“Èå,¾lSj‘×Cj6¥’Ðnl|Ê5­24*"knʦ·×-ðfàèÊJFmIl{™ã X𺆖Ku%g|´‹o;Ê×fg—E´},Ž6?«ÜÑžƒòöʧýHÐNð_°r9“¸‰ ]òLxü±.{àK‘¨mô´Z­í_ø&íª …F(² íÄB!oh§Á$—P«Õ¶>òúúz«ÕêêzçûŠŠŠ ´ô _¿~@·nÝlsÙþù„Œê9«ÅlmÓ@Ëßü¥Âgš.¯_mžË‘us¶455<ÞN 1ÙØqóÿcþñ&U_CsÙwAÂ<_UXlƺû¬\Ü|vÝÝWë1Ä %Ù|YÖÛéÉx…ûóùÛò5À«¤Ä­*⾬¸—»ÇöVÍ‘mEðõb 2;»ŒÀdð¾ÁŒr`¨‡&+»„À«s²ÊÙ!!*Ú#)©åÁQQKbçɳ“Ö”ÝÛÐPMÎørÏž½É˶lPä<¯’ôÔ|`ýÃ}µ9Û ´À—e'Æm+ã¡ ôuTçhpeÙÛŠî®ðUضd[ŽšÀ•dei:U®ô è¸ ØÀ¨ä))‹Æ¦òÍÏBñe‡ÆtEXBBybê´±À(ü''G²Pƒ—ôg7/šV¢ÑòŠ ÅIA @‘¥IŒ›8Ö¶€I |í¡”ÔÊàä_šqhNüšu îi¸3öœ)eè∬ÈÔô"ÿ(ÿ°Ø„Ê”Ô9c9ŒGpd¬Šã“2gôZ…Ò7<"H¾æ®Ë ã» iAÊòe7ñë•¡t,+,!ƒÝ”¾9qNjËóÑ'/ψxУÙU“ã£4‰‰ÓÆrX¯ðű*:† !‘Ä‘:Ì—÷õת&ÇÎ-‰[úF6ëêìQPÒa¥Ç?lÙªv®à¸ù%ÎY[©ÑÂwRì oŠJ¨LI?6Õ¶€„Ø0_²*>G™¦󢂿ĥòh'ÏSÀúÏ]~ºbîBÁ}7\–••mÙ²€B¡Ðjµ3fÌH$¶ß•Édz½ÞÉÉéÖ­[ 22ÒÅÅÀíÛ·×®][__/•JœœêêêÆŒ3`À€êêêÕ«W¿ð ãÆÐØØ¸bÅ “ÉÏÈÖ®H–¨ž5ߨ³Ünpš4õ™y‘OŸ¨‹Y@hg×õþ&VºUÏ›@òìsÆë×$=<ŒßWª¾ÎonÿóCîË/ˆœºX-feú:þRÉĸ.3çv™>ÇÂqß àöéF•N~ëýDE‰ã˜äý"Bþp´ùÇ¥æ\ÒÝ7úU"÷ ‰Œ ¡[Ù]šìùs²ßÞ’öÿŽGíG·X,µµµ·nݺÍ5èoýÀbµþ燉BÀ^,ð‘M·nÚ†¿4?¼ÅbÕ «Å èÕÅÑEéÜÅxŒÄ 0|SÛnøVÞÞÞùË_Ícô£ëõúë×®ÿxS§þlU㥋^sv° €Õbá={ñz½Ðlo€Ù #/rd…Fdg/‘JœU§µòM¶û1íBßbç/ˆÒB°Z­¶[Bmýè^^^Ó§OÿéÛÜú±„UyeÙ‰Ik l?¾8aý((!„ÎI[°ªÍoñÅÄþîRzŒñè2™ÌÍÝíÖ­…Âæîr¡¶¿­B¡]u¥P³3̬Ð7ß.iméY¿“Œ-"ÿBIš:!‚ñOXNå@!¤ÓS.X±cÁïj“ï¹.ݺuóòñáÝzXÛü0gs·´¡ à 0™`µ4¿A °‚ÖÖñ-=‘B!„Ÿ!£Pº¸ ˜1»¶_€Ðb±Em[·´à>h™j±X¬V«m ¸ÕjµZ­ÌÀÁ‚ö~¡³#¶po|ØO™B!„ò;ðãÑÛ:óÝw¹+ÿ9ISbgëbëJw`öö"§g •H,‰ ‘ˆÜ=ľþ"W7Éó¾Tâ„B!„ü"@µF#®¼&34dÏY™@$88 $ ìí… F³B!„ò«ftB!„BÈ/AHE@!„BetB!„BetB!„B(£B!„B(£B!„ò›'¾zõ*•!„B!(£+•JÛ¯x¶ÐsÍÉ/¬õ¶ß µX,f³Ùh4Þ¼yóå—_¦""„BÈ:£K¥RÊèäéft³Ùl6›éÀ#„BiÎ艄²yŠaÝjµŠD"³ÙÜ6»B!„ü¡3ºX,¾gEvò+Dó¶[,­IB!äžÑE"•yŠ,‹Õj¶ !„B ê8'O‹-ÛºÒ…B!Š„B!(‘§©õð³ÝøMú+–/š6ú•W^yå•WFO[¶2¯úAëb¨8]ö‰L IDAT|àÛŽ·´þðüצí¬þÉ«ÞXº.qUáJ´æl雫.Þóß²+ÆG_„îRyÄçu5åPäO^¸¥ûw®Iÿ«ï”LÄú+qGµWM¿Î¶Ôæ~”¸SmücŸ}?†[Þ¶ù££ÿ‘]eü¹¬;öÑÿ®,Ô?ê{£ÿ‘ÛöÀÓ®ŒN´­îâ©‹Í£/=U¤{ЫNí\õ„ÿŽŽŽŽþßÄU[Oý|DS?ý¹ÌcìÈ‘8–yZÿâ0ÙNÏñéÛÇÈkþêcë3¯,ùRW©ßÂÍÛy™ôˆèuß]ÅsÓåÌ9+##÷±ããRã=ßÕ®Nˆ«ŽÛ¼üÕ®íÏ þbufWïQ/Ê~Ñc¬.¬¶ï÷öC"ë¶fº«ë“.CîýìÚçòNr(ÞúqCAÓ’ÞNrñ϶sÁ€ð^ *`®ùáÇ]Ç4‹w4¥LtïýKWöºkß5ªÂÝ$è³ïaèKs¯:ê£/ʯ› ’ Ñ]<ôuõø~2 ôW¿>xêµþò[Œ{×gWÌþ럸b—vDJú¢—lIÂÍï­øTÅb uSx@Ñg|tâü¹/¢ïÒpˆœxqizÒ Í½ÛuW®×›™°"³XËŒ÷ˆ…ш¹†+;bWŸæX…jèÔþçÒÎÍÞ“ñªìþxS¤¶ïóêåg]Íü £%'¯4ÕêMpí–0ª+ŸeÙ —µãär0þgï•ÏäÏ.w­Ž<ë”þŽ3s©|îYûQúzÙò)îruÕ‡ù?^3=×[ùþP'¹éö¿6Wè<ƒ²ÛßßæoŠç…÷xÍÉZ¸¿t•ƒbÀí†Ë7 µ"vÁpdzºK:þ¦C—رî/H[?þëßš<öxÎ%j¸ÜUl.Ü_ºÊ¡ÛË·o×›jo ‡xö/ÝoÿßîÚ¿ùê”±/\«úðìí›ñ€Àîïû;0x‚ۖȵ»â/c%ÆÍêU»®ô—ÂÔøõ7U¯ñF»uYêàîRùŒ³ï¸6¬á¿¿-~u„‹KYÝáÆZƒdü¨gÇ+…0Üþâ›vý`2;3´ûkòv¾€Õ_-Ô» hDÿ œ}2阷W(fÕ>§Öh´Šq)Ë^êúHgß#ú¢£Õ¯N «»–þuiã?{¨=ø´«þA²«¥uz^â9rÚä—\$0ÖžÚµíëâº&@,ï>m|€‹0VÚµë`q]ÄnýÂ' pÔm]y´´Ž3±Ï‡Íž>ÔEè.îÙº÷»: vî>e¬¿üû¨ñâæU_ÖqXÿ¡.x¤üä®Ê&lþpåK³Ç‹7§ß¿nMuÕœg?™$r¿± ÞMÌJl­ƒ;÷œªlÄ2Ÿ×&É]bTïüpsS€g]~©ý+=k‹¦ÄL÷‘€îØGð׿‹8;ùý?ûÙÓ%Œüq<áXgÿ¡þ*Ô]<±¡àÖ£Î)q–©î3u„›ÛЩý5;¿i Á0¼úî­Äuë¶lO}K“–°¯¾ø˜lvêº-;6'ö?·"ù›úörÇ„ØoTÑÛ¿þú?›góëcW|«7\YŸ¦•þå×_½y6&§}k ‹‹Ê*F¦l^9Ay'k¬]QÜ?qûW{÷îI ]›vÑ0ОÎS¼»rÝ–›—*Ž¥e^1 bߊ]ÜìÍ_}õÕW{RßâóŽ© ôf<(*éË—±ƒÞêWFv6êU?`ø6-af¯ýú믿LKûyÂú+··£û0ÊwÓw$½Ê¶³]m?;/96³×~õÕÞ¯¶/UKHø¢¨Ø•V6"õ˯önŽ~>oŸšï¨¸Ïõ{².n‘æÆÃè–0éùµÓ»?WS÷Y•µ‡ŸL~Cwþ6à6w FüªŸ]kð•ˆ`¼Éñ<³¦»{Þ®Oü·Þu¸÷¶y¾Û&:3—¾ÿøªËÙkÒ?óʘî½@Êm,hâ!`ÄÖZµé•PÏ•Ó=§àVÊ7M#ý2¦?;’¿ùÙ5#`Ø•ýÃÙgÜÒçùn›åñrMu\A#ls]k|áU¯•ïôJ€ƒùÚï¥]Þe§øéžoIõ^×kÛ<ßm»±ê›— x’{?©ãÈç„×Êns°\ÊW¯ºá;ËwÛ<Ÿ%r}âzŒ79οçòwžÞ´ï`-Ÿ]ùÎóñ*ÃçË¥c•o=“<ËwÛ<ŸØî«²k¾ogðL£º°N ²ÿœ}¼æØÅ—f¬Û²wíl~_ÚÁêG;ûí6Våçë}‚}d.Ã+·ŒO±ƒ©²¯þiÑ_ÿßûÓ=ÔÙÛÎêÝ©m{¯zL‰ùûßÿþþxçÒ½»Šõ€Q½>[÷RäOŽ™îqu×–|˜ª‹oÌŽû{Ìxçk‡²¯ÚÜõÛJ'ü5...f¶gå®õ‡8 ÎÞoò”>vvf¿ÿçác§bÅÏMQ¸»¸Ýu“y¾ô\Sþúõ{Ž]­Õ‰L.·—ÐnÞ|J2rQL\\Ì‚ }öú½j# ƒ»ªö˜öA\dð+>¸zêš±¹ëþ´Î9È_þ°¹( êG¤¹Ü¿>ÚKÀØËôÁÚ‹WOªûËö%rþczUí;ƒQÑï°/ÿfû¾#«š±Üsàèqcú»HŒµ'vl´õ£;IÐXþÍöÝG.×5™Är¿ÑS' ëi4V|³}û‘‹uM€L5p̤?}æMvü=êäÌ¿-ìK'jç`l4Jì%šÐùT|±“=H ÿì¡\ìÎ+c=oëSŒx« €T5hbu^YýToª·Fƒ7À°ýßÔÞ*–«ÐF>ÂÙ÷hǰ±òhþä!$}^ó22•'kúNß]ñÙ:yÐl‰{Ðpçü¯‹kGºHÜ<ôaôaqK0™L`=Ü5wߺÉä/Í~ßùìÑüÂÛ¿ÜÖÖ£ßð‘áC=eú«§ªíúí#—~îàÎÂjc¸€<ÀßEÀ#¨xý©kF‰®è´Îmxù#ÌEeôÇbo/L0b1}QNíÀQ½zÙkO¬É8 ¶ó ™¢j<³/ëdf†I=ɽm߸í-~ß ±?“¹qßšÝî1Óœ/oÈ8pž£¦“•µãdæ»%KFÏZµö˜N>tæÔÁ^Ð;KBÿá«´ºÐù³ú+ÀX{bcÆI÷ùïîÄ•©ábæAµFùúÁÖ³³øÝ˜¥ÖµÅ)ëÆâ4ÇÃ*Z®í,ËðþþN`NËñŒ[K­Ô6FÖPñÍê´ç4<^«æ•¬WÁáÎ"…¼–À€aZ>²ùÿ]G%¦cýú Ó4lŸ1ïF/¼ïÛöFuaóCz3ËhÕZz¶Óõ¦­þ¢XËà5Zô¿w…´]¼VË3}Z6Fʺ±üiŽãyžaÝØ–‰Ï³L{]Wú]£ÛÈGè#îh<ºHèØRŸI˜±ô5?ñ¾ï8ÝóláŦ~Ý{mï““HŬn›RIËìG‘ñ†…‡€c{…$ Z FÚöÛH Ïó à7n-ÞÚ<Åjt°ãL a„w溷mäôþ8·ÏOê>ÞQ]+b†v_àïÀâñwn{t7ÍÆfo½üÍ•Éß4Oo€¤Ö`%â;­Û.`D¶›u<Z¶W*fa©å-÷|k¬.TÛ÷ “ÿ^Î>´9ûðÈgߣÃ¥¹ÅÜMÓ??8Ú2¥*¿ê¥pw ±Ì®åÚÌŠMÕFŒ\éá=‡Kë ©v>8®Iloß¼Ï$ö-ý"bqË4ˆ%bÆF]#ê¾ü(á°mº©ÉÄz4!ðLP䟇·Þ¡/ú,íèƒÃÂýë $2Ï—Â=_`Ô«‹fïúl=Þ_ä§o2q§Ó“¾k^¬©I,iØ6Ÿ"q{ÉÇÒŸ):«÷xÕGÓÃç"„2ú#hÒë´Z1kÏ}u® pöSÙÃ6 Å9tê¤a @ûM¦p4º¿è)¾xqíå yêˆIwδ[å'Õ€3*ù܈ôôå~2 "sâôÃí¯‘”íÉâ\ë"x­wBîýñôùQ‹’F-‚¡:/mqBì¾þ[&¸ÝÝCw¶NÞÏóÁ½™²>£¼ù™Çê_ls‡hõ¤õü„¥#ùQišÙk×Nè)…ábÒÛ‹µ÷t„®Ðv1 Órl ˆQ(X†cxŽã€®ÍÛë¢W꜃<~ÞÓ[ØÃ[îrVwþ†õ N:ê¹ït”‰$cƒÉV#Zn™„Ì-’aG3súó¯9´l9ÿÐåòY£ä³`Ñ©kâTnìþü_º {çÞï¶þ µµ×p{&9#è;¼W²§è®Œ{ãÁó‹ä ®Ý67‡rƒ‰ƒÐ…¹g¤±®H-ö.ÿ½œ}Ü}v ë‹VºYм#U{>ZŸ_6AÀÔ¤oìÀÄ5‰í$bÝÙÍ[ŠÜf/šã#ô…+“¾¶5XìLÕz“­5jÔ×êLr—vëh{g{±Ûkï·ÜzÒÚ˜V&osÏ­ýÃÂÀýëfÔ]-®²óñs·‰Lå6²¸p}q1@f'~føÂÿ7ò®µ2VµÍ· >vŸº¦ö8«÷ó‘0!(O6Ýt93%999ùãµ®šì<ÇL¦hÉü gõuz2Û¿ ¶—ÛMºÆ¶ã›êè¤DEEEý=S ˜juõ¶ùÜe'¯¾ýûz)è;®ÎJ8kþëøê“þ3íˆ]Ä{Óú:uêÕ­?–yZ1jèûÎà6t”ò\æ1Û0Wí±/Šõ eŽiUüm¯ú‹/®èÏ}qŽ÷¦º?èÉú¿åÍ}“yº@õá乑iÅõœ–cÏ+e€¡:/ó€|sÇ xê6h”J³ó‹‹†Šƒ;ËØ¡¯ªÚ‡úo“æ,ʼb uó~^qÿ;l½™>ÑÝuÄÂw”§'¸Xm ÕßL>Í+•R^«å¥J! ßdžãZÖ–áùjÎCGÛÕœy¼G ÂéÌcÕPnç1®Ï¨>2Ö»¿RsàØ`¨8¸þt{ ¨Q}ªÎ9Àógo;uyKfØUPÿ½\ñrÇ'ë*÷äõûl»õã®*A_?æ —èôšÌ¸ëlÆó'*>¼ð€gü `¶4˜Ákª–m¯:€PÞÍN.LO¶sïjè4ºíýáì3]ÿâÍ@l÷ª§èò·ÚïM,º«UÿwX÷ðÇ>Ší^U‰®ž½ù½ €ùÒwºÚgœî)I£î»R“g¿‡ ñøÍœ}í6帇ž}v ×­v~ÉçN6–8¿äƒâ¯¯Ù:¹êNŸR4–žº 774êaïæ, /=š_S£É(qð±«>zªÊ4ª}–¶¥¨ƒ=)÷ ¯Ë?ªn€Æ«7o=Uûð‡#šôM¶ÃOÒœÌÛ]7 ‹nY¿ë”Zo´]õÕ§rKMÎþÎ{ϗܸ£¥z[È>¶usîýå”8¿äg§þúëSžC=í<Ò\„ü‘â{Æ£’çTÛ‚:ìž~ÙYõŸ¦¾¯³*'EìëM-›l î¨Z¢á +.îVóïïç­±À G×. ü¥€¥ƒ¾ó.˜ïã×–ŽŒPWV}¼¹X@$~ÁÏ}¦Rød;°žÍ¾ôfó˜½ÝV¾,ï! ì¤úÓ7UÑnÍVÈÇw•wÔgܦ§÷p?ýû‡è 7Œ€Dî´$ܹǽùµ¸Ø¤û!¿¡³¯½6û°³ï‘ŽacU~¾Îm¤ìî¨ÚGœþu±~< véÿPë¸&™Oø´~2‰$hd¿â½%eeÎ>aáaU›¿ül³jÑœ±³Ã¶mûìo‡šLvÎýÆN rWÚÞ]‚f×mÝüa‚ &Øy¼ôo:%Î|춬ÿÛ?Dþul¿>Îù»’‹gÏð¸Ý ‘…ÿy¶}öÁÍîåLÄÏxô>{ÂKrÓ§WoÝóQBšŸ'ÓÎá!qä/Î?ÚÔïOÏÙ6²G™‹?ASS“@ xä÷Ûž½(öŸÿ·i^wŸ<Æv'|²ÑoþßfyIhóÒ’÷©Åž!“BTú3ûöéäC—D½åR{çÙ‹úiÉYj™ÄÄar]Þ#Uòy³üÊÓÿ¾ãªØsÔÔEùÌcU²—ß‹çr1íƒLµ]¯1“^÷ëÕ“:Ö/¬V«Åb1›Íf³™çyƒÁPYY9xðàGÿ„Û·oÿ<]ì‡çOZÿêæ{¾½®ÈœÖò|7ò3¹²rbdÙÒ=+_¢2%töµQ›û´â‘1 üíiÝùqppè°ä[¨bؼù£üäUG2×nÜwžCgÎ}ϳ̓gÎé%¾˜µö“µYWÅ^!£*à8k~H/™úÀƵ™Çôªçé)½ç0š.ïÛþU9=‘ß}Þ²Ñcãóêè¿ýâ˜VõªŠ:!„ò ;ÖEÒ{^JJû¯t÷Aʸ¶Sì½FÌzÄ?ÎÉkô¼˜Ñ÷L´oo¢SÿiôŸF;ŒßÙ°¥Kób“'½–°ªKï&@!„»=îX—Ÿ¨ñ‡s9™™Çêìüßû`ZO±ò‡×yƺB!„üÊžÊX—ö+l?V;ÏÐPw è„B!„´ç×}ꨤ÷¼ä*tB!„B@HE@!„BetB!„BetB!„B(£B!„B(£“?Þ,¤c˜B!¿· Cù†ü¶I$ôOB!„üö0 Cün‰D"©TJ½é„Bù­ …vvvN/b*&ò;ˆé"‘ˆÊB!¿ŸOE@!„BetB!„BetB!„B(£B!„Bž€8//JB!„N”ч &¨ ÈSaµZ-‹Ùl6›Í<Ï †ÊÊJ*B!„üÁÑXB!„B(£B!„B(£B!„BB!„BB!„Êè„B!„Êè„B!„PF'„B!„PF'„B!„2:!„B!„2:!„B!„2:!„B!”Ñ !„B!¿tF׿}•ôUíßñÏsòqÆò ÑQQÛýƒ‘v !„B¡Œþ$jÏåÕA,CwæÄÏ‘«%î¯Ïœ9sâ0…„v !„Bùƒ?ÉLÆÚ3'u‡D »¼v_ÑɪÑãzJš_8±}þ¢:“ØÙo˜—©5Ñ“”r@ß+b´øÈWu&¹_ÄÌÓÌ}—uûMœ?+Pa¬ú÷Æí_^=N’—”r@ßkâÙ±¯ÎT5‰åþó'RxF‰½äA!„BÈc{’~tcí‰3:8{Ù˨ ús'«š{Òµ'7dÕ‰{š93Ô¥üŒ®µ! ¦ËGʽFG ”Cw1ë“ÌËž£'¾ì ÝŬ}åwuÄ7¿ùÀ9YȤ‰/;›tEYYå´§:cBÿá«´” ç´wŽ‹5Éÿ®¥ñJ¿€ëÞ8pàÀÇ}^E¥A!„üî=A?º±êØ=œªÐhrïïŽ}òÔ=½$¸U~¦5¬owI/YÅ™éÛÌ'yô°þ.Zý‘3ûêdýÇ ëïÒØxìdVUmm#T÷.D>pÜèþ.ð4;™YU[¥Go{ÚY¤û[ó^ß‘±ó§ú™ÎlÌ8bñÞh—NÒn8Ÿ4fvV½í‰W‡u£]öÈ…w|aТÐó¯ûv¿ãþw. y÷(Àí½]ûg=Û Ö¿ª0'gî‰ÒÒë׫ëù–ÉLW·gŸ}¡ïðáãBÃzÑá@!ä÷•Ñê¼ M@Ó‘O’4Oº˜WÞèÕÛ¾IßÀÞE& ‘¹È€¶]¦ÛIØ;ÛI“½L¦û—"s—€½4юꤳæcCÆ'ÿÌ1šÜ'½7­¯SgY3}á†ìúÖnÌ© {XÔ$¿XK©ë”Ì}K{IïÙEÇ—†-:Ê÷ŒÞ·{ÜÏ·k ×÷'Ç$g—òí¼Æ×W—ÖW—æd}ôÑà÷–'ÍzAF»ˆBÈï$£7–ç]l‚|`Ä?™íß_í8vùXycï¾v2{@§¯Õá$1ê«ôT¼”˜.ùê¤xèèÎÐÇ7å€aÁs@éÖÝ×ßYø,í®_Y}ia}GaºêÄþçn\ß½èäÂæezôíÛëY€×_¿\Xxôè…z¨?ñÉìYúÌÏÞÛr „B~“½±üØeäýC÷u±Mq×9¶ïrÞå[}û÷ôwFUÝÉ}y^!²òŸ³etüˆéýGî\kTutc! `éRvEÂQÕÙŸŸÿsÌ È~Uúë¹Õ¾Öq|âÝžßЙ¾3—/_8äÞñ,ï Fyò¢„œzcv¿¹ûj¹Bé„óžÑÆò¼Ë&ÈzùËïä³^åÀռ˷à2lê˜^rÓÕ3èû‡¸SD'OÇõÝJm=bxð¸Á Ôgo(¤¯v~]†ª¥u•*r¯ÿÜ=÷ó ¶¿úF·Ðmd½ÞLZýWÛ?*>ÝpÞ@û‰BH'$hjjTä©°Z­‹Ål6›Ífžç CeeåàÁƒZ2<?fvv=€€Ä#«Ã˜Â˜°ws8<èÎQÃåc¦n­°2õ©þüþO?ÝšSXj»ßéê0|ÜŸŽëhüòó‡¶îÎ>Qxþz5g ¥ ëæóÂàÐ)³Æ q—> ÄÏÞ°{ÿ‰ ¥¶;™®=_Ž˜9+¬×ÝKº¾áÍñŸT£åNÃõÜ­ŸnØ}üB5`{ ysÊ{S‚;Z–þò¡Ý[sr K›WéÚÓ§ïqïÌ|3 Opº IDATùÉ÷ŒVí~gLri;ïõ‰ÛWúîÔ­íu¯^™Ÿ6DúÄûÂp>&lv÷(+­?Ÿ¶b7ÿì }}ú içîÑÇ*®ûgL¸ oâÁ aÒóŸ''oÌ)­ºNù4¦ê½¥Gy=ßÛ·{VG«Tõù¸1U`†¯<´bH› 3\?¾ûóÝ9…J+š7Ÿuó :®ÝãêkÒÎý„B:51ùÑnÈ©fð”!2}§³9ÙP¸ñhUX»·'J¥ ÓŠôõ×w'ÏJ>Áµy™¯/=‘•|"{ÿ{ëWϺ7êTŠ_›]qÏ'ò\õ…YNdm·:éÍg¥í´ >_¶è£w÷àë+ s6ælÝ8%mõÒY{kŠªÜøw—eßr¹ŠÂœO srf®_¿ð¾ñ<7r“-˺'0óõŽV\8ºõÓáqií®ßÓòöÓúž‡ t—½°0þ…^{ìâ’ÊZ÷9}÷²Ù]h}ÉÑoÜ`æèQ¨ØŸ[5«ƒvCUînÛáÿӦå¡/L[¸pã=cöy®úÂѬ G³> x/mù=7½>`M!„PF'ä©j½[” žb ¹RŸ)ovÍÞZ”nȹ>®ýgÊšóþÄ' ³OpLÏáãÆ÷uï*5TŸ?úùÖœ à/|òn‚Ïþ¤6†Ëi­½k@ø”ðÁ>]»I¡¿q½0{ëÖÕ@ýÑ„…Ÿ<»ké=ѹj÷¢ÙÙÆN³}ÃǽàÓ•áëK ÷ïξÀ/Ýúî»]w­Ÿuv®Úº,9»=‡OàÞ†êó9Ÿo=ZÁ(Ýóé›ûïº5V<~ê²æ'ܸ Ÿ2%4 —»ÃW_?ž³ukN)ê£ ï,cö¥ý¼¦t]¹o0WŸ³tö'º†/_ýgÓÕ½[ðê}SøëÞ]”UÀmæê´qn¶×¤?e_HÝÜ‘]  :{ÃñYñCžà¡-OT\LóN2\?‘¶ÿÆÍÇÇë&íðN0{4‡*vçV½ÓnHoѧômYgÃù´Yïnl9°"f†éõ¬Ã×_?Ÿ³{Cö\á'³2»6Ü5œþkBè„B§¨*§ùnÑÖˆH{›Òsë'@õÖÏ/O‰içKÿ–®[Tdç€ ]¾+)¸5„‡7xáø„<À嬨ýç!­1__øéÖæ|ºrWÛÀ8$8ìÍФñ³³êê­Ÿœøóêà6‘ñÆþ„¶€ÞsÊú K[{CÃÞ7ëͤwÞͪJ?‰Ï ßðæ=ѹtãV¸…¯\?¤Íú…¿ùùìñ•¨ÎÙ}ùÏwF5è WÄØ';<ñóa­±× ÁoN Ÿº(»ü‰„äÜ!+‚Îʺ¹Ëºµ„n@æææÞ:6Cêî.ß’Äw·gÝÝú¾º ž9˜‰=ÁõÙÿ?{÷ÐÔ™çÿ£†s $º&J ޶V`Åb¡ˆ¨… Zñ2€]°íˆýŽØÝ‚ûð»fV˜ï(v+~·àÖ¦E¾^Ðr)ÔÔ ˆ5Õ1+.`QŽ ^WO,œC°¿?®•jëíýúK''OžshßÏ“ÏyÎêEúø?¼«fè> ý'uÓ=oÐä·˜ä 7nOëm0É£­ßâ Òµ*kD—…F{tgìÆ­i–€Î(?ܱ9¶w¨æ£ ˆŒŽÎIX^ÐBT¿)½88¿÷›¡{·ž*ÃÑð ዊ,U ²ÈÞ(îk¹KР*¨¿Ï£ÌÌÌÔÉÆ%25¹û6ò>÷:ò‚Ì_éíáêêWeŠÄ'!ÞÕòÏFUSß[µå[- ]“¹j@]µD™”:ÓµêóU6**ߘ:à~HÖ-2^iù§¾Iß[q½*§ÜdAd¦‡ÝÇ$g†Š‰ˆ„ê­ª'ñù¥C9D4&l]f¨¬;¦¬›55,6)=gÇþcºûßú°ÝejÒ»®Ê‹Yïè`±¥µÅU6^¤­*»+¢sš­–‚}F¹n}ì]ߥH|VdÆÈ­—H±–°%ðTÁ<:‡t.¬'$sÏvïôôMÕÖ Mêò&uy‘Xî­T*BCClM¯?‚îòN˜ç6pë*+ßk j)¿{&]Û]è"Ÿ×sÅruÅjË ¢þñ¶W§a=££åE[ôDúªcº$·»gçmµž&˜G‡g§Þª²Ü^è: ¡Œ N°¬Á(¨ó«®ßã žÁ¶ïŸ”yxˆ­»î^ëzó<׋g»ë6úÌârZµ5@ºÙ^ó…u ŽŒ ð¹û×2oo[ñ‘eeÝïÔó5¯Wk-ÿ’+[ï…uó·v”V­âV!üIçBâ›]ümiÞºøyJWqßߘôõÕåY«ãfD'çT ˜YÝ%ö±©Yhëä~S¹zÀLº¶ªØ:¨ŒŽì¹b 늕r¥Û`ƒI¹‡å„ëÕZçÍvKà)‚ytxf\¯Ê·L?’wÌÌ»f%ÊF]-Õç—k#mß9J$s•3¶ã™ÄMBd""NÏñ½“âd]©¯\¥©kÒ›d(¡µ5±LÆ õCŠÝ$6ócO)r/A§³6§~í¬©kïs`“Þ ôûTV®þ3=%÷¾á׫®7=úúSÎE÷.ÊÈ$ed§«Óh4µF£é^¾‘Hh©.H©.]¿=³§¦åt—‹ï=ˆˆõœ*/*Ò5«uÑ}Vê‰èѽƒJÞ µ<äK Á 7 ¼Üi £üÒtª|K©ãŸ`«W¢LW—›ˆZŠŠcY.šql ¦û^Fçú 2Sö¶ ¥¡=+²bæçìÎ$ iwŽï.’éÑ£S³|}ôGk¨çÂ&‰‹O°‹Opdñ×µšêâ¢ü"µžˆÈ Z›(wÛ“d¹¾»13È õŒ•ÜÒµe½½·…¡µ„ãîÞ{ð–2:À/‰o,²®TG‚:eÖÔ{îl(+¨_•©üÉËѱ=ošÓÐÐñÑÁ>r—žiçÞ§êôkjŸ¸þsvIoJóXµ1Ùç~ œˆ]ŸÊꈡœDvŒ[@tr@tü±Ìå«÷êɲäNBN°äu× q‹Œv-ØÒÒ?¤kËT–ˆî3ÓfßËcÖ§ß÷¾O±\þÝÈè?WD¯/(3<øî¦ª|µí;GÏÛN8‚`MÔLŸõ»­+/2þëöäDÞ=Ýl3ƒKº+\8ÃÏšÑ{KÔ¹R©”2ªÖ‘¡^Ï“ ¦ÄÑžN½w‹º®HM¾gùôu™¦:£ž,‹GÞ½« UëøÍÐÔdÍÛ.–1€`0toñ±9*¸®Ùkëaì7WR·‘¶ª‰‹s׌-¯-ÎÞª11Þñ©±?9,²nþžT®!"ý1!Ùó©›¹ ¾1'1± ÞDÄÌܼ?û¾Ï5u§|±ÌºöÎÏÝ]=+FÖ—k®G†™z#úÀ9{¹CzȤ©ÒòJO„t€çÖ^„§Ÿ¶Üz·(y'„Þ'Zõ¬ÁH-EE6vЫÊm-f§S—YŽDÁÖñ¦ûžOž³ñ N³u“¦'n }öp ¶” ê¢cw¯ÉkwlÝ«R©Tª:á¡á.Q.´>Ù¨¥¨¨ÑæÊŠ|cvtXlRzþþFîq¾Á—||ðsA¬K€õÌ ÕY9šû|îØVëÝšä9Ó•ýeºËefŒ7Õ•×_×VY"º88ö®²Öcžõ5” òQ´;¢ÓrÊê8üà Ä7îè© O¸ÿ“%þ Öç>êËŠêl$1CQÚÖÛ¯ïÏÎéô¬ëȺ)­wëÕ—«Dm®nGJÒ^ε{oNÛ·èÅ-f…·5¤gd”õ_§›«Ûš±×RZ÷*ïC4&xÅ<Ë<³¾(%ëîeá¯We­.j14©ËóÕ¦Ÿc!îÕE8­þ®ÒûîJrC“aДþÀç‚H¢\•ämö{cÓŠëYŸk,KOXm½“W6oEo¡ÉÏÝ]cü£½‰ˆ„º2uU™5¢ÇxÛ|Š•õ9¢&UZzÙ]Hå4ÙÉ›ê -U‘ÊÀã?Ï$ÔºÀSŽ«/PY"­88Áÿîôc½ãCeª½"“*_“< ,B>Ó_¨.XU¿0~a°›Œ1éë÷åìÕX2<&9´'Óõ”“&cy²!9ÁßMBœ®IS^´UÕ$ˆg®ÏŽÜ»(ECDúâœâ€J™DîæÂ‰ÌL-_”¥HPgD-R-Œö‘3dhR——©¬u®ñëæ=l½«LÎ\¨IÜ«'Ò—§D5…ÆÄ„¸ÉÓ5ªË‹¬k’84}ÕÏQ/q±–x êô´ì¡,g`b"ÝX"™‡µ*ßTž–&Kv#Ž“Ç»ü´sAD.Ñ7ÖÅ¥”ˆH¯ÊZ®Ê’yø+=Üän2 q^ÛT§©ï.xÄoLí;‹ýsw×ÿ%­Õ©:{«eˆãaû)V+6ƫ㠚ˆLÕQ‹ªb"ý=dÓi5ªâ¢ê&ësHSSƒñ¬"€g4£×ÔÔ àéuýØVëÝ¢²Èxï N¬glŒëÞ--DBuÁ±ëaýÕP®Êôá·hönÒìðB±jÎ*Ÿ>ïá2/óCUì&@¤¯Þ’R½¥ï¾æe†¹qäÏhÔ‘©:+±š˜™y‡³•¬%Pæñ)I›4&"½zïu¿7c·Hé\ Nß³Ý'+=KeùbÅФV5©m6M쓚¹*là ™?sw ˆ±\–Ðå¡Ñnƒ=ÑÔ3)/O’’¼Ec"ÒWeU ØC63usf$V}xf3úŒ3† †Ž€ÇâǼsçNWWWWW— <Ï_ºti(ÐUh¬w‹ÆD?p¦u õØb™/PéÂúÝ9*°> ùû•e[ó‹«4õ–‡22ÿИ+"=ÌÓ³n±y¥ž;¶l-®ªk1 DÄÈ\}ü#c¢-•ÒlغMk³Š4zH,WöYrFâ›·? ª8¿¸\ÝóL±Ü; 4&>!ÌóÑ­ý7&8mÇþتâüâ¾BË<<ýýÆ<Ò·º;i®ÊÛHÙÅ}wç(»Ÿ* X—¿ŽIߢª7Ö>ö–õ?ƒC:ݽYÊ€yÑñ¡Ê1¸™à6¬££ž¨Œîïïÿ‹7D·#:jS ¹®ÚSœà†3óá\àžQdt@F@Fdtdtxİö"ÿqÏvuÄÔÿ©8ÙîÿÑ{ÞD·jsþPØ:zÖš´'œ¿Ç¬³½ÓÎÁî^`Èb½ó²ª ²ñ†Ãä…ïÆŠêOsÝ¿¸Z‘[pôùÆ­ZµÄ“;½ë³ŠËDv""ºV£2z.Œ÷´ïh=¼óð ED|àh"¿jé+=#‡¾Û­ œ<šÌçO¶´Q»î¤ŽhìkSÐB¿\‘³!¿ÖØýãUõgY¹ß\EyÀcËè78¢±s#ü'NœíÕ=%õdí5"—¹s}]]§EŽ¥§¿ëÎm¢W"¢gx{Ϙë+!º¡3’“‹‹9¸(\zm×wûÈqþ¯%óù“ºNêÔl1ÓX_DôÇÏnÜü÷æREn~­±³óªº ÷°ýÂw#œ0ðp~z­Kgûµv"’H,ÑZâ$¡Žˆ:Û¹v"ÒíúÚ]Ýûên˜ÉˆÈaôhÙ98ˆˆè'\|g¸Tîm<©kÕ^è —/)NÝA:-a%åçnùXÕivYºj™÷Hô ÀãËèv¢Žk'r 2^康u êp‰ZçiÙv Ö‡Š‚^н»¿«·?Ï‘"ý ‹év߉#Љ‡¨uíå)!ºöMiM}½zoi£ÙºÝÉÛw,‘N}Rǵ_­/Íÿ¬°¢uðÕYììDDd<}º¾ÅØ9øö‘Þ³Ûxá´ê(G£gÍ}ѳNîôÞÂÃ7h´gÔ{sÇae?x¶==µ.ð,B­Ëcqûöí›7o ‚pçÎ'¿µöööR©ÔÞÞ'ž"tÀóЯ]»&“ɇþä7˜ã¸¶¶6gggÄtx~ GÞÚtC9†šo5ïò¿'vüå8×z«“qSlŠ#5´ÆþåÖ¬Év§/ Æ[Ìx—ßÏsVˆH0\ý¸üò··~$"éxù¿¼!Ÿdo>±ç¿ÿÝQþúmÃé[m·E³Þ˜øÏìˆÌg4çÿtŒ3ÒprtŒ™ûJÌx.%ü…‹ `¿=ûCÛ­N’Ëÿ¸àEáØÙß5wu^¬‹½ôJ~ä(æ±veç•ã» ÊêŒf"‘Ä=$.6Øí¢[ÿ½3wlj+ä u÷{½óØ‘+׏µÿ÷ÎÏvºj&"‘Ó”%ï-ýû‘¸Ñºƒå÷Zó‹Üû^û¢fù¾@Dt³í£òãølzÉŽn^ÿÝ_Îÿiüä?¾D uÕ^rÌSHo_]õiËG#ÜóãÝÄ7ÛVüùò~ƒ4††QWû·¢—·Æ¿ÀtÜü?>÷§úÑ[¼» Š[¿w÷Ø1{¤ØüCqᙾqÜ)fDw®4›&¿ãý[Gj;^w¸-zÂxéÅ‹¿;Òõ›¸ˆtn<{.áËóãã(Q×íýä¶%þ¦ãÆGÿyþ?.ýcÐ+¿inØÿ>[}wÙIç•ÊÜ]Í>I-t{¡óJUΟr÷ûCܸï NH–¤ýËtÙ­ïw~œÛN"êÔ–í:5rÉGþý ôù҂êÿºòjð‹¨› j]à9cîjí ±t„Í_š.]ofGG·#"õw¿Oµ ?DDÃÜ'’k?žæî-‘£ÃxÑVÞòRûÈÉ/0Dd/ s¡ææ„›†oo±‘Ê‘b"½6ÝÞtÉØj&¢áŽãü‰ˆ¤NŒ/˜ÌæfÍMzi\˜Óp"’ºËgàÊõfËaÃ&Zkÿª#o?I%.·êêŒÒ™3Ý^ "»ý‚ǵÿ_W~¸Z×Bn¯ûȈhä«!!NDDdçð¢C§öıÿþÛ­Î&D½ÿ:À=až·K~„ž_눽»PÄt»«Óž[ÿ,†‹Gt^5 4‚h8Óó·2b¸£È2¸ÖûÊä¬õŸ ;¼óößi¢a/ön´£®N“õßÃzþþ,m¸qûÇÛ×ÎE}lýQè"÷Û?’”hİîÆCDæ'¨#;Û íä u°þhçà 2síÔ~«ÓNâ`Mà#¥RKó_ IZ)*;ðunÙ¶v©ûëoÅFþ½ ) ;LNvgnœ¾rf†Ø×¾{›ù‡âÊ6qÛë£FØuð&³å/ãŽéf—££èj¾»ºŒ<‘=‘Àß±cEbG1ݾһ±“FˆÅD&/>zÔG©ûžÈ‘ýÞëæ“Ý2j6¶½`‰ìífÑ‹äà`×Ùnî$²#¢v#g&KÿÈ Áq‚‰~øÛñ[ ÜÖ}ø¨H j]๻æ~ŠÐÆßíÔ¾Ú)ГáFQñÙÿÐÏËÜùÅ—:‰ˆnÿߥᾓì¾L¡ì´I ¢Ž›e—È}¢=ã8êu)_¬¹%‘ù‡ýÇ;Ĥ Ûƒâáî“I«ÿöæ" WÿÏmmÇ=þfø'`F}¤“±ºZÛID;và²Äç^|Aú÷ã¨åÛæ[DôÃ÷•U—‰ˆèÖ}¶þÓo¯tÑ /ŽsrÀUpo˜G‡çýèÿ/ÞÃýÐ¥ÿ,¬ý·.¢¢W'ºäÌwždOdïôûy?üÛ7uQ<Ùù¸ÿËK¢ª0aÿ:]^µõ‡¶Û]Ò—¿ŸÈ’ˆâç»ËÏ/Êù‘h˜³Û¯þ8k$Cwl¾ZüÒ+ô;ÿ§¿Ô~Lwh;-à•IöD¼Í}í¦y9ügM}”Ö5©“ô—ë5óÙÜ”z~’F¦­ _Ç|ö¯¿3‰¤®\èfGä³dáådüÎa¤Ô}æëî¢D4Òç×ÿ«àãßíí´#;Ñ‹—Äû`à†]ú›½O”_“?e-6\ŠýËÍÿõ¾w ýSÐØ .¼üòË¿Ì{ýðß›þuŸû¿¤E=ü-¢¿d³;ÔºÀ#Ôù·½É:ð·N¢Î+§\¶s}UŠ»C†µ.ðÙýêØ™Ûv|ü»J"é6óÝ%цê§ÖºÜüë¶¼ƒF¢‘Ó“8SöÓÞ»ãÜ_rö餳ßwªcëÞw6ÛOŽ?ôÅ! nžûîŒùÕi¯ŽY›$Jz{’=NìÓìé«uyª<¥E#¨u€çÊOœG7|ÒH#FŽèºUêêë!N;/rz=zIG í@æ+jÕ‘Z'§i¯Ž"rô˜û–#Ï*ÐàùËèfC}íMùZèÔ {}_{58ÔEDDdPçm«¾%ÍÏþ{ÍÅ›]#¤C—†ûŒ ²½ï¯~[ü¥eÝ^Ô¡SWV|×lä‰åÞsÂC'ÉDd¾rª²¬ê¬‘'bÇN ‰Œðq¼ø—œ}:"ÒîÙ¸É=võœ+ßìë™G7]¬þêPíE#OÄJÝ|C"f¾ìHæ‹»?Þsq”_¤ÇÕCßio+mÁâ`…=ݾPU¡:¥½Å9~JhdÈKb\ðxü”{F͆Sõ·H:uÊø‰ÓätûlíëÚt"‘ˆˆôu·&FÅ/ sÏV–Ô›ßn“éÌ—EÕÍ7_ Š\>™Õחb6_9´gÿYã(¿EoÏ›líìW_ž¼i?>lÞDG"´dÙQßÄ_ýùžã;ÆÏ\°(*Èå¶öø®ÿWm0ADFÍ·7_ ]ôËë¿«ù‘•:Ò¥Û7ošÉEDÔqóvÑH™#ÑíA^à8áeÞ0› º‹§Ž¨N6TTûþöML§?h@ßßñÚ?Æ{‹Î–îø{ÓÖPëÑ;.i.tѨ‰Ó§L˜à1a‚ÇŸi“¥ÔuñäÅžúò[§¾©>sñûªCgy"o¹ý}¶ˆË/MOtëä~͹ ßW©:x¼ÕL]|™;n_mú¶úOÔuóÊU“YÄŽ ¢«õu¯ô)o½èë=ЍõPÅ_Ï]8s¼²êÑØ©>²Á2÷Í¿~‘ýÇÍ»ÿzé–Yä(s±,òù1ª÷ìïx-ö-_™H4Ê{aìëT½çà3zà! 1‹v´j.v‘ãK¯öΔŽzÉ{Ôá#­š‹¦WDDä4En¨Þwüf+õ ï-&k¥ø]Ûmß—)öYðkCYÅ_ìÛEä(÷~3|Î81Í™õÒ®ÃîÜíäºp»·¼¹ºìøËïúN|ÿ¥³ûËÌ£þלÞå4óíæ¯Õü²™ˆ•ºE‡N• GM £«øöàž/ˆˆ^pzunx°Bú]>²×ý¾È¾§³Fy/ü»Y„Îx?õF6 ö!<]†Ï0úYáFO¾áèdtÔ#­uxPëò³B­ À“w÷ÁSŸ8Ñ C"?•kÿ;çž1÷˜~Â<:5Öƒéì5Åé‰ÑÁS-Âb“³Ë¹¾IõXrÀÔ©S“Žq×5ùɱÁÝû¥7rDtýXNrt÷Æ„ô2-ßýB®*qêÔ©Sq×å'džYß!2!½¸ßqeÙI±aÝ­ˆNÊ,®ë׊ÆÌ°©S§Æ–]çµû³“º”½_ÇÈÖºc;z?S@XlÒ€ÄíO˜:ujpzÏiv¤%Xß6 ,6mG÷›js"§¾¾\e"ª_Ÿ:ujXv#ÿС_»?'9!Òú)§G'¦ï8v¿»/2-;G'çTéxKW$ëíÜÆýÙɱ‘÷8oÏ€!Ï£sf"‘Dâ`ë—¯¸zÙNâä4ÒÎeòØÃºkºkf;_¢. W'‡NûЕÿ4ËN:ÎÉ¡³ÓuoCãó\§oïLz§î»“7ˆ^^¸t¶·‘Kçé?ìÒÕª¯úÚ5rDcCÎö•’§¨±v[ÎÝ“Ðë¿Ø²S'²«½J+|ù[ ´U*=¹ÆÄú V<-ñIÊöé»AWœ´(K-ɼý\$¼¡Q£©.ʨ®ÒlÞ‘`jgY""ƒ&'±¨z̼èC©©ª¸¼^••È3©ì– Û¼è#©I]\®)ÏH$·Òt–ˆ†!"º^•µ|o•dfhŒ¿cP——kʳâêt…;’ºëâ¯W¥Å¥¨ Dbÿ™n–ÓS«÷f©UÇÖíÈŽt±¶•%"⛊Vgè” £WEK õªb•ºhm,7¦,])éóù‰Ë·Ô Droÿ §=¦Ve¨Uš…éÝc–ˆH0h²b·TIB#W„Ê9­ZµW­Ú´\K¥;b]H¬Œ^¨¯*WÕ $óŸ7SθøË®&Ód&$îm!b\•3=e,§Ó¨5å›4ªêwlŽuc{›·¥‰ˆdÞþÞ2Òk RÕ¯Šáˆˆa{vÊIˆ+h!»*ý•bF04iê«‹2ª5mß‘ìƒÚyxn3ºƒÄˆ»al§WîžÇ6ß8]¹SÝx£cð×w´ÞUÙ ã̃®rDöR‰ÈúnwÃÔîÐND’ÑDD"©“„0qöäô½³’þyª¨¶077ÿ—éœV­'"™Ò_þ /ѧe©‡nÜÓSÃ7æ/ÛÒTž–Y–iɽ 1DBSzaÞž4˦˜PIT\‘¡:c­¼ßÆEqEzUQ}ªõK†HhÙ[忾4'Ìò ‘é‹Ë[ 6©bò"ÇW•‘¦2£Lݱ9º;ªêÊ’e¨«³²öû[^ɲ CD-EE’÷ì鎴1ódQqE†ò|M²2XBD|ãÖ”-õ¹Æäå'wÇv]YrlFuyú¦Ð²LëÀƒ%"A½E=osY÷X$6F™øÆZMSQ±66ÉmL@Bš›¤^UßÄx'¤¦=ô=£¼&;yo ‘ǪÂí }'‹RTšMiÅÁ;b]ˆˆ®«6mi"Ï\¿#;Ì…ˆˆ×–¥$d˜ˆˆ,ƒâÔ[ŠZˆ<>ܳ½7Ûk‹WÇfiжTÅç…Á$<#†Xëbç4YaO¤;|òr§uSçåC§þëÇÅgo]®(<ÜxCþO¿ß°aMøh[y®aç®ÓºN¯øÍÜðûw=m œ$DÆ– ß~ƒ3IœF;HˆˆãÚ‰ˆÌÆ«èO†Î«ÛövÌZïïdg'–°r.U|VÒsmü2 ÚëDD2ŸžîÕªòë‰È;ùÃ>¥1¬gLêB‘©*¿®ÿõå½bEwè%Ö-Ø›!"òè¿Ñƒ!´Úî--‘R“Ü'5J”+â]‰HS®á,95_-¹®Hí èD䙼BN$¨‹Ôýïp•E÷Ýu UЉHk½·“¯/(ÖÉb2W)%}–šäMdRãú6Œ”® èÝmŒ2ÔƒˆôõºGÿ‡ÅiòU&"ÙÂÔ˜>«êŒ þ0Ù›ˆšŠTZKh×kˆÈ5!)¬çë·Èu©ÊþÓé"±‡¼÷P¬[ôúíyÛ ×  Àó›ÑÉabTÄË"ºVùï>ÝYRR²ó³ ÿ^©3ÓXOs{'uvpWÏÖT刈;ßbì´³‘ñôéú–ÿ1™‰ˆÌí7tµ•-f¢ö«­Wû,øbçòÚÔÑDJwÖÔŸ­=´«BGä2cªÓX/O ÑµŠ½5õõêÒÒ3ÎÜÁÎiîÊÔ÷ü{nNNKX“1î¾U€³,….yЈ~½±JOD®¡Êþ©Žõ°Fmu¿:o™GßÛL CD2ï~Å2 q––ôlô î?³/óñ‘V£ã‰ø¦ª&"’ œþ—+ýeD¤U·ômãìÖ÷²¹„ˆŽã‰ˆ×ViLDbÿP·þ½0Æ?Ô•ˆÕÚ¾séÓ2 ÏñúÜðºª&ˆñóÐ0Ÿ`W"Ò«µõܤ*öQöëŒ1 û…t‰› CdReo=Ö÷ñTúxºà^`x– }}t©ÿ{k$ß”~s²ñäÑ D$qñ ·¬ÞåÕº·áð¶Üz¯¨øx‡Âm'¿+¬ðý(jÆdIáéÆÒK’¢ùGvmiU.|/ª&·ôÂÞ]']çö†¾q«â;w•~WZÐ@d?Ö+55)Ø ð|gôÇÁXó§¬Òk¯…q³$¥µ$òšê„Õˆ$3]IÓbR—5ñ>ƒ/íÁ]ç$c$DIJ¦;Ì“ˆñƒEðûâ;>Ëô¬Ub#‰ Ü`é}ð!ƒ%ðº®ÚSœàöDîO) 2¬°”Ywãù»Y#|¿ó활™LœVsìØ~Uqyu‹º e¹!oOºõ.ð¬þ”´SúZÂ’© jØ›»¥àðU'¯¨•K'bˆˆÈ%8Ú•ˆ å[Tƒ=H”׿'¼1+2¹Xˉ=dDD:­á®@¨åˆHæ&{$µ†&Àa€IÇ‘ÄELD79cs'ÞÐd "±Ë˜!Œdn2›{ܹ«Œˆ uw5ÌRCcÜ$DÄÈdb"2iTÄsÚzý c37eXlZvñþ¼…2"Cy¾·’2ú/ÎÎiÚÒ¤6lذaÆ?üs W$tè é‘I3"A“•²ÃÖóv®ËJÚÒBırK4Æ'Ô•ˆZTšþ‘žoRÕ DbŸ·GÒ,Sªßš¼¶ª^ "¥ Kĺ†ú‘¡J= …ê«4&"òœéñà#Ö-X)&2+kðù¹Æª*ö'¦×‡ü¬K°7C$Ôl˜N£Ò‘ÇL ±2¥ êë ýO\q]¿Ôì/ÞQ¥Õ½#•b"2p<þàÉ! NÍ  õ›âbÓvëͤ\ãþœÄE«ËõDò…Ù©–]BW(¢úì¬ý½)«ÛšYn"’GÆ{?¢[õÅYŽ)]§ÚRl bü£-%câCÅDú­}wâµ;²ŠôDâÐø€¡n°Þñ‘r"SyZö±ÞÏÄëÊÒSRsꆔ_-Õã‚^ÿð3ÓåŠh9‘¡m¡©ñEqõ[â^/òPzËÅD&}½¦É@$ž™º dt€'ŽKXzq@LY~Ay•¦®Å ˜LDŒÌÕÇ?2&!:xÀ$똰ì2—✭;ª5Õªz"»*çEǯˆxtëø±ž«ò¶{oÙRT¥Ò›ˆ¹wèŠÔÔÈ>+˜KÒwúoÝZ R«UMD$–{‡F'¬XìÆþ„·‹Í+õ,Þ²µ¸J£®n""Fæ=s^LÒŠ°¡õLZÓ”VTohªçä.÷«‹ ÃÝ[¹îÛ=YŸ¤í¥>E[ò‹iªUDÄȬiAÐ/_‘—ïðW'wrFÇÁcçââòà;_¾|Ùl6;ýO‹k×®‰D¢qãÆ šÑ={~ð¨9‹.ƒ§K}}=fÐàéÂóüåË—½½½Û÷ŒÂS‰# ÀÓ…eÙ{ßG‡ŒðdAF@Fdtdt@F@Fdt€g8¾yõ‚    %)¹§¸>[—D„„D,Y¹±ÆÐoÿƒ) 2z,åõ•™ïD„E,K+i¹×B¦Ä5¦,‹ ‰XðNf¥uW®feP¯ˆ”nð×ó-%éË"‚‚‚‚"zÀŸÛ¼ ÷õ!Ë6Ÿãïó‰¹ãé!)Çû|‚s%iË"B‚‚‚"ÞI¯¼çGàN¦,‹ Y0 cøs›—„¬¬4ä¹­é>·ËÒJÎ=²#ó WÚlhKî’•¹GÔøƒ«C–¶ônÐ. y§R*="(Äz™*W-Û­¿çé>µy傹º†Ø §Ò#‚‚V4<Â.XÖ÷ó×P˜¶,"$$((ä¾22:À«ÉÊ8$MÞwäÈ7Û– ¥9 <feœpOÝyàÀÎu¾µYÖ ÂëJÒ?È:aê—˶¯É3.þô«#ß|n,Ì;a¸GÉY»[œøùû> oÍÉ(Õ FAøÉ7G,*6Î z€–íkrZÃ?ùêÈ‘¯ÖûÖfg2X@ФÖ×øbõ„{<°‰7œ;¸ñƒŒC¦~á:omži±å°“ÎtÖvºÏ^»›Y¾í›#Gv&;ÍʲD>žk©É]³¦´MîŸÄlõ¡ÍM¿{MÆ!iÒç_}³ï“pcΚìS(´™Z›6?©óâõŸ¦úIÍ»È|ç»+öäoýуmŠÅ~R""j®¬åˆ 'JZ†¹÷~"¯Ô´xÛ7÷½º†˜¨Ï”Ô2îÒæ’Zî ùSæÏmÏ(4-þô«GŽì\ç^{¯ àI'ž“˜š4CFĺú…;›ZÛ"îLÉ縸)"‰×â8…%ˆèwðAVóòuQÎ}ƒAÉ!š8Û•%vB\î®Ì²A3DsÉ ñË-ïõÆòIm–üe2 b1ó@!„™°89uÑ ‘dÒ_±±ÁÈéÜÁµïg”Ðâu‰î}÷g¼â’“ߘÀI&…Oê>¬%å. IëmÅÓS“çÈY"™o¸Bhk3ñ§²Þ]Shœ“š<‰¹{´2(¨Ï̲Í>´¹ñáµ*iV,Oœã*ae^qëÖ%Îq&"â2,+ùêÈ‘#_¦x±÷Œè'ÈwޝŸŸ¸ÏLºÐ|B²|CîŸw}2¿-/û¨aÐ>Ô—¬Íjž³~_ů¶-zZ@BÛ‰sÓ×}YñÕ¶Ùm{rNh°ScóÓº‡ûw¬M/a "É’3Îóç»ÚV,c&0)ÎK‚ÿzÀã"B<¦ÐxâoÿøÃ€T ýÇñ»ÒpƆ¯m[òsúÑ_My"¦xºöqLÄßMxùñLJ öèšÆ5ä~°æ{ê§)S$DÄ22†Œã<'*ŠŒP#0ÎâAšÍˆÆ}~Üty-ŽsßSxÆç*#Òï~çíœfˆqOÜöç8W"†aA çQQFw±p\`Äb"rŸ–n=˜W\¢oivMy¹®~;£ÖDÄ8G}òyﬦ¾2íýÓâO6Xgp%ÓW§O·üJ>gùâíïV6sᲡvJzÅ‘ä–ãÛ3Ö~PøéŸãî¾%369Â;˜“ñÁé¶Íáò_øãÜæwßßÓ*‰}S?ß>Xm#[FA¶~ç<Źï 5™LÆ£¼u”±„{ãg""2ßžw´ÙD [ÅOjnÏ0¡;K &‘vGã,½÷«e~ó9%µ?¦¤Ùy~joWK}ç»›²ÃLå/Fco H, =ÅõŒÔÝ]ü§àLÉ aRª;K¬bŽ/³¦¤–›1Ãz0ËÕÄÈ¡uÐ>4F,î~#V"éí,9Ãöë­ÁNÍ W±|Æâ´‹Óxýñík×®Évß—îl4 ÍÙoGätw¾b†‰HFÄãÎÕfòÖ×ì>ÊÌ^<]F’ s–Ïßþve3.ÿe'Ù ‰ŸîŒë׳¶÷sžî,ì>c$/¹¥ç6n7Å¥XGn´”J¥ÎQë?Oé7€äŽgg|ͤnÛ5CF†Êw––<¢?ê>C“ÑHÒOœ`Z{fÑ­#¥_ùK熜Ñ©”ŒÝ—¬©ÍÄ(zF ÷»µ'¢›ÓÚ7ƒº_Ur†›1‰ˆLÖÃò‚ÞĈŃõ¡XÊ&£‰ˆ%"âô-&±ë`W‘ÍS3Èu\y‚ Ÿ"!båÓãâÜ÷lo5’ÂYÌLJÝ™;ÇÖñïú´òÀÅîy%'„’VÅâ@ùýÀ0ð¡ÖåIÛR§]ØXp%uéŸÀæðmǯ‘á«Ö9WºK™ïœË°ôÜòlãÆ÷Z–‡ŸlÍ­í""ýÖ s–^û"õRbøùðÀK»N˜¾ømëòðæð9ûòò"¢[?ìúíÅðiÍáÓšã~{­áu¿Ê¸+µ5qÁ…ùÓÎ'tð|{îRÝÑë|vÄ…Ì]ü…ÿI_pÞòªÅï]=uë1ö&w*{ÍnEê†Þ€ND’Ió}Û OqDÜ©í…m“û–CÙIóý„¯óꉸ†Ý…­Š9“¬¹‘•È,ºGI¬ûü@áëí Dü¹Òíg,¥ BÛîŒ5Y•zžˆk(Í«ú9rÒ—¬Íj]üɺð¾Õ¦Ú¼5kóNqD¼þàö¯M“Â݇6,c„š¼¬œƒzžˆo9TÒÊ(Ý#Cåêˆ%™}*€•yÙÛˆˆk8TÙ&u¿O 9w<-âQ.ø7HÇØ$\<©m{Ne Gܹ’¬¬£&é sĬ"ÜW8Zh©ÖܘžÛÀ &£ ör—ñç•´ Bïª5ÆÔf™&æ¸!Þ+È:OQ˜,õ\CIIëýêgd~óÍyÛÏHûGt""ö§ ¿%îáîÆ’’SŽî®ÎÒl0¦ä„à·þ+ëJB_mdjKÎpD$´UVžã‰øÖÊ&Å gv>”ù†+Zw}Ž'âõ•ï~PØ:h‘¹ÍSc“к;;#§FÏwîë’fñ$w)É&…»·–žã‰ˆkØžY©¿ww/voÝ]¸»mRœåŽÓ!4àç¼ælÁ<úgñæšÓÞù¢Œ„]áÚÍû¤…¿5)õzå…±^N<_yðŽoª£”Ú»ÿG7Œ®wŸü«/³ìYþ‡Ìßô¿ÿe¼=Ë·ç.¸”²Å~w²K?6Wt¦ìsMyç\æÅ•YÜâGì0át»xÓ¯òÆýxü·R~{#µB±}lWÍ{6níÏ`kÓuyœìÏGG»²æšµ)©ì®ÿ;’ØaÂi޲Æç½<œ«¹¼ä·×ký«•ÿWV~3®â¥ˆ±]Çß»vjò¸/¿|%óñ̶ʚÎ)oÚ=¦ϙ¯FZûÖ!k^UÄ~ºmåÉŒÔu k³–†I:)jݺK`};«û¿÷ç~MÒÙŸìLŸ2%i}\FÆÛA‚X1;y}Ô६Wâú¸¬¬·C²±ûÉëæË‰H2%y}\FÖÛs³»¿‘¼aù 3†-‡ ϘÚμ=7Ïò³ØoýÎ3äQë’Ïe¬}3ÈDŒ³ß¢õëæ ¾²Ìñ´·Öµ~‚5sƒHì»nçæ93R×7dd¿=7C ÆÙoùú䞯n“Ñdìlåó×§žËÈZdH¬˜´>qK|ÃÆ·?(µk×¾”ÅLJúé¾µ*2¿pç¬lZî÷ÈjŠdsÖ­kÈÈZa"’ú&®ORý¦ä®ëµJ|ãÅkJΘ‰Qø yï/9Ójû%m”Ñ }¸x}rKÆš· M9û%nHòb‰ø?5¶Çd‹×¯Ógå¼=w­@$V&®Oòbÿöî8ªóÎþÏ6ÌØÉÈ-RíHvWÚØâ:¹7¢I…s^I÷É{,å,’ÓºlȮྠìAÏN ê^Ð9 Ü.¨]ÐM0ÍKÔw¤Xô5âÔ@Î"“ &‹z·RêqVJb)v5n­‰ñ `¿HÂà ll·v’ßçœHŒžy晑õ}žyf@dh³†mM'\%-±¶‰nÑÜ&™½5 èÊlàíW`­³°ñ˜G¡?\ <«<²öâ¿xƒ-òÇJ›ÌGϱLþiùÁ¥feŒüñ¡vÅN€Õ…ÿû\ûÞƒ£vÒÿâ¹¾C_­e¼/ýË•–™¯ËÏ¥ç£ËÎ}RzâªÅ+Ñïö½xi×è«öÄ^ý ô_¾2êùÊbÙûÝO¦'»'OGŒÿë¡“3ûˆW?(ÿêè©<\‹üïÿ¬šŒŽ|E×ÂÔœ{dòÇ;Ú¿y^9dWì6µ^ß×ÅÿòAù¿|å5__4뮘g$zŽ6ë~ožyT¿ïZ°íƒzÿCu-y*ÅnÁ$±mÍG÷Ýwüq< Ðƒ'9SsbÌ4¾ùDŒÏÛ¶xkN FNê¸_Bè^yï½÷žzê©lÅqôûhÓùè,ìÈL„Üʪ»ä/ìaÚ/G­$ü˧ Ê÷n,‰Ø)H½“\aÈkóO©¯í„ä2“*ók»2³2àzz rçÙ äŽÔÿäv…殇^<§#Óc€L^¾éS»®mÜ€-âÎW;ÚùQÏ×Åš¯6¶ï+܇;}Y‚¹·¥z¨ «ß,¡}ž(_.Ń „º˜Ñ?'xм"6îyâf èG{²ž;æåP,ǰé뵘߮/—º³idŸ·S÷ò¡ù†«b·þ`nÑ߈Šþàâ•QëÇ-íúñÃx{aôeù¦Vš<­µÏq_nn3K°IBÝ ¼fôó‚ÜcP÷å„—|ØôxÖÝFÚ«Ú˾6~•€ËWÆþŸUñ êgº’» 𾜌\‹œŽ5w~ºÕ•RÜušnô/?h?½ °Ì?ˆGú’}SóM£“ÓÓÓ“£Ý_œÛkóTÓ8Ñ!„þ˜pý>â®Ô?ùÞyôk£§²8=Ä}'Iüõþ­®#ª{ùköæŒ?€býþî€Õ;ªß®"ûÊæOj¾y‘ƒëÄÁ‡*í»y›ß¿økéžL85‹óvIçßRómMóu‚ÜA=ÎkéÁAt„B¡mÁkFѯE!„ÐÞÖ׌âL„B!„,˜ÑB!„ÂŒŽÐOb¾¯Þ¨V«ÕÚÒÆ…äºwKõZ­¾´¦Û›Ø°üL£ÞعîaƒlÌÓY¥×ªÕúòwdˇ&ƒ®Ær½V«7VuzÒ‹&½5ê¶~@!q·—ëÕjµZ¿Vî3Þø¼¶¼/|«'_&çÛõÚÆùu[v·”ëµjµZ_ÕîÙr’ ®Ær½Z­Öoj6ÜWª­ñ$n³Õ½-Zué@d«†½[‘Òu-«®¿“G?F\5ó÷ù‘‘ O•¶|,ö€}m<õõîĶ>+×·,°ÛÝ™h¬jq-$¶_Ó¤·Q¯ÕªÕê*OâŽ7— vê·_ù[–ºÐ®W«ëg÷°@c¹+‚ÿª#„¡Ï¿¤×n›å[ÇçæÎ Vr6G€ÄŒÝæ—6LO´Év[úG”Ýí vÿ†«b#CMNÚÔzîL¯Žv9ý‰-~@­c”exzz¼WuØ&bÍQÊÞ3é'«Ov«²ßè#2ÔäˆêzOÏÍîz쳉T ®I~úµú­®fá™îÛ,³!\;[Œ)U¬,”)vótßÓ:FTž™›± }v{*ö²Éˆw ©i"ÎÝæÓ“óNGˆ Öus6iØ»&©›;Ó¥ „ßž››ëSmÿ*ÉøBü¾?1R lëï(æ?Pßö×0!ï:=wf¼Ã@Œ55 „·›“yªîÉéñ.9u7• ¥•½½uÒ{{q;r)ÑHBaFGh#Jci®S H‰B'd¢q r‡„fs!€W`2‹S?¢±±†»WXÙV"\pݳPl)–@æ›F;UYï>Ç.ºýÔñÊÔºŽWÊâ_ †£(â¶~Ò‰|“µùù|O¦‘Stf·U@r¦µÖæS›Eº~y¢ÀlµÏ'x2,S,@l¬\­]?zHYš­ ëÄ\<ΰ öê&­i¶ÊˆÏvjÔêš™„ :´©N‘©ô¦ û‡ë”Õèk\®öúš*£ÞØ8–9›±0P_j4FcUçLjÌ:1S_Öä§M'´Z­¶*““AWc©^¯×k5}é1vv¡ÅXÕ7ÖÙXSUª7Ö Ó[œ ޵”õZ­ÖXÓ.6ó¦^¯/mt·Œg‘±½VûlEuë,½þ k)OU¶¼}ëS7›WÀÛ¨¯ñ=-¥ZµZ­mIŸR‰Ít×”õzý&HÎ÷Õõz½v]eÙ…ö²Ú©x¨ç„V«Õ–fÎ}lº]lx¬±T«7–VµŒ…ï"Õ“‚Cs›’žp…Ø,ëŠUéëúZjjªJ×oÂæ_¦°»¥\¯_·µl¸¯Tß²vÒ„ vK»Ã,° -F­öXYu­cq­©ccUÆ×@K}U¹Q_ÚîYÛµõF­ÞXZÓ=Ö]~‹³BlÈ Š+͵žôÖh«úZêkªJ7ÎʱO{¹^¯×kõë7+æí®)ÕëµÚÇñuÖõZµ±þæãðv9„ft„ ¼B¡(«~O\(—òè(Mˆ…éq7J,$âÁ8€È40úZwR¸>‰rÑC~[•Q¿~Ëf˜h”ᤇCyB)Eã,°\Œ¡CŽZ£V«5Vµ»·&$E“.5JÎ.Î8q‘à†‰º[Ssêæ·8oÎÓt¾ÖרoR$%ƒFB@285 :qf¸ ø|þºüÏ+H·›X˜ŠŠu YØ>::ÐbmÖQ 6lxÈÕYßhÆMöˆ Í€¹kàäH—rqÈ` 6å˜6Ÿ:uêT¿ æ1¦oØ*%ä]ãÓÓÓÓ'kRM›ê¢Mý“““#b¢'3±€à}]ÛÀÉÑA3óºÃ—€äBO«‹° NNO·Éüv›'‘:›2Ä™û'''‡ë¨±VÇV($¦ÉéÓ½Ê ;,ás¸¸ÊÁS§N´P ¾hÖ6­!S‹NûLAÛøÜÜÜtg 1w«= kžœïÒ,öØÜ©Ü:Ô3uÓ“Óý¦øPÏl €,lî’RëøôôôôhK Ù¶+1ÛãŒÇOöš!p—Cï¤T#æélmHpL ©89Ü!ô8’Ùº³Õɘ'''Ç»!»Í2ß`àÆÒq™ ù©bS> daç©éé‘:ñ†Ã“Ú?/©ë;ùÚp›Ôït…YˆLØ_ç*‡'O¶ÌÏF·ÞZ6äöƒ\#W(¨u#éÜ¢ŸWÙ5pr´×wö¤#_OOHÑ;>99Þ&öõ8SÁ?ænµ/j:Æ'§OVr®VGº?ÀÅýᢶS“§‹ã¯;ü Øæ!‡ÂŒŽÐƒ… ºšñb«YÀr ‚IÓ@ÇeùUch† ù†®S“#ŠÅžÖ׳Nå8 ‚[hѪËÇ"À#8† ‰|…RajžžïPDMŽ[ÏÈNÌØ[§„kjò%+Vj,ýãÓ§-ü©VÛͺeÚõêgk{èâfKÁÚ}®ïT:‚­ ~Þzõ± .ÂÔüü­ž‘É+ê`î†&¿¼c°¾0ó;Ç— ¹™(“ojlH¸£œP“íŠ=J(¦˜ HýþAæJHQIïH1—úÑLÅHJ,¦âAFTSßôº¾ŠO haQÁZÔ$Òµ(;†Ç3d‚FÂÛ^ëK—N’y+ž_$ä…é×IŽ `{£•‰y÷,§0©DÀ“UVŠO bfɦñ$æóŦ"ðò5•†¡ ÏbR'ºýþ@"à„BµÏNÇqÕ¥tïðÍõ·èMä[úGÌZö^™Ú‹LÀÆæM­¶Yù@–😵Ù}²ÞÁîDJk£[”Iñ &–ɉl"¡„âóùÂ’ŽáÆü»¸þW`hì34²‰…×[[m¯Ë_ËÒ§Ú¬™c‰Øx”BŠ5 h6ìÍÈë¶žECÿ°)Ÿdƒe¶-ê´év±E01.Œ#w “¡™(%“ñÈÒ†\:kÃp„8[Ïš¤ø·Èp©†aâ ‘Îö…YæòG¨ùØP'Úfý‚ŽÉT€f¶ø"²!·Ÿá˜ÖgՙϺCI•,ý9°\Œ!( 9ßc›"šGUHxªÊÜ™]Ë14“îƒ$c†’dû&Þ‹C!ô@¹.èsû½õÏþBOÓ˜¸¹ëF@žÌ »\ I€äÂ+.3ɳåPRfPpSΙ@28把5²t¶#y‚”Ìè%)5(¹©¡™ž ‰ ³5Ù=1 œp(¥B˜¥ˆ¹[íQSoÛ€LÀÙÔê\H°±™¡)F¦ÛæÝ'Îë´;fb,™uG ±8Ó#Ixêõ¥ëf¯ÒgÏÐ|’ÁYOœ/½Åì…ä|‹~Ýí$ºé¹¹éééééÓýÇùâïŽn/ gi˜»î§ûêÛg@ФBêF~¥ iØ$›‰^ü! ¹àöÅ9.û½lH±N¾1ª¹œµÕv?¤X'ç|®Ô<áØLwûÀvï6ÉF\©Ë IT*$²ïM+­"ÓI£®‰pú‚ÌöNO €eb ! I€„ß ™µ%€ èp<Õ0Éôº>»]¤X%¤}¾ Œùi.û±qËojØÓÓãç›ÌdÖ6$¸¨Û€dÀYQÖk…%rùRSîÝnZšš¦À“›ä´Ëá ˆMÊmwyR9?îñ' 6;`¸-#:§è8¾Óé.%p‡’ÀÅ=ž0 ÀF=~F¬’À14GHlxÖMq¹N› ³lÌc«npe½,a«C.âªÒ—oÿ^9¡Ž££/06䚢ih=1›ŽâïöÖäóTÍmÁV{™–¾¬¤­MÅKÖ { rjM¿¸w¤½°°®Ãl³U¨m%.¶v”d|# ,f»½Bkç(éqk›A¼Bk‡Ùf¯8f瀒·vUfíŠÌºBL«f€*žïhÓd¿³Ì|ˉ&_z šŽ©’·ôiTÍA[OÅ1„PQÙa-ÌÔ€ch†^w½¢ÈÐѶÙËÔ4”¸¸®Ã’Oì®h˜H_8¡¶²ºáSª8šaàW fiØ»àWi…3à¯Pÿä§³Ý~‘”4\kµÞ_niËä3Ü\ ¶ŠcN „ÊæþN@r¼Réé©.w …r³¥Äo³µŽõ÷•lžÙ ­f»½Boã8JZÒÖ¡@A]êM;!TXÚ²w©žúŠžǯLë$EÇHg‘¤XGµ6œpA%37—d˜´y6'2´Yö¦.€’–XÛD 5UÊšlåB¡XSi)öÛm¶¢þNHYe‰°©öØ|¹¥·Ï$!7Ý.Ññf‹·©ú˜‹’*LÅRbqݱp;Çp\ éY5¤Žî^³ÈlmHˆea{¹q1Îñ‹­½…$@l¬¦Ú¹˜jÃÀ mA)»FÚ ó-»­ZǛo|iH™YÁTOɺÒÝr6Ø]Ý0OöixVKâÊþ“æÍ;F³µ¸ÁV¦w ¥Å…0´UDeÛZÏŸ'7+©&wˆÑ!–sÎÚÒP”¦u]J(*»lÕ¥±Pf¨¬”µö4õIûëóMÖˆ­é„‹á@¨°tÕeYÖæ–KÐ ƒ3_úüYžUY{ñ_¼¿ÁAŸ/ï¾ûîã?Ží€Ð[Ì]UíµŒw‘w[LíBÝÝvÙpwE+Ñ1\¿ &Io͉!ÃÈI÷&B(å½÷Þ{ê©§²ýçº „úRH̹¸b³ìÎzÄUSÚîM¤î¥Âˆ …8!ô‡„s]B}ñ󹧾¾(µtuÜéÕ•’ãf…·§LkB\lí¸ƒ'Û"„Ð6à\ôù†s]B!ôy´õ\—œ_{d—ìÉœùN™üüùóØ^è¾;pà6B!„¾Ìrò^~ãúõë«««×®]»~ýúõë××þvo‡¤Ž®;vìØ±cçλvíJýÏŽ;®_¿¾²²Âq܇~ˆ!„B_öŒNĵk×víÚ•ÊO˜ÑÑ!£§þ»6›=' IDATsçÎ;wÀµk×°qB!„ndô]»víܹó³3:úeôõ1=5‚žŠéx¼!„B¥ìܹsgNFîF9ÝSŸ=´RCé©°þ‡9Âó}õFµZ­Ö–6,$×½[ª×jõ¥5ÝÞĆågõÆÎu‡dcžÎ*½V­Ö—§ÿ˜]2èj,×kµzcU§'½hÒ[£¾aë/²w{¹^­V«õk°á>ãÏkËûnùÐÀä|»^Û8¿n Âî–r½V­Vë«Ú=[nBrÁÕX®W«ÕZãÍ lx \­®Ÿ¿'G&¼-Zué@$Ó„35F½V«_¿î…Të”Åîa¥vÿìÔë[È@©¶fæNÛ*âªi¼­s×èµjõÆýʆª´ZµZ­ßNKÄÆÊïn“Bm³#ÛÝ/¸Ã/éµÛfùÍãs**âiªµ9T#-dbÆnóK;Fú !8PÛd›‘õil,8å´;ü u|]ÚjrÒæþÓ:aÔÕÐêô+;UYž@Â.8ZÇ(ëð´ŠŠŒ5ÔÚ&ä'M"àhŽRöŽwÞÆ#S"CMލ¡ÿ´9úª›ì³Š8Äu#¯™D· aß½g–źÀålu2æÞÓ†|n¡{­ØÍÓ}Oëa<£1Þöj»½HÞ½v¹ÈDÏCüÛiõy§#D¬=Å>6e뉪zÇò™ùÎj[OÑp{á½¹kõø@*¤=þ˜É z€ŽhRZÙÛ wsûl¡©£_'¼ÃfJÆâœôv–& OU…g}íókNN×DÊhüÇ !„î›;º¯þ°8¥±4ש¤D¡2Ñ8 ¹CB³¹À+0™Å‹î@ 6ÖÐ`÷ +ÛJ„ëB`Ø= Å–b d¾y`4k@`Ý~êxej]Ç+eq/ ÃQq[“È7Y›ŸÏçðd9Eiv[$gZkmn0µY¤ë—' ÌVëñ|€'ÓÉ2ÅÄÆÊÕÚõCŸT‘¥Ùª‘¹NÌÅãkyiYLÜÔªQ«oíeƒN'mªSd*ð»£2sI> (2›(ÿØâ=le£'¯¬”ÆÝþØZ´U}-õ5U¥Æ'>b3UF½^¯Ýp2$1?ÐXnÔkµZc}ßü³LÀY_ª×ªõUÝ™wÙˆ§½ÊhÔëõ¥ݬ«ÖbÔj•U×:ÖogÂÛ]Sj4Æ[î+×j¨®¶û“ëZZ_ãrµ××TõÆÆ±ÌYš…úT©ÆªÎ™T$fêËšüt é„V«ÕV ¤O¼$ƒ®ÆR½^¯×kúæï`€>k)7êõz}i£+˜ÌTv¬±T«7–VµŒ…9üAE¡{™Ñ± ЯPg(¤£¢'.”Kyt”&ÄB*KÅB"ŒˆL£¯u×(…ëc( 1á·Uõë'°l†‰F~Az˜™'”Rt0ÎËÅ:ä¨5jµZcU»{‹™*¤HcÒ¥ž®Â.Î8q‘à†‰º[Ssê¶JwŸ¿.ÿó Ò­Å&&†¢b"=6˜qŒñ-9uó*‰rDuÖãkÍÈÆƒ4%μäKùÞ›áY6êñ1R\¡F×B:·èçUv œí5Ä=¾»àìñ‰›G&'Ow)=©è›˜±Û|âæáÉéé+ÖfÏLC¢ ëðäôp%L9fc©jê‰ëzG&'GšÅ¾‹n¶ ;OMOÔmèΰá!G@Þ1rêÔ©‘ã m±Éüúצ§O·Énê˜1¡0w œéR.9,Ħ³ÂæáS§Nê7Á|  Ðô [¥„¼k|zzzúdMêŠMõ ѦþÉÉÉ 1ÑãŠl·±­Cœ¹rrr¸Žku,°˜íqÆ ƒã§F{͈cHG!Ìèm/a]MŽx±Õ,`¹Á¤Æ€i Žã²Dg†f˜/aè:59Ò¡Xìi}=k¶á8 ‚[hѪËÇ"À#8† ‰|…RajžžïPDMŽ[ÏðMÌØ[§„kjš %+Vj,ýãÓ§-ü©V›'q'ۿЮW?[ÛC7[ Öf`t}§F[ 6ÎÈHzëÕÇN4¸Sóó’Ô;óNQYWôÙ‰¼¢ÎS§º×?n12ᨬ%"bcÈxjÌž 8æžd96êñÑR”'k„Q·?Ó.„P§Ì'@(—SQoœ²°}|¼¹ˆ@J‹Äg ¹è ñu¦TíÃ#k¤ä¦ã@(—ó™0ÍÄý>F^y\Bð ÍfaÈÚÞ©’ Úïñc,™ojiÌ~:&;B¬+Î'Hq‘˜‹Ó AÐo!–‘®¥E·Åt‘©ÿt¿IY‘‰ÒÛÛvÑãee± s1˜Yd]ôFùJ¥„àIu»·!„îR6ú¢Kšf¥Íý…< 4G5%% &8/G©,3‡ Š ¤s‘ Lféë®PÂ,ÄÆª*‹!µ ž4K‚à8„ª’ZJqóAQ 1´´§ +0[ä=Þ8H3õ¶@Kz‡ׂrÌÓRë`L½]éùÕ¼¢úö¢tÌÒTš†ª=‹I`»ó”ÉÂöÉ9kd~ÈÖÚàê?i–d_”§ê››K†g¶†&þ`ŸŽt:s—ŠpËÞAÌ㘑Z{%$°ëÛ¸G©t%%|>pLºa²…Áp_uíëQ€’7÷é[Eô¸Ø,° åtû†ÔÒŸJcÁEH'zî ÁDª€£iŽà¯¥J¼QáÌçÓe¹Ãø[Ëô©×ÃÉ`;³Í%•]Íàpµ–Ù¡âyksMÑöS:‘9c±Vi‘¡£ƒs Ù+ìqJ^R×\§e«ó9{\¾(GåäÛ]9Ã0´¯á„Hu»BÁpÍQE©ê”ˆ€8þkƒB˜Ñº-lØÕÐä—w Ö¯]§È— ¹™(“ojlH¸£œP“íJHJ(¦˜ HEÈÄ6QIïH1—JN©´E‰ÅT<Ȉjê’^ÃWñI`cÁ-,*XKdDºeÇðx¦€L°JxÛk`éïÒI2o%Ãó‹„¼0ý:Élo´21ïžå&•x’¢ÊJñ‰¡@Ì,ÙtÄ5æóŦ"ðò5•†¡ Ïb²˜ïñ/ú¦Ê´vŽãšÊê³eçDÀ…jŸ€ô²Õ¥tï°¥@ÈxâD½¹± 2§Äâ-2:™oé1ohÙìâ='Ô=éwÜþ„NGC§vËÅ‚¢€ :Z‡Ëà°ND&çË©ÁçÙµl,BSÑæ}’Q”²y¼³èÎ/%EªšNU $#3Ž›½p¤»è^\7+(2µ™€Í;›Zm³òl—'fmvŸ¬w°»€‘ÒÚèvWÄçó…%Ãù뛀%(‚‰¥ÎаL„ÁnBè¹.è‹,¹ÐÓ4&nîª_#žÌ »\ I€äÂ+.3ɳÅ%RfPpSΙ@28把5²t"y‚”Ìø+)5(¹©¡™ž ‰ ³5Ù=1 œp(¥B˜¥ˆ¹[íQSoÛ€LÀÙÔê\H°±™¡)F¦“n/(œ×iwÌÄX62ëŽbq¦G’ðÔëK;×]3J{œ=Có Hg=q¾TH£ssÓÓÓÓÓÓãÍRJÞ5r# 'ç[ôën')Ð L§—=Ýœ/þîàhK)Ä‹Cá$@Â;4Å)L²-·à³ “-¢K­#s)gúKø‹éé.\Üã ³lÔãgÄ*! ÍB)Ÿ6æ 1\‚žT'£Ýî…$$¼öÚZG(ë$s‘Rɸfc,$æÚ·}ÍeÂÛYß=ŸžD–Ï'îͤ6ØWß>“R$-R7Š¥ iØ$ é~ ¿@ÈH.¸}qŽã¶7߈ëäœÏåO›én²¤X%¤}¾ ŒùéõeÞtl „Ú.GG_`lÈ5EÓÐzb6WÅßí¬É穚ۂ­ö2- |YI[›Š— ¬ö@z(°öØð‹{GÚ ë:Ì6[…ÚÆQâbkGIö)¿d¥Ãl·Whí%=nm3ˆ€Whí0ÛìÇìPÒãÖ®ÊülÉ32ë 1ñPÅ1g:g):FºU¢’6kØÖú¬šB¨x¾£M“}öÇ|ˉ&_z šŽ©’·ôiTÍA[OÅ1„PQÙa]» $ÇÐ ½nL[dèhÛìejšJ\\×aÉ¿E€£n•öDº6kÐÖtbˆI­¿€¼ûõøh¹E)Zk{Óq~µÛŸPR@ˆåœ³¶4¥)E]—R$Ui¶6TÄB©ÎlQØ­Eý-…šæ¶°Í^¦§9àËÍmE<€,³´%•»­ö„ƒàË+›Í¼¬±¹»ºa*ž:Ð𬖠ĕý'͹¡Èm+Ós„PiíÈ>ˆqUÕES!Úö¬ÖNð‹{‡[Ä›qRƒ†k­Ö;€àË-mÊô±!›‹ÁVqÌ „PÙÜß©HŽW*==Õå.¡Pn¶”øm¶Ö±þ.¹»ºv"]Ù¦Z„%ýƒÆ^ÖäcRïÖ>;KRËà€© ®Ãl·Wèí„Pai“’ :Þlñ6UsQR…©XJ,rÛ<6BeµãêÕ«xstt¿\¿~ýÚµk««««««DZ,ûá‡>óÌ3·_»ï¾ûøãcK"HzkN FNêØ!„pï½÷ÞSO=•í¯8×!„B¡ ÎuùX~ÿ'ß®¬íó¼CGK̆'öbË „BaFG÷qG©þÁ‹å,_~ÿÌà€ËuøûµOìÁvA_,<ÕÀ´ ›!„ftôy“»÷ðÑ'÷½ùÎ¥%€=—ùCû›‡Žò~õö¥'ÿ¶ÉÀ;ûÆ« K°çÀ3Ï™õ’ó¯tþì@]“~.\˜íìòðÌ/ÕÉ÷Âòû¯ýÀµçÅæcɉW¸° ¹ûåϽðí'öп~Õz3wÿ%æçäü\lv„B!Ìè(«åËï{ßIxúrssV.¯–üý±½@¿åp÷¿ÐT÷Ø^¸x¥ëÕQñ÷KŸÞ¿ôæûKúý¹—#A8w)p~Y¾.ü: ‡Êö÷¼à=×R÷ÄXzÒåýÕ…#*ð¾â:+y¡©î±½ËOþðG¯œ9ð=ý~lw„B!Ìèè&+g[š2;ýÀÑžÎËMïÿ݇Þ —£ïD÷<ùÜá½{ ¾u8ç•wÎï)‘óéàù¥gr£¿JPª’o/,?¶çܹ%ɱíÙ·{Å÷Î[¿Î{úÈÁÃú=ûÎÅ<Õ‹í€ÜƒÊoí÷žùõ}1†t„B!Ìèèæ™Ë—#o¾Òõê·›^”çäìáíÉX¡—`7Of^J/wåüÒ ÿÈž÷W–ö.äÉ9ÿæ;ç’—y¿¦÷?#Þ{‹k^Ìõ¼yfÐóêRÞ¡£%eú#K—®Âʼn®—~‘:²V®®ðÄKË8Ý!„Bè¶á½¿tr÷JŽ~ëðÊûïœ_Þ˜âù{à*½”ys)¹´›·'ò C$x6p~Ïâ½y–~}ö\à"ÿiqj¼ý°ªìÅ¿ÿ~×þöØžw\®àÒžý»s<×üiö®®–oKîg@OÌ÷ÕÕjµZ[Ú8°\÷n©^«Õ—Öt{–ŸiÔ;ƒ7žeÃÆ½Q½•+O¸Âzî•ðÿüÕ•-Ÿå´úïo}PýJè9çÙú_ЭÜF®ü¾Í¬ö-my &òóÿøÎ?ÿüŸßkü×ß_Â_>„0££Ï¥ßyóý•¼C7]ʹWü´xéWo¾¿ËtàÍ÷s= ¹äâ«opE|ˆ¹ûåy½oFw?y˜p9ð“|å­ Ë°gÿý{øGžÎ»à}3²°ôþäO^K-p¿’Š×n›å[ÇçæÎ Vr6G€ÄŒÝæ—6LO´ÉvÛL"%ƒîö»ŸY_Bd¨ÉI›úOÏéÕÑ.§?{–`­c”exzz¼WuØ&bÍQÊÞ3égÖOv«²>`"CMލ®÷ôÜÜéy Ç>›z´= âºÌ3ï§_«ßêÑŸl"<ÓÝ`›e6d+g«“1¥Š•…2ÅnžëzZLjÊÁ3ss#V¡Ïn_ß¡ˆLôL1·÷ûä¼Óº±hlÊÖUuOO[ùS¶ž{—ÒÙ¨ÇR!íñǬï)­ìí­“’÷¯<™µ¿Ë,¾Qžª{rz¼KNÝé&åלœžþ®˜¸Ç5eã ñ»z)Ç~påúgßý÷äê=¨ÝÊÒëo_ý¯Jþ#7¥ê_^¼ô˜PýwùSÏ/þóŸÎ¯¯Ãµsoô*Ë·WË~V*XþåG¯fï-pŸÿÇßìúëï>ö³j±æÒ'ÿønÙZ}×÷ɹ];n±ÌìGS9ûzÿ¦àçåö‡?þ§s«€ÂŒŽH+g[šR¾?ðæòÓ/¼¨ºyŽ8ÿ™ÌO&ÖùÒK/ýà‡oæ~ëŲÇö@îù¾KÑäùþ\€=ä»/ž‡ÃGò`oÁ±gr¼Žï77¿ÔüƒÁ³âçÊ öÂ~Õ‹e‡£¯v¾ôÒKÍ#‘¼§ ößÏatJci®S H‰B'd¢q r‡„fs!€W`2‹Ý$@l¬¡ÁîV¶•×\÷,[Š%$ùæÑNUÖçW²‹n?u¼2µ®ã•²¸Ç†á(ê¶b K䛬ÍÏçóx2œ¢ƒ4»­’3­µ67˜Ú,ÒõËf«õx> À“éd™bbcåjíúÑ^ªÈÒlÕˆH\'æâñµ°ó8<Ò:óM-é­Q«kf6fn6ètÒ¦:E¦Ò ¿;*3—ä“‚"³‰ò-Þ£qX6êñqòÊJiÜ éIo¶ªo ¥¾¦ªÔxãÄGl¦³Ê¨×ëµN†$æËz­Vk¬ï›¿ÑuaÎúR½V­¯êμËF<íUF£^¯/ݰèf]µ£V{¬¬ºÖ±~;ÞîšR£Ñh4ÞªHÎ÷Õ§*[Úè &Â¥Úú™ÄZ³7êScä›nWb¦^¯Õ>[QÝäŠÞú¤ËgÖ• Žá±–r£^«-mÙúÌKb~ ¾Ô¨×ëå-î­Ïñl¶.v¡½¬v*ê9¡Õjµ¥·¢_]úéÏÿã;ÎàsÃѹËpébýpììR²é‡žs¾×øk`åÊËÃçÞøÝò£ï=ç }çç¿gVß~#Tã‹ýÏ7Þ¯>[ýóÄë•+/+f6í¾´Ÿyèk/ܵñÝß¾Ýó×ߨ“ª@Ëçß~hß÷ Öý;·ÂÎ}pýßÌûzÀÞ¯þÅ£×ß^ÍÒ¹v.x…Èßwô¡³GóÍÝ~sù“­»$Ç_½’÷×â][ïÙ‡ÝÿwÿWÞ#9{)õ×à“߭௠BŸ;8ýK ÷ð_Ù»6ýËž'êìOÜx¹÷ Cí†Ï.TÛÕu#ȯ뙵‚ªþê{7ß:—/ÿvüÛƦó u™íIø=q¡\ʈDiB,L'Rb!ÆA“o5°á>'¬ýœrÑCÉý¶ª¦@„JK›U'É28ÊD£ _ÃO¯W(¥è`œ5ñ¹C‡µÆÅ(C‰••Í͆lá¤HceòþL€× I€$Ã0Qwk©c‘¾¬ÄÚVS”­›ÀÓtj æ[_¬Dc¤2Rpj(@(:ÖW ŠÏç¯Ëÿ¼‚tk±‰…‰¡¨X§eRŸcŒoé•Ó 7­’àóù܆ÜΆ‡Q]›E8äJ¿Ò”X˜^ˆ/åÃL”†Bѽ‰èŒÔ*WО1Ì`H•É-úy̓ùdd¬ª¶Ç§ìÓP Ο¸mädì«hèñ÷©x˜±Û|â®áî^ÂÛ^m³Žt«  ’þáII|¬ªÚ1k.2‰ØðPSOÜ48b’p ÝÕ­ö‘¬'DÈÂÎSÓ+¯^ØØ*yÇHM>ɆÇzÜ¡DQ¶ÞꙀº‘I 2V^Ý3[|Ò Êׄ¯» Fô¨ãƒù$»év@Ó7©aÃ}­·žÞt]©ãÞÇYOuB°¯º¡Ç§èÓl^Û„×n›¶ ö bžúêÖ!ÙhMþvÖE¶wÑ'œš‘“Á-÷ø§¿e(Ãá®ÎZ|yáÊÑÿþ‘·¯ïÛ+Õ?_nª?¶ök–óÐ_ÿÅŸ^þxÿŸKÿêkëÇ¡®Ýù½ÒÇrØ×zîÇ‹{í¥‚õ޼‡væ}ö{¹òé«¿\Ö辚·áÝå·}¿#¾ñ§O¥–ÏÛ×]¹àÚ9ßE¸ƒ—?`w~ƒ—ZõÎGÙyéì2°YW{õ£K«y¦ÿBíÝýð•¥ +ðH¶_æ•+?õ±š?îÿ%½eSízì±T{^»½ðúosµÿ/ BèóÇÑÑ—t59âÅV³€å“¦"8ŽË2|ÇÐ ò% ]§&G:‹=­¯G²oq@·Ð¢U—E€Gp @ù ¥ÂÔ6<==Þ¡ˆ:š·žÌ›˜±·N -ÖT ¤dÅJ¥|úô …?Õjó$îdûÚõêgk{èâfKÁZèúN¶lÌ&Io½ú؉aj~>íç.¢²®è³¡”WÔyêÔ†´™pTÖ±±aD<5fÏÃÝ“}õøh©NÊÈ5¨{m!Ô)óIÊåTÔg,lo.âÒ"1AÇH.zB|©€UûðHGf;(¹é¸„Êå|&L³q¿‘W—¼B³Yò„¶w*€$(‚ö{|ÁKæ›Z³ŸŽ2¿~øt—FB™Œb ’bƒ04æO@Âï  l¾]ÛªÖ¦ëBXl(äð¤:Eª 7ß‹îuÜ\$Qq¥‚óù#Û^×vF¾Ê?.Ü@y4wùÒ ïØÿèÞC9ûƒ;?Šré1gÏóe÷)º)CŒ¿ûµGžßòûíÅ—G½X°å<¦Õ럮î|RÃóŸr9;aåZ–)×?]Ý‘K®þ»'ôçß|´kg.¬fÿz\ûèÿÄ-éòvÜÞWä÷ÍÿüÞ_þ—àKòð·¡ÏGG_xÉà@CÓ¬´¹¿±$! €æ¡¦¤Äçå!•å— BjH…“Yúº+”0K±±ª Ç"@H-ƒ'Í‚ 8Ž¡ª¤„–R܃Š)&ÆR!2±MTÒ;RÌ¥]*mQb12¢šúF€¤×ÅðU|ØX0@ ‹ Ö‘®…@Ù1<ž) jÞöZ'Xú»n̨I†ç yaúu’#ØÞ/mbÞ=Ë)L*ð$E••âC˜Y²éT“˜wÌG›ŠÀË×T†*<‹Éb¾Ç¿è›*ÓÚ8Žh*«Ï–w ª}vÒËV—ҽÖ!ã‰õæÆB€È@œ‹·Èèd¾¥ļ¡e³Gtˆ÷œP÷¤ßqû: Úa,cŠ6èhb,ƒÃ:™œo,s¤vŸOptfײ±MID›÷}HJDQÊæñ΢;¿”©j:U5ŒÌ8êW‡BùIDATlö‘î¢ÍWyÝÖ³hè6å“l°³Ì–y_¤4InsGÅ&¥ ËvmG¶upkm˜à~¶ýEP|J\7øšIt7ëúcú4s!)såzîC[$ýkç~ÿ@,úÞÆi.ÌÇŸü¿ìÞVé­æää>J^;{%Ç øÝ¹€•«Þó«_4³V–~òÓ÷j|뮽ò»—Ã9ñMÞÆÅNýë•Gî?të¡-R+Ýño¿¼ôÑ p—.½Ý¡zŒÌ²®‡ âÂç._ƒ•+S¿¼úõÞÚ=d˜s‘ï¼òÁÛ™6Í{ìÐÏþGÁÏ,²ŸYï’æìÿo‡×úg6áRøâ?¿uù°Ÿz³œ÷H.Ž¢#ô¹ƒãèè Œ ¹¦hZOÌ¦ã€ø»ýƒ5ùª¹#hë©8fã€**;¬…™p ÍÐë†ÖD†Žæ°Í^¦¦9 ÄÅu–ü[ô8šaàVÉP¤k³mM'†˜Ôú îþ–„lÔã£å¥h­íMÇùÕnBI!–sÎÚÒP”¦u]JT¥YØÚP ¥:³Eas´võ·jšÛÂ6{™žæ€/7w´ñ²DLIe‡Ån«=áàøòÊfs¶Nì®n˜Š§N#4<«%qeÿI³Dn(rÛÊôA!TZ;вö ¥¦JY“­¢\(k*-Å~»ÍVÔß©&™½5 èJw)IùfÛeåìe­~&}"ãÙ)‚Y‡ûä³5ÕÎE8ŽƒÀ mA)»FÚe›®K@H•É¡êÒPœ!”u½*° íeM¾t©µÏ΄Ô28`©šÛ‚6{™ž ÄÅÖ¶lWTo±]¤¬²DØT{l¾ÜÒÛg’ló`Èûêóâßõ¾ì…û¥_ïý³½äìÑ=I¶MýÇŸ<üÕ¼ÎÒ‡r`ÇÁG®¿:zölrõáØ]¿¾Ì^ûôƾ_ý÷·.^ÈÿõÞ ëaÂq÷.~÷¡£ïWèÆáØÙôèü~û,|õQñ Ž÷õoþÉ g>jŒJGþÉwoLj¿i]@<ÐúäGÿ4ú›ZÝuH*lzr]–^]ù”ƒÛëyÝT,¡Ó‰ÎybÕÿüá2ì<øè¾Ö£aFGèsgÇÕ«WwìØ î‹ëׯ_»vmuuuuu•ã8–e?üðÃgžyæöKx÷ÝwüqlIIo͉!ÃÈIÛm´úögz$¿ï ¼Ã BèAñÞ{ï=õÔSÙþŠs]B!„z°`FG!„BèÁ‚óÑB_<ÕÀ´ ›mb×ÑoËŽb3 „>?p!„B!Ìè!„B!Ìè!„BaFG!„BaFG!„B3:B!„B3:B!„B˜ÑzP‘$ɲ,¶B!„>GX–%I3:úÂÊËË»|ù2¶B!„>G._¾œ——‡}aíÛ·ïÓO?½xñ"ަ#„BèÁDzìÅ‹¯\¹²oß¾-ËÁ–BŸkAH¥Ò‹/~üñÇÓB!ô€#I2//ïðáÃA`FG_ð˜~ðàÁƒbS „Bè‹çº „B!„!„B!„!„B!Ìè!„B!Ìè!„BaFG!„BaFG!„B3:B!„B3:B!„B˜ÑB!„B˜ÑB!„B˜ÑB!„ÂŒŽB!„º]9Û\~ù7¯´ žqéKußÜ °üñöz; §kj)ÞmŠB!„ÐݸãqôèÛç.§Rû…w‚IlH„B!„;úÔFß:wY.ß —~Lo_NòbúKïϺFΜ½´À}Îüí'øp9ðÃp?Pb>xý ¼#%Õ/¨ænº0yõwÎ_ÍÉ;rLg&Îò¾ÕÔ¢ßK¿õÆè™àùäJïªÔ¬l/îÂûiyi9wOîVo „B¡m»³qtþ¡#<8÷Vt ௗ@\°?ö—~óÆOpæÂ2¶ B!„Ð}Èè°ÿéD½ï_¦Ï¾s ÄOÙ“ùKÎ?«ù»¿ûû¿R>,?*ɸô~2Úv?QRòÍ'äǎΠ£—–7]xùü;çv?ùí’gžëËþl_ª\Xм\ÝrýÑÃ’ÇŽ+ÈY9ç=‡!ý>Ê=hxñLü$@//_xëÕ7w?W­ßÃè!„BwçÎæºÀžýOÙývàí`€¾âÒ#¼s“™?]¼9ê žO®|öS¼}¼\€=¼œ-^J&`Ÿ—ZSà"Àr2 WßùQË;™E/E’Ëò½˜ ïþ7ÿª~2ð£þbyå@Ùß–?“B!„îWF‡œGŸØýÎ;gÎ(=ƒsé÷/GFu~÷“/¼TöDîû¯ü`ðìúOÝ”¦“›.œËÛ Kt`?ÀÒ…Ì©¹<^@Γ/ÔüYz¨6'‡ÇÀþ ÄôÜÉ·s”z è!„B÷ÄÞ×%7÷ÀÑ#»!¹ŽYÍ–VV–.Lz"+K¢–²”²éÂpài1ÀÕ_MLüò×É‘73×¢î‘=’WϾ}Ž^JF¼#¯¼2²6Ýߘ.×c@G!„ºï ÷À3GvÃÍ}¯¼D)Þ}58ú£W½9Ç^,9”³rîg£ï\Ú´Þæ ¯ÈÍ¥OîË9ÿö¨kò‘oÈ,¾ç‰²š’^dbðG£¥*ý3q!„B}Ñì¸zõêŽ;´j-/]^‚½{÷\þåÿaôüç^úûgp ö‹çúõë×®][]]]]]å8ŽeÙ?üð™gžÁ–A!„ЗYÎX§¥ßü¤s0xõ€ò…çžXzûÌy€}OÆ€ŽB!„¾$Ìqô¥÷']o¼uöâU€œ¼COëËJä|œÕòE„ãè!„BŸ—ŒŽ0£#„B}yíÄ&@!„B3:B!„B3:B!„B˜ÑB!„B˜ÑB!„ÂŒŽB!„º§¶ý £¹¹9l5´-jµ!„Bèöá8:B!„B˜ÑB!„BÙm{® Î[@!„Bè ÇÑB!„ÂŒŽB!„ÂŒŽB!„ft„B!„ft„B!„0£#„úÿÛ¹{ÆÖ<Žã¿,ç@R!BRd ‚ ˜" ˜" ^0EÆ"˜)¼à–³°[XÌSXì…;pS((¬…‚¦ˆ0“"6E…±ˆ`dR$`àž"Ñs¢[¨³s÷…Ý;ãÎËúýty;ž§ùž‡?€Fht4:p7år™U¾ FO¥R‡…ÀgqyyyqqÑï÷ûýþùùùÙÙÙÉÉ Ëî8f]Ðèht€F@£4: ÑÐèht€Fðß2~á÷7ËX9|÷ÒëGéL*:hÞÆÝt÷X\k²¿ÿ]j½ÀÝôçèxzj*=1Rcogm)_n9¬%pŒûU(>ùëSRæ›WÏ—vÅ­ƒñïbêÖ_ml•Û=×ðer³©PkëÙóŠ=œ{ú]Ì'9õÕÅü1>¿øm¸SÛÞ(ÖWV81›‰þÃÑy·þj£P:hö$Ã?ÏÌdcAÓ9Þxú¼ªH:æT+G¶¼¡Ä죙耤Ÿöÿ²^¨uzò†Æ³¹ÙûAÓy³¼¸rhML…vö¬ÜÓ߯|l9¾p;n““Ã’Û¨µî.çwì‘é……¹¸ Ë[u7”³¤FµÞ•ä4v뮼ÑTXÇ…üzµáK=Z˜Ï†š•µµòéÏ.|u­ÓP:÷hnzLG•õüö±#†)õknòÑ“ù©p¯YYßÜïJ­b~íõ‘b¹……{os¹øÖ‘LCR§òÚŽd§Óaƒý¾eN×ùoà“7ºdX–Wrí®ûS½ÒüéÌý¡¡èd&¬ÞAùXÁĸ%·^=vä4«‡=Y±‰š•š-#2•ILÅ-5wÞôÓZ¹!¾™ÍÄF£É™éˆ!{¿Ü¸ Àpf*v/8’šŒrkM§U­µ¥Ðädlhè~f" Î^åÝüM8ûp&•¼¥™yü=ÈßXZ­Ýì›ÓÚ]~–ÉØÀÇöG_¡Ûéô$¯ßgô]I¥';7¶:¶9šŒû_—êÕFתöä'‚¦ê§=I‡+‹OÞßqlj¿{a·mIVÀººKŸß'Ù®+ïõsÁÕЊÏ2¤ží8]»+©¹ùÇ'›7×hv\ù$É ú9Aÿ_0ïýæñäj>¿ªùܘ[]Ë—¼Ó ™ BŸ·Ñ·¯_4$c$2½§>©ãŸ˜œ´®¯nXƒ’â iç¨ZóÚò§“÷L9¾A¯ŽÜá 3CæõW½–©›Œ1­€OêÙm[£ƒ’k·lÉë·®o×í´º1åÚ§=ÉkùL_À'õBÙ…\äzäÜðú}jÜÖ“þµÁû絚þ§Žš]ø6:Àš|¬›uq›»/‹ÅâÖŸ\ú¾Ô–1<õi`$–:{»õÓîiýÅúòjá°+IÁX" »Z¨Ø ¤AIf(³ä6*{-ÛnV·–—×Ëm÷ýö‹¥ÂR»¸Q¬½Ù/oŽ$<º9¢m¾Ü.ïïÿµP8’Œ‘xÐ Fc©¹[mÚÝÖ~auy½Øè²½Ÿ*Ó³Ñ(p[>ð„¹½W*I’¼H:3=yõŸ,ƒÉ¹ùÎæFy{eO²Âñ©L|𺸓B[ ¥Æ®Þ1‡²óÜÒZ¾$ÃIM§G|z¯ªSç­Ri}E2üÃs³™{¦®fá¸{íÈ–7<‘›õI¾ÉÇsÎF¡²ž¯Èðdz™È€Ôf‡?I¦Ç2Và¶xz½žÇãùjî×y»õìûJwlþéÃæž¿~———ý~¿ßŸŸœœ$“IVÜe¿b À¿õµÍºàÿ ³.ÿŒst€F@£4: ÑÐè€Fht4:ø’år™U¾ FO¥R‡…ÀgqyyyqqÑï÷ûýþùùùÙÙÙÉÉ Ëî8f]Ðèht€F@£4:¸›þ%£ ExÝÔ¯IEND®B`‚murano-9.0.0/doc/source/user/figures/environments.png0000664000175000017500000014215713656750211023007 0ustar zuulzuul00000000000000‰PNG  IHDR„Á¾&âšsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝy@×Þ?þOB2™Ø&Z‚ E°¡El©`+TŠVÁÜ·[Á«àS¥÷ž§@ïø}‹´E¼ûuWêŽqÛ,"V +á"HbÍPÈdûþ‘°«ëçõq˜õ$9óΙsfR©B!„z˜X!„BÃ(B!„Â0ŠB!„П…õð‹jµ ÕjTJmg§¦³C£¤µ …†V(ÛZ5Ô}µ\N7ÿGuOªj‘¨dRZ*ÕNövúŸ² !„Bé0F:€Iy·å×mŸBg‡V£ZKÓšvJEÝ×tüM¯¤ªí»†V«U;½.Úò¯¿jQ*©§Îæšxy‹^ÇB!„ÐpŒ¸e´rÛª‹Å#­‘ƒÁ`j5`0 _ô&“ À`2Zƒ¡`Õ^»ö_á“¶l#£¿`7ȳ0Ç>‡a!„Bèq…Ñ{jmEÛ„1€CÃ222222b² ‹Åf1Y,ÛÈȈÉ`1™À`2™L&ƒÁ`0 &Óˆ …òÄvÐB`ŽÆîªª–P)YÖ/<IJº<Î`b7\„B¡ÇFA­j£@iEóñV/2€  Õh5 -CZ]$Ó_£gC÷OWZS«Õ ¦B¡Õj£¯,dÛ·É4ûï.Œ"„B¡ÇFµ²³“Å`ÜW©¬Ç Ôj5€À†F«a0z&ƒÁ-t§Q-€V«í=Ãè¢Õƒ¡íì&“alŒ‹¿$Z*‘ÒCÎAð|`‡BCV¥b1E„Ë=™0Ê`0´Z&‹ÉÐ0˜ºn£À`0º-é^3 ­‘‘ЦÕ Ábég2Þ¸qãèÑ£jµúÅ_ !IîÝ»÷Å_x{{óx¼S§NÀ[o½5mÚ4f×q™L–••u÷î]##£eË–ÙÚÚÀ?þxöìÙÐÐкººòòrƒñæ›oΘ1C·ˆ†¢î&Ätþ\¤_ÿ£Xñ;^ºÎ¯w?ù0Æø˜múo*ÿ̽¥i;:´õØ‹žÿàï½÷V~âØýý»Ô”œijj¹mG¿cù5t®ºµÅ2-“ã< ?gOœ´8nIüEåæb{ÆHðâcq!„’‚ÄÍI…wxž›·Æú ð÷;úóÃ(0VnSþs±4jÐ]’×hL&ŒË0å2H’Á7îXÏ`±€ÅºÿÛo…ÉŸÐjõ¡Ðú¹±*­´Z#ޱÁ@ZUUuôèÑçž{nܸqõõõÿú׿"""LLLt­¬¬”Éd/¾øâþóŸóçÏóù|‘H÷ïßÏÌ̤iÚÑÑñæÍ›ûö틌Œ;vì /¼'Nœèììœ0aÂ/¿üR\\leeåââ­ÿب¨©6~ÍÁ4¢ëkÀÄmв±AÕr‡°{Ùhœ91Á¨ì#lÛṉ̃Ï)*+îùšÁ1~nùj}¸ùâS*÷$Ó”4yÃS#kcŽÓûXd韩[[ÈwßÃ$:ZÂhE½òÁs)ë+¤0x¥+â$ò¶Øhÿë_ñ¡UaÅ«¤{=ÎVºîË%á'd½¦˜Úy†„G…ˆF´Uº4zNŠÍÖëFX´¤x_ÆþüÒz™€mùŠWКð †~„ž²z4/QŸD@vqK|¾(3PðÀ›½jUÁÒ#é¾°Ž{غh¡ 6ÌMºÑ»1ÄòU¿¥‘ëü…#:¤‡>ƒH+²3vd߸£`óìÜý–†/ózr¿-FFµZÉOej•’Åd1™L&“©aFQŒqæÀ`0˜L`2»›?•U×îþþ;hµÕwîTIîÈj“1þëÌ ¦?zô(„‡‡Ÿ>}º´´´¬¬ÌÛÛ[ÿ¹—ÉæÍ›çââróæÍ¬¬¬'NèÂhQQ‘B¡X¹r¥­­íõë×9’——7þ|‹ûÛß^xá…Ÿ~ú)'''??ßÅÅEÙØ ¨©ãóö¸ÿùD«Ri•J0ON•~öÿSyg¸sçyÇO×ßÕ"-“Á4b)ª«îD†µçÖ…Qúf •{’9fŒõ‘“ 6[«T29=÷é†ÛÔé“ì^|><k¯Ñ¶å+"›¡¾¯Tc… €ø‹þÔ%æD×逖V싉ŽN´9’<’*Œp=²‹ GX>’ÜèUiw¼"cwùˆ$%.Íß™²yUEü.l„F詪GËû¡ÒF:ÛFï½ŒîÆ J\¶9)†t:°F8‚Uƒ¶$GœD‹Ãâ+œÂ£2“Ý…$-©Îß™¿ª:rWêƒ\Œ†0ª»¯»OÓõ;whµZ©RYL½Äã1 ÞÍ^«Õueª•Æ„÷9c&Ó¨ðßZçW¬>›®¬¬ggg‡Ó¦M+---//ï£A¸¸¸hµÚ—_~ÙÜܼµµU, …ÂÒÒR.—«»4?qâD6›}ýúõîÕòùü^xA«ÕNœ8ñÔ©Sííí ‘ËÔj`°Xú=a2µº Íd2˜ú¬Ü1u œªýOBYZ ˜EÇéf`púdkêè×Z•Š»x9Ó»ÔŒ„0$*’wµÑ·W‘[ØHõû3ß)p²,>^làKûELJ¾„à œ||(xº7¹:;%e_…€à‹‚¢¢BœHZµªØo™°´¸º±‘²[Dgï+l¼#¡ÖlI€´øËÄŒüzššp ŒŒZãÎP6æ&†e—Še´À'2>Ê_H-ÎKKÙYÜ) ‰Š r‚Š”UqÒð]ɾ| «¿XÝ’ù5ÁÍÞ_-/{ *v$¦äVS„À}Ùæ¨@{€ªØ—˜]M“'¿ ~á*òH‚¨"q¾5‚ªËMÛ²¯T ðZé/„Ò¸i¼ež²‚«w$R¾OlÒFw>Uš±£Únó®XÝž’B÷ „-ôªÕiûªÝ7:I­ZU¸FX\PçŽì–%% Iñ—)ùõiã³:voÿ3ž´º´z@`ÒÎ]„§F„S%jé$€Âúž 'ËA¾nt]vbüŽRŠ/°ùÙuQ |¯éÒ¸idˆ'Uzµ¾^BzEF¾Z±/÷jc£”ôKزNDª I @Vö妸Âê;íä« cÖˆHªâPbÚ¡j)@Øù„GmôHr7„rÚ²k=’¼Maûm’37:‘£®2!…^Aî¦ÕIZœ—–´³XBv~‘±ëÜù´$/%&£XJðîA~â¹^»v…ÐÙ]-£Î/tÝKbd!ADqaý‰”pLŠõÐuûÒ ÉÕ;‚t±—8ÆneoX’‘Qê“ ª6T“>ëõ}ÓÅ¥N­„¥ÈÝ~QhÄ£éµúñò‰ì®±‘adÔ!¾¥éìdšŒ*»sÉ—ž#5Z­€mj:p†{÷îÀ¸qãtƒœH’äp8º‰:ÖÖÖ ï´ /½ôRkkëo¿ý&“ÉÀÔÔô§Ÿ~Òjµ† ¥RÙÙÙ©[Jw±^×]•Ãá¨T*à¼2‘9Æô÷¢Â{[Ÿ€!{²ªZ[äÇÓ•W»§hÚ)úf-ÓÄ„ã"8¿ún+uî´ét?Ò/ë®ÑV•|K’’oi£Ï”½ãAÈ ´––¦¥ò"dúòéºìMáJ°ÑMÞA­É<($¤Å‰aÑ)6¼€åR265]@•Æ-‰‰ËÞ¼+=“OG/I;Tí·ÑIš—X(LØ•êÎiAܪħÉ6Êú\ixæ‘XRZœ¸*1¥À=ÝŸÚŸVí™z ݉¤Å¹›Ââ2œD‰Â|ÂâÒŠE±–‡R -Ãw=ôoXZRzèp½©S¸@šKFe~ã+ %yÑa1_ÚØhW¿#1›Éü&HHWÚ¼éíÞ»Z¦«3b¾”„d tÝŽ°ˆ˜}N–@ß¹X-ÊL_ÇIöª¥ù!îA²Âêv»p÷¾{*ô ´Ù™]!'‚å|ˆÚš.$¨ÒÄ%q;+Ü%‡â/¾’°+ÕO׊ˆˆÉ¶ÛÒ§µ€ªÎNŒ/lï{XìWŸà{„þòø>á ¢ßÐõy²›é7È·Mœ”Qï³õ›5N„´8%,_i 6ô½@ß)•xíJ]GJ²W-MJ1Ýš™¾‘Z¶£8dÊЀ–•–ÚoݵQu‡"ÂwxØhSšw"3¿ñUš²*.Ñ~Wz``ìš‚°¤}~™Aiwü’“û…¨QR™Puù‡ŠÛí–Ù‘@W“Vï“z`IU|gw Ý Ó*œŽD¹“’‚Ĉ|%éÛ{y‰¡ó‹; +-æíJÍ€´`Ó’ŒCu^‰²2™M OßX¾WÝ–´ÂFZd¨&! žõú”¤äbFüÎú~‡eùÞÖ]œêò¦˜L`NQàaeñº9ßÞÔØHù€þxЪµ­>ÎÐÖÖÖ5uÆŒš®§:õº²¯{ÝÒÒ¢k©•H$999§N:}ú4MÓ½çd± ¥m&“±‰É1¾üðÿZ§¡äƒí¶<'»)t.õÍ1mÇï ‚£ã*0Fã, Þº_ž“ ¶ÎŒBôâÜb)Ux ì‚;†ÚÓÅÕ´] ;{Ÿ WtSës‹Á}™Ÿ¾ûBO¢"¿š`Ûùz €´t"Ù6~ºå,mHê@UçÕó}æêúJò½‚DP_O؉H໺õëiIÙÅFAP î÷¿Ð'ÈŽ*-Ó@:­‹õ©O‹‹‹/´ŒŒõx‘›—æTH ß4àFÒÜzï-M©uóÖ( TEn5é·ÔK„À7DD_ÌÓ’Š2™0ÐGHNKØý6“WJ9…è €° ܹX&ÂT¤+,àÛÙ˜R2()Åæóûÿ0&-MjlךM §ÒƉw¤HÊòëA!úb÷[h'É/“ô[WTæfÏ>¿k_Y½5“(B'*U|ðÞÂè2AÐêÕ .\½z¡ÝÕè…ïÍXõEiÿÆ0V7Zúø9éjȹžºßþƒ~¯ S‘¿ |K6ïU_;B÷d2 © €- ñ„½O ìjµ”®Ï/÷/)šëCÖçUS‚À¨p^~R\\Æ¿ø5‚ѬLd§Ãß몕çFdCHRRhqÞE©ÝB]Ë#) ÔçVHéúÂzÂ=PD€Àw©Ÿe¿7hÐó Û)H_$66$uGt»„SKr@‹ ŸMK)0X“~ÖëÕȲeË\›ÞSx>1[‡“DᡟM¯­LA›°XÀÐh´ 0Ø´¨U«u/:T*&ƒ¡ÖÀHoîÄ4ty]íšöööê®miµZãÝžÉôÎD—ÖÿýHq­¢5úC‹/2bkç•rÙÖT–¥Àâó/Y–’µËéúºî0ƒ ˜Ï=OÍåÎÏž`Uبjµ ‰´!ùDx¼ÓÀ¸Fò¡Ð@•Q¿«“$I’lZ*U¶ßˆ^0G7¦ÛÁ‰ÒÕÇlӮë ÑÕƒ…’µ+ AwKSÑ^OÑÀî©LM ¥„¦(1¦<²§ŽZÖ@8…ð—¦Iü¶èoIW§DĶƒå†zuõ¥«¿X²©Þ7D×Ož’µ+e'"äw á.£i Í6íÚU‚/ ‰>ç›vEÝGBòL’P´]¯ƒí©,Ie½„‚¾ã•¨;íÀ·ÑÁî»MI(hÜ6gŸþÿíJ¾Œ†¾×Ìl&$†m¹Ø¯¬ÎH ±Ç߀=u‡RNÔ+ ¾ðp}Ÿš²ñtÊÿ}ÝÞD×÷• $»~ðï5¦Ý?w ‚`wU¡ºÚ`°ÊH¯«j65JBQ<©’pêJ•) •eí ße¢ŒÍ…‚ÈXƒ•Ä«LºûŒJr7¬Ú' Ò'Àv¥¼‘²dNZWIðE¤]׆´!û6 r~1í9u—)ÁPvG Ð'ÒR©’´#u'ú×äƒõúž‡HѺ­[ bó‰F]ÍŒõîÀ€‘ßÚ©ûþMØŸû¢ÍØm~k«4ZF÷2†©@ èÝ ]î»ugMP(ºEt-©*•ŠÏñH–õ –éÿ·yõ"å/¿(oß"ìºR÷ïýÃY`öß³,,@«ÖïƒÅ­VÝzG«2Ðß”ç—| ªï/>É6OòLÙT÷Ê ]F›êªe»ŒÒW íí4›O’¤„«Ýi©ôU¬´ cíóžMqʾ¹™kúÕ—„© ëÙ6CŽÓÂiM¤û’Ä”<ÏT>›2å‘tc÷‘P²v …†Ç5_‘éé…ÿ ^í âÂÜFÞäÉ©¡eHɶ[½+Óÿ_kÝ)$%±Ð)2!“(B‹äêÅ;ƒ7ï•KÀIا*"€îºBC·7J•ƒ¯éŠ¡¿äƒT†4t‡Rª½HIòù잉4%¦Ø< tݾ´ »÷<ïìË(ðL0˜žpe"ð‹ Ê^²oî®uö˜Z’ìÉQ’Ý{×äT) ´¬½ëlÔH)‡w~1€?y2ognn]Pï›H‹³ëMEkl¨7T>†ÏzÎs¢u[·‰û¨ÀØ#¢:ÂËô †µû #£ÞK«Õ¾ô@w*î7ý “É ˜FÆFLc“I+ ü>àñ@,ëZ=ÛÚÚ´Z­¥eO;tCCCw›èíÛ·`ܸqº¥tÿ}Ì1cáKZZÛ+éB×kúF50Ÿ×w.TÞ¾¥_Ê”4g®éìì¼tÑPË(›;':ŠPÿv+±QÒ&ªOaëÖ8 ýc3w °5RÿëÛúfãiÕ¹¥ ë²OÔë[XEtñ¡b -.H‰û²‚zðN¢@;ªð„nVIÁ¡ ùÙ¹¹u4P¥¹¥´“ !˜ìg#Éέ¦€çgדž¾B¤)iõ>QQc×ðr“vÔõOÔÂÌÓ'N|“ü Gz…¯±«ÎH+¦HQ “4ÿp©€®ËMŒ;TGƒÀÝÉTœ_*ª.÷PEßjú{’Õ‡òÅ4PÕÙÙ¿WƒõêðÉ’ŒÍ‰¹ºî”¤";nóNÊ'jÙ 5¾`²ŸP|8»š *Å%抇ȣéɘDzœ¿ãeõÒ!þ,m”õ­‹øN“-ïê*0iñ¡Òö‘~¯ûÖ†*Ch¯È.–­ûqû*Ÿ°ós‡R}Í,­8q‘ròs"®Û‘”k¹:vcT”g}ZJt4V&„0$Ò>‘”-¦úzò+öé*X÷EHw¡¬4¯žiñáÂ;Ã=¿ؘý²HúÄæ¸C¥b hIu^Êæ-¢ðÕƒÝío$g=R´&9uão–2âËôí-- Õv·ê›;µ¢´Z­€šû¿)~wÔ^¿{ùG#µFZY‡âÊ]éÝN­Öx¬ FcŸÓjÔ‚Œ]ô껉qÏ-_ýÜÒUŠúϰúj/öEO{³HEâ‚8"ùH”¶?"ôL’—–C6 o›gçå‹Cÿ\’ܰU¹sdúÿUnÖ<¬–QFÓÒÒrÿþýß©vùýß@£Õþðë6˜&,†›©ºOwå^?d^£­´š±ŽÏ™ZÌŸSÞ‚­ èÎÞ «Ýìííÿþ÷¿Ÿ;wN­V¿öÚkÝwÕ·®ÁÁÁEEE|>?00pܸqºécÆŒùûßÿ^^^~ãÆ pvvvrr’$½½½_|ñEýq²X¾¾¾º>©c¦ùª[îÐׯ±^x‘¼ÀØÕM7ÉqñIí§¾ÑªÕÌ1¦ìñ¬vì¿·#T*~d”FÑ©ø¹¼çGÈ}d<åM*÷ •lGæs<ÖKvcC—¿6˜$9.!YYSÙÜŒa=•U݆U‡œR3×9‘ÒÒÜRÚ)Ò“(BÏ*¾×Æt¯XO¶U eIœtuf²¿€®+Ìó_µû ÝÊ|¸-£r¹üö/·»'ÿß/;nTÀ;æcŒ™ `€V£¡'8Òr9S­Zj5(i#S’É&ŒŒMØ£ƒÒʤZºS78ÈØï}2l3ƒõ€¬{º=t=›ÞÎÎnéÒ¥ü€»W‹ªâ«ËMLÚQª»ér`dÂ:|\B=AÒÒ/{=Ÿ$&ö¯ÔY~¸}F¹\®•µÕýû¿1™úP&t¯µL¦qs£1“j hÔ Ö0@ rýØmW[iO^|L‘“(BÃAØ&ì Är@¡Ñï¾.õȺ¿æ±`4ý¸qãìh«µ½Y¤ohTtBGÐ P©@«ÑÏÀ`h]´Ý—æ ¼áB!„‚‘ÞÚI`añú²•-¯º15]¦Ô542€®©F÷ N]rÕjµÄd†¡g F—b•zÈB!„zê ·ÏhoeW¯ný|¡¤ÚXw™^×8:†d˜˜}8ÈÅ026ÛÈÚ†å$2²´b¿ì„ÅB!„þh€f‰„Õø WÑÎà>Ï$¹ #cŒ)ƒM€‰ “ €ÁÄ ñ!„Bèq…Q„B!„þ8&B!„Â0ŠB!„0Œ"„B!„a!„BaE!„Bèqaݺu K!„B=™0jiiÙûÿøèvô¸u?V÷XF£ÑhÔjµR©¼wïÞ›o¾‰E„B=Ca”Ãá`EO0ŒªÕjµZ<„BÃ(Bv*ÕjµFFFjµºwHE!„Ð3FŒŒzÿ¨ÐŸA{¿Öh4ÐIB!ôL‡Q„þLF«Õ2»` „BÏ\Å€ž] Õ5Ž2™Ll•G!„žA˜DÑÓ>u#™°Ï(B!„a!„B! £!„BÃ(B!„BFB!„†Q„m/ÝS°XB! £!„BaE!„BFB!„Â0ŠB!„0Œ"„B!„a!„B=ÕX?üð–zz©Õj¥R©Ñh°(B¡Q‚ÉdÁd«Ñ“¡P(°ÈСÕj5Z­V«Õ4M+ŠÆÆF%Qü#„B£“±±ñpò(^¦GO1¥R‰…€BN4Mg6 £è)†WçB¡§ý4a!„B=1FB!„†Q„B!„a!„B! £!„BÃ(B!„BFB!„†Q„B!„0Œ"„B! £=m7·Ìyë­€øŸê¡öŠª-sb~V@CÖ’wŠä#Z¸¹èäm½Wòè)ÅGÿÏgçZ†žI~óì–ˆ%o½õÖ[o½°dóÖ¢æ¡öEÑðÝÙŸ?Ò¶ïÂÞYr´ùïzGí®Ä/ˇ(QÙ…Ï¢ø²¢cø›—oýßÏ.ÈFËGQVõc•¿‘¡g ‹=Æ/X³ IDAT[äW².ï¾ ².Ë_óæ>ôzlçežÍÑòÍvgÝÜôîfç ûÓ\ÎcÈ¢­WoÁKKyCÆé­áá9伸´¸)/›AsÕ¹í ±«Åqû·¼mfxñÉíYfö3_ã>Ö7FÙ\ÞlòêÜläyÿþáÃ{Ømp_ýÛGYÜQòQ”Uå}Û<ïug.¿–! £Ã>[ÜØ³³¦×csgßà…ÓíL†»‚_O&q¡Ãqõ'k^Qý{ÿFÑÙ„/`­þ˜¶ËY—ów®$$«³.´yÏ4h;»ja–ë<ûºËb©TBÛ¯LŒ›ÿ2·!kÁê¢éóøW.‹¥R)áº!1z¦m÷ŠŽ…¯.Z{"Ó› m?f&¤æ\—RÀŸ²2:nñk\WMNÞ}YBöïnJÜìMÅ„§×I!j©deÊÚ†È(i܉¤×8І³©ÉÛ/ˆ ]GGÏw&nnY%]<Ÿ(ú®N"‘S6¥Ä¿mòŸ3’s®S@¦®Û4Óv`š•ÕÖª„ó̇øž4ŸK=&ž’ñ†.“Y9¿ŸÆ?{O@÷¡Ðü‰ó¢Ã^£NFE“P¾ jSFÒIÿãê`å?g%¤f]—„ýô Ñ›½­7&Än¿L‘|áÔÅ®WÒ¯¬<‘ù6w`­›L|û¡rfKágé×_›W{µY&“ƒÍÛK—¾¹Ÿf4~´NÄW|õi®yx¸ðØçç_ÿðé¬ò­ŸžŸðYñ£Lþa ·öÄþÜ«­`lõÆÜÐw¸JñÑO÷wNsƒ«µ­r™œí¸2Ô§¬Ý•t‚;ÍA~½±µUÆž8g΄Úo‹rî«¡›ë` «:q𛫭*–ùÄÀÐ9"[·ÔÛÎò«·îÉdrî«óVÎ ÞÿåéV v*{ûo+…µû}×(P×áí©ÖXÕ!„žs™Þ\äëëëë;U$„Öª³™{JïwI¶…Ç‚å‹ÏiE+-ËÉ)¸ÔÔïúƒš/d‰'.žne5u±«äè÷]×– ‚O½Ÿ¸k×ÃiïKÒrúúîÊ´]ŽìOt½’šü}›¡x{6!ö{aôáo¿ýaÿJzwlêÏrÅÍÝ éâ™§¿ýöÛý+á\rúÏ ®w\ÜT’ÿnÊþ­ó=‘vwlêu×ÄÃg¾ùæDÚ|éöØô*ÒËEüµ[w8²ÿBzÖM4䤣Vî?sæÌ™iïÓEÄ®¬Ë~¹Ú!t³âû%¯û®Žœò¾kŸ0hå=ómg.€âçô„c°rç·ß~{:ã}é× »o*¬ÞOŒžHÖfIz›4p\½×]”›+wž9ó͙ÛN64KH¯›žvúÌ7û£_.ÊÓ†¨¶^­…—^}¸6O6 TWaÚʈÿñQ¨ucÞ¹_Àü Ù\|Kw\~«¸‘½ÑÒY,–ªµªÃ'âŸÿ´¦~ÜèºùÜãâââ>|—õãþ£U,Pµ×yë">üLJsŒ¯ŸûV¬`±U÷j[E¡ë"þ1 ~:t´ù•~þFÇOç®ËZ wª5Ÿÿa\\\ÌÊ Çv׺¥®7¾4]ć±o«.ç–·˜8‡„N46~}åGL5¹úMÞ½×Ãcâââ>Žx›Uûã/X×!„ž%q™žeí1#ÀŽ JGÕÇ;«n]w¸rs’·•h¶cSNÌŒþhºIý÷‡s ªš:X¼ “‚g»Z°•-%GöêZFDz¡£þûÃÇ jZ;U,žsÀâ…Þ¶& ß>\PÕÚ ÀNž½0ÈYžõqf• Žü3êÒòO6¸˜àÛ6*(;”löPFŸ†“G©)ÑS¸àºr*{ôæìˆ—uí‹üéïOäG8e {Q]Ûb{¾?ýep'¾íJœû®N1ìŸî®œ¼ÎŸ¾é5.XÍL91¸\Dì?-çp9`5Å[þ„ dãËÄ‚ùï;s€c;}¾}zúwbz&1qþT+R($)‰ÀžÏñÙ£ß ßŸâlû~|’Á¤y«\f>Íf¨÷€–R@Näî!Ày-þÄ G_ ®üÝbiß¿¿l踺(êÎ^†))ºýæºÎŸN†Ÿ½.ŸJ'LŸéÌÛwWNÙ~YbhÓTm­J8ÇüŸ{yŸFçõª^^ùñ*ó×EÖl01·áÂUy'û¥)"òÇâ[r‘ˆ+¯-næ½1Ïš ͽj>ã o¼Ä¹¸¼ÑX4ç%.w¢ÏÖ•Æ,+/]<6æYw¶vê–4žàfc¤5É"y¯Z±€kÃ…ŠÖ]ÿ©•çµÒ lk¯iæÅß^oy× €e<á .iñ<«³µSÙ»NåòX²«ÅW…^'XˆBW‰°vAa6€ T,È+ò[&Ï rt4‘–ìÈ<+6žà»ØWØQ–“})+SÅ‹^hÝkYý,Î Öûš”eíÍÙqÜ:f‰y̳͞·`ÂÌÅÞÜú3G.eí0Þ¸1`ùÔ¦d¼©Ë{Øa-Qô×3é{e~a+\ùÊ–’½™—¬ÃÖXŒÞ8ª¨Ê:'–HÃgœëšB½¾6æ5¤©KhÒŠ„Ë @ü®I’-¡6ëQRŠ&¬ˆ®¸¦ëEªhø~{úÑ+h©˜ ²CT=› ø| ¥@]«Ôÿk631vï>š°4ABNœ½6zÀËôâòVs7áß‚OR±T¶†ò¨¼ê\úö“×¥4Ð)¸ößᡎ‹–Jibb×ÁpH+’¾LQ4M¤Ù5ñe’0FeµW;¬Þµzðgg°>£,– «o¥Æ¶xý ^qñ-¹hBíͼ)¡½G ±Œ¹Æl•¬LžïþÅ"Yªæ€1›5°¢d÷l©g«úßc²h=ýYÂwºÉªNi£Ë½–b÷¯vMBÂç}÷]ñÑôc÷XV¯¾=gÎT!Öt! £Cé”ˤRt´\9s¥ÀÜYhº«Jæ~‹zó¤ßg‰Ìý¸òlYUU;k*‹ÄA »Wr¿þ’€çànk¼á¥¬ª¢©sÑ-p§Îöv}í,ä;Þê01a[p­Md&ÖB[ ¬¡G ö ﯙ±'3s„-vV•íÍ,0ÕIT?tiíþowuül>ºjuÖeùkÞ@SÍ”€  š) I€¦¤W:i‚OÖJòI‚jÐ/ ò抴¥³¢’¯LÏÈØâÌhÈZ°ô;Ã{Ä!mI¸Ò½ Z*…ž47÷å™I3#@Ñ\”™›ãz`¾UŸ$ÔøS+ïÕ CÏáNœiO§f]h{­×p¥æ³I»éù›Þ¥S£Ò%+wîœoËEUÒÜȾ £Ð°{¨ã"ø|B—¥»‚6Áç“EÐE˜é'ºL/—Ë̽lñ×ÛB4…wþÇ[M?¶š{‰íÀâCǽ%ðØT§1×äá~¦³MÌMXVï|ÔÕ!·ë¹õÀ-DÞ¥¬6o÷þýç&|4{"„žÑgTU“•’œœœüÅγ·TÆf/öæwUê|s.€RÞ*®îÀ2á™tÊ:T½mkÈΦDEEEý3K  j‘µé–³æ²€=ÖÎÅÕÅŽUòhÅw_6Îlûüóôã õK\ÆŽêÝm»u™?sjÏ$°š:Sp%ë‚®#¨ôÂÉërPÔ½ zÛë>¼â“'o*@~åäÚÞ[8°9‘ëú¾=õ}Öå6hþ.yuxúõ6JJü—\EsQÖY Ðú†V ©>aÌjÊL¡äèÉ*(έ#§¾-$ &韓VEdÝTÇÊþeþÀ9”Íåb“WÔëÒlú†E‚Ë ‘Ig«šŠæŸÆ„'_¦-•Ò„@Èç(¾ÏºBuí-AÓÍ”ƒ—>ZÛÏœ—³.4´]9zš8s"—´wHÎ^¸©P4œÛ}™2°Oâ[ÍÝ&<òŸšzG'Š“SW¤i?;1n¦€ÙÊèEu áïe‘ûéó§ ®\£‡Ó¤«×¯Ï(kâß>4N|ƒ÷Í7Í/-™8ÔÊyo, i=xâÓ„NàÚL[9ÏÁ”w7R ¯•ód÷š Û¸Íõ²`ƒá8Ê6ÝÁøÀîOþÏëá›fsèÄgÿK/½ú.6‹"„ž% …bøwÞÖÝÚ‰% ûd‰]ߺRùëñä/.u8‡}²ÂŽ Ò¢ôä1k‚ïB_¡¼,'§BÆ›º1ê}‹–ž[;ÉKÒ“³Å\QÐož¬èlAÏwÍ çúŒ¹Åš0s±/¿þlÖ…&î›ë£ƒ-ªÒ?Î;Î^8ÃÙÑ›Jÿ*´Z­F£Q«Õjµš¦i…BÑØØèáá1ü5üþûïdOÚ¾ [¸ûíýý.{7d-éºyzDnn]^·éÄÖ7°LBè™0f̘Îó˜žÀÄ÷^6Ó™×TµsoNL˜º<, ß=BùËÃ|YUÙ;·í̾Ųó ˜Ì‡±î+Â|¹â³{wf] '/›mË“ Þ".tÖä>S·;’3ÿÝ‚]-†p÷Ԣɓ'Ož<Ù?©FÅBŒ¼eTÙt¡L擅С²vµ†œÊ"q­î×—µð&ÏôvyíÈm(û₼×r¼7¼]-¤ò‚²œV®ëloW‹ŽŽ —²›ZZ:@Ø#¼ÉÁ®0AuáRVSK“^1Áwj´a¿ðþš{23÷@ØbgUÙÞÌã õO¢aTqqƒWDÉÈ–!¦m/HuãàûˆB=]aT).ªìè,Ø–\ ŸTUTßa÷ŠI§¼L,¸l`s-¸½Ã(—Ï–1LÌÙ*€J5p+\k.€‰±1@'¾K£ß}EìÉÜöy¾Re½pý—±X&C☷µ’Ó@Xç`~Œä7ùGœ§m£sŽ[cq „Ð_*ŒvÔUuorÐlg®îÿgŽ\¨¹PßñŠ‹1×@&o‘+a,[)o’cÙ>+y”}ækjÀ¨H¢„ƒŸŸ I cN®›ÕŸ¹žIÇOá‡æ±S4•TÒX !ô— £õjTÀsõõp±ÐM±–\È©)ª¹ïâj+2‡¦ÖK9Ev¾Üú_Ñ…QìAø äQ×€€Ñ²/VëãaSسN^[Þ†¥€BO‘ `ê¨/ªQ×QÄë "Ž“y·Šj÷âÙŽ<Õ­³{³ 䮾֘EBO€¢¡ð6–B== ëEO†V«Õh4jµZ­VÓ4­P(=<º0Ù~˜sü!ZF›öÏÞÖ[‹Ó=9Ц‹Ç¿Ú{¼äZC @Z¹¸ù…~°Âß‘«_àöžYó¶51mk^ª'×ðjõ=Àvý±ã+ÆÃÝS‹ÞM¨³ ¬œG}?ŵ¤Ù+³ÛÌ‚vçÄ8´nKH=^ÞL¸$ìñï½ryMÞžƒÙ%%5µm”n iå0ÉÍ/04¸gçzŠe“oÄyÀjý±S+ƃ¼&﫯–W6S„™í$àÖ/r7diȯJÿjÏùr]aV.žÁ¬õ´Öí½üÚ©ô¯ž/¯m£€0sð\¾áÿñƒô×ä?˜_X^^ÛLÑú½ppñ ^´|VÿÝç­ð­‡¸s_Ïw¯ÿê«ã]ÛÂÌÁmZð‚'u¹¢&uÞâƒÍ¶«;”®Ùš.ßs<¿¼²VÿwíÆ¬àÐÀ®C!ô§aa ÄÕ9MËË·­X{°¡÷_©æÊó{cÏç—lý:^<Çû…Únû¬€.9~Mîi8ʯ/ÑeÛ`¿ñClèJ¥-/O^¹9×à5榼ø ±¹ ý¦R͵%¹µ%¹Û¾ Ü’ïÓ'ˆs8 @·)ä·OŬH(¡zý•nk(Ïýlmþù¿Þº¨Oxì) yS^Ì¢ØóTŸ²ÈßQX}l{°Ùíã›W$÷^)ÝV{~oìù’æc»W È£w “"6g×öH·5Tžo¨<ð«iqéI³ú.Ô5ÊKAÓòš=VnëÓ”n«-ÉN.É¿˜x,ÕÜp¸Ôß¼¶Ï>÷Ýtè=[‚Çc E! £ý‰ˆ®!OôíS1_l+· à@·ñfEÛí’ã{r+)hÎMH ΉŸÄkŸ`‡Ï>«*ödQ‡E>CµÖr8úíÓòÛSsÛ€´u?Àª;bÉ/ƯŒÕ‡T3· åA>“¬ÍÚš®fïÍ.ohÈݼ–ØþuŒwÀa)Ú*Ó7$—P„ƒ_hð´IV\7_Ëÿzïù Ë?‹Ï÷Ù3ËÚ@i\;³÷ð«üZ€.OMͳ²Þ–\B‘.+‚}ÆsA~»°«¤j·%çnŸÕ; Ê/Æ/îJÙVÓBCýÜ­­ºùöÅüƒókih>Ÿ°h3‘“Þ;Vö¼-…É_m«¤I—ÀàY“¬¸Ðv»<ïÁ’6 Î'$z¦úp8ŽlÏ ¥oïY‘ÝVË·§[@˜q×R#ôI”t \1ËÃaü8(äM·Ë sŸ¯¥*I^›ê3 ã(BaEèÏW»í3 §%KõïÉfþ³ÝÖÎN(§Ú ×*&õ¤ÑäZº$·Vá9ðŽ¥=YÔ%tÚðzеǷnîÞ²¨ï5wyyjŒ>È9¬Ïڽ±{k“&yúÏš•ºbåÁ€æìø¯‚mrì¿/T~r68,ß½}C÷mðñôI·ò`3T,¿;Ëz`ÛbíÞ½ý¶çïçFêºÐçc#lCwïÙÔ½R?Ÿñ‹æmk€òãåwgõäÊž §%~Ý«t'¹ùÌ Œ_‘ÛtIw¬ÔgQ}m>øY3áöaÖÖEÝ{âé3k–G̬ˆ| €>¼\îãîµ5h®~9ÂÚj¼µuïrüJ·„Gâ±Þ±×ÍÓgÖ¢åu»Ñ–½­ðƒíÃnkE!ôG1±êA¦Æû÷ËŽã|–{èâ U[Ûu ÝzZ¨‹.B^<^9°ßuOu õxP®éJ_mµ0-©¸{ñ«\ÝueÛõI+dMî¤õñfºÔvjo¥Á>àné•D€3)4ÔV÷²©¤ÁpÏq«åý¶Çqö3ëúYPüú>+åŒ÷ Ö¯²¹¼­g•w Óu@ú% (]€qž›’üHúüWùM†v„ðˆK\ÔïȹnË»öåvyÓpÞ\ym“¾­Úo`Uç¹>n}hèúãBñ2=Bý™°eý…4|6{ògدÏx–ÞÌf…º ¼äÎïfç@~»ûºã<‚] ²€ºx¼RáÖ·m´;‹¡žÃoc3ó[á1`óòÊÜrÝ«Áúžr‚§™åf·Påy·nòªÛòYgÍÇÐ@Pmr``yØ÷ßÇÚÅ  M·³ÁœÁV)oëé–y·äx¥þð–»ì^Ëu õ!ós)€ÚS×îh¥%}Vø ,E޵›d·€¼R:€ÁRÿíòù¬qÜqtÅ&Oü!„П [FêF¸xl#ºÆôÐ Pô¤ÑP7ЧѾùñÚÁî,êÆþæ|n^ÑT®ôCNšdfxAÎxO}jl«¬ø¼ [Iw‚躞mø–ÄxÛ#¸]«ïf`ày×*iª{•Šæ’ÛºWVnƒ UçŒ÷ÐÀí’æ;3~š­á·…Ûõ¶ ëž Ön>Vºw,wíÚøãåMx'„ °eý¥Âd`ð$î0fä:,×ÌðÂÂÐSÆy†ºAyùÀ¶QyùÁrÝM¡| ‹‚Ùx3Ûiëj5›d6XãafEP ¿MôkEäZ~(Apt Ƶ& /@$wèG]u5¶ÒMMúmTÆúNŽ}@PÍmZi .wR$tû2\ã?HZ^²ro-Ôæ&¯ÍM&¬\ÜÜÜ|||<<&á=BÃ(B”•ß›þИ8ÄHææº…zå%4POÕ*ܺF`ËËweÑP—‘$Š;pvš–ëãwˆ\}®¤årW¬CÎ"†»N95¢GsÊ办ëé#ÝÖßßIvŸŸš]IÐÍ•%¹•%¹{+7¿ÐåãFBÃ(BO ®[¨Qržªgœ}O5ó ux´ÁfXk#FY!õìÃú-›ØpMÚ>Þqìœñ³böÌÚp»¼°0/?ÿ|I×4º¹<÷³òܽӢ·'áFBÃ(BOIìAœï“F{eÑG’i‚«¿MSòm†]h¹¾ÿ#Á匲 Åéî{@X¹¹¤ÛÂã|ãÆ»ÍZá6kE (îÖ”ŸÏÏ=•›_Ùmç“×&??Jö!„ž8€ ¡?jÜù K£Ð+‹Z;>ŠXÈ1¯FÔVÓ6؈º­Yß/ÓÌÁl”a6^ß÷´­râŒsô Þ´'/g‹þYm¹_]¼‹m„Â0ŠÐSãªO£%ù·=YÔÀm‘’µ‡ƒ®i±­üZ›áY· kt¯¬ÜG[“g¼‡£îUóÅò¶ÑûNZûlúPw{¸]Þ†íBÃ(BOIuö1h+Ìo¾{MŸEùY?¢ p'ÍrӥцƒÇk …$yùÁB]號ը+!®[>ä5‹û Ã sëƒõOXÚ›00Íݽ˜š¯Ë¢.„:ŽÂ5Î烮GDÜœ\8àøÝÂ䈃 mµ%¹{J¨G0þªëžSmµ½8 ¨9Ÿ_^ÛP{0~[¹¡ÈÛ”¿G÷tÂŇÔ#„П0¡¿æÜmñ·ÉáŮۊ þ$1rÆû™elƒ†¯RtY4ØãQ ç8~T¸6» vÛâyå¡+‚}¬H šo_Ë?¸'¿VE?Œ´•ï ÇmSRPùÚìf€æÜͳkýBC€°ï1 IDATý<Ç›´¼©¦$÷àÁ’f ýâ×»ýñhæ` ÐTnLŒÙ Ÿñ —›ù,ò™ôÁzÜ„®õ¿8-p–›ƒÙ8G¡¸ÛV[ž<[¿¶¡àð%„ú3Ãè?ü€¥€þ"èÚüÜÚaÎK´ùàÿhÀ8ŽÁV÷6­K…n¡>øöD\·˜Ý[ "&»–†æ’ƒÉ%û0·&-½w$ê}tmþÞ„ü½ýæ° LÜýHÊ;)Ô,ɧ ùüÞäó@ø9ûX›•´[¾yígåÐ ç³·Ïø©pJÚºÁÛEBèÏ £o½õ–z"´Z­F£Q«Õjµš¦i…BÑØØøtÊøY~V{÷êÖPÏÇа6Î'æë¼à¼ã³óK®Õ¶én$O˜Ù:¸xÎZè6ê/,ó‰ù:oQáñ=Çó˯Õvþ'Í=<‚BWø?º‘W\ϸ=qDü¶üÊ63Ý븎‹¶çù\Ì=˜›_~­ævs×ýø 3[7¿Y‹fùŒÇFQ„ú“1 6ŠFQõððÀ’A!„ž8€ !„BaE!„BFB!„Â0ŠB!„0Œ"„B!„a!„BaE!„BÃ(B!„Â0ŠB!„†Q„B!„a!„B! £!„Bè/F•7vDEEE¨Wö›þëÉO¢¢¢wÜPŽxû÷o)ùU ÐQ™õi‘´ßt„B!„aô±–åä\jê0Î^¾xy°3·ßt„B!ôWÅzè%;¾ÏÊúwLel=Ùü×îWžÌÊ)»%ëckÑìÅ Ý-ØÊ;>ÞYÃó]ìÒ”SP#c¡ïŠ53àðÇ™U*8òϨKË?Y9{³Äæ³£‚ë?ïž^0ùÞ™²Çå¯q1¸%ýŸYbžoTL€¾yO˜²CÉ6a5!„Bè¶eTùkþÞ³52QÐêÅSY•ò®?´œÉÜ{á¸.^¿~£¼âÈŽ3¿*Ø,h-Ê—:-ŸéhÜ).8\ ,ŸÊÞÔåëÚ™tçãÞÓCܦŠx ª/k耎¦²&ó7'c}òQô×3é){®H»þÛR²#9óß-س!„BF•ÕTÉÌgx¼òŠûì`ç®Ö–²+­Ö3f¸ÚÚºL5YÅ¥®€Â² övqñžáÊ5IÁÂÚÚL¬…¶&=ëf÷ž>ö7ÍAU_Ö¤eSYƒ Ì=\1‹>yìÞ_3Îdî¹"U*[Jöf­°À†Q„BÄC^¦Wv´v—«Ë\ .TÉ@Ù!#ÿŒ:Ò5o“L&&< Ø&&,vš…«·õÙìš²¦Ö•[`àÌÇ÷mT໯ƒ=™Û>ÏWª¬®_â2Ë!„BJe›pM:åòi‹¼kº¹ @§õìõ‹õm,cž ˆÿPæqž*Ì>Rs©Ò¸^™˜EGYeŸ¹Äš€I!„Báa/Ó󜹭ÿÎ)ª¬,ÉΩQé§[¸¸š4•”5É;Z*söìÈ:#|L<›ÍiEEeƒT9øô±.¾Ž,yYÎLðvÄÐ3Êò¨k&Q„BýÉa”m°ÜwW^•³÷pËc2@¥°˜±fùÔ ª²¬Ìm{ÿÝÂuœ0Dz4™à-âBgMÎá3õCL7±›úÿØ»ÿø¦Ê»ü/h9§•œ²6LëHEš¯`ªÒ2!LL¶¨„lkø8[ÝZ·‘º­ÁIpšºÙà¤u®uÞ„9ÚÁt¤à‚k`#‚wË$Å•0AÌiGOžC ß?úâ­òC¥Å÷óÁåääÊÉu®“óÊu]ç$%ˆN¡,J!„r%ŠâØÌÓü­ôwoŸšþÀãÆëci¯]!Ξ={æÌ™îîîîînI’DQ>žêaDˆooo?Ÿ5)ŒB!ddèìì¤Ñù‘"66ö<çõR%„B!— …QB!„Ba”B!„P%„B!äkC·v"„BÈ)Üè¬o˜}¶6‘jƒÂ(!„BÈךEëKW—6 ^ã,R ¶†ôT•–;¼­€Qh³òKLÙ*ö"_­ÁÙ¬ÎÎø¢Ô+úLó ê¥s–i˶Wê¸óx ±Á”iÓV;r/ãVÅ€Ë#ê2SØ/¯H £„B¹¢I¢|6<…=æÜâ€nUùßõNð{Ö¯^[Œ-åÙÓö­¯òê3¿8¤1òÅ붘/&ͱ§†á.g]ŠêªöË £;vì VJ!„o˜@Í«\QkÉV›’iZ›¨öýÖ%Å’Nåsò9öjã*5WxC’…n…Õ’©Âkq©; lŠÁZV”,dµ/$-,Õ6Ø`[YêH"dù¶U†óél Vç.÷é³àõ‚AI]TnUW/*Ž”m±jXaGîgNu¾'צ­v„s¶ÎտІ ÀÊ´yVkn û™Òl…ϴȪÌÑ4{¤—˜4õëþ@€k­4gpýŽÕ««|¼(2)Ù%O™2E¿mI±£ãݾ`(ˆô’J‹¶ÉüÈæV¾î>c`meÑ—H£¯Ÿ6Ú#!„B® A‡qQiÓÀ%¡šûf×’ò6T÷E¨p£—Wdéx'j³³ˆ<‹P}°pƒ'3ÁêÜÕ镵E&P]`4;4ö¬ÐK½Òê´gpÁêÜ%VG¶ÃXdÍqðÖZ‹† »ŠÍn…µ¶2ƒ »Š–˜ª´ŽÁ' œ‹ïõ©·T%Š>Ë"³½ù¯†¹(v6‹ ‹°×TÒåðô¯Ý¿…»Á4Ø]¹*6è(È-®Ò:‹¸O—Ö˜UVlm¬Õv‹à4~oe…º¶Ú® ;sU5ägèøŠb[ÐX½Å BcynQ©ÖiKò6§×ÚMœà)Ê.¯ 8Œ–mfUÖ{ö—8 —®¦'„BÈ•CðC> EúÿŽð"8åPCތڑ ì« ¨ós4Àªô9ª€³Q`µV×–U¹V+qàë7×ùå9ù€D]Ž–÷4Ï-[â7ß7;­_FQƒxÎk² µLäV¯; ölEJNzâ`[ô¹Cªœž©®Jýbïi R@¡ËNaN©”)Ò3T8¥‚x !·GHÏÏR±«1ä>g³²Ôl-€Q¨¸O½Ñ/Í%„BÈ•C••Ÿ#øB³»¾Y”®×È€Qg«ûG–erB@Í£œœcz"« 5­^¢+퉑IÅ ŽR›£‘ÃH¡¨?ç™"ÏGZ+–èì H’$W çNYjÎ(Ã1LÏ_, ¬Ú.YÜ¡B¥s e±6hþìJAéý`匔+ ûÉtÓB‚(ðB¤¾8SÇô½OMX‚ `ûJþ*Q%„BÈ•ƒMÉ6Y² ìh®/m…«LŸÉ~‰¢ÕéäõOélå!ƒ)kÀZ29ÇhMλ‹~ëò*¡°º6[ÉŠ~ë’Gν4ž•ËeêÕÕ_Âï¬Ú±xšÕ¾€j±6¬cR¦ä$Ÿ õÄ])ÌK\Æ…çG–SÉesÍ.›v@5‰þ¯i—Ñ0=!„B¾T“>²¾ÀìðE@¸lÅîˆ\vNjMÔf©üvg@ 4ÚÍW^d*9 =5Þ ô¤QF àÔY)A‡£Q ³#pу۬Ú.9«Ö7÷dÑA%jõŠ@3 bÐ]P赃é\Sµ'á›ÙÖ ¾"Ã0‰Â(!„BÈE9¹œ¹Šô²o.ú®,Kª6-š–6ÏXH·®[¥ûTèSÊJTu™:.ÛìUè3”lj¾QU_™™k éKËëM8‚ ]†ÜûH¦±:˜ù”5£Éœ©Óé2 œŒ>ýÓÓjÎhZšÎÒ(™Fµ¼÷ó²( Ê±™z¶0s¹Ci²å¨.¦®R ËòÙªå:N·ÄLÕk¸¡¶HŸÎ¯Y”iò}yóGG9¤æJ†k&)¨!„ ÊçóiµZª‡+lQÏ(!„B¹l(ŒB!„ £„B!„Â(!„B!F !„B…QB!„B(ŒB!„+ÏEý艽Tùfwëƒså÷ÂÿTþJ0á»?6öðæg7¾scÞÃú‰´='îúw×´›§‹îÝ$Å¢¢ûoˆ¡½J!„\‰bbbN:KU1ü:u*&æ¼BÙÅ„Qþ½=mˆŠ‹êîhÚ{|öü —úûöÑfîÖ aÜ…Ôõ¡×½cß„ 7OŒUßqÏX‘BI”B¹RÅÇÇ···SÚÛÛãã㿚0ÚÅ7í;¸Yú´–Ú·ÞÛw\§WFï­|©¾C1ë–˜÷|‡NtG%\¯_¶@3.zˆåK<þÇ«==£1ÑAïkÛv½ß&c©·/Ðß Fׇ{_sz´‰;þúùÙ 5cý©ü• €@mÙšoç>rû‡¯¿Òß39T¿õ­}‡ÚD€MP͘¿pnòXtúë³µ‡ÆÝ’­>þÖ®ÀI°ŠYwÿnJ N¶x¶¹÷:D *nòL}öükeÔ„!„a'11±¥¥¥'•R$¶N:ÕÞÞÞÑÑ‘œœü•„Ñ.~oS¾;sòõrÅ[[ìûð»ÊIÑ¢££„;,Λ}ü­¿º¼ö·É×þ`Æ˯´ôÈ¿_­©?‚)s²ÓÆö¼öî–ZVþÀ\¼Uë:prÂ-K2'ÜR÷îÖW'Ly`FfÖõ›êœ?géÂiÊh|øI´­¹v÷‰«¾=÷îãÚ|®»7ýæÍ Í÷sô‹§ìÛºãЮ×vk fŸ|˹+­Yp“ï½µm϶·Ô,¢VB!dØa&999·´´tvvR… O111ñññÉÉÉ Ã|a´ë¸¯ñc$¤*!vO¸~¶Üìš4¥¿˜„´9šIã0qöTO )x Ô9cÂàË £'í9Ò«´·k§MŒžªŒK>,²1ˆfo]²|Fôع c¯½êÝ}'‚'ºfM™0.ÀØ S&Œ‹Æ‰þ üp_Ó `Š~aúÔ`B÷{¿ßúÑ{{ÛfëQ“çf¦MéÛ²çоŽã'ºÝÕt}x8Ø6íÚYß7ͦFt¡"-õ¾ÎsoGUA!ä«Ï£J¥R©TRU\1.0zu}E@üçŸ_øgï¢fßáÎ)É}=‰ì8¢Ù±1€Øy²kÈåc)¾³í$€±ÆFˆ–M™zCOØ9¾ÏõVS°£»wµ¨î®¡7Ql; °ãÆö¼³˜±c£ðÑÉ}ßžbÆÅEˆfc¢tÑSô‹fœtïÛ¿cëþ@TÂôE¹ §Ò8ýù'Ñf矷Ž>ÀãÞÅ”G !„òU†ÑÎÃÿ:(".5ó»SÇöüÇk{ùw&«{ÓèÉã'qC ºzâ_ÌØ¾ò‡Z~®˜€Ø&vAÝuâ`Só vÊõìÛÎwƒ˜|çÿû͸ã[ÿçÆ®ÏÛF6a,Žœ89ÄÆNýÞ÷§~¯+ÂíÝáÞ³[ýŒß©¤ÒóM¢®ÎY?ÈK>°¥ú/›)B!äÂ\Ð}F;øZº1îú[gNªž:U=Usó è>´çP¤o•޽¯×ÿûÐ{ž·ˆ€2UóË?• ¯½y2бÇå;Øò^½ãU÷›»w¡[ìÐÕyòxó?ê[D ûćÇ#]Ñl€ãM‡>Œ H×g¤Ž¿µí_[þ½û5ÏGÀø4|¨pyâ_¶=½ö¯ÿ:ÒÑ=V>6`Y ¢ç¥‹¯¯uuÎʽg†<:z\êâÜÙ¨¯}óÃ.ªB!„œ· É]‡}‡º1öÚiŸô}»6uÜö‡}‡"Ó¦&ÌTðõ¯ì>ÑÍ&L×ß•*CïlÎÏ,|Ö±Ls÷½¼sÛ¿v¼² «H½sÁí“d¸}Þµ›¶zsã_'L×/Îb7×½_ïÜüÀŒ›'ïv9àrvûÑ퟼£ sï¿»kë[ûÞ|õ}€Møöƒ>M ‘‘ÆÍÔßÜö7kÿ WM˜vÇÝJ£çÕvä³ï}8:¦¿²Æ¥.~ðÛ]ÑTy„B9£Ž ~9% uÛyº=¹×LRP%B!ßôs „B!„Â(!„Bùæùò†é ù2Ð0=!„òB=£„B!„Â(!„B¡0J!„B…QB.AÀnHKKKË0y„¾%åÙii™6¿H•C®B£ÃbÌÎHKKKKKËÈÌ5Ù}½í] 8íÕ áÏ{rØWmwÒñ@¾v¢Ï¬KKKKË(êÿxZÐc·»z.l VÒÒÒŒ.ªÂ(!#ŠT_ZÞH§[reFQ¹ ´®‰Ñ–¬ZU’—ŽæúŠ"³+ @ð•—VT¹CŸÓöƒn뚊šf:±“¯»Ýúª=Èå¼5 _ÐþD¿½´¢¢. €\g.++3i9ªC £„Œ ŒB~s©#ð™OÃF»É KKKKKË4Z=Abƒ)#-ÍPî´uiii:£­!à±æöü]Þ×ßö”õ»©%S%äráÒ ó’Ð\as…Ïý0,-ª¨¥¬¨\·J/6m.^í ,´:0XVh™HSÍ#väXV¤Ë"Më­Î €€½ x½WÒ—­[·*ƒ¯[]TAƒœä²a•é©2ÀWl,²Ú_€Óegë´*V©·®Jg&½¤rmžŠw¯ÜÜÄ,.[·6OÙZ¿¦¸ÊTSYž@R^Ù:‹V6Tlð¬.Þìã eëÖU®ÒIõU–*jñäÒ„j¼’L—«KÏÑËÑäðö~8‹þŠ‚•›}LÖª²²Z¾¾¢ÈÜ *y*K uEå:S*;à‹X ¼à‘õÞˆvEÙÚ²Úˆwý#öú?Æ«:“uEºŒ÷­·8Ô’)Œry©rÌYrÉ[Zá òÑéó+7l¨-ËÕjô-šøÞGm~~¶ÎŸÎP‹²u†| à›x£HÍÏ×i4Ù…yI¹ë¨s”\¾/[VûS9sÕ¼wsEiqÁ’yi™F›' $ªTr`äêÔ”DV®³nØP»Î¤Ód²’¾1$±JµŠÀªR5ª¡G=E6ûšƒÐÖîip˜RXªwr)YÔ[ãƒL«— §K—£©¦¾§C>àp‡mQQ¶N—k©\[fÍQÉSRT N•š¢<'‹V×µÚK®.C—[R¨ZÎ@ïÃŒÆd2èt†B½à}A‘ZòHMU@®\ §-\‘î^YgYŸ®ëÿ$ãkJ+ÜM¼tÎ98¹œÀp ÀôýÍ"$ˆB@дú{i«ûÖoI 5r¹°ªL“-Ó1hòyª×TÔטWk]åéW’BÎ «ÃÛÁgÚû¥]]ɪ,‹­®¦ÔW@–šg+/¢{äâëkšÔ/©ï]ÂW»ƒ£|ˆd 9\J†.ƒsÎÊàä ÍB¨¯Oëy€e• QK!¨g”\Ù3M…j„jÖ4ôÏû´¬®kueÿÇžíkÓ™sÏîŸsâçTrêëj·ôy*>ÏÈen°[ÍæòF`UÚLcÉŠT@ øk‰þrózo«rņí{öÔ& Þ¶@êùv&…ùÈ'a7Ûb÷ìùÇß7¬]µXiêó$äb³¨§ºŒ¶ð©²²²²²²§VÌ•¡Õáô$H Â÷4B¡ÑY]íúnr…ˆ„zû>$œBÎù1N-™Â(!—›ÊP²X¾¿gH’@BÍ®ªªF Z›‘ó(G—4;ÜþðØŠ Š«šh<¹\X6Pïv¯/0šlöêj{¹¥¸´ §kð@¤ÑíñµþWˆ<l¨.w„ðMA‘eA·»¡1|V¡–¡º*GCƒ£´ªñ“kHK˶8›xpr%ÇÇPÅ“‹p;ZÁhó ™:N§Óer3d¹~‘Ugë倷¼ÜÙàqXŠW¯Yãæ†a4»Ý ~a`´4d%¾RKµ§Ác/µ5êƒj¨×¥–La”ápÖÖ•ÌíÿèIÔ™òRe‘úÕË‹73ùå%Z™ä[]º5|iÔX^–£•+ –?RÑœ¨ËÏ×%Rí’˄Ӗ¬+Ë›«Šxk*Ö¬©Xï)çæ•­3iX°*CN*ƒÖš•Vç·Œ&}Óºþ‘嶦 kÙbB5æŠ&F›£W â]c®òI)ù«rRe¼»´¸´AmÌR¢$M1Z ç2žÕ÷Ý·ü‘ª fñSeYJªxr±YÔéh4Yšþñ$V¥er;"«)¬\••Ù¼ú‘âR¯lnaeYv"”ºÜtøºÕ«×7˜]¦U®ÍK—ùÖ?R\á“Ï-¬\›;tÓ¤–<ŒzýõשÈð1þ|ªB!ä›#zΜ9T ä²8{öì™3gº»»»»»%IEñÈ‘#T-„BÈ7 ÓB!„ £„B!„Â(!„B!F !„B…QB!„B(ŒB!„ £„B!„P%„B!F !„B¡0J!„B(ŒB!„rÞ¢© ÈÈÕÒÒB•@!„ [ÉÉÉ_¸õŒB!„ˆzFÉvÍ5×P%B!#õŒB!„ £„B!„Â(!„B!F !„B…QB!„B¾2|5ýéãû¶mqïñÔ šS¦|gÁâï^7ô:ì|»=ùŽôIcüTSùãë_TòóÛhB!„|£\XÏèéãoU<³ámÿG±)ißùÎwÒ¦D÷¿öÒïþ|àÔOiÛ³eËö]ÁSTÕ„B!äÓ.¨gô”ËëA@¹èÑÂÛ&Œ€…óvþqÃ>´ §‹¶}›7lÙsX¢ÇO_¸lÙmÊ ýñ?ìï°é×îÊ{¢èºà[6¾îoï¸)³ßgHýtghÇm›¶xýu1ãSÒ-]x}pªõ­ ^÷·wÅ(ÓôÉ­[Þþ(ùëÃסýG!„ ÝÝÝ¡P¨£££»»›jã ¯P(¢¢¢¾–0zúøþÖ.`ʼ'ôÅÀ1n{øg·ÚvþqÞâgåN?¼ù¥í[ÖoK.Y´0ï;Á—ÞnÿNÞ}é×á€Ãþš¿+yÑCú˜öM»Öo¸îWE3$ÊÓl«xi{;7}AÞ¬„ão;^ÛþÒðèÏî8½mýk~!&eÁ²Y±þm›?¢)‡#¶½Ý9ká šfA!dPG=ztJJJll,ÕÆðáóù´Zí¥” IÒ‘#GB¡Ð¥ü Í…õŒ ]@4Ç Ú¸é÷ý4y 7aBÜåã·? ~Ô5f†R ´Ç*§$Mˆ=£è§óÆ$Lš{útÒæýþöÿ§$˜ÓÁ]{ÚäÅ˾› (O¿ûëMÁ}Þã3Æø`¼~ñwg$ %Ú¿ï¥ýÔ~†OmúsÅÆ`ô˜}Çñ‘ò(!„ÁΆaªŠ+ Ã0J¥Òï÷_J!Fc¹X@ho;…ë>Û3ÙÕþîk½þöΡŸßÙº}ÓkûƒB×Pa÷¸Ä$pѽ¯ÆEB{äTì)\|,D'Là°_ Ý?l’èæÎyE?K‹Þ·á°S%„2dj¡J¸"ÅÆÆ^âì‹ ¹€iÌ„§ÄÁí{>8Ý»èôo=[ò«g:>ضa»¿=aÁOŸxæ™GÄ\öoÜônðôô¼_YŸyâ”Abpìèlkï «§Ú….€›ËÅ„SÐÕvœ’èðpúø¶—6wÎ{(/}˜1 7ºÛþø·þ¶A!„òÅ.¬gôúE “ý›[^ûÝ3þ´éʘÎöïñ·#æÆelמÓNw ÇìÜþ¶@øOkÛô¤1ÑÚÞ}·iBR¤ ºNµ÷íy­µ 8uüðñSŸt¤QÎJ‹ßµ½eËÆÑ³¸ãoo ÊÛÒ&Œ?•ÂmßõѶÍ;¹YÑû·íﺈ;R‘/ߘ w¸‘íìÙ³gΜ鉡’$‰¢xäÈ‘ôôôó/A’$ªFBþ/ñªmòU¸ô«éûËÑh4ƒ>t>s…GÄxwÛÎß–nùˆ›¾ø¾yœ˾NDOO›@I”B!dÄa4a–qipãk{6ÿa?£œ¾hñ²ëé>e„B!F¿c&ܼ¬èæe´»Èyêêx¢ò÷SJ¯Š¯0N¹î|›|÷žW÷¯‰»ÎþݱÃáf$‘PØÇøÏ̼éh/ÿ{ðõc]§1êš)W,˜8¥ÝÿÍ ¾ó‹ÌÂ&ª0 Óç<ðè£÷¨¹‹.SxýÁì—æ×üe™â‹VlÚºƒ™§šýŠÊð6›~kXÁ?áüÍMÔ²¯t‚Ç8¯¸yîZ—-£¯ ‹>sf[U¶Ý®ã¾þíitØlvwSHdê¹ÆÂcFâ°­½ ÇÉk³5ÜÝùtY:¹RÒÞ5ýɤ‹¾Ê-*mÁ´ª¨1Ãã¶xÝ-¾Ð«Iã>F;7ýí°7qÊ‹‹ã'Š•›ýú²a’žÉׂ¹­ÂÕ—ÒÄÐŽç~üËÂç¦:Kýªs›xðå^3ë‚Ã(!_Т¦©Æ'dôFOÁçðI¸,Ÿh¢ß^P`çr¬ÕåZxŸÓf~d9¿®Ö¤ž>詪‘¬F "ÿöçúd˯>µã˜ôáɳ5I¿žýúËþm©)/ÎŒ€®ŽÒ?¶ž^²pï5q×Ùçœ-··žœ&;²¯#þŽ~›ÔùÊëGþzô´0qqË¿7ùŽ„Ñƒ•)“µ…¬é¸ãÖ˜=Í'vœ½&mòR1¼¡µóÃö³És®{R ÒúÁÓoµè1ZídÓ̱L×Ér{K»6#GNJíѲ‚»&'7þç±–3§[äMzqAÜ€OæÑÉÚÉ¿º.~b4-›Ÿ½5,I 0úÍÄ*æ,›õ«»¶!U±uë3¿°#$²© þÄOgÉ¡iã“O¾´ûXï§>Gˆ¡­Oýì¹mÌÕI7Ý9S€ÐÆ{s^¹§¯SlzÒ°BxÌñ›Y=ç9±ù÷ù+v¶I»sîÝûôúǦîùñß¾¼¿˜©óúØÏçœÛí9HùèÛ”½m“0sÙcÝŸÊ¡õåÅy;æ/MØ»»•çÛ˜›~ò›•w& ,©uë3O¾°£ ›yÿc-KÚÿ ÃãìÓŽ'nâ€%ϰqþú¿ÜŸDÍa¤†Q•NÑìht™¡ÑѨÐ% ÁÞxXm6WùxHPêLeÖl%‚Õ¹Ë}ú,x½`PR•Û *¾òb‹Ã/@bUY%ef]" ølEfGò”¹9IÞÉZkѰáÛÊRw@!ËÈ·­2¨ÄLÁ[QÔ•9‹z:i•Ú\k¥¼.гUÕK•/Âr]¡µ$[¿mI±`Hç=¾æ€”ZdÑù펦怠-YgÍä­K̽–÷6yž›»j­9#º¬æ5îFc°X‹´œà2f×èŒJ¯' ðJãÚµÆV ºJÍÞ$B¡[aµdö®³KÁšæS`”­Ë<]\Ñ.%»¤Ì”1"òéhjüä›%§ÛOŸví³÷ß`¿k܇û>ðžŒÉHe?l:ñ!@ú€÷!îîIý}£dèú¿b/ÐüV=ê½uñ¿ù¡¦ö¡~uÍÉò¿…Žt Z&=Ý^vâoso¨Z{ !°)þšgso¨úû»¿×œ ?QׯÌN©}HS½XÞÞ(ÀàÌž¶`iʋ˯/b…u»Åɳ“–ÇJžsýús’(&톄Þqù.±þƒîÉSÇÊhC ­¯¿¼íØÕ3§'bÓs?{æà­O;Ün·ã±¤¿üåVbóK?×zç‹.ÇSó¶=ùÜ;"À¿ñø3ï¤>át×ýeÍR~ÇA €bβ¤c¯¼ÑÚ¾º ³–Íì?£±ê=ýðfê£5yì&iÇ“¿|¬w»ëÜŽŸ+v<þø+¡s6k°ò!ìzfÅ ‘e/:Ýn÷ú±W<¹CFÚ¿ƒ{ bý_6×<}Ó;Ï<ù? ¤Ö—~ñLÓ̧îº:çóËÚ^øåsMÌÌûç0»6öþ&¿k[kÒ²ù”DG2NkP7on£'‹6« é\ϧ^°nuEÈ`wy<.«Úg³5Xð^Ÿº¤²ÚQkÓ6UÙEÑ_eq ¿ÖãñlYÁ¹K«ü"D¹ÙÉ­ØâqÕ–¨Üu!‰a€°k¥Ù­(©u¹<ò…rSU`àŸ€§™Ñ´r«Ê4èT¬ØX^\%å×z\.×Z}c©¹®'*‡¼L«ÝQkUyK-ÍÙeöêZ‹ª¡ÊH¡†¾¬ºÚY»JU¿º¢QDØi^íÓ–¹<.O­‰q˜m>`iò0ùkíÕµö¬ ½Â' è(^ݨµÖº\®J} Ôìö®¡)±êåIù•‹ú ­Â¯¯ty<§%5èñ…/vW솴OË.P%䂜õý­iÁÚwûÿ=¸§÷§jÇ\7ÿê(LÂUÑ}D<3ñ:ùäŽö†Ýÿ×a®“_î˜ÁÄÔ„ÉÑ@ש7Z»¯OKœ jÚ ùDAØóñàe@;?)€Œ‹{g€‰‹‰¥“@äþ_2€IHX:©Û×tJ€Q×iâ'@Ô5‰Q‘Ž®/~¯]¯ÿ½å«k¨WôEÚY8/£WfÎ üü§ŸXÍBlݶ£mê÷ïOåp7ÝÏÕ_}‡gÕ?­q½x @1kÎÕRk(ñà™›îžÉàR—Ý3 ˜óýéÇ^ÙÚÚ—Eç,>øØ¤xpën̺¿§3”›¹t¾ìà¶&áœ)_<øÊÜúÀÂ$€üÖïÏaönÝßs“Á)÷ÌW³¸éóob¾qð“[†ví8|õ²{R9lÒü¥S#»ÞhÅÔ¥ó™Ý÷ ø]¯¶N]:GAÍb„§ÑœÔ@7 ¾šfµAËõ6=¥aÝöu¹*à4:…â{Ú£6d$`j™È `SLµ®µÙ‰5:¥ÐÊKà}>!Å‘°ªì|-Bs_ž“ŸÁHÔåhyOCpàw;^d•ƒ}µ¸½¢Ö¨KÀ¦è Š€»Y¹ÖÊŒ\%—kôj`*N "ÀBÖl9^%46òBS]³Â`аÓsµ¢Ï0IzŠX¹F.ñ¼öÕÔù9`UúUÀÙ( ö®)Þãð4EN[d3ë.z–«*ÇV’>° mIy¾ê+ë&"äÊ4ôœÑ¨(¦·áê]7îîñ¡Mÿé¼çqÛÑÑs W18;°¨ø±=_ÛºÛEÈ®ê{;F†îã½¹ó3eöôªöŸÂ£F‰¦o…“ݧ?æVÙÖ“%œe&õþºØØ¡'%µ54nÿø40æêIö¥‰ Nž¨üÛá†øIÏÞ•0‘èo–þ9£ÂŽ_ž”Þ?GÁ@„HûŸ2èŸéͬ$‹@Œ¼ñÂï6½Hm‡%IˆHLRßwFÖÛ %Ÿµlæ3¿ÝØüÀO¤mï0óŸž:D“”ø6‰™ÞwÂb9…LÚ‰ýJƒ–/ñmRdÿŠl}oÛ—"˜.D .¡¯0™Œ‘BŸÜIXZ#àä}2òHm°7ݳ0!oã.~ÎM»^mºt–œZÅoӜƪª¦ËuŽ–“jz z+J«"DZ%¹¡oý¾›X²½“§n[i7(2ŒÄ·J)$^êoÚŒ\!gˆ<i­X¢³3=mP’+{rco&–³bäë—$Hl3ää^„`Ä6æ³oªï) #c$^9œ¼ï0‘ÉY‰—z¡sžá©iõ]iï,©z’çgÞõ'¸)…•–š »yÉJ^žžo±µ;LϪ evK½€Ñ–T¯=g&…QB¾ü@íŒØÊÝ'þwòÿØo=;~40èo;Eųhù¸»wHA<AÔö"‡ÆÆÃ{~ù¤s~rªëäç?+aZ²=ù DG%8ÙnÛtô¨úÚçgËh€þ›Ü4ç§'å<óÜ®YOÌâ™BÆÜú˜ãÙYOC­¿_üÔ;ó«^|6•Z_^œó†“1R¤/òEÚzO‰àfÞ?KzüÕý󱋙ÿì*1òFj‹ ŒŒ\~NgÊ`å3òYÂÂ5ŽO]iÕ HB[_”ð“ ë?3³\’ ïð}J|zRpÒ=Ë’6mÚÕ,m M_FYôJhÌÚ\-_îvsuކƒ¯giØe6{4•Õå‚˘¹~ˆg¦ÒfúÚÜÁjÃ’zŒœ‘š `‰ ’`år™zEuu®rð¦O…Ùáí¿” ›S‘Ÿ-gÄ@_‹xœü‹š$ð½O‘$^b´ Ëqx¡¿­‹ŒrÐQ-™œc´&gå9÷~A†TêŒVBÀi1šmÚ-–‹¿æŠUÊìÌj‹Gk±~…Iô‚ÃèŽ;è@!dΜ9#b;’“ßúpÃîÓñå?H;?)ê{ÚŽ$OœÝýÞ>þÃøø´8àØÅ¼¢lRüõ¸©u‚)i ºNnýû‡'µª¥ã]w4pV»1ˆŽJˆîïî•^ßzôÀuÉÏϦ‹–¾ñ ]ºÑøä K?Oe“æÏI(|i[ëÌeI,ø¿ûí®é?ÿ‰¢-Âȧ*8@ íxyë1 "Mš35òÒ«{…ÔYœðÎÆWŽõõêpÓ—ÎÁŠžc¸{^üì,L’Ø&ìÔ;oÅ“/ïÝt‡üÞM;"Óž>ð¼9hùìÔ{fJ¿¼#ô›;[_æ÷û>öÓ›àð+¯4ßý#5+ì}u¯4õ'I,ú¦ *fÝ9å…¯4-üQ*+¶nÛtP6ç'=Sæ/úÒKϽ$MÿùLŽÂ€MÍÑ†ŠªB6-‡¾/2/@®Vp€ÐèØÜ,‰Â ¿¿' !‰‘«”,n¨©k•k4\•ÓÖ鸀{}c €Sg¥«†" +¥U0¼„‰Óå+—˜‹lVK~ºŠá}›¹"”³ŽSèÓ¹»;¨ÍVŠ~‡ƒWS9ð_ô–"¾joX«K 78œV+çäYÞ^Ó˜mÒpaOµM7ª>iëŸHÔf©lvg =WÅ öR‡¢Ð’9ÄCHAQDÐ]döå”Y29…JÉA¸ä½¡Ê¶Ú³¿òN=£äJuÖ÷·¦çTùÆëïòˆ‹»ûê#¿>ÌfÅ ]æèióT?ò‹?—&aœé®‰“ÈÅmàØÄ_f‰O¿u`‰`ôäë¿?T'ktÚ´˜u þ%­“ª ‰ ý‹;Nl:væè±÷ïÚ×ÿ šXuÿ¤ÉtX#Ïàêû¾p[á“/ݽþGêÔŸ<ûè3ÿ8û% @ÂÌû{@Î2÷?|ëÏž2èŸKPL½çáŸÿàŠç~üxÒú•=ºëg¿ÌÔ1 I³–Ý3ÙÚ{Žg§.Ï7ÉdfÂMwNîƒ~×Êšç{úþ'›§€lêÝO?q§üS!yò¹Y­yàÉ'Ô?#ŒbÖ+§s@ÀLƒ—òïÝ:&%Ìyô7óåøä´ôÙ•¡Ç™­ïyÎOÖü¤·cU>kéÔ§V\XAYôŠiˆtÖ+RYô‡Q¥¾Hï0/ÒU)TZc‘Ik*-°jÊS>óÔ”£¶ 83S®PéŠLy¾¢Õåªu…+t–E:V¡Ñ2AHÌ|ÊÚ´Òœ©V¥/±žÛñǪr+7°¶R[î¼ÈS³ò×Y ),PT–o1çêl½OËN„øEa”‘kUž•†RHTfYW¥°@öS–ÆââlȵùeEvÐܨ4”•4dV‰—b()SÞ3ʪôéxä¾ÌÐSö|Û¼$ƒð*}I™fdÜíÂ~›žzFÉ…úœžQúmzB†³Ð+æ½qwÍów~Mcß­/ß›·ãGÎç\h¦›ž4<ά©ù9Ý÷t&¿M/6Z™å•Î"Õ×öŠ~Û’b±¬Öœ2,›çˆümú‘2äJ!äÒ¢èë/¼šóÄœa? ShÚôÌÅýë)‰’¡Æ\‡Þ¾.W%ù^Q½Šæ74žG!d ±ùwyù›Ú¦?¼æé›†÷È7ÿúÏrVíM˜¿òÙ{è–NdHJ}I¾§8w^À©³,e4¡c¸¹°azB¾D4LO!ßÃd˜ž|Ê0¦§›ÞB!„ˆÂ(!„B¡0J!„B(ŒB!„Ba”B!WºäôJuêÔ©¨¨( £„B¾âââŽ9rêÔ)ªŠ+ï;F0Œ‹‹»”Bè>£„Bùj]sÍ5GõûýÝÝÝTÊÏç»ÄâããŠKºÕï¨ÿ¬|$zúŒÑÓn=ájÚ%ä²S*•ô…ŒjŒB¶Îç>££üßIéùK½óUY(ŒB!#=ŒÒœQB!„rÙP%„B!F !„B…QB!„B(ŒB!„ £„B!„|eè¦÷d;zô(U!„2l%''S%ßô&N!„ጆé !„B…QB!„Ba”B!„ £„B!„Â(!„B!_ºšþrÿytá>–Î]˜ðƒÉ›Ì±ìy–°ïØÒ»,o_3“o¨{ÿ+³ð[S¿„9{öì¨Q£¨B!FÉWйjí¿.>J²3ÆÿùMpìðx/bçŸm'nûη¦Žÿš_xÔGÀž>ûCjí„B…Ñ‘AŒ”|縼p,¿íãÃt·%Ê,/^ýí^ZÊþá͉SYgZ=t ñÏ+N=ô`—åíknxïØÒ®ÿ¹íô†7¢ÍoNžñA›­¤m÷F]=_n±|+‰ízcÙ¡ ·È§¿'ìÿ ë˜0殊I͈ Uµ|ÿMnyrçÎ}ÒaY¾&^Zßöf‹tLŠ)ø“òîI£Ñññ¦’×ý³@Â-ãÌ¥ã§Ç!TÕòý7¿Uyó½®cœývá$ë½g×- ¾>ûÏ…-ûžO2% ¥+øÝœ »1μfÂÌ8Ú¯„ò ×ÝÝ}äÈ‘ÿþ÷¿ÝÝÝTW¹\>yò䨨( £WˆQ»v¾û¿'Ê!mZXûJ†{ÇÝP~­eüÔi£!Н½yfFÉØœê}; áÎÝ7^óji +~l}=8ùÕ¼V<õ‡»WÄüÕ4†ÅÙ÷·.~%©8îÌA롇J…ÿÙø-°£¤wOÉÖ\S9éìî·ÿ¸½dÛ”uã»wþ°¥¬ªsÁjvŸ%X)Èÿ÷íø$¶kçŠ@q »éù8°£¤w”N®L-ìü`éÃûî½æ¡çå;œ¸oÛµ ÇwïþáG{oœôê«W±èÚm=öÚÎÓ3ïCû•B¾Ù€”””ØØXªáÃçóiµÚK)A’¤#GŽ9rD¥RQq¤¹±yàž(ئúþ$€=ó^™¢¦&ŠêãdKo9¾ö±`Z,ZN¼Ùk¾%-˳àö[:vw°Å÷Ä°ØØ»î³á/‡Lã$Ü÷í8£¯¾1ožŽ À\ÏÝ6i4pæê£˜pܭ㌺:yt¤å ÄÎWß8{Ëã’XÑ·<(c~Ðño1n À\ËÝ–<—Ì$àc¾ãœ0-›4:òϯí}Û-1·š¯¹õkªÍa8>"¦BÈ×ã¿ÿý¯F£a†ªâ Ã0ŒR©ôûý—R…Ñ˶û›3*Õw¬Žz.䉚‘±t6±øËIÜvõŒ¸O5„Ñòž%BW„-ë+S–8ÂéHO™‰Q½‹Yg{×`Gò±ÀŽêù›aG€ØÕ&ý÷[°½+t|êYQÀ™sßÀèéæ)ÖõáMÖ£¶Cg§Üþ­bËø™ãigB¡$z¥Š½ÄÙFGî–ø[Åc¯½'“ÞÄ­±lOjd½h™(EĞĉH¸ÜÙÅ]äÄF'p£¼˜lžqÎÝ¿B_üÄ1·æ+nÍ>úx“é³åªWŸËÒ.$„BÈàè>£#{×mØù"¿“û?Ó†ÜglrÜmqâŸ_ét|ü×?uO¹G¦¸ÈWŒ¹ûì|QÀ™Ö­¡ëIás֗ζI¤M?8dÙzƳS'Qó"„BÈ磞ÑËåÓsFk7½:Tâè–]%Ý+0Nø¼{y²W½˜XZrôî £¦,œP–Ç×uuk©ryɇÝü‘„³Ì¤«–—Æp@dÐu¯Zp#_yûû»K“¬…²Ý«Zo/9˰£dÓ8³ºE !„ò9Fù¿“Òó—zçªrÙ]ÐMïû/Î0Ñ}F !äÒ¯Ú&Ãy¿\b94ŽJ!„B. £„B!„Â(!_¢®?û¯ÛËÎý÷û–÷».¥Ì]Îwo/Ûûüñ3TÁäò}¦Œ´22f‡_¸”2—1ÃP<N¿øu¼Í ³(3-MWà4Z3u&ŸH{þŠ%xŒii¦a`+7ëÒÒŒá²lO£ÃbÌî9Êt¹&{Cx8×^ÐãlFîΧ ˜È•jÔ͆O_û%µð®ŽgÿôŸ#“ÇMÆ ªY2l0s+·Û´½7zlÅ6µË¢ùª/›í]zvÊW~}¢Ð\çcr6l1¥°kGWD^Ù-šašj|B†ŽëÙý>‡OÂe¹9©è·عku¹VÞç´™Yί«5i†g zªj$k¶†£0JÈijZòϸo‰ÇNž¹úÆëžž3Æõ¿MÎSíÚXè:ñëþs:ëÿ{b`f3³47Ä +š(Œ’á‰UêrõŠÍÞf%Ä€³Ô\á Š—’]ò”)#«-–*oH8uVI™Y—ˆAçê"›‡g*m¶V€`µa‰ÃPëÈU€ØhYT$¬rÚ2¸Þ³tùò¢z^ò.1ølÕu“Ýlµ7ò,À¤èM«Ì:å§òdï«FÀi %O™t‰ÎRK…'ió,–\ ã·.z„ÏËaëÝþ`g2JÊ­ºÅhöI’¯`IÀTžßXPÄ[]6-üÕæâ ¯ÀÉUsZŸÍ—ï²ëæÌ"Ø\V-Û»ÅR™Ëªöe–Ê j_M“¦|‹U+ùÊÍG£°ÊŒüU« )”m‡YUéÍŽA—É ]’ìmxÕfs•‡¥ÎTfÍV"X»Ü§Ï‚×%uQ¹Í ‚à+/¶8ü$VÕ×ÊŸ­Èì@ž27'É[#Yk-6Ü`[YêH"dù¶UÕ€Ö x+ª‚º2gQO«Wjs­•òº×ß }ë ­%Ù*ømKŠC:ïñ5¤Ô"‹Îow45mÉ:k&×h]bŽèµ¼·9ÈóÜÜUk͉@Ðe5¯q0ƒÅZ¤å—1»FgTz=`€W×®5¦°bÐUj®ð†$ Ý «%s°w%X Ö4‡˜C l]~àé⊆¾C¿Ì”1"ò) Ó“o˜hœnk?–úíŠÿwcµ!þ˜ïð?NÆÎ¾1æØ»ÿ=ŽÿÆ-žü©ïiì è›΄€Ë^RhS倨h+*mN/sz<§%ÉS\ì CôW™×²íÛjóQgYã°Û\êÓX]—£<‡÷4K”º\UÈáôD€f‡¹Úþ3›RTV˜Ä¨Kj­ä±˜ìȯöx\g‰¢Þlvœ;Ê/4XŠªPTÛаgK‰Üi^é #Pe*mÔ–9=.—«2—¯(¶5Š Þ[//¬¬v8kK=kì~h-vk*£(´;˳ûo™¨1¯iÖWn÷¸j-)G«ôy AÈÐW6¸¬Z6ì,.r0…Õǵ.‡/ÄÖHƒþà §5¨›7÷ ˆ Žf•!ëé Ö­®ì.ÇeUûl¶=Ƨ.©¬vÔÚ´MUöFQôWYȯõx<[VpîÒ*¿Ñ_nvr+¶x\µ%*w]Hb ìZiv+Jj].φ|¡ÜT°bÀÓÌh Ú9ŽUet*Vl,/®’òk=.—k­¾±Ô\×ÓàCÞ@¦Õª¼¥–æì2{u­EÕPå ¤PCH_V]í¬]¥ª_]Ñ("ì4¯öiË\—§ÖÄ8Ì6Ÿ°ˆ4y˜üµöêZ{VÐ^át¯nÔZk].W¥>PÚsx}æ]CSbÕË“ò+õA[…__éòx° mIy¾ê+ë&"äÊ4ôœÑè(¦wqß MÇÅ&­yÿ”azgÝ‘Qó–ɘ®ŽßTù݈Ö/»ñ“ék†úçŒ S¶EÊÊÓ){~ ˜¤¦ÕÙºÒÞÌ*q—Ûj|A€Ä·JJ’ H¬ªoRÃõöB%fähKK«ýù&Éécôeê!†³¥0/±š¾Ë)dRCD¸+DX Ó¿ÇB "àä}«0‰rˆ|3à·Ë‡>—‘áúbË©9æó/¸ê%$¾fy¦³ç5$)¤óÔ††]›æ4†ÔPU}0]î¨s´œTÓûHÐ[QZÕÁ Ò*É }ë÷5¶wòtÀm+­ñE†‘øV)€ÄKŒ¬·i3r…œ ò|¤µb‰ÎÎô´I®ÄO'gÅà ÍC”‰•Ë4.¡˜±ùì›ê{ Ãȉ—DNp Èä¬ÄK½-úœ'÷ÉKzd)"©z’çgÞu?6¥°ÒRSa7/YÉËÓó-V£öb‡éY•¡ÌŽbc©70Ú’êµçÌd 0JÈ—Ž½Y{Õó ÿ}?®c+¯˜0ý8oƃ=Ÿc)‰’áÞ¤3©–”®iȰfp€LÉ1髜åçÌ ”g¯öé×ÙË5°g/q÷ÆOQúO}½§DpZc†hv4eÂËèˇœZÉ$Ê™ž$ ¢ˆ0‰rnèœJßY¥0Oòìù„V„ØóŠ}Ï€ÀúÙ8ËÉ9F‘Wí,RQ{ÞY›«åËÝn. ÎÑpðõ, »Ìf¦²º\ÃAp3×ñì ÃTÚlXW››Â"XmXR€‘3R“ , ñ!AR¬\.S¯¨®ÎUžÃô©0;¼ý—RbÀas*ò³åŒèkÐ/€“q@“„¾c@’x‰Ñ2,ÇAè?"¼È(½LK&ç­ÉY©xP}Áí.X¥ÎhÕ!œ£Ù¦Ýr W4²*C™Ymñh-Ö¯0‰‚†éÉpsþ?¿ôåJPMüöÉðŸN&Ü8~ Œ–“0vLÂØ12Ú+døSf•äÈÝ«ËE€UéçÊ}U½ƒÐaÍdu…E˜Dµ‚Ä Çî A$°*:âuø‚¯ÚêO©9:¸ËmõœÁðÙôÆBy `ÕÙéh°{‚öÕÔ š¬ÔçÍÞÜAJïË-õ ÊŒì¤Pµ£Q œ5ÍÜ\ýùŸç8µVrzü" ꪼ‘Þ% x{¾È`Ç áëzïÏ#úf“ÝO£ôòo 5G²W5kÌT†Ä « 4:67KŸ|…:‡(„$F®R²@¸¡¦®U@®Ñp~§/ ˆ÷úÆHO;ÊJ :úZ¡Ãbvœ3gƒÓå+ëÍE6O@!}Õæ['çútÎgw{‘ƒWŸÛà‡ñU{ÃÂ Ž§ÕʹÔ, ï¨i„=Õ>6}ðC Q›¥òÛ{Žd¡Ñn¶¸†L¢ ¤ ("è,2ZÂ8…Jù%\»Äª²­vÛW›DA=£äÊuö_޽·Ÿ³$æGj2‡Z=fÜbÅ¡Uö§wÇò½öÈÁ%ÿ{ðîŸ|›ïš¹f*>dÁSŒæ¬ºK•¡º(Ec*/)5dV‰äZ£%?‘eŒEéE«éÖÈ•jC¡9¯¹hMYU½ÊRÒPTÛÞTä¨Hãh{ rƒäÝô‚Ç”e”WÜÄ«5„Fó¢B¡´Ú88$Fï¦'„2h£¨£¼Ò¯ËÓ º$Ê;óuéFgï¶9ƒ*½Š’(¹Úy•.ÇêÞms ÉZ9ÕÉ C㌄BúÍ9W5+ÊJµƒ/çqº¢"g¡)+M8•¾¨4CI›Œü[J}Qž³0gN9À%g˜J©#}Сazr;7_¦'„ÛÁ ¦'7h»\g9É,½dò”áßœâóùh«[«¤^B!ä"á~ùBWWWwwwOOOOOÏ…/nÕvÈPi]Æ 6lØðá㢢"ÿ6lXOOO8E±¥¥…Â(!„rg…Q©T FÉM£‘ÿ>|øðáÃtwwSåB!wn•H$_L¢FÉ £ýóh¤O4’G©½B!wz%äfŠ$ÑJ¢„2䉢È0 ÕÃÐÓÞÞu]a4ÒAEUIna*¥J „¡mäÈ‘‘»bbb¨6†Ø9†Ïç9räõ†QªJr«|]½òž£D!dR©T^¯·±±±««‹jcPq»Ý×Y‚\.;vìu…QÚ „B¹¡¢¢¢&L˜@õ@D¯%„B!· õŒ’۽܈B¹ÝQÏ(!„B¡0J!„B(ŒB!„Ba”B!„P%„B!䆡»é‡ºÎc–Õ<¾°ÁãÆÏÈZú}uìX¹ãÇÓ&„B­ñãÇS%$)O¼øä$)ÐyîXí¦?nÝ:aõOÕCá…lcÆŒ¡­K!„ÜÞ1…ªàN"0ãÁQuÛÚ˜s6”ÔŸÁ}´¿íÁÏ~Ÿk´mÙyøt;€eêÂ¥ó“|oïPæ?;?QŠÓÿ]üÊ{ÜÒò§Ä¢óØÿ{qkÌ“Eóø[v>Ý @š8eá2ƒ:hm°m|(MTg-]8%^JÕN!„ £:ÏÛwWNKáH¥’ð™#Y¿,™‹VWÙÖ#‰ËžÍŸ‹s‡ßxeËöq«OKl¯;Ö>?Qz®ù”qm‡}SbqºáÆ/å{oËan¡1_ƒöc»·îûètÊLì{ckcÒ²gó'Åvþc÷†ò7j•ÏÍO¤z'„B…Ñ;Y¸q“ñÙ¾-®œ±lZœ´wãGO˜1!À¹OÄ<¸pB,ÄNž3AòÆA_LÖ”øÖ#¾öTé‰xåwfòuGNwNŠ9~¼=ižò®˜QÑáÿ9èjˆ›–rÏ„ùONÐúßÏÄÍ|rR,é=ß™“¸¯¶áôüïR%„B…Ñ;z+÷]3ŠÎsÍû·¿ñÊóON‘’.F áÖvDÇÇô ©K8iØ×ŽOIáö}tº=æðé¸)))¾ºƒÇùs\Ckbê¸Ä~÷é'¥ïÕÕnzoK{ÜøYKæ§´·uàÌÎW^¨‰4«pG˜×Þ ÐH=!„B(ŒÒؤs&ì~ã ¯sJRÿvƒŽÖ Á±oæb$ˆ›<ÛŽ4FûbÔócãâ”í»Çœ‰Ÿ6.Òƒ:aæ’ 3öØöÇ­[“Š–&FK”óŠžI¥š&„BÈ—BϽôÿã`ݱpÜøËî+Š7m\ûGuÇÚt¶®;&™0C)…T9e\Çá}GÂãÆs&N‰;³¯îDôƒâs‡-¿{Ãuº@L¢21âS¦ÅÞW×ÜíÇv[þ_dB!„+ žÑ;AÿkF£ãÆO[öäÌD ½ÿ$ñ©Ë–žÞº£ø…v\Òœ'—LŠ UNÕ¶åÄäù‰R@ªœ}fGÇŒÅqb'ÏK=¼µlõΰibÊÂ¥“c!ùä’¶­[Š_èD1ã¦-üN" ÑB!äß&Õ¹%zzzº»»»ºººººDQ¡¥¥%55õË— Š"U#!„ ~]]]~¿ÿܹs]]]TCL\\œB¡ˆŠŠð[†a®ZõŒB!äÆ:yòäðáÃSRRbbb¨6·Û­Õj¯§Q[ZZü~ÿõ¼††®%„BÈuîܹ±cÇRz†Q*•çλžB(ŒB!äf¤ª„!)&&æ:¯¾ 0J!„Bn £„B!„Â(!„B¡0J!„B…QB!„Ba”B!„ £„Ü]ßù[ΟðUN­oÌzëŸÿ¼‰ óñ¡ã9?zê½YŠ\ðá¯tiýé2žZýv=eòµOé~¸Íÿ%&lx÷Ý&áÆ•ßo5~—¡ÿÕ‡ô¦À;ïÌ6-­ ¾_ÜFÝ´i¹Nþ–,ÇfÊÍL›6mÚ´iºœK}`0מÏi÷ð·ïƧ0JîpQÓ¹¿rÖˆAðø»Îƒï5¾ÜÌh9Ú(äKbf–×Õ÷ª«znbÃ++^m¸ ¹M8úÖkï Ñ _w‹f˜†*÷…LÅ»mn·ä¯³ÐhY¾¼Ì¯-²Öýõ`ÝNsª~ñ¸Ù3hÏŠ|ÎÊ*wðöÝòô:P2$u;øÙ‹üë<+{OܤÀ™¿iïÿC²PòÆgȘ\4f8Ðýñ{G^À½ÖGbþöÞÇëc'X¾;‚9×Zö_þÚ3aD±Óûë©#ú(־ӏР&|ãÒúøPóúBm†#ÏIZ<& ­þ§ªBóf\Míÿ<׉щë2F‰{?~& °,Ž€Î=¶+â&X¾Û?ÿÆ”ñ¯+†×¾Õú m@ò•±ŠYKæŽ~烣­P+ 4¿ûÊê×öúE@6qþs/þr†à¶­[·éƒS½¾üÜ,9 øß}é™W÷¶2£“úÞTüÛ~˜ýö‚ª?/Q€Ð°Î°’ÞöÛ‘ó$¡é?óVîk?Èþá¡—·kÎãn}\.¯Ï'&ç—™ *ðî²B“­‘‡Èª2ŠJº€w›ó6/ä)³³“\UbqµIÃêÍ«Jj¼¢YZžyAÅ^\ÞU^éÓ•ÚóÓ8PjsŠ+仼‘¥²šL•î Èu+Š‹2Uh4/*ä ©A§»É+ªóMºF‹­¡ÉËk‹6§sžâEÆ^t5ù‚AnöšÆ´Àç(6®¯ñ`4Sq¾–ã¹™Uº\¥ËéõyƒÊÜsSXÁç(1–»ü¢…ne±)} µÎàMË×7ù™åoéæ<ïË…åõ>àR2‹J Òn‹þ ê%CQëé—ëÅ´…“«Ÿüæ É{Úz˜«ŸvµoÿÿNþíUõϬ6ÜýÏzoÅ™îÞoÂk?­›qYE¨ùÄ õ]ÔÕOk*¶}Ws½H†£ë_ï#q]Τ-›pêŸÿ諹;îLÐspž÷”d®&æÒþ¨±Šhz? ¹V|sí[»Ož:9^}æ•£¿l«©©±=Ÿ´÷׿~7¡iÓêW›¿÷ºÃétV=Ýë^ýP‚ï¯~åCõ‹öš]^¿8¸÷¨@1kIÒ©·ßoŽD€£ïìÇŒ%S/ÑØäŸ½üÓqÌÄg«þüüCâÞu¿~ Ol©©ÙUc{N±wõê·/…¨|ðû_YùZhÉëöššš-?c·­\·—F<²—{¢|ËŸwT½üЇ¯¬{¿OOó¦_½Ò0õe[Í®]ö?,i}íׯ60S›Åìßv$Ò“Ü¿»9iÉ\J¢·3NkHnÚç=¶&•!•‹üYôíZ[î7XN§£8Ùm6×óX]îä¢ «­Ú¬m¨´x¡±ÒdC^µÓéܹ’«)©l 4–íÜÊNGu‘ªf—_d àXe¬QU;έy|YA¥·ÿ‰×ÙÄh ýÇ©XUºA§bOYa¥˜Wít8õžã®HTö»¼éÅ[u±ÊUbjÊ,µX«MªúÊÀ@ô×ûõ¥V«½zjÏÚr€€Ý¸Ö­-u8ÎêÆf4»€E¨ÁÉäm´X«->K¹›‡ÏV¸Ö£-®v8zo‰Ñæh­¡)*ÖË“ò*l¦ä£æòF}…ÃétÚMjŸÓ}Í×x-†i—Ë,óR%äKgÑSçNÞu÷ÜQQâ“S¿LÄ;w®¶yT3‚˜QŠ ONZ>*²wtûàøË§îþÍ÷¿1öòDÛuü¤oÌ5@üøÄÙ’ÐîS‘W¢±s“c,;iÚÎw3qòÙwµ¿ûN­ÍÁObãæ¢½\'qߊ9}—Œ¦g¿œûò~šÌBhÞ½·uâSs¸‡[0úè;Ùä_V9^,‰ ˜1k´ØìA8úþQæ¡G§r8õ’ãŠY?š|êíw›û²è¬Å“Ù@8úî˜ñX¤3”›ºx®ìèîþ’ (_8úö^<üÄü$€üáÍb½{$2þ9nÁÜd7yîCÌÑ÷^õïß{bô’j›4wñÄÐþ÷›1qñ\æƒm‡xÁýï4O\|Y¿,¹ýÒh¶Ú[å ¼»ª)Ù åz›žÒ°¹nsŽŠ8N!úƒ‘¶Á$Ò°Šd™äÁ¦T;6f&HÐè”|sPDÐíæS i «ÊÌÓ2À7íj”gç¥qtÙÚ ³Þ×ÿÜ.(°JÙ@­Æ%hsu ؽAá­‰\§-×ÔÀÈUr¹FŸÌŒBʼn^^XÈzƒ-§Ñ«x'È7ìjR @BjŽVp;½&I¯S±+×ÈÅ`P¸wy“ó²5ÀªôÙ*oïu¡—¯u?2%tÚœŸÀióÍF]µn U¶¹(µ0Ú¢²<Õ Úî4LO† Îu•È"­[õ vØñ«ÕÏ ç×wÄeبޢÚNÿÆ é=òøÈWgþñÔöÀÉ.€ñ›'ï=ÿ¯žóï¢?ô^Ô$vaÂùnÄQÃd½@   °ó4’wó­Éœ»¡}¬zìXt|çï/œè†ÑN|ýÛ1´áÈWÄÌ,wüö!à÷þʰNœÿØ, ¡`H<ò’AÿJoë!éTBèý×~¿ýC¿@l=!*ˆ|Hd’úN×Yo/”|Æ’©¯ün[Óÿ!îþ™ûòDö ûM°Ud&÷°XN!÷‡BÀ…¥Ëƒ­bèÈÊL}ï~#†0™A0\|_a2#úÅ ·ò |sœ¼ï[F±5ö¡óã—mÛœõÐþwš'.ž!§Vq›·iNcPû+÷øRå6or¶–«z¿ñ¹ÊK*뽄šE¹¡oú¾Þ³lo§f¹¤ÊåF 6‹)Ä x¡i3r…œ ƒ¡æòE: iƒ¢\ɽ™XÎ ¾.ÁD^d/4CNÎ PL¿ØÆ|q¥úfa#EãÁÉûv™œƒbï>tÉÌ¡ /6¬]¤+éÝ‘EU$y~a­/`SVT˜ªÊ-ÆE«‚òÔ†“1b¨/ò…Z{‰à¦>6C\ýΑ¹ØÏÌÝ|¥C#gÄÖP¿ÀÈÈå—t¦ T>#—ÅÏ_o{^}I¹Í€È·öEÙPPdâ/îY,—$ÇÁ¾oÅ`+")8iÁ’¤íÛ÷7‰»ý“—P Y›£ –ÕÔpÞäl wäÓ€Ãhtj*¬e¼#7}ËæöÙ Jš ›«sRXø¬†E{0rFlàE€Ä Ÿ+—Ë’WZ­9Ês˜^ £Íŧéúö!Ák3Ûy™rFðöµx>ȃ“_= ‰|°wQ ŠŒ–a9|¿ÐÖF9àžLÎ1Ú{…®ÿžì»J†Têr‹u¹à½vS®Ñ¬ÝiÒ\s„dU†R ³ÖäÔšŠo` Ó“!)~”,‘ÿ|÷™. »õøiWäP(‰úÛýÏ3a8ÿù;§z.™'665Nxç`(ˆgμðÖñí­Ý¤#¢ÇÆÇ.ÿž\üà³Íþn`¸l„4~„4~D0|¼fšO»Îu[æwNþíßÜl÷hlÇö-ñ£Rc#{z¤(©ŒÎ ÉuRÌvqüûë^k6iî¬øC›v7 Üûû_ý®6(ð­!F>QÁ‚ï[ïž‚Á&ÍšÚÿÎ!ÿá¶·O]H“ÏÂû¯½º—[°à‹Wa2…V`'~ïaìk¯‚‡¶ï Mž?¹ÿqsÀòÙ‰ ¦Š{{çšk×ýê÷öŽ4žxûí&èCâÄYIŠßwjÛÛ ¡y÷ö£²Ys#—Ì]<±yÓ«›š'÷»°•ÜÆXu¶Öo©lÒäôëÔƒ<äÉ à=¶M¢Àø<÷‹Œ\¥d@}Õ®fQà¹FÃ5ÚÝ@ðÖlñ„€KÎHñÙl!’3MF›W¸$çç)÷óÍN//@ð¹­ÆåæNÎ)ô©œÛRã 4ÚlÁä õ—hu!·Õ¨·y9­VΩ34A[•‡pZÝlª~À¨— ÍP5Zì^ï±MŽ+&Q¢Oà³ççšê8…Jù5ì¬*³Øb¾±IÔ3J†¦Q£­mÿÍŽ†w£$c“âgs¡ãóè·Gºÿ»qYϘ•$ù[Ww¿yb~ô½{Úþ볜ÝQÒÔ‡U+†‹m}»¹B±úáÐÏßmI},é~û¤,)é7Óš×[”¡FûpÒ$¸beR5Ly]‡æÿrñüm{®â„'òï}?²#&Þk}$–ni"_ò˜‘üØsów¯X·éÑ-?KVÿdžg_YýóÌM"€ø©=ÿ„œeûéÃϼdп¯˜¸à§ÏýèèÊW¾:i˪çŸÝÿ̯ÓuL|ÒŒ% &3ïöãÙ‰‹ç2¹ÛåÏpfüCß›üêkýþUUxþåÇÖýn™þ²‰¾üâ÷ä—…äÊçf<¿þ‰uëžÒ¿"ŒbÆ«&s@+ÀLœ…My?<â?%ÆÏzö·såÀ…û¡’oXå_ýëL}džÿXÿ½«ò‹'¾´æèürÊ¢C¦-RY—hP³@_äTêóõ6c–®R¡Òææh J–kÊR¾0kJv®vyazº\¡Òå,sç¯]^¦Ú¼b¥n¹)KÇ*4zCšÂ é/7¬2¦ëx€U鋊/[¬*§b+k.1çÌñ‹€\‘·ÙdHaüÒ<“1Ggî-3ÂÕ©Äȵ*ç*CI£_Pf¯IaÌ—LžÂÂLȵy¥ù=%Ti(-j*\ž^)\Š¡¨T9pÏ(«Ò§âKÓý/Yòt5ÆEiA0 «Ò•jØÛb›z˜0¹5zzzº»»»ºººººDQ¡¥¥%55õË— Š_æáðÛ77¹¾}ÿ†d 'ä+ð¿ýÔ²÷­úÃ÷nÒØwó[?\¶÷gö×g}ÕL)4¬3¬fÖW=—ÌÒV´<V«½å‹!xLYFy…=_uÓ~±Ñ¼¨P(­6¦ Êæév»¿–íâv»5ÍÀYœ¹z§ ÓBùb­}m“Ö³ýU˜|ÃöWö*{Œ’(¹Ÿ-W—cõ ï¶¹„d-][<ØÐ0=!„þ„¦ß/ËÛÞ:ù§ë_~hp|kŸÉ^s(~îª è‘N䊔ú¢øÌß@ãð¶­}5cáü mûluaÑÚ¶•ï8‚ñYO/Õ¸sSÝ–­Ê¢ŸN¡8zë¢è?v—miÓ?;%:O»¶üq¿òéóob=yò$m B!dÐ?~ü£Hœ6™ûèà¾cç”mÛ0nNJÌîý½¥)õOÿrŽ4þžÄ˜ÎΤGÛŽñ‘°‚huVÖô$i§äà¾M­'Ú:§ 4ñdþàq úACVê)”|CÉÎ3€íÍû„=mþŒ IÒqó&ïÛtd_¤s–ÜÒ{¾ÿä<ËÿhÁÓK'‡nùc]ô››D¿d'„BÈ`v-a4&qZJôþÃûn=ƒq‹S¸ã»û¾êh®ÛþÞþâ\Ü(N 1œäßLÜÎóbâ¹È/ÅqÀèäyËû&mkæ;§ÄÒ¨ð­?=÷iXþX¾¡¦3¬\²âGj:5 „BÈM£(g¨£¬­”‹S8ïýüÜ‘mÛ?òE?¸ì…%jé±7^ÜÔØ®Ëb#?àÄR.@{+$í§ûrœ<¸ìi}oç›DÂq”DC•îÞ/ùÎ|J¢„B¹×t7½Tªœ‘ > 匔þ¤= áö6ßáÝï5‡öÓ'N·_¡”'†rÚ8 ã£;4Þ½­®ïƨ˜¤)t4î?ÞÚÎ7ïÛöÆÛ·ÒæytÊ|J¢„B¹™a*SS¢qy’õqÑG¶—oÙ'™÷dÖxIøøŽíÛ,‚xâ𔥋%ñíß¾u÷é”9ʾÉcÔKžÎšÌ5ïÜTþÇí‡Û•3ç§ÞC£„B!··a‚ ¶eêl?×ŽØØàÜ ¿ÙîS.|á™Têzzzzzº»»»ºººººDQ¡¥¥%55•j†B¹sHÛµb)Þt¤Cùe Õíûk}À¨'P%„B’aÏhû±Ý[m®Æ3€$nü´ùK²¦ÄÓ€üPD=£„BŒÃô„Â(!„¡¤«««¥¥åìÙ³]]]TCŒ\.;vlTTÔ5— ¡J$„BÈ åõz¤¤¤ÄÄÄPm n·[«Õ^O ¢(¶´´´´´¨Tªk.d8m B!„ÜPgÏž;v,%Ñ¡‡a¥RyöìÙë)„Â(!„BnFj¡J’bbb®óê £„B!ä–¡0J!„B(ŒB!„;ÏW»›~ïÞ½Teä+™5kU!„B®„zF !„B…QB!„rçùjÃô4äJnáÏW—5ýõ²MÜ%¯Èß—mòáÿ­>ü»»'YçÉÃÃHB¾Ó•ħ'^¾ôâéÓ¿}ï=îDÔ„û”ÏeŒ¾^dq‡Üs–ï/~ÀÈÕº¼¢"C wÍeòŽÜôJ}µ-Gyµ =v'£ÏLaoPùýVÓSœ•,v˜µ,mó!ŽwæÎ)lš½ÑaNã.´rcúòUiEÇÝüåñØÌfKMƒ_dɳsWå¦% ÚÚó9íAm¦†»M7>¸ÈP5lºaÊË÷^s —|+ãA‹D:8‹þôOÚTq鉗}úCõ‰c“&Z—ݾmÖOWïµ~÷.Úöw fvE]_J|NóòÂåæd‡Is£s›Ðd)·éR¿r%ä*-šaªÜ|ZoôäÝ6·ˆ[òWXh´,_n᲋­eZ‚n»Ùø‹Çƒ›« 4ƒ³Ñûœ•Ub1…QBn¡††Eÿû”â_u~áÔùîÑNxy–Ôñ§ûƒj‹6ŸÿæµcßÌp7üîîIÖ9Ý*WÇžpÿÈëU¶ÿú¬ª¥S˜Ø»ŸÊ¸7]>| 2ceÁ–Ü7?OO‹9ðIèĹîqßÿCáÔ›Ÿuœjí¾oΤ—§Ä}vb]màï%þð½¿ÒʘphCeSÛà øä܉ób«„û¹áÞ }òëO»:?óä´L°dÞÝï/sÔ·gÝk˜tw<€w§ßå8#ˆ¸‹ž+}Gb•º½b‡«)‚×^b,wú€KÉ,z© -à=V“©Òå.9£¨Ô¨KŸ}m¾Ùd*m¦VŸÕ°ÈfèëÀ<¦¬|~½¯»Jh,{<OPt-2¸ÍVSrƒÅXlñY€IѬ1ê.íö |ô-Š;°rm¶É”«áàµdæ8õÙr·Ë myM¦ªI^{‰©Üé È´ËL¦•§ ÓÈšíÅZ¶œ,«ÞjËUQs¸]èJ§h²Õóºtï±yº$Þ×Ûð¬Fc¥;J]Aiq¦>kÎãn}\.¯Ï'&ç—™ *ðî²B“­‘‡ÈªúZ9ï6çm^ÈSfg'¹ªÄâj“† Ô›W•ÔxE²´<óƒª_Ìä]å•>]©=?Òê•Úœâ ù./w±í†X@®[Q\”©B£yQ!oH :ÝM^QoÒ5Zl M^^[´¹8ó/2†ôÚ «É r³×l4¦%>G±q}£1˜ŠóµïÈͬÒå*]N¯ÏTænܘ›Â >G‰±Üå(t+‹Mé­uoZ¾¾ÉÏ,7xK7çy_.,¯ïÛõK Òn‹|J׌’;Œ­m§Ô÷•ÿäA«!î”ûÄ_ÏÇ|ûÁèS=[NÀÝ Ç^8O.CøpË]/æ?´~Òð¿×}ýó„õ?}hgþ/Ž m°<°L@"AWû_YåúeZ2îúû¾£ŽW•/{Ð’s¸Þÿ÷0pþôêw̬É;óª^2ªmïÑ ¾n ºþ÷ÓèŸ-U[ò4ϰŸ¿^ß1nÖ„§â‡M˜£±^’DIÌ·ÔòqÝ!ßé?†)“e”DïT¼×aÙåWhÕr@ð˜óKšRKíN§ÓnJrÚ+ë½™–ºúúúê<ì2­w @ ÆXâÖ;œ[YvÐÙ$PêrT~[7šl.¤åh/ÑØ”üÒILrQµÍ¤¦ ò¬N§Ãi/Rì1m¾Kk òÁ×—ä—‡r,§Ó¹5Ÿ­Ê79y`Ä'—WaµÙ«ÍZw‰©&Я$oeA‰G[jw:ŽŠœ`y¡ÙÃhsul½ÕÃG~Êe÷ªrô”DogœÖÜ´£>9c±5© ©\äšo×Úr¿Áâp:ÅÉn³¹žÀ"èr'UXmÕfmC¥Å#•&òªNçΕ\MIe£¡±ÌhçVît:ª‹T5»ü"ÃÇ*c¢¨ÚápnÍãË *½—œø8›­AÛ/DZªtƒNÅ ž²ÂJ1¯Úép86ê=%Æ]‘ïwyÓ‹-¶êb•«ÄÔ”Yj±V›Tõ•5>€è¯÷ëK­V{õÕžµå»q­[[êp:œÕŒÍhv ‹Pƒ“ÉÛh±V[2|–r7Ÿ­p­G[\íp8*ôÞ’Èîõ…µ†¦¨X/OÊ«°™’šËõ§Ói7©}NwàZ7…×b˜v¹Ì2/…QB¾’ž¶Cÿ§ôÀ…ÿå~ÐùBz×Ýé &^6]':ºGß7jÜç¿~ |ø#ž¹oÔ7/3ý`Â8 þ—ã³®o>?p~à2 *:ý޲ػây/ €¹;:^C@¨åôßÙøßÇ`ä ?Ûuࣉ0ì¾ãG@ÔØÄ¨Ð¹Î«¬èçþÜR÷÷­-'îMzN-¥ '÷,ÿvßab΢ò ¾´bE ÁkßL^–«ápÚ\ƒ¢Éæ°)Õu–\ @™ªSˆ^¡©æÂA—Ód’ÊÙË4~›ÝÛ—Egg«›šì.¤åF:C9m¶žk²÷Fþ (_h²9‘š—¡b$¤.›ÍºídЧ°8uº–iªi.”ä«w6+r «Òg'ó®/’³õ¬«Ê͸lÞäìÙJj·yÍV{«\€wW5%´\oÓS6×mÎQ±§Ñ)D0Ò6˜dCZV‘,‚<Ø”‚jÇÆÌ ’oŠºÝ|Š!-`U™yZø¦]òì¼4@‚.[tÖ÷?⃫” Ñj\‚6W—€MÑÞš&äZƒš¹J.×è“Y€Q¨8ÑË Ù…}@¯â=ž ß°«Ia0h"{@ŽVp;½&I¯S±+×ÈÅ`P¸wy“ó²5\¤Ñ«¼½»×åkÝLÉ6§Ç'pÚ|³QwÍW¹ª²ÍE©ý«€Ñ•åݨs=¦'CÕ•¯•D1½ëýäî8CâɪOÛ “;vµ ›³DÆ »Qñ#"Svµ è;…c¥2„O Ý— ÃdáQÃ¥QÀô†>ïêü×™eÈi¿ˆfl'  »òEI­‡ÿžóþùN@ªH².MŒp·ÂRøPðsûË{g¸åÑ8mü;Å…kFygA¦IÌX¦S² òbÃÚL]Iof AåAÕ”™«Ü>€l•DžYU_:ÃõöB%¤ekKJ¬y¢ÝÍèK“¯Ð$Å@Pd5}-Žå2±>Ä:”,_ ÅPC~º®·í‹!høÈ1–“÷Í*“±¢O¼pƒ–À{C¸ø-“ ‡ Õ2ä9UõÖeó¦d§&P«¸ÍÛ4§1¨ý•{|©r›79[ˉU}§#®ò’Êz¯¡fQn蛾ï…÷lïÅÓÞsI•Ë'0ŒlSˆA‘‘õ6mF®3„`0Ô\¾Hga"mP”+#¹±7ËYÁàôKäEV.»0>(@0ýþî2_\©¾YFƈAQàø~­Y&gÅ Ø»]2sdO^Ô»'‹!Qä\닸)+*LUåã¢UAyjž©8W{­Ãô¬ÊPjAan‰+0Ú"ëÆK®d 0JÈ׎®½ëõg?=w˜•—'Ç%aô‚¨8ÇÎwõ)!HF³×8¼ »[*«Ì7®ÿ§áпŸ+^lØQQñçê>é¼_--.“Çe~K¶å¿ZO„ã¾I»õפ+ÈW-*Y_ŸVœÆ2%Ǥ®±—]rµ˜·,s­[¿ÙR¦á¯%sQMo<xñ¡¯÷N››&m ép1ú²+Þ¨Ä$È!ê™9wÉQx€ò™¹LžQ¶ó²;­¼€Èû¢l((0ò‹Gf–SÉà¾ð­"’‚U†lUU•«QÜå×d§QY›£ –ÕÔpÞäl wäÓ€Ãhtj*¬e¼#7}ËæöÙ Jš ›«sRXø¬†E{0rFlàE€Ä Ÿ+—Ë’WZ­?ÙUéÕ0Ú\n¥¯ÍlWäeÊÁÛ×âù N~õ€&ò};‰(EF˰‡KÛºrÀ+¬drŽÑØ+.y–€ï*G3¥.·X— Þk7åÍÚ×qG#«2”Z˜µ&§ÖT|“(h˜žÞ§úÆ}çoÖŸpÔ¸+ž»Ý•~oÔ§N„„ÿî>}*~äô»¯ñec¾y>XõYg$ƒÚßi¬òu_y?í…0H$ñ#¤ñ#¤ñÑÃÑ%Úë>[ç…„ÿU÷añÜhJ¢w&eFQ¶¼fm™GX•~¶Ü]i÷ pš ŠòLB²‚ŸÓb÷CàE°*]rÈesóx·Õæ¿ÔÙ:Ô”™÷pƒê‹Ç(ˆBPØäÌTÔ[œ>¸«öðš 5wÉÁl€òÙdƒVpöÎ%x¦³»w¤±ÙfkÐ{u².éâáO™–™ä·Ú<Ák¯jâfë#—賓½•ë+½êl-G a(ô ¨³µ~Ke“¦ß•ʃ<äÉ à=¶MâÅSœK¼_dä*% ê«v5‹È5®Ñî‚·f‹'\rFŠÏÖמl&£Í+\’ˆóó”{Œùf§— øÜVãrs'çúTÎm©ñm¶`ò¥ þ Bn«+ PoórZ­œSgh‚¶* à´ºÙTý€Q/A›¡j´DödÞc1šWL¢ DŸ ÀgÏÏ5Õp •òkØ!XUf±Å|c“(¨g” ]=l‡þÏ%ŸDÿì)Mú•&¾{¡â³5^ö—Æü›“·oΛøó]Ÿ­|Í/LüÈ_î„®mG$>ÿhǺZO–`ظûÆ>Ÿx¥“CéôÉ1¯ïkÈò&Y–$Æ_,!áùGÛWûÉ÷÷õþ16áùŒ~ß’;ìž’kÌØµÜTi°æ§h ÊŠJŒËÓ+rm®)/eróSó×féÖ˕ɆÆeMùë—UÖ5¦¢úüÂ9iŒ\•–mP3öÞc<›œ­g—VÉ‹t_ì:’k3Õæò,kMu…Éœk*ÎÑ•àR ¥/e&\’(ŸK3•å™LëJ€U¦å­Qs@`’u¨|ÜÐàó r]‘YŸ\ˆÇªì²5>caº.2OÁƾ‡ì$¤f§¬]Õ˜QAYt¨´ådC*ë j苜J}¾ÞfÌÒU*TÚÜümAÉòbMYÊwƒì\íòÂôt¹B¥Ë/XæÎ_»¼LµyÅJÝrS–ŽUhô†4…Ò_*nXeL×ñ«Ò_·XUNÅVÖ\bΙã¹:#o³ÉÂù¥y&cŽÎÜ;[f„àUVˆ‘kUÎU†’F¿ Ì(^“™/™<……™:kóJó5,øN2 ¥EM…‘=™K1•*îeUúTübiºÿ%Kž®Æ¸(-†aUú¢RÍíñüµa‚ PË'·&-öôtwwwuuuuu‰¢(BKKKjj*Õ !ƒÏ–›Sc¨®È¼Icß^‹!Ç™ïøê7<¦,#³±ÚHÏ=ÄÜn·V«½å‹!xLYFy…=_uÓ~±Ñ¼¨P(¬ÍóëÚ.×YŽdïÞ½´“B¹4Š:Ê+ýºbÝ ¿ “÷T•8¹VJ¢äßWÙô–Í9*Ñms ÉkäT'ƒŒdú·¾Eµ@n‰žžžHçhOOO8‡ÃmmmT-„ÜjB£9çñª fEYé ù8ò­rËõkÊ ôH'rEJ}Qž³0gN9À%g˜JÓ肎ÁfØÙÏ?§Z ƒ'ŒjÔjªBbÉ0=¹AÛå:Ë¡»é !„BÈ-Ca”B!„P%„B!F !„B¡0J!„¡CEª„!©½½=**ŠÂ(!„B¯‘#G¶´´´··SU ½s ŸÏ7räÈë)„íDnz´!„Ü!ººº¼^/Ïó]]]TCŒ\.;vìõtŽÒ»é !„rcEEEM˜0ê ˆ†é !„B…QB!„Ba”B!„ £„B!dèûJ70uÝòâ[Ÿ^øÏè‘c&NŸ5oÆýqÒ¯cQÚ?®(±žLxdå/ÒâhÃB!„Ü ®¥g4aêÌyófÎÐŒÆIO­uãæú3T‘„B!ä«»†G;IFO3ó^)€ysö¾¾±ödíÎO4Oh8´¶÷íû> t„%#'Í[¼ mt`çúׄT?0þä ó³­Å›?‘¨òÜâ1g=öµž“gÙž¹8ëþË:CÛ?Û·c÷¾ONu’‘ª)ó²y`”´³eÇï*ã¾ïh‡xCˆ=}ácY÷søwoß}Ø{¶Ñ£5ü`ÁC£¤G·¿õ©lƼ±ŸÔzd?0æ=CÛ›B!äv£IGMŸ£ª­òžô:5áCoý©ödô¤y³¢m¯zïM»bå‚é÷Ë8yÈÛþÀý1'xÈ֤ŽAË{úË¡Ðè™?~j♺7ß«²&<óó´è‹·xóOµ'£U30slÇ¡ÝöƒùS8nåÂщ}ÚþÁc¿øî§;þT{`ûÛŸûñý¡š?Y÷FNûAÞÔ°«êí·ß’)òç'H$ÎtœòHæÄ±ôDÕ¯[g{§4Fúï>¸áŽ?NÛB´ÆcÃ( ‘qÑ@G¨#Ìvà$0r¦~êØQ9oÌ¿|R‹§«eö{?<Ùy¿êÔ¡O; ›ž:§ìž$÷Í›9qlŒjÞÔ}Ÿ8ðI[Ú”‹YÔã: $ÌY  #ùø“7?ýÄu²sA$¯Ž™7ïÞW÷æ§'=§:Ž6€Ñsæ<0–ƒ,uŸ§Ös 0ï‘HacÉÉ¢>ÑEýµ•Ums_ú@tžù_ëæŠÇóô£¤ƒ«‰B!d0»Î0Úq¶­ˆ-éhép¶vãêÚ¾/m!éÄéSGîßç=t²]æ9Ú‘3¦'Há=ÛàÓ·Š_è›4Ür¶óBí Bd£d‘EŒŽ‹BmaDG°,J£9 ÐÁ‡Ã¡§Þ~å…·ûÊðŸíZ–G}¢7‚T1ÿÇs¶þióV<¾øþð!ëæ}1™77‰B!äN£~WÝI@¢š:ZÝ `dêO›.ë-Z"‹0uúÈ}µÞCžè£!Œœ9]!EgôÈh ¬Z—5FÒ;i´Lоûô¥²„h #t&„‰q@8t&DÇÉz—5|6Ð{¥‡Ú:€h.Z tŒ~ä©Å{Çú%Ñ#cpòkÉÛäŠâ¦.ý ¶þéõÿ¬ ‡ òßÏQB!䫹†»éçÔÕÔÔìܾ©ì?÷ QeΟîÞéc€³žÞ³g?«ûË›Ö÷ŽvÀ(Íô„½w0„„Ôé£HGO×È>yÀ…ü‡v¾ùÖvW Ü?ähRÇÚ·kþvôãzûn/0rÊÌÑ}n§êvÖüñ‡ïíöÕÔé¨ûÕ À©‡ü¡ŽÀÇïYßüKíÉÚ¶7+>rÿý”D !„rm®¥Û0àÙ÷?€è„û¾£Ïš¹>î[Ù?9ûö—ýM 3uÞ¼©‘;äãÔÓjß £S{ï™—Ž}ä' Â;j÷Y7ïƒdä}3²fÞƒö~'õÇ? ïØ¹oß_Þ$#U3rÎSHy‚”D5%îc»ÕBô˜ÔÅ™c€˜9?Î ïØ}ð/:ÉHÕÔGæÝÇÚ¼7%jôzªB!„\›ag?ÿü¶YØNÿÎõÿy°cÒãÆ¥÷Òµ‰·¿žžžžžžîîîžžžp8‡ÛÚÚ4j5Õ !„rç ×B!„ £„B!äÎs[ Ó“¡…†é !„B=£„B!„Â(!„B¡0J!„B…QB®ƒà.H›vAZzNÙáz¿«ÏOK77 _¾4¯Å–ëä¿ÂÏ埸B9^Kδi«ïŠåó»ýú‡B¹uè]™d¨bfWÔ™µ,ÀûGqnzZZZZZï,>«!íb×¥à1¥ë êƒ~¢¾@—Yl5äæÒuºœâú>»Ñ KÓ¥g昬ÖÜ4ƒÅ7`µ©V¬Ð0ÄÔzcú¢rOCÙãù{‚ %‹ &·ðî²üLN§Ó¥çm¡±8=½ÀRV°<'3]—Y`÷8Íù¹9™:Áä¼vcNodæ—¹yj.„B(Œr#©Ú*kªñ\L[š’r¯¡Âét:Ö<ε«Fl®á ¥V«mg…Á·Þhóö+„w–¬­‘í¬¯¯w˜µ ë×Ú|J]ŽÊo«‰L%4Ù\HËÑ^ìËd!ú÷4h‹,V›Ãš'ì0ïòc‰[Sìp:쥩 [D|!p UF›ª H'¿ò*1óKW$1ÉEÕ6“– Ø ómÌ «ÓétlΖýÂì°º=𢠫}k‘|ÏÚšÔb‹Õ^]ÀÖTîòBp›Ínu©Ãét:«‹T^{=½D—B…QBn–SqàCÃ(+—3þ›ÝíåYeº©¬@ËäzƒšÀªRÓäÍÎÆ~ñŒÓ•:ìźœZ§f‚MAA9{™Æo³{û²èìlõ%cæŒLkHMyŠJò¡©¦‰I5h9Êô¼ ¾E+×ÚTE:îK¯ï¶y¸Ì<«Ô/Ó {ì‘«d™”LmNŒ¿ÿÏÃIDAT©’3ê -ù7òò8Ë»m»ê½!!­ÀlJO –B!„Â(!7€lâ™ùÅxÇ¥[Öhƒ»L9s¦érŒ¶ÞyF¦è½Ø“å2ð!±_!·­d¹Á`0 9k÷ˆ$¤ekù]ÖFAh²»½!ù²ë7Yæ²~O‘çÁÉû®(•©8æ‹Q´FUôU¢(Ày1Xõxïˆ{z¡+$ƒÀ0²¾`À°lß?Y`5›K3á4çþßo§ ,nê%„r³Ñ LäÎÀ»¬õ¢¦@Ý?౪ôüâô|wå/òQ©Þ¹ C~^X@àý!p²‹sðε…fÕš®dÁ×积¤Zmnš`´5¤ÃÅèËRXà*··sÄ`ï äåÅK³¨w—Óô3u †Dѽ(Ý]ZmNûwᔓsŒb™Õž¯º4×^­^XeZ®)-x¬«–”hf-Ý E!ä&¢žQ2ä FGñr£Kµ¢HŸÐ/§•åæšÝ<6!)YÎ0½2è´5ð„¦]Î`’.åb‚A‘Sªä,À{l[<¢É‘œ:[‡š2óÎ`P]}y8Uª*è²7ñNKÿ²x˜R`«¯¯w:N§Ó^ªe’VV;®”DYˆBPÀi šà.Kï R6cåK<òÉk]žct A•¢à¨±B¹é¨g” Uâžåßžù§,)5suEºŠíŸù²s5«L™i<@®1˜òSXÁ F‘ÊÙò &¯?ÈiW–f«oï, úÙvããé5r¹B›[P4»pUÁr‹Å’«JÎÖ³K«äE:å—Y2¥aÍJWáòt'WÍÎ5$ר¯uåÚLµ¹ªM©ÿ®Ž;Zd7z¬màïðÆxLÜóøtõú÷ §Ê$6f@ 4›L$P¯ôLDDB¡H ÌDÀL$ª­ªúÏekÖ“Í#˜§• Ú‚½Â!O O Oè£YÅñn,cKd#0‰llllll„"@ ‰EB‘H$¶±± „6B! „B¡P(B@(´’N§?¸W;ƒ„bé¶¡µ• z‘ëS÷±­å’B DI:òôm *^Gœ9ÐÙÑÓåi ‰Ì&³I`˜ÈlI•Öb ,ÿtN£Ñ( êtf³Yð൅fãzí¾]öÿýîýåi@ž¾³É¤ïè 7 Wg£ÑHd$ H`2›‚[!Y ™ºµ™Èl6w_áÁb6“@`îh'¡P`k‹·Å#‰W·¨ùÛ®ÁÈå¸_àqúdP*9ÆÙÝ™E[À¯—§‘ÙL$$ f"ÐRBM ëDËÏÀlccày£ÉĈDÖn©/]º´oß>£ÑøôÓOÏœ9“eY"úá‡Þÿý±cÇÊd²Ã‡ÑK/½4nÜ8age…F£ÉÏÏ¿~ýºÍ›o¾éááAD_ýõÑ£GgÍšuåÊ…B!^|ñÅ &X61qÜõôäŽoDÄFFËÿ”¢|e´¥üúŸÿG@‚AQÑö ÿÍùáךÛÛÍ&ã鳟|ëÝV{pÿ·9­pðà¡ë7õ:—ïg½alkº6Oâ€÷ÙoN]–:7í”þk‰ÃÒv¤–?"Ÿ\KK ÏÈq‘Ж’ŒÕ™¥×ˆˆda«×¥D9£³„_'O“@à4ê_§ÊÈd$Km‡É$ iÈÁ`©€er{’È䑈D¢?þXšõgÞhåîîúăÙLf³Ä¶ßL}þüù}ûö=ñÄuuuÿû¿ÿ»råJ;;;Ë£ÕÕÕæé§Ÿþ׿þuüøq¹\HD7nÜÈËËãyÞÇÇçòåË}ôѪU«† òÔSOÑÁƒ;::† öÝwß•••¹¸¸øûûQÛ½£«¹hûB@hÃ×Õ‘]Ð(}cƒ¡õãõ¬ƒ#3l8q{ÅžÂ!OèªÏÝØ»S ±}bþbk>{ÿ¯\Ñ!á`Öî÷a&J8hP÷sÑä¾glke_} aúAÉÓçêôw^K_wNMçiþ\êô Ùšï ÿû\åîEKËïÍý‹ Žð-6|tª±óŒ‡>ÿÚ¼eK¢†÷÷ \ÉŠ72/u¿¦ú|ä¼Uˣܙ_å,Ôç 6l*(»tMO$–y…DÎ[öæh|¦À¿ÿcáX†5L‘æÔš´âÀ¼ç;fð‚E‹JæíÍødzùФ)Ùnëv,þÐö}ø(¹×èv»¿Q®ñœ†ˆ'z˜Ó¥ aå†K=.®}ûéše•ßfæ%†ô{þ²×6t]#pÊ’µ«3“YßKÜïáiÝc×íˆaï¹,ËXšvÎwYb^Vˆ;Ë·\,Þœ‘¶èâª-9wþPøYececÏ,WÑÈÇàjþþ=æ%÷X?m6Sçäw®]ãF½ÁàøŒL&è÷‹ZÌfKñ´Ð¨w²e¼¤OØ …6¥ÿ0û=/õxêêêj"òóó“H$D4nÜ¸ŠŠ …BÑ•§†ñ÷÷7›ÍÏ>û¬££c[[›R©tww¯¨¨J¥–#FˆÅâ .tíV.—?õÔSf³yĈ‡¾yó&™´Z""£‘ˆ"‘õH„B³å2@(­q¿+%[†™ ­Ö+YÍÚl"²OJµ¬ ô¸<àöí4 Ò9ó…ƒQõà`Üg&®’}Ûè.;WTÚÈõzXî¬IKSöó‡ú~rvq #wö çx’Y^ä‹ÙÙS1òÀØÄÄ™¾,µì^´¨,òM÷в‹œ×›)±|ÁG¥×Zxß%kÒcœ‰H]öAƆâ:ž!žñY•¸$DND¤o,ÊXZP¡ÔðÎá«Ò£Üâ•ÇÖfo.k$†ˆ œ™˜ëKç²¥ª—mÉŠñýEI3ózõüÅÒz…é®P]œš¼#+âÕ,¬ûèØÁ+/6räÎòÊck37—µðD¬W䪔å!r"¾åXvò†25#w‰Tn*½eËL¾`eç B?çÈ_yn²ff,SVZw­EÍ„¬ÊL‰pæ¯|´¶”]¼9=ÖÒÝ2ξ1)ëÄ+ænØPžx1uúZÙ›aš’o¯µ¨åá)™ï„Èûoùž’Ês}^^fh`Èpü9@·^Á×™Jën-pöÊ 8N‘‘¶©‚“;»Fzu݇ÓRöAö†â:Žˆu _œ²<™á+R§¯eg†qßÖÕµ°£W­zþÜGEß66ªÙÈô5ËÙþúv–ˆÒT~VzñÚMöù)éKY"îÜ»/ª"Æ+|Yâ;£[ŠV,Ýí»fËòá µKXú±[VÞ;=zAõÅŠ‹}îb½BÕK…Çð£äžç÷0[gð0µh®ÛÚØ066íÊ«¦Ž¡Ý Û]rHÙgž`Mf³™HÙonÿIÀH¬W 6Ný~+¶°€ˆ|r?€økeEejîbñž¾ J®õ3ùßXv‘÷Š ‘3<<ö9ËÒº¢2 y3Ò!"yÈŒ0æ\ñEžˆHìæLDìP_VìiÙn¨Ë]㈸‹ÇêäáoÊ­ìt±¸Ž'"r‹‰ d‰HÂÔªã[*O5:ÇÆX†-ÜÃc½¸Š%O¬ïò”𺵩©i¥CW¥DõjæëNÕݶ®U^ìïëP5Ÿ.{m‚Õ+ hfff¬3ñÊc§Ô^3,ílàÌ红sj¾®´Ž ‰ d‰È9b^äÐ^}è€ç(öíLDĺ¹±Ü5 ñ7[x<”ísa#ójŽˆˆhiz’{¹ æ5üÀ-ßíâ}æš5o¸u_" O^‡0 ·zªs,~mFR¥sìâÅ3fÌX¼x†×·I3^›°èýŠÞC’¤¾XÖ84<Ò×Òí¼fi©,®sŽiýtˆœáÕR\Ùbí¸¢|Y"’» Ëžðb,?“FÃÑ};‰g†»3DÌðð7Í·Õ|]q…Ì´ö›o„³uÇ.rDÎ1‰ËdÅ™©©®E¦-éÓ³±£óV‡õ¶|nñº¬_#L?æ%¢ûk53™5:ÞN$""ÉdP¿¼f£ÑòC»Á Œ&º×ó„ý}=Š%FweåáÇGGG;ŸËl6ÛÞiλÁ¯DIFø·ýŸ?éªÎµ%ýÑéýñ$w´HúÆ4ñ°á趨ñi¯™«ÜX9³,Í·ovfåTÚO ÖpŒœµþý°,+&"âÕjýÍKIÓ§X–óüMòå,}°xpçßCŒ¥Šé,…â47õŒsçÎh°Œ¹YÇñD$¾Õ Ìè[xŽSr4XÆÞêˆ×Ü$"b|cgÊç­m‰\×Ïm“<¯¾y‡+ GÔg–¢‹>rµö<75œþRöÜ)k­ÛÞ$÷kO±^gɺYZäV'Øÿ9¾ÕÔYŸÎÈœYª¼¦&êÑòjµžõb-…콫Èjùž§Ä._·†V®>ØhéóR"äx÷@§+»³Ö鉨®tO]Ž¿ñÓìMQ;z†&þæMb:‹%Æ™×ñ\ G›–Nù¨s%½ÜKÃ[â[W·È0Œ¸{·ÇØ·+“uö«ƒ×Âq2µžñí Æ ëÌê+orD,9G¼¸au©óª”~ï_dœ£Rò(céšS7‰è¹Årfþ:÷9>æ%÷>_^פxw±¾ôi·!O»ýب4˜Ì‚®múËÔÎÎÎÔm4š:+@ºtÅe"Òét–M,ãÙƒA.¿çÏK‘ëSCsÿÞ¼x¶þ»ïôõW™áÞ]'iù÷Æž|"²ÿïwENC‰Èl´›@$"³ÙØvÍlègT~ÈŒ¹$ý¸õûóí“Þ¥vÊíÇqSvYÔ*¯Voè}%JòÑéi¾ýtL,Ë·pÖ{9µFOC‰¹|°,2kGbÏ Õ–;<=+,æºvF75ü`Kw¡¿©á¬]ÁÍ›¼Xβ¬;Kßv-äÕj²v«ê’ ñ᯹•eôFÞ’^}$úÉè[Ííº»¡·ýCqŽLŒ-XœýÑ[–ghðPVœ¸#«ÇMŒ\K¼æfg‹4rú»;Ç~ȃƒe›‹Š®Äv¿§]]VP78p‰Cý µÐòý´uàòuk˜Œ¸˜”wF#L@÷¾úÛSÆi*ËZÈ·{ñ3˜!¾…ïLƒj½5ߊ½oÉëù…ü¹Ûê зóÔ•«‰¸›7‰ufY¹\|k!Ï)9±LÆ壵ç¼^ »öц’°ô~#ž%Rgg”ú®Jýõ' yçe2"R*•–±g•Je6›‡½õ? Ô92]__OD–­,¿Þá AŒû3f“ÑÜ-¬SçÏü¥‹D$|ÒZh«¯¿jÝj0kãàhêèè8}ªŸbÄÒ)qDÔ^ö•ñÇÐq=¬—±¾ËÓ—øºG¥ämécÝ*ëßU¿.Æ-Ì‹.U´¥à å“ñŠ äËv—µñÊ’ìÔÎqw>60Æ‹+=hYµ¥d÷9 Œôbˆˆ‹Š®ðDÄUUð¾ánŒsp¤[KAÑEžˆxeqAáκ${m]xbâ;)KdE™›®ôº(`¼¢Bßîž‹ ¼ý=yŒûÌU‘üÁÌ%OŒ{D˜üÜGÅ–ÿ‹T—}ú~‰šX·wMű:ŽˆÔe{J¯Ýí9öódÃß\Î\º»BÉßrñXöê5Ët˜÷Òòlà’¬„ièL4uêÛ<¬nÔôìZå¾ÁC¯•ZúcuÙî KÄuŽtWî)¸Èqçv§f)ï"iöß·ÑÍsej"â•¥E²àçåŒWdUX»;õ¹ƒ§8ßH_–ø+›2‹†.Ny'11¬nmvÉ@§Â8G¥äfÅþ63ð=–%÷\ïq³µ•Ìæ®Qj² :›M&]™Íf3‘€L7~Ô}¯l¯½pýÌ×6F“ÌšvÝÙëêë:Þh vèS\áíí-êëë5\.?vì………uOíŸþù+¯¼RQQ¡Ñh† booOD!!!›6mš?>F†aú­¹Ådâ¯^»{˜8ŽWÖ Äb¡DBDÌf]õ·vc^,ñ h?]Öñu™øi7®øH÷<¹üë©ÿ­úëÿ'æ%zÚLFá Îc&á`–}õ5î³OÜ´A¾:׃Àyôó|Ò¼×ÖÞv%±ÛkY½jÌØÑ«#ÒÖ΋^+söŒ ¼›ˆˆ IÌz3;{唵<ãòæj_–莑Z•ž^—±v‘ÎÌJ aII¼ø¹öã•s/¶¨yùèU™£åDòØÌÄ–ŒÔéS,O°–½¶1<+Ý—!ŠI|óØ¢´M[–w¿¼f|/ .YSÙÿí n3Vݹî \¼*xnFvqxnŒïòÌUk3WOÿˆ'"yàÌÄ7åD³zYEZÂô)¬Ü-lfŒWIñÏq ¯¥dG§ä­)ذiíÒÍ“†ÆfæÍ ¸Ð¯ÿ–¸{âÁ Ñ€ÅqLŸqP÷™)‹/¦&¼VÄõ ‰ w«¸hYš–Ø’‘1w GD¬W̪w"þNÏíÞOßN< í{.cÑæÆ5ùÎHys8C4:1½1{íÒ)k-Ož%ç/~V,[–%'’/I½(5ûX`VÔƒ7nð~”Ôjõݬg6› £Ùdü"ñïËO ‰^vs!2ó&³Ddc”?i‰Œí?‘ÑH&“‰×‘Ñhâuf³éGÞ\ûÃÍ¡C¥?ªì1#4»N'_¼BÐçf¾+W®ìرƒˆär¹Z­vss{óÍ7Åb±åû¥R©V«2dÈ7Á²eËœœœˆè§Ÿ~Ú¼y³J¥’H$C† ikk›Cb™WIJ´ÄL€ÿëz$>Jîj|Úd2µ¶¶Þ¸qã'î¦öÆDd2›¿úþšXHB";‘À[,4ÜøÁRbÄÃd"³™Ì¦!D>O vrv|Bÿ1b3ÃwtÞî2|øð?üáŸ}ö™Ñh|á…ºfž¶pvvŽ‹‹;qâ„\.‰‰qpp°,4hÐþð…BqéÒ%"òóóóõõ%"–eÇŽûôÓO[ÏS$Šˆˆ°Ôgal½Æ_¨=õ´4nºíÈ Ë:v£BÒ2oþÄl4  {sÙôñ›òÈ`¯J4é:tß(n];ýçŸlG½È}B¼^ìí#|B&zÆkȬ7m_&"!Ë:¤géë.ë››‘§áWð]’»7¼d÷ž‚Sç[xFîì;32äš{”?—=7U½8/+Ê™¿RZ¤”?ï…bx˜ÈG¿“;ú´ÃoéÑû(¹Ûñi­V[ÿ]ý?h”ÿ ýÒy"zÅq­P@2›Lü0^« ÄëÈh$=o3˜Š[;±D"hç̵™ï°Üëgù:»tµ@t‡(o6›-·ZƧ½¼¼æÍ›÷óO¸k·pC;dd]ä,ÿK–œ;SÑÀcýQr·õÓR©ÔÅÕ寅Bë0´P@–ŸÍB¡ms£­P@F™Œd4 ÈLZë­xæÎë[)öîâì¿)õ"Lü<òå9{—£%V÷0¿‡ƒƒƒ—·7ïò´¹Û Z‡{uÔÞN¼Ž 2›¬+f"A'sW‡@€Yäà±ËÓDäìäô»7¶>$4™,±Ø2Ü+èƒ:—šL&Ë7[·Ùlf‚Cý}³à@,A\§¯`øõÝmýtw•ß~[ºîo3Z.ÚZê=,CÔƒXÍ'I"!lD‹m\ÝD¾6C]ÄÏú¢¹yšˆ¨¹¥EÔøTwS }RÈJ6"Á Á1CvvB†!€< ·#D O O O OÀˆ®^½ŠV¸Ï<=tèÐî¿ 0o4ü›u}ó¼å[èM&“Éd2z½þ‡~xñÅÑDð0åi‰D‚< ¿až6F£o<xDò4À¯¬Íf³Ñhìž³¦PܦE5'ßKê&cÝ®¯›ð…ó€< ð+ÓžÍ?ɾúªüLþíÏÙÇÔ {²ÇJï)NŸÜšÿE‹ŽHâ·âã=I/Hþ qºíÛ«ôÌó²Û^¬[¶8çÊðøµÿñÕWÿØ“==™²8å Õ€(mÌ¿ þw¿0úfE³ÝóÃîТOFý)+++++ëÝÿŒq¬ýäã/¨à7'º§¼K›’7×t[`ëè7c¼—ÝÝîàûCYïŸl÷Yüç%ωïå™o\:qR3lBèSb¼dð³¨ÎäŸqž¶y!Ó²8ÿ¤jìD{""ÕÑE3òGN~åŒR­ná‡/ÌHö¬´!úâã§ÊÏžQªÕjf䊌¤‰];jØ¿lñ‰øƒyc¥¤ú:/=§ð‚š#ù¨…I©s^’öü¾¬¬­gZx"vø« «Ç2'’—å^QSâ¼–…Ùñ «Õ©3_èŽædm<©$†ˆ9')išsyÍŒDõœỉ/®´´¨™Q Ùi/»ö›¼ô¬Â 1ÎcâS&zô äšÚZƒûTÇÛü4–³_=>{ÃÊß[’«‹ßëikåG/È"ê:žH>bjRÆÒ¸C‰«ö·p´lúù„ ™£ZzŸ—}‹•oòÓsò/¨"føøI«Çºé.ïKOÙx†cåîcæŒ<›{váÁ¼—¥}ãô9¥Ýˆ—ewûBÚ9r]hë ¢ÖÒÿ›{!ðwôõ? /ÿqåÛ¦“ûw¿ª5‰dޯ̜:¢qÃ_Ë~ÿ§•¿—’^¹/s÷þ;Ï[Líç?Ì<æ½bňïöïþ¼Vc Ùºý~Ú¼W‡Ù‘¾U±÷gµ‘­KP̬?)þz ÷3>í1&Ð&Wvd IDATÚÎÍÛVqãn·;…NŸ?gÎ×{ŒÅêÊÂÂ’ÓMíx½àgj>™¯1g¼‹Ë˜9#[ö}ÙY¤À0¼òKîõŒ-[vìYûzKnzaÃ_8)]¸vËŽ½gŒ<›“õec¸ª£é)_º'íùüó¯>^ÈoMÉùF«»¼5=W9qçŸþùÇ é³¬ÜotÒ±©©cXù«Ù¯›æ|+•oMɹ02cÏ‘O>9¸všzcJîyCê3'äñë¶ìØûq‚üdnþe5æìç~|äÈ‘#׾Ο8©ì§DCóÝ·íîA.·ùûÒ^ùâ ;êõ‘=Â¡ËØ‰/ûI‰tßä¦ï§…›?ÿüóO7¼®Þ™¾õ²ÎåõŒ¤Œsü†½™/³ýœW÷}ŸÈJɧ…›ùäÈžç“é釚‰ö§ç^¿öÓ#Ÿ|œôì‰B%ßÿµvÛ·µwX墳õÛ¯m½ç"&‹Ä†ÆZ»˜?ýeå™^Y´õ˜vÔ$§¦¦&ϦüdëZ·çešóÊv"Ò\m´ua›Î·é‰ôÍß6³ÞÞìwEEWÝæ%§¦¦þå1ŽMŠZ-é•Eÿ¤Ù{ÞŸRSSÿ4Íñüî¿Ö௠ºM\C'D{‰‰Hïcxwóù«§•í#¥…Yë+)p²OSa%MLúÓx»º/÷–œoê ɆGÇMé$Ö·–ïÝnŸ"¦öº/÷(©ië0ˆd~ÑsfŒõ°#joørÏž’ómDR÷àÉ3bý´ùïæ7ÑÞ¿$žžÿçþvxÙúv½ØN|»ž†Cû¸QI£¤D4rá.eßåÉ+ŸµŒòÊÇ¿>BJD÷Q£äO\QÍNDî¯VBDÒ/d>ûâŠn<Û; ž=tA>>á)¹LÌ>8†¤R ­üøS­D*!"—Qcs¿háˆØ~âý™“Jçi¯ûI‰Hâ1~ÚðÜÜ/”üD"fÄ´1.DD¬»;˵¨‰†Ëå¤<ºï ÷×Gùy¼ž–ÙoX¾ªÐ8Žs»ÝkÀ«9bGÈû/5‘¼vð Nbm†‘ò­ÊžU’gû;¯Nº+GÏШlËqKGNÏ.;zA;†ÿBé<~¢Ÿ„ˆ<^]8jã™–þžš«­5¸Oq¼ãÛç‡cM:fý™}vÊBïÎîàÉççnGDúfEm‡KL“˜ˆÄî£G;–¹*˜ém[v¡Mï'ûî í×\v•#Çö JѰYŽb’Úrµe_׊Ÿqõ{c‘‘¾éó .1ãÜíˆÈnØèß³¹Š«Úßaˆ~¡<݈È@"‘ˆˆ´çŠ[ƒ'ÆúøØ©Ë7åUÚ‹˜áÞ^YXp:?Ï KšáÚm[ë*~Óߎ°«Ìß^¸é€kò\ÇšmyG¯Ò°‰sÆJëŽì=¿Éöw¢çiÚ|R#3N¨Âôƒ’¦¿?’»]¹tÁH9‘¾µ|{Þi×¥oG;=¸‰Zw>ÿ3e‹zÙ„Ï:—°û.Ä'¿ !"†ua-!Sº°t†ã‰ˆVÞ™‚Y–á[ø¾ƒ«œšã¦3qJ¥DDº†/7æî;Û¯VòÎ×ÀÑ­§`ärâÕ1Ä0»´þk?1cmݺ/}^z ;br|ÒŠ>õíJE›cûmÿF9˨•jyô©µç?ËÝx肚'"¾EM#{ðí΋W«yfDçÉHX–?Ãq<Ï3¬ Û¹ðY–é/Okj¿mwyÕåÎï'£þô_á2"¢öÖóŸíØ«Y¶âU;"‘ÔzÞ\‡H*íìÙl¥¶ÔþƒþÉç‡Ñþ«­ãy­ãïçéóÏ”Z?íUƒû«.b±xÊò…eŸ•ýýÓ6ƒã³£§L{Õ­ƒë04îÏLÿDDDd0tLÛN„< ¿TžîÐjÔjµ·ž=r¶ƒÈÑÏÝŽ,¥Ž‘sfŒ•©¿ÌW9FΈ)'ò?¿¹¦ú„2v†m×NnÔVÉ"¢C<œHí~:ÿü‰µß‰«’Ž™'ÿ¤ê…—oU>7ÍÜÊOKx•ÏIÌmY¸yó4 éÎg¾±ª×Mˆ [ow^Œ\ÎX.:¯¹œe8†ç8ŽÈÞº°¿z­R¡qívOÞvN~á£dgÊj5¯öxAX[C³Ö@$&"êÐtÝ“vƒÝÛ?ÿMö¼‹ÔQï¨ùçÕÚv­ãh71‰eÞ᳼É´Ê“»þþñ'Þ‰/³¶¢g¦$¿å‡îì>ê§ 5ùÙYYYYïo>zÕ`;lòœ±òÎp.w”éµmZ"’Z~#‘ÌŽ¨CÓnèÊÛÚ‰Hs4;111ñ/ùJ"C«FeÙÎU*&"ñ/ÿ‘þ^rÜ‚ø ’‡,X:ެÿÛßrKlcßžë?ä>\ÕÉü3ò‰cnÝQH.c&:ŸÍ?i)ŠVŸÕ ö3R/§çÌx%…'ç‘S32~oÏ8ÇJÌš+wþz|Âì+‰¹«ÒÜ7'¼<ŠMI|cúä5É{LÍNjNOy#š'bœG­È^á'¡Ëý¾tÄÂiÎ鉯må†ç‘ñ©¯ºôŒ—m ¥È{Üoè“ø-ݰÙccîÖÄY#1fÎÚÍÓ^Z±pxbÊSäÎòÓV$L¾’˜µlóæ9GñYË^»¿!µ¿óZ3¶óÇ&e(³rGç;|rFêD{"û…I³¯¤/{-Ÿu>~Úxç³ú$ã»X·êV?-b]F¼¶pŠ·õ¸UPì>eaÌþýÏüÂ@$r1uáh'"²(ûá­÷0–ˆX·aôI™ôµaR"r zÅ»vߺÿ³ß@$b]žŸ:Ï[,¦˜…1û÷oÍüÂ@’>3nŠ7º!ˆ@§»û/•°Ì—' \úç¹^=GõßÈzÿt»ßÒ?/ð‘úDnV¡R4,bF„»¶²°ðœF6æÄ×ZoÍ—§-ÏÍ*PJc§•iN-i’E,YàW·á/{¯Š†Mœ!¯;š²IúâÛIqNçsßÍWÚúLž1ÁÏÇÖ ³Ùl2™ŒF£Ñhäy^§Ó566†††Þý~úé§_äHT_,±õå{ÕO4äÏíœ~!—×M_v%áàºß£Màá3hР~—ÿ›¾ÏE>vÉÒ‰~²¦’üÍÛ ÏÓ°1ó—F÷š;Z:i„è|Áæõ› ®Š¼"¢ƒå4$dÁÒ©òèöÍù'µîÁÓ—Nö“ݰ±Rê¨)Üs¤sæÒ± 'R²f¼’NĺOÈèU¨ð°»§zŸ©ýû³Åùù'Ûlß~w®ª6{N½ÀýÊõýÑ7Ýs²l‡EFº"LÀ#Aôë=•ø¹%YÙhqx”ÑÈÓÈÓÈÓÈÓüÛWˆ70üÆ©qbb1f^€_Ã0ÈÓð²±±‘H$¥€¡Phkk{›¼!BÁémllÐð›n4ò4ò4ò4ÀcBôÕW_¡î3O¿ôÒKhøM˜Íf“Éd4F#Ïó:®±±ÍÔ{ O O O Oò4ò4ò4ò4 O O O O Oß‘úÄ_3´Þv¿m¿›Ýéë¶%%&þùÀ÷z¼ðèçéÖ³'ÚH$‘¦²ü—ÈÀb× óçÏŸ>V.ÆëÑ=o¡o­<­!YDìØšÍ…çN7EÇyˆ­”ïÙVx®Í rôëeèJß_ffÕúÄF‹JŽœ×d~±ó# Gó k4$ó›¾tAˆ\ßôíÛÏÛ½øNRœøDföQ­ÏôÉÒ“G*›:D²ÀØ¥3B´Húv½ØN|»¾{ŸÖ·–WjÈqì‹^cÜI{öt“u„Z}z[Á¹6‘ÏÄùó#ê*5]‰],"2Ô”ÔyEÇËHs¾`}~Ͱèé/:’æ|Aa]nëÊGÏJ#fLÑÑ 9WPP׎—éALÓßÉÍÞvV}ë}±)+ï­¨Ù€Ç̽ŽOë›NVjÉ1ØÚ ®#]©°ú„2ÖÃKL7ê*ÛˆdÁÇú?%ö‘6T¾RÛm;Ù‹ÑcG:©µ%•…mÒ‘“ÇŽtjo?yº ©µµÜ{?‰,8.z¤ 3œ<ßÔÚ¤¥çìðJ=hÄO½¾d¶¼¼m´tŽŸ¡r{^‰mìÛÑN¿Åð´îÔŠÑ+Ë~œa]\<½ÂÃãb"$xíà7ÌÓzå‰ê¢Ž’õY%ÖEçOÔµ{=gסm'";'©˜ˆÄR')Q÷<-•K‰Hd+&";G[1‘ÁNDDd0ô}©«”ˆÈÎÖ–ˆ¨¯ÒJ²`)mË[ÿ·b½ÁuÆÛsý‡<˜ÇÉsÍ ÕÍ ÕÇ‹Öç½³fA/ü6yº½îÄù’ÇNö“Z~?²÷dÍɺöçüm¥vDm«VOCÄzm“mû¸Djñ‘Ó¢1ÑD˜fücâz„eN«j®­VÔªx""N±>~³ÛlO¼vðäéöº“5’Œõw²,qÕ”œ,¬9QsäG #5µ.<á!­ûÇYKžF5íc©GFG?(ÇâùVÂl×~Ð]?õáÊ•Ûk‰ˆª×çžš”†1jøEÜËýˆíu'j $õ ”ÝÊR>Á2¢«'jnÓØ9“}d†«G·ç—hGF¸"NÃCâ¶bM’·å¾º´^‡6€_†@§C²€ß†Ùl6™LF£Ñh4ò<¯ÓéCCCïu?·îGôøcá~ǧ‰ˆt59“çìR3ncINЭë·ÅM]ß@Ä„®+É Ó*¶een;ÞÀõ³?m}éáŠÊ«ê›9žˆˆ{€ ð˜Y³&8ÜZ­4>bµ‚ˆìgå&øHúÈÔ9»š‰ˆìcó “{?NõÛ&M]ßLDA%£¬麦S¶(VT×6XjWˆ{oÿ°Iq³bÂ\¸ÍòzÕá]ŠË]l9ÞØù ¢|0Bð‹¡ à±Ñyé(ue{,gË¿<Ïkkrãã·7ôMOå¬^½«šï¹”W5(Š·+Š·8.57s’§„ˆHêãMŠZ"Õ©jU‚O¯„¯ª>ÕÜù£B¡¢Þ_¯*µ<îi-×ÕXŸUÎQŸç®>ÞP}|WnhÒ¶5qž=3µ®þpúŠôâæŽ7-Êï äi€»Ó\^®"""64¼gôd$Ö_µMÅïmo "ÖÅÛÓ•!{{¦3œVåįÜeÉ٬̂¸ÈO{–¸æÚÒÛv•75O_,ÝŸî@DA‘TÛ@ÔP\«sí1¬­*¾•׎Wig÷z¼¶¸–ˆˆ\"ƒ\­Ï½Ò¦Yÿ˜“B½=$¤Ó6Õ+J‹¯å‰+ÏŠÏñ.L¸uZ×%/H?Î1Þ‘³âÆyºÚ3|sí©Ã;·o j(JYHÒýi($@ž¸³ë¥™ ë-CµA+Þ êUÑ™š›Š¶sä=ãÆ=§ÔÓÕ|˜l Ó.±w&ßzÔ' (<&ngüÔ÷ª‰¸ãiï)gI‰ìCÃì×7¨ˆjŠëuáÝr.éj‹«ˆˆñ ¨-PðUÇkuQÝGW_\ÅÙ‡‡ºi©ˆˆ˜ÐŒý¹Q·ªJ‚ÂÂ'Íž*mÎÊ"© Ö—¾µ±óÑëÇÒ­aÚ%vÝÖä0‡îÇw,avÊqŽTEé9q…i˜’y€ˆˆTÇwmãí{,Òªššk¥Šžˆˆ z;wMÜ€E\­Ê?5Eïù©uÕÛX²¸}lfBŸÙ«%ž³ÓÞÞ5u}3WüᩤQR’x†±»Š9âªJ›)À³[\>VÍ‘gdT$_ ¨å¥õº n%ÔÍ …e(:È:Š®­m²Ô˜xG9ô9d‡°·Sß––“‹·ç­A÷ú¢Ëy""—YkÂúlä•”TTžRΓªøÃò„Üp Q OqŠ]ë<ÆúÇ$$%Mò¹í`,3î­ð>ñSW{ø”¥tÙ>2λßí=Ãã<Ö¯o ¢ªâ*]T˜„$Þ‘Lq9OÍåU×WxvíT¥P¨ˆÈÞ?ÈÛ¿ÞžjU½J¬¯WY*ž™€˜Î§êL»õŠí$ißD½ !¬Ç’¦ÒÖÁt¸YýŸ¯CX\S^ί8\« Â5Àý¢ à1ÉÚÕEés"ⶺ>ðJžáÞ}ÇjUµU–8Íx‡4†K€¥h„¯­µ eKý#-óóÕ×Þúv£ë–âiÆ?ÜUêîϥĺëqmuq=yÇt‰kP¸‹å ŠâãÓ(šî4#¶¶Ü§ÏûÖ‘z[ŠIˆ¯­jÆ›àçÀø4ÉÚgAæüS·75øPñV?ß9~‡aZ†¹ÍÞ»VêZäÄn/⨡¸êúlW‡®{ 탂\¬+°Û›¹ærEÓ OW¢ëUå–¯y µVcÜÚ»ç¤äm“VÔ+JK/¯UuFkEÑ{Š¢íã’6fvN@}ëHBÿ¸fÏÎÉÞƒÓÈÓw§3á_]Ú¤ ó¹«$ÉØK‰TDÄ7[K9úÁk;¿´P*½‚#ƒ˜¢ã<Õ7è¢$Ö{ ïÎù¯%ž‘>T¬ ÚÒZmœ«T[m©aƒ¢ú/ÀzMZ4iA2é®×(Ž.*®V‘êxV|–çþ´ )u*'Æ'(÷ü›¡Þ+ c—:Ž»ËM$ö>Ö»úTõªVÒ©:GŒí½í»¬4 2€ˆˆ¯.­×uÝkèÙuÓ£Ô{œQUi½Žtõ¥UD=¦öø |ÂâVdn;V¸&Ærtª¢­wZJ=­µ"|óÀ ÈÓ÷ŽonPu¦dön7²÷ö·DV¾¶´~€bãæS–û‰õé>§†4À2ɇJQ­ÒZï5t ¿u«!Ù…Ù§(mÖuOßšÚã.¸†'ü1Èòc½B¥³äéPË’Úâ*-^täi€_JSñ6ëôÔ·™ú®‰÷¤PKøVïªî/ êjYn)d‚bz”j¸EºÕ—ÖÖ[â2ÛYæ­ »–,xË2—4W”–«è¨µUë“wY†½]fõÞ¯Kh¨=ñµ‡”6Ù#pK¼Ã½‰ˆê‹Š,ÅÓ=§ö †jŽ+jjw¥­WhowÀøw]"¸F®µÔP×¾·"·Ïµ®þprrqssíñ‚]UˆÓ?îG„GHsñ‡9ͽs²N«R5×( ]Ó³2WÜÓmzžq©oÍY_KÔ\?©!ö­ØðO{âUMU¥Û –4í1?ó­Þ·8J<£ü™‚ã¼êx‘ŠˆÈ3²W1‡C@¸ U7óŠ]åD}§ö¼õvhQz9O »â£N‹™ämï ‘èt×UµŠâ–)AÈ£{”wOM75å8GÔ°}á$EÌ‚¸ÈO)ëê«Níê<`—Y™ |p¿"ÀÏÌÓ_}õZ|uÑ®êÛ¯â2î™i³¤÷¸g‰Ï‚µ+¶WsÄ) ÞSôZõŸŸ“Û_J—xO  ãß‚îÐûûÌ]‚‚X*²†ý~¦öp˜”¹U»:þ=G|Ãñ‚õÇ ú<㛹nEd앹“ÒãSŠ›‰¸ê¢õÕE}¶™µf]Â=7ôÉÓ/½ôZ~f³Ùd2F£ÑÈó¼N§kllü·<úxú‹Œ™îs¿ R´bÛ±I¥v(*¯ªmæ:÷ì7;.l ï”úÇx“¢Ö—Ã]únÏp*²ÖlDö3µ‡ÔgöÆcá§Šv+ªj꛹Ωùì=¼ýƒ"'ÍžîÙ÷¬$®Q™‡ƒfÛµ« TQÕÐù%/¬‹w@hL\ÿÛÀ½èt¨Ÿ„(O‡††¢eà!‚û§§§§yyyy§§§ù<­¿´)111iG¾×òïý911iÓ%ý=?ÿK'Ž”¯'"j¯ÎMLLüë u¯åFžþå©+ KN7µÙ¹Ož?g~œŸ´×r€–è¾·loø2?ÿ5ƒ­kp¨c·nTÊ/¬¼ªé [×ÀÉsf„8‰õ—6½»¹F1Ç¿©°¤FK¶î –L =ïæ7ÑÞ¿$žžÿç%T¸=_é891®îo]ËË£ƒ8RÙî3ÿÝ%þvD7Îæþ%_)‹HLŽv‹÷Ó·ëÅvâÛ-xôÝïø´þûâíGk4v±‹çŒUŸÓv>Ðz$oûÉ«4rÎÛoO÷ÑžÛ»éÈ÷z"±ˆˆÚN«}bçOô±íP–ì)ѸGÏ##"Ù˜ùoÏð²ëŠøÝ—Ï (#C]eC;µ7U69¾Œ0ýÛ§éïäfo;«îüµµ|SVÞ?ZQ¢ÈÓwESs^Kä8!:ô¹çB&ÇùuŽs·Vžm#r0a¤‡GHôGÒœ;Ý™±D^ÑqcýýÇN)%Ò4©ÉÉÕÕŽˆì\Ý=œìní[Ü}ù§B_t$C]e“žôM• r ‰8ýÛ?õú’ t$oÛYµ^ßZ¾=¯Ä6vq´†§à1sŸõúö¶v"’J-1Xê$¥óZ"Ò·kÛ‰¨iï_÷v®Û¤1‘L&""±ˆˆîz ÓiäX×£5•Mí¢³W;È5ÚOŽ×í Y°”¶å­ÿ[±Þà:ãí¹þCÐ&€<}wÄvR;¢­¶ÈŽHݪí\îhGÔá:ùí9>Ög‘­ÌŽ”?+¶ùq/Ø[sºÚ¶NKî§°H->rZ4&aO÷[ï!óó‘µý£ðDuuyAaÁºÜɤ#QSye“¶½µºpÛ¦ü#Êgé‹ED¤>w®ºA­xùÿ‘¶²ð¤††õAn{À"õÈh„i@ž¾WbèùäÚó…Û÷TŠBƒeD=‘Ó„%óÇ 3Tæç­ßþV©Ï„èÛ`»ac¥ÔQS¸çH]ûm–ÛyñQ‰|§àA"ÐétÁaê¿?”õþÉv¿Åï.xίÀ{á IDATÚ#Âl6›L&£Ñh4yž×ét¡¡¡hxˆˆø#lÿþRÍÕsÅ'µ$‹˜à…0 ÈÓ÷@¯=W_¢!™Ïä%žÂllð@yHê=àQ„zxÑÈÓðKÐZ<ûðõ»Ý¢~Û¤àààð´*üW<žDhx¸5팛ü^C¿1öAá±óDùHéS÷OýlÛ$¼~Ÿ†GkïÒƒ=ËðªEñö”9SŽ]à_W“– ¸ûAÞú»¬×Õ»Ž7ÝçÓjÅÇí¼µ¹$,·²²²rçÝçsχ+++KÓ$]Aÿ@\pð‚cZ¼+à±€ñix4ø'íßÕ{úzÕάÕïWOI9´ñÁÁÕÖV©î-ï,j&òŽT×î,®[ày)¾^QOÄþ§R_ÚL$Å›Ÿ†G˜CÀìÌ5±öD¤¸ÿÜ_‡®¹¼þžÖ¯Þ^¬"òŸµ`~¤=QÃÃ5÷—â«U¿ø¹¨õ<Þ|€< ðhxGù3DÔT¥ê^I¡­9œ“0;*,888888|Ò‚äm§šú–Z\¯:¹"κZx\|æª^E º¦S;ÓâãÂ-; ‹š½"çpM÷u´ÇXïÖÓ*v&/°î+,jvòÎÎ}ÕçN ½°˜#âÇŽÊ©¹CÙ‡V±³”#ò uõ‰‰q!j.:Ðÿý€ž‚öT|pð«YµDÔðÞäàààà¥Ú÷#êÉáÜixýð‚ààààÙšzÞxýÀìàà©Û›‰¨:%"888ì?wþ×@;Ñ–Æ÷¬6@žxàèx"" Ó- –&O“¾ëx­Î%h\dä¸ ©ªºxýÊ©ñ;ë»g¾¦Ã Sf”7‹P¿5( ²NM.í*ÆÖÕl‹Ÿºò½"EƒÔ?4222ÔSW[¾+}ÎÔ´[너ˆW)²fÇXïùÖÿ8?6Ô^U[üÞÂxK’dƒâb#ý""ûÐ˜ØØØY¡ö’ÛžÓõSÛóDþq¡D>“â\ˆTÅ»ªû$ÖÛã3+&Ô…ˆˆñŽŒ‰5É“éy-âÆqå‡k{íùzùj"òŽçÚûò%fVLk9«˜ØØØY¯†Í´'âJûžVq Šˆ¼g‡»â] 3ÔOãM[]TÅ‘g§5¢^?–ž\¬"v\êÎÌI®–…ÚªÜ ·W¿—p ìÀlOËj‡ÓÓsä»ngr˜”ˆHW`åì,EqÚ{q‡3ƒ¤¤«ùpõújžÔÀpÓÆ]_O5=!šÚO;'¼pm ¹à™“¯{CVï-;„»ž Ã;O3}ѵ4sQx~nÓ±­‡.ϘÆäη0Ü@ýþû¶Cû­Ç ÄéÝMpWIx\‚ oüþÌ±í Ž§gi‡Äé! „Bnž>räŽzجí_ž©Â0sѲeK ‰²¶36€Ž]ù‡®ß—?#€í¤Mxik³Ú€ÑëoumçlÀ7¼±.ãúùæD«øs"\ËÓÚÏäÍþâ]O„!œÞõ¾€›µxHUFM_4²š¶îxiAo@îx ÃÔÖý‡Î¥{'ä»Ü°»¦¾|I8(aQøïs›ŽmÿØ1ë­7N™¹h*N«‡BèÁÏÓ“žÃQ@¾ð¼ƒCçŸîصl^~@PÂÜëê‚àM°|ÓáÃ7«<‚`˜[·2‹¢·yÁÚpØzóxÇ=˜„Y8³ý=oŽß°xÁuog8³mÇ‚eAû…áêýû»­ïêX¶,ÀѰ»ÁÛlr7÷æËû Û?¾ü £ÀqƧLÆ8Bè!ÈÓ8èa47kéÖÔ·­Û×ÿqî¶ôkÒ±¬žfú¦ƒEOß&izwÅ[73Œ øÕŠ]_e!•¯ÈѰu¿·‰ÅÖÞ~³™£Ûwí:·,}ÜàÞ_š©ß½»ý½CËùâôÔwYXõô¢éLñ¦íÇ.¿ð’öÌ®¸¹‹±:Bèa€Ï#¢‡;qÙú¹z€ö·sw²]?.Do3Ä­ywƒŽs7î&‚ Þ]ô`;c¾¹»r4l?&–Vÿ²ƒ›f2Ö÷·†y Ã Ô fêÚß?Öކ] 7ôn“vê²Y@Ó®c—M»>æAŸ° œÅT„B˜§ºoi§¾š5“8óûü÷®-¢0μwìÆED.ü—O_v› íû.ÝçÜÖÅÏ<ó̳ë`ÇÍšÊðirfÇéC‡Î9¾ÚUß6ç^>´õ˜¼à¥q7½áÅÞÉ8¶Ÿ†u ×ܾ‹›·`¦àÌ{ ç|qú«ôihÃyõá·yãôŒÓ!„0O#t_5+##òóÿ2˜)ƒf.Î4æï2œ£¡hõêìÕ©k÷ûbvÐÜeáÐT˜ûÞÀnBÇ{E[Û¸Y‹'°løÒ— üûë ?¾–X…Ž÷Ö§­]›–Vtò®êÖ  Z­·Éᇷ7@ð‚„q7Ͻá‹ôüþ­ ŽaÝÂÀÛÚÎX…;ê=À™÷wí:)Þø(äMnÅwÒ ãì„E/éš óó`˜»`"Æi„BìŸF³ ¹ë—n[øvû±üßü´o}•Q/äl8¶|íûÇò>»mêôqzÏ5;c`¦f­OX\dÔKrö/Î=v,w᳜09ˆé8Ùdô ëé“ìÄW_ÿåÉå¿oÚ½zöá ÓÃÇ1¢í\CC»üò†ôÉwµÂõpÆv&?uñ{fܲ¢õ³n̬çöo='Üjv‚ýîí6ßÄtøÃÔqð~¿?}aǽvVÖë7ïgÇÍMÐoßÞ°ýw§> 6hj0k·¾½lAÃ8­~Á†Â—¼ÌN\0×°ým+Ë;B!ô Âú4z¨±ã~ºþe=¿?·pp±“Q³Öo3ç-š9Akm8|xÿácg„à©/gW/:—tÐKEÅ¿œn`¬gš¬LðÔ—³J+6Ìœ0„¸¸¸ªø—s§ gŽÞøXƒU>si^ŶuwÛ_ÌNLÏYÎØÎ4±‰Ì—vNïÚn…›.J8ô, æÄcÛ½%ó;Þ¨„õY3 ˆÖ¦¦s`Ù[ŽãÜ=p³Ý©íyÜ‚õ¯N×ðíMMVñúWܦĎB=€ˆó:pÐý㑱„‡–pzüÔݶðœ}[_Âu\B=,°>ú†\>ôÆû6`fþt†i„B˜§Bè®§·eçÁ°è§8í4B¡‡ >ˆº§®ß~ò\CS»¼tÃOqb„B˜§BhØÛÉÃÇš¸ ?ÍÊZ<Ó4B¡‡ >ˆî/ø<"B!„,Ø?B!„ÐW÷•ú=®þ­¤ø€À/ú'i3õ_í­*ÚÓ¡‹[µbšÆ²û;Ú”S–®JsW×sµõ“÷O>áOû.É0/}‰I‰ßU„B!t?çiÛgÇí@ùQžž¦]Ï<ðö`ÓÏ,øþdÐùß݉Üí?Òðäþš ÏÏ׬Ã4B!„º¿ó´ÛÖÔxüžJ˜öyEÍg]³‚hÛ±â’Ã=†§¢”Ÿ5œ½ê¡t“R'ûÓ·Ø>ôŒ]Ýõ®·>­¤Ǫ÷~Òf4†ðøÄ“ž÷ÅÕï:eØÑ“ž{iÎdÍÙ?íé€s¯ÿ>dñêø‹î¬OógPÓxÖ.°ºqÏÍ™9^î³å¨8ëõÒ„®šOÎõkxêûɳŒJèýüÐÞý'Îõ”ߣ‘ /=÷‡?!„BhXîºÚm;ÑÔºi‘NzÒ½§/º}Éœ¦Àz²gÒ¼¥¯¼0޶Ÿª®lâo½ý¦ø–w·n»:fÆK/'Na­MU‡/ºÝk*þrÊîµpÉÜ)ÊK§>x÷øUå£/̤€Ñ3~ðJ|=4.«¨;ë|tæ÷ΛÔ{®nçŸÛÜö†¿^},á层õ“ê:¸-5ï}rÎ3!ñ‡KR^Šd;Žï­±8ñç!„B ÏÝÖ§Ý] 'û@‚'`Rl=Þákh>@éÂæ-žŠ ÃÓgÞ{çƒ.š>eƒ¾Œ‘!„B˜§oËiù[«~á/Ä…j¼_©>~¶Áâ?Á¨{»zÁ¤·7Á*5ç¿Õöë)u,vÁ í¾ÚÚtæ*kœÄÖ¾÷i<úâ’'ûw}ðßïœtßîYÎ÷^½ê† Àyµ×à§×ôÞâMèìWBg»y[ÇÙGöoÞ{8â_^ Â2õpÃô_œOýóÒpúTÕ¶?ïÆHB!ÌÓ·Óç>÷€ÿ¤èÈPß,yc®Ö?xöøY~ÂÞ ='><Ðqø”nP‚çÛ­7‹¶=ù(|pþø_‚žò³z¿¡K=eɤñ‚€r;{»Î4þ\€«»x£†¥ «éäYMècƒózÐc"Âý?­³Ôìý¡±7º0zÚd=}‹<}õoï¼yÀnŒé#«Ñkh–Å,=,nÛ኿8ŸZZ÷—ó§þòžÛÿgñ×î(`æ’ï»?¨i<ðn« ™± ašàEmÿÈ„øŽ½=Pñ€:à‰çg` ÖÏŽþ™®¢•ƒƒåþòOBÜôý?x}}}ÝÝÝ ÃËâê×=x$IEñ‹/¾Ðétjµ!ôíúúÖ¿ÕŠ*¸Ò º÷z½qžç{{{ I’$Iõ-„,²,˲,I’,Ë¢(ªÕj­V‹Ã‚úa%}‡ôöööõõ1 CÓ´7L㘠ôà¦jo³V__EQX¥F}‹Hô!I’·ÍC¡PP…a¡AEÑ4Ͳ¬Ýn—eÇ!ô­ýékë÷@èëpïú=®\¹âr¹”J%EQ8Î=4<ÓédÆß§B};°>¾+\.EQ$‰?ó=\ÿ7F’$IŠ¢ˆCÂ<Ð=ÏÓØ3ÐÃÇÛøár¹p(B˜§º·$IÂN„JEáDò!ÌÓ}°8þj#„æi„B!„0O#„B!„y!„B!ÌÓ!„B!ÌÓ!„BažF!„Bó4B!„B˜§B!„B·EŸú¬GÝ?kÀA@!„Ѓ”§g̘£€¾²,K’äñx<(Š‚ œ?‡!„BXžÆ!@莔ôwë7Åévã7!„Â<Ð×G’p B!„y¡¯ˆ`ÙïÖ ÷÷µãlÕ+çç·@`ZÙÎÔà{z…¶ÊÍ/3v¼“ô5Ü[Ë_I)—í\yÝõ ­›RVTè²ö¼×ùzʪ*û-Y“¥Ûœ_/Þâ刼6Åò寤Y®ÛÎèB¢f/O_k¸ù–`­«(.­¬oéä€ 4E%§¥'Gêñ—!„0O#ô`’eƒahßgnaÐY^ÞºpmèCñGkLÎ)ˆõfÑRž_TÏÍËJÕ1Þ ÂŒ/Hö½ÜVš]Üb\œ“ÉyÖ™´<—•“Ȉ|§åhyñ¶ì%m9;^×ß䯒ì%ùõº˜Åé±!:F´[Z˜‹ŠÖ4¶o,[©ÅŸ3„Â<æé‡“ÐZYnáb 2¸ü55æ–ôõ‘E ÖGFûjׂ®Žz.,*6zH Ö|.0• €.2*:úK¡— 4EG–À£cãB`þš}¥û¬ñ©7Ø­5æz10­`Ã`‰?4,:Ê(®*l;j"ÃXüQC!ÌÓ=x°zqºÅ¼Ï®‹KŽˆäfVU˜ë‘±¾X)Ô­}1Ó2// Ê‹ªí"0Q 3²VúR©Ð^]TXZÓØÉhŠ[ž•‘ì‹‚õhiaqU½…àŒ1©é©ƒa–íG7åV4ÚcLZVVr˜ï-mu[ ‹÷Õ¶Ù€ ‰[ž‘1øÒ} ‰5Â>Kk§7ö|ˆ¶›´h£×¿³óÚ—ŽÖꢢҚÆN€ Œ˜—–•o`@8±îÅ5móòR;‹ kíQY+ìù›ùëÚYG×ÎÏn‰Ù¸g}$+´(.*ÝWoá).-##1”_¿Ë¾ˆ¼ ¦8Ÿ%$gÏ–xl5A¡[Âõ\‚øn}|Žzs-8;9Œ…à¤d£Xo®µ ¾È0U…åLêæ=GŽ|P’nlÜ–™]iN®Ê¯²Gel.Û±£¬$'FÜ—¿¦°Yðžµ.Eö6{DÆæ’²’‚寖âÌ5[Úßi-•ùå”WVVRe¯-Ê.m'6¬ÈÜÖ¢K.(Û±£lãòÀÆ¢Uk̃‡}™È;„눢x¤ìÍv.P÷åjs`|\ t¯Y»©úD»ãfÇZ+3Wäïã£26ïØ³£$+†¯È]‘_çk{mq5·¼`óæô˜„¤謩n¿ö}j,¯uqÉ&lrWäVXBÒ6–íØQ’—ÌÔä¯Ê¬¶°À0À7›Å¤¼Í%YQ¦Bèv°>Ð0âôwl¾<¸û4i«5׋!éIÁ†¸TSQ¾¹Æš˜<¤™A—±<ÚÀ@hRúró’âòZkR²5¥•”-g zÀ°|yDEvã‹ÊZkŠkxcZÎÚø`€à¬k~¹háÁ[muËsVÇë 88m^yí¶Æ6BY[MÑ>;7{s^j †ä¬¬æ”ÌÒÒ–…·hAé¬XõbÅM¶ë¾Ö1¼ï.ØZkKó·u‚É7^×cCWn΃üÂmùõŒ.$"**6>i¶wð@h.-nSFÞÚD@üê<{}JQѾ´èd0 Šé‰ÞÆ.ÙT˜_Sݺre(€­¾¼t “BXh/-®¬÷}ÓRs²êæç—·Æ­eÞ˜–‘ Û!„y¡œôUç»øÎ°Ö˜[ "+Οõ1©QLvye{òµ>ÆmL³!FOt É–eøsi~}‹¥ÓÎû‚¼N@°m.Î8p˜6rõ†Ho~0Æš §œE@h;j&*>dðÝ´¦ø¨i9j"oú$—•—x]øµ”çÖ~Ô¹mÅóÛ†nŒJÛ˜“|‹ÉIô±+_]nk­¯¯¯««klÜ·­~ß¶¢ÅWFj;0ÆF\;VGÛÉïc’!±ƒC­IŽ€ÜšêÖ•¡¡¶ÆòFLK eÁÖÖØ ºy±×î[oŠÂÆ;„zÏmŒ Á0B˜§úz|µˆ×]>)´–›-–üù3ò‡nßWÞ¼|íÀósŒŽòÃ1Þô ÖòÌE-!ó²r2LLjõÙKò;½©Vä½{ÞÊ—^½G‰ Öf>ÃÚ¯Œoò¹›äé@SdäõóåqG™¯uDu³s|‘a† 6Ü1©²úÐØÄÐØÄT°0ggoË-ß‘6À^¼dFñMîOçÜkW¯JŽb²k«[ÓBCùúò0¦Ç€hçìU«ž¯ºáJÛyaÈ7 !„æi„¾¤Rùݺι»ŠÓ-åûì\LVÁòkùK´˜3s÷™Ó6øD~HœEž÷Æ5kMe ¦å¬MôZ 6›0ŒŽ6û]6Ÿ0œŽ&"ksº‰¹~{à·75£ æ”Ü›Uä|í/>úÈ…éqæUûZ,&m¶ÎRœ½¡úD»Õfm­+_¿"%eMEûƒð³Æ†¥¥Çp–m«V¬ßR}ôDssó‰º寯^‘ߦåË#Y`Ö§™ÄÚÜlóÑV«ÍÚÞ|`Óš””%…uŽ[žÓ”£ë¬**mc¢’çêžõfo:ÐÜnµY[š³—¤,É®¶á/qCY`e©¹|_aÍ6€áC¢ÒòÒÆzŸ4$m,aŠŠJsW‹À£æålN»ÍDlHrœn_…‰Iޏ¶—>>§Š K WUðÀFÄemNKĹñBè®s‚ 8 è[!˲$IÇãñˆ¢(Âùóç§OŸ~ÞîÂ… #FŒ ɯòo2jµú;õ­é»»þé;N¬{qMcÜæ=ëpq?t/H’tåÊ•Gy‡!ô­Àú4BÈþ¸>"B!„0O#ôÕó´Û}ë×ç–“ ¾{“ë!„B˜§B·GÈ·ÓÉãñx@Š¢(Š"†äiLÖÀFnøèB!ÌÓ}wó´÷yDY–$I’$ IÒ²%Éáè=uì¢_€ÂðøµZMAI’¾Ï¸Š5ΈBÝ»<íêjÜ[µÿøéKN µAc_Ž›äwëzN­íÿüô±·˜ ¡¿©èµ·-£çeý*V‡ßt’œNðx¥ëªÝU}°d dþây×Þ·«O;”SžRÞ»ûQú>Òsjo­ó©9q¿Žw~@A’þ9eÊøqãšNžÜ±mÛ™ævåÉgï›­!&d‚ðH½¤§<Ý”»ƒ[Tä»þ$ä(OßX±?´GŠè“G9‚Õh4*•ŠU*…B¡PEúúB°fB=¬yúnZ«½ik‡6,õçãÚ€?EДÑ;.u\r+"‚‚Tݪ cp€Ê¥LXùógº±*—+xwóéî¿;\CB˜«ã“ãÝã_N‰ W¹>ýÍÎŽÆc]ŠÓ€Ñ /ÇEè`"}º±¤¿q÷O˜nzç´¢± V.{h#õàüÓ$A0 EQ M?9mÚØ ±µågß»¸ÿ½³+ ž'LTüxb J €€ d7Av*˜‹ {‚`Ë BéÆ÷ðOX¯N’ä z¬JÃiÔjµJ­V²,MÓƒ;"„Bè!ËÓ*­ ÀÑmï‡Ç¿\vwZ½ãØénç­w¶ÜYÝÜá¸ÕT¾ý]¥NKûÞMK8ºù~U?hGªh]€šø»oÂônç³é¿˜F7š·lÙúÐFj‚¢®}@È2A’.‡Q2#G~¸pYó°ôÿõû¿öAÏ*á{Ôsc!˜%üH€’ H_  ûê&¥¦ÉCȽ$qE|¤³ç)¢{šRù¸Ž{l´¿~¤‚öýbÌB$AÄ@ýš¸ç-"·™o!„B_=O+¦•Ç›;ÿ""Îûx¡ë‹š7Þ8ÓRW<Õl>xÚ”øó•qc5 ª»¿”½šwìü´C9eé¿§„+þþæ¯KN)¯hás‡½Û Á €þn‡`dÀH¨œG?€ Üö. Ó÷W×Þ’ÝÎgW. xrÙJغåÍÊÑ¿Hz=H®’$y—IEÑÁóç}—)µÎCÒäãäL5‹!¤V飭bft™Èè—Ë'PO0„ @ú|ÂûA ÁX¤1^~·“ÿÞVŒ½lÔÑ$%KA$IÐŒ‚ )Šñv… `oû5I’äýÙBaž¾Õ¤ysÆŸÞýyõÿ-8=-,Hé¼Ô|üt7(§L R¹»Àått:z°ÖŽ¿·ÛÂ4Ø?ý´) ˜w¸û»;W·»ú»,]ý×Ê™Š §¦üäàçU;ŽÒOi»j÷vÅN Ý?Q{ð“K{wÕ>E7ïmvã´Ù÷EÀó+³ªÁð¬{rYf¸Kñp¶¶Ȳ$ËnGÇãìï?yô ‡Ý£%©…GžëµVú ŠHòŧØIBüBþôÏâï[åFp3³3?šL™d™ÌÓÞ%bçXÆD²ç¯NüÅ ÊÅ“nžðð$ôÐOPý2-ºFPýr„¿æ2>ÂrZµZ­R©TJ%ò ÃÐ4MS”·‚í-kƒ,3sóX9#·åÆLTÁ–KªSw¼•¨ÿ gZ_OYQ%Æmܳ>’ýZ®Óqtåü¢Ø’©Áww›RV´¤°%^;°©Ýüƒ%R÷lä²_¼Ùÿz-ÿÚ†›H“ûâšZqpgŒIÍÈJÔÞø–Õ…E¥µ-¼ÀšâR32’BYüOB=y@7ýǙګ><~úxíç  KôÎ?íš3/̲»ù`É–¦°yK—ªÌ%Ç?1ïxm^ì­ùÓÓU;\?HŸcÜZÛ¼ó ‹1æåÏ;º¥êóÝ;?- óêR×ΪOªÞnPŽK\örlÌYúl×ÛOW½Ýnœöìmõ§ýø»/µJq‡  YeY–<G£æO­n'E’Kp & ‡ó#ƒ¢z.VªHB¦€ (9õ{*³ ®ÚäöÿõüõÿôýäªÜ@Ž™H†×H’”BA+ŠÁµÐ¿á¶{͆™k-vQ“^“ÌXnÊ/ÚׯpƸ´œôx×’¢­Þ\˜\²œé\a®µÅz+ܶ꥘#†´Õ[ìöN1dy^Nr¨Àzàõ\ïù˜À¨å99É¡, nµcŒJËÉI õfüú×WgÖ´tò\Äâ¼¼•aZp4—çç—6Ú]DrVVjØ7”ÞY}äò´¨Šìj‹«¿6|g›]oòFlÖ›¾yG*£c'¶äæWµøî4++)”š_Oɶ'GY̵þ ÂÏîRç ô­•?ZRžXöN2wÛ£tY;6ÝŸ° „ÐCœ§¿ ö£¿Ë¯º¤ {9õYíéªF'ÐaÓpÆ<ôÍ!¼!* ¥R–eeY’eZ¥1¦çŠý*¿ªßbæ(1fiO×ï ²@A@À`ó´‘ ¥BæÂ „ÔÇËMžÆF÷§'¥3]Ÿ¶Ë]ÈA 5‘º „6Tã€2aY  Ä`€/f!@¹]Ü%+çè„3u®zûxÓåÐïõè ¬$Ò§¬T‹Ù£8ŽS«U Ãz—o¼¡ëz0dû>ùºžGÛª­é›ß]§µX›’_Ü8{Ct§9;·Ö”W¶)Z/´šW­Ê¬yçÆ k­ÙbZg0@jDqq51ÙÀ0¢¥†Ï({+R+´šW¬È­Šz'Uw´0¿F—³ã£X½ãÄëKÖäWż•lh7gæ·$nþ`K(´šW­Ê.6•-;뛣7î\kpœØ°dMQmò–˜¶ÂÌb>­dOR0k;º~Ef¾qdžo,^Š Ã]¿MoJаçgfŠ©IñQ¦`=«7¼dTggVqY%{ã ‚µ:sEfQÈŽµ! öƺ°Í{ÖÉõ»²+[„ÈHÀZ[n1&ÇlÕ«o–½B軑§uO-ûAÇŽêã»·4(ƒÂ潜2 ëÓè$ ‚/n€,xIY¡RqŒÂ_­öÿٕι—ùN—Ó*ƒè"ÁCÈ$ÈÞ0L€,“2 ‹2Z‚}š !ÇÐKÊ}‚|åŒçó¿Imÿ#µÿUúâ=¹ï }ঊ`"r¢ì =#$Ù_¢4²LË@È„ ƒÜ;êÛ¤)$áÑÑ<ê\É0$°0„¤R^š|)pÚ%ý8Úo «ñS*• £ )šx¢‘¦(Z¡¸lcRr¤ô¦è@¨¶ó`­¯n L΋Ö:;5¤´´ÞšlzP{e9•¥€ˆå1|vyë¼Õ¾þa]\’I ¬1*JW|´Í–›·'´ZКbMLm«]¨¯î4&Ïe 4uóžy eÅN]Lj”´!ÑL£Ú*k!ª`v0 ú¨ÔfMu‹}CÆlÉ}ñ¹|f0‹"„| cc;a.nd¢òB®7C⦕æÊ¥¹E;hŠKNKKŽÔ;+[¸Ù›c ÀâR#Šò«-ééÆÄ˜`LÉ1L¦7P[k+;CRc ŽÆÜ;…Bè;‘§AðdJú“)øíBßZ –?6 I‚Pøq¤Šeu#Fô>ÞÛuñ²ç•îÞŠ„“ôMD-×2¸ 2ÈÈàýed$%ÐSȱ‘ÄH‚2r ½ ÷öÊ=§åKŸJÝÿŽír_¸’ìv‚ä+ÈÉJÅ ¦UJQÿÄÒÏi)#•« šõãü‹žÐ•~O¿sú˜÷ã q†ÒgòŸýóïüÉ/~¼ú{AÊqzf”šæŠ¡Jö²û¢*¬)d–ì§õ#½ )Æý Q‰F‹¹Ü»&“ã„yÝúÊö¡¯ÛjÍõºÄ˜!éÏ“Øh®µ€½¶²ÅB[u­Ý¢ív‘ 4êXGs•¹EyÑû.ååÍ¡½9£¼ÄõÎ笖edïc‰Þ+“þGöu‘ø2¸Ó/ˆ¤%•ÇFP„LÃö±£{™1¼2¸d8=*Ä ©ÕjY–!½³Vß[Á©yYÖÜÜ”9<p!ó2r†VN­5æ–ÀČ늩†˜Dc±¹Æ¥&0Š«Ì|%ßÒiç"Òó«K[X»j~N‘šž“›½Æ¼yË‚Œöììù3ì"cŒI+H e¡ó&W£Î*XžŸ¿jN¡è›þÂôíÎuÁ†®Þ\Àg§ÚE`M1Ë r’ ˜“מ_¸dŒ1.=Çx“:wpb"³­˜Ÿ½1Â{#úa…BèAÖ*з•QeI’<ÇãEQ„óçÏOŸ>ý½Ý… FŒA’_åßdT s×wà]Fòx\n·Óétö÷÷öööööº:\t °-nú¼À\v*ì}4ÏS"OB!÷Ð+3BÏSzûô ‚ðhOµkOµqçÎ*—¹ ]À’ÀKKÊ A²„Ì’À’ÀKKÈ,I0¤ÌKôó?Ïü’s_éh4£ûµ¸Õ ¥F©RªU*•J¥R«Þùª _ïÃÛ•)¥ñeï$ð—]O’¤+W®<òÈ#8¡oÖ§†»OáÞlJP4M3ŒR¥’üü<’är¹Äq¢8Mt:‚ÓyEp NAº"ÐÖ~æ\/ÛÑÃv^Uد2{ùsáé먷,KtL|Ô¿õì¨Úýš›YG7) ¸IBX¿œ‚IRR0’’õp*Ño8Î)<8zŒZ­¦ÈT$9Šö¡(’")’¢|ë).WŽBažFè!n›§å›õH uΗ­iZÀ°¬@’$Y–=C¸Ýn·ÛíýÜåñˆ²ì=-A£)Ê@ÓÄ?Mv'Íér:ûûûû§äàÉž+tÏU‰e~ËGñø+…BèÏÓ}GÝ:K’$‚Ãáèííu¹\$IªÕj­ŸV¥TQ4MÜöœÄõ³YÇÀ#‡ I²$yúúú{=ÖóçeYÖh4cÇ1,˲,V B!ÌÓÝGHöæS"Ȳì„«}}ͧNUTTx+ÊÁÁÁ)))cư…âË?­:ßô„×çm¸Õ>$€Ûív:'Nžœ?>Lž<¹¬¬Låç¯d˜ÁåÄïêݯéëÃo:B!tOòôÃño÷Ý-éó]È’ÔßÓcïêúõk¯}òÉ'Þ£GÏŽg)Š%IЦ½³| YY–eïÏxŸ$|sæÉ’$yûªd‚ ¼}#Þç½GJ¼góx<ýŽW¿÷ט’åÞ«Wú{F2$A’E’Iú½÷†ë}éV±!„B÷*O#ô] Ô7YâDð¸Ý¼Ãq¹ëâéÏ>#^ž?¿²²òòå˧>kQ«U#Gø3.QìïïeÙíöH’²LÓË*5 Ã0’,9û½½¼(º<MQ è5•RIQˆ.—³¿¿·¯Ïíry<o v\íñ¸\¾I>dùнû¢JÝ×ÛKÓ4Ã0DZ,KR”Çãq:<Ï»].·ÇCMQ*•J£Ñ(†"¿Bã B!„0O#4l¤Ry“<-Ë¢,÷8ç/v]î顊ÿøÝïŽÖÕuttlx½°²²Rd’ z]®<{ö¬B¡xá…zzz ._¾üôÓOÿä'?¹Ò×7zôhÇãr»Ïœk///?qâ„,Ë&“ég?ûçtêõzŽãÜn÷%›ÍívŸ?þOúÓ©S§†™1cÆ¢E‹D¸bìcUVV~ðÁ¡¡¡¿úÕ¯xQ=z4KQ=½½v»]’¤ÿú¯ÿ:tè¿¿ÿ¢E‹æÌ™ã„1cƨå})ØïBažFèk$߬>-y<ý½½ š~»´dÙ4iÒß[['„†Z;:N}öÙÿ~úidd$àè驨¹³²ªJAÓÞ¾ýäÉ“’$@Ý'Ÿ”¾õÖ¦M›žœ6MÁ0Ç_´hÑ`[H}]Ý;ee?LIùÕ¯~%ŒÙÛÛÛÒÒòó5k.|ñÅà>]³fÌ”=om¹ýܹ¸gŸíîÕ×WîÙS^^.K’Z¥r  ßþÓŸ\.—wžºO>ùíþçÖ­¥4IŒÃ0ÌWoüN¬{qMíµŽÎ“š‘•9œ……æ×S2í9{6DÑ>ëÑJ‹))Z?t[»ù•GÓöl‰ýW7´]¿*·Æn\¼yc|}æšâ&&¯lï@h?PcJ¼a|ÍÕµL\b(.^ˆB‡¡ajù†Y’Ün7Ïóç-–#GŽO>ùä… ž5‹Y®9ðÑ•îng¿($In·ûó¿ÿýw¿ýퟶnýéL\½reýk¯ñ<ß×Û;í{ß{ëÍ7Kßzë­’ó;…¹Ýîwß}·—翸pAp:_ýÙÏ.\¸²œöÓŸþyÛ¶]›6mÒhÔ4EyÛ5œýýK^y¥äÍ7S/&úúú~ùË_ˆNç.oÙRRRâq»ÿã7¿ùü£¹¬ì‘±c;­Ö?þ¾··×Ùß/KÒu7xט˜9räÈ‘#îÉ‹é,ÍÌ=jÎqlXzÙŽ¬È» ‘ÖÚRóÎÖu ^¸yGAì7ºT¸`9PÏÇlüà­•¡|Ë6]ÆŽw7 ç Ke±¹Å~ãÖ6sqe¿j!ô Âú4BÃp}}Z–AIt:{®\}w÷nÉã!7ަ¨0“Iɲ‚ üµö¯ÿò³Ÿõ÷õyÜndoí7ã—¿Œ˜2E¥TŽ?þÃýûÛ-– .ô\¹¢R©ú{{GŽyüo;×ÞÞm·wÛl$@_ßÅÎN­Ÿvï\¼x‘Xñ£ýhÙ2NËiµ~4Eu_¹rž¢¼'}üñ$ç_V­ªù裋]]oûûåK—‚Ø¿o 9Rɲ_|¡ éÐŽ/¾hhhP+•‚Ó©Q«¿®jV¹<-ª"»Ú"ÄBíÊsÄBݾŠÎ¸Í%«uõ›r‹öµ‰ ˆŒi^FÖÊh½Ð\´ÄWŸvœØ’›_ÕÂ0Q˳²’BY°x=·h_›cTZNN\g6;d.é\¾qÓµ•ÇÛ+VyëÓL{u~nq}§œi^VÎÊëëÀ¾óùÞ%''9”Z_OÉ´§&3G´uvÚ™¨Œ‚õñ7¬in=º)ß{gŒKËIáKWe×ðÍ--—mv??Y–e ¼ûŒÃq\À˜€îî+S§M;g±¸ÜîËvûÈ‘#OŸ>ýoÿöo}}}~~~AAAEy‘€ ?>vL fÏ™#Ę@ƒZ­–$OŸ³Ÿ IïžÞUÍGŒðE‘U*%ÙãqŠ¢V«½tù² pÙnÏüÕ¯†^d_¿@xWŸ!¿¶­A††±­–/(û(Z ÖÊ•¹5Ƽ²MÑz°X·$7?lÇëQÇØª³3«¸¬’½ñÁZ¹"³(dÇÚ°Nsf~Kâæ¶„B«yÕªìbSYNNÌü\® l]ØÍŠÚBcQQ£©`Ï[a,Øê6V×Û"ã¯u†8Žæ×èrv|«wœx}Éšüª˜·’uÀ€½þ¨®lÓ[°XRdnY;´ñ¢Ýœ[kÊ+Û­ZÍ«VeV”¼³rsže~.W°c]køÊ’êÔ²·õí[^)l‰Ù¸cK˜Vh¯\³"»È´c]Ã@g½%móG öÃùE±›w¦_û$te^Z­ïŽ£ë²ÍQ²7ÞŽº K²sC˶$a¢F!ÌÓ=Њú¥wAD¾¯b˜ÏNŸ–´Z­N§ó¶ ÷õõuuuIOþoûë_ÿÚ»j¢·¾-ºÝ|?ëà]OëçŸKEiýý/^ºôêêÕúæ›ovvvZ,–ÌÌLHR&ˆQÞ34þïÿŽ1º¯^uKA.$ œ\&ša¬Ò#ƒDÞE ŠrK£RI£GÞ°aƒÛí\{\¥R©9ŽU* š†¯kî<Û sq#•â ¤ºˆÄ-8ZªÛtqz}LrDavu›Åø‚nce 7{sŒXC\jDQ~µ%]×XÝiLžÊ@hêæ=ó@ˉ۾;Èð•û긘ˆàèÕ¢¯U›·'´ZКbMLm«]0¦äg4r|çõÝÖúê¶Àä¼h=°¡³SCJKë­©ónòîÖúZK`6lóÎ IDATrR˜Øà¸ä¢¢!˜¤˜aeb¡­º¢ ¼;k#’ã¸UÕ-Ž$ƒ Bó4B0©¿ÿº/%³·ÏÅó%ÿýß²ÓÉlÙ¸Q¯×1»Pâ²eËúûû:Ôuþ¼J¥¢=o¶,ܰ¡¼¼œt¹jø¬±‘0ŽK{<ŽË—½;øûw¶·=ú?KKY€EO_ßš•+ß«¨p»Ý¿ýõ¯e§sÉ’%}n·,ËÝ/zúú¼Ç*$‰EF–7ŠGÄOXÛÛ¯^ºÔÔÐðÏÿüÏ<ïP*U†eY¡§GË0 2Aü‹‹µkž÷ÍNÏèLq3¢µ†1p,oçÅÏ€Ó1|/‚Îû%oçE{Ūùû¼ùZy&Ê.òí¼Èè|‘X­„Û^–¾9¯¢´¼hU¡E4Æ,ÏÈHúࢭ±ª¨´ÚÛ§Ì[Dq¶ïšaÞ†ùRÂå­pÁ¢ÝŒ‰¸›Ç ŽáÞ„Î膛ÅBažFè~uÃüÓ’ÛM©TýÏssæÈ²l4ýG5f Çq 'ÑtFVÖ‡~HDŸË5zìXEy§ˆþÍo~sùòåȲüÌ3Ï$''?öØcÆétîýèÃâââ?þX©T>÷ÜsÉÉÉøÃ\.—ߨQF#EQ¯þâq/¼P]]}üøñ+W®øùùEEEyôQR©œ·`Fݘ1Fér=—8çÒ¥KAŒ òóóa«Ù\[[{øðáS§Ny<ž#F„‡‡G=Ãjµ¤RE*×5{܃ù§µI!|qyãòuÑZ°Ö˜!"'„Ëà«&{±¹.y]´„ÖÊüR>5'54*ÑX\^Þ<{uÓ^ž¹Â²yG:0 ò¼èËå7h/_ÛœT°>^zcH w}”ív‘‹0êXGs•¹E#Äa\º!*ÑXl.oŽY¦Ç s~%—¶>)ðV{–W6Ï^Æ íûÊÛ¸˜t# -7DfQ¼ö‡ÅàFE»À†$FA¾¹Öo[cy-oJ3aq!„0O#ô€“]®ë¾–$¥B:~|áoëñxX–Õh4j†!%‰¥¨‘~~ߟ;÷…øxïâÞ===”,{û¯u~~Ó""Výä' †‘eY­RqZ-Ã0nµZ©PüŸË@–EQ$)ò?rs)’T«Õ*µZ¡Ph”JMddø¤IIÈ’L’$A’ ÃŒ1âõßþ§ÇãQ²JµZ­`A²ÿõ_E—‹Q(ÔZ­ŽÓªU/¾ðBB|.mauîªù5:]`DjzFLvnöóÆŒ;]zpj^–577e\ȼŒœà[4ž/,ȲæfÏŸ#0Qééaì {jC£ÄüU/¶¤•¼uí™D]D¢©¨8eN]VÙ¦¬}ú=z» .Œ1‚üJ³X(¯¤²,“$IQ$AøžçóÞ”÷¥þþþ®®®×^{íÝÊJà7Þx2êI£ÑÈ2,EQ4M“$ ²,IßRä$IÿŸ½û‹ê¼óÆÿf΀Î!2ƒ”S˜*‚QXÉ3D…Bµ¡‚£±H²`ÍŠÙŠiîõeÜȸ®ll#®V|`QÇD I£¬˜ÔÙ0¨Ô¢Ì`=á~}ÿ@PPãáýj/ç×}Ÿû ð>÷Üs;» rp°··w°³·èïïèïëíëïïëï°³·w°··ÎÀÀ€­ƒ; ôõ÷ô÷Þ¦¿¯¯ßö¿{{;{{[Ío;»î¾¾ïèEð Ïs ;¯_¿þôÓO£)`B à>î;ÅâÛ–89Œ³±ýЪ‘h:ÏK¦OŸÆ²vvvŽRé ¹ëtç§î|¡=‘ˆÈ6ly¼Y6ˆÄCÛŒ¹ÙÀÐBÑ8»ÓˆÝïR}gyZ°ZFÊà%ÈÓ“Hˬ›ÿö{ZÀškt/§eŸ ÎYÁ0$´Ÿj|vßîmr2zi}î1‹£Ú²3ËKþ´BÎuèµMyÜv~ ퟚBÞÉÙÆš½´>-Súö¾ÝI’ÖÂ7埊Ù.ŒYÖ¨Ýo+ôݘ””àÒ¤;ßÑ-˜Žþòî»[>­‘½“ó'™?Ú¶>·ð«àQ£QîÿLcøÝ €<=ÉZÞgÓ›¯Ì{Ð*ö\³}{¯Ó÷$¿ö´ž¨<µÀgçizèù§'1ó¹š6÷åá $D$_´.XöÁy"2}ZyÞ}]úb9I殌ñÚ¿ÿSSLÔº`f»-P›Nm÷Š Vpuiç¤+ßV‘D±<Æ?7³²-!aðàܹÊó²å‰þr""yð:ÿì•çùE y­^® "’û‡{QvM¿xÁ­˜©XýöŸ—KX–ˆäþ+<(¿ÝBäNÄHýW/’ɼ<¤ÖV ×VsNðJ\d«çòuóssïŸ%"™‡;#s_á%±}M‹•Èsœ²Fî>ºP~d¸âž»Ï_¬ "’zxH­í–Ñu»ï3åIá#ÈÓS@Ï—{ß<†.àê.Z:-ë¿~“Ö£)7³R¹u°ïºçÊÑ̼¶¨íQMy{»bÞˆó0–dè ˜}µ¦‰Ñ½:ÇRSRxâ×C$–ù<³>ÐM|£î÷™U>sZëÚ:;-½.±¯Dx:]=þŸ¿o xÞ¥ésã5K÷Ìe1˺k>l2^µgÄ+±nbêj­))©ºÀë¹L³|Žثӑghlìú0ï@#×Û´3£)nûzölIá‡M–ê%'Àõqs&Å'ù0¿Çø«•Å`‡ª„QH™óD¼Õd¥¶üMû‡6d^^âµz0P»?j™¿q‘œ¬«`9üê ØŽ Vf‘…HjÛÏj± ŒB:¥2ÆzÞ6$C*“ –É0R¬£gÌæMŸîÏÝÿi›@D‚µM`B†Â)ÃÜV}‹•‘IJ¥Rf¬sdn-f†ÀÜ«,¢ñ ½¯ªí¿jËÇŽs}œ‰ˆØ™2Q×µ®gŸ9=g®öõ\=ÓØ3gÙí]¾²€…nb¢ãÙ¦.eH€›˜ˆÄž!!3;.rD""vÁ'"»Íq!îšíá$"eÀ9ÉÜX’øÈˆHä2“í⺨§õLùD,q‘³Ï2_që™V[¦œà?KLDNn,q\רª8±N\SÍ™/¯ÜèqöÕ¾²~2„i"";»©õÿoC>‘{ûñ£<™O~j%""Å¢p¶ÂC÷Y¡.õh+‘dîê岺ÂýG­þëüY"býWÏ·|Pø‰™ˆˆÿêhª®ð+~øà¬ÿj/ëñCu‘éxaù‡{Ùz«Ï:ÞÊ‘éÔÑóÒù!î#3&+IçzȉÈüÙ¡£m$˜~ì8íâEçŽ~j""þ«C‡Îëׯý—5º`¬VáwÈÒàQBÿô„µüXã§{ˆHì4tQă¹všìÙsðÌÕ¨¨Þ3=>1·Çi‘#k[ÒÅu‰XVt+ÚR·¥«‡ˆD"±x¬±ÍC°I$1»‡¨·›ëínÛûÆomuèíí&%×EnD"±ãpï8 ØsÍÖM5'Jw—^ëé¢}1bÎdHÔݘ/ï.=g[šžlJK[a%"©WTbÊ`´gx8S”o]ù–¿íóƒòð”ôÖÌì—#¬DÄx,OHñåáéé_¥e¯°12ÿ˜É‹Yâ‰H:ß¿5÷ÕÏ·[÷•É)‹GÍwí¹.~å©ì—# e2àø„ÿíÙÛwÌ}+fŒÚ³!‰ÉËwd¯ÿi¶Ì}þÊÕ‹¤…ßöôÇ.kÝ]w’x­X$ݱý…£Þzëv 3äé©ÌiNðœž#gmÝäë!¶ï)v(°N½F®wpA—¥‹eNbê|Ë::.|å—•;Ûôâö¸PŸ¦’ß'—ô‰X¥ÿúØy蜀IÍŽçñÙ˜ýýý}}}}}}‚ ð<éÒ¥ÀÀÀÇTÜåË—g̘a™¤&þþþëׯ?ýôÓh ˜ÈÈÓÈÓÈÓÈÓp/˜/à^øÏt?ÛN;ÿœñìгùÆŒ^mOþsrû«ësÛnß^¶òwëÏýûÛc,»$¡ýµŸ¥»µLêµ<>9qõ\Í €< 0å(Ö½ûñ:""så/_Ø¿èƒ[<‡V}=ær®Hµ¯$i®„ˆxSMîk;^ËõxO÷¬Í €< S’¹&'-÷ƒóC3?*1yËb9ߘ±~»eåJª«k·´[¥Ëw&…ȉøÖÊì´üSí‘ÔkebʶÅrâ>ÚòB¡üüókoo·zD¥§oY0º·–ÿêPZZaE "™ÿÆ””us%Ä}V˜–]xÎÂ1^Ë’“BÔºûÅMçÞË a‰†¿YÔ–µ~‡eÝ¢¶ÂS²ä’œE–£™iûOµYHêµ<>%1ÜSBÜg»Ó2KÏY‰÷E““WÏýŽÂ­D²1~~iîGmü³#ʼUb܃ǯ$ß8|jOi}ÿ®Ÿ–þ^ª-—›ŽþòåCáï¼»Nz×½dÉ%¶Æ€†ñÓðpLGw¤wO|§âý÷+Þ‰gJÓ2k8"bÈZwÎ3q÷ŸÞ=øN¢ûñ´ÌO8âs·gŸ_”^RQQQ’ìqjÇŽJ31$œ?n OÙý§wKÞZÞv8÷Sómýxv~Ûê·****ÞÛ·QúIå9ޏšÌ…´q_EÅû%‰î§ÒÒŽšÆ«"Ã¥î“éïUä„0¹¯å[V¿õç¿|ü^º]vZ©‰Ì•;¶—2ñû***Þ{{%{nãwù +A bF-i-Í>lÝøNEEEÅ{o­jNµñãTòÖ©ý×KÑ‹èÓ£çl57:Ôæ±.Xq¯½¦§`‚qç*ÏË–¯ó—Ƀ×ùÓ¹Êó¶Lçµz¹‚ˆHîîEçkÚ¸¶ÊS¯˜˜,±ÏƬv?´ÎLDÄȂýX"’¸/p'K»õ¶<,“1í­ü¬•“(Vè²¶=Ëòç+?¥E1Á ""ÖÝréùÊsÜ]êéì)!âÛ*OY½Ö-÷”± ¶í{ï­(WwôœtåÆ`IËcü…S•mwjáÔk?ûé°Ÿ½úõQ4oªÙ¿ÿ¼ûòp‘âR™ŒÚ*}Ôhâ$ž«S3bæJîRÉÁS“Ì_Ì jÓ©£í^ë‚÷Þ Æ{ÀC±Z¬£J†“ c=oHF$•É{]FJ‚U «Å*œË\‘=˜P­ä193x„Á]Ì•[^ΰ-+³Èrç!¥¼“ì?´£p.wÓ˃6š¥tÓ󥃇u÷_™òVüèñ%òðô·iÿþCi/§µKçGÅ''„3cWR6âÔ$^«ƒ™íGÏñϺ?j™¿q‘œ¬÷Þ §`BIeRÆj²òD[\¤î¶¸jµXÛRÁj/)Iݥ̢䒬ţÆpmcV¾|ç;‹""F*'"Ï[RWl!ÞüÙþíÛ·ïŸÿNˆŒ,Cš·¶ZÙ`@† ‚0f}…6ë`Åxsk»à.“I÷ ûF|”pìL.“ÉåÃó{Ș‡h´[ŸG;7|[Fø6ÛçÓv”ú¿=f%ù¯F~'ñZ½\úÚѺ¯æVZæÇ/’q÷±<$Œ÷€‡Âú¯ö²?TÇ™ŽÖ‘¸—-)ž?t¼upðÁyéüwÖcE°¬nÿ­<‘¹&G—õ‘y¼ãJX¹ +á¿Ú½eKÎgIäse #㾈>-Ÿ%©§”,í<qç+OYîÔð`é¹ý|Åqû_Û´ãx;ë¿z¾åƒÂO̶¬y4UWø?‘mÊ}–ñËm¶:H^seƒí|ïJJæ®^.«+ÜÔê¿ÎŸ½ß½àá Ž<<=ý«´ìõV"Fæ³3y1K<Içû·æ¾úâùv‹à¾29e1K´ agbvÚk/ì·MÔ“¼QNÄÝ«ÉÜu1óÓ2×ÿÔJ ‘l~Trü\ ;79½-3{SD6I½¢ÒSÂåDœu4íµ—O¹ËÜç¯ö`ÎÝq° ;2Ó^ûY®Uz-OL_ëIÏ”ôÖÌì—#¬DÄx,OHñ˜Ð‘ÅìüëÜÓ¶ÿl¿À0ĸûǧ¬T«¸ŸJz†‡3EùÖ•où³ƒWçûuj“‘Ï£¯&ÆÀÀ@_____Ÿ <Ï_ºt)00ð1wùòå3fØÛã=™ïߘµ~»%å½ Lª _ÿõëן~úi4LÑå7·‹øÛ?³ÐÞÍÍÈÞÞÞÓÓíOXžî=y¬÷ä1"ò®ùÍðíò4š=É‚¤÷+Ð 0`,)ò4ò4ò4ò4 O O O Oò4ò4ò4À“H„&˜äøO/GüóMaè[é,§ðT÷m!âïk}ìììpÝy¾?˜i9{úY ßûÙ+Û~Õþ쩆8£]Æ{L)ѳ?c=„GD½YÿÕÆì«‰Á_ÅdtñÔS“Ѷî¹ó«ƒÏ‡¯¸´»¦—nXŸ»¸ûb?Ñ•k1óšãÿÜKDÄ“|!ë‹~ó_ÚãƒÏ‡?w>ü¹ ñ)7ÌDDý¦¿´'¬8þÜùð­Yx´9 OÃäÁ÷|ö?ÿ°ÌcÏ""; œÿKÿ‹s uN–ÿ1¦Vˆ“*¼Žžòz÷u»£¯›jÈ1ü™¾Ï>ï#"ó§]Â<‘å#ž'¢‹ÖFr\1«;?Õ*ËüQåß¼*?R„tp5ûé¢Y÷ú7ž©ªÊ¿y½Ÿ7­1ùò![@ž†'˜psÛÂæyÍ! ÿ¾í…'ÎðZ#[äìïLD½ïñ²ˆþ3‰ˆä?uñ§îŠ/íDˆÚþÌsÔwþϽ^±3Ü¿àÚx2}~Ó:ï)/g{vàÜÿXj¾èá§½ô_³~>ÛÞTßå"""É3.1ÏôUÖô¢ù`RÃøé©`xü4õ›ëþ‘ñ/­É™ªÌŸÚÙ1³ì%DDý–ÄÌI†n³ä’¯n (M—ý·µí†ýG­žÖ~€û¬£WQÑçµÞ‘%ÑKÿW)ͳüé_þ®»!òÿ…«N'µ^ ¿wüò9ó`Œçdózyb$¸“Z/÷»}mŸô ~'vbüfËc,›}—ß.7oT^‘„Ïï•Ñg(kúƒ³jßþøN›5ÔçßgáΧáûÁ^îÿÔK‹:’þ§›ÿ©“m‰í_™3Y¯ôò$¶Åk3o¯p¶£Yì³ÔþÙ§v¬tãLFñLßîO¿‘_¯ðÍœþó´é?O#îâõŒõ_g,œ¦›eÏÌ“¿ûþ 9Zzª±û?«|Ò<ˆú¾¾òçÚ_;ؽóEå¼q~ÁX¯tht]1WÂŒ½ÞA:÷m1Cß eà ÈWh‚©…»xãà§î!·õ‹žý…ÄZq½îõ›*,uä>Ïž$ÌŠ…ýGÿÛJ‹œddï±Bܶçúg®ÓžEtíÉ?¿üþÅ~"bgIÆOO5?˜%ûÕϸâfçy"¢Þ®¿T]x9ÿ‹_ìýbÓûFÃM®\zíîoŒ—7•/ö’ÐiþÏ’/ÖäŸ[“ÿŶ*Ëå^"ê3T}õê_oMóHÔwñ[·ìýâ{¿X³÷«ß}>rõ[ùþÑ_|wÐ?=7·-lüš-zÁ=+–!깉üeƦ¬ç­DŒ«cÌ+;‘ƒWcÙÚ’ÈHˆ$ÏHe¿fùg7w"š>_/¿ IDAT)ýå/¬ÿ|!—'†ì=~:S÷SIä™}©‰¿ADö^¿pK;¶©H2}åì·Ÿ¿i](¾ü×¶?v8gÄÍ™'é«?y>¥Ò¼O;kÇ‚›IŠ}?wfH8ZÙ^?Kõ×O—ÞüÇïÞ¹ò_g3çÞñª¹ù?üÿé‹>k]ì…¢"ÇttÕò¸Üþzö¯'Š’͹ã šÆi"IPjYöAB-ã›~âìÙ³gÏž(Hðn;K0¶ïá¨tìn«½xÃßß™:?oäˆ)â® ®ìºp¼°äæÎ^"ÖcÉš­¯ŒnÔýþ? ʨ˜ÙuúSmÝÄúDmŠ ™%sc"K]ÉýYc·ÈÅçùú°´‰]¶]áF]Wjõ?l4r½"vvÈ‹1óœqý&ROWØI|·0EñM{tŃ}žò5ûKurý`'¨¹J—z,[3ªÿ“oÖWK´¹›%ºøâÞÏ–m¹ÓÙ :}‹D¡ ÔÈ’ߢ×%äÖ ¬Ê[£F—XŸ¿«ÙÄÄk[²ŠR½Meiº¼ÓF"‰T›‘±ÁGruÎ^›ÄEkÌU£ÉHÉù©êÚ¸µÅ‘EEZ¥­„¨$&§Tçó¨¢wGµnãŽ*3‘µ:/Ã`"Ï×GôÞóMòjUÉ¥ºHW""‰*(.#»em®jm¾ºzC”~ó± KÔQfû:°>5ÒÖ?ÝQ‘”YÕÌ ¬_tFVˆçŸË6îQdéÔcv@³*MBN.¿«zU~˜kÇéì™U-OÒ ÍÙ)Z•¤ãX\Ô?­¢ÞÐb6 ªØ¬¬ >#ï2t»ªZˆˆñÓ¦f$x×'Ffª ÊTDD-Ú8CBY®ãY`z€þiÙl–.Ö¶u]m¨ë$nC©¼ëK}AeçµeË‹ zÚÎ(¬»A$‰ˆÈXUÓ»d}Ì2×Tzðìq6¾QWRxÖØ=sÉš˜eSUS/9QWCIޑϯΌزuSˆËŶ­aâÒô•ŠÜu–¡o¯ÖîÍÜýáÕ´ ðÍÅe¦[ß2D$¡ÂÉâÓ£ßÓâŠkåÚP•ji´ª¾ÈÀÙÂdnZ›\Z}LŸ¥1ÌuTgf7krO+Û¿Unh¨%~É¡rÏÍùúT?IKqb¶qUþ±êcÕû7X÷$íiºÏŠ›j›3 Šô‡S•Õ{Ê[\µ*c™¡ÃvNeµÌR­ê¡Ã4w:#.2,L£ Z™T5Ü.˜ZÍÒÐÄÈÝËfÃi³J8rx ë« dšNÞ½¿£lGjƒ&çØéÓ¥ÉR½.Û0¸µÀÕg'äÑÖüqÂôPKzG.e›ªZùŽc;tUŠäÃÇŽUnær÷´Iˆ„fƒ"!¿H_–mÎˬêQ®.Í Î:V}¬úp"£×e?­š«*k±…mC•ÙO«F˜äé!n Xj«¹pÃÒt¶“<|œ†Öˆ”¡[~ýëßÄ…Ì™ã¿ÄSDÔy X޾QQÏùú?ÿü‘¥­³gÌ{Œg/9.ÔFúúG¬i;.uµžiì%Gÿˆ%s<ç=ÿüQïÅš‹ÔHRj‹Îž={"+ˆ¨¥Á82r†¢zUôRW"WM´ws±#"³ÁÀ©´A®Dä¨UK‰ˆo­j’kVyKˆ$>¡«<Ç}à¹ÑPeREGª$D¤ ]£2W7Go!´îŠ ¸%,£ÞV!©o¤š%"F¡b­-ï¨Uµ”:ˆø–²Z&ðáã4_Ÿ›v¤Ád6[­£;ØI±&;9hDÚä9“@rùèü)aU¬`æ„»5~Cy½|U¨„ÈU“Qv8ÙÖÝ/«Ru† ¬ŒÈ{‘°JF°r–æò&yôæ –ˆ\5Ñjsõi#ã¹J£’‘B­–·T·ò·ÊmVhµ~"r Ü æ Õ-ŒzC` Ô†2³:q&«™ßÃÉ-ÀÇñLÝ™Æ:Ë5òxч½X1´ª»õÄÁÊF#×{ç^ìLVLDäÄŠî²qÇ‘“Ìök×É…%ºFDÔÃqDÔ}6OwvhÓÎV®ÇßùmâÈž‹ÛB»ó~_ÕÓ«\¿õ%_ À"" ÙOBîéÇ´+?m6š‰ˆ¹D22NךjO® Ø1¸ÀZÝ¡‰Ì#g#³TÎ2Do9kÛ••ŸÌ#ÇÈÙÁ}W9#o  Œçë‡oÿüODö¶î¨Ue—7pEy-i²:N·§kˆ·bUÖþÛº%¬‚!ƒ™#’Œ Ù-#gÿS+<Ç;tvð˜ÖÚ´Lb|“å÷´<×"° ù€ÙlmÍ[«)`ˆˆA+9~dÓKX9#4s±·Ê>¼T.ÌI|µj!£¬estS¹É7S—òô¨”K|ÏžýðC"å‹>,]\~£±äàçFÇ…±¿]ï+¾°÷Í}£Þf½-ùrcn,f‰¨Ë¹u]ú³!fY‘haì–ÐÁ.P‘ˆe¦¿‘Z\qF0 Ã÷Î~¡žÔÐj5çH¾FêÇdîjŒZjµâÖ¶ÕÅÍê¬C£j¹Ó‰k÷œìˆ ”3‚AlaÒlæ91)#˜9žHBÄ™ÇO”R%+¸Á}…³À1z*®ZU^™¡Yuš4?ØCªÒ¬‰Uj4ª–¼„]†¡”ª¹cÚ¹ZÍæéO#o}Æo.«å|^÷–qð€ˆÃYẫ‡æ-fVEDŒ÷ëû“ͺ>ðŸYä ÅÕ¼o†Š%¹Ôûõ¢¢Q·\Ë`Ó³D•›k`¤¢¡`O• Yõðqš\5 ºmŸzCNÑëê¡(Ê*Æ šŸÍ[ÕÍÙIÙÕ-<QG½^—T.~]Ã+—3æf#ODÆÚ²QMÁú®ò6—×sD§Ó6Æïi扈Qø¨ü6gh¹\]QËøYºåtn’®Zµ9!ˆe½Wùõúzžˆø}ªNo«†ÐZ^ÕÄñ-UÕf•ÆSr«\?³¾¸ž#¢Žê"ƒ$0T%!’xk— U¹{Z¼µˆÓ€<}G¢Vú8ÒíqÚÙ?*ØÃ±»ñ`ÞÑó¯DÍõ^3-§äí>XG³—ļ‚ǘÀ$㩹ß1$¬&99¨%me@˜Îð=ºÐX¯‰Ê4k36û NÀä&úþUÉiNÄ+ÿK0H–¡˘èZ°a§Ã¾E¥#ó«#qí`*ÀXRäiäiäiäi€q‚€F€G«««ËÁÁíÈÓ0ù±,{éÒ¥®®.4<Â;´+W®H¥R4<‰¾Ý|yü1𠾕Ÿüä'h„IF©TƦ¦¦¾¾>´Ñà Ãð¿ðžzê)www´Lþ< `oo;ßò×Áÿ>óÌ3h €)ú—MðÀ¾]ÿ4Þ»Óô¿NC#LMèŸ@ž˜ø<"ÀƒûæÇ7ÑSú§§§§§yàñ}üñÇh˜÷Žööýýýöö¸‡˜l𣠜§ñq˜(ýýý}}}}}}‚ ð<éÒ¥ÇWœX,îëë‰0ç:ÀdÓ××'‹Ñ0QpCSÃ0}}}h€I™§†A;ò4ÀãåììÜÝÝ=00€¦˜Lº»»Ñ€< ðxÙÙÙÉd2«ÕЦ˜L¬V«L&³³³CSò4Àc7mÚ´éÓ§s‡¦˜4azúôéÓ¦MCSÀÂg³`j‘J¥ööö‹eÚ´iööö"‘ÓK–E„øÊÄ¢*] ¹oh›•üo!2\x"GLD¡ÇóvV¶Uè¾êïL]Ž—èO4]ëî¹,ˆˆY¢¼ªÏÌ;ÃÍŽyóU'¢ž oìn-ÜòÆKuGJ*êÚ:{‰õX²&Fë{[—t×…ã%¥'ÝD"—ÙÚ(7qOkÉ›ygÉg™ÏÙ39rT.Y¿IëëLD7Ž–ž½ØÙMŽÊ…Q1ëŸs÷|¹÷}Mlp¸GcåçlÌ› þN¸Þðh=Ôøi±[àó³‰zÛê®õ¥vïîÊFnΚ­[c¨±t¯þB¯rÉ–¨íì…."êi«½ÐK޾!ÔZº»ðl›SȦ­[¢”Æ3ÔXFØv,‹rY̦Ø5 èâ™ÂÝGZ{ˆD"1QwS]oà¦í[Â=ºg 6t]­Ø}àÔEòÙºõEîóƒ{+®ô‰EDÔyæçµf™žù¨õtõÜcòô=ˆXÖ‘¨—ëê½qáL‘˲ˆç<=}Ÿð îÆšVr[²¥Þ g[{¨Çx¶©›Xÿ`%ÏÔq$ò _6ÏsΒ𖌵#µ¥®¦hfèúÿy¾Ú5>"âjچšGD¸ÿ,·9!Ïûˆ¨·µÎØsõlÝ5"åóÏû{z><“:??3<Å#*NøˆÆxíð|¥"wgAÝÐuë¹Z»7s÷‡úSÍCöÚvuvv9º8‰ºÛºˆ¨³rçöÊ¡•W;9ñ¼À—S'.œmëb뚺É%`‰›˜.Xº‰¨ißÛ‡ÃYkgOÀð7Ü5ŽˆØ™¬­ŠN.ND\gW/9fxÛÀ 'VDÔÍõôtq]Dd<øÛÃØÙKNDD¬› z¦ñ¬Õ¯<_°{wm‰YÐ{öÀîŽk¶F¸á¶§ï_Ï•SUmD¢9J±£Å‰¨Ó%xË+ìà¡E¬Œˆ–¸œ¨¼x¶Î©‰#—e³ÄÔã$s¤‹½³_ܪõnêÈŠihæ1;Ó‰¨›»ÆÑ<Q/w•#rtaëÚÛyµ‹æˆ©—³t9²Nb§™NDÝʨ­1>ƒC¤EŽ.NÔöHn`\²çâ¶PÁî¼ßWõô*×o}É×mSÎŒ÷è5Ö~XQQ¡÷í8qD³×DÍs"ç9K<ˆ:?¯½`é²\¨*Ü[PÚÔEDäæ¿d&qgKÏp43d‰‰•KüYêm;óùUŽ3žÕïÝ[Xs­wdNóñ ºVQRQ÷eC¾ô"‘KÀ2åP×§ñÃ#5 +-½H$šà&vóõŸId¬=k亮6”ì-¬hëµý®"u”¯/Â4LYÒy{íó'ˆˆÈq¦Ï²ˆ5ÏÛææÆnéógºly3nÆé>ùúûûûúúúúúAàyþÒ¥Khx‚àyãÈÓá‰ï“ Æ{À$€Éä&9A::::;;»»»ÑðÝptttqqquueyžì0}áÂ…iÓ¦¹¹¹I$4|7xž¿yóæ… æÌ™3é#5ò4LIÆ"mÔ®V’¯),Õù<Þ¿.¼ñ´~O±¾ÖÐjˆˆ‘{«—jã6kÕ®¸ OÂßCâ²ø“ÂØ+=·ÖÇ©üØõ©aËUé' ÂX´4#*Þœr";JGº4vsòŽ+ õ•?ÌQ%rv #W=ѽ6Üé„È4Eþc¿/…‡ÑÙÙ9kÖ,‰DboIà;åàààìì|åÊ•á<ýõ×_s7{öl''§‰­[WWו+Wˆè‘Djäi˜zøú¢r©S¥™iUE†DuÐcê4ê“’ÊMŒ:yŽv8mÄ%&²ãâ‹ó¶e«Ku~÷ !æzƒ™T¸hK½AûèßPPjtš'ü‡ÉXÝl%^"ßoÝÝÝÓ§OG˜†ïž½½ýôéÓGvEwtt|Â4999Íš5ëâÅ‹$Oã§ ¦ÎP\ef£5m #œó „Ó<‘±H”hÀ¼Qß7æß“×^ww÷÷!LGêG5ìy¦`œ®¶2Ñj–UoÐHÉP\;2P³ Qóž¤\.4µ¨´ôpÎfUó‘ñÙõü}¬²šÕZI8Fï·22!.Rm@`Ô'lÌ,7ûmNÏÊÉIO•ÔHŠÏnâ‰\5Yû“}‰È7yaa–Æ•ˆ«Ö­Ý–g`C³òósÒµÊæâ¤ ºcƒÑ'wcRq-£y=+''9”ô ‰Å-D4X޲¤µ;Šë•Ú”œüýùéq*ã‘´˜x½-»3 ™ô™‚&9=}óOÂâ|ÉZ]dàFD®ò“fòÖ†ªˆˆ•Ë¥r9FýÚHˆ¨>7qšqøƒçÄ*Êw$é$Q­ •“©ª¬eä Po˜Àè ÑýÝŒ„Hh.ÎÔKW¥¤glð–µ%Ĥ1zÇ¥çìÏÏIÑ*ëG\ìñ ^kÈM+WnÎÿ ´0}ÛpdG¶m{¸UY‡?(ÍÝÇT•©+ÜØX–´aGq³R›’“ŸŸ“Êò¶Å¤]ûñ RDçæÇzI—¦ì/<œ¬–ë*—*ä ^0¥ OÃÓQ]P+H5Ô,‘Ä7:TN UÆ[©Æ–¦&kÕ*¥R—žìKæò=îžkGŒÍf"U ê#:¸–‰¯:6+%.L¦ÕelU©JßÂ-ö~ IDAT±JoË#Wxûø(Y¢–‚ì*«"6?'Q«Q«ƒÂ²òcÖ“yÅMDÄ7ЛÈóõÜŒ š  °¸Œüde‹u87íÉ«äkr³"ƒÔ~ê°¸ìÜX5äî±Ý H$Dæo]V¢6,,H© ŒV“P«¯çnÅé*3ùF‡*‰ˆ Ê>V},;hªjž3wÜ»uÑ"«dC†.ÒOéêª Úœ°”¡æªzŽ$>ÚU 2UU·ŒŽÓêhõmǙ٠‘aµ+q§sóÈsknv\XŸ:(2!+{•Ôz2¯¼å…­Øè”¸ •«Ò'lsœ'Qk‹:91ÌGéªTk72Ô\Õlëß“]+x'ïÏMˆ R«ƒ"srWÉÍåÙC?㟫ÊÓ›%’Ƚ½}TJ )#óUëï=Ž yà‰e¬*h ©&ÚWBD$ñֆʩµXß2j#©:Ì{8¸ú©$´Ì÷·öV"bÙ{õÔ±A‰ùù ·†„ÈUr"Îl«ö§«M$×h”Ä"¹F#'Smƒ‘ÈT_o%Ezø3r®AÑêáâ͵3I#oÕ¡r²ÖLÉNé+¹µs #ÔÝ*´”W›É7:pJNKÒš³òa©#G5(BÕ·>½.U²Dœ•#"Ud¨‚LeCz¨wÚoÌ[¹&T1xxcuƒ@ŠHjx­Ä7RÍ©º¾ã^…Úxjü†®+g‰_ÍðÝmcŽ'â[ªj­ä¹J-ç‡_UªPßá¸}Luø<"L)¶‰=V…*Žlf©¼øHyQÓæó° ùˆî5FÉͯµ£»ä$,CDf3wûŠ;pMe¹yÅ'ë[ÌÖáyÙÆLá¼¹ÅJd.Þ¸¬øöUMÏ -‘R5¢v¬Ò[NµCûš‰äÞ#ë.aUR"sË­SSJG}uœFZ[U|ºCæJ-UÕ&R'MÍYþ«RCoÄ ‘¸7!–•Ž\É‘­YU‘Zż²ÓÆ8•ҧ߃TÅÒl2ù*FÍ "U²Df³uh ϸ…^ßk%D̨›»[wZ-‘y×Úﺭ6FŽH~ÀÔÁutðÖ•Å›PÈÓ0eÙ&ö *ß¶²|ôšª ‰ãΛw÷ä0ÎZFá'§†–êf.ÒõnÃ"Z âcòšK·&'ªUrVBœA·1³eìcÉפgD*Gg;F®’PóC7ÃŒ|Ôë­‘V•×v„EZ˪LL`²zŠŽ˜fý5|+¡Òh=óòôÕÆ XƒÞ HC£}Çy©Ih"3D䛓ªao ËñKÿÔ«÷dæ×¶Úú}¤Þ¡›““7øác4ÈÓ0õîª åfR¬IO¸ÚìÅÕEnxÞ<Îdæièqžk±±·:ï¾öV4R….•9¹§Ú©¼m¥Q¯W$椚õúf’Gge OFm4ŒwÖGJd”¾~cOeå,g´ %?ÎØbìa”ȽåDæf3OÃó(Ûú»G÷Y*Ï;:R^^¬¯5úµT™˜Àdüæ|°@ªõÌÛU^k •ë ‚|•Öû~:vä ù`'õ­V79"o…ô‘VO®d‰Rúù©¾õÍ$L0ÝT¿1¯A bäž*9›[›«vmÁxäŸéäÒ¢À*í†zݱ Ò…e¨‹ô”\}™A©ùžÄyÑO~ò¼T`B ô÷÷÷õõõõõ ‚Àóü¥K—_qÕµ©c—Þñ³çÈj‹Ov„i‰ˆˆaNê’ØÍÑAJ¡¥,wW+)¢7ßz‡þîkGŨȬ¬ú¸mGŠãWV«C}½•dnn¨ª2˜Išž›à#!Rù2GNÈ.RÅùIÌõe{ŠÍš¥Òâ“ÍUÕõÊ ?«`‰ê‹‹Ë8•*HãªO*Oˆg7kT ×Tu ¯¼YÍë*­-ÏLÊ Ía ¾©üÀ³·”†²qìëKËvIHb£ƒ”ÔqºxW±™ L½ÛƒíT¡Ñžy»ŠËI¾F;â$¹Ó‰ku ¾‡§ÈÆÓÅEü·rud˜Ï} ÑPj6xïÊÜ“M‚0†U'¤ºì#™IGHî»jkNŠYÓ0|ß–Q$ÉËÌÕ§m;@DRÏÀجäÍš» V†ÆùîJk‡ŽîUåÌf«Ù÷óp@e Ö›2›I¡ÕÞÿs¹•ÚüÃLv枂۬DŒÜ[³5çõ¸Çp£ŒÌ)bò²÷”¥%‘ÔS½&%#!ò~þB²ê­›ÕõyU»vT«S©ˆë0[MfôWO.}ÿhþÄÖ?mû¾«­î³+ݽô·SVïçžýAïåsõ¯u÷Û“hÚ¼>ã&!Þxæ¯-.³$__éš©|æöxOS}³@äy[o”Dµ*P^|ÄdhâHõô¬‹ãlýÓ¶ïôÛO𬆵 ù¹«8}ZÚƒ™çŸÈäôÄ W¾)cm’ QÊÌÑET¿zv<áq01ÆìŸ œØØ]¤Ú%l=\§úÖk¿‡½ MÙQ1ÅòäÒ¢;®£,ne·õ°þ 9g¸Á`X¸p¡HtÏ´žö3'¿dÿöî?®‰3ßøw&ÉL•%A¨mƒ¶PÚ°Zh]ضÐVYWYÏJ=•z·è9‹Ü»‘×}ç^àœäžÅì½JÏbº—â^6¸6z\´]¨g¥¶Ðö@kIWÉVa­D%ñG¢’áÇ ÉÌý#ˆhñWëo¾ïW_}a ÉÌ“yžç3Ožyæ[ãÓÁ‹]WÍ÷OGkODrJ\xðâ_?9x>*é™ySe#çºÚÿ2»Ð8Kêéøè0¯Mx&>G°xÇ·-_ñVoÌ/÷ìZuEOÂ*{)÷=6iÓ‡ÖÅ×ÉÓ@૯¾JJJ;Ç~¾vG¼bß›WO÷m»r¾µkÕŠ¿ø z±¬È=´¦Áº<U¯Ê?ž¿×²°Ï²"gßÜ ›å¥ÈÖŽmÏMÁñi„þƒÛÌÛÍ7U®Š7»›Y8÷»/Óà?ôö[‡!©ôU ÓM÷çº/ÿ“šù̳s¯ý×A¶ïl€™;U²ÈØYTûÉóܬé Àé mÒz{wí;¾|͸ùjþû°1 ïÄà4¸ä‡‹Ê/ͦS/®ÞYyͯÝûø½KÀ‚åËÕ«öå2ÔÜåwq‰WÌÓ=4”ZeßgíËÛèýÅò$%wtï[oõÂÜ_¬ù.3Y¹s‡TbWm*=˜[þÑG¿Îýè×Eñ—×ô9øöï.2ÝþÕŸ(FyS¯J+cÕÌóÅXÆßC‚;r×ODñ0A“ÖéÓ§Ï;7<<<þÁyÅV+€÷àw¿áoo•\.ŒŒŒŠŠº}û¤\°ªrÛªÛðB‘K¶}±‘›:f&¹;p£ ð H˜hµôàq·_­SJ‚CgŽ~}6â±x f‹‡MôËι{ß~kû¾ÏŽzy`´óÿlÍb~[ñ[‡·ç­ë6ÓÝ_P•‚ÐŽµ )·7èKz)Î}jùõg ‹LIw½„ð˜G“7ùýþÙ³g+Š{µ CCC§NÌ"xÌ<¸ð0žŒdS£#„¯?ÿÈóÌ3%Îuvu¶ä3W+F°ˆ>ÊyKLÕKLW<¶°ŽÊËýõáíyù±{nû2Ô7¹àÕ¹æ’.?X×`Úôfyqîb3 Nz³ìžÜz ×÷@÷̽]ߣ««ë~FCCCÇŽ‹ÇãáþwŸ3÷g¤ÆÃø~vÓë{ t˸# ÅÅï)ó·”]cõÕ[_ßãn×\ß¡ïnxxø~F …'à1ó ÃáI‹ž·Ê²k–‰E€B!„æi„B!„0O#„B!„y!„B!ÌÓ!„B!ÌÓ!„BažFè9¾mùÓO¿d9ri¡vîˆeÉ’Ê#ô5,_l:ˆë·£[çÿ`Í¢5LtGfî iñò†¾;ýþ‡¶å/YôôÓO?ýRžåÓsø<ìär9.hˆî•ááa¹\>þhºO¶mhhhü¶ažFèNáŽìÚ /¾ÈØ~“3º]”‹«?¨~IyÞÝÿ©9¼ÙðÉŸìù%³·Øü©?’‡[DDÄ… °Ð=qñâňˆˆ±FFFž:uê~ˆÔ¡{»FFFÞ–WÃû¹ t½8}t×zyõ›tqÞöÃÜ‚$‹]×¹ÊòÌû¼´zÞó/RH²îú™¿li±rËNÓ<¸C¡Ÿß<žÿÒöŸ}°í%¥ÿHCYñÛŸ¹yJ»Ød)]¢½œzYÖl<ºªnËòhúмòò·z9Žš·¤¨Â´(’;bY±Ñÿ³ÅÞ}ûÜ}°°ÈjRš—˜c·íÍ8^½|ÍqÓ^Ë¢Ëñ]ý¢©rþ’X zÑ’yüÛn?€?»‡Xddä±cÇúúú"""ðžDènÖóçÏûýþÙ³g=ÇŽ»çß™ÈåòÈÈÈÐö`žFèŽÆéÃÛ?S/36~»­á ?i¦tþOÍæÏæU~P¹ˆêÛµaÅ¿ÃBêúء꿣M;?]¬<²-7·ø½¤ºØÐ/úöoütQå¶+Â4pGÞÚhé[Ó°gy,ª^•oNÚkYîÏŽ.ܹͤôÈ_RýÞšmË“ü–Çó×Ä?pÀ›dZ0þÀUÎ[¼d,´ï;®Nš¯ÆîáFQÔìÙ³Ï;w?„4yÈåòˆˆˆÙ³gSÔMaTTÔíJ±÷ÌÓ];l8û³_FÀâŸÍ}{ûAÿ¢Å× Ô{÷î-//¿êÁW_}µ¬¬ sRœõ}væ—%) úş̵¼}ƒ'¸|æŸ_¶0æ­©ûàg´€÷Ð[ߢ~QgJºêpsï;à_Xôj, –/W¯Ú{”[È0ó—$)€ÒÆ*Ùã~jùòÞ·>í[Ý÷é^öª8=.7l,?òâ¦móh<Œ'C¤ŽŽŽŽŽŽÆ¢@ó4Bw7NoÿÌýÙGO—Œ>À8·xÉuõ’%K`|Á2¹ð^žVŽÃPJ5u£üí÷÷@+i€ïý]I/¨­ …^˪Üí½<0I ¿ðúÙ6¾´8ôžåœã •W¾•rÁòÞ·?ë[¾ðÀ{ìü_,Pr‹—æíó¨_´î©L¢ü«ó‹?[Pºí[ac„Â<ÐmrîÀö£I›>¬’öjZñöGç–¼zÝ'Ï"˜B&JMq}üèé˜ßË;póã/k¥•jŠ;~éb@ßqN­ Ô¯n².ܵ¦ØòÒβ$å¼_lÛó:´2ÒëV3Ï`IºbFõ¢LZ>×»íàQØçŸ¿@ tR‘­ù—t$ ÀÙ–_|xñ–º5óh<ŒBè{Ãõ=šXßGÛÌ]~ù wå‚åóïÚwã•Ì–,YRZZŠ)d¢£ÆÂá½ýÜ‘}Ûò¡ÐËø»yðÜ{²µ‹Ò·ïëàŽ7ä­*þÈ ÀÌ}©¨lþb˧~Z©¤A»p‘òpÃ>€sŸZB¿Ÿ2iù\÷öm î¤Uó•£/©àY6Üt0‡1BažFèöÄé} }ó^?U¹`É‚¾]ûzoâÉK–,Á2)™’müá¢Å+~}DQEQ©Tê÷ûƒÁ R©¼ ïë÷ûÃÃà ‚ÀÖ!l:0O£Ij```pp¢(©Tê±Lzp»ÆÐt‹ÁÁA‰Dr§G©±õ@›ŽëÀëÑd!Bhš‡L&“H$Ø"ô@#B"‘H¥Rš¦}>Ÿ(Šwºõ iZ*•bë6˜§ÑäÕßßOÓ´D"!I<ìzHH$‰DBÓtÿ]h=$ –9BØt`žF“×ÈȆi„>¡k!xžÇÖ!t¯šlÐ$ÊÓ8롇OèÛÛ‘‘l=B÷ªéÀ<& Að»Z„J‰äŽ.­BØt`žFèòÉ(BXµ±õ@ÝÞzy!„B!ÌÓ!„BažF!„Bó4B!„B˜§B!„B˜§B!„Â<B!„æi„B!„0O#„B!„0O#„B!ô}I±º!¹trÕ”á@?t„n‹°°°Iµ¿ƒƒƒø¡#ÌÓ¡‰–B!„0O#ô4=¹vxhè»=ÏÛ´n™Ù š¼úwsbîèzßXfáM;~Ÿ¥ý^¯ã¶¿¶²š_Uÿîº+¶—ëÞ²ríNUÑîwÒ<›V®ßã»ÆÓõEªs_'T¼¿%•µ¿¶²ÚuÅã”JoÌÈÍÏMÕN|`qîöֺƧ‡Fc0fçåg'ª±2¢‡×U¹r}³2VìÞ”ª¼³ïT¶l}›qóûe‰ß½]çÚ7¾RxýНÄó4Bè*¢ˆepz›mNJ£ÝÞ½bcÜCqBë²K«RCý&ï²›«;˜¥Eù©**tõzjvUöè¯{êJ¬NݪÒüD&ôd•A À0iE¥Y €g=®V»µ¡duOéŽMéê ÎJJV›;T)«ò«Rõ*Š÷¹œûmÕÕŽÞÍõ±—F!¿ÃÖâcô*¶ÃÞæMͼïOiC^Õ *þ½*ÉÖ+­‰5¿¿Ã#ó4B˜§ï®»ÑîbRªLŒ¹ ÅæÌÿ>£?÷eLbòhÏÄ©Ú)è`â©Éãú{õ¥Ÿ9ª‘P%““¿Õ›2CrâX—œš¦‡eÍuÍîôœ«ØÝ-¶^“WU9Ö!ÆÅ'uüzKO«‹KŒ§ñPCo‡­×›LÙMëÍöwf¶ö¾oâ“o¢âßýfØÓÞÃò‰xHažF辄ó§o¢wÚš}ª´ì„D&C³g§­ÃŸxéO®}ã+…®¥y`¯Þãðñ@iŒ+LEëFS)×ÛTm©kqxX 4†´Ü"SfÌhläÜ­uëž ÀèRròM9ca–â}­[Ì–¥KÉ+*ÊŽ}KoûV‹µ¹­ÇŒ>-×dûÕ}Ö§ê ÙÕíáàê9¼w‚o‘•Ée¿÷ò?ýÝMÕÕu-@i–æå¥kià:‹_)èYZ‘ã©¶´ùŒEk}æöŠé,þÖËJœ)›w—%Ò\ï~ku]s‡‹ T†´<“)3ކÑù.Í &ÊjnvéKwoMÇ©&èŽq·Ù`(J‰OQ©{coöØÛk{mµ•)ªJo­®ks±*}F^éXám·Y¬öŽ¡ÂdÊ›åïn¬¶Ôµ8}G‹×]ƒëå!tbrý÷ø;lm¬&#;ž†˜¬lßakóŽý’¢<{,v*§f÷Ç¿_›¯s4–4º¸NËzóŸÑTS¿cG}mi ßl.°tq¡Wm7¯-ið%˜jjëk«ruNkaÁÖ^nôe]f;dUÔ××Vå}mÕ%uÝ€¿³rmaƒS•]U¿cGýæ\£z}mìi߯³~î <ÏßáCÊ×å`4ªo÷Óšô4 x¬·4uöú'L…kÍͬÑT³c÷ŽÚ¢vgùZs»¬¬}mÖ&&·ª¦&?åÅ,=xZšz/N{¯JË6ÐàÝ_¾¶|§KŸ·¹~ÇŽÚŠlªÅ¼¾°É @Eë°Úø¬ŠšÚ"#†itõ6Úz(cNŠ” Ù)Œ§ÙÞÅo;ÀY]Ý•ZZÿÿÇŽŠ¶Ù\`éäFkB¡Õ¡Ê©¨Ý±cGýæ<ÓZ0Ú®ôÚ ÖZ:T9µõµ5E)ìóúòÖKë°VwÆçm®¯¯)]¡rî)7ï÷Þ¸rÝìéASáZó6ÅT»c÷îúª³¡pí¦.(ŠpX­½™U»?þxGE ÛV]°¾pŒ©þÏÿGmžÊ¹³ÜÚ{®kËú‚j§>wsm}íæü×Î’õÕ]×]WP²³'TqwÔVd3mÕæV?€6cs½I YU³ûýš¦ï*ŸFè&âô$[/n=MzÛl¼>?+@›–c¨6Û®úÚV•fÊMÖÒ—•Ÿk[mµ·¹³²µ´!¯¶>—ÒhÕ4€677ag‰c¿‹‹£Ý-ÖV—Wº1= ¦¨Ôm¶ó.BƒW¼*·tCºbbò–ÚÛ=,ÄÑÞ–êf“QS‘O€6»¨¨kea]sÅ5¦ xv®eç«nk™r¡wç¼ÝmuæFËëJtܺš 0[vš;vP*}‚јšž•*<àºê¬N0˜*6fjÒ7Tø:VVW7ç%gkžOÈ7e†&†0Ù‹¹¥©{ݺ8o‡ÝªYzzë¬m¼fUUÙ臖SZÔ¾¬ÜjïNÛGS¬.Ï”Œ¶ÑÅuÙ›=LJ‘Q Ê„ì4UK‹Ý™?þï=¢ IDATR}®)3N ÚÔ<“±¹°Åî4%&ÒÚ´ŠúÐÄ„j†6+7ÍÖ¶s?K«ä:ëêz¨”ª¢ÐWʲÖNƒÑ9ÎÆ¢¢ì8brsw–ô´{¸t5\·rݤn{ƒ×›*6„F¼ÕÙEEË ›ë:ò6¥†Îô¹¡k‘µÆ¬ª¥ 2ó²ã”—‘¥·Zœ=>ˆ×ú;¬;=ª¥5¦¬xbL>¾®×åø]öæúLJ3Úd®ÈM±tìïáRi¥Š¡@ɨ•Xq1O#tß¾ëz“†»Åæ„„¢´Ñ.G’sõ×¶@é’uciV£×QàèôpÙZš¦X§­ÎÜáty|ìhWñ<p®Ö`Ò šKOS&n¨ Í ôèR c§Œ–ày€ëiueL×½›Ò®‡g«‹Kœð"I&­¨"KsEøuÙË-m·±€< k_hÿ€Æ˜·¹ôZ]´:uݦÔ\owGGG{{»ÃÑÜÐÑÜP­_Uµy]¢Òãp² KM¸ü\U‚Q;[{üÙÚÐe’úÔ±¢V§d'@yKS÷º¸8¯ÃîM^V Þ‡TKS/ï·Ú®‹Ã郸ÐkëRõØ'£;Ìï°5ûT9†Ð!KÇgghöì´9.ÏÐ%_>•šD t¸z|¨%åÙSm)qº<>Eãáq:YÐ%ëÆž“U\™ÀP†Ëu„R©˜PÛ×­\7Y¼=N¨V.ŸŽ+õ©:hsuz¸T€&ql³(”F©R À²ühãúË&—SV9ú#Ã÷Ø«ÍmN—‡eGw›by<–0O#tßûnS \·xý%×m·¹\æeÏ™Ç?ÞlïÊÝxéú9JÅŒûÅP£=˜Û^¸¶Ú©_ZTj2h†â;JV›=¡T˳£=Ì5|ë7|èY<ðm…/7AžÖ¯\/i¥nk‰ª2JG#;EQ£‰¹qçL«ãR3ãR3sÀÛi+)´6”×¥ïÈ/ à³®~Î:Áþ©F ÷òÖ+ÙFª¤­©;/.Ží°;A—Ÿ¼ðíYÿž«¶´—åÆwîèA«»¢(Š‚ A’$7Ý|‰£_ ‰DBÜvÏÛakãö¬½ò@ôØÆ/óqEãÊœ<àï¬\]Ø Æ¼¢Š½Š¡Àe[_ú¦‰ã½üuà ÛŽ¿^åºÉ<ͳ,£¦è«7ùrâ½êÍ)j—á¢&ú•wÉÚòUZ~Q¾Q§b(ÞiY_Ò‡>æi„î¤\>¹vøÖîpÆ9íÍ>&¥¨*W¹ñç]¶Âòf›#¯rtÂÏŽ‹³<ϲ¡NÆÝÒèM^éÆÌÑ@ë…˽¥¢ t¥Ñ- TBQM¾ºòqͽ[ƒRéããor+¿×Í3£Ó_F©Wä§ÙÖ7;],mÐ2ÔªÍU™ª«ÞB;:öv%eB¶‘*lkrå©z`ýQ1ªŒŠªÝýSLèvøÛßzþcß …béÒ,•:RÅ›IÆ¡ ~öì™´ôõ*ø¯ïƶºÛlЭª*Mw4³æëøùb¼PÏ«Cç´·°”±ª4g´á)++­¯¯<¡$Oœ8q¶ÖÞìCÖ·ÖQ'd'Àøe>\V‹­½×ëuw5š«Z F©KÖÛfkéözÝ]û·V³F€¯³Çíçèøœ\=8Ìå[÷wuww6m*©îðhÒopEÀ­W® Ädç©kùÖÖ.·×ÝÛn7—·ñº¹ ·t5‚Ò˜»Tö”›í­]Ý]íæ’«O×Ñ*ƒAžF{k¯×ëîlª,´QF€«³Çë‡Ðä_kGgw¯ÛÕánÂñi„nbÈG&›\; Þüß¶Øœ Z‘¥ûVÆ¥ã²24;lͽi`RL¹Lcùêr”ƸjsQ¦”ɦЬ¹¡peChùتÌÃZ½v½·¾v]rQm…Êbµ® ­?½ªÊ´.޽éà5{¢ÄâÚª‹ÕZ°Ú”Ê’¿Ù”ý€Ü/LYY¯i¬³Ù›-- <ÅhôÆ¼Š¼©¡ñ.mÖæZªºº®|­5´ê®qiiMÞuâ õÙiªæ>*%{\Ÿ®N/­«¥Î²~' Œ&!­¨&/ׯ{Ðót¿ÿ£3çOÕ:zþüçý‰ô·¿ý­J¥ºÎõÁƒó›ßìÝû¾B.7G;wÎŒoþöõ¼yóîôê$äO°£Ú˜m¤JZlŽü|}®)¹ÓZ`íñ¨ôE¥ù¡5/VT˜ºK¬æµËF×.Mp™%Í…k};6¥fo®¡,Õuæõ rå«ó"óXÒO^[{ï[·ýµ•ÕTÑîwðDÝßMŽO#tÑïˆz “0<•!âõÓ´(úO¹<žÓÛ¶ýNNKŽvsöìÙ3gÎrüˆ(%“0L¸J¥’ɤÇ_†††ÂÔ3 ¢—g̱7êsŸÅÂDó4B·5O×þÝØÚr"Àä[\!tß  ƒ¤'f®Yù´ûÜÈ)ÏERôÿûŽ·õjãgœ(ùo·;ü,—»"A ~ÖýÍI8Õ¯‰xâñ¨u«ž`ä’`0Ȳ,&B˜§ºB“Åk„é  ƒ ‚D"¹jÑVLÖ@'Vþùc,„¾Ãɼ(^n‚D1tu4\kméááá~ —I–þ06ññéÇOö?¦Ÿ®‰¤H  ?ÿK_÷±s·ä±çÑR !044rÚ;L¤NÖ{ª?(C÷IžÖfÿþãl< æi„Š<ºQA!Ô™öp‚à÷|ýÙé)3dÚ9ÓÂÂÂ$AŒÞLõ€í0®ˆÐý‘¤GFFFx> J$’$Î=ûõ‘¯e2ÙÌ™3uºX¹\>>p€T*%%’ÐÙ<%!çÌRΞÉ‚¢×7|Æ74#B®žF¿ü|ìçªð‘ I€„a´ìÑèÑ«®I‚J`èV.JFažFèÆ„áaƒÃÃÃçÏŸW(äEËdR©T*ÎïçGÎn„ ÏÒ<)“ÉH’”J$´\®P($I(|¡>gƒ „n"I_¼x¡§§ço=ÝgΜæx™LJSÒ#GŽì}ï}š¦Ÿ˜?ÿ¥Ì—ô£ôèèY$IŽ­0&‘Ò#Ñ/ÔD9^èvù?úÂ30ÈI Èû;CÆs:Ít…z ¢8¾EA€©„”IdøA „y¡ÛÝ¿‰¢( ÇUoÙL’’œœU*•Š–+€‘.|!¡ìÅáÃÏp=49$‘‘ Z90S¯ £)J&“I¥R‰DB¤äÒµ"NAM䨱¿½ÿþޮÇGFx¹thGCÃÑ®^ù¡ÎÌ'AJˆÈà ÏK}RÞ© ÿ8•¤€Œ Îä‡âú…„3`ʧÑááá …‚–Ë)™L&“‘ 9:/;0„&i’€@ `µÖ ½¾&7)ééÐòÕAˆ¢˜˜˜´zõßK%’¯¿vúÎ÷‹¢8m*sá‚ïâ…ó‚IJ¦NS}ú%»ý½#/¦Ä<¢ $*ü§™ÊH‘Q ¡×# (ˆu¸ìŸ¥ˆ‰ffE)DnD8ßÏ?«ŸB˜§º­ýÜ¥õ§I‚ d2‰DBI¥Ï<ýôÌè™möoöžÞ·÷›uÚàãIúlâIä Aˆ‚ôȨÓÝIÐv‚û¹Ùýìãî‹ â\™t¦"œ  S„…ÉiZ*•Ž]숚l>ûôSgW—ÉTøÌ3F¹\>¾)P«Õ¯¼úÊüùñ§NðûEQd˜°é‘ÓõqqR©,”È ‚ÐDÍðùÉ?î?!¥Â3S¤Ú銠 ºÏ q#—gØøTàœoP*!À×Ï9»}3µáÆ'£TS(Z&qõ±ûÚz¸8{Î\l…Â<ÐíD„®—ý @ˆ"A’#Á %§"¦iÿnÅš®›æúä@àßš¡ÿIÉ‹OI~4bhb )@9ÈÈ!YØayøá !Ä~–§ÿÄù§åò9*æÑéSÕ2éhż´:II—Ư‰;>Eä:ëm#„šß¤ýp±!ÞpU˜ýí “D¿ª6E6Ì_ûþð§o‚AáÃÏŽs’¦$¡§}sÂLjšéÌÑãþÅÏh’Ÿˆì;3püd@¤­ÇÏ!ÌÓÝÞ@=Ú« ‚ºM:Ïó~–õœðž“„©‚¤”œC>o,¦¡[øó6¾°ÎÈä%²Ü¹’Ç)b @ŽÞðˆÐ ”Kˆr±â=ìS§N®yN§’’Q‚ IBJÉ©DB…f…\BQ¡é×$I’÷ç l„Ð-EñìYÏW_}YTT1Q;D|ûçP’fYö‹/Ú››?8øEÇE_ëp^7SM?/¢ *ìb?ç9{á¯Ç+äR¶í蚣›–œ¨QÈ%SÃdrZ2[7Õ˜;LM•Ëåø‰ „y¡Û§EQÅ@0Èq\0:ÔzÊï *"…†›õ£wãT‚,‘|åô+$ÁŸ¿úÿënÑ¡æyYÆ*êƒ(’cy:´¢0<“‰&éçý·NÉKX"È’0HÀ!¥üÈ4ÉУ‘þù³/&ÆèfÑŒ2,,L¡P(ärЦ)Š’J¥R‰$4‚Ö¾j%¬;gÿºçÊW?H«Þ7¹Ö®nÊÙñN¦ú;¼*×½iåÚ=|ÚæÝe‰ômÙNëºeÕ©µïæÄÜÚvlY¹Ö™ÿþÖt奇zm?]½?g÷f¦ä•‰vüŸ7²ÿ³r© Ê_)hãÇct)9¦¢œDåÕoÙd©®kszX€ÒÒrL¦¬8káCO„S'û¢¢´êÈé‰ôúgÈcãÓìŸÞÛ»}‡ýÄ7]úh.óI˜;ShúÏà_O]üëß¼óBSÒ)aRItxö©¨9ÑŒœ’„òôÌaꈰèÈpe "xÎq´¹?üâ|rꢻºçÞ¦ Ë̽iÇ;YÚÛò‚\÷–Õë]¦÷7%ßBÅqÛ_[YíºúQUFÍŽâø;Wÿ¼í]VúûíÝ¿ne]zýï³µX+0O#ôPñ¼(ŠB0èï÷·ü¿îÀ°„ ….C<2N|NFûO7*HB”A4H dÒS Û\ôн ~òOƒ?¿(žŸAFÍ#õÏJžN•>¡!Â$1@ŸRœ$ÄR"`˜Gq„€BäHq`@va€ù¦{FËŸA” ^­™¡|4Ö÷dÂàcñäô¨ððð°0…\® )*4zMdhÔ.͹C…“¾õãt®}ã+åÌæÝe—º·ë{„_‡­ÉÈ€6[‡?1Uy?Êkî8|œ1áã\'•²ùýÊD8og]aaa¹nǦÔqg\Wu¡¥'£ª~K¢€s·V”Zôw´GG÷I;#ŠgÏy£4Ñc‹ß]ç/EQäyþã?úÕ¯þõ‹/Î ûÇË 1% s¢el@NËd´L:qg‡FÞ}¯kÑS³Z??A^j †àXï…ÙÑaωR ‡O1&/¼›;în±»V]öÆÞ¬u1÷¬üÇnÅèmzcY±þÝ»±-~‡ÍÚ”“‘®_¿Õ)U;Œ”«æi„6—i¸’I{]?<Ì ‚(•’AºOžæÃgÄK£ÎòXž·¢4;N àÞ¿©<ôz”Ƙ[ZšGÃØ£> tƼÒÒ¬¸PÇݱiCa‹ÓÃ2 «**ÖÅ+Áße7›ë>J•]T”—Ò;­NÌÍ3î,irq©êË%Àzz|ª„tC¨/¥µ©ù5;r( àïÜZnÞãÝÓ¢¢¬8šëÚ´²Ä—mtÙÚ¦.ŸÿÍ®°ŠKúîÆ7VÛ3ëŸÍ\÷Yª¢[îÏ–I) J¥R¸öô­Ð°4ÏóN§óWÿú¯{ß{o``üƒá šPPAˆ@Â\©û¼ÿ«¿º—¾C’"Að\ð¿ÿêã/ÓR‚ Î_êsÝv»ÏXš“ÕÔVnïÊÝO×U¹²Ð—‘‡Çça™4SÕÆT5ŒÖ×Àè3LSÕpùQ˜„¥¦Ò © P¼kgqµÝáòñº´¢ª²tíM5>ßN¼¶r‹Íé£(}Z~ÑÆT-¸m¯­nÍÌÕµ·:].VŸ[šÍÛëö»<Þ·¹2K;Á&©ëm2—[Û\,¥KÉ/-ÊÔôT®-w°à\ùÆÒªš cßByÛ CãÓ—+/Pš”¼RSfÌìmßZnÙãôñ*Ê¢Šu‰ÊжeåéZ÷÷x<ÐçVUd_ù¬‰ö¨×öÓµ­i+TŽ—Ïç£ò+Š2¯Ñ\síÅË,ªÜß~‡Ëãñ©ÒJ«6&cøÇ<ÐM ) B—!Êd²K7øEQE©B1-ªÿ‚ï"»~Èec$2"êõþ3¿ÒŠœ€Æ&Oë$qqý«ð! ²¢çpÐá|uH8úáÈW½âÄhPHÕ\BŠXè€Ð‚(‚blŽÀhÌõœ’ÀsÖÍø=p´}¤cªo¶á\ÜSýj--ðÒà°(ã5óèi‘ Ä…)(ŠݾñªY×c÷è·ëzD¾§É_óÇb¥wÿÆ•f«#£2Ùc+)o3TÔoIVsݶõë wêõ w›ÍeÈMÓj!'Ájmqg†¾ö¤(ÞÕšêßITrݶµkË÷Ÿ£jµ˜[T¥;þœªöwnZ]`Þ“òN¶¶×VhvfÖ¼¿5ºmë×—X õ¹¼§£+yó»µþÎÊÕÕmÙ[Sz,…V6¯vwV ím-[[hÖí¨¼kñ’(æÊÇÔ†¬Ÿ¹°ÏÉJ7&bÔ´ZúÒ×ÛTR¸‡)ªýSº–s7®-¬ÖïØ¨§(ð9ÚãkvÇ@gÙ®’F'—˜H¸Ûì.]vŠÖÛ´áúÏÂaïûé´=R­:ï;ºNãªH=¶šÞ©S'ßÝñ‡-[þ~&±íÌxç=Û—ç;}úœ¸YA)Áµ-ýâ¨äP7{q°ÇušŸ¥òãô qáÿö/Ïÿß?|íìñå­š ð [šŸœùü#‘ÓèÿøäÔm'=gŽŸòÄð.+Êúñ còݘõÁ9m-TÆæxu “ÅØy•ÉJ X‡3¦~ë-x[‹W—›SwoJðÔ•W»²êßω¡ÝëV›«Óe‰|»¹°Šêÿœªö¶–­./ßQ¥žuš?Æ)Ýo¬®¶u§l¤vÞ¸ñùVšn5—ØÀTû§t-øÛ+W—”ÇÕoÍ xg;Sºe«Öß^¼²°Ä^T¿õµ¿uãJ‹­+c£Îñ­MÚbh+7; 5»ß‰Wz[‹W—[ÚR¶¤›*Vt¬wí˜xbJïËN6wÇŸ2ÕÀõ6š­m®´˜qS¿¸Îêò_ÿçLm¨E¬Kß±!(àMPT³5†ö·—­,±:–VŽ{ùkìP¼³MY[ûNíïÜ´ºÐÜbÜšÉNÔ\k(à=m]‰µ[7¨C“dšs’spj æi„nLà8¸4h ¢8ÖË‘¢8M¡`(ÙÔ°°©ÿpÁóê9Ö32ì!!Hˆ$ˆ¡0L€(’" ò"pJ‚^$™ŸBÎ&`€9ñÂÑà±Ï…ž/…ÞO„S{ÅÁ À B@ D,È€J Èybp†œ&ˆSI¸(JE DBAˆœå}ìI’ªOuE?HR 4!(ä碜Õ<}V+E‡O‘Ëå%“J¤ä¥+¥‰T&»غ¬ìD%¨ Éhò±àîhêÑdW$«€ŽËÈÑ×Õu¸sb®h‹{í¬±È¨€„ܶÄÞ½ôÒÈ*-Ë Zg4ª¬­=ÞœôÔŠÝ  T€Òj Úº}@G“G—G@\NÍ¤y€*%Ǩ¥>YC9|,×ÓØƪŒÔÆœª ÉÉ¥^ݵ9Ë_ù‘™KÁ<·céo§Íê Œú+ßM›¹e‡¦ÑÖ¸¿®¼Úå£4†´ì¼¼ìDµßÑèd2jR´@kÓrªÍM®ü|]fJ †ìª0¨Ým}NŠÖï(¿Ñ³Ð}sÞN’3gj{¿|\šàá÷û;:þ³ö·¿ù¤uÿð?‰œ£ üóZÅöÙ®/üµ7ðø#BÔ4q¦Šç§3Á/ŽJÎ^\¶ôÑHµ” ¥BößÖ>ÑÔzêŸ6u°ìàÆ7ŸþÑ™J…Tá‘Yá?0NÿøÓÁg#Ö¼þ_¦M›¦RO¿+;íï°94Ù51“‘­³Û:¼É飃ú¬4-€:!S–V—¿¡þ}?­¤@kLÕTï÷°À¹`¬2ª@Z´c7O)Á@é³—Æ)@e00¬Çnןo¥ýž¦0V¥h” ÙiÌú&§?Ë@éÓS´ ÔÄ3”/Ó¨J£cX \Ï›DgÕ¼ŸF+• NH×ÕãÐ\·p• \Möýº,c|LVYåU¿¦ËvïæèÑ1AUçò…~Aé²B•[©‹WA“ o°GzÐe¥ÅÑ 4¤'PÍû{¸„ Kl)Å$dÕ*½Ža{}h'}c‚y¡› ÔÂå1¤ñãI¦_G[ IDAT@’!›Â šVM›60gàÌésÁ×ÎìœF “£ Q‹Äå .‚""„þED9HŸ$g&„Ä@ˆƒ$ €80 öÏ~%œÿüÛÅÁ3ð b`„aP1GF.Ëž —Æ+eœèvî¤L.!i2@QBˆ@ˆ’ ?ãlçŒ _MŒ(oÄãg™CòhQ¦ $´T*‘Je4%Ÿ¢ŠŒœ>]&•ÞΫ)Š¡®ìX7 .ëÚ—ëF³)Ë«ôW¶Å\—­Ùåñ­¡y¬S±;óŠi -úKšÑ2ÐÁò^Ǟ꺦€uñ|Çö²<¥ºôÖ¡.Œ (55úF¡ßñ>Ï: —½<úOž;¾ïíÖMõU)—Æ‘y—­ Àñ‡¤Û ^xntT†4ÓfSò·GÃÕ‰Y³€óv·Ù,æ‚BØñNŠå};×/kÛVÊèPE1ªÐÆÑú¬Ñ@­iiôrj`oü,tOk´³¦F¨]‡f̘ÎŒ…é@`äøñãܵïý†Ùjy½ªóßîîöhã4ý¯gótª£}ô0?îóÒ¿|#½À ÃÜð©¿¹›?`fýlê#j¹(ˆ§NuØýœ1z`pä¤g°÷§SJ¥¤Û=¸o¿««‡ Ÿ¢=|È1uÊÔ îŽï³·ÍÖásv¬|Îré¶Íº*‘Q]ªÃÅÏò\o‹µÚîððÀû\¼&T‹YÊ0®¶ÓÌXëC…›6>TXŸ§ —j Íh¾ƒeC/:îå)Š ©±†å[›œ»£®º®ÃÅϺx*õ†¥£Î¬¨º:{ùêrcXšW”å|WsµµÑéã€÷ø árËKÝúk†â=<{»þ`žF]{ÜH¡¸^/(Š EZÓ¦…«TSþ»÷L¶Ï»GÜ œ€$€‚   ÄAŒdDžeÈ„”¥H@” t21õ¤ŒÀ„Á ÉÈÉ IN> œ#áT@è<Ïy}‚OYXQ€¦†–Î`$QSeÚ©2ÕÙT¥T=5ÀpŸë_Êe$%“!!Bâ›éKÉèR.'¤R‚ `hè•$ÍhJŸWíE?ü[“WÿDZ¯aÝö7ÖÚ:ü‰©£="@s†aü­å%6ª¨¶6]Kƒ¿}ã23ÐL   ð»{Y&f¢ðH©TŒ*£êFûQŒJ­‹½ì÷™)xùzÄk ‡¹;Ûzcjœ€VÇ¥çå·6´»¸ CiVÕ^u×}Eñê³Ò˜‚FGw\“ÏgTøoâYè¾¢ÎxéÅ>:øT(O‹¢8<<ü—¿|µ­îæ¦Ægæ¾$œ’ç?*}>Qvâ,%ÀBè4CS‚Äc:qf$qöýÉaábÿÐŒi4"ü­÷ÂÝ´Ÿ‹¡iò½–Þ“6J-ŒGG)TÓs s×þ—¼ˆiR©$**ê.ìoo³Í•Rõ~女J®³l¥¥±7kXŸÜò¬§ô ôÖši55›â•£ í„j1ÅûØKǶ·×Í„ÕøFÏÄMÄøg{YJuãщ6‰j+)iÑWÕþ>Y=zÅãͼ¿2.sCeæ†Ð•Éå%{Æ­ùÁuY «=¹µµÙ14p]•Ë |ßkxÖw©Íd}<¥b˜‰KŒëÄŠ:aåÅ"@è†Ä`ð:ÿ € ¢HPR©2<]ª^Éû|<£Ñ©h×›“çY>ô.»½ËÀõÚ WØ<Ü„ñ^Ÿ•À·ÙÚÜ\ïþÊâ-þ{{¬±­Ö’Bsc—w´'îÚS×ÁëSu´2!Ëàk¶µ{C¸±¬ØÖý­¢ã²ÒT[]#› €›zºŸüä'ËÇ —kd„Eq`€=pàÃßÖlêv4ÎR‚Å@ABÀ£ñ¹'‚£7›"ˆ™ê# ¦†³¦Ì žÔKRæ“ÜÐ…}­Çø€ !!%)ê§/Ï™.UHÉŸ¼›¶p¦j*ÍñA‡óì°ùãÿdÑ¢g ññsç=6uZÄ]ØY»Ý—šÂ5z²|Íö®Ð1ÚcoéåÀÝÖØÃR5ÀúXJ§QpîV[“x–ZŸi„[‹›ð·[Ö®µt°ß©ñ™¸‰È4BÇháuØÛXC¦Ay“Ϻb“x7 LœN ÞN{£ x/ê–xƒý•olUXZ«S]õkÞçã©PãÇõ¶Ø,ϲ<|=r56vsàw4:x}ªŽþ.%6yáø4B7¨Å›üC€$Z&“M™¦Šˆˆè_Ü?p²oð+"à]áòSÍ÷¸¦A$DAù;2=pö…YÃ3é°“^Õ•ŸeáòÌÇÖ¬EÄÐe‰¡-/ýOE2šÁ‡§D“RAô$B”EÒÓ¨(V31_©×ª"”J%MSdhÕê;+&§¢È]^¾òeýRSéø‘Sw‹Í©É4]1˜ªMÉÔYm-n£ (‘i,|Íìòø˜„üŠ1@«òV4•¯_Ö¢RiròM)%å%¶š­+ªL½%%Ëžóñ”.%¯*/ŽÏD£?ÉEU¹fóú—-üèò†{»Ö·¡¦Š²XKVZ|<PCJnUi–2K+zÍ–Õ/³@éÒòKuŒsÇdfR V6csBhGÔ7õ,t?Í–~ìñøyókkkÕéb¦N›úAsÓ¿¿[«ý|‰t˜—~ã†JFxûeS‚at.O³¾âÚ‚ )êgÆ‹Ãü kf”ò…E³¤qôï¤!!Ä€ ~æ8ýŸ]|ÜüŒ´ôÝå%€Zø„Ò+ªmÈ2ò%6GncHè­^ÿÓ×d•&+i.'ÏXh^ùrµJ£ÏÊ3­ê)¬.(ÓÕ–U¸ÊÍ«_1ó 2d”–fª¡ûÖŸk §U¸Ì–µ/[BÏ©(ÍT¸oæYWn’Ö›—ÑfYý²M¥Ò¥äåç'Z Kâj*ÒS4;Ë—ýxU}åÕs¿”†ÜlMyá+u}H9+¦‘ÉÃå y˜B¡P(aaTèJÄÐzÕ0Äó÷áƒ÷8@×"Â… fÍšu¶aaa·Ú0vttü/såë¯ÿýùóç›÷n;òÂÓ03†Gà8ø÷6Ù³ó…Çu¸Þâz¾~áÃNᯧ”ù¯ŸMÒŽEoQAì8|ö:1]÷ìª×r}ôÑï¦oC‰s]›VúJwW&âéß]Ñk{mmkÞî­“mñÌÛØtàø4B7áÖûÑP§$H¥RŠ’+”)AAácyþi~xx˜¾À sÜp“º‡¨ãt_?í¹(ó]¤N÷ÏúÃA"880OíZ“éŸ÷ÈÔîo"Û>ÒÕEûÏ“'Iˆ—î_NAˆ$)È(AN?e«‰õÅ$rÌ×L “/)H2R:J"!%¤„”HFï§x»r„îA<ùä“ OlßÞpþô‘„Ø‹?L$¢#b8-ÀÙóBG×Pê‚ð½ˆ"D(‰çHvèâ¿ZÛÿñµ'~¸0†–IDQ Âgžíï}£~$ùÇËVÄÆÆ`á#„y¡;ÙÃ]7O‹Í‘?Ì3š­¥REÓá¡õeƒã@ úy$äEqlÁ¬é‰V*%žXÈzùÌððÐÐÐ7,øY²ÿ‚´ÿ¢@SA¹¤RA® Â%£iZNËåry”\NÓ´\.—H$¡¡5âÎß.!ô=Ñ4oxüx7F}>i.­ÇÎz (;~vxÖôðVäÐïUSˆWÊÄOû+k:Nx†²^˜£ §š?:önÓ71óR’½ú±Ç Ab³€æi„î axøúy: Š¢ "AIJBwK¹Nç4º5€” @*©T¤¨ÐÒy£ÆÅtâ’ñ3d@0 ‘‘ d2ZNÓ´|tüùÿ³w÷MgÃÀ¯$p'(‰‰Ò 6´.Ô·±X´º¶Ê("«ŒUj×h7dÏ> <ï {y:ÍVH7¤o)ívˆN£°J[¥Zxj¡ZÒÖD%Ñ’€äœÉyÿ jm­õúéœÏ›s_÷uîÜ9·{Ò>ŸçrÁع!¸áQ×·qäöšH¼ÑÇqgΜ.ßY¡±ç;y§ÎyÌ¡;ò¬ÎA'ïCP¾Þ~>N7}Ìãñ>ÙççM>²Ô@ÀqXLzð/²NpÀ¦©ð<>£¼!â~¾t–ç?«;¬V‚¾ÄŸ;W"‰=<<0\ „ù4Bß9>INÖþ 2ÌÅÞÞÖ“'wíÚånçÎ%}==¯üÓè^çÉÔ)Y†088Øïp4Ÿ8K–,)--õö›áE#Ó‰_ÓÞ/»!ß(B]»×^{õó–÷^X= àÏŸ-0žaþUÓkhä3¬kÐÉÇõõ»úXAÁþÙRÑ t¶—dfÿl¿oOÀÅq¼Iê7ÇãHO¸g¡àÅu>|÷~³óßÿ*š1S¼jÕj///L©Â|¡ï–k’ç]p.W_OýÂ…?ýñGŽq¿8göìèÈHR ù|‡‡û)#‰,ÇqœûÏGÏ@_Ÿ» 8îÒÅÏãó>ŸÇç%ôîcµ®û­ÉÒn„Ð÷Œã8§sðħ-ûëËxÚy×ü/-dymïÉ3^}¬Ànîºx±ghIOOÙóAøàá/ÎXutwÙ}6h¡ø¾ Þ’E¼;fxy pWL1ÁŸ›ëÌœ02¦3_½þjåKŬ\ɆÂ|¡žPO0ŠऎΠçO}þ9੸8ƒÁÐÙÙyòó6oÿ™3€–íëëcxîyƒ.— 8ÎÃC@’^¾¾¾A¸8W_ÿ¥K4Ë8Nàñ<‚ ||}½½¼°ý}}—z{œN§;!v\ìq =äƒãºí]ç½}z/]òðð ‚¢(’$ùÓéìïï§izp``Ðéäñx···¯¯¯'Aø×1ð!t#“iŽãô¥´´ÿH|”wBÍ'‚Õô<¶úµ?mnß®×ë{zzFòbÙó_)|㸋/v~sáÔíõï×Ö4}\¼ÿK_rà§J¿G”äRVèÝïrñÇ>—š÷¹™ŒxÐsÓSÎCÍÆwß)ñ÷÷{hy(þ!Â|¡ïßËkÂ&帞þþ3ç/töôxxzþù/i8z´££#o›Î`00.ŽÏã]xïý÷¿þúkOOϨ¨¨žžž­[·vvv®X±â׿þuwoïìÙ³NçÀàà§MÍÍÍÇ)Š^xêï‹ÅE ~c³ ž9sæŸÿüçÉ“' ‚xøá‡Ÿ~úi`x¼ù  †½øâ‹4ËΞ=›z.]²Ûí.—ëïÿ{}}ýŒ3ž~úé•+W:fîÜ¹Þ„×øq)8Þ¡ï×ŋݯnÏïµýoÔ3Ž|{ 6gäÅÆÆùû‹@¥z8çßÿþ÷î‹`دMÝÝÝ3‡Éƒîzâ‰'úúzÏëhj:òîÁê—Þ>îÉXvß#÷ô/’À¸oê‚0p¹à®@ïÒª׌ٳç,º3¿zæÓ}W¸‰ú§]NgߥKžo–”Ç)/þ²½ý®  KGÇÉÏ?ÿôÿwéÒ¥<GOÏ®; ûöyzxüëí·Oœ8ár¹àè‘#%¯¿^PPðàxıcÇž~úé‘a!MGî(-ýEbâ‹/¾Èøû_ºt©­­íwiigÏYæ‚Õþð#œÓénýL§OG<úhWW|ÜÔdس§¢¢‚s¹|¼½ûæo:Ý›ÿüçÀÀ€û9!Gyéþç7J<øü9sçqý(ÓœùDZãå1”,4)]´ôj渞Y, ³"v™xôk7c2[CÎ&M]¶®0?²)#­¨Í-Í›þSm=$f\ù8Z«‰ˆ˜ œ½âö /Ç0Ìg'>}³äÕ?=;«§×õfõÀ–Ì?Ǭ|ÂÏÏϽL@À7nôööÖ¿ò Îs8=««ñôèMùøøÊår¹\¿Æb±9òÑwÞÙ¶ë„Ô¿/z±X6àçÅÀãq„€srðñ)8ØÄP”§ùÔ{¯¿æóBjƼy0í÷+nCL{YÚpW´Zd±‘8¯Â|¡koñ®liš>c6:tˆðàƒž={öÑððC|WW[³pÁ’ X†áóù<€ÁÁÁ¯¾üò//½4göìÆÆÆÿ÷Úk»»sþøÇò;I’|à¾û^í5àñ8Ž#IR«Õ~ÖÚºwïÞß¼ðÂ¥K—¼½½û Öóç@õüó†‡{„¯¯‡@ànúúûúžMI¹÷Þ{ëêêÞzë­ÞÞÞßÿþ?v–ïì²ÙvíÞ]\\Ìãñþüßÿ-‘H¼½¼þó8wîÜßtÕýõ¯ý}}ž¼ëšûmšÀ3¶æ’ŒŒ ¬|[˜xÚõÈàÔÒrVx-I¤¥±¤¬==z™xôJk ËW ¿×™½smš g)i1h¢ôò±Ò«ZÏPT&–˧cY‘!,óéÛ0™v¹\¦Ó_ÿ¿¢¿­^ÎÝ0ø‡¢þÕO=÷hD„ŸŸßè¼v~€ì¹çžÏšýŠ>ÿä)cOc{Ñöà`ÅÀ “¢¨ùóç{{ûŒ¤Â$éµ`ÁÂ ÆÆÆ}õÕ—55µµõuû?>wÏýKïì˜åœáëd`ž˜÷ÂÏþ”ëk‹óýuůù©6mž;gþ]Ƴ·Õ×qGmYQURt¤ë*Â|¡k4¶šã€ÛßßÓ}qï¿ÿír:y ,ð‚ /’dæpãáß¼ðB_o¯spC‰Mÿýï•÷ÞëíåµhÑ¢÷Þ}×d6Ÿ={¶§»ÛÛÛ»ïÒ%ÿc|Údê²Û»l6>@_oïy«Uè'¬ûìúõ” ý<‚®îî3ÃùtÐwF=þ¸ËéüͦMu55ç/\øÒøeç7ßðx¼w««yb/’ì8wÎÓÃ#H.ï8wîøñã>^^L¿¯ÏCMŠ—¦¨BveU™™0hܘX¦\#ªÞe(,Þ,j*Ðè«,,¡X®Þ¸L̴꓇ú§ÍÛ5Ú}m4! IQ«cƒH°ÔnÓè«v d!ªìì«f“Þh‡ŒdkJ~Áå™ÇM»6¹û§ S•VSÔde€R¬Vgo›·moh/ÙÙ A$Ó¾-1Þ”@4Ô­V;’¾5g|ß“¥¡@ë^’E¨²SCé’MYu4 Y‰gW^¬7²¬~ÃÚ£êâlY£N[Ôh€R&©Õ ÁBæè–8hµ¼eW›âÉö¿î²Ò°imkza^¤x¨ïkû¦ŒF;Û”üËæÜâLy[™FWÖf'yDªzKö„ý¨S5»­þýwÏ6ýš:óà|0ö©D‘h‚»Ñ9sç&&&Κ%úÛßò;ÖØøá† ë{zèE‹¥¦n {˜¢†®ö‘DÜÛÛ;8øžŸ,þÉ/×ÖPÿÞ{5ÿ:ܾhVg°¬÷Îy¼ù³œ¾ €'ŸÏ§û.n¯©Ø9û™_¥Ǧòß˵I¨*;=&[Ã"'.r÷ä,%˜Ö¼Ä 6wO޼årÍÚZž#7Vhµ%MV(åêôìÍaâ+kî¸,˜i¯ÐhÊZì,ˆ”æqPaÌLÓ»ëøGIÁ_µÐЖ¸þ§Kºþ×;¯<3˜[íÆ8 Z¾#A о}mš9½†aXæðG¹û®ÿïÿ8z™Ö¶¶N›}†ŸÇqð¸á梨9sçtuußÿÀ§ÍæÁÁN»ÝßßÿÔ©SøÃz{{ýüüæÍ›ÇÜ«¸€Çÿð£8@ôÊ•7W"õññq¹œ½ý}<>ß½¤{Vó™3g°,Kzy¹8§³Ÿe…Bá7@§Ýžñâ‹£²·¯ÏÀsÏ>ó­ú§Ç`‚‚ÖØHo-­Y&‹a£¦N–[Z°L ¶ÚÌd6¸|[Èð:¶ª¬Œ}”º¸2RÊXª26dèåå[‚­eÚ¶˜ÂÛƒ ½lÓ¦¬"Eivvhœ†ÚZš¬pgÒåÙÉ ¹ªÆ¡M82³Ê ½¸2R Ž£yÉYš Òí±˜Qÿq7À²ŸÞV½¯tm„7áá:ÚæzäÑUW>Ú=RkæLÿ•+Ÿœ3gnAAÁ¡C_~u¾é<¾àwÿD!úÛ…{#|`®Dš˜øôO<ùááÕUU?kýUǽ úßáòºøÐO × :Nº·W@ŸŸ:å …"‘ÈÝêôöö^¸pÁåtj_zéOú“{ÖDwÿ6;8H÷õ‘zÀélÿê+€@ Θqþ›o~»y3½öÚkV«Õl6gddð€Ïçx¼Ys渷Ðòé§s¥Ò®‹].7àt¹†7ÎñxáIz99pñxîIyÁ ËEx{»fÏž——78882÷¸···E‘^^<¸QÏγ5—µ!¹rw» RÆ(…àh«2Š"Ò•bqh‚R—UedBˆ¡D·ÅÐFE†J€”F$)õÚ*sª¨¥Ê*Kˆ" (©pÏj’Ð<åÞ) A·ªR¡ÊÀe›ó–}W–»G B!a ¢±Ý΀EB¨€’É(ÚjÛ9ÝTe”$ä.$/)i²$­ž`ï–¦F³$!6Xd`D‚\¯¯53r 䱡W•3ƪ&Ùê^X¨Lˆ 6Uµ9b¥B¬†?J«õHã{BþéŸx º>5öýrS¨——÷ĈÇã8ÎÛÛ硇VH$óö Ìð£<-ZDQÂÉžyç~‘ã8Š>ýÐòåGŽ|T__øËæÏN¥±Š±ÐuÏB~{öÝ…&³Y(.Xø–,‘.øî¬)¹ª¢V›“ŽÚ©Å)õPÍbŒ†Ù"q˜º|K-û&ª¹—+"!ÖZC•<6ti`dæ¶H¦y ¨¸rϤª¯¿p«GLÐ IDAT挷··‡Ó鑺¼¼ŠŠ þÀ@cmíç--$€lþ|§ÓÑÙé^`ÎŒV“iöìÙÿSRBðx,ëìíMÛ¸qÿ®]ƒƒƒ/ýéO\rrrïà Çq]çÏ;{{Ýëzº\<–††!8näEÖáPþä'“éâ7ß|vüø¯~õ+švxyyûúú’$Éôô †ãñ¾Å$älcÚÏn¢éùéË„‚R$m§Ùៀ´‘fAäþ•¶Ó¬}צ¸jw³É²4bgi͢ᖔ €™ò8ÈàÔÂÜ]%úM:3+ MIOOZ:úss[Ë>}I•‘ Í,=tÌ@û¹¢áfh æ¢ +K†Î•fErûDÇÁÐ&(u¹±ÖN/u•%i·³„bxa’’RlM`>ý#ät:í_|r¤*nIx¸œN®ë¢kÞ|Ùº_÷ôô”Ëå›ÓÒF¾Ìçócoû'[üüfüìgQ<rìØ±ÆCu'œ8}î¾ ç= xÜ5èéqöÔ篞wñ[ˆÞ«¾÷ëRx0Ä=ëê /˜ÜB()©Ð$k¬”bµJCL(&¸ƒªY¬ÝNŠQÁ‚Æ:qͽ<äC¸,»P]RbÐnÐZ y„J+™¤N@¨ˆ‘YŒEs–¤¤ªĘ̂5K"•bÆTW¤¯h±²ÀÚͬd8,Œ‰W=¬˜O#ô£6¶!á€Ç ôõ÷—îØáùû˃‚D"ѬYbš¾d±XfÍžm2›ûúû­.H%ǹ»­çχGDx‘doo¯ €$ˆ?fg ýüîU*)¡_£çØñã[22X–íééqÇõõ÷Ï›?ßÃÃãÙçžÛ¾};¼ô—¿¼œŸÏãñòóó]î1!'ðôxz ]0´GÒËËÇÇûÙÙ¦3gZ[[ ·o/yóM/’tº\}}}ÿùŸ/>ó«gø>ŒÌ3t†×šZ_þ>âÍA[h`¨-a) EŒ~W²®xçÆÀ1}wf Z¬ÃɤÃb¢©@Ñ4GBJ—%e.K°µVhÒ²tŠQÏq4h³Êuqq¤”ÇÑ-qÚ«97’’R„\Uúz̘­LóKRÐb>`ÖnBAÐ×R’"1œ„»3tBtµ¹8ºÅœ?þèÑ#Ÿµ}¹@,l=ͱpÚ:¼é;ƒÝOµ»|xÍñŒ"‘è±ÇS*ï=~ìØ¡êj>=ü©ñìCÁž.æ…,tv|s¾î“[_:ûÒÖ—åAwyxxÞø"Ål΋٠Œ¥AŸ¦ÉÚ§,œ$P£êK³WÜ÷Ž«86“$×ܱu60rcNäÆáïQ—(J•‘¢’†–&#(Ó%RB M-`¤BR¤¦’ mKDaá¶`!€©lmríD!ñÊ ‡nY|,„¦¯'^^£ÿóHRàíÝçt>¶r媧žzú™gfÌž=kÞºzÀ/ê’O4ëùx¬··÷÷ÒEàþÒΜ¹GE¿ðÛ´_<“á9gåîFï×ôÕ76|êü²Ãåç+hùä£C‡> iú»8Œ¼g7—µ3@JåA¢ÉIR´Õl°5Z®<˜¡ŠSgaGu6èšèéj.Ó¾}ãÆ‚fbYˆ X ®¢0T"¥’h*«°ÊÃd$H´¡¬‘U†IÚN¢ ‰€±4”UYáŠ`3qÐC·,ìŸFè*š½1¿»\^žžA‹é^zÉét’$éëëëC|—‹üýü~þä“Q‘‘îɽ{zzçþ Väç÷€R¹é׿ö$Žã|¼½)¡ ˆA/OÏÿúƒxDz,_Àÿ³F#àó}||¼}|<==}½¼|—.½gñbŸÇ¹8>ŸÏãó ‚˜5sæ¶—þÇétz‘^>>>žÁ0LÖþ';0@xzúøúúøxE }¼ŸˆŠz<2Ò=;š»9õõññóñás78ø¢8&7·]£K\I"eÒVõ2áåÑâ˜ì\“V—¼’B‘š-#×lM7eeÅ=lg Y¨j«*ˆ$‘!TVFÜÚÕù¥W~w'0:%ò¨.ù1-PòhuöèNsq„jM•fS\H$Q&¥¦‡fi²ÒÊòÓ§;ôÀ¤\µE£I\I%_ž8ÉÀ“À5[ÕMVÜJ€„¤nM &Ç-)”Ç„°ÚMO´©Š_¿üÕ(‘2F¡/J\yT]Z Î5kuVêÜ;ËÍŽcüqš3gn\|BôÊ'F¿èï/òðøžšfwGµ‡‡ÇwÈæÎ•<Ò|üXcCÝ)›ed™åNoßïh Õ”‰&㉖ €(UÙÑRJ' ŒN®ÕmZk‰$ÊÈPI;þVX¦Î5k´ÉOhY)¢³³cÄÕÜQ9xPB’B£M|Œ@¤X­V‘ ‰*àåò e‘¡’]š¸Ÿ×n-ÍSF*è]Õò9 ²0‰5Ë¡’“ OR…dhWêEy¬*}1CŸ–#Ë' zèVÅc¼B7«o†s¹\N§Óét²,Ë0Ì™3g–/_þíîìÙ³3gÎä_×S,¼®˜èÆqŸÏø¼áOiÝ'å~«¯¯ïÂ… üã÷ <€W^yåÁe2IÀÃÃÏççr9‡¦"pû‡8ø|¾€Ççs.—‹s9.—Óåâx|¾€ÏwŸŽ{²b>Ÿ?´"Ç9].Î廌Ëét¹ÿqÇçóø|@ pù¸³ëw:¿§‹àzæsA®¬ÝÝÝ?Àèáãã3E „Ìä)îƒa¦§§g\b RB¡ß´ã³ÝzqvUt[†ìŸFè*î;=ÇLÖ¶ð‡ßâ8ŽóððeÒ××G(äñx^5S<Ë×oÆ•óò<ÜÖ'k]žÃËL¸7ü¢Ç$«Ã¨Õ§Ø|où4KÛY‚"ðC·e`ù!MCÈžLjÎó¹p‡,„0ŸFè45×°ì¨ö‰ ¡Pøç?ÿùj5`ÆÌ™”¯¯§§'oÜ÷ÿ¦Mp¯n™o¹ú÷ÍV»%YÓ"Y“/ÇÎi„~¸ù=N?ŽæÓÝ×Û=#àó)__’$Eƒƒàééé9ò$,ìòGn«ŒÄ‹ !„æÓÝéô·øºž€Çxxp02Õ‚Ó‰Ÿž"„B˜O#tùösqãÇ¥!„æÓÝÆù´ÇmVSXÿè!„æÓÝ0®þ~,„Ba>ÐõÂï"„Bh8ß8BWQO¼½o«ÿߢ¨,¿|lc­ãÛ–8Óºíç+3›¿ïÙ¦˜æÌ•?ßv#&ýeŽnyìçSlÉÒ`pO4|}«#ôcðí®óﳚL]aG-ðÅ.KÕ–Ÿ?üðÊÍË„;m/XûØ–£×µS¦5ïç?üðÃ?|"÷í û§šÞ÷17úQ!—eï)%„“>XÛÒXRÖž½LL^×êý(Ü2×ù4vôÁ©¥åì>'‡±ª…XS\¾9ˆœh§ß*Vgî=”Þ^¸¡ /ḨúŽói— arL{…&«¨‰IdÊùÈW- Z}µ‘ dªìÔHª%3QCäîÉqO.n1<›\Sº#jÞ®Ñîk£IHŠZ;¦É°5hôÕF––P¬NWo\&fZó3ìÑÑÐÒbµ[i*"}ë–°±M cªÒjŠÍ4! MÍVÇ’ÌÑÌ8(%Ô^Ûb¶Zí¢ˆì­[–‰ÁÖ°-C[m%DED$Í‚hÜÙÍŒÓQI¡ôÑ£ÑJ…¦§/m.1´˜Ív*:7óRá$ûÒÄie…å›e-WîTÑ–¹Io´CF²5%¿`5;ùê*Ð'fØ“ˆ†Z£Õj'BÒ·æDJ¯÷LúSM¦¨eÄtUþŠh#%§¯¹À˜ªtš¢F+ @É£Ó³7/OTwÆVتµB«-i^+wKÑpy­*SZ†={OÞR’1Ué´Ef (e’Z,œ¾n^¹–ܘ·IÓ²-iÉæÔüm1îà½ÓT‚5ïÊÔW´˜í¬,BíœàUÜ;ÔnӸ˒„¤dg'ÈÌÛ7™SË "ÅŽÚÍqzyaùfQËvn_›)Ö¨s7.ÞÎ3Ž÷@hz<à¶úm¥cÚ¥Ñ#òTîÜ‘fj´ºjSY–¦Q–^ZYY¹'7¬M›±Ë$T&„@“¡êZ©0ËB¥¶ª¬Œ}„ª¸²²rOa‚½(Cß:êSK‹!KS'I/­Ü»·²TEìÓh@ÝÒ˜¾ýõ;KÓ%uíѱTZª5ÚEîžšššrµ¤I§kt¯ÅZ[—¦o}ÇÞâvŸ¾ÚŽ£:m(½¼rïÎÂqCË•O6!€µ6YÂÔ¯ï,Na«5Úö˜Üí;v&ÑûŠm“íkÌêãv* ËÎ¥DÑ[K ¤Ó®noj© ^ß±³4]Ô¨/÷éöÕŸ)B?\ÓÕ²©«üÑæ*¶É´ê3tÆÜòÊÊÊrµ¬1+«Ê6}…eÚK4zsLášššÒ¨Öê›™Ñ H.UI–®M™[^¹wïžü{Q–¾•™¾nN°,Í,ÌVUáÎádÆí”¥Ûj!¥poå¡òTÂ(&>Ái8ܱ¦¦fO®²M¯Ýg!e±¢6C‹{e[“¡MÍzÍ.H)®©©9PkKSr›PÃ|¡«©(üÛëÿµ°µ5˜%1Á$ˆCBÝÝ»–¦*£$!i™È è$¹µªÉB*B‰¡„ÚÒh°ÊB¥ŽC*R‘¤d«Ì#aÙÑVeE$(ÅâÐ%´UÝïÊc#¤beŒŒ æ1¡\[x tK°ÄÊHX­vw«M)cCÄ"¹Œ¢Mv‡¹¡•»_#ƒ"¶õ”2F!‘LBˆ”‘rÒý3Øíôäû½úØ^Õ¡^^]‘* d2ŠÿîUŸ)ŽÅF?ìŒzÊZ6e•Ÿ0ÚL»MÆ\Õh—'% @¸4)Vbt§ŒS×2hsé¤@¤!aÖl¥'îæmj4Kbƒ…@F$Èé¦Z33Ýö']kú”'¬€H¡ h«}òœ’0,wOyv˜„Š0ao·3dÐå„ÚÖbh“ÄÆ¹4gÏž­1R e!Jm¶ßÞW0Ž÷@è*àó=&ÇÒ4Rb¨­!¤a`h æ¢ +K†bEr;CÊcC‰ C³TRg°+RBÄ@ÛiÖ¾kS\µ{ ,K!vʽm§YBJ ÿ DmtÉ D¢¡},=¶_™±4•èKšÌ,°´™%†Û‚wøvšQC/RELÜÔ¼LŒl˜n_“íôªu¤ãîòêÄ5¬>åNú&ÔSÔ2˜¢Ê³G›i·IÛi¶M›¸R7¼Ȭ4ˆ¦«;Œ©®H_Ñbe€µ›YÉ$‹Ñ&(5¼{‘Ø¡;ƒ)¶?ÅZÓ\Ž^ÄT'Ó ù°µìÓ—TiÚ̲Ñ1±’]†[¤²©Â(‹U€£µZ_dh³³ÀZí ¼Í/`̧ºŠtz` aªVµ°#­’’R„\Uúz̸Ø- Ò -íAUv…*D àQ„d]ñÎcZ•Öá&”"h Íîö¥$îFƒ¶ÛY÷«,mg 95¦g¨:+«N¾µxÇ21€­êÙ¸’)Ÿb­ôЦh»ɵÿ5ì뇷:B·Œ ªüðg1F¦yš RŠQ—o[&¼–µL%Ú–ˆÂÂmÁBSÙÚäÚ‰—#©@ Zì4€Ð}ãnBALO¶Öu™ðGgÎÍU´26L ÀºÓ|Gƒ6«ŒPGJIpݧu/++3´´³³,!B À´ê2ôÖ”ââ„@˜Ö¼¸´Û¼{Ç{ t5x¼Ûëÿµ+B$Ö:C+¶Æ²&ws! ‰‘™Ë*ZŽæ²Ìƒ € е”•he‚RBe¬Â^]æ~ÓnÈÉ=BX¨Œ•Óu-K]Y (cäîÞjcEihàˆ‘R„IF‡‘µÐ@ÉÄ`k®0˜µ±dJÈÂäÐfh²Ó^Qa¼ækãê÷5®7‰¥iöºWÿ–{GèÖ3i•Ÿ,ÚL”E†ŠZJªM €­¡ s[­mÚ ËÐvšI„Œ¥¡¬Ê:ÜS>¼Œ>*k…;22¦ê #)›ö±×¶Ö;½¶´ô­Áä`l-vÉ2™X»¥$2 àhÝWÖÆ •ËJÊÌò„±;Õg ÷‚Œ©®¬…žâHnØ?ÐôúñyySLÊVµe¥ýl%‘‡ÄFÈšÚܯæª-MâJ(ùêôì¡èÀ˜â­"::_éî4Çdçš´ºä•4²ˆÔìÑ­‡8&7·]£K\I"eÒVõ2!0@)”&ý¦µF«•D«³ÇöÀ&¨¢uÉ+ËD"Y¨*5U™¡ËÈ ÊOšàè…aéêˆ,]âc:‘DB•]ëéO¼¯„©›ryd••·vu~þu¬~]gŠnŽÞÞ^,„áÊ*Ï\ŽAD›iï+ÉàÔ­é:MZ\ "e’:E `ž¦Â'©B2´‰+õ"‰~&sëcZ·%=‘ €ËåêîîÀèU¡›:0: „B!„ù4B!„B7ŽŸFÝjÈà-{+±Â*ÐöO#„B!„ù4B!„B˜O#„B!„ù4B!„B˜O#„B!„¦ƒÏ÷@¡é0Í™OdÀÖ—§“`Zóâ6YÕÔÖM‰ú+¦TEÿ9±í¿ 'x½°<Õšö„¦íòk”¹{rÜy¹ÅðlrELéŽjʵDêrwa!ôý³Í´$!dèÃa`ŒºXi'¤`i(Ðê«4%‹Pe§FJIæè–8hµ¼eWÛO|¼ÿ®ÂòÍîÛÒö‚äMFU©j‚4tÙËÌÛ7e4ÚÙ¦ä_6ç¾{u´Vhµ%MÃA)wKؤA‰i¯Ðd5Ñ"‰L#¿º|™1Ui5Ef€…¦f«cD-™‰âʪ µÛ4î3&$!CQ޶í"e¤B<.R Ë“9á9b@¸™pü4BèÛ±²4u’ôÒʽ{+KUÄ>¶ÁÐ-méÛ_ß±³4]R§Ñu õµ„ä–WVV–«eYYU6 €5ÖYb²·¿¾£­È› æÐž\e‹N³Ï¶ª¬Œ}„ª¸²²rOa‚½(CßÊ|%ȲĘWLût»è”ÒÊÊÊÊ=ù±lC£™™ä /ŸÚßùt4ÚÜGni¬0ËB¥Ó­…m'º‰$¡1r£.-s»¡¡ÕâR,• LeYšFYzieeåžÜ°6mÆ.“»&[›Ì‘ù5{µkãtc•™`ÌU´2!D41®¼ì!hc®JFÈÓKwŒù(ˆi/ÑèÍ1…jjjJS Z«of& J¦]½1"ÿ@åιa¦FëÕ$Ô–j¶E‘»§¦¦¦\-iÒéBeÂUÕÑ ÓÖ‰ÒËkjjöä*ÛôÚ}+b•ö]Û*j›M6f¨„ȉÏæÓ¡[–£­Ê(ŠHPŠÄ¡ Jh«2ºC¸<6B VÆÈÁØ`v˜«íò¤¤`!—&ÅJŒ†! ‘ €”KÀn¥ÇåÃ"a­5T5›¤42sÛæ¥BÆXÕ!I¡R¡2!‚2Vµ9¦8NYLh 9ÔòÊ"Iaðæâ=ù«¥ŽC*R‘¤d‡Ûé1YocÚxbS5}#б4””%1²Ñâ”H檊ÚV‹ƒ ŒÍÉK "§8È¡S# ¡ÄPûii4Xå ¡Òé×Bèæ!“ Ë·&ˆÌUúŒÄ'~líæmUí°4U% IËÄ@E'É­UMîûeB*aH‚r(¡f̆:Z™ É¯®FBÐæÒ…I$HCÂ$¬y(ü\”lm fIDL0 â„PÑÕœ¢4¶ð@é–`!ˆ•‘2°ZíVU†åî)Ï€P¦ ìív¤1åù)rº¡D“÷³ÇÖnÌ«h¶M}Žn ïúVh;ÍRŠÉ ÚH³  D¢¡^W‚ €¥Y í4Û¦M\©ÊPi ·]bbh ÄpÓÆdm @)Õ¥1Ù…ê’ƒvƒÖJ¸¿¾'±ÛYBA ·‰””b›èÉ3\‚ DÔðñ"j¸;X(Xì4kßµ)®Úý*ËÒDˆýÊM„d—ª•Ã+²mú Yöë-4û¾ ?Û7´Y‰2:;_5v|‰8&·JJ*4É+¥X­R§Æ¤hÔ©‘òØP"ÃÐÆ,•Ô슔1ÐÓ¯…ÐMM©¥Ë¶,KÆÒZW¢ÕnÒå¹2 æ¢ +K†C+’Ûw„ºn…Ê%­«2«d`h„ìËéôd—ýÄeá„É´IMä±Tš¡¥=¨Ê®P…ˆW±B7‹éh­UºÌý<R“ªªªÓµ‚BJrUéë1â1nó˜:¢LaµUÆ0¶Br$3*(MP£'f*ÉжDn ˜ÊÖ&×N(X ;sìãâ‹å¨¡ Bc—‰Ý©*A€¥:+«N¾µxÇ2ñЗ“'«ª Ú¬2B]\)%ÁqtKœÖ77©0÷sR©Jm¨N;jf¢1 üÀàx„з"TÆÊ麊€¥®¬”1rw¦h¬¨3 }Öh¤a¡,2TÔRRmbl ™Ûjm“v[ ÅnB’iß¾qcA³{x¥,HD,ò˜h*k´ØZ*iEŒBT öV+cU£ýŠ„š”Å„Rm%Õí €£µ$mCVU¨ŒUثˎÚÜM‹!'³¬¹™eêhÎ{v³ûH©îÞ‰/{‘2F¡/J\yT]Z0ÜñMÊ“T!ÚÄ•z‘D«J_gÌЧåÈò#':ÜÀ¤lU[VÚÏöQyHl„¬ilx \“«nÏÒ%þL”|µ:7F NPE7ê’W–‰D²PUjª2C—‘T¸-F:®ªŠ#Tkª4›âêD"‰2)5=4K“•VV¸}sáVBW”•¨³³@H¡)[³c¥ƒá…Ç0xk‚nŽã\.—Óét:,Ë2 sæÌ™åË—G»;{öìÌ™3ù|üLæ{1ÝÄ Ý@.—«»»; £B覄Œ!„Ba>B!„ÐÍ€ã§Bß2xËÞJ,„B·ìŸF!„Bói„B!„0ŸF!„Bói„B!„0ŸF!„Ba>B!„æÓ!„Ba>B!„æÓ!„B!̧B!„Â|!„B!̧B!„Â|!„B!̧B!„B˜O#„B!„ù4B!„B˜O#„B!ôcäE€úV.6uýæéM,Y$~æ§¢ESD—ÞžªsdL9ÉÛÎãûO½ì· ø§Ü?JÍôãwÿ×|¼óGèGèü'_ºe æÎýæçž¥æ´Š î%a°¯¦®ãͯÙøÎšñÂãó–tI{¯ïœÝP>S?/Àa{ùÝ Gº9^À¹/Fˆ<œÇßmÙoAñOG6ëüꓳù¤·€ûœÿâ½>£Ú[ÍEòGý€ºÅ>Þ÷߸MðåsÖrÙ Í–­tŸb÷Ý7ÿw÷ jß1U;\°Ûøõ# 5Ap¼ñì?Nöu9¯Õ‘w¬—yB×7iîþé‘íö\üû{Ö†.8Ás–ßo~6ÿ!¿Q{eœ´@@yË8øg@× „ÐFúF/ämì¥Áuò°ù>Yëò¯çîú¿#·Êviþü¬`Ïyʼnóy°UUÖÙ?UŠ'Ï›óµõï_L°ÁÞ‹/Ì<÷¿žûÉ¿Ö΢Ìݧ˜Ñ-â¥7wŸRÿ/ÃöÒ¯ílÏ>Éâ_¡[ÔÜ ÿ…lß¡NôÚs«º=ºó_ÏýäŸ?u9ó«gL̼»žññrM'{ⵕ{zíâ«o[<¸»ö›¯¯ÜžëäÇÖékÏýä_ª»²æ Ö|=:v¸Î·›7½}î8ãºpÒ´á­Ž“ þæÓ¡ ÊGÌà¥ÁþÚ¯œ‹œµ˜Á’ÿ3sNg÷‰ÞÑ ±kþÔ—Ÿ‡gr:'hAà1G0xèÓî]„ŸÿïVÍ3z’þæI‰ï'§_>çõBìløèôË_ àŸ¡[áá+pv9>×uŠ˜±n!„ÿÌ5óœÇ[ûGß+óþ¹~Ác~|~ÀBß™,3áÊŸÏZ»ª¿êí,^ø_÷ŽŽü¹÷Ȳäý/ïý† Ì’]Ê}盳ƒø7@×Ç{ „n¼®n§§á Î.–;U×þ‹º¡×/çÆpyA×ù¯Ïÿãú, žèî_ÙD›#ý^Œ—¾u¤ëå– "ìÁù/ÜëC^ÀÏÿwtÿªÎúÕzÙïB/nøàB´lþb oÝrzºœ‚E$\:ïèëÚRÜíƒÁGÌ›ê2}Uœ¯:?8ƒƒÝNï‰6ǸoFpa×Ǧ7«¹9ófþ:BòßèžDÁâçE¿~ù¤ÁCó.=ý²qƶÅ8îa>ºù-¢Ã`æî~Ä›‚A‚wÏ#wk F½íújäÇž®Ü÷‹ž\¤‘y Ô”ñö$›$üý×Çø¯W—ù|vÕ™7çýfÖ¨F±Ç¾õƒ‡#9lÙ‘‘2L¦º¹Î¶ÚÎyS/Îäûvyx …ÉÒ€19ôÅ‘%O~`~³kVÁÓ³<€µžù•a²ŽeÏ%÷Î_rï|`újêNÿå=ïâxÿËï:O>[ë3[»˜wüƒ³‡üçjå˜L£ëã=B7²9ì²vý}ï¹OfŠ#'ÀÃ+r‘àT³ýì ¸º¾êøsmW˜ÁKÀ²—€¿p¦'t™¿Ù× ,Ë]9ü™µvl)ï8Ñ |ÿY^þ€ÑMgoψo<—/xABÿeo§è‚ßÈø—@èÃ0Ç?1©›¹°Gæ,òjþÌ»{{v™{«ªL»¬.'w‰®»—#üÈ™ƒ}µ÷^rr—œWn”=´¿=û³>HrÑLÁøôýÓ_¬TÖ“"öcóË34OŠðV]¼pBß÷É;'W¹$ˆûK òðþâŸÊ~]ס~£sÀÉÐwÍ#sýï»P8çS˯J9ë¤ÏÈé¼ýù.ÙœêÏ9lÊ/X=vë„dÖÉÙ—KÛº@à±$xÞ3’Q}>~¿KvcŸø¯üc t+qt>÷NàÍSkbÅÎ÷ð½Ãüåã/à,œ“1‹ÞÑó\ùÿ>yjéÂm‰VýÕk¡÷êPid÷™—wŸ›óø¸¬†xhùÌCïžþÅaŽðœ)|áñ£b?à¾E¥÷Àò;K—ã]?Ãà×YÑMJÁ8Îår9N§Óɲ,Ã0gΜY¾ü» igÏž9s&ŸŸÉ ôcãr¹º»»0z „nJèÀè€B!„æÓ!„Ba>B!„æÓ!„Ba>B!„Â|!„B!̧B!„Â|!„B!̧B!„B˜O#„B!„ù4B!„B˜O#„B!„ù4B!„B˜O#„B!„0ŸF!„Bói„B!„0ŸF!„Bói„B!„æÓ!„Ba>B!„ÐÍæE€º&.—ËjµÒ4ít:±4Ð2cÆ ‰DÂçc/F„n½Ðù4BèÚttt‚»ï¾ÛÛÛKc´ãÇßÿýX×eY³ÙlµZçÍ›‡¥ÑCºåBö „®Ãá¸ãŽ;°9D7Aóçϧi‹£B·bèÀ|!t=! ÝXÞÞÞ8£B·hèÀ|!„B!̧B!„Â|!„B!̧B!„Â|!„B!4|þ4Bè»ÃtžþÂdJºàîyB,ŽÉtž>þÙ‰±àñ¨%XL8:N¶Ð„8pÁ‚Y$Ǥ¥tâĉÓZ¸üÉðyXL7öO#„¾“0jÎúðŸF¯IQ©R’V?º">ýã“,|úøˆÒb&JÉOéV­Êû–ãàúë:Æ,×Q¿ÿ„ã*Ž«~ýã„ggnZ1Ø¿"zj‹F£ýë»c„é¨×§Ç‡?ðÀ<°b•*g÷©ÉOù0=<þ­Ž Þéx+><}²3ìx+~TAħæí?带`ŽO¶_„®÷þòC}êª]”¢R%­‰þiÔú¼ý§'¹‚¦¯xàÕÁ cËbÂxrbýU\ÂÌ)]Ôøà±n÷M»ö™Žz*êÑÕ)›³4Zí'Øñ‘%gýª.]_ß1yëxc’1eífާ¯)‡«Ög¾ñaçµÁ”¡ ói„Ç Ýú$Í;ŸÑEkúàURf}çDÍÔîýðøãTýÛ_\hí¨õíã¶«Z”üý¾c£ÔçÝsúu:f®IѾk"Ï-úý]â»Ä£¤ó`æºÌzñz}õác‡ßK½Ü¦OQ½qj’""Wäì#þz&#îÉ}ÿرcÇŽ½ÿFê]&Ýû@è{¨ûS×l~ó# A¶Ïþ­Y“2áuÙùáÛ_,yêþÓoÔyÝ{d¾xãÕݧ¯ê¢'¨GŠoÅßœIù'ôª5[Þ>n»ë÷E¹S@-˜GŒ©úõ*½-\ýÖû‡®Ö?-¬Ï\7að€yO¿±?çz‚ !~ªìð±cÇŽÞ•Oìß²&½¾óö½r1ŸFÝè~“S¯f¾mrÿ,~ªä`ý®ßº³½›©­w\Ñší®'ãŸ~ð£·?nÔêÖ‡¯Š_¯}·ÃÝñœ޾*|EÔªu©¯~6¶/†9‘£úë_¼ªŠÏ9Ász溨ðð¨ð¨øô·®.9dNéV­ÊyK—º~]|Tx|ÎÁNèÜ¿>|¤÷‰9‘•w#ÍÎúÌ”¬wmtý+yo~OÞ?kÔ½ùÊG ÔE™«–Ì".X±>O÷¸íÕ¿Ö; sÿºë‡ÊqøgæÃœUëww@g}Þú¨ð+VD©ôÇã2•¨UyÇ'ë€.O-Ð?i{õ¯õÐù¡Nµ****<*>Ómt\¿bN—¾~]üª¨U©ãжã`Þú¨ðð¨ððU©úãp|˜¾JzèÝÓoć§Ö;°v ©«ÅAö£¡©îîÉÞWÿ~Ñ#Cyâ¯d¾}úŠÅ?ú÷點yþùûmo¿;Ü:Q ˜ žŒ\·»7§`ù(sMêî€ÎõªUî«x½î*“CÇÁõáëßx#Sµ~ݪð(Õ§æD^TT扡úѹ{]øúý72¾¡JyÓ}n_¼™÷J=M­Xµ€[þú6ý¤~Ûú „$³–¬ÊѧÏûH÷æ)†9‘µjè“À‘Ÿ;Þ^¿*ç8à8õVz|øŠ+Âã3Ç~"à8¡‹R힬“›œ·dUN‘zÁGº7O1̩ݙ뢢¢ÂÃW©tvs"oÕªL}ŽjݺUQQëòÆve;N¼•µ.gÿifl¸I0ŸFÝ6éôoï·ŒêÂr$Ô³¼ýáØ¤ŠùìíÄñ/XðÈÓ N¼åNö˜SzÍ~¡z_ýÁÝÛÂ-Çm,tÖku_„ëß?¸¿ä·âã_ŒiÉ%ê¼ÇÅÏíÎYBž~;]×ñdÑÁúƒõ%ëèW·¼zê*ÜòÑËóÞxk÷®œyõ¯¾szÖòøûÝcT˜/öD<¿à[÷c;>Ì[¿***<|Eô–wGºÓY‹ÉF=ž¾jTW—íø‡¶ñËgÎwï‰_Nœú`êNüÎýY9Ÿ…üðÃ}jjw¦nøÓTÖqB—ú ü¶(óþ©Fh“w­zDxê]Óy0+ó]©z×ÁƒõeÏ;ô鯞 Ø/ŽKS‹ÞÚ½¿èiÛ+Úw;Gí7SsüþmëÖïJ'vgêŽKâïw¼»ßÝ v×¶$þ~ަN§?xóøåªM@Žô»šÞÞ=ãƒÝ÷¯¿Ö=Ï,wì~÷ôP2yE ˜(žŒ˜Ÿ›zµ~ž£^›ùŽT½¿þ`ýþœ»þ{÷”Fúÿü£¹<;1lr“¥8¸›q+˜›j¯î5p¤pÓ`Š˜Æ4š"Ú@Š`l$…Úh£)~ÐHŠ/4Ò‹6Ù fn Z'wKãÞÜd™Kö™S¿hÐhÌó5&ïW'º.>î~ž÷óì³K%=ý~#@Úõ ›[É­®ÄÌ•ûâC¤;§êÖFÑ«ª[Nca*kj‹ÿY«¬eÕÎ #Þª¶"³¹\qõ¡¼>½Psz÷»ÄÇV+kkks‘ÚLªdÊMªº½A³T—´¸Œ< ßÛh¶‰¨³¨b-åÈ«åž?þl6DDdÔÌqØz®&'†ÜDn5ákæu›ˆ,]·e-ìîÔhÅÕí#$5æˆ$6xìG›z¹%':³5ÞȰlUê‡ÖÿñÍÇ7zV@F3ÝÊî Ä‘ˆ˜GÛ†í¸Cšl”ô-"Ç(n°Ð§Çi§6?ý´Þ²¬vûày†³ÉpOÚtì'I:˜?Q¹eów5~½T“b¿@äV3ÅÕdç*.7Ë锞ÍÄOº:-ˆ^ÆÛö_ÍRCJŒ…E"r« ŪTM""6Seˆ<Š"•MçÍ~›M Dä(Ž^1˜2æ@½¥-%8 'œ ­šIDlhîÙóçÏW¢" J¦òüùÿ¯Þö‘Uk8ørÁV>ÿH„ŠEã˜BqD=9f* ¬ CãT hªX+½òöúÝë=ÅcoÚ™ FTY ¤ Ä-Ë|ñm” ‡hK/þħÇé­âÌÌúf˲צ$gG{Ó&·-Îdñ`µ%‰¸ùÎáA«²a´›Hð.¯-w—²Xµ…©6>?yâù+J"q‹·Ê;4“"!¨iRg`!K錨Å`D¶k5ëÍ¿qÃQFU7 þˆæ1ÊMÛ«jÞN všÅš+®~ùqÏ÷€S&°ÎšÇõü y¤`<dÆZ©j™z“ˆˆI‚Чó­õß~yÐ}¡]ÙRãÜâLbÝÈì’DFÄ6gR·¥ã+;7m&‰Ým™[bÜ<Üÿ Þ_-Œ – "{k¾EΖê¶ê)m:ûÉqÚȧŸ5Aä‰Í.š6D#ݲ‰„Þmp&‰ŒÞq[¢m“¸÷wb÷w¶7¦gˆ’ÒÉÖ± .z¤]Ëjo.ÜTWç\òÚNoÓ ¢ÄxÓæ$¾Ùïþ¯wI·8 Mᙢ1–h”ZÛxt œ„‰Q›7K…œ!zÕ˜êµõb¹a{#DÖ{ŠÅBs³uëz¾ûµ”kŒ¥¼GŠ#êÉѵñ¸Ë×ÝV=#¼÷d®¡Åµì¡¥ÆöÅCði!ž.·Æ½§†XùÔ8mWg²úQ ¦Ü_ž;´†›‰ã†íxç¶e{çC–Ûâ‚Äö+@äñÍ'6I~Ÿç3Ù-‹D/³kv{}*ª²î„·8¹ˆ‰Rw$Ø‹ñý«·¹°÷-%‘lË!¯ªy— ºò”u=qyN™Œ R}³­çt’†•HPÔŸÌ<î^ t)ЧgÎ¥’o*³ÏæU±ÛiLÞ\Zߊ‡$ÆuÞíÉ,Ëæ1ÁŸÕí#lëøDéòŠ\ßëù–ÅÅ0ûØ?ÅÒä…¢Þ”«¤f>}±‡KV‡o{UU6&ï_Öö%Óê[Ý­¤(âBaÝŒ¿é+fqÃöß÷ dvGDĹs0‡‹dïõTŽiX¢LDÌw9i¥&R…Ð ÷,Úz¾â2²H’Ëw?—;0ì°nӋΗ¹Dv`¿oµ-‡y‘H„ÚébÝ×4 Äi8q,î X~·Ê Ë"ª´YÈ>.ï-¨Žô¬apj¹2_}¾µÌÜÈÝ|ÓIQ(ØÛõä˜4/‰m³»­c·8;>{Ÿø§ø´P;]iútCþô8ML ÇJ@ k©©§{ëé\‘ù¹ÿáÂ$ FüöãBÓ ÷¿µµQ0¤p@¢ÞÉ…ƒÅC%æ{•Õ6 Gò1)6»*Œ¦²ÑÕô»g¨ÍrÁðD¯hK®¡ÔÁa‡Ó n[í½ýZœ)ìÀ~Ûû¹ß&QˆÜC y©P­ûªb<{â4Ö{ÀióÆ'#{³ v³\©lT÷W\&ÆÞÔx2×ó _ϪZ1¨ŒBÙ”‚AÑ(T¶ˆÈ¬ô6 ƒªlUJM‡È® ›o-z`ÄMÇ!r+‘/‘c–ó†'¢|üøîPÜS_Y*s5öéqšÜêDjB •‘¹ÜýýîDôÕI þ±q¥™ÊV:·mÕ ©©’+q_I”$f5M‡ˆÌâ¦1ŸUÌ×l¢­êô»KM‡ˆ˜Ç/Ç2š=ŸÊÇgi£:?•ªÈcaQôÅüf¡PsˆÈ1 éî‰Ä7Kå†CäåŠ%«ƒÂ›ý­B¾fÑV%§ ¡ˆ, >mˆ—ç— Ÿ†8 ï1OŒùö¾hmT*•Ê~Ò’†'zÆN½°NjÏ2o8Â6òu~D¡8¢ž®¶Í‰9pÖóúÙõBÙV"¾>íŸâÅ¥'ÍÓˆÓ$øµÉÉ‘¨TSËsÞýÚ! Gšq•¦R…Zç½7c„&oûA”]¶ÑâDdëEýÀÚô|Ù$rŒÜݑԺEDäòÉr4™TRÙê±ÓÎV­º»`E&5™<¡°XÏuž@¸UÍîo×Ös; †¨(ûƒO$$ê+e“ˆœF¡`ùb±3›ái.Í—…Xä\ÄiÌOÀgè.Ž[wtN¼þäÁÔÞëƒÃs³½Ó£f9gú{o¤!1šóåÖÈx2r/ý[8ëñ©šêirNîHr¼ÕGê ²:äy¬o“„£§ÀÜñÙeÓ3#×§8I¾ÈíÅ•Îd”2>ê½wïæ†ä•#jÀUqz·Ê$kSSÑ_,’”DfVìÆ~BÏh#wS¹pn¤·IxýÁ¯å6Ì£Ä&—'ã2¹£2õ©¨j r$™‘²‰Ø b-Ý‰× ‹)“ó7ÑæÞ~¥kSSqÕ!’”±Ù‰Î°Iði!~«˜Cœ†÷"ÎÍw¦J-"«4=Uê¾ì %{ðÚz®ÂÔEOï–ªÊVrµdæ­B!ß®'½gZ0æ›yð«¦/çRél,•¾©ÚD¢_Ë;6º£ÎtŠAºsò3I‘+´™FËñÆ2ýëlD$ø'fÇÒ©5Û­5qw·ø&<Óìûïù8tûO…³±»»»³³³½½½½½Í9wçÅ‹¡Pè3íî?þøþûïûûqMæSýþûœüsvc­ðäi¹aZ\ôø”øÈmí”;–/®ëïÕ2DdFnÌ4]áÉäDÜÿî¬iW&âYyquÒÆf¯F󉵕è‡dc37r§>ùŸ÷zÆ·®ë?ÿüóG¼³¿ÿþû§Ÿ~Bõø*ª‡c꥕\Qo¶8“ä`DÕTYDéè4N-½Sn{†ÆÓÉÑ“Jª1©¯-FϸõœFöæ”3»šú"æè©Yeù}žñý%”ÌOÀç!ú££™è(â(Þ¡ñ‡’·óL€RÑ‚vz©r;=wã‘­ÊBÞ‰ÍðAÈ惇 qdãÈ·“J4ø>Õ@ŽG¤üR¡¡ŽúÏÛ9è4òóºïö}ïyyÃmüï¹Ãqõ}׈j26¦û%š:OÎkïª7f,-3æGœ8-¢?ú~ašˆHÍŒ¹Wn]WGßqëÄ——¥k™ø¯wŠròá9šCÀü4À—ÎÍ¢™3ïÇ£+Õè¼éøb%ŽÿÀ™žµÁÑÅÊèY¿ Á?Y,~ÀSÅjꜵ4æ§§§§§ŽÁ9G#ÀézõêÕ… Шç±t OÀ‡EñÅ‹¯^½BSÀ)f¬?ÿüÓår¡)P=ÎcéÀóòàÃx½^Ó4Æöö6Zã]×ÑçêÕ«?üðÚÕ¥Îcé@ž€Óßßÿù>ØP=Îß±&@ž@ž@ž@žäiäiäiäi@ž@ž@žøÜÇzÿÎÎÚàë³³³Óßÿ»3T”äi"¢‹/noo£¾>ÛÛÛ/^Dõ€³*ÈÓð­`Œ¡GøZ;EƪœUé@ž†oÅ•+W^¿~½»»‹¦øšìîî¾~ýúÊ•+¨pV¥y¾}}}×®~K?IIDAT]k·Ûh €¯I»Ý¾víZ__ªœUé@ž†oÈÀÀÀåË—mÛFS|5=âåË—P=à KÇwhSø¦¸\®þþþ¿þúk`` ¿¿ÿ»ï¾û¬€S·³³óï¿ÿnoo¿zõêÚµkÿƒ0}¨z\ºtéÂ… ¨(ÈÓðíxùò¥ã8ÿüóƒp¾ô÷÷_¼x‘1öã?~ÖeGVK—.½|ù’sŽê€Ò< ߺÏz÷|­úúú®^½Šv€aM€< €< €< €< ÈÓÈÓÈÓÈÓ@DDÿ&~&š#Š\ŸIEND®B`‚murano-9.0.0/doc/source/user/figures/murano_actions.png0000664000175000017500000027347513656750211023311 0ustar zuulzuul00000000000000‰PNG  IHDRÍÐ ÐÐsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{\õþ?ð÷Þf¹Ìª».(x1DCS4E¬0L±¼äýrR,µs”ÎW8ßÎøÀ(Áò®”W4#MN¥¦h‰–¨xAPYV]bag/óûcQð‚Y¡¾žavfvæ3»Ãç5ŸÏgF¤Óéà!£93à }ðEÁj6 µµÖÚ«‰ŒF+o4U”[¹*‹ÁÀ—þj®Ô™Ë´f½Ž×é„þ>ÿú·”aPè1QKïdº^võ㨶F°ZÉjxÞZÍ™¹*kÍ ²Z…PáÖ÷ ‚`ñyÆ/ñ“ǵ(M— ¹½™öv~ÏàƒO¬·gžùx¹ùH¶\"H$"‘H,X­$Ñm©’ˆˆÄb1‘H, D"‘H ’æŸ>ý÷ðÞ‰“DòæLM‘!c«¸M[äL@ÎlJ‹PÁñî,cG$Y¥‰D"‘ˆ¥"‘H*•IÅR©T&‘HÄ"±D,&‘X,‹E"‘H,‰Å1¦[eaãI܇†šËÊÈl’ºu|€emQ[$ÆW@Îl‹¹‚7'ø©»¸v‘˜H° V‘ ²’`K[ufE$²ýWÄ,‹ˆHl4 ‚ j}e¡_ù±aÛNÿóÞƒåLhqάVSm­T$ª2›ÝÚ«- ‘…D$"‘U°ŠD7ãH$"‚¦@$BãZA ‘H¨­!±Xdg‡Åc‰×iuü]ç`TjîS/N[ åU¨ò@ëÊ™"‘ˆHˆÄDR±H ‰mC4I$5ÜûÇö³H$$3Ï[¬VF*­›á®QóüùóÛ¶m³X,:uš0a˲DTYY¹|ùòÀÀ@¥RùÕW_ÑsÏ=7tèPq}U½^Ÿžž~ýúu‰D2uêÔÎ;ÑO?ý´wïÞ‰'œ8qB$=ûì³/¾ø¢m+Ç]‰¬ýå±!#UïFi^° 4½þþ¿D$r>ÒiÑÿpY{*?Ijj«¥Í¸7Ú½ùVã­5ìÜ^µq…3ˆ;|¼ê¶}¹:qŒ¥¼¬CRšÜ·7>g9]vôä¥GL÷˜K6x馘Š ¿ˆynÕ’E[ΛˆHæ9&>qž‹B?N ŠD®ýˆ%uéT ¬V‘XLmÛŠÜ:‰{øH ‘„Œ”Œ›$›4]:uVMè˜ÿ^¸ðÍùóÚª* A°X­$·k6kæååmÞ¼™eYOOÏ_ýõ“O>©©©ixõÌ™3»wïîØ±£ <}ú´mzUUUZZZEEE=AذaCUUuìØ‘ˆvîÜ™““Ó¥K«Õš}æÌÛRåÿ|§ö—v}ûÙ÷Àæ‘}¿Rg"b<»Û Ätó"".c«¬s»ÏŠY¶jëç¿­_}3·,ÿ@ÿÉG‚Åb?p°¬c'±ƒCã}ѧ|h)/c_z!³µäÌÜBÓ½ç2æ6¹ý².'s¿–ˆˆ?·|Üèè\¾§óìù#'oÖÜ{F>7zô¸„sü_P0Üþù/ÞbääEË÷iZº)-/œ†“;òHÛ[›½*[Ëãã ðÐñ«¢m!“ˆL…;£SïXóh¨üh6Ï9?›kIÅâ>+?|ÁŠÉ#—ä<~ôRͪå%ß kV-Ÿ)ÚŸ[Ì&©X,‹ÅDb±Ø*c$ "DíI$‰Å$74ZšòN_¿qƒáܵkyÚkc­ÅÞaø-’ÞòÖ¶–F___¹\NDC‡ÍÉÉ9qâDCÎd¦W¯^‚ tïÞÝÙÙ¹¼¼\£Ñxxxäää( [_Ùž={Êd²³gÏ6¬V¥RÙš@{öìùÕW_UWW‘Õ` "²XˆH$•Öm‰X,Øâ±X,×Åà†ôhk–4—]« ½I Dä´$Ú6ƒH~Klæ¶}.˜ÍŠIÓÄŽèÐz0"*O{)s3ß~HåÚ_¿té­×ßøs sãNUÓ¹ÉsCユk÷/MÍ*䈵ÿÔȨ0/†ø‚ŒØ¸Í¹:žˆT~S#£Â¼ló_¾(òÀ¹kÕìÓãcbfû°DºœU±I™çtÕ¤ê?5"j‚c{³ Kb3s¯U3ž/GŽã¯"âr7Ç&m>§cˆÏ ðˆw(cæÌÌÐ5kÂÔDD|nì¸h>jSŒOqFB†-OÄz†,Œyç;ÿ²aþŽ ÎsäÁw.#!aC®ŽˆQù…EDLða‰ø‚ŒØ¥«r8Vå>x‚ß©¹S¶¦¯˜¹Dµ5ÆÑe¯ˆMÍ*äâŸÐ…³ýU|ÁòÉ‘ú aLöÂkZã¿0.*XÍlH:ÀÎZf;ï2jŸÐ¨dÙüÉ©©9A1~ç¢Ç%)§Öï?U|M«SÕ—Is›tËAÓäæ49¼L?/|à ¦rww¤Âê†ßeîÍ^~¿¥ò¡zH•ÛŸïm5±O‡.ŒšÀÃgD§fäëy÷ ˆ¸¨`5W™”¸!GKD¤˜¹p8›½hrªgò¦y^ ñ+f.(œµiY·/!nu¶†#b<Â##†{Ü–EtçrÎ5¹5ëéï÷§æç[jV¼f_RÜêìú [Ô<¯Ý—™š­cTjÿ°ͪ̀5k&ð æfÏÚšÀÒ£[³jñýf…º;ÊZµúëv #‘Ôh.YkkÅöwËä ¶k[Ö*‘ÌÑ±é •••DÔ¾}{Û½‚X–•Ë嶉6nnnT7@”ºvíZ^^þÛo¿éõz"rttüùçŸA°Z­ ØL¦ÚÚZÛR¶Þ³¶¡¡r¹Ül6‘ü©žbLJT¦&· _@w5j./3ìØÂŸ9Õ0ÅZÍñóÅööò^~Mç·\/ç¾ùÚqX2g´Ö5U–!VÕÁ”·¿¦b}“|.“³ 8bS¼?ß«¿”p@µ)%@Åå.Ÿ¹81spZ³?iUqhÚ®0âµû“’²Î…xy™®?矸é5—›0sñŠì°”á´/6ú€{ü¦e~¬vߢ™ÑI>›"ˆHŸ“£N^³Ëƒ VÍ OÍšà?ÍNˆÞL Óv«‰ËI˜ëµ&ep˜ÇªŒ#Ú°05.3‡ ˆ÷c VŦ‡®Þ5ÁƒÑfΟ™ìå÷`çP® ksvµçTO–ˆËIZ²Š›¶5ÔƒÑeÇÎ]’à¾)&@——Z”¼k¶i2£|mro¼¼63:ö€GÌšeþ*Òíž›à³)ÞŸÒçd+×,KS“nÿ¢É©› ÞaŽ×»‡ÝzqO晘t ˜÷cˆ¿väœ_ZÊ<i3fN±•I³›tËiN{$uéêÂÛv«ÃËÉkÞñÁeYx‚yN ÊM<`«î8^8˧¹œpKåG³ù¡T~ –l ˆ5{TºìØ™±±>›â݉¯>·Ÿ’“·Æ°Ú̹3S7¼ãQ˜¹B;!mk˜Ã¬š» rƒÏ¦ ¡> «³4³½¼â5YG8¿p•6+21÷©ä­i>¬.;zflRvÀ²à[ö‡;—»ô@õ­{'{úÏnÛkT³âÏ­ˆL* Z¶i¶Ëå.Ÿ»$ÚsSÊpÚ›”ë³5ŸÕî]ebƒ—š•ôÁŠLLâaÔ‰A°ÚÛIL÷ûf%Á"Xm÷Ÿ𛡢¢¢!FÚ888F«ÕjûUÒ¨«­íç²²2[ŒÔjµ»wï®ûôÈdç”J›ÛA±X¹`‘þ£ªvl1æŸw~ÿÿ‰mšÝlÃî }ò2‘T*ëØIÄÈÞHD‚ÙL"‘¤½ 5×û×°;ƒˆDrÔh[!þZvfv»gÖ–-…·_ÞrìïqŸÝØ€˜­~IJDÄúøÈŽêyrW©íþÌ}ž¡~ÁñÁDÄ‘rðx5±žý;Èrõq…™çTA ýX"Rß@,K¹DŽ~B<"òð÷tÌ*Öóüµ¬òP±~c‚ØûÎq¡ƒÇx¬ØrD¦ær3r˜Áñž ÃÌ[³“cX†ˆÔýÔ+h9ò»µE“׿fçòžÁþM?šú¯Ã_þúæÕÍÁSãâÂÔD|af6ùÇÛ¶Jå?~0³8ëï£;PÜ!(ć!"©þ«Žko9§ï+T-´½¹* Ì/):«÷w$’ù„Õ튻;Ë]ÓÏjyrìÀ6 ü*¯ãˆbýBýmkòtwäŠõ<­¹M ðo¼Ou ï,n˜¢ ŠLFÈ€'˜v_ô‚Ä#zeÿ—gÍRs±¬.wã¬1‰Žý&Ç„zÜûoäïªüð…™¹äï¯""U@Ħ­<Ã’†HæêőꩧluÚ—Ãù,´ýg¼BCÕ[2kg‡„ù%¥fif{y‘&óçáÇš¼3ˆaY"Rù¹Óêk:"öÖMŽH[ÌÏM5+9þÏ™Í׬ø‚}Gtžá¶öBÖoB¨zff®.˜=PÈøÛnɤž²úÀz\jV˜3ôFÞ^*%"‘Õ*ˆ¨ÙAÁb±ýPc6‹E"‹•Zúd“†›ÊÞ²ZAhœ!½¼¼FŽi©/AìîõldžË{ö*ÿßw§sË—üÃeyš¨I"­=yBŸ¼LÚAíòÑ ©Kíœi|aÁ=7XÄ0â¶í¸½™Š1¯ËºyáÄÖš0žº³*&|©OÓѬŠÜçzt¹™©²l=O¸bBD¬TrĆ™ s¯1žA³/ õ""£ªïQ^÷§¯61 6l'Hžˆ˜Û7ò:‰ñql˜QÍšŽWs¤òã™´åˆ6,¤83— JôdˆxÍþU©;O]㉈×›šžA5/ÞrO%ohr^hE Íœ?sƒGXÝ)ˆ×éLÕç—Œm›Ÿç«É‡ãøj^ƪëÎaŒ£'+»%gê«MŒºaW•Lu!Ç“#1Ä4t­·ýÏ(Õ,oòW×éL¬'k(Ë4S&M7‰èÖLÍúÍKN¤º¢2(2-*÷€'—”tDODúã_¯>Þø•êãI û§ ¿÷ßÉßSùáuºjÆGv³îÃÔ݃eo­PµžcnNd•ŽÄi9žõ óã’²4³=(óùGù±D¼6gCêÆãÅ<ñ\±‰ h¦â§•F±uQó©Y©Ë&xý)—ïP³ªÖs¦ó “G'ÕÕjªÉãÇG¬§cÝv±î¬ìÖc÷(׬Zþ\“†‡—ÜÇüŠNîm:¹ÿV¬1[QÃ2ÍeMµZMD ­—Tß“¶ACŒ$"£Ñh[ÄÖþi6›Uª×#¥n;¤|V:ë Óå˦+—/ý_µ%ˆœþç=©K",uÛ&’JI,å×s3­¸mÆO&©ô·µŸVmNwZòµÚG†>‰øs«²‡/ôܰ¸éÖT1K}îód½™‰HK V3Äå,—P÷÷ž<›x]î†È%‘žÚ4µÙ ‚JG§áên7Äi5ëÑì§—Q©d¼¾þÏi8™Rɱþa>©[ŽtÈÍU%{1D𠑉§‚’“ã}X"ÍæÉ³šfÖ½ƒŒ®™Ô ç±f©C"Â2f%l³fžCŒJå¨ ‰ßtk0ÕícL\ýˆ¯.æLMöN[¿wT­çÕwº;ªåêÌÌ‚°yNúºìŒBG¿Ùî 6_&ÍlRs¥ì7/9‘‰ÝÀ…F½ƒÕÀ“]ÿ)ÌʽsÏÃóÎqÃØ?²òs[•F§Ñ’ºùVEG%Ë7T#8}5±,C¬_˜?ŸUÀ!ÿ†H›µtéϸ´5þ*"ݾ¹ã76¿á¶¨™{ÀgaL˜×ŸÞ·éÖš•cVÖ?bS¼ãÒærXâõÕõÃÛ*VvͪÅÏ5qó(’HÇ'Ašï KÄ׫J®’H$‹±ÄN"¶“ŠÅ¼±™Ü¯T‘F£±µUVTT‚СC‡†ŠŠŠ¨¾%óÊ•+DÔ¾}{ÛR¶_€ØÁñè*X-B£Kõ?óçÏ‘¸]Ý@>Ó•KuK9²’öÎÖÚÚÚ4SBŒL1z,Õdÿ`ù­ç¶Ö¡î:ϼ˜Ù>ãÒÖ4‘¼°î Æ4]–ã~æõzÛÁ]Åqç27Ÿ3ñO|ÁªùóWärDĨÜ=• Ãßñ{êÉØ’£#"íþ„¹ RÏ5ÓjÆ3ÄŸr6gkmWwá|B|X"Rù‡ùh37nÎU‡†z_­çdJÏ,¯ÍÞ’uøê&1zø²];w~v÷¾ÁŒÇ„…!üθ OÄx†úñÙuÀkö'D¯Èåˆõ|ºÃµ¬#<¯ÉÚSÝÌÞíÌ刈´û7ç’_ˆçÎ\Œ×Ô…AüÎÅÑ›s4ñÚsû'û…ϺÓó¼šß¤;ôìøe™ðÄã´×î6ÀíÚ5ŽþØÊO]•f¿–'âr’æÎMʹCÝÇcø`öÜæ, ODܹŒ ­{ÈÓj"b|Býù#›7a‚Æx2DÄk9b=ÝUD¤ËÍÈÔ¯ãù;GÍ”ø¿ dÞ^³b<‚«r7ØöŽtÙ+¢—ï×ëîï¡ÏÙWÈ‘.{ËkôøÔ¬ZÜo¶º¬Œ¡¡U“êÆ\Z­ÆZA ‘µê7ãUMMþÙëÇ~’X¬fô5Æ“×u×k¼Å:hNÿöM:©z{{‹D¢+W®èõz•Jµoß>"óâ&ÅÙöŽT~"¦ªˆ(tqxÎÒEãF³*÷ÁB=÷gÑãR³étºû™O³Ù"X-ßE¼sõèa1Ñóî®DoäR‰EÕÎ*•ZjnÅBV«•7’Åbå‚`ýò+«;tpVüVaÏȱàöÚÕ¬ù¢&7Ñ)((Ø´i©T*Nçîî>uêT™LVYY¹|ùr…Ba0Ú´iSUU%‰ÂÃÃ]\\ˆèÆ«W¯®¨¨ËåmÚ´)//5jÔ3Ïl‚ X­V«Õj±XL&Seeå³Ï>‹"x´s¦\.G΄¿0gZ,‹Å‚Àc›3þÌÀ)‚D"±X,ó'<Ú9S"‘4þÍJð'ÄËÆ?[­V"jH›ð¸åL€?“ÕjA\ð8äLTîá¯bK˜¶&M±XŒ¶t€ÇB&üe‚¥í†@Ÿ €œ €œ È™€œ È™"¡‘†)(äLäL@ÎäL@Î@΀Ö@úÃ? àÑe±XL&“ÕjEQü¡Äb1Ã0bñ½[+EF£å A¬V«Åb±X,<ÏÆâââAƒµ(dâ ðg²³³»gÔD¿Yx„™L&ÀŸ‰çù{΃œ 0t—h…•päLx˜393993993ãÅÄÑÏ=7ré/ÆZ:/qôÈÈ_ŒT”>ù…¹‡ -Z¸ôЗ?U4^ÉÃgÒlûχߔÝ}&ÃŽ‰ &|î¹çž{“'*½Û¶‹¾ÛûË÷´â»¹/LÞVú»7½&MìŠw)Ñk?翲"ï¶‹/šîÿ-ôç Ã>/¿ÖZ>ŠügªôûàÞçªò×üoìÎ’æË®ìÀþwEnÍŸ[5yc–üïÆK&œ¢ RnÖ¡a¯©NÓèt:¦ÏüØ%#:7¬¨h{ø¬Csv¦*¨â§´˜e»Ïê8R ˜±$zR_ò¶Åǯ=¦å‰X¯—Å.dE†§è(bŠvFœ¢…ºèq}寢½ËâWÖCÄö™´dÉë¾ÌÅÄñºI¯3‡¾+ÐjuÌ€E KŸw%Ã/i1ñ»ÏrDĨ‡Ì‰^4¢sÓ ªÏÏ7{¼æ|—ïIé7˶ë†%¤.hKt®¾¯.MRí=«bˆ¨aWx"UÏ×–ÄÎíË}±p»–£ðqy‹Rãho߯[²©á—ô˜eégu ã5lþ’Å®DÆ‹Ûb¢VãX•ÇI}N¦œœ±3íyEÓ˜™«±ïùü…(ýµ¹[«GøË~¼X[f0S‡ö1#œøì‹‹¯»¬«T™~Øuñ3e—Ä¥á?·I}Ù9_8ëgû†½EâD7¥¦äƒìß.‰HÒõ)õ»CÚ(Í7>ÙX¤¦Üøõ_)qœÚé…6‰¯òW8¨ž¹Q}¡ÒX&aç uü9G^ÏW:´íÖ[NTõÛ'ÿÕÒ[‰ÄººD UvZN|•¿Â¡ý³7ªNÌe7Äú¼ÕñÆÿí(»ZCK7^š8Ú½÷å’~¾QIÄ“ôÿŽïú90ô×TrxãÆ}—kíXçn=J¿»4ôÝO—·‘¦DNìi¾ˆ[KS"'º_þâƒmÊðwǸÉL%?mßþÍÙòZ’º>:at?—F+,;üYj¶òµy}o9b5šÃÛ·wÉ@D ÷¡£'u³§²¦œ}æyeþ©R½Þ@îÏO™22?H- }wžŸ‚ˆÈûé™ÎáïŽq“Ýž2wíÒû~:o‡SÀcâAúÍ:ûñó ò¼½iërªîwI™Ë qÓ&MzÑ­…qQw|÷îý?–ÔàxÁïTz8]ÓsÒ0W×!“úh·}_ßÙ“axÍ÷Ü«±kÖlÚ’ôª6%fwß=¬˜‘´fÓÖ±}N.‹ÿ¾¢¹äº7&ê{%[¾ýö‡3øµQË~1/®IÑŒHýúÛo¿Ý8ƒ¾‰OùŨŒŽª^JؘüºúfZ]µìlŸØ-{víÚ™ôºneTJž‘ˆ!ݱCª9Ék6mݸHu8%ý¢‘Šv/ÛÎÍØ¸gÏž=;“^åÖ4ÓÕUùTG?×»|¿ ß°^ísKjp ñ¼¯‚ÈøKJÌvš±úÛo¿ý:õUÝç1k/]_]Ò“QÏIÝ÷<ÛÌ~5^÷¡ø¨tš±zÏž]{¶,Rމù²”¨h{LJÁ°¤¯÷ìÚ¸¤û¡Ý¾ù„T~*Ÿº>ý`mu1Yj¾£ö1㻯žÒ±ëµòÏJ„N¾ åuýéDDtƒÛ{Mú¼¯]Cx“IÈTÉñÏt˘âÖíFEì †zmží³yœ3sþ×å—LDÄõçËò¿õL›â5OέϩåIÄH…2ù¹nÉSºM¤ª„ïk_ õL›Òå%¾ò³Ë&"ãöÌ«?·sMí³yºû³×J£sjȶÔåšÞÏ{&¿Ñ#éú&[÷«¼í»!¬#Ófé”n¯Ê ËsŒ/Œí±y¶ÏæqíYMå…æº1ßûà–eoþºÜ÷oïEGýsÊÓ¥¹åf©ôžWMšÌµ™úáïý;>rŠû¥í›²oöä5änþì ]è›·…LªÉß¾vŸa@xdttô?†Ënü"¯†H&%sñ):cÁ?þùîD·â}ß\&ç~liö%[ghÃ¥ìbÖo`“ lÈÛµKðÚóÎö8A<> ›’ÔmЋ#=eDdêa~ouÞ¥55}»ã?>N~£z”ì>N#–¼;̾ðû-»÷ç•ÔI•Ýú;ª‹ÌTvtëz[{fÕ~¿eÇþ åµf©Òwä¤ñí‰jо߲e^y-‘£ÿ¨ña¾†ô÷ÒòÌD´õß?N{~/TFZSIf/»Û„Ö§èËmÜ€%DÔgÆ.jÛÅQ ºÛZUÃ^í© "¹Ç€ª•‡ *&y‘ǫúˉHÑóù>Ì7߇±·W’O~yV5lQ_¹ŽHØ9„ 9-ØøµA®‘ë€@uÊwZŽˆm&ö;¬Q¿þª¯‚ˆä‡½î•’ò†AÄô|}ˆ+ëáÁrZ‘—JEš½Û¾óxu€oçW—Æ5"/Ð;u¿Û1àu±=UÍwÙ•÷]ºs§Q^W }Tk5º[_ïÞÜ~Õ3ì=FlÛ­èóú06|ïYÃþ;zØ_9u~iÆ€•Ǵͽ5—Ÿoöí|Ïáúì×%Lvé¬Îýˆˆ˜ç½ì"’ËŸr nX7e Ãå½WMÏu—é5ú жoµS£E‰q|ÞMFD\Iå%F1Ïvõ«M›×:–F_¨å=$D¢n¾m;I:µ—TëÍDD$rìØ®‡œˆ¤Dím»I‰ˆyÊé­TUõm¥lTh%IžFþyNÕ¯ƒœ‰DŽ•Ï8)Û32#Ï™éf³¡Dê"1ÿpª²ÇÓŠÞJå;¯(ìàŠO•³¾\eD¤ðð¶;U~ïoqù‰³µî£Ÿv‘ɺ….xÏ,µ'=QmþÎÏv††ÿ­ßí›c*þ)Ÿ¼g t±½ÑОҵ?›|‰Èù?7Ù;»+蔡VÖu€ûSö%ƒŸŸÂŸ]ªøZ“¶ÌÜ]»ô›à&ÕŸÂYà‰Î™ØÛK‰Ìd&’J‰È›UÖDXöº£«ÒöjìºO ö¨9¾;ãÇô4³rÉx·FËÖÍâ;îí`ûãéëw¯Úá9Ùùº´½—¨ÛˆIŠÂ=[L_e÷Î;#§ )Y}X¯2mÒ O„ÌÖ’2¯îIY¯™;½ŠˆÈTvt}ÚnsßéÒz“¦1/ýVþâ7õSØmgçDö•ú²¶ð%g]Y:ÆñDD «ªO‡,ËðZ¾ic§ãxƵ¾¡Ln±i,ú~eʶ“Zžˆx†Wßaƒ¸"Žn¾£R¯ãˆˆ!†©_eÝÿN#bSiíÚm1Sb´lÏQs–ÌoÒo¶Fs¢Ü¹ŸÇ]¿#ŒŠet‘:75 yߤ¬üò¬Ž'"^«£>·oðÝö‹×éx¦gýÎÈYW–?Æq<Ï3¬+[?±;Ë4—3õù§j\_r½÷gçNã3%bÇú“™ŒˆÌDRù ¾Òݧ8}wöD^m'ߎˆßtG&—²R"¢ê“\V¿¸ÈÑAbºnåIBDŽÍ’L"ªSb仄Xyž¯&~ýg¿¨›"˜ì83‘Œß\êö|ßæÝ±®Ÿÿ¨_¾µ´LÂúwœççpûU‰û8¸fƒ™ìÛÕ]ê‘Ù9ÛIï3‰ãj¥ööu;/³¯¿Pd.ÎÜ\l¶ë©´M0i¶}ú3GDíž ÷6˜k‹×¾ck-5›kÉÕPKÎDRiýšêÿ´È\ž¨Ìξdðë–ÿS©rÀDªÉ_óÁÚ‹µDRç¡ó§»îËÔüm‚‹Œp €'>gÖô:”jÊNî9YKäìëaO¶.­Î!“ƪˆtß§kˆœCÆì£"ê,ÍË[}áÌ!MØx»†•Tþ¨!RôïìBÊ‘?¦ç*Òùºd&ÅQ}:Ê|=T=.ÕØÛË\nöDz{7Î.ˆ™­…¬ã«³_\—–¶ŽæNò5_Ÿ¶ß.¬U‡Ìº;ÍÙ¸kRý ËÒm3g¥3ô $"ž+åŒDr"#WÊ˲DD<§ãˆ¶<É3*¶é¨9VÅ2\Qݲd(-âØÎ|zDüÉa©©‰¾ ¢¢ôqS¾k~‹älg–N6¼¯ÓÑÍ Ö4bu± nÄ2–JYµ»Ï¦×]o‰þÅ?—+Ÿîv÷é(zŽðâ—¥®èÛè®?¥{ãÖò¯/z‰_‘¢±zõëådÌ‹³ðÖæL*Z{·ýbT*Æ“ë34£R± ÇðÇ9ÕMl®ß¬AsBïàþp¿ÞâN^J—Ÿõ§¯ ßèå#ºÞñ®KŽ ‰Ìhª6ÛN‡Bu•ÅÑAÌ<Ð[2 ã(a¦Méþ‚CãÉÖÓ÷\P©œ>B9¬z͵è½Åë;v«½¸¥Wª’©²ÆDJ‘©¶¼ÖÜp’77dQómg}–µ3—̶xn2”éÍJ"¢vÃg¸LÝþÅ ·7û)e¡ "_ª{»R…ÝÓ3"'zÜòu¿Ãs]ü(þt©¤ö§rç?%uøH3‘ÔNš¿6Ÿ+ÏO;HDæÚZ3­K~><<ÈCñq0>Ó|!=!>>>~ùê½—ÌvÝFM TÕWsTÎ ""“¡Ü@D Ûo$µWÚÕêkÌÃjy é÷&DDDDü;]Cd.ÓWØ–sSȈHÖÆ³WŸ^ž*Ô7Z+•ÿô¹/Òž?ú(e¿]ØÛ“{µiÕ›[q8ý˜jÄ›wò!×!#Ô'ÓÛ]êyÖ@DÆ‚½‡u^¶¯æË//‰ÈpòË“¼W GÓ°¢èóª÷}ú± "*ý.~VxÊÙ NÇ1ªîj‘±ôPú^-ñuÍ£Äs·ä,×#<´Û¾Ì3‘±è›mìç=š8†_âf.H¿h$"¹«WwUÓ9L¥'4öO{ßk„£Ó°ùo¨Å,ŒÛ›Wj$2–þ²-2<þ¯VËyŽgÔ*9‘±èûô“\ýÖ2<_ÊÉx§ýªKÍ^#бôÃ¥DD'·æzŽè©`½ú¨µ{_4‹¾Y{¬¹½Ôh~*wî×í¡_EjÓöU…q{NůJÕ³wþp²”ÝxÃnÛ3>ª~Û^"êåëÀ<à;¶yAaÚþs5GDd:}´èƒ3wybŒˆ,Öj ñÚ’Å[JNß "±²½RÒ(¶äàÚ¹{·«Ìû¹ÔDDú³ÏÖÚ®Ù)íjËK8""C~ö¥Ú[¯9÷ó¶+=øS‰‰¨F³ï³”M¹z[štwvñ{mbÏò]—™ˆìuìIæ:°å{Jo""SÙ‰m3óï2x^é ,=ø]v¹s@O‘¬~]ö2{¿7ÿÿïGGGGGGÎÚήçŒÈ™ƒiÏt ì&#©ÂÅÍÃ¥Œ¨¾Ç“´®Ç–ÂÙž¨ÖPn §TDfC™ÈN©hüfvÎöDzå¹³Õ]¢—JÒ‰ô5åµ&j#3éÎÏÓÛwëßGãÔš£¦lÏÒ!#[yÈ$*ý>ý¬zĢΧ¹á±2ýûÒ*bÔØ/#&Çk´:¶ÏüØ×:1^Chmøä³Z-¯²(v˜Q“^ŸN#b£/Æ,ÿBOê>¯ÅÆtbÔsDÄ™¢R{½:gÑ) —z¬^ôü6*b̸Q‰‘õ w~-aIiLÔ˜‘<£0?a¾¯œ.6³ùŠž3^WÇD¼¼–gbÔ}æD¿äzk)?¡‘z½÷tä¾sSWw^™²6b|Ѩ‚ˆøðDõêI#ðñá/Ÿ“ÝÜ~%Öocà’XMü²Y#—ë5*6z„‘ÓŒ%oÄ„¿œÎª½†½>L}òl“„|? ±õyûÖñ™D²®›î47ó¬/³â‡Ú^/²w+—6ª¨k?8X0ÁHDÒ^þïxHš$½û$-ÔõÚ½ÊJrìÐvžŸœÈÚüÆ)Û>ÃüºtuþKa¯©K–o<«'"‰´·¯Û4µø®ÌeèÄ¡šŸ½÷“”uöî׳­ß¬K@è3g·'ÿç˜RÑ®[Oïv—nÙ5™ÇèÃ7oþìý}µf;ç§GOp!}ý!²÷=eà‡Ÿmú®Ûü—«´÷~mÆÐíÛ“ã2‰Hªô~áµ®öDµw š=*wí*í:¹'NåO‘Ñxÿ‹·=×Dê7÷ýÉž·^p6]Ý¿üÇß¹ïO÷”‘îPJün´[ðø`ÃñÝ»sõÊ!ïD¼êRvó¹&†£)ñ…_ظ@¥þÐÞý%ÊàÙÓ} Sÿ½õ’´ÛˆIÁªÂ½é‡KϾ½d¬K^Ê{黣ƿèÛ£38‚ X­V‹Åb±Xxž7ÅÅŃ ºÿ5ܸqã¡lIÅwsǯ}~ãmýP‹Ò'×?¹’‹Éã íLˆ2ý£éüçó/EÎóÃ`xøî>ƒøy_Uàì¹#|•%ûÓW¯ßG݆L›;ò¶g_ªM›ÜCš—±úãÕ—¤žÁ#û«¨ÿô¹Á=š½ëW§6xô7wTgÙw ôSPí…Ý[öâÙ&áÅ#G/=TAD†_¾<¬óxÞ!à1×¢~³²§f'$4ÿJDZï%Œm<ÅÞsØôw‡Ýuum“q´=ŠÀE‹EÅ!†ˆõ¶(ö¶¿ðøiQ¿Ùß©æêɬôôÃåv~o¿7¹3z¿>ñZO¿Y¸U¿Ù昊ön9\NvÝBBÜ2SÒ?ï­dOÍŽO@‰<ÞÄ(@ÎäL@Î@΄'æã+Æ ÕUÂQM‡G˜L†'äü©†A΄ǙD"‘ËåhÕøˆÅb;;»û©~KQXð¨GM‰D‚rhE‰EÈ™€œ È™-"ýá‡P ðÐræsÏ=‡R€¿„ V«Õb±X,žçFcqq1ŠàQ‡~³€œ È™€œ €œ È™€œ €œ È™€œ È™¿E+g¸šðÃG£¥ñgª]–üûWâäääîî.‘H3 µÐ,}ïÆ©“G‘¢ JãOÍ™Dýúõû=kày¾¸¸¸¸¸¸K—.wŸóúÍê}·§ì®s|t²æ~Vg*\·$"âýWM8ö·êãǤ,+’¢ÅëÑÃ0Œ››[eeå=ç|œYvòP9I•RÒ?ú0²¡ÌíÅiÓ¦ TÉpäb Êàeooo±Xî9[˯"˜ÊŽÿ¨'epXà…Õ»s,9¶³¬î…£[ÖíÎ-7K}=Í ©ôû¸„½†a#¥û÷äéÍJß°iÁæ½é»/èIé;nît•©ä¿ë×çÙ?ûÎ’±²Cq { =ÆRÞs¼¤Vªô ›;Þ´U2Õ˜dö²»M€'òJBËcæÑãzr|ÖÓoˆNþXR×¢©ûq]Fn¹´ÇˆiÓB\ ë’¬LJd¾°¿ÐsdX%éó2>N¿Ðmä¸gIŸ—±»ð–Ѻ™÷žT÷¬³YŸ›‘QXƒÃÔSæÕ=) ëNên~.Vŧý·ì±ïû|ý«7ú÷ïß¿ÿáq~ÇÀuã‰Eƒû÷ïß¿ÿàùG0þžðœi*9|Ü@ν<¨ÆìÖÇjÏÒ˜ˆˆª —)ûìõTŸÞUܺœòÙ‘}ü_ t&"EŸQ}ü_ t#2—•5“"•ýÇŽìÓËÿÅ7"sY‰‡©’u|uö‹´'mÝIÉTvt}Ú~»°Y#]М áHd-Ü÷»®åÐúµ°ß¬IsèL-Qíþã÷×MÊ;TXãù”}­¡†ˆì]2"’)\Dó¡B¥ "©ŒˆìídDf{)‘ÙÜô]n ""{;;"¢Z¥VJå?}.­Kûø£,“ÙmüÛ“{= 7 “;uéìjà‰që"—ã3ð§¤Ìe‘YÊàñÍ™5…‡òjIÙ?l”¯Âöûž­‡/.¬yª—žHo(3˜¨Ìd@#ä“5e{~”Ùë ¹+µbpÜŽ¯pàÿÌ”“‰” ð8çÌšÂÃ̤ì<¨—‹mŠ›~ÿáÝ]¨êÕ§³Ÿ3•”ÿ¸ûg°¢ð¿'m9O*y¢fŸ‘#Q ðǤÌËb2+ˆˆ%BØx¡éÌ${ªéûÜ)”\Ø·îÓ/²Nœ)刈XWï~A§O{¥w{ã‰EÁsòDNakwGö¶ªl˜Hý’÷¯¬h²>ãéÈá3²¸Ûg¸þÕ/Åä‘SXúîÈ·Ñ4^9ðźY'N_)åx"bœ¼û ;}lP—Œæ4œN™>c}‘kXòç‘ÍlÞ]KNd~±#ëȉÓE<ÕFï~!c§ êÒdMÆ#‹‚ä‰\ßÞþÕô.d¸°ïÓO¿8P_ŽŒSçރƾùöýÚ×oÜ‘EÃ䉨óÛ»wLw»ÃV”|>vÔ‡EDÄ MÞ·¬e{pkÊt=±ËÇëñx’úï‹ç%טHìÖ·ÍäðñE‹ß¯*oéjdL@X;ÙåßNV ÷ýŽ-WVû6W]ù—¨ëKªËÕjÎh­J¾Z4#æ`E£)\iþÁ/bîØñµqNuq‹Q(þÈ[÷N¤ÌŸ¿þ ßx_‘4ó㙟ö{{eâô÷•¶JvDα…LvhìÚ–…LÃ…Ï#|x´âÖ©\iþÑÌü£™Ÿöš˜˜¸hpû[^”Ë"žˆ¯0®|9=æ(wËÈüpNÖÁ|žüF9)zÄ<È}u dúÍÍ’;Šl7èÞŠ)̆”÷vÚ2žTÖ’_*?Š¡¸ÚëeøäŒÐ®¯óßÃ]ETmÌJ-Mÿåf²’¹(Þ\Ô~@'1‘%‡ö£ Þ{AÇ1¤üÿun—¨ùäªã­¯ÖÞ»­R&ŸôQGïŸ8þ‡Ží$tU÷ALUÇè.“~½º0­ÖD$óvNŠfÒ£¹Ñqm³Þ,.™Úå-Çêrï6í¾/^œ! Y ×KBDÕtŸ,ÓçñMצ¿âØ&áÓvyû,Þ}™ŽJKvªžÖηãR]õÁ¿Êóª©ÉþZvLbʺ,ïÓUꢎ%ouT¿3L¦ä=\J"W×¶Ž>¥È™ðÈ3^H™_2Ù^aoNÞ» KWNÈXŸqâÃñ!LÝœŠ?r#ÖÍ™³>Ÿˆˆœú…M éçêD|É™™;æóÄøxÆb§í+_q»W¾:²tFüQžˆ˜~KÖÅ oß’m¸òùüIž©+ˆÐécyw颠ВÓ2¿È8ZJü™/ÌaÖ~>¿w£¼ÍÔ•Ž±âLÊüø£ã2qìÐÞ® 2”žÎú|ýÁ""âO|¸4+hÝ+nD¤è÷F{0‹#*Úq äfƒf£˜9±×ƒ´e¦ÜL™½å„GŒ<ÑLW¹¬«íÇô•Ê~eÞZ܆ߠ™½Ïä8Ä-asÞÛ×êc•4hQ‡>e×þÓPݱí¿>pwæÊº4í±g:”ý«hÝeÉ‹ÿiòjþ=9­Õ$íÞøøÝ²ÆáÝOÕ£{ü¶î£ãTEGY퓨c ëxáz^•x4ñ¼È¥¯lë? ”Q÷Y]&¹¢§_¿Hò—ÿÏý­)5 W[š®mù¯DŒ¯¾(òm¾ã¬.‰ Ú­üû¯ëÊäo~Òq\¯Šè öMöW›O$ëäè˜VqÆêÖ%q‚bëßK× ï6î°&â+óñÍkj‰ƒ÷¥=hZŒÏ-<â®øp}]¦»}]äÃûõîÑ£÷àáoD®Ü¾vb犣Y¥uß•?n#®ìˆù8Ÿˆˆéõí»WFN;|xÐðWÞX´ìó݉!,"~ÙÃ=Ãê‚Ì ""ïi+“ÇviQókɎȺé=míWë–NeøàÞ=z÷<üÈ”íÛÿÑ!"*Z¿ôÓ+Í-ÎeÅg”zO[»ïó¸ùc‡ 4|ìüeŸ¯èj{ýÌ'®Û~’÷Ä‘-h6[Yu1Ó)d¬w‹Û 'R"3*ˆÈ5,îíÞxz õF5É%]ÛzóÕ»¾7™ˆ*ÒŸ$‡€®¢ºYÚÙwµÈà*‰LW ™—Å}27í~÷W‰ˆDÊaî_ìòÞ^÷Ï+fˆ-)Y¯~Ï•˜ˆxÓU½XÙŽ*ÏüvÅÑ1 “ˆdL@_qþ¾[:ÌòW«N– DRß¾’«ßT^4™ŒÙûøv½ìeͬÍO³2šH¨¼lá˸¼«™LùÕ"‡v¢;í¯I#û‚•ˆ*¯šLŽ2Çßÿ{Åà¥);7žâ–ô;ZiО zÌ<úE]§Jï7ÝÞü§èýöÒ°¬ì6O¯ûÔÖ”Ùùí¥oÜ–ÛýcQ¯¬˜3DüÁõG ƒ‡ßéûZòUä[Xu M^9¿…Ëxz]]sª÷?ç7éª*ïòFôÛ™£>Ì'*Ú±îô›K›[}3KÊ{OœØù‹‹ˆ¨äh‘ñ•öòú ™™yÇÍ+¾zð˜Ù2Ââæ#e‘¤];ºñ“Åä(vT²Qéû€Èm IDATlÝdFÈs¬Ï™ŒÄ‘‘ùçËõËT–5jR»û«DÍÏ”IˆÈÄ×5{VɈ¨òFÖe—q}¥[y‡ÊÚMg¬äxs‰êj OD2‰ C7*ëúôòÕV“£Ì6×ík#"²V›ly“ˆ¬6@DwÚ_“µqÓ£ìa±¢ß¢u+iúœ/ŠˆÈ5,ymäàö¿g}È™ðh3æ°¥+êÔLNyï7B]3Ö—þ¡Ûp嫺1Çuiúzû E±t…Ní]½™;¦«¸919"b‡Æ®\Úâûæ¯|U×u¸×Äæ;纅Lôþ0&Ÿˆ;úÕcï&÷0¢~ÓšëÖëÔ£ CE<Waà‰äDDrï±!N™DE™Mƒæ•úN³®¡c{´0(N7¤ÌfÒ2<‘d]Û†¸X~¹`&G³^ÿÛò7¯åÝLc"ß¶0g©äùý/ÚuµQoXG‡ºš}õYò¾1¶ëèK ‡ yÕÔ8g’-ÿ™,e$~>~F)1ýþ±.n¸ÛlÙºmpòö¾S:Sx÷sª+´üf:ðvÔ|®cõ#8o“”{ ±­+?óèm]g¯ØQZ—º_éÒ´|:eñͶL¤L ‘sßv_¢røåú®|áF¾á"ãøâ@‰-|¾óž³oCÆ«¬9|YòŠ9Ú½¼Äm´­K-/rt¼ó«¤òLÕ•víÆ¼$½²¯æ72ŸüÉÜñ¥v݉dò —˜Ê_jÊ[~ž»íoÓ4ÞNòúÏö›Ÿ²ò÷‡LB{&<âŒWêúÄ:uqj¾éLîÔʼn–þ‘Ûpº~\ Ÿgé˜éžá‰È),%ñfe–ì‹û8«¢Éípän!o/îFd¬¸P· “2î™Î¯TÝ~þP¸6ŸÇFNÄÝþÎ=BC\¿ø¢”(ÇÑ’±cÝšÆLï±!]n&éñ)ÍŒN•w»d~}ã­ñô²º”7¿R&À/•ÃÜ¿°='±šÿåûÒÈ †J"ª®þ4Ñð÷ð.Ÿ‡‹ˆÌ'7k/WS×úhw`Y™÷"×Ô­" W_ÿèWLÆì|úûÿuë˜ZÝôÕ;½£M5÷oÝáA*•Õû¯ªßö®þÏ™;=GD¸²¹4½“ë¿Ö¶%¢Ê_®´¹Öôý[›Ûßfßîò÷µŽáWu½þ~õVq‘3áÑÆê:§7´º5ÍINp{&Ïïµ w^6ÿã9‹óëR\ʼn#%Æ~Ít55NÌ:ØÌ(S§ÿÏÞÝÇ5yßûã ¹I D‰CREð¦5ôlK\+¶=àzŒ§-¸3èÚb»¿Î›žŠ[ÅnOWìyNW]÷-ì7á´_`aZÒ®†¶’Þ˜VG¼QÔD‘À!7Ðï«Å›×óár%\7ïëJ¸^×çs}.yjÆrˆ»}dfƒæpanëðL;ÿicʧýóÿe½n”íÅç§S?ïûïùÿW~“Zy]íDæL¢ïœ3GüïYëÅdžµ¹q%YW²®,a˵ü2‰QñÝØQ$©Ã ó†M“¦otߨäøq=“¥&?«Ì”IDDDts`Τ›H*ò¤»†Í‹ŒÍb¿¢ôèkh”Èú:–Ú­Ç8[ ,ñÕ¼4kÖª#`-[Ÿ§Ù6liqdVå¬KÖ¡ ‰P*#¿—aZ ê°üž Ù¢V Ž™ÊäØÁ1S¬Ì­>p‰”Y›ŸUl€¨e‹A§öº­¿g²µFW©“‹È¢TÑA<þ‰ˆˆˆ˜3‰®:±T!õä+«ÅêÀH÷6:-¦K?Ödä8él±Ž1gŠe2À Àj²:Ç›3ÃRß.ÈŒ–¯nѭتw®ÍÊŠ/Ï[>®5h,N|?9rUJÄŽœ: N£oQ' ÄLQlò¸nwZêún 5oÝ\<úíU;6Wb_ߟħž]Ÿ8Þ,ÝØd E_T©­1N:ê´5#M‰ûºšÚl#ÝÙè0éMc]iDTß0³u:óˆ3«)ÈÎÊÊÊÊÚ¦1_ ¹²o|Ø ¤-Ûâ%àÔoÞPj_Æ’E­¶Îñ}U_«ŽðÄà C ÇLv}%"""bÎ$ºQI#Tž¤ƒ† ÝÙ̦/ÒÔmV, éKBfƒåâ\֢ߥso[±")Öóô\«¶Ðxñ ª6CÁ® ­V«ÕÖáR©²·%zÒ¢1gCiÙ£?í€.cÞÆ_ù¤uØt""""""ºYsæÕ×z ¼|ßgæ.ð¹"uuªztØt""""""º\ùó3»>Ú½ûƒÚ6·<&vê :ŒÛ]~àd[7|ä W¬~üÎ`¡ëØ[/ý©vÊÒÕQæò}µ6øÌ\šöô2¼óÒ›‡ÝÞýÍÆÏR_~å…»§®Ø¨>ñÚÀtý#1ÿ»ç@WdêKOGùó~³»qÊÒYsçM0W—Kè+¼Ô"""""º]i{¦ë´¶pom›ï•O­¾W`õH0›3‰ˆˆˆˆnyWØoÖÕu® €TꉇÒ`)Û¸ºl]Ìïþfã»ýï5·¹á ¾S¦}}ÆÜð¼è>ùÞ²Úæ.ÁÁ“Ý?² ûíºxgÚ³(x3ÿ5­Ë-<ã'Qþ¬ ]iÎúJ}n›­ ðZ›mýÓ§úÝò«#ûZ(>S|ÑøâÌ‚{g–½[û™Ñç„ 3f̼΢¦pÏg‚{aÈ$"""""+í7;eA¤8÷Aù'F£¾¬¼ÖÝ7=8jÑTÀ¬?`¶u5Ë ÞÚ½§qôQc…B€ÖC‡Œ ­®Ñ§ûG-ؔچY÷E2Ï\gQsÑ# ™DDDDDôÝs¦0ì‘Ô¥³¤¶Ãå…ïÄÆLÜ.^ötê½³Üv¿™_øA³4rÙ#—†¾³î[(Ewmù;{Nt]bºïì{#è† ’1“ˆˆˆˆˆèú6ÉápÜ«é:ý·œÿú´kÁS/¥Íõå^»I|ûí·½½½======N§Óáp455ÅÆÆ²2DDDDD74Áu¿†]§Õž<¤ýÔ†)K—ÍfÈ$"""""bÎüN\¶Ce»÷µaJ䊧—ÍàS3ˆˆˆˆˆˆ®s7H¿Yº±ß,ÑMÉ‹% """"""æL""""""bÎ$""""""æL"""""""æL""""""bÎ$""""""æL"""""""æL""""""bÎ$""""""æL""""""bÎ$""""""úNü1«@DDDDDDW-gη€U """""¢«…ýf‰ˆˆˆˆˆˆ9“ˆˆˆˆˆˆ˜3‰ˆˆˆˆˆˆ9“ˆˆˆˆˆˆˆ9“ˆˆˆˆˆˆ˜3‰ˆˆˆˆˆèæ ` è†ÖÙÙÙÞÞît:{{{Y1òññ ôñña)ˆˆˆˆˆ9“hxÈQ“ˆˆˆˆ®žšÓ ¬½½=88X*•2dŽ‹T*•Éd­­­,1g ÑÝÝ=yòdÖá øùù9NÖˆˆˆˆ˜3‰è*}ò½¼xG+1gs&Ýb®h¼Ùö/ÿ´ó­€ÿÝϬ‰—]Ù‚»ÿ9ï¯æÀ=÷TŒ_cÙkïÔû,L}.aÚ¸Ö§ýøgGÜóîœ è[¥™ÿ>ŸhÝ`9Ózô@+¼ý½{:Œ_7/y0ø»>E¼Dýh4Æ7#÷Y½öãƒÁÁwÎ ü"–ý«ŸC<“!“ˆˆˆˆˆèFË™n«ñ`;üïIˆ9YòÑуͪ¹¬úªê¹ç.Ÿ£†Sí=Þs8:@0ÊôÁslÞ_úž§=ÓGÐmÖïÝóY}«ð ‰zàá„ù2Üg¿Þ«Ñkuâ©sLz$ÚïÔŸóþj`*yuGxÊÚÎ~ð×öLû©ª¿tðT«*=øHü,?¸Oýß×JNÜ•ÑüÑg¦NˆCîyôßT3}ÐyR·Gûµ©Ãxû‡Þ‘ôàíDDDDDDWhÜ÷gº­_;sGèÜ;CÐyìàYw_bXj:æ®HýÉr… õØÞ¿í£O‘ýÈ{ÅUõíÓîOZùðB±ÅX^RuÖí>ûQIå±Ö€»Vý{âBŸsÇþþÞvŸÐå‰sýL½ÿ±Ÿ<  N­UÿÉ秺Cã]µâ~y§éówÿ§Êê¼½´ö·ßž°òþÛÅËg{?·ÂÝø‘æ3SOÄÃOüûãIwˆÍö|ÔØÍよˆˆˆˆèJ·=ÓÝl¨9À(9=Ásƒ±ïø³{ÆÌÙÆÜ=#Ó–ÌÑ™Œæc–îEÁ#OŸ;ÒÜ;OhêÁdåÊyÓsäþ³bÄw¯zr‘À/P&ßí“l7·»ï™ à<38@€ö<{ÐØÌLx$vŽÜsô¿Ÿ;úuëÀ;4~yÌ·ßɧv4·»!p»÷ÙFsë¼ÛïùÉú<(ÆË~²Êн(~~KADDDDDãΙn³á¸p|ñ—?|Ñ7©ÎÐØ=sVÿ}‘â1Ä~>€£»Ó=êt¿fßÝÚ À/ØO@ ™9g¾'Ç4¬üÈhîèé{›w{ôUt´vâ?Ï–ùøùyã\g{¥O€¿€@ì#à3V,êÔ<üñß x.X‘òÈvœ{ȬÓüåïÍÁ1+žXɨIDDDDDãÌ™Ý_wÀ?jùæøy~þxïS†ÆîY}A³³¹ó}àö$;¿þù6}(Ÿ@1G«Ã ‰ÀÝ~ÜX×.ž9Wü©æ¡ÿò³‹hþû©q_jÅ~hêlowC.ºÛ;{™Ð9Ê/øÍyè'srÛ­æS_¬=pxOÕ¢_ü‹œÍšc ™•Ý÷ü45Jp¬¼èÊ5‰ˆˆˆˆh|÷gv7Nö `îÝwÌ™1gNÄœè;¢çÔS÷[v|ýAÕ‘SGusò¨ŸËLùn¿3è8Pi8~òhUé{Ú|ÞèF£€»»³¹nÕIÐÓ~¶Ù4kNt»§`Ú¢¨ ñ£=_?yäó½ºsÀÔ˜hÙh¹±ýË¿änýÿ~ÙÔáøÉü€XÌŒ9&nkUIe÷=)ÿºH&D­LY‚ª’œu³2DDDDD·¶ñDªîFéøÝ>ïB‹UÀíQû>n4œ²Ï› ¾#ÄZõ×ÏÛ{Ä ~%Aß“My¬Iô£OX5{¾üø¯ï~!Qÿòð3$x`éíïî;õwþoð‚„•‰â²Šú*Í糞Ztgèç•MÇ*5?pa‹‚ãÿýQ÷ß?:ø÷êq`øýê„0Jü ¸#áóžýÿ(ù Lž·ìaU0ƒæ˜ŽÙ’'žø + jå3ánÁ P¼Žã–iö×4´ºtƼ»’[1ÏÿƨúyÓç5‚Åwÿ@8ëà4ŸL)²¶ Ÿ,zâÉègd^W<ÛV£1å YÁÏB¦ß ŸgóÉ”?_¨ƒ_ tébù3‹üÇÙíÞýEÉÁWæ-“ˆ&d3:Û4M>Is}/Ú´ó¿ÈˆZ:pIÐÚ˜òv{ò3ÑI?·ÿü¹¨{}Æ:·ë’{_á×ÿ<¯èá±”ÝñéÁóóM Ïìææý‚ÀåCÿœœùüÐêOœý?yO PÇý@}»xœëÞñŸ»ê;“½ê5!µiÓÆUO""bÎÆ'â‰^6MvÏsïП'½ƒï^©Š¿øw/šî3ç§_èûÿÌ•7LŸ©ú·gUCyZÌ¿eÆ ü4/s^ÿô'þ¿;ú§Îzê…;ÒꜟóÀð-¼ÈTk^è[Jð¢§-ú1…+9z|—™p=†Ì¼ò§cÓH}áÙði“]gV—¾ùJë³Yió&_ÿ%w5|¨©Šž7±9S$ŸU²aÖìqëö–öý•'Œ¹õõgßø 6­)¼ iÊ t‡·½ÉòÇC!ËçúŽ5ÈfìJ‘ø\¥¹ÝÚ[ߪ>ÿBÔ”Àq|¿¹ë¿ø¦T1eyðE¯øOß:pvž?hlz¥ôð—-Ø%¾qÊ1ú¦]aÎ$ºá¹¾ùð¯_#þ—Ï®P@8mÞƒOÿ2ð‹³Ò¾úÎ[ýº¹ €ïŒ¸ÇRWÌów™vo}³Cu—ðŸõ§›[ž”²øì‡º£ÍÍ6ÁÜÇ2ÓûŸ-ßúJýñþõÇÎÚZm‚ð¤§S—LÂuöów 55ž6ÓðW§¨“]GÿðëwýŠîøª¾µµÕæGʳÿÐ8oÒí~¿Þ@öàc©ΙŒ³þî•ÞýpàѯN·¶ÚöÐSO/ÁÞ×Þª±¹nÛzô©¬•]eo½ûu³€ øŽÇž~ü‡Ý$ÛzÜôÛ}­õÞá fþêGSÝÿ¹«¾-ê6œê<Óé²ûüâÑÙK€n{éû§Š›\N@äðLâíË7„Žøª»«roý×»DbểÎ~ܼä§ø›±rATÁݾàîøÏ?Ôw&þðåÛ'âkM Ÿ;s{ Òþl*¼;àÁ^öS¿ý åˆðÞy÷íÿ¡”ˆF«Æ%6ܧ%c×éy«þ"Ø šSvw¤þLqdw]›2õõ­N„Ê5·ûÏŸÛ;\"ÅÌIAÀHK·¿¶«®íî ëhìt¶ ¤¿PÏ^Úq*½¢³'R ƒ¶¯V„¥rÖÓéžöLAWåÞú?š\NôB,IZ6;UÐ8xn§F<NtFù7Ú—Êû,Ã7-=j¹ß„ÄÝ¥§ ›\N@øü£³î[_ÚýMÓy¼¸Ë‘úø\u@wåÞ“¬w:>Ÿ¨¸Ëh·¾VѸ¯õ[¸! ¾íùDÅôCÇ^¬ïqªIiš]0bêùM¾ëîÈ|qõ¾Æƒsç,¸N¼Rmk…üü’—ÍNÀÚ˜ò玥 …‡šœ­.Q¨üåÄé3/õ¡ hýàPFshÑê @púÎÁÿòŸ»+Ô”ò…jÈùý–®ÆNáò‡B§;]yÎq¦[œüèÜd¹0âÒ›ÒþlKŠï?vþL‡ !!Û款ü¦ÿ³¼0YÆ?ODD7/–€n%õG[¥‹ïš1¸9P8mñ’þ`2`ÝÿVaʹDz¶oß¾=+IPýÖîžt5W<¶î…-Yÿ*­y·ðŸóR×mÞ’•$¬Ñ|qÀd¸jðPæ ›·¼ô”ÂTVøE\g÷¾ùn}øÓ/mß¾ý7™K:4oþõ¸ ]­5¦ðÕë^ØüÛ¹ªÿúÅYàüÑ¢75K~ù›íÛ·g% ?üSaßbÝ _áÁg_ؼå¥Ô M=~°â©¤`ÁŒÇ²¶¤)NkÞýÚÿ±—¶oß¾ý¥ÔðÖ/¾:ëšØÒ¶Ÿy©¢mÚ²èòÌÅå?!:|â•ã.èé9Ø4ùùÔ肟G?ï×öŸ´ÙÑ{dßñ?¶íxnqyæ_µ¿VúMã…Ží#¿Új<ñZÓä_=·¸äç÷69Ú‘Àwébß3‡ZN˹/!]:‘×ÎDÁAKýÝ_žr ³ù¥÷ZD÷/(Ï\\òøÔ¶¿fÜpñ”'ä=û v'ô6kk•O_âz6ù=¿:ªèg?¬ozéxÀ¯R£‹~*ÕŸ®´ö޶tz¾¨÷ùùꨂôè_ŠÛÿX}¡·¿¼P ]”:¶9ˆ³©áµ&¿—Ÿ[\žS°Ôçıvûà¹uŽxØ4ùåÌÅ;ÉFÜ´ Õ[_}âŽÀ™1ïÿrAª õ•}íNÙ¯’üýÄÛÓç«e8²¯öµsþ/?·¸<ó‡/¶½ôÞ™Vô©nÜç§(Ê\\þ˾êÒÖ;ÂïŸýLà¤ÙK£‹.—Ä¦Ï ží°ïk:õâÇ=êÇ—g..ˆó*~ïħÝ&¡§k¿ tGjtÑ3³ç™¿yÅè¸ä‡®'|¡,°ùÌ—žïºÛ+š½—*'‹pµ¶Û•ù?[¸}®«ìoMˆ›»ëg ·ßÞ]XÝîF^º@€žÎJ„lO.zæöpËé7šzǾiãù,óosæ%ÜùÔ /nü÷ù>cœNôýsuµºá;ÍwÄ^§ Ÿ7ø.Ž÷ÿèÃ…õ_œv€`Æ’¹þ|§Mó̸;|2ßà`¡ël—'Ü/Yò!€ÉŠ»³ÿ<íꨩi ŒWL œv—jF×QOú†/ñÜ ê?-PÐu¶ËåjØó’–LðŸ÷`´ aCßlïºÃ3Û`…¶Ž®ÁáØwš¯ËôEõ?¿épMž³â¹§UÓ„ZZ{SK½xŠ:T·=Šƒ‡Ï{nD Wʦ€pQÔdXÚ»ÏWžê™÷Ô™‚ùÊàéí_ŒíñUw}m·(tê"â¥q²ižsô9ÓÃ;[4ͽ@o½±áÓæOð «p¦öΞ֦æ#âÀŸ†‹ˆdAO„ö|yh”j¸/½áÂEwIõg¸tï?Ö³hñm˜¾0 €Ø'T<)êÒ'…/ œÞ¡ÁÞöŽK_šèúmþ‡^ëÿ÷öÙ³Ã^‹$çmšCmõ½sÛ Ûñ0}aÐL€Ñ6m"ÿ †ÿ(úo)3Â|† íûà×Ýç+÷„Ç…Ì÷ X´8hzsË¡NHNs³æ¸½Õ-˜äËÊñÜž*J¼{ÚzÜõ†vÜ>cy°¶ù8 IDAT€Àð¥Þ¶ ‹çàðIZ8YÀGº\ŽúúóÎK9xª: »ô˜€½éÜqPR°¡Àò@/ÀkzˆPèp§Ì ð ¢ÓeÇ¥–¾|®gé>óüÐÚùí86m<Ÿe""ºùð*"ÝJ„¾Óøê›.pq*sµvÁ7p ƒ ¥÷é.|¡@Ø?U ô½øC#ðõ÷ü[®ó]Ö.øLôõ¸m]}ï½0+¡'ûv¸»Þ|ñž]]˜ÑÑ…`@ ¼ðÞ‹–9íÁÌgšßSó§®Àð%ÿš’ôCÙD&M{gËG,é[Q/‰Ÿ·«Ùí„Þ“Å“ß×`ëu¡ ÈÛËOàù­¾9ÛG^º€d·ú<ÿÓ¹ ŒÎÖÓïØ¿,’+ò|ºð«oÖí«wú§.•|»÷åŽo`R _ßz޲iÉÙÜúÇ}g¿lï‡Ó5¼/zO›ãÛ£{­ØÛ÷s'Ägº±ôî¹ÛMÿS]÷Ößz§…ýü¡™÷ŽýŽåNGk÷l1Ú:¿ísæã¤c¤j õRîD=gÒ:Cû‘Ðÿu††Í÷¹ü¹¾$`Ä¥Ûǹ5“$þÂÀŽ(Ý^ex¯ésBÿcN(à:òùñu'ç=7GrÙãaÈߟ‹6m‚/œ/|¯áPxä®Çý%èmü¸æÉSÃÞá=E_ùþ±ßVHŠV±po㡳M“~(°xû†—$ù‹†}ôô´:Ï1Ó+_(ãhE–Ì™>ŸeŸyòÑfQÒ²±4®zMqéíß± ãú,Ñ͆÷gÒ-E8íÁÇî|ñfþ;_}Óá‚ëüÙ£åoæÿµA0Íþaw‡u}õaýy.ëWÖ Ã—Ì[aóþý&€óG÷×cÆâBÿèèàÖª*“ €ë›êOK£Ò±U8cI8ŽíýÊêà:ûùî·ÊŽž¿d¨µu_½õ»?ì?ë0yÚŒà‰Œ„$$8ÜÑVÚä€öÖÿiòZ´ÐÏsÎZohitpì?Ôíbh>xÛí?‚_Ì wžj9Ò ÀñéçÖ>œ’ÐiKð¿o|Ô.Yàéž7a¥ñx㺫haX’ÌK4¿ÓZ|Êå xš÷j‹Í} ¶Ã«!¸ô†ð _Ød~ÃÐ{§rL ¶—XúHYèvÙǽ½½†céš–VÎ K†ÎíÇÃà?@ãÝ´k½Ï8&Ê}%€³½­¸Þ‰Oƒ³Ün»L^>ÇûÈçÝz[›^ÚÛÒ Ç¾’šžwðñ™èÝÿ·õ[§ã’—º»¾ø¼nݽªe¡á¯ð…~0Yö·÷pZ›ÿ³Ät°ïñ_NÍ!»@w»¦ ás}D—ýÐùݶ2ÔUºÏ|$ xɘZV/±ôO.·iWôY&"¢› Û3é3yÞê2f”iÊ^ûu¡†-NúåSK“ÉKžN=[øîË/v†=ølʼÉpµŽác_Ûjjíè’Î[ùôbý~vµ­ð­_¿èsW>»R!„k”5JyöÁ¢Ý¿ÿõ_ç>œ>yä¦OÀÞÝaͶ¦lü×%_¾öb™K¡`ÚÜÇR£'x¸Ù€à—ÏÿöƒšÂEqá/Ü.€ðöžêxãχêÛ]ÎÀÀVM‘ó—ÍùEÅ©u°8Qàmÿ¡ž1óB³ž×ˆ¯báí??uüÅ?|%ñÝ© š]ßÿvD=wÒš¯Ï?:!a»ë·ù_þàçï·dé¼í‹$~Á¿z´»¿“f†‡þÊ3ªêÕ8_eÃÈ‚’μÑ=íùà±]mé#e†™s¦LÿªáßÞhËùYä]ãhQôš¹ dé)SÚk&' O^úÐìE/ç ¹|< 3ÞM»ªÚ}øðÀO¾/<7?õ>é‹{­øH8=8ðéeÓN”|³Nã³ëGwŠOnÊ?”˜ýË¥‘¿Ø{rÝ,Nw/¤ÉË~Á’ûƒöU[±¯Wˆ§ü210¸sï?1®0…<<äÁ›gV¿z0iÚÔ€äÇ£<7XJnŸ½ý®¯üùàkè…·øÎ¸Ùó}€NÀÛg Ngì:¦³'ðö™/ÏŽK}è@p×ÝRç;ÿž8Ög~޼tÇÈ—ÆFÛ´‹êµ|\Ÿe""º¹LjúÆÌ*Ðõã3BÆþæ“'OΚ5k‚×øì‡[_ùgÒoÖ-ž|ƒ•úû¨Þ5z |û™´ÿsNägÓ¬¼Î+~åÕp}úNÍ[Šy}Op¹©ÜÄ›v5X›R‚cG³ tý×8@DDDDDt=æÌû￟U  ñí·ßööööôôôôô8N‡ÃÑÔÔIJÝèØo–ˆˆˆˆˆˆ˜3‰ˆˆˆˆˆˆ9“ˆˆˆˆˆˆ˜3‰ˆˆˆˆˆˆ˜3‰ˆˆˆˆˆˆ9“ˆˆˆˆˆˆn–€n\‰„E¸bS§N=yò$ë@DDDDã5kÖ,æLºi³WL*•J¥RÖˆˆˆˆ®:ö›%""""""æL""""""bÎ$""""""æL"""""""æL""""""bÎ$""""""æL"""""""æL""""""bÎ$""""""æL""""""bÎ$""""""únãýWóÁ=åڵ纤òÈ{^ù£¹þ£ÿBDZO>m›µ,v†pä×»Œy/6N]±é…û¹?ˆˆˆˆˆˆntãkÏt5”ÿûÝŸÖžóŒ¹÷Þ{cf ̇÷þé¿þr¬kÔ_i=P^¾ï3sKMDDDDDtKW{fWmùf@¾bcÆ}ÁBxdé'oí>ˆ6› ¾h=X¶»ü@£ L]ðÈãß'7¼ôæa7€w³ñ³Ô—3g›?Úýεmn@:óž•«ÕQÛ0;Žíy·\_{®ð™»â±Gæú] íÞýAm›ÛG“0«¡üÓs³žÚöÜ\!÷Ñõf<í™®æÃ n`æÒ…Áý O|ßs¿ÌüIl°­Ÿ½µû@£àžÔŒ§–Ÿ;\^¸ç4f>’zïSîMÍx|6Ž•ì­µÍ\ñì³-p5~V¸û`ÇМޓÿ§}µÝ³N}jõÃa¶Ú}zsO³ËuzOáÞÚ6Aäë¿úOÏFÌëHDZ={¶²DDDDD`¼í™67 J}GzQº`õó³„Òà`¡|áÔ}æsæsná"¹Ühó•Ï öuù$<ûüRaàŒ`_—+¬ìpmÛ ›kÑ…M—ù³mÀ¬•ÿ(Ê»ýæ]óA}ó"a­ ˜š°òG‹)¨=ø§ÃÜq×OÈ4þ%ÿ³@x°Ϧ-â-¶DDDDD4®œé+õlm­]˜}q{¢»íÐÞwôµmÝ£ÿ~wþw÷6ÛÜ£åØfà(ô-M*lmö.ß.Ò)¾  –â°{îº ™eÝK3#8¸ûÍ7 5‰ˆˆˆˆh\ýf…Á gúæ}N»ú&¹NôÚ¦_¿Vz¬ãôžÝûjÛ~þåßÿ~ãÃSFÊ$‡ßy÷Ùµ õ×Û~ÿòS‘#$\ß`)ÐÝÚæÉ¡]m67 žâ+õ`³u€»µ™!óúàjÞó§²î¥Ï¦Æ …w¦=» {ÞúÛÀ±ADDDDD·¨ñµgÎ]ñȬڲ“{ÿë÷µ1 ä>Ýç¨mƒÏÂH¹¯û€ €«ÛÖ|ì“}ŸÚØN4´. ´:d ³»ÀÝÕf>x`oƒèjnlîºÐü%”ß3å³}'ËßùDp´ùÓ=f@~_LðÔ®Hé¾ÏÎí)ûDzàðžÃî+x ]}ÂàeÏnú4mÞ™¶1Ê%ä­³DDDDD·8ï_ÿú×ãIš¡‹Ë{ÛÎ}s²¶ÞÔh¶ å xìéÏ÷÷öûôÌáZÓQÃWß–¬Nô;þõÉú£¶9Kï™ÞòuÍismm‹â‘G¦|c]%-ÙµhRÚZ‡ˆ-ï% 4ä9ÌÕÅ» 5ºš»„DÅ©Ó3Ò⯙£¥º4¿°T_Ó`u€H¡LHÎHOŠô´È:j²—?Ya7/Ù Dýn_Ár‘gº$ñíÊì蕲ÕhvkûV’(¥J>0³õÅ¿^¹M¦ËÍ/ÐêìD²(Ujæ¦å%ÛÍÚÜ ;€ˆM¯fFøNyÒ–m59:©*)bðC˦Ê]yÅZƒÑbïßÈxuzº:úB©ª3—¬Õ#êwïç)ªrs ´F‹É"Té›6©£¥6CQN^±Î35D™˜±eýòþaÓ¥-Ý`DÄ–÷wFTåî(Ð,N¢eBZÆzõ°5m1”æé 5ŠS§¥'«Uì«yXFIQ¢¹xÇ®RÏb/:Xú·MW¼« ´ºoÛ$aJ•:5#%nPs®© iU¾E¶rwy¦³"7¿@g°ØHB”ª´uëÕ‘Ò÷v¬ˆÙ„­+/M‘ìU¡®¯z’°è¸¤äŒäÑFºŽ¾Ÿ4im5"$£D“¦`9ˆˆˆ9“èFa®*4ˆHQÉÄ&+±ÙPWPjRg9©IÅ`Ö夔éD± ê …ÌZ§ÓhõÅ›WÕXJv¦)ÄÄb‘€Ó¤É^]fÅ'$'È¥ÖMiUUá}Ý–’¼¤±>ýÖV“·æÉÂ:²ˆ¨H)ZjFmþZn]ÑΔ¾¨b.]»*Çà$aÊX…Dä´ÖŒúâ­z]Í΢,¥ËTi+º ­Ñ ‰21!L$ŽTˆF®„&3e«ÞH”ñ‘!b‡¥Vo¨*6Viõ¿Û½­¯«X*à´ÖízrW©C™˜¶N-²ÖUUT´;ÖÔ:KJ/q.lÖ—ÖÅg$Œ^„ UV®j艶.ûÉ @§;¬&ƒ^_–£¯Ðm*Éë¿ ‰§ÍP˜™£Aœ:#Af5Vkë´9kl¢m!»6he‰S e›Ÿ„¼<Ë“°E")Ø ùkr*lщêT… &}E…¡"çÉÓÛEë£.#­yr‡Ñ H"bã2±ÃTSeÔæoÐjVî,ÈêOÙ"©°ÛMº¬Õù†„¤ô„X ÚÒ*}ñæ4³X“;Ð-»¥:ûɵ}Û'—Ú̽¡b‡A«Íx{gZdßbE"›EŸ“’¯•Æ«ÓÖ…ˆ¬uÚÒ CEΓQÉÎ$9dÑÉɉzM…ÞQTBb„D¬ˆ–°Ug¯Z[aõìU¥ N«¥Î`Ðæ´ºu%]¯LFQH,ÅEµÉY‘×Ëî²é2“ò”¥7yôµU¯OZ[%MÝ­ÉŒìûÄV¦­Ø•PRš"êÿœ)]K]¦êýõ燞­OUÞ7¿çŸŸñQ.™à}¹9ô´|]uD¤\²àòo%bÎ$ºº§qÚ¢:QÉñrŠKª,EµéÃNêDÐP¦‹ÓRã3WlÖóst‰;=I̓ÌeÆ„×5ÛâúòDšº(mÕ£>7¿Z50ñ’5y 뀈Էwö·ýµè²VoÐw¬/+MQ¶êÜ\ƒˆÚT²SÝún€,ËÕ¤¥È¹*-+BjРX¹>kyßÂ/iÇ\šµUo‡H¹©èuõ…æÙ‚'Wç×i·nMPæ©ú’&ó5ƒë’¬L{h«±¡  &yPóè°M2éL‘=Ž»_[t[³*,C ‡©tmJŽAŸ“U[З4Å"ÀÙP¦‰ÿÝÀ½IqHZ£µë·n$¼Z²­o’”HZ«µV×ç*Å;×i©¨®+)é^ii Ù«ÖV4ç”&¥È8jwmØatBÿ»¢Üåý§—ž‚7”­Ï]^™­{*$`­È7%¿­Yß·Ò)É ÛVB^S¡7"$!#«ÿì׬ɭ°Q›Ê .´ÐÛ ¹ikŠù¹†¤¼8)¿®_ŽÚÒâ‰êõ,ÉÖ5ÚBãúmÊë#h:ÌÕuv§òf/Ku¡Q¾2ÁVQ\“>ê÷Ñ5ç{¯ÂoØÄ¨%w{‰™éÂû3éÖ<D±iý'ïReŠJXµÃ‡ík I^?¸E2H•‘(`(3 ½§3"=cð¼")=^Øu¥ucKÕ¦ßUad+7¥_eAªuJ™DCm ˆiÛ~·e˫ىƒZ¥¤Ê”„uUuã¹ÃÑTZ`–±E=hfâÈäM‰À©/Ðݾ°ôMCê LŠ`¯3¾P›ÅÓÕX!}½ÌU»ôN@–¼eP! V¨7¥‡0iMC÷OZæ…„¤ žVˆ°´tÕ…©Ñ ‘œ¦ZëÐeI7 Þxi\Zr€ºRuÅ¥ÊM›–Út©2s}¬°k‹ }/ö¬Œ(~ý•ŽX®”0,žcÀT±Kï"ÖmKô6iÜúìD `¹0òq½”ë2TƒºÓ†ÄÆ…°èÍ£Ýa­³EG JªÌÈ{{çÛE›¢2¯ïï'c¡Æ*KHV*SCìºý…í¨ÎŒ‹IÊÕUæ®ñ<(.)3¯ºïCj*PÇĤiª‹Ö«UžÇ5¥dkL£}ó´вR–÷=](3W×?ܳìËÍì›ALÜò”¬¢›ç’TÊ’ÕeVXòWÅĨ Ì`«Õd¯Iò<¥(.iMnå…1£m5ý«¡R¯/0Ô¨cbÖôß~í0i¶­IRõ/býÀ&8js—Ǩ²t•Ù긘˜´÷J2ãbTYÇàKqÛ–ÇĬ©¼v7Ó›µ…¦ˆôôtµD_`àýât]qµ÷^×ÞÓÓ~øcÝצㇾø¬úSîÓCæ.ÏçãÌáÏt}ôñ§Õ_×·¹X/bÎ$š Ó8@›|á¾BqTr‚ zRw!Š(UCGóËãú#€rhw*iDœ€ÓTcËŠ™t5N@¥Šr=(ig¥®²´¯½N,V-OJòÜhki1›Íf³Ùdõä›mOi©Ñ[„¨â†õG$(Eêô ƒg'S*eC·O&òäû¨Ëp:@ÏÛ1²ÕéêHb†wð QÆÊ4è‡$[Itôàý#ò¬–$R9tªÄÓùwؘ9‘ªa QFJXô&‹Î`‘¨6®4*1€Ó¨ú@–‹n%21§ÕÖWsm€°„‹j• öšê¡ÇJX|ô%‹¥žÐŽÑ÷´X-`-ÍÙU=xåÄòhe´BΘy]³é töÄ”h1êä0§¾`Ðeb`)Í)¥¾]yàÀ¾Ýë†ÂµJÍ 0ææUÛJöØ_þj¼­bëšÃlj£&÷É5;j"Òwî.Ù½s½ÒT¼áÉÜà¨ÝµfCq]dæÎ’òòòݯ&Ku;Ödël€7i=læƒ^§ÕVh Uùkê¬o—¬çè&×'Gmqaаõ¡˜!MdE5éYý;M4¤…[, |*0¬m_$÷]·~Ð;!ñ¸m©Ü²Y/KX·e}œB&99iô#­©Ãj¬ù«bò‡àf¤6'D’Á×f$ýœ6 ‘ ¾º#–ŠÛ…˜hp· y|jlîæÂâZõz¹¡XïŒX¯V\«ò·è [Þ/èïÐâ¨Í]µ¶ &=;ä’¿68j2dÒÄ ¼àìí¼ôv»záâÐÄçÌo^Þ(X°ÈkÞB¯àé,M //¯°°°k}WÜ bSy‘Z>ÂIÖš‡6,CNêÀZgu`Èc-f;YȧÖ:+– 6s 0bБ"ˆ,B£ÕZgqbØ£ ±Xl«5XÈ’R‡vsX ÖñVC,‹ÖVNOwQÉU¸™/(V­„ÑC~a­jý(h°Õä®~²L¿)o›Z!–*ä@¬Æáeèv*WÈ®Ò!am¸¨Úvó…®²b™B†*‹Ób²axçC³É d\«"–E„VOwÜï§«T­RG«Ô™•™«6ë-¥†ŒÜ8Íë1f‹5VIü–¼ôA’uš 37W2sû®+9mƒ. 96ûà`æ°Ú Á™n„¶x‰L §Ívq»y‹¡Xï”$nÛ’Ò÷ýgÒC, ‘¢ÔyI²aßbr˜¤"8íŽAó·ŒZ%’I‹uðÕ‡Í HeÒ‘É UšJ²F[Z—¬,6@¹%þš=RÄTQP§H‹½p1L¬HT‰Öl›.÷«ž¨i02iÂxOž&…±é\W°Ü×ÕÞØhÿ¾þÆ]2gº«*ÝU•">9ÆrÐÍ}WW¬±àÂóL.:£‰KŽôVm±!3zPc¡]¯59¢…[]• "â†Ä ‹®Úœ©4ë–šª’Èè±d±B!*Ó;k4›jPc—M—¹tƒ!É»5ëeý'kC{{¶hw鯳fPtlê,Δ9ä‘xŽºŠˆLˆøîy$(!ceþ“eVKñÚ­Qoo[~QéfMvf™ˆCdbÒˆ„èëìM#zpàw˜´žQy"®ÚßÏZmM5(´;L:£€".D D¥”VØë4úõûv[ u$Ѫq=2(ZcƒE£3¥ { aKu¥Q-ÿ®5o©ÑékÌÒ„Õöcy\bôF§ÕöÝ;æÒ5`Óhí’„´„è!>© 2mEqµ-n¹§ÃƒQorÄyÞâ0ëë…2¤ÿôµ-i Ï~·Õê-$\t!D,‹•ÕTÕÙ–{|GmÞÚ,}XöÛiv' U $¾–êbƒsäû¯eÑÑhM™bà®_G‹Ù&–KY´f½q‘}ùYcèŸIP¤2…ƒ‘òþoS ¢Xåhß‘â¨Ô¤­&?ß`@ìë×l Gmi±%"#6hÈWr¢JúdauëÊËÿ~RR’'mMaðü¹S¿>¶ÿ£:‘H:í2A#kBý·éÖ93híCžg2œT™¦’v]ñÐí­¥9ŵŽA'$¹ž©‡GѰ+G3hhî|‰*ylqMªLO”ΪœœJó…ô‘—«¦VGRy„ €E[m”Or׿š=cÙ.t‰Ä€§‘u4 uz”gµK=ÿÀfÈÏÖÚIbúUoC½þõÔVíæU)YEÕ‹u˜ ¥Ù)+¶VÙ°ä¼M}á>H•/¬e9»jƒN‹sŠ-€(6õ*¶iصÛv]ØÛSÅŽR+€(u¬Ü³òiiaŒ¹9ƒŸ¥Ð¢Û±Ã D5¾È¦HL ùYy5¶Á!3wÍÚÍžÌ,6sD"iß~î2…U›»uÇŽ¬Í¥µŽ!q^[V@­ñËà:Ô¢+Ð;e }Yˆê™S_<0ö©C»5·²ÆÜb6éò·[•{áó`ÊÏ)¨6µ´˜kJ³w KH¾ø•Ʀ«CìÚ¬ì"]MmMuéÖ …{Är…X%ƒ¥´Hgji14Ùk E±2Àd¨k±ÁsºUWm¨5™mâèôÌ(gUÖ†]­¹Ålª©Ì]³bŪœj UGÀRš“Wm2›MÕEYÛ ¾HÉé±¢ºü¬<]¹Ålª.ÊΪr†%_â»F™üÿØ;ïð¨ªô¿çÖé“)é•„$ PAD‰Š€KÙUpô·‚«`Ãë ¬+¸+¨‹(ET@AQ$ÒC -„ôd2™>sÛùý1IuaA‚žÏÃã3™™{çzÞ[ÞïyË™˜âÎÛRb~ý:Ÿ:ý›]¶êǧNß°kñД¡îZ36 ÀÚô‚@¸®¨z¾tñL`­]o»5ÍHÓú´[o˲²@Ón½-+ŒuTçÞ· ¾mÀ­}³Rº¸µ“‘,µI¸ÑúLÂïÆÛµì¡Õz&—8`écè¶lt_Üv6~Ô×¢q7de§ZxWñ®Ýn.kúÌVvéc² ^¾{èªìÞ ú€íôî¼@׿Ôÿ¶Žï%ݶÊesòô|ÖÌ·/íg5bÎë»'=·%oî}C×d÷N°@ øØù•2aáôkåÔñ©Ó/µÌš±`·­`Ë‚'¶,àt:Np7µÒeO]Ør=Iý€ÙóFM|bmÁ²Is³²S#ù@eãxFŽš÷ÒÐkÓˆ2Š_5ehnzvç>Pœ÷C¾ â'ÌÕìÏŸ™7qîîž»cèªì¬=ØŠóvظ¬§NN½ÒÈ uèKsvOš±±`Ù¤S²Óƒ;Ì+ppMf¾¢ÁMÈŽ‡Ý%îSî+N±@´ų'ÏžûÄÆ¼¹ãú,IÉJ‰Ôq Ø òò+Ëð—®ü ¿[>Ì˘œKÃã|jÎðÈUË>ÜX<¤3èÌœ¬_3ë¾ç*à"³',~©Å¢¶)“göÎ[4厀%eøKs.[‹Ëwž¾ômËÜEKfLrp‘Ycæ½45K:mÞÔÊYKfÜ·¸È¬œéoÏLùaFÞÜe“ÆÙ–®Ÿ5yLÊ´U ¦Œ[5jéç³:ç,^ÁÍ_°dÖ¸Eèâ³s^ÿ0¸€pTÎÛóŠŸ›¿ê‰û–.¾ÿäY³£fMYÕØÍ:bÞJ˜?wɬIËÎ’>à©¥3ÇþìI•“s]ÃÇ’Âb@ :“@h‹nܲ<¸d=“K°”1#,WÙ‚mg¹&¯lêâ.úpK0mSŸ=bòô©—d€òÙ³W ذ`áªÜ-•XRúŸ:sÚ•dzé;O[º¾óªE®ÉÍÏÏ«à"Ó‡äLž:¦9C7aìâ¥0wî²Ü‚Ý[J€³¤dO˜7}ò€(Þ5{LîôUù%»·ð)c|ê´9Jf-˳•äçëÒ³~ƒ:çó„ì%KVåîÞ½¥8K|Ö𜠓szG]KŸNßyìÂõCò¶,[³qWÞ±›àv Àé"S²Œ;fxVëÓ÷žµòóÞK–|¸eWÞ[tñYCFŒ™<æÊòTYhŽ]üyÖ’ùK6lÙè.2køä§¦háöò 9 ?OY³dÉšòvoÉÎ’’=*gòäœÎW%x­fþù€UKVmØ•l;ËYⳇŒ89çjzÁFåÌyj÷ŒE»++óómñ €¾÷ì•+²?\¶*wWAÞî`_[]dzÿ!c&OšJJvÚ$Qc×ûŸ%LÛp`òÀ’=má†i—ÿ*—’3geΜ_> {Oœß{âe®Ó‰ 7\ôvÎÂÜœ¦×YÓWîšÞR˜µxĬË^ïYæ}>½)ו;Í–æ^>á§¶kúmEqîšÈzéŠç`pcA§û+(H}&Кºo&Þñ\>¤¼ôõÊ?'Š?̹oQ d½½mqoâÅßvMøÄn!rÂç¦÷•psœ´yÓNɲô›Ù— ìU¬Ì¹{ÿK÷ª_çÆ¹aÊ/KŸ0gúˆK 8wÉË ~ÐMø|å´+# ÔUT–ì^2{înꊕ¯.Ÿ———••ÕÍÙfŒp]ž‘‘Á0$ÆChCH’täÈ‘ët;"ç:@ „k…u葉¹s—ScÁ’ÒêÛ3'^y"‚k÷swÏÈKú¨yó&’to@¸é :“@ „¶Ÿ5ןúðçouôÇÎYù?~ÀâˆÙ ᦅô›%@ Ñ™@ Â̓J¥òûýdm ¿ß¯R©®ÓÎI @ ¿MŽ?ž˜˜¨V«ÛÔQù|¾¢¢¢N:ý®¨¨¨P%&&† ¡íP^^ŽŠŠº.k“x&@ „ß&&“Én··µ£²Ûí&“‰Xç÷†Õju»Ý>ŸŒá†ãóù***\.—Õz½•“>@@ ~³ž}QQQPp¶…¨¦Ïç³ÛíN§311‘Xç÷Çq‰‰‰uuuEEE$–pÃQ©T&“)11‘ã¸ëô$o–@ ÂoAêêêìv{[ð샎Õj½~Ž@øpÕ¹¼Þªo‹A‘x&@ „ß,ÇEEE]§ê#@h³ø›Es­É«À’5jêSÓF¤êoèA‘xæ 9ö• ï.~Ó<>öÓYêÿrö!p¸êG¤Ù;cº¶‰é ùø:7,$ù Æ!DÎ@ á—qåÍŸ8eU p‘ñ z¡¢ Ò ‘Ãß^9»÷ ”š$žy£à4oï¿z•Èg†.ß m#&ð/Ÿïè×7$9”Ø•@ @øõTæÜé«J€KŸ°pÞ´,+€ëØÊSämœ1{À7óÜ0¥Itf›"àžÙ·Æ2UkÛä--—ë­ºÙïE´ßWúÀ\þÝ­áÉ<(gæœ{ô”uùS¾G‘fïŒéx²ê©ÒýýÄß1³¶Æf–×ÏŸY¿·PÄ`ËìÙ!ñ¼ôÝès+zX:t/—ª\ìÈEÑfÒ•KŠÚªŸ”èßqX(uq“˜„eõ[‹„*A5壨{¢)pz?Y½tŸ æÆYsC; rIÑC[C¦$º·ž”ªÊqû©ÑsÄKGWì¬Ãû†~'~ºÕ5÷)ÛÞr º ìa] Ä®@ µ§n×Â-nàúÏY8-«IQê;7/Ä[~X²¥b@Î* ëš´-¤GÔ3V·[±3nRÀùö:ÁÒÏØÑéÞ\¤›·*™ãµææ-xuþ½‘_ìíÇ{>b«¼7æ‹ýí7ïŒêy¸fÆ"?âŸÝ$Þ¹ ~éævo?›ë²„#>ÝÔèÅ›fgø>n7ÏŽ[º¹Ý¬v¾¥Kü÷ήXì ywgûÍûå3f:][¹à‘˜Å_$._ :1¿î0¨}ÇDZÓ7%Îê‡çÔʈübûÍûf$ ›wˆÄ¨@ Âu P¹»:Ⱥ8l©ÏÊÉâŠwUnرy£¼OdôëÐü¯hyPIòT×u:9¹ÏIƒîÊŽu@ È±Õ©~ G«04{ç (rîuòÝ«â€W|­úÎ[ æA†ö "2¨ÝÀuÐ÷‹¦PDÍ%z†ŠH¤Üå ü_|‡{L5ÄóÀôxDÇísžpíôý)Ð'rfm΋t².šrïslÞá·˜ž³bfÝÅS@ ׎¸DM ¡ùÃÉ›½açÄåê3€šz#€`?:s‚Ú=ÛY:‡O<Ð/"óâLTŽ£,Áw\’›§tMûÔY)p‰îà>­tãÛ<àÆoðÔ…¶ê<âÏUê|âá¢;ùÆsïr¶ÚŠPZÍ[tš7gYݧsÊæŸÃqƒBfÌíJŠ6 @ „kŸÐ;…[»;oUnÅÐ-dëv­ÊR²ãoœÒ$:óf@ßÃÔ3Pµù¤NØ =©ùËÌY¿Çè‚;“ஓAÏê®îäⳞºó½ÄY™…¼+yC¶çäÈž“j½ŸN/Ÿ5[óÅ;Zž˜@ @¸æ2!{jNäîUù/O™ófŽHÕ¸Š¿Y8ý¹Ýè†L`½q‡Fòfo xõÈ~°ã=Û^{ÚOÚŒO4ô3–¯óÀéýì#9î^]äUþ¢êž°ã=W%€RòUåÌ9×Ï|_ÀõŸŽ?7û+ ”OŽ&§@ pýdBêÔ…OeqP¹ååq»÷лûÀûž[[àÎ]²æô«Ï$ñÌ…à}"£à¢wÚY?ýâ§"TÇÑáA÷HØÏ­QÉk¦½g;³ìžE€â†…Í›ÀÈWu|tϹQ“fV?zK­˜‹ÖLš«Ò¸/û]«æÎ ÛâAg÷Ο3U·÷¥’A31Ç#]š~ÖüßI0Óív»\.Y–É™ÝÖ iZ¯×ët:bDbA1"‘XXð7hD>aìâõ×,Y´rK^‰[à,ñû“uzáskóMšKOL½9:Ý75ø*eÇ)b? cŒº¹ŽÙåry½^†!³6mI’4^¯'F$$#ˆ‰‰ÛFlaμù§¬*®ÿ¼õóo@-9„ÿ·ÛÍó<Ã0¡›N$ÿæQ!äv»þ¦LŒH,H F$#  þŒx}Öôs3æäEéoH~!Ñ™ÂÿŠ,Ë ÃÉ¿¶ EQàõz‰‰ ĈbDbAbÁß¼[IÍi‹×ܰ&6#®Õ•Oh›ü—3²ÄˆÄ‚bD1"± ±àoÀˆmÅ=&#ä¦L $#ˆ‰ ĈDg@ èL@ @ I @ Ñ™@ @¸a¶ÅÂo5˶Á£ò‰"1 p¥(ŠlùØü‚ð«¡Ñh®Çnë]Þ¢ŠÚ¸0³Å¨¥¯Ü¦W¶’áÚ\†X Š"t¢3 79¤@ø=ã÷ûëêêL&“ÕjEœNWQQQll,Ïódpnj>ß~¨à|µ¬àtë–ËÒBˆ<òÚž€\l Öù÷žs9ý² )!†Âf Ó1R“¡N×h8š @t&@ 7 gÏžíÒ¥‹Ùl>[)½ý±C”ñ¤!º.]ºÀñãÇãããIlóæ¥Þéylä­y¥Ÿÿp¨Áí³µ1¡!á!zbÓެà‚nãH¹·Ö%P€CultoV«Y |‚\ëôÿpªîóý¢(ÌÀuŠÒÞžfN×Ð$ÎI I ü®æ6y9“¼Yá—ÁårY,–.]ºìÈ÷/Üà:[!É2€oòü aÌ´‘º|^¯ÛíFiµZ2h7fCEcT¿Lš?YR%HËзguHOˆ"9™7 ¿¨<ïÞxÌ~²Òcâz%èºÇGµ U‡è8æý/+ŠÃ#œ­rí+²*nøîXuZ”vDfxV‚QÅ’'@t&ðF’È7‡ƒeYN§Ó¿Éóü}ÝñR¡!DÓÚ£¸Fzr±½CŒ{Ü@í]=BIðx<^¯×l6“¼‰¸-3å£o÷õîÔnP·Ô¬”8OØwºø³í‡|±G‡x’@ûëSÞxcKùéJO×XíÛ&'Gèš­ (ŠÇë«w¸½~kT¼É¨ÓªUf½ª‡^Õ#9c\Pnÿç×§ž_s"-RÿÌ]ÉñV RèL@ø-³úË[æ#š@¨wrü¼ KT˜²,GFFzôý±À»›j‹ª$ŽA,ÝZo , +¥ç?jX²Éõ§;ôƒ2C¢BBÊÊÊ8Ž3 d0o bBCÚEZ +ê’cÂJ«ë3’bÂLZõg?ж†Ä„†!úÕˆÊÇûj¾;Ùdåß×!5RÇ1” JÇΔ~{ð\APç„$ÉÌRXËUKwŒÐ 웑“c~kBÏSåö÷¶ž~òãƒC»DNè¯á‰_M I ¿USW{8. ±(Š¢3&×"cÒvP%Øé§C‡òÅßüµ.§WáÄ1¿ÑâTÕ ¼¼Üñ÷ÏœOŒÔ»%Ƥ£ L&“J¥¢i’¹×¦¡(ªWZªïóž7´Âæ0뵉QÖÛ2SdYykí÷³ÇߥS“VO¿åöÀ;¹%6ÿzEŒìÁÒTÝùý¡³_ì+=碯G À€) `ŒAÄØãÇ5~8Qëùüðáö¦£÷öl׿KB—ë‚ ¦ û ?È-*ªv=1$9ÖJÒÚ „&ÉÜ:„é”Iu̬¨¨ ÃA¸áDEE‘A¸ê«¹-©ÏüõA@yœÆ ÈH&ÙÔmˆºº:𦣣£­Vë’Í®…\B4—U˜²C_æBeü÷ÏsV;þ4T÷äÈdšBUUU^¯7""‚ r[&Üd8xæ¼ É=:$¨98–Ò=-÷È™­OìÓ… Ñu™ ¾< ¼óPÇH“Z’äïö{cÝ1·*‚¢L1 2Tš7JMhü ` Ø3 øÍç–|{òÙ{3úe$êÒ'-êñŹO/w¼ù‡¬X‹Ž 5Œþÿ^eYQÜxý49*¤T€pM ž]Á6îEÑ4|ÂK’$Âùóç‰Î¼zH}&¡éî)2( (2¶@iiidddTT”W Þüܱ~ÏéSê'Ÿ´’ ãicCé×V9ØË©Pš ¡eß¹?Ûá½³»êñá¡ñ¡àv»ËËËÈ€·M4<bsz¢,Ææ7Y†~æÁ!¯-ßÜ=5.ÚJ²g¯#• Yk ,ª™#’C4\EMýœ•¹‡l*¬ŽDaPÝàf=Ùâ¿AÚø'Æa\/²ïn-êi5„›tK»íÕOvýeéž7ÿУ]8Ih'€aY–¦éà¥Et&áWЙÁÿRÕ¼ 9áJვŸÊrKÙx?qâ$Ú«´@#*àÿü®ŠÏ—©y><,”ŒêõÀçó)Š’ššZa“ÿ½ÎóÕ^_ƒWa(ôóË!ˆ2Îé£ 7Qó×:E .û@Fh„"þ|§wóÿÐnª? Ò¦¥u¬««Ò“¶ BQhXÏN%Õ¶–:¬Fmfû˜ »Ž>z÷­d”®åvÿó_Æ›ù™Ã“C4ìã…o~y¸T0"†Œ+-´eÐei¡3E¦ô•›?m®[ôH?‹AômÌÍ f¿¼|dzï~c|vB‘š„ß½ÎdæR‘It&á:éÌ–R3É JMr¾W„(I+/KîXˆ©-£S»!1\8²‰¢$K€±L1ð³U{²,¿öŸU>Iyóñ‰Qád`¯¹ÈDqËÜÕÎ5»¼¢„ú2~.wÇ„Z§¬âÇ9ö¾ÏÐ( âu»½_ìöÉR?cf±Ëëõj4¤f›£WZ»UßèžÏ^œ}{V‡Ÿ}ïñ´¤Jó: HÊ;[KYšuwç {ätɌ弰"À@ÁÍË qË ÷Ò˜@”—ÍŠ´wjX³È :6fƒö•ñ·Nš·~ÁyŸØWűdð Dgb2„_™ È BD浺š[)ûV#~ƒô©Ï¼nÐ4ïiP0Ecާ?åq „1 `Raàg-¿s÷ž£‘]‰]ŸžûÆUÅ÷Z‚16͘_wú¼ˆbèÿö2¤)°»£V‘dàÙÿrßò;'®}>TtÖ‘ñoƒ„èÔ.¯ÿ|­=1ÒÚòýH‹±}t螓Ń]# IDATº¥’Qºæ|¼«¼¨ÖýïIÝB4\Þ‰¢¿,Û'ª,€•‹Ób›2c/“Áùð–:³)VQ$ñR߯¨Ó,||è¤yëßÙxø©{o!áwí™ÃJd 7Pp’A¸6HRË9#Œ±(Š!Àó*†aPs™ Ôoî‚ ”DPÓëÆ7›ÿüIöîÛ/$ß*ÍÉASÞÿxùÔ‡ÿDôš^”ÒññÐYQ«º‚+OÁà±QKix„1È ÐÔühq´ûT =’Ì ·Q4*N[—ÓSõLKøhËÞþÉÌÙ›ðKœ¯÷n:Zýpÿø(“¦¼ºnÎçÞŠò¡K¥©Å¬¿¸ H›dç¡Â*YV˜‹CÓ¡èPÓ”;:Ï_w`ø-íRc­Ä„ßµÎ$£@¸QXúµLc!€ °¬­®Ïÿ®6¡«!<ÁH3 ˲ËREÔæMŠÃå>[Xˆ0A±¢xBB‘"E«ªK]æÕÀˆ™VDµ0–9µ½®äà¡Ã' ÃtMïDµ°ƒÇƒXÆX2EmøòȤ±^-I¶¼F(Š¢×ëwžUl«K0ê)!J˜gQÿ.ªù„p&-–¥)ôåK¡gËÅ­Gü;"¾lO Œ/ÊWàt¼DÌNÑ˲LQD±´9ܾÀeûýć›ÏUÚÜ^«‘t+½fDyÞ¦³‰VnD·hI–ç®ø¾Ì¯F” KbÀ€•Fo¤IFâ‹Ä'ƽP ©˜ò‹kvçŸë›‘Ôò¡*+ `|w¿.›÷œx}ÕŽÅOWó${–ð{Õ™d„߈ÎeyëÖ­²,ßÒ£‡F£¡¬OöžüÁSz¨<´)…‹Í ÓjµÇÑ4lö ¿ð"´ ‹ŠYö¥'<0Æee¸ˆFãa6à­-=M) P×W†™#å`j—,}íPÖ}s(8[wrÏÆ÷ñ×¼O£N¢À|ÖØÇç¾UEi0‚XFéÝ.òž»†™CŒdä¯ŽŠŠŠäää½§è鲊‚»&q·¤ðlq7Ï³É XôÔÃwè†tSY ÅFÒbÙ´XvD/MCþöÿýoܵN™iê!$+xP†Z’ñöãæ¾Byg…iwëO:G ÑÖ (ê²Keštš„HKi­èÌkÈÁ↣¥öwÿt ËйûòT"`(òe…åefS®¬Ò¼ÒIÓ×ãWVl_•n Ñ7ÿ¢Íî((®ìÓ-í‰ûn}hÎêíGÏ ½%…‚@t&@¸™}†aêÛ¿nî¶U«WG„GJ–Ê5RZÏ#S„⎔íêõ) ºXVË«"XµAÍó<Ã0Áef®K˜“Ôg^CjÂ+€$½‰ö{cL³’Ñ*Ó -¸ ‰å1¯¦DIÑ©]RÀ( ×jŸ=³º­=yÆgŠ@X)¼eDžÆØXè‹ñ®Ÿ%&œÐ'›ŒüÕAÓ´¬À‘"¡å› †iwºµçÚE0ÏÔ€q£VœýÑ iŒ=ú\ïV"M4BPëµ<Ò¨(«‘3@;2[ýÆgÎ/÷ø(²Œïï§5Ú ÿ_«¤½‡Ï”‹¾¦išX¡ bШB’,SÕ2¹€¢Ð˜Ûº8UÚ5)†$\d™W–£M‹±58_[½KfÂ@‘1v޽°ISTSiÃlì.‹±NÅ$„:LJ”Tì/´5ëÒJ»øî?>3n0Ë6zÔ—÷åe[V´‹éÕ->dÝöüÁYÉ?ß_š@ :“@ ´ñ'ªŒ0Ö©Õƒo”œ˜”»eOîgÝET*u‹Ú— 8˜ÀYÞ¿“b9жJ8F Ĺ©U¨Ŧh´&V«åxž¦Z¬èG¢m„0E]H»¤hP (ÀˆÂÁ€!Œ LQ `@мöI3ýûõMÝüêÑ”vEnPë+ €(½½¢¯»¸wÉdȯšÈÈÈóµre½Ü2Ù•¦ÐÌí‹3馢©×?qŒ ›r§!¤`\V+¯ÌõlÜ糨/_ €WW9÷žòí®›.1‚ÖðÔË…¤D³‹68ï¨û˽z»ÏY툸¥#ÛàQNœ:ÆÄnÞmqÂ!ŒñþÓ¥â# Zu˺µýäû^¿@ºÎ^Šj\ù¥õïü©ÏÒòNÛÁˆ‚‘LPÛù´X¿¤Qd6Å0`Ë„hùä¨]âz¥ÅÈbàËï÷ž+Á² · «rÈLê“Ñ>Øà°¦¾¡ÜæÙ²÷ø¸;z=õàmzãÓ“çªÒ“"‰9Dg„›[„Ð4­V«¢c¢»tÌ’Ö.Ë_DÎlzxÜ@!ÑÕ<_ƒ¸C4Åú·áÐ’†®JÝm!ú^ñ†# D!DÑEÑ4EQ…( ‘Žamš¢d† h +2Í*^6X@Q0à ¿GÐè1Ma@ ‹ŠF¯Ð,(2օȶʀFš°ešb\コ…ÿZ²¤˜‰pÉrà†¬¨ìU û7ްÐ/Ìÿ ˆý/H’tä\pŽ–×(Ô:”³kï3Á8¤Û™1wµó£­ž`Ç ´Æ‘7Q‚„7îõ}ºÝ;¬»zÁdŒ¨7P ßôO{·^ŵ^“BwFèI)ŠBŒØÖðú~A\ñÝþi÷ôo¥39–Ö©ùüâÊži d þw¾9R§F›$IZ»ó +ÒåÒb•¦²XÁXÃRéñÖ;º'uO‰´µ*Ž¡)*Üÿì… !ƒ€A êUP0^ùm^ŸŒöÁ­¬µË²ôŇG¾%=51>T·úûƒï"OPÑ™áf7õ˜•$ÉVí¨:-èÍêp]T¼ï‰T–?Û&ÐîÛ‹é  ¥e1 ¢|@5ˆl…Ã.8*v;”,"@Ï¡-¯ÓòFg4p:Çq,Ã4ËN ¡Î_×;õÅ×lœžA”,ËVŸ ¸1 xœ(ØFôÇW—F@É"²×AP]`Ј…aƒ^”¤6Ž~i>ÆíæôŽðöÁO¹8MuÀ›¼oýHƒdÐk“ãc3ÿo|l\,±ïÿB ÐëõÇÎyØË©< 6íóf$²ãhƒï<ü–m_A ¹-msmˆ–jÞdëß½¯JŸÎ²WàÑLâC…¤8R;‡Ú%Ñ‘ÑjƒQ¥R± œEêN®#²$÷ã݃&…©µz–DV.§ñ1P `ù’ÄX 4ÁúL¨¿pÆ „wÀ_íu1O_ùK/¾LÚ“^+JKK322òK…Ÿ¹>Òb/t¡œýñõOœ;Žû9µ”—&…€(áÌ$nöئÉD&ų—ß9Bp¶B¤iúüùóÉÉÉÄm ƒVUPV£Uq'Jª\^«fŸN‰U6çÚGz¤5 î–Êi‚«Å'H•6WÏ;:À·ûOÉ4d©9’I!ÐòŒÕ ª²9=IųCÒÃÜ·ì×4‘•€ZÅOÙûÙ%ß(€Z¤×6¦Ú6¸k·œ6z0œ+¯,‰"Þ{°k‡v=Ó“–mÚkwzÂ-¤§Ú•á}õÕÿ}'øšÏ‰It&ð;Ë2Rcˆ–ÚlÕ)(pîx#NðíU©Ú Ôy•ëºQ}û1}%°7à²j¥è˜|ük¥Ä­Øcýú4dê€ød Bƒ¢Ðn/ënÐVCþAŨÃBĨP!6ÆÚÉžÚ¢i†åyN«Õò…¥/sDüÇÛµPm—G¾R;óÃØZ†Fß¡ÜU5õßõÙim`:ű±¡ôÜI¦ôxç <öNýW/‡%E29}4‹7¹¨Ë=É"þñD`D$»Ý®R©ˆQÚ£ú¤'vˆ ï¾lËÞV:!dШº$E·‹4ÿmÕwa&}fR4¹—^G‹ë¬:6D§ÂK êÝ!¢[ûðÎ aIQf³^úð‹ïßúò€ˆx„¤æ&@2àÜüÊ·Vo}æwPG5Y†yqò¨¥‹ Ê.,‚1Æ ®¨³û‚,S6‡+2`\]g%Ùl2F„hòϜJŒr…*#Š¢t:JaÙ>)I?b„ïpã¢Ð ÆÖ3Œ£GSCÍŒ[q\جYŽõëŲ2Öd2O™â;x°ü@’¤îÕËüÈ# +V`Ý!ásæœ=Ú››Kñ¼åÉ'…’áÔ)©¶V•‘¡éÞ½tôh$Ëú;ï }ùåsýû# «¾I¸±ðÃß=.5Ü”Øëîq#Ó dd~“B³¹˜„ S:FŸgšæ¬8U_X!ʇ)pЀÀ…Qá(äæ–ûp{ íu¸¼H)+ÄUg±}v{ ` èhLGÈ´…7hkjuÕÅŒ†µ4§£9_M¬í `‰tGtr™‘ÆJ³j†ås¼5*‘ã8b–+E­RuëÜiÉò…&=þľÈ.r,}ô­ÂB!©Ç¥Ïg€°DHt™0c]¤ šëphÝ'Ïý9*"œ þµBQØžïÿ)q `ˆc`{~€cм5®Òùù1FHg6Îkþf»fC‹??úÞûæç‡6ðNa5R‘fºÖ¡\*C( røGôÐH’D,ÒÖnÕ÷÷ï¼WwO;[^›em¥$eEA€˜µìÛ½ã#xRÚwå)¬Žµhš€Å3îÓiÔ]¨·ÄŸ<_'XÆÊ…6³Áf@+¾;œmÍÜ]l8V=süÐÇß\å È-–EQ0Æ^Ÿßë°r¸¼ŠLÆ.·Çëó[B Q棧‹‰E®îfZÿÏbŒƒ†£Ìæv[·Ú-roÜ4 cµê‡ «~æóSOÕ¾ò v:›7møà϶m€ã“Oâ7ndijg@,-­ž93ض=võjã¸qžÜÜV?Z=cF»]»Œ>èþúëˆü£æ…ÄÂB2ÝCt&áòVNýÓ+w`Dgá·¼»bEÒ‹NW“qùí9/­\„1¯RY8NÛ]gú‡­2×çÉ`ê¸& Á50F‚™£E6Ü¡‰¤BoUh i(\/)v+;yäâ›A>Ÿ×«øÔ´Š¢yT,â¤æDÖQaTªù†í,Ç*Œ®Ö˜¥hî…¦ZÂÿÈ [û~UZëÑ„P, †¹Üƒc 4ý_¶"ˆØëŒƒ3ÅfÞÞˆÌk‹,ËE*/»hƸ]8£× øî°/Øêå³»[yã!ÌOÛñïŸ;—ïá„ìÈL nMW}¶Ãs©õ)„N”J²‚IÍmÛ”šÁ]£W*Óß-OWn?Vèòúu*Îã yåò×6¸3CƒêµêKEˆ~ë÷RˆÁŠ7/¤)aåÍ•[³;'E‡[ZnˆêÙáñQýþ¶ü[Ô¤0ƒ!MQľ€À²ÓãG, lw¸-!†èPó®ã%²,“ô«ójMÀóÑï¿/VTTÏšì Ž ÷Þ(,´ü±é‘Gt·ßîZ³&¸n*„؈,ŠÛÝ\«‰ƒ³ì "œ= /ù…ËË«gÎ ýuý÷Nœp,_Þx Ä«!:“ðÓ°†¤^¡ÛØ}jçþÌÝ–ØKd=cêÓ#õ§×,[¸Æê¨ìQã†ÅW¼?gmÔ´§‡…±Póýœ77ëǽ0-ÓbáòWV¨žy»ký²µ‡kD`Ã2GMÈI7Ôç¯Y|“ K¿{ܨL3K†ý×{®^öm @­REÆ„‡äø}\ö3Nÿ^9°CËP”_¬`¬`ÀŒ[ô&k‘ñÆ|Y{ÞœÖåX²Òp4RÓ £@Cƒ†-JѱÞÐ Ô‚šÂ*Ö¯²ÖiÝÖê¸[Ìá±,MÿÔ!®ˆ{†ßõÏ—ÿu¢]Åç§õºÖf—•U Íš7m§ôsŽeYñùA”š¦ÎU3Þ"ß}çP2È×–êêêÐÐÐóµÒe}Œ!9Š¡)$ÉøLEc°‘¦Ñ¦¾„pfÚÝzðø•ç?jDxe¼Ñ¢§`Ý.ï߸›Òž¯•=~E«¢º§pŸíô\ÖC³¹dQÂuuuqqqÄ(mš¢RcÃ.­°=x¶ìxqåý»ÅG˜Z5 "üWÏCŒ‚¨ai°Õ7°,k4èZIý^éí' îòá–ÃC0o VÀî§¼þá²W&[Me€Q5æÎ¾;òŽï¿×å‡Z/Ø\¨ÁÍy<¼ðõJóZR•–²gϰÕ´ÛŽˆµÖª“Q —B£åèäˆ8VKSÍ04MÓduÍëÃSMþñ垌ʜ€xŽæhFð«=vK}9í÷|Ðo¬¦c¯ÓÛÊÂÁÄ},¥1#Êd+yP8ó·W_dò¸Æ¸\®ˆˆˆu»¼²Œ*™ÙëÇÁK¶}{[†jDu„ù"¹Æ( &:ì 7Ñ/5@½KÞ¸Ïÿõ_0'WÁ?§x7í÷=}_Xyy¹Éd"¦¹‰ˆ¶† ï•þõþ ƃ»¥’i‚+"–Âtõº'­fÃã÷n5’z­úŸy çÙ;}RP.bP ¢ .Œ™î²;³˜^œ|Ï£¯½/+ü&¢i–elv€‚cŒ(ZÃóàöxX hŠ„3¯Æ«Áê^½"æÏ¯xì±À‘#Ía€qãh.棂F¡CBŒ÷ß_;wnðî8xлm¸7mjäˆálo½…ä†÷–-Áó@ñx",°/Y‚E±åïb„Â_{M8}Ú6o^ÄßþæÝ¾]*/ÿo-Ñ™¿G+7Õg‚è,Ùóéûo.ËyúáL€QëÕ,€Tï•YÝ4©ÊèY©Â'™SSõ;ŽÔøÔ‡kL™©©Û¹œúüú°ì85n{ôavó¶o?ؼÌgJìu÷èa©>»j׿ù–ài%ù%}œO Á’PEEE–)Š v‚½Ðü‡a†Qñ*.øhÅJ²¬`|:6–.Pîš!Š¢(¢ßðz}b½Ñ¨ÓhXŽe†aØÆ¸%ñƒ®'“iÖ=ƒ¶ìÙ?à¶@€¦éȨ¨ˆ¨HƒN¿ôDù±=%~¿rAd"²¬ËP.z4²ª„ãßNNµ<ùç—ÈÀ^dYÆ6îó]zIH2È $Ha@¯¦V=c½ìNþ4TFÛ\Êè[[/LbÖÓãiÇj|04¦)Ôª”BèÛC¾§FéI+ sÆ#D]î#0 Ÿ.¥ºµK{½†ÿæÀ©^i z é|eÐ ÑpUu bб4^úÕ¾ÌöÑ}º¦µª·Œ‹ ÿëC·Ïú÷Ts½%fÒÆF˜0€ÇãÕhZWxêÓýá{ÎþûÓoƒ‚aÄ3tm}ƒ"KÌðŒÙ¤€òŠêp‹‘<#¯6&&æãm :׬i9„”Ng|àš×_äç3ZÕ½z…Œ[÷´ò…Ã ŽƒKŠc1¥Ñ šFÕj¾Nwçú»î:wë­ÂùóúáÃ#þþ÷²?ü”Iø¥ËÕßk`Ò¦÷Tˆ™ñ-ϳüõÍšÐçò©ôjL’`õñÓª uú0ƒÉåÛtºH]kîŒ{&õÔÀW¾õ»+VÄϦb¢nŸù—lÒÍö95ý¥(N§³Þfs¹Ý&Ôj5 -› &o¦±äàrPñ<È’TYY¹bÙGZ­ö¡‡Òiµ»j]’¢…ëÌý¼~ÿ»÷Ž0>à÷cŒklö:{à ÷g]þ Ñ!ø7U¶´|,Ó¬ÁVÒµìÀóGgß’E†ô:ÁqœOPòK„–^©¢Àmüˆžj«‘6j¨ØPºÕµ[V'å—ˆ'JÅ‘½Ôí£XÜõBU^a¥´*דËtNàÂwaÏ]“¸¯_ «°É•õò¾‚Àæýþ–ÞÔùZ¹Á­èõzb—+¢²Þ±ïd MQóÓ[¾ÿc~‘Íá1µ}Óaº¡üGåÔjP$dM§;ŒFjKÓY’O¬ÀUû ϤS@¼°à’¼¬šÉxBq,Ó=5>ÊòÙöC‡ô"F¹Rº%G~½û„$Ë*¯ç™2»oúÛŸ¯~}J|TXËk“¢Ð½·õÿŸŸ{ã­ÙÓMF=jÑ™†¡éGÇ ÿ1ïØ‘‚ó˜¦Xžçêê°"‹6u*½V­–$élqéío%“±WãÕ0Lô žWœNóc5MQG IDATâ?z”‰ˆŒëß};ÁißæGQggû÷íCi‡ cSRËê–u­]¬ÏdÂÃMS¦fz䑆իe›Ò](ߥ¬ÖÈü£æ…„¢"„PÕSO%ìØ¡ÏÉq~ö"®Ñ™„ŸÃW~`[¡dت=!®{œïÛm…Cê ëo+d’ÆE±ÀFeÆùWï8qôÀª3Mµ›¶*c˜ÀyøÃw¤NœƪâÂÔà0§v7mÚ±­$sd¼|…›Vï6 F™7âæŒEQ´ÕÕ 6¬ôüùöII+W®LIME¥Èr°b$¸ôMÓ4McŒeE–e0¦iš¢i ¡àwdYVE–$[½míÚµf‹eèw˜Íf–ei†¡0€,˲,ãÆ½QQäqz=¸çŽÛzÝ;óæ1¼]b¢(вŒë½¾·zF<ñCq¡#TË䨦CIs]qjCÑC½:ß3íEQך¦<ØãÇsá:ðð_î5Ć2uNyû1ÿÖ#øÞlMˆŽ:^">»Ôîð(.e¬(àö+/Ž ium>à[‘ë¡) )ÐpȨ£f>`ìßY%Éø‹Ý^›KÉîÀê£ÑS}ðlMó2'Á5ŒjJL¹ _ùç*>Ù–‡êšm i¾¯®Ýy¸Ò戴^gÊÅßIß=‚(ήWŠ6±÷¬C4‹—øý_ð¹¯Ñ€άQ*÷±ƒ"F…Ni×+Hk¡3m¶>MQ1ÖÞÛù‘ÜT¯”Ή‘K7ìªw¸ÃÌÆH“¦¬Îek^}oí¿Ÿ{¸UQ:DZOOºgÛþãåµ.‚gcÀ‘£×ïÏ=XðѺ-ONÌiõæÃ;/MúÇ™n¯Ÿ§)ÇÙì,ÅÄ8Ô¤gÆn·—W×uë˜L,rÅ NËÊT]bõõ”NW÷曊Ú”¿T]]÷÷¿³aa>Q´/_ΘÍLØçóææVN*••aáäIÏöíš=c©¦¦â±ÇÜ_ Š(:׬KJ0€¦gOÇ'Ÿ4|üqpj@,.®zâ uf¦ë‹/ ez-èL\\Ÿ©2%vŸðp¿0ßE7Ëì ãjV¬ó‚ôñÝA lTf¨}Yi§aa,•©ª]ëïõ€ nÏ>¼bá‹ë%6,uÔ¸N`û=<Ú¾bÙœD@×}T_"2EZ$1ö ‘cÇJËÊRRS‹ŠŠ ÏÆÄÅa„*ÊË].—Ñh¬®®¡}ûöƒl6[II‰(ŠÑ1Ñáaá:NEÇSZRboh0¢ `„€z»}Ͼ}aaa±±±:Îç÷×ÛlEçÎaEILJ²Z­Z†Ô0\'öÉîÑ5ó?Þ¿óÇŽ™±qq­V¯âÞ’2?¯bK™ST Ø—‚–ENôª=öHgE=œ•~û ÑZ i\yÝ1™L'Ë$êâÉ ½ðqƒEOï8î÷ø1È2<|‡.!œö°Û§ „8!€ ƒuÁ- ’ŒoIá`LÍÇ[Ý¢ ÀæR:İPe—ŸÿÈÁ1°ðKWzi¦j”–wŽAçk¥1:ŸÏGLóßSUïbhJQð‘²fé ˆv——¦(›Ãóó­•ä¼XöS‰Ã¨ðnJýiðTÓFä¢MJáz’DÅ Ñ«œÛ¬m’cÐic¢( ØK&òÙGî{ñ­e&½†aèZ[=–åà¶];&Ñ4}êl‘(ÉÚ“žÏWçÀJ•O>‰šÖ¹ì‹ æ6€ÊÇ¿°„I‹/¸¿ùÆõÍ7Í{¸°y P=cFãw¾úÊõÕW-÷ìZ·Îµn&'ˆÎ$´†Mš8÷ÍË~¢NŸ6·EB!}äŸÓG^ú¥?¿ùæ1ú×7³›wÝoâ_ûµþ5sfδÌ2ì7„•Š¢ø}¾Í›61 sûàÁk×®Ýðåú¬®ÝdIzãoÛ¶m[ï>}~üñGI’zöèñÒìÙ€ñ˜±cœ§‚±Ñ`˜3gN×®]Çßß|óÇ;‚Ð53sêÔ© ®¦fæ³ÏÖÔÖ†……¾úò+YÝ»Ÿ>}úo½uðÀ Ð+;û©¿ü%##ƒã8r;¾Nh5ê¿>6Y„ÍßÿðÙÒ%ŒõF£Æ ïÎsfOà@eƒ F%`¡åÄ0KÏ>YÙ½Fi52n¿¢(Ô”¬`¦…Ô¤='ˆÀ³ÞûÚÓWcÒQÿ£iÒ[0Ùµc<›Æ€OÀÿ·¸> ÁÖ9aZe1Ð½ÒøíÇ(á— 7Ñã¶zÔ „€†‚r± ¼uþ»(ãP#Mê3¯”ÚP:t¦ìŽ[:g N—U ¢Œrù—®xya–OQ°ý,Òž¸8=-°« eA9ö@Ós&•x`IV[äÃÿ’ó—Òüùã!)—WAˆAaÒî8|ºo·C{g~°þG #ÀÊûk·e¥%ôîÖ‰ºX1¦µrì/þkµ,—ÓT°‚­&½ÍÞ€òú¯ÿke׎ɡS+©9>gXþ©Â²jCSu¶z¬H€1CS÷ ¹!ع÷`D¨%Ä@²H®nüx2Dg7ŽÃ+þ½Á{ë#{GüVc­ƒ$Šv»}÷®]:­¶[·n»víÚ¸qãÓO?ª©©)..ÖëtãÆŽýdÕªM›6efdŒÊ•3*'<<ü\QÑÿùÏ«¯¼òþûï¿ýöÛ«V®ìqË-999 íÚw]VVvÇСÕ55ëÖ­[¿~½Ùb^±bž½{ÿúôÓ>¿ÿµ×^ë’žÞ>)‰5™ˆgt}À7òŽÛGÞq{ »“µ+Ú Q¡¡ý:ªöœòS?Bñ‡ßºÿr¯!+™ûópÝ¿6ºîëÛ8#ðæ§Ý­ €ç?jXðˆ !t_Í–ƒ~ކ!Yê=5pò¼´ì;OóŠš—›zÂñaLzëq98Ž#¦ùï©wyiŠÒðlY]ƒ I*ŽÅï:^¢S»}„@åÊúz»ËÛ1>"¸Z†Óë?]ZnÖÇYüH‡x£B¦ö 4*µGAe¡ânC @ÓÈ'–cw%(óëA·”ØÝ‡Ï`Œ;wHìo=RX…18=â“ûÏWï<jn¥ÇÞ=èxAÑŠÍ;±ÒX¨i1ê––bE€‚â²?>ýú§ÿzM£V·ÜŠa˜g¿nÓwãúƼYÜ1µ}÷.iãí{vMOaÒlöЉþ×¿È ü ˆç·¾÷áa˽N7^ó“E™¿/‘ùÞkÿÞ~®ìÀ²¿ýû‡ªßp–½ ‡ª·ÛÞ={Ün·Óéܹs§Ïç gæÜ—3lØ>ú¨ßï?qâDUeUÀïß°~ýž={@eUUqIÉá#GEyþùçïuoß¾}ŒtéÜù®»îº/'',4´¬¼Üåtmß¾eÙï·mûñÇY–=yò¤?ÀÅs- *Šn¯÷ç¿óS"cìóûÉþj°,ër:ÿù¨)ÆÊüLÏŠ‚¶z~<á€?ߥŸ2Lo6ÐwvW€_À›öûÑ4Ú‘¨u(Ыß.‚¹¯¯öI!Áï¼ðQƒ†G?3ßdÐP+ÿjõy\²,»\™ÎtzX†Ž 7ûÑí €$+ÇÏU¦Ä„ò,M#Å£Eå˶ì=WUÜälyíÒoö+ªŠ„°ë<–Éþªý˜nw°M½‚5a’¢ˤèëº0¢_FIeõ±ÓçhšsgE±,bYª­wüuÞoëdrš¦ž~dtb„ +–¥ÿgïÞÚ¸Ò?€¿“Ë„K‚ÄP!ˆ ¶FׂvV¨] »hÝ"»×k ¶­ˆiEhW¥^°ÞÐ*mmÅÝŠ[‹î ¿*Ö]¢ª©…x! †L2™ßD@ë+êûyx|„Lf&çd.ß9sÎ ²á ø6.3fC¦OœVî(ü–éµa;Î~sjk«V§kcÌ´ÙdúËŸ&±ÙìS§«Ï(/ü5ìU¼ˆlÈ\¿¢ðäÅs‡²þ¾ýôuÌ™=PÈ<ÑjùE_õÅú¯ëŸ¬C;›ÝñÃ"ôuêôéæë×98ü|ö,›ËëÀ¿þe Œf3‹ÍaÃb1a&ˆÿ”—¯^³†!ˆßØ fšah†1˜Æ „† ‚`s¹‚Aƒ¬mmY\.Í04€Ñdbs¹ƒìíÅ..ýëKVÖÖD×Ê þ°:gkòŠÌû{oæ%á#L~;<Ï`0Ø8_(°ù•“ˤ¼–Ÿë)˜ÿ'A~¢ˆÇ%hšIÜÚ¬7tÜo¢™÷r›&†Ã&6Å ?zs‡MÐ4óA^³²Áx‡sW’ ¹q">K¯×[[c¿Ü{Á0M­m6„¨‰9=…!\ž´;giÚòC›Œ U?fü=#cù'Ÿ$'%Yóx?:U_WǘLÀž¢¢’þ3û³Ïl­­Ÿ5ªþÂÚdØÚ¶·µQííà  Gxx° "å£òwî,ùöÛÖ–‚aA°X `Âøñ—y<ÞHOÏánnÏzyYñxÃt¬êí†övÃ}ÞY§ooÇ1`~c|>¿¶¶ÖÅ>޲gnߦI Õ33?mú¿êv³™‘töÌ$¹„Ô…+²c‰¬áb®ƒ€¥Õ›Àu0šuô;ŸiŸlg³o?™YôÆ ¯¡ìóçÏãCMîyWÊ0”‰ærÙ®Žöf†9«ºÚ팋ÈN`cÅ"X”ÑäêhO›ÅùzË»j.]eÆÕÑ –«Дùä&Ó3”®s3n[ñ- ³²`íE,ö‡Ãfÿ%øÅ£'k~:[;XhŸñþߨ@›ic21´isaÉ‘ŠÊ(A#ÜÝ>x;‚ÅÐÃ]Å»æü†6uþµº¶ä•oÜÐ÷Þ´¯\»ÖÞÞÎfË“æqU9wäÇ“ÌÆK®h`âŠ'LÒí÷þšØ?=!ó,ö„vÐdÌL›V«×ßxuÒ$www¡HäììÌDÓ?œøßs#½ÙÀõVíÿNW×üra¸Äuì(o‘ƒ}÷)/6ªk~¹0bø3n®C±:³ó•+Wžs~oŠÝê¯[9¬¾ï›#0š`ÎZÍ{SìbBùÀ·feÎu¸Ýl/6ѯ§]±4oÞnÍLäO}Ѻ¡¡ÁÙÙëâ^M4‹EØÙX sr0šèŠ3^÷}áŠÆ@™œEƒ¬I.Á"Œ´y˜£ƒ™aT—›uzƒy¥EkEr…àü>•i©57Uѧ61úËÿ ÂJf€è97) €ûg>,/Žáí1tMÞ/ziü˜‰c½þuô”ePn½Þ÷ñ†nÎæ2¤GGÍ×CÏ(dg§×·_l¼ Œ©£Ç&0À0Õçjç'¥ç¬Jáñnéö¬ª¿DÓôÄßË'¼HQTúªõÞ^ÒW_~k T6^‹ÀŠO]î5!öƒ™ýÔWs&z:CæT÷'÷‰+,ËËËkõªÕÖÖÖ"‘ÈÚÚšE›6åê´:.—»¿¤Þ|óMù˜1ƒ zæ™glmm]\\vï.jlT‹‡ 1Ñ&bذa,‚øì³Ï.üòKÛ¶!CÄŽƒ¯]»–Íf‹Åb±³sNv6Ç‹Å...kÖ¬©W©ôííƒvuuårñq6¤òtuÒŠÕ-×µÀ÷± ìì íÆ·}¤ºÔ@ 0ÖVVÒgÜ6._Æ#Iø²øŸÛ¾Úm9O¢iÚÕYœ÷銮ÙnÜ‘ÿuÉwËÞ}ùEßÿýtzQú*­®ÃaÓ4Í·µ]=7xbÇÒÉ+2<ùøûŒK]5rìí훚šf¼2ø§ ÆR…þCâÛðˆó F¸ÜBsØ ôÑú¡l0I]8ºæv#pÙwº”#w'¾a׬Ñ888`-ÜÊD³Y,6‹;Øqج‹×ZZÛÚ+Ï]´á‘¢A| L&šÇåŒpu¬¹tõâÕ–á΢k-:'{ „ç›MLÝ÷Œò¦önèè¼tËÂ3 °yXìë<ÚÚêï fD&ü½ðŸ‡¢^ÿCêû³Ï×r®®Ñòä’+ך—¬ÌÞøIb÷KrÀa³ß1­áòUMK‹¦¥Õl–1f`˜*ÿöàá)¡“X݆x®½ 1|Xæ²E<¹ë«ÝÇOVïÎÛ€Ã}£§9jbÎD2ŸZl6Û~ð`;‚ Xl‹`Ùp¹îROš¦¯_¿N°Ù4€@ ;vРA‡Åb1 ckg7ÜCJ@Áf³ ‚°µ³Ì0 ‹Åb³Ù"''Ëü€A–ù³XAØCœ»&³ü±c­ð¡Æ÷¨¾¡!)cµ‹xÈgŸ,µØ]×jÓÖ~¦jhd6›“VdþR_ŸòÞü±ÏɆù¾üèÆÏ¿ÈÙùeüœeÇOlý²hâ‹ãç¾9ÍÆÊêòµkF£ÑÒÔÉæprv~¹÷_ßÿåO¯ùùŒ«»xé£Õ놊‡,[0ß^ еÝÈÞõÕº­ÛŸ{vÄPñ•Ù›+«ªß›;ÓgÌh‘ý ¬‘:Är8W¯^]%úé‚ñr³évÃ϶µ3³^å×_5…g\3š˜A6¬!¬Á6‡Z=s¹™¾vÝÜF™ßý£`æ+üaƒÙ ºÏ91 pØù–ƒ¦©‰ÅÂ~1÷‰¦Í¶V¤ë9Ôég•ú‚ºé§ Ï wá²Y6›0Ò4A>#Ÿ9ßp­þŠÆEdG›Íψ…]ws°ì$\¿t“Ø\ý9ÓpÔ|¥†1Þ: ¥èu3-êWžÏ 4þÓmE/ŽuuvZõAô›ï¥én†a¾+û1wמ„èéAt¹‚:Ø ìüŸB×vƒ`±`Ì 0Œ™6%¤¬’yyxI=,ïbš›[V/[$qu¾x©!cmÎ믽:êÙXþèiŽšxB2Ÿœ“£®6ÃpY,A°Ì Ð4a6s‚d³mx¼ññ_îÚôòË’Íff3‹a¸,Ã!Ùl’Åæ²X,†!Ìf6ñâr-SrY,ËK7çÏ0–™wŸŒ0›o® ºGûöënÜø$1ÞQ(är9ƒ…¹+R¶¶PóË…ŸÎœ{;2Âßw$y<Þëx%üµà}ß•6^¾²÷ÀA—!N‹ß}[ì8ØNÀ÷þŒl„§ež—¯^ÛýmÉÔWߎŠàpØßüë{ˆu©É"{{.—Û¦××]¼Ä%¹A\Ó4þ¿ca¯…½$vŒMÓˆ$I‹eÅ1ç/ÙÙ°úìªi63sƒmGºr¾ùA£ÝÌ0ÐÒf>So*«2:i8QC]¼FL ‡EÕó¸Äæxï6ÕÂaà v°e†áñ°‰ì>išÅ"8l6‹ ÆyI8lÖ‰sªÝßò ‚Ãf€‰6ÀsÃ]Ø,ÖÅ«-ºvŠÅbIœ„ÝçCX 9ã.ãÆl>ÿOà Fsæ–…µ7‡àÙc±?TïÍšê>Lü—w?jÒ´Œ“{±ö#;’¡M`6™þlGQiÙ±o±ÄNemÃ0Œ™fÌ4C›ËÑÍLƒ™n¾~ýƒÔU&“ÉÒQ“øàýwýÆkii‰˜ã&‘|¸àf=NQ3°ÿûjbÎDO¨§·ÿýéº]önXY[7.$8x¸»;ž†LUgkÜ%Ã,ÁÒÂD›=‡»À5M3öÊD“Éd9­1šLSC&€ú굺‹—žéÅáôq— Ã0¯øý~þÌ(K×Uý0g±­µ5›Í®:§|?5Ö¤,qâTóËš¦_œ€Ñ_¬­­„|båv_‡\.‡x÷‚E>ÕÞÕë’ €Å6 XÝ:ô5hèj•q¨ˆ=ÊìYR£ì=]¸6x«Þ i3A€¥eRæ&f³XŠó¹lާ«#Xž–IÓfpàÛX‘œ‹×Z®]×™ÍfWÇžq‘à XÃ^&€`Z”„À• ³ê0Øo^eh­Ž5°ñé¦ù$ÚÚjYÜL½Z¶¦IÓü‚|ÔŽÌe®fÚd¦i]ÛEŸ¬»Ô î1´Ã0TÆÌÐfK"íœfc61fúÈÑ—gn°ìÀÑq°¦¹9varëöôä|¾-–¹9;³ €!lœ §Ñ md+ ½¹ã•ëàz-`ã‡ÛЙÉ?=ÿÑÊæ–ëã÷üÒ'½8–ÃbÌ´©îbC|r†N×Öcû¬¿ÔôÍ`iù™¦Íf3c¦i“)÷óeíËÃQš››ßKü°BqúóœÌ‘#<°ÌÑcw"öv·»å/MõjÌ™õ&Nˆ è~¶ÕtäÓvYf€ãp~õ‡àp.×òs7Ó÷úG!ÔW¯)/¨H.8lö%µº¦öÂØç¼=Ü$,±tõzëζh+’\öéz.‡#}Fâï3®²ªºµµ¨ÉåpT—b>XJà#^u©áƒå«ÓÖ|öÂóÏç¬øØ~–üCåææÖÒÒ2ãþÔßÛ˜o=“ePXvãŸÇõl6ñk—Šàêusê× ½éïe¼Ä7ì®_¿.‘H°´ A–q›lx$˱ü‡Ãf€5aI’\{¨hP[»¡ì'¥ÈÎÖѾc,º:Ÿ¹ÑÄ0 ÓvÙ\³X!¿+!ÃÐtõ.ƨ7··˜Ê?ã ÖðP ºí*õMÌkÌk mdÚ.3”–1¶1fÖ˃>Ìe{æG5.þ1êݺúKÎC·¯û$ïÓ”aC3fúÐ?nÌû¢Ç@M êËÀÐÀÐŒÙlfhÆlf30f`h0ÓÃÄN›Ö|â1ÜaàÒ¥Æ?¾UYu¶pÛg#=¥XÚè±sýôö¿gí~#àÀq/ Æœ‰P_—eFE~xkÔ¼|艎š&Ó@üA÷(ð÷Ü\]~ò÷µ[?ÿá¿•›¿,š»h©“HøzȤÁB‡ø¹3ëßZ¼ô`Ùßù¿Y‰É×µºÅï¼mkc39xcf¢â×oýüßJÏÊþxÝgf³ìe,^xU£™»pIKkkÈÄ€ÑÞÏ?ù“½Àü¸ÌÜm ?^q‡Ç<¢þÒÜÜœøg»gœØÐ«´ïþÞ‚ÞSÚÛ²Òg º~ý:Ã0x“BìJÍ]›‡Ãv bf˜“ƒåNZ’ˆÑSF âY7±ÁhRkZFK-A”Ñ5ÒÿYDO5~cÜ;Å|íc%d¹ú$ŸýÜ\‚ L?®4–Ì0~ûW³êØ áüî½Î| ÕFí 3|FíÂ4טNo§.0þŠØì/#Üݶ­^êä( ûÛ»[v0Áþ 7g.]ð»ç¼rw|Uòýá›;C._m2›ÍfÚĘ;ºe‚™&9lùsŸ~œ|è_¾öjÃ0»¾, úS8ßnЮMëFŽÀ‰×ÙtkÈ\áõ€}00g"Œš ¤/­µUîŠÿð²ÿ‘ã'2>ÛTrøÈÄ}6¤/³·³€×_Zó–ÑdÊÊÛùÙŽ|+’\–7ñ÷ã@ì8xcFêH©ûþÃÿY¿õóã•§\œœ;>Ÿok3nôs+’^Ó4Ÿúù $—½ûçW9öÆí»ŽTü8ÌÅÙ’Oø¶6l6›Äág2™³~ã|—CôK®g L°q¾ÐŠm0 Øéº_ÄÍfLA<çîÂå°7b˜eá°k’Û5Þï¨á.4mf³X/?ïÙYÓ£s^Z IDATöĈ©ŒþóK sã*!pãNø8ÖÀ5“âCpLãq¦é,Á±a¾tLzHà ˜Ðk½†1›XŽr0µAk=08¦Z¿‘¶mMZH ÿЬmÓfÇž¨rì„läˆÕŸ¤Œ~N6ðï&x’jð·üªt»E<•8@B&àó3ÑÓÀfT䇱Ð=j^>ôé èϨ9³ ŸŸyßß[këîñï–ºp o÷ÆAÁ [#‡%d@~˜\.ÇeˆS·´ù„±³³;wîœ÷ˆ ¦Øý}÷uÂR÷sî CÌœd8š§T*]\\°lû‹ÀÆÊÿù›­R";þDùͧ º¶wlf3c4Ñ¥ÿ;Çf±ž—rº&L|–{(kø«¬®„Ùñ’µýì_¡X`6Ñžô©M9ˆàÚrF†÷\+†v<“Ó„7âôë“ FxóLnœî÷â¸ÉdÅä {ñ9Õ•fo7ñpç:˜v„‚ ¹ÜÁ"aÀï}~ï –!$€Åba»åã,-í“ÝûÜ¢ASüҼŽâ‹*»À‡Ò› s&zê¢æò ÓàINS÷Í"ôXáp8æ ˆ‹Ã?7nÜUOÈ‘CE#‡Š€2´SXjO"‹…Ãá<Ž× º·XZš1ñÁ]wŒšq«^4>¤ n?è)ܦðä !„B¡‡xÕs&B!„B!Ì™!„B!„0g"„B!„œ‰B!„BaÎD!„B!„9!„B!„æL„P?1Ô¬ŸSÒô 3ÑVÄ…ÆUhïv‘•K¦Ì.nìú½.'jÚò*mÕúÙSBCCC_ x%44444jù/cºþ:mI™¶±(* tÊ”)S¦„††N[˜SÑÔã3/‹‰š5mÊ”ÙËŠk OdÕiËb^±Ôi1Ë‹ª´wÿÎ)K*î£T´UùKfGEEEEM›2-fyI£ ©¢ô®}ËZÄMYØçZ4Íž¶ú ­µ»Û. uÅ §ÌÎé³X •K¦Ä”jû{ñe¥÷QäÚšâå1Ó¦„N™:%fyqÖ²O™ßx—ߨҊ&@¿R7EQQEݾËC^YRi¸ë@[U´lö”ÐÐ)SBC§Å­.©3ôµ7F÷¯©dvh\ç–©-{%ty•¡k—ºän‘†šõQ³óë:êýG:ÔÇÑŠ%ÓB;½Ðçε½nïè¶lá´e•†»¨ß?éz€#ïÓƒƒE€Ð£?·U•“>š¢C!áÎrMHï¸m{ã´qy“wæ‰,þ+€¡jYD†çº]‘nÇlR˜^°l ´˧gdùvüи;#šµ³Ð_% óÊý–wÎîÉ—¥ìÌñ+ò’ç5­ÛãÉ{x×$rS‹Å);—{ó uE‰Éy ¿%¾”"?¿&!È[€›S¯–f$‰“²c~Ã2m,Ï+âË‚îíÛÓX’Ÿ/NXWäÌC]iF||†° E|÷_©êü¼ÒH?_kýλG¾P]r¨.ܲ 4T+H’¼‡”¬Ë™—xÜ'eë~_€¡®$#~^2¹su˶߈äAÂÜR¥!h  Õej>hJUoO4U—ª¥á²{ßœïx¤CýA໼pgä\>'‹ëw¿»]ÿêBÿß ¼˜3è´Šüãüðu‘Uñ™Åuá1nE³çUHå¤F§Q«…áé)“Ýx¥ËSóª)t”$<=%ܧ­ÊOÍ(QE “Òc¤ «È]˜W­Rk„Áéëb¼y†º’ŒŒ"5¥ãË£SâüRÐȃ¤T®ZÐyôÕiu@Y~qY½+ÄòY«Š22K4$è(aHBJ¤T½~NªF&T©eI«b:ûMðœ}cÒg•ÏÉSD.÷…ÊœÔÌr5ICR"½}Ô—å@U¶<>Ÿ°.Nªºµp¼ÉÊeY|9Y­ I_=¹ã`¨ÓQÀ €Às _¿ K–d)”ºÄ9%E®HM-R :ÎJ_"¬\‘Å”jTjµJ'KX·ÐW ­ÊON-ÖÅ©XCY*&?5£DM’ #å é }o~SšÊV'ç*(’¤@ž”4YRÝ{†ÐXº:#¿šБÒY)K‚œïm²©r}b.Dg/ô*—DäíÌ tþwвµU«Õ~`Òª8_ASENFîq :Jž”2Ù“*‹›^$‘éªÉYé“Kçõ,´Ó“»3ò”Õüäådú™âÖòÖ•d¤æ+;«5)Ĺs[©+ÎWù$¤YþÀs JÚ*§D¨éØ»”ÆL/.X>†×ùßá¡î³Šæe•«4ªäœ”ô¡âÖ`©ëßÀ§—Pî%%u‘1nZE‘Rê'­Ö€ºhv|U¬%z4•ÄÌ)›µ5¼ •y¨°uqÛÏ-$!©lzÖº 7ð(Ø•äãC—ª cémÅúÄÌrJ(Ë$ªr*içoª¯ÓL§Öh”jqôºe²ã™GÞå“ݰú0g"40cf‘B89ÖM&õÓ¥×ÌŠóäP•Û¬KÜxÅ1órËegäª%þÎÐT3=W–"ÌM-‘¦o]í 5ùÉùå B Ôÿu9 ųçåWÏZ.Þ—š/Lغ̛E³çeUú<¤Ë°MÇK”|yt·Ëòžá±~‰©¯‡Šå>>þþA~Þ"jò2J¼Ó³#Ýx†šœ9©y>['“”Zå¹jÛ’'äV(“‘ÅJAX”qH’²sµ7ÏPµzzjžÏÖâõÅÐÕä$çBôº¸1dÍúž…M’”Jí_°­Û’7&:ZÿúIGÉú{ À9$:8_)Ë'»5U½n¹¯êr¢ó«cI’RkƬ['ЖÅEäö•Ê,âÇî\ï/Ж-‰8 S“þIÙ“½†ªåÓ3ÔùFv4Ôh+23«ƒÖí wmÙ’éû|²e½f(?ž™« ߺÍ_M¥ çd”ú¬z|¯ïê*ó³ÊÅéwn§Ôê1ërŠ´K¦gí›,“åeVeo ¶rÙœŒ}>Û‚IÐ)u“ ¶ù Ue= M&Ìê9ýÑ>EY¾éK‚ tá­å)­ÊS­ÚéÚªâCjtæL­ªZ#‘v+mžHĸí}c”ªø–Yot¸TQ•ãIU.ë±JÙ²ÞßÀ§) Qg×ÌŠó¤Å*Ùä uu)ˆÃ%ùEǵcüåÅŸX¹È[Ò{#RII'wogHý…š•ö lÐìÇË}’ 9•q\ ž ¨æû‡5–ä*šÂ…êR%?(A¤­XÒc‡Öm;%«–E(CÖíŠtƒºü¨éŠÛé4]›¶¶×V“yÇ%I;—xó 5%ûÔƒ./_¹uWˆš*Šk´ ÂÖ¯>5§fi"³#-WœujªÇ±¬×^×7 @§Ö­Û¶DÐT7=ëPð*~ÇÅí¤Y¥ñ™¥Rÿ’"~ôº[w`}œtÕäg–K’v.5ùsæPr¸ýéʺœ8‘¡jYDæ¡Æmá]G^¬=Ì™ ÐëwåùÕ’ð$gà 'ûAb‘2z‰7)”ËÅ<J%P¤Ô€¯XÜ”Ÿ“$©Qêø¥©®¦$±xF®^ ­R$_̧t¥U–)UêÌy JG Õ€›yŽRfNÍ툔NǾ·5§4‡’§W[vêBytzô-Í‘"ÿ…Û¾®«<~¼¬¬(97Kž²u™¬Z¡RéRç•Z–HI4”å£ Ÿ  ¥4ÕÕ”4VÊžÄ_¢ËS]tëY_e@©Š“UòU[ýEM}H‰¯¬Ç)¾sȲÂÀ¦ÅqEEY^|Vnàªì…cº^å‹…YÉ1y$ jµNJÀûÊ@ Å|Ž2¨+5Â1RdA²ø²*7±DG’ ÒP|Ê_ u¥Š”Ïdþbu©Š’õžaYµZ¡ŽŸ”øj Àc{&E©«uѳäE™¹•[޹ýÇ %ArQgX(U«µÕj¥2qv€Ž¢øƒe¢Îõz𦦝é wyêÄA~drb\ŸPHðäî7i‘]· ÜuVê1«®JšŠž«DÉúú>Å„~“…‰ÅJC´¦X-Ÿ%%sD~á²¼¢ãMþ²ã%:¿)¯ïTŒÅ÷[M™.¯º1Ê(y‚X*•ª‹”MÒÊj¾O¸ÔÅ=wh†à®í´Q©‰åR€X.—ÜöHGUtmÚ½·~xˆ8?9~I`PPP`˜¿ˆ×â£ËŒ_Xéçâ†!³O†ºüÔ<2zk×}½e½öº†0~ÇiH&æUª©Î›fE!I‘¥ÓçåÊ“¶ö¸LÖÇI—D]­‡Kyàé")nÐõyº"–ËDÀã‹ùT…µ†9¡ïP~µN£ž7-(F—¯ˆ].é5™¶,#õ¸ovv¸O[‘Û“È¿óeÑërnÓ´DJ¶nëܧ×åD%jîmÕIa`úÎÛ6´ž@à6&ÈmLPxdiÌôüãMé|Ÿ„ìå¾7ßSW $I>1}] ª²jN“ª»™Z§ÑI|àPþñðeþ"è]8†* I~Ï:Õj ÈÓ7ÄÓ7$<¼(jN~uì˜ÎsØÆ©Yªðìœgh*ž=§¢£ªÈ;Çb¨ËOÍ£bwæø  .'*‘ºÝ7Šêø½× IIøªm‘OD£4)ŒœÌ—7ÍKN-É^âÜWÝZ6…"LÉ^Øíj‹¶â–’êYh½¦7TÝ¡<ã¶DÖ//)Iž?9;§³O‘@ì+T—VkCü]§kÕ¤\vÛÏ'ðî1«ÀÛ¯’¡ª¸oàSŒúLç•—ë4òh)Ù±ËøDʳ²Ê+ƒJ¨$OÞm6Òt©Š*Ô0¦«éC«ªÐ}%Ð`Éö#,D¢.V(@'›%áñ(‰ªT¡PR² Ô}îÐúÚERw8ÒQÝßÒkCïõ{k*Ž—–dNÏóY·5ÆÉ.ŸÆªòò’üļâè­Ëñö€Þ‡Îš¼äbaBvHWÑô},ë¹×íþ?€®û,uÉF ú•“®¤>¯Öõqº‚îŽ7‹Ð#UW\¤ñ[U°·°°°°°pïÎX‰¢H¡ 4Š2µÔÕÕ ‘ )†K„<€Æòb¥(Êd¤²Ti0ÔåÇÅÕõq¸•ú‹UÅåMMeë×—ývãä5ÇGÄçw©UWiH±˜Ï—ÉùÕ% -KVçTö¦ÍÐTW×9P`c]džƺÆÇd8·¦ŠÜŒ}üðYcx|™ŒT–) `P–ª„r©{õ%”G&$¥OVgf”4Á¯Nç7&g^Dr×ð•MÊ*_"¼yòC5R¤X"0Ô*QéúœOì-ÔT*µÐT]ª¤(ZÇ÷ ´UÅå*ªÛ!W8FB)jmu™Fâ+!û˜¡¿DSZ^ ­ÌY]Rw»ÔÖÕ=.çªÞqé³tY‰ë«´@òÒèÀ ªPv”*¥.­Ö€VY¡úJľRêx‰¥ÊkŠVýÚ¸±Â¾¦'IŠ¢ú(OCMqN‰šïé?9.)Z¢®PÝür¸Ï’Ugf×h-!³$5>£Xy³ù|J£Ñ€VY¦¢¨Þ³²,õ6«„ný®‹|&KªssÕ>“» žwx ./3&ºÝv#åÉf…‘ûR»¶ì¦²Ü …tV0Þq÷‚¦X™_¤’Ix™?_QT¬‘Iy}íкåC¡DªjµåŠ¡B}W ë½Õ4–æU‘ž¾!1I±>”By¹²(¿Lãì¾0%R¨¬PãvÕ“¶2+ù,!©{ÏÕ>e=öº<ЩJ•hRVhÄcÄd×õ¶Ý%ÒôìIqF~áWNº(±”¯®P 5å%* ànÈ=.>¢ž°=¡Gy ¯ªè¦È»Ú#¥yùå-A¤P¬ÉKŽS«Õ:iô*_¨)R^”1g¶X, Ÿ%ÏÈÍ8´.))09cz%ôKHwƒê^ówK‰®JUÄŠ”G§ÿvQ'§'Õe¤FQ$IQ ”MNIÃãÁ¬”ðÔŒ9Q¹| ø~ é·^È7TgÅgZF´m<_[°| ÏP5/Ë÷fÃëÀ£«Î˜>%(úD®ZîžÑI“S3æÌ&I ÄáI±nªL"–MŽ.ÏÈÈ éè1+ðMH¨HMŽ*!I $Ñ)ÁΠì5CQPRBEjbT t •"h<”<¯,ú›Õ¾|×ÞÇdót›œžT9'9Ã{ër¿ðp~rb\…D(Š;:Ó‘BqEF\¾Z­!“œ‚Ø$¿ÔŒ9³I (Éä”0ÞÏ>czMÏûJ5™ñ ©U«{”'O(¬äéù$Ÿ¤@™$t/üôl*+#9"W|iplv´×8@Yd •‘W*‹…bRC‘âž³â«ä¬äyËSÖ-éµJJÜK÷ª8ùd)¥òqèvâéÂßWîç|‡³V¥‰ ”2kΔ<Ë9²0pUvœ'hzÿDò ~F?ÒÒoÙY.‡Ì/$é2^ß;4ªëîÞ˜èhIbü´R±X,•‰ïª!¿÷†,Qeêœbà“@ñü$Ecrü´\>(ÎJ—bÕö¼B[žµO­ægLŸÒuyÌ/}kd¸$þÖcÙ[=÷ºÕ “%©q¹*µF<+ÝOǨºÝ©%’„log$V<'u·_v¤ïö']Ç…éѲøäé³Åb‰L.!žçOWº.3ty×á&Û7Â`¸û +Æ3[–l= ’iž``¼´'cí1-€CHâ’@',Pt÷†1›Í4MÓ4MQ”Á`¨¯¯Ÿ0aÂc÷A.^¼hooÏbõãÝE³ãë’v.ÄýV0›Í---®®®¿m%"¬AôÔTbcQLbMôÖ%w5К¡fõôD*aç_V" å*‰Ÿ¯3O[¹lNî˜u9÷ÒöÝTâÀq_#Õ±ÚVKò¼rŸOŠB¡§“¡j}Ì´øRyBìÝŽæÍóŒN VeDL›½¼ O¡zôx$U™?=**jN¦.BÜ¡“çN‚ý9Û£ñÊÑ9‡­¦Î uÂæL„B!„žz÷3Þ¬µÓ8/«cŠcU ÍULóÔîï|©½îpaIUƒÖÔû]GÀZÀ¹ÃÄz­¬…–¾ñÖ€«F­ÚOlXr¢sÒæ:­Qn‡¹æÑ¾03¶çlXóÑä1?jÞÈŒB!„ºÏçšp\Ʋ:qâàA—i^¨íø{kUAáÉ«Ñ3>ŠÅ=¿%mëÙîïꑵ}NÌX€^£pÐ_éì!Ï8œÑ3b^íh2ãp ™!jr÷ãø…bÈD!„BYÜ×x³\®Ëx/+КÀe¼W÷x¡7˜ôÍ Šý%u&ýÕýmæÒçÄà2NÐ~rß¾O+öî_ÈÚm¼ÚÏ«Õèµue[¶(4X}"jÊC1d"„B!„0gp]&xYAϘi'ó“XµWnØQÆ™47ÌcªýºðDsŸ³ô=±I9m´#§áXaþþ+^]:'·æ-¨Û·uCN¡Bïâ:a(6g"„B!„ЀC †¶NF}«ìì¬Z\óqaƒËÔÞŸ€ fO†aÌf3MÓ4MSe0êëë'L˜ðØ}|,õ‡O¦ÆDX‰+a >%•8ppÚ éÏl_¾µªÝÅoÆÔQúcG{`ÈD!„B¡Çŀ˙Ö##fNÌßs´|džrà8¸ŒðwÂzB!„B!Ì™÷Ÿ4=Bç. ŪA!„B¡ÇÞ~B!„Bs&B!„B!Ì™!„B!„0g"„B!„B˜3B!„BaÎD!„B!ôd¸·çš9r‹ Ý“€€,„B!„ž*Øž‰B!„Bs&B!„B¡êÞî›Å{ B!„Bݶg"„B!„œ‰B!„Bs&B!„B!Ì™¡_Çf³išÆr°hšf³ÙX‰Xƒ+a%b b >ñ•ˆ9¡'ŸÏooo7›ÍXÙl6 |>+ka%"¬D¬A¬Á'¾ÖBH ¡ÕjñàÄf³Á¯î”±±V"ÂJÄÄ|*qà Vz$†1›Í4MÓ4MQ”Á`¨¯¯Ÿ0a– B!„B5¼o!„B!„æL„B!„BçÈ‘#X !„B!„ú-g`) G¢Ïþ™X,!„B=îð¾Y„B!„B˜3B!„BaÎD!„B!„9!„B!„œ‰B!„Bs&B!„B!Ì™!„B!„æL„–>NÈ IDATB!„B˜3B!„BaÎD!„B!„9!„B!„œ‰B!„Bs&B!„B¡'ç^&6žÙ²dëÙ®_­$^ã'†úrûcUô§³–îP9†%-òbÅ „B!„Ðcê~Ú3ÇM ™è7ÚT'Kv¬Ê)»bÄ‚D!„B!÷ØžÙñ—q“=¸úê¡ «JTû÷Tž'·ýùC{Ÿ½Únâ8x‡FFø»\Ù“±á˜Ö=2mžÜÀx~ûÒœ*Î蘥Q’fÅ×ûªf$ã§FþyT&LýùCûW5´pÜÇ…þ9LîÄ5Ö¤m8^åÆÇjµ`å2>bΟGÙ@ëéâü}'j›ÛÁÊetXdÄ N\ã™-K·žø…HªJN "ÓbåÖXßèžhµÚÆÆFŽ•Ð©ÇKugêñ7¯çpœ§Áipœ§ÁipœæNCpØ„ ÉᲉG{"ý@ý3¹N&¹˜TŠ«FÐÝ’SR¥õ˜:þŒqPµoËžó&—ñÞÕ‰óz0ªŽž7Õ( ÔíËÉ?¡²öŸ3?&Ì¥áØŽeš[fl™—ÆebäœS½¡öX~Î×uF‡ Ð~Vaš0'1&DÒÞp,¿ð´àÊþœåµ œ?š—ödá–ý—Œ\4+×z…M(áê_F½ñWþðxkhh8wîœV«5MXÛ!„BhàcŒ4s]olmÓ?Ú5! ÃÝ‹3[–l=Ë“åaé’i¬Û•¶ád»dFÚ }ÎÇ… !‰K U‘õq~ƒ÷œ´HÁþŒµåzï9i3= Ò6œàŽ/)ÌôuÚ†&¯9K玴6^Ú“±ö˜UXÒ¢q ý3½+3J®vöÔÔŸÙ’¶õ,gtÌÒ«}ki%‘ÅÊíÀÒ^ɳôÕ³«Vnv™öÑû/ØæÐÊŒ’öñï%…µç/Í©2u¶¦¢~N™—Š×ìh~5f¦\`¼rtGÎ1—˜ù¡NwÝ[—a³ÙLÓ4MÓE †úúú & „§ÕjÏ;Çb±\ŸáYÛ`}#„B¡ÇE›¶åZCýˆ#Á£Z‡låÓ77·X9XsÚUzh.Y•XÒùâ•f-wä„qå‡ÏŸPéгíà0n¼ÎkÚàìÖ¥‰]¡¥®Ù8®ëíU--¥Â±v°Ð6ëM`À,±ÑZÀh×z­ ?N,ìœGC³ ¬NØ’ù0p‡Nž;i{NÎvˆ‰ô6Ø‘sØj꽄Ì®¡¡†H†“<¼HB!„'l6×rBëååõXæLã¥òïTq.\+5@³ƒ_ÌÜ ¡™Ã`Üx‡Ã%µ'Ögµà0qÂP.­…VPkrŸ6ÿÏnÜŽI­\èÉ–+p´h×^ÕÂH!€I{E `å èXWSó=xpÁ¤Õ´X ¬¹ÖŽÖí.aó#½:2ÇÊÁTý¥Ñm _˜Ûs6¬ùÎhr‰˜5Êî úlÎÛöv ™!„Bè±c¹O¯”·ÎÞGÿLSÃуû÷ïß³+{ÕÚÃWã>5l¤5ØyŒ—4Ÿù¨í™!„B!„úöÏD!„.ú\½J}™"…b7w©3K!„æL„BÝÃåòœí;*u$—¤Œ)þ]ØœÙ3_óÀ¸‰B衹\_ ƒŸ‰9!„z’4ý°âÝ´š‘Áó>YúÊ8‰€jüùPAÞ¦ôw‰Ý˜öš„×ûmºCo½‘VÕí¤ƒÔ{\`Ä´7†ýF½l´?ØZ¸ûûJH¡»<àõ™ó&ÉX©·ªÛö—¿ WìÞ€ Bå¹&æL„B¨ßÎoz7íoÚÚ=³¥·/}§¼ª^|‰÷„7æ,ý<ô?ió³ÞIwø*íž ùüüQR(J§k|g]Ö¢l÷Ïß{ö!¶j~Þ° WAýnÁ—)anË™4é)ïÌÌûtéA¿Í“„OæuËÇkÚ¨±øÍE!Ì™!„Ð -§¶ï¼(—î£ûfnú Iâæ¥ž§¶ïüö8Ï#øµŸÏ˜›žº{ûÊùþß~˜}bþæ—ï"¹‘ÒˆÅ Ž¼¹¢0¯|ÎÊ@îÐ[o¤QÑ+C®Xw ¦¬ùjѳ¤áryöúMûÿ«Ò€­ÄwÒÌ÷fº‘ Ú9÷oÙüÅŸ¾T¾vW¹ª ÀA:{iâ¤ÞM£ºŠ¼}%'Ü ™–ňX¹ýyÊùYag*»Í²tåo½ñ!½vZí†u•:áóo¦-~ƒÚ›¶ò…Ú|÷àĔœ†üúZÝþ㨠æþepé¦IÇWm;TÓLWâµøÃˆŽÛzµ§v¯ÚöÅ‘3 €ïê3%fñ;ã„ë»6êüöìƒ µÈ!ò)±Kß'lüv”ýÖËÙ®oïÙò¦ðüU¹Û¿?¥¦€+3if|Lðˆ¾>i¨?ðIî¦ýg4|Ï—æ§%w”¥:¸mÃÖƒÇUm\¡÷Ëo'ÆZfBËùË̃ò±äÆÌ*¥ÿX(ºíÄ!ôxÂçš „BýŠªûA¡s#ÀA¹³På³Àû‡÷ÞÎÚWößãߦÍH«·Àûâ¾]e¯#k*µw9W¡ß”‘?ª¡€$ê¾ÝpÄ}þ†5+§{ +OçÃÂ˲ø5_ý㋯6ÅÈêö¦½•Q®…މá̆µgüÒ6÷þ¯VLÐíÏ|oÕ)ª×Š+¿ÿÀ=l|ÉW8âYqGÿÌ;- H€šÂ •¿[úÿþ×Ê0òÔ Þo'ÌÜü޼ػþ@úú»X«;àÔ¦U'äÉ›¿ûáÀ×^£Êò>ÜzžÃùMo-Úp„ Nûì«lÞÿ¬jׇï¬ü¹ã“’5»>ý~ØÛ›ÿñïvoœc«(ÌØð? œ'­ý2V ŽZóõ¿Ö¾áLU¯ûpÅ~*0mÍç{v|¾)Á:¸b~–â6ÏWnÍ,w›öÉ—›·¬˜%­ûÏŠ¥ßª@s0cnÊ^ÕˆÙk¿ÜñÕö”7ȯxûÖ!IhSl,¤^OÙ¸=ÁGt§‰Bs&B!„4õ:þ0 Ù¬<Ý&ö •U7£Ü©}§¹²Wݹó:ç‘bê²Zw·s%‡ñÁ¨iꌇ8öY©3 ÿÙþ}›xZ҂מ‹„âQ“¤… uG·Ñt½]:'6x„R0{/Wóý7Õ=ƒ“NÓhþ0ñµùõe ysÞË€`dX€P”|^”\Àæ÷ú³@Õ*©_Y«__W2/6x„c_ ƒ¦²V «Ø¶[ÅõI[úv€‡X4LöZì'ÓÔ{óÊ›àæº-z]&¾,ôu)´UW] ùB[|¡€O‚NUÕ ’—ž•8‘Œzyþ§7~:Mz»ž±#bOQæ6LðúÛ¶PsBe€úÝÙG)ñ´•i¯É݆ˆGŒ{3-ANÚTpž€Îmö‚ˆq²Ãøwž!„îÇaîC†¹cÎD!„ž,]q‚ï<¤Ûí¶gÀ` îåÆHŠº%uðŸ•w¶;Ru?¨€+í6 -éö¢@]q±ó-®>#ºâ#_±PêªÜwÞÍüâÛÊ& Ãd£†Ý.}KüGv¾DòÅ|€6Šh:¯Pƒpüq×t¢g=ASy¦«Ô%îo¼‹‰BèYÙØZÙØ>ÂÀþ™!„P¿"=„º”:[™§ƒúÈ)jNÜâW¥}€+–ô¶g[ùªËüQ#ùê]rˆä®ÇÕÑÔÕS1•²Ä$òfm£€/ìZI’O‚NÛ•¡Ha·œDòÉŽ8t늋m¡ª^¥¹óÒî¯/«ç|o›¦û^«»XDï€NÕ¤hNûSpÚ­¯©u}®ÛmWK±ösço¾(8øEúÁM¤dÂÌE±o޽MUõÙÎI5ë4{ßuo [¯ëlF&ä]MÌÃM !ô8œ‰PêÎþ8ê,Bè>‰_òîþ¦ùóéӤݖVøüÚ´ÿNÔèH!ŸG) m¨qŸ™&<¾òŒI’ÞmЍ//¨þKÁndï6G’´%A§¡n‰ƒ: ø‚®KÙ”F êüE×Àå÷ʃ’WF’ßÿw÷÷õa½ï¡9²í€á¥°Iw±¬»×÷ZÝ÷"ø">€Ã‚MIrAÍÐÝËŠ‘’€ˆÅ:õÿŽ~‘½~Óüù{6ÞÃc]ø|aèÒ•Óo}ê)i+æ=ØÄ!ô˜äÌ#GŽ`) „Bý‡çñ朑ûÖexmå'©gÞKy÷/G&‡>/âû½*!0um`ݶ¹•°íãøw5G]õÆŒ *ÆGõHPyÄíE üWy¤žëÑ1ÔiÝJ‰×-»ŸÓ¼éfi‘Ó)]þK½›Rù¾³ÃÄÿݱiÌÊ·GÝ\5ê\Á‡‹ «Ç œä!þõeݽ¾×Š„û[)ïNî­U›ãåj/«)‡{Lkšê#§tž/û8_àÄ!ô˜äÌ€€,ôH0 c6ÿ?{÷×Ô•çÿ Ƚ*‰J‚JÐ6Ô±3À|‡Ÿè¦ó@è(̪éj±å G«øЂ²¨,U@­XW\FX§P™FÙAÝ‚<ÚÈL?F»5ìaj“ªÄZ.ØÞ Þ‹Àç‚‚àO„¾ž>Åä&÷äÜsOÎëž“¤³£££££CEA.]º„j€±ÀuQr|ÕïrWç$íOø’¹”}rä“Óó^óRK–üÂò‡õñgdKvÇöÃâ·ÿsþK‘!E+÷Õ_ËJ?®o“…$¥/}nàíscCþ°©43Ï#áµ€édѦžj‘ÍOíóͱߨW,ýí«ÌÕêË;O²… Æcw¯ü{ôÁâØè/æ/xuÎK2jûæüéʾlq—ž6Ïuˆ}Y´¢.Õ0^΀$s~ûÚó«‹“2ŸOyó=$¢ùËvæüYœÿ~ÉÚŸ 5†¨¥úó/æ«\ü랬bªß´ä”‘¿ô δÐOÿQù@¡ï¹WWo}/eãšE?ue¬ÿSõ‡¬_þdKÑž²GÛ`täLTÀc7ý7Y;­I)Y‘Ñ/|óµ7ö(§3bËÕFýÇï¯NûË·?Y˜¾sýO .â—yñ›zþáäêùóeÛ3ï¹ÁƒŽä¶¼Ÿ.{/ï†?ï "çŸüò­›–ö™üœ³Éÿ‹›7¶9ÿd~Bêº÷Î(í)éãü¨úxî©v"b\_ú‡7Sc—õüÞæû¾ÁJõ°»`_Œ=´[¶ë`qÒê<‘ˆqþÉœ%;7ýögCÎgJ³dÖ¦ÒƒëcÊ~“(~*íùC~üê\""GWÏ 5ùq¯ÊìµÉæ%ÿ;ý!·`ßÛ¥mD$qýù¯¶ì‰$7>ÐÆÃðí¥‹DäòÓ—Fªv‚ à0Àˆp>300ðY(›^¯'|>™õï§K Žÿõ›öÞ›\çÌ_õæo|Ÿ^„¸zôw¯ïe’ÊßФô#,ÀXaû¶??¿‘*æ3žÉOæý6}ÞoIh¹zµÕÊ8»*dÔ Œ}È™ÀL&F«ÖÖVgggÔÃSãììÜÚÚ:äfÈ™0Zݺu ËeŸ¦ & çs°È™ð8!gr& gÀ~×~$š/”Ÿ¹À3³C#ü\POæ3àG3ÏdnÏÌÍݾ­Ä4øFÂ…Œ0MqÓ€wêÔwß%4äDDd4wïL_¸yYX¿¿¿PXÌfíþ®ÁTQqÏ+@Î.Q4S †’Zyø\Q[iz„ðúŒ·V–á}úùgŸoUsûV®,6=«õ!˜ŠóKŒ1cÝ,@o@,¾ày0Ö—¨mˆL˜Í5Wl[›YÙ$UÌT÷nX“·Ykbîj¹Hò~ÏÒ¬Ûw‚"g,³=Þ=(&û \Ç1_³oK¦¶A$bÜ#²Ô.‚>á7n‘ÞFÝ“‰“¼Ï•7˜LìÜŒƒ›ƒ˜š¸°EÄl£¾ã¬náÙÙqÞRLåÛ7çÕ4±¿èŒŒe³Ù¦âeoéCé¶ÖÔÔ$ªâöåhÜIhÐnßž¯ç™‘¼#!ÈEhÈy-‘Ts•ú&K&Üægؼö˜™;ñFŒé½ƒq¶"?"ÌgÀXÖ¤ñ·y5ÓHDD–’7^¶Ý¢Ù×µ(_SbTEªÝfGj¤:­Q°Ý–™YëžQ¡+×nõ6\° û¶—K“ÿ¬«Ðf«-zNìV•F©:ܽOb“ÎŽˆrcy]ææŠär]…®|›J·m»Ž'"V0×ð‘ïj?HžØ’'Ä,Ô~@'òkš‰XF4×RäÁbmùñ¤Ý¦5™JršÂVè*t‡—Yóóˆˆ%®V¯J>X¬ý(ÇÏ_xAòsš4ÿ\¡«ÈðªÙœ©³MYZj…ÅÚ¶¹éòO˜\ÔÛ’ýUò…'d"gÀÇ›¸Aï³X¬}ÿÙ¬;fò^(%r ÕÈkµHhª5’—ÆOJDnêHo†ˆˆÓëywM ¹jü$ýŸUày’(¤÷f6ÁX©gçFúI‰Hê¥QK/TÚ²¬B1›%’º¹IAîD$uS0¼-¿2òÀpKD.Þ¡n]ߤ¯´¸GF¸³DäºØÓšˆˆ•­H¬B%8ž,•:>06Ü%b½5¹¾Ü¶7‰W„Ÿ”ˆ…»Ôjâ…Ç_çX7 c™{xl$¯ç‰ˆ7Vž1ŠD¤ õ–3DŒ*BÕ' 6)Ñ[Œ+_®ìþ·¤XÏûù‰œÈÊ»“$#•0DD"'2r†éÞL.eúíQ*•’-¿Ý5E%ªîÊJŒhäE’ËH{6éû'uO“Jܺ"•0$Z±‰gz÷ɸȱÉH¥=EbY"xŽ·žI SÛn­¢w³H"ö®ò"g<vvD¶"¢f­ñL¦‘H´fk½KDM•Z>üðgÛ¼m÷4W¬|£DÏû)äŒÐÔ=í)6÷L12¢^mA’ãx±ßç3YU¨ŠÏ+1&ô<¡0Gïç'—Z›º¨À[DF>œÈ×ûžã‰‘°7©¨ç»÷.6s¢4h ga¥îrÉÜÍ9~}^ªÐð4êëfˆLåZλÏü¦‹_¸âBI ï¨"ƒVÏ ¦ò£HD$÷ö–š´ºf"jÒiõÖ»žÊ%4A܈[[Xcâ‰ø¦š}‰q…¹\îî%œ)Ñ7oÐVò~¡ª¡?)rµZODMº…z¶ÔÅ/Ta*)7 DBSe‰Iêç6ÐARC±®‰ˆ¨¹&gsNÍ _)Ë0 ¼øøêó™ðãÀÊå ‘Hr÷{?;)4Ÿàý2¼úÜáá–SR+&$øÅ%¾$UxÏÕøÉËE‘Xï5É¡k·½”£P©5j…QìÒXï„⃊̜í¯åqDŒÂ/<¹0!ÌÈm[Nøæm¯©y"élMƵ”†üx$£ð“jã4›Mš›­q'¢ÈœÓæ•aù±nA 9‘îDüÞ';{MvìöÍo©3"¹_ì6oé £ ä¶ÿ&LðÏý&?š ho0"ººº:;;;:::::DQáÒ¥K¨&½^ïçç7–_¡ OËð+Ö.sMuŽu³ð8!gÀã„Ïg<«X¿vÔ•󙀜 È™€œ €œ ?ãÇ¿yó&ê᩹yóæøñã‘3`ÌrvvnmmE=<5­­­ÎÎÎÈ™0f¹¸¸üðÃMMM˜Õ|ÒnÞ¼ÙÔÔôÃ?¸¸¸ ¹1~?F+†afÍšÕÜÜ|ñâÅ[·n¡BžœñãÇ;;;Ïš5‹aäLãQÓÍÍÍÍÍ UñìÀºYxœ0Ÿ ƒ²+ûgT ¦k៼ó™ð8!gÀã„u³0´ÁVHÂЫ©1Ÿ r& gr& g gr&Àãd*Ôøûûû%èøž[öEøû‡å4¨œg–Ðæ?€ˆB*gTá/h·ÅDÙ_Pز„B}÷‰(˜Ê ‹kšï÷àf}qaùÈŸ¨¶>d™¶é‘ž¥IWXXÑ4’'Õ o*ÖøûûÇTðh ðTúíz]Œ¿¿¿¦¸iä˨߬ö÷˸O¿2Œ®©ïkΉð÷JÐc@ñè‡Åß?(N7t¯Ô§/EW6ªà÷3a ÏdٛEUŒ¬33k9þ‘cfI­ÈÌO—¾D×ܯ‹íîœÔš„B=w_ÊõíÊút½jMÜ>Û”ôà]ÙH¾w gŒ-ÒÀ5ÑJ2æåT4÷ïÜ2ãòÎXfÇ<¼5T0KÜ^ÑLÄ™µZÒl‹÷c¬†’µ+ )r[| Äj(Ê(o""SáÊÄ¢Z14ûðá­A܉íqyX…û41ê˜@†,å5MDD–ZGL`¤Ÿ„X"²ž)"³‹®ñ Ç6gÖð8L#Žu ô’écâ2 µ:½IªŽˆPû¹³n¡["&0ùà{Ñîœ6qË1³8ûð{Ñnæ3¹‰ù ä•­ "etöám~’ÁÆ'ºí‰ÇôRMöá÷ªÅ3ùÛòŸÞ1nº·Ø r7ÕŠêÞ¡‘ê‹¶çéÉ/yG¸œˆ¼âNðbû>EÜ[¹•Mª5;ÞËN%ý±-oå\ˆ¬IwwY%¼:~kŒ·0@·vW…3}²²>ó­-%z&49û½Ñî¦3¹o%–7õ>g¾I(áôEÛî½NðÝq•…&urr¨\4ŸØ“a MÞ*Í'2‹¢æòÄ•yg8¿ädz5t&weæ0/rØZm¹Þ+¡ðƒáRË™ÜÍ%&ô™ EzN¹xë{[ùÊZñ>€»Î~ ’ ù‰¹g,ÒÐä÷2"™ÊJÇôÑ4×”ÔŠõ2u`d¨œ ÚÚîqšÐ·rË1=¾5;;Þ;“·¹Æ}°¾T0í[¹¶¨ÖêŸý^v¼Ÿµ¶híÊB Ú•è{r&À˜ã¹9\.Öfæé›ït%RUìÁ>ø({™Ÿw¨Æ!2¸î{¿ØØµ&6!"UL\„Z«–qN “Nk&òŠU{{G¬‰V’¥òæÊžÆõ¿È@†Ì'j›ˆšô•’¨—ùõ,˜ñŠSÏv÷‹Œ dHÔŸ0 8L#À‚2 wDÎUqµÇò2W¾öŠXLŽ®™ÈÅÝ]Î1r•×lV®Îøàƒ'¨½ƒ4áJ"î‚EdÝTîR"bݽ¼Ý_%5õÆ&ò^óÑç5Ú„§·Èv b‰‚HÄ™ô M¼{ôášÏ+¶ùI¥³g»3D$u÷šÝwÝl“®Ø@¤ŠKŽ Rk’â*KŒÂC5i„ej7—ºµþÞ§þ Å•IB7'kÔAaqɱ "}IÏ8ñNHШ՚5¡r"Nß„³UÌ:<:TNDn1ñuDl¸‚ˆ3r"5ז艔‘±ÞÞêØX/²êŠÃo{òÐ5?÷Ùa±‘J"s¥¾ÉX¡·ùÅÅEE$¯ñ»ï ß™ÂXKm…H¯ KH•àp>Z̬-Ñ“Ä/TÎóRu œ %gl WLÚJ‹íÀ©Õ˶|/;#Ò]>H_*˜ŠO˜‰ü’·-S©—%¯Q™µå=ׯèÊFò½ãÇ ŸÏ„1Œ‘ú­‰¬Ürb[Q º·gâ.”dæUî¬{é}/“Êå 1R†ˆéù›%H$7ñDdØþªÿöží‘ÐI=… *9s¢\ß4—)7’$<²÷‚&#w±ÍÒH¥ ‘•çq˜ž¬{XBNX Í&ƒ^Wœ›w¦dóv¿Š}}7-åyÚZ³•î9‡jêä­áÛrN”dêKˆHâ³/Îï)}VgÀb³~É‘ÖÌ’c¹[Ž£ZœñÞfµËÀ!™3rD$WÈ»›°BJÄqœHŠjÒR""¹RÁ Õ­Ý‹o²ˆDr•ÜvVÈr" oâw""©BÎ˺1DXï Yî&%bY9CDr¹”ˆ9CD$Y9žˆÌy¯ùçõlo1qäç6¼ç–¸KYÛ>X"⛬¼…'’ØÚ21n ÉЀn–ÄÂ7Y‰Hª`‰ˆXÛY‹CúКΔˆèLâkgºoáŠ+›41nÄY¸;N:;H=›ˆÈ4ðÓôÛ˜¤rCFÞÒ3spoW6¢ïÈ™c‘KXš¢×rKrk$¶¥ͺmÛO$¡ÙoU³ú¸°µµ}ÇÇ÷:KÝåDVUüá uw§FŒýÓS‰-ªÈPù‰cZÝÖHòðHÛ36-M<ù±$rœ•H"—â0¸æšÂüFidrœ·ÔÅÝ/,FIº3[ &G}r¦Ð°osQ-§Šÿàà²Ù\¡æµ<óžˆH´ ÅfÎÚs†²îÛ #¶ Í úZmÞöcEÛ´å1îOáÅ ZluÂAu‚Ðl2èËó·Û–Q±mÀvÇÊUr"k“…#r#-}ÇÃФ }»¬ûvk÷uÛpÌÈ äÎÙ‚¯´'v®ÉÀÓ'‘ˉ,Šèƒû4Šžf.u»·;à")ñMw}3,gärcÉjâ‰Hê.‘r ‘Õ‰D,ñM&ë0÷+‰•gˆˆ·DR8Bæ#ÅL]±‘¿5[#ÝY"šÊ3sÏhµ¦˜8…T!ï¾ðF,ñÊË/ˆî¡šA.7Èr"®û(ÏYD"¹BÎv_¸·+¹÷Ž/¬›…±Î]“¼XN\ïüƒ( ¼ÅX‘ŸA$âÍF“uÏ£ŽPµ• Τˉ[™˜oÀGÈŸRМ½,\A†¼}zQªqïóæaÌË,ÖÕ”ïÛWKÄø…º³8L#~°XÓ™ÊÊ¢•1 9…ÅÅ…û¶%fˆä~ "†a‰¬*uzóuQ "ãšjŠ÷i-DÄ.4 ,ÃQSeeÍ…æ.…JNd9‘¯­©Ñfæ_¸“õ4þþÛÊ IånR¦{îïÉ ‡J ïÐê9qÀb›´1Aþê„b='H\Ü$ ‘T.e‰a"2VVÖôýN7õ2/"ó¾í…5:mfN­HŠˆHûHMzÀnïSá¦>a½—…ÊÉZ™‘©­©©Ø—Yb!&0:ÐFŒK ÆÈRY~Á™jóWÆåÔökærww†ÈX˜_Q£+Ì)¹ëº”µ23¯¼FW˜£µ)ýÝÜCý"}NNy®83Ï0ü3…°$ŠÀ@9‘1?S««)Ḭ̈}ÞkÊŽ©Rk&Æ/Z¦V«Õju˜fY„,•ÚUE„ʉj÷í+¯Ñi·%nÏÍ­äh¾”uׄ+‰ô™ÛŠu5ºÂÌ#‘*Rã~Ÿë„Oí½3áÇ3îõŽKžÛÛ•¸¨¢½$Ö3ÛßJ<ÆÄîKö“ˆúí™'‡ñ³Yî1û²#ýDí–•o­Í3º¨ccÕ˜=½«‘J­¤×ô]ËøEº×f®Ý~Ì,÷ŠÌN’â08©_òáìè¹îÖÚ’¼Üܼ¢J‹ÛÜèìà Þ,±îšH/†Ì%[2ʧÄ$„*sÑÚ·r AÙ‹d)Ùœg`ü"Cd­ÍÝœ¯gÇnô’p•™‰™5ª˜p‘ ŠÄÎŽÙ¶f.£Û¾ò7ÞZ›ßä½xGv¸Û“y1ÖÚ’¼;ö•sªØŠÍÍKNu3ä®}ã7VæÜÓ³c݉ÜÔË%ÄØ¾½¨ï'ÍÜ4ûÆÏukÈÛ²61³† ŒÎ>xçCBפîÖʹ;®mû£‹ýÄÊ̵k·™Táɇ3ÂpšÀˆ͈ìƒk™Êí+ßZ›YËøÅÄ…öŸÎôKتdÌǶ$î3ÅΕ‰bo£V„‡r%›ójEåÜä;Iƒ’³#½$–Û×æÔºÇ„Êm½ÇpÎé@%agÇe¯ñ“sg2·k™eEOd…™åZ3‘w¸wïŠVîÇ¥RkXï5·†{Ym_›˜Y+™»æ`v„Ë`});;îà{Ñ}nâÚÄ<½|ï-üÍài¾w@;AÀ]]]¢( ‚péÒ¥ÀÀ@Ô Ü«¹bå«[ôÊø?kmï"BCÎoÞ(áçü4Çëü` @“xp¼.æ•D÷xr¡ìŸ»o ÿ„Ú€a¶ |>žñˆ©×ÕÖhsôÄÌ‹ÀH`@΀gš`,ܼ½V”¨g'«ñ>£Ö͈ÁºY€Q°n¼Uà{€àqBÎäL@ÎäLäL@ÎäLäLx’Æ¡ `ôºxñ"*C/xÖ`>'ÌgÂ(6sæLTÀ“õ%†^0h« æ3àqBÎäL@ÎäLäL@΀±¿Ÿ O\§•ÿvOnÛÙÚ.A@maù¼­ó!ËÜöýIã­gúÀ çÞQ«ß9×óªøº¯«_ßsŽl{ó‘×Õ+ªù'[(Þpò¤ñQ‡`>½gÃë¡AAAAAA¡‹Wïüü¦Å§<ÃU4ü×…œ ð„ß­KÍŸÏTîþÕ$ÉH–£ã¢ÞRvµóCæ÷™%_pcR\¤×­ýÿþ9sîíæ)¹ôùC [¬W®¾ ˆ£åÀñ†=+RÏùfZï+ÑÔxä@Y£õáCæÑ5Ñ[ëäQ¹åŸÖÔ|Zž·\Y¿#6þ¨ùážìø#õ-ÏþÁc~™÷iM·OK6yv­Ùkµƒí1ÒG´ Ê%‡´¹ÁRú‘aÒÊKV©Ø1ÿBFb­*m¼sŽsuGëæžÑ|dCj•bSɧ55åY{“ Œ‘`,ذ«18«¼¦¦"ow´ š쬭K?в ·¢¦æÓ¢U’S©é§9"þÜ®¤1êЧ5:mVHã®w ÌDDÜÉ +v6zøÈú–xøû"âëR£“ê¾®ƒœ6Æv™Cò*jj*ö/µÄï5DÜÉÔø2fyѧ55ù‹¬¥I»Î 6âµ–Ä6¾¶°ñwï\«wrNÙ=íÿiù›@4ÎÑÏ﹟ —>û{ÊÅÎvóߢ/+ýÚé«óæÜ³ÖV²#'§%¯(—Ìt Û·NŸ66·‹ÔEìÄù¿RþVéð•þr5ÉóþIñâ8""‰lò’ðŸLÿß[Î}^âÀ¯hâÝÏö¦CÓêo´‘9¦Xö¯KfN¿rW ˜Ûý^ÚNÕˆþŒ²`<_í•rhS€mhÊÖ”-,)Z¤ "îd´¦t¡¶h‘h.K>Zgn]C6¾»e’%²TïIßsªÑJ$Q†¬J[7OA†š$ni€ùHµKSR¢¼¤$˜OîH=Pg‰Hâ¹0%íí¾a„?»ç@£çvmÊ<9ÉU 6å*<ëH"ô£¬ŽØé‘_²^ÅvÿóèØÛ²Þ£^•¶Ñ÷\üšÒ«VZ±Ø°ñлóý…1y}EÝ‚ùâ‘S´ªèÐ"Å31ÔV/ q-;ÛØB^ Ì'w¥¨¶ˆDù›ÒÖȉxÃÑôô‚³W»oÌÚ,','wlØ[ݸ*}øˆDD–£¯G_TòáR‘`H×Äó)Úw¤hŠC7E"®îýÔeõ-V’ÍYž’åËÜ¿*¹êI;«Ì"I”!ë³Ö¹ª ƒµ@séŠèê·Ë3÷-¤ùýÅÑõëË÷KûücŽ9]ÏÍŸOçÏ[8‹U²)wS°¼ßQ²œÞ™º÷T£•ˆq³<-m©ŠŒ;5ñ\ÔR¶ºÊh±´0w§ÍSqÕ;ãÓOY™Â3$Ä*’ü®ã]·!b§|¡Ç¹Òz¯ÜC>{#ï=Öâ‘×#«­RVW5Z,òX¾;k©’ÜP—‘®Ì×®¢½ƒ&iç)3IdžK—Ò‘yžvÓèL¥²€`ª;ržï>-Õ¥f`e½¡Ó‰džKR²Þöµu.K<¢¶d+X"Ös~°¬¬ñªHJsé)kHî/)©¢öx¿-X—æ±ÀKJDÊàE»ö4Z)˜;ZG!y!J–ˆõZ¸ÊçÈÎãÆåëUŒÇªýEJ± ²¬¥Ï%•áï‹Å’Ý%^’ªè2CŸ¶dHˆ5§Tšc)«²ÎIY¨’‘rþªà‚øÒzÁK©\¸1Ëw’%bU!!®§ÌVòeûfíÅÑÕ!KdçÏš9®…ñ]×Ý«ôž·§WDø¬òj¬24š­Š…)«ä§ NÍ«2*77jL\ßèºþuÛ™MŽûg¾qý‹#M“Æ&¸üÃL{¢£öêîc}Öh9²óÖN_âëÈP×µsÜî÷¾oÿ¥Ûú_9:‹ÏïšÖ´ù?ºÔýïmj¿óP·_º¼L×wä4×·™þúÝÎëí/;u‘ãŒI«]|¦Ùuš>¹¶» Mœ3ã@ÔíO¯0ž/8Noüñˆà³Xê>Ó±ýìխ﵉sfX~û³ËŒçÌqSÛ?{¯)ÿ|9_°Öu‰—µ5´ìÏi­Ù7vÏPµŠ¾gLq +-;··šÚiŠÏÔ «¤îNvÔ&T°|p¾Ós­ûjG¾Þy¢jÚ¸)tëðvKýì>¯«àVû3}1Ÿ c8dÞ<~ìb•óÌÝóœeCnÜ!œä»çýçåÏ=wÙ’k‰n•þç¥ÏgæÿÞû£ß¹^½œrö&‘„nye|êJï*Gí­ß_ûé »£~VøO“¿ýâJmQ[sÚ‰æåÙýÞ»x±¼µÆ´ÏB/¾¬|ËÙnVðKE¿ž$š¿ù—šŽ…¯~ï?Ç®ô„¹F ñÊå}W&þËï¼?úýÏóƒÇ_4ò-tûoæÛÓTòû^7a®·ó‹C½}Üûl֙ϥzsœ¡,\6óEáÞvÞýÒFµñhüš£Š”C)w &|©Ç¹…y'*uåiªº]éU‘ùHRjµrSIeeeyVpýŽ ¥f"†¡–óužï–Wî–Kbc•e~Ú¡¢µy!æÒ½uw2)¾ŒYUTYYY~h w ~¯Tog­zžñØXòaНX·+þ€ué¡òÊÊÊ¢·Ù£ñéÕ< ç÷ì=ç™U^YYYY²Ii>U×÷š·ÐXUOžKú½¹ï‚¾ò¡Ž¡¹lg©uyIeeeeùþ…buµY¶(+Å“q]uèØ»óäü@…!†!ëù*ù:må32‰ˆ7Ÿ>rꪫ§ŒH0ìݰ«qN–¶²²R›¢¬NJ:É‘`,HÝk^p¨B§Ó•,§Sé{Ï D\Uê®s^iå•'>Ì]ÂU7ŠD¤^ª¼z¼ÊÜ]·eu°ÔGЦ8œ¦HÜÉÔ¤*eŠV§«)Y.$íj•ž`8°³J–¢­¬¬¬Ô¦sUÕW‡,Ã-pˆB6Š'ëùzå¦CE+ÙäZ•š^ׯì|õÎU²MZNWžå[¿wG™Åö¨–³Õ²Uû‹>é$_5Þ‘:ÛhœÇláð&ÓÛk,¦œζ§)N«'‰ÚK¿{ã«uÿÑ©^;õN$ŠvÓ|™/²¿Yk>Ü:qÉ«LŸ×õ!SüÛþ¨ˆ»%þ׷șÿ öåé‹´tZoÜnÖoÌ:.øÅ$ 9M^8“¾2Þøþt+³pÎds ñc¿5^¿DDDÓ½dÏõd?lj“B\ˆˆ‘MœN—„Nëîo¬ó³"bd²%3:ô†›}F3Ïó¤œ>oª=ÉfM›;Îzêj1Œä†õÔ…ï¿j딽83}žLv»ã²@燊|÷>[ßÁóà%ìûÒFˆxvg|A£Uä¸á-ñ}~ÑR_)Éç, `«KÝÉF×¥Qr"bUóßô¸z²Îö‰åüàÞ±# žï!%"V᩠øseõ’ù˃DÄ*B¢|ÄêS}GBãñjš³|¾’%"ùœ7ƒ™ó'ë’(ë¹²SufN¬·gâ²ûÅX9+#—=Ìò1‰LNæSGO,<«\”önÿ‹Óƒ†ˆèù`¯‘^Ÿ(þeÍ+=Ï ‹<À…dí_¥bI0Ÿªnñx3ÊKJDRߨE®eç8Vµ¾¤âP”’%"E@°«h¶XIh¬jd|úH‰HêµtÑóDD¤~Óóêñ“æž¡iðOMqXM‘?WV/ ±P± ·\»e¨EÀ¬T)럪6r‚Ô+êÝ´EÊÇÐï[ÈûðX¢ "’û,ð Æê~c~ipV¹6-XNDRÏ`O†kälw3žKmQC¢TJ¬–ÌÕõ¢Ç¢î#²ÄsàîÓcQðý/Ó0Ï/´@©ÒSFW9ëÀ»ëÿ˜{ SU/v_…’,_ê1ªßq¥Êà%Êú#Õ™ç–xö4Ö7­¼$@Ùý7µpV;ºÚ®u‘£ÃÄ)^y¡CwÌz¨ý âk{Ÿ9LO\ç9gÜmK}Qû­ÊÛgüªï,ï¯ýD'joh¨è4áåŸUܺAÔ~ÍZÙ@sXG¢ökmŸ5tu^kí¸f°^i'ºÞ~­Ýa𓵷¶é DÆ%} IDATtÝ`ýnÊw§qž>W>¾ÞØNÔ.|V!Nñš0Õ‘ˆ:¯|bmj'Û¯´Ú;O¡‰/LV‰meŸ´·]?ÛúM|ù;"jkøþüu"êüîJ§ã‡G_Í˼´b{ôì¾Ï3eÎÆ¿žþŽÖ͘5ÝûÅÝþ]‡‹/nú”Ùß³nvPÓzú•‰íÍVAh#áð‘/?èéèÚ'N°Þ&";g'û¾dºO£îËjm?t´ßà6l±½«ˆÔÅ̸Mt'.¶Þèjk6½¶Ÿº7è Û:åÌÝ ¾ýã–wþb¥o?·Dé0“¥3ßµ‹ôÀsa<[c”pÜÝ/m„¸.Í;´P,ˆ^³z§¢hÓPk"©kÏ¡•HÑ"Zy‹•¾9ZÐõD™'úÃHä}Z#ï¹~Ýý?k /¶”ÆFœê®ÑÊÌi!’Þv´ˆÖúøˆÐÞûÉ“·²ëe•ݳb×7âó¿\¾iSTŸkÒŒL.±r‘¼8ÉdåSAAijäÖ«Ï…«RÖ-Pö T""†•IFü2¿Ì«x×—%â«ßѤ‹ó£‚,‘•³Šõ;4¡»zŽ )¯ZI°VØSzÎ"‘Øò¨ "‘·ŠŒ²§á3)Ó=ɱÔg×ΣÆåëÄSç˜,MqxMÑÚ‹Œ‚éÍR"bÔ¬ŒÚŸ+)8R¿7Éêê³p}Êú>éë![ ëu¿BÞ÷² Ó{ DkÿlÀ/Û[ÐýõZÖoDq~÷¦ÄôöLO±­Œ¼gÄ/‘JìZûA^Çò»»ÿ½"/2½E(d j²à(ϽU–ŸãUbp–sµ7êNí=Pfà"¯¶ÏpÏe®nO|jµrã¡´y¶¦'%z~‘­;a¢¢”eGηjЋ‚ùxêê-KsÙ.n1’~ÁRäúÅλSâƒíë¾]CÂ6+ZEb%’žº9’”Y•—·h u®ŒTÖ¿W{»‰;Y¹ûÄèͲ£¼! ÀnÊ {j»}ƒqpb½û₞;®_ë²8ÚOeì_Xî^¼¼;:ÒµN½Aj{¿ëž ì¼ÑFŽÓÆÝ3;èdïD×Úºl£À×»';GÛˆˆˆÚÛ‰Ú»î~T{G[÷½"Ù;Mv˜ÆÐëÝßÏ!¶u¶;9Úœíb÷cÛˆm»s–lù ç˜3]õNvD$v€DѶÝcx“žõZF6mN,jh'š2gcvJðô'rì3a¬²›>s¼„uˆÓ(61ÿ‹‹Ç»>z:ßž/ãéè{¿ÿµ£«Eèî¿Ûnt82–ur`ߊyižSŸg½ÝV=ÔŽ&9:J'ïkÆsýnîýó${'çŠ}÷gú‹Š„Díÿû¹éÿºôÒïÜ>Ë1ïBóß^vúyïËí›ÇO'yyæ¼~½÷ÙßûlN÷/áí¶gãÀ1JO¥Tʮ߿®12)^Y”·TÉÚÞ9{‡¢õÎYä[¬Ý#p«Udd‰T!a Q˳vJƒ×¯RFîÚ[ %’($Ìœíî~‘ÍüþâçBòíö’™,ެ""F*aî¤ kKÏ”¢Ô'*@L-«¡:&d÷“ýÒ˜jŠ™”±šy,ñ³U¢” ÑIî»h“ï¢MÄ›O¦¯HM÷Ôî÷zäÈÞ§ý "¢Ø'&sÝl‘o¾A¯NO:Âl)*š§`‰¯Û‘~¿¿D´X»ŸÊʵˆtßÜ0ر~L LJ"7üÂ<ëX©ÏRnÏñªÆjfÑnKÝ9S0ìŠßkY^T´TÉ’`HXà ë\æªÓW¤›åEõNË<”ŒÕÒÓŠ‡ Ư9*ßXth^O½Ê”*ÆrÞ"Ì“³DÄ›ë[džÊA®=о†8Юž²ƒ…'¥”ˆóy ãá!!"Þðþšø³>iEë¹ÚÒ·WáDF&{rœÆ¿2Çþʱ[×Åñ×EñÓ æ²+w¢ÝÄ9ÝÑî;±óëûzã'}¿Öß~ÝçÞ;C¨¯ÏŠN¯OötºùEÏ@h¢ÏÔX¯¶ÂòÎ6²ÍRvÙMœb'^ëz©ª£ƒm¼åèèèD×¿ï ‘<¦ØÛÆjÌ{Ƕö\m·[[¿ßûmý}Øyø<©w¸Y¯ed;î<ôuðúõO(dÖÍÂØ7ijjø”–¿\Ìùªˆ˜‰ã¨íÆ··‰¨ó+cëå>ïI§.´‰DÔöýÉËô’j3iò¼Ib©Þ¶º¥ýËÏ.f^Ö‚Hf8¿tãz©¹ÝÞNž¸Xjé$²'ê…"ûYÞNd¾VûC'‰-Í9e—¿:/ÿûêÿji!"r|n*#!"²ÎFȸë)ÚËg¾k©ÓÚò}éþ=ÿªýLöΙ;Ð+ðÙˆÆ íÖAKøŒQ,ÊÊÏí]½«Ž³j©¥Þ"ØÆé§¾¹3ýæ¸íûæù³eu¢gˆ’U,Pšt >îÈ;©Ç‡õå®Rß…ž-§ŽØ>/&§¾cû€C¢Ð"±‹|Äê#¶¯Ç̧ÓßÙsŽ'óÑÕÑ©§9""¹ÒC! gy6îZñÎÑsžHà 'ÓWÇŸâeò>ƒF¢XÍWm_uS]Ö(.=zµ­¬Âãgˆ¢…+̳H1ãYUúƒ@Ä*C‚eç º×€rÕ{ÞÙyšø+#÷PH‰Kõ‘“WI°ŠÄ*ƒ=¬ueçy"âÏ=Þ;5"õ\LUöVK-R¢)»)J}zX«þx–#"Ëéôè{êùû¶@âN¿ýÎq³@DRW¥Äï_†! q¾H”Râ ˆøÆSÕ-w*·±´Ê,tOâÜwì/r-¢D¡”±D¼¡ìH½(òƒ-tf•ÁT¼Îb‹!¥CŒÃ=Ö%—)æxPýñóœ­uiõï¶RŸ¨kéÞj颾‹/Z8‘±Á\uäœU´ÚÐ}ÏeËÉÔtCH^^Tß5ØRÏ¥ÁtêÀ)³`«2³,8@A$XªOž6ôo~‚aoRäÎL¨­Êm{ì~|ÁûõÊE ëE`_ƒáuÕŽˆU- ‘=Pfà‰cÙjIÈ–øêô¤Siyƒ†Ì~½Êù²ó¢G°’%â §{à…«;yú7ªÕÄNo$»…¶ÿPøI;]¿ùׯB#ÆO$"§ñ ’ݾÐûùÌŽú³·§ELòp""‡_DÍXÖý LÇ)ŽƒßkÓôIógm“6¤N}ùGG÷œš’ýÚáå° ‰§IBgwÕŸ‡Ì™ŽÎNj_"»s$S®ß4µÝþâìí¯Nñp"rdÕ¯2×Ïßün g¹aä§ysˆÈñ…ÉëS§z: ¾—ǰ€–™õO)™O0dæ3áÇ@¢œ™þ˯V|±t‰Ç¥âÍ©¦´Âÿ™>Ñq–jò,‡ïE"¢Nr?¾Ýpøæ·7:g¹¥«‰—üÓÌo?6Çü['u“«sÜ/Æ cÒÏÉ%)\Èúäo¯ ÔýEµSí‰Æùÿtüᚆ×Ì3ò5Êõ7ç×ï£.ÇøÍQ¾ÄÚ3?›6×|9vÿe‘ˆa'̧üù8¢q“"_˜UmùCéÿdu9Œ{Iåš>õ§ì‚HxEöÏ ðlöâ¬ÉÓ¿¸òÆ¿ÿð¯Q³*á³7hñ]·{£9:)I™Ÿå³j•gR’æu…BîâÉTÙF½"ã¹HZ»¸ÞÒ"Ê‚7î–É£²¶XRS5¡V"’x,Ü”¦$2½?ù‚´,súÎÈP+1ÊuiJ–Hæ»ÀsïMhÝ–’ý)¹ËÓÓW„ÔSJìüå!u;#Õ;ˆaHâ1?%­ÿä )—æÉì)HÒìµ•ç— s‹–(ú¬Zd½–¯š³!=òu…B®ô ö‘ÆsùEj|XÈ0Ä(|V¥ÍW”æÏwĆկ**Š 0ô,~"‡UEmšjMzÁ¢·U^ëvoÜ•º:¢@$"™OTÊr9ËD­š³a‡&t¯Lá±hÕ¦7ã÷®NUmIÙX·!)LÍÈ”Ky2'»ù¬Ç’&¦T¾1X¦øMQ¾ +­1u§F$’«Ï’¬¬)Õݧ òàå ÿ²cuØ^‘aˆQoL –Ý¿ C¶@å… ^·°,uMdµB®ð ~ž©ïéç<}Ì{b7ZZDÅü”´~âòUKN¥ÆFTÉd ߨu™´5iÍ‘ý<’Á›¶„$íÒ¨wÉ\=ç/š#9rÿÜ4ð±~LäÁ)ÿ²!]ÊȾKùÜ¿0£ë±$DVU¿$¤ï¹)³n¹G|RD¸ÌUîµtݦ…ñ;VìTmòºÏ¹l©+=oýæ|Ì+ì¹ÅõÍ’co+6æ.OO]ñÊ.+I<æoܽ\IDÖs;øx{I{“P_ZuÕjÝ´µgDí“[¾?ÀkcîòÔÔÕa»ZD™çÂ-YQJ"²ÖìêŽùIaAD®o–¼­øêÕaIçmïÒí"IH^yš§¹45ÉœRq(Xª\þîÆ–Ô¤ˆ-¢Ä#dÝîu*–ø³GÿÒÒBña§zžF6?ÿîŒG0ľ^o¹*Ê‚7¾"',e»v˜S‚†îùÆ#»vÉsƒ‡þÞ¹g3M–ý'ÛŠ‹Û_ŸmIßÔZßFD·u9×T Š¥vŽÔuå¯Í»/wÑ4Û#ºLZþ8M‘’/#G¿æósÚÛÉîëOn9­Rþû WVeÞ{om7òS®\ÿýÔØÝΈÄÖ›Ÿ\>\ÑÞN¤{ïš*ÑõÀvŽÔÙø±eÿùNš3DáÛ¯Ýh›ñþï™)ŒP™Ýbjï¢-ÌT¤žLD×Ï7ïþðVû€ë_ÛÚò³ù «Ü‹WÙÝþâë_·ÑŒ¶ëºóºÒÚn<ÓGÒNðs=02ººº:;;;:::::DQáÒ¥KÃQQ?6–ã+¢«–ì_ G]ü†šx.íîõµc _½:bç=‹¥q.«‰œÛ™dŽÚýT¾dû)îË|äuÛ¯=?<Ëžz£» æð(ÏÓúŠ£ËÔ1Û¦'Ιq`¹°uu³iäoİìÿÿùÏ>nÜ8†aìììb”.ŠâíÛ·¿üòËðððû·Š®…p¬›€Q42=} À¼<!F{€6¾¿X}Ä( 檣õŒW€+Îå‡Ñ"zF=­õ Os_£ÖÍÀ(—-mñ\•›å+EuÀ(Ǫ¢Ò–7¦Æ†12ŸåYÇôŒí<— žZò{šûõ°nF ÖÍ<û°nvÔÁºYk393`D´´´\¾|9Æ–ÎÔÁH…Ì®®.77·áGMAÆ{ø_'A΀'n¢¯ÿm«µëömTň„L//¯3f 'jvuuµ··ûí·Ó§Oèâ÷3àñèêêì.×-ÿbIO»iø² ?M÷äÂÿ÷Ûþæy~Ú´ióçÏ·ýsÆŒ---ÿùŸÿ9uêÀ¿1Óû;(3fÌðòòB΀g(XÞÅ^"‘µ 5öxôüÁqÜ7~ò“Ÿô½×ÛÛÛÕÕµµµU©T>¹2 gÀ#%ÌÓæð#(< ÇݼyÓÃÃãÞ»¦NÚÕÕe2™žþyê3‡Ù—íFÛApäLx"!³««Ëjµ^¿~]„ŽŽdËgÄõë×Y– lƒiÓ¦Y­VNçæævo¼œ8q¢\.Ÿ0aBoÚ|Ш‰œ “0‰ˆçùk×®¹¹¹Mž<ÙÞ_2:šÌš5kÖ¬YÞÕÚÚÚÔÔ¤P(&Nœh Ÿ:±‰œ œ6mÁãúõëÏ=÷ܤI“P'c‰³³3577O˜0Áv˃Îgâ’ 7^ö†Ì®®®ÎÎN«ÕŠ9&Mž<ùæÍ›½‡›ä3·˜Ï€™½ÙÆ${{û{?pk[@;œ¹MÌgÀgNÛ|fgg'jc¬²߇» €ùLÅ._¾ŒJxjC¯¾+fmX,ÔÌXe±Xl_9kgggooo×r&Œeƒ}A<6_ÞzõÆ´54V͘1C©TÚ÷q'd~9Äc±n†å®gbÝìØÖwÝìƒ~"9†2ï œÈ™c;gÞ/‡5‘3àÒæ]Sš¨“CÎ|ÐoB΀á†Lêÿ'¨“1Äï:èÈ™ð¤¢æˆþ„&_SÁ¾A³¾pó²° ÿ ˆ•å¦û|_¡\×ôô ßT¬ñï¥ÖÄe”7ðÏpȼ+j"gÀ!Ï^Ñx}Æ[+µ‚&ã£O?ÿü³'¨ ™1›u̓l. 󵦧ú½¹Œ×ŽO?ÿüóÏ?ÿ´0NeÎykeaƒ0¶1r&—“ùšSLË/Ö‚Ì’Rt£`ØŸªkó„œÌ}®†Þq¨æRáá„Óìx(å-5ô|!|Ï…ˆz.%‘¢&$ž¼C-{onx]od謬m¶7vš­»;ë"•«lnX2çcÒE“‰ˆ‚£Fkà ’èäq¤X—» ò“ÃuÓ˜oD™YÄ“¸Ï‘L7¶÷5AÑñV¡)ˆHø}§±wIŠÂÇQúêɼ´´xÆPÚƒi S6¯‘{oøþ˜¥8ñ‘ÛpÜQH’M§"GDrÚÊIew"RQw’°6ã7·›'Í–S¼wW^Z¹SÛÈ«/Ô‚à~ÄŠ¸¤\\»W¤(ˆØM#xþŒQª˜Í¹ÃiÈF‘VMPD²¤Èç¹U–ß­†F΀·EVͪcV‰:•Šíj» ‹8çD2ñÀçJldÛ^f·ÓÌ0â½¢ùðÊÎLUb7힣]MY³œîLî¤32‘Ìâ2#Á¤ybu«‰õ`¿–)èX«‡ß9•—–&´%ÚýYª˜P)5k‡!-m$ÄØYoñ;ý|RãúêÝyϨšÏÅÊîpHÕÚˆ±Œe7-›fC§\­õ³mí¹*àÃ=O,ÕU9–dÑGókfaÄt‰âƒíyGä'rª’\¢Æp(…©µ”LÇïr»bÜ,|ˆÄ°ª?›-Z7 U§w1^ *ºé¼ÎŒ^~ÛÒ‹ÞkÜXýú‡x±ˆÀsŠú²aÅ•ÏGÝî»89À+}åñÛåbsĉˆ©jR&NñL.áïõ}AtíBÅõ£“’J0">r;‰6Ö5‘ÕÙqgþP’ÙÀ±'Šç6¬˜»¾ÞœHpбk‡”V™àÓHRÔ¤L4ì<Ž'"’(â<úžÒdÕPƒN{’4TYV³ÉÉÞ^˜6U™NB!'TE& ¼½£)çA3;ÚÙ9J®dãDbT/V:¾ ¢øTü…àþ ¹n{j©¢3Šk¹„¿×õ‘ú{~"§%‰Ù%Þß2]erBWƒNÛOæ2ò;Þ´È™ð¡’nîþq>[ôþöš2ÚZ-4G‚ˆd½ÞÛ¿“þ[þiþÕ‡ðÛå/Ú<“‰ý…òŤ½ãN8ÞO²º²–®›º®ù_±‹*©kN5éo-/¯¶¨´]L's•o|fä­Š«”ªZx¯\ÿ·'ç¤ïl—äÖ†a«N°”Ë0"’ÓÕöîmÖ·Wo-/z«Ø8dÅÝ_Õu&§×ŠÚdÝ4óÖWGZõvj²UnŽYf%5ùê–UŸ¨/+¥rÊãÇR6ňXZ“&ÓäÍ”LòR©¨–M3_p¦¹Ï•Ãê]7 "5gÅ&õólœˆäTÑRÊ·tÝ0VÛ±ÒF.NDukyyyyùV¡q|£ú`· ©kNU=(›†a~á&«ÎšJD²j¤ÂI”YRˆäYåñc6?±wÚ5!ÐoÇÓ§OÏÎÎNOOOOO£(B|ûí·Ùlö -†Õ[jþáÙ >¬­–'·u Ê rkK}ð¨ªúÛ~8 )Z©^/¤y·ðY[[KOŽüYD©Òv½f~Û*x•^Û`ôêö½ƒ '’ÙR½^`®µêZûn!ID$FµÏ*|ÓµöòóC «fC)aèOƒPÉÕïÛzœDÐݪ8^(+ÉìÚŠ¿ãûn1yåügã1¥ÕiͬDN¯®=XÅ rkKÝu¤Féá$’b7rN§¦Eæ]sGœHNê¥ÍM+-‹qý³»áÚ Mü€–ªõü¤Õú~ »53Žw!üÅÀð»ŸÏ_<Éÿúê÷·'OžœžžŽÇc]×QKWÍzå_|¾ß4Ù{~!ƒÁ N/..^¿~}qqqqqqaaáÚµk ¿ÿÅùWúŸýæ¥û¢?>lÉÊÆ&ýѳ¾¿Y¿±ã[»žçy½N‰s"IŠ÷¹µÝé¸v­àžíúW á^c«¯l< =G;¾·åI£ NÝþ|+1qH/hϺ!eЦ‡ÇÚF»ãö:%ñ[ç šõíÆ0Sïy½îvöøáqDÒsgO§ÿr”þWeûÎ )µ±ïÖ4yÖ]¯¸ÒŽçy½kaó®3ï½¥p8Êlìvº¿ÚP·ÖûÙz»ÓݯÊýÖ·À›Æ‡[A¶¨³»3á#!3•?y–3eE‘¦}·;ô¹œ4kͪ6ÿ0PrÖ#"YÍêÊco|å9DÌØîuëFœˆØ’±$…“P$oÞÎLÝ®3o®-}§ûQŠiV6ND¤¤Õ؉ 1éO¤¬¥1"Jš¥•Ä›ù@sG,_2’D$'s·5qxþ`)×âDÄ’ª"-­hlþZ:ñ9Æ2¼ÑŒ9¨š·ªC½vñÍòã…ùfá#! —âʳ¿x¦×Û›­Öok…­©4ŸF;MDR,1Ÿ?›d–ˆÑàäê3•fC÷^«;æDD'#±BDq}Mk4:ãR5ê¥Üvê¹Q®²ô\oeÄ9±ÔùA(¦2éM|¨…< ÷¾0»çÓpG'R6$RH’b—“c“t1áµD2ÞoÓÞ7¨äLøxð£Î ÊT—®þ²$«f¥nVH̆­»•»­¥G·‰¢“éùÓ–Ÿž‹=Ûƒ{[ëmi³Ó1“2ñAÅÜšžhE]Øî±IGR®™–‰þB?!c…硟GoâCMaRâv§[Q¿®ÇhyøûøYøà‰Ù¸W/ÛGêóù½Î#X³Xt†œˆäø”"Içé0ôÜcNDbrà…7Œô³œ)Â0bIU‘‰øÈ}8º˜T›-­Ôo:‡Ì²ÔWˆ„jV ºND3¯ÝŸþ×&S$ˆˆ˜feƒö`6¿6×®¶ñ¼xKП ªè°üéòüeìF6¿Ù¹cªW‹Êéµbæ«Z^ç$)«VIËÂ')‘enŪùÓi_n¯©Dþù.ñܵ®ý…ÙW”„V¬nÜ\ÿªZn·ÛE5µ–“¹§lÉW9³¤µùåÑzÙ4˜¢Þ,Z©~÷¹`7 ð×c§ðÅ^˜¹ÓÜ~åÙ«eíÎfþ«­U½A$%²w¶ï¤1Ä3>Hq³=0_k9]uÕ×>Ž^ÝíUQßða¸Y@ÎäL@Îx×ð^Q/öø÷o0¶í‚©/////ëùr½ëÿÀÓù¨ë¿“÷›y½2¸r>~ÛÒËŽœ ð®¦Ðaý‹²+¬úþ¾ùæÿ÷A5uÜ(ÚÞì{6“vËý¡ È™ðÞãNÕ2 Ã0Œ|¥=âD$ü®]0u]×ó•Θ_ÝH7 v7x®×.˜¦iù²3˜}ç€n7ë––dDro7kåB!oš…ú`†œ ðz¸w¯÷=Ïóö«‰QÂÉß³píÁ`0Ø/E­õ¶OÁÁÖÎÔj÷<¯WO çÊS1ÞYwk÷QÏëÕ—vÃãÄ}ÏWryõêÊåx’Í·oÕ\*í{ž÷èKÖo´Æ"i}]IŲõý¦¥¼PZ¤æR'ÃñŒHL¼Ùüh"ˆøèð$•Kß«&7»žçunó½ºëË)ë¦täNÄ<ÐøêÚͨëĪ]Ïóz¢äy?4%Цƒin»Óéîoª‡[;£÷¶—9Þ)®ß?ðÆ37l§ª±Ù°ï«ŸI"Jæïw÷K*%­xPPe"–1Ñ4|¾¦}gK+ªL$g,Kv'BpN,)Í7˜õʆ®ëº®E7 9]ÝïÝÏlj(ž1’üq]9›—”&¥r‰éácAÓÁ$^°â“Á”Ää0Hä–­Þ{´©3"R4M9ñ¹UË8š|xà«V6.)Lw»ŸËÉ|Í)¦åª™bš¥1"b™œÊG£ð}mÙëxsÀ[!k›ífëîκHå*›–Ì¹ÄØyJ”™LDí4Z_D'#źÜ]🮛Æ|ûè$ÊÌ"ƘÄ}.ˆd¢¸±½¯ ŠŽ· MADÂï;½£@HR>ŽÒWO楥Å3†ÒLõ˜²yÜ{£À÷ÇÌ(ʼn܆ãŽB’¤h:9"’ÓVN*»‘Šº“„µ§¸¹ÝQ_VKå”Ç¥lб´&M¦É›)™ä¥RQ=,›f¾àLsŸ+‡Õ»n@DjΊM&êçÙ8É©¢¥”oéºa¬¶c¥\œ(žßÞ-±ƒõÏ>]þôÿ”Û<·½[9¿oSR4ÕûÊ2Ïan³ôÃws¾Ë® 'ÅÀÛñôéÓ³³³ÓÓÓÓÓÓ(Š„ß~ûm6›EͼCáw?Ÿ¿x’ÿõÕïoOž<9==Ǻ®£–®šõÊ¿<ø|¿i²×ÜQŒÕu±½o¿#ñr0¤ÓéÅÅÅëׯ/......,,\»vmaaaá÷¿8ÿJÿ³ß¼t_ôg¼!|ø°d‹:û¸«ó¼‰Œ9¨®Þ*kήö‘ÇLäL€7éN»œ®v»HU`Ü, gr& g gr& g gr& gr&À»Ž÷Šz±Ç¿g¥W\^6kÃËÕ|P6¾wë+İjXàÏAŒsù‚nªM/häLø I’è×Ûã¿uì“b7wÿøÍ7ß|óÇG÷o'‡öê]7@å#gÀÛ$ƪe†aùJ{ĉHø]»`꺮ç+1¿º‘nìnð\®]0MÓ0òeg0»€™J‰¹ƒçSßlÐ,ç Ã4Œ|Ññæ[Ïzµ‚¡y«ì N.J zµbÞ4MÃ,ÖzÑÌ«MÃ0 Ã,Ô{³ï–+ÇÓfµYÏŽ›;CAD|Ô©Z†aš†Y¨u}!F5ÓjúDDÜ+//Ÿ÷®Ë´G~§`VÛÍj¹`å|Õõ‘3~,îÝk…Å}Ïó¼ýjbÔŸpò÷l'\{0 öKQk½íSp°µ3µÚ=ÏëÕSCÇð+)sgÝ ¬ÝG=¯W_Ø ïb]beÃâ­‹,yq´†}Øèz=¯[Kyµ-4Gj½çuÝÍÌñh4w}k¤Õ÷{½ÞnÎoØn Æ£ÔvÏó¼Þý•“ã—ô[2ÍÊÐÈó…5×[Qißëõz÷s£†}ª¹ÔÉp<#ovã?š">:€á·È™ðvHq…üþ7ž‰¸a;U͆}_ýÜHQ2¿»_R)i=øÃƒ‚*±Œ‘ˆ¦á³6í{<[ZQe"9cYʰ;¹X)§‹¶vì´ž…61éå›k#"¶dlÔŸügp4¡%KcD”4Ö2Ñlxà§JkF$«¹5ÕïŽ"–`áÐí.§ õz>ù²«aŠ…ùý#¡8É霕ðûJåÓÃÇ‚¦ƒI¼`Å'ƒ)‰ÉaÈ-1"’R–'"9‘Љ-{onx+dm³½±ÓlÝÝY©\esÃ’9—“ÎW3™ˆ(8Úi´¾ ‰NGŠu¹»à!?9\7ùöÑI”™E”:_Ë´/¿TWk{…Ýù’H„Q,5/’d–¢ ÿï(Œd%v‘cÑIÈ£ã­U£qQªòdá~“vZµÕ­iÖÆ×Uƒ½p5Qr)Å(âÏÊ$¦0⡈k†ÒLõ˜²yÜ{£À÷ÇÌ(ÅçG–..Yþ0Z9ÞZÒTͪcV‰:•Šíj» ‹8çD2ñÀçJldÛ^f·ÓÌ0â½¢ùðÊÎLUb7힣]MgϺãfµô°ØèWÎc¤ÂN.ˆd"Á§‘¤°Iç·eF³0""Š)LÒªÝÝ碤V¨íj"ð_Ô¶²Ýmå¹K™ Ü!Ë–2S$á_ÜêÉCNL‘)¡-ÑÎpèÏRÅ„J©Y{8 ii#A~ˆíŠq³ðV¿].6Gœˆ˜ª&eâÏäþ^ßDA×.T\? 9)©#â#÷·“Hðè²€DVgÇo>QÏÀ±¯Þ»IDDªµ‘vZ㈈dueIî gDÄÝ>×r©LfStì9‘ð»{“ˆˆ(®­¨ãvןÏèÓ¶k½€{v±Ú ‘œTS QôÝãðq¯~wk¤}YÊÈ”Èeٰ݈HŒ]7L­,1’UC :íIÒPeYÍ&'{{aÚTå´iÑŸ o…¬®¬eÖ×M“$)«¶¡[sª“jñÖ½JdïlÓIQɹögF+¡jÅJU«6Êõù×óÒw¶K[öFC)Z©–aWû3‰HΔ6ŒîÝ>ÓkΊ][58K[õ¯ F¤W«Zeý–Ι›–¦t£ˆHµ¶7&ëe³%ˆXÚÚØN2év¾kn5"’˜jT·³Œ|ŠNËŸ.QìF6_ïÜ9¿)³²]ªÙÃ!’ÕÜF='"–Ê)¿âVŠQZ“&GñÛ©5fÒ5!ð0Qx;ž>}zvvvzzzzzE‘âÛo¿Íf³¨€w(0üîçóOò¿¾úýíÉ“'§§§ãñX×uÔÒi0¤ÓéÅÅÅëׯ/......,,\»vmaaaá÷¿8ÿJÿ³ß¼t_Œ›€7 9393393393993~Þ+êÅÿž•^qyÙ¬ /WóAÙøÞ­¯êau‚W<1² ³6WÔÍï,@ÎøPH’è×ÛcD>äLøØˆq§j†aF¾Òq"~×.˜º®ëùJg̯n¤»êy½úÒÀnxë+o]dÉ‹£5ìƒÄF×ëyÝZÊ«myœø Ñ8Rë=¯ënfŽGó ¸ë[#­¾ßëõvs~Ãv1~襶{žçõýàèZYŠÑÚnÇíþêKrk®œ ðw!ÅòûÞx&â†íT56ö}õs#IDÉüýî~I¥¤õà ªLÄ2F"š†Ï†ÃNûÏ–VT™HÎX–2ìN.VÊ颭;­g÷KŠI(ß\Ó±%Ë`£þä?ƒ£ -Y#¢¤±–‘ˆˆfÃ?UZË0"YÍ­©~w± ‡np9]¨×óÉ¿paJv%%Q<“KN½ñG×£yonx+dm³½±ÓlÝÝY©\esÃ’9—“ÎW3™ˆ(8Úi´¾ ‰NGŠu¹»à!?9\7ùöÑI”™E”:_Ë´/¿TWk{…Ýù’H„Q,5/’d–¢ ÿï(Œd%vYL"": yt¼µj4.JUCž,ÜoÒN«¶º2ÍÚøºj0"ù¹Ë‰ž½Œ%ÏÄbE'‚ˆ!gü=’¦jV³J|Ô©TlWÛUXÄ9Ÿg8ø\‰lÛËìvšF¼W4^Ù™©Jì¦Ýs´«‰ïYßaܬ–ýÊyŒTØIÀ‘L$ø4’ö’"‰àü¶ÌhFDD1…IZµ»k|7j…Ún¡&¯ñEm+Ûm&?"Êœœû>å”ùÿ.ÄCNRLþØÚãfà­~»\œO“ÃT5)§x&—ð÷ú¾ ºv¡âúQÈII%¹¿D‚?ë6LduvÜñæõ ûê½›DD¤Zù`§5ŽˆHVW–ÄáÞpFDüØís-—úÇd6EÇî ¿»7‰ˆˆâÚŠ:nw}AD|Ô¶k½€{v±Ú ‘œTS QD¤æ-ut¯ÑωÙÈm8“TÁ˜¨Â#÷˜QàLFš}lM‹þLx+due-³¾nêœ$IÉXµ •ØšST‹·îP"{g»˜NŠJε?3Z U+VªZµQ®ÿË¿ž¾³]Ú²¿0‚HÑJµ »ÚŸIDr¦´atïö‰ˆ˜^sVìÚªÁ‰XÚªm0"½ZÕ*ë·t–ÈÜ´4¥EDªµ½1Y/›-AÄÒÖÆv’I·ó]»p«‘ÄT£ºeD¬x›Nù³­“ˆb©\i·iß·)%4æV,ÛŸRº´m©]Ó^O•·ãéÓ§ggg§§§§§§Q !¾ýöÛl6‹šx‡Ãï~>ñ$ÿë«ßßž—3/·™GMäÌ÷7g^}.g>·1r&¼á@r2¯æÉy¼ÚÉ´ù^4(½p‹æ_ߥ‰œ ¯N.Cæs)7g~?¼4j¾˜N‘3àÍúîHËË%ói.&ræ{—3‰è2U¾´3ý™ð·M&—7g^öd>7hö2ç;û“ÁÕ%/Nòô#fB΀Wµðû_ àUß-¨@΀wÆÍÀ÷zú³ß¼dáw[‚§˜|0^œêé¹åÈ™ð·J#—3½4¥ s¾Ùòûb øû…“—¦ÍN཈ È™ð÷Ë!èÃühƒ%r&¼Ó)Þw˜o393^ÏÿpHIâ6Ô IEND®B`‚murano-9.0.0/doc/source/user/figures/qs_app_category.png0000664000175000017500000007214013656750211023432 0ustar zuulzuul00000000000000‰PNG  IHDRÕ(5šfsBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìÝw@MïðϹ«ºí=4¬(›®Jd${~"DÈÈÞ+{‡ì½W6YEˆŠ–P’¢½oûvç9¿?*¡È•ŸÏëë›:÷œç<çäžó¾ÏyÎsŠ¢!„BHŠhº!„úç`þ@!„´aþ@!„´aþ@!„´aþ@!„´aþ@!„´aþ@!„´aþ@!„´aþ@!„´aþ@!„´aþ@!„´aþ@!„´aþ@!„´aþ@!„´aþ@!„´aþ@!„´aþ@!„´1j1/ÅõžÔ{eN»rir#æo«“T¿Z3ÀùNþWÓ™ª†ÆÍZYŸ8¦GC6Q×k-x<¥Ç¢—ŠýÜ]×]×…#„B¿%ÎOM,P0ÐSbâ‚”Ä<¶~fÍΙØþñ ¢œ„ȯËí&ï / þtmB¡z„ä¥Å|Lå¦ÅD'ç‹)&ÇĤrÓc£“ %5+áÿ9Ùw&p8œþ;"?œWyð±€°r¡¯_7º5€üpÚõh_ ÕE!„þ4%6üô˜èOŸ>|HãQ[MUŽ^Ã~kýþV4–ŠaÛþó÷l¢iw¯Dÿé*!„Bõ]^׸¹ž<ü.9mcc=…ÆÌßA(¶5Tò"#³kØž„BýèòZúš¬²ŸêúºŠµèTú+ùƒÌ¼åÈápœ¼²xŸ¼ÜgëaÎáp¬ú;­½YH‚˜vfåøþ9Ž…ÍPçM7¢ È’å$É£8Žó£s·ßx›[q.2ýÚX‡3É'G”xpö`+gü­8ß)ó>kÞ@ÆÇÎÎÀÝÑÂZo!CYG ˜Ë+[£„qÝ}É´±C{uâp8]z 3ç͈lq•%)aÊÓ+'êÚ‘ÃáXõ²›¹ùÒ+nÕ™*-À‹<>Á’ÃáØÌ÷LüRÓ®Ž,йë>ǾW'‡Ó¹ÿø•g¸Eï¶õãpz¬zÉ«8ïó£CËvíÈáp¬ûŒœ¾ñ|`2»· „ª-’ŸùécFù Kœ›Î#k¼xmîù~Ì™ë=Þˆtõ5…I™on»MNΙ¦~cσ,PÔÕ×à&e%½º¾qR"íú¾!:å-3‚Ï—æ¬>VÚµ‚ÌOx~}Ûó'áëO¯ï§[Z-Š}vîÄ=/Kúo°ÀÏþðôâÆ§÷ƒVÜ8X¿Ò-8TaøÞ©‹<â(`h[öë.øÚº¶P×3Q¬}Öç¦ä°dh’Ì+Ç,óárŠ DANJ´ÿùõþÞ/w^Zm­Zºªèí1—ɇ߉˜rtaN\ðµmÁ>!+Ïn¢ÏªfE‚ÏW—L;øV,ÓaîáC Jg©áêÈÜ÷‰3.&“)Èxç½gÚ‹÷“ÚUÉr$7p»óìËñ%;S–VœýéùÏïÜŸ¸ß´J؆B¨†(AÖ§è„< °ÔôhéŸ3ùdARt,aÒDK®&'”:8éÄœõH¶^~ÉÿñmOïÇžk{(_Ýó€êµòr€ïmOoßk+:³„Ï/ûgTHF‘„ ›Úo½ü(èyˆßÍ3,¸Ö¯÷J+=qG[¼ç¥˜-wÞð ztqÝ`€ß ®W*7D[í‘hÔkú†}ÇÏmêÑ åÄõn«š€–ÍÜÍÛ6/ì£WÛ¬E忺x3䛵Ôd@ñÛ£Û|¸Gm»ðøI`ˆïy×^êÜ»Çg–nUôjÿâÃïÄ a»ü샠À€àÀÛ»MPà¿mG÷ël(N½·vÊÖ ­ù¤ƒîÆrew.ÕludnàŽåtú¯öxüèšþº>ÇK‚K2ÓgÃÒËñÀn?aÇ ÿÐÀ§!ÞGçÛhƒ(òÄ’¡ùØ‚B¨ÆhL&˜jši¨4k¢Á:ƒA¯áuñ¡W©ß×ÿš° `é÷šüŸ€ê uË7–#£þSi@NRŽ¨Ò‚}¶Zг±2“ Ë70wr?>£€0ô„çg!P¹!Ç/'¨ ݽ–µ< ¦rÓþ®‡×[ÉùöÌ¥÷•îJdÈÛwr㤾–mMôkÚÿ¥z$Ÿÿêö¶™ nå€ö Ñ­Ù Î ç( XêÒà$%Еšš5±dÅ—^^!³º–ÐlöÁuÃLU™,Ý..›gðƒo¾-ª²*î³mÓ\}¸`h·{ßÔ6 _~!5[$Íç°wÐÚ,9¼jP3e&A0”®:´¸uå_­0îê!¨Ù¶Ã¥››@°4Û;lØ;³9@Îíý÷R±‡ B¡"˜ÊÍ›5ljÒPELÃæÆFMš—üXupý…Ýq`;¥òÕ1T ÔÒä;öoýe"S­¡@&Uù§;ÔÑR¥ÂYR¦ñÐIVG—&=Îpn¢/øøð%À`„C{Å [CÓêæh£è•˜"lÕøËÕŒ&cÆýüE„¼[“­oU÷‚L›inÓ[É0ôí=LÒå•*F‰b HŠ ò#¼^K€Ö~l£ WZº¶ÎN±~9º2"òKê#óÃÍœw-ÀÀÙmn'ÕJµ¯ÑêHn˜wËʱwÅö†^/Žû²Ðò&"Q²ÿÃ$€†öUö«Ñàñ,Wl§§PÓÝ…Bè_G0Õ•+üÈRÒ¨®ƒÁ·ÔAþU©t¥‡ °UÙ› h´¯óœ©¹AåªJ¦]Bà‡ÔˆÁÝÜØ¸ByÓö:U†Z•klÙ¼"RÞ$ áKþPlÞB£¶¦SÍÈ´CßÉó'Xi•­Ÿ&«¤" $?'5áó§Q/ƒžÜ÷Ž«°˜(5"^ ß¡Yå,Äж™±Ê¦ò* üÖÍ).¹ð‘xózä¸Eí*´Z“Õ ’ÃÀм©B¥=L(45ӃЄ²Ÿù‰/“ ãÉ®åQ•w§$û Ìá“ €}@BIEœ±«mkùaŒ¢ŽRÕ«$tEm/§P —ŠZ_ÝÎCȪ©É òN™r*²¿pöT|ìΪvr?šM˜zñÀÑk^%DNàËEqQV(h×ä.¤â|JkÀª°oõ݌˛/Ž8;±q¥DöãÕ‘¥«Ó¨è šZ3H~n¾x‘OGV[~>ŸÄÛ±BII]¶Ô’˜/þªÏ#)‘4ƒ‚!ñ°š¹ÄB ÐY{¹Õµ±Ô)I†ÏêÑËä°wؙӶE³¦ÆÍš°ƒ\ú¯yû¥L"I :t*õX}Ôun.Ëç‘ë³ØcnÞý÷¹A¨f«£³h J¨*‘O"¬ÐÓ• 3 k³ßÇÍ8ƒBèOûƒùƒû1©ˆlS©ÑB˜™* T˜ÀPÒS%à376…Gµ’©xjscSÅ :5îåR'„Ÿ®îô–3No*_Þ‡#»Ò\ =€ü¬Ø,èUlß&x¦3Œºõ5×,ÝëŠ]F÷lÀÐì¹`šGà®È°Ý{»­·.éS³ÕÑ•õ”22c2Ä ^±íD”›ùå'BV]› ÀKI. ]©•ƒäIh²ŠJ53!„úU²Á=òvHv¥»Q±÷¤0šZÈ¡ØÌÜ€|{÷eN¥¹Ä)þ÷>M:ÉJ³ºü¤7©DÛñÿ¤dV˜‹©Ó¡¥"7èÉçJOá¿?³~ÃÖ-GžçT38 Ópø’1zù÷ÝN¼ãÕfu2úæ&2éþ~ •†WÆ?yV1©È6²2&ÞßðK«Ô ˜Ê X6À¶—­ËÝÌšƒBý¢?™?ÄÏ·o½S~Ú$¹ÁVŸM`w±ï¨B0 û 5¥t€¦ÞÙ¾ jßfÏÏ‚²…ɼÐÃ;üx-‡Xibß„BRó¯¿òŸ¬5öñÀn­ÔŠ>Ýô.€Õaæ+e€a0|Ù˜Ï'z-ûpP·6ÚâÏa>·“H`´µ°»ÚΘÅ€¬§W®µÍhÔØÌÂø—Æø”kÞßBÎÏ?áÈï<b½ºSMWG׸ùHÁÊîþ‰7N0Lƹ¯Ð?<.2—%Ï*Ë\LCû‡E+—ìyšøôòÁ§¥Sµ¬œ]WNjÅ–fO„Bÿ<‚¢¤>ð¶$ÙcÌ÷ºŽ×f7æ}zÎgi4é`ݹ¥–Ì×'B²8ímPàëO™Å4%ÝæœÎÕ˜Õ[’—|ÿÉÛ,J¥‘E_“:xÆ ™÷<øUt|6©lÔÆÊº>›’Üȇwƒ’ Ýv}útP/¿%ÿÓ‹§!ï’‹XšFÆ-Úµ3Öø‰î²5^%ÊóâEÄç"¥¦–=»4“ûtÈnÔ±¤+½N Ѫ¸Ù"nÌógaÑ©E æ¦íÍL4¥Ú‹!„‚?Ÿ?šýJ‹%ÜØ²ëq^ƒaKæu¯Ð…C’rÅiðÖH-‡37æ·ùƒõC!„ªñ'û :ÀPRÉ ôçÇÈš.ïטMqVðב6ÅðB¨þÁüñ—#Tº.Yi±âá½Õv>»šëËó’bâ¹"Zó‰kÇcûB¡zóÇ_®Ýgý%]ËÓ'.?yó9*B,•F­ûvem(‡];BÕG¢ÿB!„þm8èB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤ óB!„¤‘’’ò§ë€B¡ AQÔŸ®B!„þ-xý!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒ†ù!„BÒÆøÓ@ýKxÁ {Í|"¨:™ÆÖlÜκÿHG».ú²ÄŸ¨ØcÙÙKj4ëú…ñ†¿pܬ«rúëaûBèÏ#y™¯ï™7Ôn•W²ðO×!ôûaþFIŸ–ÃÙóMeJ~ …™ŸÂ_=ºÿFdŠ÷ª©lM¥•êW+C¥ý°q£s4Z+ÕêC™}gbŸ5oµFŸ¹± …ÌÏ—ƒÐÿÌ¡?ŒÆRÔnn=j…E—ÖKÇ®óO»¶þÔ˳[ÈþézUDS·pœcQÊA诇!TO°ô.]dÁH¹~.¼úÓÕAýN˜?BõM³ëk6@aà÷Å_ yŸZî4°kG‡cÝgäôç“ùU"Š(óååÍ3F²±äpÌ»õ·›ºáâ‹LQ•UP”§'VNÔµ#‡Ã±êe7só¥W\ñ—¥_Ëáp&ù䈲ÎlÅጿ•I‚8áôH‡3òt‚$É£8Žó£M^ž^”÷ÂsûÔK¼Ò¿œÉ©¢·Çœ‡Í=à‘Ê£˜rtaN\ðµmÎÃßLªÜé•* ß;uöñÀ!À·bŸ/ͱ_xôÑû,ù ϯo›dïê*`h[öënÕL@»C×½º›(~}Ä¥xÑgf›±ûÖóø|1°ÀÏþðôâÆ #—ÝJªšÈÜ ·q“¶ß|•«Ð@G‘ÌOyw߬‰ÛŸÙ ý=0 „ê‚­ßD ²b³JϾd¦Ï†¥—ãÝ~ÂŽþ¡OC½Î·ÑQä‰%;Có)’ëç¾ÿ•»,<õ0$ÐÏ/0ð¶»!@‘ÿþ 1¥Ù‚*zµñáwbа]~öAP`@pàí]Ž& (ðß¶#€[ñ$}lµG¢Q¯éö?·©‡Ú7”‘„ ›Úo½ü(èyˆßÍ3,¸Ö¯÷J“ȵ˜¸ÞmµCSв™»yÛæ…}ô¾êqWylñž—`¶pÜyÃ/40(èÑÅuƒ r|7¸^­ØHï¬õ¤Þx㙟×;Ÿ›Ï‘ȸ¾ïaFyÝé*ì'ï4ÁF—ù󿄤óB¨>¡É©È@q.¯äœ*Œ»zÈŸêC¶ípéfÀ¦,ÍööÎls{ÿ½T “ž›;¼• –nç™=¨©1RÓ‹K2JÖãC×2šÍ>¸n˜©*“‚¥ÛÅeó,c~ðÍ·Ej!ȶïäÆI}-Ûšè+Ò¿Y[¥>Û-èÙX™IÐå˜;¹ŸÑ @zÂósn"¦rCŽ_NPº{ÿ,kyLå¦ý]¯·’òí™Kïù•æçÏܵ¬ 4“ Çè@Ö'nyK MµƒýôY³fL°ÑÃüê7Ì¡z…¨ô—(Ùÿa@Cûq*ݱÊj4x|@l`\1 ¤>K”]/¡©Úl½éãssk7e¨ü¯× µÛ߈õ¥ †®­³ÓàZˈ*6€4Se…ÕÒêh©Ra.™ÆC'Y±’gH¾½X¹â_ò F8´W¬p¿1M«›£@f``J¥c:¢A…XÁT3RR‚}uÑ_è·Þ+J¸4áµt šO?°¶‡úÏdqÊEs/$›Ì;¾¶“\ê—ïk>6ÿÝžikŸÒº­=8Ã8û§J¨%L»qæúÓ÷ŸÓ Yš†M[t?ß2Üör×ÿ†öíÞɼUCV…·¹(5"^ ß¡Yå\Áж™±Ê¦J-›·ÐøñÑQÎÔÜ€Ui ¡dÚ¥!~HHŒÑgÿ`yInl\!€¼i{*r-‚WDÊ›d!4._…R£†U2Qý$¡ÚøùC˜ðøI:í–ݵæ·1k„&ßȪg·\=mæÏ¾ç~½„R”àÓµUË."AV·yÛÆõÆÏãMxâ’3ÍêÙ°IýU(^ÒG.h4ÕdÉÏÍ—/òéãÈjàçóIš¬Éä½;aÆ!Ùqþîþ ÖÂfÐ(ç‰}åi .Ê*mÅöäTdkðIQG©êQ®¨­Bà劫]¤ ËE­¯ªDȪ©É ò$(”U…!ÇÀà ú¿ñó?öA@6È™Z¨D…Ä>ΰ¤K~äÞékÈ6C­Eßç+4¶1m¢­‘œàÓ+H} |ä—lÒaÔÀƲYí}êÔç±ÙyÝ6¶c¦Ø›kÒ £o=v;,>OD“×mÛ{ü´aš¯}Ê¿ÕÓaåJ½ %PÅñ~§®?{ŸVÈPkØÖvô„!í5˜Â¸Ós–ÞÍ5u°W{z;(§hÜ{ò|G õЇ’ûìäÕO$4²vƒƒ©<dÞó½ó·= ¸2º]§ì»ß«ÃÚƒS4"®ñxô6¹€¡ÙÒf”ó˜.z,‚*úpçÐaϰ0ê:¼cü©KqÍg[×E ¾WÉ–NNzÏn}4êH<¼'ÛiÅÁymÙTÞ³uSw¿ÓøoÛÎÑFxým ßûÇ€¢i+ t&dmöû¸Y|¿9¥kí²ß{BÊ›§¾¾ÁA¡±ÜHßÓ«|}#œYÐA‘ hL¢š\­ h´œéÅ|ñWe‘" @cÔ$)”^5 «)F,”E¯TÆôÿã·õÿ Š¢}‚óAÅzÔè!Í Hxø,õËÇâˆÛQÝG lMÄú]{,¢ˆúþô¯I²ýw­;ð™ÝaÀ ®úù¯onw»”÷öÔÖsA‰òíú`¡šñêÆ®QJ½çOk+ k6}åèÆšJÉÜ«ÜÇ3ê>d@…¤ÐË›W‹.r@åá•¡Ó¦µäÅxò¨Ò ŒC£í¨Á&òM™3}çÁƒ—t–‰üAô“¯nØæùZÜjèØáf¤÷ÞÕÇßIrƒ÷­?’H4³â¨ô¸W³J¾;sÜ/©nhÞÛ„ÅoŸÅóx±IжÏÐ߇Ì8ïÏPê<°9€U×fðS’ ªÞcJ rsró‹+õ³ ±õÚö;oýK>~WwL±TH¼èî*`¨è©@ÅkÊ“<¯\½šYƒ‹Ê¸“ŠªTK˜™* Tjðd(é©ÜØ^•c˜›*PÐQcaä@ÿ§~Wþ  #ï…ñ@úgSÝ}ZÒ!õ±…›Ù Ç,v±ÿoÜÜy½T 0ðVDÙP‡ßš^•$#ðöŒYR[(PÔSÿR ÁRRWWW•£+}¿ì„;÷SA¡Û´iöƒí]æ Ô€<ÿ[Ÿo¼€ö°•®³¦/\·¸«béŠ~PIõ^«Ù¹¸‰Yï–t(x”$à'½€nW+Œè¯#Lº³Å-D ?tL[…’i²¬Œ €÷7üÒ* *7`ÙÛ^¶.w3Iá§ó³F >õȇòîš4ù†Ý&̳×€ÌO\1S§CKEnГϕ¿Ëfý†­[Ž<Ï©ý(‘·C²+-%ˆ½÷ €ÑÔ =½ÅfæäÛ»/+¯\œâïѤ“Q½…¡:ô›ò•î.|¾uäÀÙ ":@¦ÿãø²w½Œ®¡d4«Hr2 ÉïNÿЏ0-€©¥¯D ä›2cʦjÊ2!W¶Ïw™·áÔ“$~õ‹–’¤Ðõšk3€`4Ó(ÎÌ)J®¢)O ±Ø, $TÅ D“QQ fäŠÊ'‹scß„¿ŽJ‘(~·”€›Á(ô[;ÞÎÎnÌ’ÛY’¬Ï ¹Ì͵˜Û°µNi¡?¨dƒ¶ ÙJ­{·aB΋ЄøÐ· ÛÕJŸìƒþ”¨(3æÙ¥M“G¯ó/ÐéêdRvö¦©w¶ïĈڷÙósù­-d^èá~<€–C¬4i EÕâøäøžžo*|V¥¿|‘ÔÀn1¢·:@ªÇæ3oÊ-â”{‡nsÔ;YVîJZâçÛ·ÞI(Ë<$7øÀ곩ì.öU*¶[|ë¦aŸ¡Æ‚gn»¦”}@£xÑ7Š`u²·ªm¿}2ç…Ǿ]»öÿRBõÓï9K‘Ùa÷ÞI çÍ3¿²‰ÜgâFABt–¨ƒ—™@WÕ*í_õ­é_W[^C /#1WÒNŽVyýìà íîV9‡<ßµ¾{QwÍô« \IývéŠ:ŠÜÔè ‘YC&ÅKü §®R£ÆNv£NM‰ˆè—ïnõ_#YÈܰãÜCŠŽ™kìš åV IDATõ½:,%UÙn³õÓcP‚¬Oq"SÃŒP€Ü´8®¸}?å}Féfþ ’ô²KÔ„b‹^me^…Þ»OeCƒÑ–Ú?P½–á1®³Gu/èõ[h>§Âíi4µ gµ³ß´ÙnTÀˆ Y¹ïý®Ý Ï0r\4@—45 û.rá—§û0`•‰Ž,/)üÁuß"`wuì¡C`·ž²¤×ƒÅÞv>¸¯ESÅü÷.{E ÕqêøŸyÞòŸ¬5öñÀn­ÔŠ>Ýô.€Õaæ+å’- è,&d=½r­mF£Æf*À0¾l̉ç½–Š}8¨[mñç0Ÿ[I$0ÚÎZØý[#Ÿ}“$÷ÕÕSç@¡oçÑ¶Ø Šê³ßrš’dß¡@wäŽ# @åošæþ:øAÌH[H½²nCG)! ¤”{ m£@Äcz^µk kwîozùhÔ¹-»²9²1ýbÆã‡0Å$€0Îÿö•„¢°{©ƒE(øàï¥eò¥ Ëa/î|î¹qsa÷†Åá÷_@ï¿!Íä ùÇHSï<~ؽ×>_\23¨µ±™öö]²4ûŒí¢tç»uø4¤¯zˆwàGZVÜÛbÈ6Ówõ´êm|ñdÌ¥u›Ó:ÈÇ? .ÝjZ+I(˜öj'ð@Œ¥Æôw!dÕµë>ÐÞÑ®‹¾l•LCû‡E+—ìyšøôòÁ§¥Sµ¬œ]WNjÅ.™™¦Þs•û”Õ«f„ß=~·t&™¦ýæ¬ZÒK³ô,NSï±ú˜+cáFï„['CJgÒ³™·aÅЯ‡&ý1];7gÞ 7®Ç”NRµpÙ¾yDù „‚©MkÚ«7)wÜWÜÑwþú ¹ÊEòmfv§»z¼ö½í[:Y³Ëì­ëì¢E¡¿Æï8O‰SŸ>ˆÐîdQv$L»5§¿~æÕ‰l³QÝDî‡äÈ5î6aºSKy¢äÊÌ×Ó%eùƒªð €¦e3Ï•wò´× ¯Û"ùf#û)åNî›pÌç¯o¹mÿÆž·ãÒ^ÇæwoÙ½wóÐkÑn[7U)/PµtY;Ýãäõ@ß›oªFævNCÉ€*­‘újí„l» ; ¯œñ zÿöE7ÞIcÛŽÄ?¹ÑÏø:mP¥ßSDåé!T§ê,P¥ÿ¹`P噤¼ÛzÙì$EUÊߘþ`6½tœ¼êwzK)£ÚÐÒÞű—ªiþ¥œ÷àëup˜ØIFþ†6-ôÿ‰ ˆÒ7*Ä—DRòv&0‚ „~‹:¸þRÞìQš<ÊbUiJ…ùñäˆÐŸFTˆDÙ¢l:QÞþäkxý¡_VGùƒ*ë­IQ%i£Ê׊©óBõQáâ AD…B# ì?Œ ¡ßâW¯¿|>H (’²$‹T"Pá2 BèO*‹e±ƒ*A+NPR /Ä „êØ/å¯Ã‡„Š E‘%=I) (Ф*6„`ü@èÏ«rÍ…F hЊ"€*ù¾¬ñ!„ê\Ýô?-%Í$di ‘TIsHi…ù¡?¯üªJ…ðAÑ  Ó: ¢¤96 „êØ¯åòk+¥M@R”˜ YúUB–„’ÒæÀ&„ê¯?èÐi@Ò(ŠF0H hA@#0x „êÞÏç £‘R%—`$¥-”ˆ„<¾Ä7¶(>GT(üo§EèoÕZGæ¿–J ( ¨Òf’²»sB¨ÎÔEÿS(mÿ ) &!¯XròE®M#ÖÀƲÊÿàh¦Õ?ü⢒oŠ‹y©Éɼ¢B:!#+£ ¯ ª¦Î”)}£®  6P4‚ QETY  3B¨ÎüBþ(ïÏQzà ER%M ÔƒEý›Êpô˜ ƒ ðˆ…ПÇ/.¢(êsÜǼÜ<ÆLZ´–••øÉI Ÿ?Åihj©ª«—Ì)!)AÐ) ) Q@€}?Buî×Û?¨Š]@Jš@>d Z*²X,:Žù¡z")!^$›wê,+[úVÙÆMšIŠ£Þ½‰EZÚ: !N+¹ž(½m ßÄ¡ºFûñ,5PA( I•Ü£ ËÄðPý‘š’œÅ1ïT>ÊÑéŒ&M› |‘HPrçE–ö.¯ôX'ì9Žª+u?¨/—`J/Ä@ÉpŠ>ª7²³26jò­WåØleµÂ€ò‘{ʆíÁ1‹B¿ÁOæòCe›R/Á „ê~1ßШÑwfPVQ •’Bý&uwý¥,ŽÔ<ä-íƒ_ñ+~­“¯?$ +ÿ(z&‹Ë§°X,‘Pð6 #¡:õ“ÏŸ+¹ó… IJB˜¤Dˆ)„ˆ©=Ù;û©3™Ìº®-Bè'ݼv±Oÿ!%ß‹D¢ÐÐ’+¤æææLFi?ô7¯_žÎh2«“º,ƒa,Á¤“NÐËFgÇÑ!„êʯµP_}KÕâRq ?·!„¾£¶ï£üüüàüüü¼¼¼¼¼¼ÐÐЊ­ %¨ ЬãΔ ÙïàBÇ¡=-8» rpY}*(Cô­™y/\»s86k^×iʈâOŽàp8“äýÂ6 Sý/vègÍápÌ»œ°êÌólÉ7g'že3'°¨6+àGlì?Ø=JðóUü?ö{vŽ(îèp›…Á¼Ÿ]žÌÝ5©ŸU×¾¿ò/ëÿ_<ÿ…*µ¶Œ•·Üÿõµ#ô«íûHII©G÷îP¡{8I’¤äË9ó71©â÷Çœ¿'mØÆÒ’_…ÞÝë~imWÕº¹\tÅæ½‡È2Ògþt«Ž úèÌE7ÍÙx¾_ 5IzÄ]+ç-dxq0Äæß¿]³ÛÌ%íš°~vyQRÀ£„vÛïl²RÂöÂï¨û·|Í^_}nã½Ùãdgç°þÙÏdFIÚí…N›_ƒ8éê܉Û^×ê“ úðô™§ã„?µxe¢Ì°Ë;Oggg7j‚ËŠ½·Þæ~ûóB¿è'ÚÅb±X$*ÿS1|üVd†Ïö£ïIh8þè«'öí;qíöŽ>ÊÀõ>ú8CœÿúÌ2‡ÞVÇÜfØìýO3‹ãŽŒ™z¯ ÿŽó€5¯Š…)~ûfèiÁáXž¶Í;^@™qn±}O Ûqë.Çáp&ÞˡȢ·Ý¦þgcÁáX÷wXt40M‚(÷þŽå´KW7Mìx<†íãy÷º_’ˆ€êÊ' Þ]X娝3‡Ã±ê=zññnå]EæE…$kô›4¢£¡ª¼‚Fc«qËöVMM+¦€,úp}Ý„þ]8œNý&nºW\é¸Ví«â¬#sGؘs¬úŒYqám>)Š?ç2ûFFŠÇä‘kª|—d‡ŸogkÉ1ïñŸËnßd!’” ã¬ðº½uòànœŽ=F¯¹“(üaMª/JœxÖaðïkGÙŽØûáKç!IÊ…qýyœXlgkinc¿Êó¥ïž)ƒºr8]G®òJÕ¨4þêóÕ~JpoÛ”ÁÝ:r8æÝ‡Ï?þ*_XeçT»™¢4ÿÝÓwíhÙÛqÝå S{NöÉ¥~TÃ]Aº]ŠýÖ®“døï™1¤+‡Ã±ê?ÅýIFå’Ôsg^HÍy°Ðn‘_þ×UqßV³ÿßÏ/¡~ IQ$I‰%”PLò„d>_’]$IÉ⊢2„3n¦ …ÂZ—™ÿÜmÂøÅ+&q}”%©u•Ä©·LØô’G‘…ŸCž¾áŠk³0ÿý¡i3NÅ (ꧯHç1gÔd·;oRòxEÜÄ—76N»üNŠègËC¨Nx^½PÌã}ÿOhÐÓ7S£2„Ÿ¸¢”|qv‘$Ÿ/á I¡˜K(’¤È_«CÞcs33Ë™rÊ ’ð¹éii™9!+{˜™u¶`ëÞKGš›™Y/z–í9³³™™õÜ›Q鹑ûÿ333¼ôàéƒË†u43ëµ68Oœå3·‹™™™íd×µ ì¬ÌÌÌÌÌœ¼¹¤$ëá¢nfff¶S6ìÞ±ÔÞÒÌÌl€[xÅÜÑÏÌÌÌ̼£U¯áó®Æ~<1ÜÌÌl’O.IñßWS~Qøz[3³ŽÃ–î>¼{¥£µ™Y§éwÒ+œ±'ÇZX_´ß38&“_ñ%IîÓ½ºM9þ<%/ç“ïö‘úm~Y$L8cßcö³Âê_%_™hÝÕÝè¬ìO‡œºôZ󢈢Š_oè7hG$¿ÊΧݜjm3÷Âëôüìw×ìdw7ÅÚÆ5¬¨Êï†ÿnû þ_×vßV¿ÿ¿êàúËOË[Ú§BÓ1•áý–ÝsÅDö•÷C³ºõÓ¢@qøÖY—Mš‡_{øŽË2à ™2e`sFD5ÙeIò^^<ñq|‡Vªr’œˆë‡Oz‡' ”™<¹Ÿ±×¦'Ô`{Eñþß.ó£sO&M”•––G·µëV?[¾¥vû¶úmü —)ê‰?™?*4Iî ï½'51¢Ùê]˜Þ{¨^ÉY´øãÅÛg/ß?ŸwwÏŽ­GtwOcV3q¶AÕò%ÜwøêLZ}¨-#îþÁn§îu1->t(XkÊšÙfj¼(O·§»mäº,eî^ÙEîã³Ä)e‹gûïÞæ%;zɾ®Ú…/=Üö¸ÉoÙ2D$Üà‹S—m§˜tß}Ý™+Ý-fµüòÏPlna”{yïæ ^Û›¨²4¬§/±  Ân<—Ó‘ûrCá»kî»7žÕvŸ  $7ð¬_¿q‹Ö5H9±Ú38Å¡IC¦$;Ì7Y¿WgUðê{K-˜ß8ëô _™±«Z¨dùíÛxè<§uÅ ¡ÿwµ i©©‘‘oòss…"I’ºººmÚvPUSûMÕ«€&§¦DÈKÉP SADÙ‘¯¢óz¦ú²)¾în[׋崌T¾ºüIñ3S àî´®w¿lIÌÇÙ¬†íôX ßÔ¼ހ87)€nئ h MÚè@Àç´L>¥@odÙL¨AùŸEf‹79ï>xáá± È78k¥U¥å$>hwüoªùSr£|/ìs›25×ã¼=%›ŸprbŸ %g‰ ˆaUXÖR/É«æÕ¼laÛ°»dK¿ë@}~µ;S’ŸVÀÒm¨Rr”$Øz ŠRòÅÀT5R+9°´o®«PRƒ¢–fõêú±Ðdeh@4‚!Ï.[Q£ÒD?ª87±ºý '>صÊ;2›PÑ7Rȧªô¬¨~—fåÈê–¥ÑH™P‹í­~×Éš/?èzéü¹9–é[˜0eB_¥ou©Ý¾%hß߯ÿ7õ¥ýC’ì“dØž–½^¼åŸ4`”€&Ûaì(Ë ´6©wÀj¯7…ƒ«›8¥JñâÔ¯Ï G/°6R! Ã³æjÇ+R(v˜åÞZQSU†*–ÈÉËü|> Š_×N’êõA{˜{ïfêtPï2fì“™çž$õï@×é5ÂZ_Ž-,u®>/®|Ž©?dí®&Oý‚^\Ù~ö#—eÐÒ¼ç#lM”iùážÏÙ7j©É0·Ÿhùl‚à@«ßÔQÖ ”®mÓ3—ƒSìêsÞ¤5ìm¡I§~¸Tñk&!ÎÉÊ*¤Œšõ[ºßZ$+ó;~[¨¾ªUû‡¿ŸobBBsS«ÎÖòò ùù¯_Ý¿wW[[§GÏ^¿µž `bÛ’pèj4ÇÉ„M™í¿uÆß‚f³6µ¾pêyåªë;é&µ·;’PqAŠQÕ°aû(#&ÅO{•"Òhß4É ;1*CdÕˆÉO.™¡¢¯ ‘‘"ìÚŒEƾI`kkÈ–Î :½êq½úò92ññ„éˆM·Ö(&‡=¹ulו;[¶qº¨Qö‰´(xiÿ Zû®/k#@°ÔZô4=üÖäà…“͵Tئc/¦M²(ñcšŒ[ tÅj^Õ•\eó^§S Gâ8ïð<àúžÕ›ÜøóÕšôÙŠñ]æ¬Ù¸dòœÜ’õÐul'v—‡”S3çlÚ»ÓÕÅÕ¿ŒF9¶®þLì6_—/ϱoÁ|§9[.>‹NæòÄJúZ²Žšì–ìE7–­>홑‘øîá‰Ý^Emú¶Q¢©uv0O=´õâË”üœÏ§8Î:/.;`Tû*­QÿaFïöí»—ËËŽ¸´ÅÝó3³teâbA•>Âtíö­“Žm¿ö6³0çã½½»^é ܤº“à÷kòÍ¢~öæ–öÃú°V·(_ÂTTV`ÂŒÐóǃòøÖnß~{ÿ?ÕöQâãÇYÆNn ,•  òƒw,»þ0Ö¾‰)Hò³”“gæ‚¢š­Ú‰9•‹§±Õe‹£³øTs@˜ôèÆ Í¾"÷nóRwY»Õ\G–(~½mæ©oÔŽ&¯ÎE¤HÚÉÑ(~V OÖ@žð½'ÛGìœ~Hmùçæ2S¹I—a£Þ?^õ:ž7¼•º¢lã;6õR§Yœ–ÅÒ“&”aB¹µmÓcW‚Þ2ø¦vm”:ûKQÅéÉþ36Œ˜ÉO¿¹ËÝM ·{bÓŸ¾s ýmjØþ!‰ yüÿ†ÛIH’¤(  I €¤HY99ÛÞ}ïÜò411ù½u%Ø-§¸f|Äýäƒð0ÿ UÃöCFN›>ÂLƒh¸Ôîã–«/<=óz m.*18*oÙám¸qÆwÈ…™û7›Ü>º§HF»ÝËͨ#C¶u{úšíWCï¯Ô÷™ÌÛ5ÑnÚvϰ)Y9Ù©1+Ç]å&¦ÈÜ@·‰“·Ü‰Ì(ÈKzumÍç}oxâÔ[ó×—÷Ÿ&ó78:ºLpÞýºtÒ–’dú,s˜²ïib>/?ùÕ¥¥c]JîãA¨’Ó'ŽDE¾|~1Ç+*,(ÈÏÏåfggdd¤¥fe¤ß÷ºsÛóÚo½ÿ¥Î 2Þ†< z_$¡(JœxÎÎÌÌÌùaª7ÉOïú}*½»¦8bK¿^+_ðþpP™úÐþÁûp?¨¨™S[•/}âUÚØ Žß,lÊ––M7ÒkƒË®<}³‹§vT¦ET71£jùŒýÍ)8xÚuÒ¾¼¾Åˆަrtœh²s‹³7CͨCÿÁ£:œöp;ÑÑ}d›–2ûVÍâ¯Ú3£¬]£ûìE9GNn™~¢PF»¥íìÅC ™ðÕZª ;LÛ0çê¹»g¶\NÍ1´Íí—é­MP¶˜¾˜{ì¸ûœÓy”rãÎöK'¶”ƒô*‹·²5ïˆë<«ì†âKÑÔ»Nÿ~ï‰E“vKÊ:9Ì·k„ÿ’š·4kn"•Œ5ZþÉ’G½P"‘¨mûÏüà¯ê=D¦{­™})C»ßâÃô>; ´66Íä¼ úW½>¾êxÖ=cMhŸ½NÞç·YÝ{ç׿öü HŠ“eÏ‘P1ÅSû‚êìù/Åá[]NoØ6¬ãBßqüÈA§ÉSÅ"I’E‘‰X,‹Å‰„”H•<¯_ Q0³ìù/2t‚I`Ðêëó_¨âO÷öo9tçUr!)«ÑÜÚnæ|ÇNšx\@e(Þ‡k[Öñý\HS4ê4fÑÒ±þÀH»¨Zõ¡ý!ôójñ>*û°A”>/Q>êÈ IDAT  €$( @(üÛ:/rú-<Üo៮ª¯v³ëήôô[šZ‡þ-øÏ}>ðJ~–d†ú&juïfÀ „©OO®™9ÞÞÎÎ~ÂÜ­×¢ +|ð%\œ3eOiÑ¢Ä+sw½åWW‡Jµ¦ ã"ÒU¬‡÷n¥«$ÇVÕo?hÊ+¥Ì,(åö†Í²3·ÿ@’ûæšÛüI£íF9Í^6$]D$íöâûX8iÞùOEÕÕMœvvíLGûÑÎËÞóZ;iÕ³êGUBèûŠŠ òs¸Ù_Æ%ûí+ œ×kü™›îS[s,míŸyGP‚„{Û¦ îÖ‘Ã1ï>|þñWù$ˆ³BŽÌacαê3fÅ…·ùßá/ꔳÍWŸ4ñ·¥ùïž6¸kGËÞŽë._˜Ús²O.dчëë&ôïÂátê7qÓí¸b|× ôçÔ£üA SïY¾÷m«ykœÌTé¥ Ân<—Á™é~òø¶IM£n<ûžjÔ­ D<€8=ØŸÛ¤w;µÊB(µé׎zu¿ä.Éy’ªgÓE@å:¬i·æàÉ£;f¶O¾~*°rv©¦bÕÔ¡Ò‹Plna”{oïž ¾ 9B èÖÓ—Lh-ÏÔ京§ºÖ€u;g´”•dûïÞæEõZ²ïäá5#5‚÷¸ÝNÉ <ë§4dÁü~òa_×Mœê½mw°Ö¨GŽn¥êþ]Uƒ*!ô}¥×_îyH±ñ£èÝþ³Â‘»o=ºº®[Æ‘yr%Ù6¬¤;íð]_Ÿ‹ë::¾Ã'ƒ”¤x.YtSyâ!o•]SÌß^úa¨â f\R_ptUoÕ-.J¸´pùC=—“÷}N¹hÜÝû" ò‚6ÏÜ“ÜuÝ߇· ß©Æ ”´ÚÛY‘@þ¸J}CIT{‡q%€¢()ÞyKcw™íÒ³‘ª²¾Õ¤%#ä=B󔺬»rnY_-YY¶¢ÁËáñã½.|h>cvßfêj »8­Û8»«JɨCüØË‹&\µ¢¿ €PþzñâO·®$´ž5³w5%=Ë sú(ÓÈœÀSOÆ,ÇÑURiØcúâÿµwßqQ{À³×zô‚bE£"6Äb¯±kÔXb/±ÆnxVTl$–D¢Ø{슉1¶ˆ±Æ†¨€pô~}wßGçPD8@ß—òÖÙå73w·¿›™ÝõÓüy6B÷Š0„PÅ«2ëXàÖó¿ñÍÔænÞÖhí os•¦Œ;¾pìm‚Á¨ܯäŒÈ½]}õö1ƒw¯gÔÚÀ˜“|õÇï·ºcéÒŒÀÀþN–$ãYØkGvˆÐÒÞ@žE_â`Ê-!6MF\–ÈÖJ¨ýÝ<‰½ 7˜†„¹ã„¢×¿è+áJ\mr^Í|›:–ì i«‰¿´añ¹ÿ’‰©ƒ³aK4iÑ™b'{±öûßÁ§»ÈÔ Þl0°çÄ/gbš räJ]|÷¨L'ÛÜÝ-j˜ó¢€NMVDíÕi¿v3­Ìæ¶Ê¢uF‰ªxU&ÿ Œù5µäò óÔQfm ¾\sA'.Gln$tí¾nEGs ¹4*‰o'^Ívu;¯ß%÷²ê¨oHˆyû÷´/xD³o;Éü ·žx\KuÐX;CæßÙ¼æ¬ùÄW{Ù‰üÁšÉ¿$ïJMš4CPR ùä×OØj6ÓØÚÂ3qóî;èÙÕÅÞÊú9å—£ ÌÅꇱ™ôW"«HŠ•  8EJŠc`!’E%)ÙZ N‹M×P !´¯m–eÙœ§„`Yíú™ƒÑ¤¾’*Xw>PÇ¿H ÕŸ‹f°^º}o;G1%»5«ÇZ®‘µXö ^΂ˆ(#Oì¼n;p˜ÏfàꀙÖÆö_¾æB‡ ݬ %¬øî#qV„TÎz €*éMŠ€cde*®;ìàî¾Ö0ÙÑR³X/µFWeæ_òp,ÛNœØ$jÏúSoU@LwóH<ôë¹§‰Yï·âT,M€ˆÝÛÕÉ<¿ë|–GÇ:%|pòì}:ÚDîß~6£^ç†&9…Xµ’æŠy NytæØƒL¥\ÿÍšð³žÝ|'W¥ý÷û¡{Y,”C>QM¿&šË‚O†¿ŠKNK‘FÜ<rMîîínHXBÅp̽:»Kþvéeª,#êú¾§Ú;ò GWl<ǾVÏ÷í¿“™øèTèÍL€2ùPHéDÑŽ‚hï9,«}(›ûDÜŠÆÈ®_z•’õ÷¯+e·ÜÜD£ yF&†|¢J¸³oÇÍt…LÅuéÚ×ùIpð…È4Yòë‚N¼á ) |EYúΚ\û^Ð†ë© °êâ»óÝzõ¶{°ù§K‘é™qwB‚/§Ñ”yë!^q[W¸›‘úæÆo3‡O y«Áw B•¥ê唩ט©>‡ƒ>—ƒIó sz þ š6j̬Ÿî˜üaT}qívu92ac?÷’¿Àp¬ZtrU$“†êæ<›45ÐùÃFM üCÐiPú\àμ;p,½Gö¶ ß8mä¸ÅÇéÎÜ…@Jˆ!1j2~Ù4oæÎžU³&|7~æŠÐçvçÏò·æð,Ö\[ÿöÍëù£ 9×àæ\…Ëåp#"^Vv˜¡/æ}„¾@ ¸ÿo8E(„€p(X|ý¯k"¡ÈÀ¯Aé æ}!µëÔ‰zóúÔÉcI‰ <Ÿ/E¢˜˜è°ËAó-+;F„ФZ®?E•ÍWÇKãïܾ™•™©ÑhD"‘P$²·w°±¶®ìÐB_–ª’¨ïßsèÊý7©JJláÖ´óàoº50Í¿PöhÓ¤ÿ]WzLÛ²°uîBvuôá™3Kóʈ¬ê·±’pÄÆÆÆÆÆ&ëÍzõkÄ‹ºƒOÔF!„ª¶*‘£ÚÍÓÎoÞ´?ìaTªŠŽE› sGzäýüê˜p€N¼u1Æ©ë÷6´ðw9pêZL·AÎ9I†úÕ–q·äÇØcàœ~5ðîä!„PÕV%ò–V©À¢ïßÀªÓ#oŸ ݱtiF``'ž&¯eq¿N¾‹K«ÔtÊQ}G¸i³ Žãg·4!@(¾ÄÔ€‹«èB¡*¯Jäò‡ë'l5›¿ilmᙸy÷ôìêâoeýœÄÑW¯&Õú6pf lÆ­uóŽ]~5ÐMûØ[Šobim-Á¬!„ªFªÄúQM¿&šË‚O†¿ŠKNK‘FÜ<rMîîínH”‘—ÿJ«éßÂÙL"‘H$3Çþµ²o]z!«ì B!TVUbüƒ5¿lÚ‘½gö¬:—®æZ×ò8¨¿5GöèÂÍl÷o™æ pP¦ ;ÔRî¸ð_–G£ÊŒ!„Be†Ï¿Eè‹pòèú!„PÅo>¦Ýþ.&jw‚>ÿ!¤Ubþ!ô…PÅ]Û6gH—6žžž^íº\¼çŸd×Ó$uä/_w˜uKÀdÜÙ0ºK+ŸIaé:¿Zå—¬tŠ‡Ë»ö zªïѱû‡´›ôWÖ‡Kj¢Cu˜v#»¬¿é£*X ãT¹}”@%µU^eyÙˆ¹"^uqÌ‘”¾÷õ JÌ¿ „¾Êç¿Lž}²Æ´åûºÔ3£ãþ¾aÑ÷³¸¡Û‡8}â`)Dzíä¹_¹ñÔ1]‰újíï+ZëªÉ/‰ª”ÇfV¹>úÄ—ME¼ê>ƒW2Ž „ô„IzûE—Ñýš9I -\[}3–¿$N*g!ûÆ÷Gì94®gÏ~çìyΓýâXÀȮޞž-»ŒZq:R΀&éööéý:xy¶ê4tÁþÇ ò÷–Àƒ¯dqǧOÞ—ziÖ€ÙJÃô÷_®ý~¨~³³¿ÏèS LNIбû¿é¶àìéÕcz¶õlÖ~ðÒߣU –^Û8¾§O³þÃíç;æbZ¡qVu~Íw=Û6óôôj÷õŒÿf0Ej©#<{©Þî8õxBlè˜þKïÊJ¨©Î`èä;;f ðkáéÕ¾ÏÄaïT,h¢C†ô\zîøƒüº~;¤]ñZí Vu&`xWoÏfí-9­*©©sèî:áÚ¦I½|<==[uý.è„ÂYê"Ôv>º`Çehrû¨„Céµ@ ôÛüB•d]ý¥³:%¼sÌ©,ý[`wí û¥øþæ-R ¯ä’Zï£{¿â`þÒÊ´a‡Zɇ-üùäíˆ$%›.‹ƒfziG*²Ÿü¢ê¿ñÔ•#m¶¿ü¯4:ýæÊÉ›Þù»¼Nýû+'o¼/ÓÄž˜;û¤É¨­ç.†.ò‰ûyÆúûyCÐ\Û>‚ÛY÷Ýzbm[›ºÝZÀó/å Ž¹|6¾î×­, }âщ—·Þ®7ÿÅ‹;G]Y¿ý‘LupÖüËvw]¸øÛD‹3›Ã‹Nâ0ÉW–ýïŠíømgÂ.hýzǺ‹…Ïî´®ðtì•â8ìçM}¬ì†üzx©§˜ÑUS•®`èø3 f…²}ƒN]=¿}¬Íå…3ö¾VqÃɈÀÍ?NnóþZ›}÷æGÂ.ý6Æøê¦å:(X÷⽓qsõâ“Â[Ï^9³u(9ñ¿Í÷ Mðœ V°¤°sp v\±«Â‡*)ÔÜX=Ø%4­¤þ*^¦„E”­ów/¡Š¿3ßß¼E¢*¶{I­W¶Þ¯ ˜ „ô…ï:â—£‡º¥]Û6{@Û6]†L ¦ û£R\·{3Í ¯ Ž¾t.¹a¿f…?ðXŽSß±]\ fõ|;8ª“²¯OŽò˜2ÙßÍÌØ®ÅÈiL8EŽIL¼ï׹ޕ¡P(6Yª¬àSõ[]á}h/&íFñš>y¦#:þê‡ö£gõohedV«Ë”©_Å?©`ˆÝÀ…º4qsjÔãýµà» ßÉEÌ—Ôöñ±S'ËÔºˆ(¸Ú¢XïÜÉàð(uºTšÎ˜y Úpêðla‰_bØOg[E( ´€??)©å‹W']çÆ¢¯¬²õïÚA©ã¥ÈPÜÒ7¯ŽÝßׄßû× „ô„¥• °nÖgœWŸqÀªRž†íün\Zè¾ïl¸W¡öÌÁ·©cÉÞx÷.:YµkT§ýÚ(­Ìæ¶JOVeŠìÅÚM|Ÿî Öùû êu÷T­¼9Axí|j£)Í$@¡ÓOâl¦ý $€&-*ÓÀÉ6÷à5ÌyQ…I(Mô¥ ‹Ïý—LLœ 3Ø"ßÕ5iÑ:Âúý{Ñé±:jš”^<:CšÉ·u1ÕæEDlçb˜›¡ |K7í³¯tÕºÂ3w’pµõ¡HIdl«b½#ešÎß²ð྽ӺÍÍvhÓoäw#;—´¡Ä°?~õB‰¡æ·@Áš–Ð_Å«“©Ñµ‘.—þýp;{)‚Wé›WÇîïQ†Þ¯ ˜ „ô$ûÖ]—Y›×P@øfõ:žpÿÔ˜[/²ÆÚhR_I¬;Ÿ¨ã_$‚‰­©¸î°ƒ»ûZSÀdGGH¶ô±ìA¼œPFžØyÝvà°&º¡Aƒe篑ëMg45)~V T¡m#qV„TÎz €*éMJ‘ĆI [4ó€õÒí{Û9Š)Ù­Y=Ö.À1².ÞZáÚ˪xMm”{‹Ã1¶6TÝ~›N·2à°2éÛ,±›òÎ%¥©5!…·ê ÀY¬|•W¢XïX€ôÜmàÒc—Êbní™?w†ÜùøœúQrØ­äPó[ O‰ýU¬:V\ 9‰E{Yú·4íPä¥ÈdÇ”¾y‹ïþ^¥ìýR¯ÌªÄü ›q}Ñ€&…¾)ðfg³ï­>`À˜mÏ• ‰92}Ôšr=„’õ(dѸ¡Ã—ÝÎd•Ï·M˜¼[ס:ñî¡usÆ}3`À€A#'.Ø|êqÚ'äŠú«B%c˜÷ŽÙ–qý¾mÔÇç-Ù}í¿¨„ä„è'—wn<›Ý°sCcŒìZPð¥W))QÿºòPv«Á-ܼ‡xÅm]}à^lF꛿Í>%ä-U£k_ç'ÁÁ"ÓdÉ® :ñ†',ésŒ6èÑ(íКCé^}¿Ò}=L!·^½ílþéRdzfÜàËÅÞØ¬ZAóŒL ùD•pgߎ›é Y¡…”|]ᕼ—F®¤(³ÖÅkÊ©©#Žuû1¿®=ú81+5âüæ ÿÚôêY䈭5”€¦à®ÅzÇ‹{wÝÄIA—"Ó*‡««´,MØôž¶Ò”TË’Z¾xu$º6š=nÙú7îvЙTd–ªy?¶õtú¸&-GU"ÿ @’®ÿ•w²g³þ»ôPÚ»q$͆Œî⤇ Ôñá·âêÌÚ² ¹Q‰­¯z}dùºKLÛ)¿îþm˲±Í2O®^s>NSÖß©¿Ú¡/›,û}wrÈÌL¯è(SïE;—ub®n˜>¨k§®§ßw¿yM?.€À®W7öÀäîþýýa9vÝÂvf³‹ƒF ÿáë-½j5aÃlOžË µ+ü¤[¿õóé<íwÉØ5Ó¿*ù›1jÔ³ 'KÔºO#ÃÒDÈwýfíïÈõÃ|;Ý)ïÚÏEÄáübI™µ›=¡Öµé¼}ûÌ<-ê?Ñ[s`fàý_t…WÂ^´WSá™1½ü#£tÕTg0\›îËׂÃÓºµó½5ÎwÙú5‹~v|l­@g ë Û.‹gx½X3Ø×ÇoÐÒ¿œ'­W§È‰”Ÿ_AN)Â~þÚªÄjély…Ž¥ëXüY¶þÍÛ½Ôí@Y°yËÔz%4Sé›´>gQĈàÙDtêÃcÛv»ÿNi\ë÷˜1]j0ÒÓóþÕ£/9ú²ñ¢•Ý2Ïlßuöߘl¡MýC¿äeÍcRÂüüÛŇñržY]ÿÑÓ†53ãÐiN*éI][>gÛãlàIšMžYçìŠç2à[¶·nRýü¥?lÊ•ù“ŽÔ]¾i¸«¶‚tÒ_Ûw¼òž<ÂÀ°ò7W~ûåè—ɴĽÝàñ#Ú:pãsÃÛ{;Vð|WláÆ /,˜~Þ+pMOrú=µ# ã˜Ý5B¨D'066urqÑyÿS–e¥qïHeÝÿ4ûÆ÷=Ö{ì åRηM–Ý]Ò{wõÑEK3ž¬Šýûr„}»6.b x´ºïÌìe'šˆÊ7¦Rú„`>®ÖTa½S9tVç3«cµPeÆ?€ïàÓšïÊ+›þèò{¿&EWNÑ W‚Ö…õY²õ—ÀñM÷î~ª`Rn„üiÜkæŒÎ‚לe;Î Þµmi‹[›OǨ³ìØ&èµxËŽ-‹»SW¶î{¦ “¯-kêûîVæ~K6ÍnéÞcá<_s«në &@Œj7wN;¿yÓþ°‡Q©*8m&Ìéa@€Í¼ÿËò½ ž“ƒvíX3ºæó_–‡<“³yá͘7¼Næ?·bÕ@'ß {çбµ ÷ýµÓyL5B胤±±Å72 “’œdb*Ñ<ŠU¥'üwú—?ø¾}ë–ö4œý`Çâ€#O³Fyv×EC_·÷\vPÁÊLYjPe¨:ùpm[û<¸òRÀ¤Ý¿íܱ‘I‘ð4q}ã2xhgSû&}¦LæiÄjÇb¬ºŒÔ¦ž}ÿÜ ë¾#ýÝÍ Lœ½‡«“xå ‡K4™IIY¬‰{—~ úÖ]tò³ÅKê^E_Ï¡×æuwÌ ?¼vƈoÆÍY¹ã³t€Í¸âq÷Ñ=ê[Ù{ ÕBóϵ(U~xÎ5šúÕ̸u+V tÒÝ?¤.þÍ-ó‡-tÖŽÑyLµŽ!ô-½Û „Âׯ^feeæm”eg'HãX†urv­ÄØ*‚üQÐðÑ;Ô=ç|[·´9¿æÈ•“ÎOïìíÝyÂaÞȵ Úè\¿©e ¦ µF¨RT¥ë_x6-Ûš,¹ô,»žÓ½+q®Ý=Œ©ðÂ%èLi¶ÈÖZ¤}ò¬›¶µ:€/q0娳“d< {㜫›„–öò„,¾Çw‹¿;÷ûé•‚äÖMý{÷ïÝÆ¯³¤>ü…¥U*°hà;ÀÃw°êôÈÛgCw,]š؇“¦Œ;¾pìm€ŒZÁýJNC^x@L=|kþzøŽ´ð៉µzzšQ¹«þtÖNóN×1:j„ƒ†èÃêÔkû.9)1)!žeÇçÙÚ;š[XVn`­Ö‡µ*çcŠ›þxþæGîCÄîýBû”s(eS¦`1ÜúaÏIDATÊR멈ީD:«ó™Õ±Z¨Jùp,›·7;}éñÛ†a 5ûÖ7$E.½Jl.”?OR°µ@såx¸eçõ´W^QæbõÃØLú+€U$ÅÊ„ŽbUü;¥SçIËúMVÄß?¹!(Pi·q„±Ž’ÜndTüáú [Íæo[[@x&nÞ}=»ºøÁ[Ù× Ì„®Ý×­èhN#—F%ñíDªèÜðˆ‰‡_Í_ß|Ì»›Rw@ÃBkÓuÖ®»£ŽcÚ²ño‹ÕhÔG-çB_&.—çèäâèäRÙ „¾tUhþ8Íü¬Ÿ…þv*©Žƒâ#<û6í"BCÿŽÎ”§=?÷Ëž+±\~Á*p̽:»Kþvéeª,#êú¾§Ú;¨ÿö¿e»oÆd*Ô4!‡Ò]Ò±è«Q¨Š^”(ªé×DsyCðÉðWqÉi)Òˆ›ÇB®ÉÝ½Ý )ÓÆÝ<ýzîibVÆ»û'ç­8[äþ5ĸ_­”3;O¦ytªWøµãè:¦F¦£F!„PµQ¥Æ?(I?Ç_~Šj½ÈÝ€@ñ5•\û.³§enÙ½pô&…Có~3‡×Sà²AŽE»©³S·ïZ5ag–Àº¾ßÔ9½œ\ë #žmÞ9{ôFškR£åjðè(Ƀ‚7ûàY6¬/^¾Hò¡}.ÉÉ$•˜|(.ïÚ3èi‰Ï×D‡ ê0íÆûn(ªÒÊgý)ÉûÀG<…!TIìììfÏš%å/¬¦išÇãC÷r!ø¾F•«2ŽÜ?sÇ<ˆv…ùBUÇKMI.¸¥`ò‰ RP¹+º*f9—&éööéý:xy¶ê4tÁþÇ °Ê¨ók¾ëÙ¶™§§W»¯gìø7CõvïÄ©ÇbCÇô_zW¦£@¡‹âéä;;f ðkáéÕ¾ÏÄaïT,¨¥×6ŽïéÓ¬…ÿð€CûÇù޹˜V–•ö¡ Só/yŸVTΟ˜€ TåØ98F¼xVÒ¿Ò4”/ä|‹(˜…”×{šŽ=1wöI“Q[Ï] ]ä÷óŒõ÷eÀ$_Yö¿+¶ã· »x  õëë.¦8ûyS+»!¿^ê)ÖQ !?¡ãÏ,˜Êö :uõüö±6—ÎØûZ¥Ž:8kþe»‰».\üm¢Å™Íáé˜| TÕ”ßü B‡ÃR”4‹—ß"TuØÚ9$%üûäñƒú ù'šÖ¼|%‰…"pÑ^mKrW„@!ÏO ~{vÿ‹Ú“;»›SàýmÀrû—¦Àï€Ã^¦6BiÄF""K•Ñ`š¿›î9/tüÕíGîßЊV]¦Lý½×¦Sϼ¸‡£<¦lòw3£ ÅÈiŽN(z/e„PeûÔüƒ!Àœ|áPPË‚ÿ@ªjåÌ#¥üÞ¤~2mî餜ÿÇ1²u÷ì6bDGWq »+Ÿo›¾Y8;h„«î»nÉﯞRgy`/[|(=B@©ß°ÑëW7®ÿQ»N=s +íöÔÔ丘–e]´[8”ö½LrÆ?Êm@S“)v²kG]ù>ÝhMô¥ ‹Ïý—LLœ 3Ø¢¿Pï)@gH3ù¶.¦9rÛ¹fÇ&'B¦“mî/²¨aÎÃü¡ªæò„Vû ÅjoOÄra(èàjòoš’†f"#A)SŽÛص?47ZžõøJèÎy ’–¯\Sˆ³9•‡ãâêšñòùÓ'„Ë㊄B‰¹©D’_Œ"R`¦Üî:Æ1²ËÄËYeä‰×m©¾hæë¥Û÷¶sS²[³z¬-¼“öžckCÕí·ét++“¾Í»IÌ@œ!•³B Jz“Rª'[#„ôéÓÇ?€Õ^ö9ƒ,€¹ç[OÓ°WÙgŸg+4¥™xAçõ ‡È >´^g °áb| åM ËBxœòÏã’8BÜ–Ÿ‘–¡F}¦´9ÀÀ1g›  1¿P}k‡E(„RàrÜONBø.]û:‡_¨9ÕÇ$êȪ FP¬ZAóŒL ùD•pgߎ›é G•öCC#WÒ<Ýræ_8Öízü¼yíQy]íÓÿÚ¼á_›^ß׫KzÛ ßüÓ%·)-EÏCƒ/§Ñµ>1v„Py+ãý×µXX–†eèÜÛ±ÓLΟ4“³‘aasv(ÅCfB&' ù×Ìs´‹·(¡€K.¼,$g.ÊeD%½¶5 è虑k‡Q  mhLdÏö-š·í¯8že­Öƒ¿©s7(ø¥÷–Cß%®¿ä\Vû-'–Õ*^`ózçµãïN=½±•&éö®k\!²÷ì3máÄö|V}iã’õ'f˜yöYïúÆÇÏlï`ü©á#„ÊϧåÀ À°,›“ò44´6)aX€as’my„PåÊË'rWnЇäN¾P9 E€@ÎBjôðUìß—#ìÛµqÅ£Õ}gf/;ÐDôá=BúRN׿Àæ.ô @±„ņ.•Ÿ|ààBUDñ!m BøY»ò£Ú%Ùv,Þ‘ôó¦au¨7gw]P4\â&¬ì˜B…|ÒøaX–eY`rFDrEò2¶@y„P%#ù‹: f!$7 É»¨ž@5Ì?XÙ‹£«–n{“E9·:û‡aM$åù° „Ð'ûÔüt¥ ,@‘?sÇ> ÐO¡Ê“wa­ö>E‘œÿUÃä!T”Sþù ;X6çG¶Ð–å1ÿ@¨²¼«G‘¹ÈvL>B¦ò­¼‰•‚ó,y‰æUYBHÁy™ÜM!TþÊ-ÿ€!…ÿ.ü3&"U¤Èß~&E·#„P9*Ïü#O‘D!TmèÊHB¨Ü•Ïõ·Ezb`*‚PÕ†ÙBHÏ*$ÿ(?ÝB!”/‰G!„¾aþB!}Ãü!„Bú†ùB!„ô ó„Béæ!„Ò7Ì?B!¤o˜ „BHß0ÿ@!„¾aþB!}Ãü!„Bú†ùB!„ô ó„Béæ!„Ò7Ì?B!¤o˜ „BHß0ÿ@!„¾aþB!}Ãü!„BúÆ­ìB!ôe!,ËVv !„ú²àü B!„ô ó„Béæ!„Ò7Ì?B!¤o˜ „BHß0ÿ@!„¾aþB!}Ãü!„Bú†ùB!„ô ó„Béæ!„Ò7Ì?B!¤o˜ „BHß0ÿ@!„¾q+;„Bè“(•ÊèèèììlFSÙ±|.—klllooÏçó‹ÿëÝ×iKŽ=MÎR0 «ÿØÊ€¢ˆ­©xÙ×õê;•¦—Ë¥¨ê1SÁ0ŒZ­¦5šý“¼\,Ä,ùB¡jìåË—‰Ä¢²)£wïÞi4ggç‚;¯¹!ÓÇ«¬¨ÊL©TÚK'6û`Éê‘U!„B:effJ$’ÊŽ¢ìÌÍÍÓÓÓ‹lLÉR©.x<^TRviJbþB¨cY–ÃáTve' Õjuñí„ýóé(Š¢i¦T%+:„B¡"0ÿ@!„¾aþB!}Ãü!„Bú†ùB!„ô ó„Béæ!„Ò·jy{„B裱êä'Žœ¾ù<:)›™»6õÿº¯«AE|§.._ù¼ïÊ) „pôB(kW›ñ­,[ Œ-M9ôGÌé8M©nÁQÏpÆ(Wù‰Ç[âËx€ÒÃü!„З@“ðgð²ƒI}úOé`¨I|~ýø¡ [aÑôv–Õ÷öeÄþ«ZÛ}·®EÏ?'Kç¾òp˜4 &ì~~2­ª?\ó„BŸ?6ûɱ‘5¾ ÝJBXX ´d7Ý}äík–üÏѽ'o¾LR€ÈÚÃÿ›‘]j‰’¯¬ZûÚ·§ÁµßoE¤P-ŒÖÒŠK§?=r ì‰TièØ¸óÐ!jˆ °Šèë÷¹û:•1umÙkxÿ–¶ú9¹‘Éwm Ÿ^x´â±ŠP¾»úŠHÜÛ» .¼2ÝØ_tè6 ncxûð“}`>©£]{[>'+ëüõ7[Ë@9Ôu˜ámÑЄJÅ­Þ¬¾«îÜß½›70>öxu#¶²,¶W¹Áõ!„>ª˜žC}ÿ&’üÓeá35`†Ÿ5'#€Qþ~äÑÌp…€cd>¾¾fÿ©ˆã2ãéým#^üïØ+Ù :ºsàP’™Ìâÿ~6(øþè³éN-Ú‹•‡¿8“©<²ÿñê(†ˆLŠïUŽ÷„Çü!„ÐgÕd¦ªDF:gZ Ý›Û yF.MšXÒérUüí+1޽¿nî`ldãÑyÔ˜¯²Læãó÷Å~C:Ö6Ú4î9¨©æÁíw:èRx"¾P©L+a©åñ 1W¢å´£·RºñnF¼BõòÝæç¤u=_‘¾rד OeIJF©Ö(XʤðÓvM]luìU~Áãü B¡ÏáóäÉY4@þY–ÉzuûnŠc‹&Æ áGvÞ~“AŒ,­…²¼± Ž‘uNÂB(tV‚L`e)Ðð,¶´ÐÄ%g¨âÏ­ž}E»™Q+8 ¾z4 µJ 0)4’@LìÌÛˮƫQ½Ífˆ‘ O ±Û<ÁZ‡ËѼæP,±¯í8¯ž„ÕĦÐFEG6tïUŽ+e0ÿ@!ôù84«Éì<žR§µYÎùšI½w$ä¤åÔúäÈ–0Ɉ™ [ ˆâ¿-óæíE:+sDfBeDŠŠuuÜõ³ÍÛûÙ™œý–üà#¡€Q$¼KáÛTïôP)ybò#Êupmþ¿r§`(^›ö.ߦ½“Ðlv–F/½71‘"6Yk‚Zµš¨ÖxòWÃòMœœ [÷^òò ç_B}þˆ‘Ç×="CÖþráÁëøäĨ'„l rîÚÅU QÑ\±¡ˆ š´g—Ï>ÉV)Õ:×opmšûX¿9~üŸØ,EÆ«°}‡¯K9|Žq¿ºÉ§CÃ^&ggJŸœÿy妋Rº×I¼+Kßö·¬ž…^¦uÍøvÖ&½ükO·ÊÞw+«`¢ÏØ~Z#!ש†íÿ¾q`F‡âКt ~“¦¶ž"JÌ%„ˆ¸%îUŽëZpü!„З€gë;m‘ÙÙ#¿‡®?ž¦¤ ,j44£-ŸHõº÷Kðì«S_ÿÞ‡Žÿ|Àcª]ñCpm:L“µçðê™;”bÛÆÝÆ÷¯%"l<|bjèþí‹g°FÎÍzNT[‰ú©u÷ùØ » ­\ÖøðDŒ&..uóÁ˜ÓÉ eš_ˆ•¥®9Λîç¶»=dÙW¯¿ÜEËùow¹×\1ÁZ%».Ýé4¶·Óß»bïE3s7z´X ç_B!¤o˜ „BHß0ÿ@!„¾aþB!}Ãü!„Bú†ùB!„ô ó„Béæ!„ª1BÃèçq+B¡Pðx¼âÛ«éݹ†áP¥J-0ÿ@!T¥¤¤Tve—œœlll\d£ÄP Ñh*%žO¤V«ÍÅ¥)‰ùB¡jÌÞÞþÝ»w Õî„­V«ccc“““íìŠÞë}Vw•R©R©ªÑ(˲J¥’ÖhöªSšòxÿu„BÕ›R©ŒŽŽÎÊÊ¢éò|@IEãp8&&&ööö|>¿ø¿Þ}¶äØÓ¤LEu9MBì$âe_׫ïPª;ÇcþB!}Ãù„Béæ!„Ò7Ì?B!¤o˜ „BHß0ÿ@!„¾aþB!}Ãü!„Bú†ùB!„ô ó„Béæ!„Ò·ÿµ^¤†˜BL&IEND®B`‚murano-9.0.0/doc/source/user/figures/topology_element_2.png0000664000175000017500000000723313656750211024061 0ustar zuulzuul00000000000000‰PNG  IHDR\\ãïÒXbKGDÿÿÿ ½§“ pHYs × ×B(›xtIMEß  ùº \(IDATxÚíkTTW–Ç÷Uˆ¼‚…j0‚_@cæ±P0¢¦uÚÎÍdì‰MëòÃŒ®ÌôL:“t2f€™¬6ãZ,Ûv9“¤Óí­ÉlM; 2íjä¡ ‘GBIUQ÷ΫðZcATòÿTw×¹õ¿ûî³÷>ûœcÃh†4R1˜,Ër˜¢(aÀ#Ž¿Y–o+ŠÒr§···IÑ;F¸wä&Ù@*0 ˜ LdN·µÀWÀeI’þ¨×ëK7mÚÔ:Fø=‚ÇK’”£ªêw%r} ¨ŽK’ô»Ù³g[½zµý¡"\!K’´HUÕµÀ_‘ý>¤$‰Á`@¯×vמ( ‹‹Å‚ÕjåÛo¿õäöÍÀ‡ÀN!DÕ¨&|Û¶m¡ë—äµ eÚ´i$&&b41L˜0N7°=±Zioo§½½ÖÖV¸~ý:v»[…>#IÒÏ þÛñ%ŒÂ…ÀFà% Áõÿ¸¸8RRR˜>}:“'OF–eŸÝÛf³ÑØØHmm-UUUtuu=¨Y%°yΜ9ûÛÜH û9`+0E+ˆˆ 55•´´4âããò…©ªJ]]•••˜L&l6›k“ÿ6 !¾q„ÍUeð¤Vn4Y¸p!©©©>ÕdoaµZ©¨¨ ¬¬Œ;wî¸v² †ñ‡w#ùI«ÿÞ¡ÕaNYxx8ÙÙÙÌ›7Ï#{(ܹs‡òòrΞ=Koï}.|“,Ë?ÌÏÏ?´„ !&¿žqÊt:YYYdff¢×ëƒ6 éêêâØ±c\¼xÑUÛ‘ðò† lAExQQQª¢(µÞG||<Ï<ó #&ôþꫯ())qu1?7 «7mÚÔ„.WUõî”eff²dÉ’aµÓC13¤ººZ+®ÓétËóòòª‡rmÈÎQUu0À`0°råJ222$‰‘½^OJJ NqŒªª«–,YòÙñãÇ[‡Eà ŸWUuâìsssææ&“‰ƒjƒ§Y–ŸÊÏÏ?PÂ…Ï{_I\\¹¹¹DFF2Úpýúu>üðC­ûØ®Óéæåå] áBˆ¿þˆ˜8q"k×®%""‚ÑŠ7n°k×.zzzœ¢Z½^Ÿùúë¯íÍu¼îÑÞxãé@‰“ìèèhrssG5Ù <ÿüó„„„8EÉ6›ípqqq˜ß/..³ÛퟱÎð|ݺuDEEñ0 11‘5kÖh·':;;wøÍ¤!¶ÿì hÖ­[Ç£>êÕC÷ôôP]S4$N2…¨¨(¯¢ßŠŠ >|DIZSPP°Ç§„;Ü¿ƒÎs–/_NFF†×ù‹­?ÿ9Wª«ƒ†ð˜˜Š„è˱{ŠPUÕ—NïÒétê‰.{¨Ù¨ªúŽ“ì´´4¯É¶X,|öûßÙß|ó ïüò—X­V¯ÎËÉÉaÒ¤IÎÃH»Ýþ+OØSžÄDEE±bÅ ¯În·ÓÔÔÄ'Ÿ~”¶¹²²’²òr,‹Çç„„„°jÕ*m$%„ø›!^TT4ø'çñŠ+ õZ»·ïتª+>úøcÚÚÚPÅãs&MšÄ‚ ´¢m›7oŽኢlq7ÉÉÉÌœ9Ók²ßy÷]:;;ƒÚ±Ûílß±«Í»¤àÂ… µ^Ú¤žžž—MxQQÑ|`©Ó+ñÖ”X,N>M•É4"ܾÖÖVvîÜ© n„Á``Ù²eZÑ… ŠpEQ úÎ'ž`„ ?ˆ¢(´¶¶²wß¾åkW|ù%çΟ÷ª;w.“'OvF/zM¸âÏ€åNíÎÌÌôN»­V¶mßî•M ìúÍo¸uû¶W}NVV–öðEw¶<¤ŸküƒóÇœ9sˆŽŽöJ»UEaÓk¯Ø¨ÒÛaÀY³fa4iooˆ¶X,k€ÿôˆð-[¶„www?ç<ž?¾×О={èîîÑ¡üÆ1 ž…ì’DFF%%%8Šœ<#Ül6¯v&§âãã5Dvûömw5 #ÞšÃÔÔTŽ=êŒÎB¤¸Vw=І;ÞΨr ž!44ÔÕmþဦcäýIçgâjƒgpák¥'^Ê“Nù”)S>‚£‹GæsËønnã¦Æøµ?0cÆ mÎ|–bò@„/uþ˜>}zÀ5dÉ_-穹óYœÎúüèé _µñBBBHLLÔv¦K"|ñp>1ê^pe F Ñù­¿ðØciûÃÅn BDsœ~èÔ©SNøg§?Çj¿[r¶¿üw¨6»ßÚ‚p í[(ËòlEQ$€ØØØa)Mk»ØÀæ+oNFí¶úµ¿€$IÎHõO„!„õÿi¸¢(}>Mllì°õôjOï€$ùª¿ì¸&2’ÜÙð>ÂFã˜7¸ð7Ë]¤9Ä«¨<þøã®u×£>ŸâJxmm­ÓSIvGxŸÃ:”:Y’Y°`_2…’,¡*9Jm¤–?UU'¸#¼¯•§I7©Þÿ}¿äR"""<­6d¼úê«Ú Æ+¸ðéŽðH_îÎUZµj’$õÍ8Œ¬¢¢‚S§Nˆ¼Š'„Gø‹p£ÑHss3ÍÍÍÄ9Ê ŒF#×›®Ór£ÅcYŒ£Nà wîê¥H¾°_î`±X0›ÍXí÷j»Ì݃– r˜žÔ¿Ì cÕR¿DÔîøsÕð.-9¾F¯b œÿýÅ<5÷îÀJó´™¼»u‡Ï•KƒNwÞG¸·•H#ðäø{ ¦ÉÑ1„…ú“ð® ÷‡†ÎU߈9]ýG¬w,!ÜÕ¤Ürþéã‘¡ê³?ÐÚrE†›ë}~}-’$}ãŽðË}ÉŸ¶6Ÿ?DâÔ©£ch¿ýÍ dbŒŽ¡C#R¾FUi¹pÕo/Ô…¿+$\’¤ËÎZ _^WWǸqã¸víš×2Ý8zä>Y°CËŸªª—H¸öG}…ÏÐÑÑAYYÙ e¥e'~DmµZµµ”Vàª;“r…»Ó¥öövl6Û râ’$±aãŸæ<4ùåáŠ=Æ×_ß7ϪV»×}„ !:…ïØív˜1cÆ ìãoü³Ù<¢;Öõë×*â¾zõ¾¾átÀqà;õõõƒ"îV¢>l…@ÚþJóeï—pI’Nªªú¢“p!))iЙ8_¡¶¶¶¿å™ÜõöÒÔÔ¤ýÚOôK¸£ÈÍÍÍtuuù¥6%--Íë‰L¾Æµk×|>HRSS£]wå²¢¹_Â…BˆcÀ2UU¹pá‚k)®OpèСQP]¸pA{¸×õwßôN`™óþ |4š³Ù¬]òCvyDxxxø'ÝÝÝ]@d[[--->_!b4š”K—.i_à„5þÊ+¯t !öëÊËËyöÙgÇLÊ®ð™3g\­žšt:ݻݾ«ªªX´h‘OK'F›I©ªªÒFç7€÷½"}šœœœ1“âF»Ož<©mBôxE¸[pÔ8WVV’••å3-M&Åd2i“UÀ¹kÛ/áBˆr!ÄçÀ»ÝNII k×®õè!–B ‹ÅÂÑ£Gµ¢_!n Šp~ œôuuuœ?žôôô~OeÙu²èˆ„'+Ò;vL['Sõfí=šB?q¸Œ¼ð Œ?ž‡MMM¼÷Þ{Ú,æ„{û}‰^û߀z¸;t´oß¾ ^¨ 0›ÍìÝ»WËCÉ@d{L¸Â,IÒ‹Žè‰úúzWŸó¡CII‰v¡K§ÓýÄ£~ÁÓ”––^ÎÎÎŽÁQÑ___ORR’W3”G ¾øâ‹ûN’¤õž. ìíªn/ep7W¼{÷nZZZ*²M&GŽÑж{ºÞ•ׄ !zu:Ý€6§KôÑGýZ(¾Bcc#‡ÒÚísQQQ?õÊóñö¦yyyuÀ÷oáîï>ø `%ÄÃ…7n°gÏm®»XñÒK/yl ªÄ¿´´´);;û ð·@ˆÙl¦ªªŠäädÂÃÃGÙÕÕÕìÞ½[[þ×<é:¸à7¤×/^¼ø*ÈV«•K—.‘””4ªVé4™Lìß¿_«Ù²,¯(((¸2¨èu(SZZZµxñâ‹Òõ6›ÊÊJbbbˆ‹‹ÑD«ªÊ‰'8räˆv0ùº,ËKóóó/öº>)/**úsEQJ€‰NYZZO?ýtPoCà·nÝbß¾}47ßg1ÎßB É-óû–999#j=q7[V !†\ÿçÓiÅÅÅa›Ñ¬sèÔöeË–u‡zóæM>LCCƒVl•$é§ÛðÑNV~Yc¡°°ðïTUÝŠc›¸›ôZ´hóæÍö‘-º»»9{öìÈÜVF‹7ß|3Áf³½äjïJzz:YYYÃêÍ´µµqêÔ)L&“ë0[ððBŸ×êù}‘ÂÂÂ頻º Í,g'ñ)))¤§§lÕ EQ¨©©áܹs\¹råA¥l'€ôç.„ÚüÎ IÒzUU_sý?66–ÔÔT’’’ü¶ù]MM •••îfv|¼!„(ÁÏ»tß—·ß~[ßÒÒ²VUÕ%8¶w,þ]q$PŒm``ŒmÑû°þ€ Ý„z6ð8c›Pü%ŒšmÖÇ0†Ñÿ ´”ƒ IEND®B`‚murano-9.0.0/doc/source/user/figures/import_bundle.png0000664000175000017500000011647113656750211023123 0ustar zuulzuul00000000000000‰PNG  IHDR¶ñÖZ·2sBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{@g¾>ðoB2™Ø&Z‚‹E±Ø"¶xY¡¨­‚÷ûm«¸E=Uv°§@{€séñTt½+ÞAEªÂ¶Š?AªHW*ŠR±¶AkÆB&·ßä¯í®Ø>ŸŠa&3ó&¼óÌ·ï¼#¸ýã-€VB4@{¢cyG+´h4´@ ´@D@D@D@DøÙD?km‹…,³Ñ`in677™ ¼E¯7ózCcƒ™»mÒéøºoiŒõj£VÃk4–!#½ÿü‰ˆaÐîÐm=Τo†›õ?¬ù 57YÌf2›,/ !‘Ål1 ,3Y¬A±e”…€Öÿ´fH“É$ êõ‹EÐýšC»nnß.§ÿüèñ"2ü#²Ål647‹‚ÛF£[/…Éd"2‘€$0[ÌÁÝÜ+ÈBmÙBd±XÚ/нX,$Xš›H(ØÛã›ñ«ÄkÔþ¾K0r…·“ûläÈ‘2™ìðáÃDô»ßýnÔ¨QÂÖ! Z­633óæÍ›vvv³gÏöðð ¢3gÎ=ztÚ´iW¯^---¯¿þúÛo¿m]ÅÌq7bšÿQJDlðùcUo ·ª¾ùñŸ$è2ÆiÅrùGný_š¥©Éb6õœ<ýÙ÷ÿÐ~ouößÞ¾ÉÄé„ŽŽ½×lèt,?L›`j¨ï–!8_µ'NS73þ´áK‰‡ÅïH.Gs<Ô'W&Ü "’ [¹:6DB<‘ˆL«ßО."³‰¬ƒ*ÌfPH={ ¥–ÈHÚS “ D"‰nÿøcAòǼÉ4T©t{¦§Ñb!‹ÅNbo3&_¼xqß¾}Ï<óL¯^½ªªªþïÿþoéÒ¥Öß–——kµÚçŸþŸÿüçÉ“'år¹¯¯/ݾ};##ƒçùþýû÷ÝwÛ¶m[¶lYÏž=Ÿ{î9":pà@sssß¾}¿ÿþû¢¢"WWW"jøÓrý• ûWüB;¾ª’ˆü†jªõ7Ïíz93}û—½WìÑGØó}yÙí½;ûgæ,h‰\Ÿý…Ë=$td^fÖ6 {ôh,ÚôOM õì;ï"w—ˆ\VexðR†ª2 Ý;"óeq“e«v,ï÷ vÁªÝó-Ø›>ü_Yþà¯~>3‶Ý+ŽžÃ¦FDMõ}¤­ò%ÑãSÜWïXòˆ À«‹¶­Ýž_R¥5‰{¿4n÷Øp'"'$]n÷‚¸÷ËÁ³–- Q>Ò!=öIMS–½vCvÑå"±ÌÓ?xVÄìáOîŠçÑ#²Å¢þæœÉh …vB¡H(šÅŒÝÒ(A/gB! …m¥bÃÅ 7ú‰,–Š7.ªoèôÍ&‡!K¼œmÍh±oß>"Šˆˆ°··ÿâ‹/JJJÎ;7räÈ–¯¾V;qâDŸï¾û.33óÀÖˆ|êÔ)½^?oÞ<K—.íÝ»7//oÒ¤I"‘ˆˆš››ÿûß?÷Üsß|óMNNN~~¾¡¦Z¥¢Gà›½þü±Åh´ D䜜ªùô¸¼#Ò “z¼lGí’–!Ú ììôo,[|'ï kDæ¿»Âåöèá¶÷@,¶ BÉÝá|õuî‹Câçž6b):°î'"qï—|Ýï÷'ËÕ”i‰x¢_i ⥘­g^S¶-&::Ñ}oò£ôbŒìÞM ûˆí£ÎžŸvcø²ØM¾ –S•äoLY9¿,~ öðóºöšs5ãYI Š:ò㓽»¶­ Ä©N¤­LŠa½w,T>Â[(ÃVïe9%.Ž/óŽˆÊHöW²¼º"cbüüŠe›R|ÉÓM"²u(…u·K7nð&“Áhtäû‚L&°ùL‹Å:Yh2¸Ø3žÒgì…B»‚¿[¾,uØzyy9 8P"‘ѨQ£JJJJKKÛ"2Ã0>>>‹åÅ_tvvnhhP©TJ¥²¤¤D*•ZW 0@,_ºt©ímårùsÏ=g±X pøðá;wî‘Y§#"2™ˆH µì‰Ph±&{¡P lIðmÁ×Z 6Ö·\«jÓRˆÈ):κ€@Ò!ñsûvZŒFéŒ9BGŒ‹ê>åÔ¨e²ok<ee¹5\§_˽C‡hããU6þn?‹IÉW3r…w` Ç“Ìú!Wd§¤l+Ó1rß°¨¨©Þ,©wÏŸ_<[YRTQSÃyÎŽ ã³·ÔÜPóÞ W%„*ˆHSôyâÚü*ž!žñ]µÐ_NDd¨ÉM\œ]¢ÒòŠÀeñQ!J†xU^ZÊÆ¢bˆXß©QQaÞT–2?N±)9HN|Ågó£k¦f{ikÙÆ)¿úÙÌíÔ0¦¨ ê†ZÃø/KŠ RðW·¥° 6&„YÃ8£ð]-Žœ¹vmI`‚o…­“‹íqÇ]UVÒålÏôöõï÷éìqf´°´ÌYaVkoÚÛÙ1vvMªkææf¡Cû]THÙžaÍ‹…HìèØu[·nQ¯^½¬·ô±,+‘H¬/Z¹¹¹QË`hzá…~üñG­VKDŽŽŽß|óÅb1›Í à †ææfëZÖáÖaЉÄh4‘ä¥ÂŽ?*¸µvõ³Ké¾#¤ õº¬=|ù·m¯˜ïpüw•B‰o×åM7¸c_8¾ÌA÷ÕÝzSFÞ›eˆ•÷voIºíC#Ãh»®Â•¤¥È–íÈ’óW³WDÈÝújônaÆÞP%£)J\â¾#a81d¸\ÂÆ¦¦+¸’¸™1qÙ+7¥gȹ¢è™i»+‚—{krã ” ›Rýå¤97?1Å{G²;‘¡*W‘±7–Õ%ÎOL9áŸÂm‹O«–º#Ý›åU¹+Ç­õÞ呸8.­È7¶÷Þ›ûâšW—ìÞSåè¡ ÒäÅEç²Qƒ¼:/zqÌçž;–{VmHÌæ§f Sò»W®¸Áû·ï™ùе1Ÿ«§fì S2üÕ ‹—ÆlóÞ1›!þÆé ߌô%rRgÏŸµ6ª˜¶ âŽg„Ç=U†ºoÌ.S“7Ãár>E­NW2\Iâ̸e¡ þêÝñ‰§_JØ”ê/ç¯î^º4&ÛsÓÔe ®";1¾àNÇÿü+ðï'Œ˜r"zÏeë@:Ï Ë‚ïѨ²“ÖV®>¸Ð›Ñ¥,Î7ô&"RÙêj ñ7JÔÃ7¥.aÕÙóg%¥8®ÎH_ΨvÏ\¼¡hê=úgO"^[RÒoõ¦åJºº{iDâ†á;–»—¤Äí¦eƒÄ•¤ÌKì·)=44vá‰ÅIÛ‚3ÂjÒÖÞNNîíºIÿÆ]Íß]tÇs¶'K|Åç1iU©;z³\Ùg‹£ã§&"ÆÑ×ÚX$÷twäj´§[°`Ê”) Lñü6zÊ»oÏÿ¬¤sá4E5½ƒ½­ö„aÖ"É=»ÆÑ7Ä›%"¹{o±ìå OÆú3iµÝ£&"±ïÔ@%CÄô u×~[¡á«òKÈêpë;!­Ê«àˆ¡Q²ü¤¸¸µ7‚ãv‰kO°Ó~ñnë‰bÂÒlšš”¦ ^•wZã9ÅZ¥e}§†*ªrË4|UAãêË‘"hVpïNÐ=Oybï°–&qwg¹Zâï¨yrìÍv)]Éż†#›'—{ŸˆÛUc¦®Z5Á½ý+²À˜Õ“³ŠÜVKÖêy‘ˆˆf³E@6˰“ÉúC“Ñ(LfzÔiß„¶žÄaMÆmñ·_¿~cÆŒ1µnËb±Ø?hâ6Ç·B$|þëú e Ѻ|–!覛ϗjW§Šz+\þú¹È¥·zѾêêwXÀ0ÂgžåŽæJ'L÷í‡^¬[U‘=§.sgåLD¼w×ÉÊ©ÀFFÖrŒ¼uð-˲b""^£1ܹ=y¼õuž¿CÞœµK;¶þé1ÄX1­c8í£hÉë(cîTq<‰ïö ŽŽŒAÍsœŠ#G{·› ^{‡ˆˆñ›*Ÿ•¦^mc/_‘²4¦àõž²ÑÖбֱÈ|Åg3WTMµÞ‚Áiï´–NÎo;Æ_Ëój^ìØº«Œ\Á2N9w´ö +s$NÍñžíön‡Ô›5T©9êxwwãÉÝ[‹w\‰çÔÕlX<~[Ë¿ïäžZž:þ/FF›A‰‹W¾CD/-X›:µ®L~+®îN9Pe ¢ª‚=U:ïš/R6„ì蘃ø;wˆiíBFÁŠ«îÝÕãØV`FÜÚ«[;¨{õÏÄÊd­g GGâÔ'Óï֬˰ ÖpîGÄ’"h¶ïÚ•Še±6û­'Ö¿µEVçFÎߦ kÉ¥w´œárÊÌñi­-EÊO±ž­'=ÖíXK¹Ç)ÏñîÙ±­M™‚¥s74DR2¯ÑXOÖzPç“˽NÄO¬ï’Õ«héÊ5Ö|œô°÷À<Ö¤om3»=ÄòÒçÝ{>ïþcÊh¶ÚÖ±“ Eûš1µ½hÓ–€‰H¯×[W±VF£\þÈ÷ýˆÜžëþ·ºÓ ßo¸~éçÕvÖÿÞÞ“IDNÿù‘È¥7YL-û&‰Èb15ܰmÔÎ{N™I"Ñ›×ßÞéýuÛ© “UäŠ )E!Ë<·­\ÛùZ“äÃâ½môS,Ë«¹–[ø8Ö@½‰¹ÜQœ¼#ªã¥¨ú›geŽb®íÍ莖w´ö†;Z®¥g¸s‡ËY–U²ômÛ‹¼FC-½¬æÄÚm|à»îE)Û&d,ìÔe2Žž *¨»ß÷®Db¼.󟙘’7,5DN¬ÌQÜ{JF§L­*c w8¾­'âø›r”±|MÛ‘pÚ;Ä*mßÅÇ(‚|¿8P  kWQäÖȆ Qil­Ã*X±ç‚M!ø³¶žER ¼—%„!ü†¨¿=}ãÞ¥ÐsEjòVvèâ[ÿ§Fc¸wW×ݿ߹GÿÌS[T&âîÜ!VÁ²r¹øî‹<§âÄ2KDüÕmiežï»±mí‰a 6SÛîßÁQaÙ R¶MØ´¤C޽Yñ¨ÉþíO.\ K¼öNë ²†3<Ü)Ïù!²¹¹WÃÚO¢)Ê®rô]èÎP•­ö±}"¶qêõ]²z“¸ ]þ(÷ˆ?ú@ ÀÍÿ5]ûäg±Xlž â›õ·k @(0B;{;¡½H(äõ6.\d2"R©TÖ qcc£ÅbéÝûnÙ¾ººšZëÇׯ_'¢^½zYײþó1{ô`”/XÌ&K»üM­?ó—+ˆHølË UÃõk-k9²v½œÍÍÍÍ_Ÿ¶ÑBŒX:>œˆšŠþŸéÇ[èǺ‡– Uï% ½•!±›ºX½¬åϬc¥Ò}˜'Uä–¨‰ˆ¿š}ÀúwÊx†úòE»‹ÔDD¼êDJÜçe܃w‚õ õä XUŸØ]F¾Áž QMnîUžˆ¸’ÜÞ;ÐQ vWgçVðDÄ«ò³«ØaAJ†4'RÒª£¢–Ç.”å&m¸Ú9ç+§f|qàÀÁäEKvxÄBÏŠµiEëê­ÉßS¢!"â¯æ&Æí¾Ê“ÂßÛQ•_¢&"îjî=£ ÆVìÎWñDÄUdg«Ýƒ_VÜë¨D Q¯]™˜k©˲ãVnä£fß³ÓW VªödWpDD\Ùî¸Ä\Õ}Rrz2ò1Ào¬à¡­ÒÜçךmÇîQî=¤÷kŸª)Ú]rçQ»šŽ”­þ™ˆî”eiˆˆ·V^–3žÁþTÒr²Ð”8Íy{³Ä_Ý”Û{Aìò¨¨aUi)'4ݱc”S—ó’²U<1Ê aò²mÖ>Ÿ4EŸÇ}vBC¬»¿R[’WÅ‘¦hOÁ‡=åÙØX¿ÙËù+ãv—¨8"âÕy)+WÕøF,¸×Ô¤r"f}&§.Ä9”g Åúz²XÚjÉd- [Ìf}3Y, ‘€Ì·Ôÿ jª¼tóì;“ÙHm“þüMÍÍf=o2,ҫ˨///@pýúu­V+—Ëóòòˆhذaíƒø—_~ùÖ[o•””hµÚž={:99‘¿¿IIɆ æÌ™CD&“‰a›Ã3î2›ùkWÅJ3Çñªë±X(‘‘@ $‹E_þ­Ãˆß {8Jjúº¨ùL‘øyw.ÿHû7xvÉò›qÿÙø—ÿ÷õ=¯$³IØ£õÿ¤XHèȲï¼ËûâÇ kå+cЗuŠá/óѳÞM»ïBb÷w“Ã䲨 ø´YcÒd ïàÐ!Ž»‰ˆXÿ¨äÙ))Kǧñ-³@x³DLÉò„„ªÄ´™ã9"Fî;59ÊŸ%ñâ—BÙíKgV¨5¼|ø²¤ár"yXR”:1nòxë–$-ñf4y)i5É Þ QhÔì¼ùñ‚6-étÍ<ÜT;ŠàeaÙikË|£|CbjRÒæçˆˆqŒˆU2ÄøFDǤ̳Q®ð .ÛÐá|Ãx/IZ’²jåäm<땦$ÒÞc[! ì¶µÛ秵΋ÿræ!µX,F£Éb6}µü‡âB!Ñ›î®DÞl‘ˆìLògÍ"‘©é'2™Èl6óz2™Ì¼Þb1ÿÈ[*oÝéÝÛYúc£#f„·‰³ä "]îu»zõêŽ;ˆH.—k4ww÷Ù³g‹ÅbëÓõ¤R©N§ëÙ³çíÛ·ADD„‹‹ ýôÓO7nlll”H$={ölhh7nÜ«¯¾ZWW·nݺAƒ…‡‡QSSSjjªÑhŒçŽæjR“ÅÊ>¦› æŸîôœ2ãÙ…$4-nˆYIDB{{§?,R¸Ö-œEDâ>/®/~ÞÝðÏå—E-רý ÷Å!"²ëùŒÅlR¬ÝÄ_®¸™÷ÌœÏÌšo渎!"×õ[1"žözMYâä8&yo”7jµÐ=hŠ>‹KË¿¬í2àQ,ó Šˆ ½»ÿ^êÜÅós'ìÈùµÌwÿ°Ud³Ù\__ûöퟸ;ºÛ?‘Ùbù?Ü IHä x‰…ÆÛ·¬c/Z¦­0›Éb!‹¹'Qÿg]ÎÏn#¶1|sû"t›~ýúýá8vì˜Édzå•WÚfDn©D)ááá§N’Ëå¡¡¡½zõ²¾Þ£G?üᥥ¥—/_&¢z{{˲#GŽ|þùç[U$ ²Žuî1*ÈTƒ¿tAôÜóÒðÉöƒý¬Ë8 èŸtçðA‹É$ìá(îÓ×uÃö[2Èh”/‹2ë›õÿ(½{uô´ú:—{xƒØ«¿ð™èÏžÓfÛ¿2„ˆ„,Û+!ÙPõ¡®žÊÞ.rþnïÔŒ%Þ¬¦$·„÷^æŽ| ݆|øòôáËÑO¶|’23N³ #9DÁ_-ÈUÉ_öü= âªÈ:îú÷×¼¥Uýíó¦Ë‰è-çöB Èb6ó}ûó:Ðd$^O&x;GV(fììĉ ‰³h5¾Ùz+œ}ð{ìâ•ѺÅb±Þg­"{zzΚ5ëçsÛÛÀýú¾«¹‰IJ¬óć.KX‚Gá@{š’ÏÛ=x*&ö×t_È#ŒE–J¥®n®·oÿ(¶‹…²þl íëjì…2™Él"“Y@ҵܩfi­+ß ¦—PÿEAùàa0ýB6…¢àäþKR÷.ùuÛ£ÍhÑ«W/O//ÞõyK»ÇѵeõÍÔÔD¼žŒF²˜[,D‚V–¶Á¦B€_CD&"…‹Ë«³çÕ¿ì'4›­I×Z”tA­¯šÍf룡­yÚb±0C¶žKw/ÖlmxÐü~¾G‹ÜÞ¹o¿-Xý×)ê {ë@ k!¹+pp°ëù,I$DH`gGb±›»ÈÛ×®·«øEo´8ü:#2Õ©Õ¢šï¥ú;é³BV*° z8 Ä 98†B ¥€ßVDøU¢ ‘‘‘‘~.ѵk×Ð w#²B¡¸û\h""`>cøkûÊYKn6›Íf³Éd2 ·nÝzýõ×ÑDð$#²D"AD†'‘M&“ÉdºKD‹Åˆ&ð³²Åb±³³3™Lí£3À“ŒÈ"‘¨ÓKHÌðoHÆí6›ÍDÔ”žpD¶³³C+Àd6›-‹°ž|D(Ób ÇÖB²P(ÄWº„x’Ú¾~Öûö0ºEDF " " "ÖëõhIxööö“’1Оnƒ‰çù‡Y žn_¿xr@D@D@D@D@D@D@D@D@D@Dø÷зjüï~7&þúÇZûâªñcbþ¡§êÌ™o->¥{¤Ñp@ IDAT•ëN:ÓØþM~yÕ¾ÿýôXý½Ð}µøw¿ûÝÌ}uvìÐüßýîwz8ÿM•›?/½ÏŽh ?nç¿?ßWZÿh"¯/øßÿú¼¬  `›M¿9ºó™…ì;ïPaæYÝ+#¥ý>×î'}¤õë 7g~·âל$#·ïᥒABnøö½0Kö€ÅXõ¡CÕ“{´íØ!5Û=>C]iÃËЮφüñO2"¢¦ÚÒýÛ¿ÙÁõÃP71¾ÝðD"²áò†˜WÚ½`ï<0(|Êžû?Jþ¬°©ÿ‚¾ôH§³Û—Ojû¾ðN‚ðó4žÍ<«˜´q£^YØ8r´QãÑùS2Oìwõ¬J£Qóýæ%ÆMzQZ9yÁ©7&ÊÏŸUi4fpdbôh¶7ªÞ±àÔ¢#¥Ôx&#!5ç’†#ùÐyÑq3^‘’îâ¾ääÍgÕ<Ûï‰+G2§b"Ò¯j(j–z^Ê¢êeQš¸I¯HôÕGS“תˆ!bÏˆŽž4ùnÕ”(ÍŒIÌ©¯®ªÕf芔ø7]I÷Œ„äœK1Š‹âVŒöèš±µ••FåDçûÿ0ÊC¹ãû¾›·òE Qõ¡CšC•çÕÖ_ë«&'¬+TqDŒrDd\ôh‰þLÌ„Tù¼š¯Î«Ôjü¸”•¯9Ù8L'"}ÝÑä¨ôB #W 4ZµîÐÈí;f´ßF1t^tô{/Jl%ä2•À7eýy:¸ù…Œúò¯ßTrä&3ÔŸÙ¿ûËK ÍD"ـЙý\ÄD†Ú3û÷»ÔÐL"×—C§Ž÷si·½ú¿­-’M\2m HU°kÿÉïµF"{×WÇÏš0PJd¨/Ý¿#÷’NÄÊúU›W4 òO.¤«<¶ïÀ™šf"‘Ôë­©_s“AU¸}ÿW5:"#I½Þœ:u2;ÀÓê1Z8ûðURÃÅ£[Jn?ìšb—€ÉsfÌxûQOšs99'¾®Åÿ…Ÿ«®0S5`Æ®®#f Vï;Þ:Ú€axÕqî½ÄM›vìI{OžSMDÄð— ¥óÒ6íØ»=qðùÔäã¶B÷Ñ„ØãÊè=_~ùÿ¶Ïã7ǦþC§ÿnsBºjôÚ/¾üòËíóèXrú?ôÒ‘qq#Xù;)ÛWORÜ Ú›cS/ NÜsäàÁi“4ëbÓ/ê‰Òœ=%_´zÓŽ½ÛWÈ Ó3¿ÓSuNê~nÞö#GŽ9öªPecœ†öûo›”~®úûb¾÷f^Òé¿;tœñÞ@¦µ‰Ž%$ŸxàË/¿Ü­8›šZ¨#"†xuáÅWVdlÚqpã<>'ýXÙ:L¢Æã ©çÄ8rpoâk3/ñÄQãÑØ¨fÑÆ#GŽX;I³.*ý¢ý74|[I/¼,{´µ¹åz_{f÷ÁkîÓb>ùä“?Nt®<¸ÿ’ŽÈ ÊÝœ«}-â£O’cf¹_Û¿£HÛ¶¢®l÷ßNÚ‡¾?m ÔPûÕ®¼[¯þþ£O>ùä÷è›ý¯ˆtßì?xÍuZL\ìŸf ¨9Yc“˜HWº}ûñ;Kcââb– ×ån>¨2îÛƒy·^ˆ‰‹‹ûh離Ê3ߣ¿xj=Þ@ ‘[ÀÛc<ÅDdèoühãÅk_«šKs’ל#ßqýksÎÑèè?¾áPu|OΉ‹µÍD"Yß!cÂÇ vê‹÷nµV‘{Š©©êøž¬Wš"ÙÀ13¦Œôp jª>¾gω‹ ÍDRåqSÂê2?ʸh$¢½ŸD}=çãH|rÝ‚¡É vßï…î§úÐ>nhôP) ž7‚‹Ý÷ݸ¥-ÅLùï ‘D9t¨|Ý©«3ú‘ò½7^”‘tÀ›ƒ™c_]Õ¿Ñy@‚îü¡Kò7V¼"%"×Ñ)FT*¡¥Û¿ÐI¤"r:R‘þ•š#²1”¡îl¡J1é½R"’x¼1©_zúW*~43`ÒW""V©d9µ†¨Ÿ\Nª£û¾R¾7t Ç{ñI¶Ow­Të<ÊýÁŸ£|ï=6bßyÝ+¯1W÷gÞHéÇ\jùë{k¿xC"•‘Óà7•´N­!R1ìà÷†:Éû)Y®Z£— ´q˜ú«_]e†F–‘ë›óÞYw¼°¥•ØwÖŽp%"‰ë3§'UEì\Hæ*+ÊñÎð%jª/Í;sËy”—ŒˆFD|äGD$U¾,3«k¢ºÒKÍîã_v‰û†.ýÈ(r -Qså¿ÔŠø½ŸŒˆÄn¡~ÔdýþÊ^À6«m&CÝÅ:QßЈH6`”ï³ßV‘îÚ™:û—lj‰Höjà Çö•ÖÞ‘ÊDÚo‹¾UÐ×ÅwÚ|_ô¿µˆÜŽƒƒˆÈHF"‘ˆˆteùõCF‡õïï )ÞqTeß7hF²é\Nö×™FYô·vë¶,2pòAç2·ælÈr‹™é|eKÆÑkÔwôŒ‘Òª#{¿ÎÜ`¿|ù˜9#j7je#æÌðD>î.ù‡#é[µÁ‹ç–ê‹·f|í¶øƒ1.Ý7$ë/fS©5ok}…ÝwiQÌ+"bXWÖš×$¬+Kg9žˆˆaå­Á–e^Íó]Þ”Óp<ãÚZ‚µFKÒW_—¾ï¼š'"^£â÷Ø!®š£»›`ärâ51Ä0­oÙò_§Ñ‰kióæ} ³Ôì€q‹¢#» ´hR•68û)æo„ñxc’"3ólãù¾³ò÷Ö*™³m;Uwvsúæ³*žˆxNÅ3#[×iÛ¥¶Em&ÏqÄökiKb=X¦°¥•4û#&³¾ÏsÌPM—½ÒV~ÛäúŽëƒ¿A·òþgýÑþÙýæý>Ð…ˆ Úʯ|UÙÐd 157½q\³ÈÁ¡¥¯;´^Ãkrw×íÈZ_0Ô~{,·¨RÛDDÔ|‹dDdlj6Ú»´®+uuU‘Q×läήMúÖú £±Y$n&¯©¿úªh_úþ["×—ß?~„½Ào+"7ë´ˆšêÏ9ßLää„®#fô[·ïx!{^1)ÒõnØ®;{¼_ÊÆ¯95?aó=ߢz³­ÃdYâ5­íÁU[¯5X9Ë(¦oÜ»Øã~ªTë<Üý!þÈïÞ®×>`³}G™ë¼¥ó½¤DºÒÕI_ZwÇÞX§3‰‰È «×e.DDϾ1ÏýäÚý»JÝÞ÷“jó¶ï¯±ô}¥Qý±ÿýk%‘ƒHÔÜdliÞ¦ëöR{ѳ£"ÿôŽK§pñ}gšï;dÐVæmÞ¾ýXß?NÀhd€§ÓãE6^ÉLINNNþlãÑkFû¾ãfŒ”·Fn¹³”ˆÈ kБÔú/9Èˆšµ­§kÎnh""íÑ”¨¨¨¨O2UDÆzm£u=7©˜ˆÄ==}ûxÊq’é®äþs¿MGÖüõ¯é'ìÃ>˜éÓ³[ïncaæYùèíSâhÅùÌBëcMá¡K:"Ò_=Z¨QŽìgýòªúNODºó‡ÎóýF*»Þa&ü^?îxæÙF"ªû*yADú¥FNÃ1òR"}ݩ̣jâ[ŠÒÄs\ûB´ëÐÑJõ¾CõD¤¯>¶ï*;âM%c3>þ#iþÒÌïôD$qí÷¢¼ë†ºR•ÃË^=Ž×i褪ué—úM²ŸhÁ×qľ¨t"¢Æì;¤"¾‘·=;oó0¥Ê×”š³G¯êˆ¨ñTæquk+ ÐË<ÓHD¤ÿîP|ŒõXÚkRipöëû¸—Á†&m9¸:K‰HWy²¨ŒMFƒØÙÏ˾îä™ZQ“*ïoé;Ê´DD"©»³‹ïÄin/¬7P³®Y$s—9´e'/Ý"c“‘œÈš+KkšˆH{髲[DDäÐ÷5W®ôd¥ŽˆÈP[¸k{Ê`¨Íý|õJ‰e®îÏbº €§ÙcöânA“ƒÜÄ$²—º¸)]zЉ¨eVR‘5Ί¥ÎDͺ½$'2êêuDö2iûíÙ;;ie#/ h©z‰DRQÕ×DÚ¦†fõ4åç.jú,ÅGÕS²øÈ×¢cºy>&ª;žyI1zE‡*¦ëˆÑÊu™Çë†Ê‰Q eEÍLV©5ìàÈĉDÕDL¿´9bæ%µš—X‘ø†‘ºKÔ÷]Bê”·byR ž˜˜øš£X44*yʘt¹¢ß{‹VL¿•¾,^¹qÅ›CÙØ¨ “Ç­Ši]ÙcbJt]Bì„1<£™9PBßÙØ}é€y“ Qïnæ†ÅàEqï¸vLˆ ¥*‘רG¸ÓM:tÆP&–ï˜ÉcÒ¢w Sgɔ˕#EFŽJŠ}1mF×õ™~3lftt䙨eưråˆïõ;~ÔÚJq‰ÕÉ©³ÆpDÄ(߈Œë|¹ñhEð®ÄnÃßyùÒÁON²Rg¯ÐÚí_üm»réüñóBvïþÛÇyÍF{ç—ÇÏîBÚÖq×^ãg½öéßv|Õwñ›ï¼°yÿ_rY©«oèøQu›¿ø|—ìÉSC*·oNJ°g½_s½ô ‘ÔoÖ¬º]>Mh&"‘ó€Ði®b±xÔ(÷í>ý/Žˆˆ}áµiï „ ðÔ477 ‚‡/Ó\Þ³ñŠÈwñÇ3=;öþ†²’?ûºiàâçzЉHs*=9G%ê4%H©;—“S¦•XõžKýÝIßtÅéÉÙ*©oØä‘2í©£'jeA ç¬ZûÉÞk¢¾£gÉ«ŽfÖJ_ÿ :ÜåbúG™*ûþ㦼=°¿ÊÊ¿‹Ål6›L&“ÉÄó¼^¯¯©© xøwøé§Ÿ~‘=iüjñ”Íonï4p¡:sfë´nð¸&‡æÏ:4iϦÑNOÿ±h ?ýô›á\ú¾O³=z>ø…"rSÕ©‹Í$6n Ôúï#{ ¯V5½äc/u Òêêuê)6èjuhÞßJJùZ4bL·ÈÇŒOhx—ô«×5Ö]¿PZ^Ç5¯™7W·ygä >>ø"rSUá#Éø¸X_qÓž(̹rêÊmŸÁ¾ÎTÛðuÎ)Ï iÕßÏ[#2F¦þRòà1cºË¾¸¿¿bº›íßé.ìŒ_ùéÉF"ªÞ³>xd„dèêo×kª:uÅHÒþ¾²»ñ¨ÿѵSWn“ËÈãúˌ׎nÍ<¡䆄 ÝŠtÐô¤uxXÿQ—µ«7Ì€-‚ææf@€†€'Âb±˜Íf“Éd2™xž×ëõ555ú>wo×óø0'ë^Ud""º™7÷Ør""×öžÛ§ãouW ²²² Š/TÖq¼õ%ÖÕk_pøÜðÀ>÷¾¬»’·ekvA镺FŽ'"ÖÕÇ/`ìô¹¡~n Õº¼¹A±åDä¶9'¦óHÝéø‰Ks‰ˆ¼ædnîPä¾y!oWVnqé…ë­{ư®^ƒ‚§Í æv¯j¸¾öô®õ[_¨n䉈qõ žöþÜþRý•Ôq3v51£ÖHõ“tY±4wWVþéÒ–5¦t× ²¶då·ÛEb]½ú †{$àé"BÀo‹´—•7‘®²QO}$íjꢕ»*ùN+´Þæ·ÅïÃu«§Ûšq³ iéÊìÊN+•ŸÌ.?™½~Tܺ¤±}f<‡þÊ–E-ùØ5lõºöù¸6/>26·ºÓ ¶]¢ »eúÄ5ÕD\þšü†…»µ‹¯ëc¬ù˜·3ulÛoBƆOËZ:1¹”'.?yý´€˜ûMŸ¡+MZ{’#"Æ/zKRH¯¿[¿ËšÙàÕûÛôa!cƒ“&ÎËn$ªÛµ¦øýuw©;ºÆz@äóáþuÓ[£é ¿ÀÐðK§š»µ%>w,"×fÅ´äc¯9›×EÞdРa!áÓw.þi)OÕ[ã×ÍŠìÓò»›[NòDDlèºýñ~w÷ÂoXÈØésGNL(æ©zWzùû]‡ttCB4ü–è¯çniIŽ®Ãîf]ž“úøùxyxx…¾ܹâ+éþ¾ŸõÇÊüÊv“êŠ×dYó¶ßŠè±GHÜ£߷Þؘ¿«\Ÿ]ÚiÍÙ^sÖ­ ïTgÕóN~>^>sçøu,4wNËí‡WòÛß}¨+ÝUl-»Î‰îô–’>Ó£ý›ûraËVk%ÝëÃU‘]&Ï“ô™÷Ugmi{< ¾ñ‚5n3ƒ‚}ºŽSv7gÚœ¢£Ã]ñ €§ªÈð[ÊLJ­iÒë37¼O»¬é™ºîÞk2}¼œ¨´‘ˆnÖꈤ­òp©5‡ú„ØIÑ'4&Ñ©–¤N½\=îU;½Y0÷Óržˆ\CW¯ëšJ©W`Ljà½÷Ì©†ªy"®VÇIZ´àBKB ¶1¶¡WðÁ©ór¹® tÒù}¦Û7ì<ÍëÓ„J"®øðuý –Ó-[ௗ^×ë:\Û-$rE¾€ˆ ð„ÔÜ’ÞØ%gòººë•¥Åå­w 1qIáºwL¯×ñ-Ãuõ¼Ím•¶ÜÛç4Èö$½üBÆúÝg º ©‹VæsDÄŽJ\?ì!ø×nÇH¯—0D<Qû"ríõ–øÛ'Àæl¯±~LîÉN‡¥+oi!'/¯{í‹ÔËω*‰++uÔ_BD’>ì®\ލnë¼E|ôŠ9Áƒza< "t|iöÖÒû/â—ÚyXDKÞ¼^µóp~iyeëLg÷Mª×[G5÷qzôDÈ_ÏZ¹È:ÌØãƒÍö »’—µ+7¿ôBe÷ïÍյ“Í$qæJ'«;Е–Õ³g Ï~ÐF¯7õ""’ø­H -]š[GÄ—ïJ˜·+uõñ  ðë´ ˆÈÝ•u^ßÐiá!ýmUHu¥é‘‘]g-»_ÆÕµÎþ˰œ‹Se·N0W]PZ7·Ÿ{,z³ iÑÊìêGxs½¾5á3RÉ=vMêÔµ8îQ¦¢käõ­c,¤Ãâwn”œœšo=¦ÖIïÖ±ÁÓç¾‘àÉxà£Cl«ÍŠ\´µå>>Qsæ†ûy¹9õ’¶æËëéc'n­»O(m ü°ê*Û•ƒË?]‘î·ÓÖó°õWÒÛò1ãüþœðÀA^®nm;¦¿2/Ÿûe¯­àìîö€Üϸzµ_B:(ÝÖ i"p׈(e[†ëùÇØ*ã5'}UàéÈy[«‰ª·®L ÜÓùv=]ñš–)߬“Ñu˜¶¶,‘´NùÌëôm•ÞNïlcŸ' GDÄzùùõœÒþÃÂû $Ò×^(.Î?œuød%GDu¹±‘N}l^t;˜ô €ê J­%O6tE¸­‡[ÜvÜ>ˆ:õq²þÔXÙ¨Ômú|¸ss¤ŸÛ ÷S?´N£V—½2õ´®Óv¯ç·ÎL1m…ÍáÓº›µ6JÈlëíƒºÆÆ{\4–Öv= ¯Öª®ãn£J܆¯HÝ™·?nKDDÕ»Ö—ëñmDd€§^W×Mݹڬ¸–ç–ÚˆŒ®~^Öb-wá‚Í$zótzLLLLLLjÁÍN¿ròjÙ”¤ÏôU-³7æÆÄçuXoläZ÷ÌÉæJ³Ëm¼,usµîýºÍ=ÓW.í­¥^~-[é8ËòÏ‹Ê}Æ®h™ š¿~¥_7@Dx*´Ýn§×Ù(Éê¯d%µöåù»YY2hlË8ªwíº¢·‘_·nÍÏÏÏÏ/¨eî7¼À-<1.€!"âN&ÄnWÝe–iÝ3‘UWºþÓ¶é;xþîÀ>ÖŸªs‹km$ë‚õ¹¶Òlè(kFæ ÖwIõ-«Ž;vîŠÔ¬Ó7ÛsgÒŠEÓÃí¼~¯ö•`t "<]$N~-}«>\Ð)æé¯ŽYº¦ÚÕ‡mI¥íÇTHÞµFʺ]1kJ;Ž’¨ÍKN¶æW6xºßýoæë’”Ìñ¥ +w^×·eÖÖ=+Ï-îYuv®ŒÌÖyxµîÙõvñ¾—_¸õ§Êô5®þzVBB±Í’þsß·®Ç—&ÄîìûuW¶¬L.®«+?¹ëpÛP ‰¾4÷dieué§ñ;m\(þÊ®ÖGö9ùÙ®…t7vþóŸžK+“Éd2™nß¾íîîþ¨obª9ºéè?‰ˆž ˜6eÐ#N.A=žu¸°÷ø?MD?žýê‚Þ¥÷³"ž«©:óÕúÿþÏÿÞWaò‹þ|‰(?·Š'âkêzx{=kâíž•JHÔ{ð€ÚÜÜÊ&¢Ës³ ®ëô?ݪ­,+Ìì|ÒÓ IDATZû_µÌ ÇŽŠ[5·ë–øªƒ[×QïñÓFö¾{»¬¤ÏÐA7ss+šˆ‹Ï˜F­—ˆˆ¤N¢‚]…DTwò«+Œ››55Ö\*>º6á?>Íý§Ã¨×NoØ›_GD\Õ §A}zð¼Ã³RIÝÝ[vŒ¯Ê?Xz“‘ö ½®¾²xïgŠÝQaòšókÙÙ®{"0Ô©4«°ÎD¦ºâìC¥7í;¾éV]UEéÁ-Éÿõ?¹ÿ4y}ðùG>k]IâÞß¡`oq#Q}qöÞÓ×ú‰×qõu×+/œ-Ø‘û?G­sø-ÿßüÙ< ‚¿ÿýïhèVÞzë­G]E:røÒb¢Çžônæ­˜{ÒÆ0 ÆgκôÈALiLÈ¢v“«ù$žØb{µñ‘+smÏ[ì4*z]R»;uysƒbˉÈ)lsNÌ ŽãôR'ÎÛUGDä¶ngŒŸ”ˆô×w.þ©­¡ÐlÀ‡ëVMï¯Ë‹{·(ÌŒZw"ÕOBDú [-Zck¦g°Õë"ùØ •¥6÷D%+fiòÉ{ fý>H_5·cÖÕ•¦FFîºÏ¬Ò¬ßœÔU‘~Èðt9UdxR,‹Ùl¶Öyž×ëõ555OdOz…¤vËJ_Ÿu²´Ò:ëê3,8|ÎܱÖ'øE§ _²š'bœ|üÜÚ&v ŒÏ:~xë–¬Ó¥•ÕÖlj0N^~£B§Í æöðÃp%ƒ>Hÿ tâšJ¢ºìɇ“†IIÒgúºœþ;׬Ï*¸`}sÆÉcPÀØisÃûH‰H·ª26yWiOĺúµÞqG’As·ä Ú¹~KÖÉRëÓ'¿Qásß÷ë%Ñ´‰èüü=IÿðÔœQ¥ù[³²N—¶=ha]½üÆ†Ï µqLR¿[ò ï<œ_Z~½ºõ&Cbœ<ù Ÿú( 𤠚››‘¡[E䀀´Ì¿ÜÍÃÓßI¨$"×9ûGöAƒ´ƒÛõ~‹ôu­ó";õaÑáéz¿Ê|%kÍÖӕׯëüâ7¯Ôyƒ¾òp±u0„«ß ^h.€ŽPEø5’Hj òO–VVWîJ^ßy*6Ý…õñÙÖ»ñ<ÂÇöAkt‚*2À¯RŸ¹ÑÁYKó9¢Ê­3Æ•‡Í ÖÇMJºÚÊ‚¬-¹åÖ²SXL82@¸]ž$Ü®÷¯¤¿žµrQrñ½&os Ž[7Mt…*2À¯•¤OxzNÀé¬-Y¹Å¥•u-±1Nƒü†…†Ïë‡Aȶ¡Š OªÈÐ áv=DdDdDdDd€{D6\Þ½£ÊÐéõ}½á²á‘wáöåSGŠ05•§GEEý唦ÓëÝ6"ÿò4çrrN|]ÛDDä 7gÆœðÒN¯üÛü¬G‡4UÏÌüû­ÑÞmH€s»_Ü.?”™sîš¶™ìÝ|Ç͘âï"6\ÞðÑÆ+² >µ9'®èÈ^4wá۴磌‹F"ÚûIÔ×s>^H9[3UÎã¢Â«þÚözñ˜!·Žœkê?磅>D·Ï§’©’EÅŒqÁç÷„š bñý^xúüŒ*²á‡ÿÏÞýÇ5uÞýãw 'Prì HïD''q7áQÛ¤÷HZ5®&%n%ÞU°ôk‡v×t{+tzW°°µÒúÖ ÓÛÐÎPü˜þ0hô3Rí¼gÒ‰Amø9°zBápýþPÔàOTÔ×ó/ 'çÇûœë:¯\¹’Ø+w»zBHYºäQIëçüð:ëÞ¬ü¤f,ÉÊzRžãíº/ˆ‚$Dtr¿½[•’>_Ülïö½=S’Ò #¢°GÓ³M 9ÜG>¾Xóèa4x¤¹½ˆú¼Í^¢‰ Zä㛿¬+ÝPq°{ø¿o½ùA'æÆÀ‘{\‡x¢‰ó’tÓ§?¼À7< ÝÙ|ð$‘rÞ¼QQ'=:‘z>oŽM’©Iæ™jõÌy3X¢o7E*•!D¢œrvÝA#Ÿ0I—0‘4{hÀÛÜ>Hu3o¾ I?yvÕ½Yq°{` ³±òͽÁ)K“"1ˆ ·¸«Ÿh1Ðw²ˆXÖŸlÙH–ñD4ÐÇ÷‘wÇoWí^ÖÛ3H!DD!aa" ‘Ñe7FΘ©Ü]ãjööI¶õ“2).§n\8c9U¼Yöš}`P¹(ë)õÔîàˆ†õó|QQw'?üøÄ¢~催%ª¡qaIpX»¦$÷蔚®¦Öà#·ÂSØœyS‘àzº"òÿyͶ½=¦Zðì¼IøJ1¸CŒ6Æ ×è’ãô·BDŠLÊÛ„“ cGÅ®®®žžžþþ~Tn€ààà°°°ˆˆ†aP €ñO‚ Þi¡DÅ#GŽÜsÏ=‘‘‘R©Ü‚ |óÍ7GŽ™:uê…äøi˜‰òxay‹ß×××ÖÖvâĉÞÞ^êꄆ†Nž<9&&&$䲿ì""ÜAù¸­­m„ —ßAÜêúúúzzzÚÚÚbbbFÞrºººüùX"‘ÜŸW†[_HHˆL&;yòdWW—R©· s´Vsv 7·øDÌÈÇÿú׿N˜0áûßÿþ=÷܃B]o¾ù†ã¸¿þõ¯<òÈå\ÈÈwŠ®®® &Œ¼7ß ¡ÄßžJzzz&Mš$•J¿óïà€æî»ïž0a—_~9òjo s´Vsv 7·øDgKíqò½ï}%º÷ÜsÏ=÷Üsüøñ#GލÕêK.ÛÀ¢§§',,ì<ð°°°žžž‘ô÷÷‡††"à öï|'44ô¼Y ã³a^ØjîØd<ÿĉr¹•r¹üË/¿¼¬‹bÜ!úûûïÌ·GCBB.œ:‰ùpS\xáφya«¹c;ñPüÞÞ^̯+÷ÜsÏeÎçFD@D@D@D¸øÒ7c‚ÇQÛà%¥ÆhP±(Ç ÕsøÃ&WoP̬¹ñø’k€Qd8÷Ææ´ ]‚ÿ]޼DC¶Õ#\ÖsyG¶>±dø¹ä)5iÏþWp•˜ ÙþÊvÅ\åÅ9 ÁiÑkÏaÈsžršL….¼UfƒÅ)‘×akáÇÃþºËó‹6n,ÊÙè ¸;ž “~YÃuÚÓEðV™GÔNoÊ.u^þÆÏ–÷ÖHÈMøÝÞ~ûw¯ÿåD ?‹Îu)K+N\ŸmûØôÕ¹›k{ëiÓ)K×U8{®víbÛ[K—þ¾M¤¯þ²|ñË-âu.¤dÿþýèz `âm)]‘ïI.Ýj޾¼ifÕÆX¾ÂÉYTJ"ò:9†w:9R)‰ˆs6pÑjŒ'\Fž²uWžêœÆ¨®ª"VJ޳᰼Z,4ÅßÑíl”"0êõ{*Y"â]Ö¼eÙyñ{J ·u¡DqäoôÝâÑÕ»çÏJ¸ïœ­2¡?,üã‹ñ ‘¯í/ù9ÞÒüqu<3þë'™þƒ8ô;à6cÍ˱ÇVeÇÝ’»JÖÙ=¢@2}fÉ:³Üi1EWز£‰ˆ<æ gö[FE‡½¥+MA¼ÛÁkÌO} Ÿ¦d‰o©ïP5ÔÕPº¦Èꉘh“¥Øbˆœ–%J#k·ÑÊ›5ÎüEv/«Pé 8 !¸JÒr¨xgž?è -ùË6º;˜efOqU¾Âynƒ–ò{2LÕ£h­W”ì*ÑHÇÇ18- •©ñnG‹ÇCº\K|}¥ÍåñHgnÎÓ3 Ù‰% “ÊítqœO™\\œÏ’wOaÞF»‡ˆ˜xs~a¶†={h÷ýò?þq¶ñ’U%gʳínÁ ¥9ùVO¢4:9·8ÏAÔå(Ì)²»y‘O-,ÎÖŒèmÙÏ”+ «òÔœ­ ¯¤ÁK"±ºÌâÂ4•”5ÏRÚȱÑúÔdo¹Ý¼³Â!¸¬åNN•)w½E1n.ß¾œgw%ü8Òù™ëDOجçSÃvïl:zô«°¯)̘޻/géNÕüHWˉžžÉ ׬ùI C¾ÃyýõêÖÞ ¢°„ôÕ¿˜;™Ú~ÿÜú„É-õÌYZûigoësëÒ æß`“²˜„Ç"+?ê‰z?\±ôÿ¤ý±8AFÔ3ô¾¼ô­ûÆœØßv⫞ÐY« /#Ÿó­ü »OENÖ$|W¤s授m»_½ª¥g`€¹ÿ±_¬þ¹f,g–`¢À5æ/+§¬ÍùúáA–®=kòìŠÜ{ö8¶eò¥–roÖðv›ÇçpÚ¹x³fŠF/÷ØÝ<‘à¶»åÆäd¥ÇÝ%×kä¼£(¯V‘ksìqØòcùžˆ¤‚»AÈÜéØœ(m(*jŒ.Üã°Y×Å·¶øFîßpþ[ÍZ­þЦnÜΤñ¹…FyTæfk~<Aƒ%")ùZ•ëöì¹^ùXhÉOô·ÌGž±û[¯3gÎ%ÚªThoàS7UX·YØÚ5eBææ ë6 Õ–7tI±½‘R7WYmÛV’5ßê¡.[^SS¼Ç±Ç±ÓÂXóJœÂˆC{í?_šˆX¥‚á9‘ˆˆ‘ë’c¥DoTv8\­µn…Ù/%¢]šFp:<•ïª-wc´Tª²ìܳÉADñ%ßΉ|km‹<Ù¨’E m;sý/'D¯=?Ï©/.4)‰ˆ5lÞ»Ó/%’FëãYÎã#¡Ýá‘’c¥Dú4³‚!"ê°;x]fr´”Ho6Ë6÷õšÒÜ{bô)¾£üš\Ðý%ÜGDß4y–&Œˆ¾&þ³W$" šôXÂd†ˆ"ããÃN4Oìÿl@½0!Œˆ˜˜™ó#Oì;ê#" Š™ÿÐE†oÅÞOóüa=uU%ÍLM¸ï"Ç©™ÃQØäHÆ÷Ï^êiiéì_}ØCóÕ¡ç×¾¦Þ‡R›Ì1ÓçÏÿnë‡GÇr~2¾Ñ.|!¯²TÇ;²Ó²Kâ«ò4, çk/[h¨`ˆˆDQ”+yAª6kÄB›'3ÕUÛ¡Ng‰(Ú+9<r§¨ÉUHå5Õ:;:D§k‰–Š-œ(‹eý÷1)«`D7/KR™Üÿ È‰RùÐÃÊΛ®Æj,›)cYu;)R6mÍGïZ\çv)O.Þš;Ü(¤lyF[6`ƒ%"bå²ë¸‹¬:=+Eá‰D®ÑÞÈ‘Lc4("’ëtòÀÏ’2l ÒPÚ‘)‡z VÆèãyžXùðb2¹TôGéKšØºfŽv¿”Q³³Jsõ,‘à±—U7z†¹vQE$ð<±,3\ä¡ ù ŠˆQço¸«¡º¨Üææ‰!_Ǥ‰‚OdC»*Wȉˆžã}õ9‰ÿêDŸß%]—×(“K]ÐÛÚKD¾¶}Ÿ ¢IÍœÆÝÿØý£Lýe†#gQÐÐCgÿ* Z*,Hlëõ‰½bPØð3BÃdÔÛ3@‘D¡a¡›Z|v.2ùÚvoX·âõÕot/b‡S#x‡Þ+»¸ GX¥b3“W.¦Ž«Y}7$$Ë#"Fä«Ñ$6X¾ãºïa„>#OOD$´ä54Ú}DªÔÜük{«çLÁs<12–e‰çø¡>ÃÇ Œòò2ÑÙëåµZŠÜæ­;ÓTRòV™ÖûS1?Üõ^ÇF»rk.——gÕU˜•|CQ^5[¸Í¦ ÁiIÌ'"F*c†Ó:q¼?aGËe³óö܈‰ßLÌÜŸ??—ˆ¨gwÛ§8J©Iþç1×}=½D2"±·g€ •É¾Ë œîíñQhXЕ­QóØ‚˜Ê×›:Å…D4ü*H}ð7(,HlJ¾==½âÙájF6ù»¡?üåPú{˜h£Þí î‚.ØØd•×jmˆHðXóóü_'5Ïí¥åžXóðÇÇ#âMJweµ'ÚË‘4ÊÝQ]íQã#ˆ¤ÑÉj¡¾ÚÙED|«ÕÎkŒ±#ïR¥.–Z­NžHðتÝûMV“]ºù PP"Ñ+ŒÚ`oE"×hmå‰Èë¨íPT ur_Ó’c2 Ë)³8û¼å-B×%ë¥JÍиsMæ5Kz¬»`Y)g,ÌÕ8sµÚ\r¡åì°T•YhæËóª8}¶YZ¾Ðh^VN+gSÍŠ<“¼.3¢ú™9‰¦l{´Ù?!FªÊ*Δ–?c0 K¼jãø:¾ 0ÿØnØäÐk«}Фøžªœ¥O/ÎÙ?ùçÏÏ #&&}MjÐÎ_-^¼øgëZã±jîy3æ?Ó¶!uùïŸó©º3s‘Mæœ?^³zV1ñé #?Z÷ÜŠ¹•½ ªP¥«g¦§ÿrfÏÛ?KY¼tÃgÓ"™#ÎLLúš4¦*gñâÅ‹Ÿ{ë+ÕLÕ˜N#ºëø |/?Œ/“')P„ëÁétj4š±_¯·*í™VË®ÂqòR—sìN§óH0Ó n´ÁÁÁÏ?ÿü¼«ñº4ÌëÐjnÂ~ NKb¡¦ÊzÞ ¯q¯Ë–¶°6˶YÏ^uñµÞ¡jk¢ššNwcÁ·/çg»ü±x–ìök†)))wÙèL…Â(2\ÓÀQV-$§«¥(ÜÉg~bb^C‘à±[½ÊÙÑø¶[QàjymËÒŠ<ªÌMëTHÈpg“j²rg¯È[ ‰Qè² ÍJÔîLJÓf‡ e€ë;KÖ[fo# yUŽ¼Û¤ô²YÅ5³îì«-‘‘.ÓÕÎEþúo[6ÔM4á‡?_6[~uëèÿâ¥ïzÃôÜRm豚׶ÿ#øôçŒ÷]Ñ.}ýEÓÿþàáÜ+Ú%Å‚ì§ÿ='npDæþÞÜMwO¸ûô©Ö̼ÖOýI"1ÿ4žÂï½² ~Õhßw02òáÜK;ï‰PA:ù  àà྾¾;íÀûúú‚ƒÑ1æ5µš;¶Å ýæ›oî¹ççÚ}óÍ7¡¡¡×-"r­¿¦ FmÛÎÿ~°Ó`TJˆˆ¸ÆÍ[êO)þ#øïΣ_Ÿ¾;|ºqÑüø{%£<>rµ¾çE–ô{w×5ý£[ U¨›oüw¹„¿:°Ûæ8Ü-I'NŸkJŠ=úÇÒw½DäÙY¼ñûi+ûêƒwÏŒ"ûŽÖ¿ÿñÁ£Ý‘4¶5yNÇÎ_üô"ÓƒRosÝÇÇúqÁm'""âÔ©S^¯·¯¯ïÎŒñz½§NŠˆˆ8ïfÿÏþ—Üx_ýõyég¼5ÌÑZÍØŒŸâÇÄÄœ:uêøñãß|ó ªtÕ¾ùæ›ãÇŸ:ujêÔ©—³üUŒ"v:[¾¡pµ’„Ó‘Ó#iïÍÞÁISά)\;+~Ò½tß#ÓžVïáŽþ‘Ÿhí½G›Ÿ¦{4i~pŸdšrBÌ1ALé>3C.—Qèý÷|~ðkï׃ S"ï•Qhä”È{%ôõ™üê`ë×DSŒIºiÁD‘§ÿþ‡÷Oþý@÷#""ºû{³µÓ‚CÛš<Õùõ I‰¿:æíþÁý OYæâË¢¯˜¯­ÞÙ?cö¿ß‹RŒc ÃÄÄÄtuuµµµõ÷ß/ƒƒƒÃÂÂbbb†9ïfßÖÖæõzÃÂÂ0*7,ýôôôð<3žæh­æì@ÆOñCBByä‘#GŽüãÿèííE¡®Nhhè¤I“âãã/³Û¿ò48èu~! ÿ÷Ooüß¡‡ÜÎcýSb†ß9’Þ+%"’HCƒ‰„þÞÁQ4¤¿»—ˆB#C%D$‘M™öïþÖypÏÇ­ÞS§‡»ûôàè»(t÷Iï õ\phèÝt²÷ëá|ï I¤Á"$’L1.˜Ñk?xhßû‡öÝ· -iÞ½ü|ì¶ýéýN‰ä0G‹S’Ç{JV*•J¥uÀÍÆIú¹…&:›($$D­V«Õj”↹âˆÜìo_4Aø£i¡þÿïÛÝ|Ôy¬?&v(#÷vöÒ¿Ó ?”‡ob´ÇÏëDÂ¥D$t ƒ$“ ~ýE«ûké”éÒOlŸ{é{ÿÿoçûøSËàÅöQJÇ{¿þz”¢þ¯{OM‡öÊ+tÚŸšöãAç=z`Ÿ½ùP]ýŒ_>®Ä`òåæã=ý ?KWKïªús R2àÕÀ˜¹Ë†ÜW:¹ÿ¸³í4Ý;ý‡N›;mZì´ø‡§ÓG›ž™[|êÀõÿ{ôïŽ DJµ"øŸ—Vïø{D§š÷8¿hû{½õ=ûGŸ¤ÓÂi"ìïítÿµ¾M :ýõW¾A‰ôn"êlm9úÕˆ©Í’ûf¨ï%:öqÝß¾hûßOw;NMÔÆËG‹¼_ÿíO%¯lúŸ¿?5( •‡Jˆ¤RÄãË2ÈÕïÜÓŸöÄ ¹Dr¯:%íªßùÑWƒ¨ ÜÊ®0 ös=M¡÷ÿàì8á½÷«ïÝ»ï˜ó¨ïSˆˆ(òAWÿî§_Ÿ–†Ç¢–ÑÐ,á üî¦,þ£¢ IDAT§‹9[Ýßö½»ƒ(T¡~|þc“dôØœûwì=úÑöÿ‰Œ3¦$KkjÿQoû4f錇¿÷éžã‡÷ØïýÅcg*röÓ?|ÿヽ÷"iø÷g™Z9Ñ(ÉíÞyëþúÑÎ?Ýùƒyó ‘ÈÈ—uùÈYüœ$øL±îU§üüûƒniw?᳕öãøQ¸“')P¸‰ðԈȣÓ‰c-àæÂ(2"2"2"2"2"2À8â©0kGÒ›–îñ W¶ÁU’¨Õê-Náºí§ÐR˜¨Õjµ‰…-Âð#y­Ö\5¿àFpù÷ö|¦ ÏõÛh—³ªÂænåº ï´3Ï ÕjµúlÉ…½ŽŠŠ=þƒñV™µZmÆ~ü6ÁiÑkµ‰%œ§³_¿ÖtS.ËK]µ¶Œs.ÏáÞD›fíºúë'p‘oÄá8«ò3Lz] æìBÛìï²VX[ø+i<‰…׺]¡%ß Õj—5ðç–õ²/LÁUbºÔâ#ï¥y­icÛ¼o~æJà§‚ÆšL—š¡‘ïm±×Ô׬Y&ÞiQIÇãžr5ùÕiÖŒèñ]O©<1k¥’‰w[+한eŠ&bä:ùuÛ¦×^¸±Lº.ÙðÄÝuJÎ*‡ärâ«xC"{ÑûpEQYMllj¢RJrC^±’—«Ù[ºùH•æuÅRÄJo‡ËòR"t©Z㬷y,ñ*) žZG¤NqÕÇ›Y\l¢hå îÂø†ü%+j9’«)ñrâZìöš‚F7¿³"íZ^WÃÆ¢2o–ÁÏÒmåœÆ‹~fŒ``¬) ©Ùy%›WFuØk=QWCÉ2ÿ€ˆÞ”]êzÍÌ·TYÒü/¾3.2óÚ²õZ­©ÐÉ“à²æù—ÔÒòma¨c*]æØ\VbÍOÔj ù- ž=…ËL­V«MÌ(tB’EÉ©½¼ÈÖuá]äÂ]õV™µZ}¶ÕšgÖkµz“ÅærY-&½V«5Ylþñ€ËÙèUÝø5¦´ŒŒŒŒÌäh"’©Ì©i&9+,i‰z­V«7[ª\< í%æï©Ê3ëµZ­!mxGPh°èµZs鞊l“^«Õ&.+uò‚Ó¢_°±È]ðcmÆ…C"·LÝüHu£ÈÌ^™›,#gõˆu Þ=…C{k0[*œ<ïÈxdI GÔ¸â½Å)pŽÂœœœgGƒE¯Õò†Æ¯ø=Ë´Z­©ÔCÄ»¬yþò¸¤¯GóiòŸ Þ±L{ÎÈ=ç,Ï6i‡Oßywc¯µ ''§Üío¶üŒÄ¡K ÏzCƒ/ËdÖºdΙ‘ä¡1ìlç*LÔj –Š¡+ÄpöUÇW_;´ž»£ƒH“jˆ ~ôÆRU˜¦×š«¼ÔÕ0¼/Z½)»´¡‹ˆwyNNNÕ+‘à²åûO¹VŸ˜‘?TBÿEn±ÙòÓ Z­Voγ]óÛ*kQ-G²äM;+ ó,–¼Â Û¦dµZÎy»†›mIUžÉ?þ¸]ÐWIâ×8‰:Êú/ €ÅÑ©–5ðâõ· ½Vkʯº8Ï\Ƽ«Ê2t¹5r∈y~Wv~ã Ü6m¨W4_óÕ?æý ï?eg.@ƒyè ÜKûïŽáuk fKEËØD#"\?Œœ%"ˆºö¬YQíä ë¶n^Ï5VZŠœQמ¼eë½ñYÅ›Ö%Ë[kÖ,+;Ûq œ³pYA#3{ýÖ< ã*[Qdw+Ó7m-Naݵ«—ˆwY*œÂ˜[œ;Û[^ËI†Hh)Y¶¦ÆÉš7mÛœë©ÉYh&€Ü•,%ÎéYï*‰NuvnŠBì¨/x&§AcY—EõEeNá27:†ºl9ËÊê9MîÖ­Åfªß¸¬ÈÉ‘”ˆ8{™S]˜k”ûÜ5ùe-  HR"¢vk¹Ç`)\©“qÎÊ|k‡ÚRœ® ¢¨ôâ­ùöV®[WCu£(3¤t©F9µZ»†o²eËÖÔ8™äuÅÅ+5\}Yv^Ctîúd9©WnÞjQŸ‰’iÒ 2ò5ØÜñÎÚ¢(³)šoÈ_VdwÇfmÞ¶)SÞX™·§ëz5Ÿ‹âÖ¥xål9ç¬Ì+mF½‹dÔº©ë7­OWyìEË œc~O0dèê°5x‰ˆ:1ºTŒ¤Dä«· ©ÅU›³ÔbkM^QOä©X–SÙ(‹·n]§çj ²Ë®-º°šTCœÃÞADäqØ;ˆÑ¥êÙ‹6–J·:+7[#mÙ˜WÙ(ÖoÞºu½™uV”[ .GÞ3µn…yݦMë’å­µEËòÎ4±¾Ì.O/\—%¶Û‹Š®­´]-ö"¹1õlûcõù%Ùúˆ3Ͷš7¬\—ÿmÀ =RtzñÊX"’'¯ßZbT,¾àïT£RÖmZ—ÌÙ¯DöN‡Ý!ÏܼsSjÔÐe,¸Ês6Öw°ÆÜM…©ŒÝÎ Ève¬æœÆ+l›^k^½Ñ­,.ÉV´Ö¶e_|íý ‘à)]¶¢²Ñ§YY¼©x¥Æ×X¹bY…g”^ÚCÄ; rjœ¬¹xëÖÍë b}y~ù˜ÏBDóA/çõz½ž–=ee­D2A)e5¹Û¶m«ZgŠ×˜Rb‰|.G]ÎêF‘fK†AoÊÛ´µ¸Øb¾!ˆžêœìšŽ¨ôÍ…‰DReê¦mÛvnÊÔÇëÌ:9Q‡³C<¶‘Æ’k6ÒrWj†wÀmµsÄè²2ô*Mr–QNn«#PFŽÏÊÍøìE.qäM6À®‰2g¥L©QD$7f§33b‰D‡¿ÜŽ]¯ÜXí$ŠJÍ4ÅÇ23ÕäsT¹‡{ÈèÌÜ4ƒÁœ•EäóxøÀŽbñ‹Ù`0gåDœÓKÊØh–ˆ¤ÑêøhöV®[Wcµ“d£œçYƒNN­Õõ^ÿÍÈjï Òdg› †´üÍ›Š S£å*U4CDl´Z5ò½Z©Ú¬—‘¯Ñîˆo±9EŠ2£ù–êFÉ“3Í•>5{6#6VIâ Ô|.ž¤5–Ü4ƒ!-7+–ˆkttŒ²Þ–*‡d†ì¬D}bvñæMÅùÉ×aJ„?£¶×6z‰¼N{É igbž:3Û ŠÖ¤fêµÁã°¶©33 ññ¦¬ô¨á÷œ®eûiuØm"¯ÃÖAŒ.UÃ^¢±楙 *™(ˆDœÇéòòÑé[š÷œû±ËYQ/’"5×bÒëM–Üdùê+ÏœtEª%;QoÊÎT‰^7wMe9ˆdÑìEÎ}¼¥Ð’f2ÈÛ¶ @íQ-'"&Z°ø§Ü{œ>ÓÐëM¹Yš6ž¢ËÎÔGGëÓ3Õþ˸£±¡ƒ(6s¥Y¯O´XŒ²áö¨+cG6^1`ÛìrÚÝD ³%Í 1d®4ËǸ/¾Ö~FðTÕ¶iróÓ ú¡æÜnµyF饅¡Ï^·Óí¥ø¬Í Ö±ŸÐˆ¹Èc­½ò™•gÂQJáJ=K¼·¡¼ ²ÑÍ“ðupDÄFûû¾ˆxƒÁÿÂÛ¿–F7u´ºyRI‰wíÆ«³cøù ωD2…œ!"b•ŠáN”ç|DÔ¸bŽöL÷ÓÚ!ÐQƒ‰0X²bë7VÙ¢•goNvuøþ«`‰ˆa¥gö[Ê2þg]öFNJ㉨½l¡¶lø¡Gj""F¡déÌžŠþ×  8|Tr†ˆ¤R%3´ð¥îf·HݼõÕ­DTŸ³°~xĵÊî5g(‰ëàF\9*½AEDäeKjÙköŽLµQ¤Ø4ƒ’''q5Ï}ÉÀF†\ND<ÇŽ˜<×!ÉcåR""6^o¸>×%«É0ÊêkmNïlÆæ&Yrꙑ2Fá?ë,Ëùx^à=<µüX[0ü|w‡H×r§:[v‡ÇÄØÚI–œ¦a©ã¢%ÚŸ–¤šÜÂT_QuÍÆ55DÄĦnÊ3°ôWCKËcåD>žŽÈr…ÜßæXº¼ftÑ&¦`‰ÈçáFo ò(s‘îÎ$½=ú Xü]¶i0g;Õk= )‘odYQ$’=6V)º6X"â¹nŽ÷«ú«­`‰8ºDW6´j.PÛô±üÙÛÿìqcslcÔÏœ³0±rCn¾ƒFë¥YCîºäü’Úê"g5ÉÔé%¥Ùš±ÓŒˆ 0Öäɹ+ r)£ˆÕø_'{myëÛ©[÷Zâ[Æ Z‰ˆdr9QïñEyV'Ó‡îÜšu;Ó+j‹Šº]{Q^µ“tëv›îÂÏÔðþ^„!òup"‘”x¯Ç7ôž«ñºu[sÏtŒ<ðFi^—Z½¤zc9?ÔÑÞÕˉ—¿Ñ1ᯞ"}s©yèVI «%M ΀NW¾õ[¡n^G•›MÖºÔh) ^[ÑÆz«Õ“‘­`r"ŽºrZl¶1ÚhVŽ–ºbÍFymÃf÷8ER§ÎVñr9CÄ$WdÆ2gîò×§ù !‘ˆXâ½çNèà½C‡ÁqDÄÊYiÀ[¿T.gˆx/I©Ëi³»He4i"Æú”Ʀåµ5VG½ÔMòäÔXéðd±ÃË“FJ"ÇùˆdrVÊFˉ|±+·äñœ“íÛ¬6i;ÉSÌjée7–ƒe³Á"tyZ¶ò‚Êšü2Ӟܳ-N!'êàÜœ@R87GDrùuùœUD¼1–ZÝöŠÆÌƒÿñ޼…y-jKiIò¹Í6` âli—h‹/ëpîT¯íœÈ£eDœ§Á#â¥D$¸n"’«Ã+ç=þ×F×q¸œeˆˆïˆX8w9]ÙˆKýü¶É8¤D4t»:{4žú¹BNÄ U~ø%­B>Üœ/< ÒhS~…)_èr9­e5•ùV“ml?E-9ü÷Cˆ40®Lž¤¸Å#r¼.Ñpn/ r"‰çqÚ¬"âZÝ“άaZÖ’ŠøT…³|Mu«öÒ7æ+Øè˜ÜDuf µ:í¶½Yî±–U´(2KKŒ…@ìš6ÚÁ0 yíö†h£&>à1ŒÿºyìÖvbtéæD½?9l}y½ÝnueZbMFyMuci©Ñ‹Ö¢¢zN³ÎhŽf"rÛí rƒž=7#Ï–×ÔT–´iRuDÄÆ§êdõ[ƒ1CÅÛJËœÒÔ’Mi¬ô:4’GG3Ôî®(ß#×wX«ÏE)Ö—”ØDo+sÉuFEàÑ16>Õ k´×–”ë2ã;ªóËɸÉdºW¦T•–¬¨©,+%QžjŽQwYQkfJ‰1ZÍš¢ÊÊÜV»Ked]%Õñ–MùéXl¿º’HžjŽ•^ncñZ3yt+ 35ò¥Œ9ÿõF„&c6“S_]P›¥#GY­dÆT K×ãûº”¦ÜÔêgªësfñ )ç´Ù[}¯9ÿünAæÀíQ'e¢‡Ã¡1ê Š¯îTmŒ·–µŽÑá24eΚeÏpÉ¥èm°×sÄè2Ê3¯ŸKK¬d ûðe¬ ¼¬Æ]^d•›GI£HÄ@"ìÊÔò7pÛÔ$GÑÆöꢊøt…³Ü6Vy¬úi´99ª¦ÒY”_Ef¥ÇZâ&ŠM5G6Ø-¸JÓ–TŠÉëòScY¹’e†ÞÛQä™3gÞu×]ˆepS|ûí·ÿú׿NŸ>}úôiQA8~üøíx Ñ©–”ÆüššœeºÌü’ô’ìJ{^Éì]¥Å¥\~aEYN#‘\²>?K%%×Ù˜˜›U¹`cmÞÖ%+uî—eǦ䯗嬩/Ë«ÔíÌ-Nåòªk‹rœºôT³¬ÑßÙÄ[6¯óË*sž©$Y”.#/ý"_qÄê-Ùêú¢Ö‹îê[ºKÞ˜¯h£c‘‘MÅ›¹¼Âò‚eµDrurV¶QI#ªwÎ1j²P“7JI4©FÅ{ãÆ<’ï,M”ÞŠuóجíDšä³+“Æ&k{½ÝêÉÊ‹ÏÚ¼ŽÏ/«)XQCLÔì¬Â|S‘!MW^ÔX[P *we;^c6Êkª9bt©úˆ¡ÃÏßœ[TPºqE=‘,Ö˜i1E_¯×CReÑS`¯Y“ã4Z2g; êEQ Š3cÍÏiõ‘\—Uœ­’Žò?VŸ»9— J+׬ ’Ås×åê¯ÓmNªÜØN ³yäœ F“ÝX´¢‘#¹:Õ¿u6£´˜+(±®YVMŒBc¶dÆ`X;ÚdŽª,k'Eòðö/§±(“s-΂ò+–#W'çæfžP" ù[sKŠÊ« VT£Ð¤¬ÏµèYº.™ØxKÕ¶èÒUv{M+ÉšËJ‹)ú‚ó°E(w¹…iÉQ5­ey%LUEÀâG uª+œºô ck‘]¯ý3{JSñV±¤¨Â^_ã&"Y”.5Ó’•xödË&Æ6ò2–RvqV{NY}QN«:%Ó¬(ªîGíÊt;SG4Þ€mÓ\’ëÌ.ª/ËqÅ&gfĶ–¹EQ bÇI?#UeoÞD%Ö9õD²¨ÙY%¹iÊQ?¯+Ueägyò+ –Õù/ÇuÉÊ1¾ ïêïïGD†q‘u:*sùø®.Šˆ`‰ø†ìÄòô¶ìh”à&êÚ³ìÇkœQ+wYÓ”þ¯’KªùÙ›÷–h¤(Œ$8-s–Õ³©ÛvÓïÏ¿ƒa.2À-Ü·ºJ,©æ)ë MR{Y£HrAºÜ¼tìt46XKœÄÌÎ6)QDd¸ñ¤ªÌM¹\AiÍšgjˆ‘«“×å[â1pó^¶º+ò EYlJq®E=na˜h7&ZÀ8„Ÿ@D@D@D@D@D@D@D@D¸)ðÔpkkkkCàòÅÄÄ\rŒ"œ£Èpk›q Qi}ôQí‰÷Ðî-¯ÿépߨOénÞµko“·Õ€[À•Ž"÷¹v}à%R.X•532ˆˆ(iÎþ··¤~€B¨û`Ͷ]ÍÇx"Éĸ¤E‹f*½kß<4HD;~»ª)ý¥ì©Þ·mÿÀÕ3HÄNIHYbVŸ?p|êpÝŽ]®“ýDÁUºO&MŸ@Ô×þñ¶m¸zƒ•ZcLû®ONÆ,-|nzNáÍ4Ð7t±n=W8Š<Ðy¨}hÊœ"‡sPPäÌç^È~JDÝMook>&IHÏZ:'òä¡]•u_Ò”¤ôGÈ(ìÑô¬ESé°µb·‹Ÿ²`ùò'ãŽ5Un;xêÜ |YW¶e¯«êüô¥KæGñ®½[Þ¬ëø²®r·«G¢š¿dQ5~r’H‚ vÓò—u¥*vŸ¹8ß.zóƒÎTnmW<ŠÌIX6$ÐÙ¸%ÏDZ‘‘‚”LÜë=é=94C© !ê QN‰Š 6.~NPø¤È¨šC®ž#üÀŒ³ãÈަ梘”E?R‡)>ÿíïÁÆÎA.žh¢1åG3ÂI%qÜrçî¦ šô“gçU¼ùf-_7Ø\ùæÞà”¬¤H¼v€;,"‡°!D|OwM½0 ö|¾{{£«§ôç÷·ïݱû—-‚wòDÁá¬dhk¬„ˆïñõ…ôBD$ dé“7„?œ±œ*Þ,{Í>0¨\”õ”zj·¼+œhùÀ”`"ïÞæ/‡ßNøòã×rÿë5ëáS_ÖmÛëê ŸÿüK6¬šàé§mßñ¹w .ý¿ 7¼´T Ÿ‡D²DýÝ=þÝ×ñ‘a!lñ|Ñ`w'òñøJÉ Ôjäc¸m\ñ(òôI1®š¶Ý¯opiã”Áý'5»z(ø•2d°y€ˆúùÎÃû÷~¤½;.*HBDÝŸÞå$"ìëñlÞÝ>HÔ×y¬³ïìD‹ e‚6¬ioÛ®íû% lç'u^"åLmäÄ>»·éd]Í~6Ar¨îÐ ~:{\¥äII¨Ü6®ü§CÂuÏ®JŸ§<ÖüÉ'Ÿ4»•qó—®zJ=!H™´ .Lrrï–7wQ¥§kè§i[Ý1IÌÌXêwíÚ^÷Uì‚G§÷ÚQV¹_2ïÙ1’Á¶šÍ=g×4))+ýQ•ĵ«r˶ÝílÜüåKgFRPTRúœ¶ßµ«r{3i`qænþƒŸëõ†_¾ÏyDp¿ž’¼¶U¸ôs…¦ ɯ»"âšÞý ã:îeëûï»…+}–ðٯɯºâ>ø¹añö+Ù¿‡·¾«‹ W'e¨“<þpFÞÃgþ«ËÛ°hèŸO­ñÔðÃÙ¿ýÉ™EÔE3ýÿ˜¹aÙ'¨ò¬ú'ç¯<$jÞ’ç ™0!ˆÚ·¿D$ Áé¸9Ù¡ß½üAÂkóäWöÿâêYБɵi­éå¨òê¹;Ò×ðÑ!súO7–?¯8ô‡µ/¿wÈGÄ(–®YóD¬Tp¿j^É-J¢¦O¿hï ¸_½ôø[Þ9ÐÞÞÁÌZõûçÉ…ö÷ׯ}£©C$"YÜO_|éÙÁý‡Ì•û»ÅOSx¥òÅi‡.¶KDܾWW¾\×Á„+âæÎõ‰$'"nßJó–¹Õ^¤àö½ú›W?l‰H5÷ùWVÏ’µ¾l^É%%Ñ\‡»zãêY#Ò´×öµûˆ˜¨Y¿ziÍãá~m^+}Åú’¹wÓÍÛçVþùé(\JãÕwn‘ý OÈxR;…Õ¼YV¹·32nÁòEÓ1Š p³È~õ«¼ú»ÏÎýø4¿ïåß¼CK+íöZ»uµbßڵÀ¨W½òd8óÃW¬•ÏÇúÞÿÍÊ÷˜ç*ív»í­'¹7Vþ®U "†º´ªWÿ¾²¦r•|ÿúß|˜ðÒ[•5Õ¿’~¸¥®„¯ÿWlv»Ý^½:ª½®éì¼’Æþâ•ç¦0ÓVUÿùŇÄKìßôꈯ²ÚkkÊ—Ê÷ÏÙS¡õW? Ñj·ÛíÖ—fqîk'"†|E­~«òÏ5Õ«ÿíõ/7(CGÝÚõŸÅ½bs8Öÿ­iëûxöÁ§g1MÛ‡¾‹‰kªkZ4ùy E>¼({í† 6lØðÛ2fF! ÜLòy«µïå7FNA¾xÿSJxÚ?JË>øä\Ùu­—ø"þ³÷É’–ÎR‘T1÷éÅ}uí3íñåD$SD…3qI²þ3¾v^ ™‚ñ}ö^]S;'ÈžÿïG›òq©]Ú÷§=‘ '"iìÜ'ãÎ}º”’‰‡Þ­ÛçæVýô¿ôÄP²öÓ¹ ""ùƒO£/öµŸ­‚â‰ò=Õ«Õ,ÉœEÿ¯›¤ÓžœË|ºýOD\Ó{íÓžãFYý%wIä|Œ|xC2vø_âžþýÆ¥ò¦-+Ms )¿|}ßд,\>¼CŒŒD߈±g¡ãÓ-/§/^¼xñâÅé¿;äÿ‹4ö‰¤ðÛ›¸¡„œ€iÎã¾: ®–≗¾—¾ö¸‡†â¢<œ»‡¨À·û¹\vñuÈÂYæßžª¬ùÅ9÷¥¶-U$<ýbÂÓD\ëöµY¿y5ÎößølÞ%w‰aeb‡O$’‘ëé¼ñ]ùCO¬~è‰ÕÄ·¿ÿòÏ×¾gݨ òusCOùn‘™&#êö/ÞQ÷›ß|8mcåŸäDÜûé¦-CYû‰EQ;v4¹ÅºŽ¸EHÈãF‘àêE=¹æIÚ±a_·HD$öø©éÿP+w`Ç>_\RÜh_ÓÉ÷±ý4®»îÿ\bÁýîÚ_¿sߜ־ý—ék?àˆˆäQÓ²k…nñÒ»$š5½ÛÔAD‚{ûŽ/Î] ÷Á¯Óýn»@Dì¿M‹’Ñðpñ;>lˆ¨cß{_Èâfýb±ƒ'Ù´(9qŸm¯DNˆˆsŸœÖ¾åw[Úã=Èñî}ˆÈp»Æ.}ñ§²î¡äÈÎzñ•§™-éF£Ñ˜újGÒ+/=x¼T5wÖ¿ZgJþuóøK¯$q¯¦F£ielîܨKS[TÒÒ¹ü–TƒÁh4š_î˜ûš³Äô¥IDATâês‡Ãz<îÿ½a6þò}ñ»ÄÎZ½fn÷³Á˜œþ%ýðÜ´-Ÿµô§Ò÷~™h0¦•Zõ¢ÿ»+dq¶¿ž™’lLý/éÅÕ gCwÔ¢ç’hKª19eñÚ}ê_ýêAqÇÊß¼ßADò„'§ý¿¾„E²DÔýáëëÿðY7® €ñé®þþþ»îº …€›âÛo¿ý׿þuúôéÓ§O‹¢(ÂñãÇu:Ýå¯AE”n(¡õUóJî¥À;.þÄ—Ík™Õ«c¥¨"ÀMÄ0Ì%—Á(2À À·îذOñôÓÈÇ·‚+þ¸Þ¾}ûP5¸"³fÍBàŽÆ}ðBêºás×¼ö¾ì àöŒÈw4©zu­ýÊž"Ÿ÷š}*p ÁD €s\ñ(2Þ4€ÛF‘‘‘‘‘‘‘®#üºÜÚ†A`laˆ$W¸üÀá·ó¶¸ˆhÊ“ÿ•ýð"¢/­E¯7ñDaóWåý(5€[ÚU"kj;åÍ͇xn’«zV°2¸ÿXcÛ©3&PÏç‡xb'Jø“Cì;òñ¶í¸z‰Ø) )KÌêp:uðµßnó*,‰9hýäX?±ªKÓgN ¸0Q÷Áí•Öfo¿$L5o&}°ËÅÎY•—I}_6Zw|pÈËJؘ™O.Iš>§ÆÖÕ"‡Ç¨Xjk<ÖGÔÙz°‡¦ÄEgí¾ÃÖŠÝ.~Ê‚åËŸŒ8ÖT¹íà)¢ ‰„ˆ¼öýƒ ‹–Ì™"á]»v4ŸeáS·okööOLHY’¤tÙ]ƒDLD}­ÛËj>´ž'¢pÖ¿¥0–è$ÑÏQsY^óð¢=íüÀŒ A879×ôÏÉ~A+9¸íÍ7+hyÆŒp”îÀˆLe‚:¸¹ùƒˆ”OªXjL‡¶ïøÜü@ú-Ryû¥-®‘Ï:/Ìòbƒ‰¨¯›'Š$êëþ,`ËJˆ$¤/7FúW$‘°,òñÍ4ÐY·¥¦Îòt]dÑÃË©âÍ·ÿ2ñ…ŸLÂy€;/")TÁÍŸ÷“2A5zÎü¡oˆh°¯Ç{°ywû Q_ç±Î¾Q†.LqÚ)Ôvìó]»Tó¦žÜ¿wøc€!Q *‰ë«©M;OÉ7×}à’$¤?û£I8‰7OPä¼å¹A!gòpøÃ«ÔAÈÇpK»úŸ RêTÁäOÈgM˜±àÑ)Áý‡v”Uî—Ì{vAŒd°­fGsOÀU°œ±äÉ&J¼M;¶Õuªæ(‡Q/Z¾ Žmßµ¥ìÍû”3“t¬¼é!9$èÜjîêïï¿ë®»ÆÛn ôê£ BˆNýíµßîð*Sþë¾àíöóí·ßþë_ÿ:}úôéÓ§EQáøñã:•€›H2÷©ïpEá–CýÊGÓSÔ}Mx‰&>0ùnŒñ9ŠÜw¤n›µÑu²ŸH£MZ´`F8Þ¾¿a‘‘`¼ûJ€ˆ €ˆ €ˆ €ˆ €ˆ 0¦®ø§CöíÛ‡ªÁ™5kŠ·Œ" "ŒîŠ'ZàMs¸½a‘‘‘‘‘at§þöڪ¿|9€J "\ Jp‡8üöK5ìèXgg·Dm6Ǹ쟴ŸìæÙK–›§‡Ð@gãömêì#’„Å-ÈXôpdÑ©Vë–íÍ6U«lÜË>›»(*¨¯}ÿöíö#<±QsÌK~4uøù®î¤)ºEISCPw@D†ñ+H2Øã:9cU¶9¤ûãW‹¶mÎZõÂ"ê¬ÛðÚîÖyÓlÚVÓ6eùÚ¦†œj­Ø°mû!UöŒ ÖÛšÙ”U/<~ê°µlK?%Hˆúo»Ž7¾°vfdЩ֊ Û"óžUµïÚÕ6eùÚ¢‚èT«uG³ëÔÔPw¸u`¢Åøº(8F;%„ˆX%+a§ÎP±SXê;ÙO>3ë¥U þÿöî?¦íûÀÿøËàO°ïòa3¾«sg&hg6ÐðI$ ŸD{©„ÿ -ÑÂ$¢&ý†®™Ê¦o®Í$"•årRòGv—iÍWcßÒ[8éÈ”4AHM[þp$¸iäûâKM·_ÓBkçêŸíûƒ¤M»ì®·e%¤ÏÇQlìwœ÷Û9FEí{j’ ‘¡þÓç}ûj fl´À'Xéµ´\>o¹¤äÜø¥„ì´ežzŸ&cII鹋‘¸$Éð5Õ(zqzÕ’d%.Ÿ¾0—V"ò³“/N¯JR¹·²Â-q©9°¹°‹ŒO0¶µ„fΞxvÜ4+áöpüôHÿ ÿàÞ]íÓCÇŸu›Õ¡æjç¸$¹k;»[‡‡O‘dTvî®qËh|(>Ù;lKNÓìÜ[Ë2ØT™LÆáp0øìÒ3Ï©9x(ìýƒÛ·X, …|>ŸÏçs¹\6›]ZZjnnf’Àâ > kù±ޓ¯-[’•˜;ý{Ãà.ÅA |ƶ‡:C§‡Oõ]”dúCûvñ<p×â 6-Àˆƒ‰ ȉ ȉ ȉ ȉ ÈÀÆñïüui]ÐY,ùFC‰÷Ï™l8ŸÏÇ$€LähKà£_Ì1#ø‚ã @"$2@"$2@"$2@"$2@"$2@"$2°i8™‚M+ùÁ“;þÿonúvçÞðWñÜWþÙ‡°_é|ó᪡½[î¤ÿX±Xt8,0Ø(ì"oòõ{ø¥{#s_Ì}ý•W½uWV~pü?²Ì ‰ IeÛÊÿÛ²k‘ÔbV’õÊþÖÕ¿uµ­í­3ÿ//I*¼ý«wžl¹ú`í¿·µ½uþú7,¿ßÛòFïK–TXxiùñ–«~ëêƒÛß<òRn½¹ß{å'[®¶µÄºžZ9ÿÔÿ(•”üðÌSo¶m£mû]O­Ì&%);ÿþ‘Gbëw~»;ñë$‹Hdl”œ$‡¤Ô+ï-}æÕû^ý·êc;²Ïõ~ð¶¤ù÷žéM‡ž¯~uîÞŸ>j=×óîÕ6œ“×~üػמø‹#Z~ÿHo¦îTõ«ÿvß™ãÆ¿þèHRJ^ûqojkïׯ.Õô'ÿËW ’¤ü¿‰ÿ<õåþK÷Ž]þÚ²žéM¦”Ÿ>¶òë†{Î_¾wìòמ©ÎE,Vl*œE¾[d—“¿8•ýó°×_¦²¿Ùv~‡ÌrI¥ßü›²-¯fW³R$õNµ§í¥’îû®ÿüwfYaAR6óâ‰Ù°ï§{]e’¶Uô¿þ¥²òRI_ÙaúõÞ;ï²ÉÔo²®Ã!C’úÊ·k“¿”Íœ¥¸c ¼ªL’sÇ[·<–üMvëÖm%×^ÿ`,RÚáºÿð_ÜÏÚŸ£Â…G߸°þ×-¥ÁGÿì§O»Ë$­|xáø{cëG)Rv.kJ…kóÅ\YéÏå•šå’ Rqñßù¹ÁïæõÖν~*ñO‘\NR®°˜+ IÊåse%[ËÖQrÏW’”µWsÅßtÏ·­ßŸÕ5•¥’%÷ö|÷̱·þáÍ¢ÿÁ/?s¤ò¯*Y)@"ãsRòðKÕÏ|ãSÇeìHïÛCeÞ:ÿ¥{Ê”Š,=Ò+©dkµC¯Û×$S’òoÏç·V—HªxÔ×ÿèµtÇÏ4üåîê’·_Z><êúñKÕ÷WJ+ï?Z]ïoeíkY©LRá½w‹Ú&•9+Ì’¶ç«?õŒû¿{Ïýß•V><óôòá#rþÿüik6Ob1wŸâ{ï·nÛRQ&%?¼ð|6—Íç¤{B¦ùý_Nç¥ÂÂà[{[}'+ɱµvË=;¼ÇöæþÔÊl¶[.È,óWJ²ýÏ,ª¸šUÙ¶?¹WÙó¯Û’R¯¯ÍI’Ê\ìPäùÔÛ’TXøÕÛ½Çþ#¥Ü™ÇÞ<ò+K’*ËîÛÆ; ÈØxƃO©â¥·i‰u=ñAÅßV¶”}xø±•…ê¯üøïÜ¿î™Õ¾ñ¿þ¥ôÉç+ïûxk·ä¾ß“eÉÃGÒ}µMïíÙûv[<ÒPùý…_>±<š3ÿ{±÷Ͷ–ØþÅxxÇúU‹Kï?î{\«¶¿Ñ¶=öƒç ÷?ê2µ¥­gkêÔƒߺڶýÍcË[a l.ŽhKà£_Ì1#øoå#Íÿ´á/ù´ë3>¿:l,v‘ñYd3ý^}üÿf²Rv>yfÚQ2˜p—âãzø,Ê\]ÿðå«O/…OIe¥Áž{žÞQʬ€»-pÇá ØX´Hd€DHd€DHd€DÆ]Ž+¾ ‘ ‘ØäœŽ¯þYé7œuÁ’oãñ83‚ çóù˜°+++Åb1ŸÏ …b±X,?þ×ÞÂmµþîr8‡£¤¤¤´´tý/‡£X,Ú¶Ëå–––š››™+°œ[¶l) ¥¥¥ëùB"ãsHäõ?KJJJJJ$ &ÜA‰\ZZZRRòÛ}L"ã”È7Wòúþñz%ó~wJ"ôcn柳õ7Þ:úÜA‰ì¸¹À¶2“î¸Df"°Qø ¸Óp]d€DHd€DHd€DHd€D>/N¦`3IÆ^œ]\³%§é 4¶u„kËçÃÓ —gœÁíÛŒÛü*.Ÿ<>Þx臡 VÈØÐ>žyñ'ƒÑÊÖ®ƒÝ5^·˜›zá'«ûí©ußò ÖÂøØ¥ºÀmOäòàÞzg9+Hdl(ky|äŠZzºÃU†$ÞÚö~¿b*aJ’V§‡‡F¦ãiÉiÖ<´woÈ›=58›²£'ŽE÷Úã‹G†‡_Ž¥$™U­»º¨qKÖrdpp4–v›Þ@¨fa4úPïÁ`¹•¸|nhlfÕ’ ³¦µ³3Tå¶æŽž3›}±È¢¿»'0râú.rzá·‡µÃC£«–l¹ýÍûÂ5nÖȸíRóÑ5³¡Ñwóްá 6{%)==<p­§øÌÌš'ªrK2¼!_&:°$ÉékªûÄéã[+·éNE#“sËI«¼~Ww'} 6v‘7 ÃíuêJTz5mK2Ü—bkiɽ^ÁiÛð»¤Ì­Þ<·VREí{j’ ‘¡þÓç}ûj Vl´Ø, okG£15Ðvz9iÉJ'æFúG^·¬TÆ6*}¦!¥&Æã¶¾^¾v:•‘ _S¢§W-IVâòðé si¹ýÕæÚÌÔ²%Y‰©‹Ñõ 6ëë+×"‘K’µ<17ë‚Þ[î­‡MD~vòÅéUI*÷VV¸%‹Õ›Š#“É8&bsHÆ"#£ã³‹)[rzüÁÖööæ*·”ž;Û?4µj˜¦§¦µ=0;8õ´Ü_?óÂɱEgõîCß«_{mxx<–’dTvîîlÞf(»004·Ü_C³wv4îû~Ðm­NŸ™IX7=ÔŠ>:äîîí¬2>q]äôÂo›Ž OÄRë×n¶ïÝUÿ;Z‹ÅB¡Ïçóù|.—Ëf³KKKÍÍÍ,5 ‘±Ñ¬å ÇOÅ;ú¾Wÿ¹^ Dw Z|%§ž=úâLRRzqòJÚ[ïãÆ|\¼®£=:8|¼wHrzë:ºšøÒ´ÀÆâ ¸qÐ ‘ ‘ ‘ ‘ ‘ ‘€;™3‰0 Àlj … Q, …B>ŸÏçó¹\.›Í.--1-`cqÐ ‘ ‘ ‘ ‘ ‘ ‘Ø4œÿÃÇ[s‡_ˆ~tÓåñšZáú ãv¼šôÌs}ƒ‹•í½? U°6Ø¿ç.reck[[kKƒO‹WÆOôGs €»‚ó÷{–¯qç5†¤ðC¯:1¶8zv¶á{Ár¥c¯ Ÿ®dl§§.ÜÕò%Î?5™ªî:ú½ [²b§ûúg úöø×¦Ï N/®Ù2ýM]»ê?µqœŽ½6<2>ÏHNOucxW{ÐkX ÃGOM)д¦&çSrùš:÷ïª/—”œ¹0425¿–‘Ë×ÐÞÕ¹ÝkXs}/DÍ–6ÿìØ³ëè÷ƒn–üv²Ò–á6þ«;6Ÿ?ô,²ámÞY-Ù‹Ó+–V'úÇfS5=={5;2p6fûšêLiq*––d-NÄl¹êC~-ŒôM-ºCû{´ûⓃƒ‘ÕO ¼>Öª¯µkÿÞŽ:ÍOõŸ[°$§Ó2Ñi»yÿ¡mþL|rèÌLZJŒö^šW°«§gw uåÌÀè²%NIk“—RöŽV¿“õ¾½¼<ú܉ÓÓ7ÎJL ï¿ÈÀ=‘%§iº$;•¶“±ÉEÉÓÞ^UU¿3ìWf6² oSƒ);6µ`ÉŠOE32ƒ->Å'§SrÚZk«jšÚMÅ'fonäÕéÈ¢TùPg8X[ß¼«#àTj&²x£¾üá¶à6oMhgÀ){a:n%¦¦W$ßÎÁªªíá–J­]™ü¨Õüíûv…šoÓyi|üýѶ‡»wj´ÿôôªe%&ûÇ]ûÃ^¦lrøÆjzm-#¹6?5펦äimÞfÈrW¸4oWïîÙUe\¨Ë4tãZ†Yé–2©•”j+$;•HI.yýåÚk‰´j Ù©ÕŒä2݆»Ò-e|í=]ëÇ.[‹·ëü—•lŒN:[Âô1¸;ü~-ìøÄÅÑÑѳ/þìÄOÆWä¬îh¯u«¼¦É/­]™ˆ­¦Wc/ œ‰¦%ÉlªTjjd2¥ÊP“W’ák š²'¯$R©øÔÙ¡ÈŠ}swC~ietxtzn&rvd^ò4¶únü ?~ñ\dfæòÈȼä¬iôÞú`¥Ÿ˜Š§Ò‰™‘ÓC£‹i–÷óªä`˜>wßsuåÊø¸$ÉUh wì\¿EEóÞkg†#ç^¸"™þƶpcÅõ„j®Y‘|¡ºõ{Œªö»íá±ñÁþq9=PGk[7EmE¨û€5|v||èÉé©nÙÛÞfhýx±³ºÑ3snp>%—¿¥«£Ö-¹wv﵆G&‡ú'åôT7¶‡åÒ + €ÿ!G&“q8›æõZËgÿd2]wàè¾>¶ù‹ÅB¡Ïçóù|.—Ëf³KKKÍÍÍÌ Ø@üj€D~·ÍvÐwZ€;»È‰ ȉ ȉ ȉ ȉ ȉ ÜÉœ‘H„Y>NäP(äp8˜lˆb±X(òù|>ŸÏårÙlvii‰i‹ƒ‰ ȉ ȉ ȉ ȉ ȉ ȉ ÈÀ]à?cŽ\—m‚2JIEND®B`‚murano-9.0.0/doc/source/user/figures/delete_application.png0000664000175000017500000022657413656750211024113 0ustar zuulzuul00000000000000‰PNG  IHDRc…ç³ösBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{\õþ?ð÷ÞfUwå² ¬PC,,ÅR4Á/‘%¦â=/'ÅJ¯ù|æ3"ƒÁ@PE€¤€¤€¤€¤ð“Þÿ¢‚@‚`·Z„êj{u•Ý f³7[ÊËìÜ ›ÉÄ_±V¬¥z«ÑÀ BßA~ÿü?)àР•µt”p˵ҫï¿CÕU‚ÝNv›ÀóöJÎÊݰWÝ$»½^Œ®G$‚Íï©€eüY‹Òr±€Û“î4È)à)üb<ÔZܦtòýÖƒÙr‰ ‘ˆD"±`·“HD·å"""‹ÅD"±H$‰D"Hzî—_þùø²÷I"ù&%ÝeSÚq›¶HJ\Rª° åïÍ2ND‘]*‘H$‰X*‰¤R™T,•Je‰D,KÄb‰Åb±X$‰Ä"‘X,“ÙlÙ¾E>žÄ­ñ)ki)Y-R¯÷±¬#,ŠÄxô àÑKJd³–ófâ„[gÏŽ" vÁ.Dvy¡¦ëˆDŽÿÕF ›Í&"›Í‚ ˆZ_YW¿oÚúYûüëþ’<¢II°Û-ÕÕR‘è†Õê媱ÙlD6‘ˆDvÁ.ÝŠ?"‘ˆª‹J‘ õgh]D"¡ºŠÄb‘“~-þ”xƒÞÀ7;£Ö¨1âÀC~Á×é8F£Õ°( øC“’H$""1‘T,ˆDbÇ£J$‰êFqpü[$ ‰•çmv;#•ÖÌÐlX:sæÌÖ­[m6[ÇŽ#""X–%¢ŠŠŠ+V 4H¥Ríܹ“ˆž}öÙÁƒ‹kû¹ÆÔÔÔk×®I$’©S§vêÔ‰ˆ~üñÇ={öL˜0!??ÿرc"‘è™gž:t¨c;Ç]‹_\ýÓ1"bCGªßŠÑ=äxàêÚÛÿ‘ÈeØÈö þÁeì®ø I¨ªì¶6ã&¶{íõú[kÚþÅëlœI¬Px¼¿æ¶}¹:a´­¬Ô#)Eîÿ8~Ï8Cvì七–»Ì%·)>Hâx(é3.É*!"R X¸2f˜·@áKJ$yöéwå`6Ùmäèig·‹ÄbjÓF¤PŠXV¤nOÊ6"•Z$•’Tzãúõ¬¥oó6[?­Ö«m« HäN¦¥S§NmݺµmÛ¶®®®|ðÁ¼y󜟞{CòÆŒœ£…HæñXPø¬Èð$Rø¯öûjb.‹ËH ÓÜ5]¥Í˜‘9e˪ßðJ|¿WÌV„Ë|sô’3õ&È<ž5w˜¶E»tßõCnZòš´ì3%"™Ê'0tJäÔ ?<ø¶0) ‚þøQ›Õ"‹%b±˜H,ÛeŒd^´ÈÕD"‘XLbq]ÑåÔ/×nÞ$AÈ+)9¥/1™«mÎ.Ãævwklì»­[·Qdd¤““Ó®]»rrrŽ=:hРš_w£ñ•W^éÕ«×ùóçSSS·oßîHJû÷ï7›ÍÓ§OïÔ©ÓéÓ§·lÙ²oß¾±cÇJ¥R"ª®®þË_þÒ¡C‡ãÇïØ±###£W¯^–ÂËæ³y.ÁϹþómÁj,"r[ºÜðî¸}»•£Çº<êxÆÊ=)E$–ˆ$sÞ©’¨9•ûv9’þ,—þ•ØÅÅkËW"™L°XÄò[}öøË—¸]_É:tl9'­Ö'"™ÇcÞÍý™r…¹F"žèOzûé±ÅÛk¯¼!wÃâE‹¼·,mÉ™‹ ŒÙ²Ža[X>úôE3’J‚¢bÖhXN—“±6qáŒÜ¸uh¾€ßôj_x´°a-=§C«ÒýS½\w˜Óe&-\²˜õÛ4KÛ‚¯Ð†¯Üƶ8&e'̉Ëõ‹ŒNY¨ey}^ÆÚ„¸yQë–ß=ù>À¤äè_çòûtI o³Y¬V÷Ǻ¨T¢F_)+އ”Ä6‹»ã£lë$K²¾üŸI¬úäÉ“Däïï/—ˉhðàÁ999ÇŽ«KJ ÃôêÕK„nݺ¹¹¹•••ét:­V›““£T*=îzöì)“ÉNŸ>]÷µjµºC‡‚ ôìÙsçΕ••Dd7™ˆˆl6"I¥5[" Ž€'‹Ä5A®.ÿ8š†¬¥5·)ŒI‰DÔ~Q¬c‘¼Aðã¶~*X­ÊIÓÄ tm=mDt”êçBŸ`UnzV!wÛÇj¿°¾Æ¸8]#«+'fèµÆ/8˜ãIå8Èyi‰‰r DŒ: <::Â%ýæ3²C§js²ó 9Ÿ©1á|Ú†¬Â=ï7kY|˜†ˆ Ù&$gð ñŒ_XTô¬@5‘¥0=aNZŽÎÈk‚£â¢‡iâuû’×fCÄDDG‡ûQnâŒXC亥!jâóVÌXT‘rŸ' F>ZûùÆ<=ù—»&!1=#b4SF‡ù2D\îšØ„´<žÕø…†«³ÖpQ[ârÆÕÜ!ãòÓ“–mÈÑi‚f.ަ¥œØqIª©Œ™?–è êà˜%óÕ\Nòš<Ÿ…ëb†9¶”Õ†Ç/ãgÌLÚ8ßϰyÆŒì°YÚìÌ‚’=ùL]®eˆôÙ&&gpD¬wð̘¹!·_è y9ywsÑçgî}FG…6qMÐ¥-I.^ùå,?Æ8'ÃâAD¤kìê£aˆ/ÉÑ­[>—է͘²$Q±2eÕ|F·yòœ5ÙM\²}ˆxcNŽïÊu󵔿y^dš Mó½sc7STÊ—!ârgÄ&ø®[3+sÎ’ ¡)á…IÉ%¡K—ÞVÃo%—<.?csv¥ÏT–ø¼'/ß4ËårWÌYë³iÕ0ÊLHÊõ‹ßÈê3æeXØúËë«CÆœlÕºå)2d.˜œ¼9?h>sô¨Ñ;,¸aÓ•:(ÜgYRV!ÐX}#‚m´nÖ $õ“ãÖܶ[/¬\7߯ÉÈyŸ/ÿ“xHGMO÷§ÜÔ¾ '‰å.Ï€ØI° v¡&k5¢¼¼¼.9¸¸¸‘Ýnwü(©×aÏñïÒÒRG—^¯ß±cÇÎ;wíÚÅó|ý9¥ÒÆ¢ X¬š·@,wº±íó’¿Îµs¦¦6Û´#­hÂhîË/„ª›"F^“­V‰$®î¾?×´#ˆDrÜ×n…ø’ìôl——ñùÒ2K/ÌÎã}ÂÕDÄø‡?æ˜ZžMSCµ ©Ç`r3òx""™OÈ ±~¬Ì;Ô±œ‡7Ë•pD\Þ¾uðhÇó9ê ðÊË(à‰ˆ¼ÃÂX"R†2 xýу…šð0Ç=)mp¸—“©ã‰õ›\—å3ìξk¼.g_f®¾ñ!þÎ,=´Æ S žX¸2:€%.7= ¤!"FÀܧãõ¹GÚ°`-CÄú…Mñ“ݶš}9œ_„£ß°0MÉÁ£z"bŽÂ"µ·‚+4òÄ8™Z}ûÍÖCA\a¥£Ð¼Ãh"b½ýÔTbàH4£@QSì¡ã}ôGõ·}APtÊ nº<6såRÄ$€G—ûᜑ/Œ_tT>sæøñãgÎïóó¢ñ/ ±"çöf2äez‡ú9®ã£8nŸ6yõaÃüX"R{{ÈTO„ø0Ž“ÑÈQ—l"’Dk"Æ78ÌÛøsž/ÈÈ¡Àˆ 0:˜-Ø—Çi¢#UKbc“KBãfÝQk€—<ã®Èjë£ç¥QÄ’%áâuû|Æ;ÚlØ€ˆ0MAz®/È*`ÃX"Ò„L õ¸í5Y ’ù…׉·7Ë•‰¯Ôó¤ð¸½îÀ¨Õ2ÞÀQ£õ¦ëf·h#–-í]Š*xñÊfbÝÏû”jÒŽ`4óÎR)‰ìvAD6Ê6›ãUV«X$²Ù©¥ã„‹{‘«# Õ¥ __ß‘#GÚj×%‚ÓÝFúV SYÀñD$»u6P(‹žç8G {ëÔ@¼±’ˆˆñ POIÒ‡®lä>/qÞâ¬Jò¿¶±>ĵÏ)ñy+&/(‰p<’É+-ÆíóÆeÔí häy=/SÔn*£Ö°LƒËL¥‘cغ=aU âôïSogo„/hp=/Ü•¸fئ†Õa¾²’˜Ú« ÃhXYAÓW"buw †‘Õ^è׬¦.ÙĪTµ…‚8=Ç© Ư6ò0¬†µ­äˆXÒ„L H^˜¥‰ŠiôRöÀ.yuÏ)éÓßœ±A^O*œåLâä—“jKŠ´%O±>µõ Ö›mx—µ‰ZâV…©®L•†¥£%¢a‰7,¬ëx¤üöúFSu³†µ%6`îÊe4oáöBGLJ‰ ¹Ë#Ó-%¼n(ð{˜_ÙÑ»MGïë…:«]Õ-ÓXZÒh4T¯‰jûãÕ© BDd6›‹8Ú ¬V«ZÝâGÃ¥^oMbö°(Ÿ “o¿Í@ê ø8¿FÎM,Ë빚Q8ƒÑBDŒZ­P….ÝÝð.„þ.«gU W÷eTiäŽ3†¥ÒÈÕœ *+y™šeY-K?×Mä ª9³2“7ðÁ/xg'n2ë¶Ó$£ðÑPVÌ»Ù+ˆñ›89!q߀åÃÔĪ2ñ)·E+].c©äøº³Ç7X•BÅò…u{Â+‰Õ6>У PìÚž¥^ïÞ—.+½PÕ·¯†ÈÐØ2¬†•ùÌ\—2ì.ÖŽ+GbB–_T|8bÀ£KÿóÁ’&?4ÍÖ“Ÿ¶Á“!¾¶_Yh°4}õás›¿5qÉæ©.1q••ÄjXV­–ÝšÈs:N¦R±DÄçoHÊõya@ɆäÌñVÞð%Ož63qÃèus}Rx°²¾Ñ›–Ö¯op9,ñÆÊÚ:S!g¹·ZP#Ô}ûªÖ¦§ç‡×:ÐV ˜åÍPAcåÓxݬ‘ÚXÀܕ˘„ \XÌü{Yª…½ïD"¯À§EIý Bã=êˆøjó¢«$‰Å"F,q’ˆ¤b1on$³ªTD¤ÓéíEååå‚ xxÜj¸»|ù2Õ¶&]ºt‰ˆ\]]K9~¼bFÛE°Û„z1ŒjÿÍŸÉ#"q»šZ,—.Ô,¥`%®nöêêêÃ)!F¦|y Ueÿ`»^sWëPsÂonü,?í°˜”uwXUó§Õ°ÝÂ{€å¥ç艈ÏOÛîøÛd|ÂøìÍÙz""^—™ûa.w÷`Â|¸¬íŽYõ™›s) Ô‡!"*LOÏ版ËIÏáý‚½MßPo}ZzOD¼.#­€¢eÈ™˜T=?f–*}ÉšüÛãž6"e×öí_.½[Â`ƒ"gùä%'esDl@˜Ÿ!ãóŸŸž»9Ÿ'M ŸB—‘£'".?}snó£6€ÍÛœ¡ã‰ˆËKKÓ{‡>¡ij¯gFöÕ'/LHwô äô¹i± ×rÁÑS›<Ñkú†juŸ§åqDD\îæØ„t]3aiÕRÄ$€Go,04ó±¡ÐØðŠ©öëëQ’å¸Ì²7çT¶ôêÓðšÕØ%›ˆ*sÓ² DÄ;î>¡f|B)§¦þ`ÈÝ~ó õc‰Ï_³$ÝcfÌüèèI‰™†ÖxÉc´Q¡üö%i:žmÈuîG5€ ÙÆ®È4ë¨5æì+àˆÈýyVɽւY™ïÔ¨`~ûÂØÍ9:Žˆx}Þ¾Ä…Ë "g6õz“–ÔÍØ€YK—Ï¿·x[Üû®²´”¡®e‰ E‚Ýn®&A"Ùo\7_ÕU;}íÈ›ÝJ‚±Ê|âšáZµ™·ÙûÏîëzGW·îÝ»‹D¢K—.FµZ½oß>"0`@ý<öÍ7ß<ÿüó999F£±M›6íÛ·'¢ÀÀÀœœœ5kÖL›6ˆl6Ã0öÙ»Ånç/äË´ìÇë.‰d2±\ND"‘˜Á|ògçÏŠ]rÿÇ«gWÿ˜-ëèÍeì®ÿíæÎ¿ûòwþ-ëê#í¨%»MìRÛ–*XÁ²Ã_àö&Y½p1Î_­&è ~Ñ”’šIæýÂRÍí™"*:$.iÊÈ$•Æ/4¬¯b3½tjbâ¼—“øšñâüX¢»†%õ°øø‚„¤É/sDŒ: bit K:âe…±çMÎÓxuPÔ’ 5‘:|I´>!vÜËŽÌ]2×1ìKL* ^ïÇ…EOÝ7#nMȺ¹·Ý;aîm NMhTxZdRrn@tÀ°˜øÂĤ/sDÄxGÆhb"£C'ιV­ñ R­ipaüæ.™›¸lḠ<ë½$\Kdlb]ÃâSØ Éf$Õ¾O)bYJxs¯rÒFÄEë&¿Ìë£Åï04}W0D•MÖòïh»ÐFÄÌÌ‹]ðB:ëáì“×äÕ‡¿Ûºµ\²‰'" ¿Ü„k õò3Õ—! ŠŽ/LLšór’cñ1ÃÔ|Þ‡qªÈ”aj"õ¬è ±‰ûîzÏó`fFõœ˜¼*Ìoî’¨¤%Žj©"¢§ª‰(ladNÜ‚q/³jïa>™w¯5UºlPLʲ´ä5IsÖÖ¾O)|IJD`ÓÏf5^7ûÕDƒá^æÁjµ vÛ·Ñó¯: &zÎÛ“Hàí‚\*±©ÛÙ¥R[ÕM²ÙÈn·óf²Ùì¼Yì×yá\E¥‡‡›òz¹3#cÄ‚×+SÔ3ßÝ1B~~þ¦M›ˆH­V ooï©S§Êd²ŠŠŠ+V(•J“ÉÔ¦M›7nˆD¢ÈÈHwww"ºyóæÚµkËËËåry›6mÊÊÊFõÔSO¯^½úñÇ3f UUU-_¾ÜjµÆÅÅq{Ò Ë—Ê´m×Êì7+ÛŒŸÔnV$‰DUG•-^HDb'§öÿ|[ªñ,ž5…ˆd»X.]”uô¶\)Ô~“]s{â½w¸]_‘¤M[ÁnÓ$¯ãÏä]Kˆm;mfÛ)3ìwååaDäùÑz<­û­ºÜ„q±ÌÒ-wmÑx0 Ù+b“2Îïx0B¦ò ‰Œ‹Áˆ?,}úœé£7¥ {È_xOmJv»½´´ôÆ7¹JÓëDd„®–ÈÄ$&r–ŠºËÄÖŽy5ÜÙí$$ØÛõh«p׸µµT#ˆ¾º~“T__ß×_}ïÞ½6›íÉ'Ÿ¬{“’ƒF£3fÌþýûÕjuXX˜«««cº‹‹Ë믿~ìØ±3gΑ¿¿¿ŸŸ±,;hРŽ;Öì§TâxÊepˆ­´„?ý‹´CGå˜qN½û8æqî×ß5nIåÎ/›Mì¢uîê¹fcÅš²ZÕQÑvsµù§c·‚ñ_ßrê÷ —þ%ñY÷â¶*iŸ6¦:=Ù—ˆÄ,ë¿ÔRpÞR\Œ¤åîÍ›ý–§Ìõc 9é9¼_”7b´Vê ù«‚æ£$>7qr¬afÊÒa>?+]§~Âçá±è½¶)™L¦K/]¯0êþ÷aÕ™SDô¼›‹“XD"ìv¾kÞd۬ěÉf# /Q°b#qr–Éå¢*N0¾Ú1Z‚SèK윅"é]Bš ŽmJ>>>S¦Lùõ;\÷µÐÜù.?=aÉšÇ;å¢âç©Q(Ð$C·õ^e¿8æOðñ½>§¤T*=½¢ç‰Xßá bö/Ž\•o è)ú鉳/GÕ´)™/ïY¾tõ1DlïI‹õgÎ/m˜4–Ùÿm¾^o`ú-HŒ{ΓL?¥Ä/Ýqš#"F3pvì‚îŒZÆsç¬ÚWÜšù;)Þ»ü ÃÄäyO;2‰§ÿKqIê=§Õ Õí O¤îùÊ¢„9Or_EG}¡ç(rÜ©ÉKúéo߯éÊôSjüòÔÓ†ˆñò梅ƒ<‰Ìç·ÆÇ¬>±jíÀI½O¬:1}{ÊsÊ;ƒR®Î¹çs÷•bŒ%s¶TŽ”>_]j²’‡küˆö|öù…×Ü׎Q©ˆˆ,?|yþªÎË<Š#·IžèÆœ)˜yÜy„‹iI¹l‚—JWôNöõ‹f"’tyLóÖÀ6*ëÍ6^6>ÕŽòo^¹ÉWH³Â:>ßF8¶ó܇.ê§nVž­0—JعƒÇsŒgŒ|…KÛ˜—½—ݸþÁ×úýF;‘¸c÷èÁ*©íØÎsº¸>sóÆ/&kéMñ !_ïpóßÛJ¯VQÜÆ ^ö~übÑ;ÇoVñ$}*°Ã[. ÝÇÁmú š»òo»ë¢û¹Ðh4ZUOO™>\ùã»ïï÷Öß:JèÂgK6Z'¼5¥{½Ó¹LÙ'âoZÕ…Ž#)À£è~žSr  ð¦²Ó{Wo8jº×%enÏŒ›:aâЖÃÑ;³UãxÁ¯T| U×sÒOÏ“zë·~W\3™axÝwÜK ëÖmú<é%ýªø—‰ˆþôåô¤u›¶lLè}bùÒïÊË^{âc¾Ó.úü›o~Ø8ÿ8fùO&óùãWéF$ïúæ›o6N§½KWýdVŠȪ‡'n\9Vs+o}³ütï„Ïwùåö¤±†Õ1«N™‰2Ù¯ž½rݦ-¨¬J=o¦Ë;–ÁM߸{÷îÝÛ“^â÷Й©K_ü¹JÛdz™¿/Sþ·ùl¿—z7H*žƒF<ç¯$2ÿ´*þ š¾ö›o¾Ù•ü’áÓøÏ›=_JXÔ“ÑÌNÞ²ä9¶‘ýªÿÝû—ƤÒôµ»w¹ûóšññ_]þ"~Uþ¤]»¿Ü¸¨Ûþ:¾ñ»(e?Ÿ£.OÜ_sDL¶ªoÉ5~|·µS:t))û_‘ÐÑ_©ºfüå&Ýäö”HŸówª‹2 Y*8þ©®iS¼ºÞ,OøÚä1Øwó,¿Íãܘ3WV\°Cöãåã“2Åw®œ[ŸSÍ“ˆ‘ ¥:볡]WNé:n$~W=<Ì'eJçá|Åÿ.ZˆÌ_¤_=ÞÎ3y–ßæW½Ÿ))ŽÍ©"ÇR«ÎgåÄIOÑÞlÃyÛ·BYÓ&nJ×—ä¦9æçÇôØ<Ëoó8WVWqÖL÷sp›»%&µ–å–L™;ïïoMïiÌN?mRôs39et”ÿÅìsÔ=¨Ëmw½TZ/gœ5à‘u½ï¤^Oá##"KkܺS_® PîüÏÇ(àÅE;Ñð¿G‡8dnÙ‘uº¸šHªêÚgxø‹½Ýe–²Ã[6Ôµ)UdnÙžy®¬Ú*Uõ1qÜÀNÎDUºÌ-[2O—U±Þ}Fíoú4ö£ÓV"Úúï·OÃWîÖÁRe‘9Ëš›Ðú\þj+×oQ?%õž>‹Ùz~Ô¼nŽ–õ—z*‰H®í×O½z~ù$_"Ò¾4¤›œˆ”=ŸëÍìý6ß<„½=zœøê´zÈ‚'•Dä9"qû@R*å4oã.“\)'"Ï~ƒ4«¾ÕsDl#ÁíÈfìKþJ"’w2ÖwÕªouü"¦çØžDD¬VËrz‘¯ZMº=[¿Õ¾ÔÏ¿ÓKqKAŽÝ{7w xGlOuãÿäOÆmßn–×CoõÇ:CÃÏ»5¶_µÌù{ŽP¿DÇv+{ÂFî9mÈ«Ó á/'¢Nç÷[}Dߨª¹sç¬Ú—ïÞ^bº6ëÃkõ27³S""æ9_g†ˆäòÇ\臛vÆK5Èåâž«–g»ÉŒ:ãYeÛ×]ÅToQbÏyɈˆ+ª¸À(ç:îß´ióJ‡âسռVB$êêßÖƒˆHÒÑURit<$Rth×CNDÒŽ.¢vʶ]¥DÄ<æBûvºqã› Ù¨°6*"’º<÷”üÓœWú»‰TO¹©\™™ç¬tëa#‰Ô]býáçŠO(W©æ¿¨ºÏƒKDd=ÿñ¿Õ¿±5ì¯ v')ëÿ´·3Éܺªè\YõñrÛ—}Ê8p ªêâ¤=§{£Ñà×%¥zœ¤DV²ɤDÄå~]Úgøè=œ ‡×®Þ[èÔ5xb°¶êØÎí?~–bU/Wÿ‰oáµí)tòûz°óÑO7ì\»ÝsÑD÷³Vï¹@]‡O¨¼°g럮sš?oÄ´ âµÙFUÐÔ‰ÏtELj-9©hÏûŒC_›Ö[MDd)=¼~õa¯Ù¯to½•-ó©Ô½:½!rèÞÚ)ìÖÓ³?)'"†õdñAÎz²t„㉈V]›oX–áõü "œãÏÚÆ ¹ãÉ%óåïV¯ÚzBÏoÐñš&6ˆ»ÌÑ­U0j5ñŽˆb˜Ú¯¬ùû ÉôñÇ[ã§ÄëÙž£f/zóŽÞwUºcen}´Íþ0j–1è fêÔXX2Ú»jõW§ <ñzõ¾}ƒ›Û/Þ`à™žµ;#g=YþÇñ<ϰžlíÄn,ÓXR2žû¹Êsø=´—4õœ’D¬¨=™ÉˆÈJ$•?ï/Ýñ3gìÆ;UÝÑ¿CG"c½%dr)+%"ª¼i³Èeµ‹‹.Ë5;O"R4VH2‰¨v¥ÄÈë7ËÛyž¯$~ýg§?«™"X\œ8+‘ŒßZêö„Úæ­1žŸ6®ØR\*av˜àr{®¾—ƒKÔÌsJR©TzÛdUÏ ÏôïOö)ûñ‚SÀ_þ½ý}Ô¸\·Vê¾Óf?O{>HZñA–søë“ü•­zsˤQxkLò8Bs"õ€ãá#ïN›ˆÈœ¿ç€A;È×±3º¯¾:o&"Ó‰¯N𾃴wV·•½_òå¾K=RNDÅß.¹êt9gàu7’È\¼?užøš&*â¹IÁ³ß­~ëW§ÌDd¾¼wk>;ð9m£•tÓOKfÌK=o&"¹§o7õsXŠéœŸè~·'}Úys¢æH|Ô’=§ŠÍDæâŸ¶.Ž\z„×hä¼ÁÀ3­ZNd¾ü]ê ®vkž/æÌdnj¿jrŸïˆ~t$õ@1Qù‰­¸ž#z*YßÞýžçÍDæË{?>Â5vóE÷c™[Ÿß¾Á¸MÛ—”æ/rʯ¨ÔÏ´ir.ÖCÕ•7í(²ݸþE‘¨—¿ sŸkló¼ÒòÅñJŽˆÈòË¡Ëïœ47=·ˆlöJñú¢…Ÿýr“ˆÄ*W'•„Èz÷>¢Ò`OÓ‘o¿/T>ý´£7 ³²îJÜO›’gð¸`O)Éœ•n^Zw¥ŒˆjÞq"s|Œuw&ª6•š¨‡šÈj*刜ÔÊú+svs""UÐìÏÔÔ¯¥R¥ìÂa"ª.«²Rf1œ:vÊèäÓ§·Ç©5‡%éžÃ²#ý[ûQ*þ.õ´fÄ‚N ~•ŽÐ®Ný®¸ŸšM?ö«èÉKuzÛûÍ„W:]&b|ÒÇ‘“Oëõ¼zà‚„!í‰îè;Ö~DBìùøåãŸáIÓû•„„§Û3šÙý¢—޹J­ñ}iö‚‰ùÑ«¢â´k<׉=nԲŵ wz%qQq|Ìè‘<£é÷fâ›þr:ßX•¶çô±šøè>æ†Mïٱþ¾ÈRvL'í>øîui¹ÿœäµV¯ú8züRŽˆQ÷8)iíØ'•DýÞœî3úeµFÝsì› FåG/\¦Y;iD?~iä §g'Ç6¶_ËÕnã E º¥ËgŽ\ND¬ï¨„Øí‰ÚO_41?>ò…TVã;dì͉;†QkI{ÉmÏ)ɺh7557óŒ?óáÕ½†²Í•KuÌÐêw¾Ï0‘´W v¾VrGV¹GòWÂýú?ÂÝO½ûY¡S÷Ç íÙC‹F¦? Aìv»Íf³Ûí<Ïó<_TTÔ¯_à½ÃÍ›7“-iüÝ©—S[þnYhÞù•ã"ól_ù4ÊZ—¦>ÿ>kTœ9{xOUQÖ§ë6ì!Ó¢Cšý:¥ÏÈ™ÿyÛDçÆ&*{Oú½'áh<|”ƒ,سtüóñD¬vÈ‚„Ûº ´N-ê}÷+UøúÓÏ”9¼þÏI~ZOï;x4ýñ½ïcÑíÙz Œœºꉘ­˜ô[•¬ÇÌ„wPâÐú‰QHJHJHJHJðÿúŠñ ¿KeMxˆÉdoîÃ0HJðç$‘Här9Z– EÄb±““SóÕH)Š ö°$‘HPð§)’’’À¯$=p`?J ARzöÙgQ ð@‚`·Ûm6›ÍfãyÞl6¢X 5@ï;$%$%$%$%$%$%$%$%$%$%€‡Eð;±\+»¶iÃýß[ËËQ­„D¥j;8ÄuòT™«’ÀˆI³¦ f³X.o¾R$Áj­Ø·÷Æþï»®^ÛÌq¹¯Þw†ýïDGGGG/Ù]Úì墨§_¡‚OEG¿½íª‡ þ4®mÚ ˜Í…B$EûD+"’J% …½ªªlÃúff»Ÿ¤TzbIUR2=ô[¤™×ÐiÓ¦¤–á°ÀŸÆõï3År9Ê¡u3rSöÍÌÐòtk)=zØHªðAg×îÈ=\4rL'Y͇>ÿdGn™Uêæ?ÈÇZ—«¾[’¸ÇÔ#|¤4s÷)£Uå>-ĺ'uÇY#©üÇÍy5Pm)úzýúSÎÏÌ_4F¶IâSq£”v-ª–ªÂçŒD„j•,U™³¬¹ 4›ÑˆNw­–H*µ\+k.Jµ<(:j$·AÏø Ô’éÄᢚV%ÃáOÒrˤ=FL›ê^pÔX—ÅdR"ëÙÌŸ‘á}Ud<•ö~êÙ®#Ç=ãFÆSi; 4JÕ̼ç„2dü¸gܬÆÜ´´‚*ÇÖ˜“®î^•øÉ íߋ5KS¾.EJøShi›’¥èÀQ¹õÕR•Õ«·í8¹_ÞÉGF7 Ž–©úŽÔ«ƒ¬‡òòÑLõ–S=3rPowƒ)óèŽ2eïQƒz»WU8œVTZZEÚÛW¢ê;fdowêj=p8µ¨´ÈD9ãHµ6²/ÍúIJÊ'4g’¿õèú”L§ð7Fº?ˆ&%óÁ7ƒæjÙ2ÌàÕ™Ëû´öÆpÓ±O/~ÿP9Qÿ•Ù« õ •&%‹nÿÉj¢êÌ÷—fÖL:µ¿ Êç1çjS9»+eD$Sº+‰ê'%¥ZIDR'9»9Ɉ¬ÎR""«õε(½”DDÎNNDDÕ8J­”:ðÕ9ôIÊûïeX¬^ãߘܫ Êä·‹EYï/^üÙIEð$¥ª‚ý§ªIÕ7|”¿Òñóî-Î(¨z¬—“Ò™Èh*5Y¨Ìb*2¡l•°$Û}X:pd«ˆIL÷ÐÐ^,ss*ûx¶Þöó¥ñ â3.ã÷ à!IJUÎZIÕ;¤/wÇ/cæg÷Ÿ½Ñ«w§7**;¼c¿Oˆ²àëޤ„§V°Ô{äÈÖ²-žaoÄMôz¨‹Ó|iÛÂÙKîØ>o, ?¶0æ–þp-Ñ¡ª`ÿY+){¨nÕ’{ôU]Øö¹š4ª‡ÊzaÏúÔLSï/%€–3Ûv¨œˆÚþÛÇ;W¿ÚGÉ L‘ÙlF)À!‚Ýn·Ùl6›çy³Ù\XXØ¿ÿ–~Ï­:ýmǶûhS*úd̨÷/Sí¨ æ¢ƒÛ>Z¿íÐ/—Ëy""Ö³WŸÐ ¯½:¬‡²fKŸ¼øÊûÅDÄ ^¹oùe¡çà‚aó¾ç‰¨Ó_l{µó=m˵mG}ÒyÁ²Ø1=äDd>¸ ÄñÑàás*8è^F ùÏë?¤®¯—­ôleÆæ²/²5¹„Bÿ±GéÛ?8)4ú…nO·í]zýë‹Â]×íòt‡5‹·Ýš5~W8weÕ½6zÜecþèxsïûNd¹V柕ÝÔ§x[0)kˆ‰çMÇÞuög âŠO~¿>æûŒC+?s¤¢Î¡:½ÿîe"þж_LJ¦_¶Õt›ë4&´ó=oJÿØ/Âzx!¥ó’§¸ŒR'ÿ.²2Ë®” Ù0Õ“en2ó–·¯~yQ ’ÎÔL⤠ŒUÛW꿯þ¾WýºgÄøm¨uîýw1ƒvì\½øÕ‡öâ«qŸ|Ûǥʳ¶«é¬ê<¦»#\J?×XÖ[A©×„ÁÈ>Ð"ösû¸R•¢wG‘¬Kû¿ÏQ”®½4mRAäòª.3½&uÕÍר§Â‰•úL£ýÜÊKQ)UÔìâÍ,$îð”${™.êµK ?É‚§²í®\ϸ"é7‘‰ý‡9ÓIã©›·!…s÷³úY“ ³*$Á =CɰèÕ‚i“.}tEñÚÂv^2≘.,m»ýÆÅ¨•æÎ®þ ÇDçŠÍW¢_»üÁEùèm¯®-ŒzíÒGWF‡;¹y óüëaû[Ó&]ˆÝ'·È½·¢fuþ¥¥±o\üË_¯U<é:®Gƒ}ÿÕC& )ÔÆ-v[°q žÖß•¸sçÊk&z žÐË•n;in&(õ™Ðßå -c©´XH¤‰: Tv¨¸±åG«…èæIcúUI¿§A…ˆšÿô^f ""Æåï©Ý¿ø²î¿.¯v©ISÆã7NU‘ýêY+)YŽì³º=­ì #R8‡ö~ÚY}³Áwñ™ªo‘Â)¨;Úi*²‘íľÊÊÊî ¢J¢+×3/Ú‰¨òª¹’¤î ¢Jâ¯Ü8rQ ²_½j£«¦W"ûÕ+v™JJ$õ.¯üÑuU .}Wq^áäØBÞœ±ßb!"#µR¤j'úMzßÁŸÈåwGõ}÷ækrt„ö/NèugO:eç>žôýe"2]ª{Q˜kÿ1½èäI"îà¶“æ>}ä%¦ÿ„JÐR²vŒ ÙK+…JDîêe©íjS¸ò¢¸.ê4ÿi334hoiò9%»Åb¯nDD2¢K?V\Ò.¨cyE‡vÝyîßgíT8Þ~Óñ=2I;Æ~©²öa¡J›…·Sˆˆˆ'»Å±úú/B±u‰‹'{ƒm‘IÜbÕëÖE;Wˆ¨’ˆK½=‘ýÆI àÖ •^ý;7 ˜Ú!x3™‰ä5QiBŠ9ÖXT2ýòY]Pê£D¹@ ‰ý_TªJ¯Ÿ(%2 ü•Ò¨7*Êê®PÔF?•9×ý³ñ~R.ã¢kØ@§K=œ*”_²5úN‹­‚wD#ˆH!‘ñ¶ŠÊûeÁb-­´—î¼µ¶º~À“õú½’ü©’NؘǕ÷0[çÆÇ–S¶o|a9ÓØÀuÀ„>t¬‘¨d:öÙ1ÇøâÁo¥kW½»íÒõ”ތӠSP„Ûkƒì™ñ†KAvÀTö¢jô“¦~²ÉÚ¹Lš×®bcñ—¥Žy…«~zE°X¦YŸáW gÍÙW=9Bý²Â–½¶éÁ!*«³NÒë/*½Ž_/"i¿YÅÅòs÷·FÛ©ïÌÓÃÛõÛY’]*¸ôR½.ݵ¼ì\ã3×í»I àÏÐ×Lü5Ã'È[ôžWeŸ ý™c‡xâîX~½ˆèþ*jE{‹?èà9é=Ÿ×ˆd<dsɹ¦Æ4o°ï¦Š_uHðæYx`ZÍ›g¯íœ8<þµŸºcA;C‹iß«!1'‰¨}xêŽÅõf¨{¹,öñ>ÇâdÊzsØÂCü3}:fÔ»%¥Á«3—÷‘7µoxó,ÀÃëß<  Þ< ð{Q>>¦?óý÷+§Ë-¿ìJcú»Þ×W™Ïîü(ý\ý÷UÕþtnÛòå‡n=øÄt~u Þj ðû%¥~ø¥ü¹Œôs÷8/S>ìµa^¿É˜ òcÂk>)Û°Þ”ýƒåZ ¤•¨TmŸæ6ušÌÕ­™ÙÐû\šGï;h­ÐûI I I I I I I I à¡NJ–3k¢££m*°Ü6ýêWoGG/ZsÆÒâõß8³÷¡«"¢ª“«¢££ßÙo¸m:@kNJ¿=ÃÑ;2U9kGM›4mŒ¿ò¶é0é}/Yuù»ÔԯϭN^}û»ÕûàÆÉ¯Rw½`¬&'¯€Q“ƺË,gÖükíYUȤ^E;2ÏšÈIòꬡôù¿RNY‰hËÿEžöö,Ú±>Uç6*zLÁ{uÓì[±ûhUiÿšÕË™èÆ‰Uÿ—ªS…D/鎃÷€Yª,2gYsV÷Û¦d¹š±~ÏY£s@øÌI¥'sMµ”îNYàõžôÆãz˜r·¬Ù}ÕB$“QÙþ Cði#z8Uë2?Ï4jGN¨""ÕÀioŒ÷q® oõ§Gô "kÁÑËUDTUt´ˆÈ홾ˆI>']ݽ*ñ“†ÚK­Yšòu):LÀ#”ŒgO™ˆÜ†ŽìÿØc£Æø×¶M•=QFä5thïNGt#cîáÚÚ³Ôgä˜A½z Ú[Id,2»——39{i;¹;ßúnYýémþ?{÷×Ôçÿ $çH D‰U"Å •ŒÖP-ØJì[—8ã¶gܶhgÀÇŒ8Ýw*vf ;#v…©Lg…ùUغ@»Àè^ m%µ5­ñB¤°&Š |!A8IÀßá.X±ZP_χè!œËçs?¯|.gvìC3ÈýõQ³‹\æ£-nš»Aiêñgÿð…'èÀ›ÅÇÚ]®6]É›‡|×=¿&]JpG¸ÁÑw®žK=D$yŽ(TD'ìDäê±÷‘yÿo~¹ðµæ7 ˆˆAA<"â <"ºî·Ð%HV65÷ðŽ5÷’dÍ¢`ÔÛ´ü`êf*~³ðuË-y6ýÇÑ(¸»“_ õÚí=D¢ö6ûàö¢^ÉÚô Q½D<ß µ~§ù¢‡çVîoüÌàûµæ>… 4ÍÂÿÀg¼‡× &ÀäFGß-Š]z¿êƒAWYÕèØ½d‘YwÔlïi3T¿µï@ëÄ+Øñù<"j?~ÜÐÒîšx{@ôª(žýhÕ§ñHZäÓ,,-Yƒ˜HJY&|Mʪ‘ýDUÉ;Gy±1ADnQè/¤<á>ºïÍÂ’÷ÛDQO¬¹F´D<²XD½UïøºçÛ÷=Å£^âE!(À­çÅqÜmpš®óÿ—÷ŸŸö,zþ•ÔÔÚâÊ•+ýýý}}}}}}N§“ã¸sçÎÅÆÆ¢d`Êñ¦ýöœ?ÝØ|\ó©‚V=qb )‘Ë~¼rß¡ ŠZû³±5|n“Ñwp'Âè;˜¶¼QHJHJHJHJHJHJHJHJHJHJ·ÞÇŒR•”,\„R £ï”””””n5ŠnkÝÝÝN§³¿¿¥q|}}ƒƒƒ}}}QHJpgƤK—.‰Åboot^/»Ý~áÂ…Y³f!,LK¸uvv†††ŠD"ĤI‰Db±¸½½E€¤w ÞÞ^???”à ð÷÷w:($%ñÎ÷öÆÌ.$%$%€ïà†Ö¾ëüâ/{>l' Xþâ¦xñ¸÷Ì_ Þ5?úÒó1þ­•¯¿Óä»8奄™“:ŸÎ3Ÿt/|pa oà”ÂÖfüËýXÌ ¦ )ÙNm'ŸŸ¾.ÃWm+ý®+óBW¨Ÿ–Spàäv侨Ó||,4ôÁ…Dþ²'~äϱs“`*’’Ûf8ÖI%Ä4—têX›2AÂ#"²éöü¥®+ì¡e¾§ôg;û|‚$<û”<7Áö‘{l;\ñž§OÉ—×kÖ<ðYS;GäýØS ÷‹yä¾øÕÁjíévŽˆ±àqÕ¹ÿÙ¿¼k&"Sù®Ý‘É[»øþ»C}J޳uûèØÙvŽˆ –.y|M|„?¹Ïþïëåg—©dm}fê&6ì¡§ÿY9×—º›µ4_™º8"Ÿ€9$¨Ÿ'ÄpW›ô<%·í+CÇ<0gÁƒaÔ}úØE÷@æâñˆÈÒе`mÊWKyí§þŸÁ1ñöq9N¾WV×Ô9s¥jÝS‹Y‹¡ª¼î¢Û}ñ£òÚÓíËÖÿKâbßK§ÿöÞÑNß9«øÑŒ•Ïüø1 odîªûÿÊœíÿôúµ+%ݦ#ûÿ§Îæ&òñ!¢výáÎy ëVÎc9ËgØÈÝúQõg¦>ÙSÏý˳ªXóѵö⾸»M¶OÉݦo¸LÁÑâúB„Ò¡3GÍîÙs‡v³R>;f®˜¯5̧-½KBÇß¾`¼½wŸ=z®ü)ÎäÍ—D´r¬/ñØåë7.áù‹…ä?Ïïø±Ns§û¡¹¡<"òȣΡ¼xÌÐI47aMì|_¢Ð¾SüÛ¥S_µ¯P‘ÏœøÕ1ó}ÝþÍGÏëjëtÏí&r_l5·/œ÷Ð3çᦘ,Gs¾wIüý( ¸K“’Û¬?ÃqŸ¿ý§Ï6õ­½s#ç±,õ÷%âz»Ýn÷g÷½íÝDäêÏ#"žpîüû=-ñ¶cµÌ]}/óésO|Š\{7èï¹2_ºÔÝ9ØMäÀ#"ëË#"7onÂÚ%Ýšc'>þÛ‰‰|‚­M^3Ãï®?&«ßþ[wÚFÏ­CX€»2)õ¶~q†£€èÕÎ÷÷üûãƒGÏê[{#dQ©»­›î÷%·'›øúî¢í£ù³DĵsnòÜg ÆNvîöÓêãfšóOÿúÏòÀ¶¿ýñí÷µÎ‘ ö§sÝn’ðˆz;»ûˆÄþDÝü‚ÿü'<ÿI·Ãf>ûÕÇš£'Ô-ùÙ?Iеt½1©¶÷¡Ÿ¤DóNW•þO%ÂÜ!&5O©÷œ¾¹,`þ|Ùüù²ùòSßÙ£g‡æu}õ~Ýɳ§´æˆ$Ña¾ß²}Lh™÷ࢮ£µú3ͧê*ÞÓ|x¤ÕM}\¹{»ÛŒ‡ëš9¢¾Î‹m7õ!¢6CÃÙ‹#¦=ñf.‰$jýèÀgšO9¨½D4#F.ž(ùt~ñvþkoüïçºÜ<±?ˆe‘’®‹ÛVW^ÛûPò–ˆy¼ÀèuÉ+¨®üËn” Üþ& z[õgûÈÞÂá^ƒÀyч>nÕŸu,œKDD¡„ÙêÞ=ÒÙÇ/Jøa´f]µ}üU„ò§Ÿ³Uøâãw÷ù‡EÿÓSÍÒc«æí?töÃwþ7tQºD¶²¦©®úHÄóKœs¤öÜéÚjwàO¾¢ÐøyÚý·Ž}ø^¹R#&š ø@Âcæ‡?,›ˆÈ/táO)C•®ëÞ¯xî%žïPaF¯{1ÒÍ» ¯ë̕ՇZÚÝD<Ñì…ËTϬ]p{”úeÓ‘ÞÒå÷ò§ðœææäR[ÇØÍÌså/ŠoüaÖíCòçââ ›u›¼œmÍÉ.ÿ`Ѫ¥’—Lrð®ûóòc¿\Pú„™’Ëèî¨>ç«Z ¸êÒ.ÿ,=zÕЗZ¶Öä½I/ÊUîsÉíüéKÑû^ïÞnS^ç¾1ßœ=MôìW<&ãÞÙa×ÿâæææˆˆˆIƤÿþ/§g>–òÌã‘3ý\OÕW–TŸ_°9;u¡ßô/ש·vVË_~yùMv7Rzc µžoƘËÛ3) Æ 7×Ôtñï_l•F«‚&–¦8)9NŸL>VþlsI)°ßÑÝ/œ`õ¸{¸M¡÷î*®o>x÷+ŠÿÅæµR>æÂÇ_øEðçE1ê·Þýª­‡ˆ³ãžIY»0ÀeÚ·óÍ.å2þ?šÎ·µS¤*yéÅ´§ÚÚì¼Ïd¤. ¸Xµó÷MÄ4¾ho·ó"U/¤¬˜É'×Å#ûKª<ýV‘oHVJý\§þôëýOÊ»¾ljoo·<¼ùÙ]6iK÷ý½ÉND¢ðÇŸIy|¾]üàw¿ÿÇò§‚O}y¾½ÝNáO>ÿ :øú[ v÷©Ü§žÏ^×SùÖþ¯ÚÜDÄ }à™žýÁTw‹µŸ1ýöP{GD>‘‹æþû£AÁî®ÿ(jꈾ‡Îv_èv9üöô}«‰z?[vÎå$b_Lœ·zdgÔ¸?u÷Ôlú¯&Ãò/¹øqÛŠŸÈèÿ µ‹¢‹— ˆˆÜ]ÿñ§¦îļ:o*>Öxl䂹¯Sê_M%Ëêí8ÛúÛ÷­'9"þƒËçý›BÈLT׸p_kzÑù…ÿ,Ô›ˆ¨­5y_WÊ¿JOî3v(B¨©«©ÝIs$ÿ¾ ÷¯Gì­].F:w·*$˜h¼£;^/2v,¡Ó]­ÝÎvžègêûVuM«é“KB^Û ¼ž’³Oóô)ñzj6ýÙärR?±BÕ÷¥ðZGî-øì¸÷Ã×ÝÑ­úÎàUç!ËØKK‹^í)˜.¼Qp7éj:Õ.ZºlöÈÁkü™KWüà^?"Ûá·Jf>“ýÚk¯½–­âÕ¿µï—‰x<êi9#}fëË;²$jØ_ò…)[·ïÈVñª?¿HD~äni '3^Þ¾ã•祦ʒϻÈuñà›û›"_xåµ×^ûMÆŠ®ê7ß=ã"âñ]í ¦È [_ÞþÛ_>éª÷ó‹D—O•¾Yݵâ¿yíµ×²UüþR2pXwË—ôøæ—·ïx%evKuuÝ»öyU(oö3Ù;R¥ç«÷ðÌ+¯½öÚk¯¤D¶þåE×Ômç…Wj:f>!¯ÊXZõ“Ù̉¯ÆEDÔ×wìœßÏSäÅ?•ÿÜ¿ã?ÞïpPÿÉCgþܲû¥¥U?xuŽãõŠoZ‡‡ÇŽÿÓvÃׯŸóû÷—––ÿTöð¹ §úˆá V-\8nm%""§åÒ$Z7g*¿ýaBCV¸¿8ËQwÛ+ïY™•‹ª2––?;£ãã3¯›û'(k^8ôœ¤ïÞá$"êo=ÝÑ.™µÂŸê;vÎÿç¢KÿõÞà¦s¯œ ü÷yéO$LÓùZ[ÿDGg¨ïó&ߟnˆ.N“ÿ‚íüsýeš3ïÕÅ<þœûJS®/&à<×òú9ÿW_ZZ•S¼Ê÷ëÓŽ‘{ë÷~ð’ûØ9¿W3–î^"÷ÒîĤøàó/ÿê—W±›h;À÷ÏÕÓî&ÁLÁ¸³|ºZŽ´–ÆGÈä7}~ÞEDÄ›½bA fÎðf/ô#"Ah(ßu±ÇOBW¬¸—OD~ÒeRþÅœwu54´ÇÇKýˆˆ?s™rvÏ)O”á "WxæDÌ æõ\ìq¹ZŸ¢…ª3ùD°ðq9¯åpËÀn—=àÙm¨TDö®ž‘ñN0Sà2}^ÿoº\~ó×¾ô‚r&J‹ÖqÎÚÄ©çð‰ˆïyn;qÙIDD‘ ñ,""þ’h?²t´ö^®=ÛwÿòsyDÄ»_:««ó‹¡µ)ÝãþÔÝÔØËÌ™±Ä—ˆØUqâ™DD4kþ¬Ènku[?Q“¡‹"gÞ?ÅÝäü¹,9ºûÚϵdƒÉ#ynNßÇ'( ÷µ/œ¿d™ÈÙtñ¤›ˆzŸî[²ô!‘WäâÀ`"b}ç°^‘Ñ"!ù æðú[9rLxt¯ÈÅÁ³ˆˆ|æ„ú8º®®{~[xôÉ×ÿì½xqÌÏYFxÙ^}¼£©»?x¾ôµ§B‚¯ï~˜µ8d.ˆ&º4€é£ïànÂÌäÑ—ßô¸ˆ®Î®ö¥(¾ˆç>ßã"ŸÇÜÊã ®~Óð‚‘¿åºÜcë!AðÐF€ç¶÷ ¼vxW|Ozër÷´¼ù«_ üÓÕC³»z(”ˆÇ~íUÇœùxÆf^õ³ú/=Á‘+~”¬úx*³’£»ÏåË NÔ[èïãjs;‰O>^Á¬—g+Ãú»ÏI} ý¿¦aùBr_àú÷4îOû‚{¯gðf¿øû }<¹ç¹9¦ÿ<~ùÅUýÕg½W­Nñô7×ÔMÂ`¾³³ÏuùRzÕs>NºÂÌqùŒWtÍ ïÎ [áÓTyν$ÀVëý| ÓÌ›º'|¼ýyžßسcü£ó‰HÈ^ÿÅøþü' †:yœíçÓß±ü1#‘þð|É—ßl=Ôä HY‘4ÏçÛî"¯`ÿóœàÒ”¦@@¤<Ø^_gRm˜?´~ƒëí¾:jÃÂ`õ´¥¨{ @p]áÃÝÓÕCäGDä²÷ð|?X@MíC{zܼ™¢žñÒ›(@ x`óoR¥£Žeûök™¯Ü0_Itù›#¥…%%Ò[—NáL%a ¿—s¸=*ýŽÎ>CD}WÚ¹+­mÎåbý„äÄÒ×Ý}}ÚœËA¼YìPÿö¸?õñ÷õrpn'CDݽŽçPó–(ÛN. ã¾A¯Oñpb§¥íÐe_õ¾ðŸT”6wî¨û¤k¼Ò ök]¸7ñ„êù^[õ'çü?çœðû}'\ÈsD]Œ{tÇ$¯ÆKÀ Ðë}U õž5ο͟Cä:yäÌÖšæ…/ ?´{ÂûaÔÿ?W]Àt‚yJpWáÏ|ü™e¼Ïß,|çËoº\äº|ñTÕ›…ï¶ðf ( |yxÏ—4]&"—íËšø‘+f__7MÛáÃ&]>u¸‰f/ÍËCÛëêL."r}SÿÁy‘|éÃãø³WDÒéƒ_Ú\Däºxdß[•§._3–Ù{ˆº¾|ëw:|ÑED~3g‡Ný¢Ì°ÐH®£âœ‹ˆ¨³ýÎy/Yìïi7é­­n"âïõ šåë·zžOÓÏF÷I}Û…à{ZØ€7îOys#Ùî³Ö“½DÄ}zÄ64L8gæ úü¨S¸È3nmª¸[Ï´n-·1‹ÃUboáœû»meg]žˆRý^c™y Óllið®}áDä¹4$øœùúþ×Õiv£Ã‡¨×å˜ôõö·êO§U[Û‰ˆøsCYáè½]ã~ùÐd/ àû„>%¸Ëø-ÜðrúìÊêÊ×]â&â‡/UýâùR?"¿/¤\,Ùÿê¯zˆHþøæä…~äj¿Ž·Q¨œ>x}§©½«G´pÝ KˆðÔæ ö’·~ý+7/xÁºÍë¤|rMpFÉ›/Ý÷‡_¿KD¼àO%GúßýD°pyxuuî¯N%ÿòG+¾,yýW•.>ñy3<“"Ÿâ¥ïC_M¼üÛ÷ÖrDÄ_ùò<¹‰||îŸÃýñ¯Ç›:]Îàà—× ‰îbþÏjÎný“ÅIÄßóoêÙs‡»V¼Çý)-ž÷Ó³g~õ§/…þ̃Šûš_Ϊxmú’÷ó§§$.öü¶ð‹ß‘€ÿŠU _["‘è¿?Ý;X^s#çü»g…·qJc¨‡h‚ '"qˆ*ðÂ{gþ<ôú¾Ûšèèã}Y6w~Ь/[þùyÿµl½:Þs…­:kJ}Ýä$bX¿UOÞ·„çí±·ñï‡1&{iߣ›÷<%€›á–?O馻øÁÎßÿCõ›­Kýn³¢þ>JÏÝõEMݪ%¯Î¹©íàÎ ©ÿ}I&Wù]8fH;Z¼!4xš—ø—†ëÓwÞ’.XýŽr_Üöð5Üœç¾^_pº¶³ŸÈÝtüÒÑBÏâÖ?Ö»V¬ ¾s¯ÝqöÜÛüR¢¸4€ïFßÀm€™3÷åg~ÿß_¾NÄŠ^|úÞH^ÿÉ÷¶ï»YäËwì²i=e%'Þjg¬òÇ¥|¯0ú¦—ÛoôÝm ¥p }€¤€¤€¤ð]ñNŸ:R€écR+:ܪ¤´råJ”L‰+W®ô÷÷÷õõõõõ9NŽãÎ;‡b€é£ï”””””n5Šn_B¡…pÃf̘ÑÜÜŒr€»YDD’ÜBCCQ7L$‰D"”À¸0úI I I I I I I I I I àvÛì/¸ÚލÒm¼ÔKD<‘$êá§Ö=º `â_è:ýɧOÄÎæÿóCÁ+%­3Öf½üH0ꦃÉõ)¹Ú>*üþO/ ¢b~øá˜¹<ó‰ƒùÏ·O÷Lø+íG«ª}fîAQÀmcR}J=U$k™þH(ŸˆhͪOÞÚwŒ:ì.Pû±Ê}UG[íD¼‹Ö<ûì#sñ+ožpÑþßüò³”W3î3´ï÷;ÜD¢¹­Û ŽÛÔuúÀþ*]ã¥^"ßQ±kŸY³ €¨§å£}ûÞoìpûJb"Zª>½ñ|îK ø¨?¸&Ó§äj;Ñâ&š»jqè`Fá‡>òÒ/2~ʧöÏÞÚw´•÷PJúó«B/¨*9pžæ®Iy8ˆˆ‚NIö>:]Q|°Ñ>wíæÍÏ,rµ~V²ïX×èœ?Pø—C½÷=•òü†§Âí‡þòæ6—ëü’ƒ¼¨§6<ûé>½DÄCHšFºN8p¬åwÉõ)ÙÝD<‘H0ÞE‹6ü<‚/ àKÏ8d¾d¾äæ/‘HDÉÜðPË7aóÏWñƒg‡ \®ðÊ_Û]K†{•\æÏŽvE¬{öÑh‘Äuü7ûÍÇtmKøv¢ ë]LQ¼Æc9Š›>1Éðvá;fÿXmN]‚©fp&%H@dïhï¡û®îÓqw?øŽ®±£wâßïm9´ÿà ³Ý=Qk³ù‹xGñˆìŽA‰‚DD¼àP°£æ¦MLªì]•ñ‹Þ±}o¾YŒ°wˆÉŒ¾ã‡.žëKd>tô¼k`“ëüG¯gýúõŠÓ]çì;ÔØüÔÏ_ýÃ~ùTÐx­êïì?nv-Jùuî^}>jœŒ&õ¶wx’TO‡ÝM$ ˆDd·÷¹ÛÛ“¦WÛ¿Tö®ÚœÊç?˜ºù :ðÖÿ Ý·±Éõ)-X»&¢±²ùàþ¡1f‘Ä·÷Ò‰£ä»8J"pu‘«×Þvú“CŸÚ‰ÈþuKû¢p>ˆÚ7„†;ÜDDîžó±£[ÜD=m­m=Ã]|ÉC1AŸj®zçÞC¢¶O˜‰$Ä„Îè‰úìÒÊODñN8á¾ÅÍáæã‡>±9‹/ê^ ~0õ—Ñ.>¦ÀÀç׿þõd²Òœ%K%ý—¾inl2µšm|ɢǞyá‡÷øøß+ºp¢ÑtJÿå7¼ýÏ|ÕÜtÊ>ÕC³¬_5œ776Z¥kÖ}chn:þù©NibÒû—§šO´Š–Üwá³ãþQ¬Ì_,é¹xæxýgú†¦î EOüdƒrësÏ<©»åTSSÃñÆnÉ ©½é¢;d骥!>¨¿)¾{ø>ß²áÛ\Ô××××××ÕÕ5gÎ,L9/Žãn‡ótuuõøäjyçÕ£´8ý•‡y|Þë IDAT£÷âövåÊ•þþ~OFr:Ç;w.66%Sî¶ÆÖþÉïóª.‰­Û°JÔXu¬—x‹bB“à®NJÁ¥>c~çàÑÊ7OùJ­]÷ìên•ÛeôÜ0ú¦-,"SÆétZ­ÖŽŽŽÞÞ^”L–¯¯oPPPHHÃ0HJ€Fð´kQÁ ß!_ýµŸŸ_hh(˲(˜,Žã._¾üõ×_ßwß}7ý­¤·ªÜÜÜ!Lý ãžžžŽŽŽæææˆˆ„¥iÂjµzbÇóòòBÀd ¡PxéÒ%«Õ*‘H”àöhÜô¶ËwiQyÛ­hQÁéèè˜={6˲ÞÞÞ( ¸1>>>çÏŸ¿éïkÜ”p«ÁAAAÓí¬‚‚‚:::P;ÓDoo¯¿¿?b|§<ãííïï+†øâ¾€[ÕžƒîÆX9`ZÁ ;˜¶wÑäFß}üñǨ ˜”•+W¢ඃ>%¸{™+’cbbbbbVç7~/ãê3âbbbT&Ï¿­ÕÉ1111ÉÕÖï点†eLLŒ2§aJž¢Æ™õùÙ›Ô«ãb(UÉ›r jí¸I `º0U=³U—îÀ'0› T11©µÓ"†ØõÅ›V¯Ý”W¦Ñ·ØœDŒPÈ9,F}MÉö «TÙÕf<ûY+’cbÔ¥f”ÀÍ5¹ÑwIw ®¡´ÆB¶.ITYfÔëì ¥è{>‡UéáŽnÑó#¬z ‘xÄVž£=œÅ}ïÏ«°ës“7UZˆH›²5-I)ñœgÖ×åç×-šÉSž¿:wæ¤ïdc½‰( p³¡O îNv}±ÆF®NNRˈœº2­u*΃½e±…³Ô™Æ?à÷^Ôù™•"’¥ì-/ÈX=“ˆˆ•(Ô9¥å;b"GÝÎ<-†áMžEot¢n„K7mÜmp e±ñR1Ë™ê šÂmšêu{гs"#b‰“6{C¡>,A•–F½¦¢NW¶=ÕÌVç î´ÖçlÜ2pm±q‘ݬ×ékvë5šô½{R£Ë0 Ù-º¼äB(^º5Œ±55úš¼¦|JBbyRR¢®ºFç &:!Q&d¥rÙësÖo©±yjU!&§ÍbÔë5…zvkùÐ|¡-Ö9Å2¡MS¬ÏÌM“Ó2¨RYµqwv홊Õë -±»j ß0\}ƪҽU™RýÀ_¢pßzLõ‡›.nÃÎP9é«X±0ÐçÛöÐgýªî$£X±èÛ_ €¤w1“¦ÔHDÑIñ"¢¸”xF_g©)mLËýŸ0CDÔR©wRSâ3Ön× ó´‰{?_ï$ŠÎ*ߣlòLªÌ¯N-M–I”©Ù2‘^ch!éºÌìÕƒMŽ«bLEöNƒEVéêá.²â š;ʬDDd(¬YÉIŠÔ'wZŠ‹’&üê3iMDD²ù$ZœVíÎìËè‚ ÎT±%9O¯ËË®ˆ-ÈJ,Cäl©¬ŽÿÝÐ'U©6iºÛ„ »Ês.@¥ Õ­¦Ø™¯`‡*×i©©m-/ ©© 9ë·Ô´”åU$•&Kˆˆk,Ú¶Ûà$aüïJóW†=O·Tf毮ÍQ°žbˆÈVShJÚ[9pÒÉI ¹k7VÚꊵV¥§ßÐZ»s[…(:}oAêàµÙës“·T ·Æ–¶Y–ˆœºB]⮪œË d•T½¾°E_¤1©R¥"Er¦LÒP£3PXBzv²d0þæ×؈¢³ªŠ‡{IíúüÔMe†Â|½ª`Ú´þ§å×(šbû»,EÑÆÂ’zkÜ4™;gmÔ[œw|½qŽøu2}±Æ¬TKp7ÂX¾‘±KýÇlŒ^±Ü›Eö[ó”à®Ã5V”µ1±©ƒÍO‘"Y)$²iÆ.7Ж”9²W(D™ž(&"}¥~ôÜ&YZúÈ6¨T•Ï9´ÆëZ×Í®+ª±‰×e¥ ÇŠåÖt…X(&}£•ˆˆ‘¦æþnÇŽ]9‰#zDŠä„0"2Ö'3ÓÇTQl ¢ðôê;c£’²…DN]±nôõ…§e*…JFD£iâƒÚ-ž‹R 3‰¶j]‘ÎI$NÚ1¢ ˆ•ª³ÒˆÈPª1®ŸÔŒáæ¬H–å9ÛÔ4åðVyB9M¶ÑÇ&f¼xQ\jR8+´f""ÎXVa!"EVÖê—.RddÆ2DM©~àâYÏÉ0ñ™£NZ¶Z!$"“Þâ¹L5E:'‘lknꈗ‰â2s…D–áUËK±5]9¢­FDyÂBçlF‰åÑ#—ó)Ò öîÙ[š%GLº–Ʋ²&6)Nž,#}IyĹ«c”ÙµÚ‚ U\LLLLÜêM¹µ?·V§ÆÄ¨Kë«s’W{VÀWg–6LTGöÆŠœTÏjùqªM¹Õ¦Ák}qfòà2úJuf±ÞJDœ>[ùäv9u[VÄÄeÖsž—d+F™œ=ò`\cE¶çGqªMùÚÆêÔ˜˜äŠ73gÖæg¨•ƒ‡Èȯ<º¹T³©¶¾ U³î¿UÅÄ$ZRÑZzkŸ©ÀJ4LbFZšÂ2ô&ø.«áðcg__牵_™Îÿü³úOµÚO›{<·Õ…Ÿi?úèãOë¿jêp¡¼I à[ÿ3®¶1±IÃókØè¤1‘C[¬§m#T(G¯,ÆJâ¤4²ù;؈UŒþT$‹“‘ÓÔ`¹ž3iœDL´R6ªƒ&Dµ§V[[1ÐgÂJäÊÕ*•g†ŒÝj5›Íf³Ùdó´¬íöI4b¬ : …)ãÆ|wËÊ u-#w'V(Ä£¯OÌxZæŽ áä8¢Áñ{×ÉnÔ‰H›0v˜X˜"VLD-ºQÙL(—¬ÆsZÂ(Åè­BÏÂ1«D)Ç$L%$"‹ÎÄ‘E«w‘,Q1¦gA(#"§A7zyó«:Ï„b–ˆœ6û@™kZˆ(<áª2NP0DކúÑ÷Jx¼|Ô‘Y‘g%7qM³b¹„ˆlyEõ#OŽ•Èr©AéZo†²j‹0!U!"I|Š‚Œ#ì 94yEvuAíᣇÊw(L•Û74rƒA¹¥p§F–µïðÑÃߣfëvoÊwSé¦ y:qÊ®}åûöîPÚ+w¦z^h®Ø²¥P/NÙµ¯ªªª|O†ÔP¸i[…™XÅŽò7…DŠßUªÍcÉ®ÏÙ°¥Ä Nz£¼ªª|OZ˜~÷ÆMÅžÈc×çmÊÓØY{Ê«öf%Ø ¶‡¢·]»3y[™Yž¹·êï¯Ú›)7•mOÍXJ…e‰K Êœ½ûvoüqªŒŒeÃ×o­+3Px’ú– ~³ëŠõaÉjiˆ"-ÞYQÚˆÀd[´î›@¶ì¡¸‡ceŒ­©¹³\m'O^äËb]ùðòHÖÖÕb‚IÂè;¸ËØuÅZ‘§14܈”''†U–Xtã¤F$™xLÓ€‹…D›Å>æucÛ¬a"""›ÉÎ Œ`»§Ùä "‘Düm—ÐPQPXªÑ·8¾[£ÐÖ`#"˯> X"&²8ÍVûˆóJDc¯%"ºÖÊkS½8û$–g³›Íã;±â(1‘¬&ÑpÎ Ç•ÈÉŠ™qÎõª û2Q˜ˆÈá´ÙìDd3Ùˆˆ »:_ˆB$B28ì&Ûè;cL&œÄ6ºÌ-šü̆1vDd1š9ÙÉ%½6O¡_£@%‰;¶VoÜm0”lY[„EÇÆ*•J¥2NŠôm·ž¾XãS'ÉX•»¥¬¢1iäÄa\f¦']KWoM/Ñ쬩1¥Eyº1Iš–•,!"V‘–•X±±¦LoW®]윾¨ÈÈÄ¿‘“'""iT®Ã^ 7Û8 ‘$ì*WP˜Ô³ê†D–P\W¦1ÚÕ‘H̰DŒH,±DVM~M˜¸wWªœ%"Ir΃jKQ‘!)Wál(Ö8˜øÜ,µBD$Uï›×o(8¸YS¤q„%íÉRE±D¢ÊÊmÐm¬,ÒZ•ª†ˆÈÁ$íèm§Äæo¯)mHóÌí3k*Œ½#Qz«J߬)6ÊRs%D•š$ÚXbÈȽör1T]]½sçÎ1srrp7ß™z›t4 ÿÓ/rEÜìá DÞÂÙ3DD<ž»—ëï£Kxÿ ùˆÂæ ›šPˆ€¤01«¶Xç$"‡.gcò¨¶³ÝFDd(Ö˜UÉ’±Ý«€'Ü8#ZàW¯¿Í ½îz’‹çU sÍu¼‡žMÄÈâ×%(¢Äb!CDÝî¼ÛäÊÂéôô÷\}u,ë ON‡óꋞ‘$Œ!£Óa4Ùéz—è÷¯Š(OÛÍú¶™]]Ú"®4O¥0ãu‰yÎÅ9úø¶@|èï"i´˜*,Nò$%qôð—%lX¬”jL3·ztŒ¥¡ÁAÒ±UªÎÉWì1WìΫn0Yl¶Á 1ÇøZÀóQaÔšˆ‰Mî|É¢HÓ 5q Öhr’4N6ø+¬4A).)óü¢Ik"&vD?*+Uʨ²A× |A¦êÄ)S•ÂM5ÅúŒü8™5F&v—ò–Ý>&M±ÁfÙ¶*fèV¬ÿ¶§Ü©T*"–“îpãÌSruø‡oDn""r9û‰ç=ðo†‘T€¤p fM±Áó7[‹qÜ`ÑRVaJ½Ç9¯nð4–G-kÍ]ý2çÈþ·4oEMoîP¦âœJ ‘päÒDDfGM6)yVk#îê‡g›Ä‰_ó¢Â•2ª3±FoU]cnLSªÏT ½ÙØ‘« Ë9‡zŒш²ì¸7±ç½Å™ñ¾ÉY¿¥†bÓsv)eb!C-%7•›·íNrÖmY3æî2;ˆ#ÏþGœˆ(L8òE£z[VÄcx,'3bF!¢ Ó”•Ô[ãV;**Z„ÊìØ[u×r ¥Îu{gÞœÖÚM답V¥ê[Ž82,!&ÁUøw»Ùä$¢°I +–…Ù<ƒú¾Ÿ±p"‰\©–+Õéµë·ë,Åúôü8D¥q¾…¨(3RtÖž¬è£9-5Û¶•\³èâqÚíDÃRöÃl9»s¼ŽQV$ÙmÎñ²‚ÆÁľ‘›:Ë8˓ё˜!F±cï˜ÌËÃXÖâ ÷ÃgÉÙ-ŽÁ(Lj2Ž:¶“³;I(ÿfd£’Reeye:³Ô¨±ˆU»¢oÙ%}±Æ_0bŠfˆb]T^QI•ô­¿ì Kz½1 Æòñ›)"ùK=¡«³µÕñ}}ò””ÜuµîºZ"’}rÅw4ÎXVm¡áÕÁ¯jÔÇ%Å2zMS¦Ïè°qè4&N>¢9m7Ö™ˆˆdq£òm½9C:b×Ö†º"Fɯ§5ÍJ•2¦Rçl¨ÖÛ•#:ìÚŒUÛt–´¯:S<ªF³jŠ´“Ÿ´" #£Å¢Õš2F=‰3Ö4E%Ⱦ{Ã($!}]áÆJ›¥lËÎè½¹«¯*zÎ\“Qi#²ab–ˆD²éŒ}µ‘“l r&g}…ÙMû¿®Qc´+GÄNΤ58‰HÆQ˜R!,©q«uVõ¨ùkV}‘ˆ„r夞N"W†“¡ÅR­5¥Žy •µ¾Ö ’ÇÊ¿ó£a­ Z]ƒY”S]‹}uˆh໑‰eaÌÀD4›¾ÁFrÏεèÌDQŠ«ªS¬ ©¦®Áš,ñÔ¹"#£B”¹'ËépŽœèf7ThãÝõôÔšm¬T*Nîf‡°Db¹„¨Qש<}´œE£µ‰>c¤¤3jMœbàóŒ3iDÒø0–h¼•ú$ñ)±ùÛ‹ m–ðÔ[·–ƒµ¾DÇÆïõy¢XeÙ]Ú¸Ny;P©Tž¼0?ôþ3¾:}ø##ÈfÞ+æµ¢L`r0bîv}±Æ1juð±DŠT¥È¡-Ój4Ø*òʆ×aâ+ò=;R™nÜR”W=¼Ø˜]_T¨'"¡2éú‡H‘–(&rÖååÕš‡›ù:" W«£ˆD™˜ˆ,šzÓˆFFþ–|³g‚„}xH!ðžÆÜÄMRuZ´ç´+L܈r*ÌÑ8ˆ„‰iŠ›HXyæ)2"²i¶¯OÎ.­^¸Ž3ë+r’×î¬s…'d ÄÓeZ/®±,¯ÌBÄĦÄß¼­84¹Eõ͙jvW؈(Z+ñœ|jj8òójG,cfÕîÞ­'¢0uÊ$¿e—&¦Å2D-…Ù#×¶ÖçoÚ²}ÛÆŒ2Ó$/`àº6ãàÜ-ΦÉß¹{wööŠQk‡qfM¥‘ˆÄr)ƒƒñ?F-ˆ9”j‹‡–€sêsó*ô&«ÕT_¼3¿eôZp¶²ÚF³ÕÜX›—£q0ñWïXyjšŒô;·Ô646ê«s·åë,a 2‘HNm±¦Ñj57ÔægäÛã‰lz£Ùα¬ˆ!2ju&+…(3Å-…™9Õz“Ùjn¬/ÍN^»vS™‰ˆDÑI±ŒC“›_Ûh6›ôÕyٚᆒ„ô¡¥,;¿ºÁdµšªwfWÚÄë2â&¢LU [4:Gtê­[ËBV﩯ó0»Áqõµ™Q,±ƒ»”@÷øÕS"~È®\èã#Z¸òQEŸˆˆ|®|TÊ'"D÷èã*W>¬ˆ’> \‰ÇÎÂä`žÜ-¬õ%uÎ1«ƒ_•U¢“”BMcôxáëì…VU+b£Ä¬ÝT¯3:ˆEfÖ˜™&ÑI ãε«Ëbã¤"ÎÖ¨Ó·8‰„ñYé×;-„•gìJ1l,1j¶¯ÕFË%dm4´8ˆ(:=7IJD¬<9EV¹ÛhܬÖ)åb²ëuF§bëÞ­Îm -–²ì {\BZ¦J"’E‹Éh³”¤ªõR«Èz#㪆ŽD•û;ÝÆí}ÞúÕ±qR1q¦†:ƒ…ˆd)™Š›ÔsÃFeìÙ+ÎÞ¶[g3jvoÑì&b„BÆé\0B›^0òùB"eήu©[*%Wi±Qa,g(ϰu»vÜÄg†%¬cË6­ÖFÇÊ¥,gÒ×lDž’•8ƤIùYúÔ<]Ýö'W—Å*¤"²™ô:£ˆQl-H›t»-dõŽ\ÝÆm5Æ’«jd±Ñžê"f°š'U¸ÒØpÒµ8j6­7ÉÄ$ÍØ““–•¨ÝR£ÏÛ°¢H¦… rÚŒzƒÅI$NÜ‘†¦æŸ„äqny‰R-ÛWSÚ˜¢&"RlÍŒÖ䦿µ8ˆ+’víÑ5¦ÎL´oYo°9I¿uOθ“ѤÉ{ö²yùE;7–8‰G'ì(ÍR†…$åg3 vnx’H½nkn®Â´³a[Í–dÛ®êuZ|ÍÎÊmj;ªö¨9ûÞænZo#"F­Üº'+YêÉ6¹éÙ9EÛ7T›”•›”¿qpæ•(nGé.q^AþÆJ‰eñéod¥^ëÎF«ã„­!)-uué›_÷]=a—U×è¹5ÉùÉÜæRUF±*û:ÞêÜbõ8©W[¡Îªr«þ[•_;rxYH\j~\êø»—%æ–§NŸârlÄ(ç²ef2s¼B¸ÐÑìúŠz‡81=7ܼxæ)Œa­M}r»d;þ^ªºVÖT¬^_ØBŠ7í‰CsâöÀÕg¬Ú¢s†¥”W_Ý×0Î-Ó˜»vC¥ìÃã,ˆa¯M]µÝ–^^:åw“½>Sµ¥N¼nGN²BL}qîÎǺ½UÙ“]òÐn6™ŒÕùÙ%¦Ø]åù7Ú¥¤×ë Å4¬Ïi{bw!½^¿xñbßÝÃwâv»?~Óß׸/Ü=;òòŠò6V:‰H›´ëú‡†E›6”YÏ(BŒ¼€»’À·a£²kN4²N´ºxÂá{Sp¦ªœbUÎwÝIfõÑLT;Üå°ö’L¾¾¾½½½(øŽz{{}}}oún±¢Ü'NœˆˆˆÓê¬zzzš››-Z„ šÌfsÿ½÷Þ‹¢€ïâüùó^^^‰äæî}JpKuttL·³êèè BíL!!!‡Ãl6÷ôô 4àôôô˜Íf»Ýró—ŸÁŠp«ÁÍÍÍžÈ4z–zzz:::ººº"""P;ÓÃ0V«µ¹¹ÃðàøúúEDD0 sÓwŽÑwp«8N«ÕÚÑÑ1ÁžUHHÈ­hQÀÍÃÙ­vŽ…ˆØ©=ô)À­Â0®¶ù IDATŒD"¹é“àH¦Ú¼ ½ÅIDDbźô­ª(Ñú”¦ä&øü›5?¹ì½1ø'sög ®39sÇ.<ó¢;çÓ{`§Ãõx×ά¹gþM8™+W®xyyḻØõù©›ÊZˆˆ —Šœf£ÅADa‰o”æÄMIXBŸÒTaüÞøâÆs»dÆÛ’ˆ×Âõ¾ßùÈÃ÷ÌŸz€ÉIy™e-ÄD§ìÊP„ÙJ·mÚ­¯Ù–£¬ÍWNAVBRšV8GÖÃmâtÛË­çûÚC„9žùyë3yì›ΜÏQÿ™Ü³›O‡¼½µgó‹îœOï½ÿÔ…gÒÝÿüˆkß¼ìç,9ßžŸÕ~ä<yÍz\œ“sO8ëþàÙ³û–‰²Ÿ8ï¾`çÿ°pöæ%>–¢æ(ÚÑûÉ1g«Ù¸;ÈYÒþa³ó‚ÓwÓ_%OÏö¦®Ëû³.îý¼ˆ‚—fçÍX@–¢æxϦLJ§ÜÎ_‰LŸûÜ•½Ïš?µ^ù|Mó±ÿ Ï ±çmµ9…ˆ„‹²w‡>€z€k±ÖhÄÄçd(3‘Hž¼k—AµESW¤1+Õßÿ(^¬>½xçþä¸`Û;óö}:w#×õÆ»Nñ#÷w96÷qÜÁû—üÄ?xè7X/²öYöÞsa/¼h³üèÞ÷¾ˆ<ø©dù±¶m…½D^,]i:àzjwøÞƒóÞXãúß<»ˆX/çñaúì=¥9‹{ ~Öœ3wïÁyÙózöõrÔw$ǼÇ~Ï›ŸFüBº™íÜ–Õeø-;½xïž÷"ÞÞí{2ßzŒ›ÿK<—ágˆÈ^FÇr/}µ8ì½/"~!Ýá<ø‰ • ×ÄYt&"’«£»ŽD µ‚!2Õ[¸)8+$¥©â¼¼e±ñ‘Cšßöd!Öûç„b""Ÿù^޳n.@øÌ²þOÞå8"®¹óÃ.Á3ËÆtòŸzÌ—%âš»Žt±?þ‘/KD¬à‡Ïñ/|pÙBDDÁD‘÷¬Å<²ºDDÄ,=2Û›ÈkÖb&"`ù "òšáí8ßO\ï{\Y–ÎoÙ‹Bæó®“3OôH„7‰"˜`ê³uJzÂÙÞŽÏ;~Òkãx˳ïÍþ'>ª¾Ã]•‡œœsè‡ß;Œ¾›²»a¼yJy .]êEäYÙÀgIŠÀ‘ÓÕšÉÒÿtÓ#³–ŒÏÆ0ÞbÏ»ÛÁz ÷) ñ&»ËáÙgˆÏÀf–ˆ® ¼‚õ^%•õbîR/""ÎÝî¼rò…æ§Øskïó[>Dýc’÷¢ì¹¹%Öý¹ß䟽2÷±{¶åÌx“—àZXiœŒ©ÔéË´æÕªÃì¬õez'‘,6|*²’Òí@´,h9wáà)¡óCZ^(`ÇÉÛž×ñ„œÓÁyâ9¬}$â oì¶byÁ"ï§þ‘½dT·£åÛ‘¿<-lyÑ¥Ëû3Ïgçø½÷_þ,ª®ÑÜMW‡éÊ ;7eÓ®,U”ˆÈnª-ÈÜ®s’0!M2'…Ñw·GÌüðúä϶OXÿ^8a±po¿ÛËQ×åÿýkßÜ Ãnðˆ¾O/£Oþl·õ·üÍ’•Ûm¿ÆëWÚDäÜÿ“³9sÍ`çÏÆí×ÓøŒJ/ت`È¢Ù¹aULœ2.fÕúí•-DDmQEãTÌSBŸÒTq^Þ²Ø8j˼ýïMÔûâ}ÿ³~ÎçìÌ‹¡×zfë—ñ缬ož.$"¯¹kBw¥0D}7t~>Ëó$³.n~ð’“®0³ý6æùŠˆã¾6Äï©Å¶=5É ÏMÙÑòXÖ†õ.eçß%J‡Ãn·÷õõáξu|||D"‘P(Du FÕêÔÈX¬4yO•¼¢¨°T£oq8q¸<>9IÑX°½ÒP¸qíÝ“õý6,ñäY˜^nÇ'ÏÚíöË—/óxøÞá–s»Ý~~~"‘ÕTªP#wvuŒ¨˜'Ò2ñ»ªò¿×ax¸¾+‡ÃÁ²,ÇóòòºíbÞm¤¿¿ßËËËáp\ûƒÕAu :P€¹ªc˜H‘Y¼‡Ù–«—ˆ¾ç±JHJßU__ÇÃWP·š··7]¾|ÕTªP#w|uŒ K{*¦àTQ[7ë=·Úu~Çê@ :P¨@ÜÕ1õ ·veVÚ Ü´¤Ä[™À[´Äûþ%f³ÅSN"‘ ¾õ];Ï ó”¾›Šòýaaa+^9™®ŽIíí¶?ïùã¿eýÅuô»¯´~zE“yÅÝKDÄôx^yà’OxŸ@,—Iéÿ½rN÷ÿ³wæqQÔÿÏÌÎÌÞ Ëµ\ r&x€(h‚–XÊ·ƒ¬Ð µÔ¾yüR+µ¾ê·”ú¢™ò-µòʰ ³°–c–Ýewgwf~¬¢_SKý<ûÐÝ™Ùϰï÷|Ž×çxø¦3`Õóš"þû—0÷»£¥ÈxÞ\üþe]¸¤€†ƒÅMŽl‚@ ne›K6û-–e9ŽsôVv@}–ˆ[‹ãért‡ã8N„ã †a<ÏÛív†ajkk‘Rú}Ð:¥{‘M79VðÁ+ŸyfEQ×gŸªªÊÉ“Ò ¾4í¥R‰,ögK¤ ¹²]Àó@P-½ž]uÄVV§µ³,Ç•÷ …Ÿß!XßT¾£ž?õ1´Wó DZ^#‘Lúû`ì´f¼¿)-²áß»Ùä‚À1«4àÉQeÄ­TJ$IáhÅ"¥„¸JÉñ/Žã8ŽÇqÈ8ˆû–eY[»«5{öÿÀaÆõ([ZZ^xá…ã…Gãú\86vÈ0TDÿ‰¾ »û¨; ßÄUgU' ívÖQ4¹(|¼T¿\'×òçw­€Þb¤"ãý}¸p©êïRÆ sG.RØY©žøÔ$¹T„,ƒ@ n¥R×Ë$¤”·I)uKŽÑ$‡XBÏâ~Æl6+¥¬"Üí«]çßzsAÖÖ­z½Áh4:rŠT*ÍÏÏûùç#!Ê}]4(¿ü)]Z°ê†Õ¸&½½ŸjmoÂq<$П¦(³Åbê4ÿ|¼øèÉÓJ'E€Ú+^ÌEˆÝðÎ(ÛÍó<öàb ÅȆ9óê7ÍÓš@!„OO»¾µp†L*D–A ·K)!w‡Lê¾ñÇsm ÚòÍ_…Ö)ý L&“DÈ¿úâП êŽ?1ñÙÇý=©†–΢êgÆFØX¬ðt=ë“ahšZÅn®|/œÞ ÕÎ#ÿõÙa0ÊeÒÞ~åU5ízC÷+Ûõ†Šêº\ ë:v’ï/ý®l†žø^yUíác§žKyT @Q‘þxžß´mÿ³‘†¶N 0Pˆ°q$!™„@ nK› …QBüå’ áÃnïÞ»Áó¼Íf³2Vš ìw¨!þ¢¶Ã'<Ïsç˜zÚå%“É!j§‚o'L|X  Ã!¿°áÙÿ«[± VLcŒ-«1öñ—oÞq¾££Ùóf½ÀÁ©O€“û}XêÞah–ˆE~>'N—€“L<ÀOü`éãábyütÉ¥œ56·œ<_S^ï¾$áq¿¦ü¥]zû[_¶˜Ì€x.e,²ê_гÐi5Wäõ‰ÂjÛ€À¡Ù„Ñrgdq»”²â/l>"#Ü„Ñ8žg¬VpH£–&ݹý-þQr!$I‘$ŽãH/ýMà8Îh4hµ:±XT^vé³Ï>3f̘GÆ:Ü"‘ˆçÃÀO%åy>ÿT‹±õ T<3®ˆÂ€Š Â{)@HზöÝ$ÏòªHÌÔ˜Ã'—Õ” D\tÔ‡Ž@Ÿ¯E}/ÑšcИ w{Q"56µ<ˆ{{KSûg·e}Í뵞ï/wš0ÅôӾƗÓ$Îi/Ò£#”.7—òÉ“§êâã†nظiÖÌ$I"kÿ¡z™¸Ë2­@ ɸáÃyûbÛ¶]»÷îû¢4ïuiÉ;îçßrÕlRÔfRçÞÑ•n¬/ß]W[¬ijhÑ †±q‡a<ŽAÜúâFtttÌš9ÓÕÅuã¦Ïsrr¾ÍùnĈ‘`·Û?Zóñ«¯¾jµZ€$I+Ãò<ïªÎôÀðîåõvo74¶Úæ/?öÝÁ*À°N ïëã‰cÿåîê2ëÅÔGG ë4›Å"ÑÜA&ÊT €a§ãiùøÈt‚ þoêİÞ<Ï9^ €¼¢ËMòàg*ð÷QqwîÂedÎÛŠÁh©×hÏž½øŸÕ_Ì›û–wã—£|jM ØØ+K2Í60ŠÑ"¥›à¿—þ¾5ü|Ûùî3Š2}3ÈÎÙ€a™w>¨Ü¬ìzùoõ7Ø ÐØÙôeÐöªí¥ºR¿m~ûêöuïú±öÇÀ/Kt%ûj÷ùáÿ“æ§®³Ï}RúIø—á-´Þòx«Õz¡¤å½%5cGXÎJ‡GQþ®ÚÖØj«M¹y Â.W”ìŸübåðpíÊe¶ª›)yª«k¾ßµêêêPØá?SB î6Xãy©H42!18 ðÐÇ­/7Và!ø ‘ÙŸÑ ¬å´%')œpµó>6«ÚØ¢ÁBq²·Xâ,•H$MWš®@#N·¾æãùü¼Ã#F<øÜói]‹”2–gô <}漓\:rÔ(ÃyžF±8óäüiQÃú{˜-l[‡­7Åš-¬åVo.ž=9ÊÛUd2ÛN_hú¨šVyKÈ/(€z)·ôýJ×Yµ·êµ¦•^º 2©äá‡í†ãìXÀ‰©ütz“«-¹œ½P÷î=>T£ÞMqÅ`,5´ó8ÖÕì‹&)Ùê&8Ty¨ÔXútîÓ[¶†+¯ n¯Þ~¢åDÓæ&t;ÓvæXó1–gi‚;go3·}SýÍsAÏÓž»¬¿¼§z®ÆkÚkNiOòåH¡TWš–—Ö`h8Þt\,W·T¿xèÅÏ>ì>öÖî|>Ã16º††õÿµoXm¹XïõÅ—²GŸ€Îcyå‰YŠ&r^K±:›ý †S:}Äêôší[#óÎ`8î¨V, EQz}‡B!Çq¼¥µ•"I…Bá¨)8Žkoo …B!-¤i¥RùÞ»é4Mó<ßÞ®ÇqL¡P û#¥„@Ü[`A"‘ÐÛÇû°ì]q…­˜Í9…uÄöƒA8fÈ&šnƨ"'-@ky·êö(®5ÁI6ØOî¤ Ã1 'p'ÇqÃq Åx¹¥lßžýÎÒe]Å0ÌÃÝcþ‚EŽ] kkkdzh¬)Àê›;3ÖŸ;y¶îL™À1c§­±Åøá–Ò—Ÿ mi3Ÿoíþ2ìM`³Ûµ:=ï"!v#“µ Mà%´kÌ7¾ÇW”Nò¸è¨ëRêaÈ ·™õ_åÕýâ¥a‚¦Þh ÃLLWÇ΄8Þ@¾<5 ™ë& $œÑIû)­ð±BÇA !!0x€e'—YYë{±ïÍ Ÿ ÇšÚ5jWå®ç‚žÃq0 q’ÄIÀ»ÚÕVo¨ø:ƒN[ç ¾/ìé½gSͦ§sŸ.z¼¨¢£â‘½ÀÛƒÞö’ ]æ¯áÜOyV]SŸ¢íå‰me° ƒá˜ûôgDƒGXŽ’|³Ý ¥G»–=Þah:Syuf^¯Ÿ¿à͈ˆˆ?ühïž]ß|ûí¾}¹<Ï¿6oîðáñÇ­ü`Õþýhš P(šY³_ݼiÃÁƒW®ZMSô‹/N7v,ªù‘RB îø«ñîìv»¶I¯¹ÈÈ”"©—Ÿy¦ŠÙìƒìúþDÜ`ÁP_P p ÉfÅp3àí6²A߯èõmm8ଠ#dæ$¡¥Z!§rJ*¥(Šº„ á¦›¥±±¾³³ÓÓÓëZ‘û‹9M&Sqqqö—OûNDÚ {8ÆÓG%ÉxcÐêÍô¼£àBU»^o‹îçvŽå nhMÓȶ7AmCÓko¯dÛûOzõªýŒw Á‰¾ÀwÍBçP'÷ß…½‹\4ß>8XPÑÊ;‚8Š>€á€$x ’ÁK’—‘½nZ,᤿Ôÿxóñ”})Ÿ ûĉ¾ºÜ ƒŸ›~þ¦òo‰÷ÔЩBB]>ü˳<ðN”Óã½ïãÔ‡‡_f·ZZ_8ü†a~¿*c.À`ݨu­ûZ¿¯þþÅÃ/6˜pÀg÷ýfÔ›Èø=è3qÂáÃ{ ­íÎ8î}ꄌˆûö•Äø¨[çÍž?¢ïhă%,^†]ôn¶XÛÛõ¥çK³³¿<{ö\£¦é£3;::þ“±\®uè;.—W,˜ÿzCcãž={ƒƒƒ;;Mb±¶~ñåÊË5MMEEE6›¢(䤔ˆ{ ÇY–m¨ÑêµíZ£ØgU>`ë, \1ÿÇÈ×qÌXÏŸÉ·ïÃÀ®ÀEJL¬Æ~ óÁ"sû¾ÕóëK8«#ø6tÖB³M‰[ýܘ@µ%°ï§ÆzžÞ"¹B(’C2á8Ž$Óÿ¨”šƒzß°£ŽçùóçÏ¿ùæÂúÊâÙOØÆO¥µÄÁR«€À1€š:I…E ÐÒÆ4ë¬Ñá.<Ž7ø¡‰F7‰"Á€­Þ,쀛4¾µjÛ«LBÌUªHÌ'¶§›Ú«¡l´þ¹U¸»º4·j œH¶QÆjÞ)l{‹3N“þBÞç#{1šÀ1౫›Æñà팭¸qÖÑY_W~í'ó[>x9 ,ÈIùNýG@>þ±œ”o¯Ü®³è É7‰~mÉÚÔàÔz¿à'õ«2T9 4£Íølî³ûë÷‡¸„Ìé=祂—· jmüÚi0íëʯ`rèäÅ#Ëß €j¨*×±¶‹¥ã]hðº\ÂÌš$:uÖ‹½…ahó‰ü„íÙøÿ{Ý1ûŽÀq›Í¶pþ|OOÕ—_në×7âÀÁ†íÛ·ÿrEåÔ§ôï嘤W^~Y à8À{{y}ñŗÆţèH)!÷<Ëb§p’@(]¥f­,iÕ«sPØ‹Ák…b^Ú‹ÄÙ¡­¯kâ*β%{¹j#׿k‘õÁœC1:p'ŒŽŽ#Œ¤±]ÒTçNq ¡ÍÝɿ寸úCÂÛB¢À+€4MI$š¦ À1E­nú}OqAà=”Ïóííí۾ܺe}FqiÒIê¯` Ž J/Õ^ªÒ+E$‰ï:TYZeU¹ŠŽª{ü!³•­kî´1œ»¿Êh4Èd(üÝÿŒL*¡H²Ól9YmŠSмEŸèk)<«ÐT?¹©WpxU]ß­Ÿ61ÅÙI<ÏWâòÞ£0b7ñ›Â:Š"CýÏœ/ ð}¢c×Q‡GÿöÖdžï43Æf63ßå|7>ÂÖl’“ § ^Jó k8­‰73p¾‰[²Ãþƒøó¬‹M(Dí¼›áµTýQÜGIß'­8½ÂKì%'¯”-z»ÜCäQÐ\òcÊ/e=cÆô’õ÷øñãSƒSÀKâµîüº}õû‚äA§’O­?»¾{Ý HÜEîŽÁ'/¡I gÝ€³ùGL6K¡Ø—Ö3Öj³ù¬ÍæL C³Ön§‹ÕB¡çÏm&®_·¼£Ryxyy@g§¹¦¶V yžS:; ŠtäÈQ…B†Éå2»Ív–å8îµ×æ}ñÅÛ¾Êþîû]+–gÐ4SBJ ¸'À0 ''™“‹ŒçxŽã”nÎ^Aš3ê{+×¹;„îîyÐŽóq§ÓrUÇì…‡¹SØ+›Àà¢Á˜¬?ƒ€ áyGè(Ün¶ëh{‡‘`­$&ª>#d;(0U5¡ã>áNÎJ±XL’äÕÅM8Ah~ó QyzTWUví9ë¨Òªª*gÍšYpôЪÙÎõqnK7ê.Õ»õñfê[l*…eÁóÿ9hPoçϖܶ»òäÙú͈ŠéëªÕ[žiü|gõ³Û[[[‘Rº ¤qhP¯c§Î”Ô¬.N´½)Ì´_)ë«íèÌØ°sÚóôÊu[´mú¢’Ø}_{ùyþÜV0j€ ŽHžØõS ê~¼¸F㘾žÇ PõG†ýó´wt戶V¾¾‚«»ÌkÊù¶ƒ¼ÑVW¼ðæ K¸ÐrIs‹´©J Æm‚’”¹ÙW{Šqñ4ªÂ Θؕ E’(ý\½Ðüæâååc6›;ôz…“°,{üxÁ[o¼üXL«-©ÓÒ ä•2·ËõÐÇ.Õ‘v.\¬½\2¨·3Žz}§¯—²Uká9Þd´}»»‚9_ºxaXÜdÛ›Ë7O{HÛÞ>d`$ßtÖÌ÷Ÿý\]cÓG›¶ùxzp<ßÖÞ¡ï0†c_î4´ï3E}y¸alž®UuŒÍ&ÓQöŸyžZ®¡È°ƒÉrøØÅQª²'û8ް.¦L~ä*tߥ÷Ÿ‹­úé÷ðاðhm½Î×[‰lø'ã3fiÌÒé¦ì#XŽ8~ÕéUG[î©Ýóa܇p¤éHNMÎX߱δs]zZ{ZDˆ~Nþ9Ìù—X'ÏÀ;'ßYq½‡ØãÛÄo϶žMÜ8÷è\­˜2™½;ô¥’‘Ê2«¥Òb®n×»’‚ÞbÉ'g Ãt6Û£¡™±Ix莦-[6Ïž5sÂÄçüÝóÌ^|b1è¬:–aŸ } ì¼x°²VÇÎKBB¸,zY¨Ó•ŽÆÎAí®Ýýï“ÿVITûØMä–à›°nغ9Gç¼QðÆ8õ8w‘;òBgOÑ·dÂh¹Bgcê,ÖbCG•Y Àq­Í&Äñ¾2©Iurl~SG§ÔiÐÕj×E©œ={†C»:99}½}ÛáÃy†%$ŒpDnX»æ£ŸqR(¼½½-V‹¿¿ß+ÿœ.•JW¯Zyôè1 LJÅÇ H ¥„ åƒû¹<Ñfu_™~0`°ìô±¶~¯ÌK–]üzóÎâf3ˆ¼bOã×ðé²^3æq'¡ùÀ²Œ=²Ô·fDÊÁvùóg‰¦ÌeعyGq³ H÷ÈÇŸ"B ;÷u–ã é1.õñH%š|Ëù• ãp‘Pèéãáô„Y?ÔÐVÖa)`­yòŽ[8à9žçxàF[g°Dïé§8ÇJjµ<ðÀ…+†¹8P&"@Šƒ˜1ˆqNJvº©ÄÐ"œ’¡k«$Àè-RRzø’h»_QJ#Fæ>q ÷Ç÷MùÏT|Ï1`l`c ¥ŒsÔmb!`b!ÀÐìÝ­GD¸…örrœ õS°<¿cý‹ÿ|ÓÃÃM1ºeÞñÿÕã`jfÚ–üäâÂFmGyemye-äì=x¥Ðú÷íÓ¬msÌ»{´¿{\óG<Ïaž‘XØÈŒ·ŠNe±ÄJíé"ß º#Ïóß,ö 5!*XH£ªåÏÒϳßqÍqñK·é\ÿ¹5ƒj~*ûÉ/Æ-¦¯kßómçÛ¬mŽÎ¶X¯Ø‘ª‘ìì.r¢â-ñ–’ÒÅ¿þ Ž]™î®8­wo27)„ŠÌ¡™cýÆ:NM\oªÿøÂÇŽ'D}g¼z²½ãø¡CNN¹h \Þn·•›ÍV»=H$ö¢é6»í´¾C¯c=ÇŒø×Û]uI’уu¥£P(ÆŽ}´{Ê..Êq×yðÁáŽ+G~Y)%Dwl—óN¼†È€$ö–˸Ùé¡rÐÍÌ*q~ÞŒP9tš±ù+õ¿žèn>xÙ<Æì¨./ç¶â[¤šÏÕ@Àx·†=›‹e/˜!óåÝYy§›Câ!ïÓ¬‹~ÏÏ›*·Õï^ùßO÷y½6uÝ‘f\™G‘¤@ J$®¾Jsl§þ½¡¡Šì‚s¸ðEkHÂ,״ѺNÝÐWÙù2çs§évçÍÎ9*:ãq‚PEóbq}ï1vW5 ãäGI]¤R©‡L&‰í¿ô„„„¦/[æááþÙÇï,˜€»;ÁÔqJÀ¯ÙÎOÃ+$=-'—àÓÆ‘ofÈ\2ÚÓMì˜}þùβ˭^Sââ‘¥oe–9aQ“øÓ›ÁÐàZµ}Uˆ¬%bVnìxqI‹VGD€Ÿ·‡[iYÅ©sçm6;Žcú$3[x+‡‘"üÁw oaŸBŸêw¯yoîSÈV·7û¾ùfßk¢u‹ ñ§ƒ?…ÁW? Ä'?yÃïö’öjz®ÉñÞfèqv”רöIíŽ÷í/´w?E`Ä’K– \‚ìß!ÃÎÙÛxp_ñ»ïœ)9/!Ú{IÄ1rÐa·Ÿl×ë-´[pðÈÿ.ö e¤”·ûÅõ æ]õ¸×àç:“Wœ/ (€Žš5¢~Êäá#Ÿžh‹TêJ̱dÍiƒW\¼á`I³-TTQaöå%¹ íù'Žžsâ8fJ èœhqŽŸ*Ò;n„{Þ¾sÍcTºåÍŠß>cà¸H ŠDr…“ÝÛÆôc,«Ålé4X ¥´¬ÝH™L4g5îÓé:AXSC–—‘M „± Ãl¼„â%BÎYaw÷°»y³ÞÁN*µX"!pœ‚ ÐnK ±Xü _œôÌGs]Ü0 ŠÆÕ 1-ƒn[‘tùVí‰6ÏKß÷ÎÜ_•tÏ᪠ØO7. ÑŒÙ[ whþk\¡æ{%@Ma7y… }.Vý\Ê£çË*V¬ÝRVQ}ºä¢ãb_O×iý:û7`6#& ±±Ÿ‚s/dÃ? cé4îXkÁóvk')¼ñÌRžãÊ}0p$A‰¯IÁl¬:¹ãx¹›WŸh0wèjÏÐÂ^F= ˆ» ‚¢|~Ä}ðÐæcùe_e_ܽ½J×. 0ƒ™óNz,zü“ž#¢œ‘¡RBÜz/_]§¶Žêc_}š±ù‰yS"IH&"ì:3•¢«Ó2ÒÞ`¶+CBdy§›Í¢âfçȆƒ'* ²s:÷Xµä Ó¦{î[¿g³Ù9`ð¸ñcBÌmhÙ™ñÖŽÇÊn±ËÔfš%q;á8޳ÙlËâ8îˆJ÷K@ i¡TÊ;à‚YŽçyŽãyžw\ƒã|T?›Ífc›Ålíì4[\ )R±˜¤H@ WÆŽPëãÁb6gµ=&¹V' ð2;t¥Þ$ˆHRÀÝPfb6 gYÓ„ÿû.¼·gƒ^¶fÝg"±þ#÷LÀµWcF ¦ŠÂjx8ÎØlöæV(dÒ0µs¬«.†>Iµ•æˆLÇÜ‘ýþ<5yßH#Tý€³Ûоû$:eö¯”r|§¾•e9âÚã ŽW: óð-/ü¾üB^ü¸Ùšò¢’_(<ýšÊÎ ~zn·ø`ÄÝ¥pòyøQŸ‡55,-ZòF§F3ü­wÜF–AJ q' å~ƒGîþôDƒ-Ò¯ûs E×¥j̳P&€sx l+¹(lEŒ‘;;{™w_¬µ(ªcOñããÌõÇ·­ÍÊò›Ÿê.xšÿ±(²ÞíÕF× Dð×ÑÑ¡Ój F£X,vsu•ËåñK‹ÂѾÆqxnÔtà„4 ¬ÝÞØØ˜µù3‰D2a©Dr%©®á#žGøÃŽâ÷îÝíÄæM-Z¯WJeOð€5·ñZÞÔÆˆ„¸„æ œåùk(c±à,ã~<^'¡ƒ‘Dºàý§ð>ƒùŸ–ð­øúB¨/„Šý˜÷ Ì¥·¿Zú¨³mUÚ*±æ`áÀ˜@aC_GQnUîhk®«¬>ãî„®¡\ß\å8^qr¿îòUŸ¡Üx®Ms™glÞa±Rh1¶WžÜ×ÑRç>žcm¡ÃSÔý†À‰o?l¼\„c÷Xï¡Éû>œe·YIÄ"îV$^>që>Gv@J qg1ן8xÙî<¢G ¹z Ú¼ïàå‡&„Šlºâƒ—©^$^‘j˶¼P?/Réܲû ûQtoZ{"ä…çcÝI‘»—» ÊλóVG&û‰À|y÷¶£ÎcÆÇº£!¥ÛÚÚ°ÙlÚÖÖ1cÆÔÔÖnݺµwH†ã{%~Çq@A<ϳ˲ðQmåçÂǤ•üÒùǾxÏ7<.xð#§Ø, hu¿aœÝæH/0zô¹ýYª8‘UWz¬WÿDI#3#¤”¿K÷uJBç€ÏO‰w0w¿Dû|jsÖŽeo™@æ7bÊøP^‘nm›kÂǸ“¤W¤°e‡eðSÎ [œ•ù¯vH÷ÇSÃå@ÆOß–µyÙ[6°ƒH=ðñ8$“nÝ…xÞÂ0§Ïž­©«ëRQQqér¹ZÍcXC}½Á`P(MMM ÃÉårÐjµÕÕÕ6›ÍÛÇÛÃÝC*•26›Édª©®nkoW(6†á1Œеµ+,tww÷õõ•J¥f‹E§ÕVTVòèêê*‹Q|ð_Ãb±,YüæÓí» ðz&fÇÎôŠÊʧž¯Õj OŸð­Û¶ëÛÛ.••ïÚµóƒ]R¢%:ØØ·—ÍÉ'pÞaØÚrþó²ã¥¹¼ÿŸ³æ @®·%?©‡€zðº2þòXó9ÎÔŠápRcÞ18 £dÈJ·ŽcÛ[«£FNª-ÍW8ùr©Œ§MíÍ—Oæ&LÍPB¥wpÇ·š;õJ?©R…ㄵÓ( ©À!@ïáUæ}$ogx–•ºxúô‰©¿x¢Wt-F3RJˆß€ |!=ã†gD3Ò#~ù(Hž‘|ýEÓ32~‘S¯eÄv%ìÿÂkñ=歷|bF$ {»›ÝÞr³yÏîÝ`ÔÈ‘;vìø.g瀨þ¬ÝþÞ»ïÓ¡ïàx^!—/[¶,**J¯×ÿ'#ãçü|+ÃDEF¾òÊ+@ksóü7Þhniqww{{É¿ xñâÅ•|pêÄ `plì«ÿ÷ýúõ£( I¥RXpÌ™;Šã,éùôGóI$RoßÌUï§M~Éjµ–•Wêõz'gettô Aƒ:;;kjª Ž­Ûñn¾˜6V®vµðž6½Ê°¢ÊOLJ†•n˜2Slqûá9^袪Þó_g‘GߤçjOíïhªÅqŠe,JÈóog; Çv Ã0Æveu²ÃÊ €ç9 ¿â®Öª÷Önqó2'i»ÕŒ”ø“ ÅŽˆû }qÖ»orDc»š<Øm¶¶¶¶£GŽH%’þýû«Tªï¿ÿÞd2™L¦æææªªª³§O§>û,M’»wïÎùæ‚ÀŸxü‰7Þxã™ñãßþ÷¿uZíÊ÷ßÿbëV•‡Ç«³g§¥¥9’®««‹ÿÈVÂÆ†5Wœ®=—<{õù¼AƒFq,×páxÅñŠw­!höqa«ÍýèíÛÎéom²hL qɤOÞYs¢ ò]³íéÃUwûä@†aŠ‹‹tmm ¹üرcF£±££#??øðaŽ&õO>1räH'…âµ×_/--2dˆÕbùnçN£ÑhµZ5šªêêâÓ§9Ž{óÍ7Cû„J$’ŠËð@ß¾<òHGGÇÏùùuõõ†ÃáÇI’]¼iýŽN~”öP˜ð'7.|ãÕÌ?‘J¥Èˆ»‚¤{ýx…Ç(<ý@ýÀ0K‡Î3t¥£­òäþ ~±RW›µ“¤E€aA±b>|êŠó‡¿®):4pØÓB©“ÜÝפmho¨”8;xè=%t èkjk2µ5 °H(CëʈûH&­~÷«Kv€Ì÷Ì3^!B”q³2 À\²uõŽ€%ã}ïB­Ô׎ãÌ sæÜ¹6½ÞW­>ñ"A’€ã{øapl,Àà„€ÇpÇy ã0ì§üüå+WŽLL:lØÅòr€åy–ç9;Ïs€q€ñÆcA’2…ÂÆ²8I²<ÏØìv‚$NN´P8þ™gú÷ï/‰0‚¸²nÊfC˜­V»ïûM󟤶îëüÇ”ÇðnëÊ#KO<‘âêê¶eËçÇI$׬qè%™L6th\ttÌŽÙ+7®ZfëíÃU6þüQæÊÈ1ááá^^^h&â.VJÒÍ?pB sóg¯@ð € Ác®¿Þ³÷Ç›>ßì~<|dj÷R¥*bÔd^â>ÓIY+¾ºter®öhæ{pëÄRJˆûP&€Ï°!wéË^ýßÞØÐPröð^zºD*­®®ž´AHqºNí׫‡žq|>üÁ¸¸xøõí©šê©§žIHõÝÎK6®x&‘Kìo9[ùɹ½Ÿ®ýÀõÿÞXÄÒïW 6›ÍÎò<ã8E’qE¸²g³Ù1 hŠºæM_9Â06îºéŽ‚ˆ®ë{œÅ1Œ¢H¨@ î¤*6Öã覫Ÿo¥XBJ qʤ‡_c´ï]>÷Žçx“Á`6w>4jT@@€ÒÅÅÓÓ³ÿþFƒ¡¡¡Àìvûg[¶à8žšš:öÑGëêë;v¬ ÀßßßO­¦…B©Túêœ9ŒÍV\\üÉ'ŸDDD,\°ÀÛÛÛÉÙY*‘ØÆÇÇGåîîãí––f4÷ýøãÞ={¤Ri`` šwwCòóçŸr?P"hl6Úíö_B¿ÈÃ0 ÃÜÜÜ&Mž:üÁÄ… Þ8yéÜè&w'^!Ö,^4ÿ›œÝr¹ü7È\ÿÅÑ“gÌ+Ïs¤€”Ë$ó^~!4ÈŽ{Ý…Lº.ã-Ǹ߱“gV}’åéá¶êí×__òþº²Šêi¦Œ•2ö!(8yöƒOzîvâãéñþ’¹•µ Õµõ*7×>½â6#ÿÆ«ðîû·A,!¥„¸?eÒãwürÇCBB–g,‰D..."‘ǰ?^g4I’ܽg<û쳑QQ …Âßß_"‘xyymßžÝØ¨QyxØY;æëë‹c؇~XUYiê4yx¨Ü\]?øà‚ T*•ÊÓsíš54M«T*//¯•+WÖÖÔ˜-WWW’DAàoÀ?_™‘6i’㽫«ûŸLÍ14´aãg‡ø~ç—ŒÕ!¡®V+ƒ¬ýktš-ó—­®¬© é1‰qb‘ðØÉ3Õu§K.:”Çó+CÓL×V,ËY¬ Óm)c³Y[ÿ¾¡ Ù/kÃÔÞª«×³+ãæâÜ74¨ë¬‹Òü¼U¾^¨#@ îv±„”ɤ»«ë”‚pru•;;c†8Žáb’  fYV¯×cÁˆe²Èþý …@ Àqœçy‰\Þ+0Ã0ÀŒ  Ã$r¹ÒÕÕ1C‰ wwGú<€Â‘>Žc&–É<<=».s¼òW¡uJWqvV:;+omš†I$’ÑcMzd¬ã ‚÷Ûœ:[UÛàîª\4g𝗤Œu¢¸dPTÄÿÖaO<22¢›êA/µ÷ì—&\—G j@ ”ɤ»në‚Â0€ãX @€aAˆiúÕY³ž?þ¾}eb1Ep€ãx½kç ¢Ûd°+iòü5ïy^ÐcÎX·w€îK_Ð2˜ß&¿°ˆçù1‰q™IÙã2³ÙºúÓ,ÇûfmÛõép<ÿá#ÇO—8>º)5¬ûÍ­;vèú8¤ ã!w w w\AnÓ{™G»O*òHxuæp×›ls¡gqÏv)D¤¾9ÞÉ<Ü5¶ÔtàýwáÕ7ÆßT¯Â߇_ <@ ºð÷õz%íéµ[¶ï=xä@þq@Ði6Àé’‹ƒ"Ãÿx:,ǽ›¹¡»þypÈÀIÏüYøÏꡈ òHèíI ðfƒ9ÊÇ¥ ªÅÛYüú¨¾›•Ÿ©o31väÑËEÖ×Û¹Åd‰ñw U).hôU-®²áÁªKMzW©ÐU"Œž¬ÕŽ ÷!0lwiÕÆ&†ziôEu:djääŽûÇ™¤½V&ý™†êýBÜóbéš‘¥¦÷ÊÈøu0 Kˆ‹~oᬌ Nˆ‹^8kJ—ÈqwQ& Õ5;ÕÝU™0tPLTß®Dý|úö öóõòõVu½”Nò+×»)†êÛ'Yû&pQÓâCžˆô³óabJ°,¹¿«”“‚j×y£úÊ„$<ÔÇë±H¿úöÎ…ÑjŸ7*B£7ÿ{lTowù’G"ôZPÖÜñòðÐ>žN‹‰TÉEV–}"Ò¯Ÿrh€›®EÒGî@î¸ÜqËe 1%Äý!–îÅ‘%ñ{ôR{÷R{ßðTP/ßѽCƒü[-u1í¹”ßH<$Ð?$ÐùæXì.gyÞYL³ÇûgŽ€e{OuªÊqÙ¬a‹¾/>QÓ¢’OŽ þç—G› –MÛü‡¨Ô(­€‡ö>Y£ýötõ¶É¾ûÃÙŒÇ~œñ¹˜ Å»Š´&+25rrÇ}âŽÛ!“)!î±tïŒ,u-@ú[½Ðc†@ þ8?W6‹(”&y!)Ò¤THÀ¥uß­íº,ÿró7?¥tÚuoiý”¡½ÕJÉÔ¸ÃåM½Ý宲^.RŽçª]B=Õ:Sú?¼Ôx¦¾M.$9´çrrÇ}ãŽÛ$“RBÜÏbéÓ¯*îÊÍRy›íoøBÏøãl>>wˆÅÇYœwhÄôoè‘û™¿¡;†|°ï×N9‰('1%$‰ÑaÞf†=VÕrúN­/¿3;Æ wü­Üñ7ôrÇïºãK%ÍOkÞÝZb¾Õ2 Ð:%Ä}Eך%[¿ç_¿E2 @ 7A»™i73pA£GÖ@î@ wü HÕðéoÀšw·–ÈnñBt¤”÷XZöß§àn^WcFSÝþNܱÑânäŽõO#;;î{±43cˆ¼Õ <4qæ&~@ âkßÝúRJ@ ”@ @ ¥„@ @ H)!@ RJ@ ”@ @ÜnÐ~JÄ_‰!wæcKjÖl[Nßt"Õk',„¥ŸOóûCW7fOš^2cÛâ(Ç 3ÇoLÚ²”JŸ¾¢Ô`4’J) ‚&¿¢Üö~¡€1Ç1Õ¸ŒU1ÇÏ*¥”`PEO]4?ɯÛ_omÌÍLßX¨ŠaŒ”:e΢Ô(Ù]ë¡ÆœIãW§nù*ÕïO¸¹`æø¬Ôm«cþ€¬%«§/Ü«a~±:(ã–®_EßÂÇ®$·T•ãre¤¢ì™Y…:†‘%L3#ÑJ–MÌŒZ³6é7§µlíôY{!aéš¹Wó µ,'}Ev©(Æh”F¦ÍŸŸL£ÂªË`«ÇOÞÎ(•ʰ„ÔSýè?ö͉é.«6¤zÞÌÕ‹¾YxÅ•†¼¹-,·~ÛÌßtŒ!oîäÜÔ-‹¯Ï;†¼i,,W*¥ Pêè”3RÂeפ‘©‹¥Ü¾oÌž0>SwÅKÒÛA IDAT ¸ÔS“‚e웓fUÏß2÷ü݆¼i,4>»~ý4Ç«³&-EnPnZK–MÞ³fy¢ åšÛkw†a”a©¿_òfNÌIݶˆYø+)%q‡Ñægk”ÅÙ¥†ð¿VM¸$.ÿ*Ñ¡ºæço¹Úh|b$hs&MÌ›úÍòÀZTÐŒ5’=ÀZ3kú’½‘ŽOW~SzfMÒú¯’\@›·lÖÆ½ Q)žw©‡ªdãâ '§ìÉ™w¦ÅD‡ÏÜðíÌ+6yËÚÄ[¯g¬¥YsSãb\î•z°:kÖÂÜÈEëwǸʲΚµBµmÎú®®¸Ð˜°´ë‰€Æíé™´-_ÅË qÏÜyóã–%º âª JõdÆ–™Á4€¡lOú¼YK`ým6%UÕäjªW[˜S.¥¨ßý–,~ùWñ¿vR¶hËÚx€µ±`ãÂyÓµ«ÖO î~ª³'LÎ̽ú.mÑSÊ„¥Ž1ku³æ1ë×&{Þ^'1{WìMþ½»Ðá >_ŽrÍÈ5]wÐ,ž¼$3òõÉþfÆAJ @ÜAdkÂfÌY7+«Ø/kÑ‚ñ+¤qjƨÓ0‘32fÆÈ %YKÒ÷h( ŒT䜥sc\ 1wÙ’¥F†¡ÂÒÍOF“½xfiy"ç¬ZœèÚ‚µéë UÊüE·«Oœö‹ŒWn,ÑY“=¯Þ€1抋_ðù]\âZËrr˜¸EiTú¼ìò© ÂiÇ\AP$¥3ê4eÊÒEÉ~LÁê…™[+æ/.ƒ+NÆq$Œëæn,­Ñ蔣—®šN7æ.OÏ*eŒTPÚ¢‰¿Õ¸Ðæ-_¸®˜¡(Ô)óç'«K_!MÓÕ”—kT)©ê’¼rM¹F5uÕâÄë?]î²%K ŒŒ:eé¢Ñš™ù5ºš…k-v/Œ•XK²²£3¦^#“§dlIJ€1–d-È)®Ñ訸ù«æÆÈzä‹Ñ°==«\äϣæg̼҆0ŒÐõ{&-ÿ< ÀZ½'==[À¥‘SÍŒ—–­ž¼D¦¬Ñ=*>ðãðõk“\¬%ËÆ§û­ú|´æÚ ¨.]<>SI•“–.Oö¼WŠ0YpÒüùy3÷V'¦ª÷¬X˜U 0T˜ã‘¾öQLèòXuö¼yEI«–%AÏ\И3iVAZS®œ±¦Û8*¥ŠÓåä7&%{h s4‘Ñêr€ë‹Çn)d᛼'mÛ²°âërh÷BÌ3fÚÒ´üÉ‹S—…u;n06‚R­¢î~/Ñ~‰sMœ—U2zn¸±GaLk V/É,Ôª”EKS¤]õÓž³ö„/ÍHU÷¨M˜¼™³ÕaÆR*-cq¼Ë/âsjŠnܸ݊åÝ@cî²…™Å R©Ã”åÅÁK7<©[0~]â– jáÄì 8¥F£«©aâ­š¦.\DJ ø[P“­‹^æ§JVefjã]€ÑcÖ,—Y‹–_±39&•ÒPñó×$‡Ë¬%Ë&¦ï­Ž]šž©KYÿy¢‹6oYzNyB20º¿´5sý hñøÌ‰£5™+J×lHrCÑâÉé;£7ÜžQkY~®NªêV6{&Ì·gÞø1Y‘Ñ‘1ñ‰ qQžwkkÜZšu€JX IÒYYņe12‡±·,ð£s¦M_Wœ°H¥óLZº>É6ä͘™Ÿ²6A·nÉž ¥ë—CYÖ¬üÆ9J`4ºøUkçÊs&MÏ*M›£[±Î˜²~C¼ ´¹s'§çFÿzϵ¡`ÅŠÒÄUŸ§ø!oÁÄôÑkÂ(0ãg,‹‚‚¹-ÉKÞ¶lU´`üºBmbtaÇ# ŒÁ© â=A»gÚÄuÅã–MM *.™soÈ$0–—3ê©ên?†vq+£Ó„¯Z;ÓÅ;s|VñÔ0éuù"u~jî¬ÆùÝF ƒSfÄÍ[òØUdtt||bB\¸ ;—d)ç¬_NCcö¤é™EÑ‹•£© ÎØ°ÀÓP ûlc¡6)ÉÅZžS¬LNSeλöFkÂ(¦F¿mÃ=78% ŠWêr5ÖÑ¥éë4)ë?Oríži“Ós#1×>ŠqILcnú¼˜¥IžÚܹ=sA$ºréÒ-z<œTpRtñºüÆäOmác\jpqf#{©Ò_R0ä9ò±®gMê)”aaTN¹ÂŒ¥é“ŸÊƨÑQq‹Ö„ß™„VÅ«™u5Fƒ±ga²J™^š¸æódOCÑê%ÙÅ£Ó^Ëf«æ¯J fŠ÷Ì5£)0–“·mè1Ÿ˜Rž“¼g^fAô☫…hѺÌÒèU[¦ù1EË'Îb‚»] Æ&)cY8­Í™49«4mYüœ9¹ÓWäD¦–¬3¦dÜ›2éNæšnuYu~N¹22HÚÜžUÏ|ãŠléŒ-«ãe†¼ã÷v«y 7î¥flÙ#³6æî,ÕYAvNÇCJ ø«šá%Ù{™è¥A4ÐÑÉê̬üÆÄd%¥Ž“­ŽRêr5ÖÔ05U²nÞ#EAŽ‘2†š‚eL˜ ¸Ä/XPG©¢£ýhPª¤Œ–]A©¦¼|Þ¤l#ÃHuVøE¯0ºó+¼ÚV`ŒFuÒÿö§3å™ÓŸÊ¢(u¢E×6þdáÓÖîNm,).ÌËËIŸ¸B=cýÝÙ‰n(Î.”&­ñ€„diVv±!&^@)##U4(ƒÔ]®£ÃTP°bVP”±\ÇÄ0 +-eÔ3Ô4§._ `(*(1LR•”12FM^©¦X3kÒF`Œ Õè~M)iŠj¨È4€,,^¥É­a€RŨeV©J© ¾òNÊëuhUÚ¬ôiY@Qºr£”aD0××â”*>Ò(•JjÔ1º’ëó…òݯñs7ìŸZ]TX˜——½p]fä¢õs ¯¼F³bz±#ËPJ”@)##• ‹LŽÔ­+Ô&%Ôd+“§zê²{Þˆ JíðË=ÀÔÔ(Ö—°x鯢ÚËÆkEkY.èŠ2g•ÂÔ-©Á4XËo ¤Añê¸R”KTK(Î1&ÎWSÅ íQ}ÖrU÷™™w³— ¨&55TXšdQ3—G4ÖSž5ï€&yý†(@õ jJí(ÐzºÉïÉ9q“Ó7–„%;èjj (YEÐaIqªâNQÓ@©¤Œ‘ad1sfì™<}‰jÆúžpOs'rf缉ù0F‚ÆÍÉHókIϯk4e:eT da‰jjÏ/UyXRغôYsãÆ%zÞ·«–RB þ²fø‘Z2ñ)‡ZÑehL~òú몳–ldflY#ƒêµæýÑf.¥JX´æWÖäRÊ„Œk#:ü¯-Ó®uJ7”€-“y†Ç'‡Ç'§&.˜˜y :9õîëÔf5¥óžÊFgÔeåkã¯×”LÉŠ%ÙÊ¥[‡ÓÖ’ÅãWüv{¾{#!%ã­Ò¥zT°Ôï%}탖—¾¤0fÍš?Ú7s|Ö½—•¤ê ª<·ÆÓÕ 5”Ô(c‚¨ž‹Y®Ï7z‚­´Læ•蕘’š;mbVa[*Hæ®ZÛ}ீ¢(€K‰ÔeV« JUÉ3\Àxݬ%9%¥îÅ’¬4O£ŠW_¿lè†?Ö¨‘Ž*ÎÚ[—êw£\ -ý53Q~ IÔ¼œB(…¤E*ªð׋Ç)üj­É+… d@MwÅüÿìÝ@Tu¾?þ— çÀ:ÇÏ…!ef æ*)lÔÌšÃõÇè&˜•ãêì:f Ö‚µ ö ì x“éSŒ™°)”9TÀjŽ•˜ ¶9¨ Ö‡Ù(Ð R¿îÎX1°ŸÎ´p¢Ÿ?ù¡hŠ`ÏÇ_:œ™sÎûý>ïy?Ïûœ3ᇋ†#giÚèŸÜNþ¹Y25@Â|Ó¯3aˆ\}ú´Ö³âÌ©®÷‹ÏK›Æ pÔðŸ vŸ;mEJÐJcñýÓ?ùs…Fâju‰¦µé²“{8j®ï¨ñuß§Ôôþªg?›.c‰„~o¾Èà„ÉÎÙ9³é‹Ïî/xz{@æ¶ŒŸéåwxJ8À­Qûþç¾IÛ>ܹsçÎ;?Üñê<×G5‘Øüç<ñ'´ú?@®³.É=þü££Í¢HLÀƒ­GjDÄÉZ•õßÿÃ} ?ßR "á›÷sßÿF¾o€#k—>½ù‹îΞ<+úúKˆxG“ý‚£ÉÑýg¾©iÄVãhñÉ ôk(3¼ùý£"[kœˆèì‰$im}§ù³DÎÏ?ªmÉ})ÏÉ?Ÿˆ„¦âÕ«ßo ÈÎ hýóÑ&""þ‹­¹û¯T¾÷ˆµµg»¿_[ ¸Â€›íÛ<ÚZ[ÿ_–Èqô£“.‰ˆaÄÛhj‰–à4Ûøç&Á“Þ_»Æ¸ÿ¬pÇ…ã£g—>[Üó'þìñVÆßbÐ,ÿæŽ:‰ˆœG6o>âì³ ANw}T\|"àÑéÒ[zó€ï› ƓӓæÉXÿY= µG\Þ=¹OStQÀÃI)ô­-8.°×r‘lÞÃ’OóÞ§‡göŒ¡Å~ÝãÄþGhŸs"ŸöH~»¢ï Bó‘¢ÿ4ßÑ“6>Z‘pÛ¿3 ¸?@<ñùY"âo^•±ßIÄøÏLJÙ9½6;ï3þÚ3÷`J’ï¼£îÎÐߟNžl%"þÄþ£g¯Öëî7Kô[^Yk(8~»4Ã{ÔƦÿ¶µÀ°ßé¾ óò·³þÓ|[¿8É‘óÄŸOö:>œGŠ‹¿ Àû“¡_Àœø¬õç:ZÜÀ­Q|"(!ýâ©J.o­á‰eD¢ïLý†@:Ñ÷㥿I×–½fÙ~ ¹(hE¦ÿzýgÙk—íg‘’2ÈèäàKKç]Þ<$ áïV>éïð›ß®7ö¿º"Ü7oíÓ9™¯gzx¦ŒÈT™ þÝcÖ=}Þ% _ÑïÍ × Ã‰H$ßé ¯¾ÞsWÌÅ׉˜€y陳Fë!"¶~ºvi­»–f®x}ÃÃR"ê×™p¬^díš%û"ÿGÓWHé@÷ ˆ¤ÌyO¯1üy[N¿Æ|µÓ,ÒßèW¼¿ÔØJDlxÒŠ€5O/Ùï45ÜŸ¹Ò¸c¿a»dÅ–Y2étýô•†¼ãÛÒ¦±8j~âQCDÄ.N_°ÿYÃþé¹÷ûê‘-HYðçì'–m÷÷Ÿ ¹”f¥A¾ß¬]¹L”0îNï6¾oìÊÆÂÐc{ç×oelk ¢€%ÿòëñDDÿ06ã‰|^“1o†¿0t.\8þ|WWWWW—(Š‚ œ9sF­VºùûßÿþoÿöowÜqfh…/2–üæÝ­¿áÐ>rþüùþóŸwÝu×ðTÇ€_æ×÷c#¨‘›V#€ê@uŒ\ü7G>wMýÍýRrþ9måþGßͽ…Ù52ê‘àú攚þá×áã‰:¿«9Σ¶àrœÄuÄðôv‘!‘ JÊœŽ³€0Ú\GRò’{u4WŸþ!<|<µ}yœ'îNþûî?¶Ÿú´xÇÁ†¶sD\ÀŒE ÚP_ú¡öµÿ)¶Ëc&Õš6w»rù¬_z¸0QkíŽ"s½ÃÃ'dþ,:¸§›»&cájÿGµyçÁãvþœ7iÖ’„…SÆ£þn¥ÎöNOoÏ+½×Œ½?çí(†‘LöÛ·w¢†Öe>œõöÃ(½®czÑwRG§«›Û‰¾«¯m£€izòVû×fÓþ> vÕª%Ó:›×þ@äéáADöŠ#çf,M˜àÁ7ìÙYóà ÿP»£¸ÆÞqçŒE å  çˆÈ‹ˆÚëwäïþò»;®J^9Ëçô!÷ÒpërÒ?öå½jªí¹Ã¯ó»ê· [~׉’€ŸiR¢ ªi59õCkCM¨B¼{þâ!\õÜsÐÍš<9|F QÛ)¾gèìûëÐðùó'{µ6·u¸p§½æ4‘×}ÚXuhøÂ¥‘wº?—Ú›Ž?G^á gLœ2þ4s§œFTº…<ùèSóißVSmkgçwÕE[y-Z¹p¦”à¶p=÷)yOP…x«=v¼¶õ{ XÂÞ×󧎦C;÷·óçú¿‹»“ó$"òæ<®°p;Ï‘·¯ûJVoŽè{"¢Nž'¢ŽšüŒšžEÛšøÎðñ™ß:¾¿Ö­"ÓÖü×*:ÏÉ—&/ ÅåðsNJä!ŸêUSsð ‘|IG§»_ÿáøŽ_Ú½î[þßKC=O½µ~[CïwõÉ4ü€ {r^DÔÞÊM jÿ®çqžçAäqßòU‘ÝÓ‡˜4Â’ç¾c3"&Àí亃èé)ŸâEü9’Ïé=@n?GDt®½Í^»oÓ9¢öïš¿käS\˜äª¢Ž/÷ìù?õµûvêyR„wàŒêh8vºµo:²ã­·vÔ¶¢úFDX _ˆ˜HJî¬$W‡xQß 4>Œ"ƒk2{ölŒ:˜S@R¸šk»úWRÀÏæ””””†Ûرc»ººPà««kìØ±¨Ô :P€¹í«I àv ‘H:::Ο?¢¸©ÎŸ?/‚D"Au FÕêÔÈm_#j à'â8n̘1<ÏãDÔM5vìXŽã®Ú±¢:P#¨TªP#·AuŒcA@…Á-qáÂ…óçÏwuuuuu‰¢(™3gÔj5Jn9\}€¤p5‡F)\–”fÏžR€[bÀû”P,0àê;$%$%$%$%$%$%$%$%$%$%$%$%€Ûǵ,Üùõ[Û.þ×Ë' dÆÜ…³B}=oĦ´×ç­+j¾36ýùY¾¨¸…®gNéNÕ܇ž;ó>95¹¿èÕ­G¾ëDAÀmÄã:Þ"WÍŸ7Ù“ˆF~šÿêþæ}æã÷=>žÚO}ºÃ|¨áûŽs>Ó&,%ÿÎlÈ?ÆOJXÿt¸7Qç)Óº­Ç=î[µnY@[íîûj›ÛÎ0cQ‚6´Ï4Rû©Owì9tÜÞAäá3IµP>Á³³iÇúü ™ÞYsì4O^òKWjCÇÑõï©9ÝÖA^òûb–þz‚gç×o­ÛÖÀÍ|8àøþ/¹„õ)áÞ¨o¸*žç‡‡×/ÆûNè󧦆º>¯†„a,ƒe° –Á2XË`™›ºÌ"±c~ÁxxŽ3œÃŸtŸ’çõüIDçšk¿ï¤Öê·¶î?ÎO^”œ¼\EÇ÷¼e>uN>cGÔ\sªˆ:›«O#¯ÐYÔ´gkqM³÷¬•É«båöcEEGZ/û`÷gµÊç&¬\¾h>V¼uwS'‘‡‡'QGCí9õÊ5«è°+ÞYßNôݾ­EGOSxBrò’þËoíûG'‘§µ;ʇÄ.šàApcu¶w^å…ÑÇn·766ò<®ój`$¸@ÔÙuáÿ¶wþðcûp®wŒ CýVƶûV­_6Ù}kRgÓ{ëó¿ìX¾~yûÖÿÙi÷yxMƼ ôCmÞÿÛ§­\ŸÀí3l:Ú>måzÝdûŽõù5ž3žK=·{}~͹•ëžšâÝù³aÓ1¯ØôçUöžû”¦Õ¾bØÿ}ÏKí_¿µ~[ƒÇ}«Ö-õÚcØtŒHøï”ðñäž3ò¸oպȆW_=Ô&_òßøõxjýôÃþŽÏ¥Çv¯Ûzü\ÏŒÜàœô^+j‹\¥ ÷%"êü®ºhë1ùªä…†|×Ú… Ο?ßÕÕÕÕÕ%Š¢ gΜQ«Õ·j—xžoll¼ãޱîR°Þ¿@Œ?òÿl±Ÿ æ8nxÖøgZÚÛÚ:ˆ¼|¼=:šÛ‰¨mÿ«kö÷üñ»6ÞsŠZåsôЩšæv®¶¡ƒ|T3&xÒ©Ö"jضnÍÅawS[§êâøïy"âît—‡·7ßÖ~޼ˆˆ<8Î|¼9¢¾³³o'"ûÎÿY³³ç3ìmçÈ›ˆˆ›àƒÙ¤›Áó—>5ß´u«‰V%L;WS´õ×¢k‰I#Ýn'¢‰ÿΰˆÖ#ËØ±žî[HHÈ(HJÿ8ZÑLä1Y%÷ôjõ&jó™¹ê)uwÈóðà|‰H5ÃçÐþÓ5µÞ <ùÌUÿÒ“:½}½èô¹IK’µžÝ‹zqžÔóT=OîNo¢þ{ž¦øã¿ã‰¼|¸îm=×ö];Mö¤s|k‘çíé}§7Q‡<69!¤{„ëáåãMÍ7$  |­[E¦­ù¯Utž“/M^:~”ï,`\GbÀä¾ä§½}ø.À»Žû”ÎÙ«îÛ·ÏüÞ–W7úž<&-ŠâMã'Ï jû²úTk{멊â·L{Ú‰ˆ&„ϸ“øš=ÇxºsÖŒ Dä)ŸÎѹæc_~Çóöó[où¾÷]!¾á³ˆ¾ß·c_í×õGÌ{Nù¨æÊ{¦+ìw©¯ÿ?{öœ&ò˜¬šà9!4üN"{uoÿ®~é­â}ÍíhMÖbCCoƒ˜DDcîëõ‹q¨T€‘8T3†ˆººº†m×3áòý—‡‘×!s.šï~n¯zùª¶;ŽìÞö% zx¡Ê·;÷¨ïÜ¿ç{"ù¬iîW<cW-9·cÿ¡¢­‡ÈÃ'dÖ¢¹“½©W¶ñõÔªÎæC‡Š·yøLš¹|éÂ_z’ûy“T>õ»‹Nóä03aÑo"ïùO-ïܱçXñÖcäá3I»0d<Ñ÷hPÖÂ.D)Àí–ͮ剷šûéíÓV­×MöDÝz#í‰-.•0buüëG"ºk‚Ïð¬7ñÀ(0Ì7JÜècT]}·—‘võÕj¥~.F? 3<+œ@_¸O n®³gšÏ~+2¾þ“‚d” )ÀϘðíÑ[MïVŸt1žŒØ)1þÊØ•OꙌÀpùöÌi"ò»w ’À•9«^þýú­S<ýÒº‡T‘èøÛ§;¶nøýÃ)o¬$€íÿ6×§¿[¼þx¯Ÿ iªyK—,ž}÷0]ýÎÿíÀ¶»>©9ÙÚIDŒï¤ðÙëžž?•C¥^®éíÿŒÛéûò®7f#ö€û)áÃI F)áTáï×`—l2?ä8hZ÷ÌÑãgZI0M½xåºwV®OÎ{fƒÏŸÖG <Äf~•üò² †DÑår|}tßÇ…/Ü5+eÓÀáêF?x>¹ Ö5qúcË^¸ÿn ýØüÅÁ]ŸùÄ’Z´!Vv»V˜ëè–>°é'îFã€ÑI  žz0Ê4ï4”´ª_*]æ8û¿6T3>¶øÙeþL[í'¼œ¸|úÚM/lJY”ö IDAT|ì™DãÆÇ~µî²3qêý¿šÚŠ"æ=¾,~Njϼž÷ü–IïA Ÿ\·f~ÿé)×gÛ÷´ÒÔµúK1ɽú९˜~%ÊîõíɃ¬Ëuôw‹_“6-9ÿúÁ“."ß_ůa±øáúW>¨=ÛI’I Öd¾0âÕ·jðÝ9»ã©ÿ|Ýw]áüÏ_}ûÓoÚDò ˜µì…—ö\Øúùy…ûªO¶Ѹ ‡–¥®y|*G=Û–²iÙ)Ó–ƒµg;‰™þXʺçT¾ŽŸÒæ$¢-¿Ól¹+ÑüV¼ï©¯˜>ùê¬HDžþ÷Ï×=»jAðÀ•Îx© pß×­D’{æ$¯×/è.=±ùàÛùÛ~Þü#‘§ï4Mâš÷‡ˆ[ÿSw0üåæ ãæÉëÊ6Í“º0À@ð”p…ĦªZפų}N¾»³ùžU©ÓªžKÌÛsÄúù';×/_bÆêÔißóÞß§>®b¾9x’â§úÎ|l Ñß>ýF$"†!jú8ÿð¤äü×^yb2C®£žyqç·SŸ}íOe%*\5µéÃõ¿3å©{aú:Ó×3׿YQµçO/«]ûŒÏ½ú•ØoÃO~ò7¢I±3Èn¾Á÷úwG‘+­‹¢ovæ¡\WvÀRþJ,óUIêž{—to–Y½ù´36lÂV]yw¢¯ _­ _ûfEÕÝùˆG¶¿¸í”ûµ/ýþù÷¾ö]úÒ;æ¢wò—ùÿµà™äÍÂÅm{oã'w'¾Yf©ÚõÆÊqµ; ùI6SiJ‘ÿ²×v—oZ,O¼þâËûÄyë_{Ç\ôN¡~¦xðåä¼ÚA~ãñä6ãÑÀ%/•¾ùÖË+‚š*_^÷ñYwb;hx*óÃæà'7•ýÉ”¹˜±¼œøâ‡{C†~¬}c§øxæ&ýté•@R€ÛEë—äî¦ídýþN¡/6_ #_í©÷œ:û.Wã)—lŠ¿øíY×P?•‘Ý-¡ÎVgOÀiÁ‹«æ=poŒ!G¥é“ý—¤§>r¯¿Ô×?t~êú…¾®jÓáÖ‹oZ™² Ø—!Æö“©z¶~òÁ‰¾CW«£“$wû_ùñW_×Äø§5,7%v¶‰bøÓËÂ¥DìÝ3¿—ÄÓµñ*[uõUx<² XBD¾<ëO­_œv‘³2_›dẗžPÈ&<ðø /Α|óžé¸xiÛž|ª”ˆ$S>D?ž8þ-#ñÇ'ñå$ ¹š·QÀœØÙ÷È&„j’7¾ñÆÆ%AƒÝ!¼ê…'"¦Þ4ûñÄÙã蛚fˆÎìÚR-ú/yeý#áýƒUñëõáâW…;N‰DĹŸL]ªš|·äÊ Àè0ñîIïž„¤p5ÄÙÄ^Q 1DDD‰t-—W‰âeãfɽá=s?bSU3yõz8Dtö³¿÷¼å®éÁÄÿ‰$ž9ÙÚ7‹õl÷·âªëòн*†‘Ž#š8UÖ½,#Çèº´Š·j»3qzàÅ7Ž“pD‚(‰ßT5“gøC“/¾Q2mNuž8|æâ¶]|3NB$:Å~{ì;uá$j.xæ÷Æ’kN:Eâîžz÷`ù1`Ö”ž?1 Ñ¢Häg%®\ýÂCϯÿä["Ï %é‰÷üxôÕo%¡S$gßke& ù ­MgÄî %ºúÌ¥ õ£HßÞ±‹a$ ¹ø‹)€ñí5Òg$L÷€þò ÷—£ãgš[)\v…¼võuõýÜAóàÀ[5„Uô˜b϶uMÕôYãÇÞ7èf,ÝôŽìƒ’K6,$bÔºçS⤪œkÛ\D­þ!òÃ>)쌫g*á˜!-Ìâ$%€A55Ôž€0jøÏ™î»s×mï<±$(îíõ;µi}‘eM«‹ñ•°âÉÏç3I·Þ÷óW¾¢ûÓƒ†:>stÇi’ÌYÈôŸ÷a˜q ¹ZÅËK$ wñô¦Øê"’öüÇõ#‘§¤_¢ xh ó‰u×'gbû=,»õðÛ„9±ó'a]C7ðV]÷*‰Cžák7%‡^þD ÉD†®éB6&`öÒf/%rýkuÉ–Í…É/JÌo\ÃCÒ%>"ß…ë^yâò_ÁbÆù³?ma""Ç£`´a'ǯœ²çuãG^y)ûëç2ÿŸ‡ç/Xø«j­ýäÃ_мìMóšÞ~ê ßX“jh?Yê:ñ†!¿™‚ž]>ÐÏ¿2d=yøŒø@÷…gbSÕI¢€Y/üûûç­ñîY×Écß’dNÿé,ɃOÆú[wm1ÞÿJbè¥Mw¼øÂÎ÷ß=oþdÿ«¯kèÞ*†®sL`DUŸme/&=×YùJº†¤ÔzâðW®{4ÓeD$ñ`~òšSGuîceCÞEnòL*lúÑ7ðî‹×H¶:Ú™/ó "ò˜={6Jn‰ .œ?¾«««««KEAΜ9ƒb€¡ò<=õ“§6þÞøÂõï”ÎÙµíÃOß}û ¿®tI¸ãíçR+}—¼–8Øc ÅoO|ñ•ȉ¢Ëyêè‡;ÿÑ÷¡^Z:Èï¢Êæ$>ôöó; ù÷èϘH«iݾVß…ëz=Å®yK^ ÷ä‚{˜³‡·æA¾=6• ã%¾–tryAIâòÚ…,xpŠo÷/Ï~Õê?ÿ¥õóý¯².×µÔÀ[5„ݘT¸Ðç¹-Ù/û®Žà.†?}ô½¼üOÆ%–¾xåw2 QëášÚÉ_*Ýôr U§>¿dz DäÏ|¾­²•îxM±åîO«K27¿¸É3ùñ{ý׉OÞ~yËWAk‹6=âûÓ \}£×ÄØ—_q½ðâËqË<¶lñ2ý¦À‰ŒØzöë7~¿þÈ·A½ôÊ~CVü*?õùžÿŒóŸö«øì'uóï|¨.™¾ö—|7¾þ‡=ˆÈ'hÖŠWž_Úkj’îyUí–ç}ÓFä´P¿îÙ×Î>¾©lÊ-ïí:üÁÆ}DÄøO™¾l]âʈžß_ºêº†n°­ºîUHÂ_üã+y…[žÿ¯V"òô‘œŸ²8ðjïã~¥[2éùÏé>Œ-|3õëhÓÛ…©¿ßHDäé?-"¹0eôÚöÍw~ú[ôöÆmyÏìü‘ˆ$þ¿š·vSâ É皀éÛ3§‰ÈïÞ)óº1‚  Ðá–pNI­Vߪí±Z­„û”F!×Ƀ;MÛ>8ÚÜyñ%ÿÆ?±,öáŸÝñԾμPöƵŽõ†[p½Üw•+•ÊáYæ”`t“Íò¥ùO’Ðzöl›‹ññ—ùJP*€¤pƒ`6 `”c}ýq%Ü(¸ún™‘võ]‹ ¿Ó0r óÕww ÄúÀÕw0 L¼{’Àe¼~1n8W‡«ï”ÑÔPç¾MI I `cÇŽE!ŒXçÏwAR~ÞÞÞD$tü E0ÒtüëÇ3ßœøç÷ÿ@Rnr¹œˆ\ÿ· E0ÒbÒ÷ÿh"¢ ~~öR<% ÇqŠ'VÒûųͧ„öËf™&Þ=©Ï*± –Á2XË`,ƒe°Ì0,#“É8ŽCR¸ü¤¾]þ%ž;×uáŠ`¸ãŽ;$‰\.ΘDDcA@éÃ-qáÂ…óçÏwuuuuu‰¢(™3gÔj5Jn}BC ) ) ) ) ) ) ) ) ) ) ) ) ) )üÌx `ôjkkC!ÀuóññAR‚ŸWËø)põ’’’’’’’’’’’’’’’’\ÎEpKˆ¢ØÒÒÒÖÖÖÑÑÒ¸©¼¼¼|||üüü†AÀ`íI `DĤӧO?~Ò¤IÞÞÞ(›ª½½½­­íôéÓ“&Mº88F =ônHJ#BKKËøñãår9Šbx{{»³PKKËÅ2G =ônýá>%€[ ­­ÍÇÇå0œ|||ÚÚÚP0`{@R:::pÅ×0óööî}?ªíáÊ÷§!) ) ) ) )ü 6‹¹¤ÄliàQÃ\ðUU6値#r¼ÞX˜eظѶÑz…¨ÔR¦S©4úª±—h5zëåc~¾\¡+çû…ƒòœ¤J¥R©4Ú£Å>’“BKUYUËÍûx§5õâ¹ñY溫¬„·èTib’²Ìu×–j…cLLNÃ5–µP—¥Qõ¥Éªû¡Á•U'\½ºûmETß‹7Û‡º5Uz¶Ä~k[yyà i±HJ· {e©S-¯/µþ”‰'»yu|v}prÁ¿Ôüå@žNjI[‘]5b§²Z¬E…Ž›åÄÆ½† bRò®™ÀÔ=55555‡JÒçð…Iñ9Ö›^nlX–¥¦¦¦¦æ@f0œy ¦¦¦¦Æ’ư,§É+Ï‹â®ö‘ŒdNÁ_jz)Ñõ×yÙˆ¬2“ö–þ–¯`+),m¼!åî>à¶`«(áÕY‰ÊÂ¥U-š(?""¡Î´:­°¤òPM°Ø3”4g¤äU‹œ"X£ûŽ3ë ëÂ2÷èÝïgÃb² 8s”ˆˆ¯+ÉÊ*´ºX"©&9'=Fá,‰_QÉX¬6§\—ç4—ZœŠ”‚\­ÂaÒ&Y5sÈZow8I™œ—#'j©Ê[k07ˆDŒ"FŸ«×ø V}¬Q¾<ØVÑhs8¹Èœ½’£–*ãZC…MH‘hÌÔ*X¾\SªÑÉ«-6»Í)×mÞG…«³­1e1ŸUbÔp7·€ÕEi±æÐEúô”˜+®‹“GÄ Dm¼±LW/çëLY¥.$aqY9º0N¨J‰2ÊbB­ N§K››Æ\J}ŠHíȉMs÷¸óOK™nqiÌ®­ßU·˜·“2*ê¢,:§ KÃZR¢JãÊMQdÍKË27ðD$Ð3cìU?ªá‹ÆØ4Wîž÷V™ã—Å•$Zâʳ–ÏYœ&jÖ2gœ©DKeÙùUv"V¢\ž“ÂÚKâWX#£©ºÚf·‹Á)yF­ÌªÍ‘Ç…5Zêl6R§ëÃ*‹Êl6vNNAFGBƒ9;»Ðê&$&}ƒ>ÂOh0.Nãã4Î «Ýa'uzA–²>cõî&çÞmsAJû“*sJ#•P—Õ}%Ô¬¨p‘5m®û•ˆËåçÍÌe&ˆ µ—V»/³›³ ùå%ååeñduˆDD-ƒ±Q“w¨¼l{²ÔÚØ'*9¬V>xQDïA¸\£ áH¨ËK+wYÊËË7GÖ2öÚ‰XrÖÕ…¦›Jvå©mùÙꬂ’]yêFS‰M †!§µ>,ÓTbÞ³9¢Îh°ðÄ[ {eée–rKYV°%+ÛÂ+4V9µ¹¦’²í‰dγ´PKùÚŒ Yú®òrKq"Ÿ§/´K®z “¸ÙT²Ëm7å[Å”œ8™4:o×MI=\õ»³æjõ%Ö«]ò§ÐÄÈl<_eH11‰Ååå–]ziiš±N b±©šâ JÌeÅ©dÎ2Û.e’~E$kç0ÕæFÁ~öÚqsü†°­Nk]Xf™¥ê@:W‘·÷Òìeƽ}™Åb)/Ñ1ËîÃê_øÁ1sÈZæÞª–ê2»B«–öZÜQmÞn)‰WØJõF{tA¹¥Ü²=ÞU˜VØ@D,9«­Áé%æ]Fe}¡©N b…¦*>n³É\¬çö®Í Læb=í-¬j!¡!?Íh×ì)·”ç„Veº›¿£ºQc*1ïÊ’[ ÷Úü4YéJ&8½ØôSc’À&:ÎAÿfwò—…*³…ÕjDœR§tš+íDÄ7V:dÑKÄ…Fkd  M RMt0KĆDF2—g3Þ.2R?f€Ú*ª¥NãGDlH¤Vf«h䉈 ‰‰ð#b¥aFƱÒ` ït;&x‘û M5VÙh¬°²sâ”q¡Z WWáiË""ƒY"’*d ïtñ{¤q‰ùiâ”NK•ˆˆ ŒÔ(X"V&Î[vÿTS寤Qú+ß¿#‘²$:y[…•LÔø§Œ›ÃXËl1Rut0KD~a‘rÇ¥Gu)´šî¨Ä[÷ÚZõP‚I”ñ‘r"â‚ä.±´)'Ô—•UÙxV“eÔõÉ¢«2é?zݦ¤+s‡Â¾…ÏǨ©ºÂ&µX÷ÚBâ.ß*&XáGDvk…Cçž¶’G.R8-õöÞgeÁ¡»1Ë41!,'—KdêqrÃ;ErTXxub´‚%bôZiOD“„Æ(9"bd ®÷>Þ¸ú`¤âB—'/’ÙD"ÑY]Qí$"‰2Òx¤ê^'ðI¨/­p4ºbU»_¨³ØµñŒ“'Nêžla9Cv"Qp‰Œ”s{þxËÉ%bc OÔ÷„¼ ò"+•ôl™”#Þ)Ã0ݹŠíõO"¡gLÞý’DÂ’K§( î^;Ëɱ‘‰#–‘²ÝkdY"œNWSþb‰!"EQ*w‚YŽu#U/OO‰¾â9.Oœ”åNgõЍŠî]qqwŠ”È{jAÂèêãXD¬RÉ$™…`±¬Q¦ÍRP´°ü¢ró\y…FÝÆÕlhtrVúåWß1’9åFåå-€àóØ`­Z̪p$ËvÛB)ýˆ{µÞîºíü¥fÀøIÑ.1ÜÅæÒ³*–¹Ø{ÿ“Dx'ïªL‹Ò0ÝaN kIrs’Àˆå¡Ëˆ "ê2ªª+\D!qéYý/4ã­%VEæSŒ{-4ä,Î0Ûâu†x'OÄ ¼ÍEDİFtòKî?^F¦Tr…¥•ö¨K·åÛËsJI§‘2‚û#ÈýFNÊ’ó*; :yѺ\N‘3 'å\öîµ ¼C¼4†¾| .•J‚SKJâ{GÞ1"*… ŒLÎHW^%­ æ gpb¨„³Heq›wé{ÏÜV¢‹åÀ;yb$=¤ˆ1‘’$³ÕJ mºßOÝ.L›‘§Í «1IŸU¡îi9׈ Öª]Y–Æ`«M±Héד/'‘s¢µ§ˆ-N‘‹¸öpÃr ©dNÆåNh¸¹5«ïF;ÞZj•Æ\º³Šµ«ÂÜÀ„hd޽›@Ä[K+"±…Ó²·Q âëÌæ¦>÷)±a‰ÉÊFCJVY]‹@BK]YVRvµ çH©æ¬¦ »;˜ÁÑ¡W¿5HlÜ]a'"ÞZVOÁjùxEt¨PYjm!"¾Þ\Á+ÝÝõÉG‡ØÍæ:ˆ›9+Ã<ø½4ŒÀóâð´D·¡¸Üœsµ˜$Ø­%i«ÍŒVéÇ*b”¢Åý¾Åbª“G§Ë{`cÔbZic²>+®:-~n!§ˆˆ‹ dl‘_dzrEZÒÜ2N*±ˆQ¯Ìã“[Âäò“d‹D’à9º¼íº0Ž($%71+#^c$b‘é91~tÕΑ„…6´1u^ªIÏ‹àˆ"²ŒÑY‹5<¢Í٠ᜈð‹ÚS¿6#JÃw¯MÁÒ€Cc™&Bš´:J—ZbŠWÜÄ ÍIN×ÇEȯô˜±ic÷õŒ4T³¼ÀƱÊô\mFFŒ†'båÉ9îlÈÈ”œ9E›asPHb®VAÔ=C PDDDŠH­$£ß†Ÿ”ˆ Öi¥iIsóy†a¤ÊÄœÈË?Ñ}ŸRïWÔ›å •”Î{C6\!;*âŒz[FRT¡@¬>>¨°= )Œ~~~?üðƒÝnÇ´Æ0hoo·Ûí?üðƒŸŸªlý…·Ä… Ο?ßÕÕÕÕÕ%Š¢ gΜQ«Õ(ø™E±¥¥¥­­­££¥qSyyyùøøøùù1 ƒ*€ÁÚ’ )\®¾@R@R@R@R@R@R@R@R@R@R@R¸õl&­J¥REè-|Ï+y1*U”±A¸ÍöThȉR ÆdC3©ø:s–.&Â]SQñz“µ» ¶2SIUË•ÞÜb-1•Ývíxv/ñfûOú»Åd*·ßʾãRc³—hU*•®œGåÞ.ýÿq‹N¥RiKì·~­•**ç Öú½ÞûlŒQ©"ôÖQÔ ºË@¥ŠH±ð×Ò3àÀº×§±9,9iiiFwG'ØË=Í'*¾{7zzÈrSJL„J¥ŠJºØ-ÂHëÿuñ1!ToLKK˱8»OTV™)%J¥REh³ÊmVSR÷¿{Úo5éã£"T*U„V_ÒЧn»ç6Ü"¼%©§ãáÝ}Ñ”¯Q©T1ú÷ÔoÍKŠR©Tª¨¤ü*^¼Â—oß~oà-áJôÝMßPíG[P*­™9©éѲ–ZZ.ë0º5Vo²ò}{gï³WG¢Ñ¦ä¹çà?0ñ-€¤pUœ:yy 5æË[.ïµ )ù•ŽÔ‚홑Býî´ìò"–ˆ¨Él&mVª’qÕ—®N2Q\VªZâª/Ê)³‘Í””VT-FænßžáÜ›’?b¯òÓèÔ 9ʪìDDŽj‹“uœRB,¹*Ë„¸Ü’‚äP±~w†¡ŠU»6ê±ru¨„Èš¦KÉ1™-V§‰‰Ñ(¬<2'SÍ1êô‚ÍËNsÎøf[ IDATÚÚÝõÌ¢Üí›—Ë›*7¦6P¨>w¹Œˆ—çnÏRJû^¶d§í¶rÚÜíÛ 25beaV!ªs8ØûW™@BÝÆŒ¢jQ³¡`ûö ZÎZ”o%eú†h)…¦lׇ²½?"eÅÆ {pò†Í¹é‘dݽv…±N º¶#·»7+å5©™º0a€¯Occz¥=«aÅÚR+™ž»yÃr…­r㊴2ûÅÏ,´iô9©j‰ÓZ”Õÿ$ŒÌ>‡ˆœ&›&==R*6í]«ËiŒLÏŒ”ŠM{ E QKYZR~¥S™¾}{®–*7&†˜ƒÝ̪͢7oˆæ•3Jm$X ú"«3pQææÌhgEµx…/ß>M‘hK„†Â´•.2}sNSQáUÅßRUZ-J4ñu\¤”êÍÕÝ¡!?iín+™››ªtVæ§dT)ë[^Òê¢j—25wsnªÒU]´:Éd£AL| ) ‰".#Z*Vò­-—ú.8± ¸xWn¼2,R«dˆlõÎî¿2ÊÄÄ6QÍQ°.%F£MÔHˆœõNlsQhb¢&,,&yy 9*öŽØ¹N§f¨ioµÈn­pD¯ì™ÁMLÑ„(”q‰j†Dë^›0ªvmô'øˆÓ†¸9ÁÎêÝù†´¤ÅsUQ:£¥…ÈO¡2DŒ484Ä•jrŠ‹wm×kÂ"´ÑDÎ:‡Èʃ±ŠÐ0ÅàdDDöFk£Â’wÕT™õ¸To8 TeD¢ 9mÖ;¯X¾½ª¦{*»gùF‡H#´÷ᔺHIåÞ2«}SÖH’踋ç§©Ÿû2Ç1D.že»6ú±Š(½1JOB‹­Þj)Ù˜_Yš‘­,ÏS÷^Ht”å瘫›\Ô¯^­î5é™ÑYƽ¥k)IB—óR”¸Òý¦°ÊXezNœËPº{ãÚÝDÄ/ÊÙœ¡ñ8â:D$•I»TGät:E’]Ó‘ËIeÌÕz¼þx»C$’KÝ¿T&%rð6§  "âdR†ˆXVΉ¨ñÑôe(•sD,+eˆH*刈‘2DD"‘ËÉQSþbU~Ïò›“”ò¡}¶DÁ±îu°DÄÛ]¼ƒ'’¸ 1r™äê_¾ÝÜow'c‰ˆX÷a1Z Þ^YZOD•i‹+»_q–Tص:99ÎK¥Ä…DhBˆˆlÌe '•1ÔÈ;zNòö?0ñ-€¤0T~Qúä¢ÅK7VIÜóÔ-–¬ì½õ’Èܙ֚µºº÷ö £[N!%r§nÏÑt÷VÄHGnÇÃÇEJ÷î6[*ÙF’Fdz=ßJ¢ÃΓ’%ÑétI¤Üh۵ѭ¥ÊT¸·‘‹KO ãüÊ(] Y*×ÖÛlNê•”„†¼Œ¢jgpjqA|ˆÓ¤]œß4@‰îQ‡Øâtõ4`V“eŠÉZ¬ÕæüìÝEYæ˜2eS Ze~}F/´Øê­e…ÙE»³òcʳ<¼Xi°”Èew8‰äD¢£÷€óŽÜúÞ½Ù{¼þ1Û=kt ¤`‰ÜÑë N„“'·%‰TJä-/ÈÓÊzÚ'ïß×ðG¼½ÏSêœNä,¹l<q çdˆ\§HÄo·¹†ðå{¥-qñ ñˆ#ÁiEWßÙ-%Ä(“3ã, ö2ÃÆJ³Ù¦K‘q2i÷‰b‰¯++«‘ÚAÒ©T&%rv)ñN‡H$•IÙîÈÈp>ß7 ®¾ƒÛB›¾HJ΋'zE‘ˆHàå……u"ßÔhs ás41D抇Óf1¦$¥Öä{$ÙøhÕççYEi¤VÑ«'mÌ7”XªÊòòª‰e¤‚m»6ª±¬­²¢¢(I§7šJJLyYi†z"©Z)#b–ÈUWa±6ýSˆHp:íU%yf9ëëìË0Dd¯¨¨ªk¹ –9öš«ªÌ†ÂºK#v­J“UVï$N*ç˜î9¸ÑC RÓ%f«S°Êlf]„J£/±:‰Ÿ\ÂqRŽ%†aˆ¨±¢¢ª÷ÍórM|(QS^¶©¼Êb6«E’Åij?éȰÇã{56[¯·°añ‘RrUäÌUUåy†R1êåj?Ô÷íÌO­U9*ÊêN[uaZRбú²v$U(¢FSay•Åd,ísÚÆUaÈ/«²˜ŒfQ`t˜\©dˆ¬FcY•¥Ä_?ô¦È¸%2µZJÔXh0[ªÊ 9îûžFÅ¥Ÿ¶ s1ÊåÚ(F£Ñh¢´ñrT˜68&RJT—WVe1g¥eoÜXá¤AzV¡$²²J,U“ÁØH§U\á¼ ¾”†>4 KIŸs±ðÓè—‡J\•Ù+Òv3‰yéJ‰hÍ6|<„ŸrPèòr㔢ymÒŠÕù~šÄDÍÈ?(´q$ºH­í}!£ŒSTVgïn’†Æå¦Gp£p×F1N™¾=wù…«º4ãÆü¢ ‡|ÎòÜíú0–X…6.”¡¦Òµ9eÿ¦ÓG2ME«Wë#rrÉÈQš‘_Ï(ã"eäªÞ˜QhC3ãB%Î Cš¡*X-#D‘Ø]VòÆ’”°bu¡=lцÜh9 þFsU—æ_’Wæ N¨ÊœóÓõ‘òú«’ŒõŠèôÜD‘\¯–sovvQïBäÚ¼‚Ô9ò†üµ«Ó UŒzynÁ¥Û ®ïȸÇ+s^jlf»xyûܰH)VV¯^[d ŽNßž…ÞàvJ1¹Éj¦";iÅjC5£Ô¥D^>¥¤ÔgF2M»×¦å5F$Α‰âÅV#‹Žt–f¤åW‹sÒZqé¹q¡ÇÞìÕÆj….RêÒ¹¶„ IÉMVJ•†´l3¯•õ„®”ÊÌMDaÑaçÙàh%CŽ ³M`Ã’ 2£C]»³W§ª%s’ rcüëØ”‚ÍËÕëÆ´ÕiùVéœä‚Íñò+œ(Å·À 4FpO&Ü.\8þ|WWWWW—(Š‚ œ9sF­V£dn”–ò¤k­©{Ìî.Uh0Æ&”òs •¸Œ`´À‘ #oÑÍM«¿ôp;Â}J·eH²Zª«ÌF+1sRbð€¤DB£)#»Z”/ÊM×àÙ ×WßÁ-ƒ«ï`Ä””””””””FŒ^§OŸF!Àu›4iÒ`œ@_˜S‚Qì®»îB!ÀÍ€9%$%€«ÁÕw? [É FaŽ8”Å0§€¤p5¸úàÆâe]pK\ëE’˜Sè sJ7Ø9gKkI±ë/GºZ([bì¿ùHfÍñOðú!)Œˆ˜Ôüôï.â,ëéw' ä–¸pîÿI…ë/Gþ¸õú®¾¸‘ZKŠ/âØqãÆx`Zâ–ãá1vܸ í­Åï^ß' )ÜH®#•w°,Êa$¸ƒa]UAR¸õºþن٤bŒ‡Çuß*†¤€¤€¤€¤€¤€¤p³áñ…pûé¬,9ñrKßW=©Ø¥ý_ÌM[«ËÑRíá3ÿα·h¯…ÆW´ºŇòËÖ?pc~À?ü»˜M³‹v?x [ñ×ÿ/*ùˆØ÷åikËÞ|Dzóö½éà'Î<À†æÙ¯ˆßi³W®Yóxðõo>ðw1Û*ýÓRÙÕ¬ÿø0óÐ#ÁìMúü^»YÿŠ6Õ¹¾ì?p[þœˆÐtp˦mû>kv‘Äÿþ‡V>ûô#Á£¢’óØ ||¾ìÆT·ãã?ünÃgâýkŠþøóºZ×5pþ iÚã3¤C;ÎbÖIóÍÏã÷l`„ûŃ¿|+}\Ïèä|Ûß;jËZ¶—wük°7Œ—½}âwëÿÿ?Ö_ðïž¿ùïíG;;‡´þ±ÓbîLˆ‘O¸ƒˆ~üî_ùÓ÷ï}*ük4Ý5î)’@÷¡3'þ¾9DD]5æã/ÿbRÉÃ榯´ë´ÕñaàÿºeI‰ÿâ½Ã’… éð»Ÿñ̾e#6öÿm©r”_ŠIt¼XþÇaØ¡éƒ-ïJƒGIR""bfå—÷DÁqøõß¿üú=e/†Þì1ðÍ»[>œ=ã bƒÛ‘¼üuþ¡µË •’³ñ“m6$¦ºŠÞ\8ò·žÿë»[ö=±p¾ì†4þ›}_0KLæç‚YᯛnrërÞöî7kþ_{wÅ•÷ üÇKWéJ ›3 Nœ#}xɤCrf!<+éˆæ0Á!AEeQyPQèc‚É,… êa‡–“!ƒÏ3BÎ ;#<‰´/4A«%©jMUó²4 j#æUÑïçŸtºúÞºU÷b×·ï­îØ05Æ/ráoÿ™÷å°ÍôÏÔ‹ÚýÿíQæg?8¾µªU“T™Æ˜S«Œ¼Î>Ã7¤ê«‚ý»O™xÞ,û¥$ùsDæ;òË»E"Æ;4­  ÉŸ¥ñg-ÄÌÍ((Hð·_›´îx;»¹³OT½^TôV GBGMaaE»…ˆQ%åå¥NP$SCqá>£‰"ePJ^^R 'µ®ßÁ¥è„Ööîn3§ËÉ j¯8Öf2Y¸Ø¢=+‚9Mb‰oýcþŽc™H˜WôV°xtefmŸHo¾Ò‘³ûõt—¬F—å}ìT·…5$™Šó÷Í2‘Ò/vMÁŠ05žòS}£O­Ñ©‰$sÖì2£…ñÖÇÉDDæš×M› : õ+…¼ºíaö’ºþ˜¾òS‹|jÑkíE•y~Uù;ª:- ãµ"oîæõ9ì}SÕ+©Æ¨DUû)Ï[˜à¬íâ´wì}mçZ}>[TW`·üÑT}MTåáí´è1áÔ;ûº6×å6µÜšRM@+)%"Vè:Z¼¥¢ÕLD¤ÑeäÄiiª¡.µfÇìP'›Ouó¼YÔ.,(z+˜#Únï#sÕk‹Œ Zcs·Ùl&¿´]EIZ–Èl|§ðÆn‘H©Ê(ÈZ ¡®ú•|Jklî2›-LXή_˜º±]¤N}êÂÒò7BÃî6U½öfk\¬\ÕH•û”·ŽÃPSá›ùí²Üž¹è\Rø@ÕÑ5a&Q2Ý’_a4YHé•Q§í»¹Zº­å¬£1Ï×¾YÖm¡•‹Ìi{÷&9,Åw¬,l43*M@T”(“ï{0ÍØ¬¶Ï›¾êp)[÷DB“é๑™þî™ËUó=œl4|éÓ+»*„Ë^ûVÛó>›õŒù”yñ[òäç½2S8_fÄ&ÛÚµ·Iš*³{ã%çßy¾ü¯CDD6ÛçGÌû °ŽÑÌ@ìß«ü=ˆhd Ã²çÝV×»|_>;pîÉ™sf)Ü„òöç^yÌ×ËÕ­ÿë—;­®q{|㺾î™ã6ËÍÙ]!Jzv “»Û’Õ^/Îq&"¹_<¸³¿åù¦øn ú™?ËÕËË©çpïö#ß^#'Ÿ—nk³›Ûæò'®þYôžù¸»‹›U,/øª3pâ‘^íù©ÒîS‚‡Äð?Œ=ïã±ýwó>üý¯þÇ“ÖÝÿÛ|aÈ•lWqþÓ»Ržù7ÿÁc f ýÅÞ”gþMûí§™†ÿñ—/ßÔÛ—þúÿünίû.|þ-I_—œøÚãÅg>zû×Õ/+ÿyòBÃ7οxNû†‡ÓÓº_VÞ‹˜Dd6~` H‰Òht)AæÚfóèÓ #ŸoUV®Û“`.Ë?f"Œ;¶4«ÖÔµ´´Ôw–m9f&"SUö–N]iSËɦ=q}e¹ûº$"’ûZ;ÃòŽZšö„™>(3ò$´¯Ü'&í¯7 •o±5+ ”Í3U¬-î*ª3?^¿7ɲ/·¬C"bHîk5ëòöV©L“7vÇí?|dŠplŸ‘wØ$©­,¿–Ò*[ZZšÊøò+º$MBQ^ã±ÿÈ4ŒID$˜NT5öy¨ˆ¤Ž²ìâîТ:ƒÁP—§5ææ6ð$uUä—™âö7µ´´J£ÆÂ²6‰ˆoÎ/n ,¨7?\šÈ»e"Òè’´}G›Mö Ôîc­–4žcYÿ·Š2f3~9‡çËÆÂÜ*J«4ŽêÖhŒùùGÍ7goõOÚûŒÜiäÒöT>r¨(¸­¸°™¿sï3A):¦µ¦Sù&mR”všt˜ÔÝÜII7/SÇÅ«Y’:ÊV–™c÷ÖŽêKC;г+LSu"¢>£IWPYyøxeš\›_Ö!‘ฒ;)¥tå‘CûþØ.™ªróÚ5‡ C}‘®sKv­‰ˆ²œ2ª2öV>r(Gm,«ê¢Àœ¢DZTW¹bâÜÃî&†!±½YUgØŸ q0)8oý¯,-çÆèšP±ÔQöö>~áÞ¦–“õEAmÅùÇÌ7Wë°åŽÆ<§+(x^©Š-=´7Éq)¡uGa³*§ÎpüHyšÚØ.ã}¦©Žv+3ßß…Üycç¬ö¾·‘úvÿ¥Ð'ÖüV¡£­ÖÍ{Ú†­Ÿöf­½zéIõÚß»õWô¤.þ"£äúœ4ŸÅþNwä6W9K¾nhšðÜHï_N´ÚÜf¦¯S»Ÿº”±ø‹Ôtsç¯ì” ±‘ó¬`§†mç³2{ÿÝÝ=;Å¥6¯ç­ÌÞö'K r&"ÙæìälØÜ“•~®ð¯Š„åj?…KäjM4YÖ-ù"uqOùE·ôÕî> ’‰˜9Jª»”“y.ë’ïkžn¤˜ã¸Í²Â5èÉo÷d÷¼•~ÑÀ<¶8†x¤=?ᤒ<¯7›†~ù¬çS®DäòÌ|õ‚ð÷kDD Ž[àáLäü„·«‚{ôY•3‘³ÊSA×l¢½Tˆê)W"V¹4ùW»æÏ Ö£ðw¿Êý…‚ˆ”Þ=íbûÒ:|Ît´FK 券 4PSÓ%mRE- àˆˆÕ††©Î»xâtEõu:5qº†ïæ%2·6ôiÆú³D¬Jy}e†ý2J¥{=TCDœ_¨†á-¢Ô}ÔH¡i±Z–ˆÔ¡¯ë˜ö†Niª×j<ï”hoGT¢ŸØÚl’ˆˆQÇpD¤ÒjUp”kL¼EtØ$6¸ ¾¾4Nc? `•h²LËá(šùbĨ˜Eûø¨¢½þ,I¦F£Åïuû,œ’àÝ}¬gýWjÚŸ¢e‰H¦ó–Mf‘¤îæn&xaGD\`RÂl²Ïa¼Ðw´Á4”t‰ì$Wû §(,Å>Ä%F)»;„›ãÀíõß¡÷g'Dù³DÄD3ÝÍÝÒ{Ÿü£˜S5íñ­ÇL~‰:Í´é<‘µÊá'"’©±U H±Ÿ!Ö?!Á»ÏØjžj¨ÛSIPR¨šˆHëméh˜Ù uZ–ˆ8m€Šúx‘Ì­ ÝÞI)aj"býc_÷ëk°Ïj1Iö ”Z­R4[&O†“½g£töYc‡ãpÊXij4Š~IQZ–ˆ \QY¿g¡æ¦j·|ª}9,%™Œ²_Âè“Q‰x߃iK°ãæ4sΣóÝä£u׈hàZÃÇC³^šé>ö*Å·9Íú 7kà›ÚSƒ6¢kW_rù—PF1a?3Ý]È:huô©‚b 꿽FDÖo ŸÚ¼‚•+ˆhøj›Ðc%²Úz¬ÔJ¸d#’m=WÉÝm4T\mÿ¦s€ˆFz>µ^õzÄ×gÆsþÔY/ôÚˆhèó&«uçïFd%ºøõ_Î ‘õ’d%W/·;´y¸ëcñ2Ùl]ýÃn^.ŠŸ©3°úCW%RÎû0…U(i¨_²'gfüïÀÕÕ~ý£p/å¤d'–""ÛÿýûŃ_^· C#‡(ê^ÆÝQÕx¾Ï’þbãØ3ÊÚÎ û»ŒRÃÙ¯•YN£¤VQ&âÛ•U4t DDâyYŽ%’“(3걋?–ãˆH&b5;z©mÿÌ[d±se|´ý¥²,R€ Žm¤}‚I$N­ý_F­"yôò¹qÃ0£™ñR·5‰„ŽÆ²}Ç:xû„—…‚¦çh¿OI0®Õʱ):ûM#"/Ê[ôÑÅc×ä¤íI›÷½SÛf–ˆH¶œ—5D$ ¢ÌhÇΣäìÕaIAÅ;jºÒ²äÆ6&ªÈo’Ž‘y‹Ì(ÇO®F)·Š"Ñø”Ãú'é} éÆ*S*Ù,ËSô>œ«J­iåuÁ­ÇL~‰aÓg:Q©•"o–ÉÑme"/2ÊñQ­Tq$šÙïŽC}ôµêg#‘—ÄIúˆˆX†¹åOÌ,Òù}©ÑcGVùñr14¾/ºÓd÷$Ɉv¼g%ÓíãpJ"/2êñcç8îæj·\"Ußö5ÉñúMÜ—’S20M1.^îd&7W7fFzùIÝàLý 7×ÁÑ0ãpë„áæáD^ªÇÒãl=ç¬ Ÿ€¹60Dn wfÂSãIÉÍÕ†­£Ï ô‘ÂÙˆˆlÖÑo’mÃ6ûGŶ‰ÿÊ Û®Ž}~l¶‘‹Û#.îÌpÏX)²Ùgw7'"’ixô#yŠ6“mÄjÿ'ëçì $%xH¸x°ô嵡ÑyTÉ&’‹ë|¥FÆKÉÖo¿b<úLgœW%ÿò…GIú:ïOçïñ‘ íUFeÆ¡ãã7y˜kRS«N Á:"’E³ ‘†½¸à”JÁ˜Ÿ[Ål¨¬\ aIhÍŽ/$"–Ó*©Í“ŸæÃ’Ó­ÈÐ.*.k +㈔%šW·+lâ­_¦?¾²¥-ª|ÿ®@ŽÈTõÊ¢f"b8%#‹c}È¥„ÉùÇ:£¨•‰Ú5é½õŒZÅŒÅU{šaÔê‰î°þIzßD$ –±žy™QݸH¬÷I›¤­­mí’Í·.e»¿±Ú¨&·¶Ù¼ áÆõ;ßúNYwTN¢R­”M¢<úÙhH©åîêŠ]äÅñ³-RÃ)§ê£‰,%ã—q¨ò¦/˜”ºšïú²l’átS7Wdß>§tÓ ‘xSŸì­²ådúã÷5ÉñvpJÙ<¶/‘·È¤!€éèñP÷ùtýýŽ!›× U¾v ýâß&lvs!VG[Éùñ±GÖ«#òÅþ¬ÌË“ìÈzV8Çx¾êúŽ=çäóD¢ÛÀû]ƒVbÆr—“»— ÙlÖ»j¾³ÂcìêÊÍEACÖëC²=Œ>) XqŸã6ò½€Õwðpp}$JëòÅß-‰hèŸó_y<öì£wYêʃD’øÁ‘®‚.Y–m®Ì“3‰†þq¦ÿŸC#Vy„È™hD–†~þ#ãU§Tqº W]¬¦½jôö‹ñX§@DRw£Ñ2[çÏɼEVj´*–Hè8VÕ)Ë‚L¤ ‹›ÝWSÓ!I¦š•‹Þ®2;\SÇú%ÉÆ*£™ˆH2(\ûNÛ”÷)Ù+?Ú!‘dj¬íVꢴìÝ•º©I¢…—{Û%SsU›(‹‚LDÄȲY¦åÈÔÄæ$ªš ÷uHD¬6J§j¯h4Iöž}g펼$XDFí§áˆ$³±ª¡$Q&V«ó[µ D$´ÕíÏ^‰:jÞWfän¿ó‡!Y²ÈD¬_\(µŽö#ß^kì‹ÃnÄõß¡÷Ï=Ú%‘Ð~¬]öÓMèÞI{_•ègª(«0L¸™jºÄÛ€îâ7×Ö´™"‰ïh(|{e£ Rs¬6V§ì¬²÷ ÐQSÓ7;.øî.×åö#OD’ÉØx^¤š²nþcÑšªjì‹ó„¶ªµùGMwÈE$ â-éo’á4!‡8‡G×MÇê”]‘ÐQñvêÚæ¾©7·[ ¬IDAT[>é¾X’Qž¤«ÕùQçÑV3I]5µÝx߃iHáóDÞï¹T¹¥Ÿlç¾ùÜ:cáK3f‘BñÜòY+^ºqŸÒä[G. \ú«pÙË#!È…ˆî3—äû,œsÓ}J¶KßøóPÀò§VÄÏôqsR¸)þë+>›3f2ýƒ_Ÿ:­l\ü ¹?ý¼Kÿ©k—ïîv  Ç滑sÀKný׺{¿mé €xÎGA¤pý—x¥Û9¡kÀaÑ©Û|Ëë.?ñô1æ”à!áüÌ‹¾Kÿ|aíŸúe"FõتÿþÄSSMkØK½ñç kßë·9?éç“?†jH³ðÌùì÷¾öxÔõ×!³–=}®èøÖ&þ"ü™ïŸ<ûªiV¹ÞSõó—¹¹ªÓ;nÍM×Ä]¬v_U³9LEŒw˜òØÊ× M}ePVQ¢–XUFbc~z|³J¥ NÉÊy>wcnfÕþý‰»rL¹¹ñ™™ý|Fi†?K}Ž®ÃòJÓ ßŒ.–‰MXÚ†€©¯rµ‰»6˜ósã£íe²J³Y’î¢Ô-MR3Yi~+sã_Vy«“²Ö,ì^¹å͚ʔØPyKzLgFeeŠvºLÖ?eMlcfaÅÂÊ·ü³våç¿_!‘*(%/MÍ2)¡Ù[ôÑe*_BÆš×»W–½¯­Ü—Óšɨ´aI Lƒ<f£˜%µêwþ¨‚ãÊöé£[7Ú›W”R¸#5º˜ˆ”~ ‹ nù½+M¬ƒú÷¾…ˆñÓQEúkæ>Y¥ËÙ¥&2ß±÷‰ˆÔa‰~[6vÇî™^A‰ˆ´I{*UûÞ©ÈÕ—‰D¤ô{~aieZ˜†ˆ³J³¶l±÷ RµaW¢–è.¦>U˜¶=ÿµ}¦> ¼^áÏéõ‘Ùq‹RŠ6˜óóõÑöö,\S %êr8Þ´Q:ïÚñ/7—Ú>>yé°»oùÄá8Üåpt&60«4kK~fL™(+ý¢r¶'jÉÒ:EËYÉñ˜Ï‰ S殌eážCk/éÖlˆÊ-ÖG«¼bB•Uxãƒé‚™¹ö ý gÉÚío>°IõúûÛ®d.÷ù“Þ‰4Ðõuy›Í6¾–ÖñVêùøºuµæOån…Ù_m×%{¹o5ãD4Ôóé•]o™Éî|÷üÆK/Ž÷ùCš3ÑðÕs×Z¶¯=5H4X^Âgþ~VåoÉF#ým—wüOÉFwóC(ÃýíC/nœ“îåâ&{´ÄÒcîùC¯ßê'¶ô$Y/ {K¾î%òqTØvŽwÐfÇahx‘ö}ný‰úÆI’$ŒP¸'FFF†‡‡‡†††††dY–$éÂ… áááw_ƒ,ãËî„?ñ¦þ;þ^(<ÌGßLm^8ájõ'fªz-ÕøVýþïüÓYRG¡>Ÿ)=ôÐÿ8¨ÔšS¨-¯[º˜ÆØOF/è¥d"êŽ~QáùøÃv\ìòMh3eUÝo?Çd»rÙÏð—Û»i4ª2“ÎLaõÀƒ”“Nì«0ëÒt÷ý?BGm±Q“’‚t÷möÃ)x H]臘×Z2J‹‚ïïmü‰ìEÛUQv%`Âî[X}÷ VßÀƒ«ïîgX}ð£AR@R@R@R¸—\Ü=Fqî#ƒƒ.ªïùÛHJ?&åó/ ãû¥ïò¤ŒxI àÞS%/vb˜¡kVÌ,ÝC#ƒƒC׬N3f¨§|¿ð˳?&Wµçìw÷[V‰'ÿ6xå2NÈ=áâîÁ½¥ZœâªöDR¸_Â’×òl¯åÙ8ÓVßÜwq ~ì' NÂsJHJSÁê;€DzAÆIxð`N I `*X}ÓØÅ‹qà{{úé§‘”àáÙ?Vß ) ) ) ) ) ) ) ) ) ) )Ü{ÒéUÏŽ‹ˆI^UÒÔ#n;¹,"¦ä¬t÷µõÐG,i¾Ãî¿ó.n¯¢·¥dIij‘ëOKwª_8S_ÿƒö޹âÀŠy὿”„°DBï™–%›_Mîz¿zÙ<–ØÚô!ñ?á®ð.z,]Úâ=OÙsçú¥Ž{ê"Ããç²èo€æ”àÇùÌ‹_¿{÷Ëb嶺^"éäú˜W÷œ•H:[½J©_U}V"ºRŸ¡/Ù½~ir²>&2~YõÙ[f’z›¶.‰‰ˆˆˆˆ-Ò[­ÐW÷Žn–ÎlЉ\u’ßÅÉU‘ñ[«KV-IÖÇDF&o=y…ˆHê­_¯ŒˆŒ‰OÞT]½$B ÷æÝ(Ã×<°.Z3ÉÙáLÇî7–}Âwl{U¿é´D$œÞ½,>22222&y}ÝY‰ˆ¤³[cbVؽjir|Ldüªú3-%Ë–$ÇGFê75]ÁÐ@R‚‡>.êÕ]†37’Ïö==ú÷ZZZZšªÓ¹ÏŽwD #› ‚~guuÝGïé{K××õL¨DhÙ¶Ù ^÷ÑÉ“'›JB:J7×õúD&ûšë öWI]uŸQDrˆr¼K²ù“ŽuªëšªÓ¥#%Ç{‰®Öo;=okSKSýÎðŽÊ™˜[Zë9w®ç”‡Äø-Û™©eü×}X·)„½R¿zY“YÝÒÒÒôþ"~÷ò’3±ÄŸ>3oÝ{Õõש?Ù¼Ú¾õ@uý‡«XCùñ $%xرœ/G‚x#)±j5c6ÔÕŸîXŸ˜M»W…pDD¤ŽÖrDÄú†G¨M-g'L½p‘;›ê·FzÈð]¼äóBêÜ“ˆH=×W)öð’ÔeèbÂõ!ùĤ¿¬ù1O8]w†‹Oô!"Ö':5Dú¤Þ~g37>Ä“ˆ8_5ørg̈=np˜îS‚‡„Äw Œ§š»{"¶ØX^~dSòf3ã½lã:ý\"b”šÑŒXN£¤“¢<¡’+§ëJËëíKòD“,½LDž‹B¶m«>›¾J®?ÍDïô¿åž!–¹eÆHâüÇîbRúrÌ‘”xAæ½So¯L–E&œ'RÃ(ÇvÀòcqg’ ŸUŸ”ç­ ä&fߘe[c–‘tåtùòeËË?J%’E³ ±D’`‰SÞ(!´l^}€ÙX]ãÃ’prYÌf{ä Y!­¯ëˆ¡Ï˜èÝsY¢)æj8Žd~t'$öòp|œšc4©ÕõË|oЇgÑóßVßÁOºr¶iëÒõŸùf®‹öœ"v/YRrZ "ÖSë¯f˜Ñ|÷ÔuD$uoᵑso$%‰çeÎÇWÍ gê*ÏÈ’=äp‹"ɰ»äN¯÷½‹PãîËVß%Ñ•–ó86–d‰—‰ˆ ÑÏãýƈ³uëWÀ·‡ü˜S‚•üÉÒçžµ?TjÃã7VgÆøNXrÆÎ]´dÞ†Mñ1DêyúMËæ²R1šp®n™~S™çBVî\äKÔ3ZÄ3:sQýú7b jµ&dɪu/¬Þ°jé–øú/ŠfR¯‹ô¹›–ùè7®ülõÒ˜HNíû½¿¡þ–hw¶äÕŇFÔÒç Dþë>ªÖ;¨[X²ç_#?Ûøá{ñ[völÞöj¤@D¬oôÊ­¾X`ðý9I>x†{cdddxxxhhhhhH–eI’.\¸~›t¥iÉ¿–GX—ìó öÖ-I6è?|/Þ“¾sÉäWë}TýÝKÀO«ï~°Þ¦=åæÈôÈ» ;ÒéM1‘Ëê{‰H:k¨ëQ‡øs8‰÷¬¾ø!¤³%ÉoâçeîÞr·q‡ ÉÜ¿aó«ÛˆMxæÎ̹X(pŸÁê;¸gîÃÕwvX}€¤€¤€¤€¤€¤€¤€¤€¤€¤€¤€¤€¤ð ùÿç”u :J IEND®B`‚murano-9.0.0/doc/source/user/figures/select_packages.png0000664000175000017500000041661113656750211023374 0ustar zuulzuul00000000000000‰PNG  IHDRò?ÔMk†sBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝy@SWÞ>ðoBrrc› h V,E±Elq©ÐªÅªà‚û:Uœ¢¾Uf^à3/ð{qŠ8wÅ]ܨ SG*Ò7*Š•0…’Xs-äfûý@–¸`7lŸÏ?Brדp=Ï=çž#Ðh4ðl¢±±±~#DO¿ªÅB‹Ùh°44˜êÍÞ¢×›y½¡®ÖÌÝ3ét|õŒw5ƵQ«á5Ë á^ÿóàÐàÇ"èèHȆ;5ß®ú+5Ô[Ìf2›,Ök¬©!£AäúÂS¬kMö!Wèı–LÆ:^OœÅGѽ§Ë‹Y̳À"0“Åî{ H`ý§)÷™L&‘P¯·X,‚ÎWÚ5«t{v8ý÷'Ok ³ÇZ‹Ùlhh ÷ŒF×n “ÉDd" H`¶˜‚YU …šs­…Èb±´\ s±XH °4Ô“P(°·Ç×âW‰×¨5ü#—`ä 9†4øÙ«i*Ç(” e?G¬D ‘H$XˆBëãµ$š‡‰²þ,,vvFž7™ÍŒHÔ¸À#“í×_½gÏ“Éôâ‹/†‡‡³,KDwïÞýôÓO‡.“É>LDo¾ùæˆ#„MÝ}µZmffæ;wìììf̘áîîNDgÏž=zôèäÉ“oܸQ\\,Þxãwß}×ºŠ™ãî$Ä4ü»˜ˆØ Qò?ĪÞj}HøÎŸÿG@‚.Á£œ–þ7—{äîßÓ,õõ³©ëÄ)Ïøû–G«Û¿÷ÞÖ &N'ttì±j]›sùvò8SmM´ I¿þøžýâ4qÓâϳ”xHü¶„¡rÀÏD}2qYRÞm""Ùe+cƒhe€Ÿ:Ö’@àâ;ø?g Èl"k‡c³Y R×®G©€er'’vÈ䑈D¢{ß}——ügÞd¬Tº>×Õh±Åb'±·m¯\¹²gÏžçž{®[·nåååÿûß-Zäàà`}÷òåËZ­öÅ_üÏþsêÔ)¹\îããCD÷îÝËÈÈày¾OŸ>ׯ_ß²eËâÅ‹»víú /ÑþýûzõêõÍ7߸¸¸x{{Qí—试ڿê+ÚñåeDäà;ØPYa¬¹Íx¼l×­;Ó«7qY»Åî=…]ŸÓ_.¹·{»@bÿÜ̹1éÓ¿rÙ…ެÃëCÌÚ:a—.-ÏE›¾ÂT[þ÷>2mg‰µ%å†Ç/e(/ÑÐÃc-_71Q¶|Û’Þ?âÕVµs΂‚¹»Ó‡þ”w'ùŸM‹Ø¯mñŠ£Çðˆ¨pŸí•/Š›â¶rÛ¯.زzknQ¹Ö@$îñÊÐÐy¡>¸}šœÄÆLKDÚ3Ëãs}2BÂYs朜¾;=ðG¬?=m=§áNFŽKúºÅ ₦/^¬ìÐ)=uíTS’µz]VÁ×· Db™‡_ÐôˆC®»Œµ‹ú«ó&£A$Ú …B"¡Ph3v‹¢ݺ“@  I(ln’5\¹tçûïÉb)½}ûŠú¶Nß`rè¼Ð³»­‘÷ìÙCDöööŸþyQQÑùóç‡Þø-×jÇïíí}ýúõÌÌÌýû÷[cíéÓ§õzýìÙ³ÝÝݯ^½º{÷œ &ˆD""jhhøÝï~÷ /|õÕW‡ÊÍÍõöö6TV试v x»ÛÿüÙb4Z "êžœªYñÿ¸œ#Òqº¼d}.Ø9-C ´ØÙéK¯Ü^¼à~ÎçÖXË_¿Æevéâºû @,¶ BɃ®Ë|Å-îóƒâ^|>b®UODâ¯ø¸=ꯓ«,ÑñD¿Ò[„¯Äìoºøóš’-1Ñщn»“;rÁbübwo`Ø–:;zNÚí¡‹c7ø(XNU”»>eÙœ’ø høÍ×Ñ*ÏW¶ŽTE•|ÚkŸžìýÕÍM0œêdÚ²¤ÖkÛþ6ÅÏk­ÝŒ­³õ\½}›7™ F£sŸ—d2ÃØ\Áú`­Ðdp¶g<¤ÏÙ …vyÿ´ô µÚõåË—‰¨_¿~‰„ˆFŒQTTT\\Ük†ñöö¶X,/¿ür÷îÝkkkU*•R©,**’J¥ÖŽÇ}ûö‹ÅW¯^mÞ¬\.á…,Kß¾}>|ÿþ}"2ëtDD& D¢Æ# -Ö4. „©»9¬Z]5·’´i)Däg]@ i•Ò¹=Û-F£têL¡#è<exÔbÙÅJYIv^%׿m¹WÈ m|¼ÊÆŸè§1)¹jF®ð àx’Y?äÒ¬””-%"FîîÅ’zçœ9A3”E¥••œÇŒØP>kK^åm5ï5oyBˆ‚ˆ4Ÿ%®Î-çâ¯ÅQóüäDD†ÊìÄYE*-¯X¬dˆW夥¬/¨$†ˆõ Š õ¢’”9qšˆ ÉrâK?]žñ”× Fî:N¹kk©š†ö&®d]bJv)GÄ(üf,‹ éÍq%ëâ³JyVá*Ï[Ç-ÞàS’8±ñ.&w#;mù–"5‘bèܘÅÁJ*Š›˜&›1D{òbåmµF›´ÄOέ^Wê±lCl°õHY¥_hÂr~ÎÜ´-¥~K¼4;çÌ)™§,8Y~û¶š~½Ùk‰ÈÒ8Ö±Y­½cogÇØÙÕ«nš„]•ù¥ìKϱf‹ÅB$vtl¿ÀÝ»w‰¨[·nÖa¥X–•H$Ö­\]]©ñá^z饗jkk¿ûî;­VKDŽŽŽ_}õ•Åb1›Í à †††ëZÖ®ÈÖÇz%‰Ñh$"É+}…]¿?wwõÊç#Ñ#Ÿø5ÖÖèöíâ/_l~Å|Ÿã¯— $Þ>í—7Ý©åŽ}îøV4 WªÎvádä=X†Xy·ÆtÚ2è1Œ¶ý*\QZJžlñ¶Œ@9#ki„ܬ¯F¯ãæeìQ2š‚ÄÑ)nÛ†C†¯‹ØØÔtW7-&.kÙ†ô 9W=-mgiÐ/Mv\bž2aCªŸœ4'ãæ$¦xmKv#2”gk"2vDzš‚Ä9‰)'ýÒƒ¹-ñi¥CR·¥{±¼*{邸Õ^Û¢|"Ä¥øÄöØ™’×#bÃSßûâÕE;w•;zE(ˆ49qÑÙlTÆ@¯Î‰^ó™Ç¶%åë³øðŒ¡J¾tç²¥·y¿–a¾tuÌgêðŒÝ¡J†¿±nÁ¢˜-^Ûf0Äß>Sê“‘¾PNê¬9ÓWç†û…jóJï{Døµ>Re@ˆÛú¬5y1 ¾Î¥¨•éJ†+Jœ·¾$$ÁO½3>ñÌ+ Rýäü‹Ådylou—‘+ÍJŒÏ»ßú´Ä~¶‚ð£DL:½ëkëÓbã=ärUVÒêò€•æy1š‚”¹†DD*[uCüí"õÐ © YuÖœéI)Ž+3Ò—0ªÓ¬+HE˃ˆ×õ^¹a‰’nì\‘¸nè¶%nE)q;iqÆ@qE)sâ{oH ‰wrAÒ– ŒÐÊ´Õ·ƒ’“ÛıNRQánäî,¸ï1Ã%¾ô³˜´ò€Ômó¼X®äÓÑqÛÒƒédbZ‰WÂî(?V}2qQ® l¹¾ÚVÝÕÒÈ6¤f(Hsré´Õ;o ]œ?¯u hÝ(,ê±<-¯’÷±UK gmÖ¨[•¤úÌêøõåmN«Çû+7,ñj{à)'Y’ð­þ.ίu—÷v´·3<æ¹E3YL³¥1ÛPWWלZ­ºtéBDf³Ùú«]‹~ËÖŸkjj¬­ÇjµúСC‡þüóÏyžo¹¤Hd+· …²EK…û{ûvÝþ¯…fN÷°ÃÖʪš<Ž;°×Rÿ½€‘4{£‘»nÎd«+µîP $h1ê„øÛÙ®4wW{Y'oÛ&™¯,(å=BüäDÄô}ÅújyvùÍR2D$÷›4„)É-剈ÄCDÄöðbÅnAÖõz¸±ÜmŽˆ+Í)—Œ³>S*êC¥¹å<‘[H¨KDr¿?¦üL9¯>¦Rb½o¨ õàŠNªxb½Æ”§ÅÅÅçõXܾ /¯*Ê9Y¢¶=àó×IãÞmôþô”òËVFù°Ä•d—²AÓ‡*ˆˆQ†ûðgrT¼ºä¼V dˆX¯é^â6»É)â¼Â­Àô QÜ>s^MDŒ£µ°HîáæÈUjyâ4œX.o{CíáH\å}k¡¹… Q2DĺyÉ鶆#õùÜrEhxc±MòPçžW·ÙÀШŒeCZÝ!{eîÊddZ€gWòÙ‚QïOŠ>¯;wÒ¤IsçNò¸=éýwç|ZÔ¶Ž4¥•=‚¼¬µ¯qC¬-­30Ž>Á^,ÉÝzˆe=ëϤÕrôЉ}” Ó; ÄM{±T×ç‘_øPë3.€-Ï)åˆ!Q²Ü¤¸¸Õ·ƒâ絋X¿`EEûyÄûM5¾q‹²(<))TA¼*çŒÆc’µ5”õ Q”g—høò¼rÆ/ć%"Eàô m> ‡Ö]Å^¡EâæÆr·µÄßWó䨣m‘Ëż†#›µÄ‡×¨P†/_>έå+²€˜•í3-=ͼµÑÔ¢Õó" Ìf‹€l6wZL&ëõF£P 0™©£Sü4wÜj³KËÈÚ»wïQ£F™šöe±Xì7Iã;Á’¾ÞµúƒþRImôÇΟfÚà† ÅÚ•©¢ ç¿}&r?“/¿ñØ0Œð¹ç¹£ÙÒqĽzã‚Õ™0á‹ÝX9ïÕ>ø±rʳ‘kµ#oz˜”eY1¯Ñî=q¬õuž¿O^œõê+vlú+cˆ±vÌgšúçsÚûFÑüdª£Œ¹_ÎñD$~pptd jžãT9ÊØWâµ÷‰ˆ¯Ðpùô4uÐJÏ¥ò¥)‹bòîSIëm=AÑôl-_úé´¥åáÖÑ8í}ƒvÿ¢‰¹Í'Ãøiy^Í‹›•‘+X¦Õÿ.÷µÃ6Ÿ +s$NÍñ-NöÁµ§k(WsÔz„(îö}’»5#n½Ï©9ª\·`ì–ÆßïäZžZ÷ÚaÁ±”¸`ù™ûDôÊÜÕ©á½q7 à™qcgÊþr•çí*oU «ü9$ÁfÒú…+*Š ¨Ð¬¹)[ÆmXØ›!ǬxPÔ¶d¿–µD®ˆ%^{¿©¦[Éž¬îjƒ|Ð Ùúìì¡-’Öd•;úÌsc¨ÜVùØ®QÛ¨Cû,\¹œIÜÂ…Ä.yø€£ì„,¸ú½.°³k™Ö,‹íŽÅD|ƒþ^Õ·$…Fhgo'´ …¼ÞÆ}™ŒˆT*•µ%¶®®Îb±ôèñ %¼¢¢‚šÚioݺEDݺu³®eýõ)»ta”/YÌ&K‹ÌLM?ó_—‘ðùƇ0 ·n6®åÈÚuënnhhøòŒbÄÒ±aDT_ð/ÓwwqÉêï#y-L˜ç¥ ŽÍØÐÎÊÅQ­[݆xPiv‘šˆøYû­’ŒGˆ_°³@MDÄ«N¦Ä}VÂ=þ XŸ.o¿uQõÉ%ääÁUfgßà‰ˆ+Ê.â½ÜÅ  7uVv)OD¼*7«œ¨dHs2%­< *jIìó’S—J˜8m,GD¬GÈâX%¾Ã¿*bG†èþC#Y»VAexìÜÒ¸¥ïg³=<üBÜŠJZgà·o¥ŠñDÔc¨WIâœõ•j yMŠÑ›!•P™’¶`lšu ±Ár¾ô³ø\YDF°œH>/j蜸”ŸÇ6+üXŸ¹‹MKLÉ HñZ˜´8-ÉZy#¹OxÔ 9…,‹(Š_:q,+wâq2÷ñuׇ•.;46cyÖêui Ö7Í[š”î÷ðç‰mרŸ–@£Ñ<Ér‹Åh4Y̦ãQK¾-̽íæBdá͉ÈÎ$Þ,™ê¿'“‰Ìf3¯'“ÉÌë-ów¼¥ìîý=ºK¿«s`ÄŒÐâ:~º|n¤ ÝxK7nÜØ¶mÉårFãææ6cÆ ±X|÷îÝO?ýT*•êtº®]»Þ»wO DDD8;;Ñ÷ß¿~ýúºº:‰DÒµk×ÚÚÚ>øàµ×^«®®^³fMÿþýȨ¾¾>55Õh4ÆÇÇsG³5©ÉbeOÓZó÷÷»Nšúü¼êÏÖÆ,#"¡½½ÓÿüY¤p©ž7ˆÄ=_2ÜúFü¢›á?•Ê/ o!ýí¯Üç‰È®ës³I±zÿuéĸçfÎ}nú3Çýgl0¹¬ÝŒ'láY¿Z’81ŽIÞýØ."OJSði\Zî×ÚvOõ‰eñQòç¥Î^0'{ܶŒN˜ÏŸÄµÖšÍæššš{÷î}ÏÝ×ÝûŽˆÌË¿¾½-’ÈA$ð ÷îZû%7wl6“ÅBsW¢>Ï9:+º?g¸KŒØBÄð -{›õîÝû÷¿ÿý±cÇL&Ó«¯¾Ú«çò¤­µ:îÖ7·¾»«Uýã³ú¯¯Ñ;Ý»Ø $ ‹ÙÌ÷êÃëtB“‘x=™LdàíY¡˜±³wK$‚z΢ÕXøëpLöAcØË¢Ç$j‹ÅbÊÚZëáá1}úô~ÂÍ›€G]ænd'&­+²NÙ²8aáP9 àWESôYbJv)gíûìXò¤ÏÖJ¥RW—{÷¾ e…²þl í«+í…2™Él"“Y@Ò5Ž–dij¿}&Ÿ,UþDá™àI0½C6„ ~½ä~ Sw/ü5œIFBîÖ­›‡§'ïò¢ÅbiަŸúª¯'^OF#YÌ "AKsÇcÓÞÀÏk‰HáìüÚŒÙ5|…f³5Z?íPÓ«f³Ùb±XjµX,‹…äß~¼¨G°æaƒÁ€O ÚxÒgk[:ñbÞÊ¿MR—Ú[;![l»°»®Ï“DB$؉vv$Û¹º‰¼|ìz¸ˆ_öBqÀ/k‰¨Z­U~#ÕßHŸ²RHÐÅQ fÈÁAÈ0$¢›1tÞX ÐQ€X €X €X ˆµèæÍ›(xVcm=Zþ.À|³ð³X,Í_6‹Åb6›Íf³Éd2 wïÞ}ã7PDÐX+‘Hkጵ&“Éd2á‹?N¬ø9ó­Åb±³³3™L-ã.@b­]ËßÑh?Cšmù³Ùl&¢æp ðƒb-ÀÏÉl6[,at8Ö"KÀ/Åh­ ¶B¡=à) ÓÂ/¦9ÇZǎ³µ€X ˆµˆµˆµˆµÐùXZh~ňµ€X €X €X €X ˆµ„è_ÿúJž]&“É`0˜ÍfÀ¯˜P(dF(´Ñ4+Ðëõ( øEX,³Ùl2™L&Ïóz½¾²²Òßß¿C™_`€ß{{ûöÉáf0P¿<Ï·±žaè{ €€X Ï0ÄZ@¬@¬@¬›€ IDATÄZÄZÄZÄZ@¬x–é¯/û曣âÿ­ªµ¯,;*æßzªÈœö΂Ӻ­\}úàÙº–ùñT{þoűš‡/ ;¾àÍ7ßœ¶§ºÕœóæ›ovôt~õe?+~ÄhóWD·ð§ÄÏö×:´š¼ÿûÓg%õø[ø•¡à·Ew!3Ÿ}ï=ÊÏ<§{u¸ô©·ã>~õ®¤Z¿:cæõ¥ï½î$é¹u/•ü©¶öâMziºì1‹±êƒ+&,po>°ƒj¶s|<†êâj‡ãS®Ïÿá2"¢úªâ½ÿØ»ÑÁåãW1¾Ýˆµ¯q~½.fýµ/Øwï6é-‡'ÝÀ·“?ͯï3÷Ïó^éPôÞ×§óµ½ÞõWøaêÎežSLX?›QÏÍ̯>Ò‰ˆ¨îèœI™Ç÷¾qN¥Ñ¨ùÞ³ã&¼,­Èœ8÷ô[ãåΩ4 3021z¤{ó†*öFÌ==Æp)ÕÍHH=tUÑ|ðì踩¯JIweOròÆsjžˆíýÞÒÄeÙÓ1é745]=;e~Åâ(MÜþ¤W%úŠ£©ÉkòUı§FGOèÇ\_>)J3usúø µZà ^šÿ¶ éþ‘|è*GDŒbØü¸¥#ÝÛçbmY™Q9¾û£ÿNå°Á܉=×g/{YBDTqð ¦ï`åµõm}ÅÑä„5ù*ŽˆQ‹Œ‹é.ÑŸ—*Ÿ=Lsü‚J­ÖÈߊKYöº“Ót"ÒWMŽJÏ×0rÅà #UkߺmjËãgƒgGGyYb+Õ–¨ú¾-{âÏÓÁÕ7xÄûªŒ#W™¡æìÞ_\­m Éú†Lïë,&2TÝ»÷ØÕÚ¹  ëëÜb5ùÿX] ¿pr?‘*oÇÞSßhDö.¯>®Ÿ”ÈPS¼w[öUˆ•õúš6§ oäœIWvlÏþ³• D"©ç;áã_w“A•¿uïñJ‘‘¤žo‡‡CÎø™Ã|”T{åhƦ¢{Oº¦ØÙâÌ©SßíhuOsþС“_V¡Ó üPÕù™ª¾Sßrq6u zω¦ž¸ ëNpc7lض+mŒ:=áPÃ_Í—ÎNÛ°m÷ÖÄR“OÔÙ ÊGbO(£w}ñÅ¿¶Îæ7Ʀþ[§¿¾1!]5rõç_|ñÅÖÙt,9ýßzéð¸¸a¬ü½”­+'(„㱩W&î:ràÀþ´ š5±éWôD iΖÏ_¹aÛî­Kåùé™×õTq(u/7{ë‘#GŽìOßÎWÙèìýæb½Ò×åq_L¿1oQ~æU=‘þúÁü°1ý˜¦":–|¡oâþ/¾øbW´â\jj¾ŽˆâÕùW^]š±aÛõ³ùCéǪÉÖiÕHH½Ð7nÿ‘»_¿’y•'†ˆêŽÆFbæ¯?räÈþÕ4k¢Ò¯Ø8~CíÅ2zi€¬cjYoÐiÏî~‡¾Ú{à¦H÷ÕÞ7]&ÇÄÅþqzßÊS•F1‰‰tÅ[·ž¿·(&..fáP]öÆ*é.ȹûZDL\\Ü'‹Þ•ý×+€ŸËStB¹ú¿;ÊCLD†>ÆOÖ_¹ù¥ª~ ôPòªóäóAŸªCçidôÞr(?±ëÐÉ+U D"Y¯A£Â>è,6ÔîÞlm­í*¦úò»ö¼VÛ`Éúš:i¸»Q}ʼn]»N^©m ’*}0)´Ÿ.ó“Œ+F"Úý—¨/gþ9ÒÛ[§`¨7ˆÄz¡ó©8¸‡=XJDgãb÷\ÿ`Qc£¡ü­1}¥D$Q,_súFÝÔÞD¤óÖË"’ö}{ sìø ý[m;ëê.¼*ké«R"r™²I¥Z´õsD*!"—ÁÃéÇÕ‘n¾ÕçòUŠ cúI‰HâþÖ„ÞééÇUüH"¦ï„a.DD¬RÉrj Qo¹œTG÷WŽÜÏ}L|’­ÓÓÝ,ÖváöøÏ€QŽÃFì¹ {õuæÆžÌ[)½™«ï¹ŒYýù[©”ˆœ¾­¤5j ‘‚ˆaŽìDD$ï­d¹ ^ÒÏÆiêo¿Á Ž(%"—·g¿·æD~c)±ï­æBD—·¦LO>ªŠì×¶Á–++3*ÇvïÀ—¨¾¦8çìÝî#þ¤Þúý•½Ô—m¸¨m Cõ•jQ¯—ˆHÖw„ÏóˈHwólµý€±}eb"’½ðÒ±=ÅÕ†÷¤2‘öbÁEåо½œ}&ÏñÁ 3ÇÚDDF2‰DD¤+É­42´OMẌ£*û^S•õçe}™™a”EOrm±nã"ý&~èp>só¡uû\c¦u¿¶)ãèMê5rêpiù‘Ý_f®³_²dÔÌaUëóµ²a3§ú{ Óv–Pûí‘ôÍÚ ³ʉˆ 5…›3¾t]ðÑ(çÎlõW2©Ôšˆw5½Âî¹:?æU 1¬ kÍXÖ…¥sODİò¦0ʲ ¯æùvå4ϸ45uZã é+N¬IßsAͯQñЇWÁу]0r9ñŽˆb˜¦M6þë42q5mܸ'az‚šíûÁüèÈvëUŵÝ}•Oò7¸¿5A‘™y®®¯|Ï9ù˜ÕJæ\óAUŸÛ˜¾ñœŠ'"žSñÌð¦uš©yQ§És±½Ë’Xw–Éo,%ÍÞˆqǬ›àyެiwTÚ²‹õ.ï¹<þt7ç¯Ñ9ÖíŸÙwöȠ-;¾ÿxYm½ÄÔPKöžDÄq "‡Æ ء龋±2{g¥Ñ¾¯¬éCÕÅcÙeÚz"¢†»$#"c}ƒÑÞ¹i]©‹ƒ¨ŒˆŒº#wnuÒEëFcƒHÜ@žáã/Ø“¾÷®ÈeÀÛcÇSâjÐycmƒN«Ñˆ¨¾æÂ‘ DÝû)ÈÚß®{ÐÔIÃåDš™*¢îA“F ”¹‹®\YíòiUè$ûæÜ+ÿRE$ åçîL²QÊ/3¯œ®Ðô;}ÓHÒa ø‚¸ŸRÞçf½ƒƒØYêê@¤upUº;£žØYˆ_3ïÝM›hÁÔ~Æó›3NÚ‡vêLÛ8XÔü­¦6”´gÎÜÌsºW‡ÏUsz" ‘ž«æˆeY""žÓpDRk|å9Ë´Û*+g®¢q]ÒUWp¬;Ÿ•|á­Õ«—÷“UdNœ~ÜöIXw–.4ï‚×hˆéûᛤ/\”4ré«O§/Nˆ=4pÛ—Vw*¿ª• èõ„£X¹ ›Ú{ÍžùìÅ„H—¹úXlì‰Þ)ë·½îDTwtθÝDÅF[§É²ÄkšÊƒ«°Þ`å,£˜²~÷÷G}@ªbm÷¡nOðGþ`Ȩ–¡ø«­ÛJ\f/šã)%Ò¯LúÂz8öÆj‘HLD]Ö(s&"zþõˆÙn§VïÝQìú¡¯ÌP•³uoY¿ˆE*ˆjŽýßßʈˆD¢†zccñÖ×Z´—Ú‹žùÇ÷œÛ€³Ï{“}Þ#ƒ¶,gãÖ­Çzýaž®øY<ųµÆk™)ÉÉÉÉŸ®?zÓhß냩ÃåMYÞ]JDdÐÕêˆHjýD2¢mSõКkë‰H{4%***ê/™*"c¶Îºž«TLDâ®Þ½=ä¨vVr¿Y Þ¥#«þö·ô“ö¡MóîÚ©·.?óœ|ä0÷–Én¤âBf¾õYMþÁ«:"Òß8š¯Qïmýòª¼®'"Ý…ƒøÞÕíG9’Ó›;‘y®Žˆª'ÏH¿ZÇi8Fþ²BJ¤¯>yTM|cã/ñײÁ×eðH¥zÏÁ+z"ÒWÛsƒö¶’±ùþ4gQæu=I\z¿,o¿„¡ºXå0Àó‰ŸKu<¡¯jMúÕÞ¬]‹ñÕ±/+ˆ¨îß{ªˆ¯ãmÏDÄÛã'÷­=°5¿Æ@ º‘ÌMæ@dЖœºz—ŒõFrèÞWÖPV\YODÚ«ÇKî‘C¯×]¸âSe:""CUþŽ­y*ƒ¡*û³•ûËtD$–¹¸=1æ~FOSùr œè*&‘½ÔÙUéÜULD³FЬT,íî@Ô «ÕÑ+r"£®FGd/“¶Ü™}w"­lØ‚yþ­K"‘TTþ%‘¶¾¶Á@]ÅÍåóW´½ ”âsêÌÉV|äKѰQ<ÓUŸÈ¼ª¹´Uk¡Ë°‘Ê5™'ªˉQ fFMKV©5ìÀÈÄñîDDLïa´1bÚUµš—[šø–‘º]<™w=!uÒ;±<)ŽOL|݉QÌ•>%º:!vÜ(žˆQ ŽL‰ì'¡ë6_ÚwöEBÔûy†!F1p~Ü{.­S]m±Jä9¢£-IOÌÄò­S-¹O˜ÿ^~êôQ™r¹rØüÈÈQ©Q±/§Mm¿>Ó{ªÍÓŒŽŽ<»xÜ(V®6uLïG­¥—X‘œ:}GDŒò­È¸¶·:ÖØÜžØuè{®X‘pŠ•v÷  ®Úúù?¶*Í;;xçÎü9§Áhß}ÀØiCIÛô±ƒçØé¯¯øÇ¶ã½¼ýÞK÷þ5!›•ºø„ŒQ½ñóÏvÈ>\¶ucR‚=ÛÝ3àu—«_I}§O¯Þ±EB‰º÷ ™ì"‹GŒpۺş8""ö¥×'¿‡¦Z€Ÿ‹@¯×?ñÂÖ ~D> þ<Í£uÍðí¾äO¿¬ï·àϳ<ÄD¤9ž|H%ê8)P©;èP‰V6lIÔçšüè Ó“³TRŸÐ‰ÃeÚÓGOVÉçÍêW¾ú/»oŠzœ(/?š™_%}ã£è0ç+éŸdªìû|0éÝ~}ÜÑ|ûka±XÌf³Éd2™L<ÏëõúÊÊJÿ'ßÂ÷ßÿ£IÝñ“6¾½µM§ÞŠÌiMSøÀÓÞL88gúÁ »6ŒtzöÏE›¿bÅWCÿ°èu|~Q]ºtióŠð§Ù‘|ø¼#ûɪNf®ß|è õ6sÁ¨6sÎÊýg.ì#º’µ~Õú¬›"ÀQƒäÔÕoÖ‚À>RÕÑÍë3óuÊA|à.&‡^Ã}¤ÔpíЮ#å˜4 SÓÿ;iì¨eG«‰HýÄA•|`oöY=Ã͉ kÏj D†ª³ç´l/7{|ÂN‡Zkx%ñÛ­µhsýÍCkí¯TÝÙ• ɇ®rDŒbð츸 /KžÙsÑ]ÉÞzàlu‘Hæùvxø0t-ø¥µo­ý9cmý·r33ókí}>údš;*‡ˆµ&ÖÀ³k…?ßÎ Gwå×’}¯  4xÀâgœ†Büʼä”8üˆ„(@¬@¬@¬ÄZ€Nÿõâ ð[Hð ‹1UÀoÃ0ˆµð«bgg'‘HÐf ð«' ííímVþE(xÖ“­Êà·›xQ€X €X €X ¿¢ýë_(xVcí›o¾‰R€_„Åb1›Í&“Éd2ñ<¯×ë+++Q,Ð!è„ ˆµˆµˆµ€X €X €X €X ˆµˆµˆµ€X €X Ðùc­æô_£¢¢¢¢’ŽÔ¡£D'\ÑeýBgfº¦%Y¿‰ fùÉ UÿܼùŠÃK¢Ãħ“RŽêúLü@šä|UƒHæº`’òn§d¨7ˆÄzà'×áÖZCMáy-uþ†‡Ï0%é.|YÕØ^«ùrSVI­¨ÏÈ™3ƒœËÏk›ƒ³XDd¼v²ÜcTè i¯d­Ê¼ÖkÔÄ7º“öJÖ¡òVͽ ½ œ4ñîFmIVVy=>¦Îj¿=’ž²é‚æÁ÷b]rÆ?kБüt9³ 4hРà¤KzÀ££­µ†ªüó:ê>HIõF×®tèòiU¨»‡˜î•Ÿ¯%’ 9ÜûqiÅùOóu-Ö“½1jø@gîäùCµÒ è\_ŸÿeVUMM=)ÛîD6(lÔ@gêeÌÿ2³ª¦JG¯8à“êlÄ/Œ™÷ŒM´`j?ãùÍ'íC?åüK4ÖêÏD]TøÈEÖ¥g_ÿ °É£ûwÇð޵ÕéË D 'W%Ÿl|éÊéòzWtõDäà,‘Xê,%jk¥r)‰ìÅDäÐÝ^Ldtí÷"u•9ØÛ5àSê¤ä~³ЦŒUË5]'}4Í»k§=Tž«.+Ì.+ÌÞ¼Êÿ£åI³úKññü&cm}ùé+ $úA?©õ÷#»ó¯å—׿âm/u Òêjtê*6èªt(ÛßJ²ùR4lT§È´ŒwHX»Äª×ÕUߺT|¹š'"ª+\5{–nãöÈþ||¿¹X[_žÍH²þÞÎÖW\µ'ó];}íž÷@wŸîTUûå¡ÓÒò^°ÆZbºK©ó—årDÄŽH\?Dú„ñüÁ‘^/aˆx"¢–µU·#kO›£$KìX¤ž¾NTVGTWV¦£>"’ô ðgwdsDÕ›gÏ磗Πêß }±àiðÅY›‹½ˆ{H\jÛ.ÃñVÞ¾í‡s‹/—5ÍjóÈtYw«é)ÝžNOqü­}Ëæ[›uÿèq£ë®åìÛ‘[|©¬š{‚msÕMGæâd³·1I\†¸Ð©Š6't­qµº¬©C³·“º[uD݈ˆ$¾K“BŠeWñ—w$ÌÞ‘ÀºxûúøûûöAÂÄZ€ƒuÞÕÉaÁ}lµDêŠÓ##ÛÏPó¨\ªkš•a;œÜê Sçg5M&T‘W\=«Oχ,z'/iþ²¬Šl\¯oJåŒTòC“:µ/ŽëÈÖº:^ßÔÿX:$~ûÆþÉÉ©¹Ösjšàhëî4eÖ‡a¾˜¸kÏýãCû¦t|zÔª}‘ó77Ž%å>b欰 _OW§nÒ¦Lx+}ôøÍÕ’ÍÜ>©ê²Í®—W,M÷ÝicR\ýµôæLËx}83, ¿§‹kóé/ÅÏÎå~œÂknØu Š‹ s}LVg\<[.!í–´=,úÚ™ÜÜÜܼ¼âŠÆƒâ* ³’ ³6…$®‰Çĵ€X ðSÐ_Z›nk6œV±µ}¬“²µêêø§Ø+ã93}yÀ™ÈÙ›+ˆ*6/K ØÓvÈ(]áªÆé}¬µ…¶ö,‘4MÉËëôÍ-ªm¶lã˜' GDÄzúúöyšÎÃÒ>CÂú ‹$ÒW]*,Ì=¼ïð©2Žˆª³c#zÚŒî?&øßºê¼bkÓ"²4ÌÆÀÁ-£mz:Yª+«ÓwtŸÞoßéëÚÿÃÔ­SæTg-K=£k³ß[¹M#O^jóq`Ý*MµlÓVººº‡$ùºâªö'äÙtBÕü-T‰kÿ€°¥©ÛsöÆ`‰ˆ¨bÇÚËz|Û±àǦ×U7ÆI×þ.6[6/gÛˆy.¾žÖFQîÒ%›éñΙô˜˜˜˜˜˜Ô¼;mÞròlÜ•¤ç”å³ÈÖeÇÄç´Z¯«ãšŽÌÉæг.ÛxYêêb=2þÖ-›G¦/;\Ü>K=}÷ÒzÜo{Ž^Ú8/ëZ¾n€X ð£kòI¯³Ñô©¿¶/©ùéUžo%ýG[ó(UìØqMo#snÞœ›››››WÅ<ªë­kXbœ?CDÄJˆ=Ü¢•aX¦éÈlÄL]ñÚÍÃ>óüƒ%$î=­?UdVÙHÃyk³ël%ÐÖ\Ëå­m—ÄW=9zô¬¥©ûÎÜi>ÍíIKçO ›¿ýÖÃÊW‚žÇ€X ðÓ‘8ùº4†ÀÃym¢™þÖá˜E«*\¼ÙÆ$Ù²¿±ÔÿÃk ¬Þ³ª¸u⪜ädkædƒ¦ø>z@©nÁIIA,_œ°lû-}sÎl:²ËÙ…mb¦îÒöe‘Y:wϦ#»Õ"’wó BÊ„ IDATó¶þT–¾ªM@ÕßÚ—Ph³“±¤Ï¬­ëñÅ ±ÛÛEuݵMË’ ««/ŸÚq¸¹›²D_œ}ª¸¬¢xEüvážô×vl/#""'_ÛmÎ?ÝŸþô'”üR,ML&“Édºwïž››[G7bª<ºá興ž÷Ÿ<©%¦.Ï;\Ú}â?&¢ïο¤wîñ¼ˆç*ËÏ_û¿ÿý¿{JM¾ÑŸ-åf—óD|eu/ÏçM¼ÝóR ‰z ì[•]VOôÝåì}y·túïïV••äï[ý§Og bGÄ-ŸÕ§‹uO|ùÍ'jˆ¨‹×ØÉÃ{<¯MÒspÿ;ÙÙ¥õDu…gM#ƾÞMDDR'QÞŽü:"ª>uüãêê@õu•W ®Nø¯ÙÿqñçÕSjwçVW~Û©Ï.<ïð¼TDR7·ÆãËsßa¤]H¯«)+Üýéc·•šrY¶íyeFD¯Ij1 •.gV`ìe"r Ýx(¦ë¾¹úK©ãgï¨&"r ]³=ÆWJDú[ÛMYaëÑ^Öÿã5˧ôÑåD~û ñ•±ædª¯„ˆô—6ÍŸ¿ÊÖL¼î¡+×Dò±ËŠm‰þÚ¾˜Eɧö,ëûQúòY­ó©®852rÇ#fýe}g¦.ôE¨€Ÿ„èÍ7ßD)À/Âb±˜Ífk;-Ïóz½¾²²ò9’nÁ©‡]÷¥¯Ýwª¸Ì:õ ëâ=$(læ¬Ñ}¤DD¾Ñééãמªà‰'o_׿I^]â÷ ;¼yÓ¾3ÅeODÄ8yúŽ™<+lˆë“?V*éÿQúGÅãW•Ug-M8œ4DJ’žSÖê³}ÕÚ}y—¬gœÜûûž<+, §”ˆ$ÁqËËb“wWóD¬‹oÓ¨O$é?kÓ¡þÛ×nÚwª¸¢®qMßa³> óí&Ñå5÷fÚGŸ°ÔC#Šs7ïÛw¦¸¬¢q& †uñôõ6+ÄÆ9I}—nÊ Ë;¼ýpnñå[M]ãäÞß{HPØäŽ@ ôzLº(Öúûû£d~rwOy/¡Œˆ\fî=ÙðÿÙ»ÿ¸¦î{qü/%œ’£â‰t‰­D{›t3¹µKº5i;c·†ÖïFzÛÛ¿í…õ3â] ½÷{GØ&Ü»»pï-¬ý»Ö~Û5Ì^Òï4´±›gê‡xkÒVƒÖd"G”…sôûGAƒõ*àëùèö„œï߯ó~Ÿ„BÍføÊ(„n;|tìwki¹“!„BÍr"L„æ\Øt×4v†ÂaN㬷«/^̇<þÄBa©F-ÁäB!„B³ÎÖ"4çdÄçí`BÝ¡æÊº‹v‡ëªs¶&Þ•m6É1µB!„Ðl‡³µÍ=rk©Ñ½É;jܰ>W«—Ë(à"!Ÿ»¡-˜ª¥ófŒjB!„Ð쇯ŒB· ¾2êFâÃî’¢JÿT?Ô#5–Õ–™ðÅ!„BhÀÙZ„æ$Rn®Þ©ët7¸ÛüL(:ú£;­ÖèsÍ& >T‹B!„札E· ÎÖ"„B!„®¾2 !„B!„†µ!„B!„†µ!„B!„†µ!„B!„0¬E!„B!„æVX;üúË/¿\úæ§±‹¶Ÿø¯¿üréë‡cW}üþÃïïòŸˆ ª_~ù埽ú¢í!„B!„д„µÓïô¾;÷ì ¤/__°¡À¼Šºh;B!„B!4Ñ5s¨{÷Žïûâi2­né„úÿµcç¾#}Ã&»oý†§ÈJ~ýGo3×nPEvî r¶|­õ…Çà­½v(oÿäå½?~v6î8¶týËæO_ßî_§=³kß²àG/¨ÒúTÿdDZ̵/;ÖeaæÝb±¡Xjzêå6 „B!„Ð w­³µ±ÞÆw‚}é÷å=¿áaQà 7öAÏ®×?8«7?¥ä¾ýú®1€Tœzß{Z™Wð„2møØž·öô-_Wðp&d>\PüôÝéã‘öÄíÏh¾/âŸî뀡ȾÀÒµÓÞú öÄ®êŸ78=ö¿=þ×+_{·×#„B!„fGXÛ<Ä,}lîÞ{Xo^56ëÛ³ïÀ)Ùc­ÎÎ~`ÝÃK¡ïàÞ±PGt÷:ó#*Õ#­¦ú"§!K&K€tÙòì¬ô ûN¸}á2݃K!þé¾H b‘}ÝqXª[Qí­—ºìo^x v½Öpàt,Öão|mOZÞóë²p²!„B!ts]ã"äØÐ©! ¨D4JeQpˆ€Ø7‘·òòÛcé‹C:@zf¦RÓÓEpÅÓzY«‘½ÓÜ82 ²u«–`¾ÍK°~^«yÕ‹Ëž.~VµÓ!„B!4KÂÚÔt*`˜ã†ÒN÷pcÛ—¦ ËÖoPŽÎ¿ŠÒ2ÓáØuEO«^Þúvpo íS–?Qí ‹lSwí=¼cZ„B!„Ð-q­‹3W))€Sïî|?ð·î ÆG·g©V/ˆø÷E¸¡žÀΆ×wì:6õûŒSSEpúàÁ@÷éØÔÛªÖ*EܾôÁÊG”>ͰÈvõ:ŒiB!„B·Ìµ¾ 95{]ÁÚžÆ=‡v6~ºüA£6sçÞ¾@Öc/ÄÞÚ¹wÇk{A”¹R»~r!À©ä{I_ùÈ}ÔŽƒÁoÅÒ^¶¦'ßþâ’Ôô»VŠ‚‡â"%Fµ!„B]yLƒí¼ Ó`úJ;Ïó³à4c'þ«ò ­zþGÖ{Ó1׿JM>þܹs######‚ ð<üøqN‡)ƒB!„a-†µèʉfü8‰Äb±¬¬,‘H4oÞ<,èæ4ïñxüÔ©S"‘H&“ÍØŠ9U­¹ Lü¹š¼_þøÞÑZii?}aãyžŸO’óD8¹u³šÄxüÏÏ_¾²öDd;¾ù£{ci¿þv# 4Bhêíí]¸páÄñôœ—žžžè{{{'^x__ß²eËH’œ?> tÓ¤¤¤,\¸ðĉKãL«˜SÕšÛ°ÁÄŸ“É{é­ÌÞ7užçS220‰n¦y"QŠH4òùà©_5Ê6—LüKû´´ 8ÊAÍA}}}™™™·á…gfföõõMÜ2<<œ‘‘1-ºÉæÏŸŸ‘‘qѲº™Y1/­5·m‚‰?÷’÷¢-g;öÌǧQnU«HÜÞûŸƒkÑ-qiÁ›™óÒZsÛ6 ˜øsLZZÚE[Fúúpíñ-kE¢KŸgÆÒ>]C kB!„BÍnÖ"„B!„°!„B!„°!„B!„º*øÔ8B!„Ðuà‚í^†%ä£^†o™½©z»<]¡4š4Lé¶XµÐp?‘pæèÀž†?ÇA3ÎÖ"„n_NcÖ„;º¸|\WGTjÔH ·³zK¥;(r“½ÊnðŒ}½Kf¤¼ØÜR«aœ›*½JªÔ0ºlÑé4¹4MîDUỜEÛBQ¢È®jrJ™ÉVNríVS³Æ(¸;¤®.ÍÌ€ñŒ}}…Ì¢ùºÂaЕÚÕž`8L®©¨uè‰N[ŽKjR†˜ ËÈr«ªlj ø°§ÜQÓ Åš‚ŠŠ|¥0~iwüàkŸ\HuÒ‹¤”¹…†:›7Ä4S]ât9Hyni•à ÑýûÂК⪊|ù…³ 7Y½†Úz«<ÜäpÔ1, 3Ø«*L2àÃn‡½ÚÏRr½%7Rç5·4˜$|Ð]^^ǰ&feÖ2 ënfBAVn«­2Ë£ æ"ư˜@$Ê‚¦¸ºÂ$®«Éé¬cHÚP\Qj’C°âÉÁ g<ìº|ê­Žèó¤ÍV[m–%;¤DeÔKÝ‘DŸQÔåHÄÑW€c½KV {Cá(K+jí ¸N—Íá“R¹Î@ 0)j¹iÉ{>ì9}è‘»r³`þ²ãÏ++V ×oçN% =ã‡ÚOnýï³V·Ÿø“@>¶éާ¾šJÀùž?³¯n?;qVqñýK_z‘’g̃AÞûÑ·Ï,|eSFfFúÿþ©hkyßÕ¤Owì™êu¿(F>öüå_ÿóÂïœ.PHÊËć*5%7”~ɨHI…ó§ö÷¾Zu6ƒ*É+öÅrâ܉@ÿÇË-ûõѲÎ]tÎ;ö,PIþqÓ"y¤Â¹ÿû/ÿúŸC7r‘6)ÕȣÙ,>ìî$t *:ZºÛ+Û¼a Ôfg…MCMn¡‡³94ÀƒXmqVX/¹Øëo + ÊòÛ6º¼S~¢»Lè˜xR‰A“é¯jY3Bs©.­0ÒÙ…µn§š»¤Â ¿¬¬½ý†Å´œÏ6ZI×–00à-zèª餧Íwwr–í îvªmK _XÛàÞa‡¶ºÎ^’ºý`©mr{vl·Ó7Û]‘ÜÚv_»¯> ®¤.8áÒ^ýÛWÆáòIðÁ:§ [|>ßÎÍ”·².È„›.ÖRßÙÙÙR(Ô•4„/4A•6·Ì¹Ýª$#må5QsC»Ï×^¡`\®Nz½NWH_½ÇçÙžn A¬)qE̵;Û}íªNGåk¯"nëh«øxe¢ÍF“Þ\|5 lW—ª´¡©¥Z®)÷ꜵM-ÕºPCS˜‚– ¨ËšÜ;·ë»\•>Žïª.© [|íííÛ]•޶õGrë}M/nµ)ÄºŠ–)bZèeÜ>AmÊž*kH>ÔÉš«š<õ…à®öõ¬.÷P¥;}íî*C”a…IAíMK^ˆ‰`¨¦òlÏÑžŸz„£îÏÞü Οé9w™ Õ3ûûéä×VÌ—?#ݨþEá§ÖÈ;%/=žzaéï⌔,ÜÇ_ØðéßÿêœaÓÒU=}5nAœüûWúº:ã2g:b±`ãóâSoÍêS‡'Åøb¦-x‰íYA)2np“§ÊÓqîIJw>äöSfÃè]^£œÑTµûÚ}-vÂíp1ü¤P謴5…;ÚÛ}-vº¹ÄuÉ‘wDcÕHT:Îí ¶N‡7Ûééìl¯Røå~ù…&—o“ r êé*šÜ-N™¯®- |ÀU4Ö¶û|>Sñ1ã+ù®Šœ‹G:Z«ûšWVcX‹ºÍƒZ¯Ãéc9–Æz.Ô¤-…z $‹†õuF(M¾^Hĵ½Œ‡ÕX4)7jÈ€7Ìóa_PlPËÕkèP{˜çÃíRc”CÈËk, (•Ù@uyÞÑj“Šà#þ¨Ì dËxG”ÞYmÉž¸EšWUfÀeÍèö °­ÖêÇ.;ÎIVa©Ñp#Wr,;åšã7ÅgRƒIIP2™XªÓË€’I .±+‚Öå*H¨²¨/ÈEoTn1ÉIóä¬/¹ºKã‚mu>^c”“¤ÒÞÒ¾Ý$‰Ú ãºYzoXžg€Ì´ÝÓR(O$¨¹¤òAßþÁ©Î !ëáÅ©DÐÓÿo?î90xƒó‚RšGƒN>äöÓæ±×Óq¶ÔlV“ ÑåkxÆæ'´|ØËÆBƒ(e Áx.z…HØëæ  ¤2ßOøp[€0˜U¥v4yª’ ?ø)9b•IC!•SaޱŒ`}n_W„§46—à ¹p{Ò¾½X5qðC¯ÙZ1å¢/„oBFÝÞ¥½©Jí³åÛ\ê&‡†žeºkž44‚ Ð2Ž'UfPá Z‚mQUš¹QÁWúÂQš4¥R’Ö¨ ‰F†WØå¤ÐÅ bÅèã'$%%„'¤˜NlX¤G.%&.êÂ4ö†Z°5w€4o{½C/úD·M½¤s«ê‹c•‚¤$á)þ6i… hñìuU6û#p eUÞ!3 5%>‡Ô”Å|.Œ~ñó3çS»™Ü‘ çö·Ç †S—Q_\²*kddÍ?)œ;3x@95x>#ùYÿ“ëÄ›ÏI¾[º²8UØÿ듯¶Ýà7E‹fƒàð„Íz7#3Óà-PôXc"¦Iaô~ÛX+Á±,ëߘãm (Ãä;?a;ÔÝðPóXËÖ,tÈ9Ž#cå“¢Æ+ÊÄf†¿tò¢*B*‹kÍ5 Ž'·°´®ÐYaÕ\hû”ÖÚz(ÚXè5[ë]9²kO" kB·7*[ASòüª2ÿ“v‡¦¥:G$M‹››šò'7®*‹nÀé (B•%ñd ¥È•sÍL'É* ä$ò[ÝÙ ¬Ü¢ € hj Â%ÞcÂsQa|ØD >2Ú½½I&~(½¡–pÔ –™õ”B7#°¥%’‰ƒö)§¦’VX.zÃÏ”åØœ9œ¯ÈË0bMa™óºÖ<·Ë!&Å2J`¸ÑðEèeJO\Qê¿2ꂈÛ^2×·ä+Iˆ4™ŸìH„NÇq‰ýs‘0GK±nkƒ•±Ù+Û[\9’Þv‡Ã§®mªVSÀµ[sRLŒr‰Q­œ¯q´ßŒ™I¥Éî4ôºC•!©¾¸ìúÞÌ$°cé<Àò„,ƒ"><6üçX(ú*wOJ4¹y]ÃÚôÊ/ÏOXtI¡'F= –å„ ÏÖÞÌä½vK¿¾Xz»{d™pîèkG_Þ=á±ØTò¡ÑX4Þ×wö…'M˜ÿ•åý+Ù§“¿2j¾U’<>ÿíWÂï=ŸªºãßKS 6rJ€UóÎÌ[¼ŒXpF!p²Ì“þ›¾ôXà³w{D†’¬UÁˆ£üó3±”Ç^]‘ ƒç˜¿8à 1i"äN~VÃï¾öÙ»¯Í[¬¢·üèKO ¡ó7¶ÜËs àp{£Œ,¯XBt 8–Y °ìíŒNõ%Z­¦Ân_/D|nfÒœÚLOÞÔ”{rîxåyòã_±‡G}Ï2-¼'RV?·ì‡9ž­ý<Ä}Ld<öõH]±è‡?Zº*b1€ŒùS|úÅÏB,ÒsRS ¦™©óR!~hÿȲÇß“©Ë¾ô3Yî²y0Ø#„?³×W—jHƒÍÜìØhrKe ƒ>›šâQqR]\jÜä|\ï’* fƒ44¡O¸ÉÉ+Ä ½¸4ø% [pþ’NêÂ’`¡çsßkÇëwÇbá_GßÌ’¾R·RA8ÊÕ¹b±ñÓƒƒuUÜK/Ê›^œ?ðë¿„X`àÄswüG]ZÙK'/ýô }8½§G¶¥>ãLðÇ_÷~°BZü£ÅeÑˤ¯Ô/É€ø!OôÍÐù'þ|äOoœÜÿê—Š=þÿþúó‡¾/o|f¤'púí_½ô=ÙÝ op[6e7>3râÏÜ{Ò'=ç3|‡ÿ‡M+š2b#áÝ=u7xª6An2IÝ~³^2aýŠÄ´ÕÙURb2$JF•M=¹¤4¥Uf‡ÃdàH™¾¸bBìÉ1M>ÂP+xƒhhêWiEî–òõZÄŠ\çvErc­Í¿iÆ1—r‚—ž´ÌPhð:žÔ³@¤ÜXZ¥¾QKæÿ,Íw.“b" ëÇ0ŒF£™þýFšò7ì;+fò2°‹®a˜ûî»O$›˜èf‹Ç㼨4ÞŠyjÍ-8Ož±çThšÜù²Ù•Ͻžü'ÛŠ=µ×ú›3!ñ#Mæ|f¦¯ð½Æ¾gôçM‡ ¥J–~ñ·d9Òü^úâIÏ÷|xrëöÁ3·O–šVøoËÿÇ4þ.n¬÷Ô*ß.Í4-Ã<è „Ð•ŽÞ|5Í|n•ŠÄ¤@ÝÎxƹÞ!”í¨ÐSa¯;"3Êñ-ísÊùH{äïÛoÏkO1üTþTO´dûç \¸z±ð›ç°@ÌÖ"„ЈxŠò+ÃÊÂíeJŒjB·7RS\ºf“c½^Bª³]Ç/r 4ÃŒüá ök¥Ò×ßž±ø7¢¾L kBh‘™j}¸T!tCE—Ï=kÎVbp4ùs¦Ïwûò±"ˆ=ó³Â3˜³¾ !„B!„†µ!„B!„†µ!„B!„ÐU¹¦gkÏþéÚߟXøõ¿+ZC_Û‡?þUõo"K}ñymƱÖWßú$í¾‚w\ÕùœýxïÿÄ¿üÀ—‰FOIºÞöÜWÒ0WB!„Bè¶q-³µìGûNCÊÂèìï‰OChõù;ßý¶fÑÕÅØñ“~ï{ÄOcg(ûîúï¬YŽ1-BÒÒÒ†††nà JKÆaż®ZsÛ6 ˜øsÌðððE[R23ÏÇã˜2·Äùx\DÓ—VL™éê\ýlmœ 8 4j´ìþè@Á(°þÚ7:ú¥~-í#æèÙ‘”%÷Ÿ~B½H4Åö‰{ìùƒû·‰ÙÚ4ÑpÄÿή½Ÿœæ2¤ªo>aü -‚øÉýïx|‡OóäÒ{¿eZ§Î8ú«êßD ÜRµí¯ò7}ó仿Ÿ­8Úñ»ÝŽžæÈ%òÕßZ·feÄþŸW[Ž.úšIѳ{oxHéƒßù[Ãò4<âÛåÝîçRÞu¿Ñô­b,0Ín™™™}}}ééé·Û…÷õõeff^4F‹±]C·`H}ÑÈcfVÌKkÍmÛ€`âϽäNܲhÍÚ3íÿ"Â_B¹Î ü¢oå\šGXÚ¯¿ÝH¸êÙÚ8»?ÐK´÷ßuïR<|àäè=‘HÑ®þ{×<›#>üΦޞÔÀÿü¶¹ã“³w|Ô÷Ä}d4°³¥ãd<~rwKûáÓ‹¾öäs¹÷¥:ü»ßî;›vWNî½°ôO=ûM™hbÜñŸ-¾kÍwž\ÿ Ù`øÃ·ÝÁÆRRà4ó‡³+ŒyßXAòѽï|ÈBüØnÏÞðˆâ‰gž{Út?Ù·k÷±a,/Ír‰¤¿¿?‰Ü>÷A‡††"‘H¿D"¹hŒxæ þTºΞ={ÑÈc¦UÌ©jÍmØ€`âÏÉä={öìÅã³ß›G#ŸâœíÍt>ù|p~zúÒï\ô–öii7FƒÑ«j{˜®Ïa‰JüHÖ½Y°çã}‘ø²åã»Y¢ý†zÙ"¸ã¡{|á@äptxuVòí÷&ÛûàÑ}ÇG`曚/ß!ºG¶på1žLùõ'7®e,¡Å±bÁÁg#gã.ÏZ$€Œ¬åY‹D0^mã'Î,7®ÓÝ“5òÑ¿ÿîÔGûO?d€”»ÖähïI‹gÙwô@ÏÙ8ˆâq€øÉc‘Ó_^ñà³öoáý««6p¤ƒ^½æ+‹0)ÐŒAÄÊ•+{{{9ré*¬9)---33såÊ•A\4F<Ø táàìÉžåd ôºŽfܳbü¢;V«üðØî]­Î8ÍøN,ÕªiÑaíÙ?½ùúïO/ÿ¦é¡åd! I i¯Hœíhi~0ÿ»«i€*/Z›Z~O|óL@„B¡™cžÓaX{!ª=ÆŒ_¾0·h…jÑž÷Ž1G¾¼²î—²¿ùðì¹d•ñoTb}êõ’íÉW‰Õßy†õìúÓ{¿y Cªúöß\&†o®]ñöž£¿ëÿd­2æå’­mŸtx>\ùüêîú°ýøávO|Ñÿúæ…+ÊZóÜwâ¿Û}à÷¿ý€\òWß0µ4ÀS¼‹î7~3²ë¿oy`AÖ—{Â…aÙ•ú¡g^¥'Ö"UÞßýU_®‡B!„º©æÿ,2={:û§7jÇbç ¶#”Ìˤ˜!„BÓ0ÐÇIÚ™í¼ Ó`ÚàÔB!„B5!4‹ÍÇ$@!„B!4{Mß"d„¦.BF!„B]œ­E!„B!„a-B!„B!„a-B!„B!„a-B!„B¡ÛþÀº=ÄúÙþ¡x|RáO§.\ŠiƒB!„Ь†³µhîG´'ÿð¯üSÅ«5¯MVó³ÿÓÖÿ·ºŽn0k'Ò›Š*Ú#üÕ턺r´Z½áoXzð]9Z­V›SÑÅmq´Zs¾ý2ù’H´‹™Â7î ½LSƒ'ÈÏÆìã‡A«Õjõ6÷…ñ54´'Î>ÒdÖjµÖvî&œãUWXž±ëµÚ×%Yraû¨¿·¤ìÝb½ë¤2>Ö2jóݽ×^&“gß ­ÀN«IŸÈ.ƒÙVᙆcsAwƒ»‹»šz˜Sqó®ù6꺜­V[ÔÉM.aW\ûù ËôE>¡mübwþMk=o¯¬žÝƒ³µhÎGµaÏ;ÜŽyˆNòÑ[;|'¿¼þŽé›³ë,V \¤ËÛÚѺ¥ˆ”·Ø•äLL¶ÕÙœï¶Ê±ˆ\’Î)Þ,càBîFo²s‹Mr‚ÖÑ7ì˜oŶ²,×”´üÌèìã˜&ßÐ4°þæNÎC]vp×PYÓªPXrd$ÐG•Œ£UÔM;Õé­°¤Ì\V¥©‚œÝeïV“è,ØÂtxÂvµ’>ÜæcT–5’kNGEaU• ä²›ÓsÎ ›ÚX UÆ<5 l—×ÛZîq- ù×Si{;·UÖDŠ f5h®‡SÛF„ݺ8[‹æ|X;4K²&û(u‰œŠsCÓz8™ÁbµZ­6‡«vs6@ÔÛæz;]E‰»öz“­š½yÇu5Ùóws¬—NE<6½Vkª`8àƒnGâ/µ†|§'̶¶ÕE‰™»"—Û™£Õœ]<ðáöŠ"“A«Õjs¬¾¤Óâlºë*=½—›.=ÕH“Y«ÕÛÜn‡Y¯ÕêMvO0è¶›ôZ­Öd÷$nL^ÉAgó8[cÊ·Z­ÖÂ\9ˆ•f‹Õjµæ›”À4ØósôZ­Vo¶79›^Ëq¶79Ìz­VkÈKdùÈwÚõZ­¹º½ÁfÒkµÚœ¢j†ã»~ý¶n€PùãZ륷ˆgvöqL³_ Öl.ÍÓëCZYÿ¦‡ôv†g}%%%.&Úi×kµÇèD×^¤ÕjMÕa.èvXé=¡*Mo…½ÉžHvÎW¤4Î2u6“v,§.ÔDÜå%%%u¡D=ô8­9£¹íp_óŒYÒ²—K¹7¬Ÿ±%¶ùØ`EŽVk°7ŒÃ…ÌìõUÛ̆‹Ú[ßôlGÛèyF½¾(€Æb7ukªÈ×kÍMèí»V­Þd«îì>TWRRRîŽðÀ=ÎD1Òês¬ÎÑÌIÔ»ÇãÌ7hµZ½Ùá¹Ö5awe âÜí- »ÝQÑàÙž«RÑl¤w¬Ê»š¦Ä\NòÚwI]惮œÇ·0Ñš'%2ižNèj:9Ç·" í´ëµZ“³a´o+¸`“}´fVúYaB8tq×pqÛ˜¼éãÞÑ^Æ|M º¡Ý—¨Îãm’Á<Ú&%ïýÃ?ߨ¾µ³½¡ g|1¬Eè#h €èmß²©™á eõµ›Õ¬¿Ñ^Éð½íŽ¢muqÕö²\:к¥¨æB¯Ä³LEQ¹ŸX³µÞ¡!‚5›*½!YÁöúª<*ÔVnwG8¦ÒÞȰRciUéšH] @ßå*ÚÒÊPæí;jKáÖ’MÉ–§Ò†â\Z`\Û:'5—ÉO£²•æI…hGùÆ’N½,/¢•5 …{z=%E5¬¦´¾¾Ê ÛŠ*H`½5ŒÊVQj¤B­Îš.ø¤ù$@·».l°WlÖ‰Y¦Ñ鎪ìURÈ.¨ªwj¨Y•}½Í~AlÈ7è,FnïØÈ­¦hK+Cä–UUmÖ°56G§¼tk. ªÍµõvÕø”„X“oÃ@§'ÄÇ´ud›Mr®ÓYTé )Škwl/¤ý6G{ïôWØËb}î¨Î^µy Í2Žê.~ÊÁP¹µ¼-$µlݾµ@öV•3Ó84‘¬:¢žÎ@ÔïcÐY4b ` ÃÃ[ªšj‹UB ÕQÙÉ„ŠJý‚±ª¾¾L϶•Ûjfö˜ÒXt°>o ìóFÐYôÔek\cHU\jÓ]Û~Á°µ¶¾~«™bËk&'}¯Ï±±¼-$5—mß^–KÚ*‹ã5Iè¨ñÒeyÙB··²²óš2­·Ë – u—Ò;\6½d¼Ê7s†ÍeVõù¤µ/I]yAÕfй[ë]FYÒ<åýBv^Ùö²\Öëǰö– GoÆÐ…µ-Û-Ù£m¬+ÙÖ¥Œ¥Û+,„×ËŽµ—v ”fRÛ($mú"nG¹·›Ðm®rÙ¤¶nLøéï㯿;àÃÕE›ýšÍUÛ«6kü›ŠÂSôþaÎW^ÒÊPæªúúÚ2ƒÐQç¬Ã{Ö"t+ð6‰DÂ]í55±Æ #)MéŽ;šÊLj)O0 ²ÐË4ûšíVƒÞäØ^_Ue7Œ€„ps‰­5š]P[‘# e–í;v´l/Ô«uf e¢<öthì¥fƒ!¿t³fìBn/ „®ØªWjr‹4„ܾdq­º¸t 1à­l “INuT¶¹8ß`²Z²€6Úò 9…V€sWzÐ9×ãù›€lK¡I­6ª`À×ë}ä…¥ùƒ¹¸ ` æ’çãXL¥¶Û̓¹ØH°Ld 9¤\¥–S³*ûzýÍ ˆ5Fšã(ƒŽ†@sG$ѳ»½QÍf2òµÛ«*,rZ©”@ÉUʉ íH•Y/†¿7Ì×åaÈ6å\W³èÜB³F©·ØÖ‚¿ù:cÅdöòѯÆ^šo0ä—+X¿/:Å~»š| 6ØŠsô9¶ªÚíUÎÜi]4œˆûºÛü€ã‚Ø?C© m¥\c)Ô 0ma>ìsw¨ jµ©¸ {lÉLŽkó bˆz=a€ˆÏBgÑP_Pã*ùfƒR,ðf‚N^Pß¹¯}ò¡^¦¡C©¥ÔnÒëMöÒ\1 t4Ž$©ÅnËÑ›l…*!b¯åì–±œºLaRÛ+ìù&Ý´ö%«Ë¤D!§€+ÕrIÒ<íµ3‰Z¦×›J‹5Ø'ßÂ[Û:[¡^.תmEÔßPn6ëõ9v»Q<ÖÜ%먉m£´éëe¼!©ÙžoÐ 7›iLóÒÇ_owƇ›Úº4¥Î|ƒ~´ïèv{ÂSôþüèÝÕHˆ E@]ܲ¯Ó=CŸe›ðÙZ„¦UwãÆõã‘D^Åf=\¤³®¼Ñb'Þ8ˆ²@É›Dm0$î&öâ@4â@Ið¡¶m.7û>À±€XJ”L:ÖCrìø7­ÕŽ·©(— Ö ‰Á^¬èØÖXé‘Ë.ŒÆ’œêØ8SJA‘ãçMRDâ[W|Ð9f€å »æImÍØ¦h˜!•Q0ž`Bâ–C’|K\𒔣üE#¦™š}‘Žæt”<Ù1º…mòFÌV°QvB‰Uê J€pòÝ*‹Aìmóy£…·_E¾A<à lëÆ‡ZÇþŽ E G9½ö²=%½šŽå’‡hMPj½aúã>«QÜÑæa"kOĹ–ñé‚–$²–¢€Žã¹0òǵåcßE˜ÉC¥Ñàõ…M„§Ĺù ¢—­qòİžÔ”VX*›[·miB‘W±Ýa .i{GÿšVÐ;ÖÒR:Qq)¸²º˜¬zJ)³S×":[J\¦Å6‰§®Ë‰?Jš§1]”»Pˈ ýšþ¨•˜XBxA_ÈoJ&­†pìi–JJ& ž”`á º†Ñ]³Éš¾Š»0ŠHdóe:MSw6颥„¸(ËOÕûS†Ò²\§«­¹’i±ªÀUmÓà3ºÖ"tÓѹ¥› 4 @HšÄ »ˆÇ±­£[j©ßcWóëãå1MD¹ð€ âsûX±Æ8:öÕ”µ0ÖMm••>K×]éhf@WÖRe’†*ÖolåM#0e¸Hx`tA %¥8]Y}éx+HÐÉGV2s™¥yCó¶:n´M~ªW2ľòƒÎ%‰L”ÔV›G‡¨@P²)Â"žIšcƒø«?úŒÌ¾ˆ¯)„¦¸Ì"'€x*·u¸Ýa«MJIi–-±]O— 7šeSE5 ³‘nkõy¼aF•e €£i€È­j(TãCÇé®°£™!p<\dò2g.2z, M‘IG’$M\˜ãHèe<Þ (&dúJ©°é¶V·¯ƒ kQcK¨…h„ ˈiФä4À€bs}…+©ô %^ŸÇí!»Î3«È+®qƒ½Ö`ç{ÃÆSWÞØê¬1µ—^¨¶R ʆX$$ðlˆzZ“C¢6* ò6ø ]†Džs>Ç“Ž.•½Ú•;¹Ê'­}¬'ÿ êrò<G}Éû4ÝÅ“–‹Øpg˜7¨IàC¾Ð*éX‚sáÄ­£±¶b MÀEy x6Ì^I×0¡=¹¸é#|$ŒŽ"F 2šÎ¨všº3ZJ°£µrìž§”ë;.­¡¤Üäl09ùÞ ãw×”·6:Ý&¾àóŠÂÚÃÂT@3Çˤ³<¬Uër “›6@àÙ0ãq7„€ „Â&YC·«Am‘2u[š´eGn"¬%Ä2©^WªónépÖ0ÍFA Ž ù|5,D»B\®QC´u0.— ¼g[`|,hZC·¶2mÞܾšj/¯¯¨¶K’mHeaéϦŽnár§Ê)¾xzC$:³Œ×Ó¥7ÓawMC—´°ÚeLþÇŸ,{ï™*M "^o§Ü¨Q'Mʘ}a¯»]9GŸ¢óTG]‡×ëÚ&#ÝÚ쯮özÁ]YÙÁjÊŒf9A@Èëí¤ zjr\»†nmmtuh,: Pj‹Nìïðy:V%ç©®aH‹k{>ENk…Z.' ;ÔP×Në£îæÉ¬ .—G0pžš­3J“OPj‹Aì÷¶¹êt…êh³³ÆÆí&Óô¬•ù¹ÒÖÆšjh‹Y>!B5•M”™ê¬ö£œ”S¦ìššÛT©`ƒ«9ª¶owfv½¾æFÚbVWZã"në“•aÝæŠB -‘‰‰‹ï>H4Ö5DIGsy¢X¾š¶- ¦ñÙg™©ÔÒ¼±¹£äI«Ñ¨–’,ãñ@¡Ö\\`’×>sòº¬#  êóù4F!YžjÆúaàÜ5@7ˆÌ`ÕÔ”3­EÙ\Lˆtz;X t…FÙøí%µË ð޵RÐÑ5­¡ºJ7m&|.¿@$íTô„¶1yÓ§É͆mÝÍ• ê)SçÁ°vzMWwFÊ͹٭L¥³ ̲°ÛPXÌò©&×ù`uþ†F!·ÌiQP´Œ"FÞ + k¿ño`* [âüùóçÎçùãÇOÿaRRpò£“±{î¼äW|úÃÝ™žzƒ/Tn±çù­­%E~]¡ÓUà²5z®5;««ªYgECM‰€Våmu+I^™rJ‹×oksÔ¯wmÖ…¶ù·Ùy¥U[Å%[:jº–Ò* ëhn«,atSãO´ j{m™à¬i,ÙØâlÕQp™ß‚ ôv›ª£2pÙSý¥î  WuÐ9ךªjYGE]yQ­Ê-¶e0!'%µ¦8Y>jSäŒÆb”nñú·9€n©Î!gEö…=înMî…o“Š\ áíðºÃÅuqmç¬i-ßÔ Döšâ §I`È×ÕUúÛÊËÙÎâIg%7éÖfE/½^gmieyõ¶Mb…±Ðn’OhFjìeÆp¹·uK c´®aÊ;A«JóÌ„ÛYZW\eS’S¼dŠÒ—Ö–Byuã–Mb…±´¬T?íUBn¶d7në©ÙÜb׎=Á¾%OüðÇ?ÿùËOd&ùzÿ¡·Þ>‰­*øçŠŸÿøye’€:=‹>Ý—{‡ú¸8••™N¥Ç ÄO÷`L;³"Ûõ*Æ´!„Bhnèïï¿ë®»0¦½U‚ÉdýýýWõ­«›­½wýº•ÁÖ#ïüâçAí*YÚð©Cû‚}vŸR–߀Ø0×søý=pÀ}Ú}zUvªN<Èʈćú"ö½Óê9Ö3tarªìAmæÞ=Gv¾õ¾èAªçƒ]Ù#Ú¬¥CJjÏÞS»Zß§Úu(~ ¿K„n\d»zÝ:L„B!4—"+L„[(==ýjW€§üó?ÿóÕá®Õ_•ë;õÙ‘à'ác6U¶ê›O½ð7_Y˜’q'õ—CÁðGÌŸ?=´!7ããýG>ùˆ»gíƒ_êÝßu" öÊ×­Ëü,p䓃üè¬<ײšûóGG£Vßý—½Ïf(y([¼ðžûdC'?>ع—éúd0sÕcßÛ`¸‹LY¼Bïþè“OºeɹONÆ%_]ûUI fùlw~ÌÈÈÈÈÈHâÞØ•x@!„BÓ«§§G&“a:\›h4:-©Fï¸ãŽ)ƒØK»ÇóülHŸXÿPúÂ…©ë~ëÇ5ûà¾â=›¯'šõ1í¹sç­ <Ï?~\§Ó]ùAÀdD!„BÓ¨««ë:Ÿ½]ÿ³µãûQ«ÕS}zétú¬XÍ{úýŸUîFMß>ù½/åü4»ÎýC9[“…{÷ïrÊ]¼•øú¶öWœqÅÿùsŠßŸüÖ¹{^v7~Wšì?3ofìùׯÞÂëàC?3[+|«Æóãk8ñK ß~¦à½ÿåùå7®¢ðFßûM÷ªï>Hψt˜ ¥KüTÃÄú̽÷’éŸ>üÒß»ý´ôž÷~ñÓŸývÿiÄËyþ•WžVýÿìÝ{TSWÞ0þoΑšC‡„Z“Z“Ñœ’LÕØ·¾Åã &Ï(q”¸T°.ÒŸj…:´Dªà(x)X ŽðPÉÀCÔ1h_Ð5F: ´c´-ÐJœ:‰ÚÄ Á)'ÏìïD­•z©ßÏêZÕxnÙ{Ÿ}öw_N(¦©bíÚŸœñp?"fIöò)ÂrÇ»éGg<@ð#¦®È^-ìó)Çã‹£e/Ÿ&öîï>^–™¾ý„x}ÍõºmÍÜz°¹ãŠY”½ræÀÕ•ëІµÛž8ÏoÔ+óW­š/¥n*IûÚzÿΟZl\%>±X½ìDß›’SlÊ–’˜Å˜ÅãϬœf›ônM¾¢7õ¬zUr­$ïH }§ ÖY®I°êkrX½*_^nLµšõ¯¥Õ2“Þ5]?Þ­åΪ›œ|´7a±)9jÉK?ÖªSåÈË ?ßýý“Ù'z>„Îc?•øþ¿·qÅÇ@÷W'N/|ÿ‹Yï7Î*;]yîþý„/1,èÕ—)8ùÜ “º»Ï]êâä6À¨brhI‚hŒ?€Çñͪ]³Þoœõ—“¹Þ/ÕåÉÿKsöÇŽ…Ûu=ëýÑs´ 'NN/»páN{­°Ýç_-fmoÇÑ´2nÜõÿ–ÅqJ¥R©Œ[¸á‹¶ámeÜÚ²-o/NŒS*×j:°aé¹qJeâ–ã ë8°va¬R«ŒûvEãKZhûdëâ8%­PÄ.~Ï»)0ÇË–ÎU*•±JeÜâ u.pí]¨ŒÛbc\+ã6ôááÄ6,UÆ­}ïí8:6ó¸ko"¸×åkH¤÷º½ßó½¥Þ„ŒMÌÜk{€?=ç:´aa,MÓ4­œûvÅWÂ:d&Æ*½¾ô½ëÙéû0nñ–÷OrUᜠæ‡6—ÕõœÂ} ‘ž»å½Ìʼn‰sc•qK+l 8Êâè…ï½÷öÂĹq±Ê¹™}¿ƒ£r¡fYã=æ{‹ã”4­ ã––y¿ ÓTñö\%MÓ4»pC€©{{áÖSç.‹_\áhÚ¯Y{œí¿ ³¶ ±±oW”e.Nœ§TÎÍ<äzœŸ=üÈh¢¡ìÓ[ST:B£ÅDo~zÓž¦é8ïÍKÏ­põ¶ø×Æ*ßnè{cóBç¯\¿$ZH"¦Fó=§Îs˜åëWÍ £HaôÔÂÝìèæáO[’=_Jâ虡à:åöTEÄ,Š“”tÆ¢ñm‡÷ÚX"tѶҕ3Å}[èì©Êƒž˜å³¥6Û_ x€}5Ûw±”4:fwÊá`›Ö* ëÎãááÀ=$lÓöµuÒ‹nê»}Ù`-¤ç¾W±vé¹±ÊØ…ï5¯È\œ87V»¸lð+ÌâŸ}ß±=$¡…6£Å—‰L£±QH‹{¾ Ý¤OPÑ´ŠVitå-,ÛX’¬RÐ*u‚Î`ãXK–Zkt:oéz\†ä¸7—LQe5ú¾I«IK'[ ‰EФ$‰»Þêô¦iZA«{ÎÆ´”ë4´B¡ 5z“½oâ0ùU²ÑÉc-HVÓ4M+TÚs«/:Ïת´JœSž£V{¯¦Õ’Ÿ¬V©T´J£7ÚևŰ¡AÄÕë;ñÏÏÙUùÕUßÇ~ÐyùÛ+²ÑÛæ?_¢ ¾`qT¶]öÛüCßOþõþÅ¿)å´œ=Е;÷ų’ªÅ/Tižº`±]º sr¤¸ôßüï‚N[¿©¿Ç™?Yºgh¤UoÈŠ_z¢²Úa¹µ מ¸©“à7²'=Ÿ^õ÷ GÏu´uø<@À•Öìê6âåðª7dåq‚Ë{ëÀ<èú⛡™É²ü—ž–ƒgß7Þ0õª¥‰{n\ð3wÚkCØýÞì¨ÌÜz*¦°¦vÏ_×G;êÎs¾'pzfx…¡¶¶Ö´>ºyÝÒJÀopE¯ÚVº§t{põÚSS×ïøëžó™}ÛëÜŽool¿ÞX[]mÚ6§m{úÖ&€kkh]a¨5)™ãù s{ LÝÚô2XPZ[[]k\!¬ËÌÜëáÌìEƒ™;m¬ûІ­®©ÙK¤ÔC}cœopÄl3WgOè¿#Û} }Ù>bQimm­iÇl÷öe¾$¹ÿ˜º ëóWÍf³iý„æ­ëöõ‰ÍØ[¶Xoª­­­5¬;6¸mÚºtã©—Ökkk«Äuéé~‚ÀÖU÷#b~ŒP=¼«ò°«7e¹3‡=3Ö—–þÕX8Óµ5sŸ€àšë¨…¥ÝcX?áøÆµ‡Ýý¦yfúañ*£Ùl1,àv¦o<ΰ¶™[ÓvÔ˜ÍfÃ8¸vëq–ŠÎÎ~…ÇŸºÉ°mΈë÷C¿e˜€¶Oêø‹¶•þua¹ nk™}|Ĉ˜9‚¾ ÇU·Ï5aÎxß öøÖÌJXPj6›kŠgº?ÈÜic…ÑsÄç÷vøÂ‹} 9g|ß[9mŠïNgÏÒà ¥€GO‰°îãûÊšy‘SÅTXô´hß ŸûÄoBäh;åà„ã¾](a(¯íÔy€ ’7¨­¹É#à}²qaœR©Œ]¸ö怣/Á„)Ñaã8T¶·-tê)ž½~QÀ1®íðÚ¹±4M+ç.}ï¦Þ ×¾‹–DÞZ±Ý¡l“À©ãf¯ßñWca´ëƒe[aÁ¦Ò¿7E:vn?Ábc2J® ³í±´ú¢Z›DEyrvƒ.ß[Tc®1ïJð§·8YÅLbyM©(¬®>“±Ešws&ñÄ)»öl~s2QoôVŒµÚ.‰Ÿrç',SŸ›Û(/¨1›)m…¹µ­À6¤•’©UË‘"µ=W_íìyŽ9Mú4‹"'O#‚–â,#$U™Íæý˨ÚÜâØ–½‰Z¶ß\S•!©­vqÐZ³R_+̨ª©1ïNb tÅöd­&íěѽ<†µ=4.]Ú÷]мÑ~¿‘S\cë×½ã™O>5u„ÁAŸì´žï2xíëϧ Þˆ§Fûuž¾r ÚÛ]&fȆÄÓÂͯM~zˆw÷Ù£ à žƒî³lçé ˆŸ™òôà>Éßsðü­£—W×}1}[Ï´^”¯y¥½òãï1ô³‹Ÿ‘)‰>æ»öªmóÞû<¡Ò±÷\'x¾qŸ$ƒç&€àóg?ÛmmêðÖæÏHùÏùøófˆá‹Æ+´}{°œ1š¸ó^÷—»©î̈˜iR/ÍŽöN¿v585bÎüHaS_ = Á@ð&L €/ü 1¡¤÷Ïàn󀫡î̈93¥â˜Ù¡ž†ÃÞÆ1~~Œ˜ ÃbfŒj;ÞÜÆž:ð DÎ÷6T¨ñ³cx§61™«–f¦§ouM]¿èQX—D„ÎŒxµs|_3oê‚h!˜ù㹺ƒŽŸ¾Â}”2Yqýöq¨èõ&cv´¨ˆèÂ}ªïÈOHxŽï;Øàp³‚È?þyÕë8X×úªwU5aþ̧öô¸Ö±·‚‰\ð@_ÍTôDæÇ̈ð¥—"ùgêlÞsšF38uøÛošócæL @8m“ɸrE†ýÑP³c¾˜adôÎáòôe÷W†9 "æxó™'ó<®¶Çù@‰£g‹}c뎽{™ÈÙ=MxrB¶É´išÐ›oøG€0úÕˆó{8zBžèÙýÞÙ¬ã@æâ á’ìÞ‰¨¬mKœb²:e;7#{É„;öq1Çß[¶Ö15{É8Ž‚ìíl"p,7Àýâæ¸Su®èlCm­aUDÓÆ¥ÛoßoÁÔ-V(Tñ«K—¬šá­ÄÂ"£'/ÅDGÏßl4›M…ó‰}Ë–U¸ú\àö2&fILÿ…w(ÛĈèè0€DˆQ1‘bߟ¡ÍíÁ,Æ,ü¸6^j7Ô·0Vƒ-L#÷O;­µ.I¼wÕ«H'q››œŒí¨KKKHJK ûíä%%Ú×2Öj»D5`TË:-Å%vI¬,(ºèH•NF…ŒrÛ=à2×3RMT®ÝU³Kã]Qën,L+$R tr € ×UÕ¼«€-bnÜV+®Q„u’œ`lÕ-‚ø$!t¼Üm¶8lŠ…¨óò”7d|XbN68͘»kÖÕÕaä‚îJttôcó]¯}õYÛ¹ï®-{ï?½ÝF•ç…ÞG<ïÝæïìû=@çÇÎí>ÝÑÖ|®b¸+ìð î¹» Ò8€??Âw³>~—¿ûþJ«}Ö6ß"®Æ\¹pÓ&™?&êIß_:/_XºçG×ùß[ÿÖô{ïýüGþyÊS·¬Âùtòȧ“¸+Wê­çò÷| ¯ŽU´ww~ç^ZÔæ»Tøžx¶ Àà‰`ïŒe2fÜSÄßÜ'»xÁ§/_1\> ®Üy¯ûŠó0@ô<„HRÈ#N°ŒËg¶'*wölÄñC½AÁ»ÞŠ zV[yÿÇ2P^o#ƒ\›7cx¾oS‹ñðÛ8"¢gS’ò¸€aÌ‚ [S —g?¯˜â n·ÒÜÓÆpm•Iꃾìæ<ÄK÷!"êwm­ûľ­;ØÏŽ›Ú÷Ž’.Ù±¾rgÅ–…Ïp£^Y°bÅüÛÃ5¯Ó(7öŸ÷ñ:Ù¦²ƒgη%M>Ø›œ•Í‹VM €àõLó#)!<Añ{Ò›Ç#8Çõ›æ½EHïj[Öqxû–Êã.¸¶3Ü=–azK;ÜÃC÷…ñëš=¼ñ+ Û¦ Õ‡?z~ÄÖ‡]1ã÷æ¢×‡ç{[õM·nß×äf€;ßã‘sÆoÜPa[°„;xœˆYßßšCwÖe™uâå;²§\Ï2ì{,‹Ç';3—%r…†?ÜÓÅ:öf.ÞÞ6gÓoO Á»!ÈáÜ7„@7·àFÍœ-$ÈÈùóÅûÊN´AØÀÝUTô6‹…u5ܲla:6÷ÉIAä›Ù‘=W?íÍ;ãwÏñnÀ4ìlàÍÜ1@ÍÖ_Ù¾aKBÐSá@ú*b³³ø'zŠP2ÔU|Ô%0ÚÃâåg𦳓!TÏu†ÎɱÀ% zêkú Ép’H6ÚØ0ÎdjV‡ÜÒ÷°gÞË{|‰,[— €V‹!·Ødc€ËMÄ˸9Rp½†'XÎQºÒ‚8‘¯k„µ×æçê,Apnî-!Ïwå„@( €u»=ŽÂYt á}BsÃÞ”+wØÒ9»ó`^Z­Âw¥Êk¾ˡÁjy2ÿûµßk¯FÌæû‚® 'N.>Öî ,ëé‚güºº/t|Âcsd7Ñ%Œ4ØoWýå ÃÈaðÝ_eqÍÓÎ^!‡õs²'‚ƒ† þeŸ·=õë ^P¿·ÞaŸ¸‡Wc]eTÿº®~qºc˜8x @ 6Iñ¬åËÓõL÷” €ê©m¯={Ûœ»®Üð`xZ0Éÿôo:Æ|Õ9VñÀóöº¯. \Ï”!–q´q¾8‚]d(½±ÝÍ¿í¡HJ̃ãnå}DµÁhàzûš=xBŠ'à=1¯7˜ °¶އÎxŵsË¡èÛ,z½M,Îãí†çñ)bÄ«¥{Þ?è«cêÖ¦—+KK§I`–ª×Þ”{ÂÈù«"縛*2SÒ7DyÄK«Œ›#²‰à̉²:Þ"CõüžÔqU$&–}ÂLˆÎãbX’¾^ŠÇà˜¶žæqs¿ŸŠ‚ǧ÷/0.‡‡'æÊ–®;S¼c³”p”Åž»2¢ä rwAm-e‹—Q`õU°"г2¾€œkus”‚ y0n€`û€Ã µ’—l´ZÁ&ÑdÜ2V{ý•Q}–\½ÊÙmR„kÕ©²HJ@°öž¥ÛŒÓÎ „„ 6¯(ʨÕ竪²ä”Ө˵ivU%„“à,×Ì:êí4àš|Wι] ' ^زòòA{‡r³;·Ò(JÉÑÊñÙ‰“m__<6,8ŠýžzfLpð7=/ŽúŽñ®å.]>ö]@Ô?Žíêô'F>9 û«Æ‹'»¿¿Â}AAQÁì¾cwéÒŸÊNW¶]ë÷Î-Ž‹õí×€kkÍßwˆ­»þã3:té«+׺¸¯Ï[»ÉIÁ~¼gƒÇ~÷ŸJG§7.=P}ºÒuË—òŒ óküäÂvØŒ‘~ðƒöºÒ—Fœ?¼·‰w]Yƒ÷y$Œœ&v”ù^ùÄ/{;s¯ãÎÇFNu¾Â{,Öq°ò/:Æ»VÊs¢¢Î ¬ãð¾3üÈñ|2tÚKÐPVçpŸ¨¬óDL €µmÏÜ'\”½bÕªèS×r?Bw !àC[³÷ÝZ¶ÃÏpÔ„m˼‹¯XÛÞÌ·ÔªLÎÝÆñ„b> À4í+kæ8¦Ï@§£bqb¦7¹âP!qL4ÿÄNßœiwÝ–·7 r~¸ëÊ>áO‹îÓFOžèyqT[ݾfØSëÚFù»Á™½Þ×n1'öàB£ûY‹GM˜ê9üÁ'npZ›¸pK³›ió‚P!ÀºêÊœÖ;øKÇx¸;•áAl{’”ÀëQë25~~¤§rk53¦OrmnŽð–2Öq¸ì¸‡óx‹1;oßZGÍœyK›ßu smSLaá ?£Âª\—¾Á»’i:¸ÏÁ å°®º‡nz“Û´5}'ïÆA@ ½g<è`˜ã;ßkÏœ6P´AẺ†ƒ=ý-³Ô IDATÛ–•9øÑ‘ÂþÏîÃ[Wgî<îÖõIeƒgÄ! ÀØêšÜ¬kofÒâ­ ÞêîÀ{û|+3½áÒ)Oà˜¦ý”mwÓ!ßú;ßN  ê*ÌâŸ}ß±º’ÆË]%Å6Y‚üz¾…È•B»ÁdgXg­Á.TÊET8-tU›í,c5usǵj^}aa½(6*ä‡]ãæxa’Ö^]Òäá–ÒQ¤ÕPë`íåÉ ú£n^˜D¢ÊÈ’šõù†e\!ˆH€V‹¡ÚÁ± €@&£ZLÖVÖ^[Úè ÂbÃFc# ¬Ý˜5/ ¡õEƒÓÂÝŽÖ>NJÑÏ…?EÁÅ–‹cž½e¨²ýLËeQà üºÏÕ£Öïžùõs7 -=55èBåWWåOBEù¯…‡¸ ìß($3øCˆaÂg–}äÿù³©£ÿ½¾ú_•³C_öìåÿ÷ï„w¯uúD½$yM8ú{É-O,~g¢cSys|þ„ü%ñØÛü󖬑üÝõN‰ór7<1<„š÷ñ´ Ie×ÿýä,†<7F˜þô­jCÆHƒ>»x%ô—¾ŸÃöCöºÄó³5§§LÞÇ93fÔ'ÍÞOׯtefj”à…ÎX‘-¸cm/ž½y¥+3]­äaä’MK¤$°0"Zz"sîvÇù6ˆx5{A ½jýüµ•½'XŸ=MÀ6mI?(XR:M X´*:>}í ›•™šÔøE‹"ÒÓ5s…BAhLLq8á´ìõ޵â•o¤¸$[ü` ´ fÑ샙IêÃ|¾pÂü%Ë_I_žR¶m‰/ç¦.ˆiØO¯‚^èÔUÙH–l^¾1s±z'üñóW-Ô¬p.k1íÆ aôTñö²Ã®H>#"yû–Í]ë8߯¿dýl1€€†Is›]ç9~ôò?Çni ¦­Ï>•¹AC§s0büìõë#„pÑKK×i”[ùÂЙ‹V¼zjÙÖÅ™âÒå1‘¼ôe긛ÿtÛ2lÃέ-ÞÐÙ1üÃͳcúÎã¤^Z² tYº:–?B ³dÅŒSËÖ-Ü ,]!%CgÇÚJÁò[W¢»*OxΜÐNþ ç“¯ö¼9gýz×Ú-‰“×q¼Q/-X¿*’pß¹nûøÐhéõ~¶¹òðygµZ±º§‹iü&Ó¶HéòM 23«6¶qüˆ+×Ï€ko¢fã)ïfé*ÀˆWK o†E.ß´`mæÂÉ=À º|ó1xn=–.Ù¸.]ý€àGĬüól1ë¨ÌLw¬ªÙ¶hóJOæZµ¢ €ñÒìõë{–‘rm.O<ð]?e›uí۸α*:òÎ?Ëœ*Û¸Q°)z‚€Ä,Æ,¬"¦‰"ë9”è U%ñù:»>YUÌ)Rèòã% ÉНOK˜\LIñJ11`l(Qjx…›BÖýШ–R¤jJu³èR¡Džºl’~å[zÅ$½~–b Gˆ•ºüX4õF”Y¦Ykr•U)ZyršJ%JèT]¢5uMrdWÊ2:9k:M eJBèQ­ËiZ©WÑ )QfäHÎÇ'X–ÅÇz ¾ÿþûk×®uwwwwwsDzìÙ³g£¢¢~ø8Žû!›µ7wVs^íº5â Ÿ’8ï·âÀŸø›¶}Ù¢µþbÇügžÁ\G ÷¡…š1†¿Î¹¡­ç(››X÷¦iG4…)ôèqí]˜xxÆ=¯(foHwÌßžëgQ¶1‹‰,nll”Ëåêì­5Éóªãª T6ØÆ¬ézAÑÝÿ.®Õj”Ô³Z­2™lÀ[~&×Ö¢Ÿ¿ ©f©Tƒé€BèáŽxmßéŠö¾‰ûž´qó£…÷ç¢ïç¹0‹1‹Œµ´Ø¥W<˜˜ÖiÔ&•%»$œÕXφ­~„^p€a-B!„ЃÅÚ¶$&U¶E,Ú´~½·f…‘Óî[r?Ï…YŒYüsi-ºYoYñùEò4R+Rf$™Ó&Pa±YyŠGhnNBFÌ}›„ŒB!„Ðô`'!?êÔ$d|2B!„B¡G†µ!„B!„0¬E!„B!„0¬E!„B!„0¬E!„B¡ ßKú`uttøùùaX‹B!„B?FPPÐÙ³g;::0)ŽãœNgPPÐ]í…¿[‹B!„B>#GŽ«(5s^õŸò ÚßBM^®Ÿ::¾©7Vjv2]þÔèWfÏ›:6Ë B!„Bhýç?ÿ‘ÉdA`R<AˆD¢–––»ÚëG¬­å§àtý™€‹MŸ]†QÃ{‚㎓ƒ[˜QÓßxcvD癆ÒÝŸµøû€³ö£®È9ó&ògZöWk`ãöÏ*vs^}:2nÞTQKmK €Ž¦ŠÂ=Ÿ_|zê) ^ >}Ä»5z´Ÿúº½­åØe51¼wtÞ_¤|ã\ª}e̘q‘b€Ë_3¾*>ýEé¸)SÆø´¹ÜÙïÆÎc§†¾ ™%7uŽòiïq¡ÃÑÐÜCÇM#;eJ„×éNc\û0Ä´MînjÚÿ~ F¶!„B¡àǬ­ >1|hÃg ÍŸµ]‚Q³Ã©Ó{þéªãHå‡ÍN¦ëÖ½¨§©€@Êÿ6w0 ò))€K WêõlzÙÁtŽ À<|À1íž«“S—Nôÿl÷ûï—ÀÚq|L„B!„ÐCÖ‚¿(R:ôرC‡D³Ã)8Ýä4WT~îúBâŸæH¾þKöÎ&D߀2ýn@ €Ž6`8@ÇÅž÷QP”?€ÿ ‰o(‡{äïOQÓ>HîÜsuò‰QÃ^Ô¾%ïÿåoO/ýó˜/!„B¡‡;¬ E†=öùUE†ÁåÞèèèê¸ìüìØ‡Ž.€Ž‹g.v 0|×ïÆ1qœ>óùþýáSÆ\úèHÏ«¨Å‘áþ-Í- §'N1ÇjñL|ý·Ïb>8缑ØÃò_Ô.—v`L‹B!„ºŸ†ü¸ÝDQáCÁÕ^4núÿ5ôjseaéGþS^Ÿ>Ú¿ëôžÊc—û=ÕÿÆ]ãæÍ~áigCåîƒÃ'‹z6”ÎyczåØ¿³ðýÊÏ:D¯LÂAÁØÜá„B!„ú‰=Á²ìÃvMíÐþÏÍïT:EqZ…?æóóóý÷ß_»v­»»»»»›ã8–eÏž=õÓ”ªvw{G× ‹¾ý)AГ˜!„Bèº{ÿåUL½ûœ![Btœ,ÉÎ|ç÷ÿÖäøúŸr<ýÂŒiѽD´>Þ¾*=gsáû7*ÜüþžSí>Ù³ç“ ƒt®kgšìéÿ}üwyÿü]Þ?§¹ù3àÚgûŽÏú°û!ÇèúΰûøïòާŸºáª¸o[·U|>}ó?—÷Ïßm>‘´ïìgW1sg¹F¡­aõ˜¬%U¡Êoaádaj´o¥Hµ<Œ_еê7_j‚Ñ9ÀÆ9*Zg}°ßƒmÉQMœHëÜeô~{‰F¡5ß]áuš–Ö‡%ÞÒuÓý̘S'jÊ?¾â1ç'«'NœHktåÞLdËuZ1qâD…J›Uã¼Mîx7èÝ4Çì¼ñS­JÈ2Ù{÷oµ–$Ó'ÞPXXgMŽV¥˜8q"­Ño[]9kr’Õ=[ÒÈü‹a-©7Ü•š;f1fñCûÄ3k'NTè,}SϪ¿9AoÓŒ uV–µèho‰i5ëÕ'Ò7ïN®óóZú^Jç#Àÿa» À±s´“wëÿQZøð9oÎ+Ãñ‰î!ªµ›>d~¯_ÿ²àÖ:g~ÃÞuÁ§mA™¯ÿú^Gn¯ùäˤ¾Ÿó«ÿ•ñýòä7þßWéÝÒB9y‡¹Ò^ã xs¡LóTßO¿3ÿýñs¿*Öð¸òíŽ*[zõ“U³<Ìbô° T%ÇT¾–Ëd=UT“##ê &&É—“Fê2ÖÒ£¼ØXž¹¤ž‘ÓÔ>Ž$¾d¿†º«ýæâ[F¬"„”éªLEbYÿ…‹à1µ[JVÏMÐj14ÞÓÏ`ÚKRõµ²œªicÍ-9­X¾_'²æ¦z’vÕ$„Κ5 +Ód²r¨ßdÉJ-tk‹Žhe„Ý”– _#ß_¤"­¹iÅ\JÉÇj ×X’œ¬+–S%ÐjJ}­„¢å‚Fwßž•âÔ\›º ¦D-%iúbó¤|UÈmö´5õa9UÓ"®±$ùµÔ|yMVŸú`€‹agì7öÿ0‹1‹¾2@4¬ŒÂW#3V£•ƒ»*¤"Ë$#(Öa²@b•9Ur§s âvíׇ“¬Ó’Ÿœ–Z,3Ýq§ÇŇï’ÇL}}Å;7nܸ1W¿H3ŽË5Ñ=…µÀÔ_L[°y€?þeñ½ÏF¾zy‹åêóÿ5öíqA|òyéèMsÄjþß -{¥Ô;ÜZдÙ;Ûõ]©iÖæãÓ Ž'TØ?½pŹûÜY¸ºã>Ïì;ZÛÅ~þ­ß¯ÇR#¼=QÞZ8GZòû`@×—ÖmÁ±éǧÿw‹ál€û¬vó—;5MßÜXtàÄíníùUáÎ#ÇfòpwØ«Éø-›°-å:µBA«5Ú¬Z;w½ÅŸŸ¬¦iš¦ÕÚo7:kÑÑꬒ|]r‚š¦²jM9©Zš¦ò­ k7eiU4­RѪë]ò@€»>?YM+&NT%X}õÖ’T MÓ*šV'{;¼F-­ö8MÉ´:§‘y¨“Î’J«³ tj…Jou½£¢­¦E‚±Õû= R½ ©J¸ÃÁOÌ;X¡P(´FW~ã•°v“>AE{3<µàzvú>T'ç[Z’«jµ”Z„ IIÚðÆsÏ)ZM M~>9!A£¢Õ©å- ØKÔ mAN› Q«hþÆÞ|»A;=Õ;˜Ðj)HVÓ ÅD…:µÄû]|ãB …B¡Òæ˜[³îµM6Wuê¬är{cþ,u–•í¿ ³-9*•®¼DŸœ QÓ´F_ã|œk ‚&ê}É Î£{8-!zóÓ›ö …Bí½ÙåÅõ‘¶1KuÓ¸ /L»:OG‹H€i,-`l.@¤ÌÈ[N":VF¸ÝÝ<µ.'G+£H ­ §Í¬­ÜÊ¥„ dš¹»ÖØÂa)Eå«5’¾-tÖf¨ö(3âe®-2ðž˜ã»XJF+ÅœÍΰY´o(«¿‹ÆÃÅ£n÷Ý®l05Z…¦ <+U«QÑ*mÅZ®ONШhUrÉàW*˜Å?û,¾cX+¡…6cO&2ÆF!-¾éiá­"½×Æ6–$«´J 3Ø8ïã1K­5:Æ·ôG=.CrÜ›K¦¨²Ùž*^Kû‘ý…Ä"ER’Ä]ouúÎFÓ4­ Õ=gcZ|Õù-éÈ4ækTÉF' ŒµÀÛ„é©ñ€±ækU Z¥NÎ)ÏQ«½WÓjÉOV«T*Z¥Ñíë”!€ÐãÝž;\°fÝî/Ú{ÿ¶y¯£ øŠ7–Ïùõ½GµÜ¥¶u?÷«ºaøÏ Wý’$®]>ûíˆÙþ¥ò¢ˆîê#çÏÀµ/´l¾”½hÂþÔ߬à_ÎÜw¾m˜ {Þ³Ïù.ýÿ^Èís(^ì/Á¼ïäŸ?iýô"ËÀÐÀÆ€çßÿN¯ëÖÌ™°?uB‰bˆaß×ÿ¸ àïÝWþIŽ*_*{íÅ`þÅ‹Ÿ_€+ßšœªžäî°—ôƱb`7è7Ù”EGÌ&cm?êâ|Oà4½YœQe6›kòè¦5©;À¹êtVQ¹©<‰­^™eSç•M%ZÆX`n°ëråy&sMMMQ‚»0-ßû ãÜ–úðŒ*³åãÝñL©¾ ‘Æœ¥+¤r³¹ÆlÊÕëNirRE&}q ÛZ“›ïTçèdÔCx$®z»²ÈR“#ï¿#»Õ”–j$RÊÍfsÍ®xwÁ[ùè±É˜s×Ô 2ö[,–š|yÓ¦5}'&³Öü|«4¯Æl6›«2$v“¥ØÆüÔ\[TžÉl6›²Äæ´4ÓOØ:–ÚeZ¥HD'Ê]†Úžk"ÎQËhòÊËû‹4ÎMz£€àšÌTRQ¹ÑT•/·æfÕ¶ö›æ+ÓjÅY&‹åXUW¬Ëµ2lK±~“]]rÄb±T%AuÖ&+KÑ99“x‚Ø‚ª¢áõû¡ß2L‚»þ¨ ¥¨ÜhªÊ1o*iyŒç+Be¼Àjð=N³Ñ%—S=i“ÞIå‹åÈ.Mk©¾¸…Ñ —±Öî /Œõ H÷½±Cj•ïNg]õ&LF%¡U Ûj5–6RQjÉ£éT8­¦}cd­V“’+„àn±sB¹À· % £Ü6@…‡‹È›änldT}®VMÓ´J{ÛÙ!rN0öš£;,V@JâsòR¥Ôœ“á\†T ­P(T ºëcŸd½}Ù&s˜¹ø¼ãþ¢I®Ò·ò!éÝrãþ‚({qá ÏžÇ,þÙgñQrM˜m·3“i4Ú$š(ŠðµtùÎØ¢syW‚§8­¸ÀiÌ*fËkjLE `uõY˜&Ò¼›3‰'NÙµg󛓉z£Í—Z«í’øI!w*ˆ0õ¹¹ò‚³ùH‘ÒV˜[Û lcAZ)™Ze±)RÛsõÕ½*N“>Í¢ÈÉÓˆ ¥8ËIUf³yÿ2ª6·¸…¶¥@o¢–í7×TeHj«]A´Ö¬Ô× 3ªjjÌ»“˜]±ýÇwÑšn]­Dg ÒÃZôXèjû´Üô¯¶‹Ÿîܰû‹ öÛMƒÓwµó Àp^ÿaÏ U‚!CFýrhËy®~WsªûW áóCÀÜ„[}Ág?þï YÁä ÎîÚ°û‹ßçOÚwöÓo¯týËú-üòYÕð!Àÿ•p²Síò¾‹˜Áãüᓇ}g:Û mÿ¾øåS|ÕðkwÜ Ý\7šB¥ZF@HTü$ïœv§ÅdÆk!@†Ç&†¹L'Á“«¥$"B W†‘Þ?ƒÛí§Åì&hde|S_ëm<òD¥„ Õ±ÛÚèfm¦zPh½mJ¯¤l¦F@¤Y­ ©Ö§¥mrªóRdÀ¤P"LC<댱)u-R¤L”³GM÷¡;˜;šürßUÀ:+ WcÊ¡C€’ÒRÂmë;2B IÆj¬¶Ø[Ù….?KÂÚMGÝa‰Z”\«ÚŒÖAkíÆr&*)Š äI“ƒáz¼(Pj¤Þ¢¥8Ì-Þs‹5Êp(©JNØjml¿i.Pz[Õ"õ»5¦ÕrŠ ×U)ÑJHEÑBÎîìÀ€e˜ÅûJ«DL1.÷ã\iP:^â[·LT¼´'„!å955ïªEÞ|“ »@4)Qæ2šì=!Ϥxi¿w6k7é“ "]NïDDý®­mµ7›Zƒccû68dº]y†bC¾6×Á‰'%é3´R›ášÖ¨éÜžB— d¯“m,©v¸Ü¯½\Ýó ÏД’%'€à }Í(’òÀâáˆëéÍ㑜“ãúMóÞ" ¤wµ-k¯-È7X,pn7@OÄ€e˜¢wmá=”ËV“vÖš&O¾ºªHò¨VZ+Ë/®u*åÆZŽÎ #]½©ßX_hlle€s¹A¢ˆ—çæ–·$é8“•Pæ…õ“„­–ü·ôfIÆ®ÕõÌ!Ãu¦c)Œ½¾XŸšÀUݦ‰ÈÚúäw|A‰·'† |AÕÖô n¾‹Ä--"HE¢Vb,±ºuáwWQtѱc¬³±:?U›U7çäÍ"•>GÕs¯Åë”%ÉÕ6FrCÝÑ_پႉžZ” €ôœ˜Å˜Å?ÑS„’i¤®â£Î(Ñ/§8ƒ7 ! ˆÞ*’àœ Lo½IRBú Ép’H6ÚØ0ÎdjV‡ÜÒ÷°gÞË{|åO·:/A­Cn±ÉÆ—›ˆ–qs¤àz O°œ£t¥q¢žYöÚü\C½“%Îíà½%„àõ¤ª@( €u»=ŽÂYt á}BsÃþèJ>„ÎÙóÒjÝ–¸«(uÐ&œaX‹ϼüúRxC忺zbÚåsžmÜTù¯¸ ¿ Ânâiþó~§ ';&Ë{?l;eßæâ/îwøÓ/˜|â…)ã6…Þxö»¨õJû‘³ðâØ ÀþðàøÉŒéÚ¿f‡<ó”ß0þ¯ªÔAÄ€2jìðŸ^üüâ5SÛPõ¯®ßy/tÓ£‹ÎÉõ6êÝœ/Ž ÂRªÊo|”³ÖÛФ$<°º_+ƒku)ã°ÐÞ0xBŠ ×?d»‡PÀ¶çXÃã&9‹ók&ÝfùÓØ”½CÃö½„0±ü!xïc^“VB¬./W‰H`,©ª57åžH¡ÍRhZËW&ëreû“DµÚT øÉ&‚3Ö3/¥ªFÛ“:Îò„„’zFNçqùš,ãòô¬Zã˜Þæq³×[W7v4{OÓ„qÚJ•¤®±*w•È({‰zVíÝ•áÁ¢,¨ŠòöQ!pµARòx¹;ßXk3š‚p\=ý¹©ùΤòò lc–*ÙÛ‰Cɵ VolRA=¡,¸µÃªÕœõZ–]SP®ím¶ZMõ¥–‡IIèÄx‰¡ØêÒÉú¿‘Ø–ò·’ ‚Œò’Þ€I '\V« !€±7¹RÉEY&!z‹ÛzbìæÚ‰R%!ÉbµtAr­U‡·½hmit Âd¾Í¼1Ä-]Œw,ۘŘÅ÷³ÏVž wÔÖRö°x¾ç?ODqVÆs­nŽR$€žïÆ2vÏ@G”¨•¼d£Õ 6‰&ã–ðú+£ú<$,¹z•³Û¤ÖªSe”€`í=Ã׌ÓÎ „„ 6¯(ʨÕ竪²ä”Ө˵ivU%„“à,×Ì:êí4àš|Wι] ' ^زòò„ÁzÓW³;·Ò(JÉÑæ"*–AUdûÆŠ¢u, IDAT™¿òÔ¹Ç× ~3:ðÌ‘“™ÖoÏ_½]ì—M_/û[ë• ²ÿÖžÿ“ªP¿/?½t¦ ®µ²g~Øûb§[\½b¨¶e~òíyoP~ÕSó‰ûBPЯÉ!¿zaØ]{ 8÷Å?WÙûù៧øš «Ë…3ü/??l/Ô·–E ]µFï›Ì%õÞç‘H¡–ØK Þ61Öoiãí‰j±«Ü{,Ön2بIJïZ)µÜÜêí@5: ¹€ SG¥ÄûË­VÃQF+¥€m)ÔE)ëôYY“l¹kjZ¡”$p7¹X`[j«œ·] ‘¹«K¼ ”Ø£^÷ Ve²n7G‰$€i4–6r,Óg Ó^žœ ÷&wˆ$\蛂;I`-öÍ™n5çër9?ZÍ¥õ5ݧ+¢cEÖžG¹ÍÆ&X[µÙ-ö-v‡ÑûÚ-Æj´ra´˜ì§-¦ cjKë[ÀY“• Íot3n† R¬Ó\brïÛ“À2}Óá6ex°‚…¯Gý­Ë”\å1ä›)²Orn7GxKk¯-±z8_òRÒxj òRÍ-a‹Ó´2«QYTtC+k1¬Ñåz‹ÓXm´ó¬Ólª¹éMrlc~Z1ïÆA@ ¥ñ4ÔVÛYÆZ\Ð(Ѩê\¢dñ4˜z¶--± h…¨ÿs»6¥¾ØÚ ¬³ÞPïÊE$Ób17¶t1¬£45ù-o…Ê4 Ì¥¹uT²Ÿ²ÝÚXcú“"[-¦šA]%€Yü³Ïâ;VWÒx¹«¤Ø&ë»R:D®Ú &; À:k v¡R.¢Âi¡«ÚìM]ÃQ77p\«æÕÖ‹b£~`¿ãæxa’Ö^]Òäá–ÒQ¤ÕPë`íåÉ ú£n^˜D¢ÊÈ’šõù†e\!ˆH€V‹¡ÚÁ± €@&£ZLÖVÖ^[Úè ÂbÃÆžߘ5/ ¡õEÚA~1ŽÖ¢Ÿ}0DÁ…¯.t†Ž x†N}gB{@PP´Û¿jó8XïÚ2Jþ|ñ°3ïY¾žw¤†ñƒÔ%†’×úÝþùÉá‹?<½l»‹ëºOQñSFò:¶@¸ilþûiíG]àç?æ9A£ü~9fýÿùzÃÿ|¶®ù¢bÌóCn®oÈ—_ ¶îx!ö)ï)x?h/Ô÷1£ÍIiJK~ÙH â4Jq}£÷Ó¼ÕN½^M3@…k2ÖI~@:Jâ V;õi*š E Ý»: ,i™u¥¦Ðîrƒ,1')œ ³òµY9 t®÷yëÔ!lc~š)DW®IÍ¢géÖ˜äÊLMJž’"KÓM׈„!aJ¥”¨@¤^—g_“;‹f¼‘â²Ƀ‰gB”)ñ&ýkªZ@(×ê2&¥­Ô%—ëzIÊúœYŠ5@@…«³ÖÉIt¹údU1 ¹6+iP³ÂY[Ò(TgÜÐѱ’Â’Zg”aeLÕdÙ]nJ¾,/^` Âh(~MÓät±:#_àºå«ªórl+s§+Ò8ÊãóóB”•ºf:½I Ó¤èm©›’õ’ò ¥‚J{K¥Ž+̺mnÁzâÖoX¼RPÛ¯ì;ÊAE-K +M¥²]Fœí­5ÚQ¹^F†Å+ÉyAÆ­+Ñõ«Ça÷riÏ'ÂÄ*SjB^žkM~ÂËk8ž8*)?KA´Z‹×ÊÃhÙõ1¶ÉPëòxVþ×Ä•¾Où»5E YÆ»Iz}òä\7'Æ­ÎÓJÀiL˜žkón–6y"€0qwUj¸"ãݤ,½öå\ðÂb3 ’$ÀÜz. åEËr×èþ«Ô@¤ÊÕùñÖnÐ§Ù³Ž”DÙú¿˜Œ‚”¬¬ÔÉ…žxRJAÖ­?eÕOÙf]ÆÜ5ö,Zqç¡$ÆVš›+( å!$f1fñ MYÏi¤$w½ŽÌ×Ù½R¤ÐåÇK@“_Ÿ–0¹˜’(â•bbÀØP¢Ôð 7…¬û¡Q-¥HÕ”êfÑ¥B‰Úÿ¹ùC£ÿ¸üÏ`b „B!tÝÝÝ.—«½½½»»Sã …~~~Ö"„B!„Ð];wîÜ!CÂÃÃ15î–Õj•Ëå÷rŽãΞ=ër¹Fމa-êWçÉ¿dï¡&‡3Íg.^ló—j4£[jÿá¸ÔÆPãæ½¡ë+vj¾Øà1];çÅáíMÆÇ.B`ð˜‰Q]õG¨×3æˆ:UTÔ~Í%ž¬™÷Û1=û·´uBŽŠš£:«„B!ôÈhoo—ÉdA`R<AˆD¢–––»Ú ÃÚÇK€×å–Kã–§jÛþ¾!wwÅДåKçÀŃ7Ø4eì‹] »÷œõFæÒ1íM%wW4‡§Ž hªÜ}ŒŠ[¾ôE~ûIcáΫéÐq²â/åÒÌW†´7•l,Ù=\ÿz¸cÿþÓ£ÞÈ\*€ö&cå±–ö1ã‚0ÝB!„Ð#Ya"<@w;_õ¸ñ:zâ¨@ D”?5fœ( €EAÇ¥«üWR²—OA£Æñ»çUè¼Øì€Q‘R><ùièt4´@øÔÈá>YàhptB È´|Ôpò›öÎ ©æõ9Ó"„B!„~â “àqØ“éà?ô¦ÐÙÖR»çPËÅŽ.ð‡ŽKL—?Õ³Ì÷èºÊt]=ó—Ì?ù{ÿÚuDLGÀظ”<²ÿýý—ºžE3{ê lB!„BÖ¢û£íXiéç¢|}lïÊCý»®vv@Çe¦ ‚ü)jèÐ^Ï|U|Óë•ùcûêØß´;>Úý~ÉžðLí|3B!„Bè'ƒ“Ñu—;`¨hx´Ÿ<ò‹ÐÕÑÙ,£áëvè8yè#'ˆ"Ç@Ë¡ÏÚ: óâ?+Jþv².~´}óŸµ šЉɊB!„ú)áh-º.àÙÿûÿ³w÷qM\éâÀÞf¤fhMRkb•lh ´jh+éŠã“ÖWW…Ö…®Ö µ¬]D~ VAmÁZ°®p]añ’ê´ Ú5âhK°Ý •PÛÄ—„*ÁÊDq†·ß øj+жÏ÷s?wiLfNÎsfæ<眙Lz¶V»î¯)êÑ€I“'Yóö|”?|a´jò×ïHÿ«7Åb\èž¼Ÿœùæ„¢¢ ©{À‹0qÆoð ‘ÔmH*jð¤Ä£fF?‰Sµ!„B¡»ÉeY¬tûZj³R÷ŒX¸xÒà;ÎW;;;;::ÚÛÛÛÛÛ9ŽcYöÔ©S¡¡¡·¿Žãn÷­­ÍMÌå¶¶«_ò@Q>Þ˜v#„B¡+ŒFãþòêoÙÿnm÷v‚ƒƒ{û×U‹Ñ­3Â3ÿLKÚðï3­­g¿>hõ0èAJ[ÏV~œš¼.û£¯õÑÆ´äµEµÍ}¹¯ŽSÇN/ßn|åƒo^ùà›éÛ곌}´é¦cu“·ÿøã•?Ú«wÿ7êß9l¡ýÀV4‹ž»ŸéÓm²U 鈦y ‘Ù?Wv#zaÕýø¥Øš%ôõEÞeëå͵k#äKjØþ+*}ýÞ»‹dÙ>‹ž[ÎàQyÿµ®ëŽg¦|!-“Í*²ýòOùÆù´L&“Ég-)ªu©-Z2KNËd2:bîªý¶›´Rç[eη®-·]û*-ˆ^µ×Òýy{Íöùr™ìšÆÅÚö¯AËd2ù¬ä]7=]Ùö¯?­«°Ûk™Û+Lw]%Ëet¿rb ñí\ñô1!!2uÅÕµgÐÐ!!1úÛ8![ T´ÚÀ²jZU`€F½FB_³½ÛA- ¹B•¢3ßv²†®}ýjá"dtK^Cå3Çåe'ïjø¸Õõ¨Ö“ûö3ÿ¿PþÿdÑ®+úÏÙ€>˜zvæ´Õõó+:ÇOøÝާx|à¾55¬?ðÝ_Û6ŒЇ_ˆï?2o„:OaÛD÷jâ–Š‰®]‘LeëRƒÈûºÀĸìÒ÷Æde“A µE‚ÞýÙ¸žãÀÎúyË»{UÑÑ;úLËö…É‚R ׇ‰5çÆ/Ý:ZûŽèȺE›sru3ý ÛþÕÑ+–åOõØ ¯ZµhsÓììÒÙA„eïÒèäU£µ›&5ë–nåæm9øª/W»=>~ÉÖ ¼å ö½ çn§ÂFó6]Õ+6m]¸®þÕõº-A`Ú¾4ykyØ{=gmÖÜU,Ý᱕oœ?M.—ËåÓæ®u£³UKäÓVm߸d~ô4¹Ù2›Ù½¹Ü`Ùºd]íè5Ú²’ݦ™M›—¾_ËpMUU~ï–éæÍtü=ys- Lùª¥ÛaN~YYI™ö]Qyrò.ˆ¦¦ÎíKÞjbíû×¾o›”º ˆº¯+  ¡Ê¾I_’:¦çlûÞ¥‹vóòËÊÊt[fØ7/rUɽǔ¯]}€ÿ®V¯×ëÖŒ9úþêÝW-cl|¿&p®¬¬¬¬ð]_˾*;°µï/\WÿÂmYY™v¹oùÒ¥{í÷úìS¿Ë>%»¤L¯Kõ¯Z·ê€€  éHUà{º²Ma[ó~òN˜“¯×ëKs§Úÿž¼ÕÄ8Ž,Жm{cÿèNWBÎÙu”>Å—Ä£þÎZýð™‚#E®¤ÇV¾Û6fæhž«!õQØL߆],®ôbwŒ9úê[0öÕ‰®#mø¢ÊáîGå6q¬€µ×ìÞ~”7vRo‘£üÃ^ sMòÙìµðÆŒMõN4Zàú%òã5Õ7p”¿¿ˆ¼nCMGkÞëæN“ËåsW]Ÿp\M0fb˜?ÀXöoßÕä7iŒ€ô‘ºf^ ÕKaœÏÚ–©©³ý{™ò"¸£åÔœìü|R¸fL³µ_ÝÑîd97cÍ–h³Ãl_ô>ÌYŸÿíú±–­›°b q£¤*Ó'®¬Ö$Q…RÎïe.TgZ#rJõ¥úmQŽÜÄÜ:«6%—‰.(-ÕåDÁvÕì…XõAÚxžoü¶O6¼5¨Ô:3tÆPb–DŽÞú ËT¦§¥Y¥zýÁ¹);½¬XcVb>™P\Qq0GiN×”t­>f­:Mb…,-C%†ºÜ-Äëõú=‹¨²ôÜ:غ,ŽZ´G_Zœ$)+±qÐXºLS&J*.-Õïˆe²Ô¹æ_\eº˜ëÑ݉<¦µÝi-Ûv‘ðäyôôom-,íO†‡y€ÇS£1Lõ%/¡ ÔÇgìÇÉA¯=AÁçÏÚn¨m¹å}³^CÏwp<èñK£óFa‚>Ô €´êͧ—ŽðÞ‡Ÿðhýþ¢+U~,ˆ?̼ž áq'Îo¶ÒÔþ̨‡yËÓ®Úò“CÂ_ "@ðÂŒ0ç(³­joý™³Ç €ôŸôº_ÃÞ*›3c&RÀ÷ü1á~¤óo°79ÀVU~rÈÌ©A¾á3üUœbôìp_€ôŸ2¼©æh[¿÷ ;ÛÙ7 FÏçÕï«eDS—/ìK^ºô}Û¤5󂀄ð›&ê=—¬Ù}”7iN˜HQøìÑ\ù>ËÝï p‡ã'\}ð’¨°5:mj˜¨À°@Â^õÌOD8jv﫲ØYÁØwÞ[>QÀZö•7ù½>;ˆjÌì©Cêw×Üë¼vøÔ™c(¼0e,Q_^ï,±ï¤0g÷—“ªÓ­U¤ï cøKתÃááaAøN9¤~g¹ ˜£»Žò§NõǬöŽ;¼¾a3|n/·€e×.fìŒÀ®¦ÇˆˆÂ^lص×Ò•ò„Íì1¬eoòü"Ñ‚Ôî…¨¬iã4ÙeüfnJê‚1·ãbj>\´Ê2)uÁ8Ž‚ìÎ/ÛË¥‡³s\}¹-,µ°¬¬py`íº…›o>=ƔϗÉ‘+j‚,Ÿâ<‰ù #è­0ÎŒ§ajê _êf­=ÜŸ*0| Q ž½>× ó'HA €>Ö×õ74Ùb qß絑AæÂÊFÆPhòWI)gH­†2›$R)!@,Ÿ&±ëk­ŒéMAKH*(‚õ˜×“íÊkC‰Y¢ í5«e­¹yfID°(:ç`±:˜ %²`Ênv€M_É©B…d@̶Òm*±³3cÌNÌ&â³ÔR € P—~ €0˜3;vƒ PÉ„¤D+%SI 2VF€Ž”Úõ¿ø]¡2#C~M ñÎR÷Íï­E¨zí¤ç@®í<ÛãQÕ~žÞCn]'-/´Ÿe;F€o +¾ØÜÞzɾ0§Éyšã “ÚvËò|<‰+Ûì<ßÞ^¤ÏU†ÖÿVŸÞñ}KSÐyºÂ]Ÿs4Ð5¤Å:8Ôó‡ÝgÚŸ¡~ÚßÎKxÜCÙóÕÞÁÑu"I¨`›NnŽ–oízÇ÷s&AïJ/¢û"çÿ°ŒÅ”€×ÝÉà×ä¼ó|×[y< 6ÆÁoâˆÀ®·’”ˆÇU9ˆÂçŒy?þ€hqꃑð70q41\ÓÎXå>WûçÄ M÷à¨íéÞZû‘ÝïoÝkb'9nÒÕŽ [ÖìÜZ´qÜðqsÞ}wv ÃîàŽ®VÉ×u5ðmpîåÙ‡ÒU»<ÁÙ8âJ3µûÞß¼»ÖÎ×У»O[|×[Dá3ý6•Û¦N²ìªM}×·G‘öÎ\}ÔÀ½¬pÓ«‚õ´Á›øþÖ¶ðÑ»paküˆ¸YDcgŽ^·¶È4g·¯†_ã×ám¯Ú¸(¹Üwñ–Ô‰W†‰Hÿw>©˜ÇX¾Øš¼(šË.|§÷‘.Ö²+yþ榙ë·8GbÞ5Ig¿&º¾0|êì0 @Ž=Ûw÷ö#Màßûp¶©¢‚µÕîÛ¸hîR(Üp}$¯/Œ}ÿÚM37̸éJ‚âßÐÚ¯y?!è:á@ºNĆC|·Î¾Áª [î!k¨@kö”R\¡³ž­ ! ºÊ)œ•cJ@u]Î è15$Tr"Nkbý9I¤Z!¼aìá“×^üÄù· hÚŠŒ( 4V¦çêL à°Ù‰H`;GvU Àp–üeL»FXsYfza¥•%Înáœ-„à¹JNDX»ÝaÉžNçÎ+4'3ìuQù‰-¶#^K,³€ô¶œ„à¾Zp†i-B}tj{ô‘'=Nî4]Õ¢šNœÎix$áA$|©Ýµ>‚mu€Ç`òšµ}¼¼¨‡7½1tØÏÙ©ãR{×µ£Õn×mÓa²¤ÝÕQOŽ÷qöÂòOötxhÊîKŽ4ûønèãOâ Moñå‘Àu-bKçJ3 ¿y…ù×^ÊÙš›nФ|yPcwPÎKT<€&®{¬Ùá`€'¢x>Ñ•ó:bB àkÚº¶ÆoÊ8ÛÖûÃnrûÓýX•Ý],Îá†çñ)bÈëùŸ¼åÛߥcÊW-ÝN,ËÏŸ("©Z¨\u]ôDcg/;À^[”¿tm vŽˆG¼°\»alÿ-瘦®æäppŸwm­]·è}Ûœüü™¾$°µ«”ñ=Ì& ÂfnÞzÀ$ª=*šò®¨£ __8–sx‚ø´AR£g޶oÜu ¾œ˜ºÁŸ„†›G„={,—¼ûh8Tán°²—¯š»Ê2u}þìîÛì5{«`ì«c@R¾a³gøîÜz¤á ž$ÖT´(¾H°8KwÂÄ÷õ'lGlìD Œåh?°·y4¾Ÿ/á°1,ˆny¡`-åL¾á}I EA“f‡mŽ?PϾ* oVæèî/êÌUnÎáà`‘rîœ-[fûöÖÚí7¶v 1†ø£¤QR{VYeö º< IDAT¦ÀàJÈÅg`\ 9×hç(Aò`ì À2æ^§–%J9/Nk0€I¢Jºa®öÊ#£®ºpU¤k ©´:™XƒZ‘@R‚5wݺÍXͬ@@"2rBµ1šLEqŠ”²jÕé&ն⨬ªé‡œƒ\­«äœÝÆp"R àù/*(ˆ÷Q¥ é´¼eZq|ZLp^;q2B}uu{8N6àÔá©Gšd; ûö˜eÉÞ¦‹>ÏÓ;Ü×ãDuÓ©6hÿökûƒñ¹æÓ¼¡ƒž¼ôÓNK+@ÛŽ%ßï¼{k[O7V6@Ç)ÓùÓñžyèÚ¾.ÛÖêI<þ;@û·Æ³ÇÛ;/r7žFŒâ:ócî×!£"0޽õ³ƒ^Òp`W- öòíUÎë‘h쫾–í®G>15Û—$ïºçҊƾ:¼¡È¹-Ö²og=/,Ü9ví8RTnÖr`÷IþØÑ|ÒïÕ j»ó—ìGv–;'RÀš6'ïÍK}wùò°úu«öÛ š$|h:ê|¶–éÀ¾“5fJ`Ó¾íΛ;YÓ®ä%Ûûé‰Eœ½‰ã‰|ù$S»{ûQŽc®Z®g)šì¬n¯Ÿˆ„oxÿÈVךi{ùÆ%kï}d‹ùbw~ÝL×dççwb-¶×88sãDÁØ™£›ŠÞÿð¨ïŒ°~O%IJàD=à#mÔèÙc;ß/§¦†ûÞFD¨Àap`óûåÔÔ©7¤-¶½É«jó³g_}+=W¿sõÒµÎ[ ™Ú}»-k+ß»ÿº'ɱµï/ÝÊ»vHç÷YX¦fë‡G}§¾ÚÛà83 öu½wûv ?l¬¨ç}ýÀû+’·ÖØ€µ}±³Ê1dŒˆ`LUåµö^ C…mÒWèËœò_·^w]ÂsMk?²ûçæKØk÷»îÿ¸%{ÕÞý}z—†øWâ[ž®‚"¥¶¼\Sp”ôJÜ„R¹È\¨3³¬µ¬Ð,’KÅT-²•èÍ,c(>÷a#DK½Õ¨S; áýßÿ[wÞÓû^:®ýãû‹¦O.̹0ÈÇóéЄ'~XSòÝNÕÐÆgMò9›Ë ãÅq®ÞùÎNwtiü„ݼ!~c§†ÿâ¨óÕ5ËlÉÉ*¹x~SÞMõ¸åÙÞwƆe¶ä¥J9@ˆÆ.X¿ ˆ†„IžµÙÒЯ§Îñ'–¯™½jm´|skR_°µ—î,ÈU ˜·<,r骽c6<(+5©Ñóæ.]ªš% üÂÉÀˆ^M]cYµ6RîpfŠ Rûé‰E‚ðy3ö%Ç*ðù¢1³,·tÅÒøí›¸"7iNxÕÚHz5ðü&-OC’°`ÃâuÉó•[9àž½|Î]w8~‚¬û¿†Ï+Ì}å߈À©ÔÖØiGmM?lñ†0ÀÕ:ê…sü-UFð‡‚f.xwJý¢Õs׊޻®3I½0s,_¸f¬÷¾ëñúÍç8:#\tëˆä¿DúÍ'bv ßx'º­jçÇÉ#1þÞõÊ× ?ykæš5¶U£'¬æxÃ_˜³fùX À^³uõæÑ~aAWÆØ£;48+”²]CL£×ë6 Z¼~Nrò|ź&Ž8eÙšÙ¾`Û­ZWï|ÛR… `Èëy…où]¼~Ϊä¹Ö9€ç7iñ†9¾à¸q_@ŽYœ½`Ýê¥Ê¿;~`ø²÷fø°–ÉK-ËK·¼Pßsan£‹Kø…ÁÖØYGm ?lñ{áÖ¶{ÝjËò°±·^eÀÔo_·N°>lŒ€Äcˆûª ø«BÉJNDt§ª’ÈLµY§ÈeËÔ™‘P¥DV&FMÈ¥$²H¹/Ñkn(‘«xÙë…«o7«¥d ª|õt:_$‘F%,¯Yö¶F¶#%#V£™.[ɾruf„j»3ʤÝô•éòâøi\¢B!Ièu´!ae\–d[ü":.e2MŠ‚å*™È T¬N«]¦QÐ )‘'¥IîÏG7–Ågø£þÑÙÙÙÑÑÑÞÞÞÞÞÎq˲§N ý=Ž»·5×j·U[/·Ý˜ñLŒ~í¾Þ¿õP´VhoóõÛ2›%B¿]–gÍ·¼SøÞX ë¢ßØvÍ>0åŽï(fkÖ.µÌÞ0õ^,'¿‡û²lŸ]þ–nK…!Æß]F£Q*•ö×ÞKã^+™Vœ¥èßj`)“5‚œŸÿ»¸ƒ¡OjÏ`0÷:rÃ/ãl-úõó R- Ra=ôÆa±åœóþó˘Ó"ôÆZv­Ý “²GcNÛŸÏþÍ[ma©w¾ ¼‰ œvn‘¾—ûÂcˆC~®5T#럓±U¥•çm‹’pm%ë¿âZ¿ƒi-B¿e—w˜¶'&½ýÓÆèØMóÖ¯sç½YÑØWïYr/÷…!ÆÿÚSÚ õô· ‚ÈÌi? 1ŠåI±úĨ Ù”DJ†ìêÄEȨßܳEÈ!„Bݦþ]„ü ë¯EÈø„„B!„B0ÏÓ©‹=G¹?õ¬ûà!X¨¹»»ûúúb= „B!„~^ZÛv¨´íP)ø>ŽÕB!„BèÁ‚‹B!„BaZ‹B!„B¿ ø\ÒþÕÒÒâáái-B!„Bý>>>§NjiiÁªèÇY­VŸŸõ)üÝZ„B!„ryüñÇOŸ>]WW×ÞÞŽµñ  †;Ü AƒD¢Ÿ÷ƒÉ˜Ö"„B!„‹‡‡þ<Ç!#„B!„´!„B!„´!„B!„´!„B!„¦µ!„B!„¦µ!„B!„¦µ!„B!„PðwkÑìôéÓX !„Bý¦<ñĘÖþ:4_ˆ{þÇcWþÛ}ä$&eŸÏío¢íÀ̶MòÝMÜO_¬³³ÓÍÍí7h„B!„Ðo .B~ƒ÷Ç]#÷?|ÜÿÀgƒ¿9÷vúEk!„B!„i-zàC}ÞXD:3'Yh=°ÂòÇgê_z¦þ•WNïü¶:l{â~_ÿÒ“¦W^9½Ûõb—3?%ýþ»¤]­–]gÞø}ýKÏÔ¿ôÜ)»8gžl?Ð÷ûúW~âµùçvÏÿî+ZXh¾´sþ¯<÷Ý+Ï}÷ÚüsG›ØïJ™rÂùâÿ¼yöH3!„B!„i-º¸s !}ŸGâg~Ÿý÷‰´çÙ¬¤ 6øÞž˜Ô2nËŸùÁÔÖ¬øÆúî‰ÝfGÆŸsO™êg~JIº˜ýÄgÿõÛ™îõÅŠ†ÃÍÍŽŒ$†—$ùô?#>šÕþŸu@û)Öæ‘þ3òÓ¯$!/$&53ÐþuÚ¹#ÏŠv5òÓ¯$‰OpŸnÅÈ „B!„î&¼·öW=Ó¼-›2iðpÈ𡻟Ê<ž'‰ÏØ&à0ÓðÄ Wžò¿Øá»g¹Qd‡ØËŸ{öè$ñÑHÊÿèˇI=ì>îù/hcƒB!„´õ¢ãŸS¿û§óOÂcÔÔÇ>P{“pîÒ?ÓíŸ:—3mKt8¾ïäH®gCyP>ÐÐyr}C¸šåE¹òcîËì³;ÌqÀuœäÜÇ×Αî<Òùw‘Ð €mkâ:½ùý+Î×YpÉ4»¿ ž–߸3ítæÃ_z$1åÑÑb¤B!„B˜Ö¢¸ÿq׉O]·Ž¼íp’m9øo»‘À>5% ÜyO¸Á—m  Ýö};ï wàO4Õñö›ÖÏ›ñ„»m×;»žxáQ€s?½1®É™3Ûæ`Hè°7vÂPÒ“O¹¿²å ͨë àõB¬è…X€s—vªÏhRÚ½i ‰±B!„BݵÌ«àW¦ÓÞØÉJðI€æKÿÜÂrl; G ?óÓÿ}ÝÐaÉ?ýúŸšXpã=IˆžœÝž3ÿÜQ¶ƒ;Ó9üQh;ò¿NBg äЇF»ûË6`¾lÚqÈSž‡Ã[@‡e¯-)í"ÜÎ?ý²·àQÒo(6/„B!„Ð݆³µ¿6^/©þtÑé)ûÜùCz-éÑßÇÿ¨ùÓ¹Š+Û4ñßkì$~÷PÜ–GýÈN‹ë#î~ñâ¸Ã§4)¼¿/¾ràìëÏç ½Æ©MxþLæÜ3#‹†jV:“~x%Å}Èóƒþø¼ÛÒÅo$ýø—çÎqÐI }èôx¼Ïûb…奤N‚tã=Ei2qª!„B=@ÚÛÛO:õÓO?µ··cmô @0lØ0Ûÿˆ[Ýïœù>Ž5ˆn}œþÓ÷<;ìÿÔîÎö;;;ÝÜܰžB!„P¿8qâˆÅbooo¬ŸË`0H¥Ò;ÙÇq§NòððH$·ÿ)\%Šn‰½üÑKõoä^fØï›w~í8Î k!„BýýôÓOÆ Ü¶¿!‹úé§Ÿõ)\„Œn‰ðZæ#õêS“²HQñ"õóX+!„Bè×›Ya%ô#ooÓZt¨Qf~†?ÔƒB!„ºá"d„B!„B˜Ö"„B!„B˜Ö"„B!„B˜Ö"„B!„ú­ÀGF¡ß†Öf{sK[Û5ß›òñy«!„B¡ÎÖ¢_Fûãç›—/MÛýѵ²×¦.]½ã¿Í}µŸ¶ ɾz)Ãõ/h\ºÿìwm?s#öSQjÿsùŠqñllÆ‘-g;zûŸ¯Ï7Ýî—ºT¸£æ¥Œš¥õ­Ð—U½ô‡k«¦­ù½k’OuôA Ü Ö•,¦”éÓm² 2EfûkLiLÈd ÷ã—b jÙõEÒZ{y³1MA« lÿUvýÞ»‹dÎSÉbô  û®u]w<3úYHˆªÀúËO<úÌ8…,$$$„V© ŒÎ 3ÆµŠ–…„„È1)¥Ö›´Rç[CœoMÓ[¯}UF+¢RtæîÏ7òâèkk-M‹QÈBBBh•F{ÓÓ•µ4-NÙUØ<#s{…iÔgÆ)iZ¡ W¾"†C|_^ñô1!!2uÅÕµgÐ\_¡7éFÐjËV¨ig‹iÔk”!!ô5Û»Õ…ëÚxÞF£¥ï¤ubZ‹ÐÏäææÖ×Y­Y÷)óŠfͪ×[õÿF~§ÓÿØÚ‡ÅN5ú³Äç>K§|ì1ëɸÿ5k»ÏªøBÓÇM ·Yª‹Í¥6¯·æŽYãw—§µ=}þ9øÝaxFz QмêêêêêêÏ?%xòmŸWWWWWWdÉÈû´ÀÄøg] T⦲É`u±.EJb³»_ÁcÊ MWzœ…Æ;úLs^‚¦L”Tüyuõ¿2e¦õ‰¹u,0é ÙUNiuõçÅ‹Äúe‰%½õZ™Š”„l»2ë`uõçñT‰fei#cHOÌåbò>¯®ÐeÈMéê\3@£.á4“¿Tpu‰ÙºÜ„tQZ]}0Gi/ÈÕ7öÞgO\Y)R^]}0KiËNÈ4²·.L£n™¦Ì7E§/-Õo‹qd'¤X 1†ø~nDm¡¡;e Z?« ²]žJ ÀZt]¬Ï”Q·Ø§`Úç…ëó=+‚ é Îx"LkÑoAkK ðûôôO^| ÕÆ´Ü•,mȰÁ gúÉ/žÛøM Àe‡v·qzVÍ䬚éù'Jím—t:ãô Õ/m¨‰Õ=yMªÙqò‹c“sOüç"@Û¥R]íô 5“³j¢ŠÌ_^hª­}ùoæMEG^Î5÷2'ÜöeqMÔ§¶Mŵ±;29˸¡¾.Û“wœ>u©iiî1­½.Ø7ì829«frÖ‘øOÚº?u29·zzñ©å;NŸ‚Ë[þ÷›äúV¸Ü¬-þfò†ê—7TOÏÿþ?\{9öE]LVõËÕÓw˜]/ö°Ù[ikÞð7ãÚSÎIæÎo¿¬ù°æåŒê˜Ý 'Ûœs¹G’ËOÄl¨Yt¼  õËʪ~yCõËÛòC+€ýT̆c[ö×NÞ`ÌÙ{äå]3Òmÿ)ªžþ©ƒ»Ó˜²uj¥LF+U1)eæîÍY#Ï4M+cÒœÃèl…šV¦äeªã¢”4•RjÔ¥%Ĩ”4•é¼þ±f]JŒâ†ñjì•™qJZ¢ˆËr]*C^‚ЦiM+ãœÞVm ­tÍXuq´2íþñf+heJ–Z)Sh Vm”¬{V´Q%‹Ò6:¿gV‚³"Q·˜#¸Ëœ“2™LF«Ô×–„5ë4Q Úð„¬+át½¨ŒË¬h¼7•jÌœ®Lqõ9³V¥ e!2•Fgfs¹ u^ŠŠ¦ãô @cEVœ’–Éd2™²«i™óTt\^f MÿéÃå Y\iWÁ}‚L‘ö@/¸d4Q™×Ýãµ*4Т;º>"Ö•ìÊL kLQ\7oÃóY‘¡¦Å$€0(‚0& –'e¬ˆ  H1LØöÞ"'PªÓÒb‚)RB«üÁjrk*¨y¼\BPÁªx©½L[Çþñ9+T’kRSa‰CžLP19ÚL…°×®w@tš«°T0-÷åLf€5¦Ð®©¬ c7šÁŸ¢ÄÒñ"Îlf®Ëû”²˜¬,uL”J© ]­ýêTª4F¦Ê*HIˆQ)hELV…¡@¥RЊ¸¼¾oÑâ_}ˆo™ÖJh‘IÛDƨ5Šhßë®Î˼³l¬1/N!£Ê(u¡‰s^S”1Z«Uû¶æÃV7í­)]#ºÚu‰ì)%Ëbc%öJƒÕµ7š¦i­ìÚSW VÑ2™ì†zdŒ™*EœÖÊcÈrvadŠ˜4× cÈŒQÈh…2.­ M©t–¦±"3N©P(h…J£5߯—LkºkPÊ‘'Ž_t@DZƒõ[.×ϳ'á™ÔaŽ ÚÓ'Û:Ží¯ÛÔüèú„Ïæ|ÖfI6\ɰ›Ž×/2xÌŸù»ßì8v°nÃ9ŸÔycö$<ó.ÿ|òî†&ÂZ›.pÏý+V2²ç{äÝ ÏŽ¿s<ûJPîŸGç>%N,Wú $ùkbŸV ØBí_ñ%y cöÌó{Ñf^ZqÉõ©Z&ÌS<}ت׆óð^øçgSý<¾«8ña3}BÈ¿F{6­=xpÔŸXú%Dÿ)ä_‰Ï¾3°iUIc´ô´ÙŸ£ýòAvpö[cþ5ïwÃO^{œpçAÛ×§JM³þIOî”yÕ7Ñó¯…c²ƒZÿñé™ïÚ<=¡ýâWäð‚…ÁqÏ øg¾º—/”œõ˜ }ˆ¸Ãhš 5ëMòœƒz6ƒ6²q®+p¢Fï›T¬×ëK3èÚ• …f ³UZ锜]A,[²,ŤÌÈÓêòbm–¾Àœ«N7J3túÒÒÒœ({v¢k”›³WT$ë+>ßÉäk²Œ,0úuÄèõ¥z]’èF£µ‚X•– ÖirëØÆÒôL«2MLÝׇI€­Ò,Ï©(M“öˆF]b‚–ˆ/Ðëõ¥Û"íYo_7ðï0úô•e‚¤=¥™ÒÚõ+¯^˜Ì23 A¥z½^_œ$1ë*5f&¤›B3tz½^—â«OLÔ5Þã2s&­]•Sª¯øWZ@EzJY#A‚ÝPœYªÏ¡)Ö°^S±·©ó5¹u,A€ÃP&PëôÿûÖ›caeW—FkÈUœ¾Ã¯H)0tÍäXõZ›4RJu5¤#"¦£$6m™Ù•^h+A%½úÀÊ” בÎÚ*+¹?”„VÈÄl£A›o¤B•½EŽ  •´k=B£Ag¦¤2ØëÌœH*p}„ûSv“ Ääu²Œ€ªLQÒ4­ˆ¹éêG¡TAPŒ¹4Ok÷ HIdZFBÕKaH±BJ™JôÀš+Ëì¢PéõYÁÕê©Øœ­®8Sjp¶ö«Ï5ÀYô\dFžvOÎx[þÛ™ûAvOV¨97»Ï§1Ä¿úß%Uù›>qf2F­I¢ ¥WŸAiÈ)Õ—ê·E9rsë¬Ú”\&º ´T—ÛU£íbÕiãy¾ñÛ>ÙðÖ¢Rë\ÀJÌ’ÈñÂ[5D˜Êôt£4«T¯?˜#7e§—5kÌJÌ'Š+*æ(ÍéšîI~ÖªÓ$VÈÒ2Tb¨ËMÑBl±^¯ß³ˆ*KÏ­c­ËÒè¨E{ô¥ÅI’²G¥Ë4e¢¤âÒRýŽX&K}3ĺïV¢SúèŠi-Bwo °­Ž¶K¥?´?ý£Ã=Àóiéà!;ºp©ô‡ö§Ÿ÷à3ÿO£²¥ÞÎO7¿h{ät?ÅÃîÐv©´¾}¤Lôôð5F8älã7΄¤Ãn¾6Ø}à°ÁÏà&¼XÎqõÄé…ŸJ›H•l:ئՙ»Ržñ‘A=5ë4q…buZ÷šy¶.SòâËqÙ¬*M-½åcÈz;ŬLSKIà8È+É ! €e{9ô8;Ç™ôV:­X¯/^lLOȾùô£ ™0}™!Xâ,, £¯Mc®. PÒ¤ãË^‘É^œž ª”IO­]@¤¦2{}®IÓ$)¾r™Äõ7Øí †CÜ÷ymd¹°²€1šüURÊYÕVC™Mé˧IìúZ+c:dEЀ Š E=ò’íÊkC‰Y¢ í5«e­¹yfID°(:ç`±:˜ %²`Ênv€M_É©B…d@̶Òm®Æd7f'fñYj)@¨‹K?P @L‹‹»ÁÀ¨dBR¢ŒuŽD3¦’:Ad¬Œ!)µë+~ñ-ºBeF†\põ+þÑYê>êÆà“º‹ššÚ½A\K,òÏ.Ð[UJ³Ö$V%Iúµµ4êb¦¯¬uð¤+Šs”Âõ  c‚3sˬr©¶Œ£3üIÜ,"BY¤4=½ .VÍé „<ÿ‡C»±"óm^’´-Mqe˜ˆŽ®OG IDAT Pëªãse®&!ŠË)¾I‘5k5qYöȬ<çH A¹’ª+­¹:ºþ(ðUÅÐb€”EÇH´y»: ÷á*ŠÎ©®f­Æ’Ì„˜D(κ>’×ÌyqšZù¶ƒ Á4V¤½‘(¹!þWµëîÖ~M‰®³(Aéš9#0Äâ»uö VÙrYCZ³¤”â õleEt_æ ÎʱÀt_ IJD@©! ’qZëÏéL"Õ á cŸ¼öâ'®ö4mEF”+ Ósu&pØìD$°Œ#»oœ&)€à,ùË, ˜&îZU`.ËL/¬´²ÁÙ-\€³…¼®Zˆ°v»Ã’=Î#œWhN fØë¢ò3[:mG¼–Xfÿèm9 }¶à ÓZ„îš‹ç?ù¡ãé‰<´"áÄÅv×ú¶ÕžC/Žìè~‘»ØÒÐF TQþ#¿üvmÉÙ§gæƒÇ ÒíÙ‰£Öû]s´:ÎÝñ¹˜ôæy ˜¬xõË_÷øî¶Kù»-ߌ ÈéÃƒŽ“åÆ7~·Aݸ‹í]ïaO^pÒófŽöÎ&`€ãb»éyíåªãØþï¶4‰rÿ,î œõÄô¢úÅ÷òôAÛAëCßž%”½ûâÒEgu-b³s¥™„|qÁµeÖpÓM‘”„;ãêepv ƒy,t§·Œƒžˆ¢„âÊ‹,cvBl]nš!`Úxknféø›Üþt"º§ 8†íJz Qt.AÒߥcô+óˆ 1 LE‚båuÑËbRd1Æ‚eqêôà=±bŠ]¡Ë’õßBpŽénN{¥/ÕÕnŒé ™ÖØ‚‚( ¬1E×Ãp|dpVnYØX+R%õ󣳄ò¬âPçøõÀæ´@RÒH©=S[fÒª¬l7%‘±m­* yÖVú”7R̪¬‚˜î^`£AW ¡J©HJBGGJ s 6upÏ[Wðv\¡ © ¯;aH›ÁÆ*„$0æZ» HÒKSøK‡í¶z³¬Y_V'‘+$$âàˆ:+®ÌÄ*…äM c5”™Î/'”*Cɸ£R½µvû­CŒ!¾×c¶Ò(©=«¬Œ2ûGSàºþóÄg`\ 9×hç(Aòèún,cvô¶E‰R΋Ó `’¨’n8‚iÛöh®m;LEº¦JÛ¡“ 5¨)$% Øî—«™ˆADFN¨6F“©(N‘RV­:ݤÚV@‚µ@5ýsЀ«u•œ³ÛN@ <ÿEQ}uiÒi;2xË´âø´˜¾¼‰ÊÓ3Lî8ÊýéQVë¯ú‘Ïè!‹ߣ£ÉÚ”ÿ/ó—üÇrŸ$ÁÓKñ;E_4ž)îÙvÌp¶ÏNðÐS¿óXôEÃw#‡lkÎ/2}˜7ÀÃã)¾÷ï_þÝ—;‘l ²¥)ü<}yîäïDÃ=;šêOnüŽ÷Î+Â;8Ë»C[›£ àáGŸ)ü¢ùÅ?øð õëòïu>Ãÿ:ª·kY[ëÆ{ó¸ ç ¿ãÚ9ðù,%¶ƒ(ÅÃí_î?–Ü4´àµ7û³Ë˺oÊ0qñ¼î<=á!ØkêöRñð¾'@Û¥ÒŠæ‹íäÅŸJ5ð‘iÃNnEÈ÷È6Û{E€ÏmîN=;ÁÃ[gâs/5\ì便I/¸&­õ|~Üc#wŸ˜žåÁ÷á©þ ‘7}÷^Á÷M¹n/žÏ¿@qE?ŒÄï“ØJbÒâkã^ÔR"ÿP•Ü·Òè|5c…U£QÒ Pª¤Õ’kKÛó¶"³VX5‰ š Å2õê`XÑÁ†eªl³ÍÁÑi±$’“’E§;w±Z)d™‰:¡º@)&¤ÐÓÕ+uÒ¬e¥&%NTOV‰EB¹<ˆ(@¬\a^™>f€”È¥õÓ‹„òøHæ E™@ ’ƨ“Æ'.SÇå媻:±òʴ鲕@@(SVKIÔYIéš8E. iLJì]w(îÅîÿò/.^ù7"HE御¬µÚY”E áš´– ]ðv¢B! ‚£ÔIÓLo¯ŒIg^×µ¥B£dlœ>8C&Ôg=^ÿH¹ Ì)ß:"š`Ò?RN¾V(HºñNtke¡Áa1¼öb×  Š.Ö%DedØVfF½¸’àù†Æf¦È(€FCîÊl©?|%?bk ËlDz—C–u] ¤”æÈ‚“>ˆÕhâ&¤Û9Aд1°j£&§›œoKœ ŠÞQœ Kú 6EóbºxþIY±`nÜÒ¤œEé+Õ/ç;A|Ef¤€5jÍ)óBM=&)+>%Ýu,‘Úù©ë®aþ4価ªµÚX”)°6múJs }9cÊOOdÑR!‰!Æ÷YP…’•œ*ˆ„î´$‘™j³óÂ@Šejç÷T¥DV&FMÈ¥$²H¹/Ñë$$r/{½puèmžŒ)Y‚*_=ÎI¤Q ‹Æk–½­‘íHɈÕh¦ËVr„¯\!†ÚîŒ2)E7}eº¼8>F—¨PD:AmHX—%Ù¿ˆŽK™L“¢`¹J&²«Ój—i4@JäIi÷é3ÝΟ?ïÌi»LkÑ]MkÿßÝÝÝÝݜͯµµÕ™Ö†††öù®›ÿ[ôQÁ—gZÚnÕyò•7£Ã%ax~•ΞŒ*jygnÀó°.º æ,UœY]œ)£°.úUU¦ºã;ŠYCZ¢9&ëžüó=Ü—9O¥O(Í£) 1†øî2 R©´¿öÞX÷ZÉ´â,EÿVkL™¬äüüûƒúªö~îv<===oÌi1­Ew)­½:³uÎÓ:3Û»ÚÞ|ž™ùî331¿-m—t!Ðæ´ÝVÿŬM×BDŽsÚþÌxJ³sm´óIÜwÄÎÇŒ¿G÷ôÜË}aˆ1Ä¿Œ!?תé§F«6&J+ÏÛ%á ÚJÖ…àÁ©¹+i-B÷’3§uÂ1Ô·¸ê¢´Í ¶&ŒG`u t˔֠žwˆŸ”‹?ìÓoA¨ËŒz£ÐŸ•ÑC b™òže!÷r_b ñ¯=¥­POÛ ˆÌì·!F±<)VŸ5!€òHÉx–ï¸]¾|ÛêΜ¶½½½½½ã8–eïÒ"d„B!„nSÿ.BÆÚûeÛñĉ2Ô¿™-VB!„BèN¸c „B!„´!„B!„´!„B!„´!„B!„~Žã°úQKK‹‡‡¦µ!„B!ôK<òÈ#§NjiiÁªèÇY­ÖGyäg}Ê+!„B!„œ$‰Ùl®««kooÇÚø ÃnA  6 ÓZ„B!„ú%<<ñï=ûªŽž<ßàI‰B^™6éIŸ^ßÞbùªÖsÔsC½ú¸_mH?²øÝq|ŒB!„BÓZtÛÙdíß7æ×=:áµ…oŽìÝvöxåž[76ÍYüú“Þ=~ ÕrðÓÿôyZë3ê/IAž>„B!„¦µè¶µž9¸çø}ü›“|½¼?ù‡è~õY š¾.Ú±çkk €'5B=nðÙ}ÙùG™¶ºuiu1‹_[•`€ò zí#¼ZÏÎÏßw¢Å›0n„e_4åÚËñ¢7`Ù³çûáI^èë͵ÚÕuÍ#FáÔ.B!„BèîÁGF=Z[šÚ`À`ïž×{z3YóZxVìÉX™Ö«?l©ªƒ€Ic{€OÀ„ /K•¥µÙRw~ШP_/¯Á!ò€Îô¹¶öü qã|½ÀkpÈ8ñ庯϶xŠÇ^s7mÏ›oÊ›©;\uüLs«OêÍ™˜Ó"„B!„î.œ­}xyö„o¬-­=e¶Í'~²¿ÖÊ´'´kƒkþµí2ÓvùäÇÉõôhk» b¦¥iÏA®ð{Q|oÏó­-ç/ƒ÷ ®UÞ¼=ÿ?{÷ÖÄ™.ÿ®ÀŒ´{H¨5©5Y]‚[ UÞBºÅáLZ$n%~U°èk…ºB]«F"GÁUðGÁ*Xð²BñKÔ5ˆKô]"ݺkÔn -qµ ÚÄ*‰-‹3€¾$ (Tm±½?×^×Ò8?Ÿç™™ç~~Ìt2×¼}©ÛƼYŸ‰±) >®®=¼ëð•®g_UÏŽž€-B!„BÃÚÇ5!Øï@Ã_[£çÜš©ÚùÕÇ='ض¯¤Á'véò_ó} ã‹YûnËbŠ9ò¥·3Þ÷ ‰Û| ëj—gSÎŽ.ðñõ ç®vøº#׎.Ÿq#®TrÜ,ð'þÇ›ÿ Ýúñ¾]Å3'ø<¨t9þ<„B!„+ãÇǰv8òzrχ»¼çÌžôœo×åsµÚ}µW'¥øB's½ËG$¢|:¬ µ¶®._O´ÚÕÁ\% ›ûŽq&üšïÓyùªm/Íùí„qã©«M'¿šý\>y¬å:Œ*8ø™cl û­Ø§ó«†Z4c´´tHn–rç>kx›“ø0jô3|_èè|é2vìX,!„B=æž`YSaxh?÷ñáêÚæV¦ ÀÛoܤÈ3ž_hwí;éô¡(¿ ‘3›Köµø½¾tApÓž­G[½ÇÏ^¾(øê_**jÏ1àÜ6{Nøs>ÐqîOîk´uúú‰^ Ý\m‹ÎHäÛéý¾[Ûa½s³çª÷U4œcÜßÖ4#A<è ä›7oÞ¸q£»»»»»›ã8–e/\¸~ïIÂq– „B!„+A`X‹îÐùÕŸr l±‹‚Òñ`X‹B!„úña-¾ ùqÕ~æÃÿÎúcS;t´6~Ú1:X„˜E!„B ?8·öq5*(vFKIEΪ}Þ£ƒbç…ñ1QB!„BÃBF BF!„BÝ/„ŒB!„Bè‘‚a-B!„B¡a çÖ"„B!„Gww·ÝnoooïîîÆÔx(üüü„B¡——†µ!„B!tß.^¼8bĈÀÀ@__üPÈ}32™ìÇl㸠.Øíö±cÇÞûZ8!„B!„<ÚÛÛŸþyŒi‚ D"Q{{û}­…a-B!„Bõ‹¬0"__ßûŽa-B!„B¡a ÃZ„B!„BÖ"„B!„BÖ"„B!„BÖ"„B!„z\àwkÑ㡳ÝÉ\ïêêWøGRüQøæv„B!„†{X[WW‡©€íˆörCÉ®ÃV |ooÅ¡‚æ$„;k <ú×£}~ì~ºÚ³ ¿lèy¹Ï“ä‹ãýߊðŸp_mGN{By{òÛròw¥5±ü*7þÅ1£x½?^´Æø†þeñiuq?(jIÖòiÂÁrǽèÇ­. øAÑïe½!ìó+Çã‹#e-Ÿ.v¯ï8Uš±rçiñÆš[……µÛž±½ºÙÉñÆE-ÊZ=ó®·+¦.C½²nrAÍí…†µÙ±ýøYÁ÷òü¬5s¤Ô=¬…YŒYüóyâ#ÓÍS߯ɓ÷¦žQ£LÖKrk‹é»Ý`meêx£¦&›Õ(ódeÚxQ›AóVºž™ú¾îÖöî,wÆ´Èä½.4&%{•JroIÈÓ”Ù²2m¼èÑ k#""ð„Š›7oÞ¸q£»»»»»›ã8–e/\¸ð¢ÚÖêcÌ´åÿοóŸ¾úøÃ­‡ÏwÁÉ«”&qâôÜ>!ûmÐz±@÷ׯ¥”_ß7öW?ñ¨¯ÜÅËÿdGõÄÆÝÿ<ÓÎyÁS÷zWà¥ÎŸÈ‘ß7CÁïW¿,žö7\N׉O.þO©+).`&ß½ÊÈ•ÉSIèƒi-]šq<8«|K„ÐujÛ”•{&k/<½yÙNׂ"Ý)a?¶!aíÊ àÛf€i\¿l§s~AÍü`ÂzdeBÆúÉÚÓˆS›Wîáí®.æšJSRVì þèwbpYº°”Š˜ÌovömYÙ³tóÙé[t»ƒÁ\º2cO]Ħ ¾?âÙ¼©q ¯²æK7[gÕ”H ëÁe —mÒö&Õ kacÿÜÊÑTndäž –1jÜ×Y‘òL]A°V]=$TR%wÛ§ vïaM ÀÚêó’ÓS‹Btw]éqskÑ£®«£üFSÅ´» Ÿï¿Iaâ!ìõìXÿTµ$ꚣÀt€½v°ê‹ø]¦Y»LñeÖcÎîc;rô‹øÿ|}‡iñѶ ýÆH߸pò쬽Öúk]ÇŽ¶Äï0ÍÚeJÐ^›µãŸ3vü3¾¬µ¾ýŽ­]wå—~±åâ €_›[—~øÏ;þ9c×gY'¯qwÜ@xüQÓ_Xù»·öçíÿê3áþè:ÏÞx$Jk®XKӊع ×·r·jüÛÇ* …"vá¦cvØÆŠØõ¥ÛV,NˆU(Ök:²ié¹± E¶S k=²~aŒB£ˆ™»¢¢‰ñ<­ÀùÉöű Z.Yü{Q`N•.«P(bŠØÅ›êì`?¸P»ÍÌØ,VÄnêÙÂÏ4é—*b×°"–ŽÉ8e?˜@'´{ªG脃÷y~°Ô1 Ý'÷pØmZCÓ4M+殨è$¬õHFBŒÂáK?¸•žcokt<£r4–6 ç,X0? ¹´®gŽ# ôÜmd,NH˜£ˆ]ZafÀZK/üàƒ æÆÆ(æf±ö=ëþ…êeuŒ{›,ŽUдœŽ]Zê>¦©bÅ\MÓ4³pS€©[±pûÙKÕËâWX›¶Ç©×Ÿb.ìySLÌŠŠÒŒÅ scйÇìó³‡A4–žfzïû­b¢7?ÝiOÓt¬ûb·WÌ¥çVô$Û´>F±¢±ï…Í ˜¿zã’! ŠŽà»Î^â„QË7º»ÁHaDtáhv vñð§/ÉÊšL∙`?ëölE#D-Š“Tð‹&;4³DÀ¢%«gŠûÖÐÙ³û«]QËgS”tþŽîð€£nó6kôò¨ÞFe¶i½B¾°ŽÖzè¸ëåEoH)R½(êö7³ƒ¬Õ/îû¾² À[HÏý býÒ…sc1 ?h¯³ìm÷ûÃÛ!•ï¼ðßc¯åÿÉ~¡ëÆçµç Á’_<úö/^¼ôU֙뽫:Í–g¼’ÕÏËŸºñyÝùü6Þ¿RùÎ i~ßf¹â ¼¡ój;*=üÖØ;Æ9û„OyáÌ7_»7u®íü(üIO´|îkã÷‡ä/–ÎóþfK];7ØÖØoóŽ}ëù«Ã‹_,‹á}QáHû€çé# y.}s±ëö4ÿÜä¸@QQ~Ä}ƺ?cûÙ¨‚ý6FXë.qž'ðÊŒ:ñ{åz½^·1¢yÃÒýV €»ÔhX³£ä@ɶzíú³Ñwt`÷|æÐÎ:€uÏŠÍM“7jõUUºsœ;Wnob8gccÀ{åzCmñ×3v6±ÀÔ­_Y Jôú*½ö=a]FÆA;gf-Vgì1³Žc›¶Û£³–S?ëÄ#¸ÔhÚa¨Êš2pC¶ãÈÊe‡ˆE%z½^·{¶cç2O’üô˜ºMŽóßÓ ÝÆ)ÍÛ7ê›±§·m?´Q§×ëõåÕ`›¶/Ý|öåZ½^¯]#®[¹òÈlíu´Í #æO¶ï?nïMY®õ¸ë%%i fÚ·g²\sµ  ä£å§œÚ¼þ¸cÀ4ÏXy\¼Fk0Ô—/àö¬Ü|ŠaÍ{2¶[§ï®1 å  zýöS,‘•õ*½¥|Çœ1·®‡Ë0ÎOêø‹v”|t |¹ n{©™}|:ʨ9‚Óž Ç^wÈ>eÎdÏÔöÔöŒý° Ä`0ÔÍtü1c™FÌ_:xÜê /5BØœÉ}/lAØôiž+½ôI£+ *€J1-LÀ:N*mæ…E‹éM§¤Ó#<|ŽÓG¬¼)acÀyÖÊ ' <«Pžóì%€’J…ämr67¹¼O6/ŒU(1 ×ßpÜñlÚf™5_zëš'ų³6. ¢€»tÖÅR½ IDATzNNpV«kµú'ë÷—m¸Ö:nöÆÝi "ì\¶l)ùH»%̺gçi³³xˆQ2µÔ| ¾ÍÕš%êpÊ}^–ò´<[La¡Æ°7ÞU”^Ô`Óf1 e55ºÂx0ÚûtˆÔïgOå‰SöØú»H¢Aë¾u2Æ*‹$nªÿÝŸ°LCNŽI–_c0Ô*Ì9ú6`Mùé%dje}}m¡Ê’£©²õ<Çl:Mz½<;W-‚–¢L-$U †ÃË(}NQ lK¾FG-;l¨©\%ÑWÙ9‚h«Y­Ñ WUÖÔö%1ùiE–œdmºÄÐÛѽ<†µÝCP{õäþ£ç¯^9Y²­¢é²õ/» Ž>è˜ÖÝôú¤°×º:Ž[»'†ú?ï ^¿š$x–aN2Ç­Ýeüç½H^rü ['t¯uÕÚºâ/Ýÿç·’i£F@WÇñóÝ^ý+¼^œÄöŠÓtÍ}'ãE=7ð”`¿ñ£_l¿rÂy€k8s}¼ìi?/Ï%?!bâÿýìoùâxo®sÁ [#ýÖ¿ýÂÊ >Àóôx¯Îó×îw%žô!º»]žyÅ×7~úúûŸ¾þþgËê;Ã_=á‘x3£©®uLÔô`/ÏŽp·2Ûœ3g~˜Hiô›—Ž4ÚÝ©9%:ˆ¾XHð§Dî¿Áát½±®uÌœ™Áâ¨Ù®ÆãîÊ1y~”˜ ¥QoŒsžjv²g|aóÝjòì(ÞÙê&@8sÍAuÆÊ•ÛíуA¡DÀ̈Ág›1§5ó¢D€FÍŸÌÕU[|…û8%R~ ½â TÄF6+BTPDá8Û·g„'$\§U7Z¬ ì÷X3MÀZ«ëœoΦ€š2昳‡N y\k=XÁ„-x™ &/ˆ`*út"ó£Þr¥—Ãø­uf÷¾ÇÍŒ’’@EM!Î?˘æü¨9S(NߢӮžB‘Òß—×ìž/&@1†³Ú]GÙ•aˆ 9î|æ‰Å<—Ýù8?w(qÄl±§oÝzð 6;¨'„!§dét[¦ Ýù6…ï²:„o]:xÄÚòDÌðÊf­G2W—dõDeÍÛb呪”ÜYK¦Üµ‹9õÁ²õÖè¬%SHà8²7¾ p,7Èõâำuöˆ¬r½¾|MPÓæ¥;o·pÔmÚvifÖl1Õ?î ‹˜"àHޭݰ.×`kõw—²MŒ‰ˆ’¤ H@Œ‹ {þ§Ã…YŒY<ôqm\°¥¼¡ €1–›¥j™g’†Í¨·Kâܳ^EŠX‰ÃÐdcÌ'ìÂZBPÁ1´pÀ¸ž”¨iO\Ë«,uø Q-k«/*¶HbBü¢ k+ÓBHR"¡Ø L°:Ü€ LÜ[³WížQë0¤)ùi2 € L«¬y_åþ!´ˆ±:8pL Zî@JTI2€1Wµâ’äøÓq2‡¡ÞöCSÌ_•›«è7@šŸ24Õ|2z,øø…΋mÎ?Ðr9Y²ù¤'ö [ðö$Æê„‰üµß«W»}ž$ž‚î«,ðž|¢ç¦åÃîËl×Uö Ù÷Gè¾^øçëĨgŸt·:u_eo~qìóYÇ< ^âköø>¼Á®`’÷†øfÞ™Ž7B]Õßñ’Çzƒ¹ç©uåêÞº¶“í7ØÎΞY¯m­óŸ'/î;ßáìn^솨Á‚†ãož'rî[{ÃuÅ™ÿ'ó VºuòÈá^„8DÏCˆ$…<â,ËØ]к3A±§g!Žà‚ˆ~sÏßîÿc« (¯·’ÁÎé~ó|Ï¢<.;ãâ;9"¨gQ’ò¸F— €aÔ‚)ÛSŽ —g WLñzOx .'Ã9÷'©ªÝ§Ïq.âåŸ "pn­ãô¡í{Ž˜W+ÇE÷½°‚—ìÞ¸OŶ…›[¹q¯.xï½ùA.‡‹kÞ Vlî) ¾ä áq²M¥Õ­—œI‘սɹ¿yÑš)$<¡§ERB4º8‚â÷¤7GpvŽ0Í{‹4îÙ¶¬õøÎmûOÙYàœ­Ü -ƒ–anM—ûÓæGÆmhvð&¯.ß1]0\oüˆùAÛ÷·GM>xœ‹Ø@\ê ;šª·ï<Ôä`€»ä„É‚°9“7oª0/XÂUŸ"¢6 pi;·-˨/ß5íVæÒߨ_ÄX?Ù“±,+(ÿýà-]¬õ`ÆâÎ9[v»[b^¿ ‡sô n¯ÁŒ›9?BHaóç‹•žv‚t Bâ8¶i›sÎÖÙƒu+¬ëÖn]<ÞÝÖ‚ÁÊv¿å AÏ —è«ÌbÌâô¡BÔÁö¢¶pÖ"“Q\¹û„m ! zŽÓ_@p6Ž(Õs¿&`ÀÐ T+ˆd­™•r:³P½Öÿ޶‡ó^9àþ[»67^mõå9E:3¸ì"XÆÁ‘‚[wx€à¬%«­ ˆyZX‹>/§¼ÁÆç°rîBðÜzà|WOL»T-jÊ/8?cÒD¾ÏÙçµoYoNŒ|Š~$œÿ®Û3>‚ít×hÒ›#oöþÈ]»þu7ñ<€ÏÿgüãÙ-n›¨ö烗ùDHdЦ ^ýª¤mß¿o¯‰“(8Òv»Ã%;‘„/Ü?wuü±ê«N˜°CÍãÁ û"É:x¤a¶f™F¤ÅOœ:j°ß®ù°u°ˆïę’ñ·ßNFðžáÏÿuÊçß9'äóDðHàz† ±ŒÕÉyâ"`QyIÿz7{ê{7ERbœr¸(÷#Ê DÀ Àõ¶5»\ ð„OÀ'zb^w0A<`Í{6 xãUûžmÇîöJŸ[RôV±8—»žÇ§ˆ1o–øøaS·~e)±º¤dš¦q©jým¹' ›¿&l>€£©"#eå¦ í!xyvkØΜ.­ã-*¯šß“:öŠ„„ÒO˜)À¹ì BÒÓÊBñxî¦&gOs98‚Ï»³ÎÇãS„ËêY»ÕÅs¥K7œŠ*Ú½5˜°–ÆÆ¿¿2;q2z¬"Û·—ÎïýàÇÜpÚù.œô{&UJ€·o”ØëÜIç….èþüŒãk¿§CýÜ?¶ë`]<`Îr¿?ÀËk"äÔiã¯Úþçôuðöïõ…ÑýB©Îs³Ž9屢>3•ü¶ÐtC>éÉ>„î¯Ù'üÆ<®ýÛýç;¡»»s°h•íêô&Æ>9 ûsÓå/ºo^ãnÞ¾L»ëÈÑ\y*9âé;+µœóÛCç»Ü»îÁ/¹tü` ŽºÒF÷óH6]l-õ¼ò‰9Uº"ã õîÛ†Mw©Â½-ÖZ½ÿ,/"ÊÝví:]QçÖzüP+?l2Ÿ ˜þ24–ÖÙ§÷×¹‚¢ƒ(`Í;3 e½·fMÄÙÍë9†QJ>8›ÝïÖ2¯nå¨)o9«KÝo[bÍ3V<¬Y™œÃÉñ„b> À4*mæ8¦OG§µbqB†;¹â!qTÿôϘiGݶ›†8?u¥Ÿð§Gô©÷ #¢…§{^å¬;ÔÌ{¶ºÎ9.Âó Öƒî×n1§æ"衦¼à:þÇO`?¶>aá¶fãt‚!ÀÚëJ\êém!c\ÜÝÊðÖ=IJà6ÜߺLMžæÚ¿½Žš%î{ktp„»”±Ö㥧\œË]̨ Ùp|çö:jæÌ;Âû‘ŒõMQóûN¥çÎîß°r“{ $ÓT}ÈÊ à°öº#Çn{“Û´}å^ÿN@ Ý{¬¶²Ì©=4‹gN¬q‰ šÕ=Ë––ZùaÂ÷EEì0Ôôn%oŽá½ºE·{¾€17Ö59HéÌ(þ';¹_5vhg/jv€`°µú l;šŽyæÜýrj:¿ð€åÇHÿŸˆñÉÇZW|x™ë¾ £x³#…|€{˜@â;=˜8tæéègFổõ~òÍWxkŽ}>«ÎûY¿·"ýÏÿéÒ{GGnš0P³­Tø†©uiá·~£¼_”=—:þËUÿÚ?{ü³W?ÿ×o?÷wkùÿ3ÿÙÐ[Ÿð¹¾±ðÓàù׉ÒçþñÔ£ðÝZñü¬EÍ+S"ñƄ͌÷I³û׫íj… xo¼—%¸ëÝ^<{ëj{ÆJ•‚ „aK¶, &€1Á§3æî´^rBЛY ¤$@Äšó×oJPlvï`cÖtÛ´meµ`IÉt€`Ñšˆ¸•ëLÙ:\FjR“- Z¹R=W(DEÇNÏÚh]¿)NárGŠK²Ä'žD-š]‘¤:Îç §Ì_²üÕ•kW¦”îXâɹèQ›âè @À ˆ^“5…$aÉÖå›3«öpÀŸ<Í‚!Í ûñÒæ1ÓßëWóFD‹w–·‡ñÆ;´lîzë%'oò’³ÅV" ö$Ím¶_âøËÿ%¸£F(˜¾1ëlÆ&5½’ƒ1“goÜ& „‹^^ºA­ØÎÌ\ôÞ›g—m_œ!.YÆ[¹LûÆÖÿþÞ2lÆÎ5Þ€ÙQüãͳ£úŽã¤^^² `ÙJU Œ xÎ’÷Þ8»lÃÂMÂ’÷‚É€ÙQDâ~Áò;g¢Û÷ŸvµžNŒücÏ/cÞ,?ð»97Ú×oKˆÜÀðÆ½¼`ãš0 Àqjφ“"‚oµ °Íû_r¹Öªäk{š˜&oÑí ^¾eAFÆbåf'ÇzcõÆùb°LPo>ë^l¥R0æÍâòßIÖoY°>caäfð¢—o] ×û kÝŸ±Òº¦fw%^ð‡åÎŒ•ªN޵dë’{M1@Ùfí‡6o°®‰»ûÇb™³¥›7 ¶DL˜Å˜ÅCU¤êp²S“½¡ª$./Í¢IV±@ŠäiyqPgÆ5¤ÇGQyœBL Jj^Áÿ ÷ÕRòTuIÚ,ºD(‘ŧ.›ªYý®F¾/37I£™%_ÇbEZ^Œšz#ÊU™ºYër•)‰²ät¥R ”Щi ÆÔuÉù’½)ËèäÌ4) Q¨åB€¿rCvÓj’fH‰bU¶äçÙâø˲øØAŀ߭ ¿÷-pw/‹µ7i÷Tœ´]ïº3â œ–0ï?ľ˜¡aÈql¡zOTùGsúÕõ¬¥sê~§ÛAa ?öƒ Ž¿ñ£g³§6­´Îß:SøòO¸¯G¢lc‹,6™L2™ìaí½­&y^Ule¾òá&kÊœ¡ÞÿwqF㤞Ñh ´äŽ/co-zô V/ Vc: „úyG<Çvî±G¸ßÄý£8¹ ùŸæ Ê}ac?cI‘-\#81­M›¯Uï—pFm+];Œ^p€a-B!„ÐÃÅš·%$íw-Ú²qÊ¯Í Ã¦ÿdQÈO¹/ÌbÌâG=¤­O›õ®Q—W({H=µ"Ū$Cz|d%ÉÌ•£±8=4?Ù d„B!„îÑÄ<Ü=¬AÈø&d„B!„BƵ!„B!„†±ûš[ÛùŇš=-½ÿ9Òo\`Xdô«Áü!ù@JGS~FIë33V½÷*3!„B!„нø!½µÏ„F¾þzäo^Aë§GK6ïúør'&$B!„B¡‡á¼ Ù[:í?&ø@´â/›¶Vk›_Z4itœûK…¶¶åÊõ.o¿ èys^]Öæ42ãçe-šä Ðy®8cW³÷Kïd¼9îê™ÕgZ¯v5.,vž:ø¶ÚŽs©8\Ûl»àí7>4Z=cÒhŸNkEVÁIŒœÔy²ñ<#Eas¨ƒG@{ÓŸö>yþêu)ziƼ9¿íÓùŇ{Z¨ß¼>®ùè§Ô¼¬ÔIøuÒ!ÕÙÑéãëó}? „B!4üpwçK‰ÐO¦££ÃËËë¾VùQsk}F‡OÐÕzæJ'8>Üu´™™›’’ ͇?Ôžë…Q­'Ïu@gkù.üê8°Þµïd«ï« RÞ™!²5–”|ìì·a÷¶œ¢Èy bƒà|ã¾]¬ÞÞ>×[Ît…/XþÎëã®Û÷íoê¸\½«ä¯çaÒ¼””Ù̧û?¬þªÀÇ®6þ• œ9?e4ÄAíWÕù›‹Ïôd\çå†svÃŽ{„B!4¬5êÂ… ˜«MÁf³5ê¾Öú‘Áž7E¸Îttµ;[ü"£- ~Ñã÷5l…ya/Q=wÒÚ<Áv²å:Pa¿íÀ¼_œ(öðzhmKcC³óÕÐ[Qí™[žQ̉žÄ{77ïiiú¸5vÎHýú¤çFÁèiÇö´XÏØ:G·œ¹ š6m’xP¿©ýôè§—£g¸76nF¢ûi‡žÏs¿}{Zñ®]Åðμ ®“%»jGƦDÆÎZ„B!4œ;öâÅ‹---ÝÝݘ?€Ñhü‘[ðóó ïïƒÉ?2¬í¸zõ:ÀH?_ïë­põèæåG{þñòUÆgbx¨ß_kÏlí Î´\¿Ð°Ñ>pÎyZöd,ïY´Ózµ³7¬íd®0@=ãþþ¯·¯Ÿ/sµ£ FzBiw”êKy\g:;;˜°íÿŸåû{¶a»Ú¾Ôh?ì§}@ø¿N|ŠwlÕwv‰æ¤¼< Ó!„B o^^^b±ÓaxùQ!_çWÕ·xOùŒtú\õûÍ;o‡SžM{S| ó«=zþäßü"ßóN_þH8ß5~vŠZìãYt$å=ïXö¡žñ¸Î\a`" ‹¹ÌŒô£<ÇÚuõrLð.Æy`$åëãûŒ/ÀuÑŒ”yžnYï‘~¾Ð:$‘;º[dëSÝèý›hŒiB!„BŘ[Ûek8V]]­ýãÎÍÛj¯€÷øØ}aÔ„°qW?m8çìpžÓïû°øpKÀèIaÏsòp#ϼ6|Da“(èjmüô2ÃØNj?üpßÇWºúÆJ“^p¥º¢úÌMkŸð õŒoµ;ðqSÓ?>à=!t´ÏèàIÏØNÚ˜ŽËM‡‹?ÜWÝŠcá²ÈvR4Æ´!„B¡‡æ‡te^ù´¶F>;Íýc~xÂ;W÷W||`ϧԸÐ×£Cùž°'ü™£‡¯ˆ^ rÿâ#žñÎ쮊£µ%»jÁÛ/ðÕØÈ ¾Ð'å¿úö;ÚÚÚ}{¼ýÆÿ&aNôs>à~‘÷øP¿¦%ç9î7ób'úøN{;¡³âpã¾]àí7>tFtà(€+˜½!„B!ô¨{‚eÙas°_is¶5v½“•8_M4üݼyóÆÝÝÝÝÝÝDZ,{áÂ…ððð{ßÇq˜Œ!„B=VîüüÒL„B!„BƵ!„B!„†±a5=Zp2B!„Bè~Ý9¿~ƒ†±‹/b" „B!ôX?~<†µèQ.Ð!„B¡Ç έE!„B!„a-B!„B!„a-B!„B!„a-B!„B! kB!„B! kB!„B! kB!„B¡àwkB!„BÈ£»»ûÂ… ß|óMww7¦ÆC!žþy/// kB!„Bè¾Y, ôõõÅÔ¸_F£Q&“ý˜-pwáÂ… .H$’{_ !#„B!„Ç7ß|óüóÏcLû°!‰¾ùæ›ûZË»®®Ó!„B!„z#+L„‡È××÷~G€{GDD`¡‡âæÍ›7nÜèîîîîîæ8ŽeÙ .`² „B!„î BF!„B!„a-B!„B!„a-B!„B!„a-B!„B¡Ç~·=:Ûí]]ý ¿/5jÔ“>˜6!„B kØ[‹ýˆöë¿í\³2{kÁ®þ 6e­Ü°ïŸíCµŸ®o3¶þã?s=ÿ{íÓÊc—ÿÕuŸq\ˆßÚô×ë?ü(¸ËçgåþcÖ±v®÷§ëŽ”­&Ý·ƒ÷ß+OÎ:æâ°¤Ü[™ZžXà é6ÙúT¹2¯…ÆÉÂÔ$†ÞIžZÿs<)Ö˜&¿ýPãµ¶A6e+é4ãÃ=¶%[Jk~Øaôž‚¥X-O4Ü_áµ´õm?—tÜ¥ë¶ë™1¤ÊCCÕe¶~ã1ä%+å¡¡¡¡´:­ÌäÎDÆT–¦¦å¡¡¡rebfí{rǽh¨{Ñlƒ­ÿ¯rZŸ©³ô®ßf,N¦CCûÖV“¨”‡††Òjö{oW¶šìdUÏÁ›˜;ËcßkO™ibÚ yÉ*šV*iå­SÄ,Æ,þY>ñ ‰¡¡ò´ú¾©gÔÜž ßS ÓŒ,[ŸF»KL›A£ ¥ûmïn®þùy…–þ1¥sÀÞZôÈGµÝQæuÍÆWüSEö>Ã׿šñìPõÙ>ñkõ¤¿ðèºtÁYþ—Öäÿ÷»üÿ’¼ð_g^^\Ó—»_ Y<ú^Ú­¼ÿ=æ¥boü:úÑ(eñI¥'DÔP…5Ù!äÏú€‰©…µy2rx¤.c,9Á‹‰áŠMýàíH⊫©ûZßf(*6¯Š‘û“!i•:Ž"±¬ßCá"xŒ¾Üœ’Ùs´Õ—›~Ôg0-Å©}HvåßhcÌ{+9½Hv8MdÌI-p%í­‰$l5ëâW§‡„”©E– úÌÔGbambaÑ¥ÇkÖÉ*IcNz—Rü7•„3''§…hS%ЦK}«˜¢e“£oËJQjŽY•_S-Åéš"ÃÔ<¥ÿ uöôu ÒìÊ¿Ñ"ÎTœüVjž¬&³ïý€s°Â¸}•i}KS›nµF/Î×Ê(°é’g¥æÖdÿl¯PÌâG>‹ï¡ MåFFî¹#3F­‘ƒû*¤í¸îÒ2ÍÊ?5#ÿÔ¬’s5Ž]ßét¦Y[OþçÖSIºË­ýºvo´~òÙŒ¢s½Ðõ]®iÖÖS3òOÅWXþ~ ÀÙÔôÚÿZvTœ~­Èr[Ÿ0A>½ø¥ºª¯Zïè+v]h]öÁÉ×òOÇWX´GOϨ¼ÊA×ß«>M¬uq]®­œÊ0¶fìkJ,:5ãÏÖ|{®û‡N-kbºÚ·~prٙǶ£†m)KSÉå´J˜©·p·jüyÉ*š¦iZ•˜ínFgëÓhUfq^Zr¼Š¦ã3kLºìÔDµŠ¦ãóŒ kÑe&*ïh¯&ÀÑ—¬¢å¡¡Êä|£§¡ÞXœª¦iZIÓªdwë»M›H«<½6]2­Êþy·x³õ©´*3?M%WjŒ6m¼¼·W´M/×¶¹Ï3?ÕÊø»ô<`îÎ ¹\.§Õieý„µè4ñJÚá©ù·²Óó£*9¯¾íU[}I½0>))1ÐTlhƒ[é§ÎË×$ÇÇ«•´*µ¬…K±Jž˜ŸŸ–¯V)iµ¦k¾¥?YEËå¡rUj±û\<ýBr¹\®LÌ6´0†´·¶˜íU©³’Ë,¦¼YªL#;pf[²•Ê´²bMr¼ZEÓjM c9M4x’l'Ê-´„èÍOwÚËår•ûb·•©å·zRXS¦ò¶~ž4qmn-"üƒchc¶s"Ūܵñ)¢cB‡É1ØÅ#P¥eg'†P¤„VKÁfvk.«EŠBBP!ê™C¯maHiJaÙZµ¤o 5—W¹«âB(*0±P;XÀD`B¶ç`©Z!æÌ€5eÒî®,Žqq„ð¶Öa²€”¦D²©BÎban‹û¾¯l05‰ru~Yfj¢ZI+óëešäxµ’V&ýM³ø‘Ï⻆µZhÖöd"cÒš„´ø¶§…ûé>6ÖTœ¬”ÓJU|Z¹™s?3U‰Z›Mû®æ„Ë^žû»%Óz:¶Út‰´ç9PH,’'%I F›go4MÓrZÕ³7¦Ås;¿#SžZ™¬µ±ÀóÝU˜ž;>0ƼD¥œVª’³Ë²U*÷Ñ´Õç%«”J%­Tk´–ŸkMÃZ„˜‘”ê—^羸悟՞Ýý­ÿ–ES§¾˜õ¼k«öbk×ÏŽµìhfKjèÿ·è—/Ù­Æ[¶ó‹³ËŒ^‹çüâ7OÝø¬¶eë•QY‹¦N}ñ=þÕŒC—œ„7t:¿åþ=øÏI’_ÞÑü¼üꮯ×Ú?dïjß¡»ìzù…é“‹^QóE×ÿ@@÷ßÿ5òwó‚‹“B–’ßî®ÿŽùôbÕ¿]ªµüõZ׿꾬Œ[3éqí¨±”k¶˜…µ6—¶œ°sž'pºÆ ^Ui0jré¦u©å ³7ØèÌÂ2]Y[µ:Ó¬Ê-ÖêŠm¾¡ ÀR”–c’åê 555…ñŽ‚ô<÷3ŒsÔ7®ª4Ôÿm_S¢É7±À2ÓŠ!©Ì`¨1èV Oh4ZˆÔÙ©"¦¨…m«Éɳ©²ÓB¨Ÿuâ‘Ø,ŠÂúšlÙÀ ÙmºôT-‘Rf0jöÆ9òßÍ3=¤Ç&cÈY§¬:\___“'kÚ²®ïÀdÖ˜—g έ1 †ÊU‹®¾ XS^jŽ9§¨…¶%_££–6ÔT®’è«ìA´Õ¬Öè…«*kj û’˜ü´"Ëo¢ÕÝ9[‰Î¢'>†µ=@¼§¼€ítu}Wóe÷ /?3μ_Óþí?¾ý®æËîþÝœ7ÀÈQ‹ÿkRÌ×½ÖUËùeǺãf(Ÿ]ßÕœíþ¥\øÂHðž4ÅÌå¶O¯¹oî”òùA†O{óbü]u_ö›Rûí·Ÿ~Gª'>IðD¢ÿ=qÇjOüò%þ¯çG{¹Ú;€÷ü¸5¯o«üWÆäâ˜ÑüÇ5+ÛL«P¡ !À?<÷Ý;ª::É{Ö³|÷UöæçG?qÔ³à5 /]¿>¤oð+˜}o¢)ãÏm¯ÄxÂWŽíäÀë)/O“ÔâÚqø7ïþ}4÷ÅK‘O=¾YÉ1 "ÏCˆ$E< À2vX âé"ÏB.N uA$¸ÕJzþvÿËX\@ z*&„¿X‡Ëý€<‹R< \v†882„×Sr(!«w1ˆI²¼d½hUvà°è@¿uÂÖ ç(K©sŸ>ǹˆðŸ "pnm›Q»¥H׸¬Ó·Â’¶7·¼¨xù‘O¼4mÒ–€~W«ëÊݯîI‘’_ïþrÛ—ž'AzpãZ·û¿n8Ûop^÷rµÇì®_ ÆY¬%—ƒŽ~L‡x œë­Ô;8OAHS*Ëú?”Yã÷nФ$<0:O-ƒksÂ`¡7¼`\ ð„å/ nýÈ2á/ €m)Ê6ÆNµåÕLýžéO?Ǥèí*à¶'è%„ e?ƒ÷^0†uéÅÄÚ²2¥ˆ¦>U¹î¶ÜÉ3å‰m¦²ÕÉi9!‡“D¾V—/`Ác±—RYÓÛ­a+‹/n`d4p.»§zÁ2vPwzõõºÝü‡öôzîs#$)Šðç #^˜°¸êËe;íÁÿ·êçÆÁ˜°°êËeù—®u{=8.Kæ ßÞŠH—¾áŸXñ¯Ý …‘‹ž_¶ÓÎuÝ€§©¸icù®{; þDÉâOM›.xx?½x屿×>ö#¨éÝz×ÛÒ·—××vD¾ñ˼GÀ¤_$|Ú¼¾–_pî¬ñJã½)NÑ·—ƒ _–ønºR) BâÓVÅšß]—˜-*Ó„Ò89¯\°êΙ趆r£Ëjœ÷JIÏ/„J]j|n®}]^ü+ë8ž8<)/SN´‹ÖȤtÈ­>¶©\ow¹V¿ºÚó !{¿¦P²êý$&92ÇÁ ‚c׿&JÀ¦Ÿ‘cv/– LØW™(_õ~R¦&ñ•ð¤1«ò“$Àܹ/ e« —å¬K{­Ä@‚kóâ$¬¥\“nɬ-¦Sò×2šu¯…:ax\n®Z Z•Ÿ’™ã¹–H í^«¿Ê6k׿¬³dÒò»w%1æ’œA>-ó'1‹1‹‡¬¨ÃÉNLp·î‘yi÷ƒÉÓÜç©ÎŒkH,¢$ò8…˜46”(Ô¼‚-þî5ª¥ä©ê’´Yt‰P"‹O]6U³ú]|_fn’F3K¾Ž#ÄŠ´¼4õF”ÿ?{wÖÄ™/Œÿ[Ñ_2º$lkR5©–` 鮄³…ô:q|LºJ\5-tù‘W8¶P[ -F‘U  Z ® ®+ÞûqnÈÓµºñøÆZ„RÝõ†yšZóõ3Ã\•ú$kF}%Ma =|h¸Rïn·ƒ£µèÑ7þ¹%o?·Ó€³T9LyÅìñ‚Þ³v]yzöŒiBè‰xêË*¼tàIÜß Ã) 3%ßÏAŸûÂ,Æ,þ`íUž8£êþÄ´³!ɬ©Ü™$ãíæN¾Fô𤆵ýpÚŸOú[Ýg‹6_y:ê©üé£0QBèÀu”$½bbé¥ÅÊoßš•¨tß[ò}î ³³øQimY‹^·‹KÊ•÷i¤V¢Y™jÍNšU@ÉòŠUÑÜœ„Œî›ïm2B!„BwèþNBÆÔ»·íà“B!„B=Ä0¬E!„B!„a-B!„B!„a-B!„B!„a-B!„BÝ#žç1/†„„`X‹B!„B÷âG?úQWW×Å‹1)î žç=Ï~ô£»ú¾·!„B!„‚d2™Ëåêèèðûý˜÷Àn·Ë-ˆD¢É“'cX‹B!„B÷"$$dÚ´i˜œ„ŒB!„BÃZ„B!„BÃZ„B!„BÃZ„B!„BÖ"„B!„BÖ"„B!„BÖ"„B!„BCÀ÷Ö¢‡ØÉ“'1B!„úA™:u*†µèÑ1iÒ$L„B!„~àp2B!„B! kB!„B! kB!„B! kB!„BaX‹B!„BaX‹B!„BaX‹B!„B ß[‹B!„BA~¿ßëõž?Þï÷cjÜ¡¡¡b±8$$ÃZ„B!„ºk§OŸ1bDDDĘ1c05î–ÝnW*•ßf <Ïwuuy½ÞI“&Ýù¯p2B!„B?~òäÉÓÞ/AH$’óçÏßÕ¯0¬E!„B¡ë"+L„ûh̘1w;ÃZ„B!„B1 kB!„BaX‹B!„BaX‹B!„BaX‹B!„Bè‡ß[‹~.Ÿïa/õõ]WøGSÔø1£0mB!„z¨áh-zô#Ú¯Z~ŸŸ»±ìw¿¿ÞïÞ+Èݰ«ýüpí§ï|þÖ¿ÿüýàÿæýþøê¿tŸè»ËôxS¶vظou =î/ò«Í Æïޝn>×øCï¹ýÎKßf˼ûä¢ßŸºåI ÇÁßĨæïI½ü OŽ˜ÿ±è¿|üÝlÅçínü§øŽÊ»ë%zY#;¬gʵ¾I'¼çäâkm\¦ºýfëƒxR\Û;ô‡š²Ç{‹/·oHмÓvσsnHP©4¹÷v§à®~‰^Ö|w…×Û¼§•yPÒáa(]7\Ïló›´JõÒ.ï½W<Íï½–@«T*•æ¥wvµ2‘mßõÎKZ¥RÑ ËÖ5z¿!w_U¾º¡Ù{ý§´&!eÝ~÷Àï™¶ê×4*Õu……ó6nX–@«T*ÍK¹{¾±ºò6nxmaÿÁV·³7—ÇÁ×^ºv€i~ïµ…MB‚&áÚ)bc?w<«!&F•eœzv#c°ÞÁYyjôt–ãlY´¾ÆÝV£.&†¾n{7—;{–*æmRžÅuÇ2gïß×# GkÑ#Õž:ÐÈÎ~ë7q›ÿä6oÜõ?_EÌy|¸ÆlSþ"r4Àÿåé³»›=é¦K›'=ó}^gç»S×:ëéÚgÇ>ï—ùº~úÌfáû⫎ÇgËGÿð^Äæ?i÷î•N˜ýã¼ ¾KÔìí¶ÙÁ]›K•Yò£Èú€‰-«7š|8R—=úÇfÁœ9Ð\}˜VS÷¼éâíæùÔ]ýÞÛ¼£ºó­9±"2j…ÉÌS$–õ;(\„À×´»sùêþ‹€iÝuì[½Ó]ýfnST¾i“Zìk{oYzÎŽæ7ÄG7fnó-­°,‘ÞÆõ)kr"£ªˆ‡,A­ë2·õ$—Õ'Gîý9)¹ëf˜·Î&Ú6æìà—o?8WÊ·W§§¿³#êO¯JÙÿæ²jJ=Cx¬gpÏÊŽ77vÎÝdÙÎêœÜÍêwg‹†.3»rÖ·†ç›6©Å|{uzjæ––Õƒëžá'.®4½!\š˜ý¹¹MÒMæ­Ñx÷¿–˜¹1Ü’ÿÀ^¡˜Å|ßA ÚMvVEjTÖn¶ópWE€TåYÀ¹-6H©µfÈn·OÑÂûŒ$籕¤egT(,·ýцµèQ×wñ"„>>dnTèªïäÅïb¯!OL ËÐüÎÏËa[gŒ®wOcמ¾ÌãÇ¿òâäÙÂÐwq£ûƒ“üYxlêTqÎì°É×¶p¥ëȉ7Dæb©Š¼ØØxjçIžq?ÍxqRÌ8èù¤Ã`7wì¹ýç'lNž4­ÿRæ{/| £ÿmÚ˜@½*?±.y‚o,ÁŸv¿öÑ…^pj„¿Y,œ<]Ôüõ  ddLŒ4'fÑ×[Zyò¬R¾®^þìHAÚ/¤³Ç€Þ³¥>ÝxvDèø13§úù`¥qùH³»ô“ gýä˜ù³eÿ.½®k çÄ颿³'9™úì“9ê Âï2“oÎóD‹óâ—ç/ÃÄÇ×%<1y$Àù³¥yõ\1yš8g–ð‰;¯–†LÕ úøñ„ô'=áølõÉ+—ÝÇSNK·ÿ|ü½6:8ç®Üœm‡}‰Òè¹áüµÿ{ëÞ;ÐéHã—篘-&¹Öwt¨d5Ûz´³ÓK©ßzkÆÑ{ÛÜîjNQÙÑpîý×mkv ˜‘¼zõ’( è9¼åµœ¦cg|‚¿Ì/z5š`Ûªs7Të!ˆðø7V¿­{÷,K©Ž,3½!'Á»ÿµ”ÒMUoGQìEȵ¾©Û šÞ¶ûXÔ¦í3¶$îo 4˘ý)úÝóÍU DÀ¶ý6wÝÞc>B»tÕªòûÕÒñ6nÈÝr Ó@L|~i~þ’AG¹÷¯ÏÝÖêå@9uþ«ÁìÌÝÖìåásÞÎ#V4üGÅ´V·Š—T-%¼)ÕÍŒz®‚éW=c±¼ó°›a¼pðc IDAT|øÒ¢ü%rÊ]½0¥9~±ðèa7ÃôÑ+Þ]5Wz­å¼{YJó«–íj ˜ÖßænØ{¬ÇÂç—®ÎOަ€mßµnÝŽÃg‚çRô¶šh~gÙ–ÎÈLô.ݼÜýZ&“oy7š¢ Î úL&y ÙÜäôz{ˆØ·6çÏÿ`ï=ÂX5´Veߥ5Ånw¸Zz¬½??iÏ#¯.z5Ú·ë¥Ä= LZ"àÚ×é3ÙÕæà¯áÉ«ŠÔj1 @FÎQ ÷vžáA,Ž«(|¶œ±zN$±îÃ-yñç®ÈŸE€T½ |ã{>P3»Z!¾,^JQó—Ϩްǹô 9¾|k•”ß‘¸÷ZÌÃuî>à‹ß´8ŠyòÖ?}SÓ;ü—ùE±ƒRÇOÙÑäöA´¯Ó¥ºW×oWƒÏÇâzH8易#)q´z"ÀíƒÁ1Ïe{ÐßÙÆeº3–Gu6µwº}âù«—‹ì8àt{}ÒäM›’‡¹RÁ,~ä³ø¶a­Œ;Í6–ÖRÀ:Ì1-e㡜˲ÖXfóeJAAR œ£òõìŠI¢h9ÀÙòt%ÊšRr­ñiI[øétöDè¦}y º-†E&]m>lÈX¢JM•Õ™ìž ™ÈeYk,±y€*.µ¸ )‚¶£&ÏXÑâå 1U²Fw­6f%†lgÒÎ÷õT{ivž¹ƒž”%¬,6Òa¬½$Ãhv(bf¢´ÅÄÔæ)Èn[ɪÂÏ@•Z²F/{ û"p2BßR0gÚˆ“|påÓf×Îó¡ïþJQûÏþzRo韽]}W>=x²œ½›öÜýê©çÎ|‘ÿñµÂ=N×;‡¤é'«Æ]ù´ùdi·à׿RÔþdzY¡çò÷ÿ³€ —Ïžçcäû^¹Óñcay¡h÷çpœûô¼ˆñ£…#˜497jä¨'¥•I“¦ùÏ•4ž õ̾מ«I·uí?@À•#'É´ÅÛ_™žA²;_äÁ¤±«‘|²òµÈªD±À}ár x>}ºÈqõ—IQû^‹ÚüÌåÿlüòº™Éçÿù›Î=ñ¦×þ‡¢6i"ñ‰{Ó‰Ë0rø/4Áãë’¦W½2eÚ™/Ë¿ð\Úýç®#¡“*þCQû+Yܙӫßy7Ã-Rõ°çÐØI•ÿ¡¨}íÙ_?Ù×t‚Ÿö‚ô•ÐǦª§WÝ{L àÞ»¥3¾¬¾áÃ?©ÝÍgøà8'·Yú¶©¡¡ÁR¤>¶þÍÝn €?ÓêU¯ÞZõaÕRîÀšusжÿéÃíÉìÞmÍ €{Ç;Ûg™êê,[—ôlËÙ˜œÅ÷´¶†¿mj°¬\âûcî¶vØæu9Õ°´ª¡¡®Áü¶¸97wÄ ò—‹äîprLã†-Þ9ù+à˜6У gZÝñ[­uùÑCg³?'s/±¼ª¡¡Á²}1³-3˜$ß?¶yÃú&áÛf«Õj)Š>¶eýÞA ¹£ïmi‹,²4444˜Þ–º´2ÀµoyscçóE憆ójisNÎ~æ;ˆµ›ÿèŽLŽ‹ÕÉ3¼»›¼)ËŸjòÍ/ªªú“¹lwKî^7Ák¦––UýéCSQtÛÆuMÌiž›Ó$]m¶Zm¦¥üŽœm,çÜ‘»Å=w{½Õj5-…ë¶´q”:?ÿ_Â9›L[—L¼v= Y† è9Ü,\¾µêOšÞ5o©vþ€ç+ã—ˆŽî:Ê3p¯7zÉ A° µmÉÝ K«¬Vk}Åæ¹;œœX½DzfO“;^ìm…Ø%3_آع³ƒW:wæp«/<>œJªžˆ’˜¶½ÕDZs¤·hnRrõ\u°aËÝïDÇN„žN7/ž! þ„‡ z:Ïð”\.&oØPϱvŸHpxã²…&aÙàÙ¬7EÏVË)ÖÝX½§'|N´€”.Î/ZIð¬ïiZ÷RMÓš—Þüm+¤8>ZÐy ™ÎÝÚÔ3ñù軈nS¶IàO5ó‹‹¶ÿÉ\¦öþ1s ,ÝTõ'ó¦X÷ŽmG9ÌbÌâaF)õr燶î@¬hvÊôqTà&ç2e•xÊë­õÖI¾ŠìŠ9¯‚M©©¯·”'Ý;h-•Dÿ~ÁL4}燛_E´˜U'k¯sÉg†Ýþ˶:”¥õVëÁr³¬°¡8Giv™Qk³,×¹ uý³9ŘmSë%ÐQ‘g†ÔZ«Õº/“j(¬èà€ë(5Z¨Ì}ÖúÚ•²†:/OÝõ«Œ ╵õõÖRÙÒ¬ ×='Y·Ås#:Ï1=R‘,ÏyfÄIÇéw*Ûþ»ã«›{ºnX K†®ûÕ³9ÓF€`â„©!—Oö^€Ç¦)BŸ™â;ß}é? €‘câû˜$­ùÕ´ÙãGŒ˜ç—ágö·zy='’¡TL£ãÃÉÀ¿éñ·µùÔÄ% ¢( ¥ñ‹Ã}­MÆ1#9Ð¥.Ÿ?¥§íX×¹ÿ0Ä&*ÔŒÅñ‚Îí,€xÁꢹ99[¼sŠ–G=3¸ˆðê[ܱm{ æ,U‹ížä|ó÷wß@áÿ;}ÖàUÀï´q@©‹,æ|µ¨Hu$Át2ƒD &|m{´ºNûÆ»«g‹8÷æžð_&GQ@E'/˜Ø¹·mØãZ÷ž]lìÒç)jÆR5»k×µxQ??2P”žžjvö=eA¼œ*2>šèlêä†Lsaü’h Äs7YÌ«¢)Rþ†©~{²”q¬z"ïöú†Ž²‡*Ã<‘Kù,J>oϹþ§¤êÅÒcÕÍ ¸÷ìacGö‡0dt¾Å²i®8oÑBŸ»@¬þeä™=ûÝý!zqäW6çÞŸûÚ.ñŠü‰¨œó½…ªYºômüüüÑ·íãbÛ~›¹Î='E4 <ÏAt6"xîO.àžïlöªóM ¦Õ‘íßÜöÍýlók*•6qM[ÔŠÕó•˜pêLOê¬ɹûØòÕÑ$‚þi~$%@kàaj%ìOo€à½/C$Ç2<)ºVÓï®ZåÑBI°k„s5”šZ<AðŒ›”BL!¡äcŠY‘¦]÷¸#_÷-ÂïY;?n¦4P#…L–>‘þüÙ—ôž…kA…ÏéÎwŒÈJš>süàέþý©[ŸÃˆq!ð%w5øÃ^ÿe€+ŸþåógßšüÄä‘À{ÝI^¾. 2Š»ìëƒ'FÀÕÞóþqcC†¼å$9.„|Å0}ö¸o¼mŒ:nTÿF„†BÙ¡RuÀˆçfLynw±±ñ³¢ÆV.; ·. |ÿ”!Žu÷ðÁ8‚_nªºþ¦Ìµ}ã¦HJ*€6Æ@nQ=@D zø¾fŸ˜ˆ„DÌ&‘Hœsdž¶ðùÿêÝñ^ã-éñ`"šX¼/Ð /RÄÄ_V}øªô~Û¼.§šXUU5[LÛú¦nÝ ¹'ŽM^› À´ïÊMÏÙi^*ϯ6oŽýÎ&‚³G«›ËMuÃÞ]))Õ‡Ùh5ð>/˘ ö²PÏöô0ÃBÁÍ @H>wð·ÀzÝ>”¯~s}[|ÅöÍQ€»zabÓÝ•áá"ŠßdŠ ÄçÑC| ©Kf0ïíiêl&l–“p¦¿ŸbcæïÒªª%R¸öuºôÀ;5#9–ÏÝ{,Z‰øÍ7wX1Íë–­s/ØT•<°ì€iÛß ±s£E@RRuòbéîGϼ5ô…Ä9we¦ï½Uµ} `Jå„÷¨—›-"€uëFJoQ”…áRb ¸Ý¦'ÆÝÜä”ÆÏ–’@Š£æ$«·¥7ursE?dÝín"<êÚ–ÀÛÖÔ)œS89ÑŒ9±DúNv®èºã¹ƒ²YŒYü=¢”IJ¦´¡rÉ؃¬„âíl0 绞R¤€–a(ŽuÝrhY¦ÓÒÌv;8eú•7Õ^{dÔ ›„­Ðh¢ >°¨Â€³gióHJDp®þ§*³'¢„âò8³ÁX¢­ÍSRsV¡S¿³6)‚O~Ñ¡@§ß/?q)7øzÎ~ð1:‘z"ЋÅ]öð\ßå‘Ĥ±#üŸ:¾:î¿ÚË_½EÇ÷c8þñÙ/ ¯w¯=°ú÷êÙ W‰ñ£CGô]l<ìëõ_íôöÁDÑ4îÜÞ/.œ?»û‹ÇžSŒú¶4~Âìñün»Ïpù=Yè¸ãW ™ªãùC{¯v\ä€$§††ôWtWyî[½àGõüÄ3M{Ú9`š«[÷#qì\©»:øŠ¶­úÜ=îÛoK;wÊ™]mqî»;êøÀZ)ßÑ]Á5GM{O cgÉð¹ÏCkuà5 ÌÑÝ;È9‘pÎm¹{ÅËóß^½Zݹq]#ó]„H=ǼpΦ§x*z~dÏêV&Ð0Û“ûÎýZ•É3=¼@,’lûÞêc<Ïètïz-%7Ü"i¸X„4^-<º#8gši~ï ÜLsõaá\õ V¬X=G|40ó §yï1¸ÎÍ=S‚‹ÝàÔžÀ«9Ø£{òáê!ÖâQÑóÃ}M<Ì€·q]ʲ÷Ž1l…‹)ÎÛ\½ÿ pÁ_xöºwj Y†‡±íIR¢€‡ý©ËÔŒäXßî-ÍÔ‚øAÈ÷0<(eœ»©ºÍÇûÅŒŠ\¬†¦m[š© n [¼ûs׵Ǘ•%^JÏwî^Ÿ³!°’m?°×-pÞæý7¼;…kß’³Cpý =pslÛŽß“.˜{«Î%*r‰ô·ºÚ-TÇŠ‡Þ0M[Öäîhc€óÞÝê›-&Xgks;Ày÷䦾¶%ðÚ(÷þßîí Ÿ-J¥‚3MÍk‰ílní™+¾©É;DÙfÚƒë?n9µîoÖU˜Å|ß¶ºŠJTz++œŠ$åµS SjÄ.“ÅÅpž“K¬QJ¨Zì­³º8Ön:Äð·Žku‚–²²IB\ØËð¹, €sÕU¶ûx–ãÄti75x8WMZ’ñ ËdÚ•yQVc‰åX/Oˆd Ûfªsó R(¨‹½€s5T9|”;i«J8y$Œxf–,í£®w~ÿ@'dýâ‰É0fÉ^ù¨ëò¯zý#&…Kr:Þ¢KNȘ+\ö¡ëåÿ®žšÖxêßÅû¯ÂxÁâYb!À­zù„Ï>µÙº¼¹óû¯À(‚|N>ù]µ€˜Û­r¨íRÍž4óϧ [½¡cÇÄ+Æûx‰Qýxê~wÒïBBǯžÖU²ûÔã/ö§äø°_¿x©è/Çq0ê¹çŸÊ”†ÀÐ/½ø“¾üÈmøÝðø‰¡?½ó¥°C§ê/„úè³EÍW "tBÆ‹?Ä<3z§­c‘ûÉ }˜ðÞòVšœ¿üXNú¬½‚‰á± â§>ø´h•77W¯ñ€ |þÛùR€ÛÖöÒÅ›Wysst€Ǯش"Š&ª£Žæ¾´Í}¦"™¿TN¨W%¯Û¢ÙØAQþ\×þ^ÎÑŠª¹"ÑòÕêÄœuû£7?,35©Ë—Gæäè_‹Eáññ‘Dðâ¹ùEîu5¾@¤¸"_zâQüòÅrSuMB¡8:yÅ[ÿš³&'½zëŠ`ÎÍYߺ!‘^‚ð9«ó£IVl~kcîkº<g$¯^:¬Yámª>6qîÛ×µCÅê9ÒmÕMÞX!c{3_Zç>Ó#˜±¢h±À @„«aGêKǼgx¡ú­wãE7µEs‹ò;s7èé&ÎX\T+"ÄËŸs½^³E(_°üí_vfny-WZõV|¬ 'S·pþæ_cvâ çæoøâxaÓ±ÅñƒçqRϯXž™£KNE-YñöüÎÌõË6ˆ«ÞŽ"Ãdžݢ·n^‰îmÝ}Ôwê¨aÖû?™øKÓ‡¯.)*ò®{/eÖz@0åù¥E«c)¦mÇúm3ÂÕQ×ú¸c»›Îø|ktª5ý]L36Y¶ÆF½µiinîkÚ=¼0rþª¢d)x÷¤è7v¾–£ULüe¥éUyì[›–®Ë]6k£ásÞÚ¼T ¾›÷dô[e+6®ÏÑýÑ@#ãW½»X À¹wçæ¸W×oWË—o^åË]§SõŸ_\T´@ ~kÓòuƒ×!U~uCÇØÍe›óîݸ޽Z{ûçn³Õ7Š6©£E$f1fñp¹>ŽláõQ$À@¨*K,ÉrÓ´UVI¢ ôy‰-ÙI³*(™*Q#%nÊ4zAÙ¦°õwÕRª }UÖ"ºJ,S&edÎ4®zݨú ¯8Õh\¤ZËRMVI‚Ú"Ê•y–Ek 5µéeZ¶V+Ë茬{ÆÚ´RÙÎôL:-oMнJìÓ®/h_eÔÒ,)Ó¬,x0„ q¾WÝW¯^½råŠßï÷ûý<Ïs×ÕÕwã*<'_;ßnÞ±ëˆçRßÍoÄì”—ÿt fBè!Ä4.ÓïˆïaH?wõKý¯ðAïže)Mó¿õŠb®mCŽ;yó‚ïãKß㾉²YüPd±ÃáP*•÷kïÝõi/×-¬-ÕÞßdàyóŒ¢ò»/®Ýn–Ô³Ûí …âV%nzM4ŽÖ¢Gßø(ý›QzL„BvÄÓ¸m‡Wx÷·ÒÃG&«¿§—ŸûÂ,Æ,þ`íUž8£êþÄ´³!ɬ©Ü™$ãíæN¾æ!zÀ†µ!„B÷ç|/%uwOäòMEÑß¾5+Žû½E!ßç¾0‹1‹õÖ–µèu»(±¤\yŸFj%š•©Öì¤Ye”3fÌÝÎǰ!„B!„ÐC ÃZ„B!„BÖ"„B!„BÖ"„B!„BÖ"„B!„ú¡À÷Ö¢†Ëç™óûú®+üc¨ñãǎ´A!„B衆£µèÑh¿üë¶Õ9›Ë~w½² ù9ë?øÇùáÚOß¹ÜÍGr>ï/Ý\qÄÐxÎw«ï3]I›ÛÿçÒw{ò>ÏWõ_õ}‹ \9ÕîÊùCÛÿ-þÛÿ-þÛ¼ŠO6ìóôýoí‘E>þî6uæãKF¡òÔèU†zvX·ÉÙ2TÚ’î!N¶Þs3U†íA<)Ξ¥ºñP“Ìž[|ÙQ ¥³ì÷÷<¸ŽmL m¼·Ã8W¥^e°Þ]áõXͶî%ÒuÃõÌZ3T11úϽW<Ö’4­*&&&†ÖgÕ8™È:j²ô´*&&F¥5äÕ{¾!w_ |µÀê¹þS­Mʳ¸~ßm¯L£cb®+,œ§¾À UÅÄÄÐz£ù«+O}Aš®ÿ`+ìÍåqðµ§ÍspÝÖ’4Mkµ´öÚ)bc?w<«!&F•eœzvã ú Í:ËÎq¶,:Pbº­F]L }Ýönwãº>?ï ÐÒߦt>p´=òQ­Ëò_ìÏE/ˆ†øÓ®‚¬_>3ï‰á³½t~k͉¿MžV1{‚à~ž|ßgÿ{Ú, Õ>~¯1íáORÿûê¬ø§ÿ3j¼¸Oޱá£OsüQeÊ»O±¾ fÛ—ñã?½i*J[yD Ñg©òúù@01³ü`‰’|8R—µW$$¬•-¬’¦îy;²ÄÊ}zê®~ï±VT:W&¨ÂHEV­…§H,ëwP¸Û`r¦çõ_Ý6“ã[½ÓU™alPrkO IDATÔþ•–°ö’WÒ²+”û²$öÂŒ2_êÎú¤ÂS¿6iU¶BQ£— Y‚lyeŒ¡ü AA¸,ÙIƵÊ}åZÒ^˜]Á§WþU'ã•iiY s† º-¯TR´Rä`÷¬Td:u¥õ• è¨Ì6VXg–hÃnÑfÏ^Û"/¨ý+-á•i¯d”(ëó×<É?¨ÍŠ\šº-«Œ ÒRK¹’%mQFaD}Á{…b?òY|e€h7ÙYU°Ffíf;wUHUžEAPœÛbƒ”Zk†ìvû-ܹÏAp[IZvF…ÂrÛýP`û=òaíÅ‹ ||üP%”Q}ìÅa%}Ûw}öWñSe? Ä´=;^üÙ3¿ö~•ºÙa9ø?W?ýßNÃoÛ^,>bØ{æT`Tõ³ùƒ£óJÛæ•Mÿ¯î3}}çßýíÑÜæ†Ím™Çû|íí/þá”ù¿Ž§ÿáï‹J¦7Ÿ û>?•SÑ6¯´mÞo¿±ûx¸òYóñœÏü':’,çxèûÄÞa(=2¯´mÞ:L]}}ë-ŽE¥móJÌ«8¾ýóË×çgß³]zöÅéïüt¼p$ÀHòÙ¨©›–Huƒiûþçƒ#I¹øÄ×yüÅßžú¬|ŸŸÊ Ìæ£©–¯Nõ]´˜uçù?Õ8rŽ_†!†é2lþd{cû¼Ííæs`Iâ:j²t*­Óò\üµIšŽ¦išÖ Ýèœ-‹ÖåU–d¥%éh:)¯Þa)È0èu4Tbg8—%Ï ½©¿š¦¥$MG«bb´i¥ö`G½½2COÓ´–¦uiÞwÙ@ë‚£K­+x°{¼9[­Ë+ÍÒ©´F»Çœ¤í¶$©’ÌÝó,Í$¤6é6cß±À`…J¥RÑú¬šë„sYŒIZ:á¥×²3ø¡.­ÄÖýU·­Ê&NJM5D8*­Ýp-ýô%¥Æ´¤$½–ÖeÔt°àªÔ© ¥¥Y†$½NKë×÷æ»L†yÁ„n[išŽV©bTºŒÊÀ¹Ç…T*•Jk(°v°Ö¬W69½u‹Òj\Ž’Eº<;7tæ: ´Ú¬šJcZ’^GÓzc½ç‡|ï©h¢%˜¬à9drEÐ2b ?i¯R©t‹ÝS£W]IáyÚÆmrÚâ,ZB„E%Ð"Öéå$š•Åk’"(RB'(ÆÁÜêâé² €”Ñz9xœ>àœ56Фkd$¥Ð§+™s@ÊÓËkÖèeƒ[èœÓTçÓ¬LTPT„¡Ü|«€ˆˆ”‚àÁR Z#å.€säÑ¡,žõñ„ø†Žq¸@NGQåL1ïr±7Ä}ßT¶ØzƒJ_Z“—aÐki­¡Ôf¯1¦%éµ´6­rø+ÌâG>‹oÖÊh±ÓÜŸ‰¬ÃìÓÒî*2plœ£2M«¢µº¤,““Üót³Çc~ÝxÈç5¥-|uÅìþm€n‹Þ"‡ ‰%ªÔTÓb÷÷FÓ4­¢uý{c;‚ÕùMéÈ:JôÚ4³‡Ö^hÂô×øÀÚK Z­Õ¥Ôèt£é¶•¤é´Z-­ÕÍ®uʆµ oL{Á¼ËY/”–ý\$¼í—ý—r—½ýÑò§¦tÞpœ¸h2þ7¡¬2#zßòð¼®Û€èû¸kl~Fô¦é#a$\î9{&êé²ÿI>ôŒýÔ_{z¿ÊÝÛM¨#÷eD×.ùñÙæÎÍxZ=m™ð±i³5º üçŸç4ûõK¢÷eDWªF˜öžøŸKÀw¹7wË_½/#¦rÖèÇÏõ ::þŸ=ŸùÇ.|úºYáäǵO‘·ë‹¼hiüŠWEîˈޗ¡óŸ­ÿŠÔýBúLñR’¢hú(ßP#G‚¿÷o䔚7£ô¼œu™Œ›œšòƒV‹¹˜vòòÁ;p¶Ñ*]YkµZë‹éöµ&À{[Ó[õz ¤¾_cÞWçª(öÙó˜Å|ߥÔË:3Y‡Ù)ÓÇQD°ÍUâI(¯·Ö[w&ù*²+:<æ¼ 6¥¦¾ÞRžvï ‰þý‚™iúÎ7¿:‹h1;q©½Î%Kœv»‚HÛRXèP–Ö[­Ë5β†nà¥ÙUdF­Ív°\ç*4Ö t¨x,Æl›ª X/ŽŠ<3¤ÖZ­Ö}™TCaE\G©ÑBeî³Ö×®”5Ôyy‚è®_el¯¬­¯·~Ê–fU¸î½‹Örój%:o˜îøÖ"4Œ®~ü‘³ªÇï»p™¿£­„.z‚Æ….œ Ÿ¿ÀŸûº¾‡Ô«B…0R ýÙè3Ç™S0ñ'aSú Œ;A+ „P0ü§.]ñu}õ )üÿž&€…½4Ùÿ·¿_<¦ú™ý<õ¤öñ |Z<+„­óöI.°–¿Ÿý¬÷Š0\Vôó°Á¡8ér/9Jp/+FÇÁ©c_ô\ô«›±L2¸ª¹ÅÁ³"‚2k»V·X£S—830§Ýc³8ʼnU )r¯Åæ J]"™„)5r2ðo`xlV·8I¯ €”iålKC ñ@(S42€ŒÐ襌ÝÁpNK ¨ † ¥LÔPN‹ƒè×d…Õ³³7ytÅ銇`!×Ó’[Ç’v³ƒÒ¥Ò %š%wÈò=tó‡Ò^¼ 8ËÎE×[ è0 ¢è(‚q¡Ä$k7×Ù\Ý\˜*«$Oƹ,‡yŠAA¥4èÅN³}ØãZ—¹†K£(eêLÖdº/Š4ú¨@QŠS‰ÜÖŽÀ¾¥zM T”VI8œÜi.ÒZÕÝûõ–5JŠŒÈª=Xi‘ ‰£Å¼Ë3ô<€[–aB‘,­2)Åz™òý€’щ²àغËlfã£úCRYP_ÿ¾NÈ7¥ˆu1’™) ¯Ùâêyf&F yes.‹1Í$É*˜ˆÊu”èb^x1­ŒÓd)oÛÇÅÚK_Ïsé ²”$ð<äµà†Àq·¸ôx†çV]PkµÖ®Q8 3ʾ¹ß‚µ¦ÅÄÌZ´Ê®ÈÊ ,¡¢aŒ(NCÓ)¥ûl¶úra~ýõ¥\¹f¦cÕ‹1*Õ ‹J@ŸgݼÕÛ”mBLÓ$)Rˆ©F% þ†Å,Æ,þ¸61Êejé`í&§\¯ ŽO{ì ^Yb B¢Y(c¬íÖyÈ+N e$•@‹‡ìä%ez:ײö:—Lw˨–óØ**]²EPtùÁÚ, @ÊT ŠqùÀkma£ôqad„agýÎ`abeÙeDzi–’ #²jëß×…@˜‚–°n†Æng#ôª0R¦K ôD³ÎºQbªŠ€0:QÉXm÷<'LW\¬¹nY <¥4k˜š1¸¶¡á4ñ'ÓË~veûÿsf6’ý“o)$dâ¸à?ãB.uÅÇ]ôÁ¥í8RÕ'_7Ö× Ç=6è !‚×nðCß9ÿå ÿL/íÔ’<\%&_øÅÙÞ«½ÿ윷9¸èƒ÷ÃÓ½W‰§de¿ø¢ªítæÁÏxáø”YSŸº66KŒ5Ž»|–»‡z‚Ôê§ÃaÞ{lÝ…g"Ÿ|{öãSýyȃ!@HˆðA]y˳,’àMˆ$% À±^¸Ë’èŠà—|¼H‚Hq­#µx;ðŽuù€õ7Lˆ0pL`&9%¿J (ðyYVÄ𤢿‘”XÀÛ|,Mª²$­A²² â¡X–t턇l1,Ϙ^ÑZ‚E‚÷qßCD4äÚÚn»yS…¥ƒð¹y.apÉVdí,6U˜J …n^:3Õ¸ÒåcX¾}­Ž.ì/ óú†ñ89GeÛ˼òB]ÿ'S{zž’BÐ?ͤİžãF\Ko€ä=DvÛJ^7Ze+wh¯e‘e9’κZ*ŒI|yí749—Ù˜VÊ$–Vzb*äPýaÍàèÆ«@ª7ЀT¥dæJ;“qëî*Š.?r„ó8êJ2 ÙP[:('ÃTªþ£×eè+ÕÙ»“øº4c»fçÁ ݶ‚W2²e7åÿPeûº&úkQ‚28rF`cGwJ¡òVòĉÌ.y¢’âMtö°„ˆ"ªH‚÷ð°õ&I‰ 24$#ô"Íìää¼Å)Ö¯ »©ïá×_ø0Xþ¢®)N’@·ÍTXaq²@€ÏˉÀ± OŠ®Õð$À»«V¹A´PÒ?«ÀÕPRhjñpÁ3n>"PBAªŠÄ"8†ñ¹ËÑ•DàÍ‹$,wÏ•|]ðA1¼œÝÀ€ RÅ0Ã]k]]ßÑ@ø\ýMÖãb)_™±Ö®ÙYYª \•ºE wW†‡K˜¦´6.Ð?D=´1-”2QÉ”˜œVB_A‚·¿Ÿ¢0£Ä“ZS“$#säiÓ8”Ò âŒæv-´šÒ›;¬º­y¯ä¹ô¥5†V`·ÝÒq:e”ŒNI”™*ìÞ,ÅÐ×QózšI´²¦r `É"¯ÝËiÃH`]íŒ(Jv‹¢,’ˈâv›ž—µ¡C¦ÑÊH %Š]šÖàäta?d]!WH® "{ƒS”P8¹0¥.ŽL«s²º0êú.ÆÛ–mÌbÌâï³ÏV™¤dJ(—¸òÙñî®kß»dù»€Þ³–.xvúXb´8ÓáÀS .ÜÜñ›ïè‘V‚ÉaÏö2¦À3Ÿú|–½&Ï€Wy®`ÄÓ?.ï_Ï]žùêÝZ×Ç—®œ²Oµt÷Œšò8yc«ttè«ê1§ϵŸ;sé ôqŸ´ŸÈüswïøÁß!?Â×Ãñÿú÷K—€;÷nÕ'&OÆ>;0Îì¿âãàó gi˜"Nìm0žœ`­l Ü$*ÌUi <°‰µWf—6~3‰J'õֶŹ,&'5SX+å³××5˜Ý"•RDÊuq`« ¼¦¡Ûn:Ä*¢(à:ÊŒfIúzc^ÞLgáÚúî‡èâ E"`Ú½p un>Ð.Ð+˜ºÊÀ%®Ãl̺_«29†á)‰LD°s•ƒçØA®š´$c ¹ÃdâàÜ™"{EpÎt·µ$«`˜ó£ÛZÕ"ÒуZ±:Abïpc5·³À9묌4¸Ø ÜæÀc·X»ÙÎËi)9D[L/gªZºÀSŸ—d(q0,Ãar1Ày¬•/ÏžŽœßP†‡+X xØŸºL) q>S‰•Òke Ï0<(eœ«¡ÒîãƒÉKE%ÒÐPZrˆÒëo [<–UyMyùu­@¾Ã´6«0PüXGÙ%ËEœÇj©¿áIrœ£$»Bpý Q‰44”Õ¹8Ö^Qêéu·ê\¢‰4Xú¿[UéÑ*ÉÐû¦¡d•±ÂÞ œ§ÅÔâ+%$Ûa³:º8ÙøJðùjœËRjfä:e˜H&x¬k‰uZ[qœä¦&ïe»ÛQo¹ÃI‘Ý6Ký°®À,~ä³ø¶ÕUT¢Ò[YáT ^)¦Ôˆ]&‹‹à< &—X£”P´Ø[g ¤®éÃß:®Õ ZÊÊZ$ qwدÇ2¼@. à\u•í>žå81GÚM ÎU“–d<Ää2™ve^”ÕXbc9ÖË"™„è¶™êÜ<Lj ªÃbïà\ U%Oˆð˜ûk|sÞp<4*Œ6–—†ùÁ 8Z‹u£ÆSðå§_^ŸtÓ;iλ>í9įïb·‚§dE³Ž§Öu˜^~6ñ©I)wæVü}â¸QÓ¦ÿhZÈ×<ÀU£…/Ò+.œé½*|zJÑôQ£õ²3u'’J¯B$Â7”c|·ß߸ÇWÏ¿´®Ñ1€Ç¦<=yõã#FýKä˜íÿÝ>Ï%­\2­èg'6ü¿7Ã!ÿE5íÙÑ#ˆHñ¬Ï]†Í.€ ÇÎzqÚO¯«FLQ>[1îÔom'^>è€qÂñº_(RÂI€¥Ã#žýÙ¤Ÿ™Ý† pÜèyZ0îÜ ©D%¹nïÇUŒ˜øÔ“«2FÐM¾º¡¦íÓŸ=[¡¾ù`ðgËÈ éíÙi/˜)±Ïåe(efq¢ À@Èi¨xEßîñr"ze‰& À{Ó©êŠ œ« 穲y+KŠU"B’—±v½I$‘ëÓ)ÎŒMiFYÍJŠÊ~]«[X–÷e¸o87·xå‰Qƒ#Q3x”ƒŠËLx=[«‰EФ¬• ¯¯5HjŒ Rž¨!_6‰VÞ¼ÝÓb²ûÜö—_è_£â”ZKFRq±wmIÒ ky4.µ$OEtÛ+Ö–)å´âÚ˜×njðú|«^ŒYü„P¾__®R¬|?ÕhL›UÈ𢨅kŠ 2ð˜“æ:_Ëž Nù 6#BµòýÔ<£á…Bä +KSeÀÞ¼/ •+Ë3 ×f½Xå DQš5%‰2Îe2f»òVÒé¥kXãÚcB—X\¬—HV–¦ç¯%RF~u½!Ê6ç5®uåѪÛ%±ÎªÂBQ)­ #1‹1‹‡­èãÈ^Eð×êÈ’,×ÿÏÞýÇ5qåûã+:SkÆVÂnMV›Ôè®°»î§’>ÇÏÅäVIoK|¨°õ’~]áZ¡®†V^DÁUðGÁ¶Ðõ _¶°ú ÕÛ¨{AïÇÈý4лw vKhÝDÜÄv Ý:±vFÐÏ Š¿©ˆ}=}<Ö Ifæœ÷œ9ïsÎL‚V©5Ó˜›Ò:³ŒSkSt*溹¡Zg”•lØx«Y-§Í2V˜çò µ&5kÅ ËšW-Úws Ó-–¹Úõ£Ò™‹’”ÔÒ›Q®ÎµÍ]_ «É4i2²õz¹BÍg™ÓœYë3ŠÕ»3Wð¹Ïó¬"VgÔ*¼DDúù-k,z^ bÕºÕCu…¾™×½oà[vùòåK—.uwwwwwK’$Šb{{{||ü oèÜG{Þ®úŸ¿^¸æ!N£¸§ŸûEZ¢úaT Cµ¦çËt5Öþ+ÃÜåÆT{Vm9Ï¡„†¯Õ”Zg¼ë;ŠEg~¶ÛTlTÞƒ]¾‡Ûz bU<,ªØétj4š¡kÛ3~~ ¹¦X?´Å 6ç>o‘—ÞþýAƒUz·û=˜­…߸ÏýÇóQpg<µ%e>>ø$î»âcM3”÷f§ïå¶PŨâïÁYQæ·h‡&§õZM©V]ùîTµä´6ˆQëäçäÖ -±µ(õåjlfq¡æî{³J­áže!÷r[¨bTñƒžÒ:Ìs_uÊSŠJ5C4S«Ô­N·g§Î,!⢒r µÃhm!ùg‹nÑÐ.BFéÝÙ÷àIÈ0Œ!­¤µHkÖÜ!I’PCèÂ… aaaHkîÄ£>ÚÞÞ~áÂÅ$Éëõ>ú裷õ)ün-@ˆZ­v»Ý­­­ÝÝÝ(;àt:ïòärù¤I“Ö܉°°°'Ÿ|å0¼`2 ­@Z €´Ö ­@Z 0ün- c§NB!|§Lž<i-<8&NœˆBøŽÃ"d@Z €´i- ­@Z €´`øÝZ€îînŸÏwîܹîîn”Æ?~¼B¡ CZ pÛΜ93räÈèèè1cÆ 4n—ÓéÔh4wó ’$µ··û|¾‰'Þú§° äܹs“&MBN;T†Q*•çλ­O!­è—Y¡†Ð˜1cnw8ÒZÆÖÒZ¤µHk໿[ ß Ïu ßtuõ þ‡8nܘÑ(€a ³µðàg´_4üfCΖ’·ÓßÛÛós6ïi97XÛé:·açGk==Ï"¿*ÞýÑâÿs.p½÷wúÒv¶:Äo÷ྎÃ뾋#úÓsoôþ×¼x¿ï£[Ýáoöîþh¹ëâT¾= øÅ‡…AýN±q9Ÿ´Ý%ãb/Ö^‹_Þx?”Ø´’¿zWÓöù®óæ–ÍIº•MC{¢ks’V«Ë¹³Ýè=Oå~qýí¯¯~_£ÿ~)‡á ]WÏBýr^«]°Çwç Oýö¥I¼V«Õê¬ÜÓ¬D¡eÏÊ:^«ÕòI‹óûnP;Á·jƒoÝ\ïëÿ*¯KJË;èéý¼¿©r©N«í,¢ïðæÅI¼V«Õ-ÈÙwÃæÊwxóÒäž­l®Ç¾ç^R^‹HDä¯ß¾4Y§KJÒ%]9DT1ªø¾¼âÙMqqZ³£oé9-|\œÉ~ Gå­2òf§(:̼±ÊKDv‹!.Žï÷}ׯӬ»BŸšksßrƒ,:{¶õÀÂl-<ðYíéC‡…Y¯ý*>üÚ?y¬[öüß/¢g°çlÅ@é^Ïñ‰ªÿ{œl(¾û”Ó·_õȬï…Ýé7ŒÐüó”÷eñÞ“sßnžûöÉå‡;?ï"ê ýæä†<‹w6¿îê|Üú|å_÷þtyåÇ©oŸ\þA 8!ðüuíîæ¹o7ÏýÍ''ÎKté³>]{êÒ©úOÒ~N¢î?Ÿ8µøíæ¾Ý<·òÔÞ3ÝDD]ßþý'©o7Ï}û£¹»?ýwÏ&W™±ã^z–£³_žé"¢‹}ðiÚÛÁ͵»¤`ýÙñSi;?šû›—ÿþËö-’Dמ•É<¯K^°8ïˆGºÒãß¾4Y§ÓétÉ‹7‡ÑÅÆ•ºä¼Êí+—¦%ëtiy‡[n^¾xA²N—¶½I "=ó']3^ÍPç‡;–&ëx­6ié›M¡ú¦Êå t:]’N—¼48úîÛ·X—š%ð\ªKÞ|x‹ËuÉyo®Læ“rš|ûÒøÞYQÿÁ4>mŸ?xœo.dRÚMæ¾eÁÉ žçyÝ‚•{úï‰è9˜“–¤ Vøò7¯TgèÅä¥ÛýßÊ^ù+ó-Zy²²ÞOWÊoÁö7s–¦¥-HÒ%/ßãˆÈS™Ì/~óÍ•‹Ó$'éäô™!"ÏÞÅÆÁÙã›K“u<¯å“—W%4/Äó<Ÿ´xs½ŸH¨_¹xGÛÙC+R–îñ´ìH1æ5‰ǰèÚœ”´rOeÎÒ´É:Ý‚œÃ¾ïòµ'|zÓXyBèm)öz"TLo}ËžçùäàÉîÛ³€¿2Ï'¶ä%éV6ö=±e‘ ×lZ– `‰äSf'„ÚÎJDŠÄ×6­Å±Š„ÙSÿIÿõNžð9Ë6lXñª„#É× ±mO#%.IT±D\Ì K¦vÙ牘È%;+Ö¼¨êÛCÛö $¾6/†#â¢îüÝõ"b"_ÚÚY.&!ñq©Í [òtÁ¹A)ÅU#$¢ÿ¤‡"¦pDDŠi $'pUÞw£Ø&/æ¼¹'oùâIº¤Åo66íÉYš¶ I—´´rðTñ_Å7MkÕ¼Âeí™_š­Í ^Õs¬n›%UÏóz^o4WµŠDDbsy†^Ëë ©æê`ÇItäLV¯×úªåXÀW‘üʲYúÜæÐ‘tØL|ªµãz)±R›ž®ö78½¡­ñ<ÏkyCÏÖ„Ö*³‘×jµ¼ÑÒRWh.2ê3¬^‘gq†çy^«7åÛ;BÙy‘I¯åõ†Œüª|ƒ!¸7Ž¢ ƒ^¯çõF‹Õ}¿.ÙAZ 0ÈYô¾÷N?qÛ¬[˜Òì‰òm¿ˆ}ѤIg|[]Ñ7{ÿ£ýøø‰eÿ[ó uüÙ3k?¼@4BF]ýõ¡œŒØÍQa4Š.~ùÕ?|bÛ•ÿó#Ÿÿñ¯ ç‰Îwl8ÐÉ<]ó¯±UÉò/îb=ù¬êåñ#&'<]ñÜ8ÉsúßÝ/cjþ5¶ì™{x"I=Süׇÿí±5ÿú㲄‡N¹„Îî¯D—ˆFQà³ö ÍôRꔚ-ŸÅ4þËÁsD_lr|£MžRó‹ý[”ä.?P5ëÙ›³£-±¤¶î½ßmJðÔŸ•BWàU9õª×«ëêêl›Nn\¾×CD Ig} kwV¼W±H<´.¯mö¦w~÷Þ; …ýoÕû‰<»Vni™ºÉZwà€mçüηVí.Î’:#_¯®³-ŸømÎ[-" õy«*iQE]Ý:ëëŠúœœ}>R¼¸a‰âPÎ.—è?¼y‡oö†e1Ü}]x Cg=‰;í6Lx ÛpÕŠýÌ’Šºº:Û;óüo­ɽ'ÔoÞx$üu«Ýn·mšvrÇÆý}r3ñÄöMS6Ùêêêêª_Wy5úIlÙ±|KÛ3›¬uuuÖµªúU«~ ‰­¯þ·ž) Š„…S}{øzKV:}$ðÂ¦ŠŠßYK^ôíÈÙï!"b¤“õÜ¢’Šß½W½iZÓ–¼#þËs]Î}uøKæ…g '¢Qc5ì箿§=‹ ŸÔsÓÀè‡Ç%N#"&üáǨ»]¼ø«ÿvüÏ'3DÄ„‡ÏûA·³åBŸ³ûÔ TÍúÞH" Ÿüý£‡ÎvÃȾjþê³ó—Ÿœ˜7+üF©øùs{?øšQ…OÕýIs€&~Ƹ‘D$ûAD<+9{±óì¹3Ü#³¿FD᪈ø‡¨ªõ·ÔŸž8'†%"ù3ó‚%åk<Ø6aþÂér"b£f¿yö`£ˆˆ‘M›=…#¢p•‚ Ÿ–ÉÿMþÎùëOO˜ÿb GD¬*q^d ñH°óÀL]˜¨b‰Ø¨Äïl:Ù)¶ü¦/ vT¸©óem‡Z"Å‹k—Éå¬ZµÃ7{Ó’˜a°‚‹‰|1Aqý\²iÿIÙìE Š`¿gáT©þçÛï Hÿ9³ï]À+›Dâ6Ù¬äDÄMI˜ÂøÛúÎŒÈL iÿ¡F_”Oÿå¯×Î’‹žCõ‘/-Œáˆˆ›¶ðÅ mû›=¯õìÛ#L_ô GÄM]” ìé3‰žøÂ”`(=3=üt½+¸íÇ_LŒb‰ˆ›’8i;Ò&Xæá‰ó§qD¤˜³Õf]3c£~Y]ûÎBKDŠé $oà§ Ã1SæëY¦RɾÎïòõ€S%ÌS…æÖ=ûö ÓçMéIaØil¶­sÁz›ðt)^šrvßAOOÊ“0oÊ€g¶è9˜³tbÙ†Þ…¨¢k{²v¦!ó-é… Ë¦ÝtŒKhzsEžgö†eÓX’$‰¶w°‰‘3$‰Òuο$µÕû6T×ÕU¯Ò²eù[7·ê—jµú”uM1ËÖ¾lÄ¢¦'Óù3‰ ·Yív[ÉBfÿŠ{|DÜ´×Ö&´¬3hy~fÊzaíBÕµßz“Øf&$$D±D¬|Šœy”× Înµ1þºY­èu”•»ÕI±Äñ¥Gḵ,«ÖÆr~w€|ö!ÆAÄF›v×î6*ƒ™æ’ì&³Ø¬áˆØhsMí†"Šˆå•‚Ç/‘ßé¢Ú"VmH×0DD‚ë@«<%]ËQŸ¢ñÛw|‹n„¡°P×o,#*­Ø;8ÝÜ[ 0˜‹}r[ÜåÝU§^?ÊììY„|]aa ýsìÃa;.Dñ<‰»+?z·'O¾øð˜@?vdß2¡swDOÊÙ}ñkÿòÒÎ`+)Ñeæ]DWn©ýòëËç;Üsw†núºéÉó—ÕÄms>ÿí}+ÿÛ-ç^J˜4OuÕmÆ—ÿÑò\h££&OVüzÖ#2ºxþëËÌ„ž/6‘½üÑùË»»iԨЎ {,lÄ©¨f¥€@LÏEˆe2¦H|:ýVšnWÏ›¤ðÈ`ÄÈ®ô"˜ž»­‚ÿ# žqrYo'#œ¤ÎàÅX&½U&ã(àá3¥ç­,§IGŠÄEÓvdQ¼¶!jXÜ–$“ßèlt RçÞtáP|Jæ™{ xo­ÿÄþ»º"¢ÀiIšÝ·Ã³ìM{wíÙ¾xËiéñŸ-zýõ…Sþ€tr£Q·¥'Hu6@$Äý[*>Û™>óPoqî=¹dí4–ˆYÏ2?–SȨ1 1\xOyËdŒä“¤˼7¤‰ Þm+z޼µ}o“O$"©ó´t‘ˆëÆ0C½ÑNwq¡ÿàâ”'D²©kªwΑ×f#Ü•³"M*©þåõGºDϾœ¥ouÎßúNp$†‘õKr$¿èê<Ñã/.LP°Dìô… Uû+OtRÔõ‡«¸„‡èk9´}ÅâUT½­OMʧ¿²azÏÞÏyå…])‡šüóceæœL,«}%†#ãæÅ+V©®©ÿb»ßá2òž—!6Ô3¨bTñ·táb1¾²cÞx¹Õ•¢á¤ê`9{FÎõìg„œ‘¼’Hqr®§½fhÀÔ6ê˜ «KŒ’l.…q]Ä5cïýüÙ÷B…“¼®0UMDŽê‚2›K †>?“B¢à—Xù•ž%‰$OÅÉ“•¡¡Ñ]WTPÝàFò{¤è`„0²Ðž3r…œ!"ÑïxJæòåLð -É•‚xU­ÜFbËç¿[H?Ï®óQTÚîÒ¬ØÁZp†´`xlâC26,˨x½Òóo‘¿ž:¦§M¹úßîn©÷ÉÄÝ—;{Ú…ó_wfÂd,;6Œ}Ùôô¬±}¾µë|ýÍ6FŽx„ôuÏatuŸGÈÆŽÝF]]RÑ(¢®®vñZ„ÌÈX’z– ‰‚§S åLä’êŠþe±é†_År*5ùD\ðÕIÌQ'‘Ô;Ö$Sp2y8Ó“ó“ F.—‘èÚµ¹)ò…Ÿùvm?œpƒÛŸîÇ¢$êíbIà0¼,œc&¼TñÞ+ª¡Þ;¡>oU%³¦¢b–‚%¡q¹!ïªÚSL_¸vúB"ËžœÌU›§X)dÌ3k­Û¦k Á…•õ²%Õz§5|{ÒÒ*?¦%‘ð ")ØÐ( '“IBgO€ü.»¶Ï' 瘀'ôY|ž€L%U.ߨ”XöζŽÈS™œräöbx°È·VOæç2ù0n6Xnêü©þíûŽ´Õ3/n‹bélÏ8Å–;|‹**æ«X[ò ™Á9vnêÂéRÎþ“‰ÔÈ$n»vÀÊ_Ÿ·8ÏóâÖŠ…½·ø›6Òô9ÓäÄrª„…óT{w8û˘O$ѵgEæùkïô&Láª(ÆwÂ'Î’³D$xNv†OQ]'”Ã#ULo¸Ýd$ÆSÄ¥Jœ¥b‰UÄÌ^˜ðVæ‘6q޼÷ƒ‚§ÅÃDÆ\ù&†!ò5i Ÿ½)xpò©³§3™‡Ú„9ò~ûs ±*FßCœ&Uã/®«ãÜQ)±9C ¬’“œB(!—:ü§eXC‚_ âˆDÁ}Ý©eµA'˰:äRW_3W{å‘Q}.ŽK5—ÿ®MA¢Ó¬Ï%b99#º{nݼnQ® bäI…¥ñV“¥H_“«á¼Vs˸»&5š%o•qî±à ÔÚsÉï$+—Ë¢VTU¥*©Ð"øüw ek¬ÊÌ|Sì ^;±à[0î{9Ivþ÷©¢Ï.óð(:ÿõç]Dté3×—gú\5Ÿ—ˆèüWÏÐÓQc˜qÌ'íuŸuñ£N4s+”ý`üÓ_ÿ}oð™O]ç8µ×w‰h$ÑeIì&99v,y¾h8w‰ˆ¤ÎŽ¢ýg>/µŸøtéï;;‰ˆFOús˽Ұɱ2:ú¶NOGƒ8föF‡Oö}á«Cë&ºÔyê‹éªRyÌ3ÎÙ×"‘¿¾²1x=RLŸ£òT†ù$4U®ÌÙç¹ùw)¦Ïyüìžàw‰žC{Ûd ‰Á{¥'ö„î9:²ÿtøô©áläœg¨±2ø3 þ{ëSfOáHt½•³_±dÃëk×&´mÉ;ìF%ÉÈéódðÙZ®#‡NKDDÜ´¦tª >mItíËY9TweJþNI¦P…³DBËþÊ“’$ô‰dÏž¥i9Áâ–«"2"bT‰ á'v…ÖLûë·¯Ü<Èõᯯü0|NBŸ^¬"a¶âDσ£:ë÷ŸˆHl;Tßùxèf7:½/øØ-áÄþRdÂ÷âqÓ^ˆ ùí‡~"òÎK[¼ý¤_è 0òHG$úê+ž%18ùË’$¤›Åð ö=YN4ÜŸºÌM]8=°wG=÷bbŸ ”:ýŒ2Ñs¤²) ‚aÆM™—@GÞÚQϽøâ5i‹ï`N^KbIɾ·ÒKm{7®Ú¼Rh9´ß#‹Œ '}õ_õ$9±eǪ]²þ“€Ä·xÈ# M»Þ<©zqÎõ—¸)óèPÏ{++=á Óo‹üGv¬ËÙÕä'"Ñ÷áÞÆÀ„i –Hp5Ö·ø‰Dß¾œô¥;‚?å9øæþÎÈÙÓäá*•ìì‘úà¹$´Õ7vN˜®¸¦Ë;@lû[‡îÿ¸ùéÔxðð Þ%€*~à«ø¦ÍULŠÆW^æŠMÕ\9”Ná®¶¹E"Ñ[WíVè4J.šWøØÝ"‘à¬>æ—®Ÿ×d %% ʤøˆ[ÛÁ/É¢ÔD¢û@yK@DQÁdzÎê:/‘è®ÊHµóÉ¢ÔjýêÜ»¥È!ˆ‚Obäj%KÔá¨>à‘DH˵ڜD¢»®¢9@DÄE%E{­Öf‘ˆD·5w0Á[J‹5§%ÌÖƒoÇÑ­_\|ò×üŠÏ¹Ó­_ŽRŽýmlV¦š˜÷³Ï–þ穽ó"ç©/}Ͻ¡üãÇ=9ê‘Éa_IDD—(ì¡YôùòÝ>ÿúÒøÉʼ¨ÑD£çýóÄÏÿÓczûuÓØ ã³~úÑù›oolĪ$qÓÿùd®HD#'=©Xõ½‘D£â~øÐnGë\ÏÊŒª_Åy¶V,¦Ë4ŠÑ<£zšÉüèû3êz€IµpÃ’“«2gî—Mˆœþbâãž ¾ºi/'Ǩ ‘,ò…×7¨ˆnÚÚ«æm[ãËYeÐIDŒbú²­ËbX‰hBB̉œoyÎvÒ”—6,Šb‰ÖnZ˜·9M·%¸MæÈÅ–í«É—Ȗɗ¬MHY•wpÚ¶á²R“›ºdÉ”U«Œ  ydbâæIDŠ96yò6§èÁLqÙÕÐä3òÄ%ó夎„‡+¦-\öÚÏV­[•Y¹sY¨æf/JlÜœÂo$†!Yä쵦±,-ÛöÚ–œ¥†]…O]¸vÑ V…ïHåÉ s^ï×U$ÌV½UyÄ7=œ˜ ÓeûW,Èóœí”M]¶ižŠÈCÄD&Юô'}g¥ð„×~('º¦G(Ÿ³iC[Îf#¿J¢ SçmÚ4]Î(–<³|£Q·#\ùâ’×_j[±ciŽªâµÄé²U+ É/lû·ư œk{¼‘óÜœ—Øw'÷̲E‘+V’Â'Ècæ/{ý…¶oVT¼ÃFÎKdL{å¯]{'º¯qï‰À香¿íyeÂKÕï½2Ó&_Þö´™%"ÙãÏ,Ú´v:GäoÚµñ­©‘ 1WÆÄ“{œ Ö´ëz†˜¦nµíœóÚÖE99Kõ[:¥ð)/¬Ù´PED¾}iÆ-mÁ·­Òk‰&¼T^ýJÔô×¶.ÊËY%qͯ穈DÏÞœUžµµï$D-Ù¶&“gÐv1ž™·iÓ‹ "Åk[—äm KŒ*!ø©«Æ®mÑ·ËFÏڄ銛÷þÛ*·l‘oM˜&gQŨâÁ (c<Û cX¢ÞTURdv[2ôe"±J­¹(EMDÆÜ”†ìÔ™eœZ›¢S1×Í Õ:£¬dkÄÆ[Íj9m–±Â<—¯P¨5©Y+fXÖ¼jѾ›[˜n±ÌÕ®—•Î\”¤¤–ÞŒru®mîú]M¦I“‘­×Ëj>ËœæÌZŸQ¬Þ¹‚ÏÈ}žg±:£Vá%"ŠÐoÌoYcÑó«Ö­ÎWߟ#Ž#D¿«CãòåË—.]êîîîîî–$IÅöööøøø[ÿIº¥ Ás-Ö]{Ž{¿éº6ãž•öóÿ­ƒÊ€aÈx±qWbõïæ÷ëëy*¤Õ¿b{'C ?¾}‹Ó޼p×w‹M›Wyn{QqvùnëˆmTñ°¨âææfF3T[ï¨ÍøùäšbýЃ؜û¼E^zû¿‹ët:¥ôœNgllìõþÊ\ó3ј­…߸ãò#ÊîïŒçð[»| Á'qß•NiÊÂŽÙé{¹-T1ªø;@pV”yã-Ú¡Éi½VSªUW¾;U-9­ bÔºaô€¤µCKtmOKßÛ9eÉÖMÓî¾7«˜>çže!÷r[¨bTñƒžÒ:Ìs_uÊSŠJ5C4S«Ô­N·g§Î,!⢒r µÃhm!ùg‹nÑÐ.Bî†j2ž„ ÃÒZ@Z €´i-ÀÂsI‡Ö… ÂÂÂÖ܉qãÆµ··_¸pE1$$Iòz½ãÆ»­OáwkB&NœxæÌ™ÖÖÖîîn”Æp:wù ãÇW(nï“‘Ö„„……©T*”Ãð‚EÈ€´i-ÒZ@Z €´i-Àð»µ0Œ9s…ð2yòd¤µð 4|×`2 ­@Z €´Ö ­@Z 0ün-@Hwww{{ûßÿþ÷îîn”ÆËå“&M CZ pÛÜn7EGG3¥q»œN§F£¹›o$©½½½½½]­Vßú§° äïÿû¤I“Ó†a”Jåßÿþ÷ÛúÒZ€~™ a3ævW€#­€a i- ­@Z €´¾+ð»µðÝpñœÿÜ…®®~Á?†7îáÑ(€a ³µðàg´ŸðÖÚUùÛJÞî¯dó†UßýèÜ`m§ë«œmøÇ7ÝŸöMž¿ñ¯Úö‡üwßÙoíð¤/NÍ-üÃ?öü÷ü¿²íç=ût´âÊŸþ±°ÉTÓþÇowÏ[eÔšj…AýNÑ‘¥ÕµŠÃ¸X„ZSܵ´YŽûñ D§Y{õ®¦Z½×yss¾ž7;‡ö8ÄÖ|}\o¹³Ýè=w¹Qk²ß^ðzíVGÇýRÃA0º®:Ÿ{–6.ÎXå½ó†Ç^”¡×ÆÅÅÅñFsUs°…æ*³‘ׯÅÅiõ¦ÜZï j'øÖ¸à[óíÞþ¯jy}j®ÍÝûùgy×/XDom¾I¯‹‹ãë­4W‚ÝÂÇiÑm³¤òqqqZ½Ñ\ÕÚ»¡Õj6ÄÅ­^T1ªøþ¾âÙMqqZ³£oé9-Wè º¼Ù)Š3Œ˜»ÅÇ÷û¾›]¸ú×ç--7щ´`è³Z·í÷Âs–Myë®–÷«¬§>µÙ?¿8x1VüÒê»Ôûÿ;?ýücñí䘵™ÿð_Ùÿð_¿üñVíÃíÿÝjQ¤ @ IDAT²}Ù“ÙÒø)?ü}ö?üWö?ü~ñ?é<›søœ„¨€o§/?~üøñãÇ?x#ž‘évpüøñãÇÅZö>ÝafFipCªŒÊû¸ å¬8&KJ’;Êîj@ERþ~1ÏÝ^W»¬¼Î'±±æ[®†E¬ßBp12¡®Úu¥ÇÙá¨n¾«ŸÁt—gYê«k>8~ü?‹´®­Ùe­" Ž‚¬’€±´öøñjV(ík²\¯×*8r³Jü†â£ÇP•ɰ¬¯í œÙe’©üƒã[¡ÎU`.suز^ÎwEiäL¿‘•²¬_X{üøÑRƒ¿ªÌÞqÓŽAƒà°ÅÖ’¬·®ôèñãGKSe¯5‹D$8,©Ù¥F*F`ZªWv§Õ)Ñm…«Íµ••D¢Çæ ´{‘ö&­3#O~7xáúàýu1΂¬`}ÒZøN¤µ.Pø÷Ç ô§Ñáj®K¸0xÛöÓ'FþÁùUOJ)~àüæñ§Øž…ÎÿXÿIjqÓóÅMÏ¿ùñ¶OD""»iÛÇÖ?[QÑœZÜ”Zã;ÝEDh?½âÍãÿT|"uÛúûÏ×|)Ñ7ëþæ¹ÅMÏ7Í­ø¬Öéš`ŸzúñMócZÝ_\ýWæ‘G OŒ:NBZ{GÄÖ*³A«å FSn[ºÒã/Ê0ð<ÏóS~p]t˜yCny‘9#ÕÀ󩹵Ͷü,“ÑÀó©EÁëŸè¶åšô<¯×óú+CòÄ¿¡(ÃÀkãâôÅ¡K¥à,Ï2ò<¯çyCFpôÝk5ñ†Ð,×–Áò›…ûºèY¼!·ØlÐê-N¯5UÛ;+ÚaKÕ¦Z;‚ÇYœ,H}ê­Í|[‚“Z­VËÍUý÷DtÛ,©z>XáYÅWª3ô¢!£ÈÑñ­ìU‡£Â¡HMO7E7—÷ö4;l©ZcQ±%#5Õ¨ç YÁ w¹Ak*.6›R=o´ôÍwW›žÏ N&t8Š3 ¼V§5d•%4/¤ÕjµzS¾½ƒH°›_ÞêòÈš›Qån.škÈuŠǰؚ¯×›«Ê-©FÏ-µÞïr‹!×òLCyo×{¬ÚÍ«™Þú –½V«5Ovo•Q{e&ElÎÕ_5o#‹2­+4óJ–("&‰— .ŸD¤Ô­.\—ͱJ>)–ñ7û¯wòÈ æü|S,GĪycy]]UÒeêÔ,kÌÔøë¬­"•YZµÎ¨î—ò¸ªt«Sb9".ÚTj-ÒGÜ8híEî¤Õ:9]9*>ÎdHt[ë„øLc4GĪ“2y²W·ˆDŒ2¥¸¦(MÃ1×ËûnÛDB­Ik,®ÊÍ2õ¼ÞTìpVY2Rz^ŸQ>ø ªø¯â›¦µj^á²öT¢ÐlmV𪫮Á&2¸obsy†^Ëë ©æj—¼<æLV¯×úªåXÀW‘üʲYúÜf±§‰7ñ¡Kä@)±R›ž®ö78½=Sã<ÏkyCÏÖ„ÖPs~M9 ÍEF}†Õ+’à,vazZ|"œE&½–×2ò«ò †àÞt8Š2 z½ž×-V÷ýºdi-À`žP“¦„‡·þ‡óDDäï´çŒO„ÿh;•ó'Jû—Ÿ¾Ÿ5­ê9öƒß·Ù¾"5ŠºÏ×’bSZlÕâ'žòýõÍö.ê:·ÓöEà™½Ÿ5µìg#k?é’h$Ñ¥¶½óUÄÖ%ÓÞÏúñ†ImÖ3§»jf¿1s\×þru«#}õ¥µíòO~ÂÉPQwÀ]mÙêÒ•µÛ¬…¼û˜O ]³-vÕê»Ý^[È·¬ÏªvK’¯ÁËç–VÙªÒÅkr]†Âr«­Ü$X‹íDî2sA³¦Ðf¯­­-Mõ—dG±Iò;¢Wר¼›"TXŠ›Eì¹ærJ¯²Ûkí¶ÕŠc‹ÕKJc~–Òf)k;j м†|s,w_˯Á­+uÔækîËtز³¬Lf•Ýn¯Ýâ/ ìÁ^°¾N¾ú}‡ÃQ[¤iÙº¾ïB9ÑYTäŒ)¬µÛíöšÕj·ÍÑAbsQV+¾Ðf·Ûm¹*{v¶í[Hl½Ç*ܱ&Rɧi|Õu=ûÄ0’§N0VUYß/5z·Z¬n""Fj±sé¥UV[M‘ÆY[×1`™¯É®SåÚŽã5éR™¹À)ˆ­e–­nCùQ‡ÃQ“Nr·:EŽÏÏŸ!“'×”¦^™`8†Yò7“g–VYm5«#ì[Ë[¿Ãë•….Eîì™ÉñÚ­>MŠ†ë ¤­–jJ¯r8Gw;*,e­¢’OUû¬uîPzam mª¦ï‰¡5èCgºèkpQº(Ž85¯×*‰ˆÄ§µ¢™‹7¨¯3›ÎEó>´¡Ãiss­‚ü­nI¡‘‡>Â)£8¿Ë'qÑÑJöª/ò77 r®¡Àdày^oºÙêÇ{A‘Û˜oоrγê”ü¬Ž$ŸKÇ*C‡Ç*4rÉíˆXu¬úÆ‹nÛ,I»”RXn}¿t†¯âÕ"J£Êú~q¼»¬dÐWÏ£Šø*¾)NcŒr½Ìš­.µ1>”°»«ÍEÞ¤ÒZ{­}wj ,»¬•ÈkÍ-Òªjkm¥©äôõ™cPßÈŸ!Seî~oÛ+3™kp€à<àV§Ìˆ¸Y 2$44kŠkíö£¥:WIA]‰ÍÅÙlVÃq´Ôà.°ôNò‹^›%Û¡Í/4*©µ,×Jé5v»ýý\]AY«Hbk±ÅÆ­xß^[³Z]wÀ'1 QGíKbuMm­ýÝt¡Ø|3ĶkïVâs銴`P=a ÿÚÚ&]:}ò‹Î'ûI¨ýîúøOMRÌ|d$É&=ö,ûM­/¸þù!ýÓ3DôÐC?Kç/ÓW_ýékÖøôà ‘L©üå"¢®¯kÿÒý£g¾÷ø("õ#Í÷'œû*”?_môã,Îw[Ì/Oþù¹Â?ücáž{çÔ|ï_žÂÂ;jˆ›í…ÎËQD|ÊŒàØ´×as)RLÚ"b£“Ò¢|6‡—ˆˆ‘i 1ÉÕJF®ÑE±Á“ß ¯ÃîQ¤c9"bÕº”(¡¡.Øy`4i:5KÄFëŒ*¿³Ù/ºl ¤5;*œ&Eǹl͑ҸÎqÀ’½Õk(ÌŒuÊDùë¯ðœÖfÎÎ+‰ˆUêÒ4â1Û=–Že<Û÷.`³S$Ž/¬µåóDÄÅð1ŒßÕwf„S°‚ÓzÀáî#´æ¢\}„è¶óG¥™b9"â4&£Âeuz^ë¶V ñéñ§IŸ!TW_Éå:cL0”âµr½5¸m•QÍ£×0®:—8`™ËuÁ^µÒðF­m†c£Í5GËMj–ˆ”ñ¼Br{^pÝfbSBѪVq‚Ïÿ]n485Ÿ¢Í­»­V!>%¦'…a5ùµµo”ÁzÓÈ·ŸH9#-Ögµ¹{Rž)1žÙ¢ÛfɨVšó{×Ì‹­E†¸gÿ)£D4æ›57ãœÅ¯æº ùf K’${%¹aä ‰âuN=É/I.»—ϯ±ÛkÖÅ6d•\Ü¢Ã^Pä3槨¹þy—–×D‰‚Dì•ù:–aH·V®7‰mFÁóÑ,+•3*Vú7ùýªU<øymJŒ»º¡ƒHpV»¢Œ.XÔ^gOPê’Õ~{‹Wpó)’x5KÄÅ$ñŠyYµ‘嵂ó€[mŒ¿nV+zeånuRlq|éÑs,Kε±œß Ÿ½Aˆ1ÆG±Ñ¦Ýµ»CÁäo.É.a2‹ÍŽˆ6×Ô¾aˆ ¢ˆX^)xüùN!Ú¨ bÕ†ôàH´à:Ð*OI×rDÁ§hüvǯʼn0^™Þ'"ŠJ+6R7OBTa쳚‡w::ÏÆp¶Ohæ 2æ«à.Ÿ?™Q†õœya?tùOç/…õœˆ u‘$^”(llè½#ÃÇdÎQ÷—"ÉÆö E±£eÔuV¼4À>t‰Ÿž'Yøè`‹9~Ê«ž“1DÔ%þÑÑ–óïÒ†ÿïÉŸ>„ªºÍHˆQ†.B,«”1."QðÈS’Ê—…ÞäQÁ$ˆ•1WRYæJý‰‚;@œ¼§'ÀDÈIô¯öœ¼ç6'NÆQÀ'r¿ÄÆö̯³œB&9GJ]º¦(£N¹:?zX T\9à;a~AòW¿¬·_’Lü=Ȉ˜¥G‹®¾S´ÃiÝZf >Þ$à‘Ĥ¾ŽXóîÂê²ê"SGRÍH·¬6Åü‚Ô²ÞÀô©}¢ˆAÜO±¹ü€ÇçùÙ=¯Èª[2ƒ÷¸22E¨År 9s¥¼e2Vòpëà¤Þ&–ã‚Ýéºâ¢j§W$"Éï‘®3qÝfˆé½Éî.â²Ãfš»¾%@$Ó¬«)5D ×fCΛb‹Êê¼:µNâ £X_oé7(*±6wˆD$ùü¤!"ŠÐ¦h ªZÓÍ’ÍÉè £(ÂGÑ«»zõî|ý•Êa£Í¶ã™‚»¡Ì’•*•ÖÜ ‹(º­–ŒbJqyp$†áBIדÖôM®>‹‰TF¯d‰XmšIm-wúÍÑIGmA‘?¥8åzór,Ç(ôF¥ˆ½Å…DÅv¿­0=­(ÃôæU ªUü-]E¸XcŒ¯ì˜7^nuG¥h8©:XÎ^‘÷¤õL„œ‘¼’HBo»Ér †L Ùh£ŽÉ°ºÄ(ÉæR×E\3öðÞÏŸ}/1Éë SÕDÔá¨.(³¹b(àó3)$ ~‰•_iáY"‘HòT¬ñ<¹g]t×T7xE†‘ü):!Œ¬§Tå 9CD¢ßð”ÌåË™àZ’+ñŽù>ÿÝBúyvŸˆ¢Òv—f Ú‚3¤µƒL¦~ì§‡ÏØ>ùúƒQ᛾?’BiíˆñcGHç»{2ÏîÓߌ¸’£^ÕJ²£ºÔóÞKç.IaD6ž¥ÏÎw‡Yˆ4j;’®I•|_ýú!ã¤ÑDý“ÞQìOÿ—âñÿñí¼ôS%VjÜ%É+õvêýR(`¢2kªú÷»Eç ¿ŠåÔ2rú…P/Cêð+#©7½%É!g®¼( î!çˆHl-ËwF'Ïð–ÕθÙíO÷YQõNH‚Ø“ô2Š´*[–z¨÷N°¯Ï.gÖUUé•, Ž,ýú«jO©5åjMDÍUk2̱ï§+9&~­Xû­-œåvYfM­©§t¼U©©å ‚†'")à u/DÁ NŒ*¡7À~ñJïªÿ@p÷tM¯[àÔRyÖz§nwyq,Gä.7Ì­»½,ºâšøàø1Œ› –Ó¤hüEÖ:—1G³äë§(È*ò¦WU¥ªY›sõÁANcÒŠk‹ž]ñµVöÜ—sÝÆâ*So/°Ãik xƒ&‚XNͧ¥¨«Ëœ>sìÀ'’ØZõjFµ|uUyoÂ$WG3>§OÔG°D$¸[üòõuBY¥fzÃíÆ!Ûò^ƒÏå4éˈH $ÊÒ›ÒËË{C˜QÄÊýÍ^Ô‰§—‰Šºµ3èbUŒ*¾—c¶šT¿¸®ŽsG¥ÄrºþË”œäB ¹Ôá—8-ÃÊê96Qp_wîZmÐÉ2¬N'¹ÔÆÕ×´€Œ—ˆåäŒè¼nQ® bäI…¥ñV“¥H_“«á¼Vs˸»&5š%o•qî±à ÔÚsÉï$+—Ë¢VTU¥ÖS#øüw ek¬ÊÌ|Ó`ÞD…®-À`{è‘OuY~%ûIÄã}rʧ~ÂQ»ïƒ¯.Qç_>ÿ@|Ø0é:¿šûÈ#?d¿±µ] ¢€×÷;ïe"¢QëŸûôÃŽÓ]DÔõ±ó‹³áþÃ#W}²ëtÛé5~æ'*ƒüš³»ëâÇúüÓ°‡~ôNüÛoƒcã¾:kðÉ öò†àõH©5¨ÝåÕÁ6 ÎrsèÖÆSj *_Uð»D·­ÚÅÍÐG¼Î*{‰î:«G®ÕÈÙ(C<9ʃ?ÓÐá¬>&Ä&Åp$¶–X¬ÊÌ–ÜÜ®‚õµè$Y¹œü->‘ˆÄÖº)Ø/0Æú”oP[­óPÝ•)úý§TËY"¡ÙZÑ,õ™o rWe¤Z‚Å¡ŽV„–àÎ;ËBk¦;ìEæüA®{EƒÜÀ÷éÅ*ù$¥³çÁQ~»µE "ÑuÀîWñÑÁ‚Ç|ì–à´:¥(^ÅÐ3F u Dä­ÍM55û¿ÀDD)8"Ñk/·ùzf[X…¾åpƒ¬d!"ˆæ7MpS| ºÈÎu}*Pòû%&e¢»®ÜBÅËŤðTW\tŒ3¯I[¼¶5¹ÍºÒÒ~½@©µz½¹ ~Bó«[%'½v[íUO’›‹²Ëdý'‰Iá©®ä€[$œeÅÍj£ázƒK\l O¶ž÷V”»å¼V9à¶8¾ÔqÜaªJSÈf×–›ÔDB«ÃÞÜœ’7”Xƒ³Û9]JÔ-Öõ±ÝÑ\k»ÅE‘[í Þ%€*~à«ø¦ÍULŠÆW^æŠí{§t„F§pWÛÜ"‘è­«v+t%Í+|ìÁÒ­>æ—®Ÿ×d %% ʤø[×ü’,JA$º”·$A|<묮ó‰îªŒTË1?‘,J­Ö¯Î±[Š‚(ø$F®V²DŽêIˆä±±\«ÍÙA$ºë*šDD\TR´×ÚÓâ[sã¡Q¼¥´Ø4ÈÁl-<èFãèó?~1râ59ä9÷Ÿ;GM3z°79ò)ÍxÙ'ãÓcú¾*‹œ¼¡óÔöÿÿÛˆˆ}XÿB¤~,õÌå^u^>²tVøªÃ'ÿé¿Ã&(䯧F‰häfE.=ð—où$"&üѕƵ)?³%;ãY+§ˆŠ7êT ÍÁW ×y-/m\½QMtÓÖ^R¼ÎkÉÖó"«Ôšß0Dz$‘‚u®1–¸}~ŠMËOf‰øÜ"Sn~*_Ü@áFC„Ø\”m‹0W"ˆ"²rù¹æõ6MñpY©Éi23c³ÍÏ•Šˆ(.†©#‰HiØXè^_0—‚™âŠ|õÐä3ºÌ›åe}\®Ð˜Ì«gd¯1g”—™{:麆ü¹ÚõÄ0ÄEr7jX–ÌÅ« ,ú2‘ˆäSnú V…·®¼YaXݯªä“Ô%åuÞx91ŠxΚeÌuûüœfEaŠšÈMÄDñTö²±Åëåüê"]‘ïšC5æ»Ö<¯Í–H¡I)*ÔÊeV|Öúçù­re”1Ó’æÊÚšaQW­Öi¹ìWõ†ä’ÜÆp+Ú‰k{¼Q):y]sŠ®ï,¿"=úÕl½^®Ç¦šW'»^]oÊWVYbÙ¨ûójùêkïD÷6T;çÏŸ­èyE‘VcËJ-,ô­/J}v½D$Sŧåj9¢gÙúM{eNGl©®ókþ)nMèFóFm©6võéKÆÌ¿$I^WhR‘ךú|+ø¶ì™qDŠ´wk²¢µ«ßHϵ˜ž-,*iuqºšˆ„k·uÝQ#wµ%Û{´œçÔéE«ý–l}‰_’EéÌÅæh–H°gÌÌÍv<W@2]im~ÿûˆmÑg-XïÎåµ7ŸJ\òb^Á¢ŠQŃÆx¶A2ư¡>Y°,2»ƒV©5¥¨‰È˜›Ò:³ŒSkSt*溹¡Zg”•lØx«Y-§Í2V˜çò µ&5kÅ ËšW-Úws Ó-–¹Úõ£Ò™‹’”ÔÒ›Q®ÎµÍ]_ «É4i2²õz¹BÍg™ÓœYë3ŠÕ»3Wð¹Ïó¬"VgÔ*¼DDúù-k,z^ bÕºÕCu…¾™×½oà[vùòåK—.uwwwwwK’$Šb{{{||ü oèÜG{Þ®úŸ¿^¸æ©Á£¸§ŸûEZ¢úáûºœ.ýqÿsžª1Œc4ÐGG­éù2]µÿÊ0w¹1ÕžU[Îs(¡áÇk5¥ÖïúŽbÑ™Ÿí6ß“_b¾‡Ûz bU<,ªØétj4š¡kÛ3~~ ¹¦X?´Å 6ç>o‘—ÞþýAƒUz·û=˜­…߸ÏýÇó‡Õ.‹¶ŠæjeTÙ¬q²ó_¾×~é©YcÓ<èImmI™>‰û®øÅXÓ å½Ùé{¹-T1ªø;@pV”yã-Ú¡Éi½VSªUW¾;U-9­ bÔ:ùð)9¤µ÷!VÿÜÄ?øtî¶KDaOÅ<±áéÑ(€—ØZ”úrµ?6³¸Ps÷½Y¥Öpϲ{¹-T1ªøAOi湯:å)E¥š!š©UêV§Û³Sg–qQI¹…Úa´6‹aÈܳEÈ·hh!£ôîì{ð@TÆÖÒZ¤µHkî$I(„!táÂ…°°0¤µwâÑGmoo¿páŠbHH’äõz}ôÑÛú~· D­V»ÝîÖÖÖîîn”Æp:wù r¹|Ò¤IHkîDXXØ“O>‰r^°Ö ­@Z HkÖ ­~·†±S§N¡¾S&OžŒ´'ND!|Ça2 ­@Z €´Ö ­@Z 0ün-@Hww·Ïç;wî\ww7JcHŒ?^¡P„……!­¸mgΜ9rdttô˜1cP·Ëétj4š»ùI’ÚÛÛ}>ßĉoýSX„ rîܹI“&!§* Ã(•ÊsçÎÝÖ§ÖôˬPCh̘1·»i- cHki-ÒZ¤µð]ß­…ç:…oººúÿC7nÌh” À°†ÙZxð3Ú/~³!gKÉÛ¿éïííù9›÷´œ¬ítÛ°óOÏýæÌg}“gñ˵;ÿô\åçŸ_÷SnK{û£çÞøÓso|”¶×sðo½O3¿Ôþñ™µ•ÍÏ¿ñ§çÞøÓÜÝmE'+Ûúh­§µ;D|{ð‹ ƒúbãr>i»KÆÅ"^¬½¿¼ñ~<(±i%õ®¦íó]çÍ-›“t+›†ö8D׿$­V—sg»Ñ{žÊüâúÛ ^_ý¾FÿýRÃA0º®:Ÿ…úå¼V»`ïΞúíK“x­V«Õ-X¹§%X‰BËž• t¼V«å“çöÝ v‚oÕߺ¹Þ×ÿU^—”–wÐÓûySåRVÛ/XDßáÍ‹“x­V«[³ï†Í•ïðæ¥É=;[Ù"\}Ͻ¤¼‘ˆÈ_¿}i²N—”¤Kºrˆ¨bTñ}yų›ââ´fGßÒsZø¸8“ýŽÊ[eäÍNQt˜yc•—ˆ:ìC\ßïû®;§Yw…>5׿¾åYtölë…ÙZxà³ÚÓ‡ ³^ûU|øµòX·ìù¿_DÏþþ`ÍÙŽ+~µÿ¬Ò<14`ÔùYÇ'4âúï¿ô磧ŠÿöhÞÂ'V”T¥[ Z[õ¶.—ö26·QÖvy¬¡{MqÇÀ̶ìØ0?ptzêÏ‘â÷¤¥Ð" •_¾žÿPÚœ_Ÿ÷çœóy>ŸsòËNÕœ9Ô¹û-iF÷¥×£[ô’owEË';wî>þÔœ<žÍ]éõ)‹º~•‹Q¥î=¾|íàI Þsì+} f|÷“Õs7x·hRGž]V¾zçtßš£[W½˜ZÚì_l`’¯o*Y·zZnë|ͨ5èðÆU/ö/i ,ÉeâûW—Toœî{þæÈÖÕ;•å/½1W§ôì./fgî¯Ó‘¸ÿÉe»¹‚éYÇú‡÷¬ì|rëñ¹Ûü/åRt÷êê¿x€½ÎìY½épöï¶Ò³»¼tÕŽéþµÃ¯ЍLYÔâ}Â0¼6‰û««ê¶ùžŸÁQrÿŠâU[³ý®Û3!¾éC|u€éñF$³¾¢J_D¡+ª¬¹Æod8"9îSI{¨B©mò v½æÎa‰äDØSVYÑlô_r¡o ŒÖÂÍîÌéÓ4ùÎQÛp&ßÑNݶÆû±î[‘ßH©Á‹z×o>½ûûÌ"ú¤ïÉç5ýùlæ/þÏ’ç{_ÿdàÝ?ŸQÝ•uïÄ[ˆˆÆßjžÝâÐNOôɇMoÉ?~`jÅTYã‰ÆO˜:õ¯~ñ_'ö»Ä~õš£{žY –/Ûx0®œkñ?»bÅb±X,Û’îF—?cY°q÷³Ï¬(Y`±”l|½gÿ–'—=¼Àb)yöˆDD$Ç÷o\V4¢¿š¡þ·v¬X`Ìæ¢/ÉtÔ3ð IDATÙýäË¥ÈbY°"Ýûž|u™eAf” ¹…eÁ–ë»Ç[>ü¤eÁÆžY UI¾Z" ŠŠûK„’WÅôq¾ðdº ‹J.1Fð5KV‚ X~fÏù{"Ç÷W—YÒò…sáÌürÁŠg‹_Ë^‰‡wÖ,^ºtIö±Ý"+¿‡Ÿ}¡zEIÉÃE–Oî‰JDß½@Xö Ï,+yxA‘åáêa£3D߻̾*=:#~aÅ‹ ˜…OîNKf\H¡hÙ–N‘Hê|fَ㧬*^±'Þ³£Ø¾ñˆÙ“{ÎóÉ=‹,Ï~b«²—¬Ù¼²@ÃñÓæd¥ŽŸRˆ4…Om^»ØÀ±š‚9Óñ˜x±“'kîÊ –ärD¬®`~6%§H>¾ç0./Ô±D\î¼åÓû¾•‰˜ìåÏ·®™¯ÞB—ï=*|jQ.GÄ–<ÿ«‹%˜òü‰~l¼=õ›?®ý—÷½{ºÿ Ñø ß4!Rúúß!Õ¼ïŸ7ŒÌLáóo—ú } Ä÷Vï8^ؾò«ÍñÎSJ漺ºS÷´7 ú7ÛôäÞ81¤œ:œ,Xû|ë+­Kåë6Ÿ³ù¥_½òÒiß‹"Q|ç3[{¦oö;:üÏ/îqõŽôä,¥ÿðáì§½ÁÐ-‹S¿¬~±G&©sãêÝ´´5ìúžÖtVW¿š$Íü Ë5ªwFeñõ-;’s6¬Ìå®ëÂc:u8^ø|¨cÃŒÑ;²Åý«Wíc–·ƒAÿK‹ÄWeŠäê“:·l:˜õ´/ ù7Ï8¶cÓ¾a¹™|ôÙG¦möƒÁ ÷i]üÀa‘äžOn=~ßf_0ô­Õu®^½ÿkHl“¿ŒO[R¨Ñ,™žÜ{09T²Ê‰ƒ©y›[[åkœŸÜQ½/NDÄ(Ç:¹¥­¿zÅ»yÆ‘­Š£–yõꃺµ¾P(ì]ªì\½õˆ$GwVïˆÏ}) …¼KéÀÆGd®`Æ¿UeÍÙæ}~ñ”sçèu˜¡þ·:³–?ßú«W¼Oñ;vG¿Áó•™)…‹ù£{2IO²s_rÆâ险6ò‘Õ{iik( 4ÏY½3*k ëN½z0žI/ö¦¼ÅÓ‡ŸØ|ÞÜ2gº|ê­Ã©ìÂlŽ8]ÁyštÂpdßîcª¼9º‹ }q†‚¹™A>ñèþ¸jFÞê?W4ÓùÌ"œ&[Õü”BÄ ö‚õëIñª·¶.[`±XŠ–m¼0᎟ñ@#"’â¯ï~µ?{Î žˆÕ-Ú°yù4ŽH‘RJÿÁ ‚`yøÉ‹DÄj g¨Žè‰HŽ>Ø?å¾fU—¨Û,)':•E›_ú•¯± ùËU;hé¶Ö_ù¶åÅw¾xTFˆâ1Æ™ì†è+á¾LVÕÛó¹ôM.æuyEMP ´Ë‘j®lî%Jøj𥒶@Àßä HR9·­ý¹ÚY*]ù®W¶?6›éò¥/R¤#¦/ž¥¾ôVꪫë65B¡7š,ÑÆº`ÉÝ •­lE{8üF“-Vçîœ},'üîʰ¹¶Þ®¥Þæ•¶‡B¡×VqÁºæ^™äÞ·Ÿ[õZ(Ð^¥v$†!ê ¬q5Uí@èåR©ÁÕûÒEÖçwμ0”È#­¸žLšþeGô‘~ëØõÝψ(õÉÀgìøÉ¬|ü¸»XJ}pÅ|õ‰='¦ÎÍe‰ˆ¿oQAzN{òðþãS/É㉈5Ìùyö©ý‡“DDŒjÆœieé4LÖŒÂl6ý3‰ý)Jî<1eñü\ŽˆX]á¢ìÔáƒéÆ3}I¡Ž%b …óîé?r¬_>¾ÿ-Ê[’n¨pÓªŽ葈4ó×®äT¯^½#9góòÜ`“=¿@sñ\òȾcª9K 4évÏ’éJçø×ß@Qþµ|ö𧀟9"W°ÙïÛPÀ7­`#>2¢Ò0©#ûŽ‹2Ÿ÷Ä/Ö>ÀËñýÙ?_’Ë7cÉü)Ç÷ó¼6þê)oé}7}i´gØ rVá¼iéªt_^Ö‰ÎhzÛ÷Ì/4°DÄM+œÁ?x\µÌ³ ÏàˆH3w›ß·fÇžð^Z¢c‰H“W0E‰'S£gÙ£Õa…ˆ˜i‹ÓqVétªTò=·„Ó,ÒeÆÖ㯾*å-š6˜Â°36øýÛæjÒq›‘•Š÷i ~>íÔ«ûãƒ)OÁ¢i£žÙr|õŠ=š•†&¢ÊÑg˜gÛÊ_TæmX9ã’}\Ò‘VmŒÏÙ°rKŠ¢Ãu61ˆ“úb›ž%"­e^ õ$¤è¡¤¦HгD\n‘ µ“—ÕÛ…L^+E:bz{þE³Z9nn‰é‹ŒjΩ7Ú]F–ˆÕ›œKQ2Ô%åÚóÕDlŽsW`—]›nÌt7V62å .GÄæ¸ÚÏÙÔD¤6 Z).*$F"RŽÝ¬&bõ¶RCD$E;zùâR3GDj¡Ø$†Â_ú]µ­¾Þr^_†¡¤Áe›f ž­Sã˜üŸÜÖôÖïýPu J³ŠngßI¥ú«;óÇÿißü˜ûðõUÅ]ãÒ]KYw}§ì®ï”)Ÿ|Òy×óÊèç÷Î8n‚|æƒóÏÑ3ïʤš4ž¶W›’’ˆ¼ ±¬FÅ'’¥dŠN¼XbÙ9ø!%+;1ªs­fði«ô?²OÇ«†Y¤ô§oÆ*>+óQ•Š£TRJeõ+Ì´Á²œF¥N¥ˆ8Ò.±£ü æ© †â±$ÿE„§ú%¥o©í@úð%ÅÜw2¢QŸ­îÛ±sT""JP”9ù+_Ú¼wçžg—m=¡Üó·KŸ~zÉ´”˜RŽm²[¶VÒJñc¸ŸrÏî'Nõ—Î>0Tœ{-_;ƒ%"F58Íå4*:œRˆˆ.k°¼U*FI*ʨe>T¥‰M?m+ǾøìÞ#I™ˆ”þÊEz".Z‡ªíôž1÷/+Þt,E¤š¾Æûü\þF½ld,™¶cçÁdáôW*›³™SCÙ@Ï/îëe"RNõÓt"">oñô­[öD—®Ta 7grj‹‡Ÿ]UÝ©{ê¥ œ kxâ•ðr)þÖÎêU%J£÷‰‹÷tÉñW«W¼Ø¿xÛKéžFu^’£ˆç¥@¶à‰î™¿¤@ñyK–èöí>ÚO†‹wWqχÃr²çÀ³«–­&ïöa‘äóÛ7¸÷s›·³øÀqqîòêc…ÍÇr9oY¶jµnDüG«Ûç.Ã^pb3b!Fˆ¿¦»g´ç&›%òy_ÌPlâoºœÃsƒû©æ%¡È$Çsƒ×k†FM Ù»…)óEeƒâjìëÔ#ú^yäþW2…œ»`]½COD}ao]³?*C©¤È“,‰ ËŸ»Â³D2‘o]'~6Ó5"Ç‚ž:oWBfEŒ+9é¨2{Îðž!"YSñÆ…B “¾C+¼V’/ˆÊ$¶BíËõôHeP$"CÉ®¦ ãXM8CZ 0ÖÍwÝw~ü/ÉýÑOÃã'oüÎ-4ôªåñ·Ïûþ-Ïýøww}¤üÕ]÷²Dg>ý÷?žž¨›<•%"b&Nœeþ«ðü±K˜¯þöÔľøg3 çæ!+þ ë/æýÕ¢Ó(ç«}ëR±¤ N’¥x¿’É#˜ìåÞÖóoÊò‘/\ËéTtDLqé[T?1ÓTDýDÊP_s*%‘Jéø,f0çM' Ï«ˆHŽîÜr${Þß&w>ûzÁ<þt=%ÑPKI¥»áUY3åç­¯<¦»Ö{'un\½›YÓÚú€†%éð“¶DO“·dmÞ"±gOuùê-Ó|K5*æ¾µ¾íy_ÛDpéèîNÕroÇаFrOIÉî·¤D¤¤’’L6ÓË©TDDŠÔ?XÁR¢Âd©F¶ùTY“Šg–%)O©tÊî'7)l~i{.Gß½ øà•Õá±Ânóæ¥ós_6Xnúâé⳯<ÞÉÌßn`éÔ`?ÅÖU;’K[[ëX’{6ÚÊÓcìÜô%yJõ¾c…t˜)Ü>²ÃJìܸlc|þ¶Ö%CˆGö¦¼¹3xb9]Á’Eº½;žz"wôIŽîYU¾‡ªõ¥¡„)Kg`’G“ò8~úœ<¦üÀqi.Þþ\FÝFˆ⫈39LbC0ÈÅ ÅFŽ"™ ¬–S"R&!WúD…33¬Š!I”ˆ8"YŠ]thYo³¨Ê|‘Eõöªcµç^5ì&®s{¹Ú—ýf5É—µ†ˆåxFŽ >º-%b2¯!bø¢ú¦|ŸÓí±¶×˜¸„ÏUµïjwä°”h³/<”î4Pz2{®ˆIIѱ<¯2¬jkshǨÐÔBíËõª5>my­Ó8†÷NLBûÛÜßMØ×ù±*wòÝçŸnS’5ù?ßkþÍÙ™?¹!"èzóÄýÏ¿ûä,Ñåwݧ"ì¬ÉãhbVùO˜ÈëlŠžN}ïÝ÷6ü£8á‡wÍÉB_|î}SN|µG&"±s÷áôýH“7Wßyå“td÷3Õ¯Æ/½.MÞÜ{NíI¯KŽØ{\UP˜~V*utO晣ƒûNdåMÏb³çÞG‡w§¿¦A<º·35mÎ4Žäè‹Õû4Ë7<½vmÁñ­_o ’dø,ê?–~·Vôà 7cÞ´þ»Óo[’£¯V?s­žÊTÄ~E¥Ñe±DRϾÝÇE6Ðß³¢¤:]ܼ.[£""FWXutgfδØùì3[Æ8bçî·²æ kÅj æh޾8ª¿sß1‰ˆäã:ûïÉ<ìF'^M¿vK:ºï¨’]0ʳxÜŒyÙ©ƒ¿|K$¢äëK–={L”úS Ÿ­áˆädçîý§HNþ²¤H)åRu˜Ë«(Ÿv£¿u™›¾$/µwG'7¿pX•~QaÒµLŽÜ}$¥¤ÒÕŒ›¶¨€¾¸£“›?DÚ’Ü_½±§°±qÉðGé•ã{7­Þ’~Rê9°/®ÊÎÎ"’“û_¿àMrrÏŽÕ;Uç›Þâ¸L$ÙùÂ1Ýü¹ë\â¦-. ƒŸÝ½;žU§}[$ܱ®z瑈ää[{§¦ÌаDRôpgH$'_­.]±#ýµQñý/ìëÏž3ƒÏÒéT§v¦Ï%éxçáþ)yšMÞQê¶ØózæùKŸN‡÷¿>¦O Ä7}ˆ/y¹Ê-6%[š£F‡éÜ¡¨MMÌëÉDr"èi,&-—#h’¡˜L$E¼‡Dåây­MÕÕØØ¥-ÊW_Þ>H¢¢2èÕDr¬£¥'¥H²¬òÙˆ7˜ ’cme÷!‘ˆHeÐë­U5¹!·',ÉRRax½–%ê {;âŠ,ñF#×ëôɱ`kwŠˆˆ3å$|¾n™ˆä˜¯f,^¥ÜM cšÓFkáæ7žãèýÞ÷?›úW#¾Åç㽌×Þ6a¬7yËÔŸÜ¡Š~2Ïp눞ÐÉs&½ß,«Ë¿“~õñÄ2»~¿$ÿGKâƒ"úÖjî‘ÿª›;‰ˆn™Z½;ÑØy|ß?NDn¿5ÿ¾©ÏOW ‰|ùÇžŸ»ÝÙü¨æn„ûë£[²aù±Õå³÷©¦dçÍ/¼ç­céßn^“¬®¶[RD¤Êž÷ôÑ%¯öºEÛ×$«WÛ, £É[¹me.K2M)È=Zýð‹ñSý4íç–X¢‚µ›—lÜRbÙšÞÀæ sy¹çÙÕø•­sy"~ùÚ‚âÕ÷ÏØ~£ÌÔä¦/_>mõjûà Ÿ]X89H ‘fî†Íñ[Š-©t¦¸rƒîÚä3|áòEªKm³²43–¬|êoW¯[]¾ûù•™ÈÍYZxxK±°‰†TÙsÖn˜Á²´rûS[«WØv*D”5}ÉÚ¥cŠäÁÝǦÌ}ú¼v¨¦`ŽîÅÝ“yYÄLÉSí[õðÆø©~Õô•›éˆâDLví,}øXò”’UðÔ/ y¢-B~îæ Ç«·Ø…Õ M™¾hóæ<žÑ,¿ïÉMvËŽ,MöüåOÿüøª+ªu­Oæ©V¯²-˜·ý¿aŽâ:1²Å›½¨0ëà±E…Ãçqr÷­\š½jµ­(k Ÿ»xåÓóŽ¯Ú´l‹¦õé\6{Q!ãÜË?5òIôäá½GS'Ž:gÿrð7S~î}å±Å›7'7>[2{“B¤ºç¾¥›×æqDâ‘›^œž]{®_@>¶÷à©Tjͼn°‹iú6ÿóy¹Om[Z]½Âºµ_Éš6oÍæ%:"J¾Zbßz<ý±ÕV3Ñ”Ÿ·x3ä=µméÆêe³·¦H•=ç©íKuD”¹-bg<Õ¸rë¦Õ¶_¦ˆ˜¬i…k~±HG$Ç÷V¯Ž¯ ¼T`X¾}Mªz£ÍÜOÄL¹oÑæÍó5Dš§¶-߸5s.1º‚ôRtŒ¬ÛrrßÖMñµyšK·þïÞº•ßV0ƒgb„x¬ª€ÁžÏv)ö\–h(UÕ{\1w™µY&VkvyŠõDd¯)îªtÌnæôæb‹Ž¹hn¨·ØUÛÔ›.7«åÌöV×B¡U£79*VÍr¯yÜm~¹¦¾Ôí^h^¯0:‹ËS¤¥ž¡Œ²ªÆ¿p}¥½Üi*«´Zy^¨p•D*Ö—5èw•¯ÊjXÑb7kDDjë¦Úž5n« ±zKU­þúìqü–,ã{ÕáÚøüóÏÏž=;00000 (Š,Ë'OžÌÏÏ¿ü5(Šr9û¸Ç·sÏÛ‰OÏŒÌxs(yä¿èn»zýYØ÷Î.]öK3o½‚ÃLžpþŸÓ.Íy`"j œ#¾¾Ì¾³Ðû«Åçµõâ».é|ÌÿR‡ºñ$_]VrpÞW~¢X>²eu|Éöùš«°ËWq[7EÝFˆoˆwww›L¦kµõ¾@Ù# ڬ׶äÜ|Ó•/n$“Ò‹D"F£ñbeF|M4Fkáæ7)×þd®ýzØ“T<ÙôçÛþ¿o½¢¥˜ïð³¸ßï ”ÿÀ*„à¦Mj_qg² ý&_™¶¤@suvújn !Fˆ¿¤Hks"ßm¾69mÂçtø,-»z%âë’ ën  ­¸:>ÝÛÝõ3çÁ©³®tÐuüÄG¼óûc÷Ü-¦¹÷nœ:¥ ps‘£Ï–”îퟶ|Ûæ_½5«É›{Õ²«¹-„!¾ÙSÚ°káã¾ØÓdºF#µZKUi¨Ò1»‘ˆ3ÕÔ›o ¹˜„ ×ÌU›„ p™®í$äݵš„Œ7!À i- ­@Z €´àKÂ{I¯­Ó§O7i-À—1iÒ¤“'Ož>}EqM(Š’H$&MštEKá{k2îºë®wß}···w``¥ñ%D"‘¯¸†É“'k4Wö…ÉHk2ƧÓéP7LB¤µHkÖÒZ¤µHkFï­…ػヒBøFùþ÷¿´næ ß4˜„ HkÖ ­¤µHkÖŒß[ 100pòäÉ?üp``¥qMð<÷Ýw7i-À‹ÅbD”““sÛm·¡4®T$1™L_e Š¢œûXüøô™3çUþÛ¸I“nŸ€²¸¡a´nþŒö½7_\»ºv{ãÿ<_ã– «7½üïÝ–”úžßóÛ‡¶ÿú§õ¿þéö£¥ûNþæÓÁ¿‘ÿogoé oÿ´þ×?­ÛÑzÜû'9³Ôû\XßóƧ]í©·~ûÓæ“§ÎÿeOσÿ+yjØp%Úìfg@ÓuÊá ³ÕÓ+ßÀÅ"œ3G2W„¯Çƒ’#.ó…»êð%.òáîZ«àŠÈ×nWÍn}h—b-v³3$ᬼþj×糪0ÏœioK|ù OÈSf5Ïœ9s¦`wµu§ƒ.u·¹ì‚yæÌ™f«³&ø‚ZšþèÌôGkC‰ók¬Žlhù¾HK™0sæy•KNjVóÌ™3»Û÷…—«D ¶Ì6¸³-ÝÒÈSjø¹g­é–‰ˆúBž2› X­‚õÜ!"ÄñuyÇ 9gÎ4»ÂÃK/â¾°@¿ !¸"²v éÓrÛfÎÎ[ߥn\çÇó2*­ðUjç £µpÓgµ1ÿ?I?so¾ŸåO{j_½÷Ǿ;&c¶ñùþôæÝ?h¶Ož2žè“^j®î¸½}!¯"9àëÞòÑOئ;û6Õ§§ÿí·'¶øŽý®È¸áÞ/¹é¬{ïmûÁ-YDý1\/8kËÛÖLŠ>ÛÍ5jìu½Ã̬¦7<&ö†,lÖèj÷+K1T¼ë³r1*)è–× ž}ao÷WúÌXK…;h¬mSÐJÏ£e•ͦ×\ÚH]EcªtWÀ‘Ã$ëk*Æ6»vÔFx¸¦¢Qt6½á421¥Ã½ÞôZ“•ÔU6+å-oÚôJwKY™«Ùè«ÐSŸ¿âÑN0ñÝâ°VqosE]ÔÖh1RoK¥»94ËcU_¤Í^¹¾ËPÛþ¦ Uº[Ê­ð˜5ïŠ(kŠ_nwå ?ÿúükÜA]ƒ¿ÉÄQÂ_¶°¢.'P{Ýž¡ñMâ˨L7"™.€ˆ/¢ÐUÖ\ã72‘÷‡©¤=T¡¿Ô6ù»^sç°Dr"ì)«¬h6ú/¹Ð7Fká¦OkOŸ¦¬;'ö§ YzîŒtzŒ6tFþíGã~x/7%ÝY4ñŽe‹s[~6YE”úÓ‰çOÞúÄâlÛÝ·©ˆèÖÛþæ¾ìm3îÍ9ùû3_rkýï¼ãh{/3H{æôþGÃÛ?Ý~tõ[)…ˆÄ“ÎíÿñÒë=mïñ}DŠxê´ypûÛn?RêÿÄ":óoíGÿt¢ºùí…íñÛ>ÿþÙ̪ß?áØÞøUçro›Ëf6 6»³&S†níéžgAlÎÚt7ºv ¶š«ÌaGM Û_[á´ÛÁá‰HDDrÌ_ã´Žè¯fHìò”Ùóֲ̙†H¦£>ÒRaÁ*¶²tï{Âçl™Q‚„¿L°Õ^ß=Þr¸B°Õ4¸lf«;’ð9ÌC£¢}~‡ÙáëKgCEº ­ŽKŒ|ÍÒƒf³Ù,Ø]mçï‰ó»V!ðІsáÌüÒVæ ÷]Bíö,´Õd†p•˜Ïí° æ™f»Û“Ó%VWK]ÊBQ_¸¡Ì&˜Íf³Ù6Xµb-v¡¬Åã„¿a­Õ\Üq)Ta¶ÖÞЮ¼Y`ºZ"ƒ§fâ7–#è[¼##’h³›Ï¤ÈÝ5Ö ÆmTçºz— e‰Ô¹E/E“ ‘ÖRU¿Î‘ñZ¡ÈȈÝâÅ"ÇÛ\µµN#GÄê»ÑÉѶ0YÊ-z–ˆ3ÚËMbÐ×+±†ò¦¶uvýðºõv¤,UÅFŽˆËq6ù.–ð“SR›ÙYÎ(XtJ4&ÉÝ5Bz(K‘R £áÎOgd±;F!—#"Òšfi”XLº ï³™ .§Ãn³ ™Ú><¯ 8Íö†¶š §Ý*X áH›»Ìa· Ö²–±¯ÑñMâK¦µzAõ QêöukÝw‹ôm>½orwK™Õ,Xm—7ª¤o56§/‘ð=î>”JzË<¶òÁm¢>¿SÈ 7õeIDATÜ"GK‰µæÒR½ØId¶&‚`lƒ[“zÛ\vÁl6(G©Ûc·–ù2I‘†tÆluÖ†ú2­Ój¬¶²Ú¶Z›-½7}aO™Íjµ V»Û»^oHkÆÈxUÑ÷(´ï_¼Õ÷oïË ÝzÛ”‰·=ñŽôÉwî¼ÿŽóN½{þŸ;ïþ‹ôëÎŽAæþñ‡¿ÏÎn«˜ù ïøý¿þÁ'ž¥ñãià“_³÷´=™k¿CöÿãÉßjÐþäÌ.ÕMùý‰gÿÑ-Ìø³ïýéôìÅ3Új‹µoDR ÑÙï|ЯrÿDDô|1¯{[ÔÒôFÈï«b‡’Jæ\ééªÚC¡P ^èY_áKJ²+!Ô4µùÛJåŽ55Q[}‹Ïßâ”| ¡>¢X³«®ÛTï&‡ØXéIßÃ1Ü•SÕ ¿ùr±Ôênè–I Õ¸Z¨´- „üUšCn·/AZ{m…Öïnî•ûuž„­Öeä®ëÂcJvÅ,Má@­iôŽì>e…)o …B]ÅbÃãžîktÛ”Buëƒ|Õkáp8à1õl[?|b²ñx"¹õP(j¯ÒÇüá>’»=uÑüz(ò×èB••þ¾«¼ÏJÔ'Ú›¡ð?׿„ëj‚}D Kb¤Ëè „šNŽls{©´-¿±ËÞ×ên†R‘ ïò‡þ÷cÿ­ˆïöv 6i|ݼŮgqÖµ¯ÆRÌG¼™¤'ò%MÅ&n°"ŒˆVp蓾`,“^øºÈì0 ?±Õf›5s¦ËÉ®°d°8âô‚Õ¬%"’û"¾Ön.ßv±Èq9‚MÈ òõEü1ÎdÖØS4&>³§5pb4©q99Zö‚‰ÝÝÏuÕ9m‚ X_8ûQm² 9‘ ´øDC‘IMÄê‹kë+r9"Y’1¸Þn5›Í‚½¢!ÜGD¬Öj⢡>"’c]AQ“oº0«b”žWÚÔæó·{L‘tm~­!%RŠë[|¯5ÍJ¶>î¡ÒçÚ|¯5äÇšÇü)„ø¦ñ%q&»!úJº3SêöEõö|ŽÉ´\žDQS ír¤š+›{‰¾šf©¤-ð79(’TέGk®v–JW¾ë•íÍfº|Ñt^éˆé‹g©/U’ºêêºM Pè&K´±.ØGrwCe+[Ñ¿Ñd‹Õ¹;†:T~weØ\[o×RosJÛC¡Ðk«¸`]s¯LroƒÛÏ­z-h¯Ò;’ ÃõÖ¸ƒšªö@ ôr©ÔàjŽ}é"ëó|ZI¨£;>ÒZ€±2áÿgl˜=I‰%·¼üï?«?Rºïä¿}t–èlꓳ&²ª-} œ“™ý¶ý,©4wξ]y39¾ÐÍž¦R±ö¿ŸÞ2{’Šˆ&Nšõù©÷?ËìñwÞÇ-D~ò7œòû÷þã }úæ;?™ñmâyÁ…¸;×XlF–ˆÔùųÒsÚaTSì4«‰ˆÍ)*1$ýá£2Ùr9"âõZ†7Y lúgÅ%¡¸Æa7rDÄê-Å©+˜n<0¦‹ž%bs,vé娿‹ÌÎtC…3[¸¨¿["ÒÚ×¹ÔîÊÊm [}¹ñH@ƒ]Ð^<—Œøº9[© %"Vk)1ɇüW¡;X9Tvÿð§€]™8¡>à¯ÔDÄå ¹Œ>2ÂiX)âëÇúdµÙ婱ªå˜ÿh(q9"âLN»&ê‹\í¼VgO·¦Õùv3 ¥[D¤/š•nþ²¦Ú@à9›–ˆX}¾‰—bƒ³uÁÈ‘Þ^¬‰z%ÒM³nÞnÏAVû•¼z¡XßÝê#¢˜Ï'åç¦0£FD;«Ä˜ôùcƒ)ϬâÜQƒ Çüî2¯ÖU;4UîõØfÞÿ`Y£l¯u™.ÙÇ%E¯‰Ùj]&–E!ö\rÃð ÉòEN=ET”h(!Ô¶‡BíëŒÝu_<<&…ÊfΜ½pMÄèªIï,—cÒi Ÿo„’†×Âá@““ñ=þx[‚ˆ3U­›Õ½æÁ™fóý =d¯qêG«í––ˆ¸\«‰‰£ò…¹¦ ä°D,oäŬÏüL¢(!ÄñØçµÅ¹1oW‘ñF vSf|: &õÅé­e^ õ$¤è¡¤¦HгD\n‘ µ“—ÕÛ…L^+E:bz{þE³Z9nn‰é‹ŒjΩ7Ú]F–ˆÕ›œKQ2Ô%åÚóÕDlŽsW`W¦2‰Ý•LyƒËı9®öÀs65©‚VŠ‹ ‰‘ˆ”c7«‰X½­4Ý-E;zùâR3GDj¡Ø$†Â_ú]µ­¾ÞrÞc†’×5cðl-ÀXf¶?ʽçG¹Dt¶ÿýoü©êå¦Ò{Toùì}9E”uÞõHIѸ,–hà+ouâmYéSyü¸)·Ò¯å³DDãÆeÝšî·:{ê÷ï>ûÖG'dbÆS?©¾—éÕRM—þIu·æþq¿å䙟Lg¸'îÆ•aÄÝ^’ˆÑfnB,«U1Q"YJ¦(Þèš3J)¼!±*æ\G*›ù9ý,ÅRÄñƒ FÍ“,¦Ò7HžÏ|”Sq”JJ/*¬q°“å4*%œ’ˆ8ÒZJMž² ¶ªöÆÈ?Îð¨m#QRDï£Vúð%Åä‹W!×íÙÚ¾ˆo[³¿W""JŹhxƒÃèÚUïmözœuqE7«Ô]åÌM‰’Ò³Þ&Ô VÒ'SDê«X¸ §,]•ŠUŠBD s®Ì¥îO£¯»O&"%)’ipA–ÏT.­Åahl %춘/ªµWé¯m/’ß¹p}OŠHeZ×ÞdSߨ— ^p=ÍÁ„Åä *B½MÒEDm.6ÕÕµõ–º„±ÔF9µûžÇÝ!}Õ®Zë¹n"6Çå»\Šu5»+JSû4å˜Ï]Ö 7´¤{b.“äpƒiÍð賘Hgw Z–ˆ5—8õ¾–ˆèʹxw'4½ý¶œèîðT8+©½aX$ÕæŠZóàÞÛ*ìÍ ;"}¥£ÌÝcÙõF…‘£¾pí£•úñV¯‡jûy;Ì ^E†ØÌȃ#Ä_×Õ×hÏM6Jä󾘡ØÄ)Þt9'$†ç˜¡Û<£$™¤¡[!Ëi55dsì¦Ì• Š?ª±¯Sè{xå‘û_ÉÔ¿Üëêz"ê {ëšýQ‰J%E¦˜dITØÁ‚"–c‰d"%Þº&NüíଂXÐSçíJÈ £ˆq%']CÕ`©òž!"YSñÆ…B “¾C+¼V’/ˆÊ$¶BíËõôHeP$"CÉ®¦Š1›p†Æ+Àùäã7NÒ_ß;IEDtKÖ“‹gKþÿýñä[î¿wâ„cï¿ùѶsóÏžx§ïäíÜýwÜòÕ_úôÙ§rê Ñx¢3§>%ÕÄóga|ô~uÇSí¹›¿7è³@ëoZG¹¨ìÙßZùè?îþP¹[÷£[Α·.–”DfÊ,ÅD%“f2†òö¶óoÊrä WÅrzED)ÓÊPúDb*"™†Ò[")%‘JÃqjž9÷KYŠ¥5Ï‘ÜÛ\ÉY0+Ñì Ìú‚ÇŸ®Ç¢$*P$y0ée4%m×Á{/¤ÐúÊf][›UË’®°®¿ zZ³³Æì$êën[Sæª3¾Vªå˜üuþóµ›®HCÕ)•’ϵ¥ëMw]…'QÚÖæÐ³$w×XËFé2PÏ*664{µÝ={•öÚFAmihÏO÷qêø²Ár¦b“èñ£!ÆÞÃRò‹#™œfÙíë±RciÙaÕªy´&fohsµû"þ.Ê·™ÔÄrz¡¤XïmŽ$]ÆÑO$¹·íñ2/_ÕÖ2”0ñú&IÊV5KDR¬Gäsõ©Ê¼AϤ’—Õš•c¡`¯ÞbÕ³ÄjEN¡¡,•mê¡¥XwŒ1µç¢D$å‹êÓ§6ÙòÙ²Ž¨dSs«íâÈÚŽ#ÄW»ÏÖä0‰ Á 39ÊÜÿUZN‰H™„\éḬ̂*†M–b©‹­Qo³¨Ê|‘EõöªWÀs¯Œvã ×¹½\íË~³šäˆËZCÄr<#=¸,%b2¯!bø¢ú¦|ŸÓí±¶×˜¸„ÏUµïjwä°”h³/<”î4Pz2{®ˆIIѱ<¯2¬jksŒÕ­A-Ô¾\¯ZãÓ–×:Çò!*LB#Ÿ~âíˆV¿õÑ©ô[ >MÞß›4é‡,©¾wÏ2ͧÏîùC ñÑ™Ïþã7Xý¯ŸÝÿ_îþјô,ýåßÉ3D”Jö½ù—[gçü·+ËJŠÆÿ kõÿé?}ý¤Èg•—‚ÌPgL¼9û×&ƒh޼ó5É /ýæ„PKWú~¤5Ûô±oú…MR¤ÅåöÅ.½.­Ù¦K¶¥×%ÇüÞ(7Ë’ž,šŠ´ež9 úâ¼Ùij[>…[Ò_ÓÐñ’ŒE¹ɽnŸ¶|“»¦fV´n} ï*I–çIìIÊD$÷;âJº]`7Š-é”ä^ŸÛÕrÞX$‹¢Âiõ"’]Þ®”Ƥe‰¤Þp¨»HNøÜfÞ¯&Çü >Ñ`3©y½^• †Òç’ u‰š|-wÑÚñEƒ c‰úºþËœÙöÆô)„ø¦ñ%/W¹Å¦dKsÔ8üIiµÉ¢‰yÓoðK½1ŤårM²#”.]ï!Q¹x^kSu56vi‹ò/ób,‰ŠÊ Wɱޖž”"ɲFÈg#Þ`‚H޵•9܇D""•A¯·VÕä†Üž°$KI…áõZ–¨/ìíˆ+²DÄ\¯?ÒG$Ç‚­Ý)""ÎP”“ð ¶Z|5cñÒ(µànjpŽñ‹A0Z 7» “8zïwï}–}׈¯Òù8ö»þñwÝ6al6Äk¶-¦íÿòG翞ùŒˆÆŸz7_·ø®{ÆÑmöÅ?R½kÝó›-DD“³&YíÓ–}ohÓ§76þzãà&OËiûÙ¤órËO=R?ôÝ´ßúkûOžúÓš5ùžžwÿ¤ôËã~2{ª'úhزw~wYÎGÛÿ×ïÄ ÷|OûDÁ_V¿­þξpÿÕ¶;N½ðéwŸ¸½]£Þfœµå=•e÷û8!ßnÑuu§[¿.ávÛ‰ˆ¸{Õ&=Ñ%¯öúâ†u w¥U‰X­ÙõœËÈ’LDÁYcoŒ%E2–Ô–æ°DBÇYSëêÒ¨ßdSËÝžJ¿ÚÕfS©+j„…®õ~SÃ2S“3•—+]ÙµµÁbÉe‚¤im›êcëë R:S\U{ÞX¤¶”ûÝZƒ<¯19]U³*׸ÊZš]ƒRKWíBózbârl5›L,K®†ª:w™µY&"Þä¬)ýB¡*»æÐÿtåím¦scrí\ó£¶ž„(óBUƒ &>Ëå¯*Íy¼Òjå5¼ÑáªZ}|½³Vë¹ iËå;ÌrYÈXoVã|»¯¡ØÂ»‹-ÚKG¤Ímd Åö/_5òIôD—7’ŠG¹h¾¦¤Ý_ᨯO®÷8î_¯©tù¥ž3GÔi^ßh2Æsc:r7˜L¥Ö<8sMæ7Œé¹@“ÙXõ\©Û]6»NTøÜëêz"JøÕEÓ«œ=“HSòr{E޹ê¹Ò·óþº© EU ¥z"’Fn‹XSUÓªºõ®[SD ŸkYç)ÖÉ1¯»2VóF‹SÞ°Nr¯p¦HÄhò‹ëëíZ"mUCyM]æ\bõBz©ó1šµ÷$’2/Ty,j"9é«[«Ì—J’¢­uu|ƒ`R³1Byòd~~þ˜oèãßó?Ûþí?Oø.ñܽ?ûo%…úÛ¯âQŸzë·üvò®Ò{î¹îòÙÿÝÓýú¶Üw*'À7Q¬Á^sµ{ÌÊâšIøœŽ ý+?Q,Gj+cÎûÕ˜N~·k±;BCˆâ¯W$1™L×jë}²G:´7X¯m1ÈÝ5¹ù¦+>h¬JïJ׃ÑZ¸ùMúñâ§¼ø:Ù™)÷Þ9õ_“ÿðÎw7Ü{}uu¥þtò…÷o_V„œàIŽùê|TÔdBN{-3ž@csRH¿‰û+e£sÖUzDújn !Fˆ¿¤Hks"ß}:>§ÃgiÙåÐ+_—lXÇß8%‡´àêºã»k ?^Ýñï?}}âÿ#Û×Ã>ö¶û‡~¶¨èÞÙøºZ€o`Jq=Tvˆ™UÕPŠ/ö¹fAèõ8õŠÆò†ú1èZКmW- ¹šÛBˆâ›=¥ »>á‹=׬‹Qk©* U:f7q†¢šúiú&!Ã5sÕ&!\¦k; ¥÷åÖƒwÃÀ i- ­@Z €´àKR…p >}zܸqHk¾ŒoûÛ'Ož<}ú4ŠâšP%‘H|ûÛß¾¢¥ð½µz½>‹õöö  4¾„H$ò×ÀóüÝwß´àË7nÜÔ©SQ7LB¤µHkÖÒZ¤µHkFï­…ØÿøGÀ7Ê÷¿ÿ}¤µp3Whø¦Á$d@Z €´i- ­@Z €´i- ­@Z €´ÖÜTäˆËÐwÞBj¡áµ»–HŠ´6tÄdT@Z pSà´F›»¡¡(ÕZçKÉa·uac¯Lro›ËnA»«­W&êó;ÌvOƒ»Ìá°[[E[ïc´‰@­Ój6›ÍæÌ"‰6{fˆ”ˆHî®± ®°8´‰°K°Õ¶y\N‡Ý*ŽÚp‘œð»í‚Y°Ú5mmN³½å‚±UU~ÕË-UÍy¿äm®ÚZ§‘#bõ‚Ý@‰h꼿÷…*rúbÝ5Ž5‘TWåCO¯L”yÊl‚ ‚ÍYHÈD齪iñ¸Ê6ApÔºýµN»MžˆD4ZÉ ­¸¶¹m®=_ vŸKSû‚u1{S( ÚJ¹®Ž‰ˆa”xP²×·µù^k²'¶¹}±a+‘Buëƒ|Õkáp8à1õl[ïKh‡>é ¦?%G}]dv˜Î ²²¤$õ˜ªZÚ|¶RùOG‚¨/讋k¡€¿>¿§µG!悽Uçä¨GAŽ`´™}øcœÉ¬å@cU}1Ïä×¿ÖæÊac-•= ê…žõÞXf¯ºBMS›¿­TîXSµÕ·øü-NÉ×ê½dÖ\S,§çHJKÐXžg’AŸ?“X­µ¦Áe∈ˆ·Øs9"bõùf>ê6Ó—êþZAMD\®ËˆQQÖÎ*1&}þØ`V;«8÷¼ÉÇŒÊdÏWñ9zU*&Êr4eòí&Žˆ´ÖÒ"͉ix¼&f«u™.9Ë9öG5ÅN³šˆØœ¢CÒNdöʖ˯×2¼Éb`Ó?“(¦.Z2Hk®YŒJŒš?— qæÚ–u&±£Æ1{¦àpû2ó•†c3‰°FERJ¶’¾ˆ¯®Ìn·ÛívÇúCŠLD¤6›¤Ž¶^YŽú#ŒÅn¸ Ùd™ ÆbI"ŽÏl„Tz޹‚£ˆù\ ]KCËåäš²”LQ¼Ñ‘žN,,\ߣ(1Q&"bUC[e6ó3ó…%p}"€o©«-¬]¹ÃsAVo­¨µVÜi~¼âñæÜ×Jˆ”TR’‰ØLRÈ©Î-!…ÖW¶0ëÚÚ¬Z–¤p…u}: 49ͲÛ×c¥.ÆÒÃ]âYTŽ#EÌl„R1I¹Üœ¶·íñ2/_ÕÖbÕ^Ö,§Q1†òö6ÛySšåÈ%Q2®¯õ[_Fká¦'÷õjËÜ]úò*‹zXŽØàt¦ßĪuža2ɨòõHD$G;B¢NÈ9—ÖÊ¢¨pZ=ÏIݾÖnENg¤\n±@ÁÏ!În×_z8}¾^ìòG%"ê µ“—yÝžÊfUÕ®ÚËÈi’$‰ˆ´f›>ÖâM?Q,EZ\ç?+|±ìù"%p]Âh-ܬ”Ce÷ÏLÿ¨ÒåÛÖµ•[õÃFÙœb§qMÍ,CÄí59¬#F“Ïù*ì5±¤È™VÕë‰3Aµ¥¼Øï~ÔäyÉ骚U¹ÆUÖÒÒâÔŠ-ì#^¾J¸¬QT­}ݪ®Ê2«ÀñúYN»!è¿0¯ô,|Ä›ÉvËîª^Û¥÷“©Ôšg®Ì]MÏšÌ#§"³z‹ ñ®yÐ|®Ýã¬_—p»m‚DD\޽j“þ’ƒÉ£– ê\·¾%ˉkãóÏ??{öìÀÀÀÀÀ€¢(²,Ÿ^Q‡BCV¥b1E„Ë=ƒ$Ê`0´Z&‹ÉÐ0˜º¡¢À`0º¯RÒ½f0Z##M«5‚ÅÒÏ0d½qãÆÑ£GÕjõk¯½L’$Ü»wï믿öòòâñx§N€wß}wÚ´iÌ®~p™L–™™y÷î]##£eË–ÙØØÀO?ýtöìÙºººòòrƒñÎ;ï¼ÿþûºE4u7>ºó—r }ýùŸÆˆßóÔ x½ûù1€1ÂÏßlÓRùgîýOª¶£C«Q\°èÕÿÞ{oå'ŽÝ?°[MÉ™¦¦£·íìw,¿…ÌU·¶ŒNÍà8MÀÚ3'-Ž]wQù€¹Øqã=ùX\!d€¤ asbážÇæ­1~üñŽþâ$ †¥ëä_,t=ñ ƒÉ„‘#¦\I2øfÀÉàñ,°X÷ÿ½0ésZ­ž,Z½2R¥Õ‚VkÄ16˜F«ªªŽ=úÊ+¯Œ5ª¾¾þþçÂÃÃMLLt­¬¬”Éd¯½öÚ¿ÿýïóçÏóù|‘H÷ïßÏÈÈ iÚÁÁáæÍ›û÷9rä˜1càĉãÆûõ×_‹‹‹--- õ5ÕÆo¹2˜Ft}-˜¸NV66¨Zî¶o2'ÆÙ•}„m3–9òEeÅý#ß28Ư,_­O6_Aåždš’&S<4²6戽E–ö¥ºµ…üàCŒ¡Ã%‰VÔ+<—²¾B ƒ'Qº"vAoËÁvO°òZZ¼úHšçÓl_ ë¾YvBÖkŠ©­GpXd°è‘¶J—FÍI¶ÞzpÝ#-)ÞŸ~ ¿´^¦`~Ó3pMX ?BÏY=š— ¡ »¸%._” x`zÍ^µª`é‘4Ÿ'XÇ=n]4ŒPæ&ÞèÝ2z¢ïÒˆu~ÂG:¤Ç>ƒH+²Ówf߸£`ólÝ|—†-ó|?,=‰jµ’ŸËÔ*%‹É4b2™L&SÃ&ŒÂ#£ÌÁ`0™Àdv7|*«®ÝýãÐj«ïÜ©’Ü‘+:Õ&#üÖÙ›ºvþèÑ£fll|úôéÒÒÒ²²2///ý‡^&›7ož³³óÍ›7333Oœ8¡K¢EEE …båÊ•666ׯ_?räH^^ÞüùóY,tvvþío3fÌÏ?ÿœ“““ŸŸïìì¬llPÔTðž1ê¿>תTZ¥Ì“R¤_þÿTÞîÜù#ÞóÕqµHÍ`0FFŠêª;¡íy§uI”¾YCåždŽauä$ƒÍÖ*•LNOŸ>Ýp›:}’=æµWñêh`~Sd=Ô—•j¬Ð/èü7£Ot hiÅþ訨ë#IRn1Gvä#–$7jUêψ˜ÝÞ"I‰Ków%o^U·›Ÿz®êÑÆ²Æ¾)¨´‘ÀVÑÇÇû0½»eƒ¤nNŒ&®>Â*„[C‹Bã*Ã"3’Ü„$-©Îß•·ª:bwʃY<ó$ªë×Ý’éú;´Z­T©,&ˆ^çñoY¯Õê‰2ÕJ c–ûŠ1“iTø/­ÓD«ÏÖ+++ÀÉɉÃáÀ´iÓJKKËËË»“(AÎÎÎZ­ö7Þ077omm‹ÅB¡°´´”ËåêzäÇÏf³¯_¿Þ½Z>Ÿ?fÌ­V;~üøS§Nµ··€F.P«€Ábé÷„ÉÔê4“É`êƒrw¾Ô5mªZô?e©É`«›Á鬩£ßjU*îâåLSF3|ÂàÈÞÕF[o^Ena#ÕïÏ|Ç€I²¸8±oì×ÑÉù‚/pôö¦hàéÞäêìääýR‚/ ŒŒ v$ArhÕªbßeÂÒâêÆFÊvYL ½¿°ñŽ„v\³%>@ÒâoÒóëihÂ1 "r@Ù˜›š]*–ÑH?!´8/5yWq#¤(822Ð*’WÅJÃv'ùð®þzUTcpÆcV_8Wxø@µ<퀪ؙœ[M·e›#ìªbglBv5M }ù…;©ˆ#ñ¢Š„úvª.7uËþR €Àsut„ŸJc¤ò–yÈ ®6Þ‘HùÞ1‰ÝøTiúÎjÛÍ»cüt{J Ýã·Ð«V§î¯vÛè(=´jUqÀaqAý;°]–($$Åß$§ç×S¤µ÷ê˜u>ýOwÒêÒêã~I[7žzJ•èhGÖ÷L8ŽäëF×e'Äí,¥øk‘¯m÷ÕÀ÷š.]J{P¥Wëë%¤gDÄÄŠý¹W¥¤oü–u"ÒPeH²²o6ÅVßi''.Œ‰_#"¨ŠC ©‡ª¥aë¹ÑS ÉÝzÈqËîuvHò6…°NÊØèH»Ê„zº™†W7R $iq^jâ®b @ÚúFĬsãÐ’¼äèôb)Á¸úŠwæzîÞLg‡wµ‰8¿Ðu_/‰–Å…õw$RÂ-"1ÆG@×íO-$WïŠÔe^Bೕ½aIzz©w¼¨ÚPMnø¬×÷MW”8µ£Envä“mÐꯎ×HdwŒ#£ñ-Mg'ÓdÄP©K¾þ ©ÑjµlSÓ3Ü»wF¥»ª‰$I‡£›¨ceeúªðú믷¶¶þþûï2™ LMMþùg­V«Ñh‚P*•º¥t}ôº!ªG¥RçÍñ̦ÞKßújX8 9zUÕÚ"?~˜®¼Ú=EÓNÑ7k™&&gÑÀùÕw[©s§M§û’¾þXq ·z”à& ù£­õ²w6#™vÒÒÔäB^ÄÁ >]—½)L Öº©Q;©5G„„´8!4*Ùú`¼' ¼QJƤ¤ ¨ÒØ%ѱٛw§eð©â¨%©‡ª}7:Jsc …ñ»SÜø -ˆ]•ìx0É@YŸ+ Ë8CJ‹V%$¸¥ùQûãR«=R¦9’´8wShlºãÁHQX¼whlj±(fô¡äÂÑa»û×+-)=t¸ÞÔ1L Í‹Ê%#3¾óÐ’¼¨Ðèoln´­ß™Mg|(¤«mÞt‡vë]'ÓÕéÑßH‚3Ž ºnghxô~ǃË ï\¬e¤­ãƒ${ÕÒôü`·@Yau»m˜[ß=zXïÊ®€#A€òF>DnMTiÂ’Ø]ñn’Cq ߌßâÆ§ë…‡GgÛîîÓN@Ug'Ķ÷=,öÄgò“¡—ß;laAÔạN¶s#|ù¶‰³Óë½·~·Æ‘'‡æ+Gˆ }¯ÐwJ%ž»SÖ‘’ìUK“M·f¤m$ć–„î,¤2´ e¥¥v[woBݡ𰄞7Z—&Ç‚ˆŒï|@•&¯ŠM°Û³¦ 4q¿oF`cjúߤ¤~ j˜T&T]þ¡âvÛe¶$ÐÕßD§Ö{§\ãHR_‡FÅÚLóƒ‚„Ô Çø#‘n¤¤ !<_Iúô^^bèüâÈJ‹y»S2 -Ø´$ýPçF¢¬LfàÝ·é•ïh»%µ°‘ªÉƒIƒg½>%)¹˜·«¾ßaþpëîŽCEúÇ¿ó%˜Ó_¸[Z¼mη356R>` ž´j­F«Ï²´µµuM#F€¦ë¹MF½:ôu¯[ZZtm´‰$''çÔ©S§OŸ¦iº÷œ,–¡´ÍdòÂ719Æ÷¾óë4”|°Ý–çd7…Ì¥¾;¦íøƒApôY\¥Ãh”…ÁûóËs²€ÁÁv™aˆ¾Sœ[,¥ªó”]pÇÀ…õtcq5màÆÂÎ;ðMÝÔúÜbp[æ+$€ï¶Ðƒ¨È¯¦ض> G;’lk_Ýr£­Iê@UçÕó½çêÆGò=EP_OXŠH໸õëiIÙÅFA`€î—¿Ð;Ж*-Ó@:®‹ñ®O+ã7°o›—æTH ß"àFâÜ÷õ>\š\?qóÖH TEn5é»ÔS„À'XD_ÌÓ’Š2™0À[HŽKÙý6“WJ9ë €° ܹX&ÂT¤+,àÛZ›R2()Åæóûÿ$&G›ÕØ®+4ë!¤µ#îH)”å× ƒõÅî»ÐV’_&é·ÏÈŒÍ}~Ô¾¹zkÆP„žNNªø&ÔÿÃ…Qe‚ÀÕ«.\¸zõBÛ«Q ?|Õ×¥ý›Á@Z]Ü8ÚÛ×QWCÎõÐýðô{M˜ŠüIà[fó&úØº× “Q0HelQ°· 켬eW«¥t}~)¸{ HÑ\o²>¯šD†ñòccÓïøÆ­Šžae";öaW­<7<‚@‹ó.JmêÚIQp€ >·BJ×Ön">K}G÷{ƒ=¿°õEbmMRwd@·Kh0MhŽá³i)kòÁÏz½Z‚·l™kÝ{ Ï;zëÐ1þÌsçµ •)h –µjµîE‡JÅd0ÔxÔû81 Ý(^@»S¦¿¿¿ºk[Z­ÖøAwb2}Ï3Þ¹õ¿?U\«húÄâë Æ€ÌÚy¥\¶5…5Z`ñÕ7,‹Ñ’µËéúºî0ƒ ˜¯¼JÍåÎÏg‡õ×°jµ ް&ùDXœãÀ¬Fò¡Ð@•Q¿k`$I’lZ*U¶ßˆZ0G7¦ÛÁ‘ÒUÆlÓ®/„nÄ Ñ5p…’µ+ A÷(KSÑ^OÑÀî©LM ¥„¦(1¦<²§‚ZÖ@8ó—¦J|·cIW'‡G¶Ãè…» 4ê'JW½dS½O°n`<%kWÊN„/Èï>ÂMFÓšmÚµ«_@}N6í2Š »„ä™%¡hÛ^ÛS&•õ ú^ DÝi¾µ¾°vß…hJBAãÎÐ9ûõÿoWòme4ôí*#~1ºåb;¼¹:=%Ø"ôTÔJ>Q¯€úÂÃõ}jÊÆÓÉ;ýöt{;]ßW‚ìúÁ¿×@˜vÿÖ%‚ÝU…êjƒÁ*C y¼®ªÙÔ( Eñ¤J±+R¤€T–µS$|–‰Ò7 "b VϬ2é'*Éݰj¿0PÿÚe”òFò’9©]%Â; ¶]gÒšìÛ>0ÈùÅ´çTÔ]¦O@BÙ)@Ÿ0JK¥JÒ–Ô],Ñ¿&ì¬×÷Q(ñ ìÕ .ÌmäMš$Z†lÛÕ»3üðµÖ?’ #â1†"ô´H®^¼3xÃ^Y±…}ª"设º½Qªü{MW ý%¤2¤¡;‘Píí@ H’Ïg÷L¤)1ÅæñH ëö§VØ~èqgzG¼ÁpôŒ+od`öêäýsw¯³#Àt4Éžy0É­wMN•’@ËÚ»ÎF”òáÎ/ð'MâíÊÍ­ ì}ëiqv½©h5õ†ÊÇðYÏÀyN´në"a?³ñá®I}ôÞyÃÊm ÃȨwÀÒjµ†{ÜèNÅý¦ß€Á`2ÓÈØˆiÌb2i…_<ˆÅb]{g[[›V«=º§ù¹¡¡¡»5ôöíÛ0jÔ(ÝRºÿ>戄ðu­F­ís¡ë5}£˜¯ê*oßÒ/eJ2×tvv^ºh¨M”ÍÅÿ«þýÖ`ä5TÁÖůqúÅdì`k„þ Ö·ÝÍÚêsK%@×eŸ¨×·­ˆèâCÅZ\ûMõà E¶Tá ݬ’‚C òµ%ssëh JsKiGokB0É×Z’[M-ÎÏ®'=|„H ’Së½##7Ƭáå&î¬ë§…Á§Oœø.éA Žô [c[žZL¢GiþáR)]—›{¨Ž›£©8¿TT]¾u!ôó «å‹i ª³³%Ö¾ƒõê°I’ôÍ ¹ºQ”¤";vó.Ê;rÙ Õ½`’¯P|8»š *Å&䊇£iICzš?âeõÒ!þ,m”õ­‹øŽ“Fß)ÔU`ÒâC¥íú½î[ª  ½"»X ´î—íD>aëë¥úšYZqâ"åèëH]·31wôꘑ‘õ©ÉÒáX™Âà_úDb¶˜BèãÁ¯Ø¯«`AZüMì×R ­Ý„²Ò¼z ¤Å‡ ï<ìùÅÀÆì–ExÓ'6Ç*S@Kªó’7oi…­ìÆ~rÖ#Ek’R6>ô­Q§w¾½¥´Úî–Q}C§V£Qt‚V«Õ0@sÿwÅoâŽÚëw/ÿd¤Ö¨@+ëP\¹+½Û© Õ÷µ“F è ···g0·oß–Éd|>?//<<q©KýSyG߀I¦‡H·È¤eÉÉásRiýõæŽ$ÀÃ(ß/>¾>!uÉ €à‹‚“"ÝHÍ~3€<¾¤Z"¥ùž‰ž|~`b¤$!vÁÝÖ%®s$¤yÉ©ÞIñŽ@@ä²¼Uq;}v¯ë÷ •x¸Ûy|#³ÃRÓ+D‘"¿˜øÆäÔUs( ¬½Ãb„¢°HßèäUþ»øÇ€@OÞNºo³êºÄuÉ[6/ØOÖÞ‘‰BÙ Ûò‹Ï ÷§HX•Úu?Ñà-CÝÊT)IHX2‡Ò6 "FˆŸa„ž¶)Ð>x»%1೺:vÓ‡¹äh[·oëÒêA¿×ôƒ¶-4P £=+Víj”HÁqaÌ2;À32¾195tNªnñ1~|ºú›¸|^X†€¿&ÒsUlržè¿ÖŸR´:bÒ’„ä|ï´Çu‰©‰º ø¢àÈe|ØV·iÁ’oí`[ÿàó =hkDLÆ–ìô©¡»ºî'˜˜ì6øØXÃg½'!•JrV­V«R©µõ‘+¹À˜am  ¥5ZËHÍUÃb©;þµ4 ­µZC+´ZÍï´¶ö^ûèÑæÜßÛL6ÁÔZÍ[Ê_½1àrŸºººƒŸÏ—J¥ÖÖÖË–-c³Ùºg,q¹\¹\>räÈû÷ï3Œ°°0 øã?víÚÕÖÖÆápFŽÙÚÚ:{öì·ß~»¹¹yûöí&L €ŽŽŽ””•JGÍ•¦$±…cÕw[5´\¸øÕ5aÀ`t\.iÞ Lcc³ÿúœ%°l^³Øc_WÞþ•ýšµòßÂï‹õ?¿ú‚:}ŒF¾¢Õ¨é»éÕwb_Y¾ú•¥«4õï9~`¹cŽEÏ{ƒHE‚X"éÈûeB/&iñ×±©ù7d†¤±y¶>aq‘>x­à_K’º*wîÁ ¿çÿ¦ÌÛ&ªÑhZZZîß¿ÿÕ.¿ÿ;h´Úÿýí› LÞÍTÝ¿§ë°×_ ¯Ñ€V ZÍH‡WL-æ¯(ïÁÖtgï&ÕnvvvÿûßÏ;§V«ßzë­î;‰êÛU‚   ¢¢">Ÿ0jÔ(Ýô#Füýï///¿qã8999::I’^^^¯½öšþPY,Ý8ÔÓ|Ô-wèë×Xc^ã-0vqÕÍc2Ù}T\bû©ï´j5s„){ì8ËîíÌ•Š©Qt*~)ïùùñŸO~‡Êýh%ÛÞù õºíÈeÆoM&IŽŠORÖßT67cEÏe=·aÕ!Ç”Œuޤ´4·”vŒ°ÆŠÐËŠï¹1Ís#–ómH^+]‘ä' ë sÅü‰¶/Ä-Ë¡MT.—ßþõöï÷dâÿûMÇ*xÏ|„1“ Ðj4ô8Z.gªU@+@­%mdJ2Ù„‘± ›ÃatPZ™TKwê®2öýˆ ÝÌ`= ëž\]Ï·µµ]ºtéŸ?æîÕ"„†ªõêrw–êˆ„BÏ´ô›^!‰Žy1È?Â8Q.—kieyÿþïL¦¾é“ÉÝk-“iÜÜhÌd€Z5¨5 Ђ\±Ž¶«•´'ÿ=\|Jyc(Bƒ° ˆß€å€BÃßm]Ê‘u/ÚQ=Úµó£F²µ·§-_Óöz(‘¾‰QÑ @+@¥­F?ƒ¡`tÑv÷È3xo#„B¡—Ü#ßÅI`añö²•-]™.Pêš@×TF£{§.¶jµZb’;ÃÐÓ‰£‹°Ê=Æ !„B=GaœhoeW¯nýj¡¤ÚX×;¯kA2LLŒF¾ ƒaÄb›mdeÍr¶d¿áˆ%ŽB!„þT€f‰„Õø+WÑÎà¾Ê$¹ #c„)ƒM€‰ “ €ÁÄþw„B!ôT’(B!„B‹!„BaE!„B˜DB!„Â$ŠB!„0‰"„B!ôİnݺ…¥€B!„žA=á|,;zúº?rºgÀj4F£V«•Jå½{÷Þyç,"„Bè¥H¢“(z¶IT­V«Õjüà!„B/]e³Ù˜Ð3Œ¤Z­ÖÈÈH­V÷N¨!„z)’(‹Åê7 ƒ)ú hï׺ó(B!„^–$jdd„¥€ž!F£Õj™]°@B¡—(‰2 lEÏŠ.ƒêšE™L&~B¡— žûѳÔýñÓ]º„ãDB¡—+‰b „B!L¢!„B“(B!„B˜DB!„Ћ™Dñô i{鞂łB½,I‹!„BaE!„B˜DB!„Â$ŠB!„0‰"„B!„I!„B=çXEEEX 蹦V«•J¥F£Á¢@!„† &“I“ù€FOFgg'ƒÁÀòBÏ„V«Õh4jµZ­VÓ4­P(ÝÝÝ)†* ,I„Bh266:Œbï—rL:=9=|Š.Y:}—Ê?{O@÷¡Ðüñó¢BߢNFF“P¶ jSzâdIÿãê“^å¿dƧd^—„Ýô Q›½,7ÆÇl¿L‘|áÔÅ.WÒ®¬<‘1ƒ;0ˆVˆMÆÏx¬ÙRøeÚõ·gðj¯6Ëdr°ž±téÈý"½9àÓu".€¼bǹæaaÂc_û“O¦²Ê·~q~ܲâ'™(ì“n퉹W[;ÀØrÊÜì¹JñÑ/tNs…«µ­r™œm°2Ä•§¬Ýx‚;Í^~½±µUÆ?gθÚï‹rîĿ͵7UÈúîj« €e>> dŽˆÇÖ-5ÃI~õÖ=™LÎ8oåÜqâßœn¥`ϲ[)¬=pì‡F9€ ¸ö3‚ƒ§ZaU‡zxä@‚Ë•”¤Û eÛ³ñ1? £ÿýÿXIï‰IùE®¸¹'>M<3ýô÷ß`%œKJûEÁõŠJò?H>°u¾ 'Ïî‰I¹î’pøÌwßH/Ý“V¥ @z¹ˆ¿vëîƒGlâ_H˼©€†œ”cÔÊgΜ9s"õ#ºè‚Ø@‡ºì׫BWË!¾_òºêÈɹôI‚–^3g8q¿¤Åƒ•»¾ÿþûÓéI¿ßsSaùQBÔxB°6ýHâ ÒÀqõ^wQRL&¬ÜuæÌwgo\ˆ?Ù Ðp,>­nzêé3߈z£(GLþ•Úzµ^Ÿøx­l¨¯Â´•áŸüãӫƼs¿‚ùÙ\|K×ù-¿UÜHЦô$t‹¥j­êðÿç?¬¨Ÿºn>÷“ØØØØO>`ýtàhU‹Tíu^ÀºðOþñÉãëç¾+XlÕ½ÚVQȺð„OƒŸmž²2ü“Oætü|¥pÏ¡ZóùŸÄÆÆF¯×xlÏ- [êzãëó×…>Cu9·¼ÅÄ)8d¼±ñÛ+?ýxªÉÕïòî½ûYø VíO¿b]‡z9<^ï<ËÊý}[6(TŸíªºuIÜáÂÍIÚV¢ÙM9e03êÓé&õ?Î)¨jê`ñÆMòšíbÁV¶”Ù§kɆŽú/¨iíT±xNþ‹zÙ˜t4üxøpAUk'W8iöÂ@'yægU*8òÏÈKË?ßàl‚ïܰ ìP²MØCM~N¥&GMæ€ËÊ©TÌÑ›³Ãßе,ò§4ž áäÉüíEum‹í@øÑô78À?Ã…8÷Cb:Ù?Ú]9y?}Ó[\°œ™|b*p¹?pZÎárÀr²— í @Æ—/ˆó?râÇfú|»´´ÄôLbüü©–¤PHR)€Ÿâ³G~4ÙÉæ£¸Dƒ1óV¹Ì|šõPï-¥€Ï7<0€óV܉ ޾\ø{ÄÒ¾ÃÐquQÔ½ ““uûÍu™? ;{]>•þA,˜>Ó‰6¬œ¼ý²ÄЦ©ÚZ•pŽù?>÷ò¾ˆÊëU½±ò³Uöæo‹¬Ø`bnÍ…«òNöë“EäOÅ·ä"W^[ÜÌ›2ÏŠ ͽ*?ãqS^ç€\\Þh,šó:€;Þ{kÏÏÍJ{c–¥§.ó,;[;uKsµ6ÒŠd‘¼‰–làZs¡¢µd×nåy®´çÛÊsšyñ÷×[>ð`›bÏ -^eu¶v*{ש\KvµøªÐsü8 QÈ*Ö.!L¢ÇÄ„ ‹òŠü–I3L¤%;3ΊÇù,öv”åd_ÊÌPñ¢ZõZV?‹Ó‚õ>&e™ûrv·Š^b^³7ãì-7s±·þÌ‘K™;7nô_>µi×oêòÅî¶C‡KýíLÚ>™oè >€²¥d_Æ%«ÐõþÃ7‹*ª2ω%Ò°÷ÏuM!^_ýÒ’ÔÅ3iIÂeŠ H~W~$I‚–Ðô()E–DWVÓU4ü¸=íè ´TL Ù!ª‚žM|>ÐR  ˆ®Uêÿ5›™{ö_/!ÇÏ^µa@ï|‡¸¼ÕÜU8äw„à“„T,U€¡0*¯:—¶ýäu) ´D .ýwx¨ã¢¥Ršßu0Ò’¤/SMÓiIvM|ƒ$ %QYíÕË,üÙlœ(‹eÂê[¯±-ÞžÂ+.¾%«ý©™79Ä ÷åA,c®1@%ë“W»C±H–ª¹CÆ`Ìf ¬+YÆ=[êÙªþǘ¬ZOÿƒn²ªSEZëBg¯¥Øýk^ûà°y?üP|4íØ=–åÄsæLbM‡Â$:¨N¹L*eAGË•3W:Ì„& ëL2÷]¼Ð‹ ý1S `î»Ðß…`êªÚUSY$\hܽ’ûõ—Ä<7 àù /eV5HŠn©€;u¶—˶“ïp«ÃÄ„mÁµ2™X m,°z.Øc>ZóþÞŒŒ½ºØIU¶/£À8pXÇPýµJk|·¸k°góÑU«3/Ëßòšj¦ÕLI’4%¥¸ºÄI|’°V’OTƒ~Y77P¤ ™tezzú'.@Cæ‚¥?Þ#iC•îMÐR)ôD¹¸oÌ OœŠæ¢´ˆø˜—ƒó-ûÄ ÆŸ[yÇ }=wüL;:%óBÛ[½®Oj>›¸‡ž¿é:%2M²r×®ù6PT%ÎèÛ$ {†:.‚Ï'tAº+e|>IPMQ€™~¢¡Þy¹¸\fîiý„¿Þ¢É¼ó?Ýjêü©ÕÜS4hÇ?‹g ÷:”ÀctRÆ\“Ç«Ù&æ&,Ë÷>í„ÛõÎÜzà‚¢BD€RV›·çÀsã>‹#EB/Ç'ªªÉLNJJJúz×Ù[*ãq³{ñ»jt¾9@)o•W÷?`™ðL:eªÞq¶µdg“####ÿ™)PµÈÚtËYqÙÀiëìâlËÇúx¸â»­}Îlûê«´ãÀõKœGëÝm»y™?sjÏ5G`9u¦àJæÝàOé…“×å ¨;{A*ô²Ó}xÅ'OÞT€üÊÉ+´—p`C"×å#;êÇÌËmÐüCÒê°´ëm””"øo¸Šæ¢Ì³ õM¬@S}’˜åä™BÉÑ“U P4œ;ZGN!$ Æè_W…gÞTÇÒî þÀ9”Íåb“‰öii6}Ã"ÁåøˆÄ³UÍ Eó/G£Ã’.Ó‡–JiB äs ?f^¡ºö– éfJŠÁŽKŸ«ífN†Ë™šÚ®½@Ÿ9žKÚ¹$g/ÜT(Îí¹LاñO­æ®ãžøïLž“'¯ùüÅ­æžãè\¡«ugÅù_;@)»Zx‹5nŠåcV;<û·y­ÅçÅ·ÎÈú©E9Tm*ïT²)÷›­'jåÀæYZ¿Š75A½4³Â³òYàcÅ–1×ÂJh1’ úº–¥«¾Ù\s€Ny«Þä¨ä-rc·÷öŒÍMd¼©¡kÜõ§‹Ëª¿ ëhíTÂH¶RZYV%37É…‹oÕp£ì3—XSý‡y hþ1óº`æ&›ÞÓ,§ÎnÏü±y2Ádòdä’$±DJºlH˜gÐ@ØM…=aK®K$4ꦄéfú–Íf&ÄÞŒOYø^ —y SÌÁÚÉ‘I ýÓø»ÖnZT™'ܵiÆd2&rî‚Ù[¢»¶™—Õ3ן “7$opâÀMCqiüÊù‚øÈ÷ЄÀemì–}ƒhk¹˜e?íÁ—üpœBÓwÙlOÛ¹0‰ øã§.NÝ5ÿ-.Àä +í"cæÎá øãçoØ4».2)l‹`×♓餰¯¯M5t\[¼ºöÑ+*Aœ”²Ú?H»Ù ±3ÍÌVF-ª‹û0“ØMŸ?]påú€ ý0¹zýƉ°Æÿí³€Aƒáø)¼ï¾k~}Éø¡VΛ²4¸5ëÄñÀµž¶rž½ (ﮣž+çɲ|¯[»Îõ´`ƒá,Ê6ÛÞøàžÏÿÏÛa›f}èÄ—ÿM¯O ùDB/Fgg'ƒÁxèùuwqb‰B?_bÛ·¢Tþv<éëKN¡Ÿ¯°e€´(-)GÌç³ÐG(/ËÉ©ñ¦nŒüÈ¢¥ç.Nò’´¤l1W¸À‹'+:[ÐÄóY³Â©>ýŸGn±ÆÍ\ìï?›y¡‰ûÎú¨ ‹ª´Ï2ÅÆ³¾ïä`ƒ¤/ ­V«ÑhÔjµZ­¦iZ¡P466º»»?üþøã'²'m?„.Ü3ã@¿Þî†Ì%]÷iBOÈÍ­ Âê6Ø:Ë!„^ #FŒâ¯OïK|¯5¡3xM™»öåTÁ¸©ËCýûÝ ”ï¾<ÔÇU•½kÛ®ì[,[ÿI|é¶"ÔÇ+>»oWæ¹pÒ‚ÐÙ6l0ç%âBgMÎá3õxw„ž+ò¢ÍþsâŠÚ@þËÉ Rá !ÆP„BÞ;Ï~sMr²á¿Œ ú,9¨÷Ûé+>>äêFÚú¯‰öï7ÑÄÐÄ‘.K>sY‚oBϮצME1I ß‹ …Ó7%ôV€Bè¥õ¨½óRÇoWò33/´‹Ö¶ÄûØ_zçw!„BOóê7DÙpöð…V0çë‹ÃñB!„^ríÍBØo®IJÆBG!„BðW·‰"„B!„I!„BaE!„B˜DB!„Â$ŠÐC}‚™øF!„ž×Ó4žÅÑóÍÆû!„BÃA˜DÑ‹ÌÈȈÃá`Ë(B!4¬0™Lccãž YXRè£FFFX!„ÐóX±B!„&Q„B!„I!„B!L¢!„Bè…Ä***ÂR@!„BÏ ‰zyy1 ,ôLhµZF£V«Õj5MÓ …¢±±‹!„zI`ï r=ŸÂÍS§h*©¤±BèÅK¢õjTÀsñqw¶ÐM±’\È©)ª¹ïìb#2‡¦ÖK9E¶>Üú]Ñ%Q5ø„Qÿá²/–ëãa#ØËN^[Þ†¥€BÏG¼b©£¾¨F\¯'…8LâÜ*ª¹^‹g;ðT·ÎîË,»øXaE=ІÂÛX !ô<`tvv2 ,ôLhµZF£V«Õj5MÓ …¢±±ÑÝÝý‘“G÷K6ŸäŒ6Ѧ½A³·5€ûÖâ4Ž¢éâñûŽ—\kh£HKgWßWø9põ ÜÞ;kÞ¶f ¦mÍKñà^­~´"ج?v|ÅX¸{jÑñµ`˜™í  ¸–8{ev€Yàžœhû¶Âmñ)ÇË›iç„‚½~½W.¯ÉÛ›•]RRSÛF首ö\}B‚zv®§X6ù„Ÿ§,×;µb,ÈkòvìÈ*,¯l¦3› îA¯_ä:jÈÒ_;•¶cïùr]a–ÎA¯ñ°Òí½üÚ©´YçËkÛh ÌìÝ–oøØoì Cä5ydzò ËËk›)Z¿öÎA‹–Ïê¿ò¼>1•`{îÛY£àîµã;vïÚfö®Ó‚>Þ4¡ëÈ5)óg5Ø®îPºfkºx|ïñüòÊZýܵ³‚Bº !„Ð_€…E€põéCNÓòòm+Öf5ôþ+Õ\y~_Ìùü’­ßÆéRçXß›m_6Ð%ǯÉ= GQùµã%º cä;vˆ­]‘”¢ååI+7çìZnʋۓÛÐo*Õ\[’[[’»mGÀ–´8ï>)œÃ!hºM!¿}*zE| Õë¯t[Cyî—kóÏòíÖE}’cOiÈ›ò¢Åœ§ú”Eþ¶ðÂ’¨cÛƒÌnß¼"©÷Jé¶ÚóûbΗ4Û³b@½[˜¾9»¶ïDº­¡ò|Cåù¬ÓbÓgõ]¨ë².MËkönX¹­ÏèOº­¶$;©$ÿb±¿Qû«¥æøæµ}ö¹ïn¤¹GíÝ4Ó(BaEè¯Bt]ãDß>½#«,]ƒ\Çšqm·KŽïÍ­¤ 97>%('n¬¼ƒì¿ü²v¨(ÚDíyÕNËáè·OËog¥ä¶i㟵#¿– ËSRò,­¶%•P¤sÀŠ ï±\ß.ì*©ÚmIùÛgõN‡ò‹q‹»"¶å´_W+K‚n¾}1?++¿–†æóñ‹69i½3eÏÛR˜´c[%M:ÍrŸ`É…¶Ûåùû²JÚ€:ŸTè‘âÍà8|¼='„¾½wmxvX.ßždIaÆP\K ×ÇPÒ9`Å,wû±£8 7Ý./Ì=~¾–ª$imŠ}NôÌ¢!„I¡¿Xí¶/œ–p,ů'˜ùÍ p];;¾œh+<^«˜ÐE“jè’ÜZ…ÇÀ;“öQçi7`€®=~¼pýdÏ–E}»Úåå)Ñúg¿>sÏ ‡î­M˜àá7kVÊŠ•Y ÍÙq;‚Žmrè¿/T~R6Ø/ß³}Cw?6xûx§Ì[™Õ •YåwgY lU¬Ý·¯ßöü|]IÝHú|L8€MÈž½›ºWêíë=vѼm P~¼üPÙsä´„o{•®ÃWïY!q‹ÃsÛ€.éΔú ª¢ÍY_6®Ÿdn]Ô½'Þ³f¹GÏ Ï§èóÇËåÞÞ\àZYqæê—#¬,ÇZYõ.Ǻ½ ÜŽõμ®Þ³-¿¨Û¶ìm…oèVV„B‰E€Pd@Jœ_¿à8Ê{¹».ÛPµµ]=çVÓBœuùñâñÊLê ¢®!î 5]Ñ«­¦%ö¡w/îÈÕu'Û¬O\1 hr'¬ 0ÓE¶Sû* >¼Éþ“-½b(p&„„Øè^6•4~ä“åò~ÛãØùšuýÇ,0n}Ÿ•rÆúéWÙ\Þֳʻ…iº }”.À(M‰¾$}~G~“¡!Ücõ;r®ëò®}¹]Þô0o®¼¶IßJí;pT*ŒòX»>$dý'±!Ø;B lE/–†/gOúò!æësKof³Bœö´sǺZÂùßî¾Qî(÷ g¨¬ .¯T¸ömí¢„{ˆÇ÷®™ù®p°yyen¹îÕ`ãM9öAÓÌr³Û¨ò¼Û ×aÕuù,Ͳfc h ¨69 0°oß„B˜DúS,}?Þô§ž±Ä!en®kˆ;Q^BuñT­Âµëzkyùñ® âü(ñ†°äœ¦åú¬Åâ9¦W*i¹Ü@GõSYÄîSN=Ò“7årEO7ú£nëïï„ {ŽM‰KÉ®¤èæÊ’ÜÊ’Ü}„¥«oÈòƒð†¢!„I¡ç×5Ä(9OÕsU}O5ó ±²©æ¡ÖF ³BêÙûõ[6=°Éš´yºW­sÆÎŠÞ;kÃíò¼üüó%]× ÑÍå¹_–ç=o(ŠB˜Dz¢è„ wâ|Ÿ(Ú+ˆ>‘@C\}4MÉ´v¡åú1—3ÌR§{Èaéêú(£žæ7ÖuÖ ×Y+¢Aq·¦ü|~î©ÜüÊ6h;Ÿ´6i챸a²Ÿ!ôbÃ+–ú“‰Æu‘7 º( ½‚¨e@ÓȄ³±úë†ÚjڻĆnkÖÅ4³7fED˜Õ7m«†×qF9xmHÜ›—³E/¬¶ÜïâG!„0‰"4üqœCôQ´$ÿ¶¢'ˆ¸Òc²r·×5*¶•_k3<‹âvaî•¥«ÃpkÌãŒuwнj¾XÞ6|ßI+ïMŸèn†·ËÛð²z„Â$ŠÐóE탼ÍÚ ó›ï^ÓQûE¾VOhÜ ³\uQ´!ëx¡„$/Ï*Ô5‰šyûZ»âºê^CV–ÁEMJߢ q{ójäOpË}¶%¿v<1zí¢ E)׋™œ/BaEh˜GÑifÍ……%ú úÐOø|¨$ç¾>Hÿ ¥}ñ£ÜÝ‹)ñùº êüqˆÃ0 Q£¼?îzTÖæ¤Â=ßw “³ÚjKr÷–POà‚«®ÛKµÕönÚ$ æ|~ymCmVܶrCy·)¯î„³;^@B¼b ½Xšs·ÅÝ&.Ëp]Wlð{"q‘36È×,;« v¤4è‚hû“¼Jsb IDATœãðqb`áÚìf€Úm‹ç•‡¬ò¶·$j¾}-?ko~­>‡~`5,ߎë¦ÄÀòµÙÍ͹›g×ú†„øzŒ5#hySMInVVI3¾që]ÿ|4³·h*7:Úl…÷XËͼyOøx½{n| Yký.N ˜åíjo6ŠÃQ(î¶Õ–çÏÖï†MÈÇx½Bý5I´¨¨K½8èÚüÜÚ‡œ—hóûØïÉ4}q‚,³ö5­‹„®!ÞOøND\×è=[ <:»–†æ’¬¤’¬þéËý“­‰‹†ï͇z]›¿/>_¿9,¶G=‘rãNñ%Kò)h>¿/é<¾AÞV£f%î‘o^ûe9tÃùìmç³~*ì·npÀQ„úk’¨——ƒÁÀ‚@Ï„V«Õh4jµZ­VÓ4­P(ŸÏC;Ë×rß>]“áâñšÔFyG›”w<+;¿äZm›înñ„™½³Ç¬E!®Ã¾?y”wô·y‹ ï=ž_~­¶ëZÒÌÞÁÝ=0d…ß“»ÔŠë»7–ˆÛ–_ÙFafïî¬{<×aÑö<Y¹ùå×jn7wÝtŸ0³±wvõµh–÷XlE¡¿ £³³“(VIÔÝÝK!„zàK!„B“(B!„Â$ŠB!„&Q„B!„I!„B!L¢!„B“(B!„B˜DB!„&Q„B!„0‰"„B!L¢!„BaE!„BÏWUÞØu°^Ùoúo'?ŒŒÚyCùÈ»pÿFÑ™’ß”•i‘‘‘_IûMG!„B˜DŸþ,£JGþyiùçk g_¦Ø|vdPýWÝÓKü'Ý;SÖá°ü³5Î&÷¯¤ý3SÌó‰Œö·À÷ïSv(Ù&ì¡& „B êO´‰*Ëßw¶Ff" \½x*«²BÞõ‡–3û.Ü—Åë×/pWÙyæ7%›­EùR‡Àå3Œ;Ň dBÿåSyÀ›º|ýB[“î|Ü{z°ëTTõe ÐÑTÖ`þÎ$Œ¡Ï>‡þv&-yïi×[Jv&eü«T „Bè©'QYM•Àü}÷7ßt›äÔÕ¼ÚRv¥Àêý÷]llÜü§šƒ¬âRW:aÙúy9;{½ïÂ5IÁÂÊÊL¬„6&=ëf÷ž>rŒû;æ ª/kR‚²©¬Aæî.DŸ=ö˜Ö¼g2ö^‘*•-%û2 ŒWû[`“(B!„Îã÷Î+;Z;€ËÕH®ªä ìw@Ó‘Féš·I¦l,yYÎŒórÀÄ3̨‹ÿÿcïþ㚺îÿ¿p/H.‚´‰?Hi m%ŸjCWÁª×Õ&ÓÛ>ZèZðÛÚ Üfh7b?5tmèVbWaë sƵÂtÄZã‘þ0hºšª ®&Z j“йP¹±p/A¾¬R­¨ïç£GãͽçÞœ{È}åÜsïÅŠB¡ï3‰†'ÌË™H±6­Y·G–èˆè§9$ö¬ýsÅšZ©ä‡æ]$:F&臂.ç¦u[¿è¼ÈôÈÛH@’1ˆ"„BÝBºººBBB®ƒ-íþòýÒ?|Ò9ùé—rïŒÄwƒèíí=sæLOOOOOÏóÇ;v,-- k!„º®‡ìüò ³y¿õbf?t;ÆP„B!L¢ß“nvÿ†µÛÛ!&yþO÷B!„º1\?gçÑÏÎ#„º\<Ïû|¾ööö®®.¬Ñ)"""&&&..Ž ˆ‹Ï)ÀÊB!„ÐuC›››£££##qÄÞ(ÕÙÙÙÞÞÞÜÜœ˜˜xñ0ŠI!„B× ŸÏ-‘H°*F³ÈÈÈàïŸÏwñŠ•…B¡ëE{{{LL ÖÃu!&&¦½½ýâó`E!„Ðu£«« OÊ_/"##¿u,/&Q„B!tm`E!„B˜DB!„&Q„B!„®6¼‹B!„nT>‡¥ÞÁÉJµ"k“(B!„Ð÷DëKKJ]bFn)”5ç±U•–›[ü„X‘‘W¬UKÉ®­Áâ’©Ó¿-òrvíìüzþœiвí•4u ëà´*£¢Úœ} o¨Ê¹ël­J&¯Da˜DB!t£ã9àÂää³é²‹Üôòò*åë´­))É.‚Måê‘t úìkª ”éqßžÐт՛t#‰rdºÞ"'¨kY—œ»ºªF®¸RItçÎØ>B!tóq×%Kkõj ™¬Ò®Œ“5ç4dñ´Ôna²LÕ¢®TWÑèå9ÓK z•Àg3•ZÝ™¬1”¦xÊ—”ؽ|a&«¯6Ò\ƒqY©ÕÍs LÏ3.×\J7«§:{±]™n‡—–dÕó‹üe› r|æìLKVuž-Û¨¨6kØs¶,%ºŠ)Tä ÙÉä¥5b»v¾A’%wÙn7¤kåõk,N·›œe¨Ô¥SÀ9Í%%Uv†ãˆduñ«Úô8ÎiÌ,b³hÆj÷x=V\©W4é–lha6?‘ë^YYøÝÓ¨àλ&cKD!„Ð ÃcÎ_Ú4xŠ·æ‰é5³¶º??ùŒ8ƒ|ž;N¡VÇà­÷¬µ©âÀS]âH«¬-”îêü\YnÊð®Ð×K S:å©ÎÎ4˜ÕæÜBC–5Ÿ1Ôê夯®Hgj+Ó)_]a¦¶JazlÀ¹H`í²M•…qœ]?_grýC3 Š,.N.'Á×hñH5i"° Ì=°…n“Æèј겥¤ÇœŸ]T¥°Rç—æÈ(’ki` Õ&=kÉýñ² YmµIê³dϯjÈK§™Š"£'·z“F ŽòìÂR…ŘÞFWZ­IK±¶Buùf·9W_¬PUe¬5©¯ÈÈ[¼v!„B7ÖÍ ûž×ëxíg8 $Ãé&dšô8ðÙ7»eyYr €”*³¤n‹ƒ%†ºMËÓ))"¿›å¯ßµÙ)ÊÊK§ ŽÎR0¶Ϲeó̆'¦§H/làÎY')– 9†%eê4h´º¹àV$g¥Å µ…»Õ+Í o•(H[“gˆÒ@L«“IJ"ŠÓÒ¥@IÄËðàµÚØ´¼ ) @Ê5‘Ýââ„)j„XJ÷A¯'ŠB¡Š4#/‹µ³Àº¬õ.Ò”r@ÈÔ²ÊB¬›2ŒR"ŠæU–o*ɤKƒÒÏKX·¹Ôhv0@¼×Ë)ÏY’cKE&m"xžIØs‡©7N” "øŠ$H™&×[½çwòE€ëÂ-ä=,Ñ÷€ˆ¼‡ª4 Ï1üxàX†õשh¢ÿsÊ}<Èþ’¯L¢!„º¡Éj­^ à3»êK]âô‚åÚ ‚_œœ·XÌî¬Âaœlƒ±Ü«Ñf šK(¢…Ö2øÒvÎiX\ÅTת%$ç4d.9÷BxR$Ê–VW_ëÛI™&ͯ·¹dv·t"`¨.I¡„âí,̺¼á©ôË$% géꌊAÕÄ9¯úγó!„º9I5Z¥M¾Îl÷p¬»Î˜_dõ‹„çDÖ8E†Ôi²¸9`&¾Î~†#ÅR à±Õ4zY6E ŽeyJ–‘ì1›pn³^gvøœ6)Ó¤ñ–ª5®`RœB)v×XÜç±Ö¸ÅJÅ2°8-jª¶y| F±zF‚ €cyL¢!„BÍq" ’RC^äM¥V—eðÕÚùÓSSgçV¹Ó «—Óç%>‰¦¬Xº9_EÓ´Z×(V¦KÈ”¼\i}¾J¥Î6z•Å DõÚ%f˜N5.QåV»ãT¯Ò›t*š¦UùB™vþ¥óçMM¥õnØ(ª`/D¤YFmp U‹Í­1K:’ºJ.(Ë#«Ó4Mg=)J95Ü)Ó˜óUZû•3rì¸*U&Œc% „’ÝnW(X7ÌþÂ>Q„B!tm`E!„B˜DB!„&Q„B!„0‰"„B!L¢!„BaE!„B×»‘>íóÔ§«*?jˆ¾ÿ™üY¢‘•ÑuèoåïybôÜÓ©QG7¼±îpÄ=9Ï)o¹¬M:uh×wÝw×XAß&‰ç>ywîX„BèFÑÙÙ‰U1úuvvFDD\•$Ê|¾§ ¢Ãz:šö¶NŸÿ]_/ˆŸ®yT±c/¯ À‰FëŽ}ññ÷Ý5 JöÐcQ9 c(B!t£Š‰‰iooÇ$z]hoo‰‰¹ I4À4í;ÑÓ”©Íµ¾¯•VJLcåªúñ´F|n?rª',öN墹ò±‚a¦.±õ_æÁ>ÑA—§qÛÖ]‡Û8€(qʃs•w‹8±w›Åv° ÇÝ9G=OuäoåïyÀ][¶âŽì%žøà½>Qÿ‘ú-ï;ÒÆ±Ò)sæÍJŒ‚À‘¼Q{dìÕ²Öw¹O)žöèÿÒ“"àt³m«u¯»ƒ‹ž8U©žs›ÛB!4êÄÅÅ577#)æÑQ«³³³½½½££#11ñÊ'ѳ·©b4uâ"ñÇ[î;ñ#Éxð::æ.È™Þúñ?ên{âmOMfúC–îÿïÆšúc0i¦:5ê¨mÛþMµ¤èéYðqmÝÁÓñ?ÌTÅÚ´yÿ–ñ“žž¢Ê¸sý惧ÇÍ\8ï.‰NœÍµõïÔî>5æŽYNÛf¯Û±{ýßᙜYcàÍþ¯S3• &íÛ²ãÈ®m»åùÓOlÙåÈç>>%úôçoݳõcÙÓó±o!„u‚HLLôù|ÍÍÍ]]]X!£SDDDLLLbb"AW<‰ZíŽo 6E\Oüñ°ýÐO`ü¤’bSgÊÇ…[¦'ÙÜMžƒÞ®)ñCO2‰ž>²çXŒQ<¨¸ëA’$:ñ(GF€€¼?sñAT¬HQ·Ù¿ï”çT`Ú¤ø±ˆŠŸ?V§6ðľ¦S“”óÒ’"â{>ÿÓ–“Ÿïm›N@ØÄYªÔ¤ˆ@Tóž#û:ZO@Nõ´ÝuÛ´Ÿhç°].s½½kʬ»ÇbU „ºúaT"‘H$¬ŠÀ凮€Ç~ˆàþýî[ÿî›ä²íš”Øß‡HŽ%dT×u:0ìô¨!Šïj; QñQ'%ÝL:­ûê>nòtôôÍÖ~¹¶ÓäØ¨à‡‹ˆŠ ƒ“§OõÿnŠ-!€€`’rþ”ÓÖ}vl9° ,vòüìyIxzþÒc¨Ëòî–Và /À0ŠB¡«–D»Ž~zˆƒèÕ’¢‚ÿÞ±mÏûÑ®DY_=Ýz@0ûEDõ¯b¸é犈%€kã Njr"'ÝI~bÙï‰ÿ¿ÿ•mÝò§w‹m#ÇNŸ:‰ ëÔé€hQÀéaˆJúñO’~ð3ž#{wX÷ØZ?åçK°kôRch]×´§rR7Uÿ}†Q„B]ªË½Ÿh×1{sŒ½óþ©II²¤$Y’ü¾{b¡çÈž#þþY:ö~Pÿß#ŸÛ>>ÈHRÄß2ý¼PxÛ}:öÔÙ5^oÞhýh÷Ñôp=è:ÝêúW}3ÐsêD«? àµÉqä„Pº¾eJÊX€£oýôPówo³—* —,O}ú®ñµ•ÿøôXG@%Š$¦ÐK`êk뺦e?6E$ŒMY=êk?:ÀšA!„Ð%¸ÌÄÕuÔ~¤¢n»ël¯×ØÛRÆnßqÔ~Ä×$ˆŸ*fêßÛ}ª‡Œ¬|$E}#8/˜>ô0c¡üÑÇËÖOw¼· JœòðÜÇ áÁÙ·­ß~ä£uÿˆŸ¬\AnØ|¸Þ²;ñé)÷MÜ]wì`%0ögžýPñ³ž|4°åã}m< @ÆÞ1S£L ÆNU>èÙú¯jß×CséxŒ¢—Ô|DÓN1PYcSWžšššššš®ÊÖšì}ís[LÕ ¾‹-ì³W›,ø÷€¾wœ]G§¦¦¦¦|=Ïc3™ê‚׳xª5©©©¹u,V!&Q„®|}i¹µèÆÌ¡6]~éæ&‚.(^¾¼8' \õ…º:°öòÒŠ*«÷"mßc5¬¨¨qáQ}ßíÖ^móƒH|cM÷´?Îi*­¨ØìæD´®¬¬L« °1‰"t½ Ä"`6”šÝ|:LZ ššššªÊ5Ø<À5hÓSS5åc.ššJçÜ6CvðuyO“ÏV^\ÎÖ[ܘqѵÃyì.@QXœ«Q«5…ÆÕeË—r“)Oµfö’zü›OWç©3äªRSSSSi¶ÚÁgצÏ_Ñà*ùqj®Í[—›ššª©öôwX© N<6C~_Ÿ+­Ñš˜[Ñw¢5<1kiq†ì56ß ]×ßÚhÖdgY[îô'60K¦§kíc3ƒßƾ†þïâTZSXìÿïÿ¯3ªÓSSSUùýßÝØ’1‰"tMPi9 àª0ÖùÎý&,-¬¨÷&/­\½\É5m(*©ó-f3hôK„¿©fI¾ ²ôKÓ„þ¦5‹ܦü¢5¼²lõêåéÌæ’ <·‰®R’–"°åLf›ÝMÑj5­’¥ay@¤W®Ì‘2æ¢ešˆe«WæHZêWU9!E[–#€„œ²Õz…p¸Ì`+)Ú`§4e«WW.§ùú*}¶xôÝøjy!M§e)EÐdnìûræœùË6؉ŒåeeKL}E¡®AZüj†R–V®Ö¦ƒ~…¹Ëó—¬iô+––­,[ªð7®Y’orÃÀ×x•›Ö–¦ û½Ù-“(B×4K—!âK+ì¾³ß;”,¯ríÚÚ²l…\©Qî&¦ï]B‘—§¦5yiÈr Õ´&0M n›¹ %/–ËÕ9 àµnÆnQtí~i¥L¯fÍ’1*J‹ò3g§ªr6@œT*"‘,%9ŽцµkkWkiyº&#€qxyR"“R@JSäÒáOvr—ÝåyAíž³6™ÄzGß%ˆ6ÖØA¨PŠX–¢ÓDÐTSìŠw›­^Ea¡š¦³õ•+Ë YRQr²”Jš’,9'ˆVonPë³ét:»¸@Ðb¶¸ûÞ&äZ­†¦5Jc÷pØ’G7Vº¡”¢`išuÙfýš4zàkŒqÔ”VX›þœ.%@PÑÿšà€Žu³ÐTòãÔ’þù]^ð ]+¤T¥5ª´ÀùÜMv[õŠŠú]‰¢®²;Bùì/g‡ÇŽìîNØpÀÙþÛ=(¾t{víiH\°èG)‘’îý¿]ïÙר:%ÜÉŒS.øÑ”XH8÷­:€gôÄЦw+ÖyáûZáÙ\ £!„†:VttÈår‚ °*F›°°°~—›Aƒ~ðƒ|ùå—#[ûå&ÑH*€moë„Û/ì“ ´ïß¶®ÑÙÞ5üò]-Û×o;àaÃ%ÝV "–ô­°íþÎÈN b"±ñ`±éŒšº¡kvá¯RûÖþùÏ& £!„††1tÔ&ÑÐÐÐï’DCCCÀÈÖ~™W,…Çß3)À³}Ï—Ý}“º¿üøâÿ{Ã|°ãË­k·;Ûcçþòå×_~nÌP©åÀºõû=Ý“sþÏðúËO'ƒ#ã)€®¶öàÇélgT|L$ ,Û hkÅ::t·n]µ¡kö³9iñáá±÷å>ûlýËûm!„B£]hhhXXXøå#"<<<,,,,,lÄk¿ì>Ñ;çÏKtnhÞö‡×©“%]'ìq¶CÄ=É’ÈÀžnèîb[îÜþ ì-m“ÂжS|‚?èl ø=“ IDAT÷ìÛ³­%ÐÙz´µólZ¸dZjÌ®íÍ›ÖíL£Z?ÙêÌH×™Lmßurë†Ô4Á­#»ÿºÂÂãz¶8fÓï5K™—-¿»[ö޵åÎ.rÍZYgLïoÜ]§Ê·J˶›hêû߇Ùh4Y›¼<€P6+· 87=nÔÖžÇfaj9uÝív¼ÝÀBL~%aÄ—µ…¥Î½«*,|tÜþ®§Ùîݘ0ö‚$Úµþý£q“Þ^s ×Q¹þÈoÿ%%Ñ}/ˆuýóîxóç¿)x3ÉòbÊÕmÜ¡wÞÚ8sÚe'Q„¾¥EDSMïˬÝlçáš|£qNS~¾‰Ê2T—+¤ÀØ-FÝ’ÅÌêZ­|t6z­ª†7`Eè:àÿ¯3Û.\|k环ø§{o‘'üvºàƒwœ[S’ßžè(ýKK÷Üäy{®ˆ¾Ý4³·ÜÔrú.á±}1Ýýû„®÷>8öãÝ<½øÇŠ ªL¡°ÍûLMÇC÷Gìq>ÞÑ;!uâBη¶¥ëD{oâÌÛ_‘G€¿åË×>n;ÈŠ‰Ú©QDàt¹©¹] ‡üÇNóíaþ#_¼Ø|¦»å`Îñ„·çFúZMTLü¿Ûcn„s[|<˜DoN¤xæ¢9·nÜ}¨ RÄÀµlyý¥·vxyaÒ¼^þå4Û´î•WVíþªoâk/ÌpÞ-¯þêÍmÄ­ ÷><•ð®{<ë½Çú».¹¦W4KÙÍ¿›<Èq®?å-ÝÙÆïÎz|ïkk^L:ðÎK¿ç@@$Íùå‹/Ì<·Ãsˆò¡Sö¶±S½øâ“)´¼³ gÇœ…±{w·0Lqï/~·ìáÁO!äZ¶¼þÊ[;Z€N}òÅ%øµæ%ò5óË÷RÌ{9šusÖüýÉl×k•Òb—¹¥U°³CL'°ž¾lX­ÓUÙàABkË j xª³Û•ÐØèöxxYa¹Q#Ö^^¤7;YàIiFq™ŽŽ`íÆBÙ ¢äYY 5¼¡V/'} Æe¥V7Ï0=ϸ\#”1ÙÆŠ*]f) vÏJÙ†JÑfwp«ªõú*»ŸÑ†bµœÆÌ"V“ÆØì.7ŸR¨§&s“ËÍ*ŠWT”éó+L£ËÃ0Ô¬å+uéqž:ƒn…Õ „\£7*(¶.W]CçJmn›‘ä®\™›LržºR]E£—ç@L/5èUC}ê VŸ¿Âå%ò5î²Õyî׊*<•¬..Ó¦òpŠÍÝtÐÝ~ªõ®ÛÞxònÓ#cOìû²ñtDz y¢éÔ à¿dìýèøÞÇ!þóeÄKùòßËB>ßá^Ýó»ŸÊkŸ½ûÿ&œ.ß{,0d™‚Pèéj$où}öÝUs#6¸×ÇLx#ûÿÙÝúyà´ïåÍmÄôäÚgåÕ Dí îrï àÌžf2aòÛ‹ï,$ÙÕ»¹‰ÓÇ„$μsÍ91ˆÔ»cûNǸú/{&&E qߤؖÞÙúÕ­S'ÇpMoþêõC÷¿f¶Z­ævüæ7[à\«^z³åá·ël6[ÍÓ°õ•7?ã˜_zý³”—-ÖÍ_±ÙqˆñÌE _½÷aKðøhã.˜¶hêÀጔýìµç&IÏ×üýÅ{ù¯üæxzÕºÙj~A¼ã¥—Þóž³YC•ì®×—¾å_ô¶Åjµ®ù¹né+;X‚?°ƒzºbÍß7Ô¼vïg¯¿ò!3¨¤–U¿~½iêkfëæÍ–?.j{ë7o6SŸœIìZ×÷Ô=f×Ö–„Es0†^Ï(…FæÚÐàƒ`uI5iTð[ϳ¹¤Â«1ÕÙlu™Ýhl`€¦Ñ.+®¬6×MU&Ç9«ôfÈ«µÙl›–RÖÒ*'œ³\g¡–n²ÕÕK­›½ª¬·˜9¯ýñ9 \ËÖmI?y2…êÞ'»õÐÆÏRöËšº·ŸL @:•*eÑc“@<ó'“¿zoKK¹pòЧ$¹C[vô'ƒÝ ÔÔ…s„‡¶6±çÌ0DùÜ¡÷vÀýOÏK @tÿOf{·à`Òcsd$P“çÜKúð7P’w׎£·.z,…2aÎÂ$ÿ®[ iáb÷º½,0»6¶$-œ)ÆfqGѬwM£€µ×¸dÕ×ô$šÕÛWgKIJN‹y/l„L“¤X&äÈdmmÝJuÄÉi ÛÂðÀØíl²&=€”ªóëÚìeå¥SGg)[ƒgð;†#%Cý®w[9E.d²R#v[],€H¡I¡‘T$’+e$!–R¼›åHö¥ZJ®”²Ã6mv‰59 qiÙ Înss@$(i) @Šä"ža8Ÿ}³[–—%§H©2Kê¶8Ø¡>õ B ÁØÌ6‡‡£…F=â‘­æ¿ø³{£MOùYIö„«Ð;„Ð køq¢aaD_Ûï¿ýDôØGÇy×ÑõØÝÜÖ㡳4cè\TLTðg[O;Â1ýK‘áBèií ”ìO8~‡…† ˆþNwôtÃüª²-yè%Æ÷=?,jøHmŽC¹Û¿é¿u¼ia\,œ>Uùþц˜ño<{ þMß\Ɖ²;~­y…Ÿ÷äL1 àgüüW5Ê×û«¾òçÿð­?¬ÿÌËßv”Ïúy"¡ÿ !ìëM[4õõ߯s=ý ~ëgĜג†i’<ÓÆ“ûØ$%ò»ü~€®¤!Ëç™6Þ`©ZÙ×öy?Lfý  ¨Øþ„B‚÷ž½c0Ƕøõ¿KˆboóyïcóbsÖíbfÞ»kcKÒÂi"l×y›¦äšoU½'Mdv˲_Ó÷ާ±¢´ªÁÍþ^¤éŸ¿ÿf•d߀i·ÕXZÓèá‚gZødà~ i"±ˆŽaü-™´‰¶A^$ †Æ¾@,"93Äo/žåÉfH‰(`ÄÄ ØJ\ø¡ú!!Á3; žò³•%s'\…¾½),†„æozúÎ'pÝ~‹'Gxn!*:<œûÇÅãÏy¨Tàôŗн+Ñ”x@ §Ûë—ÝöÇéB!ŠÆÎ[a>ïÒªžmëϱ~†'b…>’JÂgLÿ»<ÓÁœðØ¢„õëw¹ø­ÞÉ‹0ˆÞY‘­`Ê­VÊ-Ë’S`NõÕét6yeu¹œ¶.Wµf˜¥=fm©K³º6;™Oµ&³Á7±< À3^–"‘P¶´º:{ÈÇ>‘Re èÌ×Npn³Ñ"ÎS‹ÎÝßâY†Jôí—0ñ,Ó·Ï3<¡ HŠ–aÚ:GH†ÌxBE(´–Êsîà¹øÊH k su[ô¹:£b“~äYæ.+ ÿÃvÉùÂU‰¡#I¢;vìÀ¿tYfΜy]lglB\âÇ'ÖîK†}Þ¨ rNBد÷´K¼e¢ çó}̉˜˜Ôh€¯F²Fáø˜;¿9±¾%^›Ó[þyâ´BºpÜó†ôò\@8Âb½ü[޼=ñÓñ*¥›žxÞó ×å¾òÖBó )dœ™±«¶¶L]”@³ã¿ß5ù…_ˆÛü„(ILpÞïlù ÀÏ™03É¿jã^6eÅ~¶î½¯úûs¨É gÂÒ·Þ$¨ÇÞ¾pä%<ׯI߯¼³Ã{ïCb`ö®ßáŸüÜäÁÍ!Ë'“›Ê¿ôÎïï×òÁë:0ïÅ_Þ pô½÷\þLF²{7îå“~‘@Bÿ°Sñ´‡'½µî½¦y?K!¹–­ë gþ"8Ò`ΤU«Þ\ÅO~a*… á@¦d)¼…UÞt£‚‚þ_1<ÂH&¦X‡yƒ‹çØ!Ÿ°Ç±^žI%$€¯¡fs O°"¹œª²Ø}4M¹­k~P²ŒdO•Ù¡)”“œÛ\Z¹ƒ¯Y¢…y’L]¡Ñ ÏK“ŒÝlÔUx³VSbe•o²zj ç4›Yn Ì·}$¿½ºÑ§ ã| f7¥Pˆ(Q†œ1Õ8ÔZ9å³UÛÉ´\éÙ¶~Vœ"Cj4YÜiÙR’u˜JÍâ½j˜Ð¼‡ãÀc-ÔÙ³Êôéq”X*¡€ýÎÝ4æ¼P6ç*înìE7°^ûûMsÏý~Ë˽ó¡a¿ü¢½õØo×z×liþ?ýú/­<;VûÈ-ü#ÛÀ¨¸ßdp¯}|0“€Ð‰·‹3n¸îUAê]«œ™-ã«4q±“;N­ÿêÌñ¯?²oàë3®êÉññ/û¦<|Ëž|aÞÖ‚WV=ºæg²”_¼ñüë/ý\½Š€Ø©O¾ø´ˆ$ž|îþ_½ªQ¾+Nzì¹~rhé›?)aͲŸßõ«ß¨h"6aÚ¢Ç&[úðdÒÂ9DîzÑóCŒ¼Œ½÷áÉo¾¥QîZVóÇ_{ò•ßç(_aÒ£¯½ü°è¼„]%–*r µ mi¾A^ž|Á¢ÉY¹Šü"•J$–Ò…Ú{aI~¹tuÁR:_?Ÿ&År¥&]ìˆS½jhZ¦SÑ,)U¤çô’Òìʵ¤±Ô˜=ÛˈR2òVë5É$@aYž^—MûSÇ÷mI”)¤¶ešR§—“d–'“êWõŽ¢"5͈ye…rrÈÐ(Ñ”»ŠòUU•¬).“ Ý'JJ•i°ä •÷USmÕe¦3@¤TY\&í·Z»ìçÎcŸ(º\éÅçÎ#4šyß{&çÃGkþøð÷tÊ»åÇsvüÌòöÌË ”\Ó+š—ˆ5/àýMG±QòÜyΡŸ¯UZ ¥ßÛÆÌ"®¬V—<*›çw|î|oo/Ïóßës篗3­!„¾[ýà­UÞ™/Ïõ#/Ù¦õ¯ï?¹c(ŽÇœ›mVšVgKy»¹‘“-ÇñÄ£žÃC!tÎõ‡œ¼õm“Ÿ[ñÚ½£û„7óÁ¯²–ï³ìÇðîMhXeqž­({v%ËЗ¥ã8ŽÑã²ÏÎ#táÙy„ºIŒ’³óè<×üì<ÞÙ!„B]˜DB!„&Q„B!„I!„BÝœÚÚÚŽ?ŽI!„B7¼Æôz‰¡½½½‰äÒÃ(ÇqÁoÇ„I!„BW]ttô±cÇ:;;±*F MII?~ü¥„ÑÞÞÞîîî'NÜrË-#[#ÞO!„BWÝ„ Ž?ît:{zzB VË5×ÛÛ»ÿþàk–eãããçÍ›üçøñãÛÚÚÞÿýqãÆ ¹ìÀ]ŸÆŸ’’2² q=:3lòÁä)¡wÝ+îtÍI$’KŸÏõ „Ðuz°F-†a¾ùæ›;î¸ã¼é'OžlooOHHøöL9ÌíH/~?ÑçÉÿí<ˆ{]_0‰"„Ðõ•A‡Ì£R¯y íììLJJòÝÖÖÖöööI“& 7O¼p†+üÜy„B¡ÄÐÞÞ^¿ßÿõ×_s×ÓÓƒés”øúë¯I’œ6mÚp3ÄÇÇûý~›ÍvÞIË`è3fŒH$ŠŒŒ þ³··÷²žÕ„I!„BW=ƒ˲­­­‰dìØ±¡¡xÍôõ$11111qÈ·ÚÛÛ=X,3fL0žw÷%æQL¢!„ººy4M¾þúë‰'FGGcÜHbbbÀçóEFF§`Ÿ(B!„®}ˆ¡A~¿ðHÄ¿`%]'»ò§ß2ÃØ±c;væÌ™ ì½”HŠI!„BW=†â¨ÐXhhè…/1Œâ( „B]ÝTÚÛÛ{æÌ™3gÎ`mܨ‚ûw?9°O]ß¾·ã"„ºÜô9Aƒ/¼^ïÐ3ÿ+l4º¬á^¯7xù|HHHhhhÈ Ã]ê„IÝ.Þ¾B]“ çv…q‡•s£?~|BBBè Áú­ âÙy„B]•;Y#ƒ1‰"„BèÊÇÐ #)&Ñ;‰^@/%ŒbE!„ÐÕÍ ˜Doª$zY×-aE!„ÐÕŠ¤ƒÇŒbÜð{ü¼~áL¢!„ú¾Ã蕸¥(ç4ªRû¥«²µå6Ïå]ÅÖå¦çÖ±—¿jOµ&õ<êrç%o·A­68¯éÅZ¾Kƒïûˆ¡ç…ÑK×Î_#Ü¿Ï{êþ܉±OM\¯‹$/±„}_-|& ÿdÂTr4| žï±Ä¼$‘W¤5_ÖƒÂBþHz%ºE á¬Ê:£‚Îç´­)Õe.ÑÖVj$ßÇ' R^­3©¨,I&k««º–ÇjŸ}MUc2=Ž…»“è5DŒYùéÈs$9eÜ»]Û¦=8w½k<5ã$ÃýŠBè¼€r¥K%ã’UÚrÒ£ÖWØ3 ’sšKJªì ÇÉêâWµéqœÃ©ó+L£ËÃ0Ô¬å+uég˜¬£Z¯¯²ûI]`(VC&×^h)§)`´êR©ÉR(ý–CŸ];ß(É‘¹­.·—¡”†J­È<¸[¡º\Qeðh‹ ¬VG™³7¦)úÕî“Àl9úà'õõìŸ9døâÁ§Ny÷üɃ޽pû¾zäãï™{ß±À~Þ¦ôðÜûϽï‹ÅÅ_·pøpÑ¡ÅÆ¶²Ÿ¶,žûÅÜŽþy_x«š\tòÝâcùs¿˜ûÀ±õÿö¿ûó£‹çžûàñ_žèøfýÏ̽ïðÜû?ñó“: ©¶õÅGóm~ä¾/´kº8®óÏ‹<Ÿø8ã¼fÿ{¸æ¯õ~\êÚº·w*BÝ„ô¼)@Àãñ\ÉuP 67Ç9+ŠŒMå¦:[!¥AWjcའ^eYuµ¥v¹´¾¤Â1p~œs”Uñyµ¶ººº•JG©n³GªÔˆf; À¹67‰4jé¥$bÎÕÀhÊLÕ–Õy`.·ù¤´Zä°8Ø`ܵ8DeÂÙ¹q4)Êmf¤±T·Y\l±ÕÙ,z™M_bc‡* ¼n•Ád®5HKõ.u™©ºV/m¨²z<梇ÂP[WWW©t—êÌžàZí²âÊjs­QÑTerI YbQFyíU¡>íðÚùëTpû#‹Öݶö“I‹¹Ž•ïñ¢cïîðok>ÀqÛ>:3婨سM;|]»ïoütâ ò›ògïc6~zǶO$÷ïk-ªè!¡÷ðÖî¹+Vo»må¼î”² !üþNaÁøÊmRý=]å?oÕOZ½í6Ým««º8èÙ­÷T²?øó'wlûTú,yª¨¸ƒí[Š…g&TnL|wEľ}ùìE“ˆpíÖDÝaŸáäÞ{Ä?½cÛ§Ò¢D~ÛÎnÜ©!tÓ;zô蕾vž D$ÏðàµÚØ´¼ ) @Ê5‘ÝââH*4 (¹RÊ:Lÿrnk#§È¥ã€LVjÄn«‹•ÐI0Šr.‹C¨¦Ï ¢|Ó²Ùƒ†‰jLîàtqºRF€H*&XÆRZ-j2»8ÖanièÁc8B’1KÀ¹¬vrVVpãR44å°º¸¡J)4)!’ŠDr¥Œ ÄRŠw³œÏ¾Ù-ËË’S¤T™%u÷E`B¦IR,r ûýìß'NŒlA<; ñß,¹Ç5xgäo•þd<:õq¡ ,)1Ä$ÀE þ°uå{\þ]‘Ð|꣎HÝÐ<¸¬ð¹F\sÇî²è±ÈÈG_û÷o¼Ú±û`ôÑzë=ø¨Û@wR3Ƈœ¹õž0Â}ÿ8¹51Ôß|¸®öþð/Ñ $~øŒxªã¿\ô$â6jFb(P‰D,|ÜÓë"êÿ÷©m;Cgü0â~Ý„ûqG#„ÐÍ®··÷Ô©SñññWö0Ê0,!£€eX}‘Š&‚Sý¼ÜǃJ$심„àDÁ<ȳ<ÙÿP" X† ­‘T™ílšØj'Ô¹ÒóSïãD9’‘}'ýûþ/¥Õ³‹Ká77‰4Z ÀÙK›H‚QÀs /”õ¯#)1Á»X¨!JB8h+ÎY¿Ÿaù¦’Lº´ÿsKƒ±“ âüR®:¿ß—s¡&ÑÑ`Èq¢„ô7¡€à•;aSr"ýúŽ£Zþ~fÜ:%úÜ’ˆPQp ð“¡Âþ2…q¡ÀvûƒeÆ…õ7oèo)dèÙfM†_dhã{ÿûÓæ¹d߆ùd;Î[* à¼_¸¡“u“ k|ë ÇGz'=øƒ"ý¸©8x!„„‡‡_Éâ| f;•–'&)©H8KWgT :¢rNàû{çžPô¹HJDpî¾·€eX D$@ܬ,i•¹¡IÖ@©Ò‘o–”¦…fK“·‹2 $ÁãúyQ’ D”ßÃr$ÇzyBD—¿&¡ˆ"ZKå9'Ý=×hçöôôŒlA<; ~s?çßöyçûÁýO }=%rgüýÍÞïë*\8²ŸD¤ – û·Û·}š´íÓ¤mÿIÚùŸIs.%S’á÷ç‰ÛîØ¹sü#ì×:ýi|Î0B¡+ŠuÖ–”8Kóä$ˆÓÒ©¦j›'O:cCðŒ´ß^Ýè FV7¥Pˆú+Ó(»ÉêÎi63²Œ âÒ4bWU¹•ÌPJ¿Ë¶IÕ4ÑXUÕ(Ê ‡¹¬Ÿ”f¤põ5v°Mf+«ž”¿LqŠ ©ÓdqsÀ:L:}ݰ1”àX–»“èõ‚Œ|dì|›ÙIFýï]Ãî621zF4÷î{]t|ó¿õLzL(á#ý!ì|›õ]ÚèC IDATœiÙâ-6œ¾Øh¾·~ýSGô[ºÆ‘Iã±…!„ºBx}þôÔÔÔÔÔÙùU^…¡ºLìYP–GV-¦išÎ4zR”r €)¤¶e=¿”Q.ÏKÈzdraYaʦiZµÄ®(6¨ã‚É.-KÜÒD  Ï'šššmñ]$Š‚½I8l ÒõÆ ¦4“¦iµ¾%ÃP<²k‰$š²béæ|MÓj]£X™>Ì Åtº¨q‰*·Ú= w*ž¿–Qç¸-nýÆá~…Þ½h ÿ8K<±{v’c ߎ+->þh„Lš_–CŒ¬Ç<ìþRÉââÏÞw’‡^bü˜Å¥€èfcæÞÃT>xxwi‚¡@¸{y˃Ž"¼‹Ò£HÜ×!„¾#2Y[·G;Ü{ƒY3x „HYl,t R™TÁ$˜œm4g_ã$"™âÂ)É6ïÉj½†:sÿ(ξi¡eOáÙmÓY, ©¶ l#¥(,·žóC•¦í[Èd­¥îì˾©•¾Zu^:=»–×r­¹A;J÷kˆóäÈvÄ–Ž®9¼³=B]×ßáÐÿò3gÎôôôôôô»Ý™žž~6‚ü¥‘Ÿ^ùÍàœÆÌ"®¬V—L^ú"¦ü%ö¬µåª8Ü—½ƒþú׿>òÈ#aaa ,,,,,,444$$$44.rXÇ>Q„BÝä8‡!33¡4Tb ýžaE!„ÐfÐìKš]®³4è°Ú0‰"t¥N½Tîú×y#dLj*óïq«|S·íÐïgÍ”×n»B<ÐñÆß¾86qìD8…5‹F bVåöþdÆylÆü¢|£¬N/¿ÚYs™*ÌtÚ÷DY×f;‘µv“6™®ÖÂSCº¡`¿ºéø›š~ü×£æm þº?³|oÁŽ?tšÿúi®½³?tžúmùg/ œû«TeÈẄ‰ Ã*D£)¡³•b¿ËÅpn‹>[EÓ4M«ó ÁûͰŽj­†NOOOOWåúžjÍy,: N«4¹:³‹ðTkÒ5Õý·&äz­m¸‹ç,_\XÏ4•fjôvX»©PCӴЦÕùÛ…74ì_kjº*ß\)ç¶èsU4­RÑ*¶ÚÁpNƒJ¥­6éò³5jšÖèê<ÀÙõ¹:;ï­ÉÏ,´¸ÆLµÞÎpÎj­:=V©s ærMzn œCGÓ:;wv‹u¸†BZ­/תÓU:;ÀÚË Õ4MÓ´*[gvâÍŽºæ°OÝŒ­¾»­ý«‡&WÌðwöº£ÿR¤L¿'âíý_¥ˆ¼€?Öú)Œ}yâyäÝñ]X}hÔbÝu¦Í^±2EÀ9Œ…¥.e¥¥PN±vCva‘l“IÉTéV¸5µÛs¥¤Çœ›©_¡ª3(X«®Ô./«Ó§S¬Ã˜»˜ -­¨¶º³s¥œËÜéÅÀ92¹°¬À–¹9·¶ZÇÚ´ZWÛT`ô™EºäZ“fÐÉ}¶A_XúÚ:ÎgÓeê–¥lªL®Ñ–:èJ‹INqns~v‘Q¾©˜ i¬ÕVVKÀW—?…ÉIëô&ƒ[e¤M–\)çpKt×èV¸”«·ÊÁm.ÊÝÀK/Ï ð6º V7%>Ë’B³pyµM%á<–%ÙKŒ²M:9v²^{×h£›ö‰¢Xï§æ½–}:ð_îî¾^Ïð1cUb±Â[¡çh×™[ï7é”ï_§ °o?KÜ1înü™†®|ÿ}¾SSSggV0ʲʂd8·¥ž‘åäÊ) ¹±Ël÷‘ÉÚÚí¦\) ’4ZÌ»=,p.«‹PhPò,MHfåȽf‹ú‚謬”¡ç²4BznðŒ”"KI¹,öœÌvHÏM‹€8z¹¥®ŒŽó4ØZÄÙ9¤T™%c­nyV_IÒŠõ2C®Òç°¶ˆ•j9 @J3òÒ…ßRG„L,”µ›”:–)Qæ(¸úàÓiBײw¡÷gö°ãDaDßäþ;œÑį9Ü©™ÜµùXÈìEB"Ðñ»*§õ(Ýóë‰ø³ BãDY›V­ç3rh àgX¾©DM—öV?H½~àüÖrcÝÃÏ´ðàY–'¥ý¼&¨¾§_Ç¥g)JK«yZÞb'”eÃ=Š÷1<)ïƒ$%ò ~€4ƒŸ”Ÿ}à7EçqûõÏBĉ€cü@A Ì9|úf9‚’û ”QÄÅ´=°&–ay¦f±Ê\Ïû‰4ÛB˜D ÈûcþØðõáèŽ}¤¨">@øóœ)Ï”QCÑ(GÑÚBif銆tC: ”PDÚrKyúàËèÝåê»rµ©\N¸MêLk_öäHíg˜¾—”"7Ó™›TÐH(ˇ½2‰ˆÁ À±n?'¢†ŸÁçö‚˜’ ÁÎôçUÞÇÀÙ0{ é›"y–õÄר¿ñ;(­^˜e)Eˆsª-…Rl/£ÃÕ¸¡=ºîàñ:×êK±Ò[î8íû[ÃéØ{ÆMF…ÇF…ÇF… q¯ ÑO’Qœ%²–”;8Rªœ%²Wõ{öÙŒZCc–ˆ“‰)Îc3Y¼À±?Úl%ûøÈDÍÐ$Úÿ ‡ðU9 SsªyelRXK±¥N ØËJ¹Gõª«>]“ ×*Zʬ  ØwV{R.Ë©8W‹Ý mÕÛ0&æ´†Hç.³çê-¡ÁbÌ4Ó5K„ÜnÔ'JFóñö–ƒÿqÑ+¾¿|!2þJ÷;Wqb¥ý퓲Ëß›ÎÛv¶pøl;€?`í4Ú‚ÈÈÁªÓŒ‰»› ÅêÈÌü¬ãâøB€\›fJf™´Œ˜ŒUɺµre¸a©qQcÆÚÅFUñJSVUƲ¸XF®ŠM1h˜2q C¦èÙ…%ò¬ËŸÂ ¹6I“W¬«^YºÑ”—fÊNÕåàÔ†Ü7“.~D §3å¥MóâV‰k³³“‚”ü•ã²x°ÊØÌõ™‘,®z9ÓM‹ÏÆ™9…ZŸªWØê@•˜™X‘ól’E.Whõ:E•(^:epÒ›¹öU9ót<V¥9[E—+r›Ñsç !„ ÏaIK­0”nLÁ?lÈKz¶1«|c,Gõ5Rú®ú¹ód4¡çÎB¹±9´¼ °E—­q1”·f$åp¦­Ùº`Þf±:Ui*Š¡w±kKzó'g=ÿð7Y¦{:dþù]¢ïÄ{'Þ†òeÃ}À}ð3Aõ˜à5|c?Ւɹ?•^Õü~ùÍó›Çä¾r×Ù7ßþÕí7y$ß›’(!„K y©Ï–8#—æçjG^ÈãtYYÖe¦äXàTú¬ÜD%UÙÝÂû¡Õ“§ñè>ñyû»¹MGŸ [õSæš‹éøîã¿[øˆ sÕßxí˜墳ünçêê;Uæ¬PûÅMÉuJI”BÈ%Xu¦¥*säΟ2ÞTo¢zº‹1ÒɳîYŸ_\æÈc#˜Þ>ýî‡]gÝNæÒ3ïy`Hoggý™uï³wžö©LåS“Åÿ}£õHëùÕK{—®»7âÄÅ絛"tv~›•~öÇs%‡þ"¶¶ö…ÌU¾–t~Kºã»eS^ÒxèøsÓo>›û´kÙæ1¹ïŽë|Ïþv§ßÄzþlRhnR_Åú–í{E`œ&è¥Ì ÉŒ¸ëW͇㤟wju»'Ë—¯ _ÿÍ/ß“ê& ‡N¸[1&ý9ö‹ü‰oÜxxB΋þ~¸|yûN¼gÛÍEu|w´µ§cÒW+"o–÷œý¬)ëåªÿ’1#´.%^Á÷øÜ?Cå}”Ãá ÖMnÿ>FIý„B~ˆŸf\8þõ·S}Ópæíͽ?[7%ñÞó››V¯?÷ÞÊ{žtº r¾•. Û4KÚùeËorZ# ¿øõØ¿®ê}©@îvýñ²wÃ8²y¡Sø£XµŽÁ‰Öß,o;òÓ‰qz½ýY·¨ÃÀ}è3÷ÄŸúÃÀ˜óg>w/\wß#}§þǾ¥u\î– ‰ŒXñjÓÛŒyï9 ÷H=ûßo‡ŠëÒOÔ06^§:±L•;¹·ò¥ú€}g]ØÄŽŽeé΃OûÿøìpËËœ?óyÏß [ì×ó·åöÿýL\oP¤kŽo,,籑Üï( |ßrþüùÞÞ^ÏÉÅžûWômº™­<­ËËËËs ³ç//¯óçÏ÷ôôˆ¢ØÜÜLI”BÈUz“ž?ÛÙwæËï:5!ú{½„'qã^:gýÇÄoø£RÿW–z’ëCŒ£òT_ø@ÿ;yè.û¾X~lÞ…²¿ÚÇRéO<§¨†øŽ»ÎŠÞñcÇŸÇLîü®â£@‚CæôÞqè=òy¯ê选 æ'IÌ–¿k}޼úOZe¤Óüú¾è<ÒÿŸLöâ=>dÌD~Ìx¦ïŒ»ïÌá—wŒ: €÷øÉ^ßêás'Ô¢„a˜¾¾>OJ $JnAõüßÛÛÛsI]__­B!×ÈÝs¦Ó{Ú8tžíûî`Ë¢…ñØ7Û«»»›r¹]†>CEAš››cbbhÍBÈûÃŽáž±$Šâ¾}ûþó?ÿ“VѨô—¿üåG?úÑuÑ;0Œz_æòHz5(‰Þ%†ž'ê8%zÑó³B€®¡ ŠY´°uëŽì×»paqÏ/˜. UFï(:‘"¤Ê(ß3;ºgÎñxÌ¡­ù+vöH ‘†¨ç.Œ€tÖó :¶e¿îFd¡Ñs¡J!”G/ê õÚJIôNL¢ƒô—$ÑK>üvww_Ç饄ÜCï6'Š¢ ÍÍÍ111W_‚(Š´ !d¤ý¶c`ä½o€Ûív8ß~û­çZ¥aO¥<:ò3(.;UÔËË+((H©TJ¥ÒË»H°,û=ÅRŸ(!„Bnpd¹¤CÔÛÛ»¥¥ÅËËK­V³,ëɦ—_;On½Ã‡Ϙ1ãZóèÐ~nÏÓ³Z[['Mš44€^’_)‰B!ä–æÑ¡ð<!‘H<×-y.`Ý¿évóññ‘H$×Z­žÿ{r§D"™8qâ?ÿùO¯Ë\M”D !„rÓ#©···¯¯¯'†zºB‡^À4¥Ò[œD}||®ò bè+Cùùùy*ô:n)JI”B!7>}ÞÂihvLŸtCû‘“D¯©OW¸Åý°¢ô´OB!„Œˆ0zù]œèB¥‘Àsñûu$Q\üÌOý^òâÕ”FI”B!77’bHçõ†Ž(W3:ÿýÕ:´rq-OW¢$J!„›žA==£—_R}Éð=¹]uäé˼îú½$‰^k¥$J!„››u<}Ÿ—”¡ÿ¤ÎÑÛX;ׇýðuÇPJ¢„B¹¥qçJQ†ÖÒmá¹ ýªå뙪r×ë­ýøï©Ÿuû°¦ö¯’?ø×¿náÌüãàñÔõ‡_8HÏŽ"?DøòwºØ¡t‰/¬ø¨‘ÿwÊä÷¾ {z[ËU|°þ“O…›WþŬ;Qÿ»/ªðQ“G¯x³IÞš›Y5¤ 6£.::ÍÊߎÙåë,¦´¤Øèèèèh]j¦¹ªm$¯\‡µ¬ŽYJI”«ãýÄ gû1·Nܵ{Þjb´U ¹J̬‚ʪ~•%¯N«_³ôú[Ú„£¼÷ñQU¹9ÆËËË‹eÙ#~éø§ëË_º½X¯Û@l,Z²¤àt´±ÄZe³–­Mòúð7ÿwm½è5Bµì{ÿÃ/Ûoñ—Þf@£ód´ê=V{âÏ¿ëd%“&No;ówíÞ r6@bDÖ½Þ@ß?öy“‹Ÿý}Ï?ÖL5?æÇœkÏÿsËÞ3=ða£žôûü†(îý¸a ëž ¾çâ/úÇÁ¦µŸ»:à?¿ùqaóïõA{Ë %®„‡™êÆ®scBÈêÄñâþ¼Ô¦0Ï ÷>Ë?6N5?64{ß5å}…÷ÞÚ¿¦ $׌UÌ^0gÂÇŸm‡F¡é“5+ÞÛß"þÓ^}ã·3å_¿mõêÍŸŸîñ­WgË¡å“7_zg;3!ìÁŸ= @˶§S>zªäà êW^æ—[þ8Ós$4þwúËÚÅÏSž>øVÑòiG>XñöGÚ€™6ç·Ë_­¸8µ^^>få`;À=°`ùòg4š>˜»hÿœùA?or:Û™óÇ×~6´¤¦OÖ¬~oÀÿg–/_väw†ì[–7äÀùÑ"ö9E>FÍáN=¶Ré–*^Ïàë,u ]ïðÔC±ÑXhsB„R—™›¤„£8õY›>ÕÕv‡C ÏÈÏ3¨ÀÛò—™, Q2Jµ·¾U%ÆÎ(}þþ×û÷uœg~ø°«kûÿûæïU¥¿šQjû¯*ûÆ3}ýïô¸k÷þs£òÇÄKb(\M'_¯ê}Ò )]Yø°×ö]MU ñFïwŸ"duêô¢gC§žþׯSç'EŽ <ã¬ëtòŸœ–̉”]Üë3IáËPÝ‘ëÄ7íý`÷é DBý;/­9úð[–ŠŠ Ëò°ý¿ÿý'N›W¼Óô³÷Ë­VkÉsؽú/ÀùéŠ5_jÞ(«ØõáÚùÎýGEŠÙ ÂNôiSÿçÇ5˜¹àÁÝþË·^ e¦½RòáòÅý«ÿž+ª¨ØUayU±ÅŠ.|®|ð5k^~ϵàý²ŠŠŠ¢_²Û^^½ŸF<²Ÿ{® èÃ%o=øåšÕŸ:‡”Ô´ùwkêxËR±kWÙ» Úßûý;õÌÏÌfj¶ñ J:kv7…-˜C1ôNÆi á;<ãà|¥Qeˆá·¸¸¬t¥jߪ‚:meÆU6mn¹µÜZšÉXŒy6`᪷2éëÍÅ¥æD‡¹ÀÆÃaY¶ªN›]Z^^¾QoÏ1ZÃ-5"³²õò°ôSøÑ¼‚ýÆr«ÕZfÒ8¬¶ë>¥Àn6D_*)ßNI”« ¢§Ï}3fìœñ>‚ÂBb®&ß;··ƒy2Ò˜ñŠuÏO_<Þ³ôûüø[§Çþáç÷Lº4Îö?È#ìžÇÇ{šò¨Äµût¯çWkN¸ŒÀ²ÓýÐÑÙÇÊÓõÉ)7€ö&ç×§ ü›ÄKãNOyÏ9ç­w_ g!4íÞß>íÏh8܃Ï<5áèÇ_:Ùðß–”¿ÿL @1sö±©Åáè§G™Ÿ|€Ài< PÌþEÄé>i¢³çG°Ã΀pô“Ï1óO7(÷Àü9þGw×ó}`˜ò…£íÇÃÏ%„±äÿb6sð“#ž“ BŸšÎà"æ<Èýôè…S ZjöŸœ°à) € ›3š«æÓ&L›?‡ù|ÛA€³æã¦ió/é‘%w^MÑØKªÛÞVÒnÐrýMOiØR¹%UÅ\¤N!¶8=mƒ 7Ä`áþ‚“«Î,-_Ÿ 8R§ä›œ"œ6¯6Ĭ*)]Ë߸«Až’ËÖ¥hÖ*ÇÐ;§À*ý‡ËgÕ‚6M €Uë {…çÜl¹Ö áF®’Ë#õá,À(Tœh瀅~[ IDATªå"õ*¾®ÎÉ×ïjT ‘,€à˜T­`³ÚL˜^§bV)N¡Í¶ËžžÉ¬JŸ¢²÷Ÿ zéRá¯dœV‹µÎ!pÚŒ<£.øzkB•’—3t0Ú¬ütÕ ¯q'£“û»^°O—øÜÃzÿÁ]z§Ð ŸÀÝ-Ãößé×ÝÑú¤åAž·Îœza{Û7½ã÷‡ç'w~w¾³Í>ï]x²®Ø‹©}|¼ün,Ð HØÇ#%âÛÃ9[}×$ͤIè­ýø«×Oö^÷j§½ÿU¹F̬‚ò?>ÈüþßV‹ ÏÌV°àrºÄ#oôkú[· a§]\Ÿ¾÷§í_¶Äö“¢€È»D&làXñïï’Ï\ðÀš··5>÷q÷—Ìœ·¦±WØnœí"1°·b9…¿Xãrƒ]IÖ/:ÛEב—“ôýÛèBï‚`¸ Âüý±E¼vOà›\àäï2ò ˆí.°>•´h[söƒ57M›?SN­âoÓ\¤AÓR¸Ï#·ØÃS´œXÒÿŽ£º §°Ê.€«I”>Ïô7/–íïάÈË)©v #:›D5Ñ)6mF®3§ÓÕT0Ogf°™øËYÑ)öoCMìròbýªyºœþ YTybçeK=ˆU/Ýh*)0ç½æ”Ǥ›²Ó®ûÒVeÈ5cYZNµ `´YÅë/:’(!ßG:Æ==b zzš… wªsþ!œÇŠñcýðÝ¿ú‰ú\ç„NV&ÀŒûÃüÀêö7jýÖE˘ñŠui!"xI¼þàí8¹ø ÿ‹~<Î ;SÞ“Âå÷Ô:ëÎôíng¦úˆ~búÖOð•R­‘§#iöo_ KYóNÍÌ7fr€¿ÂŸyx¹eÝÌ¡û ¦ÿžûæ—s ß_§á€¦æ¦| €áüÑ5÷\íýûCp<3S\ññ‘9¨aæ¬ ¿Òþ‡‘1b»kHZdäò‹ºQ†+Ÿ‘ù%¬µ,×\Tn òí9Öå™  [Ë…ùãKçÀ»¢³žöÔ‚°íÛkÅÝ- (ˆŽ†Æ¬MÕ:ó+*8{xJ$›çÕ¶r£Ñ¹±8?’_ž_t…©–ÌœFÖÒT5 G±aÞ>Œœëy`ÑÙ‹ €•ËýÃ_..NUÂô-Õ|¬n`ì–¼2Ez’œì-žwòàä?œÎDÞÙ?‰(:EF˰ÞɶuQ;tç/çmfÙFÝÐ-ÙñR©KËÖ¥·—™ÒŒyÚ¦ÈëάÊkfV™¬ZSöM‰¡ Ñy2Z÷á¿Ý}¦èk?ÞZíÙJ|îaûþu¦:¿ýøôÅ7Rˆ >®u¹ñÌ™×?8¾½½€ÔÏwRPÀâŸÉÅÏOlié¼ýý¤A~Ò ?À{J¤šZ«ÏõÛÛò>þæïßsár@à“ÝÛ?okàÙÌ=EIýé¨ü› ¯Ìútõ{õÀ†Í™tpóî&œûÿô»·÷:¾ÝÅȧ)8@hÙÿÁ'§!¸D°a³§¹j>>Èà¿ÜöÑéÁ816>}ïýÜSO]~æ%QhvÚÏFÍû[Àypû~WDBÄÐæ°å³Óžz@Üß?•дwõïþôeÿãÉ>jð?>(N›vaß§˜ù³ÐÓÛ>ªM»·õŸ=Çs¦ÁœùÓš6¿³¹)bÈɬäÆjR´-æÂÆÈÔ!Ýy¢“‡<\Á|eG£(ðÃÞëNà[DF®R²@[UÉ®&Qàyd$×Pfk{EQ ¸ðDµÃb©Q2jŸð{m×vÔâ#™ô(ç:²'2ÎöYâz&ˆó›&ù{oßid¿øÙÄŽ?ŸH]ßçö‘Æ<¬zVá-v lã ÅŠ‡]¿ú¤9æ™°ÿ3dƒô ûCtÓÚâ#ù8 £}8l: \1Œ21‘LAewäO¹ a~A;^Ýx²Îó÷}²äÝŸÝ¢!咽^´ÿ—eïϾÖ@)Ô¯6¬`Ö–¼ÎR­XuuuZ­ö¶Ï†PgJ6Ê7–e¨nÙ76äÍ[&ä–Õ#²yÚl¶R/6›-22rø Î|_ ÎB6‡î}osËìçfø3/ùúíkö+žy†b(¹‡%M—ZlÞf©µt>ñÈA£ó„B.!4þiQúööˆ×¾õàÈðvî})eåÁ 9¯­{ŠîÞD®H©ÏJ·.K+¸ðDSn,Ç1rÐè<¹nÕèY}ü\TT:áÁ—ðgúßì:öÙÖm{:z.tæÜ…MÎZ÷‡­eòÂ)‡,9Ù NüÜ¢Y¥Ã~h?´­ÈRëè–ªŸ…½;¸¸WŒ !è:UmÙ¾÷ˆƒï‘pSfÍ_˜0=€ªðvrw¹¥2é÷½@!„rƒ“hÐ5ï8\}²+JÃ×ê@èÌÖOíúÚbÞÓÐ3%y‰Þ÷€y{MÑÖ©¯gDI%ŽŠ¡É N­ÜVÙ°s{팗¢Ã}‡¶m­u`ü̹ S;X*{øèªßV°ã¦$/Y4¾açæÊ¢­Ê¬£(‹Þ¾zjw~Q‡~IZT¸[«‹6Ô(—,M¹…Yô›o¾¡š „BF¬)S¦Üð$Šèîpíc电SËv×ô¨Ô/ùmœ4hbˆÌíÛq¤¡ãïö$øj’“ “º%µ67´ŸìpG÷á¾ö8à;Ã3U %_Ÿ³ó AWSÍ‘øF'Ìœ& }<âÀæ#<ݲäöNüùó›7l0cɈžÚ¢ •¾som ýÁöM!„‘ì:“¨,$Zí[s¨æÈ¡ö3¯æŽïx«»©rûž#¾çò©¸ñœdœä{>ÜÅódAœç›9à ¸y@wm±và£M¼;*€ƒoŸ ‡Ò–À¼¡`]…»G¹`é/4t\@!„›D!QÎÔøÖÖîÝ (ç«9ïýÜ‘mÛ;|g,z}FzlÓ›†NuIfä‡ý°”óÐÕÎ!@WëÀåPRŽ“’‹–èû»Ý$Ž£:¨tw䑊¡„B¹&×{í¼Tªœ©ößåLõÐÒÕ=]ŽC»÷4õ]­'[»®Pʰ†2:è>¼sçõ‡vo«¸J6S-AwCÍñö.¾éÀ¶M›¶j§a4*b(!„BnY¤Êµ/. ¢QÉ„úvÙ^Pt@òøóÉS$=Çwl¯í¶nø÷D-œ?c¼ÄQ³}ëîVuœràã2Í‚%É\ÓÎͶêRÎJˆ™H]¢„B!w*¯îîn//¯‘6[î®s]ç¾X÷‡íåÜ×_Š¡N·Ñçüùó}}}½½½½½½¢( ‚ÐÜÜCk†B¹HFàQB!„BI”B!„ÜM®ytžFZÉ¡çÛù½äžcäÓ§Üwµ­¾ço¥‡Þ;½øqÿ‘pß—£õ¯’ øKç^lmýãžS=Óã†ÏÔû”¯&N¸Xq—l™q‹÷‰^`ä]zV–AÍ]w™|yZ|¡¾Ô’ªü¡Ö•Y}’š½IåY̺ìä gvyž–¥:åxkZܲÆG×—çÅrƒ­Ü¿¸B•[iÖq·~~ê,yyæŠúð4miVZlðˆ]{k™S›ÉÝqÕN»,2Šy=dˆzkòu7rÉg˜%Ò‘qû»žþí‹*0>ä’—]ï–ž<6}Zñ¢±AëŠþ¹b@ñcc¨îïÌ£+"šà°æ-^¶8/¼Üy³C›Ðh.°èb®9‰ò-šaêKl|lîäm›ˆÛò+,4˜/6s)ÙÅùZœ¶²<㯟un)ÍŒ™Þa-,³)‰rpÕ×Ïû[À Šï*[„Ó}fL}k¶´üÿ«/›¡1keÐóíÞ;æN¼?ÑVÿöØéÅq}ë ujNÚ¾ zâÿ¬Uu[þ|¢¤Ù-LÀØ'Ç˽‡+3ÀßÙœö?߯ÇʾøÚuò\_è§<-œþŸݧÛûî‹›þV” €ëÄÉÕ{Û¾éCOþÖŸéq­+lìx8_Ÿ;Ù)¶K¸_&O=üõïÿÙë>Q—Ú<Õœ4vÈϲÏOfO6LÀolüdŸò3‚ˆ1tó軫ԥê;ªˆTB°—å ¬àÔIYofÆ|]±ÉTXÝ"\xbV®Q ޲UyV'«Pi“´"8Š ó,†®K¡Î”œÁ¯,è¨òŸÍØç«çlyŦðz³1Û\çdF­Ï\iÔ]Üá9Lù˜›`åÚ“)-’ƒÝœ”jÕ§ÈmÕv§ÓÉh3óV&©†–d/Ë1Xí`í"“)UU—™ddóʲµ´YR“‹õÅ–45‡;5‰ªtŠFK¯‹çðu–:….Œwô7¼b£±Ðæ„¥.37;I Gqê³6}"ª«í‡ž‘ŸgP·å/3Yxˆ¬j •ó¶¼ £Å¹úÑ”°ê1»ÔɶUå½–SaøÇ¦ç­4¨†dL¾º Ð¡Ë-Ëð´z¥65{£|—»Ðv], ×-ÍÎJR¡!oÞ2Þã´Úí¢&äk0[êí¼6kKv{ 6·~±s' §yû£çPó˜72\;Ýû«Ê£ï¼öÅwfüŸ7&¹ÖY¾9Ù3l™€D‚Þ®¿²Êµ‹f˜Ç|uàè‡Aª‚E3̉²CU-_õ­+>ncfGìÌx°tÁøŽýG×9ú0èýÛ?}¹PcN|‰ýöýªîÐÙS_òšY|Q $²kä¡}.Gë‡'áO1ônÅÛËÍ»ZZêò2rcrˬVk™)̺lYY„†BãZ{’¹²ªªª4»LkmÐVa̱Ef—[Ë-ù)Nk£@©KUµX*ìžý£¥±©ÚÁÝ«ÎÈ]Æ„g•ZLZÑjÊ4#½Øj-·–e)öÇE³5\ùà«r2 \©ær«Õº5ƒ-É0Yy`Äz+—¾±ØRVš§µå˜*Ú†”d/ÌÌ©Óæ–YËËË7¦: –åÕ1Ú4[U\Ç{¾ªºÌ®JÕS ½“qZCx㎪6ÏእQeˆáT@r¿6d¹o¿è¾LðñŸ,à0&¾I“YÌXß At®æÖ¯Ø ÿºÀȃŸžÔûÅáïDðºoFÐð™âã:çþý¶%-×öóâæ““Ã^ÕH©âï&â¾Å?ØGÄÍ+pês7.U³ìeûœá‹Ò"9œ6Í h´ØÚXufi¥9MÅPÆè¢ÝÁCh¬Üãr‘)†0€òÑE‘-–2û@}4E3ü¤ÐXVØ4O7(§MÑseý¹pàÔ/4Z¬ˆIOT±‚c=ÊÚÊê@˜A¯fpšx-ÓXÑ( –䨲6)R ‘V¥O ç«+ìOѳÕ%6@[µÅžò¨’šÅES4ö’ê6€·•4†´\ÓS¶TnIU±©Sˆ-NOÛ` ±ÁXE¸¿àäÁª3KË×'ŽÔ)ù&§§ÍÆ« ±Á«JJ×2À7îj§¤Çr‚u)Z§µjè1ïX¥ÿpù¬¢ZЦé‚°j½Aa¯hä@®5h8€‘«äòH}8 0 'Úy`á?¸ èU|]“¯ßÕ¨0"=[@ªV°Yí&L¯S±+”‹N§ÐfÛeOO‰ä<^eïß¼.]ê!ü•ŒÓj±Ö9N›‘gÔ]÷™­ª”¼¬˜¡«€Ñfå§ßø='£Ø•Ï•ø0ý/{õ¿26ÐòMÉ?» Ý»š½âø3èZTŸç“½üýáX©?zN }× ^þƒûoo©0G€®o{ÝßYšßæ9àqž™ä¤ü¯|"Rû¡¯R?ítREXñ cæe÷¸œß–ýùXúÇÞæ'ý©òïƒç‰òÖÌ$“˜¸H§dÀåäÅúUIºœþÀꂪÅÁU‘ŸWbsDg“¨ ò¼ÈªzÒ®¿ÿ)86E›“SÜž)–Ù}nø𤨿ÙÈÇr ±ÊŃ]IÖ/¶9EW}F¼®¿í‹.Dòž,'˜ÔߟâàYowá»L°‚ÓVkH”§–Tµé´Õ»:%&˜ZÅÞ¦¹Hƒ¦¥pŸ#Fn±‡§h9±dàX¤º §°Ê.€«I”>?ð0{¶ÿ„i{E^NIµC`ÑÙ$ªˆN‘ñïoÚŒ\!gN§«©`žÎÌxÚ (WzBc –³‚Ã9̱—È‹¬ÜðSx§À ùÝe._¨IÆŸ¢ÀñCZ³¿œbÿ6tÑÄž-y^ÿ–,ºD•“v©/tݪ—n4•˜ó^sÊcÒMÙiÚëgU†\3–¥åT»F›U¼þ¢(‰rc±iǼ[uöŸç±ò‚o\”Dù²8ÖÙÛ?ž ¸]L`¯slÁ¬TX˜:ôÕ×÷O¤ /žv||‚ºÏU~íþ‘F>Aâí/Lú±ÑŸÛOöÞO[öÝב¤ËÌPÍËY[›ËþJމYY–Ñböü¤U6ýs~$ØÍIó*ú³¡À‹ƒû½þý!8mZ¬`´ÔÇ£šÑç_ñÊ$&XÎN×´È˹‹vÁÔÏËýå‰ù;/¹´Êˆ¼s Ǻœ#¿°[f9•?lƒïŠmNx"°Ê¢*)©nwµD¦ÄRY›ªuæWTpöð”H6Ï«måF£5rcq~$¾<-¾è S;,™9†-¥©jŽbü}9#Öó"À¢³…+—û‡¿\\<ü}X•^£¥zðÚ)@°[òÊéIrF°´xÞɃ“ÿp:ùD"£eXŽÃÅm]9ì‰UþrŽÑf–m¼èÎŽØ›)uiÙº4ðö2Sš1O»ó߸„‘UrÍÌ*“Ukʾ)14:OÈ…„§ºç¾Î¶ÿ©ê š1>ôŠÇncâ'ûüóó¶“=z¾²µž÷ÐØëüFÿIÁ÷w:KN¸=´ìã†Gß•7Õó¢ÐIŸ4ÈOäë^±¬òÄj›Ë ç»Ê/]â&P ½;)³Rä«òë€Ué•Û Ëì´Yó2³ËÛÞÉ3Áá VsY ^«Ò…»ª-6o+¶´ ÆMŠùyû8ƒAuù ¢à6<)Uf«Úl%ûøÈD wÑžl˜òÙpƒV°öO%ØËM™y¶þÆ&‹¥A@ÿEÓẰ û>elRXK±¥N ØËJ¹Gõž3 ô)áöµ…vMŠ–£†0:4)Úsac䳓!:yÈÃÀ×Yv4ŠŽo."ð-"#W)Y ­ªdW“(ð€<2’k(³µ‚½¢¨Î\x¢ÚahO“Ñb.ŠÃéÊ}ÆŒ<« 8lÅÆÅyõœœSèc8›¹Â@h°Xœá7ø+pÙŠ«Û´UYìœV+ç4‰‘NKI ÍZlccôÃæ¼`m¢ªÁìÙ’ù:³ÑT~ÅÊ@tei¦ª6œB¥¼«JÊ6çݬ ê%£Úù/,ÿã¢W|ùBdü•>î;v®âÄJ;ûÛ'eßsðvÿãÓ~µëÄË﵈4îw†‰¡€ëúfÐ/dù“Ý«÷Ö% ¼Bï›´<äJ‡Ò‡"dï¨O¶‡™„](!xù“]oïýúçÎ^÷L ^ž8ä]r—í¾ÕiÆÄ]‹M…†â udf~VŽqq|¡@®M3¥³LZFLƪdÝZ¹2ܰԸ¨1cíb£ªx¥)«*cY\,#WŦ4LYÿž Oѳ KäYºË;äÚ$M^A²®zeéFS^š);U—€SrßL ¾$!S>kÊO7™žÕ嫌M_©á'À„ëPø¬¡ÞÑ"ÈuYyú``0«RòW:ŒËâuži2×ÜO'8&E½êµ†ÄDGK[7İբAÃyS©ÏÐ[ŒÉºB…J›–‘©ÍÌYœ™¯¾|3HIÓ.^/W¨t™‹l«ç«¶,}Y·Ø”¬c‘zC¬ÂÁñof׿fŒ×ñ«Òge_œµXUêÆ­l^N^j\‹È5‰é[L5 d䦛Œ©º¼þÉ’‚!8`¹Ve}ÍÓÐ"(³WªY éMSݲeI:kÓs3"YðÃar³—y¶dNmÈÊUß'ʪô1øõÂø–7Íéº ã¼X'†Ué³r#Gú­Ö¼º»»½¼¼¨Ù“ÛÏŸïëëëíííííEQ„æææ˜˜Z3„ŒKZj…¡tcÒ-ò¶› ©ÖŒòk¿‡¹PgJ62ëKtÓÌf³iµÚÛ>B)Ù(ßX–¡ºeߨ7o™;R›çª—ë.GràÀÚ<!„\–CË [tÙºæ%_W’cU¤S %ßwPeÑ›·¤ªD›¥Z_)§u2bHfÍšE}¢ Ü -IDATäv¶O”V !·›Ð—úl‰3ri~îðn+Ϙ÷šM®_™o »7‘+Rê³Ò­ËRã .<Ñ”KçqŒ4:OF\¥ÑyB}FÈè<¹IõrÝåеó„B!äö $J!„B(‰B!„J¢„B!„P%„BÈh Š"­„Q©««ËÇLJ’(!„BF¨qãÆ577wuuѪ}‡cܸq×79=í“B!7J¥²Ûí ½½½´6F›Íöo– —Ë'MšDI”B!#”ÏÔ©Si=KÐèÛ¶³òˆ£N‰N0$G…HÝMÛÞ(¨…:.Ê][sœ‡¯ræ‚ç šçêÿßÖµÇ;ºá«œ‘¼pÁC!R÷×›Vlnày"ôÈžÃÜÂ72¢dTå„B!wt½@óø”=EÇO:ãŽê©Ý´aÏI߈ùKãdµ[‹vn²( fFp55'kuEidî“ÕÇzà5+M;7l­å•qÏ-TŸÙ»igQQHÖK³†äÄöêMöœô·0.´«v玚­z³(%)À7êYøÜ+ú†möÔlÝ®^ñ¼†ß½¡è/gg.\í>P´}û&NùÊÏC¤5 ŒNž«¥›§Þhî.·T&ý¾nºãÇS=B!#Ö”)Snb$ç tó]=çÚkNq …… 0!´fë‘MX8sWó—cµMnÍTGmC7¸™(áØqˆ‡DýDÜô0ÙÔ'¢+jª´ÏоD8 Œ×/Hˆ Â$GŽln¨?prî_@hÂQò¸zïæ†¦CwHá3€òñÇ£ÂÀ=RyxÏášÖ„dOa¡Éiê ½ 9ôÔîü¢ý’´¨ p·Vm¨Q.Yš")í›B!#Ù¿ŸD»::ºß@™¤ûd€Ž=k^Ù3ðfk/ø—Êcµ'»¸C ÝŒž"űön ›W¼2kš:܃IÔÍŸápã9Ï\ÊeßÑÕßþôë –2NtónwßÀ±ý¯l(ÃÑÑp!Ôz3H'þüùÇÍ6˜±daDOmцJß¹·6†B!ä®N¢îS©8 H¦F+¥¾í2 #ð‘%ÏÇpý¥K¸ Ñ3+÷¯=$kà3Q ·,ÈÇ{¦Ì_j“öÔ—“bàª|)7^tógxLzøVð äúg·§£µ S¥èáÛ»_N&•—ÝÊä¥ ÕýŸß@NÞ¨¼M†ôPÚ˜7¬«p÷(,ý…&€Ö !„B®Öõ];ßã¨Þ»{÷nËÿ¾·æO•g ™27yº Sg†‡«µwµ«ØºÉ¼³¡ B¢fŽ_»³†ÇøY3CH•3£8ôœ¬9ÜÊóŽZ˦M[œéšp¢f…gvoÛ}èëú–ÇÀè8å@w›cïŽõõ_ìÜyL‘†h¢ÆŽêZßÕZ¿Ó¼iëî“]T½·*Œ&k4C !„r­®³·ðÌáÊJ€ïxu\ÂÜÇ=×½Å,ZÒ±}Û›\hô ÑAý¹2füžgå¬Ï+Ò°ä%ó{¶í©,ÚP I zÖܸ©2 ÉŽA³ž_âÞf©¬ÜºNydÑ‚„‰Rxn%™X¿£è8ßÐGÎ.d?¿È½mgÍÖ 5N‰NNPg¨†oIJH µ@!„kåÕÝÝíååuÇ̯û”%çO5]KÞH›Jç#ÞùΟ?ß×××ÛÛÛÛÛ+Š¢ ÍÍÍ111´f!„»=í“B!„P%„B!w“;mtžŒ.4:O!„ÜͨO”B!„P%„B!”D !„B¡$JÈul™±ÑƒbãS3óÊíBÿ{U±ñy ÂÕ—f7bÓ¬ü5|ý5Åʱ›S££ ÅŽ+–Ïו•ýûßC!„ÜôL2Š1n¬ÌӲ勉šóVÍKmÜRœɲ±Ùå¥ ÇÞį¾1_!ØKŒ%NþW._¨7Xt1Ij–ê›BȇúDÉÝ€SF&óó]E9 Tãç4Š3 ñ:N§Ó2‹ ­,5Ö—o\œšjˆ×%e7\Òê(ÏN‹íŸÄQlˆ½Ði)Ô™âu™UÎÁ¯¨ÊÔ%eçe¦¥âuºÔìª6eFƒ.VŸ”j*.N‹5˜ÃæP‹jéÒHf˜ŒZeŒŸWPWŸÿlÆ>g}Î<ƒÉ&¼-?#I§Óétñ©FKƒ@hÈŽÏ4çg.NMŠ×%e–ÕYó2ÒR“t:ƒ©¼ €`/3¦ö¯ƒ¤Œ|OÍ…B%QBnxÕbü+ê.D­¶Šœ»a£Õjµ–§sÕ»êy€aĦ Þ[\lÙ¹ÑàXk´Ø‡Â[sVUȳvVUU•çië×®²8”ºTU‹¥Âó)¡ÑRØTí…^Lb˾zm–¹ØR^œ.ìÈÛåÚ*Œ9¶ÈìrkyYnL}Q½ˆËÒ¦ÐPb´¨2³tò+/3-#wižUj1iÙ¶²efi±Õj-ß’âÌÿu^€…ÓV™µ±¸lk–|ߪe1Ùæâ²ÒL¶¢p—‚-/ϦÉ-·Z­ÖÒ,•½Ì“” !„J¢„ÜH,§âÀ».$QV.gZ*,e6;Ï*ãMù™Z ×4V+o²6 Éfœ.·¼,[ €Óè4Œ³Ñ)(]Ùb)³ÑGS4 •3þZCL0ÈÕ*—Ý)LŒAËPƧ'*py-\eQef鸫^<Þf©ã’ÒuJ¬R¿H+ì+óœ˨“´Á8¥JÎhµœçoÆeçp –·YvUÙÛ„àØÌƒ€æÆ†E:Çv`°`n¢»ß¯ßn÷¤ÿÞwÏ®X,ì…­;¢üš`4™J­VÛâÛ?Íz÷¬ŸD¥ œ&ÍhxÞ 7Þø™&Q#¹xé…v…È™jµA°«Õj¹\fY–eÙb±HÓt2™üË/™»ï§_KõkH_[õ«YÜë„¥tu¦½rxÜëû~=¯×s;öÚkíuÎÙû³×^{EQ€B!ôkѱ B!„!„BAB!„0‚ „B#B!„F„BaA!„‚B!Œ !„BAB!„!„BAB!„0‚ „B#B!„F„BaA!„‚B!Œ !„BAB!ôPâ²ìYebªöoqyö‡Ìõ«`b/"„Bè»üܤ÷9| øTë6zŠ´Ê¬¤¤\>•T›¶ Œ !„úè2ŠÊœ~%U—”(T¥—ðø£ª"ÇhòJhEaW"„BèûH*s’³+?¥9-cc}îw mà\„B}?†¼¦¾ûã_L5}î÷]ZÁ‚B¡ïFV|xŸ/üø§¸(99ObA!„ÐÏC ?$¦—J€­fÔLCÈòÌÄäüª¦§œŽŠB¡ïDg±b–jó6FªlPbPo“ … &“Akò:p:*B!„¾%*çñeT•Ø5™ƒ–ñeÔ”e0‚ „Bè·†sAB!„!„BAB!„0‚ „Bè¿ã{nÊ¥x·§Ø­~ †3.ùNmÎúot@ÕóuƒÝn•5z¥bØÚ¸CÏ®ãú4ãÐ~t­å¦õY˵?àÑ…ƒŸB„B ùQqz|T ×ÒÑSÄ•ãMC!„F&#‹nM"Â~W¼à›Ë*9ù$:âþUo19ä»Ó«Ž%Tã'!„Âòó{…­lØÉ~á¾ÃT 7àRBv B!„ä× qÍœ‡ë@i||‘û!„úM"YpÃ… ˆÉ…üž³ûXae?y½_| b^Ì™Õí{ai;Ümóµ„òÚŸ®‘dù8á\*ÈzèµlüÀAXØ:ÎÜìû¢¸Ñ¡^˜uÖcæÛnAÖÆÎßyíuIݥȼ+ã ‚˜T,*Œ8<×ÁŠ &ÞH ™FX X÷ò/¸ô ˆ!{…ß½…L%m%€*ÿcÞË«žËfŒÞ¿;AÖýÆ-Ü}ýe‘¸AIJ˜ýèÄjס6æAXõ={‹ïsžø+UQüxïIÝ‚°]èŸñ¹¥M¬Ž¬L ðœçÔ¿;A=ì'®>ë|³cAôY˯»?5øÈŠÉClÌ ‚è9`ÔÌMç#²ªqª B¡_ïüL]uÒ÷ >¯D :úÂÌ‚üW7·OÍ*ž¡vmß½Bàêè«ó2 3Ÿ_Ý4%ƒ~õÀ0mÆÇr‚TßykÆÔN³ ËÒŸ^Ýñôa܆Óé0?—ÏÎwÝ[3—ƒÍ„ê¢w.nzt7rÍÉMúõnÊ¡*âöO_â“@S«Û Þ²ÉO"ÞUƒV›vjº&Üï[â’ìR¶‚ @Rpoõ¸åA<šWV^œv~CØíØÝ¾k{ªÔÖ@U¾>>kª×1KŽ!,NyreÇ“ ¨Õg·ÓgK©HzyٌïÅ2]æ{mfP»H«#K¢<]Ý/¦‹%Ès{ߌgo§˜5ˆs$/b§Û\¿´šÎ”¥W}xzm÷Ó[w]˜ÑEÄBý[FAj%õÉê¹Â7ìÁMÿÛü×÷ácí»Gõ_írÓÿvÈ••=8§~aùu~Ã7þðÑa+§m~Á‘O£B¯r·TàÝÛ°!0·öØY|é¾X°Ú¹ì¾|ÑÃÁ 8dãªËéõ‡¯õÉ0ê?sãïs›ûèµwݰ}íØV i;ËŽ-‹è~oܢʞ_¼ž òÆí5˜PõúØŽ @ ç×£Ã<Œˆ 9¿ª¿/àøƒòcy~p©×1¨÷[qö^dDø“ˆ›{\L˜P¶cW8¯ñ¯‹s¶-’Oo3å°çØÖronZudIĮӴí×úGFD< ¾°Î^'?È»&»|³ Úø·_p:OÚu-,:âQTÄíc mµ@bÙîè2 A!ôo‹  8hݪ¿ZrhÀÖï?õ/m•¡ËZÈÑh2FöÓ†j@qf±¨^Á;,êÛB‰EcÈëYLöôv7FŸðOUåí— :|ïÁ9= äé@c)µ²_åµÁJÈ×g|ßÖ»OE/ïxàä¦)»u2Ñç2þ_[DVóÒžßÜ1{ÑbÐ:¦#Äqq<ÅÁÏêcPŠm†Îq5€Â´Úë,dáƒ#WòŒçöpl«Â¢­c=kËœÖÕO®¿®l84ñxÇŒUA<0½÷ÀtS…ÏoHÓª“äyÝ.ºé2¯5C•X4S©õ5G–v¬ÿÖ S. ãƒÚ°»fõ2àÐhlÎc7îŸÝ øæÁ;98Û!„Яô.Äṗ˜)~zxSÅ@ WÞܾãçYªÍT ¨úG9á.Ý”ë(eZ ŸbulYDæƒ'ùn-õïïÇVŒÛ™[çÙ`tÍ^.¶ŠÙÂ->_Öh9nÂ?¿šPzcjÏÒþAÆtÆö™ä˜úNÇï; yźO£Ä1PdÍOSe/_H€Þy¼½QK.L~n““C‹udDäçàG–Å™½àJ€ÛöùÝUêµ¾IÕ‘¼˜Û l+»º£¤Ñ©q«ÖÆ-9‘³ì×½þÜ H‘¤ ó;û¬=¶j¨N ;(xÕãäãÛoÛü|ËPÓªc°é J¨©O"¬3ñ•Æ`1@Öö`ÐvKüQ„Bvá½Ï¬$Më ]óâs@YO™LE]¤ò’³ùT™ºGW1/9G   ­Ê¦ýÂö ?\>x¯íÝOšØVþÓ|Ž¢úª¬« PV˜\(ݺ£<¬ðÀˆ<¦Q¯µ½ÎµÓW ÑwÑ Ÿˆ=ñ1{÷GôÚгf~LÓªc(é*ä$å‹A­îЍ0¹ N‘UÓâð³³ÊIàÔë …åe•º,WQŽß„B¿Ìÿrä=þfTQ½[TÉwîå0[YÈkla@¾ˆ-®·”8;ìÎZËîF²¿²¹Õ™¯rh&Žø@Rž_Qg)–v—ö\^äÃÔz¿LSýö̆۶}ZÜø®\`ŽX6N ìîöoøßSŒ¾…‰ @^Xhz½'¯ Ó>®Vd›[µ¦¼½š[oN0U¾|p¿þýføm@!ô‡DñÓÛn}:r’¼'‡ÖžÍàX;™+ÓX††·<Þ¾ç~öÇ›y)~âÅÍG’ØÝ¬ÔšÔzRòcyÁá°¨Â÷Ÿö?éÊö©@}¬„Ón¤@ŽÏ–3¯*ÈO±éΑ›<µî= ¥=š äÚN^6H ÇgëåTÑwT§ÐÉÉV ãÌŸ>õq±·¶žÏþ8@WëáÔ p`‹ªàca²4ÚkW( ý0+ œ‚BèWú^ˆ”=ôpÿ`H¯ª•ï"ï¿)`w™=ÏJ‰À4±|Ü5×ó+œ“ïíeª%N º‘I³ÓœÅ½U¿qФ1Ø,(|téJ§üæ-ºZ¶þ=T®½¥\hXúÑ«èÓLÕÅyïžÝ9!ªÃDøßŽ–±%Z*r:N[ÖÿÞÒ{o¼&‰shÙŠ[ööž_`‚ØæÓ'¶ûÂÈ ]©ÛìyÁщ^;ƒî¬ÙÔ긄û«‡ë#^˜8.vXžõ,èÚ£,ývÊéñ%,YfÍÅ*ºjŸÅsÌœvÅEní>rˆe3vÉÛÐ+7âJŒ\– ÖÁ«0!„þ”¢3z»ÿÐÆëáWSÂk_R±œµsËHƒwÒäMçxyRKWù¼N ñM ©}YÃzî6'é£ õ"ˆB[ÛŽô篲oy®¼¥=áüÕyŠìÿG{骽—or.Xq1!äÈÚÚ¶È;ztæovÞú"ýêÆ99êÁû­èj}Ö_Å\¼évzÔ“QµÅuml\9ü+heh \<Õgô¡÷OvŠê¹¶{S«chÙr´|õ"ϰŒˆk'"˜&Wæ¶à¿‹|•˜WÍVoÙ¥göš2…dUîëȈ ªèŠ:mˆæ­UYM¬Šä§?¹ûðu!¥ÜÜr ­Éø²,åé“ç‰iE¤’‘©UO3}$%ñ÷"³h:ftQûtGKÙ‡g¢ÞdU²5ŒZ·33k­þfÏ6¹:JT’öêÙ³—©•Š­ºõµ6–ûpd´óñÌv«O Ó¬»Ù"^ÒÓÇ1‰9•LuÃVm;w5Ñ`cü@!ôçEc6¾ÿ/¢ôk[÷<(Õs\¶ wé’ìK“¶ÅkŽ=sma;ì&„B¿&vÁ¿ü TT.ŽŽ«N’51\1¨‡âÂ'GWíŽ02¤æ„BAÐGS¶Y¶ºßË•÷הּר¾zM`–û¡?¦s„ÐÏ£9öìµ…mejó‡°¼àC܃ËÇ^‹Ï¾½f:GÃçosÅßk,„©ÜÙq˜bõŽŠßu~FÝr°îµæ˜3×µ“ùçëA#Býxt6W«MOç•–Öÿï–{eéa~sÛÉþVmT³t™gùû¬¡ÿô>»!ôk±õ‡ü½Ä’ }õ\\…‚F„úE; ›q=9·ÞVÕý’Ÿ|dÅä!6æAô0jæ¦óYÕ RЍ Öo‹û˜¡¶Ý¢—ýèé/>+5¨‚f?:±Úu¨9AVýGÏÞâûœ'þ\QÞ•ñAL *Fžë`Eo N?=Š ˆQ§ÓÅ Éòq&Â-¸TõÐkÙø=‚°°uœ¹Ù÷E±¤vUå¦Ö½€ü .=bÈÞDaýõÔæEõ˜9¶A„õ€±ów^{]"©»ù7\‚˜X$.}qqƒ›ƒAXÚ:L\y*2WX·DŽ;Aô^õŒŸ'„!„šŠ¦`Ò«5T¼}õ9<¼ˆF.;ô*—O±eéUEž^Û=wä´Ã±eä§ÃxÊùYæm¿•”SF——gTæ§<óß9}ä²À¼Ïsªòõq7Çù‡n¿ÌáS,9†°8åÉ•n#–^Ϭ?–ªˆÛ?}®wD¶àËÃ1‚TßyN‹¿-Y–þôêŽ)N«n爘ZÝõ¶2–ÐêbÓ§onã=+ÅO<3ÛÑ}ï§ieb`3¡ºèÝ£‹›&Z~#³a|"K"·O˜²óúó=m.Y–ýæî9®;Ÿ~î„0‚ „Ð?Ì ý–ªP˜\(ú8´ño¿4àtž´ëZXtÄ£¨ˆÛÇÚj(þIJÝÑeTMJ õ<ø\\ëŧîGE„†FDÜômPvðB’ðcy~p©×1¨÷[qö^dDø“ˆ›{\L˜P¶cW8¯îq<ñøZŸ £þ37ð>·¹êvˆñ‡Æ[9mó Ž|zý»¥ïÞ† ¹¹v®¶¯Û 4mçoÙ±eñÝF³ìªâ/Ý+V;—Ý×B£#"#ƒ/z8‡l\u¹îP ¼9´ÞŸá°éÚãÐÀk·‚œ[HÈä_=p?ÿSÛÊ]œ¦Lœ8y’­ ?M#B}ǾGNYªJødíèÆå#a|P¶c׬^:­ÑyìÆý³Û߀ñÜÃŽmUX4 ±u¬gm™Ó úÉõוuÇ7òåœÜ4e`·N&ú\Æ[«8`ç‘E}[(±h y=‹ÉžÞîÆÂèþ©Mº³˜*‰òöËP¾÷àœžòt ±”ZÙ¯òÚ`% äë3¾o«ë-_Ýzöžå dh@W0¹xœ>~à}/¡«tqš9gŽû$[]Œ #B}×8H½ÿe…ÝÏhæ4¡K½ÛXÙÍ&v¡$G¤T)Àœ§1ÙêÓÑØvÛõ  ëÛz)Ñ€*{øBôÎãíØŸWÄÔéç6ÙaðàŽ2¢ºÃ -Ç5¨P*á.Ý”ë,%Óbø+6@æƒ'ù’&lkÕûû±Õ#ÇvæÖ¹ ™®ÙËÅV  ""»^”i;r€AdÁR5RR‚SwÑK“oÊ­x²ÖÕ3¡ÎŽA¹¹ùÐI®ƒÛr›žboÏZó@Üc­×¼ö?í>ç[{¥’ä” ù¶µì‰äZtk/³_e ¡Å§*›7k‹høAt©¥Ò¡‡©½º0åÕ›Ïn#u÷ÏïÊý¾¢ ÿÍ}Ó€Û̬GWÞû— ÎoŒ/\¿Ûµ­~‰úmPüÌ÷<Po¥Á²º¤LüøG⥨.«&è²&S÷ï†OD¥„ùx†ù€j;Û¡În®[ËÓ@\YX ZÜ&ìÞä”e›pÅÕVlx†ÁÕR¦ð‹+ÄM81âóøÀÕlÔ$š¬ªª € ¼T@‚ÂǦ0嘸»BA‘5ùkš{G9qÖ•Å |³žç »*ˆo;~3&­TD—×éd7qÆè.* ²<ñö©S·ž& äuLû›æd¡øy÷SñæôÊõ¹ÃÖy8d4.NU¾»uÄË?&ŒlF˜§òMi3÷¸‡µ¢¸à饣>Á¯³Ê™ímÝÆYëÖ9¢*ÞǤh8¬Ú4¾9 €ä=Þ¿åbjîû"q[}U•êsêêã·¹LÕfú™4¬³:«:~ÿÌuáÐký÷¶2’œëKæÏl3÷¸‡Eá™y”´Ÿ¨ÀÖé9ëàíIÙ¯…„„G<‰ŒNæÅ‡œ^ôÌ¢.\΢)jÊe ބ﫸ZÜh]¤HDЙM µ—ÄB)« %À`3h8êþ8ÿh.Y]”òú]1È«qü×§¶‹Ì78|°¥Jþók{N¼æKŠÂöxœOåt<ÔF¿ìÅõÛo~ºóL˜soÏÖÀµÞ‹W9·¥ÅK)N–<9°álTÍØŠP{ïã›ò±ä‡Ëwø¿w>~ÁŠ¿½­÷«Ê:_j𼡉:@ÁíýžÞ×Ä$d’gïØ¿{åP}%Q‡Öºû†oÔ{Øà. ™Ñ~[ÖœK¬úÖéË›3Þ¡y,Eº´-ªüF{BR÷!ùáçÃøŠ=†´áÔŒ¨iqª³³ÊÞxJ ËKŠKʪê͹ st;Ù_°áoPèå]Óºq2.zÞΑ0•u•¡î­6 ³Âý/]¾] þÞæòÞgV6h–0/>”õ”›p‘—©¨«Bà%góìļä1€‚¶*žº ù–êÈ #?ý¥`9º·ÄÄØ)íTÚ›jW&?M{™YYÈ«ÌK¿ùJ.Kç Ñ¢WZ迟5ÓǪÞúl~œ&0³ÙÍ\…Añçd_{&-ÇÕ«œ˜•=ÎÝVÕI7ïæ€B¯3œÚˉ: —Ý »ñz|GËOׂØ-Æ®_¡zõö£¸žÝ )·é7n†‹viä•(>h _¹bls5ÔDè¾ëÙÃ;ÉÎÓ¿ÃÔú¯Ý5¹‡Ì¹¹´Ñ¾¾ñö „fÞÚº=J ?|\'…š×d›[µ¦Ý{ñöZhî°ÑºŸ/{P%áË…òMþ¾uf¤¶øÃùEKü²ÕoÙ?͸fê]¾Y¯I œŽg|à‰AWF»K{.¤ó"¦ LMd>ï½ÞžÙ°ñ Ow²©…Æw¶8þfTÑ@{Ïû Aò{9ÌV–2Má[Àóô×±ÅýúÖ¹õWœvç­ew#Yü\ Œ ߢҡ‡©hlEcK[kc%:Heò£N{{‘Ȩé*ÖÜZ&)Ï-`iê+2@¾Íðim@ðö@QZ)d={Ãs0ÐbÈH)..É*`éµÑdǰ£6„•PB^>B×O ýԢ¬2 |¾ÂJci˜ n6@RUøáUTÈåó÷ï<`ØnM«Ür†n-Ð8Æêð,« XH©}mƒzšqhâŠÆ[D•†¯þV{BŸâ„¨²05.ä’׫ñU:£VMþèj=œº³_D$Øâo±Ó±™ €,öÚÊh?ÌJƒÀäªT¥e¥¥úû¿³¸ëÇ¹ð¢¼Øgy Þ\• œv#íÔn_ÉñÙr¦ÏÁ)kfXˆ³ï¹ÉPëÞÓýÝ-?ݹíV‡Í5EIÞ“CkÏæp¬Ì•ëžo|éž–á€á­½ö%=Þ¾ç~ÛÕv5÷ÑRüÄ‹›$°»;Y©}çˆ4Yüìâùð|’Ûa¤K?¼/ýäÓ\:'4®ñ]ÙiæÞ%½5ò./Zt)€¡ ®PšŸQ"1“£WÄ_={?_ËΩ-è_`›¸ïL‚Ï©(Ë%D‘Ôâjò%¹)u.öƒý)£ RNl$"@˜vóRzeÌŠ¡Ùþ­ß±„s[÷²I÷C“­'Žª9¯‘3êdÖ¿Ûлû?;éû¦m©Å­ìZ_<™äë±%·‹|Ú£'¥5uɶU‹ºq+XÓJu38‰4ÙÍîó^Œ¥ma©}ÉçÝÙÅs#:šèË•§¾y™ Ý£‡žœºª£ùÅÝOý7m©èݬ*îî3èþ5ÌXŽYÒL BÓžظËT!ûÙóbé» -i[4aˆ­ZôWÚƒª‡&«Úܬ÷'—ÑÖú²´†CN»½D«—í{”ñÈïð£ÚW5­ÜV­žÒC«,黯sÚÚµG#òãÎÄÔ.$Ójм5Ëú¼RBWë³öø*æâM·Ó£nœŒú˜zll\9\÷ìôtFowãÚx=üjJxíK*–³vnùéá4…¶¶éÏ_eßò\yK{Âù«îr 6\ÞtŽ—'µt•ÏëÄßÄÚ—5¬çnópúã2ý'vÕ´Ù“5Ï‘í¾ÚkAýQEö<”T.ohѯS¾ÿÍN÷%{çw¡âo8ø,µX$¯×ÅÞešcgNÒ§ç‚´Åì™»=²R{ø¦¿[†l\¼³(Ö÷àÉ»¯óézÝí»d^¾™Ñfîqk®0ë±Ï±‹ò«Øj&ÖŽ“]ú5¯·-YžxßÏ/ 21§L,®V+Ân„“½©*€â§><òjDb^%SÅȬÿ¸ÉÃÌÔX@U%ß:°ÇïižD¹¥uÿf —‚óêÜÓyù‰åå$¥on‘ ]ð­ö „¾‹ˆ—ôôqLbN%SݰUÛÎ]M4ÏÔ½}ú,1=;¿’©¦gز#ÑQÓxARöáÙ£¨7Y•l £ÖíÌÌZ«ïœOI–ϸažïu\|®ÌmÁù0*1¯š­Þ²KÏí5eꯌä§?¹ûðu!¥ÜÜr ­‰ôç‘U¹¯##^|(¨¢+ê´!z˜·VÅ „äwÛ ¿›VÉÒ2n£#G“äÝZ:çLFÛ…Þë»qñ-Cý*u#ˆ1U ôƒý¦Ó&ÉÂðC›o©õœ2­ŸFÖ­k@7îÖŒƒïB!„äg’i5vÕ8îzrK8)£Ò¼»óÜIvÚ8Í!„ÂòsÑdôzN^Ûs2¾C!„ÐÒo:!„Bÿmtì„BaA!„F„B!Œ !„‚B!ôÏ}ÇM¹ ##£²²R,cÇ!ôßß;0™ŠŠŠzzzl6>!ôã5õ¦ÜêêêÄÄDuuu‡Ã`à3Âú/PPÿÊ¿R%Þ¿On×®“ÉÄîBýàóœ&.—‘‘¡©©©¤¤Äd2i4ü6„þ€­   ¨¨(++ËÈÈ;!ô¿‰ ååå:::l6›Á``Aè¿$%ð•K«¾¾~ªªªjjjØW¡®©ÓQ)ŠÂüЈÇã‰D"ì„Ðÿ,‚FÃüB¡_AB!„0‚ „B#B}RìFÔÕcÀ¸gŸ—ß³Žª8¾ÑkE ÿ§5Sœqv4AÄPÏ—| €* šBüäJë&r ´#^ð…Ö:Û΋¨üü?Û§ŠD)ÇFØ.~ ˢ÷LdeãR*üôâ·U>žÛÇù|æ|¢?vÍÇCIBü²ý»á½þ¡ŸDÝ|€¥&½*7!úYbÐÞ¤‘ÿfåßð´'ÇgÃÙ!ç¦ËüOjg™,=¿¯¿ÊÇyv4†,Wæ7ë †F¯ÙËÌZ²D™áÁéf;om¶R¤Ê?¾ˆÐ?…£ ¡Ÿƒc6yåúõ¶{]89Ó âyD†Ȳg–µ³"ÂÂÖqîÁG K^ø¬v±·!‹>Žsö?È©{ Y³Ë‘ Ìö?/—H/^öòÜR§¾––ý&x\ðž@„ëb @˜z`ÎȾ–ÑÓaÆŽÛi‚/=ˆñƒ÷ÆËiõnû‘ÖÎê—›í¢Ç´}Û§Û[Vön»ƒcolp±ëFXô¿éNvÍ ¤V*ˆß1ˆ ˆ±¾Ù’†uÓX ÊÊ*Ÿ(+Ê1„ï9Xõ¬f€A˜rt„ÝŠ§|)ëíìÖÖ.%J=1ÊfÊü#MÂìÏé6æ¶£>·jØ„ó™|©+§éwvLsèeN½G,ô~^VgMÞãÃÛ}“ù9×æÏ¾S|oñè%¡eâš…@V¾»ê1ÉÞš ºrÝ|3¥Š ªS·ºÚ÷ ,úŽ^zþMEÃ!°Êˆý'ž¹î9Ý¡'Ñ­ŸÓÒ3/JIøB3Ä…QGç´µ ¬Œ[yáuݦÅO8åf;xUP®øKÅE¹a{g8ؘw³sñð»0½ïÔ Jj›ëd_˜0xeàÍmSzæ}Ƭ»•!”¾~Iö… öK|N,ݯ›…­ÓÿØ}Ó†Ú„ͨ55Ÿ‰oÔ…!„~’Ÿ—ðôe!p5¹ŒŠ˜ öÝ{ϵ=il_õ¬ˆ“+vDWHòVÌô¼ýŽk=v¼}óâÈÓKžMù„éW—/¸®9tÇÁYiϤ'‹‚׺ï I¦›ÚÙh½9p8¡¶¤ ñøìE§"E“çNíÉŠõ]í¶-ºLÊÎ_³ÿ0ZüÁ­9âOÿ*µµ«½-cfÙòŸŸ_6mãSù®ÖmdKß^Ûr ŽÿÅJi,eMU]-滫c2¸DßIªQæýÀ¼¶#¬ÔëíÒ…Égæ¯ ÑžvìÎ}Ÿå¦/¼îd}éÂY¼qC°Î ¯€ ‹=>xï ÊotÝŒ©óמctµøïì¥øiCÈÒÈ-³÷eÙx\ ¹aiû¸-³÷Æñ«Þ›ïñÈÐýdÐýó·‹=û²²qÏW¾9xV8jïà˽ò.Ø^"‘Ö I¶ÿ²%ו\ÜòYm“sháî¸yŒªzç³ÈÝWmѱ5vÚLé[!J÷]¼â¾î¬“wƒNÍRØÿ¬” ¤µ¹A %÷Dµ[q!(è„+7x÷ÑWü/õ’$ÿ¡ÅÈ÷$ww㌲³ÎܽëåL»wärŠPzÿ`©ýLýÄu‹³®.^p1»Îh× ëàÉÓ†wPü ÉGœyyñš“.éDOôš¿_v‰çÄ8DˆÐÿÿþ,âÓ_ж3  ì5{YWõ®–†åñ“nÞK)Ï-(Ï|6Z-ìÚ0NŸ^Þ§Ùþ«Ù´²j  òÅþ¹AIU-ÝO/ï­Î +”¯ÈN;^ú®‡ÎjÍ*°v¸{`)T½:ë—ŠƒW¯žAp„‚—ãÏž‰™ga«Ô 0õÿZ1ýË!Ï]Û÷­=ª‚”ŠªHy†¹Ç±½ýäßí1îLNÛ¿tTM?1fä¡Ô¬\>ÉOýB¥­ÝNºIí&á«5vk>¶EwäQ¿¿Mš˜AÚ1¯¿›\Ý©Mö½ÛE¦3º©ÖÛµ ’®^Í7_|tpe¨]<Î܃/¬Š¦díqÉBY[]øbWŽÆ/æK€Õ¤ŒYqê¡Â¸3@Ÿ™KûÝ]øÚ–v«ØrÙ|{ce¨~¡j:ÇzÍi`5eÙÈÛn>Ñ¥û7£:-ä»6îÛ«ÑÁz²Ç&½$e €ªNö[rÑÿõþ›öºì/mEÕ‡ÀKéçì³k©J‡n“æ ¸23Èb)m~?¿³©lÝñ†¡£Û òLh××ÖàXh%)½—d’mï2ŽP“¥s{t×;.çêl¦"z[¨ßàñ%Rû§a]A~†þ˜M«ûª3(qeÞóË»¼vz7?8¿³üÀCÅ|ìC6þˆB¿uó–šL Ë¨˜ÚdªJ‰ªlvˆçömÄršFÊU5§¥™%l½æ* àvš´¢TÅÝÈKâÀ‡ð˜ü -ô™rRŠ‹x©Eìffºloei¯¨ê‚ì ˜að©E¹©<1(5<²ÒdZYírcâ™­ûTjŽÒ*ª%«¢,C`0ét®º<h €hz¥ŸwÂÆó½·÷Q®Ù%Ò˜òê g‚P_œÆ+ßn!Ü”2S6ìNq§9æ*õOîÄ%Š­ô95«fkk²å€Ú•ÓèâŒ{{ÖÜŽ/¢)ë)”QMßCKJ³‹ªÓOº¸PS»DPÉ´*-T)}£j`ª´Ð–­]BÛDƒŠÈ­ Äy ›!.É(çêqjÖÎÖ·¢|Q~hd'+†ÿ±€Lsg¦ô­—¤—Ëê|,®Þ\•.½Í ¯‘±TŒT™µÝóõ^¢Ëpeè@£ÑiLyÎÇB´/öO£º0‚ü4†,WQQ‘ ¨d3ÄúÊã¸Ìr²3G˜|êØ•ˆ¤"‰Šqï13&öÒ'_l›ãg2¶MÜ•ûoxlbØ´iCÚpé’’WþGO>Ϭ”Õno;nš³…‹ä=»xèTÐ˼*–j[»)󯛫2$¥±O¼Ÿhªúhû–à">¬YP±|—{{Vãâô¼›Ë7¤u¤]÷y%£V•o´d¿{{YqÖµ%Ëcv¯ï£†×§ÐŸåÔ©ÓÓ§O¯ûŠ——פIÿ_+å˜M^¹Þ‚Sï¼üí‰ §ž–w[su×P¬cN£¦0¹ÚмÌä"±•<½,öäž«Yú#gt€“¶{±j÷óž!¶;{åI)ÎàjqŠ2òEVÍYÕiqY5û¶Šº€Üà;XTuîÛ„l‘º…–ô}ž\»É«g\½Uúåv6…Ì÷Túñ𥪣«WoüBY›;777777+%öª‡Ëx0ž óòÜQ£ÆNœTËeœ³ëŽç…Ï·Nœí“Z[ Y¾jÜ‚ËOÌš¸õ9¿v‚$ï“w¾äK*R]Ú·rúØÑ. ¶ M© )J”uuëö8>EU¿=2ÃýT²€¢„)g¤/Ϲ±Ðe}tEÍ‹•qžSfz_‘vqîä-Qe$…ÐC"K$b úÓÿ¼¼¼êþ¹mÛ¶mÛ¶ÅÄÄüÎ[!Èõ8òyZ¥„¢(qƹÑ]»vu»_ò‡¼‡•O×ôè[ùí%+Íéít.Cô{´»âñü>#½?þÇ#ëQ@è‡Êš]{ÕË­ƒú¯~ÆÇïþoâ§ÏaqÕ5µ4jÎ<´3½q >Ÿì Æ•m1d׿þjt «rÓ Ùºréw%¥…ʈE¥ò€«®¡ÉÅg—KÌäTua6_Ö€#ÌËtß8rvu^Üõ=žÛº{]›IKŸòjÑËÅåôùäZõn[}âQ -¶¢ÝÄö 8‚þô±]›É¼Àus}óµ-]é¨ûáÜÉd ›ÚËÿ÷ß,JXZðþα‡ì¾‡ÚâÜ‚/ª|á½Æ»ðоñ&ôÔÀ“w«M×¶Ä›Qþ” 1 jcÉÒùE¤rçÁ üŽßN(¨(ËŠóß¾|ól €¬Ž9u!2£´4çùåcwùföfÍ-ç^9u/©˜_–þèüÙuÛ>ú¢×§6l<™Y^-’ÐhtFÃÍ ÄÕB€¡fѸ¸»ÁÀ©qo“ò;'ïTtìo" ¡Ùö³npîÊ ß9×mþá7ZýgíÝ6ÒàxòsÕ+O—)Þ"‡¥“Ûâ1õ‹Ø­&m™­gþ@kë3/±&í\ÙS wô¿‹_û5e*ë+ Ÿ†¾*ël9s)︷ç¼Ó¥”R‹N»¶—ƒÀÖ´íEnœµ§TF¿ëÈ¥ÓÍ•˜ôÞs—=¹uæ‰ ­öýæ.f(ÃÔš9ñíþK¦ì•0•šw»pts6|¾Ç‰¥aÚ^æÀš9ÕköÍëи8 rd6½Û2ž&vîgŒ'ý ÑäšZì5hñŸ¶Ýœ®ëïD6}qùûôøm/oµ;Äê×|<8Æ#=|FzàåwüîRMšæ Ïž=355e±X?¯)UqÛfn½q‡£Þ¯>}©zspî>ÆÂ½3ðTýYHRbñ§ÄíÙ³úöíÛµkWì.„Ðõ§ß€J‰Ê‹’^Žfuë×óB!ôËüé¿”+xwfŦ8 »µÁOB!ô'F9³e'Í~u¥²íݽ|ðc€Býjø$P„BaA!„F„B¡ÿq¡Ñh$Ib!ô§QQQþ©wã#„þXMŽÊårKKK544h4|®Bÿ_{¾U«V­±£Bÿ³¢§§—””D’¤ššž!ô'äyyމI[555]]]ì+„Ð×Ô§£€@ ÈÈȨ¨¨H$Øqýç1 %%%===6›½ú_F„B¡ïˆA!„F„BaA!„‚ú—( v#êê1`ÜŠ³ÏK¾ëÉBUq} ¢×ŠþÏj¥ðíÞ!A8ŸË×¼@Lµ »Mqÿ¼NQÚÉ‘AL½WúÃfÙI².Œ³´ýuu—²ýÆ[Üþªú62åØÛÅO~lÏ’eÑ{¦ ²²q©¿éÕ/7Ù;x&@’}alo÷ðŠ_úaäÇ®àx(IøS+!K#6»ŒÿŽ÷£N·ü¨·CœqÖÙv^D%Uñlçœý/ùÿ†yžAB?‰ºù€ÁƒÙvmÆ*J Ú»`룒ßêñ†ìƒíõÞ߉̗%±¯IÐì?Ü„óWÊà¶±>ر—>ë‡=A‰¡ÓשCéý«ñŸŽQ’ÜPÿ÷šöÃÚÈþÃ5jôš½Ì©å½ÏI”œn¶óÖ[¥?îáQUo¼:8›ÈþoMÁl\ï„=ç“…¿ÏaAý³É+ׯ߰ÝëÂÉ™FÏ#2„@–½8³|¬A¶Žs>*YòÂgµ‹½ AXôqœ³ÿAލÞéuÌ.G‚0wÚÿ¼\"½xÙËsKúZZö›àqÁ{A®wŠ)avè9#ûZDO‡;n§ ꟲ9¼½]DPå/âÄ 3Сµ,H-+Hð´'ˆn3|/ovupñN–¿¹°ÆeP‚ ¬ìÆ,õŽâI@Ržäp54SDYùîæöéÙZDOû±KŽEä j×cévêÔ ç~D7»É;BòÄ‚øƒ‚ë›]÷Étukç®U¯¼ª>g?¸ž¢;tH vMW=&Ù[D÷A®›o¦TQ Î8;ÖaÝíkëûÜŸ¶Ï}˜ AVöÓ<æK@Â{|x»o²$EÑÞ G÷ëFXôùkÖÞ,!’ì ¯ ¼¹mªC/¼Ϙu·2Ë•ç\›?ûBNñ½Å£—„–Qu…ÎÍš{-?Ûgê¨u5ãY” =ÀÃÅÞš0ïã¼öf†Pú&ÔU± ÿÄ3×=§;ô$ºõsZzæE) @ Òïì˜æÐËœ ,zXèý¼ŒqaÔÑù#m-«ãV^x]V7óRü„Sn¶ƒW势T\”¶w†ƒy7;¿ ÓûN *¡¾Õ<²8òÌc}Çîªt©ý)¥ý‚zÝòOÞéíÿj´ú S¸{.®â·Á‚ú™H~^ÂÓ—…ÀÕä2*bv.Øwï=×jô¤±}Õ³"N®Ø]!É X1Óóö;®õØñöÍ‹#O/Yx6åc¦_]¾àBºæÐgu¦=“Rœ, ^ë¾'$™njg£õæÀá„Ú’‚Ä㳊YLž;µ'+ÖwµÛ¶è²zûd–Aÿa-ÞÆðH¨xð\5Gö¯”ÇxnÈd«+‹_í¿+ð-ÇÆešK?¬Ã VÝɯ{ ‹¬Ÿ¶ÞïYEk—±ÖŠxͺ÷ÅDZ Éó² ,,€÷ÊwÃ8>ÐXÊ:šªºZ Ìz tK§îÔãK±eTM¹‘n4| ! €,Ü2{_–Ç¥û–¶Û2{oŸ ó‚ö¨LܾmH®çšë²Góß°¿ÞE&I^ÀÊÅ>”£çwŽºiß_µðÜ!H î‰j·âBPÐ Wnðê]$R*]í¯=Æèj9ñßÙKñsãYFãíûKSwìñKëP•q§_võ¸rïÔTÅû¼_W}iê¥7Ï Gí½|Ù£WþÑ›ÂK$EÁ7ëÌð  ºèÑãƒ÷® |R’í¿lÉu%×#·ƒ|VÛäZ¸ûÓÖRUï|¹ûª-:¶ÆN› ¤´â¢tßÅ+îëÎ:y7èÔ,õ€ýÏJ)ê›Í£*^Þx£Ó¯—öÅþlØþ'JcëwË÷¾RÛ_÷£Ü¹¯bÌ„ªß}÷ÀÄ=$Bè§àߟeC|úKÑv†ƒ!„½f/ëªÞÕÒ°<þaÒÍ{)å¹å™ïÏF ¡å‚]ÆéÓËû4Û5›VVMT¾Ø?7(©ª¥ûéå½Õd…rãâÙi'ë@ßõÐÁY­YåÖw,€ªWgýÒAqðêÕ3ŽÐBðrüÙÀ31ó,ê^'`êõn¼o×Ë[ÏKl”nÇð¡Å”†,¾Ô²3Ü@sÄ¿%]håáó*(ŠbkvqZiÝ7µnTw$^’{Ï;¤t'Ø?» ›œ`V=tiø-ß7îkÀäïÓ'FjS™>ã†{¾ON)% »µÛ‰@·Æ]ISìâÔ›½àrt‰u?…Ìà›Y­FõÓc%§*Œ;3Ðaô™¹´ßÝÕïg»IÓuZ5sP3Vå6]T˜›[J¶îè¼çÆ G@òé÷àâK½)—F™j2@sМ¹·†í»‘â<(†¡£Û òLh××ÖàXh%Y/H+5~fÓ>ì–.34ã0¡î±(¾Hê&ÌïlZ·+éë¹³ú6W¤Õ”e#o»ùD—î·ö¸d¡¬­. |1‡+Gãó«ÓB.¼kã¾} ±¬'{lÒKR ¨êd¿%ýßYï¿i¯Ë )5.^õ!ðRzÇ9ûìZªÒ¡Û¤y®ÌL²ø›Í¤>Návi!OûBÏ ·Ö~ íF]óo‡´öK€U7ƒ ¬J IDATwdŸ‰ÊšÿÖÏÄ‚úIÔÍXj2.£b`j;|©*$ª²Ù!žÛ·mËi)ל£‰K3KØzÍUÀí4iE'¨Š»—Ä€á1ùZè3å¤ñR‹ØÍÌtÙ ßÊÒ_PÕÙ0Ã&àS‹rSybPª³§fh÷Ñ~×–¸€'1*OÊÁxZ?}æ×Ê£y7cp-—nvÛ{øÂýãï72gµUÑ qIf ÃÐT t…–¦Úžš[PM)0Uu¸tRVA(ÉןÉi?ÒŽ;Ý/’×Óäþ­\“‰½µ )Í.ªN?é:àBÍ€¶DPÉ´ªÐØ-ÕX o±âð*ßóçæ ^V©ßsä¤i“*~:&IÊrËÙ:Í”59‡£ÛL¡2»L ,#Õš£­ÑPù—J)4å3Ac©ª0kVL§}mê¨TZhËÖt-[ÛDƒŠÈ­ Äy÷ö¬¹_DSÖ7R(£hâ’ŒrŽ¡§fEl}›!úÀå‡Fvp²bø È4w6`ÐèâŒÆÅÓËå u>Wo®ÆJoJó„EéåòfJLÑ—ú³qûË%R"HÓßií¯¡¤#W[,À‚úqÌ&¯\oQof§àí‰ §ž–w[su×P¬cN£¦0¹ÚмÌä"±•<½,öäž«Yú#gt€“¶{±j÷óž!¶;{åI)ÎàjqŠ2òEVÍYÕiqY5;i¶Šº€Üà;XTuîÛ„l‘º…Vƒ}C«ç³m÷É”@‡Y}t@“‘ZV“yh  €,IN£µ¹ùÆ:nVÌÃÇ÷\ºµuÑcõ罫²¾@~úËl¡1›¬H~•ÀÑR—ýG³5e[¢1ñRpŒy`aÇé=Ôé ®¦2§íxßÓŽZt +3ÞçÊqÉðdefjUK§u'ÜÖñ3ŸœY±la•ѵ¥Æ7^QKA•V*±’gPüÜ´ NKnm@øb+¿TªióþÒé6¡~!qqrn5e̦ˆòÞ€’º0tõ¢‹Z뎞ëmÀ¡óŸ,º€ÉÕâð_äUQ G¤øŸx¤ã4¾#KÛi›Ç"­ÐìQ›vܵÝ3Xx!‹3¸ÚœŠ÷¹UTGY€°0•'jbó¾Õ3Û¯©ÀøŽâÞRZûÿ•p.Bè—¡$"@pîèîÕ˼Ó(†Þ€±]˜²þŠ]{ÖÏ[pøFPЬª @¾U7« Çë?lçá˜2±”âL½þ£:Ð!íð¬yë6-›:ï¯6™ŽuÐÞ½óþáOïî[»ÙóPX5W¦á‘•®ÞcD™—^Eï2²§&ý+eëg²,æÀ¢…³&ÏÛzñqb/PÔ×”¥×aéçÚ[²OÍž·yÿîU³V…U‘³KǯÜn#L:æjoç° ¿ñ½Cìfƒ ân¾XÜe´¥jM5tÕc-rŽl»›]Vœqj‘Ëœ³iâºÍ,Ù5ËÝó^JiµP4“^7õqê˜y|ç•×Åïïìßó\{˜CK™o¼‰ÒK}õ\[\%øÒ/‹}{€ä‡y¸—Ìã¥?>¾Å¯ÒjŒ¥’¸ZÂâ*ý{gEóÇñïî%Gw Š­X„‚ˆ”((6a'v+êc òØ"bëcúˆ…Ý 6ÒÜqµ»¿?Xý¡1ï×½ŽãØùÎw¾3Ì~vvfV‰I²ÝÅ %LS÷&1[·^I(æ½:±&8ü‹‹ÆVäึó¼i-ž‡Ü/ ’ÖLÎ6ë×ßàå–m×øÅo½^HàšuºÇÖ4VfɾÏþ[«a5ÃòÕAç?U}H¥TÙX daÌ͈;±ÅäOÙ# ‚@ ~ÜÖãz™kG‡‡?¦†´ÂR¾èõ[³mF¦ÂÇŽ\JÒ¶Ÿ²Þ«ÑçÑ n‹ász(CþÙÕ'ðátÉ ® ie x|áZB£áÃÍÊ.·yí§m[áÓ–c÷æ.g7°hߺ>z5/>qõ΃­Ù,«Á¶šxýÓ2ùlX?º›^ÊõC;w½WܼלÍ~–JUÔsÀnÿA>„›áê6£º¦œŽÊÿiîuٷË\GtTúé7‰C@üÚpÛLÛö·ó^Ð ßY;bt{LÙ´v°1šjøJØMG¯žftyV/;»^“ÃX£ƒw«çF¯ mÇOÑ:wâ½è§(%xyôfË™ÃÌØ?ÌÑ@ ÿèJáÇ Ë{-,ôßÏâSsE\-£¦.‡ vi­*@ &häû#ͼ¹aÖ¢Sq5&$3›z® ™ã¤ÇB1B ’ ˆ†…,z´vØÔÓ忳մ”$¹ù˰ <·ñ³VAsrñ‡QïS_ÉÃe^•>aÁ¦óï¾n·ñûã¼¼FmŠù~svˆÌós½¼¼¼¦ü œ!Uü`©×wÎ@\è·+þYg# _í(×J¶sö߸wýòÕ;÷ÿý»§†üËô°€o„¨!"I/£Þ¶k÷îÝ:·1d&>8¼vÏóâŸs%çâÎóI’“ùöÖÛ‰áKŠœŽ™Uúù1ãTÑ“CçrÊ~1ïçe®ÊŒÛÈuêØfeßgŸ;ð´ E!âã+gCr[˜0Õ\@–vzÞìéïžgJ,”¤ÎïÞsþi_Š+ê·w5É«“:ƒ,þpéÀ OâóÄŠúí\†Mð¶Vù|n.‰9¸xyD¦q¿€@ãÔ‹5“S‚Ø ;w…?MûAVIN$´˜±'ÐNE–ó$ìŸÐoÒŠ™Úmœ||‡Ù°i—M¥ÞuÕîï>úP)Óš~òâÿ™¶äzi뾎؃›1E*­zŽò6~q8ôN|¯±Ó˜¹ãìt˜Ò/fŠ·êf6ìÊÛå”,W§ñfk…ÏS;ÄIQ1âŠß²Fœ½óæÂ}-¿Íš²x‡‰b"“Äöæ\ÔFAê¸ìå%¼‰-EMCøæÀÚ#Q)ŠzõïÝY=ûù™}o„DÞÝÀƒ÷>ñ:õö°7*zy6hÝùÔòáIƵ5šó–ø´ÂÞÒ$' nýû𣬹­¥f\艄ò”‰§V¬)kÛø KÖÛK[–í}- AдqjŒÇÛs7‡¨ø+­Ÿefß^zÃjÑÎòÞ]ØõF¡u§ÆœâÄ»½/­O¦„øqŽâÔ†:éE¹•oM‘‚Ü’Š_âC×þ}XØþð¦l²ðÅõøŠ¿”ä HÔFA¾€(êïQQ¿)uörÐg€Ìrè¸ÖêmÚé âŸ$ÝŽJäæ ²’Ï¿–‚ñÈùÓûèâkã׳¡DL”¾]õ Il,8÷Ü›áæ•« „0ôœ'xÆýuüà'M»”É ÉHL0ÚN[þ—§£³œÍi2~ùÕŒ3~³¥eåŠ(Qz]™b•¹#U0ú7¼²¨Ã5>ƒ€Ž½½¡0áMä³=+#?­¤¥ˆ¦£"I/¢Þ¶k;M&`lýæìš«â@¨p²Ü»w'ÁÑ4P‘Oú$Š3‹X:F* PlÑB ¿¿—Ä€´è˜ü¾Æº MrYaZ!˰… xÌõàn1%ÉÏÀå£îTx”›VD€rr°õžÔ÷Ö¢s{Žòä÷pºŒÊVUac €)ª+à€•=O’J\ŸL1ªêà4²mÃ9}¯Ò½˜³3®à¤H(ª4ìÁiccÂAM@ H‚|й Ÿ‘$žÙþFÐ~ò&?í¬Ssç†e0”´”øÙ)…D¼äí¿‡¯gëºz·£þ³>l>ô.ôÀ£Î~–y´É5 3òe ™¢ô÷ÙòóÃÏÍ€I‰s²¥jæ Z_9f&¹Ü[~ýNqí~ÖŒý5™VK«j5²Ö½Ó¹å_è\´ÈI½àæ*ÿS¹kyŒ´RÁPSD ’ _EHIIÂÝóaÉ‚§—3(†NW÷V'w¿;²&$Ï’ûñúâf£<9€‚Iû=ºx\Y½ÿDL+GÚ䶮͎ïÿx"puf'Ťûùò¼š÷vÒ|t)ò [­üGço|$ÛMîâZËùSlí3¡ëõJjõ³> Q¸_•i5xí'û¸?ãL–ü׌SþÓOU9@o`Àäv<Ôñ§ñís¨²Çlðø^ÍT17o¾¦¬Ý›`™/ã…ÚN³— ³1=87]ÃÂsÁÜ^úŸ8ûŒ²QþÍÝ—0ºä:=fÏï×V§ôõ¨}ã²¹-†.žáÖ¬äá©#a÷óM}ÿžã …v¨*îaÊGŒîÄ)¡ó³b5l´Ÿ±údZë W³ñÛ½j@cº@ãM®Þ5¯‹ ^?Sè…^?ê…@ ?€úîŽJUùñÝ‘ĽO°t›·ÐWÀˆ¬ ¦Ni5{Ïò.Ê¿hœ¥¹¯®†ø÷æ‹ø´\1GËЬƒó/WsM´9;â§ï$*Þ¢!a~•ò ~”‘åÜÛ±úRžf·1¾.ÚiÂSoÞ¥‘¿êKü÷DóÞkÄ­ÆEüä²£ÊÿÝ‘A  ÛÓ|a„*×T•ÏTå?Ñè•§?8vàÔ÷YB’£nÚÑÕ{d?suª0âûèê_a•b€U†!‚@ ¾§©ç¨”|ê¦üªÒT tßøzì³.Áäj£L`Ÿ…È—‡CÈìG¹¯zWãûv_ú»pæ°û“/lë¦ôãJ$|æ?`…ÞÖãSš±¿‹}iÂnŸñü.uáý46E¯V\¢°!lN«º—û "g{lêxàèÈFÌÿ¸Ôß\Áƒ}¶t>|d˜ÑçBE7Ï^vòc“ç·:©"ÝüsR{£û¬6(ª’ò(§(¤?ˆßT…`†a`”½U1‚Q_¼ƒkõÙ~ÝQF”>[î'–uRÀXŠŠE§¿p1´»O[ÐÁŒý³ÛüùKÝÐÚ0õÞäAVÙ¢M~) BÕÐ$$IQ$UY‹P@¡ùóÄï">Ê5F™æÀÇÇ0Œ0 ¨2BÕzGg+«±8Êle5uuù¥2Q@‰“/ŽÚ·býñÈO"õŽ£ÿZàݶғ©„ïΜ¦»po€«ƒ6¹4óîö€ ÓÑÙÜVîãÝÒvÝtz·«Šð‹îùv¬‹™ÓÍJ˾»mù†SÒ„lNƒç¯˜é SíÞ1­}åüÇV‹L(R0¶ì?}ñdGC¬Ü¦Fö±Ñ¾o†LRùwwÄ‹ ¼Yï¹ëõ1fÓÚQ+sJštdÊŒ3Ù%0Þ³hÓñKN^ ûÕŸ«%ͺ½aü‰s/r8¦vCç/c­Á¨£RˆÊŽæ6 ½û‰4é5cCòΧže@c÷…›–ºHh«'jz…§95~Äì`È…D‚Eˆ$åEàÒ8¢O—B·ž•ËmâàíRRuZ‘qfÖ´cE0ÏKºúäê&gGÉ-o{Ýuû¡¡…ǪeÍȨ£hÝÀwÿ²þ ) Ê^”Œ ¤H JBP%!(± Ä%&(± ½Ð ½~ñWÙÿ2TüƒK JJ€Œ Š’÷d¥aÑo»ü /¾²wëò?¾z×—Ì9’XåßDÎõZ/:võê¾±Ê76þóZHkç3,“áÛ7Ð1º',À’W§}%Ÿ8‡ ÝvñÆéNyûç-¿‘+«w©€È¾^2xÇ…ËûG+\Y1iwÊ¡+Wvù`×vžJÐWŸ´¯È¬«!ÕGm<~1bGEh[Héûݳï7šºÿêõ£ [?;üªês»úB¶1и3<¨» VayÝZ/î5Ú¬ë,âÇ݈¡ ÊøARÄç÷²±²|zº#ƒ@ü6÷_äðòñN‘0cÈGBÊFJ¨J“F¾¶ÙÈI=MyLhaoo°û‘PZyà¶Ò°C#,õYŽ“ç»\Y7«c»ÊŽÆyv3¦87VÁÀvÜ‚Á—|C󷨆Y«éiqA(ã)+`¡(éæ±ØS×õj®‰ƒÝ˜À•†ÕäbIÒïxx¬Ý–óîlLµfòÒĈ°dóé›]Í4pè2zfÏÓ““,¨‡{eN2Y¸473“O63÷ 9ç&åU=F’x®¦}"ëÖñW†ãÂ<Ûé0@ÇmúŒ ý6ŸKðP©7f4èëÖD‘ ­Œw߈£jÚ© zûÃgµ¬| …¡è4g²£©2¶ãzFŒ;ñ(Q^ÏRÅm3r˜¥&Wîjc¸Ga¬Ouhë`­u._HÐV_T¬W>ƒ€Ä ¼—Lv3eèU¹y’®…¼qÂ.t^0˽¹Cç vë‹í®Ü2ž~|)MÖ^u—ñC$HÅõM%ý!#Ëß©²ÏdÙ_©Ê'⿎ar ÂÀAÃ(Š¢p €Ãp €ªsRmF,ÍFêL Ç1 øéy¢äýc{“ÉbÓ¶¤ZŸÏTo¢Ç•çÄÖk©MEf–P²¬k!þ—ÞæajF&JE +L)æ52äÉ ±ìû€@š}'ª­·-#|÷ÅT+c&†ËRj&O.Vl¤_ž\«±&+¹~îÉQ´^´cɉ£Gfö^ 0ê6xô„ѽT*Ÿèéíe³õMÕäwl0ž©’ ½HVeTCÝDCÞQËEEk§V R›ýÊž15Ít9áÕÁ#³2Rê[jœ£ÌÁÃpŒ©È+w«µúÒÒÒè½ÂØÚfÕ7K¢­~¡¸Tµ©¯ÌªNsö—%H¹eI­¯«ˆï.A¨ÊC P&2äãR’â‹Èëñ¥‰ùÒ ÚÌøýQæà͵XM”Ùò®Ã(J>S„‚²¯!Xµá†²Ž¯Õðêâ@ Râ29&Õ–YÈ â3ETs6 ÍŠÍU-É¥sëüsÄÁ˜‡ Îó`*ëò„/³J)PÀÄ áûîë{7`éy¯ œ«{'Ýsåú+N!½u ÿfÍä e=^I\f)eÎÅ$¹Ÿò¥õtO~™-HýTjæ°Ï7@˜úðТsJMÎÌoéTR:û*ºJ’GI|ÂV‘@ 3“JxfÕ»Yí4Hk§6êc¤yñ™bÊŒH²>äbšFúõ,u½¨Q}úúJ’h:¯Ê„i-DW¸_‰—*”[•äÄåÔu³¤Ìr½‚øïFA ÊÊ[²|ü£ ”Üû´¨GV?3¶*z¬+ñP ‚gÙÔÞ'E¾V*Jl†Q8`8(ê‡@h¯ 5ºµÞ´níqÓy}KÞœY³ø„Þºtªô2¤ðnðÖk†“,Y>)° ì¬*:M°”U•ؘ$ûñѽQ|‘±„iê>Ð$tëÖ+MgØ«&ŸZn2 Œ­ÈÁqmçyÓNy‡Ü·]aGIE5’³Íúõ7¹eÛ5³é6 B·^/$š®Y÷ä?Ý0åŸÆË¶Ïî¦APö´í 8töºŽÞæÛ·6ÿËÝoKÈs½~³ÍØð°öˆÑÚ¡9ï—Š N-ö«©§Û·ßÔ÷íÈ|º*L丮K“–¸õæz•º>Ô¨>›–­¥æ;jzõ”¶´-ä¯}4Gn¾h8ÝN9ùLÐÑB¿^¾Ðœ/ÐÿûO A¨*;‚åsÐdu5NèÑœmmÀd2™††¦ˆß.—ê©$“‘p?IäÒ”‡SNNQ8†ÉG?(h!‚k8ùg¯Y³pPp>¥ÑÊurˆŸ¥bõ³®A¿ÞÔñi}åq›ØûnXâ ©"ò›|ã¯Y=O°´›u2bŠ]ðֹ뺟š´ª00xŒË¡r'ßõ³:ð@ô¹·3ìûרÓÃÖìxvr¡]ò0¿ eùË6w^®aé9z°éÇ7L¼>îÉË¡ëæ?çÅÒõCœ,–.S×NlYõ”Ín2¢¦}¦^Ÿ•A9«‚fö^W¤`h9`ÅÆQMÙô¥ˆÑÚ©R l=k î²ñý…;ÂWZÑÙ¯ŠR»ÞÄá©}(6wšâ×EÇëYêzQ£ú4X8W)µÆŒÝèÏ_¾u¬[ §‰Ãˆáõs†AðtôïþßPek2ªÒÊ[‚)II JB€„ ÖÜÉ_騨Âã0 $Aˆ?Š¢‚H+”l*œÒEÍÀØ `10Ž1ðòõºß>1µ¾"g{l4ß:Öô;¯Œ”¤?¸gèÐÍ”‡ˆ^¯8W°âl`'…ŸÍþ÷öó­>įÝ¢ÜJ»•M!)’%. éâº@Á0ƒ¡¯Â,‘IUÛ~¿gê ^îõ<õ®„$… û¯ˆÚ9›qFûßÛOâGA¿5YåýOå‹_äýÒÄŸ¦BäÿõëðË:¬¦‚üL°›Ž^=-3`V¯%¸²‰Íè …Ýt_ÿ½ýD ~\Sq#F¾¶¶bŒŒ¤¤HJ$£Ä2jÃý‚­½ÕY,4”†@üYH¥Òi æÚ©s˜—‰±‹Lc` _¾‹\‡@ ¾ ¼¶?TìŽJ•ïÿ@ þXHªl¯Bù¦…ñ½$U±CHù³r뉗—Š)ñ›BU¬šC*@|/ R©¿ùJ ‚@ ~[õzñ£$ˆ¼ã¡P¯ƒ@ PW€@ ~´)¿B ¶A ˆï/AP_ƒ@ þQBð³&lùðP\õ[iIð®W;²ÈêŸë‡83õ¯{qÏÕùzˈÿ?€¥) ž{S¾Ïe¿TÝß) »9Í{(½ZéÞ7øµ‹'Aâ'ƒLü lÖBSý3âªúC»û´ÞÕ¥ƒø "ˆïE¦Æ$Nyœÿ¡kܦÑrg¥ÈS±‹ 8ö¦¨¿Y“ÈòÏÛN'âGD*7àyUœËT°±6c©¤‚‘o®¼œ™®wh”¾! ÞÊUì¡TúLJ¢î'n{Q”!ÁµŒ´gô1îª  ûlyA#,?9cã¬ÇyWMÙ½»é˜f¼0sjX©Wg8v¯¤³g+·¼ôàû¹¯øp¸]¬LtVVƨìøÔµ7³_3š·1p)L»ÓÞ<¤%³4;gÛµô[BI©—éä¶ Uw$%SߥV3Åøô±fјt_ªP5Ê¢Tm³ªfYd‰t¦0Öp•ÅÏšv¼dPWæù¨¼7|hÒ¦Q€«–!Vg¡f¡”1*/)#øFÖã|BMG}H“úŸÏ#”Dpüߨ³Ê&›Ý4tð:ü¯Z­û§× ;V¹êË‘¥95~Äìà¶×]· Ví¹ú&›Ðnç1eÉì>MȨÙýwuœÖþÁÞ3ÑÙ3û‘‹o¯Šy¬ :™P¤`lÙúâÉŽ†l2ûî¶åN=J²u: ž¿b¦ƒƒÈ°c]Ìœ.:WfÏ8“]ã=‹6°äÔLާVxòHAG˜ÖlCør €ôÓ¾¡#Œ8µ»¯ºÎG£ â+IÉñtå…c;žf ›r$›íéÙ¼·2gð¶ L?n„€0#í$¡³Ú·ã~wõÜÈãe6x'• IDAT`FíLþ²WSÇD9ùIúê&Ì*ŸK>%­~ûxµ?3±…'–t§¤”Á­l™(Î[y&‹lßìÈôömÙw.~ Ë¥€(ÎÛÃÒ·éNá†+ùº][ŸÖa¯»jrTò­bJVå!_ß®õ©)­Æ*æîN‘UÊ9•’aÖxÿ´Ž»ß\‹Ý•JT¾E jš¢-I÷eqͲTgme©iЍÅU¢¤`’âœQN3PŠM9˜NÖ@ÚBüœÀ³9*]Zœ˜Òv®™dï™”WÒr&ž=£hÒ«šþ€:ë¢/–S3ìÕª¾Šâ˺rQ}ÔºµÞjOWOÛœfvóú±ùm^¬ž¶é…Äl;,ñÜtîÆ©ÀîÙÿÌ^y¯Pšuqñ¼Pj`ð¹[—ÿñÕ»¾dΑDIqÔZÿ³ÜQ;#n\Ü9 ÿ{Ë aE,“áÛ7Ð1º',À’GÐ%¯äÉ–åÓºÁãËK@šz="«Õ [-t†E@üx ÞvšØ¸š®º­*U ùÒ3Œ¥:ÁN£iÐXF{üQt05} 3äÇw¢¶ÍXPå3Žã8!Ë.–‘<¥ÛïsV¬:,Aå|ÌŠQ3˜ÖAI›ÃjÒÚx‚¡øâ›R œ=œ4•ÔþÓfV+žç°˜\ŒäKɤ7Ù©úÆã[*¨q9–0ªðSÆ}ŽÞL+].³Q3Ãé-¨oK%•sãªÖ0E_´"º/‹¿µ,5Lñ“é]¥pnM6®¦«ÞMÊ—Pu¶PTêÛ¬8#ßV< ·Kç&Kº«©Ê·Š‘–ž=÷~G–ŠŸ«–£º"­«.8%ïk†½ZÕW• ˜÷’Én3£ÞV¶`„¥¾Šš©ãäù.²;qbœg7cŠscuU#Ûq +F†FÅÞ<þÊpÜ<Ïv:ÊÍܦÏèqæ\‚”ÉÂ¥üÌL>©aîr.Ìϼ–ÇíY·h’K>{bÖ¨½‡•,òJ¼¤)×.åµÜE`ë݈A  Æ`–E¯kÿv&OA§ì$ƒëè²!Q" A­¢û– n*÷“‡TúÌ31 rÍ{òÑç,a`¦3ÄVߥÊÙƒ*.’±U¸ªevp= ¦°HF`L¶‰"F¥}HYýVP€1 4ÅPü‚§Î.óÁ2áaiÅ|©¸ }úŽ,¹1BF0•'_Ò™¢/Z Ió%eô-e‘ÑØgÔâ*Î4VÄÊ*ƒz¶P$¿à©sxrKLŽM”HK ŸèZá9‡bÄ;qªžZê¬ ’6ìUª¾Zck›i²¤üô¡ ÅŸAäï…üŸ±ý|ÚtSÃ1 ß?9SRÆ9’RÒd!JJL]½½Ãµµ1 „…¥YL®B¥"Й¢/š"Nó%Ó•…YGY˜4ö9:ªt®"¨þXAª®ÖašDÀYiÄÃBÝNz­X*ºËÜŒuâÅc®&ÝlÖÌU¹rnuÖ}ØK+Uw†ã0”uÔx­†Ÿ88PR—É1áÅ…É â3ETs6 ÍŠÍU}}%ItŸ°UdPÂ̤ž™’(õS©™wÀ>ßaêÃC‹Ì)593¿9ݰžŠ®’äQµäÊÌÏž€b[ŽÂu—ïb÷‹,æX gÖ¤ÒÄ‚¢Je4ŸIiáö{ù‰BijBzÈ Òª“ŠP…ù×ãK…ñþ¤c3. ògª$9y^XÊí??ùÁžÕ'¶ClZ:y›§î :ý&§¤ îò–çzýú6–<Ý0ejðµ¾HBÀ`Ö8)ÊJÅC×±fòj‹f0¥¶í O®?É·ØA¥ìVRaÌ͈;±Åh™x}GArC õæøÚΆÝÉ_{ìU©—ùbãÏŸgpTµ]©¬»â X 66Mç6ca@¦¾JZ®wÈ€w³DÅG —|þ ˜vëÆSÒ¶|¾’ÄÔu5Æõ5lÆ *åÒHkq鯛±>7d\U•Þ½›ykáPøÙ#õ¦&cbãíÈb)ñ¬-ôÆ6IÞžÜul£å½¤koÇ ¸ÌêÐA¿¯†ð=pžºßiÈõøQ·¤ÀSt´k6½¤‚«7ž´kk­­@kªƒ#MÑðO4_*ËèÊ"WØg©Ð”EVLcŠÑ¹Ê§©À:¸ˆ>>&}dëo½x‘PÒTÑϸDŸ%ÇÍÅàüá¤ý)ʳôëð¿r]°µôª‡]&¨TÝ_Ð NþÁÙkÖ,œOi´râg©QÀ1è×›:>­Ï¢ë`àÐ\‹ý ‘òÙ•>SPËü¤Fˆ_² û «ü³B|ÿ@ ?D‚@¥áÊ?)¤8ˆ?@•`Õ ü@  ^gGT¶ôû|%„Ë_z¡zý¦/*Ývù¼)ûW ~³®—¥¥¥µï¹lR~ÕRpu¢µ¥eßm±’Z’Hâw °´´žrƒ_ÿ+*ÿÒX›Þ!ï%@=çfk?õfU¢W+Ýû¿‘~l¨ÃÔ{%?´Ÿ>óï9pûGÉÉMð`†£ÏÑTÙï“Ñ7ñ_WúײZÅo·ÎØöNüÝ2c~ÍEQ• ‚ ¿õ Èÿ ‘ûêY.Ï]MsnÌѧ¨8x­, Ùµ¨ A|t€QÇÆ¼oó@šzïFr‡  «lUÐh ñ#Ž»Û²çÎ5 R÷ z¡zýv¯€|ŒJ’_å|A ÍzþšФk²èÍ¿ëfêçhmií8pÆö{Ù2&í÷ì±è ¼k´ÿã⢷ák'îacießwbÈ­t €8f½›¥¥åГé5ŸUEdœ™5íXFÁµy^~wŠ>_#I“ŽL™q&;=t¼gÀS!%N¾8ÒÝÎÒÊÑgÙù ‚ØG»ÛYZÚ¸]u>¡´ê5– rvQ‡ÎOìÛͲ‹‹÷üC/ù$%N¾¼~BßîV––Öƒæì}^D€,÷Ñ?³;Y[Úö¶øØ›"²rT„ïø:õ^r5SV[riæÝM“úÚ[uqxòØDçñW ©ºÜJô)bÍX÷®–ÖÎ^óÆ”Èó¤IE_º#‰ôc#z/Ž8¿v|ßî–VŽC.¤HjɈȾ»yj?{KKK[÷ Á·³«×$nûÀžK¢…ò_þäºè‰°Oˆ¼Ç{çx¹t±´v0eÓÍ4ImžT­ûê©$ßXé²”ÃCû\:³ÜÇeð–J£u?c¨+ì´ö¿¢Z@{5®Kc6m½Ô«¯ì(¢Á)}µÚÕÂÂvúá=V¾yW|­,,únû<ТëÐ…ëÖ-ÚÍ¢ˤ YRaêUnCöGJ{¹ÍË¢ۈ%6,ô´²°°yIç$Þ ò´q[ýL@V2Pò`–…õ Õ×ò SlÕÕÑïv,碯mOÿ‹ï²øyñw6ô·–AÈÒÂÆvs÷¿ø!7/ñÞÎ1v=¢” z©ë€m ?™äØkÁ…41EQA—\’txX×>Ë/ÅåñÓ¢¶´±°{¥ N÷Jßnî×¹÷² òøÑû'ÚYXxIÓ¥*¦-ݑҴÐ!VÖ‹ÏÅ—ˆò^òµsZòT@›Qþ½9ÝæœŽÉ*Ì|ydB7§%OUÃ/þ¸m€ëâ²oÅñ»öøë±€6¤’̳»9Í:ö2«(/öâò>6^{ãÅ2:O*Û—Ñ¥ú¶J—$ò¶¶q·)":.GLþÌ €_WØ z÷ê[­Rо š¾+V\K„¥µÄê«ÀÑHhpˆÜWÏówwèÝò¯{žó)2Ž^ëv¢S+&Aóé‡ö¯öó[µuI'¤ ¯³d\EIr.€‘½]kÎãÍâAgèö]Ï™à?X ¨wwJ×ìtîjÄI-Øÿsl³‘“zšòØê-ìí ¤yBiaäÛJÃŒ°ÔWQ3uœ<ßEv'"®Úýoœg7cŠscuU#Ûq +F†>æ«Ø†ù«WK%.—§¬€ „¢¤ˆc±-¦ÎèÕ\SÃÔnLàÊöjò„¢ø“~ã7¾ëâ¿ØÝ€ €©ÖL^šx.,Ù|ú4W3 ƒ.£göTeu¸'Š=s¡ óœYîÍ5Tô: 7̈@ÖV¨yôéý‘£Ñ@_·&ŠÖÎNÆÒ\.#À™,\ÊÏÌ䓿>!çÂü̹õ„¯îITìÍ㯠ÇÍól§£¬ÑÌmúŒgÎ%ÐyRydȺE“Jò­•NbÞK&»u2Óbc?sÖv:ûÔ»Z„ï/'µw6a×áÚbÕðsA¢þ£«%±QIº–m´ µ|¬‚ýï×È)0·â<>š¸Åè¾Ù@IKE$€F# –8ùq< ¼VôJ¢W¿ ²CGw -·¨¤®Èh¨™.,ÍFêL Ç1 øéy¢äýc{“_“bÓ¶¤Ú¸6S½‰WÞϲõZjS‘™%”,ëZˆÿ¥·y˜š‘‰R…È SŠy yrCl#û>F f߉jëmËß}1ÕÊǘ €á²”šÉ“‹é—'×j¬ÉJ®Û=¢8³Tµ©QÙ¶Nsö­ÚSÕ(HZZJ-öYê&òs†×š(Z/Ú±äÄÑ#3{/u FÖ͈ä|œÅb%|ÿï‘·MÝìt!÷Ϋ|€¶6YüçùÐxüæåÝÕ1JVZR*cª6n«ÐPÞaÕžqÃPÖQãµ~âà@]HAJ\&Ç„W5‘¬ >SD5gcÒ¬ØPÕ’ÜY:÷¸nÀ?GŒy¸ðá< ¦².Oø2«” @œ¾ï¾¾÷ps–ž÷ÚÀ¹ºwÒ=W®¿âÒ[òoÖLÎPÖã•Äe–Ræ\ @’û)_Z÷ª†Jü¸T¡Ü;IN\ޤÖTqa5 ¢§§Ow¤,IþÀ ¨##Rú©ÔÌ;`Ÿo€0õá¡E 攚œ™ß†S]x”)i^r¬–êë(I¢“ø„­"€f&•ð̔˄C­—Ù ]%É£š©¤ßRéâørRŸ¬S©¿v’Î~¹8©»ZAøörz§!Ƭ/Dj‹UýA7bDC#Ëyù" qW3¦jéã¢ Š­-LµoŒƒìaàô¥Ö-7~O"4¹h1S”ü$+ýø,U¹C;U€Ä3‡O_»vjó¼ Sfìˆa©²%ï·rsí;÷j.ù->•Š‰ÚºA®C­3v®=þ,½¨àSä¹#§N’UëZIáÝà­×âóó“ìY}R`;¤³ªLD°”U•ؘ$ûñѽQ|‘PÂ4uh³uë•„BaÞ«k‚Ã?±¸8`lEŽk;Ï›ÖâYpÈý(iÍäl³~ý ^nÙv-_œñøðÖë…®Y‡{Üfúh>Þ|ñCNazôÑ £)V{¡j¤‹™]Ýů=#(~ºaÊÔàk |‘„ €Á¬v^að4¹ü—×& ÄyÏŽî|P>A³†'6-¼ÍS÷~“SRwyKÈs½~}ÍêZŽÁÐu¤IÅnˆJÿ‰€´¤®°ÓÙ§]ÉJ[­‚7—3-ŒXuDøÿIÑÀ”­†Ñ³h­ŽðÌ={ë˜Ù6Q2è»jíHkC"æò‰ËXÖ^‹î™ÖN–¾•¥>›Š¿þ OÑjîÆÙ=ÌdÑg¹•×bX`è¶áMØDÞ‹û19ùR=#å¯í·ØzÖÜ‹ãû/~"¬åtää<š{aá §>·t&‡øY*V;†cЯ7u|Z×ÁKokûnXâ ©åà7¹ÙÝY=íœÌ=¯à9ÅNv|îº]Ÿ U.™;ǸØ÷šyAÝwý¬•‡S˜†}ÿ«skÍŽgBuºäoõG-³KØ8ܹ—ï¾R÷Á¦ &^§{œfc7úÛ¥nëæ:|í;ëF¬Ú U£ Œz¿öŒp]7ÿ9Ö±ë‡8Û»øÜ3™ºvb˪ª¡×kîèF÷tì5~ŸÌ{b;^-!Õ`éõYäa3{;¸ŽÛ™á¼b㨦uŸé´©¢Òâ RWØq :û/JëW­%¯/g[—)Ú"Ü #’zÊ @|AälæûBÇš²¾oF’ô×ã º™ò0Ñëµç Vœ ì¤ðËäòäj?h@ ~žsÝ˽þ§Þ•¤0!bÿQ;g3.Š j¿+h:*@ü,°›Ž^=-3`V¯%¸²‰Íè …ÝTÑF¯¨ü¶ÔûFLÉÃecƒßU ”Zc+Ñc{·úŠÛ²â÷;¦øß’u]¶kf›_B×ÉÒÏøÍ:–ÖröÞå6ʨ@ ¢áøÚQõ¶]Ûiâ¢Ü„×1‰¯% ¶Ì²ø}Oθbc[çî…º,¤?ø/%·å€ SÍdi§çÍ>‘þîy¦ÄBIúáüî=çŸ&ñ¥¸¢~{×Q“¼:©3Èâ—¸ð$>O¬¨ßÎeØok• ;TIÌÁÅË#2ûú§^¬™œÄ^ع+üi:˜Ø²J:p"¡ÅŒ=v*²œ'aÿ„Þx“VÌÔnãäã;ÌÎàó¶lTñ“uSÖG3íü·Ïh«@dE,œ~ ÉÀ{cP_öóê© ñàÌ… ÛŒcðà\BǽÄ×öí=û(¾@ÂR5éÔkÄøþ퉑7ìäÓ§ £J“î„ø÷Áû̦†i{—!£ûuÔbIÎ\x±°ÕPoû磒…ÊÍ\ÇÏÙY“@ _¸Îÿ–D¤(/áMl(jòÂ7Ö‰JQìЫïÎêÙÏÏ„ì{#$ò÷‰×©·‡½QÑ˳AëΧ–ï#ɸ²&"CÓaÞŸVØ[šädáí~”‚5·µÔŒ =‘Pž2ñÔŠõá/emûdÉz{i˲½¯Ÿï$aJ­{tà‚àud²¨¢÷QÉFŽ6)µ¦"bí½“ÅRW!c¬9p/AÁ¢¯g?í¬G'Ön¾Ÿ_y÷²ðÑöeÛ¯ÄMúõúøäjÿ#Ê8ïB#²õÚ™ÿ㥡ïE¨i!Ñ€£ ¢¨¿GEUü¦ÔÙËAŸ2Ë¡ãZ«·i§'ˆ’t;*U›/ÈJ>ÿZ Æ#çO ¬ ^φ1Pú>tÕƒ$±ñU¾Vê J¨R3¹0'ýL´t.]âcÂtÝ6cÅÝb}<%”ºOšäÝFAj.ù°àüÝso†›w.¿„)¶téÄ{ùüqºØ072‚FŽUNÒ¤òš=–mÓš‡ ¢W—,V½&vêœV€ëW^÷LäF~$íþ‹ mÌ¢êN…G¹iE(W”ƒ×ÜÅB1òÞ“§Im3b¥`âh­-‹­%0 Û›ò0Pl7vÖà#Ç#¢NïŠ:  `Ú}ؤ•f€řŠƒº,ÀxÆÍµ :-§@BñjÚŠ8Åæ±€"Ðn+@4¤©˜ òIâ™áoí'oòsÐÎ:5wnXCIK €ŸRHtPÀKÞþ{øz¶®«w+0ê?ÛéÃæCïB<êìg™G›\S 03!_ÖÑ)JŸ-ã`©¨s¸Ýgø¹0)qnbB¶TÍ\£Ê´ …¦ÎÖÊ÷nݽ!@co+-;“>Õm†|‡{²8%š¸ÎÚ:E1ûí“[§]¹³g_ÛŽ“+Ì2”õ”ò3>dK-LY”0%6@AS&ª"ñ üÿ7 (BJHîž;´%øß Š¡ÓÕ½Rެ 9pxûêµ'nE¦rT9€‚Iû=Fyè‚(zÿ‰}r[×f¤Ÿ\½mWð²Õ7øeò¢yo'MàG^¸ý&úú‘­ÿ<-Q¬¦¸fNU!ëáËb0s±Ðd·©¨’˜Ðõëþ^²zoÄóÄ,¾ˆPÔÕà|>†¡Õe •d‡¯\ýÏÑC›ÿÞ-ƒ^ýš+ 6„@|?¤ »9Í{(üéÝ#‹‡Œs³µŸz“/ùÿ|–¥öqš)øSc+zµÒ½oð;1édž:L½W‚Zr•°Ô‰ r¶“÷¡dÙ!A8MïÕLUsóækÊÚ½ ù2¾TÛiÎ’a6&¢ççï¦kXx.˜×K¿bÈã4öe£ü›»/átÉuz̙߯­Néë;Q)úÆåC-†.™áÖ¬äá©#a÷óM}ÿžë U}í ÇÔÑF ™K'MVT }7¿yý-´2£Î8y!Z`b7jÑØ¶•·öÇÕ»L]>¹G+nâͳžX{-Z:¸ ¬ê‰ IDATÄ÷ƒ¡Ý}Úï†y"ÖwuOšzïFr‡  [T™?·Ï¿JlQKþ# ~J$ù_=ñ.]HR%ËY\[F´¥¨”w¹Ÿ²´ÐánóŽîõótîlåèµôLôM¾}ºYXt¼ôbš„¢÷„Öy’6Ó:«¦’O‡Çt·°°°°õXöD K b?îÈñå#ܺZX:xûŸKS%Ë}´g¶§sg +‡þ“Cn¤ŠkÍ¢ŽЖ«­·Ž$é<¬mš¤µCúT¢äÁ,Çë®çnkaå8höîGy²zDã¿à'• ¢Ø}“<=='m¾üìmôùuc==½GdÈPߎ@üÄÛÚÆuܦˆè¸¬¬{‹{tŸ°÷I:¿ ñf§ÛêgqÜnO›Þþçßçò3¢÷O´³°ðª‡ù²Mþ½9ÝæœŽÉ*Ì|ydB7§%e–*(¢; äÁ, ëA«¯%ä¦<Ø6ª«£ßíYáýšö¥iac»¹û_ü›—xoç»Ñ‚ÏçJäá¾òeiÕS;M’*§¯¤ÃúöY~).Ÿµm¤…ÅØJ„ȹèkÛÓÿâ»,~^ü ým†…e²´Ð!VÖ‹ÏÅ—ˆò^òµsZòT@›AW ² 2ÄÂÒsÓ£ÜÒ‚7GY[X Ûõ<_˜ût›gMïÅôžÐ:O›iUS…Ò—+Ü<6¼Q%K õ±°è±èB¢@œÿæˆo7—eÑBYæÙ‰Ýœf{™U”{qy¯½ñbÚÊ­3´åª³¥‘uÕ ”ÎÃ*Ñ®Qƒ´vÈÚÂBg¿š±±°´öFbAaòƒm#m»Í¸’#­+ÿ ?éÂQNÓ¡K¦»µaFï_½l͉8-Ÿ¿æºê¡Ý¾ˆ_3ð^2Ù­ScfôÁÛJÃŒ°ÔWQ3uœ<ßEv'âÍëÿͶš3»w M½NCç 3büß6ã¤L.ågfòI sŸsa~æÕž×rγ›1ʱºª‘í¸ƒ#C}zp †ýw±Çb[LÑ«¹¦†©Ý˜À•3ìÕàË ß¤Iu$‘$ž K6Ÿ>ÍÕLCÅ Ëè™=U«ÄSµ ;òW¯–:J\.OY  úº5Qäh´vv2–æ Ät‘…‘5KWÛTŠÛfä0KM®Z³®6†<‹±>Ô4Û:XkIò…­'¥tΓt™ÖY5_‚m6rROS[½…½½4O(ɺuü•á¸yžít”5š¹MŸÑ!ã̹º,êŽ@mþrK×Qƒ­‡’ÊÑ®^ƒ¢/·„ªÔmŠNs&;šª©ÛŽ[è©òäÄ£Ä_Ñ~?ëcê0Ža·1˺A]9ñ+‚±µÍ4YR~zž(yÿØžÇä—;„XÀ´åç‰KTšñäÓ½Ù:ÍuØ·jœɯ³Yµ^´cɉ£Gfö^ 0ê6xô„ѽTªÜxW¬å¦z=n™+z-µ©È´´:Ÿ%żF†<ùWl#û>F ýR d…)4Iª\¬ØH¿ü­Æš¬äÊåÅe)×Bü/½ÍÃÔŒL”Ѝòéñ,u fÙ!µf$M¤‹Q›³8G™ƒ†áS‘Wn«ÕZç‰o«š/5$–f#u¦Ü ¢(³˜­oª&?Gc<S%Az]¿®Ôá/·4¢Ž¤÷°ÊÜК5øÅ–PM‚Ôf¿rL™šfºœŠV­ƒGfe¤|M{øÓ%øµ5ˆü„ÁPÖQãµ~âà@]HAJ\&G·x·0.UH5gc’ܸ\i…ð(SÒ¼äÙר4¦R?–šyìó ¦><´hÁœR“3óÛ|ž0N R?Õ<À@VŸ)’»"ÍŠÍU==ýšöõ‰S<áˬR 0qBø¾ûúÞÃ;}) e]š$5ðÏèñJâ2K)s. Éý”_YÒù7—Î=®ðÏc.|8Ï#ès °:3jF%Þ7 iÑyBëü·UÍ—VuÉ#CEWIò(‰OØ*2(afR ÏLIDS¹ótëˆ@íþRK«l>t*3«5åj5ø¥–P½]ÕÃ>Hóâ3Å”d}ÈÅ4 ôª=4$hOñ{®C­3v®=þ,½¨àSä¹#§Nb¶èßKõá†à‹r Ó£C×N–ƒ§É忼ö0Y Î{vtçƒ"òklJKžn˜25øZ_$!`0«õnŵ@ ïo½ŸŸŸü`Ïê“Û!]ÌìjÚÇ»4‰ÙºõJB¡0ïÕ‰5ÁáŸXuì€Ì6­# Ǭ_ƒ—[¶]Kàg<>¼õza•‹RJ*"XʪJlL’ýøèÞ(¾H(¡ê“.J²oÛLjÎ6ó¸fý«†,Œ¹q;–¶še¥âڮϺŽÞæ©{‚N¿É))ˆ»¼%ä¹^¿¾%4YàuF ®×i¶i=üòR˜:ZBÕ°ÔË>)¸½qûÍ„üüäû»W…‰Gtib×`íIñ«h'ÿàÑÜ 9õ𠸥39ÄÏRQ¡í¤à¿¬·Œqs¾öåèöŠC¯×ÜÑî/èØkü>™÷Äv¼¯±©¢ëæ?Ç:výg{Ÿ€{&S×NlYå:¯íŽA¿ÞÔñi}\/½­í»a‰ƒƒÎg–©OÐ*—Ìc\ì{ͼ î»~V‡º.!ëLÂn2"h™]ÂÆáν|÷•º6U`0+.q ¿ÉÍîÎêiç<`îyÏ)v²ãs×½(­oF´‘ÿÆ:¤óä­>ó_Q5’Ô kýƒ¯fVìbëY[p/Žï¿ø ý ½>+ƒ| lfo×q;3œWlÕT6‹º"Pw„ëŒ!m 2i<¬ãÆÓ[Bõ°0êa_©Ý oâðÔ>®^Ë#¦…øuQi¸öР Ùûâ?¥äþtï#)Òÿ$ï³ïM”ü7%§Ý¿x'±lYBé«5n=–F •jûÿ—$ 8ž$ý•ÛnCÕà/Ý~Ã1ñû#x¹×?ðÔ»’&Dì¿"jçlÆýSœ—eÞ».rr4d¢üÕ[ÂÿšŽŠ@ ÿ 즣WOË ˜Õkg ®lb3:ha7UìOqž©çä;ÕàoÐþ0ªÞÏt‹Å)))@&“¡¾øý/P˜LCCC6m+@ þ; "‰>|ø ¥¥Åãñ ´Gñû#“ÉJJJ [·nÍd¢SñI?*))©ªª2™Ìêë´ÄïEQ2™,77—¢(ѰÔ÷ʦ¸¸X__ŸÍf3 $Aˆ?D‚à8®ªªš””„¢@ œú®ˆ¡( éâÃ0ƒ¡   •JQ4Ä&AäýÒÄŸ¦BÐ=øï%@ÔiÂîANó ¿&èÕJ÷¾Áïj}r§,å°ÓÌHÁçõ@ð`†£ÏÑTÙ׺]É"ýØP‡©÷J¾.UÈ¢Ç!ãÜlí§ÞäS¨qüÿª®¦‚ø…@³ÜDÃÐî>mA3ö/붬ASISïÝHîta•­ PúÁµƒøÉA£ ¢!òìXw"^Dú±½Gœ_;¾owK+Ç!R$DöÝÍSûÙ[ZZÚºO¾M€4éÈ”g²ÓCÇ{<%N¾¼~BßîV––Öƒæì}^ËëHAì¿£Ýí,-mÜÆ®:ŸPJP¢Okƺwµ´vöš4¦¤jJYòA/Ûáa$€$~gKË¡'Ò iÂî¶£N½»·c݉xAUg€'_ éngiåè³ì|Š„®°5S•ý9ã̬iÇ2 ®Íóò»S$M9<´oÀ¥3Ë}\o‰æ=Þ;ÇË¥‹¥µã€)›n¦I( Òp÷ Ý7ßË¥‹µ“·ø³››'xØ[ZÚ{úG¤W›’SçÁ’¸í{.‰–»#Iøgë¢'BYe>Õ 5}­QÓÛ*¡­R4QͪDÎî1êÐÙà‰}»Yvqñžè%Ÿ¬ÅlÍRkœi’WòÄ}ÌP×ee~Úçi?î\6‰þC‘A †ɹ¾óQëEÇ®^Ý7VùÆÆ^ ‹£ÖúŸåŽÚqãâÎaXøß[^Y&÷o c0tOX€%Ì»±âïú“v]¼yõx`׼®Ò6H~Ôêi›ÓìÃn^?6¿Í‹ÕÓ6½–¾ß=+ð~£©û¯^?º°õ³Ã¯UN”L={íäÛïŠ(²ðÍã>Ý}_B‘¯îg¹XjâUJðâà+‹ÀS7¯¯rkóÞ7´OŠ«žªüâ]@ÈÖ!ÿkïÎ㢪÷?ŽÏlÌ Ì°ï( Ѝà.¹äžI¥&fi¥™Õ¯4³r¹u+µºuS3—´«í‹i¹¤–îæ%ÍÛ´DQTÙ†u€ÙÏï͆=BE{=ÿ<ž9ó9ßï‘ï{¾g NY¶a^£$„«`ûÂ;÷Ís§vdzÓVÊ)ó¿Ø“úÖC!;Ÿ›òq¶Má,Ü»Á|ÇÒM©ïÓm{é‘÷´?Ú¶íÍQÒŽekOÚê4ïŸYù·¦ûµ†» ÿuÛÔu{ÍY°Ùmµî7ë“^·kd!ªŽ¼±Ü6rѻ־اð­'_þo™ÝÝfÝ!õ´s}UýZÉâ&Ý(¾I=^#„°çîÜRÐfDF="€¿YÙ<å¡äž~môof/®r)Tj…½­[­Íýf£UÖéš,« }¯ÉDûzGôxà©;<÷¯‘^²Û+(œåy&Ë™÷ÇßüÉùÍ:­UªåeÖï–úóŸÐÅiö\ú1mÌ€Žò¿÷g·žðéóÀàìԹߜÌ4Óßð`„ºž=ÔþÍ}Uç+Süå«9$M`Œ¿Z[E~¥&4Êç|F’ôaQ^Uy!„ÂÃà¡BH’BRyêm<÷ßü'V–]µk¨¿©k÷š³¾j5nvÍî®kÌN!T¾-B´ú&$.PÞöìY7›ÕþÑrñ¨¯ª‹;(<ÛÞÖÙöÊö“´ûRK;<ÖÅ—rÝGgåÉý[w¦gåT8=ýC#ã{'HÔÔ÷_×~zݼUš±OÞ®vîZ¸,oèScZyüµ Lû/9‘üôý­=èbàêª5ºªrOÕÄÜõü{=_ûõGÏ<5¥&rý?Úýn…’Ý3¦~üü[÷m¦WT=mÈ=”WQzjÿSÇ>¶ü´*vømþß¼6sfQY^ÆŠy+rœµÇɘ0(:gõê¼=#u†6}BO®\_Ôö¦X]­õ.ó'5üSÊà~w%ä¾3ï³ÃEæÒ¬ÔÅ ¿ 64¦q4)õþÚòv|}¦Êj:´bÙWu.ëmXS×[m=÷<¹í‡$„«zßü%;N””œùêWVWõÝ=®ÝÍFÛê=BjµsCª’¼â‡t([ýêêò®)/Ü’ä*;²{Ë—Ç*¹0õz›q•¤¯Û~®å]SÇt2*„"À?8²e3ÝÂ¥ëvuž6ØòÉÜQƒ#3ws²BܦOJJw}Æ;ïSnËæ×Œ{2ÅxtÛç¹CâbŒJWeÖÞõ_|•YX£ñoÑ%9eP;?EéWo¼y¦× ýÁ‡N•)Bo»wx’¿Ò^üÃÖuÛ3²K¬B×;ed¿hæ>€&û³'8yæ”ïg¼:zÀ³Nµ_ÜÀGç<ç!„+¤k’vÖƒ·W/ÝðRßévýó‰›W©[õ=fb¯ùK¦Îí¹ ²Î@׿üÂÙ³Ÿ1¿Dök3hÂÂé==Äø3Ë_X2>ùE}ÇLrnCÝ2q@”øAuc¬—Ph;vÇBonç%‰ß²ƒæ·b^ oðžýîS/wÑÿq>¹íåyEÿž÷ø­s+tᇿ´à¾–‘ר$dðÔq{g<›²AÛ¬ëÈGn¿èp­¦p×Ô½^ihµõõ±»®„Gذ[åO'ÝöŒIÛ¢÷C¯=××O­¨»Y:ÜÍâpßÎîªÊ¹4ƒ: MT~ù}Ïá¼.,²ånš3óÀðUÝc ¼ú*Ï‘6ð5uíÛ·W«Õÿ{ʯ"ý?svFOœvK¸êÒÅKç0©ÕÎÙïeúÞ0zÌM1ʳiŸ.ÿÚ{ôÔ{Z¯¿x"¦hÏ¢¥¹CžcI÷µ-š›ÇÝžèW}4õ£Ïrº<öX_õÁůn¶tqÿðöú‚+ÞÙë3îé;¿5w«ïðqƒÛx[²÷~¸2ûÆivq¦q"hv»ýÇLJJ¢)ðWTírÈ‚„÷VŽR_áo®NŸuû ÕœÏftÒÓ MíI£nÍYSV-yj]„.iýü55%Õ.!$MÜ-ƒâƒ<õþ±ýn¿Á#3íDµ›ä*;üÕiÿþCº7÷Öy…vLNŽ*ý6½À!„PtÐ1ÈCíïאּ¸„>î®''ïnôP«=tÉZeã „!ÛÊ Þøö^Í€”6ä&¨qOÄ(uÞz¹ªÐìÆKfA¬å¥6m„N!„Ò+ØçÂ…©*Ÿp£È,«qy× 5e•Oçù€$i|ƒtÖÒ§BéèuáêçóWI’ËôÓæUßåš%O¿™«BQóÓü±“„ÝñÜým´´ÆuA$ϘN¡ë·íüùÆ{ÛchnÚÎÓúv·«-Âi.(³É¡*IgY^…ð4jÝLÄ(t>ZGVQ•+ÖC!„l++²h‚u¢Ç%C6^õÑWÞ#žÜÎ_#Y/Ÿó Mg»{\é/Õ'½z€¶oºùŽ¥oç”A!Ç?Yòñ®³óKÊŠrŽî_·ì­/]G ˆP !dÛÏ›¶ýT`6gîÚpÀÛ³¥§$„ì°ÙöDáÓ®GsÓ®M_çTXªò¿ßº%Û§Kg÷7ÊÈ›K¥Ók•ÂQ‘•¶ûXµÝjçD M]cßÿ*iÂúþßôˆ´­»v®Ü[Xéð0Gµöh¿Äfž aBí×%QN{wöJ³&¨ÍÀ±#ÚzIÂÕ2F³zÙ\ëCÓï4^Ì ‰£ÇT¬Ûøþì/jÔ~-ºŽº¯OˆJ”¸ù>¯vC^ùÁKû•Ƹ^}ÅmLýèóÖãéZ𲯽#æX}8{S³‰÷TÒòÀµ;b\&<¬AÀßÃ}ºGì}³¦Ðæ€Y@D€«A$Ir¹x³1ð·c³ÙþâÝøð—"ˆÁ`(//oàCD\dY.))14€«AÂÃÃÏ;WPP`·Ûi5àïÀf³ååå•––†……ÑÔð‰ «Õš““c6›N' \÷”J¥··wxx¸F£¡5\ÍÐX¸#A€ˆ D@ ‚"A€ˆ D@ ‚"A€ˆ D@ ‚"AÀߌ*//VW˜$Ë2­®0NÄ" ‚A€ˆ D@ ‚" ‚Aà¯QÑ€ë›ÕjÍÉÉ©ªªr8×Ò­RÆððpFS÷_Ó³Ëf­ûÅd¶¸\rS¨V¡B}ô/hÛ.ÂÐÀH²,st®W‹%33344ÔÇÇÇíXÞ”““Éd*..nÛ¶­JuÉ”Á¥O.ÿ^­Ñ¨T*…¢IœÐp¹\v»Ýép|òhר=ðwwüøq__߀€€k´þ³gÏ:ŽÈÈÈß/üêþj‡P«ÕM06…ûz¬šØ¥!+s-àzVYYéëë{íÖïïï_^^^ka‰ÙRk^¤‰P«ÕgŠ«¸2p=“eY©T^»õkµZ»Ý^w¹$IM°Z…Bátºˆ  é"‚" ‚A€®-¼#!„²ÝtdÛÚ2sŠ«d‹¤A#Rz·ð¼?Ö…Û_~%3å•Çâµ—s´¾ 'µŒ>–uÿÆÒ’óÏBWh†Ý›pów?>ú“½¡GW{MߢfÃ᥮ƭŽY„ŽÂ/—¼ðÆEÒÈI3^þ×3'Gä|¶pÙ¾"çµ¾c^±QŪ›àxÏ,B®:²nÃÉè1/>ÐÃW!„AwÊE¯§ÿPÜk€ŸéÛÏ>þüÀñb‹Ð' 3.¹•δkö¼ìC=÷mú:«DqÃßÛ=Hå,ÿeëòOwÉ·z5ë4øž»ûGë%![rÒV­Øœž]êòiÑ}ØØ‘ÝC¯Üèk·nq“¯ÿïé®Ðy?qG³Ð¬ìû—|÷Юªø›bŽP˜Žž^Rà3åF£_@ð´NηæÚ-kÖÛ\i]ûI#ç"BÙQYjÓܾLÆ3aüóÏÞÓ­¹V£Ñê5’µÒêBepïÛº…jÕ†¨ÄÄ@gy­àà®Üf·èa4„$ ÿàˆö^²«òpê÷úwßÔÚ_ïÒiè¨$ÇÏÚ¯äιl»·Ÿ>ùDœæ×Q_ò‰ íeÍ_”^Q`qœ9~vq¦Ô³­N#Ûöì8“³pdHÍìe—7)q"IéiTטÌN!Ô¿ ÝæÓKšÝh,ÌXûÞÁS’!0X[}q\V‚/dI! !œæÂj @ó“ êÀöÝ…pœ3UØ ¶Î™¾ëüb—Ý¢Œ·¸®ìî9Í% vù½3 ²ßÙ3ç 6x«=|ÃO>_‰R¥td+•BXÍ¥+2›-nWõæQ«ã2WE@xDtiéz/5£$®§ß…©W页Ë?œÜNZ»t·ï}SŸëä!Y~^ú̪‹ŸR\ò¶Z¥ÎOkÍ*±É1’ösi[~ôï70ÌÇÓ#rଧ{û*„.KáÙMˆ‡íì•Ý?¹øè©E­ãŸä¿I!„ÍfGMAþÉBIï£ vXj„PûMhí8Tnxä¯ïö˜«/gMœˆ@H†„C›Ÿ\>ïím?d˜ŠÎÙ»|ÑÊ3‘·$·ðpØœ*½—N%eGwn9Re³º¿¡UÒ­wð©õë¿Í3[*Nì^±&-_©Qã¶1m\¹û¸©ª2ÿHê^y}{¾Sºò{(Û¿ÜqúûðQ !äÒ“‡Œá'B´ªæÑ¡ÿ{§Ÿ$«t#’C¥ƒY37ä–ÄG ý5bI’î2LY0 €B:àñ~[ÖnZ¹`}™UáÝiÔ”á½C5’ï¨a‡Þ^2}Ò'"aÀ ÛV¯ÿϧ YkxcÆIDAT“ÃÜeþ4´fÎÔw­úÐN·>2²•VHÚNc'–®üä­™k*dCd—¡“FµÖŠ¢«°‡®ªÒ×w”vâ+„pU—¾º^ýÄÀ˜û©EuÕž´ã‹ÏÈÑÝ¢GKùo©qX_û:àä°½Ës3¶C9®§F·×­þéå3y‹²$Ë2Çàz•‘‘‘””tíB×Y» CÓ¬¶²²ò›ú7dMNÄ€«€ˆ €@D" ‚ÐTH’är¹®Ýú-‹Z­®»¼i>ÖËår) DÀõÌ`0”””\»õ›L&£ÑXk¡¯—‡Ãáh‚ÕÚíöfþz""<<üìÙ³………MsÌþßÃy^^žÉd «ý0øiɱ6«Õf³5¹Y–­V«ÓáxnX\?ÂÚ×9«Õš““c6›Nç5T¶R©ôöö×h4uÿ5=»lÖº_Š+-Md—$)ÌWÿÒˆ¶í"úäx"¸ 8ˆ €@D" ‚A€ˆ €pùü?é={ŸÏª:IEND®B`‚murano-9.0.0/doc/source/user/figures/app_details.png0000664000175000017500000013223513656750211022541 0ustar zuulzuul00000000000000‰PNG  IHDR$mHH#CsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{\SW¾7þ/’ìH°I ¶€ÈE*ŠUQ(xCa[ñ2Bý!£ãeŽ8sŠô9àoŠ´G9§ŠíˆOÕNa,R/h+–z‚¢Ö(PATÀš(šPI4ì€Ï ŠŠ·zû¼_þ!+Ù·µ÷ÎþìµVv,š››-,,ày¸uëÖ­[·ZZZŒF£Á``YöâŋÆ CÍÀ+£’æ 'wýkeJbbbbbâßSVþk×Ƀyêÿýû—'õDdhP9¯¿½êç ³¿üß¿›&XºjãžjSE7–¬üû*…¶‹›Ÿý¿‰‰_µG‰Q»U¯mYV‰hüx*É:ª(~ìù8O^³9BüHÓ«J6d?T&ðŠÛ¸™ žAÖºúËyê=CòÀ¸¸jþü\Ñää$q—‘ªrϺ”ųê“7®-ë|‚úë²dn¡ÅÏtÇT •ðí÷²q¯gôìù¸Ë¸¹¬ïm!yAŦë?7ÿ­¯­„÷Ôvn—Yú…¸¯±ä3Ï¿ Š‚ _²"?1yòÃHµk½ïä!õ[wÖMœçüØk%š¼c#óH§([“µngàPw,`ùæ!ŒìYÔVã…_ôNäü%­Â5Ÿï3y/6ém'1_ßXÿËžìo×4Ї ¶±ð£¡®2O¶ g¾NZ_Õ®ÀÊÎkdä´Q}„]Á¥©_”è=g}2»ï#í¦3Å%®cý{a7“QÍ:ê0e},syVV‰:0TfºþÓ´,ßÉn5Gë5šËœ[ìÒä)î⺬©³ŠGM––­×h4ŒoÜÒÄÐ;ŸÞuÛæÏ*ž»cm ˜ÔGÖ¦¤åžÒèH:$619z ˜´•[SS7½Ì‰ÜÆÇ/]È'ÍO¯ÑPŒ˱ËçÖý5A“¼cÙ@[—Ÿ–º®¤ž"‘otbâ/æìŠi šè)Lñ¾šË—5ÌøåKFËI{bmJjî)1s“ãCï½4VW&Û=à”Ÿ¿ùG¼Aïôúh€u'1èá;·åüñú¥?ëo0¼7{u÷¼¦.ä¾Êû,£žB=?êÕ¨õLAÕrúwˆUyÁÙ/l]ÖY3F}þþ_7]0üF½{÷üh”ôÍ;3lýõxí¢Jþß"ßf}W[Ô¯_ü|ã7² këÉAoNîeÙõ½°>¨ýÖuëù¶ó‹}›~;óÀ¬Õ¥Ãƒ=»u«fHrôÄü’”­•±‹¼DÄV.›– ?žÊÊ.k.ëD£â—/ ”±Gý!M:Ù÷òÑæ²Î)"yé¼;÷ì‘”÷SÖl^è.`ëv¦¦l(©×Èm”ù¼Sí[‘’¾§FGÄ8 ‰MNžâT¿v~B‰†;:ãƒK—]7cÃèßL‘wzF¨²>˜Q÷½~ü,®ÙW#2Ñ·CØ‘†Žö±'ÒS¶Qìú½{÷~¿f¢fSʆ³¬|âÒÄþŒÃÜ5[–u²]íç]œº8‹b×ïÞýÝîÍñ%));UDuÛRÒkFýãûÝßmLt/έçî×jSM½ß~¼VËnÔ¢ßG=R¦¹¯ŸÑ«÷•«ÿTÞzÓK,¹ÖX~“ˆˆnêò¯ðF{YݾÆó-Éð›Žäº}†£ëMõÒµ=ƒÜ¾ÝïÛ©vÌ™_¿8o "†Z_ü9²ÏÚnè2næÈ‚áÝj¨7¾âºj†ëtjZ¾¿yü„>kg¸Œç~ûç»m×¥ãoÈ×Ìî÷íÌ·†]Q%ÿ¬'ÓTô>£û¬ŠòüÇ ÚsPó« ûG!"ÆvÉ ×‰í?³c"=¿ÝïÛ©=Dõ¿U±ô8;·ñÚg‡ Ã&z~ë±Øýé·[ŒåCë®õLQý?µÒÔYýóf:ù\Qý÷/w–ÝxöbâIËÙ{uLZ¤«¿´äpËÄ÷ú~;»ßšw,¶åÿz˜}œ½`Úyo:ÚÀÖÅÃ=•µŸí%óš2QT’UÖÖÿÅ®ì”süÚ}³ec¼Ãþ”Ô#¦W.—Ô&ÿë_ß|·>–Û–’^ÉvÖœþ×uš‰ÿø~ïO;–ú–¥¥äªH[œ–º_¿yïÞ½;–úžJOÍU Üç-ëĸÅoü&i óà3‚âNåSôòµÿÚ²1¹ÿ©uëÊXRïO[W?ñ»wïÞ½c}¬èHþ©N:ïôõŠ«?'á+JEo õèx3#”H:L#:ã½·xoÍÿ?@ç« Ôá¸âÛêåhšÄ¨:õ›_ìâäO“&Û]øa×i7á_˜”œœô—Ú]¾«'Ç ógô· Šýè/HZO¡eË<•£ÿذ>|"2x?^_yþp½ÞWœ›ºú ˆðTæ£ÐÄF Ïíßœ{ RÙLÄ“¸‹ŒðµçJ·dšZ¶lù¤?·sΪ«ÍFžÄ+,zZ ³H_·óæ•W›‰ÄNƒ#¦MòÒf}¼¶ÒHD[>M8óIœ·{î…`ÐøBþƒ ^锿gÄ1]"lm'÷R%W5sN–D®^Ý{šAËF""²°éõ†§€ˆxoZ[¼!îîÊ#"¦¯57¶RSÓÞßøl%Dij=H°éç¦_ýíˆ,lzIYIz0|–ÓÉþÎVðì-?ýò›çÛb‰äoá’ÇÛ¹Wt—„âzX‘Ä©Ç0F{á¡g„±y_}‹gÐoòˆx6žê1Ý’OZ"¢ÆúK‰E-“ßsc{×myË…“:rzktnD$éÝ#°¤6ÿJ˰7º¼]×íѬ2‡)kœ‰Èyü§­YGÕCÛúÆÝ&Ž’É|CÝ(­¸žõ%"ÆwÊ‘|H¨CÚÖ²Ë4þî¬UŸ_¢s‹å, x-\¿CˈI _ºÃ—Äb"÷ìÏ”œÕ°$ï$¨uzFLìOÄ8M p‘ØÉKJù1R)syßÎ|·‰G'­ÝÉöé/¿*ñszPWªQ¯mæI„æk»¡zã²ÕF""žÝ¸ù :ûÿÍ@B»|pÛ á!&"±“«Èø‹¶Y«?¢²zû½þ>I÷Þ³U¡28ÉqI|êa«}^òˆŒd$âñˆH{² apè$OO¡¦ôëµùõV®#£G:éån?œµÖ(IœæØ¾µÊô¯© F eeæ~ã˜ô]UÆÚüóä(>·{Ëᬯ­þö·°˜åú’FI@L´$­%j]ÚžÙ2o¦¯”ˆÈÐPš¹ö°ã¼aö/nÜb+³öÔ_ÖÌ»§­D´õÔܤ"bDr‘)DrÕqDDŒHÚ‘D"†»ÌÝÛ,£Óè8FÞv/+0âbëö¯KßZv™#"NSÏ9Üg…tu:º³F*%N£#"††¹}WNDD²Ð¥khÆ­)3R.‹úGÌMŒ»§Q_¯¸j÷Àû^"F*b4õ–œ;Ë[ÚÊ=éëvžÒpDÄ]ÖïÝ+ü íâ4Žéß¶1‘\ÄÕé8ŽcDrQ[¡»ˆé,l5Vÿ¢——?üعߘ-Ën6mŸg|"2ñc¼x¹¿èÝEŠÊæ7½z½IÔ~4:_ÀñˆˆnÜl1øm“[ØX[®µrdID6UßÒ¢m¡ÄÚG‡VŽãn—™}*Û\rË`m¥3ñ™nw¦º;äÚ~)ßt¸ñ‹-ªK&ð^`-¢GÞ¹ÜÍð̳ì)°xxØ¢–FÎÂFжE¾y¹-Íÿü±ÙÀˆ{Zw#"2Þøbcí>=ñFOttóÖ õÅ?®3o×B®7[é.î…E^õ’‹­D½ö^ëß•ô®ê’¬£šSG§½›vûä,Qžhºi‘J™¶Vlq¦Ó›ÚŸÞ"Ò©9¶³ó›‘ŠÚö˜Øt~«ËrÓ7ä×èLÍ|7þ~w6浸ë M^“¸aÃÎÔY©—·Qsã'ºß•ª *E½ðíqlÞã %VÍZ£ið{Oþð##‘¾zcú^]çÝMB;>Tê $é¼zy¼¶èF<>ˆŒÚf£îèše¿˜ŠÆf¿WÄg¶šµ ô e»Ëš‰ì¼œ„dêá³ ‰ž(%ÒìϪ'² ™æ+%ræUV®¯ª(®Ÿ4ÍêöLšÎ®'’Œ {ÇÙž$aN‡³*‹ë4^Åç$ˆôíÅ÷r’zž× …|{±£¨Qèèäl¬õ¢à÷š8{lÆÚµ4/ÚËx,sí«I/tÒ2Ÿ»ñ»è¶Wª­š•uT;0ˆ8JÇ ˆXJG"‘ˆˆˆÓitDbÓ‡.×îC÷‘TÄèêÌÓ’VU§9sY ©e£Ö¬Yá%&ªËš:c_çk$9‹¨ìö"8†î|6ß›3ÜC. ]H¬ª8ý¯)‹s}¿™ÒánÒpñøUÉÛ®B,îêÆ¥e•¨¶¯Ê_¶›?žKKH¿»~ýg±•ËÞÿ«æ®†Á Ú.F*eLY±-H2R©ˆÑ1œN§#’™ ;ëFÔÖ+íF¼õtOïnoºIì7–_»µ§QÚû¾cmÄ–|ÖpÃhúD¼u£©ÅƺÛãgÆÆ’‰™á>¦C¿[kùC'”Hf†JfRkcý•äü‹™½ÜïjêÊÎe¬-©Åh0mˆÑø+{ëÎeÿö|Ø[Ô¡&,%Ì­ 7[L£J¸›lƒ‘ÿ&?b’³ë‰ó_hÖ¼'•ð„³§yĘÎ|kË ¶Ýl$Nÿ±éPKM]Ý ~!nÿn1Ю}^tíð¨Û“U°üûeæÁˆÄžX2-mgÝÄyD¤Óh8Ó)Êé4ã&"Òén®:ŽnßoÝu~sõ:󴬺î2ç ­I]œÅ$®_?Z. í‘Eï§Þ÷Φ³3â~ë/p=oÉèyĪOlHHHØÐó£¶ WOÖó<‚ܕʗ¿ýïÛƒ¿4*!"¾PÌ'"+ñý/ö¢ÞýßÐ9xqü×ÛlP–l;(?ů³ ¬ÄV¼7‚âþÏxûŽQÅ}=ÖTƪ¬å©©©©_¬Ï?o´rˆ”¶…7©˜ˆÈ ½ª%"±é/â %B¢æF½±}b»ª'¢Æüå ŸfÕÕ¦éÅ|"âÛöñöõî#Eÿï‹JúÎÌyci÷êÏ?O?`5iÁÞ¶/ôêªK²ŽJCÚ}AIêP–Ubˆ¥)ÙyJKDlM~‰Æ)ÐÍtðÖïÜy–%"mÙÎ2Î-ÐéÞc±ïD7Ýþ¬£j"RíK5?ý”Z§Ñ1Rw1«*ÎÊ¿Üv'ͧë6äCB.oÝYÉ[·gk(`´S§×yí‰eZ˜u–%"ÜÍ]ÚI[£JQ/|ÛãaÃZd£â¢ަüuY~¥Š%bU'¶&ÍO=Ê988†cœ¤"¶nV™®mmŽSéXbï·]æ‹…[è:šU¢2Ýûo-Ñõí/¹ù:\Î/9˱u{6íìþZ_䪟ëS¿•²í>QÌnûYý«D:ìþ§¨§Ä•Óæš¾°Þt}›ÒÂÛËú1¿¦gk;FlØvü†ŽˆÈP^Z÷YÅž`A-­7Zˆ»¬\´YY~“ˆºIzXI,‰Œ³s%=¬íµÚük-D­®6í^7{AkÃ5#ÑMíÎ+·:Þq[v²<\sÞHÄÞØôݹÿ®1YZö•ÞÕkXãå¥'Y¢n"k¾Äš/±æ‹¨[o/kª¿v¸©•ˆ¸FÍyÊröQö‚ mV]»ßïÒáÁžÝºUãk `>ûOôÕìÙjˆU³uKDª’5¢þ""®lk‰šˆØº’üz©¯ï½§•À)4@tjÞ³,‘¶rÃ_g-Þ™Óh8‘é<ÑVæfâîœÞœ¦ýéÝùqŸÕ_;oÞªZ"Ȝܥ s÷M‰¡ñ—j£ëÛëJz½?A®úî«ì#çõDdÐ*OîÙ}ç(vlj1õÍ"¾}ÐûƒxÇ7üsÇI¥Ö@}Cõž ÿü¾žgguŸ%¸•ëE¦‡C”%Ù ë‘´žMË–ãÈ©#ùijÛ;:ÙÛòï„Zžé8à‹í„DÍÚ«Zê+%2j´DV’áÚÊNHÔ( ˜7Û_ÜÖZ)æ;LÔ¨¿Úl [¾ASq¬²Qè:ØWŒ]õ"ç-þîü€°:t—:ÿ§æ®Iîl»V¶­c`âÒúÔ´YaiD$r‹Xš*#’Å&FÕ¤ÌÿC–ÈÁmÔ”Qe§î‰‰]i’k Çlñ{;};â¾m=ü˜/jö+zP½ØJmþ¬¨æ,ñ¼ßqú›“å=q§‹“'ȯüøëì¯[©…lzvÿËQë}Z³ºb~]²¾zü$§ÉÊ/6žj$"Kž—cŒC·ÇÙ¹=ì6/Ýy&ß’÷¦Ó∈„‡Ù/:7«’‘ˆ…N¼Š–öëÓ­oÐ[1?^JZíFK·^nÿÿÛº=4[`û—Ð7æï¬ÏèÙgf»U9½¹dЯ_l©ú’n‘%Ð;oz ˆØÇÚ ìõÄõ¿V˜þðløA²qsúwˆ˜yÄÃC[–µŸóMîeý'ág•ÅF‰úû֥ϟZsYÃ9ŒOL*&–ˆ‘q:‘òÁºúËê•<×]@ê{O—¸åq©)ýCºŽ¹Š_:ÙYÆÍœŸ2ÿýýR©ƒot\|Àâ”ÅÍZó€Ðþé릅I\5ñgDgà¸O‰îŸ’:mŒŽ"iÿˆÄ¹w}Qwê”Ñé½.ô´K†þùCѾ]û²W~§3‘•ûÛãçÏê$$ºý%3¡ãPwã¶5Ÿ\7?ØcÊÂ?ËwíÙµfÙ·F"ÞoÝ~§Ýƒb¿3TÙ;V¦4Ï®ÿ„ér>Z¶Ì¢¹¹Ù¢Ëï7=ú7`Þ'ôé¸Ë —rR¿8¬÷š÷ÉÌ>|"Ò§§æÖó\GNé¤=–›{²Q𷄉ö wý -MOÝ^/0ij ¤±8ÿ€R2röL¯sk>Ýržç=Rz.?«D)¶ 1Ò¾2ýã¬z+ψic½<ÑÔõª¸uëVkkkKKKKK Çq,Ë^¼xÑßß¿ës¸yóæÓiôÚ7ošù«Úí»%²>h{¸<%gWM_¿cÕPÔ鳯nÛxîð0÷î¯ý&[¹bšùI+íK,úƒùá8Xà{vO—Ξê%QÈZŸ™[I®1óÂîzF–Ô?fÞHO^åöõ«×o?Ïë32l°”lß™9o¤§¸>?s}V‰ÖiðÔyÎ|ºSsUîæÝçðø€—жxQØ{KŠÕD¤=±³Dã4Ú I ^#ÚÈï;{ùòÎ_éùñòÈö%Â>£f~4ê³³í6;)ì®Bag…¶¾|ìûvÀËG_¼8uÚ˜"‘Ó¨ø¥ãñ%qx„-€gÆÒÒR  } ^X/Ówev†s‰ Ÿä\2`—Â5”_%ž„GÇJŸF@â;މ‰™(åc—À«„÷8Žn$ÉÈIUësOV†E:óÍ/”nÎÈ=yÕȳó ìc¼Íö/[ž¯õœÆ;°»²Ñ(ñš3Ò˜Ÿ•[ÕH¯©óf¾#5(Ì̬û[b$¿xÙò|­çÔqÉîcÊfždÀ¤yÓÞA {!ô¾ÿ €×Ýã´lJ5’]à°>œH[vXinÛÒÎØ~ò*Ï34&&ÄþܱÆÛ‰ŽÏ#2V8×'lÒ` 5Vn_Uå6u˜5VnÏ=סiÌüæü2ñÈiS‡ÙOnß~N=õ"F­K»Ó—g”iî_§®ý±áeï ¾–5xðàÁƒ[VÅ>Ÿ§ýn fkH‹‹ l¾¤œÅ ð”=FË–AYrLKvƒHotôu¤ÜŠâúIÎ}øÔtîØU"ÉàÐ@ï^|Oqݱ/J´í¦“ ôµ×h˽*öôµ×ëKoW64èÉéî…HG†ùÚ“«±äp–²A©¥¾Bì¬ ¿×ÄÙc3֮͠yÑ^Æc™kXMZfÿ"4l±Êò‚¼‚ÒŠêªZ•Ž3—2"™9(| IDATÜÅÃÇ/8$ϱ‰‹U*T¦ÿy'®ZÞÇ2À‹¶ôçJªŒ$ñéïmo*ql÷c™)láa¯AÞò {þk¡-O›97Ûu ññs&øÝÓrÅ*å¬N[YPGDT·ÈcÛºpÇ.Í¿Z¡~`Ð[»h»êÎâLðé!xÀÂ3cãs3"ŸW…qg "Ǥ[àÕôˆäõ犫Œ$ö ¹s¡õ,!:_\ÕDöÑžãùü̬Zß‘ŽÈZðûE-EÚ¢¶¤%Ÿ°"wÓ’H¿NúIà8sV,õP{wþµD†!­"máÜìêö¥:UEQæâ¢‚ÒU›– ß³ éqq™w)ãtªŠ¢íEÛ¿ò[¾b¦ú ¶/kÕæ•š°à=s‚ËSž»ÀsκÜé\mÆÜ…ÛÕD$Y—)gˆˆ‘ ˆˆØê] óâýçtmü‰=Ç…? ½íZ—]M2¿IÓ'ø¹È¬º¶4'cW…ŽˆT»’ÒÂXâ'hŸ5ÓgÎÍ4¥M™ß¤˜ Ã=]ä §®-/0M¥S¬Žc¶eD™êÆ1|]n0GÚÒEÑ©ÕDÄ-ÝoŠbæM„-€vÔæ¡ëÎá~ÏàKubGG1qbóÈ&ÆQîâØ>R©•·E½ï§Ñz¤Úž­%o[~§÷o\xˆßÜÉ) ŽHW˜SÁúÝN[lÕWI™æÔ7­ŠºÓËèã7<<22}flfQÅÊ%9ÁæáøâŽb"­Ì¼²ŒØÑÅÑ) àé†*€—«.72yzÈ~ÿÅ+«ÍQOæãñ”zêDÒ–„ßCæ›òž®ªöÎ÷"µŠ¯Ì£Åü’—FÝ3žKì3gÙt9UdäÔâh@ØxdœÖüø*ËÅ¿ûŒVm~tÉ\žÒâå‘3ýîm¹·)5‘®VÛö«:ÚòÓƒIÿ˜ÎŸ’*ðŒŒ4M§*<¤Äáð»C7"¼i«í?Ì}–”9‘©u÷yÑüµÃ'_æé,KîãÁŠ#R•Ö²Qè/@ØxÔˆÓ–q8õsøeÁíųZî©ÌQ,=dI·±ê¶ź•ƒW>,•ªUj"G2[D&—©‰H­T³DµÜˆ]‚'„¨:f!Vy¨¨B÷äY¯‡Œ1µ®©«Õ,=†£®Ï‚Óê%àiŸR„-xd~rÚ®&"®Z¡¢á.…-¿¸%~w•±‡âF.,}âô!ûÉ©¨ŽˆtååjòyN GòéK—?쫘"¹Ç ÂÀ£êáìLuD¤*È«‹sù}/óñ“Qšˆêr •QQ]L[,K‚'ncÄ"s³#÷ñóC!À ßF„W€cp¸³éªœ¯iç¥ <ƒÌOœ¨ûê+EׯÜ;28*iÓ!å 3È|Ì‹VW¨X [φ˄9þægP¤¤u1ïpí¾ÇødiË'jº9ìév-IøâÙªŒE+«9]uÁʤ¯*ž(Ê}|Ì®(¬EÚ@ØxFzŒ‹_àaú¯z×ܹ<ÚòMII¥µ¬N"Ëô%“Ì-LªíqqåX<[›³hîjÓÏŠ‚–,ð{¢¡ <&˜c¦:/ó>[]»iæ¸È¹IéyåZ)[É%jÕÒ ó#ª3ç†Ï\–W~­³¬£,ÏK»Òü{ŠŒ_L¤KOµý\ºº“L|âWŘÓW±:6|fZ'‹gkeÄOžœj^²|RÚÃÇ´?tµüâÌOˆ×$-É»§WR«H‹_Y¡®Sd¨Ñôð`€<¼2zŒ[¶‰K™›R ""]Åö”Øí)"goO¹ˆ!ŽÓ©UµÕåÕêv}‡"ï˜e+â†w%ðÈ<‰êˆH·+)I63Ø…´ZYpTpÛ˜tgܺu—YÁ‘®";%6;Eæìíáâ(§ÕÖV+ªÛ=|ÂcúªUñ~Oáç}.sVÄ”FgVéŠR"&NŸîï!sZe­¢ '»¨Úü„ùÄÄà8JžCØ*..F-À+Bà¾l›OÐêÔ•Ù Ó³>uu¥u¼•qš>'nÎ8—®~!Pì3=DTZ #"UQfj1!ž‘Áíž«%ö‹ËÈž‘ºdu‘ÊT¢îtñrÿ˜ÄÄ9ßڣÜžqëÖ‰ůVèˆTEÙ©EÙw'Å ÄUËÂñ]E€ç¶-,,Pð\ܺu«µµµ¥¥¥¥¥…ã8–e/^¼ø„ÉÃe\üºqsjä*Ê«këÔm.eDr¿áÁ!AÁžÚÊ#žœ‘Ì,Y]P¡æˆˆ‘yø{ËîÉK=üf¦åMW*È)(P”WW×ÝnHÉ<<ýüB&D† w?íŠûÍ\÷CÈ¡œŒœ‚REµÊü¤SFæìã7|BdLˆ_üHÀóbÑÜÜŒ°/TØò÷÷GÍÀ+ä¶¶a a a ¶¶¶a a a ~ϰe8óuBBBâ7ç w•_ÚùIBBâ×g ¼ MgŠw—^2é+Ò>+ÖÜUðš„­§Os,7÷Àa¥žˆHèé%¾«à%Å{’‰õuû³²~¬j4Z9ö·k÷BSÅάÜcç›ÉÊq@Dô´wìù†3_¼¾J22Ú[™{ JKVN#gÎK›?^[i$¢-Ÿ&Žùd6åffÕÛE$DžûüvyiØàßvÓ{Æ|<Û[HÔT–þiV½ddBR˜=ößsfÐøBþƒ ^wOвe¸T™_Õ(0iVt¯â¤¶í…†Ýk3KΓoô‚S=µ'·|½û’ˆÏ#¢«ÅÏI1¡žVÍõ6ht ‹ ‘$ fÁ´>ÂÛ°}ùýHÈxîXžˆôÊcJ"»aƒ‘´žÔº´;}yF™¦íφүS×þØ€ž_€§¶«*µDvcÃüûö}'"Ò«­‘¬áXÙU"DZc}ß °£Æ“‡Û.À¼>a‘ÞÞc}ÅDJ Ù;: ‰Hèèäl/¼3o~ûrÛ^þÃìÈxî˜Ò@å±:#Ùùû"k=ü^g¥Ýk3Ê4CCiæÚV“f…Ù£a  ÇïF4è¯ê‰H,6e$±½˜*µDdÐkõD¤Üòi–¶÷*$$"J$<"â …<"êrˆ½o cþöªcJ=¯ì|39†yI±ë^ÒwfΣŒµ«?/0§-øÀÛuð”Â_(5kµz"!‘¦AÛVn'$jvŒXíin«âYI„TÿD×t¯§í[ªWXÓ’S(²Ö –·ø»ó´îõ݈/O1ÑÕs‹+*J·çVÍåöÞ¾vDÊÒcJ­¾¡"7ãë¬Ýõ÷ÿN!ŸÏ#"ÍÉ“uÃýËm½Gzò´ÇrKÉ5Ðõ,où†!i<õ°Åw‹é*ÖVæfn>Æó,!2ˆˆìÇÎŽ p5ËZ»:óDZçذ¤#¡kà15WånÞ}Nÿ€raŸO5ÏY ^ÍÍÍ/Áš.íLý¢Dï5ëã™}…Øq¯ˆ[·nµ¶¶¶´´´´´pDzìÅ‹ýýýQ3ðÊའ+©¿t¦êüÉ‚-IFŽíƒ¤[O“A{r{ÖF’xFÌÛ €—ÈËÓ¯¢§ÒxãÆëׯs×ÚÚŠ*½—•••T*µ²²BU<¿g¿1³ÿSzôŠØœÄ6½ãDƒžˆ„½†O‰ègk¨ÍJYÛ<„ÿKÍ¥ ¹…G º²·ðtCƒ–×wjÜÌA¶WrS>«d[sæŠV£å¹…ÏŽÑ“O†+G¶dæ•›ZÏÜÆDG»XN¯ùûÛñ>MÇk4Öv`Ô¼ioÛݬ-Ü”µ§FKDbç1ScƸ[Ó•½K?ûeh¨ôôñK–œÇÏš=‚ò?ÿº\k<½,åô¬¤™îÏ7pqê†Ïw]:Øt‹ˆ¤oÉ?/ïoEtCýù¶º4$ên9€²ðÿgŽkÿêÏwÕÐÜ"#1öoüm‚k@wŠ€°ðjjª9­Ò«}Ná÷4¢'‘úà×™å=g'}ØÏ–šŽ¯Yöu–˧óûñx¤¯;ë’ôá$Û¦#+ÿ¾)“7/éÃIÖM?KÉ;zeв&c]9%|ôÑ›ü›g³–­Í<êóÑ}þÚ-5>qOr±6\)LÿlíŽ^ŸF»ðøMy­[Ò‡“lI]¸ô“Gƒß#>½im^Óø> îÉoúåëeë3í?žÿ6Gƺã4õ??z“óôן|W3b~ĬðòeGÇ$}4ôy÷zofæÔŸvóØ4ÊVd¼™“uêãm6…[Í¿ðƒË¦˜ÒŸgÕÜ C­§Õ°qÙ-‘ñÔOç¾­Ñø q,Àkäá5cÐkŒ$ì)ì´M¨©îHpP›-‘­Ï7~ÍÑK""^¯}m‰Hس§×k¨›5 ííù†+zÙñ&Ÿˆ¬]†¸ð¯ürÉÐT^®‘¹X¿çà^úÓǯˆˆ/tafÛSÊÓ_Ñ uOS¿ð=ùDdÛoŒ¯î`y¶Cšfkï"&m“þªÉëêƒM‚p?[ñ¬Ç µÒ]ÔÔ7ß<¨¢þÞ‘$fˆ•é½")S6äÕiŒ¼þïz~‚¤¯´lÁk†/ìÉ£ã¿ê D÷æ-ƒFOBéí ÆóŒ—ôñyü¶R_xïyÃÚ ÛOe¸©WëI(½](òŒZ½ù½wfÅ7À&£¾níý—ùOƒžz5éÉžˆÇ¿óÞ¬"9Ö #‹ž󟌀O-ݺaì&±2ßʼnº›¶¨›Óоÿûøí¡ê¯w¶ö|«Ç_Æ;tÇ l¼šlÝ|¤ÚCEµáÑî·‡Ã~-Ì*†G÷“ I¯¹ÄôZ½ÐVØ¥qQF}“žÈšˆÈ Õó„|k¡LH5šÛ…z½‘×SHÔYÛ_l+œ÷éL—ËR¿ÐõÈØEtã KdeÎ^d)‘… ¯µÑØjj5×]7ˆ1m£¯Ÿ«¯QóÍöœùï]¢MÑ=¤8àõ€›KxÝð{Ž™:„wtíêÍÇm2áæ•Ó¹kWï¨ãõ’­óPgýñ½57‰È >¾·†ï6¢Wס7>öš¢¢Z~=´÷’ØgPÏÎçÅï5ÂÎäWˆÈpåHÖ×ÛOß|`²Ó¾ý‰6ÝGHÙEGDÆ›?i¹K¬„CìéÔÉë"j¾ž}¼™ˆˆØÛÊÿ«ì&GDVV}¤–8 ൂ–-xýX÷‹þhA¯íyÛ?ÿ{¦‘ˆ'uþŸ³F¸XY˜s%sË'ÿ¥'"±ó˜yQý¬É é™dïC{?O©Õ4éÅý&ÍdK|ÛÐyÑÚ̯ÿþ_F"ž´ï¤y“\ød¸ÏEͳ)kùßwOÚ74ÊͺóF0"Û~Cóò–ý×騤¸ßsü­ŸsNŒ¾³æ¼3ÑE³ëÜäô[D.oþÏH[†hħ’œ QŸ×K¥¢Èbþ"Œx·Ç]g"´2DŒTòŸ¤hրׇÅÅ_•¨x¡¼ÙKÞõ7Ÿ?ÞÕÕõ9¯ñ•½)Ÿýþ釃^àÇt=—ŠÒ=5ù€è«?99á¶^cèF€§¨µfÿÉñ™kŒDFý£7yw$-x½áSžæý›ÛðÞ1;/,H¿BDRGûOÆvgP+ðz{ÜnÄë?¯_·OCd;ôÏsƒd·ìæ³ÿNß¡”Žš?k°MýöÏ7×X ˆ™Òó‘òßõ³‡Oû½Ó¯;ϼJòˆ¸ý­°c_f/_7âËð¼Ýy÷)o?džƒ9ß™Z¶¬xÍÊÒü݇k4,‘Ü{thHŒWNäçžÑ°D»¾cÂÃ|l.ü;}‡’ˆj·­Xéµpô•wÜnÙÒ](ú~Ù K$ºøŽ rµ!ã…­Ÿo»Ð}H¸GÃþõ7H öÞ”`'+ºq¾pwÁ‰Ú&–ÈÒö­!ácz‹plÀSð8äêM$<ð­¾ïÈ鯙²+FsrãñˆHUÞÔ7"æƒq.<Í™üºû—wJwê»ì¢šë=ß Ÿ:@ ªÈÝVtÅh¼²Ûg4݇Lž1a€ÕÕ3ßwìºÕ[ã&ôµ!"»w§~0Ú‘×>ºmÜväBó[AïMŽx×ñFí‘-ß©D––D¤Q¼Þ;dÒ»½¬êpþ5ë÷ç®mñýãŒiáÊc»÷×7ãЀ§á1Z¶Œ Šò›$õv$¶Å¾¯=8{Liìuç«ÝÒÁïúôêN=G¸ÖV(Ϩš}í;/ïÛÙÜo\8v±…¬ýFûõëÉsw´u­gVÄ ë˳‘ÊDdÓÛúdÙuåuã0'ûî<"²±w²ïΣë·WðJYÅu"§0w+"û–Ó_~õô ͈`""²|+hÜ`w+£ÍùcÊš®‰g4¯Ô+5ýzû ~ ¾5ðÈtç‹;Aý»£*ž4l•г,{ô›5GÍEÕŠúf'×¶±R‚î""žÀÆŠˆm¾a¼o¹M'³oÖÜ "{ñDNîýMó†²öW(›ZÌo³l1ÞYÍ "AwÓÆYÙØXÒÕ×Û«¬ºÛòˆˆ'°â‘‘ˆçá{£ ¬ò§ï+"²”zED…¹£±ëI«:ï›ïx¼3júã$ä-€' [Íõ?ŸeÉÖ{Ü(wÓß?å» ¨ovõ0§­ 7¨¿MñÆÊ¦m÷+ïÈJ* "VÃIÄ3^?[Q}]àÔWP’wRIoýáOS|º7|ÿå7寭£@jCo\¿n$GQóõ-D¶2¢÷™ÀÆ}üîã:µò‰Ÿ ŽUî.òý?8¢««Ië‡æaÿ_Œ7ïLî¦o·#otð¨c¶š/*ηP÷¾Cº»{¸»{¸û¼3@J-Ž]¸=«éÄE§.œ.܆%rô–[=¤ü®ÜÓû·ˆšŽý 8{þtQÎwûŽÔ©…m!"có†êƒEçY¢–ëWtFžÀ’ˆ*Ê/\i7Œ×Ó×»;QýþÝ?Ÿ=êH~áU"»Á>²û…§ë?“ö?«¶þ|±Éȳ‘Ùðˆ­.1ª‹¶ýÐ<,ê}_×Ý{RÔ*Ú¶ïŠ5p;˜]äóÞÕy»þiÇ"¹÷BG÷Ñ葽·¸°oóV{¯IÛwÕåqåûÎ[G~¸xæ‡ÞâIÃ[öÈ{ÌefÞ±cÇ —ø äÀ -[ðJ¸öCRÔâ"‘È{z|üôsC–¶ª0cujf©ºteì"qnzxÔUh«ËÕ]}/”¶-ÍïN¼a¯•fg¬Î,R•®ŽR®Û”ä'~Äūʫ8ìxu e ^‰¨•’R¤#’…¬Ø–îs§ËPì—¾mÕWššZ¨Eeu«*­}ì‰=|ÆÅ¥mÛ–è/"RmO=ô¨•®­-­ÃN€WZ¶àåW›½º”#’MZ‘ÜYË•xxüŠm6Gz0íš"gõW› u:""Fæá2}ΜpÏÛÍ0ì¡ø‘ ‹8ÿU’9©iEÕ:"Fæ<'91ÒS|íPzjZNQŽˆ‘y‡,X’îbnN+œ;r‘‚üVXJ9©«³‹ªÕDÄȽCf&ÆGzvhçÑVå}µ:»@Q­æˆˆ‘9ûE͉‹ô¹³¦‘QÉ{6ø(V§}•WZ§#"‘³øœÄã: Ec•‡r¾ÊÌ1o#óð ™¾ ý&i˜9rq…h†⹜ÔôÌ 5gÚ¦˜ÄÄ(1Õ¦‡OÎTQÑ܃‰dÓ³rã=µcNà¹l™"|a®`uÞ‚áQŽ][I¶yµJ4aÃ÷éIԖ礕Sd®mɽ‡‡Ìœ3'ØýŽ€°ð ¬UX ""çéQ÷«#ö‰Kói_ Ì‰›œZÊɼý‡;ŠYu•BQ”RT¨XµiÉpóå[ "R+Òçfõ˜ùaUæìª(HË2‰‚Õ) — ‘†SuiÎ.Å®”¹ä’kºÆ3 CDt­05v{¡8(dº¿ £.ݵK±+5º\™µ)®-º\+LŠ^T &yø¹ˆÚÚC¥¥ÛSK %oJ oË'""¶:{aj¦ÒoRä‚H±º¢ § 4{q”¶GÞ’¶N:¶*cnìê ŽHîí?ÜQ¬­=TZšRZ X‘µ¤-„ ˆˆ8µ"5ju¡8$|Nˆ\[[Z°½´`el-ånŠr$‘_ä$Uᮂ Ždþ‚䌣¿n¤·V IDATìñ¢ˆxøœHyA¦ªzW©2*Ò±K+)ENb ·Õ9Mð“‰]L¹S™³prª‚#’yøùÉEœºVQQº=¥´´zöø®ÑÒ*–Lž»KM$óðó—‹H§ª-¯(È\T øp[F” N$@ظß5´¶TED2?yW'Qæ$¥–r$ Y±mY[ a«2b£WWïJJ Ï[f 0 1D\ufé¤uÛ̦‡ˆ#¢³ÕE)‹å 'Gg« ²+}̃—"®n{¡ÿÒÜôq¦Ìœ¾dòÜ]u™+ ¦¯ ïADÚ”¤51~‰›VE¶µ­(óâ&§”¥¦þàošR `"ªËθm[”ù}Ó'È"¢³Õ»2ñ~Áb"b«¾Z´º‚#çéë2âÛò—2/>*¥h×’•!yËÌ R@D\éêÒ «òÚBeÔt¿¹ã+ª³sj£â\z Ÿ™ä"®(¨¨f¼g&&ù=I›<ØO”¹KW[XËF: º´’Žãââ]¸Ò¢:•ÌoNb’9–j¥¥)8b‚–æ¦kÛaåi“c³UÙi1]Šw­0m—š¿ämënçXmyúÌØÌŠÕé‡ÂÓ†‹q.À3‚1[ð²S×^#"’ùt¹¦¶ £‚ˆ¼ã?l×ë(ðœž8IF¤+¼û;tÞsæÜâ-p öfˆˆ<:z0D\mmÛ¨rSo¥|zü¸; û͉q&"Å.…ÖtñÏ(刜ç$F¶ëÅr Ÿ#'âJ³K¯uX Ydû÷ \BüDDTkÈÎVd樈dÓ—-h7Ý1<1ΛHWÙ6nÊÜê÷á‚vÙ¢‡_ˆ©*”OyH›@æ!#"N­Ö>ÊJÞ‹q™¹liròŠöõ)ð™>Ý™ˆª ëºò­EV]®&"™¿ÏMûÌIß°næx?$-@ظ?­é‘Zâ®f­kU…*"rñëØ"ð0g¦Reû«·ÌÇ£ý•˜3D$óîP(’‰‰H«íð:‘OpǶ6™§ˆˆjJ–ˆ­.¬&"Ùð»ää~þ2"ª-í!b¹˜ˆ8­–%"¶¶P¡#ù‡Ü5ú¨‡ˆ3U•Ö¶Ÿ™sOŽ¡È4`Jû´ŸŽaÞ),Ç=úJvXAGŸàqááɈÕ^S*•J¥²Ö4ðŠÓi»òÕEÌGNDªŒ´Må×:ÌÙÏÇa€g ݈ð²cd §f‰ºÔ>¡«V9ºÈî~Eæ"¦RµZ©ë™äc# Ò1Ž‚‡^Ÿewå?S@ÒiUj"ÒªTÉ<înÈætžðº´f÷¼KlÎ4DzÔùj˜‹8®«é‘ˆãL=p*E‘ªó7è´]žÙÓÃ*ËUD$rtüìÝP[÷7úŽ8º:<Å’Ù"wAµ[)­aLGjk©¦–Û J¸ˆìZ~âçYäI î\ÉÓFdï lc‘N¥¹[ävŒvưÉXìxìµ¼-°¦MÅ‘ÜFº/°ô<ö {#u12w}´…ssÿ`lãÔNÜøGÞ¯étðáüøêsÄœw¾ßï9‡ûhäÇ\µN'‰dšªª]¥JNÊ0Dé×Ý—¼ëÖ°j‹¯§Ôßîë MÆB}±P_‡›ŠwYM "ŠQ¡¹¶tm,’‘ćm›\©7Yœ­½¿hÙ%%šôwÇð2'øÃ¹×ž­ÙhÏ› "EõËÖò‚l"¢ÊÝ#¯wŽÒ ?O¹tuôtgOøO$Ù´­rß¾rEÂ÷걉":ùƒ—ÏÕ½fÛšx»óěљ"®hÇžýæ’[;³®½wædO(zeŽ(g“ZWý\å“yD³“owv¾YÈQh+¶Löœ½²å×wžÌÆ)R˜l»¼ÃbÄÝØ¥j«½­‹b:è¶y'‰¤l¡Œ%bK+Ši|rr02]«X3|$ÄÇD"i©^y_š•Œ ¥7Z#Äã"©4 –ˆŠ+Ji8’ „’võÚ&‘4©w©î>ò±JƒFÚ=˜öÆÍM½{|4I+5å‡Cü„ó56Gˆ¨¸Æ®ã>b#Åå[ nJŸ|ÈHß}+ùh0IÊ*Ìúµ#†rIMÑt’ÿ½#ÇÚ=ölÍOML.íÞ^°s² Ê¿ó=Ûóº‚lºzîõÎð%ÉŽ:ë » ®LôtœyŸŠ*ëvæQþÎ:ë¾­ôžß×勪|nÛü¥s£×n>Àûg¼o Eç¶>S÷ÂþgŠùèÐÇÎLÍÏ¿¦£?:#Q?³ß ½B$AÎzˆ\{ï̙ѫìðœ¡ÉU!%Çì¯utãüKì@kÃÞC}I¢Â=ž¦L‹¢¢^Ã{ÜÓkÒA»«/MThª+¹OWݤßí¿qƒ]bÐëO1:sæ9r}]…”(Ù¾v%!ÞåîNI+êîé¹OlI©(Ýçðo|&!Ñëlhllhh»§Ü”y(«˜L~¨GAðÑ€Ï^{À#¢’—<õ«÷Þe#YVFD”J®Ì…ç U…D4ÙJÜ8[]îq…Œˆˆ¿«'V¤Bžæ#îÆæÞ›nyœöF‰¨P§À³à!êÙâˆ$—»î%oÛþïnÉæ ò²Û7 %®$®,d—)¹D3¹Š¢â‚ÜùœŠƒßݽqsAîü|ñé‰èÌ~¾ìFßÖ|â\x†hËž}ß,É%RÌŸÿÁÉÄhhª,;ÊmªØóͲ¤–DGߘÀ¹{x’ÖøO½'’ìÑ):h){0ÓîäW×Û+}““ƒG !b¤RJ§—/×LIMKˇ)É?<<¸÷•ááWž6vïÒ(Y! E&EbJ¬-Öû5y§x!ud¯±O§WrBblx•Z¹—S¦{éhKíÚÇ<Üe#e*CI1ÔX[["ãTö£Žšš’î#ããîÚÚ€^Å ñ±áñ¤Êzü09÷{''½öx…¹Þ¢ÿ Ï¤4;öøN‡š÷în/Ѩd ‰éøXd2MT¸ÇiVâïž°•Ëåñ3Wgiëí=K 3çûO„¢3swÞ~nrèdÿD‚_¸S˜›â‰r6r’å£q"~&=›;KD\~.‘dcGx£ðÓ´NÏí¶}O+íñî¹gëÉêÊ-ÑÓûò£¨v›"gîÊD8:C9ÛÕŠÜ…ð<ÍÏñSï 剈¿0yu[q¶„ˆ®ž??^Pœ^ "Z˜IŒ†û'ˆf§.MÍÞèÉVìÐæŸºØsbD²ƒ›:{&A¤(×lšUsC箜9=ÂíLœ™XÀ ÙOlÊÎ]MV¿by¹d>`Õ½¿®g£îÅ—ëvoS,\ Ÿ={6]Pl{æ…—Ÿ/ÉËVTVoË—\zãXÏu]6ŸfÎuž¹$ÙR¾£¹hω3ÿ¡ªÞY”37qÒÛ1"yêÅê-’…‹§O†gÖ\½7WZëvª%ÑžŽ7:û'¹mÏ|¡¼€²‹+ëvoáæ¢='¤ݎNÿ‡&nåfÿžŸl÷:ŒøÍ_»6››——Mó“'^ó†i»õÕç‹qa´a{Ê`ÜÕ‘¿q÷\á¶íÙ¿›‹öŒÎ‘d›¶I vLÏÖüÔ»§Oô‡/ñD”£ØV±g_yq.ÎߣîñìÙxà l<Š6 [[€°€°€°èžjúË_þUƒ{òo|E€O,ôl l<šîyCBð°It™«ˆu§zmÊß¿n¯ÃæœÝÑ¡V=‹âÀö]B´Û;8)ÛÓÒR«R"iÂÀ}–N ÄhŒ:5¢|\0g /‰.³VÛ00Öë¬5êµZ­Vo¶ûÆx"!ê1~½a0Mâ`Ã×µÚ†ODÓAŸ}y=­ÁÔàôGy”¶îŒaY¢ˆ×Ò> ‡Ñf‡½íQU[Oõ´ìbˆÙÕÒ34Ôbà„1×CÞñºÖS¿øEOg“ïsïoìM ˆ€°ðÁ‰Kim2©9"’kÌæBJEb<ËÉ8–!†ådÇòžNJ+\®ZR.W¨ök1EÚýq¶>H¡NÉ­ü,å8"Ao]GˆãDÊ]ª³·dšR)%ÇãJ„-€tÛôwáöuÄO Ç1k1KÄó [#ãHäùµ]^"/qîT„-€ŠUêUDñáØ~¬dd,MÅ»Tª÷äÒ_T<±­L²­l÷o(ø *2ûoØP\\ü1ŒÓÕ×èv4k\õºb&ñ¹½“Ò]- œ¸Ÿakiú?††ˆH5ò*Ÿl©ýøQ™ÛÛÞ°×MDÒb]Í[¬9*÷SVt§zõ[÷æl l l l l lÂÂÂ|”àÁ~ýï•ù;ñæ…ÿòON:rÙ»ÜÃèoŸûö‚óìg¿Ì> hqây¦òÓ_¸YZZÊÊÊÂw¶à#b>uôÝ•زM?}‹8öáø,ÂÜO=ÿY¾óÓ_Ø„ó €°õ0ÒM;§dÖ?JùÝ¥÷¯Ê¥Î¿ûÌç}é97{ì­?þKD×ÿ—ëß¾'ÿéK³¿½à<ûÙ/ýæ·ÏYþ{ù|ç?KoýIÙûW=MWõ>e}æOeNç§‹Ù…Þ÷o_•mû ?ñþÂoùìg½›–=‘l¿øü[Ü-s#£â%ž9p$_ì¸úÖEñ·bNÃß+þlóºö»“Mÿqü׋D´ñ«ÿÍáÞ´-’íŸëÓ [Òoýfá·ï/}ÞºÙõKÇ÷%ÎN/ýºòâèßÛå¼û¥Ô¯Þ_""éö<Ç‘‚/çá¼À'æl=t²HX9ŸÛxâsg‹׎þ£(+ÿo_º–î¿xˆHúߺ^ö—´qu 6‹¦ç~µ½ðgïþI9û»Öo§’þÙŸ½ûùþ³Š¯N5z爲XZúßgæŸ9R|¼ÿsG+çÿÁͧˆˆÍÏÏJ­›Ûú•Îís­ÿçÌFgÑñþÏ9>7{¼}N Å_9mü§ý|ÿ»Êƒì66]ã—·âéÛŸmûÙ–ŸÉùWÏô(åü[Y“m?³ÅñUu]ù·þìÝÏ÷¿«lÜ"öÌã¤Â<âïm•?¹ú¿‹?ÍÄ)v×ÿB*#"zâ [²Òÿ¶ äIŸûêõ‘"áâ¾u-÷¹¯ÞÒ'™ýÌ·rX"áâµ_]cŸÿó–ˆØÜgÿ"û·ÿü»$müVÞçóˆhÃg¶Khz>MDDÌ“\ùæ DYŸÙþ³%ïk›ˆ(ë3[6¤ß¿NÂÜÏþyé«Ö¼b–ˆ$_ý¶”ùõµˆˆ˜Ïqå[6·…ÙH‹©k7…Eéæ é_ÿgÿÈ\J|ÍñYÇÿ‘ý­bÜgÖjµZ½=À¯,i5iµFOTÀW F|€Ö³%QÃ,¢ÌDñ'ÊêrÓÎk—ì,ýÏÿ¢òÏ”Ý<0Ç0d™%üBšÝ ]Ù§T¾øùtfŸò'–³D´´¼»YÝ ›•ù™a³ˆˆ„…«âÒ¿¾xñv¹aibùk·lõÑõ[òû6G‘«cú¤ëß=ÿ¶Tô­O7:7}ùc˜È%»[ÇtŽRß+x¸ gëÁ}5ÿkBºÿ7³?‹¾ö—w¾c‘“H…ëé•>ôô"qÙÒ@XÉFnÃ3¿µÿÝ/ô¿û…þùÂÈ¿ýéÝÄ&6ûkõ…žþÏŒl~–ÿÿÎÿúÃw11…2Jvûã·þ‚óÙÍ­V«Õ-®@‚ˆ„ ]¯Õš[{=ƒV«5X<ÁxÀU›ù¹5²Ü?6hµe64Ô:{ãè%„­Ç›ûl9ü]j„ý£ÿþÅ;ž6vK^yžðÓœˆèÚïþáï‹þ\Zø!˜óg_¥‘¿ã“DD×'ÿ)Ùäú/þÖ—®ŠD$žüËsþÓ<Ñ&ö ›?žo§³ÖSÌ똾)jEÜ6ïpRýRÛñÃÂøéÆæéLÏMúýdv¾¤aÒã݇|Tã|I'Mw¸zD÷54v„ÄŠ–ãÇëS}Í6/%àCÂ0â$þîÐöØMK>'?ù³;uCmøÒ¾O‰Á3ß.ø gY±Ÿ²ýÜÝôïæ%¢¬¢Ê‚–:†hñCµï‰¯¹šþãàW®ˆ´ÄlþÔwG”^w]ù§žÙžjûÖÿþ•»Øe•þêðä·š–6KúEÎáù£chOYã¨êkès{#ššLUßÖYÇ)Ô N {p8>ž DDÄhêëMzF¡ó6 ‹*‹Íd`”†öP_j<%ðO•Ô×Jå$«ó ì‹[ÕjŒQÂÖ#ƒýêgßzoý_¹ßݺ°¾ü·Ÿÿùê&e…?ïF/[ö™Ÿ¿KDD_üãø—5{þb¾ógù·Ä¦ò_(_M ZüÖŸQÝçÞª[>Pqý–·êW~¶oy+ócÞ§žûÛÏ=wó¾ olE´ycç¿dn‹ÌyþÄž_^ºÉÓÿ±?n‹á4Ö—tƒ¯ô9;t†•…Bj¬ÛíO­>=vµŠ“É"b8†ˆYù™%H$óD4Þü´¶yeýXR$„-@Ø‚O2¹ÑníØ{¤ûHPš+œ8›ûÆ¥-¿8l`#6ã¡ÐÚ¸ûI˜SʈҪ—Ž» ²å[‡ À‡9[ðQš›öÈ(5¹2Ô)ŠDDŸŒ ´·‰Düd,ž¾‹ýLÅD1ÿ`4™Š<¶†Æöqå„-øÄcKmM»Vf!7ØëJ¤éáæ§™úÖ&TŒ4»ÿiú.Ò–¥µ¥F#ú_i8pÈ“êë rT>”¬èNõê?T#ï¡"ðÀáEÔð8AÏ l l lü!àVD@Ø„-„-€LˆxlµF½V«ÕjõÆZ›g žyåtÜgÖ[|fÞÈê;w¦#]‹iu»/˜y®|¢Ë¬¯í¾»Ã&zmF­ÖÐàOàÂ<ÆIËw ¶9RXÓÒóN8:ÕR# ¾bq L‘²Æ×Ójàˆ„¸ßëKtìohç M]CápxèÔá Ñwh¿3x¯?äc}¦¦s Í¬ÀY€;ÂëzàÇlFîi5®y{!ŸHBÁÅ}æÚ€mÀ•j¬uGÒ$-ÜÕtÜ;°wÐÐyÊ®fo¶¾¸²Â æ»Ì{ûLVÕ`G že»ì­.³’%J<ÍžÞ(OÄ)+¬.»Q6õMŠ$-ÔÙÛZMÈ[p’,ù?ñ¥í’me¾T–H`8<…â’‹£R§þæ÷Ds·ìBanqö=_¯E™ðw$ +ªn$-"b•F³’ˆˆ'c½I»oÀÉMت›[#U}Ò×è”´œjÓË…¨ïÀ[·Úoqú\ñå]âœÀ„­ü¿ó/---..^¿~}iiiiiiõw¸î¯Ì·++++++kÆ O<ñD懬¬¬¥¥¥……Q/_¾|OaKäSiF&c–£WÐ^Ý≈•µËW»Þ ž8…ìλ,6×h8"’—ê ©/ÅS"Ø+¬iÑˉˆUWÕ©ÚÛƒ ‹’À» [ Ã\¿~ý‰'žÈ\¶àc[™ÿß°aÆ ˆèúõëzŸŒL&S)‘ˆ%"VïììˆÄÈ+{½¢¸îRG©xJ 9»þY޹iÀ'Ó4é­5´/§µ´(S¥BØ€» [O<ñĆ nOZ[ð [kóV¦O+“·>Ü÷UVi¨Ñ˜6˜äDDœ\Î ·ä¥µä]aª¯{¼Þ©YKB¼ËÝÅÕ;Lë‚+”2*ë©.ÓÍc•<Î(ÜMØZÄA-àc–ùâe|ødÏéíöҽ͢ÓZ¡QpÂt4Ðí=bJÌR¢ôšÌ$Š ^ b•–¦ª¾C6w¸©Î –‹ñ ßíðN›ŽswP ½Iéõul¥ñŸÓÏÙ\™9^¿7le­@-ম²¹Â|ô”¬ÝÓîØëN‰DŒL¥©°w™J¹5a‹SU鄿»Ç­]]½³³Mu¤Õ{àéWD"¦PSaël1«ï¶Hii9œp8Lžˆ8µ¹é‡HZp×—¹¹¹9$-xP–––®_¿¾¸¸¸¸¸(Š¢ —/_Öét¨ <6ðPS„-„-@Ø@Ø@Ø„-„-€Ç‘%xüÍ_ð½zlbaõœçoÙQ½ÿÙ’)æ¯] ó ­š#¢ìlÉ•‰¹êﺟ̣«¡ÖΉ‚º—mOæÑµÑ×Ôq²èÕç´³Cf+ ²¯MN"f41_–GSã—h˾M‰þŽQnÃV’K³ÎtŽœŸR—ÓÈëÑ⺗mOæÍ¿æÇÞ×ßTüUeê[ðx[ˆ¾áxyå¤+vÔió³—ÏÎÖ[óˆèÚ¥ð¥Üí{¶æåmÛ½Uòz8‘[]¶ñêDbV—}é<¯ØYÎMLÍ?™{ñâlñSŠOånÊY8çkÕ›·V¾¸•ˆ®¾¾’_þâ“yD”½yçî‚‘7ǧ*¿‰´[ð˜Ÿè•9[4mòÜÉ×Ôa~ùŲl"I.—›MD´pu–r6æ® ùI¸ì…ÄìÂFµš9?5›;:•_¦V'†ÂùkÜøÕ]Q.å}óà‹ÙýCo¾Ñß1›¿eGõ¾JõìÌ]éùÑ÷3߬…¹®hvž#‰€°ŸÙyÅ;vo=óz81_V¼ö«°1—æ®®£Y~6‡Ë•Pþ¶­tb"š“È-©ÌËÏWÌž‰^̽²Q[”éÛZ¾ok9Ñìûïž8ÖÙYÜ´¿ G¢xªé{:Üë@DxÎÖ'Ñìûá¡ ù[n™·žW¤-š=?ta–ˆæ¯Ž]lݡȦlEYÑÜèÈÄBÑ޲ Êò¯Œ ]ÊÙ¾u#ѵQßß¼šš'¢ÜEA.ÑFµ6jdhr–ˆhöÂßO3+|R¡gëb휭œü-ÚºË ˆf×®²QWtÈß' IDAT·ªó´ëû³DÄï~qß“¹D”­(Û4Óqi[eA6Q¶¢,çÊé¹ÏåQÞ¶§t£­¯ö,HH’] Þ³[e—¿¸o¦³ÃõýyZ Ü"ížB€O²¬¹¹¹¬¬,ˆ¥¥¥ëׯ/.....Š¢(ÂåË—u:* # l l l l<ŽðyxÄÅ}æ½ÞIUSOWUܶûPH\ù…´°Do®·Öè,ªz¶àqS\eµZ­5U¥4>è=´÷?šÂÀý"U›j,‹ÝÙzêÔK*#w€GYa à~c•¦z ‘é ¨ lÜwŒ¬PJ$¦yµ„-€ûNLÄÓDR™ŒA-a à>¢þöq"©¦J‰ûàÁ£à1“Žö¶ûÆ(úBIbtv»žCYa à>™ìëð‘Lµ«®Þ^oP &ðeÍÍÍeee¡ð@,--]¿~}qqqqqQEA._¾¬ÓéPxl`Πl l lÂÂÂÀÈóÙÍ­V«76x‚ÓDDÓíZ–Þi"!hÓ=Qáæ­…1—qíªFç˜@÷™õ–ë¡„x¯Ób4ŒFƒ±ÖÙÏì+Ñk3jµ†‚ø±.»Ù Õê×þ~íÖmÚϠ5¬Ùn:ØÚ`ÒkµZ½Ñâ LÓÍKõ“ŵºt˜ˤծ~ŒÄ€+³7­Ál÷ñ÷û<Ä}æµ…ÔÛ‚™CQ¿£6s~j‰›?wÀaÐêíá.!D}ƒVk´øûÕÌö®¨ðÁÛÝÚ>Ø ¿é;¢58ÆÖì#ÑÛ ×Þ8UBbÀe1êµZ­Áìð¯.½ý£ AÛMû5·Æ3û xŒ+ÕïZ®~æë²|† Í[¡é‡ÍÏÙºÞ ‡O5FÚ»£‘˜â™’–¡ð ŸI~Lj)¡°¦ó•Uœ¥w|ou¼ÛîÓ ´UÄÜ6oT âc}¦¦s ÍÌEÜí¢Å÷N8ØÛRsÛÛãwN›/]ë{'òèÆ–·KøûdÖSï„Ã=MÊ€£ÑŸ ¢éfGŸÌÞ{ªÐòÒu£–Ç9(2«á¡«±9Th?õN8<ÔjJzmž±û{i„”(­h[-d°UÏqjåk|ï„Ã.M¼£=¯ùÜnwe˜»?Hj|0&kêð˜1÷!O¼¢u(~§Íœòrßùó¬×Nß\ý~¼s|OaaEнµš½q†˜Õ¬ÖnsÇ -áðP›)ÕÕ˜¾ÓGyžŠ›zVwí·)‰(î³9 ›N½ÿ£il ÄÝ6oÚÜ6¿sê%Eà•Æ¾þ ¶¾¬5Ü1¦´Z –Hapvùlj–ˆOŠŒŒ»ý"ÎP*äi0ôZ­±¡5‘ȧE¦['`‰q¿£ÖhÐkõfGo\ Rc)®Ô d‰ˆ-Ô•p©X2qZ1Ùݰ×öÁ® UX+”,Wj¶jRƒþÛ;\noƒëÞZ¥d‰8ŦIöF‰õÆdUõFK$7Xë•1(AӑÎj§©_^º^wŸÇÑ4Õ)WŠÀ¨ë\-vƒ‚%âJ Åb,Î/÷wYŒz½Vo0Û—[›éo1 ãºÀ„x¯£Ö¨×ëõzC­c¹'.âY©ô¶œã Hë›L™Ïf÷u95+=ñª¦ Ù:,»ìfƒ^¯×뙼逽Á'=µ&û›ÿ:áKëÍ¥«6Û+(Ð=.¬ßøhÃr,õ:‡K›l«);ÑÛ쥺—ô+-bÝ}銦šRŽˆS[Úü£üN»åÓ"qÒ[ß}.UY/W_^Reñ±¤H¤¨hj9\«æˆX…¡ª”I¥Ð·€°ð°&ƒ V‘ì°™½ÁlË(Aäy1ÖÞ`2èõz£Å¹yÄT0¤n:¾ÓYÃw8ZÇx^L 6›z½Þ`¶µWÆåĘ?enáRÝÎÁib‹+J…Hï8OD|l0"¨*T2Óç*a ­¾ÞÖ¯¥âb¡F¶|Éæ*.KŠ·÷¤ÝÖb‰heE†ã˜ÔxŠÏ,]¹ø²G‰±ÔµÔxŠQ*WR§Tq‰ÈíWh>Òêˆhœ¶5¡B®1ÔðùSª*œ(î³5ŽÃCm¦¤§Ñ2ý-µ¾@ Ðic»mÎÛ†S}ŽæHIË@0ìqÝîODBJä#G z½ÁÔàHDB"'…è·× zƒ©ÁH¬Zf—E½~¿–mw‰›|CÁ`ðT=õ9D¹ÁÓf-fTM§z=ßøÔÚµYFƤ㠞ÖküÛ°üiüî^¹õ%=·úïf/Y›«-Kñ2.䶘 ƒÑ’ç½ÃnÅ/&»mfƒ^¯7ÖÚ}™Ž<¹Þd,Í@H†‚¼ªBŧ4õ ""a:âïãt&%‹¿i„-€‡ŒÈ§Ó©`¨Ðê ùjÉos Lq¥ƒ¡ª©+ê9\:ænh^¼b4uJ–ˆUW˜‹S‘±‘LWa0ÔµöƒmÆèP×òµ¸Ø\£áˆH®3ë™X &ÜØÔ¤nØ­Õëwð+lÎ*ÅMEbÙÕË%#cHn視­ ¬ªBCv”'šó·Ó¢ §ªR¥üí½q„é`{û˜(ò"‰¼H7A C"ÏßµœƒÓ^ÊÝ ZíDJíN³‚(ìM*ÍUj–ˆU[ŽtYÕóHW_¥d‰H®«ÛÅFzo S˜r”rD$×T()‘L§3Tj\§Á¡.kaè•oT 1ŧ#ƒT{t 0Ôe— ® †Üž¤ÙU£äîpbYµýÔÏ¢d‰H¡3ŠñÄM“UV踱vßOÄG{Ûû’$ð¢°nãïІ•by;øŠ—*ä7¢VûÍQ‹HL‰b,0¸N§—ŽeÆ×ß-£ÒUì2ÙÚ‚Á–ŠT»­q`úæ.Á†n…ÝeV¬¦JIûõ§¼‚Ùe×pø“xIPx¤1 Ã0šz³š#"eU½¡Ý68)5f§k¥GG_o×ù½q¡„ˆ8™lù"ÊI9J'yA®·¹ô+x“Íܾ·/2][JÄp…+—>©”¢(ŒyÜéúÎwÌjVH 8X…½ýÆpËéŠ[¹D˲q_m­7&IuGZÖmgpzꮣ—dS¡0Ês )L-®Ø+žÚÝn¦Pg1k¤2)1CkæÝ‹iá8a̹·¡/)SXÕvÜäwF ®®R–èÖÆÚÂa!1Öç±YéT‹*ž™•®8b9ŽˆŸN‰éq›ÑÀ,È4•òütoÃÞæñ4‘TsøT[…j÷´ã‰éI‘1[jq•®¤1£µ¾ãéöÁ¤ÕÀ©ê,9) õ5²ÚÞ1~טۓªi­¹¹ç¦Bµj’ƒ­žîHB "15)*nMc¥ö£öæf›±›d¥5Å¡1'®×ø4­×³"ÓÍlJÍ>5»µ|Œõ¸Iq£O‘ˆˆ#*6[ –ˆÕ×Y”~_$e-]w·F£Ãe\ib½Â×ÐãrŽˆ¦ƒžCŽ€²é¸Ë¨X›*{ÃV>jwØjŶSöRtn l>ž’•(9¥®­§J "bå,×k«±´ú-DD4Ýkñ+L…,É ö6ƒ}9‰˜}J³"OQ¢ƒ±$eŽšŠÅE…¹0¯ÔÞÕcˆˆe¹˜;”Lò6c/‰é´H&óžÖ㵩ᨲ¨d‰U”VY ­ ƒ1Ò(¥I¬|L>ç¹B¹L*«jí¹å>¡õ”.ó!8y¢¯¶qPu´Ó¯—M÷Ö>Ýž)úXLT–®ôU‰D Gl¡FÁŒ­2“þÒã§CÉXÄbl_i¢Íh©÷ùjÖ*ÞjkŽT÷µ–rDqŸiïà:_fW—9³Û Ý$Ó(9&½^ã§ÅÛÛ°Ú¯Õ7ÆšVNa"àKÆ£{ ž•–¨Ž7uºTJ&ä…›¾eë~4¢éèXR¦*•³+_="bˆh:à<àŒ›[»,«ŽÓ‘ÞéL9±œÒPW£ìn$í¥JüY‹rm¡>Å3rU!G$$¾Þ$ üͳ߄hk­ÉÞ›ˆ¦#힢Ƭ&vÝÆ¯×†åùSñ@Œ”šÕ)úŠÚ®Õ– ´UÉ kŽ÷´šä\izWNl‡/.3èëïV˜ì°5êÎLÌó·Hg.e)ÑûŠs¬¢­Í²vhWŒv7ÛÝ™Û ø±>\ªRÉð' €ž-šïuÇQ"*zîû¶¯äÍ¿ïwÿäO”ÿÌËŽo ¦ðñRÔuÅÕÚ”Èêê=.Gd<Ükvøº[$FVRq¸­©”%ˆ ¥‘WÌÞx2E¥u®z5Ë’µõ0ïh~Z›"b u5--fQœD¦Ä̵0'R‚ÌÐÔjk8ÜbnöÔÜDDœÚäj1É×ö”°¥MGëކÝî”(+Ùs¸Å²^/Åmm ÒÔ×kOkÓ”ù F9Éu¶úA{ÃŶ£‡õq—gÌáªÝýJšdšš–~ÀS-ÖvišÚ^r7ÛŸîHS¦&ž%Õ´6ÅÚ”Èï²µ©YŽœ­õNçƒ[ búúÃ%·Ì$RÖX«™Li°Ùí›ûP£êxkKK¼Ù½÷믈ÄjÌ-­6%É-ž˜Ã¹WûŠÈÈ4fW‹Yq7ÍUYl:[sµáˆL¡2[u1Û‘‡²Ëº¦_Ëb546W½™™Æì:Z« "N¿^ã¹;µAL%y®˜û½ÏžàôMGëË×Ýi’ªªšZëïøÑM­V§Ó¶Û›&’ï²¶: %»#éÉÈþ¯w¬~ êNõÚj[Z’ÍžÚ¯7‹DÒb]½Ç©Ç¤-€ÇQÖÜÜ\VVÖ½‡-*Úÿ}[YÑüû?wÿä,O[pï–––®_¿¾¸¸¸¸¸(Š¢ —/_Öét¨ <6>Üœ­EÎÜ¥ÐÅkeey4s~‚'n“„¿²üËÙ owžx3:³@ÄíØ³ß\²‘®þø Eõþ-£þ³—æˆSW¿PW¾9{Ý•‰®Žžèð‡s’|õSåôfO”Ûý²£²€fßùO¾9‘à$Ü–òçöW>™‡Sø ÍÏÎgçfЀOº7gkã5GC—f‰¦ÆGg¨h[ÁJj›}ÏïëòEÕ>·mþÒ¹ŽÎÑkDÙ %GvìÛ¿»HÂG{N†¯Ýaåk£':ɹM;öì¯TD£ D”CD³ã'¼§ÏOmªEgŽùF¯ÎÏO…:Ž åìy¡²[k|ÈG?ähÕ9çFÏMŒ^½BEÏ©¹‹gV~579t²"Á/ܾ·‰Ë&"Êå$°ò,ÏQîÆÌDÑÜ|Žè Ñ<ÏÑ\Øë¯¬:3ÉÏ—åáâþàlüŠå ùŽy<8¿ Øg}¾ãº÷%l‘D±£$'~óM"ÅsjŽ../¿6qâäùDÎöºïï+ɾðúk™Éô+n‰Eüº+gs9D4{•'* šZ¹Õ+›ã$D’íu+–;O$ŽCÒzòVö™s’•HZ·û°ÏÙÊÎVìPç¿@Šêµ×ØÙ"¢…Ù™Äè™þÉ¢Ù©KS³wØËº+“B[D4w¾§çÝñÑ3'†V&ÞçïPKh.zîâÕY~räÄ믟X.6o•U"iÜß°E”­Ð©sèÖ¬•WV½³(gn⤷cDòÔ‹Õ[$ OŸ Ϭ» ný•Êö?·}“$qîdç™)õîÕ‡òä–ì;X½›ìyÃ{ìä謢¼R·[ðP»×çl}Læg¯ÍR^^.ѵwüƒ“ ÅžïO‡®“Çž³½‡ñ݈³ïù\oLÌ)vÖí)™=÷f‚hÓö­HZð(z8{¶f/œéô‡¢Wæˆ$ù[´•ûªË6bÀðq„ž-@Ø@Øøð6 [[€°€°€°èžjúË_þUƒ{òo|E€O,ôl l<šîyCBw=[[[€°€°ðX ð¢®êý§S·-/´žêµ(Q@ØøHX™Ñú’"%ów &©¸ÊjR12 Å€‡†á‘&טj-‹¥¾JIDRµ¹Æb±Tqþý»µ&_œˆˆ„¨Ç¨ÕêmTÔeÔj vŸ§Á¤×jµ‹+0ÙÍt Õf6hµZ­¡ÖÙPX@ظs3Xt %{ƒ "¢d("FW£‘KDéá^¡¦¥«ÍZ"ŽŸv¸ƒÁ0"<X}k8|Ë2F&'š,®1+oZ,-­÷Xl7¯ª0ØÛ v”¶îÊt$ ú=bvÙL Ô¶î'!æs4‡D©jOK“SÝàÊš››Ã£àAY÷Ñ:•€Ç&È l lÂÂÂÀÃAˆxlµF½V«ÕjõÆZ›g žybÜgÖ[|fÞÈê[x¦#]‹iu»/8MDD‰.³¾¶wúî›èµµZCƒ?Swt¯ÏÙšïuÇÑÕæä©wì®,/Ù˜}?Z3;ÞújÇ¥MÕMU¾çî6iùÔ¶SUSKOE©œåcvç+–òåÊ_™ãˆ„¸ßë“©MŽˆ:ö ª¬®®V½’ãA¿Ûqhüè)§þ^ÌÇú"LMg}íÛ€>bØZ¶I»[»‰øÄäÄùóýÕß;X^rÂÇyÚãšÃ=cæ}†œ¢Ôäôi¤Q¼ÛR° ¸R ÝÉ4YLcMÇm1÷ SÓÙbÉ„$N¡·´ø ûⲕ]¦µxJ”í²·ºÌJ–(ð4{z£<§¬°ºìFÙ¸Ó∈b¤aoÜÞÖŠÇÔÀý […ö©onÍ&¢ÊŠ·½?ê¿tÆ?±ý;ey4{áíþ¡è•¹Iþ¶ÊýûÊS~·÷¿eÿkß)Ë%š¿à{õØ„dûÁWŸ/š=}âÌ襙âŠvìÙo.¹¥3köÂÛ'z†&sD’ü-ÚJsuYAöüä‰×¼aRï.›Ÿ»ÈSŽbǾÌ%yDtmüç=á‹3s”£Ø^½ßW ²çß{ýÕ7¢ÜÎgŠ&úÏsû_³•åâ”?f„Øà•:õ7¿9šSÜ~æg¯ÑcðõZ” G²°¢ê¦î(Vi̼A‘'c½I»oÀÉMت›[#U}Ò×è”´œjÓË…¨ïÀ[·Úoqú\ñå]â4À}Ô9[Ùº§¶-\½2OWC¯ëŸà·î±Zë´4Ñóºÿ‚bÇ6ŽèRøÂ,Í_ ]X œ’ò"šì9Ö¾”[þ‚õ`µ"q®£cäêM;Îìëªb÷þêöl£‹ç:žœ'’H²‰æ¢£ º^>øLÑ\â\çÉñY¢©3Ç:Î^¤²ýVësjþüÉ×ϼ?O”-!¢™sgyuõžÝEx7Ñý6?;ÿ{üÁ‰|*ÍÈdÌrô Úú ƒ¥ký©Tb‚'N!»ó.‹Í5Žˆä¥ºBJ¦xJ{c…5½œˆXuU*ÙÄ4-ø˜Â‘„ãrˆøÙ…kÎ]"Êß]ù•ââ’§*‹hnbd’ vlçháBxržæáèqe;”87Ê“DýÌî'‹·îxFËQ"4±6m]¹D´©b_eÙ“%:󵄸ñ‘K+Wò¢ÊgÊ6l-J-¡…ÉÑÄüTxô ‘â©§ÊŠ‹¿R¹sÍœ?7µºvµÅ\®»OóÊàF²zÿLë|£+çm~*ôºûØ›SoÜbd2©˜J‰™±zggOOOϩåbJ×ÝBªà(O wÜ#Ë17-ødš&½µ†Œ½Íã¢øÛÜ•>òfgfæˆròs%s—f‰h¦ÿG/÷¯ürj†Ï~R§Í?;t!|i–ÎQ¾vGA6]¸:GDÑ7^}yõÊ=93¯]ý…'"nSæ%Â’Üü\"~fvr–^f<0—“Íñóó³ü,%Nþàå“+ûHÌ,P.W>­?„ìÍϾø”ïØ1Ü¿m!Üql(gµòcž»Ç*«4Ôè LLr""N.爄[òÒZr®0Õ×=^ïÔ¬¾£Zˆw¹»¸z‡iÝCp…RFe=Õeºy¬’ÇW>†°5ÿþÙÁKD’­ZEvÎÕ\¢™ü_Ô-_Ä$n#iwäõ_ æFyÊß­ÛœMó¹sèâÂ–ç¬æâìåUs¸lZ¹Ï1›Û”K4Ç_áéÉD üO”“Ï-7wafj–¶fÓuŽ(‡ËÍÎÝ”K4§¨¶îW/OË’ääçÒ¥û)a}¿b9H¾cÞÎ/(öYŸ/ÉûØ›Àéíöҽ͢ÓZ¡QpÂt4Ðí=bJÌR¢ôšÌ$Š ^ b•–¦ª¾C6w¸©Î –‹ñ ßíðN›ŽswP ½Iéõul¥ñŸÓÏÙ\™9^˜°µ½y&J³W'£ç/ÎdËžê's‰¶î(¢Ó—·.¨ËógFú‡ù»_´èr© lǦþþpÏ9¢MÕ; ˆ([±£Œ Ÿ»tîüÔFõBtðÌè¶}/>{cRóƲò¢þžKgNœávñáž‹DùÚÝŠlš""¢Ä›§G8mÎDÏE"ÉVmAvAnÙ¦þ¡D(œPh%“ož9Ç+ª_x^üñä­ì3ç$;+@ÒÊd!óÑS²vO»c¯;%12•¦ÂzÜe*åÖ„-NU¥šì·vuYôÎÎ6Õ‘Vï§_‰˜BM…­³Å¬¾SØ"¥¥åpÂá0x"âÔæ¦"iÀÝÊš››ËÊʺëõoyÎålRë*÷<µ2êÚ…3'OŒDgˆ¸"í3ûö|%3¨tuäoÜ=Wˆ{š¾§ËÜu8?õîéýáK<‘$_]¾ç¹Ê'ónzÎVæÎƉ+™»wTï«,Ù˜=ÿ¾ßý“s³[vï ðÙ‹<åíÜ_÷ì“yDóWÇÏœè9wqf$ù[´ÕûªK6Òß«Ç&rw|·É¼¶FKKKׯ__\\\\\EQ„Ë—/ët:T>±aëA[[Û¾fÙŠø„°ðÐÃëz¶MÚ0"<^0Œ=ôl l l l l lÂÂÂ|’‘‘Tà¶ÊË˳²²Px –––®_¿¾¸¸¸¸¸(Š¢ —/_FYàq‚aD„-r¿]å IDAT„-@Ø@Ø@Ø„-„-„-€‡?æwZLz­V«ÕjõÆZ»/Âg~#Ä{}]ÁéÚx:Òåë ¨" l¬µŽwß8c°6>ÜT§£Ø°×æ˜&">Òêö¶&? J%]G¼Ý1u„-€õ‰HL$ÒØš,f“Élóo9|ØeQs‰.óîCÃ"¥û|Ýè‰ BbÀe1jµZ­Ö`¶wñ$Dìúê#“D±æ§µ–@rÀ¢ÕjÍ] ""!â0hµFWT ¢DÀÕ°Üsf0Û}cˆf€°Ÿ¬BW"%Š4Zl.Ÿ?‰s“É Q²Š ×aCÄèšÚŽÖ)SþÆWN3{ZŽ­SLilR‰½¥®ˆŠëZŽ;5Ò;47žŽpæ–ãÇÛÄávg;†àîIPx´qz—ï‡ÞÖŽÞáÓÞÐi""YIMS‹Ý W*e ÉT%j9+\’)•rVUUÜqdr,)²j•’#J²Ê’R%ÇGïpˆ(‹ÄJ ë©°“EÑa >IX¥Ñî1ÚI˜ŽG]G¼ÃÝŽfÍ@«níJb²×ëò‡&Ó7g¨»Is†¦ÃUNO_·;ÒMDÒ’:O«Máîpw0Œ¶é Ïåp´ŽñD¬\©1Zš^*!ãñÔÚµ„h«£#4©x©s(>e-^?´‰)‘ˆHœN¥o„9“Ó¿ó‹Î£‡÷¨ÒãN…€»…ž-x´±l|xp0ˆÆÍ&M!¥bÿ8‘L§)$–(56ˆ°Ÿ"R©D°«ÝŸ$¢ÔøXÂPÊ0D” *+J U2Oöµû5UÔ×>v#§Õîï«;kTœLÁ1DÇ ðp·žøë¿þ묬,”¥‹‹‹‹‹‹×®]û“?ù“{[ Ý·T‹‰ ã¡á᳡_Ÿ/*w>×ôÛ¾–/‘p‹¿îûõÿ:ÿö³ÿÿ2¥ú†ûúþ•Û÷kÁ¯ûß ¤¾f1oý÷·ÞþÍoB#S_4ÿS)?:òëÐÛo>QñBÙåáßün«éüé—J¿ÄÄG~ÖñÓÿyúçý£Töl“Ëòeÿ™w)knna `Òº~ýz&f‰¢(ÂåË—u:* ÌÙ@Ø@Ø„-„-„-@Ø@Øxá9Øðˆ"öÝ Ã⌬ÄPßÔdVøwEóc{Å)­õ„-bvµ y4l&|%ž†ÆjÀYÊ¢4ðÀa3¬ÂP[Q˜ŽÅRDDB¼×Yk4 ƒ©Áœ&""~¬Ën6èõz½Þhq¦—CZ¯ÃlÐŒf‹Ã‰ˆ]f½¹+±¼caÌi4؃ vW˜ÚÍ^X¨„H7AJâBäœüàþÁ±‚?öW·îûõ—&9ßó=ŸsNÎû|Ï9¡½¤Â”XÞÖÙf¬É´wrD¤Ôf©mÆvó|Ö4vSjV²%„-øWÃ]ÉÛªY¶Ó`ß^y6?VD¬¹åŠ=&;'QJDÒä½bÐhšÅ]ê¨ËQ‹ˆH™¢Upf«“ØÁöA&YŸ,%"ib¦~=)_ÊN´[Ì‹Yë¥Ì\™€Ç„{¶à °tÏ–³³HWÆedk•"""—ÝÉõÓi+2™‹Ô6±®öšªF“•%"Î>Ê)‰ˆs:9‘šYlO*ÿghjfrEEÃ@n×bb¶WÆ kÂü+“j‹ Ô;+ª»RËS¥D¥”I9ÚR“ºüÚŸ¹FwÌ´ý|]M¢”È\§ÛÙ¾¯Xçâ3.»}áŸÒäœT¶ÄØŸNÝÌöšXd-xl¸ŒOeÆ¡Lyû±š>–H¤Þþ’ÜTÛbf‰ˆ&;«ŠÊÛ&Y§ÝÉ„Æ(¤D¬µ³®ÅF¬“#‘Zãê6šœDä45mKñ-!SKí5UW¤z½å„-ø—'ŠÍ)É ¦²Ú–D‰E5‡Ô­yéZ­V»³Æš¨K Åä¤X½¦M×í®0o/ÉŽ±Uç•tI3Ê%˜ŠÓRµéyF¥>¡…±-QLævQÿ \¯ÅnÀ_"`vv6 …€ÄÜÜœßï÷ù|>Ÿã8–e-KJJÊ?U'­Æœ¬vý¥³ºP¬0x|ÙxpÔj3ÔÚ´¹Z$-øËày€Õ°UY»í‰ù5•øy-øKá2"ü~—þ¸Œ€°€°[[[€°€°€°[[[€°€°€°[[[( l l lÂ<ÉÌuzF“e´>ö”¬¹¥®¡k%„-€¿§©¦ÂPÛncQ @ØxlWQªF£¯i«+Ð¥j4šô¼““ˆˆ¬åyºTF£ÑhõEu}N²6èÓö_áÈÕº{kzÕËZÛÊsÒ?ÑÐç$"v <]£I/kk(ѧj4mVyçÂ8ØdWM>U£ÑhRu5 £c¬¹­–ÈÚ°}·K{¨²ò–ºë÷ïo°ÛW•w¸É$ÕŸ¹xöPŒ¹©xƒõþîÝß;`Ø_Ñ>¨Ì>s¾òué`ë±"£õî²I_V˜Ì¸ú÷çÕQfYaŠÄÕ__Þb%šl)Î3\±':¾ROWªó*Lˆ[ÿŒ(™ÈÖÞÒg³›»k‹ó ªºqÏÂÀ?ž(6§,ÿ%¦óXÞ®]»÷×Z_·2CI"µ>3¡ÑÆÃå-Oåm_ÏŒÖïß]ÕŸZ^ùº‚l%†ëžÕÒVΙÊÌd¦³bÿþc­\rfå™5‰‹Î͈1×ïÞ]lœTê ²¥ï49¿0EΙªó j­¯W¾û’œ %õ£Ïi¡ºÊ³ù)Lû±¼Ýû+º™äœ‚íØøg0;;€BÀbnnÎï÷û|>ŸÏÇq˲‹%%%•€'F¶¶¶a a a ¶¶žDøÛˆ[Þk—zN…Ä5l“08…Ý’uaê?ÞJx!pÙ‹îÛ-–@]\y§ß«rë6W­tj´ò»þ±žáÒßþÙˆeÒìW¢ôÊÇÜÓ½3m—¿ù`àŽ›Hü´l_Fdº|µ3ÿø ó‰ß8¾ž™#>³99òÈ‹Á’G›EãG7þ·6ÿ{âñí«YzØctÒÑߟuM^·GþèïºoÐjn±xI$ˆŽ‹8¾M.[¥qÎúMVƒýöÒÿE²š·¢â§W“ànÏOªî?­šuSÀÚ§×îˈL“ÿÏ`Ò™ÀÇlÍòMÎGvYÆO q£/ÿÙé¿w¶àïÂe±ëU¤Ç1‚à{¹ÀÇ8€qc;XÝ?ÍTòÆznä7>—ÿûºÿzÇÀéïÖ+~‹Èó»Ë_ýøVÒ*±†ì:xy까Äê "Î:VØ0t:rÓª¡·îé6›ð?ö&êC¼=ÍßÕkÓã>²¸¸†hžì1¦ðt´w¬‰lx[.c§N_¼YÚ#1lZå/}³nÍÓgsÕÑ‚‡ôüZóÐ9·Â¯ˆ°­_hx.;<üo»)<¸3—¡§?¸ügîoÙ9ïµOÿþ@ØøÙ-9¦ÒSƒ¾¼á›öGlyöçìø…‘Ùq‡?:-îä¦ GO_Öž®ÛNDî‰ÜÚ[º=‰:¯%ç‚sk‚¿¥Ÿ²÷$èEÓÆÖ‘z‹‡#’Èdoïxö…ïµK|_¬Øê¶÷N{ÆÝ‚´Wâlyz>>Õ;ã""~`ÚËQâD«ömjòt«¥mÂK‚À-©‘G’%\ÿÎkÁ{36vÜíOŠ:yÏ8ì‹ù½¢Z:×êvÓpV}èÉ7dÆÆ®7Í':C,ñ£7Fyy­ìž|fÎovnÞ›~ã¶K¥Ö)D‘°nk×ÑæWñ\#c'>›¼Îñ…›ùN²„!âìãïµZ¯:üD¼ˆèuG^ ‹Dý“w’d[Ä<"Ñ–Mbq³kÜKáïuÓð©.§ƒx$gn‹ÊT (08ûÕµ›7ˆ"FùtZð­Ž)ݶVª¤rºôâ·š;w¡çj„àúÏ3Ò—e‰|Où§½&Iõu¼€Æ{®çtžÜá2öüR_÷ò†ÈuóÆÎÏÖr#d7n,Œ]ͺŒŸŽ4Z<²÷ûƒplÛ¥¯ÎÑ:ë<£U¨S. B²·fýáöø¦ðpïLÛåoÎ qœ€$a²·3Ô[ÄÄy}\ H²rÒ²—~4ßóÞÞWbßÜq?öMX@¾;WEQ†ì ×ÈÀNãÍ_¿’hxQäºycçg¶ë φ¯:•ûKQlÃ` ù‡~3üËéгªhÁ–‹_êoÙ!eþ[C®¤= ûÄ4þEß®Žqý•ìæ7¥½´ïÍMé!<×ÈpNóÍhE‚.dÅyÌ4ͽÑqŸì’Є%ÿâÍTI{äqÜß¶Ñ𪀳š³>»šœ¾tT¾q³ÐÄß·+2-„TIÓùuÃkïôbt/m½­Ú‘X)¤©Éƒ†O©’NF.¤4Î>QÚ<õÜ+ñûTŸû$Ñ N Šôí’M•6OJ^ÝøIœˆ³¼pó´"饧åcK¯*öRv°Äm/­yhmuœ0bCXÄâñøzÿ )"¢ä9ø¹oï®çua<Ç›9Íê½±/ˆCÒâ>9vÃÚâÒ+ø÷Ö·B%sUÇwq9Ú3÷$¤‹ï?üªíùÄÚMB¢5ûn|uª+¬6yæýßzÒõ1›éw„»yn*¼ö-E„À{ý7_¿}nOIJ{=×>»ñ«0¼&s˜Ç)0jqMIäAŒÛ9î st œþN^ýVD| ·ç³¾ƒÍ »ÂÉíóLÙO|hšò3bIzZä¾ ‹‘Z,_Ös"Z¸ŒÇ¹§Œ]3uTÄ÷¾S§&J›íQ;’ª#ùã=ƒ9Íæ¤½QŒÀkÄ“¶'þ@àã‡ý'.ókö$¼C3ç>¼þË¡ŸÔÆñ$ä½jYc(ˆŠ£gõÎà…?ýt>j ç¶²™[$ÌJÞ0žË2vÊ"=ò¦t¸aéDÅvâ·ìÖ¬Mû”ÇÍ›¹só!‰!_E\·+BæžÈÿÕh)?º.[-™ÏýðOmvYæ=ûQHèC*[ð$à¦G‘$xŒ<ºH1!2vÖõ É˜´ /úåÄgy%E ¹¬‹¤D<±*l‹˜ˆHÆYÎåõŽ÷:Iµ!-„GDÕ3[E7Úl]ˆp¥a­©6‡HŸ$aˆ(LexKA<ÎAÂ5!é 12I8MÍúç?~ÛüMág¾Ì7âÒCxDþûÛsY&‡DkßV ‰ˆBžú¹Š~5ÃE7åx¯Å&I‹gƒÈÃy‰,îð$|âX¿Ë2q]$3D‹ˆˆ‘‡þ\õí©ÞN)Ñ¿ùÓtHˆHœ&›;7ᡸ¥Åñ}1X:"ùE¶\BÞÓEnHã‘,Z‘ö›­6ï ‘"rݸþï­n"ÁÖÿ§[á–û+¹ÚJé2Öu\¸ypÄçØs\) ò>hzgÚF|ñ/?! "A|rXø&¿tSÚ|ç»NÙÖžÌRDˆóúHÀ»{?€ñú8ïLÇM_ôËŠø@"lz>4üÂd¯;<)$Džú“-!þ¡žáÂÃw'êWíƒëƒÚ¯›fHøô3'·…H¾¿Ö&†Äò_¨„D¾)æRœ_H=Ä«Bã‰H¨¬ –E ˆˆyNLŽ…å O ]H-Ò™©ñÒÖ餌œ·â†G³S\vn~uc| ox)ÜÛ¦,kÖ ‘,R±UôçÅ·¢“BdD$ T‰$ R ‰ƒTÿ;ÐXÚw^@Ø‚'C€déTŸÏòçÏÎvÛŸ/[¼Š›pœë¸õ唟ˆˆå<Á‹qL°´£0DDsn÷£\¹ð#çzÝ~GÏõ¬ÿëö ëvÉOô︈¿v±cL €ˆ8"ð™…Ý.àng|w>h½ã=õŒxÕn»Ü>ÏÝËI<‰˜ï™ðr$$ŸïËOG‰˜ŒùŽˆÄy—âšßå#‰ˆçšòyf¾Ë¯™œÍ1*‘|èÛ÷¿˜c‰ÃA’È¥#èŽËƒ§¿“É~v>'ÝvϹ¿»ùÚiZhÁGÑî¹…¢¸øÿŠóŽ[&ßoþê  ±:ìVÎÅ[‘HZñV ³B%W"{SýmÑ€ðíò„ï6K’¥¢‰„ò޳~"ò8Æ^#¡*L¸°²¯çîíJ>'à3ä»ÍÎ}}¹÷µË /»I4>ëO‹ŒøÏ…:ð¢7©t×¾j³°zÕj_¢’}ÿ±yïì̵ß¼`®Þ³ÎÕüÇCfQ€jKüI‘Ï#2Kk-p!IßMÃ|bDË¿‡çK /TLöÐÎx§?0Z]Iq'#…«lxÞžóב‘µ*‘oi:Îí£@áÂ%à‡‹†ïFÞÝ¡Ä ] XqßY©êxX¶à_ÏÜâaÉÇùV©o펭}#XBþ±Ïûv¬šêÖŠ8·o©µ±Ù‰˜'‹ŽiØ0·pZ”bÄArßbç/4ù]S³.ÑšÕOú}VLôµ¯OµNÄ¿¶â}ß’¾p–uyç÷Z¿kÊ' "âSTÚÆ#|snËÈÖ=¶òÂÃø.ˬëgA"òÎö¸y*¹Pâ ƒ×ÖæFD|Däv”>ád¤ÈÓVßS¿ðƶæçHax3|ñªom_,‹¾¤ ^ž¸ {‡#(-n C‚pUØ›jkáW3\Â:C®‚› êyœUÅMXß7fD³ç>›Üº3TFĈó-fGß÷ºøkE4ìö-üŠ ëq‘ \Ä#"É*²B¯~t³ô ‰ágk˜`I8M OÑ9‘cb– ~:BÀ_+ HÚ¶©zÃ=ß„.ûô˜`M|ˆ€ˆÈKœ—H°böôôߦȰMbb×¼úLD¯­w*"3#ñÿøæÃº†–¯5ï¸Ý# =Ö¶û°Îx:Z‡Ú‚#ê^\ì¶áñ=-Cܸwpg?‘Û7G­Ì‰>©â“×ÃÍ÷ÍëcçÏZ±þx<p/ìð„cÄBr»Æ½Däº1iYá#Þq6@¦ ’qS·‡8òùVybK$%‹íꔟˆ#·®²kt*! 2±P&Þsº²U6k¼6í"â&nüp ÑáÀ0Ûs² ´W"·ÚÇJMwæ^C¬¹¥®¡krÅwÚªŠ²ÒS5F“šžSR×e}ŒÆÙªt&µÈÄþ5Ëií¬«k³>Γ¦†º––ˆXSQê_R’¿²näìÌÑh4ú+6a@Øø×à4ÕTjÛmì}Y¢n÷ÎÃWÌ’äŒÌìÌŒD¦¿Ý°gqË?4%°uC«ù1Ò’µ½¼ÚÐ8è$"QLneeåQ½Rô« lÁ¿ÖÜVž§Ój4MzNyçüø‹³¯®H¯ÑÅÖÉýIDATÕ,¾h%²6èÓö_áÈÕº{ë½@“†Ab’^2Ö”•½t1{=qÝU]N"k^£I-h¨ÉIÕ¤—°äìk(ÊÒ. •·-³¶–ei56k±#4ÙYS0ßmVYË|”šìZ|M“ª+¨éš$ggÎÖ]Mv¢îý[S‹Lì÷gÊZÛÊsÒ5F£Õ5ô9‰5¥¾V=J4xìMN§}°¶¸¸ø˜q¾7ξ†’¬ô…ä-ôÑÚ ×hR‹ZZæû˜ª/¹?M²æ–²œ…¾ô¬ã{_ÝØcÉüâ/["b­måyºÔ…Ö™œßÏkå:&5ϸ|ŽlWQªF£¯i«+Ð¥j4šô¼š…éî_}‹Ã™9 -åYZF“žW×7ÐR¢OÕh4é +t¥j l<s‹¡lAE“yé€ÝW•w¸É$ÕŸ¹xöPŒ¹©xƒ•œ¦ŠÃ[láÙóG·³ýMÅÇÚ&•Û˦0DLÊ¡³g²Õw€ØÁÖ>"&%[«\|I›™“@Ä™ÚÍ,CD\wm·2÷P¡Nél+É«¾bM̯ÜÔϼ^yþL¶rôJuqí%Uf+ˆh}våù²dÉò/cÁîêvkLþ»g*m'SÓáÝU}‹}¼bh—g—}}=7Ú^QÑuo(²¶–kTçž9þÌ¡{{U…‘î­ öW´*³Ïœ¯|]:Øz¬Èh%b y‡›LLÆÑÊÊÂdûCAIÛÝ«ŽœÙX\Ðd[Ÿ}öŒ^¹|v""¢Qc­Y[T^˜"±›êËŒfZqõ-~º¿¾]™}(;†ì&CÞþVEîÑìÆÞ]]Ýé\¹ÚØqàB€À“€ëooí¿o$fÐØn'&%?'5VÊæo¯ín2vZ³t¹g/fK•±J)KÉíWÌýv6]­–3D$Iˆ ]v±s:9"¹RÎ,kWª”3DœÝI$'""…þhyN,Ñd[U7GŠÌ¢­š´1êÔ~»TJ4ŸYÔ¹GKôJJå:wlƒf'I;£D ¹¹ÚÄP’g×µW··š÷jYŽÈn6 X¥ÉÙ绊æ;«fˆHªNˆUŠÈzÏL‰•—_L&¹Z*ŠÉX__=ÚgãD±1j)‘M¤NHTKYûÝÄÔÙÐOSp(']I”Èt¶ïïno,ÊŸo3³¨ ]M©NcÓá~ë R¥ËëÉqÖ>Ó Z›\Öö{)k_^7Q晋"¹ZJòyS“ÍdcõNc»(¹ @§•RòYµÉFŠÅ»®Tä™LôÒ»g WºÆÉ$éS¥¬b{}w“ÝdesÔ1+­¾ù˜&)?3=–£ÆúÃýLJ~nz"'jª/6Yí»RµóccEØya àQÄú¤aa`ÄÙ–“vx>x9í."êÞŸ¦YÊ ý¶éTkc…¡½ßÎ-½¸z»L¨œ!ršíÜÂà ‘Ójãˆä ùâ ò˜ùY»lv"’ªçG’BµZ""v€ˆˆQ¨åDD¹”ÈÆ±N³“ˆú½¢9¶ØÐ - èPy¦«¢±©úp11¯—Ÿ)ц®ÐµÅ™gk1”»G]ôðbíƒvºÛwF®Ù틵Xx‘J‰ˆûÞ´J}ù¡þ’šöúŠ+õD$O)‰Z*""©”ˆ¤ ÿ–0DıÓ+V›#„-øÀeDx‚Ir"&åèÅO5*ºË޵ö³ÚÊO¯þ¾ãL óàDë·'2Äu×޽Ňh¬$’¤¤«¿ –ÈåDä4»‘Œ ƶçjMKÕr"Š)<i©{ï¦H)T[t¶í÷W?½töÝìdl*3ô=èr;PSRß=ª,¼Øñûß_Ê_ÿå‘ÇȉÈj³/ä4›ónzQ¬¾ÜØùûŽO.VnWØ»«+Úïy‘5U”4šìÉG/]ýýÕó¯Ë—¯×B söµ44—^”¿~öbaÙËjW¾‡êû%žì|œÕ÷ðj lüD1º—äÄ™ZÛíöA㱂¼’F›‡› qÚÛjkû8"çè ÙI #"rõµwšÌËãQ¨öP~Qõά‚²ªšª²¼»êGIòÒ¡üäûEBSôÉ ÙŒUu]mU%ÅÕµý´jPkuë‰í6»¹³ª ¯¸¶ßi5æ¤j´E &;+ UJ"©\*"†aˆh°½½ë¾ðÆq,±v»µ«¡Æh#"{Ÿ•1 YÛÛ»ú&—Å¥6+h´æX][W§±¢ª›#….3æÆwœ¦2F£¯j3;I®TH‰©T´¼n–㈈sÚ; WìDœ­oй^·]NÔ]SÓÒÕi,+>V]ݾtYS¢VÄêe+h´¾ÄøHÏw®²újÅjc„-€¿2m%=šc®/Þ½»Ø8©Ôd'®×e'H\WŽí.nbrk%K8ӱлZŸ™ÀÐhãárã=?¢%Rgý¤2û¥—©µ±¾±µ¶ž½T•¾Ò¥½P]eMþKò>Cñþö„×ß=›ÿ€ëTꜚÊÌdÎx8o÷~Ã`¨67WªÌ8T´]Ù_½×®]yUýêŒC•¹j"¥6+EBöÖcÇêÙï-cnÑöõÌhýþÝUý©å•¯+ÈÖXbèg’3·+ÈÕ]]Rkr-û¼R_s¶ð%å€áðþâŠ.&%»òlÑ#]K“&çÊLæZïÞµkw±‘MÉ®<ª•Š–Õm:!¿0EΙªó j­¯W¾û’œ %õ¶˜ü³G3\MÇöWtK^Ê?[©[^Û#¤­ª]þ!fggPøAÌÍÍùý~ŸÏçóù8ŽcYÖb±¤¤¤ 2ðÄÀÈ l l lÂÂÀ“ˆàoË{íRÏ©¸†m’GýÃ}vKÖ…©ÿx+á…Àe/ºo·XuqAä~¯vÈ­Ût\µÒ©ÑÊïúÇz†Kûg  –I³_‰Ò+sO÷δ]þæƒ;n"ñÓ²}‘éòÕNÌüã7Ì'~ãøzfŽøÌæäÈ#/K°,ƒ‘-€F.‹í\ï,GD‚à{¡zŒ]•›;ØÁ¦ëú_ÅÏž÷Õ7^÷>ÖÌý×;N'9òVò½ýo¿MúøÖøªIñO/O©¶%^.Þüñk׆N[üX}Ëad ~äì–œ Sé©A_ÞpMû#¶<ûsvüÂÈì¸ÃwrS£§/ëO×í '"÷Dní-ÝžD×’sÁ¹5ÁßÒOÙ{ô¢icëH½ÅÃId²·w<ûBˆ÷Ú¥?¾/VluÛ{§=ãnAÚ+q6‰<=ŸŸêq?0íå¨q«ÿaÁ©ÉÓ­–¶ / ·¤FI–pýý;¯ïUÌtØØq·?<)êä=ã@þ±/nä÷Šhé\«ÛMÃYõ¡'ß?\»rÜ4Ÿèp ±DÄÞqäåµ²{ò™9¿Ù¹yGlúÛ.•Z§QDº­]CF›?^ÅsŒølò:KÄnþYä;Ɇˆ³¿×j½êðñ"¢×y5,B@õOÞI’móˆD[6‰ÅÍ®q/… ¼×M纜â‘Xœ¹-*S% ÀàìW×nÞ bˆåÓiÁ·:¦|¤ÂYÀ]øN„ûù‚€|w®Š”ÕÙIuk®ÿöæ¯ejCvR]FPO—mÕ€|î/E ô!þ¡®á_N˪ 4Ÿؘ-pœê˜âˆÇü·†\I¯&Ôîùiíjí#rÝü¦´—²ßÜôIÁó ¯Š®^¾Ù2µZÏfæ^Õ†Olþä§Æ?¿ùÁ„ŸäqÜOˆ6ìIjЯ7]ußÀqãf¡‰¿ïÈ´˜ÈãI¡*ª![½tB45^Úzû™m‰Ÿ<ÿÉ›?a¾>uÓ³”Ò8ûxióÔs¯ÄíSñ,>‰*p!à Dñþa»‡Ü¥Í“Ì‹?)xþÒOßþüæi«ŸˆmùØÒ«Œ¾t@óiîúð¡±÷‡J?~’¥Ky|žODÄ<ôD‚Ï—.|†›pœë¸õ唟ˆˆå<Á‹qL°´£0DDsn÷£\¹ð#çzÝ~GÏõ¬ÿëö ëv-\ÙãÜw\Ä_»Ø1&P@D øÌÂnp·3¾;´ÞñˆžzF¼j·]nŸ'P$,F(1ß3áåHH>ß—ŸŽ1!ó  ˆó.Ý8åwùH"⹦|ž™ïòk&çoÛçhŽQyˆüãCß¾ÿÅÔKŒ€’D.­;—O'=’ýì|â¼ížswóµÓ´Ð‚¢ÝsóŸ•ÄÅÿWœwÜ2ù~óW‰Õ "l”[ð/en1@ø8ß}ozgê›G{£ckß–ìó¾Ý#«¦ºµâÎí[jml6@"æÉ¢c6Ì-8ZH9Œ8HBî[,Q ù]S³.ÑšÕÓcôY1Ñ×¾>Õ:ÿF˜l¥OHBøÂYÖåßký®)ŸX,`ˆˆOQið͹-#[÷lØÈ ã»,³®ŸIˆÈ;Ûãæ©äB‰[( ^[›±¼Ñ©ñÒÖÛQú„“‘B"O[}OýÂwÚšoœ#…áÍðˆÅx·6„/–E_Ò/Ê’›°w8‚ÒâÖ0$W…½©¶~5Ã%ˆlt‹0àO8F,$·kÜKDþ¡“–>âgdÊ 7u»qˆ#Ÿ[åä$:IJÛÕ)?9Fn]e×èTBdb¡L,\*#" Ù*›5^›vq·~8ÐèXý1=>ÿ9YPÚ+‘[íc¥¦;DD|¢YÏòË EX4{ÛhñM9~mámJ3DDüð°ÀˆMQï„9O´N:ˆ$—X¾m´z‰¼C&ËUþSzO¢ wÛGë{%"á¦Ôè_D èŒÈß}8\j’×Üæ9ÑÜóë™9±ì©};Õñ"AØ‘³‹“DD«Ž„ñHðÌÞØ©Óþ¡Q,ŒˆT¾ýâÌÁŽÁRÙ³ªþY÷Ì·»ßÿv±ñ ·÷&è"£Nn>u¡ç4ù‰/ÚœHŒ*òdÚÈ©æž_³D|Ásqë'a«X.`vv6 …€ÄÜÜœßï÷ù|>Ÿã8–e-KJJ *O \F@Ø@Ø„-„-„-@Ø@Ø@Ø„-„-„-@Ø@Ø@Ø„-„-„-”a a ¶¶¶a a a ¶¶¶a a a ¶¶¶a a ¶¶¶a a a ¶¶¶a a a ¶¶¶a a ¶¶¶a a a ¶¶¶a a a ¶¶¶a a ¶¶¶a a a ¶¶žpÿÊ(Á¡Ë‚Ó‰IEND®B`‚murano-9.0.0/doc/source/user/figures/app_category.png0000664000175000017500000040032713656750211022731 0ustar zuulzuul00000000000000‰PNG  IHDR«ÃUkÒsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{@w¾?üOB2!:±M¸h+Š@± ¸E¥[¡R´¼ÕK½žzÙª=‹ìï ç)Ð}€ç·H·Š§b×k+õŽ©V¶-xµ[) ‚b!lAkÆB&·çäê­7Ô÷ëq23™ù&™Ì;Ÿï|G°ÿ€G€@­V£B4  ÀïLô³–6›Él6ôæŽSG»IÏ›u:¯Ó·µš¸F­–oú·áºÚÐÒlШyµÚìõß1 Úà·w?wƒÐ_kùaÓߨ£Ýl2‘ÉhæyÓMÎÀÝ0µÿD&S·xhîùT³ÙlôúƒßúÿyX[Sÿ}-wØÖïxoÀ`s?5ÀÊMNKlÌ66@h6™H  ^yˆˆ„B!‘@(˜‰™HTSQñŸ+|×o"›‡0ªêµÙû…ÃC€‡$^7šÛ8Þ…el‰l&‘P$D"±H(‰Ä666BÐF($P( @(…6BÒéô‡÷‹£f‘p0^…hhi!ƒ^äüÄ},k Á!®®€‡%’ÑÐÆëˆ3û)F8=) !‘Ùd6 Ì™-9ÈÚT@Ë?Éh4 ˆ„:Ùl ¾æÐlÙ¤=°Çî¿Þ½¿ðP%@³É¤ïè 7 g{¥Ñh$2’€$0™MÁ­X'ÈL]ÐLd6›»Ï0¸˜Í$˜;ÚI(ØÚâñPâÕÍjþ¶s0 ¥#À <‘Q©8FéªdÑð›&@@@d6 ‰DB™H ´\ H kôËßÀlccày£ÉĈDÖn/^¼xàÀ£Ñøä“OΞ=›eY"º~ýú|,—Ë=JD/¼ð‹/¾(ììo©Ñh²²²®]»fccóæ›oº¹¹Ñ7ß|süøñ7ÞxãòåËeeeàù矟4i’eÇ]KZ×ñm±aŠ¿Ä«^o¹ ñÚ{ÿ- Áð»˜ÿâòŽ]ÿŸ æöv³É8læœÇßúS÷­Õ>xã“íFN+:tø¦­½öå‡7^7¶¶ ß)ñöÅ[íw§.N˜—xJ‡¹Äãw'W<$_\ss3Ï(”ˆµ¶æüäµ)W‰ˆäãÖnŒWâ»~³H“ÿØŸ*&“‘,=>M&PHÆ †Ê,+PØ‘l˜@®ˆD$ÝøñÇ‚Ô÷x£q¬««ócà f3™Í6Û~S`UUÕ{ì1{{ûÚÚÚÿùŸÿY½zµT*µ|¸££cäÈ‘ßÿ}qq±“““µþŸwtÕlŸómøÚ"’úÕ7ÔZ®2îOÛØ;0#G—½_ì6B8ì1]eùýŸ $¶-XbMüË="ÊJÿ8ΤiÒ}_4ï[[ØW^Eü, °¼Vç¹ôµåj8òå 3“åëw¿3ê<ìªö.^^¼dÆø_ì=¾¹${óæO5tîñðg_¿biø¨þžË_õzÊÅî)xø³aó׬ we~“½P—goÞš]|ñªžH,w ›¿âÍñøZèöey"ÙÿˆHsj}bž_f¤òŽ©1{ñâüùû3BÁš!_7-Íeãî•£دjœùÜG4››ÿUj4èEB¡P($ …&1c³:V`ï@@($¡°«Ð§¯ª¸öÓOd6_¸zµªùªV×a” _éáÐßX  ¢+VØÚÚ~þùç%%%¥¥¥ÁÁÁÖ·»F3}útŸK—.eee>|Ø’ u:Ý¢E‹ÜÜÜΟ?¿ÿþ'N̘1C$QGGÇüÇ<ñÄÿú׿rrròòò|||ô õºê CB^²ÿï÷̃Y¯'"‡Ôtõûÿwâ˜ìõC^³\Ãè¸!S ´ØØè.T]]³üæ‰Ï- ¿TÍåâ¼ÿˆ@,6ëõBÉ­¾£|}÷ùñO>¾b5ZƒODâáÏø¹ÜîcÊ5”kˆx¢9ð—³cVo¾Ø#î^ýîóõ+J¿KÉŒ ìwÿå¯nîJµœ*ÃÚ”u¬×÷ð´®QwG²÷|,N^žXîµ"635Еå›/ämKN\|aÍöô;¯<*g1 ¥ =ÓGI‰ŸKïß#~æsïךÍÔyk‡óW¯òF£Þ`pôõ{J.ô{«w³Ùr Ð¨w´eÜeÙ …6ÿ4{?+õxöÊÊJ"òöö–H$Dôâ‹/–”””••u%@†a|||ÌfóÓO?íààÐÚÚªR©\]]KJJd2™¥ççèÑ£Åbñùóç»V«P(žxâ ³Ù.W1 ¿¨ØØÙ^,5ï]¼¸8ìM×’â œû›ñQ|öÇ W›y¯¥ë“"•D¤.þ0ys^-ÏÏxE®‰]¨ "Ò7ä&/Ï.QixeÈšÄØpW†xÕ‰ iÛŠˆ!býfÇÆFyQyÚâõŠí©¡ â/|°8®avf¯áÃÄ^ñ¯+æ%$ìN ½CWÖu|TàÐÕ8reyÕ‰ )ÛŠ›y"Ö=lMüÊ@ß|"mÝæb5£PF…©¶æŽß¾}6Ÿ½ºó—°~ö‘¿üÁ¼ušÙQLqAíÕf5¸&%>TÉ_þxC»d[R”åˆË(½"ã7ŠWÍÛ¼¹$$ÉïBÂÌ ò7Çiò¿k¸Ú¬V„ħ¼¨è¿å{~OªÊKú¼¼Ìp¿ÀQø8Ày 3ÜKIµ·&(½†ÿøËÙɉ[K8…ÒÅ/̽køƒæâÓ6çÕrD¬KÈ’ø•¡J†/I˜¹=Ž+ù®¶¶™¿fͳåç~×РfÃ’Ö¯ôcû;a‰ˆ!Mé‡1‰®ÞdŸŸ´Ô%âÊ÷&oØ{AÍ1î!+b߯lÎ]µ|¯×úí+G1Ô|"fù'.©™ïôøÒV_(¹ÐgˆÖ=Ðï7 ·à™ÏýŒj¶ŽöijÖ\³µ±allÚUWLBéÛådûÔc¬Él6‰‡í;Ãõë׉ÈÞÞÞ2Z ˲‰Ä2ÑÂÙÙ™¬"ÒSO=ÕÚÚúã?j4":tè¿þõ/³Ùl2™†Ñëõ–¥,}A-— J$ƒÁ@D’gF ‡ ý©°àúæ¯XM·½:ÑÐÚ¢=´¯ü®kŠé&Ç_ªJ¥¿¾ó¯µr_|>tbCÖ`;‚2Šá,C¬b¸‹5Èu{LÁ0š¾‹p%Ò äkvg†*øËÙ1+ôäb™·•[š¹?Ò•Q'/KsÙ4žÒ_,aãÓ3”\I¼u Ùk·gd*¸â¸yö^{ÇK›\àš´==PAêü„ÅÉi^»S]ˆôµ¹ê™ûãYuqòâä´üÀŒpîãÄ Æ¥ïÎðbyUnÌò„Í^»cýV$…,OØPì?|oZÁðÛ{ÿ^Äoýüꀻ¯/Ý–­ ½Ã\Üå¼½Å7Ýßtg‰¿ðẠµ!é»—z±\ùËãÜwg„S~ò†r¯¤ý±ls~òê<=Ú}ùæþö1Ҕ˷§g*I3oóÞËãßaJK5.‘!=·G1>Ê}ý†‚Þ!þê© ~™+Ôœ½xþæ¼Ù³Ù~[¾Ç®ùÔæÄmµ½vkø«·¿ã…_KàA¤Y1+?nŸõ'^÷×ׄ P0Re§l® ÙøÙR/F]œ¶[ɵ¤yüöô•lsöâù)iC7ff¼Ã¨öÎ[¾µxö§"îD¼¦¤dÔÆíï¸Ò彫W$o¿û—’´„½´&ó³P%q%i‹’GmψŒŒ_š¿<åã°Ì¨† ›¯†¥¦öJ.Ü…ìäÄ‚›=÷@üìoÝè<ó¹ÿ;× I8ñIe“㣆ÚÚèïp•‰ÌF³ÉlÍýhkkë xC† !"“Édù¯M·Ž£–¿[ZZ,5Éæææœœœ£G~þùç<ÏwŸS$ê/å …òÕ1B‰íCû®þçJ§h³µ9Ùo¼Î}vÐÜþ“€‘X3°Á@½c¿÷µ×æd‘@‚sÍAˆ¿Zœ[¬æ.äíë+;ÿj?…ò Åx÷È@1£B¢ž±L­Í-¦À7Ã\"RÎÇ”ç]à‰ˆÄî¡ã”DÄ÷bÅ.a–冻°ÜUŽˆ»p¢VòºŸÂúy÷£ yµ<‘Kd”KDŠÀÈ@¦öT-ß\zªAiù­Í5$Ê+ÉWñÄz­Œ©ÝX0|M|xïr_{ªö¶ pµô‚ºŸÉšÏW¼:ÉêõÕÙ4;%%JI¼êÄ)µû,Ë/M¬ßìHemn¹š¯-¨e#ýX"R†ÎÞë0:à>н¢Æ+‰ˆX–»ª!þf3OC‡³}¢¸BÌ«9""f¨Ÿ¥éIáî2”kÐð·|·Ÿ›f¯_ÿºK÷)òuÿàAÄ•¸<âÕYq¥Ê¨%KfÍšµdÉ,÷ïâf½:iñ%½Ë>¤¾PÜ0<$ÌËò-ùú8ËÏÝÍ¥yµÊ¨ÙÖ“™°YîÍy¥ÍÖïÙp/–ˆ.ÃÅògCÝËߤÑp4À©‰ýf‡¸2D̨HÍwÔ|m^ ζ~Íû½ÂÖž¸À)#cWÈóR6_ K\Ú狘›¹v\ºÐ3K6¦þñï?óÝwÙɬÑñR‘ˆˆ&“Y@ýÑÌF£åvƒA(Mt¯÷ƒöwƒuKðëJw£FŠˆˆ0v>—Ùl¶½Ó†¾.íÓúÿüEWQÞ÷gÇ2}²bǹ2ÍÆtÑp¥ãß?9o^¶€¯½|Ç 0Œð±Ç¹ã¹²×gˆGŽÂ‘k0aÜg¯qaÌŠD¯¾iUPA?PÃ1 ÖúbYVLDÄ«Õú›ãfN³Lçù›äÅYÃâ¡7†KÏh¦³ƒ4§¹©g”+£¡ræf-Ç‘øÖÑ`èPFßÌsœŠ£¡röÖ¡xÍM""Æ+j¶bþ†æ°ý XÃóê›wÈÀŽ¨Ï‚]½á›sW-þØ5Êzð¹©áôÓæMÛ`]ö&¹^åxâˆuïÜKÖÅÒ"·ŽƒýïãÐ[ÍA×Y2r%K¥WÕD=…¼Z­gÝYË™½û–Ôò=w‰õ[¹q=­^{¸ÁrÌŒUàÝ Ë{Ó×ꉨ¶`_mó”†ÏÓ¶†ïîyšÏß¼ILgJ†Q²âZ"žkæ¨aëòiwΤW¸kxKàèúgFÜý[šðT„X¹¼ó4`èPâš9N®Ö3^QŽa•¬¾ô&GÄ’2ôM¿Ík ”kâû9†Q†ÇgRòòõ§nÑ3K6§ÏþmF˜yÄÏ|îën]·|¸‹ùeOº {ÒåÇ•Ádt-Ó_ T*•Ô­âGýB»t<"Òét–E,5CƒÁ PÜóžÈù‰áÿhZ2Gÿý÷úº+Ì(®´ü{c_Ùý×»"ÇáDd6Z·M ‘Ùll½j6ôSù6k‰D?îøèÆÞ,»¸wiÐÞñQÄ_ØšV¾Æýãµ›{ÿ|BŠñI‰^ý›X–o欣Ãpjž†1 ÅPyXêîØž¿®4ßáéYùP1×µ2º©á‡ZŽú›Îz4¸y“+X–ueé»®‰¼ZMÖ#«:óÇ|È«.Åi¿ž¹´×a’a]äôævG¼á·ý (Ãb£²—¤}üúö•£:œÄîNí1| W¯¹ÙÙ" œþîö±Š€ù¶ÜÜËQÝSg×õ[êÂPåÌZ¾Ÿ¶ö[¹q=“ü1ÿÎxÄ?x05wjà«;4¥ÅÍäÕ½K!3”!¾™ïÌ/ j½5‘‰Ý—lÏìÙwˆ/¿í33œŠðÔ•‰¸›7‰U²¬B!¾5‘çTœX.g‰ˆ¿üñ†r÷WÇ]ýxsþ¸¤~C‰%¦%x­IŠúí}4Ï|@àøGM÷`c6›ûïÙIÄwèn4þ@P(`„6¶6B[‘PÈëú93•ˉH¥RYê{mmmf³yøð[…Öúúzê¬þÕÕÕ‘½½½e)ËïƒpÈÆõ)³Éhî/©óoþâ">n½`L_wźÔPÖÆÞÁÔÑÑqæT?-ĈeÓ¢‰¨½ø?^DZkp°þöâµ2i©—kx|æö>6®±~´z|À—qît!·¤™ˆøËÙ‡-ŸMÆ=Ò/Þ[ÜLDÄ«òÓ>,ç_¤;WpØ2ksþÞrò sgˆˆrs/óDÄ•ä–ð^!.Œ2 Ì¥9;÷OD¼*/»–êÊ:?mCmHlì;ñKå¹)[/÷бŒ{xàÐÛmÁ3a~· …q½&Œ?œ’­â‰q §(ÿ8ÏÒåC]üaÂùjb]]5%'j9"Rï+¸z·ûØÏ“zsMxmÂÞGD|ó…ik×7ø­X2ÐfÞK˳~KSÓÿàÁÅkjÕ·yXÝ éy& ð ~µÀrú .Þ[b eÊ€0WÕ¾ì W¾7!9WuÙ¨ÿS"ºYž]¬&"^UÛ xVÁ¸‡R‰õÛY]~øçæÅykJîð%ñïÄÆŽ«Ý–?Ю0ÊðøŒÔ¨ßçþä™Ïýô½ÙÒBfsW%,…=³É¤ë ³Ùl&éÆºTí5ç¯ýÆÆh2YÓ®;wM}­CÇMAËìût¹ôððuuuF¡Pœ8q‚ˆÆ×=g~ùå—/¿ürII‰F£6l˜–””lݺuÁ‚Dd4†é·ïè-&岨ÕÍÄq¼ªN  %"„d6ë*¿“NxA8d¨ÄÛ·ýLqÇ7Åâ']¸¼cÝWðøÊw®%üWÛßþ_ñHwÑ“®d2 ‡tžy›I8”e_y•ûâó·nV¬]‡ã×` ÿ,7ÿÕ ·Iìòjj¯Îçìø5±¡‰æGl+½Â"†î%"bcSßLK[=mOÄ(ß\ëÅÝ1*“’j“7Ì›Æ1 ¿Ù©±,©ˆ?É~²zÞ…f5¯¿&e¼‚H•Ûœœ0sšå V¦¬ôbÔ'Ò64„¤&y1D‘±ožXœ¸5tûÊî¿ 1^KVä¯/íÿ²\—YkîÜ’õ[²&`^rZ^HF¤×Ê”5RÖÎü˜'"…ßìØ7D¹vEIbÌÌi¬ÂeÜìH÷ü¼;ï#?ГÏ\Ÿ½yë†åÛ:’9;pà+úoy€‡’x(C4àLŸZ“ëìø%b^Íe‡»F†¸”\°LMŒmNNž7#"Ö=rM¼+ øÝ|k]ýœŠODÃÇ{•'/ÞÖЬ&¯YñoŽbˆÆÇ&5¤mX>mƒå ’âÃü…óä+2ÃDŠ¥±ã'¤ðK |?Ì>‚g>µZ}—³šÍfƒÁh6¿Š}ç‡ÓEB¢—\œˆÌ¼É,Ù›D"cûOd4’Édâud4šxÙlú‘7×\¿9|¸ƒìÇ6)#f„fçéóKV ú £rùòåÝ»w‘B¡P«Õ...o¾ù¦X,¾~ýú| “É´Zí°aÃnܸ!V¬XáèèHD?ýôÓ¶mÛÚÚÚ$ɰaÃZ[[§Nú‡?ü¡©©iË–-¾¾¾ÑÑÑDÔÞÞžžžn0¹ã¹êôT±ëãµVÓO7‡ÍšûøÒ$´Ÿ=ݺn- mmíþû=‘Ò©ié|"xJ_÷½øIý¿\¿,¶þìò÷¿qŸ!"›a™MFåæíüÅ ×’[°ä±ù‹M÷ïiáDäôÑ.\ ¿%îÂÖ¸˜}}î1¿íŠåî¡+cCqÿÜßÖCqæs·5@“ÉÔÒÒrãÆŸ¸›Ú?‘Élþ߮Ѕ$$’Šb¡áÆuKÇP뀟&™Íd6 #ò|l¨£Òá1ýubÄf"†ïè^Bì2jÔ¨?ýéO_|ñ…Ñh|î¹çºîh¡T*£££  Edd¤½½½eú!Cþô§?•••]¼x‘ˆ¼½½½¼¼ˆˆeÙààà'Ÿ|Òº«"Qhh¨å:Ã!/†[®òç+DO<)‹ži;Æß2tl}bÊÍ£Ÿ™Fá¡â#¶~r}k& Š5±&]‡îÛ²[ÿ?ÿb;öy.÷3âõbOácrÑSîÃÞxÓö¹"²¬}Rª¾ö’¾© ~ÓŸ²¼–fìÉß»/ûTyC3Ï(”î‘Q³Ã¡›ëðåióÔK2SÕüå‚\•âYwTá~ŠñïdŒíð{zøÎ|Õj뾯ûñºFõÛ/VÑËCl…ÙdâGzòZ­Ðh ^GF#éy›¡¬PÌØØJʼn 3kÔf¾Ã2ÊŠmØkìòµÑò§Ùl¶ ôb©º»»ÏŸ?ÿçïs×jྨK>LN˽ÀY:#¬‹ÿzîàÌçžÝÃu€2™ÌÉÙ鯅Bk©O( Ëßf¡Ð¶©ÁV( £‰LF2šd&­usgUðVö+å4Ä?€ŸG¸2}ÿJ´àÌçÁsocÚÛÛ»{xðNOšÍæ®g-©é:¨½x d6YgÌD‚N殞Ÿî‘0¨ )ÿðæ¢–gý…&“%ÈYJj‚>¨sªÉd2›Í– ðÌf³Ùlf‚ús–è¨×ëñ‚Ü·{¸°»Òï¾+Øø÷YÍl-½@-eÀ!¬@*µö8I$DH`cCb±³‹ÈËÏf¸“øi/´8À–‰¨©¹YÔð½LwS {\ÈÊ6"Á¡1CR©aH D?O€‡$ÀƒEˆ&@$@@$@ø‰®\¹‚Vx$ R©4›ÍÝ' p?ø•u½åÙl6™L&“Éh4êõúëׯ?ÿüóh"€_%J$$@ø} Ñh4xãüê P,ãÌ~Ç(h6›mllŒFc÷d¿J‰D½&!Âoüºÿm2™ˆ¨+À¯•mllÐ ð;2™Lf³YØ ð+&@@€¢ü^,ÙÏR …x+üªpÎ ¿§®·ŸeH\ðë&@4  Þˆ±7àwdî¦k šà×J€h$@@$@@$@øMˆ Ñ ð@3z½Þd2¡)à' † ,õ :::Z ~f³Ùd2F£ÑÈó¼N§khh º§ø§ÓéÐ’]lmm è 6½^FèŽçùB„:ÜýI2 À£     î‚îÒúi/¼‘ø­î¾–®Z?-bÝ·:ªÏš÷òòBí=-ÜTxä›¶î+ùåéUþïû_´Ü~&í¥ãëWÏ‹xá…^xá…ˆyk76Ýn[tõ_ÿvà=mûjùËó4ýìMo¯ÙžüaÙmZTSô~\7É÷| à6éç\VûÊ+гYgµ?g=nÓ7ïK –ÝS,Ú‘õU³ŽHâ½ê“}qÏI~…ØúÝzêYùm3ìÆKÒ/Z¶áð?ÿ÷ÿ¹/m[¿$þ«¶PÙ’u^ýk¿0ú¦²&é³#ïТ‡ÿ%55555õÝÿŒt¨ù쓯îžè^OÑ.n]·­ºÛ[ïÐèYÝ¥w»‚ޤ~PÔî¹ä½¥Ïˆïå™o\,,ÒŒœô„¯ü,mg³Î*gl[Ä4/É*j žlGDÔv|ñ¬¬1ÓG]>«R«›ùQ‹’f<-«Ïš¹¤pâtʳ*µZÍŒY•7Ù­kEõW,)\v83XFmßd&¥çœWs¤»(.aîs2ÒVHMÝq¶™'bG½“¼6˜)\·"㲚bç7/J[V¿&Vp8å9‰®þxzê–"1D옹qq3¼™KëgŪçÎ` ¿ºÜܬfÆÆ¤%¾äDÚo3“RsÎsDÄ(',Kˆ™ìÖ7Bjjj ®Ónó9iú"ý zbÚæÕ´d-'ï×7(ŽŸW0DÔµ+<‘bôô¸äåÏqGb×læhÅ̪˜Í)c›{ï—]xýmVRzÖy5CÄŒš¸*nm°‘îÒ¤ø-g9Vá:aî˜sçôë<¤ IDATÎ|IÖ7–«¤£_’ßí )uíï":ßÚAD-ÿ7ã¼ßè›^úóê ¶E÷ž¼¢5‰ä/Ïž>ºaóߊÿø—Õ”‘^u eów#½;ßCLíU¥œðXµjô÷÷~Y£1l]þ8cþ+#¥¤o);¸÷‹ÈÖÉ?òHo>=ðÀ»Ï ƒ_hhhhè?Wj­:ž¹³äÆÝ.)v š¹`îÜIÎ÷äÔ¥99ùgÛñ’ÁÏÔT”¥=w¢“Ó„¹cš|ÝÙu‘axÕ×ÜkÉÛ·ïÞ·áµæŒ¤œz""†?_$[´aûîýŸ$9—žúuu²¶ãIñ_»ÆíûòËÿýd¿#>ý[­îÒŽ¤ ÕäÍŸùå—Ÿ,¢/R3¾ÕÉ‚&°ŠWÒ>Ù8Cy+GîˆO??&yß±Ï>;¼a†zK|F•Žˆ!õÙBŲÛwïÿ$FQ”‘uIGõ9é¹EŸ;vìØá ¯ñ…Eª~:nj¾ÿ®ÝÕßé6Ÿ/íå¯.³c_Ó#Î8O~É[F¤û6#é -Úöå—_~¾ù5õ§I;.éœ^KŽÍ(—mÞŸòÛÏ~u_waj|-ÚvìØgÇöÅ(‹’’Ž4ÕLʸû$îéÂßÿ¯C­ßÕÜ¡xÙS{Ëwß4ØzüÁIL$‰ 5ÒÈ¿üuõ¹^•»ã„vì¬KHHX7¤ê³_i]ž•kªTíD¤¹Ò`ëÄ6Vµê‰ôMß5±ì÷¹¹W\æ¯KHHøëŸ#Ëj´¤Wåþã³&ùIHHøË ‡ª½Ÿ|£Á§|¢û[Ê9hR„»˜ˆôž†w·U]9£j#ËIÝTJ~S=sJirÜ_&Jk¿Þ—“_ÕØA$’ ˆˆž:ÆQ¬o9½—¥8LLíµ_ï;”_ÝÚaɽ#æÎ v“µ×½o_~Uk‘Ì5`ê¬(omÖ»™U"Úÿר3 Þ[å#Å+7(èÛõb©øvŸú#¸±qceD4fÑ.þÀ¥©«Ÿ¶TÒ_-#"‰ëرŠ-…—ÛæŽ""××&>-!"Ùè—Æ0_|uY7‘í©Î9¯˜󜌈œ&§ž@2™„Vò¹V"“‘ÓØ`eÆWÍÛO =[¤RÎxÍ[FD·‰3Fed|¥â'1£gLp""b]]Y®YM4J¡ Õñ_¹¾6ÖÛíµÄ”~ãÝ•2Ë.·{ x5GìhEÿP%Ï%>¬“X›aŒb‡ªgßOÉÓýíW'Ýåãgilše»ecfLdW?¯À¥RNœì-!"·WÝr¶¹¿§æjj ®Óîøö¹~âoq'¬³OO[äÑy8xüÙ?¸J‰HßTVÓáéï(&"±ëøñÅg¯f{ØŸoÕ{Ë¿?O#Ç{7_áÈ¡ý¼J4ò 1Él¹šâojD~O9{¿¾Ø›Hßøåù§È]¥D$9þlFÙíýQ€G2v#•Šˆ d ‰ˆH[ž×09ÊÓSª>½5ó¸ÊvdèÜP×öÒœì3Y™yÜ,çnËZgñžùv¨´4kWÎÖCÎëæ9TïÌ<~…FNž,«=¶ÿLÖVÛwÞ‰X0¡q[‘F>aÁÜ wÄ¿Á’ÿ~8–±K¶|ᑾåô®Ì3ÎËߎp¼PW•õ…ªY½bÒSØç—­{NBD ëÄZb‘„ubé,Ç1¬¢3·±,Ã7ó} Xœšã'¦3#ÉdDDºú¯·d8×̯VñÊ6ˆ«çèÖS0 ñjŽˆb˜ÎUZÿµ›œ¼™vì84?©™=uYܪ>½@ÛUe­þ®·ýŒ0 –Q«Ô:rë/j«¾ÈØr会'"¾YMczoðíö‹W«yftçÎHX'–?Ëq<Ï3¬Û9ñi–é/jj¾kwzÅéÎïÇÃÿòBäDDí-U_ìÞœ¡Y±ê)‘H*³îw×!’É:n¶2[j¿®üÙ‘tðŠFëP¥u˜àñ,}ù…Jë­½bp}ÅI,O[¹¨ø‹‚Ü|Þjpxzü´¯¸tp††ƒ)IŸ‰ˆˆ †’kÛ‰àÑL€ZZ-¢ö–sÇÎu9x»JÉÒAÓ!lî¬`‘úë,‘Cجˆ1 "7QUÕ¶êÊBUÔ,Û®•ܨ=£"’‡Fº9’<ÂõLVUa½Ú»ðŠd¦yBìíªð¼Ò.•ŠeÎR"ÔÙÕÍp°?ñÚÒI;33wÒò¹Þ†Ò]™ù¶Qƒ:þYÇ€YöÉgs;/æk:°xIÖYísÁDÄsMœŽHB¤ãš8bY–ˆˆçÔœõ¼ŸSóŒ‚eú¬•U° Wo]–´MõëÆgŦž›¸yózoQ}ÖÌù_õ¿EÖ¥s]OÁ«Õt+Bõ!{zòê”É«I×T˜±&)>gÌîN=ByÿZåwJE6zò(>=«¨í¹—n]Á×t=6£yѶm3Ü$¤«Jy}M¯á_êwÜn¿…‚±ØÎtË(,Ã1<ÇqDvÖ‰ýõÕªÊ4ã]îéã-uô+?[\£yÅ¯Ç ÂÚš´"1Q‡¦ƒ¤K‡8ø¹¶ùýy«üY'™ƒÞAó¯+5íZ‡ñ.b"Ë=BÞð!ÒªŠöüã“ÏÚ¸§\CD$sp”ÛÄþ£mN–5ê‰H¯©:üÉr->ñðà»Ï sèÌPg1‰leŽÎ®ŽÃÄDd]dIkb™ƒ”¨CÛª¥gDm‹–ÈV.ëþ|¶R"|Âò¥AÖ8‘H&ª=C¤ioíÐÓ0±^]YZ¥‘Ž ƒ®Wƒ:ŠMˆäñ¨éë¬óÊÉ1nݧ9M˜ìº%ë릱 b”cÙ#±óRUÍjv̪äénDõD̨ ´cżóÍͼbBLòD;¢>}í&''\JJŸõrj€úÆ¢R-9¸R»ÁyŒ3åTª¢ÜÜÅt£¶´•H09Øç ±§¬¾ôƒ"m·åäÏGqTkóKsZec¦qlo/:“ÝØÒÒN®½ŸD1Æ‘FŠÎd5¶4jé)^¬ÁFüÄkK'íÌÌÜIËçzJweæÛF½áø{”u§V_}zàÇÖÉi„‡oHHtd˜¯½¯ ÞmTVvuäoJÍ·Nª*¬mwFÚ¡m'"©£LLDb™£Œ¨{”)dD$²‘ÔÁVLdŠˆˆ †¾Ï"s–Imm‰ˆ:ðB RŠÀ…Ëig榿çé γޞç3lpn'Ï5ÕW6ÕWžÌÝ”îÿvúú…þ2¼x€xgíµ…U$ˆšê-³üÿØþ¢ê¢Úög|leR"¶E«§ab½¶Q‹æ}TB øØÑ„ˆAÿŸÈhßñN§Ó¶5ÕT–Õ´ñDD\Ù¦e«˜ƒ;çŒÀkH€w €EÕ’ òq´LqÖäåTVßðãæç@­gr ÝCeµÿuîž6"b^Ü’ŸîkH˜ºÑÓ7Õ1Aó3ÆiËv¦¦ìm]ÁÑOåž®¨kâx""bìÜ|ýC"ßxcНý­Ù –…®-#"»7²rb<%}6dúÜ=MDDvQY9ëz?Nu;§LßÔDDþÉù[­ÅJ]ã©C;å•UÖÔ[z´1vn>ã¦D¿9Îy€n®UÝs(ïtY×[¶7jÁÂpOTA5"4‘ §yŒ°—NÛXWV{èd OÜéÔeé9ë|oíÖµë&䈈°7¢_ôálÇðM5§Ž~ºëd=Q}nü"’LÄ‘H€›k)1›,å0ÿUoù÷ê3Ù™óswqä±`Ë–U=o¡«þh5þ9EmùtÝ­G=}ýC"£?]6ýýJ"îdâûeGSüeDvAãì6Õ·UçÕéBº%3ÒÕäUãå[“]ÆWœ¬Ñ…wß]]^ODdäDD¤-û(·ˆˆ J>˜~«¯©ÿ¸)sœJœ»:·Ú²7¼µ¥óÑk'’¬ñÏ)jãŽuãì»ootô‰˜9ñ'9jËMJÎIôÅ-@m'÷ìäízLÒ¶56Õ””ÕóDD¬ÿÛë£ìúÈÕ´ù$d­ê}¿@]å®C–ôh•Óçn‚’sßÞ3}S—÷Ñ©¸-á2’Œñg÷äqÄU4‘ïˆnïD%OD#ÂÂÃøì²¾¬ NçßíRÀ¦²2K¹ÏßZ©ÔÖ4Zzžz„ùÛ÷Ùdûqo'¼-;MN#n6ër?:Í9½±>f\Ÿ…œÃãârOÇŸæ©-ï£Ó1!( Q—W£¥n¯žˆŸg™sˆC–K»×VæÕ‘Gdç–8û‡8Yö wÙ²ÄCewº“…¶æ´%2#|í˜GæaébJ|MEÞÔááÒßÝ t:m[]MÅé£{væVrõ'7­>]ðöŽ- û+ޱ#œû@][µuNÙˆ®‘az“Ø9Ù5‘¶F«#’XGƒ©¬'¾¦ N7Î×Ú£Ó2Ê‹Gˆ‡Œd!t²’ªóºÊpººËE€Ýn.1â­”§íª!¢šÜÔe¹©Œ“¿¿HHHPo?‘TÛh͸üÉeãîÔfÚš6@àQ€ <ü$™³§øÂÄ'²Þö "â+7­ÝTÝ_%M²ýLåÛ¬5:ÖN2`Rb:Ã!¯í¬è9³ïÚÊ*Ú¬a².¯Œ'"·_{"²÷õw""®¢ëîM–‹;‡µn–甆|:7Žoª<»+uí¢©ãÇMY–øé©žeAmíÃiux“<"P„G* z.LYphú®&¢¦C•½•Þ÷Fw(…1ÌmÖÞ5S×$§vW.Gõy׿8ÛwòbçïïdÁ—ÝÕÄ5.k\5™èZÅiË⃬}4o­}Ä”u;§¬ª++(8‘—wòtM[g,Ë}¿,w׋q[R:oxkK‚þ¼~¡çöÉÎ@$@€‡Qg&#¾² Q7Îó®²c'#j#"¾ÉÚÁ³¼ÖZxcd²[±-ÌŸÉ=ÉSM^½.Ü^bå…ñ輡dD˜'å•QMA6ÚY¦­´ôeýÃûï–)á?e¡ÿ”…ëHw­ºìd^îÑܼÊ6"j;™º,uÄÁDu+GãéïQ^ z£†a¬HÇqw¹ˆÄÎÓ:žJ[]Û@3éÚ:«rvv]™KææKDÄWÔéºFyñënFæñ¢QEAŽtuD=†x£ì=ÇE¯JÙy"g}¤eëÚr?²Žq#aíAÊ7 ¼Á€ð°ã›êÛ:s{· ÙyøXB_SP7ÀEsM§,#¸ëÙ}üM™¯e@ж²Ê6­u”§[ƒ¼ÿ8;"âÊ štÞô.8‡ÄüÙßòg]Y›Î’ƒÜ,Sjò*´xÑ My;­· ¼ÍúxL ²ÄŶ¼=•ýE*]õ¡\Ë`.ŒdœÎþaNDDu5u–€Çv^hY÷ˆ †ˆšNWÔU”5õ”H[q(eݲ9ÑsÒ+±EÒûçhk,Ûu´±ße´§ÖM™2'&åÓ3- <¸´ÕG×-K­´üÇ.ò-ÿ»¯³I|¾e¹·—›˜QÖ;j+6­Ûc)-:½Ñ{½NAAvDÄ×=TÐDDŒoXˆ(ññ "ªË͵\ØsPb¨úd^YM}ÍžÄMeÚÛ¥ZƧ+Ô:‡­ ²\ XóþªŒ>u@]ÝÑuëòššjNfï©@xt`$x¸4å}”ÞÔ;Ùé´mmMÕeeõ]þ¹½‘²Ê÷žHðvîÜM5DMÙ˦ÔG½â;ÂŽø¶ÆŠ‚ì]Ùe–üç¶ å­ÞƒËHF„û0Ù'ù¶“¹mDD#Âzuñ´÷ q¢Ê&¾lÏi¢¾Ã€J|ßz;(7é4Oõ{–…Ÿz1rJˆ¿‡½D¢Ó]k«)Ë;”m>”ܺ‡Oû„„§ÇŸäˆêw-šR¹0:Ìw„ŒáÛê*NåîéÜ`§7Rzb¤€G'¢àáÁWæî©¼ý,N/þ9%qޝì×,ñ\¸e‹vUÌ®Jޏ²ì÷˲{ÍÀú,HÏè/WJ<¦øÒɲΧêÞÅÓ2Éߟ¥\k<ígPû));´k—½_Æ_2{ÓÉì>ÏÁxD¥l\Õ#ËÙ‡§|JIËâ󚈸ÊÜM•¹}–ycýƘ{nx`pp°@ @CÀïÂl6›L&£Ñh4yž×ét ¿Ê31¬ÓO_ÿÃ"§„xÞoæ‘ù¯ÚybJÁ¡Oåž®¨iâ:×ìá='z܈Ši2ŸH*«±¼§>qDˆ'åZ{rú†õ3 ¨ÌsΖ!§r÷äæ•UT×5q7ž°sóðñ›2gJȈ¾{%qO9êÿƉ={² Ê*ê;oÏ:yøEF÷¿ <ÔH€0¨`PPZà×€‘`     娿¸5666nw­¾×ô޼·õ¢þž7áÆÅÂc§ÐµWfÄÆÆþ­PÝk:üö ð—§.ÍÉÉ?ÓØND$uº`î‚hoY¯éðó‰~ÎÂíõ_geý³Zc°urèöÀÊ#Y9¥W4dëì7uî¬@G±þâÖw·UËCçú4æäWkÉÖ5táÒI´ïÝÌ*íÿkì™ï-¥œ]Y*‡©±Ñµïš~:"àú±ÒvÏï.õ‘Ý8—ñ×,•<4v]„#^¿ß™¾]/–Šo7‘ŸQÔÿ·ëxµFêµdîQe¹¶ó–c™»Š®Ð˜¹o¿=ÓS[¾ë±ôDbµæ©=£Lö´íPåïË׸F,˜ '"ù„oÏr—våÒîÓgûOð““¡¶´¾ˆÚK‰ž@üûýóßÇ2ÒvžSwþ·åôÖÔ̶ ã.ÀC˜5ÕUZ"‡IAÏ<85Ú»³œØRz®•ÈyÒ¤1nnHS~¦3ˆÜ#¢ƒ}|‚'‘iÕäèì,%"©³«›£ôÖºÅݧ{"èy2Ô–6êIßXZo ‡ 1€¿?ñ¯-DÇ2wžSëõ-§weæÛF-‰pD `°ºÿ^ úöÖv"’É,ÁMæ(£*-éÛµíDÔ¸ÿ¯±û;çmÔHJD$•ËED$–JEDt×Å"Ç1ÁÎdz«KÛEç®ts„·/Ý  \¸»sµ] IDATœvfnú{žÞà<ëíy>ÃÐ&cKeR¢­¶HJ¤nÑvNwu8O}{®§µª'²•KIõ³‚†÷×ìýÕg*mkµä:p…@ñ±3¢ ˆƒÜÏè*÷ö”µþ3§°²òtvNµÁ:ÝÑgŒQãéÒFm{KeÎέYÇTè)‹ˆH]^^Y¯Ö<}˜O¨§H[šS¤¡‘ÁžHƒ,މ@üx¸ Ø-bAèH™¶*g×¾RQP€œÈ '"rœ´tÁ„‘†Ò¬ÌM»þÙ"óœq›È&ì'£Žêœ}ÇjÛo3]ê>ÁSD$òD¸/‚ŽŽ@ðl©þ‡#©µ{/ywá3R¼p ³Ùl2™ŒF£Ñhäy^§Ó544¡e~ ¢a#Û¸X}¥<¯HKòÐIîˆmÔk˳³ò5$÷œºtÒ¸×ÀýypzÂý@~KB4 <’t§VÌ9zín—¨Û9% $±B‡ÖÜDhxà5~=õýú~bìÜ|ýC¢, ÷”=Ô»î“ðÅÎ)öx/Àí¡ÖΩ;–áÛêËòvÅÏsâÚ ß~]uzxÀ¸˜²»/¤ÕÚcM¾•{N6ÞçÓjO, ˆþôÖâ’q¥¥¥¥ŸÞ}¢±ðhiiiA¢¯¤+šŠXxB‹w%Àà‚ <4|âî ï]é»VñiêÚ÷O¶Œ?ê¿epWÉ´5m÷–?Ím"òˆ kËΫù4¯.záˆûÈueuDì/¼+uMD2¼)Ôááfï;'e}”•ݕ췡k:]wOóWîÊk#òycá‚0;¢úCG«ï/wV¶ýâûÒVVÇãÍ€ðÛ“x„û0DÔXÑÖ½¥¶úhzÌœðq!S®Ûyª±oÌk‡RVE[g ‰^–r¨¢W×F]ã©O—E‡XV4.|Ϊô£ÕÝçÑžøÿÙ;û¸&®|ÿ'3<$PÅ€m°ÔþV‹µ´`)X«RWЫÔÝEï.xï"{/rw!Ý‹ì^¥½Jw‘îRõZp)¨-¨-(BKAY°HÕ ’ˆ$ ™<Ìïð,øTŸý¾_¾|…ÉäÌ93ó=ç|ÎùžïY×'EW“³e]Z¯¿±%g ­KéKæ¼u\À”E¿1gΜ·Óšnã ª«É9©ðZ>ÏeÆâÅΪ#ÆŽÄ2ntßFÏ™œÚ ÊCçÌ™3gÝI݈H0tÍ–ãÄxé8¼nΜ9s"´ŒÓq bΜ{UPŸøæœ9s^ÿ÷œÿ/ÝÉè9sFú "‚ ‚ ¨ä'A39L¾œÜ²"R¾¿¬™vž=?(hþl¡¦þøÇ±+¢s. W)m‡ãVD¥¬T‚³×ìÙ^® ¬9˜µbËÉÁE…tӞ豩Q ½æÍ›J7Wî—G®H:(FS“ýÉ%— _ýö·k—ÍkšmÕ>‚ÙË—y‘ây‹—-[¶jž˜ºe™:¾Ý[Æx-Ÿ7`Æ’åΚãûëoÒX·*é²xÕâyÎäô ÅË–­Z2•©ž½–¿.ÐWn•rGåz˜¾|¾ËhÁ½xÕâÙk©/[¶lUð뫃Äú“7eOWsàLXà‚o)‚ ‚ ÈC×"O=ºú#ç˜:{j¿¨ê8&ßr\‚ùI9[—¸XêÎ¥¯‹Ú[ÿaÜ×DLµžvX./Óƒó²9[^ЗÄF¤ÖOþpùá­³…@7}²ùãz\We-Ô\ò²#ÉÞjýPÀT~\¹xçáäþC«fG'Ö4ï?p)"fêÄ××m™*¬?^ßLz­KØ2›º]¡:*÷×ÀìUó&L Zåúñ‡Ê“95ºÙ¯[~w»",‰KpÑœ¬Téÿ&9¢_†Ñ#$ંãG4eÇ/ÅÍšA€^«æ^Z)œ7Õ¥ùHM L]·åm!ÐSƒÄ÷kFgOWs †ðZ5 ‚ ‚ ÈCç‘§›Žs9[âŽëA¿ÐmÇ?©df'$ È?ÎúUòb€rï~ÿ˶#{jÈyq1ƒ¢…šºø·«¦‹ÅBÍ9 @×ï= ¯Úú›ÙCºÆeIBŒ€þøÞoû}<ûçÕfÿö7ÃäÏÄÙAÓ@Ußv3ÛŽï© ç­z½_€¹,ˆ˜ÀTÚí‹p[¨éË4Ç Ÿí¨± Àåóî(¶5cù*W¦r„ ­îÜfHÅ"‚ ‚ œDžê?ŒXþÉp'FF¯Qiô0}mz€HÓ;®€é‹gO¥u–Ì&”ijšu0ƒݹ“J˜ä%¡ebrŽÅX?ÓM'kô‚yASGÎÙMœä õʦÊKôÛC$¸ÎŸ5â‚”Ø:)§£ï:j¦urÞª!áé2•Wª¼¾rÏÉŽ!Oo_„;•€GŽhNWÅ͘: ÖÃ]i·©A˧üasåþÝë „Ãà0‹ ‚ ‚<X^^Žwy:Ш”7Gµtž¿jݺµË‡‰/M³ í@jÜÉ‘çê›МÓÐK&R•H±x|u¦¹¤}ÍÇ[âFî¦À¨T ¿ÔÆÀŽNɪV™»šI78¢,ˆ6óç­š ‰5õûËÚ–,wé¿!·-ÂK@Õñ“—b¬ÛMtÔ¬€ÙËîB»¹­òúP^_¹ÿ[Ý‚·…VXÉ9ÕlÜ4AAä!*À™/{â]@ž ¼RN ß°íÀºÐÔz— Å#æÞhÚª¹ôõeec ,½hZÃã/Éc«K£ª¦L5ö zÝØnÞت<·F,q9 @sÎñ¶åë\î¬w*ƒÄGªŸl[·Î@Ws°Æê‚z7eëW¨5û¿íxû퉠k¶ Àå³P"‚ ‚PÀ`qÎ"‚ ‚¦i𦭧ˆ@Ó¬¡^©t5û+çµùgnæÄÎù$€êHN}‡E¸S ¸|¾@y¤² t5jF­A¼C„³×-Ô¨ìÐÕøVâ å^¾¨‚ ‚ ¨ä¾ œý›„ù$@󇩇‡¶Nš͇+GoCÞñí±o›:èÓæ¹€òxMÇðs.í‰xã7ÞÜRC5uÁl€þÛ›6ËÓ5Þ/ ]¯ó€ú4ùáÓè¶Ãé{”‚Ó)Êkígý‘-ißi,ºíprôæÍÑÑéçîjn$•êʱ­l=¸.š:¶RóZ$ÐßS£»£" \VÓ¬¢o#ƒÄÍG8ÇŒB3FQú5ùHM_µD PŸ–Z¦çÅËg DAyÈà:@ä)ÇeqòÚœ{••©~ûzÿíßNÚZµùHeêŠ7sfÏ›*æR}e³€œ4°=ùÄ%[“ŽGÈ++å+Þüdú,²í\½Š%ÿÖ*€¨¿ÙþÛsQÖŒ .›>Ïk*Éh.ÕÔ(×e[cfÝ•ÀN÷C³¦952â°39u]zò‚Ñ*ëÒñ=Í0="h¼-Ô©é˃Ä÷kú·]¸ƒ"8Ïž GêõÇcV´M $l{M#5uqxÿþšý•‚ÛyoR.³]¡R©Ú»nyÍT¡xùÖ´%Ö S3–/vÞ¿W¥wAAy à ò´CMýUò21€þ¸|o?—%éù™¿]ìåLªškjêU¤ëìe »ó·. .J͈È,ÌüíâÙ®tseÙñ²Ê•ÐkþÚ”üœ-w»NŽš“´ÊK i®oÖ0äM'ÐMö«ÀkÕü‰·Heùbg¦r¿uZò¶E˜”œ0ß™FU_I5î}\$Á‚U·[¾7uyòoæ‰ôÊúz3ò›U®·˜ÆDAA$Äå+mxÇŠç§8ãMxj¡›¶†FÔx%ݳw‚GAyèà ‚ Ž“Ñ9ÿW Pþ!‚ ‚ Dä)†nÊI”W2à¼êW¸ ‚ ‚ È£#Á ò Ñ}›–¼ÿÜ¥šz%àºvë¯0(‚ ‚ *@AžRh͹²ÊzÁô _%$DÌBý‡ ‚ ò¨ÀH0ÈcF‚AAA®DAAyV¸W/ЮÓY™%Z‡¹¿Œž/¾·4 -ÿ—~¨M°qýûÖƒå*l^Y»1hò]e©«å»FÓ˯¾ìÈëÏ’shÌ|°‚ ‚ ‚ ÷Kj~8£®×Ü]_ÛþÆB§ŸºœçôÆò¥³@äxw ™®U?UçäôêËŽöÓßzמ¦¤(ÿAAAîŸ4iêëºÀáµ 9òK¨k_äÂÐTff•u;¿æcóCÍÅ.3W43heÈ,GÞ8LJ§ØþÍ/¬s€6Ê¿èè³dz{éw—z€r~miø© ô\8Yt¼öR7 ÀuxÁ;hÉÂøn ‚ ‚ ò´q/ëMšÚúnÍñ~aæ«ÎÐs¾îš©_Nòx :×=3tíê·§ò´ç‹ êõã}ãûË]“ý—, y…RÕæ—]3™®•æ;¯uôY±fñ+6×ÏùÅ™.›Þ^<Ó&ù¿·:Ð…7\O–í˯ºhxaþÒ¡þ.=—ª>ÿG™ÆÀ倶曮ƒ–ù¿HѪ4`j-=üÝ%óôŸ¯Y¹Ä›j;STÚjÀWAAA§Ž{˜4µ×œë‘— Ðf§™Np¢åL›iŠt0%ÑÿYSaòî'/Õ·WdNcŸ9Vê=Ï\6ƒÝìÀÙ/Oæ¹»8Lk¥)àQsWDÉxö"±ì_´;[×ÕÖezMêäÈ{'©“#º3x­®¾ @´hž» €“ù‡¿~yý‡Zí €ûÂü·ç¸Û˜ì/œ¹X×ÝÞežÉ`ºÖÚ¦}ùÅ×VÇ-Ä-2îý…²ƒl¾‡#Þ AAyª ©­¦… «?˨î?Ô\ÓjNXG9R<ÊÞ€6ô˜Æ=n?FòmØ;Ùó€'º{XF{ݱÒú¶nsÿi\³iü,ÒÚÊÑÞZ8{{.\ïé˜Ö³qtà²á€ €' •õ¯k8õeÃ)®È34b‘;ºÞ¹ük>üÙ—í<Þy ü|Š@AAyŠ ¡õt ^o¸Û[ÿ>U|æbM«aÚô~ ØÓÞ6`²j.ûKŒw|$6" h-mÏÔÕRßÜEIgR‡Ï¶Á ï¼>˱ýË¿~vÎt«Y Ù"È=À²ìð¹Q"ÈS ®DÇ—Ue‹ö<ÞA¹ïÐ4ÝÙÙÙ××GEQEñx\š¦»ºº Þä)çä1E­¿züâ>AyN’‘\ò1oFk·¼³©‚YÒ¡â‘ß©²W¯ÌliLîgáÎ0oƒ"©‡Ì7,22Ð]8pLW²áyãðŸ‘"©, 2&:ĕ—y:¹éµ'En>á‘+ü~âk¯+ÙðŽ\½ïóH×ûoˢЌÜÍžÃ2H·l_¹¾Ô'ãÐÏ[g[•·zeº éЮѵòÌa4;::@ I’¢(‚ 8ÒÞ8MÓ7nÜ‹Å|>ÿ1ko[¶¯\_(J8ôiˆxèXö¦õ™ ˜ŒáîÔ÷ÍÇ­*Ô'øÞšpºeçÊõùÒm_îœ+Dˆ ÈCÅ`ìû¤öÃ^£N­¿pìÇÂ%ÓW<ù®Ë«Ö†Œè\) Zƒœ¹E§Äx½VÝZU’—#/Í/ˆÞ‘é9TÓ²˜”(7½¶µÙx¬¦¯¢îè¶X—þ}UkÈ.éñõ¤Þžm;óþĉNN“'_oo×ét&L`YÖÆÆæñZ%¨*‘oL«“¬Ø±cƒç“ÑTÑê*…žñ~ UÌõóõ¬Y““ݺÙ]yn×"Èc˲×zÔ;ªSÚ{Õ,ËZ™k=m›¿ÚxÃÐùØ÷$¥!2R‘WªVÑ+òŽj%~¢µ¿ª|çæÕ‹üýýýýý­Þ¼³DI€®|ƒ¿ÿûµ%Ûcß[èïïï¿ð½ØUšßéò¶X¶hõ–ìÚ†ìÕþþ±åºþD•ÅÛcß³&ºpéû[v ýn,(ç„$_¾4³T5¾j$HI⋉âaYFW»sSüQ& %có].XS¦f3! ûöíHðe*Ò7¥ZÛàÛ™§¶"³Xµ-##ƃ¢H’}Ez¦2$åЩS_妸¨KÓä…Ö¡M‰|½<¿Õ-zǾÜܬ”p²4uc|± À9xǾ87IDÆ¡/3V8¨ â×§ÕûÄeäÊÍJðÕçË×§Vé¬Ý…Mé‚ð”¬ÜÜܬ1ê|ù¦Ý-wÚÒ«[HD¤u gÓÆ´ 2<%+÷PnVJ8Y‘¾ic¶’ê]§dåÚ—yi¥ZT€‚<4®÷\ûË™ÿé¢oËZåA, gÕ5±Åïw=Þ3p_úhA{¡«Ë«Ð»…û€ªÒÝ¥zÉŠ¤¸Og±ØÙ3$.)T¤¯Ø]1Ø—“DÆ…{Š@èîúÆF5hªóªQhBL §«³»_dR‚ÏÐ(]KÞî:Æ-.%6ÐÝY,võOHð%µGwWën•[J$hÕúÁæ¢tÓ;Ö¡Æ·Þyw}êQ28)% ½GgR"£Õ2·6.]uf¾Zšæíîêî—àÁ´ª‡¢u ;7%–Š"vô/PÒUgæ·’>I)üÜÅ®ž!q)+DêÂÌ¡ €„Ø@oOwçqMΉóê´´ò›L\Yš§iTÒ?wgWÏÀؤhé-ÆóÇ®m(Ϙ”¢º´´•ª@ž©F'aEðÄ`±X†éììT('Nœ9s¦­½Ã^nñCôNí/wh «z»z,ÀåblN‚Ap9ÐÕc9\Ý÷«š_íÐ|yÚp£—Ç'íf̘1iÒ¤æææ®®.£Ñh±Xv9õµ»7mÊoI@¸ÏÝ/U„'mñvwuõ‰KœÄ IDAT0y=®y’À0²˜¸¹žî®ŠS ‹‰ñs¥(gŸp_(ªZiPæeV0’ˆmÉaÞ®ÎÎîs#“dL]f^ ”P$ @( …Ð »3Á#.esˆ§³ØÙ=06%Fª/M?ªÐ6(ð ëîìììî²%#+#%L2ž-ŽáÐeÕ.yš$¡án]»;[²¸¤È¹îÎbg÷¹‘IqК­ {Ñ~îÖ $„?K…Q"ÈcŽéþèô«{Ú êµþ0äjr©ëÇ«·?Öź…‹´¥y´UV3á¾ÃaÓ­å­@ºùI«pJêç ¶¶ rs¬|I€Ñ04ÐêÚVéÜÁß =BdÂR£hTƒHæ!–?)0­µê[ÒÖæbHž’>q;2úÙ‘·BR-_¹~{•_OäYc°+u+ã¢[Ë#¬’rLÞº%dpyžF‘¿)Ÿ Ý6¸@‰n­R0àâ!VÈ (¨@à!Ý>ƒâÀ¸}EZzíHû¤Õµj¸ %!ö q7•±k Ü£S"$ÕòÓ¥1)‘¨ÿžÌf³N§ëííµ®Ù›5k–ÑÂ;{Á¸÷ký¿}Òù_ÿw£º™ærÀ†׫øløgLÒg]›2;?ýJ_û£‘1ód2Ùĉu:^¯ïîî6™L¯´ê£G!8:X¢Î——hîVÊd’!œ+hmPÓw`žÃoë Ê0ûˆz†Ð(êÔ òñ _ ötm]ãM“kêºF=HýdC‘ÌG­å H}%P'_¿y{^I­R t÷twoºsh ×ßÿ­w×Äç(ÜV¤dXCF©zúyˆ‡eH&½B¡½©wg"ZF‚AG…µ:ÿ‹ ‚ X–e ‚ =A‡-78¥,™\ã¼VÍçòË¢PîaÁ’üü¼:·[u^5ø¤øŠÃ:–z¢á.Y$) A¯»ñÝÐõ Á°/Áàwz˜Ö0‘†':f'W­Ð¸I‡º€"7ÏAW/Oo?çÕ+ÓÓv‡í‹Å ò,¡mme@ •·6.FÏIŽ»RV/ÏR;Ì­ Qþ®¿|Ô¹ƒç‚;[yë–]°&3uwؾèá…~T¤HDÂxñˆÉq>Pîá‘9© ‹ pÅ7âqoC-–ëׯóx­J ô‰^!Õ&ÊóªZT•²¶xûÆ•+o z§Ð3:!@ 8:º’†H@‘™–W«T©ZÊwÉÓ[ïzIªXžZ-MŠñ ½c’‚©©Å¨L&S{{{__¸¸¸¸ºº^é°|~ª÷÷ûºâþvcï×ú«É#xܻش1±oyÛüùýç¶®›ðË`Aw¸×AK<âÚ sΉžÍïLÜ{#ûdÏ¥k–ç_xÁÅÅ…eÙ¾¾¾öööºDr OI (r6YWRo7óJ[t´¦6;-oôò;uvê®ò•FÕR’žVªDZ-ú~™§kp´¯ 1-qgIƒR¥Qµ”g'®Y¹&±ßŒH@[^]Û¢Té(Ϩh¦Bž˜]Þ¢Ò¨” %;7­\¹&­J .N“oŒß^\«T©TʆòüÝÕ éq›ñâqjЍ(7¨KKÍ®jQiT-å»äiàéNØ'\ÚByzIƒRÙR[œ–ZúLì^ ò(iÖþPØ’,Xwÿ#ú¥ ÄÍ€²Û¿?sµòuéüÇTúuŠ€°±¢¹ ç&d¥ˆÒ2Ó7ê@äæ½-.Òû¶>&ÎaÛR”òôüø59 úFÅ%Hä›òIë"qHJ¤§í–oÌaH‘‡oLF\øpu§ÈLÜ4ð™¹ù¬HˆŠ µš€©K< 7ÙŠ¤èè@\„<Õ pøk/xÈ"’¢£]çVÆEyÆfl§eîNܨ %²) ÑÞ£ý9)Ï蔘Æ5鉩ss·ºoÈȧ¥g'®Og¬Æ±-nÃ=³çÆÄùTÈ«ºl”{Ô¶mjfú¦5é r ŽNŠ!7%ÖÝþ+HM«„fôoÿ ôŽI¨ˆO“Èv†9ãûòH1›ÍíííS¦L!I’Ëå*ÚŒ‡«ºKÎTZ³ÙÌÀð}îàE OhËáràEg> FÜy:\‚`Yèî±|wž>ÝÌ|ö\Ï‚Y6KæÚ¾ü‚˜eÍ Ã\½zuòäÉ\.÷ݱ_ÂŽˆÖõ9òø]ÒŒ î~ I¡‰iiëßIR" IˆToÊ´:G3 ¸E%„)3ã×4jHâvÄY·“ Æ7Ï»âÀ¤,ÈLÛ¶1_‰, !#:D ”E­p‹ÏOß´^š±o³gØŽ,2=}·|}&©OhRFô\!€w\F™¶;}S¡@ •'dÄ̽§}ï]Ãwdéé»×g2¤Dœâl­ã’v(SSóå ­·+)2sS&<í20 ÷b.r?`YÖb±˜Íf³ÙÌ0 MÓ—/_ž7o޺ܕ+Wž{î¹{[¢mgg÷ ²´½òƒo®œ$‚Cp 8‡ €Cp¬qΞ®>¦ïf-ÈL°e½û¹€>ˆŒõöö>v¯ ­Ó0¤XØßSÔ•o~7Qš•‹QZ-‹åÆÏ?ÿü³c¶-£Ù>¢šB(¨5Åï¿›ÊÄä~Žò퉱Ü11×®]swwgLР4æ•÷žøÞÐÕk¡xÀáü¤~l;û†ÝV9ò¸_Ñ›ò.ï'õŒ-,KÁÞ†ðõ Vη—½HÚÐÒÒ2yòd>Ÿïò8˜-z"È#CÇtŸVU8xŽÞûÁúAƒÇFyƒv´ù 9ìz«<ñhŠãßy÷ÝM»Ê”*UKU^jZ5# “¢üCdeöúwÞ]¹9¯ªE©R¶”gËÓ0jSä‰D¥R¹»Oï1°9'{~û·ÎªÞ>ÆbC?Qþ‡W:L–µ° ê4›,ðSä„-I˜ÌìWµ†Íëüô+}W/ëî>]¥RásDÐ A ,ËþåÌö>S§_ã,1°ýÁ²ÀýŒå :pèÄ…ãïy­±ã? â” }ZZ¶ÕmÀ{Ô ‚ ÃpܱM—–¾;~}: z­¢ûæ“NGG‡T*µ°låyú“b}ÁBñï›ÿA@—žeY`Y¸¡·À}VåŽÁ²û¸~’#wÙë¶®®®×¯_Ÿ8q">P ‚<£\ѵ~{¹  æVü7zNð&Tº+ÇG–¾üÞ3qË„žáÉŸ†ã«ƒ È­Ïݰuî¼O›œ2eŠÑGªúnè-¶Ôý‘, f vª„Ë妈¹Œfàqྫྷ‘ârˆ^†=\Õ»ØÇ†"ÉŽŽT€*@yv©»vÆ,˲Ö0ÖíàY«ìŸÿ»åxä¾Ú¿N RxKA§’ &@miºjo˾Á%·Pn, –%ø—¸¨6utY¦ˆ kAä‰T€Æöº¢Âãgš®€'t™á²,`æ-úŸÝçË+:§½5oÊ8Ë_ûêÓÿ°·uRhÂïüDøHg„ï®Tô71 ò¬°ÄÐ7·vGaAGwŸ¾Z0ím¼¥‚ ÈÓ‡^¯Ÿ4i—ËmºB«µ&îX ÿ¬»'ñ¸„ÉÄ²ìØ±aLf^˜Ä{Õôv#]x’ \G;‚" ΀tszŽûŸá†íìaÕ¦K×̵?25-ÌU ÆÙYžeÁla ¢_Á›•"‡€N½¥î¢Qêd;iÒ$½^/ð±"O˜4¶—~¼­¸ `ÂŒ9s&ÙÚÎ4gµ¶­_=ÓvìŸhÏžà¿ç;®Dg†Îúëu,°„u©Rк)¼u ;,ÌøT*O¡DAžJ:;;…B!œia ØÙŒ!ÿø<"ô5Û³l¾i¤¿¨ìë£-ÃE ÅF3+uâ†ûÚ¼b3Ñcg3¤úF 6agCØÙÀ1×{ämÓÑm)©3ø¦§õº™Ï%†Ç7µnÜ;ÇZôªíåë¦ßôöØQ ˜-PÝD‡Îµår¹¨‘'Nö5~Õàÿ?'>À¢7Ëÿž]:#Ø‚¶î`vá™Vo’碕+ý\ÚöüaWƒ >ÿcüwk?ˆy©­4;÷«¦N€PúÚ²Èå^£§ýºÏ}^XÙtÝ`3iƼÐ÷ÍtèS–fgÕÔi²q™4MYXq}Úú­g¢¦DžHJ/cÌ ‡à1|ªû2pÔ*þ†É¿1£ÂüSuÚhfø\o,‚ܖįĽ•{éýˤŸ%yBúÙô?ÿðç÷^xïÃ7>~Ü;ßûjßUbd˜@–e'ÙN:»ü,Óßž^§¯¿uä­.c×áàÃ^Ïy»tì×g~-sí_¸ŸÏ£ÍúFõͺ²uSSŠ‚‹ìxv‰•‰û•ûáõ‹-^[ÆÎÞ¹ôÎ|6'ì£YáÓDž¬[JX,lu=æŽz,€XÈY5_ð’3oÞË6S&ò2Žèz ‡`YÖ‚À†³x®]Ô[É„¿·°¬É f P< ‚ À²Œ8ðxÀ!‡ÚB;Î/‚KæÚî-Ñ®êëîµp ‚eYâ­ŸÙÄ-sLàšÌì—ß51¼›¤%Ÿµ?24ÃA±YÝÝéÆö¥ @úæ+NíßÉoã¿Ç¬žçÄíwÏ>ÓÊ{míoÖ¿ét½¡poÑU.Zë;&ø®ýÍÊ—àü=ÅM:iè† ïy[¿Û›]×=òW‹>Î:Ñdx)díúÈW]Ó‰¬]EíFãÕ¢½ÅM¼!‘+_ƒÊŠë<Ý狊ê´xî k)½t̪íØ!‘Ç~±~bá¨M `ô!¶Ûp£ôÇãxcäNØúõÖ«p5ùLò–ÓcK¬?œýÃÕW?úá#-3T«ýOÃÿÔuÔ]ï»ÞÞ×>üßuÃõÆŽÆÝvžYx¡ð¬æì¥—þvþo°õû­?j~[G "E7 7¸,—6Ñ@ô™û¿K´Nþ‰HÑྙ5wÒÀ´º´_ºý²ˆ,à³|ëi3=Zþ]©ð;æý=OÐôhà_ÿõ¯_ü„ðÁé,`ùãœ?ž¿íì¶ßUýÎZ¬õ\‹yèêêrttäp8µ CgÏxQ@‰>šýô¸¾ööšíë/SKçÙÎxžÿumŸaß}ÝÎÍ…7¸z6²%u†¯kû~¸lÒêÍú>væ üe¯ÛYýnh#[ÕLŸüÞà`K<'฻ðe6A?³±·á€-Å ”ÙLsæï+Õ›-ð†õÆË”½-qéšépUß±š¾«Sh·‘pè¡Ùê&ÚSjÏç󻺺Äb1>\ä R€¶B[]§¶^ºyÎÔy¶8·²©Ó0þï ÊŸ7´éÆüèk×؈„¼þ« yºN}Ÿm'ØðDNBhÐáÃ{läßAÛ1ÿ>‡W—½k×·§£·Ý`êPu,ѯ÷X€e € Üvs"”:zÚ¼½r›fjøRëR ‚Hy5åæx—èŸ1ø]åïLf¼*yõ䢓ƒC-&‹iö³›;››4Mߪ¾}Ýùuë­ßr9\ôü~]¨¸\áWìÜû&Àl1À_Üþb~Åœy1xðßµÿM°Ä¯~Û¿ßÞ/ÿ"Ü"ö¼¹%ò,`0ìíí ‚¨ÑÔ) ù·¶m‹+ÜmwCîçgÛŒžk¿uÛëgŒ!?m„m§U!öuêLB§ ¶B[ÐéúLÚv”Æö¢¬ƒ†77¬çÄç‹^]·á-(ú{Á໌¦¯ƒ6Ø¡@/¬õÛïÊ:|ŽÞ žç€Ñl¼ÒÕŠ÷A­µ[O'Žù½™5À•Þ+×l5´=~{ìxv6\ë?_ðá¼­éÄVÇZÕcì±~èbºÆ»ò7êoüŠý€`êÒrøý-ò®·vE¿mMöµüäü'Ÿµ|ÿ]ü üË~3ŸòLØ(Ë:88ØÚÚöØ%Cro×Kå$(>Ó›œÝÕÕ;¢í1Xö•ôlüXS¯4:Ø É?`Á–$}K9–â Z% vÄÅk¦M™ÚŒ#º®Ëð4û²žrntt›mI‚CÜ&o-m¦kf[[[‡¡Hoò(@°ºh®ÿﶌ܂‚‚Ü¿oûßâ6Lšábkê3€Ñ k?_^T¡ÝJ­‘Ïç€öìÙzå ½ ÀÔ×ÙVWT¬4ôµ·¶÷ ³—׿L¸P˜[^¾®ôó¢6¿9N“fÖÜzãÒ#+]»e¡¿ÿÒ-ÃÝÜtå›úû¯ÎS=¸Ë¶ì\ê?ÈÂ¥«7o/tЕlðÆ¢Õ[²kGÑU›ŽÊ5òŒ0×iîÆY­ö5ž´åÙÀÆo6€€SWxLðuÎ;Ï¿s!âBÓª¦ìùÙV3^=}uËÏ[Z~ÞbZ4äAóþFýïa_ ,ì¼æÅ5ýÝÍaÝÇ]~»~9ó—Ö_DŸŠ^sbÍü ¸_òOW²Áßal±f¸I½·4¹a\‹Pf¯^¸¡ü§ŒÁªŠ7¿·!OùtØœ*oõ %8$ýéíí%I’¢¨æ«Æ+ó˜‹GA@òˆK×Lݽ#Ômdoô˜ bŒ-ûìl8ƒf¸°§Foè@p ¢«—ícØQ °¢‘6Y€ãr@Óm©W)Š"I²··÷'4|Cïݰëý…K“Ë5ãþè›9ká6ÍñøµÔ»ìFhŠcýýýß/P¡ýÜW š÷‹øµozº˜ZÏTTTœi2¹x†¬_íåÀwYê9wýDÖ®Âg¬];gt~—]ÔÊ›æ÷Š M…¹Eצ‡úJm Ÿ¼·œ÷Ö/B§ñL~~¦s˜¤˜²è7k}gðš ÷fe+…ž!Öû9ßuÑÚ7§ M…{sÏÀœW„øä hË¿Íä&.ëZ¶z\æ7l6p`pàè¸ÊeGü»ÔyáQ–Š$úÒ<ÅP+£©Îk$BxR¤/O:uêÔW¹Û¢ÝZ37®ÙZ5زˆB³¾êÿ2I¦ÈLLÕµ¥æ&ÚíNáKùìA鿾þ×-¯mK¿ÜRÝÆÄš¬¾çÈç¾iûæˆâL¶›ü ÿ,¬egÃ΄ª„ÿ¬þÏÿ¬þÏߟþýɶ“ß\û¦´­ô×å¿fYÖd1U·WW]«ºÜsy¤Á²Pq­Â·Ð×:¦3}âôâwнŸóîÀXÏ0>ñÿäO¯ýiø‘ÄŸ%Þ?ù7`¸‚ÆôÔÍžíº"#w›ß½·Àªyº>2)Üm¹#úúú†áp8g/2†%n¯³ú‡RWøÚO~nÄŒáçý ÁŸßŸðÊ‹dµ “‡v$ÁHšÃ[ªg^°°ÐC³Ó§ðSÖ=÷ëÅ‚ÉÏè6Ûð‰°y¶va¹³ù<“…={áp8 Ãôõõ݇z¬%oSüQIBF²ßc¾ªôÝamO}u(ÅW½;^^®y0WR•æµÊVøhó ”h@·â^v„狼­óZ4ÆñW×myuðÏy[¶­ìÿ¸ú²Õ‡cþ6xŠWªŸõƒß¶mƒ¼Â~á6:q[×·"ÿÍ×ÖÁFeî<[||ÈÉ5}°,;0ÈØ f`áßЄà` ˜;kZ®é퀗ÈǪ³ët[ç Ty­n¾ÒÆFë·ºÚlyZv£– Ýb6û9ƒ*{õšò°hiy‰B­Vƒ[Ô¶”pW tµ»åùŒ@â.*ÍÔÇÚ:—Òµ¤¥î®VH|£“âBFu")±»ß†mX³>mwø¾X÷‘_:ËÂ|D… 5žÃ~FWÉßM•fäÆJ[óäò>¤.å IDATì:-"YTRRøHY¨kÈKMÝ]­fnÁq)›G·¶ª’íòô£ -RŸè¤¤0w}Ɇ•Ù²¢£ùꀌ¬XQõNyúQCCz„Æ%l˜+ºåæ‹jÊ·'¦•¶2 ÄÜ|!ä>ÑN·@Ê+)Z½v×÷»€ ©u©¨ ñ¯Ä‹(Ѹ`µÄ6¦ ¸°áÚØrm étÒ×þ÷Ð|ÝÀ^.`)¢)!þ’÷cÞ¿~ó¯°vúÚ= ö Î&Ì›<ï²þ²_A³çæèvfÉø¾ãûñ2ébï2üÏÉÔäûÞ-“FÆI³ÓÒÊ}¶Žv´ª85>½BKŠ$>á!­™~û>‹dò7®/>´KV½áÝlY´‡¢¤Q­V륡))<õÖg{ìØëNª8výn鶬͞ÃRÕÕfîVû¦;ÐU›ßI­©«Z­Z/ MJÙà-ÔÜÖjè–í+㵑ády‰B­Ö’>qÛ’ƪ4ï¯,Û÷i˜3hŠß_™–ûi3vµs³ Sýf_§ E²ð„„HO!Ý’'O̬֋$RYˆƒ–ô€;©<Ç3›ÙsâŽ~b4³ÿo*¹Ädžâ`¶°}4kC<.aoCÌ{™zu:õéqݾҞ®^ — ÀÞfh‹?.AØQÖÂZX°³!Ö-lX$´!û/?˜ —Cð¸Äë3©³lŽÖô‘<â¶•Ã!/{i Ç3›Í?Uþ) 7e‹b2¶:Ð ÉïÆCÊ¡do €nغ2žI9”ì@‚¶:=6±´Q­È"’R6x aÌ×[™½zcUH0“}¢3âZ6ek´²8MžY1Ð&ÅÎÜMËE‰½£¢}ò‹[i?13VË>XùH¤²ÙÝÝ’—§õIŠ +®ç5DmöÄѦq߯'$ŸÚòÿÙòÇ?þovåÊú¯ ë À{iŽN6!O$Ú¾Ž‘Jèsp5 Ü‘ïç:zÛíŸ$0\T—Wg€SU¨eáÞý›ÞêÊS³!*«¨è‹¢Ü8I…\^ ˜ÆbˆÜ¶ëÓÏ÷%y4ffÖÑ@7dÊó™È¬/‹¾Èˆ”ª è†ôøtuÈŽCE_ÚæÓ˜¿{ÌÑ=Ê=$L¢®¾ikZUWÍÈÂdcÏ^hJÓ2[ÃvÊŠT7êF6)»åé­!_~ýõ×û¢àhjzíȹDev|j£ß¶/¿>õåŽuzbf M’À(*ôáû¾þ,Ö][(/•Äí+úâ‹¢}Ñd¡<µ\7ÖEé†Ì´RQBnQQQQn’Ÿ¶¤Ç0ƒZ2ÞÈØø³`ø]Õï’k’øýÑ#zL=áSÃg g”zeBU8Ù;FÁIÁ¯ƒ¾ŠÛßåp¶s11²º´ôQNYšRyZGÒ¡¢/>O™ÛÝÈÀˆ\’À(JU!I»>ý,wG@k~zµœÃ’¢%Gå»[hMIZº:8)Æs„½éóªÁ7Ìm G¦®hõKúôÓϾȊbòåé 4ÜÞj¬ÙrQôÎO?û|_œ¨"=»…¾ãúa ë7U;c™°®*->Sžq¨¨¨(+šÌ‹O-×(óå銀_}þYŠŸ²Bðb2™(ŠrppPß0_¼fäÜÁ ËÅ#BæØŠ¸`aÙ¦+¦öwøÞÐK÷Ïúñ¸°þmÁG¿š°PfkKrø\b¢wpY — "!Ç–$lHŽÿ,›´_ˆbB‡ämd«šyN×Ù‹Fë¬þsNðl[±c¹ƒÁZ.Á^é0+ÛÍEý”=!˜Öbù¦LˆÉH q¾í¹Úê*÷¸}E_•®Ï‘g6Ð0öëM’ ¯+Çäí “Œkki Ÿ”Ü¢¢¢ÜiEbb±îºåb€rÜ–}¨òùl[¸¦Bq7FF7f—’Á‘žbÏð0AEvúh?ù PôÚº÷æH¡áà®÷žhwò ݰr&Î"O¨4tìägUzƒž CQ`؇Pöf 8N<˜½¶\B©o¸´1»BÊ‚½O¸G¿¤ÅÕàéë ”…ý‹”†ùºR ”zŠ@­Õƒº®Z+ p¥„ž¡Q$ÝZ\­÷ˆ v¥€r “¨+ªÇžòˆ Wé­ M[¸þ-ÿ·V&VH"£}Ç–$E"R]RP\«ÔQÎ[¶Çz GêÊØ}_fDºRàìã'aZÕúáß«ª‹ÕÒ°`w €rÌ8”ÕïX*’…È„ k,VˆÂeb±o¸ ‹ô¥®¦±àhy‹†zFnMsE{yüuî_7þl#Ð&ÿS~¢í„õx7Ó Ÿ}  ü©öO× ×c‘ýfvN@ÎA_¼æôšõäiÈÌçfÀ˜›²Ðfú׿¾Öw ¦9L;½ì´#éx‹,ý¹îÏ[þ¹8 üǼÿHžŸ 4¶VmMüî>‹@q`\Œ´"5s¸4­(Q>Ö!çÀ¨`ÉFãâ&Jâ)­ZÎa 1¢£òÄÄtupJôèÁwm­‚‘Ε%eá>bgŸ‰¶±N ··Ò#ÜZ—¤R^­½›úÆ®vÆ0aPT€O”5Q±O¤/YWÜHkË[%!žÖƒá¾ùúAÒ××g0ø|~ÓÓõ.ËÀ®I·fvêdÞ+Óø6|£ ò*zWõý9¯;çdo§¾_r9Äl7ò÷?wüã¿<÷_«ƒçØ j<>Þð ’#SÖ>—éøÚËäà6ú>KÁw})ÿè:RÕ÷Yic²êIbÆó¼Y/’˪Koù¡ÕÈçó ÃOpmÌŒO¯Ó3Z­þŽhe‘®å&ÕÖ5jé1_oúÝŒekZ·ÈHO!½#Ã$Š‚:Í]¶\šÚìÌ:Ò'Ä Æ´\ZQ¢ ûÇk…žáaÒ»¸-ºêì:Ix˜+¸‡K³«5hGãÁ{R2ÊwzueÌ«+ñ‰!O>ºa­ûþ1ô†mÁŽ~·d0á#©ñôHß]ª ”2¾)n¤z`RËr(³€©Ö[Û-rÔRAšQ1¤@@t2%Rz­~èèH•7ª£­mуÈUdíeŠB³r7»S@«jóåñë•)Y[þ?{gׯuîýßh™aaÙŽäEĶˆ‘ÛˆÄ8'’’Zvbì&Øm±Ób÷ ø¶˜Þ+¸-&½Xm1÷Ö¦­MLnmz/Æ­ƒÛ€Û’’’eA‰Y$'–¼H,–-óþ!± oñ–t¾ùc!3çÌè<ç9ÏyžsNÂt? "©d¯±¦¦Á´Ùä µ©¹ÆCÜÄTœµ¥ª²Þìàð.?y8̱V–'™ÑÚQ  I5M!P{~ô=š!Ù–W¤L/46{w9]S[SXY̪ô«òŒù)|í¦ÍU=<@'–Ù•$F´\5#Pðû:÷€ N¼NƒX®\þˆæ‘?Ÿü3¤Øô·MúÚŸîŸwÿXÆïµ}àÅÝó_ç¹>ïÎck£´¯?úz4==_!ÚùSãëÆÀû·lüé?pæô™_wÿ>ì|{'ä(»«ì Ú€ÆÜ†¥U†êŒÑú²,híh›¥ci²mÚ RI¿ž ÃêÔ}å¶UAɴ嵜ËÁÒ*†œ4[|GÓ`<‡ J hzàÿÝ?Œf›Úí„a·Ëų–Â5™Oyž…Žey–©&¤H5MöˆÂsÕðûý/Ùû'ù)[°ÌA >V>‘"2O÷úþòRFœë÷ÿâÈÀ'§½?X£`RAÄ(ˆ4}Ø´+sfI3îžêdòWÿuðÙXE{g¤Çî¹=–pSŒô.-Ùþ>çóã‚~JÎë?ñ™Çï‡×ë;Yôr´mÙ<úèÖ­ÛJUv¦]`µÍŒ¶nš¦ÁÚY– Õ¼Â1&—3Èo1­Ï¬í( q°H›®¹¦:&ù¶m®UìºÔ‚ÝI t†’\–ayR3Vîø÷cc¨öíë ;X€ÔæVïÏž`m:Ûj;\–Žõ+*F?aÛìiµ(K_h PDäKƒÏï#Œž/ã«Nƒ'‚«CÚ~Âô¿xïu?_ˆRè³ô®Ê†–î6ÒPGÁ1Úß3$?6UɱV–dÆ•ÌäK4ɳ,?f:²<Ð ¼åѱ!èXšÂ´ÙO®§¡Å¡ÉÖ+ÉÁ”:aU¶¦ª¢ÙÆ%„Z@ŦmÙ‘¶œ³³¦°°°FW—?>‚µÖšÌ©{÷îŠWÖÚu›'ç¥ci˜, ·ÝÊÒ±ô$íK“i°ú<­¢ÉÐ…* Û Ûá¶6™¶–šâëö¬Ý]·’Œ¸EóïŠ +?FOz˜ÈÞä½Â¡ªº ³)ü‚Ì$ûmêoÕ¿SÃ?[ÿ|Û¡ÛÆ¼|Ž!‡‹sÁƒ‡n{èÖ˜[Ç|â›±‹X¤XôÆ£oLñþù|¾@Xià²åï–Û q~÷ÀïÉ~õÀ¯¹°×²ÀÎÎr¿|ÇÝ;®ØCQŒ9 ›KkãõcFx×h›e­ìÅbqÝ5fíªdGMesò…†¥ìXŸÀºXÐãÖÞy¥&ôø6dÿ@_Áš¨[æË$¹¬ðÉiïÞçÝoŒHNä„¿¾9°)9;WMKÎô]p·RÂ/àc‡÷ì€aç²ÏR%h”"»¼¤{sé¶}ªê-ñTÀLÓŠ<;º=®Y–­¦éÍÞL€VÑd¢±nWÒ”™ÔéškŠø“É»Ÿß™0Y‡q!%—¦ir\^Y×4!S$•8PŠô¤B¬ÇjmÉåÏï­×¹c}EƒÕ°E ¦ …D|""×aÒÿã‹§¬ ÌGNÈ$L<;‘=\ÙFR't¹”6#µmvpšëÛX]†n†ýUI:ÚÖÔaàî>Zkæ€Òd$Ó–ÚcV€»«¾Þ¡ÉÐOÖs[[÷¥×W†èî]Çê{HM‚*„ÅwïÛ²eO§¥ÔÄ1$9Iãp¬‹%™8•àì­µMŽ©£Iub†ÆQ_ßå8k}áÆmµnòS1hÙ–àI{K­ú -Bêj.ÚTÔ`å(TZ ¥P÷@¾2  B‚³ÜÙé_íSïÛúØVôRxF<²ÑIRU˜êwü p†Ëû}ï[z-—‹siÅcsÎðÞ€4ú8G‚aH‹‹ÿñè?¦öõV!ÒrÀ_ý!$€€oÞò͘˜ò×É¿þžî{àEéÛ¥Wö±Ä®5®Å኶ÀpK¡IÒ¸:šzÜœ­µ-Ž‹³ÿªJªrK¶É=Sw¥Í:&Œæxs}›gmk²1z=ƒ JMè9ú’aàêrp¸î–&ÛyŒµ" ­AÏ·{-ÎÚ¼³hO§J]¢ÊÑÒÐÅ!ào`EyºZðÖo±yº¬ž³ýSç†þþ·ý™ÞÆ×‡eHGGÍ2 :NpÞÑ´sfI¢#%/¼>Á?óŠ@‚€ §œ¾ON{###yþsM"(SŒåkÉß7Ù3¬ÃægGƒy¼u²c²ÖÒ`cõ ²y_„Q®IKfÌ5Yƒ³uOÑ®f'œ¡4×E]-”äRš-ÛÑ`vpwÖ7„è|Æ”"5©ÿ©¯wé Æ”Πw«ï| ‰è¹ÖD‘³ø~aT-MÙ‚‘¡Â¨i8A›œÇÌ “ÝKc)mV*ÓbÉJdŸ)RŒe6SÅæÌ ´vUYI†r†éF*!ϸ²Ð´1½ŠQé YÉL€ŠÏ+Ï3™¶­©áZ“j,_ p`)}xEiprRŸšW]–1Àé:ºùÁ£Á HF“˜S^Ò+AÆeeëJMëÓY£[eœtB¥ÍÎM,4­Ï¬dTZCnÁ=…•ÛvhªwŒÍ‚Æ®-/°¯YáâIMrnyî¸ÿ3 ¥3ÊʺK+Ög²Éè³ËI Ó U“9†VÓ¶‡+y’©I.0&‹[^q¾³ü;‡^?”›òÛ_ßök¹_þ?MÿóHò#ʈñÇÿ³ÄŸµ=Ížž> ]¹dåíÑ·ý™›¹(j‘›s3¼õÉw{ßÕFi›iüù­{¿õŸ^˜MϾkö]rnÍùãG\§]÷›äßLOü«ä_Q2j÷þ•7­¼Ò²—c\Õ²õp`ب^eÌk/Þ¶&“f4ÉÙmKÓí¿®ªâcL^u†Pæ“7›šô»2Æ!“ %µÛ¸”€Ûd5¥ªltO”äÆQ“÷¡¤\HS4tÿ}n®®¸xý•ŠÑ¦¥éÈæ™¦!DXcyŽÉ´5³‚HUbŽQ§Ù%¹–âm¥UÚDCª¦Ã"JÔÕÁçó I$’ONsÎ?.èá”$2,8q: ÖÓ>©t’&—9¼ûÿ:ø`Bx`³PƒþŸîÅÂÄWÉÿãñYO’8Ð̾ù!?+"¸ Àë<>ôؽ½¬oÎ,iÀ¼SK 9ëw >?äRȤ!Žìô[Ïx“–R ŸWn·”—Ø6–îQíÍ_™·²¹b뺆QéÓ’U£æ¥*9~‚¬åÄQ@R¨æ}á *>¯¼ ¢4 k`ôÙÆ%É—©¹fܕƂöÂâ‡ÓIF“˜eБMcQºÍµ-¼¾dÒä2¥3$òŵæÜIâ êôùˆ‘‘‚ Ä!r]Áï÷û|>ŸÏÇó<Çq'Ož\¾|ùU*îÓO?ŽŽ¾¼Èûˆˆˆ+UMZoíÿ˜   A’ÀBÂsü ;ù±“ÍÁ˜åáÇ®T%/û°Ú+ ×¹cM1Y~¤HÜÐùÆÅï÷÷õõ-X°àË-¶_®–ØÚ6mlȪ۟ñù&$Ü;Ö—ÒåuÛã)®}ûÃ&ÍÞ‰ÁÖ"¢äN$pbÞ칪ß4²Ïg=>á‚{z}Âb•¬hý¬Ä¥€3ýþÕOŸf‡‰$°Ð‚PDH4³¥S#º+8gêñ • î-ƒc´î‰ø·uQT°æp¿þ38bÞïG8E,VÉ–Å‘ËâÈÄ¥%õÞ`!ñø¥½ƒ²¼ùCþõ¸>õ²#Bpµ‚€ € +9bÛ*E˜ô4ç @Š­QäÚ‹­è¹ÖÌŸcíÿhÔˆ#AAXCü3ð­p~«oòeg)½aËÆZÝîêüx…³£¡ƒ×hÄ1¢ˆÈ5Ÿ}Ù¹¾Ø•[½+CÍu·4ؽ–þ¼×T$俍6WËÞg÷Ð9‚ Ï™3Çéöäðz¼ÂEú*&†Šúü‚×G„“ÄœhÉÂÙRí<ù­ äKÈ5s¥¤l<pÞ‰š•˜²ëLâ-TÂ6òäYßûŸzœ>í<ùí&N#'ár`äSxÎÁ7 „ÉIfnØ‚¹sT÷,\ð­Ôy'NÉ^µp¯¼Çuæá™”¯Wøä´÷L¿ÿæ¹sˆ‘³‚T~N‘+ŒhŠˆ\kbg-zÃÑT5á A…ñÍAƒ[œßê›È…êKñxÔ+ òÚK פó­]UR–&Foˆˆ\k¨„\ãÊRÓÆô €T%æ–å^ o:«$¯}[i½¾\#>b‘™ñûýN§S­VÛ¼í¬×/@vq®Ä!Î?ÄUf$E<õuÅÍ7IÕŒt¶Bªˆ BnÓ"“Ëo¥þög=〛f‰K©prRyr)±X%[¬’ÁÛ‡Þ—ðÉóè7ƒ;¯ Â0&m+%$ ÒhPêð¨xýì•ñié†{bÚ?àk_´Ø<ÐÓÏÎù>sún¾‰’øÎù%4©ø£‹ÜèàË/¿,>5‘KbÅŠâC˜ˆ–Y´ëFÀ莠„@L<B€ \Ä!³qá¬/ÉvWTœaçAƒØNDD®+ʤü=Ïå_髪3vÊ€]ÇŸŸ±Èù5›€S.ßé>ßyü~?ü|~Áç‡ `ál™*&hMEEH¾™y1Ýÿ•0ý²þåÁaáñû#æ1¡ÆÆ~½CO zÛAøALðÛMªžÂ¼Cðœ‚û8ù;y”nþâÿx4iõª{æ”î?Ð<(“çÜþÏœ^ŸŸ”Jàý"_ PDDäs2_±”’ŸgÜþCàèDp1Áز)fÞy¸9f‘ølEDDDD¾èx½^µZ=Äù?>íe‡C¬ LΊ$Ì–1 ‰"\CK«dËo£ÔŒ4¤1é÷ œWá…!Næ˜ÇH#¾¾èHÉw2fŽ7a߃m7NÕÂËBrq1›Q°¼ó-Ì5È ýJÜ<Ù¾FÖÑëë9å¢ÃÔ¾¯T&úED PDäËÎM‘êpY„Ç×ÐÂøv c§Â Á%€ ç·ý_Ê$2UÔ|ñÙŠˆˆˆˆ|Ñéííµ÷ú?øÌëñ rÙT“ËçbçȶŸðþ§G¯ïÜ€ÿLŸÿtŸïl¿Ïåö÷ ú¥bó×"×&G^Àšü8}=;1øVТÄ Y⼊y<§£ÿMÙ¢ýúÝOÆÐ³v7 œøÔãrûbÔŒûÜ©èhqµ»È oŠ}""ŸeÄìØY‹Þ>Ó‰ñ8ÐQ7 ˆÀV0“ Ì|Ää¿åùÂYâÊ‘/<4MK¥R—›ÿä´7¤•å0;ZzëB¹2J ``Èßq‚o?1r¦ß¿è&Ùc_X8G€÷¢ª‘míâ¤RÂD1º²B*!\nÿ…«òYN< Ÿ#¨v%–ú½ðc’WÐpýM] ü>à>‰Sœ#E÷cÞ«øýKƒgúü‹Uò°°ñùX€"""Ÿ !yôÖõoŸé„XùÜT AûEÙ†~ÿ”•€¡‚º›n‰ŽùÂ3{öl¿ ô²~—Ûò¹”xçcþ—bïÒ’9ó•Òà†1~ì¿Ã‰øÎRÄ$"öûP$@2Á_ÇŸ…ý >Ûo?HÂ1|a&d/†>€­g_€Ð‡O~IJ¨ïø¡{(œñó^!::zddDüÑED PDäËϽ V¨"Õ§ü n3jäì¼Qà…7ƒyâÎMâSùòŒP¥„TBA·Ú$>?^èþë›Ã —T0 ïþúæð}·S7ß$•Jˆeqä×î ÿSû\]°÷pÿW«åclëâJkûcVêaÂÞñÉÁwõ/¸ý ¨›0bß?^J%OƒR£§~ ·`ñ†?õ ˜µ·/ûß™ç|Z- ¿ù¡„uŸ\*ßïk‘kD|""×A±Iä©‹¾&Œø7ºñ'‚ë„@´ L× ÂÔׂ¨Ø„ùËn¸›äºv­Î,êäfúÞÝÕÔÔøÖݹgSúŠôu;»¸«W΢ÌÕ»º¹ëY››:Ý¢@ˆ\Ü­;¶×ÛÝ]»ò÷\¹¸¼_V ÛóWdîhïܵzÅ–¿Xj·¬ÛÞdŸžÊÙ¼%}C½]üA¿Dœ={VBªÉbµÌï † @ÊJN„É é„TäRâÝOø?w y|CK²ˆ¼+Žòú‚5>?…ôÑ{#$£vܧ缿=ÆžððÕ¼À:Ý~ }Û> ž?pÓc[ˆs…ù0?|½ù8Þ bîC¸ò9˜Y >þ Þ||×__ÐÛ'‹àÁÈÇz\7¸À}þ tÀ7‚„$D$a ôu€;1š¬C €Ÿ‡,&¸A(!`àœù#¼ý† xo`ÝD%•9pENˆËÒÜÃÔ=·3Eqê±£˜‚*"r}ˆc–ÞûàKÖ£§À   @ Á½@¥„ôíC×ùf¬µë6·¦®eÌ6—ËEêóÊŒO'´7ï*­<Öä*1§¤$K¤¥w IDATcÛ·µ°ÍÅwlÜÐùƒ5Ž_vð(ݸaeYu.y¬ÂTÓáUrnIAF,ålÞ²¾V¿–9vØ‘ºwoFÃÆBWÖJ´wôØÐå•dt×Ôšm6™\°»(mÒjHgë®BÓ1ɨt©i,àî¬-­¨µ¸H€Ô¦æ·§¨8Û÷•Vµ¸X0‰9Æ’ì´ç¯©Ðî=Gîöü5ºêC[˜æ-kjô¹ºžfKU­2æ*›jšzlV“]^žG³6U”Vµ9x€Ö®,(ÉORÂݼeMm —Ãá`5«Êʶ0-…Û;Xl]×U°wgš¸ŒSäÚ»Ì5•:MÏѦ–œýJwW½ÉTcv$£Ï2³ã°×nØØjÈÕ´6÷8hsÊ˲b)®»¾´¸ªƒ¥Mr¶Þ\iÎ9²/ÙV¹±ÐUrd§Î¶k}¡+;‹lmîq8\dbAùŽ45BÊÅDì [6×êvÈ£`oÊß\£)¯Îaé” -ÉšõŪ¼äÚâªÎÔ ‡Î¶Âõ5if©­»Š+Zl<Z“šW¶=erwq`tke[fºÁ‰¹Bu!{< °·î1z:Z“š[’—¦¦¸ö¢5LN²«Ùls8\LjIùö$QØ/À¬Y³¬VëâÅ‹¸#ÌÑç«yuù ‚ .îè<‰¼WøÑÁþ_nY¬’HXB×ÍúåŸÜòL”äñûƒçúá•÷øóˆÏ/HB&Å#‰árþCœ9ïÐ/‰€ñ@' õœ8‘KLOFŒ;Z0Î6aŽA_D……_âã ˆj‡ƒ­_UP’Ÿ¢gmª0UµÙ@´>ÛhÌŠi[…h¢gm0•Ö´Ù\ µ©¹%zó¸nÚmhÚhÒì­Ë£ÜÝ Sµ3.ܼ§ç¢;жUöð|åæuíÆê‰Fà4-¬‘=–º°>MtžP°·)Ûž¢ë(VÙB×9Th­Ý°µ=c%_{ ¹ÕûRûJMG-,r´._`)}€""×¢¯>Í„)ÇõËFõ‰€P'Â Âøkõíë+ã®û½¼¥M‘³{ÿÁCÊôæ S‹s‚h­0µ0uÇ?R¦·TšŽÚ©¸-e¹R[pà`QúcååkUdbYÝÁíÚžÊÂJGÆî#Ï5)O´TÖX’ßÓÆf8~0?Ž —¹+¾`ÏþCÕL›©¸9©dßþCòÈ–šcÖIš§=Ppãs‡öæ([Í|°:¦âZäT76>×XW j+-m°ΦÒâ±îøñ—äð5Å3“àmm|VÙ¾ƒu»“¿/¬DNùþƒu剶š*3®«²°¢'±¬®±±±Î¨i+.nrrõ´Ø3Jöí?X·;Õv¸²Ã©6”u¤*wï!Ñü¹öPº¼½{ ôºìÝÕ%ÉJ¸Û+ «Ø¬½G«sÉúBS«;Ðp-MÈ.ß·ÿÐ¥ªÊÌÁz¸´²'u÷óÏ0ƵµñÓDÄÕÑÊäîÙðЦ­²¶{F¹˜€ÚP’«:VZÓÍ9›+*+KòâÊ´ü¬8J‘½%I€ÒÑQß:"몪haŒuu%)®æ¶IÝ×YYz9ÕÇ~¯ÁõûÒšnn†œØ‰„ì.B÷xÖÚâÒ6MÁÆÆÆ#e)Sáak G[WBÁ¾ýŸ«ÎáVãÐ.ˆT*={¶Ëå¢äÂÚäˆ'î¤H‰€Kð’2ÂvÚk|¶ï]k°}.‹#wdÏúÆ}‘OÜ;7èÿ°;}Ͻ:tÊå“„Ç',QË–ÅIÁ¾ƒ×BíA:Sˆ‹;"prŽÁ÷ÐßAÈèAvðÒì¿vSa r?þr]s¬´´Ù kMq…E_V×øÜsGvg¹ªŠ+C.©ÙD¹®ÊmU.Ãîç¿|¤Lo®(=Š º‰—¯ÚùÍ;T.eÊÎÝýh’0„]è…ô)Ý]SZiËØûüñãÇäà˜©rRlÈ:‡îI¬¹Y™W׸Ϡ¶­8Ìæhlll<²ÛÀ·¶Ù¸/´”‰ ˆÈuC&‘nÉBp9 ûœp 8Äv¢½'L6 çÒªwo¾ØyÑ«‹ÆGPèÒôdOó„Aš"¥ìH]IŠ€B—¢#]Ý®úMÎÖÔÁê²WÆR¨8ƒAåhëèFŸ¡S¤6C¯@«4 © |A«4$ke¹‰WkµðZC¢—š¥ |ÚÓÔÄìd5(ôY©tO“Åí67X˜Ô¬uFù‘:cÂÌÁ)¤*99Ž(&ž!5i‰±Á÷p¹XÎÖÔæÒfgÇ+(² ªž³H&9C«@©âUp9XQD®¯ ¨Ž‹S+(el\¬\OCs²§LÌN&ÍMH!9– ÐÄ3p¸X§¥Ù¦J͈§*veN"BDtY £5šu¸0³\L²y̱ÒââJÇʲÜP!á”&EÃ÷´;BßKó–†c­ÝNNŸ½s‡!vÒ× ;Ž)ÏP 4‰z†µãŦÝàÄ.)dwºÇ³w4õ¨²²“ÎÊl­£)Ð{‘´>Ð ÑjhÖêâÄÆwÍ“¢œ;w.*B²15rÍòpÏ%KÊeÄû6ÏÓ¿ïsTÝ|“,ó`°Ér¼ðÒÛÜ«ïq‚ <^$,!#e,ú^‡§úî3 dðÞ /ÁB:ã ó[€>z_×M+f]RÖž3³•”)ƺ#eÉJ{G›M•eˆW bS³´lGsó$dålMm¬6+5–ñùÕGv‡Œ”œQ;Ÿ·yŸG§O·l§karÆìçÕ§T\þç÷fÇRÔ‰)*Þ6EßN¯óÌ 4iÉ*Í0°5Õ7wÙÝT¬aÇÎì¸/ö²1 TDäz²N·¡éã§íÀ£1  a&µ"2nûº‚Šº!™Ñ M“¼ƒŸàpšVÖ4Öü±6ž_9ãUXKÒ49z!†kg9$©¦Ç:[r< ’;åj¼‹%™Ñ”t0ïrñ¤Ž4ªi¾ƒeYžåIõè(…?óÍ*GË$A Ço·˜ÖgVëÀBT>¤’¤0)íÄYÝíë ;X€ÔæVïÏŽECäÚ»\Û—oˆJý F‘aãžsnß{ŸzdR2Âë‡$,! ß9¸ßšjйÿ⻘ý0–sC? |Rž³àN^²8ø6¼îˆˆ›.é4—‹%u”Îae1Þ I†ïš>ÇÈ…l¢¼v¢¢„b&íR;óÚ 4ït::éT-ÌÍ8$8¯>gm©ª¬7;x¼ËÆ«¦u$SëPi1"Tä:Lá0 ͬ,¯›²“=¤\‘<˲€2(AüeË&7{®»¦Â¬]•쨩lN¾œØhe‚a{‚a;ÜÖ&ÓÖRS|Ýž±‹p]…•Žœêê¬X \×Î5Û\÷XBt!{<šVÓ¤6÷ÀþŒIõæ:ÅÆõ9ˆ‰‰èïþ÷uQœÇÿBçˆTÉÅé=‚€TBØ{}?«ïçãðU÷DÄÍ“ÉeÁÌjFúïYQ›¢í.¯Óíg‡…;µ$üÃàNNrJÓ ˆNÆì Än›=ççÐÿwœÜî$Âo¾d ? o¯DriJ|r›tZPѱ4Ìc ’w¹@êh`J§B6Q®{¢ÚåœV¯Š¥/R;_pjãt:ÍLÓªËXk MæÔ½{wÅ+kíºÍW¨TÄeäïÌÈgo­ÜVZ|T0ë ¼³Œ*"rYsËê¥ëˆÉ›}â=%H! ¹ 謰è¦þ(‚Œ¼aîÃÖÐÐÍp›̼6e|sAÞåâi•†¡w×ÑZ ÏFŒ$xÞ5yìHi2’iKí1+ÀÝU_ïÐdè/»ƒ¥4)ZX:ì¸îúúžÀ§ÚŒDtÔ¶ÙÀi®ocu:…Boв-µNöfÓæ­•7I«hÖæàÀÞÖÐÃ_\¡iÉŒ¹&p p¶î)ÚÕì<ÚáùàŒ¦B@A‰2!r&£´=ß” ÎÚ¼³hÏLKai­^åhjëæÎz¬¦ƒýr1±ÙsÝU¥GU¹%ÛÆäž SH¹á]–V…:›‹65X9 •VCOöcð.Oú!ÎÚRkfyö"L×ÐÝEèO˜¡±ÕÖw¹ÀÝY[´£Á*6¬ÏB¡œ!ù·µ³º3Üã9:&”(“ƒþƒ/þ®™?`IBt¸d±JöU]ت¤ˆ'îTEKà ï>ÑTóöâD!Þz]߆eÓèk3ÞÍÆ;›pöè%Gð ÂëºÔ¼6Ùbçw{ÅæÍ¬:1Cã¨oèâpÖcõ=tr¨ ~C6Ñ€Ú­9ÖÍm›‹[“tÓçÑΗ’+„æ/­Ð`9ÖÅ’LœJpöÖÚ&ø ÊúEt€îΛòk»9”ZÇ|á%KôŠˆ\g‚øFü7Ãçžï9°þa  ƒ”‚Ü3i«è ªøÎòÿ7?ZsÝ©MFÍÖ ‡ƒg’ ÊR•@04L™š»¶©t뚆Qé³ó ’‹K‹·ÕîÝœ¡«¬ZŸÙn½‚QéVéÚÀ§Æ2›©bsfZ»ª¬$C £¬¤»´b}z1•~mYY’‚BNnb¡iㆣѧèézž¿ð*>¯¼ ¢4p `ôÙÆåL· Ðf$ò¦­[ÄÈO‘ë>ÎN2–ç˜L[3+øÀž½FeÝQq9Æ'zJ·>\K«´©Y©*³—)ສŠ1yÕJ@™kLÞXljÒïʘ’ÈÖj#µ9ªE(“s ­¦mWò$ R“\`Lž[‘˜—£-,^³šQ1º¬¼‚U=…¦­»Te±êDBulÈO™]f´—–®Ïdi JbqÍßP‘ÑÑÑV«õ–[n¹)FúÃÇ¢‡…—ß #/Áu&‘~¯04"øðú„Îù¸ù²èÈi¡›‚~Ï´JÞ^8_a¬I?3ÅÁ áÒ,@EбÌVjÚø°‰£[YR’¡Ö–í¥Åk2Ò›WžO…h{±¡š(âóÊóL¥Û®dyZ›ZP¶69ª›öæžW;».Bð§ç 2”¾ø!Á¸>Ý[’›XhZŸYɨ´†Ü‚'z +·íÐìJù| B—“¥*-|¸†'I*}nÉÊ/öÑÄÈÈÈE&òχ ~¿ßçóù|>žç9Ž;yòäòå˯RqŸ~úitt´Dr9½uDDÄU}}#½%/ÿ›åì[  ‚¢)é'ü¹IšŒ¬¿sãwïÍ¿ªõº„ÔÖÚ ›[s컂Gûˆ|Qðûý}}} ,ø'ÛKÛ+C÷žu[{ ŽìIºÂÏuí\_Ì—Ø‘p{š/Ew#KnHl6ÛÂ… #""ßûÔó³Cýæy‰äb×úü‚"\òoY³¾vWØà°PV×ÿ—7‡çÌ’Þ2_7O¾pŽ”QH#(âŽEòHï{x3Ã''ÙuÈÛqÓjÐ:òq³wâÜ18[àíGø"ü˳ˆY×WÀÕ:žÝÜ\€ÅÅp¿‰ŽtŒ™œ CŸÁ<044‘k+¶¢PDä† :,æ'÷•o?þ½û? *’¹²˜€86Ix·fù·sÅ'&""r}p·n__A«w¤(Ý m.M¶æšXBöc•mªœêq¢éŸFãr¹ü~ÿÒyôS_Wüâ9÷»V^\Ðô ‚LB<’~ïm$)#öµ°G_Š “8|¯ôù^éâ¤RÈ$„×ßä)†A>Ã''äè[ñ•ˆÔÁÛßðè*AòÙ¸i-l{ðÑÏ/k  ¹RD7ŒÈu@\("r£EÍúQÊÎE³,ˆ%ᚉkÓnYù“‡+H™¸VLDDä:¡H)(H´™Ö§§§¯)µè Ê®E0g­/­¥óJ jñøç%::ÚívûýÞ„%äw3è³e~ákp÷-äÚäF!97ào|c8Œ"›ÄÈe„\F |~ Ž=§x<[üùDn4ô;þ©î÷Õ}ðÚ¤N+ÚŸVtMïŠÍÚw(Kìñþ¹‘H$v»}Þ¼y÷ýKØ/˜ ô±¾óÄ‚ ‚ ˆ¤'„içÉàåw‡?;çÛ4@ ·L‚7º¹o¤DI¢–áô ã;‚R*øy ZÐß1þ¡œsÃ÷sHÃ!UÀ{i»ƒfÝ Y´Ó錌Œ\‘k-Mâ#¹¡Jd?¹oWòÂûbždŽT*{è¦áÒ°ïÞûTIÆOoDóODDDDDäš@’dÀä8îÁ;ßúº"œ’ø|Ây -¯§\>»ËûþIÏÑ¿Ítø)'ÞþÄsz€Â¬»¦™bG ™zL|`M pé' €< 1_…”"àV‘kè¹á˜©*º÷'Ïþã×16^*•Ý>붬ß™3{¡ødDD®O~õ–‰KÖW¿äŸ†ˆÈCDD„D"éííeÆpO8Aà?ÿ·ßç‡TÒ$FxápÛÐßßãÜC‚Ýå›io©§û|ÍfnÃWu`Rqªæ*ÞƒÌú*wú†N†GÌS‘k蹑J¤ß¸m£T"•ÉdQQ³™q틈ÈU'*LþXÂÍÞ:ïáÛÞ¦Š&eRÿ„%:”LÊD^x î/Ö&e'.¹˜â¾›¼ô?WÝ)>v‘K%,,L*•ºÝn©Dxì«Eë£<ÞàIS-@vXxÿ¤÷3§OÀù¶•ÄŸ;†]¼ 7@-ÂØÙ„þ G÷ €Ÿ‚ÎAüü¤d~@ð_$`þÉ£¡z‘q^DâP\äz úEDnP"éèFåõrQ‰T| ""W›Rö£Œ;>:çŽ'O»Gθ‡]ƒã' ë2¿X›´¦ª9¤Wp¦Œ¤Þ?ݳ’vsÁóÄ´s¢ü‚ðѹIçW}e>cï:ËŽÄͺ]6Òar÷ˆÀWæÇôñ'{Ç×É$’Xeä‡gÝâ$"2®"##{{{ûúúbbb Ë#N÷ùj^ôùÉ Qžsl„„>rxžûûÐÆ+äªÕ8Yÿ ¾‰1ɘÿmxÎrÊû!£áé…÷,|ýðœƒàEl>äu üÁD’HÌÉ€4ì{Á\cöס|È7ô™ô¸e(""Z€"""æÌYxö¬¢ÂÅC;ED®6û7&³œçýÓýŽa–ózý~¿ ülÍ2J&yªî5ï|Ö.—þΜxéÇïÚ{Æòþ -~ý]‹†yß ï•Jˆ¿¾÷€ÿÛ|ÿ‚è‚ NœîÏýý«Ÿ?iÑœ_¬Mâ½¾¨pòɃ¯˜?uùüÂ-sgÕæ¬ÈüÕ QÑòÚoßGüñ-ë¯þöžÏ/¬ÔÍÿéêeŸs¯ùM‹ø‰ˆL$&&¦¿¿ÿÔ©SóæÍߘJ{¼øýKƒïŒFàE@ðáèkÃñš¨$ÍV }„³zà8Œ˜Ì~ñ¿…àœÄÐ |VáO xaÛ R›Öcîc6’‘@_¬• H0+±Où% —ƒD\Û/r}'DDn\¢¢fËå$E} NµæÚ·§¯ÞÓÍ]b.ksSçEz>ÜÍ[Ò7ÔÛg¾VgQæê]3×àBeYk7¤oiÝ0_FfÓañêè;*—ifG…Éç*ÂfÓÔìȰ¨0yÒͳ“—Ü4?:BÃD&,`ü‚@ʤ†>78~‚óÿ»ï¶o&ióµg=óâ›'ª¨p–óîÎJb"¨Ç÷ÿí‰ý»}^ÌÏV/ —K«¿÷ùwO®ùMËSÿ÷w×àˆ{Ä£_Àzòþß¿ñÑYväßM}Ýv.}Ï_6lÛ´<îkºùL$õÓÕË*_²l:øŠø3‰ˆLgÖ¬Yááá§O;¢"ˆÇï|$1á¿Üã!£Ö3Þƒ/~â¾ÚR(¾?ÞK>Þy=Åøxçøëý§ðÖ:8^€«ï<Ëwðq>MóáñîF¼“ƒ¡ m‰y«×ëñWxn¯ß¾©É9E¹uíZYÔZù¹[·¤¯«µ^^q£jÑ9ª~ÓõðyK¹Žˆ>@‘—ð…\Nɤ_9¥’JŽ —vŽ!gk¨ªUj3®Å Ðײ,‘ŒŠGï¾cÓ?ÌASò˜Êëó#°ŠG@ÿ0ÿü÷‚§,|Ú7øÈ¯OÉþ¯Þ²ëø»íŸœð£?½9WV?+œ|¨ò/UþåsîÛñp‡gÝÿÙô€W>: E«RE…þÑÔõ鯤%”LZøÇ×ìxXß}fàõOÎ}í+ïœê­~µ[üDDf",,Œã¸þþ~ULôæ¯ÑCþæ·8A./v† A@뻣lɼ]õ•ƒÄ;Ñß §Âtrj@Œ-„ÃãäÇSw $„/Â¿Ô ú^ïpŸ×/ƒäš(w*>ï@¯¸ ÇÇ®Ý[·J¡€Sl…_@D ˆÈ l6‘¤œ’ʾQ"ÎÖ=ùë23W¯ÎÌ\·}_»™¿ÕEµ;7dfæ·:ÛK×l¬êæpÖ¦›Vgffff®ËßÓî¼Mûêwmß²iÃêÌÕùûºÜ°7n;ì°Um]WÔì ™ œ½idžÌôÌÕ¶ì8Ú͇ªÖ®M™é™«×m*ª±°£ œíûò×e¦§§§§¯Ëß×鯔²B$ÀÛŽîØ´:3}Eú†MVìÍ»¶¬NOOOOÏÜPTp1rÝõEuÿÐÝU_´!3333sõ†¢Ú.Ñ™x1äñ˜NF…É£Âäar©"L®“G…ÉaòYáäXÊÝçÂdã+uçÐa½C<€0yðC%—K%nÎCÊBèÜHR`ˆ÷¹G<Ú9Qþ^zß0ŸõÌ‹gÙ‘y³"ºÏ \½i µ³vû†ÌÌÌÕ™™ëòwµÚÀºo]zþ¨|ôIîgmرiuzúŠôÕ›v¥Ãݹoûº@£ß´£ašÞZ»!3¿vÏ–ÌÌ- vÀèD233×mÙÕlçàn/ÊÌÜ1æ<°7l ¸B\vreÆd^BeÖ¥oÙ·¯h˦ ëVg|Ê=º»vlZ™¹züºÎæ¢ÌÕ;ÚÝàn-ÊÌ,jyc×êôüæÑ1±»u{úù‚D®QQQn·{```ÁlÙw3I·~—}Ò:AþÜ1üÛcì§CZáŽzÌÿ&¤J² /)¦1C 9 áBÔrϰÓã »¼êmÈÜFw{QúŠÑØ{æô-Í}àjÙÐSëŠ͸rãzSçDµ"=sCѸØ;vå¯ËL_±" |'¨Ð¦-£>E®{×êéAgž»5?sC½Ýzxëú‹ a-5Û7¬N_±"sÓ®Ö ú¥ÓED ðËçÃg…SyúŸy.þ Öº§ô쇞䆆­¯¿þ™Güa¯,„DB’ÔçXÒp­°7—¶¨ 4>÷\ã\òh©©Õ $\æöø²#{Rè±AgWeaEObY]cccQÓV\Üä@‚ïi±g”ìÛ°nwªípe‡Sm(3êHUîÞC;Ó蹜-¥f]É‘Æç–g9Ûz¦š€îö S SP×øÜ¡½9ÊVsà{®³²ô0rª?þü^ƒë÷¥5ÝÜIJ”¡ Àž§a÷sÇ”h;*L-N¸[%?~üH™ÞRi:jœ-U6ÃîÆÆÆÆ#Õ9t{“Å w{Ea›µ÷Hcccu.Y_hJožý{ÏÄ?û‡xÎâ„®=ÜþA({¬üø;OÝÛš;bï\¨|&û«‹g+þý¹7Nõ µþ 3iÑœ¤›çüikzç§®²¦·ÆDV=~ï •kîˆ]¤¤ý‚00âùŒ;~œ©ÿCç''{ç AÔ½ñqâͳȤUTøU›¶ ÕP[Mŵȩnl|®±®@ÕVZÚ0cdõD'»*·U¹ »Ÿ?þò‘2½¹¢ô¨Φâ£dnucc㑽Y®ªÂÊ.nêXs³2¯®qŸAm­-.mÓhllöõye IDATŸ‰(îÄm¿ÀíÏa‹ø¡3ŸRú²o6‘îiµqgkíat¤Ùìàîivh2tÑßÓdÏØý\ãñ#FMGe•™›4ÏQh²¤”?üåçwg8*‹³²¼££+Éx¨ñøó»m¿¯l›`Œ)õi*Gs€£ÃBê[ èžf¨g.¶Ê¬¹Y‘[ýÜñ—ëòèc¦Šv÷L#Ñüç@¶tóÎò‰üø±ùïì‘Ç>ZX¸~É âòX_lj;%žšu…¡¨ð¹ª%7þ:@·¥©‡IÍÒ+@™œ¥‡¥©' v4ɱÇ>œ­©Í¥ÍÎŽWP$dT= f'Lr†V€RÅ«àr°ÌÅõ4÷zƒ^@ŸeÐL©gkµðZC¢—š¥ >Õ„GŽ”g¨PšD=ÃÚ\SûŒ 4†¬e¢!‘ìiíá)eGêJR”ºéêvq †t474uZÝ”:­hW~‚‚ëihCbÎÊX €21;™47YD¯ÀBû'gŸyõƒW?:ó£?½ùèoZú†yJ6i÷ÝwNõ~ëw­/}à™ýÿÞøø—{¯ =¾â±»Õ³"ûmË ïÍ;ôšùS×Ï Ë~ºú®Þ?UøÇ×àÕ/-™£øEVRჷGRòþaþЛ?òëã_ÓÍŸC‡mùßW_ûølïÿ“¯ßy3£pâtÿ”}D¯$!jS³“Õ Ðg¥Ò=M–óU (àœ­©Õf¥ÆR€">¿úÈîUj·¹ÁB¯ÌIV Ô©Ùz¾­É6­ÑkÒ’ãìM=ª¬ì¤€´®ÌÖ:š:ì”.+™ š€ö¶‡6+ù|—ímh†­©¾¹Ëî¦b ;vfÇQYCj@¡KÓ“=Í“;1ÎÖÔÁê²BLÅ *G[‡P¦º6Sq±Éœh,HR±†,UO}›€ÛÒ`a †8ѼêH¥Ò˜˜AúãæËõ=å7&]vëBùÒ—óºu¡üÖò^VøÏÿíù=R¸éQ$4à_žEÔðKáÅøYÓà"µ¸m7î~ó7û¸Þᑟ”ôsMë¤è`1;‡ÙB²ô|«Å ®§ÙƤéÕ“ô”.I‡k‚*µw494†•q@Åeï=Rh™Lrv¢€B›¤"]s@­O¦{šmœ–V>1+•4›]àl­èÓ.a^C—½2Ž NÎÒñ–V‡{Æ‘€Èµ3BÄGpƒáyÿ™§ÿ¨x(ÞmþÈÕër+ôë7?¦9Qijš÷”1` z>k0ýÒ¶ªpÕ‰_>3œýãokNÕ™þgxÙâ3­'ÙE[—¸Zëj_üÐíäÌÒ³×/Ÿ+0ÿ·é¯K3—XͶÞ^—7fù·žÌŒ ?ÓòóÿîZö`̉·NuÌy û‘ÖNœ:ãBlæ“ßZ>WŽakk]Ý_?tPÄ>ðXvê’pLÈÕër#ö¡o}ë¼ðËÿér{O”ï<ñíÂõŠ7êj_8áòÀ‹pÍòõßÎ\þ%øa†††®K¹aa1~ẕ~±ó{.–'Õô¨6 ’íayÐ Iš¡§§µ˜ÖgVþäYh‚Æ©$ƒW C–0-¯byR3š˜¤é©ùxK2£ŸÒcß»»ŽUV5X\<Þá‚~šE;C’VÞ M“|ÏÃi9ZYÓÔÃkãù•I%{55 ¦Í&©MÍ5T.ÏZ ×dªÀó,t, ˆãÂ…_¾ôÞ-sg1‘¤\*ùÕËï}÷«Kç*ÂìÃoæj>aoÿøìù³?óÊϼòÁ¤Æçó§vêö-ïŸîOßó—±?ß=ÕxóÕ]ÏÞlùßW'¦ÿÑŸÞ¼Š÷;›“OH ,#V§fi«êÛ솕¶†•¡ V°k7mJ±,ëõziš~èÎðï „ »r^ü~x}@¦€ú Ìy}‡ó ¼î<,„‘Ñ B¥„A *Q `Ò“,H~ŸÇÛßí“Ï¿"~m†–­±8SÑÊë ôI]U =nM«…LÌV¥’ ‘c­,O2£ßR  ϧ|5)zÒdv85Í.M¶>…¯©²8“Y3¯ËÓRp\d•ifT´Hšϲ3”b-Àbä2oï»Ö%…y†(¸Zn:úFJѲ;vfÕcóåðœyí­aÍ£K81ú#ÊàþЛ÷ô†¹rµ®ºÑýÀ÷œ2Wî±6”ÿò™4…™ dÞ³æ3}?ï±põ¦}GßMλ[&‡×Öž÷}føýgŸ®~öÅußÏËd†ß}æé?¾xjÙú¹Ö=Óè~èû?N™+x÷Ùògkç=y»L¯í-<úÔ÷çˇßvçÿ4}xÏ“™ßÊ|·ü ¿w”çýgŽ~¤ÙòãïÇÊ1ðî½qb`‰>Jü]¿ÔÐ MÇBO«fÒA´Š&u»’&í¸â¶] „P¹¸všäÇ÷±.?m@Gó–T‹u¹x¨®«¢°Ò‘S]KëÚ¹fÛ”àÌ xÖÅ `Yždh¾ÕT\K««ÓÔÜíÛט‚š56mËŽ´-àœ5………5º) ͬ,¯+Šm¾–ÎôÞœ8ÝÿÂ{§þ)†Ë!*ɹ8ÖÊ’£C·QéâxžÙð¶QYãœV¯bšT=Q}hËÅØ?­¦ImîýS†€ZC*½­ÁÜ×äÒå&*wÈËr“7ËQÄeäïÌÈgo­ÜVZ|T¿÷b*3QÀ]ü‹6Ä=‚u± ci €ýXE ½r%ÔÔ`ØgPP&géªjZºU]•¡@- ×µÔÊdÑÑÑ}}}>Ÿ/<<<22¸$óOÀȧ&5q @þ‰Ë\—‹’ î4ø³ð ÀÏA ¡ S@®¥Rð ø<~??àƒòùWlêF›¡q4›Í¼K›­QjR[³Ùláu ®óKY, ³c´‘»íV–޽P4*¥IÓ²5f³Ê¦JÓ*5)*G“Ù̺´YÚKPf¼ËžeAjèF"×1 ô:â=Q]4qàÏ[Îz°°%Ë—F€b#>;ì‰Zš²ÄÓõÚà9óZ—gÉSÝj̲;æÊÏ©7N ÏKY6W@›’2§÷ÝÜ€ PÄߣ  Ÿ»$î³Ìeó–Å3™¹ 0Ë–2d1sÃîax¬¯ÀÒÌ{æÊD-}àv¹õ5k  œ³L?_ |®F·{rðg¸"Ü}¢õµ÷?ðDÝþØ“ëEóïËBoв-õf7Ø[jÍÐgÌ (MZ2c®9Ø›ÁÙº§hWóyB?Hž·³Ü ¹(MŠ–íh0»¸;ëÓÊJÑÂÒÐaÀu××÷Œ©"R¥a(€³¶ÔšYž X‘Á²fNØKçÝ ¼.M—‹§IÝ]Gk-<Ïòàº÷mÙ²§Ó €Rjâ’äAj z¾­¶ÍœµygQ »»µ©Õ*†ƒŠ\B7ÔŒDtªÓ\߯ê2t б4\]€»§©mÚ\ (MF2m©9ÖÍm›‹[ ½Aç:VÛÜE¢aGQíyöCQ'fhlµõ](ܵE;¬@ÅRsmM«Ï |_ð²îΛòRjmƒ‹Ê5IÀÍ f^›29È-pµ^ÈÝU_ïÐdèÕ€µ¾´ŠÏ.)*([ÅV•Ö¶ÕW&fé]õ•UMV²èÖ¸æDGGGDDà.žhNˆ¹Ð+jÄ#pÃnOê•/ðEÞåZîŸu¯?j™ZäñSÜ0ËqÎîA„OÉ„RêÒKmm*EKA©Ó££¶Þ¥Ë¸pP¦:1C㨯ïrœµ¾pã¶ZÇ…µB—¡qÔÖšé ] c©­µ©Òt—bºñ=õ-Ö@0w½…Ô¥¨—6¹*Ó%â#¸Žéæ§Ÿ¼uÊB>yøèï"—Þ…/IŽõzí̪UÞ׺úÔæÖÆî;zÖ;giÊcë2—ˆ6à—eFYYwiÅúL }v¹1I.d€ŸW^PQºmM €Ñgs”€{¦©ÎDÞ´õaKnõþP¹°ÒXÐ^Xüp:Éh³ :²iòÈT‘R`L-®XŸ^Á¨t+ ‰t-Eb^޶°xÍjFÅè²ò Võš¶îRUg•µ7d‚5Oê Šš­ë,Ï$”'+•|îÚ¦Ò­kZF¥ÏÎ+H..-ÞvxoY¶®Ô´> 0ºUÆÜ8JcyŽÉ´5³‚HUbŽQ§àj®4µeëSbE/ÁUáÕ}P|3AÅe…h¨qÆ2›©bsfZ»ª¬$C 9oUCé¶m*F¥KKÖ–Prg*Ýöp%ËÓÚÔ‚²µ± bKÊþ?{wÖÔ•. ÿækoÁl«-‰NˆÁ"<ÅÆÒBAS±D#­A­Ð¡v@gŒv˜ëMxf }Éu¤ÓÎ(œ:à±@U¨ƒX(Lµ±Xh­éA«5¡–€ãNÕ½ùzÿ`Àà'V­÷ï/ì|¬¬{­u¯µöÞmZÝKm@É3o6DõKÌVZÔêÕKmöWVd.×ùÅÆÅy¶%„Rƒ­Í-ž– J^é«NÿuK@ø†¦f.áÅ»õ›!ü#¡`Ãë'::XïHEö".ŒXR±F­½â)·ÄûAÛ^u›¸m¹œ¹|ÝõÞ°¿­ô*le»ùHPv&€„««+À]]ÔÅó6 ûÜ& ^0j`äµa†GÖ÷ë"n¼Ð0BWLȃ(ð}ÞßV|È?óvR2¿ø-жŒŒWt±„ 2uKêìÛØÉIÅzwh»âC½€JèŠ yèÔk¼Ã¢ÚôVîèbKìgË:  Ÿ“˵k×îî–)èžô|_ø§{×:É¿/|·Èó-åj?û…žoýiµŸGÏÉÂw?™òÖêk;‹`­rµŸGOÛn­ý<À‹eÚÜîUï¾5Çz.”isÍËÿ$õè:ôgí±påæ›õïîê÷ª¥ÓàjƒþÝʧ~¯Zê^ûç-ÇbþôûPO€‹‡4i^þ'y°'ô\(ß’k^ñî[Eﺿõ§×ýF¼Å®Ú?o9ö’ò÷ÏMrü¡×ñ·C.·Õm¯ñ|ëOIc]°f`` ¿¿¿¯¯¯¯¯eY†aÎ;~ŸJýüùó“'O¶w ¡qÑßßéÒ¥3f`Ø¢GX[ÑëëjS÷m¯]imÛ_ßÜ.ߥyh·¹aä"ô8w¸™ §¢{›ÿQÓâ>7’?æ@=¦Íô4qìb\m«ýº{ª}kçݼ"ÿ…§ å ]=ÐsñÛÝ…å'ov±ÏÞ«ô5¸X»í/5tLš6ÕÛÓ¾¬‰B=&˜¶rÝ~X’Šg9!„J¸ ôêmÙ¡Jñ›©Ë•¿ç• ¢¯æóŒ\>í&w€ðð[±nùî=Ûß­éð˜¼ú­¨iww—Ï9«ßzi÷»ì×]õ”çXÏEÎTVmùc˪ô¤˜À–ÝQîîp§ø¡«×ÎñÀï!„Ðã‘ýW­Þ|„ˆTlIÆ»@ „R¸ =H¸ ¡Gî%C##¡G+l12B!„Bèq B!„BaˆB!„B3@„B!„B˜"„B!„ !ô Ç´ÜšöúÒ ,X°`éªM9U§h更ůl=ÅÜÛ“_KUÚ+ ,ÝT~¬èõÅëkéÛ9ܲ÷õÅëÒ÷¿èƒë,X¼©ÊzýŸÚºê•¬æ›||ë7ÛUo¾²xÁ‚ ,^úzÚöo®m=¾7kýªÁ¿½ò¦j{­…þH ^ßkÁz‡=ôñ­o.^°x•¦ùŽšæÔÖWŒŒã¶¢U Þ,·‚eïë nôŠæËç¿o¦«;þjé몢ã4~5èfµë¯*j»ããnÞ]ÞI‡N\¿ø^z)¦í`ÕíF¥õ›òƒ–¡·ÿ¦CŒÆ„÷DGú·wó:½m‘r˾Es¹`=u¨@«ÝnÛ±}¥ïx¨P¨étµašQ\úT¹N[p´`ð£’LGs߆š½rË®H›7€9U¤;ÄIØ•¹Òþ7’77.ëXÿFžþ›Ešç±Ò¡{a9«ító^­¶ ¡ €ð]©T&Î¥ ­èõ ßÄ.a‹>ƒµrïz"{_Ö<ÀRþæ{cw}´’sc :•ºcûд…¥<=½´ƒõ¯/ÉÞ‘&8Q¤Öè"ÿEreZœx‘ÜyÉ©a¥UíL‡è!g­ÍÉÐjg€#X$ÏN‹â÷g]@ÂR33ãfÛÃíhΦôC':lœÐ„ììõs)¸íî’iÎz5CiÖ¬Ng³÷eùèuê¼#,lj"sÓó\ÆR¥M×é"|¡±¡N:^gý }pý«E¡©A§žèèè° –gg¯÷>”¾¹´ÃV5+¶iºn<êúiÖ¬S7ØàÄê7—oÉä@×!Í›EGÚ»XïHù–Ì8?ÀR»Ukïï9‚E©™rLq(BèÞ’§ž€ •a#fϹóbcç9ަ,Ÿ©µ AÙû>ÿüóÝJߣ:Ý m¿®Ô–¼«²²²rßqlí‘v†iÐ낲÷UVVVîRÚ«Žoè æ©¶e¾©ÛöäÄNî«2Ò÷©;*++÷m[Ù•—®of ­T­?½èƒO+÷|”Õv¤ã†žˆ®Õiy+vþùçû²COèµû-ÖCº¼ö¸*+++÷íHæ|Subħáœ0¹<´A§¹}…iÖ§ë;b?ØWù÷Ê}[ÂNèÒ ÚHÿØHïõ欢ªoNYh y<. Gv bãFf˜¼È•þ¶†ƒí V:tïãH'µþF—žg[¹m_eeåŽTboº¶– °5äÊwWn_½he-?a¯‚–#{Û+#yNcÐá(‡,Ž·eK¼/–½û£´¹l­6£’wTVþ½r·Â÷ˆZ]n1¼¿X` °R ‡_sžî·rweeeåį̂®ƒGÚÚŠÒµ'¢¶|úù—Ÿ~Û¡ÏÈ;ÅÛq´ùyåžÊÏ?ý ¬½XÄz·Ý¥³n¿YŸ®;–½»²²r·Rp$#£Ê `=¤Ö5eî«üûG[VZœfuc?°§Yb3·ÿí£Ý,j/ÕµòⲕöÎ^Íq~Ôð Î\Ev¼7–½ûo›fìé*Kì¯ü|ŸRpTŸ×À´e¨»*++÷eGЦ—¶aE !tσ'[—ðö¾Åð‰·íÓ]is)à†F  ££ €ãí íU{6[hÒ/.K“8›Ž/ak(ÿì›6+Ã}~“Fu‹í”tCù Î’äH¼E‰¡ì‘ªvˉÚvßE±sIà†­Œô¾á0**{ßîÌ(.PAQADש.oo¢ã`yÕñ6šäE«r6Üâô#8ÁVÈG´y§91íUGmA‰KüH gÇÅùv9j ç¦íØ•M߫۰ú× –¾®Úz°`lp|9£³Koo‚í²aC÷ÎImgN—°d{5å†%F UƒÉž :r.dÐÊHb0´)ïð_ÉsƒŒãQcÍU…°ÄHºrçôФËXžPÿzñuoäuŒO2|¼(¯‹õÇ@ôÐãøqØåŸÕž²2ÔÜDMVœXŽVuâ–Ì&ÈÙ‰ÛöíHµo^ñŽL ãåÿ¼/ÑÕe»ÛîÒIì¶WéòOLœK5/1Î÷tyƒ•9}ð4J5weœàÆ£œöƒ„wd¬?¤ï\_èê°ÝÖQcÄ­œG7èy_èè²åhÕiß•‰Ïs€œ½$Ñ¿£ê(žE»@Bã0’äØº:X˜{³ñc9Z /8ÚÎkkg‰(àÆfoƒ‚‚½ê7Ôœ å©Jy¬ß\ù¶ìÒ‚½ú ºvV™¬P$ÎãÜäym]6¶«tëŸÙ3P–µa]¬Ío0'% ‡8}à¯a¿¾ ê´ ÀÖβK€z>s›²  \»NÛAø/JU*âfS·øÎsÀXejù꼸±×ß&ÁáÙl@啨ŠJºíø¡µzC—÷î,o:ºF ƒÙ®.–p°Î¡{礶ûvu±¶é¯.&²ÙÂ{°Ú‘þq‘Dzù fžï¡ò® ä0®óy”ó¹£®.–zÉáqØ££_nÅ®-‘CbÛ‹6on¸ë™«#›_^0Ô„-R| xžÂZz~‰lá¤ë3l¾¡ËåÊMa¶6K OÂ’,Ap‰ÁN™¸·îÒyÇ{B»z©n0šl è°±¾6– ½‡nÑÜðVoã¨11êu›Åíyë– ½YÖÛ¿‹Ç|#(f€¡{E ¢ƒˆŒ½‡,Ñ{¶¬ßlÕŸŽV$6`ù,#ãÿ–=ϼ.Ãà0tvì&Mì&`,µúÍêŒý¡­äñžOT=Ÿ`mÞ«Þœ¡ Ú—y“Wçxsß„×~kU°v¨ùoë½…®ÕfÊ;¢y$Ðߤ½ªü,~Ñë³¢×]¢ h÷¦á3ÇúNñâ”ÉåëÔEsC‡ß&Ûnc;-[— 8~’>U{Ô=ϾÌIùÍ‹“'—¿Zt¢ âÃB½óÊ«Nůw8Ñz¤ü4'4Y@.¢qˆÜѵ}W”7Ç{ɖݪ‘“9#gËIÿ¸EœÍå §fWu¥†qhg1–öÛ˜;rXÒflm6ÂÛûæóÇ›ËNÔl÷rÝ–ëW‚Aè‘—6/. è¶*íµvîn¥:lƒ†´¥ÍÆñãÜswIÀõކµ±#S3Ž/‡SîÎ1mÂ|Ã!X;œ¸ÝÐñ:ïoõyïî(‡&‹Ããþ©»þ‹zr€»@B÷ŒŠ’§ÖmPí=n¡ks•fsúg6oïëk±g¶€ Öã{ËÛµ² }\󿦢S <ÿÙÞm{7½™uÐ ÀøûÞr½‹ êú¬È~æTy–ªèà óí8TÞÌ€õHÑÑ&¶«‹åø ¼IºyÑ –µ±ÀœÚ¾~ýÖã4\Álo‚Ñ9ýc¿1¿xe<”êŽt±@ b#9'Š>kc€nÞ»·Cʶ½\›ž¾ý›Á›<Ðmµ{O{‡†ú9;Yi+NW—7[úÔÁœt݉ T9®T qଶþq¡ì‘¢#¦í FµÕÉÕØÉÙq‹¼Š Êm¡+íû½œÅàí ÌücÃàèàËYö±Å=ÀÚMŸª­ªmólÑCí êMUy”¯¿€,/,Vбwo3 À´íMcsQs¯Ý%ÉñãØ:Ú»¬GËFv¢¤ :Ò»¡ÀÞ£µv«*ç HA”¿íhy ôñ½å£7iÑŽ9Iòs{G`³91Ê ‹´ím¦èãEª¬r<×BãÁoå;¼óô«õ6àøG.ß²#ùy3üˆÔ%Gto,-òöD¦Êå¡éºôŒÙ(VúªÓ]À¾¡©™Kx~ýîÅZ àø/QfÎ#á››¼6763»M«{c© Á"y¦€213õDÆæ—÷s|ýÃâ ŽžuТÔÅP§ IDATø*õ†Wy{û†&Ê‘êŒÍ¥Û²ƒÔÚÕ‹m@x-W¦:^ ÔùGØ–;FFÎNV.?´¡Ô@Εo‘kµ›_-`8‚EÊ-ñ~¹Õëuë^î°á-]”ùAªý„ŒèÌDž./ýU €#[¢Ü‘=üjíúÕ ôÃý_Ø–OsžÇ t»ÈÙ+o¬í(·$kµ–êØÁKQp㊳_l,Qœg[òA(5v vÝÎÜ‘2»]«[·TÿåÙ™±ÜÑKŽ?£®£zmÕÊÐ(?¼Ý zxE&ÇÕj7ÿZÏ‚H…2’ düE[FÆ« ºXB™º%u6 ÷Ø]ú-‘/9¨Û°ªÜÛÛ74:Ò÷(ë8#JΕoQèÔö ¼C•É\X¢T|“žñëÅ„· le\Q5rÐy?èüž”l«Ýðë©;þæ´÷™ú–ª_}åà–œyNG(‰ÙJ‹Z½z©}|²\‘é‡ÉåÚµk...XèèïïïëëëëëcY–a˜sçÎ…‡‡ß§—;þüäÉ“]]qé=Z¬7­Öù~°O5÷!Ìðúûû/]º4cÆ [ô¨£kUZV©‰~,VÙ1rzœÃÖ½ýµ·¹¡îsC]Ÿ~Æuš/.z€\]]ýüpb¡Q¸¡q¡¬6ï³Ä-q~¸Ê‡Ð}Ât±Ñ‰a¸É!ôËç>ÐùCïáêÞÃÕP{K!„º0Z™ùMºú—õþ Û¶­Ÿi Bãô‹ŽÆR@= B=ü9`”êoŸ«°B!t¯p6B!„BaˆB!„B3@„B!„B˜"„B!„ !„B!„f€!„B!„0D!„B!„ B!„B!ÌB!„BaˆB!„B˜"„B!„ !„B!„Ð/‰;Á/sôüÒÿ¸ÂýÈ™î›å»)Êãa}¿...ø½!„B!„ º;„×ÖogÌ#˜Þã;/lú]Ǽ#¿Šš„å‚B!„Ðcw>nH÷y¿¦l…€ÞÏWŸJÖ]TDžJÔ\e §VÓ¾ò¹Óq‘§c£Ïm¯í…Ë6Åsg¶Ÿé¸ðcâœÖÔO{˜Ÿ²"¿ÏùW¿õóŽÔÈӱώ}îûÔÌËV€~ËçòèӱώnËù”e°ÌB!„ =LÏñÿÝ5‡z~:¸0púóþU•³‹Tž]›³*=Ò*ýËøôŽKù;–Z˜ûtßñïúÀzô*;ǽë ÃÀ[3Lˆž~-/Ëæ­Yõ­ÕA^T']{¦ÎXUïüä—%¬úÖÿï¹^ÍÊó{í $B!„B3@ô3a¯lz¦5jNkÔ3g7í„XÅd¿¡¿x‡M ½Íû肋C§pO …k•']ç.uoÿ”¡¡ïô§½þk'ûþ‹ngÀòÝÛœ'ü'¹ ¨wÕþ«‡™äõúMe–«¥–>=}Jb”;OOI|º¯ª¶‹!„B¡‡žø˜>ú­ ÿÖü¦M©j»¸Ó]I€þ®Ë@Lw'‡æ¸äÀ©Ë¼°‰Þÿmk¿ìzð¬{t¤WÇNúxg/¯²Ïõ Ü_ÿ>'·ëo¿9«ºìúšJű]€³o>gL<éï9½ $~¿h½ôîhÿ¦oð'O"dwí‹Þ³nÒÀ\¹\uŒ=VÍè3V´¼?I¸ãÅ¿îj·Åþßé8]…Ðøêûr÷É-Ö¡ŸÜÜg &%¼øä “nkýçOvwÏ䆌¸Ý'¿_÷ÏIÛ¦Cÿy‹¡qÅv^X·çÒ¥¡'NöŠú?ÓÖOäŒ}ˆ­£ëk÷'û¸·?¬ÛcûMÒS/\úŽÙ0D¿<®ÜÐ'^ëLûø³ØÓþû¿Þ“Àv¡—{Bhe\y“\`:5:Žui¦8ÉS ÞÓ}ÛþÄ=ãê0uâ+ꉯ¨>sI³úÍ3^ªé®ÄîGŸÌÅ’~ܸ<»,P-pèûá¿KtlÞsmË*þœ1ÚÛ…ÎÍ>ѳIÂùßÝD1³·¹yð–,B÷ÏäÀ™;¢½è·uÿTû­%»äÊ[«fÆM# ì½Vþ­uâ“SBHç˜â/Ü1Óe @7–,B÷Ñ„ôuO- zÙ3g­ÿ}Ø´Áü«m1“ÆHûÎÿaÿ¯¨13À)S?xÇC\Á‚Å ý‚Ñg.ï9:à»qÔºœû¼×H›îRÃFÏç'õ[*»`BÖW ‰ègú5ÿm#ÂøÞàʉöh×]j÷ñJžðã¿•¿¡ŸÿÊ,Wj:é7 Žð¢8]÷Þj}¨\þé#å%Ž‚÷Ê,\¾yœ¸=9Ýûw¯xôìjÿk3wë3$ô^ýüyçY¶Ç &ú<ñÛ~H÷¹Íÿ¸úœ_·{²ZÆŸA[߯¹øõ¥—3ŸüÃ"ïî}ÆšSïOîxñzvæŸçÿüÏ+—Xpö¹éxÆË!{ì·1À!]þƒº}®œ)TlÌ„‰§Þ?üï¯L™}'¿;ÿþ·?]ðòŠ_8#~zoÕ¶Ïè~(;}váLµ€-¯¹Pbîe&N~âw±Ó_˜ݧMƒk€CÏkk·d¾t–ès6sêyÏpw0}677Ž;°Ln~ÝÙ(ž˜5›§žöXJžåüÆÇÕÖnÙrøR àæþì³Óß~fÂùzSæÙþžöÓëÌ3¶ÅLì>eÙräßgXûfüáY/¢ûÇÍö¥¿ës=Ìç‡Úw¶÷öÀžKÎH8ÜA¬·Ïnw‡ÿ G±ÑÇ"x< Ÿ8§uéê.öUßœµ£ûZî«|ÍÒžœèÓ±ÏYŸï’øß¼ç'€›ÿR¢ë»þÙ‹ €zšã}–0Ž/Lå¼ùšKù|ýÜ©ØHóñ°©ªÅî0‹«ÑzWœ}îtlôßÌz" Ó¿Ç9qÉL׳§¯Ø ÿäWííôÊHzúã·ÞžBgWYš>=c®»ÆŽÕüYîlUUG£¯àRƒ>yƒ?ílÇíqò„Wþýþ·ÌbYàÇo=ýñ*Nû¥ÇËÌ2?í,kQ~ǰWlî9•y’Åo¡;çñì\Oøáòù^°µ_Èúº/î•9¿õô¶ç\J«Îͱ±ü@7™Ì_=ÛíÌ·ç?¤ŸÐ¬ ú$õ©÷¿ÿí,ê˜Ïw÷<÷ÔÇo=ýñ:Alýy§ã¥Áú8Õ¾¡ä‚‘é¿x²m]±ù$^;¡;GøLŽ¢zí=p¥+»ê’Ç O}üÖÓÿóŠw÷×çþÚ³Âg¬ì2óEÿ1ÁÐïºûµé¯žTàýÚ7ï×Xêˆãå?ôþÔ{íà™¾Y‘>sHp ù?“§í¹ÔxeÊ ‡Î+nÕœhp〗ׂÉ;;{aö ‹nîÓÜz¿üßKÿ‡ ™2åm锑•œúÝ2ßÿ,3½ï5óí¸©Ùe¦÷‰™oÏòÀo¡;Jz¹}=?õõý΂_Eû¸À”™>QGLU?ô½pý¬>×Y‘þ%Œ ÇÈ™îì©g;¶]&{Áù“Ö/'{?ëëë7ª»x2XA›²ÿþ£Zæ—AŸÉ>ð£6nê ˜ t‡ƒùüt¥¯ûBw ñDÎLˆ)“ãù?¼ß|õuØüI>¡Nâéœ'©Yn—Ï^é‡Ïú#ˆ‰Wú¬ù21›3k_=kTÂùdVLïæªö'_ñS/ºVqn¢ìW‹'ál?f€!Ð}©Ï˘}Ýì@Ë¡S¯üýOàq‘éwÈû8ûÃ_ÿi;Ï‚‡\ºN'2&ýAÆ+þºûý=–‹nDÔsÓûŒ×ˆs&My{á¥ÿ8Ôq&Iðvä¿×¾¸D0}¶pÝ –îa ÷‰nÐ}eà'ë¹×òÀ>ÃöÁ¬+#fúÙÎïsaK»×oeTÏ©ó¾0ñíÕ˜þ=zpÑ!4¾ú»;ºÿëïþ9™û;Ü'DÏrk9Þu¾ú»Ï˜ÿó`w7¸0½?Ëþ®3'{@wûû/ËÜxBÛaNÛmn¼®S|&Lqp¼Ñä•Ëï—ÿè.ü­¯íÏïœ)üÀ ¿ „î`yù§ªÓ_;½Þzq\gÎõ‚öί/÷ÛÝõ~…¹Ñ>Œìø‰€þ‹ŒË”' {™.=Û}}NÎdè÷wŸ)í肚èå2ª­8ÿ϶?wp2–y³ß¶¿ßù„z·€"t'úΟ±¨\"æò—LqåLŸxåri{@ª¶ÒŽ~€–퀦·ÇÍc†—+@ßÉæÎ–¾;pc'~þ»³›jº» Ú-ò,,ALˆZ4ÃqðåoO¶ÿwúŽdü.U.-‘Ã?ÔžÄA>“pqq¹Ï|þüùÉ“'»ºâÒ7B㦿¿ÿÒ¥K3f̸OÏa‹F.Bh|Ã#!„B!„˜"„B!„f€!„B!„0D辺O'"„B!„0D!„B!ÌB!„BaˆB!„B3@„B!„B˜"„B!„zÐÜ]|žt zÆ}n¨kP¨ÙlÆAŸÏÇB@!„Bè¾d€Sþ»l`` ¯¯¯¿¿``````øoxQ~4¾ìµËÅÅÅÅÅÅÕÕÕÍÍÍþ—ÞÞ^–eÏ;‡ B!„B÷+$¢¿¿ßÍÍÍ>:Ç ý  ý_WWWWWWèïïÇÂA!„BèçÈÝÜÜ\]]oLÿ0D÷)tLí«ö$ëB!„B÷=Þƒ‡e~föŠg‡éB!„B?Gè2Ë=ÀT !„B¡Ÿ/Ä‚@ ®?#„B!ô³Áû"„B!„f€!„B!„0D!„B!„ B!„B¡‡—;BþþþŽŽ›ÍÖ×ׇ¥ÆËO<áëëëêŠs‚¶#aØ¢_~ØbˆÐ£Äl6»¹¹zzzbi82"‘Ëá.°,ÛÞÞÞÑÑÁçó±40l1r1r†-†í/>lqÞ¡G MÓ¿úÕ¯°CB㈠ˆéÓ§Ûl6, [„‘‹0lÑ㶘"ôè5Xh|yzzâN' [„‘‹0lÑc¶˜"„B!„Ðã3@„B!„ !„B!„f€!„B!„0D!„B!ôðÂû"ô E›[LÁõ }H,Ž›•”©ÑØb²²Ü…Ò,ô@1¦Ö6+pxÂ@>…Åq&cS£ÙJc$!XRèA÷·&“Å \?¡ÐkãÍKª±±Ñd±QáËÄ|šý6ª‹Öpí?Y>Qé¿·Nƒþ¬ÙªIñ){ÅÌÉS® ˜‹$r½J&–iZœ÷žö.E,‹í}йl“â°¥^//3ƒ³H¿õû®N'ªR“¤bIja c*”‰åC m‹e…¦qmà S“w6±­;5¹'ÂaWcÌÕ›Â5z…Ø> +r2Eú\#Lc–Djï[‡ÿOäy5 tK±B&ŽˆˆËT#Ft£N&I-3;Ò'P¢ÐkÂ[ô¹F˜–2U‚D"‹¥©ººN{ìI¥*}VjB‚T"IÐÔuŽÌg‹2±X"K²*L Œ,À£—_Zè=+‚3õíW.65tƒ`î´¡ ðêɲªZ°|ýúUs{Ú¿ÞYÔpÀÃÝÌ5µ½/¬N|IàN·ìßsìò¾Ü°»è˜ùÚÔV$.å·Ô´ôÀ¸Ú´;÷“ï.N]º~㺨)g¾°?=¸üïB¥~KaC×Ðë?ÔnÿÇEÌdxx§ñúK‚rxž­­¤Ìac1é€#6ñÅ2I @‚¥Þ¼¬ÀPœ 4—¥©EšÒêê꼓VUf ëµÚF‘¾Ú`ø"/¦5W[ÓI†(51\¿”¼²¬º:CUÃS–VWŠRh½"ÿöšA¬õÆe^qY©NÔ”_ØH„ÈD´Á`?Úd0XE²{?Ù‡i)L•I%bqÄK©ŸX®—E«…m\ë°„G76q¥b¡ã; ”ÆpM5·X0é¬ÈÈjo­®«Û¯ä”©tÆÁgéF<6æ©D7ûB±”gªi¥¡ÓI1’ÛVkòŠË*ŠÞ²¬2“ãëªÔFQNµ¡ÚPª ÊTº&?ÙB¢¾¬•±ç»LÂ5 ñ$LJ5l-©¸^r¸2²‡K®Ï}0&C+!’9V"R(‘‰…$ ¶¦z~fuµNÄÖiå…DJQuµ¡TÁ-IÓ52`> ÎµÈ « †jM€Q§«£}ÄYJ ,*”ZDúm±Ô·†k ‹ËJ³ø†ü&Ÿp™Ð\aì´¬Šzb¡LxÏk…t&I*‘ˆÅKÒj†w°–6+'F!uXÒ°ë¬BY¸cE§‚eáDËáÖ›gQ¦•κ¦ ®®®4…ÍO»>ú¥ë´ò2~ÖÖ¤›-ð“Ò…TKMÎL‚«±)$³°¸lÿÖˆFcFo*QèÌËòª Õ†‚[~Z~‹Oøš@sY½Ùþm×ÔC¸,·x?¤  ±¤Æv=l‰¡àµ×Å…MÕŽn­i¥ÄËC ”J#ø$ ÖÆ&‘ÞP¦ tÖ{2Æ÷²ó3+ CñZºDSfâ˲åœpM©^ƧDúmõ·¶&‘²µ°¸´p™¹0×ÈK¹ö’n¬häÊb„÷^@¦2…L*‘ˆ#^LÌm½¥m6 )åz#Ƙ lȈV |"d"¶Ñpó)d¦QŸ¶“”—ÖÕ}‘'5iU†Z-Æ\¡J«‹ÐäÈn¶É“ÉB Ñ`b˜–Ü4Y–·¿ÚP­ ®³OºÀZê,19ÅÅ¥™ÂÃêÜëEË4êÓòÙ”RCuuõÖ˜F­ê€Y#ã6–Ùçw™ÖM\™TøÐWà»Ü:mþ\ Úk¿¿ÜÕr¬ó=‡þâÎYÿöÛ¿OŠzê©Ðüܺ¿§‡R‚ ÁË—?úòËO¹tµw÷8}pùØ€ ÏÈ–‡‡.]3Õþ¼pµíëæ^˜ºô…§üæ¼üò\÷Þ3µg0|€<¦Ç½õ2Tn/lèêé¹X¿sûV¬[:ÍKæÁ $-f nýâØ±c… H‘ÆpìØW¥ky`m´ §‡ mf ®áü‰ˆY„t˜RÖ„P¤0fÐTÑH%Îû¢TBˆÊj²9ö‰­Z¸kR"(ð¯Y u£†’¬õ“Äç‹×1#^“äp+ Tˆ,ÄZSgs]…m<@S‰*רf±Úl#ÏDNŒ&[ê8l¤m@q9£%¤€¶Þ4¤›4r—Å’>bME©Ò¾SŽ5×d©Œ9é­6àp¸$°VfŒb$¸áËHð ‰á[ —7Ä IDAT×—*覭<™,„Ÿðc4Xx2ñ` H˜F‹ÑC5’4µÚÀ¾Ï²ZH_V|ìØ±/rÂLM×'²i+Cò9c<Á‹’Œ©ÆHƤˆ}€­YH+L _VðEA‚ BÄ<Öbu[9ô‘qÛöÞòëa;_¢q‚¥" ž²™hÆ'\&40v0¦Šz"üÞ@¦Q¯þ¤Éb½1ny+tʇf¡-,p¹# ’R¬•fo:qc¬1 WˆùÀ—n­(M±ÞØÖ’4µi>S|‹Ø!)>ÁÚhv¬b$Vˆ}€ŠC µnøë4k,Â5öÅ~Ì ¡ÕÐdö­J-õu˜>Ĭ&û†à²>ŠŠcÇŽ}¦ Öd²^¯™4px”óo’!øËòÇê=I‘¦zf\‘ˆk3Ñë4ÒGÆ­ípªC;?©Â¾–EøÅØç¸!\Öje„b)·ÉÞ]4–5qeâ{ß+ÚY¡Õn³X­£ã–)s’ó#›•¦¸ÔÈÑÁåR´Õvóé'C=, ÷ “ ª 7¸ZsÓr‰z…èc‚â’¬•KOY&$È™Œk¬heHà N¶Q!1Bº±qøë4ÕÔ3¢${HÆÈx¦šVš/–ñí) ÓZÑÈ9üºËkzN›8á놯›º~Áª@êLåП®µ}±§ªÙL÷:É·§Rž”ûM|•¦ÀÓÛþÍyN¡~è¡i¸v,Wulè¡ÝmtOè$Ì8ïç’ÖCáöÜ¿ÔôôòWo|=x–ÉEP$€m=PVl¢øâeb>m¬¨i±šì§èQá0dá°­4€³Ni¨5¶Yi¶I/Öö%¬ÐJ0u%ÚüŠV°Y¬Äš™ÕjkË,Ërù43âEýN®¯@ ¿»Áå*Dbͯ7Ë lÁï9ì¬Ðæ¶9ù=wafÁè!Å¡€6Ùm3Ñ@qoú6šj¨'#©ÁÇÚêÕZ ‚•Ü[ûkN‹1€ÃDPX3âu‡ŸžÃ%Y+KÊbˆÔ²V&€­håÉ21|h‘öªo=\R fÍôõ?>\‚5³à±&D›_o^^WÆ+1|xû[.`©),¶ò¹¢I 4VT4Òû.y½¿¥( ì¹é,üÛnç½'ÝZ¦Õ•5Z X‹…‰9yä,ÒG¼Gμ®\B; \¡XÊ))ke‚ÙM\™âž@ºN«3:+4Ñ;[G‹Èá’´‰fG”K[iJÈ`ovV–ä0*nÛvf´wÅm\J™µZi"€ÚJÛ§IÄÄP܆t²Àbx˜ 8kz' K³äð1Å¥€¶2ÀËøùeF:œWc$¤I@x×wƒpç¿<áØ±ü€¿*‚3ƒ¿¿Ü¼{Ïwæ Ϭýãê`ï?|wG‹ãQ£r5Úéƒ=¨ pµ‹˜põâP«íAQîîϬ]3¸ÌäîNQ˜þ= I Gå×î‘K1ý{ðI~x0Qr˜µÔä¾WÁÜ1·­L÷ÞÐF•à‡ÁO$¢òK›%×Ûbsµ¦’6 fŠ)*F\«…®S¨J(MQE„0F…$kä[àr9ïÇEî(‘,ÀZhl…k°üÞWIþÂkb"bèÂ4õá¡1%oíVô†"TH ÏRRaJ‘_Àš «0!€“}è;ØI³Ìˆ!(ôPGÁ˜MVJDÀ;J«J®* ¿ùe'˜–²k@J0E¶ÞXŒŒÀfDÐVˆë#SûëÙmV†àBi 'µÌh„V¡L‰ àË ‰ñƒ¦6›±$×Ü¢˜ʸSûÞà¾)ŽH4|†*)Œ UY=1“Œ©LWÁK‘‡ŒÈ¹¼5[K¯MÔY¤2„äëC( «“$;G ÁnŒô»å.æV[…u ÖÜûPŽP¼b-_,šråï orPæeݸ2lj¨Ü²Ãféõ0cZ+êéÀwH0ÃpàŽŒZ—biz0s¤Í&šË 8áÙ…IF¹B[]ª“Ü,~hc‰ ÖIŽÉI1šìk¤Cl¾.ŸbCb;­,AØ7§Y ë[¡†ÆðaÆEp¡Íj=¼ó½Ãà÷N¸DH×ä¿W2¸¡›2\iÈ€˜:·¤U‘2ô}Ò…:£H‘Ä…á­£ÎzO¦E“–Oo,.•òI¦E¿‰5çsC¤ß-¡XÌ)«h2²Fî²÷ÞÜéQ°8„¬V¥ ŸsÁ‰ÑoMýfI~x0QQbthÕ€n,k$B’„$´:¦l£º[.Á˜†rÚlb¸<‚»,'/¼,I¥“”fÝt°³®ÌH…§ðHJÈå,u‰O¦Øá5H–µ²„ˆñº¶á$œŠKø,\#Ì/«k ¨£¤ºG!¼ëkzxð_œt/ð_tø_íè½Úmn¨¬jë¸z±ýâÕ1žÅéƒ?_pí»ýû¿mj¨ÜýŃöô{!Юµ|}¦ë*ÝV»ûÃwŸ‚†lºÓ¿‡d$!O úÁRo0 Ãíw…ÜqÄD†¤lµjåY 0Y©êzfä¼™h™°¥Ð¾¯„n,TeU›h+Ë ú0¦…M6–f €53 PËÍeeŒ}hšuÛׂ+´”[D Á÷>2¥D *…L"Õd/žÀãsõ|©"†Ý)×VØwZÒ-ÕYŠ|v™"†@ñH[«…±÷ #:d*xY€µ¢¤‘è¬S'§æ·2@ð…!)­W}ñ7Æl,NÛTFÈ1>c#k­/k¢Àl8`ቯ_ž ^b-+i¤ ÓPl$Ãc„$€P*åÔçæÖó—áЇ_ªˆª‘tkÁP}ót°<%„t¨Åòþa•\g0Ñ 0fc±*U×4jišJE¬¡ÄHc®Ö¨ ÖJ7€GÐeŸ´² Í ÍŽéwŸJyM…ù5ìÈŸîöÙÄr•\"JØZüÎð Œâ9kÈÀ”¢V]šnðü¡ÎÆ2UÚΚwÄP\.am53`®¯h·>!1M^hµcÙi³o³2$OÈ%̆’z M³öî–¦Yç‘~÷) TLÔçç×s—ÃP e E‚D"Vl]ÁŽ[gý-%’'ñª´B£™±÷……iªú@ùF $%äÐ& k㈥÷ÅkÍ××ËÆã$ʇ8ðà‡N€Ñ à¤Ðå‘‚ ך÷äî¬uù­å³Ü{Ï|²çX·ó™ó÷†&®zfª»ùë=E•_®‰žÁ«×/ŸKµíß‘»}OÃU~ÔÒð鸈ÐÈF!!5—sÀ±Õ®Ñ)øeI/ÍŸŸ)9IŽƒÓ¬Ó 9 Û”ñÒüùóçÏ)AÛä§(ÈKŽÑ`pB‚[´2©X¢j)§. ×èöÇK’Ëø Ý{LS!²`«‘aøó‘æèר']mõï¥eäÚ©‰àµúQKÔdˆ¢8/…[£Žiþü—âµM~Ê­£Ï wÒì“Á)IÂé‰4Ag‰Q®àVl*cC–´f¼$Ó47Fú¨¸uàüùò1Ó"¡T Æ&θ$€#'XÄÄÐŒ+á<´“òò6rkTË_´÷…?ÅÐ^Qá²±9+^–¤2ÃyĈB•ç¤@~|Äü“Ê„ Í2¾ÃÄ‘2+Ø ÖŽü°×Kã¥Ô|‹HSœ#±ŸÌ·1'…ÌO‹Åâx98Æ>"¸"¡!C&/×Zc2S:syN Q˜ ‹%›Œ"¥fð*>ákxmMĸàýâríÚ5—‡ímõ\½|&Mò¸üí_þß3ÅŽ‹L¿<ýýý}}}}}},Ë2 sîܹðððûôrçÏŸŸà°…ÎÆŠ…Œ­fš øá+Ö&I) [‡>T%I®±ñnÌR&Ý¢Eë¬HX^²¬t\Î#¹·þ¶EŸÆä”ªî¤aŒªå:QÁíÜsña[÷‡°b]=Y¨ÙÑ|¹vEðÕ¯ÿa˜úÌS˜þ!tÛH¾H¦ɰ ÆB‰6fg·ÕM“²p25ÿ€9OÆÔ>'mÜ™oWEPø•?õ2P’¤‘$aAŒ¿pc&—o¿†á­c\BgåÖÞü¾‡“¹&·†›Pˆ+€Ÿ©B'År³®Uf¯IBn#}D²m~¡Qª=rÝÓR¢7¬}ç‘(<Œs3žsV'½8µëÈÎÜí{`Ö ‰oEMÃBßP;DrÛ³´dˆ"SFë–ÏË«¡{ªÓu ÉK cD–B„ ú… µ#¤âÛÝI‰•Ê“zÉ|‰Êø(ÝRÝT˜ŸOlÌZÆÇ/ý2úÛ@Ém¥üeYŠàé/EÈt-PÜ2éKÉBeæ#4ãôîE Üz§n{_ÊcçŽv"§ˆ{É0l1r1r1r1l1l‡°uů!„B!„˜"„B!„f€!„B!„0D!„B!„ Bè¾cY ¯«W¯º¹¹a9`Ø"Œ\„a‹‡°Å ¡G EQçλzõ*ÇQÎ… 8†-ÂÈE¶èqÛ;¾#ü—_~‰ßº# ,ÀB/|>ßl6·´´ôõõaiŒb4±îÎO<áëë‹å€a‹‘‹‘‹0l1l‡°uÇo¡Gˆ««ëý»}BÃ!„a‹~ù5‹!„B!„w¼ˆ;úB!„Bè…k€!„B!„ B!„B!ÌB!„BaˆB!„B3@„B!„B˜"„B!„ !„B!„f€!„B!„0D!„B!4÷ÚÚZ,ô˜puuíïïwuʼn„ÆÍýŽ) [„0rBã¶îQQQ...X¦èèïïïëëëëëcY–a˜sçÎÝ¿—óððèëëswwÇ’Gh¼ôõõyxx`Ø"„‘‹‘‹Ð£¶87ƒ#Aôõõa9 4¾A¶aäbä"ô¨„-f€è12iÒ¤k×® `Q 4.®]»6iÒ$ [„0r1rzTÂ3@ôqqqñöö¶ÙlX ›Íæíí}_O%À°E#!4¾a‹ z¼xyyMœ8‘¦i, „î½7š8q¢——†-B¹¹=Ba‹gè¢Ç‡ÃquuíêêòòòruuuwwÇ‹•!t›úûû{{{ûúú®^½êííý3 "G…­§§§››†-B¹aØbˆÐðòòòòòº|ù2Ã0W®\éïïÇ2Aèv¸ººzxx1}úôŸù:Ò^^^žžž—/_fYÃ!Œ\„0l1DèŽÝדàBãÎÅÅå‰'žÀr@#!tOé%B!„BaˆB!„B3@ôÿ³wÿqM]ù¾ð¿áÇNÐÄB5‰-¤ È(Lã„Z`dŒz ±#È-§Çx|±œÆ>Wà¾8÷8WâAáõH<õ/ #8œŠÌQãh9ÆZÀ XCTÑ!Ù@òüÀ€¢hQ¾ïW_3˜{¯¬µ³?{­½6B!„BaD!„B!„ !„B!„&@„B!„BoÄËÞ ¢·éÛÔýÍCÿd¸{Í ^úyX€‡ëx”¦§1ÿÛÞJùÂÀ÷ƒ–®X±tñÇ|h»zâàÎÂs÷{±.B!„Bhb{µ;»ðƒ>[6×>?]°óDÛwe×>Þ,œ=·N);ÓüÀÜçâ¾àóø˜0þý²œ‚:rNü?oºôÞRý±ðšËljü¯.ͱ#ßiÚºú€å¼:^0¢Û¯çÖé#g®éÌ.îs‚>—F gºö¶ùç‚Ë0o©°÷rÝmüà˜Ò€ð¨ñxQÅåÛ]f`ð?ŽŠùd¦koÓ·ÜßÌZ¼ÂëÚ‰«¬øNºá&G!„BMY?÷:@×™!ŸÍèkÓ<è…ÎÚo O\#ç®Þ²e}\«ø¶ìV?x  íò­èm«½ÕŒ€0/h­(,ºÜæ¶qKb_Wwðà¹Îa ¶/«“¿4~ãúÕ àv]Qá±Ö^Ws³¦/dã7‰+¼Ìºº¢?7öÜÿ®ðàùÛ Œß²å‹yäÕ?ûÝÝ^Wèª;O΋Z½ÔË·÷8ëíé}Á!„B¡I”\X,@ÙÓ÷èV]€ûÒÏ?ñöøìs/0_;× 3ƒ?fAß­Ë­½Ð«»Ül–p1tu\æ­Xêï=7xE tµ×#`§æ\Àûá1Ÿ ýB¤«ç¹Ùx®m0^x}¾B8{æÜ°Ïæ¹@_«F×{ÿ²æÿ³Ï„ÞÞŸ|¾ø}èºZ742Õ+J& §kÑ“¸w÷»ü*Íàvë½_ûmNá_q@0B!„BÖÏïëéê20ÜÝ\Ìm=Ðubç7'Ÿ¼ßEºú‡¹Ÿ?sër[KÓl÷ à™®p«Ó ÍûÿøÍPœhíê úù€Öû,{)ÝÜÝÈ®ž>` ¤NûpN7– €™ìíí!{@÷çÿõÍŸ—¡ëê7ÖLwìý{\g¯úýgªÂB$Æ/è»|°ð cõ–ÏgbÐF!„Bh²&ÀÞ»çkÚ\æñ]n]î‹ÂXº Ë‚‚ÝÏœ¸}YãÖL‚ûÒÙ®ÐëæÁ€Û}s¾Ø"õvx)ƒå ƒ³Œº²Þw0“Hð÷è#ï“ wÖ@qûºî÷À\Wè#;Í –›«Ûûnf~Ô–øy—ú¹0ÜÝ m¼r.z6Od‰ *,ø—šÞ>~Ì–˜u‚B!„ÐÄõj£@ûtµýî»ïÊþÏÞyg€ËœÕQþn0cn°@×ÕÚ[=·jоUU4÷Ì¿äåŠ:Þ ž ®ü`! úÚê®Þ'IÝå²o¿-:÷ Ï1Yü|wä;MSã¹²ŠÛîAKùƒÝKº¿;רø÷ŠŠÛ.sƒfºÎ ¾ «½¬#{î7V¨¾-ú®­7ï› QÿB!„šø^±wìÁÕ3g€ñþ¼¥Ÿ¯þÌ>§GÈúÄ®?9wlÿU–WЊσ<ò\Èû'*ðÃØqõŽJü¢ïȉ3 Ï€‹û¼°ÕKçºCfóû}b3gŠö¸¸ÏY¼>æóÙ®`¿ÆÌeN{㱃·I`x-Ž_íïàöÙï×÷©¨+*¬÷9AQŸÏ›ð·ð ÂÏ?Ÿ8¥¡UâA/lju€B¡©‚f6›i4Ú;SÞÞ»e9yu= ÿY6¯7›GÞ6›Õjíïïïïï§(Êb±Ü¹s'$$ ˆB!ô:8a „B!„Ðs¤ I ;vÐóaw1B!„0Nx®³¥Ü)Åí†B!„B“?"„ÞA---?þøããÇßV¦OŸþÑGùùùá¶@è9(Šêèèèêê2›ÍXoƒÁpww÷ôô$¿ŠøUDØ1"„Þáø§Óé|||¦M›ö¶ÊÐÝÝ}çÎÀˆÐs޹oß¾=cÆŒ9s渹¹a…¼y===]]]·oßž3gÎTEݺukÚ´i3gΤÓéøÅ@o†Åbéîî¾uëÖܹs'}Ĉz½~üñÇ·ÿ`Ú´i~øáÍ›71"4šŽŽŽ3fðù|¬Š·ÅÍÍÍž½;::¦ò†èèè°Ç?—wi¾zôî7@&“ùàÁƒ ðÞ½{o½;šÁ`xzzΚ5  Bèðøñã·ÿ†Bà[†ŠÐÄ×ÕÕ5gά‡·ÎÝÝýöíÛS9vuuÍž=›N§;9á”õèrvvž1cÆÝ»w‡à½{÷H’œ##zzzîÞ½ ã±i!„BÌf3þœÜÜܦøÅof³yúôéÿЛçää4}útÇØÑÑ1{ö쉰otss›={vGGÇø|RÜØ!„BhâÀÁŸh‚|÷&Ô©±q<=„ !„B!„¦ ¼MUºbiÔ®Và¬.ªH÷z§³è.”í+)«­o5P@püDK¤²MR‘'n„^¾AÕË—&œ¥žý¤÷–Ò2™à՗ݱ¡JuFÁšF!„ ¡ID[VÒ L&jJå¢×;Ô¶Uµá²r½HÀö–ZuÕ±œÚªÊ-”²1„OKCvT‚!ýŒ"çÄFhsÉúM¡ü§Ú3€ós–J爥« ŽàÝž¼£R¥—–ÉpVO„B˜ UÅUí J—3s2kŠëå¢Ð×t¾_W¶m[U;!J9°G:ödry½B–PR°U!ªH |Q®34Ô@€ !GüÐuqÒñïFç‹“RÅïúþ­EÝB¿#!DvtXè,OžC¯DSrP_Rc BÖ‰ÅÒ‚:{ð‚ãÄJÚüÈ  ¸²µ"!24((((4B–}Rk˳#Äê÷å7±$;W:¼¯%’积߲%b°»‚l(ËÙ$–&å«uÐQµ«¨³[Wi/hÇ•<."tðÅ µÎaýjE’}Iâ¸Ôâm¥,((2_;X$ÝIE’T<¸¢„ìÊæÁ÷jUÒ  YeC¥<2((Hvø€4(HœZïøÑ,ÍÙAAR•€<) ’$Ço³Ü,ãóý±qð"gsãÃÂþØh†;ÿúÙÇ›/˜ñ‹‹Æœš³#‚‚’ÔÚ ù­!(B–qRg°4+"›„½ª“Bƒ‚NvX2ăßkKCvDPh’º¡8!"((T~Á@6Wf'D5!‡æ÷œ•:<Û|2[a³,û¤ÎÒ1ôj±4µÌaWbÑ:´Õˆ8¹jh?õ¼Y2Ä¿Þz–‚Ö‚¨  qFƒeàåÙÍ–q­bíÉ¡zxj/ô’têʆïI,õò]ä ê±îÈ“²ÐqÝ_½R•߀½ÁéÔùIÒР¥‰dé¯íGD$V &@4Å ÚD„¬±X¢81êKj# ‹hÙ·-Ÿ Ï(®¨(ݳIÐr,-AÑ`óÃw?-'kMÀ —…<£‡‘™$‹Ù±éÊ’6äT7eåîÙ“•N¯=¸-AÑlðçH €€”EE¹bORºfkA=+\ž«TîÉ’ò[J¶Å¥žì84Ìß°­¤–»gOJ8”%ÉK´0P€ŽÊmkÒJøÒô=ÊÊ,™@w,3>¿ï IDAT¡Ìž6 ÚËrT”8%+kÓo"d`Rד0Ug à' ‹Ãar8ã×wjn?³Š¿IY]Q”µ’Õx,-iëÖ}äÊÜÒê å×óÚkrR«^¬«Ü—VÒ—¦ïQ*÷¤‡³ê ¶Æg ¶ÆÑWD÷Û¢Ì]Íà¬Î=P¤ÚâG ó9L&‡?žgÀue[ã2ý¶(«¿¿ü}u¾Œ£Þ¶!óÂ+]éÔûJê cy%ÁY]ôýeJñXwA,qþÉü·zq§E[¼¯¤@zÍ­Y•°fÛÁÚVŠàxûùy3ÁÔR³kC¤ü¤+ÇÎåܹsX hjéP«j)fxœˆëÂ95ÇT5ºÈ¸Kfû@K2R¤tà˲RԒ̪}õIù¡¬ç?;|E”®Å"xÁ‘©ÕÒDëSÒ® GÖ®)¨)ÓnIÇâûñXžß¼ytЪ5&Þú¢=Iö‹Dó`Íšƒ%ÍIó,ËÚÁûëüì8>„†ŠxIQi­ÐÒ¼¯ –â¬Væ&Ù‡žŠæ‘‘kæïkX™H: Uë—}Rn¿.²cÒjËÈPû'³h«j °%œ¬PÅIõ8nóµCÕïýã9=Yzè?Í¢P~QÑóàIÃÓwE¢Ó=YÍ0Ðã²S#ùž›’–”$œ­i ã"æIWòJÖ¨µISÆØ hè©|@´ëB”¥IöFL^È/hï-ù û;E"¾!"¡ª J!|%ÔÖju:Ê/)_®“GæT•Im¾T¦•—„ï“–¬;©ä;–*3S .èèLÑúìì¸yô§—&'e‘%b)¿¶¶Akà„§oâ”T·4·s¤¹Ê¤@: ªÔŒ’“˜ë2²eD³bÍ6rØPS¯k×AHŠ2CÔ˜ºõX«¡*^¦Ý£Lš‡ÒÆG¯¾îl£iøc3~¹DDoùþJßü°ÝnŸ¿Øå¶ˆëÚÿX×Nq>pÇšŸù¯`[A#Þ«sóåb>,ÚÊԄ̳gÓRËUÒq¾Dz`jA~)Å!5Ò¸†Ô“Ù‘-*.‹ã“ •õœHñ¹>Û%,, oº‚Þ›ÍfµZûûûûûû)вX,wîÜyÝ+ÕÕ¨¹r]€î' ç+))ÓÆÙ옢¿¡ Ï@µõÈxÏöÉ>ˆ¢€ÅzѤ¬P¹2ÔñŽ€Ðb0=«ôÔíÀY'æƒÅ2ÐíÈ‹9KjuIó¨†ð"ECsax†®µµöjë À\ù¤ìÀ á<ÖPßöOOˆ"èOÞBÔ×–Ô“¡bh«Ôø:äuLajþÏCf~)÷ù~ïSp¨öaèÒ÷°} çi-ˆ—<•Ø–(Ï(†&vâ…‹žüÔ2ù,ÒD°‘ἃ+ÕZ™LOzYO÷åsÄá¼ZtêF x‘â'» z@¤ˆ¨:«nè XÏ]©ýoqà`ûaqXD€x(äØ_LZmM­ ¼WŠ8CÍáD•= cXÑkÕ^_OúmÖcÊKù–f:´ŸÕm)RGx‚®8.³!DYšHh‹d©e*)«6'§A¤ŸéME21³¶¦äB‡8´5êvÉC_ÇáËÃÚCõþ!s&,ýÂìÿ¯öáRÉó"à‘#GþéŸþiă_|ñE^^~ŧÞÊty8gD3¡sÎo‹Åö ƒ O)å,¨¼ “ øöÈljž˜‚'Ú ¼a³2ù,ƒÁ4˜½F]é@‹c:& † úÛ % »Öüz׈ÒtèHÎVôZ¯HEp€"Nðú‹‡ M±3C ÅUíPµUR5ü™šƒòìQï ñü#«Qž%xhÔª[ÈHÏçíl´ª„ø‚Þ’-)r‘€Ã¢YŸº!GûìepVgeGò‡Z~þi,‚îx°N̬©*©íˆˆ4UÖ´!)¢×±Û|Xû¯Õ·ÔÇ1t²îÑ™û’裿!&&C Æ¿©†"~åÓ±Ô»  L­‹‹cÕ—ÕSÌðu£4~:¼;Cà½~OÆÈËÜÞÈtŸIµtŒrj‹Å±§Z“¤3׈sìÙÍD $€åBIξÊ0µˆuÃOpL­kÄ*€¢(ĉ5‚³úÀ³nàJ ŽÏ‡ý+PhØW«“†¨«L[YÏ*!¥# Î`'<9¥£ž¹4‚éÛ‡þ C톈šR›XbÓ“3€hBpóú¥¿þÜM÷OûNïøÃÅr–(lÞ{®½×.þ×ÕŸB}àâädí~Ðç÷é2Oì%œ°Xžºk,EY†·ë7ˆ/ÍJ*[£ÞRš ÍŠ…NV\!@C~\RލRâ8<áÀˆ¦²^UeÞꬔaVd­"­D]\OÝ‚l7X`pt–…ÔšXOºžÿ¬Ãù¦ð%œ’cg÷©u¡‘#~ëÊÊxò=!†²²à¬Ëͺ9 ®~ôC¯yLÅ|Ö]$X©3 îAHÖ0Ðg@çøq - A°÷)ï¶>¿u‘œª’²Z] ¶¦I |ðþ™½).úáÀÀÈOó…Í¿Qœ¹½ê¹or ÿÐËFÀp©wÁ®ªZ]8§¬žâ¬”ú嘀Ãã t>i àÇcŽkñ8|üÀÑÙ/sBê à‰D¬}%guO®¦ÑÌ.Ù‡â29,B$¯6W yAžZÂÊ.ª õK½<"cøî†Ãaú}]\7—ɰDR?ƒª¾j I,€gÌÀÂ䳨z’²G9ªÃ@±B_%´±8Þº=¥r‡`jiVc{cúÚÿ~¦ÝáØö'¿öýÕý&݃>¦Ÿà=Wpõ|@\ü©ËòÁûà⎃D'ž( ­­e5Z©ÌáZb²±Lmðy€TcÚÒÐÌÁ=Gœ_šÍíµí5j2$e¥€R)'®²ÅÂ|2üàÍÀ¹@ÑÔ €%µøÉd¡ÃD¬ß$‚aw…0ÕŸl:Ì2Ô_0áÈÛ³4²-"3·)ê‡ÍYÑq!;)§¾ÝÂá±( Àä %HKC‰ª(‹ã‰«Á³H"1Lê²F‡:TÙÅõÀ h¯­×=YQIíÐY0Ž(”¦ÚÊ'e·hk΀*µ_>OºŽ%%ªšöÁÙsÆÛêooúÄüjhÔ'cÁ n~{üÅW„ÆÄÄüË¿ü Æ?ô øb©7´TªkËê)Î’±@º BÄ„öJµÖaŸRUOwxà¸þlÓá!Lh¯)s¸wy!?5»¬yÌSIR@½¶Ê£nÚ"jÉIʨlè°€¥£¡2#!³Ö¶{ð­4«*µûT)'u¤bú <,Ú*U£‰"- €ÒY,Àò[9OWVÖ`‹¶,cØÍ1^%¶—¨ŠÛEq£ì¶@4…t¨UµˆÖ/yêW~pΓ³Òß곩ÛX›Ö…ò)meþ®Và­Ûôd”ØóŸv˜™›Û Ûz¬$A¢…‡øñÁÐÒXSSoNxV~Ò<:€ 4€8vö ¢X ¤*÷•ÄK˜%g[jÔ üÐ@‹Çh()©$‚Pqà:yxÙ¶ª¤B¾I, ÈæšƒU-¼uëXÀ ”…3k«r¶e枥¹êàAƒÓÜú¯—T¦KÚÆ’¯ åCÇ…’]%"$kýó&¦„¯ó.ØURœÕR‡I^¯Im È.U„þÌTx§úÐÍò‡ËþÞûÕ?þêÎß yñ›cbbìhªÑ]()¶<ãÔG1o ¿¢|qœß®œ}  8ëÆ4å$ÐE[’jr ’ä°EèIéÔ%Šgevä8OîFÜ$Õd–$lùº>A6Tí+¨i øzÓXZ“Ãh¬T•ñBxâPN»jƒL2Õ™`¼z8<#s‹‰‚œ‚I&Àô["Ë? dYškXš›Ò²-!bŸ€5Oš’Ë+IzP¾F|'Å%}½$5mkjhQFxlhÏ*ÍÏÊnLK“tAxJöÈòޏ€¹òÀÉM£G@í¶±2`Ô-X§kS"öY€Î•+Ö ^~ªx–(%Wšš)&èüÐ-Ù~tÐ>k£ú…‡2£"ê• v5½5® 'wÿ0ÑL×a¹oÓ1©ârÓë7dž=»kÃÙ]APC§Ñ¡~ßÁúPùøŸÎ&˜OÏ1-•Îp˜KROÛ ÛybDh|kTðô=¿~Ã×…µg‹ktR1OšDªòS¶š€à‰Öå¦;ñyþ³#–šZ\!.Ûw°L]s¬¾˜¼€ðõ)›6 Îȧä®7å”ìÚzNÀÊ-ù¹áPÖR¿«*-‰ÜS©Ûr6§¶ ³Þo}qH @œ]ºÇ/§ D±í@ðÂSÈn9Ï¥¨Ò©TűœmÇ€°rËžtCj|ãÐa[Dv1½ '¿,sëA`z‡¬ÏMÙ$~~÷?\°+³‘>¼Ÿ„4LÃ8üj~ø‡¿6ýaøCï-=Ðt`àn5øëUüþ¢áLgî:ûŒÇyëC#æñư~ˆÔrZ€'•Ž}n~¾TYJ(rö©Ò¶šŽŸxËž¯e¡ãß7ÎÜSL(öUfn+¦·huzvR¤`LñLœ´®$©¤*'M½$744Ä¢3˜L ßÁ£tA„\!ñàP,'ª2S÷]0X8¢MqD³bÍV2»"#þ†vxÖ¡É„¬Wå¨äÙqŒ†ú `†ø½ú‚dþ‚F¥¿–‘ó!„Ð+råÿ7îÓ;¿·à7bð]¼ÌþÛ"ñƒÏüÁÈ-ZÆÅúœüèóâ” 5µŠÅÇKîøqeâž~TV¦…º qª¡—I³Ë¤Ã^=lÅ›€ ¡É„ÅcéjÏÖ$l3l‘ŠX––Ê‚‚VðÛ" |…«N, õõ-ꃊcïõ{Âñ.Æ!„z×C ¢,ë B“ _šÀ’£8X’¹í Á ÿ:;åÕî-JÖ*¶f6'`]nnÒ<œ¸!„B B“1CÅ•]Ž{Åg'V`\¶j<Šè©ºŒÈ!„BM.x?@„B!„ˆB!„B BÝôéÓ»»»ßz1º»»§Olj¾ƒÁèééÁzxëzzz ÖB Bè]õÑGݹsçí†Àîîî;wî|ôÑG¸9»»{WWÖÃ[×ÕÕåîîŽõ€z}p&„Ðëåçç7oÞ|üø1Øl¶7_†éÓ§ôÑG¾¾¾Ã×N³ÿß[)Ò»‹F£a%LJžžž·oß¶GA777¬7¯§§§««ëÑ£GsæÌ™ÊõÀ`0Ìf3“ÉįzóÌf³c'¼}pÄÙ%ŽãL€¡×Ëf³ùúúúúúbULš ŠpR"bΜ9·oß6›ÍX!o%ù¸»»Ï™3‡ ˆ©\îîîF£ z+>|èØ ïééy÷îÝÙ³g¿õØÓÓs÷î]OÏñ¹=3&@„Лˆ Ïìg{ÛoÎöÿ³Z­¸±žï™1Ïþ }#bœ4!Ïçóù|¬ ôÙ»£u:vG£7±ºººH’t섟5kL„ób ÃÓÓÓ^L€~ÌZ‰uðö7Â(O,ÍÍ͸©^6 N›6ÍÓÓÓÍÍm(bD ìŽFo+b=³~Ö¬Yã•»&L€¡©nþüùX C=z4ÆWö÷÷wwwO›6Í ±3!4Ž!»£z}p.P„B¯¨££Ã6k!„z'` šll‘Xoµþm6ûÿiiiY°`Ö̤ÔÓÓcµZ‡úýì=Ø ˆBaDMÑø‡½C“[ÿÓSƒbD!„&2Šz]iÐf³Y­Vœis³o_Ìù!„Ð;ûBãüaœÜ p(þ …@ìD!„&2ìD[ö‘‡:ˆ°rÞu£môgvâFG!„0"„¦Jш}€“#þ=3:Æ?¼ì!„ˆšrñïé(ˆ pÄ¿§ÿJ€O? !„&@„ÐTÌ~˜'Sü{æ#؈B½sp&„ÐøGAÇÛB`¼»¢¢¢Æ²ÅGltûL0xO„BhbÂ>@„Ðë Ø/4¶µãVÆmBM|؈Þm:+aB¥>«ƒ¾¾¾þþþû÷ïcýLV÷ïßg±XÎÎÎ...Nì½ØˆB½E|>ÿ™c Bèµ—ïjÚáO£ ’5æ›5ÉþþÉ3hó„ÜXµ«u²mq„B½ØˆÞm£Û@o>À༠V«µP__ßÇDz³F¥‚˜õìêB¹0˜Uúvi4šç¿@(€§§'—ËuqqqdïtrrìD!„&$ìDMfMa9;1##‘]]X‡Ý}!„B˜Bh®+TscýÑÉþêBµ+o’nh„BaD!£º°NÍàJ’…uB!„^¼!4`^yóÉ#îƒWÑÕúèX6V B!„ÐxÃ>@„ÐÛ¦¯Îk’œè¼¯\Ï™hmaµë!„B BhÒÑ–ç5ùË‚‡ºüB™°)ï°k!„B BhÒÀÂ&a¢ØaÌ';81X[x¸ë!„Bh¼áu€¡·K¬1&ˆ-)7645@²Ç„"„B ìD!„B¡©ûÑe³Ù=zDQToo¯ÕjÅ ùùõ V«Õf³Y­V«ÕÚßßß××gµZïß¿õƒÆ…Õj%I›-B/ËÉÉÉÕÕ• ˆ3fÐh4l¹Mñf‹ MEÝÝÝ]]]ANÇ ÷Øïk‹ÇwuuÙ¿Nø¥BèbEQwïÞõðð˜6m¶\„¦r³Åˆ¦“Éôøñc777''''''öæOˆN‘Ø×××ßßoOÚhRêîî~3+"I²»»{úôé4 ›-B¯°‹¶ïœ]\\H’ìïïg±XØrš²Í šZ?~ÜÝÝM„‹‹‹ý×ëdàÐöÝ–“““ÍfÃJžÄÌfsww÷ë>”Äf‹Ðxí¨íƒ0»»»_wO ¶\„&l³Å™`ÐbµZíƒ?]]]ñסŸÉÕÕÕh4åÿ××létº‹‹ 6[„~æìììââB§Ó;;;±å"4e›-&@4…® [.BS¶ÙbDSˆÕjÅá({|­7øÂf‹¶\„Ðø6[L€hjÁó‘a³E½f…-¡ Û¦0"„B!„ÐT !„B!„0"„B!„ˆB!„B B!„B!L€!„B!„0"„4íð§ÑÉó˾ÑX.f‹ËfM²à¥Þ®-?\gmž«6¿R¡šBY°€Íf0h ¶¿$¹\ÿ–jO[(ñµ¯]¯Þ!fÓü·7=õ B!„&@„Є`Ö¨T³ž]]¨yµ, áf‡1ö¸c‡Z‚Du“JÌx•B×mÞ®—Uëf³Í¨ÙÁ-U½¬¥UÉv02ò¢¹`¬Žoo g ='H,LÖ&'WñK†B!L€¡‰ ËÙ‰‰ìêÂ:óÀC‰ÿØí2I°Ð_ N®Öƒ½¿N²=9:8Ø_ÀÊk±](Ü®1€¾:#š ÿíÕêÂXc Äf×mWiñk†B!L€¡ ë ÕÜÄXAt²¿ºP=Ð]Å€fµ6öp¦IS(8œ˜a†÷Ôaa]]SSµ¸.ñY][zUlb¤\o47å±U±Éufcubr¸\o4êÕÑMÉÉåzFpžj½÷ÇjMa0}à}ÆjYìaA^“^¯oR ËceåF†¹¹Z#Q©ë4šBny†ªÉqMì`YpS¢$vÇau“Þ Àà ¸ ÐF'ÖI7éõÚjYS²L¥´ª5ârcÓ¿Êþ»°IU­·‡7•¢eþÆÃ²ØÃ‚B^¯¯ÛnÞ›g_Ïójn¡V{8¸iÇöráa­^oÔ—Ç˫ӜâSÀÉ IDAT¹IUbÙ` žêÎdË„zU9F@„B VBcÁp™ZÅÜ×÷&WgTÖ ’ó¸ In/T%Ñl€YâD1ØÁ±þÆŒ:=DЃe½]ÑB†¬Zk±0Ía 7V%dp£UM`3P­—ƒþ!»\k`?õ™›×1¢«Ö'‹fKkÌÛ1+X&fCàÏ5jf€' K «Öp wæÉ2ֵ¼ˆÄŒ¼±þFõa­p{b0ücý·ª²`º¬D\‰L¸]¥6ÊbM‡ÕŒèÃþfÍö:Ar¡˜ Üèäàääjív}^t´lÛ¨RVs£ÅÂäê¸Î(Ø.xÞ0V¶¿„«-o2' ؘBÛ´iÓ¦ÔçíîîÆŽÞ0ìDhl¬Ö©õßeTç•7Ÿü;F£¹¯8ÞZgï ƒ;Ôl6˜õf6›;cØ\†ÙøÔUƒf½ƒ/a° ЫódÁB¡P(+¿7Z1ôf¶€ÍxŸ€=°l{05=+=1’äÂò:­¹§½.C –‰ëÌF½ñáY™€Íf³ÙlAb˜õFû’>W"óoR©æ¦ÃÕ ‘ù3Ìzãëۅöwp£«f­ÑìøAry¹Ì¬Jº3’äjýðrÙîó£[À£/D!„ö"4&4:}j}àžžW{Ÿ¡úÿ’6î;¸–?Æ÷è«óš$'ºÊ%ö°cVÇúgTëccÌæÁÐb6aïÀ2ûáŒz3ãéäÃà…E³¾IÏh“c ªº& ÌêXAâ()‰Ëêã3µÆ'Ñof½ºZÕHüÀà cwdª24z6—ýÞ’ÃZu´c?£Öñ\‰Ì?C¥Öø—ƒä°?Ì\ö{çi4‰Çd7ü-âd•:ÌÚòdql¢D;X]ö’`E¯ÊÒ~±TYtâÒõ6LîüE«âÖ„ñèä¹­¿Mk[³ÿÈVß—ÝZZ¦}“I’½GRŒ|;yã„RYt^ÓÖI>Âek“VxÓq› ôœ†u#7fcEç“&×G¸xU|üŠœqX²Ïοæ~:Ž­<•øÛÌëà•ph¼cë¶\IýíW77ús¼÷‹KUí³óßǵTû›mjý÷ŠZOÿ@p½\ïûË-Ëߣ-Ïkò—å†P&lʳOŸrO]X­}µJÃsÖå•kÀX§ªƒ`ÉSãÙÂX¡¶°°Î `¬N –d4z#[èÏ07Ϋ»gÖ›ÍÀ£ýõúÇŠÍåyj#ë ËÍÁ²M,ª¯Þ\®5äÁÂ< 7XÈåŠcý›òÛ§s©Ë‹M<üÔü \‰L ÉË(‰ÌŸÀÊ‚õö2ƒ¹I%“6 uÆjYpìa­€!ð÷ç2ÌÓ+Û¬Õ??µFìODèÉ)›s¹_Æ|£#Ü,×ölܘSmšŸ²{ïþýûwgÉ—yÜ,Íùò«ãí¸Uz!nTúÎÝ»wïÞ™•._ļYš³ùwÿ}ÏEr¸M™SýJ›Î]‘$—¯õÁø‡ !L€4ZnT”Þaþ:99ܽëoGš¨1ÀÂ&¡ýj¿ÁDœ¬-<Ü Àð ªc…® Y/+̰²YÁÁšD¡?W­çíåà6_8 ¡±yӗƽ‹,׋Ov¹‹¥ ÝÂgUûs½)s‘Û ß%HÖ“‡?Ä–”›À¬I76ïðÆÈð´ãðŽ<‡—G«ÑyZíÀ2£ ë¢ Þ"ΫÓ½#QkÿC¥µ© V?´¶W7mw\—pG“öIÞúûIé£wTGïx: b ëb ‡½2QcL–Sël²aŸ*O­ÍV ƒŸ ÂÄÚQF¯2üe©šÌyBCRm~:¿ë 5\Ù~G‘£GhÀ#*=i!kØãœ0ùÞ½ñL_:€}„&˜4EÛ.é) ¸Â5òôÄÁã1òÊQ…²èüõN €éµ(*)%ñSŽ}|×y J7~VÊ\¶û/ S E™(XøÞk Ë×:äÓ‹… eõù›ÀôY¶A._»€Ð~ôbò=ÒwÎ?šY|ÝccªÏ‘ìÓó³þ=7lèc´~ñe1S~äßVñF)áà´¨¬x}¾â|ç"c†Þiœ0yzÔ¥ÍÊ¢ËìC¶ ‹Ê£—nvRL®pq|RÒ*ß6bi=•¯PVkô€‡Ï² rùª¬‘‹$¯änüª‚X³{ïÖ…,°´žR樾Ôf <æ/KËWøÒŸj ‡þϳFu ä¦Í™ ŹEÙaÏ s–öSù™ùÕ×;)ð˜•$ÿôÔæ´›ký9ÑÛqèÀºö®¸¨Pž¾ÙIáµxCJJü´OŒQè%»¥Ú÷gäÅŒ˜oÎû¤Ú³‚‡_gÀ>@„ƆF›Zÿ½òRñ÷¦YkæÓÁkåê©ËGë:ñ‹ó&0‚·oç–gŒzÏwíáŒ:a†Ìk 9j¿~^ÌE+ž1ºŠå½Àסã®ó¼â@ëò”½‡íNYšâÌü+ËÂÍ_åŸ'$éûüåÐÞ¤ùmÅßlνfúÂô¿I™àµû/ÿ~$eáˆU°|V-"¨K™_e=w­ýY]ä•ìß_÷X»óБ#‡voàjò7UÔj)AÜ,RÞ KÙ»?kå¯×.fÂ¥ãš'ãßnœ8­‡ùkóF/áÀb:Ï+O07ìÜ»7i>Æ?ôn£û¬Zæ—4`¹–»ùåunüÎCùË‘ýòŦjÅÆ´övÉ´™Õ°,}ïþC{³$ÌóŠÍߌ~m¹QôÍW”$k÷Ö…,é̙¥m> »9²?k-q:gó7‹ÖŸ1âÅÎcy’\çs”Ï©j¹¡ü*³¢Í'aç¡#‡ÒWAQZþ¥g""@£T\\˜rè?þö·¿ìŽ¢Î+ÓܰðV¥§MÕcÈ+ù™§©E)éÿFƒ}€-N±»AE½ì; ç‹þNÍý¿£¼¬Àáÿÿæþùܽ¥+ñËóUÛË%‰åÁ‡£ŸúùÕªó¸;†OKƒ~›Í æ‡ÐÓ Ýð¨Íöðíñ=›Ùý°ÙlÎþmúû6Ö4¶¦y‚›0Þ£9ëcX:o˜¸ <^}(bUzªýHÊ;!þhµâúu=,ô&/)KÛˆEYY‰a,à­gݸ´±Ty~Þå“I“Éb=½Îòô½&EN~u~Zu>Ók¾P¸|ùªeË}í݆ÓùÕLÉÞ¬øtà­MI¹óÍ××d,¤&bmJ¼½3Á²v™GuÅQ ÆËÕz&,âynô2  (a’|ÅLh2D@_€ÎV“ÈKÊ =sÙîôµ éÀY¾5K)FyàxëŠD¨ù)é‰aðMLO1)NµëIðlðÐ~:í+eÛâôý©ö6ÖzTyžâÆíÌXå À‹OO¹ø»LåÑ˶úŽl£â­HI8“Ÿ£\udÛð6g¹y´ZóSRÖ~ÊðæmË¢þ{Œb´å^ ò¾,à,\µŠ[ªÔÜ4/x+ÒSNÅdf*Wì ;‘Y ‹³R–ãØQL€ý<ÖWsÊh?]t>þKyVð "2ÊOü´òׯºD†0¯©é©¨“¬Ñce?3V7={”¨@VÝ$à ý½Öû pï*íÁu«á&?Ao7ŒxkzÄ…ÓgÇ8þÀ]H›sÂ|Â~¬7B¡Çл<˜Ê–¶‹7)ðY1hôÝ+LÈ,½t®Í²œó¢PÅò]•ño«ä­W.]ºxñ¢Fs©"ÿ|E~þ┽Ù+x–›çÚ€X´üI÷$kþr8}ý\›e¡/p…ó9C«]µŒ[Q:-mÇOw‹ä‹8`¹öœÎŸ0/Œh’ (ÊÞ°-mÛ¼Âú÷=„ó™P}½æM¸‹}˜OÎÇlË^`ÑP—²sr4>òýéË:Ð 75zðˆ {r‚‘3¹(4×;ÁžÚãó2`TzÜñ/‹s¬ÚŸèëð¸©í¦iØ"x‹VxAþ({'î§^C-šÉd~nà,OI?õeÚ7›+LÔ²)a˜ÿ0"ô³½ÚÀÈw×KNc¹q´¨  íOk–þÉf³€Íf³íÔñæOÂq´9š Âfûé\=†`6ZûÇ”œl}fxØ [A{ÖFæ>‡ö‹ßÑæD€ë˜”ÇÞa ¿¢·¬â½(Ïü›ê4\ÏüÝo2‡¿Zo¢Æ–«XÞ —{/\¾ÈÖНrNçäœZ´ge¢€:ÿÍg¿Q½ièOÞ“‚Ð}W­â–*jȰ0âæñóÌÅñB€å¹% ˜ßn49XôW:¸¾thë4Ádk¸LÀd¢€2Q‡­‰jr2˜íÔð¦ÞY±ù³Šç†ZM{Ï¡c{|Þ^Ç{CÊšÓ›‹s*Vü[”Ct(Ò“G˜L€Î1ììï’LÅ/ó8_Ñé±&^ȯ&@„~6'Æ›F±»û¥~x®­îd.þZ?×Õf³Ùúûû­V³¶$íO§ŽÞX#Á/zwõSÖ®áân[Ûy°õîœmÎŒ^ØI±æ.3ýnN –×l¾Óº;lÛlM`l¥Ql½ÝÐß =[Á¦û;í‡2ûŸN¾oû¼G¸ˆ Å—ŽjÈ…Ÿ²FžÒ9~àº×ZÉÂçžCgz0<ä{Ó…Ã;6 î ½,†öN‚Çc ƒ+’ŽžÎi»¢·,fz@Sö&Ív°G0¹tÓÓËó^¶ÖK™ô¹ˆ{üt'sñZ{·ßÏ(!BïRsü’ |V9z¦}6Þ'§b(Àdön|½²Œrž†¹X¾{m{æWÅß(Jý”5Ô$Y;㽞n¦—*%}Á†IõWù9Çm‘N çÕL¦W©Ë9&/¡W[iN骽ñxwQL€ýL¶Þ^¬„Ñx.61—Å/[àKØlV«µ¿¿¿¿¿Ÿ÷Eûoÿqúzd^ ˆÞÕïv»­é˜íz<¾7ðˆ3zÏç65ó¶åý[$«µ­ïA§ÑdúÉj³}ô!}Ì'ï_ l6[w´TØî\Ë#ùXHÐ`ÚûNÄô‰0¬À{íaiÎùÌœSû³—;Ì—`8—óâ4D…=?Ò¹Ÿú7owÕÐqÙÞNy¼°K±ýøæEÛâô#ÙÃ.Ó±è¯uxøzÐéD˜œ×wÞÞÞO6E;xŒ:¸”·x­O~þ‰K—<Λ<$÷{n -øíF“Hû©œÌÓ&æ² ¼>õŠëçnZ–Τ×\7W˜ 8>B._Òt‚/o Ág|¥¤âwf/€ù«$¾ éYIš/óÓr>=’½œ,Ÿ0.(ÛLÞÞœa'q8Ï>#ó\¬…I)‹Ï§å+Î ã$“ëÅ„Ó×ÛHð¶Ÿ›i¿t¢ €ûÒùO™V¬¦Ú)¼ôUŒ"íÀ¢ý‰¾˜G£³[´Z§Ô/U9†óE—(eOݰ•øà·aìÞN_Åïz'u4Yÿö¿lWö?‰3ÿÎùrgóü]WÜUuNkZoµÞ}D>¶>sÔ4ýxðtÞ¢õYh„Òx¿¢ùHhŸ&sbÌOÇY‘žÅ5ÏŒùbÛž£'N;wêxaê?Ĥ6 “v&½h‚Ö¢„5^i™G/Þh7´·^9‘»9&fsþ ï#È“È×xQç37nÍ=zêâ•k×®]9w¢(cóW’„e<Îâ‰G›2-ûÄ•ÖvCû‹G36ÆÄ|UÚ:ú2¯O]R*O›¸’UƒG}¯\B„&8Ó5ÍÅ+W®\¹rñÜ©£{Rÿ!&ó<5?a§ÜÞŸÏZ´a ×t:3çø•ÖvCûµS¹™Ê6æâ„e<ð^›°ˆhËOË=qåÆ+§ 3sN·1?òFœÊJ_ç3ÓŽ¶€·$a1óº"mÏ©k­í†öçŠÒ¾ŒùòUo>È “' ASqi0<Òç¯ZÌBqâZ{{ëµS{2R/=<ÛrM™VÚ)”§¬àÑy«Ò“æ·§)±© ûš«ëÔúÀýýcíé¢ëà!]åE·Oãç|¾|æÑ¢€4ü ¡w/þÍ´Ýk˜ÕÅÉå±üž+ï]Ò\ñB''‹9}¦§‡ßoöŒÞ»ó½í~t?°u?°uÝ~ÓÇ2ÚŒÙ@›(§_9Ÿn;täÓReÑñêüœR¦—P"OÙ°jÁ&Q û&îÝËQä¥m̧ŸEq;å‰/žZ“¾`ëþC (ž>Ya? $<|„’”½ +ì·%c-LÝ¿Ó[¡T~õe'ó'í–¯õ~ÎGY´V™Ê+i•÷XJˆG†è]¦¯Èüfðª<ÂÃK%—oXõ¤Óž¾`ëÞ…òÀW_*€éµhMzVÂÀÔ(œåYû©|ÅÅWÓgYÒ^ù*ÞÈ6ÁYžžuîËoòÓ …û}—§ï¥â€bs© ˜\á²”½ +^uªΊ”¤ã1Š¡)}¡|·œÊTæl> à!ŒJJßptcfçK Ö&¯ä§•v SvÜþ·6%éÄ—ùiùa‡¶-ÄAßÏ:¬5›Í´©6Åš0l#)вX,wîÜ yM«ûé§ŸØl¶“Ó«{M›6mJmšî—»쳿X­VÇmÚ×××ßßãÆeË–á·ý]ñèÑ#Ðh4Ï™P(€Ë—/Ï;×d2y{{;;;;;;;99Ñh4{+——ŸÓl_}×t¯Áz~}ú4ö '­»Çü4u÷˜­V«ƒáþÞ >÷ý¹^¼É:Þ£KLËEÌ®äæAûÕh¾¿¥MÃiêÐÛdµZFã|€?¸ïÜî¤d! ‹3˜ÕZ‹¾øRÉMÿ÷=Ë1½½¦f‹}€íˆð%F"„ÞÕŸXà øÏ}Ðq ¬}`ᆔê}«ÿë®©Û NNN^³¹¼™žÆG¤éÇÖŸzûúF,¡ínûÕëÍÎÎΜ÷˜N@È ~å~ë=ò[o7ôtÂ¥=ÖŽœB¶ÙC`¿U{箳‹³à>V>Bh*Æ¿k¹1›+ˆeò”øE\¢óúqÅ=±8iÆ¿× BcK€Oä9<7t 4€©wë„&MKïíÿ:?ÕA/Øf-úûûïw>¼ß W~t^0÷cÙ¯Žjšå¡­·Zªl½Ý´ˆyÐùPuäxý5ÍõþàþÓïݦڜÃ!@_´7PP~µQW(IÙ›† Bo›}<›m”ø×oíïïïØÂ9~Ã,ˆÐ»“ÿl¶ÛÝ%[o7X™³O<þäo ?õ˜)`1§òñ‚[­wZj·¿œA'f{L›û¾KßíÃéæ3Þsö3Ü;wõõÿõÃ74>|Ôc¶ôöõkšÛþ·Ñó)t9Kï¾ 6«íöX¾ßµó”­éöOp»í§§Îÿîóåx]Bh f@Þò­¹Ë·bE`Dh‚%@ûL06›ÕjµZ­`¿Þ lV+I>nª½7c¦+o.{Ú´iÎ4màj(Ú€wìãÝ/ÐTL€ý@=—i4† l·˜‹kj;º-½À`ÐE¿üEóíÖ»í÷ÀÙÉiöLör—OXw¹Ö;NîØºzãï4çW³¹Ó§1Úî¶ë°frØÆGúû Eéîu¨.»ÿ£hé'ýß¹X `³¹üp$Fô‡?ݽo¶P=fË÷¿$äÍòÄí€B BoŸÕl€þþ~³ÙÜÕÕ忯 º««‹‹‹‹µßj!Iª÷Aãq0þæ.÷COWWW'''gg:ƒáææ64=ÍÞ—ˆçøš˜œ\hó¢h‚ߨº~ì7Þ9û}Çý‡möQÞ¡A7ßÒÞm¿o¿ôám yuê2:Œp­ùÖùKW~j¿?Íáû‘× æôÛmww÷ètü»•·ä3ïû•´^ôvÿ’ü÷OùÛ³¿fµZï:Ï_º²6ò3Ü!„0"4Øì¬‹%Ïn''çøø8:ÃÐÛk™>“æLï3=47Ö߷ܤ;õ8»:GÌãÙ>ÜiÓ§Ñ ÂÕÕÕÅÅÅÙÙ™æää<8S¢ ‡‰"4‘Јé@L§±f»zÁÆù}!7nŸ«ýÏ»÷ôööÞ{`''šï‡žr9ýö±ÁÜèL£³l ˜õKÚtÎ#ÒtóǶ{6›íqwÏÕë-¿ ü…÷lÞ­Ö;ª÷žáá±¶ù¿wÌè»6«S×Ís­®¸ôöõ™÷\ilŠ ÿ ƒŽ÷0F!„ ¡·ÍÉíÿgïì㢸ξÙÝ™Ýe–dñPA´.‰A“@J /`RÁT")±˜TLo•IAúhª˜*‰J!­BBh1Ø[0Ð&±Ô°š@H@øÂ*°,ì,»3»3çùcÑ@bÛ[Ûù~ö³ór朳s͜߹®9G1Ap‘HÓ·d·¶¶î.*¶Z­Ï>û¬‹‹ËÐe¶uŸ¢¯ÞE&”]ê¢À 9È•ØÑ¡¶Ìãäwô‘‹ì”;©T*\\h…BNQ”L&“:_‹&½µ"EÅÁ©EĤTúƒó~°`Þ¹î 9;÷:<h\]~¶TáÒU9ªåjð»ÍC^ E€ÒÁßw÷„ˆã'ôWúãÓmŸ‡. òòÔ\2ô ‚ÐüIgô#÷,²t< ¾¶gÏš÷Å—çyž4¿t9p¶¯Xù""בݖýúG¯?úlÎ9“îPxºðÅÏ^||Öã/ÝûÒÄõ¡C/Z/¢k»[1Æ^ ¯Ó?>-%F[Â}l߃{pÈ>ôvÌÛ Õ ÿÞõ÷ŸŸü¹ÎU÷—þ"#&™øxïñä’gÐ3ŽÄQJ•Ùeÿ¥û/Ï,|fËÂ-“gï“—O¾·$îåE/‹¿¦ˆ¨EDnœc"A¸ÑtèâÅsüý?ýä“þó­ÝòOîŸ;ãB€a„xÁBð#ÀJ—¤\›‚¨r#H <ù‘œ5pXÐ]`^®¦\\\ %—“2™L&#$b4ZTô ŠˆÜB|ÒÞ9bµ9—ï™5Ût; Jó„tk‘‹×Ý( ðŸå3ÍS;ͳñÔç ¢2™ìŽE <ÜÝXÖ]!°Ï]ÈÁIÊ×)¨T.ŒEì|™„mïmÈ=™Ëòì¶»¶}u‡ßœþiÄô2óò¯ïúµ†Ô8Wþ¾õ÷ú~=L6+aŸ¥¯ä\ɳÏ:¿>wøôÀiàíܽl÷¶3ÛΜ=k<{Úxz‰ç’ëŽm¸Øñ÷p@çPçɾ“÷ùÜ·íÌ6È>‘ÍÚØ¼%y×í¿óôÎŒ¦ `×»D("*@‘ÛGŽÍH DÊd‰„”JïZ²dÆô •_¾}ùo™êÃ/–DÏA‹È €!ì@„AF^&©DU"$7³s†™½CAž'“ÎP¸Ð.J¥R¡TÊ)J*•Ž3ó_©*Ò}å£_Üæÿ01mûöÔeê)÷着0D&N¾ƒ©*ÒWZW}¼úß’õ®¢˜˜úÔúŠx¨ÍLLÝõA7ë6?.³´4s™il‹V´žÛžöÎ.ž½ÜëGÀÙn„°ëL"ô¤œdì¥"6êÞØ¨{§Nõç?  þÑåb=‹ˆ| ZauX ¿%0l »^jHÉf’` ë`°òÖìÆl§óOCjƧ§ç1?Èú‚q(€@€ Ë€&iç,Ï^/ÿ.4Dü=Æ& ° ÀsÑϽZõ*¨à·'~+€ðÂ’Æ÷ßqzÇóMÏ`x*ä)ñ§ ˆÈm’H®. ŒAØyž”“îjŸÄUÉ­¯¨{¬Çë¯ÔÂðbÉCwH˜~r 0!bTBV™òS¹Ë§<™¸™†áehp‰\>WCÏöróp—IGmsl$Qˆ@hÌGˆþå£ß4×ÙM†Zür»>ÍÀÔU_𙹬½,—b IDAT¶qW¤z ¸}»-(q™úÿüªè*MÞ.ÏmŒ×*b+üKÛkãµ]E1ËscÚw¥¥•F¦ÕFVĨEû¹°ŒX-V«À @Ë%JdC‚@ªtî#“ɼ%¦ÑyÌŸTþ‰ˆˆÜü+ºÚdÍ×ç#„¶Þµõ«;H ©>¯Ÿÿèy´wÕ/¯'FŸÂàwVÝùÅàŸ|þÏÞÞãsó@çV !€ñÈω瀆ó 5 › /ððJÀ+üb¾øËbÂïZ~‡0úí]¿€gvŽÊ?€Ÿü¤ôþRñ§¹ Ä*¹1 ˆœc^<Ïrœ™a çÍ#ý’Æ„”˜Kü0Iöúzò¯^hn)—ñ+6r7»¾•odðü˜üC0Ⴠ‘=‚÷[C¾¿îRîøä©Ï϶ÑÙöyǧŸu¶¶Ÿmkïêèì:w¶§§çâ¥K†Ë—ûLCCÌȈe9»ÝÁóÆØù0ËäMøü_¡öL«¨Í•¥Ut€­«4Y§U«ÕjuP|‘Þ¶ÆÔ˜_4ÎÔ¥6Ú¾²Õ‰©q{¼Î_-—ûÇïÒÛÀ¦ß¤U«Õj­.¹¢ ÆÖjµjµdf½ ÀP›ä¯Õjýu‰¥í6CUÚ2ç^ËR« ×dզߕkˆÏ×ÈýS‹*vÅûËAŸèoÒlþ‰¹Ë3K»Dã¹=з~þZÙ_wì}}ÇÞ×›êklõÛ…w3„w3}‰À1Îñ>16-(BH"Ö›ˆÈ¿ €a[˶ìÙ“nç1F.üáÓ?8íµ4¢T)UÊ%r燖Ñ/Ýý’3Í£sÐYìçÂ74Õ™ŽGÔD8ƒ{Æß+$d£m颋Ö-XçLö…–^kíÍŽ733Æå_ùýåâ¯'"*@‘ÛM;x~ÄjµŒŒ˜ÍæOŽ]ì?Ë+<Šé¶™X$Y(ñH6õÎùñ‡dOUp/­¹ksg¾íùÏ…60ÆEàh³Ò6ƒd»Pç­óÑ2gEµÌs.šûPÁœ^ð»?cÖýÿãõÈzj]¦å¥WºÿñîgŸœùüóÏ¿ìêºxéR¿ihÈ22ÂrœÃáà¶U|Møm¨K½ÏIddäý÷ßõàƒþ(û$w¹:õ± }ëÊJLöo¯Ð›ÀT›šÖYe0™ õñíiiUù²]¥Où-έ×-³}e«óñ}º2ë»L¦ÆÄöÌÔ t•¦æv¥ÖL¦® ]mjZ½ l™™úÄú.ƒÁÔUº¬«¢Þ†ŠäÄ ÿ"½Á`hÌ´e&îj›~{f•®¢Ë`0ªMUµÕœ­½´ "“ƒä ^?æ“4ÔW‚ƒÔ ^–¬3”V‰ðöÀjc/\ºÜq®§ã\Oïå~®ïs¸ò \ù]>í¦”g·n£­PÞƒç0Çܶ%6×¥Þ¿³cBˆÛ´ùå¹­ì·M¨µ¦¦ã+ 4U×õÞä,³­;ã—oi™:ƒß⤽Ǫ›Äëþvcé´¥ë­wêÀ©D Bª€õÇ×€`•ÿª`÷àëöydæ#ç~rîó'>/ÿa9`ÀOÎ{²#±£#±ÃéZŸäuú7;Üù†GÌô˜5³×ŒŠÀ Ì¢ˆ¢gƒžu±îÃukÞ_sUþEÝùÇv쉿ï¾ÇwN°Só±Ôž®ø®Vóͧì.O}|sMïÄÄv|ßêøAŒ¹!0ÇaŒž7›¾Ñá°I!ØY‡»šµΟ ¦‡ _®VK€I0qçŠr; àî3üñ_<;„§Þó‰€{%K"¤?Ð"¥€Ô«âüÂ[ض#lG`G˜%° À"3Yè/;¦}$A¥àÓ–Y›ìïÌ`PŒ¶«ªÝ–ví^"·$n*¥rô‡ºl•Øh… €<ÔèsïÇ}¼ @c¯t¶ç¤pÇ3ï!æ>ˆe./•^ï Äîi€žãàt,ÈÝ›¸SÝ–³@ðü¹çºÎÛX\•ÔšP)ihD¹B@,š~çíÕ¢ê,/®Ž‹ ¼f ³¾¼¸&)&Úçß9µÅ·8ioCIyGzÌRqêÛëj³³¯Þ󪻋û¶n¶µlÃ;ß t`‡S©IõñKÇÿÖù7€·ÒûÞ hûC/Ó‹’ÍqlÛžOö†:Gó•fŒqˆ&ÄCîqÕ–1€†Ë ‡#œkæyΫy¤æå“/—IÊÀ1:Æk÷½6×mnfSæøšì;²·äw7±H’fjóKâö¥ÞÀåK…l(;À©¾ó…Îv”dWÒëöÅúˆ—Ÿ¨EDþû“P.*:ê©›,•½.s–—i<æÙ“ûsÄ  THãEx„J—üŒÚ؇/tðŸ´ð•Ùü†Ýæ‰ÔsÐô búbZ0ò˜.®Î@3çs sk41$¬MÑÏ)̃®Îj›ÞÇ.¤UëÍøÍ¶Ì4Îûž>ÛÅÕM©T:G”!‰L&•Édçäÿö±Fͧ^‡•QßîS—I®ÖÊ õ»Ò2+ô&ƒ©ý²\wín“o•«µêѵMoèªÍMÛ^Õn’ËÁtzH› ×m¯¯Ø•¹=Ñÿ “\fQifÁ4t:S§Îu&b³iýM6ÿ´ª*ÈÌMÕ¥t©N-*Ýsu\“Á¤ö×Nv†ÚÔ˜ÔöäªÚ´ ±µj5˜ Na*r‹ã©qwwsu.÷\1[4Þ^Â%à°™îð³VË»àxë¥è”_jçþ€ i«=Óòé…Þ+K/˜éã-q¾-Œ<|w½ŸýžŒFïûÿþ wº{ˆçy™T*—Sï?ÉÙípGÐ,™êSÜ{Àu& Œ½5êÃÜZ™Ÿ_¢7]BVVRˆ zëvæÖv2¤6,%''Á·§h}Fƒ‘k^ódËÖ}[BÍL¶uÛÚ<=m«Ÿ^±cïFm[Q^þá¶Ñ£²²â)¶cçê cB 45wö xCNlGI¹¾§Ç@†§ïÞíÑ]þøÚcQ«4úæ£ÑHê6lÍŠõ›Ø,í®ÉÏ+nèaHßð 9Y±ÚÎo:éÕÂÛ²¾°Ók )»÷$ÐÕù%ÍmøºœôX?QÞ¢\a¯ÀÖÅ[Œ±èLH _ŸïN¹g,ÎÐPšspΩÇ.q—@ €\"WHs"çw-¿»ú4EcÊM€š¯ W*ÏV>wü9xjÞS¥‘¥ãÊ»½ï>Ïœ¨•n'tÎôŸ™*“Ó]¦OüêMyßäZ Ã7ÄtäŒÝ›tí¥ÊvTæe73´Æ7ÑÿÚ„lõi“nµÙ NW¡Íd°ÉµrCErrÕ²ÚÆªej0UEúowÊCÿ˜ÌŠ˜L°µ—&F&gF6Æ«ÝïÒëSý¯9‰62­´> l]Ui‘‰©1]UÇu±MЬõi1©†´ÚÚä Ñßw{âíå¡õò”J$ž¿x¹ÿÒ¢€޳2ŽŒýÌ…Îÿáñ3çxž7ô›öÿ£msêlcÿöÞ‡oÿý‹Õú>ò™æ¹hAà²;Mw“ ­P[åx€¨Ã{IM¯ö ÃÏó°`Þì®ó—œËpÏ<¢¿U@„”žHxK迦‚ŒbfݾCq~ÔÀ±Üµù¾¶EÀ±‚ü£šœïEx˜[v®Ù”8|BêÖu kj’ÊöÇ^u›P!é[W5¯ïÉ:°s)5P³1ã0µïH´Û[“±6£0àÀæ Á¨o )Û“ê1P—º2/›ÜQV´Q5Póôê’Ú¤è$’kkPíÛ·?2·ì\“‘4¬èjWRom^¾>xï¡ý!ªc[Öä4„ï‰þ¦“†Œ5–U99á+óèe[B(¶u[F¡!iß¡?Ší(Z»>£$ø­T?Ñ$nIÆhÙ{ï^$E{?Þ x¾éy‹Ãâ*íÁ±8, þ Aª vs{7ÓÕ”•¿4šË´kfÄW¥à{½”dôòðQ^Õ?*™êÕ¶W{ê·£òÏ5àäÊ“*™ H9ióOåo9±$<ÂÆ7À°uÑÖ›X¾IY«ÖçŽ*J˜ ÖºævFí}'5º«³×æ®›Z”có1MÙžý>0P·quayGøæÐ [£ÖfÓåhËój7”Å]ãëÐW¶ibÓö@’\ÏQ&½l¨Ší(_»6ïpØ›I$ Œ¾Îcï#!*˜ÔšRHà ­¡ûŠ6z@oå“« k“–&ÑÇò³Ë!}ß‘h07m[“XV7Ey'˹ogá¦bcÊÞwâü¸Ö=k7åÖíÒgOr·é,Î;È%í{'Áê­Ù¼ö0§-IT€""7†À²ãý†€ñøs„ÀX­PФÌM©t{Îdx´Ÿ1Øm½8;<ÂØ)ßÀ˜ÀsX¢î‘, 'æ °x„Ŧ/øs'„Î…îãÂÅ·ñˆ ØpHùƒL¤ó1? ój» Œ¥Flñœ9´˜@¼ÇÅVÏ®S @@! ‘ ÷O_Ô§]Òçá/uõ¦\\år9Iʤéè$„!•H¤2Ù¿ÀI8#"zÞ·Q]õEi‰»äi‰Z°5Lêø -€­½bWãe›Öf9˜ 6ØL“nöti…>5SíU† Ü 0˜@«óW˜‹vé‡l&t•Æ'6¦VÅhåþAAj0€Z—¼Ì°½¨1yû2¹­½4u»-³(±+5¦4¦¢4Ñ_wMÌ©Z«¶ÕlrSmjr}LUãõòÏÔe‚1¤È-ŽR!Ÿë?ÓS£6ô 8|Ë :Öz} ؉¶'‚—~Ñ­4Í<ÏŸ<ݶûOœãwðíwÓýõ^îë½Ü7hší;}†6ˆpŸƒ)Wà,¡FÜU]®k71#6PÑ.>Ó<5µ8cJ§yºßCŸ.–¹ Ÿ%@¹þ;Km<¼ö‘Ú« YŽãè(`;« lGŒaIá䦚66biÄÖC:P©@L6tYø¦Ð0³¾ºŽÙî”OT’®0¿¦gà bu@k}5¤&V§r.“L7à ¾qQ¨‚£udm]'5Þ{ï·÷(J¥]´/Œ}퓟4d²˜9¶§¦™ Nw–• Œ‹Óþ¹º¹7ÕO y»åyué«°·y/H ïã<4ödæ†]¤.ûÚOå=€`{Ëö_.þå† ‹Ü]²\B)¥ÊíúíW Ö76Hã#…^suðìÏ~î\žã:çÄc'ÜH·¯ÉÒ‹ú·|¼~þ+…L‘{4HØÖ´ ,°uÙÍd`JÖŠ5ù5á{ÆZmu=Ú¨Ø übRŠ› _9,8!Ü€öõ¥ƒT!r¢Ödgg“mú¾ 9¬áX »jZš¨¸`P¾aašâcIÁ࢚ҚR€¤uqaš_šé6²¬¡¦Âv8s£Ò%DÑëkÚÌqSøúœ³PÓÀ¤GùQTÈÆ}‡Ì¤ÊÜ7‰á'èõFß„(? |¢tzÑxD("rÃP€«=†pÍ2A $s¥ EiÔjË\Ë•Ëýü“ƒ–ƒjd#F'ÄèªjÄ€#çxa€c ƒ ébbF(rG’`„G°¶Xððç¸ï´0ø1˜ÿ‚G®€Ã,`‡ (Í•‹ä²Å.Ò•lÖùnuÿ™\BP„ƒB,AðÜ´¾–i¦Ó@!»‚p_ÐG/²Ê§c™I(©T"•Ê(Rîªñôôò’I¥7s,P©¸‘Û {ú³Ñ/(¿¥‰¹õõ©:9€<27Už¨ÓîÒú/KÛ¾}ubr|r¤¾(>bCýÛÿòÁ$[?ˆ·¥‰¦ÜÈ }»A¹½*^ëoÊ/MÒfúÅdæn8>-&uY}f|ErÚj]rQÅ2¹vYiicb¢¿Úf¹.yWE\ퟖ\š¼L›jPÅ滛8?…Z§SwÕwÙâur›¾¨ªû4ªxqtÛüüÏÚ3ƒÀÖUkð‚· !óçÎvW»ÎöºhJé‡N¾„‡zÀç¡gî]ùê1d4 ó<ßøñ'½—û‚çÍ23ý¦!33>n >K`v”¥çt»Ãÿƒ.·¿ì·ŒØÀÍ•^xêL»ó @©Tò“p?å…לC7!Zûï¥cvì[0&9}ÞšÎh䘶Œ•ËÉQaÈ@0Ã0úÃ…%5 ÓÃq17p ÆÈpƃëWÖŽ§E†4@’4=zfHòêâx“ÖŒ5mišä 7á–ÑÛ\RXÒÜÃÇôpdÄœtª ^Í Ð˜^†Aoˆí¸¨¥`éè -ÎÙ îö¸ûQßGÿvþo §?xúí‡ßŽœ9~às ÏpÀKË^úšô9aô¢ p 8ñØ 59I‡ž€G›Û[¶gÈr.¯™·fûâípåò•W;^¶Ù2ØzçMTHJVøšì‚º°œÑ«—c8’ö5ФÉëàK»jh@…$$iVbö†{\_F#G/¥©«Fé3ú…¢}hhf8’3ÕI­‰ € ç2ùØÉë¼<Ï;ûƒÉîøtGVS–ó-þ'Ÿ|ãþ7œ»½rÿ+X†÷¶í€m-Ûd‚,÷®Ü›T%ªÐ Yakò 6ŒÉ3’cÀX¦›án,ºÂ.j…oC~IÇ7Œ.Ãw°L/4M߀5M.Kj4$g“|,ÓÍšQ9–m–㸵\v ÛÀi5“~w' mc•Á1†#E{gƒ¹10ÏÍaLR©ÊÅeºÖgÞbÿઙ½Bm;ï1a™@À˜ € `Œ±àtb„Í‹éÁ{5 0v® a ¤(„T€Ü 4 ³$’PÒ\d«Ýå}\rýÝ hJîðxënï¿EùŒò)¹Zþ½^iw¸?ì=GyÇt¹¿é©”Ò¤„” æv\V„|°… IpU¹N5;Áá)2%òe™™ÚªÜZÓÛ»*ru¹ÉAbMÝ6 „¼<ܧyjHR@ȈÐg`ÆR@X‹zÿô»G=çÍõŒ±eÄzþ’átë|tòÃÆß©;¶%¿ð§ý«­{JÞ>~êì€qxÄ)ÿfM÷^ºð“¶Ž‹†+Nù8Çw­ßÒO'ƪèI€n‘‡2§ãÊzØîºm[ö´˜î­¯†0·.oã¸Qpœñ«-5†Pé₵åΙØŽêÜ-å78{Ouu f}µž ˆð½Ú2åz }=` ¥²º¸Žýv'%c€ò §ÛÊk»Y0·VV|cubè­‡eÄô±}_ÝTäS´þÇëa@v›]:æÞÐʵ¿\üKÚMímƒmΑ5:›ÀwŒ'â@§ Ñ"X`À6:»ÂÕœSújðçÐÈs¢_ZFÀóÿ| ?÷Ó²ûË&îùjø«Ï?à€¼3y7³RTK7¤ëôÅ=NI Ój:X¶»¶¤ùƦª¨Ë/èŒÊÊÚœ³Ns8¯øZC!5’é`®®36T·™€í¬i0úF¨®½sܸ5Q±aÐü4À5 îѺIƒ?Ÿºç©wß~דö¼ÓóNH JùßsÿûxÀ㯅¿öÕ_ …’Rû;öÇxÇÜÜjñˆHß¼:_¯*0%ë'yë)§µQ QZ}Û7뿚ü‚ž¨[C(€¸¬”š5ÙÅÑeÇÿ”6—+Ñ dt,m]ñd~ÁHë6l]åpÍ4TÈdÖ4iÐ¥*"kkO~ÁÚå@¬ØšëáVTçmZÓ Õhƒ£Ã}É©‹à³-B¬àÿ$D("rcrîk ž,rr¢dT J¥2’¢\ÆÜeü‡ÓiÆó¼ç9ŒÉ"„¼$©ý`‘#nù›ÍjµZY›`fˆa“txH H^®©T+’–‘2Š¢ä”\.—{ËåEÉår§s&Ìþ':ÿED¾¡½5`ë @gÊЬ»‘f9ô&°fpñ"—#‘„ d†+ýúOÛõ­_\wPÑJo•ìž@×(M[_5ŒÍˆÔþhé&4÷!±žEDDnªˆôôcÙù«È }£Ò·ÆÜo¸.'aSvAM@º8€Š¨EDþë‚6Û×+@žç1#1 ÷5*ktr@)B •‚TŠIÒ91Ä(„%ã+1–»Ýáp8ìv;2%§(J>êãsNûNH㉙Á¦Ã™Ï ì…ν‹ÙaŒè9r7ä1èéÈ{.S'‘H\i—éž*_Wa¾Ê<ߥoš­0ôIHð½Ýñ4ò^,Öñäø%½ù^’X ""ß Ÿè-û£·ÜäD©À¤¢· è½h±ŽE("ò_ÅÔZN–eÍf³Åb±ÛíA(•J•«J!WH¤Rôµi"€oë‰ì ?2b6÷ž?1vqq™1c:IQE‰^>‘ïá9ß“sÀM»aà À¶ á‹ÍH*‡Á³Bwò ùàæ‹”^îµx¦n†Ì]f÷YÔöK.#Ÿ*x%00hƒ±Áå‘›/ºóYðDJXÃ"""""¢¹U‚Ôäƒ×aŒ,;42ÒÚÞ~ðàA§×ÎÏÏoõêÕÞÞ”‹LöÕ÷à'zö&MðZ…SíC8›ÙÜòÉ'+W®€E‹•••)\Ýä$étB~Múß ÿ%/¦‹ˆÜ~ J~÷3—áÏ«áô`¹‚9 vØ€1cÀ}ŸŽZ€À”/Ê „dJPz¼GÑ¢Ÿ ¹»X±"""""¢¹¥¦ ‚uxØxåÊo󛯯FçÊi^^1ÑÑ”DB„D*uŽ:.½0ÆØ9áçX,htF,ããF`„3šÔ9R‹óHa gj<Ï[ÍÃv«ÕiÉŒ-C&ë°;I ‚HĨuæa±ÎMS E‘kœ„DÁ 07_øõžÂýí0ÔƒGúí䙈@r7pšbú˜q7¸xŠƒ¾ˆˆˆˆˆˆ PDä¶€“´ó0ïp0fsÿ•ËŸöxlåÊêêêþþþöÏÚ”J…»Ú°sœÕjeY`Œ^ÀX*•P”ÜÅÅ…$I 6«Íba8ÎÎó< $•HH’Tº¸(är‰DœÝn³Z-##»çy§„3 óvû耠›Œƒ—Ê‹E*•’$IÓ4EQ„DÂó¼ÍfcÆa·;x!$•H …‹‹‹Œ$%ÄwGùïƒR¡¹$²\Æf2_ăgÁ| ,W€3ƒƒÅ# ” )=0=Ügƒj¢µ@{ƒÌEnWDDDDDT€""· „\>‰ĘÃxØf;ùJÿð°T&ûÝ﬩éÒ¥KÛvTWW³&²Øíï¾ÿþ—_~)“É~øáááá;vô÷÷ßsÏ=Ï>û¬idÄËË‹çy»ÃñEWweeeKK Æ888ø¹çž£m6š¦GßÀ€Ãá8þüo¼ÑÞÞN’ä}÷Ý÷ÄOpv°#4cöìêêêwÞy'00ðùçŸg8ÎËË‹’H†-£Ñ(Â+¯¼R__ïææöÄO,_¾Ü̲ÞÞÞ R~}´ª*"2\g!×Yw}¤Õžˆˆˆˆˆ¨EDncðd>@ç­‹L*}½¤0 :ÛÑ1/0°÷Ò¥öÏ>;súthh(0|ë­êÇeRiÅ_þòÉ'Ÿ‚M%û÷ïÙ³ç®%Kd$yòäÉ'žxb@‘ãZ Æ€Aàl¶aÓPÕÿþ¯Àó`¶¿¿T" –S˲ÇŽÿü¹ç¬##¼Ã;ýké¿ü¥nñb…\>gΜwÿñîžž . ›L …Âj±¸»»ŸÇvfÔö­ NH€òÍî›5 «K¢ËÞ\ѳee&%ÜX§ï1Œš¨œ›—z˜[+óóKôFR£KÈÊJºÖ—Çv­]ß·o‚°Ýåk×ÖÅîÛÎicõÐI/  € MIѬ)¬MÙŸ±ûàz§ì®ÉÏ+n6p@¯ÈÊI ½æ½u;ó k;G ˜““0u'flÓf›6?R Y¥34wÆwEÎÖÔPÕäeì-rͱ¸u¾Çê: ¤ìØšð¯Oø?DôŠˆÜ ­?ˆ@Àʲ,Çÿè#çëÿï7¿yzíÚÇW¯¶±,hmkë0Z,žç1 ç>Ó¼½išö™1]¡TÞ¹d °;ýF#32Ò|òdÒ“OnÍÏûo;×Õ…$ç! âŸ}ätÌÅ,_ŽòÖúxzy¹ªÝ(9…¹§”$å Åô™3„ ärÀÁó6Ž“’d_?è73ž>'7w˯]ÿÁ`Äjsþú‰eüVPÁqáp4{SþÁº–ŽTZ­†æÔ«¯T‰¯ŠˆÜz°­Åy¹¤}ïT½õfVH‹ÞÈ9×ft†m=päÈ‘Y¾ ÙÙ5@’\ÏQ&nëþýoØg(Ì;Ü=±VwT›^v¤ªêHÙ:òp^þ1.0!FÓVÙ<àÔšúê6MTœïÕÔ€¾®GpM›J– ƒÎºN3 Œ¾Í/½hÿ›o•¥kæå7™§ÌpG{csŠö¿y`wTÏÁÂÑ“ŽßŸbÃ5ú¼M¹å5M½f ||<(è.É.hÓm=p¤ªêÐîcqvaëTH’®³I({ïÍLM^öQ߬ï½÷aY W’]Ðbž"o""7›¨­ûvÄ„eíÛ@ Ôdg&×í;räÈ¡½ Æâ ç%L‚±ù˜fÝžýo¾U–®i(,ï`ÁÜT”ÞpàHUÕÞ¸Þʆë‚tHà ­¡éEû߬ڗÂ.¬í07d3 {9rdß:²2#ÿص¾<*0%'Jò«{ÙÞÃùådJÎ*?•_ÜÆXÊ#"5ÉÙ½ãÐSÝ0¹×Õꃷ:räÈ‘²tßžškÍ×|¬ ÿ¨&ýÀ{ï½wh«®­0ÿp/LQÀ‰LiÚ††žˆœýÎ2Ì+le§*# \[ $í(ÚÿVYNp[q±žý»D("rC ‰dâ$32"!ÉÏ>ÿ\pQ©fùùùúûûúû{N›&Øy>ÿÅ9žgŒ pcµ™;Ïwœ;' ‰Dåæv¹¯ï6ndFFæV¿ývN^ÞÆ´4ç!@!gš<€þ̇  3ŒÅj³ó‚0–8FHJ’2J.‘‘BNõˆ$‡ …àáåUüÇ?¾²wïÞââ½ÅÅE¯½¶·¸XIÓ”B¤R ˆ«üv¨"rìÝ ƒ¦?¿ð?«b£V­û]ÅIp_Ö4BÈ#âõ#"rËaÐë¾±Q~øD%èH¶§¦ÁäìèW…&Åi;«õΙ&*.X”oX˜¦çXçÕvš¹­¦S• óðOÐA[M'ë— í¬lès[u›&..p‚ÜcŒ Ð~ôõê´–æŒN- qQ>ºØè<Öcž2o¤&<6@”6D FÃum[*d󾲜h²¥²`ýêGî[þä–=uÝ,@osC6!.D”_TBÓ\×ó5Í<.V§׳ ¡*ð‰Ýqè@V(9u½‰ˆÜT<üý<(•_` eÖW·Ñ1)á>@ùD%鸆ç%L'„ûо¾4c0ÛSׯ'„y€jiJBÀW{9h]œ3°TàK3ÝF–í¬n€°”? <Â’ÂI}MÛuB®ÊIâJ²³3Ê!%'iR?™G@°ÆÐÔcž´<´–dôÕµMݬÇÒÛ¶D{\Û¸Øzè@N„¨‚#‚Ic‡Ñ™¯p"S›6©sVø„ÅjmzÃÔe$}ãÂý(Pù†hÀ`üO{¯EŒ¹!«õš¯o³ŒØfß«¯b›(Ú½ÛÃÃC­V›Íf‹Å’œœlµZ?ª¯¿rþ¼B¡ò¼ó¶X°m[ee%a·7ÔÕ}¦×S¾3fHyÞÜßïÜaš››¡»ÛËËk{I €Çñ##›RSß>xÐáp¼øÛßb›mÍš5#Æxðòe~dÄy¬LÇËË’¯äÌfÝ‚½ÝÝC}}Ÿž:õÓŸþ”aÌr¹ÂÅÅ…¢(vxXE’À²!üÝkH›ºàáŸaŒû¾l¬}å…ìçû ‹ž4Ù­§ÿ*^B""·,×Ë©!Çšaš4:•×–¿zys5Ç€¯SP‘´Ï¨^£hšn¢šãHŸq5GkH¦“áÀ'*! ¸²¡7.¦§ºS—îwÔ¦ÃÈ‚Ï5-FÆÀ íLf,s$IÇpSç Hr4rŠû“_DÒ–ˆ$0w·-ÉË[oÔ”%u3@kÆÂ_I¸¯kå‘cet–wìL”JÀN‘71Tä_ cd8ãÁõ+kW#Ç1d˜@$äØJŽ]“IÓä˜ýiÈI®ðëÖqF#Ç´e¬\>ž<3Ì@ͦ5ùm ­Ë*ÛëAù­Hò-Îk Ûã7UçI zä³*S!ön=XRY¸¾ ‡ó OIOO h6úÃ…%5 ÓÃq1c…úJ'Üܘ)MûêZš¦à˜IË8y}ˆ PDä¿‘kÇÉÄ€8»Ýj³•½ù¦ qw Ôh4žž céííõôòêîé±Úl†+W|´ZÎm¸|92*JNQ###E’¿ÉÉQ¹º.Öéh•ë°yøä©S›328Žc«Í6}Æ ©Túô3ÏÀ‹¿ÿý®Ý»B3gÎܽ{÷¨«#$‘É$2™ÄáÆfª¦är¥Rñ›œœîóç[[[÷•¼þºœ¢xA°Z­¿úÕóOýô)BBÀø¼ó£%ü6bp õX ÖE‡¸ŒöP†%®ôí§›Ï1Oyª]TKS¾ápSU¤ûÊÆ~KsK‹’ƒä6}ZPS'wzûõæØÌ0_ž¿ÔxêÌg»ûŒƒ‚€U´ÒÖôÐ…A‹ziÜe²«Ç÷ŸhjùÔÆr*ÚåÏþdâ¼)FÓPUíû=/+(2taÐC‘woú¼³«®¡ùÊÀà×ä$",4:"̹lw8>>óYÍûÿüšý=ԮˣÃçúÏbFF8ÎÑ´‹„ø.á<éCBÛ˜ŽãÑNeF†eعôšWq:cz€`™^hš¾ªæ449¾€1r´–&Tá ÁÅ%G;´­mÚ¸ôk_ÓñŽ0–T·™C&¼ôcn®ÔCpzÆhäœ)rŒ‘#è)òfîù†’š;Ž53ÁÑ£ÍJ•_h܆”ê•åm íGƒÞȨF[»@ÓF€ êv’V+­¡I¦{¬¼æÞn†ÖNž7‘)´†&µ?Ù÷Vê5ҋ혴ƒÎÈŒÚc4r ý¦äI†ÖÄì8°%äš~vGYçLÒÌ-…Å=á«tm……-º-¡ßÚ(Ÿ¥I[–& ´VæmÊ.ž0$±ùX~v9™µo_´æ¦Í+óo(Å©M›ïäaŒ Ð>4=yÿ Š£@EDnÌTäò‰DQ…ÂÊó,_þ£Ç{⩧ܼ¼<§O§5îÞÞÞ³f¥geýè±Ç}ì±»ÝkÆ ^"±Øþß /üìç?Ÿ1{v@ppÊÏ~vèwîþáý}üü޼÷îš§Ÿž=¾‡ÏšµkëÿùÏ'&®øñ]==µ¾¾Þ³fýÏ/~ñÖ¡C)?ûÙÂ;îðš1cNPPxT”÷¬Y3üýWüøÇ+~üãÈÔx{«4õ´iÄ.ÿÑc­øñ=§O×úúi´ÚÒòò—ÿð‡¸„¿€ÏéÓç/\ødJJؽá”JEÈ×ðÛÕ×V’—‘]ÙÒëŒÎ0wþý\ö^2_CÎŽ]è8óî ܰ¿ü%Æck{‘®>5¹´ @®Û®×o¿%÷ÛÔbÅc«¾"Jct‰U†©ô¢~Wni»íFJeªMKëJ+Jõ·éssmiz+65¦ÙrsõòÈÜ]A¥É»ÚE˸Í`9îÄéÖ—ŠßܺëOGê:»Î 3fÆrÉÐ÷ϧ_-}kÛî}u MCæ«® Þ+}úOÛ?>Óv¦µ]®é±ÛŸwv|¦­¥õóó—®¹æ†ÌÌgç>>Óö5Ÿ ½† ºTèüúý?mïtfŒãìCfó¹î‹g»/p÷ëB«ÓÑ=•G»Y¶ûh¹ž |£Ã5ú’Ún`àØž-;ëFƒ Õmf`;kŒ¾Wz*]\s´Roè=Z®]l€3¦*Ag¬,,nóM¿Þ擾JS›‘±çX‡™`:êölÊkö]—>¶k§3sÐÛPÝIGhUSçíëïO=ÕùEMc÷§îc%•Nëëk¨¬ne€í®­ì¤Ã£})’ÖÒLÓ_ÑÛPÝùÕúu–·¼yzëò×®/lã¾cÞDD¾*]\°±¶¼iÀ)üªs·L9–.¥]mÎØdsKyyç(©€8×Pî|ƒí®Û¶eO‹€Ry8QQæ¦Â¼æà¬¬Yé y…M“†z; µ“zÔº+7>ë4ß-}ñ­õÕPæÖÃåmÇÜÈ orÓàô• Àv7Ôôht:Íeü/@ôŠˆÜØn¿æ» Èe²À9s ^|‘çyŠ¢\\\”$I%‘¸»ºÆ?úèÃÑÑ‚ `Œ‡‡‡%;_­Ó¸º.ÑéÖ?û¬Œ$1ÆJ…‚V©H’t(•r™ì×™Y€0æ8Ž¿ËË“„R©T(•2™ÌE.w ]„„L"’$=Õê/nçy^NÉ•J¥Œ$Y–ÍþÕ¯8»”É”..J¥hZ¥T<òðÃEG#„c@!ä¢Tº*•ÆØáøîµã“°{7.(ΪÐÀs>À‡¶îJ™þδŸ?’û-’’ûG&.S×¶›l`kÏÔ9}€ ßŸÛhÓŧÆ7noÜÞU#ŸüèeÉ¥µ”¶K³]'7T¥%¦•êMêe™™ÚŠøÄŸ_®ÕÅ쪭M–_·u™zbZíE™Ëvù´WTÙâKýåþ‰™ñ¹Éí¹Û#sSaYnmjEŒZ4Û˞з–8Ü?0*Ú%p¶oÀl_‰]¸t¥õ‹NãàðÐ0ƒ1þn^µI‘I¥Áóçx¨Ý¾ºi®ßÌIqUÑ çÏ•S×·—Ôn®µ¸©T®4=ÓÇc,“~×ç8².gEvÞšGJ4š€ð„(m'ÃP!v¤ämZYÂýöî?¾iûÎøÛv" â€pJQ $¢„¢&í*Ú5˜[h½@[‡þˆ»’â6åfF7Ìn€ïû&°-Îã’äÎÝ0»2Ü£iMa­Óv‰ÛΔ¬3ôê:RÓdE ?"Z1 ›Øþþá$8!áW¡üz?Û?‚~|$$Ùzéó‘Z®¨t^ @Açhê–=_Ù&vj¸E³3ú“’_QÑ\^=gV€ÐrE«J{šÂ’s sBK³*yn}röâu2Ö×Ô,yLì}`é†32ÔAÐdq­5 Ÿi;C´¡´lj2À ëvÁ³µ”eëB55Õó@hÓ¹¼²5 ²Õ³W•¶—¯xjV€ s­Z”­Èž· gYåÜç7ÒÚtn:§Ù 8©Nɯ(k.¯ž3sEhnvEÅÔd5 ¶n]])ùe­•Õsg€HÏ[T–>Ô+SrK‹w.«œ3«ZKs…œ¦ö"æÔÒUó*+ΪõýÕW_ýêW¿r×Õ)~ûÛß>ó@zzºšP«Tª„„¥R D£‘H¸»;{Y¼R©T(QˆBT*¥R©R(•ÑH$„»Ã‘H8‰*”J•Rû8Ñh4¶=3F£áH$‰ôŸ&GbÿE£Q¥R¡TªT*UlÍž+‡Ã—º)c<~›vww‡Ãáæææ ¼ Brëi›ÑÏ[Yp™õ%”ÓïÐCo/PÊÁq.‹Ïga—I÷¬GÿÃÈÏ IDAT¢Kß—e¯‰1Óž¸Î¢¢KÇT™ý¼Y01&Òéw(Á¡c&?o%:Öe=Röž;–9»R‚Óy«·”=ÚfòûÌ4€ØW€`çt>»·*7…'NÏó矌ã8øè£&Nœ222zv&¥R¡PÄv¹+òãòMÛö·ª\ûñë£>.õŸ €Ëî[ÉCí_5loÌHKÍzß0òì9È+oÔ¿ùÎŽS§åQ#“7ügyBÂÙ¯‚#_wüçú—?oþrøðaOŸ:ÿ¹§úFíÞó÷M[ßn=Ø®Iþ¯?yþ»÷f¿6‚¡ÐŸwø~ÿò “ÿÿ~6oÌèë(A\þk£[Ï/i[´iå¥õŽ î]=gÙ¥¾ ]’H$"IRZZÚuøƒ;|øð[j[œ:õm?1»kçâ§j²v½Z_ –¹[fløCaêµ­æà®¥U¦¯Û¼x’[lDèb/–$&¢ꉙÊÞQÑh4š ª“’†''+ R£¡RnK1’ ˆg„J€€X'³¡NU‰½Ó :Y´w`³CÜìçY\büÆßÌŸþëÅ¿ÆþS°Î£#z»jJ¼[`Ì£Õ8Æ#] 0Š¢IYÔ»A&I uz¦Še8›ñÛæ$¿G , ²,ôuŒ%ÉÞ!4Ç‚Ã'€žÅããpZ~ÈïÅ¿´Ô1…O<œ3åîø Æ¥ÞþBÑΙ㫣*ÕÙ3Ú£Ò™ 5žG£ÑS§OK'º”ý¯³¨ÕĹ­|=¿ñÑh0tFöëí¤HHL¸‚“ßÊqÝZWý&ÖpxsB×úhlvÌ]¸»`ݺ¢Iк}K‘5þ6–ÛµgýF1·ÔŠ›àú‚ ¡‹Œ€—К¡8;“‚ ˆäää_ÿú×%¥¥ €‘¥IJJLLT xòÊ#ÙÅMó g¿fÔ÷þWOœ,xJŒø¼æžq²$EÇúZ’4K“¾ &‰¢L)Éç´–8|¢L‚,ì“&;ßXY”€b¨Xæ#¤Þ<‹ƒ$4CÉ~IÀÇÁÜB¡¿e?(•Ê´±c¦Ü3ùRKœ<ý_¿ßá&t¦[üêèùç’ƒ¡7þo{㇆OŸ:e惺Agùêhç†WߦîwZK|hÚý“3™æ|sÏò9K‰ÜâUó&aCB×üWvRQÙ¼–ò…m ´Ü¼Šâo£…½kWMeSnÙº)x B7¦èe¾(A¥Tj’’Ôjµ¶»zN"£Q¬×sŒÁj¦X/™{ÎuI’¹'É’_ºÐc\·ƒg:Zæ­&›TåãMLì¹¢ýÚeÞvž±ý׈£EŸ [h@¼"­g0óÝp"ÑèÉSrìFª‡‘—¼ »Ãá}ÿh½Ô¹Âáð—­Ï~Gú¸¡£æ©=Ÿ |ÊиÔÛï¹+óZÕ^Ê Ç{3.ñ|sÊJ÷û—}²š½Ô];í-‹[YwK}Þ¬‹IÎ.ZýZÑ·ûÑ’§.mêõ’§®~ÏG&@„.-~ƒ¥¨ UBB4!¢ÑžìcøŠèu8…øEq:Úïôf3#¸«<­ r^Yô¹JÌVÑä±°^Q&–&ÝÓ*q=ÙQ–dRblOì£) €`ÍfRos n3-8mÊ\ÂÆ&H$Ga¼1¨T*í¨± 'ïê"MÆG'Ý‘q Ÿ¹¢HHPÅGM„ÐyŒ ¾k܉Ó!"AuM ªHÜoŠ:A•¤Nè<<!öÙS?l;Z»û\ÜOr'§k“~ñæ'Xó B7¹ˆ,c%\+’ÛÈ–°n¾J¼Ó)2¶oå6<Öbã8›KðÚÌ'{«`uëñe€7ÔÛGÏ›SPó‡W…íǤ¯×oûÏ;©‘ÉJ¥òD×ÉS§O€R©LHPý`Ö„¡ïÓ»$§NË]u¯½ùœs•cÊ=w=÷ƒ|Ü.}CÉ„_æßûåÑ.jq¤Kþªëtçɳ1¹ñZûì©O­ß6h«àh ™’¤ö9Τhº‚=/þÍ="~y´_óþwÆiÛŸú: Oº}ÄÝ©(4db—|¾3nÔ±S¡ÇNž=ÃV*3R’þñun „ ¡>µåÚ¡ UUn“‘²K@±&‡ÛD;‹5:ª\z‹ÓÐ×5ôl&õ–Xy³ÓÎb àD©TdŒk}¡èÝ÷ÿú·¦æCâס3g¾:ÚÙós˜ º=EËeOžùnüØ+¶E"‘ƒíGO¤ôhÜ(}C˜›žñ9.ž8vwG"‘hô?žú®:Aù³Í>øìбa‰ª­?þþ_ð~!þï®–¾yÿmFöœû'œ…O†ºUJÅ»Ÿ×|}5\¡Pì;r|Á+œ G¦NmŸ=5Ô1Œxáå¿ð;Ñ跬÷à¬ÿþó*±ÖüBÑ(¼þiëïø<‰²ÆU¿»ÿh×S¿ßŽÛaDè†=w6ìÖúÀWâµ­ú·ª÷|ðïç#ü‘¬ÙÉ›ßz%Ð&—ß4h8ÔÛy7 •R™1~ìóO?~TìðWGµ‰ÝÅ7"9i,}{êí·2|X¿`¯»ÿ;ãRÇ„»Ã‘ÿ2@HÖ$=óä#ÇOt%$$¤Þ~[ü¨1£µýÓwI'γ2™Ìø³?Æ \ödë‹b+3"YóíTHWsÃúšÚí|[4é9†Å ¦§ª!ؼvÎü¦ErÌè{„Mkí3s·½ñ‡Ížå-iÐO\;{ÃæÅémkçÌßÚÙÿ(š½aÓâ›ó}íu?š³‘ÛÐïÓÁæµsæóó6¯ËÚ2gþÖPޚͶ³ÏÁî]ùÔB1{ÃæÅø†Œ+à6 9&™¼o|Ê©P·t:‰F©aDw8ªP@†6I£NG W)㩤H4J$¨Òµš£'Ïvçù—‡îúç©™ ^ùàË£]‹¿ŸõÄ=ãÁî5…SµÃÕÏþa‡R¡Øòãïÿ‡ñ»+Þüxý³ÿ´uð»÷ýwÙyRî’‡siÚ×^п´«å뀼ëç¿ßrdyÝÇãG%½þ“¼–¯Oøö]eün·éu¾ 7ˆРì›< ôV<¸ã““º•«ŸÂ†2t}FªÇ£Ç£¡ÿKáuGzÚéiƒŽ>Œ¼ÿ;w :*#mlFÚØKЦicǤó­¢{×.\ø¦fvÙš²œI)о׳¾|Åü¶²M«g\(€¹kþ´òœ×‰²ÊâsãÍ,5·(§¦º¶i­¯&‚M[<®87: 4ݵ|×”é=µÑÅ×6†BƒGàRýƒîMÓ?R(uâ¨áêîp¢Ñ(?úÓO{Þ²pP:ùøïÞ0û¿wçê÷þ¾Kø~ùÖ'·'“Å3²G#©y'6Á#5ï¼:ï!ÛcSþñuׯ>€¿|ùLϤéÃJë>nØ{pîÔ‰êÕ²×?Ûc\óW'>Ž.ô;Ÿ>¶áƒfÜF B7xŒD°Σk£¼òͦ@â˜ïþðçųƶn°þúýÀI¨øÅgà ߰ !tåµ{ª·væ­Z·xj,¡¤fØÖhš´ÄÕLÍ[ÊËkùÎh¹yee…“ÔеwKeåF¾€Ðr…¥¥EÙÉÐZûüÂ]ù†P­~¸HûR QñFOÐj¯ûÑÜ-ù›^.Ôô}ítμÒÒ‚I긹lp¤ž]pÇεå5ž–!"ëÉâRËÔ”`óê9Ë:‹ ‰ÛZD±“È)^e›‘Úu[*Ë×7¶ˆôÜEe¥ùq±7%§(–Õîî y]ü–FÈ­ÈIèÐdåi›¶4vLÏOéÙDçf‰M¸ë]!§ÎtÀÈa=;l@‘8øó“þmëîs†#Q2îyK£5ä!éÔÈa™¨’Ï„ Y˜¨RvÏ ƒ=˜H€S¡p—|&sô{aΗG»þù¥0väpÿ‘ãWëcwì\½¢z{[4éy‹*–NO`kCuåúÆ6 4\Qiiavr×®ÅOUg®‹5ÁwíZüTuֆ׿‰KŸªÖ>™ÉomÊZµÙ6%°ËQ^ýfSg´9óJËŠ¦$C°µ¡º|}£ÐdŠËOMéwÝhõœ…9mµÚÒÍks:N ÛÏ©É\×ÓÎl^;waË‚Íkg„v®­¬ñ´4éy ÊÍHUwůL©v{eùúÝb4YO––Y.beVÎYÖi0Ï‹b@“W¼jéô”þÅÚ2›jË«k›: "3oQéÒé©íu–ùµYk6-ž¤†ö†Åó7¦—ÿ´³ì7DEo“}GÝæl™±á墌›÷ðÁGK#tQ*Õ-õÿ%þ 5¬Xö&±`ÃÛo¿½õ¿gwþOɺ&˜8ßþ‹i*¯ü׿*Åý¡ëï²M˶MNׯ¹.uzþŒì«Ø€×±½z}[Ášúúúú76ÌÓìjhê‚®]ÕËÖ ×½Q__¿a±eYåÎ.‚€¿-eÑæzÇœ¼ÂØ]×{–c{ã–¶ôÂÜÔÞ¯úúú7Öv®_V³7?W|üƒöºåÛéâMõnwý¦Ä›å•;»€€ÎÝ;µ Öþáå×6kkj›ƒBry%ŸUñÆ{ï½·¹”Þ]]ÝØÿ©ÉYE _ÛØÑóév×î&òвz+P;½0³eKc{ÏÈ--éÓ¯j¾¾Å8ÿÚÿÏã§BÁîð¹“Y·îúâ«Aúc¯zﳟéïzêÞŒûƧ¼Xô½;nK.qtX:µóßfM0z*3ú­…3÷ì¬høtü¨¤õÏþÓ}ãSžº7cBŠ&žÏü"ÿÞ_Íâþ¸G8pìäÖ_©Plþhs$¨”ôˆ«uçÈÞõÕÛµ¥›ëëëë7—MïÜÖØ кqEuW±¹Þí~cMaçú5{‡zò)A€¸»mÆš÷ܶ)ꎆòÛÓK7¿÷Þû›æ…6®¨ÞÓÜ[³¬º%§bs}}ýæÒôÆ+:ÐÉïÊ®x£~ítb‰Sr ² mA€`[Cc€+ÌIi­]QÞ˜^¼©¾¾þŠéM•˶¶Xàkjø¬Š7êëëë7§·5ìî€ ® à›2ŠxùµMÅôöòÊ]]ý‹ í¬\Q ó6Ô×»ë7ÓååuíZP¶€ö”olvl«® e‹˜V”KìÞÒÔÕs°6´¥æeÜÔ‡&@„.òXQÞZÿ_Ò™$_פ1ÌËMuê÷Ÿ½7ôÁ»‚¸Ï t= u@CkÏs?ZSùc3Ïš»>îMœ¡Æ%?çùÚÖ¸¹âÇXvƇ&B«%Ämu {Z»Ô©3–¯^<%9ØR×9ó jˆµª|COØKŸ‘› ê¬Â\¢'¶7Ö‰™…¹©ý¿vòЏPïIgï\ñßQM -Ú¼B. %·ƒ¦†– ‘U˜›  IO×Äþ÷0BjÁº?mZš )ÜŒtN žTPH·lÙÞ˦µMtaaÜ-~Úœ"Nܲ½:·´eæhqÇ»rv _¿øÁ|ùÕ/ßúä¿ß.©û¿Cå³ÃÇ~ø¿;½_ˆƒÎîúhÿow|^<3»úéRGú¶Ÿ u/zÍÇìü‚ïVïÿ³ÿð²×?Œ˜6x'ŽN¶N]öðÝIêÄã§C¯}²ÿñß½÷hÖ¸ÑÒòê¾ý_;ú÷'îc´É°ïÈñϽ‚4šPSggsG09»h¥­ Úw7¶Ñ…±ƒ%#¯03°{[ÛпÁDfAl§ïâëš´y…S’ 5Õ›K§m ™EEÙÉ<¥¨€n©ã;–žŸ›¡Žå»s'NÎ)äz"`°­n{€+ä’Ûw7´Ð…ESS@=ÉP”)6ìnï¿2 ¡‰_çÙÕÚL™ºxåò)Á‹Z™Ì‚¼T€.?ZvÆ>xo±Á–†ÝS[D2W˜§iihêH-(]¤õ”¯XQ#*d«AY˜GìÞÂw@Ç̞/†›öEèâà³@‡è „:·.|Ê»¸ ¿{ `,Ö B×/B«!:Û:ƒ1TÌ,Þ´*·÷®µP[í’%|ß̃Þ¸0yjÙºÒë*çWŠDfÞ‚Ò⺳3hZöÔ¬Ø÷G(€¬@€ ´=KWgäËêš‚SèíuYórR~í„B"§³ÿ\ý¿£ˆTMïúj´D % @½rƒ4ÎÛwo¬Ù¸»-¡@[ˆ˜~Î$†¢ÌëZ -°}K[f‘¡_»†+Ì TÖ5Ï.äëDn§%¶ážw%ýÖûù·Ô&‰*å¿ÿùO¾7ùöd²ýÄé¿êܶ¯}×þ¯Ï?û‹ùâÅ¿|ÑïÂH8òãÚ¿ ˜ÌäøÌµïôýóï‡ÅþøÞê?Åþ°¼úAüô¿|ë*¾*0£hÍ*ÍÆÚËjVhîÉE¥‹s­Ðôíö„V ¡ÎÀy2d櫓ã¢wÇW''PSåœYÕ=õ€t1ß÷’ zK|âd® T7´-H‡ºFÈ)ã’ƒmíh[?ÖÆÞ CÚÌÎ`¿•Qg/ZW±uã–š…Õm¡ôÜyÅÅEY±2 Ñö¶«„BP¿Ïêì Y½U£Ö¤jB»€dHÍ›ÇÕ,ÙN—Ů٨'´ó·ìî˜Îí®kË,ÌI¹ÉL€]\qÊ”‚¥S –BWkCåÂòÊìÍ¥à;É=¡ˆ, @'ÀÙGöBC­½ÇEW{k@Ckh ‘SºyõÔ‹é >ÔÄ\aN¨²¡ez¨r*²Ô Ö¤jˆÌ›þßïøîé°¤N-Z>µ cï–ò%+ª³6Ï»ˆ• tv†b è ™€@ü….-q6­B«Õ@°yc5Ÿùd®¸±f[îÊ)QP˜¾uËîæPƒ˜uó@ìŠÐER(n­ÿ/éL’+ÈêôÔîê6¿õï¿tµ`'P„®÷óȼEÏѻ˗¬lØÛ¶ïÙ²|aåîM_µ7›ËÚ=] NIŸ¤%ˆ™\¨±6v·\°uÛÊå± $©IyZ¾vc]€+ä’ÏýÚ©³-x_ÿï¨ÌÀöX/hß^Ë—ŸyáOj€fRz tìÙRסŽÐ¹ËHÎ)Ê…í55ÛC¹E9Éç®xa±½fk(·0ß¾¹mË´¼®5ÉtfºB©9ùéâ–º½A¶z¶´hrg¤« ­ ´‰!€öƺ–ÐÇEíîhßV9aMS(}F®–ßèi tì\»|õ¶Ž!/ç 5±:« 'ÔX»±‘È‹íö©9ùémµ[övtí©]n«kPXë–Å?²ÅfOIϤ5@\ÔÊ´lÙÞÚÓA¼E“5½ÿ×—:3?v÷|½tð[YùYÉl^_þ&½ liiinKueO©©y…™mk6¶er7ÿ㌱ ¡‹"ãÛ Îw&™_V!TVÏ}<‰iýtùx5¶"t]Sg[ÖmÈX_³qٜʡÍÊ-Z³¡pJrÏ{Η—<ü`¿!é‹6¿üä—8©°(«¼rÎÌÚ¬'KLR'Céªy•• gU‡zžê™•Üï2~LF~>ñÊú€aMϹYJ~YEkeõÜY Ò󕥫¡sÈï¨ŠŠæòê9³„–+ZU:5‚âV7£p¡±zî¬Z­6=wÁ¢Eܲêe+&­[ßÿ!uVažfþÖÐìâ¬Á2^FAAúÖº“Ô®WXÆJJ•K« é¹Å¥¹) ž½ª´½|ÅS³b‡Ð¢U‹²ÕÙóä,«œûüFZ›ÎMç4[B/`¤äW”5—WÏ™¹"47»¢bj²­*®._òÔÆØóz‹J祜ç+dˆ‰ÕY9¡…â¹âžÛb3Š*JÛËËçÌ €&óÉⲌ‡C†aÞŒ]ÕsgVA€&ÓPZ6E}1+£ÉâZk>Ó"v†hCiÙÔäþÅ&O/­h«¬ž?«:¶àвü”àÞµ+<ÚEòSR”æÎ]QÙÀ­ÎO”œÂÌÊò–¾/™›šB–eÅ%^ïGèJ‰ë1…BÁ`ðÀÓ¦M»J‹;xð EQJ%6}_•M ‘~½@ÃÝÝÝáp¸¹¹9ßqã8qâð<þÉ8Ž€>úhâĉ@ ##C¥R©T*¥R©P(bGÙùqÁá«!‰H’”––†?¸èFÜ»zββ7†¸'ùr \9§œXµié$õMØâ‘‰B!„º•uíÝZÝHMº%úkc/P„B!„ЭªcÛÒ¹å¼6¯tUAê­ñ‰1"„B!„n(êì¥îú+STÊŒÕõ3n©ÊÃ^ !„B!„ !„B!„&@„º’$·žäìBÏ¿§fLnñÒË]Š-ñ÷/ÚH1V^d‘”Þ-]ÖêÊ~—EÏÒI*£·8ý±â%ŸË-|Ë5çµpº*^Yp™u4© iÖPå•$¯56!„B Bèº ƒ‹¡l§‘¾ô™iƒU/ºq±Gò:¼´Å‘Wpýv“…78ý’,G£~çµí~y»­7 ~;d_‰ÅgpX9Rpš¬~“GŠÊ¼v˜­^™ÒÛì¬Ól÷ã>…B!L€¡ë’ÌW̼Ñí¶°±È& .‹žahšft— :õ”Î)öNna‹/.sQz«AvŸ€¢Çîc,&Fpš9š¢(ŠbŽ~íb²Ç@qaÀߢ§ÄÀ24M3œi`¨“EŸ@ë:ª'tVyý^ ‚ÃhÚ¼¯ÎÄœH>»‘¥iš¦Ù%È2oeYs‰‘¡tvdÞndiŠ¢(š3»Ùï4±E3œÉn×S:—2ï0隦iÖPâØ**ºJÜt‰•#Að8ÍÌ‘´¡ÄBy>(½Ív›G !„B˜B×]üœ&£ƒuº«t½-v‚Ãhñ\~Qøà¬Åuí—4[×6˃ÆÕÍÁ³C‚»–ΜeÛÛÕ¼Úøà¹žéýÁ‡×¶Bû–çãÍ4ZV7´qÓ`Dݨ‚ŸÚMVŸ(‰¢q\WbÑ‘$k²°¼Ó+Ñ‹NˆE@Áã‘@’³IO, n‡_g5ДÑ#òöX1Ž…ó·ŠI¼ÓÇXKôÐF«Nty„øñ”ÑÅ{JÁaÑ¥S0z‹“ï_ àöÊz«‘’3Y¿+6Éšõ4cñŠ>+KPœ‘Qd¿ÛOM, @¬æÉjèù€z›™%HÅLûú…9Yð´Ž¥dY&éÞŠ I’”%9Yà}î^!„¾‘®–ž˜½áµWê}yĤ¥î÷ßÿý÷ßß´€†Ìâ7bÿxù‡>¼(ÒmŽ xÿOЕË66cĈº&ÚkŸŸi©­]¹dá?ÿà‰ü¿?òºÊ–,|¡è™y¿n8rQ%¨Çè~¿×"X}/‘Déø3CQEQŒÅ²(eCDÌ” IDAT°p‚Ã#Ê‚Ç-Ì)¹ I’$ÉZy€ä,Êk÷J ¸‚Þj D¯Ý¬ãX–ã8³û‚ë#‹ÒñOK¸Øbi£G’i@3­·Ø]>AŽûÜ®ó[õæøgÊÈ’(‘4Õ›)JŽå1’¢©ž”&xl&˲§³î8›I&™žÑ4C“ K‚t¤Îë½Jq6¿,õ[I”¨Ø”@R¤ÜeY–ÉXQ$ÍP²_ÂF@„ºYtì\m1Κ5kÖ¬YÏXVïìˆý ï\»ø™ÞaÛÚƒܵtÖ3+ËŸ™i,Ýð³™Æµ½I)ؼö™™‹·u\h.Ûž¾hܳra9·.™»´¡:bó³f=³Ô±«‚{WËkW>?kÖâ]ßJE$gäÏ+LùNÜ)0"„® BM»4óÖ¬ûß—~™õùÿêõQKÖ¬{qý¿¦ýý•­_†.¦ZÇÑ”Îæ¶QUÆžîŽM|È%H=dÉge(½U'8=¼Ç%, ”ÑåA|U±ö@Öd¡}¯Ïå”ôV=²×jr6ßÏó¼Ó8¦ÿrI@î‹N±ØD¼×Î÷-VöÛã%ŸÛÝ×èG±F›Í@ò^álÊ")š’EélN#©žh×SŠè2›Ý¬Ýç÷ó¼ÏþÐÈÞ 'ô%_1–jÌxöó{ŒÔ€°Ú³DFGK¼¿g‘¢W X–Â!„n>{×Wo×–n®¯¯¯ß\6½s[c+@kíŠòÆôâMõõõoTLoª\¶µÄÝm3Ö¼ç®|橬@cC[ ØÖÐà sR.4—mŠºw¡ê)Ëוeô‚u¯­Î‡ºåÛéâMõnwý¦Ä›å•;»:ù]ÙoÔ¯žüíUG€À BèšeÀ̹©<&KCŒä-cÒ’N~uúJ!Y«ËÁyL&§@ëM¬ßîòË ùì&‹K tPUb— f–Œ%.š¦é¾6`LVÖg+qH«ŽŒµÉQKÈ~—ÝwDåø‡ÇÐ”Ä 2ˆ'(ά±Ž¤²ßi6;ú= Fâ«LƾžŸï´{Ag`z]#ÉŒÉ@zíndÞå8“®_“E hŽ¡$ŸÃΗ%™dõŒàqûeÉkwì 0åµÇîZ=%&«·_oSЦd!ÖòGëÍ,_åàeÑmsɆž§ŸÊ¢ ‘,Eâî‰B7M†&ÔTçÙÙÜLÎ.Zi+È€öÝ -taÑÔPO2eŠ »Û{~™ b¿Ì9…\O ¶Õmp…\ò…ç\WSC‹6¯KHÉ-ä ©¡%ÖZ˜žŸ›¡d–Î7ç?6³ÏcËv‡®DMtµnÛ¸¥3³€KŽâ2$` „®HÔô^‡#€ ˆÄ˸4G›œ./g0–p¾*‹Ëî7›,¥3;\±7DP:«Nü¾Ïlg‡ˆ6´ÁÂYžõ[bmw”Þf!Mm§µªjŽÉl4ëw˜z"'Wbã &–cVoÐg2mr:}&CÉ2œÙîê·ÆâöHV«žw$ ÎxÈdóØ èLœõYšõùø*·ÍlÖQVHÎìtšiãž>ØlF§™¥KÖPb«zÔh5Xt>‡Ímäh;Ã,æ©#=@rU.›ÙÌÑVYF_â,‰’$c`D‡_Ž`,N;o2 +•ÆL6”¸z¦#ò~à, îœ!t“È(Z³J³±v㲚š{rQéâœ@{ÚÖÏŸµ16E(Òfv4ZMlX2WȪڤC]#ä”qÉÁ¶ Ï5¨@g D¤jz“žFKZ!ÐA 5£Æ°jÂÌÞ‚_>·ú²?[ÍœkzŠMÏy²bUaî˜B×£ ]í£Œ^Ù÷O½£·C$crøLŽÓ“COfÌ,9tŠôȦ¸òì>ÑÞû/‹c”b‹dÌn¿¹wdUIO„´{û¥ëK\|ɹÃY«W²ö.ÅÅ[ú­2Wåú 0Æ?<Æ$ŦÔy„X¡¢Sg#IHn`9ýVÃÌY^Ñd¢‡¨)ÁíõU6"„ÐÍ#eJÁÒ)K¡«µ¡rayeöæÒT ‘¹`ÓòSâ' î‰ÿW2W˜ªlh™j„œŠ,5¨51× qN«!í €:CZsþ˽¡Õ¦¤ôfÆ æ›ôÛL_´ùåBlõûæ°(Bèj뾲Š®mµÜTÉFö™Æì‘d¿Ûég ì…?m²…ª!_B/{«`µéñŽ@„ºil[þ£åu­AH¦3Ó5HÍÉOo«Ý²·  kOír[]ë9ó©³ rBµ‰¼ÂL5\ä\ƒHæ 2Û·ð]íÛkyàò3Õ×°F:v54ìéÀ=ãa Bèj~åŠòWét6Ñà𘙛ªŠH]•Ý`4Ó¤$c¬r]T×MR_åÐéÍvƒ·äœ8,yK¬¼Ùig±!„n¹ó vV.y¬&D@¤ç—榀º¨¢´½¼|άh2Ÿ,.ËzˆçŠ'ÅòZÆÅÌ5ˆ”üŠŠæòê9³„–+ZU:5‚⵪`Ë–êjbUÞ”5î—@!˲B¡ÀŠ@×D4D"áp8‡B¡`0xàÀiÓ¦]¥Åú裉'ŒŒ •J¥R©”J¥B¡ˆeWäÇÛ«&üþfÿª¾+窄 é#žûÞ݈óTuä ÿر )÷ q¦uÌÿùŸŒX÷Üh¢÷1XÍ׫H$"IRZZþà¢\³cé¶–Ij’Ô/õõÒì>ýJCûg˜5Æ$ DþµeaÛEª‡Ï|(cæC:vüwþ[’ã¾ø'6„?ûËÁmÃGW²Šw|Ô˜ÊLŒ!tÕa/P„Bè–'N6¼+üîèð¾7BÊ Ùáí¨ïDBÇ:íoþ,ÿÂÑ“Aˆ|TŒChB'º¶î?áð ÷»ì›¿Ü*†€H&'ðvÈÁOZ#jV<® }Øf?:²üñ”4¼.BW~×"„B·(ißþ§÷@ì}€”íÙÑ÷Ф§Ùî;hmßï ªÄûH›¬€a†±‘5¯û÷MÉø¹.©l{³©1áöÛFþð!í—oµü]uyzÿÒÕI³ï•~Ó°ï•(nOýóìø@eÚ}wlº¦MÜ4 ·BaD!„ÐÕ¢zpNöƒCeïËpÜ7` 1Óx×Ìž¿“6Ü}vÄý R`Äë,°{ÿ¿–ŪF¡ë öE!„B!L€!„B!„0"„B!„ˆB!„B B!„B!L€¡[äÖ“œ]ø¦Åȼ•e­¼Ü¿dE’Ñ™~y¨Ù;G›¼òµ¬Áa`Mn@òUXRARŒÎìä¸1!„B˜BhHê{ÿk4FOûœ×bv ×ëš Nsi³iÙk59h»•E·I°šœ0‡U°Z=nP„BaDÝŒ·EÏÐ4MÓ¬¡Ê‹>¢Ûªg(Š¢(ÆPå“$o‰ž¦h†Õ[\âùZðHFoÒQ¢_’@æíF–¦(Š¢9³k@(Q tfNtº1"„B Bèf#ù\IŽÅ2I”dúý;·ÿðî$ÍгÄN_ÂÈ™·©}ìÈü×?6OÔêýCÕ|óÃ6@„С¸ïq¶navÝB¶f¦öö#â²×Û›»/»4Š3s‚Ãá“@ô8¼¤ÞÈ’’(“ K“‚Çîi•dhNGñ‚Ûî=~ÞBE¯Ã)ÐCÊ¢4ÇP’ÏaçËR\×ÊA–2øšz×PòXt›ŸäÌ:±ge¿Ólvôï±)yÌ:“KH†ei²ßHЦd!(IÎb]6· óŽ*žõr (šÂ} !„niä²ùÙoý4û­ŸLZùyÐ',|÷D`ȉÃû÷ySŒ 9~Ôè5sL}˜Bè›P§]ðDšþ´ô¢?^x¦¾»õ …‚2yeÚär|&†¦)Î&—¸ªt$©+)a]:šauV¿Ù¾€v›Œ.Úæ0K†¢“Wg˜ ç䵸’³—sxª8’1ÙŒ’…¥ÎèdlU %‹¯g-[ʦì2mv:õ^#E’´E09í:’69zŸ‰¡hŠ68)£‘í×tGé­f¨ÒÑEQkwè©ø@ÉQ‚WˆE@]•Ë"Y…‚6º9‡Ó €²à‹Í!„ˆ;&¥–µDKû«G#hk/Ûô¹éÅÏM›óé©D¾ü«P¶?²ÿ/-óßí AäHó¡¥›~°¾é/~ñëON…àØ×K6 ¾øêîà{ï6Ï}ñsÓ‹M¦Mûmgú-´;èîÿº)dYV(X蚈F£‘H$‡ÃáP( 80mÚ´«´¸ƒR¥Tâ…+­»ëß_l;“?¹,MÑ»MÏ|¾Í¿¼3å÷%ýõµÿ›WlÆJºÙgaͤ›·sCD<Ékâ¬:oe¯îŠœ8qââ'þè£&Nœ222T*•J¥R*• …"v”]‘vèØ>bäs FQ³Ç†?Þ+‡â'T,7ßùó;@3&ùU÷þSƒõ%ˆ¤Ó'={O|y*2ꎱåqñˆÛÆØ!w6´íT)ÏK|ó­ïˆà6¸ñv¬„ÐÕ IáÄa‰Ã!Üu&еq1‹³Äm°¸u.ã9ϳœ;]å5âM€!„úé>³ÿ$Q ¡®ð™ÓÇ–nA”Û ÿ˜3Ÿ}Òþê~ùX!z( 3+ SW¾~õoG–ÿå@ˆÒ<—;vvzbüšôÔeéû–ïèšnkmù¢lG@÷Ä nL€¡[Ý©®?ŒNš6, ‚ɉØÏü¢3 Ço|ŒÙã7c!„ täØû§‰‚q IG““×ÎMíßGðì~æƒ{•Ög2¡„à‰2ç¡!ŠT޹cŒõŽ1güŸXþîáÉæŒ{âñ/­jþÓ§“Ï4üÍ¡$ëŒ7슺²"ÇÄcëß:ÌÔ¾0!TêïŽUa¥ „BWZøà—íËß–ˆì±†QJÍ8jò©[cné>ÕÐкUŒ(¢¡PλϨӆ+Âþ½G÷…£Ð¹t"?Ý¿øÝcÇÓnKL8ÅÃ¥;Î<ùÄxÔ¾´1üœ1íÁá¸!n<؈º"¢Ÿ¼í/ˆF¢Ñ($&Þ;‰^uÿˆ1Ð+3¾3k!„ºBäUö®€¤äaºïM°Ý=\õ?ÏþfG‹)Ê´ ·/»M p?K¾äk1µ¥®ËóäÞCK7tJN¸ç>ú§ÚV5[ñ”iìm¶µ/\ß rz^Z| AuÌ‹ý9nÃ<Ü7*|(º¦¡ŸzmJˆD"ñÛ´»»;777çååaÝ(ðY Ý ðY Ýʇ-™!„B!t«ÀˆB!„B˜B!„BaD!„B!„ !„B!„&@„B!„B˜B!„BaD!„B!„ !„B!„&@„B!„B˜B!„B B][’[¯PFtvì5Q …Þ-]ë'zí&C* ÉèÌv¯øí,Ömb @æ&ŽR(Hš39x$¯•ÓUñ2î9!„ˆº!©GR>‡·/ïÉ>‡Ôêë"žz-:ƒÌNÿ±hô˜ßi–í½Õ{Õ£©ä±Z«ÃÂȼÍd“­üé¨ä³Ê6“'õ6;ë4Ûý¸ß „B BèFD±–ï‹€’×Á3F–쉃‚Ë¢gš¦Å%Ä9ÍMÓ4E1ú¯4ØžAEQktÄšÌd¿ÓÄRÍp&»]Oé\â åŸ%¸¬NÒævYô @1z‹ÓcG‰K:ª·™²ïïAJóWq´Ék²;û·ä«2r MÓ4k´û&J¿£Ä§«21‚Ë-KL $c*1Ên—_¦ô6 Øm ÷„BaDÝxdÊ`áü ù ^’L2=%Ó MQ~¿°’8 ÄI¢DR49؇8iý&[×èc}Ti½Cì¿Y”€b¨Xæ#¤Þt‹ƒ$4CÉ~ B!„ !t#"IE/8\î~(šùKzÈ’ÏÊŒ¡ÄåäÓ¾°›K|ò9C$¯Õä m¿Ÿçy§qLl) r_“‡,¿/rFVpºãÛçÀïv ¬‰£âB`¬aî¥ÈrOf£zò¯Ø;,ºôäàÕÂp´èëYiYðŠ´ž!qoA!„&@„Ð ŸuƒXeóë,º³ý.i½‰õÛc}$%ŸÝdq‰ 8:‹G’aY dh=gˆ,‰ű4€ìwÙ}GdQ–IVÏ·_¼vǾàåÇaÌU&Éf´ôÜ÷'ù]£M2W™ЦAô‰2—ÿøP¥Q % ~ d¿Ë½O’3é%·Ã{bËbªêw IS ±VAÖl&=6— ƒìwÚg­·YÈ*ŽfX½M¶VÍ‘F³›4;l´ƒ£iÖàdÌSGQ~<Êà𹌢M?J¡P(Fé«D³ÛçÐS@êl%ŒKÏq:}‰dà†,6ØÌP¥cu:£2ÞKz»Û"ZXЦh]6¹øÏL±Fôö4ü±V·ªâ†)(½ƒ®rYc¥y?p:w„B]…,Ë …+]Ñh4‰„Ãáp8 …‚Áà¦M›v•wðàAŠ¢”ÊøÂG$E1„ÃáëmSÆV/F£Ñp8Ü·e[[[ô£]u):u¬Ë&z ÙŒ&û,ŒQr Cu×¼²üUœ·ó.=5øxÁÎé|U~—ºÒK>qâÄÅOüÑGMœ81ddd¨T*•J¥T* Eì(»"?.xØ"4”‘#GÒ4}yGG$‘$)-- pñ°E·àa›€[¡ÈáÇU*ÕäÉ“‡ vÝ&À¾ì×Ý݇¯§U•}fÖÞi ýn§ÿì;/É™`°¹¯™¹úkÊZlgs ^Ë` “½U°ºõxØÞà>þøãûï¿ëá2„B¡¶¶6QÇŽ‹µ‡-¶xØ^ìŠÐ¤««küøñøƒt¹H]•Ýà7Ó$Iéìt•ÓÂ\ÚÌ.³l   .ñª¯*etTÑv‹S8w”ä-±òf§•Å›ñ°E·.‚ ư*ð°ExØ^*lDèÆûúÀJ¸|´Ñá3:.7•éí>Éþ­­ªÉå7 ±¼7%¶è–7lØ0죈‡-ÂÃö2` B!„BÝ*° !„Ðà~øÃž;ð¥—^šA!„n\؈Bhpç†=Œ!„&@„B·DÄø‡BaD!tK„@Œ!„ÐÍïDè&ÕuxŸÐ R2æ65Vº!]}Á£Â­ Ie&MÆê8£ÂÇÿìpÁ<òè=XSèZÿÞ B{¤d0Ìm¸7ž¿¦>ûì3¡=<íqýX<5Áˆº’gFÔ”W¾ô×öÞ§ÜýƒŸÙŠŸ`Îù² ïTWþöÝÛšŒiO,*ýÙe%ö¾ÕqÿcÙIñà n[nè+rf´ï­êÊê·ÿÞûš("㡟,/5ßÛ9~öÇêjç»ohî|Èü³Ró?Ýv™ySxÇÔ?:ùG}—×üý¥ï7HóÈúwVÞmNàº>ûc¥­úÝÖ@ʳwëï‰ûÁÃÞßW×üqGk€H½ÿó¿?=yˆsòàÅVßÿÊŸ;çÍÌÁ}Õ³—Wo]>XÕ~åé'ÿ³µ·"2¦=bþÙ¢'&_ÂyðãâGWº\tã·¿R¹ò·={#hî|dQiéÓç^•8ú±ó?«_õ~Ñ"ånýOŠ›èb€·>vòÄ1ßA6ënmõ¥¥’^O µ Ž7 œ(-Ü[ÿø„»µ©ÓϪ;ëå W)‰ÒÞH«©;©¶ä{#U¢ÛÔH_åoQ¬;ä6,"=[ãÄѾÝʸ­éê˸#>¾±€ZIŸG¡ng¬0†PðhäØ@Cá(›ì·ùK?n„„Ç“Ðì³êªI «5Fû@OK ˜Ãh´»,FÖäKÙÍFƒÁÀÌöPºÐm ÚL,˲:Öhõ $쭽ɤ§õ™Ž 0ûÑsœÑøí'¿ý'Ý¿ú@”TVVž>}·ÍŠD’ä•€8$xÝ=º1Í_T¢w†"Ã5ùÿeÃ6g¤¤/ÉÇú=iÖÑcÑ©((%cr 632³f·ÃĬqø„× ÖÀY¼ >¿Ÿ•Ë×­ÉLLDlíGÆG»Ìî1¡\¥_{µ]F£Ý粘Mœåì¡ ˜šYÓt¯JHØ ÇRF£‰ˆmϾp éw %¡¦±dTꩺlFM5 $¥Ò™.}ÖÓáa"hÒ™ M9ýXˆÚæ@zú fÐét:£Å7ÆÏJÉ^3kºjÀ£T¬¥ÏݘõôF&Ê0S^Î`q;,fg0p¶`zvÚL–5°Îêæ6 Ã`°'0[Þ®çm¢½¶‘‰Ϛ6_$ôr3ÿ_æˆÍ]ºÝ&"îhîs˜%•ß1{ºšU„iŸÉ`qÛ8–sŒ 0uµæwÎ6ñ&"³eY–5´ºã<¤íÖ㙘­ÉHC¹J¿öz‡Ì¬ÙëµµšMFÖÐêR^޵Lhøˆ…弩%=Ày[÷ ŠÉ!G$'ו\•$ÄûÝ)­Ãmeó½‘:ÖÚsI¸ûã »ÁèÊ—ßôc>b1XB<ðc>+Çêt:–³geb>áâ ­tùâ!«ë V·C;æî Œl&ƒÁÀ²ÆVWt"_{F£Ímo5™ŒƒÉ˜g}VŽe Ö`²SÌnÀ¨•5ºS·ýþ‹ ¡•ÅÅ™ó]$Åólãþ@I/&óê³.S²œ¡Ž !K7F|&U:ÐÙ`áPh@ŸrÚi>æt&w(96 Oö;ä¦Ë¡§kZ†jøðÿ¬øžäèk?5ç<†Þ¯ªª;}úôÔÔn¢æî»ï.¦> ~‹î%ýÁÌÌ ‹½#ñ¸fd^HE’Ã1%§¿I•cU$ ¹Ñ˜ò`(äbĨÓâ%Z^…"ÃVÚßéJéîÏpÞP$r¨ã.W”¯fí] ¡îzÙk©Ë–©ôÉÄ’Z‡×¶+#ž‘Tµ–S¥ƒñ‰üÛ ÆˆNuÃc…|Ôa6 ,«{¢3\¼Ò@ÌŒgåz«±dH#fUœ¶ô¨FÕsZbìxrþ•òÛ\ÙæÁh4:Ü"z:gz¿|Ôi (í}æù.”%ÕÆj,<.@¹&A@6>ª9èõŽöé®ÒDŸò[]éÆP$4å<ž±jms]:Kç·v8ZN“¥nÓ÷‡s3eKLo~_ñŽw:>NRlci)PuF£NIMŒ2îHÀVLJöÙŠ®áP(òr ï¶zRB¼×~\y0‰D|»y¿#Rr‡-j¹Ö1ìæ”|™J_È™;ÈFˆ–>¯oØÛ˜ööÇiÖH'‚ùÉ'‚ šÓ«n¼R+g4XÝ×wõ'gªt<#ªÍ-31!IˆšYG5¨ÖqŒ˜ˆÌ?Ð)$ÜC¤e8=6`L9m#ÓG-!´uFuŽn¾‹<)†Ó@"’„±þNWš8Š„õÑüI7ÄL4£ïñù‚ÃUÇ»ûgšVH¸;=bËp$ õéNÛHZ¥çèD ?ð+$GFiΨºíw`œˆÐ êHfi úB.]þhÊ8"'BÊÝÔ4”É&2":2Ÿ ºš(ÿ‡5§«€‰øHJÝÒ§¡@¥oVyü ž3°Ç´ùªJ§¡Â©5óI÷j’þî>-““Õ>óW߯sÿñ;÷LM½÷Þ{çÏŸ?÷¶»ãG¿½xùòÌ1hë_¾ô܃ü/ú×§[·Ud½ðһܡçTïýØ~tëÞç·ÓÙc/ôžâöµ^î8Åtõ˜KóQ.ËS45»7BÐ4Ågs%™ºÌé§HŒ¯·k« Î<j&)ˆ@6ÑßÙO´ Z™k\(JP4)fEÈD"¼¶+Ð5G›‚IA+'A^8ÙFiô*ÞÈ[H¶á˜ÀØó%]§çžp’çXNé Äy–%’Á„ÜØrû@L€­$EäÄäHÀ—¢”l#«äãÁðX6•Ÿ¢GDI—E.&'ø’N`é¹±ÂÑ8—åÅÑî&ÖYø,UY@ˆúž`’r™,Ñ<ëÃìÓlîýÿöGú ._¾|Y/®Ûø;Q²A.¯¨¨˜œœ<¶ŠÚ¸ãç/·¬¾œ—ÙǧäÔÆ/¨kk ù©»ïúHY[[¿ù™mG~ñ©üOjÞ~[òå?Þ^_»fž·~îܹÚÚÚùçô¿ †Î’äïwÝ×Ú^ìøæ†YŸ3?Úp׉É{jk7•üðÃ’»6Ö=X»zí]ò 5µµÄ3…ǹõ••°¹ö¾Ié]¶|©¶öîâ«>~{ÍÔ«Ãÿ«ïoÕÔ×n˜µèß}"¿kMáO•.C}ß簾Άz~ð¿V\¼([§¦7Ý·î.Z½õÚ °ñ£»ïúMÕ}µ›éÊJ±°\õƒµµk@ÕÚÕçî­khÖû~ðŽdÓ£ðËO¿À=ùJVª|nÙ²åj¿•”J¥2™L&“I¥ÒÒŸ^ÿ¹Hd¾0³Çý^PУQC¤B#Ñl:žÌ÷…föZŠ&…ôU'ÜR´¼³ÙØC˜ÅÅæÒ±~§'š€€Ü¸Hs0» V¦ÒKûODMÇðÜû+@Îé¸A>Žò¬b$ìÀ”ß~¤lükì´Íîâ‘”‚€xvöQMàS"ASÌs\Žç jú ˆ™‘î~74˯ù>%R šÈ¥Ê5#QìÞÊå$äŠiTLó3¿"ªiBL‹P­kÖ8=±t£6µ]oßÏ[šÈ„½¾¬’fô†:Hƒ >“Â%g>o)Š‚\ŠÊ~Þ’•?k!d³¹ñþ&Ö[¨[‘VòðÉ€ÓHd ÄLFÐÏ>yT®Òg­£¼aàŠ;—ðe WÅåþ@R¨G–$òQ§+^6þu öÍ™‹(§I>Å‹³ZGä³<¥’ˆó”]V$iæÔíøÐ¾q w.àVÊb6Ëj ø,Ÿ;Þi`‰éºÕLˆ búx !'Äìôš"/’Ó¿Ц€Ï  ,D@­"'Œæe1"´’:’Jm=á?.fÂý½a¨§õ,=põN_¨R¯/éL(†òø§ 3ÇâtÈás›ªôÀLŒ58ÀR¥v«ÍO9^êªAˆ[ öÙ«@ÓòûŸú‡¡ïÞ;99955599yéÒ¥ÉÉBrH ¤ÒBüËÿ+)þ¸ä1¥yr‹'ðö¸äÄYõŸ>@ÍÏiáÕó´Î½¿o0>úÐlÉ^t¿9=1qÃÎt>vïÜÓŒÔnød$’nþÓMÅ_}øë7Ïl2ÖRÒ$’‹‰T*¸4yébþ±D"©”¤äpîì¥üšˆÿþáé5›$Éê-öÒ_œqý°7üÐ_?±±4WI% )ü)ñÿ½~âÌ–ïÖQdêî5[¾Ùû£%ÏGArþ“s—¤RàÜÙs@ÈIi¡=óË='•R ½pæ"±‘”J¿ð­G×xýw µé‰¿ ¯qÏ–y°˜î$3ÛiVö+ňipÁ(¾FÇsqèŒ^CŇœ½…ë¦ä £(îÄ*}=Ø1^W¬I!p-ͬ$H+šû†­%ƒ!³-¢ð¹5ð!³ahNìÊJ_¬j-§êÆ“ª(°Ž¿T®bwîV²¬*Õoé-^ä®î°_92G3 Õ8ž6ÎÕ„d0Æ×u¨IH2+ˆ¢0÷í‹<_HŽ|:ÅÓ B®=ì5Ç-VghØe˜oû#B½CEÊSeš1 f§»·¹¬@ÌÜC®¤Äøô¯Ä‰¬HéˆüÅiYo, aàíŒft4Œg³Ç‡zCM‡Ö âÞ^á‚n…^SÜiHµ^Í÷û“V»fz{ò ¯+ÎXÍ4‡¹Hš–«;|¾Ò-˜£Ó÷ù†JRs4µ‹sÎù\Qé‹¥bYy 8ãtcÛ´ÎØÌÔ³2dë<2}‘»\ïî3Í]YR©­'‚þxÉQ øD AhÌ*’¥‘mVá’M©é3;|:%Ð ‚nìÐÌ6—aØ>ï(àD4§´- ’RÑò†9·øÆ@ä³¹éåfE‚!f-7W áp&üê©ó2™ìì¯GÞ&úFM…LVóøckþíç?ÿ·=|lñ XÜXsFÿ®ÑõR­úéSÊ|2‰Ä¢Åyxõ–ÍLÇ„b,-Êã6‹+’âÒqŸ­Õ5J;ò‘T1âó ¤C›7!ˆYhµ‚à#IQàE‚ @àÅ«Túâ# Q1êõ„ÅÙŸû×X‹ÍÂé4Œ©Ï×Qì„QŠr];²®¥Iº:]…ùC‰€­sDÞÜÁR@Ñ4‘M¦HÇ‚ã³:ÒÕ½"å§€tÐf²Rùe¨ŒÅ®O:»CWM©¨»ÓQµXtÔU›QL §€GA­-ÎMªfôŠ”?˜„tØŸRè%PLs}ÆÛïåµK0‰ݼS®u»ÛŠ{d6‰DbÉéájyƒµ±$Të­1bi÷FS<ŸŽº;-ÞÌœ+–)uc]:Hù;v[ %@.+ M¤#þX†çE @äy±|¥/>Y"æñÄèFV¹ÃY­&£amƒ};ź¥ËìÑc1+ã¶No<-€Ž{;m±:KCI©ä|*#æË'ž+-\«%ãþp@HùZM¶ãY¹Z¥2tÙë#6×ÕïmÎ…íÝ ¦£EC‚B«£F}‘t>ºŠ¯ËÅ}±‰|TLQ Sœ¬¡Ðk©¸7œa,Ȫë©ü¹/EÒã“K1‰òs€c€­(*s_OjOçH ;ÒÝ92ýq¤í˜{Q|µ±ÇGô;û[Ÿè.|¯˜{Ь¡„±Òž)×Ó•ìl5xªŽëêQEY¸!k;¤P1&KGƒm_»M÷²]¯Ë®'2‡ù·‡^ÝàéÇxâ ßìøªB:59}µ§L&¹túµÿÜôZÉ2*¿Õó3S>PÈd2ÙÌãª/?õÅžÃÿççÖ ™lþ7žO& íp¹a³äÍdþjEÙ×U}í¿ôîú¯ÿý]} ò¾ßf¿ë™¯TÀï}w×]Ž¿znãºMí¶»ÿ§´ˆ@*•Ý£¾-yÈiþöX§Ùñü¾¯Tü.%‘HdRYÅý»ö>ÕÞÕüªû;ÓÓídRÉ¥ôO[¾ýS€ÕëÔ<óâÞïÛ,Ü­ÙuàÏ~¯B5ìSòŸýdý÷¾çšm3Ç÷Š‘¯˜ áŠÛÀ`\Ĺ›ƒmÙ=ýqÄÑ¡}Ó?¯ÙÙ×3ûŠ)Rex™t9]¦í€®ol´su䬋)¦«‡³ÙŒ,@*um5©TXôÛÖ£P1f‹•±:[šá½6Û½Ã8긢Òg›3@±{xXÕH;Ùæ¶¥Í/¤ŠmPôÆÇ€ ÉòÓƒª=>pÙ¦¯wŠ@«õ»¼ùA¦Í¬looŠÑJ•ž­—GJ»Êªf—5i5oïÍBÛÖc®ƒôH±sj×›¬Ý!Æ]:(ŽîÛþð>BÁ4Z­ùû>”9`B@®©srÆD†§Ù.·.?[iz¹)[«Á#©ÔY]Íùž#¥áê³í£ooÕÆw²µÕŸÈÅz;c…õ»Ýs†¨IÕ7 pºº›ú³ù¦Ëk5äw™?g8ìÝg3°<©Òw9T$©h1«Ú[ Çie=×Öµ3ÞnmøºÕÎ}Û¹ø ÏvE¥Ï©Û9ó´}ÇW€04$ïp,ñ÷ETkX5q$#¥$Ê—¶y`€p:m;ú³@ÐõÖÁÂMžT-lÐÞÄ)ÊzV«ˆÏjTKO‹Í֤뉽ÕÕ¨„Ñ≣.{°©Ûv”L.i yÖèðµ&óµõ´tÛö°N€fZìùïi$hFÙÇ9Ç2‚²Ñq°ŽœÞXd¥§Ån3±®Âv2V|ÍŠî}ü’7àÍ"¹pá~Z£[åòåËù '''EQáƒ>Ðjµ7iq~øáºuë–õ7˜½ûî» Ã\ëYB:>âõãÉŒHÐ*ž3s¬Šú¶fþßüf-•¿"4ïr‰ÒÞ ·ÞzkÛ¶m |r.º÷™ÞZ½©¡µ£íé­òùó]מŸùùm·¸3&¼Õ½Ë½­ÿïÿðÞëxѧ‘½mÿü¤ç+_@–½•NéU¥9°8$<ÏoÞ¼¹tHp sàS¶üX(0t$<–Ί”BÍM»9¦V¸x<¾ Æ€tÀ´Ã™”×ï´v]óØùˆÅèR ,Éõq7f1ß"-Œ¹šlÐã[ÈÚÇãñ­[·.bŦ¦¦Îœ9³iÓ&üÀ½¡²…‰DpÈ;O¦y‚RÖiwî6ê(,Û™½9a3ì ç mö.ó5ŽhAÓã°Ït«C”0æjêz†m×sâ¶.fp!ß¹x;”-Ž"´òJ†³1Üç¼T‰DRÌrÅ c¥¿Í+K’ýòd2ÙªU = ­{èÏm¶Õ_Ýþ%ùµŸ»J½ã«d§ïØÄC÷ÞÒ­:)“J$²U —¹ß|õ?=²n¯Yà`éTÀ9c€8 x£¨:ƒÙa0cC\…²¡í ­,ÜÃðZmÉpÞî‰ìž ßí)îÓ¦Á:\ª5F«ËˆípÕ‰jw×áfÆ Y@%V3œÚéñÆ6fÙ…haÌww(—Ë cD-qœ“Š90ÿ8ÿ­€·6Â:Íã/ø(©±ìÝÑñƒÝ†Ÿ>¼oð¥oÒ·4Jœso0wývýÎö2ëVÝp–ëú¤Ó·ôÁ©€èóéjëŒì‚ã4ÛÕ¥³t?ñp¯~ਃY6a*å5™<¼¶ËÝ¨Ä ŽVªÎ`Xès•vk´µuûHMó ÏºlN‚ GSë¡w ,£3N˜B71 æL^¾|¹pÐ+²ß ¦Áëšxª´íÿýõö[Ý •ŒãÕŸ_ÏJ;^‰ÜP^™å$W(M€¸Ï£ÛŠÒà·~5LˆiáOW™}Q3nP*•Ë"Ο–06¿›-¢—“ÉdÖ®]»¸Äì½ÂÊ-£Êýè£är96–-²ÅˆÐJ¦T*ÓéôØØØäää2} 7c`^<Ç=dqªªªî½w¡_x?'ïݼ Še{‡ÀÊý|*aÙbÙbÙbDhY’J¥›6mÂv@Ë!„e‹Ð"÷pl„B!„ˆB!„B B!„B!L€!„B!„0"„B!„ˆB!„B B!„B!L€!„B!„0"„B!„ˆB!„B˜B!„BaDh…íîRéÔÔ¶BKhjjJ*•bÙ"„•‹•‹Ðr)[L€è²zõêÉÉIl„–ÐäääêÕ«±lÂÊÅÊEh¹”-&@t!?Zò$‚ °lÂÊÅÊEh¹”-&@tY»ví… ._¾ŒMÐ’¸|ùò… Ö®]‹e‹V.V.BË¥l1¢;ˆD"Y¿~}.—æ@hIär¹õë×K$,[„°r±rZ.e‹ ÝY*++׬YÃó<6B7þi´fÍšÊÊJ,[„°r±rZFe» ÛÝiär¹T*ýôÓO+++¥RéªU«nêýÐZI¦¦¦.]º499yþüùõë×È9e[QQ!“ɰlÂÊEË Bס²²²²²ò³Ï>áܹsxÇj„H*•®^½š ˆûî»ï¦^BV¶l+**>ûì3Q±lÂÊEË B×í¦N‚G-9‰DRUU…í€V.Bè†â%6B!„BaD!„B!„ !„B!„&@„B!„B˜B!„BaD!„B!„ !„B!„&@„B!„B˜B!„BaD!„B!L€!„B!„0"„B!„ZAþ?E¬®ŸŒh—{IEND®B`‚murano-9.0.0/doc/source/user/figures/bundle_name.png0000664000175000017500000011077313656750211022530 0ustar zuulzuul00000000000000‰PNG  IHDRב!æbKGDÿÿÿ ½§“ pHYs  šœtIMEß %çv©ì IDATxÚìÝu@Ûßðï6,Ý &Š+"66*6`a7Ƶ¯W±õZØ^ìÆÅÅ[T Di–nXØ~ÿÀ |û»>Ÿt—3gÎìÎæÖZ èµ9LRå%T’’ˆÔtø,""É»mN`Ø™¤bê‘„ïpƒ åÅ›%M–õüøòqNíl‚–N#þ:œ()~³ZYÚïåú¶\×Á3·\‹ªÌs€¢(¯£zµk!Úv4iåÑ øÜþ‡|Ÿ§Ù„š²Üû¥TÝÄÜ@—’üÒwíØøŒ‰z>[®§’†‰¹~z\jܳ³+ÇÄ2ÏnëcÌú48êÄôÅ»û©ÈŽytvÝ£[!Ë.ïaò±fJQØá£·<-×ÁeSAÚ»»ÇW޽챥“y±Ët”¹!['ÌñŽ.Ll#»T>ÜzW@FÍÚÕÓ3­«QÅÐ¥È~q屈H«™Ù7\œ¢È ^;|ÉY!ñ -ŒYq‰ÂWW·M}&Üq|¾­faM$1>óF¬¼“ó)ͤ‡ß>´ è¾C£¯‡U¤­7ídta›¨0óÓ"ùl|tñêèíÛ&6ÓDü}!…öŽo»àÄ훾ç.ß<·´£‘äéî-ו]¼à{îrÀ™¿Zó‰$NÞN.r ÿúŸ]%µ\Öœô~ô ðüŽ)-Õ‰Ò¯/_î—ø±«#ÿõž¹[žŠ‰SÏm£Oààà`ÿãËœ,ˆ2V,,9f4lÏbïX«.“VlÛ{dUG³ú£—¯]<¤:ÌX½nõìn¦• ]J™(CøúÚŽ¹ó.¤“j+÷qMÔ¾¡Y^íXzŽå´Òç^ ŸÏEÿ›Gf Tˆ’Ïn»ñ± ¤1'®º“C¤Ónæ.ßÛß8¾j` ù»€§9_퀺¶bþÉhâ7¹Áçöໂ.ïžé`DÒ×ûæm|˜øRiöX²°_M>ƒˆ¸æ]Æö3&"Òé½ìO§ª "ÏÊq|o"ʈË(6ÀB³Ûz¯Yjhq,53ÛQž{§XIî;%!"e惽'ã‰tûnÞ>µ­…“­ZŽ w.·W!Eè¡o‹õˆ“ÕúoÛ¿rLw»ÆuÍ5XU[ñ-÷v‚OZصëâä¶àÀã<¾ý¼ýkúš}Û­Q j»oú³›ADLõºg5'¢ÔÈt)Qþ›£‡_+‰ÙhÎÞ5Cš™ð™ Žv­®s½ÖvRÿZ¡’ˆÓ^·E¤×g݆Éí-øL"× é[Ýëeøn¿’ Ç÷~ŸÂoÑ«‰æç{±u,t‰H­…cÃ/ort«é‘²øÒ¤¯›v‘:ðjôcÏ%Š»y?YN”ÿþÆÓ"‹Cšj¹oÓ°½›ƒ&QJP°ØHšC‡ïó¢ ­»-þ¦‰mv³(’_8ºVºD¤+‰ˆ$±ÁiDjÆ9ZùS×Þ­§AùeJão߈#ªæRbQ¹ÕF4c}ŠÈÇ÷þ|Ÿq!*ÚªEwˆ ÿãˆÎO{WféûªÚØZoÁдiS‚Þ%¼Їšd~ˆÈ%R³ij\¢/Bµ†]5ò{!|/¡ŸKШSOÿ›ˆ×aÛõõvü/oÈE©Ñ!¾›—l¿ç»d´Dóôòv:U 8šÕ«•ÈDE›  þu"Õl[§ÄÙž¥5÷DJ9#i bŸÆQò­M ÞoyZ¤‚H’‘ž¯ uŒ €ß$…ß½~ýÍ¢4Œ5Kž7aii3‰D¹2’‹ÒED¤a¨Q²š ]]‘8'K\d«ª­òw¾,¾~ û‘«×§}"ùª—ßDû¡Ul\UvùM çä)ˆTôõJUš£e¤N”^öd™Ùr"½¾{óuÙ1%»@K°à7J!ßFV +5”R!•*ˆ˜l6ƒl›ˆd’2>%“ȉˆÅeÙÏ3Êêoù¦+~Çú'N¦F=‰µ(oxˆB¦¨|8ûø'Ž —ˆdÒR“*eârï‘Æ`qØD¤â°ýÚÚ–||àد=dN—Wb,IzHDÚfÚbkšê0ˆÒ?E%bˆ,ýC‚ŒHÝX—û“ž3÷Õ„#ËJÈ®r<}3M"YÜÛ”7DSäÄF–[CEψOT ŒÏ)™^’œÌŒÌì| N¤Jxíû ­ØÎTüáÊõ"v­–«V·¾0|îýr'ãXºlÜ)]4oËÝØ»'ÿ¹ûñ]Cûq iÀgà[ ÿJ寸á·<Þ{hÏ÷&nÞg¦Õ½ ¾õ ,©€«_³YÛÖõ y¥÷£ŠüÄÐà ç‘)ùLM“:‚Ö-jëVön¦ QÌý«·BS•ÚÕ[vw¨û=nj¦È¹÷ðuTŠ„oZ¿u‡Vÿ¿»s(ÅɯîÝy‘*áX·ìho­S¹l(MtïqXB[ß²–MÓæu ¸H €R•bÍÅjø a # …RÀö‹Æ…Ào}!€H!H!€€H!H!€€H!H!€H!H!€€H!H!€€H!H!ðïÀ …høùJ¥­?ÎÈR … …RR … …RR … …R … …RR … …RR … …R … …RR … …RR … …À¿ M?„èþì.î·Ä¥}ø5š´uäæÜÆ\…ñ/¬·äƒ—³Ëž¸êSÏaÉþõåü—¡/~*…(å}ÐÙ-ôuöð‹— =~kèðC9ì3Ó†÷1‚HrR"CnžÞ½Ýçµð²Ç¾÷üšÿ®¶vÓþÃgè7Ô¬ÒQš"íâènKB ò™U÷íå …üL®†Q¶®µlÓpþ°e·Ï,?Ðçä´z*ÿª:êµt›ÞòßSÀz›€&€ŸŽkÞkþœ–\"áÙ#!¹J4RÀÏÛö´Ú–O”tñm~Ñ?(DQþ^ Fõj×B ´í6hÒÊ£Añ%‚Š4åéÉÕS÷v°lÛ;:OXqüIŠ´Ä,”áÝ}‹F÷n×B Øwqv_}âYºìËŒ’Î c®eHSƒþ™æd/Œ¸¢ YÌÁA`ÐÁÉã½]Á8ÿ,qü­ó†uo-lúOZuây†ücQ97Ç l»- %¢äcn­‚^›Ã$ÅËùH’ôàð²Iì M·!3Öû„fÊ‹.~Ê7@0Ê/M–õüøòqNíl‚–N#þ:œ()Ú ÒÈ=ý ÃÂ'"|Ÿ)  êuÛ×&¢Ü·/¿äEzÐúáçí¹ö2Q¤äª0óÓ"ùlœ6pü?O³Ÿ÷äG'÷¿ö̃ð„l¦š+/9âɹõÎóKú²?Wæ…îׯŽË/DJŽ*K’qÿ̺qæž+>$V™²u´½AB Qù2â¨Ó]fïö›*&"EvÌ£³ëƸ,¼œ #"bÙõè`o­BDdÔ¬]Ç.êj”Þ¸*Ea‡ÜûOÙ|áQt¶Œ¸l*H{w÷øÊ‘ƒþ¼W2A)2ƒ×³þü³Lu3c E¶ðÕÕmSG¯ô¥B¾=†ðÍkêQê‡Té§~€k+柌&~Ó‘|n? ºû èòî™F$}½oÞÆ‡ÙÊ è¹ý™„4ÚÌ>pãAP``P¯§³%QÞííÇÂ%Ÿ2ȳísw¾’‘~燯ݹä»É­.›rn¯Ûp'½è®µ­…“­ZŽ w.·W!Eè¡o Š}¾ ¶û¦?»YðDÄT¯;pöPs"JLÿÜkÂÔiæ2iêÔ)#L‘B) ª½!Åþ‘Æß¾GTÍex³b×¶r«;hÆ$ú‘OD 6MD  ÅÊÏ;d‡5ç¯];¿¦½ƒˆ”Ù/üžË‰Ùt˜£÷KAl“ÎãF9õìÙ'-ÚRsh‰–ɤ¯›v‘OñjôcÏ%Š»y?Y^‰eÍãi‘ÅÀ!M5Š\™Ì4lïæ I”$,–flv³(.8ºVºD¤c$/ü·TåJÝÜû‹G{¾)²mЮޢ÷ÈÑ=m4*ŸeÄoÿ™ìqSÖzñÎéõÔÅyù/7NXü市¡jX¯£ëø!mL¸ÿŸbi7LÚQ}ìŽÕ’ósf‹¯ûÇÞ¥­4*¾Õ<ãÅÅ#'¯=HÉ“qµŒ­vrêØH‡/ð›Sˆ²ò‰ˆ¯ÍgÄ>#¢ä[›¼)þë§E*ˆ$éù RçÕèÙ«Ú±}QþÐùd»~}»wheÛ š6·È/Qšð"ZNdÞ̺xº`9Lñp(Q :õô+ÞªÚØZ߀04mÚT£ w /„â¡æüж™"r‰Ôlš—øå«Ö°«F~/„/ã%Tãó,4«W+‘ŒøÂÀïžB>Òiк‘³ 5âå«È{‡×(L·Îh®ñ/üðë¶jaÄUˆÓ£C_¾òÛ²Šcæ9´ú/ØóKcÏ­Zq"š4ª5iÝœ—þþÅ›»GW¼N]ºq´*¶+ðSŠâÞ§‘~-.) 2³åD$z}÷æë2'(È.P1UêŽÝº‘V¬Ø÷ -â¶·çmo"Ò­çÐÛuÜèîµÕ˜D$ËKÍ#"u#JláTµU*q¥a¬Yòd KÃH›I$ÊÈ•U<½\”."" ÃRUb¨èêòˆÄ9Yb©ª [•Í …”E¥n¿ñSªÉâÏÌþã„ðͳDIsui˜ïî=¾£³¤L5“Æ]GLtn¦ÃRä„]>pàâ£ib5“F‡Žw±Õü²Ê}uð¯¥~‰}–,sµˆ»TzreÞ»‹^;Ï=’U»-¢œˆ¨3mϲ6š²”G§vyû‡Æç° ê;¸ŽÚÆ”[ÆïÕÊqÜ;u"‡ír_t#ù}bA~¾×ä%w¨ýR¯)6MyzźsÏe ú ༾¼uñÞ—yemj¢ývoß¾}«çŠ…kod©ÖwÒXýë?kùo¿dãF M)+ü²—÷Û’§lXqâI<·^[[áÅ«Â2¦ª¨> 5˺úD)—·zîõ¹ùøMœ¢©ûº­ÿêmÎ!E惋w\}%²êЧg3õ¸‡'W{ ˯è êÕ¡½IMfY-œWÙöø¥ÉwŽÞi¶îU‡_Ø' gÄ'*Æç”¼U!ÉÉÌÈÌÎ/6þ‚É7mÜuØËwœ¸xzÃx; ¢Øãž—äDlmSm*zñÍçŸküs§N_|˜"«juÓßÇ啨–$éu"i›iW¢•­iªÃ Jÿ •ø9ÊÒ?$ȈÔuq´è ©„‚àå#‚?¿RoéÜÁ„E2Á1õtê72Îûð(úVp\^jz^RŒïK)Y¸ÍÚˈ™gkvôF2åŽ&Ëë½ê^´Øbðªq-tXJ‘féÉE)BŸ'b2ê¿h¡«;¯õöi+nçQA¸ïÕRo?q¢K}UiCIØ<ßÛB‡5lYê¤èmpàÛO/Œµ9ýÄ«]µ¼«¾2©Ö¼©cbãrÄêþÞÊÉÊméÂ^ÆÌ[O÷5JF„Šëí1déݳ—ï†Ü<öä*C»Nç¡ÝÚgŸy "ƒ¾-R£ì]W2eÓ[W>¸Nøz8Ôë²xèz|E‚ïÜR-œz¡’íð Iâ.þ½ö„ȼïÐÆê…ï©T·¯Í¸þü­O`bgÓ/ç?”™wþtš(ª;ÿâ¡Æ²È£³æœêõ\½u¼uá0 ¦Zµö#ÿpñsÙ—™.#Sžq³ú“|+Jܨ.ïËÏõí¡å+Τ›ŽjÔÕÖ Š5~íû ­»£Á—ߦøÃ•ë DìZ--x•è Ѱ¶µ g1¡—žftîTäz`™ðö•H"FÍVV*ø^RH%è4hÝHM ®¦‰uK‡6ÖZL’kò’Ü»×KÎÓ3Õ,“ˆcVÇCD|ˆÆt;‡H)IOQàÒŸk”Ÿ-§Rg[mfî[j§NòÜø§gÖ®»´qµ¡å²:_[0–¶“HÉås‰H)Wʲ…YDÕkê°ˆˆo^GŸÄ–˜H\q}ƒ&½'4éM$ÏO|ù àôÑ×·o³¬çQ+1‡ˆeZLjCD ¾…µ>=‰OÉ(õ¾ZO³ÆÕø "YnéVfÝYTÉöø”Ò¼Ô¨€S;·}Od2há¨Ï)©×Ú¥÷yЛm«ÏÙ®ï_Ç "Rd=ܹ!PDT¿½“ˆ­¡“uîÜËÁ³›/Mzú$‰ˆô«ë²‰ˆ_o`W½Ëg¼Wê¸}LÃÂÑ2á/ßt"½Vm-«>R]öhýš‹ V9NªH¿¿cñá"~—ÚE#~yW±p,»õ­½sKø½µ›nØ,êZxq­Rv|•W8·•‹½^»¦O޽“¬Ðh0Э3.Ö…ß&…|Rä°&ÒÇë\h^ãI›çt0H:=kÖ©"–º¾:QVrl¦¼‰*3÷õÙÃ7’ººØ‘yß?¶zã}àAË9‚´2'×S#ÊLŒH—55cß&Ü£kêðˆTÚO›ÓÔ­§FF$Kµê–‘?KÝ´^3Þ¥„ä÷©²ºL‘T$V‘,75¯‚ÆÑ4Ñ$JŽŠÈÛ3óãÃSK†[Q}¤±g<<|Í\V,îm¦ª_˶‡NÎÝ;?¤ ³©©±QzBX²´y5ŽRû.•HUO›Ëd|µž¬ÂÓØlµ2Z¸míªµÀ–ì=¼µwY0í±Ük¦ H/S·ãì©M\6„¯vv½3°WËjÜÌ·g.„dY¹ÍéiÂ""¦nK—6ª!w’ONèÿ®goûºÆ*¢¸ëgÞK‰ßέ£1‹ˆˆßpü¼.×ç^µsÔà§î-kid¿½~Ò-&Œø–§ç±(ûÖ2×a7{µo ›÷.øªÿ«,"n3÷éöZ…KÀ`q9D”z÷Ô™ÆÉÕk4oY½ÄöÄbÀŸC}Fõ[àúáFïöŒdQ¯]ŠS»ñÔÙt«z~\žùìô#1¤Þ½õ`¤øúBÊ8¼‘KD’ˆÛ¾§bò_I "R² [;ÚœÜýæÈß›Ò*á7ÃŵG *<ºQµjܤ‹]ï«óÏ=Ùâ•MÇ2'·ïZûøþðËV'6S‹¾{?«p^ªÖ=ô\ºèoh¯ŸþÀ×?\Ñh’]×2N7DûíÞþ„«”å ß>{/&Õm¬Ôtãô(0úѶ© Ÿ<˨ qÌ:t«æs8êà’UQMU#o?,cĆJEõáÛ¶4>åýîðìiA ëš«æD½zMdܺµ™ª¾nÿÇ7>:·run‡jù!WŸˆÉ´_kUvfµJÔ“eTV ïå ÷°2íðk0Tt«7éÐËÅ͹¹ £d‡ËÆÒEó¶Ü½{òŸ»ß5´·pј|ÆÇ.“Nžã/Þ”réPÈ¥âÕê1Ýc^—O§L˜zïYÈž½òr̃ û| >¬ø«¯é7l÷Lœ×ŽíXqþÎÙˆ;ßÒi9yýêŸoêÁP·qhÈ|öRxÑó¯‹ÆÃž¢ZbÁÕMÝ驜»Ð;4,àDXÀÇ· ÚL[³ÌÅ’‹o …|+^­c»¶µHõ IDATÇì¹ö* Ƕ³cs¾‰Ï?äwt˜¹P´ï ß?_©šYóAnã»›°Ã?ý yÕ{hu}mpÀîËæ—9y—™sÓ·ï¿ú20جUïÞòÓ¾±DDªu†,œF»ß:}$Ÿ«W·Ó¸QnôË:Ôÿ2.„§S£­Ó¨QvÚr˜8üõ¦“Ÿ„ÖlÓ«“ä”ÒW[ÇÄqþŸ¹ÿ¸ö"ð®AÃv­ ü凜ܢVXŽ…Ó‚¥ü“'/‡…Üû@ #›Ž}¸8Z«©ØMY:éèþ³AçCÙ:V¶ÎCGõ©Á#2¬T=Y†e´°:³’íðƒñíÖß{\Õ‰˜Ü6]èþèÞã°„<¶¾e-›¦Íë¸ÉÔi1~Ëùo= ‹&ç±õÌ,k644ã3‹§}—ŸrýäîƒWñy\«Úõš4©­ÿ¥$¦Ñ€#”ñ»·qêñˆ’ïrÌ»/:ÞÎ%øÖƒ°¤®~Ífm[×7ä1Šuv¸l?muõVhªR»zK6[³T9lÃv3÷]ô<2%Ÿ©iRGкEmÝ¢ýL§CJg7Ýû÷(^£êcÏ>‹ïü–(•ÿÒë'¤ïßFçqŒ¬ë˜¨2äIçN=k3sïR; ¬5øYäñÞCûx¾7qó>3ÍÿƾB‘zgǪËizmÇŒïlÑ'–˜ÖvÕøXeH!?¯Ö…SiÏÉÀý«ï(x:Õ[¹NÙÕ§B~8Ϭí¨ÅmGa%ü'ý{Ç…ÀMH!€€H!ßMծԋű±±yyy2™ mðßß@°Ùšššfff\.n ß_®Ô-(( Ó××çóù,nð_ ®®ö•¿*•J±Xüþý‡zõê±Ùl4|çCÊ466ÖÐÐPKK‹Íf3xH+Àop˜Â`¤¤¤¤¥¥ÅÇÇ[YY¡Aà—¥œœ.—Ëb±Bþ 9}åë‰'uuuõôôÐVðÝUatªR©Dø ¥§§K¥R´üÊBD ~A @ ¤€Dç·aÛÞiâ†+1âÿg±Šä³ÃÁÐÓ‰ iôþ`ìõ¬JÜm@{ØY z{¾)‰ˆ”™×Æ‚ö ‹~NƒäMoU¤=Z;Ž^u)úÿÕy÷¦ut=W{ØÕazP^Ùí•î7ªU¯Ía’ 6ûá¦1=ìÛM (»9eŸæ"ûÚìBà_D½I—ž={:v²­Á>>¶pÚ®Š÷‡?T‚÷òÃáâ_4s¶fWOßëׯ_¿zñ䯡×—Ì:øá7ƒÅå°8*_ )»ãÓdýÅmZúH!ðßP{ðŸK—.]¶fÇMýu‰„¡±ù¢§‡ÅOó‰HsÈY Œ¾’¡¿ñtZŽ;p`kg[]×Që’dDDòôÇ{gr°µíè<ÿäû²û.$ÂÀmSvj)´uš¸îr´¸¼’Ƚ+NGK‹wu¯·ÿí— ûü×ÜÇëÿØrý½†½óÈ!ôãƒö/X÷0÷c±O?ä5iYƒ’Ÿ7~Å#µæmê¨d½õY½-DTîLmC]S#uvù JIÂ}¿gÔ´[mþWš"å†×ƒz Ž]»¶o´†ÿÆ]/EowÏXv×rÊþk7ŽÎ¯÷ôð‹¼¢Ë¨È ^í¾%¾Ý²S7ŽÍ­²Ú}sˆˆScøš¹-”Ák<ΫŒðòó¿ä5”qnùÖb±‚eÒoÓ¶Á¦Fý½Î­o¯ùmkºtmiþ+–û›LÜy)àÚñe­#÷n¸–¬ "yò­s¹ÿ¹xeÿHÕ«+&îS™|èêÕ®Œë^§#$e/rÈØ¾%³,þìì?Ž ‹|Û5,š÷5¾oÍdq§g{DŽÚ>§13l猭*s½°0·ÐåVô˯;ÿà¾ÆÊ8ï¡}=߈È*Ð:w(DNÖìÞ6Ô‚•Õa^ï™%ÌE/ŸŒ!Íž‹Mð%¶âÃûz<ݶÔÙ¶y¿^¹íðÜp«~§ûnÒnï>¯¹~ó––9¯o…û^ÈILÉW¨±Z,Û½¹³Ú»-†J°™¿{{ݘ}ƒO)DQåÌ´ö¸}~ãÊÜBe\ÛöÂça½‰»;±ˆäåE–eÿq=j¨±©^'‹Ýy¢wW/f´œ7ÃÑZ›AºCf=7ôf‘’tà–úÐCÃ&¢Ž“æv¾ºÈïýŒ¦Œô(ÍaJS³µºnºÐCÊWùÞkºTm ­6ËNÙjë«HÆ×Peˆ2DrR!¥J}·¡=¦FëVf{TG»6ÑQ¥lõ/¤‹äå.… ~LH!ߊe>xå¢Nú,"¥,/éÙé ;×ï­¾}FSµï~ö‘¥ÓbȘº–\"›ˆÔk46¡€%v€)Â\"º4±Ý¥Ïo&F¥ËH‹S¢x¯ÖàEnFú{«º1UuU„žk×,—©Ziçý´ŠŽ6AÄb3‰˜újLb°8L""%Qågúå ÌaéÞéõyDJYn\ð¾%'2cQ|a¾œeáèXén¢L""yNb¾V-s~ᦓkhmÈ-’BäY´‚˜ý£»+ zrqÛ>·0â¨Ù.øgባG¦÷œ—gÞvàÈñ#»kVòM©¨äª.Y[b0e±×7y\~ÆÐ6·RÏV~Úä3y<&1L[ÿi"FEKH!߆ÁRÑÐÔÔdijµëÕæÌ½¸ES¾$ÊÿÀî3Aáirëƒ'Žho®x¾fêɺCꄜ¹ñ*k!è3~|¯:LyæËs»öû=‹ËS1®ï0t¼«­G‘þäøŽ×^$åstmºŽ™>¬….Kžõôø¾÷#éÞ]»Ú?MDäþ¹aJ}NéÉ™I¾.éÝŸqÞû%O/?ÙjÎÖ)õUˆdñ>sþ|ê´qiG=œ«‚ßË'L˜Pô;wŽ9âûlh4«5mQMÅ;&þU¢´ ƒA$É+P‘4+1§Â›6‘0ìMª¬©+/êebém OG_•HµçŠõ®VeAâÛ7B©¾­QÙ›7Õz£ö÷›xöb‰ßî[~àQŽÇÙ ½Mâw»8Ü2Ui¦…õd«š˜™©‘¹ÉX'o·À—™£,ˆH©ø¸³—¦Åd|>Šú¸gþœb´ÌÔ³Þlj”Ö\‘$å}ФXÆ1ÔæÛ ;q°¿“ˆy±ïyV|""E^\T~M—%ûÆ-ÅÝ?´`ÞÌ|+Ÿ¹õy_ËeÕ§‚M}ñÚ*ÒÍ:n´dב|¦èþìÞë+s,YþRÀÓOÞ×ʳ¾È3Ô×aæ„ì^y$Yàî¹ïº1µÂv¯<ü6_I”ÿþ¸¯´ë‚í{7Mm‘~jÍ®'9²´Û›×ù)»ÌÛ¶ç’Aú÷·¬õ“æ=ß»5€×Ç㟽ÿxôbú{}[ðeƒgÚ{áŸô {.Û8¥¾Š¼¬É‰H‘t8P³Ï¬Ӌ»Ñb"’%Ý¿^³k]DøíŒ9bçÎß;‚|ò×#]gÝ. µV=¬5 ëÜZì>wá´SN¦|½nµ^ƒ¬‰ÞyN˜¶dÅÜñso”q(¿Ñ'#J¿~ôÜGwÎnY¼ÊsÇí ^9Ý­ f“tû4üA)—*ˆÄo.ÙµqѼ½1DD•zÒxy3•„ïíØÕéKÉ¥zä’¼œììììììŒÄ77Ž]NÔmTK“Éâë©d=¿~?&Oœöô¨×½ìòzTj÷ë¥÷pƒç¥°”Lá“£ëÆÊ‹,"S·õÛ¯5ÇŸ ³3¢‚Ìr›z8ZVøœÇ&Oñ¼‘U ‘Ó§Þrƒ@eëSQ/Š´@ÎÑÐRç2$Éî Î*I*lØr–B‘ù*À/ð]Ž?T¤ª“EïŸ2عÐàqK.鎜ï\ƒ›rî¿×˜Þõ Ô4Ìl]FÛÉÝŽ‘1Uš sµ3ÓÔ0jÒLWÕ¿¨~ïŒúìj­§¦eÕfè°º)þ·âd,6C–“šš«Ô²î1»ç(ërb½<ía“Kˆ”dØc‚kÛz&u;4‡Ü“,!èN¦u×FÚ¸R ~ï òýzArC®_ºtÉïêWÙº6Ž3·z8èqÍú,œÞÞ\5ãåG™õ‡õ3« ŽåàM›G·²Ìtñj˜®c7Ó2r¿±ûö® ²üwoÙu%ٺ߂}k{³Êßîé´™>§MaŸ„J½±óêæ<9wÃ`&Qìý7•¸Iy3UJ3’Ó…I¹²’eȲ¯LwtpppppèÒkÔ¦°¦s='ÕW!–q÷Y#-ïþÕ¿c÷±ûd.•{äÏ«=z£G›¸£{t¶æí´Þæœb;pÏ‘*çpèâºä¦á¤Msj…1êá1ÓöݺÁÚuv]rÇjÊš uËï©|}*ÈæLª}{F·6úÍòU4¹ìø¬µ!ùNVÖRHâ.®ñØŒ“íÿ= ¥²²£Ÿ8²é,Ý2¯FÀœ?N¤òÕ¸…{|…´€ÝdÞÚÎWgíµ\ê9ØŠCDÊ컓Ï6™Ü0`Wò¸æ5Q%"’¼ß7}UÆäíÔH ¾|ñòûáùFÍ»öÔ·mu5¹Ðgî¢÷#¶ʈ<^°$rèæy¶ˆ!ð»(ýLÝ ›6m&¢N:5oÞÍß×ÏÂÑÐ742(<.1êÞ§Ñ…m¯“ ô4TjôÚ°ª‹“ˆù‰1©\SÕ˜«ò¬ØT±ÒŠÃ ’¥E¥“†¾!_úZ˜#o¢Ê"R¤ E*|IR¼Ø²û”Ý ’BÎoò\+6Ý<ºZYÁZM/}Qbr5óÓYLÕZl öÝ}Ìxš[oD}uDøÝ{DÐðsüôLŽ S”–«ÐnÚ³aÊÉ=—ߤäfLJœ[ûçª B9ƒHQðøÀ±àج¬„g§w_5qlR½ewëÄ3®‡gˆ²cî=üFß¡£¹4ôÀòƒãr ¤rƒˆÉ*¹$JYDAÄÒ³-=¹EñÑá ¾u‡º9Wö_ÉmØ¥®BÀ¥/¤Ä µÍ5%_f7m9inúž½žÓf)µj´v™?º¾*='®¡C{…ߊɛ²xæÍÎÐB‹Íì0mNÆ®ýOÚ—Ë3ªßyÚÜ>–<¶Ñ¤o·î›3f³œ­U½Õ™ÎÕ¹E.»ç4ªÏÛæ1µÀcËô¥'çPb‰R§ƒ ëQXÓÎÖ‹ ð“üàq!U”²fòÁÚ+Öõ7ûÙé(ÿÕöi[X37O´Á½qà·Rz\H ?.I%¥4'ííÓ9vk ‚ü4l4øÝ¡+C ºNìWƒ‡ÖøMSˆj“yû›ü왪ԟ²Ó߀Ÿ gd)BþE)„Á`(x–ÀoGGGû‡^¢¿­*ŒNÕÐÐÈÊÊ200`0p{Q€ÿŽ     à¯| V­Úšššh(ø•)ÄÌÌ,<<\¡PèééáÀàwˆ jjüºumôôôLMMÑVðÝUáÞ©D$‹cccsssår9Úà?Åbiii™™™q¹\´üâð½à@ ¤¤ø_£H>;\P†Ñ—Sâ é0åNnÕÊË úÃÁåPŒì»T.ïÞ´Ž®Gã b»:LÊ«xiÄî³ï‹¾g ýË,x±ÒÑÉóøÇµÞ·Ô°¢ZÉ>µ¹¬Òÿy}«¾"ûá¦1=ìÛM ÈÂÀÆÿux¦.|÷£ý^;nt”)‰òŸ.uYBKN,n¦JÄ਩eŸùŸ[–A{÷yMjrÿíeþû—úû…¸¸;þ1MÖ_\e¯‰»WýÏo-ÐðÝ7,\ mm .óË u.“ˆ”â˜KËÜÛZtt]ì+!"EÞ»³ËF:¶Zõ½Ê7"¿ô®4éÖ†±=[ lÎÜó0]N’÷;úw[ø¤ð`]±k@×Drá±á=ÿòó]3Ö©½ EÇÁK.ÆJˆ”Q~vl-°íä<÷è«Ü÷€®`îòô{ÿ¬=ñAB$O¾½eJŸvÀÞq¼ç­äÒ7,&ÞÞ<Ñ©] »®nËN›ÐiìµL%ÉÓîéÜÙN`Û±ßäÍñå—2Ë®pÙå|žIô‘ÉÓ|’…Þc-y,¢²Ê¯°õ*¿Ôe×°tS”¨•RseÝx§ö-Ûfî}–]ö·ËªÆ××—<Ág†û±„Œë³çfKcqZrÙg©kç[߉Êhjá±áŽs¼÷ÍuîlgëàâqîiÀ–ñ½Û íyø ¥ø±"…ÀoE™rðEóe§®«ysËÞÐ|EVðj÷-ñí– ¸qlnýÕî›CD%ö¤1'.0†l¿äf…CÚþÙKýSË{œ„<å†×ƒz Ž]»¶o´†ÿÆ]/EowÏXv×rÊþk7ŽÎ¯÷ôð‹¼¢…Wfî…r‚×xœWáåçÉk(ãÜò­!%ÎWHcNÌ^pÃtòþ«×LÖ¿´õI–’Hžté¯ÙÞÊþžn^Ù5ÎøÆÂ™G"%_¯p™å|Á±¶cK?CÓ!{N-ð+,¿ÌÖ“Uz©Ë¬aMQ¼VŠ4ÿËýM&î¼píø²Ö‘{7\K.c•Ùøù_]_Ä2é·iÛ`S£þ^çÖ·×d)’®mº¤3bíg•ëe6…<ùÖ¹Üÿ\¼²¤êÕ÷©L>tõêNWÆu¯Óü"‘Bà·Â­é6±[5>W§N»v¦Ò4‘43èÀ-õ¡ó† L4µ«uœ4·³,Ðï}‰Á,5‡™“:VÓÖ²°3æ£3ˉ!J–eÿq=j¨ñtëur°¦æ‰Þù\Ìh9s†£µ®¦q³!³‡š³Šî+3÷›K6‡)ÍJLÌRè6tÝtáÔœ†*Åþ.‰¼p*¦áT÷®5u5MíFNï¦Å"’'Ý<þÂlÌìA 5tk÷˜:­I‚Ï…bû¾R.(«œòT\~Y­÷ ò^e—º¬**j bhµYvêÈŸÝ몫¨ð5T¢ Q鮣2?ôå×ÖWYÝ) S—…“z4«&:Qº)ÄDJ•únCz*Úµ[·2ã7íÚDGU¯A[}Iº7àüÕ0.~*GÏR‡MDÄ`2D$ϦÄìÝíXáQ‘\œÇ¶Ï-±w`ëÕ4âŽà×5d¥æK!Ê/¯8:Vº…[6“ˆHž“˜¯UËœÿqjCkCîÍ"{ñÊ̽ší‚ž8zdzÏyyæmŽ?²»fÑq²Ì˜5K~aA\ýêzœ’g'æpMªiîI|ÓjêyÂìbc-KV¸ÌrÊM!å•ÏýZë%%ÄVv©Ëªa…MA ¦,öú&˯ÓÚæVêÙÊ2Ço”ÙøY™â¯¬¯²¾Q\ƒšz"I¹MÍäið˜DÄ`0l5þ§EÁ˜¤ø cH‰ça²4 µù6ÃNìoÄ$"E^ìûDž¿øDÒ´‰beM.ƒH’–ÊÐ3Õ`½#å§Ç|KÓb2d_ö€ÅfÀÒ2SÏz'RZsD’”÷)’ªÎ½ð;/.*¿¦Ë’}ã–ˆâîZ0of¾•ÏÜú¼"Eósß'æ+ª0ˆ$©QéR"–¦‘ºäAt–Ü^E¤%Fçòkjßò–¬pYå”§2å—n=sS“J.u™5,§)Š| =`ѬãFKvé`ÁgŠîÏî½¾ÌÊ—ÕøF¢ý_Y_e׎ɨlSÀ¿ ÎÈÀ/Þ é¶b›àµæøSavFTÐYnSGË%#À­;"ÒÓcîî^uª ãp[]5=•¬ç×ïÇä‰Óžõº—]Þ@•Úýzé=Üày),%Søäèú£±rFç^(çñ†ÉS<¯GdHäÄ b±‹o@y5ûô5}¾uûõˆ¬œ„‡‡·ÝÈ”±Œ:º4ŒÛ³þLhJnÆû+[7=3îãôõKOÊ,§4Y¾¸²å—j=»m*»ÔTµ¦(¬)¥rކ–:—!I~xtopV¨ŒA³e6>Ûúkëë+Ên ~aH!_!ž#U.ÎàÐÅuÉMÃI›æÔJ|F½Ñ4ùá)½º:/ 2wß4ÇN“mÜ}ÖHË»õïØ}ì>™Ë„FåÉójÞèÑ&nÇè]‡­yc;­·9§Šs/ü Q™¶ïÖ îÔ®³ë’;VSÖL¨[|Ç­1|ýâ6‡uê>n_¾ãÀjª,6“mÜkåzW:5½g‡®c¼:­Ø8¢V׿–YN±=1ר¶¹Ê¥±}ÿz$bU¢üÒ­W饦*4Å—Zèv˜3©öíÝÚtê7ËWuÐä6²ã³Ö†äWjÕ}}}-†T½©á—ÃÓ쾉ðÞ÷fÚVã3ˆ ^®é?+oÅùeÍTU9è ømä=ßë±ìô›\…Bá·ÿjA£N5U~e9ÿzè øN”¢wgþ^²+ *—©aÕjèœùÚé0a9H!eÂELß,ýõõSÞgýŸ~ˆK-PÑ7¯Õ¼sÿÁ;×ÓE[…¾ïJš°aÆ‚ÓïK=½’]kЪM3Œ9h#¤ïN‘ý`ÍÐ)g>½æjë«KRÓ??iÂtÐŽ#sl5qv€ˆªvLþËnÎE¸Œp_zànÂÿ÷a@Š´óç]KUÈ„>8;;{çT"É}g9;;;O9Vø0HeνEÎÎÎ#6¿*ø¡m&Μ³óÃÓR‹-zñÏ’ODÝ~æ~ÿ;7®\ ¼{vy7ÝÂ7…§–x…Šð¨z ùˆ_·UûöíÛÚ5´`%¿òÛ²êTä¯}6rÊ%/ßèŸô\DÅ뛯'œKÏÍ9pæÕôàü/K®Ì~tèBÊÇ5ÇÎqn¨Å""†Še×)£k|?ùÂÇÙè{ ¢ojå8nŠ:‰Ãv¹/º‘ü>± ?ßkò’;Ô~©×ž<áüœéGãêLÛ³Ì6õÐôù—2m†¸èÞõ ŽiÔî:v¦[K=ɳ^óÚsñ©Ìl»Ô/»ïBšòèÔ.oÿÐø¶A}×qCÛ˜r˼‘oü™×Ú,ïeòåen˜ïî=¾£³¤L5“Æ]GLtnÆÿ°Ë}áüzN÷^ekÚtábrØ;ðC6¿ºÃ¨YcÚ²+š)Ó¦mÍ¡W_/UÊR «o±Uý2ÌCüêË)“ïû ½xWΖñµ8üÏ+x-n×Wþ|S_H´ßîíÛ·oõ\±pí,Õú®C«ý&ÿò7Þ~ÉÆšRVøe/ï·$O ذâÄ“xn½¶¶&‹W…eL%‰<½bݹç²}‡ p^_Þºxï˼2úôZ9Tg~8¶çvŠüó_E¡Ö ŽUkÒ½oÏ–:ÉÏ|6íût*Dòúr(§N# J{sÑsÉÎPÕzͪór"ýw{›_™™ÊÅSÔ¦ô33f§}l…"/5÷ó‹Þk–-?,ê;wX-®"3䯇ÏÉ-ñ P€ÿ&yVÒø­a÷K<*^šë¹óÅ?IŠ’ÿ¯qbÜŸwòÄ¥þ_êø¥Ê%Ãÿ¿óc#í‹ÿ}muÿ 6ˆØ=Àaö}QÁ‹•ŽNžoÄø^ü{úBDoƒß~zall¬Í©èICÕÇ®ZÞU_™TkÞÔƒ1±q9buÿ oådå¶ta/cfŽ­§ûš%Ÿ/Pî{5ÔÛOœèR_UÚP6Ï÷ö…Ða [j”˜Ë¸ÓøAïÿ<~ðÀ£Zvi †Œ©§S¿‘qÞ‡GÑ·‚ãòRÓÅJ3""V÷¥¶R::cÞù”c—.쬕à3çcñI©ÊaE3eð4g¹i2˜Ô·:1‹F8¦šžQ‘/ªa»vf¢ˆÐ §{V}y[]_ £S¾…"2LTÛÆ”Wòÿð[­úŸ„eÐÞ}^“š\"Úÿ_—Blfî[j§NòÜø§gÖ®»´qµ¡å²:_]ÚjL"%—Ï%"¥\)ËfiT¯©Ã""¾y}z[2û¦'‹ˆ(pé‹»PP IDATˆÀÏï¥ÆgË©ôsš¹–=':Ý\paÏQ¾fa"àiò’Ü»×KÎÓ3Õ,v¾‡«¥Ée±XL"†šŽ*“Ÿ©$e¥fÊ`QñBDý¿ƒ©òÃÔÇšfy‘“ÊVme[m¦@]“¡½ú|ºÐøÐ3&‘Tt3U­‹.“¨Èÿ’໑ÛC²$L}sƒi½,Z«ŠOúRò]}à΋{íÝz{Ëc/d P¾Õ¡¡âŸ4ËÒoÞÿJ6í8ûèò5S÷Φ®çV{?Ák>lÁ ømÿ¥ƒ»%\“ÞãÇŒôh@V-³Rá„Þ·#ƒ:Ü]w_ e?h\Ï”ßÎ>‰‹+vöñ³;|,9ëaRQÃ*•aú¾ö•¾u^ÉÐeΖŸá»…‡^Ö¸¬‹´°tÕìNú$àuQ½ðïçì§¡vi1dműùÚf¥ûÒÌœ /å" Ë·à Q\¡^_õ¬H¥ïù66‘Ýsbï¼<¢²²7êjéSe/J)¹ú<ƒÒrH c¶¸H© Ø\‚Nžºì©¨€`[³Ši …*¾·´î,Ž ŸH(*dÓ7f« S)Uì&ªÊû*¦¢˜›VB1¼H[¿O[” åË2 4T•d7Ò!J;‡€:±Q”°PÅ7Òâ«Kbk¹´Ö €¢¤ðŽ•¹™»ó‰ìÛZU÷.µöÅö*]_}òÚÔÞ„ fäIS¶÷ØWÚ^™ˆíZ¢`ÙYðÔ r-Z˜ÒñéééÅ\K[Cu†Dð­luEE<çùÆìÙý]¯y"ë.ƒ‚&õÔç2 RUQÃâÊŠšè´ê-/;›<™wåtA»éNø š…ÐÚ3w˜É¼Õ¶ï=gMïòž þ[oô†˜Ñe)ƒ‘çÒže;|ãöCçG-{ÿÄ¥ßôŠé_~ž¥aç1‹;©Z‰JZæ}"cúT¼Nw™·«KÙOÇ,éX¾dàõßN›c&”¾¹Qàš˜ÀÒï+—SÛJkÁ±ê6ï·½ÏÆÆü÷ )ýL«ACûöÞý‡tw0á¼SQý·çSj¤$ïpÆW)–ä(ÀžTnŽ´9üJ ‹3ó2­Í­Y5¾/”J˜ÍfõƒBvçvÒ‡UÆÚ´¨T=}¶üµ´ˆ2à“@åä«´°Ô;õŸ…/’Cïsç¶îbHrahJ ¡«GŠrå-P)RÄ4èê²µÍ-¶Ž05%€J²Ù<íJM`*йi:$ËPÌÔv-ma3”¯efÀTU•´F'ÒµPc|Äér)”’“7 Í;X´àè›/ömd–$söu\Ӧݫ|” Ö¾`»¤Rw×`$IKÏÌßrDÌïÌI D©‰YZ6üÄXeAR–”nÆ%Ù ¹``ii¥+¿÷Z¨rÕaÐâ¬×%|{]iÚ+‰}@ضñaâ´›;çÏ ‘ØšÛŒirOß\W~«Úâz슚€N›>ߊ—Ÿ¾B\+r q4Àðu8~¯ËƈVŸÐ èÒRê/¿j~qŒzM\²5æø¥k7o\8~pó’ɾmLXüª__Tùd¡úwŸ®2wø¾Ù -Q2|O) 7\Í)V¤%gD? œ:è]˜™>I"¦Uÿ<“۔Ǩü=]’’2;6õRžR¢¤Õ3d•’ ÓoÌZf¬(Ê“)_>KÝ”ÎõsЮ|œK©(‹mÀ%@%¿/ó®„+ [SËŒ´­ÿHŠdòû·Ó.KhÂÈμCQúêûÅYReÊËÌE»äÓ­ü'!ïz®Šf.ŠflšÓ‹,ƶT”¯±-5‹jÂXU¦Þ¨-€ÌñiÜʬQVÚoÏ$B¹âÉý×ÿ–²Ù,R‹$Lš5gV¼ñ²°®SýËwFLa¯ÜÝ÷bƇ9gnŠØ?£¨àUüŽY£¦ïz­$(ñ•¨uç’òóS®ÿ¶ì€Èu¨K ¯‡´ß"ÿxœ[Rxzmô_}ý›Èﮜ25ê\²P*WPúy…*I²D¦`™{Ö\Ü¾ê´ ¡Û¦O»Â+´/½ *|wòrB1~vü}æBè²c"ºÊ÷tå½ß¬Bè3?ÿB¨' €ÔßM¼ïù6·C#2bß#ɇ*¾ÿ@ËÀ´;=ïפ޶‹Ë7³šr Ò½^–a±ÓŠW¢hHÈJ*¾´U“)éÉë~ÿk)E™õoØ” @WZKã ú)VÅ%^Pò ô{õjЀ„Š}c3&!qþÆlŽ.ßÙÑ"Ø.eËá”ÎÁ쩈¸ô¤ÿiNûö–þÆâX@òæôWDŸO}Q|O·¦Ó³@!:{!ùNÛ6ΦڌEµ÷dhùŠáE=%S[²òò9ú mQ3Å"˜ª*dèáZ8Ÿ9>6ὕ+.>pB¥kb4²o£¶\¨ø,"©åëcul×ëí©z3-k©å¾à6°¨v¥¨Rw¿% ñ Êùå—FåÓÆ-»OŽž#РeÕ·½Zïùy<;÷ñ+zsÈÞK#sŽü®×ò"톂þKVþF›Ó04äÁ¢C½¨8Æ-|¦FLl¡Uéó¹\ gGÞâqýÄ/uª¹8ª~À“ÐkçßuùAçþítK_’§½Ñ?Æ¥™·55G¡¦§ÙÑe•ç´ú Oºtj¤âr L=ú’6 DEB¨u Rú_é+ð!®)=áòòŰK:kFY5f} …WÞhu¶çi€¢dͶD±_Û‘ªi°½Ÿ[è>“°€(þû>«¶í ¶ýÔO2ß]Üo;âEßâ‡þõ\HEÂAÓ•’²?iS„¾ÐD„ ‚   ôO KsõôÈ—{Ê›—ì>™‘7¸Ùs"åYfœBw~ÞÃ^´\˜›xzË%®÷†–˜‚ü«,„®‘‚¨OÓMStåt„OÄ ô¥ì ÊҌҴƒ’’ HõÕ¦­>%Sö÷ˆcj¹¨‹lùŸ¶Ë =#ý¡ýl]´qh`Øk'ù;jÔ´VƒŽi‰O «ó6§æ™j)H¥ ÖhŠ]%¡h€²35¡úžƒ¨g;ÈÒ¹Ò„EIIdé+åiJù"!ôáæB ü¢ø²DEѪŠ?KªìR<5ƒÐ—„”¥eùÁ"iŠ,õ|Hé| ]é„ú€YHÙg`*§ JªìOºôûò ¨4}‚ª¯)”OlÐåÓ,X4° ‚¦iš$h €T‚æK¿@!ô©³òÛ›ª§9Ôy†zDAÑB)u>Iò2_Q"ÇO>#ôåÓÓ"›5àxØiëqI(½^•VŸŽ¡¡t:ó„ÐûÿT».D=«AÑ@AéU J­ h… ò%ª­w‹ºÙqZ›ø`X„¾R¸ŸCßLSŒwÒ×å²8,à›Uv¥$—† „>`Rv]ªz DIÑ ((Z®¢>.ioF:[±Ùl6g„ú Ð4­T*O$*DJÂç>—EpH‚Ã6I°ÔŸ)»Ž!„Þƒ¦OêÒe¹P4­¢@EÁó\ù¨6:\.—Åba‚ÐW’…$élîŠ=íø*XMÑMMÀ—ûY]„Ð'B2¥ ê­TMDhŠ]S„¾A°X,K}v¡”RQtµÛ~B!ôÁ³¨x‚]å‘ÒM¦ }m‰ˆú·¾üÃùŒBèf!tå*nÖ^ž… „¾Zå7P®xŒT¥mBýÛ,¤šò{§Òe÷A}ÅYHém Õ÷3D¡˜…Ðåww›y2d†¡/]~ƒBLDB1 ©´É<Œ­BèSg!êm^‡†ÂMBè¿ÈBʃB_w‚BŸ$ ÁÍ Bèßç%²ÇË{ çñGsÔOž¢ ÎNtü×'È5,"Oúµ¿@à<å‚°Ž›!Zòtý@'Ϲçó*n%ýgÃ@gŸÐ«…u~Þ•rŒKïÕO’vz}/ejé7•©2ö ó˜zµä£Túh©ŸÔ3Ù§è<ªèvôX_W÷©qByò–^³oŠ?Óaö±Ã.¾ÚcÀ†òU¾â=Â[ÛH(ŸŒUÑõž{Ò”†Áµß'!„>ÎîãÍ£ûo€úkßÙt%€ôÕD ø- ¹r QÒ½tëo›ðëxg"B»UðOAÆ—–E]+P'ò—1?í,ôY4³³a7p‹Ëaqxì¯çvHŠ´«RÚG_çeÀ6í:m^€=GìGÁúœÃ[iüWc³„ÐGš*½¸ñØ/K–(²ÿú[`×ÙN›*züçòïG÷õt8{˜±ájޝ·î6ÿ>òkPèí⢧‡#&êæ"pr÷Ÿ}1C {²ÂW  ;¡*[‘v«àŸFž[²æVÊô#K7gv]0«‹1 ª¼Û[C†øt8{öŸ²:.]NƒƒÖ&HßÖ.æ†×Œ¥©QLa¯|Œÿ}·Ñ;DMôï"èä0wçC!õŽå«W"~¶c¼W¯…g³”šgˆýönP•…—¡#䪜+k¦öu®~¢.娪æš0Ìn1Yúêä/Á~ÎÞCæîyRRuIU•a ¨Ò§bæä7gï¶¹C|:9{„¾·fBwÀ}pèÉ f!¡Ï‹ìõÍh¹Ni‡>“PÅ 7S:·`=X=&èçw”­üwkªJ‰ß6wñ™¬ûŒfÐlÚæ]Óy»ÆZû„ßið0‹¬{»çþïPš¨’ŒlޱY÷v X«ÒnüSþÉŸÖßI:±>Ùås–Py–ütÁrÒ¯'âÎîïürëʳoŒ]ú·^:ÿZªì«G_5Ø£1‡ÞX6mMº{xlÜù}s[?X6mõqÅ‹c3bÚþfVÃ~‹ ðk­¹*ãð¼9G ‚7:»w‘{æ†UÄÛ«Ê=¿éV«ùûΞݬwaÕæ§ý£× µ2°épdWýòƒ`EJÌìùç­¦l?svÇ”'ÖÞ{Û,=•}6ú„Ñèå†wßÖ.Ɔ3Ä-‡blcØ«UFôdý.ùàÕG/ ïš³ùû¥W UïR>Ð’„½³¦Æ˜ÌÚÚÝ‚ ŒÕcŒýön­6=X­#þ߈=½éä…›†‡Zû@\u$0Ö„¡;˜ª!ùgËÌðk§n?{~Ï­îïz$ªR1–eµaPÞ§Cxç˜RÎ¥Ã%ƒ6?½=HûÌ’IÛxSvž9ók qnÓÁä÷=¥…YBè£P½yôW@“®žZAþ™}徊O¤€ßª­ôàÒ=¯¡ÙôÛ—Í™óóº…HP$ÿ­äéÈSÞX»»µÒº½fG˜ ÛðëO!!a¡ƒýìJ²H“n‘GÏžÜ1©yÕníVcÂGóMóãßæÎõn@¨²/îÔpììÁmÍôŒ›úNŸÑ>óÐQ [K¶¾¹‰Ví“Ò\ûQ“zØò¹FÍÝÝ­ybaà»û=[˜éòx|=mB\ ¦M:ökUwþµTY—¦6ìeÉ¢ ãw\Ò>o¤ÀRßÐÖsò\å哉Îü×ZsÅë“ûšOѳ™‰±­Û˜ð¥3Ü Aɸ” €f50Þ×NG˸•·W#ÅãÑ´üåÑØ‡éÓºÛë[u ú®‡ë-‘ «€…“};4aßûý­íÒÐp†¸I™E3†½úžŒï6cŠw#k×±óéÄï½-Ô‡òiiÒ9ãV=ëºÀÏŠ ÀÔ­¦øPïЭ A²9¤B˜•%¤Œ£ÆÎqàU]„©&ªš½ÁäÇ:^Ð1d¦_3c}‹Ãf·f½}t—õ©­*>†y ñZ.0á6íìÒïØÞHÛ¤‡sy>C¥ê†ÛJ„ÐÇ8S’pã5€¹ µiÃNQ¡—w6Î-ppÒº½ç5ŽAþM¸@+$R À¸±1G–r;‰~Ë%÷–= röuÙ[V¢®‘ÎÛ6¢Ú­FÏóûcò³àï}ÌJ¯TEYÅ\K[CõbßÊVW”Q¤¬ZOê]ZEpL±’$Ô+SÏE‡žzšGZÛèÑÆû·ŽØ|1mŒöÍã™mF»›’ fäIS¶÷ا®J&b»–hØtk¬yYî¥,L-æ7nÈW—ŵvïm ÿGS{9F6Æê­=¡ùÐSY˜R¬Óز¬ÌML8)5ºµ<\×ÔÞ„ ¨­]Ì §âÆØ(P2„½úžÌÈ΂§þ×¢…)ŸUB+³ëV¾@‘sùF›WÖá-'Òœ±™»•1>ïÔ­ ¡ã<ã˜=»¿ë5OdÝePЄ žúUlÆVsÀ0UCX(“|c]z‰׬™÷âÛ‡wiŸÊ5þâZzZ$I°uøeMù7×”`‚úd¯o&(×ÂÙšKêtê¦}çÒ–`íÜT•’@r8, Åÿü¹û)À7¾næðæò£|€6.M8¿ò É¸5?v5"h¥¤D¢d4i£ýÖUr Œù\Ýò\…¥o®+¿õZ¨rÕaÐâ¬×%|{=6ÐTéÞT‘—R |—4¤Úó<©ü¸E³ö›‡mÞíшOŠoÎî @9÷oýË–sw¸—s¿Ôш=3C~Ë1¿0'€¥&fiÙð™W£¹æeoÐ3ç‹fKhÐ&dɇ·]³ l¤q©ºì(Xzü’Ä, íÀ#äo^å+Ês†p•&¬ÚÚÅø†F²¸Ù5âÆfjÔCØk$PIYRº—Pd'ä‚AùåEu,߀c>ËürÆà¥+ÎxE÷2¦neŒë]ºµfGP¢´Wû€°mãÃÄi7wΟ"±94·u­¬fß1TÃ\¼]W˜˜&VFž›˜[ÛY“²>­mø}HxF!ô(s>ÈhÒÙž@} Ô‡~­m·kB‚òføôE+—Ï;î·—`7jþÀFliÊBòâ~š^û¶/íúãܹƒkfO˜2cãŽWþφѾÝýg}S§ –¹g€CÚo‘<Î-)H<½6ú/‹¾þöÚ|žðá¹›)"YÞý=›®Qÿ¦¡´Bªâèèr yÎí=[o¥b9 @: h“½7rgžóêù‘ÎÜ37E쿟QTð*~ǬQÓw½VÖØ¹*%2•¦šW:FæÚú °y²nÝ™äBqÞ£˜_¢¿âð¸ŒKiÕµ)Zö}ûY=\»þ\²°8óö®uç U@Ö®ZÛÅü¦¸±™U§%¾µî\R~~Êõß–¹íh |‡ò ®ŽIšzÏžÖü~Tôµб[¹Lñ!MêÔ­ß]9ejÔ¹d¡T®€Å&«ŒM êÐ ìfý{›Ü^uâynaƽ=‘{RUu«ëß ¤‘…¸ EÕ:/ð–}³úó1Ž­ŒH¾Ãà^fö®vºVþ?GŒrn¨zr:æôsŽóù¿ÿ6­­K'%—N:=OÇiÖªï»Ù+ïÙ¹ûb^óáá{×°ãªò\{’›¯°°Ö«ÛË¢÷ÒÈ@ˆý®—G÷±›2½—¬ý —eÑsVPãk xö·M0±-ÿßlB=æLnzef7ïþ³Žižâ¦Ü?kù †‚í쮃Úê–½Õ+4*ˆwü‡^ÝÃ.šMŽž#ЩR×ÂÙ‘wb\¿wÄŒ5¯2ñcù³OÖ¦1>î=¿;n4~ÅÌö|¨u©·ãÚŒ\ì–¼j„wÏñÛ$~ƒlµYl’][¸jmÓôãöÄœ¡QuJ ¬úö¢÷OëÝ}ТK¦ãW.ô0iðå³úÿ/Øìâ/jÉŸÚ»õ­ãÇÜ74Ä9aÅPowŸÀ°«6S#&¶Ðª<¤šX]zA«iðªP·´ Á¾ÝGD«¶í ¶å`|êŸ:P@8=‚N}à¦àK'z¸54üೊ'ŸÜ~FÚÖÛž‡QÁø|TìÚ6;_¡¯; Á­ÁŽûMвiYa3{n*!õl\‚"èb€½ñù²Ò+’ (Ûæà³eBg_Üü~ÝËo6(|ï ðúUk×Uq®Ÿúêmgd HÈ:or𢄾ÌAµ~n!„Þ# !*í”þM@@âF¡¯= Q§ ¥›…jÛ „ú·YHåt„ B½ÅÁ,!Tš…•6„ÐÏBJ/);è! ‚E$2%^‚ÐW'WLéóHI¨?—[¾qLDB< òOäU¤ À"¡Yî_YŠÊ÷A}ñhš¾‘*oeÊUoª$"˜„ „>pRéŒ/@‹l‚èfÏ?üLr!I\$Uaàú¥ªcÿˆn¥É\m´Ùe[R}qjù\¦"¡÷ET›Û(½}*MÓ * Têû¨ªhE ¥Ôù$É‹7r)žšAè+ Í!Z™q=ì´õ¸$‡$Ø,‚M‹ X¤ú‚ S"ÒGK,Ô^ÒRK•±oä°k“¯ï¢[ñsEò–ÀqÏçìTÛ-ºEñß÷YýíŽ=£€§i‰®Ïè½¶ã®îƒFßqlµ«Îg÷JÑcü¹2u׈ϹþÕYõ_k€†òÛÐ$4,‚¦I y¬~­tT”ŽŠ¢©²{½—ç.˜˜ TH*åêÓ.$,’`‘À&6 ,’PO„e§c*n*ôîX¦]§ÍkoÏÅÀ#„YH­A]º¡H€&‚ h’&TP¤:š&hZý?B¨^'"å7$+ûd\éeaDi ¢¾J(»•»ÆÓ1Š×»§Ì8”Sã­Þ¿È €–¥œõûÙ§¹œoüBV,èc‘}ãò'!]œL‰œ+ë\yðVº˜kÖaÐÜ%ßy˜±j˜}i帘£rµl݆Í]8ÆY÷å†À© -qäÈ“7ôê‡Ã?5<4þñÐIún9ù “lÚkÖòù½q¤¯NE‡¯;öè ÏÎ#À§¤Ú#a)QÂá•?ÿvöqŽÊ´mŸ) ¿ïm§]¹Q*Æê1,EÝø¾ß¯ßNkw}ë¡{9Zöî£æ/Ñ΀¥œY³dÃñ¿2D„®ÛÈ…ac¾å§ï55iäâ÷õw^¿­ïË_«¼a¤ñÑJÑ ðj®«ìy)âû?öûZvøGG>€âÕ¶a£®<¸Åß –ŽêuRq|CDYrAM“@4°š¢ š€¢¡|.!TßçCÊ~ñ«~DŽ’¬˜ )½qÙ[ÊáØŒØ°æuÅ E~ÔóÁ ^ÆÎ›¼fk_Ÿ&¥ï-¾z„7cÓIo“¬ã¡Ó~ZÛÕù'Çjgi¤)1G;-_b%ëéž…sfÿØøÏ;æ5«rÏoºµ0zßLÃä?LYµ¹×þÖ™á×Ú/ÚÙEÿÕŸaß­YyWÊA„7–M[“»æÙ½­sL[m}pÞ·üòÖ1VÇ´Ô4Ñ“õ»Z.]}t9çÙž…s¿_jóç²ÖñK~º`¹à×%nf%vÌúaåÙ^;ûPÙg£OÎ\á¨wua7TŽ%¼^s]³¨kÇoÑ«,:ýBâØN[‘vþdvË`ט‚ zž…4]ú:Qù, 銄¦h3„¾”«¯¾{aå{§V>ƒS;®ý¨I=lùlhîînµå–XeYÉæŠ7YYBª©C`ôQ_¿æóÁX:^!“=mõpûÃà“ccnÎc^Íj<`¼¯Zy{5ÚrY$N8s¼ ã¼™~Í 06{øáá+%!…ñ;.éß9R`Éðœ<×çÌ¢“‰3¿m[^¦ê1/5ÞH¾ÛŒ)ÞMô p;oЩñ{o ׺…Ç:Z4àXÉ×Ó&Äbp€"¬NöµåÐ ÓðØŽÕß`XK §*ý1¿eo'åg’¤íšgœ;•×vR'cLBÐ0R3¡Õ׉Ðê9u ¢>ƒ×Ç#ôÅå"D•ûVýóÝS‚cÒØˆ­žg©v DçùÆìÙý]¯y"ë.ƒ‚&õÔ¯~µÛÄÞ\K½×¢…ÿFTå¼ ]ñ/Ž‘±z³Fªâ,‰Á7Ö¥“\³ffÜJYˆJ˜‘'MÙÜcŸzß­’‰Ø®%ªZªGhZŠmdgÁ+¯§)ŸUB+³ÏE‡žzšGZÛè•m0 ®©½ R™Êô†ºÖP§Uo|ÙÙäɼ+§ ÚMw2Â$} YHy2RšˆA”]44 tÙŒ,^‚Ж‚”TN8ˆÒÿÞëÓ¹ŸÀœJ”š˜¥eï¥z³Í—JŒU$eIÕkRd'ä‚AùåE³ö›‡mÞíшOŠoÎîY^M’*?NÃÞ^CYRyҦϷâ姯׊Cñ¯¨¾!5g [R½1"Jož¨¾Qé­DÈŠ/~á~Õï*¿Å„úrTõ=Ê€$Bý(;¨œ”ÔJ)‘Õ~o¡â»+§L:—,”ÊU@°Ø$CªriÕ†¸äüü”k[~Ž•zŽt6Ö1á ž»™"’åÝß³éz¥¡x^Óþ½Mn¯Œ:ñ<·0ãÞžÈ=©ªJ5';sÎܱÿ~FQÁ«ø³FMßõZIÔR=KQâ+QëÎ%åç§\ÿmÙ‘ëÐŽJ©Š£g Ë%ä9·÷l½!”ŠåUoŽ Ðôuôj­!¡Û¦O»Â+´×Wÿ€*|wòrB1…»8T¿çBÊNÍA—n}èÊS$¡/vJ¤üJ¿ìu¿k;×ÂÙ‘·x\?ñÆÃá ßv dîò`ÑŠ¡Þ Tã>S#&¶¨q ݶ3T»¦öžW ÓÌkZôœNúlè9+èÒ¢ó9ž4±íêÇV Õ4xU¨ðÇuÁ¾áZv#gôÉ<\yõÆ^¡Q9¿üòÃÀ¨|Ú¸e÷ÉÑs:µVÐbZêhYõíEïŸÖ{~ÏÎ}üÊ…&úÒ9“/üofŽiÓÎCGNq‹Z7kyçU6ë÷`xC×Ê£·Ô‰i]i•:J¯Öåû·+»‹<íxDèþ1.Íôð£ÐèsßÒÔýŽìt•¿B_cF‚4Åßg•ö½Á¶œO¼fñÝÅý±#þXô-»}as!56DU6E˜ ôE'èsGË…¹‰§·\âzoh‰)ú³ÜN!„ÐgEòwÔ¨i7¬-Ó’‡Ñ@õò€Ÿ‘‹B¡ÿ~¶!„B˜… „B³„B!ÌBB!„YB!„f!!„Â,!„j óO»ôŠþGTÑíè±¾®îSã„ðÆâû¡=lx!ÿ)º>Ã3pOšòËYQm¤–úùG=“€*cß0©WKþ³º|à={PötÝŒõÏdÿQUÉ[z;)Æ,!ô•P¤]½Ò>òø:/|ä+B²Äó -|ìµþ£Õ³L»N›`ÿÙΞý§¬ŽK—kZiÕž«¾”üõî)3ådì78쮀–¥œåç&pò \|,UÎÜ@eê®aþa§ýè3hm‚¼ž†òß­¥ g[û4á2ö‹¦XU}]ÊPsgÄEMôwwrö²q÷¾#÷¤‰™‰*ÿúÆå1Iòº”ùIÐ!ôÁQy'Çtò[õLFÓ´ôId¿¥%ÕÞRr}¦‹£óÀeç’ó S¯¯ÝÙsÎ¥eî‰ñ®=BO<Ëæ%]^ÙÏexl¦J™ÜÅ/ôÄó7y/¯nãÖ-있Ý[Ô½ÿúç…ÏwOòì9ïxºŒ¦iZÅ´¸üõ®á{ÿx*1O˜~cý(GÇà3ªÂk ºu°õN†°àe\ä`ße÷E«!]½Bþx’]˜õp÷„.^ ÖYòtMߎ½ž'̼·}¢›£ãÝ©2¦¢Š[ÇôNEúÞ¡NÎ}M*‘æ=Ú9ÞÍká]㊕j"{±¾÷¥õ“%ý: Ûÿn‹C*Ï:2±‹×Ì}³‹òNüØÛeÈÖ$™’i¥•[ªdZŠ–<\âÛgåS)MÓÊô½ŽŽÝæ)’å?Þ=¾‹Ïâ{bƨÊSv8»t»úä½Ä\U¯€Š¹zïЃ⇑ÓMiˆ°BC¬*¿ž}µfÍe‰[»ô =öÏ›J«1 ù«mƒ½fÝÕ^&õI68‚úï&cùn3¦x712°v;oNüÞÛB}·ðØÝÿëÙÂL—Çãëiâ±ôõÉ} ͧÎèÙÌÄØÖmLøÒî†@-M:0gܪgBøYqƒš‹K^Mq˜>­»½±¾U§ ïz°¨‚ø—t‡Ï)°Ô7´õœ<×Gyùd¢‚Í!¬,!eì}4vŽCÕ§³H/è2Ó¯™±¾E‡a³‡[³¨B¦¢d ­»õê:ó;iVãã}ít´Œ[y{5R¼‰™Vô~!½‘·ÿQñ³·5Ó3nê;}FûÌCG“™VZy~A•}‘a©êÓ%\ûQ“zØò¹FÍÝÝ­yb…¦PP„UÀÂɾìp‰ú<ËWÁ;ô øŸÓ¯ÛyÛp5GXS¬Ê^o¾÷{š?þûÏ?sœB¾ïÕÜä]Ì[ËLü4W®°q;ˆú¯°ì,xêM-×¢…)ŸUB+³ÏE‡žzšGZÛèÑ€²0µ˜ß¸!_}Ðĵvïm bEÎåm\Y‡·œHs lÄ HejÍÅSŠu[–-Þ ‰ 'TÂŒ‘l=s¾øa¶„m@–|xÛ5Ë€‹€ˆðYæ—3/]qÆ+º—äÇÕ\œ¥gÁ/IÌ’Ð<@þæU¾€¥gfÈo9"æ÷æ$P¢ÔÄ,­FtÚ ‰}@ضñaâ´›;çÏ ‘ØšÛºâ2B–AC]abšX]eynb®\CQ6üÄØ­³°°dz§ò5AV9îe\CîQº_Qä¥(5„ÔÒÒJW~ïµPåªÃ ÅY¯Køöz¥¹ƒÆ«…Yúæºò[5—RT݉U Ð YRYšRßÅT~Y~R‡?=Ñah#Î[" šbUö:cÍÍ‹åV¬îMâÅ[IÝÊ´áš QÜ"„þ+”øJÔºsIùù)×[v@ä:´£Rªâèèr yÎí=[o¥b9ÛÖo€Í“uëÎ$ŠóÅüuø‡GÁÕÑ"ISïÙӚߊ¾V@­¨¹8×¾o?«‡kןKgÞÞµî|¡ €4é<Ì9sSÄþûE¯âwÌ5}×kEÉÝ•S¦FKJå* X쪛H^Óþ½Mn¯Œ:ñ<·0ãÞžÈ=©*Hc†¢”Cë:Ù»1¿³ÆUÝáóMx‡çn¦ˆdy÷÷lº^v½f•º´ð pHû-òǹ%‰§×FÿeÑ׿Öh°Ì=–â(%2MÉCñ¥ Æò/ãdìAÑãÓYkN-®e¯Ídvó~= n–­nïŠ])Ê· ’ßq˜… „¾ZV}{Ñû§õî>hÑ%Óñ+z˜4ð˜3¹é•™=ܼûÏ:¦=xŠ›rÿ¬åOÌ#öÉÚ4ÆÇ½çwÇÆ¯˜Ù¾òa»¡ÿÿ‚Í.þ²ñ¾Øˆiñ§–##»%¯áÝsü6‰ß [m›$½B£‚xÇèÕ-0ì¢Ùäè9}sßÐç„C½Ý}îÚL˜Ø¢êîZ«iðªP·´ Á¾ÝGDãìQÖ“¬÷êMAÖn3)êÎ/׎ñí>"â™ ¨¡yüûŽû€š¦qSˆúôDñß÷Yå°mo°-çã®Hžqý|bC.¶|@úwÄ€Y¢%GÂ;h­ûÏWŠà3 íõ½×vܵ{¸õçÕÎ… „¾ø|çáÖÐðƒÏJ(Jœ|rûi[o{FúàÕ©¡/÷› eÓ²ÂföÜTBêÙ¸EþÐoâŠ}ðŒ B!„þxF!„B˜… „B³„B!ÌBB!„YB!„f!¡¯"yË@¯Ù7ÅTÑíè±¾®îSã„òòß‹2uW ×wñ¢OXùÏŠôÑR?ÿ¨g2Peìæ1õjÉ—5TþuXj%ŠÿÞ+`gŠòã×°¶Z•æwÕ¢ë3<÷¤)ßµÚnäàýBBõË´ë´yíí¹Š´«RÚGÿÙUŸ..{±¾Ta´ëíx¨¨¶òƒ•‰s!¡@•seÍÔ¾îÀÕoBÔ¥•ú¨±ÛèG¢&úwtò ˜»ó¡J”ðgxŸ›@àâüó±d Ê7·6Ïäå,pí1|Á¾ÇE€*ÿúÆå1IâÌC3§íË,87{ÈœËEJõ‹ræEªÈe]Y=ÉßÝ©S÷QáöMôw¶°âvI´,åôŠ þ]g![ÿ*¢@•±od¯'EŒóï*pòvΞý§¬ŽK—k\E-`l—2u×0ÿ°S‡~ ô´6AZK ÌA`¨a•h3ôà[GBõ°0E z½²/­׫³ÀÙkPÈo·óUï8jÖ°f„«ÕŠyÔÄT Zúêä/Á~ÎÞCæîyRRuIeÊïC\GÄfRò¤Mý‚a1*Eò–®£>»ºqyL’¨.#§Îh„úЊ®†tõ ùãIvaÖÃݺx-¼+¢é’ë3].;—œ_˜z}ýèΞs.( ¯-èÖuÂÖ;‚—q‘ƒ]|—Ý)Òcƒ»ø…žxþ&ïåÕMcܺ…ÝÑòWÛ{ͺ!¢ié“È>~KJhºâE%Ó"•É_ïÞ¹÷§ó„é7Örqt >S OÙà9ãz ­Ê=1ÞµGè‰gÙ¼¤Ë+û¹ ÍT)Ó÷urî³àhR‰4ïÑÎñn^ ïŠW¤bjUyíõÜ;ÔQ0xõ­7’‚Ç¿vvtþë_ùâ7w×îÔgõ?2æš0Vžq¥B¦Èk$y¸Ä·ÏʧRš¦•é{»Í?þR$˼{|ŸÅ÷Äʬ#»xÍÜ÷0»(/áĽ]†lM’1vn­`l—"eg€³K÷±«OÞKÌξZK ™‚ `ªa•h×èAÆr(Maa*¿ò{K®ÏtqtqáeAaÊõõ£\»Ì8“«x§ñP£†Œ®\+Áôœq½„.ÿ†±SÄO×ôíØkññçyÂÌ{Û'º9:Ùª¨¨šìùZÿ.S.PªìÃc\]¦\(¤TÙ‡F¹Þ™”Xö;XÛÈ©û¶çBBÉæ aV–2vŒ>;ÇAýÜ’ï6cŠw#k×±óéÄï½õêúŽKºÃçXêÚzNžë£¼|òYÂÉ} ͧÎèÙÌÄØÖmLøÒî†ðö»<+^ײˆüåÑØ‡éÓºÛë[u ú®‡«òò„[xìîÿõla¦Ëãñõ´ qX4«ñ€ñ¾v:ZÆ­¼½)ÞˆdL+¢ ãk¶"QÓ |š×zÔp ϰig—†|ÇàÀöFÚ&m<œÈóÅ*ÆšH˜*O0­T¡!òuµ5©‡-ŸkÔÜÝÝJ‘'–g_Üÿ¨áØÙƒÛšé7õ>£}æ¡£ÉL«¨=š"LV 'ûvh¾÷û[K`ìAc +Š×èAéÛGBµ9½ZË–ŽWÈdO[CƒF®c¬'æÖËëï2ª×"këDMÁ¬6ÂÔ)ÿ>t¼ cÈL¿fÆú†Ín]­ùÜÆîu^\J”ˆ^\Íj6Âßüå•$IÉ?—RÍ=],Øu9ªº:¼.!ôáé8Ï߸0fÏîïzÍYw4!¨§>ØFv<õ#<¸-LéøôôÔQ늆ٛÕl… ÿ½BÇTÆÊ³ôVÚˆN{Q3ò­µê˜†U÷ ,}s]ù­×B•« €g½.áÛëJ:w¶y-ÐáÒýcs*—À¦êUݱÕèÁ·„êãªåƒ"/)KFÛs yöó7„‰µ•å;‡j5dþõi]§áZµ¥ !5o×&¦‰Õ¿…òÜÄÜqð›wkQ¼éôyå0ß¶yc»ÂßΞ•ÑþgǃÜ:Žœw™7Åí%Bèƒ+¾»rÊÔ¨sÉB©\‹­ÞÖPâ+QëÎ%åç§\ÿmÙ‘ëÐNönÜ37E쿟QTð*~ǬQÓw½&›ø °y²nÝ™äBqÞ£˜_¢¿âðÞ¾±âÚÖ²ˆ–}ß~V×®?—,,μ½kÝùÂ*‡¦´Bªâèèr yÎí=[o¥b9]ç±;×l…òý¶ËL5á2Už4aX©¢„1òTᓸ“—/aTJdšŽÒYæži¿Eþñ8·¤ ñôÚè¿,úú7‘3¬‚¬5µE¸Ö{±†oÿèI-#¡jXêT>%º´jC\r~~ʵ-?ÇJ=Gv²sûWãAÓ¯OygÕm¸2†”ݬo“Û+£N<Ï-̸·'rOªªzÅ}‡îMRȰël£­×²«eòÞC¹­º5Ó®ûÈÁ,!ô_"Í}CCœV õv÷ »j35bb --«¾½èýÓzw´è’éø• =ŒYÆ^¡QA¼ã? ôêvÑlrôÇ60ògŸ¬Mc|Ü{~wÜhüŠ™ík›X¨u®ÝÈÈÅnÉ«Fx÷¿Mâ7ÈV›Å.?%=æLnzef7ïþ³Žižâ¦Ü?kùI]WD2µâýBÇX“§– •gZ©>säåiÇ#B£ÎfUÿ|%×ÂÙ‘wb\¿w˜ï\Á²è½42b¿ëåÑ}ì¦Lï%«F£Í¸ŠÚ"P{„k!c²jX˨·Ž„êaaÕ¡|ݶ3T»¦öî>äÇxëiÑs:éÿ»ñ á×§¢VÒ:WÆjh5 ^ê–¶!Ø·ûˆˆgÎ3úÔ<ÏBwð¶hÜ¥™.&í]ÌÕªGk]âFNÝ4Mã&!ô ˆâ¿ï³ÊaÛÞ`[ΰvyÆõó‰ =ºØò éßf‰– ï ]/B÷ï+¯x¹÷çÛn ×ßÓðªëõ§ß+XIDATHøY0¡¯# z¸54üೊ'ŸÜ~FÚÖÛž÷µT^™uõ¼Ô˳!{°¾„/Î… „>ÕNä? ZœðÇ/a›ã^•z6.Ãçü0¢ƒQ½9«×•ÿÜ‚€ÁÄ,!„Bó?„Ba‚B!ÌBB!„0 A!„f!!„B˜… „B³„ªAúh©ŸÔ3¨2ö ó˜zµäC¯‚*º=Ö×Õ}jœï7ðÞÉ[z;)®Òe}2øL]„P=ݦ]½Ò>òøÏ®úFã}±L»N›×Þž  Ä` ÿÎ… „>x~ðz÷”‡r2öŽvW @ËRN„òs8y.>–*J”ðgxŸ›@àâüó±d ªŒ}#ýæìÝ6wˆO'g¯€ÐÃ÷ãÖLèã.¸=™QåùëªÌC3§íË,87{ÈœËEŠÔ]ÃüÃNú1ÐgÐÚqÞí­!C|: œ=ûOY—.§’¡ö7Ë7 è±ðžú1^òäͻϿ#VV®Ãó¢”Ó+&øwuœ=†lý«ˆUƾ‘½œ<1ο«ÀÉshØñT9¨jÖ¶²*Å&HkMÿ}·Ñ;DMôï"èä0wçC!¥¡XUΕ5Sûº W¿ Q—rT Ê¿¾qyL’¨Z—1,^©&~c†yt_\Å«mƒÝÇÍ¡pà#ÌBBŸŽÍˆ kú›Y û-6LÀZôà÷GŽáãÎí§qÍÖÇJxcÙ´5éîá±qç÷Ímý`Ù´ÕÄ4€*çÒá’AŸÞ¤}fɤm¼);Ïœù58·é`²¼ò!¼eÿèuC­Ìl:ÙUŸ ²ÏFŸ0½zá`xלÍß/½Z¨`*¶øFDèÞèM'/œØ4œ8üÓÚb ]¦©Ve5Yûã´.pûô (ÒΟÌn9еîMf!¡Ï×~Ô¤¶|®Qsww+EžXQ¿ã’îðy#–ú†¶ž“çú(/ŸL”м֣† Lx†M;»4ä;¶7Ò6iãáÜ@ž/V½m a°p²o[U|Ì£†cgnk¦gÜÔwúŒö™‡Ž&¿kÉïW²:Ø›šv Ýý¿ž-Ìty<¾ž6!.«€f50Þ×NG˸•·W#Å‘"ûâþšµ•3Û„}ïwÆ ‘|·S¼›X»Ž7H'~ï„8†bl©fe )c‡À裱s4<ÃM¥©Vå lÜ®“2þL’©çNåµÔÉw&è½àu!¡Žà˜46b$I€J˜‘'MÙÜcŸz祒‰Ø®%* µô´H ’`ëðÕ›(‚¬õÊ‚kjoÂes-m YêWùV¶º¢Œ"å»–üo¦©êu‚T¦ž‹=õ40´¶Ñ-¢Ë–ãÙ—• ÒT[.CÓš‚Æ6²³à©WÁµhaJǧ§§3Ësž¿qaÌžÝßõš'²î2(hBPO}.c¢©Vå V½òeg“'ó®œ.h7Ý Ÿ‡0 A}¾iQuÿÍÒ33ä·óûs(Qjb–– _ùú_¬Bß°ôÍuå·^ U®:,Zœõº„o¯÷á·t4Uš|(òR ”Uë@åÇ-šµßߊ—Ÿ¾B\+r q4ÀëƒÑ{Âü!ô‘(%2Mg/HãÎÜ37E쿟QTð*~ǬQÓw½V~ˆ]ËÜ3À!í·È?ç–$ž^ý—E_{­Ú0ß„'|xîfŠH–wϦëEÕ/̤RGÏ@—KÈsnïÙzC(Ëéº×–ûŽA£ÄW¢ÖKÊÏO¹þÛ²"ס.-¼jÛD~w唩Qç’…R¹ ›dԊÐmÓ§]á„ÎÚ—~H‰*|wòrB1^§Š0 Aý§¸Î޼ãú-¸#Ö°Gõ âÿa W·À°‹f“£çt>LŠ`Ñ{id Ä~×Ë£ûØM™ÞKVþ†ûaDzè9+¨ñµ<{ŽÛ¦ ˜Ø–_½qs&7½2³‡›wÿYÇ´OqSüäßÖVSд¬úö¢÷OëÝ}ТK¦ãW.ô0æ0«mî✰b¨·»O`ØU›©[h1wY]jEèµóïÀ*ÑîÜ¿néKò´ã¡«ârð3¿¨îšÆûý „P}%Šÿ¾Ï*‡m{ƒm9ŸxÍ⻋û-bGü±è[>v¹„BŸ-æ<=¶å×{@KLAf!!„>ÉßQ£ÆnUøÏÓ’‡Ñ@ÿž‘A!„ÐçBB!„YB!„0 A!„Â,!„B˜… „Ba‚B!ÌBB!„0 A!„f!!„B˜… „B³„B!ÌBB!„YB!„0 A!„Â,!„B˜… „Ba‚B!ÌBB!„0 A!„f!!„B˜… „B³„B!ÌBB!„YB!„0 A!„úÔØ„B}zMÓ„B}zxF!„B˜… „B³„B!ÌBB!„YB!„f!!„Â,!„B³„Ba‚B!„YB!„0 A!„Â,!„B˜… „B³„B¡O…!@!TßÉd²ÔÔT‘H¤T*ëÓ>˜ÍÖ××oذ!—Ë­ùÓ»/ ÿù,¯DJQt½hI–†ü%[µ¶Ö«ã"MÓ8|BÕ_R©ôùóç–––†††Œ»óÏ9yÊËË{óæM«V­Øì*ó7’ ¾ßõ€Ãå²Ùl’¬'.(ŠR(*¥rßTgÛ|ÌBB}ù^¼xaddÔ AƒzZÿôôt¥RiccSùÅž+âÅJàp8õ®92™¬¡‘V̧º¼¯ A!T¿Õßú›˜˜…Âj/æ—H«ÍŽÔ'娎oÆ,!„PýFÓ4‹Åª¿õçñx …¢æëAÔÇæ$©RQ˜… „BèóNY0!„Â,!„B˜… „Ba‚B!ÌBB!„>¼ƒ;B¡¯­È{ræà±ÏS߈hm;Çî¸Ûé|Œ#rUÎ٥˞X6½ ïc·Š4·³˜äÚà[3-=B••‘àRÚ±L%õ~…qtC‚í$‡o̦>A‡`‚Bè+¡Ì¹¼nİþƒ§Yë*sŸ_;t z,šéaZo7B4lßt³·ÖÍ+©óO‰…,­öÖS‡|¿??RXîŽYB¡¯-zòçáä&#ÃǺ‘ ÌLéÜ5w¾qó6λóÇî#7^¼‘‚¶¹C÷‘A¾Mµó.üùÒÛ_çÊñ›‰ù¤u§!G¸˜±UÂg§ví{’%ÓmômÏáüšð  ¥©×böœ¸û²€2´sé;j°‹å§Ù¿Úºè>;ó÷Ïå*YúÅ$¨™§½Ö™$ÃÕƒµÜ‚¡]toÅ>Ù&S»YyZrY%%§¯½ÚøX"Òº¥uˆ[ƒ¶,IoÞyqWÑsp³^z,ÚFÿÏÇ)ßÌ´ÆR^‚Bè« O»óZwï`T±ç#¸Ïñ1gÝÛµó¾qŸY¿¬Z±xL›¬îP *¼wä™ÍˆÐÈȹ¾Ú÷c'˨7×~ÝtMÇ7$"rѨvyGÖǾ-z²gõoÚ [µrQ`“¤=«ÿH”~š‰ž©I;Æ$¨S dÇþ=ëžT ÀÒ3™ÔZ¹ïhâ!±þÌA,_ŽY÷×ø ¢6ÝšM´f‘:F³zg_ÿ'p݃±'…]{òe±± 'Še÷=ŽH¡mƒšK}Øû¹b‚B諘 Qȵè1ž{Ñq[0¼ccC—Ëãs Y±Œ`™»÷îhÉãèÙvè`ªJäÙ·.¤5ê7°£µ¾ž…CÏàqÛêÒTñãÓø>ú57áëZ|ëè¨|x+]ñIZÅÑæòd²B —p ;t&íBªDÕÈÂM–µúnQ¶T™ò"}ís¢s+m®T¸lû“ègâ72J¦PJiÒ ê³ó m-–ú õÇ32!„¾KGŸ#É+QTìk©’¤[wóuê Ÿsïà¶[¯Š=Ssž¸|ƒ¥g^š¶$ª’±–™©–zB€cÚÖÅ@™™W$Ï>1ç‚úeJ!eµ‘RŸ¤UJ©B®¥ePeJ0°2ñÐ_ÌZ)-¢=Ž–‘ÕÚÉæêZ±Ø,åKI ›7ú_+#Z™‘¯Ò«>ËÁ¼Ô‡½‚³„B_-k§o¨m§ïå·èl\º×¦ îÜuÄtFkâàÆ8£Ñ³~k¦EHŸnœS¾YeßÌÒ6æÉóå´½ È¼vò‘‰§•¡Ž–ÏâÜH ¤9éù\ -yú'h”$7ïoÒnhsî_—”!9]›ø;÷Ú4`dê¿<_Û7ÞH®6+3céo>µõö´½ÌOdí‹G¶û†ß]ÏÌ3jÓÐqnL€¸Òét<ÿÏ–°³ïµªª‚.§\.]íläJ¾È€æ B¨*P!T Bh&Y–mÛwþÕjUQ”¹ÇÝÐ˶m·«Ñº BbSUµX,Š;]×À¬ƒ¡åK-Ëq9¦i®Yé§B‹‚¦i¹\®P(÷Ø6M3ŸÏ뺉ÌÞ-þü¾öšaÔj5Þˆ8ŽcFݲ.uoip;¸„gF6›­T*õz] i»Ýî`0¨išÇã™{vüóTßó÷?ÊUQžÔ²,GBþk‡¶nkmtïy*4_d¨*P!T B¨@…P!€  B@sýMóà=ó|ŒaIEND®B`‚murano-9.0.0/doc/source/user/figures/app_filter_example.png0000664000175000017500000026355713656750211024130 0ustar zuulzuul00000000000000‰PNG  IHDR²ÆÞ/CsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{@õþ7ðÏ.»³¬ÎZ»\ 01 O¨XBš·¼äõ——“Úï =?ä÷œóÏsNŠ¿ÄŽ×’¼c"ir*0ELà$P – È®¹c°³—yþØAðZÇP߯ÄÙ™Ù™ïîÎÎ{?ßùŽèêÏWU’/ÿ­ðÈi4´À#KŒ&@,ÄB@,ÄBxTHî}QA A0 BG‡¹£Ýlà½ÞÌë m­fîªI§ã›þe¼¢1¶4µ^£‚B½ÿû/†A£ôw}ƒ Ãå–ŸÖþ•:Ú³™Ì&çÍ×8#wÕÜþ ™ÍÝ2£ÐóyD‚ ˜¼Ÿ÷_õ?kS~¬ååËG…Úú?7<(îºZXµöCãñb™`c#‰Ä‚ÙL"݉ˆH,‰Ä"‘@$‰"IMeå.ö[µ–llÂX¨®×åîz ±æXxÅ$´q¼+ËØÙˆÌ±D$I$R‰X"‘HmllÄ"±XL"±X,‹D"‘X$‹mĤ×öí’ÆL%q¼¬ÑØÒBFƒÄå‰{XÖ’ŒEb\® u,$“±×'ø;9 q~RDb"Á,˜E‚ÈL‚%Y{ŠHdù§37™L&‘X¯AÔÿÚB»~­n÷v»ÿzÿÞb!Àà ³ÙÐÑ!‰®.öN&“‰ÈD"‘È,˜E¢ëYO$‘@]¹P ¡û ý‹ H$t´“X,²µÅÛâ¡Äkš5ü-ç`TN* ‰Ú9ŽZÍ1NnN,ÚîS,‰DD‚@$&’ˆE‘Hl¹¼D"Q×03–¿E"‘`ccäy“ÙÌH$Ön™ Ï;·{÷n“Éôä“ON›6eY"ºråʇ~ªT*8@D/¾øâK/½$î쮩Õjsrr._¾lccóÖ[o¹»»Ñwß}wèС7ß|óÂ… ååå"‘è…^;v¬e3Ç]NYÙñ}9±Qª÷Õ¯Œ²\$yùÏÿ-"Ñ€È(»¸ÿâ ^ùŸÕB{»`6 š2ýñ·ÿØ}kuûö\ýt“‰Ó‰¼và ûòÓ›o˜Z[¯Î–ùøá}ö»Ó'ÍL>n¸Í\Ò‘ÉÛRF©’¯®¹¹™gTNȺ­æÂÔiE—ˆˆ”#W¬IŒtÂ×>܇XH"‘sàˆ/&³‰,FÍf‘XLƒ‰*D,+RÙ‘bH©I$$‘\ýùç¢ô?ó&Ó77—ÇÁFfÛg4<}úôîÝ»{ì1{{ûÚÚÚÿùŸÿY¶l™\.·D<è1}UÅÕ]Ÿ‰d¶Ížoþ•Ëß/ÈÊÿ0Ò¬mÐ}_´Y˜Z[ØW_C&ì/±°¢Öpû¹ µºy,ä+’¦¤*Wm{wØoxÀU¨xþ®¬Q¿Ù||siîºuŸoèÜãÁϾ6kñ‚Èa}=W¸ô´sÝ£ñàg#f-_éÆÜ—½ÐTä®Û[|î’HªôŽ˜µø­QøB¸³ïÑéÖLHDÚã«’ ü³£n%sçÍ+œµ++ü7¬.ò¥ 3\×l[2ìýÔOŠî2 Bó?ËLFƒD,¶‹ÅDb±Ø,el–Å‹ìH$‰Å$w• §+/ÿò ÂÙK—N7_Òé;Lò‘K<ú‰t÷îÝD´xñb[[Û/¾ø¢´´´¬¬,44ÔúF×j'Mšäëë{þüùœœœ}ûöYbáÑ£GõzýܹsÝÝÝÏœ9³k׮ÇOž¨xcò€W",×E:®Î‰mD66ú³§/-_tíð–XÈŸ¯æò÷‹ pÙµ_$• ƒXv½ë)__Ç}±_úÄ“/^†ÃUÿÀ‘tð3þ®·ú€r Z"žèA%ü…ܸeëÎõÈÀ—~øbÕâ²Ò²ãƒûÜåk뺢.§.\½"m%ë½mÛ]<­[ÌšmÑì]þŠS%Wx/ŽÏNvcùæ³S“ç]¾)óößhÀ7”5ôŒ$¥ |4~^½wòIÑ]^[(Ôy·‰3—.ñ&“ÁhtôóJ©õyŸzA°\X(6mÅc¶b±MÑ?ŸgE’O]UUED>>>2™Œˆ^zé¥ÒÒÒòòò®XÈ0Œ¯¯¯ O?ý´ƒƒCkk«Z­vss+--U(–Ž£Ã‡—J¥gΜéZ­J¥zâ‰'A>|ø®]»FDfŽˆÈd""‘DbݱX°¤Y±X$¶¦Ö®°g)ú[¬¿ÆhWg‘]B’e‘¬GÊåv&гÅÑûÿ`ܦÅ/WþÐবÈ/jànxXå¤MNV÷ñ)ýpeFA3£rò ãxRZ^ä³¹ŸThˆ•L|ü4o–šwÌ›Wñ–[iñÙ†Îã­Ä>÷“¢†Kͼ÷‚U)ÑND¤)þ(u]A-ÏÏxG/_¬""24ä§.Ê-Uky§°åÉñ‘n ñêë367CÄúO‹ñ¦ŠŒyIšÅ›ÒÃUÄŸýp^BôìüÙ’oÈ„]Ù° )5h[zømºÈ²n£b‚.;ÛÀ‘Ë«¯NÛXÜ̱˗«ˆøæÃ+×k•SpL„zCþ¨M›¦ñ¹Ë:ëcù Î\©ÃÕ^jÖ0ÁËÓÃø Ÿ¬.bçoL‰±k'ïèÄ5Ò¥3×­+ Kñ?›4eµò­‘ÚÂ.5kTa‰iï«únùžßêŠÒ^//3Ø?x>Žð°Ý öv¢¢Ú뜼ß$òrS“7”r*'Wÿ®Ñš‹?ÊXWP˱®aó—„;1|iÒ”Õì´‘\éµµÍì¨åËŸ­ø$ÿ‡† ‘²j‰?Û×Y KD iË>ŠK.:{éûìÔÄ”þ,W±#uõ޳†ˆñ[ÿî(§æü¥‹vx¯Ú´dC͇ã}êšžýnïsÍÙÒ³½F„`=‚ýïkâ}ÔNŠîz$RÁ:Ö¨¹Y{ÙÖÆ†±±iW_4wtˆån›ìS±fAˆ¤öžáÊ•+Ddooo–†eY™Lf™háââBÖ‹é©§žjmmýù矵Z- 8ðŸÿü§ f³™aƒÁÐÑÑaYÊÒ•ÔrY£L&3D${f¸xÀÀ_Ž]Y·æñÅËè–W<[[t{wòU?tM1_ãøó5b¹\æëß{~ÓåVîË/މ`#¢p°êoÇNF5˜eˆU vµ¦»n©FÛ{®tuF‘rù¶ìp!7n±\-S6p ²wE»1šâÔE ®ÛRFC†s¥lbf–Wš4seRîŠMYÙ*®8aæêg#ÞõÖä'¥¹¥lÊ V‘¦0i^j†÷¶tW"Cm¾fqö®DVSœ:/5£08+’û$yõÙ‘™Û²¼Y^·(i÷¶xÿÅ)a‹’Vû'Þ‘Q4xñ¦>âŠ7|q馻o(Û˜«¿Íï]Ü…‚Å×<Þò`‰?ûÑÊÕµa™Ûx³\Ň‹’<¶eERaêê ï”]ñÁlsaê²Þ}ùæ¾ö1˜Ò–+7ef;‘¦0næºF½Ë”•i]£ÃznjTŒÇªÕE ¼?Cü¥ãgý³³–¨¨9wÞ¬uÓ‚§±}¶|C[óñuÉkoØ­Á¯­Ùô®7~<€‡Œ*lñÔ„֟„=ÞXq“Ò’:7m]mØšÏx3šâŒE†ÁDDêɩǟIÙ”¬â/ìX¶le®Ç¦iN ñ—J›GmÊ\Â6çΛ•–1pMvÖ»ŒzÇÌEЧÝä,Ńˆ×––[³é]7º°cÙâÔ £¶½ëZš‘´ƒ–gîD\iƼ¤Ôa›²¢£.Jû$";¦aõºKéé7Äîlnjrѵž{ }ö~w'zÔNŠîñ&{byÒ)ÄÙñyÕ°¶6†Û\·e&Á$˜k°ìC[[[Wê³0`™ÍfËmºõ;µüÝÒÒb©^677çåå8pà‹/¾ày¾ûœI_¹W,V.‹Ël¯îÝyé?—˜9ÝÍ6[——ÛøæÜç{„ö_DŒÌŒF‰l쩯®°º¼\"ÉpÚñ—Šó‹5ÜÙ‚½å^êc˜R¾¡ø,ï¬""fXXÌ3–©µùÅüV„CDªà©#™Š‚³<‘Ô#|¤±ƒ½Y©k„e¹Á®,w‰#âήU…½á¯²~ÒýélA-ODäãÏ‘*8:˜©=^Ë7—opЉ¶üôæãÁ•ªyb½—$†Õ®NJJ.¼<1òÆÂ_{¼ö– p©ì¬¦ÉÚ/¿6Öêe¹4---Ɖxõáã©–žXÿiÑNµù¾¶¨– Žög‰È)|VÄà 7ÝG©wÌ('""ÖÕ•å.i‰¿ÖÌÓÀÁl¯|®’òŽˆˆèoizRy¸ä´üÍ[¾ÛoPÓV­zõûeØÊ5È„ðá*>ZõÚÔ„2§˜ùó§N:þT¦¾6vÞ‡¥7ˆHs¶¸apX„·å ô‘–ŸÇ›Ë jb¦YÏs"¦z4”5[¿‚#½Y"R¹–*Ÿ ÷`,“VËÑMÎRˆHê?-Ì!b†…E»j8«ák J)xšõ Àÿ0¶öðYŽÈ):~±² -)iÝ¥ˆä½¾£ÙQñÙ+Fö¨#=3MúýÈ„òI‘äÞšL A«çå ‰ÌfAD}–Û“ÉòG»Ñ(‰LfºÛ[Tˆûº;¼% vE¾aÆEEE™:ŸKÛÛÝdbà+‘²á¾­ÿû=}eEkŸ?Ìõ §Êµk2%ƒÿö‘ÄqpóÂÙ|í…Ûn°ˆaÄ=ÎÊW¼1Y:tŽYý ã1m¹+«b'{÷Ž€¬ŠŠúÈ…ZŽQ±Ö˲R""^£1\;—0e¢e:Ï_#oÎr–ìü 1ÄX:V3ý«9í5ãÔ¹2¨d®Õr<I¯d Í<Ç©9¨d¯ˆ×^#"b¼c¦©f­nŽXÓÇÈ8<¯¹v›`¬åˆz-ØÕ¾9é¼OÜb¬‡kZÎp.cæÄÕÖe¯‘Û%Ž'ŽXνd]--rýØ÷>¼ÞÔyí&£tb©ì’†¨ÇA×h ¬k¹ÈóÆ®é7kùž»Äú/Y³Š–­Ø×`9üe'†«ð˅ûj DT[´³¶Ç)LÃ"·õ<÷ç¯]#¦³&Ã8±ÒZ"žkæ¨a≟tÎdPyhyK éú‚gFÚý œ¿éY ±JeçÂÀÄ5sœRc`¼;óÃ:±†²kKNáoù¯[Qä´<±Ï!j§ÈÄlJ]´êø5"zfþºÌi÷g(›Gù¤èîoPÑuŠ;˜_ñ¤ë ']nPÍ‚¨k™¾¢¡““u« Rg·Ò.]©ˆôz½eKuÑh4ªTw}Ú'qybpÖß›æO7üø£¡î"3̳k'-ÿ^Ý™CDvÿõ¾Äq0 &붉$Së%ÁØGtÐÔ™$‘ü¼ùã«;rìÞ§~{«ÆGvCFqärOV¬»ñ×RJIöîã¨Ä²|3g††Óh 4˜ˆQ©*#Ò·Å÷ü±¥ù6OÏ*J¹®•Ñ5-?Ðr¬0\ÓrÖãÀµk¼TŲ¬K?tMä5²S5…ë>áÃ^s-Îøäì7 ÖUI?hou¬|ËŠSD|LîüŒOÞØ´dC³Ò ømé=Æ©áJYâµ×:[¤3ÜÙ>öA¤Ü˜Ÿ!¦û˜ešâÜÚþ \ê«ðy“–ý—¬YŤ~ÂE'¾; ™:Í?¿ùu#Ú²âfòîÞ#‘ÈßÌw†šÁÓ¤ó7e÷ì€ÄWÜò™™›œ¥ðÔ‰¸k׈ubY•Jz}"Ï©9©RÉá“Õ¯¼ôɺ‘)}&K2ÌH-ò^žsÿ‡7}OŠî²©Häü‘M÷´#BßC‰øýÕÆŸH$‹EŒØÆÖFl+‹y}§«J%©ÕjK%°­­M„Áƒ¯cëë멳NXWWGDööö–¥,ÿ½â·§³Iè–9©óoþÜY"?n½ÍPwѺÔ@ÖÆÞÁÜÑÑqâx-ÄHc‰¨½ø[ÓÏWpÔê¬?Åx/IYà환½©—5Ë­ª-Æu¤Í/m&"þBî>˧’ñˆöç‹w7ñêÂŒ¤*¸ÛoëíÁí³ÌÚ\¸£‚ü#<"¢†üü <q¥ù¥¼w˜+ãáÚœ›–'"^][ËŽ wcHS˜±º6,>þÝÄÊü´ nȶŒGdðÀ[mÁ3þ·v…q›¶<‚ß—–«æ‰q ©ªø¤ÀÒ-DSüQÒ‡…b]ƒÝ´¥‡k9"Òï,ºt§ûØÇ“ {ky¿oEÒŽR5GD|óÙÃ+V5ø/ž³Í¼›–gý¤g"ÀC‰×Öjnñ°¦AÛó$Aå4øR‘åÌBS¼£Ô’Ôœ‚"ÜÔ;sÏrDD\ÅŽ¤Ô|õ¦¾ÏRˆèZEn±†ˆxuQ~ƒ2èYãL¥Ö/nMžãœw„7Kü… iùƒç'¾?²vuFáÍv…qŠLÌJù}nyñèÝu'Òk--$]5C²”³YßA‚ D"2_ýYÿ“º½æÌå“ßÙ˜ÌF´íúS—5—;ô¼É²0ȾWMOOO‘HTWW§ÕjU*ÕáljhäÈ‘ÝÃçW_}õÊ+¯”––jµÚAƒÙÙÙQpppiié† fÏžMD&“‰a˜>»ž^g6ó/HÝÜÍÇ«ëDR©X&#"‘HL‚ ¯úA>úEñ€2¿öÅßKŸtå v_ÁãKÞ½œô_mý?Ò¡’'ÝÈlè<HaÖk«o9“Ôõµôz­³£–LJ'¯žµZéä4pŸþVFƲ‰«y"Æ)ø­Þ,Ñm“¡*2%¥6uõ̉£òŸ–Ì’šxé3Ñì§ËfžmÖðªQËÓF©ˆT1iñÍ©IS&Zž`IÚoFs8cuCXzŠ7CÿÖáyÉÂ7-éþã=qP᪲¾/õuºüö)Yÿù˃f¦f„eE{/I[¾:mÅ”Ox"RùO‹KEDÑ+—&ÇM™Èª\GN‹ö(,¸ý>ò7{²Q‰Ù«r×mX½hcç-zbÒ²§ßüÒ¾[àQ#ÈÝôÚ¦WUÊmZâü³Iq¯å³ƒ=‚£Ã\KÏZ¦&Ç7§¦ÎœÈë½<Ñnúµ}}]}œ¥ODƒGyW¤ÎÛØÐ¬!爫o cˆFŧ4d¬^4qµå R#UüÙ’ ”‹³#UDªñ£æ%eöOì?ä>j'E"Fs'ó ‚`4š³éëøw*9&&zÙÕ™HàÍ‚LbcR=n–HLí¿ÉDf³™×“Édæõ‚`þ™j®\<ØAñs›œ‘2bÁeÒ,Õü¥¢^ãµ\¸paÛ¶mD¤R©4««ë[o½%•J¯\¹òá‡* N7hР«W¯ŠD¢Å‹;::Ñ/¿ü²qãÆ¶¶6™L6hРÖÖÖ &<ÿüóMMMëׯ÷óó‹%¢öööÌÌL£Ñ˜œœÌÊ×d¦K݆˜.·š¹6hêŒÇ,&‘¨ýdIëÊD$¶µµûï?Kœœ›Ì""é§ u?JŸt5ü«Áí«bë¯0û+÷Å~"²ô˜`69­ÛÄŸ;{95é±Ùó›5ÏÌqÿšIDÎoņp?qg7$Äíìu“ŠÁa+W%†ÿÖ—j7ç/š—ÿƶìHÔäî+Mñ‡I« Îi{ý,Uz„/NŽÇ-€ï¯ÿ¤èŽª…f³¹¥¥åêÕ«¿p×tW&"³ |ûÓ%©˜ÄDr‰ÈS*6^½béWjnÔl&A Á<ˆÈ뱎N®#ˆ¾£{±±Ë°aÃþøÇ?~ùå—&“é¹çžëºc¡…““SllìÑ£GU*Utt´½½½eú€þøÇ?–——Ÿ;wŽˆ|||¼½½‰ˆeÙÐÐÐ'Ÿ|ÒºŸIxx¸åÚÅ/…›Z.ñg*%O<©ˆbh™G>"Ä>9íÚÏ“I<` tÈPç Ÿ^ÙMF£jy¼Yß¡ÿ¾üzþÿÏ÷lG¼ÀåN¼Aêé%~L)yÊcЛoÙ>DDb–µOI7Ôž745!Â}ýeË{AÖ®°Â;sW44óŒÊÉ#(:fZDðot§¾"cf’f~vz¤¡(_­zÖõ:€ûM5êݬQï¢~OÙIÑV u:]Ýu?_ѪÿþQû¹ÓDôŠÃ[±ˆD$˜ÍüP/^§›ŒÄëÉd"o3K[¹T&µs‚V#ð–á\l#^g­In“HA°Œ(c©zxxÌš5ë×ïp×jàžhJ?JÍÈ?ËY:,¬Lüºüà¤è7s§×* gç«W‹­EA±ˆ, b±mSƒ­XD&3™Md2‹H u´¡³~x=ŒÝY*û7…7dB€_G¼$s×´à¤èá9)º‹‘Hííí=<=yç'AèŠvÖ⛾ƒÚۉדÑH‚Ù:ƒH$‰: ]GE"ܶàÁ‹…Dääèøü[s[ž ›Í–tg)¾‰z¡Î©f³YËE}‚ ‚À…ôoæ,yÒ`0àÕøÍÝéµ…Ý•ýðCÑš¿Mm>kkéDj)`Er¹Í ÇI&#‰l$"’Jm\\%Þþ6ƒ¥O{£¹†XHDMÍÍ’†úk"ÅãbV!²‘ˆ I’ËÅ C"1º‰<̱b4b! b! À£BrñâE´À£ Üýÿ"ÜoþÍAèz³ ‚`6›Íf³Éd2 W®\yá…ÐD÷5Êd2ÄBøc¡Éd2™Lxãô—Xp?ó¡ 666&“©{\€û mllºÿE¸i°ûßf³™ˆºÂ!üαà~2›Í‚ ˆ;¡A~‡Xˆsqø½X¡¥`(‹Q©ø] Âï¦+ZÆžÁµ…ˆ…€Xˆ…€Xˆ…ððºéš‚f@,ÄB@,ÄB@,ÄBøÍI¾ýö[´<¸L&“Á`0›Íh €›‹Å ÈÅ}×Ez½m¿ AÌf³Éd2™L<Ïëõú†††»Ê„xÜ![[Û>“!:‘ÂÌ`0 îÏó}NG,„úŽüúógÄB€Gb!b! b! b! b! <,ôçWM|ñŨäïõ÷´ôéU£V~¯§úœ™¯,:ª»«…›Žîÿ®­ûJ~{õîÿ÷Á—-·žIwþЪe3£^|ñÅ_|1jæŠ5G›nµ-úú¯}ó=mûzÑ+3w7ýêMo¯Ù”úQù-ZT{샄nR×lÿ®Ñ€74b!À]ÒÊ9ƾúªêdÎIݯYû¤u;3Bw• mÎùºYO$óYúé΄çdÿ†TØúÃEzêYå-ƒíšÅó3/ [¸zß?¾ýö;3&³Çç'~ÝvÓÔû×çœÑü»_CSy“üÙ¡·iÑÇ#ßKOOOOOÿ?£j>ÿôkC€_OrWçmç6¬ÜXÝm‚­ƒOxìÔ1ò;]ÁOûÓ?<Öî5ÿÏ ž‘ÞÍ3_=wô˜vèØ'¤xÉàWi;™sÒiòƹLóüœcm¡ã숈ÚÍ›š0iØ…“j¦™675iòÓŠúœ)󎙤:uR­Ñh˜€¥© ãÜ»VT¿gñü£ ÷e‡*¨í»ì”̼3ŽT#æ&$ÍxNAºÓ»ÓÓ7Ÿlæ‰Øa¯Æ¥®eŽ®\œuACñ³šçf,¬_¯IÚ—öœL_(3}ý151DlÀŒ„„É>ÌùUSã53&3G¿¾ÐܬaFÄe$¿ìLºï³SÒóÎpDÄ8^˜7νw®ÔÖÔÝ&9ÜâsÒôeæ͘ŒuËþ` `Î>¯'¯V:£bˆ¨kWx"ÕðI ©‹žãöÇ/ßÓÌÑâ)§ãÖ¥h¾q¿ìzdîïsR2sÎh"fؘ¥ +B‰ôçw§$®?ɱ*·Ñ3Neš»/ûeEïTX¡–Yy§/¤ÜqGéy³ IDATx «äLkµý¿¬3þÏÓwÿ4¾ü§e£míÙqä¢ÎH$Qz¾2mÒð†u-þÃ{Ëþ  ƒzwÚº†Î}–§”ÚOœvØséÒá?îÙñUÖHF²uýÃäY¯•“¡¥|ÏŽ/k´F"[çÀè7£}øôÀCë^ª…þááááá£ýݨõô¡ì-¥WïtI©cÈ”Ù3fŒu¹Ët§)ËË+<ÑØŽ× ~¥¦c9êá3Æ8;žмû›Îž ë¿á^OÝ´iÛÎÕ¯7g¥äÕ1ü™cй«7mÛõijÀ©Ìôoúª¨µJIüÆ-açW_}ûé\~sbæ÷:ýùÍ)Yêqë¾øê«¯>K_¦g}¯W„&%fU¯f|ºf²Óõp¹91óL@ê΃Ÿ¾oõdÍúĬÓz"†4'ª®Ù´m×§qªcY9çõTŸ—¹‡›ûéÁƒî[ý:ô˜º~ŸÚhw t¾ÅçKwáë ìˆ×zdçÐq/û(ˆôßg¥ì¡¹¿úê«/Ö½®ù,eóy½óë© Ã§…ëv¥½Ìö±_Ý×}4=1‡ænýN‹O<¼$÷°ˆKÈØ()¼Œïo<}ñ„º=@‘—¾¶Œü'x5æ•Ѹ„÷ÆÈk¿Ù™Wxº±ƒH¢;!ÀQjh)ÙµÕR-$¥öÚovî-¬ní0J”>Q3¦†ºË‰Úë¿Ù¹³ðtk‘Â-hÂÔ]ÎûÙ§D´ë/ñ'fÿy©¯/[¿`h7HåÒ[Mèê÷ïæF$ŒPQÀÜÑ\âîó–=m©¹©Æ¼>\AD2·#Të^h›1ŒˆÜ^󴌈Ã_`¾üú‚~ {cÎ:µÿŒjLÜs "r—±o4)2Zöé:™BFDÎ#B²¾næˆØ>RêÉcj§É¯û(ˆHæ>fò°¬¬¯Õü8"føäÑÎDD¬›Ë5kˆ†©T¤>´ûk·×Gø¸¿žœÖgæ»X®uxÉõV¯¯áˆ®ê»ÿªì¹ä}ûô2k3¨6«{v•=Ý×~uÒ_8t’FdX¶[0y »øÐÝhþkµÓ˜q>2"ruîˆõ'›ûzj®¦Æè6Ñá¶oŸ+‡ÿšpØú7ûôĹž‡ƒÇŸ}ÞMND†¦òšçè@G)IÝFr(>yQ4ÍÓ¶øL«ÁGùã:ʧ©ø"GígÔ’¡o:HIaËÕW#ñÊÅçy>D†Æ¯Ît8G¿ä&'"ùÐQ`³Ê/êþˆ‚! öA.—ÉH$‘‘®¢ %h\Œ——\S²!ûÚvhøŒp·ö²¼Ü9ÙFeÂT—nËZgñ™òN¸¼,gkÞ†½.+g:ToÉ>t‘†Ž›ª¨=¸ëDÎÛwßš=ºqã1­rôì!È„ý%þt0k«6bÑœ‘¡¥dkö —EïD9öß`¨?ó¥ºY³xì—SØÝg®|NFD ëÌZ²’Œufé$Ç1¬ª3̱,Ã7ó½K]œ†ãg¦38)DDúúoÖgí>Õ̯QóN7Ù ®ž£ëOÁ¨TÄk8"bˆa:Wiý×n\ê:Ú¼ywʬ”fvø„… K{u"mW—·:ºÝò3¨XF£Öèɽ¯d¨;ýeÖúýg4<ñÍ ¸qƒoµ_¼FÃ3Ã;wFÆ:³üIŽãyžaÙΉO³L_±P[óC»ó«Î·ï<ùÞÿ Sµ·œþrÛº,í⥯ʉ$r…u¿;¸‰BÑyd³UØRûÃãÏ¥=µ:‡Ó:‡ÑžÏÒW_ªu>º‹F·W¥RéÄ%s‹¿,Êÿû­F‡§GMœüªk×alØ“–ò¹„ˆÈhì ¥®± »tè´„Ú[N<ÕAäàã&'KÿN‡ˆSCUDšorÔDS£TDî’Ó§7VWUÇLµíZÉÕÚj"exT°»#)£ÜNäœ>Z¯ñ9zÑHŠÑBžú¸©¼.¶ËåRG…‹œH+wqswD*ì/¤O¼¾`ì–ìì-´h†±lkv¡mL¿Î„ÖÁf~úùŒÎ ›vÏ›ŸsR÷\(ñ\§'’é¹&ŽX–%"â9 g œ†gT,Ók­¬Še¸z벤kªçXw>'>ýÔ˜uëVù(ˆês¦Ìúºï-’±î,êz ^£¡ë¹ªÅÓã–¥[Fú¦£YËSó¶Mvî‘ÔþÙª¼Ý˜-Šáã†ñ™9ÇÚž{ùúUM‡Ò6ó“ã^å3㳚çnÜ8Ù]FúÓio,¿aœ™úÍ·Ú/F¥b,©¶3ò2*Ëp Ïq‘ub_Huêr­Ã(×»úxË}ÂF(O×h_õïñ‚°¶Æ&‘HJDÔ¡í ùãòþní_ýxQÙª|ÖYá`pÐþóbM»Îa”«”ˆ¤Jϰ7=ÈtêcÛÿþéçžñ/³¶’§&®|ÛGx$Üõ…ÆêœŒôôôô7ºh´:aF¨ª3cªDD]«Žˆ–ÿ‘D®”uhÛݳek;ieÄÇÇÇÿ%GMdlѶY–sQH‰H:ÈÃ7À×C…Qfú+UðœEcéàÚ¿ý-«Ð6晾ƒúõæ¶Ë9©7úú 1äÏõˆEÎ#ƹ5ïÞZODúú/w_`G¿ìÆô™i¿O›·,缞ˆdÎÞVõžÃÐT®–?ëy»«óìÆ,ît2eyÚ¡ÓMz"}Ó÷»W.N?É;9Éx†gœÜT2"}ý79§¸Î­ex¾‰Ó“þfûe ¹ÃÆ “9ÇšˆˆÚNí>Æ 7\Á pj>t켞H_ÿåæ“\ÛÔ®þ®Õ!pèÝE0ƒ®¦ød«­‹KÏ,uô´m:RÞb ¢vuñwZ‡ç=•$w}Ö¡µèÈEùp7É]|äê#ÅMÊ@79Q˱×l¯Ð)•¶DF©CàpÛ†#å"2hOïûtw…ŸxxxÝKµÐ%|J¸‹”$¶ G7ÇAR"²Ž/±D8©ÂANÔ¡kÕÑ3*"£®EGd«Tt2[9‘V9zÑ‚ëYD¢Ôž Ò¶·vhÔ ©*;­• @Ï­~ ¥OHFGõóLHÔôMΧqqîݧ9ç¶>盦*bœF°ûãg¦«›5lÀÒÔIîDõD̰ѴyñÌ3Íͼjt\ê;¢^] íÆ¥&OÉœúJ"ON“RSÿ`Ç8-Ÿ>5*Kå4ìõ…qÓ/Äg-OvÛ÷ò61þ)V­ì\Ø}RFBSJâQ<ã4biÆRïcóÃçNvJ‰m3Ï0Ä8,LzÕ¹gJj-WK<_ºý˜-2ŸEë6º¯ÏÚ?5#bTÃGÏX½qòs ¢Kç‹O|c¢ÊI5|òÒ¸ âÓ¯rÚ8cÜ>}ñkg®Kêk¿V…vnchBª:=s~T&±Ã&¤&³#²››0ýBÊâ×rX§ac&q:u¦WÀ»“2§U·k %¬óð׿Nô”SÑ`¤nçFïÙó÷´¯D‡á“æŽr$"ùPå•ÏužCY"b]‡ÒçŊ׆*ˆÈ1ðÏšÝkþ÷#‘„u~vÒ,O©”¢çFïÙ³9ík#IñÔK=q€‡˜H¯¿ó{j[nP!ñ_ôç™=kx†Ÿö¦x¢ÝgÑŸçxH‰Hs4+=O->5ÜMW–—W¡UŽ~7þuÇ–ë7¨Ð•d¥çªþ1SB•Ú£‡ •á æøÔ®ûË®‹’¡ãf„«jåkT¼ðNB¬ãé¬÷sÔ¶^¦ŽõñrGùða!‚Ùl6™L&“‰çy½^ßÐÐrçkøå—_~“-iûzÑÔÍ/zC§Ìúœ™· €ßÈù5S_ˆÛ·æhS€ßÇ€zOü7ÝÎ^º`Ñ8ecaÎÆ­y§ièèÙ‹¢n¸ç *dö¢p/ÉéÜk7æ^”x„G©hPðœEá^ õ¡­sŽéÜ‚¦,šà.%ùÐPuTçíÚFDºï÷Ó¸½ì†LпÜU'Ré3 22ú~䉨÷3b»O‘{Œ™óÞ˜[®nGÔ‚•Q7L”÷5qPÀÌ÷fâÕxð(BãâŽ&¦O}%…ˆu—zCïWøÝÝU'Ò_©ý§S99ÇZmýßy¦;º‚>òúO'R€GÄýìDÚCý¡ÇZÉvhD„ 2!@ÿ ¹O%}fAzZ _£  ± ±àyûŠñøµçÏ8«†˜TŠ[Ü)†a áaccc#“ÉP3¸5±Xlkk{³3g ôdhccƒv¸÷Ј&@,ÄB@,€GŠäÛo¿E+<º±ðÅ_D+ÀïB³Ùl2™L&Ïóz½¾¡¡ÍpŸ¡)b! b! b! b! b! b! À£ 5GÿŸv°å–süíTû¬ÎP»%!>þÏ{2àõxbaË©£­$QJH[Vò[D9©ËØÙ³gO UIñzÜg’»^ÂÐRvBKÊð˜Ðêy'£bÝ¥ÖJvnÉ«h5J|B=Œ]!ò›´ŒC:¯˜(IáÁÓZ£Ò'fv¸ñPN^µ–”>SÍ Vÿ±uëiù ï&ÄJ¦eÒyM™ 8v°¬±C¢ôY45y±_2´¤ré­&À஫…†–’2-9„¾àá?Út§N4Zë…š[r+Z%^ãfÏŽp¬-ÓvO©„ÈX]Xë¤$íéܵ9ÕC£¦¼à@ÚÓ¹yµ=ÊÖ™R„Oò‚ƒQ[‘›[ÛŽ—©?†ÂŸfel9¥¹þ¾ØžýtxÐÜmµÐÐx¬LGAnÔnt p¡¼ª£êw)]­-k%R õ}Bꥨ/ûð˜®ÛrÊ¢B5ºÂ²¼VEÀ„ÐÇööc'rÚÉíÆ'QÅF8ÒPã±9-:zFŽWª¿‘>ñú‚±[²³·Ð¢>Ʋ­Ù…¶1ïD9þÅBýñ¥£–•Üüq†uvâéág/Ãkðkb¡A}´ªƒ¨£pmz¡uÒ飵íÏÈ;tíD$wTH‰HªpTu… •‚ˆ$¶R"’;ØJ‰Œr ‘ÑØûY. ""¹­-Q^¥~J½^×ÖTSU^ÓÆqåk.eöl™>¯À½ÄÂöÚcÕFR„‡ø:Z¦¸h åU­¾êàîï@­'òŽz„+jÿqÊ q¥Ù# ¢¢ú˶8G¼7Ý¥ô—¼lÙÖ"¢ªµYÇÇgŽDÅÀân†œi¯=Zm$…—¿òz$ð R]Û›_RY×ÄñDDÄØ¹û†E¿ùæx?ûë³- _QNDvoæäÅyÉzmȤÛ›ˆˆìbròVÞø8Õm?im¦®´–5õÇ÷nÙ[P^USoéKÄØ¹{úŽûfôH—›Œ¤s¹òÀö½%å]lÙÞ˜Ùs"½P/ š¿€(\ØÓÆò/Ïóºê¬… ·Ö÷™°Žg®X±½Šï9•o«//ØZ^°õã—’²ÒÆ‘)|£=©¼†¨íxU[œ× Aµ­êxSçŸååmtãã—+‹,{FX/”ÔWï]±0½„£^Ï]u¤¾êÈö¬„-«b‡ôŒ†úº)KS šn¶½Ñ©YÉ‘.xWb!<2šJJÚˆˆˆ ë™ ™õ¿ºÆ‚¶Öëì9Ä…!;;¦3cUf.\¶ÝYßè9±~CìXâšjŠönÙ^ÒDÔt$eÎJÅžÌ0{"²Œp§šz¢ú‚]¬Kºœ®²àzì¬?R©›~Ãã55DDäèb}îeÖLÈúFÏâ9Ä^Fz]c]yQþÞ#5Ó0ÏÞ•³¶šJK*dœw.xÔ¡ZN@ôš“6{來MDM{?.;³÷½nS4c˜[¬½k¦®IÎaìÖ|Žê */Ow±ïNÆ.0ÐÙ:ƒ»µ‰k*)o\:Ä…ère‰å.÷!Ö.ž××>düÊ-ã—Ö•.(8RRÓÖ™Ëó?(ÏßúRÂú´Î^ß’?­šãu»}²óD©±à‘ÑÔˆ¯*jÔôº£@ÄØ)ˆÚˆˆo²öí¯³–è…âz–‹dòðTSP¯´—Y‡“a<;ï›(áEåTST£‹uQèª,]LÙÀȾ{u*†ŽŸ8~ÎJÒ_®.?R ¿ ªˆÚޤ/L²'9PAÝ —Äxb8¸t"…G ÃXS’žãîp™—uà–¶º¶›Í¤oë¬ßÙyÚu1…_„_UT§ïNÆ3¢k\…çKîDD•EuzÒ×Uõ„ôæeï52viÚ–Ãy«¢-[×–ÿ±u0ÅkT¾éæ €X$¾©¾­3ì±wº§¯%yñ5Eu7¹¯é¸e¨b½ºþ©ð³ GÚV^Õ¦³'ãv}4² iGD\yQ“¾óÂÂëƒÞ—°¸?Zþ¬+oÓ[baˆ»eJMA¥/: ti,Øb½­á-î5Ñ‹Ìs|ˆ%C¶l¯ê+gé«÷æ[Fa£{ôÿt Œp&"ª+ª©³¤>¶óÂB˺‡„ø2DÔTRYWYÞDÔsR"]åÞ´• §ÇNϬ¼ÙÐ0²ÿp ‹µæÂò­û\Fw|åøñÓãÒ>»iÐÄB€‡Œ®úÀÊ…éU–ÿØE¿xç9™ßœ·-÷ äò“³Êo †ºÊµ+·[ŠÎoÞ¸^ç;"âkì-j""Æ/¢Gn”y†yÕåç[.,ì9)1T}¤ ¼¦¾f{òÚrÝ­¢.ãÛ•t]"–†X®/¬ù`iV¯Š¡¾îÀÊ•MM5Gr·W"†œ‡HSÁÇ™M7Æ=½®­­©º¼¼¾ëbB÷7Ó–úÝÕH,Cb“ÞÉŸ±¶†¨)wáøú˜·cÂü†ØßÖXY”»5·Ü Ýg§½}ã(6²!‘¾Lî¾íH~шzˆÚû…9SU_¾½„¨÷ ¤2¿·ß ÉO)á©~ûÂÈã/E ô´³—ÉôúËm5å{s-ƒ—’{÷Dj–”ôÒ¤Ä#QýÖ¹ãË£çÄFø Q0|[]åñüíìüfÚ/ I€Xøí·ß¢à!ÁWåo¯ºõ,Î/ý)-yºŸâ.×,óš³~½niÜÖ*ޏòÜÊso˜õ™ÕWØ”yŽ÷£#åOÒ½‡¨eR` KùÖÌÚÇ ¤öãÓ6ëV,ü œ#¾þHîÚ#¹½žƒñŒI[³´GÀ³LûŒR&4qUùk«ò{-óæª5qwÝð0ÆÂ_|­¿ AÌf³Éd2™L<Ïëõú†††Ë31¬ó/¿À—"¢Ç‡yÝkR.Ýrx|ÑÞÏöæ—TÖ4qkö ‰ˆ;rÈMÊn ßhO*¯±¦¾0ç^¹qH˜å[;‚úEô1©ÂkúúÃaÇó·ç”WV×5q÷°s÷ô Œ?}|ØÞ{%s‰L;øæáíÛs‹Ê+ë;ïqÏ:{ú…DÇö½ <’Dz=®-‚~ CBBÐ2÷†œ@,ÄB@,ÄB@,ÄB@,ÄB@,ÄB@,€G0ÎmˆOØVk¸aúOûÿŸ°áœá®Ÿÿê¹£K~2µWeÅÇÇÿõ¨æ†éÐObáoOS–—Wx¢±ˆHî6aöŒÙ±>ЦÀ¿äž—l¯ÿ&'çÕZ£­KPˆC·®VíÏÉ+»¨í [ÿ 3¦;J ç6¼¿±Z>÷1¯°ZG¶násŒ¥ïgŸ6Ñ®¿ÄŸ˜ýç”·5Gí0!>¶öo]ÓK¢‚®,k÷šýþ_9ÑÕSYÉQ+ÃãWF9âÅûÚ R¹ôVàp¯ÕBÃO[Ukåþ1ógŒ–TUè:h9˜½õØE ˜ñÎ;S¼t»6üÉ@$•QëÑWÌìq^¶êÂ…Z·¨Ù£•D¤=û©ò®¤Ú}ú´ÀÑþJ2Ö–Õ·Q{cY#‘à AÈ„¿(üé`VÆ–SšÎÿ¶”lHÏþG úý<*±P[}ZGä06*ä™g‚'ÄútV[ÊNµ¹Œàî5Ú´':£‚Ä#*6Ô×7tl€‚HÛ¨!G9É]ÜÜå××-í>}Ð!/8±¶¬Ñ@†Æ²z#9„ þþ¤O¼¾`,ÌÞrJc0´”lÍ.´™åˆb!Àƒæ;‘Ú[Û‰H¡°¤9…£‚NëˆÈЮk'¢Æ]‰ßÕ9o£ÖHr""¹R)!"©\.!¢;.+9„ºÊ­.kl—œºØA.Q>*¼ný‚*xÎ"Ú’½öo£ËÔwfúB›<=ÜO IDAT2±P*Wȉ:tºv"9‘¦E×9ÝANÔá2á^ÖúŸÄV)'õ¯J>£ÝrwUŸ¨²­Õ‘Û8¤Â~– ¥OHFG!< îµ©ÒÇKAÔú¼£UU%¹yÕFëtGߢƒ²F]{KUÞ– 9Õ7OT*•‘¦¢¢ª^c¸ùôA¾á^]YÞ1- õBüègÉ0 ™àŒ…R÷¨ÙáCºÓy[w–IB‚”DF‘ãØ³G5–åd¯Ýú…ר¨[ä8ùÐPuTçíóߟóŒ¯ÚCB³Ùl2™L&Ïóz½¾¡¡!$$-p?Iúý¶ÿt®úbEÁ1)ÃÇz ­îð  ØÏ®/.™UVVVöÙÇÌ!s”••%ûɺòêÞØ  9‡uxW<P-„‡ƒož-‘7Ö/W~–¾âƒ#mG®ïßõ4]MeÛÝÅÈÏò›ˆ+¨‹3äÂh]yûïJ]Q‘oJ€ª…ð³÷›ž¶*ÆŽˆÊ~vè›Jêîjþª­mD¾oΙaGT¿÷@õ½…Ѫ¶ß|_ÚÊëx¼ù ú ™g¤/CD•mÝ»gêªdÆM6~ÎÊ-Ç{÷ß¼\¹7mi¬u¶°Ø…i{+oè©o<þYòÂØ0ËŠFFN_šy ºû<ºÃs¬²èÊÿ?{ï×Ô‘ïÿ¿áÄ'Ú&–&t¬ j? «…Ú´`©X5V®¢W©»‹ìíÙ½ï.¤½îbì*Ý"ÝËbׂ¥A-¨`m¡"i)T.iªBÕD%)šø#å ùþ‘EW+Ö÷óᣠ'sæÌLÎ{f^óž…)kq=÷ÒÊ”BW\g²Ìx>îÀTÅ??cÆŒ—Ô'n2—ÔZ_x˜^2ÓoÊüùBãþÝž·|2 Ö¯âg̘«: ú- g̘1cíak¿-gèú”ÙCl&sqßÚ3fÌX¹»­ÿ–3w¯œ1céFhL}aÆŒÏý¡ðOCEb=?cFÿ)¬‚ ‚ ÊB¹óÐ ‡pÓ4‡S–Æ*wU¤…ÓgEGÏšÎ57zwÃÒøÂ3îÒ¥m_ÒÒ8Õž=ƒ§Oö}ýUÜҔý é;â—nز¿^Ï ž=s"}²f—2viz_à0æzÕÊø÷ÏøEÿö7Ö,žÉ7Ÿ<´%.Þ!ˆÈéKGü™ó/^¼b&ŸsÃ<]üêƒ* xÉÌ S,˜íj$¼n”ÂoþŠù3…Ääèù‹¯X0‘è/©ƒ—Åüé¤#Wó/^¼bîs«¢ùÔáAɳÖï>“WÎö÷AAäž‚k ‘Ÿ7ÖÆýǘ8}¢Si]üT™rÈ ä¬´ÂÌ~Ž‹ÖcÙkã>hÜ’´û¹Ý+':‚íS*«(.ÞV˜ò€>³{ÃJUý¡ô-KöeNç}âýMï62à¿"wGÒtn¯[©¬ÚŸ¾%z_¦ã6àSónÍümûÒ—V®˜?7µþä®ÝgV&NœðÜÚ”‰ÜÆC'‰àµŠ”霛eêbÍ®z˜¾b怉Ñ+üßÝ¢?\XoþœÛ’¾›eaA’ÂÏ|¸ÆH ç¿–¾Ò©Íè~ºpÅlòÐ~sÕ¡3IÓ¦pªÂà³.×äN[™4Ñïäþúz˜¸8)å%.Уù{v™&ÏZ¿»ž^1 U!‚ ‚ È=½…ÈϘ‹Ç S’Qdôo]‚¤íÐû5 Àt…Â¥ €;í·éóIý»Ó7Ûöï¨ f&%ö*ÎÄùo¬˜ÌçsÍÇÌ4ÝøÁn#EækÓûÄŽßEb0u胯œSD¸éo¼æ¦‰&Lž ÆÆ¶ÛØ®³íÐŽFbæŠçœªÌoöÊÉLÍ®z÷Ønž…›Â™¼d6 `>´ßÝz±Þ¡ —ÌÖ&>œ)KVø05ýfàZí®gú¤-‚ ‚ rAo!òó qËÊ%ï»Ïd(³ÑLÀä5Ù —r³;¤€Éó§O €L'öW™ëOZa ¬Çë`bt0·ŸÀI,ü4Ññ™>q¸ž gFOìïÝ›03Úõ'jÎÐ/õÙà?kZ¿rø÷•¾å=;S3Wô©Q¿Y+‚UÊÆš‡/Îvm¸zó, Wîßo>|Ș4e¢Kîi„[t£—L~wËÉš]õÖçfsÝT¡›´EAAî¡,hÉf>cªþÝ”¤þ<0F#PgÚè“…Ü19$,sË[vÒ'vï7³Wºù(aÂÌÓ!µ¾qWUÛ‚%~ιi†¯ ‡ŸItœ€q±~O=L_| ‚Î/zEðecÍ®¯¬³_â:Ta ĬÓñ AA §>„¥€Üÿg|á~naÛîµ U~ÑóûyéhÚ!Ĩƪ*Ϫ‹¢€¦Í 1ô2?†q̈4ÖW= ¬wáð>úä®}9š¹rI¿Ç™Nj[²ÖoxY®.ŒæïßcÜw¸míZ?kýžzÇ Ö[É›S¶ÖïúêâK/MëI‡*\2 U!‚ ‚ ÈH…XÈÏ¿ùŠ5;b?0îJ~abßn)Ÿbæ¶/²Ÿ»`rc˜¡àÀÿµâÝ·sŽümb­ßqÈ13Ö¬×{:qP¿{÷™µ‰{sz£, W.˜Åß³G¿ïpÛÚ•~NU8}É-ºù&<·b&Q_Ó¸«æâK ¸'w×3@Î_‰¾BAAn9ƒü<áLY›>Ÿ ÿ@¹ûŒÛuþD?`3,‡Æ ÚÎ FÓ4MÓŽ |0Ÿ4Ó?]®¬õ»jášâ£ƒùbÛ,À¸¿ð=Ì, W.™ÅÐï¯ikýîúë‡ wúÚÙ$@ãîš‹ÖÆÝ_QÀ^ÌÁAAe!‚Ü=¸Ó_SÌ"NnQíë;/;9z2œÜW3ð õ‹_}úÕ‰‹´+ØLЪ¿èæÌŽ•Ï?ÿü )õ4p&ΞNP_ :ÔÏzâðáú3ÖÛKõ åÚÅÃ;jÿ% &zÌðJǶ¡»NÒÃÊB7^áÈ™¸dàä¾ú3NUx;“?¹Á+º°ê«B‡*œŒªAAe!‚Ü]&ÌNJ €z•êÓ^iä7kÍL Q­Úív肵>{Ã†Ô ±›9Õ¢ßüµÁШVîs£ÛöeïгWNæp‚×,PûSÔ_õ /ºm_zü¦MññÙÇnÉ‹HŒÑx9ÙVµ«ü—DOô,ß‚WDó¨C;ê­ÃÊ‚ë±æ“Fú&º0šprÿîÝǘ»ÝxÈŠ3ÒnJÎä øjUÂùK¦ *DA!àÚBäçŒßüô5…K?Ðר¶|õœóxù /¥eÖÄmÚ_£ZúBáô™ùÀœi¬9i ¦+Ò£]g«OX™vh¥²¦F¹ô…÷'Oó#ÚŽ5~túUÄ™òÚæ7ŽÅmiܳanÕä™Á Æ|¦¾^Ïø/ÎLœvKª‡;9˜'Í'U±+÷ ‰‰k³Óg”^gí8 “WFuþ;gò’hþž]fçIÃÈ‚púDØßHJ\Ú6™Ï­Øìy$gâühþ®]õ»jÈ›MþäøM÷‡½ñƒµKê'rùK2Õ  æLY2_¸ë#5¤ÃAA¹' ·ùYÙøÛôÅ|êRÝ{Öû„Ùé…+fMæ뫪UÕœ¤ý§/Vä–æ.q?ƒÐoAvqîóƒ…„ñd}}£‘ðŸ¾X‘_œ9»wkSΔ•¹¥¹oÌŸîOŸ¬©:TUSoäÏZ“Q\˜r«kï8SÓV“æ“'Í 1(}b÷.#¯˜5á±,™/`jv9˜7Í„ètÅ,!Œ±±ñŒ8œ!Ëq~4ÈÙ+n¶$pâ’ô×fò(}c£‘éÿÍ €8<AA{ëì¹6,däð‹Ç„X?[è™ c÷˜ƒÓîX€ÇØ#‚ ‚ŒÐ[ˆ ÈOÄÅÃïî71ë·³Q"‚ ‚ ,DäAƒ>Q˜ª¬a@¸â·x\!‚ ‚ ÈÈ·œAä®býJ¾ëØ™úF=à¿&ó·¸)‚ ‚ ÊBA$h󱪚FrrôoŠ•ÓP"‚ ‚Œ4pËdd[Î ‚ ‚ ÈO ®-DAAy ¹­I¤W¾ÉË­°Œ ûMü,þí=¸³åßÙ{Ûx‘ ëfŒ5ìy§¨uÔÓk¢½¥ô\iùº¹û©gžÏv&I¸0quà(üUAAAîª,4ÔÞã¼{®66´??Ç÷?]ŸÈö}~É¢iÀkuÿXsèˆÎ×÷™§ÆŒüâ+ciŽ5!‚ ‚ ‚ È]–…ÝæFÝ÷lôŒSÅ•ßëÚgGû±Ì5¹yUW…φŽú¾þô•oÞÔèå1ÓÆ³‡¸îcû—»?qx G±;ÛjÊ˾nµÐc…ÁQ1Ñ|6tÿØP¾ïðq Àydêœó¦=ýïì½mp¦xóñÊ Q?~¶·×[H®:P©;m¡8¼‰’9ófM ݧ5`r{å×g:€#|v‘|¶htœ:\v¨áÌUÀ{Üã!Ñ æ#„Žãº»“Í㱫S®YõÒD¶åxyI#5ôuPÍŸìªj½òhÄ‚Å1OsŒ¥ÅU?vwÿXYüéqËøÐ¥«ç?=êÂñŸ½2êñ—æO D,[åÇv™U;‹kOw>>kÑÒ…~gj?þ¨ÊÜ àí –ú/¯<½8â müº¼Ö ݆Ê}_Ÿé™ó«ÕË„pÚŽ–U:ñ½@AAäáV½…ÝíõÇ®/Øèß©¾ðEËѶîÇD½ÑðfDL{l<<ú|Àá3mÇ_Ï×§zнãôѳ=0fzÔô§eø›d 9£€Í ['aåñIûĘouWÚ®t?+òÏ€±¾"ßñl¸Ò›ÀuWDÑófŒðíùþ½¾o°Ðø'‚ÇqÄPšzJ¾!BsÕÞÚ+=^P´,˜窿A×=oëBN[ô+ó¾²oŽìý`¬0øå˜¨ÇHˆzቿ8]Q¤ñ Š^<Ÿ³gkÕ¾ÚIë$Ï<^ûéÙãŸîëÿ»¨¾ùÎZ½¨û@¥®â“VO±$z`ãøè¨¶²/+Š?ãûÔ‹1³}QëÝá?ÿ«ö¨Þ¼ø7ânöÈ/¼k×®]ºt‰ àp8øK"Èíuì†9þ<Ç3fÌOöÜŽŽŽK—.9,íAЄí÷NEË:{®íÎÄ4ÔòxÐþ}–2røÅcB,AAùIeaDD–rO°Ûí6›­§§§§§‡aš¦Ïž=‹Å‚ ‚ ‚ ?µ,Ä"@›2f̘*¿×®]ÃAûýO0QçI‚KãÐ~›`4aä¾×"‚ ȦÞXÓb9Žå€ ‚Ü/ ·Aÿº!ååZ¦ïÁJ¤²ØØ¨î³.2goJçΥרYµ<Û‚¥y;7ô×Z›òJ²–!¤[d†pn#Z2mïö(þ^\ÖŠõ/+›Ýo#x"Idlb|Œ?_¹‘މ:èô~'è áMŒðÔ:_62rëÞôo=ݲyùºR fØνwis·q`h”ÛƹãF-Šß™ëÞœÑ )/olÛùq¬ÿÍSuPœuàŽ¦ AYˆ ÈDŸ‘H0”Åd¨­Ð*+‹Kâ·fÄqGf‚M•%­ñ›úéM«NSÇÜn|¤$.)‰$ï\q’ÄŒ81 e1Tkr‹Uë DÑæ(>¾n#˜Î®ëï7l¹Öe5Q§>ý¡tÁä¥÷Gº)­Fg s7WºUSi¹÷)sÃP”©©º¼47õ Fš´5MæÖ©$#i2ÃZL­¹…©:ËÖ¢”.¾’È€`aZR†²X %Ū„bÍÒ¬­ÂF¨rU#·Ën}—AŽ &1)ˆ£&DYˆ Ȉ…KBz{`Q²¥qåÊuªÜdµ¸(}$6K" ÏP©iN rs˜ë4:ò ­·#7 JpG‹‹JB\º5,<”gzYYWÞjâcOw¤Òbù>O·íâõv`Ù¡¸¹0ì1©ïXÁÈïT†ŠLuuÖ°¨¾—ËÚ¬ÑR Ϥ»Ç²ÐÝ£dq±šä„lur®xç†ÞqRâò2„…KÈÖåjm¹ ÂÞ#ò ´ÀA’°׈aTLl\ufBjqjj@Ѷ˜8(šj9˜­*—ÞFê¸AQ² üÅ︶A»G£H“’Ten¥Ñq…6VoÛ´j^DDDDDļU›¶Uèé¾hKIæúEs""""æ,Û°¹Üí«>Ìé‹""Ö´ÐŽ[Ê37,›á¼g[…ÑyÝ2'bÙ¶ê’”es6ÕzŠ xá‘"J«ÑY¡¿*”ĈÝçüÑúòÍ–9=gÙúÌÞ” zŠQ³*"b}…ypfç,z5]Ód½µâòÔîIøvDìvû¦­uí×Lv»?v´mú,ár祑ߩ ‰ dt­¹ï’UW ¥Ä‘<Â"æ,z5e{­óºeÛ¢ˆyéÕ šç‹?ïÕô’^C¦›¾hý抖ê”9˶ëOjê5ÿˆ9‹Ö§knl-ò´$ ˜ŠsµC†#‡µà‹‰<˜ðÓÒò]®³Á0פ¼ê4³yË6d–´XÝìºb³«9]ôjz‰ÇöÊÚ°yYDĪmó¤õ½ÜœEë3Ë]Ï1jVEDl¨¨Ý¾~^Dνg ‰O’‚N­®6{NÿÐ5ݲy‘«ew>«©<Ó™³9«R ‰7–¬ˆX”Ù[—XkÓçEÌÙPnÄwe!‚ ÷®D.! µ¢Ù ÖjÕºÔbS`bNÑÞ½E9‰†be‚²ÚQcë5שëx±y;órRªT• ØXX¶mTV’Ks²b8Æ’äuªƒThRNÑÞ¢<…”*V®SÕZ]]B°hsËɸ¬œœÄ@ÏÎAŒLÄÔ¹éBc¥¦™ •IÜfÒ êU©%4)ggQÑμ4)sPµQÝDßì)tKþÆÔâVqüÖEEEyrR›½QUm~q9`ç”VÚjn)ÏV×xil :?F$§.·¼Y½ÉÊ\µƒÿ€ö£Jûÿ1ÝôH×…¡r 4k´F÷aF"wŸäe,O^§*¥¤IyE{÷îÌŠ4&¯ÛÜD‡  ´Ù¹ú˜Œ½GŽ|V”jªT+K‹Èݨ,5ˆã³víL“AAjvßtm}ÁƵ–gäí-ÊËÚì ú_* h®hu ŸFl¬Æ¦un+!‰“ µ *±,’–:è¦Í ɹ͂ج{÷å%I©ƒêu©Nd.O]§<‘i9y;s2æ’ZuBrÉùD·$o,eæflÝÂ0W(×)‹ ŽF./CNTª’Ñ@kAnk¸"'/cîPS%xQ‰IЪrk=´Œ7¬1ÿèrÕµ!ŠŸ9²wëBF››šßBei uP™ÛD€µ![YÉ„*Òbðll”…‚Ü›V‰'âXL€±2¿’,MKŠ òù ˜¤´…h €a$‰I1aAþCL¸$‘±L]Ë=¢¯,i%¥±îª8ñy;‹¶&Fù …þáqq°è* ôMžÂÉ·îÜ™§…ø …€°¥qR’ÑõëÂÞ¸¸P•_vø_|ù•uªƒÄÜ´Œ8ìçŽD.tüø£»B_»Ý¡ Y,`Àßšê7”¿zedû ^¨<”hÕTêûT!„ÊCÝ}…-š|#NÊØ äóýCä …”°̯ëíב’ÄÄpG*—’ÐZk èVÍA&*äaþBÿ˜M±$Ó;ö’_Ð ’¤´Ø°!_›–†‚‚› !‘ÀX,½]ESáº]Ö²¥‚°^ƒà<€bÆÐJ@ØÛ%†Æˆ ›05·R ïûø4·¶Z 貎aúÛonZ†Ì阠LÍÕšüäåÍ+·n]k ‘‡‘´¡Ö wÛ¦…' $á`³Á d«Î©¸wH”µ)3 €69ŸºL•J'NÊK‹ºª x ÃnV%µ®Ùô3÷¡.L[Y²ºP•/Ë[ï¾2ŸºA1[ï$I·Ê¥H«XšœPJ1‘YŠp…( ägαïÏý{_õÕöSÇOýèmcáÂ÷§l_ûÃH…Œ©Õ ‘À0$Ï}¡AP4cfn´ ˆªTª, €ïPf À’»:"·XÂDð†·*%R5•zÙR¦ä I0WÀ÷…FMòºìfñBEZR €$ ¦.uµÊäþ<ÏO1W¤®SÖñ"‰¡"I0Íê„Ôºá—+vž80¨·S*\µ<[/t°rϰÙm{túR+‹Å²ÛívËÀêHÚ' ሾâÑzáI¼·ÏÕ…r)™pPÓ·‰ÔjZÉÈD (·7”¢H>Áég”Ûˆ‡G«c(€à»}GòHK¯- ú× Â‘z3 EÂÍZ‚‚\[Î…I%Äòu…ꃲ¡Ïy0¡M A Ù¯•íµ]—yÕ¨èTJÒØg‘Œ…°”&¼XÚ?(OOÑÎX8¬u½ÿ8ÅÒÊ„BUiÌ¿«ÆðÄ G1n­|l$O[já-•àp*ÊBùy³öOù=ß„<âõØ’—±Ï_ñÑ[ìKž†=çG@êÌZ@#æ:5 Å½ŸçPŠ$ ’O€/û!˜›–U›œœº]’·>€À!…$±rkV ¯ëÀº|ŒÃê;Ý#-–J‹H3à´$ceI3âÓ6¹¾0Ã°Ž¯0ë4u 97M!wj:+Á0·R\CÁ‹жš@Y8Røòìá­{€^,px ívØÁîŸLcï÷û>ýìãá#43±|.ïàAM³Ì_càE*9à.  `234ǽûFòÈ¿Ž¨ÙÍ(‹3^1Øü#ãõ½VÓ ddÌÐS8‚L´ /DD¬º’: Ä1>€‰GCQLŸé:m—$<Ùu?HiÒV¹Q¹±0Y²3%Œëi¼¹Y±"¢¿¥ 8îUÆp* 8Å܃³U%¡qé1nQ·ä«J)‘Dd(VËrbñØß›k ä~å÷)‘×§.&2?ïúË®­ö†s¶É²ô—ìom\r¯SGëK”j–&JùQ¸˜ÖjC¯d£ Õ­¢pÇ1™ÅPÝܻnj±dÓªWÓ]ëÐI‰L–”µRd(LV;®òI°ž/’ yÂ[äÊ¥¤©2¿@kË#¨Bš23ÎöÏ%5­7WxŽæÖ¿·«l®Óè˜+ÊþÅ5¦fdÏ r/û]ôUÍ÷;m`s-(´»Ïµm‡n[÷¶Ú¿¿zv¤fˆ ›+ ´ù%&A¤làÁ`|±D®oÌÞÚZmB»q´¤@D‚©Ùз¿S]¹ëøyDÜßüÁܬ39L|¨boÚ®Ì6€8.î‡Ò†Z)àa?y1V¨”•?WÀ…‰ Õn v+1Ä\§]×õÙµ¹:}Õª”Þ-;esBÖg$Z¦ª{msÅá°¨þ-0ÁòoÃܸ!‰ )Ùœ­®fˆaÔ·$ sS M’¤¬¬¬¤ÀVçV4ÊBùùñ×÷Ê}{¾’{i{ÃÙû~ÇpYÏ=éµ£†5}þkO<ú“§ˆjÕ54444ÔÖV—k6oX¾Z­#B“²â~-ad|$i*Vf—7éÍf}S¹JYjá-Œåp‚bãÄ S)·W4µ´4”oNÍ®3 ¢ú{Í8îÍ'(.>Ñ*S ª[Œf£¾©bÛÆåËW«k­·Ú ËçòLÚ:*P.8ÕŒ#ЪÑÔÍf}­&%µBJÕÚl°Þ°qáòÀT¢©Ö›ÍƆòÌä"”`hh5[‡W\Nyijvjh¨­­(Ù¶ac®ãbq±ÔˆÀn·râ£óÖ³Žfìiv»§4´÷[fh¾vaë×o3=ÌÍ•¿L.¢ê´&‘L6Ø%í/ %Zs•Û«›Œf£¾V£RjÑÒ¸›ÍÎâʤ$èÔêò&£QßT±M©éír‚ââÄ S« j[ŒfcKõv¥ºãbûßkµµÕå™ë—'¶ò"Ó2äî9”©¹Öe-ÕšÍ7–ZÈÐx¹?¾©ÈƒÕ¤«í}ý·¥¬Z®Ô2ñYIŽ•èÜи¥ªR©*iÐÍÆ¦ŠÍÊ\)€¿<>”0d§n.ohii¨Ø®TUÈ0‰p€ñg¤…‚V™ªÑ€ÿÜx)Ù¬NÝVѤ7š-Õ©«—¯N-7ßVÚ¹áI‰ЕÖQè1†/ ›rS‹-’$EŒ#”¥% Sïnƒô'‘"ÈýÇå+×*¿()]Çi8o³„Oò~h ttÁö2Eññ$ß{‘¨ÖÜÔ®ÏOºTçØÌQï‡)ò2xêÜì„R xbi|VR¬s°ß_¾5‡Pgç«  x‘м¤pþÀé þò Eír•2U#Þ.÷—mÍ#²³ó•ër E¡ Órâo}/N€l® ¸P ì¥ã†%e,¥T…ÉË Ic“²–’¥&]nöºóΜðÄŸoRæ§®.B Y˜˜•$Ö¦êÔ… ë,9EIÃ).GoX—ÜHX²4->> û¹#ƒ“–ïK[ŠÀŽS YN}ÈÖ`W¡KK@sûwGÏ×<'š5"³%ŒŒ ÌV1²HOï?&#²ÕùÊ„B€àJs’†q '$ik£ÌU%Tð$ Óâ4ë”7óÏÎÎO]—ËÉ\E^¢û6òý JV¦ÅÇE ˜FUª’{wÇ!HXŸ¿4 ÷˜@ L¥ÊäÒÞ&E$Y˜”'ë=ß8Ar²øêÜü«ÕŽsiZF¼s~TF“­ÎWo,eHqdbN’lЂ ~TZFõj×jލ´<ÈU竊) ’HEN|ÌíÚ?F‘X²\Ý<¬cXX²S‹-ÅVgU"”+ËWg§f‡ïÜ‚« ‡„EÓ¨œ‘{ƒÝn·Ùl====== ÃÐ4}öìÙ™3gÞ¥Ç;wòòºù˜1cFTÑM—½õvt»øÖ¹Ëv/Œ% «^/ûÉöÔGøw ¾»ví¾ŸÈ-a³Ù._¾ü‹_üâÁ±ßÍ5o~yî0‹Åòby±€åÅòb±À‹ååÅòòb±¼X^—;®\g®ˆv€‡Gñò^ù˜$îJïddÚ/m53ÜÞêI_°lu® íÀ¶(ì ¡ ßwMðÝ›`¬1î•ýâ$R¹ÏxGÕ/m¡þ^g/Ù½X`Žcnµ©ÿôÛ;¢ ¹)Væê7Æ×üPû€ã(°X¬Þk&“^ê´7Úíö¥‡×´yù˯¬K/ihqÎ Ë7Ry(VX‚`1rÀI¤r?q½“Éß³[³Æç”Ùæåœ¸pæúÃÉ3&aù ÈO€ÝnÿÇÑÍ×»¯{9…ËÎrHÁ²ÛÁÎrþái*©ëÒ§- ^=Æçpƒp‚sÒu~îÆujpNÍI Ç>‚ Xc ,Dä¶­zwc„mÛëj'°½o¸ÐfÛCX8òÓpÎjøêl°€åòºVºþ3Ð{8£õÜ¡Öý‹žZö€tó„Q6GmÀ—A¬1F,8‰Aî’ßÒ„‹x~¢×‰v;Ûe»ãG³N¶Û&LðÃòAŸÝGmÎ ]ê¯ïç~¤vpÛ‰tv6üÓJ_ÅòDAF·ì-ìjו•:zâB'°¹~S¤1‹#§Žú†«Ç«µ—&½8ó1Ïß_oÌþˆG*þÎÃßAó^¨þß\²vÁh°èö”5XØÍ[¾<ܯmÇ_¶7uÀÇo%½æÍÄ'Û* Š>;q©€+zvqì’à«ÇË>.­9q¡`Ô#Sf.\6oê8€ëúÊ‚‚ÏN\êå7#z’¾T{aҺ̄©(4‘Ÿ'-”¶®EÛÐÒÔØ8qÔ…ϰçx]î`µ^´±ÀÑÿt2ÚÎ^¶[‰_|Çc¹!ÈO@å™O™Æ‹å,w§ kÖhïU‡"tÓ„·Ÿù?ã7]=Œ7‹ ·Djsê5ü&ä7i¿Ló ûÛì¿~ÿ×e/Ûòü÷ë!Å!篟g«Ÿ-ÚíŒ~äÛ%ß²½œã ô…÷¿x¥ëʾ¹û‚ þô̧¿?ú{É8É®9»|¼<ô?¿4~¹¶jícäcesËÆ°Ç¤Ö¤îÒïúuð¯S‚S<'ïXö;Gߑͽ3íü5‘­¬-ìjoÒwˆ^xÚ×e>¾á H\5Ó×,_ÿoÁQûÙ5¯­{Á÷BSéeçA4oôaxXºæµåOÂñÝ;ÊOXE ׯ_Ôeøúƒ]ÿE]çËÞÍûâDç“1kÖÅÆø[O|‘·½¬½«ë|Ùå'.±§ÄÄ.j´بGW—•é,Xÿ1û>ýö ÕGúË–¬7S?ûçÓö#›{éM1ËúÞh3]µ{±úiBxh4ëÔE{øô`,=ù °Ùm•g>çÂ^åg‡¾5†Î……®}h†8¼ÂyÉ~µór凰`äVÉü<ó<œO?šžògÝõ—oÿrþòùw¾ÇÂôõPþÖô7ÝEÝ…ëÚ¯·»ÿ»Ðy¡ùbsþ©üÞ¥§J¿5{æò™ÿ'd~—ùƒù‡Ýgvkùvð³´çµÒriëÕÖªóUG/u„?}åtê7©iG=¨ÖÍßnÞP³átÏé¿WýJdäpkÞBk7›Ëõ8_”ûú$®¯ï8¿§ù¢íBÛ…n‰Ÿßh€K£ýDþ¾£»FE¯ýÞc¾£»ºü÷4¸ôƒµKÒç/ìjûúè%€I‹—Gðëúö­Ût5íŸV€G¢GJx0…}B—ׄ?ÜÈÑ„¾[ÔÆöѵÃúµ\z{4~þûh»ué/Ù“§°6‹éa_ïK‡ý„ÉÆbõÍu§Çü±ÐrÑöÊê_b"ÈOÀåÎK®µÛÁΖ㠋å¦Á¬ÞÙ¥ö^â '’î;^übÀÓsÿÃ÷‘ )\€ e{ªkJK›ºñgøø¾¸^ñ뙽 MyϬMNœ‡;ÎÞ _Ýü‡Ð3¡"¶‹”‡¥ƒŽönÂXÖwm¶cFÛC£Áfo°L YíðæAæI±ï=ÎÝ2'"bѶ÷™5ÖêMs""ViŒÃ‹¢vÓœ¸cÔ¬ŠècÞª ™šs¿§÷}¹lÓ¶Zó°j¬.ò&)¹ ¬MååËÏ\±~ÎpK ¹7œ»j°õÎ÷…î2ÐÞoRûM\†=öÃå3÷.OÖŠõƒlÕXòjDDÄújë]®7\ÌYôjʶ =íÑäç,z5½d¡½ æ–0-ÁakC)ÃÑìÑðex°`éÄ¥óò/^>µòÔ‰' f8LzÕäU-¿jiùU‹Ã ÙkÔ½¦þ¥éKé>)°l0×oîê'V;•¡[;¾=|ûo¦þÆqGü‘øÕ_¬îÓ„‘wFÒ-ÛED,ÛÜD»µ¿ëç¼Z2TCH7m^4/¥á?håh}Áúe›ÊÆG·ü§ÅñàÊBÞÌ_'¯y!ȯÛpT«Õ=Ñí³.yUð8¿y ƒf_ø"o{éSÖ¬™ñ0\úº ÌÀžþ4:O”•ý8y¡T4ª³éãw?¨f¿øë…“ØÝ§ö||ô’›ÎxlÞkk¤SØ'J?È+(×sƒbÖ¯ ÷ÿyk^˜ÄíÑ»tÐÍoèrº®)íö~ÿÎ\:u3FšJJôîÖQb"‚ŠÃe¹vfÈyͪÕë¶÷õm]&ä@^¢H§NÍ×÷¿™/Í*ÊY(Ä—òÁ†î¢ß{î½”gSÀæT†)uÎhºíÝ‘öñЗm_îoÝŽyôßsþ 6»m[Ó6E­â¿ëþû¿ëþûÏßüùpÛá/ü²²­ò÷Õ¿·ÛíݶîºöºÚkÏvœío¼vÐþ¨•–Jƒ>“'L.¹<ä¡ðv ¹ñ~Äûo?û¶û•Ô_¦Þ)MØ×Tås<“”¸³HrÛ­Ý’Ÿª!ã1h|?Cnù8{^ð¼µÁó<\fmÊ3½ÎLÉZîü¸ê/’U®Ë‰oÉzƒ«Â³²z/Ž –ý:X6h¤ÇÿŨץ£Çó.}Ñ›ìQ£ñ·Cîcjê~øðã|õ\¯c&ÛD>‹ã×h°ÙÁ›6øxC— ºz «Ëj0Úê ¶ØÄ•N=Ìʯí.¬ìj:o ñcým±¡êâÈ/T u:kf×Ñ©ÔÄRQs³S$ÖnWªK›- /p©"c}ô«jcæ2!>o«@ýŠJ”S´!ôå*e®Ö@"ibš"Æ¿ãÅáû‡É3sˆõËÕÙ Òô_†DƈrKL·_3¦Q* tx’¸´´¹&eBv«’W›â²âõS-òPC–§Ø[²\%ÊÉ Ë_­$2ö¦;šNcÉ««51;?”“ Û•ªÒf €„Æ)²ÎàÈ彪’nÙž¬µ0u«W5d䥄PÕÛ”Ù["pa’b}`Iê+3×—h[M /4>#CÀ°zx(roø‘j»ÝÎrŽÞ87q-&ìsöîHc^´Ö{;îNˆ¤¡T¥¦%n“ãÝÒ—”XCE:“ó=Ö—«U¹Z¤$V¡qéÚ”WÔ¼8©¥Bg0™,¼È´¬Ma|0WoNU4É ”Ë¡ Ÿ·µhSÇÚP T4[B™¨Ø> CÉÅlÊ0«7ªKeÿ’÷ÿ–ë/•Zƒ…÷ÚÀ¬M^žµóC¹Ð\½9U]i`€E&fl ïgWžêŸ~½\}‰J™¯5X€GƧ%Åø›Ük§í2²¥D­Ê¯3¤ñiI1þððÐTÈÝ¢n€Œ§3,”eûwÛÁT:Õ܇“ŸNæqx§à”Ã*Û˜6ð°Á(ïQ£½G@Ú7iÿÓð?}ž=×Q3`ƒÇxýƒõÍšß}ù;X3yÍŽÙ;\F3y–:^âìŠNj.8 ß]ün¨DúõsÿóQÎ^úAJ綪UÅ19±ý[LºE£LÍ­£HžH+Ñeëâön—²W'[Òöf6/O¶ÄʉêŠV“ÉB„&e¥G‘ ™«S-‰;7GñnÚ¼:Ù›·M&t7¼ìRçDñÌå¯./,·Ö,#ŽËH“põ75ð\{€§ŠB¿}ÙºæÄ½Û¹½„š<¤\èÉ–9žPkÃöTeq3ð¢Ðͨûbë3KõßRÞzëï5?è?+Õuûɾè–Bî'ÚL—?×6–ÖªÞ/ûýÿ·ãÿØü×ènî(Ö£ãY‡÷¤ìéJа÷o ’Jíiå]ù_u:ÞsÔ`«3ô¼¾‹îì‚0/ºË>~4ëÀ ›—elåw=ëžõ™8Å[ '}î^çDÉy:Îá¥3jKLyˆ³®¥²•Å—÷ùçŸÈ‘Y •ù-4A¥«à'•mwkqŒ•*]`ÆÞÏ?ÿ¼H!¨S«µžý~B©LLé* GisCI¹EÚ¿[i®Tçd[ËÊÊÊöæÅ‘µåÍž–&%ys³vn“ ,ºÚ Œ½eÛÂi&%òP¨+i¦Á¥rEr©Ð\žš\JÄç•••íÍ‘[r“³›h‘÷%™°>#^Dˆ“v~˜Â1–¤*+I;Ë>ù¤lg?jÈVë<>¹W­ÑuÇ(ŒÝî6—Ìå-ì=ªb8SGûqñZû=6à Y$h /<ÝRRÉHeA.w¿>?UÝ,É(*û䓽[å–ÜÔì&€Æ¤m IÚþ¯?É‹cJ³ÁZ«VU’‰EeŸ|’#3j´/¹µZ•ZqyeeŸ”% ´Je‰GÌ ”…’­Í­Âª¯Ô4“R™Ø³Æ¢›rÕ•ã_utwÈ'ʧr§‚è)½¢V¾c}û\hïÓ‡ŸGoç 'Ó× p}¸ï5¿÷Ì^§Dž'ȨêUÿõù9æšB 6Ùz,õΖƒ(V±”ÉW•ö7-}±2»5rë²Ov*ªK Ì@ÃK]5/~Û¿>üxgO›]ÐBsC3" Ùêj3Ý’«ª$¦Éúµ§f¦™#õwÜO0†JJ–ñ¯}X´UfÊV–êaæã±övE1TÊ=ڲǔnÊU3±y>ùøCEPƒc$€ÛðÞGijk—µ•ݳ½ `”_ÐÂÅ˧¢·¹O¨ª;¡Ñ|ÄÃõ†¶Ô—|žä³ºl@°AwΦ>ÔµpÙºLÙ3GAË{hlàd¿˜¦9®×ÿåõYìG}½JŽvÿýÓ1gkãàõµs^_;ç‡ÓíãÇ™À s xÒØÀìüJc¤¤¤’‘fˆ‰ÞöÇÚt0;·¤ÙÂc²€ÄU«ƒNëò³óë 0”!‡ꞛ, )æ9Ä!Ýz 3„´¹é *yuŠbg¦Û<2nXZŽ"?¿DµNe"Ä‘ñŠ$Y@¿q]‚ &…#–9u¡ ²ÄÊÊB1–â„W:îeеxŒÜcÿ•²P !$9½Â– Z)À]ि3‡’PGQãé¡È=Âê¶'¡ã|B`õ}·S+ìÃPƒ½ôîyxu¡¤\PPPgäiêx²Qç´IJOAŸ}<0Êi7Ü# Å$é¼H xc±0D Ù+â„$SGy\mK[Z(‚Ç#(%}è˜NjÕWç§&¬3æä­÷4â»5‹Ì/ÈOÎN¥’…‰Š ýæ¨UÿôÙ%Ás¥¸\îÀÚ‰²P}™’Ge¤hO\š7-O®£q|Þ¿býÑ‚~ehï²ooØ,°³#3Ž*fògÎÍßv?xëU¯î{ißl¿Ù½7þNû;`tÖg·Ü ~Ææt,‰Ç‰¿YüÍCÄCž}ç®To7¼­øFáø¼zòê·Ÿ~Úl¯å=èÌï2Á2¦ß1eÈ ŠSHW§ª+BÓ7ƒ’.Ó ‰²p³bÂ-&y,o¹Ú47G:pc±0dXo;)ìßf1Ã0Fì©övE1TÊ=زÑS«Í0F ž[¢lTï/Yˆ ÷//„MÝÿ¹nühèî¯ÎØÏÛŽ›lÝ‚g“S"Ÿzü¦·ïøXûö‹–i±ßÙ×µåˆ÷gIîß>ù„ïˆÉ(‡+‘K,Ù%•-ZB–À׺¤&ur¶)./OîϺ)ó•CWÀƃ©©•⬼ÃË^É÷ŽÖWjZy¡ŠA'½qøAsc%¹É%­t8ß­ÉñZŸµhsC~rrr~`QüMó#–E’Kt-å–ÀøP>€•G‚•y¯عùOW’G”‘¢B²0¤€Ô­v )#E$IÂEî=¶ \ÇØ;µ÷­,´ƒÓ[è\YèQÚÿÅtwÞû¼ ¥±â\M¥–Ô ä‰ÂÞ7˜Cú“ ³¸–ë2 Nå6¨§FcquP ‡³Þ%$*Ó!ýkî:M˜È9×?\.—Ô™Öx´~ˆlSˆlXõ媥*¨h[”«7{Óú‡ä‘ŒÁ•fÚ¬71ÿ¡e¡À1xÃñðÐÁUAÚνŽ~2ÉGó¹ÓC®6p>áNŽ4Çþ¤=7/&xƒÍnëÕiÿŒü§ðßB°Á~ýþ§>~ª×hºf²Ðè‚è§¢§><µ×ØÝ?ôFOpŸ8ºøè?aOOcVª#Ú¬Æ,E­Â±TkUÀª¿ðoG°¼ð»=§922}l>éϤߡ"á†$*BW+ÕÚD—A EQ|§é s²¤¹";Ÿ‰\(Òªò[<Å ÑfI’psóñ8Ûö…+Ù4ÃÜ(l™ç±ÕÖ·Ðì* †2Q öäÄ ‹Aî*v»ÝæÝ}}´èÏù›uOZ… 6¦¼õnúšáh½Ÿþß{;w2]úöõï¨éÕÿeªxŸy͕ĆRÅÙZRé?`P âqh}eŽb¨!Û&ÆH ‹ASbÆÌ \Hg5ÖjR7æR‘ O†Zõ•%¹}E·l_¿~[ƒ8|Q ý4¸AJ€ ‹äé òK(‰\®Dh9Xà8Õ‚n)IO)h¡‡ˆÜ­­†±0ŽÛÅT¥sý¥±²@’˜A«¥,•%ÍV°¶–k-‚¨@®Ç‡¢YÝK‹î÷ÿ¾†Ö€Û¼îþ'zúkÀ•r³›ÅòPw # ™4%M4ÐúƒšVR%òØQ$abh.Ñ™ÀÚPPÐê`‰ …º­À¬Óh©À˜ÀuÚÜR±y£²NŸ9X>ÑæZM‰‹yž»°)¯¦”èià Ä"úYàÍêŽ(FJ6çl¡¬Mù×¥Vöw¨8ÔÓ`mÒhL¢‰ÐÃCU—Ӿï4×:À .е]¸=aI\ð†®Î.¶Ë"%xãé7GÌ¿|¼ùR³ãŸ…¶8zÄê_ª{#éfu;,³ÃÖæNçÞד¸“êמ;zåÚÇÊFÒ‡€?~õGð°ÃMþ¯/ìtùžô½ßþ ”ß)ïh+–˜$Ñ©s¡’b‰ÀT®m¡hýÁüºám‰m®P©[#ŠMiñ¼Renÿ‡àñª…ê»fÑ:Ú,ºµ\k…‹¹Ã0Ÿ!Fb=V¤? –&íj‡n³=Ù²çT ‘M¥žvÖ ¸´°ô"ÈÝ…Åb½óß«nOO~ùÝAÿoƹ‡'}ôÏÿ7Éÿ‘ŸWŽXÉ«l–Gº×úÜÐÄ8qrê+‹x^ <1iak²*a³ ÃÓ¨¿¿üÿgïýãÚ¸®¼ÿ#~Ì{„í‘íJq"%µˆ‘6¢MDÝJn$E¸‹Lc™ÝÈ4ÅN ´?©ÐîWð$Bé u zZ¬v1}‚I‹µ[Œ[÷1bCÛHí%[”6(qP~Hq"ʼnd;ÿ˜á‡¾ˆŸF8$q¶Ïûåä…FsïܹºŸ{î™9÷ÞŠB·­¬ÈAÓbeEuµÜ`3ÔgµêaöD#B(SêZÚµ3Ë Îž[H‰…–¦9K’YZÌl--`€ eÅÆŠ,’Œå+¨zCÉÎâfÓB %j5ñmLaËä¬&Úd XmeE â¼j“˜$É$™Ïʃ–«eö¶Ò¢Acç>µÅ2b¶•1-×5sçZPŽ#Ä…"§a—5ŽRŠjK±’\eµTd«ßçÎNMY‚KÖ#š[¼ø”¿8k)ÒËø~+Ò–Åty¾B§ ê¹¹^!€dG“1d®/)â¡¢º©:›„¤Ï&J£Þe°–Ùh¡\«‘S¾Êh Zm{Šl@I‹-&µ 1»w–r)±¢ÐØ^‘?3ÅwÖÜB‚–*«›ô¹üä-׸¬{·Ù9‚B¬Ôg¾-Ðÿ´×fO^ˆÌ®nª¶š÷n³3%ÍÓ[vH ê™ÝdW7U[­{K:8JœglÚ!R8ï¢"‰ü²]r…ùΖïzîPENòÈ¿ýßÓ'ÒåüÕ7”߬œiÿ¦ø·££ï0ïÀ¼Éø…› ïXsÇôÇ"IÑ-™·ÄØØ·²¾ÝöЋ§_”fJû¿ÑŸ4vôÁ/?øôïŸ^G­ûâº/@ùmå¿{íw;¥;©üåü“¡ü™F9Pø™Â+ütG¥¯–•Z½4YåÆüæªmJ(ÍÓæ ½¾v V[0¯É’MhŒåβú¶üΚ)¹)T‰¹o²'*¨žI›%¯¶ìÌY'&©| iÈPòŽ”ÕÅ=æ½en!-”å+ÅÄ·Lˤ$‰%³+LÅõæ²m4-Ujó„~=Ã)£Æ²øàYâñøÄÄÄøøøøø8Çq,˾ùæ›[¶lù„.wòäÉ5kÖ¤¤|”7ä+W®¼®~šóçÏcûD>gΜ¹ñƯmýîþ}iàìë<‰ÿRx)¼—ÂãñR€—’øƒ—±Ü9f)Íõ×®.ë»ÆôsÕ”ØeÿŒF¼<$<²og•_d_îÇÛý;Ò_SÖ‘ÛzP'Håä&1¨ŸkE¿DŠ ‚ ‹b]ÆúéÐé­ìg¶'ŒÏÞ"Ù2¤ ì\±.cÝ5Q=ìÈþ»‰˜µn!Ëb£A¥"æª-ÚÞàJ„u÷¸£â|1ÿãæ)PVBw›+‚Õ{-‚A¤r…y?^•I§ÎÝÂ(>1qît˜ܰÈLBþ¡?w<úÿÒNf.¸¨Ì¹hø¹ß¶\dN§¤’ĪÌn½ûVUñô·¯=÷ÔëÏÿ×ÄÄx¦@¤Øià¥à3 ù¸HVßò|x0ñ7/‰hÒÄz¤ñ™¥I§ö­€ÅÎ\Ï¿6¼'2Kg*÷›«¶u´¼Ü¢ÏÁ0JY2ø*½ÞUo--0Pâ<½¥Pt%d^aÒî­·9¥z\©å:w Ÿyæ¬2äC±uëÖëí–_yòë÷Þü¹97þ·§~}!úΗø—Åö»+(ÑmŠxÊå:ÝÐÈ_ß}ýÅM¹EwîÂéS>×o†Oôÿƒ1õ3BxÙõÛ‹gßákï^êû?Uùß·6Hù8HéÍ“ÎÞÔ¾0µ)/Λ½YEâñø"œÂ8ÀM«¯•@K~¶®ù ‚,Dùuòë®p¦d–nÿ!ط缞ÝBA>7_|#4r‰[øâñÎ6+f ?{ý%þÆ[$9_c/ðRS/ÆÎ¬à¯y÷ïÿ}Ž9³I¥ùJÙ#3CÇxÜ7ðŸc£¥Š¢U´0vêMþ†›ÆØ ›E_ÐTMŸæ~âÑNÛžoÿä¤ñâ›·ÞŸÿüGmþ«Ï»ýÜûA>ù7©ÄèøèŒS‰Ý(xÀK,F:µoÅì->È=¼yí-X·‚ º…rí0Á±«o¾ýÍS/Ÿþï³'—Ïyé™îTú†ÏNûxÏt<¼"V­ ½ìz{äoìÅØ—µ{ÿóô+ÿóÔy³ðŽÑ‹ç·þ0ï»?!WežzíoÏjNO_‘’¾"úÆË)+(–‰Þ÷ƒŸ¥“+¹ ±ÙWW~û±7þ%ø™®ì­¥¼Ôcì8~ƒOoX/–ᯃ “Ϭe¤­?3»ÙOMä%¦ò&_ÆãñË;„‰/ÓRÒ„™±nA«É-¼äC ¿N®]·%û[s¶M»…'‡Ü[¾mzç ß{!Ìx¾ëDZ÷N~㟟H|;üxãs¯?óµŒú‰´Ô‰7ÞØþçSÒ‰÷ß=#2V^<ßÿ‹~±è{·æXæìáÇî'Óœ5ž%¿ïÔËÍÞZJ­ÛxÂ}äÕgûΟ‹ä–¯Ûô9üuäc"X¹N²ú–¿‚™0Ò©†ÀˆÇ§6§àÁÂ[SÌýœž’~Ój1Ö-‚ ²´à*r%9ûNàt$xkŽ]~ãxé©C<>!¹c+¼ñƹ³ïNŒ¾í¡à{?›N’ýPè†ÛG/ž;îÌ(%^JJj:ÉKI þÍ%Üô¹„O$µZ¾£:Ç[¨©«R £Ï­}ö¶¯–Üyï®×ÿúÇÿôüuäãšL^Ê7o+M¸vñYë‘&Þ Ægù|q€‰‰x<>³Ï=$>Äãs×$Ë>sÇÚ•¬[AÝB¹v8óæË$éwoþØÿ€—ýË,E©›`N¿311ÁK%WPs6Ã]'Ú4zñ\;:~Ë͉#¼©ÿ]8ÊÜxÛì“7fˆRÖ/¸1Uºðû­›î¹*« äîpô‡Ùëº%ǼŽ6gŸê K‹oˆÎ—ÁAP)®@,º@ÙÔÕZ,º’ȵJ¡ˆ’i e4A«ôFÙ€Ù>[†6Á•Häʲ1{Ë ·NnDqãÊ-£ç32×%>ÞtÇWΆpó÷0ê·}<|Ñ=Êœþœª(•¸”=¿þæìUk'ON_±ò¦Ï«âñ øºáW8ð¿ŸûíÏÒÈ•£÷•û¾3zþ}øÌg?ÿÆóOýý©ƒããñø8I¤ßWýïÄY‰>{÷×ßü»ëïOýzbŒ»mk©ü•ŸÐ-÷ö3PµsXߢÎ×Qk>ê 3„´ØÔT›+ˆ w[­Þ(A˵F£.{¾?6Òc³vxÂBe…I¯–À†œVƒÝ%h¡B«¶õ¨:ê¸ÃU{\Gö«øÜo¶õE åF“.‡?yAO˜ ¤…zK­j!sêo6ÛûüQ ÄŠ “I“¨½§¹Æ0à 3”ü‹¥2›qí3Ûûü!+Ö+sË– 8mæ6÷TL5¹3e`GöWÕ0 Ô—†uM-:Ú3/sv¸¹´>ªUnÚØµ­år"‹Þü5ɽ < ¼©-ìãÀHì]‡8Äy¼øÄ¬DšÊK½Gzßß ;ÜXjˆ‚×ކ*Oß4W/óÕD¸êªìþ(ÊÞþFîùÿ÷!Zr§ÎYf£tJfÐë÷‡)¥^Ÿ3ÔÑã £T¡¥¥&gN3gGºÍõm†Šåj)7u4à´YÛÜA (¹ÎhÔfó“™éÙ]Ú£é< @Ĺ»´[Óu@Ã9v•¹ÔåâA—/d¤å&-×ÝÑ ‡9YEK£F±¡ýfëQ@åF£&‹dGšK Q–põûÃá(¡Ð75(£{Ì^|¥»‹›Zkðá²T0Ꭳڊ°ÇÞ6œW—Í-®ç‹"®æz[_(Z¦Õ‚£ƒn骥݆Ҏü΃ÅÁº]®Œö{ƒáp”Î[œ5gGöï©òhÚh%À{öô«Û[”œP­‚ŸÊUKI sÊËé2{_ùílïsÚž§ÕÜæ s@ÉŠ¦Ê¹ý¤Ö'oÐdÒ.|ƒ³ –¤ß`k·Ùèò°Ç†q±ÉR™ÃO~!Ç®2—¦Bìê÷‡Ãa–7Y´’kQõè"È•ä+»êgÆ|é¤tË?L¼UY2ý÷÷êî¸÷Ò=ŸoUj¦ÿÎÈÜõÍšÉ<Þ={,ó¯Å_cÁ÷¶PInÿšöö¯i?…[ÖXŒÎ»ªõNÂõCÔ3(jíì•ÀÈþ²=ö>]®Ž´Ú˜Šö# q5ì1XÅ]ÉÜvØn°‡uíG´’Ù¿§ÊÐ!;TI ˜m^™åH].?ÔßPÕÇQs¶Ï8Íõ⦮}9ü³¦¬Þ&ë2Rf{PÓyL'!C=•eV{¾¢!'YÙƒÕ§n=¶? FUUõm²Îr.ìÎm9T+Š 5–íµ»µûÕ\O½y@léÜ—+€H]™ÙšÝÕ,¾\ˆ6ƒÍŸ×ÒU™Í 5ï1ÔguíWO ¶É¬ÊVK°ÄL5uÕe“¡žÊù™+¢ÞÁìÖ#uq.?ê¾òØßÞùëi6 0½»ý$ O‰Õe.eö±íŸ+ý¬ kÉï…Æë“tî¯AÄUWf¶ªŽ4Ëg†yIÔ¤2™”%fª©³.›d·Dß’Ù!'ö„Tûjø¡î]¥f+ÕÚ¾¿– 8vîisëf$Ãf»?¯õXe6q5îéㄎz›OÙÒµ?›Ïzö˺ê¨Ãó„¬[è^9ß eÚ·_¬+5Ôw;÷Ä\µ¥6Çpam6ã¬7¥Œí½ù"6ä4ì1Ø¥]µR êqÑûˆ Ò_SjwŒ(kõ–žª ±«9Š,!y–v%¦•í-„˜Œ8 ‹mÀB¯Í:@é»zó±Áæ*Å—H%ìÎiß_#€P÷®ÒÅYs2«ÜTîÙkíQ¶(ÜVQÞºCÂ'%5UNªR¤ÔHíwH«MòV’õÚí^YÓ‘Ù$D÷ÙœžHNþL¿sÙ¬´©ë¸Jj.Ûk=ª< ¥“Þàìg5Iû )„ÝAUç:„z*ËÌvUWØ›ìÎçcë~ l(­oó7^‹ÒÇ RA®$”\W(!Hq®”bQ–õ÷¸AQ^(!@ Ð) ¯Ó—,ðŠ :=Œ,‘È,Fv{B¬¿ßO(4r>ˆòË …sż=>:O›Ã‘ºéH—1‡OfÕtkÕIH)TB.f’–5äq†ÅšÂ,€ÌÒµi¯HØZ©Sˆ€/ÍÑ(1ŸÓOçiåR+ŸÓÏ^¦ DÐéŽJu‰©üFèïñ.0ïã2™‹ÕJô —'i)iš[µI×#…©Ó+‘Îþ7ÍJXv÷Þ« šH5y"\-¿kVdä¢Õ´Ø–LPrµŒ´XHÐò|)™ø¢Ñ9G|® 0Oè7´JzR³î P«Éæ)ÉÓJO0°€“;†Ò|¥øÂlŠ« „bŠ 3 -S…åJ¢<œsO†‰2­R@‰ÅŽ¢e‚@’%|IV–ˆü ˜ öû8™V!~n¹V:_*”\“ˆK¥¥âE[s2k‡IÇuÔ×PnÒ%µ`©Œ“O$¤„ãíé DXAnMc]þœX¾Êr¤Ë¤_¦’Ñ‘h¢—UhÒ~#Q/òD€H¡F}ÞðÂ÷Hˆ5‰nŒ/Φ!e®MÓ†ŠBä BPÄÜ\4Ê1>CIQâ8Ç1 c€ùÆ‚‰25œ¢)`B C3@I©É³) E¸/Iâ©4$ŸÀÚìÝÞ0\4È “•e GÐss! ¦†°³¯2U h‚ñ3ÜeÊÀ2Q†óYK‹l“•À€8Ì$‹e] s ‚¢)lQË–²]ÎW¾s.ç/óx‰- !¤À‹ÇŠ ð@}û?ðÉÌeò0‡ž’APÀÍ´íÅ«iñ-yVA1Gi³;†iY‘„ˆ"ü ÍÂLfM=Ípó…Ì,¢‹"`òú$1KéÑÃU%}Ó½¡ˆÐ3§&+kÄYYfõ1”ÜØ¹O› KŇiÀÃÍ\JHÏ×àL’ËZóˆsïœöOJŠuâ6³Oa)”,PN:‹‚DŸ22»ºÕr¸£Û^e rbe¹^¯Ë™-©ˆ÷¨½Ãég˜ Ç^"æd MÚo0ÓÉ* (`"³Àˆ%Y} [ˆ òaýDš¦è¦®ºìzïEÑd¸I‘‰2@I(‚¢€‹2lâ(`¸KÓL`êëX(ÀPÎa°zóZ[›³ùÇβþä×#) Þ0À‡éÄÔ%#˜ÐÔU€‰r”pfl›¤ BJH cWsîÏ ¼|æÈ²…L#ûêOþ¹¿ú}îì´·Ÿœ^˜Ø¥p®+8‹;„wî”ïZ&¯ ˜htRwå)0õ°=б85]ñ–LPp!nzXå¦5Ò,JOi` IDAT![K‰æ ™ 8nÚÅäëS„ðöC•s†³ìÈåS òš:\¢Ðè"Kú€gñ ˜ €‹N\&å@ø­9;·ýdžìmAå¹Ïn’×å|èyñ¤(WW—«ˆ w›÷ÖÛdGs¦®sY넱½=_DBl°¶Äº¨“õ‰^Ž™~éÇD D•ü¯›%‡1ˆAíùq\ˆYhA>Rª‘sn‡;Àúëö %!Åj%åsôXˆ ww‡Åj¹ˆ/ÎG=N ".Ç@xn"¾\#ež„ú­{ªì¾e:KÈ`C.‡3¼à P¤P‹ÃÝÝÃ16Ðm(Ûë'¿‹ÄUº½1€Ð€Ã rµ”¼L8q¾’öv$î"®}uÍý ­~ùÌ‘å̦µ·nß¼“7w©ÑD¸h ¤¤BJÒ5HW¯XóÏy¬$V-ŸñwX¹{ü”L%œnìBj"€c.ÑÕ•mÉ™Bèf âvx˜YšMe}Ý~J™/–$2AÓN¬•:2à .Î/äË5²hŸ#±õ;ÒÓPç¸Ü¶0 $_€ÂE–’Ñ€Ia®|‰É ±!‡Ã¿÷*¹5ŸÓþcƒv³Gf4ÖõR·Ù>˜ÔÚGG „IŸºkv7$Ì¥@,^ò –‹F9J(¦I€ØðQ‡[Ü#Ÿ¤ý Ày»Ý`ng–ËéEX®Qðm!‚ ÓIÕ ÎZµÍWÑZôû\cS¹ÕZUdã&×F“%|HfW7U[­{K:8JœglÚ!€bcõ`ýÞ’"Š+ué€sîàQm1˜m¥õå;,–\!¬P¬¥EvZ(ÕTèðì{ÄͪùW”ìhÒêëK¶F9B¬¬hªÈ"!œtˆª¶XF̶Ò"€ åº&c. —OBu“ÞfNÜ Ðr±|Á×I3gÃØ²–?<ﳿ¹ðÞ1ÿ‘„K˜ˆ"¤A* é£06ëôIïð;[¾¿qx9Ý%“ìU;ýá(',4šrùÀNuÉÔÔ®ÏWPõ†’Å-íùŸPK–èL¾ú½÷¥„R…&OìñMjÖ2×—%z“ê¦êl`¾ùlE…¬¾¾t—PHKóóeD?,fø(P›,«­¬ˆBœWm/äé‘â|¥ð°¹d{Sgc..Œ,>D(z—ÁZZd£…r­FN9aí?ÈšÇmV\ß™ËPéõ=eVÛ`gÃ¥òˆø}Qa¾8©h$…åùƒ¶²+PÒB£)gÖò*v8ÍU%4-”ëªõÊzsý^G‹þ{“dý @Ð ñyW[0Ù¦Š, é=2×K â±,nºƒ, ñx|bbb|||||œã8–eß|óÍ-[¶|B—;yòäš5kRR>Êò•+W^W?Íùóç—iÉB=»Ëz´]púÎrcbbâÌ™37Þxãu¨ß3O›žùß»/—</…ǃLX•r–æÞ›}f /¥ô eßýrÍ2Ò/;Ü\jˆšfÅi!(a4Á×™ ޹jJì²K£O?!"ÎʲîüöZÑÒV3;X»Í*níº&ö—¹RúÅ RA–5ìPãö¢ZgØ‘ž -—â:,ÈrbÍŠµ?újÓ-k¦—ò‹CÒ E˜FO}žüw·xË·Xc‚,¹iÙ¿³`·c„`Ý>B–+ü4®jë+« Eø,GÐ-DdYCæT ¹¶²‚‚‚m{ Kî,72ÉÕ¨oYýÙ©é…°VnÊÏžW˜ká¶Ùˆ4l¾‚,½iÍÒ™Ê鞪mÛªD¹Eÿi ÄíVŸÒTƒa×Ë "E–Œ«(ˆôË?{úºúiþò¿îÅö‰|(0 Æ'ƾ×÷í7ξÆÈáÝ–K~þ‰ð“gÆb‡¯Jóùº%-5ýS(Æò GPÂh‚Ñ#ËX¿ø¶AA®©)i?új³ò¦¯ðnHYŸššvßg¶f¤®øî—`RÿøÓñ AÝBYŽ<ô•[ÿô°Z˜™U ×<V ë¾ü#­ô7¦nHMM»Cpû¯wþæ»ÊSxhmM0‚ [ˆ ×™+ÒïϹùÞÛnØvÇM· ×i©ñ™ËÈ´TzÕÇðÿlG®N±i1—û®ró¿«A–©)©ÿx{YjJjZZZfæ:z-.­€ h‚ÝB¹.YI¤=¢¾³jëmúüìV¯<»=7³g–ü&úØ÷î]èáåzjÅmŸY 7 ¨Ä ]ŸùÙu—ÎÐþüFz=µ²6d~ñ&ðø+Ò§¾]{ÓÚ9ûe§¥¤lZÓ¼ägµf--LKK_¹23%%+AУ F–?¸=‚\a”)vôåwΆ߿À°ccñø¿•ÜE¦¥ü ëYøû[§3ÒSçžWN½ÿÇW¿ôO§ýa~véo¹ÀŸãÆRSxO½ôüfÏ×n\³’ÇãxçlÅüet|"÷–õ?Û‘Ëgfü³÷dt|"~ë†ÕŽò­E¿x:sMºãÛ_åñ ‡ß½øÅŸ^ŸˆÊ6þxû]¯¿+ùåþFòI³~ýMï¾$É ‡µ h‚Ñ#Ë|[ˆ WŒuÔŠlÑš/Ü$¸K¼.sEúþŠu¹nÕŠÌé¹7¯SnúÌÆ5+Åôªœé‰xœHKÓÔ{ç.N'ÿþWoÿV®´æÐ öñ?üõ͈03ƒaÇZ´¹ôJòŸüéºã†µÿ¶ý®ŒôÔ¶úò±ß,ùåÀ~óßÑscGå7Ò‡úÚ<ÿÚ»ÌÅß}7ï¹à{ûþk÷A÷î-Y_—m¤W‘?Þ~—ý¾Ýÿü ×A¨{WAelÁï#ƒ=ý¡¿e‡›·Õ -Ãå‘cCûvl-ØÙ8üq é¯,ØÕúøÅY¾…L’™¹.= Ékbî€cWA¥+ö!53ìtްW¦ß¸f;M0‚,#ðm!‚\1lß¼ûÎé³8G‘ékW’cãØÉ:g/pǾ7¹êôÉ3ç¾ñïÇ/Iþ¯ÜÚ|üÅÁ7Þ€G~ÿ× üúüìÕÄ}öÿJœpŸý¿þ³ü« Ûr^}7ö¯Îàϯ•T(ÌÌ0öüsødYî&2-Õð»ç a›|äÔûϽñ^Ý×?ÿ÷·O·ÿedé½+¯£Í©+Ì]e{·±a—;(³Ù§úX!@eS—‚ T®2VòÓÓÉ´ÔkÂÈJv´vó?\Ûgý޶•Bý©l3zµv,š`A·A®IÎŽÀê "ñ1ÀKO>­è‡‡=óŽOÄW¤Íœ¿žZñÖ™ó«3ˆé©GÇ€O¦§§¦ÄØQ"-É{þUDœçÆcG¥ë3¦U¼ö^ì[¿rÀ «W¾üÎÙOÎgé6×·yZ(–«¥S38Ø€ÓjnsB¬¬6ÕBã³—_éîâ¦ÖÊÝl¶÷ùB¨(7™´“ãGÆ×Qkëó£„´ØØT«Ć»­ÖO˜ ¤…zK­Jq5×Û‚Pâ¼êÄÁkŸ5‘)%Ϋ0UÏ';÷¸òvÐ^O0òj‹Q-áæÒú¨Vt¸ic×> 9Ì6‡/JÒ¼jc­ z †ÃaÌe» -íÕÔ€ÍÜæž*Œ©&7yaØ‘n³Ùár@ËËM&mã6”väwÔŠb#=6k‡' TV˜ôj ë¯,qÈ+dþ~_8fÄÅKe6 ÔŸ¼¢¦+ÿ’«àÈx9@+‰t25í*Ø”‚ 8mÖ6wJ®3µÙ|v°¶ÄFK½‡}²¦®r_ÕWÅ‘ý*~BŠÞ(A˵F£.›!Ç®2—¦Bìê÷‡Ãa–7YйŽ*ƒ;ÊyÊv YÚë¤þù©è7®ÊŽA¼„&8Y‹M&êØ`M‰MÚÚY“EÄkJl²öCåáÙJoÈa÷›mG}QhE¹Ñ¤ËápÎ7y32k@ÑKO†þšR»´µ«&‹vd_Y•¿¢k_>7_Ss»#=`5·yÂP²b£©r…i,5D Áë Gà •§oªU æfÛ õ]jâE¡žÊ=YKgM !gÍž±ù{QÓOKWC Ò³»´;¿ý Nr­‹ƒH—‚ÑWŸ0.å±ß¾5ºø]=òÄ«£Ëä†.ž{î­QüaŸøoÿìgÏsìØøüÓþ×áÁWN½?ÿxÓñ¿ÿàk·—Ü)ùÂM‚Çu_ùì:þÿ÷äóoŸ9ïúaQî-ëso^ÿûª‚¡“Q‹ó…›Ö®jû§/á&AÉ’[ÔD<þþÅÑÿ­¾óÑ"ùo‡Þxóô¹Ãß¹'…ÇëzþuÅÍë -5å\ž;pØl÷çµë=tТ ¸Ã‰á[¨ÏlõÊ,GŽ?Þezl6wŒÌÖ[vЄÂÒu &‹sÙ¬´¾ëøñãG,rŸÝzt2Œñöó+ÚŸ<þLW5Õgµ Æ€é0ÛƒêÖcÇï,‡>«}ˆv¸Í6@»z{{{»Lªh¿;pÔ›Ýb}gooï‹Êg5\RX‚ó¹ùå-ê´È½6ë@€ ê̶éݧâÇ\Öz”·÷ö>ÙÛ¥ºÍæžHÓÔ´CH(,]k¥~»ÁæWXºz{{»Œbw}½3’´0‘[[PÓÒÛÛÛ{¤½œtúb³l—Ý`«[Žô>Ù{¤Iá³:@ç©MûìjÉ ¶{"±…**1 ¸ÌU¥„—’BdJÊòŸX訷ùä–®Þ'Ÿ<Ò¢¶ÕÛ‡Y‚€°'˜ßrüɆœi(6h3´1ÚÖ#½½½íD·ÁêŠ%®Ï º¦ýušd¾¶6/dUZ*Ä„Tßy°.‡Kš*y¿qµv,šà¥2ÁI[lRQ'eŽÒ#Nsý€ØØuüø3å\G½m(Æ'1y—d0m@‰$' ãvY6èt3r­B\S³ ^»Ý+³éííííÔ‹ƒNO>°0@ãõIôû<Ô©˜­ƒ±¹ÙrIL<ˆ4¦ aŸ¹c„ôÛìáBSõÝ[tJÂÓ=iP#gP¬Í“\"B·p©HÛ¼§±i6Þ¿qñ•Ó%ß4J7-“çУ?8Ýo_ÀuðwÿË+yíÔ#¿ÿë79pæG¦ÍyTù÷·O?øk×_ 'Mþ›ç_ÿùŸ^ÒdÛî¿[´zåýÿwà7V}èYïÉè¿iîúñö/>ýòÛ†ß=øÇö?nZÏÿ™6×pï«Èô³¸C}ýÿ~üë²ë©•ÿù—g_÷ôyîGÿð…›i>œxçìkï}RîBÄç óÔÙ$Z%8,Ò´ë¬Íæ€@ž/†p8:'_e9ÒeR €/SɈèHtÒlÉt…Y$ˆ”Zçs…Y2«¦óX«NB€H¡rÁ0$%¡8_OŸk$Âò³u  „a·:oø1á5޾Õcýy°ØP|âç_Ð=úmñÛ]Ö_]¸ë³§\'øººªMQW—ã¯ÆFÒéÍ÷êJ·lHßûSëS›‹6¼ÁÓ§£ck·<øP‘$ãÔÀO~:|×½kO¼ðö»Ñ‹ëïÑÝsÑõô‰·OEARôЃ[6¤Ã…€««ë©WcÀ—Üs¿.oSÌJu:É}>ø%xú翎hj<ñmC)ÿù.ÇÓ'¢£0â-¥ß.Út}í!ûó?¾të†Õô*"=5åϼôݯlÞÀ_zÿÂßÞŠöŸ ¾þîå“?þçWÿó+³pãßq\:IýåwÎìû¯é/¾}:ñÇWš%þ¨üÏ¿Ì>ÿ‘ßÿõ“»eŽa€MF턈"ülÈÓaïð9à˜ G¨.õyÚ;œ~€ r\ᔣijÒVQp ÀÚìÝÞ0\4È $º–&ªÃÑa°×3Byqµ±FÁ„¶í)ê˜*GK£,Ì ÷"¨©ì¢.Ìq@Lå¢QŽMAR"Šó0³Ç¸L”á|ÖÒ"ÛÔ5@f ^aT¢\S«±££ÇºÇ&¤yF½&kV&EÓwLb¶K@S=? ¢ƒà$WAÇðΟ?¿$×]±bíD|É®¾HX&ÀÀŒ(šnÒ«›9:¥õh”c|†’¢Dãä8d“ê bÁ"iªú«¶cAÐ/‘ NÖburÇrêT&ÊpÓ¢’Ï`“›<˜º9c@“ŸÌ—kåŒÍ¬C&9Ÿ &×ÔìÂÙÕ­–ÃÝö*[+Ëõzl…Ц‰érÇpsîq!ÏQ^¹Ü¾w@¨7%ÂÎÉ,M!½§ÛQÉ==A©Vq}¬ €náò"=mìô‹M†jM&D]?±}^Uw—Jü»£Ïž*¾c:Œžzö… âonæÃ‰©_0 b¯$ÕíÚ>èjïÝó𣪠飞¦Ÿ?þ´ØPDCÚØ»ÞS÷?\}Æhà·ÖýG_TVß–cÁá ]õÃô…—Ÿx¬ý‰?ì|¸ºˆ¾ðâãýîoßUºáÕ®Ç{c÷=ü¨jCúû/>Ñô„cCÝCw¤¥ÃXðøæÞ˜~áå'å|õK=XôbÓó÷¾;sôåǾ&®|ôaI:¼ÿâo=âýMòÌëìG|åÔä‚ïœ}ú¥·¯ùû%(¸7=ÆŒr¡¾úúiSûÁ\@Ĺ»¤cnª˜ËZï Œííù"bƒµ%ÖÙƒHrj\(¦ Ða°zóZ[›³ùÇβþÄ™‚Mmަb§µÊlÍî2Š(BZÑy@-¸œeø Æ45w4KÐ41c@Y&À4ML›TJH cWsî%Î×¼ÂìËHò+ò+ u †Y—nÆ sAfò6‰2@I¨äcÌ…+jʮͻJ Î.D II(ðN‹‚‹FÍnñsÕAÑ…M]uÙsZؼ8Kž*âLÖo\½ ‚&xɘßb“‹: 0#3†KêL€aB‰… %\Èä%w08Y®UpV§_ŹAa‘‘@RI5ÅÍíœD¹ºº\@d¸Û¼·Þ&ë*_Da˜YJr„tno¶‰v¤Ãæ•+Ãö~ec¾$­øp·g„s†e׋WˆA¤KÆØ‰öºÙS 2p*áæ­Ø´es&=váÝ £™›U›F‡Ÿ=5 0zêÙáÑM÷\ú޾ëÎ é£o?â ª»6¤@ºD¥ZúÅ×biüì/‰3 }æµ{7± sÚ weÓAoà}×fÒÖ®ç_ˆ]€ÑÀ³'`sÑ—6¤@ææ{îH<HÌ\—|c:dló!›;šÁψp=ûò[ïfÞqÿC¥×Ox")„áža"n‡'Ñßr!¨,±"CÝ=Aà"\âu0 “£QB1MĆ:|ÜÔ3=àüÝBîn!S ‰2%ä°!—ÃŽá Ò_·»®'À_(SÀˆjqÐÑ=ˆ 9êzæO öôŒ°óöx9©J<×…"¥jxî@ÄÛífdjÙ, DŠó•´·£/ÀD\ûêšû#É Ã쯬Ü7R ΢ ‚›•‰ZIù‰LbÃÝÝa±Z¾@|ÊÂÀ^æ*²D µ8Ü0èëöSÊ|qò ¤T#çÜ“ê`ýu‰¶·€;åJ•¼ß¸º:–È ³(‚MYRh±óEMPBŠ &&é†Ü=þùÆ‚/×H™‡'¡~ëž*»KjòzÈ´ÐɤL£àÜŽ7‘§•’°(cè®ÙÝH.K…‹*ÌŒÒ{ü”L%$aâÙ‘6óQa…©ÖhTúmÖÉ\EyZi°ÃÞ”iå×K¾-\²šß¼ç±‡n»drà(¤gLý(éi‰¿26)%£‡ž=U\<öìðèfÝ¥^aÚ ~âÈ…Ø…4>?mÆCƒ‹Ñ £––žžlbÆäÁ––‘>»cccƒ?úH¢ ccá†ØØ–¾bº€ó2L—|ó{\½8ºÿè»cë7«îßY´éZp ÿò¿îÅ&» ©ÂW¿÷Þ£”PªÐä‰=>h+ ݶ²"M‹•ÕÕrƒÍPŸÕjÉW ›K¶÷7µVìpš«JhZ(×Uë•õæú½Ž–jh…*`¯ÚéG9q¡QŸË'Y]…Â`--²ÓB©¦Bÿ€ß`ßÛ n-׸¬{·Ù9‚B¬Ô• ucÈl.-b€’ëMó¦ˆR%tTíò…íÔ[òsæ&ñUFKÐjÛSdKda1©3³2Èìê&½Í¼·¤#±ö§ÎX.¾r^aD¹Nf¶–0@вbcEÉg2©¶Z™Pâñèãc&q _}â1GÆCÆRIzâÃ=Z*I}ù‰Ç~·ö¡Ò‹¿rÀƒÆRIúh Ëš˜[xê·ÖŸŸÞùØC·¥Ãè[¿µþüíâG«åÑŸXŸßbüç»Þ¶?vtÓÃuEà‚×þX驪ëŠÒ\?izþ¾G–gœhüépñ£ÕwdÀè[=M?û›=”îx쉴‡Ý%™SĨë'MÏßc|øîÌÙÆfâý€Ë±ÿ©Œ‡ýöB+ãÄãñ‰‰‰ñññññqŽãX–}óÍ7·lÙò ÕúÉ“'׬Y“’‚oȯcŽ]“ëìc]\a&&&Μ9sã7¢~%ŒF–v¸¹Ô5iÌ!¯T†¥f¢©³vÙ?o½RúE}^¤oRm~ú©iÙÊ\~4}Ã]›3ÞþÃó§FàBÀõìéõ‰ÈÐrž´ N<íŽÀè©çºžèyùrKŽ]ˆ]€S®ÖŸôF27¬§3/@AAäª!6|Øæêt×S ‘.c'Úë sެ/6>|ÃB^šXµùÂÏŸÏPo¸Ì¦é’oî)î:´ÿ±§FÒ7ÜQújÀGÛ8"ã¶Ò‡îéêúécG!±ªéÎM åÅß|—¸×Ùôȉ†oß·ùD×O]ciüä¥Þ–Ž¿5‚ ‚ r•é¯-3{éùÝÎʆî¡ÈL¾‹¼}Y¦„œµÛ·n-ªéùpD¬¿rë\A³ƒµE ñ‘æí[ç³ëWÏ$?î$4;CÁöÊfguõqÀ} Y”M] Bð‘ÓG}ý~ZßuðêÛcˆ ö´9Ru[² px_UÕQj‡©Å¤È@h¸¯Í\¿'hêlοÂÒž%Röî.Ž¿ì6‰&p[íCu‹cà°Áê–[ÚåŠH€ÈÐ~ƒa¯Ux¤QŇ³¾ÌTêMy9"~,0Ø×fÝ[6délT °É!×1¿ÓKìh調R›½YµO>S pì,ë×9 ™Òʃ yÄÕ]µ"€XÀiÛk5PÒÎÊëizt Y¦D\ûÌö>?GGÈŠõÆÊ\ÁgLËðþ½¼©E6”väwÔRý•%y…Ìßï ‡ÃŒ¸Øb©Ìæ;Òm®oó0-V°Å§à IDATêä^»·üÈþ|þô…ëöÚýgß³sÐØÞ(÷جž0€PYaÒ«%d¤¿²Ô!ßA÷絶ϲd±án«µÃæ(i¡ÞR;wØÆÖ–Øèb©÷°OÖÔÕ õ9Ì6‡/JÒ¼jc­*á†rÁ£ »»=Á('ÌÓ[Œj 7”Àr¤!‡`‡K œåHC67´ßl=êc€*+Lz¹×°÷p˜ªÃúÖÆ|2"Ÿ2¡>Ûáh^SkMnBN¢lMC íôÑ—•IÄÕ\or@‰óª-µ*;Òm6;¼Qhy¹É¤Íb܆ҎüΡ}Z¤µzŸ)j:Ò˜CBȵÏjïó3”8¯ÂT/""®fƒµ/LÐBY^>Ã}©+pZÍmî @ˆ•Õ&£ZBBìRq©%s‡‘ÁýfÛQ_” e;Œ–ÊyÎ!¯.çìÖ¶áÎÚì¹ãÊØÐ|á³á¡0!Ë—‹§ r*[:5͈ µÙ=R}WÃäS*¾$Wkjáö”Ù:FµYØè+jwçÉ’Éj–-ÛôO7>÷û[[']:vd_Y•¿¢k_>wÙT²¦®†œDcg‡«Ì^Žóî- V·4+üó¬<;Ü\ZÕ*‚7mìÚ§úžzò%êr­£ÌéVf‰°]|40ˆA+5¼ì©7õ½O>ÙÛYA5[]±ägÆv=õ†©©©&{–Í €ó„Ô¦ývµäÛ=€Àa³ÝŸ×r¬÷ÉNc–ëh›siª±¥BLHõ‡UİÝ`«[Žô>Ù{¤Iá³:œßÍh;œýt“é0ÛƒêÖcÇï,‡>«ýÒÐ.‚€°'˜ßrüɆÎe­w@y{o]z¡ÛlžŒŸáü=MË“½Ç˜¤›u ²@ŽÚ3å½½½½GZ4œË¤5£ŒV´BŸYbþ~?¥ÐÈçŒÚD*uþlM&• ;Üf ]½½½½]&U´ß€È€­-¨iéííí=Ò^N :}±d"ýÊÊiE8êÍn±¾³··÷ˆEå³bƒ6ë­ïê}òPk¹Àååæ»²f«Wf9rüøñ.£Ðc³¹cÉÄ5GÊìÝ|ÊÛ?~¬UýsG²ÀTºÐXAX/ù.–Tø¤L£„ú½ÝýC#ø"‘€`ƒý^F¦UΚ’’<8êI<­B+E&—Õ,[fÝY"cÜ΄BØ ÓÍȵ Á¥šò €Ì©k5% W³’Zy‚€¨w0Ûr¤÷Sñ §àlè"²äÃKŸÓOçiåR+ŸÓIvprÀ°:(}K]î¥îA+ÕR>Âl!Dà D|ýAaž:› %…å jár°A§‡‘é %$Y0ìö$œ7Z®–_bŸÈ¬šÎc­: "…JÈÃ̼, ©F)Öïô€B—íñåÚ<Ê?5ìk´9|(4 Âïò/0½¢i:»û‡C1R¢ihÔa¬ ²´pQ(!}ùv˜T&$%¡8_OŸk$Âò³u  4M„û{œC)ʯk®ù€hÌÇéju¹ ³ uÒ°Óbƒ.'Õ(ó´²yÉDšÖcµÙ|ÈóÅG?P\dNÑ#Mjb…œf‚Ñd%"D£Ž8l=NØçÌ’3ȃH¹BÃK¹FÊ t{c¡‡äj© ÙA€J…É(ó˜Íý‘4Å1e^õByo£s8İ¡¡îº*«‡ ÉËË$Ò_·»®'À_(SÀ7²¿²rßP H8‹&ˆ)Ôâ cr[‡Ø£®¡'¤X%_'±§Ew·ÿÒT\ˆ*K,€ÈPwO¸Ç. ®é4Ñ(GÅ4 À^†c.'õìr£2ØÖæc.#|Î×a6Ôw%6ó€Øˆ³£/,TÈÀÏ­®ùm†FçH € ; ö¨R_ŽaãÈ•e¾ “Ëj^—iœÛÑá&ò´R™j±¦)›9šÑ¾-DäJ /ÕˈÙVZÄ´\×dÌå$;83¹Fo4¹Êêë{d–ËE©™Un|Ào®Úæ „Ò-ÈìÊÖvI›½ÃPjeZ¦Ôµ´ksø‘Ëʤµ\ã²îÝfç±RoTŠ$rÌl--`€ eÅÆŠ,’ ^æâÅ2›K‹˜„¤ô& ¨ôƼz[iÊ 5 ÊqI"mE¡ÛVVä i±²¢ºZn°ê³ZôóÅ5K»Šêr©¡¾d;-¤eÚj}±ß`­j¶_ºäèôù9ÕFe©a€XXø mi[›µÌ怠¥ŠÂ¦ÖJ €HÓÒNØmUÛ¬-Uj›:u3ó¨9÷Þ{·N_M\ÑyP‡±oÈG@9O† “ÉŠMæVõè'ŸUH“j±¦Ÿ]²µ•X?šÑeqö3²4Äãñ‰‰‰ñññññqŽãX–}óÍ7·lÙò ]îäÉ“kÖ¬IIÁ7ä×#ûvVùõGöå^{;ýì¯íÏ·\}».MLLœ9sæÆoDý"ÈlBÝ»J»Õ‡–»×‡FÐŒ^½\)ý¦|Ì–-O¹ýΔ ðŽ,%))) >-E æª-µQÆö• 6Ô㎊uâkq÷÷#Ñh0Ì A®DJ­ÔÞÖÖ_ˆ;Ð šÑeï„rsâ¯[]/cu ×0ø¨òj'Ôß8¹g/%Ϋ°èÕ"ìö—øªA€ 8Í›;LÈõíû4"”0‚ ËT¿8·A«Q~Ýü:¬A®*H‰ºñëAå>¶AAAA·AAAA·AAAA·AAAA·AAAA·AAAA·AAAA·AAAA·AAAA·AAAA·AAAA·AAA¹6HÃ*¸Æa='‹¾už›úHmÌP7kTé˵¼ñxœÇãáï† ‚ ‚ è"Wbå¾çnÌ!ر¡_½UóýpŽû&U&Ö ‚ ‚ ‚ €A¤×dZÎ6¾˜ Å`ìxéH¹í”^9¢k¼À¨«1¨½Û¯QúÕùoîwÁûŒþî×ö¿6ðÖ»ºÛ^©86ÀžkP¾ÚüÒDäx¸BéWßíWßýj…éýÀDèx¸:߯¾Û¯Î4ãX¬sAAA·YF°£C¿9½Ÿ»x$ÄýÇ'vöf9ê2¢¿y»¡7½¶WÚã–ü!¯ç‡!¬Pß>>ôÂ8D<¸ÛÒ¢ý, ¯1ð"ãŶ†¶Þâ|Nêì©Þ‹¹^›€×"u?<'i¸ÙùœôÉŸ¯6žìNx•‚ ‚ ‚ [ˆ,%Üùš;_QÝöŠêÎ×k~jýÉÔ7´"Sž cÃGXºh|=€ `­.ö¾œ’]”<ÆÆ`ÜlLúàáK± ¡Î3·­–f¦ˆùqßo¢®—FÙÌ•»~±qûgSB®˜ãZ* ÈÛ×ênwºÆ°úAAdyƒs ¯¦çÂDÄ{¶ñ;£õfk€GlL!&¢ï±1œzZ ã#ïÇEŠUôÿe‚ï§üÿìÝXSWž0ð/îÌ¥bP›h!jKì–L“άå:m“êKh—ËÓqv‰Û83Äíœç!¾3ÂÌžgJØaífV2úßÃSKf¦†þw‡´v‚b@ ­MÄñ¦â½üzÿ`@ð'V)ßÏ<„Ü›sï÷œó=çÜ›?ž<ûtÒg ìGÁAñ[C¾’@໿–k/þÇ÷Θ. V}'Õd†ÏÀ™à?>ÍFÙ‘+9 H<_kƒì¿¼ÙóßC£Å'òå¢Âµ –ß v¹rùèyrÃcÓCn‡wO²ô͵#¿üMOX-ûßKp ¡{dè݃§Þý'X––¬[»xMò ‚nøÜ©¾¾e"ù4Üwêô«&ÿJ·ûe13B÷<ÿê¡K—Æþœ7?iÝ7fÎNÿ/áÏ.<ô\jÜ4üù«‡ÂßÓ¯XseììÅaZˆ¾–bE«úî·‚¥¿½Ê=—y$òsA2„ÏrÉC\¬89–Pß„Ï>úŸ˜“”póBBüøÐÞÿùRÔÿì*ÀÂy/UÌ{©Ø®KæW>7?™dZK¬ýçÍaIÏ51«sdiqCŸŸÿkÓûŸýÓ¡«o¼,Y9M>l8™úìc$1õóq õc¿Š‹'àK,Y„¾óeËÞ|6‰€ápß—ïý©w—íÊk//{1ešÌpðêïþš·8ENNý‚”G¥o.‹IèÃ’Eè«°ýÕσ|יп·ú¿xäWêäi2á3}~äjÚ´0eá¿þ}ª¸‚‹i!úzc».úŸ‘‡K&Íà ¾ù2l¹t¢$ño“‡{ߺxÊWÆI<ûä°ùßÃÄ·$ Vøl|åROjÒæ%_üµì{ìßî–¼´<–ZB¦'ÃGâuÂ4Kßÿ9AmY—¿üϲKB£ø¥å8Ñ3—Ä-^²à‡/Åü¦ç—'EÕO’0Øÿ‡w gø8˜—úÐÔyßÙú}ÿ—pîÕƒó+ÉR6´Çyáø¥€˜¥ËÿèÛ – †ÜÎOö$Kß\{­ëúðÜÏ?¼r €Áê§–üèɤ¨”r8ÌŒú!tb…)ÔuÂ<Ç'{ZÿúÌK))0têãs{þôå%ˆ¤¤üì¥ùK6w¿ÍƒýÓ3ÙË*Òøß9ÏÛƒ<À¼ùýpÃ’5ÉÐ÷©t¶pì}Ã=½»Z/á†b-[ø£o/XÝûà†ÂqqBðÜq„î°SO,L\‘ß?Ôk[-ü^jl¸§÷ÖK^ N°zõ’ןL8×îßyfx çÓWK¥ž×÷Iïïÿµ‹¼`éV'}_üSd’püm¹?¼ÓÓÐ38#@&¾½TŸõ5gƒCaˆ ¢~A³· À"˜Ư-\éÛøÊEþï®*œÜîŠþNbÞ8Põì§žêÚR³éßÅ› qn$.~<üØs @=.\p†ƒo €…ÂüNÌïþáô³O}²áéÀGßZhzNËEæÊÄŒg6<õé†g?ÿïå­ÃœpN"ç½°,ö̧WÂ0|ꃞ_“vèÿík¯§°»Ž†¾\²dÇ‚xÉÒ7_‘,ðG~æy8í×Åsøï%‹Î|öog¦xÃ+Ýó'î9FöÛ×ÿí˩žKÞè›Ür_6ؽesü•ð¾CŸì<Åã@è.į~">¿|nÂ=ç˽øÒÊß¾öø¯žŠi:zî8GnØ ‘ÅÅ3Ì£ÅuýéÜ>ö!ó«s¸x…Nð×=°S…÷vkßÀS+~ûÚã¿}5mÃû‡`ôÍȆ?ÿ¤çû¶ónnøÂ©îW§ðÖÝ"uþ:jÐÝ3W.î:z)~ÍŠß¾öø¯_ZÐwüì/?ƒåª¥…óc–­}ôM5Epìžw.ÏÏ~ìpñßüzÃ<ïñóG/OÕ‰ ~y>ÒŽÿͯ֒g> G/à/Ë­§­Ÿ …ƒLÖ®ßñVƒ³y`‹àëÞAÿÖÒ?žšò™¸u[Õø[SÚÿ1M~õÜ#×þ}IÊþS)ãÿþØw–ìÿÎäañÿz¸îa©#aR|>øåàÕ?v -:u% qòoÌ_tè’çJÊÒ¨öëÅ—W> qBHJzfþHCp»n¶ N°(nðÝ?_’}ƒ’§¤¼®M™x’S?Ìyø_ìþ=IË^qá.»±ìõåñxºÃne’€ørhèÌÇaH{äÙÔXHY–ºî}ÿÑχÖ\»R0vùÓÚ¸¡Hù2ÿÉÀT+¿cæ'Á¹S¡wç/Xýp↠é“ÚÅ™i;Xÿ®ÿú¢‚IßÁvíjþ¢òÅ…K±{‚Ðöí—ðå•¡¾ó}^⡪e)óó%Ÿï9y•8jí(ùP…^dSËã.Ÿ¹2 ×_IHóú¿|ûäeâ1áò咊哲ÐÅåêÁ:Ú³ø¥ôŠoŸ/uœÇ<ò\2N `ZˆBÐwi(>‰˜C}üˆ÷O¾óÎèã_Bün8*-þüÌç¿ü0|އø8¸t æ¥M9º‘ü#FÜx¼oÏ¡Þ qĺ§–üàɤ WM$§¼ž}éÞù¬KŸöúÓ}µõ iKVbõ†Ðáٞ̋ƒ¾+#_†Î~§"C5ü,¿2a*€þµáýЇì70@Mf>—#…ã_9zúþ8™láëÙ‘BÜʧ$Ï~zfÏ©”ê5KžùϧU­ÄŤÝ‘Á3W`Þ|Ï ô÷•¾yi4~a„ D_R8àù°×væjßÄÃÈù!xvÊ~X\õ¶?núà,?_¨{Z’Ÿ6aàU˜&Þžæ5µ²ë^’¼þ©ogkx6YˆÓB„‚+ìïzFdÙ‰BL!b2³e•Ë£Û¡á®ñ_/÷íú=»ˆà¿žÿb—Í€¾ž/Ž\ž¹þÚ$þ³@éÁ€ç Ħ¤&¤ÄD!æ•Ë{~÷E¼Júƒ‡Ã?ÿ¯`ÊÓÒ¦Åá‘@èN:”—¿<êôÿ2˜ôÚÚd!Ä.{" z‚Ç/ßwq#à‰t)‡F¾ä`ø“²˜ð—Ù¦3044ŵ…»ç`WÓgC@P ²¤˜I•ƹ»þ™pGÎþO={‚Uäˆp)Bwdè\W¯©ùñ„ä…”Xá’ù²+—›z¯=ÚÝôÙ0@ ÀÏÀ78¿4)`èÔÉ wh$Ì\߬ŸûøÌVg_@üÒÔøy×5Ðe­¹ÚGÖ\ê-}H÷ÒÒg’ð@ÌVXõ"„îÞȇͧ´‘_ bõJqõš”¥ˆ]¹6í{ïʬÁ¡ æåg/NØy˨Eîý‡ýl¹N\øhø—¶¿4% –¦-úÁš«åtïIs'¾;ñpjþÃçöüæÿõ@œ@þ„¤ðá¨!­¤ä×ÿ>9òÂÿ½9B·ë’÷ ã€È÷Î//X¨H¦--_}nÏ!ï/aââW?µTF@â ’á=|ÊûÍô­™·óO¾ó¾`QêC…Ù ºš/˜œdŤ¥àä¼ü'/ýü¨·‘€˜Ei ôDôTaìÒÕ˳T+~£Â£ÐíºúÆ›'߀yTâšµËÊ3“„´àG¸Ÿ·~úb—.[´=5@ X™ÐpüÓïôˆµaqîÉó¥o²)”@¾úá,ëy㨿éùIy_ìÒ•©Ïôô~¿®— ˆ„uß^=UH<,Ù»9òë’77㱘Ýb¼OË"¿e¼w ‹Ýÿôbd$&&æ^¼ó¹sçæÏŸ‹3äͼáááK—.-]ºô½?Æ/B¡{¿Ÿ!„B!4§aZˆB!„B˜"„B!„´¡Á=º°!„B!„i!B!„B!L B!„BaZˆB!„BÓB„B!„B˜"„B!„М'<£<±*öoV,tßI$,„B!„¾Ò´zýÇCCCÃÃÃ######ãOà÷ ™9»bbbbbbbccãââ"¿ÄÄÄŒŒŒ ò<öìYL B!„úªÓÂøøø¸¸¸H—ÓBô¤…‘Ÿ±±±±±±0<<Œ…ƒB!„ÐýL Áõ9!¦…襅љadž0’âù†B!„ÐýO ú*ErÂÌ B!„ºŸiadÒ ÝÇü !„B¡ûœb) ûgªB!„ºïð{ B!„BÓB„B!„B˜"„B!„´!„B!„ÐÜ"À"@hÖþì³ÏÂáðÐЖš)=ôÐÃ?‹Ã…¿Caü¢9¿˜"4û¸¸8™L–˜˜ˆ¥Íív+ ,‡;Àó|OOÏgŸ}&‘H°40~1„1„Æ/Æï\‹_RBhöaYö‘GÁ6 Í ‚ –,Y‡±(0~†0ÂøEs0~1-Dh¶Ö Xhf%&&â²(Œ_„!Œ0~ÑÜŒ_L B!„BhNô!„B!„0-D!„B!„i!B!„B!L B!„BÍ-ø½…}­±¯¿7LˆÒ¥ÒT‹ãF%å÷¸½þ/ÊÖf¥bq ôûºC Ke ‹ã‚~w§'"¤jK =0-°ßßQºTšŠ§åKÊãñø{Ô*‡–`gev¤…§ö™Þô@ÚË?6<• 0pÞ^¹ç8 ²a»éÛ‹°@z`zIm5• í½c‹2óJÊZéuõ-ço±TÖ:ݽaaºJk(+¹ãZ9àr„Ú›õÊ8·q}q+?á1EÕ±:úþ4›œßa)·î ÙRuVtt[w[l._ˆB”I¶éÓ¤œ×œ_ UM&ÙuÅhdtnS‹E1EÁ².ýúÒÎÑ?„b­/12·Ó³å¼–üRnÊí¢ÙÛKò:,•–æÎ±o±"Ò³‹LeúëO>Öc·X¬ÎÎ^@˜‘­/)ÓßéÀçoqq´æfçÑ„3vô¼U×µ˜÷çüc=öÊr‹³›dÒò¨À\õ–{kw€+ÔúmFF6MpqmFEÑh×In+ÄLîîHW©õ%­ìvØmÔ˜§Ü.šÅìn¬4׎ž– ̧XÔ‘ IDATPÊʦ¨Ù'51EÆ2æN6XÃ-ÒÒ7;8¯%w“-4᱌²#Ìý9¹€«¶¢ÒæŽìPæ.ut„ó·X*ëîîÑþI‘±D#¦¢a[ô[A‹UCÝNˆM( B”¡Ê)2Ý^èFíûlsg‹H{Žw]Ž$Š:N²ý=hCþÖÑœ¡ÎÃù›­^nÒ+í[u%uoÐñÁÛ5z‘«tsEÛ†uÀU?V·ß!Ê;ðAG”û•Û̺üŠÃ¼bgÝN"¹ˆŒnÙË7ìÀ˜›Žutk2k¹†âÍf÷4ÅCÊŒÆ;É͈ômG:::::Ž5–e³õźi·æF—ÒcÑoªÍ …BøîÖÚâM&WpR—ÆZ\\Ó«(k<öADZ#–°mÝlñpw˜6ÖÛ|ìm±£\÷+' ´˜ò7W:» õ®ºm¢Œè¶˜t&—H_óök,S…j6_W ŽpV¹ÃzG]c"s×±H[ Ý–lÍ Á¶òüâÝ‘œ Â>gåæëjvÖmÞ\lãrÌMÇ:>8Ö¸“Õ7úï0¿òYëíþ[:óavÝ„ø~儬§¦8¿Ôæel«Û¥‚P*!¢û'ź _†!Ò?©3H=º­öÀ4ïEÑ5-5š;èIŒ—ÆGª %nSþôÛøÚ»ƒ´0A’=푼°ïã“,P ¯Í9öŸ~gŸ¹lûöíÛ·ÿ´ÆÞyàò‰_lß¾ýïø]Í·oß¾ý§ûÞ;?0Ý‹.ž8ø‹oß¾½Ì¼ï÷ö•mßn~ë@ÿùöÿüÅO˶oß^öÓ_½uê2Ö;÷Ù@ÿÀM@÷­Ij©¨ldÈÜyÄu¬.{´¢õÕšlÑ-穯÷ÈwV5²TÈT¹¶¼®ª([œ×¬Õ–[ ZZ×è.ÐR®×j4Z£/o Œv!&MÓt­56z9à<åÅ»}¾úb¦ÜÃA°ÍRùÆt‹ u£µÆX¬c´´Öh÷Ûf¤µ5c{ì¯ahcÛ æK¬Û¼yëánÞ]o©wó"Z%ŽÎ®-N¢¨ÆÌ($%Q0æêBh¶8Àµh]ãhQŒþÎy-:ÅË@ÐeÖk謬,MqÍÄ~@ÀaÐh§Íú(I–ÎRWD4[HïbR1rmš1[Lz£ÕhŠk<ì¤N²Y¯¡i Mk 5n–ó˜5šò±$!èÐÓ:{äAÇyëM¶Ñé'QÞþWÓ¶ôÈ_!§©ÒuÈÙöÚúm®2dI)(‰Bg®Û¥WPl‹žÖטu´Æèæ€õX Lä<2X#ç çm42‘Ö™€ Ë´õpwgå&}—›*äo¾Û­¶¼ÑbÐë Í”·GO¹ÀXmS®Ñ˜g2_ ºL›w8CaW­¹Áé9QÓ©œ·¡¶]ZVgÒÊSI )i–ÞlQ‡êw»X:tYúÑ¢ûk+×êí±ÚM“•••¥54zÙ ©³UOë¦Íú()m¨®É Õïv¦ª9ýVFc¨1ô:F£aLŽÀÄÄÜaÒihZCkc£—›\€ÑáŒÜQ¶Ý¦æÑñÑô’FWËQä¯ÞæšètÕ4CAµY§P‘3´ª®¬@JphÔi 5&†fÌÞ©ÛÓH#CÓ4ieö­ÆÖÞvS¾Á€©BþæûÝ¢§õV«©X¯ÓÒšb«—ó[Ú0Vã°.ÍXý3ZÓY‹77tò¾s­+,ÌŠZÑĹkkü*s‘ŽôOd´±j§ÂSSëæ€ó”k´‘ÖvüwÖeÐZX`½F†ÎÊÊ¢“cBÿƒõXM±=0u‘©2±Æ¬òÖÔº9à¼v“N£Ñд¶ØÒŒ¡Vkª)/Öé´ÎÜœ˜ä6šÖhh®Üáç`bNèÏ|}ÒÂËetµ÷ô\è<ÑiO,K ûOÙ­G½lZî–-/?1Ðs¼áÀ‰Ëñœï ®yeÓú4ë=r¨ãò4/¾|âàŽÀÕ…kò6m”xÞAH€þ΃µ‡?¾°pã–’W×¥t‹¼Ý¿¤ðü[5oXO\ûóBû¾Ê½¿¿€‰á‘¶6¸¯­Ð$H ÇÇߺmö¨M¯ÛÍfäMXr&¡Œ ¡·=³ßÕ¨“쥅¹©¥¥¥Ní¯4Ùl{e¥GQÓâr«Sûj+AR^fV‹Ò‹êìår¶e‡É).kjiq(bkŒõ·V’jwg”Õ5Ú›,ŠÎz«‡3 ÖåŠü·ßå )˜»¿nˆóZ‹­†¦³Öî½V¾^BQR5ÙÇzZý"--ÞC™V-ò;o2£tì(狼[ÚÚŽ” í&‹{´ÄyÖc1ÔBIIq£O!¥µb¿ÓÇBpŠb$ ¾» êíŽÛÀ^n÷Go×TáVTµ¸Z\MFÂn²t¦3ÙD»ÝÇE’àf¿´ /œ|à³BŸÍqí¼Èñ³’oµ]áü.¡`¢Ï&Rªah) @B¸³]²³¥Å¢àÛ* V¢è@K‹«É(²•Z<š+j{k‹ËÕbÎp[,ml*]^¦ 2ÊX ²Ð!KzÛ}*³µÑÞT.qÕ7ûSUŒ4àp#ËÑNd3Ò»žUdÛÌz­FCÓY/”:Ç'ð½Ý!¡Ú¨šó¹ÛBRF}ÆS™ŒŠð¶únœZùm&K¨`[[[S__z­'̶Uì’òjýÖÚlÊëìæ`ªš“ äî”ï´6ÚTgy,Ñi¾ßf´rêZ\-®ýºp}i½7UU ØÛ‘£íl“KÅô¬Ðms†¯Å/1Å‘“²ÙÚ9~ö±>§¢s¢c‚’iµY€„§SQã²›dSµ§œ{wy«d§Ãår5²6³Ý/av2„*sS #a§ù[jÃ.¢¨ÚÚØdÍ XkÝ"Z+ò8"Y%ëqxDŒZz÷ä·­FCg­ÝT뻮ݽ|†¾èZmÆù]^>¡zƒÔ,FÁ{\7iæ<5¥ ¤¡©­íXÖ_ij«¾¸€ÃTÚ–e®bn´F”R0rð¸üç­-µ˜º#-®sf[dH޾·­W]ÕØèhÚ)m­¨½V´œ§¦´ž/jrµ´´T«=•¦æ€T͈<öÈ00çkî1Zéƒ}öÞÉ"ÒEÊ'(èyïôå‹ÞŽ>HSÊÇžHÔ[^ýŸõëV¬Xµ&]ÐwšË2ssŸÊ\õüó+{ú¦|ñ@ £ áI&W•¹jã+ê…‘÷…þîã'!aÕÆ5+ÒW>ÿü‚Á®÷º0/¼â—¼øÚóðÖ^뉋ÚöKÈ{uã¢x,™ SÙë ‘]}¬££Ãª¡€T˜]4Š äéÏ96À¢Tbê7"2˜¬Tº›ýEr €”ª ¤~‡‡Š®;Öd”“¤4KN…üáèfÑ×ìeQJ(B®¶IÝJ>txÓZå¸,C7a›¤8CÈ…X äŒ<äl @ Íž‰¬Ðo3Õº»{CáðÄ«A¨6ïÒFw!Ùp(‘pÒ«¤°¡¦…lg³G”£–‘©´ÙÑTY_Çœå&wV•Y{³Õ:B |ˆ›¦ ‘*'ƒ€T¹ZÒëº6—Áv6ûÄ #' U¥SpnW¯˜¡GóBÖÝìŸÔGFf¯Òï @d™f‹IF‚„iìèè8V¥ðw^éfC)Nó>„XMËHÎït“ê":(EA6ávø9 ³ÿØ~” ä´˜ï E÷³¦ ù‰ܽ;÷Zü*5æÑ¾‘0S« €K©°ŸåRUŒÔßìp~G;¡ºû¬óÔTîì ]Àâ€áèP%WKYgüpúíœB‰m™šû>VB3’H^ÈùáÄaæÑ܉4q‘R–püÄñ“'.~i/˨®·ÆžºÚ}ìÐÑ“vpŠô{!H nðâ~–€Ä‘c–˜B|0À²pµ£ÖÔ1öÒ¾nv`U2¦!÷Ï‚§ô[Àº·öÎAÉ+%ßÍLÆ2y0 æ}ÍöF?%¡sh ëv8½!ä²?Š ¢º/BÞd¦j—Æ*äpˆå;+òéÊÑæ„—†X®ÍVYïð±@@¸7DLhÏB¡pwm>m%xžIXnÂFQÞþ#Sܿ߻ÑùJÎÈCõíFåjg–ÜuVtTÖvOñ¸({çþÉÝ=JHëD?ö³@‰n¸Ë5Ö˜‘ÔèkÃí•@d–‰nþ"Û §,F€P2Ú „ðanÂvÇß^("ùOÊ5Ql÷q¼Ã'fvbVøà##1jµYA,’kµrÂßÒÜ ¸}‘ع6wH‰H.0íÕ¼ccl(j߬qŽžGaŠÚk+ëÛüîæE LìŽMòÑ'.‘¾­iòý8 'uâ UÅH-Í,-nnºê®³B¿­üðTXœSµÒ$ÀCjV¼²¾=£jsòª2Ì gA ,"zÖÆD¤Pkdàq8XLB‚í dz<9>ŽL‰(`CHhFRow³*±ÓMhõzVxg_P!¬ÉLèèøýï$/Ë(è}üòɃ‡>$â©,"²¤-dm÷“ŬpV)²DÐ µ6ìn…ôm*”uÖï¶. «åãg™¡Î`km>c¹|ìÀ²«Å­0êE0¾òtªö”óšKëÙ’Æ&­„伿ü­ü¤¡ëBþNIiZhwtºy·(§äî[tB”¥-PdÒr²ÅT:~‡P]S­›¼³¤D•I8lî¨ê XÝCÈõR|ÑyܤXDpþ±ô ø9‘€åTÕ©ìz“EÓT~ÃùÂ`›ÝM©ŠÄ$% ³'Ý`”ó?>[Éó!žP¶ÏÌY D$@jv´ÞÞÖ™ÑFi-|Vxgw"—¬‘%;’5²èl `°¿/p⭣݃ýz.ôOó.S¾$Ê4€«9ò§Îo<öÅè‹Ó×ÈpÕ{¼ëb?ÛýÞÁ}ûŽ_Ö†îof¸j#æ„Z¯2ËP”1öGo»ËårWU¢°'MÕ|J´F5ß`¨tDj²Þ–rc=ŸcTK(1öõr‘FÄ3¡M¦2s2B›‡¶Ul.®÷q@ˆeRy‘™akLÓßhŽ ¸K·Ú ƨN®ùP»½“€€«¹WL_»>•™#Ùm‚®F7©RKI©V+l¯­m—äà ÒÙA¢5ªÇNMÖçt¹Ú¯-ÂÎ4ÉɨÓÙP$i5,.?Ëp7šŠ-“f³I©VÁ»ln¸@‹Ùdõp|ˆQ†˜`=öÃ>žcy‚ €cùiBþÎóB­¸ÓZïä'^Cu§ïFL&K®ÐU7nïQ⩪RVT¢ðYJ-£—"=vSi³°`M%!_€€@»£{B§ÊÕb¿Íéç“ι~—KÅ C¹ÚWYÑ2í}›X[M©É%-2dQÓ#ï;ì ëvtB†j|<*U¡ûm?Àœ6¿X­¥(ÈìµÖZÙX‚‹¾Š‘YYaÉø©jw¹\í¾±Ha¶1'*5HU¢Ù°ÕÚægØ@[M©ÁÚ;iåó” A8Ä‘b©ˆ¸lí½,ËG`–å§ù;Ï µ4Ñ^_ß.Ê™¤@Ê£Q§QÈiÓþê<ñxOÕS ƒ^â6•ZÝ.Ò:ZKMí2C‰‚’’ Y/‰#÷„©bZEºmÎço,Ö™"ã¿Â ©TSVžé2Y¦¿qëm1o­ð(¶ÉI«²¨ÎFרÝ߯ÿ/ìnlFš~?¥PˆÆ·«VQn«3ܵ‡2r2©ÈȘØW_ã$sfâÂÌ2-ˆ—¨d 09+L^•ûtZÂÕ“‡jÞ<ÿZîrÁ`×áC}SwΦ~ñàªM/?¹P8~èÀ[dëÇÏÁÄÌW¶ä>Auy³vï¡ý’uUKp²¡iêq}uUN¤Â 5W”î°EÖ„ª²ºÉËêSµU»²zë‹_X«\û‚ÁÆ25ûM“&å$LU™´¹XCÓ´ÖÔ.VgI€Ê20d}>­aŠëA¿-o5¹X©Z‡7i - ÙeÎê4ihšÖ;µjrwfÒµ…J%=ý ö(“áo )˜Ì™íIã•4%"§É°wCõ›×+•JåúâzV;ºT”ë‹2ÝÆ|F§¯ìT(&þªÖ\¦p—j”ÊÜŠPŽÙxm°‘”™¶~rb8~¥ÖÚ|““*¬³#NYŒ„XAÙ Œ†Îo ŠÊ™è>†vW¹ÂSª¥i:¿Šª ‘Bªf„>Ÿ4³ÂÙ3²³³n´cÉw6ì(­lŒë¤çUWMœi&¥ººF©Ç¢[¿V¹6×䤊ö×M¾! ¥(«bB•Zš¦5›Â*:ƒ”¨ j¶2—Ö2»¨È¨í.6{ C­ íÎÕÝ¢ëC¦>cÇÜà{©*­¨³}f²Â ÎíU"rê ¤SµUe™žJÝZ¥R©|¡ÔNÖY 2€T”è%Í[óuºâZ–ÎBtõ#-°%výz¥2¿Šªô²èŽj¹Ú]bÈwîX¯T*•ÊõºÊÎtãþ:tšš@(ÏôV2ZZcò(ÊŒQ—CJ ,ÆÈë5›í£¥ Ü”œÉ ¹yf…³Eª¶ª¦ 26nß]º£62¯MdÖLšÕ&寯º"‘³"½R¹>¿²3½ÌZ=ùêó)2³H/m-Öh´:K¯º,OÔjÜjçå9¾ë³‡¸>ä'ð¤k •Jô¹’TKƒ»S8#YáÄá:ƒ˜%¦Žq}]]‰ÈiÊ]i]鯱¥¦Òœ":PžÏèô&—T%&&ª¡ªêó³”kõv©Ñœ#‰V*+ÏtUTNü°×Jc}q}¯ÂÜX¥‰\ XRUDÖo¦išÎ·2Õ‘ž!RH]; [Rï,’E5"ª£iZ³Õ­(3Þ« UU îî$f¼ï‰Ž{àîu<й’“.ÿé?;äýøŸU8õõ3222<<<44444Äó<ÇqgÏžU©T÷hsçΛ?~llì× èþò—¿(Š›½Š ¸›­·¯—'DR¹šÑ3´”úzŸTn·ûJfl\ÐU¼¾ÔM¤«å7ýþ`ÎSžkàÍ÷í»¯íÈ|óu°¥xSs^Ó-|£“Ûí~üñÇï`¿†‡‡/]º´téRŒßŠ_ÖÛbo8ìôB<%ÎPhu…ŒâkŸÙßFìºÜJŸ03ÏXvÓ¯g]­EZ7#«êîÎ|ó5çµä› ê–¾CøA‰_z Öf·/À”D¦Ê+ÔkdÆoT«jÒlv†ÅÙ%åeú›TmA‡.×–Ó4#¦Ü] ìµä—rUM¦Û©I8·)×¢Ø+ß yßãWð Rý§¬æ7O^•<]˜—Ùü÷€…O®Àœ¡ÛGJŒIÁ`AL‡R”ìÚEdÝRKMf0*²¸¾9PÇHfÛçdÝ õ•)‹ÂC>ËNP™FoÖè± ¦!É.Ù)’Dnœxó`gäly½«ðÆ—>˜ÎZ§H·_†s…³Kª\k´h±¦mU¥…e» ù-„dª‚ɨ¬·ºµ&ŬkÈ8¯­ÆQ¸mvt¸a›Ä•¯è×Ë^|¿¡vï¡°|ͦ×Ö-ÂèA݃n·\sË£·¤Ü¸“a-¹JÚÐ2‹¾žm3jÖÝYåFf…èëÖíÎÒÒ·º®’¢Ëʲü/(5&÷lú>x¿U—•_O””çHð€£¯Y ,ÓÜRN É)7f¶¯Ïb,ÞYÀœÇ¬]¿Ù!-Û9[Æ£ÄE¤hŽÀE¤wì–±Ì9·µˆMY€¸ ãCCCããwÆo,„B!„šË0-D!„B!L B!„BaZˆB!„BÓB„ÐìÀó<šYýýýqqqX¿Caü¢9¿˜"4ûPuöìÙþþ~, 4ƒóçÏ …B, Œ_„!Œ0~ÑŒßÛû:ûwß}º-Ï<ó ÂŒ“H$@Àëõ aiLâv»±îÌC=ôðÃc9`übc#Œ_Œß9¿< Í:±±±÷îÛ¥B¿!Œ_4çNo,„B!„šËno¶"„B!„Ð× Î"„B!„¦…!„B!„0-D!„B!„i!B!„B!L B!„BaZˆB!„BÓB„B!„B˜"„B!„´!„B!„Ð×’àÝwßÅR@sAllìððpl,… 4óîupaü"„!Œº§ñ+xæ™g°4Ñ}1222<<<44444Äó<ÇqgÏž½w›‹Xò͸¡¡¡øøxŒ_„0„1„š¥ñ‹Ã6h® bhhË¡{Ô&ñ‹†0†0B³4~1-DsErròÕ«WGFF°(šY###W¯^MNNÆøECC¡Y¿˜¢¹"&&fÁ‚áp‹¡™‡,Xƒñ‹†0†0B³4~1-DsHRRÒ¼yóX–Å¢@h¤yóæ%%%aü"„!Œ!ŒÐì_¼öÍ-B¡066öâÅ‹III±±±oŒ†Ðíêïï_°`ÁWСœ¿‰‰‰qqq¿a#„ñ;SïŒi!šs’’’’’’._¾ÌqÜ•+W†‡‡±Lº-±±±ñññA,Y²äž.<›2~/_¾Ìó<Æ/BÂaübZˆÐ]¹§×Ö#„˜‡zË! a„ÐL&œX!„B!„i!B!„B!L B!„BaZˆB!„BÓB„B!„B˜"„B!„šnë *Ní3½éÿ3!%M¶fýÆu™ âgbWú;k~Òг0·ìGëàA!„B¡¯ÆÌ.T®ß°aýÓOJ ç㣠oì}ïÂ$B!„BÍNwðuö‰òùo¯ˆ€êwjß8Úó–ýä“ß_• ý§ß9h?æýâê  å‰›^Y'¹`¯¬=Î.ßôÓï¯J8mýÉÞ“‚'·üä»i}'|ëDOß Pikò61™“&ûO¿sðȱ“«‚”åÊLîªEñÝZÛ²õ«:Žw± YóÊ«Lf2\îüÝ#]}W!Aòdî¦WžZ?pjßOÞôROoH;yôôK(Ý IDATcjÓO «ñx#„B!„Ð$wumaü"ÕóË{N|1Û÷í=z’]‘WRR¨„“GöÙOJÖ´ï­óñè;þ>+ËÍ[Ÿ&Àƒ=ÃúnòB!„Bèëž(*`í¼|úx@ÊúO¥§g>¿1 ®ž|¯­y’‚ÁÓÝ0èð^jÕÓ?Á‚@¶aýÊôk6()´ŸŒÎ /žx¯`¡ú•«Vfª˜<™ØÎ÷zÆrŽ´V-Y´bÝó2 vŸ \è8ñ€äùçW¥§?µñé…Ð÷ñññ…­i¹zfj†®D×rÀóoÕ¼a=1vÜ.´ï«Üû{\OŒB!„Ьs—shý}}WRW{ú ïèÛŽ=y¡_©R¦¼ìtGO?uÂ{R”kÅÃé‹WÀûæO¶çÝ}Êñ?Ø/X R‘]LLI`ûú!a4¬M¤WÙ~¶‡~¶ýÐØ{ú!€Z”‚ó„÷Bü’_{Þºw¯¶lzb°£aﱄ¼’‹0ûF!„BhN¥…çßwöV(%ñ úRžÞòšŠ}kµ”kRŽíê8‘èe!e½jI< $.H€®Áå/—0éñ£/M âaì§ñÔÂD€«ì,¬\0È^`R¨Ñ}ì»Ð+âa½x JŒO\˜pU’[²I6zù  !%zf$óEÓZð”~ X÷ÖþÂ90(y¥ä»™ÉX&!„B͉´p0Ðþû·¼Ð±ÛûqW–çå®LX±& ÷|Ü~Z¶.¥ï½£Ç)ë_Ó«aѪ5 í8r`aîšE/Y³Šê8Þsüã dƒ^ç['Ÿxåµ%×ÒUëÒŽéyëà[Ôú4¶ãH@Šr½$.@à÷‡ß£” 'tV(Å/J\µðè±@{G@¢tÿþ­ã¬$÷ÕïÊðè~5™aü[ÇOoÄœ!„B3"Æe€ÐÌÑÞô¾øøØ1HX([¿1ïùÈ]D¨ ·ô:øÞá7? Ò”6*Œ&yª…G| Y÷D䑸ôÜ-/†í\–’’’ššJ–žœCÓB„Ð×$'dYvùò剉‰÷kúûûÏŸ?˜"t+Ýî®®®äääû¶sY___WW×òåË13œtrž>}:))iÑ¢E$Ib ¯ÇqW®\9}úôŠ+ÆCòÄG~ôчÎN~ó›«W}s5¦…¡W0¼ïËÄÄÄ%K–tuuaZˆÐ­Älrr²D"Á¢¸UV¤Î ƒx &œ‘œP ÄÄÄ` ¯,$…Bá_|1’'>úð?þcß#¤õõõ ÜßÝ‹OIIùÿØ÷ÿøÚ]f†˜"„î¡«W¯>‰‰‰¸â¡[Ñ××·|ùr,‡û.%%¥«« ÓÂI'ç’%KH’ŒÅ;&¢¯T\\\rròùóç#!ùá‡î¥Kyê[ky䑤¤¤û»oW®\9{ö,¸Ýw™b\!„BhÔ2”ƒp0kÊ“sÞ¼y˜¢¯^llì¼yó¢CòÒ¥KBNIII<òÈ¥K—fàcâ‘F!„B>\;Šsçù!'Ï yžÇ´!„B!„Ð]Ák Ñœhdrwwƒ(ïÀ“ìÞÞÍŒ ´ÙëmövwwˆB”¡ÈfôEŒ"BwYnãúâÖiFGÓKšìzé¿·§\³¹Yºë˜UCaI#„´¡¯)¿ÝÖ B!„œ¶Nc¹âÞå…AWùæÒæ^ 2T9… ©z}í®æÃ•íÍŽ’ýuú[ÈH99·8´ó˜% ïÅÐu„Ù…EY’ë‚C˜)º›w%E4“Gˆ¤³û«‚}®•n²ëñž%!„0-DhªL«±¹;ÂÊ g£Û¨ÈºG{iis/¡(Û_ÍŒg€z£ÑmÑÛj·ZGLò›%{!;Rò†J%Íj\:tÊÜÝÝÀ·n]«Tê‘ ¶Y:MÖØ‹-®@Ôöƒ.‹!òN´ÎÔèñ;ôJ¥¶Æ?¶K‹¡Ç6TlvxÇþ×oe”J½Ãã0j•J¥þ·û¥’6¹£?ç5k”JÆê`[ôJ¥RßÂÎÜañ[¥Rcß!ÎkÑjÍ^ mtsxâ¢ÛOŒ¼fRipùÛjFÃB©Ñ—·8ÎkÑDÇF$]†,¥²¸%ÈyÊ鱜ó˜5Ê,ƒËÓX¬Q*³Œmëu˜‹µã±‡7ØhÔ³Þ³^ùg½¹%ÀÇ_M3&{TÂù£‚V£3ZÇ+¬mˆó”Ók·¶òÐ]›«TÒånôå³wFc‰ó·Œ—ÃuÕÑm ¸ž›W)œÛ8ZW^SìºÕªˆmÑgÍhÅuGEÖâÅ ¡û‚WÉR®á…Ö¯t–X,L ÑœÍ ]aBU  (…Ž‚ÛÖR€¯¾´†U—79ÒT]$õÞQlñp·ðìÄŠÇ×Ò¡Z¯šb.R¢5赊ÈÒ·€Ý°¹²9$/ÚUU]½«LM¶7”[¼@*]µ¿,2Ëö8PE§°.SþÖZ7¥6VÕÕUïb$>[©ÎÔí&Öl.µµô¶ªêê25Ø F›Fw è(ÍßaóH˜Õuûëvé¥Ã›Ší‘”  ×^iåé²]»ŠžÑè3!ìjt³Q™æÖd0j)P"‘P$š¹YVÎkw€Z-tÙ|Ø_B3‡O±žU››Þ~»©ºPÜÙ¼£ÔRš£A¯Óá®ìnžPdMœ}$HÞg«´ svî2ë2H£aSÅá@†~WõþºêŒÄ‡ÓotüYwME³¤¨îí#våP‡w¶n­gsªšÞ>R·MÖë¬45¾8à(Õí°ù$ÌÎ꺺êjÊ]»uSùXXN¿!2£¤®*O Ê«ÚÀZ’A‘P(’ÌäÈxÀ¾UWÑ™QR÷ö¼]£¹J7W´Ýa+ષ¹C·òJB”wàƒŽ(uô­ÖE]ÓRs_/åüõ6vBº?èµç—6´wó„(=##]aŸs÷f­±%€…‚wß}KÍ!A—µªu 2 Ô"ça«3 Õ^}CD.&Ê./cä$Hô»Ê\/T4×» 5YÔŸ¸!>à dª¤7é…±~?™©(,Û9z¥a–ŒmϯuÚý%&%ÉS"q†LF€ßjq†Å…ª ‘+2ÈÏo¨µy5×Ù`ï…ôm5f²²bCîŽîѬóÖ׶󢼺*Cdåª\!cµù 5õžœr9 $ ÐíÏ0·#×Z °£Ýîa³"ŸŒó7;CY¢–•eiqÍdEí³»H¦¦ˆ4Û:9¹×t [=uØP0x]2H¦R£ñH„HÙ¤•¤²mÅ­N«ÓȘ±­ÁéòFïMÉ Šë’ 7 ªk2D¢™m«©í„ô’Kä?å …$¤)n®mökôÒmTBEžå©‚ú¬TÐéë›+»ýŠÕ aŠTµÅ­NËH(ÎSoiç3Êö×0’H¼+¤lîæf‹³¨‘‘ÜxC©2©D’ ¹,R»Iõ.ýŒ–½§¾Þ#ßyĨI åÚò:Êîç5ç—ò´ÔíX¢¥ÒTÛÞËs ¦·™Ë5Îï¨0YÚÀ¥*ª2뤾òâݾ^¢˜ñW5–‹Ý–•N?Ï0«È²“‘ÞBhÔmv«s ½Ýð†‹:`ÔVJ­ƒÀ_ÃèýF›ºž±´ÔIk¢÷¦Ú¶)TšÍ:yý»1R¶E¯µÑŒ¤½Ýã‰Ô;‹Dö—ÏÛ+bªê rXÕTnó…9Ê ÊÍz9áµä—²tÈéô@UVW®è4m=ÜjÞ¤÷W×dXÓ}ü+ö^Üô³ï?ÿíUèÏœ—®ýFòíš{û öÚc·ói.ÿåƒO}kµ(~¶׌%…µ¥µ<¤çUÕi œßa*®hmÝa²Ë­Ì _ˆýùï¶¼¶ï|ô#Ë~°¯zõ{[þéÔý#øù?ü›ü_÷¾¸8|ê)Ï­Yü ¤…Ï<ó Öè¾âyžã¸³gÏÞëœÖNæd’d£¶Ùì~]¤ç!Th2Æ›ëT¹B ~wF¿?{­öáy ¨›Ý´‚Ê2ÖeE? ’Š|¡ðT{ßæêQ-ŽTÑ´¨ÁÖÞ0Èx' b­bü^©Y ¢½}´ jw‡@˜£½¶ï V«D ‡=î^G>=¡Ðf’×þYE¸Ûmn6‹¦Àßì Aæ6Õ½¸*×ik1ER)H­nöž]퉾vºk7½P{]—]wÌ2>¸ V+®5õB À†YJªU‹.¿^/…ks…r àú)k­¾!può ÖÒ×ê 2S« š[]ž ^JÝp£‘ÒiùX Q" €È¤Ç3ŸÈ‹Y€ð;ÛÞ£Ç;HÕ™Ds$k$naC÷T¯ÛÍf”L˜[•ÐŒ€ó’ÐÛ(9àÒ¤B QWáQÕ5ä„¿±Xo²Ë­ Õ^YéQÔµ4ÊÁ[“¿¹Ò©¶jËÌêöòŒ:»^l)69Åæ¦º,*ØbÈ7Ö+ìÑõótHµ»3ŽÔR9wy®ÉêÉ12 Ö2š÷û]®Â(²ã¯ßC¿•±k‹NJìźÒz…Ã@]ÿnåRÂ.‰ÙÚ(ñ[µù¥ ;ÔYSý5Z½Õ]d‘»+ V¢¬©E“ʶ•ç—ZGÊ€ÞvŸªÉj¤X—A[Óì·ëËËšúœV-Þ‹zN yGÏoúÖ7’o7÷Š—¾l2 $ÝÞ¿]þô¨ãƒ ßZ-šã¥ÎuÖÛ{2ËjLôX½IJµæj_þ&[§Õîgn¥ª¹Í&Ûþëªg„Ë­Ú÷‚ÏèŸü™&ÛÑ Ï¬YüÜä o9ƒæ”È-HsÔbžeùHg/[d;ÜÜè-Šú¢ J,ŠÄ%$@ Är7{vâÀ/I ±“Ÿ¸ëuÔÔÚZ=þPxünûSV\ÈÙ6¯·M~ÊËrïg$Ò¨½£$"hû߀(#zßIJ*ù¯}4ITÕE)ô´°Ýik ÒšTð;]½ 0fÝ‹® ënôH ¶¥]Q?ž‰NÇápTTTLz0''§¼¼Oñ¹Fœ³Ó¨MŠR5ú5¡E&`,í“jqC­£- —J"Y¡Ö)¦>õ„Òk÷%õ†2ÅzXB  …Dzi7:zÂètˆ ÃG㿇ü,@hwþÚÝ“ö&`D·°¡{ÚÃb9²·¡õü`ò‚%+剃cžs56üáSv@°`å†ÂMkÇ\ñÿ¡áÀ>½ÐTú·^~í•o$~býñ›ðêÏôÅ ø­?Þ ¯þL/ýôW?>”üÜÊËî¾pá¢@þòËþåíVÿçÙäo–¼òx@èÏ}ta@°HžWøòjQüÀ_~õãCÉ/È/øéÅ‹Ùäoê¶¼ò¨ß/þïöV\|Á` £'‰¦ÚÃËÿýóŠ?<º6ùÃ.®þçí«[Í£³…—ÿräÀ¡¶î~µrCᦵKãü*öõ?÷-øðÔçìEV°òï¶èW_<ð‹†î~ØWñóµ[þ9oéåëwršâúÚéõøx€Ñ(Žªƒ¥9*‘íp¯ÛË‚ô+RûüHid¶0ò×Ñ»þû—ßßYh®xöË£{ö4zúˆeÏþàGßS¤ð]ÿöý]k–zþØ—[UýâRL š±nŒ§±¹š·¾Ð<ñgC§Ñ<íÒÅ÷²¦y–ËEÐéwùXm꪿µxS­Oœ]RfTHE ¬Û´¹Ò?õ{ˆòv™µ’‰}1B$%Áw×Ddto:³€þöî?®©+Ïÿ;ü¸)ôÆÑ§&èÛ ¶Ù‰º‹_-  jl•ZEGÑ­ÔÙ‚3wéw;_ÌÌBö1Î(ÝA:CÑUt-[°Vø¨0u`kaÖJ§%Û‘¨$vL´æ ½!ß?B `°¶UA}=L'¹?Ï=$˜WιçygßÉK‹–ò‡ŽX™yú9wâ¦óÔ¾“Ö“Çÿ}ÎÀþØ¥¸¥79ÓÒ¥K‰È;">°d‘óâ¾õ—ÓãV„¾þúÁc]k×ÊN<%² ×Ì寀”Æâ{\†ˆB_ؾuä×$Œr„ ©,„?»4Ê_2¹;êòv§ø±aeœÑèxqºÝI$|°ÏøÆ¡ÏœÄoµ3k†ýeç;__·“!"EQ2âk7Fþ|™¯gO?øC&‹\iãd׊yÇÞág¾)óUB±ËÉÈ=¹œ™,gÄ.ÑçшˆÖ+Ì>""rÚíö“©‹Ž ”š—ÅñCßÂ]Ö{¶j×ñ뉯þGܲ7ïÈÿ Wí^ºãÐÕÄW7%°÷ì[ù¿ÞQš½Œûd«²M³'\ýŸù»v…å¦ûþ÷' °×ñÉÅÙÙ¯¬¶ÍûÅ®½Aÿ’ýj ]¬ÉÿÕ¡ÓÚ'çöݱë/Ó’ýÊ“zÏ×üê×;ê¦æ,ã{§Ïª³_y~Ùåý¢ª%.7ñ…"^”ž›2=pD¹}•00àú§{žÕôäêõ|:¸Úüûß0!%ë—³ådÿãŽüû§æ¦L  ç'§åÙ¯¼*§«½fxëðÙÙ)«6Îÿä×_¤äf<H}RÛ㫺îK   óÝŠ¢0ü~MѾúBݦ?½Pl˜CŸÿ.ûw_¬Ü^ªFÙ™¹õ?#ÿo³‰¡/þtñ…íˆtJƒXç©ïØIù|ž~؇,çISξcÞ]V»@ž>]‚ó,O$j+¸ùZ¯¯Ÿ.ï{ëøǺæ/Ù]½ë`ZÚA¥nûÖyöƒ?#ùšÂüÁI »Nþ1ìq–È.†ÌŒô5±…L.#rvñDžOÉή³öF©|†œÈþ™] Á1'Ü­Ã[‡oÆš¥òwö<Ùyöˆ•™§¼©ðÒ±}ŸÍ)ü¿E¿çº•o¿´ôÙ›îä ‘ áÛš¾pEè믽s²k¡üà)Qþ슷ò±@®”4½!ì]N¢Jö¶O"#)$r —÷7ùºê.PΙ#{cßñ®EC÷ãt½—¿6¼ìU\V.cæè Æù.{Ÿ,¿üÐüÉ$œÒ-þî•ÊåìŒWöî]{îò‘ÍY1þóÔgtÄ>3#RFäc¨6D&žrŠî|'^²‹²ùß&ÉÉäråšít^iUøôÞccÃa6;¹ÄÙS‰H>;Q½ÿ÷DÔ{¡ù“ž©ÏGM $¢Àé  9—|T×ýH9'’¥Î΃GήØàuDzóãƒÇx¢Ðyw¢©°÷Ó‚5ÏÿÆ“þ'ý?†âWmÛ/NüéÚìŸ&Lcˆè ­vâæ£g?Lø˜vö¤»SE‰ T¸ï¤H36lX4˜E/¼4‡†MTÁŸzoh±bèвÈ3Ï<òõc‚-]º477™¾‹¸¡ôÙ¡c'žå n-J§/šÃ’õб³^\Þ9%RèÂÈÛÚÉZ:}á<–¬GzMgàü (;ÿà§·<¥Hâ«Ó^þlþÒÛ<Š4ò%Ýœ#†}i™¤[3/„qž~ç×tÎ|å¥[yÛ±rÑLJvTÎSFÆÍ—[w¦nØIv–m˜~»ºJM^Z¸—yÝøzÚbƒHÄÎX°¡¨lC¤LøÔ»†Wê?Û’¶è Höø }aÉd+véVÆíRNŸ³6ã•Ù9™ÙóË·.œG™)‹¬yŠòò?ÎÉ^ç$’N_¨ÏYÞ÷±Ï–½÷Òè¹ðì–Óq%3G½èékLº³Ùi‹ÞH2_gZ3è›U/›£/\‘½4ÎI$ ™ÿrþ ©Ï6'錅óì†e‹N•Ô˜0æòH××=Qèª;ÉdA½œ½Dîèè¡ .((hBÀuGÏ`Øºè Ž $¢Áìz¯ßÒ‡åÀ )ASµ¹¯>5¬U¯·ãæ{MÓþKnÜõðèø%ôÑ‚&p ¯æ.›2 IDATRœv;o·ß†¹·B69h¾,®èXÑ¡CDD´öà±µxƒoüñ]¯÷±\ùÂüE+oå8oÅ 2~FÊ+n}º€%“ñ9™<#Ÿ÷òöW6ÜtC–nß˼nzãaË>"bCç<Ÿ›Ÿ±tú-e¶¸Œ5û2ö½cÌ9¶ pþüyB—ç©ëöö=•N_¤+Y¤±ðqÝ¡÷†ž…,Úºwш?¹º½ÇwZñÞÀÚ­‡>Ü:Pv]É!Ýh¡ÜôÁ‡¾VDî=¶bð÷3ôXWäµ½lÑÎ +áô¥[÷.ñöq´¸ÄyZ2ôгT¹¡èа¿f^õ0T'Ò¥¦cø2ëãþ.4¨þ]ŒŠ›B[êÌ×IM8eî“AEG[.FÆM ì>{üŽGžzR(‹RÓÞÃÙ§Ï•÷|²ÿW¿¿¸4÷•é\PÏé W)LNW?9nî¡'ná¤ò'çr‡Ž=;ëùéÁÔÝQ³÷ò¥)Oq£nß{µ§—(00xh4Ò@_%$ºàcï`õSS¯:úI\Ê“¨÷ü±òÃ×ã^Hœ:Z¤ë=W{ˆ}2ÊWuݯB–šÌ8ôÆëûŽœüÌ.«œ·fCœ¸3ûõ÷¥m ’º9w}(ô@¯]‰™=çáêê?]ŒŒB—OýîwÍþé?EÞÝ¢ Â"díÁG ²ùž]DD"Éã2Šâ2|o|óµ7~ˆ ™¿vëü›äšÉó3J ?ÚÚ’¡ $[QôÞŠáÛo0Íß0Úg´¥ù{—æ{ž Ÿšx¢ÁÑH§+ŠÓùþœ»÷ã–1tÍð̲E;?\„Œ¥QãÁðåêF–áK|¾ô¥‘[yŠ]Üoµì’¥Ù¾ÊuÓ“Þ°VWòá‡7Ù]:}‘®h‘îŸh |}0ôôñì÷>ÌÆëÓŸaþïwåo9,ã‰|*RöEN_•þ|ùÞ¢Ÿv™’¾` ýÝ ÏîÚ›¿eïõYhÔ /Ì@·<êôÞÃ9§þ»'8ó-Í9eAzŠ}×ïñ¯×©—‚¦G­Š›H¾Þ§D=TºCoˆú—l¯ag|—°Ûç!&ÌýÉO.ìÚŸÿ¯=40¦èÔÑú~N™ùÈñ½?ÿ·ÓéÙ?ñQÈ@òU]÷/ÙãKuEK‡ÿUWƤ¥¾öñ¾´Œé5·}ú¯1鉄Ç~[°&ýtÁöÊYû›_mùño{‰&Î\óϳD_ÜÕ²H†¦C¸»|Î[8oÞ¼1-T×ÞË^_>ph`†ëo²vÌ9Oí4î<=S—¿v )²kïŠe¯ÙŸ-{okä·ì¬ä<¿2õ­é¹‡K¾å,[§Nš3gÎx¨ñS€ñ ïü.ÆÉ!ÏG…¥Ã*äG?úQ@š4àö>Ý›ýŽ,cûÖQzQ]¿~ýÏþ³û-ùféïÚÛÛu[^?åÍTðÄOlüÉK7ÝÞZ÷ ™RÖuòø‘´-ö—WÌ‘ ŸzýõNšñò†o“ …K§OúìØ.Ó[öж/ÄÌËp¿’>¾ÖtðA¿e±àþ²¢¨L0šví3lÙEÄÈg.|%_¿vú·9”ó¤)Óð1Ég®),Ìx# <0Áêf· ~ÍÚñ@¹6çí(âä¥;?İÌ[€Xˆ…·ÝC=ÔÓ3öc]÷ôô<ôÐCøuÜ+ïYÀ_-@,€ûÇäÉ“/\¸0¶Ÿ2{zz.\¸0y2†Søz“&Mº|ù2êaÌ]¾|yÒ¤I¨¸k0ä ÜAS¦L!¢Ï?ÿü«¯¾«2<ôÐC“'Ov—nnòäÉŸþ¹;¡BžžË—/_½zõ±ÇCmŒøcþÕW_±,‹ª€»ï«¯¾ònÀg¦»»;88x<”­»»›aÄB¸’!"À½‚a˜Ç{ìÒ¥KcûmÎ~&MšôØcÝ–Ïy÷“I“&]¹r±ÆÄ—_~éÝ€?qâÄsçÎýà?ódØÝÝ}îܹ‰'"ÀmN†!!!!!!¨ WÜMÙ]]]hʆ»ÉÝ€ït:ðgÏžóæ›¿÷óó;úþ{¢(Žù_ì‰'ž;gyúé…ˆ…pŸCS6Œ‰ð5³f¿øâO>úèÇq㤉‰OkfÍF,€"¢)ÆͬÙß=†7‰à†X€X*Ü[ã‘äêà.Ak!b!<¨Ð‰Æ×RÔÀ݆ÖBÄB@,ÄBx°`ȸ‡uuu¡n]HHÈ ÑZð@Ck!ÜÃ|~ÕßZ  ± ± ± ±îK¨x¹\®«W¯Š¢ØÛÛÛßß øFüüü†™0a‚D"A… Ücº»»/_¾Ì0 I¥RTÀ·Ðßß/Šâ… 8Ž F… Ü3xž¿víZPPŸŸŸŸŸŸD"A[À7år¹\.W@@€Óéìëë“Éd¨ÄB€{Àµk׺»»† pgBÔ Àw ‡î>ØÝÝÝþþþh3¸waÈxPô÷÷»ûŽúûû#|G‰Äßß? @*•:—Ë…:@,×®^½*•Jýýýýüð²¸müýýýýý¥RéÕ«WQˆ…ãZoo/2!Àù‡ÄÏÏÏÏOETb!Àx…¸ŸàNp÷&íííEU Œkýýýþþþ¨€;ÁßßS€ ÜÐT€7 b! b!b! b! b! Àý/U𵂃ƒïþImü–‘±Ì„»êîînüÒh-§NYOv8þ‚z€; ­…ã‘¿pä¯ïJ¤ß×0þÌø.¬ÐšýÌæ&‘4¹UÛäÃ×YË×­.±*£bO²r Ë6ˆáTášè¤””„0™g™³>ýC»÷n §Òħd¤iC¥x1b!Üu_õö¼ÑúZw¯ÓÆþÞÿÖ,±òÞ(w[e‹=A;,vVW[ÆAÉÔiyá,‘È;l–æúʽ††ÕiÛòR"dCIP“‘—ªfˆHä–ÆÊ’Æ¦¢pdÐ@,€;«ÃñIiÛöK=_‘ÄEÚ÷ÎýÈÊñ^nN£æÛ*›¬Ú¤¡FA¡£ú°Ó(mc\8V­™5Ë“’V¦Ö6K²Lꊭs=‹E¸fVÄ@ãàܘ(ÎöŒ¡¥ÎìLËðª€ûî-/\.×Åk¶m-y_tÛ\.—„ˆˆ.^ëÚòþ¦+_]ï¥gTZ c®lèZ$˜+;ñ1œ÷v‚µqû–uKbccccc—¬Û²½¾S ""gczlì‹Õ­õ…™«ccccWeno¶{ösž©Ìvï¶d]vyë™òu±±™ÎƒvÖf®r4ñ¹³w íç‹T©ÕçF³|CIƒuô(É1,Ãà… ˆ…p·|~¥ã[œâU¹ˆÈý_"úâšÕØôoâua|Ÿ OŽf-Õuƒ°½²‰W%k^ÉÊÙhܘsÀžQ\QUUQœn9`ØdHw ‘¹ÌTšV|ôĉw‹SÙ¶†¢VˆÈ^oØ\ÔDñ¹Å»+¶¥E´s*-î=ˆÈZ—µÑXÃGëJ+ªªv¤(Ú÷fm,#!"T“’«E¦£²¬MTëò2”ryè¬d½>šq.kqÞ¬´RNÅ9l¼gß°ùwæÓÏ,ßh<Ì,ÎÍK C*ÄB¸œâÕ_ÿ÷¿Û®uÑ@#¡Ëý_ò4ÑÙ/ÿ÷õ–Âq}2uòbÎÑPÙ.¸Sa‹ží=ü¨`i´£ŽQ †-©*FMdk¶ 4íqj5ëYǰ,‘hl­"ÕÜÁýdáZ'mÚÍí6â4áœW9bT$ZZm7k/܃C™•‰Òm+°-O·RÑbX½±°Ù‰—' ÀÖïê¯úËþzÙLD.—k ºÈýÈåõs¢³þ÷§^ïí믗" KZ¬à›*Ûœdo©l¡¨”èaÃxŠ"/Ëyß®Ç0,CIE–¦’¢6–h ½0495ꀱİC‘‘Ήæ¦C“¨Z›êJys[+É"ï°4ו״9Ø(]Aš÷ˆ2¢­½­UdˆˆDÑak®.;`¡ðŒ”Œ:ˆ…p§|æø¤¦ã¹È=Ká@4tIHâ#’'4Rûÿóá…“óU ÆãUÉ£’£˜6s|’ÚGž’ÍÕ—æq¦’¢M5<qêè´]ʬ¯0^™T×i(:µ~/±ªèT^aØ|€qß~(׿•R‘©Ì°i¯HÄpáÑźdïÈg.ÉÙìyÌpꨕúÔTmØð³ŠmEYƒ«PkV榥%„âu ÷?‰ `<.—«¿¿¿¯¯¯¯¯OEAÎ;7oÞ¼;tºóçÏOœ8ÑÏïÛtœ¾E*<ù‹?ž?&‘Hü$~’øIü$ò“øùIüü$?‰ß•k_öˆ=7DѤ‡¸ÒåûYFv' ÖÝÝ=î^.‚Ó.2rÙ@Ös6nYžc^VZ‘‰)$Ƈþþþ+W®L›6 Up/½…cÃ)^ýoëIÏ4#§£p?‘H$ƒË\4l£Ë_9œÙër¹ŒÚ²×e=³|ùæg:­ÖŽæJ£©ET-NR!ÜèD 0\.×~XØs½Ço øI\ϼ—‹\’'¾º’zýßϬš¹>80ø¨0¹6¯˜7™ÊÝýD=OC‘  îQç–Î' I<­…ž; =ÿÙzx«óüó;Ï=¹ê¨2YDòÖ7“ñÒ¸Љ` ´]ü°ß=Åà„COܺ†F"½£èîÖß9…«¨O@,¸Çüé|‘çÎ@O¤Á蜫â&\ä®þ÷…“¨O@,¸—\ùêòÇkóÌ\ïr¹\Cùpè¹kh8×(?DDt²óª î% gßûD÷í„CØ“ËÓ}”\Þ÷z5úȆ.úÈúß½}"j î ý®þ†³ïÑP¯QÏìC÷ÜXè‡f”É+¹®~u¥á b±àÞpå«Ëëþbp8wOQ×°Cϰ¤.wRòʉƒë‡EÅC9ÐïêGÝb!À=àR÷_]ïq?l¤áã‘Ò@$‰Äïk†"%"u^þüÒµ/P·€Xp°÷\®噂[ G¶Ò SÙ>ðLo_ïù/-¨[@,¸œ¿jé§þYoh¶BÏbÃŽ®ÏÕg¹rvÌ.IhÍNŒ}n{‡àµÐÙ¸%16v]¥õζcûs±ƒŸ[·¥°úŒÓsúúôX/KÖe—·:G yKâˆR ÀwÎiq÷õLEA^ã‘Ý>èY:jô¾ÙÐ墳—?Ë«b–o¨4%,{Ke;ÃÜù‡ç¾{âĉ'Þ¯(HS[J6­ÏoLܲÒ÷VæjÌ%9Eg†'@éÜܪÝiaR¼(à€*¸›.ò]är¹$‰' ’K"!—KB’ 5ºŸ¸¼'«¸éaÖ1½,.*šZÊÛœùseDDÖ¦J‹:ZÕÞî^ël-7˜ÊÛ £ŽÏÐo‰Q’µ|ÝúƤ4Uc½Ùf³‘:µ /9TJÎÖ9†í"«_œÌ5”ðºªü¹RgGµÉXÖb#"RD§åê´¡ÃÓœT“^  õMeÉ»3ƯTj’¢¸³M¤¯Ý„fÃr£ª¸"Se©4ÊÛ"qšÔÜÜäáYÑy¦Òh,k±‰D¬z±.oKŒ|øÕ[ë E‡ÍbTQi¹¹Ia|}úêrÍJîð[|qi&ײÝPtØ,2$2áËtúô¹r:n<©½±0ÇÔ`‰ˆUÅgÜx"€;­…w•£ç’;º¼îôš½FÌKq‹.uí3Œ"!™k«ls7ÕY›ªmšäYì@ªj4æ”SjimíÛµ:E“ÁPm%"†Äö:J)Øñæþݹáí%%m gJ Ä”Òwkß.N•U7ØDbˆ„3EYE6í¶ªÚ·k« ¢ÚMYe¾ ! Ó&)l-mŽËkKe‹¨IÒÈ|–ÝÞ`*±$m«­­­­*Me›ëÚ‡u7:Ê Emñ»GÝJ‡E­Ã[;˳Œí1ï=ñî6­­(§¤C`ÍM|òî£{2ÃÕ9†…nwíÛo×îNcj ÆF§¯“ gJL œ¾¢¶¶¶¶"7ÆQßÔ‰÷ ܱð«Ë®¡ÑGÉk ûa“SxG:Ì(Ï\é¾<¶×%SE'«ÚË›ìDÔY]ÍG%‡¤BÁ\×BQ)ÑJ""™&9ž5/F•*%"™*‚#›ƒ'[[‹C•*%’E,K gˆˆK] ž²8TJDÒ°¤$…­©Åwã(˱Ä[ywlsÔl|:6666öéÕ9MŠ”´èQšÞŽclõÕu­N©2!»0s–lxØÌÜýnqJ¨”ˆ”Q1 Ñbã½×[[êlª¤ÅaR"iXJqUé@¿TN£ÕȈÈÙ^gæâ“5r""yt²†ÚëÌ‚“JÙPVl¯>ÜØad)ù[“Bñ~ÄB€ûSüÒ;ây·ÞØZè# ŽâZïµ±¾2.:%ÜRÙ`:ªÄèdµçÎBÑáŽõ„,VÉŠ<ïV̈ÛÑ*2,ËxâšÂýwðCK‡G¿áGO\(çî:xoá‰÷+òæ6fmÌ¿aÔw¢›[¬×8ꌟ‰]òâÖêŽ[ %†×­[·nݺÍåqÄZ¾“ÎS:©L&¸6%+(½èyLD,Çð^ôuÒДm©\sYÖò§Weno´u–¿˜è4gK3ÆÆ€;÷ÜU}ý} ¹ï(”¸\.‰„È5tg¡‹ˆ$·’k”(èºñ™xý«±¾2©L“¬qU7t41IaR²yÒLjÞ+E1Ü`Jq†eDžó$/2î (Zx‘ȳˆ e¥Äß ÍÕ 6UŠFN4<ÙI•³–¥¨JLõaV„!f¤¡ é[ÒI°·–eee•…WdÝ]ØY–el‹/..Œu–¯Z_?|_6”¥6O$#"rZ;y6ÔûòXŽeÜ1v ø"«`ß'•ÏJÚ2+i 9;댛 ƈŠí+·U,‰ˆ9ÆÆ€;­…w›kØÿÝ`8¢µˆ<ÓÐÈ™ }={2MJ ¨‰MŠ÷êþ(Uk£¨¥¼ÉJDdo«lâõá¾ïò#ÅÜpÖR×b%"gGMy›HD$Ui£ÙöòÃ9ÏTVÚTZrÄžÎÎÆYY5ìJýb]/ígWšÕ,…h%vìHOßÞê$"©\Æ1̰ö@wð ¦ ÖÆò:‰ü° ”QZ•­²òŒ“Hè¬ÌZ¿¹Ü& ¯•$5ß0pÛ¥µ¡¼4Z5ù8©£>ûÅìêNˆd µŠ%‘ˆ¤2¹› o¸sÐZpWM`¾wUüÒå‰{#Æ#% I\îÃÌçº!OúðP@Ð8¸8©:9žkhOŽÚd1ú<‹Ñ´q‰‰ˆXõ²¼\­œÈçÍÒYúÅYÆõ‰%œ"<)9š+‰H‘Qa4n^^&±ªx}ÁÊP"ˆ¨ÝðL¬ˆˆX…&>£4O6˜Ÿ5Ÿ®q?d8UTj.Á×Ý…LXrJ¸Á¸:‘'†ˆ _¦6i…T’•e\½¤ˆS¨“ÒtkÍYE›·ªJ·Îõœ(te®3'gy¬CdTÑiiC-¥DD$׿åuL«—ðD §I)ÐÏ•I鯓*™Ô¤FãægŠD†!F­ÓGc R¸;$‚€V`l¸\®þþþ¾¾¾¾¾>QA8wîܼyóîÐéΟ??qâD?¿oÓB|»Šñâ¡Õ_þU"‘HÈý?? ‘ŸÄOB$‘øI$?’ø¹HüDA¼ÆwR}ÞM –Xøv²»»{¼@„Ö­Ës˜‚ªìtŸÿúûû¯\¹2mÚ4TÀ½HîªÉAßì:|<Ò¬LÃÇžG{frÐäû¢z¬Õ鉫¶Ÿq‘½¥ºE Ÿ«B&¸ÓЉà® ýÞ£ÚšÝ%.r÷&•¸È3àŒ×CwÓ[»kðû2Å}Q=ÊźŒfCÖòD‘ˆU/ËÍKÀ=uˆ…÷5÷ø@Ø“xþÏ3©Ä%\èn-t¹n!ºˆˆ~ð½ûdŽ;iXRþž$¼Nî&t"¸«¦Ê~Àø3^Î50˜è@R—Ë=µý³PŒöCDDÓ'=ŠºÄB€{À”‡•AÁƒ‘Î5<÷ Þrèyèºùìî•þ~Š SQ·€XpOýÞ£CYopØÏ4†CÝG‡OM1ìÇ5ذHä¢@¿À|O…ºÄB€{á-'ñ{þ‰Õî¨çòÔÝ6è•ÉEÔßïòŽ#ã ç'|ÊÌIÁ˜â îó§Å*Vf¿3QxÝ3è¾`Ô¾¤kg¿ˆZÄB€{F€_`ü£‹\CqÐÓot ï¨§íÈÕß?r熜™6!tÖÔ¿w)œ)|nIv«0Úz発º÷ZgëöcWåŸî\qZ³—M^WVg¶ØxUJAAJ˜”„Î:“¡¤É&±êźÜ̹rrÖ§//wïe³ÙxÕ²¼¼t®!kóO›VÑç'àÖPKh-ÙOý‚{È|MRèîYz㎃ãθ\ôÜÌÕÉÃÆüZ±½I–ºíÍ=ûwçiÚLÆûÐ:g£ÉØÀé*Ž=Z•§i/2ÖX¥aéyi*F­Û½';qEAÁJ•W±g‹Ú\”UdÓn«ª}»¶ª ªÝ”UÖIÄ0$š›øäÝG÷d†1Ä£íL„nû›ûKu\“1§~nîŽ7÷ïÎ`ÊwzÊÙì>qíÛû‹Såmâ@qŒ9å”ZZ[ûvm…NÑd0T[‰ìu†œ•¾âèÑ»SŲÓ¨};-MbrÞŽ=Û¢m{³Š(µàÍ=Q–²’6„3EY&sT^Emmm…^Õ”“Sgwïen°jsw¼¹§b[¼å@Q‹]™”§giÅû‘ ±àà4#Ùçx¤äy28Œ¦n IDAT©÷Ï GXÅúØ(‘HÆÁÕ¨’âäD$ OÐ0æzóÐM|²˜¼ªŠÜ9ÉÂcÂG‡c”;üK] ž²8TJDÒ°¤$…­©ÅJDDœF«‘ &3µV#'"V¡â˜p÷ V¡bøN^ð>Zc»¨NŠ’‘4,>9ܽÔ\×BQ)ÑJ""™&9ž5×µ;mÕí\|ò,)µUúY²Ñ3°"::LJ$å"8F•:ð˜^°Ô59Ô))2"’ÍJIR˜«ÛìDD ­UˈHªˆPÃÆããé£)ª`¬¬ _W÷¿5¯Y]’¸\.‰Dâr‘DâîBJ—k´¤." iŸ\*“NW°;ðeÑ&ŠCëìm5Eeuîûy‹(.õ(¼ƒgX–ñˆc‰·ò1Œ’¼ïÚ†!†z8âh¢ƒg8Ï–ìÀ>¢Ã!2áž²JY%+¶ðÔ¨»»¨ùù“ŸÏ1H¿÷ÐÄWãÌ<9| Vgm­ª*Ð*‰HªŠÒp¼eD×ÑÑ7P%%Ï’‘<*)Š17šYL^UEnŒœˆdá1ጣÃ!ÃqŒ­¾º®µÓ)U&dfÎ’ æê&ŠJ]*%"yTJ4ÓV×.àã:‘|½îîî19ïCMêwÙÙoïàEFÉzâË1¼™‰%†a9öÆmÛ«—˜ÜOEžT ‘3G`|žá†½D/2*ÏÆ ËŽÜOtð çYÊ®wž9\TRÝî‰H´9HsCÌe†Ux®†eÑ,Šdo¯)*«3óDD¼E‘lnn±¾¬¬Ú¸ÑhcÔñiz]’Âáùö¬åKÜEEžÂyžHŠw Àý€åX†·òÂ@Ìá"«`™Q¶U°L”¾¢pî°;뜖¯9ƒ¯½„f–yq09:Fv"eXV´ñ¢»X¼Ã!’‚H8cÊ*²¥––&‡JI8“¿|óˆÆÂÑ7yO$#"ây‘áX±Ñ˜SÎèKK”Rr6oYnto( MHßšN‚½µ,++«,|w Çr‹ *²#`|B'RøNdš$5ßPÙæ$"²6”·‘F«ö¤ª„h®­ìp§@DdoÜž]XoýÈŒ(Zya”½¤ª5ßRÝæ$"gkeµí†sŨ©½ºÅJDBGe¥Ùí‘Q¨8)‘ÐÙPÞÆ‹¼;Zœkô ˆ,ÕÕ9[ª[Äð9"ëÞÔy¦¦¼]y‘„ŽééÛ[D$•«Â8†‰Q'iĦò&+‘ÐYŸŸíÞÀÙÑXר‰Þ¤0öÐZß\›—×a0­^Â1œ&¥@?WF‚Íg.ŒÈ(Й ›——¹ÇéLѧʉ|¿"Sk£Dã¦gÚÓJßôµ-Öëš³ržId8UTrR8S7¼½P£ÓÇç˜V'š8Eøâ¤(¶œˆdQ©ê¬œåÏq .<9C·ÌœeÜT¨(M" b! b! b! b!Àè„Îúí[Ö-‰]²*³°®ÃID$4oI|n{‡ðÝ>tkÝ–çbc—dVX¾.1½Ñy+»[+×%¦×;ï|%8ëÓcc3ëìC%ïØ¾ê¹­gnrùöæÙ/>—›¸dÝ–ÍC{Û[+·¦¯X÷Ü‹Ù;­Âà%Å®«´âuˆ…0^2a忆.¥ êý'Þ¯Ú–ªj7nʪì¼MÇ—ÎÍ­Ú&%ršëÚ˜•¥UÛ“þ~eqEAŒlÜÕöëí·¸µ½.'ç0“²íÝ'Nœ8Qµ-I<“Sm%"²7nݸ¹\LЕ¾{âĉ÷wç%1 9볪‘à@Àwâl)*1‡çVd'ȉˆH¦ÝR ˆh!V–댆’& OĨ¢3rõÚP)9[wŒ5í<1Šè´\6”:댆’›HDlø2}nú,¦Ù°Ü¨*ÞS¹ÉÐ&Šm›×[2^Uþ¯iU;bd^aQ©z}R˜”„ŽJCNI Ï)T­ZôQjk}¡¡è°y`¯ÜÜä½ åm‘ˆ8ÍÀ¯¹„©P•¢S•›LQù#2«³£Úd,k± \ªT°±‘*%jà0²°ä‚ÝÑ<§$:ÊM ìÚݹÉîuReDÒÖm”¾¾¤¨9>.^tp{¡µ¾Á\ßNáÉQrï…òYZí,¹Wh²6ÛÂóªŽ=Z¡W´˜LMN¢ÎÓ>uwmmmmÕ¶$±±É"mEEmáyUµµµµ»u*K]Ë`Ë3+»87œQ¤ï/Ô~ß³Ô^—“Uä•ÖÖÖV';J²ŠÎÔyÀPdŽßöníþ=y1M¶r¡³ÑdlàtG­ÊÓ´k¬DöS‰%i[mmmmUi*Û\×>¬ç©ÏK¸•‘¡i3µ[)œ)Ê*²i·UÕ¾][UÕnÊ*ë$’ªµÑ\›aóÖòºæ«“ˆ¤J¥\JD¶–‡J›4“,Ç2е¥µŽ=Q›?—e­=G¾Ó1²©³Ñ˜S.&”îÙ³gO±>ŠñDÈЄô­Û÷}¿*/ÊR”Uæ=„êh—à“2IŸÊÖÊ-â`1Ež‡B"±¡¬ÔÙÑXß:ØIV:+)#UÍ··;H¥á,ÕuÇpµ7U›YM‚JŠ À¸"‹ÉH 7›6eW¶ZD‚ýL]þæ¬Ã<Ç 5u‰VžØ0•œˆì­•Õí¢àlÍ1³¼C "©RÆuVf¾¸Õ=’§\¥V|m˘L“î8\îžÖAè¨Þš]Þ!È㶆ê3Ù›Ê[nèv):"«PqR"癚òvQäE:v¤§oou‘T® ãfXšôy £,t¥~%059D"’ª´Ñl{ùáNˆœg*+m*­FI¢¥Ú˜•µ£y`Þ ggcY¥™Óh$ K͈æ÷fªÏØ""gG}a–©=<-c® /9¸ÝЉ¾«Ðäm¥\IQYÎê"žˆXuô²‚ÒÔ¹J"ap‹´ÅM¦õKÊ9N–‘¡É2eå„mÓ%+ YÏ”‰ CŒB“–»XJ© ͦõ‰FbbÕ‹õ¹³¤Ô|“s˵¹yFÓú%<1ªøŒ\•”¤)¹ií9›Ÿ®aꨤxUKûˆâÓVÖ6-oà8…&%CcÈÙ| 8/%Ü`\ÈCÄ…/Ó§yDêûŠ µJß“†¥ê—5l:ÀI#2 2ŒÆÍËËD"V¯/XJD ¹ÅbQ‘iãÓ6žˆN¥‰ÏÝ–æ¾'2!·”)1•d-7ñDD¬*j±¾4-aðl–¢Õ±Ež'LTÁ»…sьߒD0ªŒ —ËÕßßß×××××'Š¢ çΛ7oÞ:Ýùóç'Nœèç‡r¸·Øë3W›Ûª²#Æsìëïï¿råÊ´iÓð ¸á#2Àx&×$iĆwTÄB€/&èsãù¢õO'¾¸£ÙîÜ[0ÞƒaLö›G³Qp§ µ± ± ± ± ± ± ± ± àž€*€ïäºóßK-Í}σ˜ÈÇä/<Å=v“¿.ÝWë.HµaÒQV÷:ôéo&L/}ÊõÛÝ~áãÿ6_` À¸&™ýìã•?QßÅ _h²mÞÿUÁª'FùÃ_¸´ëÌä„0)ã{½ÿœ…aÅþ ]CÍ À½ÅÊTîgÏöî¶üöŒ|û¤t½çhC×®¿Š½þôðäïýtaHäås›ßï¹Fç7VL4¬™æ´ÿæÈºâ"’L{tÊ«ñÜ´€¾SG:~3azéSƒ‡íûü£ó¿ú¨û ‘H³ÿaê«? öŠ”ý¼@¬ÔÏë|øü·›ôáÅúýÕÜÍSÿ_þhùí¥àœ Oþá'3þy’3¯Î~mêÔœˆ€Ài¥«C ëêl§ªÿJ k}È#µýç_{}°ûËßü·¸âñ?üäÉ?¬šÌZ®|*x­®í:ø©þÏ‚ØÍÿ~Gî_Dü `Œ±Áþ$\¿vý«úÏûû‡ÉOH‰È?òï&>réÊénï ™¤UO?õ0KDÁÁ±]_\ºîãpþø_?ñ?WN_îe&Lúç¥!‘Þ·%Je?{VñðGgsᡟ&}ŸNžýÍç½øÜ:t"€Ûïò•¾À`æaê»,º>mèøqÃÀòkø…Ð?mhÃþ‹½øÛøó"úÓ•+ô°Ê×á¤^]¡Üû§Ë¿ÙoýŸ‰ù‡©?ýQ0ë½Á„Iÿ¼àÊ?6Ø>ß úçè/7ÿb±jêøó€Xc£ÛYmq=¾ ˆ¥ë“ÉÌó÷ZÝÿùàë—óÞw>öìcU QïÑŠÏörHfÒ¤ ÚI¨ÿ²åbnݹ]SÃ~6Ù«³ÃUGÁñÞØøi9í¹M½ *dB€[‡N¤põ_¶]þÏ·/|4Qþ35C%<æÿi«ãüu"ê¿üy׿×_¾LDþDÂõkD$Š×ÈïщDtÙò·š+$Š®o m][*ºNw‘ߤÉMò'òîjÚ}õ7Õ œ7ý§ þWoÿÿíÝOl‰~ÀñÆ"x€ÅÑ+1Ù‡+UÉ[5¾töð’­”áb÷€÷ÀpÁ«W¡±ÔbTá\â­„sÀ¹Ä¨"Q¥äBPµÎ%æ°Îá9‡b›\2=ÔQ·ñÉ,¬ÍÁÞ¢ka¦k§‡6„ lVì÷sŠãÿ _Ï¿Úëÿ§ßäØ9>QðË­þçÜÿ„×¾T”¿ùCÇ­?~ÐyHD\øä÷ÿð•áéÚÿ5WE=z¡ÿ/>×Ñ¿T÷_Õ¿¿m%#—þªño3_϶êüýïþñÏ’_=¸áõºùÙ•SíN=ú×ÿïÿ‘ƒ‡í»tjÃGZmÇþùOÇÖø/—?àÍxSlÛf x7%±ºÚjµšÍf³ÙtǶí‡öööþJ‹{ôèщ'\.¶»¯Õj=yò¤³³“Q°ñ+2…²@ÈBY d!€,…²@ÈBY d!€,…²@Þo‡°ç´Z­Ç7f³É4°[Ž?~êÔ)—‹  ¼÷*•ÊÁƒ»»»9Â462MSÓ4æðÇùæ›o?~ìóù˜¿5|* ì=–e}øá‡4!v‘¢(§OŸn4Œ²Àžù%ž!`w9r„Ý’ d!€,…²°¯qÝB`_³*+åjCñžñûÛÝŒãu“*Í•rÝñö‡ûÚ ì}µ…ñ‘Ñ;‹Õç·½=ç¯$ãaÿ+qh—óéщy³Úñœé dž¯è¾·LÈJ!W×Âõõ²ÍøÙè}gÓ}ÚØ½I]}'“²Ë¹t2}w¹!"¢ôûƒ} ºfNßLÏJuGo~)v-¢m“öJêÂŒÍ&º__%cDÌD>­m1X«0pvhyý†§CÓ®ÄÀÌÂ^I_²·\.ÀN°)°Ur± W×›Pñ(""õå»#.O¯Ø/=2{52²ÜueòÏ_-}õçñoaèòÈ‚õ¶U85cÖwòHÅ{þ‹¯–6xWMX[HE.ŒÜ]v´ë“×5E¼²ÌäåXVŒÔì½¥¥{³©°}'z9en3ww<“‰¿M›)g®}¹´´´´t/3ÜoME#Û.€,°“ÔÉŒ.6Ö¾î¹þeáÞd¿²v«4‘˜)ox¤]œš*®ßЇºÛÝân„““cƒý^±WRáp2 ë‘LYìJ>9…Bzh ™¯¬}k9—ˆèº®÷éáxfÅ»˜ŒÞ,•¦¢F²hKm!]û#‘-Û;«ÊL$ŸG#FXdze±âzxüù—Ç =¾°‹½d™©ËWï>qÌ©ô”éxõÞŽužWÇS†æSETŸf¤n]’¹ô|Eì…˜ɬbýk{%‰¤Wl©R!½¯¯/ß\x•\,Þ¶úT__$=9¨Ì¥s•µj}iŒöBL7RéÄ@ćBÑñâæ'ªäS!]éz86nZv1 %‹ëã¯åôH¶Æ_@û¿ ïß1ÚCSq‹ˆ[y~óÁLvÃêiZ]ç7KçÓP·*â–êbåÜíB&â¯d‡FŠZj6ŸÏOË£‰lEÄZ-jãùBáÞd°41:_s†SAï™ÁÉl2`å?OÌw Ïæó…/­ñøTyGkî–ú¢Ù5<™ÉΦµå©é¢04«PXûîr¡P×ÞhïÊ­Ù+ÓQ#Òõ¾³Ñ»ÕŸfQª*Ú•K6öYÅûeoX÷o\ÃîpÐ[ž/½¾Mk¹Ï“Ëú­ü—Þl"m®OܱŠéØ„\™Lh¯{~=ÜQž/YRÛbŒnÅy°('3ÙÜ×$›Ì–7.71bjcùB¾0W²‰ôò£_Y̖쵞+û/ösà$ }Ï®+"¢ôߺ·´´4RÅ­¥ KK_Í^ê‘z±ú¢m«â(Þveë'RºŒ¾v©™så®Á‹UÄí^ô—sEKT}òÞl<àqûûj½ÜØðVinÅ{q°O‘vý¢V/,T6?·S¿ûÙ'¿Ð[°7-ÓÝÑå±ë–¨#PŸ_¨ˆHe!ר*,Ï$&ÌÕz£±ùèFñS7£ÉjÔDõz^z”_«þÚ,´–çŠÞsÁn·H»žÊͯQèTæ“ ³o,öýÌ*z¼nqêö6cT¼½çºÜ"Òúª…kÃrK†p‹H{oD³ÍBµÃÐ×»Ð2çÊ~£—*¯â”3À¾£¨n‘†SšËfʪO?§û,37¿R/¯ö§*/2Эú¶q“˜;0xE+Æ’¹bÍ»VÌ%£#‹¶oS}µkçü+Ó¹²-"Vq:‘ÌWD¬ºãéò·‹Øå¹éå†cÙ¶ˆ(âTl[Ô®sÝ•l¶h‹ˆ]Î&w|Ò™íº°:3©j‘ž_~¶RU‹$ↄӷoô?ßATõy·Ú^ê ÇƒÎØhnmGMk%ŸŒO9çâAŸˆÚán”ª¶ˆÔ²ÅMû£ª=çºê¹™¢%R[¹*Ù"¢ttûƒ)ÃOdÊÛ&aÅÌ ]Í*F<ؾÝúbvÙ‘Ja®Ú¡w«–¨ggŠ–ˆÔ ÓÝô»Eüá°gqbbÑwŽ=HÀÖØZìCþ[cåËCsU‘úÜÈÐÜúÝžÞáÉøK';ie”‰Ñ‰èß8"ž®þñÛÕ^ÙXGÆØpi(š²EÔncxÌ'ª3îÄ/èw:üZ$v­?ñùÕDßÉ`¯\ý,T½1;~#µüy"¤["np8õòåúÝÏ>¹»áϹÛùÁí»°-è—ûË""ª×½Ma_¿=61š¾|vÄÏ™þ±Ûš*"Ážhü‚áóú5]óÖ755\ }\¯v15¦¹­õyº»SF$šÈôe"þ ãxpóÓoŠÈÚµ'§#k†^c]”MÍÆŒD¹*݃c†_dåÅro$‹CCaÝñjƒc±€[DÄ4<7ÛoP…`lÛf x'VWW[­V³Ùl6›ŽãضýðáÃÞÞÞ_iq=:qâ„˵¶ýõך¦ýÜ£ìŠ97É™¥ª£xý 1`è~uÿP™¦¹ƒÉ¬³ ѳC¦r&OÿÜ©lìbòÓ˜“ʧ´w|ÅxÛŒ‡RZ&ûFûçÖòÑÏæÎÏŽ‡Ô ð£>z‹õjµZOž<éììä_6ö"¶û•Û§ Í`ÛQµ+7n(}¡î´²»ËèuG§æ*“†o¯½N˼3UéMô©¼å`[à7Û…ÐŽšPDĈ_7¬ô§ë±üº ¼µ›}ɸF€m±µv‘}ñÌBü]¯…[K²o²Òéüïøl-²@ÈBYà½ç8CÀîzúôéÁƒ™d!€=@UÕ‡>}ú”Q`·8Žóí·ßz<FÀo¨öŸÏW©TVVVšÍ&Óx‰iš áí?~üÔ©S̲Ààr¹:;;™vç×KFd!€,…²@ÈBY d!€,…ÀžûYw¹Z­s~ ­VËåâ?ÈBàývøðáf³É€_C³Ù<|ø0s€,ÞkŠ¢…À¯—…Š¢0ÈBà½vìØ±gÏž­®®2 `w­®®>{öìØ±cŒ²x¯8pàäÉ“FƒQ»«Ñhœn¸Í\Ò‘ÉÛRF©’¯®¹¹™gTNȺ­æÂÔiE—ˆˆ”#W¬IŒtÂ×>܇XH"‘sàˆ/&³‰,FÍf‘XLƒ‰*D,+RÙ‘bH©I$$‘\ýùç¢ô?ó&Ó77—ÇÁFfÛg4<}úôîÝ»{ì1{{ûÚÚÚÿùŸÿY¶l™\.·D<è1}UÅÕ]Ÿ‰d¶Ížoþ•Ëß/ÈÊÿ0Ò¬mÐ}_´Y˜Z[ØW_C&ì/±°¢Öpû¹ µºy,ä+’¦¤*Wm{wØoxÀU¨xþ®¬Q¿Ù||siîºuŸoèÜãÁϾ6kñ‚Èa}=W¸ô´sÝ£ñàg#f-_éÆÜ—½ÐTä®Û[|î’HªôŽ˜µø­QøB¸³ïÑéÖLHDÚã«’ ü³£n%sçÍ+œµ++ü7¬.ò¥ 3\×l[2ìýÔOŠî2 Bó?ËLFƒD,¶‹ÅDb±Ø,el–Å‹ìH$‰Å$w• §+/ÿò ÂÙK—N7_Òé;Lò‘K<ú‰t÷îÝD´xñb[[Û/¾ø¢´´´¬¬,44ÔúF×j'Mšäëë{þüùœœœ}ûöYbáÑ£GõzýܹsÝÝÝÏœ9³k׮ÇOž¨xcò€W",×E:®Î‰mD66ú³§/-_tíð–XÈŸ¯æò÷‹ pÙµ_$• ƒXv½ë)__Ç}±_úÄ“/^†ÃUÿÀ‘tð3þ®·ú€r Z"žèA%ü…ܸeëÎõÈÀ—~øbÕâ²Ò²ãƒûÜåk뺢.§.\½"m%ë½mÛ]<­[ÌšmÑì]þŠS%Wx/ŽÏNvcùæ³S“ç]¾)óößhÀ7”5ôŒ$¥ |4~^½wòIÑ]^[(Ôy·‰3—.ñ&“ÁhtôóJ©õyŸzA°\X(6mÅc¶b±MÑ?ŸgE’O]UUED>>>2™Œˆ^zé¥ÒÒÒòòò®XÈ0Œ¯¯¯ O?ý´ƒƒCkk«Z­vss+--U(–Ž£Ã‡—J¥gΜéZ­J¥zâ‰'A>|ø®]»FDfŽˆÈd""‘DbݱX°¤Y±X$¶¦Ö®°g)ú[¬¿ÆhWg‘]B’e‘¬GÊåv&гÅÑûÿ`ܦÅ/WþÐবÈ/jànxXå¤MNV÷ñ)ýpeFA3£rò ãxRZ^ä³¹ŸThˆ•L|ü4o–šwÌ›Wñ–[iñÙ†Îã­Ä>÷“¢†Kͼ÷‚U)ÑND¤)þ(u]A-ÏÏxG/_¬""24ä§.Ê-Uky§°åÉñ‘n ñêë367CÄúO‹ñ¦ŠŒyIšÅ›ÒÃUÄŸýp^BôìüÙ’oÈ„]Ù° )5h[zømºÈ²n£b‚.;ÛÀ‘Ë«¯NÛXÜ̱˗«ˆøæÃ+×k•SpL„zCþ¨M›¦ñ¹Ë:ëcù Î\©ÃÕ^jÖ0ÁËÓÃø Ÿ¬.bçoL‰±k'ïèÄ5Ò¥3×­+ Kñ?›4eµò­‘ÚÂ.5kTa‰iï«únùžßêŠÒ^//3Ø?x>Žð°Ý öv¢¢Ú뜼ß$òrS“7”r*'Wÿ®Ñš‹?ÊXWP˱®aó—„;1|iÒ”Õì´‘\éµµÍì¨åËŸ­ø$ÿ‡† ‘²j‰?Û×Y KD iË>ŠK.:{éûìÔÄ”þ,W±#uõ޳†ˆñ[ÿî(§æü¥‹vx¯Ú´dC͇ã}êšžýnïsÍÙÒ³½F„`=‚ýïkâ}ÔNŠîz$RÁ:Ö¨¹Y{ÙÖÆ†±±iW_4wtˆån›ìS±fAˆ¤öžáÊ•+Ddooo–†eY™Lf™háââBÖ‹é©§žjmmýù矵Z- 8ðŸÿü§ f³™aƒÁÐÑÑaYÊÒ•ÔrY£L&3D${f¸xÀÀ_Ž]Y·æñÅËè–W<[[t{wòU?tM1_ãøó5b¹\æëß{~ÓåVîË/މ`#¢p°êoÇNF5˜eˆU vµ¦»n©FÛ{®tuF‘rù¶ìp!7n±\-S6p ²wE»1šâÔE ®ÛRFC†s¥lbf–Wš4seRîŠMYÙ*®8aæêg#ÞõÖä'¥¹¥lÊ V‘¦0i^j†÷¶tW"Cm¾fqö®DVSœ:/5£08+’û$yõÙ‘™Û²¼Y^·(i÷¶xÿÅ)a‹’Vû'Þ‘Q4xñ¦>âŠ7|q馻o(Û˜«¿Íï]Ü…‚Å×<Þò`‰?ûÑÊÕµa™Ûx³\Ň‹’<¶eERaêê ï”]ñÁlsaê²Þ}ùæ¾ö1˜Ò–+7ef;‘¦0næºF½Ë”•i]£ÃznjTŒÇªÕE ¼?Cü¥ãgý³³–¨¨9wÞ¬uÓ‚§±}¶|C[óñuÉkoØ­Á¯­Ùô®7~<€‡Œ*lñÔ„֟„=ÞXq“Ò’:7m]mØšÏx3šâŒE†ÁDDêɩǟIÙ”¬â/ìX¶le®Ç¦iN ñ—J›GmÊ\Â6çΛ•–1pMvÖ»ŒzÇÌEЧÝä,Ńˆ×––[³é]7º°cÙâÔ £¶½ëZš‘´ƒ–gîD\iƼ¤Ôa›²¢£.Jû$";¦aõºKéé7Äîlnjrѵž{ }ö~w'zÔNŠîñ&{byÒ)ÄÙñyÕ°¶6†Û\·e&Á$˜k°ìC[[[Wê³0`™ÍfËmºõ;µüÝÒÒb©^677çåå8pà‹/¾ày¾ûœI_¹W,V.‹Ël¯îÝyé?—˜9ÝÍ6[——ÛøæÜç{„ö_DŒÌŒF‰l쩯®°º¼\"ÉpÚñ—Šó‹5ÜÙ‚½å^êc˜R¾¡ø,ï¬""fXXÌ3–©µùÅüV„CDªà©#™Š‚³<‘Ô#|¤±ƒ½Y©k„e¹Á®,w‰#âήU…½á¯²~ÒýélA-ODäãÏ‘*8:˜©=^Ë7—opЉ¶üôæãÁ•ªyb½—$†Õ®NJJ.¼<1òÆÂ_{¼ö– p©ì¬¦ÉÚ/¿6Öêe¹4---Ɖxõáã©–žXÿiÑNµù¾¶¨– Žög‰È)|VÄà 7ÝG©wÌ('""ÖÕ•å.i‰¿ÖÌÓÀÁl¯|®’òŽˆˆèoizRy¸ä´üÍ[¾ÛoPÓV­zõûeØÊ5È„ðá*>ZõÚÔ„2§˜ùó§N:þT¦¾6vÞ‡¥7ˆHs¶¸apX„·å ô‘–ŸÇ›Ë jb¦YÏs"¦z4”5[¿‚#½Y"R¹–*Ÿ ÷`,“VËÑMÎRˆHê?-Ì!b†…E»j8«ák J)xšõ Àÿ0¶öðYŽÈ):~±² -)iÝ¥ˆä½¾£ÙQñÙ+Fö¨#=3MúýÈ„òI‘äÞšL A«çå ‰ÌfAD}–Û“ÉòG»Ñ(‰LfºÛ[Tˆûº;¼% vE¾aÆEEE™:ŸKÛÛÝdbà+‘²á¾­ÿû=}eEkŸ?Ìõ §Êµk2%ƒÿö‘ÄqpóÂÙ|í…Ûn°ˆaÄ=ÎÊW¼1Y:tŽYý ã1m¹+«b'{÷Ž€¬ŠŠúÈ…ZŽQ±Ö˲R""^£1\;—0e¢e:Ï_#oÎr–ìü 1ÄX:V3ý«9í5ãÔ¹2¨d®Õr<I¯d Í<Ç©9¨d¯ˆ×^#"b¼c¦©f­nŽXÓÇÈ8<¯¹v›`¬åˆz-ØÕ¾9é¼OÜb¬‡kZÎp.cæÄÕÖe¯‘Û%Ž'ŽXνd]--rýØ÷>¼ÞÔyí&£tb©ì’†¨ÇA×h ¬k¹ÈóÆ®é7kùž»Äú/Y³Š–­Ø×`9üe'†«ð˅ûj DT[´³¶Ç)LÃ"·õ<÷ç¯]#¦³&Ã8±ÒZ"žkæ¨a≟tÎdPyhyK éú‚gFÚý œ¿éY ±JeçÂÀÄ5sœRc`¼;óÃ:±†²kKNáoù¯[Qä´<±Ï!j§ÈÄlJ]´êø5"zfþºÌi÷g(›Gù¤èîoPÑuŠ;˜_ñ¤ë ']nPÍ‚¨k™¾¢¡““u« Rg·Ò.]©ˆôz½eKuÑh4ªTw}Ú'qybpÖß›æO7üø£¡î"3̳k'-ÿ^Ý™CDvÿõ¾Äq0 &붉$Së%ÁØGtÐÔ™$‘ü¼ùã«;rìÞ§~{«ÆGvCFqärOV¬»ñ×RJIöîã¨Ä²|3g††Óh 4˜ˆQ©*#Ò·Å÷ü±¥ù6OÏ*J¹®•Ñ5-?Ðr¬0\ÓrÖãÀµk¼TŲ¬K?tMä5²S5…ë>áÃ^s-Îøäì7 ÖUI?hou¬|ËŠSD|LîüŒOÞØ´dC³Ò ømé=Æ©áJYâµ×:[¤3ÜÙ>öA¤Ü˜Ÿ!¦û˜ešâÜÚþ \ê«ðy“–ý—¬YŤ~ÂE'¾; ™:Í?¿ùu#Ú²âfòîÞ#‘ÈßÌw†šÁÓ¤ó7e÷ì€ÄWÜò™™›œ¥ðÔ‰¸k׈ubY•Jz}"Ï©9©RÉá“Õ¯¼ôɺ‘)}&K2ÌH-ò^žsÿ‡7}OŠî²©Häü‘M÷´#BßC‰øýÕÆŸH$‹EŒØÆÖFl+‹y}§«J%©ÕjK%°­­M„Áƒ¯cëë멳NXWWGDööö–¥,ÿ½â·§³Iè–9©óoþÜY"?n½ÍPwѺÔ@ÖÆÞÁÜÑÑqâx-ÄHc‰¨½ø[ÓÏWpÔê¬?Åx/IYà환½©—5Ë­ª-Æu¤Í/m&"þBî>˧’ñˆöç‹w7ñêÂŒ¤*¸ÛoëíÁí³ÌÚ\¸£‚ü#<"¢†üü <q¥ù¥¼w˜+ãáÚœ›–'"^][ËŽ wcHS˜±º6,>þÝÄÊü´ nȶŒGdðÀ[mÁ3þ·v…q›¶<‚ß—–«æ‰q ©ªø¤ÀÒ-DSüQÒ‡…b]ƒÝ´¥‡k9"Òï,ºt§ûØÇ“ {ky¿oEÒŽR5GD|óÙÃ+V5ø/ž³Í¼›–gý¤g"ÀC‰×Öjnñ°¦AÛó$Aå4øR‘åÌBS¼£Ô’Ôœ‚"ÜÔ;sÏrDD\ÅŽ¤Ô|õ¦¾ÏRˆèZEn±†ˆxuQ~ƒ2èYãL¥Ö/nMžãœw„7Kü… iùƒç'¾?²vuFáÍv…qŠLÌJù}nyñèÝu'Òk--$]5C²”³YßA‚ D"2_ýYÿ“º½æÌå“ßÙ˜ÌF´íúS—5—;ô¼É²0ȾWMOOO‘HTWW§ÕjU*ÕáljhäÈ‘ÝÃçW_}õÊ+¯”––jµÚAƒÙÙÙQpppiié† fÏžMD&“‰a˜>»ž^g6ó/HÝÜÍÇ«ëDR©X&#"‘HL‚ ¯úA>úEñ€2¿öÅßKŸtå v_ÁãKÞ½œô_mý?Ò¡’'ÝÈlè<HaÖk«o9“Ôõµôz­³£–LJ'¯žµZéä4pŸþVFƲ‰«y"Æ)ø­Þ,Ñm“¡*2%¥6uõ̉£òŸ–Ì’šxé3Ñì§ËfžmÖðªQËÓF©ˆT1iñÍ©IS&Zž`IÚoFs8cuCXzŠ7CÿÖáyÉÂ7-éþã=qP᪲¾/õuºüö)Yÿù˃f¦f„eE{/I[¾:mÅ”Ox"RùO‹KEDÑ+—&ÇM™Èª\GN‹ö(,¸ý>ò7{²Q‰Ù«r×mX½hcç-zbÒ²§ßüÒ¾[àQ#ÈÝôÚ¦WUÊmZâü³Iq¯å³ƒ=‚£Ã\KÏZ¦&Ç7§¦ÎœÈë½<Ñnúµ}}]}œ¥ODƒGyW¤ÎÛØÐ¬!爫o cˆFŧ4d¬^4qµå R#UüÙ’ ”‹³#UDªñ£æ%eöOì?ä>j'E"Fs'ó ‚`4š³éëøw*9&&zÙÕ™HàÍ‚LbcR=n–HLí¿ÉDf³™×“Édæõ‚`þ™j®\<ØAñs›œ‘2bÁeÒ,Õü¥¢^ãµ\¸paÛ¶mD¤R©4««ë[o½%•J¯\¹òá‡* N7hР«W¯ŠD¢Å‹;::Ñ/¿ü²qãÆ¶¶6™L6hРÖÖÖ &<ÿüóMMMëׯ÷óó‹%¢öööÌÌL£Ñ˜œœÌÊ×d¦K݆˜.·š¹6hêŒÇ,&‘¨ýdIëÊD$¶µµûï?Kœœ›Ì""é§ u?JŸt5ü«Áí«bë¯0û+÷Å~"²ô˜`69­ÛÄŸ;{95é±Ùó›5ÏÌqÿšIDÎoņp?qg7$Äíìu“ŠÁa+W%†ÿÖ—j7ç/š—ÿƶìHÔäî+Mñ‡I« Îi{ý,Uz„/NŽÇ-€ï¯ÿ¤èŽª…f³¹¥¥åêÕ«¿p×tW&"³ |ûÓ%©˜ÄDr‰ÈS*6^½béWjnÔl&A Á<ˆÈ뱎N®#ˆ¾£{±±Ë°aÃþøÇ?~ùå—&“é¹çžëºc¡…““SllìÑ£GU*Utt´½½½eú€þøÇ?–——Ÿ;wŽˆ|||¼½½‰ˆeÙÐÐÐ'Ÿ|ÒºŸIxx¸åÚÅ/…›Z.ñg*%O<©ˆbh™G>"Ä>9íÚÏ“I<` tÈPç Ÿ^ÙMF£jy¼Yß¡ÿ¾üzþÿÏ÷lG¼ÀåN¼Aêé%~L)yÊcЛoÙ>DDb–µOI7Ôž745!Â}ýeË{AÖ®°Â;sW44óŒÊÉ#(:fZDðot§¾"cf’f~vz¤¡(_­zÖõ:€ûM5êݬQï¢~OÙIÑV u:]Ýu?_ѪÿþQû¹ÓDôŠÃ[±ˆD$˜ÍüP/^§›ŒÄëÉd"o3K[¹T&µs‚V#ð–á\l#^g­In“HA°Œ(c©zxxÌš5ë×ïp×jàžhJ?JÍÈ?ËY:,¬Lüºüà¤è7s§×* gç«W‹­EA±ˆ, b±mSƒ­XD&3™Md2‹H u´¡³~x=ŒÝY*û7…7dB€_G¼$s×´à¤èá9)º‹‘Hííí=<=yç'AèŠvÖ⛾ƒÚۉדÑH‚Ù:ƒH$‰: ]GE"ܶàÁ‹…Dääèøü[s[ž ›Í–tg)¾‰z¡Î©f³YËE}‚ ‚À…ôoæ,yÒ`0àÕøÍÝéµ…Ý•ýðCÑš¿Mm>kkéDj)`Er¹Í ÇI&#‰l$"’Jm\\%Þþ6ƒ¥O{£¹†XHDMÍÍ’†úk"ÅãbV!²‘ˆ I’ËÅ C"1º‰<̱b4b! b! À£BrñâE´À£ Üýÿ"ÜoþÍAèz³ ‚`6›Íf³Éd2 W®\yá…ÐD÷5Êd2ÄBøc¡Éd2™Lxãô—Xp?ó¡ 666&“©{\€û mllºÿE¸i°ûßf³™ˆºÂ!üαà~2›Í‚ ˆ;¡A~‡Xˆsqø½X¡¥`(‹Q©ø] Âï¦+ZÆžÁµ…ˆ…€Xˆ…€Xˆ…ððºéš‚f@,ÄB@,ÄB@,ÄBøÍI¾ýö[´<¸L&“Á`0›Íh €›‹Å ÈÅ}×Ez½m¿ AÌf³Éd2™L<Ïëõú†††»Ê„xÜ![[Û>“!:‘ÂÌ`0 îÏó}NG,„úŽüúógÄB€Gb!b! b! b! b! <,ôçWM|ñŨäïõ÷´ôéU£V~¯§úœ™¯,:ª»«…›Žîÿ®­ûJ~{õîÿ÷Á—-·žIwþЪe3£^|ñÅ_|1jæŠ5G›nµ-úú¯}ó=mûzÑ+3w7ýêMo¯Ù”úQù-ZT{샄nR×lÿ®Ñ€74b!À]ÒÊ9ƾúªêdÎIݯYû¤u;3Bw• mÎùºYO$óYúé΄çdÿ†TØúÃEzêYå-ƒíšÅó3/ [¸zß?¾ýö;3&³Çç'~ÝvÓÔû×çœÑü»_CSy“üÙ¡·iÑÇ#ßKOOOOOÿ?£j>ÿôkC€_OrWçmç6¬ÜXÝm‚­ƒOxìÔ1ò;]ÁOûÓ?<Öî5ÿÏ ž‘ÞÍ3_=wô˜vèØ'¤xÉàWi;™sÒiòƹLóüœcm¡ã숈ÚÍ›š0iØ…“j¦™675iòÓŠúœ)󎙤:uR­Ñh˜€¥© ãÜ»VT¿gñü£ ÷e‡*¨í»ì”̼3ŽT#æ&$ÍxNAºÓ»ÓÓ7Ÿlæ‰Øa¯Æ¥®eŽ®\œuACñ³šçf,¬_¯IÚ—öœL_(3}ý151DlÀŒ„„É>ÌùUSã53&3G¿¾ÐܬaFÄe$¿ìLºï³SÒóÎpDÄ8^˜7νw®ÔÖÔÝ&9ÜâsÒôeæ͘ŒuËþ` `Î>¯'¯V:£bˆ¨kWx"ÕðI ©‹žãöÇ/ßÓÌÑâ)§ãÖ¥h¾q¿ìzdîïsR2sÎh"fؘ¥ +B‰ôçw§$®?ɱ*·Ñ3Neš»/ûeEïTX¡–Yy§/¤ÜqGéy³ IDATx «äLkµý¿¬3þÏÓwÿ4¾ü§e£míÙqä¢ÎH$Qz¾2mÒð†u-þÃ{Ëþ  ƒzwÚº†Î}–§”ÚOœvØséÒá?îÙñUÖHF²uýÃäY¯•“¡¥|ÏŽ/k´F"[çÀè7£}øôÀCë^ª…þááááá£ýݨõô¡ì-¥WïtI©cÈ”Ù3fŒu¹Ët§)ËË+<ÑØŽ× ~¥¦c9êá3Æ8;žмû›Îž ë¿á^OÝ´iÛÎÕ¯7g¥äÕ1ü™cй«7mÛõijÀ©Ìôoúª¨µJIüÆ-açW_}ûé\~sbæ÷:ýùÍ)Yêqë¾øê«¯>K_¦g}¯W„&%fU¯f|ºf²Óõp¹91óL@ê΃Ÿ¾oõdÍúĬÓz"†4'ª®Ù´m×§qªcY9çõTŸ—¹‡›ûéÁƒî[ý:ô˜º~ŸÚhw t¾ÅçKwáë ìˆ×zdçÐq/û(ˆôßg¥ì¡¹¿úê«/Ö½®ù,eóy½óë© Ã§…ëv¥½Ìö±_Ý×}4=1‡ænýN‹O<¼$÷°ˆKÈØ()¼Œïo<}ñ„º=@‘—¾¶Œü'x5æ•Ѹ„÷ÆÈk¿Ù™Wxº±ƒH¢;!ÀQjh)ÙµÕR-$¥öÚovî-¬ní0J”>Q3¦†ºË‰Úë¿Ù¹³ðtk‘Â-hÂÔ]ÎûÙ§D´ë/ñ'fÿy©¯/[¿`h7HåÒ[Mèê÷ïæF$ŒPQÀÜÑ\âîó–=m©¹©Æ¼>\AD2·#Të^h›1ŒˆÜ^󴌈Ã_`¾üú‚~ {cÎ:µÿŒjLÜs "r—±o4)2Zöé:™BFDÎ#B²¾næˆØ>RêÉcj§É¯û(ˆHæ>fò°¬¬¯Õü8"føäÑÎDD¬›Ë5kˆ†©T¤>´ûk·×Gø¸¿žœÖgæ»X®uxÉõV¯¯áˆ®ê»ÿªì¹ä}ûô2k3¨6«{v•=Ý×~uÒ_8t’FdX¶[0y »øÐÝhþkµÓ˜q>2"ruîˆõ'›ûzj®¦Æè6Ñá¶oŸ+‡ÿšpØú7ûôĹž‡ƒÇŸ}ÞMND†¦òšçè@G)IÝFr(>yQ4ÍÓ¶øL«ÁGùã:ʧ©ø"GígÔ’¡o:HIaËÕW#ñÊÅçy>D†Æ¯Ît8G¿ä&'"ùÐQ`³Ê/êþˆ‚! öA.—ÉH$‘‘®¢ %h\Œ——\S²!ûÚvhøŒp·ö²¼Ü9ÙFeÂT—nËZgñ™òN¸¼,gkÞ†½.+g:ToÉ>t‘†Ž›ª¨=¸ëDÎÛwßš=ºqã1­rôì!È„ý%þt0k«6bÑœ‘¡¥dkö —EïD9öß`¨?ó¥ºY³xì—SØÝg®|NFD ëÌZ²’Œufé$Ç1¬ª3̱,Ã7ó½K]œ†ãg¦38)DDúúoÖgí>Õ̯QóN7Ù ®ž£ëOÁ¨TÄk8"bˆa:Wiý×n\ê:Ú¼ywʬ”fvø„… K{u"mW—·:ºÝò3¨XF£Öèɽ¯d¨;ýeÖúýg4<ñÍ ¸qƒoµ_¼FÃ3Ã;wFÆ:³üIŽãyžaÙΉO³L_±P[óC»ó«Î·ï<ùÞÿ Sµ·œþrÛº,í⥯ʉ$r…u¿;¸‰BÑyd³UØRûÃãÏ¥=µ:‡Ó:‡ÑžÏÒW_ªu>º‹F·W¥RéÄ%s‹¿,Êÿû­F‡§GMœüªk×alØ“–ò¹„ˆÈhì ¥®± »tè´„Ú[N<ÕAäàã&'KÿN‡ˆSCUDšorÔDS£TDî’Ó§7VWUÇLµíZÉÕÚj"exT°»#)£ÜNäœ>Z¯ñ9zÑHŠÑBžú¸©¼.¶ËåRG…‹œH+wqswD*ì/¤O¼¾`ì–ìì-´h†±lkv¡mL¿Î„ÖÁf~úùŒÎ ›vÏ›ŸsR÷\(ñ\§'’é¹&ŽX–%"â9 g œ†gT,Ók­¬Še¸z벤kªçXw>'>ýÔ˜uëVù(ˆês¦Ìúºï-’±î,êz ^£¡ë¹ªÅÓã–¥[Fú¦£YËSó¶Mvî‘ÔþÙª¼Ý˜-Šáã†ñ™9ÇÚž{ùúUM‡Ò6ó“ã^å3㳚çnÜ8Ù]FúÓio,¿aœ™úÍ·Ú/F¥b,©¶3ò2*Ëp Ïq‘ub_Huêr­Ã(×»úxË}ÂF(O×h_õïñ‚°¶Æ&‘HJDÔ¡í ùãòþní_ýxQÙª|ÖYá`pÐþóbM»Îa”«”ˆ¤Jϰ7=ÈtêcÛÿþéçžñ/³¶’§&®|ÛGx$Üõ…ÆêœŒôôôô7ºh´:aF¨ª3cªDD]«Žˆ–ÿ‘D®”uhÛݳek;ieÄÇÇÇÿ%GMdlѶY–sQH‰H:ÈÃ7À×C…Qfú+UðœEcéàÚ¿ý-«Ð6晾ƒúõæ¶Ë9©7úú 1äÏõˆEÎ#ƹ5ïÞZODúú/w_`G¿ìÆô™i¿O›·,缞ˆdÎÞVõžÃÐT®–?ëy»«óìÆ,ît2eyÚ¡ÓMz"}Ó÷»W.N?É;9Éx†gœÜT2"}ý79§¸Î­ex¾‰Ó“þfûe ¹ÃÆ “9ÇšˆˆÚNí>Æ 7\Á pj>t켞H_ÿåæ“\ÛÔ®þ®Õ!pèÝE0ƒ®¦ød«­‹KÏ,uô´m:RÞb ¢vuñwZ‡ç=•$w}Ö¡µèÈEùp7É]|äê#ÅMÊ@79Q˱×l¯Ð)•¶DF©CàpÛ†#å"2hOïûtw…ŸxxxÝKµÐ%|J¸‹”$¶ G7ÇAR"²Ž/±D8©ÂANÔ¡kÕÑ3*"£®EGd«Tt2[9‘V9zÑ‚ëYD¢Ôž Ò¶·vhÔ ©*;­• @Ï­~ ¥OHFGõóLHÔôMΧqqîݧ9ç¶>盦*bœF°ûãg¦«›5lÀÒÔIîDõD̰ѴyñÌ3Íͼjt\ê;¢^] íÆ¥&OÉœúJ"ON“RSÿ`Ç8-Ÿ>5*Kå4ìõ…qÓ/Äg-OvÛ÷ò61þ)V­ì\Ø}RFBSJâQ<ã4biÆRïcóÃçNvJ‰m3Ï0Ä8,LzÕ¹gJj-WK<_ºý˜-2ŸEë6º¯ÏÚ?5#bTÃGÏX½qòs ¢Kç‹O|c¢ÊI5|òÒ¸ âÓ¯rÚ8cÜ>}ñkg®Kêk¿V…vnchBª:=s~T&±Ã&¤&³#²››0ýBÊâ×rX§ac&q:u¦WÀ»“2§U·k %¬óð׿Nô”SÑ`¤nçFïÙó÷´¯D‡á“æŽr$"ùPå•ÏužCY"b]‡ÒçŊ׆*ˆÈ1ðÏšÝkþ÷#‘„u~vÒ,O©”¢çFïÙ³9ík#IñÔK=q€‡˜H¯¿ó{j[nP!ñ_ôç™=kx†Ÿö¦x¢ÝgÑŸçxH‰Hs4+=O->5ÜMW–—W¡UŽ~7þuÇ–ë7¨Ð•d¥çªþ1SB•Ú£‡ •á æøÔ®ûË®‹’¡ãf„«jåkT¼ðNB¬ãé¬÷sÔ¶^¦ŽõñrGùða!‚Ùl6™L&“‰çy½^ßÐÐrçkøå—_~“-iûzÑÔÍ/zC§Ìúœ™· €ßÈù5S_ˆÛ·æhS€ßÇ€zOü7ÝÎ^º`Ñ8ecaÎÆ­y§ièèÙ‹¢n¸ç *dö¢p/ÉéÜk7æ^”x„G©hPðœEá^ õ¡­sŽéÜ‚¦,šà.%ùÐPuTçíÚFDºï÷Ó¸½ì†LпÜU'Ré3 22ú~䉨÷3b»O‘{Œ™óÞ˜[®nGÔ‚•Q7L”÷5qPÀÌ÷fâÕxð(BãâŽ&¦O}%…ˆu—zCïWøÝÝU'Ò_©ý§S99ÇZmýßy¦;º‚>òúO'R€GÄýìDÚCý¡ÇZÉvhD„ 2!@ÿ ¹O%}fAzZ _£  ± ±àyûŠñøµçÏ8«†˜TŠ[Ü)†a áaccc#“ÉP3¸5±Xlkk{³3g ôdhccƒv¸÷Ј&@,ÄB@,€GŠäÛo¿E+<º±ðÅ_D+ÀïB³Ùl2™L&Ïóz½¾¡¡ÍpŸ¡)b! b! b! b! b! b! À£ 5GÿŸv°å–süíTû¬ÎP»%!>þÏ{2àõxbaË©£­$QJH[Vò[D9©ËØÙ³gO UIñzÜg’»^ÂÐRvBKÊð˜Ðêy'£bÝ¥ÖJvnÉ«h5J|B=Œ]!ò›´ŒC:¯˜(IáÁÓZ£Ò'fv¸ñPN^µ–”>SÍ Vÿ±uëiù ï&ÄJ¦eÒyM™ 8v°¬±C¢ôY45y±_2´¤ré­&À஫…†–’2-9„¾àá?Út§N4Zë…š[r+Z%^ãfÏŽp¬-ÓvO©„ÈX]Xë¤$íéܵ9ÕC£¦¼à@ÚÓ¹yµ=ÊÖ™R„Oò‚ƒQ[‘›[ÛŽ—©?†ÂŸfel9¥¹þ¾ØžýtxÐÜmµÐÐx¬LGAnÔnt p¡¼ª£êw)]­-k%R õ}Bꥨ/ûð˜®ÛrÊ¢B5ºÂ²¼VEÀ„ÐÇööc'rÚÉíÆ'QÅF8ÒPã±9-:zFŽWª¿‘>ñú‚±[²³·Ð¢>Ʋ­Ù…¶1ïD9þÅBýñ¥£–•Üüq†uvâéág/Ãkðkb¡A}´ªƒ¨£pmz¡uÒ飵íÏÈ;tíD$wTH‰HªpTu… •‚ˆ$¶R"’;ØJ‰Œr ‘ÑØûY. ""¹­-Q^¥~J½^×ÖTSU^ÓÆqåk.eöl™>¯À½ÄÂöÚcÕFR„‡ø:Z¦¸h åU­¾êàîï@­'òŽz„+jÿqÊ q¥Ù# ¢¢ú˶8G¼7Ý¥ô—¼lÙÖ"¢ªµYÇÇgŽDÅÀân†œi¯=Zm$…—¿òz$ð R]Û›_RY×ÄñDDÄØ¹û†E¿ùæx?ûë³- _QNDvoæäÅyÉzmȤÛ›ˆˆìbròVÞø8Õm?im¦®´–5õÇ÷nÙ[P^USoéKÄØ¹{úŽûfôH—›Œ¤s¹òÀö½%å]lÙÞ˜Ùs"½P/ š¿€(\ØÓÆò/Ïóºê¬… ·Ö÷™°Žg®X±½Šï9•o«//ØZ^°õã—’²ÒÆ‘)|£=©¼†¨íxU[œ× Aµ­êxSçŸååmtãã—+‹,{FX/”ÔWï]±0½„£^Ï]u¤¾êÈö¬„-«b‡ôŒ†úº)KS šn¶½Ñ©YÉ‘.xWb!<2šJJÚˆˆˆ ë™ ™õ¿ºÆ‚¶Öëì9Ä…!;;¦3cUf.\¶ÝYßè9±~CìXâšjŠönÙ^ÒDÔt$eÎJÅžÌ0{"²Œp§šz¢ú‚]¬Kºœ®²àzì¬?R©›~Ãã55DDäèb}îeÖLÈúFÏâ9Ä^Fz]c]yQþÞ#5Ó0ÏÞ•³¶šJK*dœw.xÔ¡ZN@ôš“6{來MDM{?.;³÷½nS4c˜[¬½k¦®IÎaìÖ|Žê */Ow±ïNÆ.0ÐÙ:ƒ»µ‰k*)o\:Ä…ère‰å.÷!Ö.ž××>düÊ-ã—Ö•.(8RRÓÖ™Ëó?(ÏßúRÂú´Î^ß’?­šãu»}²óD©±à‘ÑÔˆ¯*jÔôº£@ÄØ)ˆÚˆˆo²öí¯³–è…âz–‹dòðTSP¯´—Y‡“a<;ï›(áEåTST£‹uQèª,]LÙÀȾ{u*†ŽŸ8~ÎJÒ_®.?R ¿ ªˆÚޤ/L²'9PAÝ —Äxb8¸t"…G ÃXS’žãîp™—uà–¶º¶›Í¤oë¬ßÙyÚu1…_„_UT§ïNÆ3¢k\…çKîDD•EuzÒ×Uõ„ôæeï52viÚ–Ãy«¢-[×–ÿ±u0ÅkT¾éæ €X$¾©¾­3ì±wº§¯%yñ5Eu7¹¯é¸e¨b½ºþ©ð³ GÚV^Õ¦³'ãv}4² iGD\yQ“¾óÂÂëƒÞ—°¸?Zþ¬+oÓ[baˆ»eJMA¥/: ti,Øb½­á-î5Ñ‹Ìs|ˆ%C¶l¯ê+gé«÷æ[Fa£{ôÿt Œp&"ª+ª©³¤>¶óÂB˺‡„ø2DÔTRYWYÞDÔsR"]åÞ´• §ÇNϬ¼ÙÐ0²ÿp ‹µæÂò­û\Fw|åøñÓãÒ>»iÐÄB€‡Œ®úÀÊ…éU–ÿØE¿xç9™ßœ·-÷ äò“³Êo †ºÊµ+·[ŠÎoÞ¸^ç;"âkì-j""Æ/¢Gn”y†yÕåç[.,ì9)1T}¤ ¼¦¾f{òÚrÝ­¢.ãÛ•t]"–†X®/¬ù`iV¯Š¡¾îÀÊ•MM5Gr·W"†œ‡HSÁÇ™M7Æ=½®­­©º¼¼¾ëbB÷7Ó–úÝÕH,Cb“ÞÉŸ±¶†¨)wáøú˜·cÂü†ØßÖXY”»5·Ü Ýg§½}ã(6²!‘¾Lî¾íH~шzˆÚû…9SU_¾½„¨÷ ¤2¿·ß ÉO)á©~ûÂÈã/E ô´³—ÉôúËm5å{s-ƒ—’{÷Dj–”ôÒ¤Ä#QýÖ¹ãË£çÄFø Q0|[]åñüíìüfÚ/ I€Xøí·ß¢à!ÁWåo¯ºõ,Î/ý)-yºŸâ.×,óš³~½niÜÖ*ޏòÜÊso˜õ™ÕWØ”yŽ÷£#åOÒ½‡¨eR` KùÖÌÚÇ ¤öãÓ6ëV,ü œ#¾þHîÚ#¹½žƒñŒI[³´GÀ³LûŒR&4qUùk«ò{-óæª5qwÝð0ÆÂ_|­¿ AÌf³Éd2™L<Ïëõú†††Ë31¬ó/¿À—"¢Ç‡yÝkR.Ýrx|ÑÞÏöæ—TÖ4qkö ‰ˆ;rÈMÊn ßhO*¯±¦¾0ç^¹qH˜å[;‚úEô1©ÂkúúÃaÇó·ç”WV×5q÷°s÷ô Œ?}|ØÞ{%s‰L;øæáíÛs‹Ê+ë;ïqÏ:{ú…DÇö½ <’Dz=®-‚~ CBBÐ2÷†œ@,ÄB@,ÄB@,ÄB@,ÄB@,ÄB@,€G0ÎmˆOØVk¸aúOûÿŸ°áœá®Ÿÿê¹£K~2µWeÅÇÇÿõ¨æ†éÐObáoOS–—Wx¢±ˆHî6aöŒÙ±>ЦÀ¿äž—l¯ÿ&'çÕZ£­KPˆC·®VíÏÉ+»¨í [ÿ 3¦;J ç6¼¿±Z>÷1¯°ZG¶násŒ¥ïgŸ6Ñ®¿ÄŸ˜ýç”·5Gí0!>¶öo]ÓK¢‚®,k÷šýþ_9ÑÕSYÉQ+ÃãWF9âÅûÚ R¹ôVàp¯ÕBÃO[Ukåþ1ógŒ–TUè:h9˜½õØE ˜ñÎ;S¼t»6üÉ@$•QëÑWÌìq^¶êÂ…Z·¨Ù£•D¤=û©ò®¤Ú}ú´ÀÑþJ2Ö–Õ·Q{cY#‘à AÈ„¿(üé`VÆ–SšÎÿ¶”lHÏþG úý<*±P[}ZGä06*ä™g‚'ÄútV[ÊNµ¹Œàî5Ú´':£‚Ä#*6Ô×7tl€‚HÛ¨!G9É]ÜÜå××-í>}Ð!/8±¶¬Ñ@†Æ²z#9„ þþ¤O¼¾`,ÌÞrJc0´”lÍ.´™åˆb!Àƒæ;‘Ú[Û‰H¡°¤9…£‚NëˆÈЮk'¢Æ]‰ßÕ9o£ÖHr""¹R)!"©\.!¢;.+9„ºÊ­.kl—œºØA.Q>*¼ný‚*xÎ"Ú’½öo£ËÔwfúB›<=ÜO IDAT2±P*Wȉ:tºv"9‘¦E×9ÝANÔá2á^ÖúŸÄV)'õ¯J>£ÝrwUŸ¨²­Õ‘Û8¤Â~– ¥OHFG!< îµ©ÒÇKAÔú¼£UU%¹yÕFëtGߢƒ²F]{KUÞ– 9Õ7OT*•‘¦¢¢ª^c¸ùôA¾á^]YÞ1- õBüègÉ0 ™àŒ…R÷¨ÙáCºÓy[w–IB‚”DF‘ãØ³G5–åd¯Ýú…ר¨[ä8ùÐPuTçíóߟóŒ¯ÚCB³Ùl2™L&Ïóz½¾¡¡!$$-p?Iúý¶ÿt®úbEÁ1)ÃÇz ­îð  ØÏ®/.™UVVVöÙÇÌ!s”••%ûɺòêÞØ  9‡uxW<P-„‡ƒož-‘7Ö/W~–¾âƒ#mG®ïßõ4]MeÛÝÅÈÏò›ˆ+¨‹3äÂh]yûïJ]Q‘oJ€ª…ð³÷›ž¶*ÆŽˆÊ~vè›Jêîjþª­mD¾oΙaGT¿÷@õ½…Ѫ¶ß|_ÚÊëx¼ù ú ™g¤/CD•mÝ»gêªdÆM6~ÎÊ-Ç{÷ß¼\¹7mi¬u¶°Ø…i{+oè©o<þYòÂØ0ËŠFFN_šy ºû<ºÃs¬²èÊÿ?{ï×Ô‘ïÿ¿áÄ'Ú&–&t¬ j? «…Ú´`©X5V®¢W©»‹ìíÙ½ï.¤½îbì*Ý"ÝËbׂ¥A-¨`m¡"i)T.iªBÕD%)šø#å ùþ‘EW+Ö÷óᣠ'sæÌLÎ{f^óž…)kq=÷ÒÊ”BW\g²Ìx>îÀTÅ??cÆŒ—Ô'n2—ÔZ_x˜^2ÓoÊüùBãþÝž·|2 Ö¯âg̘«: ú- g̘1cíak¿-gèú”ÙCl&sqßÚ3fÌX¹»­ÿ–3w¯œ1céFhL}aÆŒÏý¡ðOCEb=?cFÿ)¬‚ ‚ ÊB¹óÐ ‡pÓ4‡S–Æ*wU¤…ÓgEGÏšÎ57zwÃÒøÂ3îÒ¥m_ÒÒ8Õž=ƒ§Oö}ýUÜҔý é;â—nز¿^Ï ž=s"}²f—2viz_à0æzÕÊø÷ÏøEÿö7Ö,žÉ7Ÿ<´%.Þ!ˆÈéKGü™ó/^¼b&ŸsÃ<]üêƒ* xÉÌ S,˜íj$¼n”ÂoþŠù3…Ääèù‹¯X0‘è/©ƒ—Åüé¤#Wó/^¼bîs«¢ùÔáAɳÖï>“WÎö÷AAäž‚k ‘Ÿ7ÖÆýǘ8}¢Si]üT™rÈ ä¬´ÂÌ~Ž‹ÖcÙkã>hÜ’´û¹Ý+':‚íS*«(.ÞV˜ò€>³{ÃJUý¡ô-KöeNç}âýMï62à¿"wGÒtn¯[©¬ÚŸ¾%z_¦ã6àSónÍümûÒ—V®˜?7µþä®ÝgV&NœðÜÚ”‰ÜÆC'‰àµŠ”霛eêbÍ®z˜¾b怉Ñ+üßÝ¢?\XoþœÛ’¾›eaA’ÂÏ|¸ÆH ç¿–¾Ò©Íè~ºpÅlòÐ~sÕ¡3IÓ¦pªÂà³.×äN[™4Ñïäþúz˜¸8)å%.Уù{v™&ÏZ¿»ž^1 U!‚ ‚ È=½…ÈϘ‹Ç S’Qdôo]‚¤íÐû5 Àt…Â¥ €;í·éóIý»Ó7Ûöï¨ f&%ö*ÎÄùo¬˜ÌçsÍÇÌ4ÝøÁn#EækÓûÄŽßEb0u胯œSD¸éo¼æ¦‰&Lž ÆÆ¶ÛØ®³íÐŽFbæŠçœªÌoöÊÉLÍ®z÷Ønž…›Â™¼d6 `>´ßÝz±Þ¡ —ÌÖ&>œ)KVø05ýfàZí®gú¤-‚ ‚ rAo!òó qËÊ%ï»Ïd(³ÑLÀä5Ù —r³;¤€Éó§O €L'öW™ëOZa ¬Çë`bt0·ŸÀI,ü4Ññ™>q¸ž gFOìïÝ›03Úõ'jÎÐ/õÙà?kZ¿rø÷•¾å=;S3Wô©Q¿Y+‚UÊÆš‡/Îvm¸zó, Wîßo>|Ș4e¢Kîi„[t£—L~wËÉš]õÖçfsÝT¡›´EAAî¡,hÉf>cªþÝ”¤þ<0F#PgÚè“…Ü19$,sË[vÒ'vï7³Wºù(aÂÌÓ!µ¾qWUÛ‚%~ιi†¯ ‡ŸItœ€q±~O=L_| ‚Î/zEðecÍ®¯¬³_â:Ta ĬÓñ AA §>„¥€Üÿg|á~naÛîµ U~ÑóûyéhÚ!Ĩƪ*Ϫ‹¢€¦Í 1ô2?†q̈4ÖW= ¬wáð>úä®}9š¹rI¿Ç™Nj[²ÖoxY®.ŒæïßcÜw¸míZ?kýžzÇ Ö[É›S¶ÖïúêâK/MëI‡*\2 U!‚ ‚ ÈH…XÈÏ¿ùŠ5;b?0îJ~abßn)Ÿbæ¶/²Ÿ»`rc˜¡àÀÿµâÝ·sŽümb­ßqÈ13Ö¬×{:qP¿{÷™µ‰{sz£, W.˜Åß³G¿ïpÛÚ•~NU8}É-ºù&<·b&Q_Ó¸«æâK ¸'w×3@Î_‰¾BAAn9ƒü<áLY›>Ÿ ÿ@¹ûŒÛuþD?`3,‡Æ ÚÎ FÓ4MÓŽ |0Ÿ4Ó?]®¬õ»jášâ£ƒùbÛ,À¸¿ð=Ì, W.™ÅÐï¯ikýîúë‡ wúÚÙ$@ãîš‹ÖÆÝ_QÀ^ÌÁAAe!‚Ü=¸Ó_SÌ"NnQíë;/;9z2œÜW3ð õ‹_}úÕ‰‹´+ØLЪ¿èæÌŽ•Ï?ÿü )õ4p&ΞNP_ :ÔÏzâðáú3ÖÛKõ åÚÅÃ;jÿ% &zÌðJǶ¡»NÒÃÊB7^áÈ™¸dàä¾ú3NUx;“?¹Á+º°ê«B‡*œŒªAAe!‚Ü]&ÌNJ €z•êÓ^iä7kÍL Q­Úív肵>{Ã†Ô ±›9Õ¢ßüµÁШVîs£ÛöeïгWNæp‚×,PûSÔ_õ /ºm_zü¦MññÙÇnÉ‹HŒÑx9ÙVµ«ü—DOô,ß‚WDó¨C;ê­ÃÊ‚ë±æ“Fú&º0šprÿîÝǘ»ÝxÈŠ3ÒnJÎä øjUÂùK¦ *DA!àÚBäçŒßüô5…K?Ðר¶|õœóxù /¥eÖÄmÚ_£ZúBáô™ùÀœi¬9i ¦+Ò£]g«OX™vh¥²¦F¹ô…÷'Oó#ÚŽ5~túUÄ™òÚæ7ŽÅmiܳanÕä™Á Æ|¦¾^Ïø/ÎLœvKª‡;9˜'Í'U±+÷ ‰‰k³Óg”^gí8 “WFuþ;gò’hþž]fçIÃÈ‚púDØßHJ\Ú6™Ï­Øìy$gâühþ®]õ»jÈ›MþäøM÷‡½ñƒµKê'rùK2Õ  æLY2_¸ë#5¤ÃAA¹' ·ùYÙøÛôÅ|êRÝ{Öû„Ùé…+fMæ뫪UÕœ¤ý§/Vä–æ.q?ƒÐoAvqîóƒ…„ñd}}£‘ðŸ¾X‘_œ9»wkSΔ•¹¥¹oÌŸîOŸ¬©:TUSoäÏZ“Q\˜r«kï8SÓV“æ“'Í 1(}b÷.#¯˜5á±,™/`jv9˜7Í„ètÅ,!Œ±±ñŒ8œ!Ëq~4ÈÙ+n¶$pâ’ô×fò(}c£‘éÿÍ €8<AA{ëì¹6,däð‹Ç„X?[è™ c÷˜ƒÓîX€ÇØ#‚ ‚ŒÐ[ˆ ÈOÄÅÃïî71ë·³Q"‚ ‚ ,DäAƒ>Q˜ª¬a@¸â·x\!‚ ‚ ÈÈ·œAä®býJ¾ëØ™úF=à¿&ó·¸)‚ ‚ ÊBA$h󱪚FrrôoŠ•ÓP"‚ ‚Œ4pËdd[Î ‚ ‚ ÈO ®-DAAy ¹­I¤W¾ÉË­°Œ ûMü,þí=¸³åßÙ{Ûx‘ ëfŒ5ìy§¨uÔÓk¢½¥ô\iùº¹û©gžÏv&I¸0quà(üUAAAîª,4ÔÞã¼{®66´??Ç÷?]ŸÈö}~É¢iÀkuÿXsèˆÎ×÷™§ÆŒüâ+ciŽ5!‚ ‚ ‚ È]–…ÝæFÝ÷lôŒSÅ•ßëÚgGû±Ì5¹yUW…φŽú¾þô•oÞÔèå1ÓÆ³‡¸îcû—»?qx G±;ÛjÊ˾nµÐc…ÁQ1Ñ|6tÿØP¾ïðq Àydêœó¦=ýïì½mp¦xóñÊ Q?~¶·×[H®:P©;m¡8¼‰’9ófM ݧ5`r{å×g:€#|v‘|¶htœ:\v¨áÌUÀ{Üã!Ñ æ#„Žãº»“Í㱫S®YõÒD¶åxyI#5ôuPÍŸìªj½òhÄ‚Å1OsŒ¥ÅU?vwÿXYüéqËøÐ¥«ç?=êÂñŸ½2êñ—æO D,[åÇv™U;‹kOw>>kÑÒ…~gj?þ¨ÊÜ àí –ú/¯<½8â müº¼Ö ݆Ê}_Ÿé™ó«ÕË„pÚŽ–U:ñ½@AAäáV½…ÝíõÇ®/Øèß©¾ðEËѶîÇD½ÑðfDL{l<<ú|Àá3mÇ_Ï×§zнãôѳ=0fzÔô§eø›d 9£€Í ['aåñIûĘouWÚ®t?+òÏ€±¾"ßñl¸Ò›ÀuWDÑófŒðíùþ½¾o°Ðø'‚ÇqÄPšzJ¾!BsÕÞÚ+=^P´,˜窿A×=oëBN[ô+ó¾²oŽìý`¬0øå˜¨ÇHˆzቿ8]Q¤ñ Š^<Ÿ³gkÕ¾ÚIë$Ï<^ûéÙãŸîëÿ»¨¾ùÎZ½¨û@¥®â“VO±$z`ãøè¨¶²/+Š?ãûÔ‹1³}QëÝá?ÿ«ö¨Þ¼ø7ânöÈ/¼k×®]ºt‰ àp8øK"Èíuì†9þ<Ç3fÌOöÜŽŽŽK—.9,íAЄí÷NEË:{®íÎÄ4ÔòxÐþ}–2røÅcB,AAùIeaDD–rO°Ûí6›­§§§§§‡aš¦Ïž=‹Å‚ ‚ ‚ ?µ,Ä"@›2f̘*¿×®]ÃAûýO0QçI‚KãÐ~›`4aä¾×"‚ ȦÞXÓb9Žå€ ‚Ü/ ·Aÿº!ååZ¦ïÁJ¤²ØØ¨î³.2goJçΥרYµ<Û‚¥y;7ô×Z›òJ²–!¤[d†pn#Z2mïö(þ^\ÖŠõ/+›Ýo#x"Idlb|Œ?_¹‘މ:èô~'è áMŒðÔ:_62rëÞôo=ݲyùºR fØνwis·q`h”ÛƹãF-Šß™ëÞœÑ )/olÛùq¬ÿÍSuPœuàŽ¦ AYˆ ÈDŸ‘H0”Åd¨­Ð*+‹Kâ·fÄqGf‚M•%­ñ›úéM«NSÇÜn|¤$.)‰$ï\q’ÄŒ81 e1Tkr‹Uë DÑæ(>¾n#˜Î®ëï7l¹Öe5Q§>ý¡tÁä¥÷Gº)­Fg s7WºUSi¹÷)sÃP”©©º¼47õ Fš´5MæÖ©$#i2ÃZL­¹…©:ËÖ¢”.¾’È€`aZR†²X %Ū„bÍÒ¬­ÂF¨rU#·Ën}—AŽ &1)ˆ£&DYˆ Ȉ…KBz{`Q²¥qåÊuªÜdµ¸(}$6K" ÏP©iN rs˜ë4:ò ­·#7 JpG‹‹JB\º5,<”gzYYWÞjâcOw¤Òbù>O·íâõv`Ù¡¸¹0ì1©ïXÁÈïT†ŠLuuÖ°¨¾—ËÚ¬ÑR Ϥ»Ç²ÐÝ£dq±šä„lur®xç†ÞqRâò2„…KÈÖåjm¹ ÂÞ#ò ´ÀA’°׈aTLl\ufBjqjj@Ѷ˜8(šj9˜­*—ÞFê¸AQ² üÅ︶A»G£H“’Ten¥Ñq…6VoÛ´j^DDDDDļU›¶Uèé¾hKIæúEs""""æ,Û°¹Üí«>Ìé‹""Ö´ÐŽ[Ê37,›á¼g[…ÑyÝ2'bÙ¶ê’”es6ÕzŠ xá‘"J«ÑY¡¿*”ĈÝçüÑúòÍ–9=gÙúÌÞ” zŠQ³*"b}…ypfç,z5]Ód½µâòÔîIøvDìvû¦­uí×Lv»?v´mú,ár祑ߩ ‰ dt­¹ï’UW ¥Ä‘<Â"æ,z5e{­óºeÛ¢ˆyéÕ šç‹?ïÕô’^C¦›¾hý抖ê”9˶ëOjê5ÿˆ9‹Ö§knl-ò´$ ˜ŠsµC†#‡µà‹‰<˜ðÓÒò]®³Á0פ¼ê4³yË6d–´XÝìºb³«9]ôjz‰ÇöÊÚ°yYDĪmó¤õ½ÜœEë3Ë]Ï1jVEDl¨¨Ý¾~^Dνg ‰O’‚N­®6{NÿÐ5ݲy‘«ew>«©<Ó™³9«R ‰7–¬ˆX”Ù[—XkÓçEÌÙPnÄwe!‚ ÷®D.! µ¢Ù ÖjÕºÔbS`bNÑÞ½E9‰†be‚²ÚQcë5שëx±y;órRªT• ØXX¶mTV’Ks²b8Æ’äuªƒThRNÑÞ¢<…”*V®SÕZ]]B°hsËɸ¬œœÄ@ÏÎAŒLÄÔ¹éBc¥¦™ •IÜfÒ êU©%4)ggQÑμ4)sPµQÝDßì)tKþÆÔâVqüÖEEEyrR›½QUm~q9`ç”VÚjn)ÏV×xil :?F$§.·¼Y½ÉÊ\µƒÿ€ö£Jûÿ1ÝôH×…¡r 4k´F÷aF"wŸäe,O^§*¥¤IyE{÷îÌŠ4&¯ÛÜD‡  ´Ù¹ú˜Œ½GŽ|V”jªT+K‹Èݨ,5ˆã³víL“AAjvßtm}ÁƵ–gäí-ÊËÚì ú_* h®hu ŸFl¬Æ¦un+!‰“ µ *±,’–:è¦Í ɹ͂ج{÷å%I©ƒêu©Nd.O]§<‘i9y;s2æ’ZuBrÉùD·$o,eæflÝÂ0W(×)‹ ŽF./CNTª’Ñ@kAnk¸"'/cîPS%xQ‰IЪrk=´Œ7¬1ÿèrÕµ!ŠŸ9²wëBF››šßBei uP™ÛD€µ![YÉ„*Òbðll”…‚Ü›V‰'âXL€±2¿’,MKŠ òù ˜¤´…h €a$‰I1aAþCL¸$‘±L]Ë=¢¯,i%¥±îª8ñy;‹¶&Fù …þáqq°è* ôMžÂÉ·îÜ™§…ø …€°¥qR’ÑõëÂÞ¸¸P•_vø_|ù•uªƒÄÜ´Œ8ìçŽD.tüø£»B_»Ý¡ Y,`Àßšê7”¿zedû ^¨<”hÕTêûT!„ÊCÝ}…-š|#NÊØ äóýCä …”°̯ëíב’ÄÄpG*—’ÐZk èVÍA&*äaþBÿ˜M±$Ó;ö’_Ð ’¤´Ø°!_›–†‚‚› !‘ÀX,½]ESáº]Ö²¥‚°^ƒà<€bÆÐJ@ØÛ%†Æˆ ›05·R ïûø4·¶Z 貎aúÛonZ†Ì阠LÍÕšüäåÍ+·n]k ‘‡‘´¡Ö wÛ¦…' $á`³Á d«Î©¸wH”µ)3 €69ŸºL•J'NÊK‹ºª x ÃnV%µ®Ùô3÷¡.L[Y²ºP•/Ë[ï¾2ŸºA1[ï$I·Ê¥H«XšœPJ1‘YŠp…( ägαïÏý{_õÕöSÇOýèmcáÂ÷§l_ûÃH…Œ©Õ ‘À0$Ï}¡AP4cfn´ ˆªTª, €ïPf À’»:"·XÂDð†·*%R5•zÙR¦ä I0WÀ÷…FMòºìfñBEZR €$ ¦.uµÊäþ<ÏO1W¤®SÖñ"‰¡"I0Íê„Ôºá—+vž80¨·S*\µ<[/t°rϰÙm{túR+‹Å²ÛívËÀêHÚ' ሾâÑzáI¼·ÏÕ…r)™pPÓ·‰ÔjZÉÈD (·7”¢H>Áég”Ûˆ‡G«c(€à»}GòHK¯- ú× Â‘z3 EÂÍZ‚‚\[Î…I%Äòu…ꃲ¡Ïy0¡M A Ù¯•íµ]—yÕ¨èTJÒØg‘Œ…°”&¼XÚ?(OOÑÎX8¬u½ÿ8ÅÒÊ„BUiÌ¿«ÆðÄ G1n­|l$O[já-•àp*ÊBùy³öOù=ß„<âõØ’—±Ï_ñÑ[ìKž†=çG@êÌZ@#æ:5 Å½ŸçPŠ$ ’O€/û!˜›–U›œœº]’·>€À!…$±rkV ¯ëÀº|ŒÃê;Ý#-–J‹H3à´$ceI3âÓ6¹¾0Ã°Ž¯0ë4u 97M!wj:+Á0·R\CÁ‹жš@Y8Røòìá­{€^,px ívØÁîŸLcï÷û>ýìãá#43±|.ïàAM³Ì_càE*9à.  `234ǽûFòÈ¿Ž¨ÙÍ(‹3^1Øü#ãõ½VÓ ddÌÐS8‚L´ /DD¬º’: Ä1>€‰GCQLŸé:m—$<Ùu?HiÒV¹Q¹±0Y²3%Œëi¼¹Y±"¢¿¥ 8îUÆp* 8Å܃³U%¡qé1nQ·ä«J)‘Dd(VËrbñØß›k ä~å÷)‘×§.&2?ïúË®­ö†s¶É²ô—ìom\r¯SGëK”j–&JùQ¸˜ÖjC¯d£ Õ­¢pÇ1™ÅPÝܻnj±dÓªWÓ]ëÐI‰L–”µRd(LV;®òI°ž/’ yÂ[äÊ¥¤©2¿@kË#¨Bš23ÎöÏ%5­7WxŽæÖ¿·«l®Óè˜+ÊþÅ5¦fdÏ r/û]ôUÍ÷;m`s-(´»Ïµm‡n[÷¶Ú¿¿zv¤fˆ ›+ ´ù%&A¤làÁ`|±D®oÌÞÚZmB»q´¤@D‚©Ùз¿S]¹ëøyDÜßüÁܬ39L|¨boÚ®Ì6€8.î‡Ò†Z)àa?y1V¨”•?WÀ…‰ Õn v+1Ä\§]×õÙµ¹:}Õª”Þ-;esBÖg$Z¦ª{msÅá°¨þ-0ÁòoÃܸ!‰ )Ùœ­®fˆaÔ·$ sS M’¤¬¬¬¤ÀVçV4ÊBùùñ×÷Ê}{¾’{i{ÃÙû~ÇpYÏ=éµ£†5}þkO<ú“§ˆjÕ54444ÔÖV—k6oX¾Z­#B“²â~-ad|$i*Vf—7éÍf}S¹JYjá-Œåp‚bãÄ S)·W4µ´4”oNÍ®3 ¢ú{Í8îÍ'(.>Ñ*S ª[Œf£¾©bÛÆåËW«k­·Ú ËçòLÚ:*P.8ÕŒ#ЪÑÔÍf}­&%µBJÕÚl°Þ°qáòÀT¢©Ö›ÍƆòÌä"”`hh5[‡W\Nyijvjh¨­­(Ù¶ac®ãbq±ÔˆÀn·râ£óÖ³Žfìiv»§4´÷[fh¾vaë×o3=ÌÍ•¿L.¢ê´&‘L6Ø%í/ %Zs•Û«›Œf£¾V£RjÑÒ¸›ÍÎâʤ$èÔêò&£QßT±M©éír‚ââÄ S« j[ŒfcKõv¥ºãbûßkµµÕå™ë—'¶ò"Ó2äî9”©¹Öe-ÕšÍ7–ZÈÐx¹?¾©ÈƒÕ¤«í}ý·¥¬Z®Ô2ñYIŽ•èÜи¥ªR©*iÐÍÆ¦ŠÍÊ\)€¿<>”0d§n.ohii¨Ø®TUÈ0‰p€ñg¤…‚V™ªÑ€ÿÜx)Ù¬NÝVѤ7š-Õ©«—¯N-7ßVÚ¹áI‰ЕÖQè1†/ ›rS‹-’$EŒ#”¥% Sïnƒô'‘"ÈýÇå+×*¿()]Çi8o³„Oò~h ttÁö2Eññ$ß{‘¨ÖÜÔ®ÏOºTçØÌQï‡)ò2xêÜì„R xbi|VR¬s°ß_¾5‡Pgç«  x‘м¤pþÀé þò Eír•2U#Þ.÷—mÍ#²³ó•ër E¡ Órâo}/N€l® ¸P ì¥ã†%e,¥T…ÉË Ic“²–’¥&]nöºóΜðÄŸoRæ§®.B Y˜˜•$Ö¦êÔ… ë,9EIÃ).GoX—ÜHX²4->> û¹#ƒ“–ïK[ŠÀŽS YN}ÈÖ`W¡KK@sûwGÏ×<'š5"³%ŒŒ ÌV1²HOï?&#²ÕùÊ„B€àJs’†q '$ik£ÌU%Tð$ Óâ4ë”7óÏÎÎO]—ËÉ\E^¢û6òý JV¦ÅÇE ˜FUª’{wÇ!HXŸ¿4 ÷˜@ L¥ÊäÒÞ&E$Y˜”'ë=ß8Ar²øêÜü«ÕŽsiZF¼s~TF“­ÎWo,eHqdbN’lЂ ~TZFõj×jލ´<ÈU竊) ’HEN|ÌíÚ?F‘X²\Ý<¬cXX²S‹-ÅVgU"”+ËWg§f‡ïÜ‚« ‡„EÓ¨œ‘{ƒÝn·Ùl====== ÃÐ4}öìÙ™3gÞ¥Ç;wòòºù˜1cFTÑM—½õvt»øÖ¹Ëv/Œ% «^/ûÉöÔGøw ¾»ví¾ŸÈ-a³Ù._¾ü‹_üâÁ±ßÍ5o~yî0‹Åòby±€åÅòb±À‹ååÅòòb±¼X^—;®\g®ˆv€‡Gñò^ù˜$îJïddÚ/m53ÜÞêI_°lu® íÀ¶(ì ¡ ßwMðÝ›`¬1î•ýâ$R¹ÏxGÕ/m¡þ^g/Ù½X`Žcnµ©ÿôÛ;¢ ¹)Væê7Æ×üPû€ã(°X¬Þk&“^ê´7Úíö¥‡×´yù˯¬K/ihqÎ Ë7Ry(VX‚`1rÀI¤r?q½“Éß³[³Æç”Ùæåœ¸pæúÃÉ3&aù ÈO€ÝnÿÇÑÍ×»¯{9…ËÎrHÁ²ÛÁÎrþái*©ëÒ§- ^=Æçpƒp‚sÒu~îÆujpNÍI Ç>‚ Xc ,Dä¶­zwc„mÛëj'°½o¸ÐfÛCX8òÓpÎjøêl°€åòºVºþ3Ð{8£õÜ¡Öý‹žZö€tó„Q6GmÀ—A¬1F,8‰Aî’ßÒ„‹x~¢×‰v;Ûe»ãG³N¶Û&LðÃòAŸÝGmÎ ]ê¯ïç~¤vpÛ‰tv6üÓJ_ÅòDAF·ì-ìjו•:zâB'°¹~S¤1‹#§Žú†«Ç«µ—&½8ó1Ïß_oÌþˆG*þÎÃßAó^¨þß\²vÁh°èö”5XØÍ[¾<ܯmÇ_¶7uÀÇo%½æÍÄ'Û* Š>;q©€+zvqì’à«ÇË>.­9q¡`Ô#Sf.\6oê8€ëúÊ‚‚ÏN\êå7#z’¾T{aҺ̄©(4‘Ÿ'-”¶®EÛÐÒÔØ8qÔ…ϰçx]î`µ^´±ÀÑÿt2ÚÎ^¶[‰_|Çc¹!ÈO@å™O™Æ‹å,w§ kÖhïU‡"tÓ„·Ÿù?ã7]=Œ7‹ ·Djsê5ü&ä7i¿Ló ûÛì¿~ÿ×e/Ûòü÷ë!Å!篟g«Ÿ-ÚíŒ~äÛ%ß²½œã ô…÷¿x¥ëʾ¹û‚ þô̧¿?ú{É8É®9»|¼<ô?¿4~¹¶jícäcesËÆ°Ç¤Ö¤îÒïúuð¯S‚S<'ïXö;Gߑͽ3íü5‘­¬-ìjoÒwˆ^xÚ×e>¾á H\5Ó×,_ÿoÁQûÙ5¯­{Á÷BSéeçA4oôaxXºæµåOÂñÝ;ÊOXE ׯ_Ôeøúƒ]ÿE]çËÞÍûâDç“1kÖÅÆø[O|‘·½¬½«ë|Ùå'.±§ÄÄ.j´بGW—•é,Xÿ1û>ýö ÕGúË–¬7S?ûçÓö#›{éM1ËúÞh3]µ{±úiBxh4ëÔE{øô`,=ù °Ùm•g>çÂ^åg‡¾5†Î……®}h†8¼ÂyÉ~µór凰`äVÉü<ó<œO?šžògÝõ—oÿrþòùw¾ÇÂôõPþÖô7ÝEÝ…ëÚ¯·»ÿ»Ðy¡ùbsþ©üÞ¥§J¿5{æò™ÿ'd~—ùƒù‡Ýgvkùvð³´çµÒriëÕÖªóUG/u„?}åtê7©iG=¨ÖÍßnÞP³átÏé¿WýJdäpkÞBk7›Ëõ8_”ûú$®¯ï8¿§ù¢íBÛ…n‰Ÿßh€K£ýDþ¾£»FE¯ýÞc¾£»ºü÷4¸ôƒµKÒç/ìjûúè%€I‹—Gðëúö­Ût5íŸV€G¢GJx0…}B—ׄ?ÜÈÑ„¾[ÔÆöѵÃúµ\z{4~þûh»ué/Ù“§°6‹éa_ïK‡ý„ÉÆbõÍu§Çü±ÐrÑöÊê_b"ÈOÀåÎK®µÛÁΖ㠋å¦Á¬ÞÙ¥ö^â '’î;^übÀÓsÿÃ÷‘ )\€ e{ªkJK›ºñgøø¾¸^ñ뙽 MyϬMNœ‡;ÎÞ _Ýü‡Ð3¡"¶‹”‡¥ƒŽönÂXÖwm¶cFÛC£Áfo°L YíðæAæI±ï=ÎÝ2'"bѶ÷™5ÖêMs""ViŒÃ‹¢vÓœ¸cÔ¬ŠècÞª ™šs¿§÷}¹lÓ¶Zó°j¬.ò&)¹ ¬MååËÏ\±~ÎpK ¹7œ»j°õÎ÷…î2ÐÞoRûM\†=öÃå3÷.OÖŠõƒlÕXòjDDÄújë]®7\ÌYôjʶ =íÑäç,z5½d¡½ æ–0-ÁakC)ÃÑìÑðex°`éÄ¥óò/^>µòÔ‰' f8LzÕäU-¿jiùU‹Ã ÙkÔ½¦þ¥éKé>)°l0×oîê'V;•¡[;¾=|ûo¦þÆqGü‘øÕ_¬îÓ„‘wFÒ-ÛED,ÛÜD»µ¿ëç¼Z2TCH7m^4/¥á?håh}Áúe›ÊÆG·ü§ÅñàÊBÞÌ_'¯y!ȯÛpT«Õ=Ñí³.yUð8¿y ƒf_ø"o{éSÖ¬™ñ0\úº ÌÀžþ4:O”•ý8y¡T4ª³éãw?¨f¿øë…“ØÝ§ö||ô’›ÎxlÞkk¤SØ'J?È+(×sƒbÖ¯ ÷ÿyk^˜ÄíÑ»tÐÍoèrº®)íö~ÿÎ\:u3FšJJôîÖQb"‚ŠÃe¹vfÈyͪÕë¶÷õm]&ä@^¢H§NÍ×÷¿™/Í*ÊY(Ä—òÁ†î¢ß{î½”gSÀæT†)uÎhºíÝ‘öñЗm_îoÝŽyôßsþ 6»m[Ó6E­â¿ëþû¿ëþûÏßüùpÛá/ü²²­ò÷Õ¿·ÛíݶîºöºÚkÏvœío¼vÐþ¨•–Jƒ>“'L.¹<ä¡ðv ¹ñ~Äûo?û¶û•Ô_¦Þ)MØ×Tås<“”¸³HrÛ­Ý’Ÿª!ã1h|?Cnù8{^ð¼µÁó<\fmÊ3½ÎLÉZîü¸ê/’U®Ë‰oÉzƒ«Â³²z/Ž –ý:X6h¤ÇÿŨץ£Çó.}Ñ›ìQ£ñ·Cîcjê~øðã|õ\¯c&ÛD>‹ã×h°ÙÁ›6øxC— ºz «Ëj0Úê ¶ØÄ•N=Ìʯí.¬ìj:o ñcým±¡êâÈ/T u:kf×Ñ©ÔÄRQs³S$ÖnWªK›- /p©"c}ô«jcæ2!>o«@ýŠJ”S´!ôå*e®Ö@"ibš"Æ¿ãÅáû‡É3sˆõËÕÙ Òô_†DƈrKL·_3¦Q* tx’¸´´¹&eBv«’W›â²âõS-òPC–§Ø[²\%ÊÉ Ë_­$2ö¦;šNcÉ««51;?”“ Û•ªÒf €„Æ)²ÎàÈ彪’nÙž¬µ0u«W5d䥄PÕÛ”Ù["pa’b}`Iê+3×—h[M /4>#CÀ°zx(roø‘j»ÝÎrŽÞ87q-&ìsöîHc^´Ö{;îNˆ¤¡T¥¦%n“ãÝÒ—”XCE:“ó=Ö—«U¹Z¤$V¡qéÚ”WÔ¼8©¥Bg0™,¼È´¬Ma|0WoNU4É ”Ë¡ Ÿ·µhSÇÚP T4[B™¨Ø> CÉÅlÊ0«7ªKeÿ’÷ÿ–ë/•Zƒ…÷ÚÀ¬M^žµóC¹Ð\½9U]i`€E&fl ïgWžêŸ~½\}‰J™¯5X€GƧ%Åø›Ük§í2²¥D­Ê¯3¤ñiI1þððÐTÈÝ¢n€Œ§3,”eûwÛÁT:Õ܇“ŸNæqx§à”Ã*Û˜6ð°Á(ïQ£½G@Ú7iÿÓð?}ž=×Q3`ƒÇxýƒõÍšß}ù;X3yÍŽÙ;\F3y–:^âìŠNj.8 ß]ün¨DúõsÿóQÎ^úAJ綪UÅ19±ý[LºE£LÍ­£HžH+Ñeëâön—²W'[Òöf6/O¶ÄʉêŠV“ÉB„&e¥G‘ ™«S-‰;7GñnÚ¼:Ù›·M&t7¼ìRçDñÌå¯./,·Ö,#ŽËH“põ75ð\{€§ŠB¿}ÙºæÄ½Û¹½„š<¤\èÉ–9žPkÃöTeq3ð¢Ðͨûbë3KõßRÞzëï5?è?+Õuûɾè–Bî'ÚL—?×6–ÖªÞ/ûýÿ·ãÿØü×ènî(Ö£ãY‡÷¤ìéJа÷o ’Jíiå]ù_u:ÞsÔ`«3ô¼¾‹îì‚0/ºË>~4ëÀ ›—elåw=ëžõ™8Å[ '}î^çDÉy:Îá¥3jKLyˆ³®¥²•Å—÷ùçŸÈ‘Y •ù-4A¥«à'•mwkqŒ•*]`ÆÞÏ?ÿ¼H!¨S«µžý~B©LLé* GisCI¹EÚ¿[i®Tçd[ËÊÊÊöæÅ‘µåÍž–&%ys³vn“ ,ºÚ Œ½eÛÂi&%òP¨+i¦Á¥rEr©Ð\žš\JÄç•••íÍ‘[r“³›h‘÷%™°>#^Dˆ“v~˜Â1–¤*+I;Ë>ù¤lg?jÈVë<>¹W­ÑuÇ(ŒÝî6—Ìå-ì=ªb8SGûqñZû=6à Y$h /<ÝRRÉHeA.w¿>?UÝ,É(*û䓽[å–ÜÔì&€Æ¤m IÚþ¯?É‹cJ³ÁZ«VU’‰EeŸ|’#3j´/¹µZ•ZqyeeŸ”% ´Je‰GÌ ”…’­Í­Âª¯Ô4“R™Ø³Æ¢›rÕ•ã_utwÈ'ʧr§‚è)½¢V¾c}û\hïÓ‡ŸGoç 'Ó× p}¸ï5¿÷Ì^§Dž'ȨêUÿõù9æšB 6Ùz,õΖƒ(V±”ÉW•ö7-}±2»5rë²Ov*ªK Ì@ÃK]5/~Û¿>üxgO›]ÐBsC3" Ùêj3Ý’«ª$¦Éúµ§f¦™#õwÜO0†JJ–ñ¯}X´UfÊV–êaæã±övE1TÊ=ڲǔnÊU3±y>ùøCEPƒc$€ÛðÞGijk—µ•ݳ½ `”_ÐÂÅ˧¢·¹O¨ª;¡Ñ|ÄÃõ†¶Ô—|žä³ºl@°AwΦ>ÔµpÙºLÙ3GAË{hlàd¿˜¦9®×ÿåõYìG}½JŽvÿýÓ1gkãàõµs^_;ç‡ÓíãÇ™À s xÒØÀìüJc¤¤¤’‘fˆ‰ÞöÇÚt0;·¤ÙÂc²€ÄU«ƒNëò³óë 0”!‡ꞛ, )æ9Ä!Ýz 3„´¹é *yuŠbg¦Û<2nXZŽ"?¿DµNe"Ä‘ñŠ$Y@¿q]‚ &…#–9u¡ ²ÄÊÊB1–â„W:îeеxŒÜcÿ•²P !$9½Â– Z)À]ि3‡’PGQãé¡È=Âê¶'¡ã|B`õ}·S+ìÃPƒ½ôîyxu¡¤\PPPgäiêx²Qç´IJOAŸ}<0Êi7Ü# Å$é¼H xc±0D Ù+â„$SGy\mK[Z(‚Ç#(%}è˜NjÕWç§&¬3æä­÷4â»5‹Ì/ÈOÎN¥’…‰Š ýæ¨UÿôÙ%Ás¥¸\îÀÚ‰²P}™’Ge¤hO\š7-O®£q|Þ¿býÑ‚~ehï²ooØ,°³#3Ž*fògÎÍßv?xëU¯î{ißl¿Ù½7þNû;`tÖg·Ü ~Ææt,‰Ç‰¿YüÍCÄCž}ç®To7¼­øFáø¼zòê·Ÿ~Úl¯å=èÌï2Á2¦ß1eÈ ŠSHW§ª+BÓ7ƒ’.Ó ‰²p³bÂ-&y,o¹Ú47G:pc±0dXo;)ìßf1Ã0Fì©övE1TÊ=زÑS«Í0F ž[¢lTï/Yˆ ÷//„MÝÿ¹nühèî¯ÎØÏÛŽ›lÝ‚g“S"Ÿzü¦·ïøXûö‹–i±ßÙ×µåˆ÷gIîß>ù„ïˆÉ(‡+‘K,Ù%•-ZB–À׺¤&ur¶)./OîϺ)ó•CWÀƃ©©•⬼ÃË^É÷ŽÖWjZy¡ŠA'½qøAsc%¹É%­t8ß­ÉñZŸµhsC~rrr~`QüMó#–E’Kt-å–ÀøP>€•G‚•y¯عùOW’G”‘¢B²0¤€Ô­v )#E$IÂEî=¶ \ÇØ;µ÷­,´ƒÓ[è\YèQÚÿÅtwÞû¼ ¥±â\M¥–Ô ä‰ÂÞ7˜Cú“ ³¸–ë2 Nå6¨§FcquP ‡³Þ%$*Ó!ýkî:M˜È9×?\.—Ô™Öx´~ˆlSˆlXõ媥*¨h[”«7{Óú‡ä‘ŒÁ•fÚ¬71ÿ¡e¡À1xÃñðÐÁUAÚνŽ~2ÉGó¹ÓC®6p>áNŽ4Çþ¤=7/&xƒÍnëÕiÿŒü§ðßB°Á~ýþ§>~ª×hºf²Ðè‚è§¢§><µ×ØÝ?ôFOpŸ8ºøè?aOOcVª#Ú¬Æ,E­Â±TkUÀª¿ðoG°¼ð»=§922}l>éϤߡ"á†$*BW+ÕÚD—A EQ|§é s²¤¹";Ÿ‰\(Òªò[<Å ÑfI’psóñ8Ûö…+Ù4ÃÜ(l™ç±ÕÖ·Ðì* †2Q öäÄ ‹Aî*v»ÝæÝ}}´èÏù›uOZ… 6¦¼õnúšáh½Ÿþß{;w2]úöõï¨éÕÿeªxŸy͕ĆRÅÙZRé?`P âqh}eŽb¨!Û&ÆH ‹ASbÆÌ \Hg5ÖjR7æR‘ O†Zõ•%¹}E·l_¿~[ƒ8|Q ý4¸AJ€ ‹äé òK(‰\®Dh9Xà8Õ‚n)IO)h¡‡ˆÜ­­†±0ŽÛÅT¥sý¥±²@’˜A«¥,•%ÍV°¶–k-‚¨@®Ç‡¢YÝK‹î÷ÿ¾†Ö€Û¼îþ'zúkÀ•r³›ÅòPw # ™4%M4ÐúƒšVR%òØQ$abh.Ñ™ÀÚPPÐê`‰ …º­À¬Óh©À˜ÀuÚÜR±y£²NŸ9X>ÑæZM‰‹yž»°)¯¦”èià Ä"úYàÍêŽ(FJ6çl¡¬Mù×¥Vöw¨8ÔÓ`mÒhL¢‰ÐÃCU—Ӿï4×:À .е]¸=aI\ð†®Î.¶Ë"%xãé7GÌ¿|¼ùR³ãŸ…¶8zÄê_ª{#éfu;,³ÃÖæNçÞד¸“êמ;zåÚÇÊFÒ‡€?~õGð°ÃMþ¯/ìtùžô½ßþ ”ß)ïh+–˜$Ñ©s¡’b‰ÀT®m¡hýÁüºám‰m®P©[#ŠMiñ¼Renÿ‡àñª…ê»fÑ:Ú,ºµ\k…‹¹Ã0Ÿ!Fb=V¤? –&íj‡n³=Ù²çT ‘M¥žvÖ ¸´°ô"ÈÝ…Åb½óß«nOO~ùÝAÿoƹ‡'}ôÏÿ7Éÿ‘ŸWŽXÉ«l–Gº×úÜÐÄ8qrê+‹x^ <1iak²*a³ ÃÓ¨¿¿üÿgïýãÚ¸®¼ÿ#~Ì{„í‘íJq"%µˆ‘6¢MDÝJn$E¸‹Lc™ÝÈ4ÅN ´?©ÐîWð$Bé u zZ¬v1}‚I‹µ[Œ[÷1bCÛHí%[”6(qP~Hq"ʼnd;ÿ˜á‡¾ˆŸF8$q¶Ïûåä…FsïܹºŸ{î™9÷ÞŠB·­¬ÈAÓbeEuµÜ`3ÔgµêaöD#B(SêZÚµ3Ë Îž[H‰…–¦9K’YZÌl--`€ eÅÆŠ,’Œå+¨zCÉÎâfÓB %j5ñmLaËä¬&Úd XmeE â¼j“˜$É$™Ïʃ–«eö¶Ò¢Acç>µÅ2b¶•1-×5sçZPŽ#Ä…"§a—5ŽRŠjK±’\eµTd«ßçÎNMY‚KÖ#š[¼ø”¿8k)ÒËø~+Ò–Åty¾B§ ê¹¹^!€dG“1d®/)â¡¢º©:›„¤Ï&J£Þe°–Ùh¡\«‘S¾Êh Zm{Šl@I‹-&µ 1»w–r)±¢ÐØ^‘?3ÅwÖÜB‚–*«›ô¹üä-׸¬{·Ù9‚B¬Ôg¾-Ðÿ´×fO^ˆÌ®nª¶š÷n³3%ÍÓ[vH ê™ÝdW7U[­{K:8JœglÚ!R8ï¢"‰ü²]r…ùΖïzîPENòÈ¿ýßÓ'ÒåüÕ7”߬œiÿ¦ø·££ï0ïÀ¼Éø…› ïXsÇôÇ"IÑ-™·ÄØØ·²¾ÝöЋ§_”fJû¿ÑŸ4vôÁ/?øôïŸ^G­ûâº/@ùmå¿{íw;¥;©üåü“¡ü™F9Pø™Â+ütG¥¯–•Z½4YåÆüæªmJ(ÍÓæ ½¾v V[0¯É’MhŒåβú¶üΚ)¹)T‰¹o²'*¨žI›%¯¶ìÌY'&©| iÈPòŽ”ÕÅ=æ½en!-”å+ÅÄ·Lˤ$‰%³+LÅõæ²m4-Ujó„~=Ã)£Æ²øàYâñøÄÄÄøøøøø8Çq,˾ùæ›[¶lù„.wòäÉ5kÖ¤¤|”7ä+W®¼®~šóçÏcûD>gΜ¹ñƯmýîþ}iàìë<‰ÿRx)¼—ÂãñR€—’øƒ—±Ü9f)Íõ×®.ë»ÆôsÕ”ØeÿŒF¼<$<²og•_d_îÇÛý;Ò_SÖ‘ÛzP'Håä&1¨ŸkE¿DŠ ‚ ‹b]ÆúéÐé­ìg¶'ŒÏÞ"Ù2¤ ì\±.cÝ5Q=ìÈþ»‰˜µn!Ëb£A¥"æª-ÚÞàJ„u÷¸£â|1ÿãæ)PVBw›+‚Õ{-‚A¤r…y?^•I§ÎÝÂ(>1qît˜ܰÈLBþ¡?w<úÿÒNf.¸¨Ì¹hø¹ß¶\dN§¤’ĪÌn½ûVUñô·¯=÷ÔëÏÿ×ÄÄx¦@¤Øià¥à3 ù¸HVßò|x0ñ7/‰hÒÄz¤ñ™¥I§ö­€ÅÎ\Ï¿6¼'2Kg*÷›«¶u´¼Ü¢ÏÁ0JY2ø*½ÞUo--0Pâ<½¥Pt%d^aÒî­·9¥z\©å:w Ÿyæ¬2äC±uëÖëí–_yòë÷Þü¹97þ·§~}!úΗø—Åö»+(ÑmŠxÊå:ÝÐÈ_ß}ýÅM¹EwîÂéS>×o†Oôÿƒ1õ3BxÙõÛ‹gßákï^êû?Uùß·6Hù8HéÍ“ÎÞÔ¾0µ)/Λ½YEâñø"œÂ8ÀM«¯•@K~¶®ù ‚,Dùuòë®p¦d–nÿ!ط缞ÝBA>7_|#4r‰[øâñÎ6+f ?{ý%þÆ[$9_c/ðRS/ÆÎ¬à¯y÷ïÿ}Ž9³I¥ùJÙ#3CÇxÜ7ðŸc£¥Š¢U´0vêMþ†›ÆØ ›E_ÐTMŸæ~âÑNÛžoÿä¤ñâ›·ÞŸÿüGmþ«Ï»ýÜûA>ù7©ÄèøèŒS‰Ý(xÀK,F:µoÅì->È=¼yí-X·‚ º…rí0Á±«o¾ýÍS/Ÿþï³'—Ïyé™îTú†ÏNûxÏt<¼"V­ ½ìz{äoìÅØ—µ{ÿóô+ÿóÔy³ðŽÑ‹ç·þ0ï»?!WežzíoÏjNO_‘’¾"úÆË)+(–‰Þ÷ƒŸ¥“+¹ ±ÙWW~û±7þ%ø™®ì­¥¼Ôcì8~ƒOoX/–ᯃ “Ϭe¤­?3»ÙOMä%¦ò&_ÆãñË;„‰/ÓRÒ„™±nA«É-¼äC ¿N®]·%û[s¶M»…'‡Ü[¾mzç ß{!Ìx¾ëDZ÷N~㟟H|;üxãs¯?óµŒú‰´Ô‰7ÞØþçSÒ‰÷ß=#2V^<ßÿ‹~±è{·æXæìáÇî'Óœ5ž%¿ïÔËÍÞZJ­ÛxÂ}äÕgûΟ‹ä–¯Ûô9üuäc"X¹N²ú–¿‚™0Ò©†ÀˆÇ§6§àÁÂ[SÌýœž’~Ój1Ö-‚ ²´à*r%9ûNàt$xkŽ]~ãxé©C<>!¹c+¼ñƹ³ïNŒ¾í¡à{?›N’ýPè†ÛG/ž;îÌ(%^JJj:ÉKI þÍ%Üô¹„O$µZ¾£:Ç[¨©«R £Ï­}ö¶¯–Üyï®×ÿúÇÿôüuäãšL^Ê7o+M¸vñYë‘&Þ Ægù|q€‰‰x<>³Ï=$>Äãs×$Ë>sÇÚ•¬[AÝB¹v8óæË$éwoþØÿ€—ýË,E©›`N¿311ÁK%WPs6Ã]'Ú4zñ\;:~Ë͉#¼©ÿ]8ÊÜxÛì“7fˆRÖ/¸1Uºðû­›î¹*« äîpô‡Ùëº%ǼŽ6gŸê K‹oˆÎ—ÁAP)®@,º@ÙÔÕZ,º’ȵJ¡ˆ’i e4A«ôFÙ€Ù>[†6Á•Häʲ1{Ë ·NnDqãÊ-£ç32×%>ÞtÇWΆpó÷0ê·}<|Ñ=Êœþœª(•¸”=¿þæìUk'ON_±ò¦Ï«âñ øºáW8ð¿ŸûíÏÒÈ•£÷•û¾3zþ}øÌg?ÿÆóOýý©ƒããñø8I¤ßWýïÄY‰>{÷×ßü»ëïOýzbŒ»mk©ü•ŸÐ-÷ö3PµsXߢÎ×Qk>ê 3„´ØÔT›+ˆ w[­Þ(A˵F£.{¾?6Òc³vxÂBe…I¯–À†œVƒÝ%h¡B«¶õ¨:ê¸ÃU{\Gö«øÜo¶õE åF“.‡?yAO˜ ¤…zK­j!sêo6ÛûüQ ÄŠ “I“¨½§¹Æ0à 3”ü‹¥2›qí3Ûûü!+Ö+sË– 8mæ6÷TL5¹3e`GöWÕ0 Ô—†uM-:Ú3/sv¸¹´>ªUnÚØµ­år"‹Þü5ɽ < ¼©-ìãÀHì]‡8Äy¼øÄ¬DšÊK½Gzßß ;ÜXjˆ‚×ކ*Oß4W/óÕD¸êªìþ(ÊÞþFîùÿ÷!Zr§ÎYf£tJfÐë÷‡)¥^Ÿ3ÔÑã £T¡¥¥&gN3gGºÍõm†Šåj)7u4à´YÛÜA (¹ÎhÔfó“™éÙ]Ú£é< @Ĺ»´[Óu@Ã9v•¹ÔåâA—/d¤å&-×ÝÑ ‡9YEK£F±¡ýfëQ@åF£&‹dGšK Q–põûÃá(¡Ð75(£{Ì^|¥»‹›Zkðá²T0Ꭳڊ°ÇÞ6œW—Í-®ç‹"®æz[_(Z¦Õ‚£ƒn骥݆Ҏü΃ÅÁº]®Œö{ƒáp”Î[œ5gGöï©òhÚh%À{öô«Û[”œP­‚ŸÊUKI sÊËé2{_ùílïsÚž§ÕÜæ s@ÉŠ¦Ê¹ý¤Ö'oÐdÒ.|ƒ³ –¤ß`k·Ùèò°Ç†q±ÉR™ÃO~!Ç®2—¦Bìê÷‡Ãa–7Y´’kQõè"È•ä+»êgÆ|é¤tË?L¼UY2ý÷÷êî¸÷Ò=ŸoUj¦ÿÎÈÜõÍšÉ<Þ={,ó¯Å_cÁ÷¶PInÿšöö¯i?…[ÖXŒÎ»ªõNÂõCÔ3(jíì•ÀÈþ²=ö>]®Ž´Ú˜Šö# q5ì1XÅ]ÉÜvØn°‡uíG´’Ù¿§ÊÐ!;TI ˜m^™åH].?ÔßPÕÇQs¶Ï8Íõ⦮}9ü³¦¬Þ&ë2Rf{PÓyL'!C=•eV{¾¢!'YÙƒÕ§n=¶? FUUõm²Îr.ìÎm9T+Š 5–íµ»µûÕ\O½y@léÜ—+€H]™ÙšÝÕ,¾\ˆ6ƒÍŸ×ÒU™Í 5ï1ÔguíWO ¶É¬ÊVK°ÄL5uÕe“¡žÊù™+¢ÞÁìÖ#uq.?ê¾òØßÞùëi6 0½»ý$ O‰Õe.eö±íŸ+ý¬ kÉï…Æë“tî¯AÄUWf¶ªŽ4Ëg†yIÔ¤2™”%fª©³.›d·Dß’Ù!'ö„Tûjø¡î]¥f+ÕÚ¾¿– 8vîisëf$Ãf»?¯õXe6q5îéㄎz›OÙÒµ?›Ïzö˺ê¨Ãó„¬[è^9ß eÚ·_¬+5Ôw;÷Ä\µ¥6Çpam6ã¬7¥Œí½ù"6ä4ì1Ø¥]µR êqÑûˆ Ò_SjwŒ(kõ–žª ±«9Š,!y–v%¦•í-„˜Œ8 ‹mÀB¯Í:@é»zó±Áæ*Å—H%ìÎiß_#€P÷®ÒÅYs2«ÜTîÙkíQ¶(ÜVQÞºCÂ'%5UNªR¤ÔHíwH«MòV’õÚí^YÓ‘Ù$D÷ÙœžHNþL¿sÙ¬´©ë¸Jj.Ûk=ª< ¥“Þàìg5Iû )„ÝAUç:„z*ËÌvUWØ›ìÎçcë~ l(­oó7^‹ÒÇ RA®$”\W(!Hq®”bQ–õ÷¸AQ^(!@ Ð) ¯Ó—,ðŠ :=Œ,‘È,Fv{B¬¿ßO(4r>ˆòË …sż=>:O›Ã‘ºéH—1‡OfÕtkÕIH)TB.f’–5äq†ÅšÂ,€ÌÒµi¯HØZ©Sˆ€/ÍÑ(1ŸÓOçiåR+ŸÓÏ^¦ DÐéŽJu‰©üFèïñ.0ïã2™‹ÕJô —'i)iš[µI×#…©Ó+‘Îþ7ÍJXv÷Þ« šH5y"\-¿kVdä¢Õ´Ø–LPrµŒ´XHÐò|)™ø¢Ñ9G|® 0Oè7´JzR³î P«Éæ)ÉÓJO0°€“;†Ò|¥øÂlŠ« „bŠ 3 -S…åJ¢<œsO†‰2­R@‰ÅŽ¢e‚@’%|IV–ˆü ˜ öû8™V!~n¹V:_*”\“ˆK¥¥âE[s2k‡IÇuÔ×PnÒ%µ`©Œ“O$¤„ãíé DXAnMc]þœX¾Êr¤Ë¤_¦’Ñ‘h¢—UhÒ~#Q/òD€H¡F}ÞðÂ÷Hˆ5‰nŒ/Φ!e®MÓ†ŠBä BPÄÜ\4Ê1>CIQâ8Ç1 c€ùÆ‚‰25œ¢)`B C3@I©É³) E¸/Iâ©4$ŸÀÚìÝÞ0\4È “•e GÐss! ¦†°³¯2U h‚ñ3ÜeÊÀ2Q†óYK‹l“•À€8Ì$‹e] s ‚¢)lQË–²]ÎW¾s.ç/óx‰- !¤À‹ÇŠ ð@}û?ðÉÌeò0‡ž’APÀÍ´íÅ«iñ-yVA1Gi³;†iY‘„ˆ"ü ÍÂLfM=Ípó…Ì,¢‹"`òú$1KéÑÃU%}Ó½¡ˆÐ3§&+kÄYYfõ1”ÜØ¹O› KŇiÀÃÍ\JHÏ×àL’ËZóˆsïœöOJŠuâ6³Oa)”,PN:‹‚DŸ22»ºÕr¸£Û^e rbe¹^¯Ë™-©ˆ÷¨½Ãég˜ Ç^"æd MÚo0ÓÉ* (`"³Àˆ%Y} [ˆ òaýDš¦è¦®ºìzïEÑd¸I‘‰2@I(‚¢€‹2lâ(`¸KÓL`êëX(ÀPÎa°zóZ[›³ùÇβþä×#) Þ0À‡éÄÔ%#˜ÐÔU€‰r”pfl›¤ BJH cWsîÏ ¼|æÈ²…L#ûêOþ¹¿ú}îì´·Ÿœ^˜Ø¥p®+8‹;„wî”ïZ&¯ ˜htRwå)0õ°=б85]ñ–LPp!nzXå¦5Ò,JOi` IDAT![K‰æ ™ 8nÚÅäëS„ðöC•s†³ìÈåS òš:\¢Ðè"Kú€gñ ˜ €‹N\&å@ø­9;·ýdžìmAå¹Ïn’×å|èyñ¤(WW—«ˆ w›÷ÖÛdGs¦®sY넱½=_DBl°¶Äº¨“õ‰^Ž™~éÇD D•ü¯›%‡1ˆAíùq\ˆYhA>Rª‘sn‡;Àúëö %!Åj%åsôXˆ ww‡Åj¹ˆ/ÎG=N ".Ç@xn"¾\#ež„ú­{ªì¾e:KÈ`C.‡3¼à P¤P‹ÃÝÝÃ16Ðm(Ûë'¿‹ÄUº½1€Ð€Ã rµ”¼L8q¾’öv$î"®}uÍý ­~ùÌ‘å̦µ·nß¼“7w©ÑD¸h ¤¤BJÒ5HW¯XóÏy¬$V-ŸñwX¹{ü”L%œnìBj"€c.ÑÕ•mÉ™Bèf âvx˜YšMe}Ý~J™/–$2AÓN¬•:2à .Î/äË5²hŸ#±õ;ÒÓPç¸Ü¶0 $_€ÂE–’Ñ€Ia®|‰É ±!‡Ã¿÷*¹5ŸÓþcƒv³Gf4ÖõR·Ù>˜ÔÚGG „IŸºkv7$Ì¥@,^ò –‹F9J(¦I€ØðQ‡[Ü#Ÿ¤ý Ày»Ý`ng–ËéEX®Qðm!‚ ÓIÕ ÎZµÍWÑZôû\cS¹ÕZUdã&×F“%|HfW7U[­{K:8JœglÚ!€bcõ`ýÞ’"Š+ué€sîàQm1˜m¥õå;,–\!¬P¬¥EvZ(ÕTèðì{ÄͪùW”ìhÒêëK¶F9B¬¬hªÈ"!œtˆª¶XF̶Ò"€ åº&c. —OBu“ÞfNÜ Ðr±|Á×I3gÃØ²–?<ﳿ¹ðÞ1ÿ‘„K˜ˆ"¤A* é£06ëôIïð;[¾¿qx9Ý%“ìU;ýá(',4šrùÀNuÉÔÔ®ÏWPõ†’Å-íùŸPK–èL¾ú½÷¥„R…&OìñMjÖ2×—%z“ê¦êl`¾ùlE…¬¾¾t—PHKóóeD?,fø(P›,«­¬ˆBœWm/äé‘â|¥ð°¹d{Sgc..Œ,>D(z—ÁZZd£…r­FN9aí?ÈšÇmV\ß™ËPéõ=eVÛ`gÃ¥òˆø}Qa¾8©h$…åùƒ¶²+PÒB£)gÖò*v8ÍU%4-”ëªõÊzsý^G‹þ{“dý @Ð ñyW[0Ù¦Š, é=2×K â±,nºƒ, ñx|bbb|||||œã8–eß|óÍ-[¶|B—;yòäš5kRR>Êò•+W^W?Íùóç—iÉB=»Ëz´]púÎrcbbâÌ™37Þxãu¨ß3O›žùß»/—</…ǃLX•r–æÞ›}f /¥ô eßýrÍ2Ò/;Ü\jˆšfÅi!(a4Á×™ ޹jJì²K£O?!"ÎʲîüöZÑÒV3;X»Í*níº&ö—¹RúÅ RA–5ìPãö¢ZgØ‘ž -—â:,ÈrbÍŠµ?újÓ-k¦—ò‹CÒ E˜FO}žüw·xË·Xc‚,¹iÙ¿³`·c„`Ý>B–+ü4®jë+« Eø,GÐ-DdYCæT ¹¶²‚‚‚m{ Kî,72ÉÕ¨oYýÙ©é…°VnÊÏžW˜ká¶Ùˆ4l¾‚,½iÍÒ™Ê鞪mÛªD¹Eÿi ÄíVŸÒTƒa×Ë "E–Œ«(ˆôË?{úºúiþò¿îÅö‰|(0 Æ'ƾ×÷í7ξÆÈáÝ–K~þ‰ð“gÆb‡¯Jóùº%-5ýS(Æò GPÂh‚Ñ#ËX¿ø¶AA®©)i?új³ò¦¯ðnHYŸššvßg¶f¤®øî—`RÿøÓñ AÝBYŽ<ô•[ÿô°Z˜™U ×<V ë¾ü#­ô7¦nHMM»Cpû¯wþæ»ÊSxhmM0‚ [ˆ ×™+ÒïϹùÞÛnØvÇM· ×i©ñ™ËÈ´TzÕÇðÿlG®N±i1—û®ró¿«A–©)©ÿx{YjJjZZZfæ:z-.­€ h‚ÝB¹.YI¤=¢¾³jëmúüìV¯<»=7³g–ü&úØ÷î]èáåzjÅmŸY 7 ¨Ä ]ŸùÙu—ÎÐþüFz=µ²6d~ñ&ðø+Ò§¾]{ÓÚ9ûe§¥¤lZÓ¼ägµf--LKK_¹23%%+AУ F–?¸=‚\a”)vôåwΆ߿À°ccñø¿•ÜE¦¥ü ëYøû[§3ÒSçžWN½ÿÇW¿ôO§ýa~véo¹ÀŸãÆRSxO½ôüfÏ×n\³’ÇãxçlÅüet|"÷–õ?Û‘Ëgfü³÷dt|"~ë†ÕŽò­E¿x:sMºãÛ_åñ ‡ß½øÅŸ^ŸˆÊ6þxû]¯¿+ùåþFòI³~ýMï¾$É ‡µ h‚Ñ#Ë|[ˆ WŒuÔŠlÑš/Ü$¸K¼.sEúþŠu¹nÕŠÌé¹7¯SnúÌÆ5+Åôªœé‰xœHKÓÔ{ç.N'ÿþWoÿV®´æÐ öñ?üõ͈03ƒaÇZ´¹ôJòŸüéºã†µÿ¶ý®ŒôÔ¶úò±ß,ùåÀ~óßÑscGå7Ò‡úÚ<ÿÚ»ÌÅß}7ï¹à{ûþk÷A÷î-Y_—m¤W‘?Þ~—ý¾Ýÿü ×A¨{WAelÁï#ƒ=ý¡¿e‡›·Õ -Ãå‘cCûvl-ØÙ8üq é¯,ØÕúøÅY¾…L’™¹.= Ékbî€cWA¥+ö!53ìtްW¦ß¸f;M0‚,#ðm!‚\1lß¼ûÎé³8G‘ékW’cãØÉ:g/pǾ7¹êôÉ3ç¾ñïÇ/Iþ¯ÜÚ|üÅÁ7Þ€G~ÿ× üúüìÕÄ}öÿJœpŸý¿þ³ü« Ûr^}7ö¯Îàϯ•T(ÌÌ0öüsødYî&2-Õð»ç a›|äÔûϽñ^Ý×?ÿ÷·O·ÿedé½+¯£Í©+Ì]e{·±a—;(³Ù§úX!@eS—‚ T®2VòÓÓÉ´ÔkÂÈJv´vó?\Ûgý޶•Bý©l3zµv,š`A·A®IÎŽÀê "ñ1ÀKO>­è‡‡=óŽOÄW¤Íœ¿žZñÖ™ó«3ˆé©GÇ€O¦§§¦ÄØQ"-É{þUDœçÆcG¥ë3¦U¼ö^ì[¿rÀ «W¾üÎÙOÎgé6×·yZ(–«¥S38Ø€ÓjnsB¬¬6ÕBã³—_éîâ¦ÖÊÝl¶÷ùB¨(7™´“ãGÆ×Qkëó£„´ØØT«Ć»­ÖO˜ ¤…zK­Jq5×Û‚Pâ¼êÄÁkŸ5‘)%Ϋ0UÏ';÷¸òvÐ^O0òj‹Q-áæÒú¨Vt¸ic×> 9Ì6‡/JÒ¼jc­ z †ÃaÌe» -íÕÔ€ÍÜæž*Œ©&7yaØ‘n³Ùár@ËËM&mã6”väwÔŠb#=6k‡' TV˜ôj ë¯,qÈ+dþ~_8fÄÅKe6 ÔŸ¼¢¦+ÿ’«àÈx9@+‰t25í*Ø”‚ 8mÖ6wJ®3µÙ|v°¶ÄFK½‡}²¦®r_ÕWÅ‘ý*~BŠÞ(A˵F£.›!Ç®2—¦Bìê÷‡Ãa–7YйŽ*ƒ;ÊyÊv YÚë¤þù©è7®ÊŽA¼„&8Y‹M&êØ`M‰MÚÚY“EÄkJl²öCåáÙJoÈa÷›mG}QhE¹Ñ¤ËápÎ7y32k@ÑKO†þšR»´µ«&‹vd_Y•¿¢k_>7_Ss»#=`5·yÂP²b£©r…i,5D Áë Gà •§oªU æfÛ õ]jâE¡žÊ=YKgM !gÍž±ù{QÓOKWC Ò³»´;¿ý Nr­‹ƒH—‚ÑWŸ0.å±ß¾5ºø]=òÄ«£Ëä†.ž{î­QüaŸøoÿìgÏsìØøüÓþ×áÁWN½?ÿxÓñ¿ÿàk·—Ü)ùÂM‚Çu_ùì:þÿ÷äóoŸ9ïúaQî-ëso^ÿûª‚¡“Q‹ó…›Ö®jû§/á&AÉ’[ÔD<þþÅÑÿ­¾óÑ"ùo‡Þxóô¹Ãß¹'…ÇëzþuÅÍë -5å\ž;pØl÷çµë=tТ ¸Ã‰á[¨ÏlõÊ,GŽ?Þezl6wŒÌÖ[vЄÂÒu &‹sÙ¬´¾ëøñãG,rŸÝzt2Œñöó+ÚŸ<þLW5Õgµ Æ€é0ÛƒêÖcÇï,‡>«}ˆv¸Í6@»z{{{»Lªh¿;pÔ›Ýb}gooï‹Êg5\RX‚ó¹ùå-ê´È½6ë@€ ê̶éݧâÇ\Öz”·÷ö>ÙÛ¥ºÍæžHÓÔ´CH(,]k¥~»ÁæWXºz{{»Œbw}½3’´0‘[[PÓÒÛÛÛ{¤½œtúb³l—Ý`«[Žô>Ù{¤Iá³:@ç©MûìjÉ ¶{"±…**1 ¸ÌU¥„—’BdJÊòŸX訷ùä–®Þ'Ÿ<Ò¢¶ÕÛ‡Y‚€°'˜ßrüɆœi(6h3´1ÚÖ#½½½íD·ÁêŠ%®Ï º¦ýušd¾¶6/dUZ*Ä„Tßy°.‡Kš*y¿qµv,šà¥2ÁI[lRQ'eŽÒ#Nsý€ØØuüø3å\G½m(Æ'1y—d0m@‰$' ãvY6èt3r­B\S³ ^»Ý+³éííííÔ‹ƒNO>°0@ãõIôû<Ô©˜­ƒ±¹ÙrIL<ˆ4¦ aŸ¹c„ôÛìáBSõÝ[tJÂÓ=iP#gP¬Í“\"B·p©HÛ¼§±i6Þ¿qñ•Ó%ß4J7-“çУ?8Ýo_ÀuðwÿË+yíÔ#¿ÿë79pæG¦ÍyTù÷·O?øk×_ 'Mþ›ç_ÿùŸ^ÒdÛî¿[´zåýÿwà7V}èYïÉè¿iîúñö/>ýòÛ†ß=øÇö?nZÏÿ™6×pï«Èô³¸C}ýÿ~üë²ë©•ÿù—g_÷ôyîGÿð…›i>œxçìkï}RîBÄç óÔÙ$Z%8,Ò´ë¬Íæ€@ž/†p8:'_e9ÒeR €/SɈèHtÒlÉt…Y$ˆ”Zçs…Y2«¦óX«NB€H¡rÁ0$%¡8_OŸk$Âò³u  „a·:oø1á5޾Õcýy°ØP|âç_Ð=úmñÛ]Ö_]¸ë³§\'øººªMQW—ã¯ÆFÒéÍ÷êJ·lHßûSëS›‹6¼ÁÓ§£ck·<øP‘$ãÔÀO~:|×½kO¼ðö»Ñ‹ëïÑÝsÑõô‰·OEARôЃ[6¤Ã…€««ë©WcÀ—Üs¿.oSÌJu:É}>ø%xú翎hj<ñmC)ÿù.ÇÓ'¢£0â-¥ß.Út}í!ûó?¾të†Õô*"=5åϼôݯlÞÀ_zÿÂßÞŠöŸ ¾þîå“?þçWÿó+³pãßq\:IýåwÎìû¯é/¾}:ñÇWš%þ¨üÏ¿Ì>ÿ‘ßÿõ“»eŽa€MF턈"ülÈÓaïð9à˜ G¨.õyÚ;œ~€ r\ᔣijÒVQp ÀÚìÝÞ0\4È $º–&ªÃÑa°×3Byqµ±FÁ„¶í)ê˜*GK£,Ì ÷"¨©ì¢.Ìq@Lå¢QŽMAR"Šó0³Ç¸L”á|ÖÒ"ÛÔ5@f ^aT¢\S«±££ÇºÇ&¤yF½&kV&EÓwLb¶K@S=? ¢ƒà$WAÇðΟ?¿$×]±bíD|É®¾HX&ÀÀŒ(šnÒ«›9:¥õh”c|†’¢Dãä8d“ê bÁ"iªú«¶cAÐ/‘ NÖburÇrêT&ÊpÓ¢’Ï`“›<˜º9c@“ŸÌ—kåŒÍ¬C&9Ÿ &×ÔìÂÙÕ­–ÃÝö*[+Ëõzl…Ц‰érÇpsîq!ÏQ^¹Ü¾w@¨7%ÂÎÉ,M!½§ÛQÉ==A©Vq}¬ €náò"=mìô‹M†jM&D]?±}^Uw—Jü»£Ïž*¾c:Œžzö… âonæÃ‰©_0 b¯$ÕíÚ>èjïÝó𣪠飞¦Ÿ?þ´ØPDCÚØ»ÞS÷?\}Æhà·ÖýG_TVß–cÁá ]õÃô…—Ÿx¬ý‰?ì|¸ºˆ¾ðâãýîoßUºáÕ®Ç{c÷=ü¨jCúû/>Ñô„cCÝCw¤¥ÃXðøæÞ˜~áå'å|õK=XôbÓó÷¾;sôåǾ&®|ôaI:¼ÿâo=âýMòÌëìG|åÔä‚ïœ}ú¥·¯ùû%(¸7=ÆŒr¡¾úúiSûÁ\@Ĺ»¤cnª˜ËZï Œííù"bƒµ%ÖÙƒHrj\(¦ Ða°zóZ[›³ùÇβþÄ™‚Mmަb§µÊlÍî2Š(BZÑy@-¸œeø Æ45w4KÐ41c@Y&À4ML›TJH cWsî%Î×¼ÂìËHò+ò+ u †Y—nÆ sAfò6‰2@I¨äcÌ…+jʮͻJ Î.D II(ðN‹‚‹FÍnñsÕAÑ…M]uÙsZؼ8Kž*âLÖo\½ ‚&xɘßb“‹: 0#3†KêL€aB‰… %\Èä%w08Y®UpV§_ŹAa‘‘@RI5ÅÍíœD¹ºº\@d¸Û¼·Þ&ë*_Da˜YJr„tno¶‰v¤Ãæ•+Ãö~ec¾$­øp·g„s†e׋WˆA¤KÆØ‰öºÙS 2p*áæ­Ø´es&=váÝ £™›U›F‡Ÿ=5 0zêÙáÑM÷\ú޾ëÎ é£o?â ª»6¤@ºD¥ZúÅ×biüì/‰3 }æµ{7± sÚ weÓAoà}×fÒÖ®ç_ˆ]€ÑÀ³'`sÑ—6¤@ææ{îH<HÌ\—|c:dló!›;šÁψp=ûò[ïfÞqÿC¥×Ox")„áža"n‡'Ñßr!¨,±"CÝ=Aà"\âu0 “£QB1MĆ:|ÜÔ3=àüÝBîn!S ‰2%ä°!—ÃŽá Ò_·»®'À_(SÀˆjqÐÑ=ˆ 9êzæO öôŒ°óöx9©J<×…"¥jxî@ÄÛífdjÙ, DŠó•´·£/ÀD\ûêšû#É Ã쯬Ü7R ΢ ‚›•‰ZIù‰LbÃÝÝa±Z¾@|ÊÂÀ^æ*²D µ8Ü0èëöSÊ|qò ¤T#çÜ“ê`ýu‰¶·€;åJ•¼ß¸º:–È ³(‚MYRh±óEMPBŠ &&é†Ü=þùÆ‚/×H™‡'¡~ëž*»KjòzÈ´ÐɤL£àÜŽ7‘§•’°(cè®ÙÝH.K…‹*ÌŒÒ{ü”L%$aâÙ‘6óQa…©ÖhTúmÖÉ\EyZi°ÃÞ”iå×K¾-\²šß¼ç±‡n»drà(¤gLý(éi‰¿26)%£‡ž=U\<öìðèfÝ¥^aÚ ~âÈ…Ø…4>?mÆCƒ‹Ñ £––žžlbÆäÁ––‘>»cccƒ?úH¢ ccá†ØØ–¾bº€ó2L—|ó{\½8ºÿè»cë7«îßY´éZp ÿò¿îÅ&» ©ÂW¿÷Þ£”PªÐä‰=>h+ ݶ²"M‹•ÕÕrƒÍPŸÕjÉW ›K¶÷7µVìpš«JhZ(×Uë•õæú½Ž–jh…*`¯ÚéG9q¡QŸË'Y]…Â`--²ÓB©¦Bÿ€ß`ßÛ n-׸¬{·Ù9‚B¬Ô• ucÈl.-b€’ëMó¦ˆR%tTíò…íÔ[òsæ&ñUFKÐjÛSdKda1©3³2Èìê&½Í¼·¤#±ö§ÎX.¾r^aD¹Nf¶–0@вbcEÉg2©¶Z™Pâñèãc&q _}â1GÆCÆRIzâÃ=Z*I}ù‰Ç~·ö¡Ò‹¿rÀƒÆRIúh Ëš˜[xê·ÖŸŸÞùØC·¥Ãè[¿µþüíâG«åÑŸXŸßbüç»Þ¶?vtÓÃuEà‚×þX驪ëŠÒ\?izþ¾G–gœhüépñ£ÕwdÀè[=M?û›=”îx쉴‡Ý%™SĨë'MÏßc|øîÌÙÆfâý€Ë±ÿ©Œ‡ýöB+ãÄãñ‰‰‰ñññññqŽãX–}óÍ7·lÙò ÕúÉ“'׬Y“’‚oȯcŽ]“ëìc]\a&&&Μ9sã7¢~%ŒF–v¸¹Ô5iÌ!¯T†¥f¢©³vÙ?o½RúE}^¤oRm~ú©iÙÊ\~4}Ã]›3ÞþÃó§FàBÀõìéõ‰ÈÐrž´ N<íŽÀè©çºžèyùrKŽ]ˆ]€S®ÖŸôF27¬§3/@AAäª!6|Øæêt×S ‘.c'Úë sެ/6>|ÃB^šXµùÂÏŸÏPo¸Ì¦é’oî)î:´ÿ±§FÒ7ÜQújÀGÛ8"ã¶Ò‡îéêúécG!±ªéÎM åÅß|—¸×Ùôȉ†oß·ùD×O]ciüä¥Þ–Ž¿5‚ ‚ r•é¯-3{éùÝÎʆî¡ÈL¾‹¼}Y¦„œµÛ·n-ªéùpD¬¿rë\A³ƒµE ñ‘æí[ç³ëWÏ$?î$4;CÁöÊfguõqÀ} Y”M] Bð‘ÓG}ý~ZßuðêÛcˆ ö´9Ru[² px_UÕQj‡©Å¤È@h¸¯Í\¿'hêlοÂÒž%Röî.Ž¿ì6‰&p[íCu‹cà°Áê–[ÚåŠH€ÈÐ~ƒa¯Ux¤QŇ³¾ÌTêMy9"~,0Ø×fÝ[6délT °É!×1¿ÓKìh調R›½YµO>S pì,ë×9 ™Òʃ yÄÕ]µ"€XÀiÛk5PÒÎÊëizt Y¦D\ûÌö>?GGÈŠõÆÊ\ÁgLËðþ½¼©E6”väwÔRý•%y…Ìßï ‡ÃŒ¸Øb©Ìæ;Òm®oó0-V°Å§à IDATêä^»·üÈþ|þô…ëöÚýgß³sÐØÞ(÷جž0€PYaÒ«%d¤¿²Ô!ßA÷絶ϲd±án«µÃæ(i¡ÞR;wØÆÖ–Øèb©÷°OÖÔÕ õ9Ì6‡/JÒ¼jc­*á†rÁ£ »»=Á('ÌÓ[Œj 7”Àr¤!‡`‡K œåHC67´ßl=êc€*+Lz¹×°÷p˜ªÃúÖÆ|2"Ÿ2¡>Ûáh^SkMnBN¢lMC íôÑ—•IÄÕ\or@‰óª-µ*;Òm6;¼Qhy¹É¤Íb܆ҎüΡ}Z¤µzŸ)j:Ò˜CBȵÏjïó3”8¯ÂT/""®fƒµ/LÐBY^>Ã}©+pZÍmî @ˆ•Õ&£ZBBìRq©%s‡‘ÁýfÛQ_” e;Œ–ÊyÎ!¯.çìÖ¶áÎÚì¹ãÊØÐ|á³á¡0!Ë—‹§ r*[:5͈ µÙ=R}WÃäS*¾$Wkjáö”Ù:FµYØè+jwçÉ’Éj–-ÛôO7>÷û[[']:vd_Y•¿¢k_>wÙT²¦®†œDcg‡«Ì^Žóî- V·4+üó¬<;Ü\ZÕ*‚7mìÚ§úžzò%êr­£ÌéVf‰°]|40ˆA+5¼ì©7õ½O>ÙÛYA5[]±ägÆv=õ†©©©&{–Í €ó„Ô¦ývµäÛ=€Àa³ÝŸ×r¬÷ÉNc–ëh›siª±¥BLHõ‡UİÝ`«[Žô>Ù{¤Iá³:œßÍh;œýt“é0ÛƒêÖcÇï,‡>«ýÒÐ.‚€°'˜ßrüɆÎe­w@y{o]z¡ÛlžŒŸáü=MË“½Ç˜¤›u ²@ŽÚ3å½½½½GZ4œË¤5£ŒV´BŸYbþ~?¥ÐÈçŒÚD*uþlM&• ;Üf ]½½½½]&U´ß€È€­-¨iéííí=Ò^N :}±d"ýÊÊiE8êÍn±¾³··÷ˆEå³bƒ6ë­ïê}òPk¹Àååæ»²f«Wf9rüøñ.£Ðc³¹cÉÄ5GÊìÝ|ÊÛ?~¬UýsG²ÀTºÐXAX/ù.–Tø¤L£„ú½ÝýC#ø"‘€`ƒý^F¦UΚ’’<8êI<­B+E&—Õ,[fÝY"cÜ΄BØ ÓÍȵ Á¥šò €Ì©k5% W³’Zy‚€¨w0Ûr¤÷Sñ §àlè"²äÃKŸÓOçiåR+ŸÓIvprÀ°:(}K]î¥îA+ÕR>Âl!Dà D|ýAaž:› %…å jár°A§‡‘é %$Y0ìö$œ7Z®–_bŸÈ¬šÎc­: "…JÈÃ̼, ©F)Öïô€B—íñåÚ<Ê?5ìk´9|(4 Âïò/0½¢i:»û‡C1R¢ihÔa¬ ²´pQ(!}ùv˜T&$%¡8_OŸk$Âò³u  4M„û{œC)ʯk®ù€hÌÇéju¹ ³ uÒ°Óbƒ.'Õ(ó´²yÉDšÖcµÙ|ÈóÅG?P\dNÑ#Mjb…œf‚Ñd%"D£Ž8l=NØçÌ’3ȃH¹BÃK¹FÊ t{c¡‡äj© ÙA€J…É(ó˜Íý‘4Å1e^õByo£s8İ¡¡îº*«‡ ÉËË$Ò_·»®'À_(SÀ7²¿²rßP H8‹&ˆ)Ôâ cr[‡Ø£®¡'¤X%_'±§Ew·ÿÒT\ˆ*K,€ÈPwO¸Ç. ®é4Ñ(GÅ4 À^†c.'õìr£2ØÖæc.#|Î×a6Ôw%6ó€Øˆ³£/,TÈÀÏ­®ùm†FçH € ; ö¨R_ŽaãÈ•e¾ “Ëj^—iœÛÑá&ò´R™j±¦)›9šÑ¾-DäJ /ÕˈÙVZÄ´\×dÌå$;83¹Fo4¹Êêë{d–ËE©™Un|Ào®Úæ „Ò-ÈìÊÖvI›½ÃPjeZ¦Ôµ´ksø‘Ëʤµ\ã²îÝfç±RoTŠ$rÌl--`€ eÅÆŠ,’ ^æâÅ2›K‹˜„¤ô& ¨ôƼz[iÊ 5 ÊqI"mE¡ÛVVä i±²¢ºZn°ê³ZôóÅ5K»Šêr©¡¾d;-¤eÚj}±ß`­j¶_ºäèôù9ÕFe©a€XXø mi[›µÌ怠¥ŠÂ¦ÖJ €HÓÒNØmUÛ¬-Uj›:u3ó¨9÷Þ{·N_M\ÑyP‡±oÈG@9O† “ÉŠMæVõè'ŸUH“j±¦Ÿ]²µ•X?šÑeqö3²4Äãñ‰‰‰ñññññqŽãX–}óÍ7·lÙò ]îäÉ“kÖ¬IIÁ7ä×#ûvVùõGöå^{;ýì¯íÏ·\}».MLLœ9sæÆoDý"ÈlBÝ»J»Õ‡–»×‡FÐŒ^½\)ý¦|Ì–-O¹ýΔ ðŽ,%))) >-E æª-µQÆö• 6Ô㎊uâkq÷÷#Ñh0Ì A®DJ­ÔÞÖÖ_ˆ;Ð šÑeï„rsâ¯[]/cu ×0ø¨òj'Ôß8¹g/%Ϋ°èÕ"ìö—øªA€ 8Í›;LÈõíû4"”0‚ ËT¿8·A«Q~Ýü:¬A®*H‰ºñëAå>¶AAAA·AAAA·AAAA·AAAA·AAAA·AAAA·AAAA·AAAA·AAAA·AAAA·AAAA·AAA¹6HÃ*¸Æa='‹¾už›úHmÌP7kTé˵¼ñxœÇãáï† ‚ ‚ è"Wbå¾çnÌ!ر¡_½UóýpŽû&U&Ö ‚ ‚ ‚ €A¤×dZÎ6¾˜ Å`ìxéH¹í”^9¢k¼À¨«1¨½Û¯QúÕùoîwÁûŒþî×ö¿6ðÖ»ºÛ^©86ÀžkP¾ÚüÒDäx¸BéWßíWßýj…éýÀDèx¸:߯¾Û¯Î4ãX¬sAAA·YF°£C¿9½Ÿ»x$ÄýÇ'vöf9ê2¢¿y»¡7½¶WÚã–ü!¯ç‡!¬Pß>>ôÂ8D<¸ÛÒ¢ý, ¯1ð"ãŶ†¶Þâ|Nêì©Þ‹¹^›€×"u?<'i¸ÙùœôÉŸ¯6žìNx•‚ ‚ ‚ [ˆ,%Üùš;_QÝöŠêÎ×k~jýÉÔ7´"Sž cÃGXºh|=€ `­.ö¾œ’]”<ÆÆ`ÜlLúàáK± ¡Î3·­–f¦ˆùqßo¢®—FÙÌ•»~±qûgSB®˜ãZ* ÈÛ×ênwºÆ°úAAdyƒs ¯¦çÂDÄ{¶ñ;£õfk€GlL!&¢ï±1œzZ ã#ïÇEŠUôÿe‚ï§üÿìÝXSgš0þçæP1¨M´µ%vK¶NCg Örœ¶Iõ%N_W;ÄÝ5n;Й!n×`¯/ñæ]Ã{M‰ã;SX»†™•L}‰×Žáª%3SCw‡tìß5iÅ€zÒj"Ž'Ïá×÷µŠUÊýùƒ òëžsîçyîçyÎÉN‹žy*íó&îOáAé;C¿”Bè¯%×_ü×ïŸ6_­ú^¦Ù,ŽžÓá¿{22šr# Vò@x¾Ñ¹|«÷?†FÿJN%”Ë%[Ö,X~ƒÚåÊå#çÈõLwf yþ½éò·ÖŒüâ×½Qâ-Á,„î’¡÷ß>ùFdì¯$Ѳ¬týšÅ«ÓotÃgOöõ-“(§‰à¾“§^þ8ý—ú…ÄØ/‹±˜º;„ð¹—^º4öç¼ùikÿrÑ–Üyâéßýüâ1ÑÏf&MÀ_¼|0ú}ÊÕWÆ~Á^¦…è)Q²ê¿þv¸ü7WùgScÄ~.H‡è¹A’cYb„O”¦'Àê[ðùŸþ3á%Þº>:ôæ~)éN~f•`Ἢæ½P\÷%ËK_XO3/I$VJþíßçK°¤çš„' UYIC_œûsˇŸÿýÁ«o¼([9M=n:‘ùÌ#$1õóI*Í#¿LJ&àK,Y„¾óËÞz&€áhß—ü1´Û~å•—}7cšÌpðêoÿ™·8CINý‚Œ‡åo-KÈèÃ’Eèë²ãåO“ƒB÷éÈ¿´À>ôKMú4™áÐé?}qø!jÚ´0cá?ýM¦˜¸‚‹i!úfãº/üÏ‘Ë&Íà‰¾õ=2j½t¼,õ¯Ò‡Cï\<)•+$žy|Øò/QâÛ²(~&¹×z©73më€ ®ø>÷W{d/,O¤–Ùéð'éZq–µïÿ§^]•—¿ü·ŠKb“ô…å8Ñ3—$-^²àG/$üº÷'$µ“0Øÿû÷ئÓÂ@ÌË|à‡™²ïÌßÿ®ÿK8ûòÛó«ÙR.²×uþØ¥€„¥Ë¿þKEC^×§{Óåo­¹ÖŒu|ög_¹ €è‰'—¼þxZ\J9åAL&Æý‚º ‰â j½&ežóÓ½í~ú…Œ :ùÉÙ½üò$@ZZQÁÒ¢%ƒGZ{Þå†ÁñÙé‚eUYÂo]çìì 0oþ?Z¿du:ô}-ûÜhohwû¥Ó<ÀPâ¢e _ÿ΂¥ñ½~(š”$À™Dàq@è6;õÄòG¤Uðƒƒ!ûâïg&F{Co´_òóI¢'žXòÚã)g=Á]§‡z?{™]úKͼ¾OCo|øçn!ö‚¥¯?‘Fô]øûØ$áøÇò¿¯·©wpF€L}¾`©!+îk·¢$Åý‚fo€E0Œ_[¸2°á¥‹Âÿ|°fËävWò?e– 5Ï|¶þÉîW6ÿ‹ô¯Ò éá ÄÅO†y– ¨GÅ Nóðmñƒ°PüwßKøíßžzæÉO×?ÅþéÛ ÍÏŠ`¹ÄRú'ÓéõO~¶þ™/þcùk1'œ“ÈyÏ/K<ýÙ•( Ÿü¨÷á´†GóJÎkÜî#‘/—,Ùù˜(Y¶ô­—dËE‘#ŸûÌúUé_úÙ¢ÓŸÿóé)>ðÊŸ÷þ‘–Qüæ•Gób¦¸÷’?þ&·ü—MÅ'¼p%ºïà§»N xºÉO<– _\>;ÑÞs•dž¾ûÂÊß¼òè/ŸLh9röO®_/S$%3ÌÃU$uÿñì>îËËq¨t…^ôç½qS…ÿn{ßÀ“+~óÊ£¿y9ký÷ûpüÍȆ¿ø´÷ös^~øüÉž—›Ù“x k„î‘9-5èí€+w¹”¼zÅo^yôW/,è;væŸÃrõÒ-ó–­yø- EðÜÞ÷.Ï/xäPé_üjý<ÿ±sG.OÕ‰dÙ_œ‹µãñË5äéO£ñ „KáJÛ)ÛçCÑðy³­û·a¼ÕàlXÀ"ø¦wп½ô'§|&iíÛ¬ëü•9ëÿš'¿ˆzö¡ko_’±ÿdÆøÛùÞ’ýß›<Ì ý6ü,u$NK‚/¿¼ú‡î¡åOe®$ Iù—ó¼ä»’±4®ýúî‹+Ÿ$1¤¥==¤)<\7[$Z”4øþ]Rü%¥ÌÈxM—1ñ$§~Tøà?:‚{Ó–½öÝ…»Á½Ä²×–'ãQ@è6»•i"bhàË¡¡ÓŸD!ë¡g2 cYæÚƒG¾Z}íJÁÄåO=lçÄ" •ËD§S­üN˜ŸgOFÞŸ¿à‰SׯϞÔn,ÎÍÚÉwÿû…*&{'×½»õBõw.Åî B·Û·_JÀ—W†úÎõù‰j–@dÌ/’}±÷ÄUáÁ¸µ£äU1I ^L-Oº|úÊ0\%!AÌëÿòÝ—‰GÄ˗˪–OÊBWjÿþHïⲫ¾s®Üyfóгé8)€i!B@ߥ¡ä4b õ #þ÷>ýÞ{£ ÉçùḴpø‹Ó_üâãèY’“àÒ%˜—5åèFú댴ùXßÞƒ¡óIÄÚ'—üðñ´ WM¤g¼Vpéoßû¼ÛõÚS~¹ýüóYKVbõ†Ðm¸ÍK‚¾+#_FÎ|¯bC5Â,¿2a*@ÿ¹éÃÈÇÜ?0@Mf>[(‡c9õF’B±ðµ‚‰‹H!i哲g>;½÷dFíê%Oÿ:¸÷³jVâbR„nËàÀé+0o¾Hà†úûÊߺ4¿0BÈâ/)ð}²Ÿ¾Ú7É0rnž™2€”Ö<Áþ__˜?:#Ì럒eMxgIwdùÍíÜÚd¯}ØÕ]­KãÀ´!„à ÷ÛÞEAª3ˆ„ÜEõòøvh¸{ü×Ë}»Ç-/\^•• 0ðû·öi>’ÈÈ0¬Ï0Àp_ﻎœiZòÈ2ã#/_|£}àéï,]ÎEv}8ðÌ3Y˜"tÛYáÿÕO,yh™(ÒçedýJ3oBŠ6¾Ès°¿ùHÈ·LþO/ÌÃðYÏg?èæ#É´g ²Ÿ-¡ïÏ¿ø÷³ÿø_óÞ|"~JbÈ÷ÑÙ?¤-¬^™àm?û~Æâê‡1'Dèvø‹¾÷û‰ï.Í ‹’)ªöo¤Kaʆè§gwŸH|íŇŸNOþò.Û¹i>2qñòů-_ 0pòã3f«0d+ãÙ¾îsoô¦ý¡>=û³só^{ sÂÙ 'yB3h¸ïó¾þ÷sÏ—üèaD)Ï,OòÿéâÙAîëfÿñ}}À~ ‚ð%$.›Ÿ }½_A¹þÚ$ás¶ümÖw32S2’â¿óÊ彿½¬–ÿðÁèÏþ=œñ”üGYIx$ºåå/¸‚¿§½²&] ‰ËKƒÞð±Ëà ô]Üëd}±.åÐÈ—< Ÿç2bá2×rz††¦¸¶çö¾ÝÝòùTŠ"-aR¥qö㞟}.ÞY¸@øcïÞðU…\AŠÐm:Û2·^"“=Ÿ‘(^2_qårKïÀà•#GzZ>H„aà’’—¦% <öD…‘ë›õ³ŸœÞæêëH^š™<ﺺ¢}`£î¡Õ—Båé_XútˆÙ «^„Ðù¸õ¤.ö+A<±RZ»:c©W®Éúþ{l…-<04Ô¼¢‚Å8oµè¿B»Ÿ«ÔK·<ý…ý¿[ÒDK³ýpõÕÊzvKä'~:ñ`fуg÷þúÿõ@’Hù˜l˃qCZié¯ýMzì…ÿkk „¾ªKþÓŒbß[8¿²x¡*@œµ´ò‰³{ú#”üÄ“K$¤>/þ§C'ýßÊ~}õ¼]ï}ú½E‹2ØR° »õ¼ÙEVMZ NÎ+züÒÏŽø›HX”µðõÇâ§ —>±ü×O€zůÕx4úª®¾ñÖ‰7`•ºzͲÊÜ41¤-x}=ÿ³öϾÇ@âÒe‹vd&ˆT+SšŽ}ö½^é/×/Þxâ\ù[\%R>ñà—õ¾q$Øòܤ¼/qéȨ̂{C?h ‘²ö;Kã§ ‰eonýºä­­x,f·ÿSŠØo9œÄâ@÷>½IHH¸Ÿ|öìÙùóç'&â 9B3oxxøÒ¥KK—.½KŸñ‹†0Bè®Æ/Æ'B!„BÍi˜"„B!„¦…!„B!„0-Dè~p—.,D!„BaZˆB!„BÓB„B!„B˜"„B!„´!„B!„¦…!„B!4ç‰DOkD­Jü‹U,Ëbq {N&“a! „B!ôµ¦…Ôk?¿'ͬØÙ•˜˜˜””û%!!adddppP„3gÎ`ZˆB!„Ð×&'''%%źì˜¢¯!-ŒýLLLLLL€ááa,„B!„îeZ(‰®Ï 1-Dw)-ŒÏ có„±ÌÏ7„B!„î}ZˆÐ×)–Æ`NˆB!„нL c“6Xèæ‡X!„BÝã´KÝ+8SB!„Ð=‡ß[ˆB!„B˜"„B!„´!„B!„¦…!„B!„æB³ÎðððçŸF‡††°4ÐLyà|ðÁÄD.ÄøEÂã͹øÅ´¡Ù‡eÙ¤¤$…B‘ššŠ¥ÏëõªT*,‡Û BooïçŸ.“ɰ40~1„1„Æ/Æï\‹_RBhöá8Â6 Í ‚ –,YF±(0~†0ÂøEs0~1-Dh¶Ö Xhf¥¦¦â²(Œ_„!Œ0~ÑÜŒ_L B!„BhNô!„B!„0-D!„B!„i!B!„B!L B!„BÍ-ø½…}£q¬?Š’l¹<“Äâ¸QI}^0"H tù™XèþÀ‡ƒžˆ¥r…ŒÂâ¸pÐÛåc#„\£UbI¡û¦CdËå™xZÞ¸¤|>_0¥Ô…´ ;+³#-8¹Ïü–²^ü±ñÉt€sŽê½Ç8€Œõ;ÌßY„ŠÐ}ÓKꨫªnò„Æþ–än*«4éä×Õ·|°ÍZ]ïò†¢âlµÎXQvÛµ2ëvFTº›õÊx¯i]i»0á1UÍÑúÞ4›|Ði­´êŠrM~|öÚöXíî@DB’Ko1n׫¦Iy¿¥¨jZÌŠëŠmfô^s›U5EÁrnúò®Ñ?ÄRm(31_¥gËû­Eåü”ÛE³·—äwZ«­­]cßbEd”˜+ ן|œÏaµÚ\]!@œS`(«0ÜîÀlsó´öfçÑ„3vô¼Õ4´YT÷æüã|ŽêJ««GçÒʸ€gÝÖ:G{O€ª4†í&F1Mpñ&­UÕìÐ˾Rˆ±ÍÌÆ==c‘­ÖÊŒ:ÅW `¯Ik™r»h°·¹ÚR?zZؾlþ IDAT€8Gc¬¨˜¢fŸÔÄ”˜*˜ÛØà|N¯DGßì<âýÖ›í‘ åTnfîÍ È³îúªj»7¶C¹»5ñ>Øf­nty{Fû'%¦2­|šŠ†k3híÅm6-õUBlBi’ua‰©ä«õnÔ¾Ï6··ˆ´÷X÷åX¢x¾ó‡ÑÐý†u‹¶æ„„˜ˆtª*Újóó“^騦¯êÊ)kx÷£ÎÞ­3HÜå[«:n3¬YwãXÝ~„dÓ:ãÜ«œ0ÜaÑUêT»v©(%d|Ë^¹ÕèÆÒr´³óh‹EÇ7•nµx§)Rajn6ÝNnFdo?ÜÙÙÙÙy´¹¢€k,ÕO» 47º”>«asÕhN( ô´×—n6»Ã“º4¶ÒÒºª¢ùèGG[ Á¾m«ÕÇßfVØÜhp_éŒå¾W9!Ûf.ÚZíê!4»¶çHrâ8ÜfÖ›ÝCÝ»u~t´¹B©ÛZz]%8Àù•NÛmu‰ÜÝGcl3æôXo° 4'„;*‹J÷ÄrBB,ˆ\Õ[¯«Ù9¯ek©/´´íüèhó.:RWZÚ¼Íü*`ktoéÌ#Ä Zà{•r¾ºÒ¢r»7’³½a·F b¹ŒˆïŸ”ê«9ÆXÿ¤Á(÷Ué·9Øi>‹¢ëÚê´·Ñ“/×n‘yÍEÓoãï6ÒÂY ôzbyaß''8 ^›sì?õÞ>KÅŽ;vìøi£ë"Àåã?ß±cÇÏ?8þÛºïØ±cÇO÷}pn`º\<þöϼcÇŽ ˾÷>ØW±c‡åóýç<ÿöóŸVìØ±£â§¿|çäe¬wî±þ›<€îY“ÔVUídÈÝuØ}´¡`´¢ Ô›íñ-ïklô)wÕš´ŠLÈL¥®²¡¦¤@¼ß¢ÓUZ:Zßžm«4è´Z-­5T¶±£]H§YOÓ4OëLÍ~x_eéž@ ±”©ôñî°–ÆÞÁ˜o±¡¶Y¯5ÙêL¥zFGëLŽ p&ZW7¶ÇÁ:†6uÌ`¾Äy-[·ê¼ÖF¯ ¡ÕÒøìÚê"Jê,ŒJFP2c©Ý­V |‡‘Ö7Åèï¼ßª×[ý<„݃–ÎÏÏ×–ÖMì°N£V7mÖGÉòõÖ†¢Õêdc½‹IÅÈwiÆb5ôŒN«-­óq“:Ƀ–¦µ4­3Öy9ÞgÑj+Ç’„°Ó@ëa ûïo4ÛG§Ÿ$›ö·¹[¶gÇþЏÌÕî¸CÎyêYÚRcÌ—S$P2•ÞÒ°Û ¢¸6m¨³èi­ÉËç³™Øyd´ÅÎÞßlbb¬7;Y€°Û¼íPOWõfCŸŸ*äo¾ÛV®²Ùj4è-ÍT¶…GO9v¬¶©Ôj-3™/…Ýæ­;]€¨»ÞÒ€ì¸éTÞßTï‘W4˜uÊLHJžo°X5‘Æ=nÂN}¾a´(Ç~ç;*u;V»ióóóóuÆf?7!u¶hý´Y%§µu…‘Æ=î0ÀT5gÐÆhu£AÏhµŒÙÉNLÌf½–¦µ´–15ûùÉÎèþÕéØcnÍ.kv·(–Äþ 2×ÅÀ°»®Šk-z•ŒŠ¡5 År‚¶Y¯5֙𱸧nOc MÓt¬•aÛLí!¹Èè`aª¿ù~·hƒÍf.5èu´¶Ôæçƒ6†6ŽÕ8œÛH3¶àŒÖt¶Ò­M]@ ÉRóãV4ñÞúº ÚRg¢cýmªÙ¥òÕÕ{yà}•Z]¬µÿsµÆ68³‰¡óóóiÆìœÐÿà|VF[ê`§Ž"2S¡5ÕYÔþºz/¼ßaÖkµZšÖ•Z;± ÔéÌu•¥z½N«Õ[:“ÜfCÓZ-­ÕW:ƒ9¿pëe/¯Íè>{5ºwIá¹wêÞ°¿8öçyϾê7wÃû"+loò^[¡I@Ž¿õØq=š×Ëålš°äLF3Z@BÈÃîw7ë嬣¼Ê§²´´µµ5h‚Õf Àyª«}ªº6·ûhƒ&P_í “Ê ‹F’]Òà¨Trm;Í.iEK[›û@ Wgj¼µš„ˆÇ›SÑÐìh±ªºm>Bɨ8·;öî ÛQ1w~Ýï·•2:-Mç¯+=ºV¡*Û7ÙÇùÚƒ-ßC…N# ºn2£vî¬ì¢kÛ::Wˆf«w´ÄÎg5ÖCYƒYu£ÿBNë¤AW€ƒðÅHBŠšÎÛÁQéÆo×\åUÕ´¹ÛÜ-&Âa¶ve3„ÇàcIpkP^\€NÞ÷YaÀî¼v^äøY)´Û¯ŒðAw€P1ñg)×2´œ !Úå‘íjk³ª„Žj£(9ÐÖæn1IìåVlkU}ˆ±µ¹Ým–¯ÕÚÁeÒ•*"§â€Í¨ˆLò·$ä ¨-¶fGK¥ÌÝØÌT3rÖé Çþ-§‡(`äw<«ÈuX :­–¦óŸ/w/NB=±Æ¤‹›óˆx;"rFÆS¹Œšð·nœZífk¤xGGGK‰ÐX~­'ÌuT²ÊZÃÖ9ºÊïêáaªš“ âíRî²5;׿û¬ñi~Ðn²²… mî6÷~}´±¼ÑŸ©.V°;Ú.¨™\*~¿g…^»+z-~‰±(Ž”­¶®ñ³ ¸]”B§Ë—‘$D|]ª:·Ã¬˜ª=å½{*Ûe»œn·»y g·8‚2f·1G¬¶´Ô12nŠ¿¥8Úå&JjmÍ-¶BÖVï•Ð:‰ÏË*9ŸÓ'a4ò;/  ÃÄè´Z:ÍæúÀµpí 9†’kµtûå„ê 2ó•àsßx¤™÷Õ•7‘Æ–ŽŽ£ º`µ¹u¬úâY§¹¼#ßRÃÜh(¥b”àsyÞ__ne™†Ãmî6KnGlHŽ!ÔÒÔ47;[vÉÛ«ê¯-ï«+oJZÜmmmµ_µ¹••k‰Ïæ­]F'¿¿ÏÞÛYDº(ï1 z?8uù¢¿³²ò©cψdšW_{í kW¬Xµ:[ÐwŠËRr7n|2wÕsÏ­\ìí˜òÅlg7@ÊãÌFuîª /iÆ>ú{Ž„”UV¯È^ùÜs‰»?èÆ¼ðJ^òÝWžƒwÞ´¿80pÞÓôæÑ”M/oX”Œ%st*C>ˆ‚Ú£6-¤Êâîìü¨e‹"¾ÐxÎÈs¬@H2‰©?ˆÈaò3 ìm æ”+)R®)–>(ºáh‹IIò|% Fã›Å@«_R\’O@&]¬Š¸;&u+…È¡ÍkòÆå;ø Û$¥9b>Â¥d”W l‡3:YaÐn®÷ö„"ÑèÄ«A¬±ìÖÅw!¹h(‰xÒ«äp‘¦…\W«OR¨Q™´ÅÙR[_'°®J³7¿Æ¢»Ùj±„!ÂOSŒ„D]˜C@¦R# ¹¯Íep]­)Ã(IÈTëU¼×’2ôh^Èy[ƒ“úÈèþìUQˆ-Ól3+H1ÍGkÔÁ®k#Ý\„'eâi>‡jh À]^RSBg¥*. ¼Î /cöݯ—“”’– ¡H|?kÊŸÀ={6^‹ß<­e´o$ÎÕ©( ¤r*äøL5#¶zÃ|Ðé!Ôwžò¾ºªC]¡Èõ,Ýd­È«x.$€D2±Æ )9%D8á†Ã:^WP¾‰–€LWël)‰uä„€½¼*X\·‹¾I‘”Œ¢œ0]19›èL å´㇓õºBòâØl‰L³Iqw±™ªMcyaÈÓYálñb ‹z “³³³óÝŠ‚ÁȵS”±”šúò„¬°@6]{Jª,m‡wåS Q©$Ñ ÁS†üÄŽ¶—ƵÀyglÖ‹ÈÖÄF•$J‰‰ðrZ'éŠ5 >G—„¡ï|©iØY]ÝÞŠD&0¡ª¨1Ä'MÑGI¨‰ýB"¡¸HôƃSn—˨3H…aÛþÑõ±_}y=QVgRݤAPRˆr¹9uI¡œ • #ñ:< âÑ¡8J©‘s>ßøá º<¼Ê‹m…†‘]NF3²X^Èœ>ñÄaæûÑí܉4uQž"åØñc'Ž_¼Y/*¨îwÆžºÚsôà‘,78Eú½JH¥D7xq?Ç@ê‚Ø1KÍ . p\í¬7w޽´¯‡X•ŽiȽ³àIë`{³þç®AÙKe›Žer ( *ZÍAJFÒ2Îëtù#ÁØeAÄu_ÄB ÌLÕ.UÈÑ'tUÑգ͉ p|‡½ºÑà€€h(BOhÏ"‘hO}m#AÈ8~ÂFɦý‡§¸1¾w£ó#”’QF=,£v·FsËî8+ ;«ë{¦x\R°kÿäî%¦€ FâŽ9 $7Ü žã€kÌHjôµQOU5¹’›ÿ ±mS£@,íGPb„(?a»ã/–BD Œ†(uøÁ2»0+¼ÿ‘±ˆ´Ûm •(u:%lk툰Þ@,v®ÍR’g§½šwlLƒ‹D"ž­Z×èy¥è(멯nìò@@´G00±;6EÈÇŸ¸Döö–É÷oà€œÔ‰ƒL5#·¶vq´´ÕtÍg…A{å¡©þaiaÍþI“ð$%%À™X½ñ\P $7Ù‰rÀ$ „Z«êA\P,¾é¿ÀsA’Jˆhpªb Æ»ºb1 ×:ÇË]{ŠÈ”+@f~±²ºÑê;\‚º³ÂYÐK€ËÖ‘IT­|N§ Åf}Ék-0EQKèÈ©êÑÚ|êö” 8ª­_B…xÍÄ¡¥©B~Â>Š ®»E 7EËiØîð¹Bk—„1ÝqVÈuT[½SšjûþÚI×7Š%$ä„ ¥#pŽ’‹„Ä_D %L àž¦= Ùt wt"ŽÈ¡€‹pÑör-MŒ°2,€ˆñÁb‚BdlOxÈñqdJBáAF3²F‡—SK]^Bg¸ß³ÂÛû‚ ‘lunJgçï~ {QAA÷èã—O¼}ð6åñ-?~)7ùÔ¾Ÿ¾åפŽ›òÅÉT ô_äôŸ«¸“)J z|Ë«šÑ )‘ˆ¢0'¼2ÃäwމžÚ€9á}Ô©”©s {»rÕïqA®DCKzÖ=c«Zr5q ©JE5ÚÛYíµê˜m³ØÁP&¯›)BerN¸) ×a2Û)Ëg~&ð^“¶râ.H$âœíÍÍ3qg=JÅäDlÞ¸"¹Æ;Ÿ+$e›Š5ùšÎV^Õ>Ö¿”n©µè®[VB)5ÒÝ,1^ëÌÝîˆ\ŸCA0Ö m§~Bw”n¬­àÙ`„’‘³}EÄl4;Ô7¾­ïw¸"9%¹¸¾y/@”íGpˆk½ÔØvÇúïÑOȹN#.ux½3˜Î”R“ ]=Q¯½Þ ’M*’ò6Uï]m%V©Æ/%åš\0;<\þxpòA‡Õ)-1*'¤‡iqmKüÝÂm³[ÙÐ\§¤€k3h›&uÇ®ùÛ•©fäõNo@Þ´åÎWŠåô¦-2š–ë{ÆËçT4T^?‡'Q©¨zG;«»o|ÀéáÛsH`a<‚'†/€XB 7šNrl“H±z·Íà5šªÛZ¬Úçµ»ù\‹œ§(F 6[IÆéève”à{JG*Ÿˆ-i‹Ø<pq˜Î U¾z"‘ö¦=í½]­•s®Æ=öÑ…áRrüì!s49\½=`ªTŽXÎg³zU&ƒÆWžNÕžò~Ky#WÖÜ¢“‘¼ßR´M˜4"t]Èß.9M‹Î.¯à•–Ýy‹NHòuŪ\ZI¶™ËÇ/âkêjõ“w–”©s §ÝW½çsø¥ANB >›ÔK>8–>pl—HIaMƒÚa0[µ-•7œ/ w8¼”ºDJRr‰¸`Ò Fy?㳕‚1a»ÑñÌœJBdË]9”Îzßg…·w'ÒädÙjE pƒ [­ˆÏúûûØãïéè?ß{¾šO™òÅ Ë˸úÉáÃì:þÎÛG/Œ¾85{µBWýǺ/ös=¼½oßÛã—µ¡{›®Ú€9áýÖ«Ì7–äŒýò¸Ýn÷xU%ÙdŒï=‘Ê’2U ÚXéô…yàÃ>gei•‡Ÿ8ž–©*”ûm±E(œÏf®lc¸ˆ ΑgðÁV[WTàxXž*§PÁ:>>ÖM­¼å›ÎL—†ì¶æJŸ{ç½TJ¥7›Z©ÔY÷ï.Ø“I¦j>e:“Fh2V;c 59[¥©Q(4id””ŒB|¬ñMh“©ÜœˆÓîãÂU[K<R…\Yba¸:óô7šãYosù6Á˜4™Ó£ñ8º8`Ý­!)}íNøTn¡2â°û8»›½¤Z#'ä:ØS_ï‘â ÒÙA¦3iÆNM.àr»=×açK”dÜél,‘µ›Vwãg½ÍæRkפÙlR®S n»—žm³˜m>^ˆp É‘RœÏq( ðœ@ðœ0MÈß~^¨“vÙ]ÂÄk¨n÷Óh£ÙÈä+UúÚæíã2J:UÕ@*JÊTk¹uôR¤°Ïa.oo§) $"`y`=Ξ œ©ÔHƒvW`f½1vý.%•KUÆJM ºªmÚû6qÁŽºr³[^b̧¦-F!pÈÅçuvAŽz|<*S¥‘íÎ À³.{PªQÉ€Rç†lõ6n–ࢯcdV±¥lüÔŒxÜn·'06).0Æ¥™C´·Ù:‚ÇvÔ•m¡I+Ÿ§l¢ž”Ê%$ë¶{B'Ä`ަùÛÏ u4áilôH g`) ÆdÒkUJÚ¼¿v“t<€§j)•Ñ óšËm^–µŽ¶r³Ga,S‘@Rr1 ±8òNX*¥Õ¤×îbø`s©ÞÿçÈåÚŠÊ\·Ù:ýë8›e[•Oµ½DI‚TOu5»Çîþ6þ¾¨·ÙŽ5ýAJ¥’ŒoW£¦¼6ÜuDr s©ØÈ˜4ÐXç" gâÂÌû2-H–©)09+L_µñ©¬”«'Ö7} zî•ËEƒÝ‡vöMÝ9›úŃ«6¿øøB{ìàwÎ+ÖŸƒ©¹/½ºñ1ªçð[õo<Þ/[»A½' š¦7ÔÖÆ*ÜHkUùN{l`M¬®h˜¼¬>SWÓ¼;?ÔXúüš¼5ÏíS·ßä'ð¤k óòŒÓæJr Þ.ñŒd…‡_èbl`–˜:Æ e—yãšXëèÎ6-5•–Ðle£7˜Ýrµ”˜P¨Æšh,ÊÏ[cpÈM–BYܰREe®»ªzâ?{­4Ö•6†T–æmìÁ²š²q+MÓt‘•ÍÕÄzF„D%wïd´ôÆêˆfW‰"®y7Ö”6=MÓÚm^U…eô^™êbiO1ãxW$ðü}w¯ãþËýžž pù?ÿßYÙ¦ÿƒ§£¾yFFF†‡‡‡†††††AàyþÌ™3jµú.mîìÙ³óçÏOLLüÝÿ÷«Tª›½Šg½­¶f§7‰\©a -§¾Ù'•×ë½…’t—®+÷ÙSåM¿?˜÷Un4 –{öÝ×väv¾ù:ÜVº¹uSË-|£“×ë}ôÑGoc¿†‡‡/]º´téRŒßŠ_Îßæh:äò³’æ¨tú-ŒêŸÙ…fúÕqî&SÅM¿>žsuVyÃŒ¬ª»3·óÍ×¼ßZd†š[úRT áû%~!ìs6ÙZ½–#(™B½i‹A« 0~ãZU³v«+*-(«¬0ܤj ;õí…-3raʵÀ~kQ9_Óbþ*5 ï5o´ªößÊwCÞóøÝo§TÿI›å­WeOmÙ”Ûìw,ÀÂÇW`NˆÐWGÊTŒYÅ`AL‡R•íÞMäßRKMæ0j²´±•m`d³íÿä¼M¬ÚœOá!Ÿe'¨Bk°h XÓ”í’Èb7N¼y°3J®²Ñ½åÆ—ÞŸXW½K¢ß¯À¹ÂÙ%S©3YuXÓ¶ªò-»‹UZå-„d¦ŠÉ©n´yufÕ¬kÈx¿½Î›³eûìè:ÜwÃ6©+_2¬S,¼øaSý›ÃòÕ›_Y»£!tºÝJí-Þ’JÓ.†³nÌ£m³è ṓvÉ›_iRaVˆ¾iÝî|}«ë*)º¢"?Xõ|žÖìMß´é󋉲ÊBpô kÚ[Ê d…•¦ÜöÒuùŒÕ?‹˜÷Ytë¶:å»fËxÔý¸ˆÍ¸ˆô¶Ýò"–9ç+-"ES ®@ÃøÅÆÆÆøÅøƒñ›ˆÇ!„B!„æ2L B!„BÓB„B!„B˜"„B!„´!4;‚€…€fVRR–Æ/ÂF¿hÆ/¦…Í>E9s¦¿¿‹Í`Gçܹsb±‹ãa#Œ_4ã÷«}ýûï¿G}%O?ý4ÂŒ“Éd,Ëúýþ¡¡!,I¼^/Âíyà|ðA,Œ_ a a„ñ‹ñ;ãW„‡¡Y'11ñî}»Bã!„ñ‹æÜéE€B!„BsÙW›-Ä!„B!ô ƒ³…!„B!„i!B!„B!L B!„BaZˆB!„BÓB„B!„B˜"„B!„´!„B!„¦…!„B!„0-D!„B!ô$zÿý÷±Ð\˜˜8<<œ˜ˆC!ͼ»\¿a#„îjüŠž~úi,MtOŒŒŒ  ‚Àóü™3gîÞæ’““‡††D"–èE«§`ðTgÏ °þ«@­zJì±ãˆë×­Ì^±z}¬çD|^xñø½ 5/mXµ2WÍlRˆ€ëú w,çÈÚ°~Õ’E+Ö>§Á`Ïqvà|çñ ²çž[•ý䆧Bß'ÇÆ¶fm40kÕ3tý#º–ž{§î Ûñ±ã6pÞ³¯úÍßázb„B!„f;œCëïë» ’‘*ºÚÛ}GÞØqdìÉó}\òJu^ƇGOuööSÇýW!#oõ¢d8uñ*øßúÉŽñ£§o oüîÔB*¶‹©©\_ÿ ¤Œ¦¢±Õ ©”à*70ÐÏõ{ðï88ölß ¤P‹2pžðnH^òÝWž³½ù¦ ^ÝüØ`gÓ›GS6•mX„Ù7B!„Bs*-8÷¡«@´"O–œr1 /ã©W_QS£-¢@ÞꌣGº;§ú9ÈX§^’ © R {pù‹eLvòèKS¨d»Çi2µ0à*wƒ• ¹ó@J5º¯ƒ}çûaE2 r¯¤P©É© S®Ê6–mVŒ^>(JÉH…ÞÉ|Ñ´ÝXµ6 àÂ;o¿süd׎ÃÝyëdcQìï}ÐÕõÇÇ»D+ò%/Ê]µ€õt²\ÿù®Ã¶}ÞéídzàëÊ 7ææbNˆB!„Ðìu;Si>9zR*ÖmØô\ì.¢ Ô[^í;øö‡Þú€ÊÊ[¿!oÁh’§^xäðÙÚÇb$go|õÅÁ·mzó(ˆ2k7­[‘ q‰Ü‚µ¯¼:ð¶ãèÑoˆ2–?µå¥ K’!vÝšhy^Fס¦nR²žÚ¼ie*@ês¯lxûð±oQÆò¼éðð~-™áª °B!„š½xžŸ5;;pÎQ½÷Xÿc¯þÔ°¯a›ýFFF†‡‡‡†††††AàyþÌ™3jµK!„š»}Ó±E¤·¾ø !tçq”ˆ¥†B!„Bs¦…!„B!4§ÍªÛt&/a~òƒ !„B!„æhZˆš…¾øâ‹p8|õêÕ{µ)))™™™‹/ÆcЭ!÷õõÝðËRRR222233 ‚ÀÒÀ“aHbZˆú†ä„Ç-_¾<55õ^íCÿ¹sç3C„n¥ÛÝÝÝžž~oÃv.ëïïïëëëîî^¾|9f†“NÎS§N¥¥¥-Z´ˆ$I,ôõàyþÊ•+§NZ±bÅxHÿÓÇúÓÇ÷ÏN~ë[O¬úÖ˜"„î_ápøžw.SSS—,YÒÝÝi!B·³ééé2™ ‹âVY±:3ã˜trÆrB‘H”€‚¾¶‹Å.\Éãúø_ÿußCeõõõ ÜÛÝKNNÎÈÈø×Ý÷w÷Êf†˜"„W¯Þ©©©¸â¡[Ñ××·|ùr,‡{.##£»»ÓÂI'ç’%KH’LLÄ;&¢¯URRRzzú¹sçb!ùñÇÞ¥KzòÛ«zè¡´´´{»oW®\9sæ x½w˜b\!„BhÔ}2”ƒp0kÊ“sÞ¼y˜¢¯_bbâ¼yóâCòÒ¥K÷CNiii=ôÐ¥K—fàßÄ#B!„î¸vÝ'çž ÷CN8ž ‚€i!B!„B¡;‚×¢9‰mf6îéɦ‡ÍŠ»{73žíp4ÚoODB’£*` %Œ*BwY^ÓºÒöiFG³ËZùí¶¯R»µU¾û¨MKaI#„´¡o¨ ÃÞb1D\ö.S¥êîå…awåÖòÖ9êÂ-*¹B»õPµ§ÕY¶¿Áp )ï³l,ì:jÍÇ{q#tqÁ–’|ÙuÁ!ΕÜɧ’šÙDHä³û«ÂNÃFÝâ0à=KBaZˆÐT™VskT»Lâê*W³×¤Ê¿K¬£¼¼5D¨*ö×2ã ÁdòZ ¥öúmVÕa³òfÉ^Äç€BS’åë™™Ÿy—ÑF3=Û+º€; çB] ‡y’ʤpÌ=^[ˆæ^Mൻ"„º˜¦5!´7u„ãž ÖéòòôŸÛZªËÏËËËË×,mAþVžÜ)ó6ÖuQ`©a&Î R*SÝ®-eeÚ±ù Îç¨4Ä>0/fŒunÂN}ÞÆ== ´o[“—§wÆv4Üa3éµùc/¶ºÙ¸í‡ÝVcì“h½¹ÙtòòtuÁ±]bÛ¬F†ÛP©Åé{oÐÆäåœ>§I———gøÍ~&/6{ãÿ5ÞoÑæå1¶ ×fÈËË3´q3wX‚6&/Okß!ÞoÕé,~Øf†6yy~ôåZ‹Fc‰¶—ÃuÕÑWĺ¾›W)¼×4ZW^Sê¾Õªˆk3äÏhÅu[EÖæÇ ¡{‚¬»ÎÈäç­{þùç×­‰u–8,L ÑœÍ ÝQB]¬¢(•žƒ×î‰Ï ) ÐX^Çi*›n©-‘í,µúø[xvbÅhóDA¬1¨§˜‹”éŒ*¶ôu·V·F”%»kjkwWhHOSy©ÕÏdÒ5û+r ·bÿ5t&ç6m«÷RSMCCínF°—ëÍmáÑnbÝÖr»‡ ·×ÔÖVhÀa4Ùƒ0ºagyÑN»OÆìªmØß°Û gUm.uÄRP‚€£Ú&лw—<­5äBÔÝìåâ:3­íÈa4r $±D2s³¬¼ßáFì¶°¿„f ¾:S#§±´¼ûnKíiWëÎr ¤¼P#ËŒ¯^PçOœ}$H!`¯vˆ wí¶èsH€`³qsÕ!6ǰ»vCí.Fæ‹‹Ãé7:þ¬·®ªUVÒðîá» ©®C;Û¶5r…5-ïnØ®¹ªÍ­£/fåúö€ŒÙUÛÐP»KCyë·m® Ëé7Dæ”5Ôl’H6Õì?`+Ë!H™D,–ÈfrdœulÓWuå”5¼ûQçGïÖ$îò­U·ÙÁbÝvoäV^IH6ø¨3N}«uE×µÕÝÓ Fù`s£=€P„îMúm¥EåMždçäd‹!píÙª3µ±X8 zÿý÷±ÐvÛ<‚X£WQ[¬‘¸Ù\¬N?zõ »˜¨ ²‚Q’ 3ì®p?_ÕÚè5ÖåS7~vâ†6ÈUËoÒ ã‚A2Wµ¥b×蕆ù ÎSTïrËÌ J–#¥ $Ò…‚€ ÍêŠJ·¨5Æ^¬R) ¨¨©Þî×|W“#ÙÛë,zä竤Æ;{F³BÞßXï$›jŒ±•«J•‚Ó5Õ5ú +•$$@O0ÇÒfŠ]k.VÁNÃÇåÇþ3>ØêŠ@n™FT¾µÍ=“uÀá&™ºÒ\jïâ•*\ÓnõÔá"áðuÉ ™IÆ#!õ³NYb,°—¶»|œ^«` ¥ö&—;h½7M,+T«®K€«nh1Æ¢™ë¨«ï‚ì²:kìJ•JÑ–¶Ö·µù6*£bÏ Tñ.C~&hK ­Õ=AÕZ­‚1%êúÒvW€cdïk´z„œŠýuŒ,ï*9·qk«ÕUÒÌÈn¼¡L…\&YŽR«Ýä†f·aFËÞרèSî:lÒfJ]eåðI€÷[ŠÊZîuFŠmÍ ÑVm®÷„¤ôvK¥VÀUfk Pê’‹^¨,Ý¥L°¦¹Rêµî¬vÄù%Ö]Œüj¶Y¿Õ«)'ȲBŽ±ÎªaMºj¹Íi”ëCÐd×42öâ¶y]ü‚³Ê\ßÁbÕ‹E¯ ¯ÿ4Fεtvš‘y<¾`D¢ÙU"q4¹þ„©i0*Ià|6s¥=åA¬,®´”„ßZTÎÓ—— ± ®h¨Tu™·ꉴn6kŒ ¬éîËÿñ³ªßÛ¼“NûE‚…2’Âúòú.²7ÕÔ™h |Ði.­joßiv(mÌ _ˆýÅo_}eß¹øG–ýp_í¼ú÷'ô«×ágûÏÊzó»‹£'ß•ñìêÅ÷CZøôÓOãy‚‘‘ááá¡¡¡¡¡!Axž?sæÌÝÞ(ë²u¸°8— säÝîêc=‡±J›3Þ\g*URè z#0šøÝøÙkµ EÝì¦T¾©!?þ‰\ˆD§Úûw$Å´ x~tRMBÓ’&»§‹5*Ÿ/ Rj¼mËÌ/VOìˆÇq¡îÚ¾ƒT£–4òyC Œý÷„J—K^{³šðzì^.Ÿ¦ ØêŽ@îvõݸ*ße÷H˜¹Šå¶f/w×®öDß8=õ›Ÿ¯¿.+h8j\jTךz±Œà¢%×i¤MMNwÐ`õ¹B%pý”µ„ÖHG?gÝ]Huôµ:ƒÌÕ©ˆÖv·/lS7ÜhìlZ9H”„ réñÌ'öbŽ ‚.O² U’ñx¹&—heÄ-lè® y½\NÙ„¹UÍÈx? ¡v¶ì€[› l³¾Ê§nh1*‰`s©ÁìPÚÊS]íS5´5+Á_W´µÚ¥±é*,OeNƒÃ ·•š]RKKC>n3™UŽøúy:$D<ޜà ÆLÞ[¹ÑlóšgÍûƒnwDeRйñWïaÐÆXYÆÖ¦—“¬£T_Þ¨r©ë?­RNB´Ë-³ØšeA›®¨¼i×á[f°Ng°yK¬JoµÑFT´´i3¹ŽÊ¢r«êpòÔ-6ŹººÖ ÃPY¡Ò6°éð^Ô}ÝYaW£#[Qg¦ÇêMR®³ÔŠ6Û»lŽ s+UÍW“¬Øñ«š§ÅÛX³ïy1¾Ñ?…Ó-ö#ëŸ^½ø>¸ÉÞrÍ)±[j¤Ç ±Î^Ä~¨µÙ_÷E”T7ˆKÈ(6Âñ7{vâÀ/I‰p“Ÿ¸çwÖÕÛÛ}ÁHtünûSV|$ˆØ·®³O~ÊÏñ¼ädò¸½£d9ðŒ½7 ɉßw’’‹"Ákÿš,®ê¢TZìqÙ;´6‚.wT¦ü»Ñ•á¼Í>yñöL ‹sÇ3Ñé8ΪªªIVVVâ)>×H w™4’IñBJâF?€¢&´ÈŒ¥}r#mªwv°¹,–Ši½jêSO,¿v_‚H(+0· –Q‘Ht,!›v££¡'ŽOg€˜0|4þ{$ÈDö­Ù3ioÂ, ¹… ÝÕÇ „$sšŽ ‘Ãäg@ØÛÌ)©UR ×Ëí>ŽÑÒ GÕ@’ ÏWR®`4.‘å­~Iñ®| 2ébUµµƒ5Êãñ…È¡Ík]Û”ºöh]~Ü6IiŽ˜÷p@)e¤¾ƒ5Èel‡3ª2))è¸nY¯+$ߢ““ Ól’[»X£úúO‹½GW ‹ Þr:$9ÁË |Ðå%5µt&Pªâ¢Üäq®NE!•SÑ ÇNI}‚ªöõûá/ÚO¦où‰ñáó¿o:ðûÏ.¤.ùö‹¯¼ô—é“ßqõ¿÷ýM°å'¯<šùèg÷¯ï|v1æ7HÈF£8®–ª%öC!¯Ÿù×0¤öÅáòØlaì¯#»vÿÇù/»~°k‹¥ê™/ìÝÛìë –=óÃ׿¯Êºÿù»V/õý¡ocMíw—bZˆÐŒuc|Í­!hÝö|ëÄg\M]&Ë´KoÜËšæYBª”@WÐàt™7ªf‚¶ÒÍõiAY…I%—P$p^óÖêàÔŸ Ù´Û¢“Mì‹9 ;. ‚ ã{ӹŴØÕj÷„µº¨Ó"Ôª»Qar^»'äi>oçèQw˜ÖÝ`K:â3CÌ ç,J©¦o{°BN3Ùõõ7«×S^‡WkŠs§©H¸ã¸do©­œ9xÀC¨Ú¹ßBª×Ò}ÉŽë“óÊN]L‰úætIB£HÄ_+¸ù³~~ ž§Ìûðȶòæ9a×OWo.ˆ-Pi6¥úZ Αrù†ôþ‹6W ÿ5l*Gd‘¦{ua ^É Í"Qß·d¡¹ÑÒ;¨À*Ý•D–s‰úלè}<‚8¨>÷åaÊýyÇ›=KLŒo¢çýH…-åyç¼7üÝÐû¢Ç4K·i {õ¦; L†È„p§\‚#œ7¿»ÿxs°² JV¾á~;_ ”*eïᵄ¥Y rWq÷´yJ'žH&'ÏÞYÞ?æçª@åíÍoË;Ò¼àÚù8͇ÒóhÅÚÍå”<ã­)´(ŒpL“”ǧçÍ™HR•fÁàO/«TrîïäæF݃³|xïwËΪsTb™çÉ ±Ô çÄËU‚Ü“ïä‹ÌϹ“$Ç+•ªå›öh¤Uél9>c‘ÂgÖ³öDd?ùµ$]›ýX{"Rº¾8þê)ëÕ·¶w™?ÓîŽ|Ùö⬱—ÿyÂ:éåYÙ}ܨ¼=9jj*(iŒX1àŒeáLA¹Häì{?† ;Îf,í=ûÞ{^ÒnùÝ3Ãmûݧÿ¸2ë×A“"z>4ÔaýáoäYãˆì§„Κð`º+‘” óŽËä¾bÅ‚9ƒ,xk•7 ºP…XuèÚz˜–ªcbÜ=U·÷ì€/7ž+Öz3tF¯¯´&F˱ô8]•IRªx"Y’‰8U¬”jòvž#"Yø;Vï 'ï‰åg¬Z³35=·ª…ˆ”Þ. ™ŽW5_«(ïxÿbJï9J]k»ÔXrÄBÊ9ÞÃþßÇNX®¢3yy;KL}ËôÜkÍGòκG\+š÷Œ˜ÞXPrë5ÁÂÂÂRRR án8D8Ó¹¢òãU²rÞí¥BÖe7G¦¢òÆ\öWÉäìyO'Y³.Á¾™J \Î@8fHJ/8{Û YÊ$ß·Îc=W­õ>§‹K-ªi‘Hj©)JÕ—œý˜èýªËÙEQÏš,‡š‰‹Ì¹»L$’÷ï<#Ê‚$Cr³$ïþêÔæ‚‚‰ˆ¤Æ‚ÔA×븓\hÊÛ™kòŽš>Ì߯‰ÞÁªÆ¼¢F‰Hj.Ékt¶æx±Â¼åò¼*ˆ¤æCéI;k†n5Ã0$ 2>{÷ݘñcz¿˜_8U´ý¿µZ­V«ÝzØ:ÌööÏøŒo,¯¹L—ÿùÙw“<Ç£7¬çŠUîDM›c“rkzWpo>fˆ‹Û/y¯zÕå>Ôiÿ“_oÙÞoï=‡ÿÕI/]¹r"í_ùË_þò—¿\¿ë¢|¥U&"7a܃šu€ÑBxR´”ï<.“÷[ónø¿oq•#- "zÿß>’ϯZ>ÇIn,2¼ÛDªå«®Í-»ù³ƒ¾r†mØP³b݇y±!åÞÁ¾ÓÝÈrîLII•…”Ái†¸©,‘Ëœé̇Gvés]Vx²–š¢my–€y\Þ‘s%å5NsìA»,×k“bl“ˆuš£Ñ/w!úñkÕóÞ‰"’’Â"ÖiÎÚtw–‡zQ݃}-ÚE ª2÷鱿òƒø‚Ûq¡h{î—žÿžç2–èÛ}Úô/‡Ë…/ÏSùìŸè3«óüç‘ G.QRªb´G޼sä]†aäþŸÝ©jÛ®ª9š{ÿó73Îa„ۚHÂp“ÆÍþÍ_ÿ00:Ê_?ŒO Àcÿí±dçºñ’d½ÿŸ/÷eŽÉ-iŽ "RE¤Ç ; I»šDbTÞË7¤ œtóg¯+yNRî¾€‚m» ÊK>¬*!"N5=ø­ÄU«úä7¼%êòÞ]w„åôW×6SÁ¹ªw÷'Ç ›Šôs¢VùÑ߬­r+××Ó% }Ï&wÝæ<}ü‡2£šœ˜¥‰èiï¸3ENÒ¨‹ÿ”Ó_]»)Å’}¦ÿ+Ü‚ô\v³ÎP ]·‹ˆ8gß·6$® ¸ùø†SðŠéïjÏ(ƒ¤‹h±Üƒko9­(¸~Ñ|>ÀP@DTTDDDQåQxÃÐÄ#»Þ=2Ä㪷æ,˜ªºw o„;éΑ*"âö/à‘¹‡Ñë¶íL^'1J÷€µ›ÞYqÐu Û”ËlÖo+ÒÆççìýZJz\˜Ëme¶€¸åyqyûuÉåó6Ì™ã+5[D‘šïíÜSÖe&s溧jŠ]»ç´ 5wÁur5¹åý;Eê}6µèdjoÛ5™EšáB¹þØÉ¡žðÌ-è}®Ýæ ¶çì<¶€ˆhP ]ÂRsî{…‡(-`ç±€¾B3¯Ýì{”÷\a(ô×l@?\ë6L_޳¤«—¯Ú)\c‰:,§×X‰®vÙ±¥rVÀ¤ƒ?8ØáòºëXtÜãÉ)L¿Ç½hÛæ¼’ãç,2qªéËWÈ;“6ŸÉ‹]A™;5Þ|)t{’¯\‘‰ž™å=®°ðßzÎ}–Z«þò—S³~ý+ÏÛ”Q×Ö½x°†¼@…¯¯ïÃM¹‹Þ•×î)Záò£Ÿy¤³úEÑyÊÄ}¹w~1ž–¢!Zaíž‚;;檪*ooï‘Ð#§%#>)x-ºQE}ß®ï3fØÙÝjH£ãÂníÿX£ÿkÍ öDß~ö¿[?l¸:f&NœxñâŇû-óêÕ«/^œ8Ë©ÜÚ„ Z[[Ñ]kkë„ ÐðÀ`ɸž}öY"úúë¯ÛÛÛVF=qâÄž–ÀÍMœ8ñ믿îɇcÆŒA‡\€Xˆ…€Xˆ…ˆ…€Xˆ…€Xˆ…€X?;tÀ-;ö‰:Þ¶¶6¼èOŒ<Ñ0ZwI:ôÊú£òurjŸèØØP7ö–˜òßXf`÷îU ¥«_ÑZc³?ˆvFÇ À£Ä56-΃ë¹-ËVcEaÖÝÊ:q÷ÖHz±{œ«×Ì™|ÿÝÙ³ƒ|To¼™™“S»(~‹þ¹pn!Ü'Ž®Y¬½ÓK-'r’Þ^<îܹsçÎ]øFRÎiËðûJõ[_Ÿ;÷í|Ó€Ç,Å«çÎ]¼©^B× À£Àj4ŠÄ© ‘©0!!³Z¶}÷îÝÙcÕu™ë“ MÃí˺…G»RC~aÓµTx4¿ŽÔ‘ánz@,€‘hàš3’¥©b“ÖÐ@êE‘®,‘*0-;{{Zäl7•Jå<3<&БêJ„a‹SFû0æƒùµ½ƒƒ¦²ÂòˆÁR4÷Î-€{¢:ù•¹ƒqô‰ÊH\Ý7¸Ç3æ}}rÑlµÊ½R!ËÃÈûEûqëæTÇ¦ÏæÉTVØÀø¤ù)ÑÓˆ…0"¹ÆmÔx0DDd.LÖä¢ÒÒú3! §ÓßL8H>±‰i~® Ž!cΚõ{n^"ëâX¶'§Ò2;H,,4r~ €X#§v6­'µMS§œ®\Ÿ«Í ÚÞ ¥ºü2‘ñÉH‰žÝ³‰då[ɺEF»îÑçWšÔõefEHšN+¸pn!ÜsüÌØÄ@Θ«Íê]6T–E™Çôn Ô‰ä[EC•_´S—“™yÐŒÅf àQ †³5‰~ׂ!¯ž­&ñhNY½Åbª-Ý”`}ÔDÖÓ &á¦×›PúEûqƲJ‹Í À# ý5¦/:/MÓ*ªu+—,Y–œ/G¦¤ÄÅ:Z&¬ÔV 7+†õ÷áˆñ‰Æb3÷Ë(IÂ¥¡ááèîîîêêêììììì”eY’¤óçÏûúúÞ§ê.\¸ààà`cs'?…Œ;ö‰ziÚÚÚFL[„©Ëª·ïŽÇÒ‘¬««ëÒ¥K“'OFW<Š°ä ŒL‚©ÉØPlЖ‘_Z 2!b!Ȳ֕6(4»ßWI§S+E¿§Îd%a÷ËÌÐÝÍN‹ËÞ-?Ø6Ü+-¸:::ÚÚÚ®^½ÚÝÝmooOD‚ œ9sfëÖ­;v츺ººdYnoo8ÆØÞÞ~õêÕ~øaD4«ò t¬DDBm~Ò çÏŸ?þâÕ*,Cì žHZ¸0õtßð¢¥ðíùoä4]{^:¡]òff½D$œÞÿúÂ… .\¸øíôâ¦ë†ß†ªK(]=ÿí­ùâW¿ýÆâ…‹×m­½~S¨/L}{ñÂ…‹û µT$­74ÈFÃÊÈuX•\&ŠeÉËVçœü{²5ûLkš;ñºM"©Öðæ2Ýi‰ˆL¥V/ž?þüù ßHʯÇ! 988üþ÷¿/++ûä“OþøÇ?º»»[,–ÒÒÒ–––ž :;;%Iºzõj[[[[[[{{{gggÿãÍɲܳ×ÀÜØÕÕÕSÚØe*4•æ4;zy(ˆ¤ú,­ÁºåãÇgÇÐAaˆ™”œW´S™_ד×,•ÅFud ó%7íÓïc²8p`ïÆp¹â¨q`aÃÔÅÜPf MÙºãýÝ{ •ƒ¢©TkH0˜C7î=ðѽ>uú„¬&¥úÆX5ãªÉÎßôŸÛÒü8EHÆî­Ñ?±ï;º„,ŠÍ>|øÓÝÅA­¶ôZ‘B…^W¦Ðì>|øðÞ4¯:ƒnŸ Ÿé0‰ྒྷe¹'³=úÅ_ 8wîœ$IÍÍÍJ¥²½½ýôéÓ'Nœøê«¯¾ÿþ{;;»Ÿþô§3fÌ7nÜ- ß»woYYYww÷âÅ‹,X`kkÛÝÝýõ×_ÿéOjmmýÅ/~ýñèú_Ìí¿çè³4mc¬KDnë²?Xž%"•¿£¡Ô,’Çõ{³®‘Ìšüja¶?o©,4ºFú©†ª…S(ÈXœ_ª÷™æžš~])CÕE £ð u剈uœæHGÍ"QÿLPÉX\)zhBœY"bÝÂÃs +M«ov°RCa5ùdø(‰H韸{¯ÌðÔÐû$׋xžˆxæh½U">€Xðd“$©£££»»»³³³µµõ»ï¾#"†aÆßÙÙùùçŸ'%%ÙÚÚŽ;ÖÞÞ¾­­íË/¿üüóÏcbbBBBnY¸««ëáÇOŸ>=iÒ¤_|qòäÉííí_}õÕgŸ}¦P(^xá…rˆýç IËtrh´¿ª÷Dæ²LC~µY&"Ùj”‡Üu Q¬Ì¯´ø{U]#}†>Oš¶…²²òµoj͜ǢØÄ¸Pçgó [£dz7cn(S´Š Ç1ýÁ“#Ñ$JÄÝ,[­"ãÑ· Ëó,ѵaKKõ>CVqƒHD$e9@,€~øá«¯¾:~ü¸(ЧN:räÇqÓ¦M›4i’­­­§§g@@ÀäÉ“Õj5Ïó_}õUQQÑW_}ÕÐÐÐÞÞ~ËÂ=<<ÜÜÜΞ={îܹÚÚÚI“&Y,–/¾øÂÆÆÆÉÉiúôéöXyÿ¸Øœ7õ†>©³y¢¦¬]uà–-¦ñDM9¯¿Y:Ì~Îá‘ê=ù•õr±Ùc¸THD¼[èºôÐu=ËÚh“÷y½Ù?®xÛu Â)8Ù(ÊDloH$Ι»ùÊ1ŒBÁÈV±/ŒZšÌäØA… ]r“¸}{Š%áDüÞÿ0òáÜB€áÀÉÉÉ©©©D4wîÜeË–ÙÛÛ5jܸqÿñÿéááñôÓO»¹¹) "joo¿X8f̘Y³f¹¸¸455ÕÕÕ]¹r¥¥¥åóÏ?ç8^bæAª*D³TQ¦Ë¬•ˆ$Ñ*2 7GžH2Uä›I‡9ÙQéjÌ2d="½ø¡7N§¿½.§^""VåêvÝÌÌQ׬:Ô«Ë9Ø$‘P›ŸoV‡z©n±k¨Uæ”™$"á„~åJ}e_F$Ùj•9Gµ‚%j÷åÔÉ·Ó€‡ £…ÂOúÓñãÇ744´´´Lš4é•W^yþù牨»»ûêÕ«ÇÿòË/Íf³(Š’$}ýõ×Ddccccs[?Ü̘1ÃÝݽ¾¾¾¾¾¾¦¦¦µµµ±±ñ™gžyùå—Ʊ²nÑšƒëuYáÛW»FÇú$è–-4(]Ãc5Q †õ©ª_µ›Ò'ÒU§mÙ8\*$Þ#&ÒQ›ðJ–Ì0Ä8zŦ„¨†µ¡êRo ºEk§ÅeÄétë—dÉDœ:01c©ó­Ž÷OL3juo¾¢“Iá’’ª¤ÚÞ£Œ]Z¬]³¤L¡pôŠŽÓø%k“×çlŒÃGF²Q’„åÓááèîîîêêêììììì”eY’¤óçÏûúúÞ§ê.\¸àààp›Aë:cÇŽ½³J?þ§?ýéË/¿\³fÍË/¿\XX¸ÿþ§žzjéÒ¥QQQ ÃȲ¼ÿþ¿þõ¯f³ù™gž™0a‚­­íùóç[[[£¢¢~õ«_}óÍ7Û¶m«­­ úÃþÐSlpp°Õj]½zõ’%K”Jeww÷G}”}õêÕ9sæŒ;öÃ?üùÏþÇ?þ‘eïäJzmmmá !Õ¦/Ó2Ùñn¸úߣ§««ëÒ¥K“'OFW<Š0Zð ØÛÛO™2%88Øl6öÙg%%%?ýéOýýý;::rrr.^¼ø³ŸýláÂ…*•êòåËyyy­­­¶¶¶¶¶¶·Sø¨Q£f̘QUUõÉ'Ÿœ÷ÜsO=õTcc£Åbé {£Fê¹ñÃ?|ÿý÷/^¬¯¯ï/ÐjµÆ‹/^½zuòäÉß}÷Ý7ß|£P(^zé¥G¦k,¥ñ _Y_¬Ö¤„«ðFxà0ZðàŒ3ÆÇǧµµõÏþó_|±cÇŽÿ÷Ÿ;wî¡C‡N:ÕÜÜlccÓÒÒrõêU›ŽŽY–ÇŒãààÐÞÞ~òäÉÄÄD¥Rù?ÿó?Ï<óÌ÷ß_ZZzòäI__ßððð)S¦xzzzzz–——3 ãêêêììüÈô‹2hà ¼=Œûì³O>ùdÍš5K–,áyÞh4~ÿý÷þþþ¯¼òÊsÏ=×ÚÚj±X&Mšô /´··_¼xÑÎή»»{åÊ•nnn‚ X­Ö®®®ž&]]]=< <)¾ù替üå/ÇŽ5jÔܹs.\Ø3, €XðDèêêâ8nÒ¤I³fÍŠŒŒœ4iú ž 3f̘1cÆCm‚ÔTšiÈ*«6Ze"ÎÑË/:6.|J·œØªÏgÍ›ºjǘŒÝŸ|úé'o‰ó0g®Y¹á´poBaqròA&zãÇŸ~úé§ŸîÝ.ïIN.4‘P“YlĪYw £…÷KggçˆjÍ}9çÐrÔeöKÙïß3:È;û¯ÎPˆËÖè÷E¾M9¯¯¬\ª¨®4Z­VÆ+.-1Ô™%2UlÒ6ˆDœ:06%.HÅJ'’–è1~ÖÒj£ÙlU¦dÄÏVJæZ3©£}œ{VÝáÝ"3²ýD…JªM_©­©nÙÛ‹2¶¬ãŽnÐö”Ç8úĤ¤Dº±Dd*Ý 5l°£ö‰MI wÐnSqÒšLŠÝ’Š‘CxÂa´à~é¿üÆÑÝÝ}?Sj(®#¯pŸA3FY×p?…±´ÎBDŒ\w”Ù¸ãý²Ó¼ªõº2 QSN²ö¨Z“}àÀ½iþuº„=MDÄl>Z;S³uÇûm‘÷šˆX×P?Eµv}jNñ‰z“@D¬J¥d‰¦I[ª`|ÒvïXç&Wèue ÍîÇïMóª3èö™ˆ¨)'AWçŸññáO?Þj6$gÖ÷, '6¬7ˆÑS 0Zpß!9ßc Æ pn!Ü-¥Ÿ&ÖµZ»~Cq­E"’„¦Š­ û¸¥šÞóöŒ……õ Õ…Õ²«¿šUù„ª9ùµ‘p:')µ°i¸âec¡.!aë SÏyBSEV~ƒÂËË‘ˆˆ!Q‰d«UæÕ –H¨Ý—S'Ë¢L¤ò U›óók"©)?áÍõ9f‰ˆÎM­š—¶TÎLάÅ:¦-€»Å:GnÜ®È4d%,щDÄ©½ã¶§…ºõNÒd\ý(kÍuf³¬ðÓ¤*‰”Ñi‰&­vÙB‘ˆ8×Ešg¢¡š2(e‹l0èWþÂ,£P{¦lŒÆ©ƒü÷h—,.ÍØ»´X»fI™Báè§ñKÖ&¯ÏÙ²ui†¦)9yÉ\«Ì¨ýb3bÝXÙØ×h·˜´ØÊ•Ézÿ줙˜M O¶Q’„Ëááèîîî_«S–eI’Ο?ïëë{Ÿª»pႃƒƒÍŒ;ö‰ziÚÚÚîYYM9o¬¬ˆÝ»ÕÑë±ÖÕÕuéҥɓ'£+E˜D €XO*œ[÷“sôû‡£Ñ #F  ± ± nKSÎóWW÷´L©~ÓëóãOH÷¼±–ÒÕóßÈ7 ª«vÃâ…I§¥ÝoÂMx8p x²±Óâ²wË<‹žÄB€;&÷¥¾_i´ÊŽš´ÄPg–ÈT±Ig8Ø qêÀØ”¸ +HZ¢WÄøYK«f³U˜’?[I$ÔæëtY•f‘8¯Eš”uþ1²qO’!¿Úh•Õ‰©A*éDÒ=í'ž¨nh0s~ÍÌÓY…ÕF£• IÛ¸n&ORS±N›yÔ(1j¿¸”ÄPgV:¿D¯XäZ½§Î#c‹›MÅIk2)vKŠ:çÍkÊÞtã†e ÖèH¦¢´Ál¶2>šŒÔ ‘¥bC²þ ‘8…Gd$åd)6îŽw"‡®tÈ#•LźÃQ+ã¨ö õ’ñÆ€‘“HàîSaC¡%|ãGïMq­ÔëÊ,DM9ÉÚ£jMöö¦ù×éö4C²ùhíLÍÖï´=FÞg8h"Nè²(6ûðáOwkµÚR Éb])ÅlùèÀ§»ã˜£†œz©g÷J“â¦l‘juõ¡i[ßÿ`K´¸/ó¨…ÈtP««öHÛ{øðáÝ‰Ž•zýQˆ†Ì•Æ ‡?JÉô¶X8±a½AŒÞ˜ªp Y++±›v¼ÿA¶FÑS©pB¯+ãâvøè£-á¦ü£âõ?L¥C©¥L«¯öHÙ{à£÷3"-G ±êðÈ™<)}Â}˜†ŠÉTYÜà=[ID¬[H´«¹¸ÒDDÄp^á>J""…«š›¬’ÔPXM>Ñ>J"Rú'îÞ›æ§$"b\#¹ñD¤ððàD³•zwõà‰H¡vd^A®lÏm²ZE"Uø–³ã§ñD¤ô R“¹w/b\ÃýTRlN‚¶.0#-Òùú©£ŒGdφœZ͉f+IÆÒ:Ù#ÒGIDüì˜H׎}¸J‡:ÒÒÆ+Ü‹'"~Zd¸o0‰îÃ9r½79Ž‘dQ4‰dÌ\¹0«7ˆ‰²ÂÕ*1 3xgÙj¾Yžg‰$"†8®ïAf`Uýw˜þ¢ú’L•Y†¬J£LD²h”™¾)£œ‚»VŸ139“¯pã hÓßt¦¿%œ£‚¹~Ÿa+½ñHEQfÔýå_;>ÄBxÄÉ¢U$≈DQfÇ©8Æ56{G¨rP‚:=T¦T(ÙÚ77S²4™ÉÑñŽša:˜œ\æš±ýýÙJ"KñÛK²†ÜL’±%´b}Br¾Ç–Ç oŒ¼$[E™ˆ%"Ñj•ÉñN*í ‚²Ø7sT´Z1‰FL"€»g,,¬—ˆH¨,¬”=‚Ô¬Ê'TmÌɯˆˆ„Ó9I©…MÃì˺†úPeN™I"NèW®ÔWŠw˜NM"qnj%YNçI¶ÈÒáÌM­š—¶TÎLά½Õu)XÇÙ®TWXmé9Žœ†;«´§,µ¿«XYX-‘p:¿ÐŒ7Œ -¸µ¶¶6tÂÍâãÎg­y½Îl•~š ?%‘2:-ѤÕ.[(çºH“âL4t\âýÓŒZÝ›¯èdRx„¤¤„*©þNÚárTÿæÂ…Bíç• OHvÛ=dDs‹I‹­\™¬÷ß~ÓB•~‰šŠݲ…z…£Wd¸—s番B5'’_™Ï(Ô>‘áL1Æ `$%IzŠîîî®®®ÎÎÎÎÎNY–%I:þ¼¯¯ï}ªîÂ… 66!‡;'T¬[bðØþÁjgôÅ`]]]—.]šfãŽ÷?ÈNóªÖëÊ,DM9ÉÚ£jMöö¦ù×éö4ùÒ´ñðGº·þkc¬šqÕdîÏÔ æÐ{|t`o†O>!«‰ˆaHn8*Ff~Ã\w‚‹Ù´õýì:Cr¾B³uÇûÙ‰ê꬜Z‰¤ÓíŠÙ~øðá·„[sµYõ1$×StÆÖd§xÔefVKDM9 º:ÿŒúñÆP³!9³^Nè2ÅÈ-{8°=–ÉOÐ žÙ*Õgi ÆÐ->|8;†ê §{‹o(3…¦lÝñþîÆ=†J ‘P¡×•)4»>¼7ͫΠÛgºÖUn‘!ŠºüJKOÔ¬.¬S†;6dêˉ»8p`wŠ¿µôhӵЫ †j´½8­Q‹{w@,€EèÆïäÅ4”6H¦ÊâÇÈèÙJ"bÝB¢]ÍÅ•=áˆq ÷»nÖ¨d,®=¢CœY"bÝÂÃÍG{·Vx…zõ Ž1®A~*"â§qŒ:ÔGIDŒ£šÍ";3uïÞŒP±j/…h´öî¥÷sf‰ˆWOSÙ*’©²Ø¬qc‰X·è-{·ÇºQCáQò‰éiÒ'Ú©.®x^ë¶.ûã-ÑÎ,©|üe£Yì)^áêÊë8Í‘¬f‘ˆ÷OÛ»;Å_ID¼‡¿c­·(Ê9<Ò±!ÿ¨‰ˆ„ºÂ:Ex¸Ï9sr]áÁŠz‹ÄO‹NO w¾¶=çȈՅO4Y$åìuéI=ÃŒ÷&‘À]c8×—b8F6Ë¢hɘ¹raVÏ£²(+\{ÂѵM¯­"ÃqL_ ŽD“(è8v@5}›0Ä0 Ëô=$Ô4dÖYe"’ÍVòêß«“Þ*6‰2£è{åy"Áj•ź„% {•e‘¡jcN~­@D$œÎIJ-lvoVêÇÕål’ˆH¨ÍÏ7«C½~Üò¤²Õ*3ŽjK$5•åT‹²(ÊÃl«ò U›óók"©)?áÍõ9fr ÷’æ5IM¥éI›N<·P­"£psä‰$SEN±™äa‹—­V™ëiŠP»/§N¾aS¥O¤—5ßY§ŽôS‘¥4éí¤Â&‰ˆxGW5G¶oÊ_÷vj©…ˆH©vuäð^€û£…p×W?ÊZóFÙ,+ü4iJ"etZ¢I«]¶P$"Îu‘&Å™h¸«ð±Óâ2âtºõK²d"N˜˜±Ô™èÇ\Í÷‰‹qMH^²Xá¨ðˆŒÓ,jHЭÙà˜æ<ÔÆÎK34MÉÉKæZeFí›ëÆò”˜£Ó­Y¨—{–Mô¸Þ'ëë“ [¶Ð pt ÕD5$Ö§ª7 Qº20vi±vÍ’2…ÂÑ+:Nã—¬M^Ÿ³1nPk#}äõG=Ò|”DDJ¿˜ð ÝúW 2ãöÓ$ú)©¡·­!1A'ôoÎ×Ãç’˜‚¡B¸çFI.— GwwwWWWggggg§,Ë’$?Þ××÷>UwáÂŒßkM9o¬¬ˆÝ»Õ×Mø¶õõƸìôÙK§uuu]ºtiòäÉxmEøŠ ð`IM…ú}ã… #&‘<ÀHx:iÙú£ŒŸ&#Æ ³A`„À$Rxh0‰à±I¤4|E@,ÄB@,ÄB@,ÄB@,ÄB@,ÄB@,ÄB@,ÄB@,ÄBx¤Ø¡ à®ü üçvã‰ÎÞ{öcÏ)Ê·^VL¹É_—¶ËÅÙP7v˜§;«ŠÎ¾7ÞeûËÝÎ6ŠÁSÿ0 ?` Àˆ6jÖ«Sµj[¢Îo/~¿ç¨yýí¯;=?ÌñbˮډAn,3ôó¶ÞÁn[líº‚ž@,€G‹í³“¿Ylß‘müs­rÓ –~¸z¸¬y×7r‡-›øÔ¯ƒ<[ϯÿä꺰r·ƒ6Âi²`y¯ä»\ê&5ù'Ïþ.P1Ù®³ª¤þ½ñ.Û_î/¶óëSþûTÛ%"™ìfý|ÒïfŒ)»D‰8ÖfÀ øðý î5v\ÈOl¾ih©ëËÏŒn›¼â…¿ý›ûo'iÅ–+“&%O³³wš¼}™Ó;¹¸Ø\ã¨þk¬Ç‡o:=óùOßt Q`Û÷ïýÒüˆ©û·þöúDÎxé¬4àYéÊ®‚³‰ŸKr›ø¿Ô§|)ã@,€‡ŒkKÒW~h/ýºsÊÏ'>Ï‘­ç‹Ï´\ªi¸!þúó[^ÇÑØ±sº¿kùaˆâlíž±ýáÓ/.Õ´v0ã'ü6ÌÉsài‰,ÿ›WÇj|ïâè_‡?MÇßûº/ÀíÃ$R¸÷Z/uÚeÆQg«Ü}¶¬þ—e½_!û冷É×6ìúö›oÿ|J¼ “½-]ºDãÔCÇŽÿ]„*÷­ï}`úΖñÿù¤_ÏË Ü`ü„ßλô¯eæ¯W¨ë÷ýÊ#ß…¨'=?oˆ…ðp´ …Æî©óÆpôÃfÔôySuSl<ÝõuÿÍË­iŸS^¢UÛuÞ}.o˜"™ V„NXA]­ÆoSŠÏïšäö›‰&;\¶fé˜8yŠ`I9Ú¤F&¸}˜D ÷PW«¹õO]<å ü+Cv£ƒ¦Øž=m½ðuµ~ÝüŸ¥­­DdK$ýp…ˆdù ÙüÄÁžˆZÿwß%’åîO ”ÍÍñ»›kÚˆÈfÂÄÑl‰N5m»ü^áÿµ÷uùµ£øßµLðsùÚ¯ÀíÃ/êp÷ºOíÿ2¬ç&ÃÌz^µé¥ “íˆÈæù—Õ¿*kNÜÙÒÑÙMü¸¥óž@6ã~Â?ó…é_³„Ô(Õ[®âŸóþ¹g¬Ýdõ3¿~©=õ³¦4¥Ë¢Á¥3Ž—:^x/»®•ˆlí<§9½å8à'­±ãûæøž ÿ3/À5J’$ô<œ$ÑÝÝÕÕÕÙÙÙÙÙ)˲$IçÏŸ÷õõ½OÕ]¸pÁÁÁÁÆ#ä÷^WW×¥K—&OžŒ®xá+2b! b! b! b! b! b! b! b! b! b!Œlvè€GNWW—ÙlE±³³½÷ÊSO=åèèhcƒŸ  `Äknn¶µµ:uê˜1cÐUUUy{{£î€,ËF£Ñl6;99¡7ž4øUàÑ#ÂsÏ=‡L÷Ã0“&ME]€XÌ—xtÜ[cÆŒÁ´dÄB@,ÄB@,ÄBx¬áº…5¡ùl£Id”Î..YtÇÍzª±¦êl£EVÎ ›3݈…ðèk9fÐêv7õÝWNmmª&Ìå†p(5Òë6—T™D"ÎÙ7,.qm€ÓFÈæò"‹w˜'ó­¤*Ϳđ=æ½áï™üCé)©±HŸªÿðŒHDÄÌs ž30A·Tí|WŸW~Î"£œðVÜ;QÞÃÄFélúÒxÚ°'iê ÝלU•tHï=DÇ å+þ%þLïNå°b­&ÂóGô…tV¿4^²^€ÛI¤£æ¢¸¥ëz3!Ã1DD–3j—Æì<+]·eÁº(í÷µ™?;ùÙAà ey|Œö˜p§©p[^•åv¶d”¯å|vr€‡• [Ž¥G-Õ~xFöNÉLñfHé©­„ªÔ˜¸ŠHßó÷“'ÿ¾'=LÚ“^5L÷°S5¹¹š;ÉfŒó;ûNž”¾bA@À‚€€°8C• Õ¤/XZÓÛý-E+¢ ZðÄB€Ç?ÙUum†&ÃËôÝmÊ+0`hªªÜ_t.S@Ä‚©<K¦ãͯf•çF¹4Äkk¼Ó÷:t(3¸Q—TÐL$×éj¼ ‡ÊËÿž|n³®¤…õLLV:¯Ê,Hõ%'•¨÷:Tž³J0h¶5ÞVËY²¯rOÌÌ-Ø£÷>³mg ãá-”—÷ìÝX^nñþQ³+‡&ݶ `οÄ~hºÖçLŒ÷Ú· ö 5G•a.[85,XÙXrîæÙ´¥(9õLÀ¦CÇŽíKä ’ôU½=. 5ú¸Í´63ÉûfGá¦j,9'PËÝÈ2rÓqZž™[P”ó¤4¬7I[å½áPù¡ò=¦ IÆ9bs¼àœÔ‚÷7º,Ÿ‡'±à±'™jš‰ˆ™·éï'OžÜ¹€'Ö;½üäÉÏö¼¥""K©?3JB³Ì('2CĸGÌ™HD-UûÝW-÷ä‰X—àå.E5ñ™ߣñd‰X—9ž¼¥Q°§pnÿYåòUsx"š°ÜÛR~¬ypÙ²åÃè—ÖoNÜ1iP¬Ê“,ñžž–’cÍDÔ|¬H¼©°1/isU“É"ŠƒÏn$.8=-l`hÄâ•Üu[¹ð$Xn …3ûk”¯Oe‰&¤íIì9£Pn.IMªš³!=ÌéMä”,Éi˜nd”¾¯º³D4Ñ3ØÉT~VPï9UD„'KD}£¼¥ªr“*" 7 Uû]"|‘ àFXrà±Ãð,‘(ŸÛ_ÛÈ;¼à$T•œµ4öœöÇ3ý1å8ù\‹@4Ôùp¼’gˆˆD‹ ŸÑ. Ðõ:Qv±DÒ±<ݶ¢s1$š,ÌòAÉÔb›6/ ØÉɲ¬t¤A•0Êײö ±D Óß:¶ç9Þ3ÂÓ²íxs„où~qúÚ»N…-EºÍMC<®œ—’•083ñOB£H4ða±Q ^yÓfH‚@<ßw|ï¶âq­Ž˜é‰Ê[BOìÝ8•ˆsâ{;‡cH¥AõöÏ)YÙ"³S#‚™Ø‚s’»\tN‘‚Tˆ…OÖÉw:“wD6•l~·„¦+ƒ”MúwKúN6 v¿ÆTÞÞü¶¼#Í "ú°š¥çÑŠµ.× ä”<ã­)´(ŒpL“”ǧçÍ™HR•fAêà&(•œû;¹¹QNw8¼w„»egÕ9*±L»û±BÖiÞk˃ç» ;ãµGú–ÇQ½µ)=ì†åWyÏ`•)¯¨qUܵõ[ËË-.Qî<5õå1Y–ågO²üëA!d{R;ö÷·gç~¸vùìÕz!óÍ™‘ÙÛ#q6„Ð?2zj¬ôm1ד‡âžßŽ:3±\.No„žø¯3³qªúvÏTßèLñâØäüàüÅü;süçú…Ó×CoîxóÇ‹oþA°ðû7BòXœ]/N>^}£³Å|+ÿ{Þé©årùüP-„žxtv¼?Bùábfîú‘iUì £V«YÏ¢Õj5›ÍF£Ñh4êõz­V[]]øDO÷äɓÇGÑ—p„üáÇqè«jk•Åç­ûe¨*•Ê.–y«zwìl¹’üf¸45ñ¡KÙÔ–§.Œ×g–fâÏ|ÇøZ¥T˜‰ç>êüÜgKc—ÿòóBvžæE_[ú·÷øG d!²Y€,ö½z½nöÖÖÖÖì²hÙlvuuukkËì•z½þôéÓL&c ø ¹A´Ÿ\.·¶¶¶²²Òh4¬ñžJ¥b„?æÐ¡CGµÈB  DQÔÛÛköæÏKÈBd!²Y€,@ …ÈBd!²Úî³EÍfÓð)4›Í(ò d!ìo‰D¢ÑhØ>…F£‘H$ì²öµd2) áÓea2™´ÈBØ×ººº¶··[­–)`oµZ­ííí®®.S€,„}­£££»»{ssÓ°·677»»»;::L²ö»t:ÝÙÙY­VM{Ø„étÚоš€¯J&“‰¢èùóçét:Š¢ƒº|"|¬f³ùúõëF£±µµÕÝÝ­ @B›I§ÓétúåË—µZíÕ«WîZ+Š¢D"‘L&?îÜQ…Ю\Þpú€,@ …ÈBd!²Y€,@ …ÈBd!²Y@[ù/Àzc1°aÁIEND®B`‚murano-9.0.0/doc/source/user/figures/qs_package_import.png0000664000175000017500000024041313656750211023742 0ustar zuulzuul00000000000000‰PNG  IHDRw®e¡sBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝy@wÞ?ðOB2™Ø&(Z‚‹E±Ø"¶xTèÕb«à}_[Å-ê³Ê>ðlÝø=‹t‹øTt½oð¢*l«¸‚T‘®ÔƒJÅBØBI¬ ™\¿?#¸íJõýúǘÌdf¾ ™ï{¾Ç4 ÀÏDˆ"@Êè¦D¾ªÅB‹Ùh°47›››ÌÞ¢×›y½¡±ÁÌÝ6ét|Ý?·4ÆzµQ«á5ËÐQ>ÿý'àÐà &èê¸,ÃÍúÖü™š›,f3™Mž7ßáŒÜmsÓOd6·‰`–öÛX,“Ï«~«þïI-JÃ÷•ܱ\§£ý^Å à©Õ嶬Kk>5ž)’8XÐb6“@@2 …B"P °  ‘¨ââÅÿˆ¼j 98<)KU­ËÙ+ìù RRVÜ2Y9Þƒe‰f‘ƒƒƒƒƒƒP$D"±H(‰ÄBÐA($P( @(…BÒë öŠÃ§°; 3Ö×“Ñ rîÖµMCݲºÄdläõÄYü½ûº=/ !‘Ål1 ,3Y¬YÃÖ]P@ë?-1Äd2 ˆ„z½Åbt¿²Ð®[£Û·Ëå¿>~´”Ðå”e1› ÍÍ"à¶ÑèÞKa2™ˆL$  ̳@p7: ²Pk̲Y,–¶ t/ –æ& ŽŽøZ<‘xZÃßw F®cv€§©v RqŒB©`Qð8S–@ ²Xˆ„D"¡ÀB$Z‡f‘@ hñÂúX XŒ“ÉôüóÏO:•eY"ºuëÖ§Ÿ~:jÔ(™LväÈ"zã7F-lé›§Õj³²²nÞ¼éàà0{ölOOO":{öì±cǦM›víÚµÒÒR@ðú믿óÎ;ÖUÌw31¶ù¥DĆŒ•ÿ>Nõöë³›üo z„ŽuYñ_\þÑ[ÿ—nij²˜M='OöÃß¶Ý[Ýý··o2q:¡³sŸ5:ËÓ&˜êû¤gJ Æ÷ì±ÓÅÏL8cxÀRâá ;GÈQ\O>õɤ•É7ˆˆdÃW®Ž UàZ+<®”E›ÿ°ž)"³‰¬½ÍfPH={ œ¥–È]HÚS “ D"‰nÿøcAÊy“i˜RéþLO£ÅB‹ƒÄÑnÒº|ùò¾}ûžyæ™^½zUVVþßÿýßÒ¥Kœœ¬¯^ºtI«Õ>ÿüóÿüç?O:%—ËýüüˆèöíÛ™™™<Ï0à»ï¾Û¶mÛ²eËzöìùÜsÏÑš››ûõë÷ý÷ß¹¹¹ùúúQÃ.×_-w|Å_ tà++ˆÈɘ¡¦ÚXƒñzÑ¡Wo¦_"âröŠ=û {>£¿Tv{ïNÄñ™9 lµöOÿÌå:³N¯ 7k…=z´=mÆ'¦†zöÝ÷±ºKÊ*«4}Z¯×Ï›7ÏÓÓóÊ•+{÷îÍËË›4i’H$"¢æææßüæ7Ï=÷Ü×_}øðáüü|___CMµþjy ·zý÷-F£Å` ¢Þ)išOþ—wT:aR·C¬cÊ\Ó3Bƒƒ¾üòe‹ïä}nMYüwW¹ÜCÂ=Ü÷ˆÅƒA(¹Ûϯ®â>?$~îùg#—â7¬{à‰HÜç%?ûýÕr5eZ"žè ½’õRì–“¯)Û“ä±7¥+?dL@ÜÞM ÛÅòQçÆÌO¿1bYܦ ?Ë©Jò7¦®œ_–° ͆ðøª5çkÚ×ðKjø0´f=:Ù{k[/Dsª“é+“cYŸ •]x eøêal—#VQÒâ„2ŸÈèÌ”%Ë«Ëó7&%Ì/_¶)íÁ©¹û¤,kŸ@ë´ìWnÜàM&ƒÑè:Øï™L`÷vËuP–Ðdpud¼¤Ï8 …³ zY j·éK—.Ñ Aƒ$ =º¤¤¤´´´5e1 ãëëk±X^|ñÅÞ½{744¨T*¥RYRR"•J­½(‹¯\¹Òú¶r¹ü¹çž³X,KZ›_É3Ä3>aË¢ȉˆ 5¹I‹sJTZ^´,!:TɯÊKOÝXTC ë75::܇ÊRçÇk"7¥ˉ/ÿt~LÍÔÌGüý`ä~á”{¶—«iDâÊ6$¥æ–sDŒ"`öÊè°þ W¶!>)§œg>!áò‚ ܲ½‰~eI“mÛ¸k¹é«¶•¨‰ˆ#Ä. URIüätÙìáÚ“ßÔÜPkäAqÉËä\ÉÚ å^+7Å…Z÷”U„'®âç/HßV°ÜG³{þü¢°…Ê¢“•7n¨Ékvrb¸’!R}–º6¿’#b=‚Ä- îxÞÓ”—”wgÇzøá s*ì㣠‚Ê»O(|úÜã Â_ËIJØPÂÉ~!^­ç;§*¾$~r:;u8WòMe¥š±lÙËeÛr¿©©Ñ°!‰«–ø±öÎï,1¤=ÿÙŠ„‚òwØ—§Ä%.ôc‰¸²ÝIé»Ë5 ã½|„Bµx·ÏªMKú3¤Î[±x»GJær¶ÛYåˆðç¥å5)Y^•—ž¼±Hͱ^!Ëâ–ȉxu^jìÚ" #W„‡¨6äŽØ´i*Ÿ³´¥-ËN•‰¿öéÌXíÔp¦¨ ò†ZÃ,KŽ Vð×¶¥° 6&†[ó£ð ‹[-Žš¹vmIP¢_¹½Ê‰ýŠ\û]UVÒ©¶Èôñ èÿеû.Ï1h±Í"hVko::80Mªëææf¡SûES)ûÂ3¬Ùb±‰;/pëÖ-"êÕ«—u† –e%‰õI+www² £^x¡¡¡áÇÔjµDäììüõ×_[,³ÙÌ0ŒÁ`hnn¶®eí7h&‘HŒF#I^(ìáüÓé‚[kW?¹”î;ZÌØP¯ËÞÃ_ú¦õóŽÿ®Bèä$ñõë¼¼éfwüsç7Cرøën?¨Œ¼Ë+ïãa KmsÃh;¯Â•¤§È–íÈ –ó×rVDÈÃúlÌnaæÞ0%£)JZ“ê±#q1dø¶„KËPp%ñ3cãsVnÊÈ”sE13Ów—‡,÷ÑäÆ'(7¥ÈIs2~~RªÏŽ"Ce®&2so«)JšŸ”z2 #”Û–^>Œ¦(uq¾¡‘ÊÞ©JÁ£D=bSÚV3VrªóêÌŒåŒj÷ÌÅЦÞãüîEÄkKJú¯Þ´\I×v/LÚ0bÇr’ÔøÝ´,ó`°‚¸’ÔùñIý7e„…Å-<¹8y[HfxMúÚ!))ÒA79?r×òwÝñšíÅ_þYlzePÚŽ…>,Wöéâ˜x¯¡t2)½Ì'qot«>™´4ßÀ·]_m¯Ê@ iKŠd›Ò2¤9¹bæÚÝ×F,gΟ×z„µo2“÷Z•^PÃûÙ«œLeíVäÚ•¤úÌÚ„•«Ï{«7-÷yظúˆ7w’ðÍçn®¯ö–÷wvt0<`Ì‹™,&‹ÙbËiv466¶†(«=z‘Ùl¶þסM'CëãúúzkÛšZ­>|øð‘#G>ÿüsžçÛ.)Ù‹‘B¡lé ¡Äñvöžÿ±ÄÌéîµÛºÃ9µÓ&p÷[š~0[Î4I pèåj÷ÞʺÃ9D$àzz7Äß(Ê-Òpåù{:Ë9yÃ΄|MQ9ï '"¦PøKÖg+s‹(`vˆ’!"yÀ”áLY~9OD$ö ® "¶+ö±®×ǃånpD\y^¥ÎÄÕܱšGØp%CD¬‡œnh8RŸÏ¯T„Oµ{È/uþyu‡7¹rx» 6/-X‚ˆ‘Ê>[<ö½)1çá L™2eÁ‚)^ßÄLyïùŸ–tl¾ MyQMŸ ëIÂpëuÚ{žªg¿P–ˆä}IJ—ƒ½ëcÒj9ºÇùˆÄ~Sƒ” Ó?(ÌCûM¹†¯Ì/¡€©#DD¬ß„ ¶2¯œ#R„EGÊò“ãã×ÞIXØ©ÆÿÏÚÏ#ßk©hLXšCS““ÃÄ«òÎh¼¦XÛŠX¿©aŠÊÜ2 _YPÉ„ù±D¤žÒ§ÃtÏ*“Ø'ÜV$,wCKü5OÎ}:V4¹\Ìk8²[9¹wEî.åÔU«&x´}F»úá#=Êý²lIÉ¢ÕóN" Ìf‹€ì6YL&ëƒ&£Q(˜ÌÔչ܅önòk W­ ªÿþcÇŽ5µlËb±8>h6vç·C%}þð{ýŲ†˜ß¹~š)è”Çš/”jW§‰ú(\ÿò™ÈµzѾòÚwXÀ0ÂgžåŽåJ'L÷ë²î„ñšºÌƒ•3‘ >s+§;1KË1ò–H,ËŠ‰ˆxÆpçÛ˜Éã­ÏóüòᬿÊbç–¿>†k/Z¦¥3-§½c`­£šœeÌJŽ'"ñÝggÆ æ9NÅ‘³Œ½ûKA¼öã>U>+]²ÚΘ&¾ˆñY¸,`fRjÞð´P9±2gqŸ)™b™ªŒ1ÜáøÖ#Žo·)gË×´ §½C¬Òþ¤Œ"ØÏùóêÐð6—ÑT¹5²¡CD{ë° Vìµ`Sfèþ¬­'’Ô¤Ÿe‰áˆXðPÔßœ¹qϵç‹Ôä£lwveˆoé&Âß©Ñî}ªâËîÞºÇù§Ö´EÄݹC¬‚eårñÝ'yNʼne2–ˆøkÛÒ˼Þ~cÛÚ“ÃíVüóùQž³ uÛ„MKú3ä܇Þ‘жr•°Äkï´T°j8ÃÃU™ì*Û˜›{-¼íš¢œJg¿… UÚ+û9;U7¿%«W1IÛ¸°¸å]Ÿ²«‹=÷€×mÃÅb±ß ˆoÖß®ý¡PÀ„Ž"¡×Û‰¿2©T*k;Ucc£ÅbéÓçnûauu5µ´bUUUQ¯^½¬kYÿû„=z0Ê,f“¥M„£–Çü·åD$|Ö6€ÇPuݶ–3ëЫ·¹¹¹ù«3vJˆKÇGQSÑßM?ÞÂOY÷`»Üá³$q¡24.sS'«—ÙþÒÚ·—x ÷¢òÜ5ñ×rXÿT¯0?¾hw‘šˆˆWLÿ¬Œ{ðN°~a^\Áë¢ê“»ËÈ/Ä‹!"ªÉͽÆW’[Âûy0Š¡!êœÜržˆxU~N%;7 ¬çdMÑî’;]=Uµ?ÁÙ;¿Ѳœ" ñÖ ‘/˯*±U64eÎp>!>,ñ×6$çöY·<:zxezêIMw|xÛ,÷Å_¼ýöÛ%%%Z­¶gÏž...DPRR²aÆ9sæ‘ÉdbÆn?ûÌfþú5±ÒÓÌq¼ªJ  %"„d±è/}ã4ò agÉ ÁM_5Ÿ-?ïÁåmûÏ.Y~3þ¿ÿü?â~^¢ç•d6 {´4éZHè̲ï¾ÇÿüÇ kå+cñsÖ(F¼ÌÇÌz/ý¾ ‰=ÞKQtÌ#Ë¢ƒÒgM—)|B†:ï&"b¢Sf§¦.ŸÎÛæåóa‰´ä¡‰‰•Ié3ÇsDŒÜojJtK*âÅ/…±Û—Î,WkxùˆeÉ#äDòðähuRüäñÖ ,I^âÃhòRÓk‚R}¢°èÙyó6oZÒá2 ópóŸ*B–…çD¦¯-ó‹ö K¬IMŸ?ž#"Æ#(2NÉã›:ìF¹Â',|„lC»Sã³$yIꪕ“·ñD¬GPtr¸’H{m…&f²ÛÖnOšŸÞr¿¬©«2Ãïw«.åÔ„huRÒÌñ±^aËâ”øÀÏCìÌݹgBèÔf¢œ· <~Å{¹l¯€° ’ò{žªøm[içüN<õáS–4cZC>Sâf÷gˆFD'Ö¤¦/ŸnÝ@b\¨œ/ÿ,!_™*'’/Œ1?>5ÏïWÖoÁ²¡3“Róƒ2Â|–$/KO¶ÖHî75z¶œˆÂVF–$¬˜<ž•{ Ÿæu2ÿÁU¦{•.;".sUÎÚ é‹7¶Ü/+<9sjÀ½Ç¢Ù¯ÈýÜæa–³X,F£Éb6}½ü‡âB!Ñ[nDÞl‘ˆLògÍ"‘©é'2™Èl6óz2™Ì¼Þb1ÿÈ[*nÝéÓ§·ôÇF'FÌ-îgÉD :MqíÚµ;v‘\.×h4³gϋŷnÝúôÓO¥R©N§ëÙ³çíÛ·Add¤««+ýôÓO7nlll”H$={ölhhxÿý÷_}õÕºººuëÖ <8""‚ˆšššÒÒÒŒFcBBw,W“–"Vö5Ýl0ÿt§ç”Ï.Œ$ é\qCìJ"::ºü÷E ·º…³ˆHÜ÷CÕ÷âç= ÿ¬Q~Qd»Òñ—?sŸ""‡žÏXÌ&ÅÚMü·å7“⟙³à™YóÍ÷Ïñ¡Dä¶~+FgÁ¯ýª_YÒäx&eo´ZŒà×OSôi|zþ·ÚN#?Ä2¯àÈ„è`L¥ôï¥Î]šÕ–e6›ëëëoß¾ýwGwûG"2[,ÿá†XHB"'‘À[,4Þ¾eíDh›HÐl&‹…,æžDžqvUô~Æp‹±…ˆá›Û6…µêß¿ÿoûÛãÇ›L¦W^y¥õNYV …"""âôéÓr¹<,,¬W¯^Öç{ôèñÛßþ¶´´ôÛo¿%¢Aƒùøø˲£FzþùçmÇ)[Ç}õlª¿Á_¹(zîyiÄdÇ!þÖeœ†öJH¾sä Ådöp÷íç¶aû­ ™d4Ê—E›õÍú”ÞÍØÿñ{Ça¯s¹‰7ˆ½Ÿ‘‰^ðê9m¶ã+C‰HȲ½S •ßêê²àWùƒ5·OZæVS’[Âû,ó@Ä€'‚|ÄòŒËQ_–:3^³ 3%TÁ_+ÈUÉ_özâî2û°mY:®êûªoiUý¬éÛËDôvïŽB Èb6óýð:Ðd$^O&xgV(fĉ ‰³h5¾Ù:³„cÈìâ•ÑžÅb±NnamËòòòš5kÖ¿~À­o ÷ûù»–›”¼¡Äz Á°e‰KFÈQ(ðóД|–”š[ÎY»ìÅÆ=yc¬v\–T*usw»}ûG¡ÐÖd%õ±E(t¬«q Èd&³‰LfYHg›øÁÒÒºu7Û<\Èù…²"ÀÃ`ú‡%n C9À/@°$mï’'ù»0Ç`¯^½¼¼½y·ç-KkR²5 雩©‰x=d1Û,D‚–Ö^‚æ7¤,""…«ë«³çÕ¿ì/4›­aÉÚ4$è„Zž5›Í‹Å: Êb±X,fh`ç©/îÃÏ >-èþv\V[ç¿ù¦`õ_¦¨Ë­=­ÍY=X““CÏgI"!D‹Ü=D>~}ÜÄ/ú ¸)˾:µZTó½TG }VÈJ"Ag˜!''!Ã@ˆ>€”ÿ*!Š) ) ) ²Ñõë×Q ?[ÊêÓ§OÛÿ pŸ+ø…Y,–Ö/›Åb1›Íf³Ùd2 †[·n½þúë("øu§,‰D‚”1e™L&“É„/<±) àß·,‹ƒƒƒÉdj›¾~Ý)ËÁÁ¡íÿѤÿ†pÕö±Ùl&¢Ö¬ð¤¥,€'³Ùl±X„-P ð$¤,Tmáq±æ+ks–P(D;*<±à±iUÖi00. ²) ) ) ) àßÈÒFë3(@ʤ,¤,¤,¤,@ÊèDÿûßQ ðëe2™ ƒÙlFQÀ/A(2 #v¡J ×ëQpðXX,³Ùl2™L&Ïóz½¾¦¦&00°K _`ø7ptt|ø …ƒð+f0PðoÀóüÃ/Œ”¿bè(ݰ扔ðsBÊ@Ê@Ê@ʤ,¤,¤,@Ê@Êøùè¿[5þ7Æ&üCÿHk_òßÉÀ IDAT^5~lì?ôT5óíŧu]Z¹îô¡³mßäçgPíûßOŽ×ß{Ý—‹ßxã™ûêÚíØ¡ùo¼ñFWçÑT±)é³Òû숶ð“˜6þôÙ¾ÒzC—¶Q_ð¿ø¬¬  ðK¡à颻UȾû.fÓ½2JúÈïã9qíž÷¥]Z¿®psÖw+Þ}ÍE2(jû^*ùBVÃ7×é…Y²,ƪªž´Ø³uÇ©ÙîññêJëœ^žð€r}6ô÷ÿ$#"jª-Ýÿ×ý›Ü~æ.Æ·~)Ëðí†ØWÛ<áØ{PpÄ”7½œö ~8”òiaÓ€\øR—jD·¿=]¨í÷Nàs¨GÁ¿¦ñ\Ö9Ťóõ‚¬ÂÆQc\ˆˆÍŸ’5dbÿkçTšï?/)~Ò‹Òê¬É N¿9Q~áœJ£Ñ0C¢’bÆx¶¾QõþȧÈ%¥Æ³™‰i‡¯h8’›?ã)é.ïKIÙ|Nͱýß]‘´rs:62㚆¢g©ç¥.ª^­‰?üŠD_},-e]¡Š"vÈŒ˜˜Iƒ˜ïVM‰Ö̘ĜþòšZ­a†­HMxËtÿÈLL9|…#"F1rQüŠ1žcš¶¢Â¨œØûþ'Œrä0îÄ¾ïæ­|QBDT}èfà0åµõe}õ±”Äu…*ŽˆQŽŒŠã)ÑŸ&Ÿ7Róå•Z­‘¿Ÿºò5;‡éB¤¯;–Q¨aäŠa“ƨÖµ}ÇŒ¶ûÏ(†Í‹‰ùàE‰½U¦rø–ì¡?O'wÿÐÑ_üåë ŽÜe†ú³ûwq¥¡™H$6s¢¿«˜ÈP{vÿþãWšIäörØÔñþ®m¶W_ø×µE²‰K¦ © ví?õ½ÖHäèöêøYI‰ õ¥ûwä^щXY¿¯jóŠFýg+é*Žï;p¶¦™H$õ~{êÄ×ÜÅdPnßÿeŽÈHRï·¦N‰Øðôz”ƒ½ý‚ƒƒƒƒGú)©áò±Ì-%·vM±kàä93f¼ÓÕÚ‡æüáÃ'¿ªEøWÕf©ÎxÓÍmäŒ!ê}'ZºÍ1 ¯:Á}´iÓŽ=é¨3W1ü•Bé¼ôM;önOr!-åD£½Üv,1î„2fÏ_ü}û<~s\Ú?túï6'f¨Æ¬ýü‹/¾Ø>ާdüC/?’•¿›º}õ$Åݬ¶9.íʤ=G<>I³..㲞ˆ!͹ÓòE«7íØ»}…¼0#ë;=UNÛÏÍÛ~ôèÑ£Ò?àOªìt8Ô~ÿM“ÒßíA_Ì ޤ¬+z""ýw‡Nð#?Ä´ÑñÄ” “|ñÅ{bçÒÒ uDį.¼üÊŠÌM;nœÇÎ8^Gö“¨ñDbÚ…ñŽÜ›ôÚå¬+<1DÔx,.ú0³hãÑ£G¬¤YqÙÎþ¾© ^–uíCm¶]/ÒžÝ}ðºÇ´Ø?ýéO¿ŸØ»âàþ+:"ƒ*ws®öµÈÿ”;ËãúþEÚÖue»ÿzÊ1ìÃiƒ¤†Ú/wåÝzõ7ÿéOúÝÛôõþƒ× Dº¯÷¼î6-6>î?g ¬9Uc“˜HWº}ûYñ»Kcããc—ŒÐån>¨2y·^Œÿxé[¢Š³ßã÷ à)ö=EîïŒõ‘a€ñã—¯¥j"=œ²æ<ù½? öðyóû7*Oì9|òrm3‘HÖoèØˆ÷‡¸Š õÅ{·ZÛ²zŠ©©òÄžì“Wš"Ù ±3¦Œòt"jª>±gÏÉË ÍDRåÐ÷§„Òe}œyÙHD{ÿýÕœ?Fù:ácë M±“ø~Ot?Õ‡öqÃb†I‰hȼ‘\ܾïÞ_jkR‘¿ùÁ@)I”ÆÉ×¾Ö8£?)?xóE I¾5„9þå5ý›{Öé.º"sÅ+R"r“z`$I¥ZºýsD*!"·a£_ª9";}òêΪ“>$%"‰ç›“úgd|©âÇ1't#"b•J–SkˆúËå¤:¶ïKåÃy~lïðt×Kµ½G{<ø3`”|ÀFî» {å5æÚ¾Ì›©ý™+¶×Ü>Xûù›©”ˆ\†¼¥¤uj ‘‚ˆa‡|0Ì…ˆHÞ_ÉrÕ½dÃÔ_ûò3,jˆ”ˆÜÞš÷¶Rbß];Òˆ$noÎ’‘rL5¨csWQaTŽïÝ…/QS}iÞÙ[½G{ˈhdäÇþääDDRåË2ãñº&¨+½Òì1þeW1‘¸_ØÒ"'Ò5WøëAÝèÈßøËˆHìö»›¬ß_Ù Ùæo´Íd¨»\'êö‚ÉŽö{ö› "Ò]?[çøòø21É^ záø¾Ò:ûR™HûMÑ7Êû¹úM›ï‡_¤¬Gåä$"2’‘H$""]Y~ýÐ1á8iŠ7dS9ö ž¬l:8竬L£,fŠ{›um‹ šüQ°Óù¬­‡7d»ÇÎì}uKæ±ëÔoÌŒQÒÊ£{¿ÊÚà¸|ùØ9#k7je#çÌôBÄê.뇣[µ!‹ç‘ê‹·f~å¾ø£±®Ý7gé/gW©5‘ïoy†ÝweQì+"bX7ÖZå—°n,ãx""†•·d#–ex5ÏwzSNÃñŒ[KC5¾úĺŒ}Ô<ñ¯¸ÇqÕÝÝ#—¯áˆˆ!†iyKÛ¿.c’ÖÒæÍûg%ªÙï/ЉêÔc°IUÚÐÛ_ù0#Œç›“YYçÊ÷“°VÉœkÝ©ºs›36ŸSñDÄs*žÕ²Në.µ.jç0yŽ#¶¿­,‰õd™B[)iöGN8n} žç˜ašN{¥­ø¦Éí]·ƒnåý9&ÏúÐñÙýçý&È•ˆ ÚŠ/|YÑÐd 157£7q\³ÈÉÉöC'vj¹ `¬ÉÝ]ct(kyÂPûÍñÜ¢ mQó-’‘±©ÙèèÚ²®ÔÍITADF]³‘;·6ùë Fc³HÜLNÞS#'~ùeѾŒý·Dn/¿5~üH%~­²º Y§ÕhDÔTáè…f¢Þƒ”NdíÓ;dÆ”Qr"͉,Qï)c‡È‰àz“““ØUêîD¤urWzº¢ÚÒ]ˆŸû`á;[23·Ð⃌ç·fžt ïÖË6ïÅ¢íg´Nú°oþ‚¬sºWFÏÕqz" ‘ž«ãˆeY""žÓpDRkšâ9ËtzWVÎ2\µm]ÒÕUs¬'Ÿrá͵kW ’UgMžõ¥ý=’°ž,]hݯÑ3ðžÓPH_³4yÌRÒ×ÎX–wxÈŽIní‚oÍ× ²—û=ä„n#gô_·ïD!{A1)Êín^«;w¢êƯ¹5›?aó=ߢz³½ÃdYâ5-åÁU[ã*+gÅô{{ÞïR•j{ðxˆ?ò»³_´Íh_oßQæ6oé|o)‘®tuòÖÝq4ÖéŒDb"2èêµF™+ѳ¯EÎó8µvÿ®R÷ýe†Ú¼íû+E.ýPéDTüÿRADä$57mÅÛÔ`}è(u=;:ê?ßuí°®~ïNó{— ÚŠ¼ÍÛ·ï÷û ™ð´z„qYÆ«Y©))))Ÿn§î´ÄG¿ÛÍ#Q݉¬+Š1+Úµ¥¸£\—u¢n˜œÅ0öPôÌ•ZÉJšèITMÄôI›#g^Q«yùÈIoº©;¥•1Iñß%¦My;Ž'ʼnII¯¹0ŠEâS¦ŒÍ+ú°hÅôkÑË”W¼5Œ‹ž0ùýU±-+{NL©KŒ›0–'bâR£Iè;;»/8o’"1ú½Í<ã²(þ]·ö!£¡T%òÝ…‰#¤Ãf câøö!‹<'-z·0mÖØ,¹\9rQTÔè´è¸Ógt^Ÿé?ÃîaÆÄD[6a,+WŽœñAÿǬ¥ŸT’6k,GDŒòͨøŽ‰µkMq‰ÝG¼ûò•ƒŸ$žb¥½½CÃBk·þ×íÊ¥óÇÏ Ý½û¯Ìk6:ö~yüÌ®¤mƒæä=~ÖkŸüuÇ—ý¿õî ›÷ÿ91—•ºù…]·ùóÏvÉ~7qjhÅöÍɉŽloï ×Ü®|MD$õŸ5«n×O›‰HÔ{`Ø47±XZß%þr¡éaÞÎP¹%&:úÙ?ðyÀÓ˜²ê/œn ‘LDÚóÅ?G2»¿3gΜɣäb|ðk'êò†úó_iI>êêÆÃe_ÕŽðÛ^(Þ³åpYƒQÔ{Ð(/ck&;‘œzL7 |¬èäÑËZ£lPøœ`㱬ÃWµ$4yñܹ¡öo[·^vz}yL„øtrê1Ý€ÉïK ž¯mÉüÂO @üê– M±“ø~O<ºÜ–e¨/>¯¥Þ£^÷ò©$Ý…¯jm­Yš¯¶ä”5ˆŒ™3'ĵò¼¶5ljEDÆ«'+½Æ†•‘örΚ¬«ýÆN~½7i/ç®l×f[øØið”ɯ÷6jËrr*›ð1uÇŒõÃÑŒÔ-4w¿R2ÿV^Ÿ÷¡Ë›;tèСC‡†&_Ô£8žX]mË2Ôž×Qï¡Jj2ºq§Ã—N«Â=½Ät»ò|‘lè˜Q¾Ï‰H«ÏZ¨k³žìõ±£†¸jt'ÏnyÔצ¦Â¯rjëë›HÙq#²¡c‡¸R?cáWYµõµ:zÉ ŸTw#~ïlÉÌÜB‹g 2žßšyÒ1ü£±®£)K&jÄÒâû.°n}û†DL7¸><èN)Ë :}©™¨ùäš”“¶§.Ÿ®lòzÉ©Y×DDN®R1‰¥®R¢¶)K*—‘ÈQLDN½ÅDF'‘ÑØy+Rw)‘“£#Q3>¥nJ0w1mÉ\ó—|ƒÑ}ÊG3}{vÛ]幺ŠâÜŠâÜ­k?Z•\1ÝÝþkº‹;V~rª‘ˆª·Æ®Ù59 ~ ]™ý¢©òôU#IøÉîÖ° •]?}õ6¹Žšñþ™ñú±­Y'uC‚ݲ [‘žž¼î#Oëê²wU`þ øeôzT6áñ°X,f³Ùd2™L&žçõz}MMM```Wßçîìž¿;œ}¯¶,""º™7÷ݸKDDní?2·oûWuW ²³³ Š/VÔq¼õ)ÖÍ{°HÄ܈ ¾÷Ê¥»š·ekNAéÕºFŽ'"ÖÍ×?pÜô¹aþîíšËtysƒã.‘KøæÃ±»,êÎ$L\šÛHDä='ks»¦¶›óveç—^¬jÙ3†uó2mnÄp÷{µÉékÏìZ¿õHñÅêFžˆ7ßÀiÎ  Õ_M{Æ®F"fôº“iþ’N+–æîÊÎ?Sj[óaÊAWU½%;¿Í.ëæ=`p`Ø4L9OŠž"Ò¾Þ.t©‘ˆtzê+i“qÒ­ÜUÁwX¡eÖŒ-þ¿[·zº>†7 ’—®Ì©è°Ò¥S9—N嬿.y\߇阨¿ºe‘-b¹…¯^×6bÕæ%DÅåVwXçê.ç\*ÎÙzÜ,H˜·2·®í*u—Nm;•³%¹o£õê #a:EƱK?)n´_ë}§­Zµbx‡Ð¤»˜µhë%;…WZWQš¿u}HÒºäPw|ÿ) à‰Æ´µÙQKwY£ë1z°[/)énÖ]Ìß¹õT5WúɢľG’‡·kÉÑ•&Ï[™cM2nÓ¦…øºKIW{)×®â:¢ÆS‰s¥û“ƒÔ’S›»hM;:isl›è¯f´F,ÿ°iaÞ.½$¤»YUšÛº‘¨5}÷¯hß4V»sekÄò=gî¸á}]¨±¢ {Ë®â┨´9î¶HÔ>dé«vFÍøä’µ |ÃæFz÷í+¥ÆÚ‹¹»rŠëˆ¿´ké"¦ýä!º‚„–ˆåâ>-l¸·»TBú›µU¥ù»rŠëˆêòã¢ÜìŒê‹‘p€”ð¤ÑUTØi\¼]$w£Ì–õÖdÁÆïÏ×&…†Û2}âšj".MþGÃ#ÜÛ$ õ±ÖˆÅŽŽß™6®õ•ÐqÓ²—NL)å‰ËOY?-0ö~êJ“Å∈ñÙ’Ú«ÝkëwY#²zÛŒ7<(t\HòÄy9Du»Ö¸.è3ik¬D¾¿Û¿nzKºì±séôOr·ÚXû¦¬ÚìX[Äòž³y]ÔÝé1}çÒ韔òT½5aý¸ì¨¾¶×nl9űaëö'øßÝ ÿá¡ã¦Ï=51±˜§ê]—>ìÜ7à‰$DÀSC_•»Å>Ü‚†ßK<'õõ÷õöôôû0¤c»“¤oćþÖ‡ùmîP +^“mlþ+bƵï'qˆùÐ:ÓFcþ®KúûìÒΨ(kTóž³nUD‡Ö=ïèïëíéé;wŽÇQÒÁsçØfó¸šßv2]é®bkS•Ûœ˜o)é;=)ÆŸ±»/·lµ¶çyÿnUT§ñ%}§ÇäMDDÕÙ[.¶lOßxњؘÁ!¾Çl¹‹‰Ÿ3mÎG11nøÀÓmYðÔD¬#‰‹Ö؆7ùÎèÛ&®øG¥­»÷šL_o*m$¢›µ:"iK&9Rj2¾ávºö ‹Mr©%©K/7Ï{µàÜ,HœûÉ%žˆÜÂV¯ël¨WPlZн÷Ìe@_†ªy"®VÇIZŽ´à¢-d…Øé¤×+䣴y¹\ç:eM¾ÓBì¡r™æýIbW|¤J?Ø6x̶¾ª´J?¼óÐ5÷Ш¡øþRÀ¯SÝ©-¢ ¯««ª(-¾Ô2¡Ÿñ ©ôzoº¤çín«Ô6U†Ë`ûÓîõòçŸ-è.¦-Z™Ï;:i]ÂpéC¦Å»;Fz½„!≈Ú6eÕVÙTß@»óJ¼Çù3¹§:–î’­„\¼½ïµ/Roªh$j¬¨ÐÑ Iú²»r9¢º­óñ1+æ„ î…Ž€”ð„àKs¶–Þϰø´Žýûl‘¥ª {ç‘üÒK-Ó—ß7ì4VµŒðêëÒõPÁWe¯\dråùуæßÓ]ÍËÞ•›_z±¢Ž{ˆ÷æêZöÌÍÅn×@’¸ w£SÕèªmµÆœ#r´‘ƪF¢^DDÿÉa¥KsëˆøK»çíJdÝ|ýƒ‚‚ý pRÀÊz¿§°i¡ìµÓèJ3¢¢:OE~¿˜¤k¹+Ãv9H4§-Êi™5¾º ´n÷XôfAò¢•9Õ]xs½¾%$2RÉ=vMêÒ¹8®+·ÎÓ5òú–΂Òá ;7NIIË·SËLökˆXÏÀés?ŒðÇ ³) àWéw%¶¯6;jÑVÛ´ž£çÌñ÷vwé%m‰(Uã&n­»O®i¬õ°ê*Ú4J]údE†ÿÎ(;7ãÒ_ÍhXŒwȇs"‚{»¹·î˜þblè¼|îç)¼Öf/—øø÷DGÆÍ»íÒÁÉ;#b®žÉÏÏÏ/((­¶íW]œ“Rœ³%,i]n˜HYO ýÅõö¦=o—¢:§ )k¥käa«Œ÷œŒUAg¢æm­&ªÞº2-hglÇÙ/tÅkló¸[g˜ïœRìmY"i¹¯Ó·¶7uxg;û̸Hˆ8""ÖÛßÀ£ôô“1`xD‘¾öbqqþ‘ì#§*8"ªË‹rék7I<0“;<íê J­ /lØŠ{÷ͽ;«m–qéëb}ÔXѨïê6}·ss”¿ûàÓ~g½.geÚ]‡íVå·Ì8m…Ý¡dº›µv²Ø–Ù8t÷–¥µȻ倪ëøµP%"V¤íÌÛ?š%"¢ê]ë/éñm¤,€§€^WgK7îƒÝì¶û\Ê-µ“:Üü½­MFÜÅ‹vÃÌÍ3±±±±±±i7;¼äâmÛ”¤ïôU¶»W5æÆ&äµ[oläZöÌÅîJs.ÙyZêîfÝ3¾ªÊîžé+Ž”vNgRoÛVÚß}ë_K[}Ç­°Ý8Œ¯ºÚˆ¯ e< Zg¯Ðëì4 é¯f'·Ž|âù»qK2xœíæ¾Õ»v]ÕÛ‰@[·æççççÔ2÷ë'ç‘Èq§㎴icb–iÙ3;©GWºþ“Ö yþîÏ ¾ÖGչŵvÂYÁúÜF{(l´5fqë;CÛªG¢Æ›»"-ûÌÍÖÃÜ™¼bÑôˆE;«îU¾t¤,€§ŠÄÅßÍ–IŽtH úª#±K×T»ù²¶`Ó¶s 4ðÃ0k*©Û»¦´}w¿Ú¼”kbC¦ûßnŒ^¡ÉÉ!,_š¸rg•¾5ö´ìÙ¥Üâ©Gwqçʨ§wËžUµIˆ½ü#|­*2ÖtÈKúªìÄÄb»=%æ~h]/MŒÛÙ)9ê®nY™R\WwéÔ®#­} %úÒÜS¥Õ¥Ÿ$ì´“5Iu×Î ""rñ·ß"ðäqøÃþ€R€ÇÅÒÂd2™L¦Û·o{xxtõML5Ç6û'ѳӦ îâtóQ < IDATÔãY§‹{OüÓDôã¹//ê]û<+⹚ʳ_®ÿŸÿúŸ}å&ÿ˜Ï–ˆòs+y"¾¦®‡÷³&ÞáY©„D}† ¬ÍÍ­h"úñRnvA•NÿÓ­ÚŠ²ÂìµøØ6-<;:~ÕÜ=¬[â+n=QOD=|ÆOÕçîÔ3’¾ÃßÌÍ-o"j,>k=þµ^""’ºˆ v6QÝ©/¯2îîNÔÔXs¥øØÚÄÿø$÷ŸN£ÿ¸vzÃÞü:"â*o¸ îۃ瞕ŠHêáaÛ1¾2ÿ`éMFÚƒôºúŠâ½ŸþgÜŽr“÷œÜÊÎuÞéÀa.¥Ù…u&2Õç*½éÀ8ðM·ê*ËKnIùÃÿËý§‰ˆÈû£Ï~?êYëJN{‹‰ê‹söž©jüé'^Ç5Ö×UU\aý©jžˆqñõwo½¹”{PBöñˆ#[·dŸ)­¨¶Þ©˜qñö6mnÄp÷‡’$üQÆG¥×TÕå¬H :’<\J’¾Ó×°sÍúì‚‹Ö7g\<Ž›67"¨¯”ˆ$¡ñ«*âRv•ÖñD¬›Ë$UZÝh[ÓtÄÜ#ü{It­û˜Žû1 "íðèÒü­ÙÙgJ+ªmS¾3¬›·จ¹avŽIê¿bK^DÁ‘GòK/UU·ÌÙAŒ‹ç`ßá!ÓºR¿~½³+C7JY(™_ÜÍ#ÓßM¬ "·9ûDõEü¬0ûÀSG_×r¿,—¾,Šàç&Bpfõ¶Ìüxj¹«îãCGGrоÿ¼: `øXíœÉÜò‚ckî¼[lld,%-åZ B!„ZŽnöZÖØ9oó«Á´G žÛñ˜¤÷8?ùÂùC/6¿u 6î(-ýVü•—H‘À…7½9EÏ䤎ž9üòáÁ5[‹Ë€ÌÇŠJŸ}0m*ñ›¹üÛÚÇÉ„ØGûF`$|4 °z“S¬[Ÿc;Tû£¦c“ÿž÷¿Týâkçq'B!„Â,ë&?78Á¬~j«~ýúG·™7L^;ôØÅSOmÌÎ~tëc«aðø‘Éž·äÁ­æÇÕêÇŸÚH † K¡H€4Ś쬴éu§Ì\žq¯~Ójˆ}p4<cá£}1X­ßˆIÖ­—rï7ž ½Øtl`l켿ùÅéÏmÍÂKY!„BhٻɃc#F€¢âÉ•EÁ ÆFø¿òÃ^™|ox0ii™™HIK“Àu_ôÈÚø¸âÕöÀÑðˆäØ©QPlݰ ÷Û’°êQëw¡éź{ÇbŠgK¿£ÎÀ2A!„Bèf³¬”4* `”çGÒÎó“ËW§Œ*¶•îÈI\’¤f¦Á™ÏÔ™ßðØšöWGzS?àaÍ3˜d-±D+åÐÉc[1ÅB!„B(îfG fnÈ¡.¼vðÍÞ^ûÁ@,±øàƒ|ðê ¹tæ5²A<7…§ïÏó¿}ó““'Çùa,¨Å‘,•ÞõÐÃÔæÇ“( kûUìk¸Mž~îDwäÓ/DQîüÕ8ϯ$¯4>MÞ{_lp@<÷a2•ñ±·óêm†ä¤»Ÿ2r¬HÃá¡_{tD%)×*#î®°Ù¬!äî&ô**’¨ÝUŽ}Þ³³Ê¦¥.€ª`“ÃÙŒ ÕXœUÖ«NMõûÛCª¢ŠÂŽ.oØT¯Ï<[[æt÷p"¥Ê/¯±ÓuS!×¥tZ{.-yU'‡ ¸¶—ñ†ó²áHôåõÎ<™öT–Õu‡*ÇT^c7,ò)1ˆÐ-Ãù% PZïœj÷ý{^yy[g§ï@1_koQ³–÷zBñ€Æz9Y»Fk CÞ  ½AÚ˜Ÿ¯yƒ€ôhƒ–æ}ÕŽy¹Ç×éó8U>g¥Rv Åm¾ú<²»ºÚ¯¬êôyÜšÞžèÌŠ_½¿œá†Æ "t'#5åUF:»¸ÞíÔðW5X !ÚëWTtv.XŠÅûl‰Fº¥Œ€¨·dóôÇY7[èëæ-û›ÜìTÇž:¡¸¾É}À Ýý$!öùÁRßâöØ n§;jµ»Âùõ¾N_ca´¡¬!0ã§ýøOÿïT!\ûG’B Áé†â6ŸÏwp7å­n¡V‡‹³4vww·‹ eM¡éTms+œû­9d¸£².bnêôù:«T¬ËÕÍC¿×é jû<ûóC­½Q Hue®°¹þ`§¯³JÝí¨^¸xv[Qñéê DZw$ŠÞ\;ûpG¸žuySK[­>TWéÕ;ë[ÚjõÁ¦–Û«©hjqÜoèqUûx¡§¶¬A,nóuvvî7öT;:Â@BÄÎoôµ|¯x¯M%ÕWµÍ‘b@?ëö‰Sö\»†‚Ýœ¹¦©ÅÓX îZ_?ÚJU~Ð×é®a",'^–c-ZñÂÄÄÄÈ'0øKOl`àÂ4‹çÎ ýæ×ñÄ&.Íù¹‘Qáô)â¾û“)*óé­C¿:t¾ñ߄ӡ+ R?+Vœÿ÷¦þ–Ò/oJY½zè×ÞKþãßÇyþêW¯Ù}^ã ýò¦qž?ßôoœû?©ÇŸHJOOÎÈÈx‚áܯœÿ·M"ˆô/i§>´’Ùûøã‹G&¥¥ely’kwŸÿ·—b,}ô+p×M²TúÑO>þÕ«iÔ—&&fÝæÔµ&¥¥Ÿoü·ó/M|rQ’•µÀ!O] çÝñ1ªBÐí§ÌL" ï÷8*YmM§¯Ó×f'Ü+\Åîj[Q| ³Ó×f§[Ë\W^w¹ÃZ«V¦.Òóno(œo¶ÓÓÝÝY£ò;+ýÊéKLÅÀÙ:9ñõUM-î6§Â×С×U0Öwú|>Sö±SÃ…žª¼+{::«{ÞožÀ, ¡[•cyNÇsœ8wø`G€¶(1-çëSÚBƒO³úY§µh)RiÔ’½Þ „|)£Qjré`gHB½¤Ö¨„ —%s-Z (µ™¡z¼ñ›6hIMaÔf- Æ2·â‡!ƒ³Ö’=s‰¼ ¦‚Á1ˆhy¹ö[ “˜kvgk°„ÜÈ,äP-žãæ  ós¼&gL9$¥PHåzƒ(…œàã«"h}¾Š™Æ¨ˆø|˜õF”“’…±@ÉùzÃ7öÓø@GƒOЕ$™coëÜo’€LÃ(ø>N„~ÖR0 P˜ö{ÚŠ•ñâ¶–U†,µŒ æÆÃ…J€Ò0r1 BŸ/D3ù*@f(4Ë €ˆ×Çë‹ó•$©1›iÖ\¨7ø7çk‘HtŽWˆ“A@Ò)¡4j(’VIy.þ~BUÀÈ€T2v‡ßóú­5¾(Çh–ÇO©*ó5/"‰\{"á{zWm)¾ÖC9䣊Z)'x. ËòÊøêez³VzÙïZ¼â™nÁ¥‰Kã1¸4—&®ë‚°‚$Él¥øáÙ±þ~ø¤÷R•@ÒtG7õ/þž…‰K£££ïS?ÿù™k¸ö«—uÓÓÓ7~iôÔ)~Ã7ì; ãCCüpòÊ•äš5b8<>4 —ýòâïã§Bà®/|!ù^ÿ5LŒŒ|TÿÏãÃà ž=›¼r%¤Ü{ïè{A˜¸4޾ÿþ\[5qñ¢„¦ÉX‘œ<üF×Xx¡ï«¦r̉Hºý´yòI;|oGPn6kHé µë 3¢„ò²¤±˜‘¥µä¬çŠÛÏC^7ÏXT$9…FðxB „:z Ƭ¦(£ÅS3K÷C˜£“#U›´r% ñHçsûzÂ¥µ¹Œlúl™}©zfç‡ÎÝ[5牋›†ÏDè!rì-5Ÿ­ÐæÒ´8´í«ÛÎ4¢(Ò ^ Õf­Xå [u‘†¥Q%TûBšµår’Öª¡ƒDDVPÙ•¤ØÃ‰RUbè2IÉ 1È‹@)¥ã EN$éÄq” ¤ÄUkoªkIkÈ ö7: ø-´lÚ%_ÓXªšl$%ÍñÞY,EKri}QQ¾Ÿ1âó²Q µF½œ ”Æ9nË$ j¶?'oè’*ƒ’ F1Ì4•(BFbXúӚػg‹nOüSÙ¹¥µå @y]Õ­þ°@"×'æ@”ç jrý$Eb¤£²¤¹i"‘ û몺Cíi3ˆBT$ä‰M¥å4€Às|´«,‰¯MŒŠš~qn•Ræ[x–>èí Š­7jh€P™Ts|'A“¿tÆŸB¢ÊM–ƒTJBô¢ NÇg h xN95õ¾¹ªîä}YB?ÛZf³òõ-6rŽÊ@“‰WÈÉcAOn™ô²/ZÌâý,’3VŽ}ôÇ©$qÿš¬¿x>¾ðR,–”–6õž$™¹í›01+’“G‚Á™k¸ö«p×uÚCÇs¤Ñ÷Qöw²Š¦ ›“Ò¥pi"IJ­X‘šzIÚ€©Ä,có㣧?˜º"'ýâ—ȵÂ¥KI©©1~’ÈÔ©ñÑhòÝwϺUb8<ÜuXªÕ¥<½uôý÷†|¯_[Øg0JUfFtxBfƒ›U˜Kið'ª=L¤4)&NÿLF žã8ÿÎM}K­†¾Óš× @Rb²+\„w²”´4×ѹ7Á‘9&»ÓÐïvUä†ÒŠÏö ‘›,ç('ŠtŠ „Ðdo”çx è\=)Óæ[” ,g3L×_A˜1pâªJOˆ¬˜Ø ŽãÅéû²³xoZRz:¹fMôwoK23…3}ƒžƒ³¾m"ü¥gì…馥^ãÕ+L=ýb¦»ŸÞý=~FÖ_<ÏÁ’ÒîJ¬Ÿ$WD<Ýêoù)mÞžúàçG?x?uÝ:r]ÎÀþlBÓz(íá‡àÒ˜°b2ÕMJO¿ÆV¾÷Þè{ï%¥¦Þýõ¯ßõÈÆ‹G.p½Wæ3àp{#¬¢ TFôMV xŽOô,¢œ@(.MË-ûçz‹ÐÓâ%JÛŽZ•‰8ÑRXÒÊ)šŠ†Ï”úCȯzÔÆlœ”9‚%c­b¬À‡™”––|WúÄðЄ &‘dÚú‡“$ˆücê:¬€dizꃟŸk›Ó7~‘Ú¤€‰ÑÑ ž‡K‹PÊdŽ™w-«,˜1•Rçk8wký¾–Ô/{T2©4iE_+Ë€î¬r4ͼ/KèuwÃ(§( FÂßÚ+*“¾§n§µºW¼*Ú|Z'gêÇfuv÷ÇC‹‚šõ‡ºê*ż–…ЭGÊ÷[ wîªVµ9óöVõîqä1<©4–WÅC©2ëÅêýÓÏçQhõ4×LXO¦É•FöFƒ"¾F§+ßáÜÎðT޹j/C]v>ž2ØíZ[Ù%×äšµ´Gq7 t½¥Q»väEö¶Õ^Ý`µJд ´ü3Q$äZÊm3;BÈ)®1+Àⲇ%y  ƒÝeQ‚š½òdŸÒA³Xµ%eyy´\ÉØìE¬­²¤VÙXì²íÖ-û¢ ×—ÖXs Ü1u†Çi,´Wv¶UØŒnÇ6¦A®ÔZmv­½º¤Js ¢Ø»kç–VZ¥·˜U„ȜҚâJÇN¦Z µÅÎÅxÆ>IÓ€´ò³>WZªQªÍ¦žO3嵊[7Ó„ IDATM±ÓQȸµÊ$aæí`2M¾ªzÏ3ÛØâ˜qb^äÚwlnO¬3;·´¶\K06s«c§É-W¨C65Ç-<¤¦´Ü¸Ëù´Á%W1fFœqLXÜâ?òaåמJJM“ýé·“RSSd²©å3MßûäâÈNðo¿ ŸŒ|üZgæ×MIÉ„ w¾,û<Ò½’y2kç_Àh¨oìÂy˜¸$œ9sÏó%ÜÏݳ¼z¢þîÌmߘøddää»ÿçØÊ§ŒÜË­ÿÚ»êO V¬HÎö]|ç÷’ÌU‰}N®|òÉ¡ßü&í¡‡²ŠvÆøaÞß½*µyóÅßý޼÷þ¬ÏǸ‘ÀÉøXÇ«·j|xønc^Ös —.‰üã'=Ç#Ö(M&¹Ûo6Èf\Ý—™ö:{ÊÊLL¼fÔØ4—@J[^cv8L @* ¥U3R!žmñL½|æW0 ÑÔÒ®òªü=•ÛtHUùÎý Eò“Ñæÿi';1WwrWo´‚)f¼Ží‚TËk4‹}AvÅÙq:R´„Üw¯ü¶Þ~–eµZíü¯7ÜR¸³×~°j)ٸⷳ,ûÈ#H$x*-¶X,vüøñ+jã‚4Ìùh5ºÄ†]zêm§ÀÚóª´-îBÅíµŸû=…Û;J=õ7ûpæxi¯˜vtÕ-(üp‹¹]âÃñæçˆðáÉTƧ~*)=}•i[RjÚe-šç=¿¸$ŽÝùÁkįMQ›ô+RR†ßœ·)mÇùáûþιôCâÖÍÃB·AgÂW×*äרI, „Ðr&°Îm±â@• yÝa…Q‰Ï?½£L\¼Øÿ³ÖåùÛɵk©MAÒ òóŸñc}¸Ýa–…ÐÒö”V‡rŠ÷Wä`’…ZÞHmiyî.Ç6ƒ„\o[€G/#t«N!„N§*×®¶î„‰K£ï¿7õ0w„YBha(Lõ>Bhá2—Ï}Ûl­Œq´øwL€/tû ± "˜¸4ôú¯áu,ˆ;>c!„B!„0ËB!„B!̲B!„Bh9¸©û²†~÷“úß d|å/Kré›ûâÑ÷þ½öçáU_ýÞsºô3í?~ùýÔGоg¼ç†¶gè½#ˆ=ôèC+%‰M’o³ýÙé¸WB!„B·ÎÍ\ËâÞ=:ÉÉ0ÜûÎùØU_ºê©?ÙöÍÜ5˜b¡[+55udddþð‘‘‘ÔTlægj5Ë6€`áßñÅ›,•ÂÄ8–Ì­11~ÅdeXÛ§«sãײb\ï±!ÈØdÔj{ýÝcç£BÀùëÒ5,ßôåÔwÙÓCãɫ֟}F³R2Çò™k<ÿ[÷/âײR%£aÿ«‡Ž¼? ¤ËÕO>c|˜–@ì£w^õøNäêõ_3mÕ¤Ÿþ÷ÚŸ‡ ÔV³ï󅻞ü赟O]ËŠžîúåëÇNä*寝mÍ]›±Óÿùã¶Ó+¿lRýHè"òMßüSfM*\<å;ä}'4,$gÜÿE£ékH±"¡›”™™988˜––¶Ü~øàà`ffæA|ttT*Åæ„ÛèèèÂ¥Ù0­&ŒdI„,,ü-Þ´õ_üŸãId2Î-H²b±tÍÃXÛ¢b_Û _ËŠqïôÃ*Ýï_ÿ¨.ž<öQâj–D"€HÏðúmEßÉSJN¾ú_½Ñ¹—Ï*ú‡_´v½?tϦ‚g!#½Ûº>ŠÅ>z½­óäÀÊ/oÿ³üGR/œüå/Ž¥ÞŸ—¿>V?ñ­ï<©ÌÌÙºþ£ííÓ£÷ç~sû¶'Co¿ò³..œ ìo‡0<ñ)D޼ú6±3¯{Ž„ÆUÏ|ûÏž5}‘ =ôú™Q¬GèfÉd²áááp8¼|ÎŒŒ„Ãáááa™LvEÿøã±J Å744tÅp©5̹ZÍ2 XøË¤x©Ç_‘"¹$ xEkq¬ñK¢°"%…zì ¬í Q±¯íF¯eÅγ=ŸÀ*µ„ñ¬õYpø½£áؽk¦V³J÷„æÞ•pÏæu¾PoøddtcÖìË×϶ö‹§ž‡»´OjºG²N‘±öŒ@¦‚„üÊö%é«h)¤?p×ñcCá¡Ø¦5Y+%žµ&k¥†¦6ð£c½CkŒ[õëR²Æßýç_^x÷Í $ߟ›§[—K?uôô±áóC1Äb±Î„z`Ówì_ÃÄnXôT;º1÷á•XA¬]»¶¿¿ÿÔ©S££Ë"aOMMÍÌÌ\»v-AWñS§N…ÃáÌÌL÷—ßzó !ˆñÃXP‹#Y*MSaåãO$QÖö…¨ØóšeÅÂì{€ðß?ý—ÿN, ²gF׬›A®$$dz*€0z16çòôYV?:pÒ³Ò% ‘®Y¿¾=¬óõÞððäéäñkÜ & \ W¦ÇYjzz2\¸84YƒRWfH@B¦J  Ycܶñ¢÷؉7~yâ €äU¶n]‡cœ®?Å z~úËóÉI¾]€‰V"x) …Bå€A-áíÒ01€`áß©’(*së×aë×±(°¶/7–ežùÝ{d¨ó¾º.=þÿ¯=Íž]«J¤YÏ_„‡S!ÏkRÓ'×?×ò+«H„H%±¡÷zƒCäšõä[žãa¸ÿëñ§š•çùÏ?í¹æ7ÈUépöâÐP €Ñ¡‹ãt:ÀÅ9>¾îéï¬{:å§ßyÃ{ôÄ¡®ÿûë ¼¤u½)Vçè¦?/RKNlùY;&Zƒ8B7iÅkX!tY¸¡$ë,{jV®ÿÊ×­S­[§Z§yô‘U0~úèé©û¬†ßy­ë§ßõ½~RP¨å©Ÿ²üŠ„çGï>ÚɾwêÝ.÷/¼¿yûL Æ…qˆ^<üm×)`|è£óј„L€ó½=§?šq›—äžê•g^?ô»÷NýáíW}Vë4ô\YÓÐï~êú‡ýÿù»³Ã1I:. Ḭ®KŒëjëÝTø'i‰d¥º p3tµý棖 B!„ZÞn$¡=Þ‡ôš¾Z±òõÊÃoœaOGZY_”s]?{hœ\µÁø µwL]µ|öñCRÍ7¿Íyý.Wý™'ï•“[xåðéß¼üŸYŒùd{Çû]ž·×>·ñÑûßî<{²Ó[ù¿žœþEY¹öÍØ/_?ö›_¼@®úüf£Ž˜£ó¿ò‹Æ'Ç~û›¶ŸÜ•õÐSÏ0Y˜f]WÝ¡7û{’Ô©ÂZ©.øËÏÇ$Xx!„Bh™[qöÃðü¬i®yq¾`t#î»WŽ…€B!„nkIX!„B!„YB!„B-Qó7b¡ù€#B!„Ðí¯e!„B!„fY!„B!„YB!„Ba–…B!„B³,„B!„ºu$X¡;Š¨Ú¶£»j¹¼´ÍcU.Зö³-a­Å”Câ@!„fY¡; Iç•îVp"ðAw³7Ùù¥&%Aëéûΰ·j_Y‘YB!„p¾,´Ôà|YhÞݶͻüRccg•†àÙ&§«ÕäD";·´ÊY˜CÅ/|AþÞ"±¡ÎÛ'JUÎýF Ü••µÞ`@ªÊ·W•›”¤Ðmß²«K^´×¬kðGDZ[TUS Î-%]bü;Õ5‡› Ë!„Zæð¾,„ÐòÐï)+©ëâ´å5fèÚWRÍò@ç­cÕ¶ªr# ¶;ëzu»ª½AEÑþÆš*ØQiw‡o†>wCˆ±WíÖK9¶Ù鎨í5ErÈ.ªitj1ÅB!„fY¡e’dù[Y€lK±I£aŠ‹Õõµ…Ä‹ÊâòB†1—eDC!H…eÿmû‹ ½YODØÈä› Ýnfs©‘àØ0(TJ H¥Z£Ä$ !„Bx_Bh™ˆr<ôÕm×ÕM.Š„8Pr@P$ˆB°cŸËÍFÄÉÔjzM”œ&€$DâÍ!„B˜e!„–)MDäEõµfy"e"(Ì~cªÀV;ZYÐW´Õ˜äÁªm;Ûù¯â.B!ô)YÖÉwO`) ¥Ÿ~ˆLoÖB/ëõôÌtÈ]×Ô#/®ug³(ˆ"!ò\Ðç«ëâ Òì_7ǺI‚€°×Û­4j52ÌÂB¡eŸe=ñÄX è–¸téÒÄÄÄøøøøø¸(Š‚ œ={v¡¾ll˜‰Å.«üiTFÆ])¸#–Mšeª©çU •%´:¿ÔfTf}/¥-Ý­îóï+±© ÊköJËötÕ9šµ˜ãí£|׿Ït[mfY!„Ðr·B,´t²,½^?ï ÖG¿}©¶½2ҮȨÆF†Ó4E¶_Ș—ï 5™·×õMÿOȵù¥ö<Åô¹…€kÛŽV>·þ°K»@}u¡§jÛÎvè‚Æƒ B#o§—Þ}Ð]¨ÀzyÛXG^‰7 „¾¦³öÓž*ö5y£5On1oÛ×§Þ{¸)oaáqÃ-E`í[Jº(˃öËæ#›±\šç†sKæ¶¾•ú=Ö§+{§£Âd0âTå¿j1Ën²*ξãê'°-uµ­ÞÞˆÒl½ÑZjÿÌ3Øñ·»We6k¨ën{dÁƒŽ;pæ<¡Ç™·³#ªÝ¸Þ@ÍØÁp½ÍN¸¶ïhå®ùöéÓ…Ý…Ûªƒ‹³0’£›„÷e¡;ÝXÈó*ÿŒã6Ó³¼ôrÕßGm»gþ®hIõ«–>ÜãmïjßSB*ÛìKóx˵;[ Ýwd‡qYãÙ_h8k7Ï\ó8+šªëÚU*Kž‚šqÔ(xZ½Hæùm)¤Â\Q£¹j¾ÚÚ­˜Ûú–’é-ZØÃvyBvM B¨ÃǨ-¹²›.DUqM ”ŠEˆ€|·sÇ®hµ±@C×ãõ¶Wúƒ|[Ság‰qýÝûªëÂ¥ÌõeYè3ŸÜ˜‘0’ß‘]>ÉÝñYÖȬʚõrUÊ*%ãGæõëŒÅjµZmWýîl€ˆ·#$ôw»JLN§3˜lµlâI |O‹½Ñét:Cžµª3|Åuå°ÇfÐéLU,BÀ툿SÇ:=!!…kKòt:.¯ÄåvæétŒ³G!ÔYUbbt:.ÏZå럵›MC_Cµ§ÿê^ÅÕ›n1ët›Ûí0t:ƒÉî Üv“A§Ó™ìžøó#®çKÑbš[ý"‘»»<_ lëŒý „;«{–1Û›Xž÷Y7ïhçü»6ì¬ÀùªÊÊÊ\l¤ÛnÐ雨e%:ÎTàn‡5ÏpE5žÇ–n1ët:«à}%:ÎÜ2õ|Žm°™âõýª/Âîʲ²²†`¼xœÖ¼Dsq¸75`C¦5Z­Vkq¾¤9f‹ÕjͧÜ;¶èLM¡Dׯ•§Ól>.P•§Ó1ö¦DÛa¦[@¿¯Öff®h¹K3Í2Xôp]‰Œx}­…‘Ï6Ù ã;Þlo ð ªòtºä®îà@š¿¿­©Êa·;ªš<ûóÕjš ÷ƒÐm7ètfW‹Ã¤ÓY;ù9‚ÕU¡O¸òžÞÃDê¶Ç+â¬{sF®ëæ—ëCGã…lr6%šÞT#å-öD«¨ösâŒÄàʃڕiö€#„<³A§Ó1æ›mÛË$’óñZ=Õ.s¢]N¶ˆÚÎ&›ÉpYD û&×­cÌö¦fY-IMý{vµ²G³_döÖ76î5SlseÝå…Þïsì¬ìÊÍû÷WäÓ½Õ%Ž©Ø#vÕyé¢ªŠ‚l±Ï[]Ý}㻫¿Ç –éYÁ)ƒ³©Ée3Ȧ&oå™ÝVÍ¥YƒÕ,¡”E5»U@çïmt³îM!‡³ *öWäs^ÿ²ÚL¤ætq}Û~Kv¢‘ †²}]ÊX¾¿ÊBx½ÜTŽuõAÒ^‘ÄYNØí¨ôöúÝ5.›¼·£#ùœ‘@Õ–ìjöGµ»kö×ìÖFýÍ»JšB0Õ"BŒ½j·^ʱÍNw€÷U–µ³”¹¦±±¾‚»œ ¼©³,„–Ò½0‡Ã¡žÎºº^©–Q”¶üÀ-&ÖT ˆô³­~äf»•1˜ûkjìS#¯ÅPk™­=’]T_•'ƒÙgÈBžî(€Ö^nf˜ÂòÝÚÉ º½úR«!G›_j¤!èöÍ–fiJËs‰¨·º) ÎìhͲ© ÙæÒBÆdµdm´2yÅV€ ñ×û¥h¡ÍþV¤Z#Íó£§¡·µ+?Úº½­Ífb˜Bgýþš*‹’ÎÉQ@)Õ93Ççj³A Q¿7$ßãaEÈ6•|O«? t~±Y›c°Ør ÑßúY²—ÙZʵ“1­½¼a ËKUœß™c½=-¾(H[iž!ÏVS¿¿Æ™?ƒüâ™H_‡? f½2…S{u±ÉQj-ÅzD¶#$„|î>uq1£Ñ˜J‹²'¯m/Ù4«‘BÄë „}žz‹–ú”鼫…f&G* "ba^YÔØ}´Ó©9`©ŸmêAn)·› “½<_ Ñ®æ©ú#·Ømy“­X †ƒÜ oºÈ URרC{•½ÐÄÐ}³«ÙB)S)i ”9¥lÖ½9ìd£ñ–e0˜ÊKµËüÜ¢ÞVlP* EÅêx#ø»#ªâÝfƒ!Ïn7J'ƒÌl5jfDg 8ý¬7 7Û -S¼ÛLc$Ÿ;’ ¡–Ž>m¹³1$"gŸÛšÜY»ÝÌ0æR# À±a!qª+dƒaД¶ívÛsðYNŸ Þ—…мêkÞ¹­y*/)¨Úm €w7T6ûƒÜÌӜє2~Ô‘i&~¢*¾"½ArÈ9fÈå9@Ÿ (…|òðÅsQðïÚ¢›Šµ½®êÂ2Æ^ªêÚ×\íQ*¦;+³lêdLNÁäĽñí&©øÄSâu)ZPá®Ö^è*ÛÞ•XµxÃf«¸7£¶ä˜€Ðì«!ÕFêíðy#ÅZ·_U!£åD®}çæöÉ÷qÁ0äåÌcK¹fbN)[OÓÀsüìé ÏEDZE“”ÆÀÌs&b5J»:]Ù 09I.ŠÈÂ>·“j‰¡¶¢­ˆµîꨮöé]ú¾YgÈ¥h áDøp(š@Éi^_ÑX> zöއÂ\aiÝѺ¯OâfßÔëé{^ÿ—¢…;4ûZ‚@hK+,J„°§z_—Û²Ú䔜à¸DméñxzD¥Ñ<×s¼H•ÙHw´û<Þ+‚Ú’«àiš òkšŠUÄTŸj^[J¢‹¼@¾|@"Nl=ÇESä¬ý+’¦ >Ä $ô³orŒ&­lž ™TYŒtG»Û×Eη¨ÈÉÁŽb$̃–‘ã¢Rš")% Uín¬bèÉ™°é¥ÜgIü8ÛCö]`V“×=·Œ±×3v¡?ÔËz*›Ûu¦Îò©W¥r Â9d$\zþÊB¦1ª 7èmò»˜ø®æ}Ží޵½Ö•Ó•k®`Åy ?%ô;7¥ßìqøDÒJ)ê Lüé´A_hµ|ò'ó¡øY„ÉFºŠ¦à#J4ÙkOû>£!_p ‰ãf¢a$Ÿ+’Ór€KTÎÉPrz2r^]QI¥ÉÙdr ýÖﮫlovºM|DÖg#šß,K£Ïc†a S—îENQàB¬§®)\o0DêÍZ"nW“¯»Óå(«Þ×Ð;y>*ä†Òr=!v9ëØA@ä¹ ¯µ®‹#=A^nÔ¬ËåöùZª÷õNõ“L¹4ˆl‡7ÈqAw¥­ÄÑ™ëô,™S\ž+…HŸx­Mýôaa7ô¥h„¼î> ´Eæx dòÌ…)D¼î€@ªLFÀ_[ëéö¹e•ûöy9‚ èõvø+Ó¬\úš]]QÐZô2 4½¢>Owˆ‹ô49Jl•>N˜×–´RI›:»}M®ÖËï¹»\.Ï×R] õÆ9æ/§4F ÑWCg·¯©Ò^¹¯Á/Ìg¿—Ì)Ì—Co]-+ÒF³rƪƒuÕ-¾nOm­€Ð•¤’1eÝÞ@„ ù\¶’²†Þ¥};yüÇõµ66šU$$¦ó†ˆ×ÓáBþ†²›ËÕ»­coa9A*SH‰D<i­¹p­•užîn«º# Ò™7Q}f S¹EÑ®²íVG•«Ö尚ʼœHi´òë Vs…>’ ">Ÿ¯',Ÿmo’ÊÉ8ìéöµT×õÞÉFÁXµpí%;íU.—Ó^XÒΡ/6N†ð׺Ü>Ÿ{ßd#•ëõ4@°¡ÚíëöTWÅo[Ó¾_yPëfD$˜5àÈ´ùÙ‘Öê&_wg]µ‡ÃH>w$'•æül¶ÚÙâëö5U»‚*‹yΤIÔšu:“ÓÓËE+("q]a–…МR2(øèÝÆfyi8ôî€äž´…ž˜Xi±¨¤\{Y‰Ó«t¸ŠTDÔëpuƒ©¦¶4—î©+Ûµ§5¢.Ø[_zÙH"Y^y© ¢ŽÆÔ’ÝzZd÷•ØÂ5{siÖ9š9myE-tT—¹üJ‹~jÀ»Æ^_‘¯ 5—íÜYæîW˜mE×x1e°ÛÔŸ¶©ƒŸÞ9»¡/E rhö¸û4ùÓOªòµD¼î@jJë+òÕÑöÊ]eÕ~ini}I ¦P/®£²²9xyÂD*ÍF@Bo1ÈUÅY_nT°ûví,Ùã5æR“ržÏÚ“Z{…1›èkßSV4çJDQL\+’˜ ·³l_GëKkls»£ åõåFU¨yÏ®²º…±¼¾Ü0¿uQi¶dƒy¾yæVZ‹Ò_½«²½V[jÊ €ÒZ[cÑŠî=%;wÕeLq1#[âÕHi2gÀŒ'3ÕÔ—ê oeÉÎ]Õ~Bkµ¯:u®È/·½ûvíØ±£ÄÕ«Ì/¯)¾¬3'cœåùj®µr×®Ê^[°·©b^w ¥±·(/ÐÒ!o{ks«7Di *4Z¯®£³«9B¯*ÌÏ& ·ÎáòEfÝ›”!‡+w¹üJ«‘N £»3Ó,SMcy¾šuµ·¶vtqr½eoKMÞt¦&Âã,«öN6R2ÇVSª¥¹®ê²J7Qh–ˆbbÚ÷«j!zFD"f 8 ³«3Ì¢"›•Í~PÔ”38&!„ÐÜpÄ ºemÄ ZvBMæíuÑ‚Š|¶²9¢ß{°6/:5bPÑë0•xEíîÚRÊm«ôFµ{UÏôÙ·”t‰RµÅn•w8ö±"Ðê‚R«ÒëÜçÆ‡†Å‡!Ê jªL|kY¥—°hÃÁ1!„š ^ËBÝ©”G>-ú«ëØþé³I”ª¸þÀ¶šB­ÆhÖ¡ÞÉGåÚâbc.Ö ²ÚLŒ¹˜‘p½œ·Ù ³!„º•ð¾,„Њ ´¥»õÞ=Îf=3¹PàzZ«ë¼½Ó³N¥JM@P1ù7 €·Ý ³!„Â, !„‚,Ï^Ú¼}_ë¾ni|Æ~Ÿ³²£Wj¬ùUC²¶¼]þï¾FÆtûÍ0‹B¡[G "„îhJsy \_4ñ|.;zD¾/Š^Çzn»fB!„YB-Rc+ÏšÀ^ÆØ‹ÔÒhWåβv¢¸¶\+ÙÊê_ö_GšuûÍ0‹B¡[Ÿ1ˆn|Æ B!„º#Ýð}Ycç:è=¸0 J‘óØ3_]Ÿ1÷†O¾ùÖàÚ§ô÷¦ÌþúHoí÷›Ï¬ÞVþ·¯ÂýB!„ºÝÝØˆÁ±ó¯×ýèÀ[ i9ºÇ{L·F>ñêOþé§'GæüÈÀу `Q#„B!„–…º–58øZ@±í…ÒdzR¶nyó¥Ç`ƒ48Ö~ààÑ3<€dõ†­Ï>û¸"ÜôýOÄà•¾p¤è¶ïxùµÀ` €Z³©`‡Y}åå«á“‡^9è\H]£ßö­­ë3Fú^?pàµÀ`,U¡3®í;øÖ…µÏU}o} î¿[ild,%-åZ B!„ZŽnäZÖØù}1€5[ÉšìJ§d=þ½¿±}GŸ•G^:pôŒdSQés[².œ8Ø|è¬ÙZôX&d>VTúìƒpÒÝôj€_³í»ßýÖ†±3Gš¾ü ΪûÉáÀèƒÏ=·ã™l>pø'/:?6vîPó«AIÎ3;žÝþ·.H°/Ës¬s‡jÔtl`ªrø_ª~ñµócX2!„Bh¹»±kY| @BQi³½HmØñ×kS¨¬¬ŒÅ#«‡/„/ÄR6*iƒiŠ5ÙYic©Æïþõ–”U÷f¥e·Ÿ ~Àmœ¾š5>rt`mÁ³_U§(ÆŽÿð•ð1ÿù)`µ±à«WAŽ$pì''pÇÝr)÷~ãù§š^|± ¾»cCìhó‹‡S J·faú‹B!„0˺‘7§QiüàÀiá¶O±&&&âù•(Š‚ œ={V¯×cÉ „B¡ÛÚm1ônàͬ>xÚP°c 8xl$tø0;„B!„fY7kÕ&ë·Â/¿z´ýÅ©Š Û ž]Ÿ†û!„B!´Ý.#Ñè³>Ž¥qKdffÊåòääd̲Zj&Þ}ýÝݽO<\~_ò¼¬1 þ6ãÿí”ß#Ÿ/œ±¶Ž””ää’“‹Îý”ÿ–õAiÇþ¡ÿÊ÷§Ü{ÿ_ gkfY®lûÆŠ¨?íŸøI÷­‘Ùž‘ÄÝZ„ßÿy¥oJ¿ÕäþkÕT\âßøÓÿyûsåþÙ³ò›[mäúûüÅ;"H×<þÜÿý¿Ïª)èûo[þåÌÔ[ˆ¯ìóüx5ûçùÞ—ÿþïòæ™(«6lýÛüíòKEéªì'¾÷ƒ¾žßdî÷ÿñýÿó/ïdÿCç¿>1¹BáÿgïþÚ¸òÅñ¿+0#5ƒ—„Z“V“Õº5´jº+¤ŸbÜ/†»J\%>Z°\èu…ºB][‰."¥`P ¶×+\VR¸D]ƒì‚>×HoÝ%ÚhKhÝDÛÄLl™(ÎðÃï ŠŠõGQ߯Çç†dfòžÉ™óžsæÇ¡íéÛkZobøòÌu ¤$y$à»ï¾5jTPP¯¯/~³ï”Ùl–Ëå?g Ç:uÊáp<ýôÓ˜e!ô ]ì™ÿ9ñXø/}š:]OûóÄ]ô™óÂL€Þ&}ë¦Ç'•ÿ–GxþÄÿÿ]ÞÓ ð˜üwS²Ä^À]èüË_ÿµ¾zt‰ÆŸG!ô žëpeûòõ2O™n¬h%ˆŸ±F[ÙªôòL]~˜ÐulÛ²¤µ»¦éÿ(fiŽ^hÈœ~Ëš8Ó˜µúglam¬Œ°\—ž5M¿c6qlËÚ]ÜòG抹–²¤¤·vÉ>úƒ胫–•QaÓø­Î×Ë®U[ÚçævÊÀR¶6}W}Ø»³ääÎÎÎàà`âgEýœsœ‰DmmmC²6|. ¡¡ä´ûâñ'^0áôÙ† ý ›Ûæ•}÷_k_Qöė_®oºàè;c9¹êÏ_ÌÛñż¿ÌlºÀyŠXgAe뼟ÏûðëÌãý ¡»éÛã>üâ·ï5¿ù‰ËÐûÕñË>übá‡Í ËNT~wÿºcü^}‰‚Óç¿ëÁŽz@ðCˆƲãŒçWG}¥-0LÜ_W¥ß_¥R*•JeÔŠ÷1ŽŠW”¯T8úëÚ-Y‘ª·™+äƮ۴2LH¦Ì ã»ÚOs.§‹àÝÞ 4þÜ•™™±2 €‡-G» ØöŠF_.&(ÙüåÓœ‡÷YX"pùŽÒu ÄëÖl{e+|Í"@Icw|4¼)ù>Vôñû<Œ|}}‡ª»&fY !®¡©ëÙÿíI?ÿ%O÷T~uÉ³Ø ºÏÿx!xÒŽØçJ4þgL¶Jg°?æúÑÖ/¬x¾<’÷µéÔÁNèªüëw_<%©ZñB•f쓵è\t3Ì×O‹K_þ~çwÂü}ÃpÙNþÉÔ;_#«z=¸xÆc•Õ6{?'ô<†Ç!ôÀ Ƈ/¯ðdŽúýŽé‹§yjêì±íé•°´Ôh4Ö/ ÿ’¾Ë Ã‹Oï;lóÔµ÷7BÈâi{¥ BæÎ–¹°§?mt†R͹ŽmOˆT)•ª¨›9nZòRÒ°¹ažntôñƒ6Þôñàl·qÂiO % ä9ÛOs”T*$¯k¹q¶¶¸¼O·,‹R©T‘˲ÚX ò#d4r`–…ÐÐ9wnÿE¿%“|¼ž—S\sÇ·WZ{;g¼þ~/>Þm>Ý ¤ÖïŸ[;ÙxãÇNòê>q¡:;'æ!ˆ'„[ÿlâ£Üo_4‰Þxjôžb»Og@üäì'FÒ¸™Þ®šÓ7Þz¹´©è‹y;úÿý¥ãì|Ì •Ÿ\$ÄüIØã!ôÀ Äa‹Ä­eõ4ØöícBMé¯Ï“Ó3 †ü¹B Å3¦ó]6'€0ìÕ)§÷´õ×ÿÃM´ƒk;˜¾¢B¸2sx!aáa‹3uuÆÚÒåÂÆ +>°ÜªZÎ{u–mNæÊé$py¥©‚À±ÜàïãhŽk¯w„eêêêtë§´lYuëmaG@шµ$„†JßWŸ9¿»Ø·úý®ÜŨ<-táCúðÜß6o//àØËÝ_4}·çD—³¸ü]/„pØ àåß"H/à|¼¼Ï—õ1ð8ñò…ëÂà¾p½0ùBÀuãmIÑ“C÷üÒ}þ̪½®»ýt—Ímù­ûG/ïI“„ïÎËÃcŽz€ðÃb§lßuØ>mßa.lS qúJ¼¥fûû[h¸ÓN˜ Yȳ,„Ð5å<ó?ßz½öê”E|Oñ™ã_¯hêt=íÝ,ëê'½zzÏô|Ìe±e6J‰yv¦ß(`\ÿç“@Œ!ÇÀÅ3, }®Nöé;f=æï7jŒÿ/ \1¨Çx~>ü+×4ö1Ÿ»ÿxWG¿@¡IM[<Þ¶ïp{=±`«”OÀ¶lY½Ý±´´t±˜¶%KD»+ØÓbC¸ôý­áÐH„o½qd9º>kY–mA~i¬ìêxt-íœX&öüÎÔͯ –ŠÕI‚5¥;g÷×Úùb)á8î`g H`l­NþñMÖÀ.Ã‚Ä ?ZAF#öDhh8¿=Û4Æ?”õ;õädÿïûÇÀ¸Èìÿ¾¸sç›.ú„Ž÷âØžnoâéÇGô~Õ|öëÞ˸ËàçêÏîor¹¸sçþTv¢ÒÙ7è7wRð°mèìÎÙ‘·ÿ»/°“BèGM‹ qUn¯§„hùàœ4GÅ|€µ.;æâ\ @MY‡?Ø^O-XpCK‰ã`zVKxaáÕÚ?8·$,ÛrÈÁ°ŽúvµO °Žúƒ‡Z˜k«ÿ-Û×îâ]i ñä(î-ÖØXæØ®÷[Å æÞ¬†š²8 jú_[Vf㇅ßy¤Ø–… ÝNæRÏ5cây¦(?_Ÿ!ÚÀ¥£æ‹OþrÂ5SZùãw¦ò«KòÇÁ‡¢ü¿üfÙ!î ;êy…d>1F8¿ù䪢ýý¼Ÿ—?•<é_›ª¿©\øêܧÎÿý_1ïõu{ù„μ&ƒô<±øímùå­p¼ ù ñ³x#!ô¨#…ó·. Øå‹š±riàêµêHþxlñÊ7ç·¯~gÙfaé›22pQ8_)XvC1Gcåq×Éãñ³þÒ¿dü«º½X°i“-ksô¬ ã§Íß´õbpÛõÎÓÃdÔÕέ•‡O»\ÔŠ ž%Ä´|ÃŽÙšü¥éé+"¶89þ”ùë6ÅŠÀ±/N³¥Ýý²µ €ñ¯–èþ Y“¿4+}Ù¬-.àÎY³uéM¶…AyAF#Ác,‹7ÀÑð¸|ùr___ooooo/Çq,Ëž:u*44ôö×ÀqÜí$XgJ?<`Ê÷º› =]ÌhÙ’×Ëüîñ'u~Ùoþ·±O>‰G}8*^‰>¼Ô°s65tëdWEd‰‹NÎ9ܘCË"6´^¿”˜‘_»5äÁª&¸ç6½ö»¸F_º`°'!Ø–ÍšÕt¦áÝéÃõ!XËfMü~îö&ï¹ùþ *_‰«ÿƒáêL¨·sêÖï³MY"þ Œèbß²¸Ãóu;æ ~æi½y­-vëá}ù Ý¿maïw¬š››o1¯.cŒŸ•j™ù^mžâJK³6"±N’{¤Dy«Æ^®‰1kk³YmDž¼\#ê0j_K­cf¾g¸º¾ÃaN™•xôJ±-F&e§©%·W"±æ”ˆly¹>FtÏ£÷óg%¾²žààà›ýõö‡ÚǶ,4ÒuŸ¬9ÄÌ^óvèèvÛô[*þïlМq>'ô£fï4ÍîÏÓ©BC¦ì®’/Ö>9sü/õ¼9s ¾ìSfzØÝgêâE;õó©;z¿£~WYûš9!R¶R§çðžú=©þú`—#,3ìgO‘ää¦Ä†Ý§ùýÜùÁ,A ¢EgfžœŠ1ëÍÜÑ$[¤"ÃLP¬Í`‚¸*c²äVÛDí>  "X»)/15¹8ØpË7=êð¹,4Òõtuÿ¸A+7>þ©¦ c4ò°–Š·¢”JUÔ+˲Û¸«ÕÖm+¢T*•JµÌ3 Ûø–**«lÛ[+â¢Tª¸¬C-7¯ZöJ”J·íÀÚf-‹T©"#U‘¯¼UÑßSŸç§ÛWD©” E¤{þM`Ž•­zE¥REªTQ+6×;À±o™*j›{h`ÇÁª¨Í÷·¯?Û¸J•õþ[QÊÈôcŽ}qʸ}ž)Béƒqʸ}´{¿ß_åLd\ú¾aÇØqhó²H¥R©Tª^y«âÚÝ`mÓã"Uêý«ÇƳ0jŶFzèw‰n,k.^º46Ð3xuä^Ùö~úЏ¸W"UQ«*, ØÊ¢”ËÞÿ­eq¯DEª^I¿vÞ[å2ÍêzƽN÷Ô­ eÔª2÷aZ*ÞzÅ=›kä²Íõ4SÿÖ²íí§kVG¯¨°µlÖdc?YËæÈÈ·*ÊÒWĽ¥R½’~È%Àí•Û^Qj¶Ð‹7­œþóº…!s§ß¯Ùlïç¶0Èf–%Q -z“çZÂ4ë›…Êþ'ÏX«A¡TF(#4)åm,Û\’¡PF¨cRt€5e¨ãõv»þ íQ—C—õ‡•³#2š=…V‡!^£ï¸Y†&R$$Hè³Ý³5¥R©T(Õý[cÚÊS4J…B¡Ôh Öå Óœ§‰HÔÛY`̉j¥R©TDÄg;<Éb^|„B¡NÌ.ÏV«Ý{ÓaÊKTGDD(#4Z½õaë~‡YB÷ÿ¹ Ø]ð~²U¦oo/¬­ÛûѦ0[ýiwše+[›^/~SWWWgØÖúΪJÀnt„­ßQº·t)[³!«}ΦíÝËìÿ ž°ízkKË´MúºêjÃŽÅÎÖnoa8gccà›º:ã‘’Å®¿¤ÐÂSŸµ¶ ––ÖÕU×éßÖ§§ïs€pAæraMú. KÚ¼Ý1's¥Œº¯Á 8Ýh ßa¬Îœ>ø½NúàÚÕû‰å¥uuu†‹èV{>â}ÆÔo~ç0ÿM½Ñh4lšÞºýý²öø¶íǦl2ÔÕÕÕéÞÛji`[¶¯ÚÒ>c“¾®®N¿^\¿víÁ¡Î³õ±M‰  Ãb§9*;®Ä”;yØ5SiéGúÂŽíéûm×ZO--,ýh¯nÓôc[²ÓƒF;}íañz½ÑhÒ-åv­ÝrŒa-»Ò·Ûæî¬5º¥P“µýK…ef¾ÌãÏÉ×íX<þê™=èÙH€óÓzþò¥íÕ­Ôo/Ãù~n)ýãGFSÝŽØûüÄ £Ÿ’k¤–½¦O’e‘hB)wùnÕ¥äÙ#‹jµÆÝ1®âÔâ6»>£˜‰+¯­5Å€Ù1 ¿¶Hó^öLž8i÷Þ­˜E4èÝec®¶J¢gÜúâÂ4ää4Ë jÆ#E*KaN]°Í©¥dr•Ét¤HmÍÑVÛûKq»A›jRdçjDÐVœ¡‡„*£Ñx`5U—SÜÆÛV 5P«k«Ò$uÕŽ :j×ië„iUµµÆ= LAJ±õ®CÖaˆñzÊ+y%fY!t[è–ú“ãÃçÊHÌXæî,êh<Ø>~qlˆHéœWOlt¼és¦PÀ þôð@Òý3ÐN8ëOŽ_¼@F)_èj<ìn£ ¦Å†‹IR>¢óX«“m?ø)„x:™PÓ…óÚkZá‚õ+5ék×nwÌÙ´|8úñ ~¢ë sl+oÎÒ0!ÂðØi\}íWÓ¹“f)®R¾uŒ*l“AïîUDM ›BÐíô€½à ×±ý56š„üñÝõ³¬­¦Þøª»úFM]0¾}ÿ±¡M³lû*˜¥3(jÚÒ0¦b@û?|þ÷I1#„²ÞâÞðÄáR¨)áÓ‰öÃíì Ñæ‡/žN€pn¾A¿n:EJÿ¨«Ý+&@6ž³9ŸØnг‘bÊb÷æ‰Å<—É…B#=ÍŠ–Yu ŒYg‘jäž.ÅvsCí~bJ¤Š’ÐÆ;c9êF*%$%‹T ½ÝFJ4JOšÅ˜«­MèM“,Ön*.±J"ƒ€R©J &H‰"˜¢­.p™&4€ Šß]»[ã~‹n.L-$’ Rä”RUûž:‚•"ÆFs@›ÍLF@JÔ r€±T· ¢(£å´Ñd¿Ûˆ¨ssU×4OJã R‚ïíŸËB4œ‹¢ÿBB’BÑÀ2œü Nµ«ÿE?Ð]'®Î:F\yªÕýËØ\@ ú'`&|àœî0OÀ÷¼”Ç£Àå`\|'GLé)I y\£Ë@0|éôíI‡…k2‡g´ žà§fv9ÎY™ ®ñÌp͹ˆ÷ºš>èsYôñýÛw´0®“7g` @¶rç¦Ê]Û–m9ÉM|yé›oÆNqÑ.®õjKÿñiÀõòa[ÊjNžv&̪¹ÈÊÖåë§“@ð„žJ I yÐèâŠßiàƒŒÏãr2Ü•“H÷“Z¬íðÛ*9Xàœ'¹›¤Ä7=‰OcwùiéƒË¢ßiuð¦­ûÙ£ „îqJkdŽâ£öPÞ*–SœÎ]ÚB@õ_ÆgçX`€Pýƒf*dFE$ê-¬”3X„š ×'Y½wÉK{Ý? dQrc$ÐaÒå, àrÐD4° Í‘‚«E Àp¶Òu6D‰8ÿeÇ®m‡ÂÞ=œõW€å®$£î–Ÿ"Æ¿Zº÷âa=jL}ÖÚ2b]iél! Lã*uÖu‡B»>$€n©HOZ»yŠ~©GÌX¯ßro.”Ìñ²zÞr]ul\qqeŸ2ÓÀ»2)Ë8\@ñxãì?U\4Gð™4œÇ§—­TÆasñÄ\ÙªwŽ…ïÜ*£leQчïìl‚ð|]ˆ;WäaŠ…Ð’ÇÈ邺:Ê*¦Àì)aDgf8w&ÂuÐ¥ H ÍP,cuÝlµŠ—¨7›Á"ѤÝÐ’uuô‹¥¤)G«£²÷ÀšS"2HJ@°Öþ§»•AdnQ¨>^›Q•!§ìú”‹fwUL örÍ£@®Å³çí`8!)ð¤«ËˇltÂeöž\Þ:½();>ø>ôbŃ¡‘F ›1þôá}-,ÐõeîkŠ0d®ØV潂9VöVú>Û­×% ™;ñt…{]¬­¦².&\Ç+êi`m‡÷Ÿä‡Lã“sg@cY½€>^Yïš2g ¬åƒôýÂå™o®_Ö¾%ë=Œ‘!|p¶º‡ý°®9éž3túü)Κ2÷جe_ú[Ãò\G;9ž{NS¦eY+Ç1Z‚l+âÒݱˆ…< Äáaüã»<½éúmomÊàÒõeŸòç† H=…as„ÇûÇÀpÖïoe€m¯©wN “º¯×'÷¹ÇaŽï?Ά‰o¼åJMŸè:ü—OipÊŠ[¶­•fœ.B(¤XG}ÙÁÓÀº›ÆHàw«³‘¢LR7Ì¡‡)‹–;JŠ-Á1ò«ùB€\%´ê V€µ×é¬B•\D)…Žj£•`̺£4wó4KÍk(,lE†ÜÞ>04Ç“JXkuI‹‹cXV¨ %ͺ:;{y(5 IDATk-OŒÑ¥xR‰$"-CfÔæ™–qp„@"":LºjÇ2‚à`ªÍ`î`­u¥Í.Jd×ë›Y`­úŒ¡ÿ"@©-*¸/)`[ù¼) ζížüÔ Ãµwžl;ï-òÅaÜGqlæòÖµI³öóƆ,Ÿøi«{é¦uŽôtʼÀùofŠnYb‹m]çH_«Vq„0deþJ ,Œ“OåÛi'Ly5s©”[¿)6ksœj‹{›2ç Ø–mkk+Kç ËׇE¯Í:8}ëpõÇ¢¦-_>eíZÍ+B¡ 0<| q8áÜÌM¶¬ÍÑ*—;wY™)†z¶ |ù¢šôõa>_8=våš—×nX›T¶c¥ç0ÌYÞ¸9Zùðç¬ÏœN’°rëš-é+Ô»8àO‹]¿tèâê8\Ö:~î›×´ï Ãæˆ?(;ìá1>„·õ+Y¶ÓNÞ´•›‰lD`ìJx¥Õqšã‡­y7\pÃx‚¹›2ÛÓ7k”k9?mѦM!B¸|ƪw4ªí|aà‚åo¾Ú¾zûŠtqéšðÞÚÕê¨ù[ÿô“g£¿ñ=’i–TJ6p p%s’Dç¥Xµ‰Å,"EJ^´4Ñ ©1³Š)‰"Z%&nšªHT^a~À;·›dQŠdMiÊBe©P"I^=S»î ­bOFn‚V»P±‘#Ī”¼H´\IpÒ2 7横’â剩¡D™œgNÞ˜X Ù´Z™˜1OI ƒU…ÐñNvË:m„’ %ª´lÉÃug%FÃæ~ÍJ -ú]MöK=7&`A³ã–üFì;DŸˆëtî>túÐéî ½^Þ“ÄüÄÙÂçñ¾0B# }h™fW¸î£Å×é p¡ó¿þú¯õ]>ߟ‡Ç!„îeí¿1=n36}ü•Ûæ×ý9kõÎØÂÚXa;¸6.=kš~Çl8˜ž~Xœ¯ß1ÇÁÑ«·2§ã1 ò#{„Í¥ÅöP­bxR,»>>F¯*Ù#áÌúVºa< ŠYBC¤‡û¢sÔ³³xOº¿UcüþS4·‡àô~uÜ–ÿ©ë<<cÆ,š%^ô´8Ët®Ð_öÕ|u9â™^ÃÂ’E|>@÷QýWEþ“K~3úÛŸz,‰ Zà‡qG!B¸h«NÆ;·@À¶d©lëkw†îÊÌÀ¹2 Äa ·lkwAÛjƒÀØ)€pzØx®Ææ‚ €­,*®>|ÿø§6švÓW¾»nîÀî´Ì¡eê]Ó–ËÚ·´Û\Âùë— jvÕXl—86??VJb1ÈM†eJYø†YW$¦v,‘*-Á˜3«€’Ffä*F@›'fY Õ—éñ9bx»úâÅ'fŠyÏ?Aäè'ÝÃ$ØNþÉÔûÚ"ÙÜ'F9-ÿJ¨¶=ýÚ$…÷(è½h&'—¬àç¾û¿Jºùæ€ ÌÁÓÞáa¾œÍöÓïÂ&2„†…`öNãì–Šc?2Æbp† )–‰èë.ÊÜä ¤@6WêYJ?hãM_>H.|:/½¦ž™-`m‡ãgL¿þî9ÁµÖS%¥¥R’9¶9zuÖ៪$;YÏe–î\–ÍšøÕÛWêŠKÅÐ’¥Iúàø¢­!$ƒü yµMü A1†˜Uc¡¡â£ˆ|6?ŒÇÙÎæW~õ»÷šWT;š:ûzOg@üäì'FÒ¸™Þ®šÓ½î·Ìüåã<Â_0óñ®ƒßw€ÓFíç?û‰Ë·|B¡ŸªµIC®­Ó3ÇÞ_e›“¹r: @M_³>¬eƒZ¡TΊÞó×Ç2›Á-fš&Ƈ…IIR0E@L {~'í cÑ£ Û²ÊDë—Ï=õËç ÏyŽ9\òO•½…ñÂó/_è°.Üá™/”ë…ÉúÀÀËËŸàMÎöÞÿã”Ræ–® ² NÜò]!„nkÛ—¾âçâü±îñleIé­áŵQ@7n^¶z­ø† ™›iúšÆ¢V‚Ò3CAÆ #„YBCæ‚ëè÷ —º;òâ?1vQÿ Îu‚}ìI¿QcüQþÛk§(íøË¨ RÁ“Mtó¹¾'9gòh€>ÿ[¿ !„ÐmÕþ-«“*kJwÎîÏqìp;Î&w2 ˜6'„Hªigæ ®yä6fšFd„uGwÄ»¿þóš5kÖ¬YSðÏþª^÷÷úÌ5kÖ¬Y“ý¿g1šèѾ¾\¨üû‰Ì¦Î3=ž_5ýp–â=KŽš<lg:û€sväíÿî‹'PðóŸïw©òÓŽSü'BýàöÞ…Bè&Kc} lËöµ»xkvfÎ0ü8_,æ>\ïžÖši¯otŽÞðÀý 3MÓ-‡6:nkèÆƒ‡ŽÑd 2z$Ý][ÖÉÆ¿šêÐ}¶©•Á("ü'ß‚‚úSËL=Ýàå=é©{[#œà ¿ý¢-¿¼µ.ƒ7!Ÿ!~–¼q:\"4˜(ðnë]!„éTýŠˆµÇÝ?oÑ(¶/¼Ð9ÅV™¾Ö¶¾vçŒöÊç]® jņþòvZ¾aGÈšüåY[<ÓZâ°uï.ºá™¡Afšfû·¼c["¼õ~µ—mÙ"È›. 1ÈäÛÅqÜíÏÈ„†\WW———׬êŽf%îþúÏÚ]m£E£/ÙEKþ´|ªœ­ÉÞr¤ç oæõÛ5Úߌƒ®oÿwOÅ¡¶ó=ÔĨ%:?Ûúö»hÞ’IŸéÿïä% ‚æ-{ù)ŸA_ àü¬¢Tßd¿äí4ûe8t šµF;gt}ß ¯<Ôjgz¼©I//Z2çYÄúávßf%F!„îÎ4A¾ÿñ°ÙF%‰|}}1wêçÏJÌqÜ©S§{ì±§Ÿ~úf¯¹§³ó'1öÏNvM•1-Ÿ‡‰!ãÎ6žs§_ëKþÖÖ3iÞëªÑ—T6–î™ü§ä©>ÞÞ`¯ûxâ¼ÅK&©8Òv ²é…US탽>«ØÓd‡'B¢æL>ÿ±þHŒ€®–ŠÂ½­0iÞëqO´Øu¤t(mùT̳_×üߥ9Sù „B¡»õôÓO÷Ýwmmm½½½»K´~æüýý…BáìÌÝô÷âêó¦¿ío:gùÖ4zÖ&R½þÇY>ü§Æùvw‹÷¶¶ÿ–éöT¾GËæÍû•اۻéã]mΓç»_ìÅS˜¦£_ÐÌ ì"¦%çÀ9oè²5¶öÀèç„LûLœ=åã]­ŸèœŠiÖð§X-)¬°{û|v^ÇD !„Bè.yyy‰ÅbŒÃÈp7Y–︃F7~ÖØú™óL\D¨éÿÓ%Û‘Ê¿µÚ™žßE=AùøRÞ?ñâ.†_¾»áØ×Ÿ8ÐÍ0p©©P{eδó6¦{ªŸÃaN±ö^š•¼êEïÏö|øa &Z!„F œiƒŒÐ}βÀ["ÝÔtè€hQ'úëÜ­•ŸÛG¿÷§Å2Ÿoÿœ¹«m໮ˇ˜A_ìC€.'0 ëlÿÐ>å àýBÜëªqîy{S¦XéûlÍ®½—f½:ÎàWñ¯Cɇþë«~÷„B!„YÖòñ…núüˆB‚üàü•?tõôt·Öô7[@×Ù“g»nÒ¸1è‹aÊ‹áÄÉÏš=ùÜÇGÎy^ì+ ònkmk<ñâlÓTs¨Í;$î÷¿y àðñ7ûõ4ß+)ÿWñkdÝ>˜b!„B¡Gܨ»{›(4h4¸“¬«ü¦ÎûG_j­,,ýØ{öïçMòî9±·²éü « qÏÔ%‹^xÂÛÞX¹§ælÐ,QÿË}e‹_Ÿ7…²ØUøaåg]¢—ç„b“ɰçY¾>·X€B!„УçŽFr¿Oº»:»ÀÏÏ óŸ[ß®´‹¢þ´*‡¹yp$w„B!ô¹§#¹ß[]_—dïj½$úqQ²®ÆCv€'^˜Œ)B!„Bèañ¶eu}[³GßÐvÿ¤ç,ž7•ýÐF"lËB!„B‘ÛoËz{ "̲0ËB!„Bo–5 ƒ…B!„BC³,„B!„JÞôðúî»ï0!„Bèþ˜4ifYOt„B!„†öD!„B!̲B!„BèAug=ëëë1d莄……aB!„Ð#Û²B!„B³,„B!„zPÝYAìý…B!„B? Û²B!„B³,„B!„Â, !„B!„0ËB!„B!tg¼1!„B »ÞÞÞS§Nýðý½½a!&L˜àåå…YB!„m¬9eVâQ*zÏ” ²!cLŽHm®> ÝÝjíÆ¼9z3ÍO<3!##&˜k‰fa¡íÊKˆÐ÷j ÔàïgšË32ŠÚ\@d‘iÙZ¥hÀRŽ'(“²ÓÔ÷.w˜KÖ¥š%¹GJ”ý+díµyÚüêšã‰UÉÙ4W?y$Àjµ@PP¯¯/~³ï”Ùl–Ëå?g Ç:uêÔ©S‰äçïöD!„ÐCŽ xLÎÂ^YÐaÒ5ÄÏ©î–$kë„iUŸ45ý=OaÉO-nceiާ*ú¤ÉÃtÓÚ?0¦ŒäBZ]p¤©é“ò$ªZ»±¶€1ç¤sñ%Ÿ4™ ¹*KNJ± ÃüZ¶E* Üc¶­89Ǣ̭mj:R¤¦Ë‹ä‘ä~øa„ ˜b ß9NˆD¢~øaHÖ†YB!„v…’h(13ž_íGuÖ ¥„¸’$ª• …B¡P'˜{¹F¡)·÷×µ›3"”)&fÀ yÒø ¹)J  ‹T ‹ƒpÑ ÉãÝÞ©S²³ãƒ)R¢ÔHÁnqk)7*I%!¨`M’œ®Ó·±¤4©¨|ƒFrMýߢ«v©Ò¢ƒ)*(¾HŸ€AùAâg%®èçòõõªîš˜e!„BèaGUѳΓØz‡Ï4Wç½£Ñh4š˜ÔjÚ½0@-gªËÛXÖb0*tú‡)ïµøbrõî\€ ŽÏÎHVJ(R‘” uë?±K¬UŸ²0Ŭ*(I‘S@P×Ôø9úš|àú”@¬‰ww§SÄÅKh“™Æ ? AF˜e!„B=(HJ-§õú:‘Ð )ŽmÎIγÎÌ.×ëõúòlUÿ?”<^ÁÕ·´Õ #Ëu3^Ó6« ʳ#Dž?²öæfëÕ‹8‚ºyí¿­üøruyI¼§W$A„ÃìðdŒµ…È$7Yƒ@*!\†Å ?rAF˜e!„B=8(y|¨K—g¤4*ÉÕ¥Ms„H" Xk]‰ÙÅ1 @É¢•PWw”Òh$ׯËnX—Ѭ**ºRy r^‹Ï©µ³¬ÝXXl+•Ön4Ô63×Vÿ›óR‹yi»³#ŒqNÊ¢•PWXmesqA³D£–ÜìÃG+ÁÐÿÚÒ«@© ¾- òH 2p¾,ôhèî¤;»zz®9ù})?¿Ç}06!4RÒh• ®9Z5pö&*tuBЩ¡ 8&%-ÊòÆÆølQ¹6˜”F«È%:Ašò†Ùžì :³Ëf^òRiÿa\•!Y“›kݘ³ð¥uB¹&· YŒ¹xc¡\ª жӢ«s¸\ëþýÅuž%„ü½Ú"EpÚ{ Zm⬚Ȣ6äÆKÀ®™—cq¿,u֋¸=UÉAŠ´÷2´ñ/帀'L+H¸É¶0È#/Èh$xì¦"t]¾|¹¯¯¯·····—ã8–eO::ä Ö™Oþ\°×~¾×eTÝ]¾ÁqÉKž÷ÊÍõ}yèóäÏ/+?ÿ§ CsÃõuËÂú±Å &Þþ{z~\[`ùç #‘Nþ÷©Å²{—Xöl9ë|füÔÑÔ‰f/×,¬K¨-‰ †n¬)yÖFÉî“s7¦6~Öº–ë—¡ï)PùôG×o¸>µ÷ØM«~ÐÓùîmgþ}Z~à½ÿ²÷\Ô›Îð„㦎ƮÈ÷QÒÑŸj©¢Úìà¸JNÌ,:òpä Œ¹ô(/2’g,i`äÊ»ÏÔ%Ñ%4Ô½ßn,.±¤E*Èà”*GaŠu/ªÿµ…Åe¶ògO‘D³Áñ3ïSü~n ƒü`– Ñ¢33 O‘Ęõfîh’-R‘a&(Öf0A\•1Yr«m ¢vБ¬Ý”—˜š\l¸å›u˜e¡ŸeuuÜ ÍU>| ÕóM×PnÍi=óÙ˜'‹£Ný·ã“ ‚ˆ1ÎÏZbŽñ4O\üç¹nçxæ×“×Ïàñ ïô×Ö¬ÿu~Ãxûüúד×ÏàðcÇÖêSµg{À{ô¯¿X/wgjÝÿ<ôåÚ¯/žaG½ðëg2ÃüxÐó¥ùÛÍ&Æ £`̘èÙ“£o£éŒ£Ïn­þþ“ÎËÀŸ |óß…ÏîùGÕÛÆ<ñ« ÌWÎK§½Ç®šMýÃtö+šsŽág.–L=È.Ðýÿýv[«ËÙ@>®ùmà²_ôô–êÎ^(oþvös›žÞ®˜l[¹6µ°%rµ”»ZmÍÛ˜ghc(‰*);%BD²¦”ˆ*^É4˜-mvJ™–&7ëÍV+M©óŠRä°VCNF¡Ñ $O—‘LtC^bj]³ÃEÉã²s“åc.Ñf—4Ó$¤JÙ UŠìúø˜’ࢪ” ì†Ä˜bqA¹6˜º¡0%Gä4R³®%¸`·7C0~,ÿ?&tëZº®ÜÍèvžwM•ÿç å‹ù§?þVG÷Á¥ó›ÿöö _õbÕ|êËÿeø.êôÖÏ'Xõ«‹ÿít}û޳}ÐÝùã—&—'¿øWÍØoþqò“ àú׿ÖÖ÷jO?<½D1J·ÿÛÿ»t«½ë¹Xª?ùÕ„ÉåÉÓ,Výã÷é‡:9Ex÷ùW÷¬ÈçŠ~ά¿]Tkd% Ϫَ÷¿ét—¸SÖ¬ÏûâþcúßWM/”uô·ï¿éñUÿNüK/╘àáN±¬:m¾EUtÄhÐç*­Gî4ËZ’ª5ŠÓªŒFcm®²ec²Î $pŽ»2£¨ÜPžÀV¯Ë°¨sKô†’xF_`ì°§ä4Ës ÆÚÚÚ¢º05¯™ug¬¦† ´*£é“=ÑL©¶ ™Ƙ‘R åFc­Ñ&<ªÕêí Òd'‹ Úâ6¶£6'Ï®ÎN¹)I€£Áª*2ÕfË¿×ÙaHMÖIåF£±vw4]ð†ç#ÞgŒ1gc í€ÉdªÍ“·äoÔÛ|µÌyyfYn­Ñh4V¥I¬S°ÍyÉ9–Ð\ƒÑh4dˆ©©†Ž¡ÎûŽ–ZƒãU"‘2NîÐÕõïAp¶:F“[^®?P¤±çkõV‚k1R EåzCUžÜœ“Q×1h´×¥Ö‰3 &SSUWœ’cfضbm¾U]rÄd2U%@uF¾™¥”ÙÙ3y‚È‚ª¢˜«u”ÁÏF膣‚¤¢r½¡*-À˜_‚óýÜÖ7#(Eoj2^;î ?(¹FjÙkêp§.z‹DJžË_Jž=²¨ÖXkÜã*N-n°ë3Š™¸òÚZCQ ˜úk‹4ïeÏ䉓vïÝú‡YDƒÞÂ0æj«$zæ­nZ0 99Íò‚Z£ñH‘ÊR˜S×lsAj)™\e2)R[s´Õýå&k7hSMŠì\ÚŠ3ôPe4¬¦êrŠÛX`Û ´jõcmUš¤®ÚÁ@Gí:m0­ª¶Ö¸')H)¶Þý-3Cü‹×SfÜã‹fY ³gôÆþÇ3>ÞS=–ûüÌ7WÆÛxÜ_-ô‚ïÿ«Ç¹:za´`Óòç×úOèÿŒW÷7úàÇk¤æ@Œ›P¸ÍŠ–Yu ŒYg‘jäž.ÅvsCí~bJ¤Š’ÐÆ;c9êF*%$%‹T ½ÝFJ4JOšÅ˜«­MèM“,Ön*.±J"ƒ€R©J &H‰"˜¢­.p™&4€ Šß]»ÛóhÝ\˜ZH$¤È)2(¥ªö=u+EŒæ€6›™ "€”¨Ü÷Ku› :AA@€2ZNMö»X€:7WuÍ£#Ò¸‚”{|Eƃ •¾/ͧ.ö&o»’qxéO»ÇÀðMòÜß6o/¾7pl@÷gÿ°þ÷7=@@ß©^Ppº\àåßÿ­'F{àãíEx¾¬Àù —/œkŸ·ÕÓ›ë…g.\¾EÅ–ívÁcO^Y9é½Ý.÷ÏÞý7\¼€  —Ý%¸ä2úÎàèæ §û|/ï:Ã!ò\HHRÄ#,,ãp­0FYìy‘‹HÝÕx’G\½7Gz~vÿÇ2VP‚þÛ°D€XÚ4J ð¼”âQàr0Œ€æÈàþP”Ç™\ "U‚¿ØÐƸl9°œ²;WW¬Ë‹Ï±qâ™ Ú´x™‹f¸–jeNÿ‰Ã0dÙæ’j›ƒ~í¥êþ%<]KR†œ‚'ôTjHJÈ“‹ ®FšÇ#9;Ç í+''î'µXk]AžÎlg€£mÜMR⛞Ä•UÞí½ CüÂ-.ž|ÃÏ¥!tËP*X#sµ‡ ôVi´œâtîrÐÎЏRFœc¹Rp”€A32H£"õVÊ,B͆ëˎ޻䥽ž»L²¨ ¹1è0érŠ p9h"X†æHÁÕ"Ž`8[é:¢Džâ‹µÖååèì,Ap´ ŽæžgÏ P@KÓ.[áBe á¾8qÃÞu) ÌÞ“ KRëhÆí.J¾çM¬˜e!4D.ýøÑ7^¿mj´À“±œ67'|ú£k‚º/u¹z¼zzO÷åúúÛôÏ{ë?‚g—ίýà_@ŒñåÁ…3,ÀhèsýxÉE>>X3ʬ×þ3Uj¿ÛÞõÚ•Çvƒ຃w¹wi´óÐ7;ÂâÿNôÎþíŠîìòCgç®ÔLiÎS&¤IUå×ÖYóO®Š¤$<0Ó ÀuÐ@óX¸’m0.xBŠ W²ŒÕE(`ÛŠ³ÍAQ3íÅyµ3ó"†³þJ\W–óLÄI (BW>ÜÏ13Æ©%Ćòò Œ)9bãu‡B¤ˆÏPÄt4—¯KLÉ > ¢ˆÐ †޹P2æ#/©ª6¾?.öò˜˜’F®Î=)éIß)žûü`®œ*.š½Z×¹6ã%\ÖþŠc·2”„+IÞhVí.)¦¬%ê…uwv6‰UAU¨û®…)B%Ç¢Ù]D‚½\³ð(‚kñì9G;N@ <éêòò!0@™½'—·N/Jʾ/½X±Ç BCÃùãcø/ ®~§Æ?À?åøä\üQª¸³ÿ¼H¼$ôâ.uw{‘ÆŒèùòsÇ—½}Ø>;ö%þ%ý?:]ÜÙ3kÿ«Mçìô›ûÌ cÀêøäÇ>àè³ïVY?»åsYcƾÄgõæNz.Ö~z‰ÈŸxË;-ƒìRób1v4ß çb­©óBoßwwÅÞ>×ðDH@p¨ÐQ§of ÃXÒྦˆj‰µDçžg’1—¤x¦ùi"…Zì(w¯‹µtj¦Êýô­Ë\nìpß“ÓÛ ¹€”ªCÁTb´t˜uG™àHl[¡V/JzG›‘1Ó’³±¶c#C @·8X`Ûêªmî9Cåš`ººÄÝßmÓkS†å¹–¦9Ê=§)Ó¬/mæXf@Kµ<1FëŽ]€$Hèé27S`.öônì0æ¥dep;Œ¥ µr@ê)RFŠÌ%F÷6h£¾…ÖRm¤ÅÊ ÷õڦ׷±àòKª“ƒÔŒ4R¦®´¡ìµ1ñyÍ4C3D€TH°vc‰ÁžNË ÂOœCqrPn8˜!BR-w”[‚cŒ, W ­:ƒ•`íu:«P%QAJ¡£ÚèžxYw”ænžf©y …… ¢ÈÐÛ¼ÕÂÐO* `­Õ%-.ŽaY¡2”4ëê쬵<1F{”àI%’ˆ´ ™Q›gbXÆÁ‰ˆè0éªmË‚ƒ©6ƒ¹€µÖ•6»(id]ß_äé3´úŸß›=@©-*¸_ b[é|ü(8óÕ™îÀ§o’¡Óú•Óûiß!ª¡ëÈ?.ŒŸò‹k¦´ûoê±ßëZº~5|üÆò[¾Žÿwš}lêËÁ(bÌÓQŸÿ+©à<¬Ï ¿ž¸ê™o²ö­[ò\ÜïÄÎêoæöv{/)—‰FAç Ûãýbò¦_»ù¿?Û }àEþJ1ù¹[ÎRåýxÜï$Îêo\xl¼äéM³üè»ÕÛ¿a—âå'ŸÙÿíÂ/¾Oó‰ÊùÍ»å'žü§Ô.o.?öÕ¯Ÿ+{|8º$>;©%5ñ%=%”†jTâ†f÷ÒÜ v­V­d€ Ò¤½#¸e‰-‰.Ø`צF(YR¤Hy/%˜„Ê`ó:M¡ÕACp\vB  ÌÈ‹ÏÈŽQæ¸7ûŽ:€mÎK5¤”«’3” S6äÃÕ‹’'%§¦ÌÓˆ„R•JFÔ R¿“kݘ³Pɸs—ÕÙÃ1ŠS€*)Ú }-¢N ÊãSÒf¦®KI,)Né¿ú'¨²*6A¤ÎxGN’R–£MŒ(f@ ÏHº¸ÚëJš…ê4É5)·2RRXRg! ¥ôÉš «ƒ¦ä«s£%VBª„â×4-v+P¦å©7|Nun¶e]Îm±Ø§ËöqEEÝ· PâYš%¿™Üÿþ6g7ô€ïÄÐÅñs&ûbÜù2Ùße„Fˆ€ˆSÄ K%ñzS<g˜’` @Çõ £³s]R ‚”ê ÏÒ³ÁJÉ“…V®>šIRØ›iV#øàÁµ©=ååA$cÎ^˜œQZ2ð©J8›‘Ë./É€¶ìyKÞÈ[]µ»\Íó ÍÑ ƒŒA~HPŠ¼Ú¦aÞ… ˜C̈Š*¶e=Z|¼{η›º$y•vÕ,hÚSaùýª7Ó’C»šþÖÒ àlܳ÷ÄÄ%é999i‹Çµí­híèj©ÜÓDÍ[“óvúë!]·]oo€®¯+þ\Ä&§¿ýöÛkæx)ÙÓÒÝß8pbb\úÛo¿³fÞ8{S['!„ÐðÔÚJù5O1æ‚72¬êì9 ”4RJë‹ VØSqq3Ç17޾v‹™¦ ¡RD‚`!V)$žŸ¦ 2=Ú0ËzÔxžôâD_ D”75yªÈÀ‡šHA×¹Kü—“2×Ì›ì ~§ò{û%è>Ûjƒ‰!2>ø=;kÖÐmklƒ 9!ã|À/h–ÌÇÖhë_Ê—iû¸ñëï;»ýdšß/žê‡!G!4üX«>eaŠYUPâé%Rçf«]Å1³‰zA¤œG n˜~캙¦™fš&ú'`% ûçTÅ cƒ ßþƒîÞ£¯;ºmu{µíêoè:¾AÐÅôxSýï¢üùÞ=—˜žK'ÿœþ'o÷¯=—@Ätù<•´ôãš#>¬‰3]ø-3R3tIК´š¬°¶ ¶BZ1nZ”VM*…¾VX·P+¨…è"²\­kÁz„c…Â1Ê¥ ²Çˆ»wvh%MPV™Ø2±8Ã×ûG‚¢bµAðþ]{mqÈ<3Ü3™yî™ç qí¿¡ðý¸"AJa~pŸ¡\eI¹2ëlú|y¾äæ–l÷4Ó4 #„YºóÉ‚‚‰ðîgÛЄN£:¯ut8@û¦\(jôèçÞM]$¾eàBþ”ß.šò[€6Ãñ½Ÿåï÷H™ìˆ‘E!4ؘ–s—y»²µY+òx)û2‚û6mkU'½“'ÉÈMð&ôʬ|‹4£Ÿ~ÿ¥²AžàAZgšN“­µåÕŒw¨ôFÊkÕ¨´¤°¯+ƒŒ=ØbÝÐÑ~¥F‹Æ9@Û™£»íŽ.^"0Ô4µ@û™#Ç­£9Šü&CѯÍÐqéŸÅù>Ó—ŽïØúÅ×fçqcùNV„B¶¦¯Ž›>}úôWÖé8CækÓ§O—)´,°ú"ÅŠ¬:غ¢ “åØêW¦÷’ÆipõOˆ•¨ãfOŸþbL!•ðÉÚ~5³Í4, V4HSÒ‚\X“2s]žî^z1º‚ÌL¥Å cŽãð;=„ÚÛÛííí¤(œ•øpc¾,hÊOßK½›";BÇ™ÏS÷_ùú“ŽÐ^—~pòrEÈ诿øLYÏ8RÔX qÇóÅaˣŠ{??ØÐîDñ'͜ΔŸ"Ò±ÝðÅÅG›pä{Ì ÷Ò±½©loquÓ à@‰¦¾-÷ºc‹ÁA›•!„úÙp¦i ò kjj‘Hää„C4ÿl÷?›0ÇqçÏŸ···—H$˜e¡AOñ­ ÙÊq÷ݳ,„B˜`1È×uuuéõz†aººº0CB L˜0a@^ga¿,tWÿ¼)ç¬_|üoŸ„K_5:L qÁ®V!„BÊÞÞ~òäɇ‘ße¡{ÐÞT–_|¼™jâÌšjße!„B!̲H˜e!„B¡ ÇD!„B!̲B!„B³,„B!„Â, !„B!„fY!„B!„YB!„Ba–…B!„B³,„B!„z0hø:{ö,!„B ŽI“&a–…F¾§žz ƒ€B!„6Øb!„B!„’Ã…ô•žSížyÎnÜx ÊŒßÎN,cB!„Ðp7ªá%ëOîÇÏ`8ÐðÂq!„B ‚ îñ“Øb!„B!„fY!„B!„YB!„Ba–…B!„B˜e!„B!„Â, !„B!„0ËB!„B¡‘ÁC€B!„Ðëêê2™Lmmm]]]!áââ" ííí1ËB!„У=õapüq^X¾òw²w!Sµ<4ùÄøeÊ/Ã…¿¬XSÕÇë7–ž6sÀ›8sñš5á^SW¼~ý®ÍŽà{.K_9GHÞa}ëG7[€à{†¬J_ ì³”ãñÅKÓWÎ[×§OíIMÞqZ¼¡|gÕû‡™ŽlKÝVVoæx—¦¯^àNbGr.\¸`ggçáááää„ßìŸK«ÕúúúÞO Ç?Þd2=õÔS÷¿?Øb!„BÃAð,•%ìõtMq=AÜG‰†=ËS+…«ŠŽj4ª ~Û’wéX`j6%î°,ÈQi4G‹– «Ö&—™îTý¯YŸ¸Ã0\pºØ–˜ªJM>áÓx¶ªô©m©%°¸@­V—ç- ¿HÝ¥c…áâ–•[]»´ü§Q} øÍãe]À¶œ¨±¸ºQ@‰æø XúTéžzž_ˆøíË(÷€¹¶ftôéÞßx078á4mJèÆ37¶p”»»¼¥ s}EÀ;±iÉ   yKÖ6°äG ÈhäÀ, !„BÃ%×ï©¢ÀpàãæÙ[Ÿ'}ÒUª-s…@Šgøð-3€0`‘gËÆÞú@˜g¿UyÖp8õ½bá²ô½=XÝÇ ¥³CãwpóÓ—ùPwÛ1æÔ§‰ë !éË|Hà8òú« B@Çrý¯ÇÑ×Xe H/ª¨(ZãY·iù‹AùAF˜e¡¡ÕöCÜÝÌÿûîÄ+?¯igexã[ÜCö‡õôôàÑE!ôóñ¢< %•&Vw ’ s»Ñ+Û–ýæ›o¾ùftr™ÙºPà>ÍRV¬cÙÆ²SDà|·~êÿtÍDZKv‘ËvnXpctÒýƒýš£åEéž'£?®û©J9k8ðaDòéÀ-;?ð¡€àÝTãçè›ò[S€‰ ¢¬Íéü¢¢ÄæšÓf ò£d„Yòƒ÷ú§Ÿq?~ƽò¯ã<ÿuùýÌ«ø!„Ð#Ф¦…O£¨,©"ô)Ž­Û”¸Í^ðå—_~YÈë­`O‹òãªJëëËjˆÀ~F–£«Ö/I­ÜR~}ˆ;úÔáçhëÆÄQaâ–ªÓ-w¬ý늗ì!—쌲µŠ¾Ø06ÙnÖŒ¡ÞÌ÷ßáE ßMLXL ‹A~䂌0ËBÑEïIçwIËq¦™€ŽÊµ†×Óøòo_}õBÉ·Ö|ݦÃ-q/5¾ À*÷œ²p† <àrǶ*jÁñ­e™§®¯ Ìɹ^yàK>JÞhí¼ÃÔ••xnn|ÖTuøHssõ¿n[ò.ÞÊésúŒqNZ·Xf`˜S»>­/˜+¾Óãe½ŸÝ³ÇÀðö¿- òH 2p¾¬ƒ€QÀT¶d–Ù§ýÕmæØ®Ókõï§ü0³”/|ÃÓú£gÄð&ÎX¼a@ŸÚõÑŽin^Ôw;õ%•-ËÚPéZÛbÚÕv?¯•[§¦¾¼ÉÌñ=ç¯Þ%Óhù¦FëÇ’ƒ¥ãåýÞÝoå–ÅëS—ÌÞdž[ÈÊ­‹Å`¹}[ä‘d4ŒjxÉÃú“ûñ3Žá£í‡¸.»˜´â;`/¶e¿Ýrâå _(œHèfÚ€r¶öø…ûOþ*äyvÑ—’R@Ó6Šrî® ?·ûå'^ý륿¾ ú$é1Û ?m]¤³½m/Ñ3K%ÿÕöŸ°·;›0Ã:JçŸÛýÜ„EwÚóFø|Ræ öÀ~Ûöv§âo"^ƹ÷ÿñX‚Âeæ £¿äÚÔÓÓ3jÔ¨{Í,¹{éVÖq©ºà³ƒ œny¨ÐÙÎŒözëwá^Îv\ºÏcÌÕ^Ñ^é€1Ôc³¦‹ÞñÃîªß@þ:ïîã³v¶—ìÿnw øÎ²~ò$k3ï>Òr¤¥ãj€½Ã$1?nŽð7xý¿;Sñ›•‹U;çPW&[³WpŸ§õÆdCÔÖÂAù Þ¶0ȃ«ÚÚڻ̫˨cf¯ÐÍú¤u‚änÛ,Ü}PáA°FMVÜŠ„e÷êÎIŠ©·ì€ãŒXáŒX€Ë?–$]T¤=Vº}ÌÐÖ :ÛÛÁe\¿•G—‰TçÙöÚûCö vJà3IÏZs6â™g'þÉù1m—íñ{õ esYKÇUûÑ!s&%Lv„Îö#GšwŸå8{3Ö%á•§¦Ã•ôÓèÙ]øMí·Ôëï²:¹·ÙM™Í{Âú•ãüÿäs; @×·§ [NX®À(3&l¶8ì){0›–YüŸé.û¶'øé.ÕÂü0> ã˜òÛ\—Éù¿ÝôSkÁ[Q œ‡ï—ƒÕ§&ï8aáûÌuãnT[?^ÿqY£€'\š¾lŽdk> ÝHE05§MTÀÊ•ÓNï*=e0˜© 9øPÀoZ¿£ÊoZÔš5á^`>±í½äÊú oÚ¢ô ¿÷¡˜S{R7î©7„[àkVM–DïñÌ)úÀÓá÷¢w‰·¬ò¢/5ËC7 æ»*©÷Ú²sÚ¶ˆÒùEÖ×FôáhyÉ|eÁ0§>M]_Zo „~‹W¯^04ïèLG6¦n+k´ãg,NOﳬáðG©;jLð<ç¯Iÿ½íؤî¨2q<·Uéø ô|¢tÍžaxÁb½§Š°>ЧGË÷L soà IDAT” p¤d^Êf…Ì€Ñf%(”zxÌŠWqûÒ¼ÉVMÖêÌ =ÇO›µV.V›pô‹‘¦‡níá=IðI€¶ÿ¼“åØ.@8“šxñûÿýº  ÛPpaÑÛæFñ¦ÂÆeDwå¾w¹žíæ.vEN §ÿç‡fè1³@>ùØÓÀ–þ£˜˜÷Z[–’£ç¿Çw2&€nÃaSJÆU¸’·Ï¥îKº=ùH^ÜåïÏv9ÍŸ|Ók1þS®sÄÖWË=W.0OÌž²ï=ïœg»ÊªZÏC÷·Ug³[yx×{ßïžMrù!ýðeó—Ô°'ž²õljߢ CÕ¡ï²NšO^æ8 G?1Æ,†æ?hºæË½öýÎ;oƨ’C à`]?jÉ'óß›íó¸Ëeºö*\e·8z;qwYkX§X†’Ôm9åû¿Ü`¨j±¦Y†=É©UâUEª õ-/1\K)`Íö‚ý‹Ù²µëC6ìürÿÎ(¦tG `Øõᦺi”‡©¶‡›w$o³)Ì™kjÜVU¨æ‡[¾HÝQÇSµ>y,.¨¨8T¡\%¬JM=`á‚ô¥Â²Ô]:–>²q›)$}Ù ¦XÖ‡žÐRcÜ®>”îÓÿ³Núprb)±´ ¢¢Bµ3ŒÞ‘¸­n(Übª6~TÉ_¥T«Õª >õÛ>*5õ©¬þxÛ)Ï ªŠŠŠŠ¢UbCY lݶå›glPVTT(׈«’“Ó÷U}aðŒ  ¢¦™J*M×cÊ5WZæo((øR™³À´-µÔ@põUÔ✂/÷mð9µi}%Ýo´S“+Åk”jµ¦h1·+yÓ)†ÕíJÝf˜»³\­V-†²õÛN±T@zúL?dKÑöðñ7Îì~ÏFÌ'ªøK·|¹¿h¥ jÛœïç^î|©ÖTläo$Ý?ÊWî®Û¯iµ¦.JDîOY¯ïú¢¤,ã¼Üru¹zw¤%oE^€Q™–ÇD–—«r#AkêÓ^[$ÿ$cO¿{ÿÖßÏ&ª•Ök£=¤—DÌr½ûÍ…©Î̬õÍ.W«æér2+Z­Í^Q@&ìÓhŽæ†ê3‡Œ½Wq£J±B#ÍØ,AC^šb÷©ÕꃉTEf^ lC¶BE%T—ïK‘T2qÐZ¾ZQ!LÙW^®ÞËd'åéqÈZU1Óo%K«}°K̲FÇ—“ç¸0ÿ¥¦·–üÀOûù£âíˆI‚ÍëœNÇŸ9å»ÿ÷¥}Üα}¦¬°s‹Å‘mŠ´vþÛ®¯½èù¦ÿzÕxü¹± /tÿï’‹e¥XçÔœrîÕ—šÞÿÒñõ¬½¦ìgdŠÞóïžÿîÕç›ÞßÙ=cÁh ˆWãyLŽáåß4¾úü¹Œ‹UofŸ?[#jZX ¯±¬Ž.X³LP–šœ¼Í²aéP´ã#ÜüDÓæTi=/dq€Ha`Ô4®ªÌð€«éÜñøÙÒdžb Ø RZ[QžžÝH÷Ù ž°œ*-«1ЬÀïƒ?­™#` eUf·EÖêåµ`|cé©M³ Š¿Å3(jÚ⦸øFúœïi=)føñ›«tÖ O\èNåèC4V6²ýF›îC€pî•rµEºPT¾3JL€Ð/`;É— =’ö•ê ®Þ2c 9 µZÆC.u %¡±¾£;Ô ˆˆ•Rà*‹ð¥Õã/˜kèæÍA7µvpÎNò~°wdl18L9?ž{æñþ¿y3ŸÈýç×ÿò·Þ-î^pÓ'‹Ým_®Ña¥na øêqÅO¸Í·­ûä^Ûº]Çߦ çQ$8?¶ý×a·lý…±Y_}$ A:Œá:¯°wüVdïC {kóé®+lÏ™#ß¾qĶø*ÿa»ïü¥t|æÙ'ŸyºÍ—™Êªæ?”tåįüØsµUÿÆv[“l® &_í{{ëÈ9Þ¥_3fwJ[×>Ák€³w]kXg¼ˆÞ I yD#˘,м#:hWï‡8¾›µOÜ”„¸Þ«Õú–1X€ôæ„€œÙZæ ø¶òxXLŒ…oæÏÞ’”ÇÕX,ûl‹¯®Lš–x<ÁO%Î3ÙKbCËl'g!f<èjz¿ý²èÓ¥ÛvÖ1–fŽ é[ðZ¶sCÉ®â—ljæ&Î\¼jU”§…¶põɃ6õQ·X¬Ñ [·§¬¹Å;»ìz Kê—®ñ!€à m•’ò ÆÂ¿7Ò<Á™úŸÇbf¸ë''ÖžZ¬¡rÇÇ%§L,pæfî)ñÏF¢Oolâþµôá%Õ[xÓVß÷(¡| ¥¼å^¦¼cFRïáKqEÖë ‘!TïmÌU@pFŽ(Õ{Á" ßL…ôqJëΩtBùÚ[“,ŽÞÿÖ‹û­? ¼®Ý)€VMQfžJÇMDËÐ)¸q‰#XÎP°Ú‚…¢ÞQôY™EÕF– 8ÚÀyGs϶ç„@( €¥i‹!ç Y>a½9qcë¿òKò,YÆÞÍðÖŠ Ü£wç&x?èW¬˜e¡»W5®}rþDø„ÏbGÃÙ¶’¯GyÆãðçý\òÆþjŠ}s‰îÚ¬i£¯/47]ÈmùU‹õ·†½ 9Ê{¶çÆÉ7¿ÿêwޱ«–cÁ×ǰã}<,€¸Èr–õ„³Ý—_¾zóè…7b7Á]ðÄIºörw™™ ™< Ûåîk çcÁ#ëmÁ23g« nK‹ n®?²§~²(’óàÝÛ§‘£Í@xòÌÝû¾Ába€'¤x>Ñ›‚YkÄ„@ÀV·kã)·ù3M»>>ð§9CY%Xîz2j}ÓÂãSÄøEû/Ò£ÆT­OÞC¬.(˜#$©Yºþ–C!ô‹Zã@×§Æ'oôT.òˆk”[ýÌ’9½§Š·´èPTo\LÅÑÑ{N0>ÀYL BÒ–¾SÖ¯&ǘ{O Íü~Æåñ)Âb°­ ŒÉ`ቹ=Ë?:˜·s«`س0¢òçB¸¥ÈÏš+ò0ÅBè¡GùFúÒÙ”Þ=›­í #¢8-ÃY3®•æ()Aò`h€`½åN%JBƒxqJ­tyÊmo²nŒ~Ñç*©ÉTQ{URW`µIÁi$% X}ïLcŒQÏ „„`Þæ\eŒ"+x_š/eT&eêä»÷Ez`,”¿q ÁÕÙöœ£M ' ž{baá€Nè*ËØ»™·Z)ŠÏˆñ„V¬ØbÝ9ú­¬_ñ‹Ï‡ü¦1$ü /LzÁ£ÒOœ“Ž>¼)ýtÛØnèä¾ýÆðáaóUg¢ÿjƒSà$û3ÚÖóÐmnº~Ä|Ç7ìÕ’¿œM?ÙöŸNÛ?œüþÅ›BÚMò†KÕmÝÀ™[³J/üûöVJÎ.󯕜h=Ïëï ÷¶Ö°%ðš1¾¥ò@ tÕžë=Eè7WlØSlg’9µçÃÔ†»—%ô›;±¥ØZk(+iäŠIËéâ*XCei3ßoŸt›;jöT™èÓ%UÏO XÝŽÔRáÒôUkÖ4nZ„ÂÈ>˜ëM,°ºÊ²f뜡>ó=Íe{jhVw õÃ!é×ÃÑfŽgÓ”©+ÝSÏqLŸ7A†â÷¢S­±ˆÝ„< ÄüÓ»l­éª?Ü8Á¥«öœàÏ è“z B„§÷TY·a®*­g€m,«2O p·Þ¯›бÀœ.=͹ˆoäJùÌw³T~q‚Ó‘õÑK>®§³…¸ )ÖTµçp °ÖWc$pŒ…»ÛÙH ÔŒXá`† ‹J‡W„¯)?Oçé{#_põ ê‹Tz€5Vé…A¾"ÊC&4RëYF[tŒæîœf…òªsrªEóü]ïmšã¹K\Xý¡ü: ǰ¬PæOj‹*Œ¬¾0.RqŒà¹K$Á)i^jE–†aG$" UStÈÀ± €ÀÛ›jPi[X}EA­€rŸçaT*kY`õÊ4…Rß7'W™"7{PR,ÀwYèÞž˜L›õ×áÚТàRÃ¥ŽÉOÞö®­¹áŠƒhÀ&&¶›0Ímûcî CÌñnãB…̲h2ÐÝïçŸ ˜w¤ùÃÏ/q]=àÌ ›-äß©lþZÙUç—h:;ÀÞaÒ“¿ú£\8Á@,þãtÖÂúlèÂw†xŠõý͵ko"çè5ïW(ë&x÷´Ö°%ŽJ_ZŸ?»”7ÞÍoAàÄõÖ¥V›RSåAà¹Í_•.¾‡¿Y¶uµ)594ˆ „~˶,ó"€ñ^§SßÜah1ƒç¢ôÅî$@Àš Që7Fm²n`Cú\[÷qr™`YÁ\€`隀ˆäõ‡}¶U{,jÚÒ¥žÉÉò7…B[` 'Q €pnúÃúAkî²,]<õlAàÒ°²ÔØÐJ>_èµlåÌäµÉñ{¶/³†Å5#dAÏ-dMºI²­+7¥¾º‹þ´¨5‹.®¦Ê=õã箺éýž0 D¼cO¥ÉÄx?^iâ›ë -fÞ´eÂÄÂ-vžYojáø+ÿ(0ÝöwÎÝÞ˜ºQ.Kæ`ü´° ü„péŒåɃ¶ñ…n –®ZÔ˜¸í½TqÁÊ@?^rbèÂù[ÿð“g£ïQ=’i–»ÜŸ¬æä^$ÀõÌI‘•¤WÄç±@ФIY§ET¯ˆœGI¤Ab⎩Š$HÎËÙâúѽ&Y”4A^ô†¬@(ñLHœ¥Xý¾Bº7ms¬Bñ†tGˆƒ’²æ‰ îz‚“’¦zc]fоø߸ÁÁ¡D–­MX—-ÙŸ(‹K{MF ½ƒäR¡À5ø£ŒºÕŠ`@J‚R2†×ƒ8+1zÈ<€Y‰¡­N¹«ø¤ñZçí ˜Çœè·~+v¸#„î}d‰|W`Ñ—á7õŸ2ìùùó£K‹l\¿£ìt ¼‰3£Ö¬¹uP;ë`ùÇ›-@ð=CV¥¯ [³<8ñÄÛÈÄEE_qÃY ò#ïî³?H­åqoZ¸/;xh/clmÚk AîÏŸ g%Fh°9{É—{É1!4B«ÿÅÉÕ¸¥m ru{âc·MS­é3ž'S³>q‡9*§<Ê‹0NŽN]?M¹}ÁX`âJå— pz1 2F[gôWH‡&Å2*c"•Aù»#%œVYͺ¯D1ËB!„ÐpF¸-Jßà $H¯€À‰»* ð‚ºõ¡±†5å;€?wYºÛ\/ Ä Ü6}Üh9„…븤ýÎ4ݧÅsdIè®iK½+ë áü5Ke»Êt“EµeK”;‰AÆ › K“ôÆûZADV®ï½Ç¥ÄªWDÎΠÜç¥m–Ž€f˜e!„B?ƒ`ÎNõœÛ–Š£¾TGap†èøÌ °Õ Gö0»…û@–¾ÁâF€{À\wÛgéÓ‡ <Ÿ¥ãZL g*I|sSc ÇÏ_¶&Êç–ŠÁÕWQùî$sjcDâúJ¿}{U’À5Wqé;×€n£<&qÛ²¢¼1Ô­—Çï8¶ÕÄ c‡ JšU~rˆwÁ#2[9¢¢Šc "„BhØcªÞ“Jƒ#ÖžòZ¶f¾urpw¿Ÿ›š1§>M\oI_æCn~!K·«ÔjÕ†@ó®Ää~F©¼ËLÓÄø€w€x ˆ‰~bÛÏ`¦-d 2z´a–…B¡a Ø®ÑUæE±Û–$¾½*Ï|‘|:pËάoS„sV¥¯Zà# (¯°eD}Y#sËJ·Ì4m¹mÌ%¢wV‚Ò6CAÆ #„YzØÜûƒ!„°†ªÃG¬§‘B¯¨8}ëûVWœ¸d¹¬`çñh]]}ýcÖªý­uwëLÓp癦1Èd„0ËB!„ЈCWn[›ºë ¬éDIe¼`t5Uu4°uÛ’wñVîLŸ#ì›6|‘ŸXRÇSWº£ f,ð¼­“O?3MÓuGטîmÇj9Ec1Èè‘„£_ „Bh#}Væ,ÛôQrè‚ï¸úOabÖP’šlXS¾sFcIe‹Å²6TºÖ¶1m‹j»ßÊ-KׯO ÞaàMœ¹tËšÛ';ëg¦iÖTºé#Ú¿»MÎ4îÙ´I°%ÀG@b1È÷Šã¸{Ÿ‘ ¸ööv{{û) g%FÃûJ„A@!ô@àLÓäÁ‡Á`gg'‰œœœ0?×ýÏJÌqÜùóçGõÔSOÝé38+1B!„BÃÉSO=uáÂ…†††®®.ŒÆ/K´î³¡p`fÑÆ, !„B¡¡goo/‹1#è&E‚ƒçT»g§Úá@CN$Ýû‡±Å B!„4÷ÞbpÔ¥K—ºººº»»{zzzzznüÔFÊzv5jÔ¨QvvvöööÖFÕÓÓÓÙÙim ëïïYB!„ÖY–ƒ£££½½½µŒY„,ËúÿvvvvvvÐÝÝÁA!„B#‰ƒƒƒÃí)fYèeY}-ë[,k¢…çB!„YBƒÉšbYaŠ…B!„FT–e}¥€@C˜naB!„ÐH˲0 h¨à{T„B!4òØaB!„B³,„B!„Â, !„B!„4|]¸pƒ€B!„ǤI“0ËBx¢#„B!4°Å B!„Ba–…B!„B˜e!„B!„Уûe mMÿw°¬¦¾ùJ'€%ò˜þêÂ)Îwüx»áŸuSŸÒq€÷âŸ[3N_¹j&B!„B˜e ç«î‹ ÆÎ~kù»“Ç9u^:S}pï®Í‹W.šâÔï †£_ýÍÓcÀ³,ç©¿KñrpÆ#‚B!„fYÃYÇÅ£ÿ/Å¿"vp7å·Ñ ü“—(0]¼÷àׯvjrPtôÌq—Êr ê™Î†M 1+‰ŒÇ‹‹+š Ä³åoýv²@ÇÅãeMíNÔ8™“ e A)˧:w\úçþ½_Õ™;©É³ÃÃgŠ:Î|ž¾Ÿò5ožøn¼ÇÁM¶wYí†Û‹í¸T]¼÷Hƒ¹:Ái¢xLÈd'<~!„B³,ô°aÎ6\¡ž›.êû^ÊqÜTÿqí_×Qo¥dz9·7oúlo窙!Ñ!u›NÎ^¹üyçö3ùŸ—1AËSgŽsl«Ëß”¿wœâ]/æHÁÁKžñ鯋áRõçÙ';Ç#t\:òùþ&Ïß)–‹:.ÿlëçE©á:¯4\ ‰ÏŒáCÛ?mÛo?S|{±†ƒÏNü]êr±#´Õ)KN6´MžŠ/¾B!„Ð#G¿:ÚÍ0zœSÿÿœ¦¾›ªxËËœ&>'r`ŒLGß• 5 àâ7Μ=f{9j m††+.SýÅŽŽã¦yŒ¶fsuuW\fÎ;€ã¸é3E×¾¾Ôà òó¼©'VÿÅ‚åÄ4¯9s±­ÃÙKþn8¦X!„B葃ﲆG§qð/c{@‰V[ÓÑýGêŒL'8@çåN˜~Óo;¯1ך?Oýƒƒ@gç51íL8¸Ø¿#Åwr¸ÐÑ~å8¹ô6ñsíäÐÁ\pp¢niø×±ŽSÆ/>^vôàg/wŽõ˜) ™ŒyB!„Â, =t¨É^.û«ÿÖ~£—SÇÅãÅîeÜ[Pí¸pùÊçùŽÐ~fGúÞ[1EýÜ»©‹Ä}3´¶jGè¼Òi+ªÝÜÞ ŽN.£¡éJ;€“5‘jïtœ8àZgN¿ÅÊoMù-@›áøÞÏò÷{¤ÆLvÄ#ˆB!„0ËBÇq³N?¹ëóÏÂÃæx>éÔy©é¨rïÑ+Sã ƒ¹Öé(QŽí†ê£ÆÎN'[òÔÙÎ\pùM†½G¾6G?Ïwì¸ôÏýeÆçÂ_ŸK9ž@"‹ÏH •X×oÕæ¯NÊÑJ6Í—Q½˜±ÚvýÏ:óÉÂYÖÚÎìŽ]˜ø—Ëä‘äžž“'O²,‹ßé_½û/äÇ<}úô€ìŽ1øÈ¾ûúó?¤Q×íÍ5ÿjç%§&!„†)TFTçk™ÞW$ÇŠô2 aûg«&;.T&•J¥Òиl-`,”Kå…ÆÞGεiÁ²$ Ó§@ž{ÌÚÍI2 àê5O&`t&@”²ym¤@Šdó¼ º–¾S“ AhRFFŒ7@Jdrw0ê,Àê 5$!(oy¼/]¡l`H÷øÜµòëû ÀêŠY‚R"¼)Ê#&W™ìŠAùA‚ ðû<„œœœª¹&fY*gÏ…¯y\.ÎLIIIÏož´ð-?>!„Ð0Eƒ"Ú"[`T+M¾¾¶Fa¬v‹¢b 5ÍÑÝòÖE^+’EJLÊ ½­®­¬idïçÀUìm]Àšª5Œ{;”D,°­ZeA-åßÛí6”‡,TfkFתUé)_©è='ôØV¡Dî­3q”‡‡ˆ¼¥ º¶–PÕ™1¡2™,8&M¥g1È@ÑÈYÖ#Ë‘ÿ|øò?fffffþqù¢çÇá@€!„†/J"‹Ôæ«[@¯T2þ^½õyÒ7£¼ü“P_£§D³¢½MJ•¾·þ?+«ߪ<«W)âŠDIòÞžGlCVèô_‰ËaåI7% ýb´Ùï§éC3’|Ià8È5}B@ÀûÇs4ÇéÔFYÆ>µzßZïÚÌ„œƒ<òƒŒ0ËB!„zxd1Þú¢ #Û ¬àdî7êóLí¡¬÷#år¹\¹âm]è*ðe6°¬N¥%‚äîýÔÿ[5YïÄ䑉»7ËoŒî@z$©Nþýè¾ ïê„Ȭڟª”³zeÒIÚ ì|k¦@P7Õø9ú¦|àÖ”@,±6§“FÇHh–Æ ? AF˜e!„B=,HÊ7—V*+ŠÔ„¼ÏHqlmfB–~VF¡R©Tfñz+ؾ1Rö˜²®NUMõ3²\«:íEmPvaÆõ!îZµ*•¶Õº1‰,:BbRkMw¬ý7¾“O&æÇØZÅ@âA˜´&[Àèëh—ä/jîÂbb5rÝ IDATX ò#d„YB!„ÐÃòñ·e©)yäÆRަ9B$¬¾"_kᆠ¼"dP‘uŒ’Ë%·–eT­N« Êͽ^yàŠÖ%eZ;ï0µ‡”zž»»€5ªUåµÌÍÕÿÚ¬y¼”ÝÁ}Æ8'½"dP‘sHÏ0Ú¼ìZ‰‰U(âfgÒœÀkáÚÍ10*#_ËÔY?¶bötaôÞ} Ò”ObÓ1/fZ€ç>/%;VÌíÛ ¼ £‘g%FCf°f%îøÏß?ÏÞog§[2ªŽö6'ïè„·~ã<`Ûên®kþôæš»`Œó˜Ù/L\2•Lj¢Íuu‘ÿäÿ?!aûaló¾¯7>>¥pÇ|ýIÆBù±åùÁÔÀ•Éjf¯“ìî;9çPcÊcf¯®»u)áÿÉÑléÃUM°ÎmÊÝ´Ì=å`¡¼¿IMÙÚŒ×èŒò,_r(ö3²Þ´éëû#(’GªÊoÌlІëBY!ß—êzŸ§KÆ }L¶\4(§æàm ƒ<رºû¼ºŒ:fö ݬOʳ¤×'VÖ*‚ã*nškù'ZEy«Îò-TFŠZÕŠwVT0³>QÝ(ïn—mû¼>S=ßõ48÷ðO\= ÑÜrð]é:ôª¯˜W^ôó«âŒ½êÿ<óÚòF«»ùÄ7±Ç{f>ý¿^Î|`¿9sqã_¾MîòÊñÈ¹ÈøS¦>mLJîf<¸è*8ÿdpo¨ rË3¼âg°Ä¬Ü£C8Ý?Ò;iŸŠ£HÐã)72r¬òœ<“,CvßS$Ѭw̬Aª‘æ¶0Èç” ꊴŒÔ–S1Z¥–ƒŸõÀ•”¦©¼ €5¨4½O ¹Û6 wTx¬Q“·"!Ï[uוuØ/ ø,«½øãú}]åÈ—PLûmèÚ•5מ}eʇSùä³^“¶„‹Cùv\³(KkßÈ>õZö©7 šÊén€Îì;ùUsjÞÉ7Jà,çš“óN½–}êµOkÿ¨µpwØŽùÌ™ÈÂÿ´XÿqõÊö½ÿzmë?_þô›íç:À\W÷Êë·Ÿ~%Oÿ]gwË™³ñŸž|eëÉW²ÿ•zÂÂ@gÛŸ>=ZÕ³õTâ×-ñ[Oo¿Ôm+úRsäÖºò«#ਲ਼ …I¡R©,T“V¡¿J£:+.T&“Éd¡1åFXM’,4-?+).2T&‹L+¯Ue$ÄÈCe²È,ëœ0¬^•,“Ë‚åI…½-õ  «³âBeÒéÓƒ­óo£ÍOËd²`™,4.Cm£2FšeØ¨Š“…f n[V“ MËN •+´Fe¤4Ri›"´U)T¶Z÷;;Á˜àH…rÈÆ16–gÄK¥R©T&O*¼y7X½J,³½„ìÇÆ¶04.KÓ:á¬Íz#4MkÝ5N¯TDˤӥr…JϰµÁÁIùir™,NÍô7I+€>_.‹ËÏŠ‘ÉÞþtM°4®¼w¯u‚48‘Ä«D–\úZ&±ùÆ ¿+‘4Ôw°f³ÌmaÎ,K"ꔽó;3µÊZ¡L|˵ÒzDz^QØÚü¸`©,842©HÇYï i¡1J£Qù¾â˜ÅT·ð÷Ëæ§õåØªŠ‘Ùîýeh"il¬„®Öm[“Éd2©,´wkLCa’\&•Je¶+ãuLm–<8NidÑf[ïÆÒà˜ u«íš,•‡Æef„†Z÷¦U“, –+”Ãn23̲Üeów]-|ú¦×bü ã‚MÐýÍÑÆ?¸nYês0á7é,[•š;í‡îÿœkŸî³oþãÄÕK©¥­D€çÁŸ}ác¯T5n5vßu£WÎ]}úïƒË}s½ºöuþ›N  Ãü÷‚×_b%Ow^ÙøÕ÷ü9Ïýeùô}ó©oŽŸSýv<èüúücé >[¦ ÞuµetÝÍg®˜Eã_3ü†¾H±E”{T­Rn–陬i–>…B-NÙ§V«Ë7ËêÖ%é€ÎTm”¥åª cÙC«Ót¡›ó•ªüF™­nÐç%eÖúnV©ËËËs#霶!…9ZS푲O­ùûÞ¦@‘]Ë£NKʇØBµº\­JS(”FÉ3D*E^ÛZž™e ÍHòÜ6f$¦j}P®¦<÷ÿg­ª J"¾P­V—³ßÿéQ“F¹®BrP£Ñ”gùÖmY×›°Ú¬,­×ærµZ­Þ—"Ñ«4­ÀÖf%dêü7«Ôjµ*M¬^±BÕ:¨ßy’–ç–«5ÉðÐd¦U´$ÐÚjï¬ru®Œêo’V‚‹¶B¤RÿÏïß'¨-ªî­`(kAr ö´o†G’RsR}ó¸ ƒ<,P¾rwÝ~ë“%¦V©“Èý)ÂvûKÊ2ÎË-W—«wGZòVä5•iyLtay¹*7´¦>ÏpEòO2fñÄñ»÷oýýl¢Z©³¦IÚCzIĬ»e™Luff­ov¹Z}47H—“YÑ lmöŠ2aŸFs47TŸ©8Ô{!g*Å 4c³\ yiJˆÝ§V«&R™y ,° Ù •xP]¾/ERqÈÄ@kùjE…0e_y¹zo,“”§ÿÅ!kUÅL¿•,íßì0ËBh€j\×:®’޼~ávþX~®ëÙc':€Ã³¾ãÆ·ýðÏ«Žãƽø¸XÎ_ú†ä¿ý4 „ÀõÍ ]ÿü×ÜÝ6ê8á‰Ù;»§Ÿsð#ó¯¬÷5*x‚#ÀhÁ†¥¿Yãæ<¡ËÓöß]µenãŸsèŽS_ ¸ïþóM'\ûû™®©>¿â ÿcÑZ«6ƒB½Ipõ˜em,jÔ¨tˆ©+ó¢ÝM*€àù†zQ ˆo;iýhÚFÚ Œ”{S@J‚"Ü™ê ëã4Â7:HBAr1­­¥Yª¤1ÖÞ”oD¥SÕ2"ùÚ$×CŠ+¶C7ÇE;>Â].»sÓF«¬¥Bce" EAѾì1Õƒ~bÈ‹{±Ï­Nš¤e’m.WY[Q^2/‚ÖÑ}ö‚’ŒVyH£oe]¥IYiÁ®¬^uŒv¶Vß(ß¹P§Ôjš%–GøRàê/—:µµ~’y³¬©R¿“´ZW ’yS ‘GuEnj֊R­@.Ç®ö¡{J³"¼ôEÕ­Œ¶Hç.÷¥¬×£¶Â$‰°ö˜-”Ðê:#£;fΓIHÊkžLØïã6R"—ÙÒ,F{H/‘ûß1Ébš¼|½dž·+P²Ü£û’¼IR"õ¦h½LêjÆKîï @zÄì.ßmëÚF׿¬È!ⳓ|)Ò#i_ù'¡®àê-1šZ«e<äRWRk}&Èè5"b¥¸Ê"|iµÆøK#æºysÐM]GÜ£³“ðûe!4@ÙÑŽcØŽ+l¿ßª®+,ðÆô>Ô yÐÙÂvO;Þ{ë2Ë]?^ŽÏnµ^þ8è!&tÜu£¼Ç‰ev›»ºÀñF²×ñõ?ôÿóÝæN  û|ÙÖÅ3ÊVÂá‹ößí?ß9Õ™.ï¤>˜0® Ã!ê )â:–1YÀ)˳}È ܭÕxòÆ"AÚ~¶þ‡eô ½a W°´Åz“l¥xXL # 9Ò»7K%)!ÓX DA±¾Yq¢”Œ¡©DßøúͲh†£‹Þ VÙÎ=ÎBø?èY9ûí—ÕªUnÉS50ÇÎë[ðNÚ½¹(¯(+&ÓÀ‰gÅ*Rb¼,4ÃÕ­ •eöQ˜,ƒÖʇ „½qåñHÎÈq@7¢ÍÔÊÊQÖ¶²À™hèíKMÛi" ŠtÏ)Tå¡z¥N$O‘ á³ UÌëê,<ßµ÷=JBèA_~¼å^¦¼cFRïáKqEÖë ‘!qýŽEpFŽæú]€¤„ô›©ò "N©cÝ9•N(_{ë5€£÷¿õâ~ëϯ…k7GJ US”™§Ò1@€ÅDÀ24GöÞ¤H€3¬6€`¡ÈvudõY™EÕF– 8ÚÀyGs϶ç„@( €¥i‹!ç Y>a½9qÃüÂû¨«,cïfxkE îÑ»sø+V̲ KÞXþ³ög‹Î´Ïî3Ö…¹Q¿ÝÄ_.µw!¡éj—íí1Ûa‡ñ¤Ý-ù’£³K^ìĉ?g£–«]½Ï–:,`wK™–3M©ÿõáÛÞ³·ƒkW’wœëïÀ“»JÔþðÍ„ï¹ âgGŒÛ œÑö&eô4gËz÷ø}…7×YíOERhi€àZi ½y,\϶ +¢ÿµªléµEâ˜ë'†ÅÂÞ¨Ùôžµ™ YÆØÂÂH lmZp\?¹«ë¬ï켊QmPž2”}í]ƒ²÷ù[Ÿ:P˜b!ôУ|#}éìŠ JïáMíVÆQœ–ᬙ×Js”” yô^­XFo¹S‰’Ð ^œR«DžrÛUàÆè}.ÛšLE•±W%uV›œ@R‚Õ÷ö>fŒzV  ó6çú+cYÁûÒ|)£2)S'ß½/Òƒc¡üc@®Î¶çmb8!)ðÜ ltBWYÆÞͼÕJQ|Æ ´bŃ Ñ.¿pj>z&UûC˵nèd¿©kJüsëUg’çðXð¯í¿;ÑÚÜ ßh/µðõüã7­Í›àúìUºè\@§EUÚPtý²:ηüýèn>Ózþ1ê¹›»Tq×::ìÉ cì:¿ù—é›®î«ìíeÚ=íãÊ?oüTÛý¼ïÞÕÛ_hªPZ{Ϊó«­÷‘4T¢Ï/²Ž=Áhó“JýÝËICŦBkY¬^U¤£fYÛƒY´…êV`õJƒ@ê+ ÝCýA“¯6´j‹Ž1Þó¼(`rJQüGŠ´´YºÌuå­CR ºÎÄÛPqÈ`3ÔWîMÊ·¶ðg”Фü¡‚¥i޲ÎiÊÔ* j9–éÓdV_©°ÆÎUâ!´5àœ%ÐæÙZ7¶ª³’29¸¥u¤¦Z©á¼ƒÄ7?`½ã$­7Ÿ¬Ò_ºhKvÝ=ô‚xÀ'åjEa«E„†Ò+Â×”Ÿ§óŽì3²ˆ«oP_dÇXQ¤ùŠ(™ÐtHmx¹èÍÝ9Í åUçäT‹æùßãÕˆ¡9ž»Ä€Õʯ³p Ë eþ¤¶¨ÂÀê ã"Çhž»Dœ’æ¥Vdi–1q„@""Z5E‡ ˼½©•¶€ÕWÔZ(÷yFeï X™6ã_¸Ê¹ÙƒÕQСªª ÏT4’9:SðŸoÿÓáöÔmõ·é¿5;<å4PÛMô}6oL󧚦·ŽvÀ¾sèëÞÑn$<;Çí½Cçw˜8‚ÿ«åON0÷]{̸5ó¯­?Rû £&>=a͸»=é‚'ž~ìëCµ;ͬÙþ±7C'>í}Rñÿ{÷ÖÔ•6 üU`oÐl:$xIFI>8€-¡#—9B¦Æð=ZGˆŸ–úQ¥V¨¼ 2D âeÀªXŽðPeàeDèpyFg€žh‡0­ptX‚J”‹{Côü@¼MmU¨øþþC²²òî°÷z÷º-ZòÕ?cs¸¯XüêÚmþÿ/½ü›’5õ–ñlƒ^éûäö¼çN—Û.¢¨ŒXõ–˜ß()¾“·B.ll3=º÷£Þ¤¤  ”³bÇnÀž±Ea¹õ&mñ—1¤@’ð‡WàË\[v*òº´:pÌXïLÈRs¢R3Âe{Lo°ww-Ó–³¥Â6ád-€m\ªlU® Ü©EyÄÆºnIX¡ðmär1Q,€ h÷Þ®]{VÉhSîŸ1K0ØÊcÃ*’Þñ¯áñøQ ;–mÙ™S˜Ÿ0võ_/oÌX%Ù”sPên’„„Ü{’büóàyD¥®Öqe¿ˆùçøÿ„±§NÞÛA…%Ä *ÿ u¯ŽáÉväÊl&öV=f“ÖÑÇÄ;\ÂÄÔ»î•`BèǤYN o²‘UˆIöÞ%+'¡ËtZ$’„œ0(R÷„ûäS"I˜\H<6UÉœ¼}¶»Ÿ4É¢$qŠ¢„U²"¾È#<.~YÒÎ’$'R÷®OJZ%ÙÅByBN Ôã ÎŽÔŠU»öÈOÅFyÄlñ÷çñE²¸„È–¸]1¹¢ã±ñ²˜Ô2’ï*WHø½¶þ»3Ô;“üe4)’ïÈxÁÖÂ]‰Ñ”™¬]‰aðï¥GNþŸo‡FºÉ@-zëÝH_Ѭ—ýP ÿµ´íSÑ«…K¬ðk‰ÐdëÊUÄt%œÊ‘à*lO¡·:cWÞ¹- ᲨÔÔïUÓm'SSó¿Ð€à‰wd$M\†®O ÚRïñ‚nâ†AžVžÕ~¸?MuÌÚs!§rý§ölÄ´¥®HâýñãØqWb„&›õë¡Û^Å8<ŽáŸ=ŸÜ˜µ.S,„&¿5ѥܣ„À£˜b=Uóÿä–]N§þ&°m…1ïÄåxT§NX=ŒnHËÓE=åJtUl OÚåqöèØIº~Ïž’ 0Œä—ÝR”ßë4E7|z•QáJyáñpÛ¢ldœ>â½øÅyY½Ì†JŠš[~ë×o:øÌÆh 4¹VK‚ÿoVrârÖã îO‡pŽÌØ› ”«L.d;ºh¦-UæUO/(!Ã4ÝÉNÐÛ16ºº¿~ONWàù£Zt]…A’¨ÜÜ„¨pEÿC;¬ÐÕQEîÉÔ¸(…¿Ì?*·¡ådRL¸Â_æS8ýö—Æ Oï «!Áß'¡E’š0U·|òëy%á>‰ÿ®®e©;¦Cï>öe!ô2³ ‹ô Ã0 4Hœêf ó`ëá/m+vU*uNa¶ ËØkp¢ÀYä<Öâo©è¢<âø÷šÿŠÜÎ5Î,Xu=uâäIg’nÉX—Zã]8qV% ¬¦žÍ8Y˜ —3V¬ý 'þÔñ“"hK]“×–+!1Èä%™òÓåž[>­¢Š}Y!„záÑõ1žž>«v¶¸&¤švB¥œ%2ûæñÓ-¹¤ve$x£Í­"#Lôonš rg(±¿ÑQÓñ@ï Á—ÉœI’çÊ#„r‰hôgÐéh 2½Ü0ËB!„Ð ’mnþÛÙãQLNÔ–Š‡Wõgº” «Zä¹…¦1QýÕ{rtaaÿvÕ² »Ls8$K³®‚MŒmÀJ@Ží©ŠAÆ #„YB!„^hLW}Eµi:)p Œ’A˃ý!Ìå“D’ñ' ÇÆ£Õ§µùQþ2™L^¤5|çUØõ@Ѧ½§À {xïi 2!̲B!4-éjrv&å·ôÓÛXÒhà{HúrC}[?0m9[ò9;Žgøß[Zœ’mhn¨79Éç,Ë­.Œ=XôøÞÓ-ÊÖI&$úÛª+zŸ¨bý Õ-ýd 2z)áê!„z‘;ŽÆïÙ•ðf‘€à‰å儉˜®’¤-]©ç ½;Jj´ÃÎ7=w޾‚ðøCõÑ'YÃŒp’Aþ; u¯–áÉväÈm­rÏ®®T™Dðƒ¯¦;ŠöìáåÊ

  • ®ºP†»™a'Ë•+W@ XYá&–?ÚÓï&̲lOO™™™H$zúú`_B!„BSO$uuu]¾|Ùh4b4~Z¢õ”%ðx¼… >“Ê`–…B!„ÐÔ333sppÀ8L8bM1ˆB!„¦%\c!„B!„ž¥5bpø›O“ .ÿ×ÒÆÎÙË'`©˜kñ,ª2¤ÎM)êž³bǶ¥\<0!„B¡ÔOéËšãéóÖ[>oüJÝ_}^”}äÂa $B!„BÀOZýÂ\àé÷Ÿ ÿK^öçÝUÊö_mXl CWþRª<ùæís—€µ¡K7”{òšhûµi[ _)L9Ònþ«÷RÞ¶¸tº´êR÷ÀPv^!k⺯†®ü¥ôìùöÞÛæ6öžŠ‹çZ kJÓòšÁÙgñpsÓU,^¡Ñ ±5 ªÿtâlóÕÛ`)øÕе¡¿žk1üͧ)—©7Þ²kÿü+jmZÜb\ó™¶°²øw „B!ô2zªyYs½ýìFº/Ý}ã§G>o§Bbc#=¡ýì§Ê+#/  »ùÊ w7^KñR;М=r¢¹Ûjitì{+½MEEô÷l*K/ðYâW›N9­07·¸}ùÒˆwôÖ÷Þ²»ÝÛt¢L=p£êHÑ_¯Ââµ±±«é¯Ê>­úvÀšþJ;¯ñ±ÃÕŸqŽõmUnvᥱ7|£ñÓ=Gj±[!„B¡§\ýœ¢,Fè¡‘Á+MÝ6>¿ Å~vp»ý‚æzýŠ‚‘+Íšaîm¾|¨Åo ·é æÎoù,:x½åIAocûÄ4KéB7ÀyhÀâEboEˆ³9Ðê Ýc x»€·ÿr®ÃR?gsÑ\ê¾Ñ|é&€ÀÏo±Pøë€7æÀÀWMãÍ}»QŠ¥ÞÏhbÿò·ïúAÕ‘ÂKúááEGÎ[†DÌÅ0#„B¡—ÞSöð ܰ´±2¿Ý=Ÿgoý|ì—7h‹EÞž6=¥¹{ˆºtù6Øxz͵€+úÛp¹ eëØS‡5Þãÿ¡oÒ@Í1ínnec@ €åhfgúgE™ܦ‡‡‡è!è-ûýÖ²±2zFÀ €škƒ½XÏ ÷×QïAᑼý5Ã#‚ÐØ·ÅÖ„B!„ž.Ëþö¯5Ýæž K½À€Íï½ëMmNqÀÓËæüçW›/Y]¦ÁÆÇû—0lŵ„«#ö«cB‹Ñ§ZR0¶z¡5Ç à6}“†E\€ú `iCÖudàÆ8XÀ­¿ `IYYXͱ¸-X»Öytꕹ¥t?“DýP¢eQÕdþF¦X!„B™ü„ƒ#½µUUUÊÏg8ÌíCV,²k/;€¯¯è‡ôWjN|ZxöòÀÜÅ^s€n>ÛDÜ¥^sÀB൘‚‘nÐto³òÓOO\¸92±é¾x©ÀͪҪKߨ/(Ï^°ñôŒ Fë­=}A­þ¿gÏ^0wðœk1W¼x@ocs/=tC}¶ðÓUÝCxl'+ÑZ€)B!„B÷ü”Žž›_?–sœ}BüLër½#ß(+½pºà+ÊÎó­Oîh+Ü{Îçgo–º˜±®xoõHéç狎œsç¥!>V0!/â.}÷½áRåùó' Ìmì߈ ø¥˜¦Z™Û{Ú¨O]¥ÁÒîµ!‹¬¬üÞ.=ÛtâH˜ÛØ{®p¶¸‰‡wº»zõ*!„BM{{û'|æ †a^˜5ü­rϦ!—÷Ò¢p•…ßÝ»wïܹc4F#˲ Ãôôôx{{?y ,ËbB!„Ðä â Ÿ9ƒ…B!„BÏfY!„B!ô,½P#Ñô‚#B!„Ð G "„B!„ÐÔÀ, !„B!„0ËB!„B!̲B!„B³,„B!„B˜e!„B!„fY!„B!4=˜cB!„šrF£Q«ÕFŒÆ”°±±áóùfff˜e!ô³12˜vôŸcgE‹Yäëö¶ïHm~Ô™^Y2󮳄ü©Õ¸Õ¿±àºGØ«ÿ=çq=ÕlCÛÐ"×W¸Oô¡†ÊNÿ¿ã}à±|Qºƒd„ÐÏÓºÝ?ögu¡òC§ñ“'­Ú”øåüMÊ?†òZ±ZÕô¬ò‹z8vK£““CÅhŠ×„î ±d_Å~/êѯ§Õ¥ééº @p]¶¥m“ò'<Êr¸B醴­Ë…¦*ëZ‹S_fV“ŽÈhk¦¬j׳;ß i;ƒH òt2Àµk×fΜéììlee…Ù?VKK‹‡‡ÇÓ”À²lOOV«]°`ÁÓ×G "ô Íðø­øó~õùâcoÚÎëë-¹öõÈÏ¬ŽƒÇ¿ü×õ'¬Õ÷†Ú>‹õQ®˜b!„Ë)þ IDAT~Ö‚c¨+ëdÆÐ5•¶ÄS”¨)ÞœRÇßVr¾¡¡"Ó«ó`bA £c9¾yçFÕ?¶õtSzüaýò}Õ ç‹6pªRÒkutkvbqì|C½2Ó·3{{@W¹y]V§£wb™Ž‚ÍÙÒÌŠ††ê¼åºÒ•ƒ<݃<88¸páBL±¦î;N‚ÁÁÁgRöe!ô<˜Í[`§ ØãÿÌk³=äf Ì­3µ=ÿûÚ0 @X[¿óæB?îLª¬Õœ¸ÊÀ {{~¢ŸíÂ{%Üéi¾²¹ˆ_-”CµµÝǯ²¬Ìžc÷æÏÙ ÿÇ娖ÙËg}W9øÊþˆê136—ÿ#wö\É­ý¹~Ël™ŸCÜCZYßµïáw…ìÚ‡`óïrÿÜû…þÀÌ…üDî0PMß®6ð8_f¯ ‘ËåëÒ+5 ù%2š>ÌU*F¡ç„3Ë ú†o ÕiŒ‹¤¶ ÍÀìÕży—šé_\Óùpš˜sbÂ_[kfƒšîí1þ—ÂÁÏz&ŒÜª»jtÎ}•³×sç•èÛnÍñ‚ãûË?oÆì<ÏÙ6s †5ŒÀ¼ñ_~W;@¬üí+\0ŸíëA~öå¿z~3,lyÞÖÜ‚™é ]ô¿™s°|ÝÞœí` `¼Úf¡½·5XHÞ|í¤qgðæ£ŠµZˆß„ÐóD ¥«…Å*t9Osæ í•ìB½ååžVQÁÂ%îÜÀIú¶ËÁÕšˆ÷…LgyH3]9‡ÑT¦l,åo:Ì`8^R_Ú7"B*$´µÙ?ÚHK>ü÷yèÖOâÓ5™ÇÜIа,äxWÁ#€eØG¿ŽÕ±l§J½¿$™oh:°1qóaÇz/ ò42š>Y–T*Å( )q÷îÝ;wîF£ÑȲ,Ã0===Óì3 -f³Á8ÀgÖŒÑGI o0#Ì 9ñA0Þ>úçÛÄõ¼Y¦<Ç8ÀÜý¦öëUµ£O¼ÄuæXœ‰GcÉ’<0e˜[À/þû‰±2<ËÊ038³±´{sส¿yð3t>®JŒæLÊÆÃúÐ}Ç"ÄœûZü¬î¾|àÁ”À.8Â4œÎ+"BX^|QN| ò´2š.Y†¡çåÖwåš»‹|fs`؆„«ßGÇè2Ã0›Kš³äÝñÙ[·¯‰…+ÿËÞ¡¥sߟû)l¹`fCÎpõqÉr¸/ó1ô?mí’œmF¾µÈoöćïüý‘ÏúìÜ·wp8¤àpàNÏß¾Y¯€™6³f°ß _a{gÌ{t±!ô¼‘”[¨›îÀ™ºN¼ß‰„Ñ€QgÇÔF… I`ÔéA±¦(·/6¥¼Ýšßý÷_èTéëÒ5ÁûŠ"Ä÷Ö£Sw²B±pôÿ,A=¶>LGi|l)okÑ1¿±V;WèDh/j? ´¦]Ïu>¦®£0hiø$ùå 2š&p^BÏýVŸ{º§ÙfNœæV¾B³+Íúž0~}IwÝæOÓƒýWFÃg§;Ò:X3³E\Ëe~vÞ½¿¿xÌ­|í;iéï€;ú+×Òjõú§ªÛ 0o¬_ñ³fËZ €á¿ÿíêž¶Û•ñ:3Ãf>É`¿+»: Fã0˜Ù»r@sã‹Á;ÃÍç;7Ö}gøqÅ"„гC¹Exʪ¨`ß =¬^Ç|!—`4uÅ­Ö@³”Ëj)Ô>¨¢‚ƒê)ÑV¦¤«}óòîµþ@ß”½~]v­–`´ªÃvR©€Ñª*kÕôýÍõÁÄÎxÍhŽbzÇ* @·|Ò. ^þ¸>Ê%T UcÏ-.Öp¥^üG¿yºM Ø—…^ÃzúöÈ}Ë—›[R”µÕ³] ünËŸÔo™~$H×’pšÀÌW}D1îÙþé €à¾’ðÛy a&øˆÞùsÏö£7ng.p¤,¶„ñµCÉWâ–s×îú_óþ[jSÛ½ýÓ¬ñ.XsVû𹆟ZEÂæd÷ïŽþ#à¿ÅývÁõ?k¢ŽÜ#Ìžo·ØàÎcN³Þþ '¹öëU*óy¶6ïøØ^ýSß¶Ï-½µ0e±&§¸mŸq†í/¹\˜¹úÅ"„Ð$ WûrëÚWûNòE-ÙíŸÈχnÚ¶²3~÷º,~Ñ61é¸Ú—ˆ*ãm•>4DLÛTvÑÐ}1Êç³±Gæ¿]rúýàÌLMzV˜ÏG,óÝVfî_†Ö‚݇Ý¥bj¼G„i/«ë3> ’|4vöuÛWqÈK¼u_tJÊFÿl=ËuY¹33BÚ3‘ŠìNÓÓý%óß.,yßÉkë¾èô”u>Ùà8lÝý˜÷ O¿ £é`Ãàj*hjùRûØ—…¦»áîªZÚoëï½¹ÿJ£Ì.ýë 瀹¸å.zÑQ~ÇüÆ2À*¯"Mü3¾K,Í«ž‚Äéé‘âM%J–"Aƒ_¹é‘cÕ.ÐJÓ¤¼§-HϺDH'©E>™ï…AþyžA B]ÒBKFs*ºEÙÂÂÚd‹”¤V¸£©h€ÈSõq¢zO^Èñ³IÎ$ÓÛ³%.ßµâ_ô²ÃyYhº›¹¼AcacGи™Ó4Ät”n‘Éä!kÖ¥×iÆï¿iU6†Èår¹Ù"—Éd2YÈØ—DS¼F¾±øÀ:¹<úhj lcíX­iÕfY`V/™¼³Ä52E¶.4s“ûÓ÷Hò½–»ó&©æ“ù^äŸg–%’ñ;” £×ºMÙÆ—Í’{dÛ[ ¤™JÓ¨"ÊEêBè:ujÁá†Öòª&Žáy}øq²ÑT©ôŽo›šo”{DðüÎòÖIM³ì‚CÝ)à-YéEtª:MÕHM©éžVQ±o9F7i5hÆVµó•Š)‡Îï,Si€n?ÓÎ ÆÍPBO”f…‰»Jûè–’'…Çè2½-5ZQ˜iÆ”@"ÒÕ«{éŽ/´ü@™ˆ Ä2þ#o·‘"…l4Í¢[Îu‰ÞM²˜Þ†üÂ.Q «-P²£çO%¸’¤HâJéº  ­o¤Å o[Ò9êxõq…i6–®-oK››àAÎ §ªÿd ¶®2­Ñ± ki¡[R´Þƒ ;Î]æ…­—P`+ óÐÕ7ôþÔˆÙíÝ+¿¯{Ò)27Áõùžrq^Bhºa 4c’äsˆN†Ö ûp¤¼`ìI,×ÑÔŒ'8ãb|V«é†Ö€âqÆ~Íã«7-ðÈáqGŸÊáP`ÐÒ®ž%\ÆžJR|Ûd0PÀ÷v?[Çßš65hÎøxƒžfõe냪L‡e Äýs®Ñ#çeé.–,¨ì  Ý,0± Þt,³¬ ôÀºìnÖniô¶m.mß­gQö&m”AÍ‹+‡C°Z–‚¸íGnÒ É} ß7Ôñp©J 9ÓÉÞ&œÂ{•ëÂv·8n;Ÿz•„Ðó>ý¸*ÄÚü/z½yÊ.§0Š-1{i‚G]ÆlyÛË2@ţƮL<2S!r"FÙÁ8±|ÅG&Y¬îôÚßœ6ý̇|´7\ý %{ò+:h À ÕaÀÐ:–äãB€`5E;5À Œöi2]59{J{‚`uÖXKpFkNðø<ΠÉ[%+$L'–' €Ÿxµ•eœØ k·ÔèÀ)òøÑ8×çÝÅŠYBhÚ]~8$°cƒ"Z£gG³ÂqCIÑýíG¦õßERB´ê ”é2£Â… `ucËé 4pø‡Ç%ÆR0S~Fðx`: ²ZW.Õ¨•~ì7•íW€aÇ“QSß ‡Kóß.:ý¾pJ­JO,&vùñI ›6¥?p(ø^É^:uiJlb–‹2šÏ!–$+÷{MÑX$–Ö}1 –àrî¿Cü¸MZïÓ®v9\P×ÁW·óWn›Ê¹ö<ß}%^¬éïS,„~ö(p]nM ÕåæJAËèŶЬ)aûu,%!H´Ž ºë±Áˆ‚äœeK tˆ;êɺ·úÅ„ÓvÞ¤*ãD…Ę–ÿT’âLרìcº·‹áñ^àÞ£Þʨ¤ÿS©T¯2aO‡âø©pgzO*V}`Õ£5guZšå<Ç)þäÉg¶:¡­,ãÄ^ÎN¥ 6#Êu®8b!4ÝðÄKæ÷ÕQ3 S7™®)|¯åBMñèêtkñö”3O°Nßk¹]_©©,FSUÖÉ‘úšÆƒ.–ªtÀhêÊ»¹^n\Òqùh*VitËT— ˜ŽÃ)åü iÛ’“¥Ù鵺)Œ ÁゾݴìGG]U·iÏP÷•.úªbÓô ¦ãLÊöâ©X‚ÕéYŽiOSZ]^Üβô„ÙšÒ‘)¦Øñ„Ž|B_)÷bÁèèFêÀö¬In÷ÓJ!ô—åM¬‹ïSª»Iëý_V¯P7}éÁOÚ…«¥S›ÜÏ7BèE@ŠÃ<´…ù®á÷ò[9¿«¤¢‹`zkJºørå,ãkÏÕw1tKÉ:öñiV§1/¯Qèmûdu u,ÇId Àt+TXšaø2o²¥¤¦€é:žô…€ã$ùïH×'å4Ð ­e žH@ô7”œÓ° Àsu¥.W´ô0]5EmÊ)йW©lc€éR¦>‹õ/leIGs'%ÅìËBÓŸ9EÁË7†~ùÐríƒÝ—ÌV¸Œû´#ŒHÛОëSΙïèìk÷e»éÑÌÚ”…ÜÇ•ÛÒ„?xƮ޿S›’$g¾×¦}›Ä$00_*¾˜²æ°¦O.o§E;‘Òä̈ô¬Hy¶é 2Ó–óõÄ*Þ¦¢å<Þ†diXbz¥ûþ©E¹mØà’˜¨XÃçó}}]ˆ:`øËÓ25éYarƒ)wÙ”6K0ð|7¬®JYTÇåòÝ#6m]šøQblñ¡M£‡! Ú·)+L¶8ŽÉiî$ ›öoÍNÙTÀ×-"9úYÇ•½ë#ÿŸÝ†’"·{¿#\‚©‚õ!íZ=Ë•nÝ/åLÌò³IëÇtRKB½ØX•K¦ö !„~Lšå¤ð&Y…˜ÏœDa9 ]I1þù IBN˜©a[Â}ò)‘$L.$›ªˆä NÞ>ÛÝOšdQ’8EQÂ*Y_ä¿,içI’©{×'%­’ìb ¡ºµ‚ïü‚*ÜA´^“\}LJ‘ü€´"1¿}cù„@§ú¬]¸¡DÊ'øÒä"郥jŠC"U¾«¹¿ÔètzÂ}ÓÇ;—ONK×® *pÛ î¬Swj ü•ÉxUU­A±o_Ät;ªäia5$¬ú …–sÔcŠnùä;Ö×o ÷É œS÷J¦Á­'̲š,Fæ FpèÝÿàÜH+îÙ×ñÊ~§iüÖrŒp¡9°×º3ÛîÆDˆý¬áÊß¾‰­½¾,jƒùL0~ßB:näpn~ûײ›-·¸~³˜Áª›fˤV˜b!ô‚"Ý?>×€axxb¿åc?k›êú¸KÜy \–ip¤LÏp ïÏr5MZ‚ßW¼yM]{Ëu[¹íá!pÛ®¢ ‹ŠœHº5+,>½ÎëØÄY•$°Ý*6­èX2td)¢ân*É/‚:]{øâêý^$ƒü‚ $9ÕÍS\çðÜŠðiU\c¡Ic±|±5f¿²r\é2Í*›'æ.4 O¾ëàg=`æB{Ž s{`ì…Ë^Å€9¼•ÖLy †kºoHnÀüF¡1:UúæÃ- œ¼¤îvÄ }Sñs5ÕÇB¡<>å«TÚû:‘@¹øºuÌe'æK¥N$Ésáv¾^ÂÑŸA¯3`1Èèå†M4„&‹™Ù¼Ù£?Ξe6ÌÞafØÌû3d¾¯üË•uÇÿyüë*ÿ5`¼÷BÒôËe‹Éµî:¿iš·Øf!F!„€Vo ËÒ…æå=Ù02‚ Â-z¥@ ¢¥œö:̓ ‚wâÞÓ†‡Ö\"Æ6`% G÷L#0Èd„pÄ B“ÇxW?¶gù­ï„Ùý‰;_ÿåŸÇ折·ÐX­&üôðÃepíç,RÝøBkùM?ðŸ–T„ZýIlü—niEO¾‚Éwç‚J7ºëcLÜ{Z÷ðÞÓd 2B…}YM¦ªí ·¾«¼‹œ˜Ruwàû»„µ¥9ÀÈPí—†[Æ»·Œ•1û••¿.¿pýkž·5†!„hUzb•cZÞ­º£I¥~üVÕBßPaçáí:FSW b]–;>” Œï=}±ü"ë(’:ume“ö‰*¦kª¬mÕa1È襄}Y=Cw[þ¤~küÔÜüˆñY¾wÀÌÒ®o>>týû;6ö‚t'‹ û€™§dŽ}¥&üˆ™õ¬•Ò¾]9eÝs—?p=2óôä°§íß|…‹ñF!úbé½âý«Æáä+“5e)‰šäêcR¢5%(¶Î4‡çb”O€[fõ!)?t_š&1E!ѳÄü%Ñ™iÒ‡V5#¥P°~M»¶åJ·~ìË`´åÙ»5ÉR/þW¬³8;›·OêÎ#1Èä'Ųì“ïÈ„ž¹¡¡!33³gRîJŒ¦.#™¬]‰§››ßF*™¸wì=qe%„z~4Åk"UïW“ânfäI‹‡F3sæL@`ee…Ñø±ž~Wb–e{zzf̘±`Á‚Ç=w%FhšªTéá5û×1ÅB!„¦— \»víòåËF££ñÓ­§,ÁÆÆ†Ïç?“Ê`–…Ð ƒÕ\ú v‚ßKp'b„Bhº133 …‡éG ¢)ƒ#B!„Ð äÉG âƒ!„B!ô,a–…B!„B˜e!„B!„fY!„B!„YB!„B!̲B!„B³,„B!„Â, !„B!„fY!„B!ô<™cЋëÚµk„B!49ìíí1ËBøÚK½/IDATEG!„Bh àˆA„B!„Â, !„B!„0ËB!„B¡—Áÿ×ê/âpöIEND®B`‚murano-9.0.0/doc/source/user/figures/qs_quick_env.png0000664000175000017500000023600413656750211022742 0ustar zuulzuul00000000000000‰PNG  IHDR>0yüsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{\WÞ?ðon 4áP‚ Å"*VE«Hm¡Zj¼àýº+Ø n•îF!„úõ®½2EH¤Ë½€èÂb±€ Àe³Û0ÜX,VûÐ|Ãß,‹áp´4­Óë .·u†nÓË7<¨ÓéH’$444lÞ¼ÙÓÓS$?~ÞxãÉ“'³Ûºf)•Êôôôp8œ%K–888À?þxêÔ©ùóç—••]ºt‰Åb½þúëo½õ–a=E=ˆ‰hùù>ÓÅEÊÞô0 ÚyðÉÿ²€eæ;ÝbýÿPÙ'þ“È473zùÜýÿú~Ç­U9Ô¸g»ŽR±›Ï·=±/÷çÏÒÕÕÚ$¦ò]Gàçì…SD-Š>«éa.ÞÄè½1b,.„Bè—’çÄnˆË­MÜé+ÁÛƒèwŽ.ÀbÙŽwïlèu`è¦×³Øl07g „,’d‰-@hΉY\.p¹æÆBëtã¤R»~æZ††áðMŒÆ—âââƒöë×ÏÒÒ²¼¼ü?ÿùOHHˆ©©©áÕk×®)•ÊÞ»wïÌ™3b±ØÍÍ SSSiš:tè­[·vïÞjnn>`À8räHKKË!CîܹSPP`kk;|øp¨ûû:õÍ“ׯ°Øº¼LÇŒÓTVhkkÇW8–VÄ' 2ð±Íû©¯5øŠÅ7é·tekUxó§TÖ×li:~¢^YÏ63ë¸/ÊäÏtuµäÛï`né+Ñ¥¨\Óó\šò"t]袨¹±¢{×9ýŠ'_YÆŠ ‚•’=~ËRtÙ–EÁG”¦'‡ºõj­taøÌû¤½kzY´¼`wÊžìÂr¥€góª‡ÿª`7Œˆ!ôG¾ðžŽmÍ- <»1:Û-ÕOÒcÜÉ\±"gñdï_ñ¢ø¼¯>„ÊY;+îF‡ <›‘>‹C×øJ{µKÏ]åPe¦lË,¸Q£à‰Ý}/ñxAI´—Ñ…aä?]Ôi5\6›Ãf³Øl¶žGpBÂX–VÀb±Øl`³Û›V4ÅWüÖ­[éééGŽ1D—¼¼<µZ½|ùr‡ëׯ8pàôéÓsæÌár¹ÐÒÒò—¿üeÀ€?ýôÓ±cDz³³‡®©¬Pß,1óšjù¿Ÿ0Z-£Ñ€Uü&Ågÿ:}R8kŽÙ›>†q:Ö‰©,6‡Åá¨KŠkBƒšNŸ0DúÖM*ëk¶™™Ý¯Y<£Ñ°ù»™Ñw©_ó ì‚§®¾žÍ«nöÝ}Y©Ê"% ð½+ôjÄ‘¶k­(Úk ¾7ç/Â=òÀv‚ìeùȳÂW$Öx„Fn÷r“”¬0;-aÊ¢èíØÀ…BÜ oåÅÊÎÕæÂJÚÛ]žŸè”ö{§”,'qC\é²w•´o!õOÚëGö:·ÄE¹‡¥Æ»KIZ^’½¢$tû¦ž£è .†.a†'_¯©¡u:Vk=Âm°HÄ2ú[“ cèÂÖi¬MGa?6›“û_Æu$‹ÛiÕ×®]WWW>Ÿ“'O.,,¼téR{t!bøðá üòÊ+VVVuuu2™L*• …BC'±aÆñx¼ëׯ·¿­X,0`Ã0Æ ;~üxSSèU*X\në–°ÙŒ!q±Ù,vk²j$†ÆmmëÝebX„Gf`ñ;%1êàWŒV+\¸”-Àž}! ]©tôeåVRO¼,vñ«ŒŽ–ùÆnŽHÈ–b‰‹—EƒÈpK2v)±›XX  òŒ+ |–H J*+)Ç%‘þtæîÜÊ9í²jcŒŸ[bS²ËihÂÅ/4l•»@S™”Y(SÒ¯Ðè0_)´ìtbBZA%¤[`X˜¿ %¬ˆRo÷]²yExe`êsž6±›ÿ,éþ=%rðpªh[lBV @HÜ—lós"¨¢mQ±™%4)qññçn£BĸÅÎm½qE•e%nÜ](x¬Œõ•BaÔÜDÑ’‰Êœ+•5r…Ø+2n»˜*LÙVâ¸a{¤¯aKI©»ÌFzÅÊÄÝ%îë\+Vø­’ä”×ÔÈÁqI\Œ¿”lIHÉ.§H{¯•‘k¼Ÿ¼Ü)J Kž»D:º»áu!„úÂUׯE¹å'H\lº8?Óe™±ÑÛ )±ÄÞÍDZýÌnäB@FÍM$'R…WÊËå¤GhèÈ¢ÝYW*+¤OÌÆ5n¤±«' (/nY[RÓDŽœ³Ê Š2b3Jáè¶ÎC"ÏZ”á²qû'ä§×í±O]çBö¹«)õðw„”TR %iÙéĸ´9 @:ú„F®qÐòÓ ) B,q÷÷‘mËòؾ=Î iku1R!¡Ë6/ŠPú¹å5ráé-¡Ëv'æ’+Óbü !‰¸øE&ñÖ.JI)ôŠq+1vé7^Mê|ÐeE…OÕÅ7w§žêν~ÂÓú 1½\ùÀ„Ã!8œfÙm}K ÛÔ¬»˜'$÷#õ Ãð‚§ghhhKKKÃP~’$ù|¾a¢´¶Áƒ×ÕÕ=|øP©T€@ øé§Ÿ†ÑëõAh4š––ÃR†nc†a6|>_«ÕÿÕal3Á£¼Ü†”¤þÁ!Ðím]­êð~úÚ•ö)ú&оUÊ65åw{z~݃:ꛂ)>¤Ïtrõ¡Ê²3 š—8’@—l‰H,÷Ú´w• Im rÜ›ì 9±‰E.1ÂÜIyNlH¶†ôÜX…ÄPˆ¶oJ•€"gý¢”Œ2uÄÅ‹J{?¯Î;blj¹•´›±K i´šÔ©$ågS¢ÓÊŸØ-›w’¶¯sé!>ç°=e d‚­õh+±“À„£éa£gZÃõõõíÉÄÀÌÌ ôz½áŸœ}Ì ×ÖÖZärù±cÇŽ?~âÄ š¦;ÎÉåËfl¶(d=›oÒxxÍßÖè)UW›­:–Y5uôÓüˆEð[ÛV ,ÇÒÚèkªŽe‹w~û º¦ «@A•dïZfN‘ÇÑ•%´£Ÿ»'/ÿW S˳ À}‰”±û¼‰DQv Àsôž(ÒÆ…äÙû–³±'© €*9].öšeã!öðwƒ’ìrÀÞÏß±»Ÿ;Q~¶œ–_<[)ñ÷3Ü*’zù;R…92H—5‘^å‰QQѹ6¡‘¾Ow·¢e…§sŠäƤv#nÖ[­ÞYœP>rCR˜ TQV 鳨C„Ä;Ð>{ZFË‹.*¥~^R€tñ[ìÂ{b5§ )—@CN~~’š³å@Ü …bG{U©¤RP<±øÉ{(¤¨Ê&C¡ÙûM”@Ú»ˆ¡FAübv¹Ä?°µØ}æ9ʳ/ÊŸx°Ô ;ÝyueR<æ„zñ¨¢-AÓß™~Qâ¿rå¼yóV®œçx%|Þ;o­Ø\øävP”TÚxù¸.©³&n-vy! n¾.$ˆímx¢‘ÞŽ„áoP*)èâê <·@/)@8yùÙ+¯”(èòìBpôn³¼ÈòÓ%€Ä/,X”•Rã½ê©jô ¼ú(O¿ÓvŸ’ qqþ e§Ï*çZ5H·@?IyV‘‚.Ï-'ÜýÜHx/ö±yâuY!á¹ø·‰½=IÕ(n’Ó °!Ÿºá+æÑ Œ^ú»®&u¸‡¸qã,ûŽSD^I=æxžßuiŒRM›r¹ÀÒëm¶`t:ÃÍZ-›ÅÒé¡·Gfû…GCbi%NNNÓ§O×µ­‹a“žp,xÓ—?lxÝÿ}¤¾ZTþ¡õæTÖS!§åò%eÒ&®Äúß[¸Ö6òÕKéò²7˜Eì~ý©SYÂYsxCœðüÕ—Ž¡ö¤˜ŽvyºrOŠ!×HvQR„¸mpI’<Z¡Ð4ÝŸ;Ó0¦›À…2œŒy‚¶/„¡%ÑÖ—’R6iIûHˆh*§hà=>'„FNS”Œˆ||‚ZÙ@¸øŠ'Ê}’ŒŒ¡KB"r›Àf^š±Î¯mc]è’͋֗{÷QÊ&òHÈÜìö!Ü•4-§y‚¶M%Ä’èt±iRRÙ¾'¤H”œ¢;ììãS‘ ©)—SÐyT>UÓbûÖÂ"x¢)9•Û‚fînýw“F쨤¡scíc]äYkWì–ú·æ…&%¥¹‘°hfb[I´†¢Ò±­JBÚ“ï@vQ!<®»´—)!’p±FÐ)½Ð …†t$ #„Ÿ¼ôwUMê\q!ÝÖ$m„ G* ¹%5Òû™FÀöþáÈíO@~†ù…íÍÚ?¬”iõ «}cñE"‘@‡6hëBÖ®=™€Z­6,bh¥Ñjµbq¯ÇûríØ$Y½ræÎÍÝÛ„“sûNþ߸?,þçc®µ 0ºÖmcq¹À0ººFk¤­É|Þ"àrîø¢1#Ý"ücè³?eógD—lK(ð uܽ!åÉôb˜h#g(’¤åTëÐ}J¡Ô€ ! D>ñ{Ã:ß÷°zR$àQíoMJZ`8ohš”Të9¡©‰æ‰I’”’p¥}"­P@ëùU‘“²›özǾ a÷¬ÔUOœ, £rËyöÝ>—U¡î‹bNOÜä+R$àÙÌK}"ëÈŠME·Ÿƒ(ºÓª"’®lßJÙ¤Ôøè}Bâí&8q$Wîëßá–”,7«R4v¬@alRBòWnOõíákm¸~$Äæº„ÆøcnA¡>A~ålM—/*/ÈÁEÚéÚEÝÖ]€nªThº¾ÐEÝ_º¸zÒÐa¨¦& %$)óO¤)ʼnH Ëv'9¾3±fwJÎÄ£µé|õ‘ø„ùg®LØ=kû'6$olØÞx÷Ž—~ªZÙÔV}©¤4ÏV!1B„40Ô‡>—)£zOí6\‘AQ°%jsŽH{w©²ðt9Š‚ý¹5ÏZ!1²2§%¡^ô‘ Q…2 hyÉé„ +Ý‚Wvõ ½©&‘n«â7­ëÍG{Ýa¬©¶¦½í M)Œ^¯n†aèªïËšK¯?¸ð#G§×£lV_~ xТ¦uú «ÇZ>Õ;ËÙÙ™Åbݽ{W©TŠÅâÓ§OÀĉ;¤o¿ýöÍ7ß,,,T*•æææàîî^XX¸mÛ¶¥K—€N§#Âh7³ÇôzúvOê §(Zv—Åã±ù|`±ØÀ0êkWL'½Á6ð]G4Ÿ/hù±€7ОÊ>Ùñ ú¯Y÷ êê?ý'oˆ#w ô:¶Y[›#lI¾ýõ͉‡ÛRÄ"ð,ÖH~c¤{Xü’„„™‰tëS¹\H€Ó‹Ø7&¦<6qÑL €»Ƈ¹“ š÷ª¹'dQ‰\A‹=Bã<Äbÿ¸0ylÔÜ™†¬‰[ãB(N'$VzÅǸ~aKN¯ˆÞæ½}Í·4ˆg{è¡Ä'Ô?381¥È-ÌÍ72¦2!qÅL {¯àH)„[p˜ODŠéib‰‹Ÿ¿‡h[§+ á²&nMÂÆ swÓ¤½WXœ¿@Ùź|cRÉÝ){bW$¶ý®KàÆTÿî~RF&]4“ÒÑ/4RŠŸa„z9ð@S—Õî§îîK#W–D­'‹´qt÷ó²/,éòB@÷´n©‘«'Ð`ãáR»"­R®—y‘Kœ°˜Ê„Ä ™‰†ÄDúŠé’-ÑÙ¢àT_1€xU˜ÇЍ„Ón=Þ|H·•¡cÅ&d{%û¹¬‰ MŒ3\‘Aì¶D ~‚ £×ÏIŠí'ú9æd÷\!éªtIÈÔ™)ÛƒÒÚ~×Å?.5нëñ=Æ«I¿–B¡x–ù†ÑjuŒ^÷]غûçòÙSímZÏ𹸿žËÕ5?ôz=­NO«FÿfJšll¬„ëM Áfìf/¯\ËzjŒ{YYÙÞ½{@,+ {{û%K–ðx¼†††Í›7 …B•JennÞØØÈb±‚ƒƒ­­­àÑ£Giiiõõõ|>ßÜܼ®®nÆŒ£G®®®Þºuëˆ# ¹¹yÓ¦MZ­6::š:•¥ØÏ“Ò=¨Ó?j2Ÿ·°ÿª``±š/œ«‹Øl‹ÿý„+±­^µxƒkîÞá ´×Ü«”~[Ðz×àߟR'¾Žy?F¯“¤l§o”<ˆê·te¿Å+ôuo¦/Ø~± G¼ —ýZQìÜ("þ@˜ ¶m „ꉢ`sTbö åSÝêy"Gïàè0o|¢ÊïKž´"kÖÞTß?į©=S«‹^¯¯­­mll|D5©€ža~¸_ÃcÀ”Ëræ±µ †>d­Óëa€Ñ› í'°–XõÓ4Ácº¥c£M;''§÷ßÿ›o¾Ñét¯½öZû/ºH$’€€€¼¼<±Xìççgiii˜nfföþûï_ºtéÆàêêêââ$Izzz8°u?¹\oooÃX³ÉÞºÚúúUî€Â€¹&£Ææ17Á2:®éøQF§c› xƒ†ØnÛÓ°-´Zqh˜^Ý¢þùÒã¼ú·LƽNeZÃsÊî'âv4Ÿ¿Ääµ±À&I˘xMù-Mu5FôRžçÖ®ÈpÙ”ºÆ…TfÒ.¡ö˜[B=±ÇºduX/]”°(J±25ÞWB—åfÉÄ#ÿ(¿5ø¬­.*•êî»”²/·4ß(€7­ÌLØ,`£×ÓC†Ò*[§Z :hhŽ€dóމ)Ïg5SŒRÁÐ-†!ð&>ï‘AXÜRÃ0†Qø†VGGÇÅ‹ÿòn[„Pwg½²¬Ø¸m…†_¸ò Yã!ÆBA!„^ŠÂ-~n:"ò3*ôYǺ…B[;ÛÆÆ‡lvkã ›†¿6Û¤ºÒ„Íô:ÐéYÀ€ªu„:ÓÖó80<[røæ„žáä³ÝË!„z ‰Ý×l:°æ¸c½x˜¥¥¥£³3m;éðóó­êhnZ Z-0úÖX,€Õ†iï$Æbá#ƒB!„B¿Ut‰µõè%ËkGŽaëõ†bhÄ`=Ú¦êõz†a ƒL†a†;eìwè»bÈ<B!„BZÏ:Ö¥£‹W®ä&ý{ž¼ÄÄÐaÌÐðbF²LM9æýÏ`±8\‡<ÇΞëâÆ±±å½â‚ÅB!„úý¢ TËåÜÊ;BuKØŸM Y.ËLÀâ`jÊ&`±±KB!„BèÅG„B!„ú=±±B!„B]B!„B£ B!„B£ B!„BatA!„B¡gŽ}û6–B!„B¨¯G›Žÿfáï± ßÃ0í6†aôz½^¯×ét¦¡¡áõ×_Ç"B!„BF¢ ŸÏÇè‚^`tÑét:?x!„B¨wÑ¡ß3Ã0 Ãápt:]ÇHƒB!„‘èÂáp:þo~£ß!±tü[¯×@{€A!„B虢 B¿'½^Ï0 » B!„ê2º`}½(†Ðbhxa³ÙØâ‡B!„º¹½0íYÅ0^Ǻ „B!Œ.!„B!Œ.!„B!„Ñ!„B!„0º „B!„0º Ô5¦ƒö)X,!„B£ B!„B£ B!„BatA!„BatA!„B!Œ.!„B!„Ñ!„B!ô‡ÇýᇰÐËK§Ói4½^EB!ô2b³ÙA°Ù=·©°Ôj5–z!†Ñëõ:N§ÓÑ4­V«+++'L˜Ð«Ü‚`„B¡?“Ó vC/1Fƒ…€B!ô@Ótó`tA/1ì'†B!ôç©×atA!„B½0º „B!„0º „B!„F„B!„F„B!„Âè‚B!„B]B!„B]B!„B£ B!„BatAnê[g¾ñÆôèŸÕϵtñÆ™Ó#~VCEú¢7ƒòT½Z¸î¬š¸ IDAT:ïëë;¾É¯O#;ø¯Ï¾©í~&Õ­SCMã7Þxãé‹6$åUw·-êŠïNýÜõžÖô梃տxÓ›K·Çn¹ÔM‰ÖüTúî–â'þÛpKóì«PÞ(÷ÿª®¦¯|éóו¿öÁ}Æ·*Ýþ±GªŒ—]mî¿þoKQóï[ÍÅ{bÂÿoÏm ž¢Bu‹E€þ\T—Óóɷ߆üô ª×<…Ïý>³SöÏöjùêüé·Ö¿=Þ‚ïºvÏ~ZÈÿ ’KÝ•Û0x±¨Ûð•|Œœ•5î ¨.þfkLäJYÔžS-Œ/ ûzkº…Ӵׄ¿éÑT_ª69«‡•-·-¶±yÞuˆœ¥ f‰úÈG±ñáΖu¯š‹¸¿ÚÁ}f<çù}ÈòúÌײøÐÑÛxAB!ô«FÍmi7;L0±rõ˜7ÅÑôYßàþ×ñ›ó›‡®üdÕ«½ºf6ÞÈËWykÂ2ô‹Ô_H¿ ™“¶œ¯Lϯ÷œfPjżôQ³Ê.È 9í´<6jÎ+Šô¹+ó¦Ì_¾ S(Ĩµ±áÓÚߨâPðʼÕGR=…Pÿcj̦c׈Ç-ZøšTÅããw\Ó¤ÓÛëc7xyÁÉe [,_ž°º"4Lu$î5¾ºâÔ¦ø­ù2 ÈQ ÃÃ縷6Î S,œCä}W&—+ˆq뢧ڂêçÔ˜øc×) $“VG­ŸæðtöQ––j¥³­ºùžT³ébJBJÈxCH°u}/:Q|꺘€ö]¡ÄÃf‡Ç½F}zHNAðÜâõ)qãäOîW§¸£ú9=fSúu@8MY¾ÁÓ@}ë`LäÖ )–NZ8êròååGR§ ŸN.E2ÓaSŸ«^®¬ :Ð4ÍwþVK­J 6–1Ó,è‚[X§ˆDšŽÞúR4h£MuðOæ) ¬ˆå+2f¦:¥nœo'’U}ZððŽ8ƒ_•|4É\¤}ôŸ=ÊÑý¡ìѽGtG°Êoà›æÌ¥ã¥[ÌÄ£5ÝlP×rÈ5“?*o(é³~‘3íFðþç¿ò<¥€=p°uØd‘ Wwéxé3Ë×5^Uik±=§ zÀ£®½ß Ñ{nÏŸi?âNÕ§?=j ;Ú}ÀGnf<ÇÁÕTåïÙsúN‹ i5d¼´ú»Û“? Y·/n,Ž˜?„ ‘í‹Û‹#æÛßÙ÷éAQðG³ìxšªúæz] pmGúÎcÝá kó¿L)Í^3ßµÓk–å:ôÝmí'Ïœï5Äjs?K¾>zª¨ôJµR©û©‹‡¬OSªý>Zã&P}ñi–UðG³ìxO—£G•n3G¥ð…B¨;ÏÓaÌÊÍÛÛÛÛ{’›êŠO¥î,l|Ö%yÖæ.]¸ð-»^&ÅÅcÇrÎW5ãñB¿Pu~ºlØÂ)¶¶“Ž’ü¾­—Aвï©÷b·oß»?ñ=yṟ ‚¾ž/\ž¸}ï=±£.oŠÿ¾ÞX:ù½4|ÿ·ßþ°g9½#rÓÏ*õ­1ɲi)'¾ýöÛ=Ëá›øäŸÕBϨ¨I¤øí„=Is$ÐŽÈM×GÅî?yôè‘Ä9Š­‘ÉÅjòÄ«“¶ï=°g½8?9ý–*Žm:D-ßsòäÉ“GߣóòeFúx)ï\i–ޱíæû¥*û®Œ÷Þ¨NQ[ÏiS]…ꟓcÁò´o¿ýöDÊ{НbvÜRÛ¾>Œ¬N97•4²_ß;/>2–§øãÄG,¶¿}hoÁã.lª¢Œ/Ϙøýõ‰ÜÍ¥‡vœV ŽˆŠŠúЗwfϾâf´•W`òòÿþÑ|»ÊÓßÜ«ñnduÁmC/@Õí‚JÒmüSÙKU|ô¨ÒcöT+SØŽó”$'§H#IêB¾L2ç=W!ð¦ÌqJNþNFO †Í™d @J¥$%W8‰Å ;uð;é{ã\Þ‹Ž3šKn_RZM¶ïîÐ Èabã}Õø¯E9¢æ·Ã(ñ™¢óë¯Û¯6ê²S`\‚a»…£æL!ƒO]WM¢¿“I¦Lså€ÃÛËÇm½ 7¶jª´T+iÕãÇGõ`Õ–B ½Òa 1ÕÉ”>ÿU3øá‘ž°yšÝ9u_óÆ+<¥LySØï}K6tXÁT;PU · áà sóÙª£n¶ÐRkˆk?Î@KN“R ,Á€þCùÀhÆê/ì7„ Ä«f§ÔCcã· ¼~æ"àšMÍÿª°ñÞ+–`€h´€È’à©iJ 78\kŽö‡+ CG GˆDëÞ=ßÁUU^©#]my töp6¹R×ó·¸îÒõû™#­y¼!~!k¹¦ h)=òåQÕä࿌yrs4•?–‚óòñÖ†MÆÝñc¥ÆÕ ¬F»ÙñÀÔÊ^WT-¼ÁãÜÈ n«ÜÜ„ªÒ‚jÑøÙOµ¸=ªôøK WyϪ!„~ýèÒ©)@ Z.TEÙµc§ùjª8·-õ”Ìdˆ÷BoióÅc™çÓSµ¢ðyv–mÅuîÞ¦ÓwÛvØ.b‘ÕÍ©§nÃi =…å'œOßf²nÝô¥“ªÒò•¢IKNpÄÜÒW‚Ëý“É»”>AËF‰4µçv¥ž· ú`ºuß /êâôodrEð[ß´M!^_ñÒ–4Ôçù¤- (€ Åmƒ$ ZN?Ýd@)(š°m»Ï7Œ~QW|¿5ùàe9 ´BFKºØ ª‚‚Ç« Äb @moÙú‹i±)°cÇÁ˜Å1rrØŒÕákŸê0Ö,»Tg5FÚíw„“„B¦Pƒƒ±ô¢*þ&yë××4ÐrŒzrƒ»Û/Z¡ ‰am;Ã'mIúEÑ4M¶dÛÄWHÂXtQ–^i¶}Û¶çÏNWc]8lAÛÉŒZ.ÿMWî±+”òòRqË@×:މçñ¹$ é‘NÃçµ-Θq4ô4p@`¬xVÛJàwl¸ÖÓ4Ýô®}×÷µNa4f&”€G°/õdd4ÿ(Àö«óÊͪk9„§û€5nfOÝg8¸Z•Lû·Þ=à™X™p{Ž.@Q-\SÓÖç™¶Ý{ÐVfeTjM†‰ 4²ƒŸ¦üD@ÿÑÁÁÎ*mKåŽOb m:Zm تZÀ €Ëm{§¶K ÏzôxQAÁm•ÛÒ«Eãæ[CséöOwÜjàZM^»Ìöt–Òã/Ö<Àñù!„~›èÒ¢R*\h®½|òr €•«Ô }¹¬|Îó(¾O—XùÌ›>J àÀ-.N»y-Oæ?ϤýMËÏËDÞÓݬA4]z>½8¯Bášw[ ÂI3wñwÆ·ˆO:p¹}´BëþO×Ú_™7-ÔÕyÉ¡1‘ÇFícÛ)MVþT'9¤ûqîÂaÓœèMéùõ¯u”_}*n=gýÛô¦°dùò´´9|PÇÍ íÜè;ºÛ/B,& É«-–b1IPMQ€EëDcÆT²KJ+û_÷ëÍè$²þIyõó’?mp—E9<µ¦Ik82M:›x®U!àK¿ò¦YÇÉú«=.(-›&Zz¥¬&êT宯¼oÉîíÁå ¹ ihÖ€ˆ i©kѶŸäµíñFûÄYŸ$M´Õ*­!ñiTµJ­È ÿøàåögRí»d÷×1"žÔ/$âíÖµ˜T MLF.˜/íôuïâYiÖnãDg~¼]Õòc•‡›Ïÿ0B À5á–î(¥êJSâ΀¶¥E ;â’¦{Yã°F„BF¯î½_D{3=!>>>~sÚ©ÛZ“!3zŠÛ®œb+!€FU§¡á_À5™´(›µóO]3(O%„………ý#] ­UÖ–³ò€gî8|ÔpG1^Âú*±û² ·àäçÿþwrމÿ‹†›÷éÍ­ÏO¿ ž6éñ@{°4Mr9=ß0€E‘ÿõu¨ËNå+¤žN†¯ìë¯o©@uùëË´“§ôéú¯pÔ{NÔ÷éê ú»ø•ÁÉ×ë)Eˆ_‘ÔÕyé§ä@·6âMuªºÛŽ›&•üºX êŠo–‘“¦JÖšU?Ç­I¿¥¾­Ó+â§çÐT_’™Žtîi´ˆÅ”µ $bBãNW«ÔÕ?ŒŽ¿@K$|Z¡  ‰TÌPW|Ÿ~™jÛZ‚¦«)5¨»Ú¯Ö æ4m\Hϯ¨¿|0Ÿ6m˜t%‘ŸÊ¿¥PW|³ã‚±qØÍ²ë¬Æ ùÕoL˜÷{O¨>TXO$~½ë'i#B«ŽÜøðPk¸«ñœk4S¨9ôS ¹z®âÓkÝøë«S¢Œí×F϶mô •ÅoZ9}N3b£¦YX,_PüN:)qš2gŠäòõ§B׳4µE¸Îc]xƒ¥]ÍM¼îJlù¡eø[dwåb.Ž|«åÓ3ejàw—®“rž ψ?Û϶æ¿÷VmÓƒ6ýÖ¸ñôÆ7NÔo4q/:­ômélIÕæ=וÀáŽpµ[*a?ÇÁåYOž?Y¶çËä’VÎc†õ7t³öð}ýPÒ¿.ˆ„ý‡ sî»Ó®ñ¤3—ûfd|ùÉé­‰ÕÈ™‹<¬AÙvˆLg.ÿÙ—{¿²öícTLg/Ÿ|èPR\pEÎoÎl ÐÒev6^tôhõàEÃðTŽBèb©ÕÏþ»x†‡#sÝ‚>YäØù¶˜æþáøÍç›]ƒ>YæÈE^rü1wˆ÷~8²ê\r|¦Lèæ?×S¤Ì;•S%ò^µÌµ<åns‡L[è-.?•ž_%|ýƒðëâäÓe&CgÌ{Ëu¨6ÃüQ0 £×ëu:N§£iZ­VWVVN˜0áÙßáÑ£G¿Ê–Ô4oÇÔ=OtÀªH_Ôöøcô+¹•47¸lý‘¤ñX¦¿5eî¿>»þvÄ7ìe‹Bè¥affÖý ìßf½bÏUAÓ\EU9éi»ŽÃIKƒ¦?ñ›,â Kƒ¼‡r‹3Ó>O˼Íuôž>V æîË‚¼‡ e§v¥¥ç«¤cçÍpàéO7!´Ü<¶ÿd9> ¡—Š*oÃô™Ñyõ úùë|…tªs B!„žG¯:Œñ^]•`ü•'tœbê8eÙGSº};sÇé«"¦?1ÑÔØDóQ‹>µB/¡çúõy‘ñóÞŒ ¥SÖÇ>ÑÓ !„BèõªÃØ/Ô|ÿrvzz~‰Û/rÀn_z}§ÃB!„zá^T‡1c4§öç×É;Ì-!„B¡Þàþ~«â½º*>K!„B!ôØX!„B!Œ.!„B!„Ñ!„B!„Ñ!„B!„0º ô‹?¾lü#„BýYêuXóC/1³B!ôG@FôGÆápø|>¶½ „B½¼Øl¶‰‰É³Ôè¸XXèeO/Ë!„Bèr°B!„B]B!„B£ B!„B£ B!„BõÜ~øK!„B!Ô×£Ëo¼¥€^†aôz½N§Óét4M«ÕêÊÊJ,„B!dvC!„BatA!„B!Œ.!„B!Œ.!„B!„Ñ!„B!„0º „B!„0º „B!„F„B!„Âè‚B!„Âè‚B!„B]B!„BJ\,„B!ôg yP÷`ïîÆ¼3Úúz,>‚#õ›ìm¹h ÏÒ £ B!„B yPW¾j9£V³ùüg©%£ß£Õ6œþ¦1ïÌ­i=—çê0¦Èû4,,,,,îdm·süûró3}Êw†‡…}rø¾B!„ú-<Ø»›Q«9‹‹÷îû—ËôÍÍu»wõ8óóD—ÚËyuÀqAyñܯ7xvo-]ºt®§˜‡!„BýžÉaóùX}›à« ~èq¶Þ‡NMíÅóJyû{ÞL;Vt¾jz€¯õ…sûw+ªÓr­\=µíAçû¸„Sª¡þÓ¹9'‹•Z‘«ÿRoí©ôc7• r´Ì]¬©úï®]Ŧ¯¯ àåÅ%œR ;C˜òbU Wäæ4Ï3MŸ¤iÖðLyÝM@!„ê+tJ%öë³X\®æA]Ï §÷ÉåÜE%Xy¾îè6I ªËç«ZÛ]çwfÕq‡N[ºÔǺü¢²=ñ¸Ú›9åŽÓýÇŠ@YœùyúÍ!Óç¾nÊâÌcåšmZg>uYè=oîëVZeQffy3;\îŸLNØyYñøs±->õ¿µøNŽ/;vìØ±c}ãnªŸÿmÔ—ÖO;vìØ±מUã§ !„Bèô6ºhªò/ªÀj¸šµv£ì åZžLÐX~±@4všçðWG½åÿº°ór¢×§{ŽrËÓ „£fxŽrËÓ@[[k$˜ˆÆL5Üý-;mm• SÄðÞª·àdêÎË ¦öÜ®Ôÿ•Ó­±ÑýêTg#¼ yqlÀÎ*,„BèO«—Æ4²¼k--9ŸÇç´N*Î+ov|Õ´EÕ ¦ÖBð„ÖB€Ž‘C(ׄ¦V&<­)@«}z-B;!€©‰ @ ¥>Jì¾,v¦~þïlÖnÞ‹†›ÿ všo1ÈÁVEa7»ËþNÁeSD6…å€B¡^F—æò¼âõŸá*4üûäü›ùåͯ7š(Uµ* ˜ó4*l*ùó¤ÞÉóÜIÓÿ¹„ãÇÿ{—˜, .!„êuti.Ï¿©Ñ(ï í Sì”9ùÇnæÝl>ÊÁÍ ªêÎËsô–ÿ÷²!ºàãŽÿéeÔôéX è· .—6ÅdÕ €ù!„úÓëÍX—æò¼›Zu=®¶+¸w³¬=Î*ÒÞ>µ+=G5ÊÛ“ Bè—ˆ¬zp^ú×1X!„b©Õø|#ôb0 £×ëu:N§£iZ­VWVVN˜0á9ë¹7Oïüb_ö¥kÕië<Ækþ²¥ïްT_Zï½ú `á¿ãXÄÕö‰0&)gëDáSï§¾á»<›zr†Ç¼S þéÇ"†>9ÜE}7wßÎÃÙ—®Þ­¦h ,œÇLð Xà5¨Ó¬í«'&$å$O|âmTW“—-ßU`ëŸôU„‘Í놺êRÖ¾ÃÙg/]­¨§¡µ0FŒñ Xà5è©wRŸ]ïr†°ýàÐñeƒ@uóô_ìËm+GÂÂaÄ„€¿~°`ŒeÛÆ]ïr†‡Ž^f×ÅVT}0ã³ &'ÞÔ»=h .ѳWgÕØÎOß1áó·CÎõ´J„B¨;Å^Ïòpd–kÈà˜)í“tµ7›²3êŽþ¬ër f‡Mí'wþs1ú†Vãûª}øß;Lë6?`[¸€èS¾êpÄjCn!'Çîè]nQÝü*"ä³sõ§RÕ¥ç²JÏe}1|þÆë'Zvz‘Ï'hº^­º{_¾ÁâÐÖw{j1P^ŽbLøÎ8_ËÞlÃݯÖ.üìZkAø- ˜àνnéR]JŽÈ¬[ÿ¸Fà#¨B½`úÒÓTíÛ䨬R°ø{àNÒݨ|-o¸UüÇv ïÜÝy¿u>Þ`c¯&És†v7"_Ïlid†Ògi‘`4À0š³ã#ÙØ®!ƒ"—G>z˜}¯¿÷$âÀµØ®¾¦p­ºø˯m˜:ß¼·*¾åp¼þiëu–=¬ÒpÜ×;ümCÿÒhb0 )²°R}ÿIC,]Oß¿@ 6mHª »ÃöøxðßÖ÷Ûú·Ê÷Ù^ÿ¼Üß${Ss_Û¿MÑïø¨ü¿÷aлã­ï~ /¦®µQh4Öýâ>·œæQ§Ÿ IDAT;´qs‡}ÿ•Ž?Žè%O.çöµö&rþëú')„#>ˆö·øÍ·A}u熇¢<8,½>\?è3»ÎvóÔðªã« ùÇÖ/iëÚ^ÖÙÕWw¶6ú8¸qíS}´øƒD}à ‡w^5ÞŒadIþˆùóZ·ï\Eëbüá^dë{åùÈ»¹ÇŸ?¹´ ÿ¸µ\Bõš&XkÀ$ဆÆ?j5®)³îsÆ'Ú~»ûWŸe Ìþžî|èhûƒ— f^QþÔXÜúû7µ  ¹pZk5^8€ 0õÊü|¼åQ§÷¢sò[€ÀÄÊ«ª4 »|º©i€ÐYÐpïaÎ=4ÝW7×ZÐô½Æ wýýû:¸¯º|ŸÐß¿§ç‰¸\×·ùM?*rï3ÌÝïn Ì< [H«³ó4PÒ÷›X¢þ¬ßàP`« z¹©Ks vpðó2Òu‰?bŸmæ®êßtîoâà5èé×-½ÖÇÂ]ZXÚ:]VØãVÇœ¡€œ»5º×ÃÚÕw·ö™>ßÇx¯4;ŸùΟŔPçŽßUxê0f©±þlCPAPõ*€Àwð±Èʬ¨ÈzºÝån[o1[¿€¡½Ìª«íÁÅHC!„^^ ôµMŒ@ÄkñÆôþm1ƒÝt‡Ýž=ºµ›:õ¤êr¬‹^£ik»ÐðîþØpqõ ú;ÓÔ?oê;õ1¡õ ïÃãô'ôw›Úšwšt‚Ý_ÀôÃê;ÖÕ0íˆ}§máq¬lÑ”»&µg-†°  M‡=áý&‡£ z¹Õ—Þmƒ?h¨ñæÛ‰ÎÄ®jú7ÜUé5Cj †ßáßwGt›;¾Z»6³ˆ1îŒó}ŽGh©®µnƒ…³sW~¡ó (­¨/-UÁS¡Âa‚ñ¨@ ãø¡ÃÓùÎ>™ûêJ³ÎU-°ëœ\ª[ƒÜ»ƒzÀ®&oxÜâ‚Á!„PŸÀv}W(ª}x¹@ÉÐ÷jC?h¨ëøº@КŒ¾Ê3mÿÓø ¿D-•}ÇÒo’ÉÝ¡&Mùõw5]t×èhCVa­khz®¡ómm“¾öø½Ð´–މ‹7ü÷9]ÐKM]·õiZƒ,Œßàç[ ²€3Õ¿å6\mÛ[‹çèàT³ì³k4Xø'o\`t€KÕé¸Ï³ëŸêæÅ·óù`½¯€ºþfë6Ôg.ôÈì1ðÝ­xò B[ãMBÁú!ùCý|l÷í«(=|®* CviO.Î>ƒ‡³ÃñÉFzËñ„¯mkbR_ÝÔ\üâÖŽÁà‚BèÅãõ7ñ´ú«§>'FqWÃðòUuïŠf½¦úâÿ³w÷qMÞ÷þøß•Ü€$8b§¤VƒV2­¡7Á¶Ä­…ÖC8=Æo[ÂÎÀÓÛ ümb{n»z6¡ç!œM9íWØw’Ó a¶¤†¶’Þpµ:b•H5hM*&0H®$àï w Vë ¯çÃ?ðJrÝ|®+ðy]Ÿ›ëóAîwfglúÎ?þŸýÏþ÷^83á«_]ðÒ,nø,"ßÄoøF³où>møáSQ‡|}òÿ}F3ýT-”|Öc#νjAøI§åW¶ÅÁ#ûÙ ë¾s¯þìÁÎ ³ã#sÖqþZrÎ2ñ›GŽýjuAt››ÇhOá 'ë‹Åñ®ñ>¸ÙËíÃ䟵”oÜb 'Ólcô±b]L“¡É9þã"IfN ñ‰ÜîéÌÂårzØ@߯QAb:{§IëªÆe«þbr j‹q6šš&hú²*rÑ…m-).y.p]Ý1ïµ?Ï#"¢¡Î6÷Þ_Úþj""ïIçì ùù&i5ï6¢AëŽW¿º0ÒÐ1ñ«^Ï'Ÿ{“Ÿ[TuŸýÿ{i¢7Œ­·Ìþ÷½²QK:»¶ü´{²=ýÇg=ÖgÅË;ÏM°ª ¼qp§mÉ–yÅ{£ÉK}_¹þ«¤ÇFteOJ³½cÿ¯ùâŒWïÌ&âz<ŸüÏYËdS9:v×?®Â‰AtøÆÑe§Èi J$U›Jk ® â>’™DÉÛ¶i$— !<±ì›—ª5±U壳‹Uoð'—øô¤iMìÜZ^PgGp€ëî‘'ÖïœôUÛþ³Ïï?;º‚Þ·í‰jýøWièÐΓ#+üÇo¸èüÇg´Oü’õçíÆ‘¸²ÿ”vÿÈ\Ûžê×Ð7²3güDpÄ9_ùË“•cBHÝIípW ïÇOžp]\xÁúúIíðßu"ð³×wp×郻F¯Ë´9oÿmh÷ÿ|ìW¢ ÜÜFbŒ4¿Œ«»ìî+ $ìTsˆ@èQåv²ì4Û.ˆˆbSw”e9 Ö›‰œuyʼnú"Õ˜y¾â [ .YÃû@™B÷­LÌ%MÖÄ–—ú³‹C£‰N.Šteprá+Jš[.\ÚÊ tv"¢ød…ƒ1Ǽîî’çl56%|"Å«äѸþfD¸©ñ…R¡¿Êî´;YšhœˆÇnu^:£L¼Ôáœbtá‹d""'9­NÏt£KlæžÊ\¹hÇ6cÚv“‡Ü†‚‚¤ú²i=Œ2x:ìúv¢ ITZYi±…È¢794êè‘äÂS¦'Ngÿ=vK`0’Y·}«nò7º›J·6‘rçÁ²hL 0£à¹.psI¥Úo[Û„ …µZ'ZÎãúX¹\a­&ëT÷A(‹L,f1Ú&\YkeaAAAAA‘~ìSPxE`F°hõ¶¢$‘Ç´uK­mzå ”)ûÐf°|kŸ—(5þÞ¸æÆAÁÉ}¾Ñ`L•]ÊÖÑ0ÑÓ]¦jãDýÅøBq rmcìã«úS…aÊÝÌøRµÒÿ„F§¡Ê<~-SYÑ`0  ]j´ª°(Õ@ÌÅ[*­ÓI |ij’ÿ£nc…Ñ1á{ú\µ:+¯¤¶ÙqÕ²KRº2ÄÖ³Ãjô'J;Íä"Tín¹”ƒ;•þ7ÆæÔ•%¢ÉÑà¦"Qj3‰[Ê‹Ç6jØ ›&î÷%RHyª~¥itUžµÖn-0McÄ=_ž•åä¼ÛPP<&88šËŠýûÀSŽ2A>1Gº8p4¹å­Ó/ü¸¬lAx˜í[«ÛÆ~ÔÕV¹¥Ød·››tú«ø”›è@ñ{Zõ&£>\Òã+àêÃX¸é³KruN"iûz­)]“$óY§1èêLv'§ò ãR‚\£ä™š£ªƒÈiØ’Ö–¤Ñ$ÊD<ÝÒ¬¯mêðE^þå°ðå9;2›3ª:ˆìº-ŪšÂ)7`H4Eù†õÅŒ‡ŽHtÙ·ÝÆ², nœè¢T*¯övlÕš´Ò"ŠÍ©©Í’¢àf"û–ü£ñðpÅ hð|ßœ‡S$›·\úm¦·¾èþè6>oð|ߟ¥qã¸àó žï›6÷G™—}3šÌàÖÇž{çk•çþXå:ø¾×qrƒ‰ŒœópÊÜer£ç"ºÒ‹dóº\¯$¸a¡Ã º ºÀ ±.pË“hk[´(€›Z]ÑÑ]]®Mtñ{íùçŸÏÿÓ—Þ1ËÏüå¥çŸÏí˜wÚÛï=öÁ>Ó/Q¿¹ìùçŸÿí]c–\çV—®–úúÙú‰ˆÂ¦efdj– Ç,¸òçºôwìß»÷ݶn_¨$A97è…^ó_öÖ·œè PÉŠ´Œ'ï‰áz½öâëm‘k2âmõÚ\ºpMÖ3Ð/î:â#¢7ýüG™/=CõU{OÍM{^óå«#ËMkþ±¯¥?.óÅgâÈz•ýzï©È5ϬÁɻμý^n÷R ®š+muñž1T½ÝÖ¶bÝÓṗ]Ã/tîÛUõá Z™‘“óDœëð›¯í;ã%ârˆè܆®¸u™Å…œ:ðÆî…k3ˆ$¢È2sž¼3l$M/JñÀŠHò}ÙÒÑODý¶ÑÜû[®p9³¯ìw•‡º†ÿÛiz­x×»èã7Vtén;â"šûÈZåÒ¥÷¤i–·Þt¶:G$yä‘•±±÷¬}`.uþh¸:˹s­æÁøøY)$ê¶uQŒDFDa’…±1a×Í ^1_yÿ\ò}Ùbó’×ÖÒ᣹ʕH.×wþ??óíÛUy¨Ëëí4Uí:ºîéµ1ht€kã ;ŒyûÏõ‘PèOÂ!q‘·ßÕOD¶7ýü›Ãïµuû(Œˆ(,2’CDܰ0Mùö|ÌÊ%o×µµØú9‡N díò(œ·BÔ=YÏRå®òW ^ŸäÉœÆG Là‹.Ü0aÑ€ËÕOFÔÕé^>7Œh@’–“hGá„F†Ñ©oTC^þÀº7Û>2‡~颅!¹Ü`é…»ï#Îk‘[àšºÒc‘Ëã„DçÞ­ÿÀl6ÕÕ·ùËcâWÎ%²™Zl®þNs}åk{÷š|ž0.—CD]‡›;º¼“/ˆ_ÇqµÔØM‹ŒCùK/+×"·À ]¸±k3×,ºŽÔW½ÑÂQ&Dù¼DD1<“ùÀ"_ËÞ]åUïv ãY{‰¬¶èÁBh«cß—ý—Xvçq N’ ÀŒt˲7ÁnzÏü¥ø??ì_þô‹YKÃpÖn.\ôx<,Ëž>}Z©T¢d`<Î ¿‡ýg޵8løÐE‘k¹¹ÑåFäu®Û{ ›"ãÒžyd>¦Þ˜™n’cp+B‡1˜ºY(@t@tDDD@t@t@tDD˜‰8ï¿ÿ>Jnôè²tÙr”ÜàÐa ]]ÑÑÑn%ÜÔúúúzzz<ÏÐÐJcŠBCC£¢¢BCCQ€èð-å–sçΉD¢ðððY³Ð„8U.—ë믿¾ýöÛ‘^à&‚ÚÜÄzzzbbb„B!rË´…B‘HÔÕÕ…¢D€oÃÀÀÀìÙ³QW <<Üãñ Ñnìoþ¬Yˆ.ˆ.0ó\Ñ c=Ÿ¾¾ûo]D÷ýxc’èÊ6¼6iQ8ùNþï«5'çÜ«–uîÿÈÚG|ñýÿÕÂPê;aÜgøÜÚË…D,¸;Yýð\7–iuñ9?7÷RTÂÝ –Þ#¦¾c‡Îú!ˆÃ!"{kïҴ̦H9]ÇÞþ‹Ù=ùò ¹¿ø³®©½gÞCêu­àÛÍõ5Mg}¾³ûku͹wý¿¦®=wì¯né ]’º4œˆæ>ôÄ á¡¦ÿWóñÉI¯O{HÒgýøÍÿirúˆBBˆ¨‹9ØsGòº‡îà³öÞþØI¾SûõYe=õ¯OªïæÛZöí?5€ëà3ÝV_'Ózž¢â%ÄÆ,¡Ç[l¾ù GV•ð|þš·z‰Ñj¶³¬Œ™xùÒ‰ÖÞw²åô ÍVü@±lg‰$bÑ)–Jþ}ë7¬ä„G‰~ÇìÇzl=¾ûÆÌáQx̘9êÙÁ³‡Ì=D “×*—„Å ýý_Ïý¼kµŠˆˆB$¥$, õ…Ÿh9y¨·³ÇGŸÈwö”­kÙ÷ÿ0ïa.ŠérŸhbV&Ý5E7JtñÙ˜ã,ûÉŸþðI`‘…95°pÑðþ>‡JÄôù&]>Áêºúˆ(<&œCDÁÂ%wù«Æ‡÷›m½ƒ·… ú&ßE¶«ˆ?'Üd¡áá!t®¯g¸!%tN‡ˆ8üPùˆ8 “ÓVöyÿ¯GÞ' ‰Zž¦]»=Ʀž[,ú?ýµ“Ã9椧Ö!½À]N}zœ¥ˆø”ï/ ÷ÿÿý·[N2§ÉÙ¥¯³î %Ÿ?,„†¯²å£…Fñ‰ˆíb}$àøzŽ›-=ü…KùêÛhÁ?ýÛÿ‘ÏéüëïÿÔê»Ô>ò£Âét_O$¢ž¾A¢Q8Qß$_òè—<ês;m'?ßÐrd_ÓÊŸþ“/SÍ-÷ÿ(3žs¬¾úê^àZ™ÖX—Ó̉Aš³ô¾»—,‘-Y"["¿gE žl992v¥÷ów›¾8yÔ¸ÿK$‰‡^fù˜qÇ= ˆz[™ã'Ž6ÕþÙð·Oùh$"ß@_§å`Ó –h°çl§ÛÇá‡Q§¹õäÙ ¡3œy+ãçÚ¿ïÓã'¾øømã9¢¹ rÑdQ¤çÓ?•¼²ó?=Ýëã„‹Â9D|>bË”øœM5÷kÿe¥ˆÃ™¿N»ššjþvÖ‡’€k`:µôSÌÉA ¿cÙÅûêssàýSÌI÷²…DDs·ØÙôÖÇ=ƒü¨åÉÿ/ À(”qË' /?þ”S¿ïÓ÷ßz“(\ÿOý`¾€~°æŽ7œüÛÿ³¶½ýìïß={Jº¸R9ôr£‹ûØÚÃâš'#ySŒ.s†Ü}C‚I:ýN¸6€«í 0£x¿zï­Ï)éçϦI¹DDÜyË~æçQŸœrͯ½õyg?…ÍO|"3mY„׺wû®^սܿ·Ÿéì¢Åjíª³ïvvº8KŸÈÍZq¶~ûoÛïNŠh?vÖÕåâ,V?“¹z—¼g?~³JßêoÙYüp†V%í=ú‡_½ñ¨¼÷³ö®®.WÄÝÚgŸü^Ñy«±zï;í."Æ>üDæÃKfÓÙ÷^þíßï{,êèggºº\ûèÓϬ¦·_}­Õå;Z´ýèÓëúë^{óóNqbî~â™'¿w½ŽºŽ[s «%¢ÅËþòû‘Q¾Þÿ¨hïŽÿìûºÏëŸóÓÇï\3‡hÀ]ûÎIÝi¯‡ˆ1çÇ©w¤7×Løª¯¿ñíöÿj÷òøÜ÷EŸ}¿sõdôsãòøÊûˆˆ|½ÿñ‡ö¾Ôï½tÇõøµÆá/^ºð•(Êú£µê¾9?™å>yê7ï:¾`‰B¸÷ÜwÇ¿+¼ÉJãêÈ©8³,cÅOcfužÒîíÍü7é{-ÝŠhjïmïòÐÉ/—üñcש^/Oº°TE4ÑÖݯVXºï‹¦c½§ú<]áO5w®é=™ÝÐ×G_j«¢_É.žJÉ9Ïdû[]8ýo·ÿ·Õë¡!â ÔÜ™É9¼¶¨“^_öÅGœbz¢ÖH<ìc-;>%¿¦`R³P0“ô¶í®ºw~p+î¼U«¿÷ÝÙD΃¯UµÎ{¢à•W^y¥@Íi~mïßÏq8Ôßq\úÄæ¶ü‹°õͪ¿/Ëܼu[šÛªÿä,Í&_G+=šûÂÖm/>-µÖU}ÒKÞ³oïz³}ñ3/¾òÊ+¿Î]Ý«ßõÖq/‡ëíjµ.ÎØüÂÖß<ÿ¨·ù­OÎ?Z½Kß»úç¿~å•W ÔÜ÷^¯ lÖ×ñ=üì [·½˜9¿C¯o§ï¦=­ŽáÌ¢`[–ôŒþÍÏ#žxñ•W^yåÅÌÅ]Ÿ|vÖ{}‹¶çëºç="¯Ï]Uÿ£ù¼#_þö¸—ˆhpðÐéÙ?Ë”WþDþ³ðîÿx·ÛMC_8þß=ѥϭªÏýÞK ܯÖ~uêbΉ_í2ùêéÙ¿|nUÍOdœþúè ñ8akV…}}ØqŠˆˆ<ösŸ’pÝ‚ëy;†½&Â÷éI–ú:_ü³ƒ÷ÐòúÜU5OÎí~ÿø«¶¡IJã’Î|J2x€q{ˆˆ†Nëî’ܾ:œx4xètøÏ2â«ÿí»Qí§_<>ç—™òêIxígC“mGƒŸ´‡þ$#¾2[þs~Ï7Ÿ§w¼´‚Ã]pguæÔrKÏéŽWO‡¿ôܪúÜ„Ê5¡_ëq¯­oÂëa–€|‡NÏ~)wUéJÑ„‡ð­D—9÷<ýÂ/žß+l²åß>o—Âæ…M8R¤·ã㎰UI‹#ˆˆ"ä/æ¶rÆKDÄ™¿zi…͛ƙßâÙDÃõží÷ç…˜Õ«¿Ë%¢ÙÒ{¥Ü³?ãímmíŠJJ’Î&"î¼{Uóûú³7lñjÿ¸šˆyQœþ³ý^oÇÁ£´L½z—ˆ"–=,çtì¬öÞ»ý«‘ ÉÕÛœ·Âæ…y­Ÿ4ÿý«^ïì%iÏ=£šÇ½®Eë>íhçGjp‰ˆæ|ç©tèÈy-Vˆn'"⮌ŸMöîSçOÞußÜ…"âÜ¥ˆ¹½·çÓ‘}¾êkoà-˜»2”ˆøkEóˆˆèö%·/îsè;‡ˆ†Úͽ´xÞ]×¹!™»Oî¾Á®Ó_ð£~´˜OD|ß„ÏïkvhxM¾:5pA0—A*ñÿð§Xÿóðù¯ÒŸœµf½à:±ð±í}$ˆâzz½çÏå”9üûã¡ ¼^¢‰Jƒ.yàC‚âÕ!íu§}+#œ>áÏÍJ³x#×DȬpŽÿS5»'Þ:—ˆü©LèÏ~´t¤ÄÓu&ç WðË<‰´üŸÏT}öÕæ힨ˆÌ5‹Òï¹ÜõBt[Tx`?'94D"¢ˆÅò(Ws“U±ddP¾÷+ã ˆÀÊ IDATÞ¦0uƲ¨0êï‰5ý®þ°ˆ°)¥_o?Ñl""¯«ŸÆ& £ö®‘…ýý>μ0¢þ‰â”0",ìîg%µ-çåe‰*c‰ŠèüWW—WUI·m^uG»æ„pX·ÏÿKeÈÝ3ÎáÑà….öB úËz½üÙ ‰äÓ—}ƒV_Öë&Îíü‘à _ ½ÍÍúT³€+8ÇåFDVd/\8ê:é¨4¨ëR>‹8Í’Û63=_,ø‡gAì]¡“N—t.&ܺ{šGs› ‚5Ò\>0k\,œuû’ÿ¾d‘÷‹on8±ì¹‹Oóôzõ÷gÜ¡\ƺÀŒÂ÷ð÷r>ÙUþÆg_õzÉ{þìÑú]åoupæ…QDì}±ýŸ½×~žˆ¼ÎÏÞkç.^=j Z½DtþèÁvš¿j>7B.éjj²z‰ÈûUó{g„òU“ôèâÎ_½˜Ž½ý™ÓKDÞ³ï}­îèùKæ$W?Qïg¯½ü‡ƒg½D4{Þü˜ë?­@³˜í®=í%"êéúŸÓ³V®÷WUÛÇ)±„ÇDÞ:;åŽöý }_0_G}çž‘Ñêœ _å,\Ìï;éøb€ˆØ?vŽt^,˜·šþñûý=‚åþ®V׋ïÔñS›kœ¼±jÑ,Á‚è»úœº“^fÐÿ¹Mg 4+- Î¥œˆf-^uÚö{fèÅ”š•.±õ „ xÝÓ>Þ¡S̱l½£‹ˆˆ»0†/½¶K\Á€¦{h0áÕf˜ÙË2^È™_§¯{õWU>"NTì*õÏŸ^-M4{õ3™g«Þ|éýD$Œ}øYí²ÙäíšÂ×(FNコÝÚÕÛ/\¶î™UÄxìÙ WÕk¿ú…ˆµtݳë¤\òN²GÚg®Þû»_½EDœ¨¥iÏž¸†(bÙ}±z}Ñ/ŽjŸÿ—ÕŸU½ú‹:/—¸œyKŸÈ”_ç ÆæÄ¼”zþ7ﶦ±DÄ]™¸ø…;8ä# ¹kûû?nïñz¢¢^X) ºë‘%?m8¹ùv/ê;ÿ®™¿ðbãì _¥wüääñ_üá3A8ïEôíÃoç4KoÛøçg_—üÖÿ›òOCDDáá«×,{e¥@@Dá1¿||`¸4n[¸xÁ/ýóhMP#m(“8‰¢Õs¾þýÀ¼ŸÅLífÓd[ŸèîÕÂ%‘·Öñ~ß]üoq÷N£ÝcÖÂåâ5'­Y¯Z=D<þì5Þ¹’3Ë´¶‰¯‡1¦{h0³]½çº\ ×ü¹.WÝÙ÷¶ÿöïê_o^5û&+êo£ô|½ÿQÑÞ§^ùÒ‚«Z1íù:ëÿžÓdËÕáDD_2g‰©Ìˆ‰ºÁKüÊKÃûá­¯I—¦¾¥Ü‡WntÀMÀsúËõeÇ{†ˆ|í‡Ï}.\æqÞãø}³wõCQQ·î±»Ožþ}çìÌø0Ìpè07Þ‚…/,=þÛÿûÙ«D¼9Â?þÝÅœ¡/ÞmÝ|xð®{¿pËNNÕ¯«:òZ?5uéšpÌtè07–›¯ÃØM ¥7tDD@t¸QpŽ=‚R€Ç´†éÀ Š.=ôJ®‹ . z<–eOŸ>b€ ¡Ã º º¢ ¢ ¢ ÜJ8(¸y ›;wî‰'PpƒX´h¢ ܲbbbPWL( …B”Ü,Ða ]]ÑÑÑ]]]ÑÑf$Ît?àí<´¯ÞÐÒvn€ˆ8BIÜ­ûþÒˆÉ?Ð{샻=¢œÏøõ~sÙ‹U§æ¦å¿ð`ÎLhz­.ÞÎýå¿ÛûaÛ¹°¸„x a!Çväí×ÿóOÇú'ýHWK}ýlý(j¸rÓjuéo«×F$I{>çÁ.ÑÚ5¼¶÷u»¼F]‡êöÖ·œrqæ._ûä“Jl•/î:â#¢7ýüG™/åÞiÛ¿÷wÛº}DÂ…÷¯ËÐÄmhé=¶ïÍzSÛ¹¢Ð¹qÊ´'Ö. êïØ¿wï»mݾPIBò¢ŽúÏ-zºè¹¥\œ?€b:­.ÞÎ#>¢…kVÄ ‡ñÏý<÷‡Ê.u}ôÚÞ–Sœû3sž^sîH}Õ¾3´pmæ‘Dù@fΓwÒ±ÚÊ·Û\ Óž}ö‰åÞSUí=Ô;zgö•¿~ màÎÇ2ŸÎx,ÖÕvàõ]û:½Þ3ûªÞnëæÄ=–ñäýdúð©åÒ{lß¾C](¸–¦×êâòq„°‰^.ÏøÙ"®0&&‚+Y1÷€íœíœ»R" #ê“,Œ ó†&?û³5ܨù1a^olÝ‘¶î/]Þ•Û]¼¶Zº‰­{òûñaDïá_¿i;dê\ÉmsÍM^÷ý•QÇi;ôúœ¸'·˜ÿTþ†Ã=ÔIÏf­Äp%¸¢K˜0ŒÈÕÝÕOwŽoõðu~û S[÷ÀäŸè8ðæÛGl.ßdѨÓE%ä¶&乺ÝýaýD$Œ #"âDÅéˆ gî†É-ukržÀ9´w×®J¤¸V¦ÓaŒ³ba(‘í@Ëo`‘÷ÌþWóõjí±Þ3ûöhëŽzìg/ýîwÏ?9Q5÷Èo¶y—gþªèw/=7Ah ‹ tuû£M·ËG$Œ‰ †‘ËÕODäëêDn¹1x;÷½^7°æÙLe —uOֳо×þ2rm\MÓkuYš¶vQ[݉·ÿówm Ë%¡玴´uSèŠ8I˜¯ÅKDÞWç±|è""×—]Ëc¹"ê:|Øëöùú»m‡ZÞîðõwžêì¿x“ž+¹?!ò£'êßø€s¿°óÃ}6"Ƀ 1sûã„>:·¯îáýœ#ûŽø®`Ng¸ú¸1<›Ï i€‹º'ëùx/ÃàZùÕ¯~5ð²`å*ÉP÷¹¯N´µ[OÙœ\Éò<ñÌ?ßþ]á×GÚ¬G™Ï¾â¬ÎH ?þù‰ö£®%kî¿Ýñyë[[›CºvmäWæí‡?9Ú#MM_éúìè‰#§„+ïüú£Ã=áq®ŽD,Y!é?{üpóGLk{_äòG~”¡ZÀùÎR_ÇÑööÖÃm}’ÕRWûY_ôª5«¢Cpþ®óÕà ¹Ì‚˹0lppppp°··wÁ‚(Xï6–eo†ýôööö‡EDpÉÛñÆKå-´"çÅÆâþþÍíÂ… CCCþÐâñxX–=}ú´R©DÉÀx7EÏ«®~[\N¸|]Æa[ý¡â,OˆAn@t¹±DÝŸõ„í·[êv! •,O[÷äÒ0œ;€äfé0· t€©ÃT]pÇáptww  4`B¡¡¡‘‘‘ÑÑÑ<ÑPýVëI0rÞ¿üòËÙ³gÇÄÄðù|LˆeÙóçÏùå—wÞyç5úV"ºÀTë¯'NœˆˆˆX´hQXØõuÚßßßÝÝ}âĉE‹!½\S‡ÃŸ[8Îm·Ý† ……… ‚sçÎ9‰D‚è׳þqj$WVOò'¨kWO¿îîîùóçóùüY³f¡4àBBB"""Μ9s¾’¸þ`ªõ×ÈÈÈm¯"##»»»qv®©ððpä¸|´˜5+<<üÚu(Å%S­¿ÞýÄÆ ÃÀñoú‰Áp©L¯ÃØûï¿óÓòÐC¡à›C« Ì\¶ZmBBBBBBJIÛ·òx#¶971!!A]fõÿß¡×&$$$hõŽoç€ÙÖBUBB‚ª°õº<͉µ1µ%5)‰ *µvcaYc› # ºLÊZ[iñÿäÔW™oÁG³ZËÔ Y7D.p1•SÒ6ë L‡ÓCÄxDn»…i¨Úš±F] ·áá¸WÈQ«MHÐTÛPpË›^‡1tþ[ÛZÝ`'¯KÖé,ÆJ“K¡~Ëû­®>˜ÌÒ5š!ßÑÆØ‰DAKøòBãÁ|ö[Ÿ‘ßÅi7ÖÙ‰H¤ÌÜœ®’Gû÷€µ1 %% »a»–åÕ”¤DãÊœö•li¶‰Q0 Õf&SipÅj´é‘Ǥ3:®Ç~ð¯YŽ`íMÖ‰7ø­uI^ˆd™{jÊrS†s ñ% MauÍ6%ÈÝ´½ØˆžcÓgg,”Ì x® ÌHŽæª&7Q¬&Y*á¥Ço73º&›Z3z r[µ&­´ƒ”;ñõÅeUF³ÓCD‚X¥:;/'E¨‚³m%i:§ u>ÇUY\Þ`²8=D$’%¥fçe«$“…‡^ûèv ɶ½S­in`mͺŠ*½±µÃí!ˆã5Ù9Y‰Á{Æ:škË«jM­NO$S$§çd«ãüíFlkaʆ7™·®IØJÿòÊž¹ uOc¡|d§\­úŠJ!°Ó$Ç+Tšì‘•ì'/igc‘ÈXR^i0u¸‰ˆ'ŠWeææk—l­²JÜD$Ëß‘+Ÿðõ¶¢Öb£P¥–?P޵6V”é ŒÙî>È$Mv¶F~±¨šsWo2QüËï”I›JŠ+ f»‡ˆ'’©²óó5r¡‹©..ÓýKÅŠÔœmy)Ã'ÃeÌZ³ÅL²mïì–5•”V»‡ˆxbErVNžfÌž:˜ÚòÊjÓ1RF‰š¬ìt•t¤e›SSjÓ•VÔú7;îb>6£®¢²¶9pl‚X…J“™£M jt²Vª×—ÛEëöÖçzJÊ+ŒÝMD±B•µ9O'yu”¦%”Ån®¯ÕJFΪ‘±JO+OT§ç¤O~5Þ²ØÖ´ NžrGcÙ·Þ² ˆ.ß”­©Š!"™V%!"eº‚¶2–ÊZ«&Wü6žODd3këŒGD«¾0£Ž%%§'K„ÎV}mSSÕ“e[M™zªOerµ–mÜPe!"‘,>NHŽ6³ÙP¾ÉhÜ\½[¨ýÚj7­/fþ$ÝZ¼_Ôdv^ñ½$ßrðsß]®ˆ¹Ü{ŽüÜs׃w_þ­€è0X Õ"ŠOO’E'f&ñ˜&{Cu[vAܨ?£<"¢Ž:£2(de&å¦m5™Ë‹©»ý•{ÕÞ\gNÞ©/J TQ³4ÕYëKͦ’òfÕÈÂKb[˶TYˆd™{v·P8Œ[ æÒ¼ÚÄZ­”ÈÕ\RÂxˆâókvk†ë Á$u%ú¬j­„H¢Ê* ƒ¹ƒ¤ëò R7ÞV[°Ýä&ž"¿z§æb#R册r‹aûödE™*^ˆˆÌåúàrЦ+²ÝnlMjÄsHV£•ˆH–,ŸÆýn‡q{Aƒ}tAk­Ý¤-fLŵÊÊ@=ˆÏ#òtÔé“^'£N$õFƒÛ´}‹ yGMQàÔ Ro28*Íy#5%‘ÇÞÐ Ü\S3\›ÏÊJ.\¿©¡CW\›^­•ÛV±¥Ôì!AÒËÕ%) .ðŽº¼’”ÆBß_B<"r6”[Ó÷èó;­MO.JÛPçlª©5;·oi°Åçì)Ë>6Ws‘vS¹|K¹²&/p òùDä1•›RwÔƒ´j©f}ySa°ª³¤B…6O&im0™IœœS • çÑ’'Q|~}åÅvDS’µQg./aÔe‰3¨íÁÑ\Õä‘åç§ë7l×ljíñ¼uÖb´Î€~~6ƒÎªHWZ«ÇÝ‚[½r)¾çÁåsÆÙ}Jâ#ŒÀ7…±.0ã°mµº"ž2k¸>(ThU"§aìDc– qz^p»I´*'UDDL3z|Œ,;'¸R(Ug'ñˆÜÆZË”fÏr™*œD¢uùÙëùѪÍ9 ‘@DL›ƒˆˆ'Í*zyÛ¶…©A÷Î… m²˜ˆ,M–錱ÖVš‰(6g›&heü¸ôüT‘ÇTi}|±Ùù£ÊA¡–‘Ûb|£.»¿T›F}§©Âä!¥o *âK5ùÙb"2W¬£ÏOVîÅñýBYrœo³²U—Ê“ãˆÈcmsŽÞ– 5?øà…‰Yé±Dd©5Úü5L]­ˆùù)A‡.Täæ)yDnC58x¾gxIy£vZ–¢‘•±û¯kC…ÉC$Û\”ô6ab^aª€È~q®»áòRlÎQݘ+ÅDd7Ù&-tÖiq‘H=I®ÊRò,ºZkÐå_©IHÈÒ7WçiTþIÒµ…z«¿øÙæÜÄu‰±±d£.ïDunYódÃáXkcÑFub`%µ­ÃçÆÕZ]x!A¥É-1Úˆˆm+Q¯ÞÔä!ËöGGæt1ÕYyÃUšQcmE—R²ŠÛŒy‰gX'Gsežvøƒê…µÃs»³´ÕÍÕSR¶î|jì4ð®æ¼ÄUA³ëÚýªÕéœÊœÌì$¡ºSÎtƒ=–M_8©ÏúáþO¬ÖVæ£æÆ÷??å$"ò:Ú>yÿ~ã‡ÍŒ¥Ó7„D€ÀŸSs•ÞIÄS¦_£ÁOO¹•¦ þŒ ªÑó7ñ%‰R ®×*£ïè e‰R"òX[íSÙ1«±ÕCÄ‹WÉF5aD«w7k­ |‰\•¢VûGY¸›Íf³Ù¬NU×åšFýÀÑj²‘X•8æF4_–¬à‘ÅÔ¼:‘B!}|"ž¿ªìžt–%îr6E.‹ÑBDeòØžMb…RDD¦QaI —Ÿž·qŠÑKþ^ocnuÇ©ÆlD¬ˆ‘Ýde‰ÈndÜD$KUŒé×#ŒO•‘Çl=«ó¸æ%ˆOD§+Pæ†"ŠMWæñÉ ‘»µyôµ›$µe¾ÐßõüLóEr 9k‹+šƒwŽ/‘+äRÉŒJ.ÖÚJ‹ÿ&…P‘®Ø‚jÐ<™KJ̪¢šƒ-ëw$¹¶o,fØá$j¯-Öñ2÷4¶´Ø›'eª6m©hj‡~‹vk%íÙ[³gGªÐX¼!·ÖFDcÁÆR%í­©¯¯Ù“'·ê¶ä–Y‰—S½'SL$˯yç@YŠØ¶²¬¥F~jÑÞúwjöäÉ­U›6ùw•m+߸µÎ*ËÙYS_S¤¡ª-%¦‘‹˜m-Ú°©Ü,Î,«yçú½ù*WCqƽ7ù|"kmI“lóî=;ªÝ ä9õº‹·Q\ŒÎä%§+„×îW­—š%–k5¦J“pÀpÅsÖPï×$]yâ«ãçô´·w{i°ÇòÅ™!é}Iªî»KØëDvI¡ÃÌ0.S¥ÑM$HÎ þ‹Í—kSÅuUvSåÝáE2ј*4O$¹vט÷­DŠ…DDN«‹ tººÍê&"¡Dt¹Ch­-+¯60îoV±p¶:‰ˆDòñIDDvÍá ÚoD8öøDD—ê÷.ĺ¦Ñ9Æe³M\ìÄʼnˆœä°:‰.O‘`ìV‰<|o‚}w ±â±oŠ…DnÓé""§ÕID<ñø ¿0Z" ³Ûeu޾2Æ„´áP£ËÜn(Ék³a·ÅCDv‹¥àf ‘pì±ù ý*IݶY¿¡Ôl®Ú”VÅÇ+•*•J¥J”δ1êlkuƒ] *T ‰H¨HO :s®<ø«—B¢ÊÍW6l2T›óŠÀÕ‘œŸ(áQœ&/»r}yµÑ¦ÓãŒm«ª0yâ·½œ«Š&¢¸Ü—·¹Š 6»‹$ÑŠm55a -J$ÙYº†bcË•J„þë„'ˆ ‰\¦r]O¹cG®JHDuþ‹)CWnÌÞ"´èôvŠß¶M›M$•ìðhÓŠíÿÍÊëì‚äÝEZŸˆ¢SòvØ›ÓÊ+j­ê@÷,©·åù ¥Y*ÁFC%“W’($"G³Îäçhåük÷«–k÷H‰Hšš.ÕU5;/7û¹^¯ß¾}û˜…©©©………øÛusñÙ?=t†7ÿžÕ² ìB³%ó„!DÄ ›Ã¡¯†h ³Û*BDaób#-G!¢ 9Œ•&¹M…´£þf»œDDæÊñÝáùüñMþ%'¨J<~ÚaÞÈû¦RÏò¿‹Ç»äôÅ#ÏHáÉ’Ö%+âD"ˆÜ¦ÒâçôÊÂ㹿<6"ðýiÆãöŒ?èiJÄ<²xÜ«‹¦ZG ´ŒLÔRà ”§óju>á Ç—¶.ž4ÿIáMÔhäßÏèkàr 5Pæ‹©É2É ³¾+ÁÓVÖËõU•:C“Ånnª37Õ•oçÅ&eäg)f̳s\LeƒS”šÏº?¡«d‚᫼8“žP¢“ÉÚæ$ó"Oª¼"Å2)ÆÎjGÏÑæ²0v«d»x¦”¤VÈwÊ‹ ‹Íéþ*ÅŽOñ¬µÙâ!YjüÅ4.U)ºæ¦6%Öjq“Xq±íM¢L¥ROàƒV"iRP3­H!PƒÙê"tÈGšJùñ™±¡ªÊèHTG“äcH–Ÿ,½–¿jfSZBñHQ5ÙR4—j¤V«‰(8½ ·Ü¬•Ëñc]{.þ". ±> h€I£ËW/=ÏY¾rÖ²³bnGqÀu4kÖ¬ØØØkº ¶M§ë ¢à©:ƒ«:ÝÊØª[³ ‚+wN‹“¥Q·Z=››ˆDâQ]­œ'¥Œªºl¢ »>MT«ÉDdv:-vžçŒX–%">ŸïjcìD$RgŽî ÎÚçtKƒ/’‰ˆœì6yüý¤Wa`D´R£ 3CLyU›*/nârpµ–dl¨ã%å—i¤|¡TBÔANóØbéo%‘Š®Ò%áìWÚnÛÅ>b|‘TDMvÝê¢1S¸ºlV‰§µ+|‘LLäô÷Cûvºo %r•F®Òäæ4æ®ßj²×V29%‰3 »ØšªŠÍÜY”t†Ü¦í˃[VY§›(z$†¸‚›Ø<® Tïa]îáþ£¿¶B"»süýÖZk°“lÛË#sHX=ž‰›."!‘(Oјa'<±\B>‘+xˆ–Ëé Þ¸Çå n§ó¸X"¡pâ,IÊT–lÕ¬‰BY Ú™}Í~ÕV뜊mÁVÄk΂êÖì¼ËÚŸ^†An™AB£çp:¾:Û'–†SŸÝÚ3D‘(˜$ºøš}MD$ûàŠni¬E§·ÓÅI‘ÇÕ²Ó•<Æä4è˜\yP“†Ûd°²ò ú­ËâP½,qTÍÚnl¶åJƒVíhmê "Aœ|*Õ[¾T%ãÕ™<­zÆ¥ º%ï2æ®Ùb"qú^}žhíÎTù IDAT¸Æ2ú&¯ÃPaœþÀ—h¹RL»Ýh´æŽz2 kih%"ŠK–}ó*ntrκò uN»nÓöø=E)㊞µé sëœD¾XÄ'"¡,YF&‹›Ñ[Xyp†d­ÿ ùdÙU«ö·,.UP‘µÍ"’&ŠùD$V)U n‹ÞäÐŒå`,D$«¦õ””h¹*–Ìv½Ñš5æi8ŽæF³P®”ãgF:Z¦V›0Y«U1•$¦ÊÈdö8]ß¼GÚMÀZ[i¡ømé‰q£JA”_¾U§kÓæùç¡ë0µ9²¤þ·¸ÚLv$„QÙdeý_|Öf²Iâ±%§SU3ãÌ‹ó_ÚcÁÆ26«¬Hâf‰'i¹aÛjkíD4:ð%‰2^¥Ä'»sÙl¬HÂ'"‰T@³ÕE¡J6SCG`5|i¢ŒêZ›,lÊp°¶3­nŠM’ ‰&­ÊR 6êÊÊxQò¶k6@ßÅTXEѨ+øñšD6¯’Ù˜5•5¨Õj€™"$Rv×üÏ¿08Á Ìýî\Þy &†9˜1\L¥Á=jR䱄Š,•€ÈmÔž ÇY[¬»8©(ÛV[â_‘fÌŸþŽŠb½-hŸŠr†ˆªô©%¡";UDäi*.n´]¬Ð–•˜ˆ(V£‰#Jd""²š­AUÞ’M%6ÿ®‹½àx<>‘¿)h2RMv¼·k­lP9•ÜD‚Ôì«RµáËóvfʈÈiغ^[PÝ|qz0ÖÆÔjÓ¶7¹‰bÓËòy1Z•Ä#rÖWͨʶéŠuv"ž2ó*vsqŠ*.žmÖÚPZë$¢xRâßù¬¬X"2—7Më0––2D$Ö ¤˜*ij¶’GÔQ^PÖê Î-%7mݲ!Wgæž­é´ ÿa†’í¥¥[kƒ'Â%Öf¨³‘H.åÝú_v¶µºÁNñ娝z´"]Av½nä²–W6[[kma)C¢äô‹g”5l/ilµ9lVcùv“âÓ•ã¯S-v65ÙÅéÚ¸k`…‰EFcɘÇñEFcI¢H^Ðh,Qð‰?üÜj¸·ßÿ°jÜC](dÎò‡T+¢C(laâ÷ï¾G&Müþýßå?fÙýª‡þ¾ê{—Kå©ðjRäqqãÓUCƒ{ôDc±ë’]åkô eœˆï²6›,n"ž"/Ìh…øt…e{ZŠN™(²Î6Óá!$åçLuh_ž»#Ó¼¡ÊbØšf,—KÈÑfîpQ|NQº”ˆørm¦¬®Ôb)ÕjL*¹ˆœ–f“ţؼg³gKF¹Ý®+Èu%&gç©%BY¼ˆ,N{U–†‘ ùŠüã 'Q½lÚ°ÕÀ¯O©U&JEÄZ[›Ìv"’e–å]­›²ü¸ÜÝ{D[JMN‹¡t“¡”ˆ'ð<îá¡ËeNYðsN„ªÂë²6ÕYª6¬1*”qb>k”§xÝŽm)W¯›‹8y_·1ů”Kù¬•i2;‰(63?U2R3-Ég²ŠMM[MÑ)R!9­ŒÉâ$â)6—eO»ú²­È´aKƒ¥jÚ™2Þ¿BÆâ&â Ÿæi®TK¦wÃÆõV™ˆ¤¹» ³óS›˜âŒÕ2…L,à‘ÇiaÌv‘(u[vÜ­_Yt1:ƒ“›•㯔èÄt%o‹¡’ÉË#"’eç'2åµ8‰D²ÔmEAªülamÁú­vñÄÊÌÝÛÔ’ ÏèŽjOIqEñÆ:‘@–¼yO¾FBDêm/3[ŠK7¤•’@–œ[T”ì.kÝX·U››_S™”»¥aû†&YNMuV\nåQqIÕ–ŒRO$SfîÌϕ󉈯Èßï)(Û¾Á@$R¬Û\”­ËØêßسST\^±q}1 b•é/ïÈQE_ê˘š,ÖU‰²®Ý}D€oÌf¨bhܤÈãþ®ËÒÕ¢Ó?Ño8QäìVËËÊ+ þþJ‚X¥:;/g\×'¾²p¯J_Z¦3ì"É’Rsòs§ÓŸ\(ÏÝS/וWÖÍfÆNÄÇ'k²sÒGº¦Iµ»÷Pqq•Ñb2tøë8;ò²U¾«0ݘ§3w˜ |Y:KÄË-Êì(¨bœf³ ^1ñ%)E5ReE…Îh2,DÄÅ*R5™ÙšDÉÕ¬á åÚ²údÆPUÛÐÌ´v8=n·‡x±L¡RkÓSc7&L,¨®I¬¨¨443M""A¬"Yž>½Z—Ï.ÚÝ5ŠŠ’ ½¡ÁMD<±"5{s®:¨zÏ—jÊjdµµMŒÉ`&Ír&;[#¿¢ ­*¬©Qé*túfÆ?ÑO«LÖfek®dö/‰¦h³iK¹Én7›±R‘0±°z¯²²Jgl¶0&ÿLfq|RrzvVJÜL˜!Y˜Xdl)šä5UYs ‘ÍJDÄ“iŠª5“¼W¤Ì-ÓçN!>ª v« &øvV§/)¨m~›¤°¶¥pÔ7¤¨R;Éê“7WjІOœµ²œH22Î.:1«$1kÂÝÝÒ2n)ÛÖ`° ’ò“%p3º­í_ŒuËјõèV3ɶ½S­¾TÒZ©Y_ÞAŠv' Ql7¶9wÍ&“GœY£ß3ânFµ&­”?ñ—›eòÖld’÷4^÷ÙØØÖ¢´ u¼äüÂL¥˜ïl­-Þ®³*w4–LwŠ:—Ãf³Ê Ê™¸üšÝš+. Ã(Šð|Þ°;vË`fÅŠ#\‚Ïç;|øð5úJâ¸Añåy{^æW”mÌ(&»à¶=yÓŸZÛfØ”Vl!±2³¬Hƒ&—ÿŸ½ûŽ¢Zûþœ©Û7Ùlz%…$¡¤YPDED)*‚^Š/`õW½ˆ, " RDA)J5”„Ò{ß’í3çýc!"¢ Â…Èóýä£ÙÝÉìòLÙùÍ9g!ÔdatA!tû ôõ¡A¿—ÚÎÞ{è– /!wOœ{÷Ä¿ûÏí¿üP\ê¡&¯0†B!„Âè‚B!„š8…Báp8°èZ8…BqƒfŽÃôB!tM²²²¢££•Jå-õ©ìv{nnnbb". §´´T–å°°0,ºª’’BHHÈ W‡­.!„º&¾¾¾uuu·Ú§ª««óõõÅ¥sCF«ÕZZZj·Û±è÷ØíöÒÒR‹Åb4oÐ[à0}„B]ëñknn®7ÃÜ m/v»½®®Îl6GGGãÒ¹¡AˆŽŽ®®®ÎÍÍÅžcè÷( __ßèèhAnÐ[`‡1„B]+—ËU]]]WWw+¿z“ŒFã;NBè¶ç´T[œ¢Ö¨o…Oƒ­.!„ºV‚ „„„Ü ^ì¡[)³äÿðáÌ¿>\æ¿¶™0¶oüͽù6¶ºÜ”Uá@qŸ'l®_?ix"|Õå5Zgfù£#=Óö„¥Ü XÊúÆ"ôñ‰»†RJÁu!„B覱žýÔ¨ GFi]¥gˬ|ÿœåÓ:ÝÄô‚­.7‹ šsð¯1ÙÿËmpk´Ü8_Î6uI÷‰óÇåŠB!ÔäƒË̉+ @Hzrî;cÛ,'–Oõîáï'M»ó‡ÙwÞ´ð‚Ñå–â´NN¯ô£®Ùh+,‘jši ‚b>:Sœ·-0NùÜŒ¼Ñ§_N°é™¶'¬å©òGÇxtq/ÛÊMÙž\R;{rmF  ^~Ó¦ùDŠž­ó–¥ú%ž²d•xÊ-|¿CG'³eŸæÙ¦íØé*´ÃÞõu-©Ý–ë*w)F}ò`(f۪ɋH`HÕO™éŸ¨ƒ²Os‡lómÝvÊS^BcÇ„ÎxŒ.Xº§šè“›ùQäD£e愚Œ šÖº)ï¤èp¹"„B5Õ{çþh¡ÛŒ¹cÛ^ )ÚVƒÞyçdßq?þôé¥wö¿Y}FñâÈ·NÏîcÊI+›-Û1Ìižó˯‹¾¥Ùº)Wp:7m““ŸPÿB$PíÈhüíÁð.¢mîÈš²‡Â¾=»iOH‡ÌÊI:ˆ4g£ûÞw#mj6§{õLK ˆÄuÌ®:SÔ´ÖŽ¹ÿª3L‹X´©Ù”föEŸ:œ eL+oñ™·'vÓÁ¨Ñ¢iÒd³åÂ_Y`dØüo£¿|W‘=»:”£?ò‹ø‰£§¤B挪£­ƒ¿=»é`Ô¤hצÝn\¨!„BM‡³l_>´êÛö×+Ú¶ýÛ ù{Ëœ7í³at¹Y\¶q­ÏvIhüÉýÒND&å1M¬y§Nóhª¼û§À™kÚfV>šzYcoO…àÌ5g˜Å!)D•ýãË·ÚÊÀÐS«&¨5Õn+ Ú.¡ jÍ Ñºþ@‚¢k‰ NÇ·[iê]¤\êHpÀœíši»D3  Õ˜½4¡Œõ€iÓnG“ë0%lÊ}<.j„B¡¦D~P\NWã‹7 v»iëĕƺ8€\¼Â#ðWg“ŸTZ§™ 'ŠðUt Jþu,A`ü¼ÏX˜D‹ù²¿bäË¢p┈KªWÍ(žG#zúLšæŸ‚`B!„š 1ªSsaí¾Ã+v–ÞÝ÷’žaÕ{Wv4O‹¼yá£KS Mõíà,ßtJãÚ>TŠWˆÁÞé8Óeuzó X«%Ðòš¿¶r‰œAËÜ» zJò¯æÊ®þ‡|‡g‚;<Pe[5±dÊ4Õ·©E\„!„BMåÈ3mLÿà}+NN5Þ™Ü7^ `ÉÿaîÄWö¹@s×3woÞGÃcM#ý*ûuÝ jv‹ê-~w™‰Ñº.:ç—ß8œ`¶­þBŠxHüßQñ`*ì^`) 6”MžÑ`ùƒé]´Ö®UOäMÛàðãBqõB!„jrGžñcæNh+@ÙÓwo×éÎNíº?òÊÚëÎO¿>sóƺ`«ËÍâ²k}öWÏ43®úö÷Ú'˜–U®Ç,ÂÈ€?ºwЍ»À8srñƒ‰èðΓ€ô—>ÛafȰÉ£ÛW¹€ ¡ªa3Zë§5ªîm]3¿gNÆÌÈc4S zN¦‚H4-´Sfß&M.V«Õb±H’„köõ²¬V«Õh4X|,>V+ÅÇâcñÿ×Å£Í_ßêëO?\þãá«Kð‹lÕmÐãmÏÌ}eíɇ‚EóŸŠ¿ÇxxKJtkiŠ·¤´X,6›ãðDÀuæñxT*•V«Åâcñ±òXy,>‹‹Éb¸p«J¡Û;ëgß„žc¸øú»¬V«(ŠÇBš\îºeɲL±Z­¼3Åâcñ±òX7,>ÝèâÿBÛvââù¤‡CnÎÑ1º ôwI’Äqžº¾†›Í†ÅÇâcå±òX|,>ÿæÿ²ô2vþ×7íã2CèzmùèúºÆ“jX|,>Vañ±øèFÿV9â†Â)Ââcå‹ÅÇè‚B!„B]B!„B]B!„B£ B!„B]+¼ÀBM€’çoÁOew»o‡â«Tª[ðSý¹ Y"„k>‹ÅÿGÀVtkÁkŒ „B!Œ.!„B¡¦ ;Œ!Ô$¶Ô[rS½=:Œ!„B£ BèšyD„ßn ùùyOvàÀ¾gF1 X±?·‡ÙþŠ|nP ¬PÕlÐ{ÝçŠk<’$Ë9­àŽžƒ ¼i5˜šKè‘O¡¾€–$Ízan¹)¬6ç¬wK.ýÏF©_Ë2Ä©‰~¤w[¬ BèêÑ…çy–e½‡•]Ðÿ ºxÿË0 Ã0 Ë2ýãI’$¹ë>ÂóÏOŒŠŠéÚµëeûتªª§žzêà}=Ó[œ>u"­SWÜ _s°wHÇ@ñ>p„÷üàDСeäÝÕø|ÂB‚~ÙžGO­QÍï'w ÆâÝ§Ïæßšír¤ÖçE }t¸N£ÄÊ „®]8ŽûmnÁè‚nPt¹4½xÛ[¼é×7ôÏf·Û IŸè¿jé×^²lùr“ÉbµZ½Û‚F£Ù³g÷Ï?ï6´ke,--Ç-âOÄÂŒ9P²)4ÞûúV¡º¾‚a˜ø˜(QìGƒÍþóÁÌ}‡|ôÑ!]Tr’ÊŸ±UÁ¹”Rrç4àUXÃÿ%³Å>ç£Å“ï”k@¯€ÏŽ_{e¬V£ÀÊ „þ\tAèÉ›[.»ŒþxK½,^VÍ›ó©p¬Ë5khhP+è„‘Ê(>xðÐÐAG ¥U¶G ï›ä–Èc%,†·'Ê+ª°b×HÎÙ Ç–@o¯ÿÄ›-VVÓ<:2'¿°Þd¹tÊz“%· x!mú?bÚ+ŸÛ@0=ßÎÉ/ÚµÿÈîç8¼tÍE)]¼rë dK½’U˜S0½ÇÑëéÙ &.൯ªìŽcŸÐ«zc3¼ÍiÏÝÝ"…ÕË@eu¾X„П‹.Xtö°×X(™R—Ó Þ¬RUQ{rkUTŠ.0JÏrÏóÏ3 ƒæ¦eÙjµÔÔÔªTÊœsg¿øâ‹>}úô¹¯¯wa€R©¤È ¥tÏ‘*·ËÝ"Fÿø-” Ë&6Ó€B`d»¶T¢Aɤ¡líw®0›ãØôÔ”vî€Ñ!S[Ë÷C.•ñ©V+Ë*ªîîÞi÷þ#&³õµ-ŠÙi­ü-G5g–%…öËÈq|¿e×ý½»|ð:W7JaIÍg –ö³Õ! äáP1¤wÕbePSù"–*+ìG6ìØdÛ³MÙ>]sÏCÊv©¬Ÿÿßùâm ÜxÎ ]%º` j{LI’¶mÛ&IRûÔT•JÅpTg;õSCáÑJh`}› áÉjµZ–e½—nŒ1ÿƒ/³ÚÚÚÅ‹nß¶Å#1TvgŸ:URRþù¢%ÏŒþú3}}} !>>>¦† ã ¿ÞRp¾ÈTRnInÙ~Ü“É@)%àrË–Ÿ^°;ež¯ Ã3]_ƒÎ/u­³”86çäíÎ8 -#ü¦FíÊ‹ê I’Ö|·Å#I·íIOM9|<ÛÒàXQŸ6Ny\ÖÇï`œ'.·'· Èà“ˆu½îlί7´çï{0ªÐ-]<þ``_!àƒõA·>OUEýŸÖ-ûššj‚ß}ÇgȈ†Ÿ¶”=7Lí;l¤xÏC¬Áï¯Íùðá#%¥¥]Ò;¾hñøqcyžÇj_eÇ%@¨ l¨Çñ|z·n”!+V®Ü°qó–Ù»_Òd½pê5cùb}Ñ\áäµÙ‹Jr6e–W”V™,‡Ëå–e™Ê0À²×ÿ˜ÍæñãÆýŒ‹¹nݺo×}×½{/ðx<òé„ œNðÿtJ¨QÙ`w;]ÖùþHì÷÷ìÉ8 w43ø–-{“:¦ñՈРÿ5,ûìyÐjÔwßÙ D†‘úÃŽjYkj0pÜÅõqâtñ6… e>Luª ßÕH””ÖS†4ƒÃM¿7kuU;óvf[³ÛöØòË Z׬9Tu¨ÎUç¯ð?^w|å~‰J"+€GöÔÙë¾)øæ‰Ø'NÖœºôÔ”ßÌ©5´Ä‚^? Wí.Þ·â™®\…™Z@ip5ž0¹@ÁÁÁRþ¹Q)X®«â9Ž×öÓ°ð>©fÕ,aÌ8<Ã)9ßN{{\â8Ø_¹¿÷†Þò6<ûÃ0@€gxžá¹xªÄR’ôu›ÛöTøS›šoZ\¸ø±m}øh®9÷¾Í÷Àëí_QßÖ÷‰>ùÓngmEl¤¾î¹¡uÏ’\.€gWvìîØ¿SýÍ‹F¼Ç·HÒA³¥âxVòÅs“É4yÊ«III}ôñæM¾ùöÛ-[¶QJ_|aR·n]dY~ïý¶nÝ.Šbll´^¯/++ÿü„%‹?ß±cÇ{ÌqäÈáôí‹_Î]j’èÅ«Šy<žš Sù—Ö  Ô„DÚÇ9¡4SZ½CZ؆MïÈu‡ ŽQóˆ“0v`êÝ|©©Îe*3ÕÕ1ÀHnÂhâ£5jQ¯ô:A£ç¸Æ$Ø smÊÊJl6[ppȯ3æ/ÅkhhÈÌÌ\ýÕ¢#û¿Sòž½û[ÞÝ!8,H=ëåös–ˆ/ŒL€Óùõ&“;µµ?xdI†ôÎé¢(bm¯ª¨´âÅ×ßs¹Üï>Ò¬è êϰ­€6v„–ñâÝ7ÁæGýÊ¿½³#—[M½—¦ðîÁX— < @c!H ÛϪŸÃz]czaø(MÔÁʃ¶ XÐuxq€Ÿ+~þ&ï›Pu訄Q VíŒížˆ{B¢ê#ø<Üìá>-(üÒµÚQýÔ®§!‘êÈ|k>Ã10¿÷üê-Õß|?r×ÈÒ†R˜ç[=ÿjÊ«·yå[ ²kצÎz_† =rHK9U«Vê.÷paÕ/<"”î5™«\.â&=¦Í »RÛÎúzSö©ìÕ«¿:qâdYyÅÇÍ5›ÍÿõŽN¯5›Ìçsr§L~©´¬lÓ¦Íqqq6[ƒJ¥€å+¾zoö;å ®|k IDATGu»Ý‚ àúÑ¡¦‡0Œ$I¥…5¦[}Ued$ w¸m‚‘D=Ä¿Äk =¾Ç³…€GÏ( DAô‘  c8¥Lü¿¯þú,#Õ²´ŽZBêAawg¤¿+&ÂÓŒFFf1lp¨R§W(<Çy3 Ã0˜aþ0ºTÄÄ6¿âY1Jé©S§^}õ•’¼Ìçû»ŽÊjØÙNŽe@a±…gÙGK ªÎUYëLMô£¶,ŒÅ.4×D!ð˺À]bW4`ÊcÂ类©ÏoP£‚’IXÚå ¥¾Îm€*>j[>€£_eu ˰ýâÜ‚µ€úD3q÷`mÿúQa:½ûË^Í\åf`PrñTB}É{;ÝϦs•8V&ÿpšZG¾V"#.ºsÑø}ã¿Îû:RùNÇw$@Çëþ{ä¿Ë}ÚíS¯[“·¦ÖQ ÷†ßKÎËš78nðSÍŸŠÔDæ[ò½û%«Û:hÛ ­%[ãýâ'6ŸøLÆ3Þ·Xa^—y£aô×y_ÀÓ OOk; +¯(-ê¬SKîB‡ã(¡~"„œÏrÎi|̬³Ðá©r¹D†D)•Q>ŠúÕŸÓÿ{ÉÛaŒe·ÛýÊäÉÁÁA_}µ²u«¤í;¶Bbcc·lÙz>7oÔÈmÚ¤xû•åäœç8Ža Y±â«®]»à}Œ.5aT’ˆ,ë}Ô,°£F&μ¬jS„Ëž¡P4s1E Õ´aÒ»p騫§Årî )k³\`•ëÂÚÄ7ˆqÀø 2Yf­6ÞZ¯®È‡“Gd½Âàãñw…‡YãëâS $šåxQÔjµ(Š,Çy{•á™Ë—‹,³,sYt¡”Ö×ׯüjùÒ…³2³‹ >ú„(=G\ ÃeŸ-:›o2ø*yžÙ°3/;ßdTî?Rüð]av§T\is»ä€¨ «Õ¢ÕâEÆ®B«Q Í´ÍøáÑÇ €uÈüSó·”l‰ÕÅéwdቅ—îÐÕœ:@àmž Q„ð,.8±goƒÛÑB¡ %.gÝ~Âíöå9ÖRYãñˆÀÄ©T …‡ÒãVk]ƒÜú’í"((0$$l6{aQÇñ”Ê_Ÿö©í÷îݧ×뀢Ói=n7x$I–å_|aÅŠ+W­þîû ³ß™%ŠØê‚Ñ¡&ˆ°¬ŸÖÇOKe*˲Áß7$¶üx„ÙS-ÛVŠà`õa¢H ‰ M'rmœ¿ßs`—|ä}O^X¢@Ù‘hÛÛ¤xJ½Wöa »-Tq*–ùåB‘nÙ=iÿ¤ÏO}Þ)¬S­­vÆÑz…~âoóÊÇõdׯµ{.£ÀG(ítz“Ǔ밻(WªÁ!ËÙVk•ÛÍJ¤Ã¨‘ä—³PïXGBHddÇrÆ=É0ÌáÃGR’“ÓÒ:®ÿnègFX~þyŸN§£ž÷x¤;>|Øãvû¨QÏY­QôÃõ£ËmÆ}~ñ¿çey¸otÇ÷KÂâ¦÷ÅÕ8ˆ‚†2Ná;Ö\zºö|©[ÊdÀÄ!¿üŸ¹öÐX`ëªiI®\|ž–çкÔÚN£ B ¥lÄú‰:ue•¦"ŸS1n5+hXÁ^^sÄål J´øF•‘å•/p†HcH4vÀ€0»Ýn6™ô>> IÒÁƒ¯½üÜCªÃDuqxW;jÐúŸ/¡p¶˜÷P8}¦è|n|ûæ¾ aM&[xˆ¡ºÆAeÚ`u»1WTúž=sºkz'¬íµl>pWM}}§vÉlL:ìxYm+Û-ý¿[åⲊ¯ ”)­«7›ÌV i÷œÍR¿¥!å«]u.—;8И_\ær»5*1Åó3¥D=°°Š¥Á±kÿ™ÞAçiÁ2 |¾Wòk;âéû®·œ}÷‰´üŸÎÊw÷}ôînI÷•Ô†‡°†JŸ°>ovxóÙíÏZ<–°’, ŒøÁ±öUïÛT´é£ô`oÅÞu…ëú†÷õ}/‹…ÇjŽ)YåÏý~néûË•)d*À‡ßXxfa *ðÛžßž¨>ÑscÏIû&éEýˆø·sÁųY½ 眎<‡½ Þd乿*uw_BH­Û}Üj©t¹Õ,£TÆ«Tù‹Þ¥ÿ¾0Ü…ÔÔÔzgòÄÐ! xlÇÎ ÃÚl K—.y~ü¸!CŸÜ±c§ÝnW(qq±N§³¾ÞD¬ÿî»%_|áöxâbcñ"c]nߥÿôF$ðnóù- ç-[óïg“”X—¦u˜vù8JE…ÂOÔí4¾ïÕ”í´7ìtÁ~T £  „Pâ2¬›4©‚ÿ®2ËCk=r…—Ì"±ÄÊ»Ýf“íõJVÁ°" žQ nÞTª—+Äú]¼ÀËœ¦JßVV=;áÑsÇŽòòó“““)¥[·nóÜ3q¡ÎÎI|§$¾Îâ€vñ`s6ƒzÊ2ewSHn Ï<–èï«8Wd–)(DÂ+}–/Y%Š¢Z­ÆÚ^‹Øfá³§^8+,çn¢ù;ZW}9*íÑOöÒÒòªÒòªØfá­[6×ë´3³²ÎíÈH¨«¯€ cXpàÁÌ,žãF÷jæSý#Ât|ž(ðöˆNX/£6ä˜ Ž*‰:$¾w·îiW¸ZÛ¾ÃgG$o"ºËã +l,ÚøŸÃÿ R}ÚõS¥ðó»ÎŸ¸oâË/?ñ@€2à¶-þ‰#ÇMu–h­"U§¯u»ŠÎL‹9ßÎq Sãv+¦•VÈ 6YÚSa¶i|Ú_üfô3ž~¬7:úøø|½få®]» !=zt÷ÇŸ÷ÉÇ?ïÝë£×‡††:œŽ¨¨È1ÿzV£ÑÌùà½}ûö†éÚ%ãð(£ËíŽ×Åtlí¿ãP@i>øÞÌѵÇö×µóB?홯—¬Ï¬´€2$íáÁ}"K?›±6dì }x¨Ü>cÖ&íàׯ&ëÀ}þËÿ,SŽ˜ÜÛ²~ÉÚÌJ7ðÉ?Ù?IP{òëeÞ'ù€¤?œlÀ¾²×ÅïܦŠP*Áa>ýí¦Î–ºsfG†äÜ­æÏ2ŒC*S*S œÕm‹S›‚#õ'%uQ  FBŒ,K”,hP± b@ÍŠ‘5¼Í?HU d¨‚w(ŒÕêh«1UÑÞγ,à³!Ý{ôÚ½kgRRÒöm?¾=uÄG1›öƒË n‰5heï÷–JD¥èœDÞZ¾·m’B3ï« ‘z‰Òµ[KFþëÕÀÀ@ì<ó—E÷7誇¡¡¢kÃÊ–ý™¶]QVcÎÉ+ÊÉ+€u›w\Ø r\›V-*kê¼]Åîo^ù1¥2 N&-ûcÿ‚ íípta9!"ØO­ºÂÅñ(¥ßîÈ V¶m›–2$%N!â·ÂŸÓ:¸õÁòƒJö—Ž“¢&¶/üéÜOÞKuðïÐÊØêTÝ©:g÷”UZHZ¯ ^ç  èÔ)Tªá5ÓÚN“8†!:5%'êé}+ìz…~nç¹}#ûz_z:áé’†’OOêm“¹mµ;áp½ùàÎ>>\”NÙN§«÷¸sìv§Ç«T…ˆbÇ}Ìd6ÕJ;tÿ÷ë;pžçSÛ·oœ^¯ïÛ÷þKçìçgxà×ÏÜyg7ï”÷Üs7®ö]—Û|~÷!KH»x-ð<ç©Êr<ðüÌÔî›»,+àÉÆ&èÀœùÙ¬%«"þýh»ûŽóö>¼¹ B|ë2KÝÉ:¨‘‚ÆO£Ñjµ*¥’å8¼L£øø„™3f|ñéS†0>0êNàè'kèð>T¯¾¼N:53úþÕYÛçN¿'Ø_åí ýåúsç«CF¤wÁºþõÍAéCR†ÓcKÀRjÌ_óA¼¶*iü¶bíÁ̬ªšZ–e£#ÃBý³Ïå9yÊíö0 Ò£E?×Rê” ¯dî|kø×Ò{ldÐU§y{Ò£X«¿ìÕV¯¾ÚêW)V±ªÏ:~/>äT‡>|Å¿m¦iVñD…÷wË0Ëe¯öé]?¼Þû{ýSõ—¾Ävz»éÓÛM¿Í‹Ø©ëÝë6—íØ’ùÖdzN©ÙúfjUž˜=žÃõ&“Cô‹ëõá´¨‡p%Ç肮ϙ…S^¸¸ÄC:>ÙΗ¿°ð1ct`.ý”zœ6^qå^ŽT–söÝ®+¨~5»5ÿðY¦:ÿ°©`7×ßʼnŠfíîÆ n¬ „Ý}_@ÇΕû÷œ[µúÌÆ5ùµõœ@,v9ôÞ‡R>Üý.ÑÇ …Ñ]Ï¥|q¬ ¸ÍûW}6kIÿF$óœR«ä<µvP”›ñ9-ï)µ{ ññÚÝÇ*íÊÌJßäøøÒ‡r-fíÉÚ€´%èzŒÁoÚ±eá¦%vßèŽ ìo¯s@ÕúY¯ýè]­<6ÂîÀÞ×eÙívË’Ä0Œ÷Ú_¿ŒÍç8Žã¢B£ñÞÉÊq’L)•eJ)õNÃ04¥µÛív»\n‡Ýi³Ù.†ã´z½F¥âžã8Žã/´®àqÄïsØí«W­éä[T«Œ±{c©S+yž“¯˜ò!mãIjòß%6.5i?™ÿ…R¥Æ2ÿ-ºp œ\_@¬å$(…è#@è}ÅíöTV×€^«iá›f¬í êÎñ!½fÿD¬ßŸR¸ûMLRPtk=î£ß-Hðüï쬨ÍT-I2ûëçKOÌ?²]žsàûœÓ»»<ð|yÎѬí+ôÁ‘çŽw|lÒ%WjBèæô>awßv÷ý ¥oþ²­¼¼Ûkoø·ëˆ•Áè‚n,^Ù±{ÌÆÏ•º“#/] JpÔ6Æ »Å®Ð*9ðMŒ•Yg¥Ê¤>:_ßûÆ3¹Ê*C»oëLL—1]ì%WÎ[¶,ròàÒ{òÿ¥áõË®XùÕÉ{*Ëf³¹¶¦ÆbµªT*£Q§Ó±ì/ÇÞC`Æ;˜žR¸ÒAPˆ"HOYYÙ²%_¨Õê!C†hÔê ³jl`¡—Àï,ºyóFi÷ÓÉÔ…&ƒF+S–©¬£œ¨«¨s)ŒZ¤,#Qú«È2$- |µò‹Õbf–¿i3‚†u¤?M§Õ§iÉ(9¹[Ih{â×<Ê#¼y¿o è4¸óHåzpÈàÂ) æ.Òù%šÿVûºÊ⼂ã‘I ËÖ–æ˜*ó½ÏçÞZ{þxP‹ P¹®ü½ÅÛá‰éqï;öÃŽ#Zw•=nïübRï9¹uYt»»r-+ÎÞ߬MOޱÌ!Œ.·­KǺ(|£Û=9¢K€ýÒI iO®\¶vÆkvÐFv10A |H²Ý’ÂÄ><’¬¨Zëèø¨/è{§e.›ûïõ8> þáÁ‰:໌X·lÉŒ×ÜàeD»‡Ó1·\'—6›Pêp¹Ž8QX\Ü<>>77÷ìùœ°ˆJHiI‰ÅbÑëõ.—+66V§Ó@MMMAAÛí Ôh4.·»¡¡¡°  ®¾^¯×»].Jˆ P[W·ÿÀ€€€ððpFcw8jkjróò¨,GÇÄFµJ…—Eör8Ó§½úX7ç† ¦ÄÕaíú™¹yy>:°¦¦Z´H\¾r©¾î친 Ö¿¿!CÃV¥ÆY[5súP–¡Þ2Uñ“ŸÔÌÞöþ»ÿ;~"^ ó:l+ ¢ÐÚsôü¤ò¤ÜPM|"HhˆéM-Véïe©¾º ¥×ð¢ì=zŸHV§ÑR±¡¾òüám=FÍâ…!4ÎüíGv›É©11 ë´Y9^ˆét4ïöPÞîïµÈ8žz\T’4~Áa-:”œ9Ô,õ^Q…Í÷!Œ.·!>æ©™³®øŠ2iì̤_ê’ú=›Ôï·=;kÖ/ùæÅYi3íòÔ‹].7Crÿ±Éx…Ñq°pɯ²Ãnß´q#Çq½{õZ»víwëÖ·Mi#yp`YYÙëÿùOmMÍ{ï¾»bùò ÀÀ Ï??lØ0﬋‹‹Ó:vìØ¡Ã±ÌcëׯÏËË]¶lÙŒŒ &<÷Üs7lغeKƒÕêë[ºQêpØ/xë®¶Îïùxf¬F£%„ð<ÿØ ¡óçÍóñÑŸ?~ÛÖ?fµZ!¦E‹–O>5|ÙªÍCÆÌ[°-ö£ïõ¹e‚,™’ñðS·ÍùïIJòrŠ#‹Ð-~"Eò°¼RP*:<ì9­_[r—žÜ›Ðý‘}ËßrÙ­;—þ×R‘ï´Û$‡Ö:^¡b%ûáõ 6Óž½ËY· „Tæ+:¹çàê9§v¯mß[–äÒÓsþ¹á–Ãc5aî¢m¿>{åIÓ˜9¶º Û+·,xã“Cf€¼·ìî—ŸíÔû³¹\®ÌÌ£µuuznÿþýV«Õl6ïÙ³§[·®Þ£ÞþôïÕ«—^ÿâK/eggwêÔÉép|·~½Õju:eååù™ÇŽÉ²üꫯ&´HP«Õ¹çsàŽV­î»ï>³Ùüóž=Å%%³e×®]<Ïoß±C–ežçO:åp:)¥Ìmß2ðÅ’%F&ÓdSDÄ¥‡†…]úÒラ5ªaÆ==b$˲cÆ<7}úpñ:m …¢_¿~={öº€ð†šÒúÒ<µ¯o÷»Þæ…t«†ºŠ†ºŠÎC¦*´8 ¡&œ[æ¼µê¬`îÛö±/=•¤Çè‚ÐßË-ö¬åsÖFOÞDÂKãÕÃdÙîr?y²Îd ˆ8uæ ËóÀ0›ø¡cZš 0,G C†"òÓž=ï¼÷^¯ž=;wíz&'G(•(•<”Ê@d ”JËóZ½Þ-I ÏK”Jn‡åy½¨P |üñ6mÚ(”J²ÆÞ¸Ý·çªTSS³åûÅ“–o±=8â!æ’‘HÞ¶—þýþK—~)˲Zý«‘Þ£Õj;wNOMí°víê÷Íï–P’ÖÒÝnw8)•yŽ×iÕ/<÷TBlþÁ‚eÁþ¼þ¢÷ϧ¿;ÿ\nÁeóз÷€¾w@Æáï/¸üv aÁïNŸ”WTZPTäolÑ<—Bý>UüÀ—'À[ïÞ°ô‚ÑÝž¹åáè¦yÙf†aâããß™õŽR©ôóóS*• !Ÿ~:ßj±ò<¿qÓ&4hPrJŠ^¯ŠŠR«Õ!!!kÖΠúÞ IDAT¬.++ ôHÎòÑGåçå5؃üÆ÷ߟeÙ    ààyŸ|"ŠbPPPHHÈ{ï½WTXhw8ŒFcXXÏãõ®á_cÆ>Üû»Ñð7çæ=ûù¢/víÜþýú¯\NÄ'NVÛËfwLž1'¯°D©ûôLW)û/(.;–uÆ]dJN—(ºïœ#I²Ãér]Ò­Ñåv;]î6­ôÚ_FE„]œ^r8]þ~¾­b_õ3ø@dhPxH ¦v„ºéé£ ÂÜÒ\벬Ѩóõ%„0,ÃFÅóѱq’$™L&²€J«MnÓF¯×sÇ0 ¥T­Ó5‹‰%„„eYBˆZ§3ÞŽ7,ËúxçOôÞù3 !D¥Õ7Næ}ò§º]Ǻøú|} ×wž„µZ}OŸûッ¯÷¼ÔØ¥2ŽœÈ/* 0¦Núö>”™Õ>%éÏ…Búß×+é’pr™f¡Ï?3ä7Û‹WXF¡[!½`tA˜[š‚KÆ–°¬w\¸L$À²¬J'ŒÿøÀw´j¥U©–% Ë€a˜Ënj ”²ì%=š.Ì“Ò_ýN)wYǧKî0ƒ®»KTààŠKí9p”RÚ§gº7·€ÀóÚ'_6™ÝîœóÙ2ïï•5u¿Lé;÷<–å}èoð½¿w×K'(«¬^»q{ãÃnimý|±ÏBÝ*é£ ú‡²\üö?§ŸØµP(•íÚµóx<‚( Ø­ ý³˜­  ×iÿx2—Û½ç`æÅ”}…˜M)Ýs ³16Žº,º•”/^¹®ña‹¸¨Û6º$ÏXw ~ª½Ï÷Æâcñ±øM:½ð^¯Âè‚ÐeG:ÅE5¿zÂ/:1èŸ{ÄUý“ÄD…ŸÉÉ?‘}¶gzêL¦×i–|ðÃصÿÈ;Ÿ,¹l–a^ñ¹?è0Ö®uËŸ{ªñ¡ àY€?¤S>pGøç{Ïydì߈ÅÇâ£+¤— ÄhÝöŠKÎ$וÛàoD‹Šþ¡û•{&ŽíêwÉ5»Þ}kå[ýçpÜUÇž÷þ\Ëô×á¡ÿ•»»¥qûÓ¾Ã/^éöHpüÔ¹g_~ó`fÖõ}#†a ±ñçÒ›ö KEÔwµé×:b@›fÞ¬(°ŒJ¸Â˜ §Óâz%„\q&£ºÄ·ÂþxX|,þ?–éäâ·çî»´L` ãºÿÖ®…è›ô“¿:Þ˜»«±õ¥bû»oÁ„—þ°³üÎxºMD…‡Œöؼ¥k6ïØ»}ÏAŽãlv;Ë:Ó>9ñÚç#Éò[s?¿4ÜÙ©ÝðÇÄ ÿ) úôØÀ̓Ž©´ØSÂü2ò«B}U/õnµdÎñ’º—ºÆ6óÓ¶ õ­jptˆòOÒŸ.7eäWEµÝâ‚ÎV˜Œ…Q­è£8\TÓ'1Œ%dcv±Ó-õL)7ÙŽ×b©±øXü¦ž[j~[þþ1žOBÿøôò«¶—ŠíM¹í¡Û!¤GzêÛ¯Œðžî‰ñ1qÑ=ÒS_?¢1uøztnß%5¥±³d€ÑУsû)­gÖªE\dxHxhPãÁGwazCÎí[µˆÃjÿ1¥0ºK|ÿäH•YBT7£_£FTñ\Ûã ½[i<ÜÕ"ä¡äÈ’z[| Þêô¼Ð;©ÜdÿOß”æºé÷%—šlj‘;Wi~®[B‹`Ÿi÷%é”NIêŸÙ:ÌÐ9Ú¿Ö†WÇâcñ1·\¶º Û!½üSÚ^º½5‹mzÅ—b›…_vQã„Ø(ï-_~bÀÌ<>&*>& ‹|Ustˆ ÐI”úªDI–)PØ:ùت#ùÞÉÆwo9õûÌC…ÕñAº§ÓâþõÕ¾ ‹#«¼nò]wäÕXÈ.€‘›.¬ùöXÁʧï|뇳n÷éž3Otˆ¶áhMƒKÅÇâcnù-luA·IziÚm/ƒXn©\µº ýœW©8ÈSÏiD^£àà‡ìâïN5N¶ç|e§hÿHƒ¦}„qsvɈÎÍ# êQéñ»r*šèbŒÚf~™Òv~ ú‚Ú†™¶Ýq¶ìxINÁËxS#,>s F„éå×éå³U¹M掊Ôí¾p½Bè6´hß¹ÍÙ%Ö8UVÏ2úçmÌ*~õ»£v÷/w šùÃñ(?Í¢¡¿=^øåóZ¿ä‰.”ÂÊÃyËä~>4}XZ\•Õ1{[ÖàÔ˜q«ös 3¸}Œ¯JÌ­¶HxÕ&,>¿‰rŸYöÉ Ì-@œNlD7épœRY–%I’$Éår9΢¢¢´´´÷޶“Ë{Ž)[?ùêsŒ×c¶ÅÅÅ>>>7ôJDÊ[²‰Ã~ƒÓ‹,Ëõõõaaa7·ø*խصÐf³ÝÅ¿ Ý:•ïôþ–ß{ÉG)ø¨ÏÞÓ2Ôî’öçWû_ ,¾¡w·Àâcñ±ø?»”ÿôÉ[˳ì7&·ŽuA·•Æq/îÖO¾tr BÝnêí®z» N—›°X|,>ºÔíÙ—á“·–gézÜqÅ]Ðm—^f|ø(4µqvìuóÜèö „nM·É­Ó±ø‹Ò˸YÜü9Ö†~tnS8¾!„BèÆjݨc-Œ.!„B¡&£ B!„B£ B!„BatA!„BatA!„B!Œ.!„B!tÍð¾.Ý<Îss†>½Æ0ù›y÷úýå™X2Æ \6xåœÚk›|÷è˯œ×Å;¹3kÆÀ™‘³&×Ì|es¹ \V«KÐhCú¸û ç--ô>@“X:Å»Dj¶~6ãŠ{.ç¹yÏÎö{sÞ/(Üþâ;º\.Á¾`âÒÁ9/üÎÑ!ô¿Ûqæ¬Þ#ôH­]½½ìÞ›ûí $ŽûüÛqÞ´¨ßÒy=/ì¾ïyÀ™5mà̸¾ya7*z¼¹rZŠ–ŒCgÎípá.…k$¦L[µjÖ º{Ô7ït¸þÕ«É\¶ìÜÄ&]Ê6½2~YÐÄVö ÁY°mæøñ3 +gD\Óñ\Î¶ÂØ©+§üRÓš=3çÞ»pÕ½~P³{ÆøE›{¤ücÆ®¾­ÇŽýäó~ÁP“µzú ϼ¹pÊ Mr‚F#d¯Î¶¤xO®”íYWnÐ]õÏ‚ûÍùüwgÙ¸ rl›ýÊø\ çõ þÕóYs†¾07»ÇŒ¦°gÒ´œºt^-€³,cÑ+/<[óÁÂÑ7òøTÐ4f/;wµwãF>7‡öŽe›&==}MòÅ/׿¾E`tAýoX2—Ð ø`pÖøÙë ŒŽ([=üÙŒØd¡ÖZ[^nðæÔ~‘bÙ¶Óe»°º"¼9u@¤hÉZ6}æ¦rp¹ =&¿9:¬ó'-Ê.,¯5Üóæ£EgÁ¦™3W—¸¬šäQSÇu¹AÍ"Úäž±®ùåVñŸ³œçÞúJmrK¨­-/·Æ›5¥§ßo—ÔdÌ™>÷@-¸ hÀÔ7\µ›fOš›]XèŠ5ëÍ~‘ð'–‚³lÓìW–eƒ.¡å°©Szjvº,"=¨¶°0Ç;¸ŸæhFaaNmˉLê u¬›>}u¡ËåÒ¤Ž}sR÷1`…ØaoNKΜ=73¦O ž:£_dS[$ë–¦N|³§÷Œ¹ÙsòÂd—Ÿ \å«§ËÎ),‡ä‰LëégÉZ=sö¦ZáÿÙ»û¸&ÎtoàW·0Ám¦»$´’ì6ðQ„±¥KV…#mµ‚­ñåúˆulhA? ºž}*±*ì l8X­±U¬ mm¬P9Ò‚<_>€»IlIØÓI 3ˆ>yQlÐþ¾A2™—ë¾ïÉ}Í}Ï„ì‚d®&9JR‘‘_o³d­Ë¤´ÄîqHÁnˆǺ¥ÁI{‚½†Ï23Šê";ãµ29é™ùà«kO{),~æS«ÿÕÇðNsβuvíû±tè– yYv¬JµùJZ,¾Ú-«Ìë Ò‰‹“ã?[ž[aÍ™+>ÿAjÆÁbHOŽO^3EÚ§ŽM¾Ñ`ÎíX›a_¹=i²½OõŸ8&Œb–¢åƒnJ0KÔ|ü3šæ/¹@DÄÞ±!ëŒ!»ãT6‘éµ4c]³öýDqE¿¦×»wíñ‚&ùìòuEçæ$Jz½n·ÛÈ}¢ä+‘lÊê´•«òk¢Ò§ÐÙœT]……aˆ$s5ÉQÙÎüŽäüdúÚ|±fû¯–[›ÃDælÊÒ,±?SoŸ›–¹@v³÷Ëäë-¸e@…;½c®B¸»û*Z*íû&wy†tûNßÜ¥YâY^¶‹¥Åî«Ùžèß²cUiw­™(œÍ\¥c’w­™øÀ Ws¸%ñvÏ:mái€/ ëéÌ º3‚Dáî%¶“¸{ðEû~¢äLæ†Ü!»à¾89mñÏq÷ºŒXŸùƒÉ‚ɾ ¦Ù<Ï;ºY¶•É™™9[Ûòsk8âlö Q[öìÞ½gg”-?·†çÏç¦õJÞµgÏûiS.¬0‘`±'çìÞ·s¥p¬¨ž'ó¡Ô"IüΜœÝ»·×è²Îò÷é¬gŽ^û{‰²R`›íùØôÌ»Ó&×çæžãû•q§uõ/lÙ³gÏ.âô5‘`oa¤åìyû´–¢ƒ-üÝ”‚õxF®eñö=»wïÙ¾ %+ã3+1d·1 ´é;¶¬dŽåŸA›ž¹=V|üƒzŽš÷§‰ãwîÙ³oûÛÁcͼÝ"<»}ÏîÝ{¶L¾_tN27vŽB1çAÌ[ˆ¸–z›û¯^W>ER){³ylÙ½gošWMÑq3>?ãèÄä99»wi½Žf䟗ÌÕ®ô•LÖlI¼9R6K.d-·lMJfÑggÍ<‘õ3]®}ñöÝ9»wo_lËÊøŒ#†!ÛqìÎÝš·pšPQÑLDÔ|´B˜¶@ÑÒwCÄ0‚¥e‚v÷ŽÕrÏAêë/±œµðÍû3Š˜Ø{vïÞ•6åLFÖY¾os¤~ö惩–Å[’‚¥ý«·h°˜ˆ'.öµ|pÆJDÍŸ1s_p$¼Í&››¶k÷î=»b™cYV꽦»6ôkzýúûîÁ ¡¾ÅND‚íø†åK–,yùÅWÖ]˜;ç¬ý$ñõeZ.Øøó¹ÇÚ]{vïÞ¥q?˜šžàÌODöó9r)vËšç™~Í'†Z,Ái»{å-Ž­LÖ¬d>еÞ|é|‘®B¡}wΖ•Òš¹ùÃÛóñé™;¶Ç‹áDcµ“ÏèòÏËϪŸ•;ñ!é<OsèuÁêüñƒE°B4ÀWvóYgÉïïÎÉÔL´Ø„›2Ï?£ÐîÚ½{ÏûÉ/Åö³ì=aÔ`dX+Šê‹µ2IL£u\ˆMšHÄHüýÝED$ñRÐl4ÅÝÝZ”±ºˆÆvÁ.[}½ ˆWˆˆhBTf wš¯|Y"»‹» pN^h±è^«q\sf$Q¯o.{}êÒy=ßL‚Ýî{W{.ØŽoX^ïHW$þ±i±pßmàR ÆÝßWFDäþ¼»=¿ÅÎNîS d9ÝÂø®”ûüšÌ牬GIìû‚—ˆˆ$$ÂiÁ~‡R¸å+¬åt‹$Ø_êøú 矵Á$VLQˆˆH"–Üø‹ìĵœ¶Hx±D$››žIDTWýïs.d½¶¤ˆ!Án±1þ‘ÉiseÄìûñË-õ6É…ÈñàΘ{esÝ‹6¬Mšõ /Ì –ÒÏR€a>^To·Y^[’OD‚Íf/ª‰`2?w2#õÌ”;{ˆ¸“k–ݦ·wk_Á7vû ·Š}“o½Mÿ.{–7úg)ø÷;àï(†ÈÞg1æ®Já¶å×ÿ…[ú5}ãXjVËâ9sed=øêªÓv¡°îS$–Ïê¹¹Á=‘ã›O×3þÏX—'kvÞrŸ27@bÈq"–•M ^01xAÔ IË³Ž·h‰Q,Þ²;ªW.i­g±#î¢ ¦QjÅùÉÖ fnšQM¿ 5Ÿ%†aôF`®9cw_©`n­YÂÀõO°Y$³$gŠ*ÌÏÏ• T½›i°˜0^ &ÛtÇÏœ?#Y°XÂ4;N=ºÔ$iï§LñçR–ên6£^k°ßùÈ_ø¬E쫸uèW$›¶@¡Ë­·®öx°úv|ËÉzòZàδ ei»Í®˜LÇ‹Î,N –Ðøst£R÷ã®vpCn}ÔmN-7OnýkƒM‹›Mx€§ Dsè¹×…?¿cÕÛó=yeŸs'ò- òX¼ã£YçOŸùì¨nyþäû|_Ô(… c#¡ùà¶i[ö~´oß¾}ûö}ô~¼¢Æ1éÈVsÒ‘¥¾ž^ÁfcÜ‘¹âà; $ñõe.|v'⛋֬ù y€¾ŸW°{ËÁ +‘õäŽ'­ÃúÝkmnîî?ræfÇôâÍÍfî),55f"â/œl{)œû•¹?¯êÏXˆˆ;·cuÒÑþ!ßE)ˆÜƒ¶“5VÇ×çI»bŠ;s›¾½bŠ»åd=GD棉«wœ³›Æ]!!â›m±ß6ÍyxÌYé[¯Ë8xžsä-GS×f¼ ”ƒû‹ëÖpDÄ›f木Šq'7,}mGÏ[¼å‚E¸K܃¶Ïs¸³9™Gû6#¹sé³¢¢3â¹³<†¸¡w®(#×>'v2Ëz÷Ô(Þr²ž|ýŸê[ÇÇIi±”›úA3—'Ñ„ÓìEYî &KE7û¾’‰î""뙃5¶+kÿ`Ÿ³ù3]Ư•Q}»o\Íg…û6—Õz:7ãxñÊçEb__æÂÉ |wn&ñ÷7À™_â¥Ñ¦-°è2ŽZï¾–Š&¬ÔøŸÑ´1î^bË鞈?_q´åçî¤.×¶rçö(‹Nwú¡h ÃÚÑÕN®ÏÐæúÊfܽĶÓ-¼ãÁÒ{ÂØg9œc&L™»Z?Y¨¹`ÿ9v 0ê0Î}pœf%û÷šŽå•_Tñω»-ËÅb÷ŠÝ2…•Z£ü?ÈXõª»»â…Å+ý3r3Žo×jgmÈX¾ŒHLÓ¤yP}¿ÕË“cÏ¥¾¶ì1 ŒlÚp^wäë³Öê$3Û°ölüÞôçE|}ÖkYSví^0šžëÄR 6 1ɹ¬ÄÏ, MŽß2AF}Ká¨oºFsrú%G"÷Ú•Rªø)¥ }A:uí²ÿøä`–n3vâ±H•šºjY bÿØä‰h±bí†U«ÝݽD-Rdèt'Óçú ëÖ­¶lŸ¥)}!m§•±ai®ˆÄ^sâwƳÔ<@×+yqjƪe¹bÄÓ4iì£.lprZKFÖò—m C‚ öš“œü‚TJZÍéÔuËŽŠÉN^+“Ýû¢yÌš+äf‰5ñ²7ôÀN1.d½ör> $ö“¼sõD‘,\»òlÆk¯æ2‚ ž¦M›(b½n­cŒ£K²¹ZÍÉU©ùþ;Wö«Þ·íDy,˜+>tn?KݱcýWÎÊO}íÕÜ݃ÇN;“•Qäß÷S’iý›^< ¶ã–Ö0D‚À(¦­ÜžÖýXó¯;ªMròƒ16l¯ÏXþ²Žˆ’LŽÚ²}±MˆÕ.HÍXõ*Ãä¾Xï!bcûœùk­À#*yåé×6ôÏéßî€}>6Ökij½‘hÂÊXßµ–¿êî®ðõW0ÄÜ6qɲ,Þ>W&#Íâƒët'w¥³hwÓˆˆDcµ“—§êN¿Ÿ2¥ï—…Hï¿nÃòeîî /…;s3w‘(¤gSW$1C‚x–fÚÏrÆØ#DaÄ¿Â'¬Ù‡Ÿþ€ŸipbN0€1è&çÃÒ¥ª–v¢oêjÚH1ñÉž¨ýk}ÁÑN¾zõ’‰-§ ‹j¾#rvr""SùÉ«S—FÍT8q ‡öU7ÈÂßÕì-ª6u<1uaÔ.§jN«±}KŠ%>ì¥#=ou4¾ïè9wµÿ§Ø'Xg"¢1¬Ómnç8"#q<¬bŒ+Kô-Q'ÇQGuvRuÏ¢mÍ\§ÿãè*Éï£WSANö»åWåKã–ùaŒªÔ…œäSý\ª«?ù„H¾Ä‡¥Kݯwnï¾/M.Ï­øÓR?ç‹ïmÞÕÐûS}’ nÀ…Y"j·qDOµÓó g–u"rznÅêî ûNN,‹¼e4d/ÎGN9M›‡¼î«õ€9ggùTâ®’|ªOïkûU"¢«ím¦š#G›¯µÓòMû kpa’+D_:ôßu5Gö~Þsûÿ©>NÔÑpê’­k>¹÷½÷öÖØP|£"{ñŸ‡¼FgêBä,ôq¡¾™ËãþáÓ.çöežtšý‡ðqNW/ØWÝ6à*ؾêµä¹'œL§öùÆg¦¼gñ1~KW‡Od›íÊÎÙWÓ.žø ºü\ÜÕOR“ÎöïÚéñÇÇ}÷ßïþÇ>“|áŸþ=—õ>øIJ¸=üB‚È#ò>‚à†àN£m‡Ú¿.Hßu®C>mÅB¿öSŸ˜ˆžxn<ò€Ÿ¹Q—ºŒyziôÌ"}UEav9¹Ž›µ4øI”R—Q—¼ŒŸ÷‡õóP4pæ R¤.€Ô© Rx˜ÜÝÑ¿øâ „ îÊôéÓøé0êH]î…»›0†É?0"0êH]ºR’G}´«« q¸çººº}ôQÁGäyÁGðG6øH]b±¸££ãÚµkÅ=tíÚ5žçÅb1‚à#òˆ<‚à#ø#üÑà eð±,ûÈ#p‡«A÷У>ʲìO¦>‚È‚àÃýþèñÏó(6ׯ_¿víZWWWWW— <Ï_¾{d IDAT|900‘€þ0a ºÜ N_|ñ¢£=u™>}:¢#bÀ{]&ŒR¤.€Ô© R@ê€Ô© u@êH]ºüHNw³pç×ï%íj¸ñ¯‹«ÂgêÌyÁ~ç{±+íuY› [ž×®– ` ·3êò„ræÜ¹3§='§–/nÉ9ùM' ÷“Óøˆ\9{Öxg"šr<{ËÑ–#úsϽæÿ8µ_<¾Wÿy÷W\'΋Z,ÿFŸ‘}еù5ÿ1D 6åœsznõ¦eжš{Ô´´]%V1ua”Ú¯Ï@KûÅã{}~ÎÔAää:N9Oîÿ¤sgóÞÍÙÕä3Ó¿³úÔ%Ž\äS—®Rû=NDßÕ,:T}©­ƒ\äÏ…G-ýý“Î_¿·iW;m®âÜÑ/Ù¨ÍñþcPÞp{]×®^íº~½ß[Í µ}^ñð™ô#–±´\äÛèýÊØ§Æ¹üò±}™¶^ù_ë7½_ù•ôÉ_»}Зéøáû+—/õ~E4æ—îŠñú2÷°Jç2h>h>h>h>h>£a™G}ÔUê&—ÿÆùÑG†¹«ö“îuq~2pö8¢«-5ßv’­ê½œ£ç¸ñ ãâV(éÜ¡÷ô¯Ê§Nd‰Zª/¶QgKÕÅ«ä⬠æC9EÕ-c‚WÅ­—›Nž´Ý²bǺlò™Q«V,œH—Nåhî$rrr&êh¨¹¸jÝ깊Ó©¢}uíDßÉ)¬¸DþQqqK|¸/÷½wäDÎNDÔvª‚ó _8SáDp»ùíwxáóƒÐõ¿íå-àÐÕÕõ g—ÿmïüAèæM?ÂóüÐûª_¿—´«Áé¹Õ›—wÜÞÒÙ¼gsö—Š›W´çüÇ>“ëÜuI³ž¤ïj²þ£È4qÕæ(öHƶŠö‰«6G7íÝœ]í<õ møÕ›³«¯ú¬Úô‡§ÇtþCŸ±í”K¸v½ÒÔs¯ËÄšw2Ž~Ûs×Kû×ïmÞÕàôÜêMK]el;Å)¢þïÿ89FUœž[½)¤aË–ÏÛäKþôᅵlÇßÉ8Ú1õ mxGѦœsW{Æ|à'.ÿ8øna[Èêh Qç7U…9§ä«ãæ=9ä;Ÿ®_¿~íÚµ®®®®®.Axž¿|ùr``àˆÝnÿöŸûk)Š`ˆ~5Æy8Ç^~âXD{[[‘‹ë§Ž–v"j;ºeÝÑž7¿i㜟TºV|~±º¥­iè WåÔ'颭ƒˆvmZw£ÜÜÖ©¼ñ÷-GDì¬cǸŽ!âÚÚ¯’ ‘Ë:2‘1¬Q×ÙÙε‘i߬Û׳SÛUCDÄ>éŠñ–ûÁù7 þ0» '§€VGM¼Z]˜ó¹Ë»É[F›üãv»Ýå—bgF„ÒŠ„«¿3|ý¿ŸÔ­ïüGEy ‘Óx¥ÜÙÅ6†¨ÍuÚê?²Ý«vb%D¤œêúùÑKÕ5c8røgê#q¡KWÇ-‰S{8w/êÂ:Sϳ˜Ù'Æupßrô´„è*÷ GäâÊvïëÕ¶oÚi¼3]ålD.ìç1OŒ!ê‡ÇEùt¯8¹¸Ž¡–{’Á $¿^M9Ùï–w^•/[æ÷ø|0íííD„¼`è®v ëDûq¯ËUSÕ'GŽÑïÙ¹eÛçß’Ó¸…áO¡ÇÇOUµ}YuÑÖn»X^ô^Á¡†v"¢'ý§>A\õ¡S=<õI"r–OõgéjË©/¿á8Sµþ½÷ŠN~{µw—Ø?XAô푽Gj¾®;©?t‰ÈU9SޓЙ>9p²®î¿ºDä4^ù¤ó“~þO™ªªM\û7u‡ Þ+:ÒÒŽª4\ÙK¸Ÿßƒž·QWWŠ`è®\¾d¹õÿûíÇ I|ûå矑Ë>3ç-œíx:˜$pÅê¶}{OØõ%«PΧ”t'"O=ô-‘qõæèñΨ-¼Qu›¾Ñh¤ž& r<˜; `ضˆAI Àè÷ „F¿jÔÅù7êM[Ô(4¤.w4ö©qH]àçJ°^ni¾b± bÙSŠ OIðSK£—Ë/Cê??öºóvî;tö 1Œ³ t=æûâ²èµ¯L–"<€Ô ›ãé~xÎÀˆ.ìÝøÆö¯ÄÁK6å½<ÍOÂÙ[N}R°s÷ú°Om}'nªx€5îø×è#¶›/8‹ÝÇûO)rùlßaÊvË©óÞÿä̹¿Û"zÌ}¢2|ù«‹¦ePª·f¦ÿ¶hcóËïéW{a$ ºÀÊöIêÛ/ûoøë¦™š}¹ëßúê‚ÅÎHÆû¿²$&»pÎÎõëÖKJ¶Ez œ¸¿üf‹†»µ­å¬áÐ>Ýëû>,Û¹·;^ñοoüè 3aÆ¢µK½¤‘õëã}˜÷æ‰cKÞùËÏŠÖkÞý¯¼˜Pš6I u€Ÿ®rkšQ²ìÏ›¦·Ĭ/6?=gù«áÎB³ñÐû›ÿõã—·ý9íÍæ?¼½éãY…¯¸´ñÄg'ÿNÒýÏìÙ‘«*ßþãæýonöÒ¿3ç~޽Ø>~{ãGWÜ_~ç½õ7²” Y¯¼\±é÷eä½X˜à÷p½Ø¿²¡æRøy±|º§‚™±mùØ3o­(ææ½S¸Tøtϱí’©¯¼U2»àë׿óìßÖ/SDì+n|)Á{É€4(aó¼31GòÞ¿8ëñÔ˜ó¯ÑŸø¿ÏüEw¬eü¦Òm³¤d¯û8{ûžãçÚ"Fòô´å¯&,}VLD|õúÐ-/oŠ¡²?úÊ&ã°h½&fª¤ßf.îßõIæmZÛgtE2mݶ¿,{Ì«gWۖнcZ¯³ N_è1Å‹«ßZ÷tý–ŒìO/ÙÉÙ}ʲM›—ú²wÞ«Áç«¡ë/,y+Ž>ÌþÈh±Iž_«M˜=¶ûƒŸdoßsüìˆq6ü5MÌì±ÌÍ}KöýxGÁɿۉÄfÄlÖ„{Pͦˆ7>ýžˆÖϜÿuøÿ*í§önÝùQÅù6"b$ã&Ï{5áu¥dÀ¢aÈ~vïúwöœ±t3ÖIü¦Kr_íß²»ø‹¯m‘ø·“_^ýf÷[öã\´Yˆ}g^ÕÛÛ¿¢—ßýÛúg˜A€avåò%"r{æéaÛ"~’FŒ½þÓKâé/{ ' NÒœK…m¯oÜùIÅéªCÛ׿¾Ë9zólñÉ=LP¸¢íÌé+C\)3á¥Y²úÊFÄÃÐ÷5Ù'¼’ü—Íd)QóÞ7b²*˜—ß*(< ÿó[K™Šíë_ÿ²@DÄ0D–²ö3KþRzÌPöç8¯Š62÷Û†ùë ‰§ÎàÎ ö)_oIwâ2ø¶ÃÐ÷Û>¤åï–WúÏuã-Ÿê^ÿcÆ™)Ú•Çg¿D§ó7t™î¸W·;g†!ËGYûé•m¥Ç Ÿÿ5aÂÅCɺãVÇ!|¼>ZwÌWx@ÿç7§Û÷'¿þö);ÝÜ·Ý-/%¨üeîôõþ/úöÅëE;‘ûDÉm‡î¼-ñôWýNBÄ(^|Ù‹Èξ÷ÒS ‘øw/Ír'Ë©Ëvºý^ ápÄó^Wº‹ˆDOÍYú,CϘ"¡~×îzz:áí5süÆJdãg½‘§øþø¶O,7>÷»Ø¸éO1DŒL¹húct¾º…'‰% Cä,–ˆÅ"Ì_µ³ÿ˳ý=ƺ{ŒŸ¼Tû^Á»oNu$Îá›5s~7^áñìœ×–xÑ÷õ箑ýôîý-Γ7oŠ™>Þ]ú”ïKño-qµ|”_a½ñAš³qõ¬ß=ã%cî¼0<̺yøLÂãÅF†@DDÔ)«¢÷¼éSây·H§ÀÑÍ+¦ë™Öu¥¾ñ{Röz™Ä÷ù±d¿x¡çQeŒ‡Rqc,Å}¼‚!Ëÿ\é›51Ž=¿½;oË}bϳÈFÌdÂo{ö“‘0Döïolb½ÂáLxææ=Bb1C‚ Ñ•šºïIè/»ñž«ÿÔ±ÔRuëÙÈ”§z"Ȉ%b¢ï…~Ìx̘&é<žðÆÆmWÔ]¶#ñ~ÆK6H±Ižõ¿Q¾Œ«˜H°  -§. 4~ÎÄ3ïÅôgÅt±¢¹g{âgz>8„…àa†{]`ĸ*dζSWhºR!ä?ïš°yI}¾;‘$0aólñy]½ðTŒ¬­¦¹S²tÈOæ¯Ô؈dãoü¢%Ãö|”lv"™kïU12g¢ïí=]_FÚûtæFgÿ–.»t¼„ÈröŠðÊà{5„m‘h ”h ïÕÙ 7öÍ–ÿ‚òo}ÓÙbôƒ`•o¾ëûþ¾cŸælÜ×IäêÿrlÂZ•bàÏ2þ-XíDm›Ãæl¾uiËÍ"yŒÒÂx$5R€ûEì;o¼}ËÞÒF¿˜³þ­¬Y…ÚmåËìVA,“µòí;A/¾5Ùúñë–±s¦ŽâJíg?>c'¯yÏp불‘ˆ‰¸[æž æN¢ÇÄ=×ñ®×ÄmA°Û{e>7HŸìNŧ>¬ážÌöÉX.Úõµbélém·e¿»H ¼WC8œ‰Äîb"fɶwgß%F"#j¾›=“>þFrø$X/ž9²gëη_·Kl~vèi„X*&rMÈÓúßIÆ}€0ÝvaxøS—/¾øQ€‘!yñÕ9;×oÝyé?×½“ðÆFõ¦½üÒä Œp¾úÐGU– K¶­u=žpÄþü›‹<†¶F³áíM'ìâ1óLuÆú{?FŸVÕ[_qïžde«?{…$ó|o¤.çª[x¥ãþ{Á\}Hñ|ÿ¡•§­zvZÕæ· ïý_U¯§6Û*Ò6ný”§Ïö—Þv[w›º ¼W®w<œA¸úú=FŸ^$O)zrÁzÅÎŒ½« ÀÞ\}¦Ùuòôñb"F:~ÚrðÅ¢Ímô¬ûP×Á¸OÇ|té ¿ñÓ=Ü‹àê.ú‰ Àý6ö©qúLŸ>q‡qýúõk×®uuuuuu ‚ÀóüåË—€Ÿѳq›gÿŸ¸ ë%iïdúÙS|äãâO¿g¤ãü×¾ýâc›Öç5¼Y¢ìé·ös_‘I"ÁnkùŸ‡öUµ0OÇdÇ÷ ééûú®ZæõiîÖ·öŠ_Sy±öús·ž#ßuK½DDŽ[Û…oo:aù³áëýiÙèé˜|$/½ùÖ¹_ÿÑÛÿºð“EKU¾²ÇÈúõñ½V´ÿÚmq~ Ýn[wk½ºóáÐ`qxÕ÷HÖæ7÷¾¹VåË –º³Ó>j™þÖß6+o›½0Œ˜!ºTqú¢ÄÃUÒüáÛo~å»LóÒ3F°Õ}\|Ž$/?}W*Oyu‘âߊßÌPl\6m‚Xhþjÿ;ºC¼¿”¬ñý¤…à>sùåpÿÈ&ŒÀˆÿNó—·é7×/übFôª—bÞ~Õ]Êæ‹5_Ù¨þ¤žò’çÈý¸å£·×ÔÓ­–üÖÿåø„U/ùßæÇ(=^Ù–Çdoß³1:ßñ{&s6ü9ɉxz|´øãÍo[bÜ"³5ƒl]2yý_ÿ6õü÷Û®ÛODô˜âùÙ —…ûI†¸­»ˆÒ`{õ£7!{i[“½}Ïæè|?òæ_^SÞqÔEñʲiGt‡Þü·cÏkþögí_Öån}_÷úžN""Éo'/yó­×ž¹»›NDãcþú®dKnñ›ÿ–-1®^S–¼³þÕS‘»Z6ð<(ÀˆpÔ%00pDvÆh420bsõ¡]ûŠ|e»Ù[7kù²è%AŠaë•ò_m ]_óâ»6>3Šîø{ÐÍM<|ç&ŒºÀ(ÀÈ”‹6*m$»õ²ÅJbÙXwu@꣕Xú”—a¤.ƒ=û–áö `h®\¾DDnÏ<ÔF¯Ž¾æ-þA€Ñ£.Dx¶À¨‡Q@êp/`Âܵ±OCê0!ºŽ( ™Ë/{dx·ˆ cDD¿xä:÷Ok'ßP ‘ӣÚ¼ u "r¾Þi»b²´\â;~¸~0ƒºv­ËñÇ/™aÃ… cDDb±X&“™ÍfKóE"ú•ôÉ_»í½À?[¯ü¯õ›Þ¯Ü¿e:~øÞñó´7ˆÆüÒ]1þA_†ˆšjû¼Òÿ±Ô£mKËE¾ý‡Þ¯Œ}jœË/{ЗÎ*æƒæƒæƒæƒæó5—_>6ö©q¿duÞQ¤.Ýär9˲&“©½½ÑУ>êô‹GXÑ/DÎó¦áy#âúõë×®]ëêêêêêçùË—/"2Ðîu¤.H]© R¤.€Ô© R@ê€Ôº u@êH]FB®¶¶6àáàêêŠÔ~¾õ˜0H]ºR¤.H]© R¤.€Ô© uœ~#p;×#û¾‚Qx u€&ŒÀHê?/~În3“£.ðÀ¨ ‚ÐÚÚÚÖÖÖÑÑhÜW...®®®nnnD ŠnÔ†aºÜ9o¹téÒã?>nܸ1cÆ ÷U{{{[[Û¥K—ˆžFÀú0nܸ;f/H]à箵µõñÇ—ËåÅ03fLÿäE€úÐÚÚzÇ €{]àç®­­ÍÕÕqN}Ž"@}hkk»ãbH]à箣£“”†YŸ€£P†rRx u¤.H]© €o2è‹‹õ†±æÀWV6ñˆRZº1/%cë֌ĭÆÛä.­¥ÑJ¥JS9à"¦bµJc¼µΕEE—qýzëeé±a*¥R©TªÔñ:ƒi4wÝ[+K+[ïßê­Æì5‹fF¦èkï°Î­¼A›¢¯½»4“oÐ……¥7Üe¬ùÚ•²/UJíw º°Ð”ZþÎÅÝo/Bû®.RoêÞTjTêbÓȶ•¦²²†{Xc‘ºÜ{¦%ÖÀùòºãOš1é×D¦ÖyÇåû¯êÿ:–-5$®L­µƒ=­ÆÂ¼ró}έ„ÆÃ+ç„ÅgÝ>‹c<UWWWW^¬ÁåÅF¦ï{ÜD“R ÕÕÕÕÕÇ’½ïäcÕÕÕÕÕ†”I¢–eUYeY¡ìVɈgäþWu/Åê¡þl§((¥´@=¢?òÉ7ç•4Þø;áÌp¯5•s)1y+K*[U¡nDD|mÁšÄ¼’ÊýTÞBOßNŸŸU%°žÞª¡oǯ6/¯vRò!ãó¢Ia)¹¬¾VJDÄÕ§¤äí""©*.]æi-Ž\YÂŒMVytr„U_bll°zÆçfª=ÍêX£jëLf+Äe¥‡É‰Z+³6dè"Æ3L“©Q¹ñFM¸N¾Â»©¼±ÉleCÒs5,µVê6d”7 <‰ƒbtÉjOWV¢Š–WšLMVyôŽ”·&Õhâq)Å:{l®*L ×û-ÔhãÃ|n»-V©ËÔ‘ºÒèâH9W[”RÒhçI<)"%=zËWƇêda>Æ«Õ.ŸŸ™?‰¹™Žõ Q 9="SqäJcÈ|ªªj2™ïø,ZfÔ„§Ë#&5j›š(P«™t¢°´¡©I4#=7)ˆ%¾AŸššg´ò<ã¦MÓ¹ñ ºE‰\„ÊZn4™M¨ÍM ¨KZs Ùz8*ºiGn¼è;F]†€¯Méž¼ó/+ËíDDdLœéx%(Þpë•å})…DN’Eø™Jª³›Lú”ñé2éü¬ý÷=oéa¯;5S­)6Þi–š§*LÖTÞÈq•ñLLQY™a¿FZ’¨«å‰DŒÐ\E¹ÅúÒ¢Ò§è›n& ýB$x«g0UúFÞ‘ŽnòŒ˜á6„}µk'%—*iÙò¬Ã7·`*ÕkJ CYq4c0 é^žþÁ÷›AÆRÇ^µV•š<ÕÒ^‹›«Lóó Å‘žM%i~n™¡ÌiÏKÌk "Y«ŒÞÚÜbý~]@]^A-O$â›+¹ˆú" {xC6“[ /ÒÐá¼ÊVâ²u&uî¡2CYº_eRFwõ7W5¦ë÷§È y‡›ÜT)ÚÆ[[Tpoò¤.C#XÍÖAß3Y¹[²½A¤V{±ÑVý q'̲ù*Oë7_%cˆˆo.oªæ{‹ˆD>!ó=˜[“%Î$0R7f€ 6•WñÑ*7"ù„¨eMå1>aAnD"é$1ã2‰%I½ÅœÕ‘i1Þ ŸðTM¢ÆJÓwåFÑŒˆ–ˆX?µŠ­-wt}eA!Þ""’zÊÎjç7H#b‚X"rSEX •&""Æ#Då)"I'I«uÄîÁi>±5vN¨æö÷€ˆ¥"¬\S¹Q£r#"6 bc,m≈‘Î÷‘Û¤¹ùæóøBDžjUwîÂ7yª‡’¹8 2DND¬÷$©½‰»-FÊòu¥¥•MœH–¢‹îÓÉì'bÿ¥×­.Ñ¥Ž,­oðEÞaTUÞĵ7ùDܺWŒ·:ȈLÆr³g„c`G²ÐÓj¨3õ~_$óóÝ•Y¦ ó±r¹XäID¬\ÆpVÌå.0f¾§ˆH4I­–öäLb¿°–ˆ™'ÛûïLÖoEÜBY“@$X«Ê«¬D$q¤ ÒÀ^—¸‰¯+)77ÚÕ[»_¨5˜Ô‘Œ•#Vꎱ2†LDo)ëè¬ö¼yƒˆ•‹…ÆVލï%k^à‘TܳgR–8+OD Ãt':¢^ñ=äî—ÄbÙ· bïî­‹X#4r±$b¤¢î-ŠDDÄ[­öæìEª†ˆH©ÜÑ+±Ìè(ià müüÛÞÕao∕Š8«ÕZµ2´¼ûPì¬Ê‘Ö‰å=¥ fH°÷tº ‘(@ÂÄêyo¡´Q¦NRæ2h°ÜB3³ìYyºè­kD~óãR´·NcÄ3rËt·Ön€õ‰¼ÕBJ¹9NÞp Éga€Qc¯ÚÛ]ö‚‰»Y 7)#˜""†½Q]z6%bnÔÇÞ’@*™ù°¡‰'âŒ%'¬‰ýNy o2'®Ñ3jMˆ›È3,@08žúÆ›ÊÒ“ O,¬Uú:ŽˆL†Ãf™êÆ}ÿ¢ABä&®Êή’Ïü‰™ _›_ÜÄ‘›‡÷OZ™È[(”æ6:2—óï€YSIiOÄ›ÊKšd!?âd²À ¶®Ø`""j­Ô%é{èÃ0ÄßË Q€»ÃÈX";‰eÒþW¬[ µòùZyïeX XÒ§I‰¨JŒœ™ÇzE„x0M<‘[ˆ6®<1vf)+›4?ÌOlx¢^Iˆ[Xf1“‘;'U {ψÎÊžÄùÄgƤ$EªtD"Ïmz˜Ýñ<Ä“ü2ÔaµfNªÒf±DA)ºùI)‹Të£NOS±^ªw MK¯Ûªâº·æ)¢ûª2U4vMhtBqA¤ç},ÙŒ8­&"H~»{¿…æ­ÝSö©ŸjEnAä$‘(@›©NJ SqD"yP\º#Ycd¬>^Ôd&Ÿ˜Lµ'Q÷;@ˆˆˆFS±:Ò˜Tvo:÷Æ#Å=]‚È!AkYÒ†ªÀ8Mؤ{ù3Þ¨ M(ÖGÞÍøCkYlÔá…û‡ðË,p·Í°wÅè£.ð@p MÏ  ; óLIAÈ[†R€!§-•šEkŒÒ]n2¤.p¯É#õ†H„a ¢A?ôÅÙ ]Y5¢62ð„1@ê€Ôº u\\\ÚÛÛ‡áÔ'à(Ô¤.wàêêÚÖÖ†8 §>G >¸ºº"u¸77·ï¾ûÎd2áÂÿ0hoo7™Lß}÷Šz×77·;.Œßu€Ÿ;†aÆ×ÚÚzéÒ¥ŽŽä¾rqqquu7nýŠnÖ†aº ){‘Ëår¹¡@À¨… cðÀ¨ Œ¤GŠŒºR€{Æ`\D àî`Ôº u¤.H]ºR€Ñ­©@­T*•A×óJV˜RªkàœaÆ7¤‡*VЄà“TJehúmšõÎ ½Y¦TiŒü}Þe¥2(ÞÀÝM#BMð».ðNddÕ&M!#G$ K[âõ…åfò˜æIÄH¥Î–¸’b3ª8m ”š y…'²ã“d‡²BÝ8cVF¶1$@ä6Xk3•§oÍ%ÏóA{Ž~oAFöoïˆPù…»w•ª’2åœÔEÁÜ‹3§Â/ 3ÓÊz?gÐ!œ†yŠ v’JÉZURÉ©BÙ¡6"ÔáÑ£.ðÐbdR²ÈÐ7õ;yÕhÔ*¥R©T†F§LDÄWj‚”JuV©.Z¥T*UѺÊ&Cz¤ãﬞ+Ë­†¬xÇU‘)¥M¸~<$na‘ÑÑÑÑ1ó=‰H죎ˆŽŽžÏê£fÞyát¡JeP¼ÁÚªTª4ºØ° ¥R©ŠN7´"ø£¤7l26 DñÚhuX˜:^—Ÿ™œœíÚŠÕ3לÈ~xå¿„êxÞT–í¸`¬RkŠk9âš ð­ÍD©s”ÑsY¯«Æ·\¸5Òc»GuTjMA-.qÞZ}KDÔZÙÓ2”AañY•­Ä¢ÿ%ꀕ¨jÍ¿ô½‚ÍÕ'E†v/›^fâ©çÿPÛ]÷ÙRWœæ¸ ÝÿŒÚ§J˜ 鉉‰:lj”7•éz 94²û0zÎÀeñaAJ¥24öÆigÎÞgÎèÈ0ªÓ%&&¦¬ÝšRZªT*ƒÔ)eMÆ‚Øî¿{Ê3h"Cƒ”JeZSÜÐ'®Ýà Ž1ÎÛÓ49G+Õ$Eª”JeP˜¦Ø1¸Â³bC•J¥246»’nóÅÚ÷Ì0ðžp Åšîj—QeîsæRR%03´óÅd,1´ÞÒ¶ºk¥J­)0r}‘µwîÕæTêø,Ç Òàu§5¤.CÄÆ­ð Æl]Yë­ç®ŒøìfŸ„Üüä¾î@bjY+‘ˆˆ¨Y¯'uJBc¯+Y[@) b{]az©‰ˆš b «„Ìüüä ëáÔølL~ùñßʪè@†Ì¥•&""s•ÁJL`D€˜DDd?QÊGdçÆù u’2*94ÉýÄDÆÄèøô½ÁØÄªÂÂTž"yHzr CÄjsw¬ð´ê7¨cfæïX!o>±51¯ü4™+dDä±"3?%@fÿÀòÄ×nM*¬Ti¹ùùijÖX˜šm¤mÚ|)ù%äæküD½W¿rk¹É;.mG¦6„Œ6¬ÔÕòDw×îºÏ–%œ*!9z?ÀµO•`z¥_ÆŒ•JŒLˆ6sGÚ Ï¦[W&–šn¬3¯I¥IO[…)ý¯:AÿVIDÖò‚&•V"šoˆNo Ñ&‡H…æÃ… L¥ŽQ‰‰¬uVžš úf"¿˜Õ¤Iaq+<È\~×þ|bÈPóá*‘ÉXn&±*2 g,Þ/&^åãÈ`<ÜÄ#ø£¢Ì‚Ò Ò"fx[«dg$Æ.š© ÖZ‰Ü<=¥ #õöóqIUéEEûó5ªIAêùDÖZ³ ’{{²D$òô›ä9ø” žˆÈÔhl4Ѥ¸ýÕ•z f—Ý4P`‰^ ²6LœçŠüÊê²”–õññdˆˆõôóé=aÌd(®#òŽ×F‡©Ôm CÖò’FþGµ»IštMd˜Jî6ÐõÖ*Ñ«„ëŠË­$IÒªUA¡ñÚ‘±¤§ÉLÒhÔ*•:.DJd5šÐćÆ;:N­š¿"DJDòèµ*,f¾ŒÈÚh¨µªÄHä6i’*&Æì†âÆ¡V§ðô ‰ð j.7šËŒv¢€øø°  0m\Àm¿Xo©Ü€{b®ª4yÇ$¨ƒ‚B5šñýÌ\ªJŒ$‘r« ”R]É ÇÈo“¾Üì8(•*2%wGfz„§tFÄ7n& ЦDª‚T‘Ú8o¢f}iOž=@ÆiížÃ½.ðcØ€¸„Àò ‡S U7N<ÖÚ’Œìòº›Ó7Nã¬TÊÃ2DLÏß""žâ¹&ŽˆêRç(S{–o4 „sÐÎ]¢CÄ'—M3˜ÒFϸqa‹‘º9.Ó²,Cdç8”y†jt¡â[›êŒ†â­Ù'J’Rʲ{/$˜K³ÓõUÍvê×ÂîT'TÚäù)ºÃ%Æ"û­ÐeÅ`rùí+ ЦGØ3JlÝp€ˆï…é;’Tng†ÖF+IeÒîv&c‰¬V«@²»jw,‘ÔCÆÜéŒÚg2 DRo©£éJeR"3×då=‰ˆX™”!"‘HÎ (ñ¡~ÑIå,‘H$eˆH*e‰ˆ‘2DD‘ÝÊQsö"evÏòæ&+ȇ¶n±'+rlCDDœÉΙ9"±£ ˆ‘ËÄwþbí6àž˜9“ˆX™ˆˆH䨒÷)N¦%uDt"qщîW¬Åå&u´œ¬fë̓b}‚T>DDM¯æ–…‰•ÊjäÌ=@û×aœÖºÜ·PM\᢭%[+ÅŽñÜVCJêá:qHæ±d•Ⱥ¦ªwÏì66ÖSJd÷NÈOWuŸ³ˆ‘âôóºÁÞ!ÒÃô†¢F’Îðõ|Ù fG"¬V;‘XÊ"ø£AkeAÞáF6B?‰uó ö É uMMVꕺð YI…UVï„¢ÜHkzQvóeOD$8:9B«ÕÞÓôDža)a)|kƒ±JŸz 0EVí‰Øß.°n*M®J÷6ÕKóR ¤d‡•¥ Ø8DRo)‘Ýd¶ɉsï^è]´»ºÞgËÛžQûg§ŽŽ^£•'O‘#—b{2µˆ{N,•™e+r³Ô²ž2dåý[#DZęú< ÌÚhåI."{GD¬§˜µ2Dv³U gj²á‹õv{bç"âÌ<K¼µéþM3Љ ˆKŽðo*ÍØzB¯oŠŽ—±2iwO"âjKKkÏõ ÙT&%²vG€8«Y ’ʤ¢î”K4ÀœÖî1Lƒ‡§Z»PJÖ—*ˆˆçÌeyyµ×ÜØdÂzTaDúò³µÉ ‹MÌ«ÃÝv?)wñ‰œ/£ºì,£ Q{ö:ã7fg*K³²ªˆ˜€O‚?ÊKÔt¢¼¼06Z£+(..ÈJĮ#’ȈFDd¯-7›ÿ)ðDÄ[­¦Êâ,½™ˆ¬uµ&^Ä0ôÿÛ»÷°¦®|oà?n{·&QI¼µ¡öÛz x^.ó6Ò>s@æ@Óå_ŽZ*jÅûå 2(TKÅqÄá)¼Œ ´QNÎyZšNÏ+Ðg„i…S%Þ‚h¢5;Ú½Ãåý#€ ñ6Þñûyú<Åìµ×^kídýöZk‡è¼FSüRŸÜ]F¤?T ®¯Wg¿Ñ9W͘±¡²Å@™‹„é¿ÿÿ|:_WVtƒºÑ Ø,ØuRàŒ ¥¥^<ÎEÌId–†!¢6¦~èªl— 8O"ÝŽE5õu꬜#É#bÝÙºîl~¢š†4‰Ž!»°^q!2â4›³Ôõõ5;²ÊôÄ$ŒÃåõÈîÞ¨|‰ôšÊãzCÇ‘‚eóæV‡2WW†¨­¨ ¦¾®(§ì¦; œ&+¿²¾®(G­'RÌörq ñeˆsr*ëëJ³ò[î½°6s"µd©ëê+³6[×Î<Š™‚µŽßDUhPPPPPP¨*.PLzúϺG„ȈŽìØQY_§Þ°lcn®Æ@·¹ˆXWÕlQcÖ†Òºúº¢¬œ6"÷X•ëî9àc ¡ Àýö¸¼®ž9øI1.hi¢§˜ûfãœe˜y;VûŠ…ÆYU÷ðØyפÛb}õÚùså· š7/_¸VÆ*HàH>[5tîãëz$kÑÆ:™gì¶ÕþÓ@â»ú³m‰3]¹#eù¹¹ùŽËÌÄmŸ-õb‰uUÅz2¤+[»¹rlÒÒ£+^4'§%pó¶wä¤/[“ßÂøÆ†È‰;’»¦ Q˜>o}¬§Ø ÉZ–Uïž4[NÄ ±Ó“6¤Îdê6Ο³¨à¼×;›¶Ívy^‹›;R–ÃŽJƒû<[k˜µziˆKKî¢øøøù9-®³Wo›çJä &዇.lpQíØ6ÓåDþÚE˲ꙀÄm»oÌ»ÿÇ®;ÛŸ¨•†MB}^ÞŠ6½ã+h²-Z[Üá>{õg›Cq-?ÊØ%bÛîÔF³qþœEYGߤ…!Ã]|—®Q0ºk—íh œ7SL$ƒ5&Ÿb([³,ÿˆ ˜¹:GåJ’ÀÕÛb=ÅúCåqM ‘Y/Þ{i[9a§/Ü–ê+3|“µl£š‰SÉ¢ ‡¹TªuD^³½$Y÷Ù¾ é5êžõJݽ~¶'w`ã¢eYGÄ3Swo‹w»‹ˆ¾p÷§‰âÆÜe‹–å7Êf¦îþ4Îå·èð±öÐÙñ<ÂÁ“Ñ×××ÛÛÛÓÓÓÓÓ#ÏógΜ @Éàr#„.ð @è]ºB„.÷ Šƒ¬÷‡¯~HkéU¾ó«ÕSJŠ\Û‰¸ïFïœ#Ÿz×·v_ÍØÝ!ÌöÈT º›ËùÓOfynyÅÌ?WcÃÝ_ ê=ówÃåWÆ¿~û'Î WŸî<Üi1÷98NSHçÏ’¿þì=¡žoÛ¢Jª‚ó+3|NîMÚ¹Ÿ(‹$(î/Ÿ¨’Z×ì™%ؤ+y'¶6¡2_¼*t}ëÍïgü6­äÖþÞÆöÜšl&=4õ[ap›ø¥7V¬Kð‘Ü|Ȫ­y…ÚÖNN b&y',_åþ¬U!ß´rØÉ#õP&/_å.ùÇ«ðð܈Âà²}1ò»½±¥Jˇßo¡ÝsúCN³e‹*ÍQù±Ï¬ ^wx×'…ÕGOsD$žäœ¼8%üÊùq24lRDÍ’?œJÑW-™»é¨à½¼xg°áj÷A¯=¨óˆò—ÝÛÕ‘.ËW¯pÇ…Œ$£ü&ÿiµˆèC\>ûË÷•—>«ùåÚív‰6~6±+ãÔΖ>›¯;MòòuÍ_-–{:¾ƒGÄøø±û{"2w]ûnßÅ?Å_{Šî>ÏôA`ÔF.ÞôùI»àל]åž²¬qçº>;Î DÔ}½âèÅcæÞÛ¿÷zÅœ©wž¼sþ?ýç¢úϤ©¾W»ÖýçeSóŸµâ°0iCÉQÓSšEɬ=õõõõõõ_çú1âà‚¯ëëëëëë¶¿õ/¶·û³DDÌ›ù_÷¿\™­ì,LK×nê ç¥mm÷XWVW___ÿuÙGnM[Ó¶¶ðÏâEuãdëë¿.[áÖ²55ïqœ ß^²«¢{N>¹tûS×7Èr+¿®¯ÿº2?YѺi^Ú~ݳq¡7•ìªÖ=¬6aj¯nf¢‹*wFÉ}Ðk Kjõ<ÁóM¸öq|Û»‘m±ñº•×ä—¶}ðâ¨0-»ÉoK#ýœœî­GþÆ¢—6&0ûÎ¥ü®íÝøSÛÿÒûÏ‹¦® ½ÇÝŸ¬û:Ó„Q±Œº‹5~§ŸÝÙÒ®#fçY"""ãñIß‹"Ç]o¼d¹l¦i3«fˆÄÔ{¡íl¶öÊO<‘ƒãŒŠU3D ]5îø‹þðÅnr`gøM]å-"""˱¯Ú×µ]ïì¼|_NÿµXL=?4ërr—ÉŽD¢è·ÑwäÎêüåš™tI¥cB˜«Õ¦^*ÿñäÛniüIyëþvÕþÕ·Ä­«hôÿQMïfÄDÔ}ýðáÓŸw^ø›)3Ddüû‰¤FQø¨Ÿ«®Ž^úÒÕƒ¼(Z*%"²|£þa·ó+Eo¿ðÓ­¹5êç–q¯õVÿ@ñ Ó£F?üê04”4ÈcŠ“}b‰Ö  —ªU%ÞÑîíGuƒ^pKÎΈq—éoIÏ«n爘I~É1î, n5ó’_JFF”»µ»Ñ°eÁ’ÚÖNNìý~vö‡ž2µìÏÌ,l61Rï˜uë<ÓÝjV擜âW¾ªJÇ+e7îÅrúv£Ô;ØÃz/—•+ïQ'0RÖÚÏûCzfE+GÄÈý“×®rgù–-ªU†]‰vÌï¼N}.ʦÒLŒÝV¶/F|ǽdëÔ;•á”Y¹2&xRÅÑv#yʉ×UmMß¥Õ Db·°ù˨¿*ŽvöoÌ^¡”ñúªMKò´Ff’Â'Ü[ "Òï/ö`ÔÀ}x¾%S•fZ§þØßz|Ûæ¥}kŽÆ¾×œ]¼Î­µ$}KI«‘!bÜ‚?Z·B9üî½ô‰l¶ ]É;‰ÚàhióQÁ`d|¼6\1,†¨Úš¹K«#†Hì°n]Œ¢u¥*ÍVgXÖ Uûƒ‹÷Ý߸ßÝzëG?ÙÕî±Q½n–µÅÈÜÃWäÊ=H̱¦¶ƒ[76艈äÊ”Œåá jX±E’ 454··ë%Êå˽› +št:£$,;ÿ# ß°$t‹,ÚG´Ý`ÐsŠÈŒì}$D¦¦[KR_ò^¬6*E¡­m×ëõä–¼=;FÁ鵟d~RÝΉÁ)‹gÉ©m‹*ÍÃjkÛôz#ã¿|{†Ò™¸¾™£VUbdnÁG7F$lVЮ佹 áaBI5¥ï‰ßÜZüt™sÓ›¡95öTLÀ•’m`Ȉ¯;¸)½P«3’Ø-8%cy¸¢sx²tKÎY[-“Ñ®œ›×n¤´X}òÎ16÷2h·¤eVë©Ü#8˜H†ïÙ‘Ìb¶|_s¡ãŠCÞê‰Q5º½§úF¹M]$}ÃÙÎB½ç¾½´½ÐtqÈûo}Õò¦ËF#"—¼ †Më®oNHM¸2}ÁÒ¼ïÂÎ~è…Óä1sÞ¶ÿ¯m§ þÚCDd±|@¿¾kŒ‡¹ˆFy:/ù@êîLD}WZŒùŸ^i7;ÎÚî:ûÄ•SSF½<ÙiìSÁ>˯ßã:ÁQÔõ󖌋­fÇð|×ð¶Ÿ;^MÙu49ç÷¶ôÒXQÒ² o½lODB·w[WÝ9rMpÝìcªêzñÉŽ&Øuì;ÿñ_®‘ËÛ·äY$ÚX0ñò_8gŸQãÇ:ˆÌ\AÆ…VÏ¡gz¹ãÑŽ¼`ÔFì“#Ç®¿:cìÄÑÎñSºËø¥³Y.ÿlöš¶3áWE*ç õºrc/ñ?çþÙù­×¾\ðzélñõgª®Ñõòÿ8û·É®_,ø§/Tc.Ôwì¾ØKD“éÇ)Šâ^ÿü_GŸl‚6sU %k4‡4êrmzúAýð ÙFú·mŒÐª•$çï;P–íÓ´5³v耙®pÔPÿŒ4IDATåÖïlµæÐ¡Ê1Æ]«òZï%Ó°¿ÕÔWë1ÁЇZ¬|{m+yÄ Ÿµ$ó ÷‘±Ä·ä¥åéÃvVji*sýZ¶.)Ô1$t6è•ëv(Næ«×g¶‡eïÙw`O‚©b×À`§V§Ì(.Þw¨8Y(OÏkáÉd»$Z«)!wOñ² ÏÖ]hæ‰t%«ÒµŠe¦2[ÙºiI¹Žˆ2ÕJSvï;P¶\¦Í+i#ÏåÙÑRÆ/[]üÑЙT6+…†¸æZÙbµfO”ÜFk!Ÿu{2<˜I){ä%/¿Ñ†$Ì·ä-ØeˆÜYSW_™íÝ´5½B?®´\i63o¸;èÅ9«ÇMnîü0þ§Ä]çü&®øÍA[¯š¿Òç7õš¿=¿xååsSd+?uv$Æÿ”’sýåd—xw»¡MO®kš{†lë;ÿ×+‡›»-¢QóVËÆ=—ÿSâ<}ëË–$¼àD}²ŸìcW•uzqêùÿ;vI‚CùºŽSÏ7OímOD‚Å~‚·½fcÇây§2ÿêµHææä´LBÆÕI?%ÆwœÍ[6Öʼn"æe1©Ï-O=µøSÞõ½q"rzÙvž'Gï)¿ä/éøpÞY 3&>”z¦|ÆB¡.^¬¸6:~š‘Ãë¾áø¥ŸºoŒ ›ä@DŒóè£,=Ä:gþÛ¯V½âDDâIc¦9XNš{éêÕ×™H/CÄŒ—oÿ·Wç··î=!"ñ$ÉTê9Ã[N6›H1qÖx{"’N›0Ó‘«î´~øô5þGËowþ­ÿ¿?üT{×ïº[óFN³_ÍUŠ]Wnùÿúéñ‡ôÇ®öR÷õÚ“=¯øMx%"‡×ßN¼hìRqðd'"bœe3G]¯:g!"£ÎðãhçYãûnŸ[§™¯?¢êÐÜoòOö“I¼“•¦ýûÛ£;ip¤‡„ˆX…Ÿ¿ô´¶Í@ev¥:C)#"‰‡Òƒ1´xÒ7Tu*"ÃÜY"Ö=¡ ²8ÅÚ3’*ß÷“‘ÄÍOÎŒß~PK~Éa –ˆd~ï+™æªÖ[CÉÖõ¡A7Äîê|8CKM%»šÿ0·áÁ‹<|§:?ÙÓ¦ÇF¼ôÎÜÌýM"25U´ŠÃ’•r"båÁ Þ‚v`¦"L©`‰Xh%Ó»èµ;Ý¢•ò»ïõ(C³oSß ì»Ëœ½3Å%^W­5º½oß’ø$DMj¯h2°î•ÕìIP°D$÷WNtzŽøöÚvÆ'Ò[BDϘ¨—¬E¤|ߣó`•n rQF{°·éØW%ÿë@‹Ä;:XÜ^ÝbÞó¿5ý;´Š—¢‚ÝY"’xû0íµí7ÚŠ¾A{zRL”§µuG»q µ:r‹fŽîo6‘¡¡Bç­”?ä"æ #“26Ï^WÝÀy$XσuŠšÔ©mÐ#ö ó‘T!g¤>Án¬õo2ûgX1Þ1~2""¹Ø$cKsçíK’y)ÒÚŽ$ )u8Ò7TµOŠIð—ëö¾[g•u܇ñˆ±& V(ÄœÞxûpÌF¥[Ë?XiµÙZîç骵œ[L°‚%’x~T\™)–¬íœßíX6÷âuÚVÁ-ªcp´¾fŸ“Û ½WÌĈìF½<ú ‘pP}í ]¹VõUÏä·G3¹ã«Dv“ÿ—dò•«åG»-D×Z.:çð?ý˜¡Ó«Fu s·ÙV/Áée‰‡_UùË5"2ÿ¢ùÖ2ÁG<Þ‰ˆz/7™:ÌDfK‡™ºŽšÎYˆKÇe+êïß_n¾Úz…ˆú:¾5_žð¢«Ë ¿v§ÖJÓy õ|_c6O–¸‹ˆÌDgþúT/™Ïñfrœ ºCž{Û¾â.‘ÅÒÖÕ+šàðx§´aÂŒH½?|o<{­7íW£ôòN¹u±¾ë$¶6|Ggø>"ËߎÝ{òº±›ê;ÛCÁD‚™7“ƒó@ÿ‰aˆH rrp`ú¯;r "º|­Ï|©ãÝdíl=ôJÿÚ;¯ß¸¯š<0y¬‡Ë/=}ç/c[y#"§×~5ùµ_Q¯ñ¢©V{úßË{òß}™ïûñðïîß×L̾wx"ì,/ÇŠïMFwIcËõ©žS§´™[g"göÝËà[JªOwç½U=°E\Þšb½yʈ­D¬D.¦N 24WäVµ™ˆˆ¸Ó‚FÄ›tœÀÈús¬Db­†‘±ýudýŸ`0 \kZDHÿù y˜¸W¹-/ËUj‚®dAjóõæû[‰Ô#xyþrÿ[G=d>QùDohÓ–lÝ”šFêb¥Ñ$ËçETæ•ñ3I‰aÄ2kæX·H%“VÑÊûÈk=’ýeÄÝ}¯G‡y3¿æc–Ȥ]©Ê”r–ˆˆ3pBë&UÈÖî7):9â¹Ú]Ÿ”7éy"Œ§9 &N`Ɉ%Ö?eþ1Þ[·ìoK^,T71ÁÙn· ÁƒQ`<ăí@.8Žh°Èm¦›V!'b$ÒÄÄbFÐ ƒÞ¤ãH2X¢ŒLJ‚‘#Ö'*Lš¸¿Á ôi¨Ð¹Eû?ìICŒT&æ zeïD48DqíJ‰œÆ2C6 ö DŽ"ê5÷oï»ÒÕCNöýØÍý,½kÏÃ2ô‚ìµ\XJk鵃èE‡±LoÇÀ^dî±0öcEvD$Poÿ{á.y&KŸÙaÌIDtçÐåÖ¼‘™ûæùº‹ÅDDöÒñc¢•Òª2î$ïìÌÚy½å±å•aëj¸KCÿe?Õ]6ñ˜áøÅÞj#öÊ D½¶s{õQV‡©¹D+N);4¸ @¿?1±ä¨ÉGID§7ñ$gûû ±Ø¤M_U¬-.ž%gÉÔ°$"“ˆX‰BLMú>ªI¯ãÄ [ýtF&KÃrÕë<ï8üÀˆ¥2Ù`w—{îç`oþv­Qߤmû+­Ï‡beî³R[Ú ãäfÒûÅ>6ãˆoú/Ö-2XœZÑÜæVeôøÐ_Fdº‡½=‰ò£EìÖ¼ÿ  ‘X.füÖ©·‹ÚtxgSSpÁžíž’þ§¸#37ðmÇ ýJ¼ü…ôŠÖ`j`‚·ßö±MŒLÊ# Ä›t#°ÙLÿ6­BG$˜ŒŠ3ŒôÆuamr†Wƒ‘¬=}ETŒ¢¼¼¡M¨Öß<¯ëa`Á̪òZý¬¨jCÃ'yíÁË£Å2± ã„þPœ3šH¬ÜSš3pƒeb"±\"¾[IÉ’D.fÜRÊŠÃeÚ\í=_#·©ôa•Q¸äÖÖrWà „7è:…IŠ»æœt¸ã±ns¾-± 8g0 $'ñÆû}ƒ®ÖÒc™Ðm®Í;ûÝ•!/‹ú{³­WÉ~üÀ_æË}ÂٮũW.Þæ@æ¦S̸Ù~Žÿï«Á9"v.¡£EW>kë63Ùà@‹ùž²oïä/¢V*•û$,^þæªõ«RKöì‰Þ¾\·jUD Q`^z3%7Å%[+T$þër“33ç†lúÀåñdƒuÿhO.³e×*ÕV£@DÌ$ernF”œˆÂ3²u™[bC8"bÁ‹3l-UQ„‡3ÞÅ…å÷÷“e÷´×ã8±„aÕ©™…‘ź{.Þ¾|kú‚ˆBˆ¤Þ ë’e,“â·d“*$O*w‹JYñ~{ZÞ‚tEñÚuË–¬ b¤ ÿ˜(¦Jˆ:£ƒ™¤rÙr«G¤>áy»T! kËv®ËNÈÜ’²•ˆÄn‘ÙÃo¨“<ÌFú¶[…‘ˆqSRá¼÷Zõ‚T¹üã`ÑàªEôöµúôU!Ö}ç.î´‘ùG»mZß>X#›"&¿Xºë“ÂUª<ŽˆÄnoFæ'ûˉÈsqîâM›¬å,V¯Ý­ 2Ü=IFê¯hNo—®ÓHïg¤¸³DJ[%©·£„ìµúôtUˆ5?‘+2D6úXE°rRùúˆÙµ¹eÂÙ¬”›î9Øl-;ƒm¶Á:g=ç.Þ”žšÇ b·àåG+ÈØp—œ³¼í–¹<Ø_¼*-âÈü²6Η”+Ö¯Úª Ú*äå'.Á·íˆÄŒZ¹×úüJ2w]û®ðÌŸ­3_ÿ,ëRê"—?©ìȉ®´ý\Ðd± Δ´ý*u|uݼLþ§Qæ’ ÿÑaÉ"×RÆŽ¨§ãÛKÛÏÞ4ÖÑÛúÇÓëÏpù4Ùž¨÷ò©kuY§ËvuäR?˜\ü²P_WÓÅ-ÿ—·Ð½ü\]oWsÏ[ë_ž7ÁA$ür0ÇØaéíøô¼Û²‰Y{Ç‘…ÌgM;s~>OäbkgË)ƒ<ÛŽNz‡œiç÷æGZCv}ò4ç­¿›P߇4lïCIÐpx®ê>0F0ýÁ¹‰µ‘C:¦˜®ä½D퇕{îû‘l|K¦*É-{F~oXš©(P„ŸO„çT{È[NãÆ?ogí8k»kT“nqÉcø™Èûb¹tÑMóõmcGæ.c7˜0OCàrxW¡^™¬|ê,ÃÔR¾U+OH@ ðøC2’§:§†ÃKb×7Kƒ×nÂP!À㇠cðÄ<‘ cð ú„1€Gíùœ0öÔ„1ùºB„.€ÐàÙæ0Ö¹¯»åð4èëîv>Ð3ðºÀˆ%~sf/¨ûtèxqà¯ºØ ‹·c˜žkfŒ½ßR”¯ ˆ˜Î¢¾`Äè Œx¯ˆ5;vÌæŠ³Ôç‰øú5¡ïæŸà‰?QºT¤ZZz‚'ºT¨ÊÙ±f~\œ*4(ba鉛ÆZÎ×lN ìßå|©*PUz¾ÿeþø†Ð ¥õ†ÁCÔ/ ŠØ\š³4)N·¹þ¾r*(0(4"nCiiR ªèüðÈVï-Z"¿ÍYOáxËŽ9 ¿1´d½«ÚÐÈ™w,Œ [£>ÁbshèÒ¢KçÇE„E,­<^—³0)."(Hµ¡æš txúâOU€¸MsüF(rI“•ß¡Ú]WWWWS:OräP‹‰ˆaƤÚVZªþr·ê|îuÇDLuY5²Õ_Ö×××äø¶änTŸw ŠsÕ«5Öwñmê#ç+܃%AÿM‹ïê¢RuMé<þ@ΡóD—4k²½6×ÔÕTn h)nˆ¹)·ã¦Ow×SbÜnKU0î«¿Poðe/U.[¨fRKëêêj>‹5ìX”sœ'"– ǽVï.­Ü»ZöÍÆeš€ÍE¥•_,e5‡:Ð,¡ ÀS‡•¸JÈÄÝ]X™ŒÑkÔ•&Ö%tÃŽ¥¾""’…¨<%DĺÊtu'† NH‚¶ÕTnGDÏ OÆÐfà]f&zéÕ•‘ËÌXÏa³·±¯*`‘lº«˜ë0ð|›¦ PùJˆÈ%tÞlùÃ8=S£ú¸$b^ ±.!‰¾ü7•ÖÕ=ÌôßqD$qq•1ž³}%Ö¿®Ã„E2ð,ÁZxNð†63N&¹‡n.Z_Pp`CÜF=ã²pýjÕt"bÄòþE*¬D.¦zN’È¥FunA¥u§øÙD4.0Ö7+«ôļ¥Be#²Íý¦u',sÓ˜Š`2‘Ä}`%ŒØUÂ<ŒÐÅ` esB+­‰ LjdÄ0â0İìÀŸX]žF¦#¥õ‚×ROÉРÂ5táæÐ…Ä_j,X´pQç—‰D§7ñD,oÒs$ߨÃT·qY³¾´4Ô…%SýÂÐÖÈ7)_£n ¥#LÈŽé,Ñ]F3$ ý!®Ã$<„ó“È$Œ<±´r¡ë°xíjF Lƒ¿t¢fóü5G\SW‡ŒÒ«ß‘””Óh""vœÂ]Æ0ý‡¡NÝb""¾íPA4ýFè ‚ÄÅUÆ™Ž«‹ ¼5êxÆ‘fGÎ7•Êõ¢ ×WÑÊ6]ª+ÒèàÜXxƒ@D_•—áPQÿcN¨×,-ÂC“`dÁ¨ ŒTÂ7ó=Ãú§X±¾45ÔuÈ,)vzl’×Ú &bˆd^ª §³|1ò‰z¡jC‡Þ ñMÛëJÔÑ¿Ë¸ÔØÊ5sB52™Ü7iéê™ËÖ._TT”äêÂÆ—ÉV¹ÜKÎ\TëÓŽ,›$‘¹ÎLR¹k*oеNä¼_ÖÑÌÿµ†È}õ—¥*iË|#usc×aa¥ñhÁ0]7FÈÊ=‡|=s="¢ü ñÇ•ÏN{yŽØ£]s†aÚ¹ ˜¶þܳtE±)YY½ó†ukÙ„aûv®V{œ¡øJU¬8|Ïf Ã8M;û¹¥e¬N%zsÉk²[»æ ôèèx/èÂZ|Ê X³.0ãËW+¯.µ*XÌ­9|»Wÿšï .[uª¬ u³Æ™w^às#8(èÞ# ;[¤øîù_>\ù.ýýx4 ²îL@hР+»¦9™‘<|¯çúÐ ˆÀ¿0…n§…s{VrˆH`ÕnDOs""ƒn‹ÿp©ªÉ!â¨[wÕÍ„ˆ2ã2åE&ì°Ö{zÛªzjžV»¡^{ÆÛÉB÷ž}/#"6+dÏñx"÷Nt¬¨Å%Žš^õÎsw,±× UØc¯ŠÜ¹"MÑêµeß²á›5¬e¥Ãû¿æH%Ɉ~|aÍ„éç3‰È¬[¿úB"R¤>y’A¤Ûå÷qm*~È <ÝšÝ&³!¢´è‚.ª´[Þ§Rˆl&m_Ü«¶‡8 ‡q+&Ö ’Ü;&*>@qw͘¹¾TÉuã–Ñ ´?/²U§LòÝq%›¸ ¿QmÀ ï?­}~„ãù’þ Þ`Ìê±õ4‰ˆøVn»¯»¨xZº…4Æ*¤ "bU^NÌæ<»üTIÜßv¶.tî…oá~T³¶]Å¢×Hptk;T¦ ×‰Ï¤,²"£òˆ´jÿf^ì1­šU›U¦ËÏžÇËès Ñ©Yǘÿ{FÍкvãŽ#¦ ±7ýX?WCW_£`°$31æý»·/ß¾v%ªÐdòÄgÑJ"«Æ6EßÌiü|§¢Uäú/žœÿáTHì¹Óáƒf6*ò”Ö²T'KD•ìªkéaŽvu[K ùøoIì£8"J¹½aöˢݩL§"’efä«H׆À¿+…qÊüaa:æºÅÏ›ðtÌô¹DâÌ<)Åb"Ò1Õ)ÞFކ¡¡:‘47[ZhÇ©©¯ñìCõ\v_œßHó[_“¥„ݶëÔÇñŸ ¢©Eôù4‹B”&""m32tm~kÚeþxÚ²àRÊñGûVUP¾êTÕ’&ä)RƒÎ^ Uwbªé ëòlç7ËïÅŽ¡ýž¸tlZ]'ç•ßñË/e$h2zpRÆo¸zÍ&L¶»±84bÇZߎ›º˜–µ:füTûÛ‹‚žn<àQ÷vL%nüCß3wâ­êèÇ„g©ið?œµâ¶™1±‘Ûº'Á+\ÝûtmZYõÊÿÔù'YDÖ3»Xàt üB)ÄÂuõHñ¶¥çOG|dÐtÜÚ}*~¼•”£Õ`â/vÖ\Ÿ°ˆ›Ç"n|lâ0iÕb·’ÇФíÚNõ¹Ÿ'\ôšsÑ|ÐáÓ“uÿG{¹†­ÿXæž:ûèË›Þ Ú¢nÓkñVwñr÷•OcN/˜h|c³ƒ6ר͂Ýsù3–]‰ 9¿/¤`rK§©KçôøÊ\yfgŒðqÝööÞúm!Ž š—µ:žy×;sçM÷ ˆ :³7ˆˆˆ_k׫ƒÂ³Z‚ÉK­’Ûúòyž›îÄÞ9¾ýNÁ§¦ö#çÎ^OÈÁoþj–ýËÝ­Œ÷ÐÝë­…‡Ï©IUůƒo‡D$KÆÕ;¶¨kªþåîP•Ÿôô]j>W×¢&Ó¢I Cµ2V¥ÇÜ»v;,Õ¯Ò´£S­ð®UNÔý{#¢ÓUzÖ ìY ¹¤Ì ¿~)8žcѨC‡ÆFŸîqÉy÷ðNÈ‹x‘ÀĺFFjÇÅ´e®Ž•gE?øðÙ{‘nõfml4ßy»ºïŽ«3ïòþg[žñæþ݉"¾q¥êµ³­e"@€_2…ذ þ/ò˜3+7ÜÊ®ÐËsjëB—v(N uYnÚÿÀ™iuÔÑMðOÄGüË ®~fhP€äF­J³;Ur‰H‘voçÜõáD»v­ŽH!ðSpô[zÎs~6çúÕ®¾­kZi‰ãÞDgȉ¸5‡-\cM€? ϬÒcÍþÜ{üöó÷/ŸÉH _¥‰cç~CÝ+iâ’øJÿ ×…àõe€H!H!€€H!H!€€H!H!€H!H!€€H!H!€€H!H!ðOÁOHH@/À_ò,zþz8#H!€€H!H!€€H!H!€€H!€€H!H!€€H!H!€€H!€€H!H!€€H!H!€€ÿ,|tüxâ{3ÚM¸-ýâ¸GhRµ‘cç¾®Vœ`»e‘Þ®n»ãªL<}dp%þß_ÀÆB௣§¾ :½ij×ù—ãeè€_2:ü<¦ýž™V[½ ‚ÈrSß=¹ur×Ö3á WæšøüÞD÷Ÿ5"Â×ÿ­× ~™ÆõuËuˆ¦J¿8¬ÃÂ0Ó~ÎL¯£þýå …ü\ŽYMG÷9Mêÿ>pq@Ò©%û»ŸTGãÕF£¦“›þsÊø¯oÐð×Xuý}fSQÂéCOòXtRÀ_·á1i9ÀQH”tñU~á?¨ÄïoxÏÚµe†a;ô»ìpP¼¤XP‘§>:¾b|¿nNÍÆ®Ug×ÑK>L•«‚•%ÜÙ;oX·–M†±oç:aűÇŠÏ%ŸÈ0ÌpßLyZÐöI.ö 3ø|ªŠ1öe¦ïŸ1 "RÆû¸3 3òF¶4þöÏ[0 cçÔkìòcO3•EåÞÅØuXFD)GR@9p´kµªADy¯žÎªŒ µƒúxîö}ž$fÜüôw÷ϬŸÔgÔöG9ªO{ò¨ÃãºZ}*äMbWK‹'J‰zxvíè>ž—“?ïÏYQØî‘½¦l»ò,Q̪iòd™Q÷N­Ù{Ö¹¸¢—IJyO6ž´'(AFTú Œôý±Én3vÝx•&%"UNÌýÓk†»Í½’¨ "â›5ëÔÚÞFƒˆÈ¬qË6íZ×ÒùrËÊŠ#Lè5~ãùûÑ9 ðI’þúÎÑeCúþq>®x‚Re¯4|í¹ÇYÚÌuT9 /®m™8líýϽ€ðý1DhU͈Ò"ÓäÇ|—þ~<š„¿ Yw& 4èNHЕ]ÓœÌH¾×s}hû!¨ø{m},#‡û¯‡ùû]ðr­D$ Øzäìcy¼uÖŽ 2vž}Ð/8(ð^Ð… µø”°f]`Fá]yÄî>±ÖíÆ.ݲçÐò6†¥l÷ï| «î¶êøàû!þç¶oªM”á·dÉå$%‘faKV/è_ˆL¦¬X³bFË/®¸Ëß=kÓ#)©ÕñXÆ?4(8øÆÑÅ.‰2o.{²ð€ ½Ø¶è,ÏeÙ™»þ—Ï\¼qëÐ4Fƒ(åô–ë)ŸÚÎÓoì6|ðà¡Cœ,Ô°6R@ù¶=šúšD”Ÿ%VŒqœô“Q÷5ëÆµª(äq&¿õ_ºyBM¢Ì [¯&*‰HwÿµŒÈzДÞõôyDÄX8ŒœÐ¶‚¡!?19ÿCRI»å}*…ÈfÒöŽj¨qˆ#°p·bb "ɽsa¢Â£)Z½¶ì[6¼c³†µ¬tx¥¶V·ÃZïém«ê©qxZì†zíoC$ Ý{ö}™n7f³Bö'2ì±qëDÇŠZ\â¨éUïšp »8qü'K¤@ (ïhH‘ÿÈã®ÇUvԸȽ­‚*.ƒs‰"ƒ¢ò‰ˆÃWçQâý RöÓÙiÕ9_ßs«ZéqˆˆÍyvù©’¸¿ ìl-ø\ßÂyäP—.]ê«Ë †TP¬ÂYôðh¦_è[êU{ ·Åݺ—¢,ü濽þHBT±Oÿßt Ý™Ì5måá¤K””P$ÍÔîÓ¡b¡p¡fhmHD*%®ä…ÿœ²Þ©«Lº0kÒÁX2é²d­GMM±¹wçß¡ÙbÁŽÉu5БP.*qv> õ…\""Iì£8"J¹½aöË¢÷Êôw*"YfF¾Š´Õ«véZùÈÞ÷÷Wöv>Þ²gŽ­›ÛÕ«¬/(´k—'>‹VY5¶)š.øfNãç;k…NÍ:ÆßÞ jÖ¶«((¡tk;T¦ ×‰Ï¤¬„ßÚ~fEFåiÕþͼØÀ…fÕf•éò³„çñ2ªú© Ý*•‹%#VøÅSÈG©—¼/´ZåZY€®€ïÇŠãÞf‘qu©$Y9J"‡ß¹^â’‰Šˆ«QkÄæõ´téÞô¨¯"2¬ãÔÍ}ä°Ž5´¸D¤¥‰ˆHÛL§ ›7M}2 ë˜ë?YÃÓ1Óç‰3óe8Šgˆ‰HÇô‹&q4 Õ‰¤¹ÙRil _“ØH!¥ˆ?µÃ×aIW‹B›“¼ˆ »v_x-çjY4l?xŒkcaäÎ s¯ç×qiù{óEŽníƒÝ*>9èã™#¬â4túpS>‘<õþ‰>7Ââsù&uÜGp°àÇð È{ð†ˆtj×3懧Æ'" §­¾«›~}hA`á8në•! Ïïܼt/842#üæŸóoÞ ßy`zc‡«Æ%"•¼,ç/8\n69 ‰â‹²Tr¹ŠˆË/K^(8¤•PŒB¦$"ž€ÇÁØüŠÊy]ˆQs§*ÜÈ#»R?ÿÀÅaûW ŽÕjÔ±G—¦)ÏlØVp»,üJ˜ZÍ)ýåE¯…;Â4ë4®¢žûîÆ®#¯ò‰dïN.]sö©¢^½µð+›ìy.ÂyO€ÿ>UJàá1‘n‹®5…ƌ̄D’„øÜâw£ªd¹Y™Y9ùE®¿à -¶8uɶc¾þ'×j¦C{ÔëJ¢’ˆ¯o©O…o¾ùHxöÄÉ‹¡©Šò67ãmœ¨X³dÉáID¤_A¿ ‡òu- 8D‘ âb[8EFd¢‚HÛÜ`€R<ó¶£úV’‡ý¹ÿ~VÁREºLÿácfÎÚÁ¶V "IZFÁuc¼zý1eÚ„Î&DTuÄ¢¹S§NêY(?9MÂJÞ\¸–HÚ­ÆŒqsq7¹«1eœÃþëdqW®‘YõÐPûÃgUìkpˆ^ñO*7جÀ?º8·sw)UE${wxbŸî½Gï|ýébN®VåVC¦ºYQê» ‘šyãº:DÁ·ßy¥¯äÕ%KW­Üy?³üOÝ¿’^d*iäU¿D"~õ¦ÕË0¢ccW‘HvéQÑÊ Wßqª5·ÆÕu€R&‚J]Ƹ˜åßß}øYÞ‡ÔuÕSBN¬6nêÒý·ãŠÜo&ÐÓpˆx<.GË@“KŸKDÄ+ÍHåù/ìêê:ÀóB‘2->G‰…ðßÄÊE©oî[>¢ßâ€<"‹¾s‡Öú¸çµpk. z¹eÅÙ÷ŸnQe‡îXç/&ªÛÝÞ„KÄ×1ÈŽ~xöìóBc&òäG“‰È¸Š!Ÿˆ„uú´7"JôYqàyžêÓþþª÷… "£æŽ•ÊY›âþÚUc>&Uƽm & ÜšèÃ(í.µJzÔ ’Þ]½ázÂÇ!Vqt¹÷"As7{£rn‹U™}¶lذiÏçòþ¾ãmvêÕzŽq\tÝ?÷ÃaÍ»3ÞgÃD ÇnœÙÚ$ùäôé'ËT G k N¤ÑjÒÌN–|Všö.*E®_߇…ðŸ‘â3¨…OI°ì´Ä{Sè¶U®a›¹­{¼ÂÕ=°Oצ•Y¯üO’Edí1³‹ˆ¸†MÝ4Ÿ¦Ýëu—nöµÌ5ÄqOüNß|+'aK6æ<""aýQžíüfù½Ø1´ß—ŽM«ëä¼ò;~ù¥ŒMFþž·çñ(çöb÷·º¶ªg(z|íÆ‹l"Aã “íõ>̇'P#¢´;'N5L©RÕ¶i•b[ÚŠ½ÿpfØáØË³Ý#¯wkÕÀLñþïù 8ñNœÑÚ°¼„ʬÇ'÷Š!íŽ-ú9ã‘!ðK¥âhÕqÕâÞª»yDD¬R®"’E\8#zp5‘ˆˆ-Ëi ›.NF!W‚.Þ0µ7ιpãªÁØfíqrà¿‹£aX¥Që®n®VœânëwÈçynº{çøö;ŸšÚœ;ox=!§`Ȥí|¯Q ì JyréÀ“Kªwš<ß³ ÷ãÀJ›»çòg,»r~_ÈÇàã4u霖߱ѳp]=R¼mé¹ÀÓQ4·vEŸOõàh×vªÏ}ü<á¢×œ‹æƒŸ¯Y|³Ù`â/vÖ\Ÿ°ˆ›Ç"n|lâ0iÕb·J¸é~Ým[¦Äðñy!¦=׬ïg­F¤Ê\=yó#©f‹ÛæóÚíû&W«’sÔ³¢„Íg®îüxö¼ë² vL®Ë‹9:mÆé”úžûæÙª(§úØËÚ4þ®Ï®£·_¦ä Œj9ôêá\E)à—&ÏxsÿD߸RõÚ¿ÙÖ2ùòÂMyú«û#bRD|£ •ªÕgêW~9š Ìy÷ðNÈ‹x‘ÀĺFFj—÷Pe¼Ï€î^o-<|NMª*~|;$"Y"0®ÖرE]Sõ¢…©Ä1÷®ÝKcõ«4íèT«äG¡©ò“‚ƒž¾KÍçêZÔdZ4©aˆq @ €¯§ Xüxx‚; …RÀφëBàï±@ ¤¤@ øqÊñJ©T+‰ :à¿¿uàóuuu+T¨ ౡðS”õN]‰Dall, y<¼÷à¿O¡PäååeeeÕ©S‡Ïç£CàoK!oÞ¼ÑÖÖÖÓÓãóùÞ8ðßDz¬B¡HKKcYÖÚÚ?\Yorss-,,ÇC øER—ËÕÓdÀ6 IDATÓ‹ŽŽFoÀÏPÖ«SY–Eø¥p8§©©)—ËÑðw¦›$D€_-ˆàWÿˆ€H!E)bº2 Ãtóz&f‰ˆØ,ßá ôšý@üÓ*•Gíêí4ãÞ¨@™p¤ëñyÿê… º;©ûá¸î$ šêäv FQ|©¹;MýfN•ºax'û–ãofÿ•/…?šß¡×¶72üÄ‘Bà_ ÑgÉÁ7Ò¿¨2žI« žnÕð|µ_<.ðFL£µ·8éáª%¤€R¼Û³ôd´¼èQìÓôooÏ0ŒS¯I[ï¤*Iòly{†i1jÓêÑíûÎ#×ßxt~‰GûfŒ]ÛË®&|(@–à¿ebŸ¶MÆÑeÌš+ÑÒ¢GÁÊŒ»ÛW‹”)S6ïÞ’aûΣ¼n§(‹·Š•Æ\]3Ê¥U†±kÝ{ÚžÇ9**á;—{tv`š´q_p!VF²·Ûzu˜ûðÃX‹,jgïö³ï‹• Gužé³w–«s3;'·ùgÝÜ4ª[K†iÙwþåy)u)Ž ê2çò…U#\Z1MÚô[x1VV|X¢¿ËÂ+g¹;÷ÙüZ"z}zñÎ Ó¼Ó°å¢òÙRf•¼¿¼rXçŒ][×Y‡_䩾6³òäÛëFtiÁØ9õ™¶;4£H'©J¨±pW—ØþÒæôëý󭺈”é¡{¦¹:7cìÚô·ñf¼L‘xfÊ„#‰™~3\gúç°åY²¢ ©í8ç5ÚÅ‘iæì6ëÀÓlUiS)ÒBvNéãdÇØw0çHX‘’XñËý#ºÌõMR”6¹<)`ã—–Mšµ÷X|üÈè¶#|³ØoÏ,RÈÿ͹3ÏÕÕu¼ÏûBVôh‡«ëˆ¥ÉS_7kô WWW÷!ãæl>–õùW¡ÌzqaëÂéc<\]ûŸôÇêÃAñ’ /ÿéšÁÃ6‡K° þqLÛu¯Å ߺòr¢âÓÆ6ïÁÚ©›üÞêØ»éßÖ8>hßì5¡g>¤Ž†ª7jZ•Röµô¾–­CMìWgVly"&’Fìž0}°Ün褎jŽÍ¹*4§Ämxnðªùç4{_¾qÉ{çì’ÍOŠ¥Q¥ßXºä†Å˜—nú]ÜâÝžu¾)Åc+zòç3ÛÅ'oúí¡{kÓž°üÒæR™rûl^Ÿí¯î¢ym阽ã\»¶Ããç}2JVj]ÊÔëÞ!ufñõÝ;LçÆúÏ‹ŸIR%ûn¸d0xõ*7ý+&lŠo¹øÄÍëGfÕ}²bÂÆ'â‹•¼Ú5eñJã÷ù^?ü{GŸ‰ØÒgVsì<§ÿÖK7N-uJß7cÑ´O] Êþ²Æb]ýeûKÓ¯÷Ï·êR&_š3ÇíåuþÖÕ#ͯÏv(ƨç†-ý,ÍzyŸ]ÛJ—SÎ%+z±õ ¬ïÆó7N.n•²sê²À,eIS)ÎzÎ<§7ÌûŠ¯Ï¼–‰Û¦­ÿ´±ù¯}¦?f4}×üöæü’+•Ç›1ûºå¸}×|÷3¾´ùa6KÄ–¡c‘B~qÒîøÇ|Êöl^¸ß3 ÑWÎdïN.[ç§j5qõî?÷o_:²Iî¹Uk®&*ˆˆ¤ÑçM\t1»Vñ‹6n^9s@ á£-S§ïx˜­ÂfàŒoÕsöèê²û^ën§T¨H¿ÕÏyk×ÌpulTÓBH$NJÍÿðSæ5Y¼kãòUKÜ-ˆ¨öï»¶®X±lHe"Q|’X%~~ðx év™7oŒÇ˜…˘SÆåJŒ!\¾Wž””­2¬ï¾áü‰™õ5Šm¢ôŸ8ôGÇZ¦ÚBMŽ8SüÅx‰ šÇ˜•…ƒš-[ZÊÓ¿ü§ œF]Œ‘†~Í+m‡¹72Ð4ª×ÚÎX–!V–ZË«Ôkd§ªZê†uÚ:U”§‰ŠoÎTK·¹c;5®Âøçm힃 ]ýÊmÆÎrVø_~+-¡XÑë33›N›ÒÙÆP×¼qÿ¬x_™Yž–Ó´±m*ëëU´þ{_ÝûÇB³ :S•´¿„‹Íõí/uN¿Ö?߬K™|ëè³ Ãgôm`ªcX£ÓÄIÏœ*íÂŒ²,Y®ÐaÒ¸¶U ô¬ì‡{öÑ ò ÍÖýr*Iôå#¯kŽŸÔÑÆÈ°²ÃÐÅË&µÔ'–ˆXIäñ™#Ö¿l6NgKAi•æ¿;"¦þÄ í«êZ62¹ƒH•Y†Žý·?¾H5“f (ôæ{÷j6êDÄæ„ùEš9ÖI #"Iø¶‰ëÙ)›Ç×Õ RÄŸ™ùÇ#—õ‹Zs¢ž%ë;Nj_ÏBˆ¬~ë6jHâžÈ4)kÁI½½óht½‰ëg8òˆˆ,Ì*ÕlPCgÆ<ïc­7ÂC¥þ¹8êÕûÍó8?øÀÊÍÚvš† 7½V¯Z¢Ð4µÖ/2À a ¯Î!âñ¹D\c-.qxj\""–H’šGD—Æ´¼ôi‚¤÷ ÒS+^«–Ýìís>4¹‹§ÈʱÏQC:ê¹Z„ÃUÄúm˜%<£oe­Ã–p„ÄQ3ªdÀÿðmn g?§®ºŽ:—ˆ8.‡¯%äÔÁùz]jÖ†¿JD¤J9?ªÏâGb"mû5§gG`RÍHHž.‰Ù7¬Ã‘‡ŒJ©ˆoŸ§*¡XenR¾^u+ᇦ6¦‚[¥7€oTÍL½à«æµL¹AiyÊÿT–Xcñyñö—>§_ëŸoÖ¥ÌIÊXTÖÿðî2ŽÐ²²¶(!GAÚ%¯peX²|ƒªæŸfÜ„ JÊcÉŧRdÅæ +U~h–ÀªeW+"ÉSüƒë¹ÙóÎîº׼"¿äJY1¹Z•,>Nn\ÅH-¦Œ‹ò#¬Z6‰ùóF¤Ä¦Ž±Ùϯ¿¯à±åìíÏ™‘I’}$O~JzÆ2ÿ/§âë˜ ÅO“óYÒäI£Îî½cá6°>‘š¹ÛªÅÓÍüú.[sÍiCS*©RžŽ¹0ïmR>[_ƒC$K{Ÿ!/sÇþr~ÊÕ©|‹-µžÞx“O¤Êzr=Öº]C½‚Š4«¶®§|r'FJŠÄ À,›ö ô9DjVÝmø£kÅ܇'ÖN¢ÓxììºwãJ¹ŠHúòÒ¡ëçyî‰!"*Ó 5… ú»˜Q†ßá³÷OoZ°Ük[€DG½¤ó¼¹Öïå•-‘)éãàJ‘,!—(Õtô´YJèá=ÁÙ±ìÛmà 4²ŸúÝ‹IÓö¾›S¦SÂßWWáM´a‹þv‰Þ«Ž>JÈÉ|´ºÇăъ’ŠU¯Ñ³«Qè:¯K©Y ¯=«ä”Þ•èöúm7£22bîìZ~BÒfÝÇ»MJ®‘óSæô›uñÌÚ¸ÕÛ½öTXj^æÛ«›7<6ïîRêPeiƒJàµÅ/2##æîîÇEöýšê)¾œŠ_¹s/ë[¶\‹Ê§?;¶Òëì{5 .qZê\®IÛj>òÚp'SUb¥‚jÝ{X>ݼÕ/*;71ôà–ëYJ"®Q‰3«Êzqó²ÿëÜ_öƒŸsŒšyóVza~¯DÊÌG7«:××ýTfµÖuå‚âD Awrj¶«§Ë!b•2×kë:jæ’M{låR9áèÂ…§cä|-#m6'>«ØQ+IO•j›ëâ]ãÿüŒÃ䙚DD¤QgÄï®õ sž=ʶîW›K{ïežùÀ6œ°u©{½ì»6í¼šbÓsöÞÕ]Íy%UgÖiþ4»×kúµméì¾0ÐzüªÑµÔ‹îùZÏ[#`J‡¶=§_Ðì;ÎAqtúê'ùßJ!æ§©tgN¯6GìU¸nP–ƒØï¬«hNó½†h\ü½·S;÷…·LÇn˜Éè”XìK«aëç;ÄmÖ©ýÀU/í&u³R+­Òn0ÉMyp|×ö®‹‚¬&l˜Ùìóež%Õ¨õ“æô›uñÌ».[ëN'&wiÝ~¸wbÛ¥ëWü?mP·ìÞ…=:¡kû>ón›Œ\7·µ‘qIS½0s_»Ü9É{¨sËŽ“/Œ\3¥QáίàòÇ0Ó[+·?”4y¸Å µ ¢ÖlÛqäÞüÎ}*kòøÜ’gVwqÕüõ7S¿ì‚-›Èd²o~M•8wÀ”ÓñrEò•ßG®ºyeö¨ÕrUù/6 åýJ²¬*ïÑÚaößþsÒ°5óT,˲¢G+=Fí|%ù\Žäõ®‘îs²TŠ¤Ë¿»^”¡dY–eé¡ÇOE=Û?ÁmÜ·RVüdµÇÐM/òYø9d2ÙƒÐðwwJ›>{ÞÉ~zEÒø;—ü߉T,˲lþ³•ÚÍ{(Fÿ—èg=/„gÜÄÙì•ÏþóiµÚ×Òâ9¦±i]+÷꾫yõÛüE³ºscÅõ [Î=ŒLLÏÊHz|ú`@¾ƒ6‡gê4Ú­âÓ sÖ ~“’‘Ÿæ¿ÞsÉ%I«Q=«~HĬ"_ô™XŠÓ4ðw=Ý3ñÉ—y*•8êò¾k’m«i WJôÓÎip ;Wܵ5¦Å<-IŠÄš­kóîGüælS0ÂÅÑi¨ ‘R¼jlð§Ò… ¼'ÕÅ‿‰ ú’NéèÇÕ±n>díïŽxÊk)8l™. £‡6hÐ@MMíGTšÿbë¤M¼iÇÔþÞ´ÀæÇ¿JÕ¯UI Ëàç’ËåÏž=³µµEWÀ²ø‹ëcå¹é‘·O†ª5s®ú Xp4+ÔFøWû«ï2‘¾>0{Ù“öczVUGï …üu4êŽßáƒn¼SB))~ñÂápT*ú àW#“É~Ѓ‚¾7…èèèdgg—ñgðßÀ²lFF†®®.ºþÎR¡B…ÄÄÄääd¹\Ž^øÈd²„„„ÌÌLKKKôü œ²oH¥ÒØØØ¼¼<¥/Œøïãñxzzz*Tè ø›SÀ„{d)BBà_ˆ•ÆûoŸáÑ£mS¦I«nýÇ-ØœRêýuâ‡s[3ŒÓÂÇù?¥-òè}}†á—ý¿ NtwR÷ÃqŠÿ¨Ê Ý0¼“}Ëñ7³eQ»z;͸'þ9}“äÙ²Î.^/¥eúr¡fßÒSÄtwš$úW-µïí¢OKöó\—«¨RÚ L8Ò¿õøÀ¼Ÿ2ÿ|øÁ$ÿÕî‘;^©HX©A³Úÿ8ôÒ–ÐàH¯c‹Züõ‡><ší{tI³¶Rãü Ex#¦ÑÚ‹ËíuÙÜV<UüËšÍÁ/ë¿´d1?‰*Åwí®W*ªÎ—%øo™Ø§mS†qt³æJ´”%"UγC³ÜÚ6mêÌÅcÏ›Œß³—NûÇÉY"*©|Uî‹#ó=:µ`ƾ}¿Y{B2”Ňvb®®åÒª ÃØµî=mÏã)böwYxåÌ"wç>›_KD¯O/ÒÙašw¶üBT>ûíŠMm7øÀ9¯Ñ.ŽL3g·Yžf—¥ VòþòÊa[0vm]g~‘÷¡PUño*ÏL™p$1Óo†ëLÿEÆÝí«EÊH™pdP—9—/¬áÒŠiҦߋ±²’&/µ¢B”)›ÆwoÉ0Œ}çQ^·S”%·D}hܤ3) >#ú.|Pl4F™ºgš«s3Æ®MÏqoÆËŠ6›-´†Ñ¢«Wø‡|eÂñAö}ö¾“½“eo·õê0÷á‡:eQ;{·Ÿ}_\òÌ–Y Û¶uÉü5»½:ë&ùí¹™G–C¶lž3iÚ²íË5(éâ±°M{{_»vÒ«wÅÏgžÅÏ~YþƒŒìT˲ÓÆns6¬[¾°_u³ÄÑsX|âÐk™jkhu49âL±’ˆTK·¹c;5®Âøçm힃 ]ýÊmÆÎrVø_~+-C E†¦…“Ƶ­b ge?ܳVOh6ûõ*žŸ¹˜ÙtÚ”Î6†ºæûÏ`Å#ReíÿzcŠˆò*õÙ©ª–ºa¶Nåi"EI“—XQÑÆóÕ¸ò줤l•a}÷ çO̬¯Q¾–(“o}VaøŒ¾ Lu ktš8©Qâ™óQ²RFñšö¨“uóz´Œ”Iþçckôu²à•©“‹Í}‰-”—0/e8³PÖøvg~o·|ã‡YÚâø¸ŽU3”~ÖKPÍcL‡ÊBAÍ–--åéby¹V³¯Àu!ðƒÏójêòˆ²Ò¥,©جÉÓÃGäð-k[i$ÜôZ½j‰BÓÔZÿ‹‹QYIjB]ÓòÒ§“Þ¼}›N$¨ÜÈR@DZÕ›V¢ËωH‘—EīԠ‚€ˆ¸ÚÕ˜Sàû¤T «MDÄ«ÒÌF›S†òßËmg-¹qû‘ë»—^ßM¤eÓuâ<û")„«ˆõÛ0ÿJx:GßÊZ;‡-(–#0©f¤F$ÏNH—ÄìÖáȇ;¥TÄ·ÏS–¡„"›cƒªæ>˜×2aƒ’r•œ¯V‘%Í׫n%,˜ÈÔÆTp‹”¥4F¿äÅ¥f`mÈ/h#•O&šìÉ9<^ñ½PÉå3êÑÑœÚ}–Ÿ_¨ÿàöùÝN\\¹†i½»«qÁ`±*ãæ¼éGÍî<Ôº¢+¾7£ÛÚOá‚Ë!"žŽ©¾°öÀcö2ã‘Jû6IÝZXè0´Ô QdF&IX‡Hžü:•ôLµy©_­ÂL¼O;ûmœøÃD²Ô·©²ÒYÚþ…[¤›Ê^Q‘ãlQÜûüjn ÷Ž\(Ž»w`¶ç´|ë33ÌJnIDIÍàéšiËB¢³•öZ<"Vœ'¬¦Ã§R®5àØõ¬»r—ß}êocšpËÔÉìÇWÃËÓc2¥ÌlE6îÍó2«®ú׋bËÜßì̲tËw(eÅF~\ǾC8œ²”öG-ØbÀ 1ë0}¨ ‡^oØ}À¸iSG»öð¼™K–}'w4U©ˆ¤//Ú¹~žçž""–%._O”óìÊ•ˆ n.f”áwølàýÀÓ›,÷Ú 1¬Ö¾o=.Eo7yá2Ï“Ïdl͇µÖ¢„ý&/ß¼~ùdíîQÿ+[Baƒþ_–¯%y¸eú´qC'¯C¬ Òµ2Õ(´udå¥šŽž¶€#K =¼'8[".r‰ ×°E»DïUG%äd¾Ú?ÝcâÁhEá­ö·J "R‰¼¶øEfdÄÜݽâ¸È¾Ÿ>çëUðmzv5 ]çu)"5+ááᵇc•œ24æëK¯Ì‘û`ݸñ^~QÙ™’8D<>÷k-QäK‹6óÌÚ¸ÕÛ½öTXj^æÛ«›7<6ïîò•»=¸úMzÕKöY{ Ýε±çÛÌid?õ»#’¦?:ì}7GEÄ)©…ò¼æ¥h[K(Š-s|»3és•·[Jô¡¨ïX1¾\LåXç‘BàoÂÖ³÷ÔJ‡š Ÿg›üÖ}úŽ½ÓššÕñ»k}Ã܇gφ²­ûÕæÅÞ{™-¨Ö½w]Š9sàfv [—º×˾±kÓΫ)6=gï]ÝÕ\ݪתµM,E¡ý¢* Xíãö˸íÂ]ó{ÿ¦qöÏÃþ™ÖmFoÚ6¢¶æW[ÖðËò­ªº¯[3ÄÑ<öúï‡sm:NÛ4“Ñ.¼Ám=sl€)Úöœ~A³ï8ÅÑ髟äþ†Ó|¯!ïíÔÎ}á-Ó±f2ZTžˆHݲ{öè„®íûÌ»m2rÝÜÖ†\úFê5†­Ÿï·mX§öW½´›ÔÍJíÛùf )kEE’g§ùÓì^¯é×¶¥³ûÂ@ëñ«F×R/¥%s;[K#z̹_äžy×ekÝéÄä.­Û÷Nl»týàê_ÛÛrõ™^ä üV}h—¥“yæ§©tgN¯6GìU¸n ,efuKœ—¢Mý²¨rôÀ·:“ wQy»…J/ª|+F)‹©Ìë|™·x›üÃÉR_ÊøÙ‰>7Ââsù&uÜGp°pXÑë‹Þ;Î>H ë–½›Dï?UsÒîźôµFÖ:Ôòîù·ÖM8×/Ei4Ÿ³}jC!›}wñè/Œ{®YßÏO4€ÿŠòœ‘aE¾÷rHßѽ_÷šй~7ñóùŠüg^·îÓµ>'Ò×¢ÝÏDì×?8Óú IDATÿ’2=`Ãâ?ß wéÖÒ*çé¹µ«/Äe‡í_u(8V«QÇ]š¤<>³aïKÝöÓÆ4T'Ò°;¯_ÕB²Ue…l[°íÚ ±uëî]kÇ…_1ÿPÄÇÇ÷*_ú\N1oPß’²ß\ñöy%)R»8*èŠø Ý]jiqˆˆ¸zÌØõÛ·o÷l¡þ6XÅŸ\ºæìSE½{3jáW6/Øó\¤Ìº·eÉÁXŽ=côÖçXTÙùâÀÿd5£Jvíkq)?ìn´„HôVEfŽ-,Aà ~4¿C¯modè Œ…!yáWˆÉ¸mÛêêò"ÂnÄuï_¹àÏ•Ì×ÕŒ'©#™4Ï/èü³!3ôJþ¼ŽuÉ!$%èÂs9Uô˜5±«WdWáðõÊ•é0ý‡×1¨ÛÀ\y?úvpœ(-S¥[ËL‡GÄÕ6·4TOÿ\BZð©1™ô˜3»5¶[-Ùøuo_tûáåVUF,_ÒÞ˜M®î9ñϘظ\UÝϯ«RI³ò”D–FêŸÎ¾pºFFD¬8çëmÆì¸–HÚ­ÆŒq««)¯/‹ð¼pþYûÆgJɬ׼¹îÖ|Q‹­“–ä‘ê4j·`ÝÐ:B›­]—÷òùÓà8iyð+)Y´´G€_t,„Í~r剔HùþüÎmƒE<¢Ô€[ѯÍT·¨¤Ë#"u“ªFDÊÌ”<ÕW?ÿ‚"/)‡HÍÔJ—GÄѪÙcÔøQ=kê©§„œX;mÜÔ¥ûoÇI¾ÚBenR.ϲ¦™q„mŒ‰òS3 ^ªÈÓ7ÑâqB±Ê"kãªëkóˆòR²äŸ>VdE>òôe‚Rç«m`¥)b¢<ÿEƒ]]]x^H#R¦½‰É"R«PÓTˆ#¬Tß¼ Ðo4²BÃÊBqtë·o F™Cc¢CÃrÉ¢¥½ ÿ¢ ©í8ç5ÚÅ‘iæì6ëÀÓl+¹ºf”K«& c׺÷´=sTD¤H Ù9¥“cßaÀœ#a9…·¬øåþ‘N]æú&)J›\ž°qŒKË&ÍÚ{,>~dtÛ¾Y,©D¯O/ÒÙašw¶üBT>K¤L Ø4¾{K†aì;òº¢ÄbøW¥Uúƒ«/”D”ùü®¿àýw2"ʸ{#ª`¯,‰H“±âØðd"ž©6÷«Ÿ9*£e¬M$O‰ÍR±yá§¶oÚ~úYØiï³a¹õÆnþ˜Ñô]óÛ›óIUÒäò˜c3f_··ïšïþqÆ—6?Ìf‰Øìà6Å·\|âæõ#³ê>Y1aãqNðªùç4{_¾qÉ{çì’ÍOÄXHÿeݳ)Sî]{Ã’EßuëúVä›soù¯§÷üÞôu&"¢Ä‹—&1º1!y¤×¦GmNt)Ÿg—œ!ÌZt®}|×ËC+7¤3o®û¿‘ÖÜ]M¡"’E\8#zp5‘ˆˆe‰Ãðˆr_¼4­õ¹ãf½š]ÿì²y­+ç?¹öPJ–=»ÛhR|â˜Q‹Á½®Î9õþ¨ç„àú5ŒUIa/â¥dÒa ƒaðÅÿ±wžaQ$M®Ù¼KÎYP3§¸"""bFË‘`Ât&DŒÅ€"f1§bF1 ˆ Ì TrN›ÃÌ|?0€ì zâŸý>>wìlwuMuoOuM‡¯êðvPg;ç“Î$êÛë–Ý9øš°öt±wkqx÷ë#a« lTÞßJùp×”+‰©¶îÕ}ïÎÍ[¦#í ‘‚ø•Æ7‡i.MÕ1°?ÏóüĸÔÊ(‡°c¶š†º,Ê9jlLX.¿¿rèUËÀ5}¬t(à0.l…ÉkM €gsøä+‡¨ÓýŒ˜FÝ좷çŽeµŸºÉÍR›v¾Ó{÷Ï¢)Ͼ9m„ÇБAá=®"1yE6ÓÄ„SÝ1LôlÆÁ@Vt=Ys =õzÌÙœêŸ8FQ”=‹§ÒÄècvݦ:t¼2¯TœµÛ¯·³³³³³ó€Y‰•Ò >ËvÁ¶E] Lïoï4|áþ”<´Ïñ߀üLjžnò6Ìwó3qîÿ&HË^?z˜ö:²:âä;:‹C…I¡è¹Ìjù "òV9¤¬nv†å ÁÆéQ[.eVòòS÷o¾\Ptº°Í?ü ¯ªü]ÒžYc¦î/ãß[q)³R,Å Ò(@T<½rîú+* øo¿‘A|3Ìæ#MíÛ–v÷ª%«¼Ñíê3–›aý yáÍq7Ê ¹£Æ; 'ñ˵ãAýÉÃAÜ<_Ó›¸~‘“Ž®Óÿ7fôvp2ë4{X€ƒüð¬5O |Ö­t-ˆçêØgú­‰kgt¨é©ÓLÜçûé_]½íPKQögF£×-qÈÜ0Ê¥ÏÄ]¢~žl*BÑv‰ðeùs¨s/ŸÐ«úþ‘s¸ê}C‚m_­îâèêzÓ<0|r+&€4çLxȆ+ErTaÄ¿F’$²ø’fÜÐ~WœŸE#oq#Í»}ù‰Sw  ~î1K°üT˜ Uñ«€b!â×õwÒcCÂþzÎ'aæ¹ÝÅÖ.–hí ñ+–"ˆ_FsßUA¡3úDó)jæ]}×ýÙ]=‰@üJ 72@ þÐ@ È A ñ;ñ óB$Ivv¶@ ËѺ6â7BSSÓÒÒÙ@ük^ˆX,~ùò¥®®®ŽŽ•ж¯@ þ‹ÕˆDÂüÜ\¡€O¥Ò˜,¦ªŠª–¶ùádìœlöÅd²šYZáòçOËä2}Cd%ÑH4tv*I’ß₈ŸFóš}¶¯þ(Lë5rõ]~õª`¢ôÒ|ï±éB9Eiá~³Nåã¨jˆF'?/·´´„kÛõ“ ò *•fÙ¼¥T"–ÉdÈPâ_öBðGA˜ævVŒ¼û™@ò>é¹d/ogŠ«=w²©Íì,Ð>ËÄ¿JiI‘ES¥ÓNÙކ¦6ŸÏC†B ÿ¾ò-`*Í»6%ßÞË–€4çΊWÚóÛï$ ÉK˛ٵPÅHÑ»ËÛúöò1yÑŽk9€”—¥î ñååã73üøãJA ±HÜļéWhhjI%d(ñky!€©·²5¿|T(Yáƒ4‰UÏέäïäH/{þŒgÀm£Eá¥Å¬8PÄ ŠØ»v|ó—1+ö¿‘Òüó×°þ‹¶ÅFNµ­<±nkJ9:wh d2iÍ"‘(66V$}ºÂ`0dR)2øÅ¼ êXwÒ.KU)+KO­´èf©ÓÜÁRøà^”Ÿù°Pݺƒ>µ*íä]΀ñÛꩨ™ØzûÙÉïÞÈ’PØ]ÆxÛš¨©v:¡·Ê“ Oxh—y¢‘‰DÑÛ·óx¼èíÛ?9" ÇQ4@4wšÝЦ½Ê…{yXr±©«•*EµewóÊ“sZeeÑ[ 6eâeE’ü‹&ž­žlBÈÄ´"€¦i¦Ë¨¾F×mªCI+ ö(A ¼¼¼#GæççWŒÞ¾}ÊäÉl6šº…@ ~U/˜f]¬¨[¯'òóôíÛhPSoã`sáò ±¼Ù¨¦, rtÔXͬ_ÙK‡„¨ «„aÌκ(¯È.‘’ft @Vú¶ 4ôTÑFóDcbll5K3õÜxÔ³†¤Ú²ÿŒ5ýkeê0/¦ ì= ý¤ˆ_ªZëÞƒúçËA^tçâÝP·qënDº‰Õïüj•ª×#h^K: ¨šp@ @,½xö$ùÖµ{w’ž=}”›ýþû· ¡êuŸ²xéÒ¥KŽëÀ€#,]ºté¢IvÚP•¾oþ7{.—këì1mË­bˆªGæz»téâ::ìPìh.—ëw¡œ‚÷ôPȘ¾Ý¸\®½Ûð¹±wʾX¬CJ².¬äÞ£3—kë448öaòìý#ÜCÏŸXêãêõJ,xõw˜o?.·k_¿•§3Edýð¼C£û/¡ˆ¢0!ò¬ÖØ5áÞš÷VmÊu ;våò¡¹mÓVmL’ €_޾ÓfÁ¡„„]~j‰v<®uØD½å·`ˆ³ŽÄc#¶œM<¾Ü¹t÷쥉%4§›Úºiˆ¾ñˆÇB¹œZÚªÝüªØ¨¥AÝ!õÂkÈr.Ÿ+l=Ô^·VŽçœ7甆_ôù„¸ÅŽù[ƒ7¤ /<»pvéõÂŽ‰†—x+¼èÚI¾ç¶3vû²/.Ÿ²‹°ïâÅí>Ø¥è¿2¥PoeFø/9<äklô¹Ä³Ñ#±“Ë¢Ò„De²Â<ݲ_:lc|â_a=ŠvÌ\q³¯·r뚫̬¦m–%z3#ìV“ÀÝ —þÙæÁþG‚ZlŠn×!m+¯]~/¼ðfü»¦C{7¡×{³uQXz•"›4¤i}ŤÊê÷ë4¼vê±Ø€†º`âwæýÛÌò²Ró¦– £úˆ®«§Oê’…y±èÇE€f yt;uiÂ{víõéK™¼‚b~ÞûÝ7E`ê·uK@ :¯÷’Áç*äUÅ‚ê¬ôm¼:¸¼+¡˜³jŠÃ4ÂŽÙjê²@(稱1a¹:˜±÷"ÿ¾Բ󫯩ŽÜ7škDèé?×õââsoft´f}] Hj‰}›©Ð ‹³YÌuñ-åÒIUÅ9Ø¿§…öãÿvnü‘ÔŠEJŒò1)Ó ;Öå+bA0°³|éÅ ñ-ó./µžb§]Ë ‘½?wèUËÀ5}¬t(à0.l…ÉkM^=üÈdü±aÖúTÐï;uÚ™A›â3}¼€dµ3’«Ã¢¨uëj²“íçÓA‹ íœluãË„8Ô“@±j k)4:EVRPPI´hïßWÆaQ‘´§nLì ŽÃ´—¦êØŸçy~b\jeT=FVl.ÍÏvUTÖgìLy—y3úYib =böÈ“#¯Ö–ëtÜ&|Çå÷S¬š_Ïn1ÌÙˆª´Æ•C*¾S—º6†4-å&Å Õ鶴_?4´vêµòBÄ?ãÝ»Œæ-¬0ì˰(…BÑÕÓ//+ù‘W¶6+ïJÄšðer¶¾¹fµ#+{W À°è`Ì•æ]šÀ¹Çj]殜¸qÛ¡Ë;—_Þ  b5`êbûZ]6Ež})2äü³RLÓÔ\µŠü0‹cèYêÐd•y¥â¬Ý~½Uß.Ðìùx$]Ë\›ö!IÛ¨¯\šŽ¥³ú:ð•>%©D dðü)WýbUÚ àJW%dú³n\(ÿcjg­ÚºÉ+²yœ&&œê« SǦÒ<†‘…fõ~KÇØBUW% SI £`4ÎÇÛý¼à« iKÅOò { Pµ_¹`Û¢#Lï?O`ÚÝÓw’ouLYдš²>™KL*à“ò¯ZCiÝ} )*«²B"ÒhnÊùP”¾•>ã‹g*E»Ë¶á;®æŒc§œÉo7ÖQõ”UËÿ ”–ÎgÙÖµ £!M«Ù™UJê—ñ5õŠÂ¾ÏbÈ A ÿ--me_1 ‹#ðPQ’»–í¹Ë³ ù{ý@£Üo¯YT55€ÒìçE2û¦tñû´ÜcÙŒ÷XkÏ•ñ¡j¹÷®ÅïŒgçºãOŠùåo.DE>4änÉüçuYŸ¶¼{ë#.eVŠ¥8`TEy›/e”•eÝÞ¹ê¨À~x y=ò•+Pm[…eѬ† ÐI]qöeqEÞýƒëfãu¼MŠfgv…qëö•ÚzÙT×Ú×o–ÊÑaU¦_JÉHJŒ¾]E`ŠJ—ñØä¬ªÈ¤T…õ[3¢H=²ÁµÓ‹!/@4TÚ —²ÚLøÓ«½6ïþÉ“©¤ÓðÖ€ì”çcðuc: RÏ\Êl2j”å‡0mŸõk}»f_Þ½ýàMžUŸàMs¸ª5 §9þ-nÌèíà2dÖiö°ùáYkÒD5S8‡Dø²Îü9Ô¹—OèU}ÿÈ9\ø û̆äRµžæïàæµ4É4(rŽ] ŸahÛ‰uvÂà…w…ß*SûÃ݆Êgwò‡j]Íè>ëVºDsuì3ýŒÖĵ3:p€j8`Å:86½¿“Ûøè|—åÆ6güóG}ÚR ú†Û¾Z;ÜÅÑÕ'ô¦y`øäVL¥5Â4ÔŸ<4ÀÍsñ5½‰ë9éèÖ'_±øgÛ*,‹ÙÂoCˆCÎV¿¾n£ÂŸÛNhZwvE“ëÑA–Gëái­Ú›¥ö™åÛäÖBž}&ì’{O¶æ(i{ê mÒ`«*6i½õ«H½o¨†Xì‚‘dƒf¼Þ¿ßÚÚšNo°¢ôµS6²æmÚ†õ•=\p°ýêðÔš×Æ¯zøiå=CÛªÇð€±=Œ•ü¾ð‚Óóæ?¹u~Gt2ñ‘SÇ·mÿ†aFÁCÉÍÉ¢ÐY:uj$¤ÅOÓ^ó¦ÖÖM8<çàˆÁ2lÂw¸h ú©‹ðÞ’Á‹iáÇwäü¿Ü’ iæÀ íwÅùYÐQýþŽüÊóB¨ªÝf…kÁBZ•²?bëZÍfk†™¡–Œ@üB…çB§)2è;w¡‡ñÛ»3€bíl¥‚ ó%¤´²øÍ…˜k —­­9Èä…|xÅã“;vŸ{˜#`¶u9ÉÇÖ€ÒüÛ·¾ö¼Hc›“=Z«‚$÷Öþè¸k/Ë™fûØ)ž_Na¨¨««3@]³× NÇW¼(”‚T ]㧬àÛâs —¼îï­zéØ%sGßY“zÒñòGoß}>-W¢ÞÔvð„ }[¨`@ŠÞ%î‰9žôºײr>elSZáéù˲z`§â^w\ðg«”˜= EtíÖnã§ê¬ŽF ”Âj´e¶:ú̺iç –nË^Ë‚=Íмù:ˆGŒ J6ö\4®5 YñÃO‚—ÞØ¸öÙkÞæÝÛC‡é¦lZs:GFV¤DG§èy…nÛ³>¨cîß{’J ÉÛ¿Vo}`è³"&6|¼å³øW¢¯¾7"eÅé7Ÿc­»™³ üœTÉ·xYÊáG–“ÖÅÄ,÷à¤ì;öJŒ%F¬¿¢6dItÌš)Š­Ùû\ $/-fÅ"nPÄîØµã›¿ŒY±ÿ…ˆ Ê’ö_W4+Ø©doÔæ m±ÛBP£¾£V†@|ŒÝ´ïìí§®¥Þ»wïÖ…ƒ«üºê!DœNK/$'ìšå¨óÿ5OÅ~Õcèu Š…ü'$õÜ+7+*è8Œu-èÀµœÃm¦F´WÓÓb’"œ­ÂÄÄUbÑ»Ë׫¬Çq4WÃ@£ÿ¸‰óRÈ«º2úÓÚeª¥÷Ò.ºTR­®@âó*ü–@5ìåÙÝ”M…f]ì ÿº+’æß<÷Îbø¬îæšØ ™:Ãà½IT¥¼Ë°j`[=€­·ŸÝíM7²F ôûNöénB¥Ó1yyI Ÿ4·êûç–î2µ2@ þm/„”éº&êöWa陨ˆŠø8¦]¼?êfF%¦n`Ì!,•¨51ø° ]ÛB‡¦À ¡ªt eÉ\X~bëÒPX½r¨¯#°Æ¸ Sò-MÃXãƒf p^€mdÀþ ƒA§òÜ¢ Iþ‰EÏV_&dbZ -SM°ÛO ™tþÌéUþ"ƒNnƒ‡ œ|Ä>ŸWRRÂçñy|ž\&3111·hÊá éâÿÇ ¡¨èpdòxx6€—ä YfAjÔÚs:KÃm Y˜(}mЊª>›—U(&-耬<«Lá1”T޶¾Au¬Á@o¨ÓÙù÷^ñ«¿¬+ðdeª²o«w¯þ¬-G‡%z3 IDATY"&[21iNâ‰ûz}˜é¨±š X¿²—QAV Ø-ͨÞK‡æJšô \î$.L;±Fb¼Ñ﬌C œœœ7¯_·lÝÆ±SgU^UÕ“ÇéÉI·õõ ¬ÿè€ìƒ@ Ñ3hLá¤\$øŒP®eÛÇªàøžK¯Ë…UY·î®ëÜÓ”&“àtUdeÏþΓˆd s'ÍG{öÞx[Î+~zf÷™…;¥²ò«J2“ÏÝ*Ѱj¢B!ü<«äëßÖ€nÒ½—ñ›¸¸ÛÙÓ ­ë´¹ƒš0iz~Þw6¬žxž¦mnÓÏÝÇfoÜš]7øÎ àm=¸xòVº©­û(§âDòù·VM¹õ1.¢Ñ´›ß\ŸæL :+hó§quÀCC̘ᷠƤïœé¼m{ß$V1íâ9kLk6`ì.þsËvÆFLß[Ij4ëæý§_[6~öêtýǾˆÚ5güFœ¦Ñ´ëˆ`¯¦(‚ø¯"“É…bé !ž8A$ A$Áb³]\ÝÎÄŸlÕª‹Že ˆF¡Ñv-C ÿyö펱µëÖ̲9IA’N$.—ár'p …òàþ=‰DldjÞx»–!ˆßôºø}‘ÉäV-[Á‡¡Èçÿ’$IÊd2ë¥Òo?¿JühE?÷ˆç’%&ªR#Ç÷µw ¼R)ÍŒê<;Eòìý>ÎÓ“ß(J‰xÞ¡N7ù?Õ¶Â!½=¶¾–¢V†@| ´.@|Ã>¸ @V;"*@ÐÈ®PÎÍĬëά´W'y=‚æu°D/1ˆß A ~o>¾“­>=00€ HÀà›c!²÷¦(Ê‹›0,ôž/M örµãÚö°ñJn­³Qñü3‚å—_ší5çz•¼ìö¶5G2¤ÊD‚W‡ùösàr»öõ[y:SD‚<{ÿ÷Ðó'–ú¸zF½’*É@J²Î†éçÀíÜÓgÉél)(”VAÒÌ^c÷Š˜ìÞkçê=w_z%@J².¬äÞ£3—kë448öaò’;;fx:Ûrí{\xèIUÍÍžIáó=û/J(+Ë.+¸±qŠ»cg;·1aGMv™PA*T/º±)p#—˵ï7)âZŽÚ/y!â`†a$`FIIb¢"ß Ý|ÔÖMCôGì<Êåà…gÎŽ#="â¯^Ø1Ñðò¢àok¸5T£!‘›‡xDŸ\×£ÎaõµE•É«‚6å:†»rùÐܶi«‚6¦ I¢0!ò¬ÖØ5áÃ?mÀY;#‚´½:…ýuåÒž êW7Å>)“VËyºe¿tØÆøÄ¿Âz혹âf^š¸|Y¢Ñ”íg¯$ëö6v}Bçœ7甆_ôù„¸ÅŽù[ƒ7¤}<.—½Š›xDgVLˆ›! EÙeYGf/¸l°ûbžݳQ÷+IR‘zUÉá!§Xc£Ï%ž‰\•&D ¼ñ«‡C>ÏR'‰ês0²Ú!ÿ™h¼ðêáG&ãg³ÖWÓnÑwê´ù'â3¿k²Q‘´çšêÈy£¹Fêš=ýçºÊ¯Ÿ{# 0cïEþ}m,u˜ÒÜ Ë1Sz[pZ-e¥B™2iµúGŽÃ´—¦Z¦öãçyª$Å¥Vª;„;0¿O+}U‹£ÆÆ„åBñûs‡^µ œÖÇJGÛÂa\ØŠiŽšÕÓkÄGçLØðÜ.da¿êã¾1ºÙEoãeµŸäf©­nlç;½·€(W¤žŒF§È* * íö>‘ñÇæ´G‹—¿:h^ñ»» µþÆ0  >¸ Ø?ôBª x # ÍûsŒ-TyUr€oŸûW敊³vûõ>T=xÂ%š=Àz–:õ,ßÃè:M´hXõƒJ¥Õ굚~ØÂ™aØJL*à“òÂK‘!矕bš¦æªU$ ¯Èæqš˜pª1L˜€@Vt=¹·=õdÌÙœÎ>f4Œ"Ï®›=‹§ÒÄècvݦ:ô,%ê±ll[täàéýç L»{úNòí£Ž&Ñ ‚@ ~i?äã§O¨þÃÙÕ Ã€ ÿy,„ªn *½ó¾·W¡‚÷|Ž¥Úwõ;T5}MNëQGözP€d¿)`šs$‹¯»!µ÷FV&­v&yyF˜´b`²ÂWÅ ¡+½¾xÖaƒÐœÌ8aÊìëhjaz¡ˆ6 É<¹ë–‘÷¨ötCïð°Y×ó†­X{Ñ9²¿>”]©›ªfÈá¿)‘íY€´ä]™L‰zfdÎk‘¥w讉¡Âœ”} æ‹ÌOÌm‹ŽªBüÊ4Ö²êÖb//¯À¸w²Öñòš°ý¥ä¿f¼âéé-¡³¦Œñò1~Úü5“rÅ$jˆß+"â=btõ¿êw4öý±¹H‚P zz·ÏÙ¹îø“b~ù› Q‘ ¹ë"˜jQín#ló£Ã?È«*—´gÖ˜©ûß˱ú3*îú"ÞˆØ|)£¬,ëöÎUGöûhÈÅ8]MC•I‹RÆ&WŠ…RšE?ó§›7_̬–>:²:âä;:‹C…I¡è¹Ìjù "òV9¤¬nv†å ÁÆéQ[.eVòòS÷o¾\Pt¨'ãß[q)³R,Å Ò(@T<½rîú+š1y!µ€•ܺžõé0Év鑸‡x<’÷§–N]z¦²ÕàÀ¥£VÏÙó`óÌYÛïW¢Ÿ5âÿ Ã0 Àø<^UyiIõ|UÀ°ïtņ¶Xg' ^xWH5°b›ÞßÉm|t¾Ëò c¿é\¥¢(ÚÎ!¾¬3uîåzUß?rW¥!•¸!õKcêOàæ¹øšÞÄõ‹œttæø·¸1£·ƒËY§ÙÃä‡g­yjà³n¥kAô8WÇ>ÓÏhM\;£CÍ  ÍÄ}¾ŸþÕÕÛµef4zÝ‡Ì £\úLÜ%êçiÁ¦Ò(ŠÔS7èlûjípGWŸÐ›æá“[1¤9gÂC6\)’£ÆŒø{ FÚ;•¬ºpHÛÞhM˜hÅ„ê9ßsN¨—<1š·irK&)z—¸'æxÒëR\ËÊiø”±=L™DÙýÃ[÷$<*ѵ[»Ÿ>ª³6pEIiþíƒÛ_{^$ޱÍÀÉ­U1yɽC[ö\zVÊlæ8´{ѱ×È¥ÝTÅu ªá áEC¦Ç©l˜Ý]›úQ}ÑË}³ßú#,jçäìåE“6MkËe›–;!jF;f]å)Ù‡˜’‰¡†‡øO»cÛ¸ñ“är9 $ñ'W_ïéÒ ÇåN¨kh=|°C'ÛßpïTAÒÌÚïŠó³hä-£¥y·/¿1qênÁÁÄÃ=f –Ÿ ³a£ö‰@±ÃÔ±ãAb†€¬||ù‰«Vu‘$/-fÅ"nPÄîØµã›¿ŒY±ÿ…Hu…9(d[ì¶”Äèƒ/Ä /’)ÑÑ)z^¡ÛvǬê˜û÷ž¤RBž~íÆ}Ÿ;bVøhÝ8ø”G*)¨æ|¼Ê§7Þj¹zÙ}rAc[¹k)|œ£p2¿B™Ðà”èUâ? ùé̇H†üåŸãï¤Ç†„ýõœOÂÌs»/Š­],ÑÚòB~4£nŽ*鉯EDEÚåló^h|pBªÒNÞå ?°­žŠš‰­·Ÿüî,•†Éy%%|RêïŸ["ÆY1(Š.‚šÍÔˆÕº7Õf3˜l&&®Kr¯&ä·1¢›™†ªþƒGuS£ ªá[È%ǘƒ—DYž=ð×ÑÈ“¹å†¦y羃hé—üÝ£ùèÖ¾ƒïFmœ~™ihÝÛÛËjÿkÅʳ©ÐД¨Ù!þCTðH’$?ÌGŪßÅdõa2шã FZ©û¯ +z˜’¥ß¹“ ¼Ž±F4usP›ïÛYå¾(ÖlÕDõÈÿ[>¬ÔÅq’$‚$B&•ÊpÇå¸W×Ð8z8î÷\©‹@ ~ÿ_§Ù‰^ß}1SH’✛ß[u1ûîC0¶Ikä‚ ~ ª#@’DuLäã‘2ÿÁMÄÿÿWçÈЛ ž9¢xËêÉG…ã?ÍÐI õ¡DC¼n âÃa+؇SìÈêÿ òBÖ“²Ìݦ®qCÕŠ@|“òáÍ,üãfeÃHL.“Q©Td"ñkx!y9YȦÄcÓ& ñ?࣠‚Q0'É1¬:R^QÎb¡¥å¢±   ¿ï(„FÍÏËû¼AF©~#S¡P)%ÅŪªªÈPy!âÃ`0î$ßúù°Z÷Ãz]•öæÍkUä… ä… ˆ ‹É`2™iïS0ʇHuL„Jar8·nÞ`³Ø*ª*ÈPâWóB¤;F÷íÕûÿ>^ƒ#μ(?AEò|ÃÈqÛ^K”}/¸·Äcò±\UñÃÀ0¬e«VYïÞÆŸú»¤¸ˆNg0˜L›““}år“Éìb×Y @4ºF†ÚrZôònª€‹Šß§ŸÝ6uFñ¦M¾-Ùhõ,ñ¢CÇŽ……©w’ù<ž\.g³Ù,6ÛÄÄÔÐÀ@üº^…¦¢¦¡©¦¦Ž‘e3•¢qëwݲª;ïÚ®È=—1S[Ïés=5/þ¹ø\‰fMæ-Û6ך’óEŸvR^rkÛìS OK¦¶ÁÞ´(’º)ÕÈ’”=¶žy/dè¶ïôçønºTBqqÛ¦¸k/JpÖ½Ç͘âÚ„E(L‰@üvcu@–A ÊÏ›BÑ´q·¦¼NÍ•ßÚ°á–þèð¸ã‡vÌ휷ýZ…‘çêeýt =ÖoŸû›¨› INüEÌ#|ÿ‘Ýó*‡­»Y†+J)¸·uõ¦wøþãV{b"bŸ‰ˆªû›ÄæÛ͉=~xG`˧îx*â+J‰@ þ)U‰¹5éÖ{ä‚ý+”¿‘QZ˜ —ÛcÁ=aíë²÷»=¹\î„K•d­¿ëGúrã€Ïtqõ˜ö×s¾rˆªÔÈñ}í¯TJ3c†:ÏNþ$káy‡F8Þä7 ©øÑŠ~îÏ%ß–ë'SCÉŸ‰ðAHo­¯¥%_ö³Zŧ‚äÙû}œ§' '$ÍtöÞ—%¯uñëY”5øwkŸ¹kMM—%É‚ºí¼5ôµ™ ’³UYq¥˜Ïé0… ¨œnS|»š©`ÐÙgê€Ä™ñi•öŠRÒi˜¼¬¨ˆG4k5xÙng› Då½£·U=¶ ³6 täxuÕåw£ë¦D ? Ýν»èSDÏSï¿LØ8“0?¹ÒQóûG>Tµ–nƒû—˜›Ò£¡µYp8²§ÈEwOF­;®`÷ÞÀ¶Eùe97³:¬;³Ò^äõš×Á’jQ£ùéý¤Vñ“ ªÑàÿݘçÏ\##畈™Ú †ç݈Y0Á/`aÔƒLIª–¹£Ú\ ýº¿LD*H©ÒaÚÚé6EÇCF ðœ¼êø½Á+¨äžî=lÈÐaC†ŽYr‹/«0¤D ?N‡q —.]¶fû¡Ýþæü‡IÙRპ\®ó’"gíóâr¹~Ê? Æð²äÍ“úwëlßwLè߯„_ ÑpÞË„“gÿ¾ž##€¨H[<¦Ÿ#—kÛÓcjÔÕ|?_ ]USKKK[Ï´•ݹQaÝ m¹YN!xõw˜o?.·k_¿•§3Eòü3‚å—_ší5çz•¼ìö¶5G2¤€çÝá¹ÓáÜ{p;÷z&[ P7; €ÝØ8È‘ËåÚ÷›q­¨öDzyÖ^/ûQÇò iFô`.wÄ‘<@–ãa?öïHIÖÙ°1ý¸{ú,9­¸éûÓNåÅMZ3jH.äÙûG¸‡ž?±ÔÇÕ3êUÍX^šìåjǵí9$`ã•\©òÄJLQGB]%?AJ².¬äÞ£3—kë448öañåà¾×Ø}§"&»wçÚ¹zÏÝ—^I(Ë%/¹³c†§³-×¾÷È…‡žÔ’D Ÿï™èÜQB\YvYÁSÜ;Û¹ ;zh²Ë„„ RaµÖ4ÖÇVQO]+¼SyQü„n"žI>óèh{Ï]oe Õû\P½¦“^[?¡7®­³gðÎÔ²ZŠ|õvðZ žü––ð {!DÅÃ3ˆ¶¦¢[k—œd ‰Ú±bæì: •$—¿/–VRZü¦ ÓÒ“§ÔMIò³ÅgoØæÄæIÍÒ7…î}-¡¨ê©±[L‰9vìÄñc'Ž>½i]@;P=:ˆûË>¿û¨ÔôÕê™w%¾·7èØ§§ïÙ™•SV¥T) ã…gøGœ¥æ0bT¿¦åÉ{çïÏüzOIѶóäR_Ü~'ªL^´)×1ìØ•Ë‡æ¶M[´ñ±ÆàÈÍà <¢O®ëQkhˆ_޾ÓfÁ¡„„]~j‰v<u³§ «’ÃCN±ÆFŸK<=;¹,*­Ö˜fØÕQ/ëÚó*’¨x’ZLw7^ðI¢üÑ­BSW®.…¤í}Ô)ì¯+—öLP¿º)ö‰HA)OõFnÝ4DßxÄÎc¡\4(Wš "Ïj]>Ü‚^Ó† gÇ‘ñW/ì˜hxyQð·RP’X¡)HÈ1U[ÉÏ ¡4qù²D£)ÛÏ^I8Öímìú„¢/Ç ‚§[öK‡mŒOü+¬GÑŽ™+nVàŠráy'çÍ9¥á}>!n±cþÖà ŸÌMŠ^ÅÍ <¢3+&Äͦ¸PYÖ‘Ù .쾘°'@÷lÔýJ€Tbººð¾^× ï´D»ë¶•×.¿—^x3þ]Ó¡½›Ðb“¯˜Nœu$±ålâñåÎ¥»g/M,ù”™øúíP†ÔhðÄ7¶„_È !q‘€Ïçó+Šß>º´mñº;ºîãºh€LŒÓU58 LVòðÄ¡{U¡¤Útr±”BIR˜½ûö»ŠÊœ;qO‹†uPS”R¶}îü7²ªÄRÃH Ò0 hvbS´ÓÉǼŠì{G—-:–#W”@Ôèþâû3 /8r¹¶ŽýýÖÜ€ºó÷&õõef£·._é®U ûï*{c-ÏMØŸ*Ë©ë—ÏX²12È£{¬J\Ïûmšº[\RUš´çšêÈy£¹Fêš=ýçºÊ¯Ÿ{£lBR›xLìÛL…©ÝÆÅÙLV"W(Ê.£Ñ)²Ê‚‚JB»½Odü±9íkï{ÏhâØEåõµ7"Áë›V£Ü ÞÞÈñ_\Ë6èÙÕÀ°3¥·‡¡ÕÒÑÑXV*”U4DÉç"0cïEþ}m,uØg'äêáG&ãg³ÖWÓnÑwê´ù'â3¥Š+4…L™…`aÇÌïÓJ_•Å⨱1a¹ðË(…ã0-À¥©–†©ýøyž*Iq©•êus‰ßŸ;ôªeà´>V:ÚãÂVLsÔHqÆÑ96<· YØÏ˜¡¬PÑÛøcYí§¹Yj«ÛùNï­A ÊÜ*(õÔµÂBI.ƒÛT\¹ü^ xÁõøìܨ ²ÉWLGUqöïi¡©af?þÏaêw¤VóßÐÈ¿¹%üXu^ˆüEäxHŠºI»ñQSú[±)¤½¿ï­U ‡Ÿ¢é4ë2dè¸.;v.Ýf¿c¤5sMð8QøîùŠt˜œ6ããÇÿµ¢B¥iw¿°  ޏnÊí]7ÏðºvËï•8M«Ew¿Å£Z0cÚÏ -Ù´yå¸í¤f gߥ¨rZ)H‰@üVå{´óx•ÿ@¶nçÞ]ôi@aj™Y;îk­M¯Ïíc4moÄvSˆ//ɭ›+î[*s*&Mµ¨ ö‡ï‚?Ò#ñŠE,]6?¯TœµÛ¯÷¡êA.Ðìù8h*ÎD×2×®î'1 ^©(;ËvÁ¶EG˜ÞžÀ´»§ï$ß>êµ^ì³,]:+“Þ¼–dhößçí…5©™/K_qì&˜2à.F×i¢E«.„‚)-‡Z5Õà\€1ô,u¾pñªÃÈB³:>…qŒ-TyUrʼn›B‰Åayö¥ÈóÏJ1MSsÕ*RÁƒ¦ÕÌõáµ»a+=2©€OÊ ¿Ì%¯Èæqš˜pªo’aê8À„²¢ëÉí¼í©'cÎætö1£).T^‘ÅSibô1»nSz–rÓÕE¥¾ºVx§í.Cچ︚3Žr&¿ÝXG= 4À&_1MÇÒ€ùÉ\ú”¤>^ýñnç{Z¯á…0,'í??I¡A9Í=Cc=?}Úchõóvö˜Wý—âÇÀÃ}z YJDµŸ»eàÜ/Š¥ªµ²pëZ×X¤D ~#JKJ”y!AðyUß; ât·p©-§öÏ0 @* «,àÕúVúîIÔÞ’.zû €ªk¢NUÕ0T(ËÉ(•Û«PªìŽü;×Ôsæ¸jÊ•%ÊîüuoµÀRWªÉi=êÈ^ ‚ì7Lsd(ÃS°Ú=‰~ÝìfdÎk‘¥w讉¡Âœ”} æ‹ÌOÌm[sTÃiÙ«/úÂe*Ñ~EË&Í*v&$HH›ùÍXPQ}®`½¥˜sàemÕ–K’ñÑM©•XÝ@Uzç}%n¯B …ïùK5ÚgŸ¦~S(‘ Slþ+‹g6ÝqÀÉŒC¦Ì¸NŸXžQ &­€¬ðU1hèJ¯×ÍES3àÓ E$°1IæÉ]·Œ¼Gµ z‡‡Í2¸ž7lÅڋΑýõAQ¡T5CÿMˆlϤ%ïÊdÊ ®àF9ï¾Z×Je;¤íê˜Kw׋;Né¢Ei M¾’LVšQ !-€´ðe ¦c¬NÍÿjûQÈw´„_æ ø(ÈËSè‚”•–hhjýزèú- Ä×–Í]4mlàÑâÚ_gíð Y1òÌørÐ8®‹†’>fÒ{„ 2£f,X¹túÌmñ ™,í:"’r!WUUU^qÿôúKnéût×Ñí6Â6?:üðƒ¼ªòwI{f™ºÿ½¼Á-E[AvÿÞú€ÀˆK™•b)•öeߊ©·wkš}ôh^³nælµÖ=Œ2ãN·éeÅnx)ÕJÊEü[tSvkTƒžÞísv®;þ¤˜_þæBTäCÃAîß´2ã+(IÊÄ8]MC•I‹RÆ&WŠ…Ò/_¡Â›/e”•eÝÞ¹ê¨À~x yÝ\4‹~æO7o¾˜Y!,}tduÄÉwt0† “BÑs™ÔòADä­rBa¡ ËAƒÓ£¶\ʬäå§îß|¹ è4Øt¼úêZÉR4;{´+Œ[·¯ÔÖ˦ºe7Ä&_IF®mØz%³¬,ëVÌÊc➣m?þ`~Q6!Ý IDATrK@^ø^º:ô`²Xo3^óùŸãB ¨ Ÿ$È&æÍ~pôÕdТé=LÙåoÞ­h;jˆIíjÛAEÉñ—ßpÚ¸/ÞÌUUêÐŒ­Þ2­WsáíCο×sœ¹Ö«IЮìéò!ÎÎÎν Ÿ»ûeóé{v¶ã`mç_Ö™?‡:÷ò ½ªï9‡û gå(Ê®nÐ7$ØöÕÚá.Ž®>¡7ÍÃ'·bÖÉgãbФ»•*Pt:t5j›Þm•Ý¢b%†¶Xg' ^xWø ¹”9†V¬ócÓû;¹ÎwY¾alóo{ô(– XIжÓÿ7fôvp2ë4{X€ƒüð¬5iµ÷hbêOàæ¹øšÞÄõ‹œttåzjà³n¥kAô8WÇ>ÓÏhM\;£§V#sŸï§uõ¶B-EÙŸ^·Ä!sÃ(—>w‰úyZ°©4JƒMG©¯®•Þ)E“ëÑA–Gëái­Úp›(M&UëiÞøþÀn^K“Lƒ"çØ}žXý“[Â?#ÉmXrÿþ}kkk:½žWDy9Y¨[G þ ›6©7Í©ã‡{÷$—ËòórKKŠEBIAWUUÓ70ÒÑÕ€Çé(tV§NIŠ iæÀ íwÅùY4òTiÞíËoLœº[p0ñãpY‚å§Âlب þ~ð¼†t|â¿Õ ÐèfM,ÌšX S ~'=6$¶dë¦Q­(ïÎí¾(¶^bÉBVù?ñBø/Ãhî»*¨ tFŸh>Eͼ«ïº?»k ]‚@ ˆßû WìJIÇÊ3,Î3 Ùü¿šŠ@ âß¡Ñb!¢‡«&mÑ\¸Å¿zö0^~whÄ]ó ¡S{}ÇÔ#¼ðÜ‚§Z†mòû´±^taÁôVa›Æ+Úk /8=oþ“‘[çwüÞ)G²â{'öML{W.¡pt-;õ>º;M*€äåöQ¬9c›¡Ó®ÿ'Ü»?>>^,Wd±X¾cÇ6kÖ Y@4*?%‚—¦ìXñÐ*hÅ´ïrA€ª×¥Os~òåLñ'¡%÷®diww¶hœíN¥oÿZ±þÑcêš{÷l[>±3ïTøÚ ùrÔdÿp;uš2y²ŽŽNsKK)“'#@ü^ˆ¬èæÖ%Ûßqƒ—ûvÒªÞ‘½KÜs<éu)®eå4|ÊØºÛ¦n gD¶eÈsOÌ™ÿÀ}ÃÒž:Ÿ$жM¿6»b^mmͼ8õJ¶¾ÓT3:)Í¿}pûákÏ‹DÀ1¶89Уõ§ˆ,ëðìåE“6MkËe›–;!jF;fL™5æ'‘üÌG…šÝ§¹µ3¢€iÇ“|óc3J$2òüòU‰¥B™ÉŸ¿>°-½âñÉ»Ï=̰ Û:œäck@)<=YÖ@ìTÜ뎋–;çýB7UL^rïЖ=—ž•2›9í^t,Å5ri7UñWUB ccãÑ£FíŒ0~¼±±ñ§ë_îω@ ¿J,„”æ]Ý´ êI»™¡ã>º @òÒbV(âEìŽ];¾ù˘û_M{Xã[ï% /L¹QféÖA»¶n˜ºußäËÏù$àEw®å;;ÓÈŠ”èè=¯Ðm»cÖuÌý{ORi=Gp)ҡֹǘZË.æ¢6ºò(«\JU·»ÿ<ßö*tã‹æ»èè÷ÛØ–…—ÞØ¸öÙkÞæÝÛC‡é¦lZs:GDYÒþëêƒf÷U¹WW7yþùµSô}VìˆYá£uãàSÙ•ˆŸàˆÌ™=»¦ ‚ã8ŽÞ<"ˆ_Ñ !«D/;RÕÔ@ð(%ƒO~ºšvò.gÀømõTÔLl½ýìäwodQš9µÃÓneI@žŸt³ÂÊÍZó˦ҺOgúã‹y$È R®6q³×§¨ÙLX=¡{Sm6ƒÉVabâ*1QfŠt¨u$ÝtÐÒÈùÌx÷­ ;zòÜU±_T~±'1^šz¯›•ŽŠ†¹ÃÈQ­Š¯åHHÐï;Ù§{3-íNut“ä^MÈo1bD73 Uý?ê¦F êW øÑÐéôò²ÒšWØìZ©Š‹ ˜,tÆ#ø%½ µ™°lñÜù#õS¢¶ß.­~„ãü¢ Iþ‰EÇ7nܸ€5wøržˆ`[:µ•=HÊä%ݪjÙ«:DéÕ%c¼¼¼¼¼|W¦ò€ÝÜÍ^åùÅ´ iAÊõ’¦n\*†áÉûWΙ>cÞÊ ¯ä×ÈÄWt¨©;.•‚n;¯Is–mÚµoË\w‹¼Ã¡¡gÕ:§‰”éŸNÜÂXz&*¢"> -SMšÝäUù|¶‘þ‡“#éZ&4¢^•ˆü05{óê…²oq/).äpTþE I3½÷eý YâG+ú¹G<—žwh„SàMþ‘Ö(ü#ùDeÒÊÀ-Ï>N£ã§.rær»\,ûŽ.Ež½ßÇyz’d™1Cg§ÿ««ðAHo­¯Ò0Np{ZOŸƒ9ò_¤ o¯G’ÝÔ¨GÂÆ Î7t^†añ ˜¢þ‡k'=úLóKŸ½}óåæ {Ò¨5V³ëWöÒ¡!*È*a³€ÞÜ©µx×­{Ø~›±mU1L§çÒ}=kJdš»8i-¸˜ò´ýr+¯ŽÕïlÈÊÔ¨µçt–†Û²0QúÚ =uløq›zyEA•@™Ÿ=Úà­½`ÓÄ–LŒ®aéàáóâjHú{¡g“Ïé(*:Ù£<ÞM Å%yB–™  ú(B…ºQUtÙ¬ Ù‚‰È*ò*å•úTB ~8FƦ%EŸ>IoÛî:.ˆü}f›Ía±ÙåÈV¿¢§±ÛJÜ#[Uw dåƒ#·‰–ÖªéGo–ô¤ÿ½cOª^ y,Ñ º_œo¯GLµÃH§Ø…3¢'6Âù2 mjjj••• ]///}ùì©H$ÒÓ7ü±Ò7[=z/º_=Ø’fîê¶à®ð¢›9r¹\û~“"®UG Á«¿Ã|û9p¹]ûú­<©`2”¬ðÚú ý»qm=ƒw¦–áÂKÝÜ–|/{·k˜ãøø¢/ÆHxijl°—«×¶ç€Wr¥Ò÷¦(Ê‹›0,ôž€”d ÓÏÛ¹§Ï’ÓÙRÅÊȳ÷p=b©«gÔ«ƒkÙÒdÄóî¿ðÜéð î=¸{=“- %YÖNrïљ˵uû°ŠP”RX[¾bÓ) „”'ï»mêÑõÃÔ:¢,åð]µ!óæx>?vµÿdê5vß©ˆÉîݹv®Þs÷¥WŠ/~¶iÙímkŽd(1T=J~i±:D~S ‰"ëÈKîì˜áél˵ï=rá¡'Uµ¢ÚÂç{&:÷_”P W–]VpcãwÇÎvncÂŽšì2!¡‚¬·Y’âwçVûõëÆµuñš{ð)ŸPÖ˜•˜´á ¦¡)ήÈ8ßSTƒžƒT/Hã7B8¤¡^ˆ‰‰I~~~aa¡L&ûžb4m'Ls¬:qä¥4ºøÏ̼1ÝoÂì-©:ÞúµeÆiéÔš*dutµâ(whôíz7—bÖ½Û|<‹Óèìçm~oõÄQ~ÓÖ\cöö±ÁϯÙõBòÉrðltãtßÉ!'ð>^V,À”èð¹wV³™²|º‘ºoõlÿISf­Œ{iì½`¶›€®gÝ–y#dêÆ'"ª®Ó´9}É‹«ý}'.>Zl7mî &5—"+Ö-Coà›œ½óÆO^ò·¤{o&•F¡Ô§Ñ(#*Õ¢Y3mÝÌ7¯“n^Mºy-5åVÎû·ªêêfðãa^rxÈ)ÖØès‰g£Gb'—E¥ ˆÊäUA›rÃŽ]¹|hnÛ´UAÓ¾ŒûгŽÄc#¶œM<¾Ü¹t÷쥉Âýí õÂkÈr.Ÿ+l=Ô^·VW†ž]8;Žôˆˆ¿zaÇDÃË‹‚äÚºiˆ¾ñˆÿcïÌjZþþ=w«nËmÓNÉ’­+¤’J–l%ÊžIÙ¥—ž-*Ù{ÏÚÂãE!Ê^„=í·½[Ý}9¿? ©{[<~Ïc>ÿÐ9óù~¿3wæ{fæÌ‰ ¢Sg=ý3Ó4ølʵc ”nìŽzÁ‘¦Œ¸4)"AeîöéŸ>³FÖoš›4AQùõȽ×IJ:⮘¼óàs¶¸2yÓïÉÚ‹ÿHHIŠþ>*,©L -S¾îÔ4‰®keú<3þ¥¶]_ņº—ߎy¡=erï£ rÏ%}žÏg½Üw‚?uW|òÙàe—o¾S#–r±y˜#ÉÞÚÖ•üÒc*è}óå“–šˆ$yOT|aõÊ¿iî‘—“No°*Ùï·óSÁ8'ë´¿wŒšÿ¡@{-Ht¾ ?fźë:^G¯&óROØó˜‰àm5Kî›C¾Áw»xMº~jM,\zc–`H»L‡ j)ÞŠs:Xå¶Jâ_sþ½*•jll\PPÀ`0D"Q{Dì}=õâñãOè VСþUÆcвtYlùñ¹«áì–¯¶Þ«&B-QuZ½@ô&£I"›¹¾6ŸþXèÀ­€éKtÄ Yuwððwh¼ÛÃC‹÷ò±tš.Û8Û|þ›õ¤!Å|ŽŸ9|T´«Ý,/»Æ$…™ tføèÀëF+ZêÆzùœ%ÛòÂsà½}áMûTB ¾ª’ÊA‹SÇjìrh4Ú7(€D&* ¦¸‡‰kDüXUÄ5©Çn*Ì<>›®Mé¹Êîê†Älßýš®EåmüÍÔÄù1邈ñƒ…¯æpû÷,¾v¹²ß⡪͂Ñ™ºóã¦öÓ ‚ÆØ¥>—&íŽÏµøK…(†s6 ’ §••ΡlDe–Ì1¦ãà9Vê—^%[±tàÄ.Nc»É“ ·­MçC·XbŒfg¦¬¥. l!UQcW³E +!e[®“ïý\ÅAÝ'”…ÅÉgs»OßÚ™D[g£ýÇÞÏðêAi¨r /Û®J˜Ï_í|Ùãt:s®¤‹ëÛe¯‡mû•”RA¾Æ”/Zd Mö´ô7/åLVOïícŒÔ`1/x³î;eÀçæÄ®Œ¾e±çâ8JÃCaKqÎûĸ|“¥»í U 0ÔmÙèsžù ®n£Yr³Î_ª²Úwœ‘2ª3V̼0ó†4·Œliȃ¬³ík0쬫í-H’8//Q²s¾¢ ÊF&”ã ùƒ¾ñ¢LÎ ‘‘‘éÞ½;ê­DGÀFTy³ubN\æ°š¥géì¶ÐmŒÆ,®äæu}¦!ŠñX$óúfO9$5CÍÆ“s(ZƄԊz9«ñtþÖ¤\OÙÛWªû/¬ò央¨–QGÑ6PnÜ6NÕ1P`× á‹a#«uQ!` »¸DÒ”Á( ÕZ9nQª UôUúXŒÐø°àZDàåW•˜²ž¾Bí§­ô-R6E’ë¤üÊü:ù´†Üù—Ͼ­Ïßæh¹\Èã‹Ê.fÏ÷ë-$•nZ²ŸÛ OeÔ %]l¾2,Ù^Ù()­‚ ©@KMêqaisï k ê¨]t© ªPô¬Æë@Pv+­¯‹9ñ¡„ÂÁ®I’/¬É¯“ï¢ýQ\½«9¿• ý¨ƒCë®GmÔNÃHƒrCºT CŠŠ ÚÙ`:VP qÉÎ|]=iÚruÕÍjéÿ… DûcÆÇyAe~µg~àºñbÞ?¾nµGÿü M ej¯Y1:i@Ì*ÈfÈè7[‘Tæ0x¸!à—¾­ÀÔt”ˆò*²·_¹Ý­5õ3mþAT¢’¦ÿASd.OÀÙŒ¼zª¡" ¾\Mn~QQ¢2¼œaŠÔE-É‚Â<ìKAqUÊÿhÍ ƒ'­;S ìû+&„~ÒFzbI®[Õ§=/Pós.Æ3ú®8½ÝN•âªäUs£Î¿ZÜ{ «s\܈‚J³Ê¦!O’pQXÞ{;ã…ïÚ­¤´ ú‚š¨óoµôIQ“Ê~VÊÁAàå^8rWÛe– YË%$Ø_óVñÔÍ;®ÚD8h€$絨õÙ n"‹ð+>T ¤Vhýiº ÌìBvƒvüòìr¾T©ì¸†hii·³Át¤ Iâ3è›Õã7š†E½%ø¶©j²Ìg×îç³x•§"ïÕŠðºGa^Þá×r™\¾0"‰Õá3ÌJ"C¢3Šk«?¤óŸ³ôDžk>ßܹ?%·ª*ÿî¡-qÜ‘³Íh¦ÐwBÿšØ±L3§JÍÇo¢æH“Âáç^”×Wg_ÙñDkÒĆw„ž´åv)Ól äðDÄ\Y‘¦@Áøeé§¢Ò˜\6o+ä:qÍË”Ä[YuÍ÷mPÔ:+°µBà¼þ+±²³mw uuuuuuî6Î}ë’Ï=¯³o‡ï½–SU•ïðÖX–ùt3I[Ý$Ñ^A½D%%[ÔJ5©÷æš ¡ [zd0ÎIÿåÞ½WskØ•™1ÛÂ/| Ë£ÈËlW,é™q·Z,ÑùÃI“užíÙw-—YW’~bïõA­ •íá8^-=,<ámyMñãS¡§ D˜ôfС†íl0+¨iÎùšzÕ28ŠU¾ýÌŠBÄ·ŽB´Æø»u¹»Þiä˜G„.‹úQšcý̲vL·µ²s º£ï²ÈXª6án²—ÖL±åtCÃ3b%½ùñ$ ý|\D'¼ÇÛOÛ˜ª·$båP% Sì?q±^n¸cI Œßê qˬíçG–ØnÚ9·;(Zf¦² &¯È–†´­L“þsní$¨Z¯ôìqÛw´…­£ÿE¹©^ÂhÿíO9­çÏ•è:à^ Ü™RÖüôƒá†µ¹lêŸÇ]¯3qöùSµ!“M8·c3jqIxô’ñöÎnvò °V%H¹ØG)IVRŠÇ$WP3;šk¢¦.É{/5]C·Ø1"çÙYYvIÅc‡ï€¦“i$݉kÝ5nl;ÁV‘$þJ{vèo¹;gÙŽñ8Âçl G$Ú¬P™î;- ÷»µŸòÚÌg‚YzûiéRb»[Z‡ j Ù 5çt¨Å5YÏyÆCô¾Ã‹Ú8@ü÷`= 5&8ƒ…<ÑQU²Ÿãš»Lqk‰êïùŽtŽzÏoûâ¿ÂÿM^ÑÝ„[ïY ¾âdn;jÃcöÑïݨ*¯úL ¼_'þöY£¹ñç3Ë^]ýUv?ñï“[<ÌâF¦~Ú Â}™šÇC‡@üøð³L¦Óét³ùñeâÖ²XÓé6AO8 È;êL§Ó\cþÓ‡úô:}˜×ÕªOe N¸Ú,Ke}þÏ·‡›¹yÜÄð×<Ÿ™aí}§þgû• ¾qmzÄü±æVÞ)ÌÿçÓ;#p´ÓþwüïV@GÜÅJ]nãr<_ø Šý–M¢°îùŒt=U(ü!»‰ºÃ‚ýâXÈÉ´ùc&; Q){r>âÈ ¶¸æþÞßO<(ÀŒÌéjÙ§cr?†Y'·»“+g:qê¤aJÄ„ì¾û¹ƒ1«âsÝäœ þý{òªYÝ)âš§×s>÷-,1ê߈^vüÅBñ³³7¢ö {ÚOvp¡Gþgó¬83#枸g?…g±w*PñÕ ï$罴׆†!o ~¼(%úŒù‹W®˜7ÚÔ¸k'YnE»<íüch:mXê¹"x••âÇ‘ú*à@Ví5fÑÚ•¾ÞãºPšè"¯&ÿEîVVºìÜ©'ƒ6§~YÔåÑîT⇇ýêÜå2dÓàÕ_ÉEbâšg§7ÌgE§›tZºçF ;÷àÌEWêj/y8=*{›t!á¯[…1ó–Ÿ>2à!DEgfÐéô)Qïüâ[{—:Û¡Ó-'.Þq9'á!]\u?ú¡¢ãê•.Z¯ãn´‰*Ó£ü¦Ù ¥›tôÚ•RÄäÿ9Í|V\‰€Ÿ9™NŸS,är2ŸûW1ãönïIVt:Ý|ÜÂð›e_æ,È;éås¾¬øô‚©AØ8/?!xÎ8 úà‘®¿],à€˜•õW°Û8 :}ØX÷-s9Íô•5/¢Y¶8/ÿÊŽ…G ¦Óͬ§øE=©å‘€Ÿ½ßitÀã†]ýü܃Sì×=dKȶMWKÎû.9SR}mÅ´•·¾\ o©ƒ¸ùüÁ¨¹Çÿ_4Ñ’>ÔÎeÕñgL±4)aŃƒ¾Î6ftóÑ3ןyñEN8ûõ1‡€$†Pš¸€q{×â‰Vƒ‡ÚÏ Ž=³ÈvAR Þº“›WS Ã[¶(AéͰÃéf6Î~‡Ó«Dí¨Givµl’쟙í°>ñbÈ‚‰#èƒGNºTÀ8÷Câ6÷qÃéf¶ÓVzYÿãFâÿp<Çd”dÊÄ…úy-ßtìf!·Áõ5E5dÝždŒÚÅD«1µ|?w_ç!zÌ´sl[·ò·½žTâ„ÏñµLó>2Ms/û;ØÇËËËwwj“ù+™>ÃôeP@üØàu™qÉÕ 6ÖÓ{n? ²Ï_Í€¨4agøå,E‹³Æu­Nûs¥_´`RȆa²TËÀý^½>ýº1¥NæT¨K¿–Íqõ“ëïºM´ÓÈ=¼ÄÿXšÀlžÏKrFÌô[ÅÄå·c^hO™Ü»Çh'ƒÜsIRç¢E¥ ëWœÆÂão\9è¡u=Àïdê0«Nù7_×ââšéåøpûM=.®Î¼[ªggœµ#ðoÙ¹‘‰É ‘3± ¿ïyÊnšYÖþÝŽ:3ÇÑ©€³žþ™i|6åÚ±J7vG½àˆ™i[—ì.² ŽK¹~fUŸ§[—ìzÊnª]ZHó"¾ÌV\™¼é÷díÅ$¤$E–TÕ¹Y¹-‘m›®ÈWsŒØ;]GÓ)òB襦s!th±èÆz¹ïê®øä³Á#Ê.ß|§F$IJT|aõÊ¿iî‘—“No°*Ùï·ó“f8'ë´¿wŒšÿ¡@{-’äBù1+Ö]×ñ:z5阗zžÇLoÝÉ_úS‚áï›/qócâ±û’Ïm²©<ºbcr…°­z”f—„&!Å™¢òë‘z¯;“”tÄ]1yçÁçìöËysÈ7ønï£I×O­éq"“õÃn§ü‡QÿýùÈ /êúzî:y|¿µFÔª‚š<€€‘[%nñ›²Æv[WPÝì}÷þ¹mõüц·yXóÉ7mðœñêMr×vZ²ÎI»É5õ s+¡™AâB˜cn×ƒÖØÉ}:[L£“ ÿbâ{>‹’N¤óÁpiØï~¾¿íŠXâä`‚qäôôh$­³¾†ìç> Sàd¡U÷R>pë_\{C÷‰6*¯OÄæƒ’Æ ‹ç,Ú›Û}ú˜Î$’®­³QÑ…„÷|)AÈèLÝù+¦öÓPTí1v©Ï€’óñ…Z¥(¶¦ IDATVCäßÝÌæ°ÞÝaÍš¨ùþv§þÍÍ͑ôeÉ“Á`ŠUM\#âãVšÈ¶îŠáœÅ£ ¨•žVV:‚J¶ &õØM…™«gÓµ•” Fz®²ÞJÌnº=@j£Œfwríc YYª¢Æ®f·½ÞÕV¶]‘+mcF{t P-|¼l»ªÐôÌç¯v–O=ÎTj)ÅÍK<“ÕÓÛgŒ‘šªÅ¼àÍ>VÊ€Î͉]¹`çë¡ëÇéP¤Êy—o²t‰½¡ª’ÎP·e£iDqu[Nî¨áDy?Ï‘Ê´Îæó×LUzóàý½Ö‹H³«E“Is&Nìâä1¶›¼Œjo[›Î‚ ·Ýƾx~þRõ?ßqFªJZƒf¬˜©GüaûŠx).ˆø¹·/Æå³])À‰æö=¢¾‹ ÞÊ$Ÿw÷>³1qýËÓ;N|ëa5j–˜ÉÈkªÊ4 )¨ý=ïúœ/mø³älàÒ³_”§åä‰^ÓE ~tÄUi1i\Q։͉¬Z"@qâßï,ÖPt»ª@±¿ÛºþìÇ’³Q0q´RJJ¼u;Ë,?“F­µ…Ï‹ë a±U§dŒUB }>ÏPùìÛúümŽ–;0À…<¾¨ìbö|¿Þ-'QEµŒ:жrCQu Xŵ$CÛø–Ôìw¼åóǼ¿²==÷meuè=•ÞëÄœ:¹Ìa5KÏÒÙm¡Û%JkÓÅdµ.*$Œ@À@Ä,®äæu}¦!ÜñX$óú¦¸¼YE`aÁµˆÀ˯*1e=}…Z¼õÇ2\Ü®l%»B ’íj‡$•nZ² ×)ZÆðTF=.,m.%¬)¨£vÑ¥6¸ƒ¢g5^Ø‚²[i}]̉%víL’\¨°&¿N¾‹öGqõ®jäüv8¹†CSïÔ 5e>Ù¢AH--)h½Év‰jZ6 éÎ$«è7Žòl¯±Ì‡Ö]¯ñ%VІ‘åÆO…Ètw^0&ÿpÒË””:3»qÝ.\Ìe<ËáŒå·ªjßÑ«Ïo¥é›0AtöbµÇ®\Qw$&9->Fdå®s¸÷ý"¦ (›¯<´–­?ÿ¾Å*¡›ÓæˆCihSñ£!e·b  <ýê§`¡,éüëE³µ”ª s*…æò„ÚŒ£é9/wý8`6ÏH¾ÏdkåÄø„SgXu`ìi­M’)T—sØêªOƹŒ7¯‹êfšM{2~ÎÅxFß§·Û©@\•¼jnÔùW‹{l/•4øò˜"sy"ÎfäÕS ITíQÆu‘W®Å&ë zvéVs8)‰‡ZÛÂ*ÌâºñbÞ?¾nµGÿüª>­¬cØ—ã3QQC™ÚkVÌŸNš³ ²2úMºA1«ðƒ„"šFx)ü£5ƒž´îL%°ï¯˜*1öhìB•ùÕB\r¶2m¹pÉQf;tVç0¸¸”f•M«¥IQ“Ê~VÊÁAàå^8rWÛe– YË%$Ø_óVñÔÍ;®ÚD8h€¤B‰ŠZÔúl7‘Åøªípr;ÚÀ—‰•9 nHÁø¥o+05=íÖ‹ J´‹.¡I´âLŒ€}ÙxÚk¬&û¨3»Ýà~~yv9ÿ‡í-:8¤Ë™,?ûÛàÎ&ª qß|(:6:*Ôoúìm1±±G—–«ùPLì;mý1±ÇvúŒPi˜Ä0 u2›±:,êTlll쩃!>=ä[DÐQëO'Ùènßß@CL +hô·Ÿ¿ñèåSëFéPP@üè‹’Ï>Ç¡ËÂØ´G=zôèᵡd¨N>÷†6zÆ äîñ]±qÙòñI¹²ªr’  6óò匪/ŸX©½&Ù¨BQrZ ôv´Ô$µßŒ‰šPuíÔ…;ïüµû·-áûos›N©r^ÿ•XÙÇÙ¶»†ººººººFwç¾uÉçžKx=’¨9ÒŤðpè¹åõÕÙWöD<Ñš4Ñ‚)™Øw-ˆ-î6\_N±×íÜÓçË{2’ƒºGa^Þá×r™\¾0"IR*äð¤-‘T‡Ï0+‰ ‰Î(®­þzÌÎÒy¦ý ô"³Å\Y‘¦@Áøeé§¢Ò˜\vãvÊÆDªš,óÙµûù,^eÆ©È{µb¼-Í¥¸BÚ‹TšŒ®ìÛá{¯åTUåß;¼5–e>}MØRŠd0ÎIÿåÞ½WskØ•™1ÛÂ/| Ë£ÈËlW,é™q·Z,±PŠá¤É:Ïö컖ˬ+I?±÷z€ Ö–“›¸«]†‹Y7wîOÉ­ªÊ¿{hKwäì¡Ý,Z/‚"Í®¯sfÃc»%9ŽWK Ox[^SüøTè©âš—)‰·²ê~¨­ªßebA\qgÿ–ÍÁ‡“ž¼Î¸|ü|Œ†t`!…¬ÞÏÁkKÔÙÄ›iéi7ÏFmñt0QCA þ ò¯œËе³ÑküÑb´ãû¡îöÙ ·íóÕ}ïÌÉËy¬Fì˜Ö…$c8iJ?%È?<¥XÐìɧçD»N&ŽšDŒÚɾM®}™É‡v¼Rfä¸îÈöñZM½ëŸÇ]¯3q¦ö©s#¨ ™l¹›!á¼C¢ÖøÍ¡®·ÌÁÚ~~d‰í¦s»Sªƒl ºX)AmÀ0M öÝG#hŽ ô3ËÚ1ÝÖÊÎ5莾wÈ"ãf!-3SÙ„“×?dK ClÃÝd/­™b3Ê5膆gÄJzÓ—¥ñ9[®ªõJÏ·}G[Ø:ú_”›êe!ŒößþTô¹\¢Ö·.w×;³àˆÐeQ?ªÔlÛv…#$êÀùrÌÔ™ä€G/oï¼áf'°k5uIR/5]C·Ø1"çÙYYvIÅc‡ï€¦ƒIwâZwÛd°U$‰¿Òžú›EîÎY¶c<ŽpÆ9ÈI„¶œüE5µÇp…~>.¢Þãí§mLÕ[±r¨R›E Zµ«ƒÎlÔº[{•éá¾3Тp¿ûXûY!¯Í|&è‘€_x)$pgJÙupÈ÷ùŽ Î+º{úpì­×¥l±ŒJ×A£g¸Mê¯BDÝ3@ü °R—OØirä´»Áw~|äß»ž­kmi@ŸÏCœüY›þ$÷Szõ§4–ô]rÅdt-çýf9ýñ=ãgQQûwÏ2&|Hjîñ¿ÃM´¤µsYuüS,ùâ'DU÷lÉဘ•õW°Û8 :}ØX÷-s98€¨ìönïIVt:Ý|ÜÂð›e_~ØVwÒËç|YñéSƒ±D•éQ~Óì†ÒÍF:zíJ)jöSÉšà¼ü+;N1˜N7³žâõ¤V Š}mÌèæ£g®?ó¢¶é7Kqöëc6I ¡4qãö®Å­µŸ{f‘키\¢_tÊ܉ÛÜÇ §›ÙN[uêe}C™¤¤¸TBJQñ™Ùë/†,˜8‚>xäô Kü$Y\’s¾¦‰š#')\=ù´´ùkF! ] Aˆ_-ùš_=^ŸÿRÛ®¯bƒ¨¸üvÌ í)“{÷íd{.©ðÓþvÖË}'øSwÅ'Ÿ Qvpùæ;5b)›‡9Ì´­KvYÇ¥\?³ªÏÓ­Kv=eצ…þ-;7219!r&vá÷=O¿ø¬-YÖþÝŽ:3ÇÑ©¢Ò„õ+NãNáñ7®ôкàwò=¿Y)-5U&oú=Y{ñ )IÑÁÃßG…%•‰EÅV¯ü›æy9éô«’ý~;?Œs²Nû{Ǩù ´×"X’¸ ?fźë:^G¯&óROØó˜‰à’ l:þrßò ¾ÛÅûhÒõSkzgœÈdáRÜ‚K4DJJQùõȽ×IJ:⮘¼óàsv‡ j)ÞŠs:Xå¶Jâ_sÐïòWB¢]ð>ÜËUÔM¾!'ŸÍí>}LgI×ÖÙ¨èB§áž@µðñ²íªBÓ3Ÿ¿ÚY>õt:SâÅæ¿âšÔc7f®žM×VR6é¹ÊNx+1[@"Lƒ)V5qˆ[i"ýK_¢ÒÑ™ºóWLí§¡¨ÚcìRŸ%çãs›…!4Q²Ž;¹vŒ±†‚¬,UQcW³¹y‰g²zzûŒ1RS5°˜¼ÙÇJpÀ¹9±+ì|=4pý8 Fk)Îy—o²t‰½¡ª’ÎP·e£iDqµ$yM‚¬ó—ª‡øùŽ3RUÒ4cÅL=¢4·ð$òàÃ=É)qb'±ÝäeT{ÛÚtT°Ø*¨…8Ošs¾¢ ÊF&”× ùèö3ö½#ˆo ¿2¿N~­¡{ä_>û¶>›£å p!/*»˜=߯· TºiÉ6Ä*-ãNx*£N(風Ù|ŒˆY\ÉÍ?ê>úLÔˆÇ"™×Ëš­;sêä2‡Õ,=Kg·…nc”¤í!Õ2ê(ÚÊ /üaTVq­ ©@KMêqa鵈À˯*1e=}…ZÖÔQ»èRT¡èY×6€ ìVZ_sâ…C …ƒ];“0‚° ¥x~|íâê]ÕÈùR l²Â$ªcphÝõ·jR4Œ4(7¤Kµ0¤¨¨@Jþd}Õ†ŠÃ/¨…¸dç¾®‰4m¹ºŒêfµ„@Q@HHr.Æ3ú®8½ÝN•âªäUs£Î¿ZÜ{ «s\܈‚J³Ê¦!O’pQXþe¦DE ej¯Y1:i@Ì*ÈfÈtÆ ßq ]‚Žx± ï_·Ú£~UÉoÕ4øò˜"sy"ÎfäÕS ›uˆ-4QçßÚà­tð¤ug*}Å„P’¢&•ý¬”ƒƒÀ˽pä®¶Ë,²–KH°¿æ­â©›w\µ‰pЀª”–âDE-j}6ƒƒ›ÈbüŠU)ê7y¡„HÓU`f²´ã—g—ó¥Jeǵ0DKK[RJaFø"äëHA’Ä%:gÐ7«GÄ´"ƒ@ ¾5µÎ lF­8¯ÿJ¬ìãlÛ]C]]]]]]£»sߺäsÏëÄìÛá{¯åTUåß;¼5–e>ÝLEÒEåæ[SªÃg˜•D†Dg×VH=æ?gé‰t&µá½Öì"¡.÷gœ¡™¯ÛgÞZ yó)æíºø¯ðÿÓ£9ŸvþÏò=}$?Èï ô³ú{ŠïÞvhýí{ÞgqkîGFÞï4-èÀÑCaKýu,•©5!`­­š†CðNï>²xË•bà—\¾‰9ˆŠXjÆ<ºÿ~µHRJÖ³¨=)2“DOHŽ<õ† €×==´ùd}IøÑ¨ó»¿=´ùÄN«çÿRô¬†S2’s¸8óùõºvƒT²]GôƒÌ»y<–Þ¿]eh?@•€)ö¢_seÏî3)™ùÕ|ˆê–ž«ÝLä1ćì~ >uãQÛ=ŒÞÄÞ-mÏ9ØÒ3Ä™/o¿W±›6TµÉ"&g4qjOvFÚ?<ÊGÄ|—žÉÒ¥÷Q!J¯DÞ—ñ’ üÙ×X¯áú²m{¯»ÐÏ@ Ð\È÷‚¨ *Ëc°ÅŠƒ–†›(vR‘Á9"9yŒ[˃b“„ä†Ìq1Ó•Ç`à”£ïl¸ò¢ÎLBJ‘„ «+*êq}£±köY de¯}zá!uüÖ }:‘Ì\܇ÞÛ};v¯ž­,°´‡[ÉoM~Çém"Sóôz¾ýBÚãXëfÝW´ÿn>¯gײÔ;5F.ý”1²Þ¤†wo¥=Ž =‘]EéÜÇÌÖÑÙΘ&Ê»~½²¯[UWE ”æO^Þ‡IÍP̪¨ÃhzÊÍ* “ë¤!é`‰:\5¼£ÞÓ~úSv gØ´n2 ^‰@QíÀÙ7>Ý0tÙ8D§!¶â=év¡!¢ï…¨¾š'£L%b"FÚ‰=wr˜˜’¦Ž oþŒII@Rî¬Niø?Y½«ái5U¶H)g²0páåK·z†s4Mí'Ol©€Õ—ÕðJÎx$4~ÎBÀ% àˆÛ´† ýví «w—Œä’nãM”oÉZ÷L-t•yt·¶ç̾J.âóA½¯í4Ûi€ ˜¹OGÕnß>¾ŽÁVè¢Ù¸†¬j FjO"=Cg5¼¶¨F*ä¦ÜÊržB%Ôv4@Ôq\=B•"vñƒ“G"S¬·TZ‰àQ~È’àY†±ÏÎïßÛ¶LÑkË{ÒíšÚ…Œ~‰ñ+òÝWdpfæµ—¢®ƒ´¹é{v$’Ç­Ù¹ã÷µ‹º6߬Š3¥$ÖT4~ìRPù¾ hê¢G-SâœÒ"^—1Þ›"Oþ¹}¶þ‹CÛcrøDªš¢l7·°¨£G=z4*2tk{›{分ŒT}síEÞÔ²î£ú4Ý‘-×ݺ÷ÑÝG7Së{Û7Üádî\ès$«a­#Ó -œ\‡+1žå± TJ]~)·Q÷êüja{<&=C õ±Ô¯º~öQuC %ªzw6íý‹¿ã²”‡šëv|(ÇÈŠêšššššš:]Ž™ÔTðªL ½ueˆTÕOBýí¦X«=ʪ·é=év¡Od"ŠB¾]à!â²X,«¶¢àåÍcÛöe¨Žu5¥€'"Ë+PÉ ¨zžð׳:G€àB._ ¸”bNúñèLfIÆÙƒI|³‰&ò–)ŬÇ~ßôgZaW Â0‘˜ò@“òØÃ—_—××=½°}í–øb&®Ë~pçᖴѨ>ØNóÍécñÆöÆ_l[À¨FÖÆuWŽ^©7ÕxG®»Ý áõˆ½?Î)©¬©bd§ýuâ6ÇÈÂHAÆÀÖBáÙ±?o¿¯®+™p4¾äË5)jHÏ#jØ,réü,b}ع´×ùeULNÅ­«OàŽXèØøª3.ä°>Ãæ‰Ú2¶I[ ËØ•ŸªX‰JXÃŒÒÇ"j+rÓïVÐŒºÈÚô^+v¡ß!@üš|aö>îµè³6ϱ7”ÅðÁî.vnó¸LRÕ4n¢ë ?Oo?28|j¿>2{—rwûHJÐ× ¨F³Æˆ.nò ¯•Ó:c{E*·eÊcômžsßì9²rþ.‰ÖuØ ¿i])€Q†x®ª:¾ìO&Në6Üe{9à¿»µ'ÃzÇyÉó•Aví˾ÁHîaHOë^ćoÚ5žÿ‡)Z¼iÙÙ“ Ç·Å–0dÍf.ëfÚkºO[åÁ:p*`Ñ~½!“{æ¤5-EÀ¨Fk‚ŒÁäßö&œ<q¡¨šGQÖ»+€ˆ•âù¹ªÅo»ÆÞoÝØÏmAYO‰ÿðÖsf_ i•QýÝ­‹ï~ 9h]‡»¯rí.ÀkÃ{­Ú…@ ˆ_ ÇÛ5þøñã~ýú‘É?ɾ°(á`æ Ec¿â,4ÎË}>»‰~»÷êà)œ'[½N™l ÿyØýj|1ùÄ)zS®lÜEÊÛ&ߨÄ/Š@ ÈÌÌ455E®@ ßœ_òXCQÅã4Þ!•qA]eÎͳéä¡vÝdÿ=5Z†’rº½¤… ß®@ ¾1¿ä©•Dõ!ÎN_!ÇË:¾nóÓNö‹»Éü‹jüˆ¥ ñÑ¿æŠ h'hE@|?Ї¦@ (@ ŠB@ ~”(Ã0±XŒü…@üjðù|´! @üËQˆ¢¢"“ÉlçVVñs€ãxUU•’’RÇÄêo-¢ÆlĸiK"®ås¿y÷!È;êL§Ó\c¶’5ûq€5nô„Ó¾ôÿ‚ÜCSlVÜgK¹ÍÍÜ3ÃÚûNýµ“iºººïÞ½‹ÅjjjèÁøàóùåååÕÕÕÆÆÆ_•*Ý~˜&‘Sž•ž~ÿäÚ™¹Ü¸´¾åÉ5DÅžö“*ôõÈØwIÿÿ„ØiÄ’Õ )ß/Ì)¼“œ? ôÒs%ôÑÄ/ ¡R©ÆÆÆ C$!Ç!?=D:JP IDAT"‘F£S(_56Êôs Ø8” ®º4Í/1õèw£}»UÜ:¸uÏùôLŠ}¢çZŸ1ú2xݢ!Ç“_•ó(ª=,\|׸ Q%ŠkžE‡…¼õªŒ«ØeˆÓÒu‹Gªf‡;Î>]E_¹¢ËÕão†ï$$]Hø0ÀÂ{V/ö“@‡…‰¢!nã‰ñOjh½Fy¬v4`š¹èJ=\òp€ýûõ?¥LÌÊJØväÊÓ‚ZІÑPÇ%þs͵(¼×ᎳOW\âÙéÊÉëÙõÊ&SÖl[n£ùe_)¬xpdÓŽèÔ\•ž#ÝÖ®vé«DQeú±Í¡gRskå:Ó'/]ï9R—XrÆÍãÅôÅJJ|ZBèáà¿}ÝøÎIJÛû6†}PĦh r^µi™µQTuïÀö—~–ƒ;a-ôò9_V ¦ÖîŠXßRüK×·ÐÄŠà»äLI-¬˜&Ø»cD“@DT&)71+ëBØ–ÃI/ÊDúMð X>NáÚ"ǃ½óë- *ŽusŽyêŒ{Wbó”㻑 OÌñΙ=ûsßóáûŽLzÿǦý—ž³0}‹ÙAóR%6˜vj2¾¥¥WW™ÜZÒÄEtÙvI­ß™"±*%*'.kÃí8/ÿêîf–@Pz3lALüÓr‹«晩%4ÈÙïê]¼þü&S*?÷àôÅüwõ>ÜÔ(ê§9À¦íaƒÎËOžógÒ«rr÷q~;ÖOèL‘dÂ~âñm©»¹ÐÔÔÔÜ?ÕxólË(SSS—S9/÷9šššN\sàÏk›šŽÚxŸÉzú»©é`§5»þصaŽ¥©é0ÏK¥ØlÂúøœzneæq ›€G¬Ú;~#lüν,­a<;¹ÐÒ&à ÇùŽLµñOcáïâœg›ÆN{ÅÅq) šª'Iœû2t¸ÍÏ8ÍêJbn¢š»ëGXõ°˜Yý>%tê°±[3êJ/yXLØõ–‡ã¸°(z¦ÅŒÓ…B‰)Yüüã.fÃìçïJ|œ]ZtÉÃ|t`ÂëRfeέ°ÉÃfÆ•ˆùÇ]FúÜ«ÿ:MXI^mê¢öKI¬J‰â̶Ü.*Ohiiý=ßa¦¦SB’ßW×äßÛ7ÇÜÒçj9ORñÞís´_ߘ)/ç§QkÓ¿0ê š\v55µîÒ{¯êÅIK»ß³%š þ!{ ôŽ øþ“®4m°òÓŽÅæƒ’Æ ‹ç,Ú. ûÝÏ÷·]KœL°ÚÆ­%S"¯^=>¥sËÉÜî>áAžî˶l¢µI'ÒÙ*zz4‰ÖY_Cös‡'b\‹J©·½{Öûøm>°ÙR—b^~Ü—a¼æÏ#;¶DìòéP—“Ëlº7_—x&«§·Ï#5U‹yÁ›}¬”AXz#:SwþŠ©ý4U{Œ]ê3 ä||.'vqòÛM^Fµ·­MgAKL ‘ &ƒÁ«š¸FÄÇ­4iúEˆÖï¶#H¢&|)U#)7qMê±› 3WϦk+)Œô\e'¼•˜«0drïš”ëy|1nÅô˜j£M”˜2› Æt\<Ç2ìÔÉ28îäÚ1Æ ²²TE9Œ]Íý3M²%zµINí—âIªJÉâ‚¶ê£YH´”(oãç9Ò@™ÖÙ|þš©JcÒÞ&w ‚ÚÅpÎâÑTŠJO++A%[ Íÿáøj„µ%L *rõ°Ø*áÓ=Æéª-»œ¹~xÓõÃòFã—nD+¬ èvU!€b·uý€÷:ˆ]‡)Hž\–ëÒ]•²Ú½4*+Šk¥¬ k kˆ]úéR€ `ØO î|`”sq’ª¶"@,« ¸è‹ùš‚:j]jCLCѳ¯Àè£h(7LÒcTVq­È*úª =-Ö !o¶î@@Ì©“ËV³ô,ݺQú¼æÕúÝv$ÕJÖDA¢#$å†1‹+¹ùGÝGŸiPXÄc‘ÌëqÕ!Ž}BÞ(œ'wÿRIß¹V ’˜R€Q:ª‘# ®E^~U‰)ëé+ÔâRWÚ¯‰H’W›z ÝR«Rð^’¸l[õ"ÍR’š¡¦LÃÿ)ZÆ„ÔÒ’b)M¥É*E‡^IÅÈj]TH J°V=€¢ñË!®~t6¥ @sØP£âhx%ç°)ÔUŸŒso^ Ôé2yyX/ç-ñAŠEnÆŽˆ»´mÇ€?,”ª s*…æò„ÚŒ£é9{ ÀˆDiC'ûY ˆ!™•›Q@T×Q"Byc¿þe×§¬G(ËÏ,æ[QÄõ9ÏK¨šê²íX:'*jRÙÏJ98Èa¼Ü Gîj»¸vÖTà?ÈcŠÌå‰8›‘WO5Tl¾ÈTÌ*üÀ1t :âÄ.¼|Ýj?ŽþùUF­ÞíÓ–xŸÏß¶"*IÖDâ›1s[¡©¡Lí5+æO'MˆYÙ }*læØgÛ¡k)·Ê.¢BE‰)y9‡CqUÊÿhÍ ƒ'­;S ìû+&„Jk%ÐD˜×«_VP{¥$Vå C âñÂw­º]ª¥‚Ê7¤`üÒ·˜Zg=þcIMÿx† 2¿º#ïÕ`ÖüÝZ‘A ß^æ±M¿ý¶aµ÷L'ß„j5_ìÚŸ>c¢&T];uáÎÃ;íþmKøþÛ\yîã½þ~^ó–m‹¾÷¶¨Š-PÒÓ13c r÷ø® ‹Ø¸lùø¤\YÕ¶·×åô\¸iõ"ÿÄZPupBÃ$@mæåËUŸ‰ZvîÖòP|lɲ-{vxÜæ€¾ë“ötÔƒqNú/÷[î̌Ù~áY–¢9ÒŤðpè¹åõÕÙWöD<Ñš4ÑPâw/ë…yy‡_Ëerù"Àˆ$B»î 9^¯›kØ7K­‚ëÇ#ÿ8u§ÎhŒßî•teIÛöùŒêξwæäå¼NV #vLëÒæä­‚¥×xò“+)ïå{_¿oÅ`E d 'Mé§ùç§ šô}ê¶A‡§ ”{{áÏS·ªõG.Ú½A/¹vF6p ÝbLjœgg5fÙ%¾¨@Ô¿9Ôâ–9XÛÏ,±Ý´snw‰C?Asl ŸYÖŽé¶Vv®Awô½CË´u—¢ef*›°`òú‡ÜVÅ"¬vj"µ8‚ªM`¸›ì¥5SlF¹ÝÐðŒXI—‚2Ýi€ ˜4¹ŸÂÇáNrÊÏáõJÏ·}G[Ø:ú_”›êe!Œößþ”óO5‘Q|r»ýR«R’¸R[n—b)úù¸ˆNx·Ÿ¶1UoIÄÊ¡J$IDÔãïÖåîz§‘cº,êGmf”4c¥„!íöÛ¿M{¿©‹@ ?2ìŒ@‡…‰˜ÃÁ„ƒä;ˆÿh.@ ŠB@üJ @ ÿh.@ ŠB@ (@ E!@ P‚@ ¢@ ( A ˆo ;#p´Óþwüo˜¥¸*qÞ°ñ»Þò‘w… ÄÿŒH!ɲèâŠBÄO+uù¨¹Çÿ_4Ñ’>ÔÎeÕñgL1ÎË¿²cáăét3ë)~QOjÅ ¬xpÐ×ÙÆŒn>zæú3/>Hpöëc6I ¡4qãö®Å­µŸ{f‘키Ĭ¬¿‚ÝÆYÐéÃÆºo¹˜ËÁ1¹.ý»õÑ –ÝÞí=ÉŠN§›[~³LÔÍùÙûF¿ÑÕÎyÛ1/ ö‚¨2=ÊošÝPºÙHG¯])E|@$Q– £F„@Q@|u òrß þÔ]ñÉgƒG”\¾ùN¨2yÓïÉÚ‹ÿHHIŠþ>*,©L,*¾°zåß4÷ÈËI§7X•ì÷Ûùôã'BqNÖiï5ÿCöZ$KäǬXw]ÇëèÕ¤c^ê {3qœ™¶uÉî"«à¸”ëgVõyºuÉ®§lr·Ù!«ãi!ËÎLLNˆœ‰]ø}ÏSv;4—ˆK“"Tæn™n@i)%(MX¿â4îãÊA­ë~'ßóë$) –¤0ŠC¿˜¡äñxwn&ÔÖ2›Ý’‘‘éfØÃÒÚVFFF‚¤  Îß?Žñéo9>#§/š9\‹,± ÎÓïÆ›·OÒ&~¾(b\\½öÅÌýkM*Ï®|?oßÊþè»™Äû|Cµðñ²íª„ùüÕΗ=N§3÷XÇ™)k©Ë[HU”ÃØÕln^Ê™¬žÞÛÇ©Àb^ðfÝwÊ€Î͉]}!ËbÏÅq:ŒÖRœó>1.ßdén{CU u[6úœg>ˆ«SÝT˜y|6]› 0Òs•ÝÕ ‰Ù¾ûiª‹D&* ¦¸‡‰kDüXU¶=š¯…`:.žc ȬT¬…TZ–ut¦îü¸©ý4ˆ 1v©Ï¥I»ãs'm©€¸FŠÂ²¨!PÒ”×®(*)9M®¨¤Ôònʵ+ÏŸ>¦1—VÁÜ­ë-U0\ĩʾqdמªÝ6OÔîø:-QeðŒùÆ](¨îˆ¸gQé¦%‹E˸žÊ¨Ç…¥×"/¿ªÄ”õôjq @XSPGí¢Km˜“¥èY×6€ ìVZ_sâ…C …ƒ];“0‚° ¥x~|íâê]ÕÈù bWróº>ÓpYÄc‘ÌëV>äÍÖˆ9ur™Ãj–ž¥³ÛB·1J”65¯ûbÝÿ´f„Q:ª‘¥HÕQ´ ”¥0ªŽ«¸VV‚X+ #?ÿKû“æç}n5Rbƒ‡š¿{ûVº4F¤*))))ÑT4»žäÜŸœÿ´‚üèe w¿ä~œ2ñõˆxÁ\X•~,ÐsÖ4W÷å!çž3›ü"EÌŒè#—óù ªÎŒÛ¶ÜÝuÚÌ…«w%¾c¡9LâAXÃà6ü"¥Yå@SçßÚàMqÝq2îÌ‘]3Œå0’¢&•]XÚ¸ ‚—{áÀñUb k¹„ûoXe–»ÇÕ21€¸*¥¥8QQ‹Z_ÀhçW|¨5”©½VÄ\OIIIII¹ž}âàJS*€˜Uøcèt$ñî­S¾F·úxÍkSs y".n >•ùÕ½€I“ÒÖÖQà—ä5ö]8›‘WOÕRàJP ……4„ [¹«¨¨Äæ°Ú“Î)LOyÃSÖW#KMÃ/¹|s8±ÔŒy>tÿýjq‹4¢²äð°EÇß"m_lZ~fûŸ¯¹¨Bˆ1ûvøÞk9UUù÷oe™OBrEdEšã—¥ŸŠJcrÙ|’Á8'ý—{÷^Í­aWfÆl ¿ð,KŒ"/C t²]±¤gFxÄÝj1à‚–âÃI“užíÙw-—YW’~bïõAmø ³’ÈèŒâÚê©Çüç,=‘'lˆê…yy‡_Ëerù"Àˆ$BÛš›©É«É2Ÿ]»ŸÏâUfœŠ¼W+n‡½ÃŒm\L ‡ž{Q^_}eOÄ­I»ò%(@P•¨°¸æeJâ­¬:1jLˆŸš¬ˆˆ¤@s`‘Ë)™¸¬rîJ¡´àHnÈ3]y NY0úΆ+/j½š?±”ÜIü`0ÝßR_ƒAŽK}5óqC•Š@üëÈèLrÀ£—Œ_W)ÛÍÊ#,ÀZM‰»Ò3y­ïèr§çÏö²ßë¿}ÄÙU¡[j‚ÃçÙ°»Ùxìð@…ÏO$݉kÝÏÍÜv #vµ$ñ¸•¡¿Uý¶s–íFUúT7gƒw/H‚ªM`xÙ¶mk¦„W᪽ì=#VÒåúͱ~O7ì˜n»^DV5¶óYd,Ó¦æªdãïvsÃz§ ²Í¦.^Ôo× h‡aüæÐò-¡Ë¶×ÊéÒ7íœÛ]ެ+ALF’¼—BÓc†)¢õgÄÏ ÞnN=ø• øù±K]ýο-a0ŒÒ²ªzøã¼3>»^p“E/[°ó9‡ýd››OL>¿!‰˜y'`–ßß…ñþn[2ظ è¯åîÛŸ²¹¯ö.ð8ð†‹#ˆ‹ú{¾#£Þó¿{A¼¢» ·Þ³úNæ¶±£6ëèº)‰ˆˆ \ûuÔ˜=rQ¡ØÉ¯ÏäàF†Lf…¡Ûwš0N¾jÃÔeJ‰Cóžãû»á "ïÉÇ‹O}ü¬‰1píùãÖž?þ»#ÿçæ ðÁaž_©Ò¾ÝÛ»}Ùûï4xî .a˜™›çædWöijò#kªé Î…Ê®]¾¨P”èýÔÊÆÖ­¡§ØÏÚ€·BÞ"|©B))BB))BB))B))BB))BÞ¿RrcÙ ÀÀ>?ý)c_ßP•¸fÄè J‰H“ºë›àרR^õ›jKäOÖÍ*ºq¾´0B±´é§vÁ3Ô:ºýç)ïϺU\œ•ß>zuv5H<›÷ѧæÕË?\Óf}BÔ`Kü‡SȃEcø™µ[tH ‰¢²3 ±,iJÇF§ݺïØI—FÍô-ÍÊâÜ4h÷C°ÁÊiÇ.å´édÅ-Ë6ùñ{Ö¬?—¦2vöí>xp'gÙÁÙs#sKhúÿЦ,fzuÛº{ÛÅÍ»³Î¬%ꈴÙÇ~øæ¨oè‚ö\ţȈ°Ý1I¹ZS×¶_ ÐÆAÈ`³ÔopE&ûÆ%Ϧ̓{¥‰—Õ —Õ WÔ W4‰—K¯¨Ó’Ì?ûzǦ bC】õ,¬Ë‹=rÏ¿]§ííROÄdjË2HV䢅§Œ¾˜±:,t¸Oöï¡îhìºLÒÎÜ*àÇÅ£ÜEφiÚ¸]ùå OÔD¤Í½r*Í¡C + ›³9«éèEëÄÔM ›³)AÁb«|`)DÍ«-eŽŽV§)ûŸN«aFåÜdãÆ*ui¿YKô.«Í¾p<µÖç-m¸\+?ÿÚY‘Q©j"Ò¤Ÿ;ü¨öW}[9™Hí½¿óM¿¦F¬ÞÁ˜xµ¯[xáÂ5is®œÉ¨íßÜ’ËÆí½lÐ9¤‹»¥ÄÈÞ·w°ŸærTr)¶*@MðWdÔ,Cž¼Ž¯4ÜÛ2Z5K,Ãhê5ß°û@¬°…[‘¡‘¾E5éçŽ?,Iÿmlÿõ ±ÚRµ6ïLruXyF±ØÖZ\v …oíÓÆšˆH¥7†x¶«ûÛÎK_ˆâÏf×ëÚÔŒCÚ¢¬UúS‡*ë@§Vò+tتZ Ñcë²zùj©´·Ïy·¢X–ÑÔÿhãÞƒ™Y=zôP§Ü­dɔӧsê ï'eˆˆ-¼°pÊž“÷{שk`.R$æ(ÙúB†¨45òXËŽ]¼Dú:a¤žíëþ¶óüMþ•<·@/c†ˆk`n$ré¼ðçæ"Ò)2’sv"lU€šà ®È”² «Ñ(•ªŒÌ¬{kÜZj¶Ü¸÷pFf–_SŸF6Ò¬Äx½ ªœ#üF±òîæyçˆ}ºöêö‘eæÅíó—Eç©s£–ü¸áÜ#ï€.­ ¯ïû%ô@ªšˆˆ´·6†ŸÍä›W<¥¡ˆ?pÇ¢mÏΞÌý³a³~‹WÙø;¼‘Hä3bÚW.‚-uWÎXyìV‰SÛnÞ†©—v̾9QñôSí­‡³l¼<íH–tdõÖ%¶>@ :R~ICKC"™"ýúÞèt2l3|xow±Ú³4qÒ¨ý7{tÊSK|3·ŽÃ¼›§åsl¹Y1n¨É±ÿÄ1­9žö[NfQQ)KDDæf,ÔЀÑ<ùãÕ5Õê;qdgk®²¡rì´1ûo œÚÄÚˆKÄ1´±3æ>o§Í9¿ûb Yvÿáû>Î|¶KƒÒQ cϽ4€ˆˆœÿü“¿›YwÒ˜ É)©r»7çÔÀ¢)Î.""‘D•SBDgg 8ûü³œ4MÃàoznÞvøüî5çw‰k·é;ÜÍ0£ˆoå`Ì%"IýîCëQ郋DĵoTÛ@ÿBÛZÆ\"Zº˜ägéôH+Ïqíê[ó‰ˆ1ptµ Ø´ìüRÖ€ˆˆkb)á±±Z–Åæ¨)„-¼uü¢ŒÈ¼±—SÖaº/j3vB';«Êyø KmâÎ’N.þßü:R’uûòé]ým]ƒÞ†D²¬”mc1§èöžM'³¬ýƒ—SÙÝ¥ªäĵ—#¯$åv&×ÔÊCyúrlŒˆòÒ³Ô>µùlIÊÝ"±¹‰÷­ÔüRzwïÚÑU~òøÇÅ$lÜ»S÷œOÍ/‰9iõ±EÞÅ‘I:¯ ßÑ IDAT=o¯Z°é‘¸^ëÞ6:™RK$±¶ªÕòs·aw6Ï[’ÛT”tòl’ªÞ€^¢*3BúÎgg45N>w±ˆ¤Ÿt÷2dž€K$¿uǪÁ‹bá×£Ù¶Å—÷Ι[Ô¶¶"îX¬Šì¾èæ*¦4lh€.DvëϳDĈLí=Ûö úȂ˘÷™:–¶ٵY!0oÐnÈ þm­ÅÚ ßÉ×m<¿»šø&Î- ö0’4üvjɺ ‡cPKì}zõÚÑ–û¸ŠUøµQG»˜/vi3hÄ  C¬ã'þõ/íNŒÜ¡u]“ç-9¦~£fز~OÌ©}7y¦N¾}usR)¶3Àû‡aßãÛ#”·—˜yŽÚÌZ=ÊMˆmðaÁ—D)þKÞë+2ðù@ ¤¤@ @ €šî žà®R©RRRŠ‹‹5 ðáÿvàñŒíííªïBuŸ¢T*-,, ¸\. ðÁÓh4EEE 6äñx(ük)$))ÉÐÐP*•òx<†aP8€˲&''‡eY'''Þºêþ}#—Ëmmm—ËE ø¤‡#•J?~ŒjÀ»PÝ»SY–EøOa†ËåŠÅbµZjÀ¿™BÊ~%!‚üׂþÕÀ{‘BB))BþÙÂFO µõQ¹oö±ÅWö ¼&QUé‚êì+;Nöu```ÐÀ‘?,ß³@[icmÆïͽ¦x釚Ô]ß/¸®ø'ª¦w/¨׌½áAé[Uk$"R\›;軃™Úª†¤á¸ùÁã÷¥kñ/âMTUÕ÷«[€>…1ÄäDŸM~þ;”-º}"^Iôš¯û•>Ü5gá ]›1¡¿mˆX5{H3ù¾ù ަ¿Ñëj¸¦Íú„tªõž½ïâýÀû༂oéçE—N= ªã*$"¶ðæ‰ûÖ­æÜ$"åí•c³ß,å."Ò¤ý1aÊÕ®‹gµeÄgš´ëïaË'"‡&]†L¿Ÿ£bmyŒ:ëâÖU›"oçðì¼?ûTý§ËÔYMõ-]ݶîÞoSA^ì¶•Çã3|37ÿqýš™½üâ¶4ýÏ-k¶¹“¥ ;ï.ÃFõp3d^:ñ0å§ä.=˜}[“šL›×ƒÎE„íŽIÊÕšº¶ýjø€6¼×tÕUzzöÜÈÜšþ¿¢) ‡™>•X[pcïÚõ‡¯¥‹lÜ?í;4Èך“}ø‡I½ OìŒJÈá8µ8~hžžá‰õ–šU¥EoZ½õLb¾Ð±YG¿b]u†4ª!§bÿ\"V“w)búÑÓ ùû&Áû{J9ú ¥Ó[^Vñ(ò•* Ë—4ëð3n·êÀœ:t%Mg×¢ß`ßôíOÜÎfí[ž2¼µOßFW»>†Œ&çÊï+"NÜκ´þ²UÖÎ í—Ìja¨¬0*^vU#Ñ7^ő׻üs¹ªº‹ÊͶb‰Ôz÷üOL ^miœy üÆr*þÊþ³çBHàк…àjä}%+»qò‘}{oS‘ȹÅG?V‘&óBT^ÿÆfƨ~s§‚£Ë—ý~*>9¿”%®E«“zJR§ìŸ¿ì¢E¯YkÂC‡¸&ìˆÎ¬ò!ŽÅ×ןv›¾*|ÕôΜÈÕ[”¯» .¬^}Á2pæªõa G7IÛ“«{¥]^̦³ÆÝÆÛÉøVØœÍYMG/Z¾ ¤nbØœM ö5]ÉlºLÒÎÜ*àÇÅåLÚܨ¥ ³&ýº~ÍÌ^–…HU‘6ï¶ø:C ›ÝÃàÂÆw•Õ^ÕÃ]óV^µ š>?¤Îíýw,‘®ª!UÖiú‘3LÀÔUáKÆøÊþøeå…|­¾–zËËÊã^S¥g¸|ªÄÚʵ³»‹bÖÌÜ# š»víŒÏ91Û§¨+Ý(Õ¬&ýÈ‚¥¬‚æ¬ ›dµå–œ­dTU¤²¥^É3½º’=Pÿž¯§%Ïî¥õ—¦ð_N!ijmÑZr=2IA¤+ˆ;™âÔ¡‘ôéŠÄ.m=´qÑÉ*Ҥǜ+põ÷2aˆøÝf-™ÒÙQ»ó—o|=lâÜðc 2-Qéã“'s=ôoíl"±h0¨³uÕ¯óåpyŒFž“SÄJ];M^±h«ð•FÞcÍÜÊÙL,Š%BFY¨|õ0Ï’U§aA­:poí»lÐ9¤‹»¥ÄÈÞ·w°ŸærÔ‹«MÕéêé!øÒá»Ö=ú»šK¤N-ûöky&UMD\›=[9ˆR—æ~6š|…®Ú}ª<[è5 k'i¹â0U.^IޏyÿÞ¾öFF6M¾ü™äæÑ›rC=-õ•—-ŒÛûº*•ÖíÚÙÃDhääÝÈJäÞ£Sc¡I½f¦™RWy%«UUÚéãéõúôiá(5´jÔ½_ #.‘®ÒQ½n$•Ï¥âHÞdÔ»çWµ¯²i øµ5Æ»9wË·ù¨tƉ„↵®F¦»tö4æÄ>ýH\§­»zmLjðJtaý¾Æ «--% vží‰UË\<¼5|æÌÂÐÐÎòŒÃZÖ¢²sû|³Úæ¼KU­\ì9túÐ#̱Haíãß½W÷V†üò F›q~Óòs÷eŒ±µ¸˜ÕwÇŠÀÔÁ„G¤)Ê*P¥ÿ1uÈ¡²F:µ’×X¡}£®ˆˆtÅ9%| {ã²ň,í%Ь"-ñ¤vÒ§?å0oÖgI®Ê¨Bqª\¼²<G ÁÓ¾,œÍ9qù V›[¡¥¾ò2z«ôêÑ"bË^štåîV}4…éEb[«g¥0µ—òÒIWé¶{ÝH´•.Ua$o¶êÛó«ÚWµi ÿñB\ËæŸ˜8qó±×©¬º=Ü ™ä¿¢ë¶uS®‹¾Â\-j8ÀÝ!"Eüâ«Í¾_6¤¾ˆáKë´ì”pzúõÇ%]­LòäL%[›Ï©ó“ó«¼c•Ud¦©ju5»çhefܾ%‹BUvKƒë¾¸?”•]Z¾à°ùÈYó}mDŒâú‚Ñzÿ å0DÄ507¹t^øsséÉ9;qiÊ›tED‰¹:þ‰\ÛXÌ%b•9OJDŽnÙQõ¥CÇôih%~©8y"]U‹WÚ¿¦ %§”uä3Dê܇y$µÐ^©ØRoy™ë«’è v˜×̺:õáJ,Ä%É9*¶ž!R<‘iˆ8½ÛNóäõ»®A¥KUó…*•í÷üJZVk0‚wõ¼®E³öÖ [#öç4ðo )ÿË›1pmÛ@~týÑ"ÏO?×mï­9¹ä×}±÷Ós ò2îß³)JáÚÒÕPX»]KÃë¢æË³oZ¿¿êï’²Å7#~š½á|ª\©Ö2 ‡ûÊ$YµJË—ðIwãОër•BÍVÒcÒ$À3{ÇoGîd¦Åí òóþ'Z¦Ê®X²´ü¹®¹oG׌Ý'’òK “£·lºcñé'Ž|½¨îð„NíÚšÄ?+ÎÁõ3´L5†TYâÒÆmSd²ô«»Ö/õíê)ÑTl©ÓWÞ*ªT­Cwµ7о–|ÇOÛY%nùý|ª¼8ûÆþ­çåZ"ŽTߨªˆþ¹T>îW6ôköÀŠ{~åûêÓnßp08ò,Þ˜z·w [‘Übš«„!åK1¤~[7îåÄ&í] žþÄÈ{øìq»6Ú8oGºLÍ7´®çÛûû¾þÖ\¢º‡¯Ú2uØJ¡Có€îõjÅæ­G HX¾nBÈR-OêüQŸo_ú¢,#mÜûââyCŽðÌœ¼?ïä½akèºfK†5ê;(I›˜˜÷[ø¢qd¬Ô¥EïÉÁîbÊ|mW‹zy¹ >F9}Ù(³ç±¬íØ ùk×ϱ®HhíÞ~ìÄnµø”¥o…úúôžlW±©Àé‹I#å+·L¶’ïàÛµ_ÛìHâT9¤±úx $×~µf\T(vòë39¸‘‘²bˈ¦óô”—è«Ò¨dÖß;V³e³Åƒ&Œ­Ø0)¤XêþY÷Ïì%ñ8½Û.»Ê¡T{)¾åóªŽóW¹VØó+i©+ßí_™@MÁ°,[v±±±^^^|>ÿm¬TqkÅØeÜo—w½á‚׿ŽÜâ9o~unR…ÿuÖµ ÉVÍ|ìE ‘*)ü›PŘ_G7¾gÃüË{þ¿Z[µ:>>ÞÇÇ»¼ýSÿðúXµ<÷þ™]—ø~í]D(?¼µã{âî_W{P²ÊÔs{þTº6w|¿‡= ¢úùFª»¿Ÿgé?ü !ªo ¿V÷ÿõÉ^1oØŽŽÄ®Q·‰ƒ}ŒÞ¯ï‹`Ϩè_¹"5®ÈÀ»ƒwêR … …RRÔtïây!¬üÚoK>ÐKtè»ÿm+÷â-®‘£OÀ ¡Ý=Œµ7›t çùÏm]› ÐÁÅ€!ŵ¹!s¯=iÀ̵ÍW#´±[=}ð²DËî¡KúÔ~ö•a¶øê¢ó. Úý´bX}!©³¯ü±qGdÜ£|ÇÀ¢ŽOǯ¾ð0á²%·"Ç}ümŸúâ·ÿ‰ê>ÑU›uxòÄ«A+§ú¼ø¡&u×wÓZ1¡‘ø-ëEÏœÄ5ß,MX4ÀE w J QÝÛ³=ï“É.BzBÄuøjδv\"VSœym×Â5¿„;¯øÆƒˆ¸u†ü2¹¹iyÉ7#·®›òCΜ¹_Õ%"®a‹ñóÕ’®´0å¦E+˜¸„öräCLNôÙäžµë”=“-º}"^ITö ¨Ò‡»æ,õãvŸ¼•'plÚmèÐÎõØJúyº–ô}¾‹ùlÉÜÏ,µ)Û¿¿[r7áñìºLÒÎÜ*àÇÅ£ÜEUŽ Æž )M»–"qs|~÷…æñúQ_­þ±¨Éˆ….BRW\’kh&Re”èˆKÚÂÓÓ¿>ýüƒ:½g5·à•éy¶-ZKæF&)z âN¦8ù•Æî(kÊwè6kIè³çcwþ²é^žÀÑÝ·Ý=Û7r‰ˆcT»|–Úé’¿ý¼Ç,ò4²4² ­X"d”…J ˆ¸6z¶rsÉ¥¹ŸÍ®Ë Å£?Ïz…ôoídÄ4`PçÈI—^ w\£ÉÏÉ)b\;M^ÑJ-éˆˆïØµwK{1—œ›6µÚ¯Ð’´ÜR"ï~A~ö† 5îânÆáÅÝõôS߯ÇStúR²Ò£46Ç©Ë'òè+©*’Ëéæ¾,¸±ú§Yq B ÑÈÒKÄn†ÏOvpízNŸÔÆŒCDÚ’'7/Y·:¦ñ­ õœ))ÊW M 8¤"®¤ùèûÕ‘¶$ãú+gͤy?éðìÈûQéŒ Å k]LwéìiÌyz¸eµ¥¥dáÑ.г] ±jÙƒ‹‡·†ÏœYÚ«Ÿˆch)*¾-ÓéO! £Í8¿iù¹û2ÆØÚN\Ì>‹R<©´lF ‡!"]I®Ê¨–µ¨ìs¾YmsÞ+)Dì9túÐ#̱Haíãß½W÷V†|""ž‰­qù®^bR áÓN-œÍØk9º†•ô󌰖_6,.9¹4Ÿٗ-Ó¢×ŧ<,x,öúÒºÒË,¯À?æ]S—áYXY[[[[[Û97éØÍ‹—r;KÏ™Vâ–ÖÙÛ^HDÄ50{¾P£ö_¶5M»rWþüÞ ®eóOÌNÜ||ùTVÝî†Ï¤ŠøÅCÇ®»«zºfi–=‚Zg\\R7ö±²KËæþÝüÅ ~š2<ÀYļÈ'/­9†Vbyr¦²¬Wu~rÞ+÷²ŠÌ4U­Ž£f¯Þ¼!ôk§›a¡Ûï—êëé• &KÉQ•uªÉ}”GF¦”SI?/Î.9ì\s›­çn_»©calÌŸwtn~•¿¸õµc¨±)„'µ1PfUr’ŸÃqJrŸ~Êj•ÅÅÅÅÅ…9)·ÎDÌ[qÕ¬S1CD¤S+Š‹Ÿ~øàüáè©k-É‹¡r-šµ·Nر?§É‹Cª¸n{oÍÉ%¿î‹½Ÿž[—qïüžMQ ×–®eAEWœ£”ØóH'¿wñÜåGůdV­Òò%†|RçÝ8´çº\¥Pë/B§vmMâ#6D=Ì—gß:¸þ`†öåã:[|3â§ÙΧʕj-Ãq¸Õ)´Ny%â÷ó)2Yúµ]aÇJîÁ«²ÆÐµ…}ƱcYÞvB‰KSË”C‘ùu?®-zene©»;¼WÞö½·cÑñTko¤çnž‰ƒqéå³7dVDš{kƯ!"âÙº6í7§¿C "mQôÜáÑÏ"‡Ô¹EðÄ ºB¢ç·QrL½Û;†­Hn1ÍUÂÐó6#ïá³ÇíÚ|hã¼é25ßкžoïïûú—=ǃ•?º[êhÍ'õ£³á˯¶]趤Üe FÚ,¸÷ÅÅó†á™9yÞ5È{ÃÖÐuÞß;ꙥÓ“FÊWn™6l%ßÁ·k¿¶Ù‘/§-óÖ#$,_7!d©–'uþ¨Ï·Îª2¬>m£;<{ä™ÐÁ§çÄaÍL Õzúy%†»ùÙS"×ÛILAƒÆôØâãºe_Q*÷ôrþ:}Œrú²ÑVØçà}Á°lu®VPll¬——Ÿ_åw:Ù‹¿L‹iÿó7M$ï×yV3oæµ€9#½ Ò¤Zï=¬“-÷½Ÿ"nþÈ õf/èaÏÃn ïµZïããƒRÀ[÷Öï aŒwk’q=†‚U$¼èüugG>×¢yÏ>f!ÿ¦·~E>(¸"ïÞ© H!€€H!H!€ò–°¥Y×ö­˜6&¤o```ßq?†¹#+{¹*qÍ~s®–¼h¬~üûè>SN糬ìÜÔ>#6=|õýxªÄ5#FoxPúFCÐfønÐÜkŠj4ýKýWNqmî ïfj«j§IÝõMð‚늿òé_3[=-00pÔÖGåªÌ_]Ø?0pðšÄÊ £Î¾²cáÄa_ ùÃòý7 ^ÌP[pëÀŠ™ã‡÷ ì2vJè–˜´§oT\_0 xùmå[(]USVÄÍ¿/]‹ßÿŽ÷äiášÌÈ_&®½_§k¿±ëÛIÔwÎ수5=kÆÜþnØJÏpM›õ iPKðW>ý[br¢Ï&÷¬]§¬w¶èö‰x%Qå/î¥Ò‡»æ,\oÿŠŒ6ï¶ø:C ›ÝÃàÂÆw•Úܨ¥ ³&ýº~ÍÌ^–…H}éŠâþ™[<¿ÀÖÖå~[3 zOœT_ü’•]—©SÚ™[ü¸x”»HïÚ_?¤âëáËO »M_¾jzgNäê- Ê7ìÿ¥ƒfÁ…Õ«/XÎ\µ>láè&i{"bruª‡»æ­¼j4',|~HÛûï*Ê.Ghs/Ÿ*ñŸ¶ríì53÷ƒæ®];ãsNÌöã)ê*êüºñ¿n¡[©ŽÔvüQªû›ïæÕ»v™Œô éùñOì9túÐ#̱Haíãß½W÷V†ü7é¿üìˆa´ç7-?w_Æ[Û‰‹Y†HW’«2ªe-*;ÜðÍj›ó.=m-00DÄ0†'•/du~¡ªñk‹² TéLr¨l9ZÉk¬Ð‘À´B:x†oóQéŒ Å k]Lwéìỉ}¶¾:mÝÕkcRƒ„W¢ ë÷õ0fˆXmi)Yx´ ôlH¬Zöàâá­á3g††ö447d Ó 4dZ~P¬27[eXϘG…¯ß zK§¯È/‡œJðL-Oû²p6çÄå+Xmn…–úJÊè-£°Šâëßaª(>RHµ1ÌK‡ŽÄÜ@ÿD®m,æ±Êœ'%"GIù‹ë´ª¯Y»ÿbNö\âˆM-ÅÄ*“NÞÍ×xG`À×ËT,<íXS˜UÄŠD<"]•'{ô­ÝXªoHÏNG°ŠÌ4U­Ž£f÷­ÌŒÛ·dQ¨Ênip]Aõû/?;Vviù‚Ãæ#gÍ÷µ1Šë FGq ­ÄòäL%[›Ï©ó“ó4»Î/Ö¨üå΢˜‰\:/ü¹ƒ9‡ˆtŠŒä¸4…ˆÃ©ôïp®eóOÌœ¸ùØëTVÝî†Lò‹ X·­›r]ôæjQÃî† )âXmöý²!õ…D _Z§e „ÓÓ¯?.éù±{+§(/Ïå”IDAT°í»®ŒÿÈ”C¤Í»¼ç”¦iý»;ïšø °çW‘Bô–N§¯È/Õ¤²š‚”œRÖ‘Ï©sæ‘ÔB{¥bK½%d®§Œ¶læã×î<úw.Ñk‹ðaú¾©Ë5÷íèš±;âDR~Iarô–Mw,>ýıüŸ‡S¿à¯ê&®ú~îÖ¨[3s³ß<½qþ²˜R‡ˆˆoײµíà ˶ŸOJÏÍÏzwhÍÊnóŽn’×ýÒf5ÊR]%k¯m£oHÏŽlñ͈Ÿfo8Ÿ*Wªµ CÄárÞ¬ÿ—fǪUZ¾ÄЀO꼇ö\—«jS»¶&ñ¢æË³o\0Cûö@•ÿ阓&žÙ;~;r'»¨0-no蔟÷?©z\‹fí­¶FìÏiàßà¥Ú3®mÈ®?ZäÙáé'âºí½5'—üº/ö~znA^ƽó{6E)\[º2\«O‡õv¼¾ä‡…»ÏßIÎÊ“)rÎ.žôÓ!e›¡_¸<ýŽFQüB‰ªÜe¡ÞÒé+2[nÊ•6Ð).mÜv1E&K¿ºkíñRß®žMÅ–:}%Õ[FMI;þF€_E€s!ï*†X´;!íúy#Ö ­ÝÛØ­Ö+8øöŸÿ°ÔñÀÆ»L— ­\¶è1m6­ŸGD$tî5u²xËöMsöæ”脦µ<ÚŒûñK_Uv¹†oéå.üuúåôeã<ô¬Kú†”ñ4™·1 aùº !Kµ<©óG}¾ t¼YÿåÐÒfÁ½/.ž7äÏÌÉûó®AÞ¶†®k¶xऑò•[¦ [ÉwðíÚ¯mväÛK–úǯ+?ææ#&æý¾hÜ+uiÑ{r°»˜2«ìØÔ»½cØŠäÓ\% )_Š!õÛºq/'6iïúô‹ÕŒ‘÷ðÙãvm>´qÞŽt™šoh]Ï·÷÷}˾%¬Ý}Æò:‡6ïÚ±doZ¾J`âÔ¬S7Þõ“›÷´©ûµ3‘¶øüüçŸ÷nÐrÆê±î¢§ÿ%pú¢Bé8ú‹¼¨×ó)Õ×Àc ¸öë¨=0{ä¢B±“_ŸÉÁŒ ”[F4§§¤Œ b%¢zUì<úÿ9dàwü1,[­/bcc½¼¼ø||ôRÜZ1v÷Û¥ÃÝDõŽ"-!Û¤A- .K¼_Ôju||¼Jožà«–çÞ?³ë߯½‹è¯wÈíÝAþSpO>ü]ª»¿Ÿgé?ü !ªH!ðϹZ³e€7†+2€H!H!€€ò7(®ÍôÝÁLýïnU%®1zÃÒb U­K“ºë›à×ïf¦¯Y]¹i³O8;¶äí €ßÔ}ŸqM›õ iPKð¯Nó~ BªE›uø‡·[u`Nº’¦³kÑo°oúö'ng³ö­OÞÚŠÇ–¦ÿ¹eͶ3w²d`çÝeبnâìÃ?ÌH èmxbgTBÇ©õÀñCÛØðô´4d49W~_qâv®Ð¥õ—­²v^h¿dV Cå£Èˆ°Ý1I¹ZS×¶_ ÐÆAXþ!œ¬*-zÓê­gó…ŽÍ:ú눈*ޤ«ôô칑¹%4ýESŽjÈÑ7€—¦›¿gÍú#qi*cgßîƒwª'aH[pcïÚõ‡¯¥‹lÜ?í;4ÈךSq‚Áõ.ÿ\źD²«ÛÖÝàía,×W>«¨8kÒ7ÓãMß7ỘϖÌýÌR›²ýÛñ»ÅƒVÌídɦî?éj§É>Ç×=àeúb`Ã-‰ØÒô³«¦ì‹¹ŸÏ«ÕzÀwCÛZT10ü³€jyûWd´¹—O•øO[¹vvwQÌš™{„As×®ñ9'fûñ5±V¯¾`8sÕú°…£›¤í‰ˆÉÕ‘6ï¶ø:C ›ÝÃàÂÆw•z[jÒ,XzÁ*hÎÚ°9A¦Q[nÉY"V6gsVÓыև/©›6gS‚¢üÛqTwÍ[yÕ&hNXøü:·÷ßU°DºŠýËlºLÒÎÜ*àÇÅ£ÜE• µ\äŠ\´ð”Ñ3V‡…÷Éþ=tÃ%is£–.8Ìv˜ôëú53{Y\Xz U­g‚ÌÞl]ë£oÖzgZî$†Eã¦f—³:yÒ|†Òb”°:YâÕ\›ÜM8DD<»ò#"R$ì»Ûpôâu¿ÍùRrqóî{ª× ÿ¨à_K!$¬Ûµ³‡‰ÐÈÉ»‘•ȽG§ÆB“zÍ»ÂÁ“ÚI_jª¯¥¦0½Hlk%*[ˆoj/奓®(«@•þÇÔ!‡Ê~¬S+yË u%¹*£ZÖÏ–2«mλôš‘<ŸG ´òŒb±­µøi·Ö>m¬‰ÔsJøöÆO§"²´—(²Š´ú&ø&몸¸V߬‹ ÕzfúRD¬å×€ ‹KN.M1nöeË´èuñ) ‹½¾´®ôB ÏÄÖ¸Ò‘¿~^ÿl yVviù‚Ãæ#gÍ÷µ1Šë FG¼83U¶äJ,Ä%É9*¶ž!R<‘iˆ8s#‘Kç…?w0ç‘N‘‘œ#°+÷rWŽ¡•Xžœ©dkó"u~rž†HWùHªêÓn ÌEŠÄ%[_È•¦FþkÙñssuü¹¶±˜KÄ*sž”ˆ%\=|£uU\œk gÖæÊ?*Îôe"ç‹·GÇpÙzCíkÛ:îŽù³Tç6ÄAHù•ÅJæµé¢Š*óOS—U«´|‰¡ŸÔy7í¹.W)Ôlµ[ò?mg•¸å÷ó©òâìû·ž—k‰8Ò&žÙ;~;r'»¨0-no蔟÷?Ñ–;2 Úµ5‰Øõ0_ž}ëàúƒZæ5#a5ÊR]5†Ê·oÕÁîÞÖ­¦È‰GÂ6F>á øæ¾]3vGœHÊ/)LŽÞ²éŽÅ§Ÿ8Vzš¡ºëÒsì7Ñ3kžÞ™¾¼œ¡k ûŒcDz¼í„—¦–)‡"óë~\[¤`L a¤Í‚{;]™7¤_ðØÐ3ÂÏ‚¼µGB×%¨ªÛò¾e— #¼S7L 6cªÕgöB.Ñ61±»ðì¢qÁƒ¿[qɼ÷ä`wqù¾N_Léñû´aƒ'†?ðì×ÖšGý#ÑYz¹ £¦YzSYåPyö&Œû8gûÔÃæ•ößßML\‹¶c'tbÍ1pÈ´Ù~c'v«UIá¿ÁºôHϬõÍôÕåŒÝüì‰l½ÄÄ1iÐØ‚¸.×5`ô €w X–­N»ØØX///>ÿ_þ¦:ëÚ…d«f>ö"†H•þM¨b̯£ ±!ÞÕ?:µ:>>ÞÇÇ¥€š~.äoS$îþuõ±%,«L=·çO¥ksG<<  FªaÏNå×êþ¿>Ù+æ ÛQ‘Ø5ê6q°î@ ù0"'ÿ1¡þØp5Þ© H!€€H!H!€ò2U⚣7<(%"mÖá gÇ–üî׿úî`¦¶ªué_8n~ðø}éZle€ÿB ¨ž·úÔ2Í“³çFæ–ÐôÿMY8Ü’ˆ-M?»jʾ˜ûù¼Z­|7´­ ŸU<ŠŒÛ“”«5umûÕðm„åʪҢ7­Þz&1_èØ¬£_±Žˆˆ-MÿsËšmgîd)ÈÀλ˰Q]¥§Ë­kTCΫ z¸q‰XMÞ¥ˆéGO'ä ì›ïî)å”Vli¨Ë‹Ý¶2âx|¦‚oææ2®_33.‘¾¡êo oì­ž áÙu™:¥¹UÀ‹G¹‹ˆˆ ûî6½xÝos¾”\ܼûžŠ•Ç…ÍÙœÕtô¢õá Bê&†ÍÙ” (ÿ>=ÕÃ]óV^µ š>?¤Îíýw,‘®àÂêÕ,g®Z¶pt“´=12›òëb+6ÈÕQiú‘3LÀÔUáKÆøÊþøeå…|­¾–Å×ןv›¾*|ÕôΜÈÕ[”Dz‡ª·%üÛçB*â;víÝÒ^Ì%ç¦M­vÅ+4…q{/tžÛÅÝ’GäÛ;ØïÏeQÉ_»ÕöV\Õ£“g ½Bú·v2bH0¨sä¤KDŒ‘÷˜EžF–¦BV¡K„Œ²P©#£r+ÒÛ€ˆ#nÞ¿·¯½„¡&_þìÜ´£7å¾zZr¸C¤ÎOÎÓéd—–/8l>rÖ|_£¸¾`tÄË«a+k )HÉ)eù ‘:÷aI-´W*¶d™iªZGÍî9Z™·oÉ¢P•ÝÒAæz†jËf>®Ð2¸®;À{ß‘a5ÊR]e©Ä¤I€göŽßŽÜÉ.*L‹Û:åçýO´å’ŠÐ©][“øˆ QóåÙ·®?˜¡eˆXµJË—ðIwãОër•BÍ–_We tŠK·]L‘ÉÒ¯îZ{¼Ô·«§DS±¥®øfÄO³7œO•+ÕZ†!âp9ú‡ª)ÑÓ’H'¿wñÜåÇÅ,v(€jãΜ9³:íÒÓÓ­­­¹Üª¾Âá¨Eïܰ?Õ­ƒ¯äÑÉé­íøDlqÒÉ“ž­k7jÀ‹ÿc}ø†ÇãKê÷ò‘¿\ áJë5²Î:½uý†§î´þ²^öci›Ï[zïîY³fó3·Tn­x×þ8œáîßLšút]m<ê *4¨ï©ŒËm×ÕøÔš•ûã zÒÒÆÈÚ¹BË̦ú8§ß¼nãö½'ã GÝ̒ψì+ ÕÚØÁÕ(¥BËÒä?æÌ=&hÝÁCŠ/ÌÀF§ÓeffÚÙÙ¡ðÖ1,[­?àccc½¼¼ø|ÜðߢV«ããã}||P xëðÔ2@ ¤¤@ @ ¤¤@ @ ¤¤@ ¤¤@ @ ¤¤@ @ ¤¤@ ¤¤@ @ ¤¤@ @ ¤¤@ @ ¤@ @ ¤¤@ @ ¤¤@ @ ¤@ @ ¤¤@ @ ¤¤@ @ ¤@ @ ¤¤@ @ ¤¤@ @ ¤¤@ ¤¤@ @ ¤¤@ @ ¤¤@ ¤¤@ @ ¤¤@ @ ¤¤@ ¤¤@ @ ¤¤@ @ ¤¤øKt:˲¨ …À?þ ‚Ãau¤øç”‰ŠŠ’Éd¨ …À?ÍÂÂB$¡ðŽðP¨¨ìBLÆ Õj5ªïÎ…À †ˆîܹsàÀ"ŠˆˆÈËËCYà]ýÁSÍàccc½¼¼ø|>Jð¡Õj¹\®V«‹‹óññAAà­Ã¹xáÆD¤P(îß¿ÏårŸ0:Žˆ¢¢¢nݺEDëׯ/»sìØ1¡PxèСÔÔTccc Þ…êž )))IJJ²¶¶677Ç=ª –e†‘Éd|>ßÀÀ ++ËÊÊJ¥R) ‰DòøñcCCC333@€ZÀ¿–BˆH¥R¥¤¤iµZàƒÇår¥R©½½="üû)à-Âwd)BB))BB))BB)BB))BB))BB)BB))BÞÞ“'OPøç1,Ë¢ ðÏÃ@ ¤¤@ @ ¤¤@ @ ¤¤@ ¤€ %€M¥R¥¤¤k4šštæñŒíííAÅOÏßI›´öxn\§ÓÖˆép¸\[ ÓEÃ?ór±zƒÅX€K¡PÄÅÅeffªTªš5r¥R™––výúuµZýÊGQ7’Y–õβlãÿm¯ÿßhÜV–eÝ-½÷$¿úE`X–EŽ€*))ÉÔÔÔ¢†Ž?--M£Ñ899•ÿa‹qár —+4¨qÓ¹¶(0`êÖC³ûT÷ ö`¨¹är¹©©iÍ¿¹¹¹L&{å‡y…ñ+ÖÄé4·õñ“Üê·G €ŒeY.—[sÇ/‰ÔjuÅŸ7ùvGMœNÜÒ>Zí܃ðÞ¹¶(°&ûMÃR@?œ×Ðð„Pãç54ï™óvF/ܘûɺôa ¶­·~ŸXOz!²À°qD—Éz»ŸÃZŠvãG“‹OØŠñŽýû:döÏz3:¸¶ò•¬ciG 1©“2‡ ÊõsCu¥gfd}›z@7|zL²Ò\°ëì×]–/?+]_ÏÚ»GQº‚+„12?å€Î("36f½šæ#‹¥r1å09XB¡_J”Š”Cãâ4în›³½òds蜔„•R9#cQJ”Çš~/½ Oš7}ä¹—6vVz­ ¸[(Eq›;¬¤·X‹4Q4„0:}³ýxöª“½‡Y—kg=ãꜴûÆjwÊ>BBnÊghx²º«¬™pŒ­ÁÄ"PùJ¥šÑùï?Õ;+Z(bê„N³9Þ×—³7ßdTý»Ô€£î»m î èO2~»¯´Ê1Ñ÷Ö*k<_TpL³l U´ó”zÁʵ±þÊ~yç{‡o·î¨Í´ÌWê¨78¹'$!.ݹ’KC¦$ù($áIV'ª„ÖÞÑbk%Ζ‡Ð ±µ6VS £å¿Tþ½(#%Í·¤³¢¬‰Žc9BgêrZ›¯¦~ÚÐÆB(…Ÿw Ë,š˜“hݰ½üt'ÃJ´9kcïüìG™¬„'Üpç_{edʬ°? >ÞSvñz»þfc홂­…á/¾0\Â8ÝB¹—LH˜®º%µ§Ã5à}BmBbÀââ_[Íöž†SŽœk£Å´jlÒ(ýw…§®é-¦¶ÚÒ[¶•·¹©AOØ“¥ Ö¬Ë-5F§Mùpjp¤¿<$D›6wÒšãç'ô–>yÂPwµR=fõsš ¹dhDDnfâ|Ši!ãê¶³œPöô¤QÏ*h…ˆêíûÈEÔ=F î{¿ z!wN[¾Î·¤èûÂÜâ.‡@á7,6}ÅˉbJ>ûüží«NÓ>!‘Ó’çD~U¼ãPä² bÈÔ·™¿8’½r¯C;sqê“RBIcç¿m,<¸{ý‘N>~Ö;é#¥äæ`§ëY9w_¯¨Hë½"9n×L™œu676gçÕµ»~}Š©yÓ^Ùš” ßÌ–RfcÙñ³Ùõ.«¸:/j¶M#\ÝÝç*êò.Ç.͈=óQme½ûƒ¥3å;Xsm€Qž„§Õ ¡8ŽÃoxªªª*>>þ1»„Q r¯ägòô!îv}Ë•üLOÆŠ À#ûÈ?Ê9OÃRïË9OÃRïË9OÃRïË9OÃRïË9OÃRïË9OÃRðEQ,Ëòwþv»]$ ¾œ?"b–Ò4íùùH!ÀcJ¥Ò`0ðwþz½^¥Rõ;¨öVF-ÙÏÇ˹°u^¨vRü/·´´ttt0 ï™»\®ÖÖV½^ÔÿiñY¯M¾”÷:c7÷vDxñʱîꜴ1Û6gLóüKÀÜ€ßGSS“Ùlv»Ý<š6MÓÞÞÞÁÁÁb±øîw¾ÒòîîòNcÇñc½‰‚4¾9‹Ÿî:¬ÈR … …RR … …RR … …Àˆã¸¿E‘ðgÑ}“'IEND®B`‚murano-9.0.0/doc/source/user/userguide/0000775000175000017500000000000013656750351020075 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/user/userguide/use_cli.rst0000664000175000017500000004572513656750211022262 0ustar zuulzuul00000000000000.. _use-cli: ========= Using CLI ========= This section provides murano end users with information on how they can use the Application Catalog through the command-line interface (CLI). Using python-muranoclient, the CLI client for murano, you can easily manage your environments, packages, categories, and deploy environments. .. toctree:: :maxdepth: 1 install_client Manage environments ~~~~~~~~~~~~~~~~~~~ An environment is a set of logically connected applications that are grouped together for an easy management. By default, each environment has a single network for all its applications, and the deployment of the environment is defined in a single heat stack. Applications in different environments are always independent from one another. An environment is a single unit of deployment. This means that you deploy not an application but an environment that contains one or multiple applications. Using CLI, you can easily perform such actions with an environment as creating, renaming, editing, viewing, and others. Create an environment --------------------- To create an environment, use the following command specifying the environment name: .. code-block:: console $ murano environment-create Rename an environment --------------------- To rename an environment, use the following command specifying the old name of the environment or its ID and the new name: .. code-block:: console $ murano environment-rename Delete an environment --------------------- To delete an environment, use the following command specifying the environment name or ID: .. code-block:: console $ murano environment-delete List deployments for an environment ----------------------------------- To get a list of deployments for a particular environment, use the following command specifying the environment name or ID: .. code-block:: console $ murano deployment-list List the environments --------------------- To get a list of all existing environments, run: .. code-block:: console $ murano environment-list Show environment object model ----------------------------- To get a complete object model of the environment, run: .. code-block:: console $ murano environment-model-show To get some part of the environment model, run: .. code-block:: console $ murano environment-model-show --path For example: $ murano environment-model-show 534bcf2f2fc244f2b94ad55ff0f24a42 --path /defaultNetworks/environment To get a draft of an object model of environment in pending state, also specify id of the session: .. code-block:: console $ murano environment-model-show --path --session-id Edit environment object model ----------------------------- To edit an object model of the environment, run: .. code-block:: console $ murano environment-model-edit --session-id is the path to the file with the JSON-patch to modify the object model. JSON-patch is a valid JSON that contains a list of changes to be applied to the current object. Each change contains a dictionary with three keys: ``op``, ``path`` and ``value``. ``op`` (operation) can be one of the three values: `add`, `replace` or remove`. Allowed operations for paths: * "" (model root): no operations * "defaultNetworks": "replace" * "defaultNetworks/environment": "replace" * "defaultNetworks/environment/?/id": no operations * "defaultNetworks/flat": "replace" * "name": "replace" * "region": "replace" * "?/type": "replace" * "?/id": no operations For other paths any operation (add, replace or remove) is allowed. Example of JSON-patch: .. code-block:: javascript [{ "op": "replace", "path": "/defaultNetworks/flat", "value": true }] The patch above changes the value of the ``flat`` property of the environment's ``defaultNetworks`` property to `true`. Manage packages ~~~~~~~~~~~~~~~ This section describes how to manage packages using the command line interface. You can easily: * :ref:`import a package ` or :ref:`bundles of packages ` * :ref:`list the existing packages ` * :ref:`display details for a package ` * :ref:`download a package ` * :ref:`delete a package ` * :ref:`create a package ` .. _cli_import: Import a package ---------------- With the :command:`package-import` command you can import packages into murano in several different ways: * :ref:`from a local .zip file ` * :ref:`from murano app repository ` * :ref:`from an http URL ` .. _cli_zip: **From a local .zip file** To import a package from a local .zip file, run: .. code-block:: console $ murano package-import /path/to/PACKAGE.zip where ``PACKAGE`` is the name of the package stored on your computer. For example: .. code-block:: console $ murano package-import /home/downloads/mysql.zip Importing package com.example.databases.MySql +---------------------------------+------+----------------------------+--------------+---------+ | ID | Name | FQN | Author |Is Public| +---------------------------------+------+----------------------------+--------------+---------+ | 83e4038885c248e3a758f8217ff8241f| MySQL| com.example.databases.MySql| Mirantis, Inc| | +---------------------------------+------+----------------------------+--------------+---------+ To make the package available for users from other projects (tenants), use the ``--is-public`` parameter. For example: .. code-block:: console $ murano package-import --is-public mysql.zip .. note:: The :command:`package-import` command supports multiple positional arguments. This means that you can import several packages at once. .. _cli_repo: **From murano app repository** .. |link_location| raw:: html murano applications repository To import a package from murano applications repository, specify the URL of the repository with ``--murano-repo-url`` and a fully qualified package name. For package names, go to |link_location|, and click on the desired package to see its full name. .. note:: You can also specify the URL of the repository with the corresponding MURANO_REPO_URL environment variable. The following example shows how to import the MySQL package from the murano applications repository: .. code-block:: console $ murano --murano-repo-url=http://storage.apps.openstack.org \ package-import com.example.databases.MySql This command supports an optional ``--package-version`` parameter that instructs murano client to download a specified package version. The :command:`package-import` command inspects package requirements specified in the package's manifest under the *Require* section, and attempts to import them from murano repository. The :command:`package-import` command also inspects any image prerequisites mentioned in the :file:`images.lst` file in the package. If there are any image requirements, client would inspect images already present in the image database. Unless image with the specific name is present, client would attempt to download it. .. TODO: Add a ref link to step-by-step (on specifying images and requirements for packages). If any of the packages being installed is already registered in murano, the client asks you what to do with it. You can specify the default action with ``--exists-action``, passing ``s`` - for skip, ``u`` - for update, and ``a`` - for abort. .. _cli_url: **From an URL** To import an application package from an URL, use the following command: .. code-block:: console $ murano package-import http://example.com/path/to/PACKAGE.zip The example below shows how to import a MySQL package from the murano applications repository using the package URL: .. code-block:: console $ murano package-import http://storage.apps.openstack.org/apps/com.example.databases.MySql.zip Inspecting required images Importing package com.example.databases.MySql +----------------------------------+-------+----------------------------+--------------+--------+----------+------------+ | ID | Name | FQN | Author | Active | Is Public| Type | +----------------------------------+-------+----------------------------+--------------+--------+----------+------------+ | 1aa62196595f411399e4e48cc2f6a512 | MySQL | com.example.databases.MySql| Mirantis, Inc| True | | Application| +----------------------------------+-------+----------------------------+--------------+--------+----------+------------+ .. _cli_bundles: Import bundles of packages -------------------------- With the :command:`bundle-import` command you can install packages in several different ways: * :ref:`from a local bundle ` * :ref:`from an URL ` * :ref:`from murano app repository ` When importing bundles, you can set their publicity with ``--is-public``. .. _cli_local_bundle: **From a local bundle** To import a bundle from the a local file system, use the following command: .. code-block:: console $ murano bundle-import /path/to/bundle/BUNDLE_NAME This command imports all the requirements of packages and images. When importing a bundle from a file system, the murano client searches for packages in a directory relative to the bundle location before attempting to download a package from repository. This facilitates cases with no Internet access. The following example shows the import of a monitoring bundle: .. code-block:: console $ murano bundle-import /home/downloads/monitoring.bundle Inspecting required images Importing package com.example.ZabbixServer Importing package com.example.ZabbixAgent +----------------------------------+---------------+--------------------------+---------------+--------+----------+------------+ | ID | Name | FQN | Author | Active | Is Public| Type | +----------------------------------+---------------+--------------------------+---------------+--------+----------+------------+ | fb0b35359e384fe18158ff3ed8f969b5 | Zabbix Agent | com.example.ZabbixAgent | Mirantis, Inc | True | | Application| | 00a77e302a65420c8080dc97cc0f2723 | Zabbix Server | com.example.ZabbixServer | Mirantis, Inc | True | | Application| +----------------------------------+---------------+--------------------------+---------------+--------+----------+------------+ .. note:: The :command:`bundle-import` command supports multiple positional arguments. This means that you can import several bundles at once. .. _cli_bundle_url: **From an URL** To import a bundle from an URL, use the following command: .. code-block:: console $ murano bundle-import http://example.com/path/to/bundle/BUNDLE_NAME Where ``http://example.com/path/to/bundle/BUNDLE_NAME`` is any external http/https URL to load the bundle from. For example: .. code-block:: console $ murano bundle-import http://storage.apps.openstack.org/bundles/monitoring.bundle .. _cli_bundle_repo: **From murano applications repository** To import a bundle from murano applications repository, use the following command, where ``bundle_name`` stands for the bundle name: .. code-block:: console $ murano bundle-import BUNDLE_NAME For example: .. code-block:: console $ murano bundle-import monitoring .. |location| raw:: html murano applications repository .. note:: For bundle names, go to |location|, click the **Format** tab to show bundles first, and then click on the desired bundle to see its name. .. _cli_list: List packages ------------- To list all the existing packages you have, use the :command:`package-list` command. The result will show you the package ID, name, author and if it is public or not. For example: .. code-block:: console $ murano package-list +----------------------------------+--------------------+-------------------------------------+---------------+--------+----------+------------+ | ID | Name | FQN | Author | Active | Is Public| Type | +----------------------------------+--------------------+-------------------------------------+---------------+--------+----------+------------+ | daa46cfd78c74c11bcbe66d3239e546e | Apache HTTP Server | com.example.apache.ApacheHttpServer | Mirantis, Inc | True | | Application| | 5252c9897e864c9f940e08500056f155 | Cloud Foundry | com.example.paas.CloudFoundry | Mirantis, Inc | True | | Application| | 1aa62196595f411399e4e48cc2f6a512 | MySQL | com.example.databases.MySql | Mirantis, Inc | True | | Application| | 11d73cfdc6d7447a910984d95090463b | SQL Library | com.example.databases | Mirantis, Inc | True | | Application| | fb0b35359e384fe18158ff3ed8f969b5 | Zabbix Agent | com.example.ZabbixAgent | Mirantis, Inc | True | | Application| | 00a77e302a65420c8080dc97cc0f2723 | Zabbix Server | com.example.ZabbixServer | Mirantis, Inc | True | | Application| +----------------------------------+--------------------+-------------------------------------+---------------+--------+----------+------------+ .. _cli_display: Show packages ------------- To get full information about a package, use the :command:`package-show` command. For example: .. code-block:: console $ murano package-show 1aa62196595f411399e4e48cc2f6a512 +----------------------+-----------------------------------------------------+ | Property | Value | +----------------------+-----------------------------------------------------+ | categories | | | class_definitions | com.example.databases.MySql | | description | MySql is a relational database management system | | | (RDBMS), and ships with no GUI tools to administer | | | MySQL databases or manage data contained within the | | | databases. | | enabled | True | | fully_qualified_name | com.example.databases.MySql | | id | 1aa62196595f411399e4e48cc2f6a512 | | is_public | False | | name | MySQL | | owner_id | 1ddb2c610d4e4c5dab5185e32554560a | | tags | Database, MySql, SQL, RDBMS | | type | Application | +----------------------+-----------------------------------------------------+ .. _cli_delete: Delete a package ---------------- To delete a package, use the following command: .. code-block:: console $ murano package-delete PACKAGE_ID .. _cli_download: Download a package ------------------ With the following command you can download a .zip archive with a specified package: .. code-block:: console $ murano package-download PACKAGE_ID > FILE.zip You need to specify the package ID and enter the .zip file name under which to save the package. For example: .. code-block:: console $ murano package-download e44a3f526dfb4e08b3c1018c9968d911 > Wordpress.zip .. _cli_create: Create a package ---------------- With the murano client you can create application packages from package source files or directories. The :command:`package-create` command is useful when application package files are spread across several directories. This command has the following required parameters:: -r RESOURCES_DIRECTORY -c CLASSES_DIRECTORY --type TYPE -o PACKAGE_NAME.zip -f FULL_NAME -n DISPLAY_NAME Example: .. code-block:: console $ murano package-create -c Downloads/Folder1/Classes -r Downloads/Folder2/Resources \ -n mysql -f com.example.MySQL -d Package -o MySQL.zip --type Library Application package is available at /home/Downloads/MySQL.zip After this, the package is ready to be imported to the application catalog. The :command:`package-create` command is also useful for autogenerating packages from heat templates. In this case you do not need to manually specify so many parameters. For more information on automatic package composition, please see :ref:`Automatic package composing `. Manage categories ~~~~~~~~~~~~~~~~~ In murano, applications can belong to a category or multiple categories. Administrative users can create and delete a category as well as list available categories and view details for a particular category. Create a category ----------------- To create a category, use the following command specifying the category name: .. code-block:: console $ murano category-create List available categories ------------------------- To get a list of all existing categories, run: .. code-block:: console $ murano category-list Show category details --------------------- To see packages that belong to a particular category, use the following command specifying the category ID: .. code-block:: console $ murano category-show Delete a category ----------------- To delete a category, use the following command specifying the ID of a category or multiple categories to delete: .. code-block:: console $ murano category-delete [ ...] .. note:: Verify that no packages belong to the category to be deleted, otherwise an error appears. For this, use the :command:`murano category-show ` command. Manage environment templates ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To manage environment templates, use the following commands specifying appropriate values: :command:`murano env-template-create ` Creates an environment template. :command:`murano env-template-clone ` Creates a new template, cloned from an existing template. :command:`murano env-template-create-env ` Creates a new environment from template. :command:`murano env-template-add-app ` Adds an application or multiple applications to the environment template. :command:`murano env-template-del-app ` Deletes an application from the environment template. :command:`murano env-template-list` Lists the environments templates. :command:`murano env-template-show ` Displays environment template details. :command:`murano env-template-update ` Updates an environment template. :command:`murano env-template-delete ` Deletes an environment template. .. seealso:: `Application Catalog service command-line client `_. murano-9.0.0/doc/source/user/userguide/log_in_to_murano_instance.rst0000664000175000017500000000316313656750211026043 0ustar zuulzuul00000000000000.. _login-murano-instance: ================================= Log in to murano-spawned instance ================================= After the application is successfully deployed, you may need to log in to the virtual machine with the installed application. All cloud images, including images imported from the `OpenStack Application Catalog `_, have password authentication turned off. Therefore, it is not possible to log in from the dashboard console. SSH is used to reach an instance spawned by murano. Possible default image users are: * *ec2-user* * *ubuntu* or *debian* (depending on the operating system) To log in to murano-spawned instance, perform the following steps: #. Prepare a key pair. To log in through SSH, provide a key pair during the application creation. If you do not have a key pair, click the plus sign to create one directly from the :guilabel:`Configure Application` dialog. .. image:: ../figures/add_key_pair.png :alt: Application creation: key pair :width: 630 px #. After the deployment is completed, find out the instance IP address. For this, see: * Deployment logs .. image:: ../figures/app_logs.png :alt: Application logs: IP is provided :width: 630 px * Detailed instance parameters See the :guilabel:`Instance name` link on the :guilabel:`Component Details` page. .. image:: ../figures/app_details.png :alt: Application details: instance details link :width: 630 px #. To connect to the instance through SSH with the key pair, run: .. code-block:: console $ ssh @ -i murano-9.0.0/doc/source/user/userguide/manage_environments.rst0000664000175000017500000001022713656750211024663 0ustar zuulzuul00000000000000.. _manage-environments: ===================== Managing environments ===================== An environment is a set of logically connected applications that are grouped together for an easy management. By default, each environment has a single network for all its applications, and the deployment of the environment is defined in a single heat stack. Applications in different environments are always independent from one another. An environment is a single unit of deployment. This means that you deploy not an application but an environment that contains one or multiple applications. Using OpenStack dashboard you can easily perform such actions with an environment as creating, editing, reviewing, deploying, and others. Create an environment ~~~~~~~~~~~~~~~~~~~~~ To create an environment, perform the following steps: #. In OpenStack dashboard, navigate to Applications > Catalog > Environments. #. On the :guilabel:`Environments` page, click the :guilabel:`Add New` button. #. In the :guilabel:`Environment Name` field, enter the name for the new environment. #. From the :guilabel:`Environment Default Network` drop-down list, choose a specific network, if necessary, or leave the default :guilabel:`Create New` option to generate a new network. .. image:: ../figures/env_default_network.png :alt: Create an environment: Environment Default Network :width: 630 px #. Click the rightmost :guilabel:`Create` button. You will be redirected to the page with the environment components. Alternatively, you can create an environment automatically using the :guilabel:`Quick Deploy` button below any application in the Application Catalog. For more information, see: :ref:`Quick deploy `. Edit an environment ~~~~~~~~~~~~~~~~~~~ You can edit the name of an environment. For this, perform the following steps: #. In OpenStack dashboard, navigate to Applications > Catalog > Environments. #. Position your mouse pointer over the environment name and click the appeared pencil icon. #. Edit the name of the environment. #. Click the tick icon to apply the change. Review an environment ~~~~~~~~~~~~~~~~~~~~~ This section provides a general overview of an environment, its structure, possible statuses, and actions. An environment groups applications together. An application that is added to an environment is called a component. To see an environment status, navigate to :menuselection:`Applications > Catalog > Environments`. Environments may have one of the following statuses: * **Ready to configure**. When the environment is new and contains no components. * **Ready to deploy**. When the environment contains a component or multiple components and is ready for deployment. * **Ready**. When the environment has been successfully deployed. * **Deploying**. When the deploying is in progress. * **Deploy FAILURE**. When the deployment finished with errors. * **Deleting**. When deleting of an environment is in progress. * **Delete FAILURE**. You can abandon the environment in this case. Currently, the component status corresponds to the environment status. To review an environment and its components, or reconfigure the environment, click the name of an environment or simply click the rightmost :guilabel:`Manage Components` button. * On the :guilabel:`Components` tab you can: * Add or delete a component from an environment * Send an environment to deploy * Track a component status * Call murano actions of a particular application in a deployed environment: .. figure:: ../figures/murano_actions.png :width: 100% For more information on murano actions, see: :ref:`Murano actions `. * On the :guilabel:`Topology`, :guilabel:`Deployment History`, and :guilabel:`Latest Deployment Log` tabs of the environment page you can view the following: * The application topology of an environment. For more information, see: :ref:`Application topology `. * The log of a particular deployment. For more information, see: :ref:`Deployment history `. * The information on the latest deployment of an environment. For more information, see: :ref:`Latest deployment log `.murano-9.0.0/doc/source/user/userguide/manage_applications.rst0000664000175000017500000004431313656750211024625 0ustar zuulzuul00000000000000.. _manage_applications: ===================== Managing applications ===================== In murano, each application, as well as the form of application data entry, is defined by its package. The murano dashboard allows you to import and manage packages as well as search, filter, and add applications from catalog to environments. This section provides detailed instructions on how to import application packages into murano and then add applications to an environment and deploy it. This section also shows you how to find component details, application topology, and deployment logs. Import an application package ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ There are several ways of importing an application package into murano: * :ref:`from a zip file ` * :ref:`from murano applications repository ` * :ref:`from bundles of applications ` .. _ui_zip: From a zip file --------------- Perform the following steps to import an application package from a .zip file: #. In OpenStack dashboard, navigate to :menuselection:`Applications > Manage > Packages`. #. Click the :guilabel:`Import Package` button on the top right of the page. .. image:: ../figures/import_package.png :alt: Packages page: Import Package 1 :width: 630 px #. From the :guilabel:`Package source` drop-down list choose :guilabel:`File`, then click :guilabel:`Browse` to select a .zip file you want to import, and then click :guilabel:`Next`. .. image:: ../figures/browse_zip_file.png :alt: Import Package dialog: zip file :width: 630 px #. At this step, the package is already uploaded. Choose a category from the :guilabel:`Application Category` menu. You can select multiple categories while holding down the :kbd:`Ctrl` key. If necessary, verify and update the information about the package, then click the :guilabel:`Create` button. .. image:: ../figures/add_pkg_info.png :alt: Import Package dialog: Description :width: 630 px .. note:: Though specifying a category is optional, we recommend that you specify at least one. It helps to filter applications in the catalog. | Green messages appear at the top right corner when the application is successfully uploaded. In case of a failure, you will see a red message with the problem description. For more information, please refer to the logs. .. _ui_repo: From a repository ----------------- Perform the following steps to import an application package from murano applications repository: .. note:: To import an application package from a repository, you need to know the full name of the package. For the packages names, go to http://apps.openstack.org/#tab=murano-apps and click on the desired package to see its full name. #. In OpenStack dashboard, navigate to :menuselection:`Applications > Manage > Packages`. #. Click the :guilabel:`Import Package` button on the top right of the page. .. image:: ../figures/import_package.png :alt: Packages page: Import Package 2 :width: 630 px #. From the :guilabel:`Package source` drop-down list, choose :guilabel:`Repository`, enter the package name, and then click :guilabel:`Next`. Note that you may also specify the version of the package. .. image:: ../figures/repository.png :alt: Import Package dialog: Repository :width: 630 px #. At this step, the package is already uploaded. Choose a category from the :guilabel:`Application Category` menu. You can select multiple categories while holding down the :kbd:`Ctrl` key. If necessary, verify and update the information about the package, then click the :guilabel:`Create` button. .. image:: ../figures/add_pkg_info.png :alt: Import Package dialog: Description :width: 630 px .. _ui_bundles: From a bundle of applications ----------------------------- Perform the following steps to import a bundle of applications: .. note:: To import an application bundle from a repository, you need to know the full name of the package bundle. To find it out, go to http://apps.openstack.org/#tab=murano-apps and click on the desired bundle to see its full name. #. In OpenStack dashboard, navigate to :menuselection:`Applications > Manage > Packages`. #. Click the :guilabel:`Import Bundle` button on the top right of the page. .. image:: ../figures/import_bundle.png :alt: Packages page: Import Bundle :width: 630 px #. From the :guilabel:`Package Bundle Source` drop-down list, choose :guilabel:`Repository`, enter the bundle name, and then click :guilabel:`Create`. .. image:: ../figures/bundle_name.png :alt: Import Bundle dialog :width: 630 px Search for an application in the catalog ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When you have imported many applications and want to quickly find a required one, you can filter them by category, tags and words that the application name or description contains: In OpenStack dashboard, navigate to :menuselection:`Applications > Catalog > Browse`. The page is divided into two sections: * **Recent Activity** shows the most recently imported or deployed applications. * The bottom section contains all the available applications sorted alphabetically. To view all the applications of a specific category, select it from the :guilabel:`App Category` drop-down list: .. image:: ../figures/app_category.png :alt: Applications page: App Category :width: 630 px To filter applications by tags or words from the application name or description, use the rightmost filter: .. image:: ../figures/app_filter.png :alt: Applications page: Filter :width: 630 px .. note:: Tags can be specified during the import of an application package. For example, there is an application that has the word *document-oriented* in description. Let's find it with the filter. The following screenshot shows you the result. .. image:: ../figures/app_filter_example.png :alt: Applications page: example :width: 630 px Delete an application package ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To delete an application package from the catalog, please perform the following steps: #. In OpenStack dashboard, navigate to :menuselection:`Applications > Manage > Packages`. #. Select a package or multiple packages you want to delete and click :guilabel:`Delete Packages`. .. image:: ../figures/select_packages.png :alt: Packages page: Select packages :width: 630 px #. Confirm the deletion. Add an application to environment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ After uploading an application, the second step is to add it to an environment. You can do this: * :ref:`from environment details page ` * :ref:`from applications catalog page ` .. _from_env: From environment details page ----------------------------- #. In OpenStack dashboard, navigate to :menuselection:`Applications > Catalog > Environments`. #. Find the environment you want to manage and click :guilabel:`Manage Components`, or simply click on the environment's name. #. Procced with the :ref:`Drop Components here ` field or the :ref:`Add Component ` button. .. _drag_and_drop: **Use of Drop Components here field** #. On the Environment Components page, drag and drop a desired application into the :guilabel:`Drop Components here` field under the :guilabel:`Application Components` section. .. image:: ../figures/add_to_env/drag_and_drop.png :alt: Environment Components page: Drag and drop a component :width: 630 px #. Configure the application. Note that the settings may vary from app to app and are predefined by the application author. When done, click :guilabel:`Next`, then click :guilabel:`Create`. Now the application appears in the :guilabel:`Component List` section on the Environment Components page. .. _add_component: **Use of Add Component button** #. On the Environment Components page, click :guilabel:`Add Component`. .. image:: ../figures/add_to_env/add_component.png :alt: Environment Components page: Add component :width: 630 px #. Find the application you want to add and click :guilabel:`Add to Env`. .. image:: ../figures/add_to_env/add_to_env.png :alt: Applications page: Add to Env :width: 630 px #. Configure the application and click :guilabel:`Next`. Note that the settings may vary from app to app and are predefined by the application author. #. To add more applications, check :guilabel:`Continue application adding`, then click :guilabel:`Create` and repeat the steps above. Otherwise, just click :guilabel:`Create`. .. image:: ../figures/add_to_env/add_more_apps.png :alt: Configure Application dialog: Add more applications :width: 630 px Now the application appears in the :guilabel:`Component List` section on the Environment Components page. .. _from_cat: From applications catalog page ------------------------------ #. In OpenStack dashboard, navigate to :menuselection:`Applications > Catalog > Browse`. #. On the Applications catalog page, use one of the following methods: * `Quick deploy`_. Automatically creates an environment, adds the selected application, and redirects you to the page with the environment components. * `Add to Env`_. Adds an application to an already existing environment. .. _Quick deploy: **Quick Deploy button** #. Find the application you want to add and click :guilabel:`Quick Deploy`. Let's add Apache Tomcat, for example. .. image:: ../figures/add_to_env/quick_deploy.png :alt: Applications page: Quick Deploy :width: 630 px #. Configure the application. Note that the settings may vary from app to app and are predefined by the application author. When done, click :guilabel:`Next`, then click :guilabel:`Create`. In the example below we assign a floating IP address. .. image:: ../figures/add_to_env/configure_app.png :alt: Configure Application dialog :width: 630 px Now the Apache Tomcat application is successfully added to an automatically created ``quick-env-1`` environment. .. image:: ../figures/add_to_env/quick_env.png :alt: Environment Components page: Select packages :width: 630 px .. _Add to Env: **Add to Env button** #. From the :guilabel:`Environment` drop-down list, select the required environment. .. image:: ../figures/add_to_env/add_from_cat.png :alt: Applications page: Select environment :width: 630 px #. Find the application you want to add and click :guilabel:`Add to Env`. Let's add Apache Tomcat, for example. .. image:: ../figures/add_to_env/add_to_env.png :alt: Applications page: Add to Env :width: 630 px #. Configure the application and click :guilabel:`Next`. Note that the settings may vary from app to app and are predefined by the application author. In the example below we assign a floating IP address. .. image:: ../figures/add_to_env/configure_app.png :alt: Configure Application dialog :width: 630 px #. To add more applications, check :guilabel:`Add more applications to the environment`, then click :guilabel:`Create` and repeat the steps above. Otherwise, just click :guilabel:`Create`. .. image:: ../figures/add_to_env/add_more_apps.png :alt: Configure Application dialog: Add more applications :width: 630 px Deploy an environment ~~~~~~~~~~~~~~~~~~~~~ Make sure to add necessary applications to your environment, then deploy it following one of the options below: * Deploy an environment from the Environments page #. In OpenStack dashboard, navigate to :menuselection:`Applications > Catalog > Environments`. #. Select :guilabel:`Deploy Environment` from the Actions drop-down list next to the environment you want to deploy. .. image:: ../figures/deploy_env_2.png :width: 630 px :alt: Environments page It may take some time for the environment to deploy. Wait for the status to change from `Deploying` to `Ready`. You cannot add applications to your environment during deployment. * Deploy an environment from the Environment Components page #. In OpenStack dashboard, navigate to :menuselection:`Applications > Catalog > Environments`. #. Click the name of the environment you want to deploy. .. image:: ../figures/environments.png :width: 630 px :alt: Environments page #. On the Environment Components page, click :guilabel:`Deploy This Environment` to start the deployment. .. image:: ../figures/deploy_env.png :width: 630 px :alt: Environment Components page It may take some time for the environment to deploy. You cannot add applications to your environment during deployment. Wait for the status to change from `Deploying` to `Ready`. You can check the status either on the Environments page or on the Environment Components page. .. _component-details: Browse component details ------------------------ You can browse component details to find the following information about a component: * Name * ID * Type * Instance name (available only after deployment) * Heat orchestration stack name (available only after deployment) To browse a component details, perform the following steps: #. In OpenStack dashboard, navigate to :menuselection:`Applications > Catalog > Environments`. #. Click the name of the required environment. #. In the :guilabel:`Component List` section, click the name of the required component. .. image:: ../figures/component-details.png :width: 630 px :alt: Components details The links redirect to corresponding horizon pages with the detailed information on instance and heat stack. .. _application-topology: Application topology -------------------- Once you add an application to your environment, the application topology of this environment becomes available in a separate tab. The topology represents an elastic diagram showing the relationship between a component and the infrastructure it runs on. To view the topology: #. In OpenStack dashboard, navigate to :menuselection:`Applications > Catalog > Environments`. #. Click the name of the necessary environment. #. Click the :guilabel:`Topology` tab. The topology is helpful to visually display complex components, for example Kubernetes. The red icons reflect errors during the deployment while the green ones show success. .. image:: ../figures/topology_kubernetes.png :alt: Topology tab: Deployment failed :width: 630 px The following elements of the topology are virtual machine and an instance of dependent MuranoPL class: +---------------------------------------------+----------------------------+ | Element | Meaning | +=============================================+============================+ | .. image:: ../figures/topology_element_1.png| Virtual machine | +---------------------------------------------+----------------------------+ | .. image:: ../figures/topology_element_2.png| Instance | +---------------------------------------------+----------------------------+ Position your mouse pointer over an element to see its name, ID, and other details. .. image:: ../figures/topology_wordpress.png :alt: Topology tab: Deployment successful :width: 630 px Deployment logs --------------- To get detailed information on a deployment, use: * :ref:`Deployment history `, which contains logs and deployment structure of an environment. * :ref:`Latest deployment log `, which contains information on the latest deployment of an environment. * :ref:`Component logs `, which contain logs on a particular component in an environment. .. _depl-history: **Deployment history** To see the log of a particular deployment, proceed with the steps below: #. In OpenStack dashboard, navigate to :menuselection:`Applications > Catalog > Environments`. #. Click the name of the required environment. #. Click the :guilabel:`Deployment History` tab. #. Find the required deployment and click :guilabel:`Show Details`. #. Click the :guilabel:`Logs` tab to see the logs. .. image:: ../figures/logs.png :alt: Deployment Logs page :width: 630 px .. _latest-log: **Latest deployment log** To see the latest deployment log, proceed with the steps below: #. In OpenStack dashboard, navigate to :menuselection:`Applications > Catalog > Environments`. #. Click the name of the required environment. #. Click the :guilabel:`Latest Deployment Log` tab to see the logs. .. _component-logs: **Component logs** To see the logs of a particular component of an environment, proceed with the steps below: #. In OpenStack dashboard, navigate to :menuselection:`Applications > Catalog > Environments`. #. Click the name of the required environment. #. In the :guilabel:`Component List` section, click the required component. #. Click the :guilabel:`Logs` tab to see the component logs. .. image:: ../figures/env-component-logs.png :alt: Component Logs page :width: 630 px Delete an application ~~~~~~~~~~~~~~~~~~~~~ To delete an application that belongs to the environment: #. In OpenStack dashboard, navigate to :menuselection:`Applications > Catalog > Environments`. #. Click on the name of the environment you want to delete an application from. .. image:: ../figures/environments.png :width: 630 px :alt: Environments page #. In the :guilabel:`Component List` section, click the :guilabel:`Delete Component` button next to the application you want to delete. Then confirm the deletion. .. image:: ../figures/delete_application.png :width: 630 px :alt: Environment Components page .. note:: If the application that you are deleting has already been deployed, you should redeploy the environment to apply the recent changes. If the environment has not been deployed with this component, the changes are applied immediately on receiving the confirmation. .. warning:: Due to a known bug in murano as of Kilo release, the OS resources allocated by a deleted application might not be reclaimed until you delete the environment. See the `Deallocating stack resources `_ blueprint for details. murano-9.0.0/doc/source/user/userguide/install_client.rst0000664000175000017500000000702113656750211023626 0ustar zuulzuul00000000000000.. _install-client: Install and use the murano client ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Application Catalog project provides a command-line client, python-muranoclient, which enables you to access the project API. For prerequisites, see `Install the prerequisite software `_. To install the latest murano CLI client, run the following command in your terminal: .. code-block:: console $ pip install python-muranoclient Discover the client version number ---------------------------------- To discover the version number for the python-muranoclient, run the following command: .. code-block:: console $ murano --version To check the latest version, see `Client library for Murano API `_. Upgrade or remove the client ---------------------------- To upgrade or remove the python-muranoclient, use the corresponding commands. **To upgrade the client:** .. code-block:: console $ pip install --upgrade python-muranoclient **To remove the client:** .. code-block:: console $ pip uninstall python-muranoclient Set environment variables ------------------------- To use the murano client, you must set the environment variables. To do this, download and source the OpenStack RC file. For more information, see `Download and source the OpenStack RC file `_. Alternatively, create the ``PROJECT-openrc.sh`` file from scratch. For this, perform the following steps: #. In a text editor, create a file named ``PROJECT-openrc.sh`` containing the following authentication information: .. code-block:: console export OS_USERNAME=user export OS_PASSWORD=password export OS_TENANT_NAME=tenant export OS_AUTH_URL=http://auth.example.com:5000 export MURANO_URL=http://murano.example.com:8082/ #. In the terminal, source the ``PROJECT-openrc.sh`` file. For example: .. code-block:: console $ . admin-openrc.sh Once you have configured your authentication parameters, run :command:`murano help` to see a complete list of available commands and arguments. Use :command:`murano help ` to get help on a specific subcommand. .. seealso:: `Set environment variables using the OpenStack RC file `_. Bash completion --------------- To get the latest bash completion script, download `murano.bash_completion `_ from the source repository and add it to your completion scripts. If you are not aware of the completion scripts location, perform the following steps: #. Create a new directory: .. code-block:: console $ mkdir -p ~/.bash_completion/ #. Create a file containing the bash completion script: .. code-block:: console $ curl https://opendev.org/openstack/python-muranoclient/raw/branch/master/tools/murano.bash_completion > ~/.bash_completion/murano.sh #. Add the following code to the ``~/.profile`` file: .. code-block:: bash for file in $HOME/.bash_completion/*.sh; do if [ -f "$file" ]; then . "$file" fi done #. In the current terminal, run: .. code-block:: console $ . ~/.bash_completion/murano.sh murano-9.0.0/doc/source/user/userguide/deploying_using_cli.rst0000664000175000017500000001444413656750211024657 0ustar zuulzuul00000000000000.. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http//www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. .. _deploying-using-cli: ================================ Deploying environments using CLI ================================ The main tool for deploying murano environments is murano-dashboard. It is designed to be easy-to-use and intuitive. But it is not the only tool you can use to deploy a murano environment, murano CLI client also possesses required functionality for the task. This is an advanced scenario, however, that requires knowledge of :ref:`internal murano workflow `, :ref:`murano object model `, and :ref:`murano environment ` lifecycle. This scenario is suitable for deployments without horizon or deployment automation. .. note:: This is an advanced mechanism and you should use it only when you are confident in what you are doing. Otherwise, it is recommended that you use murano-dashboard. Create an environment ~~~~~~~~~~~~~~~~~~~~~ The following command creates a new murano environment that is ready for configuration. For convenience, this guide refers to environment ID as ``$ENV_ID``. .. code-block:: console $ murano environment-create deployed_from_cli +----------------------------------+-------------------+---------------------+---------------------+ | ID | Name | Created | Updated | +----------------------------------+-------------------+---------------------+---------------------+ | a66e5ea35e9d4da48c2abc37b5a9753a | deployed_from_cli | 2015-10-06T13:50:45 | 2015-10-06T13:50:45 | +----------------------------------+-------------------+---------------------+---------------------+ Create a configuration session ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Murano uses configuration sessions to allow several users to edit and configure the same environment concurrently. Most of environment-related commands require the ``--session-id`` parameter. For convenience, this guide refers to session ID as ``$SESS_ID``. To create a configuration session, use the :command:`murano environment-session-create $ENV_ID` command: .. code-block:: console $ murano environment-session-create $ENV_ID +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | id | 5cbe7e561ffc484ebf11aabf83f9f4c6 | +----------+----------------------------------+ Add applications to an environment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To manipulate environments object model from CLI, use the :command:`environment-apps-edit` command: .. code-block:: console $ murano environment-apps-edit --session-id $SESS_ID $ENV_ID object_model_patch.json The :file:`object_model_patch.json` contains the ``jsonpatch`` object. This object is applied to the ``/services`` key of the environment in question. Below is an example of the :file:`object_model_patch.json` file content: .. code-block:: json [ { "op": "add", "path": "/-", "value": { "instance": { "availabilityZone": "nova", "name": "xwvupifdxq27t1", "image": "fa578106-b3c1-4c42-8562-4e2e2d2a0a0c", "keyname": "", "flavor": "m1.small", "assignFloatingIp": false, "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "===id1===" } }, "name": "ApacheHttpServer", "enablePHP": true, "?": { "type": "com.example.apache.ApacheHttpServer", "id": "===id2===" } } } ] For convenience, the murano client replaces the ``"===id1==="``, ``"===id2==="`` (and so on) strings with UUIDs. This way you can ensure that object IDs inside your object model are unique. To learn more about jsonpatch, consult jsonpatch.com_ and `RFC 6902`_. The :command:`environment-apps-edit` command fully supports jsonpatch. This means that you can alter, add, or remove parts of your applications object model. Verify your object model ~~~~~~~~~~~~~~~~~~~~~~~~ To verify whether your object model is correct, check the environment by running the :command:`environment-show` command with the ``--session-id`` parameter: .. code-block:: console $ murano environment-show $ENV_ID --session-id $SESS_ID --only-apps [ { "instance": { "availabilityZone": "nova", "name": "xwvupifdxq27t1", "assignFloatingIp": false, "keyname": "", "flavor": "m1.small", "image": "fa578106-b3c1-4c42-8562-4e2e2d2a0a0c", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "fc4fe975f5454bab99bb0e309249e2d2" } }, "?": { "status": "pending", "type": "com.example.apache.ApacheHttpServer", "id": "69cdf10d31e64196b4de894e7ea4f1be" }, "enablePHP": true, "name": "ApacheHttpServer" } ] Deploy your environment ~~~~~~~~~~~~~~~~~~~~~~~ To deploy a session ``$SESS_ID`` of your environment, use the :command:`murano environment-deploy` command: .. code-block:: console $ murano environment-deploy $ENV_ID --session-id $SESS_ID You can later use the :command:`murano environment-show` command to track the deployment status. To view the deployed applications of a particular environment, use the :command:`murano environment-show` command with the ``--only-apps`` parameter and specifying the environment ID: .. code-block:: console $ murano environment-show $ENV_ID --only-apps .. _jsonpatch.com: http://jsonpatch.com .. _RFC 6902: http://tools.ietf.org/html/rfc6902 murano-9.0.0/doc/source/user/user_index.rst0000664000175000017500000000042413656750211020773 0ustar zuulzuul00000000000000.. _user-guide: User Guide ~~~~~~~~~~ .. toctree:: :maxdepth: 2 userguide/manage_environments userguide/manage_applications userguide/log_in_to_murano_instance userguide/use_cli userguide/deploying_using_cli ../reference/appendix/articles/multi_region murano-9.0.0/doc/source/user/quickstart/0000775000175000017500000000000013656750351020273 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/user/quickstart/quickstart.rst0000664000175000017500000001007413656750211023214 0ustar zuulzuul00000000000000.. _quickstart: ========== QuickStart ========== This is a brief walkthrough to quickly get you familiar with the basic operations you can perform when using the Application catalog directly from the dashboard. For the detailed instructions on how to :ref:`manage your environments ` and :ref:`applications `, please proceed with dedicated sections. Upload an application ~~~~~~~~~~~~~~~~~~~~~ To upload an application to the catalog: #. Log in to the OpenStack dashboard. #. Navigate to :menuselection:`Applications > Manage > Packages`. #. Click on the :guilabel:`Import Package` button: .. image:: ../figures/qs_package_import.png :alt: Packages page :width: 600 px #. In the :guilabel:`Import Package` dialog: * Select ``URL`` from the ``Package Source`` drop-down list; * Specify the URL in the :guilabel:`Package URL` field. Lets upload the Apache HTTP Server package using http://storage.apps.openstack.org/apps/com.example.apache.ApacheHttpServer.zip; * Click :guilabel:`Next` to continue: .. image:: ../figures/qs_package_url.png :width: 600 px :alt: Import Package dialog 1 #. View the package details in the new dialog, click :guilabel:`Next` to continue: .. image:: ../figures/qs_package_details.png :width: 600 px :alt: Import Package dialog 2 #. Select the :guilabel:`Application Servers` from the application category list, click :guilabel:`Create` to import the application package: .. image:: ../figures/qs_app_category.png :width: 600 px :alt: Import Package dialog 3 #. Now your application is available from :menuselection:`Applications > Catalog > Browse` page. Deploy an application ~~~~~~~~~~~~~~~~~~~~~ To add an application to an environment's component list and deploy the environment: #. Log in to the OpenStack dashboard. #. Navigate to :menuselection:`Applications > Catalog > Browse`. #. Click on the :guilabel:`Quick Deploy` button from the required application from the list. Lets deploy Apache HTTP Server, for example: .. image:: ../figures/qs_apps.png :width: 600 px :alt: Applications page #. Check :guilabel:`Assign Floating IP` and click :guilabel:`Next` to proceed: .. image:: ../figures/qs_quick_deploy.png :width: 600 px :alt: Configure Application dialog 1 #. Select the :guilabel:`Instance Image` from the drop-down list and click :guilabel:`Create`: .. image:: ../figures/qs_quick_deploy_2.png :width: 600 px :alt: Configure Application dialog 2 #. Now the Apache HTTP Server application is successfully added to the newly created ``quick-env-4`` environment. Click the :guilabel:`Deploy This Environment` button to start the deployment: .. image:: ../figures/qs_quick_env.png :width: 600 px :alt: Environment "quick-env-1" page It may take some time for the environment to deploy. Wait until the status is changed from ``Deploying`` to ``Ready``. #. Navigate to :menuselection:`Applications > Catalog > Environments` to view the details. Delete an application ~~~~~~~~~~~~~~~~~~~~~ To delete an application that belongs to the environment: #. Log in to the OpenStack dashboard. #. Navigate to :menuselection:`Applications > Catalog > Environments`. #. Click on the name of the environment to view its details, which include components, topology, and deployment history. #. In the :guilabel:`Component List` section, click on the :guilabel:`Delete Component` button next to the application to be deleted. Confirm the deletion. .. note:: If an application that you are deleting has already been deployed, you should redeploy it to apply the recent changes. If the environment has not been deployed with this component, the changes are applied immediately on receiving the confirmation. .. warning:: Due to a known bug in Murano Kilo, resources allocated by a deleted application might not be reclaimed until the deletion of an environment. See `LP1417136 `_ for the details.murano-9.0.0/doc/source/index.rst0000664000175000017500000000520013656750211016754 0ustar zuulzuul00000000000000=============================== Welcome to Murano Documentation =============================== **Murano** is an open source OpenStack project that combines an application catalog with versatile tooling to simplify and accelerate packaging and deployment. It can be used with almost any application and service in OpenStack. Murano project consists of several source code repositories: * `murano`_ -- the main repository. It contains code for Murano API server, Murano engine and MuranoPL. * `murano-agent`_ -- the agent that runs on guest VMs and executes the deployment plan. * `murano-dashboard`_ -- Murano UI implemented as a plugin for the OpenStack Dashboard. * `python-muranoclient`_ -- Client library and CLI client for Murano. .. note:: `Administrator Documentation`, `Contributor Documentation`, and `Appendix` are under development at the moment. .. Links .. _murano: https://opendev.org/openstack/murano/ .. _murano-agent: https://opendev.org/openstack/murano-agent/ .. _murano-dashboard: https://opendev.org/openstack/murano-dashboard/ .. _python-muranoclient: https://opendev.org/openstack/python-muranoclient/ Introduction to Murano ~~~~~~~~~~~~~~~~~~~~~~ .. toctree:: :maxdepth: 1 reference/overview_index Using Murano ~~~~~~~~~~~~ Learn how to use the Application Catalog directly from the Dashboard and through the command-line interface (CLI), manage applications and environments. The screenshots provided in this guide are of the Liberty release. .. toctree:: :maxdepth: 1 user/quickstart/quickstart user/user_index Installation ~~~~~~~~~~~~ .. toctree:: :maxdepth: 2 install/index Configuration ~~~~~~~~~~~~~ .. toctree:: :maxdepth: 2 configuration/index CLI Guide ~~~~~~~~~ .. toctree:: :maxdepth: 2 cli/index Administrator Documentation ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Learn how to manage images, categories, and repositories using the Murano client. .. toctree:: :maxdepth: 1 admin/index First App Guide ~~~~~~~~~~~~~~~ A guide for developing your first Murano application. .. toctree:: :maxdepth: 1 first-app/index Application Developer Documentation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Learn how to compose an application package and get it ready for uploading to Murano. .. toctree:: :maxdepth: 1 admin/appdev-guide/developer_index admin/appdev-guide/faq Contributor Documentation ~~~~~~~~~~~~~~~~~~~~~~~~~ Learn how to contribute to the project. .. toctree:: :maxdepth: 1 contributor/contributor_index Other Documentation ~~~~~~~~~~~~~~~~~~~ .. toctree:: :maxdepth: 1 reference/appendix/appendix_index reference/appendix/articles/articles_index murano-9.0.0/doc/source/contributor/0000775000175000017500000000000013656750351017475 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/contributor/stable_branches.rst0000664000175000017500000000601413656750211023342 0ustar zuulzuul00000000000000.. _stable_branches: ============================== Backporting to stable/branches ============================== Since murano is a big-tent OS project it largely follows the `OpenStack stable branch guide `_ Upstream support phases ~~~~~~~~~~~~~~~~~~~~~~~ #. Phase I (first 6 months): All bugfixes (which meet the stable port criteria, described in OS stable branch policy) are appropriate #. Phase II (6-12 months): Only critical bugfixes and security patches are acceptable #. Phase III (more than 12 months): Only security patches are acceptable In order to accept a change into $release it must first be accepted into all releases back to master. There are two notable exceptions to the support phases rule: - murano-apps repository: We recognise, that murano apps have different lifecycle than main murano repository. Most of the time new apps are being written for already released versions of murano, not for master. Having a rich collection of apps is one of the goals of murano-apps repository, therefore we accept backports of apps and app features to previous release branches. This is done on a case by case basis and should be discussed with PTL and Murano core members on IRC or Mailing List. However we believe, that submitting an app to stable branch only means that author of the patch is not going to support the app. Therefore for the app to get backported it still has to be first accepted to master and all subsequent releases. - murano core library patches: Murano Core Library is an app, that provides core functionality and classes for other murano apps. It shares a lot of properties of regular murano apps and the rationale behind allowing backports of MuranoPL code from master to stable branches is basically the same: low regression risks during upgrades, high adoption impact. However since core library is much more sensitive app, backports to it should be taken more seriously and should be discussed on IRC and Mailing List and receive PTL's approval. These two exceptions do not mean, that we're free to backport any code from master to stable branches. Instead they show, that murano team recognises the importance of these two areas of murano project and treats exceptions to those slightly more liberally than to other parts of murano project. Bug nomination process ~~~~~~~~~~~~~~~~~~~~~~ Whenever you file a bug, or see a bug, that you think is eligible for backporting in stable branch nominate it for the corresponding series. If bug reporter does not nominate the bug for eligible branch — this is done by murano bug supervisor during triaging/confirmation process. In case it is not clear whether the bug is eligible or not or if you do not have permissions to nominate a bug for series you can set `$release-backport-potential` tag (for example `liberty-backport-potential`). Murano team is holding bi-weekly meetings on IRC (as part of regular community meetings) to triage and nominate bugs for stable backports. murano-9.0.0/doc/source/contributor/plugins/0000775000175000017500000000000013656750351021156 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/contributor/plugins/murano_plugins.rst0000664000175000017500000002044513656750211024752 0ustar zuulzuul00000000000000.. _muranopl_extensions: MuranoPL extension plug-ins ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Murano plug-ins allow extending MuranoPL with new classes. Therefore, using such plug-ins applications with MuranoPL format, you access some additional functionality defined in a plug-in. For example, the Magnum plug-in, which allows murano to deploy applications such as Kubernetes using the capabilities of the Magnum client. MuranoPL extension plug-ins can be used for the following purposes: * Providing interaction with external services. For example, you want to interact with the OpenStack Image service to get information about images suitable for deployment. A plug-in may request image data from glance during deployment, performing any necessary checks. * Enabling connections between murano applications and external hardware For example, you have an external load balancer located on a powerful hardware and you want your applications launched in OpenStack to use that load balancer. You can write a plug-in that interacts with the load balancer API. Once done, add new apps to the pool of your load balancer or make any other configurations from within your application definition. * Extending Core Library class functionality, which is responsible for creating networks, interaction with murano-agent, and others For example, you want to create networks with special parameters for all of your applications. You can just copy the class that is responsible for network management from the Murano Core library, make the desired modification, and load the new class as a plug-in. Both classes will be available, and it is up to you to decide which way to create your networks. * Optimization of frequently used operations. Plug-in classes are written in Python, therefore, the opportunity for improvement is significant. Murano provides a number of optimization opportunities depending on the improvement needs. For example, classes in the Murano Core Library can be rewritten in C and used from Python code to improve their performance in particular use cases. .. _package_type_plugins: MuranoPL package type plug-ins ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The only package type natively supported by Murano is MuranoPL. However, it is possible to extend Murano with support for other formats of application definitions. TOSCA CSARs and HOT templates are the two examples of alternate ways to define applications. Package types plug-ins are normal Python packages that can be distributed through PyPI and installed using :command:`pip` or its alternatives. It is important that the plug-in be installed to the same Python instance that is used to run Murano API and Murano Engine. For multi-node Murano deployments, plug-ins need to be installed on each node. To associate a plug-in with a particular package format, it needs to have a special record in `[entry_points]` section of setup.cfg file: .. code-block:: ini io.murano.plugins.packages = Name/Version = namespace:Class For example: .. code-block:: ini [entry_points] io.murano.plugins.packages = Cloudify.TOSCA/1.0 = murano_cloudify_plugin.cloudify_tosca_package:CloudifyToscaPackage This declaration maps particular pair of format-name/version to Python class that implements Package API interface for the package type. It is possible to specify several different format names or versions and map them to single or different Python classes. For example, it is possible to specify .. code-block:: ini [entry_points] io.murano.plugins.packages = Cloudify.TOSCA/1.0 = murano_cloudify_plugin.cloudify_tosca_package:CloudifyToscaPackage Cloudify.TOSCA/1.1 = murano_cloudify_plugin.cloudify_tosca_package:CloudifyToscaPackage Cloudify.TOSCA/2.0 = murano_cloudify_plugin.cloudify_tosca_package:CloudifyToscaPackage_v2 .. note:: A single Python plug-in package may contain several Murano plug-ins including of different types. For example, it is possible to combine MuranoPL extension and package type plug-ins into a single package. Tooling for package preparation ------------------------------- Some package formats may require additional tooling to prepare package ZIP archive of desired structure. In such cases it is expected that those tools will be provided by plug-in authors either as part of the same Python package (by exposing additional shell entry points) or as a separate package or distribution. The only two exceptions to this rule are native MuranoPL packages and HOT packages that are built into Murano (there is no need to install additional plug-ins for them). Tooling for those two formats is a part of python-muranoclient. Package API interface reference ------------------------------- Plug-ins expose API for the rest of Murano to interact with the package by implementing `murano.packages.package.Package` interface. Class initializer: `def __init__(self, format_name, runtime_version, source_directory, manifest):` * **format_name**: name part of the format identifier (string) * **runtime_version**: version part of the format identifier (instance of semantic_version.Version) * **source_directory**: path to the directory where package content was extracted (string) * **manifest**: contents of the manifest file (string->string dictionary) **Note**: implementations must call base class (`Package`) initializer passing the first three of these arguments. Abstract properties that must be implemented by the plug-in: `def full_name(self):` * Fully qualified name of the package. Must be unique within package scope of visibility (string) `def version(self):` * Package version (not to confuse with format version!). An instance of `semantic_version.Version` `def classes(self):` * List (or tuple) of MuranoPL class names (FQNs) that package contains `def requirements(self):` * Dictionary of requirements (dependencies on other packages) in a form of key-value mapping from required package FQN string to SemVer version range specifier (instance of semantic_version.Spec or string representation supported by Murano versioning scheme) `def package_type(self):` * Package type: "Application" or "Library" `def display_name(self):` * Human-readable name of the package as presented to the user (string) `def description(self):` * Package description (string or None) `def author(self):` * Package author (string or None) `def supplier(self):` * Package supplier (string or None) `def tags(self):` * List or tags for the package (list of strings) `def logo(self):` * Package (application) logo file content (str or None) `def supplier_logo(self):` * Package (application) supplier logo file content (str or None) `def ui(self):` * YAML-encoded string containing application's form definition (string or None) Abstract methods that must be implemented by the plug-in: `def get_class(self, name):` * Returns string containing MuranoPL code (YAML-encoded string) for the class whose fully qualified name is in "name" parameter (string) `def get_resource(self, name):` * Returns path for resource file whose name is in "name" parameter (string) Properties that can be overridden in the plug-in: `def format_name(self):` * Canonical format name for the plug-in. Usually the same value that was passed to class initializer `def runtime_version(self):` * Format version. Usually the same value that was passed to class initializer (semantic_version.Version) `def blob(self):` * Package file (.zip) content (str) PackageBase class ----------------- Usually, there is no need to manually implement all the methods and properties described. There is a `murano.packages.package.PackageBase` class that provides typical implementation of most of required properties by obtaining corresponding value from manifest file. When inheriting from PackageBase class, plug-in remains responsible for implementation of: * `ui` property * `classes` property * `get_class` method This allows plug-in developers to concentrate on dynamic aspects of the package type plug-in while keeping all static aspects (descriptions, logos and so on) consistent across all package types (at least those who inherit from `PackageBase`).murano-9.0.0/doc/source/contributor/plugins/manage_plugins.rst0000664000175000017500000000700013656750211024671 0ustar zuulzuul00000000000000.. _manage_plugins: Creating a Murano plug-in ------------------------- Murano plug-in is a setuptools-compliant python package with ``setup.py`` and all other necessary files. For more information about defining stevedore plug-ins, see `stevedore documentation `_. The structure of the demo application package +++++++++++++++++++++++++++++++++++++++++++++ The package must meet the following requirements: * It must be a ZIP archive. * The root folder of the archive must contain a ``manifest.yaml`` file. * The manifest must be a valid YAML file representing key-value associative array. * The manifest should contain a *Format* key, that is, a format identifier. If it is not present, "MuranoPL/1.0" is used. Murano uses the *Format* attribute of the manifest file to find an appropriate plug-in for a particular package type. All interactions between the rest of Murano and package file contents are done through the plug-in interface alone. Because Murano never directly accesses files inside the packages, it is possible for plug-ins to dynamically generate MuranoPL classes on the fly. Those classes will be served as adapters between Murano and third-party systems responsible for deployment of particular package types. Thus, for Murano all packages remain to be of MuranoPL type though some of them are "virtual". The format identifier has the following format: ``Name/Version``. For example, ``Heat.HOT/1.0``. If name is not present, it is assumed to be ``MuranoPL`` (thus ``1.0`` becomes ``MuranoPL/1.0``). Version strings are in SemVer three-component format (major.minor.patch). Missing version components are assumed to be zero (thus 1.0 becomes 1.0.0). Installing a plug-in -------------------- To use a plug-in, install it on murano nodes in the same Python environment with murano engine service. To install a plug-in: #. Execute the plug-in setup script. Alternatively, use a package deployment tool, such as pip: .. code-block:: console cd plugin_dir pip install . #. Restart murano engine. After that, it will be possible to upload and deploy the applications that use the capabilities that a plug-in provides. Plug-in versioning ------------------ Plug-ins located in Murano repository have the same version as Murano. Therefore, to use a specific version of such plug-in, checkout to this version. Then specify the version of plug-in classes in your application's manifest file as usual: .. code-block:: yaml Require: murano.plugins.example: 2.0.0 It should be standard SemVer format version string consisting of three parts: Major.Minor.Patch. For more information about versioning, refer to :ref:`versioning`. .. note:: Enable Glare to use versioning. Organization ------------ Documentation +++++++++++++ Documentation helps users understand what your plug-in does. For plug-ins located in the Murano repository, create a ``README.rst`` file in the main folder of the plug-in. The ``README.rst`` file may contain information about the plug-in and an installation guide. Code ++++ The code of your plug-in may be located in the following repositories: * Murano repository. In this case, the plug-in should be located in the ``murano/contrib/plugins`` folder. * A separate repository. In this case, create your own project. Bugs ++++ All bugs for specific plug-ins are reported in their projects. Bugs related to plug-ins located in Murano repository should be reported in the `Murano `_ project. murano-9.0.0/doc/source/contributor/contributor_index.rst0000664000175000017500000000035413656750211023765 0ustar zuulzuul00000000000000.. index:: Murano Contributor Guide .. _contributor-guide: Contributor Guide ~~~~~~~~~~~~~~~~~ .. toctree:: :maxdepth: 2 how_to_contribute dev_guidelines plugins dev_env testing doc_guidelines stable_branchesmurano-9.0.0/doc/source/contributor/how_to_contribute.rst0000664000175000017500000000057213656750211023763 0ustar zuulzuul00000000000000.. _how_to_contribute: ================= How to contribute ================= .. TODO add a brief intro: - Intended audience. - How to start developing? - How a new-comer can contribute? - Communication channels - Useful links for an OpenStack contributor - consider the context of https://docs.openstack.org/sahara/latest/contributor/how-to-participate.html murano-9.0.0/doc/source/contributor/doc_guidelines.rst0000664000175000017500000000014013656750211023172 0ustar zuulzuul00000000000000.. _doc-guidelines: ======================== Documentation guidelines ======================== murano-9.0.0/doc/source/contributor/testing.rst0000664000175000017500000000043613656750211021702 0ustar zuulzuul00000000000000.. _testing: ======= Testing ======= Testing guidelines ~~~~~~~~~~~~~~~~~~ Continuous Integration service ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ UI testing ~~~~~~~~~~ Tempest tests ~~~~~~~~~~~~~ Automated testing machinery ~~~~~~~~~~~~~~~~~~~~~~~~~~~ CI design --------- CI jobs ------- murano-9.0.0/doc/source/contributor/dev_guidelines.rst0000664000175000017500000000216013656750211023207 0ustar zuulzuul00000000000000.. _dev-guidelines: ====================== Development guidelines ====================== Conventions ~~~~~~~~~~~ High-level overview of Murano components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Coding guidelines ~~~~~~~~~~~~~~~~~ There are several significant rules for the Murano developer: * Follow PEP8 and OpenStack style guidelines. * Do not import functions. Only module imports are accepted. * Make commits as small as possible. It speeds up review of the change. * Six library usage rule: use it only when really necessary (for example if existing code will not work in python 3 at all). * Mark application name in the 1st line of commit message for murano-apps repository, i.e. [Apache] or [Kubernetes]. * Prefer code readability over performance unless the situations when performance penalty can be proven to be big. * Write Py3-compatible code. If that's impossible leave comment. Rules for MuranoPL coding style: * Use camelCase for MuranoPL functions/namespaces/variables/properties, PascalCase for class names. * Consider using ``$this`` instead of ``$`` where appropriate. Debug tips ~~~~~~~~~~ murano-9.0.0/doc/source/contributor/plugins.rst0000664000175000017500000000064613656750211021711 0ustar zuulzuul00000000000000.. _plugins: =============== Murano plug-ins =============== Murano plug-ins help to extend the capability of murano. There are two types of murano plug-ins which serve different purposes: * Extend murano Core Library by implementing additional functionality. * Add new package type classes. This section contains the following topics: .. toctree:: :maxdepth: 2 plugins/murano_plugins plugins/manage_pluginsmurano-9.0.0/doc/source/contributor/dev_env.rst0000664000175000017500000000012613656750211021647 0ustar zuulzuul00000000000000.. _dev-env: ======================= Development environment ======================= murano-9.0.0/doc/source/admin/0000775000175000017500000000000013656750351016213 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/admin/appdev-guide/0000775000175000017500000000000013656750351020565 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/admin/appdev-guide/muranopackages/0000775000175000017500000000000013656750351023565 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/admin/appdev-guide/muranopackages/repository.rst0000664000175000017500000000332013656750211026527 0ustar zuulzuul00000000000000.. _repository: Murano package repository ~~~~~~~~~~~~~~~~~~~~~~~~~ Murano client and dashboard can install both packages and bundles of packages from murano repository. To do so you should set MURANO_REPO_URL settings in murano dashboard or MURANO_REPO_URL env variable for the CLI client, and use a respective command to import the package. These commands automatically import all the prerequisites required to install the application along with any images mentioned in the applications. Setting up your own repository ------------------------------ It is fairly easy to set up your own murano package repository. To do so you need a web server that would serve 3 directories: * /apps/ * /bundles/ * /images/ When importing an application by name, the client appends any version info, if present to the application name, ``.zip`` file extension and searches for that file in the ``apps`` directory. When importing a bundle by name, the client appends ``.bundle`` file extension to the bundle name and searches it in the bundles directory. A bundle file is a JSON or a YAML file with the following structure: .. code-block:: json {"Packages": [ {"Name": "com.example.ApacheHttpServer"}, {"Version": "", "Name": "com.example.Nginx"}, {"Version": "0.0.1", "Name": "com.example.Lighttpd"} ] } Glance images can be auto-imported by the client, when mentioned in ``images.lst`` inside the package. Please see :ref:`step-by-step` for more information about package composition. When importing images from the ``image.lst`` file, the client simply searches for a file with the same name as the name attribute of the image in the ``images`` directory of the repository. murano-9.0.0/doc/source/admin/appdev-guide/muranopackages/package_structure.rst0000664000175000017500000000215313656750211030026 0ustar zuulzuul00000000000000.. _package_structure: Package structure ~~~~~~~~~~~~~~~~~ The structure of the Murano application package is predefined. An application could be successfully uploaded to an application catalog. The application package root folder should contain the following: **manifest.yaml** file is an application entry point. .. note:: the filename is fixed, do not use any custom names. **Classes** folder contains MuranoPL class definitions. **Resources** folder contains execution plan templates and the **scripts** folder with all the files required for an application deployment located in it. **UI** folder contains the dynamic UI YAML definitions. **logo.png** file (optional) is an image file associated to your application. .. note:: There are no any special limitations regarding an image filename. Though, if it differs from the default ``logo.png``, specify it in an application manifest file. **images.lst** file (optional) contains a list of images required by an application. Here is the visual representation of the Murano application package structure: .. image:: ../figures/structure.png murano-9.0.0/doc/source/admin/appdev-guide/muranopackages/dynamic_ui.rst0000664000175000017500000006544013656750211026444 0ustar zuulzuul00000000000000.. _DynamicUISpec: Dynamic UI definition specification ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The main purpose of Dynamic UI is to generate application creation forms "on-the-fly". The Murano dashboard does not know anything about applications that will be presented in the catalog and which web forms are required to create an application instance. So all application definitions should contain an instruction, which tells the dashboard how to create an application and what validations need to be applied. This document will help you to compose a valid UI definition for your application. The UI definition should be a valid YAML file and may contain the following sections (for version 2.x): * **Version** Points out the syntax version in use. *Optional* * **Templates** An auxiliary section, used together with an Application section to help with object model composing. *Optional* * **Parameters** An auxiliary section for evaluated once parameters. *Optional* * **ParametersSource** A static action name (ClassName.methodName) to call for additional parameters. *Optional* * **Application** Object model description passed to murano engine and used for application deployment. *Required* * **Forms** Web form definitions. *Required* .. _DynamicUIversion: Version ------- The syntax and format of dynamic UI definitions may change over time, so the concept of *format versions* is introduced. Each UI definition file may contain a top-level section called *Version* to indicate the minimum version of Murano Dynamic UI platform which is capable to process it. If the section is missing, the format version is assumed to be latest supported. The version consists of two non-negative integer segments, separated by a dot, i.e. has a form of *MAJOR.MINOR*. Dynamic UI platforms having the same MAJOR version component are compatible: i.e. the platform having the higher version may process UI definitions with lower versions if their MAJOR segments are the same. For example, Murano Dynamic UI platform of version 2.2 is able to process UI definitions of versions 2.0, 2.1 and 2.2, but is unable to process 3.0 or 1.9. Currently, the latest version of Dynamic UI platform is 2.3. It is incompatible with UI definitions of Version 1.0, which were used in Murano releases before Juno. .. note:: Although the ``Version`` field is considered to be optional, its default value is the latest supported version. So if you intent to use applications with the previous stable murano version, verify that the version is set correctly. Version history ~~~~~~~~~~~~~~~ +---------+-------------------------------------------------------------------+-------------------+ | Version | Changes | OpenStack Version | +=========+===================================================================+===================+ | 1.0 | - Initial Dynamic UI implementation | Icehouse | +---------+-------------------------------------------------------------------+-------------------+ | 2.0 | - *instance* field support is dropped | Juno, Kilo | | | - New *Application* section that describes engine object model | | | | - New *Templates* section for keeping reusable pieces of Object | | +---------+-------------------------------------------------------------------+-------------------+ | 2.1 | - New *network* field provides a selection of networks and | Liberty | | | their subnetworks as a dropdown populated with those which are | | | | available to the current tenant. | | +---------+-------------------------------------------------------------------+-------------------+ | 2.2 | - Now *application name* is added automatically to the last | Liberty | | | service form. It is needed for a user to recognize one | | | | created application from another in the UI. Previously all | | | | application definitions contained the *name* property. So to | | | | support backward compatibility, you need to manually remove | | | | *name* field from class properties. | | +---------+-------------------------------------------------------------------+-------------------+ | 2.3 | - Now *password* field supports ``confirmInput`` flag and | Mitaka | | | validator overloading with single ``regexpValidator`` or | | | | multiple *validators* attribute. | | +---------+-------------------------------------------------------------------+-------------------+ | 2.4 | - Parameters and ParametersSource sections were added | Ocata | | | - ref() YAQL function were added to Application DSL | | | | - YAQL expressions can be used anywhere in the form definition | | | | - choice control accepts choices in dictionary format | | +---------+-------------------------------------------------------------------+-------------------+ Application ----------- The Application section describes an *application object model*. The model is a dictionary (document) of application property values (inputs). Property value might be of any JSON-serializable type (including lists and maps). In addition the value can be of an object type (another application, application component, list of components etc.). Object properties are represented either by the object model of the component (i.e. dictionary) or by an object ID (string) if the object was already defined elsewhere. Each object definition (including the one in Application itself) must have a special ``?`` key called ``object header``. This key holds object metadata most important of which is the object type name. Thus the Application might look like this: .. code-block:: yaml Application: ?: type: "com.myCompany.myNamespace.MyClass" property1: "string property value" property2: 123 property3: key1: value1 key2: [1, false, null] property4: ?: type: "com.myCompany.myNamespace.MyComponent" property: value However in most cases the values in object model should come from input fields rather than being static as in example above. To achieve this, object model values can also be of a `YAQL ` expression type. With expressions language it becomes possible to retrieve input control values, do some calculations and data transformations (queries). Any YAML value that is not enclosed in quote marks and conforms to the YAQL syntax is considered to be a YAQL expression. There is also an explicit YAML tag for the YAQL expressions: ``!yaql``. So with the YAQL addition ``Application`` section might look like this: .. code-block:: yaml Application: ?: type: "com.myCompany.myNamespace.MyClass" property1: $.formName.controlName property2: 100 + 20 + 3 property3: !yaql "'KEY1'.toLower()'": !yaql "value1 + '1'" key2: [$parameter, not true] property4: null When evaluating YAQL expressions ``$`` is set to the forms data (list of dictionaries with cleaned validated forms' data) and templates and parameters are available using $templateName ($parameterName) syntax. See below on templates and parameters. YAQL comes with hundreds of functions bundled. In addition to that there are another four functions provided by murano dashboard: * **generateHostname(pattern, index)** is used for a machine hostname template generation. It accepts two arguments: name pattern (string) and index (integer). If '#' symbol is present in name pattern, it will be replaced with the index provided. If pattern is an empty string, a random name will be generated. * **repeat(template, times)** is used to produce a list of data snippets, given the template snippet (first argument) and number of times it should be reproduced (second argument). Inside that template snippet current step can be referenced as *$index*. * **name()** returns current application name. * **ref(templateName [, parameterName] [, idOnly])** is used to generate object definition from the template and then reference it several times in the object model. This function evaluates template ``templateName`` and fixes the result in parameters under ``parameterName`` key (or ``templateName`` if the second parameter was omitted). Then it generates object ID and places it into ``?/id`` field. On the first use of ``parameterName`` or if ``idOnly`` is ``false`` the function will return the whole object structure. On subsequent calls or if ``idOnly`` is ``true`` it will return the ID that was generated upon the first call. Templates --------- It is often that application object model contains number of similar instances of the same component/class. For example it might be list of servers for multi-server application or list of nodes or list of components. For such cases UI definition markup allow to give the repeated object model snippet a name and then refer to it by the name in the application object model. Such snippets are placed into ``Templates`` section: .. code-block:: yaml Templates: primaryController: ?: type: "io.murano.windows.activeDirectory.PrimaryController" host: ?: type: "io.murano.windows.Host" adminPassword: $.appConfiguration.adminPassword name: generateHostname($.appConfiguration.unitNamingPattern, 1) flavor: $.instanceConfiguration.flavor image: $.instanceConfiguration.osImage secondaryController: ?: type: "io.murano.windows.activeDirectory.SecondaryController" host: ?: type: "io.murano.windows.Host" adminPassword: $.appConfiguration.adminPassword name: generateHostname($.appConfiguration.unitNamingPattern, $index + 1) flavor: $.instanceConfiguration.flavor image: $.instanceConfiguration.osImage Then the template can be inserted into application object model or to another template using ``$templateName`` syntax. It is often case that it is used together with ``repeat`` function to put several instances of template. In this case templates may use of ``$index`` variable which will hold current iteration number: .. code-block:: yaml Application: ?: type: io.murano.windows.activeDirectory.ActiveDirectory primaryController: $primaryController secondaryControllers: repeat($secondaryController, $.appConfiguration.dcInstances - 1) It is important to remember that templates are evaluated upon each access or ``repeat()`` iteration. Thus if the template has some properties set to a random or generated values they are going to be different for each instance of the template. Another use case for templates is when single object is referenced several times within application object model: .. code-block:: yaml Templates: instance: ?: type: "io.murano.resources.LinuxMuranoInstance" image: myImage flavor: "m1.small" Application: ?: type: "com.example.MyApp" components: - ?: type: "com.example.MyComponentType1" instance: ref(instance) - ?: type: "com.example.MyComponentType2" instance: ref(instance) In example above there are two components that uses the same server instance. If this example had ``$instance`` instead of ``ref(instance)`` that would be two unrelated servers based on the same template i.e. with the same image and flavor, but not the same VM. Parameters and ParametersSource ------------------------------- Parameters are values that are used to parametrize the UI form and/or application object model. Parameters are put into ``Parameters`` section and accessed using ``$parameterName`` syntax: .. code-block:: yaml Parameters: param1: "Hello!" Application: ?: type: "com.example.MyApp" stringProperty: $param1 Parameters are very similar to Templates with two differences: #. Parameter values are evaluated only once per application instance at the very beginning whereas templates are evaluated on each access. #. Parameter values can be used to initialize UI control attributes (e.g. initial text box value, list of choices for a drop down etc.) However the most powerful feature about parameters is that their values might be obtained from the application class. Here is how to do it: #. In one of the classes in the MuranoPL package (usually the main application class define a static action method without arguments that returns a dictionary of variables: .. code-block:: yaml Name: "com.example.MyApp" Methods: myMethod: Usage: Static Scope: Public Body: # arbitrary MuranoPL code can be used here Return: var1: value1 var2: 123 #. In UI definition file add .. code-block:: yaml ParametersSource: "com.example.MyApp.myMethod" The class name may be omitted. In this case the dashboard will try to use the type of Application object or package FQN for that purpose. The values returned by the method are going to be merged into Parameters section like if they were defined statically. Forms ----- This section describes markup elements for defining forms, which are currently rendered and validated with Django. Each form has a name, field definitions (mandatory), and validator definitions (optionally). Note that each form is split into 2 parts: * **input area** - left side, where all the controls are located * **description area** - right side, where descriptions of the controls are located Each field should contain: * **name** - system field name, could be any * **type** - system field type Currently supported options for **type** attribute are: * *string* - text field (no inherent validations) with one-line text input * *boolean* - boolean field, rendered as a checkbox * *text* - same as string, but with a multi-line input * *integer* - integer field with an appropriate validation, one-line text input * *choice* - drop-down list of variants. Each variant has a display string that is going to be displayed to the user and associated key that is going to be a control value * *password* - text field with validation for strong password, rendered as two masked text inputs (second one is for password confirmation) * *clusterip* - specific text field, used for entering cluster IP address (validation for valid IP address syntax) * *databaselist* - specific field, a list of databases (comma-separated list of databases' names, where each name has the following syntax first symbol should be latin letter or underscore; subsequent symbols can be latin letter, numeric, underscore, at the sign, number sign or dollar sign), rendered as one-line text input * *image* - specific field, used for filtering suitable images by image type provided in murano metadata in glance properties. * *flavor* - specific field, used for selection instance flavor from a list * *keypair* - specific field, used for selecting a keypair from a list * *azone* - specific field, used for selecting instance availability zone from a list * *network* - specific field, used to select a network and subnet from a list of the ones available to the current user * *securitygroup* - specific field, used for selecting a custom security group to assign to the instance * *volume* - specific field, used for selecting a volume or a volume snapshot from a list of available volumes (and volume snapshots) * any other value is considered to be a fully qualified name for some Application package and is rendered as a pair of controls: one for selecting already existing Applications of that type in an Environment, second - for creating a new Application of that type and selecting it Other arguments (and whether they are required or not) depends on a field's type and other attributes values. Most of them are standard Django field attributes. The most common attributes are the following: * **label** - name, that will be displayed in the form; defaults to **name** being capitalized. * **description** - description, that will be displayed in the description area. Use YAML line folding character ``>-`` to keep the correct formatting during data transferring. * **descriptionTitle** - title of the description, defaults to **label**; displayed in the description area * **hidden** whether field should be visible or not in the input area. Note that hidden field's description will still be visible in the descriptions area (if given). Hidden fields are used storing some data to be used by other, visible fields. * **minLength**, **maxLength** (for string fields) and **minValue**, **maxValue** (for integer fields) are transparently translated into django validation properties. * **choices** - a choices for the ``choice`` control type. The format is ``[["key1", "display value1"], ["key2", "display value2"]]``. Starting from version 2.4 this can also be passed as a ``{key1: "display value1", key2: "display value2"}`` * **regexpValidator** - regular expression to validate user input. Used with *string* or *password* field. * **errorMessages** - dictionary with optional 'invalid' and 'required' keys that set up what message to show to the user in case of errors. * **validators** is a list of dictionaries, each dictionary should at least have *expr* key, under that key either some `YAQL `_ expression is stored, either one-element dictionary with *regexpValidator* key (and some regexp string as value). Another possible key of a validator dictionary is *message*, and although it is not required, it is highly desirable to specify it - otherwise, when validator fails (i.e. regexp doesn't match or YAQL expression evaluates to false) no message will be shown. Note that field-level validators use YAQL context different from all other attributes and section: here *$* root object is set to the value of field being validated (to make expressions shorter). .. code-block:: yaml - name: someField type: string label: Domain Name validators: - expr: regexpValidator: '(^[^.]+$|^[^.]{1,15}\..*$)' message: >- NetBIOS name cannot be shorter than 1 symbol and longer than 15 symbols. - expr: regexpValidator: '(^[^.]+$|^[^.]*\.[^.]{2,63}.*$)' message: >- DNS host name cannot be shorter than 2 symbols and longer than 63 symbols. helpText: >- Just letters, numbers and dashes are allowed. A dot can be used to create subdomains Using of *regexpValidator* and *validators* attributes with *password* field was introduced in version 2.3. By default, password should have at least 7 characters, 1 capital letter, 1 non-capital letter, 1 digit, and 1 special character. If you do not want password validation to be so strong, you can override it by setting a custom validator or multiple validators for password. For that add *regexpValidator* or *validators* to the *password* field and specify custom regexp string as value, just like with any *string* field. *Example* .. code-block:: yaml - name: password type: password label: Password descriptionTitle: Password description: >- Please, provide password for the application. Password should be 5-50 characters long and consist of alphanumeric characters regexpValidator: '^[a-zA-Z0-9]{5,50}?$' * **confirmInput** is a flag used only with password field and defaults to ``true``. If you decided to turn off automatic password field cloning, you should set it to ``false``. In this case password confirmation is not required from a user. * **widgetMedia** sets some custom *CSS* and *JavaScript* used for the field's widget rendering. Note, that files should be placed to Django static folder in advance. Mostly they are used to do some client-side field enabling/disabling, hiding/unhiding etc. * **requirements** is used only with flavor field and prevents user to pick unstable for a deployment flavor. It allows to set minimum ram (in MBs), disk space (in GBs) or virtual CPU quantity. Example that shows how to hide items smaller than regular *small* flavor in a flavor select field: .. code-block:: yaml - name: flavor type: flavor label: Instance flavor requirements: min_disk: 20 min_vcpus: 2 min_memory_mb: 2048 * **include_snapshots** is used only with the volume field. ``True`` by default. If ``True``, the field list includes available volumes and volume snapshots. If set to ``False``, only available volumes are shown. * **include_subnets** is used only with network field. ``True`` by default. If ``True``, the field list includes all the possible combinations of network and subnet. E.g. if there are two available networks X and Y, and X has two subnets A and B, while Y has a single subnet C, then the list will include 3 items: (X, A), (X, B), (Y, C). If set to ``False`` only network names will be listed, without their subnets. * **filter** is used only with network field. ``None`` by default. If set to a regexp string, will be used to display only the networks with names matching the given regexp. * **murano_networks** is used only with network field. ``None`` by default. May have values ``None``, ``exclude`` or ``translate``. Defines the handling of networks which are created by murano. Such networks usually have very long randomly generated names, and thus look ugly when displayed in the list. If this value is set to ``exclude`` then these networks are not shown in the list at all. If set to ``translate`` the names of such networks are replaced by a string ``Network of %env_name%``. .. note:: This functionality is based on the simple string matching of the network name prefix and the names of all the accessible murano environments. If the environment is renamed after the initial deployment this feature will not be able to properly translate or exclude its network name. * **allow_auto** is used only with network field. ``True`` by default. Defines if the default value of the dropdown (labeled "Auto") should be present in the list. The default value is a tuple consisting of two ``None`` values. The logic on how to treat this value is up to application developer. It is suggested to use this field to indicate that the instance should join default environment network. For use-cases where such behavior is not desired, this parameter should be set to ``False``. *Network* field and its specific attributes (*include_subnets*, *filter*, *murano_networks*, *allow_auto*) are available since version 2.1. Before that, there was no way for the end user to select existing network in the UI. The only way to change the default networking behavior was the usage of networking.yaml file. It allows to override the networking setting at the environment level, for all the murano environments of all the tenants. Now you can simple add a *network* field to your form definition and provide the ability to select the desired network for the specific application. *Example* .. code-block:: yaml - instanceConfiguration: fields: - name: network type: network label: Network description: Select a network to join. 'Auto' corresponds to a default environment's network. murano_networks: translate Besides field-level validators, form-level validators also exist. They use **standard context** for YAQL evaluation and are required when there is a need to validate some form's constraint across several fields. *Example* .. code-block:: yaml Forms: - appConfiguration: fields: - name: dcInstances type: integer hidden: true initial: 1 required: false maxLength: 15 helpText: Optional field for a machine hostname template - name: unitNamingPattern type: string label: Instance Naming Pattern required: false maxLength: 64 regexpValidator: '^[a-zA-Z][-_\w]*$' errorMessages: invalid: Just letters, numbers, underscores and hyphens are allowed. helpText: Just letters, numbers, underscores and hyphens are allowed. description: >- Specify a string that will be used in a hostname instance. Just A-Z, a-z, 0-9, dash, and underline are allowed. - instanceConfiguration: fields: - name: title type: string required: false hidden: true descriptionTitle: Instance Configuration description: Specify some instance parameters based on which service will be created. - name: flavor type: flavor label: Instance flavor description: >- Select a flavor registered in OpenStack. Consider that service performance depends on this parameter. required: false - name: osImage type: image imageType: windows label: Instance image description: >- Select valid image for a service. Image should already be prepared and registered in glance. - name: availabilityZone type: azone label: Availability zone description: Select an availability zone, where service will be installed. required: false validators: # if unitNamingPattern is given and dcInstances > 1, then '#' should occur in unitNamingPattern - expr: $.appConfiguration.dcInstances < 2 or not $.appConfiguration.unitNamingPattern.bool() or '#' in $.appConfiguration.unitNamingPattern message: Incrementation symbol "#" is required in the Instance Naming Pattern Control attributes might be initialized with a YAQL expression. However prior to version 2.4 it only worked for forms other than the first. It was designed to initialize controls with values input on the previous step. Starting with version 2.4 this limitation was removed and it become possible to use arbitrary YAQL expressions for any of control fields on any forms and use parameter values as part of these expressions. murano-9.0.0/doc/source/admin/appdev-guide/garbage_collection.rst0000664000175000017500000001163613656750211025124 0ustar zuulzuul00000000000000.. _garbage_collection: ===================================== Garbage collection system in MuranoPL ===================================== A garbage collection system (GC) manages the deallocation of resources in murano. The garbage collection system implementation is based on the execution of special ``.destroy()`` methods that you may define in MuranoPL classes. These methods contain logic to deallocate any resources that were allocated by MuranoPL objects. During deployment all objects that are not referenced by any other object and that are not present in the object model anymore is deleted by GC. * The ``.destroy()`` methods are executed for each class in the class hierarchy of the object that has this method. Child classes cannot prevent parent classes ``.destroy`` from being called and cannot call base classes implementation manually * ``.destroy()`` methods for class hierarchy are called in reversed order from that of ``.init()`` - starting from the actual object type and up to the `io.murano.Object` class * If object `Bar` is owned (directly or indirectly) by object `Foo` then `Bar` is going to be destroyed before `Foo`. There is a way for `Foo` to get notified on `Bar`'s destruction so that it can prepare for it. See below for details. * For objects that are not related to each other the destruction order is undefined. However objects may establish destruction dependency between them to establish the order. * Unrelated objects might be destroyed in different green threads. * Any exceptions thrown in the ``.destroy()`` methods are muted (but still logged). Destruction dependencies may be used to notify `Foo` of `Bar`'s destruction even if `Bar` is not owned by `Foo`. If you subscribe `Foo` to `Bar`'s destruction, the following will happen: * `Foo` will be notified when `Bar` is about to be destroyed. * If both `Foo` and `Bar` are going to be destroyed in the same garbage collection execution, `Bar` will be destroyed before `Foo`. Garbage collector methods ~~~~~~~~~~~~~~~~~~~~~~~~~ Murano garbage collector class (``io.murano.system.GC``) has the following methods: ``collect()`` Initiates garbage collection of unreferenced objects of current deployment. Usually, it is called by murano ``ObjectStore`` object during deployment. However, it can be called from MuranoPL code like ``io.murano.system.GC.collect()``. ``isDestroyed(object)`` Checks if the ``object`` was already destroyed during a GC session and thus its methods cannot be called. ``isDoomed(object)`` Can be used within the ``.destroy()`` method to check if another object is also going to be destroyed. ``subscribeDestruction(publisher, subscriber, handler=null)`` Establishes a destruction dependency from the ``subscriber`` to the object passed as ``publisher``. This method may be called several times with the same arguments. In this case, only a single destruction dependency will be established. However, the same amount of calls of ``unsubscribeDestruction`` will be required to remove it. The ``handler`` argument is optional. If passed, it should be the name of an instance method defined by the caller class to handle the notification of ``publisher`` destruction. The following argument will be passed to the ``handler`` method: ``object`` A target object that is going to be destroyed. It is not recommended persisting the reference to this object anywhere. This will not prevent the object from being garbage collected but the object will be moved to the "destroyed" state. This is an advanced feature that should not be used unless it is absolutely necessary. ``unsubscribeDestruction(publisher, subscriber, handler=null)`` Removes the destruction dependency from the ``subscriber`` to the object passed as ``publisher``. The method may be called several times with the same arguments without any side effects. If ``subscribeDestruction`` was called more than once, the same (or more) amount of calls to ``unsubscribeDestruction`` is needed to remove the dependency. The ``handler`` argument is optional and must correspond to the handler passed during subscription if it was provided. Using destruction dependencies ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To use direct destruction dependencies in your murano applications, use the methods from MuranoPL ``io.murano.system.GC``. To establish a destruction dependency, call the ``io.murano.system.GC.subscribeDestruction`` method in you application code: .. code-block:: console .init: Body: - If: $.publisher Then: - sys:GC.subscribeDestruction($.publisher, $this, onPublisherDestruction) In the example above, ``onPublisherDestruction`` is a `Foo` object method that will be called when `Bar` is destroyed. If you do not want to do something specific with the destroyed object omit the third parameter. The destruction dependencies will be persisted between deployments and deserialized from the objects model to murano object. murano-9.0.0/doc/source/admin/appdev-guide/encrypting_properties.rst0000664000175000017500000000377313656750211025762 0ustar zuulzuul00000000000000.. _encrypting-properties: ================================= Managing Sensitive Data in Murano ================================= Overview -------- If you are developing a Murano application that manages sensitive data such as passwords, user data, etc, you may want to ensure this is stored in a secure manner in the Murano backend. Murano offers two `yaql` functions to do this, `encryptData` and `decryptData`. .. note:: Barbican or a similar compatible secret storage backend must be configured to use this feature. Configuring ----------- Murano makes use of Castellan_ to manage encryption using a supported secret storage backend. As of OpenStack Pike, Barbican_ is the only supported backend, and hence is the one tested by the Murano community. To configure Murano to use Barbican, place the following configuration into `murano-engine.conf`:: [key_manager] auth_type = keystone_password auth_url = username = password = user_domain_name = Similarly, place the following configuration into `_50_murano.py` to configure the murano-dashboard end:: KEY_MANAGER = { 'auth_url': '/v3', 'username': '', 'user_domain_name': '', 'password': '', 'project_name': '', 'project_domain_name': '' } .. note:: Horizon config must be valid Python, so the quotes above are important. Example ------- `encryptData(foo)`: Call to encrypt string `foo` in storage. Will return a `uuid` which is used to retrieve the encrypted value. `decryptData(foo_key)`: Call to decrypt and retrieve the value represented by `foo_key` from storage. There is an example application available in the murano repository_. .. _Castellan: https://opendev.org/openstack/castellan .. _Barbican: https://opendev.org/openstack/barbican .. _repository: https://opendev.org/openstack/murano/src/branch/master/contrib/packages/EncryptionDemo murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/0000775000175000017500000000000013656750351023121 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/part3.rst0000664000175000017500000007245013656750211024707 0ustar zuulzuul00000000000000Part 3: Creating a Plone CMS application package ------------------------------------------------ If you've completed "Hello, World" scenarios in the previous parts and are ready for some serious tasks, we've got a good example here. Let's automate the deployment of some real application. We've chosen a "Plone CMS" for this purpose. Plone is a simple, but powerful and flexible Content Management System which can efficiently run on cloud. Its deployment scenario can be very simple for demo cases and can become really complicated for production-grade usage. So it's a good playground: in this part we'll create a Murano application to address the simplest scenario, then we will gradually add more features of production-grade deployments. .. note:: To learn more about Plone, its features, capabilities and deployment scenarios you may visit the `Official website of Plone Foundation `_. The goal ~~~~~~~~ Simplest deployment of Plone CMS requires a single server, or, in the case of OpenStack, a Virtual Machine, to run on. Then a software should be downloaded and configured to run on that server. So, as a bare minimum our Plone application package for Murano should automate the following steps: #. Provision a virtual machine in OpenStack (VM); #. Configure ths VM's network connectivity and security; #. Download a distribution of Plone from Internet to the virtual machine; #. Install the distribution and configure some of its parameters with user input. Preparation ~~~~~~~~~~~ First let's revisit what we've learned in previous parts and create a new application package with its manifest and create a class file to contain the logic of your app. Create a new directory for a package, call it ``PloneApp``. Create a ``manifest.yaml`` file as described in part 1 of this tutorial in the root of the package and fill it with data: name your package ``com.yourdomain.Plone``, set its type to ``Application``, give it a display name of "Plone CMS" and put your name as the author of the package: .. code-block:: yaml :linenos: FullName: com.yourdomain.Plone Name: Plone CMS Description: Simple Plone Deployment Type: Application Author: John Doe Then create a ``Classes`` sub directory inside your package directory and create a ``plone.yaml`` there. This will be your application class. At the top of this file declare a `Namespace` section: this will simplify the code and save time on typing long class names. Make your namespace (``com.yourdomain``) a default namespace of the file, also include the standard namespace for Murano applications - ``io.murano``, alias it as ``std``. Don't forget to include the ``Name`` of your class. Since you've declared a default namespace for a file you can name your class without a need to type its long part, just using the shortname. Also include the ``Extends`` section: same as in our "Hello, World" example this application will inherit the ``io.murano.Application`` class, but since we've aliased this namespace as well, it may be shortened to ``std:Application`` By now your class file should look like this: .. code-block:: yaml Namespaces: =: com.yourdomain std: io.murano Name: Plone Extends: std:Application We'll add the actual logic in the next section. Now, save the file and include it into the ``Classes`` section of your manifest.yaml, which should now look like this: .. code-block:: yaml :linenos: :emphasize-lines: 6-7 FullName: com.yourdomain.Plone Name: Plone CMS Description: Simple Plone Deployment Type: Application Author: John Doe Classes: com.yourdomain.Plone: plone.yaml You are all set and ready to go. Let's add the actual deployment logic. Library classes ~~~~~~~~~~~~~~~ Murano comes bundled with a so-called "Murano Core Library" - a Murano Package containing the classes to automate different scenarios of interaction with other entities such as OpenStack services or virtual machines. They follow object-oriented design: for example, there is a Murano class called ``Instance`` which represents an OpenStack virtual machine: if you create an object of this class and execute a method called ``deploy`` for it Murano will do all the needed system calls to OpenStack Services to orchestrate the provisioning of a virtual machine and its networking configuration. Then this object will contain information about the state and configuration of the VM, such as its hostname, ip addresses etc. After the VM is provisioned you can use its object to send the configuration scripts to the VM to install and configure software for your application. Other OpenStack resources such as Volumes, Networks, Ports, Routers etc also have their corresponding classes in the core library. Provisioning a VM ~~~~~~~~~~~~~~~~~ When creating your application package you can `compose` your application out of the components of core library. For example for an application which should run on a VM you can define an input property called ``instance`` and restrict the value type of this property to the aforementioned ``Instance`` class with a contract. Let's do that in the ``plone.yaml`` class file you've created. First, add a new namespace alias to your ``Namespaces`` section: shorten ``io.murano.resources`` as ``res``. This namespace of the core library contains all the resource classes, including the ``io.murano.resources.Instance`` which we need to define the virtual machine: .. code-block:: yaml :emphasize-lines: 4 Namespaces: =: com.yourdomain std: io.murano res: io.murano.resources Now, let's add an input property to your class: .. code-block:: yaml :linenos: Properties: instance: Usage: In Contract: $.class(res:Instance) Notice the contract at line 4: it limits the values of this property to the objects of class ``io.murano.resources.Instance`` or its subclasses. This defines that your application needs a virtual machine. Now let's ensure that it is provisioned - or provision it otherwise. Add a ``deploy`` method to your application class and call instance's deploy method from it: .. code-block:: yaml :linenos: Methods: deploy: Body: - $this.instance.deploy() That's very simple: you just access the ``instance`` property of your current object and run a method ``deploy`` for it. The core library defines this method of the ``Instance`` class in an `idempotent` manner: you may call it as many times as you want: the first call will actually provision the virtual machine in the cloud, while all the subsequent calls will no nothing, thus you may always call this method to ensure that the VM was properly provisioned. It's important since we define it as an input property: theoretically a user can pass an already-provisioned VM object as input, but you need to be sure. Always calling the ``deploy`` method is the best practice to follow. Running a command on the VM ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Once the VM has been provisioned you may execute various kinds of software configuration scenarios on it to install and configure the actual application on the VM. Murano supports different types of software configuration tools to be run on a VM, but the simplest and the most common type is just a shell script. To run a shell script on a virtual machine you may use a `static method` ``runCommand`` of class ``io.murano.configuration.Linux``. Since this method is static you do not need to create any objects of its class: you can just do something like: .. code-block:: yaml - type('io.murano.configuration.Linux').runCommand($server.agent, 'sudo apt-get update') or, if we declare another namespace prefix .. code-block:: yaml Namespaces: ... conf: io.murano.configuration this may be shortened to .. code-block:: yaml - conf:Linux.runCommand($server.agent, 'sudo apt-get update') In this case ``$server`` should be a variable containing an object of ``io.murano.resources.Instance`` class, everything you pass as a second argument (``apt get update`` in the example above) is the shell command to be executed on a VM. You may pass not just a single line, but a multi-line text: it will be treated as a shell script. .. note:: The shell scripts and commands you send to a VM are executed by a special software component running on the VM - a `murano agent`. For the most popular distributions of Linux (Debian, Ubuntu, Centos, Fedora, etc.) it automatically gets installed on the VM once it is provisioned, but for other distribution and non-Linux OSes it has to be manually pre-installed in the image. See :ref:`Building Murano Image ` for details. Loading a script from a resource file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Passing strings as a second argument of a ``runCommand`` method is convenient for short commands like the ``apt-get update`` shown in an example above. However for larger scripts it is not that useful. Instead it is preferable to load a script text from a file and run it. You can do that in Murano. For example, let's make a script which downloads, unpacks, installs and configures Plone CMS on our VM. First, create a directory called ``Resources`` inside your package directory. Then, create a file named ``install-plone.sh`` and put the following script there: .. code-block:: shell #!/bin/bash #input parameters PL_PATH="$1" PL_PASS="$2" PL_PORT="$3" # Write log. Redirect stdout & stderr into log file: exec &> /var/log/runPloneDeploy.log # echo "Update all packages." sudo apt-get update # Install the operating system software and libraries needed to run Plone: sudo apt-get install python-setuptools python-dev build-essential libssl-dev libxml2-dev libxslt1-dev libbz2-dev libjpeg62-dev # Install optional system packages for the handling of PDF and Office files. Can be omitted: sudo apt-get install libreadline-dev wv poppler-utils # Download the latest Plone unified installer: wget --no-check-certificate https://launchpad.net/plone/5.0/5.0.4/+download/Plone-5.0.4-UnifiedInstaller.tgz # Unzip the latest Plone unified installer: tar -xvf Plone-5.0.4-UnifiedInstaller.tgz cd Plone-5.0.4-UnifiedInstaller # Set the port that Plone will listen to on available network interfaces. Editing "http-address" param in buildout.cfg file: sed -i "s/^http-address = [0-9]*$/http-address = ${PL_PORT}/" buildout_templates/buildout.cfg # Run the Plone installer in standalone mode ./install.sh --password="${PL_PASS}" --target="${PL_PATH}" standalone # Start Plone cd "${PL_PATH}/zinstance" bin/plonectl start .. note:: As you can see, this script uses apt to install the prerequisite software packages, so it expects a Debian-compatible Linux distro as the VM operating system. This particular script was tested on Ubuntu 14.04. Other distros may have a different set of preinstalled software and thus require different additional prerequisites. The comments in the script give the needed explanation: the script installs all the prerequisites, downloads a targz archive with a distribution of Plone, unpacks it, edits the ``buildout.cfg`` file to specify the port Plone will listen at, then runs the installation script which is included in the distribution. When that script is finished, the Plone daemon is started. Save the file as ``Resources/install-plone.sh``. Now you may load its contents into a string variable in your class file. To do that, you need to use another static method: a ``string()`` method of a ``io.murano.system.Resources`` class: .. code-block:: yaml - $script: type('io.murano.system.Resources').string('install-plone.sh') or, with the introduction of another namespace prefix .. code-block:: yaml - $script: sys:Resources.string('install-plone.sh') But before sending this script to a VM, it needs to be parametrized: as you can see in the script snippet above, it declares three variables which are used to set the installation path in the VM's filesystem, a default administrator's password and a listening port. In the script these values are initialized with stubs ``$1``, ``$2`` and ``$3``, now we need to replace these stubs with the actual user input. To do that our class needs to define the appropriate input properties and then do string replacement. First, let's define the appropriate input properties in the ``Properties`` block of the class, right after the ``instance`` property: .. code-block:: yaml :linenos: :emphasize-lines: 6-18 Properties: instance: Usage: In Contract: $.class(res:Instance) installationPath: Usage: In Contract: $.string().notNull() Default: '/opt/plone' defaultPassword: Usage: In Contract: $.string().notNull() listeningPort: Usage: In Contract: $.int().notNull() Default: 8080 Now, let's replace the stub values in that script value we've loaded into the ``$script`` variable. This may be done using a ``replace`` function: .. code-block:: yaml - $script: $script.replace({"$1" => $this.installationPath, "$2" => $this.defaultPassword, "$3" => $this.listeningPort}) Finally, the resulting ``$script`` variable may be passed as a second argument of a ``runCommand`` method, while the first one should be the ``instance`` property, containing our VM-object: .. code-block:: yaml - conf:Linux.runCommand($this.instance.agent, $script) Configuring OpenStack Security ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ By now we've got code which provisions a VM and a script which deploys and configures Plone on it. However, in most OpenStack clouds this is not enough: usually all incoming traffic to all the VMs is blocked by default, so we need to configure security group of OpenStack to allow the incoming http calls to our VM on the port our Plone server listens at. To do that we need to use a ``securityGroupManager`` property of the ``Environment`` class which owns our application. That property contains an object of type ``io.murano.system.SecurityGroupManager``, which defines a ``addGroupIngress`` method. This method allows us to add a security group rule to allow incoming traffic of some type through a specific port within a port range. It accepts a list of YAML objects, each having four keys: ``FromPort`` and ``ToPort`` to define the boundaries of the port range, ``IpProtocol`` to define the type of the protocol and ``External`` boolean flag to indicate if the incoming traffic should be be allowed to originate from outside of the environment (if this flag is false, the traffic will be accepted only from the VMs deployed by the application in the same Murano environment). Let's do this in code: .. code-block:: yaml :linenos: - $environment: $this.find(std:Environment) - $manager: $environment.securityGroupManager - $rules: - FromPort: $this.listeningPort ToPort: $this.listeningPort IpProtocol: tcp External: true - $manager.addGroupIngress($rules) - $environment.stack.push() It's quite straightforward, just notice the last line. It is required, because current implementation of ``SecurityGroupManager`` relies on Heat underneath - it modifies the `Heat Stack` associated with our environment, but does not apply the changes to the actual cloud. To apply them the stack needs to be `pushed`, i.e. submitted to Heat Orchestration service. The last line does exactly that. Notifying end-user on Plone location ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When the deployment is completed and our instance of Plone server starts listening on a provisioned virtual machine, the end user has one last question to solve: to find out where it is. Of course, the user may use OpenStack Dashboard to list all the provisioned VMs, find the one which has just been created and look for its IP address. But that's inconvenient. It would be much better if Murano notified the end-user on where to find Plone once it is ready. We may utilize the same approach we used in the previous parts to say "Hello, World" - call a ``report`` method of ``reporter`` attribute of the ``Environment`` class. The tricky part is getting the IP address. Class ``io.murano.resources.Instance`` has an `output property` called ``ipAddresses``. Unlike input properties the output ones are not provided by users but are set by objects themselves while their methods are executed. The ``ipAddresses`` is assigned during the execution of ``deploy`` method of the VM. The value is the list of ip addresses assigned to different interfaces of the machine. Also, if the ``assignFloatingIp`` input property is set to ``true``, another output property will be set during the execution of ``deploy`` - a ``floatingIpAddress`` will contain the floating ip attached to the VM. Let's use this knowledge and build a proper report message: .. code-block:: yaml :linenos: - $message: 'Plone is up and running at ' - If: $this.instance.assignFloatingIp Then: - $message: $message + $this.instance.floatingIpAddress Else: - $message: $message + $this.instance.ipAddresses.first() - $message: $message + ":" + str($this.listeningPort) - $environment.reporter.report($this, $message) Note the usage of ``If`` expression: it is similar to other programming languages, just uses YAML keys to define the "if" and "else" blocks. This code creates a string variable called ``$message``, initializes it with the beginning of the message string, then appends either a floating ip address of the VM (if it's set) or the first of the regular ips otherwise. Then it appends a listening port after a colon character - and reports the resulting message to the user. Completing the Plone class ~~~~~~~~~~~~~~~~~~~~~~~~~~ We've got all the pieces to deploy our Plone application, now let's combine them together. Our final class file should look like this: .. code-block:: yaml Namespaces: =: com.yourdomain std: io.murano res: io.murano.resources sys: io.murano.system Name: Plone Extends: std:Application Properties: instance: Usage: In Contract: $.class(res:Instance) installationPath: Usage: In Contract: $.string().notNull() Default: '/opt/plone' defaultPassword: Usage: In Contract: $.string().notNull() listeningPort: Usage: In Contract: $.int().notNull() Default: 8080 Methods: deploy: Body: - $this.instance.deploy() - $script: sys:Resources.string('install-plone.sh') - $script: $script.replace({ "$1" => $this.installationPath, "$2" => $this.defaultPassword, "$3" => $this.listeningPort }) - type('io.murano.configuration.Linux').runCommand($this.instance.agent, $script) - $environment: $this.find(std:Environment) - $manager: $environment.securityGroupManager - $rules: - FromPort: $this.listeningPort ToPort: $this.listeningPort IpProtocol: tcp External: true - $manager.addGroupIngress($rules) - $environment.stack.push() - $formatString: 'Plone is up and running at {0}:{1}' - If: $this.instance.assignFloatingIp Then: - $address: $this.instance.floatingIpAddress Else: - $address: $this.instance.ipAddresses.first() - $message: format($formatString, $address, $this.listeningPort) - $environment.reporter.report($this, $message) That's all, our class is ready. Providing a UI definition ~~~~~~~~~~~~~~~~~~~~~~~~~ Last but not least, we need to add a UI definition file to define a template for the user input and create wizard steps. This time both are a bit more complicated than they were for the "Hello, World" app. First, let's create the wizard steps. It's better to decompose the UI into two steps: the first one will define the properties of a Virtual Machine, and the second one the configuration properties of the Plone application itself. .. code-block:: yaml :linenos: Forms: - instanceConfiguration: fields: - name: hostname type: string required: true - name: image type: image imageType: linux - name: flavor type: flavor - name: assignFloatingIp type: boolean - ploneConfiguration: fields: - name: installationPath type: string - name: defaultPassword type: password required: true - name: listeningPort type: integer This is familiar to what we had on the previous step, however there are several new types of fields: while the types ``integer`` and ``boolean`` are quite obvious - they will render a numeric up-and-down textbox and checkbox controls respectively - other field types are more specific. Field of type ``image`` will render a drop-down list allowing you to choose an image for your VM, and the list of images will contain only the ones having appropriate metadata associated (the type of metadata is defined by the ``imageType`` attribute: this particular example requires it to be tagged as "Generic Linux"). Field of type ``flavor`` will render a drop-down list allowing you to choose a flavor for your VM among the ones registered in Nova. Field of type ``password`` will render a pair of text-boxes in a password input mode (i.e. hiding all the input with '*'-characters). The rendered field will have appropriate validation: it will ensure that the values entered in both fields are identical (thus providing a "repeat password" functionality) and will also enforce password complexity check. This defines the basic UI, but it is not particularly user friendly: when MuranoDashboard renders the wizard it will label appropriate controls with the names of the fields, but they usually don't look informative and pretty. So, to improve the user experience you may add additional attributes to field descriptors here. ``label`` attribute allows you to define a custom label to be rendered next to appropriate control, ``description`` allows you to provide a longer text to be displayed on the form as a description of the control, and, finally, an ``initial`` attribute allows you define the default value to be entered into the control when it is shown to the end-user. Modify the ``Forms`` section to use these attributes: .. code-block:: yaml :linenos: :emphasize-lines: 6-9,14-17,20-23,26-28,33-36,38-39,44-46 Forms: - instanceConfiguration: fields: - name: hostname type: string label: Host Name description: >- Enter a hostname for a virtual machine to be created initial: plone-vm required: true - name: image type: image imageType: linux label: Instance image description: >- Select valid image for the application. Image should already be prepared and registered in glance. - name: flavor type: flavor label: Instance flavor description: >- Select registered in Openstack flavor. Consider that application performance depends on this parameter. - name: assignFloatingIp type: boolean label: Assign Floating IP description: >- Check to assign floating IP automatically - ploneConfiguration: fields: - name: installationPath type: string label: Installation Path initial: '/opt/plone' description: >- Enter the path on the VM filesystem to deploy Plone into - name: defaultPassword label: Admin password description: Default administrator's password type: password required: true - name: listeningPort type: integer label: Listening Port description: Port to listen at initial: 8080 Now, let's add an ``Application`` section to provide templated input for our app: .. code-block:: yaml :linenos: Application: ?: type: com.yourdomain.Plone instance: ?: type: io.murano.resources.LinuxMuranoInstance name: $.instanceConfiguration.hostname image: $.instanceConfiguration.image flavor: $.instanceConfiguration.flavor assignFloatingIp: $.instanceConfiguration.assignFloatingIp installationPath: $.ploneConfiguration.installationPath defaultPassword: $.ploneConfiguration.defaultPassword listeningPort: $.ploneConfiguration.listeningPort Note the ``instance`` part here: since our ``instance`` input property is not a scalar value but rather an object, we are placing another object template inside the appropriate section. Note that the type of this object is not ``io.murano.resources.Instance`` as you could expect based on the property contract, but a more specific class: ``LinuxMuranoInstance`` in the same namespace. Since this class inherits the former, it matches the contract, but it provides a more appropriate implementation than the base one. Let's combine the two snippets together, we'll get the final UI definition of our app: .. code-block:: yaml :linenos: Application: ?: type: com.yourdomain.Plone instance: ?: type: io.murano.resources.LinuxMuranoInstance name: $.instanceConfiguration.hostname image: $.instanceConfiguration.image flavor: $.instanceConfiguration.flavor assignFloatingIp: $.instanceConfiguration.assignFloatingIp installationPath: $.ploneConfiguration.installationPath defaultPassword: $.ploneConfiguration.defaultPassword listeningPort: $.ploneConfiguration.listeningPort Forms: - instanceConfiguration: fields: - name: hostname type: string label: Host Name description: >- Enter a hostname for a virtual machine to be created initial: 'plone-vm' required: true - name: image type: image imageType: linux label: Instance image description: >- Select valid image for the application. Image should already be prepared and registered in glance. - name: flavor type: flavor label: Instance flavor description: >- Select registered in Openstack flavor. Consider that application performance depends on this parameter. - name: assignFloatingIp type: boolean label: Assign Floating IP description: >- Check to assign floating IP automatically - ploneConfiguration: fields: - name: installationPath type: string label: Installation Path initial: '/opt/plone' description: >- Enter the path on the VM filesystem to deploy Plone into - name: defaultPassword label: Admin password description: Default administrator's password type: password required: true - name: listeningPort type: integer label: Listening Port description: Port to listen at initial: 8080 Save this file as a ``ui.yaml`` in a ``UI`` folder of your package. As a final touch add a logo to the package - save the image below to the root directory of your package as ``logo.png``: .. image:: plone-logo.png :width: 100 The package is ready. Zip it and import to Murano catalog. We are ready to try it. Deploying the package ~~~~~~~~~~~~~~~~~~~~~ Go to Murano Dashboard, create an environment and add a "Plone CMS" application to it. You'll see the nice wizard with all the field labels and descriptions you've added to the ui definition file: .. image:: plone-simple-step1.png :width: 50% .. image:: plone-simple-step2.png :width: 50% After the app is added to the environment, click the "Deploy this environment" button. The deployment will take about 10 minutes, depending on the speed of the VM's internet connection and the amount of packages to be updated. When it is over, check the "Last operation" column in the environment's list of components near the Plone component. It should contain a message "Plone is up and running at ..." followed by ip address and port: .. image:: plone-ready.png :width: 50% Enter this address to the address bar of your browser. You'll see the default management interface of Plone: .. image:: plone-admin.png :width: 50% If you click a "Create a new Plone site" button you'll be prompted for username and password. Use ``admin`` username and the password which you entered in the Wizard. See `Plone Documentation `_ for details on how to operate Plone. This concludes this part of the course. The application package we created demonstrates the basic capabilities of Murano for the deployments of real-world applications. However, the deployed configuration of Plone is not of production-grade service: it is just a single VM with all-in-one service topology, which is not a scalable or fault-tolerant solution. In the next part we will learn some advanced features which may help to bring more production-grade capabilities to our package. murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/plone-simple-step2.png0000664000175000017500000033521613656750211027273 0ustar zuulzuul00000000000000‰PNG  IHDR¶f&qÝô iCCPICC ProfileH‰•WXSÉž[R -)¡7AŠtЫ€t°’„ !¨ØË¢‚kAÅ‚]±­µ"Š…E°`÷ˆÊʺX°¡ò&t}í{çûæÎŸ3çœùÏÜs'3¨;²óósP rE…â¸ÐfJj“Ô (@P°ds$ùþ±±QÊpÿwy×YÃ^ë_Çÿ«hryH,Ä\ 'âcຜ|q!„¨7›^˜/Ãýk‹!Aˆ¸ óXW†3xŒÜ&!.bd*›-æ &ãÍ,âða5GGW(‚x3ľ› ñˆÇäææA¬N†Ø:ã»8ü¿Å̉ÉfóG°"¹ƒ„’üöÌÿs9þ·äæH‡ç0…*‡ÅÉr†ë¶7;/R†©ŸeDÇ@¬ñ%!Wn/Ã÷Ò°D¥}G× 0@— ±Ä iv¢¿;³År_hF Ô8Cœ§Œ‰r¢£”q– xáÃx+O?l“) ‡Vz¬X¬à‰6 “¢!Vƒ¸M’©ô}T,Œ¶KãdœÍ!~›)‰SØ`º¹’á¼0[>¬ŒU(HSøb)òiòuò3ò Š†Š…Š—JŒ We¦ÊJ•]* *×TzT)š+Š%’EY@Ù@9H¹@y@y£ªªjªê©:QU¨:_uƒêaÕKª]ª©ZT[j u2UJ]AÝC=K½K}C£Ñ,i,Z­¶‚VM;O{Dû FWsP WãªÍS«T«U»®öR]EÝBÝ_}ªz±z…úQõkê}*–l¹•'4nk hÒ54c4s5—kîÓ¼¬ù\‹¤e©¬ÅÕZ¬µSë¼V7£›Ñéú"ú.úz6QÛJ;\;K»Lû€v«v¿Ž–Î8$:•:§t:Ã’ÎÈa¬dat0>2å?Š7jÙ¨ƒ£®z¯;Z—¥ËÓ-Õ=¤{K÷“S/X/[oµ^ÞC}\ßV¢þtý­úôûFköÍ]:úÈè{¨­AœÁ,ƒ-†F†¡†ù† Ïö1ŒXFYFkNõÓ}…ÆkÏÿÁÔaú3s˜˜MÌ~“0©É“V“AS+ÓDÓ…¦‡LšQÌ<Ì2ÍÖš5šõ››O0Ÿm^c~ÏBÅÂÃB`±Þ¢Ùâ½¥•e²åË:ËçVºVáVÅV5V¬iÖ~ÖÖUÖ7mˆ66Ù6[lÚlQ[W[m¥í5;ÔÎÍNh·Å®} aŒçјª1·í©öþöEö5ö] ‡(‡…u/ÇšM»zlóØ¯Ž®Ž9Ž»ï;i9E8-tjpzílëÌq®t¾éBs q™çRïòjœÝ8Þ¸­ãî¸Ò]'¸.qmtýâæî&v;èÖënîžî¾Ùý¶‡¶G¬ÇrKžÏÏyž'=?z¹yzñúËÛÞ;Û{Ÿ÷óñVãyãwïö1õaûìðéôeú¦ûn÷íô3ñcûUù=f™±¸¬Ý¬gþ6þYþûý_8ˆŽ¼ô œx6 * j Ö N Þü(Ä4„RÒê:+ôl!,2luØípÃpNxux„{Äœˆ¦Hjd|ä¦ÈÇQ¶Q⨆ 脈 k&<ˆ¶ˆE×Å€˜ð˜51c­b b›Hœ;±râÓ8§¸ÙqÍñôøiñûâß%$¬L¸Ÿh(MlLROšœTô>9(¹<¹3elÊœ”«©ú©ÂÔú4RZRÚî´IÁ“ÖMê™ì:¹drÇ«)3¦\žª?5gê©iêÓØÓŽ¦Ò“Ó÷¥fǰ«Øá›3ú9œõœ\w-·—çÃ+ç=ËôÉ,Ï|Î÷á¯á÷ ü‚>a p“ðUVXÖ¶¬÷Ù1Ù{²‡r’så’sÓsOˆ´DÙ¢¦<£¼yíùvù%ù^ë úÅ‘âÝD2ER_¨ 9-RkéOÒ®"ߢʢÓ“¦¡9C4£e¦íÌe3Ÿ‡ÿ2 ŸÅ™Õ8Ûdö‚Ù]süç옋Ì͘Û8ÏlÞây=óCçï]@Y½à÷…Ž Ë¾]”¼¨a±áâù‹» ý©¦D­D\r{‰÷’mKñ¥Â¥­Ë\–m\öµ”[z¥Ì±¬¢ìórÎò+?;ý¼áç¡™+ZWº­ÜºŠ¸J´ªcµßê½åšåÅåÝk&¬©]Ë\[ºöíºië.WŒ«Ø¶ž²^º¾sCÔ†úæWmü¼I°éVe@å¡Í›—m~¿…»åúVÖÖƒÛ ·•mû´]¸ýΎеU–U;‰;‹v>Ý•´«ù_ªwëï.ÛýehOçÞ¸½MÕîÕÕû ö­¬Ak¤5½û'ïo;t þ ýÁ‡‡ÊƒÃÒÃüšþkÇ‘È#G=޵¾ýDĉÆï†ã¿9ü¶ç¤ÉÉÊS:§Vž¦œ^|zèLñ™³ùgûÎñÏu7Nk¼>åüͦ‰M­"/\ºrñ|³ó™K>—N^öº|âŠÇ•º«nWk[\[ŽÿîúûñV·ÖÚkî×êÛ<ÛÚÇ·Ÿ¾îwýÜ o†ß¼z+úV{GbÇÛ“owÞáÞy~7çî«{E÷ïÏ@xPúPãaÅ#ƒGUÿ°ùÇ¡N·ÎS]A]-ãßïæt¿x"yò¹gñSÚÓŠgÆÏªŸ;??ÙÒÛöǤ?z^ä¿ì+ùSóÏÍ/­_û‹õWKJÏ+ñ«¡×Ëßè½ÙóvÜÛÆØGïrß ¾/ý ÷aïGÍŸ’?=œþ™ôyÛ/ _#¿>ÊÊg‹Ùò£š™ Àë=ÐRáÙ¡ Ššâî%Dq_”#ðŸ°â~&xrÙà q>QðŒ²6 ˆ©°—½XuqiJ‘dº8+bQá †ðahè!¤¾ˆ‡†· }ÙÉÞàlâÎ'"<ßoד¡–ŽOÁòOSmõáød5 pHYs%%IR$ðžiTXtXML:com.adobe.xmp 1462 870 ‹ØþiDOT³(³³ÉàR˜­@IDATxì¼ÜTöÇÏ{uwêB‹CqZ-(îR´‹/°Ø²‹»þ_ ¸»´@)P¼Ð¥¥îîþÚþóKɼL&y:óÞ÷ôó:‘›››ïÍd’_Î='ïŒ3ÎØ¸lÙ2Û¸q£wÜqvØa‡@€ @€ @(oo¾ù¦ 2Äòòò¬^½zV«V-w:ï˜cŽq4í6pà@ëß¿y·“ýC€ @€ @€b^ýu{á…\A»qãÆVµjUË;ꨣ6öéÓÇ.½ôÒXA& @€ @€ @ÙBàŽ;î°o¿ýÖjÖ¬i 4Ø$lßwß}Ö²eËli#í€ @€ @€ ÄÌž=Û.¼ðBw¾I“&–wçwn¼øâ‹c˜€ @€ @€ d»îºËFŽiuëÖµ¼/¾øbãn»í–mm¤=€ @€ @€ #Fؽ÷Þk5jÔ°¼¹sçnlÖ¬Yl%€ @€ @€ l#0oÞ<4hU©RÅòÖ¯_¿1???ÛÚH{ @€ @€ @16l°£>Úòòò,o£c±5L@€ @€ @€²”Àþûï°¥}C³ @€ @€ @ „€„mÛ!pX@€ @€ @ÙGà˜cŽÁc;ûº…A€ @€ @€@blG‘a9 @€ @€ d%£Ž: í¬ì@€ @€ @¡¶C±°€ @€ @€²•À€ðØÎÖΡ]€ @€ @€ HàÈ#DØNÄÂ@€ @€ @ÈVGq„åçç[ÞFDzµ‘´ € @€ @€ à°——‡°íဠ@€ @€²›@ÿþý¶³»‹h @€ @€ ø lûi0 @€ @€ @YOàðÃÇc;ë{‰B€ @€ @€@ŒÂv € @€ @€ ;ì0<¶s¡£h# @€ @€ l"p衇Z~~¾åmt (€ @€ @€ l'€°í=Dû @€ @€ @ Ž€„í¼¼<<¶ã¨0@€ @€ @YKa;k»††A€ @€ @€@C9í00,ƒ @€ @€ ì$€°ýB« @€ @€ @ ‚ÂvC€ @€ @€@v8øàƒ-??Ÿä‘ÙÙ=´ € @€ @€‚¶ƒD˜‡ @€ @€ ¬&€°ÕÝCã @€ @€ À† ÜpEÛÚ¬¸Ûu¿él'a;//P$éÀ¢  @€ @€ l'PPP`Ó¦M³E‹Y:u¬]»vV»ví´›½qãF›>}º-X°ÀªW¯nmÚ´± ¤½}YDØ. Êì€ @€ @€@¨=~üx[¹reloUªT±nݺ¥%nKÔž8q¢-^¼8¶½<£;uêd 6Œ-+ï „íòîö@€ @€ @ „‰Ú^µéˆÛa¢¶·}¶‰ÛRØ^çÄŽ™·²À­^o« 6ºìkUͳ†5ªX³ÚU­z•|¯?ø„ @€ @€ ó$J;6ÎS;xPÉÄíd¢¶WÄí®]»Z½zõ¼EåöY!„íEk ì‹©Ëmä¬öóÜU6eÉ:+p:2̪æçÙfõ«Û–ÍjÚŽ­ëØíêZãšUʲ € @€ @€@NPè &¤lk˜¸Ž¨íU,Q[aMÊÛrVØÞhíËé+lÈo‹ìóiKmýƼ"±¬âl¶[Û:vB¯&¶këÚÅÊZ¤° @€ @€ bP¢ÇÉ“'§U‹_ÜÎDÔVåJFÙ£G´öSš…:è WËÍs ÜŹ4÷^ĺ¿Ÿ½ÒnûfŽý2oUb ŽPÝÌñÀîÔ°†µ¨SÕêTÛ$x¯X·Ñæ®(°ÉKרlç3Ìz7­i—öin;µ®¶še€ @€ @€²’€äÝ_ýÕÖ¬Y“Vû$nwéÒÅæÌ™—(2ÕÆJ"Ù¨Q£TÅJ}}N Û« Ö;‚ö<{á÷…Ž¿v¡Uqb»ìä„9 c=Ûµm]kY»J¤çõ'þöÜUëí«+ì½ Kìkçs}aU&|@÷†vÅN-¬nµ*¾5LB€ @€ @È^k×®µ?þøÃôYÖ®];kÞ¼yiTq9#lÏY±ÖÎýhºýº`uì pÙvHçúvöÖÍ\m­X¶v½}3k¥Í\¶Öê;É"whYÛÚÔ«Û&81Åñàþï¨öÆø%N8“B¹¼§ã½ýà>m­uÝèmƒu•öü¬Y³ì·ß~³yóæÙüùóméÒ¥Ö²eKÛl³ÍL'•þjÕªUÚÍ ~@€ ܯE€q¯X±Â¦M›f3gδéÓ§›XÕ­[×Ú¶mûkÖ¬Y¤ƒJtͬ @ð(-q;›DmoNÛsW®³“Þ™â„)|ÓÐÞIysßÖ¶]‹Ú±~:u™]3|¦-Z]èƒ]Õ¿Oݲ‰ý}ûæ–ïxvGÙ¨¹+íÊÏfÆí£MÝjöì!›Y«:å'n/Z´ÈÞ}÷]ûä“Ol̘1QÍw—++i«V­làÀ6`À«^½üÚ´¡å¸rêÔ©öÊ+¯¸UzAPPP`5kÖ´Æ»_†½÷ÞÛmÝC=dC‡ki¿~ýì‚ .ˆ[ÆLÅ$pÎ9ç¸/‚G§ æi§\̼C`áÂ…væ™g&°xðÁÝpþ™”õoWÙ§áVvgÀK/½d/¾øb‘v¨Ì 6t‡åuèÐÁvß}÷´“ªÐÇEBž•ÕýÚÿû_ûðÃ#YçÛàÁƒ#×§»â®»î²/¿ü2²ø±ÇëÞkF¬7nœ=ûì³nÛׯ/¼Osg¯ñ˜cޱN8ÁêׯV„e€ @i(iq;ÛDm!Èza{Íú vüÛ“mÌüBOí>­jÛ}Ž7uÃUcÝ8sùZÛÿå ¶n}¡×ul¥3qó­­·†þE ÓKÖØàa3Üð$ÞJyn9¸ƒÕªšï-*“O…LyõÕWíá‡v=³3Ý©¼]N=õTëß¿¿U«V-ÓÍ+dù›o¾Ù^ýuÛ0;ꨣìŠ+®pWýë_ÿ²7ß|3®˜¾,7ÜpCÜ2f*Q£FÙgœz`M›6u_4)O@/Š<ðÀø…Μ¾súñó[&eýÛUöi¸•Ý ñP%e­[·6½0ÓwD/¡£Œ>Ž"“½ËËú~í?ÿù½öÚk‘@äýüÑG˹A@ûì³­\¹2r?:Ÿ£~+ýÉ)ã‘G±‘#Gú§5]»vm×Y;-\‚ @¡JJÜÎFQ[œõ¶’D>1zA¬s¶n^Ëžø[{«]5^Xú`âW”Ž LôïÚÀñðnXš8»º`ƒþÁTûÁIPéÙ ½Ù5;·òfKýsîܹvÉ%—Øï¿ÿ^ì})Tɽ÷Þk;w.v]¹\Dj‰ÕÉ a;ʳîÆo´·Þz+ò€åŶÇ{D®¯¬+2ä2)[yê1bDÜ¡~øávî¹çÆ- ÎTvnA¥9_Ò¶×Öí¶ÛÎî¸ã«W¯ž·(î“>ŽÃ‘õ3åq¿–JØ´Ûn»ÍöÚk¯"ó6l˜]~ùåI·OGØ=z´ 4ÈV¯.tNIZiÄJ9küïÿ3}b€ @™(®¸­¢¶Hdµ°=qñj;ôµIV°a“výùöÖ­eDä©N¬ì¿½2Á)ÞÁ7ìÖÊŽé‘^¶Îù« ì`§®Åk6 •¬â8W½qD'ëÚ¨fxå%¸Tq%n(æ`I™Â“<ýôÓn¸’ª3—êÑðàÃ;,©ç‘Ža;—zµtÚ*ï´ý÷ßßV­Z¹ƒ¾}ûÚwÞ¹¾²®ÈDˤlEä)ÁH‘ßBêÒK/õ/J˜®ìÜ€”â‚Ò¶ÕäîÝ»»Þà ·4ú8H${çËë~-a[¢¶Äí¢Ú•W^é†ÀK¶}*a{Ò¤I®G÷’%K’U“öºÍ7ßÜ}ôQ«Q£FÚÛP€ @ @QÅílµutp€›Ÿ%o£c…‡›S7Œ˜iÏ]kÌ?vja'÷n›N¼5~±]ÿÕ,[¹®ðPò,Ï´Ø5»´´ªùé‡yþ·…vÃW³c»8²[û÷©=¾caB‰tN9å7VmØæ ƒ 7Ûo¿½›}´Aƒ®>yòd?~¼½ñÆ‘âm¯^½ÜéÊø@ðþûïÛ?ÿùϤb¢¸ÙŠºlÙ27&ªç‰K(’\•bA:žý C¢sJqÙ±B™r™”-ÜCÅ™BØÎþ¾Œ¶[´h‘RX[¼xqÊbQ¢`eÿndÿ™±©…åy¿–ް­+ G¢°$™š^ðî·ß~)½¬£ÎaíO±âO<ñD›3gNÂîõBGùLöÜsOkÓ¦{ïµ`Á÷~V Ò†O a¶ï¾ûšŽ?Y8Ÿ°íX@€ `&Ùw„ –‰ãA¾££Ê1G!â²Õ²VØ.pâ ïñü8[¸j“ v½êyöé±Ý¬nµø$A° WØÓœŒëËÖ:1¸«ØNmj[—†…žÖóW­³aS–»ëk;q³wl]ǶiQË‘¿ãc^®\·Þö~ñÏX"ʆիØðã»Zõ*é‹ãÁ¶%›WŒFÅ*üå—_B‹|òÉvÞyç%ͯ%j‹ £P\žÐ†åÀB…Ž2dH\K;vìhÏ?ÿ¼U­Z§Ý_@_ô`lI/!˜¿Ó‹€C¿ƒz´fÍš¸½ðÂ í¤“NŠ[VÙg2ät½ <š7on•!~yQ…íÊέ,¿cQ¶–o»í¶)›¢kƧŸ~jO>ù¤{óÜ@ ñÞyç„ÄL¾GÁ:™/å}¿–ް-×^{­zè¡CQbÊ«¯¾:åvÉ„íÿû¿ÿs½«ƒ•têÔÉxà×9#¸Î›—'ÑSO=ãþšk®1…n @€Ò' Q{âĉ&'œLMÏèݺuKxvÉ´žÒ*ŸµÂöŸN’ƒ_™;î};Ô³û÷‰O@[™æÄ»–ص_̲þx%Žž½wûºvçžm­f AäÅæÛ{—Æj½'ëÙ¤P$­(‰ÇÜM¬J^)ÿûßí¸ãŽ ®Šœ—¸­‡é0S2ÊvØ!lU…]výõ×»‚ÿõ°§‡> |0`€7ë~ê­¤B)&®ßäåÿÊ+¯øUúi¹ôO¢ Ûéï’Å%P\aÛÛ¿ny®ê&2hzY­$Ï~ã{ä§‘Óå}¿–®°Ý§O{衇2†xñÅÛðáÃSn—LØÖèÂàËK%2ÿàƒL£ Ó1%ü–÷vжØb‹È{Ü`Yæ!@€6yjUÔöøe³¸µÂö°©Ëìܦy í¼m›ÙÎ_QmîÊu¶ß‹ãmõ¦°Ù Õ\°mSgÍã–ÿ÷çv×w…Ã(ïÙ»Ð1½ò¸ŠRÌÈÓúàƒ¶uëÖŕԉsÝu×Ùßþö·¸å©fäM4xð`ûꫯŠjèçí·ßž°¼"/@DªÈ½[rÇvß}÷¹É©ü5êá\‰\5,»  À¿Êžxâ ÛrË-ã–Uæ¹ô{ŸkRú¬Ê«dI Ûj¿n">úè„CQÌ`%Äóß#?ì›Î†ûµ0a»fÍš&OgÝÿy¦a£ï½÷ž)Œ]º¦°lú½óßê¯òN#F ÛK—. M\©0z<òHºM±õë‘“NÈ’åË—'l#<“ãJ¨€€ @ ’(ާvQ¶ŠÛY+l8i©]4tzŒã?vjéÄ×.zLÛ‘3—Û)ïMÕœØg³zöÀ¾ñáÿ³Ðþ3²0ÎöÍ}[[ÿ® ƒ›{^5ɂֿÿ´†ƒ·ÓüÔ©Síˆ#ŽHX¥ÐòÄQüÅLL*z8WÜD ]ЃŽb +>¢þJÃôö矚bY*,ˆÖ·oßÞš4‰Ž³ÖŽò‘ÔîqãÆ™Ä =œ©ímÛ¶5 Ç­&±Wç…ŽQÂ:®­¶Ú*å¡©O§OŸnóçÏwcÅ­mÙ²¥m¶Ùf)·-z€Ö $‰~»ÿþûmçwvGM|ñÅþUîïÒðú—€0vìØØ9£ï™Î›®]»šÄ‹’¶’Ú_y r:—f̘á^›t,J–«ï˜Î'ýð–„éú§ãÓù¡sVçz³fÍÜáôÚO¦qlËóšäñÈåkºw ¥ùY’¶کëËܹsãš,ÏÕ¡C‡Æ-+ÉïQEìãòþíȆûµ0a[×=ý~Ž92î|’÷u&#þÊîÆoŒ«C#ÜÞ}÷]Whö¯ˆ¶•óåØcõu§µL/Š3±‹.ºÈ¾üòË„Mx±œ€„€ @ @IŠÚ^åÙ(ng­°ý¹ã±}¶Ïcûœ­›Ùàí‹î±½xMðâ[¼6Üeûš[Ú ½â…ó~œgúóìþ}ÚÚ¾ê{³%ò¹zõj÷W A{饗Š%€žuÖYöã?«µgžyÆzöì™°<¸@_%Ó“ÇϨQ£â<üe%6÷íÛ×R­¸¡©L"¨ÌüÖ»wo»ôÒKÝEŠo­6jßa „´N8Áý èå7lذXõùƒ|%êAÐo>ú¨i¨¬LMÁ¡¸»îº«yæ™þM"§ýõW7F¤È$ÐM Gy¤ 8Л®c}ýõ×㊩®¸âЏeaìTà)'e:¦rŸ}öY\Ñ]vÙÅt®ø-l?Ûm·]pÁn1 {/¼ð‚=öØc¶bŊئJ¾©˜æa&ñXqÍu>©þ0“ )/风:ÊM(V¦4–©¯%øM‚²’DêÂsT/wä5¦ÏtL/„4’ÂoŠ)}Ûm·¹‹ÄDùÄÞ~ûíÐ먷SyEêå‡b¾j?abº®-~q&Ýk’Dm¶ÙÆÛ•ûR1xieºÜrõšàL(~0ÿÖëƒB•”•´°­kç×_мÏ?ÿÜ”LϳL¾GÞ6þÏŠÐÇþãÑt¶üvdËýZ”°=hР„ka£‚|ýóçŸ~‚8®vZ®~ð[”°-‡ÝÛM÷•‰½üòËöÜsÏ%l¢{#]w1@€ p¥!j{{Ê6q;k…í©Kר~/Mð¸ÙnmëØcÏ›ó‡Ù+ìòÏï¾å…!?ª:}'õjb—öinù’ç~4Õ†M-ùî€ÎÖ¹aX›JbBµa,;í´“›`§8ûøöÛo]a&XÇa‡æ >Áåþyy–)6µêH×$HýóŸÿLù°ñÓO?%Ä;›øR‚°XfÏ.ô”Ú¿„i…jÑðV¿Ýzë­¦‡¡LM¡[<¡ü_ÿú—+¬ûëàzà 7ø…N¿øâ‹v÷Ýw'„®+¬$d·Ür‹GRÉ–ü&!9¸,Œ¶ùþûïý›FN‡=xà¦ãõ[Ø~¼06òXUÜiyj-JØÖùtå•W&$f nïÍ·nÝÚeعsgoQ©~ê;¨ï¢ß:@žµ2‰œûIØð[&ɹÂ+vÐK ½Œ‘'`0܉_Þ´F]Hð óˆóÊè3ö§vè…F[ø-¬mQeýÛiú?þpÏ¥iÓ¦WEÎëÊ›úYëRü–ÂöÕW_ízw‡‰Új{˜°-/E½ðÈ䢪ºä ­äQòR.MSx‰ûÁ‡öàPç«®º*¡oc;,ŒPX{Ã+ Û\Uw¦&BbYÔI6ìOÇT’¶¾ë÷ÜsOÚ?¶~¦ò¬–gs¿~ýü‹¦%4ê{ìU›P(ÉÅ}UY¿÷py Û¹~M÷ãÎUa[/Ê‚×M“z¡ª—Už…}oµ.ì{äm£ÏŠÔÇÞqeÛoG¶Ü¯E Û]öE#²‚£²<ÆþO%DÖ‹v¿tÒIî½™îÑ‚¿‘QÛÚ^áK6&hºW;í´ÓÜDÍž#A° ó€ @Å# -/j”|XÍrD“Cƒ´89’¥«É5jÔ¨XQ&ÂÚR”eY+lë`îù~®=2j~ì¸ÎÚª©]¼Cô0õ‡~Ú:ÄѮ㬯ãí}Ÿ?»F•ü¸åÉf‚aHNߢ±]¶cËd›ibO¸°‡Ý"U^„äé,a8Êô ¢·2Š&ÄÛ®OŸ>®ª7ïÿ ¶U§¾|þ! vŠ+¬ØÔÚ_Ô—Kž´@=+/a[^ÌÉ<Ü%bÖ«WÏ2ø€(=ÿ±ëX²QØÖ…KÞ_Q¶å¡(Q[Ã`‚¦ó\âŸÎ©0&*¯2ÿûßSz'ëÎd^aoî½÷Þ¸MÔ8ý®Dë%øELÿ6þé0ÁJ!Ä&è¬ó¤cÇŽ6eÊShž(“°þøã‡†ÙȆý©Ýa‚\XÛ¢ÊzÇ–ÜÓ[§óDß/ŽÖhý… Ó5jÔ0 «Jú©Ð3òÂ:_õ[ñàµ^#¢¼ÆuSðÆoÄF€”§°]®é^?ë3…m}¿û9/T‚çdØu¦(ߊÖÇêçlüíÈ–ûµd¶^”ÈIÀoA’ìwÛ+¾NáÃt–©°-ïñd‰Ê:èÄO´ÝvÛ­Ôò´xÇÅ' @¨lôL¡ð—é˜'j{e3·å̪ðŸåmY-lÏ]¹Ö|y¢­X·Áå$aúÅC;X&‰ ÔÆ.\mý_›davåN-í”4“OŽsê:ú͉¶ú¯p‚uªæÛ;:Y«ºÕê.ò2=ä*äHðaW7üúYÖ&Z%œ Æ£V;¾äCq‡z^6“'Ovc1jè}pè«¶‘Ø,Ñ9ha¶¿ŒDny÷èÑÃ6µN1å«¿ (¬õ ç aK&!Ð÷YHzØó›Ž%/Û?<ÓP$J,(6hJ¦˜¸ú%ˆÉ?ù·ß~s½:øá‡à&±ùl¶5|X±3ý/$Ìj¹’Fjø±Žñì³ÏvAbŽâË#Úoý–DÊeb¢—:g4ôA}ö{î}—½OýÞ©~Ý+´\:¹Z¼mù„ @H$ {ÂÑ£G'< KEmo}ºâ¶(ä\VÞ–Õ¶àüï×…öŸ¯ ã-·­WÍž;¸ƒµ¨>䃉Klð°‘<îÑØnÜ-µÇõ¼UëìÄ·§Øä¥kcu]Ú§…±e“Ø|IMèÁCñƒ&/–"X¦4æ5ü^^†ASÒ+%`‹²1cƸ¡G‚ž¥0_}õÕ„P É„í}öÙÇ$E'oß>ø +ðyóÞ§bZ‡ÅtÔzÅIö'“Ô²TñX3¶uÑP}AqTCn7¹[·nÚe‚I(Us%& ³l¶ýmTÿ(ž­\%ü…Y˜‡­~‰zQ®•ÄQ âü&ïe=`û‡ìû×uZû‘ˆ´¨Ä­a߉­Â’úë¬TFaWT·?ž²[MkŠñj?Zl‚ý-û ]£ÚVVÇ®]Áï‰Î!‰×ÁxÖ*ï™®?þÑÞò°POQùq {ÉL笶÷›¼;ƒ I½õE¹&iÛL¹…¯ª'—¯é¹$lëe†ò$„%¿S?„‡ôñ&.Ê;à·òþíȦûµd¶˜ÝqÇnrg?¿d×#•SH¼`âgy~륡,Sa[Û(®£®5éˆÛ*/ÓvØawŸ[o½uÜ˽M¥ø€ @ 9{FŒ×¶Q¢¶Wo*q[‚v²gq¯ž²øÌza{ƒã±xÁÇÓl¨/‰c‡úÕíýÚZ—†…žÛóWØ/O°åkÿr³öÑSTì‡÷kgýÚ×ó-Mœœâ$¬ôÑ4›¸¸PÔîÛ®ž=äì«J^ÉÆÖÖÞoS^€A“—ŸÄݲ4yK¼z„4ÈN?ýô”M‘W©œ‚Þç§žzªCØ_A”°-¡J–<*£LÞ²:iý^Ã*ë n[)a;,.¥Ú ÑM±³“™xüñ áh´M¶ Ûìå¥/ú(SèyBK¼÷¬nݺnêÙ­ýZ[ˆmã qFâ¬DÚ éC19ËÒ“QÔ~K7v°·¼}$ÊíÉ'Ÿ4 QžE Û²-17•…‰Bj¿Äè0 +_’¡Hä)Œg©þ >(†µMËtQû†ÃoÙ(lK”‡zª ƒÃ%þ%ótôû?þhJdå7…úø˜Žìß.j:ÌËVB©yyêF™¼³½¸£^µM/$RGY”`•ް!ãí ·“-û «£ÚV6ìE–Ä//~µÇ%êSñÛÃ’<*„K:ÂxT½Þr½Q\yy–û­¼…íŠ|M÷s.­éÒ¶“½<Ëä»Qû8[;²é~-aû±Ç‹¦õ=‘0¬ÐJAÓKxÂò[ð¦8¶¿^‰íÊñÍ7߸qý£ºü墦õY£··£±€ $cF’*GZ*-'qëMK–-[憈+)=&j?EYž3¶NžÕÏý¶Èîþv®­p„n¿µªSÕöïXßvm[×z5­ikVõ¯ŽM/^S`¿Î_m_ÍXaL\æà…aGT¨V•<ìxxŸÔ»‘å9ÿJÓäõ©š%âJÌõ[6 ÛIöòÂßn%ú Æ$–çþgŸ}]á/6­· íŒ'-Q7*fyX=É–…1Wœ={¶ûÖ[b¶¼-Z”°ëò¶+ú5=v),( a[Cöô{ äo~ºßŠØÇÙüÛ‘-÷k:WÂî‚a“ÒE#ÙüV¯^=7WAðaDaäü£U´þ£>2Ú󬤄m¯>}êw^÷ƒñ&Oî±cÇ&„³ó—÷¦5Ò*8 Ç[Ç' @€@å#S¶×=31úþæÙÛNÂH'JI‚å;^—jæ[‹ÚÕ¬vµ|wýÊulΊu¶hÍzÛPm$¶­ÙÄþÖ¹]¸]3k[¯zlyiNÈS%LÐ &_šíP¶TÅšâƒêA<S=ªÏo'žx¢›\Ò[%lÃyx僟auå%l‡%”è×_Ñ›0…"‘Xç·l¶o¿ývÛsÏ=ýÍL˜V?*°S}س±µw’R–µÉ£FB‰ß44૯¾JÛ»Õ¿­Z¡ ^}õUÿ"wz÷ÝwKj¨ðò"ó›}ÜPDò4UŒu¿•§°]ѯé~Î¥5&øi_Z¾í¶Û–ÖnÓþnTÄ>Îöߎl¸_Ó‰—®°­¼ºÉ×(ÏtÝÒ ÅW”É[[^Ûž5hÐÀuNþ&•µ°íµGžÛaÉÔ5rG÷#ú Å @€*7 !l‡u¡C®p¬]¿)wõªùVÛ‰7¢“Ùd ÷–ÌG18õðR“(q;hA¯ÛQ£FÙgœ,抳i3±°¸ÅŠßxñÅǪ©HÂvT¼c½ÐËtM!0$pú-…ítÂÅ(V§úÜozˆÖ°è⚆óg¶#lz¾è¢‹ÂV{™ú\^üa}%æ¾ñƦðC™˜¼Õ”´ÐoÁXÝÙ²¿âÛ¿þú«|òÉþÃt_”Ĉ–¸J…Q"OÅÍšâyo¿ýöÖ½{w·¯Ô_ú“H$ K(ZžÂvE¿¦û§4æ³]Ø®ˆ}œí¿Ùp¿¦s=]a[euïtR¸þúëíàƒvãj«%t‡½˜NWØÖ(Á{ï½W»Ž³k®¹&ilù¸Âå¯ ?öÛØ”Y@€ J@ Â Û¹ÒwJ:&ïÑ`ÌVÅåÔPøæÍ›ùPä½J¯øžC‡ 2ª|Ê”)vä‘G&ì§(1 u,Š‹ë7…ð‹šIØVÜÍ]wÝ5a¨ì /¼`]ºtñcH:ÖW™ÛJ¼”NØyõ*)”ßÂâ“§”Ján‹Ú3Ï”ƒ^`Þú²ü¼üòËÝD‹¥µÏ¨p)QBóC=äzþ¦Ûyûc¤zÛ½öÚkq!²eaâCTÛ‚e£Žµ(ñÿ=NaŸ:W[=JÉ8%ò(æl2ÏÀl¶+ú5=¬KzY¶ Û±³ý·#î×tžg"l‡…wÙi§LáÏÂB E% OWØVcýÆ-èà\Ÿlþ¾ûî3Ýí‘Gq_8—3@€ P¹d­°½lmÍ\^8|RÝR5?ÏÚÕ«fÕ«lòºV’?­qEV±æN¢È\µ›nºÉäµ4y*ÊS¥(õpæ ®Ð ò. ¿—W«â‰¦k…$ùMm«‡'=HyVÑTu„=Ô…‰³Þþ„ÌÚ¥—^êIø r,Ñþ†nH(«P+Šgî·3Ï<ÓÎ>ûlÿ¢Èé1cÆØ)§œ’°>LØV¨„“N:)¡¬^5j”°<¸ ,™T»âöQØ Ž ðl[YÌK˜Ðñú‡fk¿âS% ¶Oß—k¯½6¸Ø¶ÜrK{â‰'–G‰¹ƒ¶N8!¡|Ôy®¯ a!M²eA±ZÇÕ¶°²ú‘š?~Ž{î¹ÇvÛm·¸eQ3#FŒˆ‹ñ¯rú®(þ¬÷2(ê|zÁGí#Û„íŠ~Mꇒ\žíÂvEíãlýíðέò¾_S;ÂîÂ’Gªìš5k\Oé+VhÖ5ý^èå ’}Ïœ9Ó[lmÚ´±7ß|36ïŸHWØe£z¾Gß©¢X”°©AQöÍ6€ @ÙO k…í'-µ‹†N7'zˆåýC¯À +RËYpÆVM휭›ÚÒµëm§gœ°=Ùµ»¶Ê~Ú-œ8q¢sÌ1 ‚°Âè†>*]Du¶jÕ*7nbÐsZåƒñµ½:”÷Üsn˜„¸Ff$„è ¯:üÆ®¸}$/}Å÷›†D‡=û×û§5‚!x.)Á¢bKdž bJŒ4%“Ôƒ{¦ö¢@uH4íØ±c\uQb®bFKÐUÌÐtLB¸ÄZ¿…‰Ù²¿0±:ªmaeõ‚è‡~ð®û"âî»ïŽ[5sóÍ7'$Ñ &´Õðy•ó[&I*õP#üVž¡HÔŽŠ|M÷s.­él¶+jgëo‡wžeÃýZØ=PØo€×æ°°trrŽÞ:ýôÓÝpLÞvþÏt…mbSÝË–-óoîÞ é>¥(¡Ä"J£Ò‚&ªÁ @€*7¬¶¯Ù¹… t„kÙ²µìÖoæØã—Ø={µu’?Ö®¶ŽM1ßyçMÆ™Ä< .Á õq…|3/•ñ^BMÐä1£¡›aCê£<¼ÓMÖ'OX‰EJì·ý÷ßß”ÑoÅMÃêÂÄYoŸ¥-lÿòË/q¡V¼ýÊê¼óÎófC?üñG71R0 ‡ ÛZ.OÕ çtú)lH²ê cWÜ>ÒlPx”P(o0ÿKí?Ìžþy7n±]²ÄŒþrɦõi„ qEš4iâz¯…}/â †ÌH|×  i¤C0Žw”˜«mƒ‰ƒõyó -¤°AÁQòø&ØÊ–ý…‰ÕQm +ûôÓO›<§ý¦¾RYy&3y)*ÌÏ‚ ⊩Ï$<{öè£Úÿýßÿy³îg¯^½LûNeúîî¹çž®g¤¿l¦Â¶Ú©ó ™e­¢^Óõý•jÐt}ÑK¢’²\¶+bgëo‡ÿ¼*ïûµ°{ d¶Da‰Ã©L÷›m¶Yh±t…mm&¤kyûöíí©§žÊHŒVÛu¥{[¿uîÜÙ”/ƒ @€@Ö Û×îÒÒŽÛ¼q¬§¾š¹ÜN{oªëxlŸ´EãPaûÛY+ì©Ñ lââµV«ZžíÚ¦Žéxy7¨QÕÞ°ÄûeíÔº¶ý0{¥-]³Á:5¬al×Ôz6ÙäU ÛÔÃO”…yJI„”P¾Ë.»DmæŠFÕÆWF篼òJBœð⊦auaâ¬×˜Ò¶µŸsÎ9'”»<”å9é…<ðÚ¤O%À»ì²ËBE­¶>úh“טßô'18JœU¢AyÿùçŸþÍÜé0vÅí#ymÉ»:³Xá>³8Ù(‰·òÓË¿%æ»û¨0.ʼný©6ê"º~ýzÿ®L"Û{ï½Sàãæ+¡^ŠiŸ~Ë–ý…‰ÕQm ++áX ÍüCæuœÝºusÃÛÏ@¡bÔ~/åð¿`QÂO]cý¦ï’–'«_bË-·Üb ³´~ýú¹}\®ù°vyqoÃÊ{Ë2á¦m*â5=ì唎5Ux)•ÉÄrAØÖñT´>ÎÆßŽàySÞ÷ka÷@É„m]§”,22Í\›o¾yhk¯L&¶~kJ/øVum³Í6î=€îYR™œ4".8ÊLÛ]rÉ%î=sª:X@€ Pñ d½°}\φ¶gûznOÌ_µÞžpëÉK×Úó‡t°¶N¼í`(’ÑóVÙ±oO²ZÕ±S¶hbsWØFα^MjØ“¶·!¿/¶›¾žmÛ·¬mgmÕÄ–¬Yo·|3ÛòóòmØ1]lÙº vÈ«¬[£šŽØÝÌÖ®ßh7;å—¯[ooèbµ«æÛüUëœv³f%×ûçŸvR=Ø…™$no¿ýöÖ¬Y3W4ÓƒÊØ±cí÷ßwÃ,^¼8lS×#\6ÉlÒ¤IîƒB0þ°Â‰HŒÔÉR³fÍXzXÒ~ÿñ$ˆN*¤8Àz¸ ZqEÓ°‡º0qÖÛoYÛ »!!Ìzöìé&”P-±_ǯ?y"y}-±-èµ%lG….‘ǧDt¿`§öH̾âŠ+Ü$¡aí cWÜ>Ò~>s³„Å1×ÈyñëšâG+¾yð<ÕCw°ž°ù°*W\Á<, …ê•P-qÓ³(QÒ[¯ï™ÎÕÃ;,Nø×÷lôèÑî÷,ÈEÛê‚ú7hÙ²¿0±:ªmaeu\Ÿ|ò‰{ £¼ å}IôÂA#‚¢¶¶{‘1cÆ —{°~‰ç®åi4½\Òy͆™’Çêeb˜)ah0»ú_×¶¾}ûºý¯~ן–{–)·ŠxMGØöΆMŸ±³í·#žø¦¹ò¼_ »J&l«ÅQqª½cK%g"l«N9D($W˜éE¿FžéEw»víÜ‘ºoÑH ]‹§M›æŽÈ †ÜòêÒuù±Çsï§¼e|B€ T^Y/l׫žïˆÉN mǪ:t½šÖtcloéxQ/^S lßóý\{dÔ|{ÿ¨ÎÖ±A w»¾œm/ü¾ÐFßÍÞŸ¸Ô¶Ÿ9¸ƒíàˆÛ²›¾šeÏý¶È>ØÅFÌXi×|1Ó.Ú®¹ul¸ÉC[žÝÏüºÐþoÿvÖ·]={iì"[éàÎKÚFŽéŠÁPÁýèÁ@òÄMeɆÄ·UR¶gŸ}6¸Ø—À"‘¶wïÞîÃǨQ£léÒ¥¡e%i˜hXÜà⊦auaâ¬×°²¶µ/‰µæ25±’˜õÌ3ÏÄm%lËcWbfÐKXK,Þb‹-¬mÛ¶nÉ‹^^ÓÈdõêÕKˆ}Æ®¸}äîÌù/Ê“]ç¯h%X7oÞܲÿøã“H4y3Ë{RBaQMÌ ‹L*öaÞ¶™ì'ÌÛWÛ+!¥?K”()Ï`¯´^‰K=Ü—P‚íV9™¾_>ÞºuëM |ÿgËþÂÄꨶ…•õ鬳Î2…î ³¦M›ºÞîú”଄¬aÌ^D‚HØuIßµ+h:WuÝSŸè\TXíC/’™úµŸóbC±Ö%àøÃdèœÓu,Ì4šAßS]Û%ªûÃP…[E»¦#l'ž5­u„ÙòÛ‘H»pIyݯ…Ý¥¶ÇsòÑ8#ÈÂL×%“L6:%Sa[^íJ¢­ý¦cU¨k^˜—·{Ý7<þøãIÛê/Ï4 @€@Å'õÂv0‰¿K„í[ïë'G/´Ïëj-þò¨¾ÍYö„³ì³c»Ú'“—¹Âö‹‡v°­šo¶oÿký0GØ:e¹»þ°. ­I­ø¤‰‡um`Ý×´õŽ»¶n¾%´—†iø¥·Y»âö‘·y+ÄC” é•‹úÔy+>‹còÜUø‡ I,Õ_qLÉZ•,KŸ~“X ¢[eQ¢¤FCÈ»;8RÂ_WØ´ÄO%ƒÕŽ0Ë–ý…‰ÕQm +ë[qÏ%‰ÒŠßŽI£.4Ê$셑׆¨O§r¢,8*@/•“ Ù6ªK×’â Û횎°x–U´>Ö÷û^R¿‰´ã—”ÇýZØ=P*a[­V¸ž°pd 5'îd–©°­ºtS|lì+ Ó‹{‰Úa/rK¢~ê€ @ÈM9-l/q<¶w|fœ èÖÐnÚc“ÇâãÛ•ŸÏ´«vja'õnâ$œ,°“Þjóœ$®_»)I”°=Ç)7ð­Évú–Mì’š;!JòlÖòµNÈ’ Ö£IaŽÒîn…yðÁÝd{銤þ6É›[Þ2Jb'ÃLí›o¾qñ°ÐQuIÈÓ>•4QÓQV\Ñ4ì¡.Lœõö_–¶ö)Lbe”7»×.y¾K –'gXò: – uf:?®¾újS?¥còþ•H&OQy¬ú-Œ]qûÈ_¿Î_ {:–LÄ[½QØ•­¶ÚÊ_]‘¦£¼ÿÄ#êL&;’x/Ïí )öü)§œâ.N&æêÁÿ¦›nJk†*Óƒ½^@É8ʲiò²ó[²¶Ëú·Ó¹¤äcJô˜‰­—: ×Ò½{wu ÓzY¤ïd&¦Pê;Å…Æ÷ê ÛZ®‘1êÃd/KBØöÚPQ®éÛ^&~V”>öŽ,~;¼¶$û,ëûµ°{ t„m]‡Âl9"è> ™EØV} ±öÖ[o¹‰x•'¢(¦Ñ/ ]¢°¥4±@IDAT_QÉ-‹R/Û@€ T 9-l;~Óvñ°öá¤eÖ¬V¾½pX'kêxYÿë«ÙöÊ‹ëj¶Ü¿ë:I#oÙ£•íÚ¶®=ë„QŒí(a»UÝêöèÏó졟滉'T¯bÓ–­³][×±û÷mgÕ«”Ž—vÔé¤$<¥Pª:ä•xøá‡»‚v£F¢ªMkù²eËLCœ?þøã¤‚›:$>^|ñÅîýT•W4 {¨ g½v”µ°­ý* ‚¼°Wñ"çÏŸïÆÔçBj(4AŸ>}b/Âbî*&úõ×_ïFè§<‘%~EÅV—×Ú‘GéëVo‰Ëe-l{ W,xÅCV‡dbžÄZ%ºTè[Å5ÅìÔw"¸OyëA¿$ìË/¿tºƒuùC¤sõI¢ƒÎ™`¼u¯^½0Rˆ“«®º*åPìlÛŸw úLÕ6Ù°é_ýÕõrWÈ‘`¿úËë¥Ñ…^èzÔû—'›ÖK½hÒ57Êô²P‚¶< åQ­óTÉ`§Ö‹›ïß6LØÖzy{ªÏõöS¡lÔßž—[E¸¦#l{gCøgEèãà‘•×oG°©æËê~-ì(a{Μ9nIÿ5Sy?>üðÄÜÁc-ª°íÕ£—ÚÁ¤cÁ¤Ò^™à§î_”sBßù6mÚW3@€ —@Ö ÛË×®·Y+Ö9 «ZCG˜Ž2Ý Ï^¹Î–¯Ý`êW·j Ï VØ'Éd-'Ùc×FÕcaC;É"ç9åÛ9ekþUv¾SvÑê'&wa¹l¢5¶nÃFk[·š5wÚQÏç¨vgº\òÖƒ“DRý)T‰ÂHÀ–§„R…) 1Ðß> 5 %¡X‰JÊ&UáMš4q÷»ÓN;YÆ ý›0!0ߨä›Áª}Ê”)¦ØÛÑå¥þ@ܯ_¿¬K°´páBSlRy·jZç¶Zå©+!¸S§N%~™•Ç|º¢¤BšˆÏ„ \>¹5[Â…¼Ö’ÅAõWYïϿﲚÖuP GgÏží²’8,>GúÓy•lôH²vê;¥¸ïúN©~…”ÑwªC‡nÝþDº^=¥¡Üzy§—[Šu¯˜÷zñ—¬úkŠ1«ëwݺuÝý…íÃÛWq>¹¦‡^nl[û8W~;Êó~-ÛÏN]£'Ožìþþ륳þt/ ë¥^DêO¿uúÓ¨6 ï @€’ÈZa;Y£YŠFàä“O6y¡ú-†À¿ŽéÜ#®Ð\RGVÖû+©vS @€ @H‡Âv:”($+WñÐýÖ¢E 7žu:Þóò´>úè£âO—Tüg»˜.?e-4—õþÊ,{† @€ @ 2@Ø®Œ½Î1—(ï¾ûÎ ”PçÍ7ßlûî»oÂòà‚ÁƒÛˆ#â+ô„âQ¦#ŒÇmÈLÖ(k¡¹¬÷—µài @€ @’Âv…ìVª, ¬_¿ÞŽ8â7V¤¿Š{íµ×F&®SlÉ[o½ÕM:çßNÓJ(·Ë.»3ŸÃÊZh.ëýåp×Ðt@€ @€rÂvvMÎ>Ÿ~ú©]qŦÄHAS2$%öT’ϪU«ºÉ•N‰é”0h‡~¸)™$V±”µÐ\Öû«X½ÅÑ@€ @€ í¶³½‡h_Î6l˜+H‡‰ÕéDûöíM1»k×®î&”Ëe-4—õþr¤h& @€ @„ÂvéH#;(Þö•W^iK–,ɨAõë×·ÓN;ÍM"Y½zõŒ¶¥pn(k¡¹¬÷—½@+!@€ @¨(¶+JOrYC`ݺu6|øp{ûí·ÝøÙaáIÔX Ø­[·¶~ýúÙÉ'ŸlõêÕËšc !%O`ñâÅvÑE%T|ûí·[óæÍ–wAYﯸíe{@€ @€ „íLhQX¹r¥Íž=Ûä=«?Y›6mÜ¿fÍšY^^^†5R€ @€ @@Øæ€ @€ @€ œ"€°SÝEc!@€ @€ @a›s€ @€ @€rŠÂvNu… @€ @€ „mÎ@€ @€ @È)Û9Õ]4€ @€ @€¶9 @€ @€ @ § lçTwÑX@€ @€ @@Øæ€ @€ @€ œ"€°SÝEc!@€ @€ @a›s€ @€ @€rŠÂvNu… @€ @€ „mÎ@€ @€ @È)Û9Õ]4€ @€ @€¶9 @€ @€ @ § lçTwÑX@€ @€ @@Øæ€ @€ @€ œ"€°SÝEc!@€ @€ @a›s€ @€ @€rŠÂvNu… @€ @€ „mÎ@€ @€ @È)Û9Õ]4€ @€ @€¶9 @€ @€ @ § lçTwÑX@€ @€ @@Øæ€ @€ @€ œ"€°SÝEc!@€ @€ @a›s€ @€ @€rŠÂvNu… @€ @€ „mÎ@€ @€ @È)Û9Õ]4€ @€ @€¶9 @€ @€ @ §tÐA–ŸŸoyË©–ÓX@€ @€ @¨”¶+e·sЀ @€ @€r—Âvîö-‡ @€ @€ P) lWÊnç !@€ @€ ä.„íÜí;Z@€ @€ @ Rˆ Û3fÌ yd¥<8h@€ @€ @¹EàÌ3Ï´üü|ËCØÎ­Ž£µ€ @€ @€*+˜°½Ñ±Ê ㆠ@€ @€ Ü! E‚°;FK!@€ @€ TfÛ•¹÷9v@€ @€ @9Ha;;&C€ @€ @¨Ì¶+sïsì€ @€ @€rÂvvM† @€ @€ P™ lWæÞçØ!@€ @€ ä „íì4š @€ @€ @ 2@خ̽ϱC€ @€ @ÈAÛ9Øi4€ @€ @€@e&€°]™{Ÿc‡ @€ @€ ƒ¶s°Óh2 @€ @€ ÊLa»2÷>Ç@€ @€ @  lç`§Ñd@€ @€ @•™Âveî}Ž€ @€ @€@@ØÎÁN£É€ @€ @€*3„íÊÜû; @€ @€ $€°ƒF“!@€ @€ TfÛ•¹÷9v@€ @€ @9Ha;;&C€ @€ @¨Ì¶+sïsì€ @€ @€rÂvvM† @€ @€ P™ lWæÞçØ!@€ @€ ä „íì4š @€ @€ @ 2@خ̽ϱC€ @€ @ÈAÛ9Øi4€ @€ @€@e&€°]™{Ÿc‡ @€ @€ ƒ¶s°Óh2 @€ @€ ÊLa»2÷>Ç@€ @€ @  lç`§Ñd@€ @€ @•™Âveî}Ž€ @€ @€@@ØÎÁN£ÉÈ6³—¬±ÁC~µek ìü½;Ø[4϶&Ò@€ @€ Da»u&‡ò"0|ÜBû÷ÛãÝÝïÑ­±]}H×òj û… @€ @¨¶+A'sˆ( ÷|4ɦ,Xi'îÒÖ–¯Y'lŸÙ·½=9bºÍ\¼ÚþyhWkZ·zi4:!@€ @€*)„íJÚñ6ŠC`ôôev鋿ŪhÕ°¦ÍrDlYã:Õ\¡{mÁwþЭ[ØyNx € @€ @%Ea»¤HR*© VÙENLí•k×§<êsúmfý·k™² @€ @€ .„ítIQˆ#°hå:{ò‹iöѯólãÆ¸UîL×ulО›Y¯6õW²€ @€ @Å €°] xl ÊLa»2÷>Ç@eA`ɪuN¨¯56{ÉSˆ¯ jXKç¯y½–—W-`€ @È^ÛÙÛ7´ YK€P$YÛ54 €rœÀú í«?Ù[£æØ/Ó–†r[²UsÛ¯w3«W³jhB€ @ ¢¨ÔÂöœ9sìÙgŸõqýúõíÌ3ÏŒÍWĉ¯¿þÚ¾úê«Ø¡xâ‰Ö¼yswþ®»îrBJlŠ)Ñ©S'ëß¿¬\iO”羋zl¯¿þºMœ81ró<Ç•ªmÛ¶Ö¹sgëÚµ«éü*kûøãí—_~‰ívРAV»víØ|Q'HYTrl@ˆ&0ÅÉañ¯·ÆÛ´…«¢ ùÖÔªVÅ.Ú¯£íÙ£‰oiz“ïÿ2×&;ûól¯žM¬{˺Þl…ü|ä³)±ðišÔ²·Ütüýä%öݤűc>jûVÖ´^õØ|iN”羋z\ó–­µW¾Ÿ•tó:5ª˜whZÛÚ6®iùe<Ä`•“æ©/§ÇÚØ«u]Û£{æß“XL@€ •*µ°ýÛo¿ÙI'ë˜V­ZÙÛo¿›/¯ ÏãÆ‹í~àÀV³fÍØ|q&{ì1{ä‘GbU<óÌ3Ö³gOw¾OŸ>¶aÃwz÷Ýw·»ï¾;V®8éOií»8íNµíàÁƒmĈ©Š¹ë«W¯ngu–{¾åçç§µM:…R±ýÏþc¯½öZ¬ª?üК4)™›ú{>šdS¬´wikË׬·¿=ÞÝÏÝÛ™}ÛÛ“#¦ÛÌū퟇vµ¦uËæá0v L@€rŒÀ§¿/°»?šhkœ#™Ú¡[·°sœ¼UòÓOòÏ×ÿ°o'й—ÐÉöëÕ,Ó]—hy‰‘òT÷¬Kó:¶]‡Þl±?¸ë›˜°½c§†vcÿînÏœaÿó‰ œÐÛ”+¤$L‚ùÄy+cU¾MK«Q­ð^°4÷Ûi OŒ›³Â.xvLÚµvkYÇ.; ³µw„î’²TçÊ¢ëlà#?ÆvwóãÂ};Ææ™€ @ b@ØÎBaû¦›n²7Þx#v†Éë¶Q£F±ùâL”‡°ÎñTtaÛë³]wÝÕî½÷^o¶ØŸ©Ø–¦°íoüðq ã„í«éê_Í4 @Iü8e‰]õêØ˜èêmT»š»wûÞG?3Ï[úy¤ãe|–ób9]ËFa{þòµvüÿý;„CÁþ|çøKÊÊCØ–#Àû£çÆá¥s·µµªÅæ+ƒ°­ƒ­V%ÏnÐÓz·-™¤â©Î„íØ)Æ @ B@ØFØ.uíT⫾aO>ùd, JûöímŸ}öÉú/^Ðc{Ûm·5µ]&Ï÷eË–ÙÏ?ÿl .Œ;–›o¾ÙöÝw߸eEIŶ¬„m%µüü¯¶luûzà›†öõ¸Ø€ PYÌwÂ: zf´-]Uwȵo;ºgÌËõáO§Ø?ÎŽ+œ¹öÐn¶k×ôœ!¶ËÆc;•°=fÆ2Sˆ7Ïpâ¦7ªS(|{˳é3è±­8ý|áp4ê`ÎÒ5öÛÌeq/k::aI:©w‰„%AØÎ¦3‚¶@€ÊÂ6ÂvVÛå÷(úžƒÂöu×]g‡rH\…¸o¹å–¸p ½{÷¶§žz*®\Qg²EØ.jûÙ€ PÙ üû?mø 0ÈûZ^Ø~K%n7¨UÕž;{Ç;¶0Ô…{ÿ4ÂvvÛþ>ɕ頰ݼ~ {æÌ­š?É ÁrÙK¿»ŽÞÊÙö/ð2ÛQ>!@•›Âv„°½zõê81r‡vp*¦ñ·ß~kŠÏÝ´iSS’EAT|î0›:uª}ðÁöçŸÚ‚ ¬jÕªîv[mµ•pÀq ßyç[ºt©}ôÑG6fLaܺsÎ9ÇMø§ØÈûï¿l7M¿ûî;ûì³ÏlöìÙ¶hÑ"«U«–¶dûí··=öØÃÝWlg¢¸¡HæÏŸoï¿ÿ¾;Ö4½nÝ:÷:tè`»í¶›ÉkÙ‹!Éñ 2$ÖÌ6mÚXß¾}cóÞÄÊ•+mذa6~üx—gµjÕ¬K—.Ö­[7Ûk¯½\¶^YïS}%ö2Å)?âˆ#Ü~Px—Q£F¹¼Õö­·ÞÚöÛo?o³´>Ó¶UÑŠ+¬_¿~1ô:uêØçŸ·Lû2]¶aÛ:GtN~ÿý÷¶xñb+êñÇ3€ dL`zãÄGGÙú ›’wû+èÔ¬¶Ý~ÌæV×IÂç·Tâöev¶}6oêß$t:™°ýÓÔ¥&QR¦xЊO¬ÐŸ;ü¯Ž‡±Fhµsâ%÷j]/ÎS׿£uë7ØÈ ‹í['ŒŠŽs…“CÂ{Ë5Üm6w¶õlú¢Õn¼ïk ìÙ¯gx‹­W›z¶[ׯî¼<Ñ[8ªg ö û}¾ýéÄ{^àLkõjVµvk™âgoѶ¾ãì•ÞôYœP$ê¢QS—ØW.²¹Ž7òÇþ¦Ã¦¡ãY¿e»ú¶sçFÖØçiýñ¯óNë]fcg-5ä¤]Ûš<œå•­¤ŸZ÷ÛÌÂõJâ©:ƒöÇìåöó´en¿hÿ­Õ´NŽô¶ŽH¼YHìê5ë6Ø»N‚P϶i_ß::ç”ÂÚüèôïøÙ+Ü6lÖ´–{¾øÙzÛD}¦+lkûÿ~>Õ^õ%š<«ŸóÂf»øç¦Lú2Ýs¥ºór',Æöïï¯>Ô§FEDÿâ•ëœ~^CP¯fkÕ°drÅ*e€ b@ØŽ¶%BûEä+®¸Ârüñèõë×7…—ØqÇãÖ=ðÀI=skÔ¨ázó*Q£ìÈ#´)S¦ÄÕáŸéÕ«—=ýôÓî¢éÓ§Û…^hΣ¬víÚ&^ ÜžGØþïÿë ãa£LûÒ>µïLŽ'UŒí‘#GÚ¿ÿýo›5+<»îk¯½Ö6ß|ó¸¦ù…]Å)â‰'ì¼óγ™3gƕӌÄqíC‚y:–®°­ºZE"²g_|ñ…ûBóEéËtÙú_ûzùå—íÆo´Ñ£Gk6Î2=þ¸™ @ cÏ9"îÿ¾š¹]7'áÍGõÌHÜîÙª®Ýs\¯È:½É„íû>žE%F«¾+_놗ð¶÷>wu„ç«êbUÊž)yô厧î<'ÌJ”))äu‡u³Uóí³± ìæw79"D•¿éˆî¶CdžîêgfCFδ _xÛïäÍWþ­³Õª^øb ¨Âö,çx®~í›áðQ¦ýhÚ¯ìô'¶é £ËwoY×î;¾—¥Š±½ÒI¨ù¨#¿ïˆÔaG«„¡GíÐÊNعMœ§~0Æ´b•K@â$Ê Z]ç…ÀÕw±m7K/Qg&¶’>8trl—œQJ2îY¦}™î¹¢Ä£Aa[/Jîø`bÂyvüo;í~À×îÝäè×CÆë6>!@YCa;Ma»uëÖ¡b¨×“mÛ¶u=¼=oå×^{Í$*zÖ¢E ëÑ£‡+Ìʃ؇åÁ-±º{÷îi ÁòÌ>öØc]¡Ý«_ÞãuçÌ™cüñ‡·ØªT©bC‡µºuëºËŠ*lK~衇âê•Юzùå[¾¼ÐÓäÄO´‹.º(íãQ¥É„my°_uÕU±}GMˆ½Äwy_{ævõ"AíÕK‹(»þúëíàƒŽZ·<]a{îܹö·¿ý-¶mãÆ]¯|-(j_UØNugrü±b€ "¸ÚIùýä%I·ÍTÜÎÏ˳wï`<“YºÂvuGx®ãxK(²Kèdûöjæ®–Ø,/tÅ—©=½A±ZÕ<ïxWûc‰{baºb¥„íçaö©/ _è8»·¬ã´±ªÓYžážEÔ¢ÛKV­³sžíŠÂ^½òÌîæÓ:Æ?ç®ð»Ì_>w;—WIÛŽ›øùÏŽ‰yÏÇv2¡ÿqÂ|x¶å)¯œ(Q&oä'NÛ*ÁË=¬|&Âv0Æøût°ƒ·jáV[”¾L÷\ Û —2Ïñt{9 Æa;¬çY@È>Ûi Û꺞={Ú¹çžk •¡P$·Þz«› ÐëÖ‡~زDvñÅÛðáÃÝéæÍ›Ûo¼aÕ«Wwç%ŸvÚiî´þ;Éiƒ¼¯Öc£ó0 ˜Ìo½õVlý{ï½g 6tC|HW]òŠöLu©]žÝÿý1Ïn-»í¶Û\odMUØ–0+V&qøõ×_wCžh^Bñ€b,:wîl/¾øbÚÇ£:¢„m%`”ˆë%`T8‘+¯¼ÒvÝuW·þO>ùÄî¹çžØ‹…†yî¹çb^×~a[û‘ÐöÙg»aS ìÿûŸ©϶Ùf{ôÑG½Ù¤ŸéÛò¨—‡´Âžx¶Ë.»Ø}÷Ýçε/Ó=WJóø½ãဠ¢H%~zµf*n?}ÆÖnÈoû°Ït…mm+ñøDÇ#xGÇYbëËßδáã “cK¸¾sà¦QszÏ{fLl—çíÕÁÝf“©…~1¿ªSïKŽ,oçõΈÀùË×Ù)Þ3)Ê ½6sëªâ80H«?þ¿?ÅDs îOž¾•âdÓh;‰¹g8žÒËÿ·;8a6þïä-cm)аýþè¹&qÖ³;¶¶SwkçÍÚã_L³—žýóЮnø”‚õu£Ý÷ÉdûhÌùm¾Ý÷ñä8iy©Ë[]V”¾TH˜tΕ%N(¿Ç¶ö—Éñ#l‹@È~Ûi Û¥×XÞ¶ž½˜¯¹æ;üðÃÝÕ‡zhÌÃ[1%ôÊ[Ö³7ß|3æ9,áÛï%œ*! „Û~øÁ­J7Å ÁÑ AáÐA…¹øûßÿîíÊ.¸à;ùä“Ýù¢ÛóæÍsC­xî¼óÎvÔQGy³î§¼´ÿýwwZ¬‹Ü³TÇ£rQÂö#<âŠñ^] ù²ï¾ûz³îç³Ï>ëŠÛÞ«¯¾Úú÷ïïÎ…ÝãŽ;Î}éà•]³f[[q°eê ½HHǂ¶¶­WoS¼Hyä+^zÐ;\ý%}/dJqúRmLŶ4?F” @ šÀ!÷~gk ¢C¼ù·Ü¼u]»k`/Gõ/5;õñŸM¡?üvû1=mK'Æt2ËDØî¿]K;§ß&Yu®qÚ<ðáMa2dMëVw“VjZ±¥îÁ3‰ÚçîÙ!Ön…óð'ËܳgÓ˜Ÿ*! bußïÅžÉKù­ Es-—‡³<Ãeò6û¢MN'š/аýê³l´ÛÚ5‡ýÅûu²úNxϾ™¸Ø®}½p´äé»·³£ûÞó=–_:wÛ˜¯:¢„íÕë6ØQý;?sýþz»b¸·ïUÿÓžø9æMÞÄé‡!NòPYPخ愊yÖÕýñ»ƒÓƒ÷ëhnÑÜ«>ò3(lK oÛ¸0þôš‚¶Ðé+'~“0cÿîî¢âöeªs¥¸Çÿ…óâÆÿÂbk'L‹úƒ @ » l§)lË[Ù~SâÆAƒÅiúôÓOwçýÛZ ±W •Ôq‹-¶p“zaKbü5‘J¬ –÷æ•ðRžäŠí-¯pÏŠ+l{õ„}*ô‰ç5-osYI Û iòå—_ºõꥂ’¹É«[b·<°eJé…. »òÆ–W¶ßÎ<óLûé§ŸÜEòèVäCb #“… ñ{È+ƶ<ÓeAaW¡?Ýo—^z©}öÙg±Eß~ûm‚x[é›HWØ–ß±cG»ì²Ëܾ*ÜÉ¢ö¥6Nu®”æñƒy@€2# Qú7Ÿ(¶u2QûŽ(é…ÝðoûúÛ[m_ÒDÿ:o:aû)'܇bûí†7ÇÙW.Š-zÿâ>noÞûáôÁ¿œ¾ðìʃºØž=š$ÛŠW~á¾½bîç¤ù+ÝĘÞ¢ Û Í¢Xê~«ëÄ?߬imkV¯ºqÜtqú2Õ¹¶Kòøã‚@€Ê•Âv) Ûþž1c†ýøã&ÑT1°—//Lô¢øØ çá…¿H%VúÃshòV>ðÀÝð&¶ƒÉ)‹+l3ÆMv©¸Ñ²V­ZÙ©§žê†ô÷sµjÕìüóÏw½Çµ¾$…íã?Þ<¿G¦xÚa¦P$‹mòÒK‰ð²ÒvƒÛ×]wÉÃ<+N_j?©Î•Ò<þLŽ“²€ $øÉ q¥/„¿DQDmmäö­ì¬¾íýU…N—¦°íß¡â,uŽž¾Ì¾v<¼ªÄoƒöÜÌßvSˆTb¥êìx¹ÿýΚׯaÇ:É%·v<Ê«:q¤¯zu¬ã]½ÄÝEIÛÿ|íûÖ'\ËË\ÞÏ›Õrce+ ‰ÚäYI Û_;/®cœW­Ýpx77œKlÁ_Á$‡žØÛº4¯S¦Â¶úá™3·6-é|qû2Õ¹‚°?+!@†Âv)Û ?"ñÚ3ÅÕnÑ¢0±ÖKV¯sÄoyÇËæå­ wp»4…Ý`(’¢ÛQÇ;0g"Y_¦:WJâø½([Û˜† ü?{ç E‘½ñÇ.KK$H³(Àìæ€zž9£è™=Ó™Q gÎá8s>õÔ3 **Š ˆˆI’$³}¯çõöôNž ³»ßƒî®®ª®þuOO×ׯ_‘@n °] Â6þŸzê©å ¼å–[á=`ðxFŒç† ½ÁTÂbå¨Q£dàÀšwáÂ…‚xßf±B¤\wÝuòæ›oZÉVؾá†äõ×_÷ëÃŽmÛ¶õ—á>tèP1îdÂvp¬’xÂ6B„ Tˆ<Ó±óC˜’ /¼P=á± ¯÷'žxB¶Új+,Vª°›­°í±Äþ%:W*{ÿQ?H€H€H ;ŸL],7½å…S Ö„Áÿ~Èf.nµ—šLÔF®}ú´•‹÷Ž£¬38_YÂöÓcçDKb*vƒã}/sñ±~`‚ß”`ø‹°X¹™‹Å}ï0ïžîúï y÷û²Ð-¨»uÓ¿.ľ>ù±‰¾Gw¶ÂöN ?þáoýútá<.…ó‡“I&lß0´·ìûã ¼NS—sžù^ÖØÅª¾í¨-LÌåšW§IiDÝiÓB¹á°Þºº"„]ÛNxZÂv¶Ç2Ù¹’íþ‡=áwÛ¬µàfÁe   ê%@a»„mÒ³Ï>Û[ái|úé§«§µ‰¾÷Þ{¯/|÷íÛWüqÿLxøá‡fq{öì©ÀrРA²bÅ ]ݤI¹ì²ËuÌ›7O>úè#yá…¬¨N±müÁy_Ç—'ÜB{ l¡H7ú§Ÿ~’‡zH’Ä:Ú;nÜ8?´J²ýA™xÛÆ:×AxÄôîß¿¿ò;v¬` K³#øUÞž´°\#÷vƒîØ¿»°pµ‹ó{ H+ÔµMc¹ÇÅaŽ5@Ÿå N+KØþaî ¹èßeo%öv1¨‡íÚI6iÕH­\/Ï}1W&º,fˆ±½]×–ºXìbqzï×Qñ³ ]Ìð-êàƒ?;Oì?þÍŠÊ€^­ä˜;I£úyê¥ýÌçst IËæw.ÜY=™‘¶ÿã|Ñ;è}O\F™ÃïûÆ ³qA¾œ·w7Ù²c3Yðçz1Ž8âA {Ú?ëöí2C,p„1éæâOÿí€úÌîsB>ׄM›¿JÎÿ×d¿Í·wíÙJ6iÝXf¸.Ÿ;Om0ƒ5t 9¹¯´waA`Ù »ZIœŠ¶_??«c™ì\éäηc,{€öþÇ®%Š1Na;ÎÁg2 ä Û•$lËù´ÓNxå&²-Z¨8 áÚlâĉZvCðý7·²OŸ>òÔSOÉý÷ß%„[9›ê`޶|ì±Çʈ#t1aû€X×ÃÚê NÃÛ„ÀÞ¼ysÍ’l)‘°íCܶXÛÁíçòeäȑҴi™'Ke »Ùzl£íÙK”Oƶ2÷Û§‘ dO ¨¤T®xiª|çZ [Ûf d©ór. oÀ‘·½… žq²”K®,azâ³Ùòïq±N6$–4jœð›#;˜÷F牼éFMäì§¿×"ƒë‚óÈ>š½|î‚ a™ÛÉö%¼=Ä GÜp³ÉNè¿Ø ýá£Áÿžãû$¶QÇ+N~lÌ,_À¶zƒSîð$´E?9×…mx\gs,±£‰Îħ°íŸœ!  ZK€Âv% Û8c~ÿýwyòÉ'¡;V¯ö^#´3 žÛ{î¹§œrÊ)Ò£GùWFK^Ü3gδ"¾°÷ÝwŸzf#ì‰<¥8âõÇ€’ˆå ƒ‡óÓO?­ó™Û(øÃ?È­·ÞêÇÑÖÊÜG—.]ÔC^ÓwÜq‡%ËÝwß- ð—í2%¶±¾¤¤D÷Þãa½]»vú àÐCõ½ÄQV™ÂnEÛÙKoEãŽÇ;W*sÿmûœ’ dOñœût– ™éÔ†¯<¨WTHŽTÊW¦°íÿ÷‡Eòæ· üx×Á6uvÞ´ök'‡m×Á÷¦¶õ¥ïuì_ºØÕëÝÀ“f¶wt¡6¦Î_)÷}0³\½ðÐ=×Å žµx<ðQ™W7Bs D,aa>ž3[^wû‚0Íày=d›vò—›È‰N”•k=1}³]øç94Äí„þ`,õT…mÔ3óÕr߇3åG7PeðG,sûn…rÎà®:fp›¹.l£­ÙK”Ot®PØ! Ô~uZØ®ªÃ‹8гgÏ–E‹©@‹øÔ;w–fÍš%mq„AìhxEC7[¹r¥†á€ÐÛ©“{ÅÓ >\où*r:kÖ,™3gކ!¨ŒµÊvíO*å‘gÉ’%2}útMއðz¯éVDz"ØÖtŽl? Ôt_¹¸ÉÏ;ž¾‰lcž ÂC8ßq'*PMë0ä¢ëdùêbiÚ(_àÞ±°QÒÖ@À]¹®XÖ•ºð*ù:%B‹˜ÍYºV滸8Þ[5N[Ø·zR®ZW"³Ü ŸË÷<ØcÃ;[STâðó[:Ïò‚üôÊ#üÆì¥kd‘ ƒ‚íwlÕÐÅ`@I§19”7Ûc™ì\É¡]eSH€H€H€*˜@¶Ãá>*˜/«#   ¨fp¨i†ø¿c¦.‘ß—;× ŠXT¼AÚ·l 1”·éÒR½—sXÏ®i¸Ù^    H N ÛåDíT:=áy5ð ³É$@$@$@$P£ ¤¢S‡Æ*©‰âv>Fl< T2Z/l—¯ƒ@ÃBvP´u˜B}£`-œ'   ¨á[¹¨úB÷r’àfŽ¢w58Ü @bvÿfÙ¶l÷oX¶[A­)|?¸mKV‡-sJ$@$@$@$@${j·°m½˜Pýtv¬Ó¢—×:@ÁÃä÷uüº¬2WG0#çI€H€H€H€*@À/.ÖÞv"7j¶ܸÞç…î÷¢Dn»‘³Šý›>zp9ržH€H€H€H€r•@­¶Ë‰ÒÖÃA§ÅuX¬¯b‚v,1[󠜛±¾œ•õ« ®Äú¨Ü(A#   ¨Îß:ªšðý˜-#“æŒÜËE¥ûiž#ƒ97hžÈ½¢nÄnú"[´|‘ENH€H€H€H€H€rˆ@í¶­'µã ÚÖ jÕHóÄjtl :BÞ‘ ÙáW_6…H€H€H€j4x÷]Þí^Ù}îÙpOf·Øi“Ä--èÅm÷†ºÕXf»áC’De4     œ"Pã…mõ¼"E$ÐÇ)-õBŽ„=´Ñõ zf—j'ÆëÑX¦LÜFV«´¬úàf9O$@$@$@$PùLÆ–Ê„gOÔöÒ¬ $/"Lk7ïÜteXàÎËÃ}a¤2îûZ¶HNH€H€H€H€H€ª@í¶MÔŽôx¬OQÚú*~Z½ ÚÞ‰Þ+ª–)(ƒeíç ÁYPèöÖxéü$   ¨Hewe&0Û=¦íZ7è-ÛZ‰Û!;P¦, ÿ¦¯üv+r¯X @vj°m½šHg$è©mÝøò˜ -h—‰ÙžŽnŽ9ëx¢8Äí²n’ÝêõUs/™Ÿ$@$@$@$@EÀ»-Óû0«ÒîÉpûç­. A¯làH÷„p¶mê¥#ÌòáÐ÷Üö*µ›Azl+)~ @n¨]Â6ú'®#ôÊ6!Û¼®½éqJ4³'d‹.[^o«'r¬Âõy]%¬·^FË)Æ @†ÌgÁŠï¿L¸Æ:ËgZ4¢ŠxéõœÇv™p;7oÙÁ‘Í/½rî3rOi7•æ)Žõ4     Ü P;„m땸Nú!&P{óhˆÕ34<¶±^Ó#óH×?Ô©St‰L×®'äåóÖjÍéIY§$@$@$@$@;@ØÖ[>Ü~…kO¤ö¤ooÞ­-ÝnÄÜön½˜Üe"¸V©íôEs†¹›> Û ~’ @.¨Ñ¶ ØQ„ ™ä ÚDí ðÒ©û§i˜«ç ÜnùQS]™ºI$ k"/­º X‚!/H€H€H€H òØížjͧuSe!G°ˆи٠ŠÙH°ØÙ*d»<­‘UÅk÷í|L#ëÊòy!I´¼ËS&p»,ÛGäÆÂ¶bá äš-l£÷á:7èuÄòÖ6ÛêÒ€À­¢¶+[âþoÁÊ™ºhÌ[Y, V˪õ¨˜F$@$@$@$PS4mPOÚ7¯/šÕ—Þ5”öÍòUôÎÚeâ6Dî  nžÜ‘$‘{mSØ®)gÛI$@$@$@$PÔ aÛ$hL£½µ!Z{Â5„lܲƒ¢öú’Rùè—52þ÷5ô® g<÷‘H€H€H N€ÿÃöË ¥A~žÅmÌc½'t—yr»¤„^Û¶ëÄ©Ã$   ¨!j•° Ïkˆ×î¿zaCÔ61Û¼·K]ì‘b—èôl)r£'­ÙË‹¤¾{7uçNÒ³°žlÜdƒ4oPCŽ ›I$@$@$@$ V¬™¿ºžL_¶AÆÍ-’bw3¸IË9¶_s)€¸íb’ÔwŠvž›zaIê©à ‘Û–MÜFx˜~âÃÝ?RØV$ü     œ Pó…m‡1* I”°íÅÖ†ˆ aÛ‹©]OŠ]<·?œ¾Z¾š³FZ6Ê—“¶.p‚6¼tkÑûˉ#ÄF ¤DÀ{sŽœÀ-òÔ÷E²|m‰ìÔ¹±ìÕ³‰ŠØõºçÜ Ì[b·s;šÄm š¶'k»uP¼a¶=ü$    !P³…mt9Ü×ÏP/mtbÌKS³mêÄmOØvÛNÕ^°ªDžøf™v\ÎÞ¾±tjæ§Çv ;WÙ\   H‹@XØ>WÏcÛ·#·°MÐÆ`’o[¤°of&    ª$Ps…mõ¡ñP!ì<·ÝŸe¸‹]¢ Û~Ïk›ÂvUžfÜ T=XÂ6¼´5 ‰±Ík»~@І‡6B”ÀIžÚX†yŸîAß}[“ùA$@$@$@$@$PMj•° 1Ûûó„móÔÆ`‘¸á©íymo{«Ècû­©nã´ZK`Ho×ó¥‘ ä$°°}žó؆° mÄÚöíhÏm<^ܶsò°²Q$@$@$@$@$ j¼° <µá±­^ÚXv󈫭!ITÔÞàDm/Þ6Äî"÷Ga›ß€Š @a»"(²  ¨±„í¶=¯lxn×wê5<´‚¡H fç»¶á©í…%Aé±]9Gе’ @új¥°íym— Û²Í{Û‹±½Aîû¢jblÓc;ý“²&• °]“ŽÛJ$@$Pׄ…íswAŒmÏcÛóÜvaI hG„mˆÙø£°]×Îî/ @M$Pk„mŎ·v=ç­ ïl÷ñÚ¶ð#6p$¦¶kâéš{m¦°{Ç„-"  #KØöÃ81ÛÂ’˜·¶7­ç<´7hlmõÚv•ÕtíQ£FIII‰aI:mÕª•üõ¯Mš¯¶fxòÉ'eñâŲÿþûKŸ>}jënfµ_däá›6mš¼ùæ›Ò¢E 9í´Ó²bšMáï¾ûNÞÿ}­â裖Î;'­î÷ß—Ñ£Gk¾ƒ:H6Ûl3™8q¢|øá‡š†ëÞÙgŸ-5JZ2ËbùÜsÏ•† b6e›:uª¼üòË2wî\iР\rÉ%Ò¡C¹óÎ;µŽN8AÚµk§ó ,gŸ}VçGŒ‘ò6˜‘Ào%~3a't’´mÛ6QöJ_÷ꫯʌ3d—]v‘]wݵҷ—É’Ýc4iÒDºté"={ö”Þ½{—Û¿Ëå0!MuB؆ǶÆÙv‚6B’À{›Âvšg ³Ç$@a;&&’ @Nˆ-l{ƒGBà†§¶ç±í…!©­Â6:ÃëׯOù˜tíÚUÅ¥” Äɱm„ Ò±cGÙwß}ãäªúädí:òÈ#å×_•k¯½V† Rõ Ì‘->ýôÓRZZ*x /&ZÓê£Dç ÄäË/¿\Ïñ7ÞxÃðTù"õÁ¬Û…À~Æg$mã>*>ø Ô¯__Þ}÷]),,”^xAn»í6¿ì 7Ü p€¿œhæüóÏ—Ï?ÿÜÏòÑGIóæÍýåd3ãÆS1×m³'žxB.í´ÓNšôÌ3ÏÈ[l¡ó?þø£œxâ‰:ÿõ×_ëH+W§‰¾5m}§ª{_ð[iò¿ÿýoc«³MÇ—Ï>ûLœ¥ò½®Ž¶¦s1xð`¹øâ‹£~SêÚw¹:ŽQmßf-¶½P$‚Äý8;'/‰7¥°]ÛOíªÙ? ÛUÙ[!  LĶ!j«·v¾›:¯DÌ«¨ ±Û-×6mëtn·Ýv²Í6Û$E íc=6i¾düq¹ÿþû¢¦¹bÉÚU—DÛDǤÿþR\\,=ö˜ôë×/*k]b”è|ÉaoY@0ìÞ½» ÔQ,ÆÂ1Ç#Ó§O—úªaa;ÕïîÂ… õ!„˜¥+lC´?~¼l¾ùæ*Ì·lÙRð â8…m‘DßGc^S¦‰¾SÕ½¶Ó?‰î1ð2þ|}£× Ø–[n)xë'/ÏÝt9£°­ø‘:!l#$‰yjCÜÆü?¿\¦ØFÐZ *í o¢Ûö4¯yÕ4«Ém¯HÖ¶+’&ë"  Š%¶Ïé_‰±í‰Ùˆ·#늰}úé§ þªÊrU¼HÖ®º$Ú&: iu‰Q¢ó%—„í (ýâ‹/ʦ›n÷ðΜ9SŽ8â]ÿüCöÛo?·:×O„e@¨•öíÛÇ­ + RÝwß}Ò¬Y3Y¹r¥æMWØFèŸ?þø#æ›sæÌÑ:†mƒÕ51,Ñ÷QÔ Dß©êÞ Ûé¶Ýc€ëÝwß-Ï?ÿ¼nàÊ+¯”¡C‡ê|]û.§O˜%’ °]MÂviq‘|òÔß%?¿@v;éïNX÷žV%;`¹°¾"Û¾vÅRùmÒǺ[½z¶\ØÇTÛ@a;URÌG$@$@UO€Â¶Ç<•Nge\/’µ«.‰¶‰Ž{"!­.1Jt¾ä’°½dÉ 1Þωb~[ľýïÿëÇÑ6aaIð†Çÿþ÷?³,æþá‡.¿ýö›`ŠÙ°t…m„(øóÏ?åž{îñCA$:?ëš–èû˜ˆS.®KôªîöRØNÿ¤zïíC=T=¸âêúë¯×Õµïrú„Y" ÛÕ$lÏ›úLþð9é¶Ý^Ò«õÆî[¾`¦,û‹4jÞZ6îµm²sF*²íËÎ’¯^ºK·¹÷YwVšç|ÒÊ0…í Á± T ÛäT;±ÉÛo¿-Ë—/—½÷Þ[cb~ûí·‚¿É“'kLÞ=zhlß`,]ˆ}‹-ÄÌ;v¬eÞ¡;ôêÕ+jS8N_~ù¥|ÿý÷‚Áã0XÜöÛo¯ÂÂíçŸÄÓÅ@T¡Â¶… 'Ÿ|r0{Ô|ªí жè,}úé§ú‡×¨7Úh#‰µÏQr È‹xÃè°/[¶LCÀ@(Ä}öúu¸L¬e ª…Áüù¨£ŽÒzouÊ”)êÝŠ° àrçwÖ<±ê@ÚóÖ[oɬY³´¼^á…»Ûn»iˆk^‡˜ À`-Á;uê¤âça‡¦ë*‚‘VçûãŒý„·.BR`Ð1ìg›6mÊ•Â~ öi¯½öˆ¼8§0 !¼€á½Œ²Ò¢\1R9_ÂÂ6Úï Ž;Ø¥²ÝtÎÿÍŒJ:ï¼óä‹/¾Ð¸ÀˆÏ, IP\BÞ °ý÷¿ÿ].¼ðBÙd“MØÅ3|oñ½ƒ~­‹K˜À°T„í¥K—Ê;ï¼£ù®híÚµ‚s¬[·nÑ"øØ —ðênݺµæO&†eÂÛG¼q„tÁwm€—8Dw|Íp~!lÏ=÷Ôë¶.8]µj•¼þúëšl{ªÛIõûÜf:מð÷ß\·°ÿð¼ïÛ·¯ì±ÇúýÇ6°ßX±p]Ûxãu]äKÅRùNëÁ1ÄuÇ¿ ¸NᚇPøÈÔV¯^­×‡~øAð›‚7 p|ñ}Àµ¿™°x1¶Óaœí5·3ùMHç8c›´ê#@a»š„í¯_½W–ÏÿUv=î iÒ²zGÚýuÂ2ýË·¥Í&›Év•ôl¬È¶SØNŠ›H€H€H€2$€NqQQ‘ g‰ÖÀP$é‡"1óá‡Vq÷ÙgŸ-w4 nÜu×]¾`}Ê)§È¤I“ÊåCÚƒW§„-ˆaÀÃñuäÈ‘²Ë.»ø«báÖ[oU¡ý²Ë. X‡N1 õ›nºÉÏžIµ]¶ÏW\q…|ðÁòÕW_…«RA'¸ÏÁ ï½÷ž¶¢VØ ÜqÇ~8…ðúð2D³Î:K6„{8ûì³U¨ çC ìÛo¿Ýý‚ëáùÐCiX‰`ºÍCF8 :ØWl#–APÄCX¶ŒbÕoi†qŒ!>…­E‹rõÕWË Aƒ¢V™À¼Ã;Ž^‰‡H6º¸,Kå|±íb€Ô‹.ºH®¹æš˜íŽ·ÝtÏÿdí;Ò°W^yE…˘g5Òï½÷Þ¨ïWPØÆy ¡oñâÅ1ã¬[½øÎa[ØG0P¥G>°mxkÃ{â)„PjØ[X6y׬Y£"Χž={jYŒðþ†=òÈ#²í¶ÉßRMå|±íÚ 8F©n7“ó_w ÁêÜgŸ}ô|€Ð+„ˆ1†ØŠsÀ¼õQmPØÆwB.Î[xN_uÕUå¶Œóñ¹áÝûÜsÏ åt„mˆ¤øNà ž¢>|;wFüñi Û™pÅ÷ ÛE(xClGPº!.0¾ Áð0ÇwÝ8¿‚ ox8Ÿp rÁè÷7í¤ú}Äö2¹öØù‹ï7öoËàXÛ÷û&¸fຌk ®ð¨Ç±Ã¹¯g\ïþõ¯ù7mÿÃÓT¾S(ƒ‡ ømÀ6pÄñÀwð›‚ãyxc¿qMÅàÅ;lØ0ÝWöˆñŒë D{¼‰„7š6mªûŒúP7X˜eÂ8Ûk¸ Á-„Cfö=Ærª×J|Oqþá`Œk«SÏ“N:I¹ãúü= æ ΧzsìCÑëÄs<¸€%¶3ÙOÔiçv&¿ ™gl“V}(lWƒ°=íó×å·‰ËÖûœ˜RèÊ>=Ò¶+ºí¶+ûè²~  ¨»(l{ÇÞ:xõa+’¼][µj¥ÙLÀÄÂu×]§^ŠÁò‘‘bD#Å1 béâUdtʱ¾Q£F~;xDC,À A≠ÛèlCpAûÐñoذ¡_6ÙL²veºÏa ” óq! ‚‘ Ú ¯Zˆ¶ÉÌDäƒxŠúÂÇaaàiºbÅ 2ƒž“˜ÇÖÂÛ³õð¢‡7}ÐÅôÍ”Q°þð<^5ÇÈ›àˆöÅBˆB ¸âø¿öÚk¾èb"ê„uˆÌfÁ è@xEÝuRµDçK6ÛÍäüO¥ÍýÁaoðý „w„_Š´–',lÿòË/*0Bìƒcð;Š2¾ xÛ¶à]›Ž°mÛÅ4^Œít=¶3ájß3œo8¦áHàxçwªð‹Á4axèí{ðÁ^ÏAƒXŠ·Hpîẅ°4™lÇêLô}ÌôÚ<ñÐ ì‚ÇohÀÛ†4à‘!”pÀú0)žPjíN}§ï¶ÛnÓ‡,¸æá»Œó+h•ræ™gꃂDË`û‚}Âo ަAÃC¼Ñk ,(lgÊØŽ9êËäKØÎæZ‰¸Öo¼ñ†>äÄ›XaÃyŽãŒd7ß|sxuÌe»ÇHt,Àõ}üñÇZŽ1¾ó°xÂv6û<·ÓùMÈô8ëŽð£ÚPØ®ba{Ci‰|ò¤÷zعNêååG|ÜÄ/™ó³¬X4[þücŽ»Ï“u–íºH«Ž=¢òÚ‚_&ɺ•ˤ°cw—wùcÖùsÁoZ¾AãfÒ²]WçÞS·ˆy²`úDY·j¹,ž3Uþøí'iZØN:÷ÙU«…7y³6ÑúxmÏtûØP*Â6˜\òûtÇdެùóiâÚÙ¼mgõxoؤü«Gˆ^´v•´ï¹4lÚR–þþ‹,sa_–ÏŸ)àÑ´ÕÆÒi ‡°aü'»kÏÅàèb€£®ÂÝ¥U§Ò¼M'qÅÐ clû(8C$@$@9G€Â¶wH¬Ó™ê‚×D ˜ ˜ðÆ€saƒPÁâ BelµÕV~–Dâ^3‡7“ Š~a7q"$:·ÿüç?5F² ÛÈOQ„ÐH×µ ueºÏ³±/謣ÓË^zé%¹å–[TÌG;’YPI$À ¼ª!6b ƒ(ï<„‹CXð%ð~„'= %Ò2e¬?<.àƒÚ8m‚ùp¾AL„Ç9 L ,(bØÃ”`9ÌÛñÁ÷^ª–è|Ét»™žÿ©´‘…[øÏc³`’§žzªÜC’°°rðÐ…ðd^ýV¦çœsŽÆ·Çù¯Úê¶3å ùÏsaAÃÃ(°„ွma1Íá…joFX9¼a€0-[o½µ<ñÄšœévP8Ñ÷ÑÎít¯=Áó×¼14|ß pÂðß½°áº„˜ÛÁïc8Ox9Ñw qñп)¸~ÁÃ:–á7\!´ãš‡‡/‰ Ñ~Ü$z°ñÕ@ þ6eʸ"®á? è±ÍµÒbâãA1Ò ”˜Ø@ Ä1‡)²<±¦v7§º9oþ á7õ! ZÂÂ×àxÂv6û<·ÓùMÈô8÷™óUO€Âv ÛóþV¾ÿiéÚoOÙlÀ!QG|ýš2ùƒçdñì©Qé¶Ð®ûÖ²å c¤ ¡w£jéß¼vŸŠ·›íz°@õݧ¶ÊŸæå×—-v?B::A× ±²—Í›a‹QÓ-ö8Ò¹mE¼¶gº}Ô›L؆HýÓ§/II‘w´¶` à.AC˜„LÙáÐseѯ“å·IWë|£f­dÛÿ;µœx•óž ?}ò¢¯_[®\Û.›K¿Nð„QØ.‡ˆ $@$@$3(l{‡Â:l+•· ÜØëÇ&`;Õá áÈÝwß- ðW'/L³×øýB¡ˆiè|C€°¶ƒ¢C¨XÂÅDíBÁL÷aàIÏE]± ƒÁálØþó c+Ÿ¥E„gAÈ€X†X¿xÀƒØ1-‘!ö<ŽøB ÌTØÎ伈×.P!dAЊgxsçBº@|™ˆ[x]"^xØìÜ ZÎk9Ñù’év3=ÿcµ/œ†Bxè~¯+`f¯õÇ2–°miá7/ðÀ $˜ã\FhÛ/l/•ÛÖ.L+ÂcÛ¶Ÿîu"*®c°!âÜÓ½q0ãZýÛßþ¦oÀØoä‡G1ÂfáL·ƒú Û™^{ìü ÆÏǶÌÐ^ćá{€·k†‡`·¢„mˆ¸öýG½±p¡ bo½¤rͳc…øÒxøï-Ä@Ç.°àoL¦Œ³½†ƒEXØÎæZ‰ýÂoüôéÓË]ð€*ð;ƒklð”‹gvo½¥ãºŒ`øÝzþǶ³ÙO;·ÓýMÈô8Û>rZ=(lW±°=þûÕ#{Àq—«ç±vxñïÛdÝê?%¿~lÒwwiÕ¡‡{¢X*KçþìÄê1:߸EÙ嘿¹< ¬¨˜° ïe”‡g7¼•›µî +—ÌsBí·¾€ ñ»ë6ƒ´ìï?“5+–èº%s§;î6Òa3otáºõQ/q#n&^Û3Ý>êN$lÏøæ¿òËWïhZ¶ï¦^ÖM Ûº}Z süBVü1W×mîûM¶*ëD™°Á0Ïž&7ßÉ ŒÙÛyh7‘…¿L”ùÎSBy«N=e‡CÎÑ:ì¦~öªÞÀtÚrWnsÉ/h ÞÞ3'~¤åP×6žªâ6…m#Ç) ä ÛÞ1±Ng"ßxGÏD^„€0A6œ7aÛ^í×oÙ<¼Lœ„€3K$T¢¾L÷B^ÍOÕby̆˚(&Ö›Áü§¯š[Ls[XÜ-gƒ¦Ás¢•Y¦Âv&ç…m3<Ýc=Ô;YH¼€,#€Wêa&b@Á€XfçNeÛén7Óó?Ö~ÅJà „ïÙb‹-4vµå±0$ñ®&bj8”ƒØ ¡ç Ä.{¸bߣà¹cÂ2ÊU‡° W´M-Z„æ«áÞV¸ à40±6ƒ¡Î!:ð½E— 8›Év°ÍDÂv¦×ûÞ¿Káý3a;–';òV´°mÇa­l €`›l¿ï¬^À±ÂdY>›"ìÞÔˆ·¯–×PœÓ° °)ãl¯á±„íl®•Ø/ûžÃCžúf8×ÉSO=UÌXz²©Ýcì¶ÛnzLÂù!bãaâ]ÛCó`žxÂv6ûiçvº×æLsp8_õ(lW¡°½zùòù¿nÒ°ð&Ú”O_–Ù“?Óð[›·u!/†PÞx@JŠ‹¤ûŽûI= d1aózï }ëBœäaQ âøÿ-ð~®ß ‘ <áê(¯ïTbl'j{6Û'l#üÈØÑ7K©ÛßN[öwÞæGFíSiI±ónVžÛ†]éï“ ÛØù­ö:^™x$¼O¯±´ûI×j¸Ìã¡ÀØçnRñºßþ-ç ¾æÏÅ2îÅ;¥hÝjé3øXÌ)lƒH€H€r“…mï¸X§3ž˜•èè™È{íµ×Ê!CbfÅ@Žì+m ïQxS=·bnÀ%"4âš8‰Á&ñª&f‚\ØÕêÊdŸá ouÄÛEŒZ ö˜Ìðš5¼Ž™‰"ñ<*ƒe!¤A”³°X7uêT}lÐÅ À€°1L ¯ÝÅI«3‘– #«7Öüpžâ;cåE˜„ gí'Ÿ|¢YLÄH$Z™˜SÂvºÛÍôüÅ#Vš7XñíñF s¾;ø…Í…mä¹ôÒKåÃ?”à€”¨ u"œÍ AžãTu ÛÙr…ˆÏë1cÆèƒ Dj†ï<àÃÔZH 0 ÄBÌ㚉kgØ2ÙN¼ïc6מdß› ÇvU Ûk4¼å!,'²X×¼xù­^‹/®Aóq-7a;Æö]Ìô¶³½Vb¿ñ6ÞðÁCŒ“Ñ«W/Ý_‡ÅpÍHÕ²¹ÇÀ6b ÛÙîg²sÛµëý&dsœQ­úPØ®Ba{ú—o Dä­öæ{FãÐ#Îõ˜§¯Wl„'A˜’Xfåá­½»‹Ï ‘fÂ2–!Ôæ”<a5Æ<}†× ã©Û¶ípÛ³Ý~\Z¶ïª«á© Ñ»}÷¾Òwÿ“ƒEüy´ m+ÜxSÙñ°óŠÄ'à  È=¶½c’M§33‘€ŒÐðö…—Å3Må 2aÛ:¢©” çIÔ.äÍtŸ.eΜ9WƒÆU„™(‚pð؆:Ö¦&4"Ķ«H؆ˆ:æ©ëžÆ»A|váFÌÍüQ&þç]|Ú-1E\¬DØÏž¹AóítøNí¦ó&lc@DÄœŽg?}ü‚Ìq!<Jc»ƒÎô³%¶µ•d³ýxÂöW/Ý¥aJbÅ"÷îfà‰þû”¯¢öÉ„í°€,÷ÉW îmÿïtiÛu ]õÕËwËò3eË=Ö°'Áü6¿våR9xˆpøv­l§$@$@$@9F€Â¶w@²étf*òbË&¤ÅòŒ¶8¦j!Ålg̘!ð:1Dð\¶/¼ðBbyÆÃC¢ ‚— ‚šãÃD¬‚7êŽ;î#—Bàõq˜‰1ð<½âŠ+trb ®feå‚° o` ®‡7àÍÏ,v1`p>X¦"F¼mÓÇ™n7Óó?Ø®dóûÖ5ð ÀÂŒ1Bçc•7¡',lCà´xÓ"!¼:Q'ê3«na;S®σ·N›;–§*!ÄT\áÁ´sÏ=Wã‹#ŒÞÂ@ìg<¿U’Ív Û™^{’¿Õ!lÛCðÅùˆ c™ÅƒÆ:kÒ'2uìkbi”Ÿ¿|+jŸL؆ȱ?–Ŷm›±òÇJƒ·÷ñ»okÓH€H€H€r€…mï dÓé¬,a»¸¸X¢Ù³g«·¼ÆÂ¡ áðÚ¾u¶sYØFüaxÁá•ó×^{-*®®í›…JH5”JP –hõÙôòË/Wq×ÄxeÛ¶ à@È Dº£>ZæÎ[í¡HÐ60ƒ¸ïôgžyF6ß|óp“Uø†Ø3ÏtÌg*b l2« a;Óó?Y[ƒëƒb<óÁ ç<¬qŽÆ2zÂÂ6ò"ÔŽ bMÓ±ˆ!œ#´ƒYu Û™rµï ®•ðÈŽeðjE\xg_}õÕQYl`B<¬‚1XÁûõä“£ßÎf;‰„íL¯=ɾ7Õ!l#ÄG¡×%ÄX9rdk[À„ß~û­žÏ>ûlÔ›(–'8Źqøá‡k½xH¯ð°áMˆ½“'OÖUAa;SÆÙ\ÃшXÂv6×Êà>ãúÿË/¿è˜xŠýÇ[ñÖ – Îgsz‚×*ð²[³ÙÏdç6¶k×» °éqF}´ê#@a»Š„íoß~Xþøí'øƒ:ÍÂ|4oÓQú}IpU¹ùOŸºVC—ôp¨té·‡®7a9<ˆb¸ðÜ¿”?~^C˜ :õfu2a;QÛQI6Û%lo(-‘ºD_+BH„‰g±öÉ„í>{'{Çöjùøñ«všÇ6¶ùۦۨ̌QoÛ}÷û‹œ´·çí/ÓI€H€H€ª…m½u:!ÇÃGJ¼® ËFضNcçÎ5Žg8–¶u<á­ /)lË ¢6„Kt²›7o.1€ò!l'kW¦û Q¬ úõë§q 7ÞxcÝ%¬ƒƒ½ëׯŠUlûkE°‚ÌUW]å{¸£^Äø…G. ̃(þýïWÁçÑG•¾}Ëî©çÍ›§íƒ ‹õúù^{í¥á šC Z¦Œ‚u„ç±/ÇwœLŸ>]=ôG÷™ATD¼bxÏB@D˜3;—ÒumåM/Ùl×ʦsþ'jg¬u»C‡‚cqoÆ3Û×XÂ6ÞžÆ—Ž«¸º…mìW&\ñ¦€ ÿ—]v™ :Ô×P'„7¼)opVˆ¦øn.]ºTÀ!uðýÈAËf;‰¾™^{ŒU¼ïMe ÛvžÅûmøàƒÇ†k ~ì­ƒ›o¾ÙXa3pýJÅ욈¼Ã† Ó‡ªš ú )Ì‚Âv¦Œ³¹†£±„íl®•¶o˜Z,x„ÑÂu×ûtÍî1½­”¨ÎxÂv6û™ìÜF{ì< Û™çDûÇu•O€ÂvÛq̳7HËv]]Lç ÊU„Ò@H ÄÎ|ú­åÖ[BIñzùè‘ËTðÝæÀSe£n}t• Ë›n··ôìÿ–½Üô—¯ß•_¿'Íœ€¾K@@O$l'k;6’Íöc Û¨sŒ‹9ް›íz°tÝf’bÚtç­ý«óÚn¾Qgé¤÷\&Â6*G¼n ’¹õ>'ÊÆ½¶¹½p" á2 ä ÛÞ±°NgªG&ƒ4ó›o¾Q1Û…x/°‹/¾X=‘†ãÂ^ׇ˜†¸ÉØjÊ”)ê=†Pð D8XEÛÉÚ•Í>£ƒŽ}\¸p¡ ¹é¦›ªÐ…×¾-F/<¯G•Ò“&Š€ÝöÛo¯£xàÍŒA*áY¡1^wæíø˜cŽQ!ü!ƒ1¼äå!ÆAÜÀz ˜† ²"^÷‡a›é~– #­ ι¼ä’KÔ«ûÑÍy›Ã»ý×_Õ Q ¡ B%8øa¦"FœfD%':_²Ùn&çTÃRX€ø|€7 Ä3zb Û(ƒc8ÇaÁAJ5Á}ä‚°)W‹9Œ}Aè#÷øÞ!†¶]¶Ýv[½…Ò¡ <ù䓘ÕdáµË2ÝN¢ï#¶“ɵ'Ùù[YÂv¢ï”1»ë®»ôÏfÍš ÄG<@À±À5×,0±LV.Ѣ孷ÞêëФIÁ ºµQ/:âaý&…mÔ› ãl®áØf,aé™^+QÖ oCaN„È‚=ýôÓÊÙÖ§:µ{ŒŠ¶±ýL÷3Ù¹ºíz¶‘žÉqF9Zõ °]¶ Ê}+7÷nʃ‡|Ù¼òõ«÷jÒ®Ç\*M[{žÁ<˜_úû/*"c~Àq—K“Âv˜õ…åV{ȇž«i±>Æ¿q¿,™ós¹Á ÛÉÚžíöã ÛÞ|@Ïž&í{ôxFdzñ¯ÿS–Ì®B4iX¦Âö·o?â¼ê”;î/ˆÏËJ‹‹dÙü™ºª°cw9x‹²Xé±ò3H€H€H ú CŒ×š‡¿³DqNÿB)ȯ'õó¼?Ì»ÿºœïÒòóÄ-×sÂàÉsS—$î¿ …˜:)Ö u±†|X§3ÕæV”°í!Â[o½¥â*D xáá5ó Á;^w³fÍR1ÛÖAÌ>묳tÀCK«au%jW¶¢-lˆ'ù ˜aP¹ã?^½’c c–/85Q b¿>ôÐC*ʘ˜ ñ±|ÿò—¿h à`YÌ£ƒÏ÷ï¿ÿÞ_‘"7Â)´iÓFË!Ž9 ÞŠh' ‚Âm·Ý&?ÿü³¬ZµJÃW  °li%q>°-ćF¸ ˆófmÛ¶•Áƒë`ˆáWå³1¬þDÓxçKEl7ó?Qc­ûí·ß|o{0C{q.Å3zâ Û¶œÞyçiÕªUTU¹ l[ƒÒå !-pÇuÐð=p‚ðñ¾»ðxÅÀs0|op®Æ²L·“èûhÛI÷Ú“ìü­,aí÷²}ÁoiàÞÀﬠ @zõꥂo²9µ@Œ< Ã±Æ>Ü'Àð»‡'t’?8hXØF¾tg{ 'l£-™\+Q.hðRÇQ={öÔ˜âÁu©ÎÛ=FeÛhC&û™ìÜF½v= ÛX—îqFZõ °]ÙÂö”ùô™ë¥dýZÙý/שWvøp# ÆØÝ,kþ\,mº•lsÀ)á,ºlžÑÍÛvò¼“Ý,ÌÒ1TËf«–Ì—/ž¿M/Ü[í=L:l¶½­rÏ¡´Ùd37¨äY~ºËœ´íÈœÍöã Ûb7ë;y‘4oÛ¹¬]‘9ˆôëaýöwtßZç3¶Ís¾Aãæ2pØ•1ñœ>î?òëxwCØr#püBmEÎ  ÈI¶sò°Äm¼æÆžxx5!Hjº!üþàа$ùùùiíRPùôÓOµ,Ö \¼ì ð˜‡u¢Š,X íÓnݺEµâ݃´‰Ú‰êªÊu‹-ÒWä;<^\èªlOen«6žÿ•É+ÕºÓå ¯^|_ðÖ~C jwêÔI¯K‰¶9uêT}p±¢²a3ÝN¢6×e{í ÖUÝó𤆸ß¼±‘Œmªí…`j¡,lTªe‘/Æu OÖ®L¯•xó¿-±ÞÀH¶ÍêXŸé~fÓÖTŽs6õ³lö(lW²°ýäĨî¼ÕÙb÷hï”àá[ðË$ùî½'5 y7Ûõ'‚{ÞÀ%Eëä§O^”yÓÆëúí9GZwêé Ëš:‘÷d÷¶Ùª¥ dü›ʺ•ËÔ|×£ÿ×#[-³'&S>}Ù‰µm5Æ7B¢À<•¶g³ýxÂöwC1îÅ‘²bñïÒ°Y¡ôÝç)ìÐÝoó³¦È䟓¢5+u_ƒžê™ Ûò¿xþvY¹džnkë}†I£f/·n©ó¬Ÿà8––kÈ„~¡°íÎ @Π°s‡„ J“@,Q$Í*˜H   ¾=BXà­ Ä„¦‘äò5o† ¢:ñ0ojÐH & °]ÉÂö£‘E¿N–þG]켎;%®ß ‘´h·‰l(Ý .š-·!Fk˜ŒöªÇ„å¶]·tá;¦º2%*È6oÛQcF¯^æ=mnؤ…ô;à¯Ò²}רòåjnùù²ùn‡É™“Sj{6Û'l£-+þ˜+“Þ}B=Ùá¹Ð+M 7’UK¸ýZ¤ÍEØ–mÜ>ÁƒÚ,caÛUðçÂY2ñÇu€Îzõò¤™«Âúò¿é`“ØF›Mz˶CNw‡#¶Aç”H€H€r…í<(lRZrYIkG˜™j1„|  Ïâ×^{M0#@ —¯á×_½¼ñÆŽ !Ih$PS PØ®da{øð ¥…Øp§#R{j /ééãÞvâí|c°DÏ«zyùÒ‰â½Ü@ŠAOl;éLXÞlÀ!n[›ÈÏŸ¿!ŒÍ ’·rÞ[îy” ÌF,Cˆ „â€4¶Û³ÿùÅ¥¥Òöl¶ŸHØF;‹]—©c_“E3жYÛ!Ò·ëÞW—Ì‹x¶Ûºl„mÔQ´v•Ló²,ž5UŠÖ­¶j¥ aéÒo7˜åž~Hzlûx8C$@$@9G€ÂvÎ6(M¹,Ф¹+ÌNµŽÀyç§^®_|ñ…,[¶LÆEìz \»†ãÁˤI“tL L{ôèÑQƒñZÛ9%šB€Âv% Û¾V¹lÒÖ¬X"kÝB’4jÞJ½´ƒõQØÒà< ä Û¹u<Øšô äš(’þ° Ô^à±²aÛn»­Ü}÷Ý 笽$¸gñäÚ5üÑGÕÁšÑÞFé Âûí·_¼æ3jœÃÐ<ë¹o8ØÐl¯©õܸônlz×lL]Ä÷çæ7Ô“7-q¿/%.±Øý•¸uEîóøÃü?¿\¦{:ª’…í·¦z?t•‰5–°\™Û ×]ÝÛ·§*—)lW%mn‹H€H€Ò#€ûD ´7ü%Zðœþ…R_Oêçy˜wÿu9ߥåç‰[v7Æõ6Hž›º$çb€hp.MkØ ó鵂¹I sm°xñb4 PÒH€r‡DË?þøC—Üzë­ùû;‡&gZ’k×p ¾8qâDiРôéÓGÚ¶m›3¬ØÈ”…m Û™ž;~9 Û> Î ä Û9t0Ø    ¨` EBa;ëSŠÂvÖY @% °] PY% ä:!l»×P‹Ý8Œ^(ozßKõ0Iög"…íì²   Š'¶ÏÝ¥U$ ‰~¤¾¤¾ 3‚Ð$ ERñüY# T&Z/l#Þvâl»P×ÅîÏbm×&a{ýšRR\$ ›Hý*ó|‰Ywuo?f£ª(‘1¶«47C$@$@ˆ'l{q¶]?¸ó$@$@$@$@5›@­¶c¶8Çl‡¶Ná¥e7-óØvó.žÛ¶kö‰ËÖ“ @2ñ…m ?ñØV¯mÝõÄýWnL#·¸ÿnZO§"t>Ùv¹žH€H€H€H€H ò Ô aB¶_Ûµ!nSØ®ü“‹[    ê$Kض0$ˆ«íýy‚v>m ÛÕy¸¸m    H‹@¶±·¥ÎKÛ<¶á­eóÖÖØÚn¹8â© Ü÷~^5ƒG¦u4˜™H€H€H€H Â„…íóvm¥1µMЮïÔl ‰$cÛ‰ÛynÞÚæ±e˜÷Ií ;8¬ˆH€H€H€H€²$P«„m§ië ‘AaB¶'n;¯m'nCÔF…í,Ï'   'K؆¨#=Q‚¶¨çvPØF„lhÚ¶sü ³y$@$@$@$@u–@Ͷ#Þ3ž§¶óØvÝt^œf­qµmZì–}qÛ%z1¶7È=ôØ®³'=wœH€H€H n Ûç;m¶á©íÄmµë;ÛCâÒÝÿH\í *lGn;]ˆmzl×3‡{I$@$@$@$PÔ*a»Ô מ×v0‰7qÛ‹µ-NÜ.¥°]ÎN¶‘H€H€H€² KØ.pjv}õÒŽxjGDmóØÆÔ%IžN)lgŸEI€H€H€H€H R Ôxab6Þų¶zó%Ϋ󈷭¶ÆÙöîQc—(ØQ´–‚‚Žp_©§+'   ª'¶‡hµ#¡Hœxí é<¶Ýý$<µ½0$‘8ÛHp÷“¹Õj Çö‚ äÙgŸÕæ1¢ê·H$@$@$@$@•D V ÛN¿Ö#K7Ôs‚v©›wS× †"ñ¼¶7È]ŸQØ®¤sŠÕ’ @N Û„°0$WÛ¼¶!dop¢vžNWÛ¼¶kº°ýã?ʉ'ž¨Çã믿®gŽï¾ûN&L˜ ;v”}÷Ý7'Ž5A$@$@$@$P÷Ôaxi{kÛóÚv·CàVmÏ{ûN Ûuïlç“ Ô)aaû¢ °8ÛðÒv"7¼µá© ÇlˆÚÞÔ‹³Ma»ü)óøãËý÷ß/;í´“NËç` T>Ú!l;Nž·¶yl›Àí $©¡H܇ç½í Û#ÇÐc»òO/nH€H€H€ª@Xر[™Ç6ÄìúNÜöB‘”‰ÙAq;€¤F‡"Y¿~½,\¸PBçÎ+ä`PØ®Œ¬„H€H€H€H K5[Øvj6mtZ¼©·ìÅØö,uë4ζså¶$!pC؆w÷Èý[K£Œ±åyÄâ$@$@$@$sp¸v}‘Œxw‰zaCØVAÛEbžÚžÀ om/ƶá¢áHê¹4¸ñáêÃr]7 Ûuý àþ“ @n¨‘Â6С£âº*hc¶ëjè ’˜+‹³ ¯m/$‰zncÞ)ÚŒ[*®-•K¶”n­±“ˆ4   ¨Ep¿8sÉZ¹ý³åÒ¢Qžœµs+'\{1¶ÕS;"dÃKÛâkCÆÆ`‘¸Ë„Ð ó>k¦¨½dÉy÷Ýwu?Ž;î8âãí·ß–åË—ËÞ{ï-íÚµ“o¿ýVÿ&Ož,………Ò£G9øàƒ¥yóæ~™÷ß_-Z$ãÆ“±cÇJ—.]äˆ#ŽÐõ;ôêÕËÏ‹ \‰¸ÞS¦L‘9sæH×®]¥wïÞ²óÎ;K›6m¢òrH€H€H€H€Ò%Pã…mô4 q«°í¦»á‰4xfcB¶þiš Eâîw¦­’IóÖÊîÝËÑ}[PØN÷Ìa~   Èq¶ŸÿîOùtæéס‘°YÓ²ð#*fÃCÛ COnèØ¹Ýÿȼ—¦7˜î£&zkÇ<òÈ#”_ýU~øaùôÓOåÙgŸ-w47Þxc¹ë®»|Áú”SN‘I“&•ˇ„Ë/¿\?üp„ó[o½UV¯^í§ÙL‹-äꫯ–AƒY§$@$@$@$@$6Z!l—B½v=t^0 ‘S7‰,G<¶]¢ÅÛ^°ªDžøf™vZ.ÐJ6mÝ0mx,@$@$@$@$»~]²Nî»Tï OÞ¡PÚ7Í/¶‚ 1B¶ŠÙ‘© ©"¶»™„÷vm¶1äW_}%tôïß_=´?øàÁDixb?ðÀz_ýu™7ožLœ8Q¾ùæ騱£xàºn÷Ýw—-·ÜRç{ì1¿Lß¾}µnxkϘ1C^yå™6mšæ»ì²Ë|oMà ¤A öÛn§Ž­L=Û¹á­e:LoûÃ_VËW³×HËFùîÕÔ–Ò¥°A蘕H€H€H€H W ÌZ¶Þ…ž[.Ë×–ÈN›4–½z4‘ú³Ý_ž»kô=µ±¸ÝÁsÛýW«íÂ6vòºë®t ‚6zôh9r¤&½óÎ;²ÑFù«ÅØFø‘Ã;LÖ­['C‡UOî¼<ÔñÄq½‡ &Ç÷Ë„gà%þæ›oÊ.»ì"÷Þ{ox5—I€H€H€H€H )š-lc÷Ðkq¦Â¶›:ÝÚýY¼í ®R/"n#‰ÍGÂ’@ävùšdÁÊ™ºhÌ[Y, V˪õ¨‰F$@$@$@$PS4mPOÚ7¯/šÕ—Þ5”öÍò#¡G<ÁÚÂxÞÙžW6æëÕóæÍ[Û»»ôÄoÝw¼úç¬6zl#,ÈÁ¬ûþÈDØÞc=ÔûÊ+¯ÔP$á:m^à÷ÝwŸÆé~ã7,™S    H™@­¶#ý OØv XFDÓíh/nÏsù,·•A>«ÃB›€*ÖÃl{ÞRô'òÓH€H€H€H€Ò'H<Žø3”Å¿ŽxWCˆÆ:ó¾Æ2æ5܈›7Om[ïM‘' jGêðÄm·Y֙Ƚ]¢¶i¾ü€÷4¼¨a_ýµ/Îyä‘ò믿ʵ×^+C† ‰Ùò½÷Þ[–-[–²ÇvQQ‘ìºë®î>yƒÜvÛm2xðà˜õ"aJþñHÓ¦Må“O>‰›+H€H€H€H€H Ú!lCGv—X^Ûè‡`µ'pcjÞ€’—S›A+‹›sóG::KÞz|³eo‰Ÿ$@$@$@$@™ˆ¾¿2ÁÙîże/î5rBØÆ4bĽǧvXÔö„p'l[YˆÜzÇçµ×4pSèŒÂ¶bD¡H ’ÏŸ?_.¸à9ᄼ1>~ä©§ž’Þ½{ËsÏ=#“H€H€H€H€H 1Z%lGú¾èì‹Ñ®/‚îH,qÛÄk¶5Ÿ ÛèÞ@ÔŽ”ʲm ' ½¤Û².òƒH€H€H€H KeB²wŸåÉОˆªc‰Ò¤‘nB¶å±Á!‘WÔVqÛk4òè ¤N#Û×Do}Mù¬Jm09ûì³å«¯¾x{c Éxvæ™gÊ7ß|#ûÜtÓMñ²1H€H€H€H€â¨ùÂ6v ô7Ü$èµU&JC¸F†2qÛ¼°#‚·[‹²È…¬ðÞÖú"å<á~<^b>bšÍ8%   Èš@XG†ÆŒû>º»2Oøö<²q“f¢5Ö— Ü.¿K0ÏmÌCäÆÍ£†"ñªtŸzë§ÓXÞÚº^Ëi–óQÕÂök¯½&7Þx£›gžyF6ß|ór¬ |C‡Ý~ûí2hРry˜@$@$@$@$@ÉÔXaÛvLgt2"B4fóž6ñYÓ\àTîHZXôF9²½u^ºß®@IDATõ*^{ý íùè2òêÆÝŒ3ëjyKü$   H—@¬{«ˆí©Ïîf ˸-ƒ™Pí…'ñÖYšŠ×‘¼Áy+¯õº:¬.­ ¸!Ô© èn¹ZeÛ/¼ð‚ÆÐîܹ³Œ=Z7nì“)--•ãŽ;N¦OŸ.íÛ·×8ÚÛl³¿þóÏ?׸ÞK–,‘í¶ÛN~øagH€H€H€H€H µCØÆ£W逸‚³›A,–y°Ö›ºy]ÆÔ+cËZ6R‰‰è˜š€]¶ÝŒÖãÍñ“H€H€H€H &6[Ùà}—ziã^,’ÉòBƒÆ¼7õJ”-#Ýýó×#/R¼›<+ƒí!&ë4²^±¶æYeÛ!‚P"°¼¼¯ãå÷:Cæ­ 1þ ,Rµ?JÔ~ dMÀn¾\E6kSÜ™W6¶ƒy¤áÓ­Ý|$3B”À|qÛ­H(j{™q#镳Št©f}T†° ÷ß¿¼õÖ[Ïëââb¹ì²Ëäˆ#Žðá¬ZµJî¼óN3fŒæ±mÛ¶•Áƒëà’Äi$@$@$@$@$)Ú#lƒ€u:¼^õETÌÆ:µ‘Õë¦xñµuyƒ×ãA:òiš~zË&k#W0O$‹›DzLe œ#   ÈŠ€Ý±y•˜`m©&bc­Ý‰YM«çåôð`Ü6ºp\ˆÜ?êÙ­¢Èý W%b‰–.E‹Éœ9s¤k×®Òºuët‹3? Ä$Pã…mÛ+£UÜ.ëí ¿¢B5:-H¶|ÖWñÒ¼Z¼bðèF^HÙÞ=+çoÏf8%   ¨ayÙ¥ËîÙ*½I“&rå•WÊ~ûí•Î        šK€ÂvèØÝsÏ=QBV>\† Ê™ÞâÅ_¬¦Vꫯ¾’¼¼<[¬´é£>*>ø _ÿ3Ï<#[l±…¿ÌHD`Ú´irÜqÇùYN=õT9óÌ3ýåx3Ÿý¼DžúlŽì³ÕF2t»ö2dÔ×~Ö·‡ï$¯L˜/ïO^$' ì,{¥þÐèÝwß•o¼QCŽø¦8sÔQGɈ#$???ÅÌF$@$@$@$@$@$@$@$«(lŽ Âxà²xñâ@ªHÏž=åßÿþwTZº ¶Ó%Æü¹@ Sa;ÜöýFŽó“Þ±³?ŸÎ̸qãä¼óΓÒÒÒ¨b²å–[ÊöÛo/=zô)S¦È„ ä‡~ˆÊ‡< Âƒ* @Í&@a;pü>û쳸¢×³Ï>+›o¾y wz³Õ%lOœ8QE>kí!‡"mÚ´±ENI !ж¯yuªŒ›±Lvî^(×íp›±V.\¸P=Ç—-[µºW¯^òÀHaaaT:þ禛n’âââ¨u·ß~» 4(* $@$@$@$@$@$@$@$@5‹…íÀñBÜÞÿý٣>Z.¹ä’²„4çªKØN³™ÌNQ*JØŽª4ƒ…Ë/¿\Þÿý¨’ðÎ~衇bŠÚ–žÛgu–àm ³V­ZÉÛo¿- 4°$NI€H€H€H€H€H€H€H€j Û‘¶|ùrÙÿý¥¨¨HSú÷﯃ÓÍŸ?_—áŠø¾õë×{ˆáU ¯ïI“& æËíí°Ã’HØþ׿þå×Ù·o_Ùj«­düøñòå—_ÊäÉ“¥}ûöÒ§O9øàƒ¥aÆš÷§Ÿ~’±cÇj¾ÆK÷îÝ1„ÃC¢üwß}ç×}Ä@˜k×®•W^yÅOßqÇÞ¯hñ¿üñGiÛ¶­Ö‹“¤C‡~Þd3±ê†ùÎ;ï( ú‡ð.ØÏJ‹-bV‰_ýµÆ&ÇqXºt©`_!L‚éî»ï®mŒUxÖ¬Yz¼¦OŸ®¡epܰ?ýúõÓão›é”ûïÿ+üñ‡¿ùC=T0P¡Î>øÀeÛm·-ßüÍ7ß”+Vh„Ô8òÈ#ýü6ƒ80ø(8l²É&Êç(Ž{Øpü°ß°FÉa‡&ëׯ—·ÞzKÏl±ä±Î ÇÞý8_p~à<Ĺ‚íecÛê­ˆ)°2dH”8z_zé%éÖ­›¿‰¹sçêñØzë­£â×ßpà òúë¯ûù0sÝu× Îk ÔE,½.uîs<™–¯>¦“ T ÛÖˆ¡}Çwøä¯¿þz1Ø¢Y¢ß|óÀãûÏ?ÿ´ì:­W¯žœ}öÙï÷ã?ö×Üi§ü¸Ágœq†lذA~øa?¯Í@9r¤@¿ûî»-ÙŸBô¾ùæ›UðµÄxƒG"Žø~ûígÙäÒK/UQð±ÇóÓl"0êÝyçÔb#‡ë¾è¢‹TÐþðíJÚ±cG¹ë®»46²ŸèfÐá:ÿüóBs<ƒˆŒ!pí¾ûî“'Ÿ|2˜5N·Ür‹ì¶ÛnQéé–Ã1ž86{챇_ç‹/¾(·Þz«¿Œøí8¯ÌV®\)ƒöý€¢ŽëªU«tùÕW_ÕsÂÊÙƒ žtÒI‚ƒÞÇ¿a-ðàù矗 .¸@ð0Ä çb³fÍTðF›ðÐ&lÓ.š¥:x¤å¯ˆé#<¢žÙáºSûŠÐ:8o’†‡46e5¨wÞy§¿l3wñ:Ë×Öc á^³fñ„mˆtáÁ+­ ¦ðª†çn<ƒ·-oÞ<õb¶áÁýÔSOIïÞ^¼çLÊÁþ¯ý«mJ=æñpÃ,>ÞôÿùÏlµz¢Ã“ßìÊ+¯”¡C‡ê"Î%œ{‰Žµ•Ûe—]äÞ{ïµEÝÿ ° ÷ÓO?õ×cÆ„ísÏ=Wß ˆZXŸ·Õ!lã<ÊcÎw<ðAò«:à€!#`¯½öš2³•Ñ.3ˆ¸¥Ín»í6õ|Æ2¼ÃMÄÔeÞÌa!úÄOT¯ðLËA$G»íAD—.]|OiÔ x[‡e¼¯J¯q<„€Ah…×4„Z¼‰ÿùÏê<>à]~úé§Ë¦›nªÂþ¨Q£äûï¿÷×ÃëᰠǶŸÁÍà˜ü(䊇*W]u•l·ÝvÚn¼Åð /«Pïð3Ï<3*­²?üp}È”Êvç@0$ λ÷Þ{¯\qˆá`B#  ºD€ƒ¥×¥£Í}M…@¸/XŽ©´“yH€H€H€Ê °í˜ „ÄèÑ£}:aa* æÃs@4 Æ‹¥Eú‚¾YºxÂ6ÄsˆŸÁ˜ÖaáƒárÊ)þ&à|Í5×øË°T…mˆ¿ˆÁlÂ*ÊÂëõþûïǬDO‡É,,lC´Å>A07ƒ·ÐÉ'Ÿ¬:Òq±ßÏ=÷œÆ”F:B¹`ßZ¶l‰Eµ1cƨðoËÁýEró,l£¼Ç9ä+®ÓsÎ9GÆç§!Ä ¶´pløê¸ÑGˆcl[pçâfãACÐ ^ã Âû„ á~ âÓH€H€H .à`éuéhs_S!î«UÇýn*íd   òê¼°$oÙ²eJ*¼;MDüå—_äè£öÉAø öᱷͧƒú…í/ù‹Ìgéñ„m ²ˆ:ƒ*¶a9Ì®¡;̆ &Ç×ÅT…íp\bÆÀÑÍ‚º¥‡§aah"–cØ :cN=¯Ãy±ŒA)1¨%Ä ÛAm”`‡ lÞâð†‡¶LËa€O„ó03áBþ?þñMFmxÞÃÌ3â;Ät3/7öÞäf—\rIÔ9héáø˜8oáu>_°àƒ+vYLøpø˃ bV7úø~š€oíOÃñÉ!üÃ#>ú%\&–ÎÃe  ¨M8X:KÇùÌÁÒS,¢w0Ü$új¯‡F$@$@$ê¼°pÍ ‚Å\¤cà=Äv6 bµƒB4B•À{6l׺¿ðˆ6‹'l#^0ÂL-¼ x½ŸÃÞÁ™Ûá ±ý°÷¼ÄÃl‚í´ù°°XÑ`6 fŒaÕ]xØ"2„ã)S¦hø„[‰åy¶ñ â´ÓNóÛð6 ÕíÑ,Ór¸ÑÝgŸ}ü-˜‡7+ĹÃù‚íixˆ­á˜ÞÁc ¯ox›Å ƒó 畼ë1iXضtˇ)mÛfðGÈŽ°…øê¶Š&ø #ÜF,cŸBÈ !VðKdŸ|ò‰4mÚ4Q®#  ZE€ƒ¥s°t–ý•F}‰xƒ¥ãÞãÿ˜!L_÷îÝm‘S   j&Pç…í°§n*Ç¡HPãàÀu6(_¸Ä«~ñÅýäxÂ6B  JÐî¸ãAGÄÌÂ]Ø2b€Û ƒHËDØFX‹+®¸ÂªÔéôéÓå˜cŽñÓ2¶Ï8ã ›ýŠ"3áv›o"“6˜g°â›#xp0Á °¼ðî…˜üÁøaI‚u`^Ûàj±È‘–i¹ ˆ ÿ÷ß_:è }bF‚Áøñ㱵ѩ0/n  …ü ‡{ØC_+q(¬âˆë¶ƒq½­ìüùóý0,H žÓ–SÜÈã†Þ¬:„mˆü8çÙ[ +W®Œz«"V9„ÜÁ±4  ¨K8X:KÇ}¢Y*ƒ¬‡Ã.uÔQQ÷Ÿµ}°t Ûv¶pJ$@$@¹I N Ûð,†§2â=§cÅàu‹p%á8ÔðÞÆ+ja Ç3¬KÂ6ÿÃMoØÂ7ÊrÞÝcÇŽõ³#”Bx Œ„íp¹°°ít3sçΕ &¨÷.bsCô4ƒ ñq¼Ã–N¹°À mÛ_ó„Gœvx^ðCZx˜Cø6Ãà—öàiÁÁ@-¦xP‚&fˆMŽÁ!ö…(±|˜bàKˆÁëׯ×äÿgïLÀ­ªÊ>þ‚\P!@AD Á ͯÒJ3K{45+§RK%‡ÒJËGM3§Ê¤üü(ýr¢QJmðsJ?MÁR1Å””P 0A¹ßú¿¸ö·Ï¾çœ{†{î°Ïo=Ϲ{Zkíµ~kísïý¯w¿¯¬·å &›²‹]!lëYI¹Ì¶QÇôåNEIOg̘áû¥~¤Jåá< @ O²oâ,`é•Yoö`éÛyú¤/€ GM-l_sÍ56}úôd\%šöïß?9NïÈrU~{cŠb£¬s£ˆ©kGu”IüK'¹ ð…L]k&a[nSô‡sV@Vð>}b’•²\iÈŠ: ®Å,Øï¾ûîć¸ÊFa[|%^Ç$¿Ú²D‰I×å[>¬c’5³îZÊm²É&^M6Ø£^i\¸p¡_“ok óóæÍó`™:9fÌ÷mè´k[¼xqAάeL,—~Û@èâ"Ÿâ•Ûªã3ŸùŒ=ýôÓ^\rÈuJvþÏœ9³À5NWÛjà§?ýé„©78óCsG¾ÜcÒØ—Jš‡÷Ñ£G—ÊÂy@€@î,}mì‚¥/ñ¹]Mõf–®`ë2šˆI,Ò.!ãy¶€ t ¦¶%.X° !Ÿ“ aG®"ôAL»ì²‹”ؽçž{&¢µDR‰µi«íÿøÇvÙe—Å¢¾m&a[>á„L¯¿Æ$¿àI_zé%?%nr7!‹jY9ÇTÌEJÖ5E¶\R–ÇQ/&Â* à¬Y³¼ú––“ëùí®¥\:pŒüòÉgs6ÉMͨQ£ÜBZ÷H[Œ+¯®¥]Ùèœ,cdQ,Ë*%‰Í²@Ž®6tN®XpRy•ÒÁ+¶³oȲþÔSOM ä®Dþ­_xῇ~cš\làŽÜ†d]å¤oW°­ç5í›<]û€ < XúÚQ%Xú‰¦7cª4È:ÁÒ#1¶€ t7M+lËj7*Ô (ˆ‚”J \(XQH”’›nºÉŒ0kyKzίºê*“• € Ð,–¾v¤£‹¸ô¸g]´ÔS&ÆŠI×­}‚¥Ÿ› !Xz‚‚@€:ˆ@Ó ÛiË]±L «¥ØJ<•¿æ˜N>ùd®(«íSN9ÅæÌ™/l%JN™2ÅÝÄ Í$lOž<ÙÝk¤…ìÈA[‰ßýîw±ñÒK/Mçt¾¸¯Å„åË—ÇC;ðÀ“Hæò-ŸÕi+ã$cjgРA¾ !¿ÝJµ–‹UÊ͉|ð¥ýµ+€ä™gž³¸øœõc­E‘©S§&yÒ;zƒ@B|°Ó×â¾æ–,™wß}÷xªba[$^ŸvÚi&k÷bIbº!bêJa[–ør%“~c»Ö_}÷¿®cõE QÙ$ßøâ­Å @ ™¤Ý—UÚïôâ;ÁÒÛR“€\ ÆD°ô=f ÁÒãŒ` @€@ghJa[™þVÁ]F”ƒž Ö7qâD“b%YrË‚Üi¤Ü‘#GzP>ù?–¨S3 Ûr'"ײ¼Žî5ÄAâ²üOwÜq&Ñ1‰å%—\âBpZpUùZÖ"„ÊEŸårÑqõÕWÇân~å•WºE}Ú/º2Èr[b­¬qÒîbtmÉ’%VK9•U:úè£í¾ûî[{~Êeа˜äw[íI>ÝØ1Ý÷x-nŸzê)ùÐCˆæê‡”Ts,*µØŽeæÏŸoçœsŽMú1Ö˜ÉïyL])l« ²ÆÖs&Ñ¿š´í¶ÛºÅ÷ðáë)F^@€@'@°ôÿŸ‹¹¸ËÊ®Õb›`égÁÒ{ü×€ ô8M)l7z”ä?Ze ¼á†6úvÝ®þ¬KúŸYZKH•;vìØÄŸs±NÈE†‚*p§‚´(X£ÝJÓ›o¾iÏ>û¬[ïÊ’Z¢¦ʺ·\ªµ\¹:ë½&«íE‹™ü^‹ƒ>åñZî§E½.+7š»Õ°®å~õ”¹çž{|B®~Ê%¹g‘/}YõË5 € Ðl–Þ9Â6ÁÒó,]ñxbRr @݇Âv÷‹Ü´¤œ°›NÒ‘nA@VV·Ýv›/$Éâ^‹³åß\¢T³£ºEÇi @ BKïa[ÃA°ô5=¿E\ô·YO –.Wƒ2²‰I±~³…@€@÷ €°Ý=Æ!W­@ØÎÕpÒ@€z(‚¥úÁN¿E‡´£\‘Äú–~’Çp‰<´MûkOŸï ÁÒ¶Ó#Æ> @ û@Øî~cÒã[„°Ýã‡@€ Kïmi @hK ŠÚ²ÜÖçÍ7ß´gŸ}Ö3Nš4 ŸÛm‘q€ @=–@Ó Û‹-²eË–ÙСCmøðán­-Q[>¶{ì|¦á€ 41(l+†Š„mYmëï½—^zÉÿÞ;vlÓ¡ë€ @Ȧ¶ç͛篦Ž7Î àÂvµó5Äô€ 4 Ü·%l¯X±Â.\hr=·å–[6z @€ hZa{îܹîƒqâĉþŽFÊR›@€ Ðó HÜV IùØž?¾ÿ7uêÔžß1z@€ 8¦¶xà0yòd¶e­M‚ @ÈYmKØþûßÿîÚn»íòÓ9z@€ &'Ðô¶^ImiiÁZ»Éº@€@þÈj[îHä‚N a;cL @€š—Â6ÂvóÎ~z@€@® lçzxé @€@“@ØFØnòG€îC€ WÛyYú@€ 3„m„mž@€ KÛ¹V:@€ '€°°Í£@€rIa;—ÃJ§ @€ à¶¶y @€@. lçrXé @€œÂ6Â6 @È%„í\+‚ @€€@ØFØæQ€ @¹$€°Ëa¥S€ @pÛÛ< € @ —¶s9¬t € @Naa›G€ ä’Âv.‡•NA€ @À l#ló(@€ \@ØÎå°Ò)@€ 8„m„m@€ KÛ¹V:@€ '€°°Í£@€rIa;—ÃJ§ @€ à¶¶y @€@. l¯Ö‹/¾ØÞ~ûí6cÜÒÒb£GöϘ1clĈÖ«W¯6ù:âĪU«lÖ¬YöðÃÛË/¿l;rÈ!QuUu,]ºÔfΜéeN:餪ÊvUfÆPéÐCµáÇ7´)ͨ£ëkhç»yå¿øÅ/lÉ’%ÖSæn7Ç™›æÝu×]vß}÷Ù„ 쓟üdnúEG TBaa»’yB@€ PeË–Ù£>j‹/öÏ¿þõ/Û`ƒ !u‹-¶h¸@‡°½vÈ>ð˜„åöÒ¦›nj_ûÚ×lûí·o/kU×׬YcGu”Í;7)÷þ÷¿ß~ô£%ǵ£9u Ai!_¢»Ú8jÔ(ûØÇ>ÖYMj÷>;¡Ò/ùKÛl³ÍÚ-SO†rŒj©·£ëëÊqºúê«MóùŸø„m¸á†µà¨«Ì¿øE_ºÿþû몇Âù" ïÒ«®ºÊ>ò‘Ø…^˜¯ÎÑ@í@ØFØngŠp€ TNࡇrñíöÛo/j%kZguüŸð8À¶ÞzëxºC·ÛkqFa{êÔ©¶Í6Û$ŒÅçŸÿü§-X°À-Zd«W¯ökGÎ:ë,[o½õ’¼õìH,ž6mšWqÌ1ÇØ;ì`ÿI“&ÕSmMeˉ¬?ýéOíÒK/õöiÛ]ÂváHtå8½ï}ï³·ÞzËþû¿ÿ»aß[…½-åb¸„ÕzÂöZ‚ÕÛ¯¾úªí¹çž¶råJ+å[Ö¼³gÏvëüåË—»{¹9Ù|óÍ]ã&ëoùXðÁíŽ;îp«}Y‚+É¥CÚB_uþá°gžyÆäŸ½oß¾¾HòÁ~ÐófçÃÿøG“•y¶žxom5/µØ²óÎ;»µ¸Î¶o½õV“ø¿üå/vÏ=÷˜i~úÓŸVv{ï{ßëÙü ‚Õö#V)Þ÷Þ{¯iè‰'ž°õ×_ßÄT‹C}úô)êc;2øèG?êþžå3üoû›=öØcîË^ngvÙe—ĸ\ÂÈÒW  dïyÏ{lß}÷õç/¶CÛ—^zÉnºé&?ÇKÙûi\õyä‘GlÈ!&í \7pà@/”ª/^üñÇý~š+¯¡C‡ú\Ò?ªƒŽÙ¬’q;qÐî´ÓNî[þ–[nñ±Õ|û¾ÔWéX=ÿüó&×JJ â)Ûûï¿¿m¼ñƾ §ï¬lÒbÚ1þ|ÆŽë¼ÿã?þÆ –Íîc^I»Ë¹";›|«oú^•p¹Ò\ª&©ýúÓŸ|î}ö³Ÿõúî¾ûnïžO-xMž<ÙÔÍÏR©RÆéòµô£Ò2ú …6¡˜[¸Ó[%Z€Õ˜)Èm6iœ4Ïô6ƒÞFJ§F»î¡çDÏ›¾#ô½;nÜ8 C„íô(°4„m„íf›óô€ "ðãÿØiY]Ë"W.E$‚È-‰o ŸûÜç\D(uK‰M¿þõ¯]lSàB È¿ô¥/•*Rñy„íµ¨ª¶UB  R(îæ›o.à­c¹ÑF6é>*+QZ餓N²;ï¼3›ÍÏ8ã Au \Í¥·ß~»hÞ]wÝÕ¾óïhŸùÌgìé§Ÿv6â‹% ¾€¦OŸžTÅ„íÃ?Üä¾XúÆ7¾aûí·_±KmÎÕÒU¢~hî/\¸°MÇ· .¸ÀÔF¥tðÈÈ@ì$úΚ5«My=GGq„?ŸzβI"²¢ô ÇTŒ‘®Åûýä'?1-ZÌœ93I¶r9ôƒü `1 T}Ï9ç+åžFóHóIóJ©’qºöÚk—Æ^o‹wÜqþÝ¢ò ª¹«TÍXýõ¯5ù†/–ÄOÂy:i@c¦ÅŠlÒ‚Âé§Ÿî ék•¶»”°­ÅŒ¯|å+>ßÓõÆ} Ðå[ZZ⩲[‰·G}´‹ãZ Tÿ%hg“â#è»_²©Ʊl-ý¨¶ŒÜ1i‘g÷Ýw÷ùï­­m-hnJ8.öLiqdÞ¼yÎûÐCMŠ7jÜÕ-ü^~ùå¦ßiÙ¤…-„é ‚Gfép 4„m„íf˜çô€ & aKÂ¥ *Ú„ ü²°}ã7\¨)K²rIåÿüç?{YÁI¸‘õ\bd­áÊÕSìÂöZ*Õ ÛÏ>ûl/¬q–å§’DU ½zõ2‰)²–ÖøÉBT"g´òÖØI””.ÑV¦,¼e=*‹^%YËbøþç\èÓ9 ز¢Ôy ç²>Õu¥oûÛ¶Ç{ø¾~D‘U¾Ùë¶o¸á{î¹çÜÚYÍò /Ki%ÍA-Ø´—jí‡,Ôµø#vl°[PoµÕVn.ëÌ뮻Π`²¤W*&lëÙ{ê©§œ‰L½=¡>ÉÊXcµýöÛÛ<`ûì³ üªOž„GBÌŠa¥„èÈ\Á?%öîµ×^>d¡}Ûm·ùGý•ûý×%ÈJÕ'!î‡?ü¡·÷àƒöºä’H¿Üáèû@Dz¼×Ü©dœÒ±æÐœ9s\ôÓš„L-¼U;V °ª7O”ÄLB£ú®Å=zë$&}ƾk•O |ZìS?du«$Ñ=¾ ãJÚ­|²€ÖÛ/›l²‰=ɇ¹ú¦9" dYÙËšXc¡7¢…²õž|òɱXÙm¶5—$šêjo >«7´P¢¶hl4/%ÚÇT-c•«¥µ”ÑÜÒwÔ»Þõ._”Ð3“¬Ò¿úÕ¯ÆCÿÒâRLb¬EÍ§Þ Pjä¸kQOßJzVõ&ÂFmäofè;RsJìÕ¶ì³ì…ø@ 碰­Õ¿¦JáÖV}Â/ãÖð‹©©úNg!@€@=–,YÒ¿Ö ˜µUí½÷Þ­Ûm·]kZƒéû:.õQþtR}ªWõë>õ$ý§¿õâß}õÔÕ“Ë—"Î?XöVÔ &ãDI/¬5[â…ŸÏ޹27­A¬öëA/¸O½ü|°n,8¯ƒ`êׂ5i›kéëÁÒ¶àzÙ¼\ Χ‚Pîy‚X•œ¯ñû9ÍÇìÿAœòkjSµ©Ö~‹p¿g@[ƒ€Úæ¶A˜lã§6±7Éèy Éyí¨oñºÊýæ7¿)¸®ƒK/½ÔïDÑ‚k¥¥ë nc Êèàç?ÿyÂ6°ÉõRõKrÏK’¼q'ˆÒÉ÷Gv>•§ ¶zq.žþù­a¡,VëÛZÇJ…ÃÂ݂ׄ:u\–´†E$¿,Ñ[Ãyô]tÊ)§$í ®t’ë•´;ɜ٠‹ ^gXPh o(d®¶¶þìg?óëa¨ÍµR'bš;Á•Okp7Ó&k°ZökÊóŸÿùŸ×kaïYM?j)±œ‡Ú¿ßbãÃÛ~-,Üù6ôñ’oÃŽŸ $ÉùFŽ{X°jµµØ÷wXDn o%øuå o~$íb€@³Æ­ú‡°Ý,#N?!@€@‚ ÿ#^·oSÓ׿þõäŸlý£ÝÞGù³IõªœîSOBØ^K/ £Å„‘b|ÿñ$ã,­=Kp7àçÊ 'ÁêÔó„Wõ ª-'lüñ­Á]F«îY,]xá…^ç 'œPp9ЬÝEØ®¥Z (­¹žoÓ•¨Ÿ£bÂv©1‘¨«rZ`*–‚UnRoZ„-%DGæÁ%H±êZƒ/íÖ`ÍíuJôŒ©T}áí Ï›ÛX.¼ñÑzÕUWµJ¼L§J„mõ;£MKök«X¸œ°Ü/y‚Ë“V óÅ’iÑNíÓÂBLQØ.×î˜7» ¾á½>• >½³—[% ‹£>×+IQ0Vå¾7‚[¿·½Ò}®…q-ý¨¥ŒúÿùÏÞÛ­¹”NÁúÞ…d Úê{xS$}¹U :¬ò“ó÷3Ï<Óï§…¯ô3šÜ<ì÷]É‚K©ï‚t~ö!äÂ6Ûy›Óô€ þˆýŸíðÚs+Ó(èŸÿJ>áUê‚ÖÊjUõª¬îSOBØ^K¯Za;-j ^‰ÄjIxýÞ‰,ÙÆ.޹Ė˜Ê Û1Ov\ ¸òn»íæufÅÏ(²va;Ûþx\®!8Ÿ÷-¸ticUËk+«Òȵ˜°­…bIV´*ü#»Ü|'õ¦E³RBtd>cÆŒ¢õédpÓàuVb%|{'÷—…¯x¼öÚk%ëŽ*¶Ó¬bÙrÛrcË•¶£X|ŒÇìE·Á}Ž÷ûË_þrr=-lWÛîàN&y[B¢¹Äæàž¢Í ÉÍ*ØIÈ"¹T AW“1 .‰JeKΗc\K?j)£Æ\qÅÞîÏ!i›„y-Ì×@.Òk?¸NJ®kGz¦Ò q÷¤Ôï—^)hÐ;zCJíBØ.F‡s€@Þ Da»—:šs·+Ý“Ÿ9¥-ñ±]À…@€ P K.¹ÄTl³Í6s¿³Ñ³Ê– ˜®ûÃþ°û:çä›[¹ž|òISP.C«'éÏÛÕ«W{ /Õþñ¯§º[¶Ûò9+?ÇÁV«B°µÉ“'{vùøU€¹)S¦øœ)V‡|öÊïs°8uË‹-*&;»è¢‹’¢ÑßsGøØŽ•ÊrL>¤µ­%UÓècZ>½å×¼T’¯dõ_I¾ŒõÌ)µÇ@}PŸ²ì¼pø!Öòï­„LëÝ»·ï—ò‰ï—üéR?ÂB„½üòËíìTõKó"ú¯Ö9µAþ°å§[íÖ6›ÊSôU-ïòë^.U3V±ù•—_ò ®›'¦“¾Ï‚8j§všûJO_Kïë{Sߟéq¯¦Ýéºâþ½÷Þkgu–¡9žr¿Ëò‰-¿ëÿøÇmÈ!ɵöv¢í~ýú¹Ÿîrù5NKùå¾écþj×ÒZÊÈ·½âôéÓÇ}Ñë÷—ê ‹ þLÈÏv Ü¢Æ2éqS?9îò§­˜å¾çÔl .gð±-$@ éDÛÛ© M7 è0 @¨’@°†¶àÛÓÅ 'áuì$xXxÝÞƒ”)¨`©¤Àj D8tèPÏ¢ÀWÁß°…WË]ˆQÐÉ(´•ª£½óÛk U+l+ ŸDWÍ-·Üâ‹;L“È­€rí¥àÂ¥¸g+'lËGäbP=£T`<Ü“.1)ø‡n#ÎF‘µœà£ oÁçpE"«ZN0m¯¿µô# Ï›o¾¹ÿÔ%o¡y¬gLÏ\w¶;’¹:­ ™Áo» ¨ZÐH'Íú6lXrºÜ8EXAýܯXªe¬b=¥„m- é9ÓX÷9.0Æ2Ù­*  ‚x*À®R%íÎÖ“=Öw¨žWãÕ"‘ cÒs¥…BϬ$Ea;~”+£ ®ÔO<ñD\©¼õ0®¥µ” õÔ‚™Äùø<ÿ 1¼ñ`Á²;•ã÷˜ƒb€ÉFŽ{ºn=ÐK¥Ë/¿Ü›Û¥qÈ5(lãc;üB‚ @¨œ€|·Ñ_–дW¹6OWù›Õ+Òñ£cO»>P9•WžýöÛ¯h´Ê[õÿ9qE²–E5®Häƒ7ŽYÚUB zóÍ7ÿ?à ÷J¹"yñÅ“{É·m°î,˜ª>ºÓ¨Ö‰Æ>ò«Ä-†îUÎÅ…®—Jµöã†nð9/×;åRÚÝCÚMEt RÊK)vñ^µº")u?Õ[mÀÎØ–¸Ë ζuÔQÉwÆa‡/û¶Ü8E—rQ,Õ:V±®r®HÂ?ÖÞæ°(³݆…#ÏwÐA%×Ûkw’±Â¹èKÍèÚI߯ FZIŠ®H侜_n}Çà†·ß~»W]/ãtûjéG¥eä'[Lä‹^I>ßÕ—×_Ý£ÿîð†‚GwúžJ§FŽ{¬»½xa¡Äû‚+’ôȰ4 èŠa»YFœ~B€ $ ¿¤ Ò&@ªü»*@Z:-[¶¬5Xe¶j›NʧüQx ÛÈÒykÙGØ^K-ò-.òýÅ/~ác©ñLû8¢N¹:Â+ó­ƒô Ö†±ÊÖR¶DrÝGba“’BïìÄ •YaûÀô²òù],-Y²$éG£…íZû¡gBý×çé§Ÿ.Ö ?ëW¾¼ÛÁšØ¿Ä ½È•†,i>KcªGØŽ,k™sº9a[~Â5F§œrJljÑ­‚¥*Ÿ¾ïbªGØÖÜGù¸/–Ä.¼qá÷Œ"n±|ésQØV;µ_*¥çpœ›µ2®¥µ”‰} VåÎdŸ}öq÷òu¯¶˜4GuN‚‰¾Ï S‹~ÙùÚÈqu§çJl_z¹¶ÓT؇š…Âv°JÑ?=$@€ Ú „WéZBjð÷ê§Ä–(h«c ŸºW‰íY¤ÕÒ2„íµÔ"çr¢´r*g´¾Ì ÉÁ´‹@ æ¨ÅŒb)¼ÊïyöÝw߂˥„í˜_VúÅ’„%o“¸–mOp«àçƒ?÷bE[§OŸî×U¶ÑÂv­ýXûwúé§퇞™ào>éK•9ŠY¥,¨»³Å¶AôÜk|æÍ›W´ï:¯ëú¤ƒ‘Ö#l×:V±å„íàbÄÛ*+gYÃKÑ X}ŠÎÊW°û¤g¢TŠÏKðƒ]*KÁù´°~s£ S88õÔS½ÏÁ_uò=ÛSísËUÓZʤûŸ?-iLô½‘NGq„Ÿ¿þúë}{î¹ç¦/û~#Ç=¾Õ¡ïåধͽu"¸žñ¶©ýÛEqÈ9„m„íœOqº@€@gø$1-ø6NþÑÖ?Ûƒ‚ÖÄÚQçô‘Û‚D­@´êȶ"l¯¥…m‰6!°_ò‘żÄYXsÌ1ɘí¹çž­ ., ¬Á'­çÑ+ûÏ=÷\r]×î¿ÿþd¡BÂc:•¶CP6¯O¢MÚ:\eeq}ì±Ç&m’•k:ì~Ms+ë`Ö¬Y.šF‘¾Ra[‹+š—r»‚á¥oWv¿ž~IJºo—ˆƒº¡„} UñyÑ6/¶úwøá‡{ßä6DîVÒI¢¿Ä~õYâc:•§öâÈ»–9§6D·šcÙ¤ç`ÿý÷÷6ëŸlY3§“Ü€haH}:òÈ#Ó—ê¶£X®>ômŒ¶ä’DÖÆºïÿøÇ‚û–:H Û*§±H»$Q_£K]×wHLµ2®¥µ”‰íÔ6øÓv.úý¤~d]µh1Pçãõ9s椋û~#Ç]nU´P¨6È-IˆEPpõ?Ž­ò làáhQØ&x$Á#síLžÎA€ ÐyV­Ze·Þz«Lú½PeIDAT)xäâÅ‹ý£àbl°=Ú6ÞxcÛzë­-ˆ<Ö·o߆5,ü=ïƒå§ß#üãß°{uçŠcðÈJÚ^Ë÷ pýû÷o“ýÑGõ  /¼ð‚|÷»ßmm´‘sð·îùƒˆn ¾–0„H .E<ä•W^™Ô« £p€i«@¡Ûl³ 2Äž}öY º)PeøgÅT^׃ˆm J© {Á­Ú‚Øæõ)à¤>O>ù¤©}Á¥€=ðÀD½ŠƒGqÞ‚og¯O÷ëׯŸ÷W÷)—êéGX|± .¸Àdê⮀‰Á¢Ù‚ïyÓ³¬a“@ˆa‘À6Ûl3oN{4ƒ5«ÄT`<ÈË&Õ¯@xJAÈL‚µjœÅOIA{½óR{÷Sþjv‘Þ‚E¬…7|¾l¹å–þ|Üø³OŸ>¬d ‚1–§„q‹-¶ð¨jS:Õ3VªgÚ´i˜QûúîÒwZ°ªÕ¡'A ⢅7SœÛ¸qãL,ƒË „ªLãÇ÷À¹:S{íŽùJmÃ0,÷ýòˆ#LI5ÑÏ#ͳm·ÝÖV$ÛK1x¤êÐ÷æìÙ³½¿'Nôçò‘G1“R^-¸£JæI=ŒkéG-ebÿõ;*,Ôù¡¾³îALÓß} ©1W8p ÿ^Ӝ̦FŽ»žÇðfŠèÔ}5o4¯ 3,&ÛðáÃMóý®»î"xdv`8†š‚@Xøó¿a¶ßùƒ­)FNB€ & €°½vK Ûæ$’Hh“P\(ØÔ©SËÎ Øbï½÷^{õÕW“¼ƒ ²ƒ>ØB@¼6ÂY)a[…%ÚHôŽ‹:§vIäV¢6lØ0 ».dëZpß`º—’„ÙØÍ,XàÇú!¡QB´êà£*a[å%‹SÛƒµ¤W \~èRÙTO?T±ÄÑ™3gÚ èkÞ* <Ø…õCc¨”'a[ýÑ »óÎ;MâkLZXÐ| #m‡vˆ§“m©qªD ®g¬$`^xá…&Q^‚üСC-»LÚ¥×BBpáó(^”,¾íøãwÑ9ž×¶’v§óg÷ƒÕ°ÏÕóüóÏ\Ö3¤úƒ•x›g³ cê ÛyÕ¿`¹ì‹/QÌÖb‡’4>z>³©VƵô£–2±½zÖ´x¦…×­¶ÚÊ‚â5mµ°´Ë.»øšòW.éËû÷à'ÝÎ;ï<Ó¢NˆGà÷Õ3¢…-üw(‚2#lŒ€@³@Ø–---É s³ <ý„ @y'€°ÝØîHLYˆŽ9²ÀJ»Ú;ËòPuÉ*R"{Úâ[ÂUðYì"|µÓõ˲7¸TqQ{Ô¨QéK¾_O?ÔX‰c²:L;½]tCõ[ã\帠¯þKØodªw¬*i›S½µ2vìXÁ+)SO-¨_zkAßµõ†ŒDÐjRZØ–%°RpãsSoIL˜0Áßœh¯ÎZ×ÒZÊ´×þZ¯7jÜ5¦Ï<óŒOlºé¦mHjm/å ôdÛÛ=yþÒv@€ P’ÂvI4\€ P’@1a»df.@€ºÂ6ÂvN?n @€Ga»ql©È/„íüŽ-=ƒ 7ÛÛy›Óô€ 8„m& ê lWÏŒ€ Ð5¶¶»fæqW@€ Ð`Û Lõ€@. lçrXé \@ØFØÎåĦS€ @a›9@ z«V­²_|уN*' € Ð] l#lw×¹I» @€@]¶ëÂGa@€ tkÛÛÝz‚Ò8@€ P+„íZÉQ€ @ÝŸÂ6Âv÷Ÿ¥´€ Ô@a»h @€@!€°°ÝC¦*Í„ @Õ@Ø®Ž¹!@€ Г l#l÷¤ùJ[!@€@Ŷ+FEF@€ ô8ÛÛ=nÒÒ`@€ P „íJ(‘€ @=“Â6ÂvÏœ¹´€ ´Ca»@\† @€@&€°°Ýƒ§/M‡ @¥ l—fÃ@€ ôtÛÛ=}Ó~@€ P”ÂvQ,œ„ @€@. l#lçb"Ó @€ %€°%Â1 @€òC i…í¹sçšþÙÙa;?³™ž@€ ´°Ý«W/›:ujê*»€ @€@O&°Ë.»XïÞ½­WøÃ¿µ'w¤Ú¶Ï›7ÏV­Ze&L°šþÙ!A€ 䇀þ¼}íµ×ì‰'ž°¾}ûºAC~zGO @€ ÐÜšVØ^´h‘-[¶Ì†ncÆŒAØnîç€ÞC€ C¶Ÿyæ™äo¾±cÇæ°—t € @ÍI i]‘¼ñÆöØcù¨G«íæœô€ ä“@´ÖVï&Mšdë­·^>;J¯ @€ ЄšVØÖX/^¼Ø–.]ꯦŽ?Þ ЄS€.C€ üX±b…-X°À]Ï1ÂF¿NÒ#@€ 41¦¶õzª|.ÊšG>¶å–dðàÁÖ¿kiiiâiA×!@€@Ï#°zõj[¹r¥½òÊ+î~Dë)–ŠÞÎ#žJÏOZ @€ ršZؘ5kÖØ’%KÜr»(®A€ ô,²Ô5j”GJïY-§µ€ @€@{š^ØŽ€äs{ùòå¦×Veé#‹ @€@Ï! 7îôæÜË 2ŸÚ=gèh) @€ª&€°]52 @€ @€ @€@W@ØîJúÜ€ @€ @€ª&€°]52 @€ @€ @€@W@ØîJúÜ€ @€ @€ª&€°]52 @€ @€ @€@W@ØîJúÜ€ @€ @€ª&€°]52 @€ @€ @€@W@ØîJúÜ€ @€ @€ª&€°]52 @€ @€ @€@W@ØîJúÜ€ @€ @€ª&€°]52 @€ @€ @€@W@ØîJúÜ€ @€ @€ª&€°]52 @€ @€ @€@W@ØîJúÜ€ @ $°téR›9sfr‡AƒÙ‘G™—Û™3gŽÍž=;ÉòùÏÞ6ÜpÃä8;]t‘µ¶¶zׯoûî»o·ïæu×]g ,(ÙÎ^½zÙèÑ£mÓM7µ &˜æ € äÂvF‘>@€ @ G}Ô9ääÊFmd¿ÿýï“ãr;—_~¹Í˜1#ÉrÍ5ר¤I“’ãZw$–?þøãIñ8ÀÖ]wÝä¸+wvØa[³f7áƒü ýà?èÊæTtï¯~õ«v÷ÝwW”·oß¾6mÚ4Ÿ½{÷®¨LGgêÎãßÑ}¥>@€Ka»±|©€ @]F ; ÛçœsŽ]ýõ “[o½ÕÞõ®w%Ç]¹“wa;²ÝqÇmúôéñ°S·Ýyü;7ƒ @ nÛu#¤@€ tOõÛûÛßlîܹIÇöÞ{o6lXr\ëNw6¯¸âŠÄɘ1cì£ýh­Ýì´rY‹í©S§šÚ®$ëó×^{Ízè!{饗 ÚtÞyçÙn»íVp®3ºóøwFÿ¹ @Ga»ãXR @€ºz„íFua³cÉf…í3Ï<ÓöÚk¯‚›Hà>ÿüóí·¿ýmr~Ê”)vå•W&ÇµÃøwiî@È?„íü1=„ @hRõÛ<òˆ=üðà ¹Ýwß݆škç™gž±›nºÉž|òI{ñÅ­OŸ>6|øpÛzë­MùÓ ÿð‡?Ø«¯¾j·Ür‹©î˜Ž:ê(ëß¿¿[ƒüã§}»lÙ2÷=þ|¸É&›ØV[meÛm·D,Èþú׿z[t^~»?õ©Oy»äîDèºÿ¸qãl›m¶±}ìcÙâöóŸÿ<9·ñÆÛ‡?üa?®·ÞXé¿þõ/»ãŽ;¼ÿÚŸ8q¢½ÿýï7¹@¹ë®»lñâÅžuÈ!ö‰O|"+»­DØV+V¬°wÞ9±H0`€Ýyçmê^¹r¥Ý~ûíöÄO8Ë––Ûl³ÍlóÍ7·|ä#>ÆÙBÅø¬ZµÊ4æ÷Üs[ï±ÇöÆo´;þ²,þùç“[h)ø% € d lg‰p @€ œ¨GØn/xä%—\RÖâ·_¿~n%¬ ŒJûí·Ÿ-Z´¨$ÙÉ“'ÛUW]•\¿ùæ›í‚ .p1:9ùÎŽôo~ó›öÉO~²àҹ瞛X%Ëo÷OúS;öØcmÉ’%ùt ‘ö;ßùŽI¸©”ízëUýrërÊ)§ØË/¿oçÛ^½zÙ©§žjsæÌ±ÿýßÿõs›nº©ýêW¿*ÈWê Ra[ååZeùòåIUþóŸm½õÖKŽï½÷^gòÜsÏ%çÒ;¸Ï8ã Ûb‹-Ò§-ËGm?þøãí±ÇKòiQâÙgŸM޳;qü¯½öZ÷x}×]w-8ŽçÙB€ „mæ @€rJ Q¶\ZHÌŒiĈn},ATÖÛr}¡$Zbõ{Þóžª„í¬¨ï“Ý~éK_²#<29X%¬¯¿þún±dÈì|ë[ß²=÷Ü39[‰°]K½?þ¸rÈ!öÖ[o%÷Êî <Ø^yå?Ýaû…^(°—õ½¬çcÒ¾ ÚK½{÷¶Ÿüä'nõó¦¹kAaË-·t ôx][„í4 ö!@èÛA‘: @€ Ð 4JØ>ñÄárà 7´ë¯¿Þúöíëä¾ä‹_übBC‚îqÇg«W¯v7òõü»ßý.¹~ã7š\oH0•þôÓOÛAäù•IßÇsŒÉ5ÈìÙ³Ý]Ht‘²Î:ëØ 7Ü`#GŽôúÒ«NèºÄïvÚÉE嫯¾Ún»í6Ï«Ûn»­]vÙeÉq%¶2W[ï 'œ`²ŽŽI.R;ì0wÕòÀØÙgŸˆÚÊÓѶ\ÆèrÇÓ>ðûáè‡ 0)‹ú`Rn\dE¾ãŽ;ú8ˆÙÅ_œ,XŒ?Þ~ö³Ÿ%ÖîYîñ£FòE Ÿ~úéñÇb;Òc @€@{¶Û#Äu@€ ôP¶å$º÷+ ¹žˆ“ÄfùÜV’ð¶Šn/x`Z–?ì_ÿú×.zǺÿùÏÚ¾û¬x tÒI~9+°J —Ó›o¾é¾µåoZIm“°S¥Âv5õÊoö>ûìoáþ´/½ôÒäX;òQ-ñ>¦z„mõiàÀ^•,çåW<ŽE¬_îOdI]ŠÌ˜1Ãd%Óyçg»í¶[<ôíÌ™3]ÜŽ'O;í4g¹kâßø†í½÷Þ1{²moüÿô§?¸¤yï{ßk_ùÊW’òì@€ Ha;’` @€ œh”°¶Ø2Yk+ÐâöÛoïn(ä‹YØÅR{¦|_KŒU’€-á:›TG´Ú6l˜É·RV`•5¶¬²ÓI®K|ðA?%Ëkù•–ЫT©°]M½ Ð…wÝCmW`ÍlÒ?fK—.õÓõÛÙz³Çêëá‡n Ú“üa+È£’\”( hvüdÕ-±;ºS‘Õyt]’å®…ùâ.–Úÿbe8@€Š@Ø.F…s€ @ÈF ÛO=õ”û¶Žt•\‹È…È¡‡jã‚Õu:•6³~ ÓåJíK€•8­mV`•‹”Ñ£G=ùä““ º ké(âV*lWSï5×\cÓ§OOÚpÅW¸øŸœxgGBóý÷ßïG¶ÕÇw¿ûÝöµ¯}Í Ò÷ßk¯½,ŒÌºgIçK[êo³Í6‰•w–»,ÒŲX*7þÅòs€ ”"€°]Š ç!@€ Ðà 4JØ–eË–¹¿kù_ŽnI²¸$¦~ï{ß³}èCÉ¥rÂæüùóísŸû\’·Ò[o½Õ´0+°Ê’[Ýéôõ¯Ýn¿ýöäT-Âv5õþò—¿tñ† ¼8uêÔx˜l>úh»ï¾ûü¸a[¾²·Ûn»¤^ü“KÔ–ïìbI¾´å¦EIûi!>ÿ€ðà :7fÌSQ¥,÷뮻΃EúÅÌrãŸÉÊ! @(Ka»,.B€ @ çh¤°¦"¿×sçÎuëgI|ýõד˃ö€ÑÝG9asåÊ•îÒ¤µµÕËËÉþûïŸÔUjgìØ±È0+°V#@«îJ-¶«©÷®»î*ðó-‹q ÄéôöÛoÛ{ì‘o¬GØ>óÌ3MØÕ¤ƒ>Øþñx‘‰'šüiKrEòòË/û%-V\tÑE¾_ ÷X_¹ñyØB€ J lWB‰<€ @è!lËýˆÄë˜äW{ĈñÐýcùË_6Ý;¦´oVØÌŠÄiwòÛýýï?V“låï9DT Âèn¤µ³-¶g×WÝÓ3LOîé{¯5tu庪tÍ<½ûÝEþÙÓŒ† € €…F`ƌֵk׸®§bÅŠöùçŸÛK/½dÏ?ÿ|°í°aìiÓ¦îýu×]g?þø£›.V¬˜]uÕUvì±ÇZÉ’%mÒ¤IöôÓO[jjª[Þ²eK{å•W‚ý <Øôã[Ñ¢E­Q£Fî§OŸ>¶eËëܹ³­ZµÊ­R¼xqëСƒ5hÐÀþüóO·ÿõë×»e:öèÑ£­víÚîýC=äÞû}òÉ'V¥JÿÖ½ÞvÛm6a„`ž®Cç vøá‡ÛîÝ»Ýô1ÇcO<ñ„›Îî~gΜiW^y¥mß¾Ýí/ú¹í³Ï>¶råJ·¨aÆöÖ[oE¯ó}÷îÝmâĉÁ²{ï½×N?ýôà}f'zôèaß|óM°z³fÍìÈ#t÷ñÛo¿µùóçËÎ=÷\»ýöÛƒ÷™ññ+ïíþ¿ýöÛöÈ#øÕí¤“NŠx,`@’^àÿý¿ÿç~+B°ôÏ € €…L ·‚í¥K—Z·nÝ‚ð9=¶ *¸[ÁµoS¦LqÛF÷«iÞ¼¹½úê«nµŸþÙî¼óN[»v­ß,Í«BíxÀÚ·o,ËLÀšÁ¶Nð?þ°ž={ÚŠ+‚óÕDÙ²emÀ€6räHûòË/ݲü¶õA‚ÂmgFíÐCµÇ{ÌRRR‚Õ2ãîWÞÛý'ØöR¼"€ €ÀÞ¶÷&Är(p+6l·î#¦ÛÆí;톓êÛ)U+pçÈ !€ Pr+ØÖµ-[¶Ì†jãÆs½¬Ã׫ÈǼ]qŦ6º}ôÑG®÷‚ ‚Eá`[3Õ+[ªÂÞ­[·ëiBáªö}Øa‡EÌÏLÀš_Á¶NT×1}útÓ}Ñõ©WôÁlU«Vu½Þ'Ožì®§E‹Î6ââÒy“S=¶µû]»vÙk¯½f#FŒ°uëÖE±Zµjî‰N:Y‘"E"–eÆ=¼AF÷Ÿ`;,Å4 €d$@°‘Ë@ @ |={­õ;ÇÛ±T¶»No\ Ï““B@ T^cñâŶzõjŒ*¤­S§Ž•+Wn¯—¯²#7ntAi¥J•\)“èÔ³[=Ä‚«x­Zµ\½^A}¯Ò&ê¥ì›®SeUÂmóæÍ®äÆÎ;ÝìvíÚY¿~ý«äù´zËÏ;×J”(á>œ}N·ÌÜÿœ>&ûC@Â#@°]xî%W‚@¡øé|[ø×»ä¨:¶iû®ˆ`»ÛqumÈÄ%¶lý6»çŒÆVµ\ÉBmÁÅ!€ €@b œwÞy®>¸ÎºT©R6|øp«_¿~pï¿ÿ¾©¾¸o>ø uìØÑ¿å@@ †Áv f!€@Á˜¶d£õzkFpR5+•¶å{BlµÊ)%\кó¿=qpu»~Oy € PP† bÏ<óLp:*ëѶm[«[·®ë­Ò~ÐJÍ5jT0 e° € €Û¼A‚(°è¯­vóžšÚ[Rwíõô®9¾žÕ¦Æ^×c@@ ¯Z«´È˜1c2}ú¸›atÐAÖ«W/kÞ¼yF«å˲%K–¸pnöìÙÇרêõë×· /¼Ðü2•T;vlÄz¼A /ôßzFûöã?fª–äÀOçÛ¿¶Ø%GÕ±MÛwYß±ÿ Ç= ²u;®® ™¸Ä–­ßf÷œÑت–+éw¿××qãÆÙƒ>èJŽìu娺téb={ö´bÅŠE-á- € € € €@n lïÑýõ×_]ïËU«VeÊ:%%Å^yåkذa¦ÖÏ«•®ºê*› d5ØŸò׳×FÛwÞ8¼8ÓÓÀéÆo4}Ó!ÜJ”(aÍš5³6mÚ¸ÿÎõ ý·5}úôðjnúâ‹/¶îÝ»§™Ï @@@@ÜHú`{ãÆvÖYgÙúõëå¢E‹º‘É[¶li+V´3f¸òµÜ7õxVi}öÙÇÏÊ×ו+Wšn¦o*Ÿrýõ×[ùòå­E‹¦’$ï½÷žýõ×_n•råÊ™z›ÒÈkœ¶WlØnÝߘn·í´Nªo§T-îËÐYúCø¿}í¤qãÆöÜsÏY¥J•ÒìSeTzè!Û¹sgIJþýûÛ 'œ17 € € € €¹'ôÁöã?n#FŒ„øj^ëÖ­ƒyšøý÷ßí¦›n2•,ñM½4Õ[³ 4•s¸îºë‚SÑôå—_¼g‚"ÁvN\ËwÜaãÇØ•¾…ñ /Ä µýŠê¹}íµ×š›ôMp}øá‡V²dæK ømyE@@@ˆ_ ©ƒí… ÚyçÑûrÈ!¦:Ú±Ú7ß|c=zôrÈ!öâ‹/ïýÄ–-[l„ n€¼¹sçšÊ4jÔÈ8à;ñÄ­xñâ~ÕàUÁ´ÖU+]º´}öÙ®wµ‚·)S¦¸@]u²>ø`kß¾}°ºÔÏüùóm̘1Áü“O>ÙÔã\Çò=³?ú裠wªÊ©œyæ™nýXÇNMMµ>øÀ¾ýö[S¯ö§žzÊWøCí_½ÁùåÓ › ÿ«W¯îêŸqÆVªT)·ÿ™3gºýh=õoР;§jÕ2ßË6Ö9êš?ÿüsw\Õ8Ö}Ó:¯ôšJNüôÓO®ÆóŠ+lݺuîœLzè¡npЪU«ÆÜ|Ñ¢E¦z̺Oêù.[­ÛªU+ëØ±£ 3Ö†ñl÷é§ŸÚš5k‚ÝtêÔÉ4P¡oêeüÙgŸù·¦g°iÓ¦Á{M¨vºî™šž½sÏ=×MûrêùLïÑqtžÄtêÔ©nZçxÔQG9ã‚lkÕÓN;-"œÖyû²=šV[ºt©»z¶ôMßxà÷ ÿ^¯÷ßÄ·&¢F@@@ÈY¤¶U'ûÙgŸ D;ì0W‚ ˜5¡Pô¾ûî ™S˜ª'ú¦€·oß¾¶|ùr?+âU÷þóW¿7¼@å Fíf)dÕ¹©”ȲeË«¹i…ã:†Ž;xð`÷“f¥ÿÍP(úõ×_»wé }ì·ÞzËn¾ùfS í›ûSoöÃ?<¨G|õÕW›Ê³è¢[Û¶mí±Çs½áŸ|òÉèÅ.ôîׯŸ ’Ó,Œ1#ú~øa»å–[lóæÍiÖîÚµ«Ýpà A¤VÒàšêu¯ 9½&/ $xì±ÇF¬2hÐ :thļð…ø:§cŽ9&<ÛâÝNVÆ ö!ÃãŽ;.xÿöÛoÛ#<¼?õÔSÝ3èglÚ´É}xâkF}ôÑöÏ©ç3£gäçŸvƒ˜†¿Ý ó+R¤ˆûVêTëyòMZ„Cc??7_õ”zfG7ÕÔÖ³V¥J{ùå—ƒÿDÿ¿áã?¶{î¹'bs…ßú`Œ† € € € ûIl+˜R@å›Bj…Ymêm{çwîus…x ƒÕûÚ·pp«T!²¯‡í× ¿*`WÓܶÐù0Ü3V°­ð/£sT­â9sæø]¤y­\¹²ë![¡B…4Ë¢g„}ÔSZ†ê1œ^SOç»ï¾;X¬žÙ\pADohõ¶ÖªOþÇëê õ×=PÓ:¾oê•Þ¤I÷á…zoûYçõꫯÚèVÍÊv¿ýö[D õ¶¿í¶Ûü¡-º|†z½«'¾oºOêíÛ]wÝåjÈë}N=Ÿúà%½gdöìÙ.¼Ž®AíÏG¯*×¾wùlëŽI“&…O+˜Ös©fTOÛ7} @6ù¦o3è¿ÁpÓ3ùÝwß™ž € € € €@î $u°­úسfÍ „3*C¬”΄J?œsÎ9¶víZ·†Ê‰ôîÝÛÔcvÇŽ®|ÄÀƒTå8†ôö·ÚÂ1õˆVÀ¦PUF— P¯S…ªZ®@­gÏžÁÙ) U¸«^²¾Gyfzl;Ø3Q«V­ ¤Uè¯2"áÛZW=ÐUžEa Ê¯D—fQˆ©óRÉ õ˜V/m•ðMõÌ£{Gûeá×h-SÏl ü©>U2EûV™ 5…ŒêݬA4ÕÞ}÷]×Û½Ùóê‡k’?ýôÓ.”öË}ôQ×óYïÕ3Üý ’µ/_K9:ˆÖ9)4ÍêvºŸ§œrJðAݺuƒžüÚg‡‚eî {þQ šýöÛϽU¯q•ÓP“J§èÞäôóé°çŸègäÆot¥sür•ÔÑs'·_ýÕ݃ðý×zùlë¿U•"ÊLÓGzÂ%aôÁ'Ÿ|’fs…á2¡!€ € € €ä®@RÛ*±uëÖ@X=_ã©ûl¸gâù矷—^z)˜¥µ]»vÁ{M¼þúë¦pÛ·poÚèàVa Â4ß¶oßîjkûÒÑ=uìª|ˆoê9®P1Ü2l«ç±zûÜá}„ƒm­§PµfÍšÁ*W^yeD°©Aö®¸âŠ`¹ŒUŠÅ7¡—^z©›îk´Ïé§Ÿn÷Þ{oÄú_}õUD¸¯ó÷å"ô!‚j|«)ì×9(÷-º~zø¼T/Ü—„Q¸¯2áðò½÷Þ ÂfÝõ¤WËêvzvÞyçj®f¶ŒUB%úžj%õLWøª¦ ñâÅnZßðÏdN?Ÿ±ž‘è_%TTJ%ÜÔ£[Ïa¸åG°­œôßTFM ¨n¶>h7…ת±­2<ÑMß ˆx6zÞ#€ € € €d_ ©ƒmVáÞ£ }ßxi*+\VSYõ”U0nê5«°Û—iPHéK—D·êù¬^ÎáÖ­[7×ëUóÔ£[õ’Òªåd°­@6>»üïŸp°Ý°aCò†—G_‡zš«Ü‡o*M¢’ ¾©×|÷îÝýÛt_£÷«’Í›7X_A£ÎÝ×7u~ìy³mÛ6›1c†«…­`Ö·p°î±­åê­­ÐVƒMª$‡z­Gßk­—Õít_U#Ü7\ëCÕVWSuõWÓs¬ Uá»®ß7¹ÊW-§ŸÏXψÿþýûûÃ;Ó#<2xï'þýï»?ýûü¶5ØgxN.á×èúäú6€zćK¿„××´WÕ ±4@@@@ÜHê`[¥(ªù¦þbq~¹^„‡{y«Þ²jb«±THG—äðûP è{ÿ†{ÔF·*wQ§N¿™{Uíä/÷ÔPö-æd°­5`Çjá`[eRÂ=е¾‚Mœ¾©7síÚµýÛ4½Ž³l«‡µzOG7•EÑ25-÷Óz¯à[%[«J£è~Æêy¶ÿüóOÓ‡ у!jŸj•*UrƒFªçyýúõÝ<ý“ÕíôÁ‡>Ñ!jšV/îpMx¨:žÊÜøÞûÑ5½Ãö9ý|ÆzF¢ï½ê×ï»ï¾îÂÿ¨6µjTû~Žý¼Ü~U)šð±Ž§ÿ&Û·o,ŠþÿE° 4¡o ¤¤¤„æ0‰ € € € Il«LÂo¼¸*(T ™Qëܹ³-X° XÅ—/ —6ˆî鬼gâüóÏ7 8¨®Ÿl«~¯g 7ÕÍö½t5?æd°®Ù>¾¦ÃÁ¶J¹<ñÄ« 0ÀÞ|óÍ`ÞØ±c#J•¨L†Êeø–•`[½£øá‡ ·ºß—^ÕÓ<Ü£Öà6lp5µÃƒDúí4bÓ¦M# ÛZO½{&«Î¹ÿ`Âoï_u^ºþpÍð¬n±U2eüøñîà téƒlÕ`÷åUjëƒÿ|hàÎð³ÓÏg¬gDuØÃ.êC?§7Òë#<âêŸûyáçØÏËíW•ѳ™QÓ7þÛ›6mr÷?£õõM ÐIC@@@È}¤¶£ë=W¨PÁ…¢ø1V‹eÃÁôE]d>4mÒ¤‰«§kê}»nÝ:·H¨OT+HÁv¬PÝäž B°­sQ€¨ 1º]ýõ.ôÖ|ÝOô†Kqh™zΫ„‡Êˆ(ØŽ®lkß–.]j“'Ov,(8Wèé›Bh…ß¾DŒŸ¯×x¶Óyëƒ ßÔc[uÏÕN=õTSˆüòË/ÛsÏ=çæiÙ3Ï<ô*Wsß¾åÅóùÊ+¯˜zrû¦žû*Ý2ú€&zÝÜz¯0=X† € € € 9¤¶wíÚåê=Ï›7/ÐRíâ|ÐÕQfî™Ø½{·ÝtÓM®Œ…Ÿ®‘î)¬ú× Í£{\«ü…¯y¬}\vÙe¦ V`Û1¤ûO´ÊYøAýFª¬ÚÉzUS nÕâVi}ˆššêæÇêi>qâĈZß>ØVù‘p9ÕÕVùß´\õ°U§Û7õfVÀ•íöÛo?·•»9ù䓃UâÄS@Ïš‚ùiÓ¦¹gHèC .é[t­ç¼x>ի܇ï:k®¹Æ4˜h¸©tŠãpY—üè±­sŠþöEø<5ýÔSOÙQGÌÖ½O¯éƒ Ý÷èòAé­Ï|@@@@ì $u°-ºŸ~úÉ®½öÚEÕÈVhݪU+×ëWª'꯿þ¬§^ÝÇ›Œîa«ÞÀ*wàܾ}»©þ³B<5aC† ±-Z¸÷ÑÁm¬^ÓõtÍÉR$±ŽíNrÏ?¥Ç¶‚\Õ1x]ZF=rUKyÕªU®—³¿†ð~^ti lkpI}ØáCqµ lÃM Ž5ÊÍ*Q¢„«ƒ®ºÝYÙNõÚ}ëÙ³§©fstS¹Zµj¹[tŒpq­«eá’ š—ϧ>PЇ >´V¸?xðàˆ^Û/¼ðBšúóùl«×¿¼UFÑ-ž`[×­[h € € € €y#ôÁ¶˜£kg†þî»ï¶N:E¬¸P TŸWƒQ*Uð<þü`ýsÏ=×n¿ýöà=Áv@s"ÚG+©ÖôqÇçJ‰èŠð UUC¹lÙ²n'œpB0£æõîÝÛ•™Ð€Ÿ_|ñ…92â¸W]u•éG-ý1d­2ê1¿aÃ?ÛjÔ¨a áUÏ<Ü«;?ƒmœzcë|õßl5 å’%K\/v}°S›¾ /Â%mb¯ÊªtéÒÅ <«Ò44@@@@¼ ØÎ{sŽ˜ô‚í,ìŠMÈP@”|öÙg.W{}(¡0[õÍ;ì0SœôzÄg¸c"€ € € €ä˜ÁvŽQ²£Ü ØÎM]ö € € € €@b l'ÖýJÚ³%ØNÚ[Ï…#€ € € € F€`; 3 ¢ÀÈ‘#mÒ¤IÁ©õéÓ‡šå € € € €$—ÁvrÝo®@@@@Hx‚í„¿…\ € € € € \ÛÉu¿¹Z@@@@@ á¶þr € € € € €@r l'×ýæj@@’L`àÀ¶k×®t¯ºlÙ²V·n]kÔ¨‘xàé®Ç‚ÿX¹r¥½þúënFÏž=ƒcÆŒ±yóæÙ¿þõ/;ꨣ‚ùL € €ä¼ÁvΛ²G@@ Œ€ÖÔÔÔLω'žh½zõ²jÕªejýœXé·ß~³É“'[­Zµ¬}ûöqïòµ×^³Ý»wÛ©§žšgç=cÆ ëÚµ«;ן~úÉŠ)⦻wïn'N´nݺÙÕW_÷µDo×}yñ>Y®3/,9 €É$@°Lw›kE@H:l·nÝÚ>øàˆëß¹s§­X±Â¦L™b«V­rËš5kfC‡µ¢E‹F¬›[o^yå{öÙgíðÃw¯ñçÈ#4]ÇË/¿l­ZµŠwó,­ŸWÁv~\[–@²¹Q²\g6™Ø@¢¶£@x‹ € €@aðÁöUW]eú‰ÕÔ£ûÉ'Ÿ´·ÞzË-¾ë®»ì¬³ÎеjŽÏ+LÁöš5klÛ¶mV¡B÷“]¬d |“å:³û<°= €D lGzð@@B%™`[¬^Ï:ur=¸UÖ£OŸ>yâP˜‚íœK–À7Y®3§Ÿö‡ €@² l'ûÀõ#€ €jÌÛB¸õÖ[í‹/¾0•#QÝãpûçŸLõ¤U†ã?þp¥Jš4iâÖmÓ¦MxÕ`zôèÑ®ói§æz0ÏŸ?ßÞ}÷][¼x±`qÇŽöÃ?Ø·ß~ë°ìܹ³Ûö°Ã³Æû‰žPù” &¸ÙS5¶Ï;ï<«]»¶•.]ÚÎ>ûìèML>êügÍšeK–,±zõê¹Á28â«R¥Jšõ3š‘^)’¯¾úÊ–.]j-Z´°–-[FìB=¹Çgª)®²/´SµÌU×\eb|‹÷Út_¾ÿþ{›6mš»/5kÖ4Ýí³bÅŠ~·Áë‡~h6l°“O>Ùÿ×_5ýüþûïV©R%kذ¡qÆV¾|ù`›x&tm|ð-Z´ÈÔƒ½dÉ’V½zu;æ˜cL¶/qïuÆs¬‹ €É!@°÷™«D@HRx‚m?ø¡BYõ¤ömíÚµöŸÿüǨ~^øõ„N°{î¹'MùvíÚÙºuëläÈ‘.xíÛ·¯ ¡µ­Bq…̱ÚwÜaçœsN¬EnÞ?þh×]w]Ìå•+W¶O?ý4b™ÂÜGyĶlÙ1_oT6Dç®kÈlK/Øö~уGΜ9Ón¼ñF[¿~}ÌC(\W@_¢D ‹çÚd{ß}÷¹¢w¬@ù±Çs „—{l_ýµ½þúëáÅnºFöÄOdøáBšöÌÐ3ó /Ø®]»b-¶“N:Éô /^<®ëŒ¹3f"€ €@Ò l'ý# € €@aÈl°­Ð÷Ì3ÏtA´zì*ÈVS«ÞÐýõ—ë}{á…Ú!‡âÂËŸþÙÕåV©ÞÒo¾ù¦•)S&àôÁöÝwßíM-Øo¿ý¬~ýú®WñÆÝÀ•ÚO­ZµL%PÔŽ=öX×ܽ‰ñzE;Ö-Q˜ªÛ§Ÿ~ºë¬žÐ]»v ¶Ò ’Ï=÷œ{¯À^ë©·ö¼yóL=ÊgÏží–õîÝÛ|ñ`ãt&â ¶U¿¼cÇŽö÷ß»0_~uêÔq!»zª«®¹ÎÿüóÏ·^½z¹ß™¹6Ý/Ý—åË—»Þî\pëm­÷ òÇ ·}°­Á:µŽ<Ô“Z=´?ûì3÷£}«×¼wK‡!böÇì> ÐLØê1~àÚæÍ›]Ou-W{àì”SNÉôuºø@ˆ!@°…Y € €ÌÛ ­ûõëg_~ù¥»ìG}Ô•ÈÐM«Çµ‚OõÆ=à€Ü:þ•Ö¸æškLnô•>ØV¯è””W·[¡x¸åfm•QY’íÛ·»Á0ÕÜ—ÂÐ9èœà+ÐÕ9ªLŠ^÷Öâ ¶UþäÚk¯uÇ?~|šò #FŒ°ÇÜTBÄÚþøÕž~ê©§\¹…õÏ>û¬+Áâ·Syõ¸Ö¾õÁ{ï½gEŠq‹}°­7÷ß¿éÂp{ã7\OoÍS½ï¾û†§;­ô Ê/¹ä»ùæ›Ó¬ç—«'¾îC¸etáõ˜F@ÂÛÿÓØºu«ë¢ê¡ z4@@ÄPõÖU€ªZÁážÃ‰s9¦>ØnРë)>‚ŒTMd•¦Pø«¦õšªi™zôªG¶Êl\|ñÅn~ô?Ï<óŒ 2Ä™«Ž´îš¶&«gòþûゥ+_¡`V=ˆõoË(}øá‡mÔ¨Q®†ö˜1cÜó½•óР™ú;àŠ+®p!tô:Ñïã ¶Ã¥E†îz1‡÷§žÜ ÔÕÔk[½¬}KïÚTF½ÛuÿÔK¾Q£F~“àU¡ýYgåj‹ëþ¨Ü‰š¶>ø`{饗‚õý„<ÔÃ\÷|èС®^¸_–Ñ«žÕ¿å–[Ò|ø¡íú÷ïïžõÆWné]gx¦@@h¤¶õµ¿eË–¹_ø¢qx € ¸°N½UÃ=t÷j²~æ>ØÞÛT÷Xe2TÚ(0qâDhk[ÕcÖ±šÊ_(WSÀ}ÐA¹ilk€DõüŽÕr³Ç¶J’(„V ¯à5½¦žËê-ý¯ýËž~úéôV æÇl+ –ƒlþ:—ã?ޅѾu°ã¨‰ô_ yà 7¸Á5PczMe?t] îUFÍÛÑuÀÃûð÷íÉ'Ÿ´£>:¼(îiuÒùê\ÈlÇMÈ € Ž@RÛúŠÞœ9sLµýôK¥ïÙ£_ê‹+–³@@ ¢€Dõ`õßÄÓïz*ŸÑ¸qã  CA<ïÜ>'lsÌ1Ö¶mÛ4‡Sˆ­º×ª;]†Ã—ÉP9 _#9Íö̵ö­^ßáò> ÕÀ‰—^zi¬MsµÇöqÇçzbßu×]®÷rÌØ3S=“ ä>yÿý÷Ó[-˜O°­ìÊeõêÕÁ>d­^ÓêIÝ¡C÷·H°ðéÛþ¾D¯ŸÞûp/|l«‹j©Çjþ¾e%Øž2eŠMž<Ù º`Á[¸paÄ`’۱ę‡ €YHê`{É’%®§¶¾î§‘¿õõUÜþ'+ lƒ € ? Wýz‰®X±ÂÕPVÏm Ö—¬ÍÛÑõ¯3ã¡Ò êQ­R*y‘QÓ€€ nUŠB=¿Õ|@úàƒºò±¶Ï­Ûztíz&Â5ÃcƒÊ”ôíÛ×õ¨þꫯb­1/Þ`[«Çö§Ÿ~jß|ó ~õŒoúpAá—.]ü,÷š^°­A5(¦¾à{×GlõFƒ8<ØÍõÁö}÷Ýg§vZÔšÿ}{òÉ'»2ñÛüñ‡ ïý`œáLZ´ha‹-²wÞy‡Û1Å™‰ €YHÚ`[¿HΜ9Ó™©‡J©R¥\/mõÔ&ØÎÊ£Ä6 € €@þ øP[=·õ£ÞË/v'Õ´iÓL€ù{¹sôìÛê½Ü§Og§@6½¦ÚÊê®{ úÉê•«æƒíÆì-®ur+ØÖ¾Üê f¨A Ók*?òꫯºúתƒ½·–•`;¼O=Ÿ ‚5X§ÂÞ 6¸Åªm®ûå[zÁöG}ä½T/{mOË`[%F.¸àÓ ¤Í›7wn¨M¸ ÿ„ÛñÜ-ÖE@Œ’6ØÖWâÖ¬Yc•+W¶ªU«ºÞÚ µõËÁvF Ë@@‚)àƒm¡¢àP=võûžB7ý¾§0[v‚í©S§ºå6räHÓ”±šJO¨G¸š‚VoßÁöu×]g¼Q=5dzíšk®±ŸþÙÚ·oo=ôPz«óã ¶UŽcýúõ®¶j¾G7=Ÿ* ¢:ß~ûíÁ*éÛê £ ^ßûì3ëÝ»·;²BÑ=z=„·lÙbýúõ –|þùçíÐC Î23Á¶z‚«¶ê ¿ñÆq—Œ9餓\);î¸ÃÎ9çœàؚЪ÷=wî\S¯eÕÑÖ€¾)LV­iõšÖóáëPûå齯lûà\häxÖYgEüÝ¡}©Ç¸,UöåÔSO ›Ñµ?ÞtÍú[F÷D÷Æ7…Ú é?ùä7€ªJ—øZܹløá‡vï½÷º4^zé%kÙ²¥?[¾|¹sךjz>ôœ„[F×^i@@ ,´Áö/¿üâTN¿ †ë¿…˜F@HL…š ¶§OŸî. M›6‰y!Ù<ëìÛ:üOT=z´Ûo¥J•\ð7ûTçõ?üðÃÝ:ú'7‚m}0pþùç»tõáÎG=Êõ‰Ò¥K»Àþ­·Þr÷øˆ#Žp¥aRRRÜyetÁ‰3 €D $}°­¯¤ª ½µ£ž Þ"€ € . àO¥4T‚N`ûª vVn­z74ÈÕmVox5ýݸqcëÞ½{Ìñ™ ¶µ ,øÁ¸`TûVÏf•@ÉLSp­ßsæÌq¥g4†Žj>‡›JÒhPK €©Ö7Õ^?ñÄÝà’ š3Ûâ ¶Uó]%ZÞ~ûm7˜eø8UªT1ýQ¦r.áP[ëdæÚÔ£^= -Zäz¨û}+̾öÚkÓ”àÉ`[Ç”‰z‰ûÿÞ4O4(äVy]§j‰«î½Ú„ ¬B… n:3×éVä@@ $@°M°z˜D@ ÁvîÜKõ‚× „ꙫžÎêœHmõêÕ¶dÉ7˜¢Bð¼l꙽råJ[µj•ëý®°·víÚ9òíQ >ù矺}©¬KùòåóòÒ‚céúT~DÇWïøbÅŠËðkàKõŒ÷¡v° @@ N‚m‚í8VG@C€`;1îg‰ € €@V¶ ¶³òܰ  € Pà¶ ü-â@@ȲÁ6Áv–6D@ ²ÁvA¾;œ € €Ù Ø&ØÎÞÄÖ € €@ Ø. 7†ÓB@@ ¶ ¶sà1b € €@Á Ø.x÷„3B@@ §¶ ¶sêYb? € €@ Ø.P·ƒ“A@@ G¶ ¶sôbg € €@A Ø.(w‚ó@@@ ç¶ ¶sþ©b € €@ Ø.7S@@@ —¶ ¶séÑb· € €@þ lç¯?GG@@ 7¶ ¶sóùbß € €@¾ lç=F@@ ×¶ ¶sý!ã € €@~lç‡:ÇD@@ o¶ ¶óæIã( € €@ lç18‡C@@ ¶ ¶óðqãP € ,kÖ¬±3fØ’%KÜÏêÕ«mß}÷µ:u긟fÍšYÕªUs•ƒ`;WyÙ9 € €ù*@°M°¯ G@Â%0uêT{óÍ7m„ ¶k×®t/®X±bvâ‰'ÚùçŸo­ZµJw½ì, ØÎŽÛ"€ € P°¶ ¶ öÊÙ!€ €@BÌ›7Ïî»ï>×K;|µjÕ²c=ÖjÔ¨aÏ>û¬¥¦¦†»iõÞÖ¶ 4H³,;3¶³£Ç¶ € €l‚m‚í‚ý„rv € Pà>úè#{衇lÛ¶mV½zu[¹r¥;çSO=Õz÷îí¦§OŸn·Þz«mÚ´)âzüú¥K—¶;ï¼Ó´MN5‚휒d? € €<‚m‚í‚÷TrF €  Žûõëg£G6•éÖ­›mÞ¼Ù† fMš4±¡C‡ÚرcmÀ€¶}ûö˜×ÔµkW+[¶¬½øâ‹®tÉÙgŸíÂð¢E‹Æ\?ž™Ûñh±. € €‰%@°M°XO,g‹ €Fà…^p´z]÷ïßßTR¤K—.¦²$ ¼ëÕ«g_|±íÞ½;ÝsVù‘‘#Gº&êÑ­ÞÞ È¯¾úêt·Éì‚íÌJ± € €‰'@°M°xO-gŒ €ù.ðõ×_[Ïž=­L™2öòË/[ãÆÝ9sÌ1¶uëV5j”}õÕWöôÓOgx®Úþ›o¾qëÌ™3Ç.¿ürWÒä±Çsµ¹3Üx/ ¶÷Äb@@X€`›`;_N@òC`ùòåvþùçÛ–-[\Oíã?>8N:Ù’%KL÷üa«V­ –Åš¨S§Ž½ûî»Á¢/¿üÒÕâVy’7ß|ÓjÖ¬,‹w‚`;^1ÖG@@ q¶ ¶çiåL@@ @¨tÈ£>êÊŽÜvÛmçtûí·ÛçŸ1/£7't’=òÈ#«hß:†ö­Ò&YmÛY•c;@@ ¾Á6ÁvÁJ9C@(P¿ýö›+R±bE7Pd­Zµ‚ó7nœÝ}÷ÝÁû½MôíÛ×:t謶lÙ2»ä’KlÆ öÊ+¯XË–-ƒeñNlÇ+Æú € €$ŽÁ6Ávâ<­œ) €AƒÙСC­Q£F.€VéßT{[õµ÷ÖŽ;î8S-mßT›û²Ë.³¹sçÚ¥—^j7Þx£_”¥W‚í,±± € € !@°M°*'‰ €K`÷îÝvÓM7Ù÷ßoGq„õë×Ï*T¨àNríÚµÖ«W/SÏîôšzb0À*W®ìVùûï¿íŽ;î°~øÁíOƒN-Z4½Í35Ÿ`;SL¬„ € €@B ll'äƒËI#€ €@þ (Œ¾òÊ+mÞ¼y¦r$ýû÷·<И‚ï×_݆nýõWp²UªT±‹.ºÈ.¾øâ ¸Ö “·Þz«© Iýúõíå—_6•9Én#ØÎ® Û#€ € Pp¶ ¶ îÓÉ™!€ €@زe‹©Nö'Ÿ|b%K–t¥D:wîlûì³Opî ¶/^lûí·Ÿ)Øömݺu6jÔ(2dˆ¥¦¦Zûöí]}îpY¿nV^ ¶³¢Æ6 € €$†Á6Ávb<©œ% €hÔ?þ¸ ¨pwìØÑýÔ©SÇjÔ¨ázg«÷Š+lÉ’%¦A&õ£@»D‰Ö£GëÒ¥KŽ^#ÁvŽr²3@@ ”Á6Ávz 9@H\U«V¹ØcÆŒ1õÆö­xñâ®–¶joïܹÓ϶J•*ÙYgeçž{®U«V-˜ŸSÛ9%É~@@(xÛÛï©äŒ@@ ¡Ô {üøñnðHõÎÖÏêÕ«mß}÷5õà®]»¶µjÕÊÚµkçÊ—äÖÅlç–,ûE@@ ÿ¶ ¶óÿ)ä @@\ ØÎTv‰ € €@ Ø&Ø. "§ €ä¬ÁvÎz²7@@ ’Á6ÁvAz9@@ ǶsŒ’!€ € Pà¶ ¶ ÜCÉ !€ €9!@°Šì@@‚)@°M°]0ŸLÎ @ȦÁv6Ù@@,@°M°]€ON @ȺÁvÖíØ@@‚.@°M°]ПQÎ@È’Áv–ØØ@@„ Ø&ØNˆ•“D@â ØŽWŒõ@@H‚m‚íÄyZ9S@@ ‚í8°X@@ Ø&ØN°G–ÓE@2'@°9'ÖB@@ ¶ ¶ñ¹åœ@@½ l@@HX‚m‚í„}x9q@@ #‚íŒtX† € €@b ll'öÌÙ#€ €él§Ãl@@ Á6Áv!xŒ¹@@ ­ÁvZæ € € PX¶ ¶ ˳Ìu € €Û¼A@@ P llªš‹A@¼Á¶—à@@Â'@°M°]øžj®@Ø#@°Íc€ € €@áHÚ`{òäÉ ïÓÍ•!€ €@R „ƒí"EŠXëÖ­“Úƒ‹G@@ 0 $m°=mÚ4KMMµÆ[ùòåMìÐ@@ €‚í7Úœ9s¬dÉ’¦ 4@@(Il/\¸ÐÖ¬YcU«VµºuëlŽç™«@@Û‹- ~ç«W¯^°Œ @@Hl¤ ¶·nÝj3gÎtwÏ÷ÚNì[ÉÙ#€ €„|omÍkÚ´©•)S&¼˜i@@H`¤ ¶uÏ–,Yb+W®t_MmР¥¤¤$ð­äÔ@@¼ÀæÍ›mÞ¼y®ô\õêÕ­N:~¯ € € P’:ØÖ×SUsQ½yTc[eI*V¬heË–µ%J‚ÛË% € €É#°cÇÛ²e‹mذÁ•ÑïzKEßÎc<•äy¸R@@äHê`[·x÷îݶlÙ2×s;9n9W‰ €$‡€zjתUËŠ-šÌU"€ € DIlû{­šÛëׯ7}mU=}Ô㇆ € 8úƾy§òr•*U¢¦vâÜ:Î@@¸¶ã&c@@@@@ü ØÎO}Ž € € € € ·ÁvÜdl€ € € € € ŸÛù©Ï±@@@@@â ØŽ›Œ @@@@@òS€`;?õ96 € € € € €@ÜÛq“± € € € € €@~ lç§>ÇF@@@@ˆ[€`;n26@@@@@ÈO‚íüÔçØ € € € € €q lÇMÆ € € € € €ù)@°Ÿú@@@@@ n‚í¸ÉØ@@@@@ ?¶óSŸc#€ € € € €Ä-@°7 € € € € €ä§Áv~êsl@@@@@¸¶ã&c@@@@@ü ØÎO}Ž € € € € ·ÁvÜdl€ € € € € ŸÛù©Ï±@@@@@â ØŽ›Œ @@@@@òS€`;?õ96 € € € € €@ÜÛq“± € € € € €@~ lç§>ÇF@@@@ˆ[€`;n26@@@@@ÈO‚íüÔçØ € € € € €q lÇMÆ € € € € €ù)@°Ÿú@@@@@ n‚í¸ÉØ@@@@@ ?¶óSŸc#€ € € € €Ä-@°7 € € € € €ä§Áv~êslrQàãi«lÐg ¬|™â6ð‚æV£b©\<»F@@@@ ï¶óΚ#!§}Çα¯g¯uǼëôÆvì•óôø @@@@Ü ØÎ-Yö‹@ ¬Ù”j¼?ÇjU*m—µ­c/~µ("Ø.Wª˜ ›´ÄêU)kÝÛïŸÇgÇá@@@@È9‚휳dOä«À3Ÿ/°÷§¬tçP²xQS½vó÷¾æž°{ùúmÁù 8¯™T§|ðž @@@@I€`;‘îçŠ@c~YaϹ0ƒ5þ»(eOà­šÛu«”Ù뺬€ € € €þǰþ@IDAT €@A Ø.ˆw…sB ‹Ó—n´ç¾XhsVnN³‡"EÌÚ7ß×.;f?Û§l‰4Ë™ € € € €@¢l'Êâ<È„Áv&X@@@@ á¶þrüW€R$<  € € € €É"ÔÁöÊ•+íõ×_îu… ¬[·nÁûŒ&¾ûî;›4iR°Ê%—\bÕªU ÞƉÇÜþùçwi 4°³Î:«À_æ˜1clÞ¼yéžg‘=õ9êÔ©c 6´Æ›žDm ™¨wŽóF@@@ˆW ©ƒí3fX×®]³š5kÚØ±cƒ÷M¼ôÒKöüóÏ« 6Ìš6m¼Ïê„ÂòÙ³g›ŸþùVºtéà}~N~øá¶{÷nw ÇsŒ=ñÄùy:™:v÷îÝmâĉ™Z·dÉ’vÕUW¹g¢hÑ¢™Ú&§WÊÎý_³)ÕxŽÕªTÚ.k[Ç^üj‘}={­;Å»Nolåö 9lÒ«W¥¬uo¿NŸ:ûC@@@@ ϶ X°ýàƒÚ»ï¾<ãÇ·}öÙ'xŸŸ…=Øö¶G}´=ùä“þmž¾æäýï;vND°}ì•óôZ8 € € € €¹%@°Å`{Ê”)6yòäྜyæ™V¥J•à}V'r2ØÌê9¤·Ý!C‚R$uëÖµ“O>9½U ÌüèÛ­[·6»šzŸoܸѦNjk×þ·g³?ñ~ýúY»víüÛ<{ÍÉûÿñ´U6èóV¾tqxAs«Q±Tž]B@@@@ 7¶³lçÖMÉÉ`3·Î1‘ölß{ï½vúé§G\‚î‡~ØFÌoÑ¢… :4xŸWÜÿ¼’æ8 € € € €‰,@°Å`û÷ß·ß~û-¸÷;v´Ê•#K=,Z´ÈÆgsçε¿þúËŠ/nU«VµV­Z™ÖTøÁØßÿmŸ~ú©iß¾]sÍ5V¶lY×¼C‡~¶{]³f«=kÖ,7@â~ûíg-[¶´6mÚ¸#VÞóæÇtç¢ùªÛ}öÙg»óR¹õ@×ñëׯo|°µoß>zs1bD0¯víÚvÜqǹ÷ÙݯßéêÕ«í‹/¾pׯé&MšØ¿þõ/S ”¯¿þÚ–,YâV­T©’zê©~³ _3lk›7o¶ã?>葞’’b_}õUš}oÙ²Å&L˜`sæÌq–%J”°FÙ`'žx¢»ÇÑÅòIMM5Ýóo¿ýÖõ?å”SlëÖ­qÝÿèãð@@@@d ØÎb°½·Á# ”aßR¥J¹^„Qíœsα… ¦ûÜ5oÞÜ^}õÕ`ù'Ÿ|b<òˆ £ƒ™ÿ›P€~çwÚgœ±è¡‡ z%«n÷+¯¼b×_½-[¶,b=½QHÛ·o_Spë[z5¶³»_í_e]n¿ýv[·n?œ{-R¤ˆõîÝÛ¾ûî;ûòË/ݼ† Ú[o½±^zo2lk{•VY¿~}°«o¾ùÆÊ”)¼ÿþûïÉòå˃yá ÜÿùϬY³fáÙí£s¿ùæ›mæÌ™ÁzúPbñâÅÁûè‰èû½œ÷ € € € €$“Áv.Û*i¡0Ó·êÕ«»ÞÇ DÕ{[¥/Ô@+¬>ðÀã ¶£Cuœè׫¯¾Úºuë̬ ÖË•+çzl+DMÜwß}vÚi§s3lge¿³g϶®{îÃÎ;ƒcEOT¬XÑ6lØàfçF°½jÕªˆ^àê}¯Þó¾iZì­-ZÔìz½ûuÃîú@á ƒr=Ðýr½l‡5˜F@@@@ c‚í\¶o¹å– ¸¬V­š½ûî»V²dIw'T¾äòË/îŠÝ›nºÉvìØáÊ`¨Öóûï¿,ÿè£L¥7˜*Ÿ?¾]xá…n}­¤ß×]w©4ȤI“\¹_"¥X±böÞ{ïY5Üþ«fh¹Âï¶mÛºPùµ×^³Ï>ûÌ­«9ä{ñŃ÷™ ¶µr¼ûíÑ£‡©w´o*‘òïÿÛ•jùå—_¬OŸ>A¨­ur:ØVÉCåX|;ꨣ쩧žro5À¤zÔû&UÆE½È>úhwd6pàÀà‹ ØðáÃÞîÑîþµjÕrjèý=÷ÜãÊÃìíþûmyE@@@@ ™¶s!ØV _ÞC¥,TzB!¦o ›Us[MÁw¸WôÞ ‡Àª‡=räHzû}/]ºÔÎ:ë¬ d½à‚ ¬gÏžnqtÀª€\!¼oÛ·owµµUoZMç¦`Ý·ÌÛñìWu³;uêäáêi?ûì³Á{M¨FµÂ{ß²lëšÊ—/ïv¥žóª+îï…߿ʟ¨'½/)òüóÏ›zÉûÖ¯_?k×®ë^_ýunû™wÝu—»zí®(î¸ã;óÌ3ýêÁëÞî°" € € € €$±Áv.ÛáÛz¶Ô[[-zè¡® …j1«v¬¶·`Sµ¯ƪ)ÀVpÝ´ßk»J•*¦zÜjÑ«zc«Wv¸©tɯ¿þêf©çµêJ+èUËl°Ï~5@£Þu »ÖŒnzPW®\éfg'ØŽÞoô{]ëW\a´Ó7ÕÃÖ j*Q¢A£ïŸzu+ìöåTÔëÜ—.‰vתūííþÇÚ†y € € € €$›Áv.Ûþù§«míèè‡J¥ETBäÒK/µú{z]‡[FÁftèðvéM+€U8­×è€U%RêÔ©±i¯^½‚Aµ@½¥}ˆ›Ù`;žý6Ìž|òÉà† âÂÿ`Æÿ&4ÿüóÏî]nÛºÆý÷ßßn½õV÷Døø§Ÿ~ºù#£Ë³„× ÷Ô?øàƒƒ^ÞÑîê‘.ËX-£ûk}æ!€ € € € ŒÛ¹lëAZ³f«w­ú˾,Iô¦0uÀ€vì±Ç‹2 6gÍše_|q°nf'Æo´0:`UOnõè·Ûn»Í&L˜ÌÊJ°Ï~ß|óMgà¨[·ní߯×^{­ýôÓOî}v‚mÕÊnÓ¦M°_ÝÕ'W¨­ÚÙ±šji«L‹š¦ÃA|xýóÏ?ß ªyuëÖ5 "ªí>fÌ7X¤[õOF÷?jUÞ"€ € € € ´Û¹l‡Ÿ(Õ½ž3î~å½Ý¿¯ € € € €$³Áv.Ûª©Ý­[· |NïSq™ ®}›2eŠÛÖ—æðó›7on¯¾úª{ûóÏ?ÛwÞÔœöë„_j?ðÀÖ¾}û`vfÖü¶u‚ªaݳgO[±bEp¾š([¶¬\räÈ‘®g»æåG°­nûZÛ:XM¥gT&%%%Xœw¿rfî¿_—W@@@@’U€`;‚m=LË–-³¡C‡Ú¸qã\/ëð¦ÈǼ]qÅ.¤ /Ó´j8«÷‚ ‚Eá`[3Õ+[ê—_~i[·n ÖÓ„ÂUíû°Ã‹˜Ÿ™€5¿‚m¨®cúôé®þ¸®O½¢U–¤jÕª®×»àTS‰Ùf¦uïÞÝ&Nœ¬š•Á#ýÆÄRõ¿GŒ é—U«VÍ} Ñ©S'WŠÄÏ×kfÜÃëgæþ‡×g@@@@dHê`;/n¶Êk,^¼ØV¯^m FÒj0ÇråÊíõð*;¢ U³¹R¥J®”IôFêÙ­â ÁÕ¼V­ZîÑëÔ÷ª­^ʾé:UV%ÜT7ü¤“N²;wºÙíÚµ‹L2¼n^M¯]»ÖæÎkª‘®ä²Ïé–™ûŸÓÇd € € € €$‚Áv"Ü¥B~Žçwž«®ËÔ šÃ‡·úõëWýþûï›ê‹û¦6;vìèßòŠ € € € €I&@°d7¼ ^î!Cì™gž NMe=Ú¶mkuëÖu½¢UšC=»Õ4oÔ¨Q¦A5i € € € € œÛÉyß ÔU+´îׯŸ3&ÃójÓ¦SÁ7 @@@@’W€`;yï}»ò~øÁÞyç›:uª©†µê‡—-[Öš4ibª«}Î9çÐS»ÀÝ5N@@@@¼ ØÎ{sŽ˜ ÔÔTb/^<k³  € € € €$“Áv2Ým®@@@@(Û…à&r  € € € € €@2 l'ÓÝæZ@@@@@B @°]n"—€ € € € €$“Áv2Ým®@@@@(Û…à&r  € € € € €@2 l'ÓÝæZ@@@@@B @°]n"—€ € € € €$“Áv2Ým®@@@@(Û…à&r  € € € € €@2 l'ÓÝæZ@@@@@B @°]n"—€ € € € €$“ÁöÿîöÖ­[mýúõ¶yófÛ²e‹íر#™ž®@Hx%JXÙ²e-%%Å*UªdeÊ”Iøkâ@@@ ¶@ÒÛ»wï¶eË–ÙÊ•+c 1@@ !ªW¯nµjÕ²¢E‹&äùsÒ € € ¾@RÛÿüóÍ™3Ç6nÜhEŠ zö/^ÜŠ+–¾K@@ œÀ®]»lçÎæ¿‰§ßõÊ—/o7v¿ë¸æ„@@@ ËIl/Y²ÄõÔ.Y²¤Õ¨QÃôõUÜþ'˪lˆ € ç ²ýÊÊ­X±ÂRSSM=·ëÔ©“ççÃ@@@ ÷’6ØVOž™3g:ÙýöÛÏJ•*åzi«§6Ávî=pì@È-j«ç¶~¶oßn‹/v‡kÚ´)5·s žý"€ € Il/\¸ÐÖ¬Yc•+W¶ªU«ºÞÚ µUƒ‘`;žD‰ €dSÀÛCEÁ¶zmë÷½µk׺ß÷êÕ«—Í#°9 € €¤ ¶§M›æ¾šZ¿~}KIIqÁ¶µ ÊÍá<@@âPÀ­p[ÁöæÍ›mÁ‚¦ÒstPü;c @@(IlOž<ÙÕ`lÒ¤‰ûCGFª§6 @@ ñnk IÕØž5k–û=¯uëÖ‰a\ € €8¤ ¶ùåмysl«·6 @@ ð¨×¶‚íéÓ§»‹jÓ¦Má¹8®@@$Hú`[_I-Q¢½µ“ü?.@ Ÿ€zm«‰JЩl¾{Ì!€ €$¯Á6Ávò>ý\9 €j‚íB}{¹8@@$ Ø&ØNòÿ¸|@(¬Û…õÎr] € €˜llóß € P(¶ åmå¢@@pÛÛü§€ €H]»v™€ÔšûÖO±bÅ2u¾Û™bb%@@R€`›`;!\N@ §ÀÎ;mË–-¶uëVÛ¶m›ü1lkÐïÒ¥K[™2e¬lÙ²V¼xñt!¶Ó¥a € € /@°M°ð1€ €…C`óæÍ¶nÝ:KMMµ’%KZ¹råܯzoÚ´ÉýøuöÙgKII‰ @°“…™ € € ‚m‚íBñ s € Ø7n´µk׺2#5kÖÜk¹•)Y¾|¹éµråÊV¾|ù4ÛiH˜ € €@¡ Ø&Ø.43‚ €‰) žÚkÖ¬q½´jÇÓn«÷vÕªUÓôÜ&ØŽG’u@@H,‚m‚íÄzb9[@(T*/²bÅ 7@dݺu³tm‹-rƒJÖ¨Q#¢æ6Áv–8Ù@@„ Ø&ØNˆ•“D@Â)ð÷ßÛêÕ«­~ýú{-?’ž€Ê‘,X°ÀöÝw_«P¡B°Áv@Á € €…N€`›`»Ð=Ô\ €$ŽÀÊ•+mÛ¶mV¯^½lôÂ… ­téÒV½zõ`?Û € €:‚m‚íB÷PsA € êi­2"•*U²}öÙ'æIoß¾Ý}ôQ·ì¶Ûn³R¥JÅ\oݺu¶~ýzS9“bÅŠ¹u¶cR1@@B!@°ÇÁ¶þÀZ¶l™©w’þ˜«V­šëY¤F5m÷×_™HÚ²e‹ÛFƒ+¥÷Ç]x_›6m²¥K—ÚÚµkÝ×sÕ“©J•*V¤H‘ðji¦³sÌ4;c € %°cÇûóÏ?­Q£Fµ±ýjT²W¯^6kÖ,7«I“&6`À€4ƒDj¡juÏ;×6lh%J”pël;þA@@ P lça°­?ÊÞ{ï=l‡Ÿ&õ*:ñÄ­C‡Ábáå‹/¶#FÄÜ®cÇŽvòÉ'»“ÂÛhzëÖ­öñÇÛ·ß~ëþØ /¯]»¶uéÒÅÕ³ Ï÷ÓY=¦ßžW@@`oê=gÎkÑ¢EšUávÙ²eÝr}¸¯p»ÿþV®\¹4ÛüþûïÖ¸qãàƒ‚í4DÌ@@@ ÐlçQ°ýÇØóÏ?o»wïvˆ5kÖÌ…ÑÓ§O·7ºªyóævÕUWE<\úzîO<á¶+S¦Œûc­|ùò6þü è>ôÐCí’K.‰ØNÇyî¹çlöìÙn¾zB)Ì^²d‰Í›7Ïô‡^Ñ¢E­{÷îijZfõ˜'À@@`/ ¶õ;RË–-#ÖTI‘[n¹Åý¾£P[½´ÕÔ{[áöþûïo?þ¸+aÞð·ß~³<`;ŒÂ4 € €…T€`;‚í{î¹Çþþûo÷õØ«¯¾:â®üÑõÈÖ3¦`[·šÂgÕ”Té’5jص×^ñÜ'Ÿ|b}ô‘[WûTXîÛ¤I“ì­·ÞråF.¿üòˆ?¤¿ð ¦^Ùûí·Ÿû#Ño—cú}ðŠ €dF@Á¶¾ÑÖªU«`u•P»é¦›\¨]±bE×;[½°ÕÔ»ûÖ[oµ 6¸pû©§žŠè¹=uêT×£Û—j£ÇvÀÊ € €…N€`;‚í5kÖØ<àõ>ªW¯^šI_©UoêN8Á:uêä–«WöÀÝ´þÀSÍÈè¦ÞJ .´ƒö\Ç•W^,6l˜ýüóÏÖ´iS»æšk‚ù~B_Õ}ñÅ]ðýÈ#A{vŽé÷Í+ € XÁö”)S¬G¦P[¿ç4hÐ bWúæ™~ŸR¸­žÜmÚ´ –lL € € Pè¶ó Ø^°`+'¢§©oß¾=‹ü6xð`SY’£Ž:ÊÎ;ï<7ûƒ>°ñãÇÛ¾ûîkwß}·_5âõ»ï¾³7ß|ÓJ–,i?ü°©^·šÊ¨TÛ¶míÜsÏØFoÔ[Û­·OŸ>îGÍÏÎ1µ= @Ȭ@¬`[½¬õm6•Ñ Û±ÚªU«\iµ#Ž8"b0l‚íXZÌC@@ p lçA°­z× ¦5RtÉ=VZ®Ýk×®µ+®¸"(¢ÕêY«†¶—.]êʕ轎¡\í«¯¾²Ñ£G»ÞáêÕÝ| ®ºÛ·Ýv[°8;Ç v € XÁv&6Kw‚ítiX€ € €@¡ ØÎƒ`[OÍ{ï½g&L°*Uª¸p»zõêîaZ·n}ú駦šØ•+W¶;î¸Ãõ¾ÖBÕ×Vpݾ}{ÓŠÕ¶nÝj½{÷v‹®»î:7`’Þh¿Ú^,uìØÑíC½¹¢«'÷ˆ#Ü •;w¶cŽ9&ØuvŽì„ @@ Û™@b@@ˆ)@°GÁ¶ôUVäÃ?t_™­U«–/^ÜÕÇÖWnU?Rƒ<–/_>¸Q÷ß¿ëÅ­šÛª½^ëÞ½»hò²Ë.³ƒ>8XMµ½Õ{ÅŠn¿€rùòå¦A™r«ä‰¾ÂnÙ=fx_L#€ € lg¤Ã2@@ÈH€`;ƒíÉ“'Ûo¼a©©©iîI£F\¯ìðIÿùÏÜÀHgŸ}¶wÜqi¶ñ3Tjd×®]Öµk׈”Túäµ×^s=´ýºþµtéÒ.,?ñăâZ–ÝcúýóŠ €ìM€`{oB,G@@ô¶ó ØÞ¹s§½ýöÛöý÷ß»û ^ÕMš4±””Wjä›o¾qõ·‹-jêuݲeK·ž™3Ûc;lÿùçŸöꫯº`¼B… nÉš5kºãL›6Í T©ƒ(HW “%Jdû˜nüƒ €dR€`;“P¬† € €i¶ó Øö9J?º\ˆæ©gõ“O>i+W®4…Ð÷Þ{¯+SÒ§Oû믿ì´ÓN³víÚiÕ4M=µýà*eÒªU+Û±c‡iÛ¿ÿþÛ yýõ×[©R¥"¶8q¢ Û53Ü#<«ÇŒØ9o@@Llg‰U@@@ ¦ÁvÛ=ö˜-Z´È…Î Ÿcµyóæ¹p[ËDpÀÖ¿[²d‰©\È™gžk37äÝwßí–ùí¦OŸnƒvón¿ývS=ïXí™gž±Ù³g»^Û7ß|³[%«ÇŒµæ!€ € lg¤Ã2@@ÈH€`;‚í;ï¼ÓõÊΨ¤ÈîÝ»­W¯^®Vö…^èu|ùå—í·ß~³fÍšÙÕW_ó>Ι3Ç ä–©tI•*UL¥MFeª£ýðûÁ*cmÿüs{ÿý÷Ý¥¯ÇÖ©SÇ…ÎË—/·5kÖ¸ù —Õ£»dÉ’î½þÑWm5øä¶mÛܼJ•*ýÿöîJ®ºÎø¯;éìKC²Ö„°ƒxø0 ²ù@pžÛˆ:"003 ¾QtÜp @€¨ÁvÁvýÜ>®„ Ðôôômé‡î»ï¾ûN+J³º¯¼òÊìØ‡>ô¡HKºíl[»vm6 =¤ø nÁöΤ|G€ @ >Û‚íú¸“] P“Ë—/^Ùß‹H–L¡÷ìÙ³»ªlwQØ!@€ Pw‚mÁvÝÝÔ.ˆ¨´ÌZz˜öAÇïWÇwìØ‘=‹dúôéÙìïb%‚í¢„w @€õ' Øl×ß]íŠ @€šH»^¶lYjÏ;·_ý~ôÑG#…Ûûì³O¤ç‰7ÁvQÂ; @€úl ¶ëï®vE @€@Ítttd¸^±bE477gát9O¡xKKKÌœ93{(wcccWqÁv… @€u' Øl×ÝMí‚ @€ÚhmmÕ«WgK’Œ7.[oû•–%I3´ÓºÚ›6mŠ´É{ì#FŒèvá‚ín> @€¨+Á¶`»®nhC€Ôž@  ·mÛ/¼ðB<÷ÜsÙ²"'NÌf`§÷¦¦¦ì¢ÚÚÚbýúõÙ ïôžÂï©S§Æ¤I“bÔ¨QÑÐÐÐíâÛÝ8| @€ PW‚mÁv]ÝÐ.†¨M´$ÉöíÛcóæÍÙÒ"i&ö–-["…ÙíííÙE 6, ¹ÇŒifwZºdìØ±1räÈ(]‚¤( Ø.Jx'@€ P‚mÁvýÝÕ®ˆ¨Ib–&IK¤ ;½§Ð;m)¼N³´SÞÓÒ#i6wÏ™ÚÅ‹/Ö·dÉ’ì«£Ž:ªxÈ; @€5. Øl×ø-¬û @€@½ ¤ ;ÍÒNï)œN¯´¥;½RÀfoïl–v©…`»TÃ> @€úl ¶ëëŽv5 @€? ¶Ý  @€êW@°-خ߻ە @€CZ@°=¤‡ßÅ @€Ô¹€`[°]ç·¸Ë#@€†ª€`{¨Ž¼ë&@€ ‚mÁöP¸Ï]# 0ÛCpÐ]2 @€Àl ¶‡ÌÍîB  @€¡% ØZãíj  @€†–À ¶ï¹çžHÿØ9T°=´îxWK€ Ò`»¡¡!^õªW ™kw¡ @€ê]`ÈÛK–,‰ÖÖÖ˜3gNŒ?>Ò?vl @€õ#‚í7ÆÒ¥KcĈÙ„†ú¹:WB€ @`h Ù`û©§žŠçŸ>&Ož³gÏlí¿®ž¨Cl/_¾¼ëÿùöÚk¯:¼J—D€ @`h Ù`{ëÖ­ñÐCe£^œµ=4oWM€¨Oâlítux`Œ=º>/ÔU @€‚C6ØNcýÌ3ÏÄsÏ=—ýjê¾ûîcÇŽ‚·€K&@€ÔŸÀæÍ›ã‰'žÈ–ž›:ujÌš5«þ.Ò @€ÂC:ØN¿žšÖ\L³yÒÛiY’‰'Ƙ1c¢©©iß. P{mmm±eË–X¿~}¶üHú½ô,•ôÛyž§R{ã©Ç @€^N`HÛ ¦££#V®\™ÍÜ~9(Ç @€jK ÍÔž1cF466ÖVÇõ– @€WòÁvQ(­¹ÝÒÒé×VÓLŸ4ãÇF€ P;é7îÒoÞ¥ååš››­©];C§§ @€Êl—M¦ @€ @€ä) ØÎS_Û @€ @€ P¶€`»l2 @€ @€ @ OÁvžúÚ&@€ @€ @€²Ûe“)@€ @€ @€y ¶óÔ×6 @€ @€”- Ø.›L @€ @€ÈS@°§¾¶  @€ @€ @ lÁvÙd  @€ @€ @€@ž‚í<õµM€ @€ @€e ¶Ë&S€ @€ @€òl穯m @€ @€([@°]6™ @€ @€ §€`;O}m @€ @€ @€@Ù‚í²É @€ @€ @€<Ûyêk› @€ @€Êl—M¦ @€ @€ä) ØÎS_Û @€ @€ P¶€`»l2 @€ @€ @ OÁvžúÚ&@€ @€ @€²Ûe“)@€ @€ @€y ¶óÔ×6 @€ @€”- Ø.›L @€ @€ÈS@°§¾¶  @€ @€ @ lÁvÙd  @€ @€ @€@ž‚í<õµM€ @€ @€e ¶Ë&S€ @€ @€òl穯m @€ @€([@°]6™ @€ @€ §€`;O}m @€ @€ @€@Ù‚í²É @€ @€ @€<Ûyêk› @€ @€Êl—M¦ @€ @€ä) ØÎS_Û @€ @€ P¶€`»l2 @€ @€ @ OÁvžúÚ&@€ @€ @€²Ûe“)@€ @€ @€y ¶óÔ×6 @€ @€”- Ø.›L @€ @€ÈS@°§¾¶  @€ @€ @ lÁvÙd  @€ @€ @€@ž‚í<õµM€ @€ @€e ¶Ë&S€ @€ @€òl穯m @€ @€([@°]6™ @€ @€ §€`;O}m @€ @€ @€@Ù‚í²É @€ @€ @€<Ûyêk› @€ @€Êl—M¦ @€ @€ä) ØÎS_Û @€ @€ P¶€`»l2 @€ @€ @ OÁvžúÚ&@€ @€ @€²Ûe“)@€ @€ @€y ¶óÔ×6 @€ @€”- Ø.›L @€ @€ÈS@°§¾¶  @€ @€ @ lÁvÙd  @€ @€ @€@ž‚í<õµM€ @€ @€e ¶Ë&S€ @€ @€òl穯m @€ @€([ +Ø^±bEgÙ¥ @€ @€ @€ƒ,pÞyçEccc4¶Y^s @€ @€ Ð/®`»³°õ«… @€ @€ @€À t-E"ØDuM @€ @€ @€@¿Ûý¦S @€ @€òlç¡®M @€ @€è·€`»ßt  @€ @€ @€@‚í<ÔµI€ @€ @€ýl÷›NA @€ @€ÈC@°‡º6  @€ @€ @ ß‚í~Ó)H€ @€ @€y¶óP×& @€ @€ô[@°Ýo:  @€ @€ @ ÁvêÚ$@€ @€ @€~ ¶ûM§  @€ @€ä! ØÎC]› @€ @€ ÐoÁv¿é$@€ @€ @€<^óš×DCCC4t¶<: M @€ @€ PŽ€`»-ç @€ @€ @€@î‚í܇@ @€ @€ @ Áv9ZÎ%@€ @€ @€ÜN>í ÑØÐhíÜGB @€ @€ @ O‚í>19‰ @€ @€ªE@°]-#¡ @€ @€ Ð'ÁvŸ˜œD€ @€ @€Õ" Ø®–‘Ð @€ @€è“€`»OLN"@€ @€ @€jlWËHè @€ @€ôI@°Ý'&' @€ @€ @€@µ¶«e$ôƒ @€ @€ú$ Øî““ @€ @€ @ ZÛÕ2úA€ @€ @€}l÷‰ÉI @€ @€ƒ-°qãÆXµjU´´´ÄÖ­[£³³s°» ½†††=zt477Ç´iÓbüøñ%G+¿»tÕÆXôðšxxå†ìõ¦ÖÊ7ª…˜4nDÌ›1!{-˜7%æLÜqïmÛ½Éøž @€ @ 7¥K—ÆÊ•+sk_ï,0cÆŒ˜3gÎ+Ÿ¸‹gloëˆkn},~pçÓÑᇻ¨¹kÅ ?Ü8ûØ=ãÂ×ï#›w­²],-ØÞE@Å  @€ @€V`É’%±víÚ­TmØ}÷ÝãÐC­HݩҶqñ×ï‰ûžj‰ªoÆ^ÑPxÙ*/ÐÙÑíéÕ¾#v´íÈ~¸pø^Íñ…s^MÃóÁvåÇ^  @€ @€}0S»PUtZ%gnñgÆ·ïX^˜<,†êèʇ^W::ÚcGëöØÞÖo?nvüí©ssClçF¯a @€ @€R 6Ľ÷Þ[ú•ý8òÈ#c„ ÚÛ'VoŠw]sg¡ÎÎÂÚÞc¢q˜P{@ûYYG{{aÍû-…Ò qý…ÇÆ¾{ŒëgM»VL°½k~J @€ @€ €ÙÚ™C5•˜µ½ðæ‡â¦»WĈ¦1rÔÈ®J“½ lß¶=ZÛZãÌ£fƇßx`o§Uô{ÁvEyUN€ @€ ÐWŋǖ-i&¨­ÖÆŒóçÏÐn¿ùê߯ª–m1vÌØÂlíüÖrЋª“Ê:Ú;bó–Í1­yTÜðþãs¹*Áv.ì%@€ @€è)°hÑ¢èìììùµÏ5 ÐPx°ã‚ ´§ÇêÖìA…ãÇO«^تI ð×tã¦Ù=ûÉ×çÒ3Áv.ì%@€ @€è)ðë_ÿºçW>×Àk_ûÚíí«/ÿeVßøñ…`ÛVu7nÌúô»ËOÊ¥o‚í\Ø5J€ @€ ÐS@°ÝS¤¶> ¶kk¼vµ·‚í]Tž @€ @ .Ûµ=Œ‚íÚ¿r{/Ø.WÌù @€ @€u) Ø®íal×öø•Û{Áv¹bÎ'@€ @€¨KÁvm«`»¶Ç¯ÜÞ ¶Ës> @€ @€@] ¶k{XÛµ=~åö^°]®˜ó  @€ @€êR@°]ÛÃ*Ø®íñ+·÷‚írÅœO€ @€ P—‚íÚVÁvm_¹½l—+æ| @€ @€ºl×ö° ¶k{üÊí½`»\1ç @€ @€Ô¥€`»¶‡U°]ÛãWnïÛåŠ9Ÿ @€ @ .Ûµ=¬‚íÚ¿r{/Ø.WÌù @€ @€u) Ø®íal×öø•Û{Áv¹bÎ'@€ @€¨KÁvm«`»¶Ç¯ÜÞ ¶Ës> @€ @€@] v°}óÍ7GGGG¯–MMM1f̘˜:ujÌ™3'†Þ빃u ¥¥%ŠNguÖ`5Û§vj9Ø>zï‰qô>ÍÙuþlÉšXöü–—½æáÃâ} fgçüøþÕ±ü…­/{~=l×㨺& @€ @€²ŠmÙûYà²Ë.‹;vô©ôĉãüóÏiÓ¦õéüJôôÓOÇÕW_UÕUWECCC¥š*»ÞZ¶ßyÜÌ8çÕ³²k~ì¹Íqñ·ˆöŽÎ^ F55ÆÏÏŽü‡Ä]O´ôzn¥¼eþôì>¸õ¡çãù­•n®«~Áv… @€ @€¡,W°½ß~ûÅ>ûìÓ¾³³3¶oß)H^¾|y¤ÏãÆ‹K.¹$vß}÷nçæÁve´KƒíÔ¿þæéøî]+{m¬š‚í[.=&†76ľó`<°bc¯}è‚íU @€ @€@M älŸrÊ)qê©§öjvÿý÷Çõ×_Ÿ…ÛgœqFœp ½ž[é‚íÊ÷ ¶[wtÄ…×/‰gÖmÛiƒ‚íÁöNo _ @€ @€ 5j ¶Ó8üÓ?ýS<óÌ31wîÜ¸à‚ rÁveè‹Áö³ë·Ç¶¶öØgò˜øÃ3ãï¾û`ìlAÁ¶`»2w¢Z  @€ @€jN šƒío|ãqï½÷Ƽyóâ¼óÎ{‰mzåC=>úh¬_¿>Z[[³Oî¹çžqÄGDZ£»·mÍš5ñøãgÁùºuëb·Ýv‹3fÄÑG#FŒèVì•‚í´|Ê]wÝ•Í.=ztVÇ`­Ã]kl?½vk\ù“ÇãŸßqp4Ö/ÿÒ­OÆÍ¿®Û¤} ¶'ó÷n޹ӯÆÄÑÃã…eBî/„å¯Þ\Ÿ?U9y܈XpÀ‹ËÛ<±fKü~ù†?üãÞ¸‘Ãâ”C¦dŸZ¹)^ØÜÇÏy±Ìy¯õõÆ{WŪ,˜ïˆô@ËJoflWZXý @€ @€5!PÍÁöç?ÿùX¹reœuÖY±`Á‚nž---qíµ×F ¨w¶92Î=÷ÜHky÷Ün¿ýö¸ñÆ£½½½ç¡,ÛÛÞ|p×±— ¶·nÝ_ùÊWâ©§žŠ &d»œ>}zWÙJïÔK°ý¾»?RX|öÑÓckk{œÿï÷Çê ÝÊøJÁö ó&ÅÅ'ïcF { û?Ù—ÿçÒhkïÈŽ¥ÇþßÇìÛœµwÁ¿/‰ç6lïVî£gì_¿'ÅšÂÃ!Ó)ûO Ïž×íœâ‡u[Úâm×ÜSüX±wÁvÅhUL€ @€ PKÕl§‡FÞvÛmñ£ý( š/½ôÒnܱcG¶LɪU«bÒ¤IqØa‡ÅÞ{ï=h2á¿üå/³Ü“'OŽ|ä#݆ã–[n‰_ýêWÙwtP¤W:ï±Ç‹ûî»/ Ê›ššâ¢‹.ŠÙ³ggçõloÞ¼9®»îºX±bEVGZ.e°rYOÁöÈáqí»Í£bñ²–øØ t»— ¶ßôªiqá {eK˜üø¾Õq÷S-…åM:âÀéã²°|t!ìþï'×ÂíG»Âí4£ûšw“ ³·—fuð{…%”>{’IDATPþ8«ûäƒ'Çß¶_´wt–Fy(\¹1¦O'ÿq÷;Ž…ÉåñóÖdÁ÷¶Bÿ½ÅÏvëo%>¶+¡ªN @€ @€šÈ+ØNË…ƒã"ZZZdÆ Ù,í´<ȬY³âÝï~÷KÂâeË–Å—¾ô¥H³²Sp=~üøbÙ{ñxúð©O}* ¼Ó~ªsáÂ…‘‚ñ“N:)Þð†7¤¯»¶mÛ¶Åg?ûÙØ´iS¶”É9眓ÛY°ú™Bí®Ïœ93[*¥g?º*®àN=Û‰é°YâÊ·iFuZžäÖŸïÒë-ØÞmlSüÛ{^êÆGãw­ë*“vR ýÅwãG Ïÿô‰,Œ.žpØž…öþw¡½Bƒ_¾myüÇÝÏÆôB°~Í9‡dõ}uÑòÖ·\zL olˆ|çÁx °ÜÉ`m‚íÁ’Ö @€ @€@U äl÷åCÉ– 鹜Èïÿû¸ãŽ;²5±Ó2%=·-[¶ÄÇ?þñìë|àYðœ>Üpà ‘–!Iëiÿýßÿ}466ö,ÿõ_ÿ·ÞzkŒ5*ÒLñtNÏ`»¸ ÊóÏ?Ÿ-uòÞ÷¾7;ÿ%• Âõl'²‹OÚ'N?|ذuGœ÷µû£¥°ÌGÚz ¶ÓLí4cûö¥kãnZšÛó3Ÿ{ÒÞÙÌëK¿ý`·Ãïzõ¬ø‹ãfF뎎¸ø[Äû Ë™Ì+Ìô¾«0kü…Yã%Ksw•l§ß«° @€ @€ÈI ¯`;…Õ=ëDfS§à8=2­_Âø¦7½)Ž?þø> ¥²?ýéOcñâÅÙù¥ÁöÕW_…Ô;›­ýr•—Ûþð‡³™Úiöw ¿?ùÉO¾äa“/W×@«Ç`;­‘ýå÷S ‚\ôÈ qÅËØz ¶¯~ûÁqàŒqqõ/–ÅO—ìüŽ{ŒןwDVÏ_\wo<¿éOëw§V~î-Æ!³ÆÇÖ¶öÝ4,žOëj}I®ïlÌÛ‚íݾ#@€ @€$¼‚íSN9%N=õÔ^¯²­­-®¿þúxðÁcذa‘åžëW§%Cyä‘ìÁÏ>ûl¬^½:[F¤´ÒÒ`;ÍâN³¹ÓÃ!çÏŸ_zÚËî—Ûé‘i’â––3IAy^[=ÛÉò˜}šãÓo> c½¼°¼È…åEz ¶oø›£cìÈ—>0²·1¹ø›Ä#«6u;<¹¢_[Xo;-W’¶ÿàá¸÷©õÝÎ)ý Øl—Þö  @€ @€Y ZƒíÄÎø‰O|"9ýôÓãÄOÌöS¤–ù›ßü&›áfu777gpÜc=âàƒŽ/ùËÙ¹Å`;Í¿ì²Ë²ïÒÒ!霾n¥Áv*“‚ì4›<-k2|øðlÉ’iÓ¦õµº=¯^ƒí„ô¡ÿµ_¼þÀÉñBavõù…%IväxãÅ/þ@âã?|$îz¢%†kˆ]rL¶FööÂÃ"Ûû°@Æ7/Í$Y:³'Ž/ÖáN°LÛM÷>ÿ÷WOfû;ûC°-ØÞÙ}á; @€ @€A¨æ`;|úӟΖ&9î¸ãâì³ÏÎT~ñ‹_dˤPù´ÓNËf_7®K,=„òƒü`ö¹l§—_~y¤‡ï¥zR}}ÝJƒí3Ï<3R˜ÜÚÚŸûÜçbíÚµÙC./¹ä’®ÙÝ×6ú{^=ÛF¯–$iÓTXbdM\óÿž|I°Ü¾vîáÙ?{ËcqÛÃ/”MÙ4¬1¾ðǾSÆd3¹˜öâ½T ÏwV¡`[°½³ûÂw @€ @€ƒ$PÍÁvŠÎÒ$i¶ué’ .Œ5kÖd3¸ÓLîž[oüâ¿O>ùd{ì±ñ–·¼¥g±ìsZÛû;ßùN×ò'#FŒxÉÃ#Ó ñ´-]º4®½öÚl¿´ÙƒôG=Û‰pÁ“â£gìŸi^þŸÆåoš›í—†Îÿðgıû6Ç×÷L|ãŽÙñž¤™ØÖáNÛ’g6f³¿‹ç\ðº½âÍGM‹5…uµÓÌð‹NÜ;N>xr¬ßÚ|mI¬ûãÃ+‹ç§wÁ¶`»ô~°O€ @€ 0ÈÕlßqÇñƒü 9ÿüó〈ööölI‘«½óïŒ#<ò%b¥åJglÿüç?ŸýìgÑÔÔûØÇ¢t–w±’bø½ÿþûÇ…^˜}]:cûª«®ÊhY<ÿ{ßû^ÜyçÙ’$ïÿûcúôéÅCƒò^ïÁvBüäYsãÕûï–-I2i܈̵4Ø>åà)ñNÛ7  ÿò_îËÙÿÝÿsV¼ãÌŒë¶Å{ÿõ¾®ÃGí=1®øóy‘~Tñ‘ºÚ÷ÖÕWX¯ûºÂLñÉ…¶þûÉõñ±ÿx8:»J¼¸#Øl÷¸%|$@€ @€L¼‚íN8!Ò«ç––iii‰?üáqÛm·e³µçÌ™õWÕuêW\‘-’ÖÉ~Ï{ÞÓµHŠÚ/^?üá³¥BR‹.º(öÛo¿¬ìöíÛã3ŸùLö€É3fÄûÞ÷¾˜8qbW½wÝuW|÷»ßÍ>ŸsÎ9qÄGdû/loÛ¶-®¼òÊX¿~}.K’ …`{÷±Mñ•¿<< œ‹ƒUl§ ô×¾ë°Ø{òèx`ÅÆXøãÇbõ†ÖìÔtìÐYâ3~@¤%G¾öÛ§ãÛw®ÌŽM,,urí»‹Tÿ-÷¯Ž/übY±ú8zïæBàýâÃ+¯»í©¸áîU]ÇÒÎ÷/:*ÒR)_øå²¸å¾ÕÝŽUòCZJ'm¿»<Ÿ–ž|Ú¢±¡1 Ùz†ý•¼nu @€ @€è&W°Ý­/óaÖ¬YYx½Ûn»uUœy¾HÁôìÙ³#Ì«V­ÊÖÐ>äCâ…^ˆgŸ}6¦L™’­‰]\SûÁŒo~ó›ÙùiI‘™3gfu¬^½:[Þ$ÕyÌ1ÇÄ[ßúÖ´›m/l§R_ýêW³sÓšß'Ÿ|r¶? …`;9žzÈ”øÀ©ûv‘–ÛéË¹ÓÆf3»Ó,ëöÂC&—¯Ýš…ÛN—Ðéœ4ûú…‡N¦ãiKËš·ßnñ܆íÙ’#[ÛÚ³ï‹\zʾqÚ¡S¢­½#.þæñÄš-ÅCqÕ[*æã³Ïéøó›Úâ=ÿòû®ã•ÚlWJV½ @€ @€5%PÁöøñã#ͨž;wn,X° kFv6ÍêþÉO~·ß~{¤YØÅ-…Üiøk^óšX´hQÜtÓM‘敦:Î:ë¬âiÙlï´Äɲe˺fv§ƒ©Ý´Vöüùó»µùJÁv*û­o}+î¾ûîlmî´$Iêÿ`lC%ØN– ÏžGîõâ ûžÁv:žfPÿua}ì£ Ë‹Œ5<}•m›¶íˆÿ(̸¾áîgc[[GöÝé‡ïŸ´O¶ÄÈeß{(î{zÃÏþÓÛ˜…%I 3º÷˜0" Êÿæëˆí;^,Ÿ4ùׯß;{àd:¯¥°÷[¯¹çO…+´'Ø®¬j  @€ @€jK`°ƒíÔimmÍffoݺ5¦NcÇŽíVýºuë²™ÙéXccc·céC ÈÓÌîM›6ŤI“b„ /9§Ú¿¨å`»’¶{LÓ ¯5·ÇêÂC!‹³´+Ùæ`Ô-Ø em @€ @€T½@-ÛU;lr5!Ø®¢ÁÐ @€ @€üÛùÙDË‚íP¬:Ûµ3VzJ€ @€ PAÁvq¡jÁö WQ‚í* ]!@€ @€ÈO@°Ÿý@´,ØÅÚ©C°];c¥§ @€ @€lWwªlr5!Ø®¢ÁÐ @€ @€üÛùÙDË‚íP¬:Ûµ3VzJ€ @€ PAÁvq¡jÁö WQ‚í* ]!@€ @€ÈO@°Ÿý@´,ØÅÚ©C°];c¥§ @€ @€lWwªlr5!Ø®¢ÁÐ @€ @€üÛùÙDË‚íP¬:Ûµ3VzJ€ @€ PAÁvq¡jÁö WQ‚í* ]!@€ @€ÈO@°Ÿý@´,ØÅÚ©C°];c¥§ @€ @€lWwªlr5!Ø®¢ÁÐ @€ @€üÛùÙDË‚íP¬:Ûµ3VzJ€ @€ PAÁvq¡jÁö WQ‚í* ]!@€ @€ÈO`Ñ¢EÑÙÙ™_´Üo†††X°`A¿Ëï¬àñŸº5: ÷Ãøqã#vv†ïr(ü5ݸic4Æý·Ÿ|}.Ý8ù´7ÚoŒ†Â4üW#—!Ð( @€ @€@X¼xqlÙ²F Œ3&æÏŸ? =óÕ¿U-Ûb옱Ñ8¬q@ëVÙ® t´wÄæ-›cZó¨¸áýÇïZeý,-Øî'œb @€ @€+°téÒX¹råÀVª¶A˜1cFÌ™3g@ÛZxóCqÓÝ+bDÓˆ9jä€Ö­²]ؾm{´¶µÆ™GÍŒ¿ñÀ]«¬Ÿ¥Ûý„SŒ @€ @``6lØ÷Þ{ïÀVª¶A8òÈ#c„ ÚÖ«7Å»®¹³PggŒ=¦0k{Ø€Ö¯²þ t´·ÇÖ­é7+âú }÷׿Šv±”`{'@€ @€8³¶Îr°jªÄlíbß¿ø³GãÛw,‘MÃbøˆ‘ÑØ(Ü.ÚäñÞÑÑ;Z·Çö¶öxûq³ãoO›G7²6_ûº×EgG‡5¶s  @€ @€tX²dI¬]»¶Ûw>T§Àî»ï‡zhÅ:×¶£#.þú=qßS-Ùƒ ‡7 aà ¯ÆÂC /[åRxÜž^í;bGێ잇ïÕ_8çUÑ4<¿1lW~ìµ@€ @€ P¦€™Ûe‚åpz%gj—^Îö¶Ž¸æÖÇâw>…ª¥Çì®@cCCœ}ìžqáë÷/Ì¢Ï/ÔNW-Øܱ× @€ @€@6nÜ«V­Š–––š¾[£³³³%V †B¨9zôèhnnŽiӦŸñã+ÑL¯u.]µ1=¼&^¹!{½°©µ×s8IãFļ²×‚ySbδÁ÷Þ®D°Ý›Œï  @€ @€ @ *N?ýôšë…%i ?ñò#¯ª""@€ @€ @€RÁv©†} @€ @€¨zÁvÕ‘ @€ @€ @€@©€`»TÃ> @€ @€T½€`»ê‡H  @€ @€ @ T@°]ªaŸ @€ @€ª^@°]õC¤ƒ @€ @€ P* Ø.Õ°O€ @€ @€U/ Ø®ú!ÒA @€ @€(8ãŒ3¢¡¡!: [éû @€ @€ @ ÛÕ8*úD€ @€ @€½ ¶{¥q€ @€ @€ªQ@°]£¢O @€ @€ Ы€`»W @€ @€ @ ÛÕ8*úD€ @€ @€½ ¤`»±±1: [¯g9@€ @€ @€ªD@°]%¡ @€ @€ Ð7ÁvßœœE€ @€ @€U"ðÆ7¾1,ER%ã¡ @€ @€ ð ]Áv{{{gZlÛF€ @€ @€ªU ££#Î:묹zõêÎ)S¦Tk_õ‹ @€ @€Äš5kâÜsÏaÆEïýëÎ `!@€ @€ @€U+°hÑ¢¸êª«bäȑѰpáÂÎË.»¬j;«c @€ @€ @àÿñãöÛoqãÆECa±íÎë®».¦OŸN† @€ @€TÀ³Ï>\pAÖ¯I“&½l{ì±ñÑ~´ê:«C @€ @€ @àŠ+®ˆ;ï¼3F&Lˆÿ>P£@sTÌÛIEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/plone-ready.png0000664000175000017500000012777313656750211026062 0ustar zuulzuul00000000000000‰PNG  IHDRÞ@c¥±² iCCPICC ProfileH‰•WXSÉž[R -)¡7AŠtЫ€t°’„ !¨ØË¢‚kAÅ‚]±­µ"Š…E°`÷ˆÊʺX°¡ò&t}í{çûæÎŸ3çœùÏÜs'3¨;²óósP rE…â¸ÐfJj“Ô (@P°ds$ùþ±±QÊpÿwy×YÃ^ë_Çÿ«hryH,Ä\ 'âcຜ|q!„¨7›^˜/Ãýk‹!Aˆ¸ óXW†3xŒÜ&!.bd*›-æ &ãÍ,âða5GGW(‚x3ľ› ñˆÇäææA¬N†Ø:ã»8ü¿Å̉ÉfóG°"¹ƒ„’üöÌÿs9þ·äæH‡ç0…*‡ÅÉr†ë¶7;/R†©ŸeDÇ@¬ñ%!Wn/Ã÷Ò°D¥}G× 0@— ±Ä iv¢¿;³År_hF Ô8Cœ§Œ‰r¢£”q– xáÃx+O?l“) ‡Vz¬X¬à‰6 “¢!Vƒ¸M’©ô}T,Œ¶KãdœÍ!~›)‰SØ`º¹’á¼0[>¬ŒU(HSøb)òiòuò3ò Š†Š…Š—JŒ We¦ÊJ•]* *×TzT)š+Š%’EY@Ù@9H¹@y@y£ªªjªê©:QU¨:_uƒêaÕKª]ª©ZT[j u2UJ]AÝC=K½K}C£Ñ,i,Z­¶‚VM;O{Dû FWsP WãªÍS«T«U»®öR]EÝBÝ_}ªz±z…úQõkê}*–l¹•'4nk hÒ54c4s5—kîÓ¼¬ù\‹¤e©¬ÅÕZ¬µSë¼V7£›Ñéú"ú.úz6QÛJ;\;K»Lû€v«v¿Ž–Î8$:•:§t:Ã’ÎÈa¬dat0>2å?Š7jÙ¨ƒ£®z¯;Z—¥ËÓ-Õ=¤{K÷“S/X/[oµ^ÞC}\ßV¢þtý­úôûFköÍ]:úÈè{¨­AœÁ,ƒ-†F†¡†ù† Ïö1ŒXFYFkNõÓ}…ÆkÏÿÁÔaú3s˜˜MÌ~“0©É“V“AS+ÓDÓ…¦‡LšQÌ<Ì2ÍÖš5šõ››O0Ÿm^c~ÏBÅÂÃB`±Þ¢Ùâ½¥•e²åË:ËçVºVáVÅV5V¬iÖ~ÖÖUÖ7mˆ66Ù6[lÚlQ[W[m¥í5;ÔÎÍNh·Å®} aŒçјª1·í©öþöEö5ö] ‡(‡…u/ÇšM»zlóØ¯Ž®Ž9Ž»ï;i9E8-tjpzílëÌq®t¾éBs q™çRïòjœÝ8Þ¸­ãî¸Ò]'¸.qmtýâæî&v;èÖënîžî¾Ùý¶‡¶G¬ÇrKžÏÏyž'=?z¹yzñúËÛÞ;Û{Ÿ÷óñVãyãwïö1õaûìðéôeú¦ûn÷íô3ñcûUù=f™±¸¬Ý¬gþ6þYþûý_8ˆŽ¼ô œx6 * j Ö N Þü(Ä4„RÒê:+ôl!,2luØípÃpNxux„{Äœˆ¦Hjd|ä¦ÈÇQ¶Q⨆ 脈 k&<ˆ¶ˆE×Å€˜ð˜51c­b b›Hœ;±râÓ8§¸ÙqÍñôøiñûâß%$¬L¸Ÿh(MlLROšœTô>9(¹<¹3elÊœ”«©ú©ÂÔú4RZRÚî´IÁ“ÖMê™ì:¹drÇ«)3¦\žª?5gê©iêÓØÓŽ¦Ò“Ó÷¥fǰ«Øá›3ú9œõœ\w-·—çÃ+ç=ËôÉ,Ï|Î÷á¯á÷ ü‚>a p“ðUVXÖ¶¬÷Ù1Ù{²‡r’så’sÓsOˆ´DÙ¢¦<£¼yíùvù%ù^ë úÅ‘âÝD2ER_¨ 9-RkéOÒ®"ߢʢÓ“¦¡9C4£e¦íÌe3Ÿ‡ÿ2 ŸÅ™Õ8Ûdö‚Ù]süç옋Ì͘Û8ÏlÞây=óCçï]@Y½à÷…Ž Ë¾]”¼¨a±áâù‹» ý©¦D­D\r{‰÷’mKñ¥Â¥­Ë\–m\öµ”[z¥Ì±¬¢ìórÎò+?;ý¼áç¡™+ZWº­ÜºŠ¸J´ªcµßê½åšåÅåÝk&¬©]Ë\[ºöíºië.WŒ«Ø¶ž²^º¾sCÔ†úæWmü¼I°éVe@å¡Í›—m~¿…»åúVÖÖƒÛ ·•mû´]¸ýΎеU–U;‰;‹v>Ý•´«ù_ªwëï.ÛýehOçÞ¸½MÕîÕÕû ö­¬Ak¤5½û'ïo;t þ ýÁ‡‡ÊƒÃÒÃüšþkÇ‘È#G=޵¾ýDĉÆï†ã¿9ü¶ç¤ÉÉÊS:§Vž¦œ^|zèLñ™³ùgûÎñÏu7Nk¼>åüͦ‰M­"/\ºrñ|³ó™K>—N^öº|âŠÇ•º«nWk[\[ŽÿîúûñV·ÖÚkî×êÛ<ÛÚÇ·Ÿ¾îwýÜ o†ß¼z+úV{GbÇÛ“owÞáÞy~7çî«{E÷ïÏ@xPúPãaÅ#ƒGUÿ°ùÇ¡N·ÎS]A]-ãßïæt¿x"yò¹gñSÚÓŠgÆÏªŸ;??ÙÒÛöǤ?z^ä¿ì+ùSóÏÍ/­_û‹õWKJÏ+ñ«¡×Ëßè½ÙóvÜÛÆØGïrß ¾/ý ÷aïGÍŸ’?=œþ™ôyÛ/ _#¿>ÊÊg‹Ùò£š™ Àë=ÐRáÙ¡ Ššâî%Dq_”#ðŸ°â~&xrÙà q>QðŒ²6 ˆ©°—½XuqiJ‘dº8+bQá †ðahè!¤¾ˆ‡†· }ÙÉÞàlâÎ'"<ßoד¡–ŽOÁòOSmõáød5 pHYs%%IR$ðžiTXtXML:com.adobe.xmp 1246 320 ÔÉiDOT (  A§šqr@IDATxìÝ tTç}çñßž)8`“•³8E륛)MKÏŠ”CQádU5P£`bk[ˆÊ Õ&BÙ x³D>.œ`-Ê©­JB´®h€‚ÕÙ…šå°&tsXoHªØ¦¶kc+¶b¦aÎÙýß™¹3÷m¤Á ¾sl4/Ï}îs?÷™¹Ïüçyù'ÿÏn↠€ € € €·TàŸx»¥žd† € € € €@J€À@@@@x+*Y"€ € € € @à:€ € € € €@ ¼••,@@@@ ðF@@@@@ ÞJ€J– € € € €x£ € € € € Po%@%K@@@@¼Q@@@@(· ’% € € € €Þ¨ € € € €”@€À[ PÉ@@@@oÔ@@@@J @à­¨d‰ € € € €7ê € € € €% ðVT²D@@@@€Àu@@@@x+*Y"€ € € € @à:€ € € € €@ ¼••,@@@@ ðF@@@@@ ÞJ€J– € € € €x£ € € € € Po%@%K@@@@¼Q@@@@(· ’% € € € €Þ¨ € € € €”@€À[ PÉ@@@@oÔ@@@@J @à­¨d‰ € € € €7ê € € € €% ðVT²D@@@@€Àu@@@@x+*Y"€ € € € PÚÀ[2¡áD2rRÉëÒ”éÓ4cÆ´®–ÓCö\\gz´ "ÐêÙ t7ÿñkÿª¥ÚçÄgËëtâHSÑA½ÐÎx@@@¸ Ûx‹UjËÆßÖ{=…ýÙÏ~¤~ç[ê=f¹/ÅjZõ|Ër¹P¯Ü¦G[N§^Þr蜟ë¾ânq{þN„ÀÛD±(Z<9¤¾?Þª­=«Ûoó‹ ¼å?þa¬[ªöT|vlA½¢‰ @@@@n_à-Þ¬s=k²Á4_™:¼ûsÚu<=œÔy­¶ã”6/*Ë$Kjx8a÷§Œ:\fƒ’ü™7ibX]÷?P¦²<‹68ó€9A<7«ÄЀ^ãM]¿!Ûö^=øàlEmZPà-9¬Á7ôÖÛ×ucêTM·²Ìœie‰Ýº^z©Ò‡,œù͜òãÊÔ‹áÁôqÙaÙq½O–ÏÒ ÷ÅLÿŸŒã›æ¨©º÷}hÖ¬X*¿´™¥öäïß6üÈ;[øÕ±ޜЛÃsüé»CÚ_W¥ôˆäruôõj‘SÙÜ“(@蜗Û9´ »]»ª—bBv~½Fî.†¯Y}JN¿÷~=8»,:àìnÀ_@@@¸#&PàÍ|‡ÎkUÕ¹ýޜѺy34RÀëjß~íØºOéàüç(¯ÑvnÔÏŠ ×N¶Ú°Õã–0®-{Öê‡Ýmê}ÉßËÉ¥²n»¶}n¥Ê<Á˜‘Ê¡ä€Nþñnµô¼è/„ûÈÊÒ±s³Ͷ\⊯UzÐe¹öœ:¢%n„ÑMŸú{M­Ê)­;oÙ›yæ™Ë–Í–‡zªtêé&õ\ WLu­ûÔ´|®o/΃kçëZv)¼IµÚžý˜¾±~«œ#‹Ûb= óCÛG=qõØníx¡_ÿÔ‚éÛu}÷ÅK™žoc ¼eÓ2LÍ÷÷á—U·¸>òü;û¬h< ®uóÒ»·‡ûÏê¹§vèxÄ9¯nÜ£më–ø‚ÃÙý™kï_®Ðé­ŸQwɆQïùZ»–L½¬Ý[ŸPoðuÅTßö§j¨š“-w@@@@àΘX7ëË”›|_jì¶À›M– ~Øùð.®põp³VïÊèÊž; lèÕ’Yéšwrþl’|wbµ:úÂfÍÎßò•CPתÊ,¼š/7{¾Âæ5ëJÍkvv÷*mêM‡+·Rûãá`ذgqŠXu›^ØY¥ïxaïîKu6Œ·);ŒWºzx›9¦çÐsÓäû[Là-œGÂæa[œ‡m,ÃACçàá—µji}6XÜg¬®S}M ROœïÒŠ ÝÁ$þÇ•[t¦ýñlðÍ»?Ââ5è³@r¬ø Ù@@@&¥À ¼Éd«h¶ÞJkæùžËÞ|½Æ,¤U»E -Ô¬sÕ¯üºÚÚ³½·bµêÛ¼(u‚¢)5ÍmúÔÇ~M3õ–þîÔ_hë¾T³ô ­iÓ…–ªÔpKï¶ÙrXªþcͪ}Æ ÆÕغ^¿ýë²á… ½üoèÙ–îl`¨®³OM bJôÖâÚ]é}”׫ïHƒõ‹òß¼Á¹ÑzÿyË–Î%®æ¶ ú­_{HSÞù¾zžÚ`=û2ù{æÛK\=¨Å«Û³;.¯nÔ“õËôÐ̤^¾ø =ie÷ö›»¹ÀÛÍÏÃæ=ÎÔ9ø•ë:ûüÿÔ÷üH[­¬é›õìÛ²Qšús½ç¡ßPÕüYíSÕŠ­Ùc‰[}ÙôØb}púuýïs©M»z³íÊB½ûK'¨ÐöÎú͇î×k÷u=±Õïãô¤lÞ³IÕæžxí’:›¶*µˆ«m\^ס#Méz˜Ýw@@@@àŽ˜p7o/67Èã ~d^‰Ëž!†µ:sis¶—Rêl UUÕ¦L ¥N}—šR-o^NºÆnë…4ßòº|PUõn0*7Ô»m¶\;Ö¼XnÜm{ï­œãŸjûº¸WUë{RÅÊm7d½äª²½ä¶µíÜ®uNÊäU5/\Þ)ëyw¢o³,|„ ¦Ö/hyfN;oÙrÛ¦6øð¹á®å6÷Hf8®wç¾ÏbÂöxËxK^;¦?êöf+Wó–Oê.ý‚ï@ߣÿûâ.["ýd¼Ñ‘X7ßã VÎðm䳩níÕÎåÁlµUëٸω[Žº²¯?o!€ € € €Àä˜p·\p(¤Šz.Å>xYÛ~¿>;‡VøT”«¶¹IŸY³$;¼/—W\}=ZŽÍ¥³ñ®°Z±Eçº×ßçYØÀÙ`ðJŸ¾Ü}@§_|);,3\žÜ1¹¯m­Ò¦T/4©ÙVq]c«¸:«ž6Ûª§©Œ™}ÛZ¨©[®üþ¼rÏçpp÷áþÍ¥IÞ~e¿–®Ý—zÙ 4¹i½'{àmø²g}ú8½Ç5ÒýpÐ7zV¯ÛKΟ¯' HàÍOÃ#@@@îp xÐîªêÍôbs{tåFþ`SúÜ$ÔùœNŸþoú§Oë%_¸Ìٳᅧlxa™=ÌåU®ŽSGäYÜÓª‡/ÚPÖõ顬Í:ÓµF¯ä ¼]=f«‚>“2êf‹•ëá|Xñüºþé?ü‰Ú3Á5÷˜Üt‰«Öëluz‘wïœpµ¶éfO!så÷[äž9û ¦ñÞÒÃiÝryÿz‡Sº)ïë…ß÷¡l‚[²ªivŽ·üy{‡íÊB°±|ÁV÷@††ô° /îò /Ž.¯7ð<·éì<å"ðæ ó@@@»B`BÞ¼'[§Ô3]©r#°)ê %†õê÷ÿNÇþ¼M½—rQ¸úî3j˜?Ã|’Fjêé%5âPSß\s6ý~ó5â7U6#7YZÒV]˜Y94œ´E–eY¨´á¦íúÞ¶*mM-…žw-ŸEîùè‘cLãjª@Ï:¯í@_«VlM¯ô:oΊ¦«lESg´g±åšYòݼù8x€ € € €ÛxqEÇ¡‹j¨ZŸ™ïÌú%Ùœc}™9ÇrÁ\à-9x^-;uígÒ'ÛþL+½KMfð¢Í·>3_\Eó!u­™ë >Ù>ªÛÔ·³ÊÑ»ë[P 4ßW®ÞÀK¬ÖkØ^¬aè¼­jº!½¸BÔpDï" õm­zukKjõѨÉú£,œRçž/<ð6ß·¸Bôf6Ûö×-Õ¾Ì4uÅ®r¢Î=Oï¯÷xK-áÉlènƒ ݽäÁ³B¬óÐ{¼¸_Ÿ}ö¿ÛSïUýÿ“–Ï™6ª«÷ü‡ƒªNîžc¦Ç›—›û € € €Üñ·/ðoÖ¹ž5rç*ËÉ&mõÑ£zjý®Ì ¥Î+1µzAUeé^c¹ ’'àåYõ3VÓ¦Zª|+š:¹\=جÕí©™ÒäÙôæå¤©ï8¡†E³œ»Ù›3üóþ™î/—[¬À»­dñι@Áðm[º6HsvPÝj+Ž.¬8è5çd{ï­œ“ë9ç<UÿóEÞf$u²y¡ZÒDŠUn×±ö•rãU©|oÓÚ]¹a´9ð– ÆuàBæeél±Šm¶¢kª¡õ¥lì´a¤ œÃóܼ=¥íGÍ~öw´+7!w@@@@À'pûoÖé¶®"»’ä_~Yš~]ß:})´AÝž£jZ’ NE›¼‹Ø!•WÖ«im¥f¿ÿ^éúOô¿þ[¯žéÎŒšÙÂsýCM]‰Êºíª_ñ¯ô¾©7tõÂ_jÇ®Þ\™,uÁ‚QN 'ªΊ™ mÅL÷VYߪõ¿ûM×uõÿí)í}¦'5ÄÑ}=V½E_Þ¼B³cþ¤w‘…TÚòzõiÈ. ánUçµÜóÑ¢|i’ýVþÚ\ù¯ÖöúGõÐ=?ÕÙCûÔó¢3@3w+·UM4ÌÏ=QÔ=Oï¯[Þã-\«©×¿Žÿ3ýòÒk^Ù4ÏS¬²N_X»Ls?8Sï¼ü}åYëe誉ÏXØ @ŽæJà­¨ @b@@@î*ÒÞ<½Ò Sk{÷sZ9ßY!w»lCFë3CFÝžfΫý¶¨Am`QƒÜV¹{å6´×†€ƒg¹yîÅjtèù¹£X£Ë1¤ƒuUjÏ ÅÌ““ÿé˜ÕúüA5ï" NâÈžqö|tœQ֦ƃæ2š?ˆt­o·ÝÚë/cžG5mGÕR• ŠæI–çé!í_U¥}©WþažSOç;~çÅ«¬‡cj@i6‹X]§úšÒ½ÛúOîVmËhÇi«Ýž²Õn3Up4WoGoÝÌÀ;T—¡¦9î!€ € € p”4ð–8«Ú›|=¾‚¦±ò¸>:ÿ7µ¸êcú­Es}ÃÝ´ƒg÷jÙ&gŽ4öyôy-Ÿë-víâa=÷ì.:f¥7ÅU¿q«ê—ÏËCÍõ`²a¦{:U~ùÏÕÒãÖ8;½à6n¥f9ѺÌ-o9ýÚßú”öGß*jšõ7VëožX¦lL(23¨½UËÔ“ßš?x–¯ ¹ d¥œk×¼‘[|Oï­ÜÂî‹Ãýçõç_ê´nÞcˆ©º~«>ÿ‰ûôôŠôü{ͶÚçšyîfEþMêüÞOkC³p É,ßñ§¶M\³óðG:ô-ëE™YW#ž™ŸÏÍ{èJŸv·µétÄò·µÍÚܸFsŒdbÈòqÊ•OBý¯ÛÔ©z߃³›æ‰è9{´•7—¥WÞt}xÁ}¤(¸Å$L&J$“š2m†REJ&4œHZS4Íüœ2 Ý­ªMéžbf¶.¸´g1;œ iÃ|+¡v®ì¤ë²YЍ.¤´@@@&£Àx+ßxëSÃüX¡›–4wetÏ©RìÞV,]e+–¦†~–«óÌ-uÇÐÞU+Ô“™ÿÌ+¯¥!O@@@@àN ð6n·¤®žÿ–nü‹iú?œÖgÖ·§tˆÕéD_“ü묖®Êy~Š×ªãéOë£sÊR=݃Wô•/¬U·;׆ÈöYZð¡t¥#g@@@@`ò x·ÀÛ°ºª–ª;3™[…j÷œÐæ%·+ìf{º¨†ªôümnœ¿1ëèΓæ>¿åÐ=n+ÃrC@@@]à® ¼y{xÕu÷©iÞ*ê;ôŸÝ–¹Ý|UcèŠö>ý[X!3žÔ÷¢á*jõìS´`Vxμ@R"€ € € €dîºÀ›»˜€süÙÆ©: ^Ó+¯ýD6½¿îýÀÚ3k|{“%†õúk¯éG?}7½è€îÑì¹²rMŒyðÆé4±[@@@@`Lw]àmLJl„ € € € €@‘ÞŠ#9 € € € €…x+D‰4 € € € €)@à­H0’#€ € € € Pˆ·B”Hƒ € € € €@‘ÞŠ#9 € € € €…x+D‰4 € € € €)@à­H0’#€ € € € Pˆ·B”Hƒ € € € €@‘ÞŠ#9 € € € €…x+D‰4 € € € €)@à­H0’#€ € € € Pˆ·B”Hƒ € € € €@‘ÞŠ#9 € € € €…x+D‰4 € € € €)@à­H0’#€ € € € Pˆ·B”Hƒ € € € €@‘ÞŠ#9 € € € €…x+D‰4 € € € €)@à­H0’#€ € € € Pˆ·B”Hƒ € € € €@‘ÞŠ#9 € € € €…x+D‰4 € € € €)@à­H0’#€ € € € Pˆ·B”Hƒ € € € €@‘ÞŠ#9 € € € €…x+D‰4 € € € €)@à­H0’#€ € € € Pˆ·B”Hƒ € € € €@‘ÞŠ#9 € € € €…x+D‰4 € € € €)@à­H0’#€ € € € Pˆ·B”Hƒ € € € €@‘ÞŠ#9 € € € €…x+D‰4 € € € €)@à­H0’#€ € € € Pˆ·B”Hƒ € € € €@‘ÞŠ#9 € € € €…x+D‰4 € € € €)@à­H0’#€ € € € Pˆ·B”Hƒ € € € €@‘ÞŠ#9 € € € €…x+D‰4 € € € €)@à­H0’#€ € € € Pˆ@IoÉİI1¦Í˜¡)þ§|†‡‡=§hÆŒižÇÜEàÖ $¬¾ªhÁ;˜2m†¦T™ Ή„ 0Y’ÃúÞKß×+/¿¦·ÞyGú…™zïý衇çèá9³5ƒÏ„Ér*ïÚr†Ûf´µîÚÊPÄûë u¦:’"€  ’Þ.w­R}÷«>æÊ-‡Ôþø\ßsîƒþcͪ}æE÷¡«W__ƒb¹g¸‡À-H\=¬Å«w9¿ºî>5ͧvŽ ˜L‰k:¼û´ëø¥K]ݸG›×- ]·’IOˆß¹kQû[£+uþ#4/N*pÛ,®î3=š?câõ»Ôç&©dÂöáùPš2%÷ yí¤>þh‹†ÜbÐ>w%ø‹ €@A% ¼]Ùß µû‚_RʵçÔ-) —ïÊþ:KÿRî…x£Îô¬Ón æÊʽI'0|e¿–®Ý7ær×[à­ÀÛ˜ýØI#0tQ U뼚å-¬VG_جÙÙï­ÃÚ¿j©öy~‡ºµŸ¥Î?ï‘òÂ$·Íâê´ÀÛ‚ ÛØ¢~—ºš…ÚCåê;².ûÂðek/Õ{ÚK´ÏK}JÈ@à‡À› Vn×¹ö• " 5íÂÆ.ü¶-x‡U†»ípB Í"níç"wNr¸MÚ»j…z¹÷«Z3°°»Üq ë»8Ø36V©Ög×kÁC÷Ûð¬·ô¿þŠZö{¹:úŽhQj4z©¥Î?ph<œÔ¡¶·I}>oEáG ¼%¯èÌÅW¤÷¼Çv÷siê?×Ò%ó¼#SoE1È@;V`ÜoRµ]Ø©¹Ù¡8R¨1˜/ðfQ ¾®7Þ|[ï¾+ÝsÏ=š>}ºf>P¦²¨ÅlnÏì:rç­¼¦W^û‘Þ½1U÷¼ÿú¥9³|½ðœ×`¯ßp^¿ïýú`ù,ÅFM?¡þWõã·šÙî^ÛnŽmwÇÖ¡;ìÀÖ3e±¯gŠ¿üŽù€#ëaRƒ×úõÚ¬¾hªî³zX¨‡ùö—Ы¯ýX?}×¶œzîýÀ5gsÎåóâyÆ"0pv·VlêõmÚzâ’–Ïò=¥«‡›µz—gŽR{¹¾³Oõ¿³kÎö×UÉ;“B}ç)5,(“3w•{Mòæ˜Ôëo¼¡·‹œî±ëÜtMŸ9Se³Ê|×)g긱äïÝW±÷‡R K¼ýö»J•îž{õÀªŒ ]±”ã’>ÔÖº‰À[¡õ4x …Ö¡ÒÔ句^Õk?¶6ä »~Zòý|P³Ëò_?}sÌÙÜgNÓÕYh¥ÿ•×2×àûô‡Ê5« ÷@qíĨ}ÛÞ³m‡©ïHóæøÈ.ü¼8íã)r†’Vy‡’Zûû”8)sÚ-™ã žÃ|“ÃCzõõ×ôöOßÕ©Ö~¾×ÚÏÎÎßvöáÉÌýï³Ï˜òr•Ú÷dÄ]@&À8Þ¤òºiZ”å5ƒ·Ä€ŽýÉ—ôLO°gA6 Åâ5úÂÎÍZ2ÛtÙÜ 6ÄÇ÷…gO‡f~ó‹j?;Scç×´nAR·}.âu%[¿G;–D ÖùƒÏ©¥ýx ·TºlµÛõÔÆ•šå 4æJͽ‰#î9"«‡é¹NÂuIÕ­º°s¹ÿWßá˪[Z¯Ü¨²˜¶÷þW½ùÔïxêa…Ú:Ó7žÜª‡‚G_®ºÖjZ>/øBêñpÿY=÷Ô)´¡-HR©í_ܬ•óQÈœxF¸ÜUg‹åÞÍNú-½ôøœÀ‡ù°Í·Ôæ‹Ù—÷!ç½WÛ_|^~¯ÑóYµ7ÿüZ—éK­ÿY§_x§6©¦¹U›×,Ò´„}Ö,ö~ÖäÏ?þJ`NËàõÕ6 öz‰×íÑ—›–d?ß®?¨?ji×¥¤/Wÿ_µ|vƒ}FdöàöYìy ×…p©ã6ÄôË¿ûºq…ˆ$“ƒ—Õ½sº_ô^º9VÔ4kóÆ5šã(lWUª³w­Î?õ„z"Ú8•zv}ö¹™ò@I"pûoN#$¢±¾¥÷œ}I_BC ïƒÄUµ.^­ãÁÆÔÚû¼–§ò¤”GþDñÆnõ¬›ŸKì×ÞÚÚÑçŠÕèÐó-šK‹!g7áîEÔO= ÷j©P÷¹.Í÷œÓAë!³Ì×CÆÒœù¢®¬÷Ïñ4Ú¡Ç;­ž-ð%»Ö·Wníñ=õ f{¯ZVú¿?”iŸ; "Ú\‘Û垬h> ®5Ñ?LæRq@‰%pûo©ã¶¹²bÖÝ€³†ý)kØ;äCAÏ…ýlk•6÷nh{╪þÈ,õ_èÕ%÷—¿Œ¯ÓP8ÒàÇŠ¿¨g²áO…X°e^*Ø2¬Ã KµkäoV¹¼*¶è\×ãÙ]îîM ˆú⩇<«UË6ù½µ6_áæì|…IÜöqµœÎÕÕXM›úZ†&W/äxmåÔuóc©¤ ›“nñê]…l–JÓ|èŒÖÌõý´\ð¶$D´@òÚI-|´eŽ˜**«U¹ä7´à_ý²æÌ.ËöS!=vÊët´·I³ßêSÕ²­ß§bª¬©Ö¬D¿zO/26!þ77iÏïŒÒã-“ÿýß+¾Ç›ÓÛ7µÀQòªš®–¿O¹ªkjÚ[ßÕñ`—x³­H¾&¢gøŒ¼tÛBm­boƒc¨§¶bêüic¨C6OëGëÑé¾Pƒ˜÷®Òú"VH©ØrH]ÏMe ~óŽ|ì l½Xоo_{XûùaçejoƒÖî ~¶ø¨¶í¨gýµx÷³ÁI:t^«ª6øÚEþ‚*uè\{æGèˆ6W0yèqŽ^hñ¬JÀ €L8Ûx³ Sï¾£Úõž%ɤÒzç´[ïœPc0{aÔîªeêÍÅ2¯·Þ@ no „;ñ;” pE_Ôã6ôsçgìÍ7ÿV;k7¾PX¡ÊkÕýǟчg¾£žkÒ3Çý‘½-‡¬§žu]‹jÕ¶ІêyÖ "¡ËÇv«>ЃÁÝvÂÕ dõ%[ „Zû­Þᦉ+ö ýZ_—Æg´Î~œ ®jèä¯mÕsªmÞ’¤®žýŠVoò¬æ$©Çëtà¹?Ô¼²J \VÇçêÕë­¦ÙmŒ¸!€ÀXÂ=]GÈ)·ájOg‡«å›£Ê°—Ï[OÙ Þ¹ä¬'\_O¶×L¢ÿ˜©}Ƙs‚ëÿÆÆmEÍñÌ?t­ò}®¥'ošÐðyïÂö©Øo? Ôz(Wç™#*løß–¼TP[«ˆÀÛXë隘‚¡°:ôëög!õ{D¨ˆÌ”º~~Ö®ŸÖŽ»vQÏ}z½ü¿í:=Õ­7»ývz_¤vWëݪž7KÉ¡«úÊÖÕêĝ𭏿&Û‰ÑûNmEM­âÓú…_ù=}2vlLŸNù"çx‹ÕéT_“Íñfû² f¨žÏó»Wiƒ¯ña ¨Y;ø³6]Æ´ä°.Ý©õ»üSÄäFŽD´¹l—ÎpÞŸZª™ÖSðO>¿Ú†¦9ý¯ÿ³Ñû ÷@˜¨·7ðfêsGþ@/4/Ô3¾ŸÎí"z®G÷}½A«Û=-—ì…}H'»þT—ÞVº§Xâ´x}“²ŒL÷âÞ:û5Óse¶mÝy¹BJëuÖžëuÖo“b×ú&Ŷ¡2'úr“gGôZ¨·žH 6¾0„©´_IÛ3¿’º'ý¬5J6y%Î|=©Þxn þNˆF`¶¦K5”Ôí9tц¥­÷Ïì—ÙKöËlT@Ï÷‹x:ïþcÛl¨™·šÊúáWƒ½Ýìã ö‹±÷Wþ!ëWåí—Â6q|) “SઠkÜÚí |t$å6?Zov~´ðçJ}÷»†Ø·úÌmèÊIu|ý’¦MsºRÛ—é.SÓ÷Ç%{jð¼ê–mðÍ—¾9=bGϤ/Ι"äÿrq tæ²zbý*ýêœÙš1Å~88ÿ?4`ÕÛúùÏïÑ‚êE*ó~>¹;áï¸ ÜLàmÌõôÃ/‡æ#,¼^¿GB o¥ZhÏŒZÈlœ«Ýc½Ù—”…ß¶I£½×yÞ¿²^¡Û¬W¨÷êo<`ÓEüÒMµCïÛTq«ÕÝתù±ÜlÌç%Ó£>´Ÿ@û$ôºÛ.ŠN5ô¼õ8Üàíqèö">»œ/ØÈìÑEô²Ì}ötæy @‰#pÛo©a+öb•}ðvΉÙ|5ÏÆÿÚ~óDäÜ {À+µ’Ô^¶U“^Ö¾ÿC]>jš"qQ¾WökñZO/<›‹íhŸ,qo+Ò¥oS"z1ÅUS3[‰Df[ûõŽ÷ë-[%Ó-o¡@¸Ÿ«K™ÝDôj«ë8¥&‹‡Dô«nížÖ¨,‚`´×Ùíž²š­ÇÜ'ÔëæaE‰W×XÍV4 JÿŽ{†¸:¥¥qš9güAàV$‡tå[çÕ×w\'Ž_5WcC´Zªœ+Iøseä÷fzÅ—m…ì—ÿáúá•ËCM½ïïÑóÏûÅÙã’7MDàͳ™Ê+ªUý¯?¦Ê…¿¦y6Ô–ÛÄ¢lز34.ðŠ¨§7ïNF®C£×oo^Áû—÷Û)ž¶‚ {¥Ó't¬y±ïGawÊ’Ðû"V«}›¸z+´K… ¹îú„þÊøj÷^Ô­‡a¡íD ºö§{Ñt²Š8/ùoöwÈÀ}}”Þ°î¹HZÝ…Öc7ws ŸÛPÛ(¢Í5òçgn/ÜC@`¢ŒOàÍŽ¾ ¡;î…=¥5¤³û;´c_ôª¡!Ðì¶á‹º$q· 5(¿ôåýÒôá×Ôlà =¡B7Ë‘ÿ†ò99¯ÞNp} Þ¬8Á^ŒªnÓ¥ÿRÛ*õüâíôœ|ÁzN:¿Û†ó ýbž:Ìk6¬úQß°j§ù±+O[oТk·ÛYuØ×]&Ðൿ×ÿþÛÿ©o~ýNG¬À—û‘%üþúâ8tµO;Ú¢W,ŽÐÍå1zþ¡ë\ö™Ë8ô#”'͵¾Ý¶°‹w(ln;ß=[Y¹íOw¨Ê¿t¡/ ÆWàfoc­§c¯C£×ïü¢N@í ¨åæ*‰Õuª¯ÉÓ›4³ñ•ƒ6ß™gÔ…û#m轓§ 7`ï‘Þ÷ˆ½úý†ž¾‰vb8ðæö¢ñXÏ‹“Sè=ïý‘^ŸRè0óPðÌ ö†Ïm¸mN“ûì ;ð  €Q`ÜoÒ€öV­PO®-öÉ^ø‡­á´Ô÷K¤/q¹ µñ­Ø`¯z¶ 5 ñ­Á4I]ô-ðœÏËW®|Ù©OŸžJx]1=þùZ” ¦û·¼rL×>ãë­j3eV=¿ÿƒ_G^<%f{ õ°Ëå1zþ¡ëœïó)},×løÚ£[=+—f¯£éׇ¯]Ö_}­W_?}:tÉõkÄÕqêË6Dv°˜ÿe«ÀÍÞn®žZkjLuhôúôöÞÏïµyÖzrEqÞ?x{"0ïk.Á÷2íÄ)Áoï['—›>/Áýßûy^/Eà-÷¹æúÜÌùwóà/ €ã+0Ž·Ñ “¹ð; ßPP{)VY¯g×ÿ®>ô`™b3¦…{Ðe £_°C_H²Ûº''_ᡦ5m½Ú¼ð}J8Òº·)Sl¡ÿô<>nþNð¹vë¡`Ç€õL[áë™<†ê֣ڹܰη¦í„ C V ÛHÏ%S;58Ô´V½gõ>gævÏmŠ möÕ´)Ó¬îyp ˆúo¶y›ÖØj)·«ÖcÆ7O©xKMÐ~ÿû¿\†_·«œê[ŸÕï.øÊîÙPòðª¹<ÂÛç^Ktô뜳²x­pèºæzxpÀ¦zøŽÎÚ°Ûv¼ôŠLœÇc¼…ëYqõÔoPx ï7X¿ý9ûÛPÓT¬64Ô´˜vb!ïÛ¨‡‹=/£í'ïë¡6‹Ñ ÷L3Ô4|noîü»eà/ €ã)0®7çÀ£VCÊ‚dý¡®öÙIY³)mq…ÀRñÙ/ £_°ó6(²ÙçËÃo 6w‡ç;GäÜ!gÕºû›J¤:M\×>º^M+ÓËÔgwÁ ">×Ñ7.ú’í=wþ÷¹ˆ|­QÞ׳ξ^çnÖãd…·Ç‰ÍÓisï|äõ`;ëQb+.ònlk“ß¿S‡Ðt›Ÿýú[Ðúg›d‹–qC±ØŠz­ kåéf¹ÄÕvôÏT5;øÆÒáæÇ´Ë3¤ÍùìÈ·ÈO½ÍÝØ0Ï çk¿ÍåyÕuXoUï|ÈæF­òÏšû‚þ|ñç1”LÁ/Èá¹LÝϾW6Û¼‹Y¿»¡!ÕØJä-¶yöf=[Yí[2j¡¡lz@TàÍ»‚nþ½žVÚt c¯C£×ïüevÊ6„tŸ§¡fqwA¤ìvE.®Po½É|½É¯©Õ¦‰ð®ŒšªúðMµGoŸ:G0öóÒ0Âo玬K/hæì!O·¡!¤ÖÏ×~œè ü8jëgÛñç65‡²·qSHšì™ä €R`Üo²‹vÞyÒòÞTi+:µÛŠNiÓá«Ç´rõ3þa8·%ðf_BB«XJÕÍÚüÉ*fßË®œÖîµ-¾yàjlRý–à¤ú²zÜ… 7ðÜ/ŸîW䬊5Ô«–mò×;÷ÅêV]عÜÓû,"_K[^³]{7>¢Ù3’ê?HŸÙ°ÏŸ_Ü&gîY£ölת*u{† ÚÆêøâ-šSrx@gþËÓÚÚíýra@_ Oí‘¿ 0º@hÂôÌ&Õu[ô; Ò}÷MÕO¿ÿmûê>½è}:鲟ïÿŠ:u|¾JSú®úh\'>í¼U6w«}ÍüÌÞlº…m+õLÞÅSF˦ï MÒî ïä\Q¯C;>¥ò©oéDÇ6í:îéíæ¼î^ƒ/wi©­Æ»UhÏÑÿ¤%™àcrð¢þòõ¾ë\pJ‡Ü¶Üop ª9sruêÛëÇVO?¥¿¸‰:4zýqTsDÐZñ:xî5¯lš†®}KŸÞà š¥†‰§z«FR\qmïÞ©GæÏVr¨_‡žþŒöyƒî–Æ]áfÚ‰y^¾S¼÷ùuŒ1ÕmoUÕCSõî=)~ã„‘‡lÛ~@®Xje«k= ?¬ž§i¶ ÍwN춅Ӽ뽚®­øÚµÎé9>·¹܃,$›–¿ €LLñ¼™ËàÙÝZ¶)bÒf·Ñü¥-eSeõoiúõïëô‹/ ÎëÙy0F¿`Þ°)ë%`‘}Á/\©2Fü“g5¬ˆ”<5.ásí~ù Þœc Ç£[äBŽnÚ‘þz‡k ‡¾üŽ´¥Zlä伊Q6”ªai½¼!í¨dáçʵçÔ-I-ò9Òu¢Üzµ~Uß 4œübñJýÖ‡¦ëûsZ/ …÷ n–ÿ-˜ªÎ1ðŒûå:*paIË+*õáé×íÔ‰©Í–©Š˜ /°ŽƒÀ­ ¼9Å/¨ž>ô¿B=6m «CÔïðÚÉ>{»ØU§õÝmÅl ÿÊ-½j<Ý«3ÔFô'~T^o½]2=ÚG*Äæžvbhßî{Ò·Y8ðæ¼\ÐyÉ,e;RûÂYŒâXÕwóÞìhÕUùWc÷/ô Z‡.ìÔÜÔ4á6W!í§pšÐNx@ %PÒÀ[¨§€5ÒÃn‚Ã:lŒ]Á¶{¶á2hÁ­e…·œìmÛSÖè)‹è‚¼`_¶åÚë÷å jØ„5¾<†¯hÛʵ tFÈåç¹·½÷œVÎ Qò$àî8 „N]Ê5 ýÅ‹W«×•s|s«EäëÏ*ô(^סž¦E¾ç¯Þ¦µ_Ž} ÜÕÛunçÊì0÷iþ"€@ñ‰þ>ýÛÚ­…FÊ'¦æÎ¯iÍ‚TÔ-•0°#½ºßC/u©j½·WÙHù§_«ëa]ùÃ]ËbñZmüý{õ\K·ç¢ïNjT_k­¶Ïm×hóG¬sÇ©Z!ýÇôH­g¨j¶·œ[„ÍÝ³ØæîqÇ´½÷y-9¨¾îvµuŸö”ÁMoÝêkšõùõŸL kÈ=˽‰'nàÅjÚôBK•gب§Ôó›”×wêHÃO"çn8ßú=šùÍ/ªýt®n¦7*·a;Դ܆¾ ^9©ö¶çt:ª L¬B[?¯ÕU6Ä#¼)Ï €ÀXœÏø¯vj߾㠾csYZOìÚÏêóŸy\6·W½—ò”Wjû“µr»¨L6{îL PÛ¬ ²¹mª›«§c¯C…ÔïÑ$©«}_Õsmût)*xfõwËõø"ý ¿*ÕùûÒ³ïÕrB¾£ísšóýò–.ØÚ‰Nût±µO³·JûQ­=úGµ›ûü°VJÿYí|jG¨mx |68åK]ÑW;¾¤}‹­8¯WÖnÑÆ Ë?=fxÕÙ-‡Îéqßä´áöS°ïäÏ @‰,PÒÀ[)<14¨×ßxK×oÜÐÔé÷êþÊTf«šNœ[Bƒ¯ë­7¯ë†Ê)ãÎNÍ÷6qÊHInJÀVMÚ*µN³zàl—Vlò÷RÙ~ô‚VÎ6ºÃ ÇúçlrõiJ èÕ7Þ”UiM¿÷=8»¬  YbØÞ ¯§ß VÓtïhvYèÛþM*#€@P )g5Æ×ßø‰~jó³¥>çï¹Oïÿ€½wgöÞM&¶òuzEâ)ÎÊþ¥‡=שö¾žy¿Ê Ì×-éÈù[ªÄ®½þ¦®_·ëÔÔézàUæLJZà-iÛ¾©wœíoLÕôéÓõ>»;+Œs»[n®žÞLµ~p œ÷ðo½“nKÚ{àþÞ¡À›õ:K/<ÐÀµ×õæÛׯž½Ô¬‚ÞG;+ë­m'zòãç‡ì³)‘L8$këL ®–>šobXƒoès±–ºµkîO6›E£åÃë €ÜA“.ðvÙs(“TàÊþ:[!í%[áÏFœ5Ï;,5"ðZ¹k’‚Pl@îP¨ÀÛ[ñs”iåîP  @Æ"@àm,jlsW äŸkÆYÐà”6§gSx €ð@ / ¼E ³œðA@@`\¼+?;ŸŒù&¦ŽÕ´êù–åy†‰Ú«–úñ®X:(3 €wº@h®˜-¸Ôç®Xz§=LJ €·B€ÀÛ­P$»J`àâaõü÷¦Ž9as5Ý÷@\ >¶T‹ææV0 ƒ8“šïÖÙ7œùœl~§Ä/ê÷6®Ó\ƪ„©x@ "à¬j¼»û¼¦ÙümÎ5ÿ}JëªæLÒQ @˜ Þ&ÃY¢Œ € € € €“N€ÀÛ¤;e@@@@`2x› g‰2"€ € € €L:o“î”Q`@@@@É @àm2œ%ʈ € € € 0é¼MºSF@@@@&ƒ·Ép–(# € € € €À¤ ð6éNF@@@˜ Þ&ÃY¢Œ € € € €“N€ÀÛ¤;e@@@@`2x› g‰2"€ € € €L:o“î”Q`@@@@É @àm2œ%ʈ € € € 0é¼MºSF@@@@&ƒ·Ép–(# € € € €À¤ ð6éNF@@@˜ Þ&ÃY¢Œ € € € €“N€ÀÛ¤;e@|•EgIDAT@@@`2x› g‰2"€ € € €L:¼·þþþIw0@@@@‰"@àm¢œ Ê € € € pG x»£N'ƒ € € € 0Q¼M”3A9@@@@î(¼·ŸÿüçwÔr0 € € € €ÜNo·S›}!€ € € €Ü5ÞîšSÍ"€ € € €ÜNo·S›}!€ € € €Ü5ÞîšSÍ"€ € € €ÜNo·S›}!€ € € €Ü5ÿÿÿÚÖq¶@IDATí½ |UÕ•þÿ´€’zA@ AÅL°el;bDüjÆ’1$:™5@iФ é¯5ˆ+ Ò …P ,©kd©ŠoS©µ´â‚‚!J*I¹Èµý¯ó¾Ï¹çÜÜÜç~>ó²_¿ûœý²ÎÚk}áoòƒÏï³Ï>ó¹ÊK$@$@$@$@$@$@$@$@$@ñøoñ`b        HŒo‰ñbh        ˆ‹oqab         HŒo‰ñbh        ˆ‹oqab         HŒo‰ñbh        ˆ‹oqab         HŒo‰ñbh        ˆ‹oqab         HŒo‰ñbh        ˆ‹oqab         HŒo‰ñbh        ˆ‹oqab         HŒo‰ñbh        ˆ‹oqab         HŒo‰ñbh        ˆ‹oqab         HŒo‰ñbh        ˆ‹oqab         HŒo‰ñbh        ˆ‹oqab         HŒo‰ñbh        ˆ‹oqab         HŒo‰ñbh        ˆ‹oqab         HŒo‰ñbh        ˆ‹oqab         HŒ@ë Þ>ÿM§þ»DŸÿ‘pqç¾á"§"húèˆ/ K@߈¼Hq75A±˜¿S§N¡s×:wŒ 7ᤙ@‡ »ø†‰ŽÕö¯4ÔíÃ;{þ~t ÇOžÄ…ݺáÒ~ƒqÕà+пg—à FÂh²€:„„Yph÷HNÌ«Á¼#¨?T‹}{­òAÊ×ýû Äàô«Ð'wŽîüyÖ. ÄÓG@úˆS:¡k—.2^µ¥ŸŒ± òRuF—.|/ÚR˵¸¬j”ˆþ¼®wꎟMˆ‹­{üKg„@*'ŽFÅÁøKËÊÃì{ïÀÐ>ÎuwÅDL¯4˜¼¢…CCñ%ÖFCÕí®Fùƒex%³PFJ‹ïŰþ'«º{*ïD~Å»Ö)²J6aÁØþöyðA6Ü9K¨ðã­—¯XÊלRZÖ ”<0 ƒ¢‹‰wÚ)Äú„R‘3µÿ6i’¿'cËü (}^^–Pjj Ú@™Ûécx«Ý´»£§WÆ—b( y3g㎱C]HÎ÷qï|¯_|Ÿ\¡"‡¶àÆÜR½P~cr•¶µJsåãr±Y›ßœ·}v‘°üëØù }Èv掓U¡pDŸ¨Æ‰ÔïÆª?ƒ£%Ϩ»Þ a4„{ᮢ×2Ò°ÿµi~õô+x·Áœ€Ê| 33 &çbø ÓŸ„÷Tbd~–‡ªÕˆ®‰»¬õ{vâç6¢æù7a–HMÃäÜÜ™31>‘»jæ¬v˃˜Rú¬„JÊm«1Ô/áp¶ü|6>÷<Þ=h•&„4á3uêŒÚ\mš)„~û,´uÃn,+–øAÏJ8Ü€^ÃïBÁÈAñÚsh×lܸÏ¿ò®Ý^¡Ô dÝò L¼},úûqÕbŸÛs‘§]ávxк‚·ƒïã[OœÖ‹.Aå´¸D‹%náÖâ=íX®ÿ\®=sZþH qN'Hܼ%Õ(ÖS²§²PIoêÇy"x+8oo¼VñUu‡W^y †»S•—žFjj6æ5¿à¯ÛqæÙƒ‘×ËÛüã)]&VîXŒ!A#gÈÂÊm 0$©-*Š0[—ƒ§`Ûê<ޱíቖÅÛhmñ–ÈOžjy>ŒQPûqo?œH²Év·| šn~ :ë—¬Üc•«i·<·Óç¶Ý¶IÓnÜ9z:ôïñÎbAMÂ{MJÿ$(K¤Ø‘ÚjdO)Ó玩yK°±`XTtUÐuÓ÷B*–lÛˆaæø^¿k²g.õ i]Ìœ±‹'EçmÝoþoD>”eÊDÀµD\VþÑq㘯‡Æc]Õ.áat:q\qÍÍýo‘ºø÷ sç6 ÉŒ¼rü¨`øií8mÐä%¨)Œ·½›Pýà]({6†FR±pÓŒô(4´œí¹È3 ñÛÑå³'x딂ü áK¸ ŸÇ–=8¢\O¿öJý2„ºv@cC=þðâÓx¸|½" ¡dSÆ*…ÊËH[ S-aboЋŽç¼©_õtC“1ÿžÛ0¸_wt•mêõûñâÓËQ¾^f•`Ç‚±_­ŒòñÿöM Ž>BÔ„ßþê'xöMëK®\ÌZˆ—Œ<­‰dë²Wê&‹¸m"Oj9aëÂh7©« [„2Q43+ªÝ½ÿ[<]ù,Ôe@FÑ,ˬsRûãóQrhË|ä–>¯×µhÍähƒ=甀úÜžÏ\\pEð6Qoú{™Q„Ërλù‹ÚΩy+DP64.4~öíÀ¼ió`ÍúÒ$½Õ>éíÙ0ùK_A(¤•&kÒ†ƒÎÜ64Õ5…Ƈ—àI+…h Ïø&.9ù>~µi½h¿9%›\^ÂáÖç çz³G‘ìX1óìù«¿€ËJ§Vú¯)fÿ¥]KÍÌAnÖÕ8þöó¨ØüŠ ¡œrÔ ·Ï?¨Ç²‰ÙXo~åª-Í †–¦žAY“§âÚÀë–ây;.Ðb>’îYikÉg߆BL[jsÍ"Ös)‡bS¸Kìï•ñ$˜taÔv”:R‡êŸUãýâ½?¾‚WT©—DJ8=;£&lž3åæÐ>cEµ-TÙY>s7›Ò£ Ñ ^æh‹8HúÐÉÒ‡š¢“T1é°1>“u»ªñ‹×ßÇÉÞÃóÏ¿¢_´BŘ[4í­È™¶vYÁ’*ä svž„k·`Ú”Ró£J†ìüXÖâ»+D3¸R±ÿâS.·†XUý#úXn;—ý;æ®7ÓHdrÚZ{ÿv<˜yÏJ{ªÂWû9iÉ/ljðÒ|D²ŠVbAÎ'¡¦=˜?:Æg Má`›ì¬2¤}-g{.òtªÔžÎžà­9µð'²­ô=c[©˜N/ý÷¯àkâÔx';c'>—Wâ‹èœrúö¼0@È'¯Íç†Ã‡Ž¾`´ýç|T/ñ?û«Ì±: ûÅqi£Ùɦ8üçÏyaÇ :Iž_B—íùqj‹uWžRüæ&sê c}‰‹w°ÃGá„­î$ Ý{õEÏ@#ÿbß""êØÑÖ–iª¯Ã‡G>ØF§”è—Ú§ùI—á­«;ŒO>=¡ÅÂE½ûÅv| ¡¢2ЈzûŸ¡ô ÃØ\8åæ'P5 ý6ÿ#ÄúMHü ØàÑæe±&Çá†:é>‘þ@{Ÿ/’÷¹ïsêëŽà˜¼Ïš#‡””tëÚ3F?bU$‚†º:ýäS‰—‚‹ºwGŸž!é[Âb7q¤a71‘ ¯•,ÿ¶Ivª•¾¹vw-✾\íÇûPêeüÑŸWR.ꎾý{Ž}ÐÓ†=sQ&Îtê~ˆOŒ—=zõÇ8AýºÓ-z·œèö‘>ke²ÊcßÑÌw긼S§:É;,czoyœQ¸¢ž¡‹—Ð(âï=…“6ˆ¿Ï93󖈘™©;xŸÊ\)EúÆî}û $ž­lûVRÄÀgÎS|ãT+—ÉH¿ µÝA™O@+ÄÙRó}ßdå¢Õ‰?³§Ç*ú±<½ô¬ú©ì;‰D/™gjìµçÝ|=÷ÓŠÇß&™ÿ9&ó_y—µw%%¥º÷ìéó$y–eKñ8sKqêärl,.×µ§<ŽŸôWEè¤(Q¹"µTð¦n=Ï*^‡Ù¦í®°lýiný•­€å51\›§ª¿H-æß8ŜĘ©qä8öö×àtU‹¶n™!¦ ªïŽÇÂ#ɧxÝd·Ààqxߌœfl¯MM á .äŒ.—*˜¿PF:B@£Ê‡0_>¬%`èa£Ÿží¶Ö3m@ÅÄq¨Ô°8ÖB~ÅŽºÞƒ9#óaÈtsP-m^=¹ÚÍs0Å”úª}_‹Ùž‹<£*Þ>/$àMºÕ§Öü?ýTkˆNxXo_iVðö^|ñ=¬ØÝˆÆ¨öû"nÊ臻3{¹µ^D‹®P¶¯jvãÆÜ|%FGŽâ‡/ÿ9*~׋Äùr\é³» é££xrˇxñSÔy~× íïÜäÉÓ†§ÉD ±Eµ:ñ³´æ šúó=Šg=_Þ4 ¡Œñø~Ñw0b{1a§)_TÖ¬‰ÿ^ø=¬W·°éC˜\ò8 ÇöÚ„•?ÂÃªŠ²,- ‹JŠ£òôIĸ$jôŶš1‘ aaU ¢ÆÍ¨È Ø0g2–šÔ®27¨4UçÕ0îä”/Lb .#£Þ|Ó(G1/‘sD±H´ƒ~û6ÏǬŸìº]…ùOüÃ{Æ5¥ JŽ×Ïk‰õbœD°kìDp¢¦ÚøQéþýAVÁ"çpYZDù²»eE9J×[štVjæß´ñ(_P„áÊ–n+DíÎJ”>\áÚî¢ß e ¸¬MÅRV‘š˜Õm² ecÀ6”CbL9W7¦,ÛC V[eàßä"à êóï,ªœ~ÜO"Û¢*ŸÀ£~ãôáãg|ßç#®QOYÀæ,\ƒ[>ûo|¯T5[`0ÔL<¾¨ƒ]‘{-z·š&Výöí¨ÄCóäò‰’wñû dL´‚íŽääÝWX!í0©“±i]!t« /¤å x °béfõ»”=5ÅÌEvœ[ž¬<[ÒçØålé¼¥©•e¥¨x>šlÆäÜóuÈ/JÐÆ›,0 eQ«}g›![†oïø*¾ï<ÛùÒä%2Ÿùã<ÓNoËÛ Ñg¶å¬”­eŠÐ¼åé™->„Íåe(ÖÚ”i? È,Xˆl<‡¹ÚøÌȉáÕ‹3®E;ãÊšQŽ& ×…ñvœèÊQVˆfÖPŸ5™H†ß}(ÿÞC¨Mé‰óƉú·ñ¦9ÿ¶æí®8Íœ4(‚À(a‹jsO1/ÉGéèÙ¤ÚL¶ØW]އ¶Ö¢§*ß ¼ýŠå$Áé‹Ý騖c´UX>jÔCDóÜ»|0ˆ.µ;]ÏYdŸ§²ŒbTÍ:… Ó´íÞr5ˆ»q¦»àòì’ç3ÍçªF—'W÷éÙnk-w¥ßM+XƒÕy~ë/w1­3×ó­¼»Ú3;gä4Sð65¯FÙ¼V…©Îºç4Øž‹<-íüoòÞ>?Ž’åÂïô‰CãM<ž.]½[5EžX?ùºrÚ@\j…Q·¯Zׂþvº•Ó/7=˜a>z÷ò·6㩵woü|â—ݓʠ‘ê_*§n™X²&OL3 ®Š½µ—ÄÞZÔð/]¡|QÔ§ƒ™3°(ãMÌ5·ò©¼ÝÞRS1C&‘·žS5‘@ë#D-Ã^èy'¡u¯UÈ6çÊØyFm“–÷y¢¼ÏAŸðíÔda²M&Š@"Ê.£Ös }¡ïfÚx«ß‰qÙsͼز|IlYF½”*“øl4zräé9$àMXsdeˆ|…“Ó{ÆMÑî(Ÿ2ÖΫÀj¦y¼ò©ý|`$ó†ÏŸ–½[ÁÕoŸhL³ö›FO•íTë”íTSÞ«Ç)‹Ã_[êã¢öîŠÜ¼¹_ÎÂM(Ù¿¹`æý–õ9N9›Ï&jÞÒ° …ãfã|óÑã×x³Ê!äÌÈÅ—º¦šwÔ‘o:‚· ŒNÝ|Ú Žòz·¥9é5ÙÅJô(qZœž–½g+[ì?§ÞxõbÖ#Û6ëá½ëœgÌX‰e“†È»àöxï„ÐŽÜÎ Ü÷bŸED3ëFS3Ëš·ÇŽ¡Ü èÿìŠ6›µ ƾgÄ' ±ƒ(êQ.3’ªÉd™×cßÞ¨oÒöË÷„Ë÷ Ô<6SŠñGý.jâdâÚ+…±&÷<V?¥¥–š‡jÙfëÕæÒnÕí,Ç„¹ÆZ)Sl‰.6m‰j÷ùµj[KA²›g¤¹›'gá ÜôÙÛxñíý‡E€yq/ þûëpýµCÑÓG@ìzG•wWëÀᤘ<’>)Ï夯NìèM°Í÷Ø6GO‹í¹È3‘–<Þ=Á[3^Iÿôú»˜ýÆ_LÒ_Âc÷¤áÊ¿m5ý›~ K × í‹‰W_Œnb÷ïcÉG"×õ²þØÝËHÛGðvÙe=1}Ø%è{ñðþ;¢ä5]íNGÎPÜÞ¯ƒ÷ØLúÙ¶vÜeWôÆôè¾|Žÿ}÷#”½áijD˜5âŸd% . µO¶(ª+WµØò…`¾|•0Ô¡E˸h ƒ”‰³{ⵋ†Ôñ(™“‹a»áؾßà§ Ê`íÞÝ7Ñ$«M2c…ëê õ2¤aÆÂ{1bè@t<¾ëJ‹°Ùú(l ®z8±— öæûÜäJŠ 3½NyU‹ç:ñŸWÏ=¢“oMxÒ¢ò3º‰m‰—ÅŸ¾3eºTM™Ð*ñêv<ˆ ó47å†]½Ü# eác|•Uoañ\5R;’“€ëÙp-¢Ë«iO+·F½,Ä.бN?®Ž{âuoÎ(µWI.« wŒ#ÑøoÕ¬Fi¥s34~jadª."Ìb¤ŸÙ¹#ÐOžÙ/­ÃÌ2çÑ´—&YZønE×Ö¹â[?—P]FWy‡ &ü#z‹BÊ‘=;QñèRXŠéñ-wòñ,X¢(s %Œ/ˆ¶ÝÂÙ“1´ŸÌ1>ÜM΃ã$Ï=ÇP’:liŸãÔÅJ2Þy‹â]YšŠ¼’97Læ;á#øÍÓ«QæÑöUÇ~+7ß¿~œ$`(-Yÿ07ýËøÒ–ïÙoñÞì0>iÇû̶˜•š§Ýg»|âg¿¹Pl—ÙŠn©(X8ce®9v5%¨t Ê3è ܼèX‰Ì%«ß¹cw—‘KOw±¤k~MŒn÷L´îv¾°ïüj*Íò„2'cæ-Wâ³Æ.øú¸°MƒÅÊÛsOíïÃîZv§hb“íLÙbºØÚbªæ![¼ÃúæÎÐwåª÷äØõñÚç£'xŒSu.ÐÊó‘!ô/Ü*ª­þ[MZÚ¹¼yÃãÆ;qUêø’Mx`le¾á)—RM«¾F83'=íètÚHMétÒ‰§­ëE@˜m Õ|ÝÇ!ÌX² “»zÚ}×ÖáP¶ÕØó¦C²ÎÉ5×9ZØœ%ý÷W %rÐÝË|«Fæ[:ÃÓd{.òÔêÖÞgOð–r±)¾ŒîŸÿU³U+vÖd¿¾ü=ÑøüúèúÀÄk ÒõŠØ0î’@¯¦'?úÿ²é#»íî¸õjÜ>ðû\;øX4ÓòlÍ´/¢xÚß#ó"¹á¼¥g Â#™înàÀ®w1ã5C˜žq¹Ü¿X"а¯j7–| å—ßuâyõÍóªò;ùá‡ÈÛü‘)˜û–Šðp )³S‚ñ0©¨™tv WbÚ²¤ÕìIè#©<¬'PûÇm¨®%ëÒ¾¾-ªÞˆòéF@9“AÙú8g¤³M­šÅfgi×ß­™Ê‘EH‘±QÓŸh²,vi²@ùʦ ×,㨚gÏìÜRóx–\_à1š*î£çßnz œHØeôÔOáæÂ^ ’СS7 _Z¯•cœ9eÉ ¾@qç§¶OšêV£ÓÏÄ£é]ÕámÄ8´³¹s+èQG©ÈʹÿtS&®¦ /ø#æ¨Ï ¼mãóy¹Ú÷ŸÄñã8~T ?k@Ö£54¨¶SD !vKM\–|Ñ]àù¢ÞW-[5,ç-YX'ŽAè–~Ä’»¯{Il±¸ÕÏv-ø™†³ç}p ÏRsb]‘×»ª8A™¨8AQq »*$ÍJŒ&ªªùëo³¥9¦¼. ¨‹ÈöÅ• =t£Q2Üɰ§)(Ÿø¤Û6T RÙö§ “œ~ܼy?~Ì/÷“\_îEf+ZŸÙ¶ÖgHÆÑ}µ5¸L03VˆÌP¦Z±]4Å´]diÉH‰[øn¹’Ž:ñ«ŸºÍHf Ø&¶x\çÑgi‹úoòfääãY°*}è‹.-¬h£×ˆ6º{6+& Ç™ÛÞEؤÌ1”ä=‡-ísÜs…Dæ-á}¢E¢oSÓŠ’Š…›Öa¤ÇËyÝNqŠ4×èç´PN_§Åøy9‰FNÉšÇ0v°CÊ—¯'Iß0ž´ãf[ÎÊõž(}¶S>­à‰ÌUÇYi(¯^-¦7ÔÊ»ÍxDi4©A•ãˆ|½Ñúê»S±•åþ«6‚Ó VÊv>Åм’G¼‡j—àMýÀ„ØvˆƒÊ©Û‰Ÿ`îê@§£Í%â)±É:Ú°ÉêÕ,³ à2 c] þ;^4aˆ[VÒQm~*Æž~LÑÐL•þg£¹Æñ–ȉ/OX³ÎÖ¼±ó§g[«v¾­\Ó22€£oâ]SŽl]÷Úšn¨Ý…?:¥¯-;õIǰÁ®M¼¥No©žD¬Äô¿âÑt™ãÑô °=yºªÔOΞà-n¸¢ô®!øš6›Q…dŠs†ÿ}ñ˜³ÛÔõN€ŸŒ!ÏïÅêßãÑ÷ AÙeC/Dz›D€¦¦ ŽÍá˜7®¢ÙvÙAX–%´Ä³lÃ!†öÞÿ¾"Fß<©§ø­Û¾Š)©îE’7+žŸkê@YÒ Ä%yž±(P'<ödP&dÍ\Õ²s}©w¶Š©if‹0*[FiUUoGSLUÕ´“‘­p76O žšÕþ_ ´\´ŸZ–˜FðfÿwÒ3èÊÖ<ﱺ-7Á$†²¢fÁHWylÞJ®‘†Zlº 7m޶k¥„Ó–Å+ÿ²‡¸?Wž€k²?Ž’M;0Ö²¹¦öžE†š¢ª]jMÚjwTbùsoË>Ñ^]0É™t™ëeAšm.Hí÷AÍOžó Û8êDzñfÄA„;6ôL=i×¶Gè¯ÖƒÇÉM@]œÄ_Ò ,©Y뻋Ó;Buü±Œ¢û¥¯ö¶Ö.!†ž_Á³7²2^Ú‹3õYOðÝò&¯žûÕOTWÄ[ cH½`ÑBüëˆÁ.-êÚ];Q«áÃÝ÷Ôô­c'ï{f…PÇ`%Œ‹—h³‰s¤ßP& ʉ²uÜXÎ÷Nn@‹úIÀ©‹h:&4o­zócšý<¨Ò#òâFû#„Ý×E…ó\pqòßÕà”[áëIÆ7Œ+ížYIÛI/1VñÞa¿O±éiíâðT]¾"½†‰ãŠÌg(˜‘+žn¯o9Þ–¯ØWO(ͪ>®Û2ùu¶Ï)D-Ú?Ùï¹'v"§-Mo§8 °v¸*Ä™ù¡×6  h©³´ßËÛìVûŒÉ ñ¨ØÖ³UÕ?âÉ#š@틘)_DG÷ü‚o‹5xßzæcýÞeCE€v“!@»Oœ+¼#W»^öe¬Íîíš4éOý÷­Ø¯‡±o‘ú1uƒ¥ÍÖw\ÛŸ‰Öž[Ïî‹øäÀüê£8vžÆ)ÿOJê@Oe ÄÂ…(9جN ¬É úå?4~!ªðj›XÑՎܰœ4Å~’lAë£_⹿L†r ðoý.”Í×ÊOdÂ\ø!Êųñs„vJ(ס“¦(N š÷¬àŠï=qÒ³Ê 8žyÜö¢œ°Î„Y½fñöæakÞíö¾³oÿöwxå·ÏÛv­ûÚßxmÝ©qxÜž$ÚGlR³Š±jA¶®£m;Ïε´ÙÄþ`Ñm8)/æ….ŒàãWÊʼnŠqQî;ÁÂâ¯^¼ñDÝøÝ[±YÑH²ÞUƒ$vÿ#.å'Š{mUîYü¨ï™K«M~ħA㔞GÉA@]œÄS"m›ò  ( ¹Æs×Y#D0Ò IºûqoêÖ+û9W„Ϭ²ÕÓZŸ¹wË]Jõù·Þ+Ñ×òqò¾hU´!dŽ¿ #†_’ŽA}dž™ÀÏÉǽÑ}Ã(¼4ÛIúV=oDý\æ¢%S¡«ëK;V7o Þ•N|}ŽÅ)gbó–Í¢Õk˜Í ާ¥¯nqsÚD»ã§r X;åny$òÌj¥uò ®³F)—Z¥ÏvÂ&’žªÝèì∦éy†¶É3d­Ó¢û^ 75 þȇ8x¨Þù¶>­|Uê¡EVû'ë=÷M4΋-JÏ%l[§;ÄÖi¼[$D踡Lœ=¯h/¥æ`Ýš"´Ày¨RKu.¢<j‰‰h¬W‰ídwÑ¡§Äu´‡•„|Uc¯3‡±gM¡>¯1¼€:ñ˜y‹Ù¢tânëö½öÞ9zLé7rH´ü@lUÞ)¶*­ÝQÖTo9]çŠÍ¸.ëÌâBüÓWåÓÓñ½øïŠG]Îõìö:¶ç"OW¥ÛïÉY¼Ý}Ë ô…¡æ ÿN}Þ½ûvÅÀ‹<Úa¾‚·þkݰRnuÀü»†âëA@øþç{ºSô艟OIE%M[ Î)Œq¤†15ÞT!ž7xй%´ ºÏëÉ@@Ȥ<㋱òÖ~ø‹KZ% âÖ¾ÓÅ}~Õ ûsuå|ùw-|s–ÈÒa•UU—-!3‰ þ儱`ur˜ç†gôÜÕN|dm.*à M?Ÿ ®Ku»¶`Ëá O¢ËÀQÈ6mI8éYåÖQ9nɉ–ªuã¨ù;ñÞ®Œcœh‚¸ß=¿EŠ=-ˆ­…±µØr)F&¼užp÷yKªõíÖÚ–<õ‰4â[Ÿ;T†ž˜vÏÒU jœXÇÎ{ Î=;°fõZ<ÿÊ»Î×sŸÈÖbT|¦N^‚…AýR7Ïâõ;ÄÉÂ<#?ÅŽÛ¾ b\~©a§Ë6òëS^J^êó¡•²xÉ ôs¢‘«§dÜë‚>bsØÆôþ¢ûáNplE‰ÁíšÔ©º¶+™{”ED Ö“ÆÜŽtºï–·^ÖytýÌÊÔïÆü;¦+öY­ÖßT±ÏSˆ¯­AÕ·Bj|œñP½FaûT3ÖˆS%?—°žLísÜålé¼%¶}õ¹µú:O±£ONjŸª<mÈ3ÛrVS©ú±Ä©CKÙ?ñhZ©<ícñƽãgë°ö¹çe^ƒ}9êÀ3ö¨íÔfQiĸВôT'*ͽ_jÖšñ{çV¸Æé̼Eø/Îj¤¸•ñ:`«ixÌ¥ó—š)jvEÖGÅN5QcÕŒ&d®eõßÈ|Ó¹‚*Ü÷<¯Éhã­¥m­Ö_=V×tÖP½ï=Vš¢ÿŠ•ÛÄDgÈÝUYˆ™¦V°F7EQÏÉ;”Ûs‘§·Þíõüì Þ.ê‰_LKõ|áo»"ƒ­ñvoÖ6Ro1”|-áY“h|ë‘rë¿/¢k'o$Ïù©¿"U¶·>¢moå/‰ ¨™,”cN¨…3áqAgNð<ròµÂ¸½ÔhZ©2ó?PnÝÚ¥yXõŸ¢úî‘y«Q\ªë1¿¬«±Ü“ýñ‹ªðÀcô.·¯åã&`³>73„l=í\¾€5³µ7\»O¬M/À%ç!¯›M{6ct~¹Yàæ…f@þi—Ü}Dàn“j ×šÐºÞ!y/5p1b îr±m³LlÛì»VÓL»VVœP(—_}þîêkpÉ?ÁRәеU…ª].+¾óW©›gñ#+<¤ˆ&Š®giCÔ‹‡ÕlÃÃj€öˆ“6’•€º…Ë9Oü%vúqkÜ;ƒ‚· ?Ê"îL¼[±j]?õ¥ £v÷«Ø¶í×xíy*èã–'5ÙöZ-füvª!|¬q\½kû†QXÄÚÖ«¥ .­{ѹ8WZÒçh±}Ëé$«E‡Q?ŠÍ¿±ù§¢Vâ«Ï­Õ×)·ýNÖ3ã ]&oˆ€ºÅ‘¶*(Só?yú ÞyŽTö"°Û!^±ÝªQ&eœøDÕ™q_æ¤i—ãª+ÿ×|õü¤Ì܆é{ÔvV™Eåç…ÄÓSÆ9ÉÃåÈ%0Oq¬4_q¬¤…‡j‹ÊÄ)Ú €:0­ q´ƒòLjö;«7ú÷Aê¶ùB«$j"3rhfÍššÌ»]ºà/ûß„%[MMK×þòôÏýØlŽ8Ûóc˜pµ‘2ß·ò÷¯+ qÄ•XKÚÚ•@Ô‰« qØ(TÙæ”W£ÈmdÑL_´edh[›k(¦d{.òŒÕN/œ=Á›-8K€´"sogn«©%T‹*‘’¯Fì¾ý›x4Õ©Ú×¢"òBÛ# dÖ"±AÒ™@9ñÏÜVÓD&QâÑ´| ænÖÔÛ%žúÕé4&"[˲'˜š/’NѺÈiV_¾NlDM0mD©Fæ&°’®jkdÆšj ¬¾Eº$νu—·¢1Q­UTëcÿþñN$c'È»ç-ÄúuÒ1>¼mYºÈ;4QÞ!ýÍŒk2hÂT'Çr)kÆ"ÌÊŽž]IyDžý§_¸­Å¨jØ:p ”ž…²uγøÑn«_Å3ÅfÓâë÷âzÑ‚Ó~ö€ô»ü/™ ¸žQŸv§ìÑýð™Ûj¸ØV•v˜–¾[ÍT2º~Áó‚pC=þi7ª+ÅfË­©¤ßœ^+‚“OÐX¯ö?J……¨¢Ç¹Õ4XÊÆÑÂ>'¾ºøÕW5‘áëí2™§»ÕÔ~f< Ÿ‰6J;¹oêVÓX¦Còa4×ü0ª<ƒŽê©º°G( ‹ž˜…áƒz*[ó"òaçFãÃŽ§Rû§@®jfÍ'œžô)ãì9¯³Û"8›&lž#ža‡ÍÈ)^!cõP¥¾Á±ã¿Ð¨ (ÛñÅ› ªjŠümÊÉöÊ;ÅnŸ¾%2ÆP+iW{Z›ùkìé­ŒdËîK²e×™¾Ø)8ï ³Ž²o&pКm©Ûÿúõ>½4—a– _OùTo¡ÍÛ”gGñ*\Rõª˜ò$¨ŸŠ|¢e_ÎzUa\"lÕdsFg#ÏàñÓ¯¶çóµ6(xΔs…@šŸàM±û†Naåô+p©Ï“ññŸÞÇ}/|*w¾ˆoÝš†Ñ—vð ÅKÉC@ÈZÖáû2)n‘s󋣓¦ÕÁFó £ ¯¼6œêQY8Ï5ý½¾òm<*Þ}?rÚÜFµI~µˆõ%¿N\cO°]c[ýÊ­ßQ½ ‰FO¨á ¹Í­ÛDsÀÒ¼vâ+íåâ-ž¹jÄ3WÌ~¾ó¯ŸÃÉ:5Þì¦æûuáj}IŽs2\¿K¶©,~QÊÐw–=Š'~.š™Úö`„ ¯‰WÓ"ÃÛŸmODÍOËKÄ&Ï0ëÒS3þ v®`RÞ“Œ,Ì|ó–j«‹f¶ZÑù7) ¨‹Uk&‘ÂúõÃgʹBàb[6ÙaÔg=ÆBÓûnmæã‘_ý"õ¯á‡s*pHœÞsá“Èö1ú´«âN̬4,üdÌX#žYÇÄêäðžFöaÎÓ`¬é•ù€ÂB·©'[Ê|l.ûEJü€R©ÏF Gß>GÒSë²"À˜_uÞ¼­Ï-$²>2Tù¬p²Ÿç®~¤–É·¯Œ£ ‚ÒNnÁ›´™8WÈ7¬åz“TŸ ý£n@Û:XUM:K[Ú¹k)öE=Ú:j~\½ÉÅ8O4½Úê9â=Ùxã‚Þ5;÷¶½ ”W=Šá–Å}5ài«s‘ wY #½7‰'t‡`­ê=ƇÄÉÓš×>Fg¿ÅÂ…¢®f½éT@³y™%¾0.>YvŸôU4ç•9»‹…ú!<Þû®ì“ÖlkuçBðN÷z)±/Àä%5(´<ÙµÒ”¤öœNÝ•[§Ï;{yºªÓŽOÚ¤àMstðMqt`ýî¸õjÜ>Ðíæà£w «µ5´Ч EæEÃO¨f%dýõ ó7¼Xµ~ðW=TúÐËdi+†ù÷$V¯ÜƒªÆéÝ“®Á¸Çžˆ<=g܃TÜ“9¥¼jæÄW¿âJàŒ¨Y6Écó¥wN€9G—S‹ÄÜ=e'Í ÁÕ’/ Ù¦PÍ¥ü’šÅ¶:«ÈêWcM;ì%Ñóùe×ÿª[gõ ™3Põ°xXô‰X¿kî˜éxrÊ(’ÅG޳ø®›ûËU€ñ%âî|lëT™Ü«[]bÈv媢(; F"¼VñUê{èdÍ"êø5êøv®O ëă¹Û—ë® ±ícUªv¶ÂKO-M<&®özLl‡·›/d¨ÏàÕâÜgض ¤nSO¬ÏQ™%8o9´Ež›R³ !­| 9#Guâ½y‚é½Y h=svÁƒNA†3ÑAiû?³-g¥¦§¾»Îóš({õök„½jÐ3Æœ)ÁÛžÍó‘_n|úãÊØôê°fyê3h;/¨½}®«ý]`;Ùñdçȃ²säYÃ1ÂdÙúWè»õÏŒ BÙù"7jâöül'ã \·¯î©3B¤¤âƘžÕ¹Hp;ïÛ\ˆi†Y{ˆí¯ey´é™7¢EMð"uf|JO¬j“‚7àoØVõ–|à4Þ׆\ŠÉ_ ¡›Þõû:¬|×”~I®Wôdžq½ŒÀ¾B5'ý( ŒWà×µ÷Å(üÇ^¸²GG?ògl|á0^·²›v?›vî…Ž'ž&u K`2§”Ü™ð¸ãkÆHɤDHÍBñw&!cÐEødßÿ`íÃåŽÛiU‹mSÌI3xpõ£-¸o”·UÀTLï8ã3#E¬½½µý§(­°oŠM»mÈóLp­˜Þ¿ê—|ãžfDúNÜrÝWÐ#E{öá•gV¡âYËŸ„òÑ@ð/·‘b½ ÀÙö¬]‹®¿ßÍ;\»#§XvÛ´¸!ŒÏû7Œ¼a(R{¤àÔñOñqÝŸð߫ʠq|É:ì¹;ZlþHÀ h¡|Éá÷Jñ†6D¾{…¡ÌÉøþÔÿƒûuÃñoá§‹Ka;A3\èddæ• `ÜWä]>Ú7ÿËÊÖ›“@£¤¡¬"TGÿPg¨ÛMõ»iã±ðÞ\ ØMúŸß`õ‚2¥ÿ‘‚7—“#äÉWÙk6i^㟶C@]œ¶{3ÕñãÈhóŠÅÆOdÔÃÿ<»åë­åž6<8›TBàâ8@ˆÒ’w«¹¹™oý\Úcòʈ·×©7 ùª{âüá×O¡¬Ò_ãqd  4ä9Eå˜xÓ œ:R‹m~„J»SÐî*ã¡ÂB»£ÿB™(ž'¾>¨NÈx\Uñ°këkñ:1ÑŒ¦Ÿ—e"}ŽÃL)§U6ó¯·6›tüŒ…È1ÝN}‚ß<»eÊs£Ý?“‚·3щ>³þ´š9?ß0j»+}¶oX')ýÈ?L4û,ygÿùºøtßKøq¹{ŒÑžA_­@W^î?ОËÒdô—‘Kžë_¯]†ÊW ñ…-„KžÀ7¯„Î"pP ù#”¼©ÿ„>—¦cŒx‘ôS¸reís¢öwídÇSµõD¸²®*æ;£¦-=ŠÞ 4z¼³Yi‹“¶îé™1ÄÙK¸»b"¦Wš,BÍ9úRç"ÁïD xÎHG°¦­=JæÜk„ÿY{TÌ-‡ùÙY:áɲµÐÞŽšXy¬Š©žh}žõc¤Eæ"‹æLCzoàmk0w©ãÊöØi&hyÔö8Óm­Ù½Ý2¤²¾rú©é§ÞܶÁÕÿ«¶©µêÖÅÛ^òŽ,¼£†ˆ(úø!lßô„k]•%k–Öš¥¥lÏEžf›¶÷?­+xSˆ·Ÿå@B®˜fãÍÿó¿àÇ«ßů,AWPKö¸•Sàë~¸A<ÖêžNÚjjÆ?ð»ÿÃŒ—µ­¤±~0ÚWðuMÃŽ¿$' ƒìDkß|“9¥Vªíïdð|¥ÍU¾Ò*Ñ\‡†§Dgó¦³eÇg3cúO¢äf¸å¦˜ö8\Ù¸NÒò–`uWëÆÄsâÑóÜ: ÇÊõ`ˆ[áAÑ$𩛺mHôûBïÔ;º½ÉVÝÜyƶ»¨òø\ð×<ò ÈKí˜@¢}„:q×¶8ÂíÚ-å˜Rj}Ù B*[¥«e«´Þ4`Ãã°T‘eŲ¯+“÷Ú-J~ΤÖãw ,âÜ·ÝÛ¼Ú î°3NضÁi<³-žã)õQßݧ§AˆÔÊ;;ÅÑ~vÀDɼnSµh§5ó`«èDü¯L ÙBMCV´È E‹ÌéÁc{¼õOѸªöwÁÏ€™‚°xðÆ)¦}bÏ3꓉ºU×çvô%e|Ön:4Û«Ôb—­I¼›Ž¶½›Fø’†EUÿ‰ÊÖ•ÄÊã¤ë´·ÿ»ïÖjs⹎ČM•˜±qÄ’‰òàî Ù%P©'{¦ÛZOÔ×iˆ«ú‰¶Ë`½ì2P—?±Ø6ìÞ€qÓ—F'ä¹Ê*ÆS ²]J=-e{.òôT§]ž¶ªà-rì(¾ý³CºC‚®—}k³{Ç1 QÚA¼uýr_¬ÐÇ?‚W^y«ÞüTÏC‰)‡0æÚþ¸ëº®ŸǃËÿ„×%Ä×2®Dif7w4íLÉ÷²¡ƒ°ì&õÕþ|ð–íí¶Om§jéWôÄ=#S1°%ŸeÔ„x|–¨ İï¦jŒmnFá)Y½ײuáš¿J⻿©v'V”/“/Ïê>#‘TÑzùά;1¼¿ûû»3¹w4f<Ù*¶ŸÁäzì¨xÊ×÷¨9¹|Aœ1¿“†·LË«~Ïüxùñ¬O}ÌZ‰–Ýägóý:é >þ^´^+Ÿ(N VªÐª¿_„2QËóleŠÔïÁÏ~¼\¾¹§mV|íojÆx|ûžocä{Ù§Þæ1 (í#äkÿƒ²ÍÓô4ª97¨y`¤^ƒ¼?å‹Åó>®3rf hú$ R»YV>XŠŠç£¥oãgˆíh윛 ÓL>y߶ѱ‰X¿g ý°.½4©È[Xˆ ªF…fÞÞkÕ>Pm:5;™µcñ Y DêvbÊ„¹º¶dlçÁ5ˆ=î5aç†X¶t³K#ÓHM4¥‹æ`zÎ0÷ÜLÙ²•)¶ÑûÙFS„^m-í„ß­àê!VýíڌNjÆzô._‹Ò7sî;Ä3_‘YÓ>ÑB™…JÅ1ƒ:‹âëG*d[ž¦)¨Œõ m;ÙŠ¼¨()Ct¢mô@²‡ªËÙeÑnµ°Ï9"˜§è˜[8o‰ÔcËŠE(õh·iEJÍ*@á?}†‡çUês¿±_ õS8ùmåµÃ·¤ Nã™mñO©OHL…T›¦BZœž¯m^ŠŸ¬wyé ¥eaæý÷¢ß+ eK´6§ n[;)óàÐÎJÍ­ˆîô9h1F_¼ÙŠpHµ‡uèµJÌÿÑ&¼k¹ÊTŸ}oFÍ‹ýà‰ÙFç×o¸¢‹àm¾Þ ½Õ,¬Ù±>¦í(®-{öÕžqVÏjíY%íé^A¨iÉÇïeÿŽ¢õÚ\@é Ô Ê±¶öøQùÃ2WZ@›;̺w»—·ÊºBûðÝ\yœÌÂ"è©·eðóQ¿»‹M{Ÿ~3sr æŽu>ĘI'ÆG"µb[ÛµÕú©Uc‰ïú*¸ÿo®.aqÞðÓ'-ç蹞6®|oþU´>ýdÞ-a«Õç\äisl§­*x;{Lÿ†?Fã‰ÏqJœ¤È¶·K.ºÀ÷á<“e:>‰úFÉósÀuè€^§ K§3™Ó:ŸDšP¬'DݼS§tíÙ!M¯¾UaÔ×Õãø‰Sz.)Ýz£OOuUßòÌÃMõ8üÞ‡øøÏMòÞi¿N¸¸O\>¨OŒ‰CËóK8f¤ uuGp¤îc4éÌ»àK—ô@¿Þ}R¼B&œ.#À  ½?õÇÂ8%Ï&¤?èݳºϸmíúz³ÿHé†îÒ8quµ‡ej'tï+Ï·O¿¢y^¬?v\ÞÕNHéÖ={†â#wŠ0Üð–ÛëàÀÂ$Î+4Ô×£ñø‰=w-E‘è»Õò|Рéyggt“÷ªK¬—¸™ŒÔrw’w¼gŸžÁc©"€Q· 7É{~¬QÞóSЭ{wô µ|¼?Ý>§™êߎ˜ók®Ô]æJNgï ÜI¨ Î@~ç<‰HM'OJ1:ØÏn8Ü„Ï?×–5Š1}mŽZ/^M³]ÁQóåWú€NòLvu?“á†:>&#WJwôéÿ˜Ô|¾ apÆ~™jÈ\£{3s +^kýÕË£÷QÚÔGú9™ËøLYZ+û3˜n u "{ñÍçÙnqF²v©¯?f¬ÛL·ÅlÏEž-Ô¶#ž'‚·¶Ý,= $%YàÛšMÛs-_Ê'e Y(h{om¯",ñ¹$ nÍKÍ[C£ŠãrÈ•Q„Ër‚ÂQ±yH€HÀ"@Á›E‚I€H€H€„@µ{"¥wGüúñ{±ÔôŽš³¨E–r"8w(x;wìϧœ›ÄSãhËS£Xðçß{-zj†¢y¸ï¥Ÿbšlïµ~qÛÖ³"ð/ €M€‚7H€H€H€Â{*Å^K…„Çû™û&ÏH€Î*Ű,ûŒgµL̬MØ]YhÚoSŠã_ Û`™ÅضØmØ]‰ÁC  fPðÖ Þ&  öD@Ý~dÔ;C¼ŸýÈåý¬=ñ`]I éˆ÷Øòì\Ãî–ÇSbÒ••J©[e +IDATrìÙ² ?,­Œv„ —<„œâ2Ü›=”[L“¼%Y< ä&@Á[r·KG$@$@g—€Ú=Tû>9:vÃW R9œÝ¢07 ²°é¤XÁW ã„äeˆƒ€8µ8tÖÕ‰Cª"'ÄiHÏþ¸rÈ „ZÛX¥c hë(xkë-Èò“ $% Þ’²YX(        ¶N€‚·¶Þ‚,? @R à-)›……"       hë(xkë-Èò“ $% Þ’²YX(        ¶N€‚·¶Þ‚,? @R à-)›……"       hë(xkë-Èò“ $% Þ’²YX(        ¶N€‚·¶Þ‚,? @R à-)›……"       hë(xkë-Èò“ $% Þ’²YX(        ¶N€‚·¶Þ‚,? @R à-)›……"       hë(xkë-Èò“ $% Þ’²YX(        ¶N€‚·¶Þ‚,? @R à-)›……"       hë(xkë-Èò“ $% Þ’²YX(        ¶N€‚·¶Þ‚,? @R à-)›……"       hë(xkë-Èò“ $% Þ’²YX(        ¶N€‚·¶Þ‚,? @R à-)›……"       hë(xkë-Èò“ $% Þ’²YX(        ¶N€‚·¶Þ‚,? @R à-)›……"       hëoû÷ïoëucùI€H€H€H€H€H€H€H€Hàœ à휡gÆ$@$@$@$@$@$@$@$@ç3@ÁÛù\iÖH€H€H€H€H€H€H€H€Z›o­M˜é“ ´K¼µËfg¥I€H€H€H€H€H€H€H€Z›o­M˜é“ ´K¼µËfg¥I€H€H€H€H€H€H€H€Z›o­M˜é“ ´K¼µËfg¥I€H€H€H€H€H€H€H€Z›o­M˜é“ ´K¼µËfg¥I€H€H€H€H€H€H€H€Z›o­M˜é“ ´K¼µËfg¥I€H€H€H€H€H€H€H€Z›o­M˜é“ ´K¼µËfg¥I€H€H€H€H€H€H€H€Z›o­M˜é“ ´K¼µËfg¥I€H€H€H€H€H€H€H€Z›o­M˜é“ ´K¼µËfg¥I€H€H€H€H€H€H€H€Z›o­M˜é“ ´K¼µËfg¥I€H€H€H€H€H€H€H€Z›o­M˜é“ ´K¼µËfg¥I€H€H€H€H€H€H€H€Z›o­M˜é“ ´K¼µËfg¥I€H€H€H€H€H€H€H€Z›@ë Þ"a4†#uˆ rè˜Ò]»vc\Ž„a%Ó±sWtî3x«ÝL†r$CZ p ·÷úLjAH€H€H€H€H€H€H€’„@« ÞßZ›óW6_ÕP:rIÿ< ©]£ƒ¿µbòW¾¯ß˜ºr;f]Št®$C9’¡ §ƒ:üö*Ü0m9žgÖNGß‹UÿHD„¹ò¯cçÎ8G²ÙkÃà$@$@$@$@$@$@$@ç3Ö¼‰åfMÈ’À/wÞJ|÷¶k\‚“·VMEþòwôTòEð6ý ÞÞ^5Ó–ï:§åH 4©4‚šûÇ¢dkƒ\KÇ“/¬Åµ>‚V%BÔapý±jÂÍX®ÉgLÅ3U³êEeÆ $@$@$@$@$@$@$@$pΞà-4s¿;]”Â65Õ¡öw¿Á¦­†0˺Ê.ůJÆÁÚ€z°æ~|³d«~{îú—qûUÖ+ÆÙù› ‚·da‘0ñH¶?QŒâµV[§c¥Þ®IPð\ÿF¬›z3Óå³-ê%\'F        Ξà-}6^^;Ŧ¹Ê>Œ§¹‹ªí¤Ú½Ü%Ïá¾ë{™Á"hl ËqÇfíÁ™ZåO2Þ€ä`àÃo=S:!EÊÒ­›”%tæ´ôôÒG±Ðì›iÕ’z™ÏEãQ£^R-©WôÐ]­›f÷“ã'ÂpQÞèÛ7¤§g0“ÐJúî¸Ñgª=¶è»-¼i¢7)†Rã°«¦Ž‚±#y–l߄뵇ÍjdO¢Ú|€´¹/›h® ÷âÀÇBHÚWedeÑxô \Ÿ*¸ðÛ˜~Ã4›. ü¹*ÜdI­ðú߃(öMh¥µì–}`gÎ.›,ׯ…ç~8 kwyëÂÔÒå˜5î*W.ÚÉÁWŸÂƒ%‹e ʉgï.†V³tq–±vú5Qñý.ì}ú,ز=EøhüNà;w™šo-¼Ùõ”u{wSoÈ÷m-Ïa÷¬ÁŠ»®6²—ÿ÷¿ˆÿøÁTû´ù˜{Êqÿ]7¹„Ãv~ÂuÓ/nÅÖâ¬ôB’mÔåÃMÞÂ#ÅßÃ&ï}„_Vé£.·ËÁ       óŸ@r ÞD—É1¾ܳRobÌ~H{¨Îö>5“ºì¶ÁÖ3›pS_C‚¦ç·ƒ„rñË-÷!Õ¾•8Œn…éx5(5¹>Lìš­Ðíš½øÈm2DŒ#æ®Çc·G Ãç¡1eØòÐ(¼Ûœà-FîÖ­©²w–½ØûÔýÂѰ¡g… ú›ˆà-:°Øa»Á¶ÃÖ’í QmpåL¸9ßÖzó M}Ûg]«_>üê Ü:s¥7ˆû|Ä\¼ðØí¶ðMÍÏ0ñ³{ÖlAr(ñˆŒA$@$@$@$@$@$@$Ð& $™à .!Û°Ù¢­4åj×5[ðæÒ‘Vî\Lÿ—ëp©(W}ôöKXQö˜­½Ê]‚í÷]¯7Ÿ %{vþuäߣŽá÷ÏýÅËu3£A³ËðzÉ(}»¥×.‡„Úÿôlä.´€é¸§ônŒþÚ`Ù^Æß=‹‡KVÚ‚¡©OnǬkCï 7ä.2òíUÓE/ÊýS…sÍiÿ©e3RIÇì²™¸ñï¢ãñ}Xûƒ™¢Ùg¦¯ØÛ ï]‡&?fg<`Ì=ø~þ-Ø-‚o<‹ïKÙU½¹Ó¼¾6µžz|å^üÕÿàÔu(–²?Ñì›û] îô.øuM_‘nǨ[‹íº¤ËóRô/7àË)'°çå_ hÑ&›Á0„®0¡j~F€a˜÷äw‘9°;>øýf|¯ØÍGÓ¤œ]^„1Â=üÁ.<9«ºW‰<`êTÍ2žC;3 œ·’Nð¦j±YBUøa ¼Âo)[ sñ®ûl-%½µ^ĨQE¦ e*¶ïš¥ ¶Ô´´p÷¬-¤kÜ"¯†·ÖaT¾%Œr¶‚ªqírˆpíéÙ7À’»ÍÛô:n»\ÙŸ*y4¼ñ8FݽV/–¯A´äFÙZró~)ñ,Õ:-dd/f_7YßÞ Ñ¼{fû}ñ‘¿Òs]6ÊŠfÝcn¡‘ý¸ÿº\zmðæå¸º³hξ%¦Ì0=‰l#u †"ûk06·ÄX%°ÕT«†û× ‚7»í"xjúuX¤ïß•ú½.õ³›Á­I9Fky4 Ã{ŸÆ7&/4ë9›^Z3ªmŒÁú—‚êTwï:Ѻ|̺ÓÛW@äªÎïpüL~bçp»Ø9To;yD$@$@$@$@$@$@$p¾H:Á[Ã[+Dèeh.ż5ŠàM¶J\pOyî¸é*Û±€ÖPûßxûÿ¢Á€Ìë{ª %”]Ží%7ù¶©ªm–.vÂÖŠ05®#@“|ÄÎÜÒgÿ¤ Ã}MÑdj¢G_|·yobW­æ~±7gˆÂ¬ºZñ…ÃÍ&KóO»Tõú˜y¿ÄC·¥ZI™#Ø^:źóŠt<ùÂZ\ÛQµ57ë_ WÙÂ*'ú«OÀ̵ƶXo9Pñµ¦à-FÚª6]œ|¬õwòñöºé˜ö˜ayÏOÃ0·\<ízŒñ…ßÁi†v€lk­2·µÚ4âÌÛÏ       ó†@Ò ÞÞZ1Uì¸â4KÈ£ •×Q<>ê¬U÷AŠ.шìÁM×ÅЫ‡àrñÈéý©iYÛ>½a´sÕ¾Zs‚7wü°xX=Š>:ˆÃjñæo¶`ÓVk§ÛFD(3]¢žlürW q™*$s4î´|Ôò;,Ôë!”>³ãL›vjÙœ¸†cƒ¿;âlw Ûq«Ìí¸jíØÅ"i5Þ‚o‘ƒOcì7-m¶˜=7'?.tUôÔï\$)Œ‹é÷ˆ‰»®Qx›ÂÊ®®H.6cJ7á¡q^ âmU4—krËf=ûºÓæ @Û&t‚7G8ä©ü®éؾ…û'åÛ6´¢›brgÏBÁ”›ìí}NZéX²}-®–ÍɨV‡ÍÅË+nÇÿ86Ð"}{;V¯\ƒ­;ß±·eF—Ç©“uïÅÒQ(ҵЀÙâÅuŠxqÕ¼žÎ¯§úF3oñ…ªÿœò»Ór®;¬<¬¿NCðvå{«pó´åúmKÐd…Uÿ¶uÁ[ã[RÏ|£žj½bG }ý½°ªl,-9wºŠ@‚77ž‘ ÀyN Éo‡ñȨ[±ÉÔb³4º‘[Ød´Mûßz[·îÀ+[·â—œÙz²½ð9Ù^ØKN´`ÉsUPœ{º›ºñ ÙÊz·±•uØl¼°b Þ ¼í}Z¼‚.4¶ŒZ‰„BpåWÿé_ýzú13…kV¬pá½¢u6Ùp²`9PmÂåŠÒû”B:åw³p®û ˆ´ü¼aÜ‚7c;­U.õ¯ºÒH©÷ã?V„Pâ„àŒx5µm¼§­nÛ…ˆ`CAÂV«" ¸R¶¯pm/ö/¯*xó¶­‘œR. Þ,ÂüK$@$@$@$@$@$@í‚@R ÞT“ø)ÁÌ ÝA€#0r ›üZ(Üpïïû=žþI6ír¤pù+_Àôkº*Â' æVSEK*æVS—­91¿?»³ÿ9½º:ÆÒ"â9ô:Ósh´pæ¨8Y¸Åt²0B¶›>†wï…bÝf´Ýµ Îu‘ÆÊFÝj fÊöðöRÜZlxzm‹‚7Í£éñhªíöL´ü^fò¹~¼¹pð„H€H€H€H€H€H€H@!pVo1=:6¼é£î6í‰^’ØÛnÚs„Žà-rôU”|÷IlrÊþ·©®&Í ¾!öâî6íÅ ›½+¦\¥Ÿ$1eØþÐ(‡sèr(eïË)‡*x 劳†û¢54¼*^MgÎü¶#ªNòËJñ~q‰î}ÔÏX¿ ­ÔÎõøo׸œ+øÛ0 oX5õf,7ÍÔ%*¸rˆjGŠöW+k¼éÎ#,!™lÝ.[wwiEP<Äj§êïè«ðí‡-—º ÿÑaÜå›åª¶´PUK]©35ÞTÜ<&      óžÀÙ¼¥ÏÆËk§À²Uæˆ÷Ñ_âw/2=”jwB({n Fõ2´Æ¡’"ðR¼~†²Ë°¥d”Ë£©–ÊÞu³1ù1ÝR¬-›jZZ˜ü%Ï`úõ}µCû§mÿü†lÿ4ôågj\KÈ¢ÚóuPÐø6î¿yš.HÓ2S*GÇy<Žz´æ¬‚ÌÛô:n»ÜќӮû•Á}=Á[×jf_‡B#æáéÇnƒ%¯ÒÓ}ê~L[äl£MfÁ›# LÇš××âj8«¸_<ºêZ„¢KyÏ“²ôZ­zÊOÕ<æýRاvTxûs¥àMAÈC       ³'x §Ü©ÃlO’8¤œÀo¶îŠrF0µü—˜u“#œò6©Î¤JFäcÖ´H½ä"àÄÇØ½c®tF³×‹ã‚«Ü[M-#¦ÎCþ­ÿ€Naïë¿À‚E›œ2‰0êuFi2¿rh3¯™ÖoD~)îÿU¤àöÿö9<¾p­¾ÅѺ3«ï»©!·Ru² ‡íUÓm§V|¿2h÷œëþ¢ 0‘ýRþ\§üHƒyùßÄÀ/ý/®_޵;µ šÎo€x5­š~s!¡#EûëŒk¼y„kÙùÈJïƒ!7ÅÕ½:ÃÛN¡S1Ú-¸êËÝpüÀïPù°hZU!ñ "$ÖÍq¥à-¡€I€H€H€H€H€H€H ]h]Á›¢•ÕtÌ[ù¸íÍ ‚ó{K¶Œæ›[F-M3íî~qjëqjàÄrŽÈÐM²Ô+‰í³ í¶ý5 ·¤¹zŠ·ÛçÄÛ­ù6ÇUÕxTŸM»êV]n5u°ðˆH€H€H€H€H€H€ÚV¼E¿ˆÜ[‹\_^¦¡éøú5™¸aÔHÜxýU®mŽVØ£/>Ž[Š4i²íó—¿Â¸TG[ìàOá?^b–5”Žüï#ÜÕö6TGƒI¶™–?‰oý%kÝÂ-²¦wß½·¡¯&­3åïǪÒ`ùÖhéÛ°ìÙxà»cðÒ÷n-òÀÅã£nÁZ}k°ð,¨ ŽrÖ¼ü®vYÅW´·ÇÖÍÆý¯â'KŸ 7µ!ŒÉ/ÆŒ¾?¼Õ°¿7l¶xûœrµ-Á¿¼úø˜¹VË#º ñ$T=nø ´ÃƒXÿÑ¢4ýj¤›öù¬´ÞÞŽGÊʰÕÇýí°ÜÙ¸ïž)¸\ÙkÛ×ÈÁŒýf‰®!ég¿O·ñ6ýf£íÅ»î â]WIÞ*ÿ’ œ‡ZUðv6y…pìØqœ8%;XS:£[·nèÚ5Zúä¼™žNiÄÑ£Çp\"wJé†î½zAqJw5"áIG+ƒ_:aÞÿ¡l@í„ýú"ÔY‘èi9Ï›·ž75§[Äéƒ'DÜåH$`$F8AÇÎ]¡)Fc8"ItDgá§•¡áÅG0ªÈлG˜Ýåuí™H†I6ÜxG…qJÚJ½{õ…Ïã’$¥e1H€H€H€H€H€H€H€Ú"óFð/|·àm;¦_Š7j«†S·PúkNµFöâ±t‚x,Õ·~À“/TáÚ(u¬Ãx|­XkÚ?³låµFi˜& œO(x;g‚·ö¾úœ4)‡¶¢àîÇ ‡¡©xfû,¸ý¬¶Þ#§ üž‹%?¼_¿¼—®é>ú6*çOÃJk'®l‘Ý^uW”ÇÖ+S&       ¶K€‚·s&xkÄŠQ7c¥i‹Ìz„rËŸÁ}7-±›äÚð¦2ì·YeÐþ†Dв“f]Ÿ»þÜ.žaù#       hž@»¼©^SWnǬ$¼ Ë_‚eÓ¯?+¶Ý\FÃÛxü‡óű‚¹ŸÔuS„pÃrñðfâÚ¾Ñ6ó>-nsœšIEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/new-env-3.png0000664000175000017500000022337213656750211025352 0ustar zuulzuul00000000000000‰PNG  IHDRY‚ ´èsRGB®ÎéžiTXtXML:com.adobe.xmp 1113 642 ÷6„@IDATxìÝ \TUûðŸ2ì‹   ¨€¢à–¦–™¦˜K¸efi–Úb«-Ö›þ-{ÓzË|³^[Ô²lQËlS[Ì%ÓL3MÉ5qGÙ·ÿϹÃÀ̰#Ú¿ói`î½çœ{î÷Þ™¼çœÛà’$0Q€ (@ P€ (@ \–@ÃË*Í (@ P€ (@ P€šƒ,¼(@ P€ (@ P€ @ 0ÈRˆ¬‚ (@ P€ (@ 0ÈÂk Þ œOÑ×»cæS€ (@ P€ À•ÐUu'.d!)#¯¨˜«£BýÝаAѪ*½‰:Ÿ‰¦hìj_¥rÌLê¼÷묌ŒÇóCƒÚ¸:U° (@ P€ (@ P T*Y¾ØyûϤ£™—“Va\ªù—0þ†fÑ¥I©;)oå{›cp{·¦èÛ®ú7¼;N¤@kîëݼ¼]q[=8“”ƒowÇA=Nköš“š-õü¢àáS€ (@ P€¨A*YÔ¾{‡xáÉ­ŠšñKÔE,؃!}¡«b—–7îl]5»Á¶ QzÖ—6L(O Ec'ükp Þ\ òärZÊÓâ6 P€ (@ P€¨ª@µ‚,Ö;éØ©ÙœMΑ›W`ñÖXÜ!½S>ø-w÷ôGËÆÎx÷—Ó8— /{ »Æ£»ù¡ÄVÞÞí½Ñ#¨r Z™-G’àd߃:øh=dÔþôyX(½^¶K¯•¼üK¸>¸ž’@Ï{ð ÿÈÎÍÇ}À¢ à ãT3ÖçˆËFˆN¾ÚZxEP€ (@ P€ @M \v%=Ç€¯eFsOG´òvÆ ¤–¡;o;‹;ºû¡]SW<úÙ! ‘›Û™#Ú F†l¼ôýq8J D /Rò$@¢Ò ¢dèó±øÞŽÈzÿóã ¸;é0²k¼µñT•ùw·GDræ¬=‰¶ÄâÞ›Co¸„}±i˜2 öv °ÔôER×êc ¥®Q(@ P€ (@Û¨VeíÁD¨Þ&*¥KP¤Ÿ+éײèˆR²ò †ù8ãçCá&“ãª`ˆê¹æïЉ½šãÛÈ8‹9\T/–µñÉ}µIt=œuw½?–n?‡ˆŽ>Øx( ÝÛA›$WíhzD0N_̆§‹N›4×ÉÞj8*# -*à÷Õ®¸¢¡C𻡉»CeŠ_µ<0 Úëªí”;¢(@ P€ (@j T+ÈÒGæd™Ø«™¶C  ¨!@æÉY†ú¨‹Jª§Šêá¢,¦¤¶—õæ).-W›@wòçQæ«eèOħéqIæÐaG¦ä/=gÔ‹‰Õ8›® 53•U=[ °ää䘚Èß (@ P€ (`ãÕ ²¨ž)Í Ÿ.TÚñ©À‹)yÉ£™/däšµß é¹%Ùìãf Ô,¨3\ŒåõÒ»%93β¬ž“šWЉ‘^,ŸË€iè‡Å¸@rT€å¹o"[æùQéîžÍlòÉTª (@ P€ (@ Ô+>I¯Öž8˜]<¼HæZQîêm¡¤+jòÛeœ“^+Іp¨‰nÜdèP‡fnøL¶©”—E2Kfá\.êF9²Ž‰ ”`¹ßFýÍ KEg“Û)@ P€ (@ Ø–À²4–ž,³nmƒ÷·œÁ]ìÃÝîGë&.'O²Nÿ¨Mœ{ûÂ=¸kÑ~$ÉD·j‡Jÿ¤=èö{0qñ¨9[†un¢m “ÌéÄ úßn™ר;AÛÀ0PC׬{°Øj€Å¬Ù|K P€ (@ P€µD Ìu¢Fâ\•”’e€›“tªëIaz\æ`¹³GSÜÔ¶±i•ö´!;É£ž@dÔÓ‡Ôz{»â:¬óp™¥ ¨G¿¸úþŒNÕ‚wô (-›Í¬ËÊʲ™¶°! (@ P€ (P±@µæd©¸ÚÒs¨'™§uò”"õ„ P?7óÕEs²X¬,\PóÁ0Q :*0÷òÈì’ K¯6žÕ©‚e(@ P€ (@ P€e \Õž,Ö­ø62-½Ð#°‘õ&.S Þ °'K½¿@ P€ (@ Ô24ÈRˬØ\ \UY®*7wF P€ (@ Pà²JNzrÙU² P€ (@ P€ (Pÿd©çœGL P€ (@ P€ À`å  ²J P€ (@ P€ ꟃ,õïœóˆë™À±õKñÚ¼¥8–Ys»m)æ} ƒT©Þ¿¶xô—Q½Á G¦^ÕfL5Q§©®ªÿŽÇŠY³°)&»’E 8¶m%f=5 ÇǸIOaáÊH©di½^¯9V”]» ó^[ŠèË®h'¨ü±ë/&áƒu§ñÁÏ1f¯ÓxsÝYœÎ«pGed¸„=Ûc±%>¿Œí¶½ÚŸÌ¼K—ÝȨoÞÀ;kNV\On<6¬XŠ5»ÎZåÍÅž5+JYo•‹ (@ P€5.À K“²B Ø€á>zu1Ö®ZŒÏ·ÅÖXÃ’¯Ãª{!5¦þk—îGeC¥5âЧ£1ðÓ¢ÀDMÔYÚ~*³.=j+öé[ CKçJd×có¼ xàù·‰¸çáûпu&V¼5#Æ-F\…5dbÙè˜ðeT…9 I‡±jí×H*ŽEUX¦ªªr소,üp2^ÌEljñëÔÃe\ ìÚ›ŠÝUmºMä?üÛŒýð,R/§5¹'±&ò"Z‡ùW\K~öï‹Â¶•bW¢y`*çvíîÓY×Á (@ P€5* «ÑÚX(`S‰;~Äv W×Xlš¿SO‚g ´ÐÞA*iä{ù6élº¸œ/g‡¦Z}¦°FMÔY½ÃÌÅ®5‘pïý ¤E&ý±Õ˜¹*m'ÌÅâI×ó…a=çáΙKñÅΑxúzŸrêÑÁÝ]Uéåd1mÒÐÝ5sÓªšý]µc‡]Ù½ž½£ Bíjª%ö¸ÿáöR­ª»ö%'@èÀé2šž¸o3.âÜlú4”S™ìN}!ýÈV~º¡Ï…\NÆ$Ô”‰ (@ Pઠ\Î}ÑUm(wF TU ¿|º ˆ˜éc0bâ[Ø=£‚¥¢L¬œþŽ´é‰Ôï–b»úÓ{£®˜2ë9ŒêæCÜfüëÁÏÑ«V¬ÕvÐk^ú÷$„¸Z¶ãØÊY˜yä|òÜ`8ê£ñåk¯bÁ¦£Z¦¶ý'cÆsc v©Ý‰…s_Áª=Æ¿ó«ú^}irVOÇËUþ£xÓ!Ì_;ÎëÍëŒÅÊÿÍÅ[k÷¶c,þ=ý!„yê ?¶÷ÍÜ[oqĂův¶˜†7ž&Á¤¬_8¯®Ø®•kÔ6/Ìzרã/#¥üŸ/wÞ\FóÕÒëâ›ÏdE/̸·0ÀR¸Ù/ü.LÞr ç.$ËDo^ŠWg.–#T©"&¿€gFz`æè‡öKÆðãS°bÎ($”–wŒeýª–Ìè͘;c&6Ū% ÿ¤Ù˜:¡7´Ó“¥sg`±¶±ÆN¾G~NÇ”÷ŸFPYßúU:vã>µŸªÓI)A–ãžÄ‡©.¸&3 _œSCh`øMx¨£¾ûæ(¶{7Ãà C~yé˜-=@:Üü~ y=[ctÓlÌþä,š]çŒ XŸîŽÏôůëc±8&WÛuÓ&îx6¢B]@>“×eá–6 °ä€±G`K¼2¬)œ ·õ¾ˆÊÖÊÞÐ¥)úéÒñÚncÞö!Mðâ@_Í/3> oÿthYípWxKŒ s)wç·ÇÔª›Q F/ÌÆk÷·{ôY¼±9§´=êpûMÍqoG7m©ôÙØ¹æ8ü>^é`¨’ðnÓ oÃWtÁ74/Yu~"6}þ)~Ž’‹[’·¸oô HÛºó·:àñÿ‹ærÏþ!Ëëópÿÿ=€‰ñ¤[ƒ7¿NǬçÇjåøƒ (@ P bªØˆ9(P;âþĹ«;¨+<ƒ®C9ŠOVï-:–ŒÄ£2Ìg)œî™%ÍÄà=xëé;ñc¬ú„3Ø“zT,0eî"|4o\¶/Åc"±¨ãCÆQÄn?#CDR°tòD °ÀXfþ ¸nZ€‰÷})!X¼6n*VeF`ÞGK°hî@ê›!Ãdü¯» z5’ÊzaÊKw ™Ä@ŠëÌÄ—“ÇI€å$&½4óçNƒïöxxÄ\DËý¬ÁØØM`‰ÃKóaÞŒ±8ºöu,LÁ±/Ÿ•K ¦ÌûKÍF·£k1uÜGÒ–²ÓÉß×Êë@t¨Tw=N€QÿÁhQ"pá‡1³ÞÆÓÃB$´%Àâ3é%|´ä#¼4©Ö.x»R|qÇ3SÐVšÓ¨ÿ—ª»É0;ö'bûÁDl1½ŽfhsÌôy8tì¢´Ñ ¯ÝÖ7Ä¿ÁÁ<Ú5µÃ¡¨D/ár1: H•-½ì,ã¡’ò%(#¯TC>¾Ýž€ßÝðX¸Ö¯8)–<Ü%ÁŠ×øÀ;!S—œÂi©G͇Ÿ-žÚ/÷rÇ©˜D|y"¯hÛQÀs#Zâ©ü±7¯í½$Ë­ðïî.ÒÖ|}Z.ª´d<õíyðj¬µû©0;|±9Ëc Eõ”¶ÿÖÞ¸½‰êãˆI7ùÀ?3K€Å%¬)æi%Ç ßþv“Ëž³%?~7¶éÝ1°´@‰‰Üê· ²t8w†9âø÷Kp D¯¨ll˜÷¦XÜ0bƒ¸To$E~7å³í×V‚Zéûð÷YUK.Žì ýqì;e¬äø2×’C«=r‘ (@ P <YÊÓá6 Ôb¨ ŸK뻢wkÕsÃnk„ÔUËeºÑVÀx ³ÆôFPH7Lz{9"dÕòuG`“2iþ‡u}Bº ÂE“Ôø­Ô™WP½ ªCÊ„yoËtŒÙ½„ ·ª¿¬»aøŒX4ç!t jßæÍµàró$t=ú¶o*‘†öÞ >E Uçz-PtÛìO0A¶u¾~Þ\>Cê[‹_¥Èo•᥯ÞFxç0tü&ÈÖ=1…“ɦ#)1 Îþ=0õ«%˜ÿÑ(¹.+Åcó¶t\3´GጲòY®ö+w¨”ï ˜1m.¦OGP3_·‘ Rq8^‡náC1PÚë|#¯KYyÏ™ŽÕ¸ï¨Ÿ>•zaÑ'O£wçÎóMî*§çCì?¹‹cIó߯°n!ë=¾¤ÎlÑi5Vbñ³zÇ®ªøv§+~‹Ç¦×ÎT³IÝðß‘þèè~rŽq y ½ÆWÞë±éTž¶îÏ¿dvŸf>èj>ÎFzV¨KÔ­Y™·¦ú7ÎÁ2¹÷Þã:z¢cÛ¦xuŒ das¬ªG¥xö®ôm厮]šã.é±¹hcÙvO0z¸c€´Eµæö!­dÙ ×uóA *.í;¼/A¦ÿÕaZ_´ðp ×ùc°\“?4E/JßG£¦^è-Á#èœq‹´¯QCc0åbfž 0ðæÖ˜7´Â´•úãèÖ_€VÑVÚ]•”­wA×»'ÀéXþÉV)jgú#ÿìnl–,a£†£K /ü:Þ„1½ý¡—aI§½:¡›äÞ}@.™Aèàyã^þ­–ñ—Ä\Úôíl\ÉŸ (@ P€•:2Q€uO «µ!8Àã#TSÚƒÕ»âäÆ[fn{ÆÛúw5mßnVsI´EvÅcƒƒÃ$œ!·béÙ3+ezkHWÓ¼¶ÅrƒiJ®!ᘢ– ðp8ƒ™£úKŸ–âÔ¶ð†Ó ÝN«\ª€Y2¨›çÜܵx^WqýÆœîð–Ã1&Uƒ-ä6ff\œW_Š¥ÚÚF¸mÚ«hâ§-YÿÈ>¶ÇÑ SŠ*³ÎRêrìoû¡ŸfÙné/³þµçñW§ÇñÜ@wäû#nšZJyƒ1 !Á&•tÎåå5/®Â-áo†|m/Y÷ÒOÈoËsç,ëÈ«ôTÝcW7ó¯=ŠŽ¥Îý!A®øš²³ÓZ <aRãóX,Ý. ´Ç·IÀ]#¬Ï«±­á<µ V~ ZØ¡_Pq”Bçjý¿°†ð. PƒÅW°l+. -[~áX'©;»ˆFýí!/~!Cót! iÚrÙû0HF%í:öòżð\|¸5 S¿””ز1¦GxhïKüÈÁÏ‘zô~°ci£¯Jd·\!‘S»`L× ÿ]þ¾;Ð î2*I럒eÜwÔÊùxy¥y©VÈÏ÷ĵ½½¹ï8â»èp^æ‚™0N‡¥Ë"¾OŠ|Ü1¡cñgϼ4ßS€ (@ ”.`ý/ÔÒsq-(P«R"×I_éU2÷# kîŒl¹‡w¶OÇÓƪO·àÉÞôHĪíGdbÖë Í H/¼áWs¤DÅèb¼“7\ˆÑžšâm_êµt“Pw°–e2£¾ÄSKôxñà™K1aöŒï$ =–Žˆuê.Ð,•þ…‹?Od¢sçÂÛe9ì±*jV‹ñmJô9øGLÅoÍBf¢Ô±z.f¾þ8Bºl°ë=åc÷ÚH8ö¼¿8P¢Fë®èrK[`ñgø5öv 6¯S·üªÌ!Ó¿§3¢¾|¯¯òÅÜåke>9}$†|Z*3w4¾¯\^ O;ø¨_L¡‰sG¤Û$Ÿòs)vÌDX˜Ñì‚¶ÍEÛ^òGu޽d-U[c‡Þ׺añÆ‹X©“ž#.¸Yó3^ƒ¦ºTàÃÁâTI[ã èØªpeî% V|-˜ê3ÿ­ê.5Ù©À‹´í±VE×ÂÙp\ç™’¶2Ik]N6Òí<ðòCÍᘗ‡ãщ˜³1 3sÅbúdRöÿj rTfÂ[ëÂ…ËžnÈ6‘ø~ùÇÚïVò¹÷m)ïw`àã/¡sc”)7ñv3 @"MÝåó¿íüøƒ8ÃnGX;' ­|Ž”¼Þ=Ѻ(hUÆN¹š (@ PÀB@ýÉŽ‰¨cÛ¾–¾&`´ Añ @PP€üÃÈq½$²Ûd~ GuϽj*æ­BJJœL;«dÕá­‹4Þz`&¶ÉÍabl$æ>úº¬ïë¬g¾-ÌíÖ_nôÖ3¯a§*½s^€£‰npË6…Däñ¾²¯mKgjCZ~QëÉ¡ RaûþhdšÝg;†ÜŒ±QYúøóX/Ûâ¤Îמ|^‚=]ÞÎ^ CQ‹‹ßĬÇ'ŽÅR.Oçwu·ØžNwíÆé‡ óœbè!ÅTâ]çÛÿ%-IÅ«ãÁ—Û¢˜’ˆèÈñÔ¸W¥t[Œº. 0 "ûÎËÇýX8ùi-X•ž&]‰ [+ëÅeV×d´»yœ”Ý„'g}‰c±qˆÚ¶O¾¾INÏD\|f¶øáÿ`ó±X“mªme¥j»±º>ž‚ƒ'R°§ðõçÑœÎ4öèPÃoÌN§E ¼e“$T¶P&žmßŧ( Q”I†™'Go —S÷íšhl”GÇÇ'ãM™;%C†âÜÔ¬8`UÚµ`ªÇ|›EìÀl_mÂKö ¼²îÎÊPŸ³'âðÈú|_`ª¦ÔëMm4¨ƒ5dc‡´/)þ"^܃7·'#^N³‹ñºsvTó¶X§lü¹6J¦êU4³ÎQ¹e;Ü0î~6d(¥<ƒÐMâ¤?¸ Φ =ñ$¾ÿàcüôýQíÜØ5•!CŽz?­Gh' Ð9àwY>žŽ0*d ËTnïÌE P€ ( ¹‰@ Ô=ÕÛå~{ÆÍ%nØ‚z߆€×·ãëM'p“Œ8i]¯Jï–B‚ˆ)‹0!Ì™ÆNèÚ+ÏOU¸µ+^Z2U{:Í1-Bc\­+z€g–ÏFê£ÏcêÄ›ú€ÌŸ3}R0¥ÿ&¼õüÆ¡;ýq[¯¬Z5ÝÜÜ<K_ÅÌÇc0oírxÕéƒÇ>™Ô'Ç«O4îPž‚4cÉlÈ<ŸÐëT/Ø—òMÖyâÿ0áˆô"‘r*<¤RÄ”ùèYÊ臘?äÏøîḦ”mÆ’eüt Û+çáÝé³°àù‡±À”Mžd4Ožd¤:߆=†®K•‰Ñ±mÿþ8º «ž—'#ýö˜ô†é%½aàÈt¬ú°ì¼–´4ÕÇ aX>7 Ó¦J9™\X¥€^“ñÞ ƒµ/õÇV|<õ f> ‚1äÞ°}–­Äj»VÓ%,Ù|¶Dwpõ2? <싇 Yç²sCD˜D]­‹‡h©›z‰IHGŸ†hfQÆmôoÏàm ´hI瀧nB¨ÄXôvêo `/Ó¢X']Û¼œ ÿÎ i_:æó~¸ÏnNÀ#'´ªÔSŠf]çÝyõd¬Ò÷¡2†´÷FÓ¨¼±&/ß‚wÊÅöž“Ivµjд‰'¦__|¬Æµ2ǯLx»YbnãzŸcÓ¶Š~+/ÙÀ9¤pØPdáÿá=qÛ” H]¸Ëçÿ×X£Ìkó¯ˆÂÇ=Ë¡^­¹9 í‚ŒË¶×øcÛ¶\ô­ê¢¢Ör;(@ P€¨û .Iªû‡É#¤@íÈÊRón\©”‰ÅÃ#€×Æ$yzJf¦:GW8Þ«eF-EÄÿaѦÅËÏÔz—8ººV:*«ÏÌ”9.tðtUAâdÐgBoÐÁU[oÐö[ÙzU©ÓX¶¸ÎŠÞôò´$ébPÞ~ò³ÓeV¸;—r‡^Ñ ·ë3¥—@¶te‰O}< ‡6•5« ÃU!ÄT/ïKÌ)¢ \F^U\£½táZ´»ã¢ÇUG¯œŽ‰oecÑÏokÁ)•Í”jâØMu]­ßúyÒ;\ª¾*në%dæH™KÆÕ¾´Þ'× å§eæ]’@ˆ˪'?)éùðô´è_SÉT>[®<})_f|qvfÿ”Ê«1'(@ P€¨š€ÙŸ¿ªV¹)@Z. ”OÏR3Sx–¼ÙׯïÄ#K:àŠU¬¤ÂW ËðŠ±ˆ ähO´E0©üWPYuVÔ££ì³´Ö—´“ gKö/(Þ^™wŽ®žÈ)+§Õ±êÄ´ÌC¿Œ¼j÷Ž^À®˜ºj"&L‚ï…H,•ùaÚN˜W"À¢²×ı«z®fr”!_åŸÑšh â”y’*¿¤©(dç –ÊWYÝœÎW6ˆSÝv±(@ P€¨KìÉR—Î&¥N \Ùž,zDþ¸†î#q½_ÉÛUC\$–o8þc†! äæ:å\7&;ü›vŸ”ù_qÝ€ÑÑ;¤Ò=‘ê¦ Š (@ P€W^€A–+oÌ=P ZW6ÈR­&±(@ P€ (@ ”#À§ •ƒÃM (@ P€ (@ P ² ²TVŠù(@ P€ (@ P€ @9 ²”ƒÃM (@ P€ (@ P ² ²TVŠù(@ P€ (@ P€ @9 ²”ƒÃM (@ P€ (@ P ² ²TVŠù(@ P€ (@ P€ @9 ²”ƒÃMø't:Ý?¹{î› (@ P€ ª(À KÁ˜WK€A–«%ÍýP€ (@ P€¨—$ÕLU¬…¨i‚‚ íUÓu³> P€ (@ P€¨YYjÖ“µÕó)zø{:Ö‚–²‰ (@ P€ (P›ª<\èTb6¢åUVRÛÏÊMlM¦ø´\OȪÉ*YW=xï×3˜ðÑl>œTOxØ (@ P€ (p¥ªdYõW<¾üó|™íQÛþ;±Ìí•Ù•›©_A^¾q$ÓïÇ’ñùŽsZQëm•©y( Î$åàÛÝq(r³×œd …—(@ P€ (@ Ô¨@•ƒ,5º÷2*Ë/¸„¿bÒ`š.æÖ®MðüÐÖZnëmeTÁÕ(!Т±þ58 d -%x¸‚ (@ P€ .Sಟ»zOTï• ¹è쉆rëåj_Ô,5,cÙç”™‡®-Ý1e` 9ë0cÕ1ÜÒÑ_íŠCô…,´õsÅsC‚‘žcÀ¬ïOhåZú7¼)Y¹8—‰ˆN>Ûîéé/þŒÃF† YáG$ßû2$äcBÑ@ÝM3QÀL ¢“¯¶ôæúSEµ"<´±Y.¾¥(@ P€ (@ T]à²z²üvT(ÛÏâYéðõ#]Ð9À¿šÍuñ×é4,Þ+½P‚ñùƒáëß×Z©&ýL‚/Ï Ä’:kë¾”€K€—“lQ+^ÞZ3HÏ6 Q‚8ÖÛzµñ‚Ÿ‡#6¾¨•W?6E]DÛ¦. °‰ðµ€ ´°G‹µ —)@ P€ (@ Pàr.+Ȳö@"F^Û$¸âêh‡‘2¬G½7%ÕËåÖ.MÐÔÃAë5pwÏf8)½Vbdn •n“²A>Îðv³Gÿ0oÄ&çÀA×P‚)Æ'¿¨ Š‹ƒ©ºR· éì‹_$°¢’zõ–£É¸¥°·BQA¾¡€•€ ´ÜÑÃO[k:”žk•‹‹ (@ P€ (@Ê \Öp!uSz‹ÌsažZy;-žKÉÁ_§S±|gñD¹ e OBšñéCªg‹)ÙË8£™‹¥ª©gp#¼õó)œàMN^¼\ìµÀMUëaþú%p 6?ìM(:èq×û£‰ÙõX´o(@ P€ (@ P€•¸¬ Kc™{EÍÅbžÔ²§‹±Z7ÜÞÍO›KÅ”G=Þ¹&ofí$83Xævù%* y†mžÓ¾ø›¥ ¨ËsßE¶åTR=¬îëݼ´¬\G P€ (@ P€¨´Àe  o×X&½MÀÅŒºTî©ÎeïÂ]Vbù?bkTŒE¾°>#pû÷`X¯`X~iä`Ëç‹°7ÝÆ9uõ€w/Lº£‡U>Àp~;,ÛGœzw øn— ÊÀ–?ÂÞ\cz½úŽ›€.¾–{¶h (@ P€ (@ Ø€ïZlà$° uO ;¯l9ƒ—G†\…ƒÛggoĺÙJ6*»óŒ£?áÑq/"ªŒQ[¿Ç+êÕòN,_: m‹:!9ñ–}o>h)ƒnë`«o—˜m_cÙW[-÷ÐkhÉGQ§Dâ? —Yƒê5J‚,=²Ú²j.Q€ (@ P€¸Úœ“åj‹sõF òtÚ9Ö>O¿ƒ—GXR6LÇÒ½ÕÚ_Æß_£_9‹Jc¾Â¸~Ïão³]u1Î" °ûcr¬Öå`ÿv«‹äØyÊ*paßNË ú ¢«åñ–(Ä (@ P€ l@€A8 lBÝÈ‘Þ,W"%ê}0dÚkhiUùÂI qÆj]…‹9{ñìÄÿ–È6h<^˜ó&æ¼ðúXïH‚(ý¸(âÚ[ –iKä9ˆl)cAÔ†¿Šê18´eƒé­öÛsÐнb,2p (@ P€ €0Èb#'‚Í @¥r³§˜óÖ¡¯ðêÇWº•qï§ob·E Oüß’µX6û)ŒÐFÞy+·áIÝ-rA&Ü]²«pˆS0²ìi²õ—H˜÷eɉهâ‹YÞ˜?qʬW $L´Åbè0hØ5ÕeÙh.Q€ (@ P€¸² ²\Y_ÖN+&ÐöŽç1Þ,^¡v´{áSØxÞP¹}fìÅû‹-ga1gîèàkUÞ ½yO[ÅY–-ÿµ0¢CÁƒ,ËìÞŽfQ–˜Èí…ÛUƒSÌòîÆ_§‹£,†3‘øÞl+†A­Ûc‘  (@ P€ lF€A›9lª*à‹‡þŸU¡LéK‡-¬6›-fœþ˲KËIxf€¿Yó·nóÌÓæ+€­ëp¸0âÛ-\Â!æi+öƘZ‘ƒ}¿˜ú±¨‹edhóÎÓEc"·½×ÞtТIv-7q‰ (@ P€ €­ X=ÿÃÖšÇöP€å 8µ½ïÜùžü*¦8ÛîyX¸±?¦ ð‚ е۵¸&S"2[ #/Q[q:çntÀ übŒLí;¬W‹²wÏ- (@ P€ lL€Ã…lì„°9¨²€SL{óN«b[1sÁF¤ûXͱÌäj¹X%—â8m‹ƒ-©à‰tt9¿Ï4‹ÚA\ãï„–®3ÛÛnì=g/;-‡/… CçòšoVßR€ (@ P€°â;$[h Û@ TKÀ¿ïc21íW˜gÖ$jÙ+°œÖÖ²ê¼ÜLË2«ÊËï<)’<«õ¥-æI®F¸¦ƒ[ñFßk0Z÷¼¸hä’OŽœ‡×v³!@Ý{¡¥|ë8µ¹V›ÃÅÔ¾¿ŸÄ‘ä?‹ë’w}Fô–þ1L (@ P€ jƒ,µç\±¥(GÀ wÏœƒO†O·xvO9ØíF‰ˆ˜Â’³e8nêÕã2žès{w,6‹ôl]󜷢{ŸkŒs¬¸"\fÊ*ÜýŸ?¯…g¶ù1žØ;¸¸ ßQ€ (@ P€¨Õ.äâ`‡AÐȹfã4aþ®hìj{»Zý5ix%ê¬Éö±. \–€ÿ¼mýœår*trq°Ü³kOÊøž2RÎÉÕн;  ¯îõüêO1jwÃ-¥wµ[SŠWõéÒ¬pÁת(‹–<‘²u¾Úm–Ñs8z¨ u™(@ P€ (@ Ô"jYnéèƒÙ£B0溲ùZ=…GÃ[¢S€;<$x3çö¶Õ«Ä¬ÔÃ}[ [+mMMÕiV=ßRÀ¦:Ü=Ö³³”Õ@§o5çÉŸ]€3¥ÆY.àÓg_Ñzɤ¤¤@þCL`Ñ_;­ê,Þwti]<¨Íµá…›Ì‚+…kÂÆõ…oqA¾£(@ P€ (P+ªdÒÙŸþ~ƒ;xC×°AlRF†¼yÙõ†4uÑzƨŠjªÎËn+¸êªÇ•»“uH ¸ê nîUÜ-~¬øÀÊ}ç;§°Ì³ ·Ýò4Vï:Š”Œää¤àäÞxyT„Ù\+Æ"“èWÊã•ý>ÜÔCŲjtïƒVfÄn…ó²XåÒGô -m5×Q€ (@ P€°i²ï:Ëiv¨ éqw²Ã;ÏcYnh퉭ǒµ>n˜3º-¾ŒÇ==ýá,ÊþŒNÅ;O#+7|ìë 7G;­\Z¶«÷$`å_ñ{läbycCqßÇÆ }œñäÍ­ÐÖÏ©Yy2´ ßI9•një…ûnlŽfžNH•ú–ï<§Õùæíæï†–ÞÎèÐÜM ™×Ù¢±ž:C¥Îd©ó‡}ð­Ô{Iê|õ¶¬;˜ˆ;{ø!È×Gã2ñÚO'q!=~ñìà@´o憜¼ü|è"Þÿ5—TA&›ðuwЮ¥ü‚KxæËø(<ó¤,ÿ’ó9¨ƒ^ùñ~;j¼–ÍóÔ¦÷n]&`Έå˜þ}É"ÖÇá?àI™0÷{‹ seì^yT^͖֙=GÌÁ¤¥wY ,3›ë¥°\÷>],ç{±š—¥¸úèl)ÞÀw (@ P€ lZ Z=Y†H ä ,HTa£üV½ZLI's©I@D>¦¬8Œ‡—þ OyÌë´ˆ -‹²sÛµMqâB6îþp?ÞX wK0¦_hcSÚo;iYK ‚¨ädßoÞªkîZ´O+£†umé¡ÕýÂ°Öøtû9 ÷/¼¹!ök ]C-߉Ä,-àóÙça]çÿÆ„"ê|îú`æHet·¦Þ¥‰¶OOGÜsC3üoÃ)Lüh¿¶nŒ\TRû>›¢ÇÈù{ðøç‡Ð»'zI ‰É6FÉõæ/±é©¢Î¹·›}QCMü³“YêÚ±µ¤¯rƒtðÌÚÓ{*.ꉻßÿu¯8§)‡ç ÿÃ7/(1TÈ´Ý­]oyPsÉt]—VV+Íçe)ÞÔrü´(^ä; P€ (@ P€µF ÊAð—€È ®¨¤zqtô€ê-`žÞ–ž+ª×‡zÍ“@EﯢIrU¯o¤ÇH¦>ûcÓñå®8 3 Ԙףޫ²)ÒÓdş瑞cÀž˜4<¿ò˜¶.¿˜þíQl9’„ž\%Ç‘¡61Ù À'¿ŸÅîS©ZËÌ-æµ1%Ë ×ÕQ›;GW«&Y~Ô¬6.ºuÁì—­†É&W‡âSqAÜÿþ,yyÂÊ‹zvÇÓï|…³ïÇ<—“tÁy§u°ª;®7›ÅTºx^Ó`Ø€ÎÅ |G P€ (@ P  Ty¸P¿v¡ž,ô_dJ 4€šwÙç´U¹†ÄIðÁ”âÓr‘+Á5ÌF¥˜¤Ó&í÷é‹Ù¸Õ,¸a±QT/ë2{%ÐbJÁ2œçÞZUWe’j‹Êk>ÂGTÔ¾LIˆL)O†š4,œ{fÑ–3¸¯wsügdˆ¶Ï?N¤Èp¡3¦¬ümcêzü÷êãr¾ÚH@°QQ–ÃXÐÞ[k­ °<ûÕa-¨f[Í—G3¿¿wW£Q-†¼ˆÝòª\Ò¡ÃG°L^)çOâTlRS³go´l…¾Å“Ö–_§}§­ÄîiåçR[ݺÜÝ»ï¯8#sP€ (@ P€¨U²¨¡A*˜ò«ô1%5TfØ5MðÙcE ÕQªùQTRŽ:J5ï‰J¾fÃ5ŒËZ/mc)?Ô¼-^2äÈ<©ž(3óàçá€Ûº6ÁS_Öz«¨IxûJ ¨¢”,e}eþóÔDzã$ÉúŠ’«ô’yosŒ6ÏŒêÍòÌà@<޳ל¬¨(·ÿC¥ZT¯•l7ÀòÏ`yú£‹¼˜(@ P€ (@ P jU.¤&m'“Ä®ÞSÒëÃôRÆz»ÚË£’íý~éY"\´¤&À="C„¤G‹J×È\*=¤GJ*3RæÌø­pâ\m¥Õ2q®Úo)§R3™/EMTª"M¥ç‰êqr±p8ÐH ¸¨¤æ×PIMvª&ßµNÛ¥÷I+ ˜2ªw]ïM‡Ã ¬ó›/Ï*Ã!º6ÕV©Þ/‡ÎfÀÎt°æùÞ¦LÓÐ!Õ8Xlê±1 (@ P€ jµ€e÷ eH'ì–€‡º15Ojž”'S ¶ð[, ØP¯•u•Éq¡õ0ùÏ'ŠŠ¨¡>÷÷i®JÜ$¸ñëá$¬ŒŒ+ÚnýF =úïºhü[&¸Uó®¨'ú|*ól¨õ›¥¬šÏeÅ#×hO÷Qñž¸…)[a†ÌÛ²KÚûh¿Ú0‘·7ž*ªZhf}wÿˆGd"[Õ;å·£IX¾ã|Qž²Þ,^,j²]5¡ªn”-OMzÉìøÊ*Çõÿ¼€)Ðò²  iâj£C„þy'¶€ (@ P€ ª.РÿÜ?ͧ%©z V%Ô\'Kîï„Áóvks·¨%*cJc®óGky„³Z£z¿¤É65Yme“zR‘uGu"i,u¥JðGwìeâ[5l([‚1•IªÎŒœ|­leò«<ªŸŒ—ìS‘Ô¤¼LµK@MŽìî¨+Âv¥Zÿ˳=®TÕ¬— (@ P€ lL J=YªÚö,éáQ^RsªT5YXTyy’´ö S]*hS•ÀMiušê*ë· Ufþ–²Êsý?+`kÄ4GÐ?Ûî (@ P€ êŠ@YÔãWÉœ-e%õøfÓü)eåáz P€ (@ P€ (PÛj<È¢†•÷8ã=f^®mXl/(@ P€ (@ P€(K JO*«®§(@ P€ (@ P€õ]€A–ú~ðø)@ P€ (@ P€¨Yj„‘•P€ (@ P€ (Pßd©ïWŸ (@ P€ (@`¥FY (@ P€ (@ P€õ]€A–ú~ðø)@ P€ (@ P€¨„s´Š•P€HNN¦(@ P€ (@ Ô"YjÑÉbSë—€——Wý:`-(@ P€ (@Z.ÀáBµü²ù (@ P€ (@ ؆ƒ,¶qØ P€ (@ P€ j¹ƒ,µü²ù (@ P€ (@ ؆@ƒK’l£)l(@ P€ (@ P€¨½ìÉR{Ï[N P€ (@ P€ € 0ÈbC'ƒM¡(@ P€ (@ P ö 0ÈR{Ï[N P€ (@ P€ € 0ÈbC'ƒM¡(@ P€ (@ P ö 0ÈR{Ï[N P€ (@ P€ € 0ÈbC'ƒM¡(@ P€ (@ P ö 0ÈR{Ï[N P€ (@ P€ € 0ÈbC'ƒM¡(@ P€ (@ P ö 0ÈR{Ï[N P€ (@ P€ € 0ÈbC'ƒM¡(@ P€ (@ P ö 0ÈR{Ï[N P€ (@ P€ € 0ÈbC'ƒM¡(@ P€ (@ P ö 0ÈR{Ï[N P€ (@ P€ € 0ÈbC'ƒM¡(@ P€ (@ P ö èjoÓk¾åú¼ü}.'.dÁÍQ‡®-Ýá×ȱĎR³ 8— {»èÒÒCÛ~ðl²sóKäU+ÜœtówÕ¶ýu: ù—*Ëî²Þ”âÓrs1¾îôq6­.ñûbFž´1*+ogthæWG»2óOÍE3OGô öÔÚ["#WP€ (@ P€ (P#Åwù5R]í­äh|&^ùáΦè‹B×°&ÞØã®÷/Z§Þ|µ++þ<¯­ûôþNhÑØ ó~>…S‰ÙùL í%òî¸0‹ÏÂÔ¯h«ïëÝ÷ôlfÊ‚ß%cÁæ íì‹g­7óÝž¼¿å r E«»Úã¹!Á¸¶•1Ø£6”–¯‰‡^¹-­}]ŠÊÖ§7*0&§Ó"°e~ü—.çRrÐÜËÉ|5ßS€ (@ P€ *-ÀáBB•žcÀôoŽÊM¶wöðÃÿÆ„bº.<œuøhk,vžL--»ñŸ%Bî×µ´áïDí÷Ä^Íñ/ ޏ‘¶~÷©4íF=¢“6N’€ËEÜ×;7µõÒ¶gçåkÁ…"½RL)/ÿ~‰J‚·ô<éÐÜMnæ“¡†u”÷•I‹‹Õ²=74Ýméà®M>ýý,–ýqÿŒÒò]ÓÂ*p1#ñ©zøËð¡ú”VýórÜ*=óåa-ˆæíf¯-›,k`ïýzFÎecmP€ (@ P€ ª"Àž,¢užÒòéeh‘ ©ž6Ï BãÂà‚©|}ø}Ÿ ùêhN+Ž*Тz´XX<¥çÒìQmë ‘ (@ P€ ®€ƒ,‚š”eB¢&¨-/©aEÛ'k“áªyVÂÛ{5ÊÇM&¸m`§TXÈ]&èU)93¥åSó³Ü¾pOÑëû½ …%ëÏ/ NýgdH‰@Ëœµ'aêÁ¢,oH@-¨œI‡ë” (@ P€ ª#À ‹¨ŸQ½EÌ“zÊÐë£ñõî8mõ&ý¨8Ç×FkÃ…Ô†m2_JVORÛU¯‰]Ñi2ñj¬Þ·~> '{;­Œ*[QR“Öª'%gJìGõÌP©¹—#JËwM wš|l]¼k‚®@ÝWÖ«ZµçfbÅÏgqFã\CܜѧsStöu¨V•æ…bFãë‹x¢¯7lý²9¹ùÐ9Ø•ÚΜ xo»w kóKΑŒEëS0dxüS%Ïo™)ïƒÊ¡3äçCŸß®%¯ks»Zý^®«%?œE‹j|FkƧ9Ù— s.í|`ÿÎhü’x Úi’k>Wg‡°&è×ÖN— _{¾Cʵ¾ŒsxÙ„¬€ êŒ@þ×N9G< T_ ë8N{_lŽ„}û^ˆÐ /Àê_Ã[?¯~½µ¦d~ø÷4̪EÇjÈÒãh’g’spô\*VF%cû…mù”¬Ï”›£šO8| ûÒòk¾j[¬1??D‰íélÍ5>]Ÿ÷Äáé%ûðÔú.³ÍIgSðã®d\f=W¾x–½÷&nI)uWùééøñXÎæZnÖ'$aet’Ôå¢ÏÆÑ‰Æ÷–Ù,–mÜ‹ïD£ô=Yd­½ r]mˆNETVÕ?G5Ⓦ± öb_vi„ùØ™„£ÒµkþLz.NÂÜïcè£8fuŽK«¡üuµç;¤\ëË8‡åûp+(@ Ô'[ÿ#[}:°5LƒÑ"×Àÿ2|ñÑí~6wƒ+CXŠ£ö¸E†¼¬}ç6Î ‹—x%ˆ×éB/&ÜÒ;ºÃ‡-‹G D(UÏ•üücÖí­¢'mUá2ÎYkæ-:Œøm0§¯—1o~º¬; ·ðè—tóSÜÑ19+âTï%9×Cýƒ¥Ú²jO[i:{²Ý'ñü¯ÉÐZÓȯßÞÝ7ıßiõ\›‘€¥gT= 1j@[LnŸéï3^'Žaä?|~O‹’ׂ”ÐYE µ ‹l”{c¿MÇì‡Ú£½s.Ö­9йQÆ®îÒŽé#Càq( OìQq"†¾‘‰y“;¢³]Ù×XNÜ<±±Otž^“€~!.ø5Á©Ö\WL)?r.\À{kbðc¢±7šºf^¹³5²ÿ8XÒÇ!+W•Ï ±‹Iǰæxih3¨ðH´ G›½.'µ}8`ì€ ŒóJÆÝ_'hçÿéwva@¿P<×ݽd+ —,Öùu ÂÔ¿¥G˱xéÍ⋇ò®¥Ã˜u 讓ÞKqÆþ^ê;dº|‡”ž•ñœq|vãïéˆ[ Ç ež>»Wgâ•[ÝñÚOéÔXz SkgŸ-p³.³ ¿o”Ãlqо³òË2Rß…‡qº…NíJÀAU“½+^½7{•´.ñ™µ ²\(㸌ß@Êés˜¹ú,ªï_g ðÈÃA{|0¦ôÏ–eå\¢(@º"ÀáBuåLò8(`- Ï9'€ëz··Þ"±>˜òÂcè.Á…ØÍ‹ð®X‘KÐèñôƒ#áqá>^'ÿò–”•q¶n…C¿ñ˜úôƒèã«Õµ9NB#É»1k®XÐ ã}w î„#›—aÖ{µ²†¬$ÄîXƒHôãO?‘ݱã‹OqXŠÆm•6J€¥ãÐñxâ‰ñRÃ|øÊ"ÄÊ=r™åò½1`ÔP¨P‘c»>Õ¯-ÎþôŽX.bèƒOcªÔ(mÿ䵕Jª)zça=Záý±hŸŒ­©¹ˆË½„­äÖ'5 ë Ûƒü4¹YÊA‹×’7aV{µ‰EWÜÐH®·˜4d¦^ÀCŸÆ^ï&˜76S;é°tÝa,‘cÓ§dËMT®X²%ð‚÷GøÃ%. |p\–©Ìsë„›Zë°k×yÍU•J9åb m愼¹9‹ŠÃ¯îMñ®8s‘s¹æ¶iËm0ÁÏ í9ŽCr»[® °ô½¡Þ½£†É­ö´kõšêÙí8¦„4ÄÊ'±?ß wôõC°ì×½Ec<Ù­QQ ø}w¶îÃ&õ:˜€ï÷©A?Æ>äçž§‡ «Û%–aM0<´–_WräâÄœ%§ðc^#¼>6ïJÀ rͼ°5ÍJóùø |í0uDæ ðÁ騳¸÷;ù¬J€o’X\:µÀâ‰í0%¤+6ÁV'ü«Ü弌íÓᾕíGÕ=»6–öåA¬èZŠK”!d9†v˜ÕÃUûyâ™CÊ"•}~Ïûz¡#rñþΤÂعC‚CöÎhÒÀ€¸¬LùÎfÝ!Ÿ¹0'lÝu³vÈr;¼zƒ»|&ÎbùIõ}'û(ËH¶æ¦åȽ´íˆ÷åZ þ3V…w k‹†W°Pöq©ïFunîýZ,Þå³ÖS[_ÂF FÅ]4Hk™(@ P > ÿ•TŸŽ˜ÇJz" O8§õL)¿»Zvo:"]JFã™»ÂÚ¦#FN™ŠNb´þ×ýF) r ŠÑ=CÚ=ý<$hÑóAŒîÓÃe½Y/É‹Nwá±!ÝØ£§>§Õµi[4ŽoY'½P‚ðÄ Ð=4=‡Lƒ ßñ#E9ºá™Ç† 4° ÂGß.•éaÈÏÂŽ ÒÆ€¡.£&MÚcøØÁ²ív+ì#a—å ÿ˜ïÙתö6낞]Ñ@;"=Ò’SàØ¤î}aªtÀì´¶ù#¿EÊ_w[4Ç›Cй•7&ÞÓ^n€w«pš$õ/ù ˜Õ· ‚¼ñà½Æí+þJ“žçåÖÛïNj‹>Á^èßWnôz8!=êö›Íá#½]>L†ÝÒ»x£sXÞœØ\*NÇÆÓYØ®&|j¥í#$ÀOO”;cr ðÇX¹·[ºÛxÓ•rTýÙã:›rf´Ù_ á îMó 8¸ûœôrÀ¿ú£¥§ úÜ(Á Ù¶j¯ ‡LÕ£Â<Ò6@‚M¤\2~‹Sw[¦Tþ9ëÖÃ_2fŠ«ê­P€Š›_S-Ðc¬Á n @{q¾£›ús»+fjË^ÓÏG+“Ÿ‡_þ”ëÂÇã¯õB3o/Œ$m)ªWÕÔoi…Ξ>Hõ +KŠݺ4ÃÍÒÌÕÇýÃ<Ê „­Ø*7ºÏàUõZw ¢Œ½+Tͦ¤±i ¸˜¦‡³·7¦Þ*7›ÍÑÄÏýüå›Hz ‘kÊíBy×XqÝ£†v¬¡¬i׬–_W ÆÃû5Ç»w£›¿ šø8!D­–ž%žV>žâµÏà€­Ð§… Z¶kŽw•Ïê±8È3ö‚IÌP-DDtÀû4íè*7w÷‘+¤!®ïÞ =[•è[¢öVjrr1þSÐ^®Šò¯%µoW,ßÝ<Чo{Ì NL²˜k§üï{Œ¾A‹ôœQ•Ü4|qF¾oÂý½S¤ý3l>­k¸ep{LVSIêóÁD P€õG üû¯úãP'Ž4/ÿöÊ_`KKÎ2V»cs·Ò6Uj]zއÏgÂ×Ý>Ué[[©ê™é 8ú·„Ä&ÿ—~Ë–{HÞ‹… ~FØ]£‘(—Œï -L÷’ÏWþ1ëˆ{b%HÓ)вqaù|ù¤-ì‹¿:tö¢0ý™NòvënÞsÆÅø$ ­´jGk41‹h´hßA¢9hêÔ?‹=ŠvNZû‘›€Sê²N[ƒYÏ­Ñj2ýpÑ&¿(£œ–ÉØ^Œ]ÛÛ ™ŒÑ©_à›o>ÁÖoTGty?BUO2!ã9 Fwp3{Œ3…5ÄÆã™r“ã­‡aíMçJ½Ù³ñ©™ÙÐàÖr…ìJ*:}š€6±®7·.¾IÓ¹Þ"dˤž@³ï7t‘‚Æ[c ïë.Y—(é9q"R‚él–]Û‡ÍþÈÇE 0¹zHàH9Ò#dŸek2 Y$9ˆCñ­““¿*“€ó2éi¨©DEç¬q Ü„Á9ÊMñ²8`ì¨&…çWΗL®aÚƒŸ Ê‚WaÝÚH'yoŸg<'ȊØRYr·SaEU½q´™Úf§+Ê¥¶©O¥ºÑ/;é0ïÉ®èlvÝ䜎ÆÐ¯UoËÔ¾¯üõ>ã$æþz +ä¥z» ë#ÃÌäzÉSí¤î«íʻƴ\ê‡ú]ƒµýºRÇ£ƒ‡ ³™õa¤q¨ŸZ%)¸ð«ÔÜ'_&¿ViãÆÃòÒÞþpÆ%fxÿ=æÿ’€'–$h냃š`æH¹2äß*I'«Âá…Úb…?Ο• œ+TæZ’!0MÌת^0Ñi8a¨Eç7äÚfðûã$6H¯°f†öäŒimåû&V5µ!|Ì®5íÿ\¦a}r|êS©’¾#ƒ\d¹òÿ¤^!ÅÿæÉÓÚdœ_ÈÜÚX[%Vp\Úq»¸Â¿¨:;tRÜÚ[´‚o(@ P žß)Õ“®Ë‡™–mÀôo–zˆ-½ðÉ}ªBõÒÉ ÙZÝÃ:Ë_®V¯)u13sÖœD¨¿+è£þª[G“£7ÚK@cÇw¿`x÷ÑE7gêhOýñ3Ž\HÃMþÞ¸(yœSƒÕ&Ii`‘ä6-üË¢Zg R¨wÖÉb‹Ô¹ÿ$&tQ·Ý*ÿª¯—žÆ|ÉZïüQéBô)íw¹?š@îyrÞžPXo~2vÿvžÞ²ÃJ%ãW]Zl<|ûÜ‹·ïrAVröÿ² _¬~-Âþ‡pógÔVªÎ«œÉÎ>r“½1QÍ“bÌÅŽãró*7àÚí„lÿñh*ž3Œ7¶ê‰DFÿ\¨>&ž…Mÿöξæzÿã/û?6f ÆÅò¿ %ÕZ(Zd·ÔRr Ýtåþ(·Üî’‹[¹©pk)¹¤I ¥ÖMR–”ÃÒ6†±ÍlÌ6ú½?ßs¾ßsvöÿ3{}³óù~¾Ÿ¿ÏÏwç|¿¯óþ¼?¦‡+{ã(Â÷é…èd~Ä—¥@Ê¥ÀÉÝä©ç½4y¢ºÞl"KBâåܽæjÚôj‹ž²|aåÖßqTžùÿ|¯ˆ?Žœ-ž¥§S±ZÎB;È Ï(vͰòoÁ†(‘–t I.Í%U‰Øò¢¦:ŠÎäɯØ@ M؈ åΙ3nè+KºN`õ6W©Õ#ƒ,ž0Mµhµÿ$]Ì´H‡,³Ps²³]G|¥;.½˜ø„L´ð±Ÿe1ë¸ÉÆË:ÍâÈôol$ØéÙÇÏ£mß.øêWYn•'Ë@”ÿ CèÔWäUS(îQ)טQ›ð·h¨>_WjHùi¿cR\&îÖ‘â×ÇC·|ñ.ÄZ}€šŒ¤VäÅþè4à‰À¢ÅŸáÈñ JX‡EëÈR%Õ½~]ŒÑÕ{côì+¢ÔûáS½»7DcźqÊx@±WN•5eÈ9™„#2ßÇâ—aÉ¿ŸÇ×ûÓPäìÆêî×ÞîÅ~ª”c7ÜØS~íýíwüëÛÓâÎá¬8=€äÁ{´üš¬d$w5œƒG°0!Ù¹çµó%ény¨ ¾F /y˜öÁï8(¢é>qž9-^kZãy(уGûÖ-õ¬þh?>O>‹ã2WÿZù»9†´Ü¤%¥büú£x?ݸèðÆêDÄÏÇ©ŒÓø÷*õhÕ×[X·(kŒòæÌ'¸øP)À[;óгCÐ1RËzÊ…ò×_͉Ìû[²”IÍûŽ-ñ|üQ¯\*­ÓCèñì38˜Y^K¥õÃ$䩳)?&cÚÿ~Á¹n å!µ±‡oœàãæd2&+ÌÃv9wÑ¿¬k¬Xd²êQ=¼®~L: õÚ‘x‡5ÑNQúù2Gñ_%â=ÍXê‚ØKÉ'•º¬Ì|ò¼šjÿƒo| K"åúÊÎÌÆÛ«á?[d[ð“Ç1ãÓƒ˜·5Cü ‰ÁŠö&—­b}QÍEâÉ©‚ây‘D#¨¹þ19Kú•ÍßÊÎBoÂN™£¿k+ÿáå]Kê–ñ,¦¯MÅo²ôæ ú ÙSï.MÅn­8”ý¢æ× ol£ù¤Y-úþ¤ëtû,S–ón|5¨S¢š•ÎȲ¼©Fë¿V¬-ë4g³ül°œÃt¿2>ÝÜ[ Êò+|fœÅæO÷á=eöF‘ÅzxD$@ €-Y®ÀIv‘_RGˆÅ‰½ðøÊ}hçãŽ-<ñÑ®p’{¦»û´ÖÄ“7Æï§óñ/Ù•¢…,P˃^‰=‚Ðî-è­ÅËzÿÚB¯G-AZþíQ<~K zµ÷Æ’-©øY '§F¸VÖPO€ærøKÚY1oNÁ°ž-ñ“œßz­›ºiV1=ÚzáýïÓåÁ7º® >øá8Nž-ÐÚ íÖ‹¾ú]úu!²SÀÓ#:ÁÛÃtÙn;˜…ßñì òóÄŸo ЖD•Õ–‹ôkÞgÉš=i¹xtù^¼:®+~•xt|šÖއü xÃU>xRÖÃ{È–£õ94¹ÏDzâ_ã­ï0†Ò~À=˜1XQ:‡?Žûο÷?} {>5eéu‡8¦í©n|ÏiïeÝ´Z~ˆˆ8ã׫~øžûP¯KœØvV–7㙇Ïàw¾ÀÂ}¡lÚév<õ˜©Jì€_ õ·Dè>÷äˆÓÚ÷_Ó¬&TÞ÷ýÈîB‡Ê(§,>ºö턯¿–6ÿ}/Ö÷ø%Ú¿¼ Å×`÷[»âïùûñ¢˜ÚÇ}gêUè âw@™ÚËãø™¨ NÞH‡ì[ôó]d§õ`ÓËï(ÄLùÕ{’y™A›6­ðú=meŽ EЗüÈ.6uFÎÊC²³Î~S%²‹Ñÿ=ÐÝU¦[{âù¢D<¿å”€Ð A©êI¢8ôÐÞ{R2 •a5S|Ö1bêAJ9ÕŒßiî, í€?mcz`ôm‹åÃÎã/ŸÅøƒGµLAüñ¯ÅÊàweùôlsÏÿoW»ÿüý.è$zÝAºõPöœ©\Mpç žØø]¡øÐmŒTºÔÑL„@ÕC‰‡5xJ{Ýoí&ËtÄélÜAYª¥2«„ºâÙ]hŸ½zôúdÖû\í‰÷~’kbEÖ>y•ù*‹QL‹˜ÒÝÝ‹ÿc{ßÒ÷fÄäºù9³º>•3á¢kZ£Íž£xñ£CXðxŸ2¯1‘þ$˜Æf®F{«—וyŽí†ÇrðÆç°Z¥É²’;eg·Sñv²/±áóØCAÈX™Œ¿ë×—ÚgBG´–Õ9/ö¹€¿ï²4­øóÌ”ÝÓCþyÌÿ?Á6¬5wGzµò^â³Á|îÁ±!e^·ðkFÿg>:ŽI¿ YZÕ_*ÛééZé,,ºÃ( @=$Ðè õ°ßì²§s ±t7”p“ˆ!–!¬GKôïÔ #þó#”ï–²|¨›¿¾’_Ø.ÈR‚÷é…Í"r¼+‚‰Z¤–½ùMšéx9âj4jÔO}°_KWçU=nò q¾ð"‚Z6FäÀ¶ø¯,ÇÏ\À˜¾­Q m¬ûé®òkŒ%‘ÝñCòñìJäƒ|)— Ž6:·jŒÿ>ØCR>‘}%î„vo‰­2µº‹/%ýzô¬&ú<0 -ÔßK}³>JBŸÀ¦¸&À_üz §ä׿·eITª2¥µ5çî.ØðsVî8µ„êÎÞ­p‡ÔÏâŸàíé‚'o퀟EŠÙyò«òcCŠoé,yÖE<99AAA5ÔÔEœËÉÚØY¬WšÚ³Ü¸pâNÎîaïtù9‡g<<º÷tvÁ91+·_—ôE­§K’Æ•lè¢ôÑ4écù*5ÇÅ ¤ž‹poܸFn~kv®Jívñ q8§æJ¼´z$…xëÕÝ@øµâߣòÎ_´9¯¿¤ƒX4 ƒ²BþùBùñØ MÔ“¼dûæ­¿á×&­0¾ŸyÉ’ì¨që2ÙÆwtþl^^”tcÖËvÄò0]ü±”F¢$¯<ñI2jM^›v º‹ãY5îò e)8–¨Írmþ`'^<ïOjo-ª”¨¤ì„"iCûÿ¾X‰3e«ñ³E¥—Êg"-—¼ÆJïΕp]™æHÿŸ2][e];¥ò‘ϯ<±Vq–ÿcrþK'Zú{×Ò¾¯~Â|ñ锲ÌH>ªôbnób6ž\xm†õÄ3=-LéJïR©gJeTj‰êŸ°×f~ÆI¼ýÃÜ5,&¾Yö3>î„uw(+  †B Ì{†áJgÑ¥?ðí¡l«aõlgöŸ ©—DWû·'ÊÂD ,JhQ,C¯öÕD–郎Y¾;”ÉÓ[D eõa”3Üybõ¢ÄeU’–•?‰0ñ¨Y˜PŽæ6þ’ŸÅjEJØùç]µ>ܹhŽˆ b& j¯Y»´+—Wã~GX˜,Ö0ŽçaÊÿö!%Ó”µˆ?®"جêK–\õ”-¿ã6ñ,M@Qx¥³ª ò°nœáë‘÷¶@ìáæ)ÿ«w*//Í0\ ,óðÖû‡°ZÖ1xwéx,jôvx™—eÈŽÙ²^£”¹PE-ƒ9ËKKÃ,ñÇò«,yplëj #.Ò†#|©»Èg§Kå˒ט%4sü º®¬çÈεe3üRù(Ã?m ÕÀ¡u?MÉw:ÎiË›|J|6ØoÔ^ÿ~Ÿ$ËÙΈKÙ¦¹z‹jÕ^ö{Ss©öÚtq¾„dÛõ¿dÞ8&»«ÅÉÿöãטéškž5‘ 88G¸spDõ¯{MÄ:`ý×–Úqß&®šÀ¢2´õ1Ù(±%À×C³<Ñý•¤dæcTH+8‰‹½ –í(E…£"°¨ÐI,Wô Çf]Äô°¦,WTPu¶ÁCµaiKÕJÒTЗ騾ª  E@RA•S9ÞùU;Öÿ¤gç"Kymée¯ÿÖ Ë·Åë›S´ä6"Àüõ¶Pï %àŒ®á·£¨5™U”XÍæsµƒ[¡°2{’V¡®ï‰å~DZiO¶,û+ÂYbsßàb_"nòðu§,AŒjÉbšt¸"î>>x°;ZWS‡uvwC›MpÃMípo[AËá†}Y;Ô®«Ë ¸öåt^b9S¼eeñ”ïõ.|ñÄMÍeå®?ç\|ÛàÓ?{à³§ð‹úq©•/„ÊR,þoןYdOI€H fPd©Žõªµd§´ ¬YÞÞ–¦ùOQy†Ø,;²,çia¢ÜÒ,Ždˆ/=èq]`Qéj)“,¢FšM¤‘íNæóªNeI£–9)±GI/Y²kZ~rP¬^T(¯-]Ü9'¦íħËkâØWYµ|¹÷V‰˜×Ē潉½µºø§"ÜÑóæÉÈ<µBÀ}¯3þ:íƒÚÈÒ 1c± ÎM0~LwÛÔ+îØÅ·ÆßZýayøµÂ3Rþ,Ê$Ð@®«28ÀIŸö­poûêw¤}ÏNx¾gõëqÄ<šù`ôíòrÄαO$@$@uF€"K¡®»†ÔÒ—™°jÐÝÅQá­Òì éjY”óXµœ¨·8›­Hèß±šŠO“µ Çű®;Ô’¥?ŸÔ–ñ¨åFÚ¯:©¨‚y”3Þ¥[Äa 8«U>\¾•¥M›öœ’­y»–[ƒZf¤ÂÁç üÀ(1“WìÓœæÎºã*ÜØ¹9>Ÿ,M+h]nƒÌ@$@$@$@$@$@$Ð Pd¹§Y-©QNe-ƒ¾ÜÆ2Í^\ $j»f%@¨„, Oìå×Ó”ÀòBxüûóߵᰖܩ¥'f ïd,õÑóÖÄûèk[‹£ÛB͹®rØ«|²<6´=ºËNE;[û£±mOùe(»m—|jç"%ب¥AoË–§ãÞüYË®8(/ $@$@$@$@$@$@$PQÜ]¨¢¤˜¯Â²Ïj>W”ðRÛAY̨eBJ8©lP>]” ¥ûQu’åNj9U‹&nâ·²5Ölþ:ß±¦f»ß jã\5¨éæ`I€H€H€H€H Tµÿ\jÓàr¡ú4[ì+ €Ã Èâ°SÃŽ‘ Ô'YêÓl±¯$@$@$@$@$@$@$@K€"‹ÃN ;F$@$@$@$@$@$@$PŸPd©O³Å¾’ 8,Š,;5ì @}"@‘¥>ÍûJ$@$@$@$@$@$@$à°(²8ìÔ°c$@$@$@$@$@$@$@õ‰E–ú4[ì+ €Ã Èâ°SÃŽ‘ Ô'YêÓl±¯$@$@$@$@$@$@$@K€"‹ÃN ;F$@$@$@$@$@$@$PŸPd©O³Å¾’ 8,Š,;5ì @}"@‘¥>ÍûJ$@$@$@$@$@$@$à°\¶gì €C(((@ff¦ö:þ¼C÷Õ¶sžžžðõõÕ^nnn¶§«tÜè U*ÉB$PEIII8uê”QÚÅÅ­[·F‡Œ4FH€H€H€H€H€H€›À… ˜˜ˆvíÚiB…³³³cwئw/^ÔÄ¡£G¢[·npww·ÉQùCZ²TžKT“À»ï¾‹]»v! @«I)Ÿ‡Âí·ßŽÙ³gW³v'     ¨ JœP‹ŸŸ_]4Wãm(QHï»KPPPµÛ ÈRm„¬ *n¾ùfÌœ9Ó(šœœŒˆˆ<ôÐC 4Ò!     pL999WÄŠµdH‰,5èø¶&(²ŽjPëß5j„&MšhuM™2ûöíÃSO=…9sæ@™¡ýûßÿƈ#¦Y¼¨h^}õU(ë=(k˜… ê‡xã7ƒcÇŽaòäɸñÆŠW^y—.]Òò)kš—^zI³¦ Ç[o½e”g„H€H€H€H€H€H $µÜ¦¾-*9 hcPc©‰@‘¥&(²ŽJ8räÖ¯_¯½” ¡¬Z{ì1´hÑB«+-- sçÎEHHƇùóçcÿþýšø±zõjäççcÆŒZÞàà`|ùå—Z¼¨¨;vìÀæÍ›>}ñÅèÑ£‡&ƨ%J_ýµ&ÊlÙ²ñññZ>%°(gM|ð-Z„­[·jÂŒQ #$p%(ÊGnn®öÊÏ/ºFÄ1 €Càr!‡šŽ†ÓeU¢ J1TV)ééé8wî7n¬4h|ðAMPÙ¸q#V®\©­÷S'Ÿ}öYÜvÛmPbÊ÷ / ++ JœéÙ³'Ž?®™{)¿ÎJxéÞ½»f%£|¿¨W×®]±lÙ2( eÅòÉ'Ÿ`Íš5prr‚~øa¼ùæ›Ú¦+gVr÷ê+Ø|FF$"UŸˆâã0ÃKŽ[ŠèÍ)@ë[0ëÉPxIÏì¥9J‡¹oÖŒr±7î¬üp-b„¯Eð 솰;Ç㾈P(à $@$@$@$@$@Õ"@‘¥ZøX¸ªhå“E !JPÙ´iÆŒ£UÛ»woí]‰/J,¹êª«Œæš6mª9(Rëæ:vìˆk¯½?üðNœ8¾}ûjï?þø# 1dÈm)Ò_ÿúW,Y²Ó§O‡ÚZ즛n‚JS‚z”?ËPž¥-ë»ìñô˜·b=²Í‰Í샑KÇÂã²wÌÔó)ß"66ìŒO–žVwÝÍGÜÒØœ’ÀA1iDUÓöúk•Á2vbÖ}“«OºMŸ²S³øiyù`Ú’¸¿¿¿M:²¯KÇë/{D$@$@$@ ‹E–†5ß;Zµ³¿¿?8`ôQ÷ÏÒ²eKMdQŠÊ£‚OÔòuNåH÷ûï¿×Ò&Mš¤‰,_}õ•f£‹6j™Ä´iÓ4qçðáÚ¯å—å™gžÑêPÖ2ºòsúôi-ýJù³wÓ‡†À¢)á¿Ø–1¡ãÜäGõÍø`*È3áÏ)0½×éß"¤Ä®G¬F`’mÛ—µo¶±sœ±‘çBd+sðAXäø½4k|GvmÃ{‹c`²mÉÆÂÉ#á¶j ÆÓ¤E'æ˜ïå\—ŽÙiöŠH€H€H€ §3RÔ¡(ËåWE½”ø‡ï¾û×_}‰~z{{CY¾(¶ÊâEYµ,]ºíÛ·G—.]´üÊZE‰,j—"壥OŸ>Ú6ÑÊ‹²lQA-1RpUPV1ÊRF9¾UbŽª_ù†Qu«´—_~}ô‘–÷Êø“е‹l†’åöÚ¤9ÖáÕ÷¾Šèèh,s .ÇÂ&w³îS,ÿó¹Ü}+X6–=f!°t‹DÌ–8Ì}ò~ "¾Ž"| |”‡y‘ÝŒ æOYŒtãˆG%PÖué¨}f¿H€H€H€H ¡0~0n(æ8ƒ€0,E e¡¢,Pn½õV»|î¹çðüóÏk»ÿ(ïÕ­[·Öœá***(‹–V­ZiþTTšZNÔ¬Y3têÔ ÊJFµLhÖ¬YPŽsÕNFžžžZêœ`t?/ÊO‹òÙ¢–])!{ç§XoLäËÑðŽžˆÅbâ¸x-R'ô@@šŸ›Œ¬³bEä O¾üü|Š-NÊ(_ÕrªJŸÊîUýžhîç2?ÙŠ›‘¬üóÒ‚+\<<àíí¯릊p¡Œq•ß·"dK;gÏžG¡´ãíÛ~>µÉGFº”=/%]=Ñ\þ?¼Ê“uGsw„Å&ÀgbÞyAvËû ôɈØ01jIQv ¶%OÅØ [ÕKQ.RSŽ ¸zz‹5šŸÕu“ŸŽŒL™ WWx4÷ƒ_ɉ°œYÍy¯Å¢ülddœÅy±‚SýP×IE™jí”k_úèéÑþ~åÍ£/)ãë矲/JmŒk§ìëR‡U”Ÿ«ù©’ËOÆ+ÿ¶hõâ|'   :!ôÙ2¬þ¸wÊTçcëÒÿ¢0ì1„Á"n{Z']¬t#ä—û?*]ŠHà2P¾T”5‹²n©JP—»Zf¤DµºmPŽw•ˆseùc)ºi0'^¶V%,…ËÊIˆXh²l™‡I¶pówc’ø!Iû‘)/?‡‚ubQ¯?µ›©ùtÔçþ‰ Cä“OU-'å÷.›„ñÊÚ&p ¶|4As|k¤u“´¦4£©ÔíXôâlÄ$Ø:‘e1ŸÆŒI¡6Ö/Eؽî DÍYa^"£×dzïñ,^˜?c Öç͹½e)Bä»ô¾aïgÑxnvtÉvcæ3âpØÊ÷I.VFÅB½O‹ÆváoS—(6m ¢îïo%PØë!P„Ïd¾gkó L\"óÛ¿l; ÔÏàîÙ&+/ëë¡êcé7m9þÑc7"'.´^¦†@Ì\þƶ;„Oü 1‰ÖóçÓOÀ—&ÉóQÉkÑ §(c7¢ç¾,ׯ¶ ƒeÎg< *wï2 ¿XrFô†'°wÁß°ÐöÚ â7¢0в V·‰×<™{ÛÖºš†¹3îG€ùÞ Òíl¡ö3®ËÜä­xå/`½ W•Ͷöjb Ô¢Ôuv÷í>aÚªm¸?¸~<@—Æ'7#'ó½Pö}Wiåëkºòƒ©¯¨ôŠ’0mÀ8¨ÛÖ°¨1w„þãj.–öйÑßÅ"^»l«5‹Á;YÄ%‡' ¬Oª*°¨Á)qEmmO`Qç•O–+K`‘Aeÿ€÷ÌÜ>£îA°$Ýr!@D/ß.奅l,  ‹Êž(ç"0m½%GU-WJ?Ì®Yô³¹{×`ÐÝSí,ZÇý4B#—Y=Üï\ú0&–"°¨R 1s0|Vœ°p…Msz³ò~H,2l‚Uæ\|5 ãí ,ªXJ<æ‹ï“Yv™ñ '"ÂŽÀ¢ŠÆ.œŒÿ[—¬¢e‡üøÒ<ßÀ(ÜQŽÀ¢* 1 ;´íÏ‹·ê%aáxŒ,!°¨ÖR0üPô XB`Qg³¢1n²õÜ©t9Sék1?ù3 >Ñ®À¢jŒ—99`öæª#Û‰##J ,*[J,¦Žœd«œ"l]¡Í½­À¢Š$®_ˆ»ï\`SF©h;å_—ùÉë1Ý®Àbôaœ=¶ê, Ô-ÞϸW{çÝmeÜÖm¿ªÔZþ^L~7"^mŒ©Jõ4°Bß®“;¡@ î'÷º¯|jÍNôwW3Ëx=`D‘¥L»HÕ!ôåÃ*bܨ¦ªü`œîŠ#>?d—ׂ&΋Ʀ-Û°%îcÌ›fˆŸ?ëR­ž6s²V¥Šå,ª°%cîøùFj X,߇mÛ¶àãè( ÖîÄÅXðYª)_Fž‰Ö}ûaæ¢UˆScÙ² ËçM4'ü° =ðZÌrñQ`Ø4D/–Ý©^E—2~dIýl.f¯×aú òÙ%Âl ¶lŠAÔÄÁFŸc…Ùšä|ãØ62xÊ<ÄlÚ"cŠÃ’™£ŒÓñïÅZùg,#…8e>ô “«hËó¥Å]Œ¥u*GMeÔ´EØ XoZ ÷/¦NŽÂ¢˜M2Îm2wϼ‘ø5Ú>T±Š^SÉˆŠ˜mðòé‰%ÒÖ™«ë±ÿ·u(u6|Â0/:[¤q/Á¨@S×åV~ÒçHßú ¦Ç¤˜Nú FTôÇRf 6Ä,B„~!Ér¬G_ÙªW`ý^^;¸.÷Ç®5ÆÛ/R|PmŠ“ñÆ!Æòÿ"e1>²¯*Y÷‡G$@$@$P›ÄBó=ý{SÚÉŽ]‹¯ÕÚl¹vê«X͇Ÿ¿·ÃìÜY;­ÉZså‡Q±¤õ$þ1c¦\Ñø²Œûãšl¹¶ë¢ÈRÛ„Y? \VéX÷_ݬanSë\´à…ÛîÓ…’¬ù2©Ì^Î\µ“BC4^â'%tÂ\Ä<«—^ç[»å«ZÎneæÄŒo?”Ç[Sð%bÄìûÑÃß^…+æÅc×ïОs2>#—ÌÃØÁð^^~è: ‹§ˆ|®Bö¤ÉýOPñs †™“›tg±=BÐ_væñ±XZb*¤ÿMÇû¯è=¦-_‡'Ãû 3/xùaĤ…VÌæGo¶û‹Í`Yf³pB(‚Ä‡úy£ÌÊ‘ls]ºø`îGþ9ÃÇ¿³–éý·|¯™±„=ƒÙ÷‹Ð£XûõÀ“s£Š-±²‰‰™AâCGüâ„„ãŸ3‹…(ý‡ Ë^©xE¯©ô­Å× Ïĺ¥O¢¿´å%ó¡]'Ÿ¯‚q'ÌÁf»Bá`,ß8¡!AâÏÄ>ý1ûyÆ~’nSF•pÆÛ¶»~EZ3Ž*|Måã{‹ë$jÆÝš£q Æ´E‘FÒû_0âzdðÌÉèak¹ÔÜ߃ž¯(µxî?ûDÉ2ðCÄÓSÌÙ±ýëÿ¶Š¶cª ´ëÒ ×Þ¨›Ì¤àoG!nw2²óÍVf#°MvqÛ´iþ1¼­Þu¾“ Àe ¢ÕSŒàõ0毳Úåðüñ$&& f±üPŸŽ°Q,_u‰ñ+05b(Ö™­*šÏÞ@‹Ò·"bøx,^ÿÁˆˆ¸N6NÅÐY&K׌K1rò¬OHD“^£0*¬—,NÄúÅÓ1yå^Ý»Uóchª?‡%`ÏþLíp·øŒ˜¾ñ‰9<*Lî½Sd¹ò|D e6Ôrãq²¤= )":…Áþòã͜阽8 »3å¶/Ä8©+61ýÂF!¬_Saƒ§ÇÇ«[M¢Îùã‰HIXñ#Çaa¬’±dÉM³&HHL”&­ùæ'Åjy}{¢ÄžZÉÚý³W¬œ•¿È!š™¸n—‹ì˜÷°·ÄýqéýxóÍ7M”&À)‘¬ø¥Î]®Pêo²—«Cl—H ¦aÛÚwŒÊÖ¾‹¥§Z;æ¸ã„IqW9²W 6éq8VR|]×’B†V«?ÂdÍQŒÚ¦©8-ˆ–;ØTª\ÉfµJþ)Bæ)sjà=èîW2‡<=#xàyYœsñAÈPù¡ {wÆáÓ÷bïDìß“€”â*-Ê9n2–e)zÄ¡wöà åàWœBóó¯~Ýú¡m5?•=ÚvÑÄ3­…S猪ˋ(‡Ò¦à‚‹K4/Ѩ…èSPâ¤ÜD”µŸ“ÜxTøZÌGæïæú»ÃM%ÔšÎù]+¿a…éÿÀŽÖ«{Û’´#\åŸ6ÝH©Ìñs"úºÜ$HܬA𬍲‹/´­¿Å#ÅF;¨h;v:c•ÔqÀÍ€yY\}‹Kþ@IDATvâz<=Ñ´§X`·Áró t=úW|™Uå<   " îWˆ €ÁâFíËòzüE¾çˆ`ðÉÎG-ö71µ(;%®Z7Ûìö®™…ñóc1ç«*#˜êÈoÙùJÞnaËk/h?N ž-–Ä!¦öžšˆY"û:vɦ…›¢µô)Ë·`‚þ#ÚŸ!Tü³ál!zˆµrŸöbÒ±f‘ûŽÒ'í7šô8LÔ6uˆëÝæû乨¹l&‹€òÊÚ‡ðúM‡ÌËð|Ë\èÕo_: S£ÕÝœº³•þ™«{înxyÃ[âoúè‰í"MÆŠé¯adÂ\•ÓºáÙå pgeÕœ–ƒçj|7íbŒa׺µZÞi÷ßTʽ¾^Wm¼§b­ö !›4„°h k¿OG!ÛääÑGÕÊÚ **]?gQyEê¬%6D$P·rÅrÃ?ˆ4-Î:£W¬À ó+zE¬UÞY½ÃêX?èÕ¥•-ñ~æ¾q|"fÙ°Ê^!{ç§P?M?‰>þXD¨å}9"äf½,©/Iù±Tl˯¡æsTó7Óšïk$¨©ßÄo#+Û-÷“Ïs}õ‹Þ‚úÜVæƒ*d¯_ŽÝO…jÛk æ?gÏœ—XIí_nÜZ-O0•/þjQgDدb9SéÒÿ2D^a>i›»(?¦U.â“ÂIkžÁôhÝ7FM|Cú†  M+´ ðÃa}ûhÛŠ*q\”SlÍЫeÅÔw[f•h®ô¬^íp£|A‰%©f¡ômòã·41²S2ëx’‘Ú5°X²ì1Ž/ëXŒ^˜"¿¦”Å“ºi’Э3JŸ uÄT¢ò ‹ÍrFÍ‘£Kc–˜\WÙ½ÌUKo×µpxWåÛ©@ ¯ !˜½tfäf åÐAü¼k'¶½AÌ”Íq¯ò“hÑü=FÌœ…ø&õ‹Ôò£–V+–ñòKÖNý¨ÚY+ Àe"Oµµ®ªùnX´nÚ×I°}ÁhLÕ¼»ËZÍoRbìOoêúŠ5;ñ¸,¿)ùa‘ޝ7è–,-ÑLY-ê+N$Z©r¦¦*ô×ݬè+Ëœ}Ù“0Ðò“Y«!ÑãB­¾åÃ;.îl{_XúaѦ¥X ß&.M‹¿ôV­ÿB†ØOâ7êß²MàZª2•MòÃ-÷ Fô|Ә缶Æ—ñ@µ/é~n€>]ýd®e,Öc¯ø5å_íÎDÊ'®ÂŽô V7kz­Ù»âŠ—Ì¹YÞ¦é9*öîÕº³vƒ î÷²\ƒÄir@É‚EéØûòÜüЮVæ]ííÞŠd¡y—1¤‡‚CÔk ÆNxÙÉqx:âiÓx¾Âáü±v|Ç”ì6SH€H€H & è»^†MÁ”ÛåW!ýG ùNùb±0)XþÉn„N 1šmåjûíŠVRT­óQÅõ³åå3*Ô#ò}¬ÝV¦Õ¬^-o••£ÛOö¸áŽq}ðþÝS5«‹0ÙýqâðkЪ¹8ÒÇnDš¨×dõ®ß7m£î1/SøâìySo]] ‘yô$àÛE›wke”cK‹’üSÐV>›ï{‹òÔžΩwë›ßSª. nÆ¥?š•0÷öÇ= #Ÿ~›„k·nÝ0.4H+[§ò÷c­Ü¦†E…ÙŒD\ ‹À9ñxÿËDÈ"hc!¹›E¼´¾:‚¸¢÷ÍIðHàÊ!P”¼Å$2¨! ƒë,¿5l†ymø#%6Úfzu&~6>¶³åkzÜ ÃÑ+Ân³òÇ¢UXÕrFoìE¼pÃ0Ý™E ^Z¾½d¦ÔíøP ,|nê¦}xÂLàu¸ÖV`ÉÝ‹hÍGŠ©Œ5I}k™O–þæ4æÓÙë§c…ɦ^*ù³%Åó"Ëzš–Óê§kì=xø8“‰©ª1~þºt»¥þeÕÎÎeO÷)p"nÏgŽ4«ÎVøšòÀõwŒ2ÍÆÓâÅ¿„Ù©˜/š½Â¨~ÌmWñJGü{ Ì|¿?çì.ÑôÁ?1}ölÌ~z2¶¤è†Ä•nɺ€Õu™Žw&NÇœ9s0ýµ’¦Ö>A¡â¨¯ø¦¬¢+¡¬ä T‡€¾ë¥¦L“@Ä_^h¨ù%ñ “Ô*O”m}“u¥BR¢ÿµÚÊ!nÆÎÕæÓú¡½Å=nEó#ðèŠ[ûÉQv Þú,ÙHV¾ßG·Ñ‹_Aêé4h¶&r4k‚ìþè/‹Ü¿í^»ÜdËmñ]œg®A¿½ ì+Nt%Ä,ÅYÙíÏÏÏO^²#æÉXDŒGWìCÐ ·jybÅñm±Ã×"Ľùªi#©T¡ºÁôã]Œø^±¼-ÏMZ‡ÙÚ¥ƒ1èj Z­Ö‚†Eh~ûb¦ÃÓâRÀgÔxô/»ˆu5uä‚ ˜;ÂŽÀã3ɹnÀ„¸<¢î]¼,â5Õ‰Ú­‡"Kíòeí$pYü°á=£ÝÈqCíêzà[Œ]‚búùãñô³ÝÈÈÍG¾,CعnF>]lýPšÃ¬ª–Óûfï=(t¼! ¤¬˜ŠI¯®Cr†,’%BIÛW"òîÙÆÙqcújU\пõRãÙn/=;¹2ޤík0ièxÍ\ÒÔVŽ+~BÖ—&%®Z‰Ï¶ïÄÎ{‘mñ¥oÝ?Ü'мæÓ™I[©ˆ'g³MŽHUž™ÝRæ¼èõTéÝ«?þi±ÅvBôT ˆ”-þv&™ç0©IÛñê´Pq¼–`41í…Ì¿(8ÐXŒÞ™"½¦ü‡>P¼Esü|„OZŠÝÉÈ•ë$uwfɆᲨßL ¨Žy‰ðzJŸûxL: ë„u¶ü¿äf§cûš(Œ[hæ,7iJȪN°]6W~“M!a>ÆÍZ&ãM—>ä"[®¿ík`¶Ù<[œ· ã帩ªÎ Y–H€H ÞÈÞù‰éº~c€Ÿá ÅDe¡‚X|ø­i·-—ÜŸŽ •m•£fÉî‘“0|r´–5V‹b*šO+­þx`ø¤)ÚÑúÙ²]òR¬\)[)‡Þ­Y® ì)\×®…iwN©;|R”œ_&[9‡bâB“Åpâª×°nw†Ôáj²Š Ú?ËÎ Ö%Á%`L»SGcx¨lË,[Q/{u3­‘z8¼·¸iÊ#c?H¶wž%Û6€§5áDªmå®Ý/º C”öc‰ä: –.ÃÒÓ0tÜí¾WíT\Þ­Œˆ*§'æðð½ô(ßk˜@ySQÃͱ: Z'¿k4—íª¥0ŒìSüëµý¶ýŲŸìdz|_ö§;µ±MVY‚3{"L_iÖ§ºM\bw»bS®Ê”Ó•ËUGvÒ¼B°àåHŒœn²BHX1ò² /ãA³ÙåÐðXÌ#Uˆ—íöâÛæÖS0;b¨hM[ ¬T '»Ù±˜=U•÷Á’-qfÕ¿dßFÌBT˜­=½—>öÁ3—cl°þ -{êW¥w¤ÚïAás-¦¥úMe‹¿ÉŘmQ1Vóx¹Ç¢[ÛöS~nªØµ(NëfÇ<‹"L7٠јaï oþ/Yø'±ð¯R²íÒS¯™Û~À|MÈHÀœÉãPòªoÏÜ« Y¹UlGõ ´ëòî¿Gá¿f‘1%v1&ÊË^ˆŒºË,¦Ù;Ë4  ¨?mº‹¸/¬o>¸câ(ùž_˜uß#´—©ÝÄú·É’füVˆ‰ó^Â$›õßÍg9:/q¿a‘;fL•‚ÖË6Êæ“ý"žÅ?ž2-—Ÿ=û'Η­‘×Ãô›‰"§Íĉwæ#6;¯o=‚ðþ˜4-Lî»beh©%äœÔäð…›€ÏaNŒXg˜wÓQËt¦¼üOcWÏð…ÛÐ|Y¦ËŽCñ²\JÝoFL‡ôU‹oÜ#z`ÄÜÖÿÄìñˆ‰Ö¿ãõžlî¹Z_d2§¿]wŸX ÅÈŠrxìU|‚±%@‘¥Fq²2¸üòSv–Ý"ï.¹ŒÇN{ ¿"²¨õ”²#ÍÔb"_ŽFàîåÚºuÑnò÷œ¨ýú‡ºõÙÊ–óô5­[E“b¯j³—¦Òý‡<‰¸U=°à…yˆÕzªZ/^ù²™8¢‡a)>‹äûfª|ñÙ†Á‘QxjdÌŠ˜^ì(XËä…1s_F“/ ÞØçù:43jÚï›FÌþúEcÞ+Ñ(ÙµÁxö™·rFæ…®CÄð ñoc^wkÛÇâãr3g•XÈý ±)$K^[\ª³¶ÀÁ‘xfÆcèoÞ °¸‚Z‹[qK%c⯦d"*{My…ãóM½ðeDÇ _›08òYÌx,–C÷j× ê7ž¹ÁiÑTÂl ê‡VcðÂØ¹ѱÏ"ük~ŒÉÄWÏ'ï>ý"5ãQ 2‰žÕi§´ëÒ%`6~ì£9狱ãœÏ§[žš> #ÄW  Ô5!3>BÂŒ²[ 1 òRaï²Ïµ÷›š sg‰uh.”G’æ>>Æ=ž–Áü§¢ù,˨¸ÿÀûeùÊŸLõ‹çzWïæðñ(~Lö +KXî+hYî[Ti_»CøÓpLË*‚wsÓw{Èýs‘ /ëà‡ðK>U,K‹\¤œ”÷ò2ú_”±ÇD«A³0a®T/ç]¤íì­U:JgËÚ|0âÉ…ñ¸Ô•oªKvx0õÅœ­Ç„¥ReëxÆ_´„°ËâðÖº/WòQ£?$\ÉäØH€ª@ 7&‰3/¥æOÔ¬:Dé.ÊE†l±—¯>ü=¼µ5¥Å_?æ6ªZ® ]Ô‹äçf#+ë¬É爋üe­l‰~陋ò‘•…³jë!ɫ֯ß¡²|(õ¤|yz{Ã_ÖË–Z‡^W¹ïE²L(Y¦mŽàá-ëp}Êyh/·ÎªgP˼Ž;‰œ3çLNâ\›¡uÇ@øW¨O—q,5tM©§2dîåò-9÷UÇZJÉ"Y¢“aºÎ$Çå˜{5Þ,¯éR÷–ËÚKÖWÿª.eÀL&  '°×¼ûãÄè8±0.Ý2»¢ùj¼ƒ5Qaîv„*vº˜¶hîº6E{°èÉÉX/¿~†ÍûsCí8Ô¯dÛùéÉHÉLÅ»ONë›~ˆÞ¶!5t[úã?¢o_ÓýJvËá²×ÔXxÇåpSË‘€£PO¥\¼àç_³Âª–35WÑ¿âHÌ_^ "¬øøùÛ_*áå‡€Ê ¯Üeûhi«F«,·ÍÒ3xÈø‚‚«jÁà(c©ú5åâá%\]͆Ké×YéST£gÔx+÷ÿZ£Í³2  ¨6‚“æ:Ê~d­h¾jw¨6*ðˆWg†aüüX,œ:–;Zû„ÍÄŒXT·÷ÄD`²Ùßÿà™OÕ˜ÀRH®„:˾b¯„r $@$@$@$@$@$@õŠ@ç»æ!z°'ºZnmlgÍg§¨C$õ;Ûn›Œ=?ÀÑ“YâQÅÁ×܈þUþq¬ä°º _„g;d£U—^Ø£ú–1%[`Š%Š,–4'0(*„þÛA¥Tµ\¥aæE€×Tƒšn–H€H€t^þÁ±Ú>H?cý^Ñ|Ö¥ëÈÃ'ý‡È«–ºå<áöÝ(ÖR‹ »ZŠ, {þ9z°OÀ« &FŽÂ—GòØ´U-g¿L%€×¯   pXÎÎθxñ"Ô{}59:¾­ÏWûN$@$@$@$@$@$@—‰@rr²8ØW›bTÕ÷ßeê¸M³jÓ‚³gds¦ò‡N•/Â$@$@$@$@$@$@$@ @»vípôèQÙ…4C³h©o<”‹ê»ƒKMZ²ÔEÖA$@$@$@$@$@$@ @AA233µ×ùóçëOOOøúúj/77·é;E–ÁÈJH€H€H€H€H€H€H€:.jèWÇO$@$@$@$@$@$@$P#(²ÔFVB$@$@$@$@$@$@$ÐÐ PdièWÇO$@$@$@$@$@$@$P#(²ÔFVB$@$@$@$@$@$@$ÐÐ PdièWÇO$@$@$@$@$@$@$P#(²ÔFVB$@$@$@$@$@$@$ÐÐ PdièW@zö…8j™H€H€H€H€H€H ¶ Pd©m¬ߡ,Ù’ŠßÞƒ¯÷g:T¿Ø      úOÀ¥þ¡fFPxñìNÉÑ*ótsFÏv^FÅ—þ~{ÔCÿ—ûNAÕ£,-bEˆydp{#k¼ôgÑW¿ÃÇÓSo „3w|#iJxùûG±êÑkàdñCâ=}[£ƒ…Uª¨¥—«Q_C ïeµ(´ÔΠ,XÜÝݵ—“W#ÖeÖJŽAàÒ¥K¸pá‚&¬RdqŒ9a/H€H€H€.?>ÙÌAS1T°ôÙ¡_Yòc/|ñë)-9üÚÖÚ»~l™×]–íHÎÆ7eˆ5 Gr – ëÕR³|ùrßi±¶(®%ú›4íà™;‚ „µœè‰[:`TH+·nŒg¬¹^'ˈFôö³zy{PSS?eÑ¢4)Ý¢År¾5ÐüS%ê¡K‰,Xª„…H ^Pÿçêÿ]ýß3 ˜Pd±¹””®þM°Kü³h>RNäAùV¹)¸¹MNà|áEl= ?)3Q¬NÔ² Í‰§Qd©ŽH©‘²$H ¯•‚sKÔ£>7‹5#Dp•2ÄÇËOf1Êæ¨øpQbMß&“ì ²dHõoüÀvx*¬|m¬TVî8†76^Ë·µÛnCMTBËØþm´áëBËIaÎP}XªÏ5@}!Àÿ÷ú2Sì' @] Èb‡´r†zQ„’ø¤,í¥²ÜܵE‰œßÈ¡ån‘üJ`¹AÄ‘l>¾«ËЬ±+þ|S{œÎ+Dt¼É"ÅòüYqT»ýPÚÈ îm½póÕ&g¬ºULö¹Bm ‘ò£ûTË„Æ,þÉx­ß}Ò²J(?2ßÊ6^{Òìûi±*Ô€ö¤Å fã®÷·rBÜ€Pp¨$@$@$@$@$@$@5D€ëGì€*"ÇRÙê÷ë§e× BMüPÖ-¶A·>I:qó7ý&;þ˜–ì|ñëiÜØÙÚòEY¨¨üJ éÛÁzç Í‰™P»©å+ªݱí6Y¦¤,_”s[µãPÖ¹"í¸±ì~¤v8zT„›²ÌH·x±ìß‹£ƒK´cy¾!Ç•ÀòŒ89V™ ÷h‹‡µkÈH8v       @K;ÕB½Û{Ë–Îg‘&Ët”èbáSV+¡vRëj'"åðVY¯¤Kš“˜š¨¸ZÊc”Ê_oë õ4‚ò¿bt±F *ª¬MÜÅ2F- Ú²?S«óZfÔ²–Õ?׊^ݦ "úû‹u —¸X²,/nO`™@¥üñ„qê·Sç‘$~_ÔN@Ëîi¤+G¹j× /¤åÀö±!Øõ{”¯•ÇsÑ®¹‡2gpÜÆá­^r”ãiÚ‚ZOS»·.i‘£Ÿ¿Òß+[  ,Wú¬s|$@$@$@$@$@$PwhÉR 뛂}á,{"+1£s«ÆV¹”_[%~¨pk7k_-C¯6ëç­ ÊÁøÛÉVÊnFòç{2´ø­Ý¬…åàVù`ùõh.ŽŠ…Œa–Dö@7Y¶ô£ˆ-Ê'‹òåÞjùmP²˜±|åØXר–¹Ò[÷^b¡¤‚Ç(°\é3Îñ‘ @Ýhô‡„ºm’­U—€ÚmHí>Ô®¹l•«{­n¥ ¤¼ò}³ó·3ØÙ§Œ¸n‡™––__kÁ°n{ÀÖH€êš@ff&Ú·o_×Ͳ=   pH\.äÓRv§ÔNF¾egâY»”a ,vÑ0‘H€H€H€H€H€H š(²T ‹“ @}#——‡¢¢"899ÁÅÅ1¿Tÿ.\¸///xxPT®o×ûK$@$@$@ •€cÞ]7ÔÙà¸I€H – œ={V.6ÿ˜ŒùïÄ!'ï|-·Xµê¯jï‡Ù—¹pvv†««kÕ*b)    ¨CYê6›" ËMàÒ¥KX·uÆÏ^q¹»Rfûû’#vG"¶-{JòAË–-ËÌÏ“$@$@$@$@$฻#Ìû@$@u@ 77Íš5CÔ[ŸÊi¶ƒ¿.^ÄÞÿÚa—4ÕÁ”±     zF€–,õlÂØ] ¨*ÂÂB4nÜ¿ËÔü±Tµžº,÷ócpww¯Ë&Ù T™E–*£cA ¨ŸœœêÏG#'çú ™½&   hêÏvƒœšH€jž€ÚU¨¾„úÔ×ú”ý$   ¨=Yj-k& ‡$àä\>úhÉâ×;E$@$@$@$`Ÿ@ý¹Ó¶ß¦’ T’€“l‰\Ñðæ¬1¸÷¶k´ì ‹t÷œÍ˯hñjçkT‰¾V»1V@$@$@$@$@Õ$@‘¥šYœH€ê'g× u¹icwÜ=´‡‘×ÝÕcnî…÷6í6Òj;RŸüÇÔ6 ÖO$@$@$@$àø(²8þ±‡$@$P£\\Ý*Tßø;ûB +–aâ]ý±*nŸeR­Æ]\*&Õj'X9 T€õÝs 1 @ý%àêV±-‘Rb½;·Áµ]°'ùd‰sµ‘PQA¨6Úf$@$@$@$@$PYY*KŒùI€H žpuó,w×·ÂÕ-´|IiYhÛ¢ ¼Y äŒ Ô´d©“Ä.’ @M(Ï:価WÍ­ù6 zþu;Ž¢[@3íÜ5A¾èÔ¶9RO3ò–™1¶:·mŠÙùˆÙ–Š_~ËÖ²ìÖ÷í7'øz»ãåG¯Ã=ÿ*ö÷ââR±Êj›çH€H€H€H€H ®Pd©+Òl‡H€„@YÖ!]Ûy£k@S­§É'ò°/íôü±»OaúÝ—4ADe}c¼ñÙá ªw'lÚus>H„Z‚¤‡ÝGÎboJ.^šÐKKºÊß ÃúµGÜϦ݋œ¹…³ŽŠï$@$@$@$@õ€— ÕƒIbI€H & (ëÒ^cMmØyÒ*_~‘6ï9eœ¿ëú¶ðôð°ÊcY¯‘Q"k¿;ލâ\JäÿöÀüšrÖÈ~[H#E #$@$@$@$@õ€E–z0Iì" Ô$'Ø{5mâ[{ùiM)k“Ïv.‘oÝFWš{¹â†®-JäÑë62JäãN”šOåÿú×âÝ…®nïUœ×™—–'   pl¼{uìùaïH€H Æ 8—"\ÜÒ»%šx8kímÙ›óE€mÞ}GÏãÈÉóèØÊSË7ªk|w°Ø ¥´Î:I›¶uYæ=u¶x;èv¾F^'gS,ó2N$@$@$@$@ŽJ€"‹£Î ûE$@µDÀÉɾp1úúVF‹»ÏEPë&Ʊedç᳆ÈrcW´öñDFNe–q§FN(­]•ù÷S¬ÊèyU9    ¨/(²Ô—™b?I€H †ìûr©QS#sìšîÑÅ¿‘>cT //2Ð/ÿZ»z]èžÿ¯Còw`ÿo鯱QeTþKüǟד¡÷QK¿÷ #    pdYyvØ7 ¨‡w–¨5|â­%Ò*š0rpW<õ%ë´,Ÿ™ú+2'[&YÅoè<Ä8Î9›'yMõµr 2Ò!    G'@‘ÅÑgˆý# š&ÐH·91Uìîæ†î¹C;¸p¡7y 9gsËlµOï®XñÚ ZžÎÛãö›â‹-ß•^FµiÓ®eæöm[‡{ˆ£çÕß³Œ €ã Èâ¸sÞ‘ @­hk?'£nCSï&Z[ëc¿ÁŽ-·Ý}IGðüôÇp•,*<2.±[¾/£œ“,'²n×2ó }{‡[¿ûÑ"oéeŒŒ €ƒàÝ«ƒL»A$@uF@·*1¿O~h¬Ñô²÷×›¬Hlòh–%6io¿ÿ‰QnÔí7¡iS/ë²ÆY ûÕAÖç,êjß®5ÆŽ 5r¯üèó⼆§ã4#$@$@$@$@$à°(²8ìÔ°c$@$PK,ŽW_…úöÒ:|$ _lk‹óeÅÿ·ö £ƒjÉÑ#ãî².kœ…,-ú'ž~â!¸»»[åiÚÔï½U^…ÿ­Ý„½I¿Y屨†Q    ph•^.t8ã2s µA9;5BëfîhÓÔ *^[¡ðâØ’ƒþšÕV¬·HϾyÐc †JÀb[ä ãFÞ^½AÄŠkïiÇ3°>vF… Òêxä¾»°ð­Œúl#sŸ™‚iÞ‡57#ãtüZ4—²ƒÑÞß´uôá#Gñ·¨×¬úÐH > $@$@$@$@$POTZdyÿûtü’zm›{à?þÀ‰œ‰òç›ÄñaÏ–µ2ìœóExzm¾ú[ÿZ©Ÿ•6K¶¤â£O`ÖA¸¹«oÃ8GJ5rÖŽÜÝ\ñȽ&‘åBA–­þT WLç,²—]¶z£!²tî„úõŸ.{K”yðÉ9xúñЧg0¦ŒSâüO¿&áO“ŸCFfŽu*ÙŸ3H€H€H€H€ê@¥EÕ·A]šcjh£›?‹èòܺƒhÖØ‚|ŒtFHÀ‘¤fæcmÂqü!šû©i+Ù+]hÉÉÉÁòåËqýõ×ãºë®s¤é`_.#FN&k•€ömðŸ·c´ž¤¥gàT–æsíÞÆ¯¶#ê?ïÙ=<<ìÖ‘xèž‚ûïÃÈÐÅan;­Œr »!n>üt ÔÎF¶í7ªE+I£ÓŒ @ ¨’ÈbÛö5Þ¸+¤>øá¸!²|½?+¾;†Ì¼Bô ôÆ_oëOW'<±*3†wÂU~µj~’e@ŠeÁ‹wwÁѬ|¼÷;öÏC ¯'& j‡k;4µmêaùµ¯Lùš7vÅ×øáž¾m4×ÿ\!M»ïRNç£SKOüåÖ@·6íœQZ¿:èø4ŒíÛo~“†ûøãÆÎÍK´Í„úK À×Óo¿8‚Kb…u¥ -J`yå•WžžŽ½{÷âÒ¥K0`@ý@ö¼æ˜­Cÿ~\’÷Šë­¢ÕˆUª6»õ8ãBÁE,û`“ö*nÔ"VJ9‹Œ’ €C¨øâûr†ܦ‰&~¨l»~ÏÑ µ$cåŸ{ÃÏÛ ÿøäÜ\œÐ^–mFJŒ nÝ /áokà–n-3)ˆÈµá0ŽŸ¹ gÕÞó%ßSìG7/¼ÿè5xzDÖŠH³áç“Úùã²|é;ŽaÒ¬~ì nŽ¿ÅÀÙü¢2Û((º„ýéyX¶í(ÆökƒÞí½­ÚåÁ•A`x/?MhQ^t¡E]ƒWZ°XÔØÔÒ¾wß}'Nœ¸Ò†ÊñT…€“, ª‹—eߪӞe=Œ“ €¨1‘ÅC”‹—´¡®ûé¤fÙÒZâªÙû´E²8ÌM ”Ûº·ÀÖ¤,-ß%Y·±ýP6BEXÙv( ­DŒ¹±³VOv^¸NÝ~¹ï´¾øƒYðrwÆC7¶Cyïæßã¶ÃúÝ&‘Ee¾G¬Qz‰H¢Î+ÁDvd–ÛFö¹BL ë¨ùêðö¨#«¾óÀ1\éB‹­À¢SF‹-ôC¾7dÊb¤.^–Œ•CÝ*µYc_S–½aœH€H€H€H€j…@) Ên릦[Žeç‹5ˬ'¹zp’"Næ\ÐvÊûü7¨]Šò.\D›fnh'Ö-›Åš@-ŠŒÞ£ÑÞ• b”eK‡žÚÒ =]- J·°xQç-ƒ:N?S -W*« µœIÕÅpåPB‹ýbv7,Z”°§„¾úJX®¾újüå/‹KýË×gL컲*©ë [²T¶ÝËÑ×Êö‘ùI€H€H€H€HÀL Fž¸ÄXE,NNi¾WT½-½Ü0F|¤ ïU¼ÛÐQÙ6W=Àª­žoË•odᜬÏínÊ£Êô lŠyc‚ÉQ–%jûNµ{‘š7qEFn~¨½Ÿ<[_I׃:¶ §$Ÿ§XÀ¸”Ú†oÛ:–u0~eØ“v,¬ŸÆ]ïÅ ,nnõ[@º²®ÀË<šF.ðóm†É÷¨µŽddžÁ¾C)FýútÇ=Ão2Ž+Qå÷L­HVæ!    ‡ P%‘墬óQ>T”ô¡¬Sþ·#]óÇòÏ»:kƒ*[ã~¼ë„¶ô§©§ v9ƒÅ›SýPOí|XšÓQUÏkãºki®j†¥[R ~ÕRåCåñ•‰øÇ¨«Ð¢IñÃáÀ«|°ôël•å?C®öÕò©m¥oéZ¼ â#i[ùbQNqU}ê¥ï6vs*µ ­üÓ ¨ëáÙü¼\Ã*¨ål‹“åúʳ`¡ÀRŸg·úî䂌잮šÈ¡ò« vú¨Ý^|dÛg” òŒ8ʳ1jQ•óŽÞ~ZÞÓ¹…ZõGY¬þüî^q´ÛH¬eÄ¡îí´~ªó¥µq@–*1\ùì ,j«ú(°ÔçÙ»L}·ØÅÇÝÝM›4†²½Lû6-0 $XË¿cw’6 •¦Ê+¤{çöÆ c¿ýí[·ÐêÓÏ©2*¯ªã§Äß´úÕ9Õ¦,újTÄ 8(F²ëHñZœTQK‚*ëD6û\š‰ŒbÊ *Ÿ—‡3\ÌâÊ;ùûdg¢¶²•t3dÉr#ec¯žŠ¶QVûXêÚ‚%-- ¾¾¾–]aÜdee¡]»vpé1ÎèÕ„1C1àš.xtö[š 2aÌÍ"¬¸`å†m˜=e Vnüݯj‡Ÿöý†}‡Šø‘¦å»çöëµ<?KÞÿRcTž°A½µrƒÆýC„O(Áå¥ào þ§µ©Ê}øÅ÷¸ä ÌëÌ~|Œ¼¯Ç‹ý§žÐâ*-êµZ~%Ò|½l&<=é/˘4‹dff¢}ûb1ÍÁºÇî @¨Õm”åJe5zeÝbO±%£òY ,–çUÛÊÏKiõT´ Ë:¯ßZÈõ –¢© |°ÔwE#//§O[ïÀ¥Òƒ‚‚P׋j—¡žp«CóëªÀ¶ÚÒ!¿–"މ¯–´YbÉr9ybµRxY¹’®Ì ÅêP½T9-·ôÇ’Õ_c_ò ü´?M;7¤Oüç½X„ ¾9"„«s9yùÚ»^.lPˆˆ7;´ó;~þ C®ë%ífK½ÎèÓ£³ö®÷O+SO°²›$@$@$@$@$P«"ËåÀ{‹øƒi+K˜HÀ–€«s#D…wÁ òzdð•ñ««Ú’Yíd+¨lÚ´ 6l°EÀc00 ,Ý»jV)Ê î„1·ˆHâ¢-ÛY²f+öývR¬SÜ4!äï‹ÖÉ9Ù‘HΛÄyá%#ûÚûû™ÓdÙQSo±\i ww(‹C(|ÕhmšÊ¥Ì1Ê5mÚgÎiÂÊþ÷&ßw›V·QVµÉ@$@$@$@$@õ„Àw÷:¶_›z‚žÝ¼”Ð2°³ÏåhºÖÚÔ—½þúë(((ÞYkãÆZ›#Gެµ¶Yq=%`.î »÷Î| ±|ÎÃø0î'lýñÒNžQÄE¬OŽcÇžßµxι±8馉2?íOÕ–ã~Æ‹O„k¾[ eõò÷7>+YšØ¢D—œÜóRß­Ž Ehå6|³×(§|¾lýq‡ìväƒ EÀ’5ñâF 7æ¯'ý½ž¢f·I€H€H€H€ZõÉÒ°Pr´$py 8p¶B‹êÑwÞ‰ºZè“åò^嵞›› oootó¢iyNyàü=¡}ðêSwjýv€î° vÐ'‹(L"  h°®¸åB v&9ðO@·hùöî>ŠòþãøHH ‚r‘CD(Òx‹h‹¨¨T¡ÅŠEÅ¢*”b…RÄQÁ¿–‚ÊѦ "XcQŠV,R†âE•ÊAä¾Ï $d‘ÿóÌî&›ÙM !Àlø<¯d÷™gžùÍûÙcö·Ï̺O²3Z8uèŒx8‰‰‰²ˆŸ|ð'æ”seqÿ‹‹«ª_ýâGæ‡ò@@@¢B€$KT A"p|$ZŽÏéLnU¥JÝxy+MO½Sž×ÔPØŸqóÖ?{ Q—¶Ö¿¦VëÆµd“C@@¢A€Ó…¢a”ˆR wêÐc=¦F•²·ãoÎéBÇou:[îß¿_Gu.˜l/žìµräÈíÚµKö'ÊíéMñññ^ ‘xB8](ƒ› € pÆ T¸ ßžñ# F 8£%ô-—^z©6lˆæW€j: 6™±yófωØÙ66F›`¡ € € MÌd‰¦Ñ"VJ)`g´¼øâ‹êÔ©“îºë.s {ZÈÉ+Ìd9y¶ôŒ€W˜ÉâÕ‘!.@8$YN‡:ÛDà Ø‹†ÆÅÅ’-’d9%ÌlO dñÔp  €œf.|{š€Í#p²NU‚ådïý#€ € €^ Éâõ">@@@ˆ ’,Q1L‰ € € €^ Éâõ">@@@ˆ ’,Q1L‰ € € €^ Éâõ">@@@ˆ ’,Q1L‰ € € €^ Éâõ">@à$ Ì;W“'O>I½KÿûßÿôÛßþö¸ûâ‰'dc -¯½öšÆZv»{÷îNÝôéÓ•žž¶[ï¼ó޳þï~÷;]pÁ²³gÏV^^žÓ¯­üûßÿ®üü|õèÑÙyòùçŸ;mo¾ùfýüç?Wnn®† ¦_|Ñ©·‰‚?üЙµñÔSOé‡?ü¡æÍ›ç,·³B–,YâÄצMÕ®]ÛYgéÒ¥zþùç•­úõë;É‘FÉÆÖ¡CýóŸÿtb2dˆ^yåmݺU:uÒÈ‘#uôèQÇ###Ãéëâ‹/ÖðáõfÍg|ðA§Ÿ-ZhÑ¢EЉ‰Ñ˜1cÔ´iS§ýñþ·{÷nýßÿýŸã[§NgÛ6ÖH¥¸ý9ï¼ó´|ùr]tÑENrå¾ûîÓ´iÓœ.öîÝëX&'';3jÞxã 9rD?øÁd÷ÛŽ©MõêÕK“&MRß¾} 6m=ž~úigŒ6l¨J•*,ã € €À™#ÀL–3g¬ÙS('×_Ýù0nOeùóŸÿì|H·²ÇŽë$4fÍš¥Ñ£GËžþ’••å´µI‡~X3fÌp ¶ÞÞ¾ýöÛ5gΜ"‘]zé¥Nr"Xi—\r‰s*Ì®]»œ$ÇÔ©S5þ|ç”›ä° œ`±I ›0° ›à±ËlòÇÆkëþú׿ê…^Ð7ß|ã¬rèÐ!'Þ¡C‡ÊÆÞ­[7=þøãÎ2›8:pà€^zé%'¹ðØcÉþ³}ØÓeì~Û¤ÍêÕ«e“ÖæË/¿tNű‰"›±ñ-^¼X;vÔÌ™3uõÕWË&’"»¯Ï<óLÁ?ë,öTž›nºÉéÃ&¶ž|òÉà¢"KÚ›²I([V­Z¥Ë/¿\>ŸOû÷ïwöç /Ô²eËœý°‰´W_}Õ‰ÿå—_vÖÙ¾}»“€±Û®W¯žSgÿ³ –뮻ΣÁƒ;},ä € €À#@’åŒjvÊKàÓO?UÏž=U¹re%%%9 ;#Ä~8ÿéOêlÆž†b?°Û$‡-v6‰}QµjUg¦ˆMdØõíl›Œ-7vÚÚ$ˆ½nˆ-¶Ý'Ÿ|¢Ûn»MUªTQbb¢3³ÅÎ )©Ø¤Êý÷ßïÌX±3`ìŒ;Ë¢FºñÆUW¬X!;ËÄžÞcË 7Üà$fl"È›<°ÅÆ`÷£nݺŠUƒ œ’M\Ø™)v&‹MFØÄŠ]Zìö®¸â §ª}ûöNò)tyðvË–-v¶­ýwÎ9ç8‹ìL›Ô±3lrÊ&HV®\é̼ ®ü[ÒþØDå²nÝ:5kÖÌ»Ovœ‚§ Ygk`ÇÔŽ‘M„Ùº`±³‡BgáØ¤–Å®c˹çžëÌ” ¶ç/ € €À™#ÀéBgÎX³§ PN6)bO {ŠM\ØöCy°ØÓbì, [Bëí}›¤(©Øÿú׿œ„Æõ×_ï4µ‰›¤ {ÛÖ¹KhÝYgU°-{ê‹{}»®M„ÖۺоCc·¹2aÂg¦Ëe—]Vä'¶/[âââü7Žñ¿MP“1¶é† œ„Ý›¨ –_ýêWa®vYIûcI6Qc/vkO²Å&YlâÌžFd*ö4§š5k:ËìvŸƒãhïÛäRh±±ÙÄW¨“Û3´=·@@*®@á§Š»ì P®öªö+¶Øô<ð€ó»I“&úÏþãÔÛÓOììˆÐk­8 JøÏÎΰ§ùØÒ¥KÙ™'¶¿ýèGN½6Èûï¿ïܶ3TlÆḬ̂ ›è ^ÐÕžš,¡üÝëOű×)ÉÌÌt®)c׳3Flb!4¡ì/ÒßàÌ{Í;;Ä^\Öž"tï) € €~Jæ ‰¯y4 € € € €'(ÀL–du@@@@À dáq€ € € €”ƒI–r@¤ @@@@€$ @@@@ H²”"] € € € €$Yx € € € €å @’¥é@@@ ÉÂc@@@(’,å€H € € € €I € € € €@9d)Dº@@@@H²ð@@@@ÊA€$K9 Ò € € € @’…Ç € € € P$YÊ‘.@@@@’,<@@@@r ÉRˆt € € €dá1€ € € €”ƒI–r@¤ @@@@€$ @@@@ bÊ¡º@Ž)°gÏíܹS999:zô¨j$­³ê7 [/{ßíÞ¶9¬>±ÖY:»Aã°úì}{MûMaõ‰µj›öMÂêsögi×Öaõ 5“T§aÓ°úƒöiç– aõÕkÔRÝFÉaõ‡rhǦuaõÕj¨^“æaõ¹9ÙÚ¾imX}|B¢ê79'¬>÷`޶o\V_=Aõ›¶«Ï;”£mÂÛÇUKPƒäísjÛúïÂú‰‹¯®ÍÎ «?œ{H[ׯ«¯_M ›µ «?œ—«­ë¾ «¯¯†Í[…Õûòkóš•aõ1±UÕ¸E›°ú#¾|múî›°ú*1±jrîyaõG|>Ó>3¬¾JLŒiß6¬þû#>m\Þ¾r•5m¡ý÷G´ñÛaýT®\EM[VôûïµáÛåaõ•*WVr«vaõö¹´aÕ²°úJ•*)¹õaõ¶Â¶·ë¹‹mo×sË]l<6.w±ûû½Ùow±ûk÷Û]¬§uuëi]ÝÅŽ—7w±ãeÇÍ]6¯ùF¾ü|wµyüœ§˜ØØ°zûx³;w±7û¸sûx¶kw±gû¸vû|±Ïw±Ïû¼qû|Ì3ÏKw±ÏGû¼tû|·Ï{w±Ïwû¼wûzb_WÜžžØ×w±¯WöuË]ìë•}Ýrûzh_ÝžÚ×Ew±¯·öu×]ìë­}Ýuûzn_×ÝžžÛ×uw±ïö}Ã]ìû…}ßpû~dß—ÜžÙ÷%wÙ³}‹dívW;ïwö}Ï]öì0í÷Fh_¯‘jÔo¿wÇVíß»ËÝj×k¨šµë„ÕgíÚ®}»w„Õ'Õ©¯Zg× «·mí:îbÛÚuÜeßžÊÚ¹Í]­ZgÕURÝaõû÷ìÒÞ[ÃêkžUGµë6 «·6ÖÈ]¬ÍYÆÈ]¬½w)¯cŽ“} q0{¿vn^ï_Õkªnãfaõ¥=æ8dž»;"sT3ÏÝz§á˜£´ÇùæµvK„cˆXóZÛ(Â1DþáJ¯âsÁí»ÿ:Û.aüÃÚ3ÆîvÁû¶ëHû\Üc¶Ô>Ø_øßÒµ/mÿÅy–cIËÂâ/n‹*Î3¬ß@Ei÷×>"Å_L8NÛHí‹‹ÇÖGlow¬˜©}¤:»zi_#l?Åõ)œ“î_\<Å € 2büåäi Ê¥ÿâÞóŠÛßHøX"ÆSNím7‘úTÜd¤e‘êJjo6\\ô¯÷H}Eª ®qY1ýÛêˆíƒ¹ÿ–r¼ìê‘ú·¯3Å•ˆí‹‰¿¸þ‹õ,.žÒö’ã?ê=F*ŸRÆ9’@­}L”Ø èBü¥X£”9Û$£¢QÞ+ë{F%ómV /Ë…à P<ß÷Êʶ³V™oÍê+¡VRÄo³ËÒ7ë € € €^ Éâ¥Ñ * À¾CùÊ?B.·-»„ € €.ð›\ ¸‹œˆ€ˉð±. € €D‘I–(,BE ˜Ã£FÌ € € P’,eQc@@@@À%@’ÅÂ](_ûSœ‘~޳|·Bo € € €Àé ÉrúÇ€¨Ð;·lýGA@@*ºI–Š>Âì € € €œ’,§„™ € € € €@E ÉRÑG˜ýC@@@S"sJ¶ÂF@@@ˆüǵaý:mß¾MÕªUW£ÆMT¿Aƒ(ˆœ½ @’Å £@ T`ê5jUà½c×@@*Š€M®¼:í/š÷Î\íß¿O5kÖÒ¡C•ŸŸ¯óÛµWŸ;û)å’K+Êî†ï‡/GÛ·íPv®O1ñ5TÇ$–È„;£¦ÒQSŽÑ†Å €@™ve.󺬈 € €À©° –ß®uk¾S¿{ªý.tf¯Øúµ¦îý÷Þ5É—¿ë‘ß=¦«®ùq !åhդ%šÔjª‹¯¹EwüâVµ©¡ÁéªÊÑ¢ô?ê“þ¡ý®®úå8 éÛY ®zî/@’¥x– €@9d)Dº@@8iÁK\Õ8ýzÄïôÍòåNBå»Õߪf­Z:ïüvºÃÌbY·v­žN}Tƒÿº„DKŽfÝw­^YUr¸÷N~W½Ú&•Üè”,Ý¥Y¿ê¡WB“Bv"ú¾w|H¯ÿñv1?=Ĥ„›\ø¶!€ € €TlÉÏÿQ›6lÐ#£ÓÌé/éq3£¥N½zº»ÿýêz]w­^µJ÷÷û…â«ÅkàCC5nÌïµÆ$`Š+q5¯¡é{SÓ_O×Ô´)fFHá ˜?¥•yÅõpêê—ýå7 –·Öôü[ïý}‘þ>gºî¼,Zò¼^œ¿éÔå[â «(@ÂG@@(›Àûµ`þVÓŸœ ïÔJ={·×©Ô;K6êÎÉï«Oò^Í{eºþ±ð?Ú‘m7UCç9§ýÌœnø(ïÛ¤YfýoÔ@—]Ö\_ý-]KVjùÛÞu÷í:·¸ 3»2ô‡+}¨yý8=3°³sÛþ—ÔJ}ž~Q뮾Cÿ6÷ÿýî—Ù­‰³|ógsõ××ÞÒgk·;÷ë·Ó·÷ÓO®9_ÁÃæ…Ò„¿}«V]nP“=ê¹ÿ•Ý…znÑCôÖ¡Œ¿hâ´i˾,ÕlÜI· ¦^Wž#•vr6ÓÈÆ2ÕÄÒÔÄÒ&ÿM›ù³]©QÇ+t÷ƒ誖!@y›4÷¥©šóž?ÞÄú-Ô¥Ç}úùMd“gÇÓ§ 9 þC“%ÀéB'K–~@@NTà?ëéÇÕ[ï.Я +:wQ÷›¢_þâç² [zÜÚK÷|H÷ü¢·îúåýÊ>p@{}¦^}ãï6Ÿ£Ùæt¡?›Ó…Zö¢~ÙÁÕÆœNt‡9h³©î8L³Ÿl¥á7ÐjW«ÛŸ§å#‡ëë`}-“0 IÒᄅ®MÌu]r¾Öƒ®õÍõze®Û(ôì?^Ð.ª’“9Í$|þdÚ™þ^Ÿ«®õƒ)’àºR^N–²™ áVKR-sÜe3ÔÃù2Ð I5•Up—š×ÑŒ?r’ËþÒO8…½¹nÙ'iÈ´tCÝUÇ¿?Y‹õÈ-ƒiK‘Ó¡’4Úìûåvßåhcù¹+L{·æ5£5ã±ëõ­{¿"ôÅéB©Bò8˜½_ö@@¯ ìØ¶MÍ[œ«ÊUª˜k®¬Q‡ ;éŸóþQ`±ñÎûÇÛÊÍËÕùtÐw«W©õyçiÏîÝί•~tþ•mü«í< Ÿùl_½ “$Ý>r¢þb>ô7ù÷ÓäAœö¾9…ç]½ó·)ºÊ¹0J–žMý«ÿ²)¡ë7¾Qæü[éætŸ×'P#§ß/õ‡?R°…Л–.Üm¡¦Iá »0.!Igשã$X´ý¥,-o£Ù½«ô>гCü§Aío”f/õ'‚b«³:M5È\æ½iêÈ 6Õ4ÿ>½>&§´ã@®ìT˜cìÏ¿§Œ>.£ÂX’tïÞôŸ5m´IÙ’¥o7;Ó„´èùþKë>zñ‹œ˜§ÿá>§ÝþSõW³oÇÓI–‚aæœ ›×Ëþ£ € € à5*&¹b/|[©R%U©\E¾|Ÿ‚ ´ö‚¸Uc«šeùЉÕáÃùþöfÝ2•ª‘׺väŸtW·5>{¯>{ÏŸ¬¸êá'tUs<1u:è‘}ü+¯úXksŠöÓkØjH–ÔjÛC¿þe'§Á–/–¹ŽmѵŽÿÞú/> ÌZù±~3ðG_Š×·Q/'ù#-ø¼èœœš×ôSÀ~4mØXõè~¾s;¦þ%º±uäJÜß·ZXZ£kë'ü§oÅ5¿T·É5Û7ý½è¯Ñ…&¶ _kÉ—_+»ZïãÏ7ZB_$Y ™¸… € € p 4hÔH7¬Wž™©Ò²u}º(C×tí¦sÎmé(ÄÆÆê¶_Ü©|_¾–-ýZ­Úœ§U+3U·^}U®\–Ó9Zñÿ:(ª[£à&Rýø ÿ5O”wH[cÐüÜÚEF£Ö—Ê™3é#dY]ÖÆœRRÎéaë7U¯_ö1¿ÔcNÝ)H°4ÕãÞÔ ÍÍO=[è®?½«‘}øµûóÏÁ´„éÓœ:ó§—ÖŽÑU½aÚ^á¿¿ocA‚¥åõÃ4}ÒÝ \ÿ¶pk!—h‰«Ý °&ªaºGÁi=ÎÚÇÞŸR…Äb7§àvãZöÒÌ燮y³Q_,5[÷Ò³{ZçÆî–ëÒ3EúªtÔ”¦ÜDÊU`W¶ë¼ÌríÎ@@(ûÑxþ¼w4÷­Ùúî[3µ#Pb«VU—k~¬Ÿþü5?§E°ú”ýÍÉÚ¥lsOL•xÕª“TtVJÞ×zäºæ§ŒÛh‚—Õ&&W»·g™k°Ä(©~…掰Ϭ»ÍlË\ä7¦Z Õ)i}_Žvï6?Am¶Ÿ”¤Zq²&ÇÜ`„eÜŸ"l¦ä*Ÿö™S¼r˜}KL4?_]R’*¼§r’ï˜@@@¢EÀÎh¹®ûÍοC‡jÇö튯f~I¨^I¨|öÂì§Y R¥JNG¿ÿþ4GÂæ@@@“+@’åäúÒ;g¼@BB‚l¢%ÿpÞo € €TlJGM©Ø»ÈÞ!€ÀéÈÊÊRŽOŠ‹¯~:Ã`Û € € €ÀI ÉrÒ‰ÙääÑ¡ü#E voÛ¬ì}{ŠÔÙ;g7h¬ÄZg…ÕïÙ¾E²v‡ÕŸU¿‘j$V¿g‡i¿7Bûz¦}íðö{wnÕþ=»Âú©]·¡jžU'¬>kç6íÛ³3¬>©nÕ:«nX}Ö®íÚ·{GX}Rúªuv½°úý¦ï½fîRÓô]ÛlÃ]öïÝ¥½;¶º«U³vÕ®×0¬ÞÚX#w±6g#w±öv ÜÅÚÛ1p;¶vŒÝÅŽ­cwÉÞ·×´ßä®6…Ú¦}“°úœýYÚµucX}BÍ$ÕiØ4¬þ`ö~íܼ>¬¾zbMÕmÜ,¬Þþìx¤_Ū–PCõš4kŸ›“­í›Ö†ÕÇ'$ª~“sÂêsæhûÆ5aõñÕT¿i‹°ú¼C9Ú¶!¼}\µ5HŽÐ>÷ ¶­ÿ.¬›ìlÐìܰúù‡´uýê°úªñÕÔ°Y˰z;3mËÚUaõ±UãÔèœÖaõ¾üÃÚ¼feX}LlU5nÑ&¬Þ—ŸoÚVkÚŸVÄçÓ¦ï2Ãê«ÄĨɹmÃê¿?âÓÆÕáí+W‰QÓ–ÚD¿]ÖOåÊUÔ´ÕùaõöôÈ ß.«¯T¹²’[µ «·ëW.X߬MûˆõV-S¤ïÉ’[_àÌt¯dã‰tÚ¦ÇÆå.v¿7ûí.ví~»‹õ´®îb=­«»Øñ²ãæ.v¼ì¸¹Ë¦ï¾1íóÝÕf|Ï3ícÃêíã3Ò Jûø´SwÙºî[ÎËuW«aóVªVoŸ/öyã.öùbŸ7îbŸyæyé.öùéKû|·Ï{w±Ïwû¼wûzb_WÜžžØ×w±¯WöuË]ìë•}Ýrûúi_GÝž~Ú×QwÙ¹eƒØç®VÝFɪ^£VX½}=·¯ëîb_Ïí뺻Ø÷ û¾á.öý¾o¸‹×Ž9Nö1„=Þ°Çîb7ìq‡»Øã“»Øã{\ã.öxÉ7¹‹=^²ÇMîr²9röï5ÇáÇ 5k›c‚r8†0eû˜vûX¶iw)õ1G¶9æØ¼Îݪ%šcŽÆÍÃê™çîŽÇÕÌs·^ÄcsŒ²1Â1JusŒÒ4üžVÔcóZ»Å¼æºK¬y­md^sÝ%9ÂßÅÜ{Å}@àâª(¦J%åšD‹ïÈQ1}îAY@@<)ÀLO A!€ € € €@´ „϶= ^@@@@À$Y<0„€ € € €Ñ/@’%úÇ=@@@@dñÀ  € € €D¿I–èCö@@@< @’Ń@ € € € ý$Y¢ Ù@@@ð€I ! € € € €@ô d‰þ1d@@@@À$Y<0„€ € € €Ñ/@’%úÇ=@@@@dñÀ  € € €D¿I–èCö@@@< @’Ń@ € € € ý$Y¢ Ù@@@ð€@Œb ˆ °wïÞµT!€ € €xU ÒQS¼q!€ € € €Ñ"ÀéBÑ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ’,Ñ2Rĉ € € €ž Éâéá!8@@@ˆ˜h ”8@À%»Q3§¾¦]Šsäåå)®Î9êríµêØ4É©ËÝø±&¾ü~úÈ=jïZÿ8ïžx>}13Mû.»[]ËÄ1b]>g¦vý°—º4´“E·ïóå*×£Äx^þŽÁÊb@@(¥3YJ Fs<#àÛ­Ù3Ò5ããL­[·N[·®ÑÛ“Æ©ÿ­]5`ÊÇòÙ@mRúÜIÚíÜ)[ä¾Ý™¦Y'ÐG¶OӢݹe àkí\ò†î3^KŠí¿èö—¥Ý¤«¯LSÖ1úe1 € € PZ¾Ê-­íðŠ@àÙ;è‰?êžvÁÙz7õNN¦W:dêïÐâOo“Nä™[ÕìqMÅ–y¿“ôÀ§ŸšN$ˆðç®zC7õW,ñÏç o'Ý~õª MUUÅ"­A € € Pf²”EuðÀáüÐ"‰êþÈJ1ñ½“±Z6ÑõúÑZžmÎÒ»†*%%Åù×µoªm´ëfë¡}•:eІvõ/Ké:@o|±Õ®VÖ,xI}}¤¤tUêÌEæô›5z¦gІÎ\RØÞ©ëª)‹Öé­ßôÓëNv[ôÌÌ™ì£ëH-Úœj“«/ÞH-ˆ±oêìÛWsV9;PØ·½U­žnîÝWýû÷UrÑ%®{ÙÛ_>s¨úLÊ4“teÊP-±Ýú¶êÔ¾Û0áÝ@â&ëK±v:E‹Í)¼o —ÄîÚ,w@@@àŒ ÉrÆ 9;\á⛩s[iÖk_þee}£ƒf§WÍ|H£g¬×ðɳ”>ý9]œ9WƒojR,Ò]™š›–¦jýžSú¬Éêßr±Æ ¼Ysœ$L¡XÔ{Ä$Õ4V³Ògiì öš;~´>ÛÛB×tKVÆøt­ äK²¾z[餶­êh÷ÒLíÊ÷/8¼~±ÒÇWÛQ5ËÄÑCó5øÑ·dÓ=«Þø­Ž›«nCŸÓ¬YÕ~É ÍÏÌÔ¶ƒÁ$La,ñM»hÈ#C4`ÀºÉ\‚&¯pQØ­àö_ö3õïl¯WÓYÃÇöQãølÍìw³ÆÍ­£ÔÉÓ•6vVÏ­Ÿ>³ÈéãÀ.ë$u›¦´çIiùÎ>ï×î»T­ñ%ùvºÒfõöŸ6“cö«§î袭/2×tyË$?¤Wþñ³Vð¿˜zW*Õ$G»§«Z4ª§äsÛ˜EYÊÜœ¥‹~b’&a2™½Ú‰O‹fÍ0¹ŒuEÝàÚþ¿6’Ü?MCn¹\­ÛuÑÏû™ŒÐêÝ&É’­…¯e˜8žsâhÝúr=òÒDs²Ï±J®«I`yR‹Ëõ£ööt¡öº¹ëEª½aÆ›‰-=Æ>¤«Ú6VóK{êéA)ÊJEËmÖǸ¤ O×€®Õ±Kõ3Sf’úNÖ€î©õE·hXßcGwœ¡Ñ @@*€@ù^$¡€° D¿@®v¯6É€nTK…I’vwüA©»ÆkôèÁJsv2I½G=« Z×öK½Í©B…¥FÄk–ÄÄ×ÐáU“Õ5epaÓà­†Wj¸éb\úb ¸ ¡ÒL¾¤ÚÕa—ƒ9l¶ÕåÒ–Áµ”Ÿg3^ ™Ï Õ ƒÓÌù8}uoW›d)<‘fÝÛ«ï[4gÉùLb¦zjfy’jÇÇ(Îv”>Xϼ»Ü\Ãe«¹@nªútmU¤|§;³^þ!íܸDîè\$vÿ¾¦éí¢Õ[™?~¾R†ö’91§%Qn2I¹ÃLK´qÍJ½}D)Ö?¾¦Î>d-ÕBã]û|Ù3~ÆÝg.¼f§²¶.×ÔúkÌèÿ–Z9¾íÐ @@Î<ûe.¢TÀæFæáÌöpv!)Y=ÌEiÞÙUöR(¾j ö¬ã/'©æ éß[cµ=†§9×LyÅœAÓ¶G}:ú.'¹b÷>Ýüt’|k û¸à'C”b~zpïœÚvë¦äÌùJ–®û1)›¦ºexg¥[¯Û»µ lÅž TxVMèmÛ ZfÎL{»ã=Ös‡«a£û;q´íÖ[mçÛtOÉÅݧ»uèòóºõWrÚhè¿^“?zS¼6YÛïhöÉΙ1%©›&¾}·Ù_‘¸ý ‹þ_xâPÑzî!€ € €À™)Pé¨)g殳ל™¾Ü\ó“Ë>Å'&®—’­)]¯–&,Ô€v1ÊÎÎUL|¢Ì—bŠÏic)Ñ6òe+;×ÜNô¯°`dŠF쥅Sn‰x]—b:5Õæç›gNÕÒÚ7èžî­ýͶ.PÊÍ#̵]>Ò€ŽçïßÅ ,ÉÍÎ6i•³EO¿:.Y@@Î0b?Faì.gŒ@L¼Iˆ¸÷Ö\ÃeÿÁ\S›d’ aK]­m""¤ML¢¹/e¯š£‡G¼ Åæâµƒ¦w-e‚Ån"^g'¬Ó¤Ñ}ôξêe&¼<ÞüB‘9鯓œ`q¶ºO¶‚‚ € €”R€™,¥£9OÀÌ ™3[ù—ôÒå Ë>‹#wãÇzfòÇ:÷º_èŽ.-ÊÌ´qÉýcþ"­ÜºW Ûߨ¾}ºêÂ*s¬ˆ € €”V€$KiÅh € € €Dà×…" P… € € €”V€$KiÅh € € €D É…*@@@@ ´$YJ+F{@@@@ ‚I–(T!€ € € €¥ ÉRZ1Ú#€ € € €H²D@¡ @@@(­I–ÒŠÑ@@@ˆ @’% U € € € €@iH²”VŒö € € € €@’,P¨B@@@J+@’¥´b´G@@@"d‰€B € € € PZ’,¥£= € € € A€$Kª@@@@Ò d)­í@@@@$Y" P… € € €”V€$KiÅh € € €D É…*@@@@ ´$YJ+F{@@@@ ‚I–(T!€ € € €¥ˆ)í ´GoänüXS_ûLyª©ný¨cÝ@\YK4åOs•W§‹î¿§‹â½.Q €€6~UZú\)¹žî"Éâ‘Ñ" ¼)°{Él¥§o(>¸kî"ÉR¼KJ#½D®î¯Å¡ëd.VÆüt-5KOÝÒZÙËÒtuÿ4©íP}4ã%†¶p»´í#tA§PÀ§ofÏ}É­Ùͼ¶–ã×`ËÒîUÿ´L¥ ®)w´;…ûT¶M¹ãõí^8¦ãصl¤¬å1’,ÂAà¸b«6Í£©_\¡!™é,õUOê·¾\Ÿù¶‘—ÂAàÑ'P¿K ­“£ªUhÑÔIÊÈ’RzÒõçÔPÎáÃjÝäxf±ød^Ì̃ȯ¼VDßãâdDœ•ùq Á’¢çÞzV—ÔØ¡iõ–ù\¨ù/| GL’%±zÀ¦óŽëý+¾”íOÆ~Ñ'¥ˆK(Mëão[½†¿ã31Š;ÞÄóîÒ[oõ”bj()v€8†×d9‹ˆÇk Öý1'wã"MÚW)))ο®=襫d>)wÕ èÙW#'¼dÚôô·é:Tï~±HS†v Üï«™_l-`Xµà%õ횢K¯¼T)]ͲE –q¢K aÇîºãŽŸég?»S)36.¾±n¹ù|}÷Þ{šøHª–˜Ä‹-þ׋žú¦Þ›2T}ûöÕ€‘#Õ7åR]yé¥ê9tŠVeûÛÚÿy­(´à–´y©É¦Ø’ÔB k›ÓÌßÏ<§;«ÛÍ-ÍfŽz÷ïo“9I7õLÕróxZeNiÐ3ð~dÞÇzxF‹6šS#"´ÿrÉóþÔS©o¬ò÷£lÍI`Ö™ 5æT )K ¦¤ªgàý0Å´}fÎçý0°8­Å=ÞmP}. H)óT0OTõïŸ#–9é.õ9Ç<òÃËû\2ÇoþãÁ®J}iyF˜’»JÏ °¯çÏhÊ3 —Ï\$çicÛø¶j΄¡eþçá’öHÒÿÞз§yÞ½4GoW{ÕÁãM'^ó^4rŠfš6ÁãÛ¡S>.Œ×‰Œÿ8}$YNŸ=[F œ’•ì¤ýçë±—Ìeµ‹+ø–ëÞ[kF†™Bj¾>¨‡´a±&¡¯Ì /oÈÔü“4c}‚ÚÚ~²24zà`¥eÔT[ÛqV¦Æ|\ËÍ;íš9CÕgÄ$ef%«[nJ¶Ëߪ)ÁOaå´Gtƒ§Z àPZ‡óÍíøf:W™ÊÌœ¯ôÀíÒy¯˜×‹ ÚQ¯Ž¶ÌÏ0Ë2µxþ|©[7çµcCFšúÜ9E;Mè¼VœêñóþöÚ\{½?Ȭtõ¹:E]ûЄy{Õë×Oè©!]ÍL¨D5ó¿™™vÉjÙ¬–òWLQŸaãÍãNê;t¸úvK6oaéj¨:kƒÒÇô×è…_$¬È N±@ö’âïÙY‹Ôo°}.ÔTßá£4È<ϯ[ûÌÔ‘ÄZã@“ÃLn«Ž-ë…}á¶õãgÔÛ>—LV%žf›ôÊÜI#Ôuä»f&âA-]l_ÏÓÍéæ«Íñ]g³çfùøÁúÕÌåÎí—úݬ132”Ô¶³ztkë<ûß0Z«ÌóÊKfš÷†¹“Æh\ºM¦&È·´ø}9!^Ú¦Åæ=eþ;_›Q®æ ½Áß82ü‡@EHT·þ½™ÿÚ¿Íó{«æÍ0ŸtÍ+DÿŸtPpÊ{Ê 4Íxê)͘“æ­Øð7ýoã·¼VT”‡A9îGLÓ[´`zªº9Ù|›¿_¬æCÙ]·^­ž©ïÊ×¢«þol?ÿÛöÒÇQˆ—jlê(¥Nœ¤û{Ý .v,ˆ(.Rû³hƒ ƒ_;Ø÷¼ƒ»wø«sö*¶^;ó¥éû¹‰º£Eµ`sþ"púÎ.þñž·c­Ö‰ö+ïp¢.éý°F«ÉO\¥V]‡hl?ÿÑZÛFhô=—»®ö’­yü×ðë=ömM±¯Ùóž3©LS濦oÌ)Fþ“’4<ý=5z¼æ=××qX<û3m_þ¦&9ÑRôèã#5xèõ¶_Êi¾¦½cçPK²†OŸ§Å‹§¨}“â÷¥y„xƒÏSÉœê¾u¡^p7S4yÁ ~jŠÒGus62ãÙyÊ6S¶ýñ&ë¹yojü”t¥vs2_øg×#â/§KÀ}fÁ銃í"€@YvPÝv÷è¹S5l®™Y2.0%ÛöSMùfæÊk³æjܸ6Ð°Žœ3áë¶’™´­Åm¯Qçýª™:·5÷M—±yû<1(mX¥…vgb°ßƒÏÕBWã6xW î·˜oúÓ•‘ùžÞ~÷€þmCmÛOW5ŒÑßa_|Éyþ[‰çéÇæ±ùštùÚí¼V|øði몕Ú{žFÎX ÔìZ“ù?Í›efQflІ¹Ч÷vÓ¥ù J˜ KØ÷”ıZýþl3³rŒF»²ýŸ°”ëj_pP[5ø5Âm™¤ÒñîgÕÃcJ33±Æ öi ¤ýÓ³jÚ?·8éÖ‚-Å—ðxk}›&ýN¿?WéãG˜Wfé1]¬iýý=¼g6hÜ\æçë:än×Ò¬`m®–¶F-t—ÒÞZ yo¥9§\(k±F<¿€Ù˜A&þž|›ØðÉg~†<ø¯¤Ç»oçJí«¢Ôéoë£oiâpÿLùãRÓ¿ ‚.H0Ô87òœçL¦> >!r¿1 t»(Yí“L…¹m*;æÊ]¹Ä¡êä6jXé°¿ÒÌzN_ø©>ýt¡Ò'5³¤‡ëá›M¦&PÚ¶oUpšRIûlïüo•jLJÖJ­œÉºw9Þ–œÃ‘¯¡ÈÏúñ?§_ $¾FNì«Ï_;kÖ­ýRëfLVºsÀ¹U»Ì­Éû‰k§_š\‹Í)cF<®m7µÑÊwÒd¾„4¿¶9K·O´D(¸ðæ;¥cÑvV¯Kì· …ç¼gŒë£‘»)~É,™Ž7¥‡.mÛIÍy­p4ø/(¨›‡ôÖ¤aæû÷ù£uå7sÕí¼júÆÌ(ñ§éÌ㦵ù}y }æËºwèýü\ÿ‡­œíæ:+Ÿ¿«ÏæPù6Û¬h?òÎÀùB‹Çé7ÏlQµOg˜+ K¼.«3Ì›`ÛÞ;ð|ŸÜ¦9_™ø{JÒÞPtFpò ý±[ñ÷#;>ӈѓLlÉ”:DɇÙ§³ÍSgÿaæ1sÖ£º«¿žx¤{HBeiÄÍÔ· -NóÏ•IîÒAM.h`^ÙÓ4×\Oé±Ôšº¾å~½<)ÝI¼§¾}«xESü¾Xà|W¼#n,dizµ%Ñ$s–»î©þWÄëoæZJ¶tëßÍœ´º¿ ±ûP¸`78ÍÌd9ÍÀæ(«@|ͳü×O)xs”ê^~Áy©ö«ä„޽4´s’ÙÄbsÁ°Á7kàš+YZ½½ðƒRàkçBñoä¢!S5ª·9'À¼ñ¥Mò'XRz§êù;Z—°.‹@ šScÌu/9'±ôþ™Úùg’ìNRÛ¶šŸ6IsíÕÍäòÔô_«©¹ÅkE7u»<¢é©}ý3WÌi¬ó –$“ð˜ü±¥6H$ÚIDATöHçq“ØîfóžepYÊ̘¯³¯ïï\ëgÃüIp¹9§…F¾=QæZ»Ê´›u,ÉêÿÜ[ênN-(!o%í‹}î¯óTMÒ=¯Ì2¿\gŽ_ÍÅ×ÓL‚žÃt:Y©Ý[lNª£Z!›· BBiÇMN½@¥£¦œúͲE8•¹ÙYf*t¼’]ŸÊ„/7[Ù¹>ÅÄ'*1ÞõWÆ>Y ¼%°uÑ}ðÍz½7É?`ø¬…ú™m`f²Ìì{µ9—_dêîiáSV¶O‰IISŃ{ÂkEP‚¿…>åfgëÀ¡|ÅV«qïK>eg™/Jñ~ã¼çùb”””X¸Ù[¾Ü\ó–Ë{Xˆ 7½"p¬Ç»¹/¦ŒÇt¾\ózm²æ×¹’Ço¹K4àÊþ&½’¢é §¨/˼ÊGîßÿÜ2 ί÷á‚ÇÚ—ð5Ü5ÁíÅ'&™_ s/å>Þàáêݱ!2ÊMÀys*·ÞÌ{³9ØM*Ÿ|M9FEW PžÛ¿xAãí©¶t¥œ‹ÿîÀÅDì³ëIæÃ¬¿Þý?¯nɗ˜L‘ó€bœt[u¬÷¼˜xóÒü£ à=c=Þµü{d“3î8_¾v8«íÐAsi¤óü,æ%ÝÿÜ=Æ& Ÿ`¬¦£c=— ·Å-¼%ÀLoÑ € à ÜkôÝs²}µ³Ô¦EÃY*þ_ŠÙ~0_g·¼@Mƒß†z"j‚@(•€/[«–­ÖÁêõuAëÐ×úRõBc É‚ÁM@@@@ ¬\ø¶¬r¬‡ € € €„d Áà& € € € PV’,e•c=@@@@ D€$K7@@@@² d)«ë!€ € € €!$YB0¸‰ € € €”U€$KYåX@@@ É‚ÁM@@@@ ¬1e]‘õ@àä ¬Y³æän€Þ@@@ÊU€™,åÊIg € € € p¦ T:jÊ™ºóì7^8|ø°—Ã#6@@@—3Y\ ÜE@@@Ê"@’¥,j¬ƒ € € €¸H²¸@¸‹ € € €”E€$KYÔX@@@p dqp@@@(‹I–²¨± € € € à Éâá. € € € P’,eQc@@@@À%@’ÅÂ]@@@@ ,$YÊ¢Æ: € € € €€K€$‹ „» € € € €@YH²”Eu@@@@—Iw@@@@²d)‹ë € € € €.’,.î"€ € € €e ÉR5ÖA@@@\U~oЫ޻ à#GŽ”EþA½úÎFí©]SÍCò¥¦>ý½õúʧu«–ÐÇýç_´&¡†æîѤ÷w«þ¹µ”T¥øU¶¯Þ¢I_Ô-h¶}¥©ûÏÕlZKõ«Vò׿ì×Kó6k_íEc+¾kgÉæ5må÷úar5…ìQ`­<ý㟴¥†kÑ'‹@< »I¯Mù³>þüK}þùçοŒŒ -Ûš«Æ-ÎQbLùÆèÛö‰&ÍúV~xŽÊ¹ëò ”ÞÎ Ÿ¾ž=IßVW?<§v‘ýÞ¶x¶¦¾³[~جÄÇ릌iúó"Ÿ.n–þó§)úî¬:§ö <Â#Â#[ï¯x@÷uH:á°}>ŸbbbWÍÿnq¬÷µÞ  P ª5¤db삤ªÇ<‹±ëÛ™§K\„¾JŽ9¾ò·.ú¼ô)ã¹;4|öëZ1âzuH8F&ŽÕýÏéàó¯` Ó}sçDÃ,èD‰3Y¢d bªÞ!ƒ *»žÖGr5çï+tÃÄÿ9ÿþçví ¶-æoÎözâÏþöv½'>ÚåŸ]R3QWšu>øÎŸÂÉÛ¾O‹§û/NÐõû´Ý™ “§¯¾û^õ[×R-Uæëtw`Û7LþFsV¾ÍÈ߯'&/ÓK_m×Äiv[ëTä»ÜzéõeºáůͲ¥š¸`‡Ö/Õ €Ñ!pØWtÊdƒö+4µ’³6CÞv¹.¿Üþ»MÓ2 _ù×~0Mýœz»¬»ž|í“‚oþw­˜«»_®«®ºJ—ßö¨^ýðkóaTÊ[;W·]ÞOï­-ü&=gÅkêÞýQ}[XxDY1œo·ŠîJlœýz,X|ZñÞ ê|¬÷{R‹·cN‰9ígö“ž7—ë¶ß¼ YÇX'¸9ó÷pÈm™¯ºÎi•ì¯ bæ¬ý äyy¹–Q0ëØæ‡¾þàý&øüëþ f/ÞVÐãq}éWКT f²TŒqd/ÎPû–¼fÕýç@å;凌{ä3‹ÅÿvíSúŒ•zy¼†vo¢†÷™„É6Ýë‹Qúµ"«íߥ~¯oÕj54ªÇYÊß´Kã¾4³Wò*)ýº³uɹ•5o=¥§¶¶š¿ª™¤kÛÇiêç›´d¯Ô81[˜ž¯?7Që¾X­_rPíÚÔÓ0óÍåÿmÒÔwWêð­íÔ»î÷Ú—D‹2¶©Fýzðâ³T}Gv ¦<½4cÞ8«û¯KÖUrô‡ww8Ëø6$ò°Q‹x]À¾/Ø·C99µ•È'_î½3áie©:k2"»>Ñ=w ×?¤)c~ -NRêð;¤´÷õóØ7tǨ?éÿÛ»ð¨ª;ã?ë‚ *¾  òRT0OlÅ@©Ô¸B# ) aiZC•fÝÈî&tSjpÝ<в‰2eÁ¢¢(ˆV#E"/¢ hˆHd’Lëþï y!‘$¤[H¾÷y˜¹sϹçžóÉ\æÎÎ9wÈÔ9zhX¤ ×?©ÙóÕõ#Vk°ÿ MH—¢'+kÆ:žÿ¬RlH…"cÔ¾g´*]Y/üY£’[ üúÓsóUÒqª.­îPs¦ÓQ¿V$P¸m£6l(Vee`XwHéýM;¬;È0·•û^ùW%¤­Õøä ÝÜ_zù7)JºÝ§œ?>Ú€B™ž»/NówDhêœ,Ewد'“Ó•0úˆíó°zžâÛžs^îÚ¸FŠÃUi}i*¾x_OgnRää,Ye;/7莉³U9^‹F¨rÛ*;÷Rô^i¦Vß?PN|hsîbÝô@†rb:èµÇ’”™t»B¼v^vñ¸½«¨8›hµ§8íZm»i­BÀù`|oÛö/اËßÜ=íÑÿy‘X¤oè®!ÝCìÒ2T³¾,ÓÃ[‹TPY¥`óÖ£$T¿ÜKý~Ö߉°®žéç6.èƒa¨woë7js¾ìµ¨ÎŽ‚Jõì¾ÂÂBt³e}«Ð§º”Úþ!ÜMÚøšý~Ñí¥ÿðbwЀ;;h–}6©¸ÑíÜ`PGKÏH/øÂ­ºtôˆX¤;F÷Ö¸ÞNX¥“²îüZ·.-ªókKU~ž@ yþ2íÚþ±*mx…óåÓòm]ѧ{í!{Í+™½8IÀu°Ü‚&Ëë¤ôKþ/ÅXâöeOªÐ.YÓoVûrwyÜ _1IÞ—·ê'÷Qê¬~úÁØÁ ÷•Xb+e“ ö—è‚ÍKl}ˆžùÝTõqÞÊ}UÖ±JZᨻ⒣õ‡Ì´kÆ`õñïÔ’µÒøÌ[tªQÎÞ,´¤€ÛaeÓb¥lª§ÔHg›Í©÷´½A£“5iT´<‡™ôË´üî°^!÷DÖ8•+K4mág®BùñÀ§Ú›ëvëÍu5aBU§ÇvD'Hsž.u,UK¯^áö3E‰ýÂ!]Ðý|›—å˜ÞÛó¥¶X ddçgŽsu]¿oéá¶íˆÍÇÒ©“z}«B«,½çÅçÕøÂªXË÷æžã6d)Ð'eøÕk¤Xö¥íheº¬ºßЧK¸zª(Ghò5;1ѾØV-‘SõÚÒÉ'“Ádž8ûtЄ ¯¢;»Ã|BŽïWÎ#“lòÛ§ôÉmίôÎ×½Íö«ýèÚ‡ùp‡JC{ªbד6„"¹všûÊù–w™.¬ñQxÕú_ø ì3j²"3“ôêö2]Zñ²vØƇ¾ŒÖS›ø» 8‰ÈÉÙZ:õŠZÇØ¾xм¶É·_Ûœÿ 35vDf­<=5.Ìj¦ø÷y¤FDW¿§=ëÿ!­ænÁuçÊj²õ›z…sþ–ƒo-ÖíÖæù;®×p÷'±Ëjõüê3Ä2®üðec½ÇîjÏÕw ”]9–Ú¸½+»Ûu$ mH ÆÇQj5ME 5 ü5ÐsåD“þXs.9þí|`–ègw^¥qŸë&”.ÑëŸ~­^y7µÖc øR)ùcsª–q‚UKX¸FY×ÖœW؆0ͬ*·_?›åve‘æ|.}ïšóÕþ\ºØõÀ›Åå–ÏìºK…ÞÙcõ½(Ô½”vêXÏÐd…žo°z¿ocHG»s²Ä âZB l –æåµDI”À)ÜÿóÏï¬Ð°°À­aÃúèîi“µ8a­ŽÙG…§½†¯ò’uIUiûò_ÑÎvQÚÿü ¥/¿P™Þ×4¸»}¶ùò5zx’år¾xžgÿ>·/sî4,öhßQó×Û‹ÁîºÂ¢ô³›¤ÙKrÔîørELÈ ôx ¤òˆÀÿ³@}s¥8g‡-¡—êJëѲéšLå¹ÃÛl›ÿ6¬Î×Ù \ õ¶õ2œ¥Ö†ãY’&ôþ \#‹¿dP´…m¸1;¿œëB§Lg9P°=°â<Ú%Þò¼%®:ߪîIt¬Â þ„ê{ñ÷*Ò† ± ЖêÌÙ–šN[hÝÎ%§:uÔmvýùÄ {ô§ÏËuäðQ=ýûÏôø»P­æWjú^u¥|¥—ïÓîC>l/Ôƒ6¯Šº]›kÝFõ|w¼¬“lT»„u;ßzš–˜žÎÑÛip» øì/šûöa}~¸Lk^Ý£ÿµî0·]!OU0¨j—ZOçÚ/0N½s^üXëöûT|è°æ>°V^ €œNŸÈKˆ„/ÔþÃ~õ½ñN[_®_e¾¢}%%Ú—¿\qIiZ²ë¸_ô,_y\‡ömÕã÷%Y(Þ™ãå˜úÆþÈÖÖjꯟÓ'‡Jô‰ý ?É?qq°7¤G×Þm=`6-Öb›ª%i\”ågAàLÓ57÷³Ó YO¾±]%%õÖÿ<¢”ô454÷mhŸš`Ñʼn)zeë':øÉ[ú·é)v~Dkxßùv­Ô›Œ¶æäÏ5[î\±¾Ÿ§­[ó•ŸŸ¯·ÞzC™ÿìôpŒÐÕß Wß-ÇZM·ók×¾ƒÚ¾a±¦§¯•nš¢(‹wºC ¬¾™¯êûÊã¿t‡Æ ïmÁÐB½·éM­þ㾚‡dV/@X±Õÿ‰i`kp)uh·:îjÛœ~&öѧ„‰=T´t¯Yú‘»E!ç鑸îîœËOçw†öí‚¢¶~qWeÿЯ‡_-Ö¹Åî>_|æ Ì›âl¸¼Ÿ]ï(Ñuß öu±!áiñ™'ŠÃÕ%„éCo¥”ïVÆ;{õæ;nQºñšË”èÞþ¹ÂFÊ×^B<Á¸oU½sö*ã÷v¡lKÇ–Vù7nX›ŒW €ÀY#PßgVhäÕöUPzÉî"4ê®QòfìÕÔ”4Å-4«ß˜YúÍøžŠ8x¿¢§(yâX7¡ßM7)rÇZ›ãå÷º7ï~Ûï í7_×ÎwÓ££#´¹(P†óÚg˜õ‘ÉÔò~hhw.«eX;3ììpâ¶\1yžR‹g*mv‚»["4aNކ_âÑ.7¢ánt¯‡âºèþgéÈôD¥%:["¢•š“áΡRVYf—l›µ»Øn§ÕÓâ]{±8‰ÖΟma”‹íŸ¼è uz t+oæ—JNž¯IUçWäô俌²¡¥eîœ,ýÆŒÑ;i 'æ[“œm·j·Èo¯ÞÛ¼Y_ üRS‡×½ê«q›ÔRç(,´v—ІðµÊ|ÖÝÄnrNÃÙ“b“ä–YQž #jÌÕyš^ïê}YC8ì3£¬Ü>ÚÛgVÍ€Hí6qsY¹å «Êã÷Ùë¿Ún6©æn»î¿>A]3^ÐÃCƒƒ‘ÎFêÜVü> `8—aÁáuh¸¯¬LvØ9Q#˜âÿD¿¾~¢¢rÞÐøz‚,(¶*Kóï¤éõž'åe­[ îGPën-­C  ´·+ÎoÍ{2i¡ÿ",¸b7 jÖÒôz7ë0ì„ pÆØgF0pR«Nu¶{ÂT+›Çæûªçck×ÊLÍN_nÃn’w0–Z¤¼8c<¡aMž„Ü™ï¨îR¶}½|“3uÛiXœRëœutÊô“v`­V€ž,­öOKÃÎv–îÉr¶{P@š#°Ïæxâ=én›4·Æ/üÍ)Œ}@8…A–S‘ŒÀ?J€ Ë?Jžã"€ € €ÍÎ2Ù¼½Ù @@@@À ÈÂ@@@h‚,-€H € € € €AÞ € € € €@ diDŠ@@@@²ð@@@@Z@€ K R € € € @…÷ € € € ÐYZ‘"@@@@‚,¼@@@@ ÈÒˆ € € €dá=€ € € €´€A–@¤@@@@€ ï@@@@ ²´"E € € € €@àÌØ·oß™Y1j… € € P¯À9_ÛRo @@@@-Àp¡FS‘@@@hX€ KÃ6¤ € € € € ÈÒh*2"€ € € € di؆@@@@ ÑYMEF@@@@ a‚, Û‚ € € €4Z€ K£©Èˆ € € €4,@¥aR@@@@F di4@@@@†²4lC  € € € ÐhO£s’Î,_¡ržxN‡ÔÞ­Wyy¹Úwé©a#F(*2ÂÝæ+\¯¬§?Ö¼G½B›WýÓ/ïws²udðdÅ6·§¨ú¶9:ô½ñY_#kßï÷Éç÷(<”ÿþNÁJ2 € €4Q€ž,M#;gŒ€¿XË—xµd}>ýôS8°G«d(áG±J\´^~§¢Ç÷É»rŠÝÍ«¹¿¸ÀÊÈ=2J•7/[yžæUà{mY¦IsæiKƒå×>þ‡Ù·è†ë²UrŠrIF@@š*ÀO¹M#?gŠ@ÕÙ;íÑßéž+ƒ=8Jµ:ín¥f'ëÙ¡ëlûDå¿}§t:gzH;kq'…4»ÝšþöÛV‡Ó©ÄÉ÷í\¦[&dœ–úóœœOª}üóÚuµMí«o¶!€ € €Í 'KsÔØ3H ¢²f‘p~ðQÅXý^Ú°[N "vTª¶•:.ÑêÇf*&&ÆýŸ¦¼BgßR-›¯´E‹436›¨eïpv:iÙóúSН*#&&Vi9y6üfæÞ£™9[ªó»Ûbµ(ïS½øË)ZêVÂ9V¢ææä(1XFìCÊ+ vµñéÝei'êŸö˜Š×ŠnªËvÖ:\¤[ã╯µSê¼*=qüm935aAQ,Ðu13µÅ)Ö@ËÒâO3ñ±ÕU›`]Ÿ:Qר™‹”—·¢úµn9Q÷:‡å% € €´9‚,mîONƒ[½@èeÚ_Ú»i›ŽTSIÉGúʽ3ç¥.ùL) så}&S׬TÒž°‹tìPVfg«Ã”Lys*¡w¾2î»U+Ü Lµ˜oçSŠ›µ@]¦¥+×›«ôi´r^ªþt¸—nÙCæyµ§*^RòçUòî•ú÷é¢â t¨2PñY¾¼óæ©ÿì,åZ=Æj’~ý¢œpÏÎe¿Ò}+5rf¦rs³4`Ë­)(ÐÁ¯‚A˜êº„FÓŒg(1qºn±)hÊ«“NZ ¿Ûà;”0Ô™¯f¨RÒ'¨[h©r¦ÜªŒ•]”¶ðe§OÓî%©úñÜ<·Œc‡œº.PTz¶²3§I²•”4GQi •»p¶ºšá/r?<éxl@@@¶)@¥mþÝiu«ð¨]˜5°ìX`^[u†úTºm>ªâ¢CêÐíûzh•WÙ¹qa3e–86]ÿ>q˜zõdsº¼hÁéÙ?|äî|ð\tÒ,8ò/÷Īץ©Çåý,©D)Ñ Û,a“5:³ø•—»Äb÷kÈ…Á½ÏN0¤GB¶fŒ»V}¯¦šb¡ÝÅd)ÕÆç6X=2Ýzôí{­|*Ëûœjñ©âTYªÒ#z]«áœáBtkì uÞûºæYÇ–±éèúþÝôÜ®ÿ˜£ï³ÚæD}Ì%&ūĨ(E › )Öe&"~¡GRßAã”êÚ5²jdC@@V в“$´š€ÀÙ/àSñn Œ¨óU$¹râo•vhžRS“”í62Bq³ÿSWõí(•âl¨PõÒ±Þ9K<¡U±s¡bc’ª³׺^§+"ۯīº*Ûâ% Ù7œ4L…kØz÷Re¹ái'¿>°ž/CïŽ<‘¦ˆH]c¯¾©—JuæÆ­U:‘[œ¾1þ£Ýõ•³â´Ò] > •ÓñÆ©kÿ>Umô»õèÔ¾zvšöZ¶rÁÃóŒ € €g¥=YÎÊ?•F †@Hí)\‹òžW¶u&¹>ºF°Â²—ìù‹.½õ!åççkÝË/*=¡·¼sôR¡E,Vàݸ½F¡Uý^ÊÏÁ„m¹Ó5Ç{\Y/®sËÉ߸°ª§‰¯ Õˆ{¬3Ë3ÊYš£½Ö涨†zz8!Ž:‹çR °ž"¶V'í°¾1ªºIuõæ–XsjÞÍzÑØ’âÝhÙl\•­ÙiÔ;ÜM²‡zêZ•T['˜Ÿg@@h«YÚê_žv· gTÐÞ-µeË»Ê[ÿºræÎÔÍIÙ6'^?u‚,Õi>]õ %ÄÓŠ-{ä·ÀÌy;Xz„:‡zÔÞ)È›¤¹«·Ù.l‚ÜŸËk›&Äö©UF¥[œíWy\E…[ôØOïs'‰=zä˜å³ÒQœ 4oÞÅÌ/˜Ó„%\Ñ·XÐce²Õc‹ ÷¼«´»f5aÿÆeuÛPò6šCiç+äŒøÉ˜j“ï)RÉmzbz‚椾÷ ¡•Ƈ\ € € ÐöœsY@à,pb#kæÍr{{¸Mˆè¡±6)í}wÇÊ™ Åßá’-‹ºw ¦iNBœæTm›’íΙò¬ é?v¬ÞNäWœä±)ÏØ- #äßS]ÆU·ÍPŒÝ:)îf·„þ#GªGÁy“½šš?ÃB6‘—2TÞŒÏt×È+«Žâ ªUSsÝÉСãenOg=êžÿVfů”œšàÖ£ÿÈ8õ_ã„{¾y©[fÝÜ5Ó¿;2A=²S5+á3-\÷‚¦?·PŸÿì>k“ÓgÆ–ˆ‘ÊZ5ÙÚâ¯Uï@bíÇêCµ·ó @@Ú¦À9_ÛÒ6›N«h›~ŸÏn¹ìWhxxÕ|)¥Z{ƒôØF%^éQi©OžÐpY—¿›Ç2)ÜÉä/U©ÏÖÃ;¼þPŒf}9[«w^— µÍvûæœ'ôAç›uÏè¾l^WÌ­³ln—uJŒ:1~§á"N#ÅWZjaµ£öð«Ó(’]@@@  4ø5ª9Ð\ÚŒ€'Ô"u[ks¸ýÊg[#,ÈpRjÜN ¢FO¸½–Jw®Ð/f=®|›¼vÚ3±M °8‡ÕaŸjAê½´1^ã­#ÌÓóìE6iÌß9Àâ½f›œ , € € €@èÉÒD0²#Ðú¬ÉŠåªüþx]Ûµù½8|…ë5wáz]þßhâ°^Íf*Üòºþ°&O;V×c?!V§Q­f׃@@@¦ diªù@@@@z¸»P=(lB@@@š*@¥©bäG@@@ê ÈR ›@@@@¦ diªù@@@@z²ÔƒÂ&@@@@ ©Yš*F~@@@@ ‚,õ ° @@@hªA–¦Š‘@@@¨Gàÿž ÍëÓIEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/hello-world-desc.png0000664000175000017500000015216613656750211027001 0ustar zuulzuul00000000000000‰PNG  IHDRÌb4Ïh iCCPICC ProfileH‰•WXSÉž[R -)¡w¤H½é`#$B‰TìeQÁµ "6tUDŵ²¨ˆ(ÁÞTVÖÅ‚ •7) ëkß;ß7wþœ9çÌæž;™@ÙŽ——ƒª+(Æù2“’S˜¤^@D ,9›#Êó‰ŽPFû¿Ë»‘ôWm$±þuü¿Š*—'â€DCœÆqr!> ®ÉÉ@è„z£Yy<±º€ˆKp† kJpš [Kmâbü f@¦²Ù ”$¼™…œ GIÂÑNÀå ®†Ø‹“ÉæB|bëÜÜ™+“!6Oû.NÆßb¦Åd³3ư,©ýù¢¼öœÿs9þ·äæˆGç0„š) Ž‘ä ×moöÌ0 ¦BÜ"H‹Œ‚X âó|®Ô^‚ïdŠƒãåö‘\3À\¶Ä:3ÄÙñ>rìÀJ}¡=É/‰“ã4áÌy|´P.³"“2Š·òD±£6éüÀˆa¥¡G‹2ãe<ÑöB~B$ÄJw‹²cÃ侊2ý"Gm„â gcˆß¦ cd6˜f®h4/̖ÖÎkcdÆË|±$ž()|”—ç ã€qy‚x97 V—oŒÜ·8/'ZnmååÅÈÖ;$*Œõ½R L¶Ø£,vh´|®wyÑq2n8 ÂðL †- ÌY€ß5Ð8ÉFAà¹fÔ#Q:"€ÏXPþ„ˆDc~¾ÒQ(„ú/cZÙÓ¤KG ¥Ùà)Ÿ6î…{àáðÉ‚ÍwÅÝFý˜Ê£³ˆþÄ`b ÑbŒ²ÎMøÿF{ÌNÂE0šÃ·x„§„Â#ÂuB/á6HO¤QäV3øK„?0g‚Ð £ʳKƒ1ûGmpSÈÚ ÷Å=!ÈgàÚÀŸ3ñÁ½anNPû=Cñ·okùã|Ößç#×+Y*9ÉY¤½¿1«£ø}·F\؇ýh‰­ÀŽ`ØiìÖ‚5&v kÂ:±¿™ys„üŒÌ¦ÜyÌÇÖšé`gï €do—moÒ=a\ü¦ËoÀ­*3¾éØF ýÝ7ÑkXîk8ÑÍ e:Év ð_C~Z@s˜p€@(ˆq L‡+ž r!çY`X ŠA)X 6‚J° ì{Áp4‚pœ—@7¸îºè/À x†!!4„Žh!úˆ b…8 ®ˆ€„#1H2’Šd DŒÌC–"¥HR‰ì@j‘_‘ãÈiäÒƒÜF"ýÈk䊡TTÕEMÑ ¨+ꃆ¡qè44ÍG‹Ðeèj´­A÷£ èiôzíE_ CÀ1f€Ù`®˜…¥`é˜[€•`åX vk†ïù*Ö‹ `q"NÇ™¸ ¬Í`<çàùø|^‰ïÅðvü*þÄ¿h‚ÁBH"dfŠ å„Ý„c„³ð»é#¼#‰ ¢Ñ~—ÉÄ,â\â*âb=±•ØC|L"‘HZ$+’')ŠÄ&ŠI›IûI§HWH}¤dE²>ÙHN! ÈKÈåä}ä“ä+ägäaw…(®Â…5 »š.+ô) ST)fOJ%‹²˜RA9H9K¹Gy£¨¨h¨è¦8Y‘¯¸H±BñâyŇŠ©jTKªu*UL]MÝCm¥Þ¦¾¡Ñh¦4-…V@[M«¥¡= }P¢+Ù*…(q•*U)5(]Qz©¬ l¢ì£<]¹H¹\ùˆòeåS?¶Ê•*•ã*7U†TéªöªQª¹ª«T÷©^P}®FR3U Pãª-SÛ©vFí1£ÑýèúRú.úYzŸ:QÝL=D=K½Tý€z—ú †šÆDÙU'4zÔÂÈa¬afÜ`|§;ÎgoÜÊqÇ]÷^s¼&K“§Y¢Y¯y]ó“S+@+[kV£Ö}m\ÛR{²ö,í­ÚgµÆ«÷Ï_2þðø;:¨Ž¥NŒÎ\::CºzºAºyº›uÏèè1ôXzYzôNêõëÓõ½ôùúôOéÿÁÔ`ú0s˜Ìvæ ŽA°Ø`‡A—Á°¡™a¼áÃzÃûF#W£t£ FmFƒÆúÆÆóŒëŒï˜(˜¸šdšl2é0yojfšhºÜ´Ñô¹™¦YˆY‘YÙ=sš¹·y¾yù5 ¢…«E¶Å‹nKÔÒÉ2Ó²Êò²jålÅ·ÚbÕcM°v³X×Xß´¡ÚøØÚÔÙ<´e؆Û.±m´}9ÁxBÊ„u:&|µs²Ë±Ûew×^Í>Ô~‰}³ýkKŽC•Ã5Gšc ãBÇ&ÇW­&ò&nxˉîá´Ü©Í鋳‹³Ðù s¿‹±KªKµËMWu×h×U®çÝn¾n ÝZÜ>º;»¸vÿËÃÆ#ÛcŸÇóIf“x“vMzìièÉöÜáÙëÅôJõÚîÕëmàÍö®ñ~Ä2bqY»YÏ|,|²|öû¼ôµóúó}ïçî7߯Õóò/ñï P ˆ¨ xh˜X8ä47¨5˜¼.øfˆn'¤6d0Ô%t~h{5,6¬2ìQ¸e¸0¼9Xq/Ò$RÙ¢B¢ÖGÝ6‹Îþm2qrôäªÉOcìcæÅtÄÒcgÄî‹}ç·&în¼y¼8¾-A9ajBmÂûDÿIJÄÞ¤ Ió“.%k'ó“›RH) )»S†¦LÙ8¥oªÓÔâ©7¦™M›=íÂtíé9ÓOÌPžÁžq$•š˜º/õ3;Š]ÃJ I«Näøq6q^pYÜ Ü~ž'¯Œ÷,Ý3½,ýy†gÆúŒþLïÌò̾¿’ÿ*+8k[Öûì¨ì=Ù#9‰9õ¹äÜÔÜã5A¶ }¦ÞÌÙ3{ò¬òŠózóÝó7æ Ä»Eˆhš¨©@s:ÅæâŸÄ ½ « ?ÌJ˜ud¶êlÁìÎ9–sVÎyVXôË\|.gnÛ<ƒy‹ç=œï3ÇdAÚ‚¶…F —-ì[´hïbÊâìÅ¿/±[R¶äíÒÄ¥ÍËt—-Zöø§ ŸêЕЅÅ7—{,ß¶_Á_ѵÒqåæ•_K¸%KíJËK?¯â¬ºø³ýÏ?¬N_ݵÆyÍֵĵ‚µ7Öy¯Û[¦ZVTöx}Äú† Ì %Þnœ±ñBùÄòm›(›Ä›z+Â+š6o^»ùsefåõ*ߪújê•Õï·p·\ÙÊÚzp›î¶ÒmŸ¶ó·ßÚ´£¡Æ´¦|'qgáΧ»vuüâúKíníÝ¥»¿ììéݳ·½Ö¥¶vŸÎ¾5uh¸®ÿÔýÝü4´9¸£žQ_zúã×Ô_o;ÜvÄõÈÁ£&G«Ñ•4 s3{›’›zއoköh>ö›ío{Z ZªNhœXs’rrÙÉ‘SE§†ZóZNgœ~Ü6£í3×Ú'·w ;{þ\à¹3>§Î{žo¹à~áøE׋—œ/5t:uûÝé÷c]Î] —].7u»u7÷Lê9yÅûÊé«þWÏ] ¹vézäõžñ7nÝœz³÷÷ÖóÛ9·_Ý)¼3|wÑ=½’û*÷Ëè<¨ù‡Å?ê{{O<ôØù(öÑÝÇœÇ/žˆž|î[ö”ö´ü™þ³ÚçÏ[úû»ÿ˜òGß‹¼ÃŪþYýÒüåÑ¿Xu& ö½¾y½êÖ›=o'¾mŠzð.÷Ýðû’Zö~týØñ)ñÓ³áYŸIŸ+¾X|iþöõÞHîÈH[È–0ØÐôt^ ÏÝP”dw/© ²û¢ÿ„e÷3©À“Ëñ‹‡g”­°™@L…½äèǨ£ãX“‹(ÝÑA‹ o0„##ot 5ðE822¼edäË.Hö6­ù²;ŸDˆð|¿]K‚:o|ú~#ðmÿÅO0 pHYs%%IR$ðiTXtXML:com.adobe.xmp 768 460 ÉAiDOTæ(ææˆ!ÛTø@IDATxì½tUÕ™÷ÿµ‹0TD‰bE#þIµñYB¤ã]#o`Jhé¤P2«i!}çGú2¼½üf ¶é2 ¬t°„þ /ΊdQè ÕšZP©È€¨X¢5h„ˆ"\¹8¿ç9çîsö9÷ܹ7äÏ}ërÎ=gÿýì}nžgïg?û‚ÿ¦r! „€B@!. #ÚY*)„€B@!  ¢HGB@! „€D@€ jl©ªB@! „€@ú€B@! „€È ¢dPcKU…€B@! „€(Ò„€B@! „@ ƒ[ª*„€B@! D> „€B@! 2ˆ€(ÔØRU! „€B@! €ô! „€B@!ADÈ Æ–ª ! „€B@´+_~ù%:;;qêÔ)ãÌ×üáûr! „€B@þLࢋ.Â!C¬ÏСCk¾ß[Ž´)gΜÁ»ï¾‹£Gö–ºI9„€B@! „@¯ ››‹k®¹ƒ êñò¤¬|õÕW8räZZZÀ×\pQ±‚?¬ípE³²²z¼²R! „€B@!ÐB¡x`œ­_ôóÿ÷ãk_ûÆŽ‹qãÆ×ÝYŽXi§¤°iÏ ü‡Ž‘#GbÀ€†"Àó}ýl|‘ÿ„€B@! „@?$À‚>úùìÙ³8~ü8:::Œûl"tóÍ7¦A= Ë ÀÉ“'ñÚk¯+4xð`Œ=Úég_úõï=QAÉS! „€B@œO,ü«ç«®yFà£>ÂéÓ§ó[o½Æ ;ŸE3òê’ ±gÏðÙçómš.¼ðBCðç© þð!¿AþB@! „€È0Jèçj³™<øÞ¹sçŒ5³Ÿþ¹a._PP`œÏ'ž¤.øÞ½{ñÙgŸË•W^iüJð×…ÿóYÉK! „€B@ô6,;ó¡”uþàƒÀ5—\r n»í6Ë‚æ|”?ià½÷ÞCss³±¸—0°½?þ³à/#þç£É$! „€B@¾F@ͰÀ³lFÏŽtx±ðøñãqõÕWŸ·*%¥°ÝÒK/½dš É~MYøWæ?ç­Ô’‘B@! „€èƒ”+¼o®³,}×]w7¡I)o½õZ[[1bÄŒ3F„ÿ>Øé¤ÈB@! „€=K@WX¶>qâ„![ßpà ç¥` +ýôS|øá‡¸ì²ËŒ º»ž +»ví26-¸þúë¿dô¿»›FÒB@! „€èÏÔ,o ööÛo2öÝwßÝíUNXxî¹ç ûÿ›nºÉ2ÿéöÒIB@! „€B Pf@¯¿þº±àÁìöÚ&¬üá0 sóÍ7‹ùO·7‹d „€B@! ”›ÛóñÐCu{µ“VòóóÅï·7‹d „€B@! Xà=öïßoTW€Lhu©£B@! „@Æ c›^*.„€B@!‰DÈÄV—: ! „€B@d,Q2¶é¥âB@! „€™H@€Llu©³B@! „@Æ c›^*.„€B@!‰DÈÄV—: ! „€B@d,Q2¶é¥âB@! „€™H@€Llu©³B@! „@Æ c›^*.„€B@!‰DÈÄV—: ! „€B@d,Q2¶é¥âB@! „€™H@€Llu©³B@! „@Æ c›^*.„€B@!‰DÈÄV—: ! „€B@d,Q2¶é¥âB@! „€™H@€Llu©³B@! „@Æ c›^*.„€B@!‰DÈÄV—: ! „€B@d,Q2¶é¥âB@! „€™H@€Llu©³B@! „@Æ c›^*.„€B@!‰DÈÄV—: ! „€B@d,Q2¶é¥âB@! „€™H@€Llu©³B@! „@Æ c›^*.„€B@!‰DÈÄV—: ! „€B@d,Q2¶é¥âB@! „€™H@€Llõ¨óÙ³gÑÑÑa|>ÿüsG |>†n| àx–ì—/¾øŸ}ö™‘Ï™3g¬èœ®Êƒó“#UAì®ûêvŠ!CÌ´Ú:s±bu&„¿ÇÊ¡³y'–ýl¾GîlëÄ߬X "‘c%ìõ,Ô‚ºÿù¿°û‹!à¢Eäï¹Wš=~¯Ï~Šß…Q'ª:/ý<ðcxŒ²µ6ÕáŸÜœœp#u¶!÷oV Ê?!F¬ v®¬À†#*/€Ûz9µõÄÚ:F©?ꆶk~v%~òÛ#01׿ÅêÀ#aΩYRB@ô¢ô†VÈ€2tvvâí·ß6>GŽ$¡ãÆÃõ×_o|†(iR{žÌekk+þú׿ù|úé§VÔ‹/¾ØHÿºë®Ãµ×^kÝ—‹®èÄÆ¹3QO¨}ä¡zójLJ@(<¸n!*ÛQ骤¦ó&Æ_ÁÿÒy gV@ÏÍ‘W¼ç‰çtC¶cÝÜYhHŠ;«¦¢úW1sKѸ~vtÅ!ÔŒª© àŒVŒúK0Æ•ÔyÿÚ mwhãB”×k½%Ÿó^iÉP!:QRg()$@ ½½/¾ø¢ñyå§(QXXˆ{ï½×ødgg'Zô o¼ñþô§?áÏþ3ZZZ¬€œî=÷܃o|ãàüäH•@'ÎD&'y¨! ‘QáC“µßQ‡Pîx’â—àA,ž^=7G^ñž§˜}wEOš!–¦ÎGSDb+n¡–m˜:¿ÆË7c9ž)Ÿì¸×#_º¡í"¸’°™¤ôÚA ™ ! ºB@€®PKsœÓ§OƒGÈÙ|åܹsž©_xá…àQl!4h–ÃsØ,†?,{,ȳ© rssñÞ{ïáÝwß5âDS.¹ä#ü5×\C6¿9^Éž·{§N›o¾‰·Þz ‡2ÊÍåçz¥MøàƒŒ<8¯ææf+î袤³¹EH'Í.¥j·> ~v¦+¬–kn ­˜¹ÀËl(Ö ¬Ž±f@K¶Û/EèvÄ’ý“€(½ ]Ù,fçÎØ±c>þøc°@ …Œ’eeeMy.¿ürcÊ”)¸óÎ;°*›¸pxŽ÷µ¯} *N^^žžãMšä5º×3•ƒøÝï~‡mÛ¶g¶ÍO— ×ˆM€T><Ë" €N'Õëó¯„ÈcÍ¡ýpèȇ8ù¥YþKs®Áõù1aL s”xBb¼ç^¨‚íh~ómüõ#h 梋.Åã®Åøó0fx„î•JÊ÷¼FõËÖl†¼ËbÝk¶À‘»÷¨~¨•ìÿɬH?òJkÉÌ(†× Ù;;pÆüù²aø“e¨³¯í~o|H‹ûi@!§`&¦}ýXìõzÁù:Ô‰–CoàC‡Ív»hr.…k¾>ã©eQYà†&ß…€èDè­Êæ*û÷ïÛ¯³Ẏ~h|¸h<ŠÏ6ã¹é¦›ŸŸì8`Äá3 ·*ÎСC­8îæ›o6>l:Ô[QzKK¤RŽó¨[ñì“5XµÃ1Ôí,|nª~ZŽ¢ñv)ñüxÏõœ¸,¿¢²l‰Q Ÿ[èÇËK1)§{/»þüEkðÄ#ãõRÃk½€#}ñW“]ÿ$§"Õº3€Òj§ý¿§‚Á‰¥M°¹ÓÔÙEó•`ë3óðÁ¶Z,¨Ùbß§«\ Ö—"a ¹i~h€Ãq’ž¢/•ÿƽQã4•’EÀ:%¹B Ÿ 4ä±cÇŒ‘ÿ¶¶6°6 zõÕW’Ý~ûí¸õÖ[qã7vü<p饗‚Ãò‡g Xyàð{÷îÅÈ‘#¡â°ËK¶ýç›õ–C€ÞÒ©”#а•¼% ój$/@uN!Úk!j¨mþ眥N;÷ÅžQ¹åSÆ:CÄðã=§lmBEiÀáNÔ™Qä·’åõ˜7¹ez™èV`k`ôf8H®-+4×–y%UxìË_#Ðh‹Ã¹þj¬/›¤U"„¦Àc4éöÿ…X³=€ñXß¾}»aºÂßÙleêÔ©†PÏß/¸à>‡ŠóÜsÏYq®ºê*#<Çã>ô8ÆþO€n€´dï­T­ýnJ–1ò «ìú—Y¨q­GPÈÇûbòßïTb$~ä_±<Ôh‹Þã øñžsºí»1wÖ²è£Ç1ŠUB#ëó\#ë1‚'ùÈk‘nÖn¯ÂXKHï =üŽ=ü5›1ë‹_ÿTU÷ù±é™2Øs­X9¥;ôVb{`Ša*cÝN#›ÀÊ$òÂPXJÄhݹ’f1µˆL,ÖQbÑ‘gB@ôQ¢ô²†c@ÙÆsÑ”Ý:êG;XPqXPöôJpÇûꫯ¬žEàïñv#Ê3 ì¦sÔ¨Qñ‚Ç|Þ.3³âÌQzYê À™3gÀ~ÿÙíç„ ÑÝîñâ_ö§¿{÷n\{íµž&@,äöÙg†|Þ•÷í·ß66äâ³r9 ›³ðÈ?ï'À¦E¼™ÍZøÌ®G“9úŠÀüÕÞlþÃ#ÿÌëwÞI¨ºl*żx16+ŠWÿ0êN ΄¶f…4‚ˆ1‚<´ÓËõY€êRRf ~g9Æ Fùg9FùKk7cöÓMhÇšXªÍXB~jiv`‹¦÷äúWÐ"aVÔ‘~6ž @,Þ±Ú6DŠÑT÷† ZÃ0͹†AUÇ8³ém|¦Ïàˆà $_„€èDèeí¨+,¨³ûNêcíäÛÒÒbíxûõ¯ÝSàxY€åï;hÐ \tÑEÆ9¼N€bV$øšVøÃû$sô€Gý™ï\|ôèQ‹sKä`ÅŠëÊ&V¼—· ó?>lš’H"½6Œ—@Bn㓆Ðs0õ—ƒëÈ+MƒÓ+‹µ€<Û¬œ:ß¹ø”8ðØÜ#r}K ä°Uç0– KHä€1Ÿ“=—h{ùäÿ‰X~ð)ÉHA65´AW"’¸HÉí»k1kÙ-™ëlzEYdçO#Ú¶ïÚ(¬cx/Õ7‡GÈá^”T7Òbf}>ýl"¹yå«U3VÛÑ"ò…´ˆ\ïe‘k´´Â—‡ÈcR¹®}Š Iî!Ðç ˆÐËšPWX°¿øâ‹Á£ï,°G;¾øâ ðf`üaS¯EÀ¬Lð†cüá=V2þú׿æ0<®Ü“еYŒöPJ+sŠÙƒ>=RŸyÒ €ÇæVEµ(¿{ÎmQ"g! •=Ü KHdÞ1Ÿ“ý…äC_³#ÑÑFk®Îƒë0³¢A{ì1‚®=MÇå>Zì[©Û*‘ç.y¯²Í€Ek·â‘±N%¤óàF*k½VŠG±ôx^» égã¥ÄœUŠÕv¦dE´Q\•{£8­æ|éVˆ €‹|B ? —µ¢®°ÍýÝwßm˜Œ°íx´ƒÍLxð®]»ŒÅ¦ñfþøÇ? Ry1êðáÃZÄËöìltâÄ Ã®] ³¢Dkˆ bš‘ßýFZ\§ Ý¥´ëëlÓsM´dC´ÞâœöðB2M3”…XB"‡ùœºÎ¥Éš‰ {$j$D±Æ‘ÝÞuàeB£•5—äÕo¹CõQ’¦o_EÙÀc$ŸËcÇóVh¥CÚÙ¤UðèGñpG®k ½SÒB · —µˆ®pÑ” êF`ú ÀóÏ?o-æ­ÉîÌ&?ìÞò0Îbä݉ÄÈ› ß­xxb‰³™V¤¿wm±kLŸ çù¾º…4²®i#¥”ÖÌvÄs­ÂGm¼å×7Þ¢û£ÈÁŽœQqÂç¬!Ã1$‘)W<ãkĆ_®@E´‹o•k_3b„ÂåŒEq @éf“^ÀÃ=l7¥‘³!TI¶sò‘oB@¾G@€^ÖfçCà…­cÇŽÅ•W^iœ/¼ð¤(ð¢áo¼'N4>‰,"Ö35b[ ™¼¹‘6ߪӻ mÞZ‰_-™é~“F°“·ÇþMä{Ø~<?îsZÐû¨kA/è¯Øô¯(ÈvIëäz²î»¥¯A\‰Ë7 |²¾‰•Çè9…óÓú‚2‡§Žèi’£Ç,®ªÇ’¢1ú-ëúPãb”×9ZÏô=¬›ê"ÍlÒ«x÷#øŠ±¦a xyˆãh߃ų–:ûÀI¾!Ð?ˆÐËÚñ|(¼˜—=Úð‡guk©P±ßöqÙe—çþº@ª#ø©ÆW¼{ç9ÒL‡}ÝÇ´×Ö*O`ó·=¯•ßûn½f²B§ðö+;ðo5 šK3“2òuïûº+àÇ™àM±šh3°€c30ÎÇÿ¢ãáۯЬ޽óê—ÕE –o}³læÿÞõ³<éA“¸öâjFÜÅWOÖKáRÏ‹IyYâP^Ô>§—Mºcy9r˜pÅÏCiÕ÷ðÐÄk0ŸQ?ú='oCúº«–¢X(äBþC@€^Ö–çC`/@Ê´¨+6ü©"“™ðTÝÂ/»Òü.¼ëæ÷‰ô½¼’j¬ž7ÉOÀ÷œS B`z9šìT¼ò¡bm¦¹ÞFSpÜ ÌÄ )@‡ùfÐÎÈåæÎÈVhíÂk÷bãqœs9LÙD–?ŽR™@Û±G¦òÈä)Ük¢^Š<B ï —µ(—¥­ERïéøiÑ- yì›Ö³ÐÁ–&TÌ86sŠUHh¤}b-ú¶Ë•B o —µ“(¢ô².¥8Aùã=wèľmÿª‡£)ûPTò}|¯d ršˆž™-&OG.IÝ¡˜èÁ¾¦vYLíâJ7‘µ-Û˜_ãœãHÄå©]´ÔÙDŽÖÇéSI´]¨ýž^ó$ꛜ ºíòç¢dùÿ‹¿ó*fÎ_eßΧ=žpí`?•+! „@Ÿ$ @/k6QDèe]²÷'D[ë´´~ŠÓgÏ´Ý绹WŽCÎð¨’v7•?„޶V|p´ ퟟ6ò0؇ËrrqåØç DÌ8=¥®ÄÌì<=L›î)n(ØÖ#í4|9´ãÁ§_ಱ×âê1Ù¦ÛØîÉVRB@ô*¢ô‚æøôÓOÁ›~;v ûõås¼²°°†·^x›møðWá?޽{÷q8‡Qq®»î:#üÈ‘#qîÜ9+ÌŒÍÅ®¾újãœÈF`:&vÊiªòè‹€?§‡¸L\¾/¾øBf]ùå—VY¸žìQèÎ;ï4%1 §_°§!•ï_ ×Ÿ;±×Á–)–Ì–9òçÖ[oõ nÜóÑæI̘ëÇ{pù8ÖÖVŒ7ÎØ˜¹%rpüææf¼ûî»à=xÑ5×sÒ¤I‰D—0™@€\†.&—¡æ€}.V4®Gœj3ŠÔQ! º™€(Ý 8‘äy‡Ý7Þxo¾ù¦!0¶´´€w÷僅MvÙÉ»ó.¿,,³ ªÂsœ#GŽá9ΰaÃŒ8ãpxþ°ðÌÏùÃéóξ,”òù«¯¾2òJô?V¸,ª<ºPÞñ–ËÆV¼VFTYøœKF·ªž_|±W£^*?wýy“2¯ƒ7.Sùœ,$óÆ[÷ß¿1’ÌaUug¡”ã°O‡g8<ÇcŸýüœÃ±0¼{÷nc÷`>óˆ|2oü¥ÊÂg}#°ýû÷õಱbâup§Seá3»!zyÝñòóó-fW\q…¿­­Í`öÒK/Í´98þäÉ“q×]wüÉ?‘t%L ÐuúÑ`­#(DMc^K úCm¥B@!лˆÐ ÚƒMLX à›x<‚|Ï=÷Ÿ[n¹Å»k×.°Ot½Ž«®º wß}·‡GÏÕÁ?ç/¾ ï>óÈö½÷Þk¥­ï#À3*mž H×Ñ•úw%oæÄB;×ù©ƒÍ´T½¸½9¢ñO$®„éïì}r KðÓš‡ñ^΂ú;©ŸB@ôQz»3S¶g[qv;Éf&^›’äååf=,XrXŽÃæCÑL`Ø–ãð‡gÔÁቯ»Ïlij lbÄiëkxƒÓæÛé§ëèJý»’÷˜1c¬z1?u°©³V6ýê~¬s4þ±âȳÌ!êhCÛ™¡“#’æ´ºÔT!Ð;ˆÐ Ú…~6ãáO4až…l^ ÊŸ!C†Xá97¢×Á¦.*›¾¨ƒÃ«übÅWáÝg^¬Òå3W›©´£™æ¨°Éœ»RÿdÒWa™“ª›n*Äí¢êMISi¨s4þ깜…€B@!ÐDè ê’§B@! „€è!¢ôxÉV! „€B@ôQz‚ºä)„€B@! zˆ€(=^²B@! „€=A@€ž .y ! „€B@" @—l…€B@! „@O '¨KžB@! „€B ‡ˆÐCà%[! „€B@!ÐDè ê’§B@! „€è!¢ôxÉV! „€B@ôQz‚ºä)„€B@! zˆ€(=^²B@! „€=A@€ž .y ! „€B@" @—l…€B@! „@O '¨KžB _¡³3hÕlÈ!Öu¾; ™5Ì8³úsm»»nZʈ!IÀLo;t½é"êìD'õ«Aô%!]ÙK:B@ôs¢ôó–ê óE ­i%ævXÙ•ÖnÆì ý_ 8¸n.*Žõö×4¢lâp‹\$I ó æÎ¬ÓÌõ×`}ÙÄ„Hk;¤PŽ„ #`¨u'¦–V!¤OŕԣBÁs8wáÀó®P…B!œ;wHªÑ$p7 áJÒB st¢qáLÔÖj\T…íUEýþÞ¡‹Q^¿ß¨x )óDÐ:A’—ÁƒX<½L3¯¤«ç%¡l\ˆŠz³¦Ü)”#É{ï<¸3+êg)×Å3‡Ì»Ùyˆ˜–›LýË7 lrÎy‚Љsg¢ÞÔj±a}ÎWÎç©‚’M% @m8)¶èMBm;ñØœj|î(Tª7¯Æ¤~> €£ÑSû’‚àݺ3€Òê&#ÿEk¶â‘ñ»^–ÊÑõL혺°* €Í%•+i.)—ë“P.SÉÐG2ã715^û|à|‘–|„@?&pp¾6èÃÿfe +Ö"0ml?®9 @›7%Á[ÙígaÈ„®NJåH‡.¬Š:ONAgšììRj%p*54(2±ŸФÆKbŸ/¢œ/Ò’è¯B-LsìuÖn(Äÿš³Ô°ã†ÏMÏ”!» ug»YQVØh6ØÑ†Àiº5xF_>†‰ÆI8Ô‰ö¶ã8qò4B”ÐàÁƒ1tèHd‘†ö6|t⸜ߨ‘9>$Ò‚7À¬ W‡êãQäÎŽvÿŒêF•Ë¢24—dgÃ#;GìP°mÃI*dV•ñJ*£±b”ìY  ùÕþ?D[ÛÇ …a£FcLvK&ž‚wí­f9CYƒ1bÔHä ÷.§ÑcŒó¢LU§Ûm„F'¢:…œœá‘m’b9lȱ¯ôöL}ì’ËÍö ’¹Êô°¹JT ‰öSýÏê Ôoš|ê5á~3†úVVzoZ[?ÂIîóËzg‚ÔÍw4‘xá>ª½Æ;Gï¸ÑŽƒG`ô˜œ˜ï€ÁïcêÿF9éý6#é½q.š¦|¨žlVå›UåúWÐú’3«Ú\û÷ô´£­;ãÆ#Gü]1»b6.ôôNËŊƧPÀÝ7mï%—³ ÇNž4ËO¿#FÒo\ÜG«âr‘¡DÈІ—j tèØWe£‘œ9µžGë¦[ëÊÈߤ9FëΕdÎÁ Šó°hùcxÓØrØi`Äú+PñÝiÈvË{¡6ì|ªÕ¯åŠø/¯+–þ# ÆèRªmß6Ôþ²¯˜ëzQs ýXR^Љ9v¼Ø @»ëþ'–5škhi+–oz “Ãn?¸ 5+½ó⌋ÊV`‰¿vnáâ[ñì“5XµC¥k³°´ Ó°Ëê¹î^&ؽq5~^¿Ãe²ÅÁ‹°ü'˜<Ö[À¶sqލ"6?ñ±Úšðèœ@8"¬Ý^…±ŽvjCÝ£sÐÈÍš[‚Mëç![¼óKW`þo`i !¢œ¾|?_^†ñZ†1ÛúÃ6ê5žý!—Ã%(6ÑæœB9tFQ¯;[°±æqÔ7EΚåû+1Ò'(_ZoDT’l?ªËBZWÁ9ÍX¾3ð<æ/kˆ(ZaÉ æàà³µX¶jK$óÂüâ§ó06¢3ÍMøÕ/žÄwÔ—_Œ—/ŒèSV{Ñ ÁšÕExnåR4îw¿ã>úmyeSÆ;ËÛÙLü~áÉð¡¸ì'XHï w+g áoù¨Ùú&â­=)7ÖžðïÕÌ/ãŸÀ+áâø«iqÿ$ZÜŸÌïŠÆÝ+ëüÒZ<1{‚ö(Év¥˜ÍMñ‹@½Ñ¶ZBÆ¥~ã~¼”¸Ñ^w ùžÑDÈèæ—Ê T ±mñtÔ„åЊµ[1$„VòTö䛱ϔON*£ƒÚ‚θ}3Pÿt9ÆXÂeÖ̓°cžÑéÿfúã¯ý}lÞÀ‚s.#zD*ë0%¬<è†SX ¢©öØbk¥Õ0{’¹°}Of-5§èyùe$(ø5A¡ó3ËÃ3.±bò³<ª£nr@l›H¹Ó‘PypòÇóàjFÕÔ0U¬H–n¯P‹¨o<¢Kº‚PX­i¨ ÞŽy}qÍ.Em‡`3VN_Û?•Wb$6Wáé%áEë)”Ã;uínÇ>,&!?RuÓÂh—Î>Õ…öK¦.Z¾ž—yeh\í‡î窵©–Þõ-žÁõ›%+6`^½üUo/=œ×µÅ&”„烇PEÂzÕÞŠžK¿;OÑïN3ý–”‡‡[­‹\Z§´“²”’äÃŒ²¿Å[uN¡ÚôÄt&¹ßØ­¬ì´ Ÿ¿Ï”M ßI¾]›Ÿ­Â‚Uq)`ùpȱ~µÈe¦ Ó{€Ô_¤B }7æÎZfšûä’¹y¸0þLwîÙ•á‘©|ÔÒ(Û‘ÃhY{ ÅeUø»{'b(NààþÁ¶Þ¶‡…·–mU˜_£þ0æ¡´²÷Ý|-á Þ?°¿¬n0ËK‘­‘=º¶<‹éóWYIúh´ÿÇsÆ£‡âØ»¯ >@#õj€RXSh½¬¶°Ö‰mo£¦IEð¡bÍo0M Y;„g/*Åf݇kGP)O¼õ¿Dƒš‚ ¼itܺ:ñìâ™XeI¹(­ú!šxBF¼ÅSyrUt€f#V>†e;Ôó|š])Åׯ™cocË“Ëh–EU¿Ú,·Ív¯|ÔJÏ®;§açåóŸS–…‹Ö ðˆ=’kÏòðÈô&”O¦žã!¬æ—aá·îÂèQYx× ²f‹*$ôÙ%ïv µŠTÕhtØ_ñc<|ÛõF?zm[=ª¬‡ÔHМ”Z9¬Ây^Gò–eË£¹(©ü!Šo½ YgŽaïÖ ³6W›©™t‚íçÁ4Ÿfξ?³#BaKÍ24¸FÞs‰ù’’ûqå 3xã÷ëh6I)Ål²a ÔºÜ•ÖØ5Í-Få¿…[¯†ïìŦÇk`½ľjÃÓ( £z{™ 䡬ê{¸‹úrÖ©wð/µû#)[IñàŸæÆÅXP~|ÄàÇ¥¸ýÚQÀÉcxi{=궨—ƒfÛ¨¬“µb÷Ÿšñöÿ¥wCE£wûûS®ÁÙÎ!¸­x2rÎÙÞ§ìÊR˜Wˆûò¯Å=3KpéÞŸ%÷»rÓìÞ±g´!@¿9æAýoÑ÷qÍ€³¸èªÛP4‘¢.´«6cÁéæÏX„Ò·cÔ àØ¡—PÿdT“úf¬ ˜3{ù_hDÐ`Èeï"púôi´·“môñã8IöêøÚ×¾†l²óTþÞGwåÿÕW_õâºñgøðáI6›—^z).ºè¢î¨J·¥©ÿ1v xNÁ«¸ªKŠÆ$\·pPJî5g»Ükvl$a®.œ&›ÖÐûlg¾k·ÓŒ„sôK7YÒ…«ÇP–VrI¡xJ«R»„öÊúí4 åR¶’Ð3x¶ê;Xe ây¨ª¯A‘fnj!Ái~Xp¢Ñïí4úí*%6úÍYŒ¼Rl^=Û0gp \yX±i5ÔÀ¨YÌ vJ¬zè û–Œ|Ë›â øU.ß©´$²€»cß:2Ñ0…›\Ñ\¯hÖ’yÏ33³hù4ÊÿòßBØY5Ն쭙)¹„Õü²šýpºm¡YšùáY}vDï3ª]¼riææ)£ÍT“òÙ1’ZTI®k§ +…rèi»¯ƒÍ¤d.PJf.õ‹§¨_8[¾mwæ,³g†ìºt±ý\u)ªXƒªi¶"†™¿L5Í_¸¼y%Õä~u’£èM¤èŠ£*ikÔ†ÓÃmHÁ iv àœœ#Ûúl Þ^™fªŽÙ88ÖÙƒz¼â›±Ä0¨·‹»§v.–†gÝt?D þÔ°‚ŸGæ7«uó#~o*×ü ¦Œk:TW]‘Lüw…Ë"¥}jXi§zl§Á­É»ô^>xÒ2ë"õ›w–;Íï:vãQÿ²ð»îGãÎ2ǬMK®2™€(™Üú½¼îÇŽÛo¾i|>øà«´¼í†nÀ׿þuã3`ÀëY:/º+ÿ³gÏZõzë­·0nÜ8«.Æ Kgº9­6ØBžsd3Ö…CÛHB¬ús¯`úy_1™-ñ6!ÚMì—…ÿØ«?ê-dûï;ߢ-ToAy•?Âçv; X³Â–%ÌY²¦ñ4Ó.ØcÆâPcKÿÏaZH|%~ð‹&áÛ©”Õ¬Á€M Hø×ÐW„ê_U•‡aþïxë pÃŒrÌÖL#ÌpdOfLGé[.)ëMÀ©p‘‡¥G<<,uìÁ\x¶6pH3…(©ÙLŠŠfû¤ § ƒ‰´™ÎM7ÉÑÌ{|4ð9O·f{ãYøÑ•)Z?°•Ö¸‚­ØIëTÙÔYK[÷æ¢÷Õ®‡h´¸<"Ï+mxÿíx~ëXë)-@…T3®„Œ¯º™‰8œ3¾¥øöè8«G~„Uu[Âwm¡K漦‘|kæÄ6ñhÛ]K£ØœNVTß„Ç+W£‘Êd'ØÜH#áæìMQ% SŸ&ˆ9lòõL5¥#¶0H› áuOGŒþëÉ:®S(‡#Ç— Í M+‡T2‡™Å6[_böQ½.dš’Lû‘}{ìÍÕtµ˜k/q-Ö&eþ ÍôT4µQïLf±¦‡g±¢¶•CÛË¡ª ô¢³°ß-ÕÂ˦:Ó˜Œ'ÞˆëÇuz4 rüV¸7™ÓÚ;1Ïe‰ý®˜Yë|íz˜Ïºú^þ {¾=Ë\@¯ ‰UañtL.¸7N¸cÉ»•B QbÑIðÙ©S§Œ.åRîÖÜQyÔšGÂø3t( 5E9Øì„Óá ŠêH4¾ ßÎ---øóŸÿl|öïßoqáôo~ó›˜6mšqî. »òçvýÝï~‡mÛ¶ç{î¹ÇªËe—]ÖGšŽFçHð Ø¾qËí4‰\ÿÿ¢‘Ì\¢ý-ÓG»µ‘äöCMh ë…WGx3ÑsVÂŒ¾óª·"¡Çr^ÛeuÞ7¿y™é„ÑG‘¦§ÿOïx‡òy”ÃR¼{¯8^‡×+Ž×½D§@¦„ykf&F÷Wß‚ŸM™o,ÚÌ/[C&=ãµe×ȱ&ˆEm=Œ&Èéí`¶k–fo}VÇ«æúZ„dËᙞqSoƒðâSIª «‘u‰žƒóI¸ý’QhÖG™›éiE–g8ts&ß ZÐZî4Òãë£öj¹Ý^‘ ÈU\;Œ.8‡p°ñ_QQ§Ö%¨Ðö97ÊÊ¿Mž‡ì½ºâhÄŠÒ§ìÍ«dWÌX^ï£JYïê^¼s¸]ÏDà*´5îx¹´ ¹ ßöONxæÕ‚|ïßDHCû¾ûî»hnnÆáÇÁÊ€×ÁB^^Æk®¹Æ+ˆqïèÑ£F:œÛ‡«#Ñø*|8sý™Ã_ÿúW‹ snmm=/ @wåß/Ç"ßD{›f'Šý‡ŸD²íwÚ¹k‘õrä—‘+J?>òðäãóåbÜ yÈ»á&dý ê\öÌá€5®ží´;×rŒ¸´Ëj>Ê-ò#ïh#¬‰†p¹²y¦ g§ãCnÞ8äËÃM7fã75u¦òâ©Äh½òENk êªâS^´8×û׊ÃB’S‚ÕOÎC”Aj•I«d ¢Ì +iÔ½€Ü{’Ý1%aº:oÛ@“’¶ý‰‡ñ4¹‰5ÂÒâÎÍ´¸Ób“ˆ %ŒÞ‘B³.@ÚEz%GøDÂ8"螨>ƒÉ¶|ê IûÌt쀮·Ÿ¶À5Bð5rÕú‹Õ×ÅñPHÒ©Do»M#ÃÛ[ðòŸŸÇ‹/þMûMcg©ZÔ=/lçxÇ5Åш“@[zy‹÷»b–Gã«Í€˜ÏR}/ƒh9ø2žÿã‹øË Mö¬¡‚”ºMd~é¶BÔƒÈuf í¾gÏk¤úmäuŒ1<ÒËŸ‚‚è+òÙæG½wíÚ…÷ÉdA‰ÆWáûÙež éèèÀ‡~h1æÙ€ó1Ð]ù÷@_ˆé+*CÕLrSI33îcÀ€Ï±yYÀ¥šAîüÊ£Jóvlû¿ÓS¼Š¹Ÿ²…Q RT¶ ¦Ц8öª»™ŸL ›Ÿ¨Ý$E_¨èÎ/ØvÚKï們¸õ~J—’ÕËš;£¿*Ÿ‚äéQòޤÆõ‹*×’™‹mÍ®ˆ‚Ö ,ÿÅŒÍÖlxµ…ƒ–P¦›ÁáÇYÎVZ›Q^€«'ò4RûÝðz º·•\ƒ¦ÍrN/W1ÖÔá¥K ûäRr':›Ü‰¶ËÂùÆÂ2ÛðM¬cºÁŒXhœ€ æ×9½”`{LŠe2ġݻŸÅÈë Q0žD¥Êál ý›nîÝì…cèf.f]†t½ýâÖEP­¾¦—ÛkF‚€´™©>êÌ“¿Ùm=Œ‹6Ekoû_ÚŽ'É„M½wúú™”]É¥ ý]1Êo„Þ÷’7bûà݃ؾ‘öMQn€¨Qט”ÿ3”€(ihxØÙVí¹yÿÌ™3Ƈ“4hñÉÍÍ5ìÖÙf•€h ·œ§Ç#ß*­K.¹Äz|ðÁhÑûíýO>ùÄ2›aÞçCÐa¦3ÿ¾¯´ÓU²? &—Ön%!/º4©/Ää £¬Ÿ:`×µý‡ŸìÉ&ÿ²É÷:öÔ‘ÇpAòhä~åmû­‘Óh‚|ùß÷‡ýï+•>{A£íqÄçžÚGÉÈ)^¨µ zYuï2Æ`쥈SÔG‚£ ¦cÍ,Cgé=šëÖt/@úâË7ÛMÛ'»]Ïvl\üSìø¢£nøV”…½öØ!¼®lŸÿ´ ÓŒ°c ¯‚¶9Ú.Vùù$zÎs´f`Ó3(Ò‡&ã «-J½”b§/°TæGå'3²GiѴѪ>r¹ú ¹\’‡#n"aœ.,£›Äé  oæ¢Û.·_Ürjj €óq™réõv/æ·èçÂn¯èÂ}d˜ömüWür×a É} 5UÊ«”–!µçBjOsNÀvg›Š ÇMêwÅ(–Æ—€jÚ—c’5åå쉾—ËK£æ§õ8Ú Lÿi ¹ŽüýÝ·n!*Ã~Díû6¹Ì<¢¤¡ÍYPã7 Ï.l¢Â¶ãï½÷ž‘òÕW_±cǦ?ìµæÆoÄu×]5Wõç´øÃiq:*-%ôŠ @Ôtè¶¿ì‚n¹ ó%­¢8{¡¨õÜãÂþÃo>to"Äw¹%äRÑÇÍÕÉÇžÆÌŠz#R.ù¿^ïöíÚDKÙ¬Ó2G²'™°%ÚDÈž7 $8ÙÈõ²*aÍ(¥i¹òä–¹K|àг”¯RBŨ߹c( §[KÑÞ¨½8Wýt ÔFn$ç(7 …´Kr¼¹©~è#ÏP.1õÑ®‰ÍBÚÜ*ŒÏ eÕ—¾†ôMÉ8ö7ß‹+¬R¸(a¼ÚAŸ!bU´£´òCÎ7.FE½é ÞRª¢ä¡âçDÂ8"pûí$¿ùÕá»Ô~µÔ~® ×¢ºíjûÅ-§& &£°PÝå,™º5’ ž³K%â4@§¼Ýº‚‰[…‘×£ Ï”¿Oz_ˆXׇ‘7¹ßnjý}Ï#7 «n@»Ð®3?´eG[€ÝÜH…Õ™îÈyuuWùÚÏ ˆ†þôÓO {}vyðàA°IÐ+¯˜/^a!M)“ÉÏĉ1jÔ(Ãw=û{v°É û½gûsV,TZŸ}ö™5ê- €(ÑúÏù¸¯ûÙŽøCêYý ‰a ØØëœJ²6/šóp>Fd…ðΫ[ðóUÚTØ—>\–T¢´øëŒÓhÙÿêh45 ¨—Õ©ÀçøãN¦†)ÐÍseä+DEU)òs©”ÇZðâ¦:{0³”(«þþ榱˜åæÇE%øæWáówvá׫œõc¡×qd=ä{_é4+á¯(ÃôÑÑ œÄ6¡ºÞzkvÄ(C¼ÿÜ”Ñø¿cãÈr{ŽJÆÄŒRD ãÝnëðÆ[7_EGцk›hõ&Õ#x6†vMe»®(y8($Æ¿Drà î¾u× ÀÞßÇÞ¬Kí·œ]UÜ U/·?ð#,oö*6ý|•½yÍø,§s¬«3À>šõ«TÓá>\tãÁ¬û@IDAT £f;Ñò6×ÑæcªII Uˆéž¾@ˆ•ü{‘3êz}o¼¸5 ö»\¶†vöÖ ´ºÉeæ ÍmÿꫯZÞ]8i5jûí·;rboAçÎ3¼]xá…à{ú¹à‚ ¬p¼Vy‹á™•–[Péð™4‘ƒóRyF ÏVq9ùÌië‡?‘ü¹^*?>'{¤Ó‡óÖùG+ o0Æeå+dª-R5Aêë&@‹§L9^šØh>ómÝ@©%yz»ÔÛAæôûž×>²;oXs¼4’_çŠöŒeßTftgW†Gƒí®+ÊoíÓ¶«DÝžß­pLÝl‡ý¥³™Ï3áEž®Ô£~õ“òRÆ›¡ÑIußo™`EÀ¨¬õTVËûj°µ%óty$ൔG0Ç-gó§Ð¡¯aóO·œš­µ— fdE Úíû°x–¹æÀQ`×—bRΖ¨u)”Õlä×Û@Etô©ã:Ú/n]4fiÏ ç(¾Ó¬ÌQ*d+í«Qªm\¦Êí>ë rù™mž¥+©ÎXöï€6KเÞÏüFïÚRèÔ*vš…Z§Spów+7ªP¼)—*3‡À$3…ãðòn£à¹Ïº·þ*êhO€H»UÍþÃO6ÐË«qÅëÉdÅT;T>ó¬@ùw§9=ÕÐÓ+G½å†ÇŽ‘_\†Š…÷ã¥e³ÞŠdr{£-ÙºçYÔüÛ*ìW£ˆvtm¯Ä‚¿Ÿb,þU·íÅX¨m _óîzµcÝÂY›ã"×O¦Ie$8mÄÿ³ŒìxUBêL£“e?©Àý¾—0«¼NÝu-äëÄžg7 þ7Ͼ¼"|ÿGßÃèWV†ÍZlh+!´£iÝþŒJ9èäÐÆ>YT˜Nc, b*Á`§QƬ¬´)×£¼Í2Gùó¼ýº›…cÏ)Ç žü}ÐБÈɶó6Ãô³ÿÙ[L{/ª³á½†ÊÃ}”úØÐK²1€M@¶oߎßÿþ÷ÆyòäÉxøá‡Í x6@‰*ì1ˆÓâ¥x4>ÞÁgM:ÕÈ“ÏÑ6ÒâEȪœ¬¬¨Ã÷îÝqóçzñÆ]\Oö„”ì‘NÀÍŸ¿{¼gƒâtå•WŠà©›î9Ó J7eÕ§’Õ×)ä’ Ìõó"÷+p,äMÐëRŸ‚ …B@” ˆ2Bg‰*j4™ÏÑv‚¦°Í‚> Å|æõGŽ1¼ñNÂñ¶ßgïDW]u•qΡ‘MÐù£+lþó—¿üÅø°W"Î(óBå;î¸ÃøðÚ¾/vcÊayA4Ï>${¤ª°Ï¬øÓÖÖf°bnï½÷ž±À«<¼÷‚âÄ\¸myQö[o½e­Çàu:3¯tÜ÷¸,‰´¿;^&} Jk“)ÕÜ™•–ÙPñ¢øÎC·šûÐhhó®, Óu¸íµÕ}9 ! „@f Íí>€o|ㆷ!ö8Ä‚9Û×ó”›Ù°pïàE½lßÏ‚<Ÿy‡böRĦ9lê¢6'b—¦,(ónÇœX1aצ<*Îgîãå?xð`CáàðlWŸì‘ªÀõdS)U~®§Ïç3êË‹}½^Ï 8±§'æÀDð"–¾{ºGËûMú’ïã)…phçÿ‡©n°fœòaFÅrüô‰ mâåŒ+ß„€B ˆæVަðBföåÏMæ‘û7ß|Ó8³­ù„ ŒMÂØC¨óçƒ>°LEXUB' ú©˜tÅEÀyÍ*#Ï:°ÀŸ»ï¾±ö8HµžWÜpv%>ógáŸ%ž=à¶;q☟j ™H¥U£Ç ã ±ú–Öö ìÞE}ÑKÑÛŸÐbÁÖñÑ'møâl!²þœ=×L‹áñ'{{å¤|B@!ÐDH3Üh ø¼±{Ìas6ÕaÓ>+_ûlšÃ {â ›JÐïM @SS“UFÞÕ˜˜k¯½Ö0%ºøâ‹ÓLÔL®+¼^®ÄgE½ñbhþ¨öûðÃEÐáʵB@!ЧˆææŠ¦Œ7Î0'a“v­Én?Ùt‡Ïo¿ý¶å”íêÙ,…?lnÒçòÝ{ï½Æ™Gýy YƒÐä]àõ|ºŸGúO‘Hþð‚è_|¬ü°»U™ÐéʵB@!ЗˆæÖЦ°Ç%Ì»MXø;»ðäçŽÝe²€É‡ŠÓ›fÜåïŠM²Ø»"Àëyôt|½,¬X°"ÁŸ^xÁØ¡¨¨ü9r¤T®…€B@!v¢¤©(iN®§øTóש°É»es0þ°«Ñn¸ÁX³(r! „€B ; ˆfº¢¤h8¹T𞎯Sáµ¼¾@-gw¤lFÅ «£y$Òã˵B@! R! @*ô<âŠà% ·zZ€O5ÿ4 $„€B@!¢¤£ˆ(6‹t^¥*€÷tüt²´„€B@! QR¡çW(i¸ÕÓ|ªù§$!„€B@´ -íDXؾ}»á½‡ï²7Ÿ‡~ØðîÃ}~ÿûßCyÑ™:uªñœ¿«8ìˆÃë^€8ŽòÄqÔF`*Wq.»ì2»0Q®ÔF`œ.—‰ã«²xÅçN¢`ÎÓ]þx^€xàxçëH5¯øŠY¼òs¹¼â+f?‘:ºë§×¹+ñÝéÉw! „€B@$B@€D(%†7Žb%€}ý³ÿø+®¸cÆŒÁ!CÀH±?ùãÇ®o»í6ãÌaöîÝkĹð ðçܹsÆž‡=ÆpxõaבœÇID˜åFçtÕçÆoÄí·ßn”…wöU—¿­­ ü1Þ{ï=£|œ'—W•ÏÑ|ÿ6 999ÆgĈ*Ùˆó±cÇŒ<8¯3gÎD<ç)åÏ›®qÙ¹mxff¥>‰ß±òÏÍÍ5êÈ›¸%ÂŸÛ’ëªØfgg'ßÜB@! „@‚DHT¢ÁX¸W‚5 xíííÆŽ¾,ز ÇÞ^ø¬„O>ó貊Ã×¼0ÇãƒÃ²ðÌ#ó*_«ð|æ°ìU†ÏgÏž[Txõ²(åÓ4hŸË¿ÿ~ãÃî*Už\FU>³Òâu°ðóÍ7Þ-Úñæ›oy¼þúëøüóÏ=ƒ>}:¥üGmÅg%Lg¦Ä{fN7cå?qâD£Žùùù`>ñn£uæs^^^Rñã¥/Ͻ „‚è YôoÈv P¤xf rÞ·Côø—=Heç#kà Ì2¯ûòÿ¡N³=ÑàH_ªOl‹¾Ü¼ÊìhÑŽ!”•…aÃFÑY6½õr! @§‘†köñÎòx6àü£±ÙÓÑ£Gqÿý÷ã¾ûîÃÝwß#ç|Öã°ÀÍ›Cq<>T.UqçôU>»ví²â(Å!VU8xÀ( Ÿ/¾øb«,3æ\W+j-ÅÖ;÷#“èî;ü^ñìÐ…dRæV®›‹Š†£Fü5(›hÏÔuw¹º#ýPëNL-­î“õéomÑíÛõ4éïgðÎ]8°‹JavÖþ Õ[ökEÈEõæõ˜4D»%—B@@€nì]ÅID˜e“.§ÍŸh&u¶·á#šÑ3ÂQ>£Fæ`xå¢bI¦MÌv$Ùºs%™Áì {yX´ü1¼¿áIl9…þ T|wû£*m´x޹X7 çܶojYƒWÌõ·Žòäú±¤¼s\b]2\t&ŽÔÍ/ù¥µxböÄ:;š›ð«_<‰<|ùÅøqùBLë˜R°Óôù±fuž[¹ûÝ<}ðW>޲)ã=JãVg 6Ö<Žú&ÓC™ï¯ÄüIŸ |i½qÛKèlÙÕÿܳ>E¥ËQ1{²iÂZ;A¦SáåÑÍ£:÷ÑJ£ïùŠ*ÑP5ÅÆÏˬEì¶è@ÓÆ_áÉú‘ý>—ý ýªìa*zÈKþ½°ÊCí¸ö×ãùŸý îvôbù¯˜œuµ?[†-îçT¶’ª_`^ÑØp¡ìS—ù$ѯ¬:ØÙjWù¨!þ‰®×Ìàìö}óª¨r-ª¦ØõJú] "óÁrÃ|°ŒÌïfxÿü£^ ¿*þjZ”?©o/Êw3“ï™A@€Ìhg©¥H36¬›;aÇ41Ò¦?Þ›é7ËžJgO©n9Ó#…Uõ(/c=±G÷¬[Ñ/|3Pÿt9ƨ@•7ÇÐ}}°¾8˜‚5o `Aiw##TÖ7`ŠRr$„µÁ#Ÿ¿Ï”M²…u ã˜[›jQØâÛy«dÅÌ+°×źœqý+6¡¬À©9Chß:öa1 ùºíiÄ¥»>m{ÖaÎÒ†ˆpŽ…‹°9ðˆ¡47.Æ‚:3·\ⵞx¹¶Ýµ˜³Ìd”WJ¦%³MÛòdóâtun޲“§©ÚïÎÇeÑQž¼lX=Ï^ä­úfß ½<Ž|ºð¥´¶³'ØÂlª|âAõ«C´È½\iq‘âyñéĺGg¢!ÊoŠz‡8Ù.½+–‚æÃŒ²¿Å[uõæ F¸œýÁ+Wr¹‘DȈf–J ôhÙV…ù5jä?¥•¥¸ïæk1ˆ–ܽ`~YÝ`.¬¥l­2%èèE¡Y‚ª…‡‰£‡âÄGñŸ+Øa P>TmxE9¦ï%è—UáïîHËüNààþyµŽâ*l_RD†tèyë @”ûÁ–g1}þ*+)öÿxÎø‘ÊyìÝWP Y%pä–`Óúy`ñ8i.7Áî{qv@ÄÌ¢ÌnŒpiàcå¯_[±ûOÍxûÿhöÂŒÅïÜ÷§\ƒ³Cp[ñd„̇ŽÿChÞóGüµhkÚ€cº.òêò»¢ÿFhùúò q_þµ¸gf &¹gµpr)z+QzkËH¹„@¯%  T@ÅÚí˜6V µ›…îØWG¦#¦;>KHrÿ!Í/Cã~—ÛÍ4.ö#<  ß ”ÊMAI¼8—Rr‡9Ûå³ã`#Ù×…Éåbù¦õ˜Ì’¹žw\€„¹Àc¨Kι¤H<¥‰pÊ5£jê(‘®²~;ÍœÓÍ$¸i†ðìâ©Xe?´€q;¹-Ôêu·x’`»“[Kè,$ž7Oš‘XH35aA>:ÏBš© 8ë{' ±E•ÁfRœ(Å)UõO¡Èš†1áµí®£ÑxÛU£]'÷"ð«XÀ׎`ó6”,¨ ´EX»½ c³:‰ÝÌ0;€Í4üº—$ÏYž®æå­[¶‘Âh+beÔ7ý®¾ÙN3³¬™ õÍg"û&×5¥÷¢k¶VA¯~scͨžšO&{OÀa±Ò¶“”®j“)½¦+Üôð’ëW!R¼§†ï<2[MæoÉölûJá]Ñ;ŒÂä¡rÍ¿`Êx{¦$™2JX!Ð[ˆÐ[ZBÊ!ú–¦ø÷oƒnAy•ß6gס„¼Ya!ÏðHi$– "/«ÑK#ºæD€mÿ« ÁŽT·Ýµs±,l‡a zÞñÍæ—¤±¨öLJXúÓ‚ç+ñƒ_ü³±à°K\ŒòÇö¤×]çi­©/^/™Ä1’k›déiÑÂ˪iÎqs^èØ´ò1vðB^„kRv㫞¦Å>"`ˆ¥©áyͤ‰ÚȪOž¶Wƒ+þ!2ù)kˆ¥µ›ÉdeMÔR3gÜf@ú³¢Jªçªg yéuTm¡›°8FÑ]eoZùh˜'oGpõ¾É³4)¼3–oB¹¡ñÚ5Ò‚kS)v³1By±ðºg'i]yµ…Î'Ù~•>/@y¤Ðjž´ôú$û®Ðº Ë…0Õ¼´†úœÓE—ÅC.„@_" @_j-)«è•‚äã8yÄhEíIqàµç±E[ü©„$ç(<íÆKf3^ò* ;éùVúCN uÁÂ2+òàá"¼„¬8 À@Ú¥ö1Ú¥–Å^_Qž® ›yäûV‚\ŒD’WôQgÍR<힥° §m2F‚¼Œlž>T’©Õ ;ŒÏJ6â"ˆgiFb•1Ø=Mަoؤú›hëïƒ{A¬ŽI#è¼Ô7H*£Qs?šÛB˜=+àŒ¥+]NÊÎü®ÛÿÇ^¸© zªè±wú‘wu!q7®/3f+Ø Èì3zŸyÿÙNÞز*•¼lnJÈÒLbÌÄpñ5oDlê³™Là†h}3Õ÷B)w:)µš1ÑŸS¡ìMèÂï†þ8ÃFÿ¦ÚÂæ“|¿Ò˪ҋžcä;ogÕMÓ’~WƱfºR¦ÈRÊ!Ð;ˆÐ;ÚAJ!ú/9>_.ÆÝ‡¼nBöÑß .,Œ)OÆb™I0ˆØ+ YdÛÕ)M!KrN15áKÝ'É3Ã>ê­QÚ[§K\Œ´5!L¥WÙÚ‚:‡#%¡Æ¡8…%•'Ÿí|£‡±Ãë Ù¸7’»÷cTZõ΃ë0³¢!œœ>öŠëøüsŒ£v“ʇ.<ªþÕ±‡Ö¢,5×è³F©äe3Qm‘NÀô}­Ú±ß ï6Ò¹(ÖÎôµ¾g)]o ›wy8ïhaô²vEØŽ–nJïŠ(Îî"ßú QúMSJE„Ày" /ª¤,‹Ê–cÁÔdk›á„š1uAQ KèpÛ‰š:Ø£ˆöwͳG•õÑ]O;ë83YTöéá²ë‹fÝYÛâO{ß§-¯GâÖû©þT¿…3Ãû$ÃÅHXÂU´…§©™%/¨¹Y˜ßi¡e $¼x:ºù‡õ2".˜K€xÞ§+Â9yDí”R˜+б¼ ͽ±˜[-6KšJ^z?4ûvO˜y½Þí¨ ÕÖ»Æ`ž´¾§ÞÚÂæã]Î3Z½¬]éÑÒM— PWÊä@-_„@/" @/j )Šè ô?ÒÑd}äÕ2;ÐZìX¹á²;÷¨±n£ ÃöwÓ6ÿ²Í÷:öùÐÒ°ù5‚¯ç­„ŽìuŸyµaY ï7{jÅÒ-¦Å:.ÏL›…g’âbTB¨ÎÕ´€q’¶o—^wKˆs”3†é‰{pxS%;Íä5/î|ÏöÂBæäQ|òt‡·$»>ö†Käþ ž)X\Îy´ïÛˆýr]]Œ9ÿ{¦Œµwˆ²ëDf@Õ+p¨r)x'‡ˆ²èk’ÌKÏC•=‹€»þ^x·£þ¾ªò2GûÐúžz7ÒÂÇ»<œ¯ÍÐF/kW„íhéò{n¿ÓI¾+´W‡ZÜ•2ÙœåJô.¢ô®öÒ^O@aÏA& åÎ2wB`f¹!xñÝóŠúCjDpoˆdÜì$áðÛá•ÎE¸öw# Ü[ñ]žê/!7”¦X®B{ úFû»2Z¹E†]gæ’+ҧȩ敓Öè›]™ûuGÈtˆ¼éð‘#†n>“Gn@W'æÔq§D<ÝG&âÔ)„Å ÿg3F¢ÔSiµyø°¨ö7x„Ìô#–Ð&r¿jŽØSu('f»×5´Ót³¬ è*Èýê4}Á­CÙ±s]´v+ÑÃÃQó²™( ápû˜÷rêÜT+Š‹Z.r—ß ï6Ò…ê„ö•2ïòpm†Î0úo‹5{Ç<¢¥ËJ§=;E‰%ó®h¿¢$جO O4“Rôna§°¤¥Å_Ç`œFËþçPG>ÐÍå»f™}E‹ðdùÃ3è°5’fÕÆWˆŠŸÌÁmcGà̱w°¥þçØ²ßß9L nÓ‚›ýÇÝŠBæ<œY!¼óêüœ6вbV`{`Z—6sÚˆ“@_X‚–ƒöVÂû¯97:S£ý]æ2œG°]Wq î½.×ßó &dÔ&[èd N›nä¡â~äåÀ^ŦŸ¯²7,£YË÷<µy:…0NW‰„QaͳstŸïñfmߺk†…N`ïïcoæfhlÀ6ëA\;zN¾›~Y&Õ¹hs²Í´9™S½ÐF³UÁ¢xnéj^6½-Øo>m¦m]XB}ó|c#°W¿ «´ ÐTŸ1Ѝ ˜ªÈèÒ{áÝŽ]S¸o97™K´-l>Þåá:F ÃýYyà‚/%ÿã^䌺Mpyƒ²H9.¢¥Ëºü®hí# €·|éãDèã (ÅçŸmÖE#äuáò„ò÷‘ÍÃø™ÖìçÅ–”=vqåZ,™2Ö `ÿq·nE¿ðcMÃ{C$í8ô››Qôh÷éѾ‹É¥cØßd´œ(ŸµO/¡Í¨8@¹2£y¦l’cQ´{·•ö\(Õ6ÖRqÝç’êM˜7ÉÞxÁ6[‰49RqmæÑ…9Ö:[P[2aë(ëv´ w}ZvÖb~õ–hÁÃ÷ÉÔ&òeWÇ ßÖ´söŽÐùe´c°ß¹¡˜ Ü•¼ô…¸Ž²‡ZQ÷]ê[JAQ™¸Ïù¥ØôÄlÛ•¤êƒ]~/¢Ü˜®ònG}TÝQ^«\Úì“2 ?ë Ÿ”úm°·˜6Øs¾u±=JYÕ ‹xýµKïŠjJ_¶\÷u¢ôõ”ò ž @BÞÆ•£^ó÷¯Š‘_\†Š…÷ã¥e³¬} óš_åc+„ šÙ#P¨6ào&‘K³KÊ1m¢s€ýÇF^—WãŠ×7Ò®¦NQàYòïNƒÃ­½öGÜGî Ÿ»ƒÔÇ}³$hÝó,jþmö{uE4ó±àï§ [· ê —õ³ÍQì`+1­Áo÷í9¸1µ†ÁÞXÌšêÈϼm÷Î;[vã×µu4{YÐÜB?~°` Æ8ÇÊ[¶0¿†‡¬ Q»5€ Î$ümæö¢SãA¼ÿBíØùT µÚÖŽ[Tв{¿ÄÏ †è¹£3¹˜­}òI4ŽÔóg”¡ü;~ŒuVÇ΀©/¦ÅØfÏÐLm쎫Ž$óŠÝØÝøkÔÕmqÌ‚™æbÆ¢â;LrÎZh}³+ïE¼vÔGÕ­õ84kB;){«åEnÀ–,Ÿxåá¬cõ«Ö=±âß~‹ÃGUÛ'Þ÷b¥«ªœô»¢µOQÅZÚ0Ï”PiÊYôE¢ôÅV“2 ^B ì@ûñS8 !kÐP\’ ÛPm-ã á\rymúÅ‹<™6ÒØÙÑŽÏNB(”…¡—\‚ìáÞ’ýÇM/6cïÆêD{ûg8uÆ+ÿôA Re¤4³adNŽVÏÈ|’â2P× "ÓJæN¨“Úã³p{P9‡ŽÌÆð4¦ŸLYŒ°¡ Úi“¸SÜ?¸<—Pyì7¹`'qÿì õÉ}$q÷PTâ&”@€ôæBG{;N¢²Sÿ4t(²³‡;ב¨2i¦½…”ºß •LwŸÓ˧»K?ý^÷®Ä/²„i% @ZqJbB@D%EЉÞõÀ©4’Åɼ+ž|½š@ŠïE¯®›N^K@€^Û4R0!ÐϤ(èˆÐÏúƒTÇ$â{!…€]! @W¨I! ’'@¶ÙÖFY¶Æñ !yÞ' ¤ø^ôÉ:K¡…€èq¢ôxH„@† /)µÑN­¼¶½…½ß$Z{ÝûŠŸ\–‰ P¢è$\o&â{Ñ›«&eB ÷ ÷¶”Lô?´(´3H :i9ä$Ws†‚Ay1(Ç8=¹¶Õ(„ü'ÒE …÷"]Et„€È,¢üÿìpT×uÇ¿SËXì‘©‚h­ÁF1“Ñà4(¥öÈm"MLˆL☠DL² Näž)ÊPšÕ8¶åAF‰„ƒœ)PÆL¡õDumš”â’‰Ø}    ©E€ ÀÔoö–H€H€H€H`Š 0Å'»O$@$@$@$0µP˜ZãÍÞ’ LqT¦ø`÷I€H€H€H€¦*Sk¼Ù[    )N€ ÀŸì> ÀÔ"@`j7{K$@$@$@$0Å P˜â€Ý'   ˜Z¨L­ñfoI hÒ©2ni%˜1£Ô½ï"%y½Oay½|Sù*ƒÔ¨0,™V÷©L¬X}ϤSHÛ¿¤tJKŠUò‡]ŽÌ¡TÚª´¤3&oG>lp¬®T®ˆad'HàC&>‡ Ë[ð’[m-ºO¶bž{Ÿû"Ýß‹åÍ]^‚X#z­Ålï ¯Æ!0x¤ëv=o¦jyô–Uæ¯|S4_ L&ƒË—/ãªÒRåûs{× åÀ«&§xG/‹¢Õ߃ÍÝfëãÛ÷#±TõDý†«;°{-5̼$+ž€+~ˆÙAø(áÁ-½v Ž·Öe­˜ºï‹°|¢ì£àã4ÎMÏ&Q,õ‹ À8° ~Bï†è2õ«*´ÞÅJ;:™DS{ŸYêÆ=Çpç‚èî¾h B„ü}ZÈW¿E*Of IO€ À¤Bv€þ”ð`Ö“ßÌ–‚-îÛÕÉþÇTü<ò¸£¤ 'ñ+¢,R €Ù¶óÑ÷]Ñ @–¯~ÃYï&ÌŽI€& *“e¤ØNˆ%<èfÕnéFk].O-XY¹L½¡ˆ €a»]RâYmgÒ£zå<ÞÁµX° Ü·;‘Áëo\Ä;ïHžéÓ1}ÚL\SV†^v·kF¹ÆÇ-;“ÂðÐy\”¼’×ιå³}R¢›W_¤¥Î×.Hf;|EÙìÂWµÐÔy «–"=:l—m4iæ~tž8vêÚ?œkƒùð+ð–ÙÇY˜ógå˜m:˜Š=ºã<«ÆÈ¨3™aë´/ƒÑá!œ¿ £6Ê’ÕÏyÒO7¯SFöw>ùŒö•”Œ¢gC–•OÚzÃch½šÎï%Vb·¢âÌ£ïøpñ-©£³®ƒòòÙæ¼uÊ7Ú1~w…©¤JëA¼¥ÛlcE¼Mìü—Xm7ž¨ß°§¤12ô.¾õ2ÍëÀÜËsL̆ñsî½&sÏøM §é³®Åuò›׿9“Æð°ÕohÌš3óÊrýž ›¯Eì‹"¢ PTœ,Œ¦%üðá8ñ’ò}°3Ǫëñæ XZ’QW ®µа±xú1=›]vM¼-÷,C™-1ºŒ¤¬Š›—¨R½Ë¡“;ÄÌÅکɲ÷’ù¯ÒC8²³»NhÏ+IMS+–á$¶uã¡vŠÒýâKÒlú’$ÄœfÅÕÏáïïMZsIRÆ…sb±5›Rƒ§°û‡BÖ6mG˪¥¡~$yçSãìï˜uWÝÔ‰W-„fïš_©¼ ­›#C§ ã]ÈÆX-Z[oÃÉ-ÂÅ —‡½¾ncv_ªÑqìA,‚çÇSÝÔ†uú+lM(h^çÍ6»YO¼6«ùH妩í±æ9šPj=£»Ïò‹ñg‹¡>q6Èo:û–©žÝx¨ûDV¿QU‹í÷µø—ÌWxGÑ#@ zc‘@ô ˆÀã8W'Úñå·~„­Œ?¾1lé~uî_f¯+îoyÔ´½¿Ý–„iIPœrs :ªnm×ì–/‚x¢òºŽ* ßV2§»°rk¯×¨WÕ öâ ­·ª¾ɽDZ8J Ì{‚¡¾N4%ª'á—mû±v‰rÒ Of>uû:F÷U¬ÝO4[ÂÒÈ)ܵr›-ìÔ`Ïñ$8B”›AïÔäO7¹q‘êGrE³5ž¾a7UpÍj\Á9††Ä—ðë®nYJ;ÊÎðé½X½õ@XaÞ³š8œ¼Ó'ä”OEÅñ õ®bñvJ,Ω8óÖË‘ã*dŽ Ibý.˯ G.÷qÎß…›ÒFÏI\=¶/+įa—x¿áì4'!m.ˆm ¸°[oN«ùH¨Ó¸¾"”·Ši«úÞmEÃv<Ö¼Tíž cï†Õ0ÿÛò’e]%:#¾ÐVòœ¯Y…ð D€ ›D‘' „⪦=è¸ýWXÞ´Ëlv¸€2„uM°Ö”°ÿpvˆÀh®¿@×å š^ 5õ·ãÆÝŠÆÏÏÂ÷îXï µMøÖJywí4\ºø2Nt?‚ζ@…„&Ýg‡&U}uJ®ªO`Ãÿsç”àåg~Š-ž€o¬dÇmÇÐÌГ¸£©ÃÉ&ËîõØòí/â–ëgáâo~‰ƒt Ï]¸¡uÿ¨-ϒȽüöUX_ë­øòm‹0qî_þIYÕt?õ­8¾¹V„Ÿ4ŽlZŽ]ö"½^awÓj%¡*!šâ>¡ÚMç^¤¤Ìn™ÒI4µ~Ÿ]t=2&פpu;)¹”€ÂÖ(6VUƒÛ«oÄ­+±Ϲ;GÆ»ª†ØÐðiÌv />wÛvyì«7îÁƒw.0’jÇɸ7ŸÌS'~‰w¯F²ÝQ6bˆoü&n¸ú]|äúO¢vQyÞ @¾s$= aq×wM4?ƼüöW>‹ëgfðòž0Û⣗Çd7æÔ¿ àÅööXÇjâøfÝ x75Ÿ¬_ŠòËÙ @¾m.˜­3&N'C¾½9­æG ]X½«…X56~§ ~ãà­ xöx·,8;RØÞ»KÍ ¥ Ní¸[E#“|Û›ð雿âÒ…qtç6u7jÐy, ±²ó™Mé¦ùæk¹»w¨“ðš"G€ @䆄 "I@@ nUBp:ïZ‰£¦¤R/glö àsFS ‰ú‰ uÍÖjï¤T4lÁÎæ:×)3(Âø:[¯iÁñä2µh0ÅÞ5q˜!Þ«ThRÕW#Uu¢Cvü!ŸLb]‡µ‚ëí¤q²u9ڥɚz“q·=FY"¥úV!c²JyHV)Çûx‚•²IVÊWB°ŽžëûoG°áç ?²51zf/â[l7$r“>c ¾u?6׎½+áWrªÐvp7–è-Q:N&Ñîj:JÀ °5”ƒ-{îGÝËìÇð8™¼ÛÍ[+~k@˜L<‰Æõö®F-=ÞŠÊ’‰æ3xfD¡¹ÃVhªÑyüA,T:™f¯M€ô@þsDÚÙz‡;GªÛä·ä7ËÊ žÄÝëÚ]­ôŽ7O2ƒGdÎÛŠ¹ù»³wµŒŒöµyBc2vk=®j~²„¥ñžõm‡±ÙtØð2žî\ƒ­ön £ðf†„i“ôVüVKÀw³¥ðdò«è°çlMË£H.«Ìb–=_ÝxA‘'@ òCÄ’@ (áÁHôJœ+™MÏ OVÛ’fì1)ÙuרÕÇB[¹N ŠððëKÀÇš±*ËÜf]kV£÷UitŽ6‰‡•ÏDðÔj³ÃðcU¼MV—8r­Î­òŠz!æ1bŸm¬¬søV¡cõ¢4lWN‰ð³Í~ª\PïÆ…-q€%ÈŒ/mé[qsåÓW»ÿF{ÍF”îÌ¢#ZÇi¬‰oµ|>ÆØhê8,ŠŒê¼f¨•2Ð/þ͆ÿ‡|šÄdcÕüßzì Égšzh¨ ü&$«ú=6G< —IpºK„XsbŠÈ™Ï€ÍǧxóM¸Íj^ÌÖnXÈ—Ç5›¹“<,͹½r.ƒmÇSQÓ„ïnŽcv¬Ä©ÿ2‹ø“EK°@b´‰T£Ì¹µzÎ9•edlî°w)¥Ÿ½²j1ÛÇLæZp¾:yùM“€€I0Hl" DŽ€úCè $ÚtD¯,‹mõ9qÔÜQw•?—°í–ì¼Ê«ÓxÂØŽ·D¿ ,éÔ(^ý<†††ñò‹/à©cGáúèæPbbJó„iJ(N9:mJËŽÃr{Ç!g>³uð”ŽUè[__•£¬Nc\û@Wð ±¾U~¥Œä·‘Æ“²ËÑaîrx» ÁvHK$²Ž®eMŸ€»rbgnì.Ü-&T– L¿€ô»ð´ÍŠ®ÆÈs»Ðk[zTIú·¿<¡|»W;;ïOÈ9Ö¡säˆÌk…~,§lß8ùlØî“1ó©ßQ!mžè˜Xlݦe]xsº0`$įÇ0ÉYþ×Kqó¢›qÓüJ‰B¥«óïHÅšðÕ¹¥iå}ÒÀե籫ë¨ýÌvLÖ~!óÕ+€W$}T¢?Fl! D€×œ<[p/’‡Žýï† Uù‹¯xugË £ï‰Ÿâ‰?ÇK¯ZbeVãAÀ[EäRýqx¤D¸[o w±q m^ÈäÝêULŸÓ¡—Äw¥…¥¶^1¹ ÛY0rè•÷j‰Žôà–ð<"™VZ™ vKz[%’’e³”ß!W9{_k›Bu7Õc¹¢¥[?÷Úà¿ãSg'”Ï: 7G[íš=ö€»Ó¥û¡-_cu[ˆ÷ 袸ä’}é> y=Ñ1ï¤aka €a²u®÷ûhéÊíD]QÝ€DóW%¢ñCÑsÖ7BcÜd+Îï|ŒL|E‘&@ ÒÃÃÆ‘@D „3FKGNubå6kÕÌö¯å7—°KÐQ; úð¸DzÉåë‘jb¨¨šªùUøÄÍex¼£ËZm.´M!<>@L‹Ä¶?çfGêŒì¾l±v_ªÅ¡÷AÇ¡W;;+÷#â±ÒòÈ{uS SvxIßj«3sÕ!ÜœÆwêÜ^äØbˆGŒõyóMÌ|{õ³Êg„ùÌ©¬Øõzó,‡kÞ†ôÕ'ØçR¤Þt¿8 7w™-ÐsÞnRÎ/_ùÁv…´'« 4‹mV îk¡ €UDzdÏýûSxúéÿ@ßYs«É-Û¹hl?ˆµ‹K”™›ñFþyõ¶“(ë[ ʱ{çZŸãt!ãU$@PˆÀ ° $0é„f”™ƒÿà÷æàvØÉX­˜Ï´‘hä£òç\m ,6¤\ÂÐx„^e‡ÄVßþðz,©,SŽÀÊù³ @L€Ô zp•wôL—8[!Qkd•=Y3€:Ù0>9mùí1ð¾´  # yiŒ«!qo²Ä•€§æA¨@%&IkäìˆW¥„Ð÷þJ¼»‰æ3KÈ¡¬Ø¥{óìý+iqÒuL€ wh¼ž˜Wz­„`DšÐ˜ú¼õ¸ªùáK4ö¸ø’ÊÁ^#ïàܳDZSÌxܽ>ów}7ÎvÞcûÆH]Çä¤çP¥ÕW¢u3Þ| ÉÂG$UT¢:2l D™Àµãi…,­½j›ÚøœíTþ\ @Ec;ö­Í6›ÑQj´04¶¡Wªï àq^i9;¾ FÕV]Ÿ/wXy6!'`ã¦q¯¯²~)ŠÕ!Q¬Â>>çÑ,“A$ëÖY;"ÕMhýô¯‘4ÍÆpX©D;àæâ£Q#rŠ>ÀñÍ«J9Ï`ÿ¡f„Å$9Óƒ{yFZ÷ÇXým¨ûèoÝÆPH¾J¼_ÐtãÍÛ}×ìCM€r(®¡óH÷O¸벪Ôs·0EHsÏâ6gí>º_ait› fë–œuáqÍÁ!3€V7Œ¯3‡28Óó}<òÌK˜Qq7:Z—üC¤1ƒÛ èÖž€Ò³äŸìCåuÃöýh^:«Ð³é»8ñ»æ|ükhk®Ei¬žð LT&Ç8±•$-cü! Æ5· ªòûeÞMeä46­Üj k¡F ®€éRÓBT¸Ð/‡15»‡1©öª¶êúÜ¢‹Ð4~gC‰Š^1Áñ›ë' hØ!b† R£ø X«ŸFô%9 -pÆ€ÇLõ¦f‹„H­S;#ê]È¥? h ÷<Ž;õqÈY‡„9Â[.nº‰ %!'“v8Æj Ýøàª R¨L—$kK÷q,›‡ æ3ö§ô\©’0 » ZØñ‡IxÚÇ%<­Šƒÿ¼ôÏyM*ìZÛëw€Âçl ”Ðy=Ñ1Q±TÕ·çäð²ËKµv³Õ»©>gönÂçPW‰T¡{%ÒÖ–îDz!…Å=(LLÛöõ KÐÕNд÷&a8íÖès.v‚„òp²¤Ñê9 ÞÄ¿«¡[þ #¸$ü& ¡Á`SH`Òóá°˜{¬¶Í=¬‘Y|Ž*¿OXü=$ ¥cÂ[Õ€¶{¿„ÊY ¾ð~ 4æ ÎG [ž0«L'a ž·hãBõG§1âß!B«û©¨E˷⨮4û>´ ÞY1‰ÕÈŒÕï¦ÏqáõÕKPoÁêÏUãZ‰ÿ›_ÅCr@–kúzîäÕÎÀvQUhmPòª ¹ò› j[ðùO]7ó ~¼«×7fÆ€»Òƒ›®Ä¯`ÈŽ‡hõ•ŸÁsgá­—_ÀÁGÚÑçL åÐ<Ñ|†S©Oé¨oÄm+ÇM·~FºÒqÀêñ×ýÈ9GôùF†*™#«?ë§¿‰gý½Îátvaúôk_ù!7¾x÷rHVãß܆ò97á3µ ó[ÍÎ1>gÒHû‘VVŒG Ûð¥[+‘‘ßçS½?Àw·ÞoüŒ„HÝb‡H5ÂíÆ[¨½yf‰¾qqðW8Ü%‡í©ùqL¶+5ÿ?ó\¿a+ßçäð¹ix /üü ڻݗVhY#DlF‹Äak$Ú™S•sæ€ùŽÿ@ Pˆà °I$ycý!”ÆëØð†“]Öê³ÊïWD&=-ŽÄ[æ…@ [žP¬LUŠ6‡PǼŒË[‰ù¯¸aLu}¾Œª?Á4C§ºÐ´Í²µ÷å ÜXо´)¼[¯¯Þ³œW±zì9°öáÄdÚØx¥v>)Ç¼Í ¢ëžu–ùÔ˜ 奴§û 9(ÎXƒ›.fðd'Öµ7'²!›h>ÿüµZ‹K$§Äbh_×Hí\ÇßíÇ}êëDSr¼þY%Õ·vËál²Å‘ÏGÌf6‰ÙŒ!ÕÎQ! Ø>9aÙ Ï;‘6O”¬Î fÕIDATmîfË9²pÐëj­¹Sj¡ÎýayeçoÿcXêì‚¥ÑٸηP–«JLw;¦ˆcŒ¡žËF9îÜ+”ÏH ¨D`ؘtÔBïä[Õ 9`8ÿš«a¾è3v•UêÔ]ûõ@ß^Ü—<à­`ÛÏ̓~š«qpu‹i»®w<¡Ø9 VµÇ¾:Õƒ¿ÛÖí®Ò¹)du4q_ þ*ö,VÚÑVŒw¦ßÂÂóHŠe¬Ö$ö _àfs/Tt›œ÷©ÁSøqgŽžuÖ7²f)+ÚßZ¿KæiÃï}Ø•×Wiãöv”ÿw:œ@ø*ƒ±+Ð|Ï282zå^ŽJõøVKAÉ)º©ÇºHáô‘ýè~¼×;OA’ÇdEû›÷~sŸß!&†(jÙa›Œ)nafº¶Ñþ>tî܉>÷°ïmuCÍ_‹£2á„ò¥‡Ð³£?;sXÈü8ã:" ÝJS¡Ŷû€˜œˆß€ÚÆþuËŠ¿³ýeT“Ý”¿ÅחŰcõSý½YM ýwètÚ~ð3öÖ>l®ôý·yBlC[i?L `ï¶ûpàlP ¨@Óöï⓺ÅLÏS80OÆëÈ÷`×QçØm%UµØ°þ+X”e’3‚¾½{°ó@_Öÿ50ÿOhF|‰2Ek¾ªwƸµ³‚i¸îºrØÕ†¦wN4Ÿ“ÿƒúλ´1JgÀD%lRi'¾öËackä°1Ǹ©^œ7¿öÙ[¬ÝY‘xæÖ‹9—ó¡m´CÂúÖ>0œÞïkÄ-öùé‘~¸¿YLbì<Ǿwߪ@$)y¼# |PȇÓ ÀB Ýß#§Êvû{c‡G ‹†îO~w®g“m߯ÞÇö:ôÎc‰Ft8æÒy5e¿GÏ`Sܲï× Âðm”Õ_ˆU×$@$P*ÀbR ˜ì´ÉŽÕ—j‰Žò}/:Ê„:˜AÿÉŸàþ@˜V¯¨Z¶ãËågËíeœW£ýèÚqVÈO§ó±ê´nþ—sBœ“ß$@$0*ãâk ¸¢ˆ³ðÐÿ¼‚‹¦sõ,Ì_P™—³p~ Ä™rè5œÿßaüîÝ 2ïÓËæá†…•˜]$_çüÚ19S¥GGðÚùó~ów–“3¦cÞ7 RœÑù! b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹H€H€H€H€"N€ @ĈÍ#    b PLš,‹¦ ÷ÞCêÝÿËÑÛ÷ù=Pò‘«0£ôr¤‰æãËï^Æ¥÷¬¶•\}œæçzÍ^°U$@$@$06?„ðÿÿÿÔøçW>9IDATíÝtå½ÿñoH€„$° $HDŽ+TÐ"BEXµPÄ+·…F-¦9^,þ¤O£¥”Š\h/`EZšŸ^OlÑjÅÖ¦уРVÀ‚üG$„„$ð{žÙÙÙÙ?ÉÎ&Ù÷ž£»;;_3CžÏÌó<“r^½$‚WYY™1Ö Aƒ$55URRR"˜ŠQ@ Þ§÷”ûþV~1iirÃe.3¨‹ä´?z4cÔŸ;/uõç%­mIfÂÆÝúþçR¼£Þã–›ûÊz·5>‡ÞÀ¬ø @f+ ‹âõõõ²yófcóóóã¾®)€¸³â*pzÿ!¹ï¯§¢ZÆ CzJá ì&*¬×KéËŸËÊjµ éY²hbŽtjm‚¼õÃ]R¼­ÎøqŒ “<`û‡»¥h[mÀðàsa( €Í[€Ð¼÷k‡@³ð ií¥àª,é`[ÓªšZùòÐy÷°»Ðlþ”ÙëY|ËÒø›õòzéçòJ¥žsš<>©Ÿ jüLåÀ§{åáõ:UˆÜÖ_n¿°ñ™`0ð?@V"@h%;’Í@ÀIŸå’º/Ô×ÖÈ[ÿøRJö»«Õèu¼áú‹åþKÚ5ru}@‘ —7A9/§kΩuK‘Ìöî¿^Q@#w“#€4+@³Ú¬ -CÀ'¤w”'^(™!Wýœ¼û×Ïåùýž¦?iY²øîédüšª9|ªVªU^Hk—&=.H—Lo9ܘ¢^•ÏSÛÔJiénYiÜH•ǾÛO†¤«ŸÛi't®^Ž—Ÿ•ò3õR—ÚFÒÛµ‘¬ôvÒ¥ƒßŒ=룣Jªj_`ŸW¸P_[+‡Ëk¥òì9IÓËÈH“ ²Û‰-CxæÎ €‰ $~°´8è€Ú¼ª“òà+‡å˜gKÇßr‰Lèåmº{úh¹¼øîQYWØ?ÀмîòÀµ.wÀ¨­ÇJʾbòr¤øÚ,÷¯çjäÝ÷Éó»j‚•!å÷’!]¼A TA?Ôp©©’Ò²C²ò°»Ý€ï‚RdøÝå¾k:5Ž|§à €NœPf´2¨€ªZóî[;åùÃîþø›UèíG>?(ÓÖ„éQ¨kgyql7ɬ©_:h ÖÌ~Ê‹£:ªÁ5òÒË_È›îêüþ£Ù¾·•¢I}­êC¡ úA‡×VÊÏJÈ¿ls ö±kŸî²ð&W5~¶†!€  :/ÆF%}ð­G?à u¥þu¥þäq¹ïÇä´GµwŸÎòƒ+;Ê…íÎÉö_Éo®²¼ ºHŠ¿ž*ý«BUå©•_¯7CCŠÜ¢º½8í¼´í’-#z·—½›¿Í+ÿi2þš Ôð I—s²oß yAMkÞ¸åFÕÝçÅîî>ƒôÕ¾kýn™ý©§‘sZ[)ÖU¾ÞCµm8sVÖo9&¯|a6€N•÷fo%mm•ïï’ùg]²è¦.Ö]ƒ#ÛHñgiR<¶{ÐjS¾sà €ááüb »6~!³7» å½/í)¿™åsW`¨*à?:Ä·”\sè˜L]uÜÒeÞ½¹’kÔØ9/o­Ü!%åzÅÚJñ½}e€U“眼óÆNYî)áOs©ŒîæÛ6àäžrÿ?ŒIwŸÁ€}Øðë/‘i—x«4éµÚø÷Ïå—_xž)` ú·P/kžYY2ç;9ÒO5lÖ¡ x‡ªb”–.ßÑ[eûnK¨y1@P€P2 G±€“êáa÷{f€aâ­ÏŸ¥OÞx»ºÒ^ä¹Òîm;Ðp/@{·’’*l¤fÈoïðŒ€ãêªúÔµ VÁ\)uíÚQÎï.ýì ‹«ÎÈG_¸O÷‹:I¿ î>wT÷¦Žë#¹û¾´ÝÍH‘ïÞ˜+ã.n’.Bî_~@hÝ€Ö½Ù:â"K°˜u˜;°F~ôºyu?U¾«vV]0÷í 4EN|yBþj\éé§î\›­¶©áà»Ñçääɳªw¡9r¼F¶|Y©žOàm´ë€ãŸ«±Æ"Ìåefµ—/ΔËzeJÿîÒÉ]³Èü9‚÷s²ùÃ}òómžêKiÙ²âîž²ó—2{£Y*U=÷à’&yîA+Ä( €­P€Ð w*›„@¼b VõµrºÐ=N¾’ûþÝÓ„ÝU‡" Ç÷—W7–ËúcuVƒ`.±ýÌ€­ë÷Iñ§¡[wuuïì!úE—6þ}‡ª>¤L«;#Ï«;#ÔŠo»íÐ[¦.7Õs‚‰0 @ µ Zûfûˆƒ@ô Fžÿýò®ç»;SÀÛ73-ÌŠÖ—^V7Ÿ ßصy¯ºbî[0ÏLK•^®¶Ò·[†t>U.¯xžK{p¯oMÅùx{¹ªîsF6”{ï,Ø·fÌˤ‹}ïmØ÷~®—Þß+ÿ½Ãl\ì¾ðùƽR¼ÙÜžT.±z.òNË'@" DæÄX `ˆ6ØÝêF»F×›ÕÇåAÕn«ë½²o[Hƒª«ÐÇTW¡û<ÓU}ñOÔIº´÷6ž­?tD&­r×+jlðYÍsçÔCǪeëÎãòÛO«¼wÂ>,Í=—íî’¢mfˆh+?¾³äìÜ'3<§U£™|KoÝ+’0á³f|A@À X|@HüÀóêIÀºšJÐWÕ))zål÷ü˜Ù§‡¼x“[õ£_¤úÑ7†§uEw_ÐXWOr|Ï!)Z§ë¿§È7÷‘ºéî~|ÀãªJÌ O»Xûºeª>ø_T}ðû¿Nªúû÷{êï{ïîSOë_}iRï4£®þ ûj%#³“2 LM «„+[æé)¹j|kÙé¤xÜE2À·£$ÿMã; €aa‰üì…lÉrÉŠ Ý ÀªŽüÞ=ÇäWÿ8a]×…øïê/#ŒqÎËZõp°_{6 ïBõ_ý/ûë¬z ×ë^“Ç©.=»è+ùõRZú¹¬4Úàª>òïíguzzß!«mAW6~­Ã†ýUS)Ͼt@6x† ½&W½"Ýøf¶Õ·†ï ˆZ¯ÝžõJ•ûÇõ“Œõ²-Èþ °´,pr‚Ûr`Û—²ôpùɨ.–§ó«:Ês·t ²ì3á3 €aa€ø|€j”zC¿t«÷ž¯N©úë©çdÛáZoÏ,n‘+?à.lëAõÇÉ$ÕùÊìš%?üºKú¹R¥ò«JY¹î+Ù`V}WAãE42‘ýÂC¯lùF×¶ré€.rIíqŸy~íÒ ä{3‡€íÝW.ÿoc¥õ0=«Ìåé.Õ…gä ­l^ý¹ü|—»Ÿ]5ç–!Èu9í%K= üØiYµá¸ÏºIæ–óŽ €€sç¬Y­Fà´êÓßÛ€7’ÍJ“É7_$£{Ö]ßû©êç~½ÙÅe¨y¥Écwõ“!º ÏË·Ï|÷ÀÌ~Ê‹£2äõÒÝòŠoædÁßUw›Ïëî6͇n©±ìw¬ª9öáµUòlÉ—Ö„à3ÖCÕ“€ïì'Ã:yÛ „—_@ˆ¿ þÆ,V'P²\úãŸ+éþ™™ž&ydÈþäšK:x®Üûåþ~RuÙùÂêj¥êúÒï5 K Gt—\ÿJöµÕRúÎAùëWêNƒ§Ý¬õœ€Ú3Æo+mýý›³ÐË%SF¹dý[{äÏóÄÓH·Æz@XŠªÖs‰ªÖã~¼°÷Áa¾ÃE­Ã[ï–Ï¿Ìe˜ï½{d˾y¡\ÁCÀÌixG@ Þ€x 3ˆX ¦æ¬|uúœÔÕ« ÚF.Èn/™aÎ64óúÚZùª¢^ªÕüÒÚ¥J§ìv’é.Ó«ÉÎÉ‘£5R­Ú%trµWíjÄzÕûÏÉ DΞ3Ö;]…ŸÌôTio-«¡µä7@œ 8ëÍÒ@@H¨ ¡ü,@@gÎz³4@@*@H(? G@@ÀY€³Þ, @@„ ÊÏÂ@@pV€à¬7KC@@ ¡€„ò³p@@œ 8ëÍÒ@@H¨ ¡ü,@@gÎz³4@@*@H(? G@@ÀY€³Þ, @@„ ÊÏÂ@@pV€à¬7KC@@ ¡€„ò³p@@œ 8ëÍÒ@@H¨ ¡ü,@@gÎz³4@@*@H(? G@@ÀY€³Þ, @@„ ÊÏÂ@@pV€à¬7KC@@ ¡€„ò³p@@œ 8ëÍÒ@@H¨ ¡ü,@@gÎz³4@@*@H(? G@@ÀY€³Þ, @@„ ÊÏÂ@@pV€à¬7KC@@ ¡€„ò³p@@œ 8ëÍÒ@@H¨ ¡ü,@@gÎz³4@@*@H(? G@@ÀY€³Þ, @@„ ÊÏÂ@@pV€à¬7KC@@ ¡€„ò³p@@œ 8ëÍÒ@@H¨ ¡ü,@@gÎz³4@@*@H(? G@@ÀY€³Þ, @@„ ÊÏÂ@@pV€à¬7KC@@ ¡€„ò³p@@œ 8ëÍÒ@@H¨ ¡ü,@@gÎz³4@@*@H(? G@@ÀY€³Þ, @@„ ÊÏÂ@@pV€à¬7KC@@ ¡€„ò³p@@œ 8ëÍÒ@@H¨ ¡ü,@@gÎz³4@@*@H(? G@@ÀY€³Þ, @@„ ÊÏÂ@@pV€à¬7KC@@ ¡€„ò³p@@œ 8ëÍÒ@@H¨ ¡ü,@@gÎz³4@@*@H(? G@@ÀY€³Þ, @@„ ÊÏÂ@@pV€à¬7KC@@ ¡€„ò³p@@œ 8ëÍÒ@@H¨ ¡ü,@@gÎz³4@@*@H(? G@@ÀY€³Þ, @@„ ÊÏÂ@@pV€à¬7KC@@ ¡€„ò³p@@œ 8ëÍÒ@@H¨ ¡ü,@@gÎz³4haúÉŠŠ ©ªª’šš©¯¯oa[Àê"€8%šš*íÛ·—:Hvv¶¤¤¤8µè¨–CˆŠ‹‘@ ™êêêäðáÃFÁ?™¶›mEh¼€=zô´´´ÆÏ¬‰ç@hbPf‡­C@ÿãxàÀ£ðß®];éÒ¥‹ñ_FFFëØ@¶›ÀÆoC† ± å#D+pæÌ9~ü¸ñßÙ³g»999ÍîN Ú=Ëø §N’cÇŽ‰.ü_~ùå¢oëòB µ Zëže»% «‹nݺUtèÚµ«tìØ1Q«t¹€ , DdØ¿¿qõ¿_¿~Ò¹sçdç`û[¹ •ï`6/!'Nœ]»vwzõê•uµP@(†#€@R ìÞ½[ô?ƒæêR ɱñ€äØÏl¥³ú.À¦M›Œê?}ûöuváa–FÄÏ œúª~Q':9÷²m5 Ùö8Û딀yné»ÉÍéEhN{ƒuAf#@h6»‚q@À,¤xÀfI%`ž[‘•:ÎG²÷ËÊÊŒÑ dÜ‚o®}©F²-Œƒ-K€Ð²ökÛ8³Bhœ#S#à/`ž[€ÿ±Áwh†€f¸SX¥¸ ˜…@܈™q’ ˜ç€¤§›@Ë ´¬ýÅÚ6NÀ,¤çÈÔø ˜ç€àlðš¡ îV)nf!…7bfœ¤æ¹E $é)Àf#в-k±¶0 )€Æ925þæ¹E ø|Gf(@h†;…UŠ›€YH!Ę'©€ynIz °Ù´,@ËÚ_¬mãÌB  qŽL€¿€ynþÇß@  šáNa•â&`Rq#fÆI*`ž[@’žl6-K€Ð²ökÛ8³Bhœ#S#à/`ž[€ÿ±Áwh†€f¸SX¥¸ ˜…@܈™q’ ˜ç€¤§›@Ë ´¬ýÅÚ6NÀ,¤çÈÔø ˜ç€àlðš¡€Óàĉ²jÕ*Ù±c‡8p@***ä /”œœ¹öÚkeøðáÒ¦M›f(Å*µ³ÒÜ@UU•lذAÖ¯_/‡–“'Oÿ=ýôÓ2`À€èé몥²ºÎ˜.--]ÒÓÓ¢ŸS …€ynQ6ŒŠ‰p*|õÕW²páB)++“³gφÜÜ^½zÉ=÷Ü#ãÇ9N¤?TïZ%Å¿Z+éEªÓ¯‘3Ɖ+Ò‰ƒŒW¾e•,zéoRÝãv™ýP¾d'Ø X§ 6¯x «;ºNž[ðge”Áì«¥ºÓQm3ul³Ò\@yy¹,]ºT^ýu©«sØí¿ÿýïåòË/·jàs¥l*û“”®ø£¼³m¯Ïx®Ü<}ç=ò½ïäKïH\Ÿ9ûR)eËË[ÿ*—›ÿk¶ÜÖ/öï*[*Ëþ¡Ö¹Gã­çjuü¦»¤ÿ•WɈo “=c_ç`"± kÊmeùM5ynMuL1ˆ£€àŸÿü§<þøã¢C@¤¯›nºIžzê)éСC¤“Œ·¦8_y£Ü>ýåµ2i@$…\kŸ›–Há²m"¹S¥låäˆÃDôÓUKÙÒyò½Õ’;¢P¦ÜÖÏg=šúK妥2ªpYä³uª 7%âí|ÆñÓ,¤4‡ ï„ýò—¿4î‚…Úò7Þxø;êwsxÝÁuòؘiò¾9 ä»K¦.*‘ÉÃ{†#â*?–ñ£5 —•É”Á±Çë-Ë äžÅÑŸ[ÁÖ5šã9wôT™;ãnàJÜ’¦Üö`N 3Ï-À©cŽå €@#â>úè#™6mšœ;w.êµÌËË“_|QÚµkõ´R¹I FŠ*RX/רùRVt½õ=Ú[–OQ…” FX­@¤×£Ÿ®R–%‹UÉ*WÌWNíªF5~å–å2êžÅÆ4®¼¡òµ® LFÎt+ÏÝñö703Ç2 )‰ çÏŸ—%K–ÈòåË­í×ÕÞ~úÓŸßuðÕçKJJм÷Þ{’‘ÑÐþ©;¸F&ŒyÄ(ˆ›3]0]n¹z têP%{¶|,\Pâs.L˜ÿšÌ¸¾·9zlï¶P°¤Lºº1 ¶s+ØŠ7x<Ÿ9#_ìÜ {ËíSºdú²?ȤFûÜ¢ýý¿Ñ.Á™ñÍs‹@pæˆc) Ð(x€#GŽÈĉEWsðuîÜY¾ÿý﫺Éé²uëVyë­·üG1¾ßqÇò“Ÿü$èo Ü·j¶ÜQôŽß(CeÙÚ¥28Æ›±þ¡Ž~ºJy©`”,Pé%O€ÀÔkeòÀü´›ãW³’¨  öº€ÿöÛoûð\zé¥ò¿ÿû¿Æ°ï}ï{F€KJJ|Æ ürPæå‘RóË+”Ò%S$°6N¥¬Yø¨RêþÁ5A^+›!¡î:)›7Af•êC¤±wÄÜ ÷u.Ôç’:>Ûf¨ö8¥[V`R{n…[Œí÷È磲¼àVã<Ó“çM]!%“Úæd~TAÿ{ þAÐÇu—n=ÅA£jã\8¡Î…Zu.dgK·n. vjF²íMqž›[¯wóÜ"âuŒ1_hBx€}ûö yuu‡`¯ÿüÏÿ”Ç{ÌúièСÖgÿ×]wÑ€Øx¨ïu»^—až1~:ýeY:IdÊЉb\ûl°þ~¹Q÷~Ö2ÿ;.)(~V®>´B¦-Vµ¬Õ<|«Å:ßTo’)ªÎ¿yÖ÷Wß+”uG7ɲ9óeÙûÖ%Lkô‘ž“H/îF^`²a|ðN7R–½ù_²eÞ£²à}wáÒ3w´,úŸbn¬Lµ¬*ž(EoèqFÊËkH`“ {x‹®­…µÌ>˜…”D]°7 ÷ ¬¢ñ“®ôòË/Kÿþýõ¨ º·ºƒ®kêŠÕêîM˜ÀU½Ec÷xޱUhªeÝK‹¤hA©˜7'Ì q©cbÖÜ’?Àej0\\³TÆ<âm£2Sµå¹+ðÀ±æå=.#h›°o• ½£È3íXymC‘-@ÕÉ–UËdnÑ2ŸêSzä¼±ÓeÎŒIÒÛÌ2Ö¹«ÚXÌRξ¾P›~ç‚+O¦>ùS™|}?k]õ‡†@äçùAYZ0Ft%qÈ›eI`+jy}ö·å™wôiÜÝP½Þþ/óÜ"ü ¾#€@3ˆWÐ=þ4T}!š  CúÓŸ¤gÏÀ?iÁH?^8^(Ñ|½ÕÊTƒàYžÁO¼ö‘Œëí-Î÷j`°ùZÃ|@¬ÓYsó~P…³U8 ,ÒëQ\²du™\­Êwºw£oO( (Xyg¤?–«çH¸ò Ó^`Ѝ©'R/ûtî!¡þ?ZJ?š#ýù&ÕØ³PßÚP¯‚%o«zãÝ|':¸JòǸ·-ÜÝß #ûfRâô]¯Õ«W‹îÚ³²²Òzß¹sgd+©Æ3fŒQU¨Á T¡³@FC3·@Þ^ùøi|:?¦ç‡. ¯VwŪrnݳ°²Kžª*Sâ®*ckgã{ç¨R^>J~¦E²=4„*ï+›'wÌòÜáP«R¸èM™¦³ý¸ô]¯`¶À©¶m‰Ú6}Ž©–²FÝ-yÄs·$Ø”¢î¸”þe†q\‹‚Žé3pä̲à.ï†PÛÝy®îîËú7.h‡ªÍFj´m/£‹å£9·½#á³²Q|1Ï- ŠÃ†Q@ Qñ º:ƒîýÇ|eeeÉ×¾ö5£a£výõ×ËwÞiþl46¿œ:uJ>ýôSó«ñ>oÞ<¹ñÆ}†ý¢®JNWW%²GÞtu5s’ÑXµr“jèZènèš[°DV>tµÏäÛ_š"˜×Þódæ¢'åæ+sEÎuü•-³•fl Öé|nûR¾k‹ì9õ…Ì/,2þP玞.E“JmU[¹ôëÅ•¶Kf`\uÕ“¹†ÈÏgL”¼îrbç{òÜ£Eò¾yÉuè²vé8£ú’mí¦±3ÉwuRÕF3Ôª.è…êJ2-0¸FËÜg eØe9Rwô_²è¡ĸد¦´‰,SüYîð2z®*„äûB¶¿:]&%G—¿ö¹- ¨_¯H‡š…”xýœ Ý…­~¾E¬/ÝóÕþðéÞ½{ƒ³¨VwºFxîtE–ìû{tq©Ì¹­{Ø`RíÀVèµ´w½>[&,ß¼¬³TøDJžšfµpMP ÌP Ø,ÜËqIáÜgåÎa—I†ÚîV.‘Y‹MûEû¶{ï,FžËö—dÄÄÆâs',’•3†ûlòÁ²b3Ëí9U¿ÉMÜàÁ<·Ÿ/ Ð<â¾ýíoË¡C‡¬~æ™gä[ßú–õ=܇{ï½×'èöºÑp¸—½Nôèâ×TáÆ¬mÿƒªªŸ|¤ªŸX7öIñÐ;Äý§1W5Ž, h¹ELï1/iZ ÖéÂmEµ¼4e„è<â_/Ù§`2r¦¬^p—oo<¶jz)ÅênG¸B´½ÀnÍôïfaÞwº‘²BUéñi?l+ì{ ¨¶ê&ª Õ(Û;íj¬j»Q¶²é»5 )ñ ÕñÄVßízöÙgå›ßüfØÑí¡Öëv2ÕA–·ÛW÷tý›0Ø%çªã¯4àø+›=TfyÊÂæ•j{!x­êak﫳U4 Ìy2÷µ$ߪoÓð6ÚËH€µl5[÷øgl «ƒ×b¿ëç¹kæ[}oæË«U5%ãV‚µ²ö`doa-ßúwE$¶óü„,Ì¿UJŒ Þ»nîPwe¦¨»2Æ5oð²V® >˜ç€Ð‡³@x Ä+è'úÚøµhÑ"ã)¿‘nî:tݺuÖèwß}·Ï]ëŸöÂ¥úí ù­B¾­®­šfÂü·U7ˆî ÕÛ_UWÎ~aÌɺ¢ç3_ýÅ <¨ÓbœÎ·X° 5À»¾;U‡wúyƸ¡®«^\n RÑÿ躅rë´cÆþ"èÒlÝ€ûÝX°0ræËªZÃßQmõÍíÛa¿Y°HUrTݸÕ}w`䥲`œo]iß™ÇöÍ,¤Ä#üûßÿ–‚‚‚˜º¼5·æá‡6zÎ2¿7ôn/èFÓ]lùºy’?Í]­¦©€½ý½kߎºòíòÎ[Ë¡‘Ën¾S†«‚½UÎ+¹cOʬ_˜WþseIÙJ‰¦‡Q»KtÀ]epTÝŸeØÏ«ê8´/Ã8†¯Úïm¿²z=y èÖ¶[ öó|Ÿºûr‡çîK¡êšuŠ W¾NÆçO3ºŠäßûþŠô³yn‘3Œ‡ ˆW7nœ|ùå—Ö–Íž=;â§ûê®u÷¡ö:Ó<òˆèî|Ù®8ëñFJQ¥ ãÕ^¿¹LŒöoúûЙªzÌ]FõûsŸ?šî ­ÿ¯›§êNë:Áž?ÔªÔbõŸÍt±€rõ|Õ;nÞ¢±¦±²! ÞÖ†ø}°oêþþ!¥:ÈSiÍÉÒ³T¯H*XÙ§ ÚvÀV-Â|žÑ`+,íRwY&wYrUãÔ•ªqª¹Ä¦{7 )ñ………²iÓ¦˜Wö‡?ü¡ÜÿýO_¹å%uü¹«|DS¨«¶Uq·œ&»`¿+´Gˆ­³ Á¿Ûü|€ý¸Œ$xÛ7¸—Õ§·º ^‚Ëå2ª¬™‡£qÝÖµ±¾îU xð‡ z^öêFf{kۭЈóܧž¿·Š·[drTÐŽ¬9•^åˆ_æ¹E D|Ð0"$N ^`êÔ©²~ýzkÃtÕ†œœ« Àí·ß.ºÀd¾tÿæK7œÔu©í¯çž{.lµïWû”¡>{Û £ç¾)sBüu´êû ÑL{ÐWU/F%ÿÑòæ†9AzúPÛªà‚¾ýîF¡á×PÏÊwº O‚ ¹ªÁâlÕ`ÑÓ‰»*ôxº>•‘ªí‚ðmBlNƒƒÍBJS€²²2«[ÛW Èúܘ1c†è®q£z)_«°-І›‡·E䀭Bj˜6¾Ç„n`Ù±äµòxð]‡ Ç¥Ï"ì=)¹«óä}á ö>£†øâ‚†aÏ´kTõ§GŒšMÞöÖ¶[ 1ç¹½1°ž¼wí>BlÑÍs‹@ˆù bBpN ^à…^çŸ>ä†DÓ P[Õ÷¶~PX—.]BÎOÄ^_] WO´9í7~¦´A¶é+èê•7U=dkò`uAÚ{Å/ôÃjU‡v„»­bœ.|‘ÈûÛçʹª´\= ÌèD'NwBo¿ÛÌþÿ°­@…›]Á¢ÕòЕ%Ô#Æ•Ö ªZÐ ³Z}MðÙ,¤4uÐ Þ|ðA©SwN d4rס¢"Õ£‘íjq°MÐÏȺð¯gT§ª¥ 3„«@û¶º²ë©Me_ÎÁMkäx¯ëd`7uÛFìÕPTcÔÒµ2®_÷¸² ¡ö9Ø«Ïy ®ö i7>Ç„½ ŠÏìêTïHÕÆ´ô,ãn’UÖCUÛ–²Ÿ‘E#&xÚåè*{oª*{‘]¶öYÕ=éŸîI}VDêö©.ƒ=Õ}t÷™o«î33lm$ÆÎœ/c/í¤Q|[éС­1¼—zZ7ñ¶ð©Öæ»8ùxaê¡L÷ÃãíqÈÚv˾qç¹ýÏØùeR4d«:·¦¹Ï-[ÕG¿UkôWóÜ"}01ˆ¿@¼À±cÇD7Ö¢`¯hÀ-·Ü"?ûÙÏ‚ÍÆVþñRÉÀÝWx°^~¼#®Qua1ꊸÃuÛ¥ÚLð´«zõ(R½z¼lÃó‡:-Æéb¾uƒCÝÊ/Wmòcl`ä6?È€°­€=°¹ÆÎ•ÅÃ×ÉD£‡’Pϲ1 2 )MôªìٳǨ.¢«Œ˜¯;vój(üîw¿“+®¸Âœ$ªwë®”šÊ¥ªSýůkÇrUM(ߨ&”+O¼¼\†ì]¤ºÕôÔ¯·zɲ5µ†ù®ÆUýÍÝ%fàZ-o„§ZR°žhô\íÍö$V!ØS×9Æífß5 üö¸´&±ÝuRƪv,Ku;[U‘O¼¦Ú¢˜ XªðuPÖ¼órº]7¹zÔÕÒ­Îd¤êbsA°.6íáËÛµíVhìy~ÔÛxô²lÄ'Rhô¦ä̹E ØÎ>"€@sˆWÐÛûÔSOWîƒmûw¾óyòÉ'Ÿª««eĈÁF]=â·¿ý­ èí7;pDûLóª¦ù„ÿ±mWòÕOחº*úguUÔwúíö^I¬?Ôö?èÑLç¿NþßmwüžNjo@«¯”ö´KŠ¿¥®œ•}»ô_ŠùÝ^`šºb­z˜”ï¶›ãù¿Û§  ª>ôRõLãÉEÞ9‡n„í§1ŸâB­W¸ðꫯJß¾}CMÞðp[_üzÄ¡S—ȯ'_mu­jïyÆFÓÕƒÃ&yaBƒ= JˆÇ«®[Ý7Îbï†W]åžÿv‰xÚÚ{_'«Tõ¯"£ú—·žµ|¿;[Þà¡&°*ý¸ u<ë†È¿ÿéTYlõ™kÛ.Ÿ»$ê!w«¸Ÿ{`´¯™ê.Ê]9ŸYmôh3•í]~á8¨ži0f–ç™*¬™ýð[Ûný»¢3ˆ·ËÎXÎó`û=T ³mV£>šç€Ð¨‰‰@Àx]—_wÝio lnUFF†Œ=ZÒÓÓEìÏ 0ÇÑïºQ¤nÙàËÖÃ…DÐ}¤½«P³PqÀ§ïò\õ4ϧe¼§ïrÿ>¼ÍFÀúJ¾ïÚȧkp{ìU}TßúÅÅwH·¶ÜÏнYÕ>ôs åÙwJÿõ€Ï>’%Î Úй¡åÙ L# gÊíý3UN¡§8+™òÑ×Kö¿½u¥c uê)¬Ã¬§°º—g/”†^ƒØ1 )ñ¸ÐÐZéc\Ëúþ¯U«V…íóßû÷ƒkª>ëݽ>ÃÕs"æN'CûçJVz¬ž3J= Ê>…:nT?ñe¶~âíZ}L-~úû’›Q'{?ù›<=í¶‡Ó٠ʶ€gßÿ¾mq†ÊËÔSÕ³!¤b¯üiÉÓ²à ÷ƒàÄv·!X!ØXcŸ@¡îÙ©6:E!Úè˜[h?žó&¨î{¯êaõHvöô!Ù¾î])õ{‚¶#o£Y=Wµ K–Qy¹’VwB>ùÛ 2Íì¥Èü÷Æfá^õõôð;¿y™dK…ü«ì·òÀ3žÂ¿Á~œÝvŸê]1œçöÆÀî#¨ø]ØðüÔ$oæ¹E 4ÉÅL@ ¾ñ zÍ·oßnàOŸö¯~»t_èºOt} ¡×ö—Ôã}cªò|ÝGúü±ÎUW)Wª«”‘=½ÔXÛ•:UQ!¢§žN×ÐyïxDz? øuõ$àgÜÓòŽà÷)¶'ûÍ$ÄW—,RO%¾r§·?y{ÐšÈæìÛ–ÁÃÖÛ‰1h‚jØ<#xÃfs’F¾›…§€^íÛn»MŽ9°kÖ¬‘ÌLÕ>¥¯]e eÂ,[7¯Ü±²ìùÙ2Øh F¶‡è§ t;ƒ…ãLjçaÃ!æ¦Î;õ¼ë=ÝØnQOˆ¾G7nQç–ù 0sB{õ>£*P™zZ¯·–•9šõnÖÀ\2}I‰LºÚ¿}:¯g“_X݆ŸÕû—íX>¦wh^á)™rµ5 Ô¶ë½Å~žÛ«E© ò¶z®F&"Öz4öƒyn=–˜ˆwЛ°wï^™9s¦q¥?’MJII‘{î¹GtOBá ÿF|Šù€›<Õ}dIÝGÖÉšâ òˆç1µÞF{•²î¥ÅR´ 4 p=²°XnWMg-Û [«' O¶=€+ÖéBkTï[#?ô´¼¿×S—GFËËkçÈO휺£›dÙ‚ù²ìÏÕTÛ¬Fõ´×;ûì³ ²ÓOý]½zuÇyx•ê}Ëï–, zLè©s‡Ž–>§×ËûÛÌcJ?mùÏêA]î¥|û*™5µH6˜?{9tB±<<ú„L,Ô]Žš=˨¶ýØóM¹”-'s—½p.åŽ,”§Ÿ*”.Ý(Ùý²î¤Ùî ˜¿© ÷R¦Î×Yžó5\—§á€Ë•+ý¯&7ÝxƒŒ¡êç€ÓÄD ଀@oQMM”””ÈÊ•+ƒ^Õãè‚ÿÕW_-ú)À×\s” Wµ=xÂÝ~ZºtîÖM²¼e•Ö)Öé˜e˜Ÿêª+å¨ê2Õhk­Öµ›ZWÝG?¯àf!Åé {ÄÒ=cÙ_ú—~ð×E]dÜøÏÕå²ïÀ~ùêT•ꥦ­´U!£G¯\ééÒ%Ý:Y·ü1™¶XNÕUá7K§ˆï³äê¤üèQ©¨Ö÷Ó$[O®FPÕR®Î¥ Ogé{J·ÈN¦Æ;4Ùì&"éÙݤ›ai[€=,ótZ§Îͣƿ#iéÙêÜtYm3lSFô1–ó|Óò)R¸X]°Ð=…¹kÑJ„É<·€0‡ ?#€@sp*˜ÛZ__/|ðq7àÀRQQ!^x¡ñŒ€k¯½VúôécŽÊ;M.`Rœ÷ÝwŸlÞ¼ÙØž‹/¾Xôƒíôñž¨×¾M뤶ÿpé§²ðj¼€Oh¸ëÑÆ/,‚9ØÛNØG0eÌ£˜ç€óAÄ„ àœ€ÓÀ¹-cI ˜…§Àºuëäé§Ÿ6ªé.pÓÒ¸M¸wZðfv­yU6žÎ”o<'%žº\öÇñ6Ï- žÇóF& 4$³if!ÅéÐ"pXÉØT¯;ãG=`´Ú >ö9G1e¹,ÍÏ—eö6vÅBBŽjž[@ȃ„@ ùšÏ¾`Mâ/`Rñ·N®%”˪…‹äo{ªåæÿš-·%¤n•zÊì‰òÌ;ê‰ êatCGß/O=|—_øíóÜ"âw”1gh2@“Q2£ `R-`g±Š-JÀ<·€uಲ$« Y÷|rn·YH!$çþg«ã'`ž[@üŽ2æŒM&@h2JfÔÌB  ì,V±E ˜ç€Ð¢\Vd $ëžOÎí6 )€äÜÿluüÌs‹@ˆßQÆœ@ ÉMFÉŒZ€€YH!´€Å*¶(óÜ"ZÔËÊ"¬€dÝóɹÝf!…œûŸ­ŽŸ€ynñ;ʘ34™ É(™Q 0 )€°³XÅ%`ž[@‹:pYY’U€¬{>9·Û,¤’sÿ³Õñ0Ï- ~GsF& 4%3jf!…Ðv«Ø¢Ìs‹@hQ.+‹@² ’uÏ'çv›…@rî¶:~æ¹E Äï(cÎ Ðd€&£dF-@À,¤ZÀÎb[”€yn-êÀeeHVÝ»wËùóçeðàÁ’ššš¬ lw’˜…@’ìp6ÓúúzÙ´i“¤¤¤Hß¾}Yf¤ ÑßôúmÞ¼Ù˜$???ÒIc/E-ô|$S—••£ 4Èø¬y!€Nìß¿_jjjD_µéܹ³‹d$L€0zÜŠNœ8!únrûöí¥W¯^ÍjK Íjw°2 Ð\N:%ÇŽ“víÚÉå—_Î]€æ²cX¸âÂÊL“X@_]ߺu«œ={Vºví*;vlV€fµ;Xh.úÇwtèÒ¥‹ñ_FFFsYEÖ& 4%3Jr3gÎÈñãÇÿtá__ýÏÉÉ1ª5'@sÚ¬ 4+ºº:9|ø°šÕб2 €Í^@þ{ôè!iiiÍn] Ín—°B Мô?’RUUe}[— €Át§ºàß¡CÉÎÎnvWþÍu&˜¼#€ € €$ØÉl" € €¦À”à@@$ $ÁNf@@0¦ï € €$ v2›ˆ € €€)@0%xG@@ I°“ÙD@@L€)Á; € €I @H‚Ì&"€ € ` L Þ@@H@ìd6@@S€`JðŽ € €@’`'³‰ € €˜S‚w@@’@€;™MD@@À ˜¼#€ € €$ØÉl" € €¦À”à@@$ $ÁNf@@0¦ï € €$ v2›ˆ € €€)@0%xG@@ I°“ÙD@@L,mÚ´‘””s½yG@@t8wîœlڴɘ:???†¹D7IŠZèùH&ùûßÿ.zÔAƒIjj* 4ÆA@@ ]¾®¯¯—Í›7åë›nº©±›æ§ˆÀ| gΜ‘Ë.»L:tè@hæ‚ € Ä:TUUÉgŸ}&rÝu×Å]#âðÉ'ŸÈ‘#G$77WºvíJˆû®a € €­]@€cÇŽÉÞ½{¥{÷îrå•WÆ}“#û÷ï—mÛ¶IÇŽ¥ÿþ€¸ï€ € ÐÚtعs§œ:uJòòò¤W¯^qßäˆ@mm­¼ÿþûF;½rú/@@ˆ]@W±×Ùu;#GŽ”¶mÛÆ>³§Œ8èùé•Ówºté"_|1w"Df4@@üôÕÿ={öÈñãÇ+ÿú"»¯¨@uuµ|øá‡FKåK/½Ô¨äÄJ² @@Z›€®ö³cÇ£‡Ík¯½VÒÓÓÙĨ€^#Rt=¥víÚ=9q›Â ‚ € €€Cºz½îùçìÙ³FûZ]»Æ©WÔ@ߪظq£”——Ó Ø©½Är@@Z€½á¯Ëå’!C†8Zµ>ê åkjjdýúõÆ{§N¤_¿~ÆÓ[Í^aC@@ˆƒ€~êï®]»ääɓҾ}{¹æškŒ÷8,*ä,c znòÏþSôí Ý#PŸ>}$333䂸@@d8}ú´|ñÅÆÃuu5ú«®ºJ²³³'‰9è5Õ¡¦ßu×E;w–œœÇSŒãj,@@tí™ȉ'Œ.õõEsýÀ¯D]½KüÔdÀœµîÊHW ª¬¬4ÞõgýŸÎ @@Ö, »Ê×U{Ìÿ²²²ŒÏzxsy5yh.Æz € € €@  Є! € €´Z@«Ýµl € €€@† € € Ðj­vײa € € M‚ € €@« ´Ú]ˆ!€ € (@4a € €­V€Ðjw-† € €@  Є! € €´Z@«Ýµl € €€@† € € Ðj­vײa € € M‚ € €@« ´Ú]ˆ!€ € (@4a € €­V€Ðjw-† € €@  Є! € €´Z@«Ýµl € €€@† € € Ðj­vײa € € M‚ € €@« ´Ú]ˆ!€ € (@4a € €­V€Ðjw-† € €@  Є! € €´Z@«Ýµl € €€@† € € Ðjþ?l>7Aˆ‘«IEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/part4.rst0000664000175000017500000003332513656750211024706 0ustar zuulzuul00000000000000Part 4: Refactoring code to use the Application Framework --------------------------------------------------------- Up until this point we wrote the Plone application in a manner that was common to all applications that were written before the application framework was introduced. In this last tutorial step we are going to refactor the Plone code in order to take advantage of the framework. Application framework was written in order to simplify the application development and encapsulate common deployment workflows. This gives things primitives for application scaling and high availability without the need to develop them over and over again for each application. When using the frameworks, an application developer only has to inherit the class that best suits him and provide it only with the code that is specific to the application, while leaving the rest to the framework. This typically includes: * instructions on how to provision the software on each node (server) * instructions on how to configure the provisioned software * server group onto which the software should be installed. This may be a fixed server list, a shared server pool, or a scalable server group that creates servers using the given instance template, or one of the several other implementations provided by the framework The framework is located in a separate library package ``io.murano.applications`` that is shipped with Murano. We are going to use the ``apps`` namespace prefix to refer to this namespace through the code. Step 1: Add dependency on the App Framework ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In order to use one Murano Package from another, the former must be explicitly specified as a requirement for the latter. This is done by filling the ``Require`` section in the package's manifest file. Open the Plone's manifest.yaml file and append the following lines: .. code-block:: yaml Require: io.murano.applications: Requirements are specified as a mapping from package name to the desired version of that package (or version range). The missing value indicates the dependency on the latest ``0.*.*`` version of the package which is exactly what we need since the current version of the app framework library is 0. Step 2: Get rid of the instance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Since we are going to have a multi-sever Plone application there won't be a single instance belonging to the application. Instead, we are going to provide it with the server group that abstracts the server management from the application. So instead of .. code-block:: yaml Properties: instance: Contract: $.class(res:Instance) we are going to have .. code-block:: yaml Properties: servers: Contract: $.class(apps:ServerGroup).notNull() Step 3: Change the base classes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Another change that we are going to make to the main application class is to change its base classes. Regular applications inherit from the ``std:Application`` which only has the method ``deploy`` that does all the work. Application framework provides us with its own implementation of that class and method. Instead of one monolithic method that does everything, with the framework, the application provides only the code needed to provision and configure the software on each server. So instead of ``std:Application`` class we are going to inherit two of the framework classes: .. code-block:: yaml Extends: - apps:MultiServerApplicationWithScaling - apps:OpenStackSecurityConfigurable The first class tells us that we are going to have an application that runs on multiple servers. In the following section we are going to split out ``deploy`` method into two smaller methods that are going to be invoked by the framework to install the software on each of the servers. By inheriting the ``apps:MultiServerApplicationWithScaling``, the application automatically gets all the UI buttons to scale it out and in. The second class is a mix-in class that tells the framework that we are going to provide the OpenStack-specific security group configuration for the application. Step 4: Split the deployment logic ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In this step we are going to split the installation into two phases: provisioning and configuration. Provisioning is implemented by overriding the ``onInstallServer`` method, which is called every time a new server is added to the server group. In this method we are going to install the Plone software bits onto the server (which is provided as a method parameter). Configuration is done through the ``onConfigureServer``, which is called upon the first installation on the server, and every time any of the application settings change, and ``onCompleteConfiguration`` which is executed on each server after everything was configured so that we can perform post-configuration steps like starting application daemons and reporting messages to the user. Thus we are going to split the ``install-plone.sh`` script into two scripts: ``installPlone.sh`` and ``configureServer.sh`` and execute each one in their corresponding methods: .. code-block:: yaml onInstallServer: Arguments: - server: Contract: $.class(res:Instance).notNull() - serverGroup: Contract: $.class(apps:ServerGroup).notNull() Body: - $file: sys:Resources.string('installPlone.sh').replace({ "$1" => $this.deploymentPath, "$2" => $this.adminPassword }) - conf:Linux.runCommand($server.agent, $file) onConfigureServer: Arguments: - server: Contract: $.class(res:Instance).notNull() - serverGroup: Contract: $.class(apps:ServerGroup).notNull() Body: - $primaryServer: $serverGroup.getServers().first() - If: $server = $primaryServer Then: - $file: sys:Resources.string('configureServer.sh').replace({ "$1" => $this.deploymentPath, "$2" => $primaryServer.ipAddresses[0] }) Else: - $file: sys:Resources.string('configureClient.sh').replace({ "$1" => $this.deploymentPath, "$2" => $this.servers.primaryServer.ipAddresses[0], "$3" => $this.listeningPort}) - conf:Linux.runCommand($server.agent, $file) onCompleteConfiguration: Arguments: - servers: Contract: - $.class(res:Instance).notNull() - serverGroup: Contract: $.class(apps:ServerGroup).notNull() - failedServers: Contract: - $.class(res:Instance).notNull() Body: - $startCommand: format('{0}/zeocluster/bin/plonectl start', $this.deploymentPath) - $primaryServer: $serverGroup.getServers().first() - If: $primaryServer in $servers Then: - $this.report('Starting DB node') - conf:Linux.runCommand($primaryServer.agent, $startCommand) - conf:Linux.runCommand($primaryServer.agent, 'sleep 10') - $otherServers: $servers.where($ != $primaryServer) - If: $otherServers.any() Then: - $this.report('Starting Client nodes') # run command on all other nodes in parallel with pselect - $otherServers.pselect(conf:Linux.runCommand($.agent, $startCommand)) # build an address string with IPs of all our servers - $addresses: $serverGroup.getServers(). select( switch($.assignFloatingIp => $.floatingIpAddress, true => $.ipAddresses[0]) + ':' + str($this.listeningPort) ).join(', ') - $this.report('Plone listeners are running at ' + str($addresses)) During configuration phase we distinguish the first server in the server group from the rest of the servers. The first server is going to be the primary node and treated differently from the others. Step 5: Configuring OpenStack security group ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The last change to the main class is to set up the security group rules. We are going to do this by overriding the ``getSecurityRules`` method that we inherited from the ``apps:OpenStackSecurityConfigurable`` class: .. code-block:: yaml getSecurityRules: Body: - Return: - FromPort: $this.listeningPort ToPort: $this.listeningPort IpProtocol: tcp External: true - FromPort: 8100 ToPort: 8100 IpProtocol: tcp External: false The code is very similar to that of the old ``deploy`` method with the only difference being that it returns the rules rather than sets them on its own. Step 6: Provide the server group instance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Do you remember, that previously we replaced the ``instance`` property with ``servers`` of type ``apps:ServerGroup``? Since the object is coming from the UI definition, we must change the latter in order to provide the class with the ``apps:ServerReplicationGroup`` instance rather than ``resources:Instance``. To do this we are going to replace the ``instance`` property in the Application template with the following snippet: .. code-block:: yaml servers: ?: type: io.murano.applications.ServerReplicationGroup numItems: $.ploneConfiguration.numNodes provider: ?: type: io.murano.applications.TemplateServerProvider template: ?: type: io.murano.resources.LinuxMuranoInstance flavor: $.instanceConfiguration.flavor image: $.instanceConfiguration.osImage assignFloatingIp: $.instanceConfiguration.assignFloatingIP serverNamePattern: $.instanceConfiguration.unitNamingPattern If you take a closer look at the code above you will find out that the new declaration is very similar to the old one. But now instead of providing the ``Instance`` property values directly, we are providing them as a template for the ``TemplateServerProvider`` server provider. ``ServerReplicationGroup`` is going to use the provider each time it requires another server. In turn, the provider is going to use the familiar template for the new instances. Besides the instance template we also specify the initial number of Plone nodes using the ``numItems`` property and the name pattern for the servers. Thus we must also add it to the list of our controls: .. code-block:: yaml Forms: - instanceConfiguration: fields: ... - name: unitNamingPattern type: string label: Instance Naming Pattern required: false maxLength: 64 initial: 'plone-{0}' description: >- Specify a string, that will be used in instance hostname. Just A-Z, a-z, 0-9, dash and underline are allowed. - ploneConfiguration: fields: ... - name: numNodes type: integer label: Initial number of Client Nodes initial: 1 minValue: 1 required: true description: >- Select the initial number of Plone Client Nodes Step 6: Using server group composition ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ By this step we should already have a working Plone application. But let's go one step further and enhance our sample application. Since we are running the database on the first server group server only, we might want it to have different properties. For example we might want to give it a bigger flavor or just a special name. This is a perfect opportunity for us to demonstrate how to construct complex server groups. All we need to do is to just use another implementation of ``apps:ServerGroup``. Instead of ``apps:ServerReplicationGroup`` we are going to use the ``apps:CompositeServerGroup`` class, which allows us to compose several server groups together. One of them is going to be a single-server server group consisting of our primary server, and the second is going to be the scalable server group that we used to create in the previous step. So again, we change the ``Application`` section of our UI definition file with even a more advanced ``servers`` property definition: .. code-block:: yaml servers: ?: type: io.murano.applications.CompositeServerGroup serverGroups: - ?: type: io.murano.applications.SingleServerGroup server: ?: type: io.murano.resources.LinuxMuranoInstance name: format($.instanceConfiguration.unitNamingPattern, 'db') image: $.instanceConfiguration.image flavor: $.instanceConfiguration.flavor assignFloatingIp: $.instanceConfiguration.assignFloatingIp - ?: type: io.murano.applications.ServerReplicationGroup numItems: $.ploneConfiguration.numNodes provider: ?: type: io.murano.applications.TemplateServerProvider template: ?: type: io.murano.resources.LinuxMuranoInstance flavor: $.instanceConfiguration.flavor image: $.instanceConfiguration.osImage assignFloatingIp: $.instanceConfiguration.assignFloatingIP serverNamePattern: $.instanceConfiguration.unitNamingPattern Here the instance definition for the ``SingleServerGroup`` (our primary server) differs from the servers in the ``ServerReplicationGroup`` by its name only. However the same technique might be used to customize other properties as well as to create even more sophisticated server group topologies. For example, we could implement region bursting by composing several scalable server groups that allocate servers in different regions. And all of that without making any changes to the application code itself! murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/plone-logo.png0000664000175000017500000001515113656750211025700 0ustar zuulzuul00000000000000‰PNG  IHDR WZÛàtEXtSoftwareAdobe ImageReadyqÉe< IDATxÚì1–Û8¶†Q>—^<9á‹L¯ èX½ÓÉK[^éXN'iÖ F^A³WÐr4áÐÁÄ#¯ Qué’««J”€À÷Ããé9%‘.Ü{q54A^üíÿºÚûÏÅp•?ÚËuÃþï§5 ˆW^ ÿ"ŽË£€ì†k;þ7B‚P€.ïÀ Bµ'šèE<ìÕÙùFÏ!àO.EÆ«Œô§Œ¢qs!¸ #¬(,å߱±±× _èu„¦‹C-âPdöó{ ëi|Æ øQž‹8ÔŠÃ!Ñhñ4ŠÜâˆCEk OÖžÓ@(²ñV" Zä(vâe4ƒ`|¥9Šâj/¼€óéD0¨×@(’ˆ†ð«`Ø<Æ5MP pˆÞ†tÌ– ±„Þ\#„$<$—"5­¡‚x$= 5"ñÞÜÎd0‹¡þ­™VE(æˆ+ñ"JZC5½!PÌf4âE@\áHwP„ò"ZC©u¬ìD,ð. ¼À»@(Â‹Ä ñ"RÎEôfo«;¡HÜsêE,˜JE(Î »pË&,cÑ·§Ûš»íênþÿcGSñªF±,ÍÝž›öß*ân¶u°v„âÔP#¶ºˆÎÜm=· ½<[¼•æn{¾˜ÄƒP¡8I$ºBqw¨N«ûÙ.]ÖóZ²ÿB1Õ°;Å¡ÆÆÜm÷-²¶½Ü¥Ò6fV¡ˆ6­8hï×"ûš©Åc"Ñ*sƒÇ]¾&Þö—"+eáž]¾þ–·¡ õWE£š {Ö¹º¾ 7øA, U"ÑŠ@H3ßgP%}“ýŒÈ"1»!Z`Hý‚ag˜ª\Å⑘5ÄXáAD%ÙŠÅ"œÞP6|NßͽÅ`–bqHc'9J…ÝôãœSÙÙ%8/23®fžÕŸxä!Üö§VmÍíÔ*bP8Ú¼›¨üØ5/imØÓ§öHáV;ƒw‘X\d"Ö63IJKß^„$ùÆêÆòÈç³/W]3zYTp^d s¬Ý°¹ˆw<‡Æ¸Iêmä™O ¿‘ÜEH–©È]$.—2rC ¯ ŠÄƒhŸ¬[ÜÏ08Ø~¯Ržê~–¸C± (ã´™O‘x3ÞÇ×Èh¿_î-òÂæn“ßXAje`B("U>špsíïE¦uÛ£ähô#‹oÃõÒ„K`—F×¢BB /UÈä¥÷Ì÷ŒµIdõ倦&ÐíV!g¹Šóbøm ø4DÒrîRóTÄ"äôx™Z¾"ÅУ $u‘xoæ_ UËLBÔÈf¨¶Ü¤–¯HJ(äۉĵçßrÐ]>è9ÉLb1BQß!÷^¬:'„H\}‰±6; (+{„"CCU…·2úÞ)cŸ6A,’™2MB($äð½×bB$İ´[˜Œ;H,’ Až% ϼX!3ÿZ·±¿1üT¼Š=±ð]îD’‚Gá{O‚màéAí‡ /MBÈÌUÀFн‰+φۛ€;)Ý;Û¡+Î>Ë½ËØ§˜c÷(|Žv¡Ï2ð–gU žR6_¼Šo"€;·ibNlF++>G™ªëÊHš¿2‰!+f}zK‹ÂÊ´„bï¤qožÊL›‘Ä" “ ²GãÙ«xŽP„)}k?£òÇò–&QdócŸùŠ&Æv‰N(Ôd}"Üà3_QÇèUÄèQøô&Öœ·’¯ð‚ ñz½Il!Gv©ÿ@ÙS¢Ã«ˆÓ£ðYµ¨!äØFÒ[“«H¿;{¡ð5âo”„}$ýЛ éq_6WÇTWPÈövEâêŽG¡µ§PËzÆ5BÏËÜhÙž^¼íñŸÓ 쎮"³é<…B?•‡¯Þ} v6Ê»cc2CŠï|„[E,åð±x¾”w­°f¢UÞ­É“ÆÓ÷F~Ä">jð5zcøÑ)í‡.§°#WERS½PxLb®W`6šÙxð%B¡«ñ6Zê&&ˆÅ£à¤°\˜Oø&[G(Îb‹‹ç‹Ñ“øŒ<ñH+ͳj…BNþrvìfڹʅX”&\ÎÂæ$*DâIOÏGû¡À›paœE€ß`¿¿$Ü8Hëë@(t4ZÔç+Øøx¸~–¶éýV¼ˆŸI\Î6訊 šǟŽÿIÉReV¨>Óû²ÏÎ^§µÿÆýþ¡…ÆdûOJ;ÀÇB™ä3IáóÞ¢¹J ·<à9Ø«3·3@xç…®½TÛ‡×Å|.X²«eºÞ7°û§Žiñä¹–{‚öX_ïöEMibµódûê„Beè1Ó?ûdæ‚Ñsv/quF¿îö¤/Š~׿۵Hö¬Û—ÚúOk2ÓuÜ×!ó „ÄòÝ™â?îµ¾ï7™>OÑ«PyfÊ3…†uiܯíxeÃ÷£x†ã¯D0Þ§~hÜÌF£GáCQ·¼ºAEÂŽö½ñ_@dèûcæU>l«ÐÖ§¹E8‘x#/Ï" ½lç E$_²C(Â㺑zòAE¢áÖV”ºó®½Š ¡ïQv„ 7Úa‹9V¹öXñ(fh$„¿H\* ï3=GP p˜Ö„ËIôHg˜ q-FÛŽWª„“۸ã=öÚgv*OÛòèUà-ù™m…ó;ñ&´a½›&ÔÍrH–?ÃÎáLo¢Púxu`¯¢sü}BÎÝ"?áÙÅWþ|Kº¡˜ù‰¼_Ä:དྷ¶5B8'ìÐN°®Âµ÷ª*¤K](ð(üQEòœe¤í‹P„/`EW!0 š¡@С„`„„6BÅùt±7b™Qêé*„¡@(RyN„’¤‹àwÏY¤Ü¾œ„œN¦Ý­y:\™rk ×*ZñJ{¥E(=bŠ>ðy¥®= UÞš6¡p>ç­èè¹TíbѾŸëBñ„á}‰ áGVF_Q“=è7؉à9 F9„ï²Wq·ûEÖÊ+ôó,<´«ª½^5 Eçøû ^gïbñYQ² 8%êk0RWv®Q(’?Ç1ádîâ¦v‰O3Ü7ùÓí4 Eòç8&‚T3¹‰·3Ý;é\„‚™ðbѾõz.‘=9]{­ÅL„WP,†ë• 3=iÃÔz¸ß»²Ûê´õë3…†ö%’΄§ûñƒ¸ä¾ŒÞV]–!§AÚÅLŠŠPÌ$úâ]ÔCJkÕð½?KÁ×ܸ¶­’ß…P¸ÎS,ÈSÌ*×ÃõR<Œõ #¦µ;«RXáÑRc ù ׉ÌNcþ¤Ø£p}\=ÕêKê/åÞy Å#/\?CÁ~Xió ïä\ÐboDŸykî¦È­lì㤴-B1ocÙNý 0<—ß¶œêŸcü›kŽQÜk{Å|Ú¼¡PéQ\(~þmÜO;ã¿3<‡•#cm‡«I¥möÁãòí¡T¾“š×zøPÖeÆù|¸~“öqõ{j’ ßû1àY±÷Ãk“ø®V±…MGêÈó Ë*O·X‰`\!³Ø’Úvró(ÊXg?†çþÕÜÎø^6o¿¿Q‚‡ûâ2§ü„j¡›†«c3J 5B?÷ZÄ ÂØÐl³Q±{„·´f¾‚±Úæ-Ð…C´lÂŽ\…Â_½‰Ä›øhæOÀ®bi¯@}2Ö©øŠÃ;]磦¢‰À _{¹N Cž#Þ¼ ÕaG …/¥-4gö%Y¦i„Yý[ó‡è—çž<<õÇ ä*Ú½Š•Ñ·)p%^NÎ4‘Ùx>B!³O†¯Î«ob¥´;Ö™{µ‡¯Þj;bñ(ró*j£÷ˆ"ãb¬l½‰h„Bvyî3ñ*jåÝQ›Ì"=_¿¡ˆ¤A[EiÝ[í‡Ý.M~ø ¹ZÅKè£ _U(*W®"臬6’n™Mç+¢¼¾FÿFɪÉ2’î(MˆMøz™»’˜1z7/´¯QRIË XdâP¬<þÖ&¦†ˆJ(<Ÿž½dy5ìy/<¾Ì[mg‹¦æQÏ#ËÆ-“¨2ø>í,ºz”è„B”ØWÉka(UžBŸ¸7ñÞc¸UpIÅ;úbÉjÉ|…BÂÏ&RÛE(îy>s7®áL«%wæ ß‹ñºØr±{FTß׋egA63ä+¶‘´ý֤ɯøÑibm˜h…B¼ ŸI¡Ò„O:!óy6/Qy¼E«7»GaÌiÇÓC¸j³‹A$R;ÿCrR>Gû]ÌÞDôB!Õš¾“CëPÉMKê]»ç)‰Ä‹žã:vqÝ£W–vÄâ/â­ ˜HXÛñ¹¬ßz`Ñeù,‘>¯ßƒñ¬ ïb!sì½V‘HèHÆq†Ã÷Þ«Ú+ ¡ãõ Åñl“HXOÂ÷ÚšuÌ Ì= +Ÿ„ AÄB¼ŠNY¯Sð&ŠÄ6aMJ(… !=‹¿%+£(7ý˦4Ù …Œxu€[y‹€¿å»Œ>°H41í51… “ rffè%ª|…LͶ3ŠD»ÑšÝ±eÚ¯R{§ž™4Y™0Õƒ£gá­ÎBò5"…HØ6KrOÑ$…BÜäP1þÍîXRìS,–s}""ñFŒPÇT)å%’=ö ÅnŒ²€iã3ž—­6 ©bý †Ÿ#uŒûL wcGú&à-·b4¾óö7ŽŸ{û¼¿ˆ©»ûÚB´·)¿GÉ ÅL£ËÍ" ©íðíZ¯Î|)6bèŸñ [ö¤5[¢ý2õw( ¡#úÄßå:ˆ¿wÊv%¿±8ØÊ³u Q5&|¹ô6å¼D®Brý¾wQ‡±%Û¿?²ö©-—ßy%^D1C¿–)¶iÖB1³XŒÞÅ*ÃJØ‹E¢J­¨ ¡øëHÛ™yN ·¶NaÙñÌ}hs3ëû0+‘ÈR(ˆÅ˜'X¥@œ!ÌX›ùNTËR$² %baäþM*K‘=÷•ˆjÆÇÈV$² Eb`<Ý?6QÏü(Y‹DöB!Æ8GÎS‚Ѧ\áwDˆÑGf/ÅaÎ9ò½¹ò[ç0G¿×Kã¾âôÜ~Xæ.Å_ µ5úVÿ%S9ù„÷PK»/=Z6ÅTÅi†ºÜûØŠÆ&vÑÜÃ(…ÂGLbaBáßçÜ,æѰá’ú2lñÖ*mžÃ}l¸÷Ž·¡8Æ%Þ(7ê}7y+±;¦–q)âP=¹ŸCâ»Ê=‘ŒPœ>v‘ú}:~ü×µç!‚PHû,öDaY[yß¡ÈC0>šDr‘‘sÜ&°7Ó*öò …ÒÜÂ)´âI@(² E€P¡˜9±#Ð’ÖˆšNB Vò"^cŽ”Àá}ç1„î{v¡RMkàE pH0æÚa ¦Ñ–ô#Šãs»NpD¶?ÖÌh Ãkœ+ZcV¬‡×f Úã¹FMk¥“0ƒÂ)„Á€‚  1Z¡HQ0¬XØIÏÓWÎ’ƒ@(²7"­1 »>ÅÖ­l˜Å@(rõ2¬‡¡u ÞÚ%Bw¢ñÚı¹KqØP$…PÀ4Ѩ2ñ4zs;s8 pfx2žV^%âmtæîDu „<Ç s·›TÇa=†ý­ú˜ÎD(`á¸Ñ(ÍÝÖtslI7îžÕï…[f) ˆÃûX˜·¯{HDª'B„Çþ¿ïÛêá%ÀtTm…'»MnµóµóóÞþ•OÑsÄÄOÊž§6·‡ù†%ûϸ3tçð<‰Ò<¼Ïä>ö7~Àü¡ˆƒq·êÕ ½¹={Í®Ñ?òŒ&øN!#}?ˆÆ/4Bñvûõ ¿I¾¡  ¥®­œ‹€PÀ“áH'³1<ŠlC gbœõø~ŒÝ!űؙ‘f¸Þa2€PÄ=ôöÕ9_0xWæ¶f£>âcv µõU¨@è¡ { îp½5’ƒ8⣠&E~‚ñU¼“vâG–$6¡ÈW0ÞáY,i1@(ò¥F(ŠƒaÈĤ¢µ¡È›Í”?"O¹ñMðSë3ŠáŠn? ™Ÿß^½\73AJŸyëÍí×Ñl5¬ô±]Š3ÃÙ§" dJ-/XyàoG¡ìlæª^døÞ?üIw¿.Fž{%Ï]ø~çÏì¡]{ñV7± B‘ ƒq¾1·5Å‘½¿?G3öuà‘¹1ÇåöŸÙ ÆÊãîe§<ßèi¬æjW„›óóÛÜIkÜ$\­q·ÃwÖ>_¾½voäe:û»íŠ_û¼Ÿ?Ÿm×eLíê’™¦°S(¯%t¨µý¾N¼,$tX9üN»ŸÈ¯Ì޸ŸÛõ5B“ŒAÛ( /ñF^:_/sëI,Ê#úêáy?:‰Îs»n<Š0BáÉý­'üéVÙs_™é%èçÒÆ2 «SŸWÂ8Ÿ"q¿]¯Š8h&E§LÜ6oÛFVG²>ñsÇzh½ØÆxõÇÞOsŽŒdæë>5Fn=z{„1ïÄøïq!ñòrâw-侯<þ.WÏzóÛ¿ÇÌ2 ÿ~b8´!j:§EµÛZLlן áFs„HtZòâªNM°Ù—®~¤8ÉÎë_Û™‚#Ú¢²÷÷T`ŸaíðYüÝõ61å{­ˆ-Ÿ*øñø`÷1‘>8$>KíŠPœÖrG±ê©7e4ƒ'LíėϵAûzÖÒ ÀÄ*Î)£++Ž'!…|•ˆK9C»f)…¸†§P™»2Ûcé´(ý‰×õ±…=öï‡ï/&ˆâòˆ—oҨⳖS½ áúseçÊÑs¤Ö® B¡87Ù8e•œxLŸ¬(½X11¥]—®Nö²Çº:ú¡H“êÌxzêöoͱF½wúA‘H(‘9¶ë׉ízÖñŠÖÓ®Ù ~øßh? ¡pÏ”¸½t0*M=ËõÇC†(ÆkÏêl'~oª.ø1íúþØ|ܺÎü˜²³Tf±PUi&.ï!´#Ù+Í–fG3mв5?·›²òo¸ÏoGx';¹Ÿ1{9kbœÙXši;YÝÃ=þ ÑŸ.ïsb»¶õ™$@+ Ÿ énDãÎj”pû¡82Õæá-ˬx¼šøù­™~àjÌ[œ¹Ë*ñþ;©]¥Mû=á/Íqù¨B< u{µzøŠï›HLú¥­#ÞKô˜v­Oüx!ÞCeNOZ«+G(üÚ·P1¼œ3Qúiƒs-béÃÏÛu?Œ©4Pø3´O&ÐÉçÄ¢Îmg±À"lCµ;¿#~ ím`±(ûEZ½Œr×™öáØ®¾ªPw⩽Ô<ÝŒP„‹¥ °ÊÒŽFÃõw {vŽ øï¹oB,íúR¼‹Þ¡@´âE¨÷Ô˜õï~–ý –2BUïg ïƒÌÙ/ÍôÄš5ÞÎÜ]pMÏ=è]\ïõceŽ[©û½}¥¿ÅòÛ/èþ<¹üÅ#ew—úl†§v½4wÓ å#â`Ö>µJV€ŒøüT)˜7éIEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/step_by_step.rst0000664000175000017500000000336013656750211026350 0ustar zuulzuul00000000000000.. _step-by-step: Developing Murano Packages 101 ============================== Murano provides a very powerful and flexible platform to automate the provisioning, deployment, configuration and lifecycle management of applications in OpenStack clouds. However, the flexibility comes at cost: to manage an application with Murano one has to design and develop special scenarios which will tell Murano how to handle different aspects of application lifecycle. These scenarios are usually called "Murano Applications" or "Murano Packages". It is not hard to build them, but it requires some time to get familiar with Murano's DSL to define these scenarios and to learn the common patterns and best practices. This article provides a basic introductory course of these aspects and aims to be the starting point for the developers willing to learn how to develop Murano Application packages with ease. The course consists of the following parts: .. toctree:: :maxdepth: 2 part1 part2 part3 part4 .. #. Creating your first Application Package .. #. Adding User Interface to your package and other improvements .. #. Modifying the application to do something useful .. #. Adding scalability scenarios .. #. Learning some advanced stuff for production-grade deployments Before you proceed, please ensure that you have an OpenStack cloud (devstack-based will work just fine) and the latest version of Murano deployed. This guide assumes that the reader has a basic knowledge of some programming languages and object-oriented design and is a bit familiar with the scripting languages used to configure Linux servers. Also it would be beneficial to be familiar with YAML format: lots of software configuration tools nowadays use YAML, and Murano is no different. murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/configure-step2.png0000664000175000017500000010525013656750211026641 0ustar zuulzuul00000000000000‰PNG  IHDRöý×¹3ÊsRGB®ÎéiTXtXML:com.adobe.xmp 758 253 ¯eˆ)@IDATxì€]5ÖÇÏL§^êÞBT€âZÜÝeñe_ØÅáÃÝÝY\vqwi±R(T¨»»{¿üòæ<2·ÏGúfzNûæZôŸÜ䟓“Ü‚K.¹d˜†€!`†€!`†@¥F °R§Þo†€!`†€!`#öV CÀ0 CÀ0 *€@Qyäaͳî)\-LCÀ0 CÀ0 ʇ@AAA…$:gboä½BÊÇ"1 CÀ0 CÀ¨ä¤ãÍeEü3&öé”îy%/K¾!`†€!`†€!P&D‰|È££Ï²‰0-±# Nv7©ž…aع!`†€!`†€!°¾  ¤=WŽ>Óël°IJìE½½&âD÷²I¹5 CÀ0 CÀ0Ö”À+‡Ž^ƒƒÞK‡IBb¯«çð:Ù9nÃgêW©ž©;†€!`†€!`•dD>œìyæ™ræÐ]:Š×ZÄ^ÃAºótÏ5;†€!`†€!`ë !G&Ï™ô(©×0Ô/×zž Ç8±WÏêP¯£GžsOïëµúËä:tk熀!`†€!`†@UC $áðæd×Ñg¸Sž­çê7ê6ŠYœØ‡4°DÇD÷ð«÷S‡qع!`†€!`†€!P•PBN£çpçð^ôšgzO„žsŠ'ö8PÑóðÈyxÛè½èsu£áêQÝéµ CÀ0 CÀ0 ÊŽ@HÒü„÷õœ#?x±Þ ýèyè&tž«[Ž%4öJºÃ#çúÞ/Z´H–.]*+W®”Õ«WóÈ?ó'‘s½gGCÀ0 CÀ0 C`}B JÜõº°°PŠŠŠ¤V­ZR·nÝ8Á‡k«pʆÜáItT!òóæÍ“^½zÉÞ{ï-]ºt‘Úµkû0ì!`†€!`†€!`¤G`É’%2|øpùðÃeРAÒ AOôCR¯¡$#÷ú\I5ö!™Ï!õ‡rˆqĆ CÀ0 CÀ0 C PŒ÷îÝÛÿ^{í5yã7¤qãÆICÉ}2G…<€¸«„$>zŽùMÏž=Ô+Xv4 CÀ0 CÀ0J‰ s86\;Ê¿Ãk†{ˆõ¾'ö‰¨C ;z¦ öÝw_õkGCÀ0 CÀ0 CÀ(àØpm8·òïdÇ0:åìÜ+ /BÏ<Ô€õ¸bÅ éÖ­L CÀ0 CÀ0 C Œ€cõáÝʽCž&ѳ¢9sæxw!©Ï5`ŽóçÏ—5jDõkCÀ0 CÀ0 CÀ(pl¸võêÕ…s°©×#çÑQq/<µjÕj-uHæ9×ߪU«¼gûc†€!`†€!`e‹@Æ ¥Y³fžÐCê•Ø‡ç!Á'v½æÊùºWçÖ²]¯R·nÝœÃ0†€!`†€!`†€"°páB=z´Ô®][:vì(ÕªUÓGþ¸dÉ9r¤T¯^]6Þxc)*ʈV—#ÑE&Êtܬå=i 4ÐÔ‡çk…”ÁU«VÉ»ß ‘c/6×™;),,î?CvÛfÓÌ=™KCÀ0 CÀ0 C ‹-ò¤îºbÅ yWr©>|¸¬\¹R–/_îÏ»víž Ȭo%ââéIhŠ“ÎS®ÏÉø°ñ³¤ZQõ2ýɯçäš,óg†€!`†€!`Ę6mš@êUÐÞ£ç^Hêõ9÷æÌ™£—9S)ÑS=Ó½Æ>tž«#ŽÉî‡n29/,¬&EÕkdâ4+7…:FÉ*mæØ0 CÀ0 C ò ЬY3™;wn þ ¹1b„,[¶ÌkêÃÜÔ¬YS6lÞÊù¼4œ;©)NΩIã±°Z‘Õ¨UÂU‘3¥òÒÒ¬q=éqÌ=2iæüÏ3¹(ŒØ=eâgúôéòË/¿ÈàÁƒeèСÞFà 7”Þ½{Ë®»î*…y2X`„Hú°¥Òô}ôÑG¾ÂQ‰öÚk¯L²[¥ÜüïÿóScdjçw––-[æEþ˜’ûïÿëÓÒ¹sgÙ|óÍýù¯¿þ*üñ‡??äC¤F²Üæ @>§-×<™¿üB`РA2lØ0Ÿ¨|«ÿ¹ Uï̤I“äÛo¿õÉczŸ~)™¼þúë^‹X«V-9è ƒ’9K{¿¼Û/í·HÈèí–£‰êׯŸLœ8ÑßÞj«­¤C‡Q'Þæù§Ÿ~ò÷7ÙdéÑ£ÇZnÊâF®å\Õê{Y`YÃØ`ƒ ¼Ý<,$Ú˜èDRߥK—2³±†½&=‰ìëqWáÄm}­ÚõJ¤q¿í6–M6ð÷N9x¹ã…þ%žgrQ­(;¢ôꫯÊÝwßíí¢¢á¿ð ~‘Ä¿þõ/Ùzë­£+ôúñÇ—G}4'سÏ>+Ï<óŒ'ŠT¤õØ3»ñÆã˜Ð \xá…ñëuy‚¹Ùm·Ýæ“pôÑGljýgŸ}&Ï?ÿ¼¿¿Ï>ûT8±ë­·dÞ¼yÒ´iSÙwß}K@´®ÓV"1vQ%øâ‹/|»Eæh¯òi`› àñΠжäøãOIìï¼óNß—5iÒ¤Tľ¼Û¯ï¾ûNh‹”TÛm·ÝZð“g%öÇ{¬üóŸÿ\Ë ™—_~Ùß¿ýöÛ×z^V7r-çªVßË ÏÊNýúõ’û0/Jêó¥]+bAÀêÕ«ýh„#?ì‡ôÈ9?FòK+Õ¶¾Î%§*NÚ é±eQÄ¿ÿý爛ìEŠöwûí·÷îX8ñý÷ßûóD ×ãÇÂÎV,X T‰dÖ¬?÷úo×®] ' 4hÐR 84mTÊŠf<˜>NdÆŒÏØ±c“æ5Óô15ªá_zé¥ñ…*o¼ñF¦Axw˜¥  íæ2 WŒæ)/~Éì∟A :æd",äW8œç"™¦ðIe™€1õ¼,v H/Ò6sæÌŒËTßlß]âBsÃDÂ{MZP T¤äšŸ\ÒH™òþP÷¢Âà›Åe”E¶’k㽄&Â\ë_Øž&KeK¹²…;b€i"ÉôÁoºv>Qøåu ’ÕÛ²ˆ3]ùa*„Bùý÷ß×jK”Ø7oÞÜ»¡ì àÏõî#Q¿ºá˜.-¡Ûðým–¬(¨)³ÿü~Ä\éÛ³¹´hÚPæ.ŠÞjŽl#W½4BFLfÑB¡¼Òºì·e+Ù{‹VòÈÇ“ÝôDÌw˜äæJ ±nܸq—"'žxbœˆ@J¢‚÷=÷Üã„)q¦ÑÚa‡¦nThHO>ùd‰Ý>vÎØD² –ŽƒQÞÁ,çž{®°XƒéGÌ…h0T®ºê*ÁŽë˜cŽñicðAEbaу>¨Îü‘øn¹åaqáoºé¦rÓM7ù4cnÔ¢E yê©§¼{Ö¨iÒ{ï½W",.4®öíÛËC=TÂv’ÌzÆk¯½æóƒýûÞ{ïíÝ—âD§K‡HZN=õÔ”²÷œàšá´nÝÚÛ¯ï±Ç>^l7É·vꕲ9üðÃýåßÿþwý­·Þ*,LC Ú[l±…0HýæêÏšàÏO<_T‹m(å¬BÑ7ß|ït!ÿ˜‡~úéñA¦ºçÈ"4Ö‚Ð9†B^˜PÍšEH¦’^ûí·Ÿ÷¬¦]©ÒF™=öØc>¾É“'{ ~éœÏ8ã Ùe—]Âè}= .±˜™ð©ç\+©ßh£¼Í,ï‰ ù;ï¼ã/™E#ÜL…r§Nò.(©£L)sÞá ¬TiÞ]Úûï¿?>§b (î½÷^ŸÞkfÓ8àáO5'_|±/KÊ54´%¡/3v ªP:\yå•ñǹæ»m~¡P×\s¿EĶ_¼'ÔÝ믿Þ+4(O],Îà’wÿ·ß~‹bŸþùak—¦ŽÝqÇ>-¼;=ÚÒL[‡Ð~áìûÑò"Ô¯‹.ºÈ·ÓþFñw¬eb6NZ…úCžuÖY¾ýÕû‰Þ™§LÚy «¼àKñÉ'ŸøÁ ñµjÕÊc@ÙðáÒH¶å·Í6ÛxEÊ ú@Ú9„òSÓúCÚz0åí¼Ššáp½í¶ÛêmÌ6-Ú÷%ëÇJ¹Èµ¾G‚±ËøÑRËŽ:†€¿â¡š÷di›1c†üå/‘§Ÿ~Z õ4V žåÍ7ß\"maXW\q…¯Ä£ ³[øC#ªÂ=”üØ#S\1¦Ü´~á—2eq9õ]ß ³4ï.³B×^{­ŸrBÀ…²`À­±nwF¤=¸ï¾û4ú¤G å‚–XÙ¡ã/¿üÒÇ…›PKYšüD±!>È–ÖU,„íXƒ9e ï4õ˜]DpOyƒšû°>†~8/M{ÚÒ¯¿þ:®H¡@ä)âÚ ÚA„6ä’K.ñXúîííí•’zù´›´»,z¿à‚ Ô¹?†õ\ßç§LÚù–Óy;í´Ó|¨[xÚ Ì PÄ 8 ¼s•\ÊO•Ä’tÞíc ÿºq…î~£iT >m8›I¨ä’-ÇTý˜†s­ïavžÿðžh?©©¥]èÖ­›7½¡m …öCëpx¿¢Ï+œØOò¹ xåÿüo—¶s}~o>¾“¼yq/ÿ»øà˜Éɞ݊âî&þÜ»ûõÍ[ã÷cƘžûó‘?¤ÅÍ%ÁL¤ÉK€s@ãƒVŽFm'óíL ‹40h´p¶à¸Gƒ‚¶QgèÐidéä?ÿüsù¿ÿû¿¸w´ÌÜ£‘N&t0-Èkœæxø¡‚èCìËRHï»ï¾+˜ ¡uD󌆎ŸÝ x)È/¤Z}ûöõØð<$ÓéÒÁÕN”eÍ6ÛÌÏ>pN'®Ï¹Ž -3thZf^N^F0N$¹úKVôÞ]wÝå±¢Þ@Fd6Öy`.†Üpà ~kSÎÁSgMèØ0'£^ i„ä)ñÖ™ È/ÏѬ"Ý»w÷×ÜCK•JÐfQßfX¨¯Ÿ~ú©„è‚rÈaEeêÔ©~ |ðÒ~ÄGxgä`i„3ušòfKQòKý"fµHe¸£Tiß]Wʈ¸Ðâ"aâAk¯ÏØuK >iJ'ìC‡è’Ðñ!”ùN;íäÏK›H–T’_Ê’÷í7ƒF4ãjâO™S_hïØªÍl")MÃÔåõžz‰FÍÑÞ2@ÎQ 0@Σa¤ºÎ¥üúôéã•*„ÚÙ«lç•Ø3cNŸŠÐ‡‘f„çª0à:—´àIÖÅž–ü[šú^2$»ÊwP˜…ä6𙵦-fÑlø\ï¯ë|U8±_±d¡,š;Uê×X){í¸™\zÃýҢǞ%~w?ö‚tn×R¶èÚÒ»]±465ºdžÓX;¿úëк© 16æfÙâ”XÒ¨v»4{žcv‹MƒÁ¬„‚EƒwØa‡ ¦Ï|°Vš X˜ÕÐxDW…’GCN‘rÎ=Õ<©ûðØ¿ÿ¸"Æ2ƔxËZhh!ËtªtŠ;`žN8ò‹F_/,‚bf‚©`DÍÒ¥‹A’j®y™:uêä½€½n÷jô…ÇKÇÀ£½3)BÀôd7CºˆF%WÑp¢×ÄGG‹wÜq¾þPV”?Z-]lK}ÓtaÛ–Š%vC°qÐà(áV8õŒz£n´nq¸’ .%“ì‹ ‰¥!C(S¦öuAÝD¬Œjç0? ¥:ÈÆAÈ ?-‹Dá…÷x÷ õê“î…¦M­Ö/Jiß]5+aÐ ®ÌŒQ7T0ýQrÎ;¡fJ¼#Úö¨Ûè‘Ù»ÝwßÝ߯”EMŸAÛÅàÁ$AÛ€ÒæÇ˜å4R´#˜ä^fðèò;餓|¹4uÂ¥i£+‹:Æ;@½G´òýÚÓ°pG‚|&û% ‹ôê,&³dúmÞ{ÎyßÞm/…“ì^®åÇ;K¿‰0ãÊ%ö”ïe¢¢Z{f1i‘pæ*×´høÉú1}s­ïav^9@Q_PŽG[¶eJîy§¸}¾®r™¼g/¯¸myÜ×gO?þPY¾b¥<þâ[2cÎü¿Gžý¯ý”cönÝ}Âû»ºÈßÛaëÍeû­zË3¯¼ë¯ÃQS¢¤Câ”È`>“«Ð° tJ&°ÐdÑ(!ê6|Σ’,½6`:¬Ï²9†¦Fú¨fÕ"FŸ•æ Ñ Eâ¾nÐ’Üð(éùÂi¤ˆ ¢Úzõ^«¦ZŸ…GloC;z}†é” ¤**¹ú‹†½µU‰Ê‹ù@®ù#ad V~¡°A3¬ÓÔÚYzO9ü m÷C|4(Þ'%=¤DÓ¡=þ˜ ‘DB34ºA~jÿï¥ø£Øñ>é̆:§~aænºXžgú>æúî23¶3x]Ô1gz6”0]™´9|°G%ÔÚ‡ïHXæ¥ÍÆ•Íx˜Nü†ƒ4• ÃdP§õ7¼_u  uI%lW¹G:T r*\Þ'ýjb…œY!L¬TÍÀê³è±¬Ûy•(Ž’ý´o ÓA[@;À³D;†¡Ñú̬F¶RšòÓ?¦NÔȺšYª¦ž¶ZÛ 5-T7¤5´¯/MZ4߉ú1}s­ïav^y` ÂŒÁhHê5{}®í‡>[WÇ­ÈØI/t ]O=î yíÏdîüE1ò¤aä¸ÉòeÿrôA{Ê…×Üo|Žt×çž~´Lž:Cúôê&ï}ÖOîêõ˜ÿ‚‚ „µO!—,œb:5Õ¶Eê;b´ £6V´n4DZãDÁE[ˆf5lÔ­j9õš#$©,Dù’WÕX†áÒˆ£Mg§Ÿ²”èWÿtŠœ8Ðä?÷ÜskE§Ä“#vމp =af£®L1‡Â GgL…I®_Ý$3=á¾ú5yê7Wê?ÙQË‹rI²jÃ0¨›hú1ûÀ´Š:•Ðm®çZwIƒ‰D¾Ì4EÓš¨LË¢®c«ùUbMïa8Ø,‹w7Ñ Xé¼WQr¥ühÚ’]CD Ûqfû˜uCÔæ-°ÎÈ”E~’¥#Õ}¡ ÝPöùo_|ÖƒÐFWÝäêOý';ê¢?ž3x‰ eÑà§š®À!JêÁ9Ù DÃNTú,<*–Üc‡¨@ µ\¨?¡=yÔmºk4ðìzÁAV:¡~éâiL¯ ”¡`jÆŽRàÐ5OëúÝ¥ÝÐüFÓ‘Wûc]_AÞ°ïçY(¹äÒª&ú®6ïN¶¾3Z'Â0hCÀ<*š~î—w‹Æ­×,úÕA=kFBRLtÊ[RÕ‡ÒÄ­í Ä>þÌ ÑóSölâ+mù)‰G¯f¯¡iÁ~Y×®èf(tQ´¦·´iÑp29æZß3 ÛÜe@Å{§u1q¶|7hŒ|ýóH4b²üðûXùqðxé÷ëh㨉³dà°‰ÞÝ•÷¼"»Ÿxµ =Í»;e®¿ÿëðIòãñòÓ×økõS‚Ö‹]èØ 8JvlÀn–Î[nl[µÃÅ^[w!ì3Ï<ÓkÏxήº “gÂCÐÆF™ùåøû[mðÈdWI.Z@Ì4´S“¡šîáN×@¸Ø -‘f/ôŸè\wtaĶxJL9²E"Û„¢­ÑY†Dap³Ý‚é×°,¢~Bfh“¯î(3¶ç£œU0ñÑ-Ñ4êÎ$úœc®þÂ0³ˆS;-Ì/tçê&šBpB˜QÛj5=¡ŒÂΘ)m´rº~BÍ|4^ÕÖ¡áVò¬SÊê&²…¨æ_wLÂo¾¼»|hJó«¶ÃaÞ´Ý€ðèópѬºÍ%?Ì`è;ÇvŽj³L˜˜üdûgü±¸\IäÓî›:sÆ3H+ûûk{Ê=•Ьcgô¨ï÷QB„ŠÌ>Â]»´NEÃ(íuºúkø,^×}Þé—¦¼»|€Œ6‡@Ý¥&›¸J[~Jì‰SÛ–ðž¦EºêMt‘biÓ¢qer̵¾g¶¹1ÊŠ7Å)tQÕ–ËÏ>\}åS9ûؽdÖܲlùJù}äDâ~ïÖG†Œš$ƒ†O O?HžxísÙ¶Oùô»ÁržÛË÷ƒFIŸÞÝe³®íäûßFÊ»_þ’‘ÆÀh ¸4jh’øø?%û!¨lÝÝ¥‚ÅG{ø:$»&`÷ÊBá!,Úƒl a®h!_t¤˜O@Æø© ‘B£væ<ƒÌ‚ ¤’Åb=¦6YÜ ‘fê1[Í{mCªÐ:BPu¯{ÂÔR±Ôô%:†=$î‰Ü;[аCŒnç¦nl1ÐÑ2ƒàj™a nQ3$üæêOãMv¤Î±m 3L 8²„[¤ _±Ý!³B¸Ø1(cëJPnÜcºÁ, Ûû±% ùÐ2‘wˆ08Q7_|ñÅø®.‰ÒÈ ˆu&Ô ‰Ô´Æh9Õ¦uçw®ð,ieW%­_˜×íæ¾•h!•@lÂY ­oùúîjÃj‰ ¿¼©îrͦIìcÎ`ˆ3a~Fy¢ÁG1m4¾dG&|i•÷í7uÍ7‹©—ÔUÖ3…ÄRÃZ×uŒA¤Ï–²{î¹§Ÿ â=¡ ×0D›n›©ùÈÇ#åÂǸ؂S¿“O>Ù¿¿´qä ¡]á+çáBólòRšòc0Hÿ¢ w1÷ g5}A*Q3½_š´h™KSß3 ßÜ¥E â5öÎ.~“.å·QÓe—mzK¿AãdÌ”yòŸ÷8ûõúî šMeö•ÒÌMïwíÔ^ ›âwÀ™1o™,\V ÛoØFæ/q_ýfˆ´míöCwq3™ 6öt ªV2@ZöÉF+™H°G+ɡӂL@é˜Jä#.¡YL¢0Êë$”FéôîÝÛ¯ €@r!ý¤a:S…mû0qQó´kìkL‡6;W3 Ìeèä1̳·?Gˆ äsÕ$kZÂ#éÐéW:Hd*¡SPÜhE§ŸÑ@ó±'ˆ.äTI=šztê‰$W‰ÂŠÞƒð@°©“t²h%õqlæ)GÈêe—]ÿÀ%åÉ`’&t‘×Ù4Ü`Ã3êØÒA¥êu™Á-áC4©@0äý`– ]8©â(Í3êi€@2„ùï1i…Ä0ÛM[>¿»Šï#ƒ•¾}û&%^¹äçðÃ÷_ÎÖA¬Îâ0S ÑÏEÐî !sÞ-ÚE­—º5j4ì|¨c´}J˜`îñ¥½A1¢í¤>[G4¿}Í …w˜~‰wŸY %õ˜¯0XI4K™i:KS~¤GµñÄ5ÃÑ4 ¡§©èL¢^ë±4iÑ02=æZß3 ßÜ¥A ÀuŒkè éì9ò£ãÖ#çü ŽD¶À™&€p^ýè'9áªç2õ’‘»Bב¼wï_eí{fä>ꈎ Ò É‡Ü&ÚÖ.êG¯Ñì`*”.‡°R7ùr„T£ùãHgÅà$Ê­Z}¶Š‹Úô†n³=gêíØÒçª!Ê6^:jí˜Ù­ù¤¼é¨±ÕN´Ø/WÙ¦/t䔸Ñ>3 ŠSu['h»˜QAó¨„óò‡öŸü…að2èÿTƒ*G`ÆbYÚêy®ƒ= ¯¬Z¿ÐS¿¢Sõ‰âËçw—A‹Úó1°d¤'ÌW¶ùa†GgÐ`–UÛEýe6“6‘új½ÃôFÏ×uc– ÒKºÛ;åRBxgÈxA†™!«ŒÂ`žö…zY·ïà±®Ë/,“ŠLK®õ=L¯!X'ÐÇ¢|¡ýÔ}<çé×9ê9×Ú×W(±'á4*ö*ƒÇÌ ó‘ó¹Ë‹ôéÚJvݪkVD%çóØ#ä̓4ì6£öÊ좳|SŽª.‰z&yÎÕ_&a›C Ô=lê´1k†Ý»6Ø©üÙ3CÀ0 Ê@i‰}æö+e„ÚÃöØRösZã²:¼L´seW¾‡æ³ ld1ï€àë3&Ø#˜¬°7¿‰!`ä|Ì »wá«Ý1_ã5RŸ?ed)1 C ߨpb tTÙ˜ä;ˆù”¾Ûn»ÍïÖÃb0Öð ¶Ôµá3;7 u‡À‡~èM>4ØrÈ!ziGCÀ0 C -ë„Ø§M•9ÈlØÙrŽmòtÿul°˜Ògý ¥2µyÍ9yä»a #‰>²”,©¹úKžÝ7Ò!ÀôX׬&6ïzÞ]CÀ0 C S*ÜÆ>Ó„™;CÀ0 CÀ0 C`}B ´6ö¦ZŸj‹åÕ0 CÀ0 C Ê"`ľÊ­eÌ0 CÀ0 C`}BÀˆýúTÚ–WCÀ0 CÀ0 *‹€û*[´–1CÀ0 CÀ0 õ #öëSi[^ CÀ0 CÀ0ª,Fì«lÑZÆ CÀ0 CÀ0Ö'ŒØ¯O¥my5 CÀ0 CÀ¨²±¯²Ek3 CÀ0 CÀXŸ0b¿>•¶åÕ0 CÀ0 C Ê"`ľÊ­eÌ0 CÀ0 C`}BÀˆýúTÚ–WCÀ0 CÀ0 *‹€û*[´–1CÀ0 CÀ0 õ #öëSi[^ CÀ0 CÀ0ª,Fì«lÑZÆ CÀ0 CÀ0Ö'ŠªW¯.«W¯–5kÖøãªU«¤°°P8Ä€R­Zµõ Ë«!`†€!`†€!PaÀµ‹ŠŠüóð?ç~Î9¿(W7}…•Ed†€!`†€!`”FìË[ Ù0 CÀ0 CÀ¨0вiòäÉÙz1÷†€!`†€!`†€!PÎdMì[·n]ÎI²à CÀ0 CÀ0 C [Ì'[Ä̽!`†€!`†€!‡±ÏÃB±$†€!`†€!`Ù"`Ä>[Ä̽!`†€!`†€!‡±ÏÃB±$†€!`†€!`Ù"`Ä>[Ä̽!`†€!`†€!‡±ÏÃB±$†€!`†€!`Ù"`Ä>[Ä̽!`†€!`†€!‡±ÏÃB±$†€!`†€!`Ù"`Ä>[Ä̽!`†€!`†€!‡±ÏÃB±$†€!`†€!`Ù"`Ä>[Ä̽!`†€!`†€!‡±ÏÃB±$†€!`†€!`Ù"`Ä>[Ä̽!`†€!`†€!‡±ÏÃB±$†€!`†€!`Ù"`Ä>[ÄÌ}©X½f¼üÙ:oY©Ã² CÀ0 CÀ0b†@E"ðÕð9ÒºaMy쫉R«z5Ù V5Ù~ãFîÜÆ˜Y—!`†€!`T=ŒØW½2ÍÛ-^¾Jnzw”ø4>òåY¾rµ\{ðƲcçFy›nK˜!`†€!`•S“V†Rª"i¬S£š\ãHüÊUk|Ž õoÞÜH})_ËFåCÀYÅɤ9KeÕêØ;Yùr`)6 CÀ¨”ûQ£FÉ´iÓ¤U«VÒ¡C‡0?¥:3fŒL™2E6ÝtS¯Uþý÷ߥeË–Ò±cÇR…õÆÓ AƒèãR]“æùóçK—.]¤iÓ¦ñ°~ùåY¼x±l½õÖRT´nŠý5oŽ”¢jNS¿FjÊ›§ËÕ7r/);1Ê!SÊë?M“ãç˼%+…Awï 7z5“m;5L›€ŸÇÍ÷ƒn­ê:sº²kO~qéaŒ±E»ú2~Ö™6¹tmYWê×.»8È\y†=tÊ"Y¸t¥tl^GšÔ­Çò÷I e‰k7wy+*ŒÍZÆÚ‰!`e„@¥Óدq*¦þóŸrÞyçÉå—_^F0Ä‚yõÕW}¸üñ‡Œ9ÒŸ¿ôÒK¥Žã£>’³Î:K¾ûî;VO©p×]wùt_yå•%žÜpà þ>ä~] äáòý;ÉýÇu÷Iøû.Êûw”-Û—íàf]åÏâ5*¿M\ ¿ò‡|ñÇli¶A iìÈ'ƒîþ£æÊUoŒ”φÎJ™ÓËE¯þ!—¾>\ÞüezJ·Ù>¼þÑrÝÛ£¼·7\ØÄ1rzéÛ¬{>'¹<¯(ž-,˰£y|øóñ>ݘ†rç‡cü}Ƚ‰!`å…@¥#ö”‰'zúˆ#^Ò­[7yæ™gää“O.uð“'O–~øAf̘áÃúË_þâÃff ¼ä§Ÿ~’wÞy§¼‚Ï9Ü»4’ŽÍjË;·•m:6ݺ7±…³9£i ì;s‰\æÈò’«e£&µä¾c»Ë=î×´^ ;VÝüÞùq켤ð{¬CçüÑàÔƒ€¤dðàè­ZɃÇo"Ì ”V†M](?3PlrT–a'KÛ/ã8|f&{l÷ CÀ(Êv~³\’X2P%«Gu”¼üòËž¼víÚÕ;zøá‡å믿žAÊ.\(;ì°ƒ\|ñÅR§NI÷<Œiܸqrã7Ên»í&§Ÿ~ºëVË“O>)ï¿ÿ¾'蘺œ{î¹²Ùf›ÉªU«äÁ”>ø@fÏž-7–}÷ÝWÎ>ûlyúé§å•W^ñA?òÈ#‚© &Dhñ™qèÑ£‡¬\¹Ržzê)yï½÷dÖ¬YÒ¹sgïw‹-¶ŸþYî¸ã9ðÀåÇ{ëÖ­½ß^½z…I.q^³fM¹çž{d§v’Dæ>Ÿþ¹<ñÄ‚YPõêÕeóÍ7—Ë.»LZ´háÓLú€üç?ÿ‘©S§úüì·ß~rë­·z?}úô‘ë®»Nêׯ/Ë—/—G}T>þøcY²d‰7÷¹ä’Kü³‰*¾(t‹gÞºU¢GvÏ0Ê´ôzd†3s9c±lÚºžÜuL7¹ð¥a2sárg ³F>v„}«3ih¼?:Û›˜lÚ¦ž°Ë&&=Ü9òÔ7“¼æÿ·væ%·¥í¢e«dëŽ å¼=6’Ún¬³Ÿ"­Ô”¦n¦àƒßgJ}gÆsXŸrðfͽÿð3Ÿ›-ìÕ^º;r?ká yà³qòë„ÞÙÖÈ™»n$ œ™kžtqãg΢Ò°NuÙc“&rÚNmä_NS?~ÖRï‡øOÚ¡Lœ½´DØ3,—‡¿˜ ¿:ò_èÌd0ú{ß ¥‘ g›áxàÓñ²O¦Þté‹ú5|ºÀ.™Ôt¦†¸0·uùOdJô͈9òŸþ“e¼K ¦9½Ún çïÙNš;lþùÊ0Ù f‘Ôü÷çiR½Z¡œíò:yÞRyÍ™P­pë“u¸°mký”¹ËäA7S@Y4¬S$ûº´jû¡Ãùk×nÝ{EJ²ôÚ}CÀ¨T*=f$Ÿ|ò‰'ŸçœsŽÔ®]Û“iˆ1>|¸'ÙО={zâÓM7eôÜ;*þA%¬éÓcSÍ=ô'¯mÛ¶•ãŽ;NÆŽë‰=ÏŸþyyöÙg=É¿óÎ;7 ,¾ÿþ{Ÿ´ÿƒ€m¶ÙƇIØj£a·k×NN:é$ŸLwF-‹-òé¸ï¾û¤Zµj™ÇL‚JN;í4™;w®'÷QwÌx@¼É#&:G}´|óÍ7òØcy§ä‰ôç¶Ûn+õêÕóƒ(ÒÄ€5¸'ßÈÍ7ßì;ì½÷Þ áüóÏ÷Ïì!`䨯«@ð/}m¸ ž¼PÚ¸-h!÷ª¹Ç k£ÒÔYàìÇwu$q×nMücˆ£ÊôËd”,<ùõDÙsÓ¦ÒÝ_´Öw4Î;3c‰|æÈú`G@ìÓÒűFîûdœ|;rŽ?Îpƒ ÂÂte¥#îÝoGΕ½iÝέøxÈ,¹ñ˜¹Ëk?Mõ߯`€qÝ!ý–º ,¸|V%Ö{:²ß¶Q- Ãf°ùÿÖ‘_ÂÞ¥kc7x™å±a³Ø NHÇ£_Mð¤“ÖueŒ›ù Ý©äøm[ùõ ìþ•ÉŽˆ_óÖH?Ⱥl¿ŽÂ@è»ÑsåÙ~“½Ó±3—Ê7“ïFÏ“»4–én†ûwÍðÝ%Ù¢F»taFuþ‹C©#¶l!-ÝÀ‰í„_u˜ ãÜZ̬&¸EÒ&†€!Põ¨TûO?ýÔ“á#Ž8“z´Ñh–!™}ûö—6øûì³ï4?üð¸v\¤{®îôˆ¶þÅ_ô iÑ‚J÷îÝ¥ÿþ^ÃY‡÷îÝ[V¬X_´ÊBÜÃ;LìÓIf­» Ú~ìøÑÂß}÷ÝÞĈ $šûäA³ûí·û™ƒwÞÙ“~ #ÑqÏ=÷”ÈÛo¿-p@ ' ˆÈG›6müì0Ho(gžy¦tÐA>m·Ür‹ì¿ÿþrÁÈ!CäÄOôš{fˆcûí·—N8Á{g`ðÙgŸÉo¿ýæ6a˜vnë´Ã¡@ sÄó^g޹߷gS¯Ež³x…,\¶r­…±hÙLèÚ7­í´ð…ÞVÿœÝ74Ô*gí¶‘ìîÜ088ùß¿yíø?œ6ÁÝ-Gtñ v·væx{v°¼7h¦ìà¾g‘L¾ww‚KûáNKý7·6a²À¥òÝÇÍ.ÜÜ¬ŽŸ9€¨7®[´ÊâÛ{7÷„­ü!›·š‘of|ïõDGzÞª¥œQ6ñw‰ÖÙâëÞªžßš—ø¸ïgës*éë>øgà³·ä„Âw;n:¬‹´r$íÿÒ1»ûióK~´ï¦Ã:{œ ð„uáží¥§Óì3æzåÇ©Ž´/u3 e–›¥8w÷vnv ìâgO"¯˜&GnÙRvwƒ™Î-êJW^&†€!Põ¨Tĉ :T®¹æ™4i’¿Æ<'$ö˜² ì—ŽÉÌøñã½ÜßtÒ=Wwzd&`Ù²eÞ¤!>~Ú{IJ`’ܨQòÊ{þ°»¦,o¼±O/8G&LøSÓ£æFÄÏN=ĉ¶K÷„÷"ÐÊsÌ1ÂŒÌg”|ùå—Ìo ñ Ýe§nݘÍ+ƒL–~ýúùA€¿(þÃ̃CÀÈz:v?§½UéäÈðõNÃ`¦óÂ÷±Á=ö÷ÑÝn0…ùqŒ3Uqíê§9þ#s 0+È«ttá"|²¢“ÛâŒÖȲ!~çÄ›˜øIþàÙØ…¥rÊŽmô4¶Ã–[l{Ó»£½†¿3GÉTØîéPœæð|Òœen$hÜä¿…3—aÄÀ…<&“ó÷h'§=ý»ÜýñØøÂ]Ü‚ícæù²€Ìc~•º#Å©v1^,tFô>ƒŒñ³cŒû?'÷úg(˜A1Èc~&†€!°~ yë·Žñ€$²p{pÍòC ºhì1;Q,wêÔÉ_ª)MÆná–£Glæ‰*˜Ù0ƒpä‘G ÚìAƒÉý÷ß/[mµ•<÷Üsþ\Ýê"È2a3xPÑxš5k¦·JlQ™ŠÌÇ=¸“6ÚÈ›ö<þøãámyýõ×ý &Egœq†ßÍ|.¢idÍÛn»ÍÁ ˆõ ú,—pÍ!`”=ØŽ+±Çd㎣ºz3H=¤X÷³ïÓníª>2ÓkÇ!•hБ⵨^+{´ãª!žéÎ%Û³vÓìÊ9§UlP;FX½Ã”ÐÎ\ð§‚âE7AS}Ö® ;Î`ÞÃLÀæÕ÷f(;s”¨¬Ý;…E1©&Í*z®¤žû%¶¨LAæ5 ŽmœÙÏ1n=¶ô¡¼ýëtÁvžˆ“¶oãÍ›Ž|Pè$¥Ò&t¨æSç9=ë Ì¥(KÒL©È]š†@G Ò{´ò4N§œrŠ'£Z.W_}µ¼ûî»~Q«Þƒ`#؉c‚]:ä\%Ýsu§ÇZµjI_§Ç¼’Œù<àµà]t‘T@ΉƒY„?üÐ{U"_£FLÃý&MþÔjáˆg»îº«$`㎆›Eº puý€¿‘ÃðbÁ/#•9sbö¬ v–.]êM~x¦éUw™YO@šYäûÆoȆnèmõ ÷…^È$sc„Ä;mlÄ1Ùë´íì’ú&NC}èkÏâ©-ýÇw—vMb³xh„xh CÉ0YQR=ÊmU9ÄÙðoâlíYˆŠ,tšdìÓ±eÿŸ#·ÈŽÿT¼ø‘?,äEËýºsß¶q-·¿ý2oLjK'töâgÑk#§Ñž2o™7ý!mÓX|Š<÷ÝdÙ«˜üúîacƒÿº³IljAÇ;ŽxC˜{¹½ý/ÖU÷ÙÛ¦•·ÙÇ®^eÞâØº°†n@³Ô™ý( t?ê%éq·Óسý&ù­GÉ&T>Ar ’Yüø—äeg¶sâö­ý "i@öÀ0ª•‚Øcã®»á¨í¼¢-9ÄžçjÂÑü׿þåM\ ámàñ—î9nC÷œ³c éPí7öôf>öÄ–˜, EŽ™ 6÷ *fΜéÃaglôÑò#,’E4žK/½ÔŸ³K q°X•|°Ég—•0Mê_ŸE63„žÿê‡v û,ÚåÇBcæjz5, Cã^«;à^{íµÞn_ÍŸØ1‡A‹úU·v4 ÌÈtf.³Ðb® ÇwÕÍ-æÉý_}û*GÎU“ ©¿ëènžà†áòA+LO0±QRÏóêîcsÛ;ÛxȲ˜U…¦ÿ÷Æo ‚ûKöí ü¾ù˜‰\ìöÂÇŒe¯M›¸]qÖHÄ=¸vz¹þåöÇʵn)³}Ý¢XH3Âñn·WýÏ ö϶l_ßïùÂŽ6,€EËÏ®<¡@†1Gºýƒ1ñ=ô™m¸Ø¥YM^B÷Ùžó!¾óœI •UHÏ'nî“ßLô?\ÕÜÀdÖ¢?g Ômº#³W¸±ÜëÌ}np‹‰YC°•Û1è´Ú¦ójÏ C  "PpÅW¬LBÀ8b7­GÎõ‡æ³%Ø…EBb˜Ä¨ñšbíýÓnGšÎwö&&jNz¯¹&¦Ýúi÷ÜÙáó…Öðy&yb'lâ£[Hb[9öêäD‚ˆ6¿D‚–[Ã(N=Œ“2Æü­=[–…°ƒõ$ŠMY„maU LL"¨o˪]@kÞÏíºòÓØù2Ô‘v{g¦³CçF%¾–š-æ·¾?ÚïmÏþóØÖÏw&!á×W÷»g€7ÉyñŒÞ2ßiÙù u¶äó( *BYâ ¢ ç£[ä¨`¾ÔíĶ›Iº?ƒÁ €î¢ £,¯Iëˆ+[ ’¥ƒíJ1kŠb“̽Ý7 üC€ Oš7oîÇðÉð‡u×ôœóã\ä&¯5öqR¯­0j¥âöZû¼¸÷(~ÏM¥VwÚâ&Î~]5QdVÏ9&zŽ›tRË-$å§a©ûÚŽóC¢ÏB7©ž×t&?-Ь& CÃ*í±ÀU†Vn'žTéÉ6Ž:Å‹jË;íÙ¦ËÜù†À Ÿˆwßäjô\@IDATñgÊQ]G{§nxÏøV½šÕœ¦¼©ÿeì)K‡ËÔG½çJžÕÞ>„½vƒÄJÜBØÓhö¿¯(!=¬s(KQ{û² ÓÂ2 Ê…@Þû¨»,Î’!í¾Ss½œwãžù£öîúÐ×m¶ÛNZ·Ý0¾¨+,ŽCuÏ·uÏÛ´Mø¤ž¶Ð“{|ûüÍ¥Ì0 C "È/bOOæ:/onSLê=‘wˆ`ZCÆuøó”ÞÝsÿÝs§¾71 C !#òhÝQNüIä½bÞÝXíîó¡!žÑøÅÉ=í¥o3iýL CÀ0 <ÜG»¨Ä¯r«g]çæ¶^Ž}4÷ÞŸëätjÚ ×0 |GÀ›Ð8…¤sÈ<ŸÙ²‘ï*Uƒ¼».vtÏ]c»;æ{-}†€!`‡@~iì=Y/ÖÌ»Ž ²™wæóÄž#_:„ÔûŸÛ‹í=ƒ¤ø`ä>‡ý5 sÑJùmêrù}Úr™¹x••¡!`U¦uªI5¤gËÒ´.Ít±Ý=¹Å,‡¥çõ±™ÊØ@¡JÂa™2 CÀȼ ö>­®Š-‚uÄÞi¤8w\Þk汯Ÿ±p¥<öã|Ù¯CœÝ»@j%ÿI†y7g†€!`ä%ËVŠü:c™<úÃR9c«úÒ¼^‘7§wJ{¿CÇ5ŽÔû…´ªÉËœX¢ CÀ0*ü!ö.×hœ0«ñ6óŤÛzˆý§£—xR¿SûZRË}¡µ¨(¯’^‘efq†@G`åÊ•²SÝ¥.—K}ÛwdzNQ³Á÷¤Þµ0}ãôU¼"Xö CÀȘ©f–žÊŹÓ>yBïGSõ(Z{Ìq°­={…l³Q©W¯ž‘úr) Ô0ò´u´y´}±uF±™ÌXÛHk3cæ8ù’rK‡!`†ÀºD ˆ=( ~BeïDµöŽÓ{r¿låiX¯–f CÀX Í£íCÁA[¨3š>ï\˜Ê~}¨–GCÀ02F ¿ˆ½K¶×Bqt'üÜÆ7^ƒOŽ Ýn&†€!`¬/h›Ç,&m¡¶‹ÚN®/8X> CÀ02C ?˜²Ó:Å:¬ØV—$í”.¦¥S31 C`}E€6fÐo*P B‰6Ó4÷ëkÕ°|†€!PüZêz.oSÜ‹©}®¼þía¹ú,Q¥¼8°›ß¯R¦Ým%ˆ‘zÈ=æŠhîÝ›ÞóÀ^õ’`Ù•!`ë1ùEì‹ ‚¾ªø[²þ˜‰!`ë+±60Æài=Á¯ 0ú÷ïïÑè:vì(-[¶ŒÞÎËëÑ£GKõêÕeà 7Ì)}S¦L‘ H—.]ròz*mZ°*â|øðá2uêTÙyçË4º_~ùE:tè 4(ÓpË*°°ÌÿýwiÕª•4iÒ¤¬‚—ò3Uâ/^,`¾Í6ÛHµjå»]¸ÆµÉ&›HÆ S%KæÍ›'ƒNè¦mÛ¶²ÑF%|f7“#¦8Aúþäð±®ÄH~àÀN CÀXÏÐv°Á¯ }ÇùçŸ/÷ß¿<õÔS%~C† I[ ÷Þ{¯|ÿý÷iÝ•·ƒ—^zIÞ{|£ùâ‹/äÉ'ŸÌÙè±´i Ã*ïóW^yEþõ¯ɯ¿þZ꨾þúkyøá‡ãáÜtÓM2lذøu¾„e~×]wÉÀK•ÄhþË"ÌlÄàì¼óΓE‹eã­„[ûYg%+V¬(q?zñæ›oÊ?þñyöÙg£Öºž4iR‰v…væ‰'žðiýè£Öro7Ò#—{¾©›cÖ ä>×A~ýàI·¦ »"˜9æ7;àãx8Ñ“A<%CÀ0Ê4ºhØ®»î:Ùm·Ýä ƒ’¯¾úÊGKÇþÛo¿ùNúæ›oö÷Æ/gŸ}¶ôíÛWN9åOx0jÔ(¹à‚ ä§Ÿ~’O“#ýôSï8 òŸþ¹÷÷á‡úY .þóŸÿø¸!#äA³ùƒ‹/¾XæÎëïó'UZâŽÜÉ„ < zûí·}ºëöÛo;™ùdíÕW_-˜ü€1üõ¯•Ù³cýBªüÇ#s'ÌÔP=ö˜ÜvÛmþѸqãâå¾Ï?ÿ|¼¯ƒÀ1‹sá…Ê 7Üå5·>ú¨ 0@Ž8â! &ÇsŒì°ÃrÆgÈôéÓãþRawäN’Õ Â"l´Ç”Ó{ì!ÿ÷ÿ×X§{ÆAýþî»ïü-0g¶úC&šl$Y¡¹Žæ? sÙ²e¾¬÷Ûo?Ùk¯½|˜óçÏ÷a¦zǼƒþP×°…Bž>ùä·ûÖj¹óÎ;e÷Ýw÷uçÌ3Ï”iӦɈ#|ýÂϱÇ›ðåeŠÙu‘oqh{À³L„ríµ×|6Ø`ƒ´^’•"o½õ–¯ÔAý]y啉œVê{Ù±ÊJÕŠI|£6Ë §Q_4gj8Nꮺê*¯­?î¸ãä´ÓNó$ò!zÿý÷åÔSOõ¤2±<ôÐCr '¬5;€öî²Ë.“¿ýíoòå—_ ñÝwß'ˆ!fsH7ñðÁ>¬?þS©‡ä¾üòË~ÐAx'òƒŸþóŸ‚Ù„Ò†–;`%¤åÕW_•±cÇ ä æ< ×_½Ç€uÌp éÒ¦óÌ=0{yæ™g|Úþ÷¿ÿÅM@n¼ñFiÑ¢…@ü_ýuO¢•4aÎy„,’—üÑ›BœsÎ9Þ‰°!KH²ü‡iáü’K.‘îÝ»û $mÉ’%ž|÷èÑCÞyç× /¼àÓ‚û‰'z»Ùf› eÊèJhg!¬w@(ò…†!ßH*L½ƒâ?©êå6räH_˜v0Áýµ×^ë}§{ÆCUòÎ •¼>ýôÓ~Ç3LÎde”(ÿa˜·Þz«7K¢Þ¢åfðÀIõŽy9ü¡>0Èò!§ÎR¯H$»yóæ~PÛ®];_æø¹å–[d«­¶ ½ÇÏ)Ë}öÙÇoOÎ@EË6î Å ƒÞ£k®¹FXÓNR•"¿(¨üx·ñÏ€¯ªI^šâT4È«V®Qß¿#ÓF”Âê5¤U—-¥ã–û¤LÆâ¹ÓeØ×¯Ë{ûpçL%M6ìêϧŽ c~*˜ñÔkÒZºlpÜ”çç·’·=@FøHjÖÞÀ…ùçbµ•Ë—Ê. 3Çñšÿö[ìž2ÍöÐ0 \4hÐZD@;DˆÜž{îéƒE£Ž5$¨M›6R«V-iÚ´©'8ˆ)+Ä¢wïÞ^S‹íûöÛoïÉ6Ä~ã7^+‰,öÃÎë­·öEˆ!a@D¢ ÑÐ2…¿ùæ›ûpФ£‰D ï<‡˜óö¡ÕF+†žô¢U& äŲI¶E+Í3lÐÉ7‹+Ñv2`a&âŸ*->A‘?M4ÞuêÔñ‹JÁí*yAÃÚ­[7©_¿¾× Ö¨Q#®…'žëBCyûöí¥OŸ>>HجYÎL4EþÁ)”Ö­[{<ÀrG9¡Ae&†|CðhA˜Ñ~"Ì0ã•FùzP»vm ª0ˆëÔ©“¿„ êL ƒ“d˜’/•TõBÝ0cCúbhïÕtÏ5Žn¥ )o„³#H²2J–ü&%päA¸òNQ‡dïõ¤¬¥nݺ˜Ì¤0Àcö€ú¦õ‹2ä:* þ˜ÝbЃ@ìy·4ðî3Õ™žwíÚ5þ}"î3¨f6€™L$UùÓFŸ åÅûÎûÃ{Ê`Š:O{TÕd½ ö³Æó¤9,¼UŽ«Œè÷†#à‹eÛ£/‘ËËo=#5jÕ•¶=vR'%Ž«V.—o> ­»o+½ö:YÏ›îÌjžr+Í«;?;:[ú.2oêi»é^Kߨugo_?øÓ翸ƒøwÜro™5~¨ ýêUNC§ÁŸ2ü'ðÖƒ²ý±—K-gÛ¿xþLúå+Ò²óæÒ´Ý¦Þ._3ôË—eå²%²Í‘1íа¯_“U+þÌ—º³£!`¥Aíu2{:líìW­Z¥·âG´œ˜j@zCaº¤$"õ<£3F›÷àƒzÍq*m‹ÕD¿»¯ hIIèPjÖ¬éw aðÁ̤Y³f>­Q·øëÙ³gœðC¼Ñ03s¡Â t¤J‹º ª¬ANKì”™Q E¡€‘ „‡ô«è‡ÎRå_Ý&;B’À=è@Ê S¥W¯^zšÑ1¬;a^Saûtõ‚úÈErGY“fH^ªçê'<²S ØÃÁ d\ yº2 ÃÒs S8Ü'_”ŸÓ§TɑY0ØÔ•l„Ù·sÏ=××g àÌe²3cÄÉL‘ x1›‡9fljÒÄs®,B´™‘£l‰+SIUþìÄeÚ0f ‘{î¹ÇZ1ÿªŠ²^{H6öPV­ˆÙø¡­Ÿ4¤¿lwìe~ýêŽÐ·ßbóÓ‡I‰ýôÑ¿JQÍÚÒq«}}#Wß-Ví´Õ>N#ÿ¥'ö [uršôش笉ýf¾¨F-©×´Ì™<Ò/Ø¥q¬ßlCog¿QÏ›n>y f8;úÉþÏ@èÛmÓÆ³àYµb™Lõ‹Œ\ê±í¤ºïr”|óìÕþ¹ý1 C Ÿ@kŠæ˜…q*˜Ä@:!ZÚd‚-)&„©U-|Ô3j6£Ï¸nܸqœì¢!U B›Í7˜U~¿~ý<ÙÐA†Å1L+é9þøãK & ¦±Ti ÃÓó4ë=Ž%Èf ºí$ÚÍlEÉ~¢ü§ Íý7ß|SšØpÆ$Ä¥„Ã,/Ra•®^¨¹˜n¹ˆV 9å ™Lõ<ŒGÏ!ÉU4þ„Œ3F˜ÑBÞKQG,u€Ù(Þ žå*˜“Q—1ÝBÈ7 zFþCQM:y#/ÌÂp+ë_°eO'˜Ý@àu÷˜ºý÷¿ÿõæxÌŽ$Ô´˜“é 4‘»è½TåÏ{¢ïJèºÏ¢p̾’½o¡ûÊx^Xmš;n½¯ôÚçÔ¿ucÚ¥n¡);ÔüøúÝÒïùüo˜Ó£¹O&˜ÌÔmÔ²D¥¨ëÌn¸4jÝI–.œë~s¼†½q±ÉM·+Îì ÃeΤ‘^«ïð~êæ5ø'¬¥ æpê¥aËöÅg©Û06ÅÈyMg„)‰!`e‰¤bþT“œ*H¤ÁLƒÅ´ºm ¤ád§9Gc™NpQVbŠ©’( ,>Ä>˜]H4wtäijl™!Sìm!ØÑcŽ)Góºí¶Ûú8Åá+þ‰!>ü#Ä"ï©ÒRì=£$2ÀÄa±1&CQr–.°TùOçw—]vñ$VTJúT šÎ?„ SL$¦¡ÿLêæ]Š[–bçjŸÓ=ãc€À¬L„º yf Éte”,ÿh¬©“ÌF1 ¤^²c{¸g²£feÔñ¨P±!Ç–ž0!Ø F¨ Æ( $ÈÏ?ÿßKS#ÌË\ Ç,Fß%݉ʑ3r˜·0³£?Þ©™3gÆÊGÓ‰?y`}³6aCð<÷Üs>/Q¿™”è‡u<(xçu`¯Ï™ucf¡*Èz¡±OUPºÝ厹:¾íäj§Å_¶x~RohLhBÁŽ^ l_Yß-–<ô{f oRƒ[Lt0—©Ó Yܾ¾† kY1I×ð¸®ÝàÏ‘z¢í0kÔÙÀ¿¬KÝVšª±G‹¿ÒLqF;†@!€&2*ì‰N ,L‡CvéLYwÅWx­Ú²C=Ô“Õt{âC!ßûï¿¿W¨°+öïìäÁ´z(˜á`ó ¡€˜ð$Ì T0/Pf̰[gÏm:z̰‡AÔñÇ€„ŪÉä€ð„—…Ø¡ÕÅ–bŸ.-ÉÂŒÞÇÔ Èiü, „ÚѨ¿D×ÉòŸÈmx2Èî8¬-svbçÖd"˜/A¢ù@’.úMæ/¦¡ŸTõ‚ŧ Ðø¤”™Ý¡‰pÒ=ãÒók®¹Æ›D&e ¦³>#U¥Ê?&V„Ë ‰0Äb®DZãNtd·LǰÃ…ºHÙ°`™ 3q ¼ÔóÓO?Ýr0bà†H.y¡ÌÀ%¤›&y¤“ŧØÐ«°ž„÷%júC\¼ChóÁ**hÐI[¢µÔ/ÖZPßX_ ;UùGÛâå}aF"ÜF“uÌFð#ßQ3¾hz+Ãukd×0šUí#3®9†?F’LgRe-k\€n@éâ]#«Üq¥›!ZîN–¹“¥ÎTsÉŠ5rÏ·säÑCþÔNg’†·‡­‘O½P¶8ð,§E߸„—o_¸A:öÙKZuÝÚoEÉB×·=Ð'äo^÷šo­þø¿{¥]¯]ü6_;3—=μǓþ~/Ü(›îz¬4ï´™×î|ûa¿Ç}§­c}ÔïɄ߾’Vݶ‘®;êãffà‹_îãØö¨‹Ý>úMùÿNF;³Ÿ-=Ï0úùí‡dËÃþá÷ªÿæ¹ë¤Çî'øýî d‚3÷™ëÜôt¶ýßyD´ÿÃû½)ãýܯ8vû?í KdÜ. C R!ð·7¦Ë?vh$µ«H­j"5‹ ¥Fµqq×ù»]íÝÑý¯4‚&íg6SáôK˜ÌйCÈ +ôKQÍ›‚À3ȧšaè}=¢m…DasŠšA IMvè^Ïé/ÑÜBd¢’.-Q÷É®lf]—Àu®_nM–ÿdq‡÷)?ð¡ÊSRaªñ&«8B *) ËÓTÏ5üdGnCæ!»¡”¦ŒÐ„SWÀ¶¬|˜…ÂÌGíó5ìTññîPG ÷Ô¹u) (Q.@£’¬ü³yw “÷žíe”¯ka`Ë ”÷ ìÃ=®i;9çǹþH{ù¾•ë ãï¾ËÑ2øÓçä«§¯”ÂjE²³}ï¹ÝAI}£±ïµ÷)2ô‹—=™f{Ë7“[ì÷Ã@bŒÛÉFw¾áAAA¡4nÓÙï«©GZ;â¿Ø™ðôùVÿ¬Õnqm7g+ŸìTÞSñŸî}‘ß?yV¾|ê ÷á«jÒ¼co©ælùM CÀÈg¢š·LÒJ¦¦8¸‡¤D‰Jb2R»d?D-\¬†™êœÎ6$Ž¡Ûti ݦ:’øèu*¿ÑgÉòu—è:—òKNº{©0U¿ÉêÄ^%íºçNxLF¾£e½Èž'"®Q7Ù^ƒO¸Ø7ôŸ*>:€ ýTô9ßNØtÓM’zÒ’¬ü³M'Û|ò݃ª nN =£F¶zä\Ø,²X¡¬¥<5öÙ¤SÈw6{Ë/_²ÐòÚžXgWÔ­+§ù_$5Ü––Ù _¢…ØW+úsû©»U&ý]¶96÷†Àúƒ@UÔØ¯?¥g9]W`BòïÿÛ›Y%JCºç‰üØ=C "ÀÔ %F¨©çœAŒ9W­½jë9"EL%Aâ31ʼnN9UD+2ŽD¶ìéâ¯Q;¶U[:w鞸BÊ…Ô®-˜M‡®=7 CÀXŸ`ö„µÉ$Ýódþì¾!PÞÀµ™ÌÕ§’슃NßÄ0 õk××’·|†€! ygcÏLÂ÷¿^ܪÚ\JÌ%›ª`n C _ðm ; øÖ0ÖBê´k¾¦ÙÒe†€!Pñ䥯^‰¼Ú U<,£!`ù…@Øj™_)´Ô†€!`¬kò‹Ø»ÞÊ+¥*…Å‹È4S뺚Xü†€!°.Û@mã üu™0‹Û0 C ¯Èb¹M ‚¢ó“ÎîžÛ¢9gSœ¼BÚc†@ŽÐ<ú¶ÐÄÚFîÄÄ·ªÑ›e|ä«§|í”D2ö¿Æ=ÇÒšbî\¿„QÑRÚtgšÞ\ãá‹Ã‡÷Ñ„ç™Æ›oîø¦A¿~ýò"?ìcŸèK°ù†™¥§ê"Ä>ÀW >ÔžÄq]-ïR$ØN CÀ(ghi }›X¼þHÛÊrŽZ>øàÙgŸ}ü×6<ð@ÿIöTq>ùä“ÂVôË”¯¼òJ*ç)Ÿ½ôÒKòÞ{ï¥t“êáûï¿//¾øb*'åò¬´éÎ4Q¹ÆóÅ_å„„ç™Æ›oî Óú%äuŸ?þøCn¼ñÆ|ƒÈÒ³!W‹gýt3Ú{Wœ8rï.¸61 C`}E€6P5ö¾m,·™å „éú믗{ï½W¶ÜrK™9s¦ÿ;Ÿ†çïQùþûï²ùÚk¯IãÆeìØ±rÒI'ÉV[m%:tˆ:·ë<@ਣŽò_`̓¤X C  È]8óËÞ$'Fã±#õ?w»šëÑjÈ’821 C`ý@€6¶6ÆZÛEr¯Šb~¹2`ÀÿVH=Ò´iSÙyçåÛo¿M&xH=Ò¾}{ÿÕÈþýû't½‰vÿ°Ã“wÜQ.½ôRá³ö*“'O–³Ï>[vÚi'Ÿ>ý¾téRÿ˜¯Fâo»í¶ó$õóÏ?Wo²hÑ"¹øâ‹e‡vƒ:H¾úê«ø³ð„ï¹Üu×]²×^{ùpŽ;î8AûŠ®§žzJ®»î:Ùm·ÝÖ 'UºÃ80 b ÊM7Ý$Ÿ|ò‰¿uÁÈgŸ}&§žzªÏãgœ!Ó§O;Oæ(wÜq‡ðq›C9Düñ¸¿³Î:K† "^x¡Üpà ñûœðÑÉûï¿ßßKÿG}$ ÀLﻆ¦*«hZR¥; “s°9òÈ#}ùì»ï¾¾\¢n¢×Ì8ñEQê-¸4È;a°úôÓOÇ3Ãt÷Ýwǯ|ðÁxøãÇ÷u¯oß¾rÊ)§È?üw7lØ0.u–:óûï¿ÇŸÙ‰!°.Èb_œû¸fÊõVŽÛû­È¥²cãÒü’u‘Åi†À:A€6¶6rO›èÍý±ü“Äׯ[¶lY"¢-Z÷ ý™:ujü>„˜†÷â#'sÈèUW]åͶØb ùøãã®0o î·ß~[^ýuOT!éCü¸¯¨Ë×_-gžy¦7Z¹r¥÷ ÉßsÏ===øàƒ×"¶Á›o¾éÍRHæ=zôˆ›«@`!ö Þzë- ÃI—n ŸãŠ+’Ê´iÓdÁ‚þÖ¤I“ä‰'ž+®¸Âç‘›Ï<óŒ–.HýìÙ³åå—_öæR_~ùeœ˜Nœ8Q@l¶Ùfž|ú‹ÿ0+£ƒ‡TñCfxà?ƒÔ‹‹.º( *~ž¬¬pMKªtÇt'sæÌ‘Ë.»Lþö·¿ y»òÊ+=§ü“ v÷·Ür‹œþù¾Ní¿ÿþ¾~€y—.]âõ‹ºòÝwßùƒ†Å€gÓM7õƒG# ˜0íbpÀ “Á OêÛ®»îêÿä’Kül•†aGC`] ?ÄžŽŠ^«˜Ð£™ªæ.±--rÚjËÿ†,’ÏG/1Íýº¨)§!`Thêiëhóhûhi ii}SéÛJÎòK„‡O˜‡Â5÷YH;tèÐøò»Ç{Ȉ#m'šÑÛn»Í/ UÍzNôb}ôÑGËæ›o.õêÕóšaÎUÐtó%ц ú¯¥óeFˆ,éá êÌ.Ìš5˧áùçŸ/îOÄÏ @ì m/~-êíÝ»·ÜsÏ=Ò®]»áküâDá¤K·úÏôˆv¹S§Nþ“ò¬mÐÅéâÜòüïÿ»ÿì<¡Yf¤‚FùÄO”Ž;ê­„Çdñ3[~­Zµòø@p)kÌ­¢’¬¬Ô¦¥mÛ¶iÓ­~(gf¨c|‘“¯s2PÒA‘º ˜„Q§Õ©SÇÏæ0`d`BÆŒã Ôcrl°0¸aðAßd“Mü %Úz⣞0ûÃÚfš7o.ùË_|ýâÙÉ'Ÿ&ÁÎ G ¯lìÉ=}”·!-¶¯§#[ã:µ¦u«Éß¶©/¿MY.7|>[f.^Uá`Y„†€!`TMëT“-jø6sOìuÍ\r_ž68Å™„yBƒß§Od€ße—]ü{ÉÇŒ ó¦P(b¾Í{XgC÷vnTyEì]_åÄuX«c‹fY-†U=?î7«S$;w¨&;´¯-+Wž¾¸juì9S¾êÎ;·?†€!`ä=Áf.­håi‹œF¥„>®­wçÞÖÞÝ/`=’»Žµ™å—ÉÖ­[˸qãJDÀ5¤ ÂÎ/Ì: ˜7ß|sü6š]´Àéû}5 Q·\c¯†ýÜsÏõájœ˜Þ lʼnl¦!û˜_`²Ñ!hx©Ž¤²÷ÜsÏybÙE¨ñNæ7Uº£~ACÉt ÑTñ0˜AÞy篙æ\˜ÁP‰Tô~¦G4ÓÇ|‰Ád?Vª²Ò¸4-™¤[ý`ƒ™¦J¤…²Öµ ê&zlÒ¤‰'ëá}êT›6mü-ž,øf‡Ù>&O ^?üpX7rß}÷ŃÁ=ƒ4öÑõ#Ñ:÷d'†@!ຑu/ÞÇuTª€¢³rÿý¯š»À¾´¨pTw3Â5\oWÓýjU-¨­í޵Üâ²ÚÕ ‹œÛÏ0°:`u 2ÔX»kÃbmšoÛ\G[G›GÛçmì][¨í"m¤¯ù`=’Þ(¾_FLa0óøïÿëCÄd…³J®£Ñ =?çœsâ{¤CzØÏž¯ÚQÌ  ‹VÙQGí÷Yˆ«¤ "QíÞ½»÷J˜hV!É & aL4ÅìØÙTMw¢¸Ýc?wì®Ñ’CN!ÉQžÈ_ªtGÝC4Ñ6ëΟþYu–ð:U<åí·ßÞ¯Q@ÉEºï¼óÎx¹% 0Ë›˜!Q>àP6,¶¥ÌCIUV¡;γI7åC¹ê`Ó $U9£­g0 k<Àý ·~‚¼ hå!ö|€²§¾S&,ˆEƒ`²óÛo¿ÉÀý51fFHþ™EÐÙ<à ÌÄX—䕯ž^ËÍ6{~_è´Qâ4÷HlÚÙÙ–ºK××É*×p­qÚ|wîƒ#Bƒfb†@eB@I9ÜM G~(5hùù…³î™¿ækëÜ_çÐýʱÙÃ.™`øa¦ÂbÁ¿þõ¯Þ™è£‚yû‰³ˆ"N› Á¬]»¶wІr5¹á!÷ XtÌ.4hàm£y††bË3´óÌ$°’…®4´­Øó â‰M5„läÈ‘xÏHŽ=öX¿ÐÂHº™e`—”d 4UºÕÉé<ýôÓýâSÌB ‡™HºxXLÊ<09êÖ­›_“IØ™¸áÛؤ³p˜rÆЉ¢Ä>]YEãÊ4Ý”?LÊw†]q ã, f±q"!͘ÒP–`Ï Šøð‡0 ‚F3,4ðZï:tèà‰¸¡N±å+qà†¸=ôÐø “™žÜNC·Þz«cŽÆ`ÁÄXW¸Êº†Ñ½ŽòýrÍ1ü1íÅZŒò8)§Gs²RïÎ9Òoq o_íþÐ¥áÞ_»gøà~Lbþ‹/ì`†@#k·XËÙŸÄí<&‰1s¸<-›Wx¸¶ÎÉUq»§ƒn•‡ÐÞbÖB+ž‰°˜÷¡`»|ûí·{BÞÏék@DýâÒ‘„Xê5„°ÑcNÀ$a0BÜhÖf¢U†Ð¥“TéŽú…`âž´f+éâa¶ŒBûúlãHå^À¢àT’ª¬ùË$Ýpê!ƒ ê!³Ià‘®¼ñG}„¤—FØ™‡z™è}£îñ,“ºRš4˜ßªRœÔqÞåðGýâš:È9?Îõ:™µÐ€#‰ò䞎Ê'8Fê‹•SÞž”ç…hê]zÖQWÅú¶ØýØdu$Ø¢0 C ”Ж©*Â5{þŠç´eþèþx›zÐÒ("±†Ï7è±å÷—öíf6’ˆ˜c¿œÎÞžÎ,‘_âV¯é¯1¡‰Ú{«»LágC¼S¥;¿Î`Dïgr.žt$7“8R¹T¤#õøË&Ñu4ŽLÒ ‰QSü33¡ ¢£á…×ø+-©'¼T‹ÀË"ü0ÍvnäŠ@Þ{2°¹w‰ïø\?æ5ôôgÅ÷èÔxF÷Gÿæn{)îëbö×0 Š…jè#n£ÎìÚ0 J@±&¾DZ­+‡]†€!`¤F o‰}˜ìä‡÷íÜ0 *ƒ@\e_erd1 CÀ¨`ÒïáUÁ ²è CÀ0 CÀ0 C {ŒØg™ù0 CÀ0 CÀ0ò#öyW$– CÀ0 CÀ0 C {ŒØg™ù0 CÀ0 CÀ0ò#öyW$– CÀ0 CÀ0 C {ŒØg™ù0 CÀ0 CÀ0ò#öyW$– CÀ0 CÀ0 C {ŒØg™ù0 CÀ0 CÀ0ò#öyW$– CÀ0 CÀ0 C {ŒØg™ù0 CÀ0 CÀ0ò#öyW$– CÀ0 CÀ0 C {ŒØg™ù0 CÀ0 CÀ0ò#öyW$– CÀ0 CÀ0 C {ŒØg™ù0 CÀ0 CÀ0ò#öyW$– CÀ0 CÀ0 C {ŒØg™ù0 CÀ0 CÀ0ò#öyW$– CÀ0 CÀ0 C {ŒØg™ù0 CÀ0 CÀ0ò#öyW$– CÀ0 CÀ0 C {ŒØg™ù0 CÀ0 CÀ0ò#öyW$– CÀ0 CÀ0 C {ŒØg™ù0 CÀ0 CÀ0ò¢lS4yòäl½˜{CÀ0 CÀ0 CÀ(g²&ö­[·.ç$Yð†€!`†€!`†€!-fŠ“-bæÞ0 CÀ0 CÀÈCŒØça¡X’ CÀ0 CÀ0 l0bŸ-bæÞ0 CÀ0 CÀÈCŒØça¡X’ CàÿÛ;óà8ËûŽ¥]ÝZ–dk¶NØ\Èà„#@J¦Mâ$¥&SšNgeš™2ÉL§¡”Igš”þA2˜´¶I9‚ØŽ±±ñ‰$Û:¬ÃºV÷ê–Vêó{VÏúÕZ2»²lI«ï3óîs¼¿çú¬´ï÷ýíó>K$@$@$@Á °–íI€H€H€H€H`  °_‚o ‡D$@$@$@$@Á °–íI€H€H€H€H`  °_‚o ‡D$@$@$@$@Á °–íI€H€H€H€H`  °_‚o ‡D$@$@$@$@Á °–íI€H€H€H€H`  °_‚o ‡D$@$@$@$@Á °–íI€H€H€H€H`  °_‚o ‡D$@$@$@$@Á°[ö$@$@$@$@³p»Ýhhh@OO&''g7Z¥áááHNN†Óé„ÃájÄmÝnì9x¯PêFWPu—£qI^î¹¹÷n-Æê”àX-ô|)ìš(Û#  X‘DÔ?~|Y zóÆÉMIWW—¾AÙ´iSÀâ¾ÙÕ‡ŸùFÃb‹èÔlÓdÈÆõSxaÏ)ül÷!¼öÏ_ENZâ¢Í•Kq =;&  %â©_Î^úÙÞ ™Ì+Ðð“W÷c4<¶˜8„……ZmYÛÉ]Œ/¼ƒúö~ß\ÿã۟¾z¾þïïøÊ®4a·…ãÆµ!¹ß>…ý•þu°> , ›Í†ððpDGGëV§¦¦°k×.;vL/­IOOÇÃ?Œììl}þðáÃxï½÷´§_–Ý<ðÀÈÍÍ1"iãµ×^ÃØØ¾ô¥/AúXJáÛw•áïž™!êe|?|åCÜV– [xþêöu÷ 16÷ߘ{ž}Ÿ½.R7Õ#5xö7GÑ;8ªø…áï¾°Ÿßì„#&umýº-âð¯;nÑSßù÷wá…×OâO§. /-OýÅTä¥è1üô§qø\ûRBÐXøðl@˜hD$@$@$@W‡Àøø8DœË±ÿ~¼ôÒKz)ÎæÍ›u‡â¹?}ú´öê?ûì³zÙÎÛo¿­ÏUUUaÏž=øâ¿ˆgžyk׮ŋ/¾ë¯ÅJzçÎèèèÀƒ>¸äD½ˆðüŒ«ë¼°«¿ÿ žÉ)¤ÄGã+·!?=A xñºïžõxúW‡p¯ùm½CøÉ7½¢ý%ü?]‘¿þé^Üöƒ×pº±|¦ nüã¯é~þá•xï@t¤ ?{ì¼ñQ#îúán¼øvþeÇVd§Ä]2ž¥^@ýR‡8>   & Ko*++õųÞ×׉{{{õƒ´ùùùxä‘G––¦=îòP­TKrÿùû¾S)ñQP÷Ë.„ËÝ›|ÕcùúGÒ÷÷÷ûù£Zvä€I€H€H€H`)1.µš£±±Q‹zY//A´š<+ÞúÑÑQ9rD x9WQQ?ÿùÏZ£I;²4G–õÈ€þ²7þ}÷Ýñî8p@—/µ—Ÿ½Y‰ÏlÌly)Ëa$8Óz»Ë—ß;«Dö¥*û­ãMxXm‰™©ío)Y¹mÚk«½ö²e¬òúßwÃØ âÕ—eÓñ¾ÊV¬W{ço.ð~›‘‰_üívåùÕç¯å‹hmÑÜV nÕæF¯K,þ‡=99Y?`! òp…¬ó2±¤Í111¡ŸÄ¾–“c_$@$@$@$êñÔSOù¦)¢¼¤¤D?è*…·Ýv~÷»ßiQ.zMò²KŽa/8òä5 ÀL²åäÕ ²sÎÈȈï«äeE¬‹¨“ X±1žú…Çí·ßP“¥;þ Ñ©Þm8ª0‹‘xà“ã¢ÔR ô«³²f|túÔÒkˆŠ°éò.÷ˆ.–m/ÕRïs…dµG¶Ëœå ‚¹ªÌ(麀ª—žœQLæÞ{ïÕ7gòíŒUÔK:aÏ5öÁЦ- ,ˆµsŒ:Lðð"å…Ð789 ²´Æ_ÔK]Ùó^ÜÊ«ÿIA~ñv9îc¿œß=ŽH€H€H€H€¦ PØóOH€H€H€H€B€…}¼‰œ PØóo€H€H€H€H€B€…}¼‰œ PØóo€H€H€H€H€B€…}¼‰œ Àâ}ÆC13¯xõ«­òÛH+1ȼeþ‹Bó/p1‰²o   I 999$ç̼¶­_ƒÉÑ¡äðI“’yËü3PØ/&}öM$@$@$2œN§þuЙšˆxëe^†ïy¢&‡à\1ž{ñÔË|eÞ2ÿÅ ¡ñe‹I}“ €"àp8°iÓ&444 §§“““Ë–‹zñÔ‹¨—yrÒ±ûG_ÇžƒgðúÕ¨ntZuÙÚ•ä¥ážíëqïÖb¬N œÕÕ˜0…ýÕ Ê6I€H€H€V$Á+rîfÒ"n¹çz}˜2Æ×†—â\Îì…H€H€H€H€®* û«Š—“ Àµ!p‰° »6=³     ®D‹_"ìg´lÉ\I'–f˜$    ˜'Ëir-ìg3²ÙÊç9V#    ¸ ËiïË3M~¢ÇÞÚˆ5m`L$@$@$@$@$°°Dw›Ã¿å¹4ù¬ÂÞßx®Fý;ažH€H€H€H€H`þ®DwÏ*ì犿àŸËŽå$@$@$@$@$@Á˜KkÏUîßú ao­$iÿÿ2ó$@$@$@$@$@ G`¾ú[êù„½d$˜x¶áɹ±±±ÙN±ŒH€H€H€H€H`žDcϦÃM™Ä昫 Ÿ°·˜Jþ±ÝnGUU•Õ”i     +$ [´¶¿þ–f¥,îohÍû7]»vÒ.mH€H€H€H€H€$ [´¶UKU«6·6eì¬eÚco*Xcÿ´äcccqüøq¼òÊ+Ö6˜&    ˜'ÑÖ¢±Ek‹æ¾Ü!]îß݈ÁÔÔ”Éêx¶F°sçNœ={÷ÝwJJJ3£3$@$@$@$@$@sFuu5vïÞcÇŽ!))i† —š³ xÿ2kÞ'ìMåÙļ) ×kRRRPYY‰£Gb||“““úë!mš¼¤H€H€¼úš>FMÇˆÎØS °!?­ \‚'Q}¬ƒöLlܘ…–%8Ü…’Ûí†Ãá˜W“ã½M8YÛ$Çz‡­ìiGŒzàkÔ‘ˆTuq²-ÓiÌgØrM/[ðaMuݰç®Ç¦ÜQì?|ãQ¥Hzè‹°c2!)Ia–ôÕý™ÿ\‚Ÿ=k@(0ÚZæè¯«åÿLÊ$¶¦l¶Ø´3ßí¿T’ âÛ4`béXÊ%66:ay[õ‹­õ0fRÆ@$@+ÀPG+z„´Ò›P€:ªr¡±s«r.z~ZÏ¡²ÉÄ´U@š\ýªF$Ò2QX˜ÔxïÇw vs1ŸíGCm=Z;]‹DlBp·àô‰n$;ËŸ­»p5¢¶¾®þ!5üX¤eä©ñç`zøÊÆƒÞ çQ×pÝCj;åÈ8ÕüâÇÚÑ:œŒ eÙ¾q¸U[ ª­6iK³È€3 2¢¼})f'[вÕè­9‡³mÝÈ/]‹¾ íˆË-EqæE¾À(OŒ¶±8”n,†cžw#r]´ÙæQy¤5nÀ¹.Ñ cX³8ßêF^qªš‹\‡• °IÛ"Lzýh2½Ì{.5O+X1D ›`´´5–ÿ5ÉKlù1isÎZGÚ“¼‰Í9]`yñ {S&†"ÀMKgÖ`ÊMlêX½òþ±µ¦I€H`eEëùvõ‡ÜÌ$$Mæ"ªº=gÚ0îL‚W«ðñ>¸Ýrô(<‘ÈÌqÂ3ÐWg#Ž«£ü–;Õ2 [Àv³1žqáàþc™ŒÄt83mèllC³ê³Ù]Ž;7dc¢»>ªÓÕÓrbƒ«Í…Öº“Џ¥èBOX”šüƉƒƒ=°z`K·¡·þŸëVå‘HÏÉ„ÇÕ†Îæ3êèÃÖ;7(1=WõAkô õôœ`@ÝäTŸÔý©» „«‹ÈÙΚCø¨®O—§fæ r¬mÍ8­Žë>…uij'‰ñ ÷tãÃÚN®OöèHô¨å2=•m(ȹÈ×ãvá\»b»:‰‘Š£·Ç _åb<aßßѤ˜¥bub¤ªoG–3 í,NG‚⢶¬T¹Í¦.þ¾ôLa_[[ 9f ………êªp¶Ss–Íw.s6È$°B Ègklô²Ä¢©Mlļlµ÷O[±z™ã¡IDATÊ9k_ZØ›B9aº1²6æ/îÅF‚Ø\Î[o„½×Úû:[™õ<Ó$@$Š<î4 «2 ‘-‚2 Åa8­„^KßZ¬M‰ÔÓóîeŒˆlÜzûz8ô§u9úOà`e«zΩ Y[ •è Ìî/Žò ·Õ|Œaõù±ö&l.Löâ.À‰7÷£µýú=y˜l«×Ÿñk·nGaât+#-xçÝ“óÉk¯ÇçóûpøÍƒèN\ƒ;Ô˜´üiÇ5=‹sbÛmePKÅuè®ýH‰ývœm énoVígaëö0Íwž;Œ#µê†@Í.ÂYõw¬¾_e“°ùŽ‘®¸Ié<‡wÔ¢áx r?·Q `ïõ,[¯Cv¢ûêf#¦µJóm(öÍ¡§¥YÏ«¤`µîC78¹./ì‡Ð\#ó>|÷¾^ÃÂÔ Uï8Ö§ÛÕ¯Gª“ºmåÑó¥g ûuëÖiPSSãkCEEEú˜Q@f~s  ašÀ !`ÕÓ2e“—Øÿÿ7)“x¶Ãß^ò¦M“Ö~/—|Ö[%-™ âÝš—ór˜›‰­‡Ô3ÞĦ-Æ$@$°òLÂUïõ~¯Z•Ïĸ,º@|ŠZnÓщچN¬KÏÓÂX–`H(¼®ÉÑ?ªS ʰ¦¦çû\˜*V¢40»Uþ˳'ûÑÑ:®zÈBéÚ4Ø}õIØpçí(‡#6žÒíØ^ªœÇªŸñá! õÃ¥<ËR3,Üæ}N`\]+d°aêFE­µ—Ѻ»;¤jï6Lôu£Ë#K1Õù˜X]ÜÝÖ¥Öä{ÎÝT‚TËW­CRíèUžt›jo¸«]×ÉÚ´YñÞe7R¿º[r›p´©U-ãÙ ¾MðN"kÓõX“jvk³#»¨D ûj44÷ 85Pso’o " ‘£– ]¤«» êED½ü L0a¬³T…µ7~ yjMýÄ$ÿqÔÞóu¨ÈÊU7)Ê@yìívÅÖ—¾´Ù™N®Ë²SûrÌ'Ìg.óé‡uH`%0zÚÝ,±üßúǦ̔[ó¦®a'ùÙ‚~xÖˆn«‘”™¼ÄÒ¸«­ñÒ›XΙÃjkêXË$Í@$@+ŠÀXÎ*1-Ÿ©]UñŽå‡¼õçm‡Z¦2–,¥ImJÍIÙÄ%K=ì˜RBZÎEØeMf`vª™™A}^‹·>,)ñJ@[ÎÚâ-KVЃS'N«g,^O”{¯·Z vi+Líð ãU–“£â‰Wž®38Ô5£ª·|x #ý}:íHŒõózG!FÕí󍨤={„¶‹Ž‹ö³³!!)aÍðL)Ïy¸GÙE!7#^Ù]ìÓ––‡‚¨3¨on„û:µ¾¿«ªýÌr'⬆«œ’ù{ZÅWC ¢ŠQ”™¬)] ë2Õ·UèqêodrCå]Š3w?¥¥¥¾ktqqñŃL?— ; 9 ¬úsozž&m%m«p—´É›ØØIs&-± Ö´)óÝþËI«·KÆ[ol¬±©+eæ¬6¦CÆ$@$°R ô56`P}Ö:rÊP–¯Ôï4 å7h®Deój›úW–êö±j+´™áÄ:Ô…a@²{ZØ’Ý¥Ne"ä£öQžœö²›÷eÈuç»ÃÕC¬«P³÷šÔ‰Üò›Pœ›Š˜ÈhD¨uõÚý¾Z*b¼Õ…½ñØGÇ;Ô…¨7Þ‰òô(Lh½\Ц0:4 DÅbªE-ÕQcƒ}•yº@uæלÂ"”XWc ŸÞ˜!\9ýg²€úaT·![ÆyYÄ!&J<Ýf6;PX‘‹óÇšq¡s«ÚšTd¬ÍMö³³Ö ,-bØL—­9ч†ö0änÉCìÌA"9»Ží¨os#Kq×m«›%_zƤftS^^>#?ŸLÐs™O'¬C+„€UG›´Ä³FÈ›Xl¬iSß »\^JˆáþƦé@l¬ßÔ3bÞK=Ó¦iÃ?oÊ“ @èBCu›šf*6–!Ǭ1Oò(a½gê1XžîóÀž9QÂϖû€î¨ÇqžGe A­5™þ6õ“ì,lo¶䦫‡R;êp¦¹×;¦G2€3êÚójœiΛ¼»Ý8J±¥,O zoèD ßšÍX=½VzhóŠäÚ¨ZÛ–Ží=4»ul>gΕ]´)ûÂÅôì¦4è¹,L·l…BŽ€UK›´5–ô\‡¿ ŸÍN€™öüá͸ý#ßsKe#ð­"Þ¤å¼5mòKs $@$° Œv4 nL}˜g”©uâ^ñ;ƒCb.Ê>B¥»õ®MX3í‰Ç@5þoO7в¢14:‚––ý]rs‰ÚUƆñífô¥36ä¯ß€ã{O¡áÈÛj»W"ÐRU©—©„å]‡Ì„84©ëBÛûFQš¾–³¨ïðzÉ{Ô÷ 7£@mÀ¯½ÿ=5Ø·Ï…”¼MØ\²?‘–jüaOJÖ©ƒñnœªnÔã/+JGDR¸²9®lšñ§ÿíCV^2&zÑ¡¶ÔסXÕ®šcDr>nv~ŒCÊnWŠÊÖ¨]qºP©n”!²·¬GªZNÔ­YÈó²lÅoƶ õ,A\²Ç¤ eÅYÁ r¿æLÖÛ—gæìòŠCi.Ë‹¬ŒU(HSøb)òiòuò3ò Š†Š…Š—JŒ We¦ÊJ•]* *×TzT)š+Š%’EY@Ù@9H¹@y@y£ªªjªê©:QU¨:_uƒêaÕKª]ª©ZT[j u2UJ]AÝC=K½K}C£Ñ,i,Z­¶‚VM;O{Dû FWsP WãªÍS«T«U»®öR]EÝBÝ_}ªz±z…úQõkê}*–l¹•'4nk hÒ54c4s5—kîÓ¼¬ù\‹¤e©¬ÅÕZ¬µSë¼V7£›Ñéú"ú.úz6QÛJ;\;K»Lû€v«v¿Ž–Î8$:•:§t:Ã’ÎÈa¬dat0>2å?Š7jÙ¨ƒ£®z¯;Z—¥ËÓ-Õ=¤{K÷“S/X/[oµ^ÞC}\ßV¢þtý­úôûFköÍ]:úÈè{¨­AœÁ,ƒ-†F†¡†ù† Ïö1ŒXFYFkNõÓ}…ÆkÏÿÁÔaú3s˜˜MÌ~“0©É“V“AS+ÓDÓ…¦‡LšQÌ<Ì2ÍÖš5šõ››O0Ÿm^c~ÏBÅÂÃB`±Þ¢Ùâ½¥•e²åË:ËçVºVáVÅV5V¬iÖ~ÖÖUÖ7mˆ66Ù6[lÚlQ[W[m¥í5;ÔÎÍNh·Å®} aŒçјª1·í©öþöEö5ö] ‡(‡…u/ÇšM»zlóØ¯Ž®Ž9Ž»ï;i9E8-tjpzílëÌq®t¾éBs q™çRïòjœÝ8Þ¸­ãî¸Ò]'¸.qmtýâæî&v;èÖënîžî¾Ùý¶‡¶G¬ÇrKžÏÏyž'=?z¹yzñúËÛÞ;Û{Ÿ÷óñVãyãwïö1õaûìðéôeú¦ûn÷íô3ñcûUù=f™±¸¬Ý¬gþ6þYþûý_8ˆŽ¼ô œx6 * j Ö N Þü(Ä4„RÒê:+ôl!,2luØípÃpNxux„{Äœˆ¦Hjd|ä¦ÈÇQ¶Q⨆ 脈 k&<ˆ¶ˆE×Å€˜ð˜51c­b b›Hœ;±râÓ8§¸ÙqÍñôøiñûâß%$¬L¸Ÿh(MlLROšœTô>9(¹<¹3elÊœ”«©ú©ÂÔú4RZRÚî´IÁ“ÖMê™ì:¹drÇ«)3¦\žª?5gê©iêÓØÓŽ¦Ò“Ó÷¥fǰ«Øá›3ú9œõœ\w-·—çÃ+ç=ËôÉ,Ï|Î÷á¯á÷ ü‚>a p“ðUVXÖ¶¬÷Ù1Ù{²‡r’så’sÓsOˆ´DÙ¢¦<£¼yíùvù%ù^ë úÅ‘âÝD2ER_¨ 9-RkéOÒ®"ߢʢÓ“¦¡9C4£e¦íÌe3Ÿ‡ÿ2 ŸÅ™Õ8Ûdö‚Ù]süç옋Ì͘Û8ÏlÞây=óCçï]@Y½à÷…Ž Ë¾]”¼¨a±áâù‹» ý©¦D­D\r{‰÷’mKñ¥Â¥­Ë\–m\öµ”[z¥Ì±¬¢ìórÎò+?;ý¼áç¡™+ZWº­ÜºŠ¸J´ªcµßê½åšåÅåÝk&¬©]Ë\[ºöíºië.WŒ«Ø¶ž²^º¾sCÔ†úæWmü¼I°éVe@å¡Í›—m~¿…»åúVÖÖƒÛ ·•mû´]¸ýΎеU–U;‰;‹v>Ý•´«ù_ªwëï.ÛýehOçÞ¸½MÕîÕÕû ö­¬Ak¤5½û'ïo;t þ ýÁ‡‡ÊƒÃÒÃüšþkÇ‘È#G=޵¾ýDĉÆï†ã¿9ü¶ç¤ÉÉÊS:§Vž¦œ^|zèLñ™³ùgûÎñÏu7Nk¼>åüͦ‰M­"/\ºrñ|³ó™K>—N^öº|âŠÇ•º«nWk[\[ŽÿîúûñV·ÖÚkî×êÛ<ÛÚÇ·Ÿ¾îwýÜ o†ß¼z+úV{GbÇÛ“owÞáÞy~7çî«{E÷ïÏ@xPúPãaÅ#ƒGUÿ°ùÇ¡N·ÎS]A]-ãßïæt¿x"yò¹gñSÚÓŠgÆÏªŸ;??ÙÒÛöǤ?z^ä¿ì+ùSóÏÍ/­_û‹õWKJÏ+ñ«¡×Ëßè½ÙóvÜÛÆØGïrß ¾/ý ÷aïGÍŸ’?=œþ™ôyÛ/ _#¿>ÊÊg‹Ùò£š™ Àë=ÐRáÙ¡ Ššâî%Dq_”#ðŸ°â~&xrÙà q>QðŒ²6 ˆ©°—½XuqiJ‘dº8+bQá †ðahè!¤¾ˆ‡†· }ÙÉÞàlâÎ'"<ßoד¡–ŽOÁòOSmõáød5 pHYs%%IR$ðžiTXtXML:com.adobe.xmp 1502 936 ZÖ=ÜiDOTÔ(ÔÔöoÙ'ZŸ@IDATxìÝœœu?ðoz²éÉ&›Þ¤!Òk  =õl¨`ÃÃ;ýÛг{§žz‚ÞÙE<±œ(§ˆ€”"Òb „„$¤×ͦnú&üŸYØdfw¶Îìd3y¯}ÍÓ~íýÌîÊgù=í¶lÙòBòŠC‡UEòêÞ½{téÒ%:tèÚõ"@€ @€ @€²Û¾}ûhWQQñBMèž Úûôé©^ @€ @€ @€@ÓR9û¶mÛ"Ä·Û¼ysuðžšõÞ¿¡{Ó ]E€ @€ @€2Rá{2Ù=Ú•——Wï©åeJJJ2.²C€ @€ @€4]`÷îÝÑnÓ¦MÕÁ{ii©ÙîM·s% @€ @€¨#šõÞnãÆÕÁ{YYY  @€ @€ @€š'P¼§{4hPóJºš @€ @€¨#ÐnÆ Õ3Þïul @€ @€ @€Í¨ÞS3ÞÜì  @€ @€ @€™íÖ¯__=ã]ðž c @€ @€´D :xOÍx2dHKÊ+C€ @€ @€¤ ÞÓ0l @€ @€ @€\ï¹ *O€ @€ @€Òïi6  @€ @€ @€@®‚÷\•'@€ @€ @€i‚÷4 › @€ @€ @ WÁ{®‚Ê @€ @€ @€4Á{†M @€ @€ «€à=WAå  @€ @€ @€@š€à= Ã& @€ @€ÈU@ðž« ò @€ @€ @ M@ðž†a“ @€ @€ä* xÏUPy @€ @€ & xOðI€ @€ @€r¼ç*¨< @€ @€H¼§aØ$@€ @€ @€¹ ÞsTž @€ @€¤ ÞÓ0l @€ @€ @€\ï¹ *O€ @€ @€Òïi6  @€ @€ @€@®‚÷\•'@€ @€ @€i‚÷4 › @€ @€ @ WÁ{®‚Ê @€ @€ @€4Á{†M @€ @€ «€à=WAå  @€ @€ @€@š€à= Ã& @€ @€ÈU@ðž« ò @€ @€ @ M@ðž†a“ @€ @€ä* xÏUPy @€ @€ & xOðI€ @€ @€r¼ç*¨< @€ @€H¼§aØ$@€ @€ @€¹ ÞsTž @€ @€¤ ÞÓ0l @€ @€ @€\ï¹ *O€ @€ @€Òïi6  @€ @€ @€@®‚÷\•'@€ @€ @€i‚÷4 › @€ @€ @ WÁ{®‚Ê @€ @€ @€4Á{†M @€ @€ «€à=WAå  @€ @€ @€@š€à= Ã& @€ @€ÈU@ðž« ò @€ @€ @ M@ðž†a“ @€ @€ä* xÏUPy @€ @€ & xOðI€ @€ @€r¼ç*¨< @€ @€H¼§aØ$@€ @€ @€¹ ÞsTž @€ @€¤ ÞÓ0l @€ @€ @€\ï¹ *O€ @€ @€Òïi6  @€ @€ @€@®‚÷\•'@€ @€ @€i‚÷4 › @€ @€ @ WÁ{®‚Ê @€ @€ @€4Á{†M @€ @€ «€à=WAå  @€ @€ @€@š€à= Ã& @€ @€ÈU@ðž« ò @€ @€ @ M@ðž†a“ @€ @€ä* xÏUPy @€ @€ & xOðI€ @€ @€r¼ç*¨< @€ @€H¼§aØ$@€ @€ @€¹ ÞsTž @€ @€¤ ÞÓ0l @€ @€ @€\ï¹ *O€ @€ @€Òïi6  @€ @€ @€@®‚÷\•'@€ @€ @€i‚÷4 › @€ @€ @ WÁ{®‚­T~YùÖøÛšíÉWe¬Ø¾7—ïŽ]{«â…²78qP÷ݧkœPÚ-^9ºOLÜ/ºtì˜ýbG  @€ @€ @ Õï­FÛüŠ—•o‰ŸÌÛw,Ù¶íCõ„ìM©¹O÷ÎqÞ¨^ñžéã䡥ѥ“¾)n®!@€ @€ @€@®‚÷\óPþeâGOmˆû—nªƒ9¤íõôe|Y÷øÀËÅk& ‰^];Õs•à @€ @€ Á{>[XÇÒd†ûÿ»wy<¶rGÊez{Û_V;sh\4nPtï,€o"›Ë @€ @€ Ð,Á{³¸òwñWþ²$¾ó蚨ªÊÿ ÷Æzùʉý㣧‰ÉƒúF'ëÀ7Æå< @€ @€š% xoWî/Ù´%Þû§¥±hCe½Jm¨•®ÛǘҒèÔ¡]<_±'*÷ÔÿÀÕ†êœ<ˆõ_ϳ& Ž]Ì~oÈÊ9 @€ @€4G@ðÞ­¯½t}\õ§%±cWU“jê×£s¼bLŸ8wXϘ6°{L,Kf¨wèP§ìòŠmñôÆÊxdÝÎøÛêñܦ]MZ+¾K§öñ¡3‡Å»NýKºÔ©× @€ @€h¾€à½ùf-*ñ³¹+âº{–7ˆwíÜ!ÎÝ'ÞwÒÀ8kTY´·ov{+’ þlŒ_?];÷7:³þªÓÇOe=º6»­æX¿£2–WTÆ®‡š[4ãú¾Ý:Ƙ~=£_÷nÇ›²³kß¾X¶yglܵ?ãò^]:ÄØÒ^QÚ‚:3*²C€ @€ @€Àq- x/Àí¿é¥ÐýàÁ†×s¿ò”Añ“Lj~½£}ûæR±³2~ñôÆøÑ“bÓö} ðïKÂ÷k ¾ÿváúøê_WĪÍ{jw·Ùû:¶Kþ@˜5¶o¼vâÀ˜0 W“êx~Ke|ù/ÏÇí 7g\?ehøô¹câ‚1¥Çí @€ @€ @ 9‚÷æhµàÚû–¬wܺ¨Á™î““À÷›3GÅô¡¥Ñ!KàþÐócoÕÁHÍÈ>)¹¦KǺËÍ4Ôµ•[¶Ççþ²"î[º5öí¯¦ùµg‹«N™Ìøn½egò¼§¹¤kÇxó”qõ)ÃbT2¾¡—à½!ç @€ @€ÈU@ðž«`å—lªˆWÿò™Ø¹»þ5ÝßuêàøüŒ Ñ­Sf˜^¾cG|ùáÕñ»d¹˜ýi˲¤®úÆ$`þÌùã£o·Î ´^÷ÔÍóVÇ—\[+Ô=™I­ùþ¥ FÅN=»6¯î¬f9ØZÁ{MS/ÎZÌZPs¨Î»à½‰ @€ @€äQ@ðžGÌÚUsãc±dã®z—xùÌÌ‘É óÑÉ öÌeeR¡ûÛÿð\Ì_»3ʾ<Ͱ~ÝâÆKÇÅ”Áý£c3Ö¿o鯸ÔýËcåæÝ‘­êA}ºÄõ¯çŒ;v¬=¤œ÷[;xOup|Y÷dɘÑqñ„Yû+xÏÊâ  @€ @€y¼ç ²v5_|`q|÷ѵq¨ž•]þ÷Í'$Q-˺´Ì¬›ÿO®Ù‘”ͺ״õšÉ¥ñµ '%KÃ4ovú [âýw,©þ£@¶&fNèÿ6s|Œí×½¦©¼½"xOuöå#zŧÎçŽê_§ï‚÷:$ @€ @€ GÁ{1kªš³zS\ú‹gê Î?›šé~êèèœe¦ú/æ­ŠëîY{÷¬©®Á÷_þã¤ê¿s3×}|Õæ$|.ÖnÙ›µþëfŒˆ+O}Kò»Þ{CÁû¹cûÄ”‡ýÛöVÅüM»cY2k¿!§w%«ýøY£¢’Œ1 Þ38ÚÔÎ /¼·ïˆ›vE»¤gSv²>½ÛTu† @€ @€@c‚÷Æ„ZpþÕ7ω¹«wDd™°þÞÓÇçfL¬³¼LM3×Þ¹0nY°)TÕ3U¾æÂ—Þß—Ô÷ѳÇ6{½÷Tñ_Î__JºZ±c­Z#Æ ,‰^zbLԫι\4¼_ɤxÛô!M®þ›ã¯ˆ¹kvf}xí¸Ô’3猊K&–eÔ)xÏàh3;‡’ÐýÑ•ã}·/‹3†÷Œa=;ÇŸ—m‹ï¼jtœ:"ó¶™Në @€ @€,‚÷,(¹ºwÉúxûoŸÍº~úÔ¡=âö·½¼ÎƒTÓÛ{Ó-OÅCÏoƒ³¤öé¾´ýÖ“Êâ³3ÆGÿ’æ-7SSÕ5w>¿fSÖ™ã×?"®xÙðè—ÇYïù ÞScX½­2ùãÁóqû³YÃ÷:cH|üÌQÑ£[ך!‡àý0E›ÚØðPÌøéqíiCâGOmˆõ;÷Ç^4:>óàªxì}g´©¾ê  @€ @€†ï é´à\õl÷UÉl÷,¯»¯˜Ó†”Fûv©E4²¿ ¼¯Ú²=®üãâX¸¾²Îzô©YïßOf½Ÿ”ÇYïùÞSŠ®¨ˆ/'áû¼dæ{í×+Æ÷Ož=*^6¤ïáS‚÷Ãmjã@¼àOÏÄ'öo<¶6*“å–nxåèøÕ3›ã[³&·©¾ê  @€ @€†ï é4óÜs+âÜçE²bFWjI˜Ï½bbÖuÝÓ/.äR35íþøï«’%[VŖʺKÎ|é¢Qñ֩âWזͨ¯i£æ½5‚÷TÝ_~ðùäa¶+ëÌzŸ<¤G\—Ñ®Ùî©ö\¶1®øÃ¢Ø½·u®š>¶­•»âÍÿ·0æ'Aç¡ZK˧fŒyæøß¿Gz‘o·Vðþ³ykã›Ézï¶íËèÛÀÞ]âºsGÇåÓŽ¬_ÈïÛwïe;¢bOU é]“Ëúdô¯5w¶îÙsVWDI§qâ€Ñ·Gã®miöVL–HÚÚ·‹‘½»ÆØGþ…ASëYƒ=÷ÙèÕ³Þÿ–ÌzOÖÕNõ*é7¿qjœ1,?qkïw/-hyõ’9éý/tð¾- ÚXQ¿YXs“å{j{vèÐ.öêçì¯?¡,^1úÈLüô~×ÞÞ–„è·/Þ?K¼›þ*ëÞ).Ÿ2(fM[vï‹;ŸÛÿ·xKÌÛPÛw8|iûö}ºw޳GôŠ×N(ËN8ò‡ˆÃ5cc×þª¸õ™µqç²­ñ×Û’gdþŦ}ÀPç&í½7yÁØýšT{U¾éÅñôæÝ‘ZiÊ€îñùä_Šx @€ @€8–ïyº[‹“efΫg™™[ßzbœ5ª¬ÁµÝÓ»Q¾cG\}ײxxù¶z²šš‰þ‹OŒÝ»¤mñöª­Ûã-·>K7î®SÇ/L–›™6,zça¹™b ÞwïÛw,Ùßxdm<_^×°jr s§öqƈÞñ±³FÄéÃûg»äð±òʽñ㹫â[]søXj#õ‡…%#Û·k\wÿÊXÞ„¶;&áÿ´dFù7/“5-¯it÷ªøÃÂuñùä§[³,MTs]ú{ê ïß¼`t èÝ+ý”m @€ @€E) xÏÓmýÉœåqÝ=Ëë,3SÚ³K̽úÌèÚ1™rÜÌׯ歊&K×,Ú°+&3S¯aýºÅ?Ÿ2(Þ2mxtïܱÞYY=;µ‹ñúD—Nõ_—^ÁU|&îXTûdÎ^~Óôññ³ÇĈ>%é—·h»µ‚÷ü}M|ëo+êÌ0/ÄŒ÷;wÇ÷笎>±>TeÚ5ipšäÌqÅIÃê½¼¾à½G·Ž1¦·X´qWûVoe/èŸÌ¼ÿÊÌ1ñº›6û}ÇÞñÝ'–Ç>”þ7ÖNõùdúzßâWÿ0)NÖ´YþMª×E @€ @€Ú €à=O7åÝ¿Ÿ·/Ü\§¶·$Ël|óU'D§ÍÞëTÖÈ»“eF¾õøš˜—¬Õ^uðÅ ¾KçöñÚJãê“Å„}“~t¨·–Ÿ$3ªSY­¨µÜLê¥7ÌšÓÊrŸ­ÜÁ{åÞ½ñÉû–Æoæe.Ã’èÉÉR'×=*Î]zxÜù\ã=×н¦S¥IþÁÓGÄէލ9”ñ^_ðžqQ3w’Õ`bìÀ’øá%ù¾= Ý¿÷xº×šqßÌ&_ ß_/|o®›ë  @€ @€Ž-Á{žî×E?"æ­ÞY§¶.oš:¼ú¡“uNæñÀ§ï[?jCìÝ—ý¡¬}’µÀÿmæÈ¸xâàd¦|§¬-?‘<ˆóê;Ÿ‹U›÷dœ/K–3¹ñuSâÔ¡½3Ž·d§5‚÷?¿´¾û³Éšêµ_©õõ?yÖ¨8¡ìHßó¼ïÞ»/~ôäšø‡V·h¦{í¾Ž/+‰/ÎŒXûT´Fðžj$õ‡™K' ˆï]:¹N›5Rë¹ÿöé5ñ±»ž¯9Tç=õÌà’ä!Âý’uäWWd~~j_ܯg§xèÓ-;SÆ> @€ @€@ÑÞót+þûì¬5ÝwåÔ˜2¸4Ú¥’ÉVzýtîÊøò_VÆÎÝU ¶ZÒäÿqzL*ížõº­•»âµ·<‹Öïªsþ·o;)ÎÕ¼õÀëT’ÈwðþØš-ñ…Ÿ9+wÔi®SÇvñÓ‡&k ˆݺ>Ÿ¯àý¾ç7Ç“¶³þ©Æõ鯛T§ êÝ’¥†¶í­ŠÙ+·ÇŸ—nÊ=uïU‡d zjíþïÍš½K2—õiJðÞ)icd²ì̬±}âŒ!=«Ç»5ióI{$AÝWk ¡²¤Ÿ?Jf½Ÿ12û0Ë·î‰WÿüïuÖtO}¤SËǼû¤AñÆä_UŒ)í[]循ƒqçâõqÃëâ™uuÿ’ZóýõSÆ_RØ_Ó7ï @€ @€ŽEÁ{žîZ}Áûêψ.-Xß½9ÝšqããñìÆÊxáÅÕe,úΗŠ&ëµêq$ˆN/ðšŸÏÇVoK?T½ÝÖ‚÷òÊÝqË3âÇOmŒ5õ̰WÖ=>}Ψ¸dbYÆxò¼oݵ'¾ýøªøïäaªµ_Ý»vŒË&õŸ1"Fõ{1O¿æ‘Õ[ã3÷/ùkêþ ‰¡ýºÆ'“>¿yJæºësÑpE²¬Ñ?¿|h†gþaeUU<²rs\óççcý¶½é]©ÞN­ÿÓ†U.jŸÜ¶w|÷±qýÙ뺧B÷Á}ºÆÏ^;!¦9²ŒOzùûªâêÛŸ‰{W¤®Þî’ôÿô²‰qÎèºËâ¤7¼-Y>U¾öÌ÷Ž‰Ó¿œ14>uþ„ôËm @€ @€( Á{žnc¶à}Ú°žqÇå/έø`Õo?ú||ëo«c×Þìk»gÞÝï:%NœýA©ùó¢øÝÓcO­µâ?~Þðx×ËFDÿî­¼gëkKÍL–lùä9£“qö©SE>‚÷;–lŠÏ?°,V”g®g>"YêåãÉŒõ7M\§Ýô;ö싟>µ:þíþU釫·OÙ+~téÄÒûÈlù†‚÷‘¥Ý⛋óFg_*¦¦M•{ã;Éìõ<¶®æÐá÷Ée=âþ÷œvx?µ‘Z2æþeâ¿[œq<õG Æ÷ÿù‡idzí8x(x~C\~Ë¢ŒÓ©ó' î\yjÆq; @€ @€ŠA@ðž§»(xodC3Þ›VCãWÍœÐ7®;{tLϺ§Jç#x¿)y¨ê§ïYZ硪çë_¿p\Ö%fj÷üãÚ»Åæû3NMJÖ„ÿZRÇ™#ú>^_ðÞ>Y~æ¸þñË76‚ï9p îX¼!®¾mÉázk6²ïÛöìÿ~|EÜPk™™ÔÒ4_½ptõCƒkÊ7ôžšõ~áÏæÄªZKuNfÚϽêäØ;ûªÓ9 @€ @€mY@ðž§»“-xOUÝÚk¼j©™caÆ{j&öEãû%k«¬7tOÝ“|ï?ž³:>uwÝû/ßœ51ÕL£¯¹ë¶Çç\.ßžqmj÷Oœ=2Þ’,íSóª/x/éÚ!Þ²2~•<Ø5ýÕ'Y÷ü§ˆk“à¿)¯wÄ—ÿ²,N|[ ÞWmß—ÿn~,Þ°+c8#ût‹'>pfƱ†vv8_¸ÿ¹øéœõ—¥ÖyÿÊE£ãŠ“Ge·C€ @€ @àX¼çéÖ¼ßwåÔ˜2¸4Ú¥µn¥×Oç®LÜ•±swUƒ-¤‚៼f|œ1¢4:uìXçÚ­•»âµ·<‹Ög­© û¶“â¼Qýê”iî|.53¨O—˜1ªw\<¶oœ6¬oôk$p¯ék[ Þ7ìØß}bU|¿Öšë©—¾ï”¡ññ³ÇÔt9ŽÆŒ÷ú‚÷ÃÊq#õ ÚÔV?í«9J*N€ @€ ÐÖïyº#ýü‰˜·zgÚn¸d\õZØ’µ¸[óõéûÇÏŸÚ{k=µ¦Í.ÛÇ×_9:^3iHtïÜ©æpÆû«+âê;Ÿ‹U›3ZÖ»KÜøº)qêÐÞ×·d§¡àý]§ Ž “ ½¡W¿d}ñ1ýzFßîݺ¬Ásm=xO­¡þΗ ‰ÏÏwx‚÷Ã6 @€ @€´yÁ{žnÑ»??n_¸¹Nmo9©,¾ùª¢S‡öuÎåûÀÝÏmˆo=¾&æ­ÝU_¨®>¸Ÿ1¢w|ú¬a1yp¿¤êmö'sWÅ7^;3ö9yH¸aÖ¤˜V–ûC0 Þ¯¿dR¼múzû—¯‚÷¦­ñnÆ{¾>qê!@€ @€8Þïyºã?™³<®»gyÄ‹y÷áZK{v‰¹WŸ]“I6÷õ«y«âW ËcΪÕAz×$DŸ6¤g¼kÚÀ¸xâàèÖ©îr1©6*vVÆÂòÊ$doÓ÷’ÎÙ¯«ÝŸ«þøLܱ¨<ö8”qêMÓV/{2¢OÃk§gªgGð~¦¾¥fÌx?bd‹ @€ @€À±( xÏÓ][¼±"λq^¼P+xOUë[OŒ³F•Eû&®ó^¾cG||öòøós[¢ª*K…I¯™\_»hR”–tÎËVmÝo¹õÙXºqwú¾xá¨xë´aÑ»kîm ÞðÖ¼·õ5ÞSýûGÒ­ԷÃÈÞ]cüÀÜŸÐÂ.(F€ @€ @ UïydòßǦíûêÔ8ë„þñ£Ë¦Fç&.7óỞßÌߪ2gž×®øªÓ‡ÄGÏ}ºe_³½öõ íÿøïÉ23[[j-3Ó«¤SÜüÆ©qư> oò¹bÞ»wíW:<®;wt“<lÜ‘<wYÜ¿dkÆõCûuOœ=2Þ2uèáãmi÷~=;Ço£KûîŸ  @€ @€ŽÞXä¼õ‘»ÆÍOn¨³ÜL×.â¡+¦Åˆþ}¢]#³Þ\¶1®øÃ¢Ø½÷`£ýI­ß~ë›NŒ— íX»½±Š¶VîŠ7ÿߘŸ¬ ¨VÖÿŠñ}ãË3ÇÇøþ=«¦Iç‹!xO ôÇsVǧî^RgÌïxÙÐøæ¬‰uŽg;0wÝöøüƒKãÑåÛ3N·•à}c徸佋ãOµž]úcÌwf‹YÉrG^ @€ @€Ô¼×5iñ‘ç’åfέg¹™÷68>÷ЉÎz¿öÎ…qË‚MÎv¯éäGÎWŸ6:Y¦å³Þ«g»'UÝR™ùPÕT_º(Yffê°è•‡efRõKð~Ó“kâÓ÷,­sŸÎ×7¾~á¸Õ¯gj¸ ¾î^º9®½kQlÞ‘é>iP÷øZRÇ™#ú.4f¼oÛ³?þûñqÃÃk÷#µ‘úƒÏÛ¦ª^ê(ã„ @€ @€ªïyþ ¼úæ917yj¶×ÝWLMŽZÚàZïoºå©xèù­qð`öµÝk×ûÖ“Êâ³3ÆGÿ®õ¾jËö¸ò‹cáúÊ:³ÝÇ ,‰ï_zbœ4¨Wíf[¼_,ÁûK6ÅçX+Ê÷dX îÛ5>ræÈ¸â¤#ËÄd\ðÒÎŽ=ûâ§O­Ž»UÓ§Žì?ºtb é}$¼?Áû¾ªƒqÿ² ñÎß-Îècêm ïß-îzË”(íu¤Ù!@€ @€ p Þó|óï]²>ÞþÛgãP–Ü|êÐqûÛ^Ý:u¨·ÕBï×Üùlüþ™M±wÝ¥m®;D\ñ²áѯ¤K½ým¼÷OÖ.ÿØ9£ãÝÉr1½ž\·-¾òðòx Öúì©rç%³Þ¿ÑȬ÷ÙË+â£w/Ž5{3šêܱ}¼aê ¸aÖ¤ŒãG#xOuàù­»cÖÏçÆÖZÿ¢s§öqé ¥Éf¦dô³¾]Éçëƒw<%;Ä]<¹¾Ë'@€ @€ P‚÷V¸Õ³ÞW'³Þ³„ïïM-93cbtIÖl¯wÿaAܵhsT5qÆ{j ›ž=6úv뜭ºýrþšøÒ_VDE­¥NR…R³Ý˜ÌvŸ–ÇÙî©zÛrðÞ±C»¸âäAñ¯çމî]þcî½ûâ»O¬Š¯?´:5¬ŒW‡¤ž RkãÏ[gÉ™=ûöÇ_Vlޝ?¶6æ¯Ù™Q.µ3²´[|ö¼ÑñšIƒ2έà}K²ÜÌ7^?~|}FR;©ðýMSƧÎ^ïÌ÷CÉ_ –oÞ¾oyõZö)›7Lÿu‰ð½¨ @€ @€E# xo…[9gõ¦¸ôÏ$K·dIÞ“ö>;sd\uêè¬ë½ÿbÞª¸îžåYg gëê/ÿqRœ7º,:w¬}¶r³“‡¸^û祱aÛ¾l§ãº#âÊ“†Gß<ÎvO5Ô‚÷]ûöÅ—ÿò|ü䉺arêA¸gŽè—Žëƒº¿¸nþ€äa¢ãJ{F®]3¬ZYQ]Ï“«ëè© õ鯛T§$k¶wKþвvçþ¸#YFhN¸Wî©Ê¨+µÓ¡}»H=Ìö{³&Dï’’ŒóG+x¯:x0þ¾fs¼ñ–gcßþZOÞMzØ>éó°dy+¦ Œée=â¼1eQ•<¡wɦ-Élù}ñ§e[ãöEŸçöÉßœNÙ;~|ñøØ;Ëe€Ù!@€ @€ pï­„ÿÅÇw][gÝôšæþ÷Í'TæR)d­×¬›ÿO®ÙQop_sùŒ$¤ý¯‹OŒÝž]s}Íû [âýw,‰%we]gæ„~ño3ÇÇØ~ÝkŠäí½-ï©ÁüïÓëâ«]k·d.õ’m 3Ç÷‹/¾bLL(Í ‰w'³Þ”ñ=>“šù~Êè:ËÎ<µvs\þûE±9Y¦¾²Ãúu‹/S÷Žê†÷õ ë¾¥ãS÷/•›wg ÝS³´¯å˜8gÔ€d}Çúªiññ¶¼¯ÝVÿþðЏeÞ¦FÇR_ðž*¸qçîøþœÕñÃdö|.á{i¯ÎñÁÓGÄÕ§ŽÈÚŸ£¼§:T¾k|âžEqûÂÍYûלƒ©‡³NÔ#~|ɸ?°_sŠº– @€ @€À1! xoÅÛ´dSE¼ú—ÏÄÎÝu—©iö]§ŽÏϘPç«ËÊ·Æ O¬‹[Ÿ)ýŽÌ¦îÚ¹}¼jBÿøèiCbÜ€¾Ñ¡¡ûÍóVÇ—\‘<(ó@Móï]’5»¿tÁ¨xÉC¢g׿¯ŸQY=;m%xOuoîÚ­ÉRWăK·ÖÓÛ7¼§®È5|œ,Õò‘3“Ùž4¬Þ~íà=Õ±-»÷Ç\¿zrc½ýlìDj¦ûé#{U/33À23q9O€ @€ pŒ Þ[ùÆÝ·d}¼ãÖE >,uòÐñÍ™£búÐÒdïÌÙë›w쌧7UÆ—Ö‹?¡I îÛ«Îu cå–íñ¹ä!ª÷%s¶uºkÊ^{ö°dþÈ(mæÒ55å›òÞ–‚÷TnÜÿùèʸsqE2c=û?Mh,xOÕ³;Y7þ¾eåñÍÇ×ÅÂu•©C¾R'=wtŸøÔÙ£bêà> ^ß‚÷Tw¨Š?-Zß™³.­ßÕ`ŸÓO¦f¹éÛ->rÆxÇI#ÓOÙ&@€ @€ Pt‚÷Üқ殨~`êÁƒÙƒÝš.\yÊ øÀɃcD¿ÞÉC+3øškšó^±³2~ñôÆdò ±iû¾z—­IÕù¾ÓÇ5§Ž²™mN{M¹öþååqóüõ±jG݇º~ôÌQñªqšRM^¯©Ü³7žÚ°-î[±=ž.ßÛöeþ …³‡õŒ÷¼lX ïÓ£Ñv·íÞ¬(ß,¬ˆ¹ë+cKò@ÕôW*lüñäüä®—M§ oÚR+Ûöì‹ÛoˆŸ-È\§G§ñʱý“%jšf/Ú\¼óÙô.Uoí[ß¿trãõØWu0Y¹)~ólE<š<,vÍ–=u.M…íƒzw3‡÷Š‹ÇöËNZç @€ @€£€à½@wõg/…ïU„ï];wHºÚ'ÞwÒÀ8kTYtjÆR25CYQ±-þgÁÆøõÓåQ‘¿õ­_sýUIèþÁ„î5íoïë¶ïŽ[wƘäaµƒz5Þ«>ûL ¼9öŒ8oLÙ±: ý&@€ @€ ³€à=g¦W0{éú¸êOKbÇ®ÌÕõÕЯGçxŘ>qn2ãzÚÀî1±¬oÄw¨sùò$hzce<²ngümõÎxnÓ®—¶©© µ¦û‡Îï:yxô/éRsØ; @€ @€ä xϯ%E—lÚïýÓÒX´¡²Ñ™èÙêO=\uLiIÀ·‹ç+öD垪Õ3¸O×ø×s‡Å¬ ƒ£G—NÙšrŒ @€ @€Z xoZ>Š|å/Kâ;®‰ªzè™6ê«ã•ûÇGO“%3è;v¬ï2Ç  @€ @€ @ ‚÷ å«ÈÒò-ñÿî]­Ü‡5üàÕ|´9¾¬$>væÐ¸hÜ èÞÙ,÷|˜ªƒ @€ @€µïµEŽÂþË6ÄžÚ÷/ÝÚ¤µÙ›ÛÅñeÝã/¯™4$zu¸7×Ïõ @€ @€hŽ€à½9Z­|í²düožÝ¿YXë·î‰\&Á÷éÞ9ÎÕ+Þ3}`œ<´4ºt²¤L+ß>Õ @€ @€ @ Z@ðÞF?ËÊ·ÆßÖlO¾*cÅö½±¸|wìÚ[ÿƒT'꣓¦ž:¤Gœ3¬gœ8¨_t±~{½»ºE€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þ‹ùî @€ @€\@ð^pr  @€ @€ @€@1 Þótw—,Y’§šTC€ @€ @€£+0~üø£Ûc¼uÁ{žn à=Oª!@€ @€ @ਠÞs»‚÷Üü”&@€ @€ @€‚÷ ; @€ @€ @ 7Á{n~J @€ @€ @€ Á{‡ @€ @€ ›€à=7?¥  @€ @€ @€@†€à=ƒÃ @€ @€ÈM@𞛟Ò @€ @€ @ C@ðžÁa‡ @€ @€ä& xÏÍOi @€ @€ ! xÏà°C€ @€ @€r¼çæ§4 @€ @€È¼gpØ!@€ @€ @€¹ ÞsóSš @€ @€dÞ38ì @€ @€ @€Üï¹ù)M€ @€ @€2ïv @€ @€ @€@n‚÷Üü”&@€ @€ @€‚÷ ; @€ @€ @ 7Á{n~J @€ @€ @€ Á{‡ @€ @€ ›€à=7?¥  @€ @€ @€@†€à=ƒÃ @€ @€ÈM@𞛟Ò @€ @€ @ C@ðžÁa‡ @€ @€ä& xÏÍOi @€ @€ ! xÏà°C€ @€ @€r¼çæ§4 @€ @€È¼gpØ!@€ @€ @€¹ ÞsóSš @€ @€dÞ38ì @€ @€ @€Üï¹ù)M€ @€ @€2ïv @€ @€ @€@n‚÷Üü”&@€ @€ @€‚÷ ; @€ @€ @ 7Á{n~J @€ @€ @€ Á{‡ @€ @€ ›€à=7?¥  @€ @€ @€@†€à=ƒÃ @€ @€ÈM@𞛟Ò @€ @€-­@IDAT @ C@ðžÁa‡ @€ @€ä& xÏÍOi @€ @€ ! xÏà°C€ @€ @€r¼çæ§4 @€ @€È¼gpØ!@€ @€ @€¹ ÞsóSš @€ @€dÞ38ì @€ @€ @€Üï¹ù)M€ @€ @€2ïv @€ @€ @€@n‚÷Üü”&@€ @€ @€‚÷ ; @€ @€ @ 7Á{n~J @€ @€ @€ Á{‡ @€ @€ ›€à=7?¥  @€ @€ @€@†€à=ƒÃ @€ @€ÈM@𞛟Ò @€ @€ @ C@ðžÁa‡ @€ @€ä& xÏÍOi @€ @€ ! xÏà°C€ @€ @€r¼çæ§4 @€ @€È¼gpØ!@€ @€ @€¹ ÞsóSš @€ @€@‹¶íÙ[wï‹Ô{êkÇÞýQ¹¿*vîÛ»öˆÝÆžboò¾ÿ`òUu($ï_x!½ñBòžzµk×.Ú·‹è¼wêÐ!:wl“÷®:D·N¢$yïÞ¥SôìÒ9ztvŽ>ݺTõ-yñ½ÅƒP:‚÷:$ @€ @€ÈŸÀúí»bÝŽ]±açîØ´sOl¬Ü›+÷Ææ]{’ýPþÊ¡¦NÚGi÷nQÚ£k”õ(‰=»Å ž%1¤W÷Ü»{5+Jàø¼Ÿ÷ݨ  @€ @€ò,°3™¡¾bËŽX™|­ÞVYýµ&y?˜šš~ ¿:$Sé‡õéÃ_úÙ¯WŒJ¾z&3è½È. xÏîâ( @€ @€–”o‹¥›·Çó;bYò¾1™Ñ~<½Ê’ñcK{ǘþ½b\ò>~@ŸãiøÆJ AÁ{ƒ0^ž|”„ñ^ŠM@ð^lwÔx @€ @€HÍl|åÆx|ÕFa{£Z­{A*„?mDYœ6²ÌLøÖ¥V{ïÄÖ @€ @€ÀÑH­ÙþÈò ñðòõ±qçî£×-×+PÖ³$Î=8Î=Èšðõ*9q,Þ…»¤ @€ @€-xèùuñ×ç×W? µÅ•(XpÔƒYÏ38Î3¤àmk@®‚÷\•'@€ @€hsë“£>˜î.]k)™6wwš×¡ÔR4çç'üàä­^ŽÁû±p—ô‘ @€ @ Ió×mŽÙKÖÆÉÚí^Å'pj²üÌñCcÚd-¾»[\#¼×ý4 @€ @€Àq)ð—ekã¾çÖÄÒÍÛËñoƒWÚ;.˜0,Î;ôxºñ#‚÷cäFé& @€ @€@]»ž]w/^ía©uiŽ‹#©‡±¾râðxõ #‹ñä±# x?v @€ @€$‡^x!îX¸"îZ´*¶îÞÇ„@ô-鯞4".>qT´o׎£. x?ê·@ @€ @€š*ð§$p¿cáÊØ¶GàÞT³ãéº>ݺ$áûȸ$ à½MÁûÑÔ×6 @€ @€@“îM–“ùã3+bó®=MºÞEÇ·@i÷nñšÉ£âÂd/GC@ð~4ÔµI€ @€ Ð$GWlˆ?<½µ4öVlrh®@׎â'‹Y'ŒlnQ×h²€à½ÉT.$@€ @€h g7l‰ß$ûsåÛZ£zuÈ*0a@ŸxSÀŸ0¨_ÖóÈE@𞋞² @€ @€-8xèPüúÉ¥qÇÂ-®CA¹ \|â¨xËËÆE‡öís­Jy‡ï‡)l @€ @€J`Ϊñ˹KbãÎÝ…jR;ê(ëYo;y|œ2¢¬Þkœ ÐÁ{s´\K€ @€ “Àƒ‡âæ9‹ãÞçVçTÂZCà Ããí§LŒNÌ~o ßã©NÁûñt·• @€ pžZ»9þç‰Ef¹Å{ éÆR³ßßyê¤8ihi㻂@=‚÷z`&@€ @€ÈŸÀ¯Ÿ\|zyþ*TVxÍ”ÑÉÚïã[¹Õ«€à½Xï¬q @€ @€Ú€ÀÊ­;ã¦ÇžçÊ·µÞèæ LÐ'®<ý„Ù·gó ºú¸¼÷ @€ @€Ö¸/YÇý§/Š^x¡uP+´k×.ÞuÚ¤¸ YÿÝ‹@SïM•r @€ @€@“~ò蘽dM“¯w!¶.0sü°xÏ'¶õnê_¼·‘¡ @€ @€bX½­2~üÈ3±tóöbŽ1ÈWÚ;Þ{æäÞ§GÆq;j Þk‹Ø'@€ @€h‘À£+6Äþötì?x¨Eå"p,tîÐ>ÞÖ”8cÔ c¡»úx”ïG þè6[so»9žØÑ%éȾ}ã¬×¿)¦èxt»¥uh‘@UùܸùÖ'’êÕ?Õ#úo¿ljø©Þ"N… @€Z(ðó—Åoç-kaiÅ{oœ>6þaÚØc¯ãz\Á{A˜ÛZ#•ñƒ™½âêŽôëkTÄÇNï{ä€-8f*ç~;zrí‘þN½>*æ]~ª!±E€ кßOf¹?´l]ë6¢vmPàܱC⟒Ùï^j Þk‹äu¿*öî­Ê¹ÆŽ»FǼN[¬Œ›^×+Þ}Û‘®]?§"®9YDsDäøÜÚºhvüü–{cÞˆASfÅ;Þv®àîøü(õ1&P¹àÑkúÕGz=ã{±cöûʃGHlåWÀï‹üzªË»öÆw~:mLþY½ãT`RY¿øÀÙS¢÷®Ç©€ag¼gSÉÓ±E7½#N|÷/òRÛÔ©3bÚÌ3âœSϳNŸ'$Mky/xÏËM)²Jö.ûe”Œ{樮º%öÿ 9|Ö2«³G€@ëÞ[ÇU­Ùü¾Èîâ(8–”o‹ïþuAlªLfoy8Îöè8gjŒÐç8—0üÁ{D+¼/øÁ;búÕù ÞëvoF|áÆzûÌhþÒì‚÷ºžŽ,úå?ʼnoÿa-ˆ«bÞîïÇT°­åb—@Û¼·­ûQì½ñû¢Øï°ñ @€¦ ÌYµ1þ+ ÝxˆjÓÀ\u\tJºú/Iø~ʈ²ãb¼Ù°€à½aŸœÎ¶nð^Óµqãƒ7ŕ玨9ЄwÁ{Ž»K²)—Å#;~§[¯â¸û<ð±% x?¶î×±Þ[¿/Žõ;¨ÿ @ wû—¬‰?º0÷ŠÔ@ HÞ{ƉñŠñÊtt†ÕTÁ{S¥Zp]¶àýò«®Šîͨk×® ±vþmñÀ‚† ]öµ;ã×{U4mb²à½aÍãóìÖäáŒýÓΘb°Nôñùa0êcN@ð~ÌݲcºÃ~_Ó·Oç  @€@η?³<~5wIÎõ¨€@± ¼õäñqéäÑÅ>Lãk@@ðÞN®§êï—Ý»eÃñÌÖ÷V–ÇŠçÄÝ¿ýi\ûÕìË×LýÐïã±o]Ö„úö^¨Š·}7>sýObyEÄè™ï‰/}ö1µoËŸ&@–ÂÞ ã¬•¿/j$¼ @€ãMàwó–Å­ó—oÃ6^-xý´±ñ†éc[\^Ác[@ðÞŠ÷¯NðžÌ®˜ýþè›c›Uå â»y{\û‹ºÓà?tË’øÖû†¼çx '@€@›¼·©Û¡3 @€¢øÅßÇ WåØ Š@k \|âȸüå[³ u·QÁ{+Þ˜lÁûŽ$xÏÏrÙUñзßç_[{ö{SÖä¼·âmW5 . x/8¹  @€Ç•ÀÏžXw/Zu\Ù` äSà•“FħNÊg•ê:ï­x“Z7x±ã}ýuqþ'nËÅŒ¯=³?vnƱÌÁ{¦‡=Û‚÷cûþé= @ - üô±gãÞçV·å.êcBà Ãã]§ŸpLôU'ó# xÏcÖZ ¼G,‹·7dôàò˜·ûç1µÞ'­ Þ3¸ì @à¼ã7P÷  @€mT@èÞFoŒn³Â÷cöÖµ¨ã‚÷±5­Pa‚÷ˆU·}*F½î«º~NE\sr}«É Þ3°ì @à¼ã7P÷  @€mPÀò2mð¦èRQXv¦(nc“!xoSË.*Tð{Ä;J¦Gújï—}o^üþýSëé¸à½‡  Ðvªª¢ªº7£cdž»%xoØÇY @€æ xjó¼\M ¹¸Ú\±cózÁ{+Þ·‚ï‘éïèïNOÞ¯º%vÿ ‘}µ™Ö Þ÷n]O<ô×xàþ¿Äý³‰,HÓ3fŒŽé¯˜çœ}NœyÚ´Ò£‘$)­tÖͽëbî¼Õq S§ˆ¢dðä˜:"Ë£k÷n¹›÷ýñž¸³v¿¦N˦gŸsQ\páy1mì€È±WY»ZY¾(¾çî¸ë/³cö#·E:ÍÔ©3bÚÌ3â‚W\çžyZŒe YkÍ÷ÁªX·`~¬Þ} "!M`cøô“cHöQãW–Çcßwßugòy˜_ëóðbñ—]g̼ f%Ÿ‹3§ŽhûÆ:º·|YÌ{~s2äNq ù_I鄘:¶¾-ÒXmGÎW®ZϬß~¸ÞÞçǤÆ0+“Ïô3ÉgúÅ|¦“¾Œ¨Õ—ªÊX6ÿñ¸÷¾{ã¯?óo{ 2¾Óf\3_1+^}É…qþÉcëùp¤ŸGckëºEñÐÝwÇý÷%ßó3¿^ìOò}yù̘9ëÕqÉEç'ß-ý¾4ºcägÅ‹?CgÇwÜ>ò‹ä{&íî$?'.?óŒ8ç¼óã‹ήósâ¨ïµ\“l¼¼Ö÷ñÞ­ËâÁ;ÿÿwçìxäɽNÒe_¸3~ý™We|FÛÔ÷cª¯µÆxTÏ´¥¾$jÑï‹65†´c­ÍÔ÷âßfÏŽ{ïI}/ÖúýÕÈ÷bTm.v¿ôÿM:õ'OR«» @ m ünÞ²¸uþ²¶ÝI½#P¯Ÿ66Þ0}lŒÄê¼×'“‡ã… Þ#²µU1ûýQ+²{iTù Þ+W=7~ë+qí ™ymŒð²]×}øÝqz¶°¼±ÂÉùʹߎ^§\{äÊ7ÆŽÙWÆáØ:ùüÛ~øõxݵ7¹¦±­Š{ô¥˜9öp-•hð|Êæ{ÿ~]|â‡4x]úÉ—!¾ðoŽs[è’^Wó¶+ãÛÓ{ŵiɨשˆžýSToÝ•Ëâwßûzüã'~Xï%YOL½,¾÷_Š+^55#ˆËzmÎýöÌ8åÚŽÔ8õú¨˜wM=ß;G.kl«v½S¿öHÌûØé «ý™Î,³5fßô_ñáw.#¼l°Â˜_»åñÁ7œ\PÓúú´nÁŸã¿>óñøêmi²ú.N;>ãªëã+Ÿ*âŸ[žøÉ¸º?C«N|>ù9ñÒϪ£¼×þ¼Fú÷ÎÞUñ˯:Þþ¹ô¿§ÝÔÔæŒïEíßSµ¿o2ê¬U¼9»µëÍüÞª¿¦:c<Š¿gÚR_’ßÀ-ú}ѶÆå¾·ø{ñ_’ïÅ—~Wî3KN‰jªOÿ¾¨9æ´aÛŸY¿š»¤ ÷P×—À[O—N]\ƒ2šÃ‚÷ÃùßȆïHÂðüDº™ým^[y ÞSÁʯ‰·µy{fÏ#®úÞƒqýûÏmv0˜-hª qÊçþ2Þ|ÊÛü‡oíFÙÿÚ½+âc3G4rU§«Êãw_ùHücC¡SÅS§>tóœøÖÛNnäª|žÎýs±à¶¯Çô×}"·NMMþøqkþþøÑXgê|ï\ö½ØñûÜ¿Ok×{Ùõsâ÷×4|?k¦kÊT­{(þeØùÑÌ?eúe×ÇŠß^#ZãŸsi¥þ­ÊEñí¾9®ýaó÷Ú^uý½ñkf6ûghm×ôÀ÷hÿ¬(Ÿ{S\xÊ»›ñÇ”L•šŸ{ü J¦_}ädj·ÖF²¹¦Úìºnv¼qØ…Ñèo†,ßkµ¿o"Ë55í7ç½v½5ß[Õ‘mŒGë÷L[êK*x¿éuÉ¿´K»É ?[æEé¶5†Ì»_þXò½xfß‹7&¿³¯L~ƯûsL6ëÈ÷tž>Ù½µG€ZGàþ%kâÇ.lÊÕJ€Àÿgï\ࣸî{ÿÓû-$$!oËL"ËŒm‚"œFQí‚|0éŦ<ÒP­K©[Ç\’ðˆ[Àm0÷‚io…4!ØD`ã€bY¶¬â!@ „Þ+i%­¤û?#­4;³ZÍÎÎìÎJÿIÖ;;3ÿósFìïü÷w%ðWÏÄg§Mt?ï^,¼›xï”_ô…Øc–âݵô}avAUs«Óçy…Èô©©ˆA®–œÅ±SD·‚½¸yèYxóclw_à[Iô©+Ú Ý‹¿YdÃñàø ¹™,:\m\êGvQ¶÷Zo³½E!¶Rlx4»©®ˆ!7{,îµÅ 5æŠv¿:ð]DÞö“øÙÆ\?Y°øÒ.8³ãËX°I¦Â(ê"ÚCöÔ‰ˆ‰iCÝ«*Û ÅáÄ¿šø§)7þÙ»¾£ýòÊrµ}Ê6w  …_¨BnúB÷ƒHdy÷àxŒ¥°îÜzßsËÚ†KžC¦ŸÅw[ùQäÍ\â>~“~é°*w&ÆŽ‘àÖݺˆ¢—ïBˆ­¦oZ†’«x[áYQsnÒçÉ~µ#ÿ‡,wòD‚xdy¸¿4§ÇÞ…¥Hœ¶làdÿÞ8/¢âšwMÿ= ßéñoƒó|wÙìÊ~cÔßMe¹Zú£ˆSUǶ+Åb¤ðn‰¾x†úâƒúâ‚ Hœ¹²¿™Õ† ä5&À˜`æ8_Y§KÌ)œKeL`HdcΤô!ã‚‹ ï&Þ/å}3¿|Û“yëe¢§Ç +_VFÂòêÄl·ÂJÙ¤üï Kñ(ùT)-Üäùýþ[¿ÆÎ¿[‰W݉Ҕ•{³p­fñ]%BƵ¿¦Ì”‰Oâþf­ÂáÅ<€äh¹ê耭æ:Þ}ã6,sgß±—:vz'T:*°%r^tÓ®Öí*Ä·¿þ„¿j;*‹_ÇÎïæc÷)õ‰y»ÎR¦ô\õ÷èoÇ6`Z¾KŸ¼uxí{ÏbÑìªöò®©¸€ŸÿäûXãöWY8~óeÈï™á•vkÓdÄ™²ÿkúTmÚmuó°ëµµÈÿ̧1I1€èc½ûþí_–Á­»QÁÔZ᳎۰ÜltTÃì)ùn–6ï-Ä7ŸÊUy•÷#úÄiìûçÅdK£.8‡úD‘}BÅÕÏ {ÅQÄN[¢®mÏŠg¿<÷g$» º9h¾Šë%ïâÈK‡­Š‡h^^Ž‘ßÿá]<ÿ¿™ú3²S<àé9p`åS˜ÿÐ Œ,mhk®ÅÆX<¨ð„Wö£þn*ËÕÒK+µ+Åb˜ðn…¾X~±Ê7ôu¤`é‹ýýžW˜`L€ è$p©¦ÿúÆytvuë,OcLÀWa¡øûÏÍÁ´´$_‹âó-D€…wo†ò‹¾Q‚:äzìÉMܦ:‡l-еµÐ/°õôóò—Ÿ—÷Æ“ƒÃçcé,-9ëv”û1–‘%‰Bž!ßʘܷT“•„J„PƒÁ¶×Îc£ëA2ø7¿‰i©“¸¸GWÇb‰Ò$k3ÎÿGÌjbM:ÿÌþõX°FYeߟ§ìûY^z­»ááy“ÎvQ¹) TÍ»N^ÂÚ\m“„Ø*ŠðݧBåD’G¾ý…2ß~Ïе׬~ª,W‹Ð7T›Þ|ø,¶,«¡8pîàFÌ[© ÙчžÍÒÅÊ«“åØ9ÊrÖÀ<¿Ú¦Qp üÄNÌ\¬üK ¯]@Þ$mƒ2Cqõò볂è6Ð’ r¶¡äèsÈÒÐÕkJá¹ì|· Ò}ò·ð.š”ê^€×ÎoÇÓšþ.HQ[j LDd¥¶c¥X Þ{o»ËýÚíåXíîAÖ]ò&À˜`^¨m±ã_^ÿ#îÚÚ¼<“gLÀhcâcðO| )qÑFÍåˆ ï&‚W o¦ ï5E*+Šu…—°3o0ÑS§ÀJ¬*Ž¬Æ´eJaxÎV® ŽA|€×^£Ø‡öW÷,Bàäµÿ@î$/Vn8zã/\ub &,V亯:€ê}+¼²Å¨<±S”BcÖvT—lôªï›¶¾vá®Ml?]ó½1¡hIŒ|~ö4lUˆw{Kšðl–3#ô2«Ÿ*ËõMxÏÂá’·°ÔKG·`ÚE›DÎ6b®yH%°¥—#{¥ëÄšÂ:©¬“¼]êÉ’%EaÉ’µù8J^X¤©(«=+ܱAÎvÜ,Ú¨ù?RÅ]úŒBùö·ð®¼Â>ì²Ó66Ò¶²ßõwSY®–þ(‚²RÛ±R,æïþÿ»]¼?sÖ(~V£«/Vâù'¦`ë©þ¦<°â‡¾8p1^cL€ 0&à=ç_?òê:ïOä3˜0…ÀŒôÑxî‰9¦”Í…úŸ ï&2W~Ñ7J@P†¬²™¡”µbÅŒÁDg}+Üf6çátu!¼ÕXu°»ý‰÷*”uìÃŒ!›ÁEï²a±ˆ÷b²ì™#·ìƲìÅX;.2#ÙýxëE팥üàjÌ\é:À±<ç7êñœw:仞v¡>ÇATRÕ1š”ÎÕš$gûimœ¯:Ô¨ fõSe¹Z„¾ÁÚôæã×è—CF¹crfG¾Ê{¿àe½¯03ë½ ÏgOpD¡þPKÞì’¹ÝTÃcf#ßÅÂDÛsB6Wò¡ò*s^˜îgý`5ýÀµw¯Âù¦}˜¥g0¤þòSæ©'2õƒØ7(WšOàÍ' ñ r¬A”ñîÿ¶3(ï@´c£&Wí¿ûþç {)ýÝÎvý»àì‹ýy… 0&À˜€—ö½ýÎTTyyΘ€Ùægf`õ#Ÿ0û2\¾°ðn"d¥ðfŠð^u‚„ÊÅŠ_ø¯"oò}¼ÉÕbéÐV&m™…/º¦#}ÞЀÝe®zíö==XÆ~o™ƒ‰‡Ëph錡/ìî7<µÔñÜŽ\ÌÛtJVbNVÓ/¼Lú(ÀpI^¸­‡–b°á”sõ®éi6ìÏO„£ÝÕÀßKµcÑtü;ÂRuPÇOC` HÖ`Gn:\Çá÷ˆ »u^˜`L€ Eàkwðã3ïU—Ø€IþfþƒxxÊX“JçbýA€…w)+¿è)„H“QN£É(UñkÔ_8‡°Ô"ðPv6ªÀ;Ë=·:jJñ›?\""ÐÙÙ‰v6ùÜ—r‘6„}”çËêiŸ½%ª¸Òæ@<+àö>”Ð}ðÝöGåƒoTÛñpSÜqõõ— Ê~cÔßMe¹Zú£¨º»:¤íX,#…÷€ðtcÑ”GOÑkÎì@úÙÀ£ú¢‡nÊ»˜`L€ ¨Üh°áó:ººUûx`Ö"Š~òaLLÒãKj­ºŒÔhXx7ñÎ+¿è#ïZ Wø$ ÚªÊqâÕ]X²I-¹‹ª.k"ë…¡:¤·ù+¯ŽD¾ü’9”…\d`2eïoˆœyNîPˆZYG;;=Xìh»ÙJÏ|Ïq8p‚¼§˼§}Íøˆ’Ê&{ŸÅ2{3ÅR}BŠz BLH«ßË{ öþZSõSƒDe¹žÛQomUmšX6‘/úP=zhVv]‹%ò>LÏ£&zù^öÐW7æoŸ[WUqE žîEÜÃd˲T§-Ë@ Ý”mP;–_C¹®âJÞî7K|³0Röë ïi;‚½Šw€Úqo;Ð×­Ruôï§ î‹Ê¾ÉŸ™`L€ x"°õø9\¾×èéÞǘ€…ÜŸ: ÛϵPDŠ7Xx÷†–—Ǫú’|²äY¤¡ScIèlmAMõ ü¹ä(úÙnsµXw)gûÉkؘ«ÅdÅË/ÌnDñ¡íl\BÓô¡hK¶«‡ü ꋳA"¥ò¾yLÕYé¾zœËa•îÏG¶Ü@ü¾›ÈçݱÔËvѨ;þ‚]gqhmpüaPÞï@ }ª6m xj+ÞCö/ëeÍk3 T½àó@•¬@“WõµO”Šk@ž€zÒdã¶Án¬êšpµR´RÛ±Z,Ô«pæ÷Xyl u õË9+Õ¡üàršÀ\îùÜ}qà.ð`L€ 0Ï~òNŠ.Ýô|ïeLÀrr§MÀ7ži¹¸8 ¡ °ð>4#ÝG¨Ý% ub Ë^AÞŒä¡ìÛïÝfGå1Ìž’ï2«¯vîU[¶¬BYë> 6w¢Jô1HhRÞ7»j2V_'Uu%SO?YOQüdݼ‰F½ký‘º™HSÚ—· §ømÌÏÔÚ.ûKôëŠò~[á½t?³×ÈØæá|S!f™3Š#»ŽQ«:Û']ÞÏ ÐÕÏ?…[O 1@¨vfVå»{7ãšVê¢ÎfÔQ”«¬§Ç¿3âZ¬‹aÂ{ þn‹¾¸…úâ‹§$®Ò‚¼/T„ט`L€ NàwoàÀ¹?€÷0&`i+ç>€Ç§O´tŒœš ïj&†mQ~±6¬`YAëvÇ–o-òÒ;Ù;ËVL‚Ý?v*׳WºDu1MÏVxO¤²¥g52­ï½ŒÅkdþ ‰îÃñ®]È˨"þ ~çþ¬‚ÍøÇUß@î¼HöÉãÛY¢±ïª~jce¹Ö$bn&ÖfMe,ouiØmv4·µI~ðêý½[""j±oa6¶Ê~õ£%ÃVœm…g…*÷ç&bÍ©ÞúˆÿjiG{^3«Žž®jÆ5•ý&a¢îfÔQ”«¬§–¶`¥X‚[xW[¤iá/Ŭû¤åÚ| `L€ 0Á\¯oÆßÿúôôô vogLÀâBBBð¯_x““,)‡''À»œ†ÁëÊ/ÖÆŸ…‚u_ÆâÏ?Ï-˜‹41ÿ¤×‹w«úKä.T“¿{š××â•0»*‹xˆ:úºÛ QØ}Þµ eǶ`Zþ‹ÊÍ.ŸóVmÆâÏ<Œ‡f=„éS&!YWûu)Òçª~jce¹Z„u_#÷"#<Þ “ªZ…kŸ!Ë pØjðþŸÎâ#7ßz¯;%ÛëÝªÖøÍâêÝ=V÷/-mB+³êèéúf\SÉ”…÷;`oQº’¹¶v©nÏZú£5ê Ž][î…§5³êèéš¼ 0&À˜ÀP¶ýö]\¬iê0ÞϘ€Å LOKÂÖÏÚâQrxr,¼Ëi¼®ü2 àµ“Ï ¹“¼Ûµ^+"±qqH•бééHNއïIÃê/ž¾0«¾Dø“l ^ ƒª¸ ˜ªbp© Ìb/…ê]»pW»úÒcX»,¯Ê²’ÝçÜ–S°ßXòæÏû2õ"9‹Òý®ê§hGÎàUíÉ X¤òmÅXž8rWcOýÞ“Qï¶Ês8°óûX¿[f ícáZã7‹«²íxïÔý«à@ ­Èò‘BïéfÕÑSpf\SÉ”…÷;`oQº’¹çvìŒGÝžµôGkÔA{°÷Eç]áw&À˜`îü÷Ÿ.áW\u·‹·1&„¾ø‰©øÚ'§aä#3dÞM¼ïÊ/³ ÉB[ W ðI¾ê/ž¾0›õEY…ž…wÕ†¬]¨-Y s\Ó½kªØú78PYüüŸ»°õÕSý[‡Z–4Ïû›xrn¦ƒKC]m`¿ªŸ$v+ËÕ"f™Ú×ì¥È͆\ööÔïù¸æ¨Â‘ü–½(¿²eö®5~³¸zwÝõ¯&¬5Èd߬:zºSf\SÉ”…÷;`oQº’¹–gU°[ͨ'† î¾8ÐJx 0&À˜€+÷nÝÃŽ¢b×ü‰ 0 '°1wŸôõ `áÝÄ»¬ü2k”€à{Èî Z€Ü˹f}ÙWÕcXï«pºl=Ò¼ùUƒ „‡ ±c‘•i¸ÉOß½k¢ìße¯¯B ÙŠüáW…8¼ûU— zûR®d­Bááç‘—eV=]/hV?U–«EÌ2µ¯yÙ¿\)éüTsËÓ¸dÙ»””•ƒu˾ŠÏÎ~S3R‘’’ˆqõЯ}úúNï/-œÔïJ±oÝñkعhR5}Y1µí ˜×Tö£þn*ËÕÒEµÍ¨£(WOÏÌ} È¢yá²ðnâ=W~±6J@ð=dµäɲAõ%2k;n–lD†ï¸–@B]> u†8ßz³Üëî–ÈDT±1kP•”IŸ¼k¾á@MùYü×þ­äû}ÊmqÛNÞÄs¹†·4—k™ÕO•åjvTíÉPá½ËÉjæUYíw¥_ºÌuÿKÙa:VÕmI*¤`Êö| 3’µËíW—éé¹5pžU²–mØŸŸˆ58hiòzxZ7µí ra3®©ì7FýÝT–«•½u8õÄc¥X‚]xn}q.Ê›™`L`8_Y§KF0®:6,ÈÆœIé#£²AZKÞM¼qÊ/ÖF ¾‡ì€¥ú²<œm*ÄÜxß#‘—`/=ˆØì•²Mž¯£ŠË ‘Ryß< 4¶âýHœ³FsJh° kÁÙ\õ®]YúŠ3Øñ·  ¶ÏÁÉê"äšè:£¼ßFõSe¹žÚ‘“¥YmZ”o¯8ŠØiKœ—¢÷¿ù:eèÁeŸYUÕCSpµ‡Vø0?þö©Š'Ï I¨\žˆ•²‘-m ^·›Ìª£Û‹õm4ãšÊ~Èþ(ªiFE¹Êzji VŠ%Ø…w¥í“þâ¾iY̺OZ®ÍÇ0&À˜ºº»±ñ[Ìpk`#€°œÙ‘÷ÂBÙrƪ÷›…wïŒò‹µQ‚ï!{)`ÙÎQ&úè‰%¸…w ˜úâœaÔE›â… 0&À˜€“À«.â7eלùÝ¢BBBF/áц¨ˆ0Dx*>‡Ó»ØJ/±ôÐÿº{zà ß~ñê W»£ vz /ÿ.Ú×C/^F&'gNAÁìé#³òAPkÞM¼IÊ/³F ¾‡ì­€UƒÙéØ$ÓÑ´ˆÞÅiÇÑÕ±X"7„^UˆŽ}yƒz@[C©À–ÐixQVÙ‚e8´b†lK°¬zÛ.̨W%žÏžâ2&°׺_€1SPªc.=¸Ùò4ä€dC÷ÆeV›¥ï!¡i½Ìç$gª‹ÖÂð8*°!r\†Ð—aßR_û„þöiWå3~¨çbÍ™H_°i fm#Û®ç ±í2«ŽÁª×̸¦•ú£¨±uåzÛv¬K° ï5EÏ#}áVµw ò¾è¬¿3&À˜øèNþåó "q=2,ɱÑHA½’c£0*: ±Q´/ á}g ѽƒDö{'ÛÛQßjGÍŽ;4q®Xïè"Qž~éÀËÈ%🛃Ǝ¹,\sÞM¼9Ê/ÖÁ+¼EÏçbáÖS2Z‹¡õg›²ò+¬+¼†yƒË­ÖDÜd÷ø^Ü«:„M‡Ydáá¾Û–ÔŸÛ”y2qÒ$k#gتvdO¿²ÿ%ÊŠxT±4¨ϰ޶v>°åäãõ»j®À˜_èhŸ}Á›ÅÕÛ{ì¨<ŠÈ)r»ã&¸5«Žžî¿×T•Àþ(ꮊǠ>émÛ±Z,Á.¼·¾è©Ÿò>&À˜Y¶ýö]\¬iY•–ÚŠŒtÊ`$1=.2‰Ñ‘HЉDJ\ Æèž- ï Q‘ˆ G}·vf¼KÂ{WZ;hnï@}‹÷èu×Ö†{¶V4´u ‰¶‹ý"žs߃¥Qçô´$lýü§+K2Œ T¤übÌ»l*]l*€m'«iâKcòeUYŽÈÂñê,òP¼U‘zÊbM‘g±RSØ~ºç{^Ý\,°ÅKaÓ^ŽÕ±3!ÿ‘²V¬ðÍO„¼Èù2³,Qz/¡jGX‡K;‘éÓB=M¤™âõDšªXòŒ±"q'2 5°%»Þ­Ú‹i×9²I\=ÏÕ ¹pG9eÒÏtɤ®ÉUEM+é2S\~!“µù$J^ÈÕŒa°UÏhƒâÁ®'¶«Ú«×T•ÀþhVE¹Êr`NO,Á.¼›ÙUÿ&0 _ˆ6à `L€ 0¡ÿè:ŸÿóP‡ñþ.Ü"«}êèLNNÄøäI| ìö°P²–¡ý¡ý63Î@…ÝŒ°’鳜éî!zÑ!²×QÆûúfTÒëZ]“$‹3Y|wò9ïËæ| ‹˜=åO*# «Èšo‚‹5Ÿ?ú¢hS¼0&À˜ÀÈ&ÐÐÖŽ¿-|SòüÙ$¬W{!›‹ÌõhòpOЉBFbîKIÄ$ÝÇŽŠ£ìöˆ^ïv²Šq êÝ$¬+óÖÉõDù^_x!Ò «ñ.²Ü«m’ð^q¯‘Ö[¤ìw»ƒJö3}>ñÖ#ÃM@ÌðÃüǤvftÙ\ž~,¼ëg7ä™Ê/ÖÖùòå¥ÀÚWÓÊc4ùi¾Ü¹(8PB~æYC²ü7V-t°–LV+ "åWcæJé„Ö³$´ú:)h Ž<¿c—n@n¦S0~'¼RÜ Æ¬z ­ûž†/shÖŸ£I@ç¹Nz–&kVõÝÅ9ÛiB×zïG–ÇbÙ«®¬õ ïTƪÃÄt©~¦5EÈM_èbãî“kídŸì¥”ñž-ËxUðÍãÝV¼Ÿ~q³Fv‘ÞÕ‚½ôüyvè畞ŽÊcd7“ïRßÚåîÛBÏfùLT¼Aƒ .*>˜ÂÕBýQT×”:R¹Êèz>tõÄâýß‹ÞÆc%žêA^ê6>=ûò#ôoe®ÿðG_ì¥ËÿeL€ 0‘Là'èÒÍ‘ŒÀ²u¨ ¯öq 1øÄ¸L(e½ »™^÷ibT19ªäÒÞ—Ù®ÌX~ýOü_dÆ‹ÉWÅKä¶;Èã½ÙÞ.Yψ¬÷o×¢†¬hh3OºjÙ–aN`¹Ó&à›Ï4§p.UÞuaÓv’òˬu¾|éÞš4‘&u•ÞÉræø5<·hp/vO´ŠI°ž£¬Q@Bã¡¡…F+}?[ž,$¶**»êÀyì[á9ËYqŠì£Ƕ<‰üOIÛ¶/ÃÆE¾NP)+^µê}»Pgïúj³CÙ‚¹”-Ø[åÞÍš´¿þn²…Q€óM‡ !™º¿çJ) /ÙJá…vêÖú ]÷Zv>­çÞ×`On:ÖŸrF×û®5SÜõ,­ŸÜ <èÏ$uTÀ»ô…¢…©8ÔZÏ  Ì$ªfv­ÆÚ¹ÞÛS !6 ù²¹¯{é$Êö¡vûfWëôGQisêÈÂ{ƒ2¨*ÿ½¥íÙ þ›'âÒÛíåd“6Sn“ÖWKƒêØÏŒW˜`L€ (\¼Û€m'ÞUlå'@Bze¥ÇR¦{ª°—I…3R‘AYîÂZFˆæäÛ.,c”"»ÖØ…ì.„ýHÊtî¢ìv‘ý~£¾ %·î‘íL3MÄÚ‰v𔕗‘E`ë¢Ocú˜¤‘Ui ×–…woŽò‹`ð ï€zâË^€ÛŽ_"ñ=Ó šœÛÿmÌ[£È ƒv + "¢âƒ}éÎÛ~‡7.‚w Û”é¾a!–í–ËiY8ÛTb^æ7Ô"Ä¿< Q4›DQy” þ×ÊÞÂÓ3¼«±È <¶åQhp-­€²¥-Õ#:koŽ5gžGúŰIÁÔZdíÅ ôÈÝ•CS½h‚TmZvmïû ¼U´!*D Ú¢g½ª—, M«î~C#¸Y¸ÞUž9ˆ/.X©h_!ha*ŽVq5HS>ãµÆc/?HÝÊŠHkY8\ò–fiï7öÊøÚ”Å.¶>ý…TÇþòܬ˜ÅÕ*ýQTÙ¬:êi;VŠE<¯æ'b¥Ì©eÈ¿ãÙ{"1Û÷¾h+?†¼™ùn½ú·Ÿ­ çÞ-GC'vfez?'êÅ `L€ Œ,/þîJ«jGV¥ƒ ¶BX%I}lB,Ÿ* ï©4‰jLM&FûD†;ý_e)ãmÕ$ qÙΈ2›í’ø~¥¶ U×£–2ßÅõx9²2R°ùñÙ#§Â¯) ï&Þ åk¯¾|™—Þ/ÌÎÎíYŽyë>´3oóaüpËWïyVJ{M)^~nÖ¿ì*°Šò·‘Gøs=­%BôÒqû3s±+g3NÿÇFÌÏJÆu ²ø—øû9K\¬:D«ÈÖgŸO¶>¢O‹>!E=1nï5Ví*Ä–•ObÒíA]S^„ßZˆ¾ä~Y(i=„¬hÙ&SVÕ“^J—)Ø…K{×R›ö|Ñšò3Ø÷¯ßÆÖWÕmÚy¦QVÕ¦'÷½ç¬Û‹l,À¬ ω>öãÿ• ûb©Œ,^»€¼Ižû¨â²Þt7ïTÊ*–<¼,Ob’úÀëØùÏùØ-õÜ¡…©8OÅÕ QZùŒ×ˆÉg½Ø¾íµóØðô,u[%~s`'ò×»äåøãïY\ÝM|)ÕÉÏýQ\Ó¬:êi;VŠEï¿#¬Uq‡(zþ ,ÜzJ|pY4õÅú üò?w`É&e¬(Ï;ýzåIúõÊ)Ù©dYwÈgË:Y¼Ê˜`ÃŽÀ;×îàÇgÞvõŠ${™øÈpÉÏ}ΤtLLJ@m‚¼;w_ë,|äÃI|ï$owa;#,gÎ߸‹› -è IXEf½?!ñ‹X„½xK7][dä“u=/~"ð7óÄÃSÆúéj|OXx÷DÇÇ}Ê/ÖþB´…¬O`(Û3{¾ŒëÝ«byë¶cåSã¡Ì‰C§u¢­©WJßÃë¿ø7l}ùÔ@Q²µ‚½çɯy–l‹çUë}ñþ%^ìÍYµ ëŸÉÇœéS1:FˆŸ´57¡îÎ ¼÷öë8ôï[qÌv›³í$^.æÊ¥zÛE=Yg¤¨¬3D}ÅR°y–-þ,˜1£É×Nªƒ£ ÍuÕ(ïüœÄÝî*Mçî=_K“g5X!]ÆçÿÔQÖûBEÖ{_©«¶íÅ_>ñ O¾˜˜jÒm¨­½/ü…ÿw^=¥¼|ýv£ÔE@Ñ"ʪÚ4›E楊6‘S°µl1æ>‰Ñä(š’hG7¯”â·ÿ½›Q¬·ÓÀÖF[Êyû¹æÌúÁ&·§eå­Ã¦5OaÖý”ÿÞÙ‰Bz¯ê:Þ{ç4þߦ]¸9 (Ø{ߎzóäÖT&a竸jœ×ì]ùŒ×rʪÇAê7+Õc˜tH6ïú+,þì,d¦¤H|ÚÚjqû£ñ‡ßrs³°j݃xy·¬0ƒê8¯zÍ,®âJVè"³ê¨§íX)–á#¼K­ ûóÓ±Æí?iÜôŦZ\¿ü!Nýâý{FyRÖm~»_ô¾/º³n£!w|Þç‡ÁgÁ&À˜FßûŸ³Ò¤šÁû°Ž™„f1‘êÔÑ ’ð~ÿ˜dòuîó[§Ìt鯷äùÞ'°ßijA1 ïWjQ×Ö6²¡ñGæ»äiO¢»°¿‰¢—ÐÞ;h0@XÞtµ‹ïÆÞ÷ÁJ“÷~ÿ/æ ¶›·û‘ ï&ÂV~±>Â{/´b²Õ˜3ˆ­†·XבúN/½Ð­%BÈkLd£³@e£#?FûzÁ®Óxeí|“Ew^á]œ[ƒ£[¾Š%ê”u±SײëôM¬ï1‰®Ë¸œ4د9\Òðá@Y-æÓd^ïZDYU›¦ùj÷f៳Us+hÃåÍ…—ðBž7vP.§ëúàv%­:p–~í1¥{ò‘í2à·—:v"sˆ)WƒDiå3^Ë=v­~öäO€K•\ÐôIüRhãä×;Mf™aP=`Wç5ÝEfÕQOÛ±R,zÿ^X«ΖFïŽJìxbŠëü"²ÝZW·Ÿ¬ÆßLþµ®¾xŽžoóTýóch™cL€ 0à%pòÏ7ðÊ»o†iä31 Ä@IDATøäø4Ü—: )ñ±ˆ&‹32Ý•E–yyË7´Ùq‘¬f.×4à*e¿×“øn†ðÞ›iJ";eøGE .*’ÃÂÈR‡„wò²Iî”í.„÷¶Nì]°Óº]¬ 1ž^Â"njؔlFÚçg>ý~lâH«¶åêË»‰·¤t?‰Dò*BÌöVÖVew%ºdwiñfuWv}ù |ï«‹áÆ5ÆÝáªmYÛðÒ?m ÏÖªiƒ»/ðFðÕ#ˆ¸‹¯¾â ^ú[²$›ÛÝ9®Ûòpøì,«oâZײ´|ò½]TÃ?SF¿Þö ¢ÌYµ »Ÿÿ²Ò†PSµTIÇ1¥G· {É‹:ΤS²VáäÏ€\jÏzÚ‘»6ÝD~ìñŽ*ܸ +wŸÒWœ=Œsý;ˆá ´ªø¾5g™{rçAƒ½ÏÂÃÖ4î²è”5aÅó ¸ãjgE=Ž=ÿ ò·*3gƒ"ßž‡×JþO“ujŽ ?ü½1‹«¼†ì"³êhÔó!píXßß +ñ”·³Þõz¥¾¸DW_, ¾¸‡úb²Û6#=ÇÕtÙ¢ú7£´wÊ:öaF`þºÄǘ`LÀzÖýü îµ´Y/°‘4ÙiXˆ”íþÈÔ L¦IUÃ(\üÏŒLw%ngæ{ Ûmí¨¸×ˆw+«QÕØBÚ6í/£ÌEf{, *ŒMŒE& 2ŒQ”íC6;!’žNÖ:TóNØÅä¯õÓíFn7µJ15µw þ fªÊp,'5.»Ÿš?«TubáÝÄÛ¥òû¦É›­ðèÝkb8²¢)³y9MŠ&û%ô¯¼˜ÔOV­ÚQqîuüä•]xq×ã{íGV}ãë˜?Ó׳ò,×ÏöRš P>)šA|Ë®ÆL™EÁÞ²À!¿‹ðÿþ¯ý/c½ÜÂCYÂFä¯W}‹æÏðs[1ª]8¨=ü?y‰ÚƒÚƒeКlÞ‹oó+˜;¤þ E¶Ã^UŒ—_Ú‰õr»¥ ¡¿.X‚/Ð=sÚÑ+…µòè?4„G¿;QJ.ØÔWœÃO¼‚ßúò Ž„™ƒm6á›_[„ gP;ý»æ¨Ç™Ÿ¾„­Ë¶ºµ‘QS@vUϬü*>“5Éå—ŽŠ£˜=m‰KÝWÑä»û†˜|7žb îÐK?¤çÄÐ|VÞ*lX³ _^$ó‚·—bylöÀÜ=•÷FþÙ,®òkˆõ@õGéÚú;co}óôý½°V”-­÷s=ýÍþÏý?tcé¤>Þ]_¬?·)óÖ¬ñ×'Žšsظpäsªo+,Ãsy3Êâ5&À˜`}~]v G.\d$M™ßI”ù™š„¹SÇa\b$P Ÿs¿.t9á«~­¶g*ª(ë½Yòyï¡#–P*$œ<ëGEG"cT&%Å#3-IšL6¶ AÞYe¡õ;Èg^d½‹Á€êæVIx¿Eü][ê[ÛÑÒÑɼ7FQÆÒÙÓñ…™S[ù£? °ðîOÚ#àZ{=®_ºŠËW¯âöí{hjoï­uT"Æ›„©ÓïÇôû'AÃ|›Ã–ÆÊËqùâUTÞ¾…ö¨ñHÅ=ÜjBê¸qÈœJl¦MFrôðImsØj¨¾å¸X^Û÷š¨=QQ@;µ‹(j©S¦`Æô¬Û&\îÙ@{–b—ÚódLbÜ=Jxïï;ª®_BÅ嫨¸v»¿Ÿõ2D<³ð@fš‹hÝn@W(îò2”~ø>þ|«Ô è¢Mˆ¶@qO¾SGêó¡ï¾ˆgèå²úûLï4 ‰©©ÈÌœŽÌéÓ‘è‘”5"?÷ÇÕ’/kÊ¿_Zû¢Ê«=o/š é—KšêeGMU3Â#:áˆÉ@š¶“4•Ì1&À˜Àð! Ü¿9ú²éû®=|ªü5¡{#„è)É$BSö÷ýcFct\´$ºûYv—äušÊ7ê›ðö•*É뽕¼Ö;I÷9ëê)„u1y¬ÜgMLÇz"{™ãCCÄ$²pÞÅÍ•¬vè\‘ánw8`kï¤øšñÁíZÜ¢Œ|‘ï ÁŸã þ–dX Ä\?~ú3ýÝV0¤™ ïšQñL€ 0s hÞÍ ƒKgL€ 0”¿vBÎ.²\ ÿL®3h> 0&À‚ŠÀÿ|xÿU|)¨bÁ’ ,Äõ1$´g©)‰K¶+Âó\,þÞ…èJ7w(«¼˜¬fÄ$«÷(³¼<Ö}¶©®‰4À02ݧQ–{6yÙ§ÆÇhÞ# çBXö2òEÄ#Äø0òŸ$q^,"#_d¿Puâk’Ä÷f{¯½ëÙò’xÝ[_Ÿ5 ññ©ÞžÆÇD€…wƒ@r1L€ 0_ °ðî+A>Ÿ 0&HvY‹e2+¿¬m'Qò\n ƒâk3&À˜À0#ðí£§%kŽaV­à¯ŽÞIHObô§'§KÂ{bL4eîíÂÓý Û«kq…¼Þo4¶¢‘²ÌIÿÖ/¾S=Å"ìe>=i î#ûdò’¬e„àN âε]rº§‹KÐÒ»(ª£« ÍöNН¤‚› -}–8¢ ^Œ …—ž^`DQ\†,¼ë€Æ§0&ÀÌ À»T¹L&À˜€ŸØË±!v&vË.·ùø5¼°È_“¤Ë.Ì«L€ 0&0, üö£ë8tþÏònÁ^©IxïÂääöbÂ_=»¨§S|™ùw뤂ŠÚfÔÓ€4h! x1„À³|ŸÉoHY\ˆv,¼kgÅG2&ÀL%À»©x¹p&À˜€ Ê¢˜²pSß¶,.9…¥YzdrNly‹_<åRþöÓÕØ8?Íe`L€ 0& —ÀÖãçp™|ºy±&Ixwá=OÐD–VÞ[HÀ¾ÛÔL™äMxÿv-ªmm$¼‡‘î®CÐ&=6" ©±‘ÒÃCÓ‘NÂû`žîZï”ßZÛPY×(e¼_¢Xki"XÝ™ùZ/<ÂŽ»ŸK¶-ž;Âjøê²ðø{À0&À$,¼sC`L€ ø‰e¨/§ uÙ<¨Ò…·–๼,/‚¨Á‘ _Ųݧ\ÏÉÙ…Ú¢µœíîJ…?1&À˜€NïWÝÃößë<›Oó§ð>•„÷ÏÍœŠûÒ(ãÝâBx¯nÂ{ ïu¸Û"2Þuï"«®GïéñÑäñžˆIx“7DÚv7RÆ{e­ð¢oÄEÞëÚ|ó¢×vÕ‘wÔ¦ÇgáÁŒÔ‘WñÖ˜…÷ÂçK3&ÀäXx—Óàu&À˜€¹l¥‘˜½Ru‘¬‚íxù_×`î$ÏÖ3•ÅGñ÷s–¨Ä{Qàk—Zñtf´ªlÞÀ˜`L@]§KðÇÊj=§ò9~"àÞ§¤$àñM‘„÷0òC´Ë{S›UõM’ðþ!YÍÜ™äaú…÷ذ)ã]x¼gO‹±£ !\×Ò†+wk%áýJ}3Ú:õ[âÑð,äS“Ò±~Aöð¬œEkÅ»Eo ‡Å˜ÀÈ#ÀÂûÈ»ç\c&ÀK æÜ~¤Ï[ã6ˆœ‚Íø«%‹‘õñ ŒŠ‰˜"µ­é.¿‰_üçz¼|ÊíiØ~ò&6æf¸ßÉ[™`L€ xIàvc ¾{ì-/ÏâÃýMÀ)¼OJŽGÎôIÈLKFdD8ÂôXº|# ï7(Û½‚^®i Ê$7@x–:Mg˜ð~¯¹¾-&WmÀ¦64µ;Xx7°È‹úAÞ£äÍoÌ/äåòº{,¼»çÂ[™`~'À»ߑó™`°•ò™ù8æ3‹,8+f±¯»Ï(¹&À˜è'ðߺ„_}pµÿ3¯X“€SxŸ˜‡GiËÌ1£¹¹Ô“wú•êÞLòŠº&š´Td’ëÌx'»™8òxOëóxÏž4鉞!¨µîw›l(½qGÞï´t ¥³‹…w­ð¼<˜Š¯}rš—gñáz °ð®—ŸÇ˜0˜€;á½¶èYö6˜3ǘP°WáØË;¿~·j—– žæð6 +MäÅó˜`LÀ8k^;…&òéæÅÚœÂû¸Ä|zÊ8Ü—š„¤¸ÄDD4ðš¾Lò Êv¿ÙÔŠ¦‘I®_x ÃØ¸(LM…,²š“`LætUCНV¡‚|ÞëíØ»zXx7©å$FGbï’“Jçb•XxWáÏL€ 0Pù @Ó¡0&‡ @•âË2&À‚‰€½g^ÿ9^=ðïxùXé‘ç`ݶoàkK¾€¹38Ë}X¼› 0&Àt8s¥ ûÞú@Ç™|Š¿ HÂ{—iqÑøÄØÑd5“„qɉHˆìœ/·IÐþÓu´kQKÙîºm1¹*½£Â1>!Âã}FFRãÞoÔ5âíK•d‰ÓˆVÝix!¦'ÀV=þnGþºÞêG?ù÷±5¢?x³ðîÊ| &À˜`L€ 0 "à°Õ£ªú&nW5 ¥µ}DD,’ÒÒ0vìŒI‹—|߃ªR,`L€ €n×UÌ#5X!J÷ð>Š„é©É RÆûýcS‘$ º»{ íw.ß,\Z»A‚6M÷ªGÐîÞ“¢Ã‘)êG ÷‘NrlŒOõëîé…‰käí~æâu\­m”bìѧOÑŒœ“?1.ß[8{äT8€5eá=€ðùÒL€ 0&À˜`L€ 0&À˜P¨jjÁÆ_ò¤ªJ.VýÜ+¼w!&,)1¸¬XfMqI‰ ¹«»]]¸ZS7IоV׌n²˜ÓfÆÛLr!¼S™id3óq‘ÑOV:c“â}ÎèwP™öÎN\¡8Ï\¬ÄFÖ}"NAÎÛ8B;8/ºãK"#ј_,'ÿDÍ»8óU˜`L€ 0&À˜`L€ 0& ‰ÀÑ’ üüý MÇòA Ð'L‡¡Ñ!=˜2:s‰)Iˆ¤ VÃBCý¤³[í¸|·ï^»ªÆ„†G „bÑ-hwwIB휉iRFÿ¨ØhDûèaß.âl³£ân=Þ!÷*ò¡ G¨$`ÑÝÔ6óÔƒ™x:;ÓÔkpáÔŒoß¾ÝÓE£`ìíà ‚ 0&À˜`L€ 0&À˜`&ðÂ7QÝÜè0øúZ ôY±€Ä鲜—‹Ù“i’UaÇB“¬FGúw’Õ†–6\#ÑýrM.‘¿{][‡O‚vÕRÞ1™lf>3m‚4¹jD¸ï ¶¶vz‘ñ^ZU‹»-íRœ!~¨Ðz›‡Óqé ±øQþcéJ–¬ ï–¼-`L€ 0&À˜`L€ 0&0 |x§/¼q~$V=xë,„wŠž2[ÑíèDrt¦I>èɘ’Fâ;y½“k9¥¿š[Ån²nqtuãNC3>¸Y«÷êQÓÚ!MXJ.ºüÝ)äˆÐƇJ:ФœI€õõ5+½ÞÖŠŠêZšüµWêlhh郎ü¾8ÍEÅ¥-Ÿ›#Y1 ó°ðn[.™ 0&À˜`L€ 0&À˜`^xåÜG8yñ†WçðÁ Ðg7ÓMâ{9ËŒŠ ÃTòBÿä”q?: "C<Ôdû”ŽNZÚ;p2ÝÏ“uËMòLï µ¿;„,f„ÍŒžëS½¢"0!1F²˜y`l R)[Z,’øîúj xïz•4ùë]1@àèѧqŒÔSNŸˆgæ>0R«ï—z³ðîÌ|&À˜`L€ 0&À˜`L€ M`Ík§Ðdïú@>ÂZdYï”öŽp²fKuöÄtÊzOÆhÊzŠ$ñTyƒ3ßÅä®]Ý=h&¿ôªºF)Ó½ì6Y·ØÚaÝ"Ù·x)¼‹0Ãèœô„Ì“$ ïé£âGÖ9R†¿Î;ÐC±vSÌ7êðÎå¸VÛ‰î£'NaŒøÓ£#±wIΈç`&ÞͤËe3&À˜`L€ 0&À˜`L@#÷nÝÃŽ¢bGóa–# Äwñ¢¬÷ž®NÄG„!=>FÊ|`B:ÒG% <,”&5v²Ua/#&T½UÛ€Ébæzm#êÛ°w‰ r²nÑ9©j8YÌDS¼SF'`ÞÔqd1“ˆpŠ=”¶û’íÞEñ¶SvþU²˜yër%®×7£;4=4(¡×Çrm!HÚ˜; O ’hƒ/LÞƒïžqÄL€ 0&À˜`L€ 0&À˜À0$ð“wÊPtéæ0¬Ù©’Ý©ª=4ɪßÃ(ë=š4v1ÙêÌñ阒„¤Øh)óÝ^dw:º(Ó½5Mͨ¼×€òÛ÷PMÞé]d/!º‡öYÌx“íNå <>2œ²öc™: MƒôÄ8t’hÞEû}Y쨧 `/“¿û¯ßÁí¦VšT5B÷/±Œôssi²Üo>3ÖSÀ“3'£`öÇôœÊç A€…÷!ñn&À˜`L€ 0&À˜`L€ ˜Mà…[-f_†Ë÷ÞÅÒ›ù.Ä÷.ÒÞ;ÑC™ê‘äã’…Ñq1HMˆ“Þ…ðKÂ{„°\‘¿{åwq¾S°nkï$‘½ uBxonA­­ ö´“ -Yµø˜é&ùºOJN&ÜœD™ùÂ^&œDqá'/bñei'?úFòv¯¸[‹sWn¡Š¼Ýû}èuXâø Ÿ;@`ü¨8üï¼G6ðšaXx7 %Ę`L€ 0&À˜`L€ 0ï T5µ`ã/ßòþD>Ãú„`MQöN¸ÚnÊ|¡,ø²^ ±YdÁG‘àAj{‰îÂæ%2"L²v•ëÝ»aïì${™.éÕIB{‡x‰‰N)c¼;$”¬ZzýÜ¥ÉTʼnÞd AŽ>ô™)‰’§ûTzb‘ävEwQŽ˜Põ*Yâ\¯šÔÑ ˜T•‚÷ÞGÈ‹av|éQÉÓß°¹ ‰ ïܘ`L€ 0&À˜`L€ 0&@¿ýè:ÿs#àK›J O|']²žé&»Éÿ]¼K“°’´Mb|8‰ïÑ$¾‡‡…"ŒÄt¡F ‹™Nzµ“¯»Üi¶TI$îBdïÜûlZœ65E÷P:.Œ^Ñ$ôÇQ¶ý¸ÄX|,m&RÆ{2‰î"–.ŠKˆÿ¾,]Tÿüµ‘¼Ýïà*YÍÔ´vÐ$°”©ß7`àÕ@/Áð¹n ,Ÿó1|þÉn÷ñFýXx×ÏŽÏdL€ 0&À˜`L€ 0&À˜€Ï~øû?¡øfÏåp&З1.YϘM :6ZÊ^LjcÅu£„øNïqQ‚»xdž’íK;Mú*D{#<Ýq‰É_mmv\'‹™âkU¸Ñ`“D÷.º^¨Þ…à΢»WÀß¿œ‰¿|03àq §XxNw“ë˜`L€ 0&À˜`L€ €n×U̬÷„X.2ÐG‘µ‹x%FG!!:ñ”mOëÂk]LfMLj õPzI¬RN;Ú/PKën./2Ûôê á]ØÊA]ˆúÒB'‰mb[DÙ’} àÒæžIp'Ó)É]dª±4´´âe¹_¹[Kô^ÛÖA£”…Oq Ÿz§UŽ×â2|'ð‰q)øÞÂÙ¾Ä%ô`Ὧ0&À˜`L€ 0&À˜`LÀ¿ž9ò;òwïòïEùjæ á[LxÚkí*‰èÂâ%Jd›“½K|dDŸè.„÷H²z‰ Á]¼ÂKëBx‚¹<›Ý)†‹€åëò ñ¼wJVÊX'ÛaïâÚÇIÖ1ôAøÀ ‘ÞyœØn”Ðî¼V—ÈÀïìDùºtë.®QÆûÝ–v´RF}YçHªŠƒûœçñ{` ˆ¶úÊÒÇÄ0»: ïÃì†ru˜`L€ 0&À˜`L€ 0à p©¦ÿôÛwƒ#XŽrHÒ¤§t”ÔSã¢é#½¦õѱ½žêbRS‘‰.2à{³Î{½ÕŸ…€._“ÅI/ï_”úµ|Ÿ8HY†ØïñeÅô—çëJ M¦z‡Dw!¸—UÝÃætR®}·°˜™î"_´¯åó !ðOŸÿ4¦¥%RBÍüöíÛ=]4²š‘‘Á<˜`L€ 0&À˜`L€ 0&ÀüDàøG×qøüŸýt5¾ŒÑ$¡tò’…L,e¯‹‰K“HdƒòY¢{2MdšDëÒd§Bò&µ[žq.²Î¥Ìsq!Ù;õì^qÝè{.Odº·S¦{ íwî‘ðÞ€ëuMhêèBXD$ùº‡ ŸëÏ%ò^X6çcXüÀd_vØ^…÷a{k¹bL€ 0&À˜`L€ 0&À˜€• üÛ›¥xûêm+‡È±y &<“•&‘mÌø¤xŒKŒCƨx$‘ÐCö1´_ØÆH“¨ÒqÎÅ™q.>佂¼´Íy Žwg¾¼™ìC…ÓJ™î5M6)Ó½¼ª·[${i2U²Ñ‘|ÝE!ÎÑ¡ äý~'ðÈÔqøëDzü~ÝázAÞ‡ëåz1&À˜`L€ 0&À˜`–&ðÂ7QÝÜjé98¡’“h,Äv‘Ý.&FE"{eµgŒŠ“„÷ôÄXÉ·Ý9q¨£»ôHïâ|Z!ŠËjaøªƒ&tmëèĽf*)Ë]XÌ\­mDS»¡’§»ÝÅD®4,À¢»áü,0=!?ÊÌÈ"GtY,¼èÛÏ•gL€ 0&À˜`L€ 0&ÀA ¹½«úû@\š¯é‘·.¬d&Ð>1)“’M“¢†#’&F«Jf*¤1;3ÛÅ„¦’«ú0SÜÕijmíºFÝëq¹ºwm­°‹Á"!ìe¤LwÝ}huþ=ußW>‹š§€ß °ðî;C. 0&À˜`L€ 0&À˜`^(½]‹O^ðê>80Ä$¨Â.&Vd¸“­LzB ‰îñ˜@¯ñ$¾'жnR×»)—½“|·«Ðî¤ïô¤oït ¹­]Êt¿VSµ ¸Õ`ƒ­³ !”éæ´—aÑ݉.(Þ7/œ¬q)A«ÕƒdáÝêwˆãcL€ 0&À˜`L€ 0&À†ÿùð*þ«øÒ°«×°«¥­GPÖv‰îÂNfæØÑ’à>*ºÏÇlgz}ÕCÄ´©Ã^t÷WØæ´“µŒðs¿L“¨Þ¤l÷[íh§QaÑ=x{Â×gMÃ_||jðVÀB‘³ðn¡›Á¡0&À˜`L€ 0&À˜`#ƒÀÞ·JñæžXÕÊw[d¹G…‡öe¹ÇbòèDÌHO¦Œ÷X²”!ÓÚï  ÷®òU¡¥ÏÂÝÊUÒ›°•qtuÁN‚»&Q­oiÃíú&\"ὺ©EÊr賈BÃÂÉ×½o"UÎt×Í;'>vß8¬y”'X5â°ðnE.ƒ 0&À˜`L€ 0&À˜`^Øò본^×ìÅ|¨_ Š.¬eÄÄ©“’ñeº£Œ÷؈pÊ€Nï®î~ÍÏ“ltˆ‡ÜïØ^U߈ë4‰jMs šiU»|!&¡}~î<‘ªŸï±—›<:/|až±…ŽÐÒXx¡7ž«Í˜`L€ 0&À˜`L€ ŽÀ7^}]½fà ‚¯ì–€˜ 5ŠìeÒhÒÔ)”å~_ê(dÒKØËt‘-¬Vœ>în ò"s_žáÞFYî-í¨£ISï44“ðÞ„[ôj"ѽGdþ“à.2ÝC„í ð!œéÔ- ŒÚÿÿ-ø\P×Á*Á³ðn•;Áq0&À˜`L€ 0&À˜`#‚ÀíÆ|÷Ø[#¢®AWIRã"#0–&Pš’ˆ™ãRi=Q$.“ Ü;±¨¨•¦‡ç"„­Œ&N½ÓÐÔ+¶“{-ÙË´t8ÐJ“ª¶S–»ðrYî4H!wˆLwDï¼5ä=*ýÂ#¨+aàYx·ÀMà˜`L€ 0&À˜`L€ 0‘Cà»øÑ©÷FN…ƒ¤¦Â·=2,câcI¢{fj¦R¦{"eºwíÒ܇àîÌlï"½ÃAb:½:]4qª"˽¡µ w›QÝh“²Ü›Û;ÑEÒz7 ë’—»Èrb»x9Åvç{ÜsÓ=ïä<„ÙǸßÉ[5`á]3*> 0&À˜`L€ 0&À˜`¾øuÙ5¹pÑ÷‚¸ã -<Ý…è.2Ý?A™îÂÓ=’ìSB)›[dº‹ÿ §EŒ#ѽ…¼Ûël-’•Lù¶ K™†V;l$¾Û;iBU:FÊpÕ—„váå.ÄvÎrNíA^—¥³§ã 3§È7ñº,¼ë€Æ§0&À˜`L€ 0&À˜`L@/WÎ}„“oè=Ï3˜ÉǾ֩4‘ê4Êp¿?- ™ôC™îš8´§Ûà+Z£¸Êno&ý^³ ·ÈJFd¶;E÷²™i§º÷P»°’ v2’—;ÛÊXãî™ÅÂéñÌÜ̽È(…÷p“¹ŠL€ 0&À˜`L€ 0&À˜€u¼ø» (­ªµN@#9Êd ¬ö¸ˆpšH5ŸšœŽI£G!š>‡‘èÜ›é><5‘•ÌÍÚz\«©GEu-îµØÑIiðÂRG¼ ÑÔö>ц'„OŸÙVfx¶y­²2R°ùñÙòM¼®ƒ ï: ñ)L€ 0&À˜`L€ 0&À˜ÐK໿| ·›ZôžÎçE@˜œÓ’ £â1-m²Æ§a M¦ÚIö*Še8/NáýÒZ¼£wmmÙíB`§:ýÛÅ»€!Äx^†=q‰qøÁ—öõ4»‚,¼›M˜ËgL€ 0&À˜`L€ 0&À˜€ŒÀŠ#'%aW¶‰WD@ØÌŒ'/÷OMC“©ŽBr\ ¢ÃÇu¦»uG§Ív;„ðþÖ囨lhî›45¬?»]ÊrwžÀ¢»“İ¿9¸tá°¯§ÙdáÝlÂ\>`L€ 0&À˜`L€ 0&Àúïì¿þÙiæabâÔ¸ˆ0ÜG“©Î›šIÉ 4w¨â{—ažðŽò®wPfÿ²š9Es\¹×ˆnÊt—|Ý"»óÝ …ßG ûò$Ñ<¼è'À»~v|&`L€ 0&À˜`L€ 0&À¼"pµ¶ ÿð›w¼:‡6ÙÌ‹™IIñR¦ûÌq©4¹j ezƒi®gÙ"{PY×$e¼_¾×€G¯Ç».‹î–½kþì_ž|SiPŠýXx×ÏŽÏdL€ 0&À˜`L€ 0&À˜€Wþt³?øýŸ¼:‡6ž@z06>f¤â~òv;*q‘´•þgðÞÕMåzuwQ© lúD‘M˜,«Þøši/Qèê4]*î4ÙP|ý.SÆ{Mk;Z:ìå®ã°=ò»Ÿý$>9!mØÖÏcáÝ”ùL€ 0&À˜`L€ 0&À˜ ¿¿tÿùN³ a&C8¦ŽNÀüÌ Ü—– a;#q£DwQ½v°ë[Z`ïì”,]¢##1š&n¥w«,B|¯kiCÅÝzÞPQÛŒº¶žHÕ*7(€qüÕÃ3ñÙiAð_š…÷࿇#¼”Ÿø)Nßî@T{;Æ=òeñhÜÈi58qä× ÛööH<òÔW•>rª?LjZ_z?}û6¢¢Ú9î|eQø.Zíæ:Pzì§x»®ïY»à+X4#YGF•£ãÒªS¬‹*8ÞÀ˜`L€ c¿,½‚Ÿ¾wy×ÐúU‹ Õ=12÷ÓdªÝ?ÉÛ½‹w#Dw‘Ù.&-µ‘FÑ@‚ö]š°´¥½a¤p'Q†ýÔôT$Å’¥…_uS *jð§[÷Pmk£9UE:<½x±¾òÐýøRÖ}#¶þFTœ…w#(ªŠË¨í"¨¼NÄbÚŒIˆÖXvME9îèž‘†4ÊBï6@uï&Õ½›ìej›[pµº×ïÕ£ª¾ ]])cF#{ÊxŒMJ°£GZì¸L“¬¾y¥ 7Z"ìpXx·Ô}òw0OΜ‚‚ÙÓý}Ùau=Þ ¹5ØšŽM²²4 €5EÈN_ˆÒþsóPÒZˆ,bsÿÁÁ·¢JµT `óü݆¯‘øëŠ ó±òXoIy»Î£pí,-Åò1ƒ¨Ä–Ð)xѹ?ïš W ÞùÙJïöb,ƒWûbÚu¾kg±dk¥[¤%–ÒýË‘½¦ï.æìESѳÖloZ*3l1êYkT9F€¶R,FÔ‡Ë`L€ 0&À‚…À¾·?À™Šª` wxÅ)²Ú©Fcâ¢ñà¸ÑÈ$á=ƒDð„h߬_„f/Êm£ÌñzÊr¯ªkÄÅ;5¸QÛˆ{$ Q?™&n66ó¦OÁÄ”$²º!wu‹$”‹ \!«™Soà*M¶ÚEf3=½†3Òl³Bˆ¡z„Jþô´‡‚ï<ûê.­¯Ö2âk#l˜V?ò‰ÏÁ,¼ûBOv®­x?ç¬Ø’µÕ%áÙôÄ[fcñ‹²ûª×.aßÓ™å ·5…PêMõ6>–*EuN¼a¨éXG6DNÃnçÁ9”\äš\_^„Ÿž®”¬A0ú,Ë 5ˆ¢=±ðî¼iþ{7¢-°ðî¿û¥ÿJF=k*GMδR,Qy³fDÿóæz|,`L€ 0&` ÒĪÅ4Á*/ „bÊHŸ˜G§fH“ªÆGG!2<̧`„pÝEÂõ†&”ݬÆ5Ê¿Kv-M”EÞ!vÒIö6™c’±`ÆTÜG™ïáaaä)oåâÂùúf¼uù¦4Éj M ÛÙÕ-e½ ‘]øâ‹x#„¾4hÐ+¼;¨~¦Gkį+^¬A`M¬ú·4Á*/ú °ð®ŸâL;Ž,Å2gê-íÝv²Ïå.½;ªŽaö„|Y¶ûf\ë~“%« ¡4+o¾<3mŠJ¶Õ•a÷Ë}iì²}ëh`b§ËÀDð '²êYd•˜.§_8·ŸÆëç»xn[ÆDÑžXx÷2¢-°ðîÿûæýzÖUŽ÷5PŸa¥XÔÑiÙbDÿÓr>† 0&À˜0–Àó¯ŸGyu±…rišˆn!±ß—’ˆš4ò¾Ô$iBÕPp{»ƒ&(mÁuÜK*oãe¼·u‘ÝCYí$°Kòzw&‘—üüMÆ´1)ˆ£,{_M•ÖxÈÀ>ïÜ¢L}ò¥·ut‘  E8e¹÷Šîa´"­S͈f4i¬ƒ3:Hxï"^¬ ^|¶“×½llÄ61þ Ä}^‚‡ÀŒôÑxî‰9Á°#eáÝÀ›â¨<ŠÈ)KJÌÚ†›%Ï!c`‹lÍcf#÷@¶û¶Ó$ÔÏ\¨—¼« ¡toI+žÌWÇ^…c?Þ„üM²Ñ äálS!æöûž¿pbÍ›iGUå]8Â0)CmÝb¡TÑžXx÷k2¢-Q†ÿk>Ò®hÔ³Ö¨rŒào¥XôÕ‡ûŽ>n|`L€ 0@Øò본^×è0FÞõIôÙÚ1a!˜F3bRÕIɉ’x,M$ê‘{$X—ߪÆå»µ¨¤{Û`ïDw切’èN¢uOO7z(#~\b,>9a î§Ì÷ô¤DšÓÎ7‹Bv{jk‡w›l41l‰ç=RV~ùáÇD„KƒB|=A°š¡Ýt¬ƒê(„ö–ŽN4¶u ¶ÅŽ{d»SÝ܆F{{¿0ïö¼ђ&NÀ _˜gÉØ‚%(Þ ¾SE[²±Pf³ùøM¼°H-½;*H¤Ÿ&éÝØyš5ŠÓ!”ïYN/ˆïJphEV_}‚_8±Æñ.ŠòƒË1Ó™Oð­äïÎß»Ru­£=é¸ Ÿâ€mA)Ö’Ç»z¸ÇC¼ËŒzÖUŽU¶R,úêcDÿÓwe>‹ 0&À˜ð…Àw ß$1²Õ—"ø\=Hx‰CJt„4©ê§¦Œ“üÝ}±Gé™Þ”Ñ}ƒ¼Ñ/\½‰+5 hhïD;9´„†‡“:å× Ot‘ñMÂ{2]{ú˜Qtýdd¦§`t|¬žš˜vލO;‰ç"s],"Û=.’„wz‰A !ºK{ä™ë’ß#e´ïí¨ok—Äw!¼×µ¶¡™¸ØèÕ*²àéÕw ÓêÂûN &þQþc¾4‚K`áÝè›_¹) pª¿\wö1v]‹%/÷„%MX‘ÕŸÆ=°C¬ÙkP|ú üîôQqãZ¤½qxð±'ñŧžÀ ·“ŽŠƒêqîÄ4 ííx(7“¹DU霿Ú*ŽDìôy˜?CžyoCñ‰"ܤ½´Ósáþ¶büûΗQTÖ‚šŒûSËþki0ÉÑ#”:ÊÉs|f¿ç¸ëªÞ '5ÅxãäïðÇ?UÐÈkɉâÉÅ_Äógxå b1/o>ù÷ÛQ^ôk¼ö«7pñ^oYˆKÅcO~ _É›«I8¬©8‡7~ý:þPv -Èy˜ùàãøÒS_ÂÜLߥG{M9^ÿõ¯ðûwÞ§úJ ‡BœŽ‡?û¾ðÄ\ Öt*Ïá½êN©=$}|¾K=ÅzæÃÄSzkÏblíw*ÀáãÏ 6j»h–û‰1©Ÿ£vüúoÿ€[ŒNÜD<þä—ð¥'‰Wxo|^ýWÙžèk³Âé¾üRÿ}±×£øí"¼ùÖ”ݪ“î ‡‰Ÿz_úˆEš†©mœy¿:þ{¼O}¶w¡2¤2¾He¸ô/ Åõb«<‡¢÷¤Ø©ÔO³Òà {üËÿz oüñbß³Hþ¾¶ô+ÚÚŽç‹ÏmAQeá½o §­â ~zäçxó¢“èäã_ÿ=ó´5#ú—ž2L¹O fÊõ•Å(*zJÊPGÞ]âyÒßשiBF¿2:ñ߯â¿{ -Mü¾øõ¯#7+™&²ŽÔ6‘µQåP%õðwac`,ýåÚ*p¢èCÐ$ô·˜:ïqšü{6I×/¢Ÿ’wJǶcêœ'•¡¦ô¦žzúŸð‚?ô« hJÃç¿>Ødåý5ä&À˜`LÀdß>zõ­ô ^üG€„b!¢ì퉣b¥Œ÷Æ¥"-!NÊx׈2Äël-¨¸[‡ תp³Á†®0ôØîÝ…ÍŒ4ñ(YÍÄ…‡b\|´”ñž=iÆÒÄ®–[z5w),¡©‡Q]Ä{Ùæôϵ* ZÔOÀ»Ef¿Ô…€/y¿Ó10!2ÞïÒ`“às¥¶IÊ„V4,¾Ë@Zp596 /=½À‚‘OH,¼›p¯Š÷çcΚ~Uë ¯agÞ€(m/?ˆØ™+®¼ê5´î{Úèë@éÑX¶d“Ì~à4çÚª½'±ëÙ\õù¶sÈMœ×?°ýl-6Îu'æÚ°';ëû\o²¶ŸEÉÆ¹ÎâE9yë6£i÷‹ýåŠsvGÑZåħEô¯)…ÒóµX;Ë]LýgЊ«¸æš(úw ÁuŸ«(/+£¾;Ö.æWû*)ÛÕ¿šµ 'µ ¹“Ô¢ˆ’Áöã'µw!ÖÜæþbzWVáôÍ—0?c1ÆVŽ=k¾ŠõâÉÛ^ˆW6æið§éÈkplçw6=Ê£²°½ð06ÒĨ®‹ûöàâ%ìz‚ìSYɬ€zw•ŸØƒ¯.^ï¡ °lòf Õd—«Šö´½îËý÷¥üØÌÌߤ¸ˆëÇœu{qðûÏÂ]3GÖ”Åw²—`à7®ç‹OYÛqxÏF–éÕâròváäÊv,ô諾§ñÒ³®þüÔÿ|q‰c @Åšû¶ 8Húè"¼ç¬ÃÞü6¬Y/™Tœ´ýø%l\äaj#ú—e¸ðñù>)*¯üh£gÛš!žmÈÁÞÓñìü¿CÊbjŠ`áœeƒöÑ‚mÛ÷³Mx¹ï:س֨ràgÝ ‹ÅY`ß»òo¸§¿5gžGú‚­ý%¨,åtÔÓ¥}õ—¬\‘õ?{)–Çf<“²ö¢©äY÷¤Êbø3`L€ 0&` Uÿï÷’‡)…s¡î á^)$$~,2ÎÉÛ} ½’âÜ|ÿw_‚Û­d¥r½¶—îÜÃU÷pTÂÂ#Éa¦7Ó]¥E–¸¸> P'F†!“¬næÝ? G"^:ÊmùþÞ(2ÚÅKíb¡°{_bxB¬ …}Ex¾‹óœe8miÄç6Êp¯¥Éf«ÈƦâ^#n7µJƒO6²¥i§I\…Éá}Î^ÕÛkQPú’¯ö•»Ë)nNGÛÉW>Ï/pm:‚SÏ.ð§¯4ž|9óÖè_µÏõ»bÕW?ƒìÄN\üåO±zñ㦨ó€º,¢dp‘Û^hõ5n©Ç§¯Ä–?½É--˜ð¹2,½/PÜóÕ¡¯Xê Þ'½?­·ŠÑzºt[¼åE~Ù}§ÝÎ+¥90¼€Àðüõ8øÒ*|fj6:.â§;Vãñ͇ ã`í!,2jï–~ë JÖoÇ3þ03¢ŽíÃ3¥kLç$ º‘Ñû{MÇrÃ|JÑÊmØùô×0-=-—aëc¥¾¨RÕ©•{yí,µ =6®ˆ¿Œäß»s >w×D$´TãÐÛðÈ:¦*Y„ýœüYâ›ü±gêj¬ByuRiAwüŠå>1i5Žœù'}ø‹é˜1+zœ¿52TµµmßN|mþ4$ö´àØ›[QjŠl6NRGdÝr^ô£"=/®³{øÊr½8?‹ÙÏïâk îBöHàÊ©xn¾9Š}ýþJæo0F“Ï­Q»_¹e/Ö”}ÓPý»CضòÓ¹-Z¿'^Xâãeè€íªYÐõ]…ؾï<³FC«&J6áÈæÿ…Y|®];ûߨµñ¼tØØ6á[NûŒo99UÏHÇúb³ñ›É[;v—w`Ùt]Q÷I›´U´IÓŸ¶EëâÔ ‹¼;£¿Î"¾ÿÜUØT€Íú‚¾e§ ŸB@! „À`øó7~æóÐ춤~=â<ŸÉM?39OÞsè_­¼Ë£]”MŠòvÿÅùK¨ ·{+E÷nnÓDw¥6뢻j@ ÿê£×~·›I]GáÁÂI´œÉÆè”d$&0Bþ6]t^YÖÄkLúµä«dWIÛ™ÊÆVZϸ4ï÷ÚÏÈrëPo-ükÙn}{"Âû ´ß³½êÀó(xØŽ‚%$Ök1}Úœ—mZþ˜ò~£X¹Šb¥/¢ÖõnéwpmxeQ:ž<ì©¶˜o4ò½Ñ`‰P !¨‡ll»oØhý¼‰*-q˜<º kã |“6f»37;AÉÔmWZú[£Èƒ êdÆ )ß[ %¬o_`}†!úW9/@½ÝŸÛ[´4&}ðþåÙ‹ðèiòøÖE˜¿î°çKñ6Z=å‡-}ÙÎD¯OØøÈ˜ß†Y3´¡šå×Aýc³Y3qGï…× ÷‚¿€ùú1_ËŽ=_¼Í™úäZð÷Ì~ÍTVâcÚqÜxѲ°ÅâCEpw¿€É?'î/'ê`|;mÂæøl¢;Oö¤ [i²uÍ?€W-Ú¯|oJ¬×êpKÂo³ÝŒuÆ&"Þ×$'â8iäýn~.8Uüê‹oàAVÌÏIØ<Ï>¿ 7ö–7¾ÍãÄ8=Õš®µ(ï¿ ”ÍB@! „À ({ýÝA¬]ª¶#  ï*Ò¼xÆD-¹i*­&(¡<Š¥‡"~ýÉËkëqä—PÙÐB‹™DíÇd1c¬[E½+ñÂ{VJ"¼¦cæØÌȃ,Zà —EiïJ€O¤‰²˜©njÕ|ßÏ\kÀ5&`Užï½ä$Ë­AàG¿xktäÚ ÞõÄÙØœøÚ .¸™£oË(B½D„R•Yþ€7þámÞ·ŸbÔž5úÞ7®V,}RÖ#ÊY"`¡Õ„ïeÃN[{Ã[&1ˆ¡¥L.«G(—mçDÇvy°Ú¢˜&,ýÅÀajg-öë÷Ñ{»Ä1ïjVQäÚéÝ`Œ”ôc¿f¾~€mûÏà›KfD‚¿ì]¬"ÁÍŸ£òk”LL½M†#ö˜"1í,. ݯbÔmuƒðÕy1ôc UÓ˜¬ý´D¼£lμüMÌÊ2²õ´àv)èü¡¼Ÿ¸;h7L܃¾iÀâ[Ksú®}ã½o¾>bx¾x{iê“ñùt;Lu„‹V¼µ–ÚúÛ)†h~'î/'ê`ÃOˆóH)Ê-n&ÖLò'Ö4^ Ö·4‚M{Zñ\°\ûQ×ã§úîš0ña}*Âj7C{Nnê{Í“âæd§±ü.0]kQÞa UB@! & »Ã@èÎ#¼»Q5ŸŸ5Y³xI¢·º²?‰féìéA£µÏ×5⣋Wq…ÑÚqŒžSB¾7ªÛ®^½i q?*E›¸{J>ÆeŒ¶;ü¶Ý¦‹ï*ò½ÛÝ‹å•å.ðÍåùÞÑÍ¿—Cp¼mÁÜ‚á=¶“"Â{lü,múÕ  Èúkôï.Fÿ®ùZøÙ=«0{¹W¢-bÄâ o¨E,6 .zsÚgAEí»S¥ö_,uÙd·µÛþ ž°· Þwkdo(QVkÑâÇ»~=¼K¼Þ–~giÝüÑÛ®Š·Zè;%[°÷ë¹híoRR ~²|O8hÒÀXƒ9ÚÙ»§¨›¾ù(¾xÿݘ6u rG…R{ƒ3ÕÛXìqá­U÷áßÀ¦]»1 ¶ƒEËo‚5›}S$L6é½à§çÅP›¶ê¦—ý±£‡pø½pîâ5´b4F{ÿè7o¼áŸ ¹8Ѷˆù›k,Y½ ~鋸»h¦äçN€˜ùm`îÞâA¹8ø|ñ6vŸBŒ,’:Ì÷u >¦]—ziƉûˉ:Ô0ÃOÐó–í.7ªN3Áõ{‡ñÑŸc”¯Zý¢mý ÞxÛ?izvY&'M“í„x.8T#üêKÀðí6XÚ2NRº*˜7¢p¹¯Ô®3XáͪêÈ8½5‡}­ùz"+B@! „À­@@¬f†þ,¨Ä¦}ôWŸ–Ž/ÜY€Â¼,¨¤¦Ê<𥭫 ×)—×6àäåë¸Öæ¢Ë ëSB~ÁXÞi7“ÄfÓã4Ë›ù3&crN¦V,ÚþD3†[¡ŒŠ|Oˆ¦Î.œg‚Ús×›PNï÷úŽ.ÚÑÜ =Þ}«™ØÏ¿ï±3 «ß2·Ivè¯Ä"nlg»'îõï¶YsÑš&ÕgMcŒ=‰GSçá o“àbªÇÒf@Ò¼pë1UjÿÅ"4ÙäßZT²ß|´ òÕ0Øû`"¾×‚D¼›:Fö¶ðͽ®¡¼qÕ\—ÉŸÝÒïà,ƒ‹næþÛxÝ(è |4}ßÚ€Ùè±–%ŠKVã/žz%‹Šl&uÌìÚXì±¼]±Åp ‡8JÛåÀyñ5ÑV=/>‡å¦d”¾½+Â;aÞ… Ìñ{¸”*Æê-ÇËJP”òb (©6 ÌÝ[,(˹åùâm*ì>y·ûˆ¨ŽzkOô{këoƒ8q9Q‡_Øã zžì(Ùo«:ºó­åxï­ÛèÝj|v™'é‚ä6ðÕf¹v ¿'«Çb³æk:Œý9åT_Âh’‡X,Ê v3¦k›PÝ÷¬/Á±Sי꣩»gRx‘£„€B@!& ÉU‡8›Ó„w¾õ=mL:¾4{š&¼+Q1Z¡»¥Ó…šÆ”_oÀéšzÔ2J;.>Á#¼‡ž²›á$À¦ZMèscjNŠïœÊ~e2Áj‚fÁªøí¶OÍQ¨s ¬{ÚiÝsA%«åUmp+[ßoê)—䪱ãá=v†×`ŠÌ‰,­ÅÍâVDß‹†ŽÖÃùÝüG¼?4üh`s›º€ákÊq(X][T‚ÒùÙPÎÆÅÍ_ˆ ))HЇ#xßÍ\Àij}þÄ³ÆÆ|ëÁë Ÿep!ÄÚ_³a¬m9†SOGæ«ßXq?Úú=¬Û©G’Û5T†ƒ•¯b‘Ç$Û{@Þ#{Ìuص|[1“²I:lS"‚k3dŸ™ôtmR¡ÏóÞßRJÊæc\šg˹;qXßTäjÄÑ=?Â÷–¯ó½± 1~–m;ˆWŸ L†i<ƺr ƃƒr±œ—Xž/ÞöÂ–õˆê`”ñ"ZHöÖ¡ ÉNÜ_NÔ¡ºöx‚ž'ïàø0Ûîø.*.Áü™ã<®ÃÎ ïf‘ºGZNaAÐù óµcü=áX=1ïú3Ò©¾øi†^k<΄Ùóý ³w—wcÙôFlebi=„‘•ªÍ©ëLÕöµ¦–E! „€¸e<¶ç º{ûn™þ ‡ŽèÂûô1Xr×TÌÌ˦¯‚Ó£‹xWÂûåú&TÐjæôµFÍe„ÞªO ïÞÏèû>ÚÕL¦õÍ‚™“8£%XUö7Ãqñð ß{~qá -|šÐÜåF—Ü'7õrH¢ÿ«ËßÔ>|Òá}(Πŷv ×ù‰&M¾°AúZsèyL\¼Ñ»×-¶¨\PÑ* »ž 4n¨+XrUc¡PëÁûn`Jp„IYø’²ÚÕiNÊçxÄûI&ÍçOš»eß1|ij"ø»6ôÂýÓfó´”ÐÇÙën«Ãù߯É_ŸÀûûw›D8O²©} |¯gª71°Øc‰x/Þ‚c?ü;,[HÌÀì¢é¶ÉMõö}Ÿ×S=“õÚŸäP}6y·³òâõ»ðÒª¯âÎÉ|ýÐ×ß$xíQÌ~ÜûIPá]/ÀÁUçqú×'qâ£÷±{óN¿M÷’mG˜¨x^`ÀÏPc0ÊÅ|^bz¾x »O¦š¿DR‡Y´,¾Êã(™œB»òØï/'êP# {¯Þ'5®Úï*9÷\&çöËawùqŠÆÁž3ÁŸ NÕã§úbËÜn£Å¢¬dûìûz æä,öÝï{+»±Ô0¹éÄ8õ®„}­éäS! „€¸%¬üñ{Ztï-Ñ™aÒ ]xWïKfOEáØlú±ˆ:¼¹Ã…ê†fÍå·L z½½ #”ÕÌ@»â­"¹i7ÓÏ€Ã<ú¼ß3)O›ÈˤÍiJò09#ÃT¶3õ­øÃõz”×5ãbc+i9£yð.[†€@ZR"vþéCCÐÒíÛ„ïCqn#WLÉ9iKSêiØK‰žÎߺóõÐ:•IJû“ãñ®G«F‚‹AhdrÕrÕ-Gêñt(å‰1!åaogVÓãýÅX=Þ⬥?ÛOu0Im0‘+z"•l«9‰]ëÃ7EÙ®3x}Å,oÑL½G„#ö˜®c&Ìì`®ÇGÁ½¼Ïx™Þìk{·r/:v,µíkð:¼eC}¸Ûpòíx¬tOVâLÇx­ŸC•Öö…Ý~.¦óËóÅÛÛ°ûbt¦:¬Ik-åÌÆ )'î/'ê`Mã1>,c‰äMkÑÆã/3Òzoóîò{Ñ<ĵ‹x¿åX-ž¾/×W§y%ÄsÁ©zœàïT_̃ùíèó‹°pãaÏ1ÌÝqðëX¼|³ç;ï±Zþ7QubœÞ…}­y—! „€BàÖ ð­·ŽxÅ[£;â>á=‡ïšðžÅĪ#¢N®ª„÷+Þ+hòZÍD*¼+¯÷> ïY)‰(ÌM×&fŒƒœQ©Ãâ|Ø RYδwu㺖´¶ ¿b²Õšævð΄†]¥²-&Y©ÉøÁÒ…1Õ1Ü ‹ð>W@(áæ}ÓÒ(ÂÞʦh9sZdÄ,2VîC÷ŽO”®¥ÝàÉE]ôIOÅã^Gëkñ±ˆCæ¾ò›¥Oƒ*¼³­RzÜûŒVV“Í‹^6ªÞZ‹‚G^òíÙ[ÙAî^©8‚~›ÎŸQt³ô§hý~œza‰¯=GVêŽc÷€†´4´·gcíË/À>¼ â à•†`>ç!6o'Mc "”ž~¥sžÔéaõ ,É7Dâ:1`'ÎK¯“tÿuêÓ˜Œç–c9ùÚ¼øó<²?¿/¬¸×v„5o¯ÅÄRý:3¼¡b{´y£‰»¥}Ó‘!¸˜êˆåùâmÐT_kÁÔ7›/¦:Š·¡þÐSA'l˜ƒ‡7ë†æfk-ãýÕýåÐ=j,zÂ&—A„8O6˜L›Nòþš§ß_\ F.¦g®E¤Æêý´6 öL2¿-azf8Vù™Ý9<ÍÜ&s|¹M¢“‰vè/®³¯!uöã¶™'5½‡8t©ÚL×Z”÷ŸmÇe£B@!0¨¾½ïÔ¶v jR¹™€.¼dÆâ;§`#Þ“im«Ä÷h–&Uïçi5sJ ïL®vÄ;Ô’¬Òn&-!ãõ>clîž’ñŒzÎK/MÝ]ôz¯¨oÆáò˨lh¥52‚î< g–NŒ=ot*¾_ú U Û:DxŠS©¸Rw‹òû"¯Q¶-¯/³nNïY…9ËwúF±þ`5^X”ïùnK¶£­…O8#½Ké­K¤&AEÕiÿ}½±Yq².­úÐ"±)‘Çï:Õ‚E6&ÆŽVQ¬ñ“4'Ë„I1 b.¼½ö>”¾¤‹†!úþ6ž~ K—„Mÿ¹ ô ¤ÆMTøˆoÓ꽌Ú_:Ù÷Ý¿RGá=Ïá=ˆPêb_R }AÙ.^Ç+l¯cŽ{V-Åû÷l¶'ØF›ûûnX‹àz z^,÷I޾n—И÷e)ïKý>åܾµ*ø. Õ(ï{Ó ]ÕW­EÎâ›'¼Ã©ç‹w@f®¡EsõÓTwn9ÈÈëE¦a­ˆ»ê­Qü‰Uaœh„÷—uXÄPÓubyׯ¥$LÂ;ùßÁäÑ6¯”ÚZŠÅë|W-LÂ;+=ĉŒÅ¾‰ NôÒnf©ÝŒÕÅú{™zœáïL_¬ÄC}7Û”ù 6áèÌ8U;¦{'ȳØßYB@! n~z —((Ê2ttá}JÖ(,,œ¤ Ýi)IHŒÒSÝc5ÓÄäªMPV3u‘XÍpØšðN»™$êÉé‰qL®šû §`Rv†…?¬ufšà_¤þ{ç.k^ïÝüÞËY†žÀNT½ð•ùCßðmÔ¢ïCq2#WÜ8°a®!ª(Z½û·.ƒ?`Ø“{žÆ¼åº€§² •}ÏÂ/³6âZhÿUÁãôÛßÅœÒ¾Òæ¨Ì˜²ÔizÏѽÎQŒƒµœ,ò_VÞz]0‹ÑÜ\¶åÛŸÀtÃ܇»ñ,~øÔlZßx‹…°zñáÿˆàz ~^ê°u!úæC¬çÄ…Š£ÿµðq¿è®z`‰.­9°Öß! ù•»ðŸÛVÀ8gân<ï>6}:èJœ¢ÕL¸ŽCÁÇàG¢­…äâÔóÅÓfxׂ¥–¯¦qiûÔ9ø1¾¹h–Ïc¿­â–>l:VÙ‰ûˉ:Lã$áÝl¹ChÚ½õ Þ[ž·J\ugñï/®Çò;‹M#»ýã7 ²Óñ¹;¦`#ñUŸâãâ†í‰S–3ÕM­øˆIV+n4£±«®ž^‰z¿ WÄ,&!~ö‹ónBË·O“"¼Ź )‚é£p¥ý…®EzŽ*Âê-ßÀ¬ô.|ðãuxã°¹ì®3ŒæžåTÔ^«}ŠÚV\¶ŸœùéKxÛ'6ª=žÅ*¨D":ëuýŒ†EÐÊÔŽHEbOeEdðg¡ëÒX·ÙLÙö ƒúm`lD·£Œ@]hˆ@ÕzT¼[JgÍ×ðá››-çe5Nµ¼»@}ÏhÌÿš“íz÷—aSé§‘Ñu ‡v[ë·Ú ÌÔœàRµQ„•+ÿçÎMÂßyÁïY^Ç·)òüoSè=-[¿Ÿ\;ó!6ï4 ƒ+wŸÂŽeEú¡¡?:/fñÊÛdQ1GÅåôaƒ'»¡;Eœè:eœèªÂós °ÑrO•­Þ„OÏÊÀµ_ k1ßB9d÷Š¡ãê@×–ïØ¸8ô|Qí…}-ø:¸b—q7ÏÁê¯|¸ü^²>ð˜7 e_àNÜ_±ÖaÍ3À7ÄΓï@›ÛsÈç{±çÞ9|Ør!z«˜TäDÜÛkçšÞÄQ‡Fü{±z€Xù«ÉEgÆdÃ=È&wÍÛ˜;±Ôô¬X¹·;–'UÍ…cg˜÷¯3£ÝŠøfÊ©àvNæ^Ê7! „€B`0|ï½_áduÝ`T-u!  ï*™éœü1Þ³Ïèòh“™Ö6µátõ5-"û ‚¶t»#ÞÙ×~Nôõô`'>;-_³ÀɆ‘Ljy«,´£G_zܽŒ<ïG/' úh £¢öU2Y•¤6Iëž°’Ì Þk[Úð›êë8OáýJKÚÈWìf‚ÄÍ÷NÌÅ_=tÏ ¶pûW-ÂûPœc˽Ö(Í ]h<‰µÅæHì`Çn9XIkcT³~d GNô'ŽÔ7‡ø Þ)ð˜=°ëñ”½qxˆZ½»¢e´æ¾Ã†2'÷¬µ¼`Øi\eb¼Ê7ŸÆdë¤w ¬¢[`Ä£G_ù>éó%1öÀ²^†#µ¯bA®µC–Ã,_O¾¶ ó§~¾'±¿Ï.1^;á0µFÖë°Šø”ÀjŽâ[l|ôc?˶£Í‹R࡞-Ž—:¼òhž´ÌÁkÖ³ÝÆF‚÷쪜yaÅ›PþÁ©øÚòö8œûÌ‘ç‹j/ükÁÛ»€Ó¸öÚlPìÞ!;k%ºÆ~ÅV‡iµÀ2ù¢×&ŸB@! „ÀPxãÄ9¼s¦r(š’6¼<Â{/RâìäDÍSýî)ã1!+)Œ.Wbq8‹œ[:]¸p½¿¼XƒªÆVôŒˆGÿˆ8Øf=Z[TµU¿úõž?¹©I˜:&SK²šÏ~%ÆÇ ™åŒØ•®~º8FÝÞÅ nþtQhï`ÂÓvŠîJxWß=Â{Ÿížœô‘)—™Žœô4dމä$s¨O8lǨäµW´äµM8}Õ›¼6Ò‰ c…²/Ï.@ÙÜ™Q••B"¼R®· 55•à6Ú’˜šŽ¼ü|xí|Ã…«•Õè_YâlebÆ8L™œ;ìþøv5Ö ²¶ÅË,éyyÈg‚•›µ¸ëp…Þp‰éé@g'=x³‘Ÿ›åØyq»Úpýz-¯mˆQ];Aáðº¬àuɪSÙõ±ÈÍ 5 äB]ÕÔw{z‡;ÙŒ2ÈJ‰í—rÐîEµƒcbu^©é¼>ò£9n´Õ]ç+r-êvãÂ1簮ܛw­ÅáÄó…‚kd×BÐÞøv´ÕU¡úZ³º¸´çÖ¸‰SÑC2°÷—uø5H+ê¹v…Ï5Ï¥–м ùÑÝWü=QUY õ«F]·¼f'óúxqª63ûœƒ9â}õ>&¶.1¾I¼¤¾'¶qtÿñyÔÆ×s¹ŒâëÕ²! „€7—Àœ¾€ŸüúüÍíÄpk]‰ÜÊS½¿ ´MQÖ.wO‡é´œ“> ©IIa hlëÀyåíΟóuMôvçÿ4ÇóïYåï®jˆDxçáú„@û”ˆ^LʹœP^ï™ô F¿ìxôPpoïêB+ï´yQãlàJ"Û¦w ï›ZͨÉ¥Ôó?5hN9в' ã3F¡€ýž5!oÄöw¯ùëZÛõÞ€Õ7PÓÒ™•Oc–C&ðõ»gà«EÓ>PŽJ@„÷ hd‡B@! &à®z I¾·a-·®AŽB@! †÷Ê«ñ£Î §!ßü±*á] ÆŒ.W¾ê™ŒzŸ1&Œ0ŸH¯weí2’6)*Ê\E¿Ç1‚]-ÊÛÜM?ó.eµB1ø*£°ÿpµ—ê[pƒö'.ZÌÄQxØfF'¢ú¥<Ó)|÷¹{è÷;ÇåpB SÆdiâ»§OžþèÅœútÓêÆEÿôæŽNÔQp¿A±»ž?*ylTä¹ww/Uv5³ M,˜­dúÉ(• a³SS0süÌŸY€IÙ™<œ´ÙˆÈ{ëb¤}S;'98¹ñ‹‹W™l•Â{|Ék#oRJØø‹ÏÎÆC…möȦp ˆð.)9N! „€Ìö\X¹—cKm-ÆŠÊ! „€B`Xø«þ#¬Ê2Ä”ð®<Õ)r'0\;MÙ»ðmÀ)9šø>žö.Yi©H¢ˆœÀvµtóØ6ZË\onEÕ&ÍþäJsšéÞÃXï~é‹ ¬„w¶ÓÏ~õQlN¦¾žž)œ ø£I|û”âûhÚ¸$ÓG}0–6ú¶_mlÆ¥(ç„‚Š2ïæDƒ› ݽžI®Bý(}©jjºÙÏþ«ÐwE+‰}/ä„ÁC³§aZnŽæÿ­×»â®<åÏ1âýèù+¨ᄇ~ùk&V½‡ Ve‰ž€ïѳ“’B@! „Àp$à¦uÛyZò4_¾|Ç” öÜ%èŒY! „Àð"p‘ÑÒûÎGÃkзÂh•È­~a®¢ÞU„yZBòF§b<-^ÆÑ*E%M¡ðžH1]IÊ*Ò]Ù¯(AZ%T½ÞÚFˆwsg\½á•ð«÷¸¯_½T¸ùC^MÜÉèñ©ÞDZo´QýÒ'bÅé±–éÖ&.2‰é…먤øÞ¤’˜r<#¼ãò¬+ÿzªê*€ÝñîoßÀ”<§ñ ‚ÅwMÇLFí'‘a¼bÅ¢Gâ+«™÷Î]F%½ôG¨7 tÁ?Š:¥HäþþËŸÅÔÚ"Ë5Þ£F'…€B@áH íäËHŸ·&pèeL¨ýº}BíÀƒe‹B@!0\ 4QÈýË7 ×áßÜqDneïO›©ÌHîdŲ́D¡êGé»ÊÇÜM‹• õ.&u1 ¼›¡ß½ÜÙÏ„ª#x¼&P«Å*ëÞI¤¸~¤ShW¾é…±'ådjÉKÓ襮Y¸ÄH±‰Ö2•×oà"÷ u¸N?÷NŽÏÍ “è® îÕÝ~œZß=û“™?oáÌÉ(ÌËÁ¨”dM|¦«½ä &γo?ûý%\इÏÒ'š ¥LTþùk ™,79ª²RÈC@„w¹„€B@![á½xμó,fIîÒHÊ¡B@! †/{RXôx _ 7iäñÝãûNá˜Qð#¸/AE|³kJxWQïÚY¢G»%Jk°“¢»Âàm‹^8šß»ŠÈ2’èCŸÅd«Y(Ÿ‹\&‚%’\5¥–«MÍ8y¡ç®1qis;Úzú´ñÅ)Û5~Mp×BÜ5Z¡`“ ªïZ¿ÝZÒÚ¦åk–3*9lJb¢V4Òy7ïñ~àÌE ï-"¼G 1ÆãUn×–-ޱ).»\B@! „€ˆ€€«êþîo^ÅeU&m >ÿåGñµ’{1*‚:äP! „€B`xøëÿøW[Ú‡7„›9z%{cÍzFy¿3ú] àêG ïJtgˆ7=e”Má]³`ñŠÒ^q>æHw­ ï?ª?jUE½kBvا‘@'e§ãî)ã1•êʇ~dRt‚¶ª^ ±òFŸ¹€òÚ´+/÷~&”U ^ÁÝdéLpW•y­¿´È™‘Šû Æa&#ÞUÂÚÔ(û©&=TÔ{9#òüî"*n0â]›øˆÎºFï§|†O`|zþñ«„_@Ž´% »-Ù(„€B@! „€B@Á!°ùç'pº¦~p*—ZÃ#`º•ä­¾3±¨’Ü•(ïó3׿•à®DxO4¼Ö@‚tx1eè“J«®öõtcbæ(Næea û™šœ^–£Ôˆêë9úÏÿ—ï:Cóµ(?ë??wh»[áý6>¹24! „€B@! „€BàÖ#ðêñßã “FÊr“ PÜU‹ç_µâàµú?J`çÿõ,ƒ!¸ëu«Oƒø®Eã÷ö`*#Þ??{ªfá’¬’¬Ò&šEù¦wv÷à<#Ý­De“–z-t´‰…(ÇæÞÓSñ™)ã0#7 ¹LZ›FŸ÷hÞ£¡æl™Å3'á±ûît¶ÒaX›ïÃð¤Ë…€B@! „€B@›Gà§g*±çĹ›×i98¯ï; J1ÚW>Úö#ŽSITügäf`ÑS0‚¶É&º]=n43±ª²˜ùà|5.Óß]Y¸Ä1â]M.D»h¶=ô¤Ï§Øþé)yšð>–V%ÑF¼÷ñ̓^ªïçØOe5£y¼‹ÕL´§'ªrËæÎÄWfDUV ù ˆðîg!kB@! „€B@! „€t'._Ç÷ÿzÐÛ‘>Á(¼§$Ä!;%…¹™¸oÚL åŒæ;å°Ú]]¸ÞÒ¦ ÚWÕâj«Ëït£ðþ ï…yÙÈ¡Ç{Z”V3Êf¦ÇÝëñx§ýÅúVGú%¶aYìÛÅwcÃrìNZ„w'iJ]B@! „€B@! „€€ÀUFÿõÛp”ì¾U¨Xp=Ò\™‡¢cŸ3G&¡€b{!#Þg£Ù·psÔKs§ Uu´púZ#êÚ)¼Óã}½ëcYtá}BF>«YÍd"'F/ú.F竈÷ƒ¿¯ÄEZâHrÕXÎPäeÿ±äŒçù”%6"¼ÇÆOJ ! „€B@! „€B bþÆÏЫ%󌸨BJt£ K\œÇŠE3‘=¨ ëW-Œ5÷N£E¼çeŒÂ¨(#Èõ¾Ö·¶ãWë´HòóŒ"oêêÁ%¼Ç`3£êÖ…÷Iœ$˜_03™\5#u$RèGÍ¢»zz4áýçg/i^ô"¼GC2º2ñ¼Öÿµì Ñ–R&"¼›pÈ! „€B@! „€B@ > ?=†KŒä•åÖ!O:¢£ŒS“0’Ÿ‰Ldª¶Å3*\ Ì=½}è¢ J§ÛÍD¥üadv…b•`4Ÿt#¥ñ'ðgJÖh Ùã0mL&F¥$i}1éúµæVüª²FÞ¯¶u¡ãAw§„÷ÉÞ̘€™c³µþ&Ñ—=šE%í`Øòk x¯¼Š÷I›D¼G2Ê2S²Gㅯ̲´3áÝHCÖ…€B@! „€B@!0¶x\¸:-Ia ¨žœt ÜyLZ@ñq„fŒLÖ„x%†k‘Ø«iÑRÓ܆+´ RŸ-Œïeˆºæc^XGR|Ò“˜¤4ó§æcx%üǺTÕ7áƒsUšÕL«»Ýj®@ÕëPÄû ïÝ1…c³8q‘„Ž#š¥›Œ[h‹sþz#Þgت& ïXâDÓ—áXæÁiãñäEÃqèŽY„wÇ‘J…B@! „€B@! „€Màÿýî"þídyèƒdïP‘îÉLdš•š‚‰ôµžH¹ 'ciõ¢„xÝ2EY̨h÷¦Î.(Ÿ~%ºW7µãF{'ÚýÞÎ(mµ_EÅ«%^ ü™lSEÏ ·û§òs1†ýP®DÑ ûj>ÀÝ׋ Ù‡ÏVâ<}ÞÝ#âÑ7"Îí«ðÎhÿ~F©OËIÇf`­f’ø¦€nÏéItñ-‚ÆöMxÿðB ªÉZ„÷H)Füÿ¼·|×Ôè+’>"¼ûPÈŠB@! „€B@! ††Àé«õØ|ðÄÐ4&­'@UZÙÊ䦥PlOǧÆç0©ä(¯ÍLâ5qÚ_\‰ï*ò]Ee+›%¶×µv¢ª±•ðm¨míðDÀ+û±°Ö”èžÈ&²ýy“ÇRÈÎ@Všî•imþ&U_Û•_^[÷ñ®Y)e3£‹Qx‡Þ)ìO'¿/Ý5ïÙš/>ÑEµ´»ºqƒ~ôåœ(øå¥k¸ÒÒ!Â{T$£+´~ñ\ñ>%v"¼ÇÎPjB@! „€B@! „@DZ)„®úÉ{•‘ƒ' Äî1ÝgÒÖEýÜ‘—­E¾÷R`ï£x®„vþGqZûGªU²U•€R-½›)WSx¿ÚÒŽk‰:ºÐAQ^ óÝŒ~WÂwëU‘ð6"·î-?*9)‰šà~÷„\äS€WQãÑFŽkä?JÈ®å¤À9 ïÿM!ûª²Yo¼môrá~Ž ÆÏcƘ ,¡ð®<ém†nuhëìÆÕÆœ»Þ€“WêPÛær$ lØæîøúCÍkQ–Ø ˆð;C©A! „€B@! „€øö¾´éˆ JG(í\%1-ÈNǃÓ&P0NǨädz“{Dõ~êäýÚª1Ú|„&¾…e-ž¢º²HÑlRhESK¾–‘ðʆ¦‘ß[(~»zz=v1ÆÂ­“è-¯÷ ÚgŽÍĤÌÑš½LjRbL¶©žQøå×êpŽÉJÏÝhF£Ëí\²Rö_KHK˜…´ÆyèŽ)|s Ó;Q¡÷ ²Ïæ.Ó^E¼ÿæjêè©?By¼¹EV¥&•ßàû¥†y´6Þ"$û…€B@! „€B@!0þùƒÓøÅEI°:hê2‰bñ(Ų́H÷ÏN ðZ„{¸&1T啬"à•Xï‘ä¶®n\§Ø­D÷í]h pÜÊm^ÿ÷>F¿S™ÖþSn,#eŸÌ÷4Úµd ‡ø Ê#õz$£ðÖдƒ´H}®]ihÆÉÊ+²›PËþtp’À1![Mpìé^Ž̘Äd°é1 ï m¸p½žúøC]ê;{Ø_ÚâˆðþÉòÈû§ŽÇ_>(‰U£ÄPL„÷$²A! „€B@! „€ƒO`ÿï/a÷Çü†¤…@Œ•ÆøÑ#©‰{&åa…o•Ä4¢´¨^ñ]iºð®ìgÜüQIV•ÅŒ›ŸnV¬¯*Oøn·›5Á>‰I]Ud»ò™W¼ú‰3š£G'ºk£`QÕöź¼–IUíîRÛTO•¿»B69¦&ÆcÌÈ$㼂ñ˜5:w[npÒâ÷W®kïÛÐäá=|1º|ÞxøÎ)1Õ!…ýDx÷³5! „€B@! „€B@ rFó>÷_¿²ö¤!/ŠÅÔŸ‘M±xzÎhÒ“üŽq9È•ª%*Í—†‘êÐÄsåÝ®¢Ö5Û”ßÙ­|ß{5!^íK¡ÍLb|£Æ=B¸æÏã"ž°éq­oZis£’ª~P^ŰmôÖ¡w·.ºÇ*¼{9ªh÷üÑ)šð>gÒ8äq#–åýèO]ºª ïWZù¶ÇáØDA,eŸûÒg´ó8 †:$Cá}H0K#B@! „€B@! „€$ðØžŸkBlàÙ2h”`ÌŸ1´w¹“žê…ü™š›ÌÔGšTò»Ò´5óõۨhx¿¨îIÒj&-wåe1Â7 Sh7“™:rÐ:1B)éJŒ·òì £ïÕD@D7!ûÙϬ°ý}#pµ¹§«®1r¼Õ-hcr×8•¤Ô)[qäO.=éïÊã9N“3Ǫúf=GkzÒ·ôô¡›l4[ÞCž÷Xw~j|žY<7Öj¤¼€ï²*„€B@! „€B@¡$ðS7OU e“þ-%÷÷õ2â=³Æfh‚ñ´±ÙÈJ<á]‡®Àë²ÜÕâýð|‰ñß¾Þ~¸Ü=¨¤·û‡´˜¹Ho÷zÊû¼ÝMò14¦qìÃ8úäϘ«½90.c4ÒR’c¨ô¤oÄÁ38_׌.zè÷ªw´ ^LÕKá ¾6g:þÇM²W6GC@„÷h¨I! „€B@! „€B@8@à÷×ð÷?ûØš¤Šp èÂ{VJ¦f¢`œ…Ùù¹1[¤„Ûþ`×Ùݺ–v”_»_^¬Á•ævšÎ3ÒÝÉhwBç8)sî/§M`dÑ'?™ b£YT¤~/}xÎ×6àgg. ‚}ô£ïWžôªB}¶"šÊ¥Ì€þö ópç¸ì“Â' Â{ø¬äH! „€B@! „€B@8Nà±=éóÎdY†„€.§1±injãL|zÚDLÈJ’ö­eWC…º®¹¿½ì±˜¹ØÐŠ&tuÔÛÝ;#ÅdÆC3'iS““˜,6>ª!ºytöô0l­ÄZÎÄ%$9gU¯†G¡$&ø}uÙâá1Ø!¥ïC[šB@! „€B@! „€•À÷ÞûNV×Y7Ë÷Á"àµHI ñzZüL§ð>úD&XÍÒDãx§¬X«ÿAêu3 ©Šv¿Tß„/TS¸nBkO?º8§G1Ü1owoûáÝ©ÙéøÂ¬)Ú›)‰‰ˆ‹‹Î¦ËíFs‡ ç®ÕãèùjT5µ1P?Ññ~Á7¬7ßK« ¿zèžaÍ`0ÿÿÿÿÓ±ã²@IDATìÝ `Tå½ÿÿ/YIH ÂN@öEÀ"*غU˵îmoiÕÖkÝúSÿöB7ZüK¥÷ö‡·þ±½Úz½¶j«·u©U/ÕºU@ED-Ⱦ¶Ù— ÿïsΜ™9“™L’9If&ïéMæÌYžó<¯™¨÷sžùžn<åóùdРAÂ@@@@ c^Ù¼[ž\³µcOÚ•ÏvꔜÒiôIšþ -è!g"£úõ–>y¹Ò=33)uÊ«kdÿ±òé¡c²a_©|V^#¾´49Õ-]º¥ëO·nžŽëTc£6Ȉ>=åâñÃe´ú»´´¶§²¶V¬”’ÏŽÊ{JåÀÉjIËÈn:í+pÝô±réøaí{’.Øz7‚÷.ø®3d@@@H6Îÿë; ÓŸ”ïˆ Þu:Uê¥07[Æih<¢¨@†õ5á{Ždià›ž$¯OðÚú)=Q.[–‡ËdwY…œ¬kt »¥ùC÷v Þ‡õΓ Æ³‚÷ÙY’©!['ªjd÷‘c²íP™l8xLUÖHZ:Á{[,[{Ì’+ΕA={´ö0ö!@ð¨5›×}V.ÿ±r—ücç1©ihlÍ¡ì‹ €@Tîiò…ÓúÈ¿Î.SäGÝ  € €É+ðýß‘ý'*“wÉÖs¾[3¶}’•vJzf¦Ë‚<™8¸Ÿ /²g¾çde%ŨªjëäHy…ìÔÀzÝÞRÙw¼\ª}§Ä§3ÝÓÌLwsÁãÐÝÀ83Þ‡ôê!çœ6PF÷ï#}zäJNVÛ¾1p¤¼R/²‚÷íÇ*¤¬¦NgêkðÞ}OŠ7¶ƒ:9Xß¿ÿ{ù¹t¶®u‚wÞoºùɵîyÒ  €@SÀ¿tÝTÂ÷¦4¬A@’^àn•e›v'ý8’f!³ÞOi¹”n Ò§{–÷é%z÷”Þ¹Ý%Wgp›ò)ééÝ$­[b•‚wØ‹—¼Ílw,i@ º€™õ¾gþç£ïÀ@@¤¸í™ÈI-¯Á£ƒLènNeJÎèMV¬Ÿ,ØÞ«{¦ К×ËúÈÀ‚žRÐ#Gò57eTºgfHFzZ‡Ï€·g†ÛõÜ+õsrXgºïÖ°z—Õ;œãµ:Ó=3«CBwÃæ\´ÈÖ)õ½²Òe¸ÞduêðR\Ø[¿)Ù¢Zï&t7³öêX>ÕÙú«w°J.5j]zˆ]f¦fë›þóé©ßòxø+_€¢Þ=‚í÷ooyÔÍ € мÀ¡ßülE@HJÿ^µIÞܶ/)ûž´ ßÍ W»j”tä³µ¼L®†ìö ø\-?“/C ¤¨g¾Âgë¶Ž|83ÃMH½£ôˆÎ?.{”cÕµR­3Ý´NGÌtŒÙØéE ý%Zª§Ÿ~K`œ–›¥?Ãô‚…¹XÑÜ£Q¯$4êñ榰›ö•ZÁûµBo kj»[Á»i€à½9Ƹ¶]0zˆüËÌ qµÁÁÑÞ£Û´j Á{«¸Ø@ ‚÷8ð8@H`÷‘%o®Mà¦h×BÂwgw£ðfü) Ÿ£ß:5á{?Xë¿÷ï•'½õ&¢yº.;#꟭7gufÁ{•k·Ä„í Ú—šºz©ÔŸr Ù?;~R¶—•}ZfæˆÖB¯ÖZïé™v]÷Žœ%îw35ò}:k=O õÌ•á…=5|ï+ ò­od™oXý²??> ÛëuLÕ°—W×È~½x°q¿¹)l…”k]÷ºF§TNûÜ6E?ÅmÖü ¦Êƒû¶éXŠ-@ðÛ¨E{¼·ˆ‰@< x÷‘&@@ ÜL'½1&åÖ‡ Þõ—þ_£5›»QCå4}™ÖM²t|w½Yi­in‚ø>y¹VojÀéO~÷lÉÔ>=Í››°útJ¸ ©OTVËA Û;!ûôçpy•œÐ²2ÕR×›p¾£gº‡¾EÆJûh.T¤K£dw;%½s²d^œ05òéqê¡6jg\Mà~¢ªZ¨=GëØÊåHU­TÔûÄ×M÷Q?nªŠÜ>Ë”™i×ÐV ÞC5âX&xC@Z%@ðÞ*.vF@’Jàwïo–×Kö&UŸSª³&xׇõ[e›PÙÌ|·žu9Ckš[á{nwŸ'}ósµüLžôÒצ¼™Ÿ©5àMМnž5H6a|šN…OÓ_—üç05æMÈof¶7Z!{ƒÎ^oÐÀÝÌ7³Ü«õç¸ïû5p?¨%YhH}²¦Þ Ûµq­Æ’a‡Ô&¬6Sí½šnoõ°¿Lðn¼ÔÇ”é13ß³µ<{Av–uƒÚ:ë½– é‘m‚÷4k­ÞHÕ\L8¤%söél÷2Å_«k|z!]í¡{G¥ÃM¥].3T¾}ÖøTRÂ…àÝ£·„àÝ#HšAˆ)@ð“ˆ@@¤ØøÙ1ùùkk’¶ÿ)Óq lRqgö»™Ùm~ºéº4›YðÙ€›Ùð¹ºçkàÜSx3û=_o\iÊÑäê:Æçdê GMI ˜ÍC+ªXa»OÃö: ­«u{eÎü®­µÂöã•5R¦3ÃÍ w«ë¤Vg¸×j(ßpJÔsv³f†ûg‡›;+¨¶ŒÔÉòñéÀ|’©]4?Ý3ÒÕI˵kßô¥uqÀ*Ÿ£i½ àk|f<ö¬ýnfLjcÆÕic1Ž]äñã‹§ËÄ}ºÈh;g˜ï¹¼{I3 €1Þc± € Ôß{a¥”j9  ¡²yXµßuVºÄkøÝhfx[³¼Mo/gj`lfÂçkØnB÷žÝ»kèžiïÝ5t﮵ÎÍLx3 ÞnÓÌt·k¸×™ZÃõÊÚ:«Ž»)ÅrBg‚›ŸÝfn4ªÓå­î®¨šðÝ4ÖY¡»5ýå„ïjtJ/$˜=Ö·L|³NÍt'ÓQ+|·/èŒ} æÍ wkLæ‚D¢ŒÇWŠ>÷×oiüòÊY):ºÄÁ»GïÁ»G4ƒ S€à=&; € €I-ðܺíòüúíI=†”ë¼ –Í L2ûgÁ[3áu -%£“ß­ò2¦$¾´–­23ÖkýeÚp˜›Pßð:ù[L]w-5cÍl7%gô¼&T×PÚÜMI™€Ú´ÓÙ¡»3í»52cb…íÀ벦îÖí¦¿f8fv»†ð&h7?f¦»3çÙi—gÏ®žVo¤l#Ómó°vgÜ&…×e{ƒµ_í/°äŠsePÏí¢.~‚w>ïAÒ  €@L‚÷˜Dì€ €$½À¿½þ¡|rðhÒ#eà˜ÍøÂCx+h6¡»¶;¡³óìà—±ç¦a´¾ûCi'÷’°¡»Ó?óÀ‡¼¶vñ_4ðÝZ•c²{šô¿OX(?ºhZÒ#@ðîÑ»Dðî$Í €Ä xIÄ € €@Ò ¬Øq@~óÎ'I?Ž.3€Ð Ù åõÙüϟ̇Ìvw«J¬Øó¾5…7ÿ§¿œÙíf÷Dáî ¯’@àÖsO—Ù#%AO“¿‹ï½‡ïAÒ  €@L‚÷˜Dì€ €¤„ÀmÏüCNÖÔ¥ÄXºÌ œÐÝ?`k6¼3ø°mÎêH¡z`68{€‰…øzêMþÊâoˆZ$@ðÞ"¦Ø;¼Ç6b@oÞ½q¤@@ Ñþç£mòÒ';½›ôÏ+h×]«¼[3ÞÍÍXÍLy뤺èlx* ôYóV ùha½îgnâjZ³êÒ›ùøþ+æÉ^ñ ¬L/Ÿ~šüóçF§Èhï½GïAÒ  €@L‚÷˜Dì€ €¤„ÀÁ•2ïEn²šof3ƒ0¡º ÚÓÒôGŸÓõ9ÝÿlÂ÷t-9“®‰¼ÆGhǼû³ô&{šõ ¾F ßíÝ„ð ú§7AÕ[¿J£.›uÑŽoÒ +’NàþËÏ•½¸©jG½qïI¼{I3 €1Þc± € 2ÿßÛëäƒ=¥)3žTˆ ¹Ó5í¶q;,73ÕÍë@pn-Û3ÕÓüµÚM°î„ä&Xwf³[¡»¾¶Ÿµ+t7a{pÿ Óž5¾© ½——ëlö(ѹ Öý” Ùµ)Äû4l×—Vèn‚w+|wÂyݧQƒyÓº9ÞÌŠ·÷ îï3ëu»iÛ,ûô¦²N{æµÙŸGç œYÜ_þŸÏOéüŽt¡¼{ôf¼{I3 €1Þc± € 2ë‘_¼±6eÆ“ôÑ93#]²ÓÓ¥{¦þè²ùÉ6Ï™ö³ÿu–>gêTuš›å Ò3u9C×…n3»þŸ†ò&–7³×ýËæ¥žÏ™ÍnoµviòËÙÇ*5Ód«…6|Ê¢›5Nn=ë/Ÿ›ŒÜå º_½†òæÇ„óu>Ÿõ\oÖ7ø¤^õº†©mhÔŸÔèý¬ëêõµî_cžu½9Þ9W´®±¾ý~páT™<¨oûŸˆ3Þñ-¼ÇçÇÑ €- xo¹{"€ €© pÏßÞ—OœH…¡$ôL°m~ÌÌu˜ÛḖgjÐnsÍέÐ='KCv'|7»“­ÏNŸ­¡|–?t7m™°Þ„îNo­Óãͬv¼‡?ì9äöZ†{ù=ö‡¶o‚w3S½^Ãs;|×ðܼÖнÁ ÝM ïÞku_¼;?Õõ ¼ëµN3ÇêiׄøN¨oÚ±fáë9=fèºüò¨¾½äÞ/Õå:€àÝ#q‚w i@ ¦Á{L"v@@RJ`ùöýòÛw7¦Ô˜q0¦’‹ ×s5@ï•“%9ÙÒ[zvÏ’¼ló“!=ôÙÌl·f®›^¦„Lz·4 íOê´›@;XZÆÌb·C{“.[ë5ý6G‡†àVc~µgðátÖ*sN„[¥e4,75O§´ŒŒya•Ñ¥F«¬Œ=SÞ”¬1Ç8%iôµ™oÂøÊº©¨­ÓŸz9Q]+'jêä¸>¯®“ªºz+Ø7Çóh[Ι(çÜ>ÓjT‚÷¨4­Û@ðÞ:/öFh»Á{Ûí8@HVï½°RJË«’µû ÙoSžÅdçffz^v¦®›Ð=_— 4xï¥{Anwéi…gJnV¦UNÆÍÍo; 6©´‰¤ÍÃÄÏN†lGÑ&°v¶ùŸý+œõöÚÄùí\pJØØ# ^(pfÊ›ýœe«½‚:ûšÑ˜àÞï&\7¡{¥>Ÿ´B÷:+€7á»y]©³ãíuZ¾ÆX6[6'q¨¾'ýóså—WÎJø~¦b Þ=zW Þ=‚¤@˜ï1‰Ø@H9W6ï–'×lM¹quæ€L™—Lý)ÊË‘‘ZŠchA¾iH™§edLiSƾÑi7™»,Œ –M mþçëÎ8BçlÇ Ž5twÆâ„ïÎëðg'”7ëCÃöðýŒ‰Oë¼Û7qµËØkÈû¤\ùÒ“•²ïx¥ì!;•[5à[T?ØKa_Ÿ:Z.›xZØZ^v”Á»GÒïAÒ  €@L‚÷˜Dì€ €¤¤€™m}ÇsËí@2%GØAƒRG¨÷ÒšíC{åÊi:Ó}TQ/-3ÓCë½k‰™Œt«´Œ»Zyõ­ Ƽ ¸7øLø9¢Áûö#ǵÜÌIÙ­³ÞOÔ6Ø%l“û.dÏPÍ…¥_]sžÞÇ ¹B@ñœcc ¼Çjáv‚÷B±)%&ß¿h¬\Ø+Mê3ÒäÐÖrãÇ)5B“˜ï‰ù¾Ð+@@ #þwÓ.yêÃ’Ž8UêžÃ¼ghð›“.R¤å8L™™ÁyÒ¿gžôÎÓ:ïݳ%Kxí'P§a{¥–™)Ó23¥'+d¿–šÙu줮¬•j½Ym½Vš±êÈ·éM˜;mŒüÓ„ám:–ƒ¼ x÷ÆQ’:xï‘'?ÚO¦Ê—¾YDïCíkúõž7ÖGSSË£ Ítº@¦Ü|zÄèG¶†èµ5ÕòîÞ“²²²¹³åÍyçÊ$ëïF¤ao‰ |r_s°­sÆ˼3 %ÓW'ÿÇfùÙþÎFð.Âk@@ k Üõü 9RYݵíåhýÁ»4ú¤QÃßÜŒnÒ¯GŽôÏÏ‘~={H¡ï=sìZïæ&«æ&¬Z>C—3Ò̳ÞtUŸÍOšncF±ûͱjâkpîkÔªêOƒÞXÕÜLÕÜ`Õ<›×&t¯©or­å~¬ªZJOTH©Îx?TQ#Uº½[z†¦îiïnڿ꫟ç¥WÏnñþìØ>ï¹&eð^Ð[þôåqrÁМfÊ”ûÿ¼Yi6€l¶ 6"Cdïíc¤{+zSv¨Tž\V¢áo}„£²åå»Ï•³üB»¶ÈiOˆ°«Z.Ð[>üñç¤Ø9 ºT®z`£¬t^ól ¤~ð^.kßx[4ô‘™#}™häñ'_Ai@x}ë^ùÝêÍ~Þ”9¡?x?¥Á»hœ¦¯3»5J¶†èYúÓ]gºçd¦[³Þ{j¹Ž|ýn~r³³¤GwýÉÖe}67aÍÎÌ´Âx&eÛŸ¥´Âõ: Õ«êê¤Zg´WÖÖJeM>ëOM­¶Ÿ¨®‘ ÝV­ûÕ4ø¤Ö„ñ:çªNoÔÀ]¯hhîžN©™6þÑ}{Æx¹hìÐ6Ía^ ¼{$™lÁû”q£å嫇¶"€¬—WŸ_-ßÜ’wOŸsúp¹kb©oИW’Û^)•½}h&z ’’»ÆIï6tqÏÆ-2í¯á¡:Á{(›?$³PÖÍŸ"ƒœ½êŽÊ ÷¯“eÎk}æïW$‘‚w_Ùyóg"ÝÈô©#Äÿw¬ ‹U›dñ¢'¤\òåú… dBnÚàèøF·a  €I$ð£—ß“=ZšƒGLøn~4x7|£~ó¿Q`³ÜíT£djŸ›™!=s»K¾î¦ôŒ Ýs5lsµ>|NV–ïzCV{V¼5^xûÙdÇöŒmÊë’5;Þ”N13èÍÿÌlyó0¿íŽêZ}a-›…ÐmöKk]è/«%Ý׿»ŽÉ¾¬]Å>tÏà²ÙÇÌJ7ËÀ8˜ãÌÿ̲×Fµnþ§Dº¿:éŸÿ¹Ñ¸é ÝÅZgf³›ãÌ ÷z]®ÑÐÝÌhîºWÕi¯Á» ÜMð^]×`î:¿]Òt†{š^ð0ÏVàî· Ìß'žb ÷Η»ììØ;²G» ¼{DœTÁ{ÑÙù1’ç{£ìÙ~PÞÙ^.'õ_£‹‹äœ‘½Â‚ùùíCïÊOŽ»LÊ÷Í=On®_[2Ÿ{¿p{ö~§œ@XðÞP])»Ëõ?¨Âš‘Ý]õ _+r`ý:™òòѽ ÞC0&¥Pn\8_Ƽ{ô÷åo_o=i @NXµë3ùÕŠõtö9­?d6a»À›^Sf —»é6ª§³ÙµÌŒÿ']Ómš§knÊ˘²3æµ¹!k–ÎÏÎÈÐ}Ö\ÅúÑ×fŸL-g𡳷Ís–®3A½¹«]®FÛé¦ËÚ¨ êMŸ®3¾M»æµu>3óÛòVD´7ëœr7Î6;(·Ë¼˜ <ôa‡ê&H×›šê8Mxî3%at¼fõZotÚpÊg­·JÄèÍOMY³}ƒ ÕuY÷1ëêu[­™­®»ù1A{¾®Óõ¦]ëÚ‰ëNHofÄײ¦½7cÔñÚ?Ìt}ßZ»|ÇìÉ2sø€ÖÆþí @ðîjòï™ò—;gˬÐÔ½â¨Ü÷Ä:Y¨gæÉ_nœ*³ ýµZ5Ú!Ýå‘Zç5óÓ¯#wŽô©;,WÝ¿R÷vtܙÂ÷µËVÈ%G*!£]êÑSþpõérÉÐÐÂ4õòøC+d^ào…à½}Þ¼L¹ndžä4ÔÊ#»«šœ‚¿ß Þ®ý6 œu³ÜuÙˆ&ïY«WÚ%xoµ]KÀ·%Jìƒ €@Rüûʆ¡“ƒ’¢Û‰ÕI:mÏü6¡»F× Ÿ23»5l6Ï¡ë¬ekÛ)ÁídÛ„ëYZ÷=œ}Ìvgö¼ ëÌÌs3&÷C{¬«Ììu»Öº^pðï«»[Çøü¯­à\t;p×gS ƼÖg¸›çZ ß­ÐÝ„ïº\§Á¼y6Áºy¡nz¡›)cÆ`j¶ëëà²ùF@Ø:gγ{¼Š!0iP¡üðÂi1öbsG ¼{$,Áû¬é“ä/_, Žº¢Tnxp£«ŒCp£YÊ“ófȸ@í€yú¿–ˇÝ{%Û«ï_sŽÌëTµ†ôEZCz]² ‚þ¶^ ,xßð÷UrÁš¦ÁnhÃ÷Í=G¿ ß˶n”1Ï•úw!xµê¨eþ~'x?²úq¹ÿùÐÚ¢“eÞ¿Ï•¾ñ~†ãlþx|›÷a+ €I$Prè¸Üûêê$êqwUç@Lm–­ÀÝdî&xwžÍz³—ÿÙZ63ÑÍ xSNFÌLu]c‡å:kÞϺÞú1¹.˜å@˜n¶™ú0ëì­&²6ëýÇ:;˜\m?ä{“9ÒÌ.7ýô7ì?Æ´g_`°Çj-[ÛB1c5-Ø?¦kùT7»ÜŒ½ÙÇl3½Ùn²vóÚÞ_Û3Mšþûûg=[¯Mo6…>›íCÌ1<Ú.pÏ%3dL¿‚¶7À‘ž ¼{Ä™Á{šüá–óä’Bó¯óhç~¿\n /[mo ü¾vöçäáÙÁªØ[ÞZ%³ß³ÃÊY#‡È­£³ôª¦~­ªö˜|sE™Üwé$¹zLOɽI‰¯Rþó÷:›>üƬ=òäþ³‡Ê¬‘Ò3[¿VeÎæ«—-wóÐûdY”IÈN霑ƒä†3ŠdTß\ÉÑ2ôkY zÃŽ»Kå÷ÚÆ³amÌ7DæÏÒZb"gœ1\Fî)[#+W2-8’%•ò›×DžýîAŸCûi¹µcŠÔFÓuÙrßEÅ2ܼ òÂ+{äYë÷Ï¡ïSé£þÖC¯Xïܾ_–¾¢þMiº¦UÚ‡óËpsƒD}¯¶®ß¥7+ÕÿxiòÈ•/l•Aj2¨¿ÌŸÜS?w"YúûÍ[QÞ³ðöÛ¼Kf‘ÖŸ¨9î¾jë‚÷kÇ ’oLé/#úv—óÝD}4èÝÛ×nÝ'KVnæâOû¼‡×êßÄ7¦ö—±½³¬¿S\çXÙ yëƒ2oKó$¬ÎÇø5eP‘Ì?{ˆL£ãµwü®Ð¿Ñð.øÛ»ùìár^¯4©“t9¶k¿Õ—døûÁáéæÄ¨ñ^%¯.Y$oé«Qç_,òîkò©þóuÖÍ å²qÖ†©ÒR3‹(5ãé‡&´1|C5XF@ éþ{Õ&ysÛ¾¤G À8Û)´ —5Y6 ³õÐW&y¶^;Ëֺμ¶Ãz³C¤ý­˜6œFým[ûûÏa?ù7ø²ñ/ŸÜûø#ìàf]j’gVØÿ¿©›ÜÐÜÿÚ ÍÍFý1ÿgï,›ݾH`=»¶ù1ÍX»[»ö÷Ÿ§8.=Dþeæ„8[áp/Þ=ÒLŠà]ÄM 滟Ø/Sÿs««vrDŽ‚!²÷ö1zï {Kdà“ö¿Ô]µ–¥^öœè&Ž4Y <ÂKsˆ|ÿ¢)r÷ŒB;lìºP#¯¾ø±|ó“(Á_AYqýx—ç\@=ÖYnµ+6È%z!Ày¸ûê¬ nÐR"ËCJ‰ØÛãîsøiÂ_·qLáÍD|öþmY½Cê'I áGUËÓ|_îÜ)·÷mµ‡Þ0s“Þ0ÓùìÕìÚ"CŸjzÅgèȱ²ökƒzõOÿonoÚ÷{Y) ~þ¾<8ª™…¶ïâ×E¿!q•~Cb¥u÷6w(Ò"ýÌ~=ÆgÖW-Ï=»FnÝvÅÈ4ãõ{XP$o^?Q&5ó7T±w¯|÷Ém-»2TkQËTýáŸ'‡•é ß©Q¶¬Ý,³õÆÆîG¶¼ùƒse’Ôûÿyã~ÏÝG_uÒßo°¶”Áû‘ÕrÏýÏK­¹ê¢’ñ×Åò؇å’=þj¹÷†-²8²c­¬úp»TëÞõõõ’Û”œ}ö 韽C–.xÄU㽪t·ì:Z)= ‡Ë°þÍûU²»d—^Fí%ÃÇ ÷ž>)ݱQ>Ù´CŽUÛk™=û˘Ó'É„ÁÁ Ì¡¯+Û/Ÿ¬”¡#¥~ºøÊKe݆OdÏþcúo=}äô‘‰gÎ ýóCk²\ud·|²n‹8vÒ:.S3iŠLëûÚç’uòIÉž@Ÿû ž(SÏš ½ý'MNæ_Ñßhm°@_àxu­üë +¥FË}ððX $å¶MÀn=üÏVìn­r‡ífŸ@˜®ûÚqŽ÷¯ ìc`µìÿ8"t¥kÙu¬n „讽Â_˜@Üÿ]´Bs³Þ¿ÒÿÚzå,‡î£BCxûHk¥Ýx`_ÿKû)â¶ÐM,·N »–2ú+gIANvëdïv x÷ˆ7‚÷)§O”×/ïqèÌõÀʈ Ùòàe£dDº z#}[wÊ­þPÜUk9â±î ì§×œ-wŽšøºZX«e@. /R4HJ¾3N"Ç#®Ã­tvþþÙùm îâîsÓn¹×Ä1&wCQ^……ÍQö [}B¾÷óåɰµæe[=~óíóäšþ‹2ÕZWÿ¦uõª%€îtJé¹Ê6n1 ¯k”+¯Þ=S¦ú?F5?•¡¿Û¡§V…Y´¤ÔŒ„ïzO€ôžö·Z¼ëÍŒKôfÆ-ýÌ®}kµ\ò^…»óaývoŒö*Ê{¨y6Ý>1p$ÚÑÖú ëƒÎX›Ý3d£Û$dCÄÅÃúOp½Çîã‹ û÷qTí¿2‚÷//•GV8GÝužÈî7dáïéàê QïŠqCÔ2yãчäµOË#`åËÅWÏ–­Ï/“=!7WÝôÌ=òć:¥¾ðbY4ÿBý†RäGUÉ ²è±Uº1_û± ÐòÝ«åÉÇž—=ÚD¤GöÀ™rómWÊà°†K^Ð «Ê¥pÖõrEÏä±e¡¥u‚- œ9Wn»rrÓ~ùJåÕß=*oE«?pšÜö¯È0÷«áºýkåÑGþ¥Ïêtãírá˜Hÿti½op$,!€ €@2 ümónùÚ­ÉØõäïs @Ì]7I»=.ÿsHܺS“±‡èÖ±sw;ÎŽþÀ¼Iëa+"ì9°÷ﲿn»5kÝjÕ äCO¸‡nbÙ{oN+_?Ìû†i1.‚÷¸ø‚'Cð>ë ­ï>Ç™s,Ò²Ð18ÆHKîàÝÌL¶g¡>T&{Ë%7½Fyf«<©Óíþ%Ö~*¿[\ª3³åÊsÇÈ%ÃCCùJ¹oÉû²Ôž”¨m7½1lÉ£òÇ7vÊ {u¾d¯žrÇ%cå‚ÁzÜ"å:úk6ô”¢Þrùà 9Y#ò…ÏOÔ›Æ:3æ+åé?•}VßkåéON¾Ÿ#©…®‹oL¡-E] mµ:‹õmƒŠC‡å¹UûdÕ1‘™“‹åkS ßj0mm_±Zf®pÀñxÌÑ’EJ5ý&„è¼Ô7çÍ”I¡¡W¤€^gïÔo`8÷½¸ÕÀÙfÑ¢¿Tß ªköjÐÿ¤ôG‰Ó™1…^$°ÖוËs¯*ØU% ä[畳ú…~K$B ¨°~·ý=ÌÖ›+Ÿëº¹²ó7´êd£ 4Pn¹p¨…Ì¢=¼~Lx¹å7kšuÆDýçLðŸèLþ7—*Ïl>)Uú7zÃy£ä‚¡¡çòÒ—ËoXD6MÌ¿ßà;ÝÑK¼—Êã?|@L=yîdîdþ‘gî¹_L6>þê»å†!ŸP¹¼ºt±¼¥™½yäš)_>o²ä5—m¯’·Ö;_fk0Ä÷í_. ~e.yåËW°@¦FÊ›uëÚÇï‘?o®•ìQWË›fhÁ"‘:=v¡u¬¾Ðã§]|±L5XÒ}'d˪×ôœþÎÎ’ó/Ó=‚À†Àªl?ëB9sÂ0ɨØ-Ë_Z&N¦>ù«jáêX¹¼¼d±¬ôÿ Ž?_þiöéÒ+]Ï»úòÚ‡ÎXGÉm‹o’a!{¾ÒÕ²èóóÈ—™s¾$äIÍñòÖóoé·ìÇÌëÈ•B{Ü6_s•ÿw0œ/ž£¡þyÁP?¼G“HÕ½ñˆù·Èx¹cñ 2Øvð[Ï¿YîºÄ}Á9}é»Êú­+ÉÖ1Ýk©l­^œø³¹8Q(×/˜/® íÎåëeñ⧬Ð~æ:ë}L¾n‰Ï×išg@H^?~X"Ë6íJÞÐsh•Àœ ÃåÓÆ´êvî8‚w¬ ÞÒuÓI7¬k†ªNù÷^ö«›/;[Oö—¢ Þ#íi]f)™?1PS;Ò¬æ–wÚçHã]ׂ1…îîZ m×.ÓõãHa³ˆëÛuGµ–ùºÀÍ5½ð¸ëгå'ýï­¯LnûÅGò¬ÕÙÐP¾Qö¬•âþý\ẖnÑr4ÎÅÖ–A ¿aÊE¼ÿPzZØÌ{[tÏêôÁ‹áõß]!qØ ÿ²íeÌŸJ]oMè‹ð2>®‹^¼‡Z2§DKæ8Õ9ö¬Õo“¼r2´ !Ëz3Üo†Ûšàý>ýÆIàˆ¶¸aõ¹áõÃîYõæL™i2EŸŽé…ž½•¡ßHñ&x÷âójº™¨N Þ«JdɢǬéçß¶PƒìÐyíU¬/²‚õ™7ê î°ÿ 968#=‚r`æº;x—°yÎÝ‹å´$KðÈÀR„ ÛÙV¾éYüÄ*}éöòõ© Ü7Hµ­’’Õ+äõ·ß•=G#ëÇì±íƒ$¼‡ýþíÖS„þ–¾û¸–Ñ 1ƒ÷Іt9dÖzØ–¨/óµo ôÛ^øF= @@ ©~÷þfy½doRõ™Î"€@Ë.3T¾}Öø–Àž"@ðî{òïZ"j}ë–£ÄÀL[î@±å­›=äñ‡–Ë<ÿÍ3:àám4ÔÕKYµ©®¬l)Š{Æ»w}¶;ý·WcŠzB[/ßï;OoVjO³vn"ú ÙúæN¨|ÝEgÊ/gØámÃÑ]2ð·;$´ŒIxø¨ãÝfaÝ tUµLÑ™£¡|-ƒR^Y/ëê››™mŽpNBêð û¥ß¿)7=Kørô¶ÂKä8Fá-˜×Ñþ&ÃûéØhë´ÿÀzüÑö ]?g\±üèÂa2®—óí•ЭÎr<÷§UrëöPçfü‡E£Ójøû\ß’%÷?sZrDgìÓYÁ»¯ô]YðÀ‹ö‹gÊÅ#s³Æ‡ŒŒ“òÚk¦>»>Âê¸j¡gOÓzæ_iR£Ý>HG²Û|ûåÑ¿­Š.Á¡/Œºün¹é÷¬ß‘µòëûÿlÝtÕn'[ŠG¢^v™œLý˜øèCÙ£y¼WÁ{ÉËK䱕G%ò\Y0wr û1c×¾Œ/ƒµo¯û9 Õ×K¯É_’+g ÖšÇ×i—g@Hjz_£üà%JÎ$õ›Hçˆ"`JÌüâËçH¦–É周ï½?ɼ‹«LGÓ›VF§è)¯~÷t9Moj*YRºá™í¯s;3­†Í–®+“Ç_9 5Ý[0e½¡Vžùø¨}sưÕ&Šxÿ½yhõaYZ#ºõÐc÷Û£>GGµ·x8¦¨§ ›ÛÚzöj'Ãg­ï×ûäGw9%VªeÉÒ÷äÿšH®›äVê}>–kBnþÚšºã›&Ñn®8"ÆBôØ]r¥^žÖßáÆÃÁ¸¿ àùŒ÷°¦nY["ÿ¬Q´ÂFó ýï>,K4ýEmchAž|}|_9»¸·ŒÔËuQÌ>Hm~ÿŽÜyÀ ߣ›:'I˜¿_§CðÜYÁ{É &¯:ÚŠ»KÊÔí~C>üš?Jn[t“D¼Ï©i=>‡Õx÷ŸyÓ3Kä‰Jöx½¹ë zs×#zS×ûÍM]#í_./,^,«´t‹FÙrñõseö„ÁMj½ÇªñÈû»b?Eèo`öyÔø®‚/3Þ³åêÜ+3œ3÷ˆºä•oÔ°@’JàãýGdÉ›k“ªÏtb Ì¿`ªœ18¼ègìãØ£ãÞ=2OŠà=<ä »yfTŠAÃåà·Fn6Y¶Uoùœ}“ÈØ˜Ýªë¦zÖ‹Øh‡éQOÚtܳµÌÈù… +Ÿ_!WE*•Ó$\]%¬qßX¦%ýö¢ÏÎFYðrLQN!^Ì–6m{æáúÖËÚ2u¢?Y:ºW¦þv›ÿFœîví{{eèÙCý5ЫåA èÖÚ{´à³Õ1âwCg¼KÑÙù1:é[V¬’Ù+ÜŸCW“® aÆZÑ﨟í°þ¬]¶Bo²Û¶0ÝÕïV¾˜5l,ºbŒLÊ ^™/ÛºAÿ™â\•hÆÔ®¨c é‹gŸ×6i±S‚÷™æÅ3/—/Œ)†ÿ7\8úï‹ãò§^´ÊÍŒšs‡ÜtÞ`{@@/s,¨‰ûE ÒE|û—Ë‚_-Ó6Êmÿ~—È«Kåá·6™aoNZ·ûU ûßÒ¥|¹zÞeFßÈ}£•”‰¶Þ´xDèo0xŸ©¥o®Œ>»_|R¥7?ó¥gK~®ùúMðBÁä¹?¹“[“¼;7yÏ70.@@ éþç£mòÒ';“~ l/Ÿ~šüóçFÑ$ï½QI¼ëX]a”¾ŽyÃGÝç®+ΖŸLÌ H½¿ì¹ìc»>nK0sàO¿6[î©Sg­G£¼¤7ż±57ÅÔãîÓ6nqÚpÕ÷7ë?$x®Û!-|Ä äÇ_=On˜e–†ÙK>fÝ„Õ}sUçlÁpzæÜ5xLÌDüðšòfï@y›ÂóeÑüKšÌt·[ôÉêÇÉó›CnTê?U[ƒwS–g‘–å1ÿ¶œs÷b9¯äÀ_ªÖË=‹žÒýô"¢»¬o¬}üù³öE´Ï µÏvA‡š{òÌ·¹“° @’MàÞWVKÉaýÖdë<ýE€À˜¢¹çÒ×,$¾Á»GïQ²ï2l„üÆðÀìu‘jyü¿Þ“yÃ1Å +O#R)÷-y_–úó@Wò…¹N7V^¿Ú?ãÑl«(•«ÜáÆŠfc®üå»Óeì‘]òõ?í ÌŒw…Ô¢7«\ú®ü$ÂŒçß\7[®ê„ü¦–}¬ïGå†û׉™;úð¢Ï¡íEZörL‘Ú·ÖyÚjC^zÜ|©êSÃõ¦7Ò•AÃe¯~Û¢{Øàö¬þH¦ùË…mjþe+,šoÈÙÚLð®»<øm­g?0XË%ô¢•Ó‚õ¬ßØt×Dÿl~³æ„|ïçÊ“ÎN­èwô¿ÉLùÃ-çÊ%…Á™æQû£çsÆDùí%=å/Ï®‘; N¢<Õ¿óµ!çÖ$S^.‹°wžï3¼ Þ£|sÇËÏk„túªŽÞ}òîC‹äES=¬n{4ŒÐzðsîX$ç ¶o¦°é™ÅZ&Fë¾dëÍQï½AÜÕØíÖv¼ú<òÖ}yÆ»ÙkÿòGåWËL¥wçá¾Ùª³60ó\ËÛܱø&!ÿ.[ÿŒüâ)».}xI™¶ïùëDüEb&âKñYtûyC§}Ñ’4 õ¦°&dÎÒ×[È^~‡ÜpNÈ¿?ésÙ¦7äo;ŠäÊË&Ây¯|CNÃ" €$¹Àî²rYð¿«äÔ)-Ë’R [·n²øŸfʰÞùIÙÿ®Úi‚wÞù¤ Þu¼áa ©•þæ²äkg‹¤ÉÍÓG˼/–Ð/¹X«AÚ+Á -zÈa–sÅa¹ï‰ ²4äÂûТ"yüë“´ …ÿxÙ|‘Îl^§/çœý9-5Òëøz¼]zÊ "ù猓Yý‚¡»i%R-ðŸ^sŽÜ9Ö‰sä¹ß/—[›Üø2þ>ûGõÉË1E=‰'¡­iÝC&€´ùŠƒrу›ZìñäÊ«wÏ”©Á/\èêhï—}D³¿[aÑl;ÍïM/t5ÊÊ¿¯•«Öœ ´0tÐ yùºq2($ ܳz^XîãÕ·†Ž¯ÁøÀÀ¹EeÃ{ä‚·tªpà‘&ß¿h’ÌŸÑ‚²Ncœ÷LvÓþûo­“ËÞ þ3Ãü³å§—~NîœÚË9HZ]j&Aþ~è„…ÞË×ËâÅOiU~ý¹rBKþcOoxªµÕWêAùÓ®—_™`Kê±ëËÂirÇw¿"ƒ)ݾrÙôçå‰×6ûU£ï¢}Z¢}r>½á¹¿ñéùYõß5ë/>_n¿ééo_Є»LÖ¯xQž œO»4ëf™Ùçpq‚ñhí[;F(5cÖWíxU=bÊÜè¹G],w|ûB Vº©“’7ž–Çüç.Ö’<·;%y´üŒ3ß;êü¹2÷’`¸®—ïþUyñC³Ygú/”+Çø½òµZæ €¤ŠÀ%{å±÷ÿÆJ•Q1ºŽÀg— Ç í:N‘‘¼{ôF&Sð.ÒSÞ¼{ºLr…™gVWËîãu’™•%ý r¤É½O5½JƒÑ•!f-Þõ AŲó[£%`œfÊ•É>-}Ý«wž÷r‡æ‡7n” µëÉKÁ )¹}œëB€i£¦ÎÞ»ggò:m›ç&!¦®›uÆ$ùËœ¢Ýåð‰:ÉÏ©—_=ü}sO³5Þ>‡œ!⢇cŠØ¾YÙŠ°9æûé™Gž¬øÁ 6‡_ÔqÆó}-u4?¤Ô‘D™]] ‚@IDATáììßìs+,šm'°1Fð®û¹/òØ6TTÊæÒ*ÉÌÏ—qýœ @þF#üyù>¨ßùzÈ7B¬³ÖUË–úG˜%CúåK^Èûb¾åòàCïËÏB.ù{ñéºó§É/φêvû5²ý@¥T¥gÉiƒÂÛÿ¦ClÓ„ùû(Ð1+;:xÎ.>k<ÒÈKß}TxÑÌJ×›©êlóaþÏVéê§äç×8j¼Ô—{Z¥YtÆûõ çË'˜nÐ%Ÿ,h,3ãµDÑåw/”s¢”s)yy©<¶ÒL=7l),4É{–=êÄöÖûWØìô–ïNiœðþî^þ¸<¼Ìùr³¥x”þÇr]T–î‘£¦>ò'_-?œ;ÃTÜ y‘–Üo•бWæË¨ñ§IfýqÙ÷éë"ˆY_8í«ò½¯LuëoHWXD@”øïU›äÍmûRb, ®$pÁè!ò/3ý™ºÒÀS`¬ï½‰É¼›AçÊŸnš.ô –ÁhŽ¢âÐ~™ÿèVy6l§ð ö†û74)ÙzÈÐaÅòê7F…”ÔÝê^.Û^"cþäþ‚9gOÒYû˜H¯L-ëî«>3×92<‰·ÏNËÑž½S”3h¸¿S/X8_"ˆTzÇ9²%ï§Wîû 43‹}Øh-44P©bû9íOM¾žà ¡ùg ÞcÕÿo¾ð­Ù:#ÿÜÀŒ|w­òà¾÷]q–Ü21¼´Np{`©ºLüú#yÄ_Ê)°ÞÓ÷0MüÚYòõ‘aWÞ' ]¨‘§¿Jî<`_Ü ÝÒÜò}ל-·ŒmIûZ×_ËÍt• j‰iâüý6çОÛ:6x¯Ó€{±ܦþùõ2ÿÊVü_Õ&Y²è kVúÅZnæB¹cSV²\}lY`ƺã•_¡¥_þ3¼ô‹s†ø=fi ñ¿Ìéo7¨ïÑ D»h“'oΛ!“üŸÑ•/®«> O¦~Åx³hÉÍ…›o1[þrç¹2ËU£lëFóœÿaÎ7\–~q¸çEøfF]¼ÿñvYðziX©#aýöâ=œsúpùÙQú£Û·ï“ÿ|~‡<ÙFêkÏ!óôŸ-#þÅâ°”*•'—•ÈÏ„Ÿ e¦‰ô÷댩#Ÿ;6xoÏ‘ÕÉ‘R½ÉHV®øNž”ôžEÒ·wÄéíu¢NÊJËħßì’:Ÿd÷î-ùYîyæ(b3åe¥r².]rõô>½Þò±ú¤¼¬Lª|é’î«“ôÜ|éß§Žö8lV"€ €@ ì=^! —­ÒÿjÝäš]A Ëd¥§É¢93eh3•²Ë =eJðîÑ[™¬Á»3üYƒzË9ý4 hðÿË·¡V>Ù[!Ë*Ûó_Æ™ríÈž2"§Q–§I-ó²­çœRÔS¾Ð?[‹裡Aû{¢ ýÍ”ëÆˆ¹ÿe­¶±ÿh…<{8<t”Ìs|}m)Ò²7cŠÔr{­k_öêug¶kÞãKôsk?ô³_Z!Oöכ脎M)ÊÓ¿£©.×>äh©§“Õò7-;³×£¾ í‘-_'sì µÕµòáž“²²¹?³Ÿ;±þ~[ÜmvLàÝ š@@h•Àª]ŸÉ¯VËþµê`vF¸cöd™9|@‡y/@ðî‘i²ï1Ð  €@¼w2§@@RXà/ë·Ë³ë¶§ðÉ-p픑rÕä‘É=z/ï}Þ=‚¤@˜ï1‰Ø@@ †ÀoÞýDVl?c/6#€@G Ì9Hn=çôŽ>-çk‚wP Þ=‚¤@˜ï1‰Ø@@ ?ûûÙRz¬{² t„À¸þ}ä§_œÞ§â @ðî2Á»G4ƒ S€à=&; € €´@àheÜ÷÷äPEu öfhO~y9ò“/ž)…=º·çih»Þ=Â&x÷’f@b ¼Ç$b@@ l;|\¿¶Fê}-<‚Ý@ÀkÌô4Ypñt]TàuӴ׉ïá¼{I3 €1Þc± € €@+Öì)•Þ^׊#ؼ¸ûóSdzq/›¤­ x÷èM x÷’f@b ¼Ç$b@@V ¼µmŸ<ºjS+bwˆWঙäüÑCâm†ãP€àÝ£7…àÝ#HšAˆ)@ð“ˆ@@Ú ðòÆòôÚmm8’C@ -_Ÿ:Z.›xZ[å˜$ x÷èM"x÷’f@b ¼Ç$b@@6 <·n»<¿~{æ0h©ÀÕ“GÊ5SF¶twöKB‚wÞ4‚w i@ ¦Á{L"v@@ˆCàn•e›vÇч"€@ss& “oLÛÜ.lK‚wÞD‚w i@ ¦Á{L"v@@ˆSàñ¶È߷쉳Gp/Ž+–ξš×)(@ðîÑ›Jðî$Í €Ä xIÄ € €üîýÍòzÉ^Z¢ 0*ß>k<]D€àÝ£7šàÝ#HšAˆ)@ð“ˆ@@< |÷’fº¼¡{×û¼{ôž¼{I3 €1Þc± € €€‡”ñ“¦º¤åeºäÛ.ï½ïïAÒ  €@L‚÷˜Dì€ € à±7\õ”溌7Rí2ou“¼7!iÛ ‚÷¶¹q €@ëÞ[oÆ € €ñ <·n»<¿~{ü Ñ]DàêÉ#åš)#»Èhf¸Á{¸H_¼·ŽÃ@Z-@ðÞj2@@ðHàå;åéµÛ+§C óf$·žszçw„$œÁ»Go Á»G4ƒ S€à=&; € €t‚À_Öo—g×mï„3sJ:GàÚ)#åªÉ#;çäœ5áÞ=z‹Þ=‚¤@˜ï1‰Ø@@ “VíúL~«³ßë¸éj'½œ¶#²ô&ª·è,÷™ÃtÄé8G’ ¼{ôÆ/y[j¸“·Gœ4ƒ E {Fšì™ÿù([Y € €@ç ì=^!¾·Q>=r¢ó;CðX`Tß^rÓÙehAžÇ-Ó\ª ¼{ôŽ^ÿìyeÛZ£@" \:º¯ý4ùçÏî¬ÓsÞ$ xOò7î#€ € € €É"ðñþ#òÄ[¤´¼*YºL?» @ÿü\¹þÌqrÆà¾]pô Ù+‚w¯$i@@@@ ¦@½¯Qþ°f«¼®õßy hi÷oN+™éi‰Ö5ú“dïIö†Ñ]@@@@ Öì)•§Öncö{*¼™)03Ë}îÔÑ2½¸ Œ†!$‚Á{"¼ ô@@@肾ÆFùŸ>•e›vuÁÑ3äD˜3a¸Ör%éiÌrO”÷$úAðž ï"c@@@@’X`ógÇäÏ*%‡'ñ(èz² Œ)*¯ž1JÆè“l]§¿I @ðžo]D@@@º‚Àß6ï–g5€¯iðu…á2ÆNèž‘.×jàþ¥ñÃ:©œ¶+¼w…w™1"€ € € €I"p¼ºVž[·]Þܶ/IzL7“Ià‚ÑCäš)#¥ ';™ºM_“P€à= ß4ºŒ € € €¤º@É¡ãòü†í²áÀÑT*ãëIƒ åêI#eL¿‚8§@@„àO € € € €@ ¬Úõ™üõ“²§¬ùôȉVÅ®É*0ªo/¹pÌ9oäàdýNq‚÷ƒ € € € ЕÖ8"onÛ/ì)íJÃî2c=³¸¿\0z°LÔ·ËŒ™&§Á{r¾oô@@@@ ƒ'*åíäíO÷ËÉšºfödS¢ ôìž%Ÿ5X>?b ìÕ#Ñ»Kÿ°Þù € € € €¤´À àWî8(Ÿ<šÒãLµÁ>°Pf(³5pç@² ¼'Û;F@@@@Ú$pàd¥¼·ó3ygçAnÆÚ&Áö?ÈÜ,õÜÓÊÙ§ A=™ÝÞþ✡½ÞÛK–v@@@@V`ãgÇdõîRY­µà)EÓ¹o“)%3Ck·ÏÖ_&èÓ¹áìx$@ðî$Í € € € €$§ÀÇûȇ{Éý!„ï˜÷ЄíÓ‡ö“iúsÆ`n”Ú1ꜥ#Þ;R›s!€ € € €$´€™ ÿñþòNÃøýzƒVÞ Ö£NÑýŒÁEÌl÷Ž•–T€à=Aߺ… € € € й¦&üz àMonÌZçkìÜ%ÙÙ³ÒÓÄÜ Õ”™¬;5Û“ì ¤»q ¼ÇÅÇÁ € € € €]E`³ð[•éÏq)ÑŸ:Ÿ¯« ½EãÌJO—1ý dœõÓ[ÆS¯½En씚ï©ù¾2*@@@@vØvø¸|zä„ì8zR¶ësiyU;Ÿ1±šïŸŸ+#ûö’…=e”>.*H¬Ò:Q€à½ñ95 € € € €@ê”×ÖË®c'e·þì=^aýìÓg_㩤dzZ7R'Cý?Ãúô”áú“Ÿ™Ôã¢ó´§Á{{êÒ6 € € € €@—8¨7i5õâ?Óñ‡Ê«¥´¢JŽTÔÈ‘Êj©Oºñ™Z½oé›×]úçåJ¿ü 3ÚM]özST Ð:‚÷Öy±7 € € € €ž ¯®•²ªZ1ÏæçdMTÔ5HymTê úªzŸT××K>›šòu ÖûÄwꔘ‰ô§ôÙ<ºuë&:1]Òõ9Sk­ge¤‰©¹Þ=3]r23%WŸ{è õüì,ÉËʞݳ¤ 'Ûúék?{6(B!xçC€ € € € € €€‡ïbÒ € € € € €ï|@@@@@ðP€àÝCLšB@@@@@€àÏ € € € € € ¼{ˆIS € € € € €¼ó@@@@@@ÀC‚w1i @@@@@‚w> € € € € €x(@ðî!&M!€ € € € € @ðÎg@@@@@Þ=Ĥ)@@@@@Þù € € € € € à¡Á»‡˜4… € € € € €Á;Ÿ@@@@@< x÷“¦@@@@@ xç3€ € € € € €€‡ïbÒ € € € € €ï|@@@@@ðP€àÝCLšB@@@@@€àÏ € € € € € ¼{ˆIS € € € € €¼ó@@@@@@ÀC‚w1i @@@@@‚w> € € € € €x(@ðî!&M!€ € € € € @ðÎg@@@@@Þ=Ĥ)@@@@@Þù € € € € € à¡Á»‡˜4… € € € € €Á;Ÿ@@@@@< x÷“¦@@@@@ xç3€ € € € € €€‡ïbÒ € € € € €ï|@@@@@ðP€àÝCLšB@@@@@€àÏ € € € € € ¼{ˆIS € € € € €¼ó@@@@@@ÀC‚w1i @@@@@‚w> € € € € €x(@ðî!&M!€ € € € € @ðÎg@@@@@Þ=Ĥ)@@@@@Þù € € € € € à¡Á»‡˜4… € € € € €Á;Ÿ@@@@@< x÷“¦@@@@@ xç3€ € € € € €€‡ïbÒ € € € € €ï|@@@@@ðP€àÝCLšB@@@@@€àÏ € € € € € ¼{ˆIS € € € € €¼ó@@@@@@ÀC‚w1i @@@@@‚w> € € € € €x(@ðî!&M!€ € € € € @ðÎg@@@@@Þ=Ĥ)@@@@@Þù € € € € € à¡Á»‡˜4… € € € € €Á;Ÿ@@@@@< x÷“¦@@@@@ xç3€ € € € € €€‡ïbÒ € € € € €ï|@@@@@ðP€àÝCLšB@@@@@€àÏ € € € € € ¼{ˆIS € € € € €¼ó@@@@@@ÀC‚w1i @@@@@‚w>Û¶mó¨%šA@@@@:W`ôèÑÛ$?;Á»Go Á»G4ƒ € € € €.@ðß[@ðŸG#€ € € € € à xwqð@@@@@øÞãóãh@@@@@\ï.^ € € € € € ŸÁ{|~ € € € € €€K€àÝÅÁ @@@@@â xÏ£@@@@@p ¼»8x € € € € €@|ïñùq4 € € € € €.‚w/@@@@@ˆO€à=>?ŽF@@@@@À%@ðîâà € € € € €ñ ¼ÇçÇÑ € € € € €¸Þ]¼@@@@@@ >‚÷øü8@@@@@—Á»‹ƒ € € € € €Ä'@ðŸG#€ € € € € à xwqð@@@@@øÞãóãh@@@@@àÿgï}࣪îüïÏKˆ€ƒ„! ©¡5hœ-¦(¢,+b‘‡§hw±¥Xâ%¯…/¡äy`\VŠ-ÏŠv)RYºüX¥)‚5˜ b$B4H„@ ñõ|ïÌÜ;÷œ¹ó'37ð3¯W2÷Ϲç|Ïûœ{fæs¾÷{H€ÞÜ!          øPx¯&          ……wwH€H€H€H€H€H€H€H€H€H€H >ÞããÇ«I€H€H€H€H€H€H€H€H€H€H@!@á]ÁÁ          ˆ…÷øøñj          PPxWpp‡H€H€H€H€H€H€H€H€H€H€â#@á=>~¼šH€H€H€H€H€H€H€H€H€H€ÞÜ!          øPx¯&          ……wwH€H€H€H€H€H€H€H€H€H€H >ÞããÇ«I€H€H€H€H€H€H€H€H€H€H@!@á]ÁÁ          ˆ…÷øøñj          PPxWpp‡H€H€H€H€H€H€H€H€H€H€â#@á=>~¼šH€H€H€H€H€H€H€H€H€H€ÞÜ!          øPx¯&          ……wwH€H€H€H€H€H€H€H€H€H€H >ÞããÇ«I€H€H€H€H€H€H€H€H€H€H@!@á]ÁÁ          ˆ…÷øøñj          PPxWpp‡H€H€H€H€H€H€H€H€H€H€â#@á=>~¼šH€H€H€H€H€H€H€H€H€H€ÞÜ!          øPx¯&          ……wwH€H€H€H€H€H€H€H€H€H€H >ÞããÇ«I€H€H€H€H€H€H€H€H€H€H@!@á]ÁÁ          ˆ…÷øøñj          PPxWpp‡H€H€H€H€H€H€H€H€H€H€â#@á=>~¼šH€H€H€H€H€H€H€H€H€H€ÞÜ!          øPx¯&          ……wwH€H€H€H€H€H€H€H€H€H€H >ÞããÇ«I€H€H€H€H€H€H€H€H€H€H@!@á]ÁÁ          ˆ…÷øøñj          PPxWpp‡H€H€H€H€H€H€H€H€H€H€â#@á=>~¼šH€H€H€H€H€H€H€H€H€H€ÞÜ!          øPx¯&          ……wwH€H€H€H€H€H€H€H€H€H€H >ÞããÇ«I€H€H€H€H€H€H€H€H€H€H@!@á]ÁÁ          ˆ…÷øøñj          PPxWpp‡H€H€H€H€H€H€H€H€H€H€â#@á=>~¼šH€H€H€H€H€H€H€H€H€H€ÞÜ!          øPx¯&          ……wwH€H€H€H€H€H€H€H€H€H€H >ÞããÇ«I€H€H€H€H€H€H€H€H€H€H@!@á]ÁÁ          ˆ…÷øøñj          PPxWpp‡H€H€H€H€H€H€H€H€H€H€â#@á=>~¼šH€H€H€H€H€H€H€H€H€H€ÞÜ!          øPx¯&          ……wwH€H€H€H€H€H€H€H€H€H€H >ÞããÇ«I€H€H€H€H€H€H€H€H€H€H@!@á]ÁÁ          ˆ…÷øøñj          PPxWpp‡H€H€H€H€H€H€H€H€H€H€â#@á=>~¼šH€H€H€H€H€H€H€H€H€H€ÞÜ!          øPx¯&          ……wwH€H 5 \ÂÞ}GñŸï}Ž’s͸©ÝõRX"òÇÞ‰Qi ­Y0ó"ÐŒÊÝoâÀ—xéºfÝÜ~)A©®×~]›ë+ðæ[¥¸”˜iMÜÿH.RŒÛë}ÕWìÆ[¥_ 1Qúo×,<˜Û×pu]iÅoZi1´æ:ìÿóŸñ§½{qüT#Ú·o/ɸùÖ¾øNÿLdÞqÒ:·oq¶¼€H€H€H€H€¾É(¼»ÜúÎ~…ŠÏ›èÕо®ï€þi7ÄPÊ×8qü ¾+«›€7'#½Óu1äÅKHà ¸x‡O4 ׉–€~=oDÒ2åŠ{æ$žù2¼æ`ÈÜ'r1µ/ 4­x¨ ¦£øŒ¯ˆ$Ϭ˜ÕŠå]ɬ¯ýº6”oÀô¢b?ädLY¾Y®$óÖ-»|CŠ¬Î›‡%+Æ¡së6÷úêýx}g™L|$cȃ _œõø¦õ‘° ¦¬¯Ø¥Ë6â”v\ÝMEþòp ßWj}ÝÞ«Çþmo¡ìó$÷‚G8Yæ6`æG$@$@$@m’…w—›åÀë»ðÐÁK¶\±iªžN¶CÑlÖU#õ×+){Ý‘‰÷GuWŽq‡Ú2³GËÐçÕ“~±åY†Ä2Õ–+•mçñüÊ=XxÎ9ñ¬1¹˜y;…wg:­u´[æMÇV¿Ò”š—ã´VaW8ßk¿® ›0}Ùv?çk_ ¬ØTˆeÛ«|õMŽå‹ÇàÊé¡5X=ù94{yêH,_0ê Úc¢¾ÓúˆZû0{u%(˜½þ9ÈÐ ¥Ÿ-‘~v%'xB×öÏÔî^‰¹ëÊ,C‡ÏXŽ1ý®Ü]k     V%@áÝe¼¥oîŰ÷ÄÃ×özÜ“þî&Û‘È›^ß-~£’Г}6=ÜM9Æh §Šå hŸÐ tê†ÞÝUüÕ[þ:ûÉaôY_ã¿°=Þx6ƒZIxwËæ–×2òg ‡WM’>±~ûƒþðÜÜç."±KGtkǧY"“t3ŵ/Fh]ûuuCT­¯,Á[Nz÷ sÚv÷´)á½¹+§,‚%)&‹þâ+ëèû-7úH ·ke«%«g`íÁ %gbü¸‡q[Z'\ø²UWàÅ85pVLHÇ-?z”lÛ‰“âs#QË0àþG0Àá‰ê+±h£u—À3e &dqƒÝˆH€H€H€®uÞ]na'á]°âàÌèmYÍg0cÉ~¼¬¥§ð®án«PžÜHìŽff¢eSG>Ó.§ðî–Í­UHKÄË?óà¡äÖ(‰yFOàÚ£,®ýºº!ª¶µð-ö ÞjSÂ;¤ÊÓ#¦¾g ' ns1çÝè#Á-qµ‘§ž•§LÝ]&M eÒÄiµ‹f™‡¿ž 7xC) ¦¯²ž%¨7Tl‘§r¶ú¯OÅÄÂùÈqèƒ à    «™…w—[Ï.¼÷’àìÕþ¨3¿ïÁ¤[½ÑÚ#–X[vßùc­7]¯Äë$‰// ï^ üwØû1:¦áØ´þhi´$ÃÌË)¼»eskàUlë"<Ÿ‰gkØöÍÍóÚ£m{í×Õ Qµm‰ÙÖsÚj{¶6¢¶¦M ‘Ö­mzñºÑGœÚâª>ÖPŽyÓ‹¬ØîžI…˜0ØIv¿ªkÙºÆ7–£0¿þy'äå/Á¸Î÷@c}-êÎ5¡cJ¸Nmë6 s'   ¶B€Â»Ë-a l½$ßj#oCk7Ä÷ô>8ñÃoG®ãÖÿfòEw·ò€‚âk ïB¯ËCàpñ^|o?dR—ž¨z¦_L‹¢^NáÝ-›[ƒp[¶­5ê{uäyí‹Ñv¸öëꆨZ¹¥‹M·m‰S^$qÊÛêÊ ºðÎØÛÞjË>*ï«öxs §,³DãáEÓ»­öú6JYg8Cö#Ã6ÚZ4‹H€H€H€.; ï.#7…÷àlÛË"«¹‘Y­ûîüõ1¯ho ï~ñ>¬ÇûÅF8|»Ž~‰²ú&4x½ä¯CÏ[ºà²{bHZ¨ÀÚ—pàÀ 7Äý¦Üswº¡ ‡?¨ÆJ?GÅyŸ·=p_fOŒ½»{T!GNŸªÅŸ>¬ÅþçPׯ=n¸÷ÜÖ îŽnQ<®\u´¯îù ¥¦ bcÖí=ð¹=Ú5b×¾ÏpN_”%Üòu í‘}ñ<ö~xo–ÕáSÉË+''¶Ã÷3{àÄ–›miÄÞŸ‰˜‹G¸ÜÔ,ÇöWâÊÎà¸÷I†ëpsçÛ?  ìj+ÿk=ú)þ÷ƒSÒÀ-7|ýòžûíTÆÊ/M; hDOyô¼)2kóÿ{dáý Û7g ß½q±/¼ñ Š¿ø7Êýz×™˜ÚÿkúÛ_‡Ò’cXRë¿—DÊ+ñmáù5.ʽ‘9àÇ>áÆ=dLØU­Á¶²S8pò¢¯ïKŸîÙ½ Ôžž¡Æ[CÆÄÈv}›Ýl™]W]Ž’}ïãȱÏpöâEo­Ú¥¤ãîœûpÏàÞŽmcm9öûDé—ÒáÉéí~£¾r?T]yÚK¸ñ¶»‘•æ´à^#*JÞÇ é3F áÔÌ{0 [´âNKëZŠ’Ýûp¨º¥®FŠéY¸oèPdõÒ<9›ë°W).H%øÆ=²† _Èð ͨ,Ù‹*©C¢$¾±Ï àü¤¬ºê”ïm ùŒ‰qqÕz)ëÀ±¯ O8ô֡Ŀخ̖côSÈB’ç¥URqwîçÅBëPú~ ö½wug/Ê)¯v)Ⱥû> õd¡³ãç‹ßhï[3jÊßÇ»ïïDZ*áí=Ö)é·#ç¾û0¸·³÷±.¼É¢— u•øó›Å8pô3>²DÇ·ú#ïÁ9 5”K;K•>•„¬¡ƒe\j”6Ú…â=ð™ÔÇgN'ô¿; •úøŽý¯)-Áù°÷öáíê»(¶ú*6Ö£ü¯ûðÁ¡ T×õöQŽ”¾·ã¾Üû¤®ÎÌbí#JÙÖŽõ¨C¹ô÷?8‚ÏŒzxón‡ôþwã¾ûïAï”Ð÷wCM)öùÊË;©G÷KAs Ú¿¦\Úë´Ü‡ç`ÝÆ]V­RsFãïï茦ó—rr²Òäœ}ìŒ=w†{j°{Çì.­òÕGv=Ò‘;ì!äöë†pcy/}(P¶eZ`£±%{ÊÐdŒ9â5Dú­í>³Ø$^’nÝC÷@ùÎ?`ë;ŠMIbP_<9uzÙñ¶¸OÕ£t÷Ôá$ÖºÍ%–}©ax›ŒÂ0Å>ž7TËgÈ1±ÛðÇIÁ ÜÐ÷d\¹R}ê7H€H€H€H€\!@áÝŒLì»'½ Põ%ÌŸ4Ñ,²ªÆ‚¾N¼Þ¿öyÎK¡„÷Ãûá{oùBÓ,Q·¦§aíØþHo§Çù“x`E>ðž5â6´ßs -ÑUK/òò¦ŸÞ OJñøüXú»C6‘Q¿ÞØOÄ/ý.&eÞètRŽÃK¿{?¯2…J=™Á÷'céŸkül±åY†8hˆ‡”á‡ÛNZ õœ RÊoŸÌƨžö_`’Jçâ鉣»Žãµà üG:É¡wcPóIÌX]†—ý!†œ’Ï13…ðíšÍ-lK%Fº“áÞc¡Y;]Qx×9_F›ÝâlÜçõrŸ›÷Áa ,„¼ù¶ZYPõ¤娬1¹˜y»­ÿ¹rI˜ŸãÕøùï?Ækaúb¯ixu|ôÕÇ¿…13RjØVw¢£ë+ðÊ¿¯Â.ÆC¾’20±`*rÒlí(‰«w,•Åô>ö_–Šüå 0 HSoÆŽ¥S`%ËU3‡ ôZáŒñó1s¨!ŠE󊲮 •ذ¢Åaêšê™†XÍ®Ôá3°`L?g£öK,ä5V,ä ´±”ï/)VQU‰ëîlµMƔ勑¥µ]åî (ZWì˜p¾4ã þC{;ËÕ •»ñEëðqØ®53¦ŽQEB)LÞÓó0ñ¾KX»Þü¶lMÆðIø—1ZÜu­í°:ž¾Tƒü£~å+Ò"«Ú¢ªžì[1âT~qÂ'@; ï$$ÈCfH»!NÛ«û#‰Õ­,’)žº?Zv¯;¥yL‹ýW‡ÅbÏJ^ÏGŸ×\§ÚGoyçðü %a„'£Ú‹è‹Ašð^Z¼Ãöœuº èØ/ŸÈŤ¾6Ñ,&.AÙ†<ðoOzð£žâö¤½.¿Í¶¼"Â{Lœã·¹µ9¼#›3¿h¹ðîÊ=\8^‰ô—?ÑzW¨ÝÎØ1ãNdiâ{\ŒBÕ¦ŽG!F×—¢pÖ*+ C$ó‡O)Ę,›·m] ž½Ö¢cÿ6J¨‡ü@¨ E3¡G{ÐE›‰…‹ea¾H™ç£¨kC–N_sšÀ¼Òñ=}8–Ìãß›±så ¬÷‹iHò pÅñç ~Õî^¹ëúO$Ëâ‚¶:Ä\¾/»Ë-¼WlYŠe[£¢…áóyŒó¹±ròo †äx$3ЦÁ½ÂÞÅ×ê`Ž×fO\ˆÉ9Ý´ØÔá¶r°põDy2ÎþŠÜ¿â­¯QZ¹„*2CÙ‹wÚN–>*Oا®¬qñ˜ˆYžÞøûÛ» kÂEìÿ<ù^ˆGºtÅËÃ{aðÍI¨ÿüs¬Ýþ1^´'í!1ÿ¤ÆüwÛæ–¶å…³_¡âó&tæ*ùÓÈ·ž8èŒMOfàfyúÂxœ?£gÇ(Ö*ð‹èñ®q¾6·gtì„YnDû Mèq[o<ž‘€ÃÕg‘(¡fþéCt¯Ø"ß#Jÿ‚WÖ[O)¶æÈœ•8#ô/êÛX¹M˜o6Š÷¿’…ù|P_ï"•§Ž¼‹—WmT&ɲŸšÉ¹§Bbí#f‰p¡õâ­=ËòÖöåœ=r"z’.àÓCïà7k·*¼“r&aÅÄÁ–ÆF¼í__[“ò(áì‡(ZµÙš»É9 ã²¥×7I¿OêŽÞi2Êhý$hÓÎ{ MÍÁÄ'FF×|ñÉx}ÃFH”>å¥ç£ÔI&N–Ëĉo|P.‹x¯+ùxW§ñÍ0dd{Ð'5QBÞŒ‡~0 «âéS¨©À]Û¾°ìûɈ™”ð×;ˆ‹?”Œ}®A®<}ô0nµÆÊÃØðd÷Ç«§iuoÄšvã–øÞI¼Œ%–³åeÜ6ÇØ–R}1Ðc²¸j'¥–Ñí´Tx7r©ÿÉuÑÙÜJœGJø aÂE³X­v'¦{Èàðö>|oW`Réñ{îÀ y¶{Õ€,f׿´ùþ§iŒðO~æ‘{Ñ8ç##›¯æÆF46×›bd„ô‘N7K^íeÖ(úì‹…µ%k1wm‰UlRæXN$Ul[‰e›Ëé²'bÅäk?’`^²úY¬=¨ºž&‹Ð¶XÚd @&L?\8«dûFøºÖï³Öì².HõLÂü ZX×ÎX„ÓÔ$ñ|^á÷|n®ÄÊ)‹aRH9³GiáfÊ1oz‘Ä÷½ì¢hÜåK–‘D-«ra6ôÅUö‹ê°A&SŠ-1ÎGŽ~¥f÷Z<·.вŸoó\ß}X¹m)oó#ó1sÔ{!²-“Kgc³‡FÔQÅEI.áFΧ­Ÿ¢= a7ì!6tAÕ0À3i!& VNj暘ñÜzKœMçÅŠÇsøþåF}•ûHBÿ<µ°¹s™ÅÂ%ÙDÇP’…ïm°ox+Ç$@$@$@$@ñ ð/AízUxOÃ1 írR„°{-!,Ä"«¶EU,2RDàíD¬Ýe‰µºð~Tb»/øëytH”C; ¿~ìÛ^ßÍ$ìݲ £ù•ÿŽÝ%ÜLf ÜŒ&0{²3±éáîz² kVŠ-~1{`ÿþxë±€'.žÆÒõGpT<Ë€Œ„Qiºì.Ùœ­Á϶¼çíáfN|ð²·„ð'ï¿ ËîµyçÛ¬ªÚww½eªØªð®?  ê¶<¼u²ñEi¯gúûfË4i_ T'#|Y5ŠÈ¿[ù·Hاxó§?*Ãí›Nú-h/qééZÃæ˜ÛR,têÇ—Cxom›//ç@g‹Š§ ÷PhnïÓs|[âûÀóG‚îEWéeéûAáUô±í;yЇÎ)œX¨ž“%p1gµx,;f&âæR µB U½£“1iÉb 6]ÕEÌ^)žÏe6¯LŸ×q6毞 k„•°ó¦Å‘E¥Ç¢q´Í<¨ÖG¼ÅÛ=?àínÔÍËýï å›$¶òvëèð|éüAë÷¿R€5¦k¿C¸™ºýk%…)DÛ`wÊ/jY&‡ÝˆFøÓ=¯í‚ºš¹„ó˜'á8&»bçµ—ÞÆ3'ü¹Úó°$ÛἿ[Åæñbó­N6‘ÚÒ±kõ‰f7\½×ëœ[ÙæËÍÙdäOo~aî!hO¸…–2 ò¾^ï{±ÔÓdBm¦<]2^ž.q…‘RŽÃŽæýì"¦C¡ç̈…šÐ.æ³C-*™«â:'‚ô8sUñ_*Þ঳GÂtLð‡éh¬%˶zÍKJÏFŸ QæjG‹¸>Â/®«!aKj*p¸æ+çêÉÑ›nýz§kW„©«6 ’=^<³‡ªÏª±T„3³.vá]¤“0~þ2 µÂÍhž×öd]*_®TQ+`ø-EÌ !ü)^ñÐ&H´ìkdqÝçÌUsM]óʶ{þk—Ë®áõþ¶Õʦܧ# æKŸðy#+¶*a{´\ê÷‹øË \¹G4Ápø ogv¥êhUÈPGaú—KõÕjrWi“¹?u\}Ä…z¨ÖéÈ/šÆíéøÒ&¤´þèJûåj}@é¦]ZE0ׯråœy½õ¦ŸH¥NZ}­,d#R;*ù„»7왆Ù×§¼—i|F°»Mö0LxŠH€H€H€H zÞ£gUJgík¼ñ»·ñ¤3[_dU[TÕX˜ñ­Q†×¹žD÷x·Ô$ñ¹÷”†?ùõ—ð•\¸Ñ¯¹ªm„e‘V /|Ë{Y>íB¸=c[©[ ¼ê““(.¯ÅžOÏãä¥f±ÅâÒ¼þ¥o±X#O{yÑçNÄ6„ðwD”1ížtñT ìåz_ ס¾æ$5CßtÀ3†`þ¥%\$ŒÈ0s[¯¿(ã-´}l~Sl~OM0^m©´E˜:ù2ý?tý×´„sÜ6_~Î&™–óŒí:+¡úX¡®ÃoŸþ;ŒJõ‡r2 ûeÈÉælXü>OoÃÃÛ×&‡N~ÃüÂdä|èä‹Xì_<2u¸,`8Æ~Ä.Ê$e?%¡lr½Å–o(¸ï~7d‡ 'y¦ÈÂ~†sèº6VË"Ÿ‹žµHõ`ln²ÄAÎ01±»7["®:!¡z¾*áf4qÝ#žÛü.¨n•¯¶Yk ïFœú‰SoÆÛ‘xç#GKÌtGXhød7Šš.ï>¡õÛÇìO èÁÌCQÄÅ0"eXa5JÁаA)O´Ãõ/Õã>öúÚ94K\þ¿xÿú>û¼^BàÈ8âHNUUY!q q‰§Ä_ý ûöÚ¶•Ð6I2ɳLž‚ñ•RÚC«g ÙŠÔÆ‘Ιiiq];§L:*†;¡Ç!ãl´uŠÔŽÑæc”i¾bíSÞëƒÈ“)ÚbÊFºÐv·Ñ¾aÂá; @\(¼Ç…/øâP›ê¡ Ø=ËõEU-±ì|-Ƭ8dÅgwÞÏŸÁúm‡‘¯,Zl—uDQc>õ|üT•ÅÜÿ­Âë:„eƒm# ¼ËÂ’â9žoyŽ÷”°/¡ãЇt%$Ž=|Œ­¬È›¶ð/.s1ʾšlÕ#3TS„®³?‹œ#Û|ùû†I#²mfJ ö{Hïc¶‰¤@ö¶\b¡”¶q:´¤ $"˜.ÏTŸ£qÓÕ¼ôØJ¼xkK»P-!@$MΙm˜¼È¿€¤®Eïž3Q¶Ìñ{vCxWë¢z!+œ¤©ØRˆeþ‰H˜BYÖ°´¾Tbȯ2cÈg `ÕLôö ˆn•¯æÓZ»&…àâ|Ø^§ï§"¼/3ÃõDòzvÎÉ8µ¸N wN+:|yjÿ·÷ µ]b¯¯×œ†jlûýËØ\b[X³SÙÕiÕ––õõÚXê¡1²M¬)6Ûv+6É1f_±‡gr©ý²¢éZ{ûªOºDš¤ÔÈZ lk„ïc0j[·c´ùxsŒ³OyóÐø´Üã]ãÒVúF9·H€H€H€H€â @á=xN—†ØÎ{Y]b ÒÖ"«Á‹ªZ‚³&J ïš§|ÀžëàéÖÝýï'ÎZan  æZ!<›¹ºn¾Gß}÷þ¹ÞLn½÷êØ9É~c$ükŽïâiû;ñT÷?ÐKbÈ¿o!oåæÛ-èªáy´Ë"ì&JÜu/>»‹\ÌB¯&›#µµY§Hï¡ëì¿ÒEΑm¾ü}ÃäÙ6_Êøî!]xWC0™¶„w‰QøBÚÈYMì°‰@ª°YØpµ²°apBçåM+á> $܇Ï7Ý¿PbãL6c8‹@¸dñtFÄ@~½‰wðÂÚÑß]W\_Y‚}ǾBBBðzMMMHͼYiÆŒAhûôº×-ô‘€G½?Mín<;wßã8àݼ[]ç_@6IŽ]a[8Ö­òÕ|‚Ÿеœ‰,Ø©WF³•, ›.†*¼Çf§QZd[ý6…ÃÓª¾<•‹]˜u£]¼¦Xë!h†‰·{jzOtö/T^ûñÇVL|W=ÞEL˜ÄÒn*#dNÄêi…_õZûáØ…o[n‘Ú8Òy#+-½}Õ'V’0QõÏ ÚŒ07Uö|ŒÑÖ)—–äú”·fŸx…÷6Ó7¼•ã?    x Px— v}8MÕ±ID^Ïù¿áÎ_³BÁL{ôü"ó_®š(© ïj,f``ßžøÕýéÚvFI×ZÂûE‰Ý¾,»²ìÙ¿¼ÿÐÿ&ÜÔÎê"L|ê½[vË"°þ°/áOì¨C ºšÇnÇnØ2& íBÍØ34¶¯o‡·&ûB_hìã™0‹¹šl×ÍúDóºÎþ«]äÙæËß7LF‘m“”.ÜCj¨™Ø„w剑Xï³âmú=´¤†•H•QDu¬“Ý{âìÅ6ONñù–Å)gY‹SæHœ÷O¯Å"üïôј=¢·7çÒW$–ö._x’ Y3µÇ»¯× ŽÆ8Œ¶®€gü é‘Ñíÿä|§[ú —7†¼™TõO9³GA‰ ?Râˆêx|@e{ù‘Ä8ÓÂpï‘…?µ~Hö`Êä!H¸ –”šÐ }úõB³²@m,®¯‘mõ×4œ(îœ*|yÑö¯Øë«ÄÙÛ’³GâÇEŸ´ÎX/ðRÒ¹éñw»©}G_,5PƒÀ–ò¤ Ú¦Ç;‚Ö°­o¨Š+t?1„ïcÌ"ÝëÑæ£ôÉ>–>åµ*Êû(´Ým´os‹H€H€H€H Þã€çtiXíüI Sf…ŽyòlüãÙ#øàâïøî¬;Ñ×ü©‰’ªðÞˆçWîÆBYÑûêq+ª~ÔÛ1^rX›´2b˜OT†Û7´ýãßa|š]þ÷Ÿ Sžbgb7|8ó‰ëü 'è* ‡vé‰* YÓâ8ÒaìÔ-RìÖ'6l‰¯&›£­“­zŽ›áêì½ÀEÎÑØ|¹û† %Ûܸ‡ôÅUí!­L["½»Â(R!mâ|H[HÑ3Ib’îÚjÅ£ÈÁ|šãÝw™= KröpdÕmÇ.oÄŒ€g¸‘Ò¾à*2Fâ©>¥X·ÝZ#}¤ô£|}hcœÎD_×á3Š0¦_È2WŽÕì\‰çÖ—ùŽÉ†sžù•ˆèX¸z¢:®k¬c-?´¨¥˜v'ÁΗR¿¢£d𹝠ú†^Ð4\®ÑØê½>œ(îœVxøòZÒ¿b©o=6ÈÄ•µœAÆXÍæÈ=œqõÚMé;JjÉŠ ò­/ô«ô•™„3×pï«ÚfŒ÷yùEÖºöÅ£ƒk¦ŸHâpmgÏ+R;F—;}ÊkW”÷Q8»Ûdß°Cç6 @Ì(¼ÇŒÎùÂH[ñ«;1÷µ*¬Kþš(©œ×â¿Ï}ƒ©}ýá\4ÓJßÜ- iú=ÉuaX+#Váý€”ñP¨2ìöHyc–âÖÛË;\¼ßÛsÖJýÂÓCñxˆ…!/|réëküiUÏ^¥¾¸/ÿôïðPŠÍëÞ*!̆K\ì%„¡ÛšÍJ?Žðô½Žúv¸:{ÓºÈ9›/7g“‡b›~ú¹qc†ýþòdgbÓÃÆBÍN/#ÌÕn¬l™>™À›ùäŒï™(‹(ÛÆ‹Xï§âÚܱ0")v1I”t¬š6Tñ¬µW§f‡ˆÍýb³œ;¿ÃÒT9¶±z›,bêßn¿ØŠåî?2üä;Gòí¥ækÏ*ôvôuµ/Þ:¿0gì¡qÔtöc­3ëXË'jYeEØP»OTlš‡eÛ}O$@¦tŸZ¸ ¹ÝÌÙò§µú¦æM‘8ׯ¸N/i·ÂÙØqFÚ\ô×ó1¿x°b«æÙ­äN wNÉ$’(}ÿŠ©¾ r?Nˆ»áðTÚGãWq¡Ý”6“¾3vþ2'Bõj¬œ¼Ö¨’!cÐÌÀ¤ä¥ÕSiºHm鼑™–F # '/Í_†ÍB5;ÍþwÕ³[ÉG(u qÿù4VnAþâ­¾,åI€üå ”58”|B±q©OyÐø´<ÔŒV÷¶Ò7ü„ùF$@$@$@$ ïññ º:’ÀváøQ¤¿ìó^T/vˆ5Q2œðþð]wà¥üÃÏ|Š1ÿqÄò²o­ïŠhˆÐ‹:K8™qf8`Þ!¶> ¶~`‚ éÅ߈5"þ¢ÖL¨ ïj*‘þŸŸ˜'n²PëC-ÔÚ(‹ºîÃ_zôůL xÆkì;9{·"µ¹™<œÝÖlVëÔMËÄMfEZð®ÎÞl\äÍ—›³‰Jµ- ǦõG'ó¤ÿÝ•{MØ"k%<í_+Áù´ej.†è…I™úXdzÇ»ÂH«[ÛÜ #ŠÁû×`M‰ém è!R¬:é““W·7±&¤ù3ÐÅ'ã°^¶/©x¼®Wÿu-{ W×Fì\Y€õe¬,CÖURÔWlÁ¢Ua\ÁT Ö&|4cçÒ)Xo)qf¶ªg¿yTd4WÊKTõ£ vyw\G²ÓZ.L‰åO'<'P3#Äж¥‹p¨Ï8L3Øï¡­×WÛo¿:Ü•ª­Ã±\Öp´!œ(îœÝÙ_^KúW õÕDÒtY|rö˜š…²[W‚y³×ZÞ×nÆxî§1ÔCì+û¬Q%}´ôŽíV±m)–mÜDÙbrNà;^øö°¡‰ÔÆ‘ÎYiiô1K¯’0º`±LOêa¥ô|ÊeR«ÈšÔRCëØjÅ;Ü%á=Ö>åµKøØ'jó¦,Á¸¬àgÂŽQm±oØ¡s›H€H€H€H fÞcFç|adí¼„ˆÙcfÓ-U?î~ãš(©ïÐkÏÔ¹#³1u`²?Ç&-«ÄÏÿx< ºgtïe­ŒXæÓ’P3–.bwÞýámè{ƒÏÓüÂ™Óøï7Ê‘Ôïyï·ò—â©?ÉòÔ—V_zϜ🔷}oÅúÇ{Ãr(<ÿÖoú+ò«ÌUj´ªðõ||öô{y7=~ M³íB¿K\¥EZø²mÙ\Z¼×)~æAžÙµì•а}Y…÷¨l¾¼œM<‘ÇÀ{ÈÔ+drï¸Y´¼wƦŸ~ž”@è§ÓÇÿ†§_>f:á/³îF¯ó¥ Œl¥·ÝÍpb¡X]k_(Ô¨…Jùs0b@@üj®+ǪE°iÖÈ~J²Ü@{ýKd‘ѵþEFÍã# Š0J©tÊ[zÎDY”4übŒfžÁïáëÚ,ÞøSoü$äMœq9½lY5£r÷°x]±ul´xàpðÀ¯/}³Ví²Òy7’…lãœå‡µTKBîÙÃIÄgY(r±ÃB‘ر4þðü¾¼Ò‡cγcÐ˦|7×Wâÿ¾Åæ<»-<Šê±kd‘‰I ŠÁÝbe}åN,]¼> "#«f¢·ßAÚáUTCyê†//|ÿŠ¿¾uxåÙÙØeÍ éý³Õû·ãÅ5[m¼ÄhÍk:Þ>=š±{õ k¡aƒkRæhÌ™2"ðÍ(ß¶ E›-_wI•#“n•I·ðíaäìEjãHçl´4º`ü4O2ÆÎ(À°~)¦¨)݆«6&䌞OCùL/ Œ/I£1oæX¹4ÖcÿöÿÄš­v61z¼Ã>å­ L¾Š×¿y«'ËX½Øa¬ßÿÚ^ߨݿ/nÞ'‹e'á;#Æc\n,aά.À    øÆ ðîrÓG#°Uí{w½U¯”°£OxÿàœsxŸŒÈÁ¢A­«šNU¢Ço?±ö}‰x²¯¤9/ŸP…{ßy]x—£gjÄÓÿ°MXô¥|¸o7Üu#ðÙ©z¼¨åõ¸g ^ø»®¾„nqñåæýQ„nC6«¶æ_‡Ç{$¡âL;üûäAèßÎV±0›j>íä"gµ¬06_FÎ&šhÆ·î!àk¼ñêÛxR iõpß®è'¢Îéúsx¹Ö>qLy~1Pn ó/#3Ÿ6ý^,4LW…X_e’Ò3qoÿž¸tJÆ—ƒ¦Ôâ¯hV#EÝþW0{]áÅÞ\‰¥SÂ7ȵñ¢œààEé/9Â[äºî—E]×øuµ2K΀g°|¢œ;#Ä)Kø4RdbÆòi°­“j]û3FÏÁÌv!?ÜØŠ·üð¢–ZV¨=5#U22RQ[›‚É &Ú©Û/žÕkT‘WR§g{ÐW :]}?6ÃÑøJË=CêßÏ·#÷¡.À'Ò³sð-\ÄÙºJ”UY~ÑÞkr&ÎÇÄœÀ󮯚 ÚZ»L­Ä_ß-…X¶U»ß’ü‹¡_8#â Ã+IëÁZmß`ÁÖ!íPüõ€xïJص&IÈôÜ‹ž.áðÞ]К# dAbˆ!Ó WÚßÈ,š> ¥ÑsßÓùòÔŒiï=YÆÊÞ¢šŸ8\¦¾óAù8†ÙJFf¶¾gO L»§ü¹ÄjF.vßÑÂ>å³A_cI©è‰Zt:“‡ùëˆý¯Mõ Y0|ò\”ø*(ÿå~)’>ÚÏë47H€H€H€H€B ðMl'tí# )!¿ÃÕ—&6Š:Þû×A1ÜL­Åq×…wQ¢%äÊ[ÈóÂpïZH­Œ–ïzÝNtX¼ÞkÂt®Wß ì}¢¾¸âh*ù|§Eù8ºRRS] ¦þú0^ *5øÀÃweJ¨[,li#{¬ìx¸˜¥©Â°„yVB€Ø<ðtqÙìb[_aÎÿó^4·Þí¶Nkë|…l¾\œMQ ’Ø­{¸„7þ{ž<ì4QeZå{ÿÉýÙXtoÐ(__T‹h£{áã ›F—o[©yŸšg´÷TæÏŸ€!›äZüó¤œIâÅ>XËÈØÕ¾t—f+qŒ. s(šº6cÿ¦_aÍö@x‹Ð¦cRa§„ŠO­‡Ë å=n/!¾òuQkŠÄ}βy ÛK ½]ƒÕ“ŸÃÁ Áa/šk÷ãWs×(“#A—ù¤Ÿ"¡Qô8î Ø½öÿźU wÊ#{l%Þ™çuáu‰„š n!©E4UÂ`äKŒþ”"ô©±ÓmçÌ‚üïáË‹¦ÅW_™¶Â&‰wï_gX³.Ô®ƒß>o=ÄÖúr¬œ§>)ª™p™`›p1Ó…o3•¼‡k#Y¤óF­Ÿ æFšÚÇ)ŸàÉIoæaþß›Q³‰Áfc2Îi]eQi›µö:FÕÿÚLߨÁÚgŸC‰5£•Œ)ËÇ0¦Ú`p“H€H€H€¾¡(¼»ÜðÊ¡]$¶ø3αÅwý÷.Œ9ìó:}øžx)Ïïim·§ù4f,9ˆ—ýÇœÓ5aïÛ‡1gWm 6º™Gb=6ÝøÒm^䊈|ñ <³ìKœþ·ñüèÖ‹´ÚCyôÐ8?ÒBãH¹êNâß7U`‰æQk˜ôpÿ[±ô±^Øó’Ä >á÷€×Cßøm¿pª /žó°½ýÄ“‰)½ê‘½þ¸ÿh81¸ÅÅaæž/ŸØ­+~þ@?gˆòtŠ„•:&a¥®{“»u™U}ts·Táu¥ }VyztÃôá·Ã“æ|¿ûRÅÈÈwqÿ߀m…Ó±Ùïzš>rf2=’UÓªK°îåÿÂÁ*K…$HNÇÈGÇbxn? ïÀ©à-ñŒ”2MÇÝpÆõ¥$\‹?ì‚xÒI,èØ £¯k}e þk}ˆºJø•œábÔ£¹¶ÐÁµ4Ž(ñÉ%dD‘„ŒˆÆþXËWÀd`FÑLô‹¦@Í|CP_µh>È;ã,:Õ£dËð_[K=®“ÓsðèØÑȵ…ÜЊó†àøÿ~»N]+5ÃÑãÆ`°=†?ƒJ‰¾ØŒ.μCñžÖÖ'Û_ñjÏèû—r$–úúªÝˆÒmñÊæ]JÈ﹤tŒþédäu9€üç6Z˜í÷˜[}ÄÈ<¾z9}翤ïtì;éÙ#1ö‰áè—â܉]iÃŒhú€<Á²RžÀ1Ú3FÈÓNaG°Ë: à+IY6ÜÕúF3JÖÎÆZs¹ç—ËÞâ¹Ì n‘ À7–…÷k¦é›pâÔ9Ô_ô Ú:t@ùÁf÷$¿œU½pö>ýò¢øÝÊëútïÚ7µ»®Å&œ®;ƒãõ_#Ñ[‘ôL»ÄÉò°L|oOƒ?¿ÎxwÖèÚùRÒ5¡Vø|qñ:tîð5Î7& ¥ë 1ÙÔâJÄ|A[°YúUÍW¨o¥;ßxºuºR½*Z-µ¹-p®›[÷‘ó麯p²þ"p·SZ|?¶MFÁÔZ÷Hc}-N|qÖ_H:uíŠn¯M)¢±¾§¾8ƒ„N2EtA&:¥3³.⿲å7¢¶úÎ6É-“$UOAJggÔWåFÔ՜™ Ò':5 ®$$§¦ sûèiÕ×Öà‹/¥o%$xËLNMmÑõ.¢¿,YÅW_iá}ö‚4¼’:uEj·Ë×7í€â«‡äÔ,u9%}Í?§—Ô ]S»¡Cô]ÇnNÛØ–XìÕ'¾o]ò’I]»#-EÆIð EÀ7ÃìdŽƒiÃB‡Ÿª¯­ÆÉ/›Œ[B²I@×î=Òj`ÜéSÍòQåýŒH~Ù)))hÁ0 ¶_è òü`ü¦à‹H€H€H€H 6ÞcãÆ«Z‘@Õ•8Ú­òÒB ¼XóÂnüâK¿ÓpLBú„ò nES™5 |³ 4VcGq-î18¤W´¾xj^þr {DA÷›ÝqX{   ¸ö Px¿öÛøªªaíQ‰ïþjØœˆ¢'îÄø¾Á±XïÃC{L¯SYt0;›¶Åg¿ªjLcI€H€H€Hàj%ˆ¿Ÿ”9󦀬©ª¾êJ±tö*Ûš›}‰¬Ãà¸0z)÷H€H€H€H€Hàj&@áýjn½kÎöKx~é.,´Å£öôMÃô;»#ýÆœù¼¿ßy /šžîÞú;/¬zÍ¡a…H€H€H€H Ð=ÙTäÉÚ9™iHj:‹#ûv`ýv5î{êð|,ã‹}ÞÆªCsH€H€H€H€HÀUÞ]ÅÉÌâ%p¶æoýŸÇ‚Š ‘ñÜ1÷`êíÁ^ñ!’ó0 €k°sõsXÐa5T§2R‡£pÁ˜`¯x§´ÁgŸŸÏ}"i}210; ݸ–êel E$@$@$@$ÐPxo ­@H€H€H€H€H€H€H€H€H€H€®Þ¯™¦dEH€H€H€H€H€H€H€H€H€H€Ú ïm¡h À5C€Âû5Ó”¬ @[ @á½-´m          ¸fPx¿fš’!         h (¼·…V  $@$@$@$@$@$@$@$@$@$@×  ï×LS²"$@$@$@$@$@$@$@$@$@$@m…÷¶Ð ´®fTì|¥õ—xéºz¹½;_KXè7“@s}Þ|«—!=÷?’‹”ë¿™,Xk o&æºrüïŸËcLìŽF䀟Äß̾p-ÕšýúZjͶS—¦³_`㻵¸˜p=‘„Ç¾× Ýø½±í4-! p$@áÝKìëkPuòZ’GÐ齺ßZÂÍ9m}õ~¼¾³L~À&cȃ •j—õÚ(ë}ÙlÒ„÷¤ÔL ìÑ5.ž=²ýRØÎeŽƒiÃzYGøÃÜBÁ h5m÷³êò}^·\2æ8èDfá÷îIök7šÄ½öeMÄïÍmì{(…÷P-Éã$@$@m™…w—[GÞ%ÌI‘„9 °àr¡ÌN#Јښ:4%tDZ·ÖóvVÚ:y8–/s•…´¹Š„wMðÍË_‚qœÛ¶±¾uçšÐ1% ¯ö›¯õÖn‚ÖÙÕì>£HBù„€ÜX‹_Äú]vÿøT‰ã¾ÀŠãÎæ­ÓLÌ•ìÚögÕåù¼¶óhkÛÛZ‹|Óíqçžd¿v«¹Óᬠû½YûÞîûw¸2Ü:GáÝ-’̇H€Hàr ðî2mýîcåA— fv—@å–B,6]ë¯ÊI–«Hxo®@á”eVˆ“°‚ïeï ­X`[«w ?ÀÊ7ʺñ=}ä ÌÕÏ ?Ì[±ï0kð¸ú?«®í¦ä8xm·ï7µvì××HË·±ï¡Þ¯‘~Åj À7Œ…w—\Þãö‚n¬Cùû%xÿƒ#ø¬î¬?¤C;¤÷¿÷Ýz;,XhV©¡¦ûŽ|åA~)©†îòÀÖw>”|’€v}ñäÔqèÂaÕÌG¯¯)Ǿ÷>@Ee5ÎJŒ‰‹/¢]§oáöïŠMž,„ŠìaÙƒKHê‘…ÁýRÐ\W‰?¿YŒG?³ÂUtúVä=ø²zÅ6eQSZ‚#uMH”rnì3H˧å»÷ᔜť$d Œ4¢²dŠ÷ÀgF…ŒW»Nèwš¥LœÔW—âÀ±¯pƒ,äsèÿ¬C‰M#£Ÿz@Òž—RSqwî¿÷»½< ýî\¤_(Ç^ÝŠOH+H3ô½ÿŸ0.7ÍW®í]u9Jö½#Ç>Î>»Ú¥¤ãîœûpÏàÞÑ=I!^Ç»·¿Ý¥U¾)}qϰ‘Ó/YWfqÕz”î>éAW=·Ýƒ´ _ÖVìGÙ‰ ^æIéÒ¶½Sl5±o6£¦ü}¼ûþ~«ª³úsJúíȹï>í:_ùu¸‰õ‡°ns‰•Qªg4þþ6¡}þRn»Y¦a ÕÂ욌敖”«¶Ÿ•#VÆ­Û—c¨·V±Xë¥e¼ƒðŽæJYwa±µî‚}ß–þ0µ^­Õ^u2”Èxr¨Zú²Ü£„Xéÿ÷ ª;Á(ã9Ò(ãæžwÞÁ_?ªòŽÁF^Ö|ŒÁŽcú•¾ŸCÕ¸%cBˆ<äs²T>'÷½wu2†{GËv)Ⱥû> •ϤÎׇ¸Î:,Ÿû÷à’¿¢J>g}¯v0Æ¥ûd\Ê 9žY ¶6 \y«e6¶ü³Jµ Ö{M– µ}ÆFþÌ ÿy­ÛßýÖúm¤Úkß«-ß7ÞÜ*ÛwŒ¾w܃ÌArÕLY‘i‘é–;ægŠï{Ï ùÞÓ¹YŽíz ïì;Œ:ß ƒN)ßÂwÁ½9ýlOï5£º|/v¿ûd˜CJ§‹øDÞo“ï Cð Wä›Ë‹!öþ xyÛÏÞýßåûTIñŸð—ýG­ïSƸ;Èó îÜ+DHC{>‘ï‡@m3k®Ãþ]¥¸h|g“Ï¢¬!²¨y¨Á¯Y¾÷îEU(‰íß•[rOºÖ¯cÃceÛ²±ÔÞ&-Ú¾ìíc½¿7›cF ¾G€söÔIÿM~/âk´ëö-äÝÚ'>ù¯•|†÷¾0:¢‘Áuè÷í›1þÞo£o§ësl‘ð~ñ<|x;*¾ÄÑú&ùtò•‘õíTü}Î-蟜àX†qÐnoÇn©ðÜzšÎœÆwWã­OÏûón'îé!iŽ_¼ÔüÅž½bÏ›euøôü×¾<Ûáû™=ðƒ»ã¦P·«šK„½¯Qu´ÛÊNáÀÉ‹V{võ„§g+ÑÆÃ­FÚù¸¯;¦}KÊkÓrlã{'ðŽØc¼:$& o<ôÝžÈJõ6¼÷xÓÙ3ØqàSl?vNÖNž_ç:â‘»zááÛ“ºµ¼—ó ´iÞ]n÷„÷fTìXUwyÅœPff Ÿˆ©crEX%®«ˆÁÙ8øñ[VjØÛ ç͆ ¼²bvUòR¨W2†Ozc ÉŠ=©y˜8ìÖ®ß*#d Ÿ„ÓÒøì ØðìtûMLòLÁŠ Y2ôX…OMDâ¶µ(¶ô@RßV&-ü îæû6¤ÔAOjíÛÊÕÊKÍÌFcÙAØ[!9/‹ÇÙ¬ÎÿsR&LEN˜/zuåÛ° hsÈþ“žãA»vác?+» ê­Šf{¨¸ê†Ð–¹ŸKCånüGÑ:«< —m#)c8fLã› ÒÊ·%S6ímÜP¾Ó‹Šýçmí \!;q2VúÛ}9†z[Õ‹³^V>¡6bÞ¥l™'ë.˜÷˜<²\Bps8Q ïqÖËõöj¨Ä†E(3¦zÆcæ„¡ÊÄ](¬Q—ò;ׯÖÂ÷èW'Á3~ &ÈbÏÊKëW—ý~VŒñí´xLpÈ£r÷­+9ΉԅñÿŒ¡½'rë*v`õ²ÖÓ4E )݃)ÿ<ýœ²ˆ§Mœ s8‹JŸwÈÓwÈaŒŒó^ƒÖÏÂæE÷Ùxï·ËÐF!£ÛV.Ææ2û§¾=u:<`—’+!…÷X9hmâ=ŸmÞŠíf(ÛbÃL h*ÅÊy«Pæ+Ÿç©9˜X·CÉÆØ‰·?y\‰öS˜%‹cEv¯Û,N!^éy˜_0iºp¦ä„¿üyÇÊL/kø ,£}˜æ7ìGÁô5ÖwÑT+m”÷¤‹ý:æ1\¯o߯cKMd-~×í³;äg{ÄS/ÇïÍ(•þ±Êê{Ù¿‡Jc?ðú.ûAj³fì\9ëÍ™’$ WLúm`0«Ý½s×ôãK–…èËBôÆ®z¿8Þ“"º»Õ¯ãÃ[È6Ö±Ô)†·ËÓñÖËñ{XÔ»ö=4 ¥Ò7÷bØ{¡X§K2â.,¤ŠïÑï{¥¬QÑ–Õ­'>üq?ïo<» 1Ù;2‹v´gãÝ.-Þ‡a{̧é‚N+~ùD.&õÕ¾0))œw.¯DúËŸ8Ÿ :Ú;f܉,M|¿RÜ‚Ì u K:Ž=ÓBçq hÃ(¼»Ü8Š —* n.hù‚›õâµ;ËòÚõ˜=r"z’.àÓCïà7k·*žI9“°bâ`¥6Š-Þù|ŸÛRF¶}äÑ®†K7ã¡ ƒß™[¹VÝiĶÂ|l¶Í$eäáéqßGßT×Ï»›_ÆÆ[dcþêɰû½;Û“ŠáãÇâÞÌ[ä¹¾Oñ—×^A±Ý+_~8,”ÑKï~4h_Ô /ƒJjöpŒ}è^Ü’ |Zú¼²¾Xá›3©KPšúT¼à óá‰›é –‰Iá&Èã’ò• ½w7ßcÇ!ÊCr‡Ò?mÀúb;LÌY5Í&ŠI=¥-Íe:ŒŒ2ý»'Ëw[×Ëçµ}2!c#̶1KÎGŠq¶§,µ|Âßñ3«/•̧߫þ€±óWaX~#v,ÍÇFsx´=…ðîV¿Ž{ oÛØÇRû<Ší®ˆj³õÛ#þz9‹å{hx$ŽBv—®Ø4ª7¾Ó%u'?ÇZ™Hñœ=ŸöØ25ClJk$áýôÑ2ÜþêI{&øÉ=·á§w§J(Ô&TVÇ¿l=Žl)zõï÷³ÿbT{°7_Ë_{üò¾ÑW~û6Ôã;*°ð„ͽ<±μ=ly_8^!‚øqÛ‘ë0÷þx\Âe&6_Äž½GðôA»(ßïκ}[Òñd<š³d?^´•20=M¼ù¿Þ7^'lOá×ÿ£²í•ž½?ìeyè·7ŸA{tÃÏ-¸ýæ$Ôþ9^jç€áÓîÉÀøïÞ,O‹^Äþ¿Ó{¾ œ”­žŠÇSöà‹H€®.Þ]n/EKÎÃÂÂqHijôʱ¡ŠJhßÞöƒ¥kŸ‹SÏñdôŒBŒè§¨‡ò_•âuøÉ&"Ká äz=V|%)¶‡$$Æœ9-é®?:žœ3…sl6ûÊ+Ý0«¬˜-† \(4oNö,œ?Nþ5 ‘3eùdiÕ÷•èô?Ây틺‘ƒgÒBL¬JûÍ5;1ã¹õ–ÐF®S~|(?\lv9•7QÍÎ âjKÖbîÚëâ¤Ì±(œ6ÌkÕwªbÛJ,Ûlkùì‰X19Ǻ®zÇR,²~Q‰ÈóLÌÕÂ5bçêyXoS»[Kx¯Ü¶‹7›¿ðDÜ™™£l¡u¼–‹°°t66›qo M(-î´cô{Bòqþa¡[Œ/O_»£¬·[õ ±¥õçГ1ë÷¿2kvTšÌñs0m¨¯ÿ_míU¿ÿÌZ•*“óe!0ÊmVµ3Æpñ‚\¸Â÷ÄL€JË·Ê7ÍC‘å:ëä} Ôì\çÖÄ3LN Cï+ê¶ ?†ºq?ÇŸG6ÌF±5™Š‰ ç#Çœdðã­Ù½Ï­ Œ©ÙOÉT¹þ±¾¡ó¦Y¡#2dÑß™þE­Ö1&¤-šŸÇšiÜmbbÜ£ù¬rm Ñú™Q¾'Äg^$‘Ïû­ÕÛȨ ÓKÖ¶X*k[>ù’1~Î ÕÕi¬Þ‰‚EïòE-(ÔLÜ‚ÚÄJFû^U_¾Iœ>Ô'åRódŒ§qA“4Áã‘[ý銵_³$Œ-(Ä0ͳ¿¡bf/³‡ôÓXåú~p…™¶¦Š}1s«›jãJöSóe\4EÇð㿱f‹;ýÚ…1¼l¡Õ9–ñÞâ×’Önêé{X´ßC#aQ…l 7“~+vþ°·æ½Üˆõ¿Ûƒü*Cäö½¾'/åÝdî"¼ð~¿\Z‚•–~ŠÆçbü­8âÞŒÎ+>ÀËV®×áåŸ ÅCâœd¾t{p3'e¢‡ò…ïklùÝÛxÚ²W& ž•‰+Êy<¿rZ“ í±á§÷ /EŽ«|€»¶}aŸŒÏùAÁžóVmãðÛûð½]ñþñ{îÀ yêïZcå«õ/íFþ “m"6ü̃þh<†Ï(’É<¢;WÊd†9Ñ™‰ñšïíÿáw›(¶:ì¸`£‘«b§ãg•ÚæñŒú˜ú3Ö°L-WíkîÜoJÝc¹o 3cxé"jè>ªO˜éã  ´~”#!ü&:†ð«— ­YÊ„V(ÇÕ“WwPÛ5žþt¥ÚOïÇáÚOwvPøjìCßî1ÛÿJLvû¿¼j“…FW®Û¿³×˜’áÛN½'3§&@IDAT%Dæ Ž‹:¬öëÖÃC³•JkíËxÃ0ཤ5ÛÃz…ÿÌ.Ô÷ïH|!;±«x†T<íë›Oã™%ñšy@ó"'¼«ç€ÇïŒéfžòÞtª=~û‰udàýñÖ(sJ÷xï ž÷CÏ{ó³" ÷±„a»˜-OT?*Þî§ÁC ê—DˆÞ¢»¤IH•þÚ¤„Y¢þ®‰ûᮕ'Ëxþˆåí?wL.¦ÞÞ^›Ìp‘[˜v>ûQúl <™àɾ›Ö' Œº6ÊäÅnkò"t: ÷I€H m ðîr{(?¢ÌÛþ%¦\¼Æ‹,¯ñtäÍÆ€`-ÀŸ³öƒLûA­ØÊ#;J£J¦yçÚëe\µ="àÏÿ”¿P=Ÿð¶¨?^ô Á_R=§2~yzaÉâqÊB‰J}4ö–A_öC”'q½çÉBFfÓe¦Ù¡Å’ÌõGtóDØó  š÷‹£·“e\ËX…n‡0ùH¼Òy³Þ¬—êYeâß0¼ÞŸÃ¶Zٕߌ# æc„é]¦q eKØn1ó”¶woÅÕ—¥ hêíb½ü úM³Çg’ä´*Õ… ÖÓ"öÌôö¿ªÚK á”=^¼§‡:ýH0j\¥2©ez»º!¼«Ÿ @ÞSøAnoÕÛÞ(º¹Y~¦ MÀõím®YZÛ…º‡ÂŠ¡nÜÏ.ä¡xp;„530˜¯yè9ó »ð®•Å þùèí[e^o¼776û€ÊTÇõ6¤q·‰½§ml4²UÆ+§Ï*7Ç­Ÿ Ÿâ3Ï[ß0Ÿ.Ýo­ÞFNí&ÇTOítY`¶¶>@àÂÆ ›´l«ÿ€*Pê¡ãbwô6 9¨‡ .ñrÝWªýôÏÞ°c¸Ü§…òôŒ)¯)OHêìCÝ.Þƒª¨„ñó—a¨nF{ª4(LP˜{ÒÅ~íÊ-[ãÎri,õߤ-zkÍöp£^aïe£¦çÐßÂcQ„÷pâ°d£¤•Ï]»¹*®·Çâa>Èïa~àõݲ€«ñ ÈxuÀ3†`ÇÜwÎøß„õ¿yùÆoãÕQÄîi±[±¡KOÂû9 ágk0æùÃ0Ÿ…œ+1Ú§úc´.Þ‹ïíiðå.xï_Érïίªw÷á®?û½Ö#ðQr8{RÊ/³ÊwŠ‹Hox½ïÅRc^î0óÉ!ß3­Ç-ôÂ…™”øOsÔ~ù„GbÛkO&x ¿„—dRâç~ïx ïÖä ÀÕE€Â»Ëí¥üÀ5òUÊI—2‹½ Uà‡©î7RbÄ 5b^k¼+ì'‰wó2‰«îäçôcÛžQÔÛÍøÿÙ;ð*ª3ÿ0 M,©ø'‹¬‹©4‹".ËJq)Ëqi‹tS +,y ¿wrïü9çÎÌ{ï„Ü ß<Ê?gÞóžÏ{Ι™wÎyOýþ7ðê®ÝxëÑ$úg›ž·ÓÇpè˜=ºU8SØøé“ÒCžÿKC"оN‡M”•rÞ«<Ë¢>øÊY¯—3ÓNÚtß!“dªð©¡½¼Yyó:å7,VÞrÔ‘¿ú  ¢ŒÿNRUFhŒEÓ@¶7JPoϸ>ÌryêažÐô1ÇÿÍÁ¨Òïa¼bIÕ=½íÕrX^lÏ0B~1& Ï‘µ2bKߥK3vnÜf}pŠ÷!-VBìµ-EÏgç£èö¸eð5¸òÊ>Èíæð ë"4Ûéý³¼cÛ³ZŽdúÃ9X!ñ‰í{Mјq²ˆ«!ÐüÞNl³R;?fKy¹±6Ì„ò«–%z"›8d¹o¦®£!7^¥¶Ãî?Ff뙑ػ®…ÕÞ:ÞFF9bÿ‡±×óAô2•¿Ú†Â!›ìßT) G!>zû鬞K­>u–ýRªÇ£Ê±p|4œ^@öa2“qéJÈJe†öA«¸ìLV¦Âz·I£º†S¯Cêò4³púÒh“Mð§ãìѾ¾Oª÷±ý2Ëx©bJíÚ šgo4Š#[srëW~o Ö™áEÄ>CèQ纷ã]5îã,f¨„hé"ŽñÇxô1*°¾gpÿÒ=x&*Óv¼·â7O¼€ïZ¡]€o-™Ìf¨G©³.BSýQ,z'èGûZuÄýEøé·¾Š± Å@ï,nÇ…Û›.Üì²E¶èx׉pŸH 3 Ðñ²ÝôÜGªÆ+£¤ý³Óxï¶ÈS¹ãÉ9-X×Å5Ї\·Ãõ»¶àñµqÈöw¸%³ŽéŽÀú¤ô§1,‘ ‰Ñ C³dÇÓ7ÞùvóS_ºÄ9´Lf:t³Pºl¨å4GX©/©9²¸b¥½¸bŒUF¼Ùº=mqÞrbÊå;ƒÃ–³•Gõ"F—$º²½‘0 ÞFR׿ׇY.Wœ5}œ§Ü¶³óâö‰¯Ét_ÇrVRU÷ô¶—ª«U„@1m+ÐU±‰n]…ª§íîzŠœüB”üõݸ½hPì[ÍvÕžUŽNG¸^¯}íµW2×ãZXY+eÕœ¥v ÷˜krPX\‚»ïºƒòÜ;ä”l“ŸËtŒ×_ÅØ$…¾1±>/è½Ã…‹Ï!½½u¸btQëh¶¬Ã²TÖañú,¦ò÷ëc2ò=`qÜöƒßÛ‚ëœüóŒY¸so?É9fú$eæ€rTž©3S? ” Rfl«}4ÕÊ:%+ͱ¹%tÖ,+tV„·w›4Êé Ý•|½Vå˜vöëèòµä†Ð—Z²Üè{D•H±\jÝSûŸöåìÁ&°#[®?ýž,HºÎ\Tâ¯?ðUÜýíçxWFFß,¡Kîôš•QRuð«#ëëëéx×Ú\Ü«º¸§‰UyÄåï&Islw:7]GM?Ï4úuÜ' ô"@Ç{ÈöP^p]FIûg§>𢰫´Ít»ÖïIÑÅgä’›\ýØá­+dÁN3έ}6;'}ó¢ã›ÞÇóuÄ» ¿@|>°ªv„,”»JY(×&nn©uÅ|ÁVïÙ˜ºl9†ºû‹D» 3‡à/žÞrÔr¹<Ð[™ÅÙHŠ£šŸªKòŒ MÙÞHPo#©ë_€ëÃ,—«΃š>í ¹'Z$¬‰ó¯MÂ|N¾Ø—Ù º­êžÞöRuu)ŒÏ¡ìâ2,Ÿ<Ø'EðSM‡wá¿ÖoÄŽf'·k Pº Eæô'#‰f»Ô諾ܴp;¦rLF†Ú߸åá},Gë®Òën®-ÿ…wX3Ü®/()EÅDwçiÒ6qËÈõXj:Æë¯T›¤Ö7¯gFAU[š÷±ö3Ê(LW(žÝÚ[ÇÛÈ©ŽêXÌ.’ö_êÝþUþj›PÏ9óˆ¿mqÜöƒßÛT½üuNöyÆYÂsk?É9f’[+Ëñ´5Áš0 •gŠmÐ×°3æ­†|³gí\5k£«EgËÚE˵µ‹üÚdŒã=éz­¶{§ão;úð€lU™©õ¥ª¬ö:ÄÎü“/—Z÷Ô¶ÜžCRœºE¶;²%¹†ÄŒEnHRÍÎP3ªƒ×àØ7¯Œdîñ¯·,-Üß}Ç»óC€‡ ‡»HxbÇ"­Éä°_¼¯ržI7nNÝŒmU?†šÑùpŸH SÐñ²¥â½àúg§¾¬é‹¥º]«.tä "‰SÓÅ‘›65ÕX qLé}ñå«ÑÓC8‘ï.Žl+Ç”òÔzç‹|»üdÇãï|"ù©ó|L•…p‡ú.„«N]5G¼ îΔw#“²1nnF÷óZ$ ,VÞrôr•/[g$¿U Ô€vó{ÐuI–±¡X Û êm$uý p}˜årÕÁy0F¯ÅUyog’½TÎ@ñ¤2 ë“…Ví£CLiå|+¯F¿\¯vsE mÍ8ôμµÿmìÙýªòÑ3"@ú‘ÊjN5ˆ±]â‹«ª \^Ðhžº õ>‰œb”M†¬Óñ !ÊeõÀÕƒú¹,Jk(. ×·ßÂÛu{ðêî1ëä—L•TC=K™°M<%yHNÇxý•n“TúÆÄú¼ ÷ŽðÚ[ÇÛȰ] ¶¯¨Àº½Ñé' zÖHz'îLå#ƒÚ®TÛ$É!pÛ~o ®sòÏ3n­àÜØÏ0¡Äm/·ã¶{¨4´ô®ÇAå¨vƒ™ÚOŒ™‹9c¡¬=2FBޤÌð)KhõZÕ-é>= Ž2¬¯ã]Y0µ{6ï®-.¡fl•"[ŸëŠë¯Êñ Uk^¢†šq~ˆ0SÄûM7nº¾t¼ëD¸O$™èxÙnñ^pãe§,è™]ŒG–Oö USûTVî0VI1þ$ÆûÊðc¼7Õ®—©©Û"YÈ¿ãæV»;sã<œfGŽ¥ˆë†ßKƒ\€ìxúÆ;ß®^Ðü´‹§JÜM?Ï»,ÚY! К–/”ï1Þµ$Åe•¿Ó˜`ìö+9Z¹âÆ®wSÓ8£ï „¦KÒŒE@¶O@o#©ë_r‡X.WœƒèãLg;£ì¥q5³ã…ëLƒË÷tsC6=öclsÄ+S!Ζþ‘ëÛ®ƒÛs G¿Å7Ý‹¬Ü'eqãjY %tK´5£nÇüx݇^B3TKh†€™Åµ‰{ñ‚ ¨cÜþJ³I*}cо:RÈDêZÇ´·Ž²‘ÊÜõáfÜDúÁ¤úÀm?ø½-SªOnÀÇ:Ê~‰ÕãF¬¯˜ƒmÑ2eÀGPöa¶Á(Ÿúí+ððºèLUé'çÞ,¶ñ-¢U¥²6†þçÓ&%iXõ:”><([½ˆnûûR·Kƒë{ÄÍ;@¹|Û²‘AHœ;²%ËÞÚƒk7˜«žªqÝ)ï\\õeY\u¬¹¸j—<¼5ë\îéåM;0v¹>ŒÄxŸfŒw@ÑGh=$ ´ú­û棪÷)mqÕL’EJ¯r[¤Ô[„¢gpS5¥ã]åÁ= L%@Ç{È–SJG!ѸêÊõr{ž°`)F:Ã(úÆŠi‹a€8 +g°âˆ*²üF˜+2cwê6ÌGõsѰ~räál¾Œ2 è#„ë“ÒCžÿKC"ñôUÎ{… Z Å–Ú¶Ô­R/¡v„þ™° Zê‰xƒ4Ç; §H¸¢áúåÑ}uŽò²h¤Ðt÷vš·`ÓürlŽ^‘£•+¿¤LFŒzM¹ÛUÎÁÖRy]±£ûGGciºèuË, ï „¦KÒŒ%3ÅöqÚDðQsf)¿AÊb¹9»oÑÇýJ×£e/³Çwù4¯¶åZÜä6ÖbÕªM8Ùµ+Μé¯o®wSUÓ†^o‹ÎºØiíYã˜LŸ°_îIKÍ{’Ü'§,Zê³–…;öºM«ðÛÚ“¢è1øë˜6Ö±ˆã’q^Í3W2ÛËZG% ›8òqÛLYǨP¥¿r»Wi6I¥oÔï^}uD5Ÿûµ¦SRííØÈÍnÆ1%¦³ÔÑIRGGä¹GyO¤LŠƒ°t¶}?›(uÅçÞ–ˆÎI×§N´Ÿ^½ûK™+# o—9ÞV3 È^«ïI3sVÈæZÌh¥õLî<•﹆”O› ±^‡Ñ‡ë6ò«×aõ¥N† ow€=Â(—o[6 ™@ÿáÇDq¼‹ú]qB÷p½à3Y”t»,Jjžì†­3‡ap×ȾŸã]ÉáQYhô^Ï…FO`æ¿î“f6}®Æ‘û¿ˆ¬è¾"+©P3F¸šùª¹`ª«ÞÌ6å_q?^w5Wn(Rˆ w_á!VœØ?Ù‰Ír/:̺o&õí"z¾,z6G¯é|nªòt¼«<¸G$©èxÙrA_Z<³m¬AÅœ5ÖHfŒÃ²9£cÊû·,ÁÒ,QCJaZ‘=~%e]¢’Ç;¼ëyj>Öì0Ýî€þXŸ”òü_y€Œ§¯z¾ÈâU1¾°ʲkMVטcØ÷iÀbq®/)_ ÛòêÈ¥‰á¹&ÃÆÇ 73Ò%ÜŒ:µYé Ñ6ˇ”‡ì)ž2}?_Fß›–WåhSî Ç•„ÑJŠup Ê«6ZõYyÑÕ^JKÊ$L†‹x/a1Vmïó-û[wn,wXårfíºjy4¡™e/½.û´Q)gÓþMX¼ò-L¬˜Ž¡ÆG±þtÇNá™á2Rf¸Äü5Šã}Ž»ã=mÚ³Î1ñ>¡E]åG ÆÈ}r¬ë}R,-KcÏÕ1}üÐèÈx‰É¼Db2[h!æ®zýbxÊÕ5+0{ùyÛv¼‡b—üìC©ëhÊRû+÷{Uh}HB}„ßýZ¯'‰··Ž·‘IØå·QblÏ1clËX>¦WÉÇôØž I¬œ ë;’Ü#Õl©só¹Ç,é¹è»;Õ~Z=Î/–0S“ÝÂLI;•°BO›a…ô,šý¹Øäiü†Ö-¡mؾ¤ ë¬~ÎðÃ;{KOô¯›~þ¾uÈ a#3¦Ç0—¯§ßOš‹QÖèø4㦖œŽw•÷H€2•ï![N}ÁõqÈyæÛ†«fZ‹ɲ ÇanÙh؃¥ÚP·e%ª7šÎ#UÈ´Q§+&u] ¹âx¨}JB͘ßÒå@Á(Ìqúu‹ŒÞji<ˆm¿zw›®×öË0ª\B\±,‡ëøa:’úoœ—†dÇÓWÑ–ƒÒÊ*éQ]ÈO] Ë(•Äh/Ÿ‹Ñ×ÛSÚë°ra5¬wÆ^oË1<ûÙÒÕŠ>ºœ–ƒ›Ä¡¾Ùý+ÄÔE`hží‚h:¸KªÖYÎ{@B:¬”æAm$NQ)ªJ‹LÖo܈ç‚cÆeÉ1ŽW7,…±¿u‘c#`¹Ãª;ŽœÝ7S-&5ÓìÕ&m«Li[Ù()‰‰EN—mîü5ªÖº…çj'p9Ìï¥ÊÈHº«Žd7ê혲 ŒììñÛ°ûXº®ÆºT 5“Fí9õ>Aw8H‘ÛïKãå¾dmMñëÿ¨’ð;ÑcŽXÛ ;WaÞZsn€8ÓÇÂù¤­i?žX²5Ö­m fJ¨™H„¡0lbëê¶•ºŽ©îU!õÁa†nþ÷ëÔÛ[ê6R?;íïf1ç1ië²àæF³îÉ©œ¢I¨¸ÌeÐ\-?YŽ{­›¬¤ÒïÆˆêûúí ÷¶sÓww¢ý4f†e ǔ᱃Oš°}ͬ³;1Ÿ|”ÐWV7¤Éñs¼wÄ}<æùÝ(ˆsñWc_ùóo“âí©^§Þ‡'Òפޗ&{ïVàÆ¾O§S°Gêåò_c¢]û Ï¡jQcöG¶q¶KOl*ý2†åšcÌ%ÄÌû„'ßµç’ÌrG%ú:ÞñžýÕó¸ïÓ ô+(À¦¿€>æû„¤yýù×q׎¦¨Dã§^ýþ2´ÌþSôMÒñ´Êèýç£÷E~^o¼øÍë0à;¯Ö“áÑ_îÆ"3ºNŸ«pèþþ–óýÈÞýøþö|"sÚKn½ÓoºÜ¾X¶N¿¿_êï;ŽõþŒbí·„­ý6ßÿ;û\×Î%ݸ9ŠoqÕ–zlzüqì8x9WŤoO„9YÚ)…Û$@$ÐÙèxÙA_Z|³•‘‰•2ÒØñ¾&ɳQXüôívû^ÞCÎ÷49;¦BIÒî4¡èb(êª<+æD¾ÇŸ8]@ÌHëøÓÂõIäEÅ‘_d3ÎKC²ã髾x¹gcàÀ|44äbÚÂi‘8À ägHP$Æ‘ZPˆ¯\×gíÃŽÝj­pŸ!£jVÌ´v‹ˆAŽÈé/>ó#ûö☋Ét‡¹q™ÒÆ8–¸œØI†œ‚!Eø‚„y8)nöjº¨tJ‹œNEÕ®ÆõÙùÑ è1b¦ŒÄ±VmëÀ0® ƒq¼ºaäÓþ— ýÍËìß`å6Ò‡Q.;_­”Ë£ÊÍD{í’™=«3{ÚK”3ÅCÅù~ê#¼ýæn­}bæ²YÃ.Nx'²§.¤=•S€¢¡ÐýìGøã«z¾öèlSPú´çú„F™i3Çžic–±`H1È;éG‡ßÆî–ǼýôÀq31kô hÒz¬™ñ0j´¾° °úvÇGïþ1æú •U商ML½ÝS×Ñ«¶3ãˆË½JŽ†Ò‡$ÔG¨ý›Û=(µö¤j#•]l›2hzýµÕo—ÅÎ×9Ö0Ræ pˆÜ¯NÁ^­~Fä¸ß·Râ€M‚ÞÛt.ê(ýHI¨Of?Y¤DÆ¿b¿¢¡èÛývo«q ˆ¤ˆ™©¨Éñu¼‹ˆ0˜E4‰þÛvKʪ3$eXø¹Ò:?;¯ˆß&C«×©öá ±Mµ/MþÞí¤‹Ðí‘j¹ôûƒ[ÿ£Ö £rŃcnÆ¿Ü( ˜éÆÍÔ+Žã½±f 欩±R皉…ãÍç<ë07H€H Ó Ðñ² ô—–GªÆÇ† ’gSVÌWG6{]V,NÊÉŠ“2’24]D\Síõþœ— ®ÇX¤K%²9È °>ò0­Lk,—°"î]òóp¬…[ð{ Н¯>ËTÇñrž@~æÕu[Vh³Ì3Úo~1,˜ ÷%Ûã¥oÖüôše×Íé!n Y4lžµh˜rÇŽ»œfì\óoXëæqý –#Ý™DY˜Êq™Ÿî °â1;Ò›©2Ž_7¢¦T—#2‚”;š[Êå2åxþ†P§ìÌ´Wvmø!V?3ßY´èv¦VV`¨=ÄUÖCxÈ}=—«õCu›– zs|eÔùx5ÜùñÊ–>íY^÷SîÚvá‡óV+N%™¹_0ª sÆkëKÈ}vÉìê@×ËpeÌ­,E?󆜺ML =~CÐQ>¡*±ÿíœ÷*³<©ÞºçŹ_·ë”J{‹*í£l¦êV£<;ÍIèÙ)Ö&‰)pH ßzo Ê%Õ{­QöN±Ÿ0sÆÅW­ê¾çÚç&Ô"rÃ`æÔP aã1;Óº H›”ˆ3!Õë”úðDÙ¦Ô—ªÎgçs§….àFèöH©\±Žw·çæDžC½0XŽlÿ­ú€Ý/鞇ËnÀíž«;Þ7Ͱ*ŽÑãíÂN6`æª=x2@>³Å=Ë逎jcékì‹ãý­¯s_¨U‹±>ïÃ1}€=£×¸¼µ±Ó¼¿1vâüÝ}s!ž¸Ó£ýü`É«Xa•¥ 6Í(Ž-³@}ö·¯à¾}ªß-»ï|mE5ßž.͸Et?‹ÕîÀ¿|Ù+rƒÄ°·gyë³>rŠe€ÄdíYÏ ‘ À9&@Ç{ÈÀŠc¤ÊtŒèSNΫ 5›~_lÞ­˜Š*2¾1 ƒrÕ¼™ÍA‰_eÇ4ð‰k^áÿÛÒP‹§{ ;´ÑÉÆUE0­´µK*$ždt¡¶ˆ[`}´in£ù½5m–i°YÓ»cB9ˆlg|ô˜ÑIÁÊÈ£ãP=k´cŠq$¡ñÒ°r±jÅU¶¬ ƒ¹Æ äçÈ͇k°öÉ_`÷!m8¦‘HF¹Ž¹gF £S†1%xצDZZêOÌ_þ”Mÿ{œ}v‰5zwà˜ Ì9®¦oÂÎõ«±v›‹Ã/;ãø.üéçÖzÞ‹v‰û§v ÿéF¸+`1ÆM¡ÎXŠ"Rž ?‡§3Ä’àØôU# #ª!,üÃ¤ÂøÜÔe³ðñËm¦4~S)—SŽë¶VŸ•8ü®øÌd{5¬Á/Öy´QéŠF݃±÷ w„3X¨/ïÇI›íÖæ¼¹5î߉¿Û‚×ѲÆLÿû‚B*=Ús¤Œ©õ † ã>ùk¹OÖ¸Þ's ŠpÏ„qîµ¥ÐmkDÍÿlÄo•Ñ«.Ýmþ6u›(Åî„ cÜ{•#×”ú­ð»ÇíÁ÷~íÐ)¹öf HÖFªƒYB I¨¡þî\vfÚVKý.<¾|5vk3dC$|ÉßßvK¬Ùþ÷­¤8$`“ Ï=†ÞjYûgÙ8" I¬¿”êSTÊ9·Ÿæx%aÿØŒ•nÏSÙ1©l*F r[¼&ø3§L6Â`fÊSlåñ,k¦M¤M†W¯“ìè×Vù’îKS¿w›:tˆ=’.—Ñ–á ½úŸÄžCͲ:G¶Ä:qL¬Ùø6ûØ c¦¿û†«±|ì]ÝjX•²ðê-Ö«æõ‘ßlÛ¶³^ú‡Õí{wè‹YwõÇà;Ô3Ù>‰»Þ/6û™ã¸é›Ö{·Ñó¶>o‰>Ç]õ¹1¯þùŽA¸ë*ý+ÂgØöÛ˜¸/êyï#qëïw[oäsè­w0oÓ!tf%FG¦˜ÆŠâ èDt¼w"üÀY·µ áØœŒ:²²{ W~¢!Ö‹ +aKSŽ?)‘ëä/+[tÉGÏ‹µ! ae–rÄ>‡Å>$KxtÏÉEnÏßÌ=Êi°>"¬#YèÑ«òzZÑC=®Ò·4¡þÈñv§T«èØã²^è-S;þ9‡»ËCªÊêÑ }zçZ3‘×ÔPãK¹²²Ú™å$P‡Ú„É¡v&YÈîѹ¹¹H¥ú…Â8‘Â'™6ÑrgJ¹Å‘nåjij”þð„´YÉê´tÒÝsŸÛÓ½]4×Ê‚Å+­ð%²ÆD/oU0m-Íhl<.÷…öžXºâï iÒžÍb¦Ò'Dd´ ±þNœ–~²G«˜"9ù¹ Ü›ÚÐÜØˆã§äÞ¹¹¡GŽô·¹ÁûÛ”mbÂðüMUÇÄîUéÖÖ , µ7Ž‰Ú¨ný|To;‘”“̺=¶‘:.}D–QÁ¤½öé-õÓ>ŸÈVªÉ+¬´aÔ§sf?ÍñnõÕmÍòAÓ™ˆ˜.]»âŠ^ÝÑ£Ó^[[åþŽŸ¹=»}†O[²Ûë\Þտ̧?=ÛþÞÝã7çt,¢?ÁQ£ÐY¡ËçŒ<ºÇÍC‘’vÜíÔñ“4·¶É±nè–ä=UÈ= Ÿïá3¥D  ˆ!pXf!-6g!É"ŠnSºc.â Î! Åcvήê…˜kBR±_Œã=‘‡ iÉÄ@€÷îÔäåxO]2% @ú ã=ýmD I€H€2@“ŒvŸmv/03s 3“é¨? dZí¾Òí¯ ™T¢ K×”ìGÇû…UYüJË{·ÀçèxŒŠ I€H€ÎCt¼Ÿ‡Fe‘H€H€Ò‹@[£,*qœjå” ²j"rÓKEjC$à P»a VFQ.)«ÄÄÁl±󋜴ýèxÏ|ã‡YÞ»S¦©8Þ/ëw¿{¬tÁ?  ¸0Ðñ~aØ™¥$    ˆG@Ó¬…°ODÓ—=‚Ƀ“X”>^>C×î¹Y˜ƒ¬$eñ2  È4t¼gšÅ¨/ @Z ã=­ÍCåH€H€H€H€H€H€H€H€H€H€2ï™f1êK$@$@$@$@$@$@$@$@$@$ÖèxOkóP9          L#@Ç{¦YŒú’ ¤5:ÞÓÚ°ÚvXrâkÌ$@$@$pþh=yO¿Ø€3YŸC ²ñõÛû!ïsçOùX   8 Ðñ²U[šêqèèide%"¸Ⱥ ýòéÏÏÍuëñPõ¶hásP¶¬ ƒ»%‚iI uM‡wá™í{åãO†ÝùW”›é-+u&©J«m‡%'Õòðz ÈMصå÷Øûçfä\= 5|PÆ?/aßÑ÷òŽ–¤Œ‰¤9ùÎ^\ý«£ÑKº`ÓŒb »$ LK$@$@$@$p® Ðñ2ñºõ¨Þv" ©ç‡“ºyÿ<´ô¹hùóQ¾l!®§ã=‰úÀK’'PUÓÆnS@þ,[8¬†&ä~ÃjÛaÉI®¼ŠH€2@ÃΘ·v¯¥ø¨™Ë0~Ðù~Wëè{yGË·ÌÚÆÉ÷öáêuõQyãÙÃqï¡ñ¥    èt¼‡Luÿ†J,}îPRéxO/édMkðû×Jd¡³@ÏÁø«; /P~m‡±¢l1,EN ©šÈG)Ö•°æaÉI±8¼œ:„@ >ªCr¦Ðó™Àá­+°øi뮆â²G0y°ÈK{}/$¿ 5[¶ã¨<✕ÿ¯ÿÚ_áúNœAGÇûùÜÊY6   ó•ï![Vu¼g£pÈuè 3]¯Ä¤ûÇf|¬F:Õûª Rd ¬{0%–¨m?*Ë–ZŽ÷Q3«%¶¾ËWĤ&šŽ÷¤ÑñB   è4t¼‡Œ^w¼§<¸¥u¯Õàµ7߯‡'q¦]ß®(¸îÜöµ[Ñ?×û ¹¾¯¼ýI{üí³ÙWcÄÐ>¨Ûþkl~á"'è:÷MŸˆ~Þ"\é4Ôíijÿw'Œhƒ®=0à†[qçEÈ9´ eUöthßÅUS(›ªXêë^Ë¯í»‡-F¹×¢è¶Û0´®š¼}¯ µ;_‡Ð‘¸Y¸æ–"ôöX§¬aÿ.ì=rÚH‰ì‚Áš¼ˆœF9‹³Ù¸iÄPôl“c;~^Ù‡ÆvD]Ñ#÷ øÒÐaøJÑ Çˆð6®{;_|‡Ügðžü^#¶qG1úõüœ‹ÞÚ!aX+õã•W÷ QìÉ.ƒo¹ #ŠÃ]D3êv¾‚cQ‹Î¹hÁÁšØöÒëøÐa×ën)Á#DŽ#ۦõxýÝOp‰,èµç¿×¢æ˜y²ã¦Ü!i?Rù¸eøõ޲ši€¦ú:Ñ÷Mì?xFVgΜ‘*ô\ûe©Ó¢³6{ÉäW_[ƒ·[ÛmvéÕ7ap?g l]Œ­ÆÃu¨yå5¼ýO¤NwÍ-À-E·áÖ¡ý}f¬¤ÆQÕ"Ž–&Ô½ñ Þܳ_ê’ôíåèŠÜ×â¶á·IùÝÚ@lžaµí°äÄjèr$é~¤#ì'íh×Kx¡æ ;DþÄÒÝ&}Ñ`׾ȥLIji<ˆ—^xo¼u¨½]"¬vu«´+×~>œ~к×HËÏêsŠõDÃþü¿­/á#ÂAn7¢ ¾pÝM¸óޝyömaÉ1rsþ…ÓÆ‚[†£àt~ý«Íøã¹‹J¹|íÿàî~N©OtêšÈv[S=^{åEìúã»íý¿qm×¹Ò—Þ†ÛC×¼/ äª‹qä½ð›šñêq£àFº‹0苟Ǥ¯|z\¤IˆÊIdqÕ3Ÿâõ?ÁÖýã¦V4·‹¸ƒ¿˜¿.º×åd¹æatêÛ=/ÅW]‚Öáw;ã÷|•|¾W¾qk ë vˆ>/‹>ÿwo#>øô³ˆŒ.]ñ—…}ð7C¯Àåy=vœh¨oÀï÷Å«G>ÅŸÏ~Ö~¦[Ïîø«®Ä…—GnGŽôæ¦Uæ¬ÏpæâË0¶ðR¼.Ïñ«ßøXtåº\Šù“ 1@‹zèÃøÕK¢VÊùÆ×öÁß»}º¶`Ç+â” >#OÄ%7塇™!I€H€H€.t¼‡lêðïmØ¿uV>½§}t8ªÓǹ¾)ñ>Å:d` v0#UBóQ¶l!{8œc³mÄ–Uظ×)ÙJ^äŠ;ÌI¹ùpw¼§^63׿ƒ;ñŸÕkqÀRöÀQ˜9}¼ú!pÜÎf¬Ÿñ¶Eåg—aùäÁfö€.gÜ|¸q3Ø)´­Âd®o­ÅŠù+±×Gïâ)s1yx?íz{÷àÎõ¨^»Í§~`RÅ÷0¢¿ætÖužRŠ.[Ö`›å@·óˆl ÄÔEÿ„¡y‘·"µ^éiÍ}—Å‚›÷ã©å+±ãO¡‘ƒQSg`üÐÞ¦ $ž_›™’›DŸÿˆ£Oö@”VLG‘ÛKeŠM5Rý=¸ý)T­Ûá+&§pf<0nň\VÛKŽoq¢'SìGB¶_ãþ­Xµôikd¤[ ² ŠQö½É¿txâàÚ¾nÖYý®›èlO*ÃdYüXùÓ¸,ØIïߦœm4{È8Œí±OïðìPPRº‹ì6nê–SBnãù…Cвw·ïÙÈ'§¤ÿ€Ÿ¡z›×}ÑÔÆ¥O4O%üÛ„ëWcí6ï;ñµ£¤t¦pöº‡„Ü~:úÞ§×Õs_’m#æ!Áû­Y5šëÖã¡êmÑ]».9ÛŒ™6ö×H¿ïý[96[ÍÒ–›¾k¦ÍAu¢•«&‹»??Í^ù£fbáx­ÿ1Å5ï’8ê«­ve§õïwÚ/O¥ÿwªë󦻩¦þó<¨'pì¿þÌܵ[¾@È_¿˜sÉQ|wO‹#…º9oÌ͘~ã¥êAÙ 6âý3Ô¾¸ÿð‡Ž‘`¸÷ækðÃ;¯tuD;õÅeW`ýÍŸaâï싵­{o¾?º³7¼\ùû^ß‹on9ê£O7üô¾!Û7€_ËÛÚ=yK~¹4˜p댽ѥÖO¹ %ù±š*e–·ªïôù ‰Ø,"àblš1ÃdÐIäïžøù«øçC^ùuCõ×r°äõÑrw‘ë‹×›røK$@$@$p¾ ã=d ‡åx¯ÝP‰•Ï™ì8JŒA圱1/EŠ.®"ü^¼ô ±aþÎÖ˜ŠeÛ¿[Œ°ý›–`éf?§‹}É(‰I:Þ“4)‹°hU)òDlðý*û£N“ÄImÇIµµsß*'ÇÄÁïdâùű™‘eS­è³Ò×IêÔlTY%ÆÖÜ)rtÊOv»NBýT›¡~â ‘üÂjÛaɉWÈù”û‘í§.|OÿÒͲû¢xÉ}Ï«uÝ7©œ8®³F÷·“i ¼ã«ùèý`ü{¥¹5dÊL®:ßÃ’ÓžÇ9jã9ò1öº­®:Ó†±/¿dÛ’Ò۾ߚeó Ñ•ÈýñÊ}OaÎjû#íÒE˜VdÜÕÕ¿¶úí({xu°@ú9Î~Ã:ã·Ñ†í+fb9º [œ÷ËÝ÷ ;WaÞÚÝQa9²pl•,kìú÷;úy?mŒs±mÁC~`Ç{¹ Äp<ú(Pû_ÆÈW#cÎ}’)§¾3úf,¾Iu¾q¼¿,y šW^_üñۃڟ휙'¥ï˜",¾±»SLûví¶W0ò%sXÌiåÀ¾1S$á|?y÷ÿh/žQ¤yïü`ü­˜z­åAoO¿ÌNÇù)üèÑ,úØ;Ø3ãYqÜߤf›ŒGH€H€H€Î;t¼‡lRÅq/‹M.L|±É&Ù4ÛÙQpȘRÜ3âädÆ{^ÀOÖl¶F)²‹¦byéP¥4Š.ícZ"#)ÆÕù]Ð|öó¸ëoG":Y¹VßQb‡FO›Š»‹®BÖ©ãxsç3xz›î ˆu¼‡U6´ƪ²Å0_Õ •ŒQ½ßžð5\)ÓgO|°¿ûÉZìv BÌ.œ‚¥L­Ö^†Ã}©ÎAñ¸{qÛ—û‹½NbßóÏbísNMtó‹0eR ®»"§ŽîÃæu¢³óãÆÀIX9k„2¼åà&ùà`†ó1dÉÈÆIßÂ_¾Ÿk;…Úÿ·딑…˜»òAô‹ X—/êbaF£fä… w}EøÔþ/žZ·M©cES+Q:T‚ÒHxƒCGO·‡Yøão«e„9‚½S+¾ŽËÑ*Òz  ^Tïl©,ÇFÇw¤ì%øÖĿĀ|q®Ÿ:†7>‰§k 0 VMƒá–Kò¨[–ÌÁF+Ãyª½Ä‡õR-šDBÉhæjªÛ SžSª@~ÉT,˜8Ôa{ã´î0ÒGÇ6b}ÅØQ òQºhŠLGZ4‡úkððÚ+¿!SddÛðèÈ6­ìF¢â©‹0y¨:òÍõ6SF½™UÑ©Påí/×)ÎVå…ÙÊ:&ONQ)*K‹´rË‹ÌúùXiÅ»1lU)£ÞÔ·¯@ùy¾LGtj¨Yƒykl6Ù…PùàȘxôû·¬ÀÒŽ6¤˧Ù ‘£-4øVðªv𚲨Òv¨šbdÔï|Ù,ºŸ-ì— {ë/¬¶–K1¿ú‘°ì×\‡ùU[ŒŽ™)}‘RÁøP8S>šÉgô§_Éõsu¤XÓô¾"’º~û*qÔÚŽØbù€6Y> µÿi ’íõ{{›j’Peóê$fúI+Ž'ó/,9ÚÆK%˜gø–€}¢YàD[ä^\î¼Ëýæ ]æøxaˆlÞ¿-µ?Ê©æ;ªýtð½O««~¯ÕòK¶mèŽwÃ>ÉÜo½ï†<ó/Èý±fÕ ¬±:"·pƒÚ3H’HÚu’û yv4ï¢Ò7ÎÑûF­ÿT?û;ÞSîÿâ<+DÊ /®ºLWÕðLøüêŽÚ~Waû7ûkñ¾[°îç/¡Üºäî[‡à‰’Ë-ÉþŽ÷SøÁ’¬°üË¡zÒpLºª‹u}ûƧÇ1sù›xÒ:zžüǸËÓ - %ÜÌî©…íNgë2qÆoúùóø–¥¯ŠåSühÅKXd}L¸ë¸%¹†#ßþ;ôú›¸yËqëÀwFËÈù›bGÎ[ ´#o¾‰!›íëÝÙÊ3æó¯aäÛÞoÀ5xíWZÒte~ñ[±1ÝÑö¾ûÈnüƺ² ½oîí«r>ýþAÜöä{Žð:t¼[ȸA$@$@:ÞC6¸î8"ÞùB§¾\ɫ儹˜5Ò=Fk[ýV™l‡ZÉ)žŠªÉC­,U]äK]h%Œ³¡;1'®v­êäQïá•Ms>û½6Õ bök䶤ƒ^ª‹dêv©ËÔmá¾¾b¶â0÷Н¯ŽS_ŒõQÎÞ¶h–ŸÙ£ºŒ´²ç—”IøœÁš%]‘Q!2¢³rdVE•߬ e⺘°8‹žúÑ:|(ËŠ‘wžÛ¾3=æ£M{æMçu¶çÕ²•C3¥N{åçû2­¾È2`•ÌpäaoÊTù%2UÞíÑ(DŽvžÁ·Kl÷'_ª]eQÝÜÛ0³tDÌÈECZíSX¹Ã4b‰„›™h-–VÛKNÒ‡Ö„e?MΨ™Õ☉*¯ŽT.D…ÌBé¯~W R|%ÒäÃWµŒuÉ+¦=l9¿”p šîÎ{‘’‘o›=²%LÆòHX*U†ìéhäÄ" ?a~ò GNg´q»¤J<û(;}"[MµOÉb;THIù2L¼ÞÝ ¸kMV×ĶûŽj?}ïÓûÛs_²mC×;Ùû­j7õÙʬCAêž*ˆ 7£=3Ê3èƒÏ f¾~¿»äþ³Ú¼ÿ¸|plܵFÂߘÂÕçãÄ/ÔŸRÞdú¿8òÛ˸ô£ îÒKF†ß¨Œ ·®ÖºÚ(r?Ç»zNFjm(ýŠÃ›ne´;ˆ>?}Ï:rã ×á÷cíQ諸›Œ¼¦Œ¼7/<ùÎ>\ý«úè®:ŠüôûïÈhw{*˜·Cý¬ŒXßaX¿¬7ÞýîuÚG 3Gý÷,žkÿÙí.#æ¿/#æõdíûò¡à ùPpČɮ꫖9v¶)Rwôß÷µ›±ô+—š§•ßC¯¼Ž›o*GÇ»‡;$@$@$p ã=dc+/e;_èÔQ¬(¯žƒëc=)QÉZí%_ÑÅk4rÕQEŸxŽg|â–ýe鿍Tõå0´²i£xÕRzŒQïcKƒÄèŠmÄLü2åÿâ§Ë%Žñ®Ž}:µw"õÅXe¨Œhs„cÑKmì×o]‚‡ÍùÛ>Ž÷Q3½Gp)£Ðe‡Óikä¡Ô1­þçúkSG–9Û…)'X~>6“Ø­ó²G€È‚os¼|“Lõ°>Š£K«C©p4Ë׿JqÖÉ,´¶­Œ¼N®h®ß}õŸx"¸üª/¡îŲƀs¤ }dXöÓFl¢ ßû[ôw AÐÖÒd¡˜d–SŠNw”Ê(™R¿Þ?f6 ÚÚÐ"é¬?w±#c[›3òIÌæÝ·’”6¬-ð­œÓêªq­óOIë”ÓImÜÔMÑ+Õ>ÑýUúã8ý¿À=|i/ÉIDATq/®Xº±ÄúŽÆ‚Y£Ûgõ¨u&ÄöÓÁ÷¾s}¯ÕóK¶mèr’½Oø=˜Õ$XÝ«Ç*ùgÍÑÂÍèñÖ§>R…¡ÚŒ 3¿ ¿ê`=ì‘>&´žÏ½\2Wërý_g9Þã8–cÀŽ=UçºêÈ}ý™²€«ÑÓÝðìÌa¸©kd/ößV¬ûÉó(7ž¿îâì~Ðvv+:\ÖWáƒÜá'ë1þGû`~œ'1Ú§Gc´ïÛö2n©9"—áÕïß„‚èžþsèÅWpó¢!gâðQ®ýô(Æ/ßkå÷Í7â‰;{)Iœ;zè›yß(}##Õƒ–Yå¬ÚÀ™—±}ú= µ³Î µãŸV¿–û$@$@$@ç:ÞC¶¥òâcÈÎÎn®î•ÍéÓ§a¿ˆé£”±.Ý%(!W²%.öR‰‹õ«(º¤àP^nâÈñ~9 ¯lͶå!+l‹þ"çÎ)æhH'ý¥Úûå\N²æR3´Go††ó¾Bb¡šñ*€¢1ãd´¨5¯Ø.f‰áÿÞNl³Æ;,Ë®9É\a‰×±6Ôï¯îÚ·ÞùMRÿ³¥´ÿ>†CÇì²¹± –Ÿ÷˺Ê޶g£S¶´ºC&É‚#¢£ÂBä¨ä™ÄN›ÄÝãõW±û·ð៛$<ô;Q¬Ç²ÂA«wá´mÍ¢å¡Gµýa)Þ"Ù²ˆåòÉ´™)ô‘¡ÙOB3ÈlsfˆYÞüÂ"Œ¸ù\3èJôÉËu†› SøUû¨ ì|Ý>· ¾W^ٹݎv=¯À ¼Û”!2X»ŒdÞ²ƒ|œ5ÃnI¿´L>.Gm‡!G­_ç®›h)ƒyM°_õš]8IÖ,Q×ÿˆ/G•ä=Ÿ1×0î}R²´ÍÏ¿m$¤÷yFx.:BX»ßªõÚî76Z÷”~ßùÑJ>Ïm•õXž6)ŒCõœÑ.³hœ¹ÆÛVC)áf´˜óŲ¨údç¢qã)÷qä·—,zçGBqêjNnýºÓïíg­9Š\è3Ä]ÓÛñ®÷q–G3Ü÷ü+¸}GÔÙÝEãÿ$Žñèí"°¾gpÿÒ=Ö¢¦¶ã½¿yâ|×]2tû5a×–ÿÂÆ;¬…Vc " JJQ1Ñûã¥Û5ñŽ5Þ…ÿZ¿;óIZ€Ò(2§D)3ði"&h?Оåá-(_¼ÑØlÿs®å†µÿÎU7Ë“HÌk‚ýúÛ éÕ~ŒEae6›5‚Žwç` _6Qã¯{Ú:9nf嬑8µKÖXm Ñø«`î©vbƼµÑ™Wö,ŲÐëÚèB¯êÀ¦˜`u>éþ/]ïõýgæ´`Þx ßrm$椷#Wu(£àû¦½p¨IÔùë-K‹IŸ¤ã]½îÌ9ÞvlšQŒaÑQþ~©Õ2@‰-Q‰½VåT,Ž÷ :ÞósÉ]P¶ßu×ᵯGgAÆfFÇ» "  ‘ï![=ø‹[ƪ#L_,Õí uQCǨfIœš.fn-ؾ¢ëöF‡)kñ@ÍTæ¯÷ËaxeS§'ùr’Ã)¸ã*¸=‚2DN1ʦ CÖi#ftœ¿¬¸zP¿È”ñÀe¯s :¦M'‡LmSzF|ùjôtÆ›>1Þõº3Uö_«N“O§ïJìv1Î1øö=#puïžÊŒ%ò.¬¶–œ8u¸ýtxýHG´ÝH ÚÐXÞ~ o×íÁ«»Ø¡~¢EÌ/™*3gì…°ƒ”S+`hntÎRà¾Àߨˆ@ïßœ‹L‡!§³Ú¸iŸDÊ`^ìW­ûÊGÀ`$•*#¥gŒÀu'þ}ÄT_¯åËZaˆ:¢½†“ŸÛKo_]£©{‡·,Áâ¢WæcæÊ…øè±Xu„#&Þºi¥d~ÕzW0f.挖L[ Sƒ1²ÖÌØAúl 8l5UîÿÒÔñ®:“ÕÑßú¹g%þ{$ :Â\_,UCÕ¾«.ªælô·ˆ :â½{6ï®-.¡ftå>××_•ã¦Ó¼D]Üõbl˜>Å=̳n¿§ðƒ%5XИøˆwàåM;1vO4,C͸Aæ1   ïTwyñqËKY<-»,Ÿìª¦ö© ¬Ü!«†¶ÿIŒ÷•áÇxWËdOvÓßïå0´²i‹«Ú1òÝ4ò8ØiçÅ/°œpœ C‰Ï[½plâñWCÔY­²¨¢„VÒ_›j×cöÊm–!ÆÍ­Æè~.+Ð+H~¾ Aju§xªÄ”õó¼7íBÅìÕÖˆñB‰ñþ`ª1Þç·…%Á&¬—¸âÛ̦ïóAÌ™z.ù¶–œ ”6J ¾™ú¨ås¯çfژ߶fÔíØ€¯ÛápÀKX…j «àÒ b®Oá@sC6=öclsÄw*S!N¯þ©ø÷ƒ‰ðQÃK$ÿ±ØSN'µqÓL‰°0¯ ú«ÔýñÙÝä*2Ò¬ýø=?„åÀv2 '?ÿ¶–Þ¾ºF •PÝk¬AÅœ5Ö½­xÒœüíZ+\VñÔJ¹7úNs¢Œ»]¿}^õ&uwî}À⥛£×aѪRY¯Fÿ‹ÃVO®íÇíÿÒÔñþÑ[{písÕSÕ!îíx‡°,®:Ö\\µKÞšu.ט8w_Þ´CÈæAã}v˜1Þ5}$$Ë!Y 5ºôŒSÔ¶OÊâª?²W}ÏpÌ*ô¹±Êb°wÈb°oFs½Ob¼/M%Æ»pþ£pŽ­»‘ üì•ZÁy5 @& ã=dk%ôâã’·r½<¢NX°#¡”k$Ô„Œ²xh#”Y)8û”øœ¢Ó¤EK1"Ï=Ê»ßË¡¢O*egÑüòj+œC~I™Œõ #/n•s°õ„<ˆ‹“rtÅŒî/®aÍáäí¼o‘ÐåØà3ÊP“ã—Ü4™R~{ø3œ/‹¯E•†SÄÃ=laæó¢ÎJ™ç3>'-ÎÊ*qVÆŽ)i†ù³aúX"ÊTñÐʦ…¶02d°‹Ó©å Ä®²ã [/ÏšãÒÓy/#žçˈgÓÕ­8­ >šãª£-‡·J|ä§MËHÀè1R?ÆÆŒ2$h–%‹±çꉘ>~¨m¯uVëX ‘EÓt3(Žwx/†[óÔ|¬Ùa’ÜXÉÏ×ñ.`v­©Àês¨8à>Åݰí~,)_jM…´Qy!r´ pK«¿⸘ã¶³´¹ù2ªÑ¢ª÷I¡µíúˆ Å« Å~-âH.w8’ 1wÕƒèçRަš˜½ÆüLªŽôvI÷P›ôe޾ p‚ÌÆék¶QïsÜïZ=J¶TÚ¥ôÇ¥• Qä2XV￲ §`éƒÃ­ÐHaÉéŒ6nL)CŽ{Ÿh¦MôWççi/´Hß_ëñÀù1$­ÚJÀ×¹J{M ¿ÚFXϾl¢ÅJ´î5ì\…ykÍOr6›ì!S°|Úpû@([mØ.ÝÖYÝL¡vÌwóˆýëíx¥ÿ èxW”=‚‰n›¶Ò®[ŠSWžÆÖÿãp”äÄ&=]P⻿gèW0/³Ÿå÷s¼ãĸã?ß¶Fs#¯ï~{Ü"¯Ô>ÿ Fî°ÇßS„Å7v·òUôMÒñ®—y}EŸA®úÈ—,Zú þ·ÏüðÎÞòI0øßŽßîÀø}æÈ}àß'ãþ«ºÄ 8sß]ú&~cé…Ýß¿}¢ûˬsîsÝßßEç¬þÉNü‹9yAìNÇ»Ÿ$@$@$pA ã=ds«/> †$h×¥ ;WÍ´œ2eŽÃܲѰ6·¡nËJTo48Fª",©ºN·Kêºr?y‰¯”—xÇȨœ¢I¨¸ÌPÁh®Ç–Ÿ,ÇÆ½¶C3ÆñŽðÊÖrp“8ÔÍiÊ†Ž…˜ºè ͳ?4ÜŽ%Uël§£ŒâªX)áÚëËG Õñœ¥n6Æ”ÏÇØëmo‘±`×Ï–®†ÞÞÈ¥³ï†-TGŸ(U0 sgŒG¿n††‘¿¶¦ƒøõTIˆ‰èg(’êˆéq¸UÅ8ÜÔ¢O»¾÷ˆ¾‘Y-±íWcãnË=Ü®ô(Å=^Å$¿xŽw48z3²ÊƸò¹}½=Y¸­±+V+¶2e¦ ·Ó„ãPQdcfJAíå÷ÿ§O͘ƒÑ¥Œ2””ÎÄÄ"ÓåۂûžÃc«7;ê¿HŒVÛKŽ©#gCêGBjºó*{àTL sb„¡s[Ó~<±d)j¬*îQšlPG²u`LYÆ+ÐZmØ¿ý ,]WcQBÍ œ~P¹×9e¢lî¬õÇ‹¥?¶º\If}j–œÎhãÑ" H¥~vÖSŠ×ol;8f*¦u|X›î|j Ö:>bŒ“˜Ú£Í¾!½Ú³¤¾ÎåÚkàüBjáÜ'䮿·ðl´PAêž³üºnæ9ý£wòõÕ”ùy0û~œòv¼aô~ò£ºkkÔä•¢ª´(z2øâÔ5.ëÒ›J¿Œa¹æsà£÷ÿ„ O¾k;Î%Ùĉ<ÕáDöu¼ã3<û«çqß;võ~ØôwÐÇš¤ú^þuܵÃõ ô«â€.pGÑ7IÇ;Ð*£÷ŸwŒÞ— òzãÅo^‡Ž…S[O~„G¹‹LµæÈ>²w?¾¿½ŸÈ'Ú’[¯Áô›.wh*›‡ñ?>€ÃÖÑ‹Pý›1i€ý!¡õD*Ûƒ'mÿ<¾3Z>6Üd§ \f—rÝ8à*¬»·¿ýžöé'X·á ”rdèâxoص m|EÂÐeãK£'aâðh8«,Ü   8Ðñ²Ç>º4h^2Òªò!;Bä²l}»Å¾—wàÓ{! ÆTÈÂTFÇ_(ºDåµÕoÇ̇×9b'rP8DOÁÞ–GÉ¡6âÝ8RÙÄ•óÂ_0¤_'Å™»WƒTTº¥E¶SJ#b\ŸSPˆþâ{?²o/ŽYNMãLä¯óï¢G£ŒÂŸcÂ7u+RŒò>òÑá·±[³ÇÀq31ktÔ¡¢CušdcàÀ|44äbÚÂi‘Ö®6Ö9‘1M'N¸€I1Žn9(¿£ØT…¡·h.¶ÿÊu}qöØ>ìØm~±ˆœsy Guѹ˜úÍÞíÇ­ ÈŽ.Hvú„ÖV£²åÝrõ]Xm;,9ne9æZ§ì#C±Ÿ¡Y=ÖÌx5Z5.(,€¾ÝñÑ»Œi9«Ê •|P׎RÊ)@ÑÐè~ö#üñÕÝZ?;Ò>Œ~P¹×8Œeô§C¥Mz7jöj÷—Ù\aÉ1TpkÙÆÍbé£Ô4±61e¹ý¶É‡Ã™óìhíi²Åæ7æâÌÉ38¸w¯òqÇ}ÁÒÉP"Ö¥Uû±K©sQfÌ…Ö^æ'ÉÂhºs[wjÛÚø¯ãË&*DMct¹;34ž£VÈ@çèÄ0w¥ÌÚ±µú}7±úªfwKʪ³È$¨|še}RRËŽ¿c<õþÏ_~D5q,; ú¢=FLô‘Á¥ŠS7"¸ýßózâž/vljcXq¨ÅqF6]F¬û;ÞåšOpÿò=xF‘tî»!×f†êðÌ)å$þý>!ÞW!®è›´ã]ò9Qñÿ)ÏTj–¸{@n¾øðX;¢–ûÞâñèW{E¯ÅPÿUCµ®—Qã3eAÙhèópí¶—1ò¥fs·ý·Ÿ°ýaÛòÑ <òŽzÎmà2‹ôÖcÑç§ï)ùÉ×Üg8û?ýOjeŠ$ÔG¼7`Í´y°?‹Ë;Sµ,(mÒäs—H€H€H S Ðñ²åÇ8Þ‘Å&õвlªÃŠùêˆ[¯ëŠÅ¡<ÙáP6Ó…¦KT`cíÌYùœ)>À¯Ç Ze‹dÞŒkþ kía¤ž: ™Páò‚Ô Tγ¨ô¼Ú>ãg€2 ¹\¦!»ZFP{¨/Ïî Ûvá‡óV+/°¶–êVÁ¨2 Câˆ/N—ùòaÇtƒ%∭Ïú¨33oUï&©;³ª;òr+ÓÝ—ÊtwÇû¿’_0GfÝ–Ú¬Swí7_W 4Ç•‘$ŽêK}LýÒTQw±AÖ/xNûF ¦Ñ÷Ü׫m‡%G×Úu?Õ~$ûE5]–̮ԑS„¹•¥ÇV*u¨Û´Õ›câ7¸"+š"‡Û#‰Rï­¾Íø–¦}€pU$§XLv0ˆ¤ KŽ™ç¹lãfžAú¨ }¼-/v«ùðvüÛbçl®Ø4íG²‡ ¢*úTO’jû9×÷¾s_;¯ÔÛF8÷‰ Îï ÷Gµ"4×mÀCÕös]NÑTÑ=TI”j}u SÃ@¹Ï’³ÓÇ¿—§ÖÿÅ—oè¢, k+;ÒqNß´œº†Û9ZOhîwÏËe7`€úÝñ¾iÆp sŒo¿üdf®RGw›bõßÙcnƬÅ®ýYúÇÅñþփ׹/ÔªÅXŸ÷á˜>@õ·6Öcú÷9B¼h™9vï¾¹OÜy…ãÈ'øÁ’W±ÂbÖ›fÇ–Y®xýù×´‘ü1ÎÍËòðêÔP ± \樬†·öáKê’ãlëŽwý£}Ê–Uap·8bxšH€H€H ãÐñ²ÉФÊt‚8ãª&•Oj6ý¿Ø¼ÛÕ—Q0d &|c媹fV%|•äÕ7¸yEüß–ú]x|ùjìÖFÜWS†¿¿í,–X£±ý¦Ð§V6§¦õµ[ðøO7â‹Ã'`1ÆM¡Î8,΋iùëWcí6ÇUv>Æ=ð] øÓÏ­Xú1‹€iqÀ=ã…KžÊÌãP-‹Ý¹YNÖ-1Ñ—Íq%Zƒá¯¥~Ô¸Öœ‚"Ü3a†’!üοu6>¬\¬†ä1fCè/- µxú±§°C›‰`¨VP4ÓJ‹Q»¤BbÀF %Rˆøù©‹Æù…oi>\ƒµOþ»Ý*ŒsÏŒ>ÈÕNz øäl¯:]Ž«ÑÁFÐEh´ vËÓxjãu”«qRFÁŽ{`J.{å?I.ÿz}h «m‡%ÇRØw#…~$äv€¶FÔüÏFü÷Öm”y´žõ)Õ: “`öïÄÆßmA6ÓÅDï^ûAËand(÷š¹÷]‰Í­Ån—iCÅ“ð½É#\?H‡%Ç,·ñ{®Ú¸3Ïx}”êÈ”h²e·›S¨¾Ý"áÝ~þsl¬q¿w‡¿=Ô•³-*Ú(å{ï »½ÆËÏ‚”Ïjx=ïg«xuÏ*–¹!‹žVÈ¢§æ#Û},”úÍO±±ÏsP$y°{yòý_0ùFˆ¿]~ŒÕÏ9Ã;ÊSNI¹Ì\r_LÛÄkþ*N]‰uþâ˜X³ñm<ö±ÆL{÷ WcùØ/º:ºO¿¿O¾MÚC^½ÅZxÕ¼>òÛ‚mÛöbÖK;B°Ø)îгîêÁ9v¨û,°ObÀßnÆ€÷‹Í.qÓï—¸éæ{·Ñó¶>o‰>Ç]õ¹1¯þùŽA¸ë*ý+ÂgØöÛ˜¸/êyï#qëïw[oäs²þü«¼ƒ=ÖËÝ»áß¿:oê%sAbÿ—ÙqéécõXôË}xL›E`$ùN±„\ëׄ!ëL{], œJÚP³fÖ˜kI{X]Û‘7I€H€H€Ît¼g‚ÛZÐpìNFý‘YÙ=Ð+?ÑÙR‚¦†zÿXÊj•üEŸ>½Ñ3QÇ¡yˆe‹è$‹EeeÉÙÈÉÏ´!-^´ZšpøÈQ‰Ü(/!­òo^èÓ;WmíuqgoAcý1œ8…=Zqú´QöÜàeE}©£‡¥ŽJu0ØwÏÉE®G…hijÀ±ã'…µüIÚ^‰ØÉÒ5x~Ö%>†NGD§ÈŸpìÕ y=ÏÁ°#qz̧‡=û`™Ì˜H&_á!uàäévªÈ–ú›/Ó¬Ö~…LXm;,9Šr^;!ö#^Y?Þ†æÆF?%uŽZ¸ö¼¬úôv­—L¿ã5žÀûMŸ¡‹ØÑ0fßÞ—¶3Þ'!pn·BàôÄ‹³ÿ"fCKs³}ºuóxFð˘çH€H€H€2‚ïa&*I$p>8,³R›³R †ç9ËË2Å8ꀗÃ<¶´þGÂ’ãŸK'ŸmSã\'2j¶“5göç6Y¬½ OˆL]{"ZXÖ×P¬îåxE8…t CoÄ;yýPÒ»ÝÛî¢C V?ºÿòqô”ニKb"  8 Ðñ~—E#HcM2Ú}¶=Ú½@ÂÌÌI(ÌL—ª#pžÔ°æaÉ ¿sRÕÊh÷•æhwx‡ éí˜ë…D eÿ&”/ÝlyÜÜjŒî§N]d}µð¤´AÇ{JøÒîâ†w$¾û¯êE¯.¨þÆ_`Ò=DŽÄœßö îzÉœI )Ć»ñëÓ®XTˆH€H€H ƒÐñÞA`)–H€ü´5ʹ²Bû`ÜTVM„ßïrž;œ/u ,‡yXrÒ¹jÔnX‚•ÏE†—”Ubâ`¶út¶×ù¦[Sýa?}õ{žÇ¯œëÃx¬IÄúN  ã=Žé!å,~´dY ¾ŠS}@o<ôW àÒ,œøs#~¹ý]‰ßïÔV_XÕyŽÛ$@$@$@ç;:ÞÏw ³|$@éK@ä¬{ã|þKƒ‘§4L_©Y¸΃: 8Ì=E-,9AòêÌ4Mëð§ÖÏcð ¼ÎTƒy_pš±~ÆCØ]/ÈYüq2ÚÝc…_ÖW'©ä¶Çûe½ñîw¯“Õ‘ø—©NÖÿ ã~ö.Þ X€yãoÅôkcGżœÉH€H€H€2œïn@ªO$@$@I n}…,z"¢Bv Y>=“P(,9IdÍKHà ÐŒ á¹hS5  ãý|´*ËD$@$@çˆ@óáZ¼øv#²²ZÑåÒk0lh?|.‰¼Ã’“DÖ¼„.-صáqlÙ×cÐûç¿0wމëóº]eïÜ"ž¬?Šgß;®YŸ¡k÷\Œ,Ì]±k“°r?}ò¼ñn#ÞøàšZ?Z‹/뎢A_À°¾ågÊ!  L&@Ç{&[º“ ¤:ÞÓÎ$TˆH€H€H€H€H€H€H€H€H€H “ ÐñžÉÖ£î$@$@$@$@$@$@$@$@$@$@iG€Ž÷´3 "         Èdt¼g²õ¨; @Ú ã=íLB…H€H€H€H€H€H€H€H€H€H€2™ï™l=êN$@$@$@$@$@$@$@$@$@$vèxO;“P!          L&@Ç{&[º“ ¤:ÞÓÎ$TˆH€H€H€H€H€H€H€H€H€H “ ÐñžÉÖ£î$@$@$@$@$@$@$@$@$@$@iG€Ž÷´3 "         Èdt¼g²õ¨; @Ú ã=íLB…H€H€H€H€H€H€H€H€H€H€2™ï™l=êN$@$@$@$@$@$@$@$@$@$vèxO;“P!          L&@Ç{&[º“ ¤:ÞÓÎ$TˆH€H€H€H€H€H€H€H€H€H “ ÐñžÉÖ£î$@$@$@$@$@$@$@$@$@$@iG€Ž÷´3 "         Èdt¼g²õ¨; @Ú ã=íLB…H€H€H€H€H€H€H€H€H€H€2™ï™l=êN$@$@$@$@$@$@$@$@$@$vèxO;“P!          L&@Ç{&[º“ ¤:ÞÓÎ$TˆH€H€H€H€H€H€H€H€H€H “ ÐñžÉÖ£î$@$@$@$@$@$@$@$@$@$@iG€Ž÷´3 "         Èdt¼g²õ¨; @Ú ã=íLB…H€H€H€H€H€H€H€H€H€H€2™ï™l=êN$@$@$@$@$@$@$@$@$@$vèxO;“P!          L&@Ç{&[º“ ¤:ÞÓÎ$TˆH€H€H€H€H€H€H€H€H€H “ ÐñžÉÖ£î$@$@$@$@$@$@$@$@$@$@iG€Ž÷´3 "         Èdt¼g²õ¨; @Ú ã=íLB…H€H€H€H€H€H€H€H€H€H€2™ï™l=êN$@$@$@$@$@$@$@$@$@$vèxO;“P!          L&@Ç{&[º“ ¤:ÞÓÎ$TˆH€H€H€H€H€H€H€H€H€H “ ÐñžÉÖ£î$@$@$@$@$@$@$@$@$@$@iG€Ž÷´3 "         Èdt¼g²õ¨; @Ú ã=íLB…H€H€H€H€H€H€H€H€H€H€2™ï™l=êN$@$@$@$@$@$@$@$@$@$vèxO;“P!          L&@Ç{&[º“ ¤:ÞÓÎ$TˆH€H€H€H€H€H€H€H€H€H “ ÐñžÉÖ£î$@$@$@$@$@$@$@$@$@$@iG€Ž÷´3 "         Èdt¼g²õ¨; @Ú ã=íLB…H€H€H€H€H€H€H€H€H€H€2™ï™l=êN$@$@$@$@$@$@$@$@$@$vèxO;“P!          L&@Ç{&[º“ ¤:ÞÓÎ$TˆH€H€H€H€H€H€H€H€H€H “ ÐñžÉÖ£î$@$@$@$@$@$@$@$@$@$@iG€Ž÷´3 "         Èdt¼g²õ¨; üÿöîeEu Šh¢A'‚‚úÿ?çû b®§šºhsç· —`’ éfgÙ¦è&@€ @€Å (Þ‹‰@ @€ @€ P³€â½æéÉN€ @€ @€Å (Þ‹‰@ @€ @€ P³€â½æéÉN€ @€ @€Å (Þ‹‰@ @€ @€ P³€â½æéÉN€ @€ @€Å (Þ‹‰@ @€ @€ P³€â½æéÉN€ @€ @€Å (Þ‹‰@ @€ @€ P³€â½æéÉN€ @€ @€Å (Þ‹‰@ @€ @€ P³€â½æéÉN€ @€ @€Å ¤âýù|6«Õª¸p @€ @€ @€ÚÚõzÝw]§x¯mrò @€ @€ @€@‘©xïËå²È€B @€ @€ @€šÚÍf“v¼+Þk›¬ @€ @€ Pª@*ÞcÇûb±(5£\ @€ @€ @ v»ÝöQ¼Ïçóf0T\P @€ @€ Pš@ôíín·KÅûd2iÆãqiå!@€ @€ @€ÕÜï÷¦Ýï÷©xïû¾™Ífv½W3>A  @€ @€ @ $Øí~8šöuHÅ{܇Ít:U¾—4)Y @€ @€ @ xèØÏçsÓu]ÓÇ×f÷¾‰›ñOüÙ™Ñh”ŠøâßF@ @€ @€ ðŸ¢h<ÍívK â©¶§Ó)ï¹|óû7žÌë|~Ú @€ @€|‘@Û¶émãüû:ßKÅûkëû«Wÿ,Ûß×ñ[bý~N  @€ @€ ðE¹lWÎ×¹pÿ8_.—¿Å{<ü^ºÿ.Üó:žó!@€ @€ @€ß&ð^¸Ç»îyGüõzMÅ{ 1688 556 (çmx@IDATxìÝ xåÝ÷ñÙa Ù# «F‹h jJ„FÔ¨hDy£|ÀF+*Uj)uÁ*б¦XäqyâR *S…)•`©AÀ a•(H Ë ¾÷ÌYrN6ÈJ¾s]É™3s¯ŸÈ9óŸûžf?šE, € € € € € €TQÀ¯ŠéH† € € € € € €€-@€‰@@@@@@ Z˜ªÅEb@@@@@@Lœ € € € € € €Õ ÀT-.#€ € € € € €`â@@@@@@¨–¦jq‘@@@@@@€ç € € € € € €@µ0U‹‹Ä € € € € € €˜8@@@@@@ª%P­Ô&±ÃáPnn®ýSXXXÝ줯E   …††Ú?Õ>´µØ2ŠF@@@@@³I Ùf©j‡ŠŠŠ´wï^µlÙR­[·VpppU³’® tôèQååå©K—. ¬ƒZ©@@@@@šš@µLß}÷¬xTçΛšS£êoNNެ`S§NU»i, € € € € €4j=ƒéĉ o=k­lÕª•¬cÅ‚ € € € € €Ô†@µL'Ož”¿¿m´ƒ2kPÀ:FÖ±bA@@@@@jC Z¦Úhe"€ € € € € €4.LëxÑZ@@@@@@ Þ0Õû!  € € € € € €@ã ÀÔ¸Ž­E@@@@@ê]€S½€ € € € € €4.LëxÑZ@@@@@@ Þ0Õû!  € € € € € €@ã ÀÔ¸Ž­E@@@@@ê]€S½€ € € € € €4.€zinA¶Ö¯Z¥´_*»@j}N_]sµ.Ô¹^šSו( 8Xþu]ñiÖç8”­?9,…”GæŸÔ—ž«+:×toŠ•öá.]ЫÊ>MˆÚÌV˜§7>Ú«ä4.tœTPhsEŸßIç‡qÍ{¾Ü¥7h­#Û«~þÑW½ ù…Å ò/·ùÙõºÝtu7yŸrŽÜÃzñÃßKGLšæ)Ö¬÷ª„ÎQ\¬‚âfjTö¼®zkI‰ € € € €4Mº¿²z|§Íš§×?Ù¨À#4&f„Úý°YË_zLϼ¿³ …ãZùð,=Òˆúê8^ í‡ ´ûp¾¶ï;¢w2k]v¾ýþ³=ÏCj~9©m›ë¿G‹k¾è†Xbq¡VfÛoOØ®ß+ÐGÿ9 Ä¥ÿÕÝ”ã Û|hoŽÞÝ£Ü3,§ö³iÙ Ÿkòšœr«*>vLïî8¨½…¾» Ò;»éuºœÐ»»¾w®û&óy·5u“&,Ü¥òkòIÊ@@@@@Ru>˜áË¿/ÕW¦?Ÿñ˜Æöna7çòÑc”òÌ,½÷áÚyåCê\ª•gÕ[µ0ý+8Þx:Òµ«ž½£«Ý`Çž]úù9úMü ¨éAK¥I¥ :?CK7¢ŽÞ»,o7@“{¸a‹ôÁÛ_êÉÍßêÕ~mÍvršK€åè§Ó/á4+®v6?µ2Ì˯ £¿/§^ÛCºöÐ?»éTC›[(Æ$¤‚ªØŒ € € € € P±@Ý^¾/þF©ë*xp¼'¸älZ°F^w¶þu³r›9ó:hç'ÉZº|½ŽZ ‚»jÜ­·iô póæ¸ F=¯}ûè»?Ñkw¯hMÕ^½¼Üù>|°¦Üu»úµ-0iŸVV×~Êý,M»LѾe™Òö¬×__|]_ÙIç]¯Ûb‡Ê }}“²ÈL+Ö[}§ê“¯ìÌ~ÓLÝ4Ü ¶kgZ²þüÖzY{dê¼ã—·kP¸Åù.Ì×3?çlGÚsšµgœùÕpm|}‰ÞZ¿Ë*EÁ¦œI ñŠêÜ0£l®EkIs«Å'µõß™úCÚa°Þ†è®1½5±¯µ³HïüïV}ª#ÛiCQéý&pà€ž|g·Ò\·è {è¾+;ª¥U–÷b¦{ge¦žßåŒf¶mWèå5êP¦þ”ÓJƒÔ¬QkæXë¬c³ôŠýÞjO_Óëè™:Ò35{õaÙ­iÓJó¯í«!íü´ãÓ­v9åÔ+»­rü41¦¯îP¬^ØáSNOÓö—{Ç„ÑDzëßÛ4×:ôЂë#ukûB=¿âK½ñ­M’Ž(TêæC ‰ê¡¤#uc›|{ÿÊlež•sóÿšà’Ú葉½õ›a­”öŸouó{Ù¥:_¤7–n5Á¥BÝ©ã"ÔáÀaÍX¼]»L1;>ͰƒKÑÃzhñ=5à»ÃJ;R¨…?ª[ì8rHºÚ£â£zes¾ºumÙà‚K¥:í|ÔR—´1ç[ÖQåÉÖÿû­6µï¨7öÑ}ƒôÊÛ´Ôô­ 焾,*4Á¥&èÓG‹'D¨ÅCšúç&„â»TxÌö„è§çhÆý¶«•+çëïô®9û¢¢ü"}™q@«[uÒsÆùêæX¾÷ÖÚï{ëÖÎÓžÚjâ6{ÒÍya‚K#/é¡ç®ï¡«M˜iÖ’mv¹îrRÔÁîǯúøéÔL}Q¢ëGvV¤©·U·vš9¤Mƒú4ý€Ò6ÐÇÖÏ—µâ¿ÖDwÎÿΊ‹:VT +¤´cM† .é® ç)É´#êÈ1ýfé.…×I7v¶Ò7×]1:'¨òs¬¸À¡Lܳ‚KÑý;j|¿F~^™ž³ € € € € €g"à¼"{&%T#oÁÁ}öˆ¤Ê‡MWúÇ_™¡D×éž›.W¿Þƒû«û4ØÔóáê/œµ™O×q÷éºáýÔoèjm6ÃïÐuуÔsÐåf»×è“VƒoÒô±CÕµç ]w߃vY¯Ý¥k>0£ziÆC·jh¿~>6A3~ÞUëßÕ6O„gˆî™>VýzöÖå×]k +£ø¸Ö§˜6v§ñ&XÖ±ã¿ñçfßWZ¿Ã5Ê„œÊäS[ >RYí='Jãzª™Ý£=œ£àŽƒuÛC÷™`VŒ¼z`§h˜¿ŠôÏyR·.zj\Wߣ½&ß2@1¦±/¥[¡D³Xq¦^ÝôÈÈŽêÕµ½î¸Í¹ÿÏš.ûMØ¡¹žKè«èȶºbd?=7,DÇ2öé 瀻ˆ|3Êé¥#ÒÕW Ôä¨ö:¿W=5¹‹ÙwL©ß׺ÿšÄ½zØuôé®Ä[{ª•ÓŒ±é¡Í”k¯¤¶·äl?¨/¤Iç»S¸6Ø?YóÚ9ôeú>3J,Hÿ,BÝÃZ(úR¸1ûþ¶ÉWÜSìM¤‰ýÃÔ§oWØéhòÖ?X£¢ÜKåÇlȰ“0ϸZ£{NjýgÆ­s';Èå,¡­žÿEW 0Î×±†FµÔoí÷muèvžÅEúÇgæ¼èÐYñµÕ9íÛ*~´i‹§\«¤6zö†:¿k˜Æ¶Fž4§Jˆ†D£+ÍðÁ–ÚëŠþ­+ ¾‘¶[¤îÖ¬Ÿ¾ÕóV{}›ÍÞtR?-Póöíuß”~&¨ÕE;‡kT„ùŸ(°¥Æšs*4»²s¬¤ì‰ãë‘q&PuÞ9ü¼òµâ € € € € P]Êc=Õ-íéƒ#ºËÄVt4׊ú8Ÿ¿äÉrx“=ÿ‘úßt¾71šðKº¹¯™›$án‚F›ÿ³Ç¨Î—ÃdïÚ½+k±¬Ë¿Á%] 4áç+¤!C½GLµ0—è݋ՎsÕÑ+šÓmÀ@Éú—fO€•9¸uI°Ç?Än¿ ê+Žtô==òà{îÂì×öÃn*Èg§p¶W«©÷Ø»tÝ‘×õÖ[/+í-kK°†ÄNQŸžÖ8§¾jŸ ÄE 5VF÷÷SêÎ<娽}®à>VVš@¯ 5=ZK3zÄ×”u®9C6ò>{ÃJ +Ï-yZN@¨>0ËÉÊ0mÖÕk¸ÐŠ2»œa ÙJo¤~§fÄÌ×MÀÄ£Î÷Jn—Ó`ë\kÕ³µ š™Ž*ߌú¯okæÊ$1Kqp¹˜w!VžƒÚ¼Xýìýæ×©ŽY»žº«Ãn=oŽÁ=B´ÌÌ{xãÄŽ®ãkŽC ¿ç9N:DS][WÙöì~f=°ÈyLtü€nxÞž8Ñ]»Zù[!U«œ@ç ‹ÖÿÏô…Ö>ë_¥?Z¿+X´`æ…:ßë¼Éÿv—ƽibò]Œkb¯žÖ.³5Á%sÙ¹g'¯ç±84Îý¾¿}ö˜²6~‘©[£¬ƒµ8Gs˜!Ît‡íQUVàËZ²w}c¿Vú+¨£Ìõ~íês»ž½ÕUnña¥ÿóK…µ7ViqÒÝó£oÓ³7µÐñÃôÅ?–éõå/¨[ÿ§uyg×°”*•W‰üÕÁR¿·ž‹ä,ÔúæÂ½ >„ZM2ûßÝ~D‰ýÝ3çEýå1ó×#Ú™i ¿ÓkM©­4>Ò+’ã*Æz±ÿ%¹¹^Ûè<&ºôÔ?~á:îÅùJK?¤öa¾ýóÎæ»îÛç»Íë÷ ,³¹Ô[Oœ'tÎ>úǸ@3Å`žþ½Þz^ØNõŽbBËÎ¥¤EœcžÒŒ¿WEê¼òô@@@@@ fêtŠ-j$çUEJlG@@@@ÎD nG0™–¶ºIÆ7×óË>ÑKO®÷´½ëðë”mzÇÞ¥›N<¯×ß{I›ßs&Ef÷q½5ëAéÎùº®w€Ž/¨ ,Ó³ÏìT‹jVTlÚèìƒiã©TaŠâ‚SN±‚[´¨ö(­ò ­ÙcU^ ¥¶)Ï:VAæKžÁWEzéÙMRìEæy>Í”w¢¸Ô~w'í}2#LZš‘%•-ù'ŠÌ,e~jiE1ì¥X×ìÒ—-;jòP×4}‡èÊ%»Í³ƒ¢t‡kJ½œí;uíŠcZ` çùKI”õÊ3Ï šðæQ=—x;Epó@;[Q)*÷˜9Süô‡zï¶®¾¥ +‡ÃÔaÿû0mñ L•Ÿ¼Ö¶: ‹M;Nê”&¦eÏ±Š›uvW÷“= € € € € €@iïÁ>¥÷Õò{3]Uë¶f²¹JXªt%Y=»LÜèx¾ùeÂ?-Lð¦üÅ´¥Â}åçpoµ‚_•êNS•W3ê¢&Ê©J]µ’Æ–Z–W°Á”kEÌx¤–Í+ Y£Šöùb¾‹¿Ú…äë•Õ_)åë¶ßÙL¥·ÁzªS±‚KÅyzéõzã@¡Zõéy—¬Þ—ãe‚'Öô‹'¬!_ƨÜcaeõ^Ê9fy{öh¶yþÒ—Ç¥[¯ïtÆA¡SG=þ'ãém@¿i‡;(éÙ\îJÙs¬œdgåyUN?Ù„ € € € €T ЮýVдšØì¯~±?—£Ó™Œ-ª‰v4Õ2ütQtGu¨Ú…ýÓUêõ“AZ~@«6çhÓn‡FšiånŠ.yvP ¸\}a'Ųžatv.ÁaaºõÂ`u:Cjÿà unßR—ü´‹nìQ:˜wvÚn¯šÂyuº6äC@@@@³_ §È;ûq볇u>E^}v–º@@@@@@ Nª6/Y6‰Ê@@@@@@²¦†|th € € € € € Ð05ÀƒB“@@@@@@†,@€©!Ú† € € € € €4@L ð Ð$@@@@@@ ! `jÈG‡¶!€ € € € € € P€S<(4 @@@@@hȘòÑ¡m € € € € € €@ ÀÔ MB@@@@@²¦†|th € € € € € Ð05ÀƒB“@@@@@@†,@€©!Ú† € € € € €4@€ê´©mÛ¶ÕINÚz°ŽUfff=¶€ª@@@@@@ 1 DFFVØüf?š¥Â½ì@@@@@@@ ”Sä•á- € € € € € €@å˜*÷a/ € € € € € €@)L¥@x‹ € € € € € P¹¦Ê}Ø‹ € € € € € PJ€S)Þ"€ € € € € €T.@€©rö"€ € € € € €” ÀT „· € € € € € €• `ªÜ‡½ € € € € € €¥0•á- € € € € € €@å˜*÷a/ € € € € € €@)L¥@x‹ € € € € € P¹¦Ê}Ø‹ € € € € € PJ€S)Þ"€ € € € € €T.@€©rö"€ € € € € €”(õž· € € € € ÐÀ uèÐ!ûçĉ ¼µ4@ ¶š7o®víÚÙ?AAAµ]]~³ÍR'5Q  € € Pù‚[}|)¬ƒCB €5,PPP ­[·Ú[¶l©fÍšÕp ‡ ÐØ¬PO^^ž}ãÁ€\ë] ÀTëÄT€ € €u%`]pËÈÈP—.]ì‹nþþþuUuÔS\\l!Ü»w¯ú÷ï_'_ k¤á‚ P§_ýµÔ¾}{…„„ØëuÚ*Chp‡Cùùùúá‡d­Ÿ{î¹µÞFžÁTëÄT€ € €u%`f¬àRxx¸[pÉ2²ÚlµÝêƒÕ@Ê8zô¨:tè ÐÐP‚Kå± h‚ÖÖßëïƒõw¢.Lu¡L € € P'Ö)kÞñƾX}¨«/…ÝŠö#€MQàäÉ“jÑ¢ESì:}F8…€õ÷Áú;Q ¦ºP¦@@¨kйÆ8r©4ŽÕ«/, €T$Às—*’a; дêòïC@Ó¦¦÷õ.àÈWn¾ÃnF@@ˆ™7˜S²Þ @@@@@@àõ|5?W©Ï>­˜Vš‡O]7K×G…¢Éu·;3u±’>Î’:]¡ÙwÇ(ÔT]Þ¶ºkQå55ä¶ù¶Ó.Õdþ–žÂ<‘¸Â<ç¶£…ž}u·âPVÊ ôJQJÖѲÕÖkÛÊ6§Ì–ìuŠã\ ÓèøD=µ0III õÐô8u÷dÊÑ‚iãõæö\ÏVªÀ)ΈÚlÚ… € € € €4 “'O*++KG–sý¿µÓÝOÜĽ¡î^wëíE饪ËÑÒ•[3e`©í çíy7>«¤á?(°uÕÇd~Á®˜WIè«Ä¦¾ÛVÒ’òÖr´ä—3eƃ9—þñJ~ánEzMƒ5B±Sî4Ó&ÎÐËœ)Ÿ˜¾H—¥Îã˜Üp óµ²ó²a¶˜V!€ € € ÐÄNæ*ëëý*2·››ë—žå¤‚ÕåÜ®Êß³KŽv=Ô9´º— óµoÇnùEô:¼žf°‚4iÜÜ\=óÌ3öà’ãÇÛÝ»w׌3tùå—7X›êþŨ±ŽälxO+\¥Å?•¤VI Zdb ‹ÞÖn`êV…šòs³•}ø˜ŠŠÕ¼U+…‡‡©*:Ý|V“º)*ªòÖù”ßdŽE` BÚ†+¼ì(#åsÌ«x.:òs”}L'ŠŒ©i‡užTÕÔ®ï 9÷M›‡´UDø©Ž£——ÉÓ.÷rºùÜùK½nY2U“­‘Wý§kõ²)ò|ç4éòw¯ÓÂ?ÌQrzé ™©àЬ©1¥F=9´iùóš;o™JõÄ®uhÜCúý¬X…{úPÒ˜ jUÒêÅŠ2 ©¸mmy?IÏI*[O÷hÝÿà,]ïó¬£\½?J LÀ/:1I3z}®_Ï\T&ïèÄ4÷æa>Á™’z¯9ôÏ¥‹<›YApÉ$B7ݧä9Éö†Žæ›W÷—÷ÓïËÐÄ¥úíÀMŠOXà;5£™˜ïþ¥¯èú.;5Ư•œá{ü†šàç§–\`ðjž‹®î9²7)éѧÌùk€K-Ñæ˜Ïº'V^ÿ2s·,Ѩɖ_´’VÎЖù¿Ö‚Òç~÷ÑZøü\ðÎh—íôzÜûÒµõŸ¨Ggݬn.Új×ãq(éDyçenæ=ýÛßkE)W+Wé6””Ä €u/àØ½\W]3ÏþœøÚZÝÜ×ýù£îÛR5æfïÖÁüVŠìVêsuM~¶–áØ®æ,Ršé_þ ŸéѱîËÊHZ¦£C&›S€×zã>GÎÖÃH¿@*ðsn?gà%ÐÁëƒ+y‡+®ü\‰*(¢ÜÍæ^³ãt²–[@&&0þ|;¸4fÌÍž=[Í›7·6oÞ¬{î¹GùË_t饗jРA Næ4þjÔ@r>Ó+Ö·6³„M¸N}Íkä×y‚/IK×Éaï-ïWŽÝ{oÙà’•4'Ãì‹Sâ›[ÊÉxºùÊ)ÊÚäz“{oî–7uÙ53Ë .Y)r”’ô€bâ—ø66,¾] —¬\éÉó4fvª±,]µÛµì4#qJ->mËÕûs¯Òäò‚KV¶¬4=ažu4»\3)mA‚âÊ .YYSLÓ}Ë3­ÕÊ—ü¯ô‘ëxK4nØ©/rt;Kééëµ~ýz¯`ã™õ%}Ád/\²šž¥'&ÒИ„2Á%koNz’&Mó=vÖvë¸V÷\ÌÏ|_WI(7¸d•˜fŽùøá³µ¥ÜGO¥)a|\Ùà’•1+E3ÇÏQ¦Ï?‡Ö̳}éà’•%cÅ]sõüRy¬=U­çÔçe~ærÅÆÝ[npÉÓ†IåÙZ{Y@¨[Ï^ÅóYíå¿®­äóhݶë´jËߢic®QÜíoxútZå4±LÙŸ.7Ÿ„º+z¨ù¬ûô{¾væ#l°uõÌZ¼×[ø €@£ðšϫͅÚñÙ§úê{ë™ãf}Ã:}ùõ­OMUªõ“¶ÑܸâJî8ª¯6¤9·§®ÑÛ¬YbX@NG //O}ô‘ºvíª‡~Ø\²ÊÚ“!í‰ÉZ¾ÛçJ»gŸõmðôòyQzÕ‘©G'?áÙÚÝŒ Yº2Uk×®Öß’æ*ÚOÉX¤ùïïv¦ËNÕƒIîËþCuÿÂ×”jõeõ*-}<ÁlÓgŸ+;d žK^ª$S–›¨ûèD%-MÒ /<«>•Ü8¹ûýG5g…3Lñ½`ÌVkõªdÍMˆö´9Ř½™éþ¤àÙìY‰žþ¸’W­6}JÕ ÷OðlO{%Å÷‹·g÷J‘¾w½ =¢ÏS P€¹ ƽÔT_&$.ÔJËzÕRÅ»AÝ•tŸ …É«L?ךc÷Ç[ŸhG¹A+cUÏ©LÍ›ãñ ¯L]«Íñð9O”¢É¿^n&%¬` ­Ç“’µÚ´1õo/hBwwº­üûXKû×<­{“³œ;â57éo&Ïj­L^¨8w¿Í„w>½Æ]€ïë©ê©Ây¹-åmO‡Æ?dΡTÓßT%{ÿ»ÈZ¤wʨù¶‡w €Ô¦€™ûŠû囹''e©¼þ¬Öf͵S¶ùe?³3¢•gxíTt6•škn 3#è'Ü­ßκߜIú¨’ÏÇgSÏé  €@Ó°.æÜ­}ûöiÏž=öÏCÎg}/PëáL'óëÀ®oÕvÐP¥Î'ë‹-{LîB}õ¯Ï´ûHˆ ®CÏSÁ¾ƒ²‚VVÙ, €Õضm›~üñG]|ñÅ *“Ù¹d-îXB™$õº¡þï߯å/º‡³LÐϬ¹Ýì%T?»É$ÊÒ›m¯æþ×–kjL”ý|œPó\¤˜)*ù!w~éO/ZnþÓÍWna®ÙŸ¾eBÎ%l‚ Ä̹Y#ªnQcµ`Ùãžì)+Öۃܽ;=Þã_x\×è«0ó@šÐÐp Œ™ªEÓÍm“Ö’³Y{L`#,r yöӺʵ¹eï(E ŒÒ°aVƒqæñüޯןv·LJ\º\wÇ3f¡ ÔØ© |ÌžHú¸Ü;u£ÍÔr ¦Ä(Ò<ç'$$LÇ'¸¢fYŸVxq5Ä|(qªŠèQ…)õ<ðZ©™¾Œ~(Ysn6A.Ë:| î~tnI0ÏŒ®JNž£‘æ™Yæ9XÝ¢bõ»ûK‚pîV½e¯VõœÚ¿¦äO—$ÖÒwULT¤y~QˆÂº Óœç÷ô!}ã7®æíײß;§´¦Ö[úî5Ï 5çdDäÍZ¶JÓ]A¦œä$m(<«Z=•Ÿ—¹úüS÷|Ý5õ®Xs…™þ†)Òúwñò\åæ­=ë¬ € P»?N6S1›¿š½¦×²þþgè/¥>f¾ÿ¬âã§jþ’W5?1^C‡5?1ŠO|Vë2Kþ˜V5]EýtdoÑ’¹‰šã,¢Uç«ëTRƒ¹‘dÃrÍïI31^s—¬±Óäl2Ÿ“¯šl÷GoëWS§jɺýžê2×¼ªÄø‰ÎöÇLTâü7åÕ|“.ßLã¼XS'ƸÒÄëÙåkôþ’Ùš:w¹O;¶›²f»Ë²-æ+uKvI]ÆlâÔgµeÿv½:{ª]Þóï,ÓÔøxsãUéÏûÙvšø©óµ½Â;mú¡eó(\qLw%Ïк/|ÿµUµg—¡ºèR÷P©,ýúö¹JÝ”©œ|×èÂncµÖ ³_µj•~;æwÓyE@ ²õN’uSNwŎ꫾—ÆÚ7o¤?±\%aéÄts×Xº’™›tÒökô„8E›?uiË43n”–»F»T5]yuì_£¸1“µhEš²"¢w±©ÀÔ¹`¦FÍvŽpÎÞ°Xã§ÍÓŠô µ $ØNS|ô{se'PmB½.)”¤+S@*èÝ»·õé§ŸêÐ!ç÷6ï +W®´ßXö½wºúZ¯pìKí4È¡µo¿ì):ýí¿jñ÷äŒÁ™?\úÎy§¥•"g™R¶ÿ?ópå²A‘è‹û• âØ¥Fh´™g/y‘5jb·~0_Í3x=Kµò•­ÖSŽïŠC‡¾wmé~„ûîu¾ PßcÍ×¾€0EŒ17ˆæhˆT½·q‹¶|•¡m›Ó•U2Ë™W†ê¯:ŽðdòLEèÙâ^ WÌÕCµl‘õ…?OE®kÿî½ê?Tçxz¶Wc%äœ>vàЮáû²wÅTT”ÃánL€j¤/dî·)µxê Kí2ož³³ì>kKÕÏ©|úÖUFÿIúiDù¨á™;…µÌùï œ âàç”Ó¯>¸öæÿPòŸQÚ¼8ÅüÉ\ 1û\ñWç蹜’mÍ{õÿJk©ªõ”ÓŸM=‡_.¹¦‚ÌÉX¡œs…vï­‘—ÔˆË~¢a}#|òð@º°ËL0EÑ·êRûåOô?æïâ<,ùû†;5Õs3PKgÓÂ&èµåsäü˜:K[Þœ­ÉO¤hÞo_S̲)&MÕÒ•ý¸éÐêç~oߘ==ÉŒ rÖwO‚fSJÊŸôù¬X­J²·O_ºZSÜ7Íx_1æyŒ:V¤f”zú [4u¸Åd>w¼kÚdÇkö§*ÁúÌ×=Όڞåúœü¨6,IÔ4ë{Wã«»õ¶ýBJˆîUzºÞþ÷~ ÙÊk[Å«wÞy§½³t0ÉÚîÞWqnö € PG'­ë-å_—ðmfò][·3£•ö)ϺÃýaÆ5­žoJÞ!€TEÀšïÖ[oÕ_þòýêW¿Ò#<¢ÈÈHYׯßyç-^¼Ø.æ†n¨Jquž¦*Mj®Q¹_j銒‹ÚÊJQÒ²Š‹ùõºyNL™ƒût,³Í½áÈN÷”\2÷Sø.§›Ï·”²ïœ÷p˜í-ƒÔ¼ìî ¶äkÍâuo’{ºÀ ’Áæ€Ö=¹7̬»ÿò{6—Y)m¦Ï1ŠŸ;Í\r¶pàõfý‹)J6ÏlÌÈ¢®†Ÿ*ݰÒÍÌs=?N±þZÖŒ[£\¥˜—€HÍ^™¬›êÜ0‡ò§­Òªi2uhævíÙ½Së–¿nß@â¹m#¿ä3…uýÇ ÿdþûcg™;è‡ÿ¬ÓîãVš lçÌ•þÁZíéú½f‚é£;¸dmqËÿS`ÊpÅÎ2×~d§=÷QOpÉÚ1"ÁL¥ü–X‘¢mŸ-w/FϯX\r.!Š™<ݘ鵷כ“ù¼ïØ®7­g`…Åk´wÅ®µý’³á=Y·Á$˜ç¢þ¢[s04ÍjÙݓͳ#?Ö=#Qå&¸Iî Á¥*Ó‘@ 1…©³¹æðõÆ/Ôæ'ÌcŽkǦ­L׎mD+ -[¶hýúõf‹8………)/Ï )*ù^·hÑ"=öØcò÷÷oPý¨ÓÓî&›Ùì]KX 5ß1Ý3¾¹7[ßY­)3¬%gÅRmº'FžÇ4Ù[Í™GN˜µÒßÈ;[t²¦äræ/áwî;Ý|ÎÜÿ.pïÊ+ôLâÞä~uäçÊ93X€yMˆ¶¿é\ Ó„„Û5rH”ºuî¨sº…ëk3}Éd{T‘»„ê¿:Ž–ŒbÜ¡jw]–6«~­åäí¢K»›£bÅÌÈ´O3ïR¬÷вr²>°Ý³µ_÷ÎfÓfÏûzí‹§ΕªŸSÖH7Wx§oU|4JE†JÕWå·E%ñ&Üÿ”&ôiaþC*;P-ZÚÛ»ôh>~^:A¼©9‹GjVn¶²vîÐ?ß uŸ¬4Só¸<²’5ù×½´vñõ>ïj¤r A@àT9Ÿi‘Ô1ŸA$hÌ‚RÒþ¤µûc㎘ÝGJ%±î6ƒÒíÅû/yUÓyŠ3Ï­Üm½é?PK}Jˆ4Ïøt¥Ìß¡…ø£ÏÍž2Ü+^ùÝ«GØ¥›Ž.Ò´twB¯×ý…Ú“áüÌÕµG©qß-dOžãþðè¼­*,¼ô§šu?··)4]ÇŽ[wG[ÂôóaîÆ;ë c¦¶^¤äoiËìõøl•¬Û®¢ÿgü)oDr–P“¿óµú53*,,A7ZÏEõ*úº[£•÷˜%ïuO;sˆüä|ø÷ú|­óyÊ~ÁÖ­×ös˜d(îñdÍÞNǬa:¦µE:´×\ j×EŽ7YY´s‡yï=’(ÿ{Ù³ýº>÷:ò¬¾ÌrÜzõýðû½U–Y‚<,#Ô¦Ì0ÿ]÷?£Mð&Eï}º]­Yirôפ˜H;oþÊߦ·ÍÇÔÑsG—ꉙn{Ôõê>/M¯”!3ñ¯gòdëIž›Ì*h,¥ `ØŒ PSAýApEÉ>ïu+CP‡AŠ¹Â•5¤£†˜Ç>8 uÒ/@A~”Éf@êXÁ$ë§ôòâ‹/ê—¿ü¥dzþùç5sæÌÒIêí}ýpd®vX¬®F_«‹+.Y»/нÖz±—”¤÷œÏ‹qo°^Óæèo[r½·ØëûS—)9ǵyôÏ|ž¿do=Ý|ejòÞªK®2“ôÛK–þ¸t÷Nçúîuz+˹öÓþöWOPªûź¨tp)w‹’¼G/™‹ e–*B"/Sœ+cΊ{õæö²f™ï¿Pr\ÌÙ9§Ï/SÝ™nè;f’¹dàZÒæéW‹×y.v¸7»_7,y ¤MÝô3ó”ç†Ôw;í×*ŸS!úɸ ®¬9z`þ›*s4Ì´8 ç,óíÏÎó¬W{%b F»®õ¤Í{Z›ÊT&mÿ¿ßéÞ9s4çiZeMžS‹Ïy¹_/'Ü«yóæéÞçV›§-ø.a‘1æ¡ä%¤ª:ûŸo)¼C@àLökù‹Ö 0ašžhnþ0JbÌEûǬO™v«]xFR²2ÝQ³%é±7´ß«Úì o¸n$ª®^Ÿq«šÎSTH?]9Ô¼ËIÖKïgz6[Ï}iÚ<óùðiíþaì1Fæ3Òì)1ŠŒ0Á%óùmÓÛKcø½þ[c‡¬Åýñ®û‹í÷ÉKSt,4Láááæ'L!S7y²î\¶U‘—\i§I™—¤-ž?Þ¥þùY;g H²("/qÞ¸”lžµäý±OÅå¬DÆLöO²–ÍÔÔg—+3ÛL‰g¦ÅÛ¾îUÅ_3Ç$›tí»„÷7þ¬EzpÉíÏÉU®éÇöuojê¨Éö!Ϊò´o_ItÀ}§dÆk¯êýu´aÃåx]ððm^„n2wbº—'&¹ÍL]Ù»•jè7ÇšmÞ¹ÜÛ•wºÓz ¦ß=TÒ–ô¤™?_©¶»ŽaŽvo_§gcÌC¦Ý#ª¤Äßß⺓´õ¥@UÏ©ˆQ·˜'*¸–´';u±6ef+ל'»7¥j¶¹ÈâyDÙÐûuU·Êþ•¸ ªèÕxÝã®-M £¦j¹±Î1ÿ^rsökÝ›s5iËÙ\ ²‚xg²”^¶Uë"™µ¤?¡I³—˜þî7mÈUŽ9ÿÖ½9_s\S),J=+¿å,‡ß €Ô @Ά¿;oNz»†‡—Sp·QJ°F&)Eo}êR2ŸOÇÇLÕü¹³•˜8Uc¦%Ù™ãçN’ÏDpUMç©:Dc¦N·ß­˜§©sëÕWkjÌ5öˆ%¾Gwi/{\²);vê\³‰æNQÂ+PfÆ'½öœ–oÊ6kÎÑPfäôSM[—oW@·«ôu_TF’ÆÄÄëÙ%¯jɳ³uÙ$ç¼€·Çžo÷4Þ™Æôyòe•8{¶¦N®ì ‘ÉÛ1Øþ¼y•æÚ7Š˜t£&jþâ%Z»«“Ï*™ZÄû©Qž¸Nh”æ?¯ñ÷:GŸ¤/›§8óSzé÷”nuµkÔ­£µÈL b-i‹î5?¥S»ßgiNÜ(e%­–53‹5«­½ä¤hÎL+˜^XêºÛ³l{»­¹éŸi޹¨¸ïÑ÷/Õõ}ÝA‡<0Wu5ñû¨’Ìt*î ÊHÖÓJ‚‚¥ëˆ›kfíuë»/îsJ·ÓÜf\µsÑ< {NòCú,Îyá%'=I qåÁ£µô^Ï#òzžRÙº+ÞbyÝ¿ö3=aqÒ5oÚ$•=+Íì¼Ñâåžf=V *:/¯ùÍ\½è °f¥,R‚ù)o‰Ÿû W ±¼½lC@ vþû‰ó³XÜM£+xºg˜Æ%L0çW(yù¿3ØÙŽþfÔwËÏÌ6Ï}:Ý•ðø5µÔœÇUMçݻШ)Z¹0X³f.PúŠ$ÏÔ¹CãÒoïqN=+é~mKxBYé+ä¼_$Lñ‰÷ë»—ŸPJNºþ´æÅF ÓÔÄÑæsWŠ2ÌE7Õ„(vÁ*iþÚ—lFå,rO-Ý_ÓŸúnîë¼Û#vÁZµ]2W÷.JQš™"Ðú¼7}’ö¿¶Hiž›!ûè[R§ßiβ4%'¹ÿÆwWüÜßëî±}]ݲæÔódrm+y¹ø&3J,Ù|B ‹×hWý%{YC@@hÈu`ÊÏÚä‘Ó?þš²Sו#4pÌuênLÖWÚ¬õ”=³äùA O%©û¦¥ö—Y߬ýÍ—û‡Í]žî/´¾{«›¯y;ç<õjé¼SÓ*­¼mÖöˆ‘w+õµšÿûÇ•’‘cmòZÌEóE;aì@Ï¡ÈØ9Zh¾kÏ4_úK/ÑñsuÏø–šw¯sªO‚P]ûèSJ¿û÷JËr×q±Ú¸Žbùm ÕØ9¨ÇÐ$=þt’Ê6-Z=8K±>^U¿‘fB»e梃kž}Oʬœ2Oލ›hUTª^xnQ…¦î¯gýRÃ"Ü/wµÜ— w=彚çS•³¹ºçTHd¬>XÕSI žRRŠû¢NIÁÑñiÖ/cåÝõÐ.ýeÝÛ›e.î´o]Ú¤$¯½æÓ‡P]ÿè»êyáB=öD²sZ¯äaCã4wÖé øžI=—ÝÆêÝ¿…Ù"ONw™KÖ´î¹7Qcͳ™X@¨k‘³ÞQú¬Êkí6vŽÒ͵lYòýzùm³4åÑÙfTp®N˜-mÃÂ<Ÿñì®_UMçÇZq³™²ígùEE lÕVa!%Ûâ®7Ó¶]cF¿›Qþ‡Lýö'„Æ(ñ°C­Ú:ÿ¶GÝü¨ÒÍï®ØY‹;ÓŒ(v˜|&h¨§ýŽìMú[Êu¼l¶Ò§cê¡9êØg°F <óQek`  € € €@m 4ž“£Hî{F«…rºùªU ‰›”çT“:Üt@·@hD_EE¸ßUüZÕt—Pÿ{BºiØHóSKM ë;B±å?6µ–j¤X@Î.???Ëßßÿìê½A8cëïƒõw¢.–Æ` í£„ø úè›|uo]fŸn¾ºÐ§ŽÆ)À9Õ8­F@&!`]h;.¸ }h'DêI uëÖúá‡Ô±cÇzjÕ"€4Tëïƒõw¢.–f?š¥.*¢@@@ ¶233ÕªU+…‡Ÿî³>k»…U+?;;[ÇŽSdddÕ2 @ I hëÖ­êÚµ«Ú·o_gwª7)d:‹42“'OÚ7ìÙ³G Pppp­÷€S­S € €Ô•€uÁ-##C]ºtQ»víÝÔAÖÈ¥C‡iïÞ½êß¿|)¬«cC= €5+PXXhÿͰþnœ8q¢f §4@F'мysû;õ=(((¨NÚO€©N˜©@@êJ 1_p«/…uu\¨@@Î.Lg×ñ¤7 € € € € € €@­ øÕz T€ € € € € € pV `:«'A@@@@@j_€SíS € € € € € pV `:«'A@@@@@j_€SíS € € € € € pV `:«'A@@@@@j_€SíS € € € € € pV `:«'A@@@@@j_  ö«¨ß~üñG?~\yyy*,,¬ßÆP;Ôª@PPZ¶l©-Z¨Y³fµZ…#€ € € € €MY ™ Àüx69rÄ.œõ±´³ù0Ò7ª,àp8ì S›6mªœ‡„ € € € € €Õ8ë£.ÖÈ¥àà`ûÇÏ«wzÆ%pòäIØAeLëØÑZ@@@@h\g}Äźàl˜.5®“Ö"p:Ö¿sëß»õïž@@@@@ öÎú“EGp©öN JF ¡ ð。Úƒ € € € €g£@“0Ž>!€ € € € € €õ%@€©¾ä©@@@@@h¤˜é£Ù € € € € € €@} `ª/yêE@@@@@©¦Fzàh6 € € € € € P_˜êKžz@@@@@@F*@€©‘8š € € € € €Ô—@@}UL½x äååÉápÈÏÏO ó´´ÚWPP ÐÐP…„„x7Ÿu@@@@@š”@ü’ߤ=v옴ùxc¦žx9UGóN4H”s»†kÎcLÛråïï¯ÀÀÀÙN… € € € € €@m `ªmaÊ?¥ÀÉ“'µ|ÍVMž³ì”ië3ÁÖÌJYŸ¡µKî1Í8¢:Ôgs¨@@@@@zàLõFOÅ–@nn®Ú´i£¹/} 5kÖà ŠŠõÌëŸ4Øiü8«@@@@@¨ F0Õ…2uT(PTT¤-Zh×¾Cöó—*LØ€vü÷«} n@-¢) € € € € €Ô­¦ºõ¦¶ üüÏ©ØÌÏ¿‚^°@@@@@¦!Ðx®ê7ãÑd{éç×xfklLmm²'G@@@@¨ULµÊKáUðóo<§¢#˜ªzXI‡ € € € € p– 4ž«úgé [N?ÿªO;÷çÙ×êÆŸ]`g,(r(òšù:–—_g”ͪÑÖ:k!€ € € € € P‡˜ê›ª*ðó¬x§×žÖ-‚uͨž-ÁºöòÁzeÕ&϶Ú^iLÏ‹ªm ÊG@@@@hš˜šæqop½ ªR›&_=DVPÉ{IøÅ0½–ºÕ{S­®T-V« p@@@@@êQÀ÷J}=6„ª›¶@`Pp•n¹*ªLºó{wÖEýºisæÁ2ûjcCUƒaµQ7e"€ € € € € Ð05„£@Ôü” õí¨óº··ÓmßsXç´o©ÐæÎ‘O·\uJZ{Ê2j"A@ƒa5Qe € € € € € Ð05Ä£ÒÛrÊ^ß6æ|Oš¿~¡¨ÞáŠÕÇÞ6ñ§}õøëÿQ£Ø“¦:+íZØåõéÒF×–oiË·‡Ê-" °j£­ÊÍÌF@@@@@ÎLgÁA<ºTy€)´y b†t·»Zè8©”MôÕÞ•–Q:ˆÖª¥^™uE¹Á%«Ð=Úé•û¯P¿á>åò &9+ € € € € €MT€LMôÀ7´nŸjTÐM£Îõ4ùÍO÷È~ùú½êß­½ï‚ÈvêuN[íþþ¸'me+³®¬Þç´Öw9ùJ^»[_ìʱ“èßA7ê¡ ?µk¬§î¼X×=Vò|§€çsŸ*+›} € € € € €œÍ˜Îæ£ÛˆúVÙ¨ ~]Z©_·Övo2¿ËÓÖ=ÇåNŸ²é{Ý{ÍI;d%˜xi=ÿþ×Uêùù½Â´êóï4ïÿ2dM»ç^6}sL[²rõÇ)ƒíMçF„ꪡ]•ú߃ö{ÿçH*wz^@@@@@hjL‘×ÔŽxí¯5*¨¢Ÿë£»yZ½rÃAŸtù?}¼ù{Ïþ_üä5 ñIã]®'¡Yyû_4÷ÿvè¤ʤÿô«#ú2ë˜'ùÏ¢:{Ò`ò°°‚ € € € € ÐD05Ñßкí ò~Z· Ñ•ƒÃíæZ£ŒÞÿü‡2é––íéNÛÐ@]Ò¯}™4î²= ÍÊß>û®ÂtVúO¾<äI~^×Ð’´þ üóÀ°‚ € € € € Ð$¸RÞ${Ãë´A›+Îï –!þvƒWoÉÑ ‡T:íÖ½'ôÍÁêÙ±¹n°Nú׎’ÑGõÖÏÔYº,ï´ß+ö¼íÒ.Ä“ÖÏßÙÏNV@@@@@hb˜šØo¨Ýõó+?h3ñ'=MÞôm®";µô¼÷^Ùðõ1O€éÒ~aêÖ\ÙG ½“”Y÷kæ§Šêµû}OwZ+  € € € € €MY€SS>ú ¨ï[?ZìiM3×Úz«OÄ…ží³&t÷¬ŸjeDø~=öö›r—õ£;Ã#/º×ôÿÙ»À(Êóã? p…p_Ô"‚â‰ZDE¤(EEQÁÛâA©b¥xVET@-€ âQųˆUÔâ×_EÂÎ@B‚üßg6»lf$äú¾m²»ï¼óŸ™Ý ûø¾³øÓõÓ’U¡×Á'¶•ÿýÀ¦ÒÕf+ØG/ÿ¼kCùü4ö>Ö¦¯Ýð©Í‡^Î_èQÁ²ÁÇÐVž € € € € € P±0U¬ã]jG[Iïk4 ï)J®]ÓëïÌY鳯~Ømß\´T~¥Ú¸à’¥ËöÓ¬?³_e·„^Ávà }Äa¡—s>ý*¬lì}B;ð@@@@@r,À7ååøà–©¡gå?»äÏ¡î?ýüÌÀì!_oF‘/ï©ç_í×÷Ô”œ\«à¾¡­RÇö­ n «+µycý¹oÏPéi¯¾»«lèÎN¡ÍTNÎöˆ}+UfS—' € € € € €¥F`ÕªUzþùçÕ§Oµk×®Xûµ_L\z衇dœ?¾~ÿýwuïÞ½XHåeD VЯ¿­vÁ¡)»:½—³… ÔaµE­§Šr¶ïÐÓ/¾ãýìj4ìYŒýÂJð@@@@@°Ø‹Å`,³dÉ]sÍ5jß¾}±õkÏon³].YU;wîÔ³Ï>«5kÖìcÍì^.*»eðöÇO8Ö¾´^Ï@@@@@(a &xÁ%ëÆvw šÇ{L .,¶^í—“?¸MϪ_¿~ð%YÀf íŸpãJîôß«6÷ËÛ&¼§˜E·^Ù_Ý»tÔ££.×ᇤ»†R¯ã»È¶Û~ö8ì‚ÓÕ¦UªWöÇÅ«•“ç*wÛzp„^xx¸÷pÁ£5úæ§4/(Ô£Û!zxÊ,/ •±5ÏÛ–‘•í=÷ëu\gM{ó3ÙöÏþo‰zy¨kw“«·ŠïÔÖ{ ˜¬- € € € € €¥\ ]»vªRŭΖl&Óš5kÂröîi‘˜êׯï­á矩ôÎ;ïÈÖü#!U ?ÀÔñ –êØ6U ëÕÑ¥ýOv¢uïÜN_𣗬U¢[#Ò‚@{ä5·Í½)l6‘·¯{tA§ôM[Ýrz óóªÊ–ÀKmÒÀ-u—¨sN=*”ïžØ/mmFh¿ääšJß¼Õ *=üÜûvþ)^Ý¡3˜¢B2@@@@@J€-…÷ØciÇŽ:e3›ºwï^ oo^ËTŒàrxÖq‹„Sð†RÖyòƒ6çô:JçÝú”r¶çjò˜Ázyö7šóÕ/J[»Å„¼eí>ûþ7ïyÆÖín¦Q/ õÍO˽àÒ˳ÿOw]ÛOmZ6ñª·ÙNÿºÒVoôMpÊÈÜæêÛìÕ‘“·ÓÛïæ‡öK¬VÕµù™ r¥xËìM|écµiaA«ü·Kð±Àx € € € € €@é—Âc4Ö³hËæím+ítiowÞÝ~±`7–Ú_A¦´´4Õ«ç–Z#•JÌÌLÕ®][úßX’®Tö²`§Îéy¸Æý¥×ï‚[xUZ6lØ ÔTw. € € € € PÁbÅfŠ2¸d¤E¾D^øq Îdò/—g3™X./\ªâ>¯U«–,p×5rËÐU*õ?‰‰ÕtÃ…'+''§â4FŽ € € € € P*öWpÉ_¬&k€ “)â Ø ÆÎ8æ M}‘?¸…+êM¥ìÇ–ÍëqD;½ÿÄuj×¼Ž,0FB@@@@@ ´ìÏà’¹X—È G5°;î¸CÍš5 /Z¤ÏY"¯H9‹­²ŒŒ Ùj6Û­~ýúÅÖÎÞVl7A[·n²³³½¥ñ’’’ö¶*öÛ,‘·i@@@@J•Àˆ#´qãÆ}*êeñÂ+ßo&kÔdêÞ½».¹ä·2šÍX)žD€©x\‹«V äX°©´%›e•œœ\ÚºEb`ŠC6 € € € €”[Ï>ûLÏ>û¬7™ÃYœÁ%«¿˜¬A 2?^]ºtÑÅ_\¬Á%k“)¨X˜*Öñf´ € € € € ° ÓäÉ“uÆg¨OŸ>ÅʲßL6šœœ%&&ëÀ‚•` Jðˆ@Å ÀTqŽ5#E@@@@‚û+S¹`³ûçÕþ .íŸÑÐ  € € € € € P:öW ¦DL¥ƒ˜^ € € € € € €ì¦½Qc@@@@@@  `ªÀŸ¡#€ € € € € €{#@€ioÔØ@@@@@¨À˜*ðÁgè € € € € € €ÀÞ`Ú5öA@@@@@*°¦ |ðKãÐgΜ©‰'[×þïÿþOýë_÷¸þüã²>…§çŸ^cÇŽ ÏŠxÞ»wo/oòäÉš1cFÄö`†õçÒK/ ¾ÔÚµku 'èóÏ?åÝwß}zõÕWC¯ã=‰7¾Ñ£G¨7^=lC@@@@@ ž¦x:l+w:tÐÍ7ß\jÆÕ±cG­\¹R[·nõúôÕW_©U«V²Ç`úî»ïÔµk×àK@@@@@(q„ï(íÛ·ë‘GѼyóôûï¿kàÀ:묳”žž®x@Ë—/WRR’®ºê*/XñÍ7ßhΜ9Z½zµ–,Y¢ã?^õë××›o¾éíÿ·¿ýM‡rH¨o¯¼òŠrrr¼z-óõ×_Wnn®úöíëÍ8úâ‹/¼²gžy¦Î;ïøÀ›­s÷Ýwëˆ#ŽÐ;ï¼ãm·Ù@ß~û­×¿öíÛ«nݺÞ>ßÿ½}ôQeffªqãÆ^`¨Y³f²¾vØaúÏþãõéúë¯×”)S´jÕ*uéÒE#GŽÔÎ;=?þØ«ëÈ#Ô­·ÞªÅ‹{c¼æšk¼zZ·n­¹sç*!!AcÆŒQ‹-¼ò{úkýúõúç?ÿéù6hÐÀkÛú-ÅÏÁ¬ùóç«[·n^`éŠ+®Ð³Ï>ëU±qãFϲeË–ÞLª—^zI;vìÐþðÙ¸í˜ZÀ¬ÿþš0a‚ jÚ<î¹çï7mÚT•*U mã  € € € € €û"À ¦}Ñ+Eû¾øâ‹^ –oû׿þå(,Àpï½÷zÁœéÓ§kÔ¨Q²%ß6mÚ䕵€ÏM7ݤ©S§zÁË·ç矾^{íµ£ëÞ½»˜ fZp稣Žò–[·nàyâ‰'4kÖ,o6 ðXð*˜,fÁ ~Yp˶YàËúky/¼ð‚{ì1ýôÓOÞ.Û¶móú{ã7ÊúÞ«W/ÝyçÞ6 šmÙ²EO?ý´X¹ãŽ;d?V‡-gã¶€Õ/¿ü" ȘÍ×_í-?gA2 Yÿ¾üòKuîÜYÓ¦MÓ‰'ž( ¢EK6Öûï¿?ôcnÁdË×õéÓǫÂzwÝuWpSÇxã± ˜à,-Z´HÇsŒòòò”‘‘áçðÃ×?üàˆÏ=÷œ×ÿgžyÆÛgÍš5^ðÉÚnÔ¨‘—g¿,¸tê©§zÇèºë®óêmä  € € € € €û @€iðJÓ®Ÿ}ö™Î>ûlU®\Y)))^°ÄfY`âœsÎñºjK¯Y°Â<–l‘ͺ©V­š7CÈ‚8¶¿Íâ±@LxjÞ¼¹WÖ@vŸ KVîÓO?չ瞫*Uª¨V­ZÞŒ&›/Y@éÊ+¯ôf*ÙÌ'›ie³kj×®­3Î8ÃÛõÇ”Í.²%í,~úé^PÊ‚`–,pbÉú`ãhذ¡ªV­ª&MšxÁ3 ÚØŒ$›Ád *Ù¬ªðdí{ì±^Ö¡‡êÞ·Ÿ·mÛÖ+geíçÀô6Ù . hÙ 0 ÌYpháÂ…ÞŒ«à¾ÁÇxã± —ÍnZºt©8àïؘì8—Ç3g3°cjÇÈ‚€–L6k,|ö•ô¬/¶¥6mÚx3¤‚åyD@@@@@`_X"o_ôJѾ²åÒ‚É–•³ ýX@"˜l)8›c)<ß^[€&^²™:ï¿ÿ¾Ì9í´Ó¼¢d±U0ÙsËó§ð¼zõê…Ú²åÞüûÛ¾ Ï·¼ðºÃû­ß6ciܸqÞ §£>ºÀ=¬.K‰‰‰'»ùmÁ™` ÊŠ.[¶Ì vYß-Y.˜n¸á†WÛo<D³ ÕçŸ Y€É‚†¶tž“li¿äää`3ž_ð8Z¦Ö“õÍ‚~áN~ÏðòDvï"+×´iSo9¶=†Ý³ÉfÐôîÝÛ Y ÃîdËáYºè¢‹4zôhoÉ;»Ï-5׳gO/¸uæ™gzÛ-ÐaA˜hiРAºýöÛ5tèP¯ß7öŠÙRp×^{­ìÞA`± ×ßþö7oFV´züyv#["ÏbÀi×®w?¦SN9Å_4âµYY`ì¶Ûn‹ØæÏ¸ùæ›u÷Ýw{Ö ºüòËýE¼×»-égA0[ŠÐ’ˆ,˜fËóY²Tv_©Áƒ{3™l&Úßÿþwo[¬_·Ür‹wÏ-»Ç”ÍpkÙ²e¬¢ä#€ € € € € P(J;]*Ôe¬pZZšlI¶Š’,0bÁ ÿŒ Õ¬Y³À’i{crÏ=÷x³—Ž:꨻[»ôð/Ãfù–gÛâ%+g3‚Âg7Yy;=m&”Ý/©°É>X±}mv•½_F°°õÅ+o} Ýâ•Û—ñX½¶,ž#Ú,©Xíڱ߿Xõ•…ü 6Èfï‘@@@@@ŠG þ·þÅÓ&µ£@¬Àþ,H1~üxïþCGydÄbµ+ß_A¬r(ÛÛ¾[`+ð²ÀUq—l,{\²rû2Ûßu» ÖY¹ð´·~áuð@@@@@pLá<)`³¢N;í4o©9ÿ쨘;±@@@@@Ê¥¦ryX‹~P6k¦sçÎE_15"€ € € € € €@™¨\æzL‡@@@@@@JT€S‰òÓ8 € € € € € Pö0•½cF@@@@@@ ÀT¢ü4Ž € € € € €”=Leï˜Ñc@@@@@@ D0•(?#€ € € € € €eO€SÙ;fô@@@@@(QL%ÊOã € € € € € €@Ù ÀTöŽ=F@@@@@JT€S‰òÓ8 € € € € € Pö0•½cF@@@@@@ ÀT¢ü4Ž € € € € €”=Leï˜Ñc@@@@@@ D0•(?#€ € € € € €eO€SÙ;fô@@@@@(QL%ÊOã € € € € € €@Ù ÀTöŽ=F@@@@@JT€S‰òÓ8 € € € € € Pö0•½cF@@@@@@ ÀT¢ü4Ž € € € € €”=Leï˜Ñc@@@@@@ D0•(?#€ € € € € €eO Ü˜*W®¬;w–½#C@`¯ìýnï{ € € € € €@ñ ”ûoakÖ¬©¬¬,‚LÅwQ3¥FÀ‚Kö~·÷= @@@@@ ø*¹/d™ÞS|¾ÔŒ € € € € €”;r?ƒ©Ü1„ € € € € €”°¦>4 € € € € €”5LeíˆÑ_@@@@@@ „0•ð y@@@@@@ ¬ `*kGŒþ"€ € € € € €%,@€©„Í#€ € € € € €eM€SY;bô@@@@@(aL%|h@@@@@(k˜ÊÚ£¿ € € € € € €@ `*á@ó € € € € € €@Y ÀTÖŽýE@@@@@JX€S šG@@@@@Êš¦²vÄè/ € € € € € P˜JøÐ< € € € € € PÖ0•µ#F@@@@@@ ÀT€æ@@@@@@²&@€©¬1ú‹ € € € € €”°¦>4 € € € € €”5LeíˆÑ_@@@@@@ „0•ð y@@@@@@ ¬ $”µe7lØ ôôteeeiçΪR_õ7‹h"só­_½""¿Vzªß¤yD~ææ®|ZD~­:u]ùÔˆü¬ŒMZ·jyD~Íä5hÚ""ë–ÍJ_¹,"¿Fí:jجeDþ¶¬-Z›¶4"¿zÍÚj”Ú*"?;+SkÒ–Dä'Õ¬¥Æ©FägoÍÒšå‹#ò“jÔTã­#òs¶eiõ²Èò‰ÕkªIË(å³·jõo¿FÔ“˜TCMh‘¿={›VýöKD~µ¤êjz@Ûˆüí9ÙZµôçˆüj‰IjÚê ˆü¼ÜíZ±xaD~BÕjjÞº}Dþ޼\¥ýúSD~•„ªJmspDþ޼ÛyíOv>ÛyíOö~±÷?ÙûÅÞ7þdïÇ÷¾ô'{?ÚûÒŸìýnï{²÷»½ïýÉ>OìsÅŸìóÄ>WüÉ>¯ìsËŸìóÊ>·üÉ>ísÑŸìóÐ>ýÉ>oísןìóÖ>wýÉ>ÏísÝŸìóÜ>×ýÉþ^Øß ²¿öwßìï‘ý]ò'û{d—üiÚ•Ú²i½?Ûû{g÷üiÃZW~c”òš©vÝÈò×®RÆÆuþjT·QS%×m‘¿iÝm^¿6"?¥AcÕ©ß("ßÊÚ>þdemÚ¼!]›ÒWû³U§^C¥4l‘Ÿ±a6¦¯ŠÈO®×@u6È73ò'³©çŒüÉìíøSQ]s÷5ÄÖÌ ¥¯øÍß}Õ¨•¬†ÍˆÈ/ì5Ç6÷Þ]嚣º{ï6*kŽÂ^CäºÏÚ•Q®!ªºÏÚfQ®!r·çhå’EnU«%ªÙí"ò {Ía[ìoŒ?ÙßûãO…½æØáþ6¦E¹æ¨âþ6¦F¹æØ¹Ó]C,Šr QÉ]C´+škˆß~ï–÷ú€ö‡FÍ/ô5‡ë¿ÃŸ¬ÿ•Ü8ü©ð×îeG”k”¶î¥Jä5Jq_CØùiç©?Ùùiç©?Ùùoï²óßÞþTÚ®9ìóÇ>‡üÉ>ìsÈŸÖ®p×™Q®!š»kˆZQ®!Üç§}Žú“}~Úç¨?÷5ǺUiî%òš£AÓTw²ï×ÝßÇŒ(×uÝßÇäh×îï¯ýö'ûûk‡ýÉþ¾Ûßy²¿ïöwÞŸÊü5Ǧ î"ò{ˆÚ)õÜu\´ï! ÷½… vNø“ vNøS©»æpïE{Oú“½¹÷¤?U´ï-Šûš£°×åá{‹Â^süfß‹Dùžãû^$Ê÷…½†°k2»6ó'»&³k3*mß[÷5Çêeî{‹mQ¾·hé¾·¨¾ÿ¿·(ô5Ga¿·(ækŽ2ÿ½E!¯96ºkŽŒ(×uÝ5Grœkû³fÍšjذ¡êÕ‹ü~Æÿ¾,/¯#?qÊËÈv3Ž´´4­Y³ë +ïKìÈï±CµDû’;Z^p‡èÛ¢7`e£—Öæ{,ly·{´ú£åYKö5´m®—¶9jŠZ>ÊÌàÎÑË·ú]‡¢•w™¾‚»^F+-Ïö°ühÛ"Ã{W¿]OD«?Z^°…hÛ¢åÅ/Üù­®hyÁ=£m+ìùïxÅ:ç‚íû½¶ãÿˆò1ޱ¿\ðµUm̱Π+­|°¾ÈÇ•/lý±<ãõ1Þ¶ˆþÇo  Xžõægv¼v>DëŒîxe£•ÕËZÞ#E+-Ïv/ìg„Õ«®hÝ)vÿXý‰u\'£ö¿ˆ<Í Hêõ7/Öx£áç÷%jЍ¼U­þhyÁ&£m‹–¯¼k4¸¹à£;îÑꊖÜ1ê¶õ[vÔòÁÊü…<^¶{´úís&VŠZ>FÿcÕÓ3V [1÷§wõ]¨H| Ùÿè=Éϵs"n‚ý/Ä…<ç¬þhF{±ëUñÿÍ(\bõ?ÖŸÓ/Ìxí½Q˜ò®x¡Ê[?£Õ-Ï; …ýŒ+tÿ ;Þ¢)åûOo¸æÓb×izÛ3T$âI´ú£åÙŽ±ëþ-lÿ ]¾çsaë·Gµ°=FŠV>Zží^ØÏÛ'Z]Ñò¬¬¥xÛ%vý¶²ERÞN”)jý…öŒQ¹Ë.’úãü•*’úcŒ×êŽZìáF-¯ŽhÛbtÇk5Zy×hÌE+ïFU¨ò…­?fånƒ×vìæ#vµþGCDÁ`†«»0å ]qÆr¼…îaÿfÛ1‹s~Ùƒ±ûãC¨¨Æ£z;w‹¦ÿÁ|,þ¿1þæìFèU,ÿ˜Ç¬?ßßþãùÌÌLïgëÖ­JMü6Bƒ(GO*¹Ç²)GÃ,8”œ¼ßµ)Óf­,rÿµtcÕ¬“uCÁ½x… € € € € €°•¶lÚèVUYåVõ:P êÖQbBäª÷*û¯*d€ió¶\åî¨pqµ²¶2@@@@@J¹@Õ*•T§zä­0Jy· ݽòB‹B’Gp)Š Y € € € € € °¯%Q!LÌ]Ú×·û#€ € € € € €@4Šƒ¨¦hœ<@@@@@@=Hسbå«ÔÖ-›½Õ¨]§| ŒÑ € € € € € €@‰ älË ´]«Z‰õa5\!g0¥¯\&û!!€ € € € € €E%°zÙbÙOEH2ÀT,cD@@@@@ŠK€SqÉR/ € € € € € PN0•Ó˰@@@@@@âH(®Š©@@ŠF wûv-ûm©Ö¬Y­êÕk¨YóT5nÒ¤h*§@@@öB B˜jÔ®³Tì‚ € €Àþ°ÀÒsÏ>¥wÞœ©ŒŒÍJN®£mÛ¶*77W;ª V×£ºïßNíÏÖò²´fõZefç)!©¶¸ ZÍ ù/˜ý‰N[ € € °/‰ÕkîËîejßJ;]*S=.‚ήËÜ^µP € €Å'`Á¥¿ßv«–.þUƒ/¦Cÿp¸7kÉò—¸¼÷Þ}Ûž^×-»C'9 òÎ@IDATœôÇ8ÉÒÌNÑ„o£©ÓBGžÔO\x–Ú7HŠR ¤²²4wÆÃzxÂ[Êðuá„ËîÓõƒŽWÅù'›`¯_fkMÚ:¹P¤6Qâ^×#ý:ãf]=áj{ÙãzlÐaûP»"€ € P~ÔªV~—?2þû¿rˆ  € €@Y—«%ê‰g§é§ùóõäøqúõ—Ÿ•\§ŽîØI^r©Žëq’î}»7¼xA¦Ì­16/ׯ=êý\>ñmõï£àþÌ^§é7ôÕ”ð€˜-@°9ЇžºU}u­^|ø|±.A!ŽKÖúë…×i¥Rtï[o«ó>Dèòr¶æ¿Û+Ä ( € €åO rù#B@@ l L|ôa¥-[¦[n»CÓ&?­;ÝL¦é’!Wªç©½õË¢Eºrð…Jªž¤a×Þ¨ûÆü]‹]ð)V ÎVI>i„&¿üª&¿8COLzÜÍÚ5óé_ÃnÓœX5ì¿üžº9\:ìÜQšüÖGz÷õ¹zýµÉºèèüØ·jü¬´ýשòÐRb 5ðÆÑZÕƒ'ľޫÿ½â¾²? € €eY€”å£Gß@@ÊÀ–-š=ë}¾üü3½5ó5ÿ¤ZÐJÏù@wè¨>:K?:V÷޾CŸž¢Ã»vÓÌ¿¢n×£Që¶jÜ I LãTÐö0pLGõö¨ËûZÓÞ[¢Ñ§UÕä»Ül)¤³ªOžxXo~»\M|O[nÔ;S&ë­Oþ§µ™VMmì-±÷g·Ä^þ?-òÒ4Ýíÿ“šèè£[é›—gèÛE[¤:²_r¾ÚÄš(µîc=4u¡×¿äÓîÓýÃŽ÷žÛ¯Ä”ƒ4ðžñZzâúȽþèí¯5²Wª·}Åç3õÂóÿÖçKÖx¯k5î¤3ά?ÔÑ-H+>yRã^þYõ8]©>ÐK3¿’ ¡Q—~ºöêÚöñSzäÙ÷µró&%7ï¢s‡ Wÿã” ;ž¬´ÝY_žp}iáúÒ>÷S=;í®]©YçcuÉ5Wë„¶a@9išùôzíÝ@k5n­}¯Ðy}ó–¹Û“ºÖ|þ¼Æ?ÿ?-õ(¾ÖS·ß¬”ÆÔõ7œ&-ýT/¿ðªæ|?_™¤V­Æj{ÜYºøÒ¾j¾»@Ôúš=õßšþòÞ÷ß|cžo­7Æ{àÈò@@JJ€{0•”<í"€ € EàÏÑ=wÞ®¿=[¹v¨Ž=¾‡zŸù']váy²à“¥¾gõ×åîեÐÅ—]©Ì-[ôò‹ÓôÜK¯G©1K¯\qŠþµHj;ÈÝ3ç2ÿ=s²4ý‚S4e…Ûµóp½r×AºõŒ¡úÅWÓùwß§ù#oÕwÁü:.â‚1”¢›ž{U=SÝ}œ²¾Ó5¾ý“ÝZvùKÜI]ôÀ[é(K´e-xÖ»žtUºú^œ©žƒá¡`£RNÖ&enswªž¢:5ôÃÔktÓS_‡ú‘¬M¡û6%Ÿ6FSGœìb~xj°nÊ^íªÍ÷¬À˜¤ëŸý¯No¸hÏdzéKÝÒïºÝEô%l @û(7öclìÎr”³üÂ×M{™|Ò(M½ã4ýìW”ºêϺAׇŒò+«s‰¦o¢Þª½Àqª3PÓ^¿FõC[w=YèÌ Ô¥Í=íb”óÅZ:ÿþ±úõ–ãŽ}wñ¯]=æ € €û_ "܃©B.‘·53CöCB@@ ´ ¬]½Z­Z·Qå*U´tÉbvxýç·BÁ%ëï;o½¡ìœlu<ä0w_¦EjwðÁÚ°~½rss÷b85Õñ¸öýÒ·(ÏÅ5j„jIÑù#ÑS.à‘úÑ=ù“öùì{nÙº·õæËë .¸ Î£_Ü&)|ÿæghÜki†[âîʼn#ÔÌ«÷k=ô¯OC-„?IûþËü—­Õ"%2¸dk¦¨~ƒ^pIkþ«Ñù“¶çŽÑ+¾­þW\Xú/ãÝÛôÊ÷ XÕjÁˆV ]åî7õî‡sõÄÈ3BÍŸpý¤À˜^“ßOií–lÙ¨ÇnÆóÑã£öÈhW_RtùC¯–|v”’½ÞlÒÏ+¼éašûèˆ@€¥Ý@k®×çÉ]á•Ëø`´^pcÛ“ºÚzÌ«óÇÕ^ÿxÙ-;øÊ¥Jܸ!üÇêÞ׿ŽÓ£×ú±yºþ·Ô?nÚ÷þðuÁµàùÖê¿wîvìq»ÆF@@(v `J_ñ›ì‡„ € €@i¨âK¹Û·«R¥JªR¹ŠòróT³f08èmbµDU«ZÍmËUÕ„ªÚ¾=7PÞí»W©Zô½Nù¤.îÕUÍëoÔçï5'ÜôÐ*П„‡éê‘;/š£%Yëé?üjµÏÕéÐW¹¬‹W`å¼ïÁ¨‚Å ýê·yäÏVú£nv²½JÒ!g]¯þ^àKšýEÁ¹XÉ' Vßnö•KMZ4Ïo³½úöîè=Oh|”Îh—Ÿí{ˆ;ž¼ŸõIaNºNêX²0±Uwõ v§ªkØÕ÷n~}Íw}[ö¾ýú;eVo¯ƒóû5ç‹e»z¯.W*¡vÍü{0IÕ«»¨YB‚ý??ýO#.¬'>«ÿÛÚIc_tD€ëÛÊÍH‹—âµYØþ»vÂÏ·÷ 3öx}d € €ûYà·…ßË~*B ý“¢" –1"€ € PÚš4k¦åË~SŽ›¡Ô¶]{}6÷c kšÞüt¹V~ð ÆÑE£ûèßm×ë"è¿›šªo×ù¶gcíÈ@@(½ùOK¤£4Š € €@EHLJRß³ÏÑãQ‹–­tÅÕ×ëÞÜ¡ÛG ×7_ÎÓ Ó&ëÊK.ÔÊiqûzÓÍl²{5õ=ëœÝòlݲY›³6iýºuZ³ôG}4ãAõö`þ~]4 WŒ`Bâ:áè@±÷åI9K4ýÞgꡦ»"<^Þ”±Ïè·œÀf­ûRãxß{‘Ü®mX0(»=4>Y#Ïmáe¬|íVšú±ÖçBy›\[·_¸/+qé€nù¨Í¯hüŒï¼ýì׊ž ͺ’Êß×'qdz—F1û”ØNÇulýböÊNi¢æ©©jœ²E“‡ ÑM×ÕóÒcî±Á1nõ2ê«ÅøÓÓ—êÜ~½ÝÏSÊn|ºÔW×Ü3>´¼à†5»‚õí.c_ú¿/ûî®_lG@@"ýGbEV#!€ € €À> Ø’x7lнY·Üv‡þpø3šýîÛšÿÃwª];Yýœ¯ÓûôÕûォ§OÑ]ÿ|ÈÍfjºÛ6-hsîkÑ‹]þèb¢`@¨@±xõ(=ùéh7{è}ÝÔï}5kÞB™+–çßIºhÌ…j\`÷bÑt]yêÛ:¬sc}÷íÂÐÖÁ¶4\(Û{ÒyØ8ÿÍÙz~‘ôÅS·ê‚§¤ä:)n ·`TKjv® Œy3£zkäIëî6é‹ CuÚ´jVk‹ ¾å—mw…¸ÇQÁVò_…Mf {µ¨—w<{n´k$›*HŸ¤S¯® C\ð[w/¬žïè°£jé§\Ò±º²÷AÊ›Q°Žà«‚u¹\wÃ¥àŒ¨ç¯í­çÍÔûI/>ê6¾¢ËN|ßÕßZë\ýÁåOêãfTÁF|ÛܳþK»ƒ»ªÛÓ}wíÁ3@@ØÿrSZɲ € €¥Q R¥Jºnø-jÝö ]5äb}øþ{êÒí(oÆ’Ÿj''ëï»EO<öˆFýãu<ä°øÃFü¥ê´Ð‘ý®Ð/þWýMñm-8)!õ4=óìÙ{«VÿökD=‰I5Ôä€6ùÛ³·iÕo¿Dä[`¸ém#òmFâÊ%‹"ò«VKT³ÛEäçån׊Š#òªVSóÖí#òórs]ùŸ"òªVuåŽÈß‘—§´_DäWIHPj›ù¿ïÈÓò_"ËW®’ m£”ÿ}‡–ÿücD=•+WQ‹ƒ:FäÛôÜe?ÏȯT¹²ZÔ)"ß2~[ø}ÔüÚ5Ù¢íOJËv‡x³Fý;Y‚ӆ÷Y¬_þdãýÝÛŸl¼6n2Osõ'ó4W²ãeÇÍŸìxÙqó§´_råsýÙîøìÊWÈ·ó3ÚÌY;?í<õ§UKÖöœl¶š¶:HÕ“"òíýbï²÷K´ÿ ÂÞ9î}éOö~´÷¥?ÙûÝÞ÷þdïw{ßû“}žØçŠ?Ùç‰}®ø“}^Ùç–?Ùç•}nù“}~Úç¨?Ùç§}ŽúSúÊeÚºe³?[ ›µTÚu"òíóÜ>×ýÉ>ÏísÝŸìï…ýÝð'û{a7ü©´]s÷5„]oØu‡?Ùõ†]wø“]ÏXŸüÉ®gìºÆŸìzÉ®›üÉ®—ìºÉŸŠûš#+c£»&ˆ¼†¨™\×]Á5„;—íœö';—íœö§B_sdºkŽKýÕ¨z-wÍѼUDþ6÷Þ]嚣º{ï6ŠzÍá®Q–G¹F©á®QZD^£ØgU±^C¸ÏÚ•î3ןªºÏÚfî3ןÊü5Ga¯!vºkˆEQ®!*¹kˆv‘×v-`×þd+HØ5A´Tì×®ÿ;Ý8üÉú_Éß {ÍQØk»¦´kK²kJ»¶ô'»fµkW²kV»võ§Â^sØùŸåšÃÎ{øSq_sØçCöÖ(×îó!É}Nø“}þØç?Ùç}ù“}¾msŸsþdŸoö9çO¥íšÃþ¾Øß²¿/öwÆŸ*Ú÷Å}ÍQÜ×¥î{‹b¾æ¨hß[Ø¿ïìßyþdÿ¾³çùSa¯9ìß§öïT²ŸÚ¿Sý©¬o±_®9Šù{‹4÷½ÅŽ(ß[¤ºï-ªÁ÷¥í𣏝!JÓ÷Õ«VQÍÄÈïªüïÃòð:ò³ò0ª=ƒà„*•”í‚Ly;vªBFÙöÀ‰" € € € € € [ ’Ûdñ†$\JLˆü˜bïY¶·TØLeû°Ñ{@@@@@@ ä*N(­äŒi@@@@@(W˜ÊÕád0 € € € € € €@ñ `*~cZ@@@@@@Ê•¦ru8  € € € € € Pü˜Šß˜@@@@@@r%@€©\Nƒ € € € € €¿¦â7¦@@@@@@ \ `*W‡“Á € € € € € €Å/@€©øi@@@@@(W˜ÊÕád0 € € € € € €@ñ `*~cZ@@@@@@Ê•¦ru8  € € € € € Pü˜Šß˜@@@@@@r%@€©\Nƒ € € € € €¿¦â7¦@@@@@@ \ $f47n,LqÊ"€ € € € € €”QºuëÆìy¥.ÅÜÊ@@@@@@|,‘çá% € € € € € €@|Lñ}ØŠ € € € € € à Àäá% € € € € € €@|Lñ}ØŠ € € € € € à Àäá% € € € € € €@|Lñ}ØŠ € € € € € à Àäá% € € € € € €@|Lñ}ØŠ € € € € € à Àäá% € € € € € €@|Lñ}ØŠ € € € € € à Àäá% € € € € € €@|Lñ}ØŠ € € € € € à Àäá% € € € € € €@|Lñ}ØŠ € € € € € à Àäá% € € € € € €@|Lñ}ØŠ € € € € € à Àäá% € € € € € €@|Lñ}ØŠ € € € € € à Àäá% € € € € € €@|Lñ}ØŠ € € € € € à Àäá% € € € € € €@|Lñ}ØŠ € € € € € à Àäá% € € € € € €@|Lñ}ØŠ € € € € € à Àäá% € € € € € €@|„ø›ÙŠ € € € €T<íÛ·kÆ Þ϶mÛ*# T¯^]õêÕó~ªU«Ê>á\ JðXvw¾‡±ÒN—Â3xŽ € € € €Tdœœ-X°@Í›7÷‚ UªT©È~ì;vìð+V¬P‡”˜˜2á\ Qð¤œÄ;ßýC$Àäá5 € € € €ThÅ‹«víÚjذa…v`ðÒÓÓµe˵nÝ:´s%DÁ“r&í|÷‘{0ùEx € € € €Z ##Û¹T¡|„€-“gçFxâ\ ×àyyˆv¾ûÇG€É/Âk@@@@¨Ð¶DËâUèS êà휰s#Ÿ`ƒætàIƒôçnMƒY…z\>çi=³ nÚ#Êû­PU•@áâ=ß™ÁT‡”&@@@@@ ü lÛ¶-4¸­[·†žÇ{²é›×ußÔ™š:ö}½)^I){ͽÞ^½Æ¨•ÕÌÌoÔçÄ>ú&³dðã?êŠ+®ÐM7ݤeË–íYgòÖë•©34uÎovܪU‹õÆ„û4䬞úøåíY-1Kå­_ 3§ký¾Väµ ªÛ7éûž~ùÆTMú†¸Y}K,Öâ´ÊŽ×Þ¶4×— …ë‹ÏÇfÚÏâÅß»v·Ä÷î6d,˜®™“¾ñ~ÛÝÞ%¼½˜Ï÷’ Ò–°*Í#€ € € € €¥E ONŸ$µ<^–}¬)o-Ò1´‹è\^ž›y“ ¤)!¿ÜÍS^^‚Ûž¤Äd·k ˆ¯Žåš8l‚”2@3Þ½E­ó+øóÙ'iPÏaõлê5¶_‰Íìñu¶x^&Õps¶’Uµ ^ñ´µµ~øá‡úä“OtöÙg{§””83‘òû|Õ?Ö¥‚SŒ2õöè‹4jÒpM9þC—_kZQ¤j5·ÁÙÄØ\¸ì3ôn“¿Ó¢§iàô“ôðØKC³€2ç?í¶6Uü¡¸ÓÛ¿’Ú] /?;×e¢Õ¨>…Ø?FÑNCgë³!…ëJŒªöv1ŸïÌ`Úÿ‡”@@@@@  dffê™gžÑ“O>éýüôÓO¡Ñ½ôÒK¡ü>ú(”_àɦ/ôØÇÒQ#5|HK}9ö5­ +>ÿ5 íÙUÝ»wW׳GjÊ¿uA¢`lÍ6Z]»vwÛ»jÐÈ»õ®›c1&Ê^ô‘fºÌ«¸*\òʤtÓí· P׺nv”e¸¥Æ^=ÔÕÙÕû9ûÆqš¿)0­%{ÑK.2RO?>2´}ä´Ùšó’õ!P~踷e„òVÍvý¤ûÇíÚvökQhöPžæ¿6Ngçï×µçP½4/0ò`;ÓžÞµï Ñ¯)4¹Ë–=¨@›m™z鯡ºÚ4 Õ;RsÓó”9šzv¿XËÜÿ†×U£ß^ì ¿¤YàpÆŒêׯŸ¦L™¢íÛ·ÇíÒöÜð™fµÔû–¨«ÛãÍ ì×fF?þ¸ntç“w¼ÂÌ 6ûØ,zÉûA8Gç=>Tgžs–O®²¼êÃ{ho^?Z=ݱòÎßüclÇ¿çi£4ß;W6éíq7†ŽuÏA£57Îl»XzñΩE¯¹1=N˧¹ëZžæÜ?HƒŸ+ßöÆfÏo|z¶ÞvãíÚµ§æ¹åcÃrï‚Xçâ®mO‡ÎÓžî½1w®{¯çŸ·6ÎoÝyH®·ÇyNÞqsÛæ­²m±ÛØç;¦üÃà € € € € °7_|ñ…Æ $-Z´(TMx€éå‡?YôÞ8骓;7Ô!'÷w›fèÀ7ë^æô‹Çè˶C4qút=è6O˜ô¥‹ Ùl¹/¿ÿªëÆÎT¯tAŠI:vÃL-pù5½­ý:ÏE±ÔA]ŽœåÒ®ß-z|T?Õr_XO»ü,Ý7ó]uïDMzä65úxª.îy·»ï³ór·¸%Ýf¹>HNž¬ÑƒºjÖØþD¶{=]ÜÚW_N¥ç¾ÍtKù-Ó—›Ü²kS¿Õ­LÖô‰·©æÇ“4°ß8¥»ž,~m”.3UݦI“'êªCÑ}ÃÎÔ47ö`;c'¬Ô½“&k¢ &-˜9F“çYÉõqð™® 4zâdMº÷*ýâÚ<çþ¹Þ€·ÿö¥fŒ«·=¢é“T_ÍÒu·ÿ[ mNv´A.6—¢!·¹ Æµ½ò¥å—*yäõïß_ï¾û®vîܹg]K:@Çw–ýo¾“‰o³eÝ·ÜÛ$UìΗé5¤í—žùk¾€M¼cÓò¤“Bç¨òé)wNpXëÐì¤X6!iæÔ•ú‹;ŽáÇØŽÿ¦M?ɘ\4íZšú›n8]3Üñœ2Ëõ}´»¾Ÿ:wê¦KÇNõú>ö•ϼlšÖ½o<®ž;©[ï+u•ö_-UÞâÙ^ûÞ{­NèÐ\­ºŸ­{®êªM3¦h¾ûæ>ÇíÝrÈ$]ßïµëÔCç v=úe½²“šªGŸžÞyÝûôÖ1æ·SºV­Z¥1cÆèóÏ?ßÃŽ%¨šEV²¶hÛnl¼£oþùÒ®[è|™òÖOameÆ=6IíÎÐw޾ò•·Ï¦/ÞÑ—î¨_ܳuX{þt´;ƽ»<ÆÁ½íÊõ^dh}ú:Uo~”F¾1C“¦ˆÌ2†'Ñðá#4bDàgÔˆ)Zš:ýœJhq¢w~MšáÞ‹.¥>Ëj»ê¼£šz¯¥ja«õ¯ÉŸ<®¡žÇ<­V÷vìzë 7˯³:÷¨ÁîüN4QC{wóÞ+Ã9d/eê½I®®·jðéG¨yó#4x„{¹Àé¬6–èùç£$¿ï< € € € € €Ä8öØc5qâDåæ¾ Ÿæ–g FŽ©&Mšxû¦¦¦FÔ‘=ÿ¿n¾’K³Fé8÷J³&뛑=UËtU£°or=¹4i»‹á¬Ô÷Ë\øé¢ð/öªƒ‹§|ªhדäz Ü‹Ÿ´Þ}ÙÞÚ7‰iùìqùV¢î¸Üfõ´T¯#v_ê¿èÖ•¬ÕƒÏógKy˶¹›éäC nï £ÂfL%µéäÂFÒÊ«µÙõ½Cÿ¶a_Ü7ÕéîKõ™oü¢Mý÷jšddá¶ÀÒÙ«½ç3GØ<Žðt¼r]±í.øÖ£{ÛІ@`-?@àúgÉë®Ï ´C >©\¹²Î8ã 6L5ÚÞdký/.8Ñë0UÏøÎÛ'–&¸åñv¥Ú‘š¼J‹wlÔSÑW“F<¯E£ŽÕ//M•ú>¨Î{åÙRÍ¢ã]ý“:]ðF¯«Q£®Ó$oCŠÜö€i þì*½Ö=2ùC r/ªÀŒ'wîFm/E§_ÕWF¼¬ÅwŸèGî]9àµs§ôü]Õ»g.*Ôò4µqùÚ­S÷¸ç¢§ ãùQ·sLþîò9G/3¡¶Å=6îô;ñ<7¿g ž6EËÝ$º§ìN‘?nZ¼BÍΩ/¯¿[™éËõÙ+wiĘ!jwÄgê×"ÚŒ–·ûn5=Îfß]¬—_ú·¾ÿÒé/]"vÊuo”A¹=p Tï\Œ½-tD’ïó»?¢/oÉ?nyéšóæ<5h”$ÇïRìzlkqï•­r € € € € €À~ÈüA“gº•¯nIÔ{0%´è¥Ñ½Rô娋5òéÙZ¼*]éËçëéÏ×$7ceÀE'*¥]/ÙÊ\“†Ü¤·¿]¬U‹çjô•ý{Dõ<ØmÈO¡/¿ýmEùžû¾ÕœÅÖÖ<Ý=xŒÛ£—ŽnŸªãº™4®ï£_š§U«»¾ÐT(tV·Ð¬¦ðv‚m«aG¯÷]1Zs]½›VÍ×WјQ_íækvWƒ7ƒi™æü÷[¥gGél¨‘ý÷ÄãÆÓ„ v\²%à–}û‰¾ývžæºû M»ÿF~Ý$7«f.ïÙB»³I´ f\çΗù¡óÅfÐ ìyûmÁEK)»?6 ítÙîþ[´ eˆÎÈ öõ;XÁíQq¨/ÒÒ7nÒýôš;ó\p­Fm›>—¢ºI‘¤pŸyóæÉû™;Wß.v'V~ŠÞžÛ˜ÔɵÓR3î»ÏizívL{àltŸóßçî¸=>;pÜæN¹]ÃnjҪÝÂÅ|¾G}(;#€ € € € €[ ¸^­ZµT·nݘ«¾²û¼¤èÁ^þ+µò—뚪Ïs?Ñ¿\­ÁÃÇjÀ,›íäR]]ÈÖs©Ó¥ê¶´k]peH`©=·¼²øSDJPï»_–ß©QFhÖ„`–ºêÁ'ué1 ½ŒëŸŸ¤ÍWѨ!RºjôŒÔÉMœÉ®šèòjF̈¨Ÿœ?«&)Y«Íìzü: pzð•î1R­í›éKн[nÒˆû†iæ}Í}ou÷NêÖPÙ‹¢·(ÕPW??Qk®¦ëÌ d¥ôÒ#o\âÆžçî–XY,°Aª^ÛõÈÍÜñR­Tõr1¹IÎkβIzuhç`±ýþX¯^= :Týúõ“͂ۓd”Ycݱ Ni©¾WÝ«aõTàèÅ·±Ûpuøöî.ª*ÿøGŒÌÇJó!²ü¹ŠešiŠnj’iâ?]òaÉÐL×Èp]d[ÔÜXW4%c cÁ ÃŒò!SÓEÍ’Ìõ‰|T4QQA×ÿ÷>Ì03€ i|®/™™{Ï=÷Ü÷Ü9÷Üsî9×ß;ÃÇèÇ‹ô| ]ŽñE.SÊQ‰º£“ïÆ¼énÃÇÀ3nŸ<@;æÌ ì¾JÊZƦSCKÊB×úÖ´tþýbeLÂ9•æIeRŽ“žÚk3ô¿e|ôùʳ¾èì˜Ò>1ô%i€‹Â€ÉCtOéý£¶ÊiË­ØiŸ;å;=K§zR-/¶ÛR~繯#|ÆË0‘Éðkaþ†¿Üñ^ë†L–ó (@ P€ (@ P€ (@.ðý÷ߣk×®w–‚Ɉ|éqcpu‡Ž0ó¡tÈq•F­ õ*ðç®\“}¬ &žeŸÃ#KŒùùÒ\c€»{É!Ù* “`úŒùËw& £)ùŽÒ'iQ–9Ú7gÛ«jÅmoYéc£ôg{딞÷Î;ï¨ cÆŒAƒ J/®¶Ïemòë×X°MžQd@~¾±|s'ßMÞ®ð›¸q[VÝäó—*·«&£QŽqSÅñÊE_µÐNœªqɵͿsƒüÎoîWY2¾ò>•w|W(¯)o#\N P€ (@ P€ (@ P€·PÀà* =ŽãWgœ,.»¢„o"ÿMJcU•&å5ÈÁU£¼H\c«lÚmUå4ÚÄu»ÞΜ9ó¶lÊ®ŒwYýB<å+qøXÓgï»1e#vúLÄ¥Iÿ»€˜ÛÒ¸¤$Èà*¿kÊî¬wöœnA +ý;¿i°’ L¶|O P€ (@ P€ (@ P€Õ"àÚ¬+&MjŽæ¬…®ϪGb@×°i(nUõ¾/õîõBÀ¤1÷rª'‹1ܵüißµ_N P€ (@ P€ (@ PàÎ0´è†ñã»Ý¹ ¬q)sE·¡£«¾×/Œ§êñ0†»^ bO»ëw“;@ P€ (@ P€ (@ P€ (P]l`ª.IÆC P€ (@ P€ (@ P€ jˆ˜jÈÍݤ(@ P€ (@ P€ (@ P€Õ%À¦ê’d< (@ P€ (@ P€ (@ P †°©†|ÑÜM P€ (@ P€ (@ P buêÔÁõë×+˜¡jŒ€rL(džíÄcÅVƒïMöŽ÷ÒûǦÒ"üL P€ (@ P€ (@ Ôh† âÂ… 5Ú€;_V@9&”cÃvâ±b«Á÷¿&{Ç{éýcSi~¦(@ P€ (@ P€ j´@Ë–-qêÔ)œ;wŽ=™jô‘ í¼Ò“C9”cB96l'+¶|ÿkpv¼—Þ¿Z7d*=“Ÿ)@ P€ (@ P€ (@ Ôd¢¢"µ“rÿµk×j2Eß÷úõë£Q£Fêÿzõê•ñà±R†„3îbòŽwÛ]c“­ßS€ (@ P€ (@ P€ (@ ”+À!òÊ%b P€ (@ P€ (@ P€ (@[60Ùjð=(@ P€ (@ P€ (@ P€ @¹l`*—ˆ(@ P€ (@ P€ (@ P€ lØÀd«Á÷ (@ P€ (@ P€ (@ P€å °©\" (@ P€ (@ P€ (@ P€°`“­ßS€ (@ P€ (@ P€ (@ ”+À¦r‰€ (@ P€ (@ P€ (@ PÀV€ L¶|O P€ (@ P€ (@ P€ (P®˜Ê%b P€ (@ P€ (@ P€ (@[60Ùjð=(@ P€ (@ P€ (@ P€ @¹l`*—ˆ(@ P€ (@ P€ (@ P€ lØÀd«Á÷ (@ P€ (@ P€ (@ P€å °©\" (@ P€ (@ P€ (@ P€°`“­ßS€ (@ P€ (@ P€ (@ ”+À¦r‰€ (@ P€ (@ P€ (@ PÀV€ L¶|O P€ (@ P€ (@ P€ (P®˜Ê%b P€ (@ P€ (@ P€ (@[60Ùjð=(@ P€ (@ P€ (@ P€ @¹†rCT&€1‰ï¯@.\Ôµ áÒ¸5z÷ïÎ^žê>«‰P¶Œy‰‰6Çá7;Ι»X±ke„% 030««;`[yW¿)†"((Þ%—”ú”oÙþÄiµ8C(ã)ßiØ£DkÊÁʈ@Ë6ƒ¬Õ­Ìi]fI«ß´XìØ±ÚúY ÷XÒ^j³üH P€ (@ P€ (@ P€ ªAà–40•I—ëèådm?€KÅW—÷#®J Ã‰¯#<áB—$!yy4ÏHŔޗæ%àJnRãâP\4’“– ¨m:¢&Ájµʺãáe˜±'E")9 ‘“Cêüp|{± žà´ùÉÈÔÛŠò~øÉY€O»Æ8¿/¹ÅÚ‚¢éHž?>a1H’tøc¦ÌúJS×á•ÄĨT ˜¤¤<¶'22p檹ÊšW¯Þ˜úÖT¿†çä‘S…ÖEeÞ™·ßòÉê¥<ŸªB#G¡¥k>Ç ATjcD,YޏÈI8šŽçíP㸒«¤u1:GÆ!.z‡)Sæ sÄ$- C 1|3i™íq(@ P€ (@ P€ (@ P€¨.ÛÓÀ$ãáÕs“$\ÑžÃ$o•áíŠÕ½¸ŒóçrQ¿å˜ùy2â’´¡â d¡$ÞÝmÚw“g8}* ?ÀGk~T×2ÿ14} Ò0ôçñ~hsSx?ÔAå!ãTº=/ 0ÒX´a¿òt#v$%H;Îdôlb^[{U‚¼ƒâ0uh´ïØÿoœ´†=/ Lùض"MÒ­¦£}ûxkYŒ pWÞdDQyAôåžmz ïcÊyaˆ_7Ü›µó¥C“äëxÚ§%ì> 䋼äp@iñßÐdûuFçÞ£0NºJy.Að nhßm(BËO]“Æ` (@ P€ (@ P€ (@ PÀ®@õ>„Èî&”™Fœ?* !:áXˆ:Žþ;"rç#<| âÔu=ö.mï\dx<ëäa÷EW^?ß)Ö æw-žB¨D•œŽàG[ NÚŠ‚âú”yüS‘l«w÷¶æµP\¨´nÕƒÁtû¤ÇS¯—½,Ëàé…Ç哳ÞIÖÀ{W¬´ɤô‰2]>£¾O€TõùO/(®”´ú´kªÏ4©éhèb}U]—†Õ›8óæùJ P€ (@ P€ (@ P€ t[Óƒ©®k às;þ8éDôt›† ‘—y ÷™‰ôôtlY÷)"ƒÚ"yN¾È––i'IÞvÐ&½¿S¡öj^p é5ÌI¾†˜O·¨ñ¤o[¢÷0RÚÎ\Ñÿ÷AÒ‰i9?ND–ôz¾³£>JóN©Ép?“Bi{³­ Î’>Q€‹uNµ½SRìÞRzOÉš¼MÛ±ÙöyÂ"F¡­»ºHþØI«¾¨¤Ž9<_)@ P€?oû[@IDAT (@ P€ (@ P€ @õ T{“2^Öžmسgvl݈ÄyÓ0pJœŒAˆWü”&ëàqÇ?AC±zO&LÒ(ÕÀ£¾,÷Ľ®¸(%OÁ¼µä™M9X»à $ˬQ~íJÄQ¬F'ë_ùì=XðÊD O:@]º"%¶nƒ€ ÌŸ¿¾Ó†C£«ÄäŽ.ÏIƒOjˆ¤c²3w!⥕X¿bAÕ}ÈÛ‡mâï#PF¹‹š™ç—sï¿„9áß;iVªØvŠ (@ P€ (@ P€ (@ T‡€Òi¦Z'¥]hÃüj/5bOoøOŠÄÄ—ý <úÈT¿¹e{¿A“0'(sô¹þ¡qê3’>’Qã|üý±3|ŒÚ°¤,ö]Žñ=aÊ´ÆñèóSá‚)Õ| €wÆ$‡$cBúTi®òÂÐÐ^HŽ:—tÔ·¢ €gIÎö½ ¾Çj*å}çñ ºè RÓá3 >”¦.çSé8K‡¶]þð€ xÇ…cFÐ ,Ù² ¯­X‚³¯N”}RúJÉä91Ÿ•}1•H·¶°ä_ë`y%çó(@ P€ (@ P€ (@ P€¨.Z7dª®Èn6“Ñ£ÉWwwýùHùˆõë,؆àŽäçapu‡tlr0™Ô0îJ S>òòÞ][aãL_̸†m±Cí>ÇÉA¤2Ûˆ]‰ïcß½1~P{-XÎFø™!ÏrÚ‚àΖ1ëGQ…%Æü|iR2È~”r° QrU P€ (@ P€ (@ P€ (Pe‡M6U޹\¥1¨txçîòU£Ìõ”–2KK…ValÂÜå3x5Þœ±éYÀ¤å~•l\R6áŠûÜŽcqø(|±-Ã¥Ô‡ód~ßâÆ%uë¶û¤ÌàD P€ (@ P€ (@ P€ î;¢SYé9´:ÅO G7ß{ǘ½ó–lÅC¿ýF÷nSv3œ“½g#ÖlØC9Ñâ±Áå‡*$«‚[e0 P€ (@ P€ (@ P€ (pg Ü¡ Lw&SE P€ (@ P€ (@ P€ (Ô&(@ P€ (@ P€ (@ P€ *#À¦Êh1,(@ P€ (@ P€ (@ P€ {0ñ (@ P€ (@ P€ (@ P€¨œ{0U΋¡)@ P€ (@ P€ (@ P€ @`S?@ P€ (@ P€ (@ P€ *'À¦Êy14(@ P€ (@ P€ (@ P€¨ñl`ªñ‡(@ P€ (@ P€ (@ P€ @åØÀT9/†¦(@ P€ (@ P€ (@ P€5^€ L5þ (@ P€ (@ P€ (@ P€¨œ˜*çÅР(@ P€ (@ P€ (@ P Æ °©Æ (@ P€ (@ P€ (@ P€•`S弚 (@ P€ (@ P€ (@ Ôx60ÕøC€ (@ P€ (@ P€ (@ P rl`ªœCS€ (@ P€ (@ P€ (@/À¦€ (@ P€ (@ P€ (@ TN€ L•óbh P€ (@ P€ (@ P€ (PãØÀTãP€ (@ P€ (@ P€ (@Ê °©r^ M P€ (@ P€ (@ P€ j¼˜jü!@ P€ (@ P€ (@ P€ (P960U΋¡)@ P€ (@ P€ (@ P€ @`S?@ P€ (@ P€ (@ P€ *'`¨\pç¡Ù[ñþŠoQˆ†0.›èáóö vi* ÷Æ«ã{ÃÕy4\J»@Àˆ]‰ñø:·.eR[x<Ác½Œ gP€ À/*Ÿ‰•ÿúvì9‚Ü74öjƒþÔ¹…š,“É£puwEE ˆ• ÿ‹î;7N 8ÈÞšˆßž‚Kãê/¿šŒù0š ÎW&ò6-(^ÅæÃ­¹èý»WÑ» ¯boÓ×ÀÍP€·U üºÁDÒ]™žÃÚØ‘~¹%~7e4ÊËÆKŸ*û5äìX‰6“sÆž3*‹ÇðÕ `ÄŽÄ÷±Mê)Þÿ ‚Ft«Ð5²áÒ×uæú}Ü‚²a5ì(£¸*RPád›Îg !9Y ŸœÓÛæU“òïD\r*àÝcØÀTaO¼“ŒøþÃ8$ç9J£ uG4œO P€·_ ‚û!ÝvËéHÛŒmaIxgh{ì{Aqð¶±£;Ú†´û¾²áíF™ À/.p>c=’“3äZ­a5—_óñѨ>Xœå%[V¡›û/¾«å$ lzÏïù©©yp8†•…åèq1(p· ”_·Ñ5ðó»3/Ì?ޏ¸ddÁ'I“Ó¯¨ì9Àip; ÏîM§ 4õŸÞZoˆ³n­@þ>¼;?AŽweÚ‡îй‚e¯Ò×u¦ó{ôú}ÖmÞÚ/í×{µ60¡n=«LÚ¼¿«'¦v“nL–ùõ*Üzj¨âïLF ®Õ»Kß:CÖ,Wt#@½¢cx~2òà‰€I¯¢µGŠê¶gO½šu@po)@ ÜÑy[õÆ%_Dú.žðøñ¯@Ú“°aÑf¼% L <ÜÔ}(ޏ™*¾"q2 (pûêÖÓ~ûRª­æk5\Ô¨ÝР:ÿÜúk½²é}xL>f‚GÏÛÿÅp‹ n‹@ùuö ¸óB“ô•ž÷;u€&¤vPêïAS1Ì‚ê–kYö`»Š³sI¶gt˜Ëƶëñ=n—@æÆOõÆ%e‹HÝ™Î~^Ú¼ùØ5_º?<Ÿ~: 0xHM'' ”/pKŸÁ”0q>2% ¥³{cö,˜___õ¿ß°`,ÛxXN€ñðj ÄÌË$Ì0-Œß4¬Ýµ±ÓüôÏHÜ•cٻ×!ÐÏÝŸê_?Y¶#Û²Œo(pk\ÑyÐŒ1#FF[u#-0øåè~o.RRbð‡ˆÕÈ×7¾'1Æ Âµ›1/8Á3ç!v^°þðCDâȨDÚdÊÁêÓôe¾<{Î)¿N (@›8µOZ’”ɳ ZÜëWy ž ÿ^½0`H[d¯ŽÀ¨ùZÿ¦ŒÅc0l¦v;,ÃCÓË_RnSÎI;²8l'üy)Ãú CÄÊÃÚ¶ä,¸:"XÖY€L9Ésv•,ÿÎÄÆÃ»ëqð…ø¥œ]»An±Ú+å\ýºÎWò€y«÷Àd<ŒˆÀQøPÍz20+`f&(³+Z¾ _óIÓb-å^óuá4)7Ï ôÓ¯õ‚±zÏ9K<ùr]l^ß3c7JŠd’íÏ †àˆDl]»~Jܱ{àp_¤÷ôŽÌœ:[²´R½ãôš°5vå:vÞ<˵©r­ë8òXŽ·|a|C ÜŽë6FŒÑC»á‚M^hΛ+Sgç0¯.¥¡Äí¸,iÍgƒgÎD ow<Õ½;†Éyã°¹âEÊž[cgÂWæwïî‡iáKJöÞ7)CæÍ´ž³|%Ì‚µ8çà $ÏY}cήD­.R¶ç7m6ø¹Ôñ#n—@6|´¡ÄÆR—e©“T(e˜yæzv)£G,Ãa)£Ø½®;½såw¶dÝAµ®8'å½™jyJ­Ë6 +ÍuïJ™KÊbÁ3c‘¨üþ$nåÿ´Ø­z=§ƒ²b‰ÔòÃÝ.p‹˜¼á­6qnÀŸ—I%C}›§Ô˜à•¦ !M†` ˜„ÐIþr;A:Ϙä¤`*¾€ô¬ lHXŒ„nðQâÉKCøÄ)ˆKk%â¼ ÌŸøÊŠÌÕÓ0jÆbdäyc€ÿx+˦¼€Ø=ê¥ÅÝþý0ýwƒ€©Ø’Êb9&½þ¯³Ü,ôÔð½zf#y~*²²²pÿýîØ—.ËdH¢¸ä£rÌö’uó: þ ^tçaÙ¸!˜“OŸ^ðà#?d Ça^›Zœù† *'Сÿ³Ú yÉÕG©ô Æ‚u1üÙxgªÜÜïÑËnÒåíƒÎm›¢pO,F…Ì—r¤Ò7¼ÕsÒ”©I(²R†ËÈË‘óW-‰»p$]ÖIÇyS>’^›¨–ÿ|ü'!lZ€ç6`ƨ±ÇR)`Yo(@;E œk·Ã+g`Fœ”s}ü6 ½äÞÙä9Aß|M½šÊ“yõ©éèØ¾‘ù“öš· ¯ Qò…,xúÀ¹ðËH‹“rïdõ:Ï|]¨ 幡à1 ðõ–bs:潄µ9rwzÎF •ëÊTɤ|ø£—,Þ7/Fl•g \žŒ,)ÏGHx‚ÚèTð¿LÇס2*½ô^;³r­zæªĦ׈Ÿ6¤É%€\ÇÊñéyžê¿yɘºü‡’ûÍO îTRuædÚæ…æ¼¹¢uvNójóôW%nÇeIk>›¾A*Ò Pë ³ä¼1êåX©þö,›ˆ8¥’ݽüÇ>É—­“ Ã"\–«ç¬ÐIè噇´„p¼óùI»çgõÆÌÕ"7ÕgHw¯xìDâ6hƒ“Y·Éw¸=¦Ì-ˆS?­".B…”)# ÿ‘ò’:ÉpéJ™+Y/sõ’2WzêbŒò GNý²×¸véJ™æ‹½ÒHeÄêi¥¼·AÊS>ROé+õøiˆ’º÷;¤ó‡Ræ’²Xú†8Ìû½”òšLiq!H:‡eÅÖŽ#ê üsW Üš&ß—°`A¨ “±x6R¾ÏµéR×##‰?M…>OùB{´t©.«žø|U> Ó×õAÌÆU2äÈ¡,S®37G;aEGbÚ”i˜¨Èq±_Y{„¨áù‡·I ÉxYi7’ ì/%³5eî„zwú?\O:g+“'B“¿À;áó±.:P“žò-ÎX…Åêž¾˜õ—™˜2m<•ÅÿE¦Ž(@ P€•0x ÅÆåj®²nž<)añŒy¡†E¬ES¿©ˆ§•°Z<7áã{Àå¾îˆŒCDÌb¼:| zÿFn Ð§í…7/´y5ßb¤ KR¤Ï/›1Zv€È°0D/Y€«aè,›Mò-(P­ίݮž×ïÖ.¸ˆºM;Ê’gDÇ`ôÃüÎ" ÷QãƒÙ‹æct7íªÏœ¼«þ)¸H©¸W¾ˆ}ï$¬Æ45JGÜz›r¯w \ÎÇ;±I륌ó°bÝ~Z·\m8òöߦMÁáãÔ¨óRã°_†úÔÊÜ@¯IK°Mº“Ç÷r|êÒÞAzͱÎÓ{\P¶š„ôôødI–ž­ûÔtªø‡ À])`Í -ɯHÔm;Í«ó-±9|c[–Ô†]|'Å!áw°:N«ÌúÿÍÉÁÎ/ÔÊ-Yùáïà‹$s}¢½÷s‘ EÌ_¦`Hÿþð}\«?Ì=ߨì9à7לÖ7flIQ#õôĪùï`þªOõº‡»Â¸e?|þ‘÷€Ñ[®³†«å)­¼¤,8üY¬Zæ’B VK™k~ LêåoihjÑÛÎu %¥2|rÎ6,R«Þ}±dcÂ߉ErØ5D»ë/Öi9„7¢×­ÂüØdD P+2QTl‚òb›ú–­ðÍÝ/PzôºêÙ£Ÿ¯ IÇñˆö!ò€»ùQZ&¯Fn¨b¹ lER*¢¢œl®Ecx(‹›´S‡K÷yÔãóÈo@ZRåÑN…—a /.dâl£“4HýŸƒckÂ÷·IÀ}FaŽÜI³!õ3<~dºÝAƒ¥Y鼞†ÇðÞZZ“ž2ôäñ}È*|L_žŽ€%Òûã eÝ6%æñ(@ P |rÂ…ºcfÂFDäŸCfƱ.Iz‹Ë]lY©ÇÎW …ùÙKEZÏ\Wº8úUŠô ŸƒpÛèu Å¥Â[‚Ô3r§,7¦¹ãÿÍáY‹¶a1&ªw^(w|N‚Ç:ÂóÖ”H-Iâ P vêQε[ç±ï"(ëÏr×væLÑï÷ôEäÒwÑÑæv?¥—?=hºESýšÍÝzIˆ48sh§¥Ùç9?ý†DWtíÿ´Ü›*-Ö×°g»v™•:/ÈÛÉ:¾€ÆŒê¦ÅïZÞu¨’Hmª|z¯è7A=r¿‰¡þ|bqeg–å+(ð«¨Hô}ØóuEòêR*vË’Ö0?ñ°öÁýaôSOy8pDFŠÑ{pôzLž/“ëýʘ̓÷6¸ˆõ+ÞGºÝÊÈRç8¯o,Ô«Ô_ôï®oÀ ƒGù Y»cؼQ¾RàÖ ˜#)A=øåÞôžö‰R”R§ŒÅ©Èßæë6Ï-õâXŒŸŸ€ñzê8º®“å…WÎj7ÊxvÖF“yÞ]—¿rAW¢ìè†{Ô6#èØVk‰p^VÔÀ—»^ ö­Ú¥^ï·È0 %§‚=ÿBˆàY€%ŸoCúN­ü2L6Y/Ìs,¯†ºú±ì‰°¤×Nlù|9"ÂBÔ…K(¾¹ÝžÝC” ä8îNÉT}ðÂÓ^6ÉÆ¤sÚGã¡=Ú¸ÀÞpmýþn¹(yÛNìܹ ÉK"¥Ç_(Þ"-«œ(@ P€•0bÝŒ1RÉ€>3×ÂäÞí»ùaêì?jÃ'È%ÃÅ+úð JÜúEýþÏ’Æ¥ øFbÝÎtlŒ Ò¶l)£é ±ThŸ3¾ÓÇê6žÅ¾<=Œ<_ð¿9î<õ]|¾q£œÛÂą̈Œ®°«,ô°|¡~‚"\“-++WÿËÓÓóœ^»qàÛL´í;qŸnĺOã0I†ÒT†±›±p£MóPl·…EÏLŒæa5M8x਺ïM¥ÛÃ2kåùº–©Ôu2¿N}½)ïNèA/fÖV‘²c©R6ßÜ`%¥ÁŠ–µù÷npßäî”>¯¸vÄ̘@ œ’P6¼ 8~l7Ž',A²Zùƒ\©Üh[6¤ã9.ñ{/]ZjçÌø Î<ׇ¾ˆƒÜŒ ŸiIêxM.¡À-ðÂðI>HÕï^ñ0¿q—MZòí<ÌŒÀ 6Ò•¬¦Å»w'´|´¹4LÅ!Už‘ñ爆x¶íe|¸8Y½[ âónqš=(@ ü:Ü1dj‡ÈùfC8žú1®¥Çvyîîí]q~³vá‘‘4 ÓrƒÐP»˜(8+ÏUún-6¾§ñè×Åú…µ9|Ø`]/= ÓçFý ÚP êìkX-ÏÛT.~|Ãðrgk¡Ñ¥AõGõTð…¨¬@Vúê¿s}Ý—ß­½³{ífÀ={"1#A.æ|9ñ ¥c‘:ywxPnö3¡PÍV2ðÇQòò,LÚ^è0p <Ï@^ê »¡³q»ô„R. ½ñòàŽÀ©oµ°‹1tÚŒzð8'k¹Öð¾mѶXž-'w¬/þ+æ GÓŸ×#NFÏ€gÖ ilÙŽ5·ÑgÙÝ©q/›^?K,å¥×ÇÖÛæ[ P€PÚör’W°Íemz{Ú-KZAÓ¢FaæùIpÝ“$ÕçÊ$eÙ6­p¦·7â¤~pñ˜—‘Ô™ŸhÏàSBXÏy8y,;ò6 Hò)K†Z˜2%{Üô»<3Žâ´Ü0Q:|ŽÃª–ñd«ä|çÖKFAÎr~›^r~KO˜ƒ)!QêùoÀ¤Œí¨ÜÁ‰ø¥êºÔw¸éG8½vëöê‡ÒkIò†Œd̘"½³àéˆÈßu–8=ñÄKjŸ~ÉV2°õŒÍä²ÔÐÂ+âBÕ|'=9NoòEØòeèái“$oyfï¾,NPš¨¥14£Û»Ã½ãh$G*åí,¤ÆÍ×Ö÷ñÇ’AhbY½1îÑ‹Ðîå^‡:N¯2Ø]EÓ«„U&C]ýÉ!%/´…üK PàŽ°Ÿq™ó75éöƒØì• byµ¶š«³²¤MÌž>>Ø·©éÊM ¾ˆH~C-Ëv›úžœ³”nLYHŽKÀѽà«öjjŒnñVD€Kêü˜‡ÞÚɦ P9?•=8«otm?ËôsœrSNQ>ê¶d0u+üCÛ `üëµâ^ÚÅfƒ®è9B{Þ{^ê'øé^)s-±–¹6È ;Þ}%Gã»rI¹©@êRœ­¯®mºCë9úrœÖ7ÞD|޶Ãù¸õU+Ã8ým•“øª•ˉœ‹q_¬Ó/¾çLn¡À¹Ì8%Ã6lùÚ4±©Å“»[ï?Š« šáÑö-Ø3é~Œš (@ Pàî0åç`ÆY4|ða)OW¼éîÝc¦œ  ˜søÎ^-Æ}m…—û/v¿¼ã$r (@*À¦úÅs·)@ P€ (@ P€ (@ P€ ÀÍ Ô¾Ù¹(@ P€ (@ P€ (@ P€ @Í`SÍüÞ¹× (@ P€ (@ P€ (@ Pà¦ØÀtÓt\‘ (@ P€ (@ P€ (@ ÔL60ÕÌï{M P€ (@ P€ (@ P€ nZ€ L7MÇ)@ P€ (@ P€ (@ P€ @Í`SÍüÞ¹× (@ P€ (@ P€ (@ Pà¦ØÀtÓt\‘ (@ P€ (@ P€ (@ ÔL60ÕÌï{M P€ (@ P€ (@ P€ nZÀP™5333+œa)@ P€ (@ P€ (@ P€ îR6mÚ8L9{09¤á P€ (@ P€ (@ P€ (@{µnÈdo½yEEEöfs(@ P€ (@ P€ (@ P€ À¯L ^½z÷ˆ=˜Òp(@ P€ (@ P€ (@ P€ €=60ÙSá< P€ (@ P€ (@ P€ (@‡l`rHà(@ P€ (@ P€ (@ P€öØÀdO…ó(@ P€ (@ P€ (@ P€  °É! P€ (@ P€ (@ P€ (@ Ø`“=Σ(@ P€ (@ P€ (@ P€p(À&‡4\@ P€ (@ P€ (@ P€ (`OÀ`o&çQ€ (@ P€ (@ P€ (pg Ü(.Æ•¯7áÒçŸÁxèÇ;3‘LU•ŒÑ1UŽÃ^ 4@£Fàéé‰ZµjÙ R¡yl`ªQ€ (@ P€ (@ P€ î óÅãÒª•¨í掺›Ü‰b*ª]À(1víÚµÚã-((ÀéÓ§QXXˆæÍ›ßtü"ï¦é¸"(@ P€ (@ P€ (@ Pàö \þr-j{x –}Hn¿þÝ¿E777x{{ãâÅ‹UÚ60U‰+S€ (@ P€ (@ P€ n¯Àõ¼<Ôª]çön”[ûU ¸¸¸Àd2UiŸØÀT%>®L P€ (@ P€ (@ P€ jž˜jÞwÎ=¦(@ P€ (@ P€ (@ P€U`S•ø¸2(@ P€ (@ P€ (@ P€¨yl`ªyß9÷˜ (@ P€ (@ P€ (@ TI€ LUâãÊ (@ P€ (@ P€ (@ P æ ToSñUüë³Ll9{½¤¤ÌO^sÿ:XPr~™O×±}ÓquýÂÜ\Ä|–ãÅe•˜qöèiÌûò,.ÙÌ={Hæ}vû nXç\Æ25m&ë¼ ¼;u01Û.ÂþZ…Xó¥ý­@¼ B»K ©‹¢±ù˜ñ¶%ûdZ<æ.MCå¶hÂÞ”EXºùX™tžIOAtâ3žLCôÜx(»ª¤!zEºƒß¿yF|ø´“æòªÍ‹ŽOƒm®w曘½'íg(6ë[ßÚ¦Ç:×úÎtæ,Zº¹’NÖõùލ!Æ“X!ùø¢E‹,ÿ£££±4e3ÎT.£­ØÍåM& Œåä¹Ú¼èæÒP:~#Ò–.º­ç¿Ò)àg Üޤ¥`Öäq4hFŽ›ŒE)ß ïölüߊÉdD±â´ªä/Æ“éX4k:ÆM^„#’ÿÕ—ïÝdUò^É#•r°²÷Í¥…kQ€ (P“ê´ê€ºí¼P«&#Ü…û^½ L׋°ñÄüx­T“Ì_ûS6æ”ÓZ„8tàö^¹S~ÖÈÃ…RQ•1¾Z€¯ýŒý–ZÜHßs_˺«*´?"+O n}ƒe^EÞ\ȹ„u»/—¨$¶¬g¼Šå‡ìì¯%ßPàW"Pp±I)8xåÔB: ºœ‘Œ5ñÿ­dÃI!vþ3 «^)ëÏ»ÿ‰”øŒrã»~!)k’q^òž ë²p7òËÄVrÆé­)Xºh£5Ÿ(8Œ¥KS"•’–š¾[µk¾+Ľ•ȆlÓSr«Ú§ÂŸ¿GRüÁr÷ËÞºœG Ô ë°Zòñ¤´qâÄ õÿ™cß!>: ÃúÎűŠ×«Ví¦ò¦‚=ÖöXÊtÚ”Ã@7•†2±]GF|~8ûÎe’À¸åFlŽ1¡Ñø"0ø÷è×¶IÑ!4r)ÎÜòíÿò8¸lú÷]Váµ›Ï_ŒX3k ’¾¿†®¾mq¯k>Ö£Wü媔÷^ÇOÉ)H¶Söþåvˆ[¦(@ PÀ®@ãhýÉj´·ý¿ü}Ü÷ÛvƒÛÎ4 ‰DûGÂyu–<‚ÿ€†6±]µBïët‡þ½ý# ­ÿºí$üiô¯²¡©Þ hTó ÁÝ!œ•Mdm…z¥×“ù dÞÕÒóí}® ÔSRUGiûªùètjöà½ðÀ)ìË)D϶.Àõ|ì>«­²ïØe˜:¹ªÿÑcR[Q·!mè4º2 Ê>Õ­]òt]zFÕ‘¶ÔºuÐX—Ùß2±pîR“Ô8äéÒÍdnç±þÈ„µøÏxÙ|%éêyvjPxÖ+7OAYÙCÝWõm¹ë¸¢Ë =Ètœ0ŽÅ#®@ÁO»qHMw6vÍ…¯¯ä¦lìÚt é ·Êì“MzlW3ÉwcïÆ¥¾¶³åå•¶ëò=(Pô2Ú„?¿‹±JF¥OgÒ¢1,4_| :yšgßôk•ò&9×x(ù¯žÖ›MD•Ò`o£Ââbç¼b/(çQàn0ùa)Ùè06NxRÛÿáðRò‡°x$~3 !O*W=¿Þ©~=)éJ™Ïš;Úß×êÈ_Šä¢Ø+`*&m'1ÂCЍWÊÞe?·bîMå½&˜L)‹ºÀEÒ[/n…ã¤(@ Ô:2^Äù÷"pùœÔº»4„[ïÑä•(4h5ÙÿÜå\¡Ü :¹žóëƒ:çRpy¿ó¨J,m7­ÿøî†+'.A­¯?üô?4kî‘^R»Žc¬¾íK~Äê£ú]©Å—1{É~,ûá,b¤çÄÀ˜ã(QÖ7^Á²÷cà{{eÙ>Älüeâ²M5ßÿÚòެÇô‘=У‡ò¢SöZ†ö)8¶³,Ëz`–ÍpiGRfaò"éõ2}¾îd¤|ó â-ŸG–rM“TÖë1®ä¤éK'cä\eˆ4¦.ÂH5-’žAgºùžÓ¤L‡e}Râ4=E†9ˆYƒFbéúõˆ§ìÇ"ä‘´D§ŸÖö+öS½ÁD_Y†ZJ™;YO{Œœ¾ó´Ûß+µo&eè½é–x”4§î•3‰LJ<££Ö«=sÌqÆÏ2{ Â"gCq¨­ÔzZõ—ºrñl;K³ù~ïò~ÍŽ}½ºô’¨wã¿ÙšoÆ’ž0AÚ’¶Q7k:³›äÝ3]¼¤.Á¹ßôøÍX/ß«rLí¾f›j ÷`*&ê§•ïfä,üëë½R!R2 ?Q€p$Pd’î™6SóÇ/‘…8ËmŽÇ8ó9Fò§¹+¾±ôžt”7K•óÒ8¬·bµàà ‚k–:4”9)ê¼§ƒ-ÿ‚ûöÀÜõJžì8ß5¯gûê( Z‰ký" 2§Ü\¤Ÿ1Ÿ·æbä么VÎ{úråœm=cZ·âèÜn¬à~Zcâ; Ü)&ìJNÄôDøx½qIOZó¾£ñz¿.À¹‹êGÇ¿²Ð\V«HÙöHJ9¿9'å$㑌”òÏŠø¹–ß븹©–žGŽò0gë\1c–Ê~ÞRôí1{íô¢t–¿(ûn[vK—õíæ—Ræž>¨/fÙKÇ`PDÞÐ?çÅiårÝÞú¢ ÿmÍ»FNÇú#Z÷ø²ÛuœÏÁA™ÛaÞë ¿T‡^¡Ø?-eÑ7+ d”6&N (@ Ü 2jؾ½(Þ¿EßoÃÅ¿ÿÙ;ΣþÀáú Ùn¸çOïYz9ÙïEd/Œš½¿îBPÿ¥…hýöP£î? µôLRzMµ{? ìܳÔhòó¨}~ Ž¿ý¡4.)±}ù²SvÃäÑ j+Cã~hñþÇzº>A«×µøå¶4{ï=4{}6Úª=³>ÁýÁ#pßœêa—£±Ú[È MßKDëïá!½×CïN·¹GFÛ'¥ç”’և̄«Z¨Åß48\_zV½míYåhÿ<İÅïÇ¡Õr}ßÿù®ºïî¡ÿD‹¶²‹ŽF»†Wú¦zõüSªå§ê)Tì3ÿŒíÆ–½Êÿ\lß{Ií½¤UïšœpƒiƒZc^ŸFÈ:t¯¬9ïxã—s1îãi8ò@˜ÿíâ†{OaÜ—Ê:®xâ¡Ú¸’© c—-¯hØý»W–]ÅåzȘÍòòôCî8¾ë(ÞøæwhŠy/xct£b¼¿ö’³¥’áúÿp©ø:V¦Á¶ú˜ì×Híy%«ÊTˆe ™Xy¶6^ýmk,Ô?Ò®>xS«&Tãþæ¦aÔ˜l÷‹˜åËÒ)ÑÁøCªTŠÉ²£Ã¤Aa8¢bc1çõÁØ´4#}£2_9‰ÝIÑØÔ<qË£1Ük·¬‚­êçXi˜ÈÆÒÐY8XªvË«Ó#À¡x¬7?ÏÌtññ»áýXkä¤þA‘Ih2jbãb0¡c&¢§ à =ìù‡sÉañ•ÃÈ; ¿¡ë&\ÌËF|D65ŽQ]ðïñc¿½B¢ã°<&û“Ö¨éÖŽõ¬˜€è5™˜0'±Ñ3Ðd{‚E©C,Ufß.{‘IYêv—Ç`T³Ýˆœ±J­$PÒ—½=K­à3ǹˆ]‡Ã=½ÖÝ)qøe؆´´4lÞ¼YýŸöÍf|¹]*ÌW¿¹ß`üèP|ßþu5¾ð±MÄ{4âÍ®%bÓ>sâkhþúI°í{säov&塟ÿ³x¶Ÿ´0¥ì€Òd–»_¹¤'ºx]/×oûÒ0DÄcCÞÄ6ŒéÌføEbw혋’óéRùþívÙ’­q¢(`+ ”î\úyÈ“g]æž<ˆø¹•\«º<ä)•ã¼Ñx$£Ã–¢ñ„9Xž¸s&tÄš…³±K28gy“Kë.è$·(ĬúAOŠ ß®Xˆ<‡p¿MW·6Ïà3FIc—'ÆÎG_o8Ëwm÷Kyï, Êò“ëå‘„~!Qˆ‹‹’³óLöý¼•ƒìÝkr­Ÿz>z½ŸzΞ/ ø¶““s»k÷Ó6:¾§À!PˆŸöæý«Ì]©ÍñÒìEñ—ž6NŽe?ÌeµŠ”m‹¯8ûÍ9/g^/¾‚ììMX¸4sbã> ‡ÖDâ_é²Nò0gëÝß}Æö”ç¨Ì]l'ïu–_*Z! × Ÿ¤'QÒóäÅ5êMhÚu¾MÂù– (@;WÀæ:LIdÑ‘Óò·µôb’Æ¡×ÿŽf¿ñÄùåï"{ÅvÔýÍxý¾[‰}±æ\ZµAjÏ%¾¾Â¹ ßÒ3éÁ1}pý»Ddý5®£UÔôRå/¸JGòâÌÃ%¶¡|(Zl¹½.HÍ£_‡‡{ξ÷.r6EƒÞcÑêåNê:µ=[âžÞMqîïsqö‡óp÷F?"ûíwqḧ6äÔqwCÝ–qiù\d}°ÿ{°'ˆ§ÆÑ@Ýï–¸’ºÙ|SËÇáý·?@yTm÷–ðô{>˜‹“Òèåòè4êêæ|ÿêzÂcàó@º²ï‰0ºµE‹WÁ¸Qzw•6ˆ³»q6yì[õMÆ “”|ËüŸ2eJõmÄALe.#„«ðl¥pùýŸå¿y¥ ëê‡Öò×tö>”6 gú´BÏVuåÞTW̸P€?í=‡Œâ{Ì+•xÍØý³ô$rÅßǶ2Ôƒž2\×xCÆÂÛ×û>´m+_ª<ã)«Ø„CÅhísÜÜêb ýFzôiœ/ë×Å“-m_IO§–ÍùÛfêÁõØÈú8sî¾€€AõÔ†0Yž4\[žñ³ž”Ë—°RzŒÔCÛ*5¾ 3ò†||Ez¾Ô,ƒ_(ã´÷Äò¿N@;å—Ôn*b¤ãôýõa^·ø…œ0Ä-æµð–ëC2LÉðÕc¼n/F(G™©[øþéiô”¶¤ˆ‡`|¶1’dý9>ÍÑÜÔKÞEâHÁk0m—õ{†£ivEüz"nóß´áöÆ[Rsx}‚¼—cîæcn6b¤!nÊjK¾¡(àP@ÉbS¤1=¥Tˆ!ïÁW\é8oüÝï¥wÃŒèîÿ$Üy’qJ…3¶#ãtîÛí,oj…€.X½ G¦>‰v¦ÃHìpxôs%‡ umŽ^r'ÿ¢È4tô,: ÿ'ùî#}Kì…óüQžú¡ÄÕ%cžíC10fúëH Z(ç­é ¯œû!QòÖÖêù|6¢27!4y'òÆ>dÙŽósû‡ÛOKl|C;KÀë¡æzùÔ~ºœÿ•+Û6pò›;ÛûˆÓræhõêÕsV-Bßæ’ÖNÒhóa’wg¡ï~Çy˜V¾³¿Þdð™ŽÍ #÷õ•«Î’“óüÅÖZv3åq_ÑëÉè≬ŽO¡ïS(;€^ÑXý|~RÉWm'¥ü)Ú~s0û¥^ê‚vNšm”Q9¤bBÌÛ•/4ÇkL˜²~²Î(õ®VW4”ëÕóoÿ—”¡÷¾Þ†Z~‚æ¿ ÃG¢V¹‘òƒ0\Úq8ü šÄ¾ˆŸgÿ ×䆜¢¯žC£Wôå&¢Âï"÷ó]2c²µG›áJÙOÊVÊ~ïxg>Ú¦κÒí$­­äêYÖ»–2OÒNF;{þ4hß Eïßÿ”Çœú '®Tã»øã‹háq/Lß'¢à…1ð0dàò—J:ªoŠŠŠÂĉ‘—'×ëúäíí°0)#ÞâI-¢Wç6”;õG¼Ðãmo+Îä%'ÔÍ^Óšc¾Þr_o±Ý²+JÚb³Pi j€ûëZgµiã.#RåAêp_«{¤Zÿ ¾Ï¼€=Ò4 rYPOu¨?–y—¤â@z5µ©]„Ïeyëf l. \á'á¾Î¼†KzǸ¾ÿw¯Írm›dE‰³›MwCcwiß•ƒ—S PPïbs·§¾Ã'¨÷+C6>Pâîì6¾ÒÕj#AiÊôt·<¨qÛvòPúÝ)ÓuåÀ–©L{òs0âÃ>Æ‘?=‰ŸVISÆà(tr¹ˆÏ³C²9v›ã·£<±fíQiÓ˜´híþô|wuÝ‚ÓGe¹º?* Ò'ƒ—zw¥úѤü†½Ð¿‹µ_«á^ÛÆáŠï[ý†|3k<Âi™Ÿ——y‹¥_•8ïC}óì:n’ûS¡õ‡'(íÖé`ü8É5¹6¹ÉËn¹{}y†öºÿòì50™.â”Sß¾x´_?iaú»¾UòŸáxDåé"U–ÀŽo失Iiÿ{uLi2§?9®Ú”®ÝPS(;'ÇU›œûÑg$ÁñlæVyø‡p* 4£ŒŠJFP—{ÕÞ¡u¯FâÛÒc5zŽ=?[–:Îó][ËmKe˜¦;Ûpž7µ{v,¼¢§àKé%zÑ:¹Û½'fv³žC,*Ïý“©H¹í åç»Ö³”ÞIŒ§q [‚dGÿ´Ø2y”Â¥râxMmòÖ.CÆk6áhÁhKXó6l{^ÙžÛ;Ut?mbä[ Ü)Ù[ÿ ãØGJ5®`ý\éñýØT¼ ÿÆÿ•+Û:þÍýty¨8+')bhìa–»®¾Ñ>:Îôò£õ¤RCÝ?)ƒ›£-ñê$QÃ)ûc-»\=œä—×Õ;{Q¤åwÊÕ,ÏòÙfÃÆH—¼«çhå6M}2´ÂK“Ǫªy—¾Ýrò9§enÛ¼×ä$¿¬•‹Ý¥Ó#·~=,]°¶›ÓÇW P€ îBåš(Ť±G &õz¿Žö½mv£ð´Ôˆ['GajKIRm¬ª×@,ù=ŽÖŸ$ZWVo4²ù¨¿uí¨ôF:TbA¯á~©¶;ûƒRx Jã’>lÏ»Èöd[× põÀ9ó"õµ–^§V˦bUI›ñÐqK8ÓWÛð¿á¿CýVÚ¬ë9Ö8n>"Ýe|ÕøkIüùéæ´iûxC­†s¼ʶn\Ë·l«¶z­©ÕÝ©F–%Õ÷¦]»vX²d‰¥‘Ii\Š•Qµš6mZ}q“Í¥´ƒ73[†š+1é%u¥hîÖH)øçáÕ‘bh3íð,¼˜‡Ço¨ª»J¬¨}ÐžŠ¥ªr·–6åœR|ôÉÍÏJÍsâ—92à Óôx;th¤žÃœ³@×ÇïKËoæëóJ1Þ|UR„ï2%½M]Õj%vß×{d’îÿÊxý™Ï._SŸÁä+K8Õ<µ%;SŽ @¹RyVDÚ¢?â?Þ0DÍ3ΪǬ¹,'ã ÊÞõ'¢DT©ùÓè‚1øhÅ¿pR®æ^_Þ 0ÑD6´&óŒÄÐNE†j[+‘võVÇ@UòÔ¢"ùè“ɚϩ—ÔõôL×¥i[ Ý™èôˆò{•)7KÍæŸÔ>Éßlì”^ƒ:é˯™ÔžXöš9ïÛÄ„`MϬZò<š»pfýt ‹±l¤ oÌí¶Q(¿n}rQªY‡cÕŽý»“á“Ò×ãp½Î²ëÍ¡¬¯÷r}Ý;÷”u#&u £¢õx[aÀ`O™*qÉ]³åHQìæØO9®<{u,UÁcNŠr’>+§}µ=R™¾U>X¿sH¾R€(- –qî¹®nnZãÖ/O‹ø M¸"E#ƒ“¼ñô¿§JÏÑ&ˆNþ O¶’¼ß˜ŽA}§È&”óJ9y“[g¼ÚKHD½k)ð£õü-@ýs=¥xX|·äêNÒàz?:Ê5ÉöÇ£±#DÏ/åy$ikÓq_S¹MIö)5{ÖÏjøiç&™ß ÊŒÝú†Ôó¾äÁJyÔî¹½’û©GË üÂnè2PZ–&`ËÉx¶•ÍåáÉ4D¬Ù~OÖ—a(•d:9þKí…ãòŸÐñoîå§\‰r¦Ú29ÉÃì–ï,+ZߨVžXç:É_$Pé²ÛA§ù¥5Ö’ïlÜÍ $ïê$™Íê# ~km® =÷•xrö»hl[ftšÏå!Ö¿ü2·š÷:‹§Åƒ(”¼t龓€¿ž)•æ’+kEÍß_)@ P€w™€<Ÿ}XºmÇ5¹`ôT.õRÑõÑO¨£Zþ Ú\Fq½Q–ýªí(Œ%„¹þMÊ7§ÖÊHKQ»±þwµÜú=„ –€ò&G áѶ«\Y®T;’˜—6ÙõÝ·ã›d(4) ¹HC<ªS\ÚyK!,Gíý¤Ì¨È3€”žRõš7’¿ç”UP«};Y¯ÅFP)ŠY«L¥À½²Ì¦dhÓ ¡®¬þq¼J+Â/1™™,X€ðpEé64.)ûYÿjóP¯zàyùÂÞ_•‰oÏâÒÅËøð“X”vÙÒÑ_Û µ‘ªý£÷ɬ«x+å$Žæ‘q0o}#kË&è䪄vAgoíK÷x !ZjÀ­å=æ¢8|[+[¯‰@@o#IDAT‡'}¤"áÄ)ÌÛyg/`×™øLz‹<ÿž0¨WBúÊ¥^êH %݉Ÿþ„-§8Ÿ{óþ­^i• É5E ý3CeW×àÑëqFºÙ¼ ¡IÛat¯öý•;ž7áµY+pääL‹Çk‘RYÕo:KF¬ME%2Nó\ÛW¥ÁÆx$ãM¶> ÝÐcÇvÀ&nïçX T{ìyâ©€.’œPÌMIÇ™3ǰ~QäQ@õ¼¯Ö«IÚT“âWâ˜ÓJûO™ÉAœ¦cX4y$æ¦)³†£íŸ)‹RÔïî¤|w'eÛS"pD9c(ꥧò} Í•{òµ©_wK>}ûiï=ûá‘æTÌϲº¼±¦§½ß òy“Œß¿B¾Ç<û&c”ñ ›ÙÜ’a»*ßS€(# …Û©®rÃM6N_4ÁYÞ¨5®H1¹øšœöbÑÄ)j~åÒ”Ÿ7Ðãeéù´=Êc㦠íl›ëûëJ~—ÿlÙ‹\£{ùç5ëšå¤Á +è)!Xºù  pßüëm„FF@î’I91¯ÁÔ¹)jÞzDÎÙÁñÙðþê°¬Je*ÿÜ^ÁýÔ¢ã_ Ü1FL—R\"^ÁŠ´ƒÈÍË•rY*&ËðÇÒ?#žhUã_Ùe5›=ÕJ5Žs-+Tδ-Y#w–‡™CYKUæ9Ú«šÇåçüCA©û”ÊÏãìÄ¥ô»·“_– ©|ÒòäììÿâÈ™Ò`Otä…<%ïJ;"y×I¤.ÚCçÐÐ]½¶‰ÎI>g,§Ì]"ïuq’_êÛëèõ{Õ¼tý¢éêÐÐêu¾Mjø– (@;U  Þ`h×õz B³w—¡Q3àrò¿¥±Fi쑇ÙüöeÔo\€ëWáÞ7ßD ÿîJ•º>9 £‡¨íùjIá ë©»„&¿í€ë¹pyq"î3²D;޲Êå¯Ç ÃÃxàÝ×P¯±2Ç ~‰&-ehº­_ÂôõW2‡ šL~M­ß¬ÓuZô¸Å?ü§T[‚²®ãIéyUÿù‰h n£šÉ0ðʘ{¹²O?¢¾ÿhØNÊ© dÙ›ÏKeåQ\Õ´ìÅZÑý+³®¡jÕo CKq™ U™¡42-Z´è¶5.)iUÚçªu²[¸¬[-d+9ê–\4Úç>ÎÂÛÿ¨m»n¼ØJz'ÝPW¥àïbîN¡¼oÖq¿5áO_žÇëIçÕuš5»ó‡jÏIRf<ÔA*Hd˜­§6÷q’™uÝ1@Ú¦Þ?ï†Îµ(Ÿ>mZxQßeáëïÔ¨ðÌã ¸­4¼ R”߀K}H»¿ÍÔÁÅàìËS6Fið‘;¼$qÒ£OcòG±¸ôZ0"‚GkëyvAxb”úÌ ƒÊ]©Ù7—Ö>›"¢°II°ú î‚ì5ÒÐôao,¸Ï67±§¶e@U†Ç”ñ:®v²{;9”¼J’M(“¡ù³HŽÊ„Ðèß]‡Á3ð·árGıæZ ù[W} “ö±<_¥ÛÓƒ½°fMt÷±~™}zKÕL ®ê¡÷j*ÏϲyõK}kz ­ü%Ýg$Ý 1Z?®ºtñÄîs%×á' P€ölsUórW¯ÿ“Šeà‹´cxö%Çy£ç™ÉèŠÑþêªdXP¯C›ä™NŸà÷;&—›7¹¶ë-ýF£‘Òáuô²í!aNˆòêÖ ý¤(>"iY±2Ô©óóšíªååŒðóÓ„xuEOŒš“(Ïp1à >LCƒ½ÑrŽÔN ž='`ÙÔ^²ÀR6um-y°Ós»œ¥+²Ÿ¶ ç{ Ü nà©1X0= Cƒ •\%a#fvÔëåÿvÊjÖâ¾—ZÙV{ú§”Ììþæà´œi¬+×lR¦S{Û”²sV¾«sd§Ãõ”hÚ÷¯ø„g!æ«áks•\^þbTMÑ#þÎòËqjëiD(•Kåšáû+X»v‚¥l¯„ñüBξ†èPÎT]É¢—ByLêAõ³õÃ|®Uk´vRæ^;¹tÞë8¿„ä¥3NMC¤äÓZZžÕ $ÁRédMßQ€ (pç \—¦€ûÞˆ‚T—«Ó‚³¸°ü=ä~)7¡Ët)" æ‡Â+vµú…Ç‘º7:Ζ—ºNÃ( C׎_B“o¢Wcüôö;Èyü=´x% ž¯(«šp9%WÍœ´-û?ıî×+ýñ`ló\\Û‘ˆ“íU?Ÿ’ç8y¿1m>Ñ–_?¾'£ÖÊ2¹€,oÒoª¥ÚZ •yßL§pfÖßÔ^P—Þyõÿö&šÿ5Q«»3ÅÙ9³åV Ò-Ú3£”MÞøÚñþéÕ–”ÝP†$Ö ×veàÆKýÑf™Žý¿åv>°Dr¿©uC¦Š¦¯¨ÈÑ=_¡d¸B£I­ZpsÕþ{wdUyøUVXí¢Æ©HK -5t˜¸&ÑJHÚ•4þSÒ`Ö¿lRÄKM­¡3„iÁ)¥:ÀvÇD%É:‰3Ã8 cGœ215–Q0!$AYÌרïÜÝe—»÷îîÙ]ö>g†Ý{Î÷žïçÙ³÷‡w¿ï]ZnïÍ8О¦[ŒãN:¡\ÀÀ.ÄTUÍI51f ÍwÖž¿ßï–ÈãP ÐÚRò§v|º–K?b¦ëì@J‘S¦lðcÝ·åqé‚'bmúܵJÝ‘ÚÚ¯íQcÒH½º“úzðÕµ<Ò‘“Ê?h?þb!M 7®ô¯$;âû+/_kÉÑ̯GŸ²:£\ßKNžÝAü|úòÍÙ©Aûu™½mN9&œã\ ÒscÉñBz½9˜^߯u¾ØôõÜTøY|ù#MqÖŠïÇ?ÌèNœ*Ïón_}HR]é%ç¨×ÁŸ}ë³Ñô£+㿾û¹ôÿÞéu¯ß×쇞ƒÊ8{Öã1wH ýÀ¾hKKGÍØ8#[#¥×ÖÇõß+¶üþÎ ú}Rú„ùV¼ÿNO ïYôþ«¤¥Ï—åi*->w¥£ÒϤü»òîSË=ÏK»úßù9 ¿÷ÜëI•u•Iu•~Üèî‰G @€À[-ðóY‹“Îx×°7sÂcTm{^®ü͉)vìäwEÍiµñÆË»Ž,iW©ÃÙ̪ÇŒ‰7vü$Í ê5êÝã„ö_G!͈ʷMŒ³¿“þŒªå‹ñË é­nʕۀÇÔ³ñãëyZžÇûoûZœþùyNÉûôÓOÇ´iÓú9N;í´¨K3ᆲðfÚZÁ¡C‡*Ž @€ @€ @à8=ztÅÞ["¯" @€ @€ @€rLåT#@€ @€ @€¨( ÁT‘F @€ @€ @€@9 ¦r*Ž @€ @€ @€T`ªH£€ @€ @€ @ œ€S9Ç @€ @€ @€* H0U¤Q@€ @€ @€ PN ¦ÜÁJÇ^~ùåJEŽ @€ @€ @€Œ É“'WÍ o¦­b© @€ @€ @€%–È+±K€ @€ @€ з€Sß>J  @€ @€ @€J$˜J@ì @€ @€ @€ô- ÁÔ·R @€ @€ @€ ¦» @€ @€ @€} H0õí£” @€ @€ @ D@‚©Ä. @€ @€ @€@ßL}û(%@€ @€ @€(`*±K€ @€ @€ з€Sß>J  @€ @€ @€JjJö‡¶Û¾+Zîùv¼cŠõGaïöTǺ!ÔÑ›W5Çæ½íƒë@?gíÙú`\»lUl­XÿÑíÿ´ùòøèÅͱ¯Ÿz @€ @€ @€Žá2ÓYÛü¯ÿ[Üp^×̶xdé5±¤ù–¸ÆcéøÕ±åÉÏF ¥å“F'»Sã¤A ÖÅMO>™ú0”Nôn¼ýùãò¹+Ž$Š:æqõŽ‹8ºý“GŸ•Ž.±rg8F€ @€ @€8V†wSç¨î93h|\zë×£>•ýà‰"KÂ4üå’ØÖ–ï‹GîZõõõÅ Kcó®ìܶxpac,]»66t”Õ7Ì‹ŸÚÔkÛñè½ÑØYG}}C,mÙœ–œÛw~º>¶líŽ/kˆµ›_Œ‡þþúøn±Y[óâΖ–˜×UGÃí±yO׫öxêÁ¥Gúظô®¸½±1~¾8€îº³GcÏŒ+æ4FSScL:º¤d¯íHûÛZÆÜÕÛÅ길~alͪ-쎗6isÞ]t&­ºúz6,\›7?ܽŸ ·é{I³v  @€ @€ @€à ð–$˜zõ«ö=1cjÄÎo‹Wï}ûž×SÐó-_‰%¼‹Ö¬‹ÖûVÆ·¯Ÿº'¥—"ö¿²=Ö77ÇØëWFëº5Ñtî–Xqãñp1ÕÝBûó÷ƜūãŒùËc]ëºX>Z¬_µ$þû7“ãc³&Å«ZcGg®hßÿlˆÖSßwFì}f{¼r¸£àÐK[¢uÕª˜zÇݱ.õcvlŒ_{(²T×óÞ7®X³®ŒuëîŽi[ˆÛ·Ç¯^ïJ@u÷¥vâ̸ùÖ›cÞ¼›âòtË©ƒÝE½uµÎ…M3²ûS͈EËçÆ9µmÑrý±bý±tÍ}Ѽ|~¼ðÀ’øÌ›‹uì%ëë꘾¼9šWÎx¢9,XÓ—®‰uk’áW×ý´W{ @€ @€ @€†KàíI0¥õðFK]>°¿ã>Léa¶¼Ýáâ(^‹½{^‰±ç|(nßÐÍëæt,w Î^ÿtõ̘<å‚t§‡Râ'âþ>[<«ëKÍ™ÇÒ”úÇbòÙgƤ÷þQ*ÚÛ±/.ødJÀ¤dÑÆŸfw7*Äæu¤<ΗãÏÞÕuvÇ÷,4©©9n¾ò¢˜rÞÌøëëS6ì…½)ÁÔ›¾ýDêÇÊb?¦L¹(n½÷î´À][{ê/¤³¼nòEñçÓ²%ò¦Å Ąƪ4¡iöò¯ÄG¦žðáOÇ?ϯ}­÷Ƕ,ã•\êµÆ¼†é1}æÜ¸>M•ªk\ó.½ ¦\peÜÒØïØ5a @€ @€ @€²Ã{¢²MdÛcï )2ëOã÷¢;AtÞÕÿK_YK–,ˆæâ¹u1玉÷O9%ⵈ9iy¼î픲÷(ª©=%=¿&êt‡v=:ëâX”ªXѺ%æ½ÿ¬hN¹¢¦æöºýÓ¡ÔÖÌŸÛuV>˜e·FGMá—ñLšñ4㚉GÊ¢nb|0íõ5;©;x`gY£´es¢ ¯ýªøxýâ9±¾ø¨ëËŒÈ&\e}ú¾3;Šý8uL÷ݨNsêðv®«yß  @€ @€ @€oÍ ¦“jÞ³ù;Ñœ&}ä=5)bߎ_ÄÙWÜ[¶l‰Ç~ôP,o:7Z—5Åv¥LJÊ“´núYz:ç;ìøÞU°mÝM±¬õ·q÷CëÙ²iMç £,wV—|¡)Mbº/Z¾Û;Ó¨ON¯4Ã'Kï”l5gÇ´4C艟ìê.Øó\š1¦ûȰ=Êz<þœ4{*m‹Z7uŒ'ÙlÚÐw,çŽ/¥/eúÚYt´NW¼ï @€ @€ @€áöS¶Þέ›bëÖ§bóãFË ã šÓtñņ,ÁÔ½xÜ‹¾Ms®Œ‡·îˆBJJ|ÊØT^jkbLVQ낸ó‘méžM»ã‘»þ.ZÓ¡¹ ï;ªŽÃÅêÒy‡{vm»¾xcZ /M€zuúšj»à²˜ÛcÕªQ¿ðªH‹Ñ娯Ç.O Ÿõ·¤~l];žŠ¥Ÿ[œãü…Ç°ï™Ø”Ú&üId«Ü­øÒÒØ¼cOìÛ½-)–-yº´ÒÀÚE€ @€ @€lÒ̰nY^hãªÅÅY>ÅŠë&ÅìùËãÆk"»õQaìïioúVGÓöù±¬iN,ë<:{QsñI÷§Uã¦ÎžO.¹¶˜XÊŠg/º/n8¯. ;ºëxÿ'oŽúæ[bÁœOk˜:kVLÚ¾1Zoi/m¹9¥«&Æ•‹fD늗âs³Îël%[¯{%¹ž³€±§¼§8ƒ*{<ý†ÿˆ•‡n‹[–4û1uÖœ˜º1Kuõ½•ÖYݳüg5Ťæ%±¸é¥XóØ÷ã¦o¯‰ÿû›Ó˜²¹Ri«›wo¸.¥pT¿; þÚ½XÞÑÇí @€ @€ @€†Kà„7Ó6\• ¶žB{{´ Q;~|çý‘ÚbmÃG#îÚóΫ‰¶¶ö¨©ibS…­PŒIA1> *´E[{z<¾ã„Go¯Å¿¾#6­½²ì}œ*Tš·ÇS-÷Ä3>7\:¥#l÷£QÅât/§ÇbÞô#kÖU®b%ímm)¥T“Æqô’ƒC¨Ò© @€ @€ @€! TLÙ ¹æÔÔ¦dPi|Zçîµ×ÛÓѺ”`éUZ%azÄÔŒOûmÏ?_]üز3bþ} 9“KYµqú¸cõ’¹ñƒMqUšõÍU¤ãsâ²·8¹Tl½ç˜²6 @€ @€ @€À1 pLÌ`êíf=ü½8ü¡«â¢³?{§}×ãqçšÇã½ÿ|\=srïfxd×ÖGã‡7Çs»gM»,ç6ĺ5ÀV… @€ @€ @€ŽMc4Átlbé @€ @€ @€@ĉ @€ @€ @€ä`Ê£%– @€ @€ @À &× @€ @€ @€@>3˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ù$˜òy‰&@€ @€ @€T½€SÕ_ @€ @€ @€ùþ-Ý«â8ãvIEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/hello-world-screen-2.png0000664000175000017500000005004013656750211027465 0ustar zuulzuul00000000000000‰PNG  IHDR…¼'øÁsRGB®ÎéžiTXtXML:com.adobe.xmp 1413 188 y`I@IDATxíÝ |õÿÿ·5@ ±E•X‘K#Êòg£UñÓŠ‚k\¡°#jøe©&¥˜n#v6K~ÙüLÖ°(‚–‚· b‰4+Bäb¸$h„Oȱþ?3çœÜÖx^ó€œ93ßùÎ÷ûœ9sf>ç;ß9ãkÄ€ € € € € ß ŠZRI@@@@@W€ 0; € € € € D…ƒhcSU@@@@@€ 0û € € € € D…ƒhcSU@@@@@€ 0û € € € € D…ƒhcSU@@@@@€ 0û € € € € D…ƒhcSU@@@@@€ 0û € € € € D…ƒhcSU@@@@@€ 0û € € € € D…ƒhcSU@@@@@€ 0û € € € € D…ƒhcSU@@@@@€ 0û € € € € D…ƒhcSU@@@@@€ 0û € € € € D…ƒhcSU@@@@@€ 0û € € € € D…ƒhcSU@@@@@€ 0û € € € € D…ƒhcSU@@@@@€ 0û € € € € D…ƒhcSU@@@@@€ 0û € € € € D…ƒhcSU@@@@@€ 0û € € € € D…ƒhcSU@@@@@€ 0û € € € € D!mª«§DÙÏ,U©:¹ÙTVVªS·K5ôÖ[5°g¸;ÍSò¦æ<û‘þåñûÕ+ôäÖÖö<¼Ú˜©/®¯è“-Ä Š¾eE¶Jÿy´†öl¬’u×ïõzäñ†(,´mü'(³@@@@@mk)ì=¬åY¹Êz³H»wïÖþýÅziþLÅß­„Œ7åuV÷å>åæÍ×a÷Mƒõ·h‚÷p‘å‘Ó†<ʵ~v¦Öö´h}­Mt¨p™ÆMŸ­Â&ó¯»þ2ïÐ×gª¬µ+"= € € € € ÐF¶5Uõ/=éÉ?èþþ²åZ•vŸR3§è¹!oØô±*ØpÔ–5uèhÕ<[Nº²ázxÃ+C[ ÑpåžíËtǘ™ÕÁ]_{é†é¤ºë?«c›ÔQ±Æ–` € € € € p:ÚÖRØ_¢ãUµ[à†iØãO*Êæ½œ¿SNà4ú§©ÚRî$.Óª§“åþŽKÓúgÙr-KŠSZF†’¢}ó¢¢´lã~g¡CñšEŠóç­´ìõÖC±fŠRRvaMzwZ´2ÖïÖ‹MÐón!œu%hVv¶yDOÕúC¦Ìm\–V]Ƹ´§55.N+¶»¨ÉÛëÜ]Ãc㧈ºsê½+¯^ÿ–ì$™_dóu}T’ l½ûµ,-®z O¯òše]T]Öè¤ ­_¿¢æ½V—½Þjy‹ € € € €Ô8%AázyJ¡—hH¤´÷í-ú¢ê¨ÊÊ>Ô1K´=ûQ¥fíQò‚å.I×ÕEyJ¼ë KGK‹”—™©ÎÒ•›³@ñ½ 4ó¡áZákÖàÙ¾H±)óÕmÒ åäæhƤ+•7;Uï~ÞK7ÅD(v®Šýñݲ¿½¤Ü½RdŸn:¼¹H¥U¾Ç÷(wölEN›£+Ç­Vâ/Ê Oo_öK=43O1IéÊÉ™£+ ³´º¨HŽ‚Æ5e í9T“Ÿ¬„„‡u‡u¡\Y3«ÁX`ý]{·â‡8ý-QòŒ1º(´\Ù†kf^7¥-X¢Ì“´3+Uÿ2k½›ÇÑR§¬ó5pF¦2Ó'Iù™JLœ®i ”³`šz˜á/r>h°>& € € € € € œž °õѱ‹­®â¨¯_auº~¨rKpD‡•ªóE?ÖÔ—r•™ëëF¡ÂfŽ˜¡ßŽª^}¯²>‰_´`­ôÜÊÝ¥Bº_¯4 æþúþhõº°»".ëg³ÊTôq™®ºÓ‚¦à]ýÓ[¯Wës²,öúˆ®;/°´ïÕ ÞFÄgjòÈÁêÛ¨þu‚E°w¶ p¹Ö-Í·r¤»åèÛw°_4Ç:8ÑàÑñ%ñÏï5X7_étq¥†G_¥s÷®Ñlk8uò¨r³³åª¾Ô¡’B=ýÀCîCÙŽ|qÔÒYnWÝ®XiöìÕŠJ-먡C˜ÝaAÚ¼)VŽB•oTÚ½)­X¾eIÝ:”mÖ:s(?÷r9=@ÌœhÝ+>¤²ý[ôÌÃñšžú^3¡à–­‡T € € € € €@}§±j›'–»zvŠÛšÖÍ(durÚ$Û£9/·ºxë”Û7³îßšŽ$êNç € € € € ИÀ_ÛÐØŒÓ9ÍëñÈãõ*4,Ìßßo¹2¢o”ž^§„þ!*/÷($4LÖ€¸‰Á릱D syËUî±ñ0ßk¦F)å³iZ—1²Ñ~‰›ÈÔ&{´1ûm>÷6Ý?¬¯/Ùþ5Šžb}¿¡„Õý94EæxÊË- bõ¨ÛG²dQ@@@@@ Ž@“a×:©Nñ›P àÖÏÓú >rÌcSÃ-(Ú`n½ÔNà´Vš0{/•o_¡_¤ÌS=,nÒ’èV„U„ê]vk~ê½¼.N£­¡ñ³³³lz¬n?ÍawíµëäL`@@@@@N±À?¤¥pÃ:X ÝËUõãÑÜãä[ÉzJÞÔ¬o겟üLc‡öj¸šN))\£•«×kÛþÏÕãÊÛ7&Zm(V ×J2@@@@@àô |K‚§¿¢¬@@@@@@ú € € € € €Á#@P8x¶55E@@@@h)Ì>€ € € € €“-…ƒikSW@@@@z‚ÂA¿ € € € € €Á$@P8˜¶6uE@@@@  (ô» € € € € L…ƒikSW@@@@z‚ÂA¿ € € € € €Á$@P8˜¶6uE@@@@  (ô» € € € € L…ƒikSW@@@@z‚ÂA¿ € € € € €Á$@P8˜¶6uE@@@@  (ô» € € € € L…ƒikSW@@@@z‚ÂA¿ € € € € €Á$@P8˜¶6uE@@@@  (ô» € € € € L…ƒikSW@@@@z‚ÂA¿ € € € € €Á$Ò–ÊzJÞÔ3KßU¥ÎVÌ„ <ÏŸ[Y¡2橲ÛP=xÿP…¶e%,‹´Q äÍl-}·T:5’Q¥4ð_ÔÐ^©Ña € €À7"àQáªåþå¯*)­P—n=5pðú×»+ÜY¿×«rG!¡a mÉU|kÓ#ud%œ^êU§K÷ðÝêÑ’ÏJ ‹äõ”Ëã QhX¨Na¶-\{ë“y½Ù!£º¼Î5ñ³o–jèϸöm½æww‰6íËÞÃEÊÊÍuur÷_ u³GºàòÝ”™›'Et×8‚Âßݽ‡š!ÐN.WnîÞ¦K{Ó8‚ÂMë0@@à´ ”kÕÔ‘J]]Vk-E*È_­ÌµIZ“1V!dêÆøL)2IodUX­”–·2}cy0 ö&P£ŠÐM?· ð‰>(-®`¹žs£æïЂ7^ÐU§,ß Õ ?È|@ñ™EŠJZ¢Œ±ýu¸ðYåå•)ô6®}[ù^ MAauèXC“?]Ïl¼N“¯²æÂÕÓ;žÖ_P¼¯ýRÚ¶*ÔT€1ø® œ?4^IÝ*Ô±ãQ­f¾òí|;*v’~ziWU?®¾·¤•°×~¶_ZC?æp<ú®î=Ô @8ÍåEZêǦå(1æBm~þ =4;_*xV‡ÆêƳºú QÙ¢kìÐV¦?Í5${¾êXTu8¥k Q§.N†]tVK.OéºO.³³ººV…Ýë ?—¥GyÕõ<÷ÞßDþ½À)íS8ë¡Ù*6Òú!OÉz=§¨¨(÷ô¨-Z³]_‘gû %ŒŠÓÔ§YšQ¾4ÑIZµq½2’¢ýï㔽qõÆÚ¾f‘⢣tÍõ×(*Úæ­/©žÇ P_ ÇÀa;önÝ}÷}Šêá›{õíc4røåúèÕW5çñ4úføŽI£”ö‚^ÍHR\\œ¦NU\Ô5ºþšk4*)CÛËkÖÀñ¨Æ‚1@@“„¯Âué%Ý­B˜®;U“FÄhÈôõö;f¶/ã¢ùºcTš¶ØùhS×ÙåvÝ ýáíšeçµ£âlY»¥Ü¶¯˜¥Qv=½Ì=¹-³Éiå¿fŠ¥Y+ Ýkv_jþ"ððÒªŒ©5ûyT´’ž^¥CnÕšø x¶+-nŒž-r鉨Qšš½¥ŒCöšªèÀghT’–bU–Ǭçºr–2f%øccÑJË^/ÿÇѺˆÙ¯O'ùçEiTÂ,r¢f^½i×¥£âôtv¶ÒFY\mÔ"•7S—í+Ò4fv[Æ¢ùã4jê í\Ÿ¥©“ŸÒ{}³žýkbpVæ8»Îõ­¯&N—4+C³q¹¨ºq¹F˜ÔNQP8Bî «õëEۥε:îônÑw%*+ßš­[˼äI#¤½šŸ’¢¿Ù¾è­úL{‹´:k¾²ötQ¤“OY¾RJTfþÙŠt2.+Òì‡~ã~y¯HÒ˜”ù**‹PŒ}IF8óïRF ¢Ó7EFoJ ú+WÇ«l<ô]f_ìEE«•ëÿÂÞüÊsvLÚ«O»wÓ'«ómžÝº·zµãŸöægjÌ}î‰Ç£oj»±@@à;,z¶ú¸Õ+ÓÌqÖ0ʲSg½¤ˆñúÝìT éq¶.ñ]p[ªõ¾äkÙôuöÿk˜þÌcÚlçµ{‹vè˜g²¡ê³ÍÚk×Ó‡mÂöe)JÉÌÓÞÈJž–¤!Ú«ÜéñJ]SÓ8Ë·h¯^­I½M©™«}ûyò$ /S~Vª~»¢¸éÏÀk‡Ô½gw{’–è~‰ú÷ý~àÿÕ£I·ÙghµÊ©1Q÷Ê×L‹U=½Þ>C^ûü8ו¹ÖÕêN‹e ±åÊ”7;QÿÇ 0—iф᚞•¯ðÈ!¶|¤…Ír[ª¶[ßÀÙuéÞ¢eÍž­<·WÄ¿7[—°sü1:)<"R{w×ñ›Ud±¸Î l£þÅéö*<*F1ˆ+²ëÜøÛqãn8]~n¦r÷ôVT„SM'.7ËÊã¯2/ß SŽºWO?ì‚ÍRËß+õu†ïN鮇f¤)9y†~5iŒn¼>J¾†zõšó‡Çꥲ”õì4ÿ²‘š³æë³øiÙÇɆ ó+sºÝBcC|ú %%&irœ»w*3ã/5¿°¸)øƒœH L1ñ±n¢ÕKß²cÈ~½’å|ˆ+þÎþ[„¬«‰I™Êúío•µ"Ów<Úû?úß’NÄË|@@ „ôRêº\%ð]ùªl¯VçÎWЧ^5UuÖïfLðå9Z˜=Y}C›¾ÎîòÃÆÒ;7¾û†@»äš)ұßúfV|®Ýû[C¬iJKŸ£±½:û—âö/qÇ MKNÖœß$jø­·*êj_<©ôÀ‘¦??ꯄßÎÓèH§þ‘zrÞl½Êûi€dÿ:ÍsCUQZ°&K©¿ÍPî´wnÖï_Q¹ÝNïûü…+9÷eý6u¶^Isç,W·¼ ùnKä(=ñ›©JLJQ¬¿áåâ—wW_—*2^¹olPAîÏty3ué=Y3&øŽ'=îHQêýƒÕ©ú myáÿYˆ×®z‡LÓË¿Õo³V(ÉM^ ÌWûÿýCxœÖ¼¡ŒçØÏQÎPª/jÚYùñÒžê÷ôpruùô¨Îë¿ÒG<£)yöëÁLwoöåÒYUökÄÒœ<ÍœÙLö=ºÉí%é¼>êmÉ "oÒ÷Cp‰†Ø‡Ï~TQ‡Ê# t‘9eŒ2kggepöÍvÒ½Kí’3Žÿ@ó®i-!r•_ôª^ZuTo9e‰œ ìQµò—ëêÿÈ7ö#Ýb_–eÚ²ë Ç#¿/ € €'/P^²]{ŽH×>ð{M ÑþíêÝ×r5ÝZJ«5#w¬üØß1¨uê^÷žà:ÛSU/}cÅ«uƒïÀñ¿WüÞ_+ÓZ$NOô5IJ&„š±ð÷êߨ²LC Ý „èܳ>׫KŸQA#Á©æ?5‘Pç†ÓúOzô=hí~mè»ûÝF#þùjûkŸáÀ¯1Î|]©ŠðE­Î»Îî P–Ý¥j-ö_éε+MM‰½Í?î{ùpÏgÕŸÁøÄU¯0'Œ×|]œ%‡»EÖ—Qc{Xw5îtë²fˆ{¡«= ÷ߺ ˆáƒ}6Ã~¨¡vÚOÕü¨ÔX†Lko§¦¥°ÕÚiA>ôñ§-¸Rw¨(ü£¦Ì·ÛP£/­SÁ†ý¿xÔMg ýC3;lH‡ê_W¦å¬±¼6è—–(mZ²¦Å"  äZ.ÒWcÜ;Š435Óý2sïùÍ[ÖÃÎð‰ì®w¸ð¼³8ù(ø‹ € Ð/KVhܸ1Šþ –‡ªGß™¦iCÜVRª8z¬&÷.ÜëÞò–^gûÓ;ìÕ—ÜnÓ0¯¶øOlU©-ï«÷Íã”ùâ½òb¦&ÅX¨¬@)s×pGn>cíHàØ—¶Ó{½öÏÿ¿|‹žˆŸiAXiÒœ\kèS qnó_«ÕñªiZÒÙù-Û¦=þøñçÅÖµª3Twãe¾7>äól+´° ýÔãŒã¾‰v}îº Ú°ar̰;î“õ‹áý|óœ¿ü+÷4W—šäîXÇÆÂ¸þ£'pl±ãÁ–nòî]kÒwéï¬nu‚ÛõÖÁÛv+ÐÈîÜŠºÔ߆ö×Ô9qº-1«a&eŸi÷®MÚµ@¹îO(ûUzÔë¶ n˜¸‰)úëç¼)°Ÿ'¦§üFîè§m/gʺAQdRŽF6±“@æþ¿á÷ÙÏžÓýI†hôÛʫɟ9FSORhaŽòÜ©#tMä ýãQµ# € €''p^Ÿëí¦ô\»»@ñ7ZëÁkaøá_-xå^8kt´¸Úì˼èY=tTÉ÷ú×u¢ëlúß<£ž¶ˆ=MCiÿ'MC/Üaý‰úó°ËÎPJ–­/2V3ú±Žé›Ñï‡4¾ 0ñúí¨ŽQ)ñ¶kê”7büTuw§”iß®b­/[­Ô¬À]îOððªÒ£é—câ4ü¾'4ydßêüCzÞ¨IÓ5ßú÷ÀTÅ_ªÿ±>º!&>ÆZÛZë[w(SÊðÅÅ÷RAf®;%bè]|Åa÷Âç•åê×igë§½èÙù¹nƒ¥´—nõ/ë¼8Í1kÕÅ7¿ê¸/ð[”ó„’Jã5¦[Írýn§ðù)*ËKQBh¼zÞ¶»œãM„¿ôñ»5‰ûN ´©¥pèÙß÷5%¯õ‹ÁyƒTZL¸ͦw8ZIî/œÖÉv¢f®Þï[Ævïk‚.u›Ô7fî[ÉU“ŸÑ´XkÖn¶Ìù¾€pTlšæŽ­ù@6¶4Ó@Úk½ ém_â¾ á±w«½~hÂ##µ:s¾ò¬ÛëaXi¹ÿæžTs<ª…È( € €ÀÉ œ7Xÿ•›®÷areîCŽ}áHMJÏÕØþa ë?Ü®«Ö2{ Ôj}yyó×ÙõÓV/ŧźåÛ[§¬¼ŠêÛÜóâ«|ÖZ[ð¹(W)‰Sì¡ïΨâ4ãgO®N,…À?@ :FÕȺ»œÕKû?y³S”hw‰öð?À±¢òØ >áúñ½#Ü\ËöéͶ…ëþçre±0{ˆy¦„+ǘ¤JÖ+ÈÿjŒ³€°Ž2Iÿ÷áÁÖD/M}iŽœÅ35Û Gس´^Ô0ëÖ00T_ÃZƒÌæêâ¤ïs¯ýØdƒõQž¿á€¾rÆmpòé­¥™Éîü{˜\¦uët3mÉ" ¶*TÕ+ L©ü Lâµ] œñµ ßD <åevÛI¨ÂÃêE[Nrå^O¹Ê=^…„Údh͇ä$³c1RýëWèµ÷èÕùYîsrÎ:ÝÝ×9N•+;îFͶïÇI6íþ^^••{n=8Õ8Õõà € €ÀÉ ¸ç•G¿TU‡Î:7<¬Áygý\[}í-wÏiCÃÂÕØe´×ã±ël×Ùõ¡yÿÝp?ö<ª°°Óòp?“Ö ·ÎgÌS¨„ëãí^€(-Y—¡~Þ2»Úl<>X¾±ëÎáui¾Á¯ÊËÊ­ýqˆÂíxÃ|õc§MÀý@œÂÜ`pø©‰/ŸÂR‘´7ƒçi¶s«œ3ØÓWos¾·G÷û_G¬†„Û¥ï}ý¿ê‹ð@@àd|ç•-δú:;Ä®£›8§uÊj*ûÏ€ÀwVà4ýLz«ô© ú©ŽYÀ8Ä~”iêcØèòMmŒÔ¥©Åj¦‡¸žjÞ3lßXKá`ƒ¥¾ Ð><‡Šõѧ_J¿¯~½zÔjáµ'?oÓÁcUúAï+ÔÓ}Êkû¨¥D@@ø–X‹ÞíìÔ±³Î×}k_s~KÊG1‚V€ pÐnz*Ž € € € €Á(ЦÍ#uF@@@@Ú³Aáö¼õ(; € € € € ÐJ‚­#9 € € € € О ·ç­GÙ@@@@@V n%É@@@@@ö,@P¸=o=ÊŽ € € € €´R€ p+ÁHŽ € € € €´g‚ÂíyëQv@@@@@ •!Í¥/..nn6ó@@@@@Ú™-…ÛÙ£¸ € € € € €@[ÎøÚ†¦28~üxS³˜Ž € € € € Ðh)Ü7EF@@@@NV€ ðÉʱ € € € € Ð ·ÃF‘@@@@@“ (|²r,‡ € € € €´C‚Âíp£Qd@@@@@àd Ÿ¬Ë!€ € € € €íP€ p;Üh@@@@8Y‚Â'+Çr € € € € €@; (Ü7EF@@@@NV€ ðÉʱ € € € € Ð ·ÃF‘@@@@@“ (|²r,‡ € € € €´C‚Âíp£Qd@@@@@àd Ÿ¬Ë!€ € € € €íP€ p;Üh@@@@8Y‚Â'+Çr € € € € €@; (Ü7EF@@@@NV mAáªcú㟊õÆÁ¯ê®ß¦ç®Ü©?n­¨;½Á»¯ôöÚÝîò•¥¥šó§í®j¨Î„ƒ;?Ѭ?Ôµ¦ÜfÓþ´G›+¾®™ZqD‹Ü²yk¦µ`ìã­%š³îs5¾T¥Vþ¹‘ú¶ _’ €ß”€÷À;š·ð5y¾¡zöå+ý©ÅÚÕÚzöiñSéz­þ‚6}iúSZœ¿ë5ð(áožæþ§§ÛùÜRìª}Örj`¾ésÅSSjrA §ðúBv5¸ÖhÁšOœÄ{@Ëç=¥yKß©wV³ž–^Ó4¿2®9š÷anm¶…¿:®5{ŽêÃ/ë…múª*´fÿ "¼úZÛ¶|¡÷~%oy…^ÙS¦ÏêeU»°îø± ½¾íS}P}þµ éu[vÅG•ÕÉï)Õ²=êÐ9¤zZKF>Ûÿ…^ÙtDÕÙ×^ÈsLK¶5RßÚiGþÁ•Ÿ¾§œÅ[ëlœÆB}¹OËW.Ôá¿ëá«ÏôÊÊåÚz´^4Ù¦¯X¾R¯­¿D½÷_©hqŽþvØ£¯>+²2䞸 G µ2gŽ6W__yõ×Òµråb-ÛTZéæW´xåZuèÚ¥zZKF>+zEËçnRyc‰+v+#§‘ú6––i € D•Ú”½XËsòµgÏßÿ»´jñ\%ަÅ[«O\N‰É7~®xJJM&´@à^_H5×-Xó “”æ)=g¥ræþA«ó‘®µž“½®ª½öŠO¸æ¨íÁx³m ŸéË»cýUØô³êOkê}©£·=Ó)ʲ·Íçÿð\uÕßµy¿?üU¹6ô-²yבêÖY;wYX·ÃÙºâìf³k03Ä©S‡ï©N(ù+ ägª›ÍnPß¹0øæ¼^_K×N£TÇOOU CûÜ«õo½¥¨ÖÅOí¸ï+Aƒcjk¾CÂ¥NN!Ο®'<>_0 FáÖNøwúÀÞ]Úø¶¯ï½³µú;dÇ_×Já#u¥sÐoÅà#¼ž½»¨ÓY:ßòjPßVäOR@øî ôœøkýîw¿óÿŸ§U«æhU÷•×vž’Jÿ£ÎOIáÉ–œÊë g}k–¬»Ù4^½õüb©çuê§e¿²£njÿzNúºªvnfÀ5GmÆ›h[P8ó™þO^àý÷êeû•G+þ´U·Íù_÷ÿ/êuÿX¬ökÅÁOõäùÒ;Ë=ùF©¯õîÙaºÞ¾öÑ17yåÁ/´^ôàÕ]ttÏòõdQ©¿}ôwß÷c­‘‹6îÖxÿºo[ð¡Vìô·J«:¢'| E;¨9‹uíVviž£Zôüºíÿ¾oó6kΚOu¢›™k×qø xvié4xð`÷ÿ„'–Ötw`·-ê‘êy÷<6O[ý] xv,×=÷<¡Å Ÿ¨žÿÄÒ×”¿ü©ê÷Xwõï.ðìÊÓ=ƒ'èÕZ]#Tl]ªaÞÐ;UìzMOÜã+‹S¦'çWç±cùöØòê÷òlÕcÓÓ#3ï±Å¯éÕ…Ny‡©À¦•nÍÓ#Ãë†nÐ`+ë_ß=ñé{µ5ož•Å¿®ahyÁwVkëæÙ÷ŽÒV]ï{[è:ù ñ·|<—.®ñ™ðT^îì!¡u'…ÔùYNrnµzªfÛ9Þu~\¯»´û®Ißn}t‹¥Xµa·›Î³«@kírkÊ”ÛU¶òupãê¥zoy™z޼ÆÎ›ös¶ËÃîÑÂW_UúÇw^ÝïŠZøØ=ìlÛVé/j›»Vþ € €÷ýÀ_='| ®ë);¿ðÿ¤ÜÌ9QSçiN^Mž+Úãév>úØR;w î´aZøNÍTY¼"Ðn¾Éë‹– ”mT†5Dÿ«d%ï©Msóä»"«»píë*gNÙŽWõXõ5£]O,¿ºKÅ®üZד÷ÔézÏ-«›7ïhL ^ô¶±$ÍOsZoÿTooýTo¼ïü/ÕÛï!g'ôµö*7k›žÙs¦’†]ªY7~_{·Ð+7ñ‘RMx~¿{»jÚˆK”<¨‹Ö¿ÿ±&üÙY&T?¾ì{:Zìëâ¡Ä^uöÙºõÊsmÞ1~n/žr½f/7\¦ÝwêßÞùBÝúu׬»"4öûUzfÕ6å–ØîW×U_iYþ­ëÜUD¿V çJ-Ê*Ö²ƒßÓƒ?¹Ts‡uÓ‡Û|aZy.íJ L‹«¹ÖøsJz¦–d¤ªËÚ¹;n©^+´ô¡X¥¯,ÖÄés”‘ž¢óÞÎQü°™Úå&ªŽª¤d­.–fff*uÌ ­;MÉÿÏcï—(Ý‚‰›rÒ”ý~ݰp襃4ÀB€s^ø›_Ê«w—ÎUY×Ëtay¾î;Í‚‘£53#CÓ½]k&ëîyï¸i«ŽnWÙ–ÚÇH¯ö–íu«UG÷éí…Ó”få?åêùùk?C›zל%K4s¤¬¬›¬Ñ¬ïHµ+ï7ŠŸ‘£óƤ(#sŽ&ö/Vzâ(-µsëê¶OOÅNÑòŠa¶žle¦O‘Þ^¬”ÿÞêæSV¶Ý-_ Ϲ ÷kzF¦æ¤ŽÑ¶•3ôÇ‚ÆÃ¸Î÷ÄŽu«•Ÿÿš^{ÍùŸ¯ü5uóò}‡Øöy`”mŸnJ“©ŒéUlÞcÒ}V.Xý?¥Íù^ Á£­­ðªMnн¤`µÔï&ýô–›-—µÚäœY0w•½ÜrÍejÎO_yõyY‰§¥im·ÑJ™ys­ïR-¼œ¿}–oŸ›“ ìv1gà;Äeà €Ô(9Zª²Š2•••©´ô€ÞYþ´æ–HÿÜûû–²¹s¢¦ÏÓ¼š9W ¹TCoé©·ç.sÏ{â”®Ôr[gdŸVÞ.U¯.¼Eà%ðÍ__œ¸¦;Öf[£–Aºi@7]~“]°i¹^mä\εTàºJvM3f\šÞŽð]ç¥O¹EËÓôò¬©bé;ºl²Þëû¨2–Ø5êøó´0y¬u5ã\“†Ôº&9qÙHÜõšcµÃùÀ½·åSûXÖ‰3ÿÝ}s©ýõ<¤g-n{Ó뺋;د¡Jù¬B¿zÿŠªÎ ,TçµhÓ§ökh¨þs|/E:ýIü0Üš¿¨³~"6ýz÷¶{”­Ïâ½U^m+ªÒ¥‘ç¨K—ºÍ’¾SâÑÝÊmùºö"iÝ_,<}Ñšñ“óÝ.!®¼§³>™³MÏnúL±Ã:º‡®6?g´o~ѧþ¢ùB˾”îÖ[#{;—ðgkÎ=_køó‡tÜŸ„hž]oi¡5Ñ?g¶FG…[¡/×Ì%•]ÐA•»^Õ\›7zæs?Äwòû‡ÜŽº!6MÙú°ÆºGÉpMÏ{Rîì^õlN‚nùý¯4ärkáÚ÷.õKw‚}õûP¿X±Sieú Ú1ùZõñnW–¥G§ß¡=/?f'×)sÉ9YhÀej¿âçÚÃÎ&\ëᆭ¹Ð¡-ûÚïÜe·.ž`\§%˜¨>NYû<©9TN\aãvñðf¶­ô–TýᑟºùøÝ"}}’†DžkÊ#•6±@‰ ³µõánºú¶¾¼¨Yß>ƒ­­ðòw´Ç3VE+¶©ßHû‘ ü\ ÑKùÐ-›mù~ºÞ*øæSMûÝ;¥›X7ß¼'}¾[?ò—¦ô}-¶ ªÚûÜeW醱é|‡Ôß`¼G@§—);?™¦aËëa„OTÊO/¶s¢¼fΉ¦7yž¶ýÕ,˰©sE)jăÒâivÞ;E„iÃó9–vcÁŽ¥6¡§nTsærný¬ºª[çÀ’þ» ¼N74vì±þb›º=§ÏOÇ«gz¢þl¿Ø^xük7|¦^ÕMUÛœ%.хΡË?ôŠrN V¸ÃZGÓÀìZ¯¶lÏAêU½¬/¯ój-tÅMöÙb;öz?×ǘì7ò²ZǸ ô“1áZ¹j§ÊîrŽo-­[˜Îé¸×îÞ¸ÁN@j†~5‡Èš‰Nž]o}úê·ÉþWçˆ:>ó/šxy­3)Ïûšps‚›¢ÒÝvÒÊicå„Þk†ëšùiÞ·[ä` =/×_ÿö® ¬2w\Óò ÕPsI\û¶6õ·VÈýbÔ+äs½ØœŸ…aØ×Ôòu'©â“6ÒS×ÔÚçBzFÚ^È€ €4¨´Ó—ð13µ,~ªì4³C‡*å¥+Ñ äíøWøò€»PãçDͧ5s®èäxÁ`Y;¥/ÛdçcèYû¥~|Æ Îm–˜)|;þ×ÍIx¶¾nW6¬MÓÍö¿zX›¥Â”››y.‹}víº¯&Ô¢¨ÑÝÅ·~à\;mRâ¨aÕÙ¹#l³Æ-‘öÐëpõ¿Øbh œ@ Vá)››mÝ0ÔüÁ^çë§Ë÷µLÞs…Fž¦›¬òó2­ÙýµÔØXgAß_°¸JNOÐÌþ ­è¦ŸZ€&ûÏûmB%ùóí×Ïž*—wHÓÚ-6WŸ£Ng†¨›–_?\ié!‰ãúk±•·{¨-ét8a·ò6¢z޲‡Y“W>…G¾tû޲9  ÐŽܧmS‘ÝIp¹û#’µ¡µþ}y¶Rÿ>±“U¤Dìx¿ôºíU›úqÕ9n´hè2PÞ"MËÊVÇ/—Û‰þ·5ïûnÆÝc\ L½¿hkÝ,íå;bZàºx“ˆuâ¯^[6|H'íœf%í‹ßׯ֙XR𦽹Ö~†Óy¶‚•ÅÎE„EÀÝ¡LV•ÙA2BaôdÕTÝ<;þ¨qÓküÌlÝ7äR[¿G‹ï¹Y¯4…ä_[‹^¼õZY×þ¹0ÒÍbJök}©¯Öžïkuáq]fñ ¬À1rLœïF}ÃûhdOûu~Ê4Kq»RüùFÞ0RJHW²] ]7eªBOèçÿi$0Þ©{oË{±6Û~x—îuû¶-À €4èÚÑî€ µÿ‰^ÔÝ÷iõV\R¦.š>'ºè“?jxSçi›9WtKª[Æ·îŲ´ôò‹íœóv8ƒjPD& Ð>¾éë‹&U¼Zÿâ\›{»æäþ\¸=‡¨êÀë›8WϯÝe­õ»7º´{MSRlQ)ûíÆMáUþ¼_ê­ˆ‰º«“5„´û_X?Å?OÚWðª¶wh×?¡ú縟«g·F]®‰‰Á,àôõpÚçëGgwÕ˜}æ…b½{°R_|~DÏþÏÍË?RÝA¶¯5å¾WüÀ&ÓãË÷ig©GE[Kôø;ª¸è< p¿ ;i`„/\Òõ’³u‘/u¹èkÉë¢.uÖÞQ×FZÀgÏÇšµásü¼B«ÿ\¬?YüáÎ Wˆ?ðà_¤ÎË™ÖRÐ)wö‹éO<:\ú¹fý÷:ixƒíC ËåÑö5l- &?¥wv•ªt×;š?WÛJ»êü>·ÊˆjqB²^}—ؼ§N¶/ßAº¹oÍ qíØ§{l T½öqÄÌ1ï‘{ôTÞÿÜ ¾Ï×÷®ÓÍoâÈîô¾·Žµ×µzØv·cßmÍ_¬‡g¬µ[Š&h ]tpî,)Ðú|åùÅBK_g­þü­÷Šh§ˆµšè<8¯´L»ÞY¬qNç;‘Êp]kM?V&ë©å:p`—^7M9vf1æÎ¨ê -©ÛWþ»>,,-OÙå/~B KlÖ÷§‘jçY]XÙ‘÷”îyd¡ÿnµç4wkÜ-ÒÝ>éû¶]Ù­Êœœ i›êuØQ³ÆùJÝ4hˆE…m¿ýZ]ì_u—¾×T·ä½f3ÿ~µ·½?ÀKÈÜr/Œÿw½fÛ±t_žº¿VË€@B^@@¦B.T”’¼½óS;}iúœ(pwncçiÍž+úV5ÌÂKÛ4×Ѓ½«:ÈÔT±˜Ž@{hÝõEM-Ot}áÙ‘§ ö@ïÚw—®Øª,»ÝqУ±Šºø]|ñÅöÿ]5BÏvÆJÕ}¤c­k·ïá•úeú«:`ýŒïxm‘’sÞ–'¬³úÞte¿Ü·Ïæí+X®ØÄ4eí°Æ”ž½÷öëZõÖ¾š 0†@mþé Ñ0E‡3ÕÃVè´ã•:)~l„=¿Wÿþü‡îu8Kÿw±µþÚíÀÁÙí;u¬ijÕéüÊü‰W¿²Ë=šsØ]æüó Ù#}ýþ:.ëgÍè¶•éúÚÛÄaбxò3‡»h`7_Ð8òÆÞJ®Ü©™Ý«×ÿêf¥›®¾D ½-XüÕñê`€oŽeˆ“û˽W3ÿÇ,6tílóªþÎC‚X¼"Ðn.֔ܙ*›˜¬)c×úJÝóveüîNû5D<—¡/NPZ‚¬µ!|R³gº}öz:8-‰ÏRGß!ÅíüùAWŽN]˜ZiÝÚl*ѱ5w6„öj'ÙéZÞïQ ¹ØwÈ ½t„rÓ?Ó”)s5Îxç =¯{T í뗶ψÇt{V¼¦åÎtËu÷õ.Ô?h‡\lyÍ< ‰Éöà<^ƒ…kÓ!wQ]>~¦¦—'kšuc±2Ý7íö)Ö¿o7ë:£åuë2`”¦Ü²VéÉöð4'›ž·h´={¹õ}—Ý?Ñ—±ý=³ ¯@‚ªÏvªdÓûÚW9Q˜i£ß!:»ÇfßiL7%<7GN¬Ùvá·(ý…û,dûUÍwHgßïçÎzNäë¤é}Ã-RÎbÝróç­o½LwX }Û¦Û5¨§oû6ççtÏQ½íýY¸}wÜ_îûm;¾íN ïi?2ØI[Í·!^@@&ºžg§ïl²óØMž]xAy“çi‹o]Õì¹¢oµkÄ”ëì!V{uÏ­—7Q&#Ð>NÕõ…S[ç¼Ý‰Wèú¢²ªÂÂS›´ó°õýâ¿ ÑYþÀ¦¿ØÏ-ášykçm­¡‹~úàíZ8-GëwÝ[½žNµ¯iúÜ«%©Ÿhœ=ÔzÔrߢƒÆLWÊÍÛìÅö¹Þk×€iŠõÏëw{Š~7ÚšIZW|ïmÚdפŸi¢¥e@ 93¾¶¡©Ç×üJÑTšÖL¯ôx­ÙvKL½èJ“™|­ 5Å:óLuépF“©Z4ÃJWaY…t±n%Z´Du¢Ö—»zQF@à[&੨°–­g*¼‹?¨[«|μ¯l^—FæÕJÖºQïV=rC¼zÌ|A¿R¸ôebÇ¥ŠJ;Æu²ãbýp¯}Ÿ;åib^ƒBXÇ•VúN]¬ÛƒsÌÜc`“óY¤±I^˧ò«€‘¯üºt©nuÜØ2§jZë·Oó¾­*WüZ_îV•ŒÄ € dM[4{žv‚sÅמ¬iŸ§èµy#½W™*Õ F¦>KM[4q}awŒ>qÃX ¬Õå]Óy´rŽóÙ-·`shX#׌M”§•« yð |£Aáàe¦æ Œ;ìá Óf,·¾ÙnQî[OÊßP8)¨3 € €À·P Ân{Ož–¡MÖoñD{øïøÀ³¾…e¥H|[*Þ_¬ßÐOÿ1ñÚo¤±Ì·Õrµ?‚Âío›Qbh'ûòë™·ŽkظûtíÅ [&·“jPL@@切g_¾ÒŸyK½bÆè^{˜0 €@ðžmMM@@@@@žª € € € € €@‚L@@@@@€Aု € € € € €@‚L@@@@@€Aု € € € € €@‚L@@@@@€Aု € € € € €@‚L@@@@@€Aု € € € € €@‚L@@@@@€Aု € € € € €@‚L@@@@@€Aု € € € € €@‚L@@@@@€Aု € € € € €@‚L@@@@@€@H`¤±×}ûö56™i € € € € €íTàŒíú È$IDAT¯mh§e§Ø € € € € €­ ûˆV‚‘@@@@hÏ…ÛóÖ£ì € € € € €@+ ·Œä € € € € €@{ (Üž·eG@@@@Z)@P¸•`$G@@@@Ú³Aáö¼õ(; € € € € ÐJ‚­#9 € € € € О ·ç­GÙ@@@@@V n%É@@@@@ö,@P¸=o=ÊŽ € € € €´R ¤•éë&÷”(û™¥*U'wzee¥:u»TCo½U{†»Ó<%ojγé_¿_½Bë.ÞÒwmÏëٙúâÚñŠ>ÙBœ °[Vd«ôŸGkhÏÆ*Ywý^¯GoˆÂBÛÆ‚"1@@@@h ж–ÂÞÃZž•«¬7‹´{÷níß_¬—æÏTü]ÑJÈxS^gu_îSnÞ|vß4X‹&xY9mÈ£\ëggjýaO‹Ö×ÚD‡ —iÜôÙ*l2ÿºëÿ óÝx}¦ÊZ»"Ò#€ € € € €mh[SUÿÒ“žüƒîïh![®Ui÷)5sŠžò†M«‚ ÷HmYS‡ŽVͳÕá¤+®‡7l°2´¥ WîÙ¾LwŒ™YÜõµ—n˜Nª»þ³:ö°Ikl ¦!€ € € € €§C m-…ý%:^U»n˜†=þ¤¢lÞËù;åN£šª-åNâ2­z:IQQQîÿè¸4­/q–-ײ¤8¥ed()Ú7/*:AË6îwj0¯Y¤8QQÑJË^oÝ1kÖ¨(%eÖ¤w§E+cýn½øØ=ïÂYW‚feg+!GôT­?hÊìÑÆeiÕeŒK{ZSãâ´b»[š¼±ÎÝ5<6NññqЍ;§Þ»òêõoÉNÒ˜ùEF1_×G%©ÐÉÖ»_ËÒâª×™ðô* 9PÖEÕeNÊÐúõ+jÞ›aauÙë­–· € € € € €@=S®—§z‰†DJ{ßÞ¢/ªŽª¬ìC³DÛ³UjÖ%/ÈQî’t]]”§Ä»ž±°t´´Hy™™êñ¢œðôöe¿ÔC3ó“”®œœ9º²0K«‹ŠtàX h\S–ОC5ùñÉJHxXwXÊ•5³ŒÖѵw+~ˆÓßò%Ï£‹BË•=a¸fæuSÚ‚%Êœ1I;³Rõ/³Ö»y-uÊ:_gd*3}’”Ÿ©ÄÄ阶@9 ¦©‡þ"çƒëc € € € € ИÀé [_»Øê*Žúú¶Q§ë‡*·GtøP©:_ôcM})W™9±¾n*læˆúíØ¡êÕ÷*ë“øE ÖJÏ­üÐ]*ð'¤ûõJ³`î¯ïV¯ »+â²~6«LE—éª;-hjÞÕ8½õzµ>'Ëb¯èºóKû^àmD|¦&¬¾ý‡ê_'X{ça —kÝÒ|+Gº[޾}ëñEs¬ó‡ ?Qÿüð^ƒuó•N÷WjxôU:wïͶ†Ã#f<ª"/Ò¯¥ÿ˜¥²Üç´Å‰R›KTr®¢jàÐ1š`M’Ãã(aØUê{ÕHM‰;qéZX4’!€ € € € €@œÚNv«Á<:¼Ó‚—1tŽj‚ºýÇþ§ÒJg+55Q™nÚpÅNû½®èÛU:"ÅZ×5C×FûÜ íªãÛ(:*±&i`¬ÇõJ¶,fæ(áŠÊ´øn|æ º3>nëzMïÀRªªt"ÒâýD›­eñûzVÏSxO]mïšk\“¸ecUN¤×§í±÷ÈwUzã•5#¾·r§Çëå‹~Zl3wÝÖZÈþvÅ•¾×ÀŒ-9kzî—šóân>ëø[ò:ñíPÝúóxk,¼DÙÏgk¯µ5¾s`S-il½!äB]i-qóß/©™qh›µ=–š~ˆ\MÒÖŽ9%»ÈZ)Ûœ»ÎW³Y÷R¦¦¥Qï0w–ýi¤¬þYuuéyE@@@@hsPØé%boá:nÔú7×({V’nKÌ´þâô@´®éXa÷K¿P|ìH­(,–×ÉguílóÃunhˆ:9å&jÖª-Öñ~{ Ý¿)×&‰îS'*7;[®êK*)ÔÓ<ä>”íÈG-åvÕíŠU‘fÏ^­¨¤Ñ²ŽZ1„iФ͛bå(TIñF¥Ý›ÒŠå[–Ô­CÙf­3‡òs/—ÓÄ̉öнâC*Û¿EÏ<¯é©ï5 nÙzH… € € € €Ôp«¶ipb¹«g§¸­iÝŒÂ#4Â÷Ð}Ñrºòõv¾ :ÿ?Ÿ¯ø¢Iš«éþ©#’3Ý>Ÿ³"GŒÐ†Ôqn0Ø™="y‰îï.oqMWÜ9YQ™S”{››CdLŒ"ŠV+wJ®&L¶sOL¢Ü™{toLÿZœÎ!jzY¨=î$èÜõ·¥²3>ðþÿRúñ_jJj¼[ŽÈ˜XE®vÂÓÍõ󬟺öüÅÄ+"3U)ñ{´àôðÒ:øàCV'§M² á1šóÒx«‹·N¹}3ëþ­éH¢îtÞ!€ € € € € œñµ Í8Ó¼<^¯BÃÂüýý–+#úFééuJè¢òrBBÃd ˆ›¼nK¤0'‘·\åó-°fj”R>›¦u#í—¸‰Lm²G³ŸÑæsoÓýÃúú’í_£¨á)Ö7ñJXÝŸCÓY´aާ¼ÜÂÀ!VºÝq´!KE@@@@ê4v­“ê¿ µný<­â#Ç<65Ü‚¢ æÖKíNk¥ ³÷RùöúEÊ<ØÃâ&-‰ne@ØYE¨~Ðe·æ§ŽÑËëâ4Ú?;;˦ÇêöÓv×^»NÎ@@@@@à üCZ 7¬ƒµÐ]±\U?­Á=N¾•¬§äMÍZð¦.ûÉÏ4vh¯†«iá”’Â5Z¹z½¶íÿ\=®¼]qc¢Õ†bµp­$C@@@@N¿À·$(|ú+Ê@@@@@¤ï€ € € € € <…ƒg[SS@@@@@€–Âì € € € € €@0 ÐR8˜¶6uE@@@@  (ô» € € € € L…ƒikSW@@@@z‚ÂA¿ € € € € €Á$@P8˜¶6uE@@@@  (ô» € € € € L…ƒikSW@@@@z‚ÂA¿ € € € € €Á$@P8˜¶6uE@@@@  (ô» € € € € L…ƒikSW@@@@z‚ÂA¿ € € € € €Á$@P8˜¶6uE@@@@  (ô» € € € € L…ƒikSW@@@@z‚ÂA¿ € € € € €Á$@P8˜¶6uE@@@@  (ô» € € € € L…ƒikSW@@@@z‚ÂA¿ € € € € €Á$@P8˜¶6uE@@@@ øÿ’6‰wÉ€ÞÓIEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/part1.rst0000664000175000017500000004634613656750211024712 0ustar zuulzuul00000000000000 Part 1: Creating your first Application Package ----------------------------------------------- All tutorials on programming languages start with a "Hello, World" example, and since Murano provides its own programming language, this guide will start the same way. Let's do a "Hello, World" application. It will not do anything useful yet, but will provide you with an understanding of how things work in Murano. We will add more logic to the package at later stages. Now let's start with the basics: Creating package manifest ~~~~~~~~~~~~~~~~~~~~~~~~~ Let's start with creating an empty Murano Package. All packages consist of multiple files (two at least) organized into a special structure. So, let's create a directory somewhere in our file system and set it as our current working directory. This directory will contain our package: .. code-block:: shell $ mkdir HelloWorld $ cd HelloWorld The main element of the package is its `manifest`. It is a description of the package, telling Murano how to display the package in the catalog. It is defined in a yaml file called ``manifest.yaml`` which should be placed right in the main package directory. Let's create this file and open it with any text editor: .. code-block:: shell $ vim manifest.yaml This file may contain a number of sections (we will take a closer look at some of them later), but the mandatory ones are ``FullName`` and ``Type``. The ``FullName`` should be a unique identifier of the package, the name which Murano uses to distinguish it among other packages in the catalog. It is very important for this name to be globally unique: if you publish your package and someone adds it to their catalog, there should be no chances that someone else's package has the same name. That's why it is recommended to give your packages Full Names based on the domain you (or the company your work for) own. We recommend using "reversed-domain-name" notation, similar to the one used in the world of Java development: if the `yourdomain.com` is the domain name you own, then you could name your package ``com.yourdomain.HellWorld``. This way your package name will not duplicate anybody else's, even if they also named their package "HelloWorld", because theirs will begin with a different domain-specific prefix. ``Type`` may have either of two values: ``Application`` or ``Library``. ``Application`` indicates the standard package to deploy an application with Murano, while a ``Library`` is bundle of reusable scenarios which may be used by other packages. For now we just need a single standalone app, so let's choose an ``Application`` type. The ``Description`` is a text attribute, providing detailed info about your package. Enter these values and save the file. You should have something like this: .. code-block:: yaml FullName: com.yourdomain.HelloWorld Type: Application Description: | A package which demonstrates development for Murano by greeting the user. This is the minimum required to start. We'll add more manifest data later. Adding a class ~~~~~~~~~~~~~~ While `manifests` describe Murano packages in the catalog, the actual logic of packages is put into `classes`, which are plain YAML files placed into the ``Classes`` directory of the application package. So, let's create a directory to store the logic of our application, then create and edit the file to contain the first class of the package. .. code-block:: shell $ mkdir Classes $ vim Classes/HelloWorld.yaml Murano classes follow standard patterns of object-oriented programming: they define the types of the objects which may be instantiated by Murano. The types are composed of `properties`, defining the data structure of objects, and `methods`, containing the logic that defines the way in which Murano executes the former. The types may be `extended`: the extended class contains all the methods and properties of the class it extends, or it may override some of them. Let's type in the following YAML to create our first class: .. code-block:: yaml :linenos: Name: com.yourdomain.HelloWorld Extends: io.murano.Application Methods: deploy: Body: - $reporter: $this.find('io.murano.Environment').reporter - $reporter.report($this, "Hello, World!") Let's walk through this code line by line and see what this code does. The first line is pretty obvious: it states the name of our class, ``com.yourdomain.HelloWorld``. Note that this name matches the name of the package - that's intentional. Although it is not mandatory, it is strongly recommended to give the main class of your application package the same name as the package itself. Then, there is an ``Extends`` directive. It says that our class extends (or inherits) another class, called ``io.murano.Application``. That is the base class for all classes which should deploy Applications in Murano. As many other classes it is shipped with Murano itself, thus its name starts with `io.murano.` prefix: `murano.io` domain is controlled by the Murano development team and no one else should create packages or classes having names in that namespace. Note that ``Extends`` directive may contain not only a single value, but a list. In that case the class we create will inherit multiple base classes. Yes, Murano has multiple inheritance, yay! Now, the ``Methods`` block contains all the logic encapsulated in our class. In this example there is just one method, called ``deploy``. This method is defined in the base class we've just inherited - the ``io.murano.Application``, so here we `override` it. ``Body`` block of the method contains the implementation, the actual logic of the method. It's a list of instructions (note the dash-prefixed lines - that's how YAML defines lists), each executed one by one. There are two instruction statements here. The first one declares a `variable` named ``$reporter`` (note the ``$`` character: all the words prefixed with it are variables in Murano language) and assigns it a value. Unlike other languages Murano uses colon (``:``) as an assignment operator: this makes it convenient to express Murano statements as regular YAML mappings. The expression to the right of the colon is executed and the result value is assigned to a variable to the left of the colon. Let's take a closer look at the right-hand side of the expression in the first statement: .. code-block:: yaml - $reporter: $this.find('io.murano.Environment').reporter It takes a value of a special variable called ``$this`` (which always contains a reference to the current object, i.e. the instance of our class for which the method was called; it is same as ``self`` in python or ``this`` in Java) and calls a method named ``find`` on it with a string parameter equal to 'io.murano.Environment'; from the call result it takes a "reporter" attribute; this value is assigned to the variable in the left-hand side of the expression. The meaning of this code is simple: it `finds` the object of class ``io.murano.Environment`` which owns the current application and returns its "reporter" object. This ``io.murano.Environment`` is a special object which groups multiple deployed applications. When the end-user interacts with Murano they create these `Environments` and place applications into them. So, every Application is able to get a reference to this object by calling ``find`` method like we just did. Meanwhile, the ``io.murano.Environment`` class has various methods to interact with the "outer world", for example to report various messages to the end-user via the deployment log: this is done by the "reporter" property of that class. So, our first statement just retrieved that reporter. The second one uses it to display a message to a user: it calls a method "report", passes the reference to a reporting object and a message as the arguments of the method: .. code-block:: yaml - $reporter.report($this, "Hello, World!") Note that the second statement is not a YAML-mapping: it does not have a colon inside. That's because this statement just makes a method call, it does not need to remember the result. That's it: we've just made a class which greets the user with a traditional "Hello, World!" message. Now we need to include this class into the package we are creating. Although it is placed within a ``Classes`` subdirectory of the package, it still needs to be explicitly added to the package. To do that, add a ``Classes`` section to your manifest.yaml file. This should be a YAML mapping, having class names as keys and relative paths of files within the ``Classes`` directory as the values. So, for our example class it should look like this: .. code-block:: yaml Classes: com.yourdomain.HelloWorld: HelloWorld.yaml Paste this block anywhere in the ``manifest.yaml`` Pack and upload your app ~~~~~~~~~~~~~~~~~~~~~~~~ Our application is ready. It's very simplistic and lacks many features required for real-world applications, but it already can be deployed into Murano and run there. To do that we need to pack it first. We use good old zip for it. That's it: just zip everything inside your package directory into a zip archive, and you'll get a ready-to-use Murano package: .. code-block:: shell $ zip -r hello_world.zip * This will add all the contents of our package directory to a zip archive called ``hello_world.zip``. Do not forget the ``-r`` argument to include the files in subdirectories (the class file in our case). Now, let's upload the package to murano. Ensure that your system has a murano-client installed and your OpenStack cloud credentials are exported as environmnet variables (if not, sourcing an `openrc` file, downloadable from your horizon dashboard will do the latter). Then execute the following command: .. code-block:: shell $ murano package-import ./hello_world.zip Importing package com.yourdomain.HelloWorld +----------------------------------+---------------------------+---------------------------+-----------+--------+-----------+-------------+---------+ | ID | Name | FQN | Author | Active | Is Public | Type | Version | +----------------------------------+---------------------------+---------------------------+-----------+--------+-----------+-------------+---------+ | 251a409645d1444aa1ead8eaac451a1d | com.yourdomain.HelloWorld | com.yourdomain.HelloWorld | OpenStack | True | | Application | | +----------------------------------+---------------------------+---------------------------+-----------+--------+-----------+-------------+---------+ As you can see from the output, the package has been uploaded to Murano catalog and is now available there. Let's now deploy it. Deploying your application ~~~~~~~~~~~~~~~~~~~~~~~~~~ To deploy an application with Murano one needs to create an `Environment` and add configured instances of your applications into it. It may be done either with the help of user interface (but that requires some extra effort from package developer) or by providing an explicit JSON, describing the exact application instance and its configuration. Let's do the latter option for now. First, let's create a json snippet for our application. Since the app is very basic, the snippet is simple as well: .. code-block:: json [ { "op": "add", "path": "/-", "value": { "?": { "name": "Demo", "type": "com.yourdomain.HelloWorld", "id": "42" } } } ] This json follows a standard json-patch notation, i.e. it defines a number of operations to edit a large json document. This particular one `adds` (note the value of ``op`` key) an object described in the ``value`` of the json to the `root` (note the ``path`` equal to ``/-`` - that's root) of our environment. The object we add has the `type` of ``com.yourdomain.HelloWorld`` - that's the class we just created two steps ago. Other keys in this json parameterize the object we create: they add a `name` and an `id` to the object. Id is mandatory, name is optional. Note that since the id, name and type are the `system properties` of our object, they are defined in a special section of the json - the so-called `?-header`. Non-system properties, if they existed, would be defined at a top-level of the object. We'll add them in a next chapter to see how they work. For now, save this JSON to some local file (say, ``input.json``) and let's finally deploy the thing. Execute the following sequence of commands: .. code-block:: shell $ murano environment-create TestHello +----------------------------------+-----------+--------+---------------------+---------------------+ | ID | Name | Status | Created | Updated | +----------------------------------+-----------+--------+---------------------+---------------------+ | 34bf673a26a8439d906827dea328c99c | TestHello | ready | 2016-10-04T13:19:12 | 2016-10-04T13:19:12 | +----------------------------------+-----------+--------+---------------------+---------------------+ $ murano environment-session-create 34bf673a26a8439d906827dea328c99c Created new session: +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | id | 6d4a8fa2a5f4484fbc07740ef3ab60dd | +----------+----------------------------------+ $ murano environment-apps-edit --session-id 6d4a8fa2a5f4484fbc07740ef3ab60dd 34bf673a26a8439d906827dea328c99c ./input.json This first command creates a murano environment named ``TestHello``. Note the `id` of the created environment - we use it to reference it in subsequent operations. The second command creates a "configuration session" for this environment. Configuration sessions allow one to edit environments in transactional isolated manner. Note the `id` of the created sessions: all subsequent calls to modify or deploy the environment use both ids of environment and session. The third command applies the json-patch we've created before to our environment within the configuration session we created. Now, let's deploy the changes we made: .. code-block:: shell $ murano environment-deploy --session-id 6d4a8fa2a5f4484fbc07740ef3ab60dd 34bf673a26a8439d906827dea328c99c +------------------+---------------------------------------------+ | Property | Value | +------------------+---------------------------------------------+ | acquired_by | 7b0fe7c67ede443da9840adb2d518d5c | | created | 2016-10-04T13:39:34 | | description_text | | | id | 34bf673a26a8439d906827dea328c99c | | name | TestHello | | services | [ | | | { | | | "?": { | | | "name": "Demo", | | | "status": "deploying", | | | "type": "com.yourdomain.HelloWorld", | | | "id": "42" | | | } | | | } | | | ] | | status | deploying | | tenant_id | 60b7b5f7d4e64ff0b1c5f047d694d7ca | | updated | 2016-10-04T13:39:34 | | version | 0 | +------------------+---------------------------------------------+ This will deploy the environment. You may check for its status by executing the following command: .. code-block:: shell $ murano environment-show 34bf673a26a8439d906827dea328c99c +------------------+-----------------------------------------------------------------------------+ | Property | Value | +------------------+-----------------------------------------------------------------------------+ | acquired_by | None | | created | 2016-10-04T13:39:34 | | description_text | | | id | 34bf673a26a8439d906827dea328c99c | | name | TestHello | | services | [ | | | { | | | "?": { | | | "status": "ready", | | | "name": "Demo", | | | "type": "com.yourdomain.HelloWorld/0.0.0@com.yourdomain.HelloWorld", | | | "_actions": {}, | | | "id": "42", | | | "metadata": null | | | } | | | } | | | ] | | status | ready | | tenant_id | 60b7b5f7d4e64ff0b1c5f047d694d7ca | | updated | 2016-10-04T13:40:29 | | version | 1 | +------------------+-----------------------------------------------------------------------------+ As you can see, the status of the Environment has changed to ``ready``: it means that the application has been deployed. Open Murano Dashboard, navigate to Environment list and browse the contents of the ``TestHello`` environment there. You'll see that the 'Last Operation' column near the "Demo" component says "Hello, World!" - that's the reporting made by our application: .. image:: hello-world-screen-1.png This concludes the first part of our course. We've created a Murano Application Package, added a manifest describing its contents, written a class which reports a "Hello, World" message, packed all of these into a package archive and uploaded it to Murano Catalog and finally deployed an Environment with this application added. In the next part we will learn how to improve this application in various aspects, both from users' and developers' perspectives. murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/plone-simple-step1.png0000664000175000017500000041766213656750211027300 0ustar zuulzuul00000000000000‰PNG  IHDR²8 iCCPICC ProfileH‰•WXSÉž[R -)¡7AŠtЫ€t°’„ !¨ØË¢‚kAÅ‚]±­µ"Š…E°`÷ˆÊʺX°¡ò&t}í{çûæÎŸ3çœùÏÜs'3¨;²óósP rE…â¸ÐfJj“Ô (@P°ds$ùþ±±QÊpÿwy×YÃ^ë_Çÿ«hryH,Ä\ 'âcຜ|q!„¨7›^˜/Ãýk‹!Aˆ¸ óXW†3xŒÜ&!.bd*›-æ &ãÍ,âða5GGW(‚x3ľ› ñˆÇäææA¬N†Ø:ã»8ü¿Å̉ÉfóG°"¹ƒ„’üöÌÿs9þ·äæH‡ç0…*‡ÅÉr†ë¶7;/R†©ŸeDÇ@¬ñ%!Wn/Ã÷Ò°D¥}G× 0@— ±Ä iv¢¿;³År_hF Ô8Cœ§Œ‰r¢£”q– xáÃx+O?l“) ‡Vz¬X¬à‰6 “¢!Vƒ¸M’©ô}T,Œ¶KãdœÍ!~›)‰SØ`º¹’á¼0[>¬ŒU(HSøb)òiòuò3ò Š†Š…Š—JŒ We¦ÊJ•]* *×TzT)š+Š%’EY@Ù@9H¹@y@y£ªªjªê©:QU¨:_uƒêaÕKª]ª©ZT[j u2UJ]AÝC=K½K}C£Ñ,i,Z­¶‚VM;O{Dû FWsP WãªÍS«T«U»®öR]EÝBÝ_}ªz±z…úQõkê}*–l¹•'4nk hÒ54c4s5—kîÓ¼¬ù\‹¤e©¬ÅÕZ¬µSë¼V7£›Ñéú"ú.úz6QÛJ;\;K»Lû€v«v¿Ž–Î8$:•:§t:Ã’ÎÈa¬dat0>2å?Š7jÙ¨ƒ£®z¯;Z—¥ËÓ-Õ=¤{K÷“S/X/[oµ^ÞC}\ßV¢þtý­úôûFköÍ]:úÈè{¨­AœÁ,ƒ-†F†¡†ù† Ïö1ŒXFYFkNõÓ}…ÆkÏÿÁÔaú3s˜˜MÌ~“0©É“V“AS+ÓDÓ…¦‡LšQÌ<Ì2ÍÖš5šõ››O0Ÿm^c~ÏBÅÂÃB`±Þ¢Ùâ½¥•e²åË:ËçVºVáVÅV5V¬iÖ~ÖÖUÖ7mˆ66Ù6[lÚlQ[W[m¥í5;ÔÎÍNh·Å®} aŒçјª1·í©öþöEö5ö] ‡(‡…u/ÇšM»zlóØ¯Ž®Ž9Ž»ï;i9E8-tjpzílëÌq®t¾éBs q™çRïòjœÝ8Þ¸­ãî¸Ò]'¸.qmtýâæî&v;èÖënîžî¾Ùý¶‡¶G¬ÇrKžÏÏyž'=?z¹yzñúËÛÞ;Û{Ÿ÷óñVãyãwïö1õaûìðéôeú¦ûn÷íô3ñcûUù=f™±¸¬Ý¬gþ6þYþûý_8ˆŽ¼ô œx6 * j Ö N Þü(Ä4„RÒê:+ôl!,2luØípÃpNxux„{Äœˆ¦Hjd|ä¦ÈÇQ¶Q⨆ 脈 k&<ˆ¶ˆE×Å€˜ð˜51c­b b›Hœ;±râÓ8§¸ÙqÍñôøiñûâß%$¬L¸Ÿh(MlLROšœTô>9(¹<¹3elÊœ”«©ú©ÂÔú4RZRÚî´IÁ“ÖMê™ì:¹drÇ«)3¦\žª?5gê©iêÓØÓŽ¦Ò“Ó÷¥fǰ«Øá›3ú9œõœ\w-·—çÃ+ç=ËôÉ,Ï|Î÷á¯á÷ ü‚>a p“ðUVXÖ¶¬÷Ù1Ù{²‡r’så’sÓsOˆ´DÙ¢¦<£¼yíùvù%ù^ë úÅ‘âÝD2ER_¨ 9-RkéOÒ®"ߢʢÓ“¦¡9C4£e¦íÌe3Ÿ‡ÿ2 ŸÅ™Õ8Ûdö‚Ù]süç옋Ì͘Û8ÏlÞây=óCçï]@Y½à÷…Ž Ë¾]”¼¨a±áâù‹» ý©¦D­D\r{‰÷’mKñ¥Â¥­Ë\–m\öµ”[z¥Ì±¬¢ìórÎò+?;ý¼áç¡™+ZWº­ÜºŠ¸J´ªcµßê½åšåÅåÝk&¬©]Ë\[ºöíºië.WŒ«Ø¶ž²^º¾sCÔ†úæWmü¼I°éVe@å¡Í›—m~¿…»åúVÖÖƒÛ ·•mû´]¸ýΎеU–U;‰;‹v>Ý•´«ù_ªwëï.ÛýehOçÞ¸½MÕîÕÕû ö­¬Ak¤5½û'ïo;t þ ýÁ‡‡ÊƒÃÒÃüšþkÇ‘È#G=޵¾ýDĉÆï†ã¿9ü¶ç¤ÉÉÊS:§Vž¦œ^|zèLñ™³ùgûÎñÏu7Nk¼>åüͦ‰M­"/\ºrñ|³ó™K>—N^öº|âŠÇ•º«nWk[\[ŽÿîúûñV·ÖÚkî×êÛ<ÛÚÇ·Ÿ¾îwýÜ o†ß¼z+úV{GbÇÛ“owÞáÞy~7çî«{E÷ïÏ@xPúPãaÅ#ƒGUÿ°ùÇ¡N·ÎS]A]-ãßïæt¿x"yò¹gñSÚÓŠgÆÏªŸ;??ÙÒÛöǤ?z^ä¿ì+ùSóÏÍ/­_û‹õWKJÏ+ñ«¡×Ëßè½ÙóvÜÛÆØGïrß ¾/ý ÷aïGÍŸ’?=œþ™ôyÛ/ _#¿>ÊÊg‹Ùò£š™ Àë=ÐRáÙ¡ Ššâî%Dq_”#ðŸ°â~&xrÙà q>QðŒ²6 ˆ©°—½XuqiJ‘dº8+bQá †ðahè!¤¾ˆ‡†· }ÙÉÞàlâÎ'"<ßoד¡–ŽOÁòOSmõáød5 pHYs%%IR$ðžiTXtXML:com.adobe.xmp 1458 824 9Ù|iDOTœ(œœ$ ~ȼ@IDATxìݼUÚÇñçÒÛ¥7éÒD»,* ö²vAÁ‚ÛZ°ìꪯ««»ö]»®½bï½€EWYVDQ¤÷Þû½ðæ?8a2™ÉMn$¿ã“L¦œùžIîä™3Ï)8묳6­X±Â6mÚd'žx¢uÔQFA@@@@@ ªÞxã >|¸œp ±ö&4hsÌ1U]/¶ € € € € €@\àµ×^³‚nêÝ»·]~ùåñ7x‚ € € € € €@Tœ@öÝwßm­[·ŽJ¨ € € € € €q‚;î¸cÓ¥—^ŸÀ@@@@@¢$PðÅ_lêÛ·o”êD]@@@@@ˆ ÌŸ?S‹-âx‚ € € € € €@” Š‹‹7U«V-Ju¢. € € € € €Ä 6ÅJüO@@@@@ˆ˜ìˆ5ÕA@@@@H èÁ+@@@@@ˆ ÈŽXƒP@@@@@DÙ‰¼B@@@@ˆ˜ìˆ5ÕA@@@@H èÁ+@@@@@ˆ ÈŽXƒP@@@@@DÙ‰¼B@@@@ˆ˜ìˆ5ÕA@@@@H èÁ+@@@@@ˆ ÈŽXƒP@@@@@DÙ‰¼B@@@@ˆ˜ìˆ5ÕA@@@@H èÁ+@@@@@ˆ ÈŽXƒP@@@@@DÙ‰¼B@@@@ˆ˜ìˆ5ÕA@@@@H èÁ+@@@@@ˆ ÈŽXƒP@@@@@DÙ‰¼B@@@@ˆ˜ìˆ5ÕA@@@@H èÁ+@@@@@ˆ ÈŽXƒP@@@@@DÙ‰¼B@@@@ˆ˜ìˆ5ÕA@@@@Ê"°qãF«V­Z©WQÖåK½á ÈNÃ[ € € € € €@¶ÙŒ3lÉ’%V¿~}kß¾½Õ«W/íêoÚ´ÉfΜi‹-²ZµjYÛ¶m­Q£Fi/_‘3È®H]Ö € € € €T‚€‚Ø'N´Õ«WÇ·V½zuëÞ½{ZÁl±'OžlK—./_PP`;w¶ÆǧUÕÙU%Ïv@@@@@r b»«M'˜Äv—J0;§Ùb¹_¬.²%k‹mMÑ&Ǻnk\»ºµ¨WÃjU/}^·áxD@@@@¢"  ô„ zbûë–*˜*ˆí®GÁìnݺYaa¡;©Ò³:½d]‘}1}¥ž³Êþ7M[¶ÁŠb TjT+°Ž kÙ-êØïÚÔ·}Ú7°¦ujÍÊ4@@@@@ +” dÒ¤I%Ö5(˜NÛ]±‚ØJSRU%ëÙ›l“}5s• ÿq‰}6c¹o*(•]õØb}ÛÕ·“{6³½ÚÔ+Ó(ž¥ª !€ € € € €eÐÀŒS§NMk-Þ`v&Al­\ƒGöèÑ#­íTÄLYÈþvîj»õëyöý‚5ɱÀt‹XëÎk[«ú5¬~ÍÍîU6ÙüUE6uù:›{ *Û7¯c—÷ni}Ú4z›i € € € € €@$?~¼­[·.­ú)˜ÝµkW›7o^ÂÀŽ%-¬A›4iRÒlö~V²×ÇØ ìùŸÇúco)Õc¹YúÄÒ„²u¡íÕ®µ®W=´gõÆXþìùkŠmÔ¬Uöî¤eöïØcñ–U™ÂÞ¶ilWôie jV÷¼ÃS@@@@@ ºëׯ·ŸþÙôX¥}ûöÖ²eËŠXuÚëŒ| {Þªõvþ‡3mü¢µñŠ¥»¶#º4´svjáôÀÖ+ÖÛ×sVÛìë­alpÇÝ[׳¶…µâËøŸL‹õÐ~hì"{}â²Xz’-áñmc½³ï; µi¾¬]ýzΜ9öã?Ú‚ láÂ…¶|ùrkݺµuìØÑté_ݺu+º¬@@ D€óµ˜ØäU«VÙŒ3löìÙ6sæL“Uƒ ¬]»vñ-Z´í¾fÞA@ð TT0; Alíg¤ÙóWo°!oO‹¥Ùr%¡ClÀÆ›úµ±][Õ‹·Óˆé+ìšÏgÛ’µ[úX׈»Oß¡™]²[K«ë¹VÆÎ_mW~:;amÔ´gŽèh[Õ¯º`ö’%KìwÞ±?þØ~øá‡°ê;Ó5jèV[meƒ ²X­ZUWï”­Â7§OŸn/¿ü²ó#JŠŠŠ¬N:Ö´iSûýïoûï¿¿S»ûï¿ßFŒ‘PÓþýûÛ…^˜0¹)pî¹ç:Œü{§cäŒ3ÎðOæuL`ñâÅ6tèÐ$‹ûî»Ï¹àæ}#“y½ËåûsÜ*ïxñÅí…^(ÕuA¹qãÆÎmv:u²½÷Þ;íAPhãR‘Gb¡Ê:_{衇ìƒ>ÝgoÆ }?Ý7þñØW_}:ûàÁƒsÍÐ|oüòË/öÌ3Ï8u/.Þržî›Íy©|‹'œp‚|òÉÖ°aàY˜† € †@y³£ÄÖ®G6½®x£ôÖTûaᖞؽ·ªgwÇzK7®]#Þl³W®·ƒ_šdŠ·ôªŽ¿{rÓ>mì˜î½“’ž/[WdÃFÎrÒ¸oªgöðÃ;YÝÕÜI•ò¨(¯¼òŠ=ðÀNÏëL7ªÞ,§Ÿ~ºsÌ1V³fÍLÏÉùoºé&{íµ×L¶AeàÀvÅW8oÝpà öÆo$̦ æõ×_Ÿ0¹'0vìX;묳w¬yóæÎ…%å¢$ èÂС‡š81öJŸ9ý±ó–Læõ.—ïÏq«¼#@ÁBý+¯Ò¦MÓ2}FtÑ9¬ÐÆa2Ñ^ÙçkÿûßíÕW_ Qïæ?ü°Lôƒç€°Õ«W‡nGÇsØßJïBê„ñàƒÚèÑ£½“Óz^¯^=§sí´¸˜ @(¯`v”‚ØÚÑȲ5¨ãcãÅc§–uí±Ã:X½‰¤÷'/s‚Ðñ}OŽéÖ(Öƒ»­ojò˵EíÌ÷§Ûw±%ÝrrÏ&vÍ[¹/+üqþüùvÙe—ÙO?ýTæm)õÈ]wÝe]ºt)óº²y J+8ªÈN¥“?ïýõ¯µ7ß|3t‡ÕKmŸ}ö }?_ßÈ$—ɼ¹è©cìË/¿Lص£>ÚÎ?ÿü„iþùîæ÷¨È×åÈvëºë®»Úí·ßn………GÚ8#ò/ªâ|­¤@¶Ðn½õVÛo¿ýJí7räHûÓŸþ”rùtÙãÆ³óÎ;ÏÖ®ÝÒ%åJCÞT猧žzÊôHA@È\ ¬Á쨱%É@öä¥kíÈW§XÑÆÍ½¬Ö®foÛÅZ×Oîa<=–ëú°—'Åæ nÐëûne'ôHo4Í…kŠìðØº–®Û|ëcõXç©×ílÝšÔ ^y9NUÞ@3”3°¼ŠÒ<ùä“NúŒòZg6­G·ûuÔQ){idgS«VL]Õûìàƒ¶5kÖ„n _¿~vÇw„¾Ÿ¯od€ËdÞ\ôT€H"oQJ¨Ë/¿Ü;)éy¾»%Tà„Š d«ÊÛl³ÓÛ[éü…6ö‹D÷uU¯¥ÈV[ÁìÒ–+¯¼ÒIi—jù’ÙS¦Lqzl/[¶,ÕjÒ~o»í¶³‡~Øj×®ö2̈ € °E ´Áì(±µW‘ d_ÿål{nÂÒ¸úŸû´²S·oíòæÄ¥vݨ9¶zÖô"V `7²kölm5ª¥Ÿä¹Ûõ£æÆ7q\÷Fö·}JîÑ_ O4ðÍi§æäš Z\i ”Þb·ÝvsFmÔ¨‘ðž:uªMœ8Ñ^ýõÐ`mÏž=Îùøà½÷Þ³ÿû¿ÿK"•‰ò^+‡éŠ+œœ¦nO[R‹$qåÅ„tzî+­ˆŽ)åU§lÈ$—ɼ[¶;ÏdG¿-ÃÙ­Zµ*1¶téÒS‚…óý³ý#cs «ò|-@¶ÆHQz¥É´è‚îATb/ê°cXÛS®÷SN9ÅæÍ›—´y]ÀÑx$ûµmÛÖ9÷Z´h‘s>«Í•VO‚ÊhÚÿTéy‚–c € €€Ù¦M›lÒ¤I–IGƒj±8ª:â(å[ÔJäÙE±<Æû<÷‹-^³¹‹ua­ûdpwkP31¥ˆrñÚ"ûbFlDôëc9´«[Ÿ¶õ¬kã-=©®Ù`#§­tÞ¯Ë{ý»6õmçVucáîÄœ•«7Ûþ/ü8²q­êöùIݬVõôƒáþº¥z­‹Ê5øý÷ßÎvê©§Úþð‡”£¸ë‡€V K‹PÖ:Ë‚‰J1|øð„šn½õÖöÜsÏY[ò¬{gÐÛŸÒÀË;ÏsK@9ú?ƒºø³nݺ„½è¢‹lÈ! ÓòýE&8}ß8Z¶liù¼´ì|w«ÌÏXX [ÓwÙe—«¢ïŒO>ùÄüqçdÑ¿€°{ûí·“N3ùù×ÉëʨêóµtÙ’¸öÚkíÈ#ÌEI^}õÕ%.—*ý¯ýËé=í_IçÎíÞ{ïu:cøßs_«§ÐO<š£þšk®1¥b¢ € €¤/  öäÉ“Mn2-úÞ½{÷¤ß.™®§¼ç\ û×XZ‘Ã_žßÏ;Ú=$3Í'ïLZf×~1ÇVyóÄâ×ûwh`wìÛÎêøt¼täL{wòòøÚ_;¦³mÛlKP<þF9_K7Ý»wo»ÿþû3F¼ôÒKíóÏ?/q¹TlÝ=è¿X©Çßÿ}ÓÝ„é ЭÞÙþÒ«W¯Ðs\ÿ¼¼F@ØÜ»´Al×/ŠÁìȲGN_aç8Ã5³?ìÒÂ.Œý+m™¿zƒôÂD[»9íuÒj.Ü¥yl-¦?ô¿Eöÿl¹-òÎýÛÚ![§wž°¢^¨'õá‡n6lH˜SÊ_þò;ì°Ã¦—ôB½…† f£FJšU·rÞvÛmIÓsyA£\nÝòÛ·»ï¾ÛLÊ»Fý×À«ºÍº¨¨Èû–=öØc¶Ã;$LËçàÒo}¾“Ò·ªª9Ë+­úë¤ñøãOÚåüÕvÞÂçÈ«½çQ8_ dשSÇÔ“YçnÑm ï¾û®)-]ºEiÖô÷Î{>ª º7B½x¼%,½|ùòÀ&•ïÁô®"åóââØ‘±$+W®LšOñLö+iL@@òD ,=±ýDQ fG.ýÁ”åvñˆ™q·?÷iË]úœ´£g¯´ÓÞ_ŸÿÉ íÞ{|?õÃbûûè-y²oêׯŽéÖØ¿h™_«ÇŒ‚bþrÌ1Ǥu{§9½ž>}º{ì±Io)•†zÚ(b&E?Lôc\yu+‚~Ø(G°òê_Eý(ûõ×_M¹(•æC æ;tè`Íš…çIªGUTï_~ùÅœÐ1Õ½]»v¦Ûks¡(¸«ãBû¨¾Ú¯wܱÄ]S›Îœ9Ó.\舕w¶uëÖÖ±cÇ—­ˆôƒYŒ¤ð–{î¹ÇöØc箈/¾øÂû–sËvEôêWÀ`„ ñcFŸ37ݺu3+Ê»”×öª*§ciÖ¬YÎw“öEƒÛê3¦ãIhË£èûOû§ãCǬŽõ-Z8·Çk;™æ¡­Êï$×#›¿ÓÝ}¨ÈÇò d«žú~™?~B•Õ3uĈ ÓÊós”‹m\Õ;¢p¾ÈÖ÷žþ~Ž=:áxRïêLîèSjº¿þõ¯ ëÐlï¼óŽé路„²5fËàÁƒ½³:Ï5M†3)_|±}õÕWI‹p!9‰„  € €@’@y±Ý•G)˜¹@ög±ÙçxzdŸ»S ¶[é{d/]Wd‡¼0É–®O<wãš=ZÛÉ=å÷ŽY`úç–{hgvjè¾,—ǵk×:?põƒÓ_^|ñÅ2<Ï>ûl3fŒµöôÓOÛ¶Ûn›4Ý?A½¿Sž±cÇ&ôôñΫàr¿~ýœ[¤•÷³¤¢ §~ˆyËöÛoo—_~¹3Iù©UGm;hÀmãä“OvþäÕÃmäÈ‘ñÕ+¨ï÷U`P?ü¼åá‡6Ýúª¢Iþ[k÷Úk/:t¨w‘ÐçãÇwr<ê˜òþ¢œÇwœ 4ÈÉ{®}}íµ×fS]qÅ Ó‚ì4ñ|’éÍ÷é§Ÿ&̺çž{šŽo Úή»îj^x¡3›yÏ?ÿ¼=òÈ#¶jÕªø¢,S9ɃŠ~+/¹Ž'­?¨(©^Ðt€ š§"¦©­õƒß[@Ö Žú¢Êª‹9ê¦ÇtŠ.éN oQNè[o½Õ™$yê˜ñçäÖ bë<餓Òê ^ÙÛË$T7í£,dRRÑ"ËÊAlû D+õŠnWõ–[n¹Åôã'Ó¢T,n`ü†npéÞu(Àzýõ×{'>á…ìŸÿügR*Š ™5hØÍ7ßìäÔàHÞ¢À±Z–ùöÛo½‹†>ú|衇šö×[‚¶ã¦¥QTåVOl dëxºòÊ+“Rô/ï¾nÓ¦cØ¥KwR…>ê3¨Ï¢·(€zΪ(¨yàšÞ’É`ZA*ÝÍ ‹ºø¢ž~þô%Þm¹ÏuW…œA=ÞÜyô…í©º@£»)¼%¨naóz—ÓóŸþÙ9–f̘á+ôµŽ#å#Öñ™NQïC}LS-¯ãV™éâž·è{Jë̴袷ÎeqËæït¯Û 'œ8x¢gîÅPïü¥}^Þl P§ _þ¢°:nÜB»›£ô·#*çkAÇu>¤s¥ñÿzõÕW“¾“•7¿Rǃ>8¡Ó‚Îë4(©‚Æé²õ÷rï½÷NÚ„~ðhü×) € €+0iR¬#o;ê|Rw uÄ ª©Îí¶Ùf«[·nÐÛ•2-rìâMc9­'ŃÎubçu³æuk¦™°h}4u…ÍYµÁÖªn{µ­o}Û7ˆ…¨ œåŠ6n²ïæ®¶+6XƒZÕl×Vu­E½äu.Y[dû?ÿ«­þm`ÈVõªÛˆAÝ­FµÍëIY‰ ÞT bøðáIK¨×Šz¯TEQYåÑV®ÄÒõ¦U -, BPTì‹.ºÈéÕîGuS¯Yõ\oÜxKÊ—ª d+èuã7Ú‡~˜›ÚY=Ò8ñ–(²¯¾új§÷vP[u d«¢.pdò%ªu©§³{R/äŠ,J—£`¾ÿGºÿÖå«®º*©m•#;(-PP}ƒT d+ÀªugZpPp,ìG¶§}*Ï@¶>ëwÞygÚ\½¦ê9­žËýû÷÷NNz®À¢>ÇÞ\³I3¥˜ ¼­Êëí\ÕìlÿN÷rgk [Æüß›:&uU§Üô¹Õ{AŸ#w=æR»ûµ¿Q9_ dëî‘  &ºãÊוkì}ÔÆº°î-C† qÎÍtŽæÿ–ZDË+‰ÒÀø‹ÎÕÎ8ã g`e·ã€^#€ €”M@±¼°»àƒÖ¬ŽgêÀ Xœ:Ž¥“kÒ¤I™²HÕ%“i‘ d«òw~;ß»0¾gïØÜ.Ý=ü¶óûÿ»9H,VPúÅzsßË]»zµ„é©^øÓŠœÙ«©ýñw­S-Rª÷”»Ð€ý¸-ÕÊK±z2+VôÃCW]”ß8(퇻\ïÞ½¦îkïcP [ëÔ‡ÍûÃG:åVnim/ìäž² xº¥ªÙ꥜ª»‚–………¦ü‘þ„ê‘çÝwíKÙú¢Rï®°âd«¢‚غ­Å_tœ+اc*ÈDókžK.¹¤ÄÞÇþugòZilîºë®„EÔ hzKPú½¯ÿÞ ¥wïó •R ÈÆßóWÇÉÖ[omÓ¦M3¥Ú + ¤?úè£i3¢°=Õ;(T·°yÝ}ŒÓ}Olj>_Ê[­»9ô/(]»vmÓmòaƒt*•ŒzÙ‡¯ºJ­|îz_w&„õ ×IÀ믿¿Ã£*Ù¹ðî¶³³1­ÏwÿØÿ1ô=SšÏF®µ±Ú9Š;¢r¾–*­ #êà-ºC$ÕßmwÞ ttJ¦ó°LÙêžj`q¥:å”S¬oß¾6Ί»_<"€ €ù& ßJg™NqƒØî¼™³ÕyUé<«ªD2=õz;ô¥É¶jÃFÇEèŽìd=š%x6añZ;æÕ)¶)ö_P¹²Ok;-ÍÁ"‰­ëø7&ÛÚßÒiׯQÍÞÐÙ¶jP+hÕ¥ž¦µJ!âÿq«|ÝÊYÙE=f5@¤?Ÿ´ê¡t$Gq„sK¨Û‹fêÔ©N.EÝJï¿•UË(¸¬ ³¿²½ó(¨­ž¿=zôp™zO9™ÕóUÿüA`½¯ô d©(ðçÍÛ¬Fúqç-Ú¾kïíÝ™¦Ñ@€ ¸ú‹óRN[öSQþãüÑéµùÝwßù‰¿ŽZ [·+÷¥÷‚‚±š®Au;±öñœsÎqöAÁå VgoQOiFôÃXE™è"€ŽÝJî/ê­®4,Qt?ϲzŒé„·èT/hÿçÃí±æ7èyX€ÊWÁسÎ:ËÉîË ˜Êü£>rnÉ °*X ´/þ•í•G [ƒ90Àùðî§¾‹N;í4SxïÑ1§Ú ¦ø¿/ô™TÀÚýs×§´.ú^›·¨]´ õ¨Uoko™3gŽWoXÑ€iàOEß­Þ‹é~')—¿ûÑzÂÚ4ÈØÝn.|§k_Ü’l] :F‚rÓÆæ|V¢ö·#Jçk©Ùú¾ÓFþ¿»%¢¿»‡~xÂù¨Ø d«dÈÖy‚Ú0èï¹ûYvõ÷Në×ù°RÅ¥3ÖŠ», € €É:'7n\Òoaÿœþ ¶û~ºÁlu˜Pg²ª*‘ d ã©ñ‹íïÿÞ’/¹]aM{öðNÖª~b:÷'/³a#g…úߣ©ýµoÉ=ª¬Ù`§¼5ͦ.__×å½[ÙY;4‹¿.¯'ú¡¡|†þ¢€?Í„žŠx­ÛéÕ‹Ð_4H•L +?üðƒ“JÄßsTËW^y%)õAª@ö` ùƒLî¶ï»ï>' ç¾v•“:('£ÞWžcïàšVR>ÕLÙú’ÐúüÁPÝB«¼ÇÝ»w×&“Š£ÊC®ƒJÔÙÞ:ª}”V?Tè *A=hÐW/쇪~tQºy‹z'ëµ÷|ïû¥}®í(hí/a­}FlT*h?ïzÃTšGiT´no>dï²z®m(G»?0«üϲñ·CT¶d «[мÚw]ØòNt )XíÏG­ùÝ¢ïïÝîô ÔMa=îuG.ä¥*:fµ¼·¨÷¦Q÷ýÒ|'iÙLÝ‚ŽW­'›¿Ó³)­‹ç h°:µCÐqHovѸÞRÕ;¢t¾–*-³Ûo¿ÝŒÙë—êûHó)Å fõìÖEB•LÙZFyõ]“N0[ó«èï˜:3ì¾ûîÎ6wÚi§„‹y›çâÿ € €% ¨sgØïZ6,ˆí®·¤`¶Ø©~‹»ë©ÈÇȲ7Æz$^øÑ át±SÃZvïAí¬kã-=³®)²C^šd+×ÿÖÚ£¥¬ÖÔÞúw(ôLM~:-6ÀäyΰÉK·±ûµ/´ûcÛª^P¾¹±µuåËT/?Q/>s+³¨‡°‚ÕþŸçwžyæ™%VE½FõCÉß»üôÓOwr{WÈV`J,õ˜ +ê {È!‡$ô Ö¼Þ\þeK4Ê$”WRuPM¹¯SyŸtÒIIée´LT٠Ы¾ż¥‚QOgëÝÒ A'Ÿ¹.p¤*ZVŸ oÏoͯ”1û↑E3~/(Ðçí…æ_áþóÓgÂ_î¸ãëׯŸrÂë°•fúóŸÿlÇw\ÂüA/t¡Iuö6üÅ¢²½ àtXÝ‚æýé§Ÿœ`Šÿ»IyÅÕÛ¸¤rÁ8wŽxçS0ôü£w’=üðÃIƒ«*•ˆòΖTt.Jy‹.Êùó꼕Ѿ;IËfâ–«ßéºðä¿h(}~ÔÖåUÂ{Ô6ºvíºý TàNuTÏÿïÉ'Ÿt_Æó½£ú·#Jçk%²õÙwÐî¥pÖÁÓ}_w¨S‚[4Ÿ¾×ܿץ dk]óæÍs‚ÙþüðîvJzÔEsõWý¼wÍ•´ï#€ €˜“© (˜]RÛµ fG!ˆ­:F6­Ê­.*¶³ßŸa߯itK½vÕ­íØnâ'æc篱«>Ÿ•ˆnX»š]¾{+;¾GwѤG¥#yý—e±žßslņ-©IviUÏ:¤½5¨Y=i™ò˜ð¿ÿý/0H¬öòüAžN]ƒRàQ½@Õ[4rÅW؈#fÕ²Ÿ|òIBoÕ°@¶R9õŽMXaì…z?+pî-ê¬}*¥ eÈÖ€Gß~ûm¦ÀV ;¢—Ê¡ë/Q dË3茷þºãÏ1­+'Ÿ|²w¶ÐçA½¹ýù·CNó ¥BQªoÊ-šª·ª‚TºÐ¤üÈÞ’NÝÂTêÑ­`iØ]Þí¨7¶ÑRpÀ[‚ŒÊö‚‚Óau š7hÍ^½z9i† Ò¸À¨uþíoórY»ví’î>Qz ÿxº`¿ýöKX6èÅóÏ?ïô‚ô¾§å4¸dP)Íw’Ö“‰[.§™–÷´°@vymGyùƒ²Í÷6Žêߎ(¯•ÈÖ1ª‹|þ¼ˆ@=ýEãsè(Ň­uKiÙZ^7?ûì3S.w] ö_”t·‘êQwcéÎÝ V³fÍT³ò € €€G@=³u§œ:ª³‚Òº¹<³…>U0[Áp7°–U < %Òl­)Úhþl¶½?ey‚×ö-êØù;·°~íëÇzMWsN˜Y²Îf­,²Fµ«ÛöÍk[Áhõöþ|ÆJ{ð¿ mì‚5 ë= S¡ÝÒ¿ÕY6aæR¾P0VAYÑ åԬ̢œŠúí-éæþu—QoáýåñÇ7žÜÈÖ-Ø Þ–T‚‚@ª¿‚ÏA%hþòL-¢ž°þ|”j?ÿàºiš¾PT¥Õð–(²Tô’R|(Øë¿XÁ¾T=½û>fÌÓÀSÞ¢Ô 6¦ðõ.ö<¨­£ À«'nXQïk7o¨;ꦋ> J‡•°Uºw=¸ë º\w3øÓçDe{AÁé°ºÍtáJÁ.7ÿ´ëö¨üëAƒ2*%K:ð°õºÓu!DyáÕsÜ[ª:Ëßé^çŠz^‘ìTË2ùläbGõoG”Î×Ò d?òÈ# h}NVª$ÑEwÝeå-þs˜²²½ëUp]c>|ýõ×NÞFï][Þùž뢱îÎ"˜&Ät@@ Y@ t§¨Æ8+)–“¼ôæ)+V¬pR¾•W<&l;™L| [;£žÓÏþ¸ÄþùÍ|[ l{ËVõkØÁ[7´½Ú5°žÍëXÓ:5¼oÇŸ/]Wd㮵Q³VÙû“WÄÞ[Òˆh¦ºÕ lX¬÷í›XA쿊,êÕ©4þ¢3ê9SYE–i3yôÑGmÇwôONù:(¨«A•>Ã-alý¸iÒ$¼ç¼»|иª dëË ¨Ç¦zئ †ºûâ>*h«à­·D1­;‚.Vxë­ùü9…Õ3ÿÓO?ß=á?è¹®ö)U‡?´‚¸a9ǃ֓jZ¹òq*ª„]°IœÒúÂT÷Üsí±Ç©6™ðž‚²ÇsLÂ4½P Û›{<*Û N‡ÕÍ?¯þàöíÛ× Իú‹Á<Õ;½2ž«wáܹs«Ú ^«—á’%K’6]•ì\ÿNO®€ ÈÖ-xú{èOä­~ºŸ\lã(ÿíˆÊùšŽ• s $¥hÑjÞRXXèŒ5àÿñ¡´pÞ»Qôþ‡~hº+Ï-åÈv×§Gý×ù îhSOí &$¥§óÎï>×Tþ»lÜ÷xD@Ȭd»Í1;|¾ç»öVl€ÇXÖ‘¤R-Ö«²IjÖª^M«W³šóþê mÞª ¶d]±mÜ’=$¾l,S‰Ö¥‘]´k kWX+>½"Ÿ¨'JP+è¶÷Ь‡F3U.kQ~OýðΤh=ZŸ·œrÊ)Î`î´°@¶?=‡;¿ÿ1èG\U²ƒ T/Ïÿûß]éRjç¼%ŠìÛn»ÍöÝw_o5“ž«•nÅ_J Ñ?¿?ˆ­÷õãU?bËZÔ+,(¿²r­‰½ÛSpuðàÁIé=:vìè nê×û<,@¥î:uòΚòyQQ‘í¹çžI?ø58ÚvÛm_6*Ûó§UÁ°ºùçU •ßÿþ÷ñ}ÒõÄÓç«2ÊÏ?ÿ쬕ïXÿtÜ(@äÏßT—ª dçúwzwyO+¯@¶¾÷tAXæôS·nÝ”UM÷³‘‹må¿Q9_ÓÁtädk>¥jóœ¬ û÷ﯷ2uêT0`€ûÒy Êï_ì„Æ^èζ¯¾úʹójôèÑIi¿¼óûÿÞyßã9 € €@~dU Ûm’+ÖÛ‹–Ø;¿.³Ù«ŠÜÉ=ª'÷¡Ú m›Z‡Ø ’•]ÔcFoQWÿQ£F¥Ý{Õ»¬÷¹R;¼òÊ+ÞIÎó½÷Þ;aB¥kP/1oQý ÈôÖû«¯¾Úéñã]—z{{s@çR ûý÷ßOÊÍÝ´iS§7“× ¤çº­W·÷zKÙ/¼ð‚)%Cª¢žõ¼°"Šn‹ö÷ö.Ívî»ï>SÊ›ò.êÍ­^ÝA%,@¥ÏYíÚµƒ ¦Ï”zdz‹?È•íùƒÓªsXÝüó~óÍ7¦ÜùÞRšÏ—wù’ž«nJ;£»*ü9fKZÖû~U²sý;Ýë\QÏÃÙº0[ÒèÜuêÔ1 Š«ÊçíÙZR}ÓýläbGýoGÎ×tü¤ÈÖÝ"JÃá-0Ù;-è8ÿÇ?þaJáá-•ÈönO •nîé§ŸNºh«ùÒ—»>ž#€ €äž@V²Ýf(Žõœ°h­ž½ÊÆÅr]ÿºl½ÍYQdë6ÇRĺZÇJµ‚±\Ù5¬u,pÝ¥q-Û¡E]ëÓ¶¾mÛ¬N,·öæyÜõUæcР‚Ú¾?¯tiê¤\¿Ê%ë/þ^µ„ç²Ë.K˜M© >ÿüó„ié¼êY¬œ—ÞzäR ;(ЦàÅÇœW|!Äó–(²Ó ºj߯¼òJï®”ÛóLr#‡mT©!ÔËW£ò.©òÛ¨4Ø‚.Zeš§jàÀNaoý5(¢·—y¶§úùƒÓšT· y?øàÓÅ1oiݺµhöN+¯ç?þø£8_¹re‰«Ôž޽{;©…Ô“T9Ò½¥*Ù¹þîu®¨çA>mKÓwÙe—ŠÚlÚŸ\lã¨ÿíˆÂùš¼tÙwCéët[ô½¥ ʨ¢ÞØê•í–F9ü“*;íÖG=³ƒ?×9:ÑßP  € €@~ du ;¨É4ãªX:‘õÅ›siתQÍêÅò‡h@È(¥ï|G94õc¥,EA?³ýÅß«vìØ±vÖYgùgs‚± ÊfR‚ò+ÿ⥗^_M.²Ãòë"€.¤[”ÒBMo‰b ;ô/ʵ©6÷ýhÖmÎe-º=?“4AÛÓß‹/¾8è­2OS›«—~PÛ‡o_ýuS:¡LŠz£iAoñçÚŽÊöÊÈ?~¼zê©ÞÝt‚þåqÇJÂJc/”FDo*ソ(÷n»ífÛl³ÓVj/ýSPH%hЪ dçúwº¿}*âuÔÙ¹ØÆQÿÛ…ó5ëé²5¯Î½ü®»î:;üðüØþ¿Õ l]ˆN7­»ïºë.m:¡\sÍ5)sÃ'Ìì{¡ñ'‚ÒIýmñ-ÊK@@ȹ@v¶´• SïPÎUåÕÔ­í-[¶,õ®¨w¦ÿÖxåç1bD<£•O›6ÍŽ;í”&¡öEym½E©¼AÌ\ d+oæ^{í•tëëóÏ?o]»võ2¤|ÔV™²5PR:i`ÔkWƒ8yKP~ñ²´‘pRúå’v‹Žgý½¼Ü÷+óñOú“30bEm3,ýIX`ùþûïwzö¦[õöæ8u—{õÕWRDe{AÁ†°ºùç Û×Òäïw‚u¬*7º?Í“ÏTPG9cSõü‹Z ;׿Ӄڰ¼§E=‹mõ¿Q8_ÓqžI ;(]KŸ>}LéÌ‚Rš… òn [ƒëo¬¿ø;4øßOõúî»ï6ú˃>è\`ôOç5 € €@~D.½b}‘Í^¹åvH5CjÖ¾°¦Õª¾¹WµRŠüºd]l`ÇêÖ26°c¶–o¼ÑÔ+Ó_ÔQ=QJSÂ~LõôVªõôßN¯^«ÊšnQHÁ oSËêÇ’~8¹¥,AR­#èG\P0ÖÝ^PàrРAvùå—»³$=ÝB¬ ýõ×_Ÿ4¯R§(¹· :ÔÎ9çï¤Ðç?üðƒvÚiIﲕú`È!IóêÇj“&M’¦û' þdWÖ6 º á´úëV¯ˆÐþzoµÖvx/iGýôy¹öÚký“m‡v°Ç{,izXðvذavòÉ''Í6A=Óüß A)J¢²=pZûV· yuküÂ… 8î¼óNëÛ·o´°_~ùeBŽ~ͧϊòǺÂŽw/÷°mD-ëßéaíPžÓ£ÈÎÕ6Žêß÷تêó5Õ#è(h°GÍ»nÝ:§'ôªU«ôÒ)ú{¡‹œ{öìÙîdkÛ¶­½ñÆñ×Þ'鲃î¢Ñz”ŽGŸ©Ò”°@v¦J³m–A@ˆ®@äÙLYn˜i±l Vð[¼¢Xšº± gíØÜÎÝ©¹-__l}žŽ¥1ض‰]»×VÑÕ-¡f“'O¶N8!)¬ô:<.lµkÖ¬qòú{Fk~~lwìQƒGy‹n§Wjõ¦M§Üzë­öâ‹/&̪¸Ÿ|ò‰©'¸[‚F餭Ð:‚~ÄcÝíUt [ñO?ýÔÝœó¨”,ï¼óNZƒøå×J‚Ù‹/¼=÷ÙgŸuÒ$TÂ÷Bµo ²+k©¾ò‡{‹nqö߯ì}ßû\w(ø% ˆ¨ÜÐe)Ç7 då/üQ?Ô3-A´I·Þzë„Õ…o•óY\åüL§(ð­à¬·1¢²½ àtXÝ‚æÕ¡ï¾ûλ»Î…‡þóŸ ÓÂ^ÜtÓMIƒÞú ÕíðšÏ[2TRýtÇ·TejÕ#—¿Ó½Îõ<êì\mã¨þíp³(œ¯ý pë”fNüwgyæ™Nz%w9ïcºlÝ¥¦u¯X±Â»¸s.¤ó”Ò¤SÊ'Ýuæ/ê°¡»f( € €ù)Ù@ö5{´²A±@µÊŠõí–¯çÙë—Ùûµ‹ ÖX/'ÙÚ7å,|ûí·õ4¡(x§‹ù„™Ž3ÆÈÈŸZF3²5]=QýÎé´SÐ-ÆZ_]YÛH?XýFÕÛË{QCÛ*Ï=÷œ“wØû^ª½ó¥z® F“&MJ˜¥Y³fNï´ ÏEÂŒ/l×Ñ þ<ÜaÁ[-ë¨Ñ¿>÷µR) ÿ®õè÷ˆ•í§Ãê4ï“O>iêí-j+Í«„©Šz!*mÏ¢E‹fS›)Ðì–‡~Øþõ¯¹/Çž={š¶]RÑgwß}÷uz>zçÍ4­zê8HU2qËÕït}~ÕËÔ_ôý¢‹BåU²!‹mÕ¿Þ㪪ÏׂÎR²V0¸¤¢óÆŽ;Ζn [ Î5½C‡öÄOd|VÝu¥s[oéÒ¥‹i¼  € €@þ D6}íž­íÄíšÆ[fÔì•vÆ»ÓíüXì!½š²¿™³Êž·È&/]oukØ^mëÛÐX/îFµkØ;“–Ù#ß/²>mêÙwsWÛòu­sãÚvá®ÍmÛf›{ OY¶ÎøïûaáÚXзÀvjQ×΋m¯máæ½â•)Ç' ¸ <8á6Owõ Úh òR9”Ÿ7¨g³ÛÓm˜ú±V‚zB)è¨Àøž{$Rmâĉ ó¨GùË/¿œ”绬AÒ qAÁX·2ÈÖvÎ=÷Ü@wõ@VÏH7…['=jÀº?þñA½È>þøãM½Â¼E?êü Æj`@õþõ×_½‹9σìÊÚFê•¥ÞÓþœÃJß¡œÃ©zù+X«žaº8â-¥ÉÙî]>,-KYrwªŽêå^\\ìÝ”)¨öî»ï&ä BjAõ*»ýöÛÛ¯Väy1gÎç½?ï½ÔE0mÓ[¢²½ àtXÝ‚æU Xyo×~vïÞÝI[äßo¯R¿¨¼E^'À{AEtê;Ö[ôYÒôTëWpåæ›o6¥Íñ—þýû;m꟮×AõróÖÍïNËÄMËäâwzÐÅ(íkIé¢4O&%ÙÚŸ\kã(þíð7U}¾t”*­ï) îèOæÝ¯í¶Û.0µ;O&lý­Uj<ÿW­kçwvÎtÎRRQ'Ýñæ¿‹LË]vÙeÎ9sIëà}@@܈l ûÄmÛ¾ ù…kŠí±X€zêòõöܬ],_¶?µÈ¸klð[S¬ÏVõí´^Ílþê"ûûèyÖ³Ym{üÐ6ü§¥vã¿çÚn­ëÙÙ;6³eëŠíæ¯çZµ‚j6ò„®¶bÃF;â•IÖ½IXp»…­/Þd7Åæ_¹¡ØÞÐÕêÕ¨f ×lˆ ›µ(ç¼Üÿûßÿœ€¨~ÈýP0{·Ýv³-Z8A2ý0™0a‚ýôÓON:ƒ¥K—-êôøÖ™TeÊ”)Îþ`¥QðQ»:uêÄW¡GÚîŸÿüç¤ “fR_ý˜ñ—²Iƒ~ÄcÝíVF [i4P*Ûn»­3˜ŸÓ îkÿõO=ܶVpÍß+;,–ŠD=:4÷èT¯¯¸â gPÏ úÙ•µ´OcéV‚òëÎõÒ×1ì/Êÿ¬üäþÜ%ýÈö¯'èuPŠ ÍWÖyPZ ­Wi3Ý„tß×çLÇêQG•è×çlܸqÎçÌï¢euÁ@íë/QÙ^Pp:¬nAój¿>þøcç;È¿ê=¨ÞÕþ ˆ.0èŽ[Ë]¸˜5k–ãî_¿‚å T«'¡¿èb’îpQ¯Ø ¢Á^uñ0¨h€Ouµ¿¾Ûúõëç´¿Ú]ÿ4Ý-™ºåâw:l÷hØü˜‹mµ¿‰â›_UåùZÐ9Pª@¶j–gÚÝ·’Ù²µNu€PŠ­ ¢ ûº³L¶Û·oïÜI¡óÝi¡ïâ3f8wÜøSh¹ëÒ÷ò#<âœO¹ÓxD@È?Ȳ kU‹c‰²c¥F¬‡\ÏæuœÙ;ÄzI/]W”ȾóÛùöàØ…öÞÀ.¶u£ÚÎr×5מÿi±}yRw{oòr'ýôál÷X0[åÆQsìÙ—Ø'ƒºÚ—³VÛ5_̶‹wmi[7ÞÜ[=·Ÿ¿Øþup{ë×¾Ð^œ°ÄVÇÞ ”—w=z´üó§ŽðoG?t⯞¶%•T·¸û—Õ jÏ<óŒ²óZe·ß~{çÇÆØ±cmùòåó*ð£Û>ƒòþ–5Hô#.(ëV¬2ÙÚ–‚³ ÄeZd¥àÕÓO?°hX [=r¼ô÷Ö ÷êÕËÚµkç´‘zÉ«W´b*………I¹+ƒìÊÚFÎÆbÿ ë©®ãW?` nÙ²¥¸þùçŸMAQoeõŽT`°´E?•æÆ? ©ìƒzÓf² Þ¼Z^HzÓ«„!Õó×m-§‹EréÑ£‡sñA½5ŸŠ>_º¼M›6›'xþ•í§Ãê4¯»KgŸ}¶)OPiÞ¼¹Ó›] 0kÕ 3¥ Q$è{IŸÕË_t¬ê{Om¢cQiJ´ ]\HUÔ®ýc2”+]oÚ sú *º[AŸS}·+ˆîM+U·\ûN'|ÔäZk£ò·#Y{Ë”ª:_ :*)ýË/±ñdbwˆ}çhðÇTwŸdÈV¯u z­í¦St× ¾ó‚zq{—×yã>š²®ÞùyŽ € »‘ dûS‹x› (}K¬wõããÛg'v³V¿õ˜¾56í±Ø´Ow³§®pÙ/ÙÉvl¹9}ÛoGL[é¼Tׯ֬nâ ‡GukdÛ4­cűîØ:ÙV`½"Šn§TÏÚeË–•yõ ¤\ýõ¦ éüîºë.§'MI?(ÂÖ§`‘zÕõbÔ2e ’ýˆ ƺõ«¬@¶¶§˜LИtëôبQ#{àì³Ï>KÊÑÈÖzàRÚ–LÊ;ìà¤+yüñÇ ²+k¹Pb¥l @ºó…=긕‚ˆe)ꙫtþ¢à¨þ•¥hpU n¥GoQp@~*¸ª„ÔÝê½í¿»® ç vjðVÝ¡T¢²½ àtXÝ‚æu÷­¬Ç’‚ÐÊ¿–^IwUè.’  DnÂuœ*pVü½þuPc ¤ZFëÒwIYÙ¹öN ;ù(˵6Ö–õó^^;’µ§TÅùZÐ9PIlÕZéw‚Ò‹)uœzl§*™²µ.}Ï)¿µîÜ+¢ õ b]¸-õ³@@ìÈÊ@ö²Xìß=ý‹ èÞØnÜgsÄ×'.µ+?›mWõieC¶o ²È†¼3ÝÄRŒ(Pýâ„Í©EÂÙóbó zsª¹C3»l÷–±”#6gåúX ’Ö£Ù–´ݼJrß}÷9ƒã¥õÖI½µÕFƒÎ©Ga¦å믿vàA© ÂÖ¥À¶©Aõ<¬”5Hô#.(ën¿2ÙÚ¦b N†õVw륞í H«§fÐ`s P*uAPÑñqõÕW›Ú)¢Þ½ Š©'¨z¤zK]YÛÈ»~¿ äi_2 ÖêBˆÒ¨ì¸ãŽÞÕ•êyXï>y„]pÉdC Ö«g¶¿(wüi§æLN¼Õýo¼1­;,´2ý×'õö +QÚžzÑyKªºùçõ.§cIƒ…i`ÆLκˆ£ô+Ûl³wuIÏuqHŸÉLŠ.8©í”×ÝŸÇÛ]?­éºóEm˜ê‚ay²Ý:äÊw:l·E“s¥Ý=‹Âß·.©+û|-è(@¶¾‡‚Öêx ó€T¥4l­O)ÓÞ|óMgà\óPš¢»[”ŠDi¼Â£,ÍzY@@ »²2ëm—ŽœeLYa-êV³ç|]¶­@IDATêlÍc½¨o5×^þyi¬GuM[ v7ˆ òxó>[Ù^íØ3±!Ê‘ÈÞªA-{ø ìþÿ.tŠlT«ºÍX±ÁöjSßî9°½Õª^1½°Ã šóâ‹/ÚçŸ^b`TëP¯Ã£>Ú `7iÒ$lµiM_±b…é–å>ú(e€M?2l¼ôÒK[ðKZyYƒ¤A?â‚‚±n=*;­í*­zY+®ò=.\¸ÐÉÿ¨›J‘¡T½{÷Ž_dÊ™«œæ×]w»êi¬`WXntõJ;î¸ãœÛ´•‡[ÁäÊd»W.wå3VJ†TÁ;g50¥RèØ*kQÎM}&üÛT/oý°/òÕW_9?²ýëò¦.))x«‹F 2è˜ñçKw׫ DJYrÕUW•xkuÔ¶çîƒKª›wÞ çãÇwz±+…ˆ¿]½óë"ÑE]äô˜÷NOõ\taIß¹aEÀVGõ˜ÖqªÁ[•gÖÍ{ï]6(­÷Õ›Sm®Ç  –JM£övKYÝrá;@¶{4?æBû÷¬ªþvøëQÒëÊ:_ :J'=oÞwõ[¹~£ujXËjþh^´¦È¦Å…¬œ±[“Zñ4 Kcƒ;.ˆÍß>6oßæ]›wÉÚ¢XNí-ó­*Úh“–¬³ 7Y»5­e¬¥éÙVïL§ëG€zúꇒ‚¢ú§Ô#J/ €µzh*0ª´åüóÖO¥†P®C ¢¦ ©z|7kÖÌÙnŸ>}¬qãÆÞExž¡@PÞ°Á2ý«V>õiÓ¦™rg+h®^Oj„û÷﹑/^lÊ-ªÞ«z®c[?RÕWßÎ;—û1ì7«Š×é!•¢D>“&Mr|ÔÖ-Õ T¨WZª<¦Þýªìíy·]YÏõ=¨BçÎëX)¬{:ŽôOÇUª»CRÕSŸ)åm×gJëWŠ}¦:uêä¬Û;ð­»Ý…¡±t±N³”«^9ëu¡/U=ôÖ6”#Vßß 4p¶´ w[eyä;½,zÙ±l.¶q¶üí¨Êóµ¨úŽž:uªó÷_™õOçú¾Ô…GýÓß:ýÓ]k ´S@@ˆ\ ;¨’LC WN=õTS/Soñ§ð¾ÇóìH7°\^{VÙÛ+¯z³@@@@ •ìT:¼‡@ åºU>soiÕª•“:ÞñêI}üñÇ'å.¯üÍÞzñ¼ê*;°\ÙÛ«:Y¶Œ € € €ù$@ ;ŸZ›}-Wÿüç?vÞyç%­ó¦›n²<0iº°aÃìË/¿L˜¬TÊ'™N  € € € € uÙQo!ê‡ € € € €ä¹ì € € € € uÙQo!ê‡ € € € €ä¹ì¢›íÓ½iäëL@@@@ÈÙÙÒRÔ3R W®·Þœhm×±Óû¶³‡?›žÈnP»º==j¦ulVφ´u¤êNe@@@@È6ÙÙÖbÔ7÷˜joŽçÔ¥Vj¦ÀõâUœ×[Å‚Ûs–®×óö¶³^í ã¯y‚ € € € €™ ÈÎÌ‹¹p^ûn®=øé´5êÇÜʙݡYÝçe@@@@ ìÂTJ?k…=ðÉ4›8oUÒ¼fõla§ïÝÞšÔ«™ô>@@@@@ }Ùé[1' ²8x € € € €@… È®0ZVœË¤ÉåÖeß@@@@¢&—ìyóæÙ3Ï<o‹† ÚСCã¯ýO>üðC7n\|òÞ{ïm½{÷Ž¿ÎÆ'~ƒ5jØyçgµjÕ Ü &Ø;ï¼/ â;SŠ' öX 4A@JðŸëq¾kÆùn¥~l@¨¼ dÿøã6dÈ8èV[meo½õVüµÿÉ 7Ü`o¼ñF|ò\`§vZüuU=5j”ýòË/ñÍ4ÈêÔ©ê‰ß@óžyæ™N0;h¹>øÀ®¾úêø[Q1ˆW¨’Ÿ,\¹Þnxs¢µi\ÇNïÛÎþlº}þËb§WÑÍÄy|zÔLëØ¬ž ;hëJ®›C@|ðŸëq¾»ùˆà|7ß?ì? €d³ìXëeë‰ý7Þh¯¿þzüøû裬I“&ñשžøÜhÞš5kÚsÏ=g:uJZ”@vI„¿½51!½O÷¦ ïó@¨Lÿ¹ç»›õ9ß­Ì£m!€ €å+@ ;æÉ‰ý–ƒj—]v±‡zh˄ߞÈN"I˜ðÞ¸ùvVX§†Ý9¸§µnT;á}^ € €•)@ ÛÌoàús¾ëJðˆ €d—ìX{ÈN<þz‡v°í·ßÞ¾ûî;=z´³­Zµ²ž={Ú‘GiµkoîéüÓO?ÙW_}åÌW·n]ëܹ³üñÖ²eËøºüOTŸ/¿üÒ©ÛäÉ“­}ûö¦ííºë®Ö®];ÿì¼F@²VÀ®ÇùnbSr¾»ÙcñâÅ6wîÜ8Ž~sp^çà  €DL€@v¬AÊãÄ^A׿ýío6gΜÀ&V@ûÚk¯µí¶Û.éý{ï½×žx≤éîoo¾ùfÛ{ï½IÇwœM›6Í};éQAß'Ÿ|2iºw‚ÿÇMãÆméÒ¥ñYÔ#[=UÜ’N [)IyäÛ¸q£»XÒã>ûìcÊí­€»[z÷î_æœsαM›6¦7Q üŽ;î0¾ïºë.wñø£œnºé&Ó6üEõ¿å–[œ þ÷4‚ýUW]åÊýïñ@ÈFÿ¹ç»fœï&Ÿï¾ôÒKÎ9²{Œï¿ÿþ ¯Ýé<"€ €Q kõ<8묳BÛÃßóù‚ .°ÓN;->¿ÞW ´¤¢žÈ öî´ÓNñYÕóùïÿ{üµz÷èÑà ˆ«W·V°UÁém¶ÙÆ*"­ÞÎ3gδ1cÆÄ뢺ªµJIìÇ{Ìî¿ÿþø²Õ«WwzQ7hÐÀ¾ÿþ{[¹reü½SN9Å.¾øâøko [½ÉÕ#=¬tëÖÍéñö~Ó¦Míå—_NèÁ®àúƒ>¶H|º‚èC‡¿æ  € ­þ@6ç»ætZà|7ñ|—@v¶~©7 €ù)@ »íî d¯X±Â ,ë¶<•:uêØ•W^i{íµ—“Vãã?¶;ï¼3V ŒgŸ}ÖI;¢ù/½ôRûüóÏõÔI‹ñúë¯[­Zµœ× ŸqÆÎsýoÈ!vÑE9ëU¯eõÒ~óÍ7ãï¿ûî»NOÌøNUü?nÈÖúì¬_Ë*ÈsÏ=çÔµ¤@öa‡fóçÏw6©àõk¯½fMš4q^+0=`À“•J—.]ì…^pžëÞ@¶^«÷ú%—\b J+UËÃ?¬Éñ"ŸË.»ÌvÞyg'ø®^Ø ,ˆ¿ÿü#Þ+{Ê”)vâ‰'Æ÷I½ÚÏ?ÿ|kÛ¶­5ÊéÝ-gßßxã kݺu|]p¾kæ5_.žïÈÎô“Áü € P•²K¡ï=©UO_õøu‹‚ªx ûÒy|æ™gœ`¶;ñꫯ¶cŽ9Æy©òìÙ³çÊõ¬o›6mÜYÀªÛCYùŸ?üðø{JÑ¡À·[>úè£xðØöèÿq£z(õÉ<`>úh|1åÝVoõTl‘µßnÙc=làÀîKçQ½°•×ZEh‘Ýâ d+¯ ¸nu‹¶?vìX÷¥wÞyvæ™gÆ_+€¯º»å /´SO=Õy©€ø_|áÙ† æ¼Ô ›SE¼ó9cÿ“£Û+[©M´§ € €Ù,È;§Ô~r¾Ëùn6ïÔ@òC€@v¬Ë2øEtxTª  ÷0òö¼VŽl·÷¤I“œ¼Ìn°Õß}Ô 4J‡¡ÆêQì-ÈÖú¿þúkûÃþß”zL«þ×\sM|ZP [éUÞ{ï=7nœ)¥‡zš¯Y³&¾Œû$U [:*‹·ÜvÛm ©H”þC©AÜ2}útÓÅ·¸l¥:Ñ- ™ýÀÓÀ©~èe²>æE@ªBÀÈæ|wsŽl÷.>Îw9ß­ŠÏ%ÛD@² ÈŽù•åÄ^¹°×­[ç´‚žßu×]-2hÐ Óà*:tHèa¼páB'W³z.»iFü+Q`õöÛoç~ÖûÈÖºÕûÚÛ3Yûæö<×ûþ@¶XTnjõèöÕ{»í¶³¥K—:ù¬õ^ª@¶‚öÿüç?½«pöûùçŸO{ë­·R¨÷¸›ªE3¹ì &8Ïã ¦ù$“-i®’Ù@@J(Ï@6ç»››ŽóÝJ=„Ù € $@ ;FR–@öI'd?ÿü³Û£GS>ì ¢Ô"K–,qÞÚgŸ}œ oÐ|ÊÙgIóò> € Eò ds¾kÆùnrê„ €ù&@ ;Öâe dëöD 6¨R½zuç¹ò,{‹¿g°‚¼JÝ¡t"î@„š_y±[µj_Tï+¬"nÑ@ˆíÛ·w^úÙêAíß¶»œÿÑÿãÆìÑ;ß+¯¼’0ˆ£÷=o [iR4è¥[ž~úiÛvÛmÝ—Îã!CâûQYlmØ›ÒE¹Çï¸ãŽ„zé…r˜»jj°Iß) € €@6 øÏõ8ßML-â¶-ç»fn§™¸f\@@( ÈŽµFYNìGŽiúÓŸâmz衇Úõ×_ϱ¬´#—\r‰ÓÃZ3éäðñÇ·í·ßÞÖ®]kŒÐMÇqÖYgÙ¹çž_—žÜ|óͦÛUjÖ¬iŸ~ú©Õ®]Ûyíd+·´rL§Sü?n‚Ùêa}æ™g:9¯ýëô²o¸áSÞj·hÀËæÍ›»/M½ÌÕÚí±]™l™¸½ä•æDA÷vØ!^·U«V9½Ç'OžìLóÄŸ‰' € €@– øÏõ8ß dçûùîK/½d·ÜrKüèÞÿý^Çßà  € Ù±F(ˉ½ÚPjoÏjå„îÓ§ V^i |è–ÚW\á¾´óÏ??äVî³Ï>ÛɃí{ï¹çžx [ØÇ{,¾ìC=dúçj»víêüûë_ÿêN|ôÿ¸ dkÁ‰':y¦‹‹‹Öã d>Ø:wîlhsÔ¨QNþn½'ÿW_}5a IM§ € €Ù&à?×ã|78­vÍçó]ÙÙöɦ¾ €ä·ìXû—õÄ^AR³Ý\Ùa‡”R‡(µEýúõ㳨·òСCãÖø¾' 6t‚Ö T»eìØ±Î²ÞÛõ^Ïž=íÉ'Ÿtg |ôÿ¸ dka `©t!Þâ dkÿ•;ÑÍîÏ}Þ¸qãxÀXÓ>ùä+,,tÞ®È@¶6ðí·ßÚUW]eÊûVÄVÏòƒ:(l¦#€ €Y#à?×ã|7<­FÍ×ó]ÙY󑦢 €  C(뉽Ž$õX~ê©§L½“ýÝ–-[:ç£>:Þ Y˸eöìÙöÄO˜Rr¨±·¨gvÿþý]ºtñ¾å}ºÍœ9Ó”VDAlo®ìª¨›ê½®^ð ü«]Ú´i¹:úëÌk@@ jœïr¾µc’ú € €@î ÈÎý6f@@@@@¬ ÕÍGå@@@@@Ü ûmÌ"€ € € € €Y-@ ;«›Ê#€ € € € €¹/@ ;÷Û˜=D@@@@²Z€@vV7•G@@@@r_€@vî·1{ˆ € € € €dµì¬n>* € € € €ä¾ìÜocö@@@@ÈjÙYÝ|T@@@@È}Ù¹ßÆì! € € € € Õ²³ºù¨< € € € € û²s¿ÙC@@@@@ «dguóQy@@@@@ ÷dç~³‡ € € € € €@V ÈÎêæ£ò € € € € €@î ÈÎý6f@@@@@¬Èû@öš5kléÒ¥¶jÕ*[½zµmذ!«”Ê#€ €ù&P³fM«W¯žÕ¯_ß7nluëÖÍ7ö@@œÈÛ@öÆmöìÙ6oÞ¼œodv@È'V­ZY›6m¬Zµjù´Ûì+ € €9-—ìM›6ÙĉmÅŠVPPï¹S£F «^½zN78;‡ €äš@qq±™{§Îõ ­[·nι^®í/ûƒ € €@> äe {æÌ™NOìZµjYëÖ­M·£* íþËÇ}F@²U@k÷ŸÒÄÍ;×Ö¯_oê™Ý®]»lÝ-ê € €¼ d«§ÎO?ýä´oßÞj×®íôÂVOlÙž#ƒ§ € €@–¸AlõÌÖ¿uëÖÙŒ3œÚo»í¶äÌÎ’v¤š € €¤È»@ö´iÓláÂ…Ö´iSkÞ¼¹ÓlåP$êPá=@@ šn [c (­^Ù:ß[¼x±s¾×±cÇhVœZ!€ € €@ÚyÈ7nœs«i§Nœ‘í•VÄ b§­ÆŒ € €‘P@[Ál²W­ZeS§N5¥’ëÕ«WäêJ…@@@ 3¼ d3ÆÉ¡Ø£Gç‡xTOl  € €@ö (˜­•#{„ ÎyÞ.»ì’ý;Æ € € çyÈþî»ïœ&ïÙ³§ÈVol  € €@î¨W¶ÙãÇwvj×]wÍcO@@ÈS¼ dëS¥¡7vžùì6 €䬀ze+½ˆRÊ©ÈÎÙ¦fÇ@@òH€@6iEòèpgW@@ dçC+³ € €ù&@ ›@v¾óì/ €ä¸ìo`v@@ /dÈÎËŸF@Ü »mËž!€ €ä¯lÙù{ô³ç € “²s²YÙ)@@< M ;Ï?ì> €äšì\kQö@@3Ù²ù € €9%@ ;§š“A@@À M › € S²sª9Ù@@Ù²ù( € €9%@ {ssÞyçV\\œvÛ6iÒÄÎ8㌴çgF³'žxÂ-Zd‡rˆõìÙ’øùçŸí•W^±Y³fY­Zµìü£µiÓ&Ç÷:½Ý{íµ×lòäɶÇ{Øž{î™ÞB+—ö%SâÒ~§Í›7Ïžyægs—]vY¦›Íùù_xá›9s¦õë×ÏvÛm·œßß|ÙAcé\KåÔSOµæÍ›çË®Wé~È&]¥ G@Ê[€@öfQ“Ö¯_Ÿ6oÇŽ ]Ú „Ìøý÷ßÛ˜1cœßA2WnL8p M™2Å®»î:;üðÃ#½SO=õ”mܸÑ;ì0kÙ²e¤ëÅÊ}ýõ×vÁ˜¾_Üòøã[¯^½Ü—yý8lØ0ûòË/mèСvÎ9çddµïŒ²ìKF;Á™Kûöã?Ú!Cœ=úÏþc޳TÅw¡>ÿýïMÇÖÉ'ŸÁ–Ïî*UE›JLçXî…»çŸÞºvíšÝYR{Ùþ‚Í’cˆj"€ €‘ ½¹9Ü@ö.»ìb;í´S‰m¤Ùƒ.q¾’fxì±Çìþûï·Þ½{;%ÍŸÍï—6èSûܧO+**²G}ÔvÜqǪ¨BVoSÁÙï¾ûÎzôèáj5jdºø£GŠ9ºÒ²£öA ;ó‹sÙÈ®ŠïBÙû-Ymª="]±í¶vٲÎ ¦#€ €Y)@ {s³¹ì³Ï>Ûô¯²JÔ‚R¹ß²+R7ZëVú˜… fEïûª“ÍÚµk­aÆοLêµï Ù™²Л?¾Óìíڵˤù+}ÞªzÈ®Øf®Š6ÕÈ®Øv [;숲—,YbŸ|ò‰ÓnÇ{lXû1@@À'@ {3lßQ/ dWjDW¹ß~ûÙòåËíî»ïŽßJѪf]µdG§É²é;­´jUô$]ÚÖJo¹ªhSÕŒ@vzíSÞsÈŽh {úôévÇw8í­äñQÎ1UÞ%ëC@Ê"@ {³^YÙï¼óŽ-[¶Ì8à'Ÿ²r{êß?ü`7¶.]ºØ‘Gi………ñ¦úè£lÁ‚¦\Â_}õ•uèÐÁ ༿ûî»[·nÝâóê‰ÚiôèÑ6nÜ8Ó z[mµ•íºë®¦T(þt 'NüöÎ^éþÿÇ[‚ˆTì"B,¥U{µÖZ£E-]TK)mí{[»m©R*QA­AúCÕNÑU¢TÓØR¤bjëýŸ÷—ïüÏ3wæyž;÷>77÷~¾¯×½³Ÿ9ó>gÎ3ó9ßùž@ÜUÒ\ýõíåñæ›o¶s 6,|ýë_¯I»lÑ„? x¾óÎ;æ=Ê@_øÂ:;:}¶Þzëp×]wÙiâŸ(ä”σ¤qmO<ñ„ F¸Š•VZ)|úÓŸ‹.ºh~w[Æóõ¦›n Äæ\ ,°€å±~n/¾øb¸í¶Ûl‘w ®çwK-µT˜o¾ù‚;Ìðî—!C†„M7Ý4¼òÊ+V6?ü°y!/¿üò–ÂÅ”ùøÝï~H ï\C$½ 6Ø 2Ì9çœ5‡æë 8ßã?ðè$Î&›l’½wý„0ÀëF;ì°ƒ]{MÂ/t¤~Ï:œ‹n¼ñFÛL¸¸ÃlèСvÞí·ß¾æPÎÉuGê4×L(’UVYÅêvÍÎ/\sÍ5–.1Ö¹.b®_{íµá¹çž ‡zhX|ñÅ‹«Y×Uõúý÷ßW^y¥¥]tÏúI)ë[n¹Å¹úõëî¼óNsÕUW «¯¾ºmktßRÎÚ ¯› °6ÇóNŸ|òI«Ü/›o¾yºÉæ;Z7«xd·º>wôeJ{çu’û’J¹Ï©—y«Ú¦ÑfÐ&a_ùÊW²dó\šù-Éþx†k¿÷Þ{í^{í5khçV\qÅvíJþX_n¶-ôý«ÜË~lÑ4/ds=üžRwùMå7ˆA —Yf™¢Ã³u]Á"Kì㙎֑fÛ¬ªmp³u½J™6ûÌ‘2zûí·í÷ð±Ç ´i´EÔ?Æ›˜{î¹³ŽMÅÈN©µv^B¶„ìÖÖ0¥." " " ÝL€—'^ÌH1ÄѾh²]ÌøÕ¯~eÂì„ Ú!D`;óÌ33z¯½ö ûÛßÚíÇŠ#Ž8"Œ3&Û†@ȉÞyChÁ¡cÝu×Í6!®zê©&¬~øáá€0QƒPò¤“NÊö-›A0þÎw¾žyæ™Â]ƒ{S!¸pÇd¥s:òÈ#MØûóŸÿœlýh6Ï)Ý‘‡ëâE9oˆšÇsŒ‰¹é6„Þï~÷»A§ÈÀ¹ÄEòÃ5Ù Aƒ”B ×B(Äè¼í²Ë.áàƒίxÔžwÞyáÃ?l·ˆf'žx¢½ôûÎŽã8ÿUW]囲)q©¿ùÍo†Ÿüä'áŠ+®ÈÖû ×pñÅ›`îë˜v´~¥Ç¦óˆL©(—nC¤§üÜòŽ=öX<|]:E”§<)×Ôè@!¿\mœ¦1˜ š×³®®×_ýêW‚ ‚0y)2â¬ÿò—¿4!”AÖ°"ñ·Ñ}KÞµ^7_¯¿þú¢ì»ÓN;­&?¾c•ºYt-ž^Ù´•õ¹Ê5O„¾Ã;Ìʳ(ßn¸a8ùä“üóΛmöëèh›V#ÛÓëÈoI–™8óûßÿÞÚ÷·Þz+]móüÆ~úéÖiÖncnE³m!‡U½—s§¬Yt!ûÀ´ÎÇË.»¬f; üöQ^Ûm·]»m¬è*iâUêH3mVÕ6¸#u½#eZ5?t,rÈ!áé§ŸN±ÙüàÁƒí÷›gLB¶aè–²%dwKEÓID@D@D@D »HÈþˆtWÙxàò²¸Í6Û˜W-Øxbò‡øŠ×&‚vÝu×…^xÁ¼jñœExÂc C0qï?ŽÃ+˜}ñ°f€I<¼YFä|y1;Ä4î»ï>óŠÂ›ØÅ_þò—í÷åÂ<žðˆóÏ?v*…Ž>úèL8¦"`uÔQ¥^ù$Њzí÷õƒz‘Šœži®ú‰Ç¸ß{E⯧ŗE÷-i7j3¼nV²«ÖÍ¢kñk/›¶ª>W½¼Zi[ù²†îŸÕV[-¼ùæ›áŽ;î°/0hOò÷_GGÛ´FBvG~Kœ1÷ B5í_Bðe÷_¢Ð¹Ê½N‡'ŸÜwõ¬Ù¶°3÷r½ó»ÍW´´“ÜüöÑþ!R{§b÷{ìQ“\W²ð„«Ö‘FmeÔÑßxòÔѺÞl™VýMàkÝwßÝê_Xñ¿ÕÜS|YÀ³¿Güc² C÷ü‹ú}ÊâƒDñ!¤->ÈõØkž"mÑÓÄþzr>{,@eLD@D@D ÏàÙ‰g=îë« â ~[ôFo‹/Äm§œrJÿ腖¡ŠÂ©ËñQÄÌÖûÌ¥—^šm/þڦQ µmûî»oÍz_øÙÏ~fÛc8¶(šúj›RvQ”°íQpÍž×£·ª­‹^­6åzb˜‡šcë-Ä—N;.†¹h‹žÆívõí\oÚm/[Q•Sô‚k‹ –§N8¡-Šœ5§ þFϼìšã‹³m"¿­‹mQp©9†…K.¹Ä¶Ç0í¶E‘ضÅðí¶EÏlÛÆõG‘²-Š]5ûDÁ¸-Š.¶ùMræ¸èž®Îæ}{ôšÏÖ1ãì¢PÝC²Ôl£øvÒ¾úê«k¶³C}Øy£°_³­JýªI dÁë^ì0h·Gôª·¼l¼ñÆm1¤H»íQ jóû1z ×lw®¤O¹E‘¾f{½¯·]Y¯©kQ0´ë¹õÖ[Û>Š;¶ú½³íQ|³õçž{n¶®Ùû¶^›áu“ö ÌbG›¶.5¯{­›E×’¦[4ïõµ«ësÕkà~ãÞ‰!Ú(³¼7ζ³Oì<Ë6ûu°¾#môâÏÒKõ‹ªéÑNS¯ÉG;,ËŸÏL›6­ÍïÉè©ï«›šÖk ;s/×;yü²$ã;þÚµù´±¬çzcÇo›·ù¤Ù*UëH£6«j\µ®Ã¨^™VÍOüJÉʃ¶'Šæœ¦Æø-ðvr‹â5ÛµÐ:ĦëSæ/4Ý!dó2@£ëfüÐSÙù¡ŸÖ´Ýpà m4ø4ZykFÈ&ýïÊìx Š=Bm1&[M£—¦?ݲüðÀƒÅž#ÛßóÃ@уWš?JñsƶØ[Ö½1ìÜ<˜Íœ93Ý­éy®Fü5žì|?çŃ<ëü!ž¼“/ØF/–6ÒÓQ¶Ã*~×½<:ôäyÑTD@D@D gà÷_Bv[Í /YþR±ÃŇøÉlaaó=ì,Í¡fŸz¢"±¿p–½ôQvÑ“ÛÒŽñ,-mĸ†øÉ{ÍùšY@ ‹a*L$/ÚÑÀùDÏã¢] ×Uå?ç·óŰ(mÑSµ0m#h/D[Œgÿzùä:.ºè"ûƒcjν‘Í9Š,†÷°sǰ&5›ý`[ö½¥í¸ïÿû5Ç9»øÙvÍz_ ³‚k^ܾªfÊ{³ðŽ€ªõ«&á’ÍòB6ïX~/D¯í’£ÛÚÎ>ûlËoŒñ^óî䢩 XšP²¡Uõš2mü 9ÛG³ãÇ·mùò,›½oëµ²«ÖÍ¢ki"·¢õ™ST¹:ý~ñÖs9ýh‘ö!z›¶!Ò¥ûøut´ío$dw4=ooÊÚ®"zü[]¤S´#ælòmagïåzyp!›6½¬ÍGSÙh£ìšÒ¡V°èL©×fu¦ ®R×yY™VÍ%tJÑÖë(ñÎö+{¦ñ‡&Nq‘ùçÅÑÛÉB>ø>„|๗OÉ™¦Æ@Kûï¿¿ LH¸Š2# !1øž ¢€ý»úó]ž'£h…àày—ÐÍXUN„ôàS|>[&ŒA™ýèG?²|ñùüYgeá)àÎ3<Ÿ4s|ô„i48<ŸåG‡ £²ÆkÔœÒÃ708!ƒ1€UÞ¼ ãq‘óû¤Ë„½ ¼)Ë(Ê[xžûÝœ]:Å·1¥îP—¢@aïTé6æ uÂõc„£!ïUë—%Òà!àÎ;÷–ï ^† öÉ»X‘B#І¶)zÃZ˜ü>ʇx(J£#ë:S¯¹ŽüàƺÁÀ n^w‰íN(·¢p^gاÞ}[¯ÍðºY%´ˆç-?mT7‹®%ŸF~¹õ9Žt¹Þ5xä>&ŒHZ~iEó~mû…éhzè#„!¼NYÌhâ;3è0†V°Øb‹]R»uem¡sã€*÷r»%+<´ù%–~™¡qZÊÛ|ök ¿Ö*u¤^›ÕŠ6¸^]wŽeeZ5?„¶"t:÷PQˆ%Î͘¦^çùÔ´kHÈî!›‡*âq2Ê:Â5Fü;ÄUÖ3R-ýýÁ§ží¢.i ±Ó¸i‰ÙCC΃'±‚0~„8Ÿ› Ù4ðÄÃ"_ˆÖ<ð`Å`ìy²Ý@‡xMnæÑ+ÂB9ׯñ™kšÏqˆö4‚4гiDyÈ¡q`@‹¼÷ŽëŠ=Ä6ò9Û]È&ÿ\;×ÊK‡?ÄcŠzì§L™b?´ðP?G²ž*/àœñ†Ï6Çå6b ±¾,Žul`Ûb/«íÓ‘¸‚~⢑~üÌÎWeÓø`mÛˆ}Z|¨·õ[dΊ|Y|ضã9¯ÇÕ+ÚOëD@D@D@f/Š‘ýQyÅ—z‹ï˜\®™Òô8©1¼GéîQà²ôã×u5ûÔ‹w ì˜wܱæ˜F k7?˜[£ã|;c»Ã2¾ìZühâf¦Æ,lç¯#ϲU91çbÜ–z=Âl?`,3òN|ÚÒ°-Š­Ùuäc9—Å%ݪqˆáHœo®%†œ°1jòÏÕä‹íù˜Êؕ緇tùósV­_žf½iYŒìè5iyˆÞÖõ·M=æjì”Èöõx³±S"[×ìL«ê5çç}¶±Ó¥-:Y–ˆE̺è4Õ.‹Eq¥›½oëµÍÔMÞ!ÉWÚ>t¦n]K» έhE}®z ±ÁxpovÔ]éµýbdwô·$†±kˆžÿ½„†û—µ…½—ëØcd+¿žñ{M]ŽN…Ùn­`Ñ™:R¯ÍªÚW­ë©¬L«æÇë¿©õ,vLZyQfŠ‘]T×nÓ`]˳&µTÈf°–2cPÄTþâç¶[™?²ýرžÅžWÛ/ö$e»¹{˜ ˜dG Èçqã!‘uŒ¢Ë‹aÙŸŸó²Ë.³Cåy(ûKGCg ÎqðÁÛàL~n¦~ÍÑ£<]ÝæBvÙC">iò\dÏ=÷œmgø-ÚOëD@D@D@f/²?*¯ž(dG¯={é#o 6Vf1ì‡ lCTØ.Í beé!œó¢‰0\dì±£"MüRÓòC e'[Ç Šäûˆ#ްu¼+ðL\æ\‚=í¶{Î@IDATKL­ìEŸ}š  ž¼¤b!"ëH›ÊŠÌ*ë!»jý*Êw~]™¨ þ¨·eöàƒfûy½fßz¢PYZ¾¾UõÚÓã.Yž)çø¥« ~C ùæši‘øÛì}[OȾýöÛ-[l±EÍùÒ…èíkûtUÝ,º–ô|Eóà*3Uï/–Ž“‚³(»¶.~­cõ/u ktØB6š÷T½ŽXô®•?ëšµ²¶°³÷r½ó»Í´žùoC:Èe+Xt¦ŽÔk³ª¶ÁU뺳,+ÓªùáwÖÛu×èü\éÔó;²S2­—ÝB¾.dÇÁž…† A5Æ›¶}Ë„l÷´Ž±ë¦é^Ì1þZ¶Ÿ ÙeÊìX$dóð@Þšýóvãg„u‰1¬³¼!$3=çHkÆYÇC~þÇÉ…lá"s!;ïÉíûJÈvšŠ€ˆ€ˆ@ï" !û£òì‰B6ÏsqG{AŒ1M +^ ¥×æ¢aÀËöiV+Jsº',/EvÕUWe/­Ýá‘S /¾ä §‘"s¡ýâÀS¶ N*,ÇÐ!E‡Ø:¶±O W³OÙ‹>;U²=?cÆŒ©9—/Ä'mŸä§;„ìªõËó[oêu2ïéCÕd×C†”&áBâpêDSO*M,nhe½öóâ¨DÙñ®Š³óeÂb‘øÛì}[OÈžIÈ.¢Ôšu²[ÃÕRu!¶‘qs Ø"cEB6Ÿ ò£Ê~EŸsÙÿCèf?„o7²é±.³8:¯—zd» LO é5úsOzc<µÒ?B{¤ãÚ¹cŒ´l5í\GŒ7”­ó ÙNBS”€„ìh¸cX·!7ú‹ñ®3ŒUÅ pÏ]>‡öYÂqÆESò‡Ð•yäÙ™—}„?¾YA,M+ßf›m,MÄTž©Ý¨+|Bì^Ìœ7u|¿²iUN¼Ç1\,O[mµU#çB,EÀ!?1¶jvzŸÖ^{í6B’ÿÔø¼ßE=>©NÍÃŽ ÚçÍËNeæåšŠ…¼'Gò“gžþù¶ýöÛ϶³Þå©5bWEø#}¿–ŽÔ¯4_eóeB6ûãDÄ5ò‡'|úµ"a!}û_þò—šSÔ…jv,XhU½öS!¯³Î:m°Üm·Ýìp*²"ñ·ÙûÖëVQ›Áׄ7_µe7Þ7ãKVÿØÞUu³èZüœeÓVÔçÎÜ_„-‚ ÷&|S#¡€ØN;”¶‰®ƒtºCȦŒqþ-”qh4»¶2ÖãRòl§:3õÚÂÎÜËuNÙ– Ùœ?ÿ;ƒ×/¿”IŒS^ÓÙÕ*UëH£6«JÜ™º÷zeZ%?¤éy¢Lâœ5eB'-|ló? ÙPëÓ`Ý0Ø#ƒÉDa8Ì=÷Ü…ÑÎãhˆ^Û ~¯½ö «¯¾º ŠrÆgØþ ¨áƒ'2HB|ÀñG¾îÀ0ñóÆpË-·Ø Žñ³t¢§³ ú0hРpÜqÇæ%zd‡øpƒØc|¨ ñ«f ñáÝÁaWÈÛ´iÓBüÔÑVsžtÐÌü¾Z˜}ÄÇh;†.³LÇ—ŒÙ'ó]˜Sì±Ù$›Á½±ª~q,ÏŽûì³³ö|5ï¼ó†>Ξ_YGù0(·Ú8pà@”,zˆ…è mÏÄ<7GçˆìÏË4HzÍFò‡ñLË áQ` Ñ.D±.DÑ<ðl8eÊ{æù2z†5Lº3œ‘çtžyÖ:t¨; ö.ÀÉyþå=‚gs·øÅeàYcÀJ£‚qŽ3~k®¹¦ñKÔdÐÏèØbÇñœý‰O|"Dß–£xbø’ÐÑÁcøD ž)ÏÒ£F ”g;ížÚ¢8¢fÛ£×\`P6¯lÄ.zèÌiŽÿ¨+»ï¾»-ƯZ³gù*õËÓ¬7BI`Mê%÷VÞxŸ`pDÎ?`À€@]¡å“ÁíáCDA«æP8w¾g»f[£…VÕëô¼±óÇeï©”I‘E§§ãåÛ{Wì´°]š½oµ>ð$‰Rw£×ª½sÿÒnE¯H»OÒö¡3u³èZŠ®9]׊úÜ™k`P[ÚÝèàfÙ\d‘ElðUÚ½øˆ KûÅLðÖ¯¥Ñu°_2Û ôC8„(Ž[2±³&Ó/ª¦GB¤É5üç?ÿ±˜w‰%–<òHˆv®(fÛ¤Í iÄõÚBö©z/{úESì1v4†ûï¿ßžQ_|qk¿7:2ZÛ1xðà€ÄoTj­`QµŽ4j³ª´Á©ëpªW¦UòCšèt tË`ÅØ ,`÷P icí:übx§ìYFƒ=¦nù'!;>4¶Êx8ž–|ôF°Fªè\S§NµÑÞÙChØ$Y‘Í]ôô¶‡Ä8ØFQr¶ŽQhcP=z´ý°³²ªÍƒ(Ð̼t0-²Ø#nw<¼ò‚PʇyFVXaÜÞc8”vÉIÈn‡D+D@D@D@"^Zâg¡ABög/ZÍZW ÙœgÖèÍx9EÌ;üðÃCôô«É N1$‰¶¼0ºá ㄆÕV[ÍW…f±ì€Ü é“§è!ÝsyîŒk…:! ˜Qbø‡Ì©Ã÷-švF¤!=D%Ή3 ¬Ü3Nqæ@¤N-zç… &ž¿S[tÑECHÒÄÄTÄfÞMxÖæóòŒ=ÕìðªB6#°àâ÷ëµãW§<ÅO´ÃŒ3Øâ—a¡…j™m'‰ÿ:R¿ü˜zÓFB6Ç"òÆûõãÝiøðáq”w³¼5…òû§Ë­ª×é9èÜâ‹_K˜p“n÷ù"ñ·#÷m½6–´Ô{çJgÂ5Z¼?ƯxmaÖ­jÝ,ºO³lÚ¨-àúªtÌT½òI[F›wñŇ´­ ã,~a`íËRK-UsI®ƒ»KÈæ\Öˆ‰ˆ¿t$¹Ñ†Ðá ù¶Î÷)›Ök ý˜*÷²[4u!›ºE½¥ãвu£s/zÏÛ=FÛ\d­`Q¥Ž4Ûfu´ îL]o¦L;š/:|i{žŽ–ðÂx^â¹çïØ”íÄZ?•ÝMBöˆ#켨HÇo"3â/žôÖ— Ù÷Ýw_àáLJÞÉ¥—^º]’©€îÞìTUÈæaј‡OBã§DíÎÉÃð 'œ`/ñ“.ë%o·S+î¸ãŽc†5ÖXÄl{ã†æs‹çÉzCãÀ2•i<ñ¾æG‰‚†O¼Rò&!;ODË" " " ­z " " " " ½€„ìn²ýs2>•`O>·ãÓ„8ˆÕ*b;!r{/\™ÍÎ|:4°x~ì'7xàÉÑCIü5>—ts1º£1²9žB> ‹ÏXr|úÂuÄ ÷Ö+ÎvÄgâ!§¯3F¬·8P%§ Ÿß™„ì"*Z'" " " ![u@D@D@D@D@z ÙÝ d׎°7Þx£ Á.^#B#4cŠOR«'d³ŸC‚còäÉæ}íÇò©a9 2˺3B¶§ÿðÇn¸!û„Ñ×#^ohüŒ°³Æ9ÆgÉÄ‘ŠCE¾0I Ù…X´RD@D@ú< Ù}¾ €ˆ€ˆ€ˆ€ˆ@/$ !»›„lVÁˆGXâ62*8#ywÖúOüj¼²[S0Í'±¢ˆËDÜ7Â~tt€…4-Í‹€ˆ€ˆ€ˆ@WÝ•4•–ˆ€ˆ€ˆ€ˆ€ô ²»YÈîÅ®\ˆ€ˆ€ˆ€ˆ@ï% !»÷–­®LD@D@D@D ï-!»ïÖ~]¹ˆ€ˆ€ˆ@¯$ !»W«.JD@D@D@D -!»ßº|ÞF@Bvo+Q]ˆ€ˆ€ˆ€ˆ€„ ![B¶îèU$d÷ªâÔň€ˆ€ˆ€ˆ€ˆ€ÝB!›ß|óÍ0G<Ç"‹,¢*'" " " "Ð $dwdBD@D@D@D@º™€„ì ÙÝ\–:ˆ€ˆ€ˆ€ˆ@$ ![Õ@D@D@D@D@z Ù²{_­Ö‰€ˆ€ˆ€ôi²ûtñëâE@D@D@D@z) Ù²{iÕÖe‰€ˆ€ˆ€ôU²ûjÉëºE@D@D@D@z3 Ù²{sýÖµ‰€ˆ€ˆ€ôA²û`¡ë’E@D@D@D@z= Ù²{}%׊€ˆ€ˆ€ô-²ûVyëjE@D@D@D@ú Ù²ûFM×UŠ€ˆ€ˆ€ô²ûLQëBE@D@D@D@ú Ù²ûPuץЀˆ€ˆ€ô²ûB)ëE@D@D@D@ú Ù²ûZ×õŠ€ˆ€ˆ€ôr²{yëòD@D@D@D@ú$ Ù²ûdÅ×E‹€ˆ€ˆ€ô^²{oÙêÊD@D@D@D@ú. Ù²ûníו‹€ˆ€ˆ€ôJ²{e±ê¢D@D@D@D@ú8 Ù²ûø- Ëèm$d÷¶Õõˆ€ˆ€ˆ€ˆ€ˆ@}NÈ~衇/7«­¶Zèׯ_˜CB¶îèUR!›g½Ñ£G÷ªëÓň€ˆ€ˆ€ˆ€ˆ@_$Ðç„ìG}4¼÷Þ{aøðáaÁ”Ýk½®YD@D@D W@È~óÍ7Ã?ÿùÏ0Ï<ó˜C¯¾`]œˆ€ˆ€ˆ€ˆ€ô}NÈ~æ™gÂŒ3ÂàÁƒÃ²Ë.+!»Tr]¢ˆ€ˆ€ˆ@ß"€ýì³ÏfÏ|Ë-·\ß «^H Ï Ùï¼óNxüñÇ­(Ý+»–«.ID@D@D@ú,÷ÆÀÊ+¯æŸþ>ËB." " " " ½…@Ÿ²)¸iÓ¦…éÓ§Û§¦Ã† ýû÷ï-å©ë>Mà­·Þ S§NµPrC† K/½tŸæ¡‹ÞB O Ù|nJÌD¼uˆ0# /¼pX`lÈÞR¸ºè ÞÿýðöÛo‡×_݉ð¬ÇX(|}§½ûB Ð5Š€ˆ€ˆ€ˆ€ô}RȦ`ÿ÷¿ÿ…çŸÞ<³ûBAëE@D@D@D ¯À{É%— sÎ9g_¹d]§ˆ€ˆ€ˆ€ˆ€ôz}VÈö’%fök¯½ø OE§œŠ€ˆ€ˆ€ˆ€ˆ@Óú¼Ý4)í(" " " " " " " " " "0KHÈž%ØuRf HÈn–”ö˜%$dÏì:©ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ@³$d7KJû‰€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€Ì²g vTD@D@D@D@D@D@D@D@D@D Y²›%¥ýD@D@D@D@D@D@D@D@D@D@f  Ù³»N*" " " " " " " " " "Ð, ÙÍ’Ò~" " " " "0›˜>}z˜0aB–Û…Z(ì½÷ÞÙ²ffcÇŽ mmm–ÙaÆ…vØaöȸr)" " " - !»P•¤ˆ€ˆ€ˆ€ˆ€ÌJÿûßÞ{î™ea‰%–“&MÊ–gÕ̽÷Þž|òÉìô»ì²K˜o¾ù²eÍÔXguÂÿþ÷?[¹Á„3Ï<³v-‰€ˆ€ˆ€ˆ@" !»¶.UD@D@D@D oè©Bö 'œ®½öÚ¬þð‡?„EY$[ÖL- Ùµ<´$" " "з HÈîÛ寫è…$d÷ŽB7n\ZdÙe— Ÿÿüç{Ç…é*D@D@D@D  Ù éèÉ$d÷äÒQÞD@D@D@D@ª]…šŽL žýßÿþ7\sÍ5Yî×^{í0|øð@üê?ÿùÏc\pë­·Ä×.²gŸ}6ÜtÓMaÊ”)áå—_sÏ=··Æk„-¶Ø"0À¤Ûï~÷»ðÆo„›o¾9Lž<ÙW‡}öÙ',°ÀaÑE ›o¾y¶ž¸ÐùË_ÂwÜ^|ñÅðꫯ†ùçŸßÂ|êSŸ n¸¡+; Îwò‚w{Çw´|¾äᇶó:4Œ5*l¶Ùf¶_Ù¿GyÄŽ!ž7ç2dHàØí¶Û.,¶Øbe‡…3f„{î¹'<ñÄaêÔ©a™e– «¯¾zXk­µÂÒK/]z\Ù†K/½4Û´ÔRK…6ÚÈ–aHݾò•¯£Ûo¿=<ôÐC6?räÈ@\íÕV[Ív›9s¦åí¾ûî /¼ðBXrÉ%Ãzë­g^ÞsÌ1‡'U3åzn¼ñF»æßÿ}+WX¬¿þúaôèÑaÎ9ç¬9Æ^zé¥@~È+ó#FŒë®»n \Ê]wݦM›f»80lµÕV~XÍ”2å:áùÞ{ï…UW]Õ®žóÌ3O;,P^|ðA¶~…VóÎ;o¶¬Ù›€„ìÙ»ü”{hG žèœŠÆ‡v˜ °¿þõ¯Û¥ƒ}òÉ'‡OúÓ5ÛÎ>ûì0~üøšuéâá)§œbB*ëÇŒžyæ™t—šyD׋.ºÈÖ!ppÀ¡¼Ì¿‰· ívÒI'e=q·/¼ð°ß~û…çŸÞwɦŸûÜç‰'žúõë—­c‘ìØ±Y:5ãûï´ÓNá?øAÈ‹¿¿ÿýïé§žj‚yþ8Dþ#<2l»í¶ùMu—Ëbd_pÁáÜsϵc’'Nœ¾óï„ÿûß5é!öþüç?„%Ùwß} ËQøœsÎ sÍ5Wͱ¿úÕ¯çñÁ&k6~¼ÊòH 1zEDj0;üðÃb:bóå—_nóþï•W^±t¼‹ŒÎÓO?= 4¨fó¾ð…šs^qÅÖ!S³“D@D@D@f[²gÛ¢SÆE@D@D@D@D ˜@G„lo§WZi¥¦…l„Ï]wÝÕ„uOïðUVY%LŸ>=üãÿðÕ&¼Þzë­aÀ€¶.²ÒYh_f?üáÿøÅló‡~öØcóêÍV–Ìǃ:(Ûš ËÙÊ‚™oûÛaï½÷.ØR¼ª!›#ñh/»VDf¼žë•1"ø7¾ñ,t n»!rÓÙS<¤ñîvƒÙè‹ÆoÏ=÷¬ñŒÎ6~<³ð ‡×_Ý–òB6u`—]v)½O‹z‹Ø¾øâ‹ûª !;C¡è•$d÷ÊbÕE‰€ˆ€ˆ€ˆ€ôe²á´òÊ+›G/á+8Ïâ7ß|3CøË_þ2‚ÃÙ=e ³qíµ×fa9SAAïjBR´µµ™—öõ×_Ÿ¥{à 7˜ÈŠHŽðMZxøº‘"«ÛYg•yn³î´ÓN xWc©Í2â+Â1!07ñ›ßü&ÜrË-l2[sÍ5ÃùçŸï‹á²Ë. gœqF¶L Î1®‡Ã`'¼ˆaŸzê©@h®#œÇÁ’p-„ñ0 äéºë®«_í ’Í ÙŽ@ާ=‚õOúS m’&û™Ï|ÆÊ¦ÿþÆùÊ+¯Ì6Ó1a„l™PÿùÏlño¼Ü1s¼Ò½~ä…èïÿûáî»ï¶}ùGˆ—¯}ík’äÁ ?þñ3›íùã=öØ@½Àá=ôP+C„oÖ_|ñÅf„í¤§»›„l'¡©ˆ€ˆ€ôN²{g¹êªD@D@D@D@ú0ŽÙ„Ÿ †u¦!ï‘{ôÑG‡í·ßÞˆý{‰[ ‹w¬B­{#t§^ψԈÕnįv”u—\rI@ìÄC¨‰÷®)B©Ûw¿ûÝðÕ¯~ÕóB6â2¢»Û»ï¾k±±ßzë-[EÞ\0%¤È–[n™‰³„â@ØNã+“×#Ž8“ ßûÞ÷Âî»ïnùqá–ØÑ„³pïuv&ÜÇ;ìyªç½¹³ fš²Iÿ¨£ŽÊR ¶tÚ€xMèb‡»ïÛC‘°žk€9ñ¬ 'ㆠÿ¥/}ÉmŠöã?nóÔ{ ¡ßë Ëä?õìf]>o©¯·Ôâ­§†'=õãÜ“&M2t– %ã;Ë\ 2ÞA@Bvï(G]…ˆ€ˆ€ˆ€ˆ€dò‚ 6"øaˆÌiŒl<­ñ¸N‰©ìÆü^{íe‹©G6+„AXð“Ÿüdëi0m$d§û¦óÍ\±¹Ý»™íõ„l¼­ñºN ¯å¿þõ¯¶ ïèûï¿ßÄ[DYÄY7¼Èñ&O)ìg9†Î ™x„3%† ŒP7®ÛóMDåf¬Y!;õL'Ý|3¨ãÏ~ö³šSrÈ!6£¯ÄË>ëÚ·ù”ð.xµãñíR!ûÎ;ï¬ ¹R$D“ƒˆ’– Ù¿ýío-ö5ëÕñÏÇ1'¼Ì1ÇÃ.fxdã™-èý$d÷þ2ÖŠ€ˆ€ˆ€ˆ€ô1² #A¸‡Ôž|òI —áë±]Øþ׿þea,\¼õ}|J8Üññ ƒ¬Ç;ïéo¼±FÅ‹¹‘~~1Îǵ¥^ÛeÇ7+d6…8ân”‡\a]QãeÓM7ù!.&²p.>ú¨…OÁ ÿwÞÉö÷™TÈ&ìG*˜7Î:7|_Ÿî³Ï>á°ÅTÈÎ×ß¿Þô[ßúVàO&" " "Ðû HÈîýe¬+èc:"dçã ƒŠApÏ-²Y7cÆ ‹ýŒw®‡ñ}}ŠP{ú駇 7ÜÐW5ôÈ&2!1ÒAý`BËÛÃX°¾ž×3ÞÏ©où¶ÛnËV¹=~üxóöö yaØ×ç§í„é¨åCª”߬€ ·¼½Í6Û„ãŽ;Î7Û¯f„j·Ô#ûª«® cÇŽÍbQû>”)‚ùk¯½–Å O…ìÔ£šcŒqôèÑ~x6¥S¯,²óÞþÙuf{rØa‡ÕÙC›D@D@D@z  Ù½¥$u" " " " "ð1V Ù)hâ,?ôÐCæÝLœå™3gf›‰oØM˜,ïq›t<ðÀðÇ?þ1;žxÜÄ®&\ Bv~0É®²o½õÖ17à=Cˆö ‰Wš «âÞâ„Ùyç}÷ÒérË-×.dFÑγBÈžíaÿ?üÐÊo,²ñæF”ÇÍéP`Ðz¶ÐB Y˜—zûh›ˆ€ˆ€ˆ@ï !»w”£®BD@D@D@D@2­²ñôõ 9q±‡ ’—툜œßmâĉa™e–±Å¼zM##¿÷Þ{¶/áIÎ<óLOƦ÷Üs ²è+»JÈ~öÙgkâ,ï´ÓNáðÃ÷ÓØô…^° b1L2üQûŒ3ΰíé? ô0fó!OÒ}ÓùY!d_pÁáÜsÏͲ‘÷öfñýŒS!›Áó]Ø6l˜‰Ñé “W_}uÍ`’©Í Ž æèv饗†W\ѳ)ååBûàÁƒ­CÁ7ú¹Yöߦ©ˆ€ˆ€ˆÀìM@Böì]~ʽˆ€ˆ€ˆ€ˆ€´#Ð*!›A‰½ìbó7¿ùÍ@¼ãÔN9å”@h ï]bRÏ;ï¼¶œ²4pýõ×·mùxÓE!O~ô£eƒVrPW Ùˆ¢xO:ÕòB¬hÂbŒ1–GPñÊ+¯´eþ!ö"äs JˆáEŒ¼úê«Û2ÿÞzë-óhö´‹®+Û973+„ìã?>\wÝuYNˆ£Xì†>bµ É©Í>ùð £F _þò—àAƒ,, ¬üXöO…lBÖÀçí·ßf“ulüä'? ÌéFìsêF§yõΔ/|á áÕW_õ]ÃW\Óe" " " ½ƒ€„ìÞQŽº È´JÈæİ&¶4†ÀÈ@{xR» yÖYgeB7‚î…^hûòq˜?7„_†ðÇ€“›l²IÀ{CLÆ+š4ð†¾ýöÛM˜ôc™¦ýtÒIášk®É6§ÞÞ¾²,F6Û [B,p÷è]pÁ-?°7ß|sM,ð‘#GÚuqýˆ®xp#Äcˆ«›o¾¹ ¨ ŒILobJcìO—Zj)[nôoVÙxAZÅ2!´^Õ?þx8ï¼ójXP†úÓŸ2ïgö¡ƒãÝwßõ$j¦ÔÂÄLŸ>ÝÖ§B6+òçg;ÞùtŠ0(uÛ…p¼á=öØ,} Ù ͈€ˆ€ˆ@¯$ !»W«.JD@D@D@D /h¥GîÞ{ï ·eœ‰]ŒhHíöðÃÛ±.ûz„á‹.º(œsÎ95·o÷éÀ3Q˜u»îºk8è ƒlsg…l!ŒÆ/~ñ‹,¶%œûÇ’ì·Øb‹e[xàpä‘GûœmHf±ñvÞl³Í’µõgg… ¿Ûn»Õx6çs™/:þݬ“ryñÅ}•Méœ`P<¥ñÔÇòB6¡[§éˆ¨gtpÐiÒ¿ÿl7 Ù ͈€ˆ€ˆ@¯$ !»W«.JD@D@D@D /h¥ W=?~| 섇pÞxÜn¼ñÆæÝŒH™·n¸ÁÄê§Ÿ~:ÛäB6ž¶gŸ}¶ „1qÃë¯g¼ÁñÂ%7¶Ê*«X fæ»BÈ&'Ÿ|2œzê©A=6ëñ&xm#äæ ¯kâc#оóÎ;5› AÂqk¯½vÍúF ³BÈ&O=ö˜1 ¥¶ì²ËÚ ˜O=õ” Ò¾A×[o=_´) H‡4`CYf„0%xÒ3@(¶êª«Z]²…äßm·ÝfB5q·ÓŽ%ü^âã©IÈNih^D@D@z Ù½¯LuE" " " " "Ð-ñÜsÏ…—^zÉD_DJ20`@Ãó#€F„ù†ÀÝfΜK‰wL‹L·û~­œœ¸ÖÄm&ü5“DW¼ÖêñJ_rÉ%kbL·2Ï]6ƒ*"$V;•]t.:"ðºw£\ó1ª‰¾é¦›f^ïˆÏ'Ÿ|²ÒnÊþ„h¡N,¾øâV¿š)‡v i…ˆ€ˆ€ˆÀlO@Böl_„ºèvÞygžÉ ƒ|^rÉ%aèСY殿þz‹‡î+¸q‹-¶ðEME@D@D@D ”€„ìR4Ú " " " " " "ÐãÆ³8ã~ ±Ä×_}óèž2eJ ´ŒÖˆ—÷UW]#F$d7"¤í" " " " " " M@¤&TÈĉëî¿ÖZkÙà—é ™uÐF>O@BvŸ¯ µ^|ýÝð½K o¾ûAØÓ¡aËÕ«ÝAK" " " " "ЀÀŸþô§põÕW‡¿ýíoá•W^±œqĈ¸ØcÆŒ‘'v†Ú," " "PK@Bv--‰@Ÿ'pד¯„'ýÓ8l¸â pÔ6Ãû<¨N€3 2÷ÜsWODGŠ€ˆ€ˆ€ôy²û|á§7?žyùí°Çg—3ßý°FÈÞ{£eø{¦…ç_ûo8fÛáað€y„LD@D@D@D@D@D@D@D@º•€„ìnÅ­“‰@Ï#ðè´7ÃÁ—ÿ=ËØç /DÑÔ¿Ÿ Ûï}ð?[ÞvÔ°_ 7"î$ !»;ië\"Ð <ûò;áÀûí÷>l˜»}6^.ì°Öâ ÷Ó" " " " " " " " "Е$dw%M¥%³)Wß~?Œ»û¹póc/ÅxÚ_Äð!ýþ›,F.µ`ûZ#" " " " " " " " -& !»Å€•¼Ì$dÏ¥¤<Š€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ@ß% !»ï–½®\Œ€B‹¨"ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ôt}RÈž>}z˜0aBV6 -´PØ{ï½³eÍÌÆŽÃ`|cذaa‡v˜=2ÞÃr©Á{X(;" " " " " " " " íôI!ûïÿ{ØsÏ=3K,±D˜4iR¶<«fî½÷Þðä“Of§ße—]Â|óÍ—-k¦–À:ë¬þ÷¿ÿÙÊ 6Ø œy晵;h©i?½ù©ðÌËo‡=>»t˜ùî‡áÄIÿ´c7\qPØ{£eø{¦…ç_ûo8fÛáað€yšNW;Š€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ@W)ö!û„N×^{mV®øÃÂ"‹,’-k¦–€„ìZ]µtד¯ÔÙGm3¼«’V:" " " " " " " " "P‰€„ìˆMBv¥º3Ë7n\ZdÙe— ŸÿüçgyžzC^|ýÝð½Ë oþ÷ƒ°ÿ¦CÖ«-Ö.K× " " " " " " " "0 OBöl\ƒ•u^O@Bv,âTÈþïÿ®¹æš¬à×^{í0|øð@üê?ÿùÏøÚƒ .¸õÖ[Û±ÙÎÉ̳Ï>nºé¦0eÊ”ðòË/‡¹çžÛŽ[c5Â[l`Òíw¿û]xã7ÂÍ7ß&Ožì«Ã>ûìX`°è¢‹†Í7ß<[O\è¿üå/áŽ;î/¾øbxõÕWÃüóÏoaH>õ©O… 7ÜÐΕgÈ;yÁˆ»½ãŽ;Z¾_òðÃÛù‡F6Ûl3Û¯ìß#œzê©&˜çCä?òÈ#öÛn›ßTw¹,Fö\Î=÷\;!yâĉá;ßùNø÷¿ÿ]“bïÏþó@X’}÷Ý·° …Ï9çœ0×\sÕû«_ý*pl²fãÇ ð§(ÔÓ©Wt@¤³Ã?< ¦ÓI­°Â áòË/·yÿ÷Ê+¯XºÞEFçÀé§Ÿ T´YëD@D@D@D@D@D@D@D@D`¶# !;Y=!ÏÜ"±×KOb<¸Ýó–yDc7¼•ñ¶ÅËh>o§WZi¥¦…l„Ï]wÝÕ„uOïðUVY%LŸ>=üãÿðÕ&¼Þzë­aÀ€¶.²ÒYh_f?üáÿøÅló‡~öØc€v##tP¶[*,g+ f¾ýío‡½÷Þ»`Kñªf„lŽÄ£½ìZ™ñz®WƈàßøÆ7²LÐ €¸í†ÈMgLñÆ»Û fx /¿=÷Ü3|ðÁÙºüÌ /^ýu[²©»ì²KéõxZÔ[ÄöÅ_ÜWi*" " " " " " " " ³- Ù±èê Ù”ìÊ+¯l½„¯ ´žÅo¾ùfVè¿üå/!H0¼‘ÝS–0×^{mæ‘3D4ñ®&$E[[›yi_ýõYº7Üpƒ‰¬ˆäߤ…‡¯i!²ºuÖY™ç6ëN;í´€w5– Ù,#¾"Qõ7¿ùM¸å–[Ød¶æšk†óÏ?ßÃe—]Î8ãŒl™0œ!b„]‡ÁNx#Â>õÔSÐ\#F8Žƒ%áZâa@ÈÓu×]×´øÚ¬ÍyÈñ´G°þéOj¡MXïö™Ï|ÆÊ¦ÿþÆùÊ+¯ôMÖ1a„l™PÿùÏlño¼Ü1s¼Ò½~ä…èïÿûáî»ï¶}ùGˆ—¯}ík’äÁ ?þñ3›íùã=öØ@½Àá=ôP+C„oÖ_|ñÅf„í¤§»LD@D@D@D@D@D@D@D@fw²c Ö² ?A ë4LCÞ#÷è£Ûo¿½ÕÂc¸w/q«tñŽuC¨uï`„îÔë‘±ÚøÕ.²î’K. ˆa(5ñÞuC E(uûîw¿¾úÕ¯Úb^ÈF\Ftw{÷Ýw-6ö[o½e«È› ¦„ÙrË-3q–PÛxv»‘×#Ž8ÂÃ÷¾÷½°ûî»[~\¸%vôW\‘y¯³3á>vØa‡ÌS=ïÍ%X0Ó¬MúGuT–±¥ÓÄkBŸ;Üxߊ„õ\̉gM87ý/}éK¾hS¼°üq›§þ Øcý^OX&ÿ©g7ëòyK…l:Qèüp£¾o=5<驯çž4i’y¤§ûh^D@D@D@D@D@D@D@D@f7²c‰Õ²ñ´Æã:5Z$¦²ó{íµ—-¦Ù¬@LdBad`ÁO~ò“5B®§Á´‘î›Î#4#r›Û½›Ù^OÈÆÛ¯ëÔðZþë_ÿj«ð޾ÿþûM¼E”EœuË<TYOÈödzCgL<ÂÈCPF¨Î×íù& ¢r3Ö¬z¦“. ituüÙÏ~VsÊC9Äcô•xÙçc]û6ŸÞ¯v<¾C*dßyç5!WŠ„hÒbQÒÂR!û·¿ý­Å¾f=¢:^âù8æ„—9æ˜cØÅ l<³e" " " " " " " " "0;K¯žM Â=¤Fœh<šÝ±]Øþ׿þea,\¼õ}|J8Üññ ƒ¬Ç;˜°&7Þxc8Š1"r##üü:bœkó˜ãõŽmVÈ&l qÄÝ(¹Âº¢2ÆËþ¦›nòC,\L*d3à"\}ôQ Ÿ‚þ;3íï3©MØT07nœunø¾>ÝgŸ}Â<`‹©¯¾½é·¾õ­ÀŸLD@D@D@D@D@D@D@D@fg²céÕ²‹â 3h#î¹¥B6ëf̘a±ŸñÎõ0#¾¯OjO?ýô°á†úª†ÙÄA&$F:¨£Lby{ ÖײñzÆû95â-ßvÛmÙ*²ÇoÞÞ¾!/ ûúü¡ð"µ|H•²ã›²aã–²·Ùf›pÜqÇùf›âÕŒPí–zd_uÕUaìØ±Y,j߇2E0íµ×²xá©zTs ƒ1Ž=ÚϦtŠàõ¥BvÞÛ?; Î aO;ì°:{h“ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ô|²cuµ;q–zè!ón&ÎòÌ™3³ÍÄ·Fì&L–÷¸Í ºx`øãÿ˜O\wÝuYNˆ£Xì†>bµ É©Í>ùð £F _þò—àAƒ,, ¬üXöO…lBÖÀçí·ßf“ulüä'? ÌéFìsêF§yM;S|?ME@D@D@D@D@D@D@D@D`v" !;–VW Ù<1¬‰-!02ОÔ.hžuÖY™Ð {á…Ú¾üCæÏ á—°!ü1àä&›lð^Æ“ñŠ& ¼¡o¿ýöpÅWø¡6Mú;餓Â5×\“mO½½}eYŒl¶¶„XàîM¼à‚ Z~`o¾ùæšXà#GŽ´ëâú]ñàFˆÇW7ß|ó€72cÓ›˜Òû“Ç¥–ZÊ–ý›B6^ЄVq£L-‚Wõã?Î;ï¼”áŸþô§,| ûÐÁñî»ïz5Sê ab¦OŸnëS!›ùó³ï|:EOpÂñ†?öØckÒׂˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ÌŽ$dÇRëJ!ܽ÷Þ;nË*±‹­©Ý~øa;ÖÅb_0|ÑE…sÎ9§Føöí>8p`& ³n×]w tmî¬M"„ÑøÅ/~‘ÅÁ¶„sÿ@’ý[l±lË<Ž<òÈàqŸ³ É "6ÞΛm¶Y²¶þ쬲äwÛm·ðꫯ–f._t2 ü»1X'åòâ‹/ú*›Ò9Á tHà©å…lB· NÓQÏèà Ó¤ÿþõvÓ6˜-HÈŽÅÔ•B6¥Î ‡ãÇ„ð0^ð¸ÝxãÍ»‘2o7Üpƒ‰ÕO?ýt¶É…lûl: câ†×/^Ïxƒã…K,nl•UV±ÌÌw…M:O>ùd8õÔSƒzûìú÷ïß“²×«òòä“O†I“&Ùxg{ï½w¿¶ÎÞ‹U~K{<”^A Ù½ u ³7z 2÷ÜsÏޢ܋€ˆ€ˆ€ô8çw^ ´Ù|Pš7íŸüä'aÅW,ݧ#¾÷½ï…{î¹'ð’ûío»#‡vù¾¿ùÍo,lÛV[mzê—ne¼ÊÖ7鬳Π]tQøÜç>N;í´f ˆA.¼"‚3輬9|u‰€öÐCeБC9Ìj«w|éK_ O=õTøá¾øÅ/Îê¬Îvç/»gÊÖÏŠ ¬Wþicfŵ”óÿþïÿÂqÇg›´?ñ‰O”íªõ$ð‡?ü!qÄaÉ%— ŒïÕÓ­³÷b•ßҞΤ7äOBvo(E]ƒˆ€ˆ€ˆ€ˆ€ä0¨ô™gžik7ÜpðÃ;Ø Óýúõ Ï?ÿ|¸å–[µ×^èTç¥oÜ…Z(—JÇ{’8ò™Ï|ÆDü_ÿú×a5ÖèøÅtÃe¼ÊÖ7“¥*/ß}áo&_½uìo}ë[vyßùÎwÂ:ë¬c_9¬¼òʳü’ëݲ;WðÀaÿý÷7±w×]w ]R¢'‰#õDœB ³`e¯3f„ÿþ÷¿Ö¹Ðц*B6„¡Á–^zéY@bö=å5×\N:é¤é¥Xïݹ:W&X÷¤{©^ùw¦é¹®=ZBv×ò¬—š„ìzt´­»HÈî.Ò:ˆ€ˆ€ˆ€ˆ€tÔCô·¿ýmøä'?YzæN8Á<³«Ãc$—îÜĆ2a¶‰C»|—z"N—Ÿ¬b‚­àUEÈ®˜} \~ùåžgÕUW ÄîIVïݹ’*²;—j×]¯ü»öL³.5 ÙÝÇ^Bv÷±Ö™Ê HÈ.g£-" " " " "0[pQ2ÏKþ!CJ¯ƒÁŒN?ýt¯AŽÐ#©µµµ…ûï¿?<úè£áÿøGXb‰%ÂZk­F^xátW›o$Ìv4=?Þå ˜xD>æ™gó€ÝtÓMÃ*«¬â»…_|1ÜvÛm¶üÓŸþÔbdï¼óÎ6¸å|óÍgêÙιÎqå•WÚÚµ×^ÛKÌíb‹x.šC L™±íw¿û]xöÙgäþl°A@Tbl”/ê†Ô@IDATÔÊxÝyçÁ9GW_}õô›gЭ¿þõ¯á±Ç ¯½öš…Ùl³Ílÿ*B6ßtÓM–öW¾ò•ì|ÔŸ×_=|þóŸ·8ãÄÏ~øá‡Ãã?nžÛ£F ›l²IS›N<ý)'<ÉWZi% kÃÀæEF|ibªS¶°{çwì8d0Ò²Øæx«3°"ƒ§“—e–YÆêäúë¯o¡sî¾ûn‹•Ky«ZóépïL›6ÍÊáöÛo·ATe=lذìÎ ;¯¿Ô:¨»ÜOEÆ}Ìu¿–ij&ÐsÏ==ôP;_ÑqÍÞ©Í ¯\”q†WXa,tÁ,:­cß{ï½×®‹zH} m æ~¾®—&’lèh}`0·[o½ÕÚ¯/ùË–wêÓOæÖ\sÍ@(®eòäÉûkàÀvì§>õ)«_I6m¶LÈ.»—üøfÛ2ßß§ä³™¶¥ÙòoÔÆT©³ùö‚6Š?˜Â³™:å×Ûì´LȦ ¦.Ðþò;A{LùÒnÌœ9ÓÚÕ6ÚÈ~8åÆvÚ0ê2ƒ"o±Å…í/ûw´®rŒy£õ¼pß0@,íØ 7Ü`ç'ÏE¿Ý]}ÏQ×iûiËho d÷/mBþ7>/dsÿÁŸ{Ë/¿¼Ýk„W*³ÎÔ«|»šžÃÛK¾F#\Vv¦Çuõoiš¶æ[C@Bvk¸*U˜eÒ—7ð;à€*ååÕW_µàþøÇ?¶;öŒ3Î j—Z™0Ë>UÒã8„™Ã;ÌD[–óF ð“O>9Ì;ï¼áÏþs Nq‘ñ‚~óÍ7mÊÖ}õ«_µól¾ùæáÄOÌÖ§3ÄÜþå/i"$ƒ©¹]xá…6?üðC_U3E˜ Ítï2^eë Î?ÿüpÁ¼JfÀ€|uÅ`.vr]ˆW]uUþ”6¨ç7¿ùMóJ¾âŠ+Úm‡ûÅ_ÜN”A¡¬žyæ™vǰñ›Î„ÑÔ^xá«Ó»yCpçïðÃ7qV©U­ƒi>O(ÄÀ";öØcMfËtÇsŒ‰ÕévDxò S:’¨;”?F9 :Ôæóÿš½¼l =„ ËqyCÌ#ÖþðáÃó›Âïÿ{ ©òÖ[oµÛöÙÏ~Ö:Èh'šµ*õÎ}÷Ý×ê ÞðÔ'˼#ŸAm©‹©1(-Bëh‚öe—]–n¶y®ög»í¶«Ù–¶³é©eë9¸#mYz²Ž´-Í–YÃy«ÖY¯S¿úÕ¯¬S¤è+Ÿzu*½æfçË„l]éˆøÁ~`a´¸®Ôè°¡m¢³ŽºóòË/§›mþßøF»ß”*uÕf Þ³Ï>»]ûM{Çz~ËþùÏÚo ª©uå=G[ÂYeƒ6Rïéäæ^vs¦Å0¥]{ûí·}s6Ýe—]ÂÁœ-ûLgëU½ii÷逸ÙÏ~fœ³Þ½ØªßR¿VM[G@BvëØ*e˜%R·ß~û€à‡áˆW2/ÅóÏ?Syâå”cHcÙe— ÄÐÆ›Že„Ä’"1»L©šÞgœ¡ŠëZmµÕ›o¾î¸ãó¸#&­‹¶x1Oš4É®ñ‡—Õm¶ÙÆDT„„ýz†Gö©§žjÂ/íˆãyÃë/.¼bñÅn¼ñF#™G°F|Å‘o7¶cÇ|ØrË-mže¼ÊÖ#fNœ8ÑŽçšñ@ÆK¯dÎC¾ðÞ}ã72&ÙÉêÌ”½ð»0…ù¯ýË<ЩOsÍ5W¸îºëÌû}Ž9æˆE>ø •ž…ýû÷7ÏFÊàƒ>h—¼RwÛm·0uêT󈄞ç‹,²ˆ‰8t¼ôÒKæ¡è×KöñFF4GpB3fŒyÍRO¨ü!²0 )^¶©]µ–aCTBL‡žœxo»í¶¶;â4å°Â}D~¹_¨;ä‹{Ïu¾‚`~©¥– „JïO²>úè¬SM죎:*,ºè¢…Yköð²u^Ü'x<â°ÍÌh7è¸I¼"rQötžpyÇÃñ’ãè䢳‹ëndUëƒ ÙÔG:ph vÚi'ó çœx½ÒÀ¸”ùNcλ KʈûAŒ¶ŽúNãõ!vï±Ç6Ï¿²{¦l}GÛ2?QGÛ–fË¿¬éLõ:…G.¿©S~½6²ñj¦>ÒNòûA¨-ÚsÎ9ÇÚIîS~רü>pQ¨Ç|ñB¿ôÒK³Îœªu•ëBdE8ÇðöF$D±4Ë#Œc‹vç‰Þìml#?¿øÅ/j¶SGXÏ_ôŠo‹ 5Ûc'Œ­g{üò£öÁ­ìž)[_µ-ó¶££m ù¬WþEm Çt¦ÎV­Sœ·ªQw½ Óz¿¾ÉÖÇ‹v¿c±“"Ûîv¿‡±³´-vÚ>QÌͲWµ®r_xû}É%—déùLü2¥-†‡ÊòDÝvkÅ=çu?vHùi²iì€m‹®–—ôN™ÆN¹6¥ÆýâíVôöN7uI½ŠÔ5i¦ ±3ÔòÃÉd«ËîÅVþ–f'×LËð9ƒLD@D@D@D@D @¨ŽŸmÑk8{9ö~¦h1¬@;áÐè•UH&z8fBy ™íS$ŽTMQÂócgçHgÈÇî»ïÞ† žßÇíˆMÚÀð‰á)ÒSÙ| _`Û¾ÿýï×l㺿ýíoŠ•ìxÚi§•ǹòÂÇãŽ;ÎÒàZó‚›g&~òž1ëJ!»,­SN9Åò„èQdÑcÖ¶sižDàE‡H‘!r ÑÃÏvA¸öN†è-\tX[ôhl‹žêv\*dW­ƒ…'É­,²)‹è™jy‰^˜¹£þÿb '`û šÅؽÙ„¿ò4ÙN fêÝ.:îµ×^…©Ä0YþƒÝbˆËoY`¿øeƒíCGX3V¥>n*dç;ÒóÆP–„rD:7ó©Óõ¾)ec)Ûñé}Z&’­ïL[Vµm!ïõÊ¿¨él­Z§ÈkUkFÈž2eJ»ä©ßÞÆÄ¯>Úmg8ûÐ!çVµ®z¿ÇeÃŽdyJ…ìVÜs1dŠ+ÿ[æy‹a“ÚÈOšTÈŽãø®5SÏëw¿ûÝl}WÕ«®²[ù[š]´fZF@BvËÐ*aè9ã RmñSà6ÝêÀ<™c˜;./ñ"¢õ1D…¥‘Š*ùó±CØ~õ„ÆüqEâû¸0…0Ydx¸Â*Æ—-ÚÜCžØvöI…ìÂ?^ã·yÝâ8²aÎrü¿nZ?úÑl¿TÈ®ZëåÓ·• Ù^És™HJ1 JÆ(†æðd3ÏÆŽ”cvðÇ3õî/ÛTœÍïbzêåˆ8Í5á¥ZÖ6ÄðÙ5!buÆÊêi¦B6û•íyæ/eìB6u¦žÅ0vìþûïŸíVvÏ­÷ºPµ-ËNšÌ4j[ص^ùµ1žÏªu¶jJ.«Ã³„lÚÞ"Ã{Øë_Fí5û4jsýØzu5†]±´b¸%߽ݔã=O©€ÜŠ{ŽÎ5?^ÿ|”÷°ÎgÐ…lžbˆ•üf[Ž!R,]~+ݺª^u•ÝÊßR¿fM[G@1²[¶EI‹€ˆ€ˆ€ˆ€ˆ@O%Å%‹©Ì \Ä%Æl´,¦%ñ@cˆ†¦³NœObmbEqW«¦ç1A‰mêq¯›ÎTÜ‘˜ŸÄg&Þ2ƒ½5kQœ³8Ö L…‹™Ë±ÄQ%æ+ñA‰[û—˜¼1„Å %Ö(’žS¦l‹x±oÑzâaC5м!†šð$ÛMœ/~ºÞ..u»“eq}=æmÙ9£Àˆƒ¿.Ošx©ÑcÞ£0æœsNßdS3Œ"³ fHLbbN³.5®…8¶Óu¹å– 1ŒIºKͼÆ™ÆÈ®Zk.Y Î5 ®ºêªÝüœ (ç1Ò}[:¯ûëœû0 ª!†Ñ±Í#;z6!­bõî/Ût`Êü9<Äö%ö9Ãt„襜ߵt™ÁíFŽYº=ÝБúÀq#›XöEƒÒ¦iSG‰•üãÿ8İK¶Écd7bLä¾"–9±á±²{¦h}gÛ2Î×Ѷ…cê•QÓÙ:[µN‘תÖ(F61à‹4¤]ŽB¿ÖÛ˜|Ð0†T ñ«T4ÝÞѺ¿±cÔH!DÒ¤²ù®Éî3âp§1²[qÏq/Ðn¥¿­´ÏÆ ³ØÜÜ/Q°ÎòÆŒÇÈ&î8Ü‹ÌÇ™Xe•U¬ÍfŸ®ªWe¿Cœ#vº5=Øc+KÉ‹¬µ$d·–¯Rn'?c·s8°PlM3„xÈ`M¼@3p!òÈKm:ø\z\:Ȉ މ#UÓ‹!L$}„†ŽZ=§QZˆÍ¼|3!ƒ?b þãÔÚàv1$KM1þ±‰ ¶ˆÁù]8clm_ó‚o/ŽÏ¯GØ ÃÑ“ôb¨v+´ .¸À:%|ÌÂr+‹Ä7vqaªL@¨*dsgu– ¾Ç} ¨†8³å—_Þ„ñèýj¹t‘)z‡Ý]c0²2CX'_©]µ–#]_&d;BCȬg ½†ÂBb."ÇX³60\½ã˶ջ•-iæÅ!ê!‚6íÁÑÖÈè bàÇzV¥>ž Ù ½EëÂ:§òŒ]ÈŽa„lȲp”ÁáÄ4~±a»•Ý3Eë;Ó–Um[Èd½òÏ·1ìßÙ:[¥NqÞÎXw ÙUê*mí7†xÌ`°EFÚì— Ù­ºçüü1æwˆ±î­#ˆŽ×Ôøíâ÷Æ–u!»¬s€c´2†Ò ©=«êUѽØêßÒ”Ÿæ[D Þ(2^D€O©ùd8 €M]Õ>ûìSó)plyÇwlêøt§¢ÏÕ«¦çqv«ŠÕû¬¾Qz ÌÃ(*dƒ€ùçÝù˜ÛÄ_öAºöÜsÏ6¶r!5ÁÑ™Ð" xIžˆ{^Ï< BGBR…Cà* ì“î²ëòü•…9ÿüóíZ¢ÐfqXa˜ZúÙ¿‡!”×Ï ^õŒAÆØ/ -RµÖ;o+ -B¸òAˆšzFøõCX7ëÁgùU­Þ=Шl9gÑjÛm·]ƒåu•U©œÛC‹ÀxùeÆýH8Êã¶ÛnËvóÐ"Ä)¯gÄßæØ]vÙ%Û­ìž)Z_µ-ëLÛBFë•Q[ÝÙ:[µNeP+Ì4 -˜EVÔÆä÷+ -Rµ®2à-u¨^ûM,uöá/ -ÒŠ{.­,SßâÏäãk_ûZ¶«‡)cÊŽ\Ç¥¡EZ]¯x˜ßjΛ†A*ºÉc+KI_ÖZòÈŽqxã7ì3£»Ì¦ôÒÈD@D@D@D@z.~ýú…XÀ<ä˜.´ÐBæÕÙssÜ}9‹/ß!Š_5ÞÄõÎ~À„{ï½×>³Æë5Š!¾„š7÷wÜQêÕ  3fÌ0OZ<±"/¿ªéŠ"Æ^¶rb…§è:â ¼àY°Êv©ç˜íTgÏX<¬O:é¤0jÔ( ù€'š‡ðCñÅC{î¹ç1ΨÕIßæÓÓO?ݼr«zd“,`Âgéä©ÌÜ+²'{d3ÆÂ®2ƒ°yãýŒücî‘ýàƒÊÃ#{øðá6ŸþÃS˜°+|•zdW­ƒiÚeóeÙ1î®…$à8¼ùd¿ÈEó­o}Ë62Åï%÷Èæ+>…¯bõî¯'eÞöœ/ï‘Í:o_ȳç›õ©&…ëÇFm÷Fº=?_¥>†{d3Ÿ†b`95ÂrDÑÚVá—<æÙi]± ¹~ï¥÷T‘·'‡­¯Ú–u¦m!/õÊ¿¨­îl­Z§ÈkUënìªu•{…{ol¼²‹,vÖem{ZŸ»úž#DaŸ°ÕW_½]È'Ö{ˆ*橇|õPÕ#»³õÊ‹:ꨰÃ;¥ó°_¬Là Ý‹ìã÷s+~KI_ÖZ}^È~íµ×´iÓ,.`kQ+uV FêÒK/§Ñ×ÍC+Ì?i.â‚`ˆðG¼LK\i‰çž{. rG/ãv‡ò=¶Í!$öhŸí³S‘8R5=âð“:@eÂzô l—ˆØ@xD3·z"ŽïSoêq=¯H1ºH¼ó°C‡ W]uU»$ âàR!€×.–t/(ZOœWâûR®œgÙe—mw®èfDz!ÝÚí˜[QöÂßH˜òOÆó½'_#›ú@¨ Šäò† {òÉ'Ûj²q6¢Î!Zl»í¶ØÎy£ÃaKÅɪuÐjð¯LÈ&¿ÑCÕÊP0|¢_d.¦®¸âо†òÅzªML]by#l]{íµÖ¡˜¿.¿'¨£ˆsõ¬j} ÍTȦN®¦ÈŽ8âáè$ †¯3vöC»‰¨—7:ɸ©¯i[WvÏ­¯Ú–9Ç*m ×Q¯ ,jc:[gµ䩨s„õU­;…ìÎÔU©éð¤F)5~'ø­¥¾a©ÝÕ÷Mo¼±…0!®?!Dò6yòä½±mu(:,¶Øb•…ìÎÖ+ïl'Ïüç1:CkFÈnåoi>oZîz}ZÈæÁÜãâÑÃSmaJ¼/ÿëzôJQD@D@D@D  <.¤‰#âN2eSŒ—­ü b•óÌÎÇ0 žÉÿüç?MdB|EÄs=5¼;î8ÛØ¯_|q&ŽºçÏÆxƒ!P¸!bãQÆ€‡ |ÈK®ÇÒ.G8®jzä‰SžË>ø`‹ãíùÀü ƒ ñóaó°DðLcößúõ×_ˆXxÑuÔì‘ØÅ¤‰7-¢,Â&©¹B‰OŠaˆ®ÄÖ½ÿþûíÁâWûñe¼ŠÖSï)âm/¾øâæ1—z%#êÈN ¬§ Ùä !úùçŸ7aŸºäå†XˆhCŒU„,í pA‡õˆ,?|Á¾x "ŒSga Ùì_µrl=+²9æ–[n Ä_Æ(;î%$”<"Öû@ ¶Jýpë !»Þ=PUt¤½åëâë3ˆ*õ›úˆ±˜»tŠÑ>ãù˜~%á×–ŸV­©Mš âxôÑGgŒÉ_™0à$–ï8I…ì…^ØÚµ´3Œ[÷Ûo¿Àิxs»FP$Xs޲õUڲδ-ä¥^ùµ1Ó™:[µNq^¾¶ÀÉ£#‹ì͘3b_î%WÅü~/‹çL{Ze°Çªu•óñ;Ä5r¿0öq¤€6N<—é”ç7<²[qÏñ…_*Æ„ÞýœÀ€V>ä•ûˆ6‹:A]õÐ~ª®²ëÝ©‡Ü—8†Ñörï-±Äá‘G±Î#®i¾a{#«Z\ÈFü‹ñq­à^1b„Ýwx•Â#$!€¨3n.do°ÁÖÙD‡(m$Þñ´ ~G¹q_áQO=u+¬ËÖWiË:Ó¶Ïzå_ÖÆp\Õ:Û™:Å× ´—¡±¼sÔVÔù×ÝBvÕºÊ%ÐyÌ}Ãï3F'õ•NYì˜cޱPJxe§B6Ûºúž££›6‡v—{tµÕV³ßHî:‡é°æ7žÎ:E±ÎÙ_µ^Á'Æ Ï")à¬À¿´AthzŠ|7#d“x¶â·”´e­%Ð'…l>Ÿä¦åŒ ä¹A]Àö)732žC LÈFB0än„-^û²!ò‚b„ ™ ò@Hƒ™[¦‚}ñ¢ÂSQönˆ×û½üú:¦õĶw4=Ž¡<ñò£g7žç‰7JÈ‘¢Ž D<{yöçePxívĈy}Øa‡Ù!ˆ`x¶/Åx?úè£Ùf DmĉE]Ô¼]°ˆÎYý,ãU¶žÄzédxା³Ž÷Ä;D‡‰'šjOöȦ.–„ru¡‘ë ³¸Ùt OAÊ`D7Ê…ë„;ïwˆ¨×pcÞŽe×_¥úy‹¦„lŽ¡#†Î"*Ú*Œ¯€i§Èsêlã¿®²ëÝÉ#_;À™¯ (7Ú]:ˆkÛ¬Yµ>¸Mg÷6Þšxhz¢@ðúZôÞÇ“6o.dSt!¼S§Üh#ã ‘&€Ó~¤Æ~v‰|¸@^¶žc«´e¤W¥má|õÊ¿^ñUêlgêÔì"dW­«0ŸWøJ€/îÑŸè ¡~JËïû4–ûGGví=Gšt¦ýú׿qÙšßw~Oø:„û&í¨î¬Í9«Ô+Ï+á¤<ô ëø½@àŽƒSÚïFG„lŽoÅo)éÊZK Ï ÙüpP¹‰ ħC¼è X»xÍÔç%d·¶ò)u¨B€—ÈÔ#QȽ²™â¨€À‚‡/‡..T9Wo9.ÀþU"B^‡C£'o³Ÿoãü·,/¸xÀR¤3V5=<Ây‘¥œ¨‹{’áw0|àË;…å€9]ÑÉ»  ˆô+¬°‚Õy?×ì2õ¯(W¼zó1î©·¼³Ö¡ÌÉa(å‰G XZWÝÙT­ƒ~|•)^¹Ô_®…kâݳ7už¿!C†XÛ’ÖûŽ\_GëC*dó†W5žš¼óÓQ€]f©½ûî»Ûnxxò5Oÿ½;–æ¨êÞx‚ì1lQ‚Š¢¨ˆFÅîŠû.¸"¨€ˆÆ}ßEqGw%‚+.T#¢$¬$!€"Gñû5ÜïÔ×éž7Óóæ}ófþ÷œy=oº»ºê_·ªnýëÖmmuScȪ}ÙQö--^»ª³mç|_UWÇžaÁEPã˜ÿ½o€ä•~XmγŒ!Ò{Ýë^×ódÚ1¾l“2W¯xŠÛ)Ä6æ0dÆÒÃÀḤ±wD¶«^V†5 [DvØu ‘}\Ô8ù A  ö !‘]$vÚH“BÞȈDdD$Ý@À¶~mÞ˜>“g£Ð+‹<èw”bŒÈ^•1"{•ûsmXØ—\rI¿{D˜›1©øÒBÙ\|ñÅc—ä· °÷ì‘me–‡ŽØzV›ÕEd×1DöÞ·‹‚@A l1C"»ì:"¶ËÖãQtî¹çnqi’µ VAÀ‹÷žýìgw÷½ï}û—‘µ^ÚúqŒ…ú‹9…œˆì.!²w·nw­dâÇ{ñ©B^>*{+B`yIªðSŽB,E‚@¸.{Gd{ ¬IŽíEÔ¾ì:†È¾®¢ä— ‚@A l ËÙeë±ëÎ?ÿümÉzò‚ÀšˆÇüð‡?¼ß]+l„x²¶Á{±¦s^îGó˜Çô/÷[óq¹}Ë‘½å”ìD€íòà?¸{ÎsžÓ‡ºð ûwLˆ ºøÓB‹ÝÅ3»ÂœL _‚@èØ;"Û›L‰•{ òºì:†Èî!ÊŸ ‚@A l%ËÙeë)Àû¿ÿûoe9’© æ!à%—^ÊçEeC3UH‘{Ýë^ÃSù‘½ƒ•ºÃEÞVßõ´§=íä I«¸Â¢y™0ol 0ŽÀÞÙ¼²[º¾;ÖwÄv»UmÂü‚@A  p”,Cd—­'_!²²vò¬ pt¼ä%/é|¼ü‹W¶ó!²Íã"ûbÐ{°ÌÛéÀªrÕUWõ/…ô²ÐE/…\5Ý\!à—^ziçžú+}×a½xÑss.ì{Kd‹ˆ°6àµäu}¯ßCd§ A  ‚À.!€ÈFT×Ñ÷ö…õ{‘Y!²w©öS– ‚@A }E`o‰ìòÒ1Áñ)/ì"²ë÷ÙûÚ4Rî ‚@A`[ˆGö¶ÖLò‚@A  6‡ÀÞÙñÈÞœR%å ‚@A lò¸®c<²7‰vÒA  ‚@Û@ˆì„ÙML.‚@A  °$E`×1Dö’Àå² ‚@A  pŒ‘"û«o²‚@A ì#E`×1Dö>jAÊ‚@A  °oì-‘mâ#v½Ôq#»~OŒì}k)oA  °í]Ç)"»ì¸¼ìqÛk4ù A  ‚@#°·Dvbd¬¹" ‚@Ûˆ@Øuœ"²½¼›„ÈÞÆZLž‚@A  ‚Àjì-‘mâìÕ”%W ‚@A`(»ŽSDv<²·¡¶’‡ ‚@A  p8„ÈNŒìÃѤ¤‚@A C@àu¯{]çóïñ“©]ÇÙ“PåDA  ‚@ØBd‡ÈÞeNA‚@A ãÀ“žô¤îÊ+¯ì¾ò+¿²»þõ¯?Z "°ë"{¦ü‚@A  v ½%²ßö¶·uâ&ú1’—=î”^ïeaè4¹Þõ®·—åO¡ƒ@Ø/Òçíf}_zé¥ÝïüÎïô…ûùî>÷¹ÏhA‹À®ãÈö.Ÿ#{Æü‚@A  Ž!²×$²ŸñŒgt5™nkA~ó›ß¼»Å-nÑnr“›œœLµ×­óýª«®êþîïþ®'ã§&z‹ÒÿÇüÇî5¯yMw§;Ý©;÷Üs]ºçà,¿ÿõ_ÿÕ™¸Þò–·ìnu«[ugœqÆiÉß›ßüæî¯xE÷ßÿýßÝ npƒ>?·¾õ­WÎËË_þòîU¯zU÷îïþîÝœû=ðMozS÷“?ù“ÝÙgŸÝ}Þç}ÞÊyضŽ›n®‚ßë_ÿúîoÿöoû[>öc?öä­§£ÌÚÑ3ŸùÌ>ú¡ڽ˻¼ËÉüäKØvþú¯ÿºû“?ù“苺ÛßþöÛžÝäo Œ«{Üãºk®¹¦¿Z|ë=èAÝmns›ëÜ]vCd_¢Ù?XHøÿøîƒ?øƒ;‹ ÇY,füÈüH_„<à½Ý¸‰ò¼ìe/ë~ë·~«ßAð‡ñ‰=txÄ#6aÒ A`C„È^“ÈþÎïüÎÞãç úAPÞ÷¾÷íÎ9眃.]úüK^ò’îW~åWºw~çwîõ¨G-}_]øk¿ökÝ‹^ô¢î#>â#úOý¾Ç¿øÅÝÿñwV,˜hÝûÞ÷î½êÛs›üþ§ú§Ý³Ÿýìî­o}ë)¹ãïØ}üÇüÒ¥7¾ñÝãÿøÎäý>áº{Ü㧤·ì?O~ò“»ù—é¾ì˾lt¿l:ÛrÝ¶è¦…Š—¾ô¥ÝÍnv³î¼óÎ;x,ZüÜÏý\ŸÖcûØ“ \§£ÌˆŸïú®ïêóòå_þå;¡;‡RIId«˜j‡úßÿñïn|ãw_ú¥_z²-mUæ“™•xÚÓžÖ=÷¹Ï=åžÛÝîvýbEyV×É"°ë"»Yÿøµ_ûµÝ_ýÕ_õ‹Ɔã,ÿó?ÿs’Œÿõ_ÿõ9np, çÌ3Ï쉾ãŒYò~ø«~é—~©û¨ú¨îû¾ïûÿG˜â®”å°û¹_þå_î­>îã>n¶cÒVãRšSׇëRq‘yó~áöw꿇6ÆŒ$sKGˆÀÞÙ0nC‹´!F„áTÇEõÈ6yB`Þáw8y)ïa/*zík_Ûx„»Üå.ݧ~ê§NÆ|<™À_ÙMDö£ýè%î8õÄÙ¿ÿû¿÷$ö\pêÉ-úWx™&«7ºÑúIˆú‘wžÈä=ßó=»ÏùœÏ9’\#Ôy§—Q!'¯¸âŠ“¿™øñÒ^$tD¹ôä?ñgÙ#~õWµ»ûÝïÞëÖ¢g—sÛ¢›&ò<>Õñ|Á |tågögû´¾ù›¿ù¤át:ʬïÒ‡‘¯øŠ¯‘Ý#‘?Û†À¢vhòñ‡ø‡½‡Ûû½ßûm[Ö“Ÿ°hˆèÛ冸ÀüÀSR+»Žú³–Ì®Ð"uSB‹ qpIº.Dö2(åšM#0‡Ütžæ¦¿+e9ì~î^÷ºW?ýüÏÿ|wþùçÏ…w«î›S×‡ë¦ ‘½)d“n8Bd¿Ã#{]"̳yLl‘ý½ßû½îßþíßúÓº6¤ÀØ=Ëü¶.‘-$ÿ†7¼aÿYæ™§ãšüÁìÃwX,øÜÏýÜž¸—“Ýç?ÿùÝïþîïöÙBd#´7)¼°/¾øâ~Dá@JÙ¬ûèþè:5z¬´¼ÈŠgá\"›ÁÄc‘7ö»½Û»>ë¸ý¸-º¹ˆ@›‹iˆì¹Èå¾}E`Q;D\~ÿ÷ïù5_ó5ý"ô¾âtœËmÜüéŸþé>tØX9„{ðƒ|Jø£"°ë"{ ¹y¿"b™Ò…È^¥\³iæ‚›ÎÓÜôw¥,œÍÞò–·tÂú¬+!²ßŽàaãºn½LÝ"{ ™üŽ!²€È.U@€"/+æãYgU§f×%²g=ôˆoâÕþc?öcýSm¿ímo{üÌÏüL÷ŸÿùŸ}ˆ‘ /¼ð:çëĹ8‹oxú1ï0Ïùýßÿý~[´|Êó-ßÈyžÿ9æÙEŠ¾ë»¾k÷U_õUSËï3XD ÍL²÷ÞGö\ôrß>"pP;ñŸþ韺ÏüÌÏìw=í#FǽÌù—Ù ÙµHÞç}Þ§ûŒÏøŒ“—]ÇÙ'¡YûKˆìÕ!Lh‘Õ1Û§;v…üUg»T–ÃÔÁÙ‡‰ææÓ ‘½yŒó„ °IöšÈF –'výV!E긨¾ã;¾£ßFÄ#Ûg‘ˆƒüÃ?üý´,Ž…*@’^vÙeÝ+_ùÊ>n²p%ÈN¤÷0v“Zä¿ñ{‚U˜ ¤®ØË¼sªÂ"(ßPþõ_ÿµ»úê«;ñ'}ZAÚ ÝáòÄ£E¨ ׉<\¹¾òÊ+ûxÛ~7ÙòCÈ /¿‘D«|ø¬"<+žð×ý×÷¡E†÷ «!¯¶ #ƒ’¾ð…î)ã|ÀŒ†y£2Ytp£mÏ¿ø‹¿Ø{„y)İ>£~;H_¥§?zÞóž×·oßõóú-ééŸ`ÒJåi®ÎIK{´ðHÿ´!ú¤ö¼ÃxÁæª:Ø–O}jCUÆ;[¼¨9¬Î„Ī6_÷®ªsp\¶j§Þ¡ßñâÇÈñB@›ð²bDôAb'”—¥‘"°ë8Fd·iîshYâLá¥ÙÆQýž~íc>æc®ÏuŠÈ~ÊSžÒ÷óÞéá~ýÚSŸúÔ¾ÿø†oø†ÞVU7ú/56ÞZ¨×ßÁŸ3ìK\_"oâ¤ë“ØÆ+ãûI4ìŸë>ý”çé3Œ7úUÏb¯èãë…•#û/þâ/z;Û Ã9@H“ÖžÚuYyÙÊsöŒ²áýAôA}žê¾áq.vÃtüoÌ úVÍÓ¦ê[ˆ>ya¯_þæoþ¦ûçþçÞ–¯w’°½½ÄwU¦êÈg×$ÛèÏxFß&ŒÅíØ!oò„è2Ozß÷}ß^ŸŒS:os69=t[‹~Ýõ®w]‹ü•ŸUÚ…y»ã>÷¹Oß¶åÉÆðec™s°£§ä°Ë²¬.ÉÏ\üõì;¶ ÛT½y‘9=‚L˜/•­[ý€úž±ö,4iÉOÍ1Ä8oçjìºZ„åìD/?ë³>«ï3ÌE>íÓ>­Mvå¾ñ(p;ìºÃUÝèa¯ŒûúWõ¥4·Ò7š³Î•Uëÿ "ût´;e0ß6‡§[øýŽ÷o™OÉÜ63•^~ÇÙkzd¯BdSƒ¢Ž›‘ýu_÷u§èƒŸ¡ríµ×žò»Î=÷Üî³?û³O1~["›÷/RÛÀ=F›AU|éV¦ˆ3Æ´cbba2‰4(a´y[»Èá;–/½\V?ð?Г)í¶îwžÇ6ãDÄ ÂFþÜkÀ4ÑiÅÀhD8›à1‚ÃÌðþäOþäö–•¾3à æb¥#ÞL¬æÙ&;¶Ô›ÀyYE»H°®nH‰hGó4‡±½ÛäÏyX“ƒ¡˜4 õÂXž#Sºù?ñ½Ác³K.¹ä:É›$ AS†ª `%¼C~Lä—þAò ¿ð ýDzìZúm‚Eæ´•9Dö\¬‡ôËq(ú [e%ËÙm[" (­˜‰O7§ú%ÄÄ0üNÕï§|ʧô6Íúî%IÒmûƒeôÕý¼>ÿìÏþì¤.Wšu´wÿûßÿ”…¿ÊÓª:Wi"põ&ÍCa”šL.Óo ï­ÿçè`Ý«Brh­èã-´!ÃþeŽ>ÎÁqÙv[/-µ€h\ŽumÙò}ûðrG ]Ëæ#?ò#ûKIˆê:†ÈGP¶ck c ¦%g¦ˆl6‘EøßüÍßìIjïX(Ûà·û·{âÎù‹.ºèä»DÚ\é[„‹ó’î¡hïÂ˰½ÆÄxáyÆëVé.¿üòöçþ;[å{¿÷{»/ù’/éÿ/"›½êw¡Ýþèþè:ΕþÙ"°ôÙ‹¤%²Ÿð„'ô˜½ì>c–Å¡ÌÅn˜Ný¿nž6UßzЃz{ì¡}hOzGÈPèÊ#ùÈQ{{ŽNW#wõ¨GuyÈCz¢Ús‘ÍõâkúàûЮqsykE0oà¤2O]‡Ìds±‡V}ÙãœvaçŠvaç糞õ¬î‰O|b›Ýþ;‚ŒsUÙ½uÁ¦Ê²Œ.ÉÃüÝçý ìŒ!þú7¿÷ww?_ù©Ÿú©“Ž)SýQ¨2sË1A¸ê3õÏyÎs&wÄjãKJæ´ïMâ¶©ºÃõ™Ï|fÿ>/ó'ÎwÂaŽõ¸Ž!?Rø-:ΩÿEDöQ·;e3®þÐýÐ袾¹­÷*-¨Îm3‹ð̹ p‘}ÄD6"­b:ëÈËBn#¹MÄy­ Cºò 0Q÷r°Œø"+yXõg™×(âšXÕ3ÀšÜñœATµ«ycd¡ Äãÿø>NåÍo~óÞ»š6b€áÈ âÅhpf–¹ÅÓP>äÉ@L´JˆÌá)NB- ^iL0䕉 AàÈ•K“[¤+£bAh!pà°)VÊopµ o×%$¶U~ úAôª+Gˆ°±ð'•'Iéðþ4X“¹D6\y±“ø”¬«E šÄ!±‰:‡=¯wåõlFž:·@ÁƒV¨kÏ_‡ÌÓMy(2L}y†Eßé5ôÑV,¨<àpK/^ÎɈ¢—&ÐÚ]QÏÚÝö?FÂj§Ê¦ ™ À¶¼5ÔÝÙgŸÝO¶ç´•U‰l噃µ…(¤€û•I¿Â+ \+þâÎòÌ#«Ùúik{ÞðBæðL‘¦öCucòG?,niË0Ю†/˜¬úKdOé« $¯ž-D;ÕÉ£…C‹ˆÎΪkÿWžVÕ9÷òJAœý(œ´#8é·,šžåñßÿ°äŸ¹ýµä«_õ‡¼ÅRz¢O3nèǵááBÙ\}œƒã2íPþI-pXˆPžÈî#`"{q=kÇì&ã%Û¬3¦Y„öŽ ý‘±Aˆž’1"¹"U¾é›¾éä‹‚Ý{Î ÏÓÇ<æ1}ðeï±EkAÛÿôô-ì‡!™ýô§?½{ìcÛ?^õ•ÆZd"ÛØyòíßþíÝýîw¿þ»?ƲÏÿüÏïû)c åc‹è?”‰ýjg!)"ÛXÄ©‚×¥|»o(ì v„üʃ1o‘il¤1G_ùéŸþé'ey"*Œ9ÆKyiÓÔ×ÎÁn“yÚT}‘Í~d«¨o3ÛÌÄ [’°oÛ¬suº%²éGõdl§ öÕ ¢š}Â`Û²aØÈ`uƤ¿ô¢ÄKµD5oöB”îðxU×ôp"{n»("›³Ž6ÇnWcÄØjÇ©öj¬3g³8egOÉÜ6S÷çŽ3{Kd3RLÒ+¤Hýæƒðªã¢ fT›Hñº`$Àð^[üy0‹1µNØài`zçYÁEHéø<Õ¹ëø­@D6CÏ`Û ’Õó â÷¾÷½Oñ€|Ò“žÔWò]N:Jã‘‘×J÷•:o»#‘0ÞøÀžÞÁÀÎ8d<"ÔN«HK<3ÔãÁÊ{yœW^–I×}pa03.‘à04šŒø ±Ç)ñɨaœš$ …ÞX-õ)¼®1yAH2ÂyGU~y¢”G6l–Æ©‰¡gš:–¬«H!uÅ€7p2èÛÅ oNƒ¬‰^»€[“““ez4Ä¢ò9uÓM×Vø.O<›ZAJׄ׊>£0.-"0äÛI°sÚ¯~ 4mûrŽÞ1 L®Êõ;©¶°j[¡· rÑ ¯µÂfªÌs±Ök©Å#„s+ú"º§ÿ"t²õbo¯m¿·myDhë)Ì3 m¥Ûž×é ´ý@«óU¿H‹Ec‹΄ÀsË“è }•޾R»°Ãbl+yç-Ò†(ªËÙå¡×ö5»ÎÛKˆ<µc-ƒhCµRçýfqKŸMƈ¿©ÂFBÛ·}ÛI›Ôyý ¯Sd2{‡]U¢x€Z¨fûrê¨ñÏ8Á¦aÇê ‡Rç-T=úÑ>yšCˆ|Kϲc+NÙÆybÒ8!òn§µÆäþÄ;þðŒ“WeæÍy‘í:¶b¢%ünüäéÉÞøâ/þâS<9çb'Ý)Y7O›ªï"²åÛ®H¶P;>Z¤ýÖoýÖ>=CÒ9R:»ªN‘-$%²—ž³q‰qíÁ¾`£\0˜Ó_è§{……+;]aî¦?âeêÓ ›‡g9”¬Bd—Þ¯Ú.ŠÈö<8Z,o…퇌'læ å¶É²¤KsñW/ê þøÃû9Z[Vv}“>9ˆÈ®6CÙ;ÃPHú}ƒ¹nØõUŸ—‘uêŠÈ>êvÇ©E™Í‹†ã ÌÇÙµ°iÇ£¹mf\sM8ì-‘Í F†¶vûݶ ‘m5Sç[äåA•ÎóSçMxÉ È~â"°cbEN|/Ä!RŠð-R|Ñóyú Ü òåEÀá‘ÓÞ‹Tá)hËÙÙƒLç­Kk®#î{ò“ŸÜgpñˆJ•Ó$¼ŠHß„C'?+"¾<чç§þGÒ˜ø0ZMºxišä¨{¤å0=åV~dŸzS¡‚¬å­kë.¯í¡# ïuÜ.VXÝCÑeBµ¬ðò0ñCP¶Þñî_W7ñp1ÉDè—¼´ ¨¶ÔÑ{‹1cä§sˆ+?±H0÷/#cºé>c‹ êÆbÉPä™É µ•¸¼ã­r3fyÙ—'|{/oé2L[ÝEÖó0–åhen[±M¹â¾[€¨‰üX™çbÍþú9dñ)l!D{'SuÙ–Ù÷¶­ó¨æYÖJMý6¥ÓU¼jÍõU¿cíÇyRº©)B¢~Ó×·ßÕõ¤½þC8”1­ö4Ô‘ÊÓª:§¿Öo3Ô…ã©~·òã+õd‘kˆE{ÝÔ÷¹:hâj²¦îÔᘠ€,âêÓçê£4æâèÞEíÐybñĤÄb®‰@d÷#²=ˆß}ªÝG"yÀ6Ó¯±ÿ†bŒF¬‹©2FDø½HvÛ¥/ë°o c÷• ”MØÙP{Üãú{ÎyÂOåu(ì/ÏãaŒ' “{ã\K,ïEB—}ÚæË¢+{š~ ¤Êžu¿4‘l;}ôp±oø ÿæû¡éwÂÛÐ<kÜq\»·§:þw@êi:v¯Øå©>¥›gWy§}*ïžYD6ÝçõS "ž¯ŽMBtÈË1¯ñ iãÜ0´H•aն‹¬ˆl^d¥kcež‹5}¦×¼õµ‰)K½àhÕÙSi#—,ú¶hó€´·xƒ”h‰ìª_Ç”9ï í¾­ßªó1}mŸë;Ï|;'è£~ÃÖ%Æ ÷‘!iÁט2ôæ,9vÜÔ®•áóŠ4F¨—M9¼¦þ—ù2V ­qØUÚíq¢MƒQ_Dv»³aný.Ò×z.ïsÛAë‹tW¼X»bôIm¡@ôqmè£9yjûuýÖp®òä(´ Fßc7Ë*ídŽê×9„GN-õ?4¤í:e©~µôjÕ¶/Ù98VvµÃºÆ"•ú5f/òð«ësÜŒ«<öéæAÂ;®(é¦{ô9Žõ©ßëXiî£G¶v¬í!pÙ%Æý¼2Æ[„*/jb Z6´ˆE®ò*.|Dvê† öuM{ô¬ Æ 6)q¿ì€X…ÈžÓ.ä­ˆìE亅aèŠÈ†Á&˲H—æâ¯O—g¡¡æ²ýÍõãºe‰l·"µcö‡Å5dy‰þ !o>ÞÊ‘½NûÞn›ÖÛEDö¢…ÇZX\–È6¦­SÿSDöQ¶»¶ ÂfÕ¢k«Wcßç¶™eÂd=/¿mD`o‰lÆ|K`Ï%²‘@&OÏ©´*ÞuVäΈè"Cmß6‘cx Iúw숬|‰ØfÊ"Öî”'2ìÈ*D]&-:ë6ï¶gÚ® ²°%ö¤Å0"²–È6!²§<²Å¶ ‹4ªXw}B þ0y­˜TÔ`5¼\žŠpApNyêïó?ï$Æ-ìZ¶Ÿ™<Ù"8\T0aºü„‡Œ)R]šŒ)üQÃx5 [V,x9ÑA"”‹m&zòÛʺº Fdóz­‰m¥ô7¡Dnj ÿ˜nz¾ ¹ÉŸð,SDvé Âc,Öf•ƒçú4ÑãFÔ½ V ÂÞÂŽÅ‹vÛ±ósÛ "»â䛸·Dö°=ÎÅ©gh÷€‰â”ÐSúJlË\–È^ÔÖ§úˆ6U¿&}C"{QýšŒhëúÒ¶~é«çªk åµ`Á›F]·mIk¢Lßé}É\3©žÃ³jÛn¥Ù-nš(éK-:´÷Ô÷¹:X}”­¶ž1iuã'v©X„›«ÒŸ‹£{µCç‰A!ÆBÞ¼ýªüÝV´=mp‘ ÇÞ"ªõ9Eb;ÖïuÔo}$²‹<³p§á1Z/t„ ŒªX…Èf·ZœoE¨‹Hl’ŠIÝžŸúÎþe›ZLTÇlH¶pÛ?iÝÙÙ¶Âê-Ò‹ƒEº‰ly2 Â&gÓ°U‡ÈÄã²R¤±1Gv;·Mƒ¾² ‹|›‹]›îØ÷uò$½"ѳ¾¥[D6'XO‰… È\."{Š$³Lø»Ež½cùÔ¦,sN›íõÒE /KdÏmž9‡ÈvߦÊ"íEºäü\ükQhþìÊzÑ;[PxA2F¸ö'ô“ìs6—¾mGÄqnç¦SDö:í{S¸m²®ÇpeëzÙãaÙê`ú#²OG»³“Às9³ Ã*ã”Ìm3Séå÷ pÜ‘}‚°m mß}Ðõû¢J]…ȶ­Sxb»byÝ©ÓÊÃgšœj’€h.²ÒµE4 ïó¿û~¤%«ÆžkPfôÛªcðŠéz{ûQÙ ž”œðgü‰-}Q\^½c×¶¿1Dx¹ß@hqÁ¤Å*çØóMbdß”áme•÷ˆ‰smîaDM bi„È2!ãy2 2v/]¢ScÄ÷ºº±ˆúN&ÆHÒ)¯laVˆò×¾,r¬,Ã߯tÓ5sÈ0õI‡³÷?žø#|Mm5e ×âÍ"mn[Y…Èž‹uÛæyÔ髼u¬…ÿ·}C;òÈÞ‘¬0!¤ÿc¤ï¡zÑWµ/y\¤¯ÎW9õ›tv,–jµ§Ã"²í–±cbH¾ÉO+b¤ZHAܘ|®"su°å,j¶aTÚgóN¯íú5¾ÌÕGéÎi»•ŸEí°®Aغ¨®ksÜ>Æ{ãÆ˜h³HF %ET‡È.D®{¼ÿýïßïD²k, ¯Ã²­Ö%²+5á3Eä²OØ™Ú*{–×£ <›!ÍŠ]…Hè–ÈÖÞÙÒÄÂþ9'Þ2&•¾scD6‡±F+¶7ïc}ŸEÓ"¿ÆÒþV¤±ß[²lx]›ïÊÏ\ì†iÿ_'OÒZD¢­“ç"²9žT¨µaÞýo§˜Ýœ-ù;W§"²+†µ£S»Fyî×N!ÃèlåUs‘±²¹Ü–eìºú­ôvÕváþzÖE  =²Ý·©²H{‘.9?uÅcÚº3¤× û ê¦m›c„+¶¦þ`l7ÂÑŽ[sG8?ò‘<ù¨)"{¶²)Ü6Y×c¸nŠÈ^§þLjìÓÑî8£éWÌ}8&މÅQíÙœ›>Û92·ÍŒ¥Ÿß‚ÀqD`o‰ì–¨zc3Úó‹*–'’™a²È#›¡l×„Ë [?0ïIä™NiÌøçÊc‰×°‚˜ Avè1ÚŸ8ñÇ[œ‘OÈD™"ò¼°¯<@åߤPy°¼ ƼÃÅEn[lÏá‘ýˆG<¢}Ê‘—‹ñÈ^6æ m!Ü£®†ÂÈåMà Ædè ø¹_‹Ì1ù1‰q¿°/â?ÃÈo&Y%&^¶à“§ö\]ƒì6hxUóˆ=Hl‰eäÀx-+…§|‹«Õb³®nðjæ‘,zdÓcŽánÑc(¼èyðXø°m´â²¯›ú¨›uç–Çî”ç½…Ï÷r'Ùˆl‹ òm'2{(¼pÊKš7'ò Ð_<²‘y%ë´DvyyYSd¬Ìs±v]µ5šçº‰ßP´žNõND¶vvèKµu}}$mѦ‹0•G¶ÉT‰°E¶–#XÛðu^ÛÒÆHÕ¯ï‹ôÕùê?úc»è¢^ÃþyŽÎy¦~Kÿ¥~ÛE?çJÚvŠP^‚¤î©ã::Xý¸>­‡¦ôáAG‹T´@È#{®>Js.Žîj‡Î•i`:¥;u]ŽÛ‹€ú3.뛆â…Á÷¼ç=Où™>²¿†Dvye·çÝ8¶8vJ‚;öl#†'Çx=vi9'¬Kd{bG¨4ýJí:lŸ‰ âq†@/¢±¤ýžsÂCHadœ±³%²=ÏØæw;àŒ§C¡l9ã)âxxô-<ŠåÏŽt[plÑsxoýß’Æ‹^NÈ+‘]Á†D®²7çbWÏž:®“'i."ÑÖÉsÙž¡Íßýîw÷õ1>ªú[ºâ™suú "Û<ÂÈx(LÕ˜ý^ºÚ†'©ê‘þ–“R[s‹š»-Kd׳Vmž;—ÈÞTYäi‘.9?ÿ"©ÍÝÕ±Ýv­è?ôEô‰Ddî<­Ù-c¢ãü2$§ˆìuÚʦpÛd]%‘½NýÙUÿGÙî,晃oð$cáM‹ìnw Ím3c:ß‚ÀqD`o‰ì"¯ë»AЧýÍ÷ErщÕ12¯%ô^O¶¨ d‚è}à B¬õPu-ãYX †-™g.qÎäŽwŸçÐ*›4‹Èv-ÂÊ Z² q€H·5‘FˆlF•±¾ÈDÌȇp:M$Aæêè Ç"·¦Âbˆ»]Dö²[è˳TYäÝV¨Ö¸491“'Äæa×gpð‡·l`…Ü/"G9 (ž«œk‰ñÂL="žò%â`3båE©«eÄä‘m‹Ð*D6B·ˆu[q« ž¹®n˜Ø"²‘…C"[úUßÚ ¥ÚšìY=[¼o…ÒI痑¹ÕM÷)¯r«ç)"Û„]®ZDŠ­¾óC¯> I¼¤íBŒÅ:[ºÐ–cn[Ñ'0”ˆÉYÙSež‹µò) ´…Õžé¨st¶DœÔeˆìÊ60ÖÖµÕŠQŒÈóhAÚ#²/¸à‚SˆlDµþJ¿;\HªûÚ¨g´õ{¾ÊoÝNt+&­—]vYÂÖ³Kæêœ<–‡¹¾DÿÛ.~‰Ó®´3ýhyÖs—9ÎÕAy«VòV}]´½_{Ð^´oº‚ȶ˜CªþWmûsqôÌEíÐyÂË.„V»Õ÷ígó÷¸  -ZjE{åuU}e+¢Ú±¾³“|Úß|'ûFd+3ÏA;)ÀÚHÙ´úQc›÷ °U‰…Íz1íᚃH•òºãÁ1¡V¢¯•±1Øv{±f…œ³ø©¶{°µSí¦²Í~$í$Þÿu¯ïÆvSsÊe,.¯dŠÈf¿Ê›…n‹»l „ó*Ò’ÆîÓy{9§èwídÏ“áâÂìú„üY7O›¨oÙm‰lcìK÷œ7ﱸn^dLVoU¯suú "[ý ÙÏœ/è]ÙDΙ±í¼dÛ” ¡çæ ®B²âø+ Û…­Ä.%ËÙ¥ÛsÚÅ\"{SeQîƒtiüµWíþvèq 0^¨v6oW$!皃ˆlõ¥~ánŸ•íØƒüäX¥>-žiç%Bå±CôÃùèÜö½IÜ6¡·°?ªü‡Z„Îέÿ1"ût´;º„à fÞÊ^nwÒÖ¢lÍwè™ÛfÜ˱«™ð(-×á|$BdŸ Lö&åõñýVFÿTe‘=u¾ýnÀ+£¶=‡ÜBhòR1xÚÒĸãÙRÆOÅÕ.c®ÈJäšp<}ç%ípñl$w;g þ2ú=ñg+Ï<á/x»!ºmÿçŽ ã%U䯹%sˆl÷ñÀ4ñ!Êe4ùaàêô ¼ã-ÑØŸù£ã6a3 Æ­ ·‚ȱ°€Àá•ÞÆÃöÏ!iÀÒs‘œðqQOŒáe=yæÙžÅøg4=ðÄâˆç–¬«ƒ5 fð‹ ôÎÄѤÙymÙXXåm™ã˜nºo.F_‘ÙtYûAŒðºö¿ºÔÆäÙ(D ÞBD}ë#è Bdn[Y•Èž‹5ý¶ Pu¤í(7VGÈqMtÉ6Ùú¡Cä‘h[ý´uzn±Pu¶ ‘-Ä6í¨Ï9AÓYmÖˆ~ÃB >Š~˜8Wž«sò„±ãBŸé¹ÊâÓöú;tô§«Ê\¬¼é{KDŸJ¿Õ1y³•Q^["{®>®ƒã¢v(¯&2Æby›Z$­Cd·½œfï}ñ ¶lýß'õ§òx’ê‹cD„4"U´Aö/9Â&´®_±xi\ÒÏðt,{vœÏ:ªo}±ûØ¿Ml¶3²Ùy çváA"=Ä•‰8ѯ{9$[ÄóØÀ<À+?SD6ÛÛ¢<›€x™ö*;dÜS¤1ÛÀcÓ¸k—2p¼({^ÿÊóÛ¸P2»ºwê¸nž6QßòZD¶1ݸkÌׯ‘8æ.Ráa¼´`ÛÚeôyŽNDdËb élÜcš[±m9f°Ap}T;?t'öÑ–Øœ…Ø/ÊAŸ,Ô/Kd¯Ó.æÙò¾‰²H÷ ]ªgÏÁßü×}l[¾×öì¤%Â5°wØÙ®¯¸ù¾ D/µkéW?Æ™F?Æv*©0þ÷|d¤ydnûÞ$n›ªë±ñcSD6lçÖ¿ò›K}¥þøtµ;\‡…Oã³qŽÎÑ=s}"±ˆWŽBý'þ(Ü6c·´ñ•xv«ÇýùŽ{Kdi­³¨ïudœøø¿5TÆê“‰‰ÓPÜËp1ˆ™< F5‹„ËC†§žÉ\‰ÎaìÅ:-Qk"‚d3XZýEjð\+òZ‡ŒáÜz:Tº õòÈ®®hyE2,+×3 œ<Ýçå¬]SD¶tl[v€ëV•"¯úU[Åì…»~‰MôÀŽÊ2%«b7•Žß×ÍӦ껈lz†à5>ЋڑýlëVæêô2D¶ç ¬-ް­-p”Ð7 =v«Ž‘>†,âØQbÑœ˜cZÈ0–ÚéÄY"ÛýsÛÅ:D¶çn¢,ËêÒ\üÕ•<çõì;6–¶&4U=¿í¦ú9c‹þ„Îp„iE_dÞK‡‡z€PµËÅ<ž½Gwõ­¬Ú¾+ßÚÈð»mºsqÛD]áºI"sê_ûÙÒ:]íÎüGB‡k§”üÐ9ã&]Ö§ eN݇È¢˜ÿ#{Kd# rëÙ›ªt|<åâÈᱎkìÙ_ƒ®ÉRjY¯àaZ_d¯ŽÏ0oEÞœ³Zx”¤|ÁÃ@h'2mþŽâ»òÃ¨Ž¥5÷7䓤:‘ã€Ezì‡>ô¡“º·,‘];<ö‘È.M`¯X̳PÇË”]ÙŠ±ùf¿íÛkæ|÷\öˆ4-’µa½ÆÒcGØÉâ:‹Œ­3‰ú¶èÏÛuÊö3®ó.g-³0ÛæAˆ6³Žcïhh¯]ö;Ý“ã¯pc/²œJkUìÆÒi‰ì 3¸NžÆžÑþ¶lž["[HbñšŽ²!ÕñAs‹£ÐiºèSúÔêc[îö»… 8t‘“ÄaÌ ÖmmþVù¾‰²¬òü9øKŸýhŽ_v‹ÿËÙgïS6!ìé&,è¦Ê‡ÑG.ÛVVÁ«®ƒÛé®ëÊûa«þOW»£wœnÌU›æ ËÊœº_6í\¶ Ù'Œkƒ]ûa¨øøm£eÛ*5ùÙ/xòòöDd×ÄmŒÈÞ/TRÚ ¦à­Äc™ÅëmLx£‰Ë‡PZ5VìXz›úÍä‹÷Ò@<þÃ\ ØTž“îÁXðAd·±f‡w…È"’ÿç"€¨6ŒÍÿô§?ý:DÿÜtO÷}cDöéΓçÙÛ¯äáø!À{õ’K.éCÀØÙ:&v¤ð”F^|ñÅc—ä·cŠ@êÿ˜V\²½%²­Ò¶„uˆìCЦ$qZàùQ1ßÄ‚$ˆl/Mâ rÑ;<²OKæòÐ ¶!šlû7 ÿ"h+¼3yÄòÞÖ¡^0Ü^³-ß…8ûR¸!b"ûƒÀAD¶ó>v }öÈÞ­˜WR/m³pgëö0é¼·ã®ÙÛQÉÅæ¿Ü‹7í´ºEláV,Ú f«£PC‘ÝA õ¿;u™’UØk"»<®[»~3Á¯ï«‚šëƒÀQ#à%HÞÊý°‡=¬—`+kÙ^Z A ¼˜…ÒO˜üþùýVn¿ÛÚmb`+¼m´bÎá]ÏÛÔÑöK¡•lÑ×w›Cm ƒ}Nw"[˜µÙû¬%ÓeêSŸÚÛMœØOþÅ ÖbW$Dö®ÔdÊ1…;ÀËʽØ\¾ð ûü챎ÅfjBˆžÙnd*½ü~¼Hý¯úJnƒÀa""û„uKf·žÚ¾G‚À¶# ö®Õy©ŒØŽ!²·½Æ’¿ pz@ðy ¥™"­[›ÔKÙîw¿ûm59lâú”§<¥cõ®w½k[„|ßBdïA%o°ˆûíL!Á¼TÒ‹³wIBdïRm¦,SX¬ô2D/ôFZ·Âž±[•7vBµÈìÎ÷ÔÿîÔeJVA`o‰l«¶åq=$±ÛßCd¯¢N¹öt"àEMÈ)qo½ÌÇÿ ¸áKNgóì ¶ ¡F¼Ó Œ¼sS/»<ì’‹‹­¯KwØÈôZ"ÛØWÿûÞþ_ 5 -r<êõ¨réeÂÏ{ÞózÍóÎ;o¥jU×}Žþ]¬y}»n‹ˆ¯]ziç*/ÀÜ–ü'Û‰À›ßüæîÒK/í_ÐhþnwÅ¢—Ãng)’«¹¤þç"—û‚ÀñD`o‰lÞ-a]d¶¯ý=DöñTìä: ‚@Ø]Џ‡D¶Ð3$DöîêBJ‚@A  °?„È„ ‘½?ÊŸ’ ‚@Ç!]ÿ‡È>žõ™\ ‚@A eØ["û†7¼á)ž×­vû=Ù˨Q® A  ‚ÀÑ!PÄuÛp"íwÛI<²®nò¤ ‚@A  °)Bd7Ùå"{Sê–tƒ@A  °>E`×±%¯Ûï!²×Ç:) ‚@A mA`o‰ì3Ï<óì–Ä‘½-ê™| ‚@Aàº]GäuK`×ï×\sMs<²¯‹a~ A  ‚@Ç ½%²ov³›uo{ÛÛ:öÄ‘}ÜÔ8ù A  ö "ªëXDv‘Ù~¿Þõ®×]}õÕ=,!²÷I;RÖ ‚@A ]E`o‰ì³Î:«³Ý4Dö®ªvÊ‚@A ì*E`×qŒÈö>”+®¸¢‡ Dö®jBÊ‚@A  °Oì-‘}§;Ý©»òÊ+»wz§wêCŒðÂn?å¥í<žHA  ‚ÀéGÀŽºÿû¿ÿ;%”HKdûîü-oyËîÅ/~qŸáÙ§¿Þ’ƒ ‚@A  °.{Kdßã÷è^ö²—õáEZ»¾‡È^WµrA  eˆlNw¸Ãºç>÷¹}Bd~=$Å ‚@A  pÔì‘ýüç?¿÷à¹ÛÝîÖ]{íµ½Wv‘×í±%²UJ¼²Z5ó¼ ‚@A œŠ›ä‘ÍûŒ3Îè.½ôÒ~ÇÝùçŸjBù/ ‚@A c‡ÀÞÙ—]vY÷ú׿¾»ãïØÝêV·ê®ºêª>VvKbû>$²ÕlÈìc§ßÉpA  °#‰­8‹ˆl±±oq‹[t¯}ík»—¾ô¥ÝMozÓîÜsÏÝRŒ ‚@A  °¿ì‘-.öå—_Þ™äÜå.wéÉiÄö[Þò–ÉÙ­z„ÌnÑÈ÷ ‚@A l–Äö´)"û7¸AO\»þ…/|aï¬pÎ9çôñ²7ŸË¬Èínw»î6·¹M/"Û§^þ8摽ɊHÚA  ‚@Ë!0$²ýÄö!¯~õ«»W¼â}x‘óÎ;/»ê–ƒ5W ‚@A ­F`ïˆlµñ†7¼¡{Ñ‹^ÔOjî|ç;w7¾ñOVÒ[ßúÖþ<¯‘ÙˆíHA  ‚Àö €¸þßÿýß“6Ûõ¯ý“™{ãߨÛyœØy7¹ÉMNžË— ‚@A  Ž/{Id«®W¾ò•ÝW\ÑÕgŸ}öIÏìã[•ÉyA  öžØ¯zÕ«úÐ#guVwÛÛÞv¿Iéƒ@A  ‚À!°·D¶:|ùË_Þ½æ5¯é«SÌì›ÝìfÝnt£îÌ3ÏìZÏžªï% ‚@;ƒ€t×\sM÷¦7½©»úê«û˜Ø wë[ߺ»ýío¿3åLA‚@A  ‚@躽&²)€IŠ×^{mô! ‚@Aà#pÆgtÞÂ9!‚@A  ‚Àn!°÷D¶êCQÜìòèqäá A  ‚@Ø^ì ³“®vÔ‰‡í='‘ ‚@A  vÙ»W§)QA  ‚@A  ‚@A`§‘½Sՙ ‚@A  ‚@A  vÙ»W§)QA  ‚@A  ‚@A`§‘½Sՙ ‚@A  ‚@A  vÙ»W§)QA  ‚@A  ‚@A`§‘½Sՙ ‚@A  ‚@A  vÿÿÿç—ô6@IDATì¼EÛ‡Gé 1PÄîîîî®×Àö5>}íî.ÄîîîF ¤K)o¯{³ìÓçÀ‰ÿýû³=;{Íì<»ÿ¹÷žÅæFæd" " " " " " " " " " "PI ,&!»’–Œ²%" " " " " " " " " "à HÈVE¨Ô$dWêâQæD@D@D@D@D@D@D@D@D@D@$d«ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€Tj²+uñ(s" " " " 5À”³ÜØßgºqSfº¿gÿãZ5©ãZG-Õq‹-VÓhèzE@D@D@D@D` Ùª " " " " "°ˆ Ìùg®ûdðd÷Bß_Ý÷#ÿHÍM›¦uÝN«µt[w[Ú5ª»Dê>Z)" " " " Õ•€„ìêZ²º.*A`øÄî’¹‘“fä•ßzµk¹“·^Îm¶òRyíîôê÷¿¹aÑùÌ6ï²”[©uC[Ô´Šóû_QÇÇT7vÊ_.ê q+Ge¹Á ÍÜÐ ÓÝkýÆÇW£rŽQhFD@D@D  ]… OY¨ÚÞýa¢»þ!nfB¤PÛ¹G+wìf˺Z‹çoäügr_ ù=>U¯m;¹­».//Š™ÏñžèvîÎ-¸5:6±EM3xôó1®Ï'£Ülìù¶ÉJK¹swìì½ûÿïùŸmµ« ågF3" " " "P$ ÙE‚Óa" " " " "P o†Oqç>ý£›û¯é“kV¿¶;~‹Žî«¡¿»×ûÿëU›v®=ÖlãŽÞ¤CÚ¦Ôu•QÈž0íowÀ߯ùÝ)èOŒ®_–™À·#þpg?ùÃ;HÈ^‰Vˆ€ˆ€ˆ€T#²«QaêRD@D@D@D@ª SÿvÇ=ÔÏý1cv™ #b_µw×a©z~ýíïwÏ}3®Ì>É… v^ч“H®O[–F¥ê­»îõ!e:9öŒ:4ÖY¾©kTg ·ÜÒõå‘]õŠT9ȃ€„ì< i(O—¾4Ø}ðÓÄ’Ä»/ëÐr‰ÙMê-á>fuW»Öâáa©ó²S±T¹•§=6Ð =Õç»Î‹»gNZÓ-„˜aàP…©rŪ ‹€ˆ€ˆ€ä !; mò$01 ¥qÐÝ}Ýœ ¶±¥ß)ò¦½zŸU\Ã:µl•Ÿæ³ÏØny·å*-Ê“¶MÈ&\ÅÐñÓýauj/îvXµ¥›üç,÷~$¸#šNýk¶kyŠw]¦‘Û4Ã@“³æüã>ûåw÷E…ëüsæ‡ÐÞºIÌ*ѱf£&ÿåãuÿ9s¶ëóéh[íº¶mä6\¡¹_fàÂVëÄÛ&Eùyç‡ n𯺉Ñ<çkTw ×¾y=·N§¦®{»Æ.ÐsÝÌYÿ¸—£.ÍVïÐØ{,¶å›èzûÓ5kPÛ-Û¢žçžËޱé´èZ>ÿe²ûå·énÈø?}lò6MëºQšëwn^æ¼vŒMÉ÷çC&GùžîFDƒm.Ó¬ŽëÒ¦‘[­}#GùÚ3_ÏóÎæë±n|äÕÕ[²–;xýv~~Õv\çV òòȦúõ1ÅïûÛ3Ý”è뀺Q¹7¾ Xµ}c·ÞòÍ\óˆ 6nÊL¿Ÿ_ˆþunYßïcË6}sÀø¨žÌñ‹”û‰:9cÖ÷ÑÏ“¢z6ÃH¹D­ÅÜr-ê;êý†+6/#Æ[šiõ’rcÀ÷eTŽÓ¢zyéî+;ÒþíyL8¶QÝZ±µói*" " "Py HÈ®¼e£œ‰€ˆ€ˆ€ˆ€TCG¢mïh¾L¶b$D^¾W—‚Äì.mºöïš)Éx}6!û¦7‡Æ¢/"$éýäî×HäLÚ‘Ð|îB¤Ù˜ßÿrg>ñC,°ÚúpÊ ŽËø½'ºË_n^`þ»¯äÖZ®©_ÿPÄì‘ÏÆ¸’AŃ£ÖÄ׳·_Þ‹»¬Fˆß÷Žoâ=ˆ½¨üÈgÿ ç¶±a$ˆŸ ”ØsÙšü~äîªWÉxm"!΄[7°äâé»ÑuÞòö0/¸Æ+çÏàEýŸ­–sÛtËoÀÍm®ý<™D™eóèÏå‘=6*«óžùÉŽ:29,aŠX¼ÏíßÄKRGo>°[™CÂ÷ö±òÙeõVîøÍ;Æû|=lŠ»!ªcˆæi† }Ú6`˜¬—wºªûo”÷AQg†Ù3'®é;8àl¶Q$Œÿw§lQSj@@Bv5(D]‚ˆ€ˆ€ˆ€ˆ@Õ!p^4ÀãW‘¨—Í ³_l1÷Ò)ky/áléæ+d/ Í "¯p„àLvú¶ÜV]ç °ˆ—x™û#?Ý"ÏêÚK,æÇ0¸ Œ…ÙFÂóÿ+þ׊à•"ѸAzà˜©ÞóÛòI¼è£æ€™²ñ Ç»8“á}ßá«•ñ®&Ìe‘àžE?÷É!þ_¿_W×¶Ù¿ÖGùîä;Óyñ¨>`½¶™6ÇëËCÈž2c–;öÁ~^з„ñ¼^±uC_~ƒûW †ó“ǯáëBXwè¾è…³iÑpIK"òï®}mH¼|ݾ«xïzVàÕYN'—Qo®Þ§‹¯;¶oRÈîyõyƇ&!;¤¡y¨¾$dWß²Õ•‰€ˆ€ˆ€ˆ€TBGÜÿ5)³'¬e¹P1ûÁ#{øv|Ú4#ÙÞ+£·ž/F‡‚!Û1ŠÄÕu"ÜÙQŠ'¿ã>ˆÂB˜!T_‰•âç õ·Mî„ÈwçÈ#×,ïñB~"GñøóÏ?n´YîÐ{úÚ®>¤Éq›/ë—k-¾¸•¸ëÛX$G`¿ÿˆÕ¢%óÂ^ V1%ôÖ1 rç!«úù¤ÍÊ"oâC7lïYZä–·‡ÆÇ²ýÊÈžp!Ø_Qh’#îû.Êã<¾vä~Ò–Ëù°¬{½ÿø2ƒqåüçyB„=gωbxDFè“Ã8oÓ:QHŒ)Žð ?Œ™æ·ÁúèšZaTü†Ä?Bj`§=:Ðý<ß#™Ð(Õï'ÄàlÙ¯öûÍÝðÆP¿?ÿö]gŸ/[qï‡#ÝQY›q=\×Û'x¯t[Ò–ÝŽ«ý[ÆÄäæ¼X‹FKº>G­î¢¬x¶GF 'OŸ×)‚7>Ç®ñ˜5{®¯Sw¿?"öäf ÓÛê{û'륟N‰å£'Ø™Ûuv„5‘G¶ÑÑTD@D@ª' ÙÕ³\uU" " " " •”ÀN7~éþž=OÌ•ÅU–iè®Û·«Ã}»÷;G(Ððd]5ŠÍ ²w[£µ;vÓy‚2iÎŒòLèˆéÏŒñÆeI ñšÀûøÍ:Æù&„E8¸åf]ZÄ¢;‚ðw~ëÓáßN=Z9B€˜kûæ·†Ù¢#< û„vbŸþq¨ ¼É_ãîÿh¤íêNݺ“Û¶ûýÕXwW$f›…[Ù.ŠÑŽ%…l:BèLËý>Œ:YB¾G"†¼ËD@D@D@ª ÙÕ§,u%" " " " U€À~QÌfâ4ç2;bü®×¹Y™]ñÄ=õѱ§¯m¼ýàî~Ð<[N›"d_ :Ù-<0´^ tý£1¼_>em/V'=²ÙŽg-ñ•»GžÛ]"AžAÓ,—vŒ­cÀÃ~žèî~o„‹4eoÙ„l<­ñ¸­o4èãYOþ¯:dƒvnÿuç…ùÅhDêÇŽëéj×Z<Þ—­ ;V‹JÄëxHØ%¶4†(»{$T'íº7†Ä^ÙxV?–¤“ûÛr)B¶¥‘œ20&uëÞGÄyb²™¿ø…AîãAó¼ò‰NØ‘ú‘g=¡>.|îgvñvc_}å(n;v~ÏšÁ?1’|ôØÕËú¬Ç›~ŸÛ¾Žcp3Ð(±Ã±¤M‚õ¯ž¶v,J&Çð8BLÒOç­#!’ë3ËWÈ&4Å;?Lp?FìFLšác]ú#iÙ„ì-"Oð3£ C2~º;®w¿x"6b6z¾wyâ>çcÉkÊç½rê:ÏÜ{—*dïûëa¿»¯†Oqƒ#ñïð‰Q§€u„9…l¼ê/ b]›wõõ‘ ÿZ¿ñþ°VQx”ÞóC°‚Øé6ÀcŽ&<óGûÙÀ¢!ëd½º"êˆX}~è—dZ¨Þ$dWïòÕÕ‰€ˆ€ˆ€ˆ€T2 ˆÇÀx™¬»Yä銷p.+DÈÆ;/áÐB\Ö‡B6â(ž¹/ôýÕõõ‡›5?6tx<󈙗ﹲCpÆ’¢o2´û¼ôݯîŽw‡/&ñ WŒ}œ2c¶;?ÔJ6!;ôô%]lè„é~ðÃyKÎ{c›†Y{¹¦î’ÝW²Ý²N‡OˆÂjOß3ŽýíØR„lÞ<ç©}\óä9°’A¿œïAÍöPÈÆk{ïÛ¿ö±ÃÙ¶Y—¥||j¾2ø}~ ì½ÖjãŽÜ¸›½åË() ¬]4`æ½Ñ ›XRÈ&>ú2‰¿£þ‰€ˆ€ˆ€T{²«}ëE@D@D@D@*o£Pg¡,¼#bsük¶qGoò¯x¦ÎW¤ž‡˜É?Ž ÚSݧр„ XÐÄ„Ær Ù¤sJäÅŽPŽ1 â~Ñ…âš„¸8÷é#ã)~{y ÙG?ðoüëÎ-¸[êæÏþ#vt*féh Ã9Qfw»é«ØÃ™Ð"»ƒ_†Ç‡óí›Õ‹9 ×'çK²ÃP¤‹‡<žêË-]Ï‹è @ o³PÈfÝ/vïþ8Ño&ÜÊ…»®èÎxüßÐ,·ØÍ{ßÛñ j埉!ûî…¡C[/ IsQ”.–²Ó:XüŽú'" " "Pí HÈ®öE¬ ¨l޼ÿ{72 ‘´ƒÖoç\o^|fÛFÜâLáD؇Hx©&ÀØñá´¢„ìïFþáˆW {NMÃÓº·NpW½úK¼nóH8=k~ˆ¤ôšf @ 4K ¥¬?)ò~†VžBv(ÚâýÍà– ®Ú o u¯öûͯbŸ'#¯ê†ƒ0TqÎ/Úež0Kˆ˜ÉÎãF'F>eÈñÅ Ù³£Ñ)w»ù«xÀFÊéâÝÊz™ öH=1K ÙtL\ôü¿ñ°WŒBÆ{òOHšÐ®zå÷v#®úÃÑ`›IOÿ¤û¾QGÅaΨ±!Û:;8¡Zd" " " Õ‹€„ìêUžº*@àý(ÖðeA¬aË2ƒ#^ ž'9—ˆÍq[umáNß¶lÜgK/9­(!¡Á«[{ñh@¿žeâuvbŸÛ¿‰³Æ¡N Ù£7G^½faüeÖ‘v(&ßù°{ûÆÛå)d'Ë Ïå3¶[>I‰ý|DÔ)ñwäŽuǼ&$»ëýî靯úyDÕë÷íê½ô+¢Ó#Oî“àFLœ×¡‘ðm¿´i±Bö„¨³á€»¾“Ü>ò?yþ Š¶2ú&)dÏšó/Ë?#>i¡mÛ>Ї¼$$ÒŒN ZÇ{ÿÂH8çK ýù†`°È|…ì£6·¼=Œ$¼m´bs?Xª-k*" " "Põ HÈ®úe¨+¨‚nzk¨{ù»yž¼aö·\¥…ëµm§h¾éQ,ãômÿe—ªçn: ›m]¶iE ÙFOu§=60>õJQœå×oëÚG±ŽÇOûÛ=üéh×w¾PÉNÄÈî¹l¿ÿì(–ö®7Y&þuÓ(æw›&u|¬åA‘§õï ÓÞ`…fnßuÚººQŒm„þ‡>å~´_Md:ùÏYnß(~³YšXœ-F6Ç…aKXîÒ¦¡ëÙ±‰cÈ/#ïe¼œ1XÂl›1kŽ;ò¾ï}è–ñ¸Þtå¥e6,¯‰CM¼j OebBsÍùX±B6iïqËWñ`¡õj×r'mÙÑ­²LÃh Å¿ÝÇ‘èLŒóÐÒ¾HŠÝ¶ÿíww–®o‹ñô‚H¨þ}b27vGuT¼¬™ªEàŸþq}ô‘6l˜›4i’«W¯žÛo¿ýåÚ»wo7~üxA*gç4ØcÕªÛÊ­ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆÀ<5RÈ8p ;øàƒã:ЦM÷â‹/ÆË‹jæ“O>q?ÿüs|ú}÷Ý×Õ­[7^ÖÌ‚FåÎ<óÌ2ÜØë©§žr;vtû­²”ó‚W±ðÖ|4h’{ð£Qn«nK»Ýz¶r;Þðe|ò—OYÛ=óÍ8÷fÿñî Û¹ WhoÓŒˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€,J²#ú•Eàüßÿþçž{>¼ùæ›®Y³fñ²f$pôÑG»o¾ùf ²@’ºb›k?׿Þkx^3" " " " " " " " "P™HÈŽJCBveª’ùç…1;ì°C|À²Ë.ëN8áרQ#×­[7bDÙ1žÔ™ žýÉ}>äw·N§¦îâÝVJÝG+E@D@D@D@D@D@D@D@D`Q•€„ìE] ‹;ÿ_|áŽ?þøø`æ?üðx™ ÙephAD@D@D@D@D@D@D@D@ª$ ÙQ±…Bö_ýåžy晸0×Zk-·Â +8âW#œ_»E‹®S§NÞ˜cÓlĈîµ×^sƒv'NtK,±„?nµÕVsÛn»­ˆÐŽ{饗ÜüáÞxã ׿[íŽ=öXW¿~}·ÔRK¹m¶Ù&^Ïà†_~ù¥{ï½÷ܸqãÜäÉ“½÷1aHÖ\sM·ñÆûsÅD3ä¼`ÄÝÞ}÷Ý}¾_Ò·o_~bJ÷èÑÃm½õÖ~¿Lÿ¾ÿþ{ ñ¼9«V­|<ê]vÙŵlÙ2Óan„ ~PÆüÑ 2ĵoßÞ­ºêªn5ÖpíÚµËx\rC¿~ýC‡uÏ>ûl¼yË-·ôéÁzï½÷öëó²É׫¯¾êÈó³fÍòå 7ÜÐõìÙÓ-¾øâ>½×_Ýs³“î¹çžnÉ%—´E?>|¸ûøããu”Gòú à¾þúk7hÐ Ï;wvë®»®¯[ñÁóg2ÕK8>ñÄž'õŠr•‰€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ@u# !;*ÑPÈFtEã³Î:Ë‹›÷Þ{ïe߸qcwùå—»uÖ)[ø–[nq<ðÀûÛŠ:uê¸+®¸Âm´ÑF~Õ{ìá?3Y×®]݃>è73¸áþó‡PžÉ¿‰·€jvÙe—Å=‚÷}÷ÝçÃpŒ3Æv‰§›o¾¹»ôÒK]íÚµãuÌ ¦^wÝuq:e6F ì°{Úi§¹Å[¬Ìfà+¯¼Ò æe6D Ïçž{®Ûyç“›R—ïºë.Ç_&ãú?øà¿9—M:÷Üs£s “Áž¤{à 7¸>}úÄ»²ŒØÚ5×\ã{ì1¿ œk·Xçþù§»ñƽ?wîÜð0?_«V-wÈ!‡¸#<²Œ@žV/Ù—zdyçZa/êF@BvT¢Ù„ìe–YÆ¥‰½Vð´ÅƒÛÞ᫬²Š#^ôO?ýd«"çÛo¿í6lè×…B6B:ëG3ÙE]ävÜqÇxóœ9sÜAäðÂÎeä±W¯^ñnÅwÜqG¼œiæ˜cŽqGuT¦Íñúò²óo»í¶8]˜Ñi¼Î§M›oãÚO>ùdï‘ðÁÇëwÛm7wÞyçÅËÌ È[Y{íµãsÌž=Û3Ä ;—­·Þzîæ›oŽwK Ù;í´“{ùå—c›%dǸ4#" " " " " " " "PÍHÈŽ 4›MywéÒÅÇbnÛ¶­2ñ,ž:uj\n¿ývG Xó&ÌÆsÏ={Ö"ކ1œDñ®&”Þ¹x×¾ð qº¯¼òŠkÚ´©É¾I Ï`3Ò cD#|šç6û\uÕUïj,²YF´E8Æ›µwïÞî­·Þb“·ÕW_ÝÝ}÷ݶè}ôQwíµ×ÆË­œ!ÿÓO?õb-Þâf?þ¸[~ùå}øV®à ã`I¸–GyÄ‹Æl#OÏ?ÿ¼kݺ5‹ÎòÌyCÁüÌ3Ït»îº«÷7oòlÙÛo¿½ûí·ßüy¯ SbžÓÇx—[9s-\Æ9ìZ ûBó@Gèçœfÿýïýþ,ßÿýîÖ[oµMžÅÑGí–[n9ß w7!SÌ.¾øbG±¤mû&fÅWôu˜- -bd4¨N$dG¥™MÈ&þ11¬›7o—{Ò“7+CoÜzõêyñ¯n3„Zó„F轞©«Íˆ_mÂ*ë~øaW™y„Ó .¸À5iÒ„Eo~ø¡;õÔSmÑtÒI>L+’BvÒ{wæÌ™>66¡/0ò†ŽRd»í¶‹EÝ:xaÏn3òzÎ9çØ¢;å”SÜèóC¾0bNÏÙ¼×Y7zôh‡W³yª'½¹Ù'“‡/i3“$…ÜLBöøñã}X;a~¯½ö²E?Å û‡~ðóÔ„w /nê€u÷îÝý"âÿwÞéçæ‰{N͘1ÃÃÎâ3tP˜MŸ>ÝçŸ8ÝØÒK/ícw3Ÿ&d_œ0&aÝd_™ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€T7²£Í&dãiÇuh ´xÜqÇÅ«˜?âˆ#ürè‘Í ÐM6ÙĈØÉ€~¡'Íä²Ã}Ãy„f¡$67^ßfÙ„lW¼®C#¬Ç·ß~ëW!Â~öÙg^0GÌEÔ5Ë< ¯Áz„hö·¸Ïá ’‰G8YbÖÕIãº-ßx8S:+EÈΖ>aZðNÇCÚ®'²4sß}÷“8ôÐC݉'žè—ï4[ýõÝM7Ýäç)ŸÙgœáöÙg¿-üÇþÜf°€IRȦÑév’Ø1šŠ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ@u# !;*ÑlB6¡ñZ2|"¶ Û¿üò‹ólâmxó„ !¼úá¡Z>B6Â*!5L qw± ®azÙ„lDP‚„vúé§»÷Þ{/^õÅ_xÑýÕW_uçŸ~¼db?ç2ÂvXhŒ\ûÚvZ®-“Øoû1-!{Ò¤IÞë™C‡õ±­ñžNZ(d³mï½÷vC† ñ»äÉ'ŸôqÊwØa‡øÐ /¼ÐË{ñÅÝÿýßÿÅÛÂp4ñÊhïâ“›ë¤Ý£G?H¥í§©ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€Tg²£ÒÍ&dª‚¡%=rC!›ý Aìg¼zmпðxæj ±ñÆÇ›r ÙS¦Lññ¥ÃAí`BËÛÂ_°>›mž¾vÜ žêÑ„ AœÆ’BöðáÃÝ{ìg²aßÏ?ÿܯÃëþú믷3(agÌÐÓâÙÍ`¢fÄE_i¥•²Ó:XìME@D@D@D@D@D@D@D@D º•hy Ù„± ©(k®¹¦kÕªU\gØŽ8J¼d³gŸ}ÖµoßÞ/&…ìÐkáÓ¼‡“B) |ôÑG~EK»¼„ì#F”DqÏ=÷tgŸ}¶ÆOÇŽëvÝuW7gοlƒI†ƒ_"j_{íµeŽcaêÔ©^¨ežÁ“!OXŸf¥Ù÷Üs»ãŽ;âdzè!ïѯˆfˆime•²Ù/H’xà„&1!Ÿp4aXBÀÀÇŒÐ$¡çµ­c¬ãN™rîdh ÙFLSš@@BvTÊå%d3è"ƒšØ|ä‘Gºc=¶L=ºâŠ+!-0¼~‰I]§N¿œ²lpà 7ôÛ’ñ¦Ó„Lb0‹Ù¬¼„l¼–ÜÐbBׯ_ßÝu×]nå•Wö§Âãšx›!#äs }úôñ«fW]uUÛÍýùçŸÞÚÒN»®xçÄL)B6a9žþù8Å×^{͵hÑ"^Æ“róØN²|ðAwóÍ7ÇÇØ û¥Aƒ¶Ê§C˜â«c0„Q¢…°0§œrJ|Î 6ØÀÝxã~ Ùƒþ‰€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ÔP²£‚//!›:tüñÇû0"ÌתUË}ôÑÞ“Ú„P„Oºtï»ï>võ†8ÌŸÂ/aCøÃÃw³Í6óÞËlGÅ+š4ð†~÷ÝwÝOôÐCc¡š2d_ýDà~ÿý÷ݬY³üaäƒò\f™eü²„ì$M-‹€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€Ô$²£Ò.O!OÞ£Ž:*n3U¦Æ{ёڬoß¾þX‹m=Â0Þ¿·Ýv[áÛ¶Û´iÓ¦±(̺ýöÛÏõêÕËo.UÈ&ÂoÜzë­qø ŸpâßRK-å÷kÙ²e¼å«¯¾òfNš4)^—œAÄÆKzë­·Nnʸ\а~À¸É“'gL?ɓμÑB˜&Þvh6@c¸ÎæÐéÌ0ÁÚÖ‡SnÝvÛmãÕ²cš¨$dG…^žB6uOÝxÀ®äÐðÌÆ ïæå—_>Üäç_yå/V6,ÞfB6a.n¹åï©K3¼…ñzÆabqc„­èÝ»·Ÿ/!›„ðf0BÄ[‹‡Íz¤® 8ix]›P*3fÌ(³™$·ÖZk•YŸk¡!›´ à¯Åâ`Ûù:tèà·$æõ5×\c«}˜Â}„–ôì&L aE£3žè0üî»ïÊ0¤n¬»îº>vvëÖ­Ë.!» -ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€ˆ€Ô05RÈ^Xe}úx ½zõªé8R¯ÿƒ>p_~ù¥[a…ÜÎ;Or墬¯³fÍro¾ù¦{ë­·ÜàÁƒÝ„ ÜK,áZ´háV[m5·í¶ÛºuÖY'™e-/BY_~úé'÷ôÓOûvzÉ%—tgœq†kÓ¦»îºëütÐA®eË–‹ðê+ç©GŽé>ûì3÷Ã?¸:–[µjåÚ·oïïŸÝwßÝÕ­[·rf>Ï\•RïæÌ™ãn¸á¦C9Ä·/yžv‘ìöóÏ?»_|Ñ5nÜØuÔQ‹$:iå& !»r—r'" " " " E¸óÎ;Ýý÷ßïfÏž1 í«¯¾Ú­¸âŠ÷)dÃ)§œâ>úè#ÿzÌ1Çrh¹ïÛ»wo÷Ï?ÿ¸í·ß¾Ê @4|°g„X»Øb‹•Ä«:±17ß|³{ðÁÝæ›oê*[uº¨ê+gu–ëß¿Öüí´ÓNîœsÎq›5Õ*S]­¨úòù矻O<ÑÍ;7.fÚî®]»ºµ×^Û¯{衇\—.]âíšqî…^pW^y¥›9sfFÍ›7÷lóíÜʘÐ"ÜPJ½ûûï¿ãNåÇ{ÌuîÜy^ɼSg»§éÜ£Í[f™e|ù.ŒÌ~ÿý÷î›o¾ñçÜzë­Æ)uŽHÈ.žÊJàá‡v×_½ÏÞÆoìvÛm7×±cGW»vm7fÌïúÜsÏ9^ryaÄÛ¨R­”îRÏ<~Ýu×õ"þ½÷Þë=\“Û«Òry ÙÕ‰•cU²¿øâ wî¹çºßÿÝÕ¯_ßm¹å–¾~vïÞÝMŸ>Ý™¨òÞ{ïùK£“‰Î&:j¢U¦ºZQí~_ýµ[yå•óMš4qË.»¬kÔ¨‘„ì”JÏïÖe—]æ^zé%¿µ[·nn£6rÜCp££aò‘Gq“&Mò—\r‰ÿÊ!%¹J¿ª”zW…ìl÷ô¢²ï»ï>wÛm·ù{©¬r]¹ËG¹‚ à¶é¦›:BðY5¢Yš}õÕWÞS íýöÛÏ•GÈŠR^¸ÓòXʺl/Ë¥¤»(ŽEŒ L Ö®]»’³PØŒb„lÂyüõ×_¾§<:r,/™¦”!JÜ£„á“ÄË4{å•Wâ÷1áRèœZ|ñÅÓv­Öë*S]­¨ö02ÔÅ‹.ºÈí¸ãŽqyòE‰<²cñŒ ¬ØsÏ=Ý™gž™zoÐ1tÜqǹø°=Û:uŠÓ©*3¥´S²s—²Õ'î5 Ù¹y-ê=$d/êÐùE@D@D@D@D œ à‰vôÑGûTs}Jü¿ÿýÏᙘf1˜KÉNE =Åä©2 `Åä¿"©Žlв+’qZÚv¿áqËýF älöÉ'Ÿ¸ÿüç?~—ÿû¿ÿó1í³í_·U¦ºZQíápþøãwÓM7Åa (K Ù Öh¾dØe—]ÜŸþéöÙgK|Á½þ]3eÊß90cÆ GŒè“N:éß5`NBvîB–›QeÚCBve* åED@D@D@D@ÊÀ3Ï<ã?»&©—_~Ù|•)YÈ»æšk¼·Úã?îC„û³•´úõëçŒ ám5Öp={öôŸ¿‡û2ŸKè)4=K¯TâÈbƒ|3˜([l±…[e•Ul77nÜ8÷Î;ïøe¼]‚;ËÀ€_x¨ç2øá¥‹g$^ºC‡õb?ƒˆáùÇ`™fxØ"6’/–=zx6„ƒÈæ=;bÄ×·o_FbÚ´iþ¸ 6ØÀP†'.iqm Z†ñyük¯½æç÷ß?µä•m„¤ ?„«`P8Ä1ÊɬP6…–ÕÂàÆ@`ß~û­÷°„árˆiJhb„ì÷ßß®Çñ«®ºªGEÙçö”ì¹(/<#—[n9?ˆœyÊß\Sêu‘:IG“u6å:îøãw„#áÞc0@‹—Í ‘”÷ꫯîc'S‰¹ £¦M›úøÊk®¹¦¯SÙÎQH.•MEÕU®0ä2‚åG¸ „ðL÷b¾íŠñËÕ¾¿~РA~w¼¥®d²É“'»W_}ÕoÆ 6´OÔiîá]wÝ5§M]¢®Ò6±–6‹ØÚ æIç?þ˜³|ûí·}h:7ÃöƒŒ²ƒk$Q£Fù0+­´’¿–Zj©.µ6aƒ3¬`ðK<«)cÊœعŒN Ìw¹ÐëZX÷]WZ;eÛ˜âyN…ç9õ¯aƾì‚dmàåLÛ…´Å–i¾¿?ÉÐ"” Ï1üÆRßóióm8×øñãýýóñÇ»:x˜®µÖZþKæe•‹€„ìÊUʈ€ˆ€ˆ€ˆ€”L Œ§ÌæÑYhÂ-|êÎ ^Ò®½öZ‡XZ6¡§˜ôH›`Æã%=͈~ùå—»:uêxÁá/Í<Þxã´MeÖ!‘×'žx ø—^z©f§§žzÊ MÌ¿þúë¾ÃÏÀ¤!ÐA`¢c¸ o¹å–2»±ñŠõ\ bÄí·ßî_¦Ù–i8Øã?üà= uÓluÖñá+ˆŽš/›bʪ"¹!`Ü}÷Ýîž{îY€׈xà b¥öhB "0ayœG“¶ï¾ûºÓO?=¹:ã2b%žt¨ Ìà•!Ržp ~WÄz»çŽ:ê(/êŸ|òÉ^Ä|ôÑGHŽúǽƒkšZ‡KaSQu¦ l;gΜ´KôÜÃz¡Ò®ØqÙÚ7: h/©«Ô B5e”•‡d§”ž:BZÖa’ìûyøðávX™)í y&F‡Þýˆ‘ˆvIÃ{—˜í£7Þx££sÍŒü0°"Û’†x~þùç»Í6̦۬|Û„2åX@œE¨Üc=ü €9v÷›áhõƒ¶0´b®kaÝ–Ïlõ޲3Î8à 6Ìv§„/¢ÌŽ8â¿.MÈ.´ (¶Lóýý1¶t:œvÚiî‚ .H­s™ÚßBÚ¸|÷Ýw1¯p†'©c²ÊG@Bvå+åHD@D@D@D@J"À ;Þ|cÇŽõé fâ Š‡Q½zõòJ±‚cHÁƒÚË/¿¼_æÅŸ—Ò41;Ó w±é!Xpn>GˆæºÐkêÔ©î½h0<¼_L¼=z´÷¼ã"y¡EÀØi§¼w&ÂÂ~.³õÿþ÷¿ kß¾½°Ï;ï<‡ç!‚B5B"*^Ÿ°Å+š\/‚#b(f#!HaÄÅEðFlà8„s¼2Z¸Þ\B6×M„$À{QŒøÙœ›Î<ìMTCpÍ—M±eU‘Ü(‡gŸ}Ös£¬7ÜpC8Š7:¢ b,¬.øsüK«¯&¤0h®µjÕòu°sçÎnÈ!Þ T qè| o~¾à‹„×|2¤žËžrDÀÁLȦ>Nœ8Ñ –ˆÜ§¿üò‹ïh1‘±û ƒ*sÊbêp±l*ª®âÑŒ€Šá=h‹‡0KÔ óx&ÖøvÛm_¡íŠ˜V_ØFݤв"&³ ‡v\Ú”2{òÉ'ý&Úâ¦s?s3ÈãQÈÆ“œíÔG¾6áÚù¢ Y³f¾Œnñ4¥Ý²û†¼!Ó)“)´©Ô1ÚZØQ÷1Ò£=Â8m*÷çGçþÃÎ>ûìØ£•å|ÚöË׸ñ²Ç’ešoá~Å^׺,¯™êžáx oó—^ziŸòá÷ƒ/W(û øv‘´’Bv1m@±ešïï±åÀè ä Ÿö·ÐöàùçŸ÷Ï4|mØ!ˆçÜ#äá×^~¥þUÑçb2jF úì{nôB67Íâ¿HX{Øa‡Í>Ížûá‡ÎËŒW ®þ8öă2ûE‚ÈÜH õÛ#Ac.Ëf‘`æ×ßqǶÊO‹Mï²Ë.óéí°Ãs£—ö2i²pÿý÷ûí\g$ª”Ù ø~[ô’Zf}®…H ôÇEÞ…s£ð"s£OòË As#1Åïóî»ï–ÙÆì9–<½ð ñvÖG ~}4p_¼Þf"ÏʹQ˜ ¿c£ÎÛ47òF×o¶³iFÙñ¾6Ã9ØÎ5$-›b˪¢¸E¢lÌ-€“—âëgôÕAÌ'òN\`ŸL+Òêkäµ§uÌ:MÊ ÊsíZ£˜×e¶e[Ø{ï½}ºQ˜ƒl»¥n‹:pü±W\qE¼ýÈ#Œó‰¹s£¬x3ä“õÔH”™‰[ñöbëp±l*ª®F‚¬¿¾Èó8¾¶pƶӎ„Vl»’V_¢0>܇Qè—ð4yÏ[{u@•9†2¥üø‹¾Êˆ·E"¥_G;DY&Ͷs\$˜Ç›á娓2^ÎDw~;í»Yä¹>7êHñë©ïÉz ðs#¯¿ëë™Ý'™ÚR;G¾Ó¨ÉŸ‡kˆ:iò=,u¿R®kaßiõދм†=~‡#¡xë¤>ñ»/þ¢/}â}ŠmÊ£L³ýþË– ³û½Ðö êÐð|8^Vù È#;êO˜ýÏ\÷ãø¿Ýˆßg¹áÑÓ)ýS9z” TMê.î:4­í–þ˜®¼ô’n‰ÅKÝ·¦®Ä{¸ ÄÕÅC3ix Gƒ‹±2±\‰ ŒW I.KËÝvÛÍÇL½õÖ[}ŒT¶¥yŽ›…xþ‘¼.ÓÂ#¼ñ@cîSì qæqF\]¼š“qnñĆK6Ï_BD¢£÷^Ä3»êª«¼×5³¤›f„Æ`À7,—G6^ñ*$­½'j˜&ÞÉ ä‰áÅz†gbSlYqŽŠâF¸báâ-Çõ¤Å;ÆÃvçwöu%[¹ÏÐÒê«y²á@,´CxœÕ<¥­¼ÂíióìK}-$>¶¥C9SÞ”ág0óÈÆãOD¾8HžÉQ'#;ûsÌ1~Ë6Viu¸X6QW¹ʯA@\ú¤]}õÕþ^û’ØÊX)íJ²¾poSGøŠáHäKf!¯eÊ¡Á)Úu®™kOš}™Àú°màw€/m°0LËxy“êLx íûâù‡oZ=#_Ëp,íp$’dÎ6ÁïTÀ?âÂãõÑ&„ãŒßµ”ëZØ÷A²Þqx8Ã<’Ý…^è+Óð¥u Ï‹mrµóiyH®ËôûÃ~ŲåØbÚ޳û˜¶žûYV¹ Ôx!ûûq3ÝSýÿpþœS¹KJ¹ÈJ EƒZnÏnݪ­ëdݯ¦nŒ¼¯ü ]„° Ü1˜yÆ £ˆ1hÔ‰'žè C,Èd7å¼Ls<–öÂ]lz„ !=bÛòÉ;±… ±l/ËÙÒ±õL"ßá‡îCf$ÎÃ4‰¿k<‰Ë k‘G®ÿŸxÇ‘§{¸{=§ó!£sÁ0iâc¶4([™l³Í6q¸²©gÄ‘Íd‘÷±ÿ@¨blcÅÖábÙTD]Ít½¬G”¥.ÓFÑ9 Ù¥´+a}ᚬ“ á6Ÿp"™ò\¨)ÖÓ†D_ÄÄ!–BQšíV—’*Æ¥S§N¾Ã}1Â1£Ÿã¸þLf*†õ,W›)­Lë?ýôS?&Û áDH¥b­”ëZØ÷AXï¬3Š0E„+¢…ßGƈH3Â/YX¡PÈ.¶ (2ÍôûCþ‹e›ví¶.[{À>²TÕ˜ÖX!›gö'ûýáÞ:o ‚¶—p«µ©ë–Zb¦kýÕ[|¶`±˜PU£8•K¨þðÐñÏnÒì:nbô÷ÝØ¿Üè?fû‹ßt¹ún¯î£ØÅÕŸE)WˆØA Ù»îºËÇfå¹ñƒx¿Ñ§ò±÷b>ç½RÓ^¸‹M—n¼ÆÚ´i‹2ùäÇöÉö²lû¤MíEý¤“Nr‡rÈ» ãᚯ1¸c×®]}lW¼ä£"©‡Ç–ÖxñÎ%d“b^¦fÄŠîÑ£‡÷’GølÚ´©mЧ™Ø[V$\Q܈‡×-žÙQ˜”ø’3×_½÷$ÍÔ‘ÜŸå´újBŠ ¸—v\1B6b'u†¢jZÚiëLè ÅG²3ÕSK!6ÄR&&,Vl.…My×U»>¦Ä¸By±ŸAï‘ß ³y)íŠÕâÚÓ9h†·2u‚{¯³òÅ»ŸöÔŒöÀ¾HöÈ>xB#îöë×ÏuÃÀ¬ -)dó5žêIÁÚ„hÇØd“M¼§5w|…“Éxàÿµ_ND!•ün¹Ú„LieZ…gò§lçø¢¨X+åºö}`õ.üªÂ¾Þ y§±`Ìê? ÙŶåQ¦™~Èc)l9+¤=` ÙP¨:Vc…ìgNuoúÓÕ®µ˜Û¥KC×½ñŒèsÄßý`-ô¸ó Ï_ÚgkU§x•S¨~x±G 0A¯â&Mšº~ÔsÏÿ0ÍÍš3×mµB·Û*ó ª~r_^ŸfN"íH>5g %¸â1Œ‡*ƒ`ñ,œÏà ®† Ž¥½p›!GH1¦PËö²¹jZy@IDATœ--{QâÁúÁ×Â}˜šá…‡x>Ž/|ÂÅ'ªl õ!+_!›¼á‘ÅõÞȈyˆåf”B'eZ&6Å–iW·5×\Óó€ g">e²{î¹ÇwÆ”—M b`NBÅâ‘m¡ ” ‘’ËkÞ®“ûÙ ;ALÈN°gÇÙ”p –‰×þûï¿ïëV1uO[™ŠeSžu•ëûé§Ÿ|GŽ 6H}g€C"ìÖ­›c0<Â*„Bv)튵oœ›6¾D‰b²ûÁö¨‘6£+TÈæ~À»a’p5Ô%:^¸vB!q½|Uƒ%…ì(ž¾o×è¦#h3Oçt|…Ã$íí磾“ÏL–¬gì—­MÈ”N¶õü\ß¡‡šm÷xí#B<Æ`Å ŠYÊu-ìûÀê](d–ð2t@f2ÊŽŸùÍ2!»Øß1Ú€ò(ÓL¿?\C)l‹i8§„l(T«‘BöÀßfº[?=˜/æþ³^3WwƯ~Ôs°m*!»êTdåTD@D@D æH Ù&h3Âý_õZ¹›¢ç¼hìAwBôœ·JËôOm«;- >§'|a r™yŠš(G( B YlÍ\iØö´îbÓ³½x;¾þúëvм§Ù^–³%b/êÑ€Qoà¤JÏÀPTLî“¶¼ÝvÛyÏi: ’²íg5ûaùxdÛq6å~àežOÍ);b‡cIOÏLlŠ-+ÎQQÜðÂ&TK6nœßBhTV!›8ÖÄzÇ2Õ-¿1ñÁ¯~:–À‘1² SC¸šLF'+¬°‚{ôÑGýnÅÖáRD¦dþJ­«´qtÂEƒú/hïºwï^ÆÍľPÈ.¥]±ö ±˜±|­Sƒëã <] µB…lë´!¬í7÷HóæÍãÓÂñK Ù¬;ýôÓ}a¨…J‹l÷_4à`¢‚4’fõ4ìxÌÕ&$ÓÈgÙB !ÚÓÆåã|H'uŸcܱR®kaßVלּÈ?^ï_|qԑ߼ýöÛ¬J5¾ “3!›ùbÛ€ò(ÓL¿?ä«X¶Å¶œSB6ªŽÕ8!›/~g‚‰½{×FnùZ¿Å"¶ Ø6•]u*²r*" " "Psd²ñ(CÌþeNK÷Ì€©Ž˜ÙlÞ¢Fi±‚·Øb Ç7WíàSrb#| ÎXLM¼¹ß‹ÑL^ÝC† ñŸ×㠈襽p›ž ‡·!^‚œ'͈J^µˆûi–íeÙöI›æzQ7¾a˜‡d:3gÎô±ÈYß³gO¶ýñ˜æsx¼²Óì™gžñ‚,Ûr Ù„PÀ»1ÍÄÍ0M^쉟LX޽öÚËuÖYñæLlŠ-+®(n6Ð!4ˆÕ™Œk$´Be²i»ᨫ„ð¹ûî»3]J¼Yb¦3ˆaÌ«”LÈΕ–ñ ¹[‡‹™*¢®âe{î¹çú{ !ó¤Ù€v¡]J»’Ö¾áñJĽ˜LˆÄÅB¬P!{=öðáS}ÄIË4Ø£íG»Ž˜Ý±cG?#û¼„±ý¶¯Õ‚ä«‚Lvì±Çº¯¾úÊ{vÛ}š«MÈ”V¶õÖÙÆ>¹¼ÄÙ‡Ð{î¹§OÞC¥\×¾Òêá3¨KÜéWÎÿg÷ ‹¡]lPešé÷‡<ËÖ®=¯ö€sJȆBÕ±'d>r†{ð›)®M£%Ü‘«Ìq¿Žë?4ñš©ÍKÈ®:Y9¨9’B6¶ye3mÕº»g`-7vêlwHÏ&nöõjœùWj/exªáùÉ'Ô™ ÁÏ4^ö-Ö.LGŽé’ñR-ÔÝwß݇µ`@5ó"N{á.6=D¼vÚÉ;ž0XI3QŠõx"›e{Y¶}Ò¦¹^ÔàÁÑ Ùúõë/Œ…èèСƒhL¤æ}± ïÀМ‰M‹Ð‰å²í”/×if JiÞÀì—‰M±eEšÅÍ<©Ï60Mš TÇúP°Mî—\N«¯Å )É´Ó–?øàƒx GÄ5¼Ì3y”âM—1ƒ³Æ¡q饗ޓ5!›Ü󫮺j¼Íf¨Kûì³ Þ§ÅÖábÙTD]µ4MŒµk¶)÷×>zôè2¡EJiWÒê ç#„ it`åêp±ü…ÓB„lîQB<  gú*OåË/¿ÜŸ"Í#›4ðÒ¥g;a:à…˜ 'EGÈ:‰Ó6Àb؇¡“rµ !ƒ|çÃ!b•ó—–'K±¯yôBUuéÒÅo*åºö}Vï(C:4¨ß„Â;;i°¢s·ÿþ~S(dÛ”G™fúý!“¥²-´=àœöÌ”öEÛe•‹@²oûl²ëÿëL·ÿj]Ãßö? Z(`KÈ®\•T¹@RÈ6›—:æyÙžÖ4ŠùÝ®[«:îøu›…‡×ˆyb$óò:hÐ /²â Œèœ\‰+{á…úýðfD¤0‘Ð^&ñÆÆs aÛ ñ±‚pxÁã!gâGÚ 7Ç›yºñƽ؇a’ƒO¦{õêå à:wîìžíÍðHG <çœsü ¿­Ï5Íõ¢ND´"¾øj«­æã·nÝÚ'˶o¿ýÖw »¯?ó§~"<–„ý¯¼òJc™:‹†ÐˆhY§Nç:—mâB(q’ñ6$-³:¼$é¤@ä°8ËlÏÆ¦Ø²ªHnÔ?Á “aê׉Uf!›üQaŒá)Lhˆå—_>´©7Oˆ‡\3eÊõ!ʆ ÙxsO†9xAr„]‰ƒŒˆe¢y±uØêF¡1²+¢®ë˜ö‹k"ÔF(ä;Öß—„ÌÀˆµÎ`¶fŶ+™Ú7Òµ4™ÏÇS˜ýÌ ²9†/-ÆŒãëåníâ6%çG˜Æ’|~eôãø‘6Œv'›JˆªÁƒû¯bðÞf0Y3¾æ¹(ˆ•/@¨œÏ,[›€;m!†ðNgM¾Æ9éäáwŸßî) ÆI0è%ävƒûìˆ#Žˆ·s{] û>ÈTïìà¢<ð@ßñl÷8åOˆ°wÞy'¾æPÈ.¶ ÈV¦ñ‰rÌäóûShc,Ši,ŽK×$Þ‚&2qR:8ŽòÁ7nìó†(á5‡$ž´¹„löÇ3á #ô !„“¾•¡'(§ðå<›b˪"¹Á›N bˆct¸PŸ‰ŽP‹g&1Þñx®ìB6|=¹çhÏ0:’¨×ˆñ”ƒ±aÔí´¯*LÈÞh£‚-ÇpS¸·‡î·`CŒà®]»ú4í_1u¸Xs–w]E8%T SÄ+ÄUÚ)¾$AÄGEœE¬e;¡“6a]l»’©}ãú(KÚ\:ÖøZqŒüäc… ÙˆÅ&Zˆ²¥M¤s6Ó(N7m<â3÷ʰ@gž…²üVÊâjÛ:›Òn1¨%Þ¿t¬pï‘.¡|ìw„ÎB¹Xg(Çfkø"rÂ>üðÃ2í“_™ãm-x6¸q˜/ê>ù²û‹/†¨ԃЊ½®…}dªw\¢t`üÎÓŽðO;B=§Û~ÇC!›ý‹i²•)iæcÙ~Še[J{@H:}1ê¿¡üNó%“¬ò¨qBö Ïss£r8i¥)núŸÓ$dW¾:©‰€ˆ€ˆ€ˆ@V¼¸å²ë7hènþ©‰Ã7õÖ]æyÊfM´šnDä%CŸ>}bA;¼Tâ¡"…âC¸Ï[o½å=CQ€íˆ×x¸1¸Zh™^¸mŸBÓã8„?D!Ä?ý3C¸ Þ4!GÚ¶mk«ã)"ž‰x¦#ò .ñé|.Ë÷EooDDDB´˜!>"áíŠÇ¶}ðÜFÈ¡C! /KB©ØùCÑÁ°#Ø—_~{^s/P¾„* Ù°ƒdR¾žÉ|äæв²|çȰXntt® :Ct ¬!½Á ˆ•]ÈöþS™OÚ)Û°þ°AšŽ%ÂýÐA’f&dsÏ!âô̸¿×Zk-GšºŸf…–E±"箈ºÊõâYܯ_¿øòè´BÔ¦Sˆ{€ûÊ:ŠðNåþÄŠiWrµot@qïÓ©PHˆ‘B…l~È’vѾDàšè¬#n6m:ƒ^wÝuþ:ù‚„Ž ¤ñ… yF g‚¤ÐîOJzˆÎˆ†ft”ÚaÀвµ ¥ Ùœ‡¯ƒÈÓ×_í;´Âs3Ï—’Ü™¬˜ëZØ÷A®zG-¿üžP¯1¾Ò P¬#,üM1…¶ÙÊÔÒÌ5ÍöûS ÛRÚî'îê6Žt’PGe•@²„lì¨c}ïÞæ‰mSydW¾Šª‰€ˆ€ˆ€ˆ€ÈGÈæeüîóÄŸÛj°mÌ9ñ¦cŠƒP†W]¾Ÿsãá…·lùü–"¥X±éáŽðÂ'äĘÎ4e)y+æXBð‡W4lC/ìlé!Bñþa×Á2ŸÈc…x)r_à™Œw"Bâ~6a*[¾ÂmÅ–U˜F¦ùb¸q}t¬ @!T%ųLçªÌë¹7ñ¥ÃQš/rY(dV£üñÄ¥ü霢³'_+¦,òM;ܯ"ê*uŸüÓ.Ñ®…÷íláa"v˜æ+k»’Ìgr™{“ò&ÿ|’ô§½§Óoéòh ìü|Áyä7S'‰í»°¦„Á ™)eMÞ ýZ˜×U÷m¢…€áw¨P[Xm@¡ù*tÿRÛƒBϧý.+dÒzx™AM¼fjóüø•gc¿p‹VgêI !ošÇ-ëHÈ®žõ *^ØŸ~ú©÷°%žušY¬N¼_{íµ´]´N<4![hD@D@D :¨±Bö¡mFxÁ¡:¯mÞÖKÈ®ÎÕ_×&" " "P d#TÛÔbc3 ×?0¶ƒ¿< ÙU±”«gž‰éÊÀµk×ö!0ˆe!P%A¦|.L$dg"£õ" " Õ•@²å‘]]«´®KD@D@D ºGvu/áê{}ÔÝO<Ñ}ñÅ>1t‰1N¨ b{”Ð"„nÁ3ÛÂT_"º²RHÈ.…žŽ¨Šj¬-ìªX]•gp±'¶<²Uª"¿ÿþÛÊÇ Rá m\ ñŒwß}wïM p™d# !;m¨Ž$d+´Hu¬×º&jLÀl›*´H5.ìj|i3fÌpýúõó426ƒ“eŒ®£Ð¥I`Ò¤InæÌ™~à ™ŠªC@B¶„ìªS[•Sˆ˜€mS Ùª" " " " "Pý ÔX!û°eFj°Çê_¿u…" " " Õ€ Ø6Í$dß?¦½¿z öX +.ID@D@D@D Æ¨±B¶bd׸º® ¨&LÀ¶i&!û±üKÈ®&¯Ë¨Ñj¬-ì]ïuñ" " " U˜€ Ø6Í$dË#» ²²." " " "  ²#;Q%´(" " " ‹ŽÀäÉ“:uʘ °m*!;#*mjC@B¶„ìjS™u!" " " UŸÀÃ?ì&NœèŽ;î8W»víÔ 2Û¦²S1i¥ˆ€ˆ€ˆ€ˆ€T+5VÈ>¼í(W«V-ÿ·ÄKøY¶ùÅç ÜL+‹5Ê=ÚuéÒÅ5nܸ²d«ÂóñóÏ?»¡C‡ºV­Z¹=zøóM™2Å}öÙg~~›m¶©ð<è" " " O _¿~îÙgŸõ'ZýõÝ–[n™zR°mš²çÌ™ãø»ot;¼bd§bÔJ¨R$dâue²ïºë.7nÜ8wðÁ»Ž;V©ŠVJfß~ûm÷ñÇ{¯½öòI3ÆÝsÏ=~þüóÏw‹-¶X)§Ð±" " " ‹˜ÀŒ3Ü­·Þê¦OŸîs‚3ÁQGå;²“Y3Û¦²“„´," " " " Õ€„ì*"dûí·îÅ_ô5PB¶s²«_c¤+¨Ù^zé%÷Í7ߔЮ];wØa‡-Ðam¶M%d—Á¦¨–j¬}D»ÑeB‹„ÞØ„YÔ¡EæÎëþúë/ïýý÷ß»¾}ûÆðC©qÙ}ô‘÷ÈÞ{ï½=^Xÿøã?ß¼yó˜fD@D@D@ªáÇ»|Ðñü“´í·ßÞ­µÖZeV›€mSž B1ÛB‹Ü;ª­?N¡EÊàÓ‚ˆ€ˆ€ˆ€ˆ€TI²ç{dW6!»wïÞ>.tZ­’FEëD@D@D@ª"Dç;ï¼Ó?>5ûuêÔq'žx¢kذa¼Ýl›JÈŽÑhFD@D@D@D@ª- Ù%Ù'Ntƒ ò/®²Ê*nÚ´inðàÁnäȑޛº}ûön¥•VrÍš5óèÏ?ÿôÛ‡ æˆɀݻwwì—´W^yÅì®;v¬÷T*VÈÆ³›¸“]»vu5òBùˆ#|˜¼š;tèàV^yåøó]ò‰‡a<êÖ­ëZ·níÖXc ·ä’K†Ù*3—4 8†s‘&ñ¼¨1[kb“³„ÍRK-åºuëæÚ¶m눑ôȆ%Baë®»nœ+^zW_}õx}8ù¸¶ xþ¶mað±si*" " "0À‡~èÞyç¬8xβq2ØÑl›JÈΊ¯Êld Ï!C†¸õÖ[Ï1اY¦õ¶½2LýõW×§OŸ•^½zU†,UÙ<üôÓOîé§Ÿöï¼wœqÆn™e–©²×£Œg'@gæ 7Üàwâ=·E‹Ù¨¡[?øà÷å—_ºVXÁí¼óÎ5”Búe?ðÀ`Ûm·õZGú^ ®U»½ ­ª@ F Ù„1Ol›².ßÐ" pO>ù¤[n¹åÜ6Ûlãzè!‡À‚ñ1ÇãE]¼¬»“¶ÑF¹-¶Ø"¹zåK/½ÔÍš5ËñÏ9 µ[n¹ÅM˜0Áz衎¼óC˜´M7ÝÔm²É&îÕW_u_|ñEr³>úhפI“¶!,ßræÌ™ lëܹ³Ûwß}=Ûp#Ÿ¿ÿþûþ/ísâ5×\Ó!J3Ø#/±ZÁûî»ïöI]xá…±HneÒ´iSwÊ)§„§Šç¹.: x æZÌ*šGSy&Mšän»í6$“8À¿À³Ÿ Ø6M²Y§Ð"¹¨V®í<»á¼À ŸùÄ{ð {ì±Çz¯ål¥W^B6ÞÑ|¾K¼ÉN:ùxà<”ÿðÃþ¡j<–¹z|’ñÌÆcŠóPP¶ü~öÙgîµ×^óÇãµ½üòË{Ïm¼Ó¹Nø°n¿ýö+#f¿ð ñÀN]ºtq+®¸¢Éñ>GÇ{np Ï[‘BvEð1NšŠ€ˆ€ˆ€üK€çž1ò1ž³6Ûl3¿« Ø6•ÁÊ¿O&Á:Óú…}E÷ÝwŸïxY{íµý4<¿‘Fñót`|ýõ×þ+QæqžYvÙeShŠ?‹Ž¬L$dçW5YÈÎÖöBOBv~u¨:ï•«ŽTçk¯‰×&!»„l*â/žBµk׎ëQÿþýÝSO=å— ÝqÜqÇ•ÙÎ`Ž×^{­÷²æó „ãlV^B6Â9‚2¢±^·Þz«÷ØfÝN;íäÈØv¦ó|Ò„—yøÉ$^æ7Ýt“«÷Ùg?(cxÜäÉ“Ý]wÝåÅè]vÙ%ù˜ŽçÆœ¿Ðð>â‰'|øÖ/,!»¼ù„פyÒ ˜€mS Ù¥3­ )d¬ù¢çfœGø[T–íE1î·ß~óYk׮ݢÊb•?/¡(ïB=+«ü…×à _áKȾͥu"B¯X![ív~u¯*ì•í÷¹*ä_y,Œ@²l?Æ{[H›Z¡šÐ"Ø 'œà=±Cü„±Ï~ªñTN7žHo¼qÎð"ÿûßÿ¼èMhbB‹ðãǃ!‚0‚sÒ §¼ „BµíÇç:ÄŸÂç±øâ‹ûyÂà‘)]v"]Ò'ø‘Gé#Þaß¾}} ñ“O>9õLbn3Í<Á-ßxd#Žc<èÚç›V&xmzê©~{ò¡E^~ùe; -RQ|’çײˆ€ˆ€ˆ@iLÀ¶i&!ûž‘óâêÞ¶KëÒN¨£ LBöB9y'Ñ‹rJÜ…° <ÿã$ÆI/1Y^‰ HÈίp$d—¿yíUè÷¹*”Rù屯 Ù‡·åãc‡v8Hk±²3á&´‘Ô¯_ß~úé ìÆËâ3vØa‡¥êH°ŸþÙ'Û>—] ¡ù+.¿ür/d|ðÁÞ<Ó~™ÖãýŒ½ýöÛ;bO'íÝwßõáC7rà&7û0&ÿ÷¿ÿ…lQ£Fy/î=z,p+¦L™âH™G`Æ«ûÎ;ït °ëÚ}ôQï•Mèè‰Á$ï¹ç’sçŸ~,d[™ dÿç?ÿñÛ“ÿÕ߉oh¢:ûTŸäùµ," " "P°mŠM§w(h³|ßèyž±5YȆq§‰=ŒÇ° 8Îàß[mµÕŽo½õ–ßA³yö"DŽ<¯ò|Åq, ·…ÁÌ÷ÜsOŸ¡úÅG¼wÂìaûï¿¿Ÿ&ÿÁ‡çPxðìLÈ †‡'ë‚aïO‡sà<‚#Ïô8¶p,^Š…X)ež‡ò¥~V…0мð…)ìÍáÅö4h¿vØm¸á†þKÎ7ÞxÃ×KÂ0R·0žÇñ¾ß}÷ÝýûïY»îº«%ã§|Í GÎËÀœ‹º…SMšãP¶sóÞÃ{Z’5|¹6â®òõ)õŽq„ˆ£,ØNx$®:‡7yZýdÿBêû'óSLÙóu+uÖ81p&ï?Ô%Xe2øRÏó_Ê®”mÚ8I™Ò ×OŸ>ݧɻåѰaCŸ若Öi‘)Fv!u­ÔvÈò](¥xçÝrË-}»úí·ß:þh?©ß„ÙĹ÷àLF;Ë1p¢^uŒ¾ú&?m_6!›{†ö‡ú +îÂÒ1”ë«ïLy)ô>#ò`æ'Ÿ¶—ýClÚ}¾"ç„uÍÄ>[»]žLË£NÚ†äÓîëBÓN¶OåÝ^’¯|ïù|ëˆ]k¾é²! -}M+dÑnt!;±MÀ¶i¦¢à†Ð!ü0áQœ4„K.¹Ä¯Æó—‡€¤ñcÍb.?4Ùì²Ë.‹{äG­P³Ð!< ®¶Új Nèâ`óðI葤ñb€øŒ!ÛêW\‘:Àcòx[F<æ!Ю'S~lr?ýôSÿ2eƒ="dÛ`\pA!;[™&¾6Ø#ƒ ™UK_Sò!À3¢µMCÛDm„ìš>Ø#/ÏÇ|Æ8äˆ|ù <!¤ðlË IC;묳!ãBã‹Pz¤ËW|œ›ܤñzõÕW;Bï…–IÈδžc CwÝu×¥ŠèÆs"dh…r9âˆ#Üwß}&ÏŸsÎ9n=öðb!Î&ìkAÛçÊ+¯ôÀÛ:›ò5$ÏÖI§^ÐIŸŽƒsÏ=×RžÆ“ÕÓœj,ýä´”2¶´^ýuÿ,Ÿèžíˆ’×\s/Çöç+V®‘ïì³Ïö'¬Øzë­çŸõmßpŠˆ;3„'Ê¡5Í`Ë0M¶s#òN²>í´Óü€“œ+4±‡zÈ‹•Ôí‰'†›ýüá‡îë}¸¡ÐúƱa~Š){ÞÛ¸Gy_M3¾ÆIбB#$$_»Òa“4î{ÂbR^…_õžqÆ~ ¦äq-Z´ðõ‚{ K² ­k¥¶Cä£&¦âø…ˆÚ§O’*ctx\ýõñÀŶ‘ß2ÞmqÔB@N;ˆÿ½{÷öš}õÍ~tàtÒI^øNÇ2]´óaÔ´ýÂuÅÜg_ ƒðü6ŸOÛž—{…Ž:¾ÀNZ{Ú ´v»¼™–Z'‹iCòi÷`TLÚaûTÞí%y*äžÏ·Žš.ûçË}e —@²ªMÀ¶)ëLÀ¶i¦"áÁ€ÊÍvÒøAºøâ‹ýj+I²y9@Èæa"—]^1²ŽÓ<§-6ž!iB60šÍ$B6/‰xóƒË£‰ÛIá2b4B¼ÇÃ7^™ /¼Åñ0!»"{,O>™®IëE@D@D@œ÷fÔ`SðÆdü–!C†x¼0ñmÖ¬™÷2º÷Þ{½—1žÕ„{33‘a„:DnÄG<Ú~ùåÿ‚i¢.b÷Ad‡z!›çjDBà¹lÏx#<Ïœ9Ó{ "Z…‚c&Á:Óú[n¹Å æd§<}¹ž¯¾úÊ‹x!Ô!,á ŽÃåùçŸw<“ÒÆ«ORŒgxžQ3 "ìëÛo¿Y_ŒEƒ76eóÌ3Ïxow¶!ðš§7Ë&°/žôpå½sçÎþXÂöáÝ!‚áEŸ•RƤO¹!T#Ö#°­»îºÞóoPÄ;¼o;=?±P@üÆI…:‚G4eGÀŠ™Ç»™Xãx¯R1m/ÇØyi›qxË—}Z»]LK©“Ŷ!ù´{ŦmíSy·—”e¡÷|¾u¤ÐtÉK> ÙO¶ð HÈÎ1Ø#?€™,W>¥÷˜´´O"yˆ¹ãŽ;ü!aŒìo¼Ñ^ÇŸ=åkxÏðÃç?Ù>‰|ñÅýÃ)/ å#›O4i|yÈM‹‘]Þ|òå¡ýD@D@D ¦Àë‹/¢ð¢Îeˆ!„pÀ®ryd³½&{d#ºòÞÑ$Éжž|ýfÞÑ&r²±ïÌÐQö<ßòuÏi&FÛË:Ç"Þ 4›€Ì:Œçg¼Õ’Þ«™ë´õxœòÌÆ‹x2΃XŠ€‡g%!Tð>Åìº å±Ùbp¦ "ƒ·b/â,ùÅÃ:ä‰h‚ƒ"Ÿ{§‰¤Ãó9%ˆ¿f”"×HÚçwžmÊ:-¥Œm9Bbö¦‰ÁÚq6¡sa÷%Ìãxo \“Áˆt›#Ñ•Žê,Âë9B:ï\0åßžóó9wÈšÎÎ_·n]’õÆ=‚·'Fg ïp&”³Žð#Ûm·ïp `„[ßÂüZöÔuÂ_âŠ`š Ä×Ü›llì%®_:¼îÃëÇi Ob®±ñ(ùÕO0ñf°ãÞ#™†Fx¾& Ì°PÈ.¶®•ÚËÁÄT®ƒ6’wÜÐp`£s#Ì%Â>F‡B3ÚAXoýÆè!.ð®7/ùPȶk¥M¡Î$C¿P^¼s#ŠÓVçcÅÞg¤],ƒ\ùÊÖö–rÞ´v»"˜ZšäµÐ߯bÛ|Ú½bÓÛ§òl/‹½çáš­Ž›n> 9·lᨱBv¾ƒ=æ²y˜Â#›O*’ÆÿÞ)iÙ?ü°²ùä1—M˜Ö‰ãf>ñ<ÿWküøñþa:“÷3Kæù&m½ÇáK]Ÿò%?‰´ãy™¤Gó®–¾¦" " "  àÙƒÎôl†jÙì—¯]“{äE1 ±/í9Õ<ûàɳϘ‰œˆÔˆ-¾IC$F¤A¼c{ž _ÖÓKïažãHoC;Gš`Í1ië SÁK&Ï׈j¡8lçá™ïþûï÷‚;×hbO1\H3Û‹rš Â1„à#ì äÇ®•mfшîpå3iÞ°P,@XLsü@LFü#œ\>VJÛùB1-yN®—ëF…f‚óÛl³÷@e>i™„l¼ŒŹ÷©iãùc”9"3u‹zœÏ¹CÖx±â‰šuˆ°Ž±‚(¯¤Q牙,Ãbê[˜ŸBÊžw=8ñîEˆ•døòŒhLq(bÊ>t*ÒqÅq¡˜^#Ç!ÐÓ9gBVd3Þ×à„vj$1áõṋ­k¥´C¥p0—÷HË)¼VêOÔaރ͌÷j¾®@ä§#+­-£þ_›ò ï=<¿ sƒ…í¸—vž41Þ£í Ûžœ–rŸ‘V± ’ùH.gk{K9oZ»]ÞLÉ_)u²Øßò|Û½RÛ§òl/‹½çaœ­Ž›n> 9·lá]¢G¶„l†‡–i?¼ ò¢ÊC¼ÅçAÏ~¬ñÌIz q;à­Î2–ÍÀ96 %?êx"„Æ 1Âx“’Ѽˆ€ˆ€,¼ÔÓQÎ tšá±ÉÎtR›IÈ6ÅM¢ðŽ4½P1‘ÑOáLF\aÂbBg,|Y'Ÿ§qžt0DGÂ`i‚u¦õ„u@„HóÆö‰ñ/’Ëö¢œ&ˆpŒåá•ëËd8fP!O3¶ð\%ìaÒìE›çd¼ió±RÊÞx>ãuœ&’r~¼å©?žû :gùd](V²Z&!›/*_¦uŽ7ænu+Ÿsk¾LÀƒ8i´9&ÜRÒu¤Ãˆ¼…Bv2p9[}³üZöƉºB‘Ы:cˆª™<²‰m‡G6ñ³ñ¶íóÉLÙ¤e/%xm„ƒÛà¥aÙi1ôø¤±™øZ™<²ñÀxضÞbzÙé•§±ÃÛšû¬‰mľ|ðÁ}2?´ÄÄàCžøÔƒýy€ _xˆÃÈçPö©è»›~ sû¡&~ ƒÁ‰ÌwÜ1þ쯣‘#Gús#dóù¡YEñ±ô5H'0lØ0ÿÂsCÒ¥’ž¨™„l¼ÕØfÛïÑÆ'wÛ.e;¶“ç¨Îˈ&Ä#îׯŸqÍÀk¬ -MÈÆÉàC w+3Ï1„ày hÌ^Ö¬ì3ø2 <ž‚ç8‹7]ˆm‚g6OÏàt ÌÊ…²½(§ "ó8žÖa¸ Ö' MÂ=à•ù /øÍ&ð|xk/ÚÅÙÅ”1"Ž!ùï|QaùÄáQ>“Y¹ò\Ž—¹™…H _ d2Úâ ÊÅÂ;äsncòÏA›bBvx¿„ûd² ­o–ŸBË!ïÃBBIp Æ7¼žlóù|@Ç å˜‰©¥O;`]l]+¥*…ƒ‰©tZGŽ]£MÓ„lê+áC.Š<³ywÍd´·Ô½PÈf_Äwê:ïùf„ðÁ3œ:Ëèù˜]1÷éË WÞ²µ½¥œ7S»]žLÉ_)uÒØÚ†äÓî›¶µO™îíbÛËbïy®#[)6ÝBKM+d½ì¸X¨N Ù¡¸MÈæ…À„ì´‘ÂjÍ“!›=i ‚øÌÍ•KÈæÊ„lFI3<$ðÇøQ4o–éù厑Õ3 Ùô–#d§}®‡‡‚5ÆK‡ Ù,#,óÃJo0ëñ¼@œF4æá£g¯”LDZ#Wóǹžñ¾â F<‡B¶…9Á3À„lÒÀóÃéŒ@ôçO/¼7P†—ÒµO79®"ù¾LD@D@D 3¾ÒbÀ¶ÐˆíÊçúáï<ÛM¨fjóˆØI!û®áóìš(d#èá)0„S Å`ʳ˜X(Ì™·nràA¿cð0 P† Ž˜½¬gòÒ ÷ñ„y.Eü³±Yò²¹9‰ÿj"X˜~¦ùb¹^¶å4A„çvòÉ9‰;‹•ÉÒxæ H‹ç~Ò.FÈ.´Œ¹¼HyÇÁÓ7Û{’]'!Fð27A€AñäÏd™„lœiàÏûu:›«:¬[ùœ;ëb…™bë[®üpýieo *ˆû:_㽊AIyO cg:žôí+ØLûX™Þ4“ÁÁ•zeBv)u­”v¨&âf¤yßg0EóÈÛâg‡NhI^„+Á‘+)d³ïà|Iðá‡úð68w™QžtZe åiûZ™sŸ‘F1 ìÜÙ¦ÙÚÞRΛÖn[>Ê‹)é•R'‹mCòi÷ŠM;WûTL{YÊ=ãLu¤”tóaȹe Ÿ€„ìl Ù… ÙT]k>E4hèĪ3?ž<Ä#¬×®]ÛVÇSûÁó„xÙ6b9Qx“—Z>mÊWȦá$” ž@Ìc”) ˆøÄ>ÃC@Bv\šEN€oÂÑùŒñ,&Œmü¾'Ek Ùù×LôàÙ‹Ž{<ýl@GöÊô¢iB6c²œp ÿ&˜˜CÄâ8Ÿ³—uDsžÃÒÂͱ‚Õºë®ë§|Igc¬ä+d“ÆÖ[oíŸéLŽñMòµb¹~¦e¶eDàN¨ BëYøöOx/‡d.±€4ÒÄÌdÚÉåRʘ„ò#´ e¯™ KpÏ$dó®€# ïˆu™ ÏVœVh¬“#Ÿsçbé~ ó‘æ‘]l}Ë•ΛVöŸœ¯¿þz˜½¬ó8á€Å×µÄÌ-³2ù)Û8a¨!²9±u­”v¨ÅЏÖF†%›ØláœÒ„ìÿgï>À¤¨Ò6 ¨AQ]Ì0ç&ÌŠâšXÚuÅÅ€(‚quÅœ³"Š9»*ŠYÁ€"¢0Áüõ÷Ô_ÝÓÕÓ¡j¦‡yÎuawWW¼«ºwç­Ó߉ž/]«*Ï©j:—ꦖý+‡è2þ¹?g¥|δŽR üöãó}÷–³Ý¸ïíìý(ÇTë*çš,õ;¤ï½R×]Ó÷S©ß—¥~æeœï)u½…jÛ´Úh°Aöß:Ïp=²õGR´¤ˆ/'¢àÓ?¯ýÓRÿ·¨Ÿ¾èn³~Ƥÿó"çššþ§ÊŒèÿ€ªÇP®Ð»¦uDßרBk­Oµ²Ë]_tÝs5sܯS5öMM!ž‚ÙB¶]“u©ÁL©×[Mû£ãËuîý@uº™¤Fú›*WÓ­êD¤_»ª~¬¯S­›O @ãnBiÏZ¯lóµèç\{çÎsήžÄº!¥ý>(õZ+ç{¨‡RC\ÿýìç‚òë~çª,—þæÖ¯¡sýú[ «Ì‰þÖò§žzj®U‡ÓÊùœi%~‹é•n<Ï“|ß½ål7×÷vÒ¦Ú¿r®ÉR¿C ùÞ+uÝ5}?•ú}Yêg^Æù®‘R×[ˆ¡¶M«}d±Ò7Ùµ½±E@@ ¯€þÑmõ` S ²ÇLmç¶ÕЂl…ø*ç Nq=gò 6Ìùä ²õ†ÎE®AíféWsZ¿J¼©”ƒZôõè …îÍÈìBZ2úÅÙ Ù¯ºê*7€œ»Ö­[G¶ðçSv¯¿þúî'ùå¸hùþPΈh•Ì9çœs\i—o¼Ñ•ðÓôhóᣦE{¨×hþ\a¦¦çk>ÈÖ<ÅžcÅ£r‡êݯcË5è¢/Ï-#Rh dëçá{î¹§+g¨ò *ëùcS9 •pÔµUȶk².%˜)çz«itì¹Î½ê—k\ýâU¿Ð÷hv‹^oúU…n6h_Bª,¤×U9Èì¦ÀT¿~ÐM°èç>{>ÿZëTP¦”ªƒ¯õÙM7¤Ož<Ù½ ²K½ÖÊù*Ç¡Ô×÷‚ÖµªÀ_Ÿ›ì„1dûÏZ¾šå:Ÿ*»©ÁYãnúùí•ó9Ó:J5ðÛ{Ì÷Ý[Îvs}o'mªý+õšÔç£Ôÿ-¯é{/Íï§R¾/åTêg^Ëæ»FJ]oM†Ú.­n²é‘]7W[E@r¨™‚l•¬ˆkÙq2ÿ?]½ð¾úê+W?Zᨯg¬ðYÔ©®²zé©ù0KÏ}¨çúU–UÐå›z«©äˆùV¯XO>ˆŽþ±®ù^qÆá ýQ®ñVTBC-;d/&ÈVI;ý\X׋BKÕœÕe¾ùpH¯Øk5µR]´¬;tèàÊ©èç÷¾å DôžŽY5À?þøc׋UuÅ5›o ˜Ô{QÇ!g ßJ 3ýòqåœczñjPöµÖZËÕI×/ÕôÞo¼á~ :æêiªR­Ð@ .ÈÖ:40½êz«)0S/;³K׃γRµ„uC­m×d]j0SêõVÓþè¸üõ˜]®E7LôyÐçRã8EËU¨7õ‰'žhï¼óŽ«7®›Xþ»ÁoS¦²•±o ±õ] r%ÃH%8¢×¿Ÿ/ûQãi@V5Á¤PÕ_èûGåL&Nœ. ²K½ÖÊý*Õ¡ÔW×––ýüóÏݯˆ5¨côÿtãAçÑ; ²ýM ™ê³Ñ¯_¿Œ1%ô½¤_{hÙèÀº!xŽ'¥~δªR rìFÆ$­çúî-g»¹¾·Ó0-çš,õ;¤ï½R×í?#IöXêg^×@¾k¤Ôõæ3TéÛáÇ»ëT7ìüÿÖ¹ ü'ud¹òL÷?Ú¾„H´¼ˆ¦ùéþØS?l@@  š‚l½¯WNù3Ølh=²…¨@Ô‡¢úÙ¹ÆQýqºQ°Å[¸ZÇ XÕ°ÿþ®÷¤9UÚ套^r+¨TX¬ EåJ†kpnõŠÕz}ó¬7mÚÔÖ[o=× P¡˜WYõºôaŒ•ˆäYL­mªV²‚r—‚í£JL:Õí«æÑê~ðu½.ÕE˪ô‡B!5mOÇ©€I=s"nÆà?~ø¡|òÉ®gªŽW%dÝOÝ1bDFo̚­ßÿñžfúmçz,çk}:V·R×ßJóZ®¦k¤”õæ3Œ–DŠûõ‹ö‹–Ž@ƒ²} ìhˆí§d§sÁ±V@@ \ý‘¤ðJþ¹^û~ZC² =Ú…]><–»z-«nö¾ûîëzk@<7êe« Ňœ •œ(ŒÔ€¾5oÞÜÕ¾Vƒ\U×›¾ÏÕÔ#W=ÚuãJûï›Âk}¦ÖXc ?©àÇûî»Ï•zù4øE‡öMM¿øÐ÷¾TC-;ÈÖ´b¯µr¿‡´MµbJ SÿÜš¹Œú.S §1júîÒ@ýzeܸqî×,ÙA¶®M•ÑÑu=×Z^߃}ûöußëÑÏ£Þ«©û9ÓúÊ5È·Oqß½ål7î{;iÓr®ÉR¿C ùÞ+uÝ5}?•ú}éϱŸy¿\¾kDó»Þ|†Ù^½n ²ƒ^Ùusñ±U@@ ý‘¤Kþ¹±ýt=6ä Û»*Ü6mšëU©Þ—êem >š¨G°B“hÈ©Rjêy«u(QOÁh/ê躢¬«ç šj®ª×·TШ <¦?ÈUßWŽëçç ˆóµb]ò­«Ø÷ÔëRžªž}3 Øu•29ç8×ö¦OŸnú§Þ ê½ï{açš7ÉiêÍ«zíºnuýêoºJmuy½©GµœÔƒ]7’|9–š¬´Ïú‡|õ™RI‘r›nèø2;¾$M1ë,äZKú{( ‡|Ǭ _7dÕ¥K—j7¸â–Õw zoëûZëÐ÷µnVèü•ÓêÓ笜ã̵lR¦I\“i~‡¤¹î\®ÅL+ä3_Ìúü¼i­×¯ŸÇtl}T—oÝÿÙñ=¯}˜í_GÓ=¬@@ ^g?ú0ÛOýÉŸafC,-RŒgtÞ\!gôý|Ïsý±žo~Þ«rÎqÝì1[E p¾‡ ·bÎÚàš¬g¶Òpl=¨ëwÙ ç:çH@@`!ðAuöcv}ÅÇmÜQd~òË 9ùc½p纜³œs\—ûͶ(D€ï¡B”˜§6¸&kS›m5‚ì¬Ò"ўؾ^vC¸8F@@ ¾dØþ5Avùg°œ“?ÖË÷¯5”sŽkcÿØåð=TŽ˦!À5™†*ëlÈ 6È>z•YÕzdûÛØþ±!_ ; € Pi>¸ö °s=¿ü£¥Ý®Ó#»ð3XNÈÉë…;×åœåœãºÜo¶@!|¢Ä<µ)À5Y›Úl«!dGzdd7„KžcD@ú.àCkÿHÜ5k–˜±eË–ĘAÁ¾ûî;7¸˜þ£U¦@9ç¸2ˆ½Bàÿøú žU†×deœöbáh°Aö1«~ŸÑ#;bûžØþqá9Ý  € Pÿ|€í³KŠøé—}ØÚ,=²ëÿ9ç@@h°Aö‰=~²ªª*S€bûÛ?r™ € €TŽ€ªý£²}ÏlMoÔ¨‘]4¹¹Ûi‚ìÊ9wì  € €¥ 4Ø ûôõçÛ¼yó²K½rX@¨#`ûÇ\Aöâ‹/nç¾¶¨ÛC‚ì::Ql@@\=辯­*å‘oìÇߨ9Û.c?ÌœæÊ‹d‡Ø¾¤ˆ ²+åRe?@@sÿß­¦ [eE–\¦ƒ1a¦µh²ˆ]°c;è@@@ ž 4¸ {ôKßÛä¿Úþkµ´µÚÌw#«×dëë" € €@Ý ¨7¶ZMAv›6mlÒw‹Ú-“æZe›ÚQ½þô±îöœ-#€ € €@¹ .È~ù‹yvýës¬ý’‹Ùé[¶µÙßÏrµ²³ÃìhiL˜í%xD@jWÀ‡ØÚj¾ [µ±—j½´ûä·6ý‡?ì u[YÏŽ‹×îβ5@@'}çˆ@IDATH\ ÁÙ,¨²¡¿µošo»w_Ò¶éÚÜæÌ™c¿üòKFì\A¶ô ³¿Y! € W bkƸ »Y³fÖªU+{üãŸìžw~°¶Íµ3·jk‹-Â/ëòó& € €õ@ ÁÙ:'ï~ó«]ñâ÷AýëFvlïÖ¶JÛ&.ÈV˜­šØÙ5²ëÁyd@@#dëµBlýûèÛßìÒàÿç-:/ þÞêíš6@@…Y AÙ:¡ãÞýÁ&|ô“5^´‘íÚ­…m¹ró ·µÙï¿ÿîRÏkõÊV°MC@¨×óçÏÿ?[ãÆƒçfONùÉî{ïGû}~•m»Jsë·ú’•³Óì  € €”%Ð`ƒlý±sçÛsí©©?;ÀZ.fkµof+.ÕØ:ÿZ5#À.ëÊba@@ e9¿,°ÏgÿnŸÿ&Mÿžœû‡Ûâ+-a{­ÑÒuRHyX= € €Ô’@ƒ ²½ï[_ÿjwMžëjfûi<"€ €Ô?ÕÄÞ³GK[s9ʉԿ³Ç#€ € _ ÁÙâÑïÏü-ìÑ£ž=êáCC@¨\ý‚N¿¤ó¿¨[m™& ìX¹§‹=C@@ ,‚ì²øX@@@@@ m‚ì´…Y? € € € € €@YÙeñ±0 € € € € €@ÚÙi ³~@@@@@²²Ëâca@@@@@´²Ófý € € € € €e d—ÅÇ € € € € €i d§-Ìú@@@@@Ê È.‹…@@@@@Ò ÈN[˜õ#€ € € € €”%@] #€ € € € €¤-@¶0ëG@@@@(K€ »,>F@@@@H[€ ;maÖ € € € € P–AvY|,Œ € € € € ¶AvÚ¬@@@@@ ,‚ì²øX@@@@@ m‚ì´…Y? € € € € €@YÙeñ±0 € €õC`Ú´ivûí·gììÁlK/½tÆ´º|1räH«ªªr»°òÊ+[¿~ýêrw Úö¸qãlÊ”)ÍëgêÛ·¯­¶Újöâ‹/Ú /¼à'ÛhíÚµ _Wò“ú¸ï3f̰›nº)dmÙ²¥~øááëšÎe£F¬C‡Ö¥K[e•ULËÓ@@ ö²kÏš-!€ € Pg—^z©Ýpà Ûÿûßÿnp@Æ´º|±á†Ú‚ Ü.lºé¦6jÔ¨ºÜ‚¶-Ãçž{® yýLçwžm·ÝvvÍ5ר˜1cüd»ñÆ­[·náëºzòóÏ?ÛwÜn^¡{¯^½Â×zR©ûž±“Y/Þ}÷]0`@8µ}ûööÀ„¯‹9—Mš4±ºõ-²È"á:x‚ €é d§gËš@@¨ùóç[Ÿ>}ì»ï¾ËØŸ®]»Úm·Ý–1­._dWFýÍ7߸ëÅ_ {íµ—zê©þ¥{lèA¶ÇØxãí’K.ñ/yD@²SÄeÕ € €T‚€z «·i®¦R êq[ mìØ±ai‘N:Ù6ÛlS »•w²{ñ¶nÝÚ_|ñ¼Ëœ|òɦç•d¿ùæ›öú믇ǹ뮻Z›6mÂוø¤ØÙë®»®é:TÓ/~øá›4i’Íš5+ãð† fÛn»mÆ4^ € €@òÙÉ›²F@@*Jà”SN±‰'æÜ§}öÙǬÒJȲ‡ b;ï¼sA+«ÏAvAXa3dç:— ´Ï?ÿ|»çž{£ëÑ£‡]wÝuákž € €@:Ù鸲V@@*B`Μ9¶Ã;Øï¿ÿîöGµŽ?ýôSûúë¯Ý륖ZÊ}ôQ[l±Årîïo¿ýfÏ>û¬=ÿüó6sæL×+U½Ž—_~yÛ~ûímÍ5×Ll¹[n¹%\× +¬`›o¾yøÚ?Ñàˆê ¬PRû¡QeS4HäÃ?ìgs=ž;vìè^¿òÊ+öñÇ»çÍš5³ÝwßÝ•Y™0a‚©gñܹs­sçζöÚk»ÚÕáJ xRA¶jVëFÄG}䎣qãÆ¦²0«®ºªmµÕV±çN»ÿí·ßÚ#V­âÃ?<#\Ìdë8u¼¾ýú믮6¶j«µk×.c{~¾\ÙAv®y¢ÓÔû¸S§NnR\¬7ÇŒãÂb¿¬Jpl»í¶þ¥{¼é¦›\˜í'ž~úéî…‚hÍï[ïÞ½m¯½öò/Ý£za+4VkÒ¤IxSB¯³{kY•‰¶¸}ϲµn]êµì[voñ3Î8ÃvÛm7÷v¹çÚo#×c±A¶®ƒ%—\Ò­J¿4P-u_´éó )¾´ËO<á^ûyÐsÌ1þ% € P†Avx,Š € €@¥ ¨g­Âe_n£U«V6~üøp`ÀO>ùÄöÙgŸp÷5p`t°ÅìžÕšQ½~7ÝtS×Zƒ<ªÆqv+u9­'.ÈVð¬Þåj }½k7áÿ¹ï¾ûìì³Ï'å ²ÕÛZ½®£MAøo¼á&©Ç¶jSûÐ>:_öó´‚l•úЛj 5 g´ü†¦«W³Âmk5õœ®©ÆµêûÞÜ~°Â4ƒl¹ºim¯¾úªyä‘á$=?ôÐCÝërÏu¸ÒOŠ ²s¬"c’®í·êÈÓ@@ }‚ìôÙ € €µ.ðä“OºÔ~Ûo¾yFx¨é K£9*ÈV í[tD?Í?*T]mµÕ\OÚ]vÙ% Èõ~©ËÅÙ ÏçÍ›ç6­ÞÅ—]v™ßðñõ×_·†¯óÙ÷Þ{¯©6s´©tÆSO=Nzå•WªÇᛑ'ÙA¶z®¯·Þz‘92Ÿjÿ5°¢Z\¯f½·óÎ;›à1_©ÙûÔꥮuú6kÖ,W2æí·ß¶©S§ºù¼£ŸGiÙ*q¢RÑ–]òFa°¶Ë=×Ñíd?O*ÈÖµ¿ÒJ+¹Ï×ú믟½^#€ €@JÙ)Á²Z@@êR@¥3žy晢v!»ä†zìjwÜq‡ë­üÛo¿å\Ÿ‚Ö+®¸Â¢š¡Ôåâ‚ì­¶ÚÊ•uк_uÕUzšÑÔ›Z½ª}Ëd«gºêlG›j€Oœ81œTj­ÚÝ ¡ iù‚lÕÂVÉ5=¿ä’Kr®rß}÷µ?þؽí­~×]w¹<³Ï™BX•ÁPOýiÓ¦¹åÒ ²sõ×þj¿}‹Ùåžk¿Î\ÅÙªQ½)!;ÕùVˆ­šå4@¨]‚ìÚõfk € €¤. :¾ê ;þü¢¶¥ªE­ý²›BUõìUÏg…Ûï¿ÿ~Æ,êÑ 'ý›Å,dkÐI•,QÓ>j`J•ÿˆ6…í ¯}«ïAvô˜Õó]õ°s5•ùþûïÝ[›m¶™ ¯'Ožl‡rH8dûöííàƒvåTÔ½qãÆvôÑG»ò)Z°’‚ìèq—r®sùiÅÙÅÜ”ðÛà@Ò ÈNÏ–5#€ € P'7ÞxcFÞÖ­[‡å,²wH!èÏ?ÿN9r¤)}íµ×²#ª…­’ѦÀ[óù¶ãŽ;ºÕ¥.§õÄÙ zè!¿)7åN;í¾Öþ+ýâ‹/Âiõ=ÈŽz¨Ð^ÞÙ½Èu3á€Yaõ Aƒò–,ñ30ÀìªÕdçêU×›<{°Ç\Ëæë‘]î¹öÇ—ë±¶‚l_{\ûPHõ\ûÊ4@¨.@]Ý„) € €ÔkÕiž2eJx Ùµ¯Ã7‚'·Þz«]tÑEá¤-·ÜÒ.¼ðB3fLXoyñÅwƒ 6oÞ<œOõ—·Ûn»ðµ/QêrZQ\تG±¶§²ª#­àþ£> ÷EOê{­2'*wâ›nüë_ÿ ëv«§ûñÇo*¢¦ÀtìØ±Ö£GwCAƒ_ú¦"Û¶më_Ú—_~iýúõ {l×d«É 7Ü.¯'iÙåžëŒÌzQAöwÞiÇ·¼õÖ[g¼ßà  €-@]4 € € P¹ÙaÝÊ+¯ìj\ÇíñÌ™3­oß¾a¨©²" >?ûì3ûåºwïîS\qÅí›o¾±«¯¾Ú^}õUÿ¶«‘ݳgO›4iRIËiEqA¶ÞTúØcu%JÒ ²µ?åœk-ײ?*¹òÀ„³gÜYJi‚ì“' €$.@8)+D@@ îÎ?ÿ|Ó@¾uÔQ®^²ëqàÀ®öµÏ×»=z´]{íµ~rìcvùˆR—Ëd/X°ÀFåzgïÈ[lá‚Úƒ:(|«¾÷ÈÖè†Âl_<<¸¬'믿¾ëUï{Ìk9•Zñµ³³fw/—Zj)7à£ïÉ'Ÿ´%—\Ò¿t%Jng·K/½Ô6Úh£Ôzdk{åœëìý¾&ÈŽjð@ú'@]ÿÎ{Œ € €@Nõ Ý~ûíí‡~ß¿ÿþûmùå—_çz’Ý‹4:¸ z¬ê}…€Ù­S§N¶Ç{Øþûïöæõó”²\¾ Û¯÷óÏ?·wÞyÇ…»íÚµs¥4TNCƒPqÄ~6ó«&œwÞyvÏ=÷„ï?¾Z½i•ñP9ßT²C=•kjåôâëÕݦìTYõ²Î¦uü‡~¸í¶ÛnÕüe¤ÙçMçL=·§Nj#FŒ7uÉ%—ØÆo¾ž3gŽ 6ÌõWß¼kܾ—[#ÛoG¥œëèòÙÏ ²³Ex €@ý È®_狽E@@ Nf̘áT˜ªž»Ë,³Œ©œGM­Ôå¢ëUŒ¯¿þ:œÔ­[7SÝîh»ì²Ëìúë¯')|_i¥•Â× ÃÕ%×@‰ªÞ¥KÓ œ55…ÁÓ¦MseEbGke×´¬ÞW>wî\S˜-sm3Í 9×…œæA@ a d7ÌóÎQ#€ € Po²>Üe—]ìÌ3Ï ÷_!«z…«®·šêx+È.¤Gu¸žT„çº"N; €@E 4Ø {öìÙööÛo»QΫªª >9-Z´0 tÓ¹sç‚—aF@@(]à—_~±>}ú¸žÁ~-½{÷¶µ×^Û H¨úÎS¦LñoÙСCÝüážÔÎu½9Uì( €µ.Ð ƒì|Ð4øËÏ?ÿ\x“&MLëÐÈÝú‰ãk¯½fÛl³û¹^I+d!@@È+  ”1@aöÍš5³N8Á4ø$­þ p®ëï¹cÏ@HS ÁÙ¯¾úªiävÕuS/Ž^½zõ“CõPl þá‡Ú‘GieÍ5×´Ë/¿Ü–Xb‰4ÏëF@@ Á ¨Fô½÷Þk¬QuŸURdÑE5 zسgOëß¿ÿBW»¡žlÎuC=ó7 €ñ .È8p ÑüŸÿü§íºë®ñ25¼ ±ý¬e}ôèÑþ% € € ¢À¼yóª ú˜âæXu p®ëŸM#€ P! .ÈÞl³Í\ìÇ{ÌT"¤”–+ÄÖzš6mjO<ñDê%FÔûäöÛoÏØõƒ>Ø•:ɘX‡/FŽi¾öøÊ+¯lýúõ«Ã½)lÓ3f̰›nº©°™ÿ7WëÖ­íCq¯êã1kÇ_|ñE{á…þwDfx ëÕN¨Ð'ãÆË¨…¹Ã;¸_Khw 9—ªw¯k³K—.®æ=ƒAUè‰f·@@@@@ ÁÙ* Ò±cGSVJ‹ ±UªäôÓO·ÝvÛ­”յ̥—^j7ÜpCÆ2ÿûßí€ȘV—/Ô;}Á‚n6ÝtS5jT]îNAÛ~÷ÝwmÀ€ÍëgZqÅíî»ïv/+õ˜Rëºõmß}÷͸ÙrÍ5ר˜1cüÛvã7Z·nÝÂוúD×üsÏ=îÞ!Clçwv¯‹=—«¯¾ºuÖY.ØWÈ@@@@Š È.âTä ±O;í´Zéu<þ|7ûwß}—±ç]»vµÛn»-cZ]¾¨ÔP7ŸI±á§ÖU‚ìsÎ9ÇÕ’ôÇ>aÂSOrß²ÿ”Ð/4®¸â [gu<  € € € €"@œˆ‡zÈn¾ùf78Lß¾}sžšJ±µcꪞ¨¹šÊb¬¶Új¹ÞªõicÇŽ K‹têÔɶÙf›Z߇b7˜dkà e—]6ïj:tèÖE¯Ô𾦠ûÍ7ßtuãýªv|›6müËŠ},¦G¶aÝn»íÂcÑÀP_}õ•½ýöÛá/ô¦nÝrË-E ®”' € € € €© 4ø ûž{î±aƹÐUåAl»ï¾{x¥„ØÚ©SN9Å&Nœ˜±þÅ>ûìc'Ÿ|²Éc‘ÙAvûöíí(x-õ5È.ø+lÆb‚ì¸sùÑGÙßþö7›;wnxt—]v™õîÝ;|Í@@@@ºhÐAöôéÓM½O}-gŽì0;_ˆ+ôNó”Ι3Ç4 Ýï¿ÿî6Ó«W/ûôÓOí믿v¯—Zj){ôÑGm±Å‹ÝÏ?ÿÜÍóñǛʓhÞ¶mÛÚZk­åÖݲe˜˻œzµú¶Â +Øæ›oî_†3gδ'Ÿ|Ò&Ožlz®Þä ?óÌ3¦A-Õt\}úôqÏùåÓÍß6Ø`[e•UÜ`…¯¼òŠ)ŒÖñh?õ®W€Yh« ûçŸv7" ê4nÜØõ^uÕUm«­¶Ê{ît¾úê«öÔSO¹sþý÷ßÛâ‹/îÊ„¨ö»2Õ±ûöàƒº€V›ÊØ·#Ž8ÂÔCY½®·ß~{÷Þ[o½åßv×ÁÒK/mIZ«N÷믿îÎÊšôèÑÃS úðÇÛV=uÕ°/¤%dk;_|qÆ ŸÇ¼ûuF!ûÀ< € € € €µ#Рƒl…Š»ì²‹Íž=;CÛ‡Ù ÛŽ<òHS€mþýìžÛÑyÒx®Ø#FŒW=tèPS ªÁù|»ð mË-·ô/3/¿ür»îºë2¦E_4mÚÔÎ?ÿ|S˜m¥,WSïd…š§žzª)Œ6Ùþãÿ°_|Ѷz¯K—.vûí·»Ù¾+|õMëøöÛoí?ÿùŸ>*”Woûž={†Óò=I;È~饗ìÜsÏ5Ý@ÉÕTÖâÌ3Ï4 <˜Ýê{챦 qMá´Êˆ(ÐVÛc=ì³Ï>‹›Ýºwïn×_½ÅÕÈNÂú·ß~³óÎ;Ϫg7ï 'œ`GuTøÖ\àýpBž'IÙwÜq‡i»¾xàvÜqÇù—<"€ € € €T€@ƒ²åŸ¯Çµ‚ÁŸ~ú)ã4EClÜêQ«ùj£õïßß>øà·©fÍš™zÚ*¨Tðæ›BÌ‘#Gú—á£z1+PôMµŸÕZ¡ªzû^éê¡­pó/ù‹›µÔåòÙ20`€ýñÇ~wª=¶jÕ*¼/È^~ùå]­ãj+øßÕ°Ö1,²È"q³„ÓÓ ²u®4 hMMûùïÿÛÖ^{ípV…ýûí·Ÿ ìýDõ¼Và=cÆŒðšÐ{ªëýÄOX‹-²K±ÖM‰ÇÜïvµGõ¶ÞHª‹ ;»†¸öyÏ=÷¬¶¯L@@@@¨;d‹>.ÌÎ>-Ñû›o¾±Ã?܅ȵzi÷ßÿp—4p¦ûõëg_|ñ…{OAô#<âÊM„3OÔóUå:ÔÚµkg÷Þ{¯5iÒĽVY‰C9Ä=×2«÷¯Z©Ëå ²UºáÙgŸuë×Ô³ý¯ý«©õÿû_SOóh/ø|A¶–ïÖ­›ëÕ«& £‡n?üðƒÞríÊ+¯4• ©©eÙ²T×6Ùd“Œ7ãŽYû¢ÞѳfÍr«ÒM…¥o¼±+£ Wå-üÍ•EÑࣺI¢¦s¥°Õ7«h/fÕtÖÍß|¬4*Ý¡^ö÷߿ەòP€¬Ð\ÇXhl­ ë÷Þ{/ã&‹J™ 2ÄÖYgWEûœÝSÛï{¸³yž”Û#[½ÅUÖDŸ#o¯Íi¿Ô[† € € € P9Ùÿ;5…ÙÑ[‹ør\Qƒ,¦Ý.ºè"»õÖ[ÃÍŒ5*,¢ 6ZZCás4ôÖB*¡òÕW_¹åUWY¥:ÔÃÖ·ûî»ÏÕÌÖkÝ;í´“{«ÔåâB]•ÈØm·Ýüf]=ìÑ£G‡¯õDµ®£Am¾ [a¼ÂPÕtöíÚk¯µè:Ï8㌌múù²³ƒìì÷³_«Ä‰J…øwÌcÆŒqa±ŸOåN¶Ýv[ÿÒ=ÞtÓM.ÌöO?ýtÓ 5…Ú øÕtªüˆz¬û¦›º9àÛ1ÇctéBp…á¾M˜0!ãFG¡Av±ÖÚÏhýkm'ÚÓ\!»n½ùæ›~×\‰Õ /¤d+°_qÅÃÕþú믮‡»ê€G›Êêè³EC@@@¨,‚ìÈùˆ ³³Cl-¢ Xõ¨k#ÈV  òèK0(Ä?~|80à'Ÿ|’¦kàÀè`‹ÚßhÏj½V(©5Hàk¬áÌU~£ÔåâBݧŸ~ÚN<ñDí‚kêi¬cËn¨Qe3ÔòÙêi­ ?Ú4 ¢j›û¦ç‡z¨û˜V­zËÏ?ÿ¼Û®w È™m­^Û ·}¹õR¯©‰BXí³j˜GkL+È.ÖZ7Sô™RëÔ©SÆ nbðÝ@9ûì³ýËÔ‚ìpyžèÆŽ®%õì§!€ € € €T–AvÖùȳs…ØZ¤6ƒì'Ÿ|Òæ~W@GƒZMWXêƒ_½V­@Û7…Ýêý:wî\?)ãQ¥&ÔU=y;wî¾WêrqA¶¦¼ä’KÂõ;Öéá„ÿ=9âˆ#ìµ×^s¯òÙ}úôq¥H¢ËëF{¤+ÄÎöŠÎïŸgÙ­[·v%@üûÙË-·\F ЏcÞyçÃUVãꫯÎ^•{íý®žËêÁì›z/kL ùþûï›z¶Ïœ9Ó•ñóøÇ´‚ìb­u=Í›7ÏíVïÞ½M%P²›ý8p`89­Ò"árN9åÛ{ï½³ßNôuv¯èBV® WËEÛ·ß~ënÕdöeF¢ïë¹z 1Â4h¤o¥,êÞvÛmný~ÝØpÝu×õ/ÃGÏêY­–/ÈÎÕsYƒWî»ï¾áºJ ²Û·oo<ð@¸žšžÄ³ja«”…šžGƒüè:µÏÚwµhfÕ ×õèúŒ.£°]u«_xá…prZAv±Ö*âoœ¬·ÞzvÕUW…û蟼ñÆî‹V­5ú¬F›ÄÔµ¥Oi € € € €•-Ðà‚lõz>}ºÝ}÷Ý.,Œ;=?ÿü³pPaf®¦Þ› £µªsÍWî´ï¾ûÎõ?~Q«R Õ'Vmà\íË/¿4õ†U=jÕXþñÇÃÙTºDa·z£g·B—‹ u5àd4`?餓2BgmOǺãŽ;†ƒ#Ö÷ »ÿþa½Új«™êaçj*-òý÷ß»·t#aäÈ‘îy´4‰&è–O×®]]­ëìÁ:+%ÈŽ·®G Bºè¢‹ºcòÿñµæýë´‚ìboJøýá@@@@ 2\}Þyç¹Z½ 5Xœz¾Ó~ûí7È©¶³ÊÜÿý¦ÞžiµìRê»ÄKäÜœBPð¾)ÕqªW¬ÂjßT;Ú Uï}ôѮ޲Ÿgܸqn@ÁR–ëØ±£ÄqÁ‚nuÑôTCƒªT†ÚÊ+¯l7Üpƒ5kÖ̽Öt“A"úV߃ìè ‡ ruƒ¡M›6þðܣʅpÀá´ƒ>Ø äjfëêºS‹Zú™Ÿ{î9w-û×5Ùª¯Ý~¡ƒ=Û#{È!öÐCùݲ³Î:+DTu­*ìþâ‹/Ây²C ž € € € €D\­ÐV¡Jk¨Ç±xËx/âSí©Âbõ^Ö² êvÚi§jó$9AeK¦L™®2»öuøFðÄ—;ñÓ¶ÜrK7 ¥T™†vØa¦ÔÑvþùçÛ]wÝå&5nÜØžzê)6—²\Ó¦Mcƒlm »TŠêAë8ÕkW½ÜÕcÙ‡àš¿¾Ù'NÌ(k¡ÞÔÿú׿ÂëNeGŽ?þx×;^Ç«kKµÃ{ôèaß|ó둯éj¹Âd­+Z¥¦ ûâ‹/¶M6ÙäÏÿM+ÈÎçu]©Ì‹ÊŒèWºIóÑG…û¡'Ù¼@@@@øŸ@ƒ ²uÜ ³/¿ür7p^\­è¸+D½¡UB'n°Áq³%2={ðAõ^V)†¸¦Áÿúöí†À*+ò裺㪱¬2"jê¬öÔÓ·I“&.<Ö@|>è^sÍ5íÚk¯uó–º\\i­ô½÷Þ3…é¾n´ÛPä?Ú'õ<÷ƒWÖ÷ [‡¦ :Ú»}õÕW·^½z9óçŸÞ¦N ìµ×^vê©§†¯uCâ‡~p¯uý©n»Î‘Â` š}MèÜFPTrýóM7nT–Dÿ†šZ­í <Ø&L˜à7]íQ½÷é‘]…  € € € €Y 2ÈÎ2¨Ø—Ñ^ÒÚI…ʇrHÞýU€©Ú×¾ùÔªm­ð]=|óµ–-[ºÐS!§Z©Ëå ²µ^ \xâ‰'Ú×_­—aSP«Á&ΪW¸ÚÂdË]av®ÝAþï?*û¢AD›7oN=ztxc!œy¢Ò6³gϧì·ß~ÎÖOxóÍ7ݹ÷å\üôîÝ»Ûõ×_Ÿj­žõª#¯_ d·-¶ØÂTBå ƒ ߢGvHÁ@@@@ˆAv£’žªwôöÛoöÄÕ¾©·J¡äkwÞy§ ><œ%:¸ zŸ_wÝu®—v´–¶fV/h‹*ý à8ÚJY®¦ [ëŸ7ož½óÎ;®6·‚XõRV™‘¶mÛºÅ>W‰ í·š¿”‹o¹Jm|üñÇH꘎<òH¿Hìcvøb¬é˜5ˆ¥ê«<ŒÔÑïL»ví\ؼÛn»UdSa°~A p_eb|SÏê=÷ÜÓÝàÐú¥šµhS]nõ²ÿôÓOÃɵdû}þùçî\+È×±êœêŸÎq´ÌÍ¥—^jm´‘_,ï£jÜ«>¸o*õ³óÎ;»—åžK¿N@@@@*C€ »2ÎC­î…Jz¨œƒJ‘(\UpÜ¡CkÑ¢EÞý(u¹èJʪ‡°oêM¬’)ÑöÓO?ÙÖ[oí:Ôôm·Ý6cðÇè¼õõù¬Y³L»êFëÆzÂ×ÔT›]%H‚¯°Â ¦²ºQLÓ •)QnÙ»|1ÛÒ hûnݺ¹R£ëPIõ ÷M7bVZi%ÿ’G@@@@œA6B­ ì³Ï>öÉ'Ÿ¸íj`È›o¾Ù:wîî‡zž«v³oçœsŽí°Ãþ%õD {Kõ?óÌ3ýבý÷ßß>ûì37mÅW4ÙÅ ¾®Œ' € € € € µAöB}z+óàÆŽkW\qE¸s*5±É&›X§N\/e•ÁPÏm5M»ë®»7C­úóDePúôé–<Ñž÷îÝÛ•Qé T9eÊ”ð€tóBóÓ@@@@È ÈÎáuê ©‡ fãÆË»­õÖ[ÏÎ>ûlWS9Y±ª‰=hРŒÁ(³w¶Y³fv '˜êÓ@@@@È%@K…iµ"ðòË/ÛÝwßm“&M2ÕŒ®ªª²%–XÂ4@¥êbï±ÇôÄ®•3‘îFtnï½÷^?~¼M›6ÍTRdÑEu7(zöìiýû÷§.vº§€µ#€ € € €õ^€ »ÞŸÂ…ãTjBµ‘[l±…ã€8ŠXyóæUô1vfÞ@@@@@  Èæ2@@@@@¨h‚ìŠ>=ì € € € € €A6× € € € € €@E dWôéaç@@@@@²¹@@XÈ,X`Ï>û¬½óÎ;öÞ{ï¹UUUÖ©S'[i¥•lÏ=÷´ÕW_=§Âu×]gß}÷í°ÃÖ½{÷œóTÂÄ3fØM7ÝävåÄO¬„]Zh÷¡>ZðÁv÷ÝwÛ—_~iMš4±“O>ÙÚ·oo#GŽtçéÀ´víÚUì9«Oæ×\sÍ™3ÇÖ\sMÛvÛm3L/¾øb›?~Æ´è‹%–XÂ}/uíÚÕþò—¿Dßây… TÊ5:nÜ8›2eŠõîÝÛ6Úh£P-nz8O@ ^d׋ÓÄN"€ € PšÀ·ß~k§vš½þúëyW°ñÆÛ!Cl饗Θo¯½ö²©S§ÚYge;í´SÆ{•ôâÝwßµ¸]zõÕW­Q£F‰ìÞ 7Ü`ºЧOŸŠ:9ØW’–u›/z¶—_~ÙŽ>úhÓÍ߯ŽënÌl¸á†nÒ7Þhݺuóo×Éc¾k­>™ï²Ë.öÕW_Y¿~ýìôÓOϰT°øÛo¿eL‹{±ÕV[ÙI'TñŸ»|ç-îØêëô|ÇZ)×èßÿþw{î¹çìð÷¿ýío!uÜôpž €@½ È®§‰D@@ xÿþ÷¿6xð`›5k–-¾øâ¶ãŽ;Úk¬a=zôpAïgŸ}fꥦ?úÕä]uÕU¦^‘¾5ô »W¯^öÇØþó[k­µg_ýµ½ùæ›öÍ7߸÷ôKý*d‘Eɘ·’^ä;o•´ŸIìK¾c­”k4.°Ž›ž„ ë@Ú È®=k¶„ € €@­ üøã¶ë®»ºŸø·mÛÖFÛãtüøñöÏþÓõûìc+¬°‚5kÖÌvß}÷è¦Ýs t¦ÚÜï¿ÿ¾M›6Í•®Ð`u={ö´6mÚT›¿ ڮʾ¨Æ³ çÍ›g-[¶tµ5ˆ^Üà„~ø¡=úè£n?t ¨î¹wSY\­˜eTªFëWÛÿý«­NÛ|ë­·lÒ¤In`ÑŽ;šÎ÷&›lâj'kàQ];Ñzè!÷ëm¶ÙÆ×o¼aú7yòd[j©¥ ºÎ¢;òý÷ßÛ#<â&馎öIç­sçÎîæŽBÒB‚ìRÏ«Î׃>hº†Õ\L.»ì²¶é¦›šÂ@_*£Ðk-Î< 7í£Êyèœé—*ù¡šù:o?ü°ûÌn½õÖnÿ£ÆqÏ“²µn Èùä“OºhU›¹ÐVìçFǯϙnÞißs5}>^{í5÷YÞ~ûíÝ÷Q1ßú^Õ÷ƒ¾§4ð¨Î¿JݨtÊzë­—k“–}nµ¼Î“¾õK§-·Ü2üÓ8ÚGmCßúþQOöh©¨è† u*÷õÛüý÷ßÝw™7Ðgbùå—7][qƒ kÙB?K~;quöô§Ÿ~Ú þª_,m·Ýv~ñj/½ô’ÈÖ€‘?þ¸½òÊ+Ù‹¹€Y¥KVYe•jï©lÉyçg?ýôSµ÷4ðÛˆ#\È—ý¦z‘9ÒõÌÌ~Oaì™gž™*ä ²øá;öØcíí·ß6…—_~¹uíÚ5{µákãQG¾Ž>Q(üØcE'¹Àiøðᦰ<»)PRÙNÅ4¨ÚÕ1ÏÕN)dW@웂)•…Q`Ÿ«)8’·Ü}+e™|ÖÓ§OwÖ 4»)¤Ö¿üã¶Î:ëØÕW_Î⯳ÿûßîFÉM7ݾçŸèFFÜuæçñ s…ìz_²BB{¾Ò"š§”óª_B¨Öüüùóýîd<*¸;÷Üsm±ÅsŸ§B®µ8órÝô+ }¢ajgu}iú°aÃì£>²+¯¼Ò6Ø`ƒŒãˆ{‘TíƒÇ5×\Óýº$n{Ñé¥|nô % P5î³£ï£ .¸ Õ‹ùŽÐM}_)ÍÕôÝ ï}WD›?·º–´wÝuWôm÷\õß;ì0»ð Mû˜Ýô}¥LuÍG[1N…kÜ5ªí* ?õÔSíwÞ‰îFø|³Í6s×ZÓ¦MÃizRÌgÉ/诛š{¼óÎ;Ýç[¿BÒÿNeûûõùëY7VtC“†u+@]·þl@@ÄTBA=Õ£Rƒ9–Ó|˜¢G½¶wÞyg×£T½šlëŸ\…\ »¢í¶ÛnsÁ©z>«7¬z¢ª'µz~*¨Ôr½{÷¶‹.º(#ÌV€¦ÞÔÔƒU=yu,êm¨í©¥…žÝ»wwóÅ…(ê>hÐ × Rë¸âŠ+\`åŠùÏ—_~énèm) ‚#·|ð“þj‹½ «‚ðϽô„® ©Œy‚ð´*è…èÞ×±`Æûq/‚’nùÉ1»ù÷u¬Ñc zfºå‚^×Ù‹TAjÕŽ;îèÞz—²L.km0(IãÖØU²ÏnA{÷¾ö[Û¶R¯³è:âžûëìùçŸÏ˜EçKû¢A¾WÎy=òÈ#Ýú‚Þòáú¢OüûÁ¯¢“Ýó|×Zœy©núü7ŸÜ¾Þ|óÍÕö%ø%@UPn!ô n.T›'nBpÂ-§ÏDv n\¹÷‚^ÆÙo…¯uÍŸxâ‰á¶Ÿxâ‰ð½|Oüç¢ØÏMð ·-íw\ g7ÏXm–|ç-èÑï–Ûb‹-ª‚’"Õ– ÊïTÅ™øsÕUAI§Œeõçß×õ{÷Ýwg¼¯AI·í ¬Íx¯T'­$ß±Æ]£ºÖµAI¨ªà&dƾèÅØ±cÝûš'¸y¾ï?+Å~–Ž;î8·¾1cÆ„ëÒ“\Óÿõ¯¹yƒÞÛóúÁMV÷~ôkü{<"€@Ýè'D4@@Xˆ|x«?ÒËm>,9ôÐCs®*øÙ|UÐÔý±”îç ~êî¦?ǧe? z̺y>øàð­óÏ?ßM jXW †ýLAâ*…Nûî»o8Ovˆ¢@<èùçÖ5pàÀ*ॴ|ÁMPvÁ­_Ÿ‚â\M>ÁÏæÝ| – i Ö‚’U Qr5â }ô/¨ÉÎrÈ!‡¸iº‘‘«5a«‚RUÑP²”e²­µ-×þDÐk>׿«‚žUA¯K·qAv±×YÎ eM,6È.ç¼*,Ó¹ËZj·‚ž±±ç(ßµ–Ë\ë+õóéÖ½÷Þ[«ÉÙt­øë,zÍäœ92± [ßQúnˆþÓuô”oiÛÇsLdÍùŸ–ú¹I+ÈÊw„ßAÏ÷Ø~✃_žd|Oùs÷ê¿+uƒ*W jj‡ç/z“­T'm£ØkT77ý2AÉ«\»Y¥~p€ûNÎSêg)W`­ çšüúÀéfþ7#Út³Àßü Æxˆ¾Ås¨C‚ì:ÄgÓ € €¤!ð׿þÕýqh³M¦d÷n‹®Ã÷~"NV8­ J¡³B”\ÿ‚Ÿ¬‡A‹B5õxÔr¹zc‡+Ïñ$ô©7©zÿi=Áà\UA™‚K6ɇ0¹zdû} ê6ç]™ï©|ôÑGç¯7Õ[دOÇ ²–išþ©7£z²?ßÏ»ÚR–‰ZûÞï ¯µ]õP†fÙ÷= ã‚ìb¯³ìõçz]lÆy J'¸^µÁ—Î)×g3ßµ–Ë\ÇZêçÓßì ÊOä"sÓt­ùë)é Û¯7îQA铲>»ÑË÷¹I+È5 ýântiƒ’Má| V}óçV7ür5}GÊ/î—7Á ázó}&£ëÎç¤ùнF½– «nªäç5}–rÖÚXÜô ô‹s ÊYeìÓÿû_7½OŸ>y¿Ó2â¤.@ìZ(ßÂ&@@¨MÕ“}øá‡Ýà‹ª\N /ÓÀ}Z§jÕæjA8çjÙªæ®j´ª?¥7Õ -´iÐ9Õ»VÔ¹sçÚ!C\äB—ÖgUß U{>Ý@¬Á/ ¢»>nR¸Ï³j*'=Ø£¶¯Ú÷ÙM5¢Uû]×Q©õˆ‹ýÜ”R#;ºßqç-(»äÎñ2Ë,ÖF.矩³P÷àF7áÜ[þÜ7®,ø…ŠŸ=| ~ááê`纖4“®½ §³›?¸àëWP¬“–‹;V½—ëõã$´oß>ã{IóÚŠý,Z#ÛoßäÙ¥KW³ÜO×@¯ª³Üt³#Ž8ÂOæêX€ »ŽO›G@@ i ‚¨˜pâĉ¶Øb‹´‰  )pÓ`\ gÕj S4OÐ#Û4¨™²|)ÐV¦Á58YM-ø™¼½ àQ!ŸšB[4DÑ2 ®¤+¤Ð€u\RAE±-.¸Ñ1*U¥Ô–Æ5 ¸yî¹çºAØ‚òq³…ÓµÎË.»Ì þ¦AÐk I|+­´’s zw»ù£A¶_APׂºäÔ„vçÓO×c=ÜàšmÚ´‰N¶b–‰Zû [ƒhµnk¼y¢èÀÅÙq¡v6û:Ë8€£Á¬ì5P©‚þ\ácܵ¦CËe®é¥|>uMù@_7>‚ëZUµ¦ëPó¥då~Lÿ’l¥~nÒ ²}ÐܵkW÷YÎw¬A 7€ë 'œà„Ô¼5[¿þ\×’– ²KuÒ:‹½FýÀ½ðTßUÅ´R?KÅÙtRƒ>êF‚nüjpMýo—¦)ì×Àšº IC ¾Äh € € ° ¨¤„ÿÉ~®sªê.«N¨– zs‡³øŸ·½|ÃiÙO¶Þzk·\´´È®»îê¦?>{ö¼¯}é…\ƒ—å[0Zz!­Ý¬*)âëõªkг:ß*r¾—ï§ô¾|IÐ9ç²~bÐØYhÀÉBÚÕW_íæB#WÓ:: £–×qøó--’kÝZV¥‚…á2*=“¯Õ´LÔÚ—Q í“®…|Mj¾¸Ò"Å^gù¶åß+¶´H©çUn~€ÄTÀpø-dIDAT©MvI_"éÒ"źi@ b×Tߨ_gI—É7ØcÜþÔ4½ÔÏM!¥Eü€„Å ö ÎOµ¯ó5•Üðß½ªcï[Mß½ù®%­#®´H©NZg¾ïÃ\ß ~}.Šiå|–âJˆÄM×~ùrM*g£öÒK/¹s§z÷4¨,jdWÖù`o@@([@áY¿~ýÜâªÿYH zË…¡•,ßj S4_® ;èçÖ—/°Òà/¿ü²ûôút›ôƒ:ÔïBµGæªË­¸|ÝÕ\!ŠÔú}wÍ5×T[WMò7ªC­uŸzê©yW£0Dó <8ï|þÍÝwßÝͯ7:Þà× î8îÇ5tdëF†÷ JÅ­ºÊ×bÖ¼Ÿ~úi8_Mß½¥Ù¥:iÇò}æú^ðß¿ êU;®i@^}§¥‡Ü,å|–âë¸éÚà¤I“ܹÒ÷“¾§|-ÿèMݸ}g:Ô®Avíz³5@@jEÀ G‚²Õz†FwBƒ.5kÝòÙÁVMaŠÖ“+ȾÿþûÝúÔÃ:n ³à§ñn…î¾%QÜ´ ¤AÕ¬Y³üäŒGvG{Ëå QüBgŸ}¶[§z8ôÑG~rAù‚› dˆ[¯Bõ~ÌÕ|£ó”yÉ5KÆ4ú¾wf\oö»îºËmWëô=²uS@ǧio¿ývÆ:ý M×ûú§Á5KYFëÊe­Ø‚:¾nÝ r5õöÛ¯ä »Ôóê¯ç=öØ#×á»AygP×A¶©u}åNªí¯nr¥-ÂóUéAv©ŸøäÉ“Ãã ÊYT³ÐMÿýXL­Ï„?ßAÉjëõôYÐçb¿ýöËøž®é»·” »'ío¾ïÃ\ß l6/ÁßÅ_ì9ã1ú©P_­œÏR\`7ÝïÌÞ{ïíö3— J¿âÐ@Áúޤ!€@e dWÖù`o@@HD@%|@¢ä˜cŽ©š2eJ•/á7òøã‡A´Bç &¨Ë=Ö¦h¦\A¶zµù`@ÁóôéÓÃõê=õàíÝ»· |/<Í ÐÛ—Q°í®÷ýÏõuL* à[®Å¿§0Å÷îß¿Q%F‚úÊng7‡z¼k_úôéãzCGç jT‡Ç¢°…6_Eag´ŠÎŽ?¨?î¶©íúàGë>ôÐCÝt…m3gÎÌØœ¬þóŸî}…k¾•²Lœµ¿y¡ý j|W©ç¸šBQí·B0Vr]êyU{0 ¦ëáéõøÕW_U 4(g ÛõÙÐ.ícÐsׂ_G¸@7è­j]»v )ß“º ²ËùÜ(X3fŒźYÇ' ™C† q7ªŽ=öX÷:;ÈÎwÞ¼“BÜË/¿ÜtS@ÛRkܸ±ûÒçbÝu×õ³†5ÛRƒìrœòkÜ5ªÒ÷”¾Ïô9 z¹‡Ç¨›]A÷¹Â +„Óõ¤ÔÏR©A¶¶©›£A]lw­ëš§!€@å dWÞ9a@@HE (™à‚Ú ’Õ{xùå—w=SÙ`ÖJÕ3Wÿ–]vY[n¹å2zag;T袭AÉ×»Wáp%·à§ò®·ôŠ+®èBïröU¾z^¥Q\OEõî6BÁ ‚¦ßÑP_ó(„•µÜÔ£TæzÌ×JY&ßúôž‚R]k¾]rÉ%.Ì J4¸ðÊO¯ôÇbÏkPƒÜù/¹ä’îs¦ò¾és¨ž¨ê¹µñï×Õ£z+¼Uð®¦×›m¶™{®›4ê5[Z9Ÿ…Ìú¾Ñçê/ùKh‘ÔqëF¢Âl}^õ¹•w]µrœÊÙg}ŸÉ@½Ó;vìX£qm~–‚ZæöÌ3Ϙu“•†•'@]yç„=B@@ê€J( jÌZvïJLP§ÛõôU(|Úi§Ùî»ï^ïŽqaÙaýÒ!ÔÎõ–W \M=hÕk^7}ôÑ\³0 …F@%°‚kÝ Výr'ûÆáBs õ\€ »žŸ@v@@¨`0C{ùå—m‡v°¡C‡fôWÏú‹.ºÈÕ‡Vy–{ï½×–Xb‰JØí¹ªS bèÊ[\ýõ®}B¿Úˆu%Pô¨’64f}gÖº›mÑñæcæØ¨Ùõñ¬±Ï € € €@… ¨º~’¯ò ª?®úÊ*i¢R zoòäÉnO?ýt7`…í~ƒÚÝX8úè£í•W^qõÛ·Ûn;78¨j«6ñ„ \i Ö©žÙ¾ÜHƒBâ`zÝP›4i’DXË@ã¨ì *S€ »2Ï {… € €Ô;×^{Í.¾øbÓ “ÙMõØUR¤W¯^ÙoñºtÃAçêÁÌTT»¢AøTúE½±U˘†ÀÂ(pÍ5׸A>ulÍš5s²n¿ýö ã¡rL,4Ù Í©ä@@@@ʘ:uªéßìÙ³]¯lõpTô°2ö”½˜7ož½ýöÛ¦Aõt~t®*m JÎi¨^ÿ›o¾é~qн{wW>í°NHN€ ;9KÖ„ € € € € ‚Av ¨¬@@@@@ 9‚ìä,Y € € € € €@ Ù) ²J@@@@@䲓³dM € € € € €)d§€Ê*@@@@@’ ÈNÎ’5!€ € € € €¤ @*«D@@@@HN€ ;9KÖ„ € € € € ‚Av ¨¬@@@@@ 9‚ìä,Y € € € € €@ Ù) ²J@@@@@䲓³dM € € € € €)d§€Ê*@@@@@’ ÈNÎ’5!€ € € € €¤ @*«D@@@@HN€ ;9KÖ„ € € € € ‚Av ¨¬@@@@@ 9‚ìä,Y € € € € €@ Ù) ²J@@@@@䲓³dM € € € € €)d§€Ê*@@@@@’ ÈNÎ’5!€ € € € €¤ @*«D@@@@HN€ ;9KÖ„ € € € € ‚Av ¨¬@@@@@ 9‚ìä,Y € € € € €@ Ù) ²J@@@@@䲓³dM € € € € €)d§€Ê*@@@@@’ ÈNÎ’5!€ € € € €¤ @*«D@@@@HN€ ;9KÖ„ € € € € ‚Av ¨¬@@@@@ 9‚ìä,Y € € € € €@ Ù) ²J@@@@@䲓³dM € € € € €)d§€Ê*@@@@@’ ÈNÎ’5!€ € € € €¤ @*«D@@@@HN€ ;9KÖ„ € € € € ‚Av ¨¬@@@@@ 9‚ìä,Y € € € € €@ Ù) ²J@@@@@䲓³dM € € € € €)d§€Ê*@@@@@’ ÈNÎ’5!€ € € € €¤ @*«D@@@@HN€ ;9KÖ„ € € € € ‚Av ¨¬@@@@@ 9‚ìä,Y € € € € €@ Ù) ²J@@@@@ä}ùå—UÉ­Ž5!€ € € € € ¬Av²ž¬ @@@@@ aJ‹$ Êê@@@@@’ ÈNÖ“µ!€ € € € €$,@0(«C@@@@HV€ ;YOÖ† € € € € °Av ¬@@@@@ Y‚ìd=Y € € € € €@ÂÙ ƒ²:@@@@@d²“õdm € € € € € d' Êê@@@@@’ ÈNÖ“µ!€ € € € €$,@0(«C@@@@HV€ ;YOÖ† € € € € °Av ¬@@@@@ Y‚ìd=Y € € € € €@ÂÙ ƒ²:@@@@@d²“õdm € € € € € d' Êê@@@@@’ ÈNÖ“µ!€ € € € €$,@0(«C@@@@HV€ ;YOÖ† € € € € °Av ¬@@@@@ Y‚ìd=Y € € € € €@ÂÙ ƒ²:@@@@@d²“õdm € € € € € d' Êê@@@@@’ ÈNÖ“µ!€ € € € €$,@0(«C@@@@HV€ ;YOÖ† € € € € °Av ¬@@@@@ Y‚ìd=Y € € € € €@ÂÙ ƒ²:@@@@HN`Μ96cÆ ›={¶ýòË/VUU•ÜÊYS¬@£F¬Y³f¶ÔRKÙ²Ë.k­ZµŠ·6Þ È® e¶ € € € €E |øá‡6}úô¢—cäÚ·oo«®ºjò+.pÙB1 € € € €ÔžÀ[o½eßÿ}ím-Õ(кuk[sÍ5kœ/²ÓPe € € € € P²=±K¦K}Áºê™Mú©e € € € € P¨Àܹsí7Þ(tvæ«uÖYÇZ¶lY«[&È®Un6† € € € €ùèO§2Þ«‹^ÙÙ•qîÙ @@@@^yå›7o,°øâ‹Û†nX«{H]«Ül @@@@ò <óÌ3VUU•oÞ«cFÙf›mV«{A]«Ül @@@@ò <ýôÓùÞæ½ Ø|óÍkuO²k•›!€ € € € €@>‚ì|:•óAvåœ ö@@@@jY€ »–ÁKÜAv‰p,† € € € €õ_€ »~œC‚ìúqžØK@@@@HA€ ;ÔVI*«D@@@@ú!@]?ÎAvý8Oì% € € € €¤ @j «$ÈN•U"€ € € € €@ý È®ç‰ »~œ'ö@@@@R ÈN5…Ud§€Ê*@@@@@ ~d×óD]?Î{‰ € € € €)d§€šÂ* ²S@e• € € € € P?²ëÇy"È®牽D@@@@²S@Ma•Ù) ²J@@@@¨µdðÁöþûï;˜ 7ÜÐÚ·oŸé?þ°‡zÈÍÓ³gO[n¹åòο0¿I½0Ÿ]Ž @@@@ò Ôf=~üx{ì±ÇÜþtèÐÁŽ;î8[d‘Eb÷ï·ß~³Áƒ»÷;ì0ëÖ­[ì¼i¿ñä“OZUU•­·ÞzÖªU«´7WmýÙÕH˜€ € € € € E ®‚lùöíÛ×¶Új«XêJ ²O9å›?¾sÌ1Ö¹sçØ}Në ‚ì´dY/ € € € €ÿ×Þý‡hUýyÿ<£Žåú;Tò~Xj} )Z-3ìDm»QáÖ~ݶÌ4IŠHû¹µ[A%$H¥}Ahµ4úñGÅ7Œ”tCûeeX‘ääRø£ÆKçÙ9wvÆ™œñÙ…½Ï}žo¯‹>÷Þsî=çÜ׿ÞÎ%PóEÙýû÷… ƨQ£zudfd¶pD€ @€ @€ÀïL ˆ û¸ãŽ‹ÆÆÆhjjŠqãÆÅ-·Ü¥RéyAöaAöa G @€ @€üΊ²G×^{m,Y²$[wzÆŒ1mÚ´#äÿ7AöÞ½{³HîØ±#š››ãä“OÎÂñ±cÇöX;]÷á‡f}¤LŽ?þˆþZZZbÓ¦MYù‰'žC‡?þ8;õÕW³±^pÁ‘‚øÄÔ©Sh#¯Av^²Ú%@€ @€ @ æŠ ²ïºë®xíµ×âwމƢE‹bĈ=¼*Ù›7oŽ5kÖDkkkûÒÉi§7Þxc¤åKÒ–>Ô¸|ùòøì³Ï²þÒ’&#GŽÌê:V®\[¶l‰áÇÇwÜß}÷],[¶¬³ºÇ~ðàÁñÐCõ(ËóD§®¶  @€ @€¨i"ƒì_ý5žxâ‰øá‡²àyÞ¼y=¬Žd¿ûî»ñòË/gK’œwÞy1qâÄl¹’o¾ù&Ò38p +›3gNW˜fl/^¼8ÒììSN9%æÏŸß5k;ÍÄ^µjUv~ë­·ftüñÇ»fh¿ýöÛÑÖÖ“'O΂î¾_tÑE=Æ›ç‰ ;O]m @€ @€ PÓE٠櫯¾Š¥K—f3¦Ór#çœsN—W_AöO?ý>úhV§Y×gžyf×=é ÐO>ùdìß¿?fΜ™…Ïlß¾=›eBé+®¸"R@œ®Ow ¿/¿üò^ê;ï¼3:·Ýv[rw¶W­½ »ZÒú!@€ @€ @ æŠ²HZdÆ 1hРHñ!C2§¾‚ì4;ÍÈž4iRÜpà ½š®_¿>Ö®]›…Î)|î¾½ñÆñæ›of3µ,X/¾øb|ûí·qúé§Çܹs{ý𤠻» c @€ @€TQ ‚ì´Æõã?{ö쉳Î:+®¿þúL ¯ û©§žŠ´„È5×\S¦LéU+µõðÃgu<ð@ 6¬ëº´^všžfƒ§%BÒLìTŸÖÍNazo› »7e @€ @€¨‚@-Ùé1ÓGŸ}öÙì‰ÓºÖgœqFôdßwß}½~à±/®4ëú„NèQÖÉNës§åGÒ–ÖË?~|kºŸ²»k8&@€ @€ @€@j%ÈNüüóÏÇ|ÍŽ^´hQôë×/î¹çžL㦛nÊ–þ8xð`V–Ö¸nllìúXãÑÈfÍš•}ø±û5ßÿ}¶ŽvúàdÚ¦M›3fÌè~IcAv' @€ @€¨ž@-Ùivôc=écŽçž{n\uÕUGÙIæ‘GÉ>И– IK‘ü_·†/Y²$vîÜ™ÍÔNëc§­3,ï­=Avo*Ê @€ @€ PZ ²ÓãnÙ²%V®\™=yZbdÅŠÙq÷yùòå±uëÖ¸ä’KâÒK/Íêû“fZ§u´Ó6nܸlvwvÒþóÊ+¯Äºuëbøðá‘f~§GnÚ´)œ§ýo7AöoEœ @€ @€ @ Jµd§Ç~î¹çâ“O>É–IkY§­{BçU«VeÁó½÷Þ›}°1»¨ÛÏ믿o½õVŒ5*î¾û/¾ø"žyæ™H|¼ùæ›c„ ÑÒÒ’}l2õ5qâĘ7o^”J¥®{Ò »‡ @€ @€TO ƒì}ûöeKŒ¤€¹sëd§õ±/^ië“N:)®»îº1bDviªûúë¯ãé§ŸŽ´„Èe—]_|qV×ÜÜœ}à1µ?uêÔ¸úê«;›Ï?ÿ< ¸SÁ•W^Ó§OïªK÷ßöaÈtOº·ÚÛ…^XÕ.KíI¹ª=êŒ @€ @€}Ôb†ºqãÆX½zuר»Ù©pÇŽÙÌí4‹º¡¡!ÆŒ“…Ùi9‘´ÖvÚÒìêt_ªO[Z¦äÓO?‘#GÆÂ… ˜Éý /Äûï¿ýû÷ ÄØ±c³ûÒÏÒ¥KcûöíÙyª6lX¤ÙàÕÚÙÕ’Ö @€ @€5'P«Av‚Z¶lY|ùå—™ÙoƒìT˜ëµkׯ¶mÛºÂëT>hРHÁošUÝØØ˜ŠbÆ ±fÍšlÉùóçÇ©§žš•wÿimmÍflïÞ½; Æo¿ýö0`@vIú0äK/½MMM‘®2dH<øàƒÝoÏõX+¯Æ  @€ @€¨ejÙy:¤ð9ýO3¥Ó2#³°ó쳚m ²«©­/ @€ @€jJà¯%È®)Ô#ÈÎU“ @€ @€Ô‡€ »>Þ“ »>Þ“Q @€ @€ ƒ€ ;Ôšd瀪I @€ @€êC@]ïI]ïÉ(  @€ @€ÈA@jM ²s@Õ$ @€ @€õ! È®÷$È®÷d” @€ @€ä ÈÎ5‡&Ù9 j’ @€ @€úd×Ç{d×Ç{2J @€ @€rd瀚C“‚ìP5I€ @€ @€@}²ëã= ²ëã=% @€ @€9²s@Í¡IAv¨š$@€ @€ @ >ÙõñžÙõñžŒ’ @€ @€Ù9 æÐ¤ ;TM @€ @€ P‚ìúxO‚ìúxOFI€ @€ @€@‚ìPshRª&  @€ @€¨uëÖE¹\®ÁþNGY*•búôéU}úRû…¿Šª’ëŒ @€ @€¾6nÜ---}U+¯c=6¦L™RÕ‘²«Ê­3 @€ @€Ž&°mÛ¶hjj:Ú%ê 8þøãc„ U… »ªÜ:#@€ @€ @àhûöí‹Í›7íu œ}öÙ1tèЪŽB]Un @€ @€ PIÀ¬ìJBÅÕ1;=­ »¸w®g @€ @€úøè£b÷îÝ}Ô*.B`Ĉ1iÒ¤"ºd¢®S @€ @€* ˜™]‘¨j5»óÍÈî”°'@€ @€ @ æöîÝ»víŠ={öDkkk”Ëåšã_ã€J¥RsÌ11|øð3fL 6¬ÐÇdʯs @€ @€¨$ È®$¤ž @€ @€ dʯs @€ @€¨$ È®$¤ž @€ @€ dʯs @€ @€¨$ È®$¤ž @€ @€ dʯs @€ @€¨$ È®$¤ž @€ @€ dʯs @€ @€¨$ È®$¤ž @€ @€ dʯs @€ @€¨$ È®$¤ž @€ @€ dʯs @€ @€¨$ È®$¤ž @€ @€ dʯs @€ @€¨$ È®$¤ž @€ @€ dʯs @€ @€¨$ È®$¤ž @€ @€ dʯs @€ @€¨$ È®$¤ž @€ @€ (:t¨ÜÐÐPè tN€ @€ @€ú(íÚõ_åÑ£GõU¯œ @€ @€*PúË_Þ)ÿñ: @€ @€ @€¾Jÿþð£åûî½»¯zå @€ @€ @ PÒ¥—ýCyųÏÄØ±Ç: @€ @€ @€Þ² {êÔóâßîÿ×Þê• @€ @€ @€BJ÷÷——ÛÊm1{Ö¬øç™*t0:'@€ @€ @€ÝþcÕê(ýã53Ë?ÿüS¤0{ÎìÙ1óOÿÔýÇ @€ @€ @ U«_ˆþs”®½~vyÿþæØßÜår9¦M;?æÍkÍìB^‹N  @€ @€ @`çΦxfùòxï½õQ*•¢ô/³f·/-RŽÖ––hþùçlfv ´/8ÿü˜<ùoã§ÿ! µH @€ @€ü¿ 8p Rx½õ³­±iÓÆ{ë7D”"J ñ7ƒ§ ûÆöܺÜ>»-<û÷ï­­ÙììŽòr6¨¶¶¶lŸ•E{Yú×~_:ÈvÝöOÑYÞóaºó(Û>O§í³©ÛëÓ¬êŽ-§‚¬¦«<›uÝ^Þµo(ÅÀÇÄ Aƒ¢ÿþQºî†9íyt[WpëhÿòË/ñkûÿtœÊ:CíÎ »#Änï: ÁÓ:Âéîáu÷ãŽAf—wÚ @€ @€ @€@ teÓ=ÆßXwÔu„ØÕ‡ìtžÖYÈ}8¼nhhÈBë1°q`ôëß/RYºö¿le #Áq#IEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/new-env-1.png0000664000175000017500000025375013656750211025353 0ustar zuulzuul00000000000000‰PNG  IHDRs‰¡î3sRGB®ÎéžiTXtXML:com.adobe.xmp 1907 649 ÷HW‰@IDATxìÝx”UÚÆñ2é %”ÐKDTEQQ,°Âª¨kY»+–µ­býVVE¬ˆ,ˆ5H'„H'òóN&™ô à.'yËiïo¼.žyΩ•gŠ( € € € € € € €5J vš “A@@@@@@pæòA@@@@@@@j ÁÜø¦0%@@@@@@@€`.Ÿ@@@@@@@  Ì­o SB@@@@@@æò@@@@@@@j ÁÜø¦0%@@@@@@@€`.Ÿ@@@@@@@  Ì­o SB@@@@@@æò@@@@@@@j ÁÜø¦0¥ªØ’’]õÒ# € € € € € €QÀåOßk¶ghgZNAÕðàuЉPíZ—*u¿%]ë©~x`¥ÚQýx髚µ4I÷ž×F}:Õߟ.hƒ € € € € € €À!ð+˜ûÖ[ôÛÆT5­âLpëîlåîËÓ§6ÕàUzÒ/-HÐE'5VïŽûXûaMŠlPøÊ^Í*=> Ž;³ôÞ’­Ê3<öãµÎƒÐ=zÞž@@@@@8œü æÚìÕ¾žnîײàY¿Œß¡ñó4ð¸†rU2E÷™K:ʰŸi½ù3H6™Â«MÆ0òZÔÑç´Ò³óÖk_^Ýò°¸‡ € € € € € P£üæŸu·Vuµ;Ó­M»²LLšôm¢†™lÛW¾IÔˆ1Š­ªÿ~¹A+¶¦«^X ßPŸÔDµL ÷X;û˜êÞº®öº÷9m¾þk§Bk«çh'ã׎—³OLï"“…›“›§SÚÔÕ-& üá/Ûô®Y67so®®üßr½<²³‚\lÿ[ü=âÜ#0 KC瀀.Ÿ@@@@@@ÃI`¿‚¹©YnÍ4K×6‹ VË¡úËlW˜%ÿ·p“†uk¢ŽÃuýj  ¢=8¸ÌR·°ZÁ&àj—e¶Ë4g˜@¬-ãM°6-;W“þ~¬ÒL¿ÿùh"C\Òµ‘žÿb½lî‹#ŽÑ>1~bîZ½òu¢þ~Z3e»óôkâÝÚ¯•äNºê˜+ÝêPgL@@@@@@ð;˜;÷÷dÙìY[RMðµc“pýãÌØ‚±S2rd—OnªÏÿÜ¡ˆà'èj3qãbÂ5ªg3½·tk‘=vmVîÜåÉzíÊceWj®êÒðSb4uÑf 86Z_ü¹S“ÿÞYë9ãŒÐFvd**Ì¥úá&“7@v] þØ€®ýbÁŒÅ[ –\îÜ,B"=Ÿ/ú8uöíÛ'·Ûí¼ÅxŒ € € € € € ph\.—ì«vmÿ’UýæžnöÌÕ³©óa&Pk—Nö-¡f‰dȵÅfÞÚŒ]Èõ{o‹¹î[¶îÙ«\“q{ã›ñ¾—͒ɵ”´'[yfÓæf¹fo‰1™ÀöEA`–'¦:Kt{ÛÚ/ÔÄ@nVV–wŠüF@@@@@8‚¼ }!!!~týæÚLÛfõÊ΂µ^o©g²f·§íõž:¿·¥îu²i}/FGxÂÓ¯=NaAžöÙ&[wWzŽB͹ي×ìË›S8N0Y¹lN“wÉ\ß¾8F <Ƚ罕Ê4û0Û2¢GS]Ù«YyMªåžýLA@@@@@8²lL((¨âÕcýËß­¤U϶QÚœY¸,³Ù ÷­·¨o§Ez²Üî­ëjÚ÷›M®œ¥o'˜=t?úm»êš%—;7Ðæž-™9¹zÙì—›ž¿×®]–9Ë\£ P‘@iÜ«j` ×>ÁÜŠÞMî#€ € € € € €‡¿€¿1¡ƒ̵ûÙ>tA;Müz£.åWxõ7µm¦á=bJÈÞÑ¿•þÚš®‹&,Óå/ÿ¦i9ξ¹¶âÝZk…½7~™FMZîì©;è¸FNq&л!9KýŸ["›ÍKA 4»äwñŒÜšÈ-mþ\C@@@@@8zj™}iíjÆ­¤d¸ —M¥Í/7™=r/éÞXgt¨ï½¤ “q`ê»JÆ—Ó²së…}4ärrróôÀœUúiÝnçKWŸÞ¼œÚÕ+##£ú'Á @@@@@@º@XXX…cø½gn…=•Q!*¬èŸþž¬ fïÛNM"Š´ðî™[äbþ‰Ý¯—‚ÀþØ/<2¤½›`nÏvQûÓm@@@@@@¨ƒž™[ü©Þ[š¤Ø!êÞªnñ[œ#pÔ ™{Ô@@@@@@£DÀŸÌÜCÌ=JìyLöK€`î~±Ñ@@@@@8ìü æ–Ü ö°{L&Œ € € € € € €ys¼÷”'B@@@@@@#@€`îð&ò € € € € € € pä ¸Ž¼Gâ‰@`Õ¼©z÷OéâkGª}xÕx$.œª™›:럗ž¤­æxÚŠ6º}t/ïg÷nw¶²sìùkÈö }îçTL³$½ýÐKjtÕÝêêG7n­ZøÞœù‰–®MRdã6ê5p¸†=EQ~´ÎÎÎV@p°*ú 8;q¡&L[«!·Tëý…®p>þ?{öŽš²8U ¨åÓkžRs]ºø¬fjèsÙïÃ<-[´I{ÚÆ¨wã¿[Õ”ŠîÜ\eï«­ð@_“ÊÏ.þÝgôyèPÝ|^›òïMÒg,ОüOÛí–+²‘ŽïÖ]íG–ß–» € € € € €‡™¹‡Ý[Æ„¨@À½J“›¤¹³'éÍ…‰TöÿöΟjöøeJ3MRWÌÔÜ©¿)Óÿæ%jþùúÅpöëJÉ¿S}–ÄÏ ©ñßê×ìêìW 7[ ÆÔÕ÷>¯¥ê¬¿]w¥ú¶M×ÛÏߥÁÃ'ik…c¦kÚÅgkä;ñÖtï\¡Ùsgj§»Âªû]¡2ÏîNËЇkÓôÓŽ½JÜ]øZ¿Ý}Ÿ·ÿ²[KÒöí÷3TgÃßü¥Ë^ݤÝ2‰½kõñÒjSq/¹{´dé¯Zºr³’““•’²M¿/ü\ÿ{~¬þïýeÊ­¸j € € € € €F%†FÂT@À $ÿð‘©¹zvMÔü?Õ­çŒö+[´"½À S£nlòeÜè5ÿïª0³´¼>Cƒ;ýyó`«¢ÏòÆ+ûÞ^-þx©"{]#3£ Köª9zpv¢:Œ|Z“FŸâ©?h¨õ§Kœª·~¢ÛN‰.§—"MeªIp­°8葎y…u÷«BåžÝ“‘ ;‡µS§*K¢ ÔU×S,Ûw¿¦Z…¸ „«–B`ôä_h‡Ž×im¼Êé,ß½×eÿÐymìJ[2õýÔqúà‡ú´K'sÝ~< ù‰ € € € € PÃæÖð7ˆé!P9t}ùúliÀX¹l›z^ó×]¡¡Î½éš5æýÕ®‡v¿?U‹l*aÝ®ºõ¡{4ô¤&ro] ;®yS­´Õì·ç:Ã6ï9Rÿ{t‰¥šWÍzHþuª^»çg¯Ó;?¦ñóW:m:ô½Q÷Ýs©³,pvâšðô£š½Ì“·hû{ìáÑÊš3F×M²õWêì3þÔ‹sŸPè<ß>5ë¹§õüÜeùó¸Lÿs­â¢\Ê^5KW>ø›.87Xã'yæÙaÀ¿ôÌ=ƒLÐ:Eó&<¡ÇÞ^ä´«Ûa€îèvÒ¼œ5ŠSþÐç;¤KN«`y[§G“Eúî樧îû{~ ×¹.5és¹nüz½6oße®DkÝ‚©zìÁIæ m©«7Þ¯Û‡Ôу_籟zÎ_}«Þ~b¨¶•V÷Ò¢ýÛ^Ò×-ÐÓ÷=¨ùù ×}GÕ]#{ÉYI;}¦>}Ÿ&97ëê²/Ð_Ÿ§êÖ‰·©uYÓWêÙí ò‹M¢-%˜»ú§µzuw˜ŽOß©·6ç™Jµtþ­tí±AzÿÝ•ZÔ ©žì“¿uNªÆšŒÖζ–¾[¯œmuqãL}m“šžÜ@iË·i^j¤Þ¸¦¡¾š—¨I {Á7ŠÔZ¨Sx-eoÙª?ÍйíjiÊò ç~«Øh=:¨±Bòïõm%½ŸéÜ;õ„Æ:Ó•ªÇ—xêÓ¾‘8»¡ã—ž´S/|²Eß;UtyŸX +wŒ-‹Vë®å6m:EOÈÔãWµSäºMzfAŠÖ;#ºtÑÍô÷c#œ³ÒdêÇW+æì›*õ¥ wn¶éÎÌ Õ©—]¦Å¾ª_—'š`n{enZ¦éSfhµó¥Hõºd”ÎëÚL{æë™7ÖéøÎÒÂV;Sj×g¨NtÅkÆçñÎyÌIƒuÍŧʆ„37-6ýÌÊïGj×ë ?¯«sÏ©Ì@@@@@ƒ*À2Ë•—Î8Ä[Òx=¼¬WEµ>Y}Íð¯Íù¥`iÉ+ÍòÈSò·±š2yœF¶Y¦ço»D%šýk·mÔ²Ý+M w¹n}úeM÷/…-šª«/› ä‚<î´•J\´Ñä¦hê£L Wž6/Þ§ðùã5êÊw”®D=>ü.ÍN q“§èå§o•L÷™å…cN¾P#{Ö5õÔ­SSk-ì3]ïÜ8Ür×jôÃãôâÓÿRÃEoëºÁOk‰›¹ÝiJLœo¹[õð‹/kÜ}—iåܧ4}iŠV½s§ ä&èÖq“5åå±:iå\Ý5|²™KÙeíws¥g«s~Œ±ìšöN¶Ö.7é¾ç¨E‰i]úÐ ºmP{pžªQ&=úaMž2YãÕ┆vû­ê`zªÛw¤n¿°‹r˪[=y¡.e¹ºPc_|Qß8@ó'Ý«Ë&ühz3ïÃ5£L 7Lÿ2ÏþòØaf¼©Z¶òí´1¿2JåžÝÛI®~ø-Y‹~OÖ×Þ×Ê4Ù¦;;G®ÚaæXO_«ÚÔÖ‡ßlÔï9.u4ûáþŸ¬ÕùëïX·Sß›6±õ´Ë¬#½3×Ík·;Wï-Ú¦ïB#tCŸ:š÷öZÈÍÑå&(úx¿h5Ø–ª»¦¬×Óݯ6)3Órݺó¼X=Ò3Rë’õΚœ‚{o™øä=ƒcuKû }ÿK’ÿ%Ïœ·Ô¿»…™¹nÓÌ fæ{vé–÷¶hy½úμo‰ Ð[ Öiz¢» ŸÒƈiÛ@5²{åkôÑŠIOÖM&×X/^ÚÒ<žÞûfƒ¾ØeÛ¥—ܤ%Z˜©³OmVz¯ŨS“ñ½j2S–kÜ‹3´±q]uý5Ü#B g¼¨×f*×i²ÂW›@®ùÃ5æÞI1Z½`–f|“cί×ð³ã´eéúl•‰j§,Ó“/š@®É¾äª«4´OœV/œ¡'ß]îﬨ‡ € € € € p€%ÂØÍ@ â?{ÓŒÞU½ÚÚLÔ†êwa]ÍŸ=]ñ7œ¢8{É&$xX]ÚËH£_˜®íg ×ôOÿRŸÓœKýâ«zœÍõŒÓø—Óuöuãõͺ«ÍYñ¤}ëÊ&ØŽ÷ŒÉîµÑÐ8¤·~¶‹1GèüûîÓ¥'e2js•ºÍ b®Ü›cͧ¨÷15õct^Ÿ“L(LÚîtoûœç¤/ûšFöò,Wüìô@õþ˜¾üóz]n»6™®ÏxA}š˜ÃãÚhô”·5sY‚ú˜å‹M8K;“w*ô”îºkÆ M uú·wJ–$-X˜ªãGv/Èq,Y§ä•æmš”»Ät@ÃSuß¿:ê”A§(";EjÓÎt²H+’\Ýç<ýêóz¿ÍiêsJ{¹ÍíRënNQWçY=ãÇòºÙ—µ§^~í6Ï{yÜqjbvè½nü«úíÜš”hÞÏ_Ð ç½k¯WÞd–}^SÎÍû÷ìv6ïý˜ä™”÷gd”ºuðfŸFèÉ!12qE[¯±&¬MRŽ ¼{|CiùÍ_Ÿ£vm]úég³ûrÓÆêjÖ'þÕÛÉöµш¦4mHCå&mÕÅ©Ò9}Ú™,YOêc jëÂw¶iAbކ9ÙÁµtçåíÕ»žiØ2L—/[¡25¢½íÔÜû[õ¬cçéíUÕk`KõlnÆä©Õ’s#O+~ݦ$óŽ>Ò;Z-Ì0­OŽÑŠUôá喙àØü~JãÚ>õÔ«ñ6½·3T祀]žOñŽôóE‡::û¬¶j—©PÏÔmG%ÊÊo¿4ó>Ol앹ì8i™ZóÝ<ó§ F^pªš˜?\Íûцe/iñO«Õ÷d;H°†Þ}µºÚ?²ÍhÁÒÿ©óÈ+ÔÕ.Ûܲ—8ºn­ýîKóõ…–ºæÎËä¬èܾ½éõÿôê‚yZu^µ?à9Û¹P@@@@@Ê ˜[ž÷8¬5ÇYºXºi°ÍÉõ–eš³x«âzÙZ¥ ûvõÞ0¿#ŠíõÙAÝ;Ú@®§·‰3aSikjf)Á\“™ºÕÜí ÓL Ë[ÂÛ÷Ñh'æV zph_“£[X:ä¶ÜNØÎôanÙ`nAqç˜Ãæ:«ká¾³®z…ý{êEª¸µg¶ÉžÆ]ú„îÛñ¢{ì.Mu®ÖÕ…ÿzLÇ´·Qß’%sÕ·&ë°¥n+è¬d¥R®$~ó›²GÆ·Éÿ÷ø½ú¹ËMºçìH嬚¬ÁgÜUJk· ™b‚Ú¶¸BË«ëTÉÿaܱŠñÁjsbOsí}íI^c~}ïê5oc®-7¯ÒËþ>»]_ùñk:éXŸ@sá&Õå*üLîC\§®F×ߢIËSum«@•.\ü}õôÔ§K”,ÏÝg3ZtfëÂh¨+¼øÿ¶j«AAPÑ“[ø 6÷ ›z–ÎÍ_#ÚômrOóKmó{¯xË|3Á·lÏÐç¼ì1Ü&l‹ó9®×PãúìÕ«ßîÔ]ï˜4¥Ul}`£É¥”Ü}¾4[½®9¶´U«KiPÞ¥l¥š!ƒ;µQ˜6˜Š[4õÙ±E$&(Í æ)Êçsäy—m6ÙÎ{ ZÙ£h5ô1lÞ©“´`IþŸº‚Š € € € € €$âÿ*~†¡[8Ø)K?•Y0X#Ÿž¬AÍB•ib…¡©zë_×iöë_ëæ^ƒœˆçìEé¶SNÉŸŽ'ššX´{ØÆ'd+®½'ÒãÞž`²AÍ*Ä¥Fî¤@å)Ú&=þÝ2%[\-]ýàT;EWôjmŸÙš:ül}Z)ræPú_B‰úiMºŽs²LM5ó06¨\¬©ÓÞ÷Gʺ͊p—¾¹á!¥'›>æ<­ŸºIíO˜¯AÍ‹”«%s—*¸ÇU…GßÎJ=× çv&½¡¯/Ò9¾}&.Ôcfß¾=BÿÎízjvC==}®Ù¯×„³—êü³o3=ú:zŽý«+å8¿MvG^otó_ñÎ,ƒ¢[˜ßSµxmºââ<¡Ìíν0ç~Éûóì%{©Ü•õ:1B“¾Ø¡¹K]&6Lg9~žÏ ·/` *òV™¹&¹ulËü‹{óÌW*þ,xûóýmû.µد™Û - > ›Öl×jW¤É¯ÝQj“âÙe™%Œêè‘k›)8'G«×%ë‰/vêÁoÂ5É,]¼¤üö• ¹o–;/ˆF¯Röy€O4ÖÔJY>_?˜o ĵm$í²–ãuÇã—™P¬§$ůW{ó”?æ_)üUÖŸ«\ç­Ùí´½_wؾacaCŽ@@@@@º€MG¢ €À °p¦ÉE­;R›¥{›4o®Ö­››ßq2¼§‰·Ž×B³ÿg°í;KãæÅ+%e«æM£ÙæÒ°>m ž¿úA-4A¨äÄ¥zúú§Ìõ¾:¹}a®cAEs×WÌïço\?Ú6ë~ÔÓfYæ•ÉŠÈô†ˆÜfÏ­Z8õAg)`¥îp2Sàäî?µè·uJ÷‰ç·?K—™ÈíÔ›îÕ^§/6d()i—ž5{Û¦™E±ÏhZ/í³àíÇ÷žý4Ÿ±ÚÅÕ7—Óôè§ÛµÉ,‘¼iÍVýcÞ6½›dƒ¼žâÛ÷šýí¶kö¡ýÁÌogÒ=ðE‚ž]´KIæ­ ó|îBƒí¾ºÅK¦~šo¶kîYœ/^£¬sûŠäÕ¿jÕªx-_¶XŸ½=QON7›àFž¤Ý«å‰§™¿êõ·¿WRjª’âçëù©èë…(û¾G>‰·fßâÂQ[v;Ýœ¬Ö«“?SBR²Ö.ûX¯~²Zj×§ –….‡#@@@@@²J‰p”]™; Psæ,2q½ûÎ*jÝëB5j‘fÎ_£3ÌJ½ ÐâÇL¶nþ£ ¸õeŒ‹Rº'ÉS]{&ëÞQCóïvÕÃSîRkó7Å*'ì¹ì*8n®Û§ÕîëïÕ]£òƒ‡fΟ¬úÑ)ºµ¯ "Ý{µgÉãæ}uaÏæš=ûAM>««®>k”šO}LÞ” qs§«NAŸÑºáµµûæ›ôØM£<Öíªû¦ŒuöŠÍvÙŒÄ0–ò·×q£žÓÈ¿LV¬igÃж ¸õEõð¦'z.9?¾ÿпúèøRîùT+y§ggÓÇ<¤ñ÷^§ñÞhÜC·Ë&»Ý ®S­‰Ç±Cß¾j¾r¾fß;KW~sƒÉîíi²{ÇëꥩšýjÙuGN‰õö®àÖƒ4ýéú×]¦Ý|ϨÍ{Þ¨—î?ÇY’ø†·'K·Ü®¯¶AߺêÙµ®-+h^ä`¿ŸÝé%OSl*ÒŸ=¹|p„N4{ÔªN`á2ËÅkDh@œKßÇ白h½¹ž&×Ô3±O“¸\[M‹´ Òµ—µPê{õ‚ è:Ål {ËE­ÕÉÄr³ì÷‘j)Ðl[¼¸Ê¸W/$ÿ;LæäËe–GžØ'[w.ئ¬ÝætÕ*6Z&×››^ú¶bûc¨qü6=óq‚¹ª½þÝe¯þóËf}ÿ‹Ó7ŠÒ˜S ŸÕsÕÄL“–h‰íï^ø{ïUôÛz­^0˼òkGšeÔ‡jð¹Ý=þ£OÕ­—lÓK3>Ðó¿~àTj7P£û6S@Âæ×踥§gË®àü hzüT ¸î½<’ârÓlÙàðp'PèÏŒ²ÓÓͤ.E…]þÕ®l·KáÎu·3®¿ýÚ>ݦOO[fá©ãÎÎ6cšLär柛™jví Sdh±¨–ÿÃ(;=E©™&ÇѪè¨âÙËžg5È ·ÈncšmŽKìùj<€º¶yö:M0W‡]m–uöø¯›5F£žÏÔËŸ¿àÁm5o©Šg÷öu¨~gg¹R-…‡ìÿûUñ\ó”žeRSÍ^¿á¥eÓV܃SÃì;›ž“g¦ .«ŸÜ½JIÍUTT‘|a?ð·Z®2m†|@BƒÄ­ªúñwÞÔC@@@@ް0»¤jù¥”ܶòpc“d˜šaw*TtÖ=NR†]‰ÕA‹Åd+|h8-Æõ4±c'™Ö9µYÿÿÚ)«ÏŠ&ã 6c–6›Â–¡‘*™/Yxߟ£àð(0.«f±guÓ2ýêÚáƒëI‹ßÖ]³ßÖ€‘£ÕpûRM5û÷v9®D ×V¯Šg·ýÊl–Ê.ÿ­ŠÙØ`q™o’ÿØ`pE±S`*\5Üÿ¾+U3@¡¡U,®ª~*5y*#€ € € € €2sù Pƒnfn¶–~4GînCtJ“’a1÷Ö¥šþÙõ½tò“;k S©X E?~ôæ/Yköç ÖÉý.Öà^íýά®¸j € € € € € €@U ø“™K0·*Åé 8¸ÁÜœÍ@@@@@@ªLÀŸ`ní*Ž@@@@@@@ªL€`n•QÒ € € € € € € Pus«Î’ž@@@@@@@* ˜[e”t„ € € € € € €TÁܪ³¤'@@@@@@@ ÊæV%!€ € € € € € €U'@0·ê,é p¹\Ü € € € € € €ÔlcBsköûÈìŽ2ÿàe,<. € € € € € pD øª•gÊõä< ‡¹À¾}ûäv»×aþ(L@@@@@@ÀGÀqí«vmÿrn æúàqxä lIÉVLTð‘û€< € € € € € €À'àWÈw}r¦Ö™WYÅÞßd‚eUY’öìÕêmUÙ%}¥/}µQ#'/ׂ;R@@@@@@àpð+˜;ûç$½óÓ–2ŸÏÞÿüä2ïûs#co®îšñ—rr=«>·j—Þüa³Ó´ø=ú£V`ãÎ,½·d«ö™ÕÄÇ~¼–€. @@@@@@ÃFÀ¯`î¡xšÜ}yú9a¼[ø^е‘î=¯­3tñ{‡b>Œqd´¨¢;Îi¥Zæqèï)O € € € € €-®ýyÐ9˶ÉfãnOÛ«m¢TÛDÊê…te—³öýfíLÏQרHÝzv+Õ ué¾Ù«tî±Ñš±x«ÖmÏP‡&áºg`¥f¹õÐkœö×NýCלÑ\{÷iåÖt è]äÞßzÄè­Ÿ¶ê?CÚ«iþ¨™zÍRºÏ]ÚIµlÔŽ‚€À€. ³gç­/èÚ }:Õ÷©Å! € € € € € €5K Ò™¹ß¬4ÚE›t§Évœùt\óH}å³éÏöhÒ·‰&«¶Þ¼æ85Œ Òƒï¯vžz‹ÙW÷ ä½½+M¹ú8çÚ;&°Û¼^ˆÔµ8¿­ ×Qj¦[É&X\ü^ÏvõÔ¤N°æ¯Øá´·?æÇïP‡Æar D8(.`ºdèWá@@@@@@ & T:˜;wy²†œØX]L7<8@CÌrÈöØ[lÖî'4Rã:ANäˆMµÖdá&˜½Km¹Ð´mªê×@‰»²äªm‚¶ÁÎ}¼ pŽíÒî <®¡¾4\[ÌV¨úzå.›Ÿ}é\䥨€î°îMœ;Þ%—·¥î-¥&—@@@@@@¨~J/³lƒ_çš}H}KË¡§›S²ôó†Ýšþã–‚kµÍÚÇÛöd;ç6S×[ÍúÌûÌ^¹•-=ÚÔÕóŸ¯×$ÎÊÙ§zaN€¸²ýPÿèXž˜ªÙVðÐÃO‰Q#ŸÏcÁ @@@@@@¨•æÖ7{ãÚ½r}‹= ót¤‹Njâìuë­³É,¯\•A³>Çì½ûeüNå¸÷9ûðzÇâ7¥ Ø@î=ï­T¦ þÛb3ƯìÕ¬´ª\C@@@@@@ FTz™å>ëköÏÛ´#-Çy€ß7¥iɺÝsf§úš³,I{Ìž·¶,^¿[÷ÏZ)-·Øì][l¦mñRÚ=»dîWfßÜïפ˜åšëoÂ9¥r¯"[àà € € € € € €@ͨtfî¹]¢µaG¦þþ¿åŠ P—ºµ®[ðtý;7pîÿmÒoΞºQ¡ºõìV²Ù´å»ÿîqfïÝa/ý¢»Îm]¤jñ{ýŽi fQÁŠ1¯º¦ÿH3 ¥ lÝ]"#—@niR\C@@@@@¨iµòLÙŸI¹Í^·éÙ¹&˜Zz 5×ÜÏØ›{P­7½ù§Föl¦“}‚Éûó,´9rrróôÀœUúÉdÛ=r¯>½ù‘û°< € € € € € €À%°ßÁÜêTøkkº–®ß£Ïã“5ùï]*\¹:çÊØÕ/`º‹M0·g»¨êŸ 3@@@@@@@ÀOÃ2˜ûÙÉúyà ïÑT±õCü|Tª!€ € € € € € €‡ÀaÌ=|x™) € € € € € € °µ÷¯­@@@@@@@¦Á܃©Kß € € € € € € €À~ ÌÝO8š!€ € € € € € €SÀu0;§o@@@@@@g¼œíþòsíœ3K™+âçGaî•Èzöÿ*QÛÿªááájذ¡êׯ¯ZµjUØ`n…DT@@@@@@8Z¶½6Y;g¾­Úá Œnx´2uÏežø¤“NªòçNOO×æÍ›•••¥fÍšUØ?Ë,WHD@@@@@@£U`×'ªvd¤j¹È‘†­åRHH„XÝÁ/Z*!€ € € € € €‡ÁÜÃæ­b¢G@š¦_n@·ìL/<ø´Švíª\0×40ÿ–¾cü#Ú³]ªUÐÝ®ý ƺ¿ž£¤ àrƒÎCÔ€ƒý5«S÷ç#Q¦É¨¹ë’35éÛD½ùÃfMÙYÍë•r=ðùWâ i£[fLWRáúÌw¸o§ê§”!êå{1ÿآşÍÒô·>Ò·ñE£Àq§ÖEÃþ¦A=Û”úEÖÆEzù­Å ®l:ËVvdwÝ8¢§výò‰^š8I,ñí/Jý¯¸N#†Ÿ¯Î =>ikéI/iÒgñE&×_×]?ZÃ̸å3÷_¾úX¼û©«hŠŠUÿþƒ4hÈùêÙ¡a¹Ýp@@@@@ªÈËÚ¦œD“9›(íý}±Öÿ•£ TÃsÞÔÖyª{ßSjܵ™3lö²™JxìÍbS/µNøÝ“ÓÎV¡ö“ã´îêGTëü[Õ|Ä™ 4„¼+´é¾1ÊH.Ösš«œSNFÑ{çÜ«V—ÔQê–†ŠêÔÀÜLWÊ”G´íÃjôò‹ ^ö_mœ¸ÐixÑÔr`¦fHõ{å(ý­/zßx…¯ýJy½F¨n“é{ÓçŠ~ìZE6°ñ·2¾~C‰ÿcŽ[¨ñø1Ê[ž¤:ýNTms%ûwó콩ÚÎê+mK=ÕµsÈÞ¤ä·)üâa ÷ýM_Í|DF?P,kÛ¦è³iOjÔ€áúz»[¿xJg^rs‰@®S3þ3=iÆíwï•2¬3‘”ü¹3®d ×é$AŸÍ˜ ›‡P¿ÛÞÔ–Ãéoeç ù € € € € pD üþµóoÞ®ˆú ýçs&¥SžÑÆ·¾S`×ajqu÷"[V¬/ÞÓž$óÞI?+iÆ\å¶¿R­F©ÜŸÞTÂã¯+=¤“š?y—ÉÂ-Yò¬ð‘Wª®yÕs^תnŸŽªª€ºT·Þ%>ô˜’WHQ#þf½¶+mm–BOï[Ð_þ]Ì:пh_D6¶_S#Tç¢ŠÔ mís5xöŸŠŒØ¢¤ñÏhË«Öûïj>ò8§jíˆfŠê×R;_}L‰ïý¬àc‡©þIáùsh§Èå&¸ûŠÒÜÍ=j˜r¿yEëŸ{_9 :©ém¥òž70J‘.–X‹7•ÞN1× T 3g&UócèСêÖ­[‰×Í7ß\5˜^æV%! -ݰ§ÚZô¤Øb³Ø–\ôk6iÌÔ™ÃP±|Öb­òOÍ×k†Ÿy¯þ(Y ,¶¤tü$yòƒÒû(¸š ;ôÐ…cÌWv*()Ÿ=ª _o)Qkûâ‰êçïÜMë”oÇéüsÑʬ]q@@@@@C$¡<'ñÈd¿žÖX{¿þŸv|ù—öΠ­‹v(¤ïŸ ]‹2ëä-ýDé»r•—¯=ó+bĹª•þ“Ù÷ålø\I/%Õí¦ˆæ¥?Vä™ç©ÑÀóm_ƒª~ï8SÑ¤ÄÇ*ÃdïœòµòÌ5»sƬï¤àÎùý¥:&~»ëýOLº±oÿfEÎ쟵îÆ1JIî¤:&+vÇã·j÷‚…J8F[W»vNþv&Y7ó½§ÌÑ‹•ñÖKJ5&aìdí6)ñÎç•õû'Ú¹$É$›çšü‰ö.zM;Vd«vd=E–÷¼vÿÈMï›,à™ÊZ:S»òÛ¸‹™åùNýŸ|òIEE]566V÷ßÿö\ØÜ<ªJ ËdçV{‰:NƒÌß½|"µ _/WÊ-Ýåüu’õ‹îõd‰iÆõ¿Bõ=AikôñT“­›à[å3º¾¾˜v•§ß[¥w»ä]Þ«“výö‘TdÑç"µcO¿B7 ë®À”uš3i\±1¥/ÌÕ ½¯R„·UÊ"³ó$ïYáï¨n}Ý`Å5 RâkÜŒo ïÙ£”4üžã´Ðì|pÁ.:g € € € € €h© •Ë5yRyÙRPïªCoŸÙ› ²_íÕ²êØ,ÍÂýnmM“É~²Z¿ë»Lsº½Q¢Ô2[&n½éRí)¶³ëüf5dŸ½sw¥kŸwÆUsµ'{ êöí¨ÝÏT {…vÿnºn]Ø}-ó\yëâ½€]­Z˜›”nëä—ôïLÀbT˜™·yå¦+m‰Y~Ú)!γäyÃîÔ‚=xÝ›w)wËTöÏ3ÛŠe?¯­“—Y˜™VÛ‰‚z:÷´Ïï¬ µoß^/½ô’®¿þz¥¤¤Èr'Nœ¨FUÙ(s«Œ’ލ9vú"Å| Æû‡ý—ןՒ"7£t÷”·4¬³woÙÞê7d¸M¼U7Oò©?ASÕ-Ý‹~äHW&Ô{÷”wM_ùuzöÔi'Åj@)ØþwOÑØaó›÷Tï}5qèùšäD6óö-‹^yF¾·í½¸+žÕ«·ô. Òöî§K¯ýEô]lïàGõáÊs5¬á\_SŽ@@@@@¾@ÐÈ!f‘ãl%-Ù ð‹LHòƒ”0uÂÌØÍº*¬Íå /˜Hmóïã¥Ö15B jÙó¯ÿ›>Ѫ[^QíèpíËh®ð³Ú*{g‘J'µÊú'roÁÖtꘔY§lTÊ;{ÊÕëÐF9Ëþç\}«;Õò/äí´+˜¶V°I¶ÍJôôÜÞ¬'êÞR˜U¦çz‰ŸE:uɉKs±Œç-êR²åÁºâ è¾ð zàª4kçlø8Ò¼_ÂIûE'ù¤ìšçüÄ4Ÿ@®"D=ÿñŒnëæ=÷üž6ý+û—2K·Û^( äæ×jØý]R<þu…n+äz»‹Ñ7 öžx~Çÿ¤ ÞMVîK3Š…rO¿»h 7¿µ+êûl‰å¦Ÿ|éÓrç_tpÎ@@@@@Ø?Ú‘ؼ…‚Ží®:ÿ|B­·Ó¾ÕŸj÷ªJ7ˇœ3R¡ÑéÊͨ¯zwÞ©˜Á&;¶`wÃrêØé¸T+´‘\aáJûú ¨†çtTnrº‚/¾^MG]ê,Z\rærÅv”«}G3¯ã<¯ö6“¶´RIÍš=_¹ÏTÃN.¥ÌúÒS¹`®EÛæ.øÜü;|°Þt£“dpÒ•ŠéY׿)Ⱥ-Ú¢rg•{^Ÿ¾}Ì|®VÙ¡ è¾øâ‹Uȵ,|'ªlºt„5U mÃÏE³rcGëö~1eL7B—Þ~›Æ WxÿÛOµ"kˆN(õ›;qºúo¦ma™-Ï›Ù!R ¯Å]Ü[Þ<à«R½óU"%]ù_þIÛ´¢Ä¿wÿóüÂŒÜ"íÌIÃÞºóŠXÝ<Í'¼|¥v™[e=qñ.8G@@@@@ ²y6I©ÙÙjýüÙùM³•±h¦Ù×Ö³òîGžTظ»ÕbâÏýìõÚr÷+Êëü“Áj÷Ž•Êªcïe.ŽWÞåg«ÍÿZhÝec´åäñйÆìÝz½ëÖž÷QF†=.ZrMX°ÁíOÊl{[X̲Éí´¼‰¸Þ;¹>?ÓîÃTßõ«ö¬òTÈKË)˜«w)dÏÅÚdöï½} Ú¼{¶s)wýWJ|Òì³«Žž*>?‹´õÒVñ½gížÃy Æ–ù¼‘>ý:íݦA~$´¸™™ýaSæ6oEàÀ¶­Z]´“„Išð¿HE›¥J³Xsò§Å.oSò.ó—_LéuxþS¬I%NMÏ%Š·ÏÔäb‹øÇ^¡3Û”U.èã¸Þý¥i“ Ε²\‰f¹ü˜ˆÂK!€ € € € € Puµõê!ÚZ^‡‹µåº‹µ5º…B²äNÜî©øo­œ—ß°¬:ævÎ{ÿÖª÷ ÈyòF¥†5”«~ˆr7 ‚ÔJž©uÏ,8-~°òCŸ+‰ojÍŸsmWòuCäû¯ô¹ó çšzÿ¥Jõ©ž»è­3¯“™\+k§Ü&cØSþÒæ¾oԖˆäß#ß9¸ß»Sk|žÑwŒÔ2ž×·Ží4õ¡ó*n–?èañ«ôˆÌa1u&‰¥ ¸•íý{Ñ[Á¬­oKæÎžŸŸ3&ødÞú\/ý0A«M4´_Lñu“K¯]•W“â—ínOpËDV‹hw’â4©HF¯78\X‹#@@@@@½@^òÆ ±ÅgáO§MÆv¹KÉÆ-Þß¡<·åƒVjàó¬geÏ܃%K¿T—Àö_5Ýgea;¸ÓN”'5?ª{ s «žï€›{ʶ2÷H/xÇÔª«ã;WÏÅ‘¡Eß•¸¶f7ÞòKVŸE÷6ÕýyÒò{å. € € € € € phægFAàФ,Òžü¶ØXq5 ƒs­ÕI§I“â ïÇöÑ=»çgí^®‰GMéb¦åólñŸê·”êYΊϛ]TìQ¢UM‰ÅÅæÁ) € € € € € P±@¥–Y P÷ÖuU7´jcÀq1᪨À€ZNÿOÛÿ£OÿG§&‡NÀ½e‘nëws‘ýaíèQƒGé„üdÚ° ¢J˜ ¹kÝE¯ùœe­£~ݺ©_¿~æÕMCï£4Ÿû‡òÐZ<7^SgýQÎ6ê—}‚¿¶flµ )§ ·@@@@@@$P©`î¹ÇFkìÐöºôä˜*}„ëûĪKóHÕ1Aâ'.òdÈ×õn¡“ZÖqº¨ª>d>´Eà€ÊØøÕ•¦+kæ ÷ªÇù7ûæ­æ¥Û¯9³`øÎtE±LÖ'ﯥÆs·ëõ;u–lNII‘ùO ;¥ªý*GÁÔ*<i3@·Å­¶dÂ(½ù‹™X‰’¥/žºE»5ø†³‹,äÃ@@@@@8**—x\C½þÝf =±‘þ÷m¢ÜûòªmgZ޾°ô€ûlß8Lk·g8ýTUŸ<):8ä6ƒÜ~DS³JTª–™QÓz!Ú´+ëÏ­ÒÆOÐ~Ó‹6³Ö¢WJœõ¿‚Æøþ1Ñ%ckÚ˜ ë&LÓ…ç®×ý_¯3ãbâÊÒæKôÆ#côABa5{4úê3U}‰­ºàŽ4nô„"“7ºŸÖÜö„®ìßM‘Ræ¶?5ã¹4mIqÁº²_‹"m9A@@@@@j²€o”§Üyv2K!G†è­·¨ç:µm”¾]µËi¤'.î ÷–&éo=bj–cþiÝní=Gµ@IDATýß”±7Wº4T›†¡ŠpÚíÉtkβmšõsR‘1ë†jÜetåÿ–;×[E‡êæ³ZªC“píÎÈÑŒ%[õ¾igËêéÊÓš©iTˆv›þ¦ÿ¸ÙéóÙK:*.&B± BÕ¹Y„|öí³EýýÓôÙÉô¹Ëôùá¯Ûõžé׆¥»°½>ý=Y—to¢Ö ôrkºÿd­¶§îU“ºÁºóœV:¦i„²röéó?whâW Ê«Úx¶ólü8p†‘AÎg)×Dsog…v˜/ øȽüŸý;GëÑÖ蛕žÏ²ošvl³c+SN¿m’Æ)™éc–b¾­Û·Ä§·”oõèõæås©øaÔà'4º{Tñˇô<â„‘zö’tÇŒ¢QæÆ™Àó¸ò§rÛ”ÛE(·|#î"€ € € € €”ˆŠRÞ¾\ÕªPò&WØììl¹\þ…iý^fy  È~i˜ûLôò óÛféz‹ËìuÛÚ^m€õÖ·W躩(*Ì¥ híT±K_xbc­Ùž©¯þ¦gæ­×ô=³S}oÎï3›Xlµ%$°¶ Útr‚—¿ü«ÓÆ.ŸÜ5¶ŽÓ÷ýƒÚêõE›uþÖ³Ÿ­ÓõgÆ*ÈUÛ©·&9à ,¿ñýïó¹K;)~Kš.åW=aµŸÔXçŸÐÈ3&*X;µ©žûl½FMþ͹v© ìÚbÇÞ”’­!/.ÓMoþ©^í¢ÔÓ´)5S`¨ù¼Å˜|s“ykßó&e3¿x¹öKµk9Ÿzò;û€&§»_úPãFœPF/Q1ñCÝЭŒÛ¥\Žê·Þ} _…K, ™—ÒQþ¥ô²nUØK½ÿ5]Ï^Q‰É+JwOúB#:ço\ÖØ\G@@@@@ zÏ×¾ÔTå¹K_ ´”&\B Lôôt%$$(::ºÌ:¾7ü ùÚÀjxýçôx§­ÍJÙ³©lö£ÍZõ–L&®÷|œ ˆ¾yíñ²KÝÚb³\ß5°¶ü–˜ªwoÕ þj…Ù„³”Ò«}=¥˜ÌÙ·ÚâÜ]–°G÷ÎZådèæî“Ƽ·R?oØ£Z&2—“›'P¶™¿[vg+ÛdÎîLÛ«dóò ânúLËÎÕë 79™¸ñ[Ò5eÑ&]tR}ð‹'ãw¶É^—œéŒ9?~‡ì:§ÿ™:å„6~,…£«&þ S>™¤'ž›¤ø²†Šê¦Ûù—FôlSb.®ÀÈ¢×¢º¨‰Ÿk0ŸÐ®AѶùg! š˜Ð«ï“—¶Ypˆzß2QöþDÿ}ö9}Væä¥Ó/¹[ÿ¼a˜ÚÇ-Õ›‹ € € € € € 4ºòjÇÆjçœYÊ\ቕUÜŠG‚ÀÒ¥¾=lq‡ððp5lØPõëMz-^Ï{îW0÷ÌŽõf–N~Ò,¥ì-µLõÜc£5íûÍÎ¥½î}Új©Þ’´g¯öš ª]žØ–„E÷%ݰ#SägÄzÛøþ¶Y•ÅÛübºÞÒÆ,ƒ|u¯æN¯íËŸbçbëú†`màÖŽå-Þ`´=Ï1KôÖ6™›¶¼üõF]Ù«™þ3¤½3æ÷kRÌ2Ë{ü¨yöóøï9«ÍûÕN¾Ý&€ßïO Ñr¢ x_sž"DCÆ}¡!}B.uøM3¯”-kµ>q«vïÎPN` Â¢բUKµhXv4¤Ã0-Y2ÌYFhÄ´%áGMW‹úbÉ@?jJ1' ÔØiõ@Ê%¬O4_äÈQݺæ¤èÍÕ26F~ý ç×pTB@@@@8Jj™7:w ó:J xìjð+Ôa—T¶AÛ¯þ*Ì¢µK :¾‘ÞøÁ̵KÛ,\»­-‘!.›Œ^»/­- }–¹õœ9Y‘ÎÍR~Ø}u뙥š}‹Í¬Ý‘ž£&u‚ta×Fºå­Nö­Ë\{›€sEe—iÛÐìïë[™ìâæzE%Üdý¾´ ÁÙØfçÞ~N+]ß§…Æ~¼¶¢¦Ü¯&ÒºvÙe[jn ·z°¢bÚèó:KHTŒ:œ`^‡ãä™3 € € € € € PŽ@…{æÆ6UÇ&áš³,IëM«÷õá¯ÛÕ ý±9Mk¶g("Ø¥®±‘jR7¸Äüvgºµrkºj鄨:Îýß7¥)son‰ºöBDˆKq1áνŸ7ìQî¾¥M]çú’õ{œ€à€.ÑZ°b§ ìîЕ½šëŒõœû™9¹NÐÕF{š,[oÉÉÍÓ—ñ;ÕÀdÒvna‚†»d—f>ÖûS&}“èT»ç¼6êÖÊ3—ãšG:ÁÙ׿ۤißoÒÝÚ¨´zÇ·¨#°Ü‘¶WI»³c–]>šÊ쟓´Å<·-·¿³Â Ö7ˆtνܹË=ö—¾ÚhÞËúÎ=~ € € € € € € PSŽÚÌÜÕÛ2œ÷ W»¨"ï… àÚ,ÝKM¶®·|ú»'w  üöh¥í&ësYÂïí2¿f—lpŸNõÍ«So^~_e6Ê¿‘eöòÝ´+KÁ®Ú:©¥'ëmÓ3Ϋ·eª´zÙfIf¨¶™Ã·÷o­úùALoû£á÷•f©ìn­<ËP'GеºÅ¹Q&{ìÐG ψ € € € € € p˜ µÁÜž¥w#L&nyÅc­Þ¥&uƒe÷ÁíÓÑ“ÁéOPÖî×ÀÉò 5Ë%õ×NÙ`kE%ÅÌÏ®Ž ZÞõóE{æ¼+=G¥Õ³ûç^4aYÁëƒ_¶U4Üw?ÈÁÿ3¤}‰€îs×Ê›‘k¹Ï˜À}ëèÐ#îùy @@@@@@Ã_ਠæ6Ï_vØf¿ú–5Û3ô̼uš¹d«sy¾Y&Ù.—lã©OÎ]ç,³lo,4ûÙfìÍuê”öÃf.^·GµM$vβ$=ÿù…8mlÛŠJ£:A ¨¥]îãØLS[šÕ ViõŽo©kÏh®®±žÌÔŠÆ:Rï—ÐýÂ,‘m Ü#õ]ç¹@@@@@@#Gਠæz÷ eöVµK{Ë;?m5™›ÉÚc–)¶Å›]k·?®Mq–W6¶6»ö+³nYåó?“ÍÞ¶y&€[Û´Ûí´uï³¹¶’?Y½6|bË:No›9yK®écF~ Ù>Ciõ:6 ×%Ýc´ãÿÙ»¸¨ªüà•gAÇT|@%5m)±Ì"µˆÒV—L©tÑr©Ð~Zä¦åšÛškj®–ÙšÍÅrÉ,"s-ѵLñ PHTHAõÿ=wæ30àˆ€ ŸózÁܹ÷œsÏ}ß‹3Þï=çëÅìkÙ€®‚` ·Á^

    ]€˜•{e^Úføùx>Ô\º>2ôònnƒ£§ qð×tnå‰å÷¶î`»uÿ²î¾Þ{ Coòµ®·]жo ÔÊ«mª‡ïHþx—Ì·«æÝÕ“ öNûø€þV{}ahžØ »~9‹UÛOH;óµz~Ì8§µQ ûbž×·l¾-<´röoEvu6Ô7z@wfÂa’óÉ¡•ê•Àã¦(@ P€ (@ P€ (@ P€õK Ás˸Éo<|#oÌÀÆý§e(dó¼²ÝÚxá¹ð.hí통;Òµ³yO yž\ýÔöíÜ\›ËVç¡eS{Æ}YùH?cD€¯—5«Êªa“tkD #Ãýzȼ®*Ê/Ö~´7–_EÒ[X‘—Fá öy§uSŽ…‹ÔÚ½ž½· Ta•åk*síΊ膹_µÔذ_´€îƒÝ‘_dB /׆Á£§(@ P€ (@ P€ (@ P€¨.Iª-­ÁFªáOHPVõÈmîi˜­ÁÝ^QÕj(è“Ò›·½Ìõë¢"Ñ$•OõúUóéª!˜™(@ P€ (@ P€ (@ P€ (@ú)À`nýëÕÉcc)@ P€ (@ P€ (@ P€õP Ñ%Iõ°Ýl2®K’’?~M›6E³fÍàîî~]g}=¨¢¢"œ={èС\]]ëë¡°Ý (@ P€ (@ P€ (@ ÔsëÁIbŽÀ¯¿þ õ|E»víÎA×Ã#ÍË˃ ì¶mÛ¶¶žM¦(@ P€ (@ P€ (@ P ¾pÎÜúr¦ØÎ!PXX__ßq¬õù }|| Î(@ P€ (@ P€ (@ P€¨IskR—uSà .^¼ˆ&Mš\a)f¯muŽÔ¹b¢(@ P€ (@ P€ (@ P€5)À`nMê²n P€ (@ P€ (@ P€ (@ P€U`0·Šp,F P€ (@ P€ (@ P€ (@ P &Ì­I]ÖM P€ (@ P€ (@ P€ (@ P Š æVŽÅ(@ P€ (@ P€ (@ P€ (@ Ô¤ƒ¹5©Ëº)@ P€ (@ P€ (@ P€ (@ TQ€ÁÜ*±(@ P€ (@ P€ (@ P€ (@š`0·&uY7(@ P€ (@ P€ (@ P€ (@* 0˜[E8£(@ P€ (@ P€ (@ P€ (P“ æÖ¤.ë¦(@ P€ (@ P€ (@ P€ (PE—*–c1 P . å`û† HÞù3rŠ€fí{àŽ°ßcpïvu¹ÕÕÖ¶¢¢"¸¸»£IµÕXósNâýmy€‹zÆæ"ŠMáס9Ýä‹vnW¿ÿÌŸbíéf˜4°êö?üa,¼Ï&Úy?}—†ï›¶ÅÁ>v(Ù3ðÑQwL¸¯ –KÿS€ˆa]ѵ;Ó… (ºÐMÝø\“&ßP€ (@ P€ (@ P€ @àì:s*Ø T“ÀùÃX2u6>Ú´®½`HØ´<½ j|y¸švR—«9Ï^šŠ—ëÙ±^8wëý†m9FdäãXî9¼·ùÆ,Ú‰5iÆ«?s<ŸïÈCþU×TÃæâ‘Å»ñc¡£ý\À÷)¹øâ¸©ÜÆ“GOâó=ç Iâó£§pæB¹lv+ö%íÆðEG!!t& P€ (@ P€ (@ P€ @¨Û´ê$Eº-ðó§+p@šxߤW1´›—ÖØÁáCø©øâë58|Ï ts¯ÛÇpu­k/9¾¢óWWK­—n¢ž­qÁ_¢z£—Þ¥8?/,;Œ÷Ö¥á¶Ø^誯¯Bã\Ô¿ö®áZ…²µZÄ­ šBÚYÁ±ºÉ4uðÉå¢z4[ŽÏ£cg|Û —ëší©P¤ŒG­ wF P€ (@ P€ (@ P€p^ÀÁ-qç 3'(PÇ.CÒö³pïe äš[èŽ#Gbß?÷ /WÆ]nç‚Ûâ±"a;Ϊ îñÀØÇÞÛWÞœ—Àïbd÷èŽ_¿Þ„Lµ¹k(Fj…o>H0¿÷íƒñO?Žž-Š$ï›HïØù?$ã¨Tm_—Ô–¹ÿ|ç#ÐvÜ88 E„@…™%.‘¡»¡{n6Ð £ÿ£“ñhÿ޲õ'ÇãÝ·Cmìó‰§Goß&—»Ùˆ¼ô–¹ÉoajæxùÙþØùÑr|¼ý¨ªîRÏèè(·«›mS±4ÒSk*àÝ/<Ð}‘‹¤_ŠñD€ ²Oâµu¿ Y V»`ìýÝ0®·Lg²1eå¯è"‘úÏSÏi´k×/?tºëõYªEqÖ}–†ÅGÍ=~Ûµk¿D —g¼³¿uÃÜ-̹/œ“uá=øF´Úy¿tòƱ§ð³lõ‘ú_è뎾È2¿oîƒY‘=pSs˜¾ˆ})i˜¾9ZkdÛü‡z oËÆ8ôÝ>¼çƒ[òOâÃŒ‹’·1F„õÀc-Î`ÌÚ“ZþØE;6¨'^ ±NYk”K#íÅö—«6<µy13|rsžì…€ÂÓXúÉ1|þ›Úл»^úCGœÜò3&ýOaŸÂ¯Ëq?Ý75©ÀÅÛÜæ÷-1È”ƒ×ö!Äóõvä„'Ö°ù‹ (@ P€ (@ P€ ®Z€Ã,_5!+ @(ÊÇiiέwö*×(÷Ž¡xvÆD„H3sÓ;xK¹ÍúG`¤'0¸}¾xo6¾?;%ÛõÑ ˜58šŒ$Ûuäˆ}"Írö`ùW‡´}œÏÏÁžäd¸ ŠÂó±O Ô7S«kS¶„`sSðòkÈE_DM˜€Gï냛VâåvkeMçÏ sû؉A˜; ÜþÑ?±_Šf'K%Ûû(Lš%5ìÁ{³ßA¦ [a¹ ­6⨴û¡1¨Ž¹H¹§ñÀ±x^êé"mÿàÕu²®ÉpC+Xg:þ-Oþ¿_°»U,x¤;žïã‚¿Ú¿” (¯?—K ·O?ЈûÁ+û bÞ=,áJÛT‚5+öI ·cðà?´ÎÎŤeq>¸ëìØ‘…£–!ŠóŽüŠÏ«g{wœ+4ÊPͧÐ;¬ÜßZNÒüE¹½hûóýífnýMÛYfÊ~L’@îÀÛ;ã­Qñ{ ÑN]¾_«·ÄX‚ŸS³‘ˆÖÚq<Û½1Ö%¥áHë6˜ÚBZÑ„vÀ`_Çýˆ³³N#ùç“Ø¸;[ûIVuÉñèÝŽ/\0á\I Q‚­IÃçhŽì‰a-ñó¡,<ómÚߨ´Sžx:ÌíÝ*q ÕæÿË@.ðÈí^¡¹¶W—)@ P€ (@ P€ (@ Pàê̽:?–¦@(:yBëi[y—ûóHÙx@ºÈŽÄsFÏn½ñìóè#GòõæŸÌÇ#ÁÔŽ<‘ý{¢gÈ j&ÁÑþO`dhoté=XÖÛôj•¼èó(& AÇ.½1òùµº6n=ŠÃ[¾’^µ]1iÆX„ôì‰þC£1龎(Úþ9ö[£©}ñÜÄ¡èÙ¥|H*+‚éÂylO”6v|Ã$0ݦM/ {ä>ÙvÛYºøJx·\9´@ïþq‹joû`ôîsÎ"œÍ̓{›>xlÆó8ƒÍ˜¹Îþn¤õbVÍÛ—rÙpÃK÷úÁßà…Ð;$H*ñÎï–Y_-ÃÑ# èÞ££QÛH2ÿɶDf¥Ž¢ìl¼'ñÖßß„qÁ­pS`G¼1®ƒl9§õþíÛÏO– ´eÕ»vû¹Ò“»-no.«K¤gëí=ñDp ÜÔÛH÷jŸÀ<ÒJÛߤ@ý#¥ßþP´n‡¨[Z }«ˆ —¶Xë•E °.|¸3nêhÀ°pÕû"J{"4¤µ6Ìòm!íÑ¿sùÀ¨»ŠïJùå¯~Áß“2´Ÿ—¿ÈÀ:ûˆµÚ9¶+mÆùbœ’ëí†^]°bT7¼|SSÚùbŸf¹)†ŠƒwNå.Z…ø}k²ô¿£î¹µ'sfþ¦(@ P€ (@ P€ (@ \µ@å1Ÿ«®žÔ´@É…KØ®·ì÷æ)sOöîàm¿ò Þ3š°?«¾>nèÒºì8­WP³Öš€»Ÿ?$މ³ù*ª2¶I¹»±dñ7|t$NÉ%ã{{'=þ'™|Ñ_´{þ—)Áà›`’âý[Z _€ŒÖݵôŸ W …ª ™J’·oˆmO`/ 7êIµã´±‰œvê$QãÿÂ$[\Ta÷f¥Õ&ZûQ|ÇÔe}ö ¼üâzeÚ«—6ùkå´æö¤ötú4Fþö>þø$¬Ö¸£oÄxtï¢úïÖƒ$½aÓ¤™ÁÚá¨`©Qz¸þhßð“ùp®$7ôëXÚ›Õï™ôr=‰¬óÐS/aRà »àžJ¥.Þ¥eÐÒO·ÎÀâgð„SWfKOÔm¤P,缇Ÿ^î¢:{2­À•ZÕ²jgq!RU°þ|6^,Ø$Ÿ&*¼.mpuµŽ&&.¥½åß4•¤“qépÓÚó¯"iC»>ݱê>ƒÍZ tû#&©±Ÿí’+Ž À™õéøûºýæ-^Mñ—á2´·¼+Qí¤BÝM.ç¢òz #]›S%N–|¡(@ P€ (@ P€ (@ \µ@it檫b×Bàl¡ /|rÐá®ý[yàƒÇU˪¥´œB­îßß䋨ð.U«¤Ž”:]P‚¹_¤¡§_Sü)´ciU 4ýzIàtû§ßbXÈHé§ZšŽý÷È9‹»üZá´äÙsBueìbÉpV¹šëÒVzEêÉ ÕßÙ¾Úm‘ºvþ”†±ÁÁ–,æ^ E%&-®'c-k½…UY¥œ£Ç´×J¹µA)p´ûãX8ÖRï…\¤üçgZÉJæÞÎfþ ßÐǰðQ/œÏÍÆOß®ÄG KÑ)ðM ngéÎêT}µ‘©1\ìšt_%—» o{‰"f©àcs¬úskð3óà tiƒôÙ•(*öŸ¼€^Í•˜~+ÐæŸm¥PmÛoÂ÷Y%¸)ÀÄ-¾$A_UZ¥&¸{@K,^ÿ+Ölu•Z}0L‹`êÑ{s°UËZæ—õºpóD „—“£tÄgVÙQ…TPÖ„äŸrqªØQ€ÖQ¡²ëôrF|(qŒ[}ûrJàâé }¬uh·K °M.ø]Þ¥ì^®Þ©l|O P€ (@ P€ (@ P€°`Ï\{zûÎEzÞ •´ŽÒÓ«ö¡ƒÁ]ZybÝ®_ÑXBøÞÜV Òþýó#øå´¯>Ô­d¨U5¬ò›‰ÇÖ«‚ý}´åÐ2ßåíí¡×£†n^ñÝq<}·?útôÁÒÍøQ¥7Â-Òs-fP'´€ÙO™çðö·é¸¿wküO¶ïÎ8‡¶ÍÜ´^¾Aí½ñÑ÷Y`;ƒ‡om‡ý“犵ý†¶Â¢o‘v"¸S3¼0´+|<Ì—êÖC¹Xùß8‘W„_Oþ¾Mp¸’rš{öíŠM›dŸ¯Ç+/ODhæ$,} –úÕ±ÞlÛmÙ²¾.¼¬IJÃKC|šË5~g<Ò[õ›•þ¹-ÛcÅý…ø¿¯ŽcÜ¡ãÚº€®~xõÙþ‹êi-sÚ¶»€—ÿßm ýË»£«Ä­Y‡CöÀÓuÃÙU‡ñš>ô°«žÿcOôÒ‡–ðïo÷Äçÿ-ÁÈàÒáŒÕfsï]Kõe^l¯‹^÷âùüT¼–tk’TÆÆÖw·lŒ}²ŒæX/S^{ëé…A2?ïšÍ‡±ít7NÙÙ%uª­$wwõ„J>xa”ž_›…I+ΘW©c}¨“Ö½Çïڢݞã2óaÌúæJ]ö™K—ùíØ©L&¾¥(@ P€ (@ P€ (@ TY Ñ%IU.Í‚×\àt~ "—í† XÞ%AWÛÔýº6ÇÐ섚[·³ »èçoSO£Hæ‡üðO}°Q‚©ÿ”À¬FY §üî2%°š…7"oD£FðÜ¿ökëÕvU›„ K.  µ¢´Ç;ÈÍþ­õm‹bÙGÂÿ~Å ¾^XÕ ?¤ý†¿üû Ûý 0J¹™µ[/¼36H Ø~ú¿“Z9¬Wkl9pF«ËKæúU韟ӂËìßßÙßK}Ó×ÄÍþÍð»N>øúçS8%½ß—¡¤3$ð[Ѿf?ØŸý˜ƒUÛO@ =ýû›Úà©ä’ÿÁÇÓÏÜÓ?Jà9~G6"¥âS;Ù2ÖêrZZªiŸpþìYɨÇM¤7n3G=Q‹ÎC¦SEw/8Ú|ù†œÇÇS_žœ‘Ý\pþ|QuI[d›l„×îè‚´Ñ| ÒÆË7¨ÂŠŠ¤ž p÷òºâÞÇŽ*­Þsåh•­»ˆ‚Buâš ©›ùჂ_ŽbøÚ³x+öwèu¡²Ù]z¢ÚXËÖh,,‘ùb£©gù^Êÿµ/ôÃutt-[YïM2Ñ®vþ¤-ƒ·”«îÕ•kÙ}]IÞêr*Û¾§(@ P€ (@ P€ (@ (ÊîóS¨ ˜.^Âw‡óìZÜ»ƒ¹7ŸZyQbö¯I€Võ˜U\ÐU=rÝØR æþWʪ`îç yn’`©êÅZ63š0Wzñª ±ê%›™kÄÃ}Ò-‘º?ÿ)?J/\=©òßþÐMkÃïíÂ1 ¼Ú¦ñwvÔzï¶“^» “~AxP+LÞ½² 0ñÿíCúsþ5dv•Àð¤{ü¡†•níí†×¿>Šõ»Oâfi¯JŽöåëã¦Õ¯‚¹~ÒPž $ºd”¡—5º€, F«ÞÃ÷JodH¾~Rx5k!W’$ˆ[éöJŠZ7IŒö¼Q~I¨ÕK¥Ž“´¥ÂmŽKèkU ¹¢Zõ<μ6‘ÞšÕQ3ûªù<*kâZ÷ež¸Pu•ÀiéÜÇÖå<$_ÙT™‰é2_îÏ2"ùØQm¯:ëâVy@¹ìþkê½£c­h_Îä­n§ŠÚÂõ (@ P€ (@ P€ (а̽NÎSéí¸~Ò-M˦®Z Weho0÷oTAÝN-=´ž´ú|²égŒÜ¥W®£¤†;V\•ŽK W¥®ÒWOúòñÜ" ¶šEª'®JªÎ¶XUû°íÞFÖ©¤o¬Úª’X½ j•T9ÕÃxü?kïõ_YyFk0÷rûÒË(¯çïïŠÛŽãíéÚêvè}öÞÎP¯LÎ 4Aψû`jK3gÅj*Ÿ»Á€±7»£íU>ÐÄÝ íZ5ÅíwuÀ#Ë{kªýõ­^:Õ·3ÆöR€ (@ P€ (@ P€¨Ÿ æÖÏóvÅ­VCW”TïÜ÷·fjóÛª<Ë ×l[ÎÓ2¤«Z×Ú„Í‘¹nõ¤/ë\µ^ mM6‹ÖueÁq&U§ê¬†‡VAeâÍ-(цí=$½xUºÜ¾ô òùâ „öÄ[czi½t¿Ù{ «eß·¤gð‡Ñ7iuñ—3îè=x¨3™§†\Z¶Â¸{®~'¾mðâÃm®¾¢ë¼:]ç'˜‡G P€ (@ P€ (@ P Ž0˜[GNÄÕ6C <íãvÕ¸»4Á¬ˆnvë½ØÓÌýIæUÃ0ßÔ©™£låÖõëÒÍdÎÙOR²ÑAzûª¡ž?ÿñ¤6ü±¦ù'›¡–ˮŠ0yÙæ ¼Ÿœ 5Çîw2$ô†=§°ðÑž—­M Ϭҡ_ÏCÍÓ«æð°rzwðÆônÀÝZà_2gn3ÃÎ^¶rf (@ P€ (@ P€ (@ P€ @ 0˜[¨×¢J5qʱ³v»Ö‡)¶[éà Ävoë¥:C¥W®mGZÙ­«T ÷•ˆîxí«£˜õÙm}×Öž˜:¤«uˆdkæjXqK[œÊ/AÂÿ~ÅÆýg´ ñSƒ:¢W{ol?b?_pÙÝ©ysÜ`À6É·èÛ_$ÜJRùýäãýîZvå æãe¢(@ P€ (@ P€ (@ P€ @]htIR]hÛP¿òΗhsâªoM'ÕX ¯¬´WšÔœ»*ð­ÏÏ«ê:%ÃD«a¨[5uCS_énªœ?-- U.Ï‚µ'ÀsU{ÖÜ(@ P€ (@ P€ (@ P ¡ Ô|ä­¡Ê6°ã6Èð̵•Ô¼¸U äªö©á–õ!—Õ{UW»æîj‘‰ (@ P€ (@ P€ (@ P€uJ qj C P€ (@ P€ (@ P€ (@ P€šƒ¹¼(@ P€ (@ P€ (@ P€ (@ ÔAsëàIa“(@ P€ (@ P€ (@ P€ (@ 0˜Ëk€ (@ P€ (@ P€ (@ P€ @`0·ž6‰ (@ P€ (@ P€ (@ P€ ƒ¹¼(@ P€ (@ P€ (@ P€ (@ ÔAsëàIa“(@ P€ (@ P€ (@ P€ (@ 0˜Ëk€ (@ P€ (@ P€ (@ P€ @p©ƒmb“(Ð`Z´hÑ`½¾¸:Wiiiõ­Ùl/(@ P€ (@ P€ (@ P€uD à²-itIÒes1(@ P€ (@ P€ (@ P€ (@ Ôª‡Y®Un(@ P€ (@ P€ (@ P€ €s æ:çÄ\ (@ P€ (@ P€ (@ P€ jU€ÁÜZåæÎ(@ P€ (@ P€ (@ P€ (@ 8'À`®sNÌE P€ (@ P€ (@ P€ (@ P VÌ­Un(@ P€ (@ P€ (@ P€ €s æ:çÄ\ (@ P€ (@ P€ (@ P€ jU€ÁÜZåæÎ(@ P€ (@ P€ (@ P€ (@ 8'À`®sNÌE P€ (@ P€ (@ P€ (@ P VÌ­Un(@ P€ (@ P€ (@ P€ €s æ:çÄ\ (@ P€ (@ P€ (@ P€ jU€ÁÜZåæÎ(@ P€ (@ P€ (@ P€ (@ 8'À`®sNÌE P€ (@ P€ (@ P€ (@ P VÌ­Un(@ P€ (@ P€ (@ P€ €s æ:çÄ\ (@ P€ (@ P€ (@ P€ jUÀ¥V÷ÆQ€ (@ P€ (@ P€ ê¸@qq1Μ9£ýÖñÖ²y (PÓžžžhÙ²¥öãææVÓ»³«¿Ñ%Ivkø† (@ P€ (@ T PŸon_Ë0pr5(@ ÔA¢¢"ìÛ·O»aß´iS4jÔ¨¶’M¢(@ÚPáÔ‚‚í!Ÿ^½zÁÝݽÖvÏ`n­Q7ì¨Ï‰ÚLksgÜlÔÑj¾ ý ·‰'jsQ<÷Üs˜={6Ôð]¯½ö†Šððp­¯ºq ÒÂ… ¡zûêIõî]°`þ‹/F||0˜Û°¯¹Z=úcÇŽaýúõÚ œª^ºO=õ”6÷„jHff&æÌ™ƒàà`Œ=óæÍÃþýûµ ëš5k´±È§NªµY sòÍ7ßhËjlòíÛ·cãÆÚ{õë믿FPPôUC;oÚ´I þnÞ¼ÉÉÉZ>È=sæ þõ¯aÑ¢Eزe‹¶V \&#òóóµ£Ñt= (@ P€ (@ P€ (Ð`8Ìrƒ9Õ×þ@U/Y=ªž€V½l³²²pþüyë°%wÞy'ÆŽ«n?ÿüs¬ZµJ›Iµ~ÆŒ¸÷Þ{¡‚Â*ß+¯¼‚ÜÜ\-Ü»wodggkÃd]ºtI›|ºW¯^Z¯_57¯úéÙ³'–/_Õ#XõÊýôÓO±víZ4n܃?þ8Þ}÷]mèçk¯U]-ÈGÒÂ7±ñ7©O&æ¾9r*Fª«ò«®'-iâ6¦mïÆôgÂà-5:ZwÕ;ª¦ êrÛì1{“>Ū?AbŠøÚ$ƒ Â?F†¡“g¢(@ P€ (@ P€ (@ P Î 0˜[gOÍõ×°ØÍ™«zÔªÀí† ðÐCi|ÓM7i¯*È«‚²7Üpƒ¢Y³fðõõÕ¶]ºtÁ-·Ü‚~ø¿þú+úöí«½îܹ%%%8p 6„ó³Ï>‹¥K—bÊ”)(,,Ä]wݵN–U@YÍ×k›ÜÝÝmßÖÿå¬í˜»r=ò,G’xæf [6 uäÈ Ó¿Cbb*àß SŸ17ÊѺÚk®IËæccºþwF#fh€Ý®¯mÛìšRñ›œ˜þè$ê'½LμôTÄ/yA~ ˆ]ºcúù•ÉÁ·uO òë²îµ—-¢(@ P€ (@ P€ (@ê`0·º$YÏ ¸¸¸ÀÏϰ–ÕçÏmݺµÌUZ•G%¤UÃ"«m* <ßÿ½¶.&&F æ~ûí·Z¯^=8¬†—Õ‚ÈGŽÑæâUóæ¾øâ‹Zª÷¯š¬Z%5GïéÓ§µåëå×Þ [¹Ú1¥¼ƒ­9£æ[Wް©µ!ÖŒŠ ÌëÎ[·ÕÞ‚ é‰ë‘(Yýý#SvÇ×´meãà}Î6D ™ [’áQã¾~AhîuÇvmŇKâaî«›‡†ÁmõfŒêÁ.ººXÝ|½ÌuY7ÍVQ€ (@ P€ (@ P€¨S/^ÔF{U£µª„õ%5®/ e;ë¿€ê k”¡~Õ ²&%%á¿ÿý/n»í¶rçããÕ“wñâÅÚɪ—î²eËбcGtïÞ]˯zߪ`nZZÔº7ß|3víڥͳ«zꪤ†fŽ×–U/_ÕóWý±ª ±ª_ÍÝ«êVëÞxã ¬[·NË{}üÊÀ'KRÊJV|¶·ÌººõöÆG"..+Þ}×b@hwK|¹4Ì\ês­ÛVÚGKyXþ”M 70 ñ›“0ç™18 X梀ˆñS±.% s£­Ì›¸YÖw\¨«•]—uµÍl(@ P€ (@ P A \ÌGú¡C8r䯡vý@IDATÉ«þsàP:òåÞã©ô#ÈÎ7UĈR_ÕÊVaw,B Pà:P1©Ù³gcРA1bî¾ûníuÓ¦Mõâh­áêEkÙÈz- ¥¶ÁRÕãVõ¨½çž{×K/½„—_~÷Ýwš4i‚¶mÛbÞ¼yÚ·ª€ê¡Û¦Mm¾[5ï­zŠ¢yóæèÚµ+T¯_•ÔðÊÓ§OÇš5k´a—===µ:Ô6èÕçáUóèª9uÕÌ×KÊÛñÖ[&ê8øÄEc‰tÙL]ò 2Æ¡“jÌÏANî9éí O °ûúàÌ?U-§šäbè$ÇÊ[gW¿§ZÈðÛ•6Ì„üœä e®pñð€/¼Ë7mBQ%.—o› y²Ÿsç Q"ûñiÙ¾g{½‘“%e ¥¤«'ZÈ߇w¥ÇdßÐüÝë°ÄÜå0 GüÏ Àayž™Èφ!^ Åœ­i“1* ,ÆU‹)é'ÄÀ®ž>Ò»Þ×îº1æe!猜 WWx´ð…oùapòÎîœ;y-šŒyÈÉ9‡BéÕ¯Ú¡®gMµý”k_ÚèéÑ~¾—;6^R¦¥¯ •_”Ú1:·ŸÊ¯KËdÌ׿—ËOŽWþ.ÄÖ Z½8_)@ P€ @­ür9Öü <2qñ)* i›d8áè05&¬Lo^v',ƬÙ+-C Û–B"gà•©ðµCéöT ~‡h„!ˆÛ¼ ÁÒŠÛfÂÞ/ãðÒ̸òûñÅ´§b”ÝÜ´ùX5 $¸‡I]wáÏ“—”+»³Æô³ „–¶ÐvÉ„ÿ¬Xb]ýêä ¹z?<ú\$âgš{­Ÿ>k” ú²ªKHì ü5h7¢¢Øï L[ñ!Fu8Œù“þŒøTûóg‘ ^)½™g=Wx-ZÏ”³qsÞëW€Ë¤P9çSŸ‹€ŸÍ§_þÞå4Nù…"î³IØ;ÿÏXPöÚ÷Ǣų0À¶ V·Ùk®œû²{ ‹9SÇ “…öŠ÷cu(=G×e~Ú¼ù×W°¾Œ«*U¶ ¥5q‰ (Pû¦ŒÜÿàlí{Bìê­ÓCÿþQûm©Ž=æçdà¤ÑÊ|¯®ŽÊ¯×:L±tæ$Ëñ{ß‹9Cõ‡8MH[‰³}ÇI0×Åf¹~_#×ëiäqQ€ @ÍëÛÝŽ^­mnî¸ãôîݻΚTáӣΠv ¨?,G\gWq[µjeȵ-«æÌ½¾¹rty?àCu‡D’aøHô×€»GZq+¶¡âA]ò°Dz4— äªÊòRe[$b×:ª¹ªåTÅ’eê\}KþÞµ¸óÁɹ*Gã^@XÔr» âŽe#º‚@®*•?C¦'‰…+ÊìNm¶¤ÃÒôL²Ëœ/gÝq޹ªXz2æÉÜ´ÓšÉ ¢é «Š&.˜€çÒÔbåÉxßXÎ70ô»ü ÅNC§"%e;¶oßnØ¿ºcIY0ÃÊrUÓÓ1oÜ „„E— 䪭y)q=ÁþÜ©õê¼^éµhLû÷‰vÈU5&Ë9Ö:öæ«weS2¢‡E–äªl鉘úÐú]íƒn­äûhí¶«J{3îÅ„!"òñ5ÖcªR= ¬PÎw òMÈ¡!ò]÷Í/ìíä+¬»ºS­’í²y S€ êÀE‡--Æ¡¾ÃSŲU–wlÃÏ2óv™†NME—”¼S³4ÅÉæõI[ðÓ~5ú(@ TE   ß|ó6…§ V䪺úôé£õÌUÓp–ílX•}ÕdskR—uSà üf­µ—çèáýÍ­ðëÑúT©Éqø!ïr3 zn6lÞŠÍIÿÆÜ‰áÖÉóÆ!!Ã.ªeݦî¼T­œMeMi˜3nžu­¿ôx\ñY¶nÝŒÇÍB¨»L]‚ù_f˜óå$áÅ8=Ä‚i‹V#IËæ X17ÚØÆ»ã„·âWÈ\½³ ù‡Ç"nE–.]ˆî•tÈørf®×1 ˆš±TÌ6có†xÌŠµ¶9QÌÖ¦éßÊ­«­ ¡ç"~Ãf9¦$,6ܺ>ùÃDû›\Ö-¶ %8eyk?ÛM•.»X‡$WÙªëX†Ç.ÂgÊzà ØLÏkn‰ÿp,Šß ǹUÎÝ «7R7áë*æì5•†Y‘3­^†(,•}m–óaw ãþœ€ φ!sãâ±YÚ˜ôï¥îonºÜrÄgÿÓÏ5µåML‰O7o4„bVÜ¿¥Ìf|¿‘ú…$ÃX?ùæ½û×Ëíljërâ'Öã ‰’9Â7$Éñ&!Þöï"} Ö9Ž^Û·‡ï(@ P€5) #N|¨nÊ~òWÀæcµ&÷\3uKg›¦ªf?ëø&5³£ë©Ö|ySF†þ þ:uš\qø¦’ïÇ×Ó‘óX(@ P á¨›íù'3pâÄ dffj?ÙgÎkEç‹P$•.Ï#ûè/hÑ;ú£ÝÅ\ü´7S¶ãÀ@ÆoèÒBnDщ“P¥TÝL (peû÷ïÇ¥K—pë­·BM·Y6©¹*¥¦ê±„²9êÆ{~ÔóÀVP ²ðŽÞMs8îUãkÉ÷>ªdÓ±ö›ƒ•îsÚêÄ„kó™zË<¶aãç ~†^xûƒï–¯j9‡•YVæ|÷±„ÑÌÉ0\‚ž3Ç ÈÏot Š+çZ‹'®ß®éò¶¹¢–ÎŨ=` D½½}ƒ%¥;€Jy{)ADC@ÌÕ{7î·¬nÚ-ÁAÁè×/†ò#ã˜Ë" ½©· ˆ]‘€g"ú‰™7¼}04fÙ¼¸{ „ÊðÄ Æ‡!@æeõð0 ß¨™˜;Ü¡Nÿ®’ §¥ò½³°_7?'†e¶”³{©žc Ÿ™c$ ¬¬}ƒðÌœY¥sé5?dŽc™·¸Spþ6­4à­wİk–¼qöšÊÚRz t–=ƒ~²/o9ÚuòÕjX¯à”ÙØèð„P¬ø|‚d¾Y:õÃÌÅs­Ç²ó˜¥yYXùŠy˜j5<óŠÏ`¨Ìõì-פ_ÀL]¹-ݼø8ì(¨vn?•_—ùØõþ%Ã1OGÈ5dã5 @ý]|0ËJ¹gßIë2(@ P€×B cc¼Lç!Ÿš3Vcõ õùŸŠ÷Ë|Mûr!¢¢b0ù*ÌBHHˆü„!*v!¶¥•~˜:›¯¢ã4åìÅòY±f®„Úçªm(݃<´µ#³b¢¬yÂFDaÖò-Zž¼Ýò=ùþqÚñ õ<ƒåÛ²¬»KÛ² ±Q#ÌíØùkaÓ|Ég”©@–!fD˜%O&lÁ—˧#fV‚];J]Óõº4‹ùHÚ›Sº/1³{³bÕô­¾ÅëV"&*Jr,û}?GË3+|ªÍZuõ/dmצ‰ÒW¾{÷×¾—½óñ®êßk¤(@ \cüìt:tGŽÁ‘ƒûq,Ç̵mÖéjÛ¼GÜØÎ/ïÖ¸¡›£Ì›]té‹öoxÚ¡ŸÜÓR7ñ÷øµ­•Ë (PV@ï‰k4:þOPQ‘ü£+IðZ—ƒ¹uùì°m¨‚€qïFÄ[:†Ä>‚N6ut K¬Éïl@ém ›Lj1|ì¡K·DLB¤%Ƙ·þëòÃÇVµ\é.,ñ]‚43ॠa僕~ƒ°zÑ,ÄÆNDìý]´:¼{?‚¸7æbîK1®Ì°ÃƼƒØøÃaë¾JƒˆÒÛXŠ_~cÚ÷VkdäÈ,QzÏÎÄõø¹ÜgF(&<dm‹¾à×±›¾¨Í‹b}ã`Áx椵'6ª8ðNµ‹!"ì[èÛú‘N^n.ßö½ô+Ò¾˜õÓ×”ßÛ\'³¦>h7ß²VŸKÄ.вVýÑ7¬ËúBè´ *Û»…Ÿõô|¦ŒÒs:cRù2ðEä -ÙS±í'û¿6g÷c® ¢ëÒ·Ü¡wNÇŸŸ…¤ÝiÈ3ZzÍwŠ­2TÓ† ð×!íõ¦ó• (p r°.N=çˆA=ÐãŽíA©”y òh\i*ÌN‘§¡S¿DˆKÎBøðH„ÊG]jòJLŽ„K/Ngó•Ö\ºdÊÚ‚È!ã°d}2ÒýBy«ì@ö¹`2M7Ü‘³c†M˜õ)©hÚg8†‡÷‘)R±~ÉLXµÇ÷n‘@®åK1ÎâðáìÙFÛÉîå1ˆœ²É©g:<\¾{§Ë4ó9hº%€ª¦i-SÄ!%]‚ÛÇ#ÔO›=3—$"e÷ëÃÛ–Ea´Ô•˜šŽðái&ñxaÜ,Üb–+ÌNEzÊJŒ6 U¸\†*nÞ)òTyüL{_ãÁD-OjËÞ(û}G+Y³¿öʨ-‘Ú°7¾¸Oþc‘ÿ!ö–û~\q;Þ}÷]s\ ô«`|éÚÆD P€¸Ö*àÚî¦;0pà@óÏÝaècërÍRùÜ=J{ˆ¹x¸ky.œ=%wv\ÑÜÛæ¶½Ki¾rq(@ T*Э[7¸ººâ»ï¾Ã™3æÿ·Ùøì³Ï´·AAåïÑÛæ»ÖËö7»Ö ãþ)@ª˜°õ“¬S>ù'–j ó³%ò%¿š{¨y+‘xðOã hzkÏòS­V?„ËXÍñKToÀ œ–/6ÿŠ\Q¹òqOmå™pæ”e­ÿHôò-ŸÒÚ†ÊÍ6‚†ILJ<ìÝ‘„/vîÅÞ©Ø¿'é–`·Mî*-šÎf[ËY‡³¶®Ñ|öû¬\¢n® ÄgÓ·"0ím ­ë¯`Á£}w-H¯íáTù§=+ªÊdÒã‚j9¿ÖçHË$› xq™MòÖd½:ËoSkœ¿¦Œ8󋥎ÀѸËÏ1ªï-Ò+Íö}zµwЛc°l5ž.ýàOž‰°·åf¤lÓoëj—X^é…¶å§ãøSi'd8»±[Õ¥ÿ`À2œx^êz¼½^ÛbÀ·¡_?»2|C P€¨mD\)K„ŽÅÚ‡åmø?ù\œ-ÉOw<‰ëƒwMÍM3 Çê„™0Mнk§cܼDÌþëj„­/yœËWþë¦ ›ßzE{.tbœŒŒlÞßsјÞ?‰‰oc×Ô”lˆÓÖO\±ãõ‡õ&}‰°a3s%’ÑWRÞ‹˜þÒ;W¾w|.mÒb£YIˆVßùü#e4’©–ïÉs°cy,&H öÍOÃÛw¶LÓŽ›ç@¯~Û²LŽSßæÔ7[IY_Ê{õ;o|öú™£¯“¶I yrVNy ÃR樜–ˆ+æã÷Aj”#Z‡ÎÑ|7ìh=†] ŸhycÇÜUÁw}½®šxÍÀ'Úÿ!€è°þ6;HÁ'ßg!h ÍºŠŸ|òImcÙÀ­Z¯o«¸4·P€ jIࢺßâø¾„} TH×>¹6k)½pO @=줙± ÍlŸ“ï(@ PÀ5´òرcñþûïãÙgŸÅË/¿Œ€€¨{ãë֭òeË´j~øagª»fyœùT¹fãŽ)@+Èÿ+Ö—žˆ¸•×ñÁší33¬\†>ÝÛ”[§¯øí°>¬+Êõ­j9½îŠ^ÍÏ&ÊÖ¦nð¬(S¹õFlYö"¦ÄéCN—ËpÕ+\šµ³Ö±çÔ9YÖ¿e[W—[(ílÙT ‡ÚËeu~…©ÄÚ¡8=qr¦~¡•'SZúGÎÖ2ùG/Åêðê8–Ê÷Y•­Î_ShÙYî«H}êaT|6ÊfmÛU\.Ún»Õf¹Ì‰Ì³nmþúl2—_tz?å‹Ú­1Çæøðæü…Ò{HÝ%7§ôÔd¬T?Kä½ÜP^ñáTëÍb=_)@ P€µ# þÓü°aHHäædÉÃ\.èÐGFçHNAÜêÍx¬_„ݼ³Q³&X¹æ’ÑaÞID|ê&¤æ‡—¥á—ËׯìW3S6&ªOëpLl©E^\0ý³xŒ9çŠ &'lÀ† €§§ Yi‘™qÛ>Òܲ>"e,ýN¡îµªPkÚ÷Íu¶iÓÿÛ†Œó*\[šK¥|µ™Oiy†Ë1ê\µbÀÿ„@ æ¦ZâÔi[¿Ñò…Ïšc äª~¢e:ŽñÂúDü÷àtèG>k>"$kN7Q‚¹K°ú“íÌ•ïû¦ƒX«æ,6D!ÜvÇ–5ý’·ã ¨G΢­Æ:y¢Ph<]Ïbå3ã/S‘<7ðN7AÚê]r¦cF P€¨n´“{Gvþ„æ·õ’©¿ÎãÐî}b¹>œ;¶‘¨³ÑÑÑØ»w/¶oß.£3EÂ`0  @:^•”þ¿nÉ’%xõÕWѤI“:y æÖÉÓÂFQ jÿ‰—ÙÇ,Ɉ¹Ÿ£¬¯V÷‡Ô°k*å­_ÝÏ…Á:­®¶V:üV(Keï~™7zµUúšË—þSgÞVÕræÒÿ.Ò7[‡ÓWé¯&c>̣˺Ȝ¡8¸Ö6kÀðèÇ1°o0:µkƒö|qD†À§õ–Õk¸òWÓÙÒÞ™}Z;×› ¬Ù•ïÕA ï¸Ã_ΊŠåIëïÒžF„m—iEr³Z×öôo'=s÷Xß_Óc±¶Â¼àü5¥zp[B©ÝPñÙ(…-³?§ß–”v3>í ïî%þeK»ÂËËU[ß¡güOlWÙ ÕòÞ;` f.ˆ©ù9H?|?îÚm›>“á-éñ÷ç®Øºl”ÝòjÙ9+¡(@ \N ï,ѨòtA4†,(S ùmlÍŠ@˜‡”Í¿•É¢z¶È`+Z²ý$w6Ÿµ:ãy[FR`Ú”ùŸ°·_¬±Pã!,úûëvJYëÐlÊë‹g³µÚå@—`BŠžÑæ5«™©æï\;—ÏÄÅ ÚŒú—wWó#Œß²ßj\àC7©4çΫ^?ª€÷õ³”5ÞÁCdz”%ˆ_ÿ1öNCç6@=âúÃ.ûПd«ædÄæÕÒÛÙGdÎ?ƒMí#dž"~öü'㛵—_Ôº*§íòåK2(@ P fWR½Ú¦÷ŵ]¶Ñ { ×m7¡ðûŸ°këImScwÕÍ¡H›7ך—  (à´€fùí·ßFBB¾þúkìß¿-Z´@pp0"""ðÚk¯aãÆxñÅël@Wÿ§ÓÍŒ @]ÈÃÚ\dª}X”°Çc±mþLVOæKP6þ?j;³.°rí<-×ÿ" ›>ÓÃÅ­Ñ\uAP÷,éŠÊé…œxu·ôPP=÷åÅ`€í ­|âF‡!N’Ü$JJú#¶~¤nW©‚E–a€¯ù]uþviVzsmõú<ÐAõ9Hþ\¿›×®åQ”¹ÒU¾¸ûÑPÄÍ3óì·>Çý ì{¸Ø×˜‡O^×ç!nîé+纮‹}K¿¦\ÐRŸ‚&u5¶g·»)¬×š·+É<IJZáf{;XÏáÜ«wÛnÚHu_9×5@>øíÿ†´ZLYØ’ø?¸ù¢Cœwì|÷ì<–‹Ýe>ž _ôV?0jü3ÈKK ‘/˜7å[1Žr0·¯sÇË\ (@ª üf­6¬±øDL¼Ož>Ó~’áô¯—H 7+>ݰ˜`ë.ÚÈ´í“+ÚHQU‘*®o½\>û:ä|k_+³Ž—Å#kG>Ýã†Fߌœ¬õ" Ÿ8ÑC~‡6-|å1Ç݈º3º\•j…þu¸Y;õ} ‘sã1¹KœSÝO¥µ®®%8s\nƶìÓÆÝª’÷¶=d§ ÍaùÞk*PWJ:¯^í¿üžRuIr³~±ôCórÃ×øaäÿ…K 4_|w·lùLJbtX€V¶V÷ãùš>+¼Ì‘È”-ƒFÁv2>ú&2y„u53 õÎ Ë n0\M P€×NÀ¥ BÃÂ*Ø¿zÝ]ºÍvYpkÝaw[Šz´A_™:ÌT\Œ‹]àæÒ¸‚:¹š ®D@nÕOÙôÎ;ïà©§žÒº‹/ÆäÉ“Ëf¹æïùIpÍO@ê0¥m63Uu¡áÖ ¹jó-©-%Æ}¡ §¿×^“gâß{óíV©7YI+ŸgY~¯Ý|¹ÚÚª–³TéøÅ·ß/“ªi)¯¯ØV>[Æ6|œn^m¸+P»Id ûߊ[Êró÷"ζW®ÜØ+—œôy܉HKÁ¼õS°ö`y³´/—–ž—ðáèmžî¬Üî®vE!£åöœ%%ÏÆ³Ë¶Yo,ê«õ×Ë_(m“4î ð@]:½Ú«Ó×”n{`¸¥h^˜¿åΆ ­¸hæJkõÝ{£uùŠü‚n¹¯š<ûMì.·3àà¿þ†)3gbæ °9] ÀX ÉîºÌÂÑS0{ölLyk³ÌŽgŸ a®7R69;‚´}-|G P€¸,$¼£63`b¬’v´œÃæ<2šIÓdõ™8DÏ}1eæÍp6Ÿíž½ƒÇã³Eî˜:yRÖÇY§_‰œ¿>gžfdjÜ4잇ô”õ0?›e@Tì4üúÁ<$æ¥àí-ÇÜ1±áò½+©Ò³Áçe7ˆX°˜ÿfÇKoÓ%úô$˜øÆß0¦‡Y!bÁV´X> S–$"Y†™Vß7#'ŽFÖê%H¶~ÝôÀÐ9mÿ†™+“§Æû#jÖ+xfhËa©q™­…,ëJ_n}Tz?ÇË7CÂ-û/ÝÊ% P€ (@ P€¨ æÖ‡³Ä6Rà2ÆôÝÖž¦Q–þØAù !#á/Á\uû(}ûäL.ï5ú8øï^¡Ý8²/(7Ò^’Þ úÍ#û­WZγ¥y^145÷@Pµ9Z§Öû |I«ƒ0ÿ•¹HLÍS«l’Üà“›ZÑCƒ¬=_"fb‘Üך,7ØÊ¦Ð¨YxnXSLœb.ÏšÁÍy)ϼ‚ät}·¢¹å_JÇmóÆÐ™_¡sH澇òM ÅŒ§"¢Ÿm?oô(ƒ"¯”|–yѬM(·pÙ v%‚Ç,À†à$,}k Ö§è~»,ð‹SŸB??=¸¬o¯ácqÓ÷ãèUæv°úJ¯)€|µ¡ ⼸DýjiÅ¡Q30õ©Øºw‡@¨>+ér#µU³²&¥eµ%»cðƨ9Ÿ£ËÍ‹ðê¼xóЈ6Ù !‘˜5õI 0?\q5û©èºté4ŸÿÛ€Eñη!0ÏM‰ÅP™K—‰ (PÛ§®CÊÔÊ÷ÚièL¤ÈJ{—¥½~l*ÆÏ™.£]ä£PÖ´0¬ßñ´ –_Îæ³-£–ýŒ‘a6×_RWŸ0x”þר-ÌŸíÁcæ E~ì“/"¦.CÄd)Ãä"夼··µý¦œÝøwâ!´¹s:RÆÏ‘êe»‹ì;o ÂT¼¶›mm }f†>-uÍuAê²ý¶4~™Ôc[Æ~9çÀOÚŠðÿ~°·á; P€ (@ P€õE Ñ%Iõ¥±l'(PƒÆÝˆ¹3Zë­õR•ž¦|ä䜃QÝdòðÑæü*½ÍeiKUË]Å¡óó›{Î<'¬‹üd.³ríÒë7‘—›‹sFéç+yÕÜeÖ{u2ìrÆI¹Içã?™Ï¬Â:ôº.ûj’á•s«ö%ÉÃGæI3ØÞn»lÕšA }âÄIœýírY{ËWUW;+¤(@ T °wy ÆÉÆÑqI2bŠ9`ê(«³ù•½æëò·!lÐdwı‹æâ·øÃ”³‹ž™€õò^øÜcN˜6ÐóU5Õ˜•†ô3øç3S¤7qâ¶.Cp5}-ݹs'úö5OmrU¬…¯§c©œl(@ëJ€Ÿ×ÕéäÁP€¨vÚþœà]Þj?…¬׃€9)Ýàëg飪j9çj×syxà'?N% à|ý1ëí‹NWrx—Ý¡ ¼e_ÕZåe÷Yq9¾€UíƒQWŽ¥ê×”‹‡·úkël¸T|U|Šªu‹:Þ+û{­Öݳ2 P€ ÀU ”Ÿ´ÔQùSÍwÕ ª‰ ¼`á´pŒ›—ˆ“GÃ<›®yG†ði˜Z \UÛžøHL0ÏP‚ÐiÏU[ ·&HX'(@ P€ (@ T.Pùÿ’+/Ë­ (@ P€ (@jèö‡¹ˆ õDÏ ÊÆr6_µ4ª* 5[ï€=?Àñ“¹2ã­+züîô«òCxåÙ}È"Ì蜇6Ýû`@ÐÕ÷ô-¿®¡(@ P€ (@Ú`0·¶¤¹ ÔuS ô¾WÔÔª–»¢0sƒà5Õ N7– (  xûõ@°Ÿþ®âWgóU\õßâaè„~姆šbè1=j¨rVK P€h7Æ… ФI“p´'j31˜[›ÚÜê²€wwDG Ç7ÇŒðovÿ4Tµ\]¶`Û®­¯©këϽS€ (@JÔMíëáæöõp •œ&n¢(@«hÖ¬NŸ>6mÚ\eM,N P€×›€ú|PŸµ™]’T›;ä¾(@ P€ (@ P€¨Ÿiiiðññ¯¯oý<K«srrpîÜ9Ôëã`ã)@ P fŠŠŠ°oß>tìØ­ZµªõX5sT¬• ®Fàâŋڃ>™™™èÕ«ÜÝݯ¦º+*Ë`îq13(@ P€ (@ P á ¨›Û©©©èСZ¶lYT=rÏœ9ƒãÇ#00°VoÀ4Ü«†GN P ~ kŸês£°°°~[M P€Õ&àéé©ýHý?ÈÍÍ­Úêu¦"sQb P€ (@ P€ 4ú|sûZÞ€áåC P€ (@ P * æVEe(@ P€ (@ P€ (@ P€ (@ Ô°@㮟ÕS€ (@ P€ (@ P€ (@ P€ @Ì­‹P€ (@ P€ (@ P€ (@ P€¨iskZ˜õS€ (@ P€ (@ P€ (@ P€¨‚ƒ¹U@c P€ (@ P€ (@ P€ (@ P€5-À`nM ³~ P€ (@ P€ (@ P€ (@ P€U`0· h,B P€ (@ P€ (@ P€ (@ P ¦Ì­iaÖ_'²òŠêD;Ø P€ (@ P€ (@ P€ (@ 8+À`®³RÌWo–nÎÀØ÷÷`Óþ3õöØp P€ (@ P€ (@ P€ (@†'àÒð¹ôˆK.\Âîô³Ú O·&èÝÁÛºñâ%`ç±ß´÷n.ñ»N>Ömjáè©Bœ:WŒ¶ÍÜàßÊÓºí׳ÅH?]ˆM]Ñ­—uýqéz"׈έ=ÑÆÇͺþ·BfÀµI#û7³®·]8_‚½'Î!ë·b´7¸£€A˯çIÍ*@¾Ñ¤¿µ{íÝÑž®MìÖ5¤7gŒø$%r:1ç‹4íÐ÷lÙjüX/]º„óçÏ£  ÅÅÅ5¾?vnnnhÚ´)¼¼¼Ð¨Q£k×î™ (@ Pàÿ³wðQ”éÇŸ$›F*!!@BïˆØÀ‚bED,xö‚zêÙNïìýäôÔ;ϳ¡çyz`GÅ¿ÅÞÛYN)ÒC IH# ø¿Ï$»ÙÝ »IvÙdïÇugßyç÷ýÎîì°OÞw@@@(ˆê`n¹ ¤^7w©u¨&˜:÷â=$5±1ð¹h}¥k]vj‚ÌùÝî®·„‰]É-¯,“õ&@; §‹_ÿÓà⻋ŠEëÑ‘£óMÀ÷¼ó]E?5íyàýÕ’™ìßÚGzf$Ê'&O¼7¾¼Lž½`w‰uuâž¹Ò×m”°V”ïª/ZŽÕ<' šw€ŽÈMLL´±±ÌÜejE 2¶oß.µµµÖpÌŒcB+@@@@@ s y1Ç7ÝK5¹ßSU©Yfªd_éÅVöqcs­gçk÷²‰fjæ¯V”É'-…ÿ»ª\t åI£²­‘¼ï.ÚlF6×òïO ¬×=@4 ©Ó0_vH_™:¦» Éí"…[j› ›¥}ÌôË“Gçx<Ò’ˆ×+’úé]};Gèºo-Cj€w4˜K ·u~l…@GÐϹ~ÞõsOB@@@@½Á\c¬÷°Ö3E¾7÷ϵîa[X%zïÛ Cºz­õÛäã%%’c¶ù­E«Ó)°x³4¸GaÍVǘ©”5úÐûk¤ºn›W=šñvSPx² 4Ž˜)Eæ¼?4ÝÃWGö®3÷ØÕ ðž}§²¬5S-kûÎÞ/OþxDɲº}æ«õrÇË]Ù_¬ó¹ßhÍÔ€îoöîaußÐÝdÌIm ÛvCj@ £ðyï(GŠv"€ € € € €@g ˜Ût'Ë’m& ûéÒRë¡Ù‡uó:ÆŸ,)•­&Ðzˆ)¯Üñ&[f¬_›Q¸î)£K¼œ?!_6WÕË¿?maë¾¾¢¦A¾øµTz˜©“GôJ•‰C³¬ÕÎQ¾eÕõÖÔËzߘ¦©”uzåiÿàz¼öã&÷*Eïóûù¯e®ÇϾï£ë±Q½ø¹ B^w3;mßžV ?Šè* € € € € € €@`Þ¦ƒu° ¦þó£µòá’ÍR\QoYu´®=9GÓ.-¬–»ç­” MS¿³`³ì?Ès$¯Ž¸ÕòtݳoºGU,.‘zsŸ^Ój=ufÔ­¦ÏÌôÎ:’·{z‚ÄÇÅHiuƒõºKBœìÞ;M.0âoÍôÌμÖFMÿ»ã„!^ûq_ÍËȽ~îR+¯§ë%çÍ$ô@@@@@@ ™Ût€²Sdt~šü¸¦B ÌôÆÜmë:„ëËjEƒ‚d]QTmÆÝ`òbÍÐY™«S »'Q{Åá}M=1¢÷ÇuOΠ°nu[ Î&š‘¾:•òG¿”XuŽ5`øùo6Z›í‘"'íÝÓŒöej`wË-û äžK wgl¬G@@@@@ØÅŒÌu;:ÕòÿÖVX9ºlOó[Sëô¼zßZgº{Þ ™¿p³¼¿h³3Ëõ<0§‹œ0¶»¼ô]¡+oeñVYjîËÛ·[²ÊŒ¸Ö¤Ax¹ýˆÓ?@@@@@@ óÄì0©ót§óö¤¦~»UÔ™@s¢5sçíiû÷LïMüíÊ-²ß Ìö¯œ¥  @²²<ÿ0èÜ%%%’ŸŸß¹;Iï@@@@@`šå84!ÉÜO·wVR E)cˆ7÷8&kCá% € € € € € €@Ä ÌøCD@¶ TUUICCƒÄÆÆŠÃ™§~m_mm­¤¦¦JR¼Òö£N  € € € € €] 2Ñï誴ˆ ŠŠ +@úÁw+äîÿ¼'åU[#¨uÍM˜Ÿ#·\p”ɨ”¸¸8‰o^É € € € € €Q(@07 :]Fèؾ}»¼òñ"9û–§"ºã‹Vl”ù_-–Ïžø£içÉÎÎŽèöÒ8@@@@@B-êP? €À®¨¬¬”ŒŒ ™ñØÛ"11ÿ¨­ß&÷=÷aÄN½ëŽ${F@@@@ˆFFæFãQ§Ï 5õõõÒ¥KY¹¾Äº_nGèøÿ–¬—ÄÄÄŽÐTÚˆ € € € € €@H憔—Ê@Ȉí8§û˜Ø¸È@£ € € € € €ìbŽóëþ.†b÷ €@Gˆí8³êw¤¶vä÷mG@@@@ˆ|‚¹‘Œh! ÐfظŽsºedn›7 € € € € €tŽóë~ç𦠀À.ˆ |êâÝ0MN9|w«µõ 2àø¿JEUMØÚD[ÃÖ(v„ € € € € €À. ˜» ÐÙ% nظø€v™Þ%QŽ?x7WÙÄx‡L›8Jžœ÷£+/Ô éþ¾¡¶ ~@@@@@è ˜ÝÇŸÞ#€@”8âêéÙSö ວß»·<ûÞ"÷¬.;žCÚ*G@@@@@ <±€Ñ@öˆOH ¨Ò3&ñ*7zP;¬·ü¼b“׺Pdxž©@@@@@H ˜IGƒ¶ €!ˆOHÞiÍc‡t—¡}ºYå–”J¯n)’šÜ8¢÷ŒI»ËMÿþl§u´GG€çöØu € € € € € És#ùèÐ6@ â“vZÓô£F»ÊÌz{±Œ”#'<ØÊ;a¹빤¶a›«L0 =³ºXõ ÎË%Õ²pU‰,\]â³ G|`£ˆ}nL& € € € € €H€`n':˜tð'ŸÐr0759^Û³µy]Ãv™ÿãFY²®ÊÌÕõSö,¯}¹Êß.¬ü_ž8Ùµ~ÊÍoKIE\{Ò9v¿~®|çÂ"̽汯å×õåÎ,뙑¹¼@@@@@ˆbØ(î;]G¢F@ƒ¹-=Ž×ßL©oyÌÿ~½'K7TËâµ[\F§:¸Å:ìãÌ´yòšC|rµÒ}³äÉk‘a}s<êåž¹.r@@@@@¢\€‘¹Qþ û ;ízêÁ]/~^ Îò¯|µN†÷ΰÖí> Kú÷ê*k‹«]e[Z¸æ7£dP¯t),«‘>[+?­,³Šï7<[N?¸¯$8b%+-Qþ~Á>râÍ÷ãu8ïÓÛRݬC@@@@@ æFÃQ¦ õ-v–—&Ãz§[F+ «dQAµ8ËÏÿ±X®<~»xÕ'ìßWf¾µ< ÏÑý3eÞ÷…rûœÅ¢S7;Ó«*dášJ¹çÜQVÖÀž©2i¯|y×qŽÆÂÎò<#€ € € € € ­L³­Gž~#€@T èhWߨÛeñú·›<ÊÕ4ÄÊ?»Ö»o/INJò(ã^¯« Y˜ûåF™1g™l‡WùÏ—l‘k*\ÅÓÃU†`®‹…@@@@@( ˜åoºÑ!ëpˆ¯GzJ’:*ÇBÐѳo}¿Ù«Ü+ß¹º¦ÆËøaݼÊ8ëv4 ÿ÷M¡ßrZþÃ%®âCóS›ËÆ1i„ †@@@@@¨àó¨>üt¢E ÎO€ôÑÙ’’g1|´°L¶6ˆØË.Z·UVmÚ*ýº'[å¦î+_.kUëÏ0ÖìÓ^—{ÙâŠm®—yYI®²±qíq­d@@@@@( ˜¥žn#€@t ÄÆúž°owÄ«+e@nŠëµû·Ë+\ÁÜý‡eJnf²•×¹ñZމûÕ«‹k=¶q–ÕíH € € € € € æF†$@N/°èݺúÓ´´ûˆA2¸ç®ük¦öq-ïla¿œ rçÜÅY×çzÔ¹$+¾œ#¿¬Üàzí\Ðm´üöþ=E.ù“3[œm´òO¹Ì•Ï € € € € €Ñ*@07Z<ýF¨(Zþ­Wûí¡^yfsà0ùãÕÞuºo_²v-_ážå±<~ÐA®×åU¦lc}Ý\ù, € € € € € Ís£ùèÓwˆçÚÆ.'&$È'm½¨­­“‰Ó.”òŠÊ=ö=LžzðÏV™AýòåȉûÉ;}éݧm¿î…ó{åº^.\b‚¾Î²Îg×Z@@@@@ˆN‚¹ÑyÜé5D™@ŒxÞ‡ö¤©‡KzZŠ¥ðÚüOä«ïìTdÑÒUò§+/”&«é¼ÓŽ“ù}ÝÂv±ffÏýº¿çh×Ë¿üέ¬ÿm\°€ € € € € €@ð‹ydºˆX£^#eÍóEÓãByâ¹×Gź­·—w¾~ü¹W]ÛM=r‚¤§§znëZ+2bèÏunõççåÊo¦æ*ýÌËo7—u݉׵š@@@@@¢R€`nTv:Q'àHÝmè@¿ç(‹`ùªyçc3ºÖm}KËOÏ}ÇE§S5ŸwÚ±žÛºÖŠ™’ù6¹î²é’˜˜èQ&==Mž|p†èöšžž;O.]éQÆ­@@@@@ˆZ¦YŽÚCOÇ@ ªbšÿvçÜÓ¦ººþøó¯› jó:× ? ‹äµùŸÉÔ#°Jœwê±òÇæø)-ò—ë/–?\pª¼øÆR´¹Trºu5Û(ù=»[Û,_µN®šñ Gb4°LB@@@@@!˜Ë›ˆ˜˜8«—‰ ñrÞ)ÁÜÚº:yâù7Í@ÜÆu2<ñü®`îˆ!ýeü^£Í=wzm~Öå·Ëu—œ!{Œ"Ÿ=Íký –ÊÉÝ,E%åžm²=^“ € € € € €@' ˜ÛI$Ý@À)P^^.³gÏ–}÷ÝWöÙgg6ÏQ.Û8ú¶w~¹ïñ,‚ ER\j©Më%zãý/dÆ}ÿqOJJòYÇâ_WÉ'\,§„sØþ2°_žµÍ¢¥«äõ÷>“—ÞüHjkë¼¶‰ed® —@@@@@ˆذaƒ<÷Üs2eÊ2dHXÚE07,Ììðh ÷Þ{ï=™,\¸P¶oß.ãÆ ÏÎÙKd 4v]¾z£ Ä>ÙÜÖVŽ‚õ¨CkóYOœÔÖm“'æÌ³Í;u[ò³[ @@@@@Øå{ÑŒÆbV®\)—^z© :4äí üF‰!o ;@¶¸rµž;vȬY³¤°°°-Õ²mgˆ5S)‡ãáîÕ–ý¹×Ã2 € € € € €»XàᇶEêñ@IDAT¹ÚŒ:sÇzH–,YòVÌ 91;@ ôö@®s:Ä¿[·nΗõ`¹ã§[¯öÍ—ss¸\{á47v„ÕÚNË8Û'±ÜÀyØxF@@@@ˆL–º+W®l·FÌm7J*B <UUU²yóf¯ 0ÀÂ﵂ TÀ-˜;°O/)*«2Uë‚ÂR)¯¬•òªz©­ß&E¥•&ß|=˜uÖC·µ–ãä˜Cö–GžÿÐj å‡_ ¬zÚ{¤Ü÷ä|+ø[^Ý`­+¯ª±žÛqÀyæ¯D×õ¿•rÐ>£Ì~ËL½q²Çnƒ¬gWu_$@@@@@"\`È!gftK:B·°°Ð-§m‹sÛæÇÖ„] [·nÖœëö¸óæÍ£„€O¦`îˆÁ}dÄ |ÉÉÊs§b‚±7fˆ<òâDzhå&I4súkÀõÆ^1ëÌŽ’µ¶5Ï&À[TVm¦dÎiÊ‹F9¿G¶™.9QNþîW)ØTa‚¯kjä¯~^m-—W×™´Ã­à↓µ¹/½÷?¹ã²ãd`ŸVõ:Š÷Æ™¯JÁÆR+¨«ÁÝòÊ­¦¾-Vµ ;¬í^ÿd¡k»Ä„x³Ï¯L@9Óšªù‘?•½5@Üô•ä|öè/@@@@@ˆ g ×=F£-ó5õr[[³Ã¤¶VÂö °kü,ô¦Ûá èHV–™®—‘•••’––&çÝÑ8­qD¶Ò³Q'¶‡ÜÿÇ)V»=×ð*RJJJ$?ßÜO™„ € € € €D™€¿ØL(¹JË4ËQö£»KÀ9B×>岎ÐeÊåÎu¬[Û›ÔÔTÑÀÛ—k¦2މøGbb‚\qÆ!R[[ÛÚ.³ € € € € €!w W;A07$‡’JŸÝðYwÔ=éÍ×Þo°Ìžq–ì1¬·é† êFØC§^>hÏ!òþ£¿—!y¢Ah € € € € €‘"°+¹Úw¦YŽ”wí@ þN"·Þz«ôêÕ«µûßœi–ýÛDÒšòòrÑYõuw·nÝ"©iV[ôñÅÅÅRSScM¯œ””qm¤AÍL³ÜlÁ € € € €D‡Àu×]'¥¥¥ ÕÔÊî;!˜ë®Á2\ÀÐ7nœLŸ>ÝÌ®«#1C“æ†Æ5TµjÐT»‘–tôpzzz¤5‹öø ˜ë†l@@@@è´_}õ•Ìš5Ë8¥ G W÷C0WHt" èΜ9SÆŽ+gŸ}vH¹ÊF0·½yè  Ì Šb € € € € Щ4 ;{öl9úè£eÊ”)aéÁܰ0³Â+P[[+‰‰‰aÙ)Áܰ0³"J€`nDƒ € € € €ag F»ƾ±+“@¸¹aê»A@@@@@"B Ü1‚¹qØi € € € € € € à)@0×ÓƒW € € € € € € €@D̈Ã@#@@@@@@@O‚¹ž¼B@@@@@@"B€`nD € € € € € €x Ìõôà € € € € € € s#â0Ð@ <¯½öš<òÈ#!ÛÙÿþ÷?¹þúë®ÿÏþ³h›ÜÓsÏ='ÿøÇ?ܳ¼–'OžlåÍž=[^xá¯õÎ mϹçžë|)›6m’ &È×_íÊ»ûî»åå—_v½ni¡¥þ͘1ãޖêa € € € € €Ì D‰2 € >\®¾úê€Ê†£Ðˆ#dýúõR]]míî»ï¾“~ýú‰>;ÓO?ý${íµ—ó%Ï € € € € €DŒ€#bZBC@¨««“x@¾ýö[Ù¾}»œvÚirüñÇKQQ‘ÜsÏ=²víZIJJ’‹/¾Ø þðÃòñÇËÆeåÊ•ràJ·nÝä7Þ°¶¿ñÆeäÈ‘®Ï;Wjkk­z5óÕW_•úúz™:uª5’ö›o¾±ÊsÌ1rÊ)§HMM\yå•2sæL+_’~ø¡5 õ/ù‹ì¹çž2oÞ(•••’››ka{õê%Ú¶Ñ£GË;ï¼cµéòË/—'Ÿ|R6lØ cÇŽ•n¸AvìØay|úé§V]ûì³\{íµ²bÅ «—^z©UÏ€ä‹/¾‡Ã!·ß~»ôîÝÛ*èÿ6oÞ,ûÛß,ßììlkßÚV_É_† & .”½÷ÞÛ â^pÁ2kÖ,«ŠÒÒR˲OŸ>Öá_|Q¶mÛ&»ï¾»h¿õ˜jpzÚ´iòðÃË™gžéÚµzÜyçÖ1îÙ³§ÄÄĸֱ€ € € € € €@{02·=©:½Àœ9s¬ ŸNüØcYÁ@ æÝu×]VàôÙgŸ•[n¹EtÚಲ2«¬W¯ºê*yê©§¬@«æëò©§ž*¯¼òŠ‡Ù¸q㬠¨3S©û5…pqq±L}ôÑGeþüùÖT¾LÕ@±3i°Y“hÖ@²®Ó ³¶Wóžþyy衇ä—_~±6Ùºu«ÕÞ?üá¢m?âˆ#ä¶Ûn³Öi€º¢¢Bžxâ +ˆyë­·Š>´fXû­Áá_ýU4ø©6ßÿ½5…±¤5«íûïÿ+cÆŒ‘gžyF>ø`Ñ€µ¯¤}ýë_ÿêz¨›3éÈS¦L±êÐúwÜá\åñÜR4­ÁnMK—.•ýöÛO¤¼¼ÜêÏ{ì! ,°ú¡û§Ÿ~Újÿþók›ÂÂB+ЫûîÞ½»•§ÿÓ@î‘Gi£ßÿþ÷V®•, € € € € € ÐsÛ‘*@ ó |õÕWr 'Hll¬dffZIáªAÀO<ÑÐé{50¨ÁTM::VG“&$$X#_5`ªÛëèT zº§¼¼<«¬[õ¾®š´Ü—_~)'Ÿ|²ÄÅÅIjjª5RWGº¶”4x{á…Z#puD¯Ž ÖQ£iiirôÑG[›.Z´HtÔ¬N‹¬é¨£Ž²ÀpÖ¤AJMÚíGNNŽÄÇÇK=¬@µHu¤­ŽÌÕ §pu´°{Òýí¿ÿþVÖ¨Q£¬ ·ûzçò Aƒ¬rZVýû÷·VéÈd ëÈf ‚k vÉ’%ÖHbç¶Îç–ú£eµ»jÕ*éÛ·¯u ´OzœœS,«³è1Õc¤wÍs& í>ªXƒçÚÝFÓÀ­‘¿Îò<#€ € € € € ÐL³ÜŠÔ^@ƒ¯:å®3éÔÄ Õ‡ÿœI§ÖQŸšÜóõµC[J:õý÷ß·§“&M²Šj@SƒÁΤ˚gOîyYYY®}é”Áöíu[ Fºçkž{Ýîm÷Õn‰{ÿý÷[#wÇïqZ­KSbbbãÂNþ¯PgÐW‹®Y³Æ ,kÛ5i@Ü™®¸â /W]×R4`­᯿þÚpÕ`®èuúe ÜêôÐéééÎÝX~Î㨙ÄvOÚ6 °»;Ù=Ý˳Œ € € € € €@kš#­Ùšm@(1b„u\í®/¹ä+—ŸŸ/Ÿþ¹¥ ÓöêhO÷{áîŒGG›êôÈš:è Ñ‘´Zß!‡båé½[ß}÷]kYGÜj°WGšj TÊÕÕÕÖ:ÒØ™ÜŒöíSë}d/^lÝóW·Ó°´uœ:ëóõìɪ÷ôÕÑ®ëׯ·¦&öUÖž·nÝ:ë¸ö|ûk žkÝý̈g»×^{Y£e»téb/*-õGû¥£ušg âjÒÔÜÕc©£ŽÕIïqì Š¿÷Þ{Ö}ƒ;²ß799YôþÂZ‡&Ñì~ œÛñŒ € € € € €@[™Û=¶E¨˜>}ºuÙo¿ýÖ žtÒIÖ´Å×]wuW½o¬ÞkVËõìÙÓšÒ7½Ç®Ž }úø+J> € € € € €­ˆÙaR«¶d#@ÀˆNë-Iƒ´ÔÔlJJŠÇ´»­1¹óÎ;­Q¹ûî»¯Çæº_ 0Ú§òÕ|ÍÓu-%-§#]ÝGíjyý оzÛ`“W5ˆ©Ûê¨a}í>u°õµT^Ûè p·T®-ýÑzuje퇯ѿþö«Ç¾5~þêëù%%%¢£ÒI € € € € €¡hù×ÿÐî›Ú@'à/È×Ö`žgΜiÝ/vŸ}öñrñ·_ùö ü•Ó tkÛ®AdgpYƒÄ¡ äj_ äj¹¶ôG·× øÎãZÎ=µÖϽ–@@@@@ð%@0×— y €@˜t´ï¤I“¬éŠí£~ÃÜv‡ € € € € €"@07BÍ@èÐÑ cÆŒ‰nz € € € € €±¯x € € € € € € s#â0Ð@@@@@@@ÀS€`®§¯@@@@@@@ˆ ˜‡F € € € € € € €žs==x… € € € € € €D„Á܈8 4@@@@@@ð ˜ëéÁ+@@@@@@@ "æFÄa  € € € € € € €€§Á\O^!€ € € € € € €!@07"@@@@@@@<æzzð @@@@@@ˆ‚¹qh € € € € € € à)@0×ÓƒW € € € € € € €@D̈Ã@#@@@@@@@O‚¹ž¼B@@@@@@"B€`nD € € € € € €x Ìõôà € € € € € € s#â0Ð@@@@@@@ÀS€`®§¯@@@@@@@ˆ ˜‡F € € € € € € €žs==x… € € € € € €D„Á܈8 4@@@@@@ð ˜ëéÁ+R 66VvìØäVGŽ* ŸwýÜ“@@@@@B/À¯±¡7ftj””©ªª" Û©2C Q@¹úy×Ï= @@@@@ ô1æ‡Y†Ô…Þ™= € € € € € € €A 027(. #€ € € € € € €á ˜gö‚ € € € € € €%@07(. #€ € € € € € €á ˜gö‚ € € € € € €%@07(. #€ € € € € € €á ˜gö‚ € € € € € €%@07(. #€ € € € € € €á ˜gö‚ € € € € € €%@07(. #€ € € € € € €á ˜gö‚ € € € € € €%@07(. #€ € € € € € €á ˜gö‚ € € € € € €%@07(. #€ € € € € € €á ˜gö‚ € € € € € €%@07(. #€ € € € € € €á ˜gö‚ € € € € € €%@07(. #€ € € € € € €á ˜gö‚ € € € € € €%@07(. #€ € € € € € €á ˜gö‚ € € € € € €%àª4…@ JJJ¤¨¨HªªªdÇŽ’–ÙM²r{yÕP¹¥D6o\畟š‘%ÝzäyåWn)5å ¼òS3ºšòù^ùUåeR¼a­W~Jz¦d÷ìí•_]±EŠÖ¯ñÊï’–!9½úxåo­ªM«¼ò“SÒ¤{~?¯üšªJ),X镟”’*¹ùý½òkª«¤pí ¯ü¤.)’Û{€W~íÖ*ٸƻ|brŠôèã£|Mµl\½Ü«žÄ¤.Ò£ï@¯üºš­²aõ¯^ù IÉÒ³ï ¯üºÚÙ°j™W~Bb’ôì7Ø+¿¡¾NÖ­Xâ•ïˆO¼C½ò·5ÔKÁò_¼òãñ’?p˜Wþ¶†S~±W~œÃaÊ÷Êß¾­AÖþê]>6Î!½ù(¿}›¬]¶È«žØØ8é=x„WþŽíÛeͲ…^ù1±±Ògðn^ùúYZ³tW~LLŒô2Ò+_3´¼ngOZ^·³'m¶Ëž´=Ú.{Òþn7ý¶'í¯öÛžÔS]íI=ÕÕžôxéq³'=^zÜìiÝŠ_¤¡¾ÞžmÞ?ÃÄï7}ßÙ“¾ßô}gOú~Ö÷µ=éûYß×ö¤ŸýÜØ“~^ôscOúy¬5ŸK{ÒÏ£~.íI?ïú¹·'ý¼ëçÞžô|¢ç{Òó‰žWìIÏWzÞ²'=_éyËžô|¨çE{Òó¡žíIÏ·zÞµ'=ßêyמô|®çu{Òó¹ž×íI¿/ô{ÞôûB¿7ìI¿ô{ÉžôûH¿—쩤p½T”m¶g[ßwú½gO%›LùRå»÷’´®ÞåK7mòÒb{5Òµ{OIïší•_V\([6oòÊÏÌΕŒnݽòµ¬ncOZV·±§-%ERV´Ñž-Y9’™ÓÃ+¿¼¤XJ‹6xå§geKלž^ùj£Fö¤6YÆÈžÔ^=µ×5G¨¯!ª+Ë¥hÝj{ó¥KjºääõõÊöšc«ùìnòqÍ‘l>»ÝwÁ5G°×õæ\»ÞÇ5D¼9×öòq Q_W+ëW.õr‹OH”^ý‡xå{Í¡ß-úcOúÝ¢ß1öì5Ç6óÝXàãš#Î|7æû¸æØ±Ã\C,õq c®!†´Ï5Äê%?Û»e½î;t”Ïü ¯9Lûµö¤í1ý°§à¯9Ì5Ê6×(ƒÌ5Jœ÷5J¨¯!ôý©ïS{Ò÷§¾OíIßÿú9°'}ÿëçÀž"íšCÏ?z²'=ÿèyÈž6­3ו>®!òÌ5DªksþÔó¨=éùSÏ£öêkŽâ æÅûš#»g¾¹Fiû5G©ù~,÷q ÑÕ|?¦ûº†0ß¿ú=lOúý«ßÃö¤ßïú=oOúý®ßóöÔá¯9ÊJÌ5„÷ïi™Yæ:Î×ïÁýn¡ï}OØ“¾ô=aOwÍa>‹ú™´'ý,v7ŸI{жß-B}Íì5DgøÝ"ØkŽÕú»ˆß9úêï">~çöB¯ÉôÚÌžôšL¯Íì)Ò~·õ5ÇÆ5æw‹­>~·èc~·HÿïA_sû»Eˆ¯9:üïA^s”škŽr×]Í5Gz ×úfJJŠäääHV–÷ï3öÏeg{í}æél=¤? °K ¤°°ùÇa+`ä3rµÍW@ÉWžsßë|ï@Ëú.ï¬Íöly³¹¯ú}åéž4¤æki¥®ö™|–÷qqêÜØwyçZÛ³i¯ò&ÓV°ù¥¯ò¾òt Í÷µÎ;´ØºúõÚÝWý¾òœ{ðµÎW^Ëåk½Ÿ}Õå+Ϲ¥¯uÁ¾Z:^þÞsÎýÛŸ­}·pü½Êû9ÆörÎ×Zµ¯>û{OhY_åõy?W>Øúýy¶ÔÆ–Öyµß_ýùóôª·)#ØþêûÁWûý4Ç*뫼¿öh¾ÏòÚ1?ÉWy_yºy°ç­Ç_]¾šríñwL#}¶¿<Õ ]ê÷÷篿¾ð›Úâ³=íT^«ñU¿¯<ç.}­ó•×Ry³SçjÏgsÜ}Õå+Ϲ¡Ïu~ê×lŸå•ÙŸƒ<^º¹¯úõ<ã/ù,ï§ýþê÷ëé¯=ÁÖâöï°®} µ‹Oí÷Ý’¦\}O´XÀsecûƒØ"È÷œÖïËȳͯBÿ\{üµßßW€êÓ_ýlSÞª¼¶ÓWý¾ò¬£ì9.èöÛßö)ï#Ö`uWüZ4¿-]Kþ=]E¼|Õï+O7ô_¿ïÏh°íº|ïç`ë×û´Ð7ºŸä«¼¯<Ý<Øó‰nã«._yZVSKëK4ÿ_˶Ky}£øI>ëÚÓOå&»]êoá[ª]ê÷Ó_­Ûgýþ»ë³|KuøZç§9Ö^}•7;õÛ"_åM¯‚*lý~+7+¬}û߽צÚ~_}ð*èÌ0uS>èúC}Ž ²¿A·?Øïl=f-¼¿œìÎgÿíñsj¯þú©^ß»íÓ~g=ŸCÿáç;ϳ®Wþüýò´ÓûÙoýMþ:P¥²²ÒzTWWK~¾÷G¹:Ñ b €?£NØ]º„á¨mØ.e•:s©”+)™>Gç…£-ì@@@@@:®€ÎèSQVjf Û`f«ì/Ù]3$Ñá=›OÇíaË-'˜Û²k@ [¶ÖKý6þN¤tl‚ € € € € €-ÄÇÅHF²÷íÔZؤC¯Šž°u‡>L4Ž%Ð@ ·c0Z‹ € € € € €@ˆ¶ÁÜòƤ™t$Æäv¤£E[@@@@@è8у ˜ÛqÞ›´@@@@@@¢HÀE}¥« &êŠ-Öžº¤e„iì@@@@@:»@íÖªÆ.¦&tö®ºúÇÈ\  Ð^Eë׈>H € € € € € €@{ l\³BôM‰`n4múŠ € € € € € €F€`n‡9T4@@@@@@¢I€`n4múŠ € € € € € €FÀÑaZJC@@@@}]¬Y½J 7Jrré•—/¹=z„`OT‰ € € €@psƒó¢4 Ð%-#€RA@@`× h÷éY˼7^“òò-’žž![·VK}}½ŒØm”œvÖ9²×¾ãvm#C¹÷†*)ܸI*kÄ‘”&Ù&€Â¯¡§n@@h£@brJkèx›Çì0©ã5›#€@$ WÖEróh € €¢Ü?Ýt­¬Z±\Î9ÿ"µûÖh\Í_iòÞ}û-ä}U®¹ñV™0ñÐĪäµ+—‡ôQ$£·ì3ñ89ýŒãehv’»*«J¾xá>¹ïá7¥ÜÖ„ çÝ-—Ÿy DßÏ#6ˆ _ÖHaA±˜°¸dç÷Ä ·oÞ`ù WË%.ƒÎû§û—ÜÿÒ2|ÐQ’_ò¡¼øÚw¢]è>ö8¹ì’“dë§Ë³Þ—õ[Ê$=o¬œ|Ñ•2í€þ"Áö§ª`§FÚ–GM[z›¶ ­ÿRf=ó¹Ù¯H¯1ûËôK/‘ ƒÜ€j äµ'•WÞnlojî9hêrÊ”ÑÖTÉÔUøõs2ó¹Ïe•Eñ½<~óÕ’™{¨\~Å$‘U_ÊKÏ¿,ÿ¼P* Hjj® :àx9ûÜ©’·³ ïæÅòÞSÿ'ϾÔúö«¯ß÷Û€ÒûÞxdù? € €ìjî™»«ûG  pÏÜNxPé € ÐI>ÿôc¹ó¶›åÿÞzOþxÙïdÿ’ÉÇ+çqŠh WÓÔã§Éù]&çžq’œ}Þ…RYQ!/ÍyFž~ñU U2÷‚Ãå±¥"ƒÎ4÷8=Ï~Ó*yöôÃåÉufÓ1WÊÜ;˵GÿN~µÕtê_î–…7\+?9ó3LÀÑ>S¦\õôËrX¾¹ïnÕOr©mût3ryÓ4É"cåž7’‘>¦ù­Z<Ë–ÿeª4õÍyMËu†b;©­*“Ê­æÎ¯É™’‘âO]*W=þ½«éRæºÏnú¤Ûå©ë±‚ž ?G®j 7×f[òè“Èå³>£r–ÞŸ²ÿÊ5Çý~§F^mq›FZû~‹éû~Úwcy‹±üÆÖL}™>ñyêÖI²ÌÞ/uu›…\î2jª,cº<;³‡œvÆ]®Ú=ŽSÆiòÌ«—J7×Úæ…%ÆÜ£>û ´ý‰>Þ/º§SÿúY~ÍZìûÎbÍÍ-f @@ð DÓ=s™f9üï/öˆ@§¨®,}@@ˆ4M7J¿%6.NV­\!£÷+ïÌ{ÓÈÕöÎ{óu©©­‘#G›ûè.•!ÆIÉæÍR__ߊî¤Èˆ†6nWT! &†ØÅUK¦œzÃò¸ .ærgSr¨Ü0ë]3õñ[òÆKÿ” È3Ô{f<ßx[[÷íóŽ–û_ùD^0Ó$Ïyä:éeÕû½ÜûØ—®=¸/üüߦ—¤w¦w WW&¦dJ·ìl++…ÈŒ¦ å “o—¹½%/|ôÜsyãôÑåoß$sn 8Ç'8£Ç½åbsà·?úB½áh×î'\þïÆ>͹½©"›*jD‡öº‡ÊÔÉ#¬eGî¾rô¦lÛS‹ýiX&Ÿk4ñ÷rìØÆi¯û“ãœÍ‰7;6õ½ÝT_¯=LÛÖü$?~ÿ“T&•aMíúø›5Í-l©.SÊ‘–ÒtÏ\‘äd¡v8ô¿¦ô¹\wö9ò÷GfÉÿªw“Ì1ÁzìžÚÏŒ´n)µ´Ï`Ûoöãþ~{?˜¾·ÔFÖ!€ € fÕK~}DSrýÓ"š:M_@@@¢S G¯^²vÍj©5#o *_}ñ©œyÎoåõW^–•Ë•øøx9ùŒ³¤¾¡^üü“|èá²tÉbÉéž+±±­ù{è*YôAã}j%'ÍuY‘¡rèþ÷¤•Ú­²¾épôØÕãÀdŒ'ƒäYkZfÏÀ•ñCƒ¦Î úÑ)žuJä·ý8׊äÚ«iý ),k¡>¦Yþö‘Kåoo¯~“®—³ 72¨lÌÈ–ñS‡Ê\3­r³/÷Ô}@×Ë×’YÐ-ÎÛ»“þ´ÂhiK³Y¼uìÖ SŸsÜìú97É%sÜÖ5-Vš ¿³{-Ö彩•“8ü ¹çªÍ2ãž¹fì%òî}4î5ñJùÛ­Ó|N³ì¬®Å}Ú~glï·€úîlÏ € € °Kšÿ]³K›ÁÎ@@@½ÀîcÆJ—.)òŧŸ˜ûáž/×_y¹ì6jwyäñ'eñ¢Ò³gž$%'É_o¿Mr{ôqû(×\~‰ì?á V5®jñÛ÷Ë5[ïsÐX3ºµÂUëäŽdÉjÊݰѬÞu¬Zñ½ëþºÁQY"?­©’‘neËV¯mª¥ÎŠºvÔ´’Õ§q a3mó¬ç¾” WèYÄŒö|}Î÷ÖhÜUµIî‘mÖ›@tázщ‰›[U&?5¨«Å<ÝSg+ÝWµ¼¼“þa¤o­ÔR[ ¾szç}®ú·\9.K*k̽‚ãÒPQ"¥æ¾ÁÉ]ûHÇÔÕTÄþÔP[+½8O3†Ú"Y±h±|=ÿyã˵²þÿËý{Ž•SúÛ7k~Ýí7CŽ]õ5¿ßë»kC@@@`— ´æÏŠwiƒÙ9 € € €­HLJ’©'œ(Î|@z÷é'\r¹Üõç[åæë®”þû­<ÿÌl¹pú²~]\wómò†±«÷Özü‰;ÝeuÅÙRU&›‹‹¥pÕ"ùä…¿Ë´‹þÞ´ÝX9é?»Äþ2a|c±wo›) g\©])ÏÞ5«qEÆžÒ³9šjå=ùÿÈêÚÆÕRü_¹ÿž÷­éC¹^›ÖëSî!rÃɽ­Œõ¯\+·<õ©l®m ¾6”™}Ý|yã}TM‰“-}÷n ön™+3_øÉÚNÿ·îç]ê±#ó]ùm]h±?­4òÛ¦Ä!rÀ˜Æµß¼÷Ôdö¼ü|Éͬٿý­\uÙïäÑo‹ünîµÂ0V[™Kä»ð—'Ε“›lKMî`Ù{âT¹ôΙ®)ªK ›û^õí,£-ío˶;kë@@@ Ý\˜Ùî5S! € € €( Ó*—–”È­×_-×Üt«ì¾Çä½·ß’… ~’´´t™vÒ©rÔ”©òþ»oËœgŸ”;þv¯¥Ûs§=Ñéɯø.vþƒ·ËH Æ:ƒ¯Årð%·È¿¾œaFž/W÷¾ôÊë-•ëÖ6ݳVä¬ÛÏ\mÌ‹¥ÏÊ…G¾%£ÇäÊO?.q­=çìýܦve[ c.º_Nýáyn©È7_+§?.’ž‘i¦vFEzl‚ÐÖˆßÉrÃÄÊ_>,“oþLz¦·ôJ­0C.3÷m¼'­ç^š^¹ Òu[ôYÔÊl±?5÷ÄsWžôIrä¥WÊÿ5Áöͽ‹›'£ÇçȪ/G&‹ì/N, /xÖá|åY—É57ÈuŽô}î²Éòœ±yêljÌyЬœ+çü¾©€›úSjO<ÈÏ̓;±={î3°ö‹4᛫ tÛæ-XB@@]'ÀÈÜ]gÏžè´]RÓE$@@"Q &&F~å52`Ð`¹ø·gËGï¿+c÷Þ׉«Þ´ôtùÓ×È£= ·üùN1rtËÝpFñì¥2zË>Ç] ÷Ìù@¦Ê´­õfëÈŸ$ÿ™u»ì“×Xl½3›1T.¾÷e9ÍkûÞ2í¼Ó¤—™2¹9Û[κûe9ª_’m_î/{ÈÙÿzKn8óPkÊe]ÓÈ5uš)‡ÿuÑø¦ 2áÖMÙý_o1Ó7rMºRf?<]2šJºžÜn¡›ØµGÓ>ò%ÍÇŸ’»¦C¶6Þy‚6rk‹î"±é89÷›8hš<óà•æžÄšÖÊOMÜô!Óäž—î”î÷øÝI]’8BλüP«&ëUf*ãá§Ê£·N7ÇH“9N®@îPsœ^iƒZ:Nf“ì3¨öÛÆj·­Õþ‡ € €»H f‡I»hßì:©@q¥í¾Y´Ÿt @@ c è?‡çÏ{C^û¿¹²|™ªÚ”âä ‰‡Ê‰§œ.ýúpf‡í¹ª¬X*ÍôÇŽ¸$ÉÈÎôe[û“\säïÌxË¡rÿ{ÿ‘¡ŽÙ\Xfî‘ëÌÜlq?î´Á fÛf_ õâHN“ì–¶o¨’Í›+¬ý$efJF¢èìNwè£@+ûÓ¢‘Ý´œÕ [ÌÔØ5Û’”š*); ²¶XYƒÔšcgŽ¬Û”œõ‹©?MRRR<©³X«Ÿõ·¦ýmÙ¶Õ fC@@Ú,jûëÇ6×¹¸þi¹M¤e € € €´¿€ŽÐ=rò1ÖcëÖjÙTX(IIÉ’Ó½»ÄÆîº‰¬R2³mã(}÷½^çÝu$I·Ü¦:ö½ic®nkîÛ­¥2Îu޳ÏÑÄÎUíõL5 ¬m4ïá=Ê8°m¥’èènÏúm»³^¶¥þ¶lë«-ä!€ € €@{ ÌmoQêC@@èpÉÉ]¤o¿þ‘ßî†:)¶ZYmFÉv‚ÔÙúÓ  ]@@@È`šåÈ:´N!À4Ëâ0Ò @@@@@"R š¦YÞuóFEä¡§Q € € € € € € €@dÌŒã@+èT[«*D$@@@@@@Ö Ìm½["€€M«D$@@@@@@ ½Ö,] úˆ¦äˆ¦ÎÒW@@@@@@è˜;vìè˜ oC«™Û<6E@@@@@@B%@07T²Ô‹@ ÄÄÄX½ß±}{+Ðu@@@@@h/gÌÁƒh¯z#½‚¹‘~„hP %%EôdZ_WÛ[O“@@@@@@ Ò¶VUXMÒD4%î™MG›¾"&ÜÜ\©jIHJÓÙ  € € € € €tf„ädINI“œœìÎÜM¯¾Å˜Gß‚½È@ö¨ªÝ&[ë·yT»yã:©ÜRâ‘§/ºõȓԌ,¯ü’ÂõRQ¶Ù+?+·—¤evóÊ/ÙdÊ—ú(ßÝ”ïê]¾´hƒ”—{ÕÓ5§§¤gy”m”-%E^å3szHFVŽW~Yq¡lÙ¼É+?3;W2ºu÷Ê/7u—š}ØSº©»«Ù‡=•—Ké¦ ölIïš-]»÷ôÊW5²'µÉ2Fö¤öz ìIíõØ“[=Æö¤ÇV±=Un)5å ìÙæ½ÐÕ”Ï÷ʯ*/“â k½òSÒ3%»go¯üêÊr)Z·Ú+¿KjºääõõÊ׿êÚT°Ê+_/ºç÷óʯ©ª”‚•^ùI)©’›ßß+¿¦ºJ ×®ðÊOê’"¹½xå×n­’k¼Ë'&§H>>Ê×TËÆÕ˽êILê"=úôʯ«Ù*Vÿꕯ„Ñ³ï ¯|i¿~åR¯üø„DéÕˆW~C}¬[±Ä+ߟ y†zå7Ô×›ò¿xå;âãMùa^ùÛ¤`ùb¯ü8‡Cò÷Êß¾­AÖþê]>6Î!½ù(¿}›¬]¶È«žØØ8é=x„W¾Nñ²fÙB¯ü˜ØXé3x7¯|ÍX½ägŸù}‡Žò™¿féñuÙÖgÈHk6ûFÚçÔ3îë´=Ú.{Òþn7ý¶'í¯öÛžÔS]íI=ÕÕžôxéq³'=^zÜì©`ù/¦|½=Ûßa¦|¼W¾¾?}Í¡ïO}ŸÚÓ†Uˤ®¶Æž-=û –„Ä$¯|ý¼èçÆžôóâë—ôóXk>—ö¤ŸGý\Ú“~ÞõsoOúy×Ͻ=éùDÏ+ö¤ç=¯Ø“ž¯ô¼eOz¾Òó–=éùSÏ£ö¤çO=ÚSÑú5R]±Åž-9½úH—´ ¯|=ŸëyÝžô|®çu{Òï ýÞ°'ý¾Ðï {Š´kŽP_Cèõ†^wØ“^oèu‡=éõŒ¶ÉžôzF¯kìI¯—ôºÉžôzI¯›ì)Ô×U奿šÀû"%½«¹&h‡kó^Ö÷´=é{YßÓöô5G¥¹æX·Ê^$§šk޼~^ù[Ígw“kŽdóÙíîóšÃ\£¬õqÒÅ\£ôö¾FÑsUH¯!̹v½9çÚS¼9×ö2ç\{êð×Á^Cì0×K}\CĘkˆ!Þ×z- ×ö¤3#é5¯òkÓþ¦ö¤í1ý°§`¯9‚½†ÐkJ½¶´'½¦ÔkK{ÒkV½vµ'½fÕkW{ öšCßÿõ>®9ôý¯Ÿ{ õ5‡žjª}\˜óC’9OØ“žô~·È7¿[ĵÃï‘vÍêkˆHúÝ"9>NR½«²;Ókï_Î:Sïè ì2=™:âb¤Æt¶íþjd— vŒ € € € € €@‡ˆ1-×xC’ ä&:¼ÿ`°Ãv,À†327@(Š!€ € € € € € €áˆ¾ðu8uÙ € € € € € € ÐJ‚¹­„c3@@@@@@@ ”sC©KÝ € € € € € € €@+æ¶ŽÍ@@@@@@@P Ì ¥.u#€ € € € € € €­ ˜ÛJ86C@@@@@@B)@07”ºÔ € € € € € €´R€`n+áØ @@@@@@¥ÁÜPêR7 € € € € € € ÐJ‚¹­„c3@@@@@@@ ”sC©KÝ € € € € € € €@+æ¶ŽÍ@@@@@@@P Ì ¥.u#€ € € € € € €­ ˜ÛJ86C@@@@@@B)@07”ºÔ € € €eWT@IDAT € € €´RÀÑÊíØ B PZZ‚Z©@@@@@@ ÒºvíºÓ&Åì0i§¥(€ € € € € € € V¦Y+7;C@@@@@@ ˜˜¥@@@@@@@° Ì +7;C@@@@@@ ˜˜¥@@@@@@@° Ì +7;C@@@@@@ ˜˜¥@@@@@@@° Ì +7;C@@@@@@ ˜˜¥@@@@@@@° Ì +7;C@@@@@@ ˜˜¥@@@@@@@° Ì +7;C@@@@@@ ˜˜¥@@@@@@@° Ì +7;C@@@@@@ ˜˜¥@@@@@@@° Ì +7;C@@@@@@ ˜˜¥@@@@@@@° Ì +7;C@@@@@@ ˜˜¥@@@@@@@° Ì +7;C@@@@@@ ˜˜¥@@@@@@@° Ì +7;C@@@@@@ ˜˜¥@@@@@@@° Ì +7;C@@@@@@ ˜˜¥@@@@@@@° Ì +7;C@@@@@@pVŒR € € € € € € ¬@]]”””X­[·»9å;‘@rr²deeY„„„€z³Ã¤€JR@@@@@@¨­­•Å‹K^^žÀ‹‹‹ x[ v>mÛ¶YAýuëÖÉðáÃ%11q§$˜»S" € € € € € € ¼ÀŠ+$--Mrrr‚ߘ-:­@QQ‘TTTÈ€vÚGî™»S" € € € € € € ¼@yy¹5"7ø-Ù¢3 èTËúÞ$Ì D‰2 € € € € € €) Óê2µrhQP\ßúÞ$Ì D‰2 € € € € € € €@˜æ†œÝ!€ € € € € € €Ì D‰2 € € € € € € €@˜æ†œÝ!€ € € € € € €Ì D‰2 € € €ÿßÞýÀUYßý·P1±±M[Ö¤ÍÌBg·+¬f1»q§%3M¶pdz³B*¼Ì)Ûˆ5ðŽ1Í!yŸÛ2&îw¼-o,íÁ¨å­c6©qWHi£ÂŠJm”hG9Ýû}¯ëœ‡ÿpä Ðëòáá\×õ½¾ßïõ<ç\ÿ>×÷{!€ € € p öï߯½{÷ÊívŸ‚Ò)òT Ì=ÕŸå#€ € € € € € Ð@UU•n½õVÝvÛmúýïßAŠ&¹ëµie¶Vn¨«ƒÙþ“ÜõZYTÞiºîæËU¯òu+”<'F111JLËÖ–=ü‹ÄïÝr5ºì;ÁÜAübÕ@@@@@@®À±cÇš+ïÿ¾yboþúßÊ+.UqÁCz©¡ƒ~“\ìQ±£ºÓ`n—ó«µôšYÊ,tjøôÝ}g‚ƾ]ªœÅ7+mCµ_)ƒômã_uÓµ7é¯Á]?‚¹Áõ%w@@@@@@úIÀ­çKRD´"U§ÇŸÞ×a¹¾.›CÏfæSH›TÝÍ·’ïùÏå*3ÓÖ?¯‚%‹4{Þ"=øÄ.eDK; rUÝ]³à6e¸Ñгt¶ù7¤-^¯H³ïãÚ’ € € € € € €ƒX`Û¶mzçwì5S ñÊ7ù5U—*³ ]9²JåK.Õ‰·+åÜY©Äe«ô㋚ôû%éJ]þ-í*š§ƒÛ²´ «LñùºÑp>›®Å³\rî~PMG˜2Ëôalš%SôÖ–åÊÉü™¦—¯Ðòe‡ô@ÎVݲìǺô‚‘íújÝ,÷•$ù € € € € € € p’íZÛv’ßСCÛ̩ז<œS„™1U¦ÇcnØmÚžJ¯o_o^£U²:YS'LÐôùjM’Iù‰™l†îæ{Ry^]ï½e·´m[ÿ42-bŸÜ´¸ÍÖê%³5eÒT-*(VœIT°y·7i¸r·?¨é“&iæÉv½“Vf™ñ švó\ÓU´5˜Úñ$Oq<®yÓ&iÂÔÙúõiRC±ž¯u©z«Ã±£µ¾ä~MŸ2E1ó³´>-ÊÌ^£*óLÛãfñˆ$‡–Ìž¦ “¦ë MÎo6Ï nÔ¬VÁQZ8ãrþåZ˜iò5H—½j·Ó5ïãõȃó5eÂ$ÍN¹×ŒUSÈM¿)Æîfùª›fjÚ¤ÑfzpZæÇ•\@@@@@@èµÀã?®?üÐ^nïÞ½***²ßϘ1CÖk°ºY?~¼ýÞ÷âª~NNk¤,KטÿÍCÙzýuiŒÎ2AHµÔ9~ÑÁÉ×ÝdZïžð&ín~sŽ ¸È¼úøS31¬e†õî`…–þøq]±ôßôŽéò8rîx¿gòŽÑŒÄp•n}C s­PðÙ5¼eñÖÛ&ëa»¡&†Ûd׸en¤®¼¤¥¬Ð '™N¥÷>qi¢wÝÎ7‹ù† §Z¡ìÍj2¯'LÀzúU-^MÇ­uª×{zÅê–¹.O3®Í3oZ†‘öÃpMºðQj®bÈYözÛ©Lý¬Á®nKµìi}ùâ÷qõe¶ä… € € € € € €½°‚´mµVcÇŽÕ´iÓ:Éέ]› Ì<ó¼×'¤sí¶¸!jzÿ9Å/.PIy­’d…J?0~õ u{þhF®öŽu7ß›ÌúúUM7™¯Ü¬…Ó“5ÚoÖ¾²ÇUVó¡n{®Þ7iJÿVoæNð¦hPÅÖéŠ~ßo)Ï[+ÄÚùP£½u.Mšà‰Øº¾e?³v” º6ÙñèdžÜ¼nïí­n“•Õ>¹Ízž&›ÆÉ;¯Z¥Êû½¶îƒÚñÔ:Ç/2Üf1ÿQ;æë?¡ßÓÍrƒ’ € € € € € €ý*ÐøªÖ—šv·i?ÐÔ±cìÀïXówÜÔï)Å V®Þª/_ož¡kº^¸tƒj6¨¶b j¤1žÎ’/îf~ëõ£„ìDÓ¢Õ¡É+µ§¶^Ö«bS¶É³Òô朤o……+:!ÊDsÓ•½iêëkµme¦ŠM,7ñæ©Í­u=í[=¹Û-s}u{ÍKø‰vÔÔÁ{ôà“2Vß¾8L—ÄÞfÞ—é³nûÔ«zÇ:ÝažÕ«X«¾ ;ú¦+oŠ”œ©**¯VCƒY‡Ç—+='KõÍ埰Cãí–¶[æÖiÇsU:èjNÜ.ÙÉN eîÉ ²< € € € € € €A8çœsd=×ívëk_ûZ§%Ô¿X¦Ó&5?Ö×Ö—4L3RâT˜Y¬švéÉü÷µ0½@ñeV+^ü W¥§Gg…ŒÝå|_޾¿£§-1éGjIz¡Çû&+*1[Ü5ÓÖNZôrܫ̼Å*õöb—až];u´\û†™eF¨mËÖ¯œímz¶.hÎÕó&*úÒãgx§F)×¹Tã¬hç8S÷UiIj¼ë¦G³­z4š•=ÏÍõ.¨á#MÎg{Æ&-zXÙ‡îQVæ9ìIáJÌu*fLˆª­ÖÌãϵ:}n?„}M±&ìÈJÒÔ~"yJû4}0匘¡ò! @@@@@@ðxñÅuùå—ûM9 Þº]j4-ICBÃÚQ³Ïîæ·[·þ®OMÛ!#¿¤ðŽ2u5ªÑ4^í´Ìvy¶žÐX½N×.ø£Öï.Ö$·'¯Ð°°æÖ½-©M]Í3wCBÖQ=Z¶{ç6u´؆˜|; Þ¶[âä&ôô»ÑÑGtr%³4 € € € € € €œžV ³«®‡»›ßn­B>Ú<·‹ÁŽ»œßÅ¢ö,û¡¸õ:fâ´Vå;ÏËÔ¥Ë•ë¼ +ÐÜy¾/ì9sƒ-Lþ € € € € € € °@èW/WJʹ:÷sÙü®rÀßD@@@@@@~3U‹MíçROâ¾pzTƒZ € € € € € € €ø Ìõ×à= € € € € € € pšÌ=M>ª € € € € € €ø Ìõ×à= € € € € € € pšÌ=M>ª € € € € € 0¸Î<óL}öÙgƒk¥X›“°¾Öw£'ÁÜž(‘@@@@@@^ œ}öÙúè£z¹É»€õ°¾=æöD‰4 € € € € € €ôRàüóÏ׻ᆱƒÒB·—vƒ1¹Õ"×ú.Xß ë»Ñ“ጘ¡' Iƒ € € € € € €½8qâ„Ý:×jùé§ŸönaR*áÇëË_þ²ýèС=Z7‚¹=b" € € € € € € пt³Ü¿Þ”† € € € € € €ôH€`n˜H„ € € € € € €ô¯ÁÜþõ¦4@@@@@@@ Gs{ÄD"@@@@@@@ æö¯7¥!€ € € € € € €= ˜Û#&!€ € € € € € €ý+@0·½) @@@@@@è‘ÁÜ1‘@@@@@@è_‚¹ýëMi € € € € € € €@æöˆ‰D € € € € € € €@ÿ Ìí_oJC@@@@@@z$@0·GL$B@@@@@@úW€`nÿzS € € € € € € Ð#‚¹=b" € € € € € € пsû×›Ò@@@@@@@ Ìí‰@@@@@@@þ ˜Û¿Þ”† € € € € € €ôH€`n˜H„ € € € € € €ô¯@HÿGi pR®ÚðÈFÒ0;›ãÇkبohúõ×kÊØp{šëÀ­zôoºåþEXi'Ÿ‡[{68ôñ·oWL •è¤êî†Z=ÿ‡?«îÈq{ᕺnú$µ_ÍÖå»Ý.¹Ü! e“× +“@@@@@@à4 eîiø¡P%:pÖæb§ŠwÔè­·ÞR}}­¶æ)éæ%íÛZðÓwä,-Ôa{¤Óœºœá>\cò(9‰<UQàPÅaW—åôzfC…ÆÄ+3¯@üc‰²Òè¦ìrÏz·Ê¬uù¯:nÒµ×8ÔÐ* # € € € € € €Àé-@3µÓûó¡v´ðþbSøMòµGmÔ¶ìÛ”åH×ãÑÏ›éóU¹ûûÒÉüº‡ 5åž­!­KïÅX¸îÚ½ÛÔád*Ѿ¸ê'Ö¨FÊßú„¦‘ªÖ%+©0WIÑ4OÃdïB­Ë?k¨I>´ƒ¼íË`  € € € € € pºÐ2÷tù$¨½8Ñäßâ5L3ï@Qfù§v¾!×¾Mй!KÕV† Ú¶2MQQQöÿ˜ÄlU°–mÔ¦´De)-Æ3/*&Y›öÔ[ µjË×)Ñ›GTTŒ²7T˜n‹kµbN”Ò6Tµ¤·§Å¨¨â-=yßBý?»VYÉZ±aƒ’}yÄ,UÅA_Óa—ölÊn®cböJ-MLÔ–}ö ´ämê\õÇ)6ÅäZ3¦Ì¹Máf_~«m›ÛÆæò«7¤)¡Ð,×P¨k¢ÒTeeë®×¦ìÄæ2“Wn3¹Xƒ¯®ëšë“V¤ŠŠ--ãÆ°Ê[wWý­HŒiÉgÅ´óá@@@@@8y‚¹'oHœzÐ )Õý©Z7QCÃk:fjµoÃ=Ê*~[kJä\Ÿ¯+jJ•zó#&d)9T£R‡CÃæËY²FIã+•·x–¶ØÁÞ–Urí[§øÌBJÉU‰³D¹)“UZ¥þ>Nÿ¡NÕzã² Ý*gyÑ(~¥F‡š<3N¼])gA"—­R‰©GœÊ”ºüIYaå}›~¢Åy¥ŠMËWIÉ*M®*VYMÞ?æ ö¶ÔåøQ)b¼ieëÂFi²ï}›¿¾òÏÿö<%E[Ív£•‘› óCµaá,啎Röšõrä¦èâ,ݲ¢ÂÎáÈ!«®…š’ë#?EÚéPjjަd¯QÉšec ï-yÕ¤mTÉ]‹åÔ,9œN“O’*9ºs]u›š0Š € € € € €&@0707–Bà4ÑЦJG4??Öê"¹É®å':|ð†Ÿ¥–n5AÇ’xOwÃ&0ª¸\=8ºÆM˜jž¹û¤ ²J?ýš½”ï%äœk”m‚°?[£q磈 /6³Tónƒ¦~Ï;M`¶ìU«]«[%Å&fz·®í[Úó÷¸ù‘äÐ’ÙÓ4aÒtý`¡‰<¿qØsµkãNS|»&LÓýëV™Ö¶uïj™rž&GHzéÝ–imÞ…›¦ë&[Ý,OÖ¬˜©úR]¹ LCݸÜ{ôÈóõõ«æèW)Qjp>®j+ºl\¢2œJŽ™¢)Ó´Ð䞸FÉ3§jÂÔÙJOô«Ý'&}ý:dþŽ¿æv=¹Þ¡Üë/hSF@@@@@@Àúö–Õ¥@à¤\:ü† :Æ^ª/ª%;iþ¯•}¨@YY©rØe„+~ÙCúæ„‘’ @Æ›.–[†‘>S6$t¤Nì[£˜¨Ô–¤¾wc®Q†É"ÏY©äoŽ‘ÃÄe“×¶{\ï SÖô«Æû–R“ÕÄVCâ~O¯˜–¼Ñ·mž§ð±ºÂŒYàŽ†ˆ¯j™ìzC4Ë_}Y×Ô&+Bk«­¯û“÷í÷¥™ñ*µßù^¢e5$¶êyÑ9Þ‰n»gkyzðag{+¦„â5:ô‹_)3)Þ“>"V¹¹÷k‚/Kþ"€ € € € € €'!@ËÜ“ÀcQN™ÀÐVE¬ø½¦qìw.ó Šš µïê¼YKUYY©ç·?©Ü¤ñræ$é©&jib’Î]{ýòñ¶ã=îùë›Q]r—rœŸjÕ“ÏÛùTîZãm9kÝ ªëÿ5É4Î]¯ ÿoƒêLÛÞïMñk¹êËÄþk…RÛ Þ–µ;_>Ð2ãà릭¯4¬eŠ÷]ˆFškÝ_ö7·>Ö‘åyÊoy·[^v9ì|Ó*Ø Î]žõ16»¶:´,;AãÃ| už_‹N£þö¦tëož0ùìÒvç%žS¦Ì”ß{Ÿ¿ëË‹¿ € € € € € €@`ssc)N™€Õ›r]Õ.UUíQÅŽrmX‘¦©Óq¢~csO4×í­­÷*)~¶¶TÕÊmÀgnæ…ëK¡!feäLÕŠmÕæ»õÚ¶òÇæù¯RBÌEæµ%&û­Y®éSŸ®;ôÈÆt\g+va²¦Œö:4T©hm©Žš®;MWè瓇µF cû÷Q¦ãƵŸü¸F]y‹æO×~S8kµéw¿SEÕ~::B£ÆŽÓõñ‰š9eŒ§–n·].…„†)´'Gw½M:YP‚*àRņG´ë]éÊ[îÔôq}xT5Ð~wmêë;5;NŽ7ƒú$sø< رA_8¤ŽN]Ì…M¹e®Ž–•¨ò“óõÃÔùêËÝT°Ýë+6é?ÊßÔô¦v¿m³ê}Ýj[Ñ£Ò©÷ëÊ €@k†êmZûô«fâùº¥7ûŠ6Û^Žÿ[»2†À©èÉå¾S]GÊG¯€ûpŠN{ÌY®v̶·oí–ÃY*Eœ£sù¾ ÐJ ñ­æ÷áùÝ´šá öÏs;‚aÚé#ÐX¥äk“Té_£šJí,sjײ=8{‚_uèÚ$‡™¦ç‹ç+Ì?mï{›¾ƒ,˜„À pëµÍÅrÖIgÇ.P_Þ"7Ð~wmë«ÃUÞãÐaoÒo?«…§^àpÕf9­PgÃU—ªØaÛ„kFŠ æv–î4œþÁË¥*-­Ñ9qwt»m»êîØ¶Ýê6¾%‡qªSÄ€sj·.L@z%àÒÎ’ÓwáÊXÝ?ÝרëŒÚn{9þïÚ‹¹ô·ÁÜþ§<NF`ÈЖ¥wæè‘=WkÉT³Cnž>TÁüQ»]nÓê+˜%´¬ïè+ЯNSZÚ(1T;rò´ÓÊ8.ë‹}VÛú†^²@O>9G iB  €Áøêô$¥:ª¡C¨â‘Bíl¢âStÃ7Fê¨9w™pÑ·”ðä“r™mñ˜^G8ƒQãîót›–^!fuÖÈžï`Û/ś”eJ3×-¾¨s̤:Ð/LB@`|A}\³:ÎÏ+uú¼õâØvÛËñÿ ø>° ƒJà ƒjmX>gÅ‹ TkÖ¹íe<× ­LKTTT”ý?fN²Ö•ï3'5’kß%ÏIÔÒ•ëLš9ž41iÚ¶§BEi1ÞñDmØS߬¹¯|c¢tÕ5W)*ÆÌ«8Ð<7œî!c¦jþüùš={ž§Eyª;&Z ³&ªæ™g´qÕê2I¬Áóû˜£äì-:ìý­¤-]¡¥‰1Þï²¶Tô$6¯æ·–ìýEÅhiQ¹¼Y5§á '+ðî+&jk áã4æK¦eó7yE¾â¢£;k¼d¾«ñ ž45…ºiN¶ªÍdÓM_òïvÝìæ$¯PÅ—ý=o›þ¥ª-f;?GÙ›öyòQ£¶d'›eVªÖeMjPyQ¶æx÷+Q&íŠ-Uö~Å»øÜtöÛ²\õ{Zƒ%.Uù¾†wÖï´íPkýnÍ1—ç.FÙë|û·v¥)11QÉK—*1ê*]sÕUš“V¤}~ùtvÌfíßç˜ßøº-Ú´Â:FLÔžÞn'Þ¨Ð/MÙk¶ïõþöšíÂRÅø¶ sÒ´ÉwŒèÚ§fÿ˜¼´HLß1iZÑÙ›”¶+Î8 €€-0fÊLsî2OóæÝ¦(ïÓ4®¸1A³çͳÏi¦Ž>¢Í¿þ¥–þb­^7Ô}[VhNb²V®+jÞÌYºA{L—ÆÉÞí³uRe]ÊŠ UüöEZù4ìTÖâT9vž­H+ã†,þ…ªÍ9[í–4%dª¦!B±q±Š°æ¥Þ¬"_ôëTSP>½h2Ï™²‡£Çå½@ªF55erz/>¿²ýqóû¨Ó‡çœ¯aÞߊՕmÙÑÉŠŠ0¿Jå$ݪmõæŽïúrÍ6¿µÒÊ:EÅÆ)ÚÌ.sdê–lsq£u")Ý \|ý ž$ N%\¥ë‚Ýö¿kîЃKbL˼0]àÙ)˜tÁÕ´·H éæû,%¦e(16Âì œJ]R¢£¤ÿÂ?>2Ûù:í?|¬¹:í¯4ËTê°ùBïÛ”©LG©ê"ã”±,MÑæôЙ“¤¬ò–šä ƒX ±ªóßV£¹ ¢ä®Åö1Xd\Š–¥Å›Cª2e&Ü¢—O´ÿis7^ýŽŠ·~·æ‚{Tl¬"ÍM¥…™ŠYºÍ\wéoe;Í>«F•ee’5ß²Õít(á¶"Y×gº:f³ŽÿjÌþ­´0GyNë‘r¿Òùºt¸hz_•¦ü²§^6kêÒ–´f»Pfj©¸Ø(«2Ê3Lj++ÌvÁ}L¯˜ Pe™CŽ×míCͰӑ®’Ž¢Øö\^@ZZn}9ÑÔò^®ÃúÓÎJÕT¾¢cæ­é£WTg¿Q\èЇã#ížêÊ ´85O•áÖɾu9 X ~±Åœ£4hÝÂYÊ)Þ©ðÈh³íŽ´“fdi_'0ö± Ù¶¿qØS¾o_²sGíí¼µOršGÚ¼a®D›’Ì~« Uÿ¶¡Z®Ú-šen>¯1û´ˆèXM~»X޲–ðBWûÓŽöAgêúÜ«jÝb¥›}’ÕýttÜzÅì3@ÏŸ€¹açQO³ÜøÜ5ò´g¨ÓÆ2ïMÛæN?šµXÎu¦ÃºXE›ŠÊÒB%ÄdéÍ3ÚŸ¯œqÂÿø_êò|¥›ã®)|þ¾¬qß Ìí{SrD øQ·jåÊ »œšÂ´ùÅC~ÝݣŹÙÊÈÈÕOStí5QòÜÐÛ¦{¡ðxm}¢XÅ.ó.©UåO˜g¡­”¹g†£:檕#Çs””Ÿ«´Ô4-Iô\Œsý¡ùŽ[;9/ 80Å&ÅÛµ.Ûø?æû\¯íÅÖ†p%}ï[-k‘h~+z°¨DË¢­ " Ú¸ýU½¾}½yg.NÄ-ÓOÓRõ㬅ö2 ¥½jnœ`@ ¯BÆÎVùúlÅÚwßX÷ÛXìr´àæk5'{›Üãbô﹞ïŸ"çê7K4~ÌUÊÍ^¦ìU…ºsî MÿÖ”æê ë(½_/þ¾„¾Û„¬®éŽö¶¤8úw 9g’¹ÉÇä¿JóÇ ÷%ç/Ÿ¯tþÛ²NxŽšëÞçO‰Uî²eÊ_³R.iÿ;êOÖ¨í+=ÏwÏݪ¢Tñö|s{†ÌÝõ¯™ýНûç¨‡Š­ù[žc¶ºÿÒÿ¾³¿Ëc6ß½LÖ ë·«²²H“¿Öùºt½0õ¨ß¥Õö!b”Ö”+ëÁ"9—ÅÚ+TüÐv5š@µ§3ÍåoBENeÇZûPcÔÔAÄÀžÃ  €@·ÍÛWó´%;±gk¶^O롤HOÑË´«¼\ϯIòŒ¿ý‘>¨~B…v‡/QZþ‹¥JMËT¼½i.ÓcOÕ¶+Úw,Øn†Ì~ ¹áÊp>¥³ ´=?ÑNZ¹ù½òüfû}x\®ž(xPO<é-Ë›[ûÓŽöAÿx®«s¯ƒÚý”§'›¤5Uõ ž*ñ]çh_{¦ €ƒUÀµï99­ UæöëÙ1SÍ6¦*Ýn®x™›´ÿ»È4i0Ct†¶™msñF¥DG*Â\k8slûó•ñÍ;³Ý7·svy¾bN8º:þ皂πÀÉ ˜Ã/pÑèI‹”÷ˆÒKMKÙ<ω‹½!ÃÕdZân,)U^^k6f”ì',޾HãM²ÊÈÖ¥ö‰ÜæÎ,3n²rüù:Tv¤'È៩ƒun«ëþóyÀ}õlsˆëÔΚg´uÛýUçÈ…úγ{üȳ‘7ÅxoˆÕå×Ç4+*5W¢?UÕŸ<¿»ºÒÝlþûMþ#¼Gà¤ܪß÷º>r‰–—+»ñ jkþWÛKLï ænÚºÒ_k÷bu•¯Ù¹iunm›ÃFÑØlz\ÈQ–ùž³+¹Ú¤o> ê{ªØ½kíy‡)·?¤¤ºŸ™;•“êmé`ž=»ö!Mò%â/ƒN ù—Ѽf¡]þ¶Âôƒ–éõ嫵³¬P‹­BfˆˆNÑÊÉ“Òæw×öʬTì5žÛð4úJÍ5Çd¦5ìKo•ïZÊW^âÉ8ì}×ÜWišòV×¾ßí1›½PômºyÒhûm×ëbºÓlS_ãG>°ohRøO//Öz^~…y5+íÝÎØ…˜‘/·Þ…è‚IãÍl¿xyðŠ Ð“§\`ç2d¨g#9ù"û\½ñ¬–;öZ¶ã•JŸÑªÔ×Þ>lÆÇµšÖr#PË’­Ø#“õOž=Úè«Íã=Tlz†yEõnO=n‰»Ê»ÈXݘ)§'š¬ÞíƒUõÇ.Î½Ž¾¥?Y÷äšÒ£'{÷qçYOÌe@>_/lñÜHc.\)39M#Þðž»7ë¹}wjŠwÃ>æ|y»>Z‹ еÈËÔØÅñ¿•¤Ëó•ºO½¹t|üÏ5/8 /œÄ²,ЧPÀjÓ0ýþ•&Õz8Zõ;¥š®0«5[w©rw›;`}ÉúÞtv â½®e%å&¯Ýz~ëze/Ëв¤Ëäúù;pB&(Ánm^£¼,‡}a:.é:ïA­gµjþø‚¹ÿÐ3xµÊ~sTÃ5éjs…Ý Q)k´«r·víÚ®U¦%dFÆÛÕõ{)^è©€KÛ3hAB¼®5]­ºÃFkÂÔ-yà'ž{æ[û÷#~­ÜF ³·Í¯þ~¹ äÖ(21WÛwWªÜ‘ä)°yÛï-ß›ÞW›š¿xŸ…éú@¯ØwôZs\ª~¡Vã¯[ Ç“åÚþ¤C)¦Ûf«Ûñ̇Ëíà±oyþ"0¨š¬ ¦[}wËÿ.[æ9„ÿ[¦—<¤­¦5”sÍ2Ó±Õûp¡žhùA™`§çwÚÖê¸ýû¬Ñn_Z×kæf#+U„&_Ð!}e¯}ÅÚLÏt³éÉå¼Ña=:f³.îûvQ]®‹'[Ïkõ=s¸·> ¯ëmë3ü½ÖÛ}ÛÑ?n %*àY€W@>h×ëÁ‰Îó›¼ýG˜^ºœ»vk÷î]f_•kÎ_2tï,Ϲ…|=B·ús6ƒûØÿÙÞ÷¦›çƒž·®×«<Ï©¸X_ú?ÏAgYÙ‹Þt Úém=kMèÝ>(¬ës¯/~]W›CSs{“^ø›÷ÌíHË£C¬9  €À pUk£ÓwžnºÑ7hñëÇñÑ-/ï—oiºßOžcž{ž¨mÞç£ÛNÿ[Ó»<_‰n/Úê¥ùøŸk ­\A @ß¹|€‹³ô«@Ûó±ÐIZº*Q3R‹ÛW£á#½õæKz«x·‹z2üÇ·OÙù”a“ô¯&ÐUiºžÍÉü…Þ¿éb½þ”C¦1˜"ÓJ4»ó%™ƒÀi*Ð6’%}kÖmRqŽ·¾Ñš{å˜Öu¯)Ôì´#Jøú[*ôϽn¼Æ7Ý 9Ìs¢ ¥'æêœŸ‘ô”Wx’¶Ï‹ic,¦YKâU˜nº_-ËÒ5¯•*ö’ázÍ´õœ¦Åé*«¯Öjo5êGæûúƒ =–£˜çàþe›Êòö­Ðò,àM¿ô6o«Ê<Ý·â= ß]ìé~ÉNªcU¹Ê,6ÑÝÈxå.¾Òjœn{<¼BÇâ­{%‰HÑob»úm}ª-™™æ>xs£Oâ2Ý6¥åÀmØY~§]ÞßÝ/~•¬qžÆLf‰0]sk´ óvʱx‘>ŒŸ¢÷v—z.Š›îÓ#Í­óÞP©væ%héá…V•Èôa³ˆü–¾ÞÅ1[Œ§Á–ÕDZ½„祫uñKæ­o†o;af…Œ½V)9*4ÏR\ð£¥Jº:Tÿež«m ±I±æ²Ñ'ö{ëÅ¿Äæ‰¼A8ikûêëS¥'™øf¬Ùc8TÚàÔϲÏÖ ã?Ñ£…Nû†Öì­7·É"LS®0^ÓeWqê=RÒEÚêÝηî¡A™³’•˜4N•Ïã"¦_ª©×´Ï•êœéJV’"ëËd?Ѧ¹”Þ>÷º|z„¦€Â·éPÒtÕþW±§ Sû¡ftÞ €À ¨áiϹƒiÜãÜý ÆyO?¬çÜÎ2ל›ôÙ-Pxa¦J3•j¶Í fÛ\i]Yˆ×·Æ¶¿®‘ØÒ»C·ç+~×Úow¹¦0ˆ¿z¬Z? |¡Ë¢(8Iг¿ì¹§Êo9zÚÍÏ ³NªFL™«4û¹ž•ÊKMU^Y½÷>¬½ñ¯}¡©ˆ_WË“`ê’G´,Þôág.Ö9 =ܨøl=<BÇ‹1ÓX`ø—Çzjç÷ý1ÏM±ïä6qØøyšÔ|aÝ»"æ¹Ó¯«°ØÓ=M\†Có'„)lÒ|9s“Ìï«N¥ŽO 72Nk6&iôil@ÕžÀèé÷k}v¢§%®éF¿ÌÈ 7Õ5[—ÊúV‡Mše¶ýÖ¹A5;Ëô•’ìgiÖ™®^SS³T5ÂÛÚ¢æ ½gZѵMßxÑeØûÓ!“³Xíí:Õ»/¸óQÓ×äQãTfjºiõ[§ps÷nî§ òÕ×Þ,„kÑã%JŒ 7Û…29Ì~«6±ik”=sœyçFé‹~qlkª_|‰ø‹ Ð…@ÇÛÍò¿O¨]š¶¬mwÈ8-ݺJV+5eØÜ%å?©™ÖcfÚ ÏXlOšÔ*6ÛùÉæÙ‹ÞÓ¦6)+Í|§½Ï 7øí]Ó:a¾Ö/ó>«ÑižõnN¥"½ [Uëí>èÓ‹º>÷šºä·Þcá:9ÅzcL´¢ìòFµrjSqF@A"àÒ®žj"“nnäZ+7æÊXï¶|§*¢´qM†Ý{P¥µm.³N8b•ïL±/Öö|å£Ï¼<žË=<_éøø*×ÉwÕ8•güà §²”Áp56˜®/CÖ62XynW£]n…„š‹‘¡íOôË•¥8µõ[ôÜkoë™BO+ÄŒ’]šgµr4Ccõ:]» P‘)ëU¼èb544šï¸ùþ·­³ËÌ3W½Cúî÷Ö¶Æð¸åjlÔ‘O›4døÈlßÝj4ß[õb»mï;Ü! ÷lýœ:9_ñKÑé[®)tJà º en·D$@¬®ƒµúÛ‡æáŸÃ¿¬‹ÇiÕºÉÝX¯Wk>ÐÙ_¿DãF¼¬ßÖ nÕï{]kÒWÆSc›[ìŒÚSK@A&`ZÜî{õ ;ë«úæ„ÖçQƒlMY@@à´ ˜{Z| T@@@@@@h-ð…Ö£Œ!€ € € € € € €œsO‡O: € € € € € € €mæ¶a@@@@@@8枟u@Îý¥<¼IDAT@@@@@@ÚÌmÂ( € € € € € € p:Ì=>ê€ € € € € € €´ ˜Û„Q@@@@@@@àt ˜{:| Ô@@@@@@h#ÒfœQ8…µµµ§°tŠF@@@@@è/qãÆu[-s»%" € € € € € € Ðÿgüà ý_,%"€@G'Nœèh2Ó@@@@@@™ÀСC»]#ZævKD@@@@@@@ ÿæö¿9%"€ € € € € € €Ý Ìí–ˆ € € € € € € €@ÿ ÌísJD@@@@@@º ˜Û- @@@@@@@þ ˜Ûÿ攈 € € € € € €t+@0·[" € € € € € € €ý/@0·ÿÍ)@@@@@@èV€`n·D$@@@@@@@ú_€`nÿ›S" € € € € € € ЭÁÜn‰H€ € € €À@pëåÒµúåêR5´©î¡—K•¿v§\m¦3Ú¹€Ëå’»óÙÌA@@úE€`n¿0S € € €Á8®—6<¦§KrõËÍû[öÞî"m~¬†`n+•®FŽêñ9×iþƽ]%b € € t‚¹A'¦@@@úG`ØYžrþ”¿L;µ”2t¤>TCZ&ñ®K35Ò9Òe"f"€ € €A ˜tb @@@@ Ž31ÛïÎÕÕ: Œû6êh‡Åºµ·tµ¾?mš¦YÿgÞ­Í•ïw˜R¦£á—7çk¦/í÷ïÓ3û}8wžkÿf}ÿûËõØÚåž2ÌòË7>§›Ù<~÷êg¼õ;ªÍ÷-Ô/×®Õ}3;®ÓÑ7ŸÓòï{çYy=¶ÓoÙ»•¿q£îöÕqærýù¯ƒdSÇgV·Ôá/Uù¾gÞþÍËu÷êÍzlùLofjõsoJ®½¦×éáRÃcIšyßfSVƒžY}_sÝgš|þüVwò¥a2 € €ô¡ÁÜ>Ä$+@@@NµÀȉqúiÑíÒëë7ϼӮ:o–þBI¹%©"Ç*Ý1©Vù©s´qoûÐ?Qrþf]~OžÖo(Ò=þ¤ì v«ß®òù¬éˆxVk“òe%\¦g^¦Œÿt™ñõÊO¿Q/•dkÃËž2z]O?ö˜Bó´aý*Ý>î%»N¥VÀôÐNÍ›¿LÏj®òŠŠ”sÏzvm†æ­þ³½n'ê^Òæ‡Ö%™ùZïÈ“™«ôŸÿ·Ý¥ô;ϘuÍ.ÑwÓóä0óæêi¥Îù…Þ4ñܦ#ï˜:äk»U´Þ¡Ì¹#U²,[/»ÏÑ÷ïM×Å&÷ðïÞ®{ç\ª·6¦)»¤Né«ÖkƒÉçòןVz¼ÃP¶«Á  € € ‚¹Aa%S@@@N‘À‘O~éÊú®ôtör½lâ¡CäíÙ„wlxVún–~swœ.¥Ûÿ} €J?ùB› [iÿdÒæè[£uÑ7.Õ­?sêž„x}Q÷ Ÿpå”> è‰uCÒkr¿ý¡Ÿšñ‹ôíïÝlKMHÕS¦iQ¬=å|ã¢(ݱÚi×iö}ÚûÔ:Ó.öj9Ö§+úÒKuÝ­?•ãžËÔP²VV,ø¸YtìíEº;îÛºhb´âM¶ö° æUù£f]/Kׂ.Óyç]¦÷ÝcR?«?ìõµ.ž«ß>p«.½h¢â’ÿÍÌ;¦gŒRÔu7*ÖTxä…×èºo_¤3ÌÓé²:¤áçMUæLø ³§ó‚ € €O€`nðlÉ@@@S&pÃOºL¯›–µÏèã‘#<õpÿ]ïšîƒ/žx¡Bškv®þ%!\úÓ&hê7¸ÞV¥I{õÔo´L ùšn½ûv]~¤Ë|>¶—©QÃ[µÃÉno×Än· ›ú æÙ´s¯»ÌoB˜B›Ç¬”è¼– uµ™f¯æõ„Y6úª ›S7Y}MË<ØõžªMýõR¾â®¿^3g^¯¸¤‡ít#C¬§›tá_QsÏaœíúÌë„§K扷þ»i]|¹ËN×ÓóõsîÒj>ô$å@@¢ÁÜ â’5 € € €§L t¢~žŸ`5ÏUjþKÒWMMBÂ4ÚÄm_¯õFnƒvo3aÜË#æ_ÙÐóLÐVªÞï—Ö½_¿\x·ž{H—ùxCÇþ¹µÞ¶šcFFJ›+jü¦z‚¨GNœÛŠØêýÝon}Í^¿1ë­·…¯ÿTSÿIVsà¹ùª¨¨ðüÿŸRåeféŸÎéi›ZOÈ»áÍ÷tÞ™v(u*çöqÚœ›¬mïxêé_,ï@@@¾ ˜Û—šä… € € €Ài$0êÛÉvwË-U ×5ñ¦ìÓúåæJ½ÿþ›zfõ2•˜XnÂ÷¢üZëZK„ë²™cÕ°9]kwîWCÃ;*]¹LO¿~Pg‡}µGùØqXoᾎžíÑϼ½†Y3M9ùÏì5å¼oêtŸ6›Iñ×ׄëç›wÏê®åµÿ÷µwçcº+×tŸüÝ…šÒQÔØ›§4BWÌ0].[õΓïŸ÷seäfëýæ쉎ÂÀ&OpøÀÿÕþ÷ªîéL%ÏŸ§Ò—ßTSH¨†´Úó†ëK¡-í››‹å  € € Їœuô!&Y!€ € € pz „è†Ì"=ûl²ÌÓoíaâíyÊiÌвüT=ï™vcºyælÔ(oŠ–?QwÿVéÜ¥üŒzÌž®;ò×*Ê´ØUù¸ö[-_ÏÒÐ3í…š_¾2ÒÛWò°‘Šhžjž{kz<¾øÆõ—ì$;ˆkͺ1Ý¡Û'ZÅÉ™ÿ‘ÒÓÖ‚g=Ý$½ú­ýÙ &ø|Ôt¨lºZ¶ðÃGšœMK_k˜x{²§){YRsýr6èºsC´×zŽð¸sýºsö,ãy5ì¦+給ÌhÛ¦•ºýµ%ÊMž¯\o2ËìÛíÉü3á= € € pÒgüà '  €@Ÿœ0]ˆ1 € € €ý"à:ª£¦…ì™ÃF¨»¦n“ö¸yÜí™á&mÛÊõ"Ÿ¶‹zÆj­yž­zNwL4áÙ£Ç;©“ÛžgfjDwnS]k]GtPÿ6i»u»\:þÙgfòáîø®¤˜‡ € €=:Ôº=µës®}˜‹ € € €Ààa:"îÙbÒšÞ…;z‘Oǘ©¦›ç#ÇL´Øt] 761 245 Âj­@IDATxí€]EÙþß-é½ I,¡D¤i PDEQÑOE?{¯Ÿ;öö·Ä ‚ (E# H’Ò{Ï&ÿùÍÝ÷föäÞÝ»wïfïî>“œSæÌ™ùsç<óž÷Ì©yÿûß¿Û „Ý»›¯N—‹Í“Mº-›mKÛ²iµ," " " " ]•@MMMÑ¢g·¥ËÅæÉ,ÝV4ó¦ õ…¤b¼µùÖ¶Ê_ëD@D@D@D@D ;H52õL:ÛÒeçÀ:ß/;OšbûùþiÜLä{¦žÀ—³1ÛYçë}Ù÷+e9M«yènR!n.¶œÝ–øéöt¾%^ÍD~š …âBëÒ´-ͳMAD@D@D@D@zTØg糂=»ìb?a–MWˆc^ä»p÷³1Û=M›÷ƒùv_NóM×i^D@D@D@D@º2TħõH×û<1ZÙ×¥ûø|š&M›Î{Ú4΋|_é¢<™÷‰t>¿iÓ&Ûºu«íܹÓvíÚ³ðý<]\©?" " " " "ÐC dE¼/×ÖÖZ}}½õíÛ× ûèiO²r„~ù.Ì Å¬ËNˆúuëÖÙôéÓíœsα©S§Z¿~ýzèiSµE@D@D@D@D í¶lÙbsæÌ±›nºÉzè!2dHý©À÷\‹ }ßžë]Øû_Î ûtÁØK_úRßM±ˆ€ˆ€ˆ€ˆ€ˆ@`$?ꨣâô»ßýÎþô§?ÙðáËæ ý¢‰š6Ôz÷,§‚>;‹NCCƒ¾ƒS," " " " í$€ñÖÎêïtÙÃ:‚ǾÞã¼È/”ÈwòŒñ»ç±Â¹çžëû+¨46ZÍíú»XœÎ5{º.ŠütCš ý ïØ±Ã¦M›–æ¡yv@c£µÑÝ®½SžÍ¾¥mõk֬ɛùSŸÎûAˆ×¯_o½{÷ÎCË" " " " " í €ÆFk÷êÕËy|™ÏNŠuiŸú1cÆ| {æ}jllô}‹€ˆ€ˆ€ˆ€ˆ€TÀСCmÔ¨QQÜ#ð]ä§ó©Øçоœ£6kæO-øé¼‹ülú43Í‹€ˆ€ˆ€ˆ€ˆ€”O­ên×Þ©./”»§ómyŸ|ß‘ žÈ×q tÞwV," " " " "P9YÝíœ#d5º/:z³ÑuÒžaûAÓtš¨ ´·kîT‡3O𸵣í%ò³™Zn-Smh;BÚ;]WjŽÍD>dCš©ÏgÓhYD@D@D@D@D ý\ogã4g¶µò"ßg3,´¾µLµ]D@D@D@D@D íR-ÎÞÅ´¸¯OÓ¤GË‹üt¥ÏûÎéÁ|§Q," " " " "P…tw1ýíi 9¡é;zLBŸ÷=.”‰Ö‰€ˆ€ˆ€ˆ€ˆ€T†€ënÉ•yé¼¯ËÆ{Yò‹eÆŽé¶lFZhBÞ×µE‹ï%ò³ÅòÌ<óìv-‹€ˆ€ˆ€ˆ€ˆ€TŽ@ª¿ËÕàEE~¡ ý€•«‚rp…48ÛŠ­÷ý²iêÓ -Í—’qKû§Û6oÞl7Ýù¨ÍzUºº]óÓ'µ¦l hW>ÚYD@D@D@D@ °qãF›?¾õë×Ï&NœhuuuÍÀlٲŞxâ ëÕ«—rÈ!V__²´n–Ov¡Ã:ijjj²»æ—[,‰ øé|>—6Ì466Ú 3gÛÅúYöj=immýío´3Ž;¼õÄJ!" " " " -Ø´iSðh×;vÄy„¼ }þã?n;wî´íÛ·Çù©S§æ··uÉ› iñRw.ê®SjmM„Ç­²ºú^jjëíÁÇ—¶µ8J/" " " " {X¶l™!ð=`ÕÇjϺTàûvÖ­Y³ÆËŽ[2¨·´-{À¼%?Ý)Ow(¶>MSÊ|mmÕ÷ê]JÒ6¥©©Ýç}–6•O‰E@D@D@D@ºQ£FÙÚµk›ùÂ#ôçÎkÛ¶m‹ü´&}úô±¡C‡¦«Êž¯„æÎ‹ü²KQÆŽµuõVß»o³=냻Íì«ßi£†´†W|Íž^¹¾ÙöRj3~R¥ì³|ùr{àì‘G±G}4úôxàvä‘GÚsžó«­’Ž=Gʇ鍊nŠÔ9çœSJu»Uš?þñññ•:õÔSmÿý÷¯ŠúñØîøC,ËäÉ“í裎ó>ø Í™3'Î_pÁÖ»wå;ºå¨æ²•['íW]zè!{ì±Çb¡ªíú/‡Ô¾øÍ<ýôÓöïÿ;îKÅÂïÿûh]ìÛ·¯½èE/*–¬ÕõÝ~ù}‹‚¼ð…/Œ~ÎÙBÝqǶxñâ¸úØcµƒ>8›$úHÿ÷¿ÿë;ì0khhØ+M%V”{ž»Ûõ^ –]1AƒE?{4X*ºqãÉþ”)S*擟Í?»LyZòÇ'}§ˆ|¬ø}û lVÞóN8ÄF×½öüãìK¿º³ÙöRêêÛ&š~ûÛßÚW¿úÕèG•ÍÿW¿úU|Áâ=ïy=ûÙÏÎnÞ§Ë?øÁì{ßû^þ˜4h?ûÙÏì§?ýi\T=MäÓ)ûÌg>“g á]ïzW~¹3gpIû¾‹ðò—¿þñÛÍ7ß÷ÅZÏÓGq„1ò=ð¥K—FKÁ;Þñûîw¿kÓ§OÏg_ÎàÛ…È'ôïßßžõ¬gÙ°/‹P•ǺöÚk›•ë¯ý«ýïÿþï>ëA7;xYøùÏnO>ùd´xeE~©‚Š)"ÐÅ `4s‘ÏSô¬ÈçÞ럪ÞsÏ=k|ÿý÷Çõ¼‰µ_A:’BܸqöÔSO< /ãVRà»ææ`htŸÐå\óÄXñѯLÌûÄ>náïK~¯>‰È_è=¬Ÿ2}œ}îêmø >ö–N³³›b3g-£¬1\ñ¢Ãâúw|çNûÈ%GÛÈÁ9wŸ™³ž±·÷.Ûº½1øù÷ñä-ÆW_}u^àsÒ¾ùÍoÆ“ç;ÑñùÎw¾­Nt°Ó(!²÷u@”q2 o~ó› «†Ä?۪ťÈËÕÑñÖ­[íÆoŒ‡¡sÆÐVt†þùÏÚgœÑч/;ÿ+®¸ÂÞð†7Äý«m¨×j.[ÙÀµ£t ýfʃ› rD~6Ü}÷ÝÍVÍ›7/¶ïÆ ˯_¿~}ô‰fn:6÷ È'ÔŒTˆ/ÔÒ-.\­ý>êN±tûz}§¼©ŠïÛpn0Ø^~ÆTÛ±s—ÝüÐûËý«BÅì¢Ó&[ß°Í'ðïzé‘öÕkŸ°~j¦}íº'ìä†ýíí/9*æUW‚%õêÕöÿþßÿ‹œy¡âG?úQ3ÏÆ:Å*|â‰'Æt¼tñŸÿü'ÎúƒÐ^´h‘‘w[Æ Œ‹ƒŽE¡°jÕžo Œ?¾Y:4n-u>¼l\ û"ð$„GÌ…üÕx´`Á‚¢u-µ|<>õü?ðä_rùÓŸþTj1®+XŒè!·%”»½|Γ÷² — ;^ê)%ð\éì0_N(µläOÙ8—m 0æ:¯Ä¨ÅŽ‹åƒ²­\¹²äsê¿¶þv9Þé)ø]SŒû2”[ŸrÊÈ9å÷õ— tÄy1sÑÖPî5ÆïAXˆ¹_i{Z¬\œ[Î+Ãâ1²L …R3ìÛZ;_(ÿŽZƒb×m%ŽÙÚùÃã aÖ¬Y{µ%.ò÷Ûo¿˜†swï½÷ÆyÿCç€õ„ì“OCÜZYÒ´é|K÷±4Ï·çz÷<W/B£èdK˵æ£îd·uær§Xòëƒï|Ÿ~¹VÕ…n_|Â8ûÇëlGM[´èæ®µÓØÏFjk7åÄo]Þ„^=׿.á…‡Z»æÎåvÞ³ÆØscß½yIx„‘KùƒË‚ Dü¥‡^$¥Ù¥—^š%”lÀ/ük_ûZ|™ÌE4 ØI'd¸ùðxÇêe—]ñóÇ/J^¦å&BïïüóÏ··½ímÆ‹<¢Ä¥ˆÆÃÃG?úQÃïë¯xE,.*^JúÖ·¾åÉbÌñ>ÿùÏ/&Ñ`‘ÿá‡nŸýìgc™qI=z´ýøÇ?Žéy7ÁÝ—þò—¿4Ë‹?Ö„ ìÛßþv³}ð«äiyüîw¿‹õÁ_þ¹Ï}nLDZœ7`nŽ”åu¯{]‹ tܹÀwÕ;vlôw?묳âqñõ¤Þ~sð]97^xa\|Ó›ÞÙ_y啯KmD÷1ÇctÒ}ËÝ/fZàÏøÃü ¹ø’rž=pŽ`4sæÌü ˜Ž.d—_~y¾Ãéé‰ywG¸Q¦ºðÄÀ-fXœ.pè„wÞyqžáþÕRÙ8gßÿþ÷ãñ–,Y÷£#Ìúo|£vÚiéáãuÀµÄ‹ÐäÏuβ üƒ:(úØò;ñÀýú믋<]#ßRçk’ß‚ <Î)çœßð!Cöʪ=¿]Úo|ãùN=×!>ÃpÀpÕUWŲð»æ)Û ^ðã7ßRgœ¾ï}ï‹ç’óÎ;7´%ià¸<É£ƒ…â#ùH~s¹õÁÏ›) œ‹O|âqÇàXiûÅï„k÷SŸúT4np>ýEs:šüö~øá¼8æåó·¿ýíé!öšoÏ5ö¥/})–…ßÂö…2ÓÖho ï`ý%p}½÷½ïít\Ñô‡Žï>ñ”¶®Îá[Þò–ØþúúB¿™”S)í¼çÕÑ1|¹GüýïŽ7f̘ȀsÃG~ÚÚzþŽ;î¸h”ÀÁ=vŽÀùs÷õ0eí¼wÕaùøã÷Õ1nkYüÞWì>Ö,óÌB¹×{&-V1bŸvÆÝݽø.ôióªÅâS,ùŒ®ƒ_>ÓI‡ígû éc3Û`£† ŒÓ?]gõu5ö‚cÇäÓÕ…}k·Ôä×±ÿüå[môÐ>q])£ëp3ôðâ¿Øg Æø¿Ó)`º¬I {BÄÕk_ûZ£±á"à¦ÇWÎR¸öÐð‘$؇>¢ä­o}klÜ#¬GÜ(ýÆDCEZ¿1‘K뼓âO¤! â¸q㾂xäb¤s€ØFäÒ0‘‹>öÁÒÄ:¦Bc°-µxú>äÃýšk®Éߨ=^ŽB°qlêD§Šܸ¹ø‹Sž¾µËá}÷Ý“щ@ygÆ.Ó|¸qxÝÆ2>0:?ü0aõªW½ÊfÏžßµÜýòdfœe!o”…csþÙÆè¸ónt°þüç?{òãrö¡}(/ð. áÃ>~³ôsÇ5F€¿óp‹|±²­X±Â^ýêWÛO~òCàÓp!zÈƒë –ŸûÜçb¾þ'ÍëÃþp¼.8Ž7z<õb?,¥XGç’‰‘5J -:Æœ7¿¾Ø—sÊ‹é\ïþ{ñ<ÛóÛåiÑÿýßÿÅü9O¸p.èÐйǚìC¨qMÒ|ýë_÷Ã+œ¬ÇÞáNß~ûíñX¤I­—í©O– ÇCxùõáF†´ý‚5Ì9già7ÍuÌh$¤ç|Ë~z=¦û0ßžk ö´¥ÿú׿òF®D=ç„ãŸv‚v@òþ÷¿?²Œ+ÂÚ5Ú)Ú+øtøi7iwyaþï|§'qzûï9åTJ;ß,ÃZ n¯ýëc¸¶ô´¸`”ÁˆÀù.7”sþÜÁ1SÁÎoÇï1t|Ð EÇËè–}Úp¢ðPNYü<¶tóüÓ¸Üë=ÍCóÕO€ß‰ß'½´´ ‡zhtÏ¡mIí‡_ÃéúΚï‘¿tö­vï5‹ÓiãÖÆºî’Ivíû¦Çé}çëÎ>´>ŸnÉ#·Æu^{e~y¬xòþ(ãüw·Ê‹&±YÈÂ×j! Ö:t¬ ˆ \HüÆ‚p¤±ÁÒEšl@Ìá;Nz,+X!ý‰7w\nø·Þz«}ìcËïŽõ™u4ØÅ7DÂŽNÇ'‚EŽã0a¥Bô#ò+(ï 7Ü`¸aÄ"eÀ¨ü@¨/Û§ÓO?=²a{*¬[+b×o¨ŒPC8ꨣâS 湡ûv–³/O>¸¹ù9C$ðCå‡ ãB¡Üý å•]÷•¯|%²âºA˜Ðá l¼‚KáÓŸþt.•yxúÓnr¸œq]`Dð¹÷'a¶cq%L›6-.³ëUK+×;'/\¯ÿøÇ?b‡Ä_FG‘W6<óÌ3ñ1;õ`;þ¥/}iLFè¶'Ð‰æšæ|3L)õåúâ8<í" 0Ó‘©ÚûÛ¥‚åq,¬»„1ÇÁšïÛ½ËÅ>ej-0â 7‚¿s’îÃñœóSN9%η·>1“6þ¡ƒI}9—ü^°ŠÓÄbŽÀ&Ð àœs½ÐÞ1ü#ÛB¡=×î@B¸î¹.1ȸ+mFžB±Ž€_t^Òk–veA“ÛÑË^ö²üuDš‹.º(›'ÙŽM¡úøºRÚyO[JÌÁ<+69ûl^cƒ{ï´sN>Ê>ðéoØè†³›M_ýþ¯lòøý혩ûÇ´;¶æŸnY,Ùa_Ÿ;Ò» —fÛæ¹r3p«w{ÆTÇ5…9 b ×N2–½—¼ä%†{†èoûÛ^eBlázCCF4Tˆ^Ül|4ÊécTæYç)OŸÆwÞygÞº‹(ã13é9 +Ç­t ÑE8sƒåyòÉ'. pBÌQ_,ýÞ‘á*žXð¸˜à.C­•‹“[´ùaMš4)î{B4µôÊ ÁíˆÓËÂSÊM@À0ÊÝ/›Ov™ãqÓ%¼ò•¯Œ×çŠóµË_Ôåzórá ŽõŠ'M¼ŽØ&=ÆÇÅ·[ʹθn<_[¬ãXÅ/–Œ» ¥Q#pNyüï/ÃÑé-xZãV;\ÔÒªw¸ÙN!ÂÉÏE¡üÒuüöø®'u ,\¿¾wÚûÛu×:Ðpå‰׆܃\¨ó›pW&~#ÞöxÚlÌS½3Ï<3®ÆÝÅÝÉXAÛEG“€Û‚·í­O̰°TÑŽà¶Cyyª@çÇ;ƒœ¿×¼æ5ñ¼5× âËËœ®×¿®{X¾oâ6÷5×=çÇm…øò{¢íâÚñ¶Š2§cÎÓi,5”ÒΗš鸆¢Å¦ByQ^ºÉÓ3ÿö ¿{æù½øx{Q(ŸbëÊ=üf¹oxòã†ùœ7~cœnÍçé&í!!}¢UnY<ÿb÷1ßžÆå^ïišï0š¡\ãÑÖ¤m™ }~S¬ÏnïìZ¿ÃwdÉjÂP?á«·—_òbÛ¾c§ýà××ÙŠ5ë›MßýÙb ^{ñù1mø—_õÒç‡Æº>®;éÙGÛ‰Çi?½æ†¸œö¦ A碛r ‚ ‹4/,\4PO›nç1¤ ._Ÿ6fþ¸Ø·µ%NÝ‘øÙ@™Ýº˜ÝÖžeÄ(¢' Þ(Ÿ:0©" ?@·«Ö"‡Á­ø¾Oºìlß–Æøê¦~÷¾ ÷*¬l(w¿l>ÙåÔŠUè|ñÑ „6 ˆG†ueJ÷ c”í7θSR_ÿ”gÅïÉ‚©Ð#ÊÔïžýx2AƒIH]E°ô" ™ü}˜¨…?ÎŽß“?ñðä\_¸‚ÁÍ_´g›ÿËýíòÄ mgôþB<"G¸iHËUJ›ÃÇ<¤Öüô7’žóöÖÇÕ–KyZNöM;lþ´&Í“ž_¿éúJ\cÂ4p-yHÛUÖQˆ:ˆ]~OÜ Ë8O‹pÃòPèɬoËÆ•nçé`bD*6ù½--míÛ <†qįgžv´5´çüyçw(®„»»bºŸ¶ÚÛ w?ô4”5õÇoOY¼Þ…îc¾-˽ÞÓ<4ßuÐéÇxFÇ4ø^„¾o÷ö÷uvœS¢ûºA°×†—d_÷ÊÙ﮿Å֮ߔòI9žX¸Än¿ó~{ù‹Î¶w}âëù†è¢°ü¶Ë_nKžYa3¦j¹åûÆŸÛ¿¦&ÉaïY„&/]ñȵ¥¡|Oüޱ2èÍÑÈb£Q"`M.»X±¸¦§uë§/#˜*üaêê–Ì4_t¬ìŒTÉýÚ ?FçXøñ‹_ìu8¡ÄøEâ’î„+ޏò: üø¸1s³ÂmÈßwHÓsOa½ïŸZø|ßr÷óý‹Å~¾8/…ŽÁÍÙ­Ši\›<À5÷+®éT´¤iË÷k—²Ñ±(ÒßO ²e-tN+q­ã?ëõu‘-¿Ã´ãY‰ßn¡²wØù]e…–wö³e+¶Œ(%|Íy ÈÓ8‚ûècö'5•¨O±r´´ÞŸ\¦i8÷ê?¡©W$h{³¡×XÖí2ež=&åc*$Öi¯±zc(¡>ø¯{•-w)Ë•¾ö¾Ù÷ÒrPö¬ËŽ»fRßÓ›Œé>Ì{yšÑÖОóG'È;àtعøošm¨7çÃF.òi“<ÂC{Êâydïc¾>SB[¯÷¸“þtIi»R¨~(´­3×uŠÈNJ߯_{ý{®´9󟲚ºÞ¼î½WÚ„qû[ãß×äÜ.|ãGìˆi“lò„íã_þ‰Ý~×ý¶kwx2ò¨i²ö̬i%V(>™ôü[úQc%ãÅ=åi`ý1!ëø ¾­ÐͤØ>•XïІ› – þ2]v}{–ÓÆ–|Ò› âµ5÷¨Ö,ùt¬Ü­…üy XÀ_ .¯lðó’]'~Ä”›ý³¡Üý²ùd—ý\Ð)+d!Ȧg™!︗Î7B 7G\8Šù?ʯØ:¿ÖaS¬þiÃæé‹åWÉõ©U¼Pg®Ð±Òò«ûù¶}ýÛ娰ÆR9ƒ°>»ÃóŸÿ|’ÅÐYõÉþÖ)Œ E~C…ÚÒ¤× Ë¯Cg_c¼;Àû0œs~‡¸ýð›â©Ë¸vÅàm×tö©F¶>…Îk6Mv¹=ç=¬ž´ˆ|n•§_þ^ÇÃâÏû;t|òþ´:uÕ!]{ÊÂþ„R”{½çŽ¢¿"°ïtŠÈG°o Þ·ß3;WÓ""áÒÕÆC“ÈßUSo¿ã¡8Åõµ{üa½#Û¡ð_üo î!^ÖòÑlâŠÌ†dóÀËn¸ˆ \j¼7ïiîVŒ„”>‘Âÿº«ÊŵÄP¶nªT}Úsþøýr_Å ‘ï÷L:Wi Ýãšå<ñþ–ßRWÒ·§,~¼ô·áë Åå^ï…òÒ:èHÅMÑzÔ:›uã}¶¥¡œú `]ÌdëäÍo§­!ýÍø5‘æAólðò³¾£¯±ì±}™†½ƒÏ;&©À' n<ZºÚslo_ù…øó´ˆ6˜É}ÞÛr¼öž?ôXéÝ56uÕ¡,ø;û».>$¡ÚËÛÞ²x>¥Äå^ï¥ä­4"PI#òƒ5~îâÕv×COÚ¿î{š»ÄîžµÀîyd‘Ýñàü¸ŽxÞâUvÿc‹cº|í;óÒÛìùËbºKׯõ>þ´Ý3{‘ýwvhˆ›¬ý-ÂÆh Üä;LF~ÀÏ›-7^|¿ñ…õ›/þÝ>ªy¿ùÍoŽV5¶3zˆ¿ Ê6ù°Òf_P‹:ðþºÞøQ„¯ ^¬ƒ¸rø >-†[|XG:ïñÅðj…,~éþ…æ}d:L µç"•˜az+Ž?}(”ëp=ñQ-xD›ž‹ì>©¥3õá÷tœ3†üã<{À ȇYÄé#œøvâr÷Kó(4Ï  ~ÃEÃGPáÚÄ‚'OFÜÛÝS8Gé™ÇÞXëü} wòãºË· iììiÒQéÄy\NÑ;¼4Ëï¿e‚%™îß–yܯ8wL-ù§yúõ\-Ü…‡ß#Ã’zý}ä%ö­–ß.µòúº¯qZ7o7?¾=}áÖÓ–SžløoŽ!"ÝÇ™ÑþóÐ<›qä4;jêxûÏÃOØ ·?P’%x4ˆ]8,L|è„É… ˜áಣ} ¶ø@_¥dôüdy qE~^øCx`yÞ×zqSÅÅaÆäK–ÞôÆÎ6„-LH.^ôãñ'/†"ªy<ÙV‹cy#°°F"V},}òô›¥³ôòŠS±žŠøBi9#dp3`¤"ÎÓÒñ¢Óãç ±ëç Ÿa¸e]•Ø·Üýü¸Åb®9†"Ä’†›1#J ¾½#B¹ð öÎC(ò´ˆ4ˆ<:h ‡Ig ñMzÜ;xú oÉK€XŸ¨;¢N\›¿þõ¯ó£Ã*#"ÞKẠÃÈ5‚5ë§ûÀžzê©û¼3KYɯ/\ðÎßb€ÖIˆœôi‡_oÕúÛõs@]è»ë ‚&ýâ§§+·>¸/1N:#>…‹çË>F‚lûàÇ+c<á ¯ü~°ŠsMcçEe®K®UÞJE¦çÕÙ×.‚žajÏ>ûìø”ˆß mhú.O†h3Ò¡8½Õs^øðÃ:ãxÙe—Åß/mu#Юðuõô%õ¶Ô¥=çŽ!÷é—Àô©²—áQÈCÖUÇ×·§,žG)q{®÷RòW¨αä?úæL´‡ç-·ÓŽ;Òîxh¡=¹týü/÷÷ÁáË#mõÆ6*¸L4Áî}liIgźm¶q[O8ð[¿%|átæl76Œ·: ž”h4ðÉçfê–aäÀen¬•…>æX <ÜÀˆEnnð…B¹ûÊ+»ñƒØæšä†‹ v0ÇÇžóèáúÁ~0ÿ17:Mˆ'Î'KF¬ð¢ÞŸÂ`ù† Û¸`Ëͪ¥ÀµÄµLG—ü\BòûàéAkù´tŒölãú¢ ˆIžá¢Å"hx •-[5ÿv¿G:0N?ýô¢"¬œú\xá…ñ‹ÝÞ¡õ§;<ÁDô—èÐî`9†9¿-ÚE¿.}¸ÕlÞÕpÑö¹p¤“‚K"˜ö#‰·;ü¶;²õÝ×Ët`ø s_â·ÏÓ!ø¸¸Ðq)ôô²Ôr¶çüQ·Òs¼¬«Ž—Ë=בÂèË·§,žG©q¹×{©ù+T‚@Mèå‡ûýîxcô˜›$7q™gB, > ù—ZòùíMÿµW}ô¥îRRºÚpSùËUo°³N<¢¤ôÙDÜä ~„n¡¡ò²ûø2ÜIxì‹%"mŒðBóä¬+:ö´/tÖ+ݾã³Ï_zNöeYʽÞÓòj^Rx-pÅCûé÷x批¯û<Ë~¯ÏÇûZäS ˜ï|ÔyreZ§²çC½lÆÔ1öœc§¶I´”}À*Þ¡ƒÅŒ~žYÿfFñ§|}wî ‰õRê\î~¥ä­4"Ю=|ðéÀñ4 ?yo´[ÚOÛD@D@º>J‰üÒý[*È +ÉKÎz–¬É•ÜüJ±ÚUâXÕži\;ð©Å±ï¡q³À™€[ cÿ+ˆ€T>‡Ÿ%€Ö®¯¯óé„>g}Î" " " " "PÅ$ò«øä¨h" " " " "P‰ür¨i¨bùU|rT4(‡€D~9Ô´ˆ€ˆ€ˆ€ˆ€T1‰ü*>9*šˆ€ˆ€ˆ€ˆ€”C@"¿jÚGD@D@D@D@ª˜€D~ŸMD@D@D@D@Ê! ‘_5í#" " " " UL@"¿ŠOŽŠ&" " " " åÈ/‡šö*& ‘_Å'GErHä—CMûˆ€ˆ€ˆ€ˆ€ˆ@ȯⓣ¢‰€ˆ€ˆ€ˆ€ˆ@9$òË¡VEû¬Ý¼Ó~õŸ¥¶uÇ®**•Š"" " " "Йê;óà:vùwí¶Û欶ºÚûÿZlÓÆ °5›vØÓF”Ÿ©öè$ò»èiœ³l“}ö†ùÖ»>÷0æC˜k;wÙacÚþCútÑZ©Ø" " " " • wJPì„<3Ð^wò¶}gÎM‡øÝç,ß çB‡j#Ð¥DþÖ­[íŽ;î°{ï½·ÇuëÖÅõ?üp³õÝyaöÒö£™Oç-ùXô¿|Ó“ö̺mݹڪ›ˆ€ˆ€ˆ€ˆ@ º”»ÎŠ+ìÿ÷mäÈ‘ö·¿ý-_½9sæÄõÓ§O·ýèGùõÝyfêèö¡çOŒ>ùŸúó<ûìK&GŸ|¹êtç³®º‰€ˆ€ˆ€ˆ@iº”È/­J=#/Üž^²etËO^¼h}{u©3=ãD©–" " " "Ð º¥ÈÇ¥ç[ßú–=ùä“Ö·o_;õÔSíýï¿õë×϶oßnßûÞ÷ìæ›o¶-[¶Ø³Ÿýì¸mðàÁvß}÷Ù—¾ô%{ÉK^b÷ß¿Ý~ûívË-·ØÞð;ðÀmâĉvõÕW[]]½üå/·Ë.»,ž²[o½Õ~øÃÆãõêÕËŽ>úhûà?h£G¶7½éMFÞ‡~xÜ—íïyÏ{lñâÅöË_þ2–ç¯x…½þõ¯y=ýôÓöå/Ùxà6l˜þùv饗½4†ö¯·‹St»6ˆ€ˆ€ˆ€ˆ€ô<ÝÎôÛØØhøÀ ?ý+¯¼2Šä믿޾ÿýïdzû¹Ï}Î~þóŸÛÉ'ŸlÏ}îs þö·¿=nÛ´i“=þøãöíoÛî¼óN›2eŠÕÔÔØOfÌÛ¼ysÜeéÒ¥¾kŒICè0ðâð‡>ô¡hñß½{wìtðÔ§+W®´÷½ï}±rÖYgÙC=Ë‚èWRt)‘« ÁFÝ!Ô××ÛÀícûX´¤ñ‹_ŒëÇŽÝgúôÉ;Ï‹^ô¢¸Íÿà>þ:¸Ø¤aĈ†À'`a'p\Òaõǵ+=.:Ù€¸g"Ð Á×cѧÓ@øÂ¾§¸þlܸÑvìØa^_¯XD@D@D@D@ èR"¿ýö³Þ½{ÛÚµkmÙ²eyA/=¿y,é‡rˆýøÇ?Žâø†nˆóg\_øá³LÀ*ˆ5jT~hNâ1AÓŸT`ãÂãá÷¿ÿ½ýú׿¶W¾ò•öÆ7¾1ºòd;iz߯PLXòyú@À5hçαW舀ˆ€ˆ€ˆ€´B Kùä×ÖÖ.,Xòy–T¯¸âŠ(²Òçž{nôkõ«_ýò±ÜŸ~úéñEÙ¡C‡Ú¸qãìˆ#Žˆ/ØþéOŠ¢ž!9ßõ®wÅ4­°*¸yÍš5q=ùcÙçÅ\n8m gžyfìÄüîw¿‹ãþßxãvÑEÙþð‡øn@[óSzh/Ú[ž~òÎP6àNÈÌžÌ>¸b¶P÷Å*G€{0ï¾0òÝ}÷Ýee>kÖ¬èÒëç³”LÒc—’^iD`_èR"8¼´úüç??ÞX° ÿç?ÿ±!C†ØG>ò›1cFCŸoùÑãÿš×¼Æp×aD/Ç2ž>>ò¾î“Ÿüdש0gÞ§¸cøSh™c?/ë>ïyÏ‹O}ßúBùeóò4Ä<‰øìg?­÷øìõ«_®Co~ó›óÇö2(Þs~ÄB,ºë5àíEgƸ b yê©§ö*Æç?ÿyûç?ÿ¹×úž´â­o}k|¯jáÂ…{Uûª«®Š÷(ß@ûÎÀ ]- žßò–·D·Ñj+;ïÓýö·¿Å¢ÃÉ@儯|å+ñ½8:a\籠ôØÙôÕÌ,[V-w_]Â]‡¸üæ?ñ‰O؃æÅZ|ÚqsI]b.|éKíü .°åË–G7—tûر„!4¿­R¸ÁÐAðpÊ)§Ú=÷ü×óñÌ™ÿÎÏ3óÆ7þOœ|åÿø§ØéÀš«Ïÿýß'}“ÝxãMùyf¾ò•¯6[¾üò7“‡ÓN;ݘx!˜!4S7!O£XD ØãõW´2iÛç‰Ò¶Î×)î¸{â.úü£Ù½ÄKƒ ŸãŠ3aÂÁAàï^ÆÝÝlª­­³1ÁÂ>*øñ³Ý„tê:ƒƒÀOו;_܈8V¿ ðËÍ#»å®/g×k¹ùyñèª×@¶ÍòeÚ³¼]#ióríÛ¨qõ„.ß9á„ì /ŒÃ{)‚øe/{YF˜wŽx¯ŠÀpÆ×\sýà?ȆðÎw¾3Žxöº×½.~ã„w0z0ìà¢yÊ)§Äm<ñôØãðýÜ4?þñÇ'º¯}íkãhe¸x®^½:æÃŸbeÊ'hšÁBÏ1É“úñ}ÎC(_|ñÅ1ÇÈ>Ñà)XzyŒ¡›=<òÈ#Æ·QN:餸—× 7¾ÓÂÐÎ#L ž¨ð„: © ç3 |‹¦ÐíyrΠiàsÎ9ñzó8Ø^*ã4¯bçŸ4…ŽÍúö2#¨ªù4 >å…}¨-÷¶]q[NÔs«óe¶í6Äüž)èþ°]“èÐ5P}×@ÚVÅyÚ°Ø^…ö¶-œ´ü2+bÈ9¼}$®†€xúèG?jï~÷»í_ÿúWuŒræÖL¾+ò©O}Ê®»î:Ûÿý£Û%寧W FC°ø ‚îÃþ°1°á§?ýiŒ?ó™ÏÄ ™m³gÏ΋köûÙÏ~f¸_Òq¸çž{ìïx‡áNó—¿ü%ºšð¾«t±2ÅMŽ™NFCCƒñ½òfxeŽM=\¼ãŠ»hàŸAüc‡lGSÞ #xÝøtB~ó›ßÄŽ#¶QlÀ}ŠFˆbÆ QÄVê¸Ð"ä)G6಄+*ߤùÉO~; \#„bç“Á1pÅu(®s¾-ñ³Î×ÞÁ]—ëŠû1<5¡TÆžWKçŸ4Ùcû~íeæù(öhÞýmon•Ü VÓý+Fá±ßô8TîF—3ð³¾Znx•Ä ¼D@zÐâE›Æî0BpM ²?„аŘ?±! ÛXÏ߸®ie\×y°hòuq¾ÂèfXlýc‚Uà;"Xp±úb©FØ{@$§nHXˆ'Mš7ó®“[±`zè¡qèb%£­¥Öy¶tÐAq¿iÓ¦Ù„ òâÈ·R-•‰}< L ¿\Nùûÿó?ÿ­ù/ n¡~,bÙ÷e¨e˜Œ9ÒÎßhÉÖNÒµ×^…)LàúÉÓ>âÈRC¥ÏÇ…±×ñÊ2%¾úÎSOnn ~:q<1I\x)™‰s‡5ž<ÅÎ'CSóñHŸ “žXÏÀ­t¢×YÜq:ê¨ø> _o+ãÖα²´—Y±|µ^ÚJ ªD~3‘ν+Üİf¢ˆ,K̳:gï q¸)²¾&üË­ãî§ " ]B>×vÑr…f.6h¬« ó,ͦ.ÌÓþÕ²F¤¬!ÉqE…þx¾ÑlÀªŒ(E\~ã߈¢—ÞƒBÈ_Ü

    Ä|Nö³ˆž÷ ±À§-ŒBŸ½šD~GÕ«$Öh>úÇÈdð%Ç…žPùX ®o†”üà?h|p´bóÅîôû!ˆlÄ.â?k÷ü³1£•¼ímo‹.2EBꦑMßÒ2–õbeJ÷㣅3gÎLWE—ÿ˜a³ íXðÎ.A.PaêOÒ¬¹6ܧÝ×ó=¾8‡úg]s¸üC‘¤ñÀwhð¯gÔ›yóæÅîðËÇ=«¥ó‰û÷w\²°¨òÇ÷c¤q¶ÃèÛÚÂØ÷©äùo 3?¾bh/=¦öæT©ý¹«…Y´àÇÆ,'êö;߯`µgÚ¦Á¸³=LÛwǘù­aƒ&1Ð5 k +]´]i[FÛF·§½ÛÓ¦mc´tÐfvp@T#@qÇA`">ñ›Ç­áϰƒ¸l Þ±ÎüñQÄc>ûì³ã÷C||x: ˆ>¬Îm ¸å bqÃ! ½ùu!® uÁS…<ër‚>ºï„ô´y¹5[KÜ+ņ—+q‰Aìbµ½òÊ+£Ïºû­_zé¥Ñ¢ØÄ_ûä“OŽ¢¡Œ`cdÜl°â¶Uäs|·j1¿#¨{~œB9ê(ö);1ŽyÅYýª$~(Yîm#Ä}Î5§?÷0ÏÔ+ü©oûõAð3OG€Ç°¹ôa–¯©БEèãÛŒ¨/dYÅG -ÛÝíÄËý„‘OR¿yßÖ–˜Dåô{'mÉ«-eb$ ê•®±-Ç+%-–êך?>š{2eʆ}q8&:áPétµ¸·s]pfÓ¶t>—.];,7ÜpCþeÝ–ŽSê¶R§ùUêü—Ê,=¶æ{:ÒtÚiohÒ‰§D,ó{bž‰yŸ Å<¡j,ùQà7 óÔî0ÏcéÆüTc;ÂüÊM;íág¶Û¬eÛmåæðL[AD@º!‘ýë¬ato;bÿà?€¦ºÉOŸº•_ÃDcÛòÜLoØ; £Åà:Q,ð’cúbišŽ›R{>ùe}v9=fkóm)O öEÈvŽŠ‹x±°/ÎÇF\dE{¡2q]b/²çÏ—B”á/y‘ÛGã)´9ëJeœæ]©ó_*³ôØšr TÈ÷«Ü ´XæñAÍù¡b±Ç‚¿bãNûþ=ëí¼ƒkìŠ#k¬O}Û|:Ë…¤ýD@D`_ØŽypÅ6ûÞÝ[íǶýÖëLVèúÐ6ïËCr/ìîëêx"ÐqþýïÇ¡FÓo tÜÑ”³tOÕ%òczüáþE>qÎ%''òÿ1Kø§LèÇîèǦÝó”«V" ]®§ ØŠºÕhû.jÅ|tÕ‰mdØÚK„¿‚t7þq´îV/ÕGö%Ü:«'„›üpÿÊùÙ‡çÐXóqÙÁ'þêvÜAý£/¦~õœ6•DD òhãð;§Í£í˽—”{ÂÉ»G¡YŒmeÎÕ±òÇWŽ" " ]›@u‰|Xb–„Büa–púÛvî¶¡ûÆmú#" =mmm m!ÍcöTž™ò{óÆ‚§"#IDATÂe :Š€ˆ@› TŸÈU@âÇ)ÞÌð9ÍYö©/­(ˆ€ˆ@O!àm–{ÚœÈßÓNöª§ˆ€ˆ@ÛTbÖ(·P°Zù‹¸ÜàD@D §  ¤Œ4AhÖfÊ¢ßS/ Õ[D@ ¨‘ïÅ w±œÇNúžz’¶ÄoûÛÛ’\iE@D * ä>B—Æð?(ü¨ëÙ  " " Õ'ò› È}«é¶qMÞ5S-Š€ˆ@O ¶´Òö=ᬫŽ" "P>ªùî®lúÑZ•üåWR{Š€ˆ@W'àí`NìçÆÍÜÓVvõÚ©ü" " •&P•"ŸJò-Çæ!»Ü|«–D@D {hÞîÝFvïÚ«v" " m#Pµ"¿mÕPj' ‘ï$‹€ˆ€ˆ€ˆ€ˆ@7! ‘ßMN¤ª!" " " " N@"ßI(nB@"¿›œHUCD@D@D@D@œ€D¾“P," " " " Ý„€D~79‘ª†ˆ€ˆ€ˆ€ˆ€8‰|'¡XD@D@D@D@º ‰ünr"U põ[·n5>“¾k×®|Ì|ccc\GœN;vìð}‹€ˆ€ˆ€ˆ€ˆ€TZ{ûöíQ×ÕÕ™Oµµµqž˜©¦¦&3ÏDð¸¾oß¾yqïb¿˜Àß¹s§õêÕ«‚ÕPV" " " " " N­Ý»wo«¯¯Ï ü¬Ðwïb¿ÈïBî:»½îŠE@D PØOºª," e¨J‘ÏÓ†ÝácîD¹e×S;Š€ˆ@—&ÛÀÐæ-dhÕ0vésªÂ‹€ˆ@G¨J‘O…ýÞ•>~èHÊ[D@ª@ÚzYíeVùD@D@:‡@õ‰üpçrcUmb¦âæVN¸êª«ÊÙMûˆ€ˆ@UHÛ@oc[Y^ÓXUuSaD@D@*O zD>.9ÉÍŠ¦YW¦dSå)(G¨r´±- 3¹¶qO«ÛN·ŽTy=T<}C zD~R_ûÈ| Èr]U–4)´fE@D  ÐF£G8FÎ’[îÀC*k.L ê¤³?’ÆFÅ|¼©……=6«.L[E2 к%?¶Mùx›Yf¶ÚMD@D ›¨.‘Ï3èè¶““ôøÆ)¬® w·>õ5¶e‡.ÑMψª%"  Ú<Ú>Ú@loI>n:jbš€@u‰ü¦s’·X…;–|nnõ¡¤‡÷¶;mÑ™C€6¶6¶61º2ƸÇ`PEE@D@ÚH ºD>7-î`Mâ‹U]Xĵ>ÜÜΚÔÏþ8{“Ý:‹,úm<ÑJ."е`Á§­£Í£í£ ¤-¤M¤mŒMel+i8»VÝTZŽ'Pßñ‡hû¸_EŸÓšðâmXশ;ÌŒPgÿsÜ`{xévûô­«m忯¶g®=D@D  Ù¿ÎF÷ŽmóQä7µ‰üØFÊO§ œIQD@:‡@Õ‰üœu*X©vå>*?ºêG>56ª½zp4¡ŸílÌ}·qWÎ%uwðM͹¦ÒMP®@ ÷EïœhÏ=¹¤«Ö ˆû¼?ÌGß|D>ï/…å\›Ùê©2Š€ˆ€ìKU#ò¹Á!Òý¹s´T…Envu,Ôr#Ìùèó¨:ôÂÏbÌn,“:FÌ*ˆ€ˆ@— „zS9ƒf¢˜v/ÆÑEgw÷¬#mœøCˆm£¯È­Ö_žM jD~þ4„ûTx"ï[µÜárê½éÑtÔúѺÕ”}ýn:!IØ9öb,™Ÿg©.AÀ::=hú(ô™w¡Ÿû9Ï|lC£fsŠ_Í^—8Ï*¤ˆ€ìKÕ'òQëáî­õ¸ì4 ýx óÁ t°j…[atÏa9ãfÇúÜ\¼õíKŽ:–ˆ€”I ¶n±ÍcnÈGÔã¶b„}˜hÙ\àǘ#ÆvØC ªD~ÞeÇ…~¸«íBè‡;[\föµXðCv7Åa®é>—[Ÿ³wí©¤æD@D Z ¸i‚ò!æ‘òDÌ3ãð'úà³6F‘@Â? ˆ ú#" " @U‰|ÎÈ^B?ÜÜâM0ÜÓ¢åž{[Ó:npM·¸x¯ãfHhºïåôWD@ª˜€ tÚ-oÃbSrMZÓûHM¾©™Ë7t¾WQEèU'òaúøèçîv¹›^´æ»Ð'ŽwÇ&§ø›Ò’“‚ˆ€tøé„E{hÓü´m.âYÎY<ˆ›Ìq%{)ˆ€ˆ€ˆ@sU)ò)b3¡Ëœ{l·5Ù·>.· ¡æò&®Üjý®D ¯Ù£ÂoüÍÚµÐÐ53\üw¥ú©¬" " ûŽ@ÕŠ|¤7±h­ÏriºÙeÓf“iYD@º& }³²ªk†C " " ¥¨j‘ŸV!üézÍ‹€ˆ@·!7åw›©"" " D É ´“Ž®ÃŠ€ˆ€ˆ€ˆ€ˆ€Tœ€D~Å‘*Cè\ùË_GŠȯ8Re(" " " " K@"¿sùëè" " " " "PqùGª E@D@D@D@D s Häw.]D@D@D@D@*N@"¿âH•¡ˆ€ˆ€ˆ€ˆ€t.‰üÎ寣‹€ˆ€ˆ€ˆ€ˆ@Å HäW©2Î% ‘ß¹üut¨8‰üŠ#U†" " " " "й$ò;—¿Ž." " " " ' ‘_q¤ÊPD@D@D@D@:—€D~çò×ÑE@D@D@D@D â$ò+ŽTŠ€ˆ€ˆ€ˆ€ˆ@çÈï\þ:ºˆ€ˆ€ˆ€ˆ€Tœ€D~Å‘*Cè\ùË_GŠȯ8Re(" " " " K ¾œÃ/Y²¤œÝ´ˆ€ˆ€ˆ€ˆ€ˆÀ> P–È;vì>(š!" " " " "P¹ë”CMûˆ€ˆ€ˆ€ˆ€ˆ@ȯⓣ¢‰€ˆ€ˆ€ˆ€ˆ@9$òË¡¦}D@D@D@D@D Š HäWñÉQÑD@D@D@D@D ùåPÓ>" " " " "PÅ$ò«øä¨h" " " " "P‰ür¨i¨bùU|rT4(‡€D~9Ô´ˆ€ˆ€ˆ€ˆ€T1‰ü*>9*šˆ€ˆ€ˆ€ˆ€”C@"¿jÚGD@D@D@D@ª˜€D~ŸMD@D@D@D@Ê! ‘_5í#" " " " UL@"¿ŠOŽŠ&" " " " å¨/g'í#" " " " •"°aÃ[¸p¡­Y³ÆvíÚU©l÷Y>µµµ6lØ0?~¼ 4hŸ·¥Iä·DGÛD@D@D@D@:”ÿè’âÞÁÐ1YµjUì¤uÔQU!ôå®ãgG±ˆ€ˆ€ˆ€ˆÀ>'€¿+Zï ¢Ô§‚D~5œ•AD@D@D@z(\tºS¨–úHäw§«Ju.F »Xñ{µÔG"ßψbè&$ò»É‰T5D@D@D@D@DÀ Hä; Å" " " " "ÐMHäw“©jˆ€ˆ€ˆ€ˆ€ˆ€ÈwŠE@D@D@D@D ›Èï&'RÕžB€h=öØcÖØØØ¬Ê;wîŒë«e„›f…ÛÇ ùû¸'" " " "Ð>óçÏ·üàvË-·4ËhÓ¦Mqý¶mÛš­oËû~÷»ß5: ]9Häwå³§²‹€ˆ€ˆ€ˆ@%п»í¶Ûì™gž©(žÌ;·¢yvFfùA]ÇhAƒÙsžó»æšk¬˜{Ί+ì{ßûž}øÃ¶¯ýëyñþàƒÆå­[·Æ2Ì›7Ï®ºê*{â‰'âzV~éK_²Y³fµ«Œ¹³D~gÒ×±E@D@D@D@Ê&pÆgØŽ;læÌ™{å±}ûö(ð>úhûøÇ?ngu–ýìg?³Õ«WÛôéÓ­OŸ>víµ×Bÿꫯ¶SO=Õ&L˜`¯|å+c^—^z©rÈ!{åÛUVHäw•3¥rŠ€ˆ€ˆ€ˆ€4#P[[k/{ÙËìÆo´U«V5Û†~È!ÖÐÐýëðÓ¦M³{ï½×jjjìâ‹/¶Ù³gÇŽbžÎ@}}½92æ³ß~ûYß¾}›åÙ•ê»RaUVH xàvüñÇÛoûÛ(Ü}¢ñâÅö¹Ï}ÎWÅØ…ûàÁƒíYÏzVôëñ‹_Ü,MwXÈïgQuLàyÏ{ž}ñ‹_´»îº+O+>ú7¼á ùu ½‰õŸ°lÙ2»ûî»í„Nˆ~ýïxÇ;¢%?Ÿ¸‹ÏÈ]§‹Ÿ@_D@D@D@z:^½zÙE]ÔlHÍÃ;Ì.\h ·Iؼys|©vÍš5q|ý_þò—væ™gÚ…^hìà 7ÄtÞ À§¿+‰ü®|öTvH`òäÉ6cÆŒ<Ú%—\b¿øÅ/ìÓŸþ´}å+_±ãŽ;ÎÆgûÛߢ՞—mñÏÅ+^awÞyg}wžI“&Ù'>ñ‰è¿ŸÏ°‹ÍÔ\qÅ»C0Ÿ‚ˆ‰1BÓy–™ðoÊ~x ‹ÕYŨ·ß~{‡—dãÆ6`À€(è;ü`á§vZÙ‡aÄ #FX]]]~âéëˆé˜x̼O”yBý°aâÀGÐ#ôSïÂÞc¾üµeË–¸£þˆ€ˆ€ˆ€ˆ€ˆ@W €U¿«>òÅ7é'ú.ð‰]äg…>ut‘/w®rÆUN(‘€D~‰ ”LD@D@D@D@º ‰ü®r¦TN(‘€D~‰ ”LD@D@D@D@º ‰ü®r¦TN(‘€D~‰ ”LD@D@D@D@º ‰ü®r¦TN膲;…j©O÷¢Ú®ÕED@D@D@z¾ÙÔBµÔG"¿;]Uª‹ˆ€ˆ€ˆ€t1ãÇ_oíbÅ.X\¬øÔ§‚D~5œ•AD@D@D@z(¾îzÔQGÙˆ#º¬ØGÜS~êA}ª!ÔWC!TžKaÜÐÐÐst@ÍeÉï¨ÊRD@D@D@D@:“€D~gÒ×±E@D@D@D@D ù555p(e)" " " " "ÐJhñ‚"¿Ø+qÀbyk½ˆ€ˆ€ˆ€ˆ€ˆ@ëJÑäy‘_(1ë ­oýÐJ!" " " " "ÐV-iï–¶e“ùÙ érša:Ÿ¦Ñ¼ˆ€ˆ€ˆ€ˆ€ˆ@å »}ÊæÚš&/*ò³;;@ö€Z(Ÿ@%twQ‘_¬XYñ_,Ö‹€ˆ€ˆ€ˆ€ˆ€´@1­]l}±Ü÷ùiÌg§bi½ˆ€ˆ€ˆ€ˆ€ˆ@û ”«¿S_›.ø¼Ç…ŠÈ¶íÛ·Ú¤u" " " " " e@cÒᾎاÖ±—%ßwð ²q}}½=ú裞L±ˆ€ˆ€ˆ€ˆ€ˆ@ ±ÑÚYýMÖ¬kKˆ"?»Sºœ=Hß¾}íºë®kË1”VD@D@D@D@D hl´vª¿Ù%Õæiž.]çóyK¾ïœÆÙy–û÷ïo<ð€]}õÕž‡bv@[£±ÑÚhî–&ã:½Ø!ëÓ $Þ½{wºªàl¿ùÍoìñÇ·¼à6mÚ4ëׯ_³ý´ " " " " "PœÀ–-[¢üõ×_o÷ß¿ :´™öfÏBb>».»Ì~ÍD¾gDÂbSmmmô>|¸Íž=Ûî½÷^Û±c‡íÚµ+NtÒ‰<}™yèN6lØ`ƒ *»J›W=c+6›»¿õ¯ólvÙÚ%Km÷°16,ØÐöÌçÀ{ŠÆí­KE £ÌD p=MU|Þc45S¯^½¢±míë¬&™ïX¶íªKY´“tO®­©]VWó;cq:ùºB±çÑZõìä›yËž™Ç‚õÄž&Î$H‹À'&m:y2Ö)ˆ€ˆ€ëìÓOE‹EO­±ƒF[ÇÚi;zãz»÷Ž»m}ïƒíÔS'Yï5ýûXïp£êX)ÚqÕ('gnÌå‰ü¶báb«w´1~«ÝzÇ£¶rˤ¦':Á¨ÆÍ¼®>ä„@~¾cÉ–_—rÈiè¾ÐÆ„4v½LŒ¦öØ…}6NÓgçSrlKåÛò"ß°ÁźïfœúžiZ²â»È÷ôÄ…Ö¥Û5/" Ý•Àæe‹mMh7G7œd“m®ý{Ör{rùfuÐßîKæØÃ ×Ùýö3[·Ô-_pô Ëãlò”I6r`® /5]1–»·­³ùϳ§—/·Í;zYÿ!ƒl䘉6eÂÈü‹[[W/¶¹OÐFÔm·eK–ÙÓsï³M½N¶[a«ñ'1¾†¾Ó6n\m½6î´úýëmõwÙ­ ë{ÛèÇZã²%¶|Ñì0­µSÏ=Æ×í²e³þe÷, ¤9ÐlÃ2{rÖ}a9„C¬6|†›Õò93íî¹x¯›{ õÞ¾Ú–,_d„iÒ±gÚ´ÑÜö ¶yõJ»ó¶'c:þÔ÷ím«×­³Õ=m“Ú÷qý¢Ø °±Ù>õe»J!ðùxM[ÃÚg„]FÚ˜¡½Ãþ½l܄޶tÁÛxøþ6´K~Ø,ùõõXò}¾ùq厩P˜2eJèLM)´©èºrëR4CmLÀõt»n&FOgc_çëÓeßב²ÜRˆ­‰\€§;°Î—‰]ܧiÝzï1Û|âÀžÖãt]KÓ6è®×/³ù›ƒk˘)6¦_]°Ñ޶ÃÇÔØÏ,´Åk¦Ù¡#ÌAßÕöʵÁ½²ÓÏ:ÊÇûH[»à^ûg¬?´ÐÉöÜâ!–?f7ßõ¸Íÿïÿ¢Ent¸Ðc±£N=ÖÚ/ðm´þKfE¾K7ž¯ÃªÅOÅz5L> #fXÆŸò\\6ÙSs¨Ù7ÿ5ÔššUöÔêí6bÿ^M.:¸+ ¸1„5÷æ9sæäó`fêÔ©qj¶²„…òêRBÆJ"=ˆ€kgªìói̼O©ˆgÞ—=ötžWºìëˆ …fm>;¦bœeÌ­øž&}_ÖùľiÏK±ˆ€ô\Ár=onlàGî7Äwn·ð|Ôe5ËVÚÜ'—Û¡ûOˆ–k¬“m°á}÷4×#9Â&ÍYbó×=cvO³ú&aÛZºQYÿ]ë‚E~G(ËÖ0u¿Ÿ•avÌóβ);êlPÿZkl8ÏÎk@cÖØöÍ›lÓ¦°ß‚'m7ªà‹­Ø;ü¦2i²¼¯_µ,wƒë×ßv®]e+vî ó~âúUO¯°­ƒ¶Æùñ3ldRDZS§Ù°¹3mm¯à òÛ¼biL7nÆq6nPÎ5‡Ò{˜7a¡Ý½p‰­ÚtŒhb1nÆñ6qdÿ¦ ÕÛS·—Ͷù‹VÙ´‘˜…º/ OjúL±ƒ‚[ѺM»´!*Çú½mÅÓöTàwè‰g؄෴³1 OHæÞq›ÍŸ»ÌŽ7>/ìyùÖE~¡'‡~x=öX,õ¡‡¿_Ó†*ä“–S—üΚhF ÕÑ>O\hrQï1iÒyßßÐÚ2éòí‰]gwô 9iR±ïû¹°Ocöó<=첯W," =‚À¶Á‚[‹Ùʇÿi}8SëgfÛŠm“l\Ч´¹„!F|í õ¶+f¾[Ö—š®YdÜ/ñl·á#l`¯æ/ËÖ f9úà€³{Uð¹Ð,ß@êfcDzíB”-a9ZÞÃlãÖ˜{¨èl›9³Ùn¹…-»mKpG" Ò¯yw÷c΄ˆsù×wBŸ}š§ Ï 3|åÂå¶s7E:}ì ý…tq—ø§n¿ 6©Ïl›·p­›q Zõ´=¶Œ=â`&ܳKÉsy%ï±Ó–Í–÷>ÓlÊØá¡´{Â!SÇÚü{¶e[&aÖ‡NTÎ’ïóI¥öìf ùëà°ÃK¶´m¶íui[þJ-=…@ª¥}>™/6ñ;,¶Í×Ñù–B³!4}„xK;rðŢóäáË~`–=¤ó¾N±ˆ€ôk—>iCÃ<ø #¬á ¼sš A»m\4Ë^´Áæ.\cãFæ]O„¥4ù½lÀàpƒØ¦ PÝâßjº½ôaÓˆ8›7Û.òINÂæåómþª:›0e”=~ã¿maØ6~ú‰vØøQÖ¯OßðÊëJûûïoi¡ìÜŽâM+Üœšòê7pPX·Æ9áyväþ}lG#÷nl»mÛ¦Ðè;Àv-^÷Û°a»ÕònEH¶sGäTÓ;'òkš†g® Y4g:A›sOø LŽÅÀPFÄqÈ'Ù”éãƒ[Ï"{jŵda8î›:~X&]~‡’g(O¶L-îܸÆ,­±ñÇM¿jVHvàd|ßR›¿d½xîˆy‡ŽS~¾yúô8GqDºXÖ|›ëRÖQ´“toY .çÚÉœ8÷ù¶ÄN.›§¯Oã¼%Ÿ•ì€Oã4±¯wŸIë">{>¾Þ—‹€ˆ@Ï!°Ù<‚ÛI_;ò˜;0ÿ†ma6ë©{lÍ£ólã£óâýÑûæÙäç-ۤܲ|ž=º1ˆå¾£mHß:ÛÚä¢ÒZº½äaÝH?ºÆV„üf?5%¸½ i*ÈF›}û½öd°1ïwðI¹QsnÏn˜Ä}.¬˜óx\?<ß n=áRSSk}¦!Ù1û‡å§lÞã‹­aÂá5ã\h\;Ç®ûÇýÖgòiÁ—¼Õ<¸Âžº÷Q›6ñD ¹Ëžzô¡œÈß™ë4 ;.¤[jóþý°Mº0¤k*ÈŽµóìîyÃqÆÙ¸áãŒ+(}¬È76qо7”çß7Û¼P”¾µ1_{C›­ßu£í¹_\ø°ý°ø¶†=i^²g¾ðŽ•YÛæºTæ°ÊEºT€{Å|]¡˜uÙ‰ýŠ­ó<[‹£È'ß>ŸÆÅ2ñ4¾/±Ï³O±ùbùi½ˆ€tg[—…a"·…Žn°±áë¶{ÉË!Yà{lÖ†E6oÙ16µJØðˆ]÷Ç•6e\_Û¼m«-^¼,®>ìD†}¬³í%¦‹;5ûSgy¤ý÷æíÉ»þüÞl\ð|Ye-<—yô±m³ÀïÉ©Ù\wÆÝ©.ÍN’D  “Ó.3ïË…æ‹m#?ß–OÅüÿÑôß4Y÷IEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/part2.rst0000664000175000017500000004067313656750211024710 0ustar zuulzuul00000000000000Part 2: Customizing your Application Package -------------------------------------------- We've built a classic "Hello, World" application during the first part of this tutorial, now let's play a little with it and customize it for better user and developer experience - while learning some more Murano features, of course. Adding user input ~~~~~~~~~~~~~~~~~ Most deployment scenarios for cloud applications require user input. It may be various options which should be applied in software configuration files, passwords for default administrator's accounts, IP addresses of external services to register with and so on. Murano Application Packages may define the user inputs they expect, prompt the end-users to pass the values as these inputs, so that they may utilize these values during application lifecycle workflows. In Murano user input is defined for each class as `input properties`. `Properties` are object-level variables of the class, they may be of different kinds, and the `input properties` are the ones which are expected to contain user input. See :ref:`class_props` for details on other kinds of them. To define properties of the class you should add a ``Properties`` block somewhere in the YAML file of that class. .. note:: Usually it is better to place this block after the ``Name`` and ``Extends`` blocks but before the ``Methods`` block. Following this suggestion will improve the overall readability of your code. The ``Properties`` block should contain a YAML dictionary, mapping the names of the properties to their descriptions. These descriptions may specify the kind of properties, the restrictions on the type and value of the property (so-called `contracts`), provide default value for the property and so on. Let's add some user input to our "Hello, World" application. Let's ask the end user to provide their name, so the application will greet the user instead of the whole world. To do that, we need to edit our ``com.yourdomain.HelloWorld`` class to look the following way: .. code-block:: yaml :linenos: :emphasize-lines: 5-8 Name: com.yourdomain.HelloWorld Extends: io.murano.Application Properties: username: Usage: In Contract: $.string().notNull() Methods: deploy: Body: - $reporter: $this.find('io.murano.Environment').reporter - $reporter.report($this, "Hello, World!") On line 6 we declare a property named ``username``, on line 7 we specify that it is an input property, and on line 8 we provide a contract, i.e. a restriction on the value. This particular one states that the property's value should be a string and should not be null (i.e. should be provided by the user). .. note:: Although there are a total of 7 different kinds of properties, it turns out that the input ones are the most common. So, for input properties you may omit the ``Usage`` part - all the properties without an explicit usage are considered to be input properties. Once the property is declared within the ``Properties`` block, you may access it in the code of the class methods. Since the properties are object-level variables they may be accessed by calling a ``$this`` variable (which is a reference to a current instance of your class) followed by a dot and a property name. So, our ``username`` property may be accessed as ``$this.username``. Let's modify the ``deploy`` method of our class to make use of the property to greet the user by name: .. code-block:: yaml Methods: deploy: Body: - $reporter: $this.find('io.murano.Environment').reporter - $reporter.report($this, "Hello, " + $this.username + "!") OK, let's try it. Save the file and archive your package directory again, then re-import your zip-file to the Murano Catalog as a package. You'll probably get a warning, since the package with the same name already exists in the catalog (we imported it there in the previous part of the tutorial), so murano CLI will ask you if you want to update it. In production it is better to make a newer version of our application and thus to have both in the catalog, but for now let's just overwrite the old package with the new one. But you cannot deploy it with the old json input we used in the previous part: since the property's contract has that ``.notNull()`` part it means that the input should contain the value for the property. If you attempt to deploy an application without this value, you'll get an error. So, let's edit the ``input.json`` file we created in the previous part and add the value of the property to the input: .. code-block:: json :linenos: :emphasize-lines: 11 [ { "op": "add", "path": "/-", "value": { "?": { "name": "Demo", "type": "com.yourdomain.HelloWorld", "id": "42" }, "username": "Alice" } } ] Save the json file and repeat the steps from the previous part to create an environment, open a configuration session, add an application and deploy it. Now in the 'Last Operation' of Murano Dashboard you will see the updated reporting message, containing the username: .. image:: hello-world-screen-2.png :width: 100% Adding user interface ~~~~~~~~~~~~~~~~~~~~~ As you can see in all the examples above, deploying applications via Murano CLI is quite a cumbersome process: the user has to create environments and sessions and provide the appropriate json-based input for the application. This is inconvenient for a real user, of course. The CLI is intended to be used by various external automation systems which interact with Murano via scripts, but the human users will use Murano Dashboard which simplifies all those actions and provides a nice interface for them. Murano Dashboard provides a nice interface to create and deploy environments and manages sessions transparently for the end users, but when it comes to the generation of input JSON it can't do it out of the box: it needs some hints from the package developer. By having hints, Murano Dashboard will be able to generate nicely looking wizard-like dialogs to configure applications and add them to an environment. In this section we'll learn how to create these UI hints. The UI hints (also called `UI definitions`) should be defined in a separate YAML file (yeah, YAML again) in your application package. The file should be named ``ui.yaml`` and placed in a special directory of your package called ``UI``. The main section which is mandatory for all the UI definitions is called ``Application``: it defines the object structure which should be passed as the input to Murano. That's it: it is equivalent to the JSON ``input.json`` we were creating before. The data structure remains the same: ?-header is for system properties and all other properties belong inside the top level of the object. The ``Application`` section for our modified "Hello, World" application should look like this: .. code-block:: yaml :linenos: Application: ?: type: com.yourdomain.HelloWorld username: Alice This input is almost the same as the ``input.json`` we used last time, except that the data is expressed in a different format. However, there are several important differences: there are not JSON-Patch related keywords ("op", "path" and "value") - that's because Murano Dashboard will generate them automatically. Same is true for the missing ``id`` and ``name`` from the ?-header of the object: the dashboard will generate the id on its own and ask the end-user for the name, and then will insert both into the structure it sends to Murano. However, there is one problem in the example above: it has the ``username`` hardcoded to be Alice. Of course we do not want the user input to be hardcoded: it won't be an input then. So, let's define a user interface which will ask the end user for the actual value of this parameter. Since Murano Dashboard works like a step-by-step wizard, we need to define at least one wizard step (so-called `form`) and place a single text-box control into it, so the end-user will be able to enter his/her name there. These steps are defined in the ``Forms`` section of our ui definition file. This section should contain a list of key-value pairs. Keys are the identifiers of the forms, while values should define a list of `field` objects. Each field may define a name, a type, a description, a requirement indicator and some other attributes intended for advanced usage. For our example we need a single step with a single text field. The ``Forms`` section should look like this: .. code-block:: yaml :linenos: Forms: - step1: fields: - name: username type: string description: Username of the user to say 'hello' to required: true This defines the needed textbox control in the ui. Finally, we need to bind the value user puts into that textbox to the appropriate position in our ``Application`` section. To do that we replace the hardcoded value with an expression of form ``$..``. In our case this will be ``$step1.username``. So, our final UI definition will look like this: .. code-block:: yaml :linenos: Application: ?: type: com.yourdomain.HelloWorld username: $.step1.username Forms: - step1: fields: - name: username type: string description: Username of the user to say 'hello' to required: true Save this code into your ``UI/ui.yaml`` file and then re-zip your package directory and import the resulting archive to Murano Catalog again. Now, let's deploy this application using Murano Dashboard. Open Murano Dashboard with your browser, navigate to "Applications/Catalog/Environments" panel, click the "Create Environment" button, enter the name for your environment and click "Create". You'll be taken to the contents of your environment: you'll see that it is empty, but on top of the screen there is a list of components you may add to it. If your Murano Catalog was empty when you started this tutorial, this list will contain just one item: your "Hello, World" application. The screen should look like this: .. image:: new-env-1.png :width: 100% Drag-n-drop your "com.yourdomain.HelloWorld" application from the list on top of the screen to the "Drop components here" panel beneath it. You'll see a dialog, prompting you to enter a username: .. image:: configure-step1.png :width: 100% Enter the name and click "Next". Although you've configured just one step of the wizard, the actual interface will consist of two: the dashboard always adds a final step to prompt the user to enter the name of the application instance within the environment: .. image:: configure-step2.png :width: 100% When you click "Create" button an instance of your application will be added to the environment, you'll see it in the list of components: .. image:: new-env-2.png :width: 100% So, now you may click the "Deploy this Environment" button and the application will greet the user with the name you've entered. .. image:: new-env-3.png :width: 100% Simplifying code: namespaces ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Now that we've learned how to simplify the user's life by adding a UI definition, let's simplify the developer's life a bit. When you were working with Murano classes in the previous part you probably noticed that the long class names with all those domain-name-based segments were hard to write and that it was easy to make a mistake: .. code-block:: yaml :linenos: Name: com.yourdomain.HelloWorld Extends: io.murano.Application Methods: deploy: Body: - $reporter: $this.find('io.murano.Environment').reporter - $reporter.report($this, "Hello, World!") To simplify the code we may use the concept of `namespaces` and `short names`. All but last segments of a long class name are namespaces, while the last segment is a short name of a class. In our example ``com.yourdomain`` is a namespace while the ``HelloWorld`` is a short name. Short names have to be unique only within their namespace, so they tend to be expressive, short and human readable, while the namespaces are globally unique and thus are usually long and too detailed. Murano provides a capability to abbreviate long namespaces with a short alias. Unlike namespaces, aliases don't need to be globally unique: they have to be unique only within a single file which uses them. So, they may be very short. So, in your file you may abbreviate your ``com.yourdomain`` namespace as ``my``, and standard Murano's ``io.murano`` as ``std``. Then instead of a long class name you may write a namespace alias followed by a colon character and then a short name, e.g. ``my:HelloWorld`` or ``std:Application``. This becomes very helpful when you have lots of class names in your code. To use this feature, declare a special section called ``Namespaces`` in your class file. Inside that section provide a mapping of namespace aliases to full namespaces, like this: .. code-block:: yaml Namespaces: my: com.yourdomain std: io.murano .. note:: Since namespaces are often used in all other sections of files it is considered good practice to declare this section at a very top of your class file. Quite often there is a namespace which is used much more often than others in a given file. In this case it would be beneficial to declare this namespace as a `default namespace`. Default namespace does not need a prefix at all: you just type short name of the class and Murano will interpret it as being in your default namespace. Use '=' character to declare the default namespace in your namespaces block: .. code-block:: yaml :linenos: :emphasize-lines: 2,5 Namespaces: =: com.yourdomain std: io.murano Name: HelloWorld Extends: std:Application Methods: deploy: Body: - $reporter: $this.find(std:Environment).reporter - $reporter.report($this, "Hello, World!") Notice that ``Name`` definition at line 5 uses the default namespace: the ``HelloWorld`` is not prefixed with any namespaces, but is properly resolved to ``com.yourdomain.HelloWorld`` because of the default namespace declaration at line 2. Also, because Murano recognizes the ``ns:Class`` syntax there is no need to enclose ``std:Environment`` in quote marks, though it will also work. Adding more info for the catalog ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ As you could see while browsing Murano Catalog your application entry in it is not particularly informative: the user can't get any description about your app, and the long domain-based name is not very user-friendly aither. This can easily be improved. The ``manifest.yaml`` which we wrote in the first part contained only mandatory fields. This is how it should look by now: .. code-block:: yaml :linenos: FullName: com.yourdomain.HelloWorld Type: Application Description: | A package which demonstrates development for Murano by greeting the user. Classes: com.yourdomain.HelloWorld: HelloWorld.yaml Let's add more fields here. First, you can add a ``Name`` attribute. Unlike ``FullName``, it is not a unique identifier of the package. But, if specified, it overrides the name of the package that is displayed in the catalog. Then an ``Author`` field: here you can put your name or the name of your company, so it will be displayed in catalog as the name of the package developer. If this field is omitted, the catalog will consider the package to be made by "OpenStack", so don't forget this field if you care about your copyright. When you add these fields your manifest may look like this: .. code-block:: yaml :linenos: FullName: com.yourdomain.HelloWorld Type: Application Name: 'Hello, World' Description: | A package which demonstrates development for Murano by greeting the user. Author: John Doe Classes: com.yourdomain.HelloWorld: HelloWorld.yaml You may also add an icon to be displayed for your application. To do that just place a ``logo.png`` file with an appropriate image into the root folder of your package. Zip the package directory and re-upload the file to the catalog. Then use Murano Dashboard and navigate to Applications/Catalog/Browse panel. You'll see that your app gets a logo, a more appropriate name and a description: .. image:: hello-world-desc.png :width: 50% So, here we've learned how to improve both the user's and developer's experience with developing Murano application packages. That was all we could do with the oversimplistic "Hello World" app. Let's move forward and touch some real-life applications. murano-9.0.0/doc/source/admin/appdev-guide/step-by-step/hello-world-screen-1.png0000664000175000017500000003645513656750211027502 0ustar zuulzuul00000000000000‰PNG  IHDRùÂÓžÝ?sRGB®ÎéiTXtXML:com.adobe.xmp 761 194 âŸy;>IDATxíÝ\Te¾?ðO»ƒb »j¡ &ù'"[®;šid[Ħ&™ntÃð_S¡^–VXÙ»H»èåª]$w®i,¸?ÒÅÔ–¥6/F–¬±)N¢‘‚†&䤠LÛï{ÎÌð=戟ózgÎyÎó<ç}þÌ÷<ç9‡¾•(@ P€ (@#ð½³&\ P€ (@ P@`Ï (@ P€=L€A~Û \ P€ (@ 0Èç>@ P€ (@&À ¿‡mP®(@ P€ äs (@ P€ @`ßÃ6(W‡ (@ P€ ò¹P€ (@ P ‡ 0Èïa”«C P€ (@ùÜ(@ P€ (ÐÃä÷° ÊÕ¡(@ P€ ƒ|î (@ P€èa ò{ØåêP€ (@ P€A>÷ P€ (@ ô0ù=lƒru(@ P€ (À Ÿû(@ P€ z˜ƒü¶A¹: (@ P€`Ï}€ (@ P€=L€A~Û \ P€ (@ 0Èç>@ P€ (@&À ¿‡mP®(@ P€ äs (@ P€ @`ßÃ6(W‡ (@ P€ ò¹P€ (@ P ‡ 0Èïa”«C P€ (@ùÜ(@ P€ (ÐÃä÷° ÊÕ¡(@ P€ ƒ|î (@ P€èa ò{ØåêP€ (@ P€A>÷ P€ (@ ô0ù=lƒru(@ P€ (À Ÿû(@ P€ z˜ƒü¶A¹: (@ P€`Ï}€ (@ P€=L€A~Û \ P€ (@ 0Èç>@ P€ (@&À ¿‡mP®(@ P€ äs (@ P€ @`ßÃ6(W‡ (@ P€ ò¹P€ (@ P ‡ 0Èïa”«C P€ (@ùÜ(@ P€ (ÐÃä÷° ÊÕ¡(@ P€ ƒ|î (@ P€èa ò{ØåêP€ (@ P€A>÷ P€ (@ ô0ù=lƒru(@ P€ (À Ÿû(@ P€ z˜ƒü¶A¹: (@ P€ÐiB`«@Ö«›P…Þjvuuuè=`&=ô‚|õê4[Å.¬~í3ü|É|ø{^Z©—Ÿ‡{³Løúž¹¹ÔJtRõ’­Y¨úÉLLòmo%[–o·Û`³ëàí©Ífè¤jœM P€ (phÓ’o¯FN¦™»,8zô(*+˰-}Œ… *cì æ…ã0禣Zýpiºöj‹ä‘}yÔ 0Í„ÂjÛ¥U “¥NoÆœä4w˜Ëò˜Áý÷š`í$_Φ(@ P€ @w´iBvæ²pùc~ «»;’f#ы׃ߓé³P´ç àrJôè%ëÖÝYÃiõX´gÔár*Ñ"Cõƒ­t3‰XѬ;îg´M´,ÿÆ^>2©\bí-Ái (@ P€讀6-ùÎRëš·{cÊ’å0ȼ· Ž@ „CNDI’ØŠ«b`0ÔŸÈ$V(ËÖ`sL$’22â˜g‰Â潕ÊBm†²üõˆtæa0„ )«Pº¿”aå b²Š›Ò«ÓBQx[~9o¨•PÊŠÂʬ,D¹òYŠÂÓ®[ 6ìÝœÔXÇȤUX‰­¥ê 4å­Œõ„iá‘0#á×rN«O5å—dÅ "Ý"é¸×ƒb%[{%6'E6–µj‡óÂÁU×õu ‰É@aáÖ¦ÏbXÜX÷VÅò#(@ P€ Àu% ißFÎs(‚€ò÷KðuÃ9X­Ÿâ¼$*Íz‰™Ç·6æ©gÉEôc¯Jˆœ«² ×dBŸy©0g¯…qxV,˜†­êE@S ¶ÒõOÇ€…)È6g#eáhä¦%âÃ3þøi¨ ÒÌ(sÆëÖ·Á\Œ€êýT58fÔ+‚9-  «‘-õC¢—mr¹QºùWX°"¡1©ÈÎ^ÑřȳXpò¼ë" ©.ž¾“°xÉbDE-Â#òB]Ó¬6c®ò‡Üó8ŒÁÊó ÁˆK‰ÀÏdÍ›†¹´v#L) q$3?_Y¨æq®J©k:‚RL0¥. LˆŽNFPÒZd¯M€¾˜} Myœ@ P€ (pý \Ù _úæôòÔÚsŽ~ù2ªtµiPÏ¢útú ¹K·™aÊwt[©•™a)øÝ¬Ið9Vúôo‘àx}û§êR®_ºA÷"I‚óßÌÿàAð»m”̲ÂrбJ,{Þ¥·»…Ù™K?‰]K;þ*Á¸ŸÑ„ÅÓ'`dà$üû<¹"9R-A~ vo*z¤ªõ9r–¬_-m:l¨ï,‰s¾Þ­t×i!cÑ¿<iÒ°–òî ‚[ÇÏÀï`5¿ŽåªC\ qfD…!hRæÉ-}äZDM‹‘c§#6²óÚu±jLF P€ (p hÛ9½ † ÕG$ ½ 7¡)Hœõ$U¥!11&u=Â^Æ#ûgpéªÓ4ôm·ÏºÎ³/êK×"ÄÝ”Ô5æs/â$‹æ"DÝé“ÄëFÓým¨—²&îZ uÊF/èì_`¿´üÏömœ½/ÆÉ§‹µÒ7%îÚXƒ¹Ë Ü°Ÿ=©ŽçƇ#Wsý †rãA©kÀˆAΉvµýz7=àÑ»Ÿ¶•sÏ¿ (@ P€ל€¶-ù-!=]øg˜¤1ý¾1Í‚e!²–ÀàiKQTT„÷vnAŠq8ÌÉF¼U!ѬĪæÝ›A:Ûýë]3J²!Ù|«·¼§æS´{­³¥]¹nñÄCO¥1#²ÞÈB¹Ü x4¨£–n%Än5èc´´”|RÑ4ãô!¹7çKB›&k1¦ÔØ{ˆÜE!μ۱>b³{› Iî­Î’_íÔÕ9«¥Ž+=ÿR€ (@ \šùJ¯œòâÝ(.Þ‹Â]ùÈZƒÉÑ&é‰gB” ¿©#ËÑm/Â>[‹Ë`— ƒûö‘ùzô—÷Å÷V22GcåŽéÃ_)èþf™2¢E jv²\Ü®(ƪg¨©žýúœ¤“ÜÆNE8,HK˃!f&¤cL7oŒyD‚îÜX©G1*Êö"éÉøn,ßµ¤ê:X÷c·8Ôô¿J›ÏÊCÈe§a­,Á«‹ŒHNüÇEBû®•ÃT (@ P€×—€Òˆ¬É Äæyiñjk·š¡ÞaòPì‚Ù!PºÂÛûÜÒXNÐÓé0Z"ÙŽdçÔ°8“ÚgþuéÁ†=‰sÔà^™·Q^Á©‡½¬);] ƒ¼ž3:|²šC@h(ü,y0ÇšñlÑb¹dðÅô¸`˜WÓ¡ÎR”Î8M½Zš+ úôªÞIPƃæÿ©õ¿Bl¢Q­G@h8ò”Ë‹­ólºùüÛCð3%"Þx kß{‹6­Å©çÈ:)÷ dЇbõ¶¹².öõvÌlù»©ãNËéüD P€ (pý Üð­ Wkµí6å?¾Úáéííì/_ƒŒûU»¨CM :OotüaíjIäø¯±öÔØdÜÛqí’¿Ô€ø¯°;cz»ýú;^oy}fÖ«Øß2æOéHV™ôxéÛÿ¢‚ûÏtœÅe̱ÕÔHX/ÿ ×»e÷§ËÈ’‹R€ (@ \Gšµä_Š™ÎSòÖ Jþ³çm2U/An›¹­R+p³4:où,oÛ/ÝŠã_A‘<<»pcH7|¥OüÐë(Ò#ðÖîHÌ”¯¥Éz¤ÐÔ+à«¥7_'e P€ (@ tCશ䷭§´ oÍAÃÝ31ÁçÒ[±m»°rí.Üö³§0k’Ûbº8¥¢8Ûó q¨ò |FOEdD.£Z],•É(@ P€ (pynä_ÞÊpi P€ (@ PÐìí:Ĥ(@ P€ ÜC€A¾{lÖ‚ (@ P€š 0È׌’Q€ (@ PÀ=ä»Çv`-(@ P€ ( ™ƒ|Í(™(@ P€ ÜC€A¾{lÖ‚ (@ P€š 0È׌’Q€ (@ PÀ=ä»Çv`-(@ P€ ( ™ƒ|Í(™(@ P€ ÜC€A¾{lÖ‚ (@ P€š 0È׌’Q€ (@ PÀ=ä»Çv`-(@ P€ ( ™ƒ|Í(™(@ P€ ÜC€A¾{lÖ‚ (@ P€š 0È׌’Q€ (@ PÀ=ä»Çv`-(@ P€ ( ™ƒ|Í(™(@ P€ ÜC€A¾{lÖ‚ (@ P€š 0È׌’Q€ (@ PÀ=ä»Çv`-(@ P€ ( ™ƒ|Í(™(@ P€ ÜC@§E5l»ðê¦Q‡~… Î\­ÅÈX—‹º“ðÜüIðÔ¢0æA·°aoÖü½ª½ÛÔ­è{7÷ÿ6.œðÔ”aóŸþ„ÂâèªõÂ_<‰)A>jñv» 6àé퉮|t7ýw²Ž,„ TìʦO ÷íÏÛv[ lv]—7 Wë’²j]_Åæµ]U˜ôÔs˜äψî’P¿ã…ºr^ï´Jöj 2Íf5¹òìN›®ô5G÷ÀdÎüaƒüN™àZ°á¯™`¶vTÿÞÜÿ;¢áô+'PSŒ¨û(j^‚¥yfìNÈÆï¦ÄÓ30š,0ÄlDƬÀæ)Ûïnúv3áD ¸±@µåm˜Í‰[úi|Þ®Áë÷#½Ükß{c½ÝA­ZÛúV¿†Ü\+<'Ïaïî›ÏY?M‚|xôjZÝ‚d¼ºw"•æüÆé½ºÔJÔ”I÷Æì6;tžÚ¬J÷Jfj (žÿ‹8ô­zÕŽWÓ̰Bð…ÏaXßzÔ{Œä],î(ß¹€Õ²ËàºåeÜÝ÷Klx!Ó#ï•w±D‚üûz©õª•N]º›¾+y2 ÜIÀ£—㘳¹Æq‹½Õ¬½p£àW>îi[ßÛçdbË ;úÔ»Ó&c]."pEúäg.HC™Ú:ì¶UbUL$ ƒú2# ëóKa—´¶Ò­ˆš‰¥«ÖKšŽ4!1ر·1!ÎÏ‘ÈÚ[Ù¸:¥ùëbÀø{ÇÃ"ó +çq„߀'‚¦<ŽY?ŽÇŸ˜ŠájÁ>˜:ûqŒï_…œœÕø¤­¨qV¨8+ 3fÌÀªïbeT$¢–®DÆÊ(çq‚¤¬BH Ç`¯ÄÖU1ÎÿZ‰âÓÊÃ8±_¢yeÐûç¿7<åoÔÊT„#tÚpTlMBDš£ß’>3–:öÑR¹%5ÃyΕsµ²ÏVØPÚNúj9oG†Ì@ÒæRGY²—oMŠ’eV¡Lvb[åÞ–çüÈ¥È/íð–—3þ¡€û \,Ž4ïägÈùÝãäØX¹µv[)’"#ðšzHZ°,|–f•´YIÇñâŒ$ȘŒÆó½+FŠ‘ï‹¥‘!θ' [‹O7æS#1VR”kù,ÍÈ—É å¯Œœ¨¤,ìÚ± !JÞÅ€ý4vd,mª¯!1«vàtõý¢0K¿„÷Êßf]ªïÊ ¬tÅp†–1\cÅ9rÅ4òýà§^àåá7ëå¤ß§Ye{ žy,™rk8|!â†åEHÇDz¿Ø¾BQ¹y™éÈ<æ…%kDÃTÐJÆV Òü%òåQ¶5ñé°Xý ?e^ôcÈ(¶^1,fLNì Id?õýq`± (÷uüCÝ5+`NËEyy9öÆþ"™'Ý'Læ#²˲Vä¦Eã?Ô/+ÖÏ›†äÌè‚ ‡ŒÆÉ‰(eœßèÌ‘öF=ô°c†ÕŒˆû ‰ŒÂªg0óËñ»Å!ðò¾Éy¾–ë¿ „ºâ DĦɹ`Ä!2ÔOÝç¢g£¾ôó¶ÅZŽÃÕç+ñÕá"Y¦Õöd/Z žóÂ"!&\Náyˆø9Š]W¼Kq„×€@'qLéæxÄ›äü†¸„£æd#ß=A¾ƒä©Eç0h(GþÀõÉñ׺ÏLSŽ—rè ¡• ÈR`’óýójÌ㊑”îvyµ£j𓯋"$ŸÄŽJ;ì•ù˜.1V®¼†Ð0ËìÄ)¹>HW[~ XöÛ¥ø±t·ðühŽôýÏÆ·ŒÒ§Úÿê­Kv{ïtäoì…•)@žÅ*v2•Ÿôdø…%áõÄÅH9eQ[ó}‰Gâü@ÔT܈”¤[P¯¿ŒŒO{ÉóVyñËpkH;éK>mãàjÚQÎëõιµrÁ;$() #á1dnÕ »B›‚9W\àâqÌùê/5¨=AÒ™€‡<a¨ïœò úVŒGš%Ë_IC`«è«äÍÿ•X.¸ƒð–ú\c £îGš\0›Þ.ÃòΕó‹”i1|ä~︘Gä»ÅŠM;`(6ª±–_X~½à~àÄm(0¦ÁškÂE±i9†à…kñûùc¡³ÛQöQ þí ýä!ŒùÁ9Ôü–<³SŽªê íwmë[²ß• Ðåúê#‘/õÕ×ìÅŒûÈeO¾–óÜþ™'Ø5þ§Õnv™kóå9 œÔ°W›+Wl+œ·‹•lu}Ð W€›²s±bÅEÊñ€¾Êì#ÔnE?Å]Ê•‚ìÂÁ€4|£î,\sL±0)³]ƒÔAÙøâáß«+à‰û#Œr"6!/÷/w¸X­N¨qª\W;«6?ösì±'J7 H_¾åu£ó‹>¹Åj|zLY–A~ ~h&`Geé!|åq;–fæ#©æ4Ê,ÿÄÎl¹S*œå¹ÀžgBáãê‹_ï¸åÙ×Gþ–#wO“‘Ø,7W„ÐÐ*}c’^®¦šs8ÑØ£Òÿ¾<‡–½"C:¨W·r}¼«FB¯í·OcU8BMšâÙ¦ì:‰c‚æ¾ cùo`Ê+@r´£!Ršå‘²îe6u„r—·Ã ×g3~ñÆØ`ƒ=E8vò,à ò ‘_<ñ“‡î äå&õPü¾#Þ*ÏMÆcòÓ|hº¿€9cùëtèã¼½éUµ”)•t —S_¿iÔÆ^xߊIÒš/m±-v]…ðïøžÖ¹*½&-Y%·©ZµÅB¬´Ü—#k·íFÑž-Wƒ÷–餡Þ94í–®)uÎï=²ó%¯=xoÛF$%Ä!Á8†~#GÜA@?v*¤sšœ¬MÒõFé€ÇîómV5 èO;>Ú;–ô…Áßs¶ƒÊÝ-óî=سg7ÌkS‡§É/ t(`ÃÎø9ò…Žû—î€Ý{ FŽ Áâå¿‚z×\ÚüΜkÖçˤøó2 ð-ˆLÁÎ=EÈ7%4ž—6õŽÏ–ªÏVÁv û­Î4ò<É?+½1uñËØ–Ÿ/ûn‚ìùÒK³ o6&r¦å ¸›@m=.HìÒâ­þÈ >¬cl(ù° ØӖ|ìÜbÂBéî¦t©‰_“ß,ÄÚ½Àud6W×7;–QUÉÅ·k°üýÃÆç»*8jÑß i©ß]´»wïÄê¤ù¾˜ƒ[¾ïZZþº{[ –W¨]ó®6˵DÖF¶ÿ½r9õõêíª{ hï©YÕ8ª½@»»Z·‹i{béêHLŽÎl›•õ+ý|Žf®u¾r°Uòe3¼mÊŽ§ôÄÓ‘~(’KÂäøßâä#£pè-¤ 1Ù˜Þñ’œC« à‹™ ¤{š£¥E:ÿ¦Üªll(±"~Z"þràx­ß¤»0äÎ[äâÀ„\éSý›¤~xxøY¼–®¼¹HÚöØUXyíxcÚâp¤ÇÊþ”—ˆ{?ÍEèí}ð©´0ÊiR†0Œé‰êw…%{bªŒïçø®=%ýì?Úü—MŽUv~97Ô·LŸ0Õ1[šñË•_ ÏžLµËcêl•g®”öLCdf5}Qô¾Q›¯géüCíÊM˜lpîÿÎÜg/™åk7ŽÑá¦âÄgÊ: ) îVØÕÁoÔ­ÒøhGzøXð«ˆHL›½ ‹å W®a”¼–RŸ/ÝkâåiDí}¹# œíý0{j t¿ùБԒŽé1çqëQ¤›Gó̆cxƒ<ƒ#¯Î*Jÿ=VÖÏÄ /߆IzT@oÄÎi\Å é(tM²âøçe(”n ‰™Žï(Çœ¶õ q-"»\ßfËpô»Ф%߳߷cœ_Êj œð’BõŽ5’é^A3¬|.Šèh¬È«t,#!Ë‘SÍžÂj–‡cáÖ¿ Æ.~ ár+«¼¦tG€oOšYMMë%ù™ß@Ë9p†Ñ¹¿³Æ·yó”r\dJ€¯œbõÒáM.nþXºm5”Æ Kž ij€ïcêLñaôÝmËk³¤“–`cR¤£å^ºJæ9|½ k·-…r/ixè“jë:äáÙ‚='1âQ£t“Óªt¯‰ŽND±—³eÏr_ÈEiëôßœ8õ¼.½Ì™øÈ+ØñÒå^«ì¿Ë³“Ô‹2“+ÏjIÞ¡ Wcn ;ä^›{UϯµGï>®¤OÐãcÆ>÷š´ÞË1c1#>:VîŠ)ÑF"å© ÉS»ŸTïéÊáfÁ®“®{Gq:Ÿl2Å©Çc‘<¬êÐ Hظœ¡”šÒÏŸý™H—2(CXœ ³FzÃ;pÌ)Ê÷L9rMiŽåå൛Œ¨¦T~ ÀM®¯iŒ]’®ÎÉM‹Gt¢ >Ž7§ ¶N©[ÇõU^šÞåú*‰[ -¿[ÌâÍnøVÍs½H†¶«4`zB/ÿaQ‹Aùl5ê{òe'ç»òµ eš ØQ’/3í“V³ÒUG,/’Ë•2lòÏŠîUþY‘wg`”Ý*·aÛ?6ÔãFn³zëõí\ hZafÖãì°ÕÔàÜ…xôéÛ…s¯5Vixñìú9Õ±ê ×·¼+åËiZ²”Wyº‚Œç̺^:‹cìòo¤käG×c¨ÉÎqüÉÿiq<Õ”¬ÇýsÒ°p#2ç‚UŽQ§^➦%c6™'Wäºö¿KZ§†¼Ëq¸_ê±Ù~}۔à WEà;?Ýzzë5í3¯Dú6;ùU±d¡hG ùñÉò(­cOyÒùД|–×m:ÞÅð%”7’éäØhÞ`Ó<3­›æys¼§ è$¸–ónûñw;+¯S/&Û™Ñá¤ÎöO5¸ïpiΠÀµ%ÐÙþ®ó”[~.mèàøkp<£UyNieW.:ü¶yÝ(['1TGYui:¨o—–e¢+-ð·ä_ébþp7Óe%8!/Gè7d(ü6‹´¤¥ôÀœ¿ñfÜ9Ò‡-ôî¶áX P€n"`¯©ÄË)ô»õvùéFï&õg5®Žƒü«ãÎR)@ P€ (pÅ4yðöŠÕŽS€ (@ P€Ý`ßm2.@ P€ (@÷`ïÞÛ‡µ£(@ P€ @·äw›Œ P€ (@ PÀ½ä»÷öaí(@ P€ (ÐmùÝ&ã (@ P€poùî½}X; P€ (@ t[€A~·É¸(@ P€ Ü[@וꕕ•u%ÓP€ (@ P€n À–|7ج(@ P€ ´¸á[:˰¾¾¾³$œO P€ (@ ¸‰[òÝdC° (@ P€ÐJ€A¾V’̇ (@ P€n"À ßM6«A P€ (@­äk%É|(@ P€ (à& òÝdC° (@ P€ÐJ€A¾V’̇ (@ P€n"À ßM6«A P€ (@­äk%É|(@ P€ (à& òÝdC° (@ P€ÐJ€A¾V’̇ (@ P€n"À ßM6«A P€ (@­äk%É|(@ P€ (à& òÝdC° (@ P€ÐJ€A¾V’̇ (@ P€n"À ßM6«A P€ (@­äk%É|(@ P€ (à&ßÿO:«Ë7ß|sñ$ çaί@Ág_£è3+ }…¿¸€ÞÞ½qóß¿ø²œK P€Ú ØŽcSƱë£}øè£ÔŸ‚‚¨´aˆÿ0xë´,Ò†‚ «ð÷¯|4¬¿–3/ |§¶ãXõÇ"ø»ÞÍšAíÖOžºÇ¡ÿEŽuù5‡¤ësRòrŽ_l™‹­ £Ü?¡Î †ös\{þ+–ü1zh?çâŽcð¯r þ¤Çàñ‚ øc¡ãFF³Õm‘§ã¸îƒä7ƒ1ACq‚‹­ç}Çm·é¥Tà›zì8t)·á¸µ_ÖÔãÝONcI¶/¾Sû¥äÉe(@ PàÒ¾ù [³s]ð)Ž;¦þœüü#lHMÀŒ^Âçšž˜¿Ág昞»ôúrI ¸À7_Y“ó¿8^ײ2uå{½ÝŒêNÚ<Õåéš·Ì­ëŸt_mÏAî¾ÊÆ…ªöåbÝöíX󯇰¹¦ÚJñʺ®qMèÚ߯,;‘³fÚ_¬ùqý íÌAŽÙÒTf׊`ª«( ÍŘ³±~ÖÃ#𔯫åÞŽ¼¿|Š´’øóH½Lצ¨«hÅ¢)@ \;ÎSñ³¿ysïðl¬÷É‚T̈ËÁß.³wé§_Úˆv»:]oôî+9ôº´\¸ÜF@§ìÄ}ÛîÊMo]ñæéš·N×ÕÏ^÷Öíýö°aj ºEî̩þ=(³Í„rx×–íC…L|nœ$îÆ VQß -–é฾QIÔ:m‹ùÁÍ´iÉw®T}‹n=:„NñC ÌË/u\#ÖžªÂò?þ“W+?𧃵ê’u_|¹<Œ?½sØ9ïŸX¾ûK¼¿çHãçÿz ŽÔ²3Ÿú²Y>’ö½ªÆynæËêP€¸ªõö–M·Œ‡æ¡}íçXöÄL˜ ü< Ÿ7Ö÷ów7`ž:]™7/múÀÙŠgÛ^’i÷á¾û&`޲ȓC‰ómŸç≠óðöçmŒ¨=¸ S¦,Ãá¦Iep„î( ×­-†Þ­&ØO"ç¥yÎãfžåmX[,ÑöCíçï6;Ö&`Ù†‚.Ä.^7yðÎ8©fyÿ—S©±/`ÞÇGeŽÈèØG»d®ü·èÐa9¶ƒX6å ¬{ûm¤ÎSŽéWÐòÞ[ÇǵR´C  j=øëZÐ4Èo³Â7bœt;UQƒÚ³ÕXôÆ ìÿÁ±òçèCVþü©B®åâàÔ…óÈ*“y£z£PnM%ü­|öÇŽóBÉ¡“xã¨Ü_>[…yoT¢P¾N†"nŒ ?9y­nS<'P€¸ž”†·s_‰ÚZ+¬UU¨:~^ú½#£0æ6 õ«>ÀüYqøÇÈ±Ñ„Ĺ±.n6HŒíðÌJX‡Ï&ccÖF$?ˆík–cop8gb×lǃ/¬@VVî9³‡¤,¥<Ïacp—|ZýæÇNz;>Ü´Ö¾·apÓ ç<þ¡€; T`÷ŽwQðî»xWù‘gYþò×<©¨Ú”-k±é™HÝ>‰«MÈH~eÙIˆHý ã•©*Àã³ðŽâ+22üÂT¼³.¿r‘eœ¹ 7Iƶ£TŽ=œ< czüìáÉ•Fû“‰6üs—SÇá–‹•óg¬Ø”„wÌDüŠ×H)êbÇ5à…ß#ÞТ‘@YŽƒû \á>47 —rèü78¸ïNÉ ¡—?¹æ?~>--Cî'_ã±» ï!nîLTž!¹å_È>t ÷=â‰J÷ŸÁßbØGJëÒ¿`Ù÷¥\yzâsý ä}«7ãSüBòß?é‡Í/Aáð] Økãàg_I·9¤ìvxüÀ#~Ô¼½ô»®Ë£€òµ äHÐžÓ cTìÿÀ 3n^'·øGaõ¢Éð“sçmá‹1së˜w~‚§žžˆÄøQv¼mÒFyÛÉå}XäÎëgæ÷“±üÉ`5çg_1ãô„p|¢~úÂcÇ`{ê›8¼øŒ°—"óicL}D­O«ªð#ÜR`CJB;õ’u쟿ƒ5JL¼Áý¥e{:’ž-Bôº,|ú ¡åäX{k½\\O„ic¬Ú½wÝ*a\³ŸÌ»w)kƒ—ÿ89J×áã£VÜqV&)/ÀK›¤…ùŸ¨}ÊïK}f> åü²ãržŒQïèLDîò‡Õ®??sZ‹÷/z\ËzKRýM7¹àßk@à ùß૳r ×ÏÞ¸ uøu¦¥%ËéóøZr~ج?§z½¬vÿ‘ ÿ_ÿÂùÆ¥þ%c7b°à;o`Ÿ•·\ üû ”n^†¨uJ[¦cõ‚ ¯=É ßåÁ¿WG@¹‘±Â ã˜þj7 _ ë?çÈ÷ëñù£Ëe®YìCôŒ)-+xàj<‡¡þð:L™ÛržtS(‘®9g k6}n—øGBuñð\ø¦Fã¯rG`pýNiןˆ¥c4KÏQ ¸³€/2Þ}w5k4´Ü€Œ;ÕJ×;©þÝž0KZÕ›¥gBóÏÍÇ•(fh‹»Yþ†‰2m+ê›'koÜs(BåøÚºoFT¼ß¹‘ê‘ë;1T:ë¿÷*G±/fÈ1v¨ór¦<:¾íÛqì_tz\+£µ®ÓÚ¶·œv•´ ò¿/y³¡úP%6Kç­Ÿúö‘n6JpÞ¢ý¥åÝ1œ8r ‡u7á&œn¶”c´)¨o9Ëq5àŒLv]OVžP. 8Pàê Ü1÷5νzå³d ´' œG{ÝÔž^^rÿS¯˜½p.6ßÁ¹:@×[¹ ˜‰7 cq‹2_†ãEo£´W¾øób¤ä Dªùo¸çGr1`+”¢e¡!ÐWb‹ýÇyÐ1Ô R®qûÞãüè„ç”î—™Yèu!úˆÕ¡í·³ þ¡Àh¬7ÿè58@-46ë]Ìæ¸°üyÅõÖç@»²«±ñ)5vq5ÿTZ¶›¶íD/BÇ`Íš¤ÈÌgM·©I<‡äòy b÷A"HÆå”£žš5¨6–¥Üéq=rÊ ùìðÆE8âþšõÉWZÞO«Æþ£gðáÁ/aÞ~OýUnñö¹ sîº#()Îá·ÛOáDm=NùÆ'a>Ùtè4˜ÃÕóM%lJ‚‘w*ùœÇ’œã8Reƒå`–| »í-®ºÕåø‹ Àu/ÐüÌ*Êã±øâŒ#ú„ŒçàW©oËë­àç <: ™‡/À”HMÃéËÿ ^Y-Ý”>þÿr<¸=©o«õ$Þ~å—È–yMçm&Ì–;ïoÀ‰?¢§É\è!!uꢗðÁçU°ž<Óâ(¤$í“Í[º›ÆG>4KVþ,Z¶ ‡ŸÄÁ‚ X”òŽt{›‡ ¹†>œûžx~Nvðj[_µÕ_ñ›ˆ‰þ²€2è†áA¹˜V†QŽWûÊ_´Çõˆc6¿øvx\×"ÿ7±sçž.<,Ü&sN¸Jšµ­('wåaÙB9¡«ƒÇ÷ñÓ»|ðtð (a9úß Sˆ 1ù'aü줚dØÐAX>Þ º/”vùïAi1ü s‚‡~äœÓûf˜~fǯåAÛ²ÛÞ|ó‘6ýæ¶·ŸZ䯠®/¦ »i½=}Œ1òñ-y‹ÎÃO> óŠr<—„pgÇýQSãñ_3‡AòyŒÙ‡ØYaê£$šð=ôŽôñÿxº0 ñ'b$¨‰rö÷÷u<Œ×¬…ÐsÄ$¹GŠœQ/ øGš}Õ4­Ç(pÅÚ;r”Â\Ó êõÕ8µ(ZŽ Ô•Aÿ Rßœ›/ä9>ËïÞ}\÷Ç”ÒÃ`Ný ±±k0ç5j߉/`Ýo}ãj+Q±ïy?ÿ³ä´<}•V{¹n–ãÐyó@>épçO§ÊµÃvLº×Õº±rïUν]ëÜ1÷âÇõ™ïãýóìÝÊÐ?Þð­ U°¾¾éj´³´Ïÿµ6iš—®=^7tž¼ÃZåÓaœA Pà:°Ëx¤ÿÎ÷{Ã˳y„Ñjº½µu’ÆË‘Æn«EœÎ{Kw æK©höƒxþ>#|V¼‰_7;× (Wó:°ÕÖâH<ãuÑfòf­Ž)çœÚƒð±; Ÿ×èí5í—Ó¬"Ž^ô¸îp)ÎpG6çå+_ÉZ}‰\j‰Zås©ås9 P€=E@׸·\£VÓu^pÆ÷j2g;Á½Ì9œ›Š„”éô Ì÷0ÀoiÊO=I@yÞ¥{C«cʹð±Jï„Õs4 ð•LÛ/§+uíè¸îʲLã^W¡%ß½X P€ÐVà¸ô7~õÿê1eÎlyh·«-œÚÖ¹Q€¸Þä_ï{ן (@ P Ç höv'â(@ P€ À5*À ÿÝp¬6(@ P€ :`ß‘ §S€ (@ Pà`n8V› (@ P€ 0ÈïH†Ó)@ P€ (p 0È¿F7«M P€ (@Žäw$Ãé (@ P€¸Fä_£ŽÕ¦(@ P€ @G ò;’át P€ (@ \£ ò¯Ñ ÇjS€ (@ P #ùÉp:(@ P€ ®Qù×è†cµ)@ P€ (БƒüŽd8 (@ P€רƒüktñÚ (@ P€èH€A~G2œN P€ (@kT@וz?~¼+ɘ† (@ P€p¾•Á êÁ*P€ (@ P€ °»ŽF̆ (@ P€î"À ß]¶ëA P€ (@äkÉl(@ P€ (à. òÝeK° (@ P€ÐH€A¾F̆ (@ P€î"À ß]¶ëA P€ (@äkÉl(@ P€ (à. òÝeK° (@ P€ÐH€A¾F̆ (@ P€î"À ß]¶ëA P€ (@tšäc«@Ö«›P…Þjvuuuè=`&=ô‚|õê4[Å.¬~í3ü|É|ø{^Z©—Ÿ‡{³Løúž¹¹ÔJtRõ’­Y¨úÉLLòmo%[–o·Û`³ëàí©Ífè¤jœM P€ (phÓ’o¯FN¦™»,8zô(*+˰-}Œ… *cì æ…ã0禣Zýpiºöj‹ä‘}yÔ 0Í„ÂjÛ¥U “¥NoÆœä4w˜Ëò˜Áý÷š`í$_Φ(@ P€ @w´iBvæ²pùc~ «»;’f#ы׃ߓé³P´ç àrJôè%ëÖÝYÃiõX´gÔár*Ñ"Cõƒ­t3‰XѬ;îg´M´,ÿÆ^>2©\bí-Ái (@ P€讀6-ùÎRëš·{cÊ’å0ȼ· Ž@ „CNDI’ØŠ«b`0ÔŸÈ$V(ËÖ`sL$’22â˜g‰Â潕ÊBm†²üõˆtæa0„ )«Pº¿”aå b²Š›Ò«ÓBQx[~9o¨•PÊŠÂʬ,D¹òYŠÂÓ®[ 6ìÝœÔXÇȤUX‰­¥ê 4å­Œõ„iá‘0#á×rN«O5å—dÅ "Ý"é¸×ƒb%[{%6'E6–µj‡óÂÁU×õu ‰É@aáÖ¦ÏbXÜX÷VÅò#(@ P€ Àu% ißFÎs(‚€ò÷KðuÃ9X­Ÿâ¼$*Íz‰™Ç·6æ©gÉEôc¯Jˆœ«² ×dBŸy©0g¯…qxV,˜†­êE@S ¶ÒõOÇ€…)È6g#eáhä¦%âÃ3þøi¨ ÒÌ(sÆëÖ·Á\Œ€êýT58fÔ+‚9-  «‘-õC¢—mr¹QºùWX°"¡1©ÈÎ^ÑřȳXpò¼ë" ©.ž¾“°xÉbDE-Â#òB]Ó¬6c®ò‡Üó8ŒÁÊó ÁˆK‰ÀÏdÍ›†¹´v#L) q$3?_Y¨æq®J©k:‚RL0¥. LˆŽNFPÒZd¯M€¾˜} Myœ@ P€ (pý \Ù _úæôòÔÚsŽ~ù2ªtµiPÏ¢útú ¹K·™aÊwt[©•™a)øÝ¬Ið9Vúôo‘àx}û§êR®_ºA÷"I‚óßÌÿàAð»m”̲ÂrбJ,{Þ¥·»…Ù™K?‰]K;þ*Á¸ŸÑ„ÅÓ'`dà$üû<¹"9R-A~ vo*z¤ªõ9r–¬_-m:l¨ï,‰s¾Þ­t×i!cÑ¿<iÒ°–òî ‚[ÇÏÀï`5¿ŽåªC\ qfD…!hRæÉ-}äZDM‹‘c§#6²óÚu±jLF P€ (p hÛ9½ † ÕG$ ½ 7¡)Hœõ$U¥!11&u=Â^Æ#ûgpéªÓ4ôm·ÏºÎ³/êK×"ÄÝ”Ô5æs/â$‹æ"DÝé“ÄëFÓým¨—²&îZ uÊF/èì_`¿´üÏömœ½/ÆÉ§‹µÒ7%îÚXƒ¹Ë Ü°Ÿ=©ŽçƇ#Wsý †rãA©kÀˆAΉvµýz7=àÑ»Ÿ¶•sÏ¿ (@ P€ל€¶-ù-!=]øg˜¤1ý¾1Í‚e!²–ÀàiKQTT„÷vnAŠq8ÌÉF¼U!ѬĪæÝ›A:Ûýë]3J²!Ù|«·¼§æS´{­³¥]¹nñÄCO¥1#²ÞÈB¹Ü x4¨£–n%Än5èc´´”|RÑ4ãô!¹7çKB›&k1¦ÔØ{ˆÜE!μ۱>b³{› Iî­Î’_íÔÕ9«¥Ž+=ÿR€ (@ \šùJ¯œòâÝ(.Þ‹Â]ùÈZƒÉÑ&é‰gB” ¿©#ËÑm/Â>[‹Ë`— ƒûö‘ùzô—÷Å÷V22GcåŽéÃ_)èþf™2¢E jv²\Ü®(ƪg¨©žýúœ¤“ÜÆNE8,HK˃!f&¤cL7oŒyD‚îÜX©G1*Êö"éÉøn,ßµ¤ê:X÷c·8Ôô¿J›ÏÊCÈe§a­,Á«‹ŒHNüÇEBû®•ÃT (@ P€×—€Òˆ¬É Äæyiñjk·š¡ÞaòPì‚Ù!PºÂÛûÜÒXNÐÓé0Z"ÙŽdçÔ°8“ÚgþuéÁ†=‰sÔà^™·Q^Á©‡½¬);] ƒ¼ž3:|²šC@h(ü,y0ÇšñlÑb¹dðÅô¸`˜WÓ¡ÎR”Î8M½Zš+ úôªÞIPƃæÿ©õ¿Bl¢Q­G@h8ò”Ë‹­ólºùüÛCð3%"Þx kß{‹6­Å©çÈ:)÷ dЇbõ¶¹².öõvÌlù»©ãNËéüD P€ (pý Üð­ Wkµí6å?¾Úáéííì/_ƒŒûU»¨CM :OotüaíjIäø¯±öÔØdÜÛqí’¿Ô€ø¯°;cz»ýú;^oy}fÖ«Øß2æOéHV™ôxéÛÿ¢‚ûÏtœÅe̱ÕÔHX/ÿ ×»e÷§ËÈ’‹R€ (@ \Gšµä_Š™ÎSòÖ Jþ³çm2U/An›¹­R+p³4:où,oÛ/ÝŠã_A‘<<»pcH7|¥OüÐë(Ò#ðÖîHÌ”¯¥Éz¤ÐÔ+à«¥7_'e P€ (@ tCશ䷭§´ oÍAÃÝ31ÁçÒ[±m»°rí.Üö³§0k’Ûbº8¥¢8Ûó q¨ò |FOEdD.£Z],•É(@ P€ (pynä_ÞÊpi P€ (@ PÐìí:Ĥ(@ P€ ÜC€A¾{lÖ‚ (@ P€š 0È׌’Q€ (@ PÀ=ä»Çv`-(@ P€ ( ™ƒ|Í(™(@ P€ ÜC€A¾{lÖ‚ (@ P€š 0È׌’Q€ (@ PÀ=ä»Çv`-(@ P€ ( ™ƒ|Í(™(@ P€ ÜC€A¾{lÖ‚ (@ P€š 0È׌’Q€ (@ PÀ=ä»Çv`-(@ P€ ( ™ƒ|Í(™(@ P€ ÜCàÿÛ÷ÚöIEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/faq.rst0000664000175000017500000000677113656750211022074 0ustar zuulzuul00000000000000.. _faq: === FAQ === **There are too many files in Murano package, why not to use a single Heat Template?** To install a simple Apache service to a new VM, Heat Template is definitely simpler. But the Apache service is useless without its applications running under it. Thus, a new Heat Template is necessary for every application that you want to run with Apache. In Murano, you can compose a result software to install it on a VM on-the-fly: it is possible to select an application that can run under Apache dynamically. Or you can set a VM where Apache is installed as a parameter. This way, the files in the application package allow to compose compound applications with multiple configuration options. For any single combination you need a separate Heat Template. **The Application section is defined in the UI form. Can I remove it?** No. The ``Application`` section is a template for Murano object model which is the instruction that helps you to understand the environment structure that you deploy. While filling the forms that are auto-generated from the UI.yaml file, object model is updated with the values entered by the user. Eventually, the Murano engine receives the resulted object model (.json file) after the environment is sent to the deploy. **The Templates section is defined in the UI form. What's the purpose?** Sometimes, the user needs to create several instances with the same configuration. A template defined by a variable in the ``Templates`` section is multiplied by the value of the number of instances that are set by the user. A YAQL ``repeat`` function is used for this operation. **Some properties have Usage, others do not. What does this affect?** ``Usage`` indicates how a particular property is used. The default value is ``In``, so sometimes it is omitted. The ``Out`` property indicates that it is not set from outside, but is calculated in the class methods and is available for the ``read`` operation from other classes. If you don't want to initialize in the class constructor, and the property has no default value, you specify ``Out`` in the ``Usage``. **Can I use multiple inheritance in my classes?** Yes. You can specify a list of parent classes instead of a single string in the regular YAML notation. The list with one element is also acceptable. **There are FullName and Name properties in the manifest file. What's the difference between them?** ``Name`` is displayed in the web UI catalog, and ``FullName`` is a system name used by the engine to get the class definition and resolve the class interconnections. **How does Murano know which class is the main one?** There is no ``main`` class term in the MuranoPL. Everything depends on a particular object model and an instance class representing the instance. Usually, an entry-point class has exactly the same name as the package FullName, and it uses other classes. **What is the difference between $variable and $.variable in the class definitions?** By default, ``$`` represents a current object (similar to ``self`` in Python or ``this`` in C++/Java/C#), so ``$.variable`` accesses the object field/property. In contrast, ``$variable`` (without a dot) means a local method variable. Note that ``$`` can change its value during execution of some YAQL functions like select, where it means a current value. A more safe form is to use a reserved variable ``$this`` instead of ``$``. ``$this.variable`` always refers to an object-level value in any context. murano-9.0.0/doc/source/admin/appdev-guide/figures/0000775000175000017500000000000013656750351022231 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/admin/appdev-guide/figures/structure.vdx0000664000175000017500000061171513656750211025022 0ustar zuulzuul000000000000001.36590.3152.66291.09280.68290.1575-0.01.36590.3150.68290.15750.68290.1575-0.0#000000#0000001.00.010.0125#0000001040.00312510#000000Arial0.138888888888888900.00.00.0-1.00.00.0100.00.15751.36590.15750.682950.00.682950.3151.36590.3150.682950.15750.682950.15750.0#000000#0000001.00.010.00625#00cccc1000.0031251111110001.09260.31471.36570.15720.01.00.01.0NURBS(1.0,3,0,0,0.9106,0.999,0.0,1.0,0.9999,0.7768,0.0,1.0)1.0926-3.0E-40.01.00.01.0NURBS(1.0,3,0,0,0.9999,0.2235,0.0,1.0,0.9106,-0.001,0.0,1.0)0.2732-3.0E-41.0E-40.15720.01.00.01.0NURBS(1.0,3,0,0,0.0898,-0.001,0.0,1.0,1.0E-4,0.2235,0.0,1.0)0.27320.31470.01.00.01.0NURBS(1.0,3,0,0,1.0E-4,0.7768,0.0,1.0,0.0898,0.999,0.0,1.0)1.09260.31471images.lst1.00121.00122.43726.8740.50060.5006-0.0#000000#0000001.00.010.0125#0000001040.0031251100.00.50061.00120.50060.50060.00.50061.00121.00121.00120.50060.50060.50060.50060.0111111iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAgAElEQVR4nO2daZBc13men3P32/vsA4AgNi7gIhIkTUmh6BAuWatlexw5FS+RBakC25FdMfIjyU8QVU7KrrhiqhwvMeIyaEmJaLssSKDlTbaGkmVRpBiBErhhGc5gMFvPTE/vt++eH909093TPZilB6SlflEX3X373HNPn+897/ed7557B3rooYceeuihhx566KGHHnrooYceeuihhx566KGHHnrooYceeuihhx566KGHHnr4PoF4qxvQirNnhg5E48lTB+68f8wwIgc9z80WcpmLb77x3XFg/OTpxefe6jZ+P+FtRYCzZ4YOHH345y8++iO/nNJ1DYIFCDMQpAGYu36NuekJioXsxRsTr18slwoXgYs9UmwfylvdgBac+qHjv5JSRBbf8UGYCOluhPoIhAX2HL6fPQdXIEgfA/dYIZdhbnqC8fuukc8uXVyYmboI7Dopzp4ZOg08Wft4ERivbRdPnl6c2q3z7gbeVgrwpT/60Hc+/LO/fozAAsKWb0MQGkKKg2QihAQUIViEcAUR5rArFnPT18ik55ibvsbc9MQqIegSKc6eGfpjTY+fuP+Rd3Pn/Y8QT/Yzd/0ay+lZ5qYnWFman8xnl8dr5xw/eXrx5Z2eczfxtiLA+Bd+OXzP+34GwkbjNxNBNH2Wq2SQEyAZCEoQVkkhwiWAJuMsp2cp5le2TYr6yB/75Gfp6zNBiiBJElCAsLoJKk1EnJ95M7uyOD9ulYt1Qryt3NXbhgBnzww98cgTnxp/x8OPs2p0QfV9qxjQmSCICEKOgxRFCBtBBYJlCJcQeNTdxnJ6lrnr18gszkEDIehAirNnhp4Axh96/Bd58JFjhN587Xyids4kQh5ASCpC0iFcAYqIMAvAcnp2dcukZ8dr6jROlRS5bXfcDvF2IsDHP/Qz/+PcyJ6B2p5Gw69jAJ1IEDb8LwCEDlIEISUQklwbpVkIi1XFYC24nJuuqoVjV6CFFMC5/uE7D/7kx/47QeXF2tlE51elHyElQIojSRoIB0ERwhwCu+G8k+SyK5O55YXxpYWpcaoEvGVu4+1EgN/+2Km/OCWRqdmv0Yg0uYVwC4Ro/By61wkDG0kZRigjSNptCOECVi2OWAFYVYe66yjmV9D0GD/58d/DVK9A6NJkbAGiqSvbEEIoICUQSl+NjAKBBVQAgRAahXy+phDXWVmaHn/ztb8/D5zbTYV42xDgz373XV8d+9ivHw+D+m8NG15ajSva7GPDz4G3DEGW+k8WyhBCilXfiyjISYQUQUgB4NakO4vAx65Y2M4IpiEIgyyEPuBB6NTe18/XbHgh1u9r6nIpXg1q5RhCjiGkGELIIOkIEcW2Hf728790ceHGd47vFgmapoFnzwwlgTEgyy32TZHY0LHQzwJedcfqiA9X+yxcR4bmz6KDMoRBGfxlViuSEwih10YyhOEKYbCydojQEVISIe9HSDFkrYIpzUJQrI10CYQGaCAgxAf8KhlCDwiq511tTge1CHKEQb7KpdW2pRBSEkm/E90Y5LEPnDr2hT/6+Ang05voxi1jlQBP/8ae3z581z2nHvnhn8DzfKauvMJz75i/ODN5ebxUyJ3f5Xl1cnjvXSmCMgBhoy6FnWKBViVo5xhCCD1Cb4GqUUTNuDHC0GG9ktQPcwiDQtWWTadpJBsN7+ttlEHIDa0JqipB0FB3naYtilAnhp8h9FfwvUVE/DEGhgcAjrPbBBjdkzw1NOgz/cZfEU3sZe9tI9x534PH9A/+62Nz16+deumxCVaWF8bffOO75+n+/PZY/9A+QtxqR4aNoVy7kb15+Q/cBcCtfVIQcoIwdNr4vrDN23aKUt3dVo1aiVvfGfotBURDcFMv30KMsEDozyGEB9UgdFewSoDMUjF7+4G+VBg4FFbKlHLTZBaiqFoKMzbIXfc/iBFJHn/8/R89Pjd9jW+983p2eWFmfGbqSp0QO8mAHY9GFcLAadh186BPtHxufhcS+nkIq0EWQoAcp6a3hGG7WKJul7C5ynZlRUOR+n9hO0UJEI0KsHpgm5hAtOwL8szdeLX1h3cVqwQoFu2nclnryWTKhNAj8D0Cv4Rnp7GtWQorcWRtAM1IkeobYGTvwZRumGOlYm5sbnqCbzw8M5memRxfWpipE2Ir8cPBvoEBQm+ZzqO70QjV92vEaPiu9jYMbAjyrElsHBGGNUluqFM0HFc/Y9iGcE22bc1NhB3KVb8LV9u3VqhtgBg275MkB3DgVigA8NT0VOZUMrUv1Voo8IoEXhG3Modd1Cnnkqj6CIo2iBFNsXf/UQ7ddeygqiknltOzJ+auX+O5d8xfvPy9F+tk2DB+2H/kncdCv1Dzy/WR3Xmqt/p/fcSJhu9DIPQJ/dxqSSEMBBKENuss1GZ0t1WcJrcgGtrZWq51RsD6kY1oHyACQjQcFzrMTU9CNSjfFawS4OTpxdzZM0Pni0X7RCymdzwgDGw8O41nV6/QlbIJNGMvijGKHtmLpg9yx32jqJp07F9W4wdeemyChZnJ8zNTV8ZpEz/EEgPHQj9Ds4Gb3zWNStGyr8Vnh0Gh6ndF7ScKpUauljrbTik32t9aqs3IhvUGbxnZq6+CdfvW+GOC0OkfPgywblB2C00kPntm6MDwSHzyrqMj26tMqKjGHlRzL3r0DjQjhaYLVDVAVd3VHHl69np2durK+aWFmXGAH3rPh84dve8QhOF647cau+V70fI5DO2azIvqJpmNlbRp9fp9awrUSIJ2iR7aju715ToQo+1xNWIIEz1xFDD56rN/MHntleeeBM53e2q+TsXOnhn64x9614EThqHuuHJJSaCZ+zHid6NHj6DpGqpqI8sVZMlZzcsPDQ9gaH5DtLzNqD/0qwRAVLtcqA2d3lq8hWCr6GDojkbsYMzWKL9DQmijOuXIO5C1IYQUpZDLMnXlBS6//Oz5TPryqW5ddm5HgB2pwEZQ9VGMxH0Ysbsw4neiyCVkuYwsCgjhEvgBgVfBdzIEbmtASNPnMGww4Goo7jaUlQGp6ZimH7sZA7UL1FrKiKayHeppPG6zdQoBqAhlAEndg6SOImkHQJh89fx/nrx26fyxbqiB3Lrjwng5995HleN7b0serF7q7B4Cv4hTfpNy9tsUFr9GpbyA68ig3AfyIZAHkNQhVHMfavRBJO02EAaEbjWoCxuzbfXsW/29y9oMgdqrDwS1aV1APUPXXIZanqEeTDZ/t1a+4TjRqUxrnZsr21ymuf1hUCBw5wncGYRkImmHSPQfSr3+0mfmL4yXv7Vxj98cnVYEPTl7Izd++8H+ndbfEWFgYeVexsq9zMrMMyjaIGbifqL97yaSfAhZ1ZB0F8m4HyEUAt/CznyewL5ar6H22ngZRjS8NIyypiCs9r6hzGo8HzbWtIGcr5vDrz/vhnWuCxJv7kbCoIBb/DqS8QADwwcAjtEFrFMAgAvj5akffad6fHRPousq0AmBX8YpT1Jc/kdWZv+cUubbeK6Nat6NrA4iJA018jCBM0HoplkdLaLNiGod2bC5kdikAl2qc8tq0f681Smui6wdwHFKfPebT5+/MF5+jh2io3Vd139q9sZbtk4Bu3SN5etPM/nSJ6iUJgED8NH7fw5JHWVV0sP65q+9EgA+IUFt8wnDgLCxTP09a+Wr9fnNdXWsM2hTZ7DWrnqdrfXU20trnfU2VusMW867VqdDZr57eaGOBDh5evGL6XRhsmtn2iYCv8j1i79aJYGIISQNY/jfISnDa8Zqa8Q2xqx39DojtpKoxYht61w7b7jOiH4bYjS2sQMxmgxdb5/fRApJ0bEri1BdTbRjbKjvFct9cmE+TxiGbbeb5Em6hjUSTINIIoSGMfxJhDrSeSSGjZ3ZzohBkyGbjEjjKOxsoPaje61Me2IEtKrKerVo3NbKCMmAIE9m/vWu9W3bGKCOC+Pll9/7qHpi795k+0xU21zoziGagqoqwtChlHme5J4xJCmCEBZK5F4CN03oLnX0n2tJnXZ+vvV1ozLt6qyX3cBvbxgLrJVpqrPDrEBSEij6IJOXn2fsF1/4BF3ATSO8SsV9amGhRQXq/zoow+Y2qsm9Nlun+p3KHFMXf4VKeQ6kUYQwMAd/GnPo51DM+6qJn5ZRu07y2a5atHMjdbVo40Z2QS2qaxrzZNJdyQEBm7sx5NxiuvDk0HBsTQU2Lf1ig0/h+qo2ytjWUClcZuo7n2Lkjv9IavSDEOaQzSiyvgd4H74zj29fx7eu4TuzdLrsGjbtE2uDft3UbhNTNtEy9WsoJ9bVt/68ze3rUGcoqvdChGUgHG/XN9vBhi4A4MJ42X7/v9CNRMI4ruuNfOms/1vyDNtwI0HgUFj6Gpkbf4pdToPUh2I8gCQPIilxZG0QNXIANXYfsjqAkPXqsrDa1cb2Mswm3cgmJX9DV7O9KaqiDyApUb72V386eWG8/PRm+upm2OytYU/dmM6euicxuqoC7dffVbEpgdhwtG+GXCG+WyA79yzZuWcBiPQ9TGLwCSJ9D2PG7kcEyyjyKIq5gJ54gMDL41Vu4DtL+M4y1TWBDQ3omlqslWub9m2ts+G8TUmtFrUQsoZdsaBLMwDYJAHql4pLRftENKoBW/ACrVg1/EZG3h65SpmXKGVeAgGSEicx9ATR1MMkho4jyxaSfB1NGYEwD0LFd1bwKrP4znzLtYdGUjQ2eu11rfmtxNhE7n+bbkRIOpm5mQ16YOvYys2hT87P5U8cPjJw85KrEE3EBxr6tsOCCrpDLt8tsDL7LCuzVXUwY3cSHz5OYugJzNg+CJaQ5TSyfmd1RAYhXmUS357Bs96gupSstUU3UYtVYqz38etjga2rhSQb2PZboAAAJ08vTp09w7m9+5IndL0xdNjAiYuwoQPWY/tphPXTxOYK15PLKlzGKlwmfe0PkZQYieHjxPrq6uAjwiKqshc15gMqvruEb0/iFV8gcG9s0PqWX7FLQaeQDQAy6bk2bdk+thSCnT0z9ODAYOTiocMbq0DrJfjtYSNibbrkpmDE7yJZV4f4HbVI26V6j4KKZ12isnSW+rL17WG9G1lrePN37dyIpPZj9j3CN//hSzz2kS90LQOz5Yr++L+OfPX+B0aPK3KbFMKWa9vaAd0h1sbnldUYyeHj9O39cWJ9D1JdlCnjOzewZv9LtxrQ0o5mtWj3nWrsQ0/ez19+/g/4yCe/1bWe2PKlPs8LnlyYLzQnhDZMDLHB1i693GHbcuJpi+etTb18t0Bm5gLXXvxF5q/9EWACCrI6jJb8YLf6vYb6eRsTRu2vEwh5dZ3meDdbsGUCnDy9+NxiujTuecFNOrlzZ29k7HXZxt0mF53JNX/1f7E49X+pGiaPGjsGovOC2e6hlRj+agwwNz3R1TNt62K/5wXnlpZKWxqRGxq7neFvFbluoiBzV/4Az6sAHgIHLXZvVw2wWUhypOs5ANgmAU6eXnx6abE0uRUJv+kIprZtwrjbPt82yOW5BRYnPwciVVWByH4Qt/7RSpKSIJOe7X692z3Qtv0nM0vlTXT8Bp28qZG4DRVZd56dkSv95ufwfAnQECJAix7umgE2CyGpXc8BwA4IcPL04tPz88XJzY6k9iNx8yN6vbE3SawukMtz8qTf/CwoVflXI4duqQpISgLofg4AdkAAAMfxz2Wz1qZHVKNBdmzkjc6xBSNv9rwLE5/DCyLVy9CSektVQEjVezRs26Lbt+nvdMXnU8tLVvZmBl8V4bYdvr0g71aTy3PzLEx8DpTqYtxbqQJrCvA2igGgepGoWHSeKhad5lHWYvCuGfmtIFcDsRaufeYtUYG6AtBl/w87VwCAp9ILpTU70EUjN2yrld1qcjVU6Ll5Fq599parQF0Bup0DgC4Q4OTpxVyp5J6zHW/TAdfmfTTNxOJWkqs9qebeAhUQkrorOQDojgIAPLmYLm/T2LRT8dpXzRJ8a8nVvh7PyTN/9TO3VAV2KwcAXSLAydOLU9msfc5x/A6dz7ptw47eodFbDbyOXOyMXHNX/wTPv3UqsFs5AOieAgA8tZi2Ohh7a75384Zefy5uMoJ3TqwQzykw/drv3hIVaMkBdP1JIV0jwMnTiy8Xi864ZujIiry1jt7Q8M3ueVvE6hK5GlVr7sqfUKn4qyogGwe71ZVNqM8ACrkMu/EI2a7e+en74ZOZTIW+wX0cOPpvGD7wPrTI8MYGIWzoWNp0fD3a3+a2i+SafvV/rqqAFj3M9FSBxYUi5ZLTtn+2g7oClIq5XXlO0E2XhW8FF8bLU+99p3J8ZEQ/6FYmICyQHLyX5NAjyHIUzy3hezbNkdfOV/Q0YV1lovNXO0Qp9xrDhz6GIpeRhEXg+6wszmCVHfLZCq5bjYkURW5++NMWoOjDyNoAL39r/Pk/+3K6K0vBG9H1e789NziXXigihECIERan/o7c3F+iKln2HHqc/Ud/msTgOxCSvjqSgiAgCLYzwtcH9Z0UZEcq0k61alVff2VNBQb33YuiatSpZlkuKxmLuZkcmeUSpaKN7wVteq0zZK26/C67vPD2VwCo3k/4vndrJ/buS6aEsIn33w0ijlVYIpd+gcCdIRofon/Po0QSRxCyhlPJEQbumu9twk3uEej2sG533g5rUAFK2dcYObymAmHoYxUWagOA6qsk8P0Ax/Gxyi6OU30eshBws+cvqOZ+SsUKr7z0j5/vxvMAWtF1AgB8+HEjq+vKWCQicCoFfG8JI9ZHcuA+wkCnkHmDwvIlQm+OSGKIvpFHiCQOQwi2tbzml2vYQNV3gE3cfLLJ83hugcHbfgr8qxjRfrLpy4QEqySQpOpDq4QAIQnCMMR1A2zbx7F9giBEkgSStP6ERvIYmfQsV1556Xw3HgnTil0hwIXx8ss/+k7lxMhoPKWZw0hSCit/g3LhOkKyiaYOEY0fwPdCSitXKWVfRxJZYsl99I8+gpk4hGPn8JxSVbrrFe/CotNukKu48hqjh38BRWmjAlKDEjSpAki1uCDwA1zXx3V8wqAaFNWVQYvdxdz0BFNXX/mNC+Plqa23bmPsCgEAPvzDZsqMqMdVpULg5zHj+zGjt1WNnruObc2jaDKx1GGMyB4cq0Ix8wpW8RqKXCHZfwd9o4+iR0bwnCKuW1ynDFVs3mIbltwhuTw3z+D+mgpE+sktXqF6R2/z6G90C/X3Up0YVB8U6fsBnhsgawPosduZuvIKc9MTT10YLy9stZU3w64R4Cd+JHrRc/1fHhiMGEb0Dkq5CWxrHlmRiCQOYpiD2FaF4so1fC9bJUP/PahqCquYJ7/4Ep49g6I4pIbuITV0DFk2cd0SgWfXiLDeat0Vic3VJqipwJGPN6hAgFVMbzj6V/dJLd/XyygRjPgBLl/6Nh/91Hf//VZ/2mawawS4MF62P/CYbsTj+nFZLmPG9mOYQ/iuRzF7GdctoGg6sdQRZDlOpVykmHmdkAqaYZLoP4oQEcr5ZXJLFwm8eQxTo3/0QZKD7wCkavAY+lsz+jY1fzOlPCfP0O3/Cvyr6JE+8ktXIQw2MfrbKIQQmPHbUc0hXv3OP2X/z/kbv7mVn7lZ7Pa1zKdmZ/OnYjEtVS5MAgJFidA3+ii+W8Eq3iBb+C6yaqAZ/cSSD+FUHKzCFIWVGYxIAiPWR6J/H3bFIrf4JuHiZYxogljiCP2jH8Su2BSz0xQyVwl8u0MzGu7CWedC1u3Y9m1scxN/zsEHfg1THUVW5kkNH2Vl/nvNN3vUmlJzDPUPzZGnqB1SO65cLOza08J3TQFgVQXmbdsfS6Wq69qDwMWxlnDdbM3ohxBCoVKap1xcIAwtzPhtmNERfE9QLsxRLi0gyT5mfD+R2G34tkspO0EpewURLhGND9I/+hCR+EFCwLYytJvGtcPOJhTr54dNKmD2UVi6CgQto782O9hg9AsBkb57kJUI//SV8xcvjJef2VFTO2BXCQC1vMC7tMl8vjJm6DKqVjtlCL5n4VQyhIGDGbsdMzZKGPiU89epWCtIsiCSOIBhDuHZDsXcJE5lBVlViCQOoJvDOOUCpdwEVnEKVSkRS+5hYM/DmPEDuHYe16n+abitG3oTR7QpUlh5lT13nkCtxQKEPpVSuir3UqOBq36+re+vvddjt1Mu7V4OAG4BAaBKgg++xzi3vGyllpdKB4MgMFRVRlaqU50wDPCcHE5lBSSZaPIwuhbF8xyK2Qk8t4SkaERTR9C0WDVeWLmG5xVR9Rix1BFUNUq5WCC/fAm3MoeqOiQHjzCw52F0cxjPLVWnlU3Yxvhvc0jrLs/JM3zgo+BfRYv0UcxcY3VGsMnRLyRBbPBhMulZLl/69hcvjJef33pjt/Vzdh9nzwx9HBiLx9WxVF+E/n5zNQlSTbFWU6+KmsCIDOE7ZUr5aVy3jKJFULUURmQIzy5Qyk/jBza6GUfTE5jRUVy7gFVawrWXMGP9GNFB9OghQqLklqfIZ67h2oUttXmrqfz3fPTrmOoriDBNduESufSlLY1+IaD/wBiXL32b8b985kd+6cxSXQE2E45sGrdEAVpxYbz88oXx8jMfeMw4l8/Zk4vp4tGK5aUUVULTlNXbowPfxrYyOE4ePTpKNL4fSQisYppycRY/sDGje4nE94EfYJXSlArzhLjoZpJE6hBhIFPO36CYnSD0F4hEdAb2PEBq8F5CBI6dJwi81bZtbZLQ+UvXzjK4/8eRwik0M1VTgXDTo18zBldzADNT1z797HOrOYB1YeNO8JYoQDucPTP0IHBKVaWxwaFIKpUy0DSFIAyq2bHaxR8kGcMcQZYFVilLpbQAkoyqRTEiI8iSwK1kKJcWkRUV3Yyhm8PIksCxstjWIsgKZjSJEbsdzdiDVa5QyE6TW56o5hhg6/ngNnhs7K+JmhNILJNLXyK/+OqmR78W2UNs6F089+VnOP7Tf10fqBuN/m0pw9uGAI1YcxHaWDJlkEpV78hdvSoXVK/HybKJERmC0KNcmMOxc8hqBFWLY0ZHEKGNVVzEtpfRjASaHsOIDCHCAKu4gG1nUPUoZjSJFtmLoo1ilS1yyxPkM2/u6DcIYPTwj3PPu34VTbxI4DvMXfkyhO5NR78QAjN5N2byKF9+5g+zP/aJb47SfI2TNp8bsWkyvC0JUMfZM0MHgDFJ4lQioR/s7zcwTYWg5ZIwYYhm9GMYSVynQjk/gR+EKJqJZqSIRIfwnSJWcRrP99GMGJoRxzAHIahQzM3hOivo0X7MaB+auRdZ7ccqWSzOvoxVWurYxo07UPDOj/w5ifgKirRAfvEVCsuv3nT0CyGI9N2PHj/CM//7t77+M//hlQ/TfgEcN9nf+LqN9r+N0Ogikkk9lUxqqKq0bn0AhJixfaiKgmMtYZUWCYWCqpmY0WFUNYJnZ6hYaYJQoBkxdD2BYfbhu0WK+Tk8r4wZ68OIDqKZexBSimJ+mczC61TWkWHjJMPIgQ9y96O/RlT/fwS+w8LEXzWrQJvRLwmIDb8HRR/k9//bf/ryp3596d/ScQUkbPBdp+9X8ZYEgdvBhfHywoXx8hfP/33pN3/0XdrkyopNqeQdhRBVlWpRepUErp2nYmUJkIjED2CYKQK3QrkwjV3JEwJG7DZMs5/AtSgXF7DKGYIwwIgMEk/uIwwE5dwNCrlpQm8RTQsYGLmL1PC9yIqB61j4XoelXw2cKGavMrT//aiagqI4EAY41mLn0V9zC3rsCKVimRe+8fXzf/MN61tUF+902uSbfN9YptpRNfyzIUAj6rOIDz1unisWvcls1j7qOEFKlgWKItVWBoUEvotTyVKp5JAUg1jyEKpm4laWKRfTOHYJZJ1o4nYMPYJbKVHKT+M4VpUMsT1EowP4ToVyfpZSYRaCDGbEYGjvffQN300YCpxKnmD1D16th+cUSA49gaEvo+pJrPybiNX1AmuGlxpUwex7kEx6lpdeePHv/v556yI3N/JmSFD/+zqr+GfjAm6GuotQFDEWjyupWExBkUVtuVh99We1g83YCLoeIXDzlIvpWrxgoBlJItEBAreEVZjB811UI46imZhmPyKoULGy2DVCRRP9aOYImjFKuVQmv3KD7NJUwzWJte596L2/T/+gj6EXKGZepZR5vXn0N8wMJFkjsedDXL70bX7vdz77s5/+TO6bbE7uO5XxgQJNf8W6in+WCtAOdRfxxX8o/eb73m1M5vMeFcs/CqAoNUOEIUEY4jolKtYKrudhxvZiRuJIhFjFNFZpGdd3MKKjxBJ7EKFHpZSmXM7iBwGyahJL3o6hq1SKKxRWJqiUF1DkErHkAAOjdxNJ3AZApby2jM918sQH3k3ELKJoSSqFNxGELenh6ntF70eL7GfqyiuMf+31z7z8hpNh86O8tZwD5OkQDH7fKEA7NM4iTFM+GI1I6PraX+ds7HhFjRCNDSJLPhUri1VaQlYjKFqESGQQVZWwy0tY5QxIKroZR9WimGaCwC1Sys/gej5GrK865TSHkZUU5WKZ9OwlrGKGB574LYZGFCIRm9LKa1jZ19vmBVRzD5H+R+s5gPvYfvCXAYob9dH3NQEaUXcRssxYNCKnIqZAlsXqZddGA2h6nGi8n9B3sIrTOE6ArBloWgwzOohMCaucw7ZWkLU4qm5imH1oqoprFyjnr4NsoplJVD2KHtkDIo6sHyA59CiDg8sEvkN25m8h9FoWiwj0+F3o8bu58Pmzsz/xyX/qNAXciAQuMEftL09vhFv/tKO3CLW7aj4BfOLsmaGP5wuMaZoYi5gCw5CQJVaJULHy2JUCQkA0sZ9IQiXwChTz81ilZRQtgqbHSQ7vAy9HqZBmpbCEZiaRFY1o31FkKcSxMpQykxSzC5jRJIo+Qd/wMRw3iqaCkbiDSv71dcnd+t1AmaWVOUBlaz5/BVigjb9vh++bGGArqM8ifuxfRs5V7HCyWAqOen6YIgyRZRruIQDHLlCxcriuRzR5gGg0CUGFcnEeq1zAcX2MyAjxxAgSPnZpifhcYakAAAPeSURBVFIxi+M5IGmY8b1ETQPHymEVlwEbxTiCGfGQtSROcbI6I2i4UqjH7kSSI/zNF//i4leet77B5vw+wCywyBYygT8wCtAOtb+/+2ng02fPDD1oWeEpWQ7GDF2kolEJpcFFBIFDLjO16iKSA/ciYVMqzJHPTFBSosiqTiR+EFWRcO2lan6htIKmR1G0GLHIXnJL38FMPoRhJIlEVfT4EezCGw2tEiAUltOzFMvBAms22kgFSsAEYG21D36gCdCIVhdRKvtjisJYNNLBRVh5kATR6CCpRITAK2AV06wsZVHUCKpqEk3diSI5ONYypewSlhJF1aMsz3wFWfkAkWgcI34Ez7pBGFi1OABkNYlTWWIlHyyy3gXQ8nmBqvE7JyI2wA+kC7gZ6i7iI09Ez9k2k6VSeNTz1lxEWL9XIQTXKWGVcjiOhx7dQzzRhyQ8KuXlaqDoOCBHSaRuQ9c0HGsZ21pB0YbRzQS6aSAkFa8yX00DKyZa9DBTV17h2b/+3pdem3AXaT/N84GrwHV2sEagpwAbYJ2LqISn5II/pusiFY0IFKXBRYQOhewsBSFQVYNo8hCa4mOVsliFGaxyFllWMSOjSGFANv0iupkinjyIFtmPU7wMgYUkRwBw7AoTN9xl2geBeeB7VJM7O8IPzDSwm6hfrlZVxiKGQDcEslRf8ds8tdSNGPF4CkKHcnEB23GQ5AiSJNO353EO3n2M1EA/rjWNnXsZxbwNI3mMv/vC07z/58c/ynrjXwcuUU3r7hg9BdgGTp5efBp4+uyZoQM5NxwTxfCUrnPQNAS6Vl/WXV32XSnnqVgFhBBEYwOkYgahX6KQWyC/dIkbqkks8RCqWVWBugIUS3ar/3eAi1QJ0DX0CLADtLqISiU8JUvhmGGQMk2BIlcFtj69K+SXKBYEsqwQjR+iVJinlJ9j4UaKfYfuQYvdtVr39NT0Emv2WQaeZxceEdMjQJewfhYRjqlqOGYaYOj1O39DRH1KuTKDEILCylXmrhsM7zuIau4nDFwAlpdLdf9/BXiBanav6+j6AyJ6qLqIk6cXf8p1OZgvcGpxOZzM5gJsO6g9DCMg8Kubba1QLqSZnazmAoSkMnnlEktZ/03gq8A32CXjQy8IvGVYvRYhUXURBsg1F6FoMeKpAzz+4V9g7vo1vvKlz1x88eWVD/zO5/Lp3W5XjwBvARpnEaYBugZmdJj40F288tI/ngdOnDy9mLsVbekR4C1E/XJ1bQM4V5th9NBDDz300EMPPfTQQw899NBDDz300EMPPfTQQw899NBDDz300EMPPfTQQw899NBDDz1sCf8f8xls1NFsOQgAAAAASUVORK5CYII=0.4380.4384.85266.36090.2190.219-0.0#000000#0000001.00.010.0125#0000001040.0031251100.00.2190.4380.2190.2190.00.2190.4380.4380.4380.2190.2190.2190.2190.0111111iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAPgUlEQVR4XuWaW4xmx1W2n1X7+74+zYzHM/bYZowJzsjBcWY8B8+h52A7vooEImgGIRIHwQVIKBKWcscFuUAgcRtAwAURigQkQtANEpGChGR8nrEdx+P2iYzj+Ld/Oz7EnrHn1P31t3e99Hxd2ktV+obu6bFAFkvaXV2nXd96ax2rtknif5Ie+MuneOcnH4XT712obt6yodepwvg3//DeD3Di+VfeDD973WRsIh8bbd68iVF0WQAe/OFZ7xBgfCwkAYimEZ1OOAGclPh3M2aREIYQJhBOqQ8QAhBeej+GaHETSHDg5ksAXMso6nB54uYtExkG+ILeXrT5j/E+KPshRlE3zYHFQTywsBB/V+KYYBbAZAjhvAuVi5e7Y2ACjej33V81AE4XB/JlBNjlBQKBLOvzseUkg1BVdGXUVUPd2AxwDDSrTFpAmO89ZGAIA3mPDHD0EU5mloEKEFaQ1Xz3rewuNiRnvpyC5KWZEQyqYPR6FZEGYAZxtB1rPlEkhkVbCgMKaZPa8REDcXkaDYCjrpIJuSSY+f9SoRJZPT3mg828w4JRdSrGexWM9wBmBEcz8A3KH0MLhPdF1K4lOeJrAgCp0Pm8lEa0uRp4vZggM+R6TUyAVCFQxYYwOQYwAxxtxVggEoNSKx1CkAFULrxWAEpmCh2WlQp+uUXlY7AWGUWQJcOFQZIoRdEJUCUQJI5K1i5hyvbHgRRIahtVjFs7AFagkQoTOPJyUJR22OUeB893TWleFESJGEXTRIiRYEY3QGdyWR0MHVUC8h8e+jAkN1nohy+Q1ihN5hq8QIGmcFEwjJdefpU6RqpQYQ6AE0M3x53bb6OuI6dOvcYo2rbtUwwGNa+/8RYbN25gYmqcBqPbMVg/xuDcwgyyYxKzv3bPxvivz30UfmnHhjhqlyXfGYmrA0Cjpprv6u23f5pRVOqGBFUV0nhlniAqEhsRI9x0443UdUO3AmugFnSDYevH6Z9dmBE6Bjb7i0vM/+Of/ks49sAXI4B7FRUiL7gaL4DKavlyUPF4zUa/SpbNTiAgoImiHjRDprsVdEPaoWCMbxhPNkFHEfzqA78S/+kbzwVfDiSPMoUQoLV7gdK1CROYCoZV+npDMu8vvIWsHYXS+5BldiAYCYRlW2BAFYypjROZd7iw4YxJ0D6ojFPcWqxJBVpUBRiyvHPu+VOUtGPHbQDMzZ1iLTQ53qOyzTRA1wAMQ9QRMGPdtROcPzM/VIff/K17Z7/9nR/2vvSlzywiMpWTJeYLwzQ5+cssLj5PXb+2cjL0by+c0c/dtI4LA2EGEu7NcGmwwhtg5lvu81Ab0EJEGBCbyODS069ZmK/p9xf57LbrqBtRCwDqCHXUsGzShpw9fRGJY8DsX/zdi92v3n/HwCNGXBUMTPDFPdcBcOut8MEHX+Ps2W+sGApnVjRz5cJjfgNH3V2efKwDhuUWIgosYGbDhwCNIi7+lmxAUokAlYGZcc3mqVYdvnr/Zwd/9r2zQZ4Fgo1O3GIEaXClNsBAZMgCHo8XE+R9hTHOG2QBEjCk2CHIChtgyQawXK+gk5jbeN1UGzb/3hfWR2dYnjqXtpwG0JVlg2WwZ6k8efKlodWuOhVXQgZEibqu2XvXdiTxyo9e4+KFBSbHx6hsS2EDoI6CBIwhLMIgLoNw+qfnZzAdQzb7R9/+2/D1L38lCjKXu+ZASBJZZiahJPe7dn62bTdSX1uBvLPcCw+qLMBtt/088/M1cXGwzGRUigPAMMwSCCQQDEjGcdP165ZAODcjcezr939l9vf//pvhT778O1ESwNrjgAiAkUuui1UUnqJCYl6gYmwLpgGW+esoMAKSEXAx74ZRNsCSDRgC07rJwCUQ1iebwK9fYv6VN09WaXVkWhMATuamUFKWfhrmDBqZ3kl5fpCGlW7WsaqMyfEuwdpAaIQNsGQDcBAqCAabtqxD4jtIR7dtvbNxm2VrVIGYmJJBKv2UwHj66TlWS7t330FVVSvO2bntRirbQMOQsbSeFTaAZANEJ6kICBtKwhRLh60ziGMyzborWgMAEXyHJAzLDknu2rujzISx4kzMbYaKObkaNHXDYr9mvq55aO5tzpw5x6AWdROJTcTMqKpACIFOFRgb6zAxOcbkxBhTUz3GlkqrwAhs3DzJmfcvDhMo0OzaJcAJ4UyYDMwDDloGLU+hi5RVJlcHASaIaa6BBWPQiMXGCN0xLNYERWQRNQwBgUifyIX5Gj6cB4MmRszg+s3r2XLDRiamJqg3jnH2w/4M2DHE7NIJN/d9ZsOVASAJZdtriWGBDCE8RDSszMJw5pADZKIkLAU4VgWqXoduFCJQ1c2QwVgJtVKo7CyiipEmNrz77ke89dZpxid63HzL9UytG+PC+XpGxp4Xn3n9ufs+s72p5wNmqwagCGdTRQmVRx95Cic4ML2Lbre31P4k/x0duXs/TdPwxOPf5+OiTRu3UIUO1WDAwmLNK6feYnyiy9at11PX1R//wp4bfuO7z7w9P37DTRd/+nJY3cXIPz/zvm695RrmB8K9oEAOofC55tuycpkotgISaZrIoI4sLgzo92sW+gNirUtgDR8BJvPQPABqjWDKKGuaWkOpuTi/wPqpcTZvvu7Vqh7bS/9M/8//euPFp2a+xrnBt5C0khcAZUwakos8AGqDktQvMAdDngUgLGM/1RBCMoxAIBKqik5HjAliNxKbaghOjEKSv9XMQTfBEICqjb8mpybodrvI7NP9D9/Wj+P6ePvWE+Gdbe/GF1+2FVXAgxxnErcFwnBjSMGaipMaYfg7DZm/iyjvMyMEI1SBECOmCrOYwm2BGPanGcsgeKZG0zTJnoAwqqpDf6HmhQ9+Up/vTqpz7QY6X9gTqhu2xVXZAIEzL0Oe9nLi+DMMBgM63Q4oN2h1EzHg0JG9zF9c4OmnTrJWuuNzd9BE8Z8vvXz5+GHnDiLQS+xYSMmV2dL6Nc1HoXl7bFGbOpP2M5+6U2femVhZAjyrk0eEcuu+f3o3BRW6DgLGJyY4cs90EVmag6qkBhFijNR1gyKEyojNcr1rgZ27dgIiBMMl0VeqLIAp5Q5GVByWQpw5N9Cm86ZaFTf1r2Fq8+ZVJkMIr4ILn/nfQp/xPiRKYBxZwFAWFxi0ZwMCsECvZwBEmc8Lltb02MIM1EQwaBQxkvWJEJCZumZqsIU+22+bWkUyJCCL/sozgfwAxKFSOy/LGDIwAHes3j5kxH11UnoIhg2fQKgMc1yX+0yJmwAEglWEEJIqaNghA7OGoIo3+u+tLhKMgHyn8bjGOPG4xwH7Du6hssDxx5/m46Cde3YSDJ79wXOshnbdtRMzIRkhgJKnwkCkOnXoqFIc6zUW65UBUPStlYsxshT4HN6bxf2SOHBon6fE5vf8Zpn7c3fp19vFNdey29u1dxeVAQYxetit6O9UzI/rJTCM2KiVAMOqdrQqG+/3AxBXdINq+bb8bFAgT4YdJOT8y4hplKfG8uNRgUyQwJCcqZAMmjzmoKrcjVIFVzVz20MUUYBElKgiy8kU1sNYrImRhUaDix82qwuFETEmps0w1LYDI2J7w329A5k4bBOp1O4SgAhmRBnBRJTa7wdEMnBpvgVzGwUpfFJCDoIAgRq1TqshNrEhRkU6FVh3lbmAhItwcT54/NGnkMRqyfX1TiYmxnn4wcfo9XoJMIYxxZH7DjFYHPD9J5/lSmjfob0eFUrILOFhRLEMUSRYqBpVC3SDbCUAsqMvDzn9bn768D5ktCKO5elv6fOtkJK77zucgLU0TAjo9npMH9mPmRFjDruZyjglBZMGFrEIBE/Tlaa35iyKvoxw7c1XEAhlip/7XqDVc5Snv7nrSEC2wJTXZiIntwkQnNPyggJDkjvUNNRIeUNl6cygamR1E+u++gOjd+MtWsW9gFBbmh9qeL/re5Yn5NfTKlIfEFImDWme5V+j+OOeorylNWFJCpXWMFIsYYEQAmBYx5rAYtPp9WNTfxSn3j+3sgTQio1BJUT+A088+iRXQzt2b2dyapLjj5wYJjGhCiseYS+NG2Z4u/fvptfr8uiDjw2ZPHTvwTY+wdSqrAUwoH9hfmC9ismuNeu3Vrz62vxqjKBaEXfj4q7vwJEDgPDuQkoh9xRWpMsCDd8zjZEmI9c0PN+X2xI3LYIjnz/s80jrx7SACQhI0B+sbyZ77xDP9nj7R6f1wlwT4a6VVCD/mClB7GKp9BhIhqu8qwGpzG5X23l+aoCBxx1FqGuJOQnyq3b/TQLJ8DmpTgALVHFSZ6uu/v//u0YvfPe9+N7J11dzL5BeHMl1U77NwkC50XRvJP8WCOX95UcWcosthORcRgA5ww5ummeeosU0SDL8BCtSnT7Fc2yPz765N54/dz3j61itF5CjLdqdlMGJh59Y1t0QKCnG5UOM6SMHmb94kbkfzA39vI/1cYc/fwQQj//HYwB+W7xKEuLgPYeKr0lzaf3W39wfAfgDgN++slNhSS7K8ujtwN3TAKM0Htw7MD45wb7D+8moiAgBDi3ps78iH2uWxgnX+SzXVNqYMpLlqj6R8U9N5boWszNAc1Vx7CnzZGEI11NZPtYrVjLR5gRidMwgv4xBI14prfl2OF9OHgy6qpuKI3PlSRPlR5VCuEGUCiESTuabLS+hvKjxCBWzgnEZYiRdWSQonGJi7vgjj6GoK9LX0sUevPcwGDzh+t/2fW7XDmLT8NLci23f5W3AYUhznUQ0rf1uUMW9nsgj0um7DwPKJSOVyrJoc1eXZY9en14CwhhtAqYv2QYlACQYfcqW1sg9lgkkWyMAvlPIV2yZEEqMe1xurevDAXMXmDFZkkb/j6NaqJaywQ562Y+u4kPJURLkCLvfxsuck7Ka/DpXaK1l5bcHsAKIIZiPXbME+KKU5uTEw49nOrfn4D663d5S+2OMJhf14w/5mKsjf6+UJ4pOa7AB5cT+Qs34WMdbDPbfcwjAdR+Q/xiw4grAs2QOLI1BgLna4IkM7vJx1Rt91YhB3gc0jYjRA6E1q4BwGtQRLF/IVFyDleLvkpTmlp5OXje51/GxWS5ijv9odTSo6+iSuQoEwmqMIDiy3mdElBuizLe7WDiaXsVAbeltpf2R1x3s8mDFlp/YyF2p83EVKmBeixIhQgMoqgQHjQ6MR8c47teL9svXbYW1sNFGVWuPA1xeYxREoWCYDEUN2z4JZFyNFxBUnUBTxwyITwJVnYC4ikAIicmeLT0dPnm0RjdoZjcCPWDrX33vdebm3uETTc7XNPAWsCgpY8okjZpwC3ArHz8FIP4vzP2xpDdwygH4v0z/BSjKoeHVWVh6AAAAAElFTkSuQmCC3.62940.34634.77844.06911.81470.1732-0.03.62940.34631.81470.17321.81470.1732-0.0#000000#0000001.00.010.0125#0000001040.00312510#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.138888888888888900.00.00.0-1.00.00.0000.00.173153.62940.173151.81470.01.81470.34633.62940.34631.81470.173151.81470.173150.0#000000#0000001.00.010.00625#ffffff1000.0031251111110001.0E-40.31530.03140.34650.01.00.01.0NURBS(1.0,3,0,0,0.0,0.9593,0.0,1.0,0.0038,1.0006,0.0,1.0)3.59820.34653.62950.31530.01.00.01.0NURBS(1.0,3,0,0,0.9962,1.0006,0.0,1.0,1.0,0.9593,0.0,1.0)3.62950.03153.59823.0E-40.01.00.01.0NURBS(1.0,3,0,0,1.0,0.0404,0.0,1.0,0.9962,9.0E-4,0.0,1.0)0.03143.0E-41.0E-40.03150.01.00.01.0NURBS(1.0,3,0,0,0.0038,9.0E-4,0.0,1.0,0.0,0.0404,0.0,1.0)1.0E-40.31530an application entry point. The file name is fixed. 0.96610.96611.10819.51690.48310.4831-0.0#000000#0000001.00.010.0125#0000001040.0031251100.00.483050.96610.483050.483050.00.483050.96610.96610.96610.483050.483050.483050.483050.0111111iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAQbZJREFUeNrtvWm0JVd1JvjtExH33jdlvpyUqZSERjRZAwUWCIMtgTGuFghbLlAhBgnKuLDLpso2NDaYqja97HK3Vxl3F7VsY+MuELSFxSAshjJgMRuQEBIIAZLQkMpUZr4c33yniDi7f5xpnxPxXqZm1uq6uV7ee+OeOHHi7G/v/e19hiBmxv98/f/3pZ7uBvzP19P7yp/uBhz3a+F3ZjFZ7YDKTqiJzyTmExSyrZpUFxpboYhArrD7oMRn9/14Xtq+s/3M5qP7TQMAM6APK1IjrevDTHQwI3oAuj6Ifj6H2T9feLq77Hhe9JPpAt6tRssHnpnnuIgU/ZxS6mIA21jRdlJqEyiDEawTKK3znn6m5FoKXsiAfU8/p33kgJGU1zW4rucJOADoQ1rje6z5q5nCXehu/zHwv2n8hL1+ggBw9QSGmy7VpF5GjJ+ForOoU2y2zTRvThlZHIMCyH6mRMOj720AYPFbKmgtvvqLmncS3915zCAwoCgxPAyMq6N1zfeT0l9TJT6Dhflv4eQbB093jwM/AQAYr/7aRXmRvYJq/lek6GJ0CwIYqAGuGZGmK/dfKiy2IHBAsP/RehYB8fnROyEAwAkYiFwBs63KtpFJlBfvrEEZWWAwMKiYwd9jwserenRzZ+qDdz2d/f+0AOCjH706u+qK6ZfkSv07VtmLqaumoQGUDGaycnLaWwNcA1Sbz9AIJttqnBScFDrZ3+hYPCABE7MRKIAGB4iAQOIcAljBuCf7574z2fsAiBgoyPw8rFZI8xcr5r+46bMr//SqV91YP9WyeGoB8J03F/XZ43+pFL0Fmfp56mQKJYO17UxyHV7Zv9K+c/idpN8nY46lqZeWAAognRwD2q0AEJt6cawVAAlXYG5aDCYLiALgHKAcBhwAuDbN6ijwuNbQfIvW1Xuz+374j3jO7eVTJZKnDADVyrUvzpR6B0i9hDo5MNZW2525LQGMzDvV8BpMwncTmsIkSjScggvwb+L89V6pmfdmXPSR5ALp79ExHbsLwFqCAqAuQIWxENDGKnQz8KgCWP9Tzfwn+fT1X3wq5PLkA2D+umegw/8JWfY6FKqLkQazsryrAngEYAygTvy4Ei5bAgChjBeqEsJNAICkjugnKVj3g9Rk91tqFVLhOq23YHbHo/N8+Gj/MgAdC4bMuAcFoABQ8wil/jAq+t+x6YO7n0zxPLkAWHrt6znL/pi62SkYW1NPZAU/AHgMf+epdkvt9/IWv62n4Q2Tj6Ssa4f9yv5DLPy0b7jtuBacVJp/aQ1sOZ2eY8uqDqAmAOQmmlCwrqHarcvqXdnsDR96skT05ABg4apZTb3/rDqdN4OguGQY8lUCegBwCSYGRQKWJh/xO6Ua32bmEyvQZvIbmCAhINEPxEKo4sVCwABiS2C/u3LOGvjfdfM8byUcAAsDBCoMEAoCWGtdVu9TPHwnZm9aeKJF9cQD4PCrn81d9V7q5j+DsWX1rI3G6yGCxrcIM7IC4nubCY+0nLC2C1jD98vgofHiNYQv3iVh9MfTcDGxBg4kyW9G/AxoDQaBqGeBoAw/MNbgGzTSb8HWj9zxRIrrCQVAPf/qV6tMvZe62VYeuQ4bAXXf3Hhk1i2Dd2EZJZbAHYt8v9DyBhlMzg0HY3PvhLduJJB89wKG+C1JDklz3wBD4gqk+Zf1yz/KgGzCcAQA1CXwqD6sy+ot2daPfuSJktkTNhikj/7rt2UFfZAy2soDDXANrlaActnE8WknN5Iva/2WxujuY5KNS49HPpmTz22XlufJwxxnfdN2Ha/+NCIMaYLilDODwFwB1TK4WgZQgwc1KKOtWSf/oD78qrc9UXJ7AizA1Zk+Qn9IXfUu0gzWCuAKXK8AXIEkmyeh7cc0+baTIl4ABIsBNDN9sr40AZSUi46lZE9+aAkLU8D5sYC0TItLkMe5paxmW0PgE4QMyKcA5CBik1+q9B9hM/0h8PiSR4/PAnz06kwf1X+iuvQuqtkouh6AqyUQl0mHU7u2yI6JOpeS766IDp+jfHwitNbrtTK7uL7UWrTVkSaFGveRaHZajqnZdgYYLGyA7zWwLsHjJaAegDVAmoGOepc+rP8PfPTq7PGI8HEAgEi/WL9bdbL/FZUGaw2uV8FjZ/KF8FvDojXi7RQQqR9NBbmmL9WBeTdMt0gne5+r4/rXvJ5oqwQjkoE+r+VJnek9+7osJRI9R67fyBBpLlfB1SpYM1AyVJfepi+v3t1i6o779ZgBoA//yu9Srv7ApHIZqPqgqh/119pEew3Nku/c0un+cxsjdwXSq1phe4GkAzfOfIsRwYY2J/yhrT28ngzaeEyLJWIbDXg7IF2LbV/VB6o+WGugYlCh/kAf/KW3PlY5PiYOUB/4pVerIr+eSBWsGVz3gXpk4noyt0DenyfhmGrJ20ehHsL3tlCvjQ/47wl/aL1jmQA6lrDcoZQ4JhaoUSaNANYjryyKcQAAAxxlExnEbL9qQHVB+SRIEZi51FV9bbb9Hx51dPCoAVDOXfncvFN8loi2cA0j/GpoRuUEySMpKHvcpP7TDF9K8lJBr5P7bx0DANYnf+uFgBIAMjMogdAWDooDUuASLLqlDs3R7yyAZcy/9sCIrI9zP1kPlE2CcoA1H6kG1RXFyZ+67dHI89G5gLkrtmVK/Q3ltIUrDa5WgXIYtMreHFlIs+xI1+3MBtnS/0Yja4gUbF0ZHSsU9GXbyCLWOQbEPtxyilbht1mDRPhsJZqOIFJcn0xTOEJo4J9mLK3LKYfgsg8uNShXW7KC/gZzV2x7kgDwbqWR/6mayC/ikQZXA6Ac+BsncScsGsrOnAkBkWT6guw3yVwqZIRObJA0AQL/J7WRY8FJTY8AmQjY8YfoUi1tSClDC+FlwfMDNuJ2xQTQNakNwLZA3QdXQ/CohppQF2mt/hR493HL9bgL1vu/81oq6DoMa6AeB+Gn/ZK8KD3WxowbISAHwUS+tAUEkRVJLtAQeAtAUtPaWieStqClPRrJzbVYBKfNVjmi4tpXT96SinuPbk8oEACUfaAaAyOG6qjr6r23vfZ45Xp8HGD/LzyD1cTXqVCn8LgEj1fhU7sgOysHIpEj07skeCDB5LodaVbRb3GKWHxH+NrAbBsfiBJE6/l86e/lMYrf1xot9EJOfb4UfkICAYTwNNTHTuAik2lmnQkeAHGOq1c7F0NAZwqqU4DHes8Iwxf2TvzCMYeSj8sCaO78IfXUKVzW4HEf4BohlBL94UKhRmO9cwjT6Fi6AllHYoYbZlbO4JUdLLW7xbKsSSyo5bdm+9uTRG1uow0EMifSvGcP0cQYNaxEYyKqFFINjPvgcQ3qqVM6uvjD45HtMS1Atfd/+fmsyD9LoI4eD4BqgChF65i7CszeaLjBFgnWzra8JzUuQojIfFuaGGiNFFrH/NMBISFoyTfS09sEGHU6kmNthA9CMLGrYHseRQBwrkPKVSOEgK4eCUhxXIu2WHJN+QRUtweGHtcVX5Gf9D9uWU++61uA+6/oZip7FxXU4bI0jN9rOVreBQm0xNB8ZN8BrZMsWEpEkjNxgVZC10KOUs1sHFtDi7HW8ba2JlwiOk9WFdpHsMK3302fBHCwEH6ErNZJKCnoYC0qbGRQggrVyYD/CFzRfcwAqCfqKynny3hUg8v+GmY1EaIIBTm5aa/PDeFx+F+i3guxJf/fJuiGoFIGnwCojRA2ND4BSXpuIwUszklkGX437q+R8vXNDNeIbFljlDPpe5iUsS4H4JEG5fRz9e76yscGgF0v6inQ70IR8XgI1GKiats4uDyetDHVHPbERipf6JCG5nNyrTQKQFx/3AZXTqMNeK3coOHfk7p9PTpuowRMS10ctVkUt4rCHq/CUqT9Kq1PFEKLeqsSPB4BSpFS9LvY9aLeowZAnRUvpZwu5VEFVKM1blS2NdaM0PC4M8L9mQ4kW4xS/9YI0dx5cgCmrQNSk464IK/3p5NzRRu0uE6kgaJeLYXLYG7LIQAuH8BSkTxFkfWKUcMGIU3bk9xpOQKPSlCOS+useOmjBMDVmSJ6MzIiLodA7YacOXrzDVvLLUTviNBM/qPU/KTTYYXSuLZYrNGmbWtGBSmaWgQtz4suzYhi/ai6VAgcm28PjrTzjLl3SUKOMoMtfRl1fqIg4lrEAOoaXI6AjEhp/DrQPmzcCoDy4fmLoOhyjGqgHEc3zI2LUuPeG+nZyISaz+w6qCEwWf9aYWWSPmwxq0HwMoUrhoflXyOHI4HUluCRoGqbFcyRH3cnUUOoOuJITX+egnuN9YprfS9HwKgCMlyGhw9cdNwAyIivoY6a1OMRuK4j5MrRqmZGTt5I2qGCAGpLEhOlCP3qQJJagvR60twjblOrwBwI2s5vuY+UuXmwSAsUC4BZgNsLLlwjNJdB2vam09rokpL4xs1oRDjJPZrrM7iuoUdjUIcmK52/pk3WzTzA/Vds4KK8lTrqXL0sJneoJO5PZ/XKuD2N7+1vZIeKAftZnK9AQE5hdS1k3UkugCGyjeIakjP7aQBN/0iFMgs1S9gdEsiuS5S9HH+Eu6Rb+dso26K9NQO1blpNlmBIrBsAYm0Jo7QCOuYha2YGBRg1AypDNjMNrvQ9VK4+D2d9a0neU3ODiM7guciKs3k0BuvKCEu5xjlBuAaooNYsfzPhSDT2b27Z9iJHfaUKBV0yDuwbYd9cif4wlncqbIp+lBIi/7Z9e45tW7vYMJub5lUWTwXhnh+s4LP/NI8HHxxi27YCL3jeBrzkRbMRLzH3Y+GaE1Br7H1kiL37SozHHLXF+3EYzdNM6BbAtq0K27Z0MT2tzIqfksG1yfmTFFqk5Y4orzFI1UI3Il5CiLY7oLoGj0qgU5xd6d7zcuAL6wKg0tmVeRdKr45MRQQwk5mMCG2zeElq0ws+EQzbFpEoJ3wB2XGBL35pCX/5gSO498ER+n2NMp1OGLByXLOfCMDUlMLUZIaXXD6F33zTDuw8uQco4PZvL+O6X38Qcwcq5Dmh1oy//u9H8I637sBvvflEsxbV9yyDMsJdd63gz947hzu/38dqXwdOvNaLgSwDJiYIU5MZLjqvixf97DRe/MJp7DixAJUMraXplv3VsPeJtBN+5UCT8hAHR67B4xGyyUKpUr0cCQBiF3D/FV1djL6pcvoXemnJmC5SYuJuSwqYhAuIZvS0ze6BN/1EBCoI//iFJbz57XMYjBhFTi1rPWOBH+/kN80Aa8ZwxLjsBZP48N+ciW5H4Zo3PoAvf2MFE71gnaoamJki3HzDmTj7nEmYlUwAZYR9+0d45bUP4P4Hx+h0jOs6nhl4jgswmyBKM+PUkwr8m2tmce3VmzA1paDLFlKXgoGtWSfhAoTVYEsMo7kWkcUwWpzNzoArupNO6z4f+OzIXTW20dnKOYrYmn9tVl4LdLHzqSz8ZUT4pK9LkGqBxp6oMLhi/N1NSxiOgYmeQp4T8lwhy8SfouhPHedfnhGKQmF6KsO37xji9u+sYv/cCHf9cIiJXmYFaf6KnDC/qPG1b6z61dsAAwXw95+Yx/0PlZiczGzbju/6WaaQ5wpFodDrKUxOZNh/sMa733MYb/wPe/HQQ0OoHLJjIaQK789dX8pgxuMkhNAsIw+vKO4EDR6WAPjs8UMr50iRRwCoa3UxCjWlx2MBskBYKDIvbaxfhGfSgrXm5gFdMXY9UqNTKChl/qRgHsufq8f/ZQpECoeOMHbvLjEat5RRCooU9uwfA5URBgHAuMaPHxwiy7JG+cfStqJQ6HUzfO22Id7w23N4aNcYKpcuE2haADT7DnGfxhPjDH8JyTXrncdjUAdTWa0uXhMAIHoBdG1sYirAxFLF8XoaViWNDnbR3yQByHLCeeduRFXj0Ql1nb/Wju/kOOXkaQxGyrq0lmtkCit9ZVap2/sZD4Gj82Rd0xPTJqUIEz2F+3dVeOefHEZ/tbIbmUiFSgeFEPUtcaBcnCiY/B6JsKoBrQHiF6wBAFIgfQFqbcaWG5mmOLlBDL+KRVqKOJmjW5CsQ10EvPHaM7F16wSGwxr1MYDw6K0BgTVw0s4pXHDBRtS1XrssAURFBNaqYiwtE7LsibFK8livp/C1b49ww00rZhORNMZ3/eUziMGoM1yYKJJpkdtNBs8YRvhVDQAXQmyp4qOA1R9efsLEBJ8Ea/4bCymZTSzvLbxZ3k1s5rJ4FDsy6D67xkdj8aZOPapw6bNqfOSGF+OD19+PH/7wCHbtWjWrXxLL2PbKFGE8rg2w1yRmGq977VmY3DQGa0KWZWYkLinvhAxLHolMlJLnGZTKkGXtF0hJKzNQljWqilEUWRoJR6+iAD7yqT5e9bJJzEwpE7dHYairk0XqIQkJRb7ahZbsyF8UQDAwrkB5Z+fqDy8/Yep8zEUAoHJ0IneKHRjXEXJIKRESO2G7kE/6oCTca2zAAAEO23Ai6OVD+KmdNf70j8/Bar+D5dUMYeuYZNq3CEGVyvHd7+7DW9/6VZQlQ6mkw4gwGtV49nN24DWv3AwMHoZLQMncUhCkALFwY2Ylu5jmbsuyvYd3vOM5eO5zdxrrAmA0LvHwwyv4+j/P4ctf2oPFxTHynCIv6l6dgvDQIxrfumOMl76oZzZLSVPDoguda3IkOhRhMYnUnS+msDkwjCuwKnYQ9IlAAoCs09madbin+878k0/4EGBm87Cdo+YSQMzmuBOLOE1AL7EEzqIEweqVo8DqPKaKDqaKPIApnfnjZJARluYZ73/ffozGQJGnVIagNWPzlgn8p3eej+liv5/CuL4FaG5BR+R8edMCkMpx5olLOO/0Ghg7kGd49k9N4qorz8Ud3zsNb33bbdi3r+8tSJqZHI2BHz1Y46WXyUs3SV8s/FAuxmzgCDEfMFXVlUZWoNep+AR3fQ8A1Z06GbwMrrXoaQJDw1EFv+sa/BRGn9M3KVISlsHkEPyNRNlDwS2EVdDl2Mxu9RdzIKDoY83AH/3ZAu64a4BeL0OregF4y29dgIvPWwEv90HdMEWt3QIo709JcJ/gw6khPKIM9WgFWO1Dj4WrtL3z7PN34N//1jPxjj/4vrUg7C2JqyvPCfc+YJZ5NcJoAQJXnrzgXZ4hsRjCOjSiB5McAdPUSQ0ADIfZicWENmTBze/ziGIxB5TEbBZr2sjGqcTiXHjeEEBAoVEuQeRuVroHEu+yHphU7t/f2MfNnx9jciJv9f3DkcZVv3w6Xv+qKfDKgwArfwmlVKsFUIo9B5B56sDm4xPYukfDp5ruiplBC/vxwou34IQTJnDkyKjVihQM7N2vUVccXKsHASJAhSjAhXchPG+OPopKnPXVRr5lSTsc3fUAKEtsR1csooyWY7mLByZKlveDKMziZpily26gh6w2eUtgC65hAQRpiADobpq6CnfcMcZ7PzBAp9NOsKqKcc45m/C2f38K1OAhaB0sFTmBtswbzTI2LsCGTybKAZSwAG0AaMxikmycCdPZEk7a2cGRI2Vre1WWAJ3T+swBNzgorRNDlHGAcOeulTvQjHFN2ydTADDUBmgdX9w4f7CElTdhohXKlaEgLFHW34Q7FMW4CS9wg0lSG0CgHDh6uMIf/ddVrKwaAhX4prmO1oypqRzv+v3zsG1mH3R/HCIee2trWQBH9kIa3d7RMQAQBCf6SPRfWdYY9GufQQzns22PgSazTtLccWbPCToasXQmPz4tygtEDWYGtEbNaoM7HKIATd3GrBVNYWte/zIcgSQ4mI2ZJY4tudsWjgKbhdsKNuowN17gwh95QTMaWVXAf3nfCPc9BHQ7gZNIdl7XGr/2a2fjec9aBi8uJZbHlD+2C9BB3SxgjmkBtBBIVCmwb67E/rkaRdGckMPM0AxMTxXwK4bYxPkhYRaGjZ39jQd+ELmDJhgTMJh6/EzhMBqYUR5WmYiTNYxf9+QjJIQjBffCg6/DyNUeV0mjZdjoz43GWH0Zygkfv2mMz35ZY3Ki2ZFEwHCocfnlO3Hd1RPA4oMmUkk7CcfLAZwR4OMDQOJ7CQBlDF0DN9xcY1SabGLbq64ZZ501gSyroGvr7wXTd+1gl29x1+I42ZMy/sgNyHcDVi93MRxcC7RYsqYoBoEHuWABLjy0RNEs/0r9FEDOmkCATBI+AH782Yd/DJUD37mzxl/eoO2YQbMTq4pxxpkb8Pu/sxPF8CHjyXxPSVCqdcJAhvIWILgkkwQyiSAZBTgAKAVAse0etu0B9u3X+H8/qfGPX2P0upk4L41YGOee2QWyEihjjYaVs+ly02Eux88u4ogmhIj+lX5fvjRHYA0A0EqgSrD3KE/dNM/mjYNt0NbyWj9O0p+7OlwOwdciyoiyKiccPMD407/RWB3QGn4f6E0Q3vbbp+PE2X3QK2XSTtmpa1uATFkSCJm+dqN77XkAgPCRT1X4yrcY2q7vJ2bs3Q/ctwtYXGEUufLBT/rSmrFxNsdFZwOodEieOubveZbLuAoX7S1BfI8xAZRRQFK2AQC/i7UQvidpAkk+McNxGWEVSItyZLeIVZYnOKh4JWchr5AvJgWMx8B/vZ7x4B5Ct+PmE4juJ0JVa7zhdc/AC7zfd/eR9LZt5vouAPHDQ7B2FOBet32XLXe2GssEpcyEENfmtN3uVVWMCy+YxLmnM/RAC04V+sa4A7eKSJC+aPAoAUR63Jd3LiBYJAGAPBT2AltD4xnBnCMkOLzlFHwhRZ9P77hT29SDCJQBH/sUcMs3Cb1uTPbcazxmPP/SrXjD1R3w4iPWLMpElmg2u8u5gZ+4jFLmphh1uGe2qWOlWgUIAJ1CXiTB3BoJKiePTi/Da35lGrmeMyskmCNdawhTnhyZeSkmNgKMFu+mBDGIXYSBnXAhy/BjRhgLPEQIgg/Yjgj5HhcxiASLjAOjJJG7UUDlwO3fU/jAP2QoOmH1ucAHqgo46eQO3vqWbegOHzRTrKR1iqxX6Kwsy0HQLRbAhGQxi2bBAdYX6LFe6bnDEeOaV2/FCy4YQs+XPtXulcQ3Q3srgNTvR2AQJ7WAg0Q51p0mADQmYhR5mi/YvfvNS7glm+fpghs7sOSQQ0LGCTwe9bODPDlw8BDw3g/nGI4IRdHiPxnodBR+89d34pSNe6FXxiHkCyMnoYN884xPb0sFK2W5iASAllHA8Qn2WC+tGeOS8fIrt+LXX1uA5x8J7B6pYNl/jAW8js9vA0cUOgIaLQCoMQ1wZnwEkXEBcIJbw6H66CAhXN7mku9IKOv7rWly+RkZMSgFjMeEv/z7Dh7al6PT5agagyvCeMz416/chhc/ZwW8sIQoWZGOhgVJmTAwU2ZCRQqADCAX7orT6BgAOF5QMBuXNTOT4XWv3IrX/7JC9+iD0JVojJftWoLEmsJnR8B9RU522qzD8FYkQ80TLQDgaZhHmoQQyPSAcAMpHYiyTSEiiPrd/kSO4IhMEXkzzbazgZs+38VXbi/Q67oTg78mMp148bNmcN0rFXhxzkcbcEknCQQ5oGQvrUiBlCF38pVp+FSwDKUCCWwXdl0jzPCNOscc1xrodgmzsxme89Mz+KVXzOD8U1bAc7tQlxUIyiqdmCrfiOeFUL2VQqThURoY8IrLOgwVm/7OUWOqBQDYCHAHka2IhC3Ts4JVRR1PotVxZ4RUMYsSNnRkQHUYt97VwfWf6SLPqbXDtQa2nVDgP/zGDKbKXdC1DjyiVfFFO6yQlE3eNEcDRVSiYxC52UXy5TT1vPMnsHlzDjcL2L2UAqanc8xuynHuOQXOO7vA1qkBsLgb9Z5Fcfem8Z6ktQk9mZnVSO4giMN9Zjf7ynFCf37XyLoJgCkA02A953PcXqRypo/0/0pcsYUFt/1m5KM9f2CYkOnAgQx/8dEpjEuFIg+dKdk6A/g3123GmVvmoBdHLuEQCUXkYxDnpC0HWMsFNMYCYN2SQpY11rhAaxP5vP7qaTz3kq6YzQO4gQdyD73qLwLLi9BHhp40+zBPyDDWdCdkYZFlckdaqkTwfusdhhg+ttrKk6jaSOBYTwD5LMzmhBb5Ih0bLINYpeMzbu7q5BL04Vg6rhMhwWTQRiPCX3xiBvsO5+gWJqkkNY4IGI0YL3/5Rrz0kkXw/ALQtqyRWtbluY51mFXrAcCuWhJJGKUUMtUEABl/AizsB/avgqvAgN25WrN9CISDnxNFbO6piR00nkvUyvQFcNZi/bIvWINpBnXdRgI5R0UbQVBhFMpPfXIIsg1zmifYvRNAm6TlaKKYyW6wooCPf2ka3/p+D91Ch4kZvqMJdc141rMm8BuvrUH9OfPgLf8AigRU7oM1fdBkLTpDwXIAanEBfpKTHQyy96YIDQ7gJ2e4ftDaPxIh0hUATMrSqGCyZTrdfVqT9HlQhMgksqoREFisDQxuKixDU6gxjZpbE0HAkDdhgroAjwFNZr26CogOMJDCT82/dMbiGNvIgkPSSGXAPbu6uOkrMygKIxwpePfKMsL27Rk+/akF1MMphLECRClr6f6ne4wtmzSesaPE9s0huUOKQNxc3ZMRzIQMuRqcjZCJuBGJ+MEgkT2MI1A3eBNG9qQaeIF5oQLRAE9ARnKydAOiDiF8N17gw3AbcxN1MKyno01tIgAMeAN6atLuCCIaR0qE/Bysvmf0Hu7CCXP4TlYDdHAnJplDuPGWjVgdZugUzdBJguCLXxziC3oCoEms9SKfCDK5/SIHJnsaP33+CL961aLX5jYXQHKgSgyIOQLYbgGcb7acxloeR+ycL3Yanvr78LskeUJhWomhfYmxB1mOZH1WXm4AiLMpDOoJyH2NwqRQMMZ1D5XagoLnE24hWJGjAe6iPp2LEDJ6gMiowd0FWeLH2LW/ix893EOnCBpJa+Rcu93m8bSs0UyJTsJgpPCFWwsUivCcCysT/ikKIHb379yCDoMB7AEQA0Yp6yadBfBKGk/Fjvy8q1X48Thsky4glIlAgKgSPxVMjqNFeQFvycz1S2zEuMohB9TDpFBoVFxgjE0oso7dFEoIjhksJkCwnEYtyaGMGEKrAkH0oGHsOVBguZ+h22mPItYCw1qvdPq2e030gO/c28PJOwd2WFe1cwCqg+8kRkZAr2eAlJJAZqAoCNNTFG3/0prLp2A1GiGdLCeBQGsInwM4A+EUIJT1yPOowIhnUGmKUuuN5eEr9Sym1RS4nrcnO9WEZZEEglgQ4uqP9reRCRkbLiZTvMBW2UiBoqd1PHrhH6usAlBrBdUxOYaqasKNAWzZCKiMUZemrXnG2DgTtreNAUPo5ISpnvYAiIQv5NsUZKrtskysuQ3hR+Y+gIrcAy/kOVq4snwaq+Wk3YAjoFmwLqPd/XoKldpixvH9RUWjNMzTKmwDomnJWngfGbZoR64ETEvGaacqzM4qMMdLqdJFGMf6O1ZZrQkbZhQuPk+j17UATspkWYZn7BjDbINrMmiZqnHyCbUlgsk1mbBxA7B1Q2kebu6ijlRQ6aNr2oZufTmO+8iBxe0+JpI7blc1fxrk0nCO2kJMqNUm9Mc53IhMEwAwPmWsOxhis3lwoeaWhlsfo+VcdQ68woZFrTfqH9XDqGvGaSeOcMUvGg0rSzNOIP+A5rH1/uys59AH2swp6PYUrvqlDk7dtohLnpNhPDZ1O2FWFeHEnQoXn1uBx9rMbAaDyxovvKTCzIyym0KQv8VxCfzs8wkT+UjILBZUWMwh+k6vI/g0vo/2AwjnMlhgheM/iL52BFVNYqCnMa6VX5/gXmFSKIyL1iAsVxsxnW+yj35TiEmcKx0uxirObPmpZME/CNMUwja91Merf34BZ5y1Fd/4psZDD2j0B83JGuYsaqMJUYmoZQxs3Khwzrk5fu5nM5wzux98eAXXvHyEwwtT+MHdY5QlmxBzR4Y3XaewubuEuk+e2LEGTtu0gGtftwl/dwOwvKyhtRmhvOxFXVzxgiPQS6UFK8Q9uq/SLbpIIeEA0bu0nokVSChEPAIYlwnhpf3e2YSlQdcnFWVHRhzAJbdWqkmMe5uRq0NAPRK9KkkhhUkhlhS6xaOsOSBNgsA1TmYRH9mPS3cOcOkbN2GketCUiaST0DoHAjH7qA0AsnyGGh29AiweQX3A7I20qdyL3/vN03HfI5OYOwhsmGGcfTpj02gP9NGRSH5ZpVtexUsuOoALfupEPLALGI4IO3cAZ+9Ygtp/IMw/TJM3Ul8iAshr/CbPCfX5HcTc3dnfWdbXxjUsgCjrocQGrI5UWBUlmhiTQDJzYiousFRvxJZsC7jaG5M3OeKgk++2jCT7JqvM7kOcPbSupN53BJibD2v8otEaF59xOJeaAAhzS0jMaGPUWkcArPsjFPt+jAs3zeDCEztmyfTRFdTDUVSfj9MB1HMHsGNyGTvOnDThwmAIvXvZjgJK6+aEID60bZqxruBjAJA4BB9lJBFC6qYlOIotWBp2UNV2yDvBaMMCuI2blsoZzHY3QamjYD2wGm3NmBIJn2QvfB80JAYgjC3YAyqAwHUil3UQfKzQMRBa3AGLcp6Kpuu23ceqRn14PqDUL3YF5JQyKa96pQ8srwogUyxoyO/y5DXMvJezEKoEnuBODohhxDHRek+wheBZA2oKtdqIxb7plzbXKvIArpMBxYxR3cFyvQGzna3gwR74oE+OvcdDb4iGe9mGZxTMliF1QFgyRqFDJXKly/E2S3R045pJr0Y9DGE5EJ9HSTl5zbaxDglCqanp9dbV/Ph6fudEzZ4isPiNo3MSwYMTohgAwExQxTYsDTKMKkJWOMMa91cggSoA2/XB/HgGMxOboPJFcLkIVo5orSUA24hoto+YEwjnDsSiUl+fuLD3JrYjJfdsrCuU2iebQ83OapRpwUwjOdPit9c8Jr6nw9Sy2ULbwzprUS1HFUWXa5RrCN9alXwWNc1gftUOujk5gKBE8NfiAoKFHtUdLJZT2NzZZh4Rpyu4hZ+JBw5vDMsN2Gsdkxi5s8iWoIjvikyyKe3Y6GsLUBovKW3BGQhh2puvyw3CSLeUAq3ZlFhQLVzANy/wAZ++FeXZ9QnLsQT7vpavh/wcyrEVK3VOwEJfY1RlyPJAq4liUhkDQCKFAEWMo+MpTGfT6HS2Qg/3+97wTwWMLHKb2ZMdKR40BY761lcmOguN39YQsq8oKSNN+Voa6lxaq4QhcdlO4hrfOQBLClCkzV3IHJoQNDfUlZh72e40BHTn2mtR7wSMdQdHV8yUM9c1JoO7hguoq1pTZl1BDTC5EbscR0dT2DGx2T63dhHCxofJo5EgRAekx5nNMLOfPBLug2xHEZuh6EixG2hpwwLH15ezaWi989IDabxOLQJHEGrqamTFa0QKTutjytDi51sndsQADKuINZBtBOWbcGRhjKpWyN0GVwgcoK61h3wAgObSic2tpQeZlbmL4x6m8x6mu9uh6wHAYy9AtnFwFJl5ly410t2lNb92kIitgEiAwVllRjAYbhjadVQYkk5HacIH61Ds1zbSug6auLXSpplnea1YwIFnsuCHdotcUR97oIg6U96SmnvfFPtdM0BdqN6JWB7WWOyXINWFm9Mo09+1hn/8S1gYovWqY4iKyO/9o2x28NBgEr2pCll3J3i4G2HygvPzkhyKREDEOoUplEvCyZm/sAtZRNLDBJ0AFodWOXomtT5JeQrO2RRsNPMJ/lhkvtNKGEHo3suwT1MQyKTL/e9iPx9p03ULoNqGfyOSJ4+5AwrU24lK5zg4bzK4foN3DzqbC6nrVVe9V5/VwXBBielY8cYnjFGd4dCgC2TToM6OuHEO8m7cgzk+3jBrCMf9+IDpDBPratN5bhBJ4seh3b275L+LhZ1Gsg6PoQHbmTku7y4/A2k+nmUZuHaI33XahiAcsp85rRNC8G6AR2q9GCdp9hHHwmc0Bp6oux3IZ3BwYQWjsoYCeSCG5XCGfA8Gw4WGBajK6hBRF2EzZyN8BYCVmVe3OCrQVTk2T2wGdAkeHzQlhKtNdEtYBeH3vfaKkpF7CGrF1lrEgxgh2eMpqY0cXMhFwie5VIP5ogFxJhA2rYxm0ApXknKR4FaEm+HkfhraKz7LYo0y7ntsaZqRQEADdbaBOltxdHEFSytDZKrwM5m8Ejt5kkI1rg83ADAYjh/W6ELZ+VJ+ur8jEAQwEQ71C3RUjenuCQDX4PGR4IflDCBnLlMXEHnLNveAaJsAV698xp4HjLD40g8HjyBn3woASfA5vOlkzqNocVuUKV2Gh6U3721CTQUeNT728ZHgk7o8sbVWqrMFqrsDy/0BDi2sINhuc89m87bAAUAKo6ryj5T1ABiV+sCgX9aKVMaoo2ScEvKqWWFuJccpMyW6nR3G1JXzEEQgUjkf2niMUEuPik5IHqkunGqAsfMFAmzpadHaRCkkQpg5KzNv4mz2grVxebQhZowCFiOdfnhWgizV9FSovgHc+HnN+B9G+FRsBnV3YjgqMXd4EVozMmVSvsqafafACma39X6/rAflaL+7Bc8Bdh+YO1BWejG389wUxblj5w4yBZQ1Yd+SeVfdnaBic+zrXWO1OFbDP8Il+NDEJ0dITzrK+Uf3XiP4Uc8dQmeyXd8gx+iJ3WXY9mEyiYLDHDvv3xH/xiw5AcymhZIjOIFFPAHNvmnpI3YK0ygvweOEvwXUOwllWWPv4XmUlfbL3kPYFxJqRIxMZRjXvLB739KBBgD+9kM3z9Uac1me+VDQPyKHhBmBWcwxrBT2LmqUGqDuiUCxNXRkSv6ibJXVHFFUksCIkCVTtEOnJZ3oySQHMpUKQFtiBgcMnQggEbQWv8v2aTTKt4M+aZ9vp47ew+QOjold1CdJncU2UHcnylLjkUNHMRqX9lFL5BWVrNBJBUDkuYLWfOBvb/zcnJO7dwG33nr/8vLq8N4tk/n5ZKFBmuy+OYYTgAwonH8elIS98zVO2qhQdHeAUYDHc0aIJKbSxk4SgSNYnylWElHkVd3J0kUcK6PD7YdlVVGRtfK8UuuSY85VsajD3VfDjjsFEDWsSQA5eZcnMMAK6G6H6mxFWdXYe/gIBqMxMsr8OI6yAnJcOgCCkGU5lhZH99566/3Lruqwuo+ZH5k7eie5TZTsqhiPJBFGmBU25mKDMeORhTHGZQ3V3QqaOBWgLsB2f3rNMaobGiQ1B3aNnTDNci4hUm1INVJ0bKv1aDueanFb+eSagBnviHyzs15osQLia2SdOP4cuQeEurQG0AUmngHV3YZRWeKRg0cw6I+Q2dA9PGxNys3yAcdoVIY9B5fuZLF+PRoL2Lt/5fbVc2bLPKOi0lL4Ruh+2p+7GDGgGMOxxp6FMXZuBCY709ATp4NH+03a2A/3CjKXbjgRaabbZRSCUVs9E8YgaDSjMfQaETCZUfKmaG1thzwv0cRUsxvnuDawOCTdoCgblU8+syjEDOQbQb2dUKqD1cEQ+w4fxXhcI1NB+MRkzL113c4hODllmcLqoC73H1y5Xd5OlEf9yGdvvXt5pZzL8ywaFnYZJe9jKJysLGEcjzX2HBliYXUMUgWod4pNGGWIEi8S7dKXt02AlNrq+aLwmd6/JxMrU78pSVubX47qEmX0GmVdY8TvHP05n95yv+mz/6I2QdystiZ/B9TEKSBVYGF5GY/MHcJ4bBa4EIDMp3itvHwGN+znTAQUmcLSajn3yc/dcbeUeWQBvvrVb+8/uvjS23du6pxSktV4t44Pdlsgsht+KLMRogEEuUEG7JsfYjDW2Lahi6x7ApBPg4cHgGpZjAY6RRT5gnT0z/tPGTa6JJLVLR8exhpGaT0uhEyXH/gBGNkeXpsWCMX31knOhpaxM7ec1/DtyTHvIwDkG0Dd7aB8ArqucXD+CI4urIAIyEhZ5QuCVyA7LscWHAEYRObBF0eXRt/5/Ffv3i9aEFsAZq7u/OGeL5VV0G4nYIChbMDtWKZb7+ESRZmdWXV0eYQ9h1cNO80nQJPPAE2cAlBPaIUWHKFNy5IOivyjsBK1sBY6KGfqd1knWgoO1sT3PTczxbIO2TxpAaJwDzHvSdsb3YuOL6BrQPVAE6eYPssnMBqOsHv/ARyZXwSR3bGExLxHAhTbBBYRFIdt8MiCQYFQ1sD37jvwJWau1gQAAHz6i/d89ch8/2CeC/9C7HeBdxeTRNAAgj1YMgX0hxUePrSCI0sDoxzdWdDUGUBvJ0AdG0sLtwCddGbyLjsuXYARkSjz3ecafGjIDZcSx+tJXTr5S91J3VJnRAglwRMWygqb5f1pbYjzxEmgqTNAnc1gZhyZX8Cuffux2h8gU8oL0ymcfJKt++7Jn7MQbMz//OLo4D9+ffdXUnk3APC5L91275655W90LA/wIIDMCcQhhlKOhbIvnyuGrjXmjq5iz8ElrA5GAGUmUpg6A6p3EpDZnclqHRIqMlZue9BzW/ztTHEj/kaz83WbcIFm4ma9P2Gh2qKSaBUUPEfwFk8zSGu7ydYk0DvZ9El3GwgZVldXsXvvfswdPAxdaeRKQVkL7CIyZad6KJBVQo4GX8PWCWa30t0HV7/x6S/deV8q78baQGYevvPf/cubLzpz5mUZUVHbG1WKvM+HNT2y9xUQT2qEISIAY3U4Rn9ujI1TXWzeMIFetwC6W4BiFlyvAuWi4Qhcwee609Rv9EqcdDIzuXXPomhLO1ENS/4hz3FfE78d1Rn1XAtnCKgJmzQQWOWgfBooZkH5FIhyABrDwQBH5uexuLwCBhuWbxULclTPkXHFIeMHxwccMKyCKoX+qKpu+fbuTzHzIJV38+nhAE48cdNpn3rva24++5SpC4eDAbguwVxCVyW0LsF1CXAFXZdgXdtHzGtolilYjdqadud3da2hFLBxqodNMxYIUNYfl6BqxaxGqvtm/iFq3+FMfraAGCSSdC/5bT3ANLNB678cLpib9UkCJy/jNB8MogygHMgmQPk0OJsGZR0/Z2A0GmJ+cRELy0u2j6xuKyF0RTasU3ZjCkfylH8HEVRWgKiAyjqgrIvexCR+vH9095W/f8uV+/fP70pvLW+737m5hd1f/87Dnzxr57kXKjLsHyym8pMZHvbLteyom0IY99YI352sSBG01phfWsXiyiqmJrqYnZ7EZK+DPCvAnc0ANoG5BvQIVA+MhaiGIGgw1yCIh1rKDaQcQCxxZKIWLKxH76n57gd22OyY4moQzxOIiCoBQAaQ3VVKdaGyKSCbBLIugMznVKqqwmq/j8XFRSz3V82jepVCRlKbXTinoDjO8ysxwcOl7oPvt09HIbMd/Ve/O3fT3NzCnjZZtwKAmfX5z9z2yZc8b+frTj1h4vSRNo8q9H1O8R4R2v8Q+gswGz5ruz+gG3NXdidxZo3llQGWVwbodjJMT3YxMzGJbrdAnmXgbArIpgBssVygAukSzBWgxyCuwFwbDeMalAjVr2FoE2wEghaTESQd/Bo1SzLcM4hzK/QOmAqQKsCU2/2OnJAYVVVjNBpieWUFKysrGI6GYACKMjN27/mVECaH0T3JvXzL3Tlkt76xiqmI0S0UHj60+tD7b7r7k8zc+szzVgAAwI/uP/yDW765+xNveMU5byVLNjTcticiIIYDA/vfXaZQcwwUdv8oPG+IoTEajTAYDHBELaJbdNDrdjA10cVEr4siz6HyDMQdcNaNxWj9PfHxmnaX3WsBhTfxoo41qwtA8kJg540t+AHUdYWqLNEf9NFf7WM4HGA4GkEz++cV+8UzLm6H1HJBumVaPjhDI2wmfwuKQuJOM/DFO/Z/4kcPL/5grR5ZEwDMPDrjlK03XvacHb/8zJOmzhwMSotIKUiASdtciA4PFtHmd7/pmt1syi3T86SZLKDI7N/HWmM4HGIwHGB+wXRSt5Oj0ynQyQt0ux10igJZnpt9e+yun54mScIYDsRSdCYbciIni+PuXOnfJRjIGgbD6g2pr8GaUVUVRqMRxuMhxuMxxuMxhqMhtK6t8NyDqsO+BhT9BeH6wR0nbOcC4CZ2kM8GBhcQhrJ7RYb7960+8H///b03MnOy8PE4AAAADz1y5K6Pf+HeD//2NRf/x0xB1X67MvtHzgJY388CGBymYriZMspyBfN7SMiY4zZ5kZFItmgMBkMMBv3gjgk+JqbM5Coyu8ebmz4WBvRbhNmw+OKHRNvbGINfpwdAa8NHdF2hrmvUtQ7Wkcz0K2WnZplFIe7duVIW5hux8P0/cdxFA5HQ5bnmX6YIo5HWH//Kwx9+aG7prvVkvC4AmHlIRB978SU7f+HS87f8TL9i4YSM6TVTxxjaCpA1/DFHBp1pJWbzCD9tiCTbRRl+3gXI1OOshuUR8nEpDEBXNSpoYKRtO7UHm3wL+/05QEhaGgtaWgMHa3Jz0/wStlDSC8NqHbkkjc2YhVlUDLciyEzRtk8mkULmIFQ5+4qY7YrexFow/OMK3ZZ3bvIHKaBXKNx678K3/ujD93yMmYfryfh49sC+5z0fuuP9h+cHC0XhGh7MleKQ/PEZKWcgYJ5NEdBqGq+s1itm83QNCsOZGUSGi2AnNoZwKIPJSuYAcmWyjrki+6eQK4VMEXIF5BkhI/kbUGTyO9k65LtCoRQKZTJoeUbISaEghZzcZ0KmFHICcpjPCuTbnomEmMmimjZnpH3CLEPw18qVCZoHN/GGICxFZCEYisknh1zc38mBw4vjhfd87MfvB3DPsYSbH6sAM1dE9LlfvGTnjddecea/zWCic6ssIfRieKRr5faElFxAKqjTKKGkIE8OrfW35zhrEDonWi/qtnORMbmdHhyWiYfIhAXhczRBnhaZfQ6g9gcjD5MSwUA9nNYqRw6JvAXxTB+hXJr7aroCYz3gQOWAAUtASUOpDGDg5m/M3fjpWw99Ls37PyYAWBDsm5wsrr/gjA0XXnr+5uf3B6UgghpkHnjixOAfHGmNefT0cbE/dhAsw5UMEQICrgDyw78mKjYux/GQaIWtAEk0AdW5LVemLWEkg4IWzhAlGF3CUYAZbaGarYu8GxHPYYbrE4rLROTO3E9kARIu4O5soqNw64+Xvvn2D9x/PTPvOx7ZHvdjEAaD6o7f+6s7/uqRg6t7e4XbPpWF1lizxTZnbTy6B4cbvnSdZcw8+ZBFLhdQ7MozMmseM2tGXd2Zcm4E1hTK0Un3PZzjzotGMG1nKsTzH6Nr298zV47cnsPw52VAZP79+Qh1kQvPLCl2ShLmVIh+ce1js49CWsYv8tSBIvYKwiOHBnt/728f+KvBoLrjeOV63ABg5sFtPzj4+f/ykR/89eqgXO1kbvaJFpzAEjeSHUumDLE/FoDBotO0zWDp8MfynFBGgQVILIew3zOywnLfOQg3cwK3dThQxUAIgAhATf/MNSK+AjLtQJgyF8x8cBs+Vgdi4HEq/HhI3pl6+fAHsvfRyQj9gV79s0/u+evb7lv6fFvOf63XcbkAAYI5IvrYmdt7O//tFae+KSdkfgWBNclmWrVzCeZOzNNCNBgaRNqzef8IdEeaRIgVlhg4ZxKF8NZasHC8Ngx0vQy3KCQ2+/6hi4L3yzrCzfpT3Ik+GpGLlNxM6XCuWFnkXIkgyBCXSRZBheZAZAWdq3Eu1B50Vjcziz3rD3zxwIff9z8OfoyZ5/AoXo8KAPZ179v/+u7rT5wttvzKC7a9kslNigmd48gbeYIXHmniuJNZ/WuIjV8S4OTAgSi6/9nzB+0dNEdgENhwgo9WiwhCGLEMJMIn2Qhf3oHZy8mX1/ZwCA1BIZXrGLAUPiXgEFcWoDDWM+UgbsmbeQim2Un9k986ctPbP7DregD3PlphPmoAMHNNRLe/8T13vn/D5LMnfuFZsy8ra0Bb7Q8DQiKN7kbFHDnkQBZdNtC/e0vir2e1W7TBw0p2nYzPWZTlRieH31oOtpYXz0vgQNT8Z3vcA4OloGwZGx5Qgga/R5BrOydlRPOUsCxKEboZ4QvfXfjMG//bj98P4Dtr5fvXez2KZ2FFIBhXFf75mj/53vu+/L35z3XyYL7NZIfg49zYgfPncCNVzuxz8JM+7IKcjiZIofOh3ncGwmX8urYkNBA/xe7PXstfL/X5sjw8mQ08RvAKBNLppmhFJC4dk5f5M4h75ODrfYJHSNzVl2ydgAxANyN8+e7lz13z5/e9r6rwz+ule9d7tc4HOO6TiTZOdrIX3fB7573pFy6afVmlNaraTKgzZt1l6ORqHCNpl+oNM2p1OO7GHr0ZcOXiqTrxqCyL5EFsH0ShyFc3J5y6Y83yadRIog6z8VWw9WH/AitqhskQ+uV2NsNPIbCToz7xPsgq5BCUSTplRLjl+0ufueb/2vX+/rj+EjMvPmYZPh4AWBBsyoAXfvB3znn9K567+SqlkJelIXx+eZXz3SL/7x+VpnWYZOmSPmKKNAtyGWZ8oilsmWkKmQZEM4HaYn8kAAh00/5MCEvNOfqpUZ1YVx8edRfAQD7eVXBDpkQuhgi/u3SyB4AtURQZaqbqU99euOm6/7brQzXwdWaef1zye7wAsDe5AcDPvOeNp1117eVbXzPdy6aHYzNW7wXot6XRfs48W/egxXRoaSUCIKzAIcAieIKMQuB/l8JtF3njPta6QV6jgCWLIh/op2W5zSf9pkxuyRaUtwxG0O7ZBWH5tmH91gpYy9ErMqwMeOVDX5v/u9/90N6bAHyDmZcet+yeCACYG6dJAJe88UVbL3vnq3Ze+4zNnTOH49oTPhYrbd30ErLTyPykSe8aZFkOs4adVgN2uZSQhK/Dnh9ztqY0G3vdCRPhowC5QjrUHbSaPW9hMTXbCFzsxI+g+W5wy2BAwY3qyK3v463pFXodhd1Hygf++BMHP/SBry58GcC3mbn/hMjtiQKAbXgHwAXnntz76b9806mvvuTMicsJoFIMk7IWgmQLBQ7DwVqLp2DaocLI91sAuQUZIZ8gXIOP2xN73RbrU1oADTMve6ixT2UsZgGAZNqGm1dPIomrrEXg4Pt9WSJ0MpMiuu2B0Zd/4//Z95F79g9vB3A3M4+fMJk9kQAQQDgdwLPf+6sn/+Irn7fpX22ZVptHY41a1yG6Fy7Amf1A/Jw1CGPFLMw868TEOyviz5dSJGEN4sBRvuJeEJofx58yK9NCDENO2wvcBXiuGY7Q+bVcghDaY0qZvP6RFT76sdsWP/6W6w98DsAdzPzQEy6rJwMA5j5pE4B/cdlPTT3rP1+985cvOqX3/E7B+dAkDaxrsJqtA4uXhC5s1iS4QET0rFCdBXHfXUzZktQJuJDJBUn7zXcj62OQPnEw8ETp320E4LM7Qcjw/l8QPiL0CoWyouquvcNvvvPGQ5/8yj2D7wK48/GSvaccABYEBYCzAZz/9leccMmvXjb78pM35edlxBhXWph/wC26ZG0F6KaU+/SyjRqYwzRlNxJoz/cJJpEpbE38iO9tQvVybBW+zXY6nx+5DZ/OMY/fJZEfjKICu5zKEkIFhU5uRkD2HK1/9N+/tvSZ//MzR28D8EMA9zFziSfp9aQCwF+EaDOA82ansrP+4Mptz7vqp6deumM2P7NQwLjUqOVyKrih3sZivMgCyJ1/WLssYhCIU3wzMYG8MYhIIIRFJ7PDtjUjIquXcIM0qpSpA05yACR4gavQzeuzHKGbZyhrYN+SfuAf7lz9/B9/euHWhdX6fgA/YuajT7psngoAWBAQgJMAnL1tJjvtd35x9uJXPGvDZadsyc6bKKhTaY2ykkzfkT1J7uBzBPJhVf4Rav68xtXR0P+W0E7gJ17EnJ4X/WaBYwt64uen5lpQ+GdhkJlplBP6Ixo/Ml//6Obv9r/y5/+0/L1Dy/UuAPcB2MtPkWCeMgD4CxJlMEA4A8BJb3jhhme+5vlTl5y3vfOs2Qna2S2AWjOq2loGrcNgDALR8xrvxhlaNnz2nG2NFycabeoN/p+THc2ijZbTcICDmXeuwF08sw+gzhRhVAPzA973o7nquzfc2v/2B77R/zGAvQAehBH8o87nPy55PNUA8Bc2vbUdwKkAdpy5tdhx9fMmz/r5cycuPG1r9szZCd4+06Upp+2azZPGNAtTTyaXINm/CyelcKJ8ERxblwQvnEDp/xSb+shCJAEHgewcR/e4WbOCamWM1YU+H9h1tP7xLfeMvn/j7YP7Hzis5wDMAXgYwIGnSuMbcni6ABA1gmgawA4AOwFsLjLMvvyiie3PP6M49bmnFc88aVP2jG6GmYkObZzMMVlkgf0HwQdJeNn4vE6crYtfcoNI1yDEHoO5ca6zSvLMqmb0S/SHFRaHJZYfWdJ7vv1wdd83Hxg//Om7xwfKGgsAjgLYB2COmVee9r7/SQBA1CCiGQCzALYC2AJgBsD0WSeo6Qt2dmZP3Uwbzjkh37ZlmmZmezSTK85nujSNZFgnucsYEQBiSkhYx1MgpJtE/QxeHvNKVaFaGOrlI6u8fO+B+tDDR/XS3XPVwv0H9QqAFQDLAI4AOAxggZmX8RP0+okDQNQ44yZmAEwDmLLv0wAmYWeGw8ijeJqaWMKgo7J/fRihrwBYte/LT5d5P57XTzQA1my0IZIFDAAUHtvMpifiVcEkpSsA5VNN4J6I1/8HBq3Cgi6UwmIAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTUtMDUtMDhUMTE6NTA6NTUrMDA6MDBXfw+IAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE1LTA1LTA4VDExOjUwOjU1KzAwOjAwJiK3NAAAAABJRU5ErkJggg==8.511.01.01.00.50.50.50.5111.01.03.31320.35244.62022.78231.65660.1762-0.03.31320.35241.65660.17621.65660.1762-0.0#FFFFFF#0000000.00.010.00625#ffffff1000.010#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.138888888888888900.00.00.0-1.00.00.0000.00.17623.31320.17621.65660.01.65660.35243.31320.35241.65660.17621.65660.17620.0#ffffff#0000000.00.010.00625#ffffff1000.01111110an image to be used as an application logonullnull[]nullnull0null5solid0nullnullnullnullfitnull100nullnullnullnull[]nullnullnull2.58810.63816.45597.44381.29410.3191-0.02.58810.63811.29410.31911.29410.3191-0.0#FFFFFF#0000000.00.010.00625#ffffff1000.010#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#000000Arial0.138888888888888900.00.00.0-1.00.00.0000.00.319052.58810.319051.294050.01.294050.63812.58810.63811.294050.319051.294050.319050.0#ffffff#0000000.00.010.00625#ffffff1000.01111111contains all the script files required for an application deployment nullnull[]nullnull0null5solid0nullnullnullnullfitnull100nullnullnullnull[]nullnullnull2.66246.8743.66376.8741.00120.03.1636.8740.50060.0-0.00.00.11250.12370.00.00.0-0.00.0125#8080801000.003125221101600.12370.00.00.00.12370.0Reposition Text1000.00.01.00120.0121.10819.72911.10814.01210.05.7171.10816.87060.02.8585-0.00.00.11250.05.01070.00.0-0.00.01875#8080801000.003125221101600.05.01070.00.00.05.0107Reposition Text1000.05.7170.00.0121.10818.39362.16188.41321.0538-0.01961.63498.40340.5269-0.0098-0.00.00.11250.1302-0.01720.00.0-0.00.01875#8080801000.003125221101600.1302-0.01720.00.00.1302-0.0172Reposition Text1000.0-0.01961.05380.0121.03881.03882.45598.43240.51940.5194-0.0#b2b2b2#0000000.00.010.0#0000001000.01100.00.51941.03880.51940.51940.00.51941.03881.03881.03880.51940.51940.51940.51940.01nullnull[]1nullnullnull00solid0nullnullnullnull/imageProxy/cdn3.iconfinder.com/data/icons/vista-general/128/folder.pngnull0100nullnullnull[]nullfolder, open (128x128)nulliconfindernull1.10816.8742.16186.8741.05380.01.63496.8740.52690.0-0.00.00.11250.13020.00.00.0-0.00.01875#8080801000.003125221101600.13020.00.00.00.13020.0Reposition Text1000.00.01.05380.0121.00121.00122.43726.8740.50060.5006-0.0#b2b2b2#0000000.00.010.0#0000001000.01100.00.50061.00120.50060.50060.00.50061.00121.00121.00120.50060.50060.50060.50060.01nullnull[]1nullnullnull00solid0nullnullnullnull/imageProxy/cdn3.iconfinder.com/data/icons/vista-general/128/folder.pngnull100nullnullnull[]nullfolder, open (128x128)nulliconfindernull1.62510.38832.47386.2950.81260.1942-0.01.62510.38830.81260.19420.81260.1942-0.0#8feaea#0000000.00.010.00625#00cccc1000.010#000000Arial0.1666666666666666600.00.00.0-1.00.00.0100.00.194151.62510.194150.812550.00.812550.38831.62510.38830.812550.194150.812550.194150.0#8feaea#0000000.00.010.00625#00cccc1000.01111111Resourcesnullnull[]nullnull0null3solid0nullnullnullnullfitnull0100nullnullnullnull[]nullnullnull1.62510.38422.47387.83630.81260.1921-0.01.62510.38420.81260.19210.81260.1921-0.0#8feaea#0000000.00.010.00625#00cccc1000.010#000000Arial0.1666666666666666600.00.00.0-1.00.00.0100.00.19211.62510.19210.812550.00.812550.38421.62510.38420.812550.19210.812550.19210.0#8feaea#0000000.00.010.00625#00cccc1000.01111111Classesnullnull[]nullnull0null3solid0nullnullnullnullfitnull100nullnullnullnull[]nullnullnull1.10815.27722.10935.27721.00120.01.60875.27720.50060.0-0.00.00.11250.12370.00.00.0-0.00.01875#8080801000.003125221101600.12370.00.00.00.12370.0Reposition Text1000.00.01.00120.0121.00121.00122.41215.33480.50060.5006-0.0#b2b2b2#0000000.00.010.0#0000001000.01100.00.50061.00120.50060.50060.00.50061.00121.00121.00120.50060.50060.50060.50060.01nullnull[]1nullnullnull00solid0nullnullnullnull/imageProxy/cdn3.iconfinder.com/data/icons/vista-general/128/folder.pngnull0100nullnullnull[]nullfolder, open (128x128)nulliconfindernull1.63250.41472.47754.74260.81620.2074-0.01.63250.41470.81620.20740.81620.2074-0.0#8feaea#0000000.00.010.00625#00cccc1000.010#000000Arial0.1666666666666666600.00.00.0-1.00.00.0100.00.207351.63250.207350.816250.00.816250.41471.63250.41470.816250.207350.816250.207350.0#8feaea#0000000.00.010.00625#00cccc1000.01111111UInullnull[]nullnull0null3solid0nullnullnullnullfitnull100nullnullnullnull[]nullnullnull1.10814.05212.66244.05211.55440.01.88524.05210.77720.0-0.00.00.11250.1920.00.00.0-0.00.01875#8080801000.003125221101600.1920.00.00.00.1920.0Reposition Text1000.00.01.55440.0121.48340.34372.66292.30350.74170.1718-0.01.48340.34370.74170.17180.74170.1718-0.0#e6e6e6#0000000.00.010.00625#00cccc1000.010#000000Arial0.138888888888888900.00.00.0-1.00.00.0100.00.171851.48340.171850.74170.00.74170.34371.48340.34370.74170.171850.74170.171850.0#e6e6e6#0000000.00.010.00625#00cccc1000.01111111logo.pngnullnull[]nullnull0null3solid0nullnullnullnullfitnull0100nullnullnullnull[]nullnullnull1.10812.76952.66242.76951.55440.01.88522.76950.77720.0-0.00.00.11250.1920.00.00.0-0.00.01875#8080802000.003125221101600.1920.00.00.00.1920.0Reposition Text1000.00.01.55440.0121.63910.37582.66293.59190.81960.1879-0.01.63910.37580.81960.18790.81960.1879-0.0#e6e6e6#0000000.00.010.00625#00cccc1000.010#000000Arial0.138888888888888900.00.00.0-1.00.00.0100.00.18791.63910.18790.819550.00.819550.37581.63910.37580.819550.18790.819550.18790.0#e6e6e6#0000000.00.010.00625#00cccc1000.01111111manifest.yamlnullnull[]nullnull0null3solid0nullnullnullnullfitnull100nullnullnullnull[]nullnullnull1.36590.3152.66291.09280.68290.1575-0.01.36590.3150.68290.15750.68290.1575-0.0#e6e6e6#0000000.00.010.00625#00cccc1000.010#000000Arial0.138888888888888900.00.00.0-1.00.00.0100.00.15751.36590.15750.682950.00.682950.3151.36590.3150.682950.15750.682950.15750.0#e6e6e6#0000000.00.010.00625#00cccc1000.01111111images.lstnullnull[]nullnull0null3solid0nullnullnullnullfitnull0100nullnullnullnull[]nullnullnull1.10814.09011.10811.56730.02.52271.10812.82870.01.2614-0.00.00.11250.02.21110.00.0-0.00.01875#8080802000.003125221101600.02.21110.00.00.02.2111Reposition Text1000.02.52270.00.0121.10811.54452.58481.54451.47680.01.84641.54450.73840.0-0.00.00.11250.18240.00.00.0-0.00.01875#8080802000.003125221101600.18240.00.00.00.18240.0Reposition Text1000.00.01.47680.0123.66377.3873.66376.36090.01.02613.66376.8740.00.5131-0.00.0125#9999991000.00312522111121111000.01.02610.00.00.01.00.01.0NURBS(1.0,3,1,1,0.0,0.5131,0.0,1.0,0.0,0.5131,0.0,1.0)3.66377.3874.66497.3871.00120.04.16437.3870.50060.0-0.00.00.11250.12370.00.00.0-0.00.0125#8080801000.003125221101600.12370.00.00.00.12370.0Reposition Text1000.00.01.00120.0123.66376.36094.66496.36091.00120.04.16436.36090.50060.0-0.00.00.11250.12370.00.00.0-0.00.0125#8080801000.003125221101600.12370.00.00.00.12370.0Reposition Text1000.00.01.00120.0120.75090.75094.797.3870.37550.3755-0.0#b2b2b2#0000000.00.010.0#0000001000.01100.00.375450.75090.375450.375450.00.375450.75090.75090.75090.375450.375450.375450.375450.01nullnull[]1nullnullnull00solid0nullnullnullnull/imageProxy/cdn3.iconfinder.com/data/icons/vista-general/128/folder.pngnull0100nullnullnull[]nullfolder, open (128x128)nulliconfindernull2.24610.38194.85175.90311.12310.191-0.02.24610.38191.12310.1911.12310.191-0.0#f7f4f4#0000000.00.010.00625#00cccc1000.010#000000Arial0.138888888888888900.00.00.0-1.00.00.0100.00.190952.24610.190951.123050.01.123050.38192.24610.38191.123050.190951.123050.190950.0#f7f4f4#0000000.00.010.00625#00cccc1000.01111111execution_plan.templatenullnull[]nullnull0null3solid0nullnullnullnullfitnull0100nullnullnullnull[]nullnullnull1.59750.39814.85176.87340.79880.199-0.01.59750.39810.79880.1990.79880.199-0.0#96f8f8#0000000.00.010.00625#00cccc1000.010#000000Arial0.138888888888888900.00.00.0-1.00.00.0100.00.199051.59750.199050.798750.00.798750.39811.59750.39810.798750.199050.798750.199050.0#96f8f8#0000000.00.010.00625#00cccc1000.01111111scriptsnullnull[]nullnull0null3solid0nullnullnullnullfitnull0100nullnullnullnull[]nullnullnull3.79560.35264.79558.67151.89780.1763-0.03.79560.35261.89780.17631.89780.1763-0.0#FFFFFF#0000000.00.010.0#8080801000.010#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.138888888888888900.00.00.0-1.00.00.0000.00.17633.79560.17631.89780.01.89780.35263.79560.35261.89780.17631.89780.17630.0#FFFFFF#0000000.00.010.0#8080801000.01111110contains MuranoPL class definitions (*.yaml files)nullnull[]nullnull0null5solid0nullnullnullnullfitnull100nullnullnullnull[]nullnullnull3.06660.35514.43335.44741.53330.1776-0.03.06660.35511.53330.17761.53330.1776-0.0#FFFFFF#0000000.00.010.00625#ffffff1000.010#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.138888888888888900.00.00.0-1.00.00.0000.00.177553.06660.177551.53330.01.53330.35513.06660.35511.53330.177551.53330.177550.0#ffffff#0000000.00.010.00625#ffffff1000.01111110contains dynamic UI yaml definitionsnullnull[]nullnull0null5solid0nullnullnullnullfitnull0100nullnullnullnull[]nullnullnull3.62940.34634.77844.06911.81470.1732-0.03.62940.34631.81470.17321.81470.1732-0.0#FFFFFF#0000000.00.010.00625#ffffff1000.010#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.138888888888888900.00.00.0-1.00.00.0000.00.173153.62940.173151.81470.01.81470.34633.62940.34631.81470.173151.81470.173150.0#ffffff#0000000.00.010.00625#ffffff1000.01111110an application entry point. The file name is fixed. nullnull[]nullnull0null5solid0nullnullnullnullfitnull0100nullnullnullnull[]nullnullnull1.82380.36743.88811.60260.91190.1837-0.01.82380.36740.91190.18370.91190.1837-0.0#FFFFFF#0000000.00.010.00625#ffffff1000.010#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.13888888888888890#4d4d4dArial0.138888888888888900.00.00.0-1.00.00.0000.00.18371.82380.18370.91190.00.91190.36741.82380.36740.91190.18370.91190.18370.0#ffffff#0000000.00.010.00625#ffffff1000.01111110lists images if requirednullnull[]nullnull0null5solid0nullnullnullnullfitnull0100nullnullnullnull[]nullnullnull0.4380.4384.85266.36090.2190.219-0.0#b2b2b2#0000000.00.010.0#0000001000.01100.00.2190.4380.2190.2190.00.2190.4380.4380.4380.2190.2190.2190.2190.01nullnull[]1nullnullnull00solid0nullnullnullnull/imageProxy/cdn4.iconfinder.com/data/icons/Basic_set2_Png/64/document.pngnull100nullnullnull[]nulldocument, file, paper (64x64)nulliconfindernull0.49750.49752.66562.76160.24870.2487-0.0#b2b2b2#0000000.00.010.0#0000001000.01100.00.248750.49750.248750.248750.00.248750.49750.49750.49750.248750.248750.248750.248750.01nullnull[]1nullnullnull00solid0nullnullnullnull/imageProxy/cdn4.iconfinder.com/data/icons/Basic_set2_Png/64/document.pngnull0100nullnullnull[]nulldocument, file, paper (64x64)nulliconfindernull0.49750.49752.66564.07190.24870.2487-0.0#b2b2b2#0000000.00.010.0#0000001000.01100.00.248750.49750.248750.248750.00.248750.49750.49750.49750.248750.248750.248750.248750.01nullnull[]1nullnullnull00solid0nullnullnullnull/imageProxy/cdn4.iconfinder.com/data/icons/Basic_set2_Png/64/document.pngnull100nullnullnull[]nulldocument, file, paper (64x64)nulliconfindernull0.49750.49752.66241.54450.24870.2487-0.0#b2b2b2#0000000.00.010.0#0000001000.01100.00.248750.49750.248750.248750.00.248750.49750.49750.49750.248750.248750.248750.248750.01nullnull[]1nullnullnull00solid0nullnullnullnull/imageProxy/cdn4.iconfinder.com/data/icons/Basic_set2_Png/64/document.pngnull100nullnullnull[]nulldocument, file, paper (64x64)nulliconfindernull0.96610.96611.10819.51690.48310.4831-0.0#b2b2b2#0000000.00.010.0#0000001000.01100.00.483050.96610.483050.483050.00.483050.96610.96610.96610.483050.483050.483050.483050.01nullnull[]1nullnullnull00solid0nullnullnullnullhttps://cdn2.iconfinder.com/data/icons/Qetto___icons_by_ampeross-d4njobq/128/zip (2).pngnull100nullnullnull[]nullzip (128x128)nulliconfindernullmurano-9.0.0/doc/source/admin/appdev-guide/figures/chef_server.png0000664000175000017500000010147313656750211025233 0ustar zuulzuul00000000000000‰PNG  IHDR;jsŽ ÃsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ}XwÞ/þ7’LHM´$@I\"–‡ŠªE¡¢®X(` ZhxÛ-z~âîÙs¡÷Ya÷ιw+^·Ò»®p,²*ЊT”V……ŠRr‹K ŸH¬‰ÔD!“¿?Ê£ÝíŠúyý£Lf&3ß óæóïLlzzzlll@È“Ðßßß×××ÛÛÛÛÛ˲¬ÉdºvíZPPµ !d´IÔ„B(±!„J,B!”X„BÈÄ©©©¡V OµÞÞ^³ÙÜ××GMAÈ3žX!!!4V<)cŽ|ܸ2™LÔ’„<¨W<ÝÌf35!”X„<¨3J,B!„‹B¡Ä"„B‰E!„PbB!”X„B(±!„J,B!„‹B%!OÓÅmo¿ñFDƹõ@BSó¶·#6ž3AUøÞ/ÖÔkamÍᳺ¡+ùç3«ýßíÇÚ<“ábŶõïE¼ñÆo¼ñFÄ{vÔh´-&Õ‰Šsãï©îÄš_¼wHûoz·ò/[þSþ€íªÝž>Ä–Eg5ô˜.J,Bža†ÆÂZÁ›oŠê ë ÿÈz\—ï:°5DøXU»·ðÄ ÀóMÙw }6ï'¬Ž¿_Á˯Ú?0sw¬]sÉ#ùãÏ¿úÛß¾:°u… vÓêM'tã. >œWØ¢ÿ©ŒY+×ò_uH‹¾¸ôwÙÙÙÙÙÙ¿ÿm¤£ò‹}'(³žœÇýH]øtãžÖ!ì}Æ®\4ƒÿ¨+¸~8ûϵÝÞ«ÿðÁLîã¼óí 5µ]îK‚¦q騑ˆ®¾°ÞyÅžUÌÕ…µºp1è*þmeaÀrKõj½þë±jËæžBUừk-5Ö«õz=²%=ÜõÞŠTÅkW×$¾;DÝÙÝ™9e-z#DsV¥oN˜-„¡ùPvöÞú, ðx3uˆ¦fãÚÜKz¤½cÕÖdÕ¯Óô›?ÏšÍ3©*r²ójÕ`A@Bzú _æâ¶•iú„L͉K7nè™9©[3K`8·;3»¬Å€qNÞœî::òº”J‹ËrÇüžhåëmݵ~®5$¾Ë2>U´ˆ÷v…D>ËÓ·¬™m<œöëâF¬}·9uWÖœ#÷K<ìÏs…™9…-z`<¥¤o‘¦‹‡27åÕ"—à„€ÆÜÆUŸï^,XçÕ|ŸÅöz ùN>²éœ–ŽíUÿ7·eÖÏqö¿-‹?Zl§©-þkõƒàØ{ýâ—Ë}®íúoæþný\!ÌêCY»þî¾ê÷ï{qÑÝüIÖq¯”Ÿ«ÅýZÙevÓç®xÿMw>Ìíòâ¿SvY;‰,2.ÒWH¿=Ogå8káÂ… ÏrAGsÅîüoo?ê’\§ w–H3xô ee§Îhºé‘¶¶Pí“°H" N¸qèä`WÃ°ê“Æe[þò—Ï|¼ìFnf™ ¶¥V¸êã¿|vpß–€Æœì“cÕ!ºŠÌM']Ò|ýõßö­b÷nÊ9g0]Ü›™«ßõå×_½oŽeçž3 C6oˆÞܺoÇ çû¹·wSNKÀ–G¿øâóWèó6å6›úúQòŽ¿|vp_ª¨6·ð¢ ª²œbãª}G=úùÇËØšZõy]WÿÞí"“<à÷ËpéÄ%ÁœeÃN¿’ðžBÀt.7³«ö|ýõ×_îZ¦ßŸ¹÷¢I²lKº㜼ë`ÖbÁû5tÝ5Ù› ±jÏÑ£_=ê\›™yX ¨Š3s/-úøË£_ìK÷¬)S³ã‡Ê‡‡Ãu·ÿýì5;¯ŸK¸—õ\Sò#÷ÇõÁöfuùÞã†9¿Ú¸yóæï»«¿Ø{Â0ýUû®fu7€®+×ì$Ms‡0kÿ®xy ®–—_™þþÆÍ›7ÿñ£HG\i€Y]þ__h½ÞÿÝæÍ›·Â±ù¯ûÎvÑoÏÓVc ,% Z1ƒ Àìmùýžæ+gÔÝÂ²ì ˜í­)k@xúïñ/Ÿ÷A&ÕáCÆ9és„V7º½ÞÓZ©ˆ-óà¹Ì™#Ê«¹¤Kðà²l‘'€ÐgqsìÄ%Ó"Á¨^ÆÃ-¢E©³…$á[?†PÈÃú}_xBÉœçÜ7Œ€`Œ­¯U;¯Xæ+Às]´Â#7÷„š ŸÁ¸¸Œ7ô€‡HuÅ¡.Ëæøº.ËÈ3Ž®È»LÐ1`õF|DcwHòfg|þ¹‰7Ð ¢½êá}<ϱöë^ï᥊zÌÙjÝnaÀŠE‚µ-†`ö„ÚyQ¸/€ë›«æäÕßë­J¥ÅåmLJ~|nÿôãÿx¾½Êkðtðâ«?wá[;•=’H™×eþ|Çoê¯ØüÒËî›–³¯ýÕ¸Ï÷Õ~sÅÇî5Ç=Α ¡QùÍY%gÖËRßwþÍ0k¾né‘D.páà»ÏŸ+È•_1Ì•Q™õ&ÖМÏ,°ÃùÊöÀðoo¾¾îÓÝj;÷… ]ºÊJÏî¶Ø§¯”­›¬³ø¾»n!¿¡° ìÓéÆ÷[ówW\{xBˆðòуg ?µûÍo"ƒ5{j»ìƒ‚fP\M”¼º~4· +lMR€Ìíu»ÏH׬‹pš¸™ej.<¦¾¡_»äØàÁ¡–ä³yD`=óê,0Ñ`Î {ƒ] õF–‘0ƒçt¡Lª“y¹‡o°X½šugƒŒ*#î¿#Õ0`˜ÁUü+ß² {÷Ê|?ó†À':9=eT¯`·ZÞá(syàï#0zµÞ×±BËÐ|,7ïp‹žÀÞÐ#`ä?h¿X½že|w†'Øz£‘eYF  Nô0c%V—òïÝ’7%ÿ켸ôwÿ+ÔÞZd5ûlWn×Ú”7ù‡/ØïcG(<¹Ù íÐ}Óüâ«î(¾Òepl68{½Š¯© ¾†+—7%\.÷íÿ¹ê›cUåÿõe‡ÅÑsþÛ+ÞœÞcì±\+ÎÊü‚Kì Ý%ÖÓ˜X=†.½žƒîöÆ£=€£¯ Ö;ǰ„•!"@²P 8†­Œ®œææ=­ŠuÌJ»{+¹}ùŒ°_ñš«ì#\Î6רô¾5W,G‡Lãúºˆ¼¯tóù\'¡”tñ¥.®NXwÚ²–äïÞ5 ¾–†‚ݧìb&t\ Œ¹HÞ÷EÂàÅ(í¡[]Xo˜€5j&€˜ŒZ#°F½qàá>BG€óŠÚ‹&À¤:¶·Þ8Æ6u«Ïv8ÊÜ/Ìå7õvRéðˆæ:ʼì´Õòv3€nõ7g»îeþôW;ªª¯ð}\„àK}ùêêo´ö2>Ð^ûÉŽ¢ó] tt²·,\G™Ýµj¹Æ ÀÜÕüù¾Cç ôÿ”ÖXÒ…ï.”rÁ±:I]œ¦p 0åXÓ…+tä=†fŠ‹¡ÝØÙ ‡¾Ÿ#è²^óAÐÀŽÃr.Ÿºº;z̘Â5ë Í]|÷À*Å'thqžáGLð¸´' [œÃS]‡N“‡»äžÔÎqž#8œö^¶ú†^²e¹+ `ì]û^ˬ(8uË"10ªOK¾eóÅÌœ•¿ØÄÂ9`ù–-sÅŒsòœ´ì•¹"geÉ©ñ—Òrá²'uñÁ¦´wÞÞ¶qpa×å[Óµ™›Þ‰`ÆyNÊÖ_.ŽY­Z᜙öÖ^–aÀ8$o~S2üÞ!Ws¼<|èÏwÍ®=®y¹{ÓVfFäœðñž³…Àœ”Ui›Þy[ä,òY‘’})-{í6ç= ásØìµoµ$ïÚ<Ö~m ÜÆô-êìœÕ9Ñ[6‡‹ñªôøK™kß*8{,Z±È¹±eTöËWÍwÀwŸeó ƒ—»€`º;¾øFø–»€“ì^ÊC;þw±à$¯.ß‹ËEäªÈââ½Y',°@øò‚·½è4ôÄÙôôôØØØ<ú5>ݸ§•3kÍÞ›1¼ò1_/Éþó™nß5HšÁ ¯ÉÍ.SsÜ®\èbh(+;ßeü›´eNí÷G·êr³KÕÂY1ï†ØwÕTœÒØ/ü É÷ò®?¼ÂqOX(º\QX«¾¾.=Ö©9÷÷…j;ïè•K|½]©èzVô÷÷÷õõõööööö²,k2™®]»ôèk¸{÷î?§ü:±fåÞÅûFô²© ß¿NþI.îxwí¥ÔÏwÌ¥6%ÿ¢^ÁGúÓ;äƒ5á¾öšS…{ ʚ᜸&bĽT¢ Ä5 ½9Í¥{vî)½Â™±0"P„)¯%­Yè-TWì)¬5¸¾»&Ú• ¾{È,!zZ˽L#Ü yªj6D¼Q£`8w¸Vï²Ø…âŠü+j¬ؾƒ˜PE5ÖSK{"kSÎI5 \%oI —ð¨QÈ„O¬îë•……µv³Öýþ=WJ,J¬ “X„‰ï_û\A³ªâ@mìÜäW„B&pEÕX„§¢Æ"„B(±!„PbB!”X„B%y.>Á“è3L%!O.—î“ „‹§­­-Ç£J‹ç‡š€<¡ekkKí@ÕX„B%!„B‰E!„‹By8555Ô „Bž‚Ä ¡g·“'eÌg·S³BÆD½‚„B(±!„J,B!”X„B%!„B‰E!„‹B¡Ä"„B(±!„PbB!”X„B%!„J,B!db&–¾æ?ÒÒÒÒÒ²Ž¶?pŽ?5v?ÊêÌ—óÓÓÒþPrÝL‡„BÈ?3±Úk:À±ç «¡îŸ‘2\é’ÄÄÄwCD\:$„BÆÄù1 ™ÛÎtÁ~aLHëž²óg4±®Üêä—ï°p}CfXîåÛɬ­ï˜Ω£Í]{ߘą–ŠÂ²Ö.Øû¾»&é5‘YóUAA3ÿõߤÇrk²¶V¼ßÖmÐôpìgŬYùEÙ„dî6sùÜM „'Zc™ÛëºàòúŒYÁ.04žÑ TYú3ù¥ç;8Þ቉aN—ºîÅ"—XZO]žh®æÒ…­îï¾îˆ®æÒ²ËÊ´™+… W¾ûº£¥ë|iéån:R1¯®Íݚߨ¿ÿ¹ø4{÷WíÔ³K™05–YSÛ`€c  º-Ò)Ê5ê×\ܾÜÐØ†‡øMãz U ®5 YÎþõˆ'½áTCY‡0 :$À©»»öL©¦½½.#ßÄ>06"À î–Ú3…šv3ùt°&î´e,Éß½;k|- »OÙŬ‹pz%–étÊüõuã¿Î$7/ÿÐÐØÈ0;Bž“Ä2«k=@ϩ٧&5×\îž1“ßcèÀwrp…NB`hb EB;.¾£°ð9`±Œ~¡T|;;è¡5A‰^KZƒüÝ;ÿTi¶HW®{ÏoÊÄÜNÖ¨U)´*EuùÎÙºœmI2!”èCÌ%My^‰yy)ÃÀ›Z?Ù8W’˜¼ýï¿êí/ ŒÝŸ¼|»0Vgl—É’ qÐ<ñN•h­l3…I˜”•M¿e©œmªVš–ÝS[e âÐ äŸ”ë€ ÚRœ»ô~ߣl^hT|â錄õå:èJwV}˜7øjçñ̸’ÄìØ»qžÃÐí=ž¿©Ú]yfNlY†?Ý¢F(±ù—ÓUå³âa“ :V)¯’«XÈÖån‹·+̨Ôùm.Ly¿–IQPbM;qLV꨻¹xnñ늖ïÔÆÊON§ç-‚ç*UalªÒÂßmH W°Ü–†±¥r%+¯j3Ɇ\ÊÒÊåÖrJ6P ”kO¤W˜ÌaÔ&;Ì[·y°/·û…c[ù'u,Hⶥεtizzyݦ:ºÊOêRsC©Ì"”X„ü«åE;åã¼&ð‹LMOò~`AÁ,ø0tÔ Þ¤Ú–äý°}{QE(±™x3¬¢JcšçýHçjF,tXí@‡ßX…˜aðABáý˜ “1åÕ,”•*ÓRÞÀ¨ Ækð~0ž[˜7*åPV) ±R¡Aaí3È–ŽÝM't“E%É¢’6ÂÔÙ*¯®,?R^©ÐÐUg'g»gÈ„CË=0Þ2ª Ï ê$φ8›ŒÆG-ÍÄÞãtmºñf2髱—ø^FýÃüÁ'Žªð »7¼CèµÀšªÚL0µU5Æ Ž¿QÞóbS²ò—m‹´n®ü“1%B7é`6þB‰EÈÄÆjUºÁ<êBb/?k(°Êq¡«=m1÷ÐñyBë€A\¡3 Œª„y¡X6O À(¯Òš/bÝ&ø¤¡©ɬÿm“ëLÖÄ rµNQV6Ñ×þJ,BžJšÊüÛµ0P}t=ãd7]e‘b¬0µ–”[O0²ÈazRY˜Úª”mÖ@ ^IJ®Û-È ­kjk’káÃCSIÖÆäøØøœ¦ñFHðFþG;Yò‚#š1—1œÞŸšµŸcO(±™p ­G6&g+J›È㋈yþIZï­2–gäÊGf–¡içÆ"ké&‰¹^IP«qiXêòž=ÿ°1† ½ã󎇞./*¯”7µÞû2Ië7:Ê¢â£BÝFïOº4ëˆ,îxQQi•¼éÞ×@ $^þA‘±c/CÈFßAL&\býˆï &„<hä!„J,B!„‹B%!„B‰E!„PbB¡Ä"„B(±!„J,B!”X„B%!„B‰E!äùI,ó…OÓÒÒÒ?»l1ýúá?¤¥¥zÁüØ›pûBÍѺëfèV䦥¥ýG~ÄtB!äÉ×Xú†²²Sg4ÝÀw‰NLHŒõŽ˜N!„üCßAÜ­:YXøUk—ÅNä8´lR.,k¸ÒÕ;é¬è„•¯9qÍ>ýýžVû… ~š²S­ع,Lú` ü~w³ÀÁ?¦IüÃ(+(T;F§Å^þÓ½éu76t{'þþ?>p»1÷…jû…i#œèø=aæn3—Ï}ÐB™5–ùzeAEkVÌê„`Žâ¼að…ö£» j¯ aݺw½ ç~zôºNMൠIDATàrtÔTê½cýízÔ§œêr‰H ¶`œ¸nå þ½:ý—²àYö°\nPuèÖ4hÇ×)®ž|^]?š»5¿Q?øc{ݧٻ¿j§Ž\BÈ„K¬®Öfà¸$"hæÌ×¢c}˵ö†Æ@ºdI€«ëkÁŽè:fð,Æ™âç²$@tiôp’JùøRW'þýus‡NŸ2-èuGX.7hÌ0kT8P`=yÜiË>X‚£»óõfs{]ÁîSv1«#œ¨Ä"„ü4~|¯ ¹»£€Ph ¡“ÍænC7ÍÁ?¦œWÓeøöö\>Ÿà‘ÿw ‘V”¶6hº9Wz ðÑ¡›D¯%­Aþîª4[¤+×½ç7…Ú„2ñ‹Ëòƒ¡àúvÃàtG>Ð#^—à=P5qììùPÿC'Fß`—Òƒ­gv— p §Àš`¡Å=z†AqEùIý½‚ö¾ÞB ã«²…¢®´¬Õ2Xù8šº¡»]Q–ÿiáQõø#þ¸\ýùó •Þ<þô)~ ½9††²Ú.¸‡xÓ™q‚…V@Å!d"'×5"q¡»ÐÐ\Vp hXÌà´äƒÄ`wKCáî_µ ½—D< bøî!³„èi-;pôr÷¦óg{sÐŽ7!„<—lzzzlllž‚-5_?œýçÚnßÕ¿OšÉ§÷ŒèïïïëëëíííííeYÖd2]»v-((ˆZ†2çiØÈîëZ¯œ¯¬5À~á’W„B‰5Q«+ÃùÒÂS]°÷Žþ`É4;M!ϧ§§W<‹¨WòèèÙí„B(±!O#Óé”ÀÀÀÀø#ºD[~T```hF“‰Zü”8Ôä©§Ù½]5æKŒØÕ_“˜´Ô[øLïºßæcùQôY Tcòtˆ%È «SÉ+ 6%,O=Þ9á·ßÔš³4p^ªüÑ •¶’¢¤VUk~äÛŽ'Æî¿¿8o^nCCCÃþGO@·¤# Uþ¼{QZ˜tÜ@ŸJB5!cðK/Î_:²’êlÚŸ½a{µ®zÓ¦#²¼‰]…”MºÇK¸ýåZÀ+&LWZ©Ü_Ù›äö#r²MÞþÉ»ÒV¥„ô¡$Tcòèü㳶ňÈ|ò/*±´um5¿¢ RøÅ%%†‰Uɑ֗“ Ý?}_tò6–>|„‹ÇÅóZêÇÐ4é†ö·Z䤯/•´1ÿ´ft‡\gSIVJìÀl¡±ÉY%M#ººLšÓû3’cC­+š·4>%çHëÐy Ç“Æ%äû7& ¬kÞÒøû×Õ–8U¥`«“ç.Íi}Hç A¾¿ÊøÅI½##%€¶¼dì‘ãî‚átr`à›ÙJªíÑIU†a#/Lò¡ãŒ©è<’_¢>ò¢³$>0py€bÓÂÀÀÀy¿Ýÿ¿Æ[‰¡*90pxŸ$!”Xä¹fb€Ç 9ÝVm\žYT­4Id ÂÂÈ„:EåÎõË“÷· =«jޤ._•]Z§‚ÄO&ós…J^š½jùƪ{ÅL­ùÉË×o/—«„~AaaaAn&e]QfÂòŒûó€¬NžŸüI›4ìÃ>JŒ 딕ÛW%[ÏÕYlL˜â È˜˜˜¸ 1ïûÔyº šübƒï¨X  «,RŒÊ„í#Œ‹ ’ãåÆ O{¿ØyÀXwD9bÍu% ^± ¤#ÿ@ˆŒ‹” ¬{÷æ¼÷ÂÄ€±jÔæä%M¼âC¥ô)%€®c‘gžAQÞÄp“¹ „@çñÌ•:lÞŸ%µN44å&­*PlO-™Wï6PEdfV!‰Ù±ãZ7ätí ó Uh~Ä€:Me¾`‚âæ †44Þ `ëŠäC×öð]x(žWl¨ÐU–­>;åÖÀŠ z¤±,<ïØ8W€­Ö¥jh*‘³÷S—ª±ÈóC±=>ö“¡Z¬Q§Õ^‰¹éƒ¡bhªTðŠ”9Œ87Gɘòj\i€7†¦*·0?á°soÊþã)µHk•Ü‚Â܆×DAa®P¨ZëÚLKïøv]à?ì ybkÑc0=ö¨:ë¨v&(î~PJÄùeg*êò«:C‡D>|5²ÊËuU•ÚTo·ÁÀ*Uà±²Æ-,Ökçve]‘Ü0/T8$°†¤.!M¬ššjòlÐiU£G½IÄ%%%Æ Rš’ìÔªáó•,]“ÎåÀÓiu±xü4ѵéå;7¦ÎjµŒm÷K8rMÖte{P©µ¤\ Bã‡TvpŠ“a“\QT­‰Š•4ÈCwáÑ#K[YÕ–b>ß)/•ʼnܟrÐ'f0A;NåÎ{À¹Ü:ËŽ±‡a„ຮ¸äÇܺû#äù•Ö®NJ5ÖTª’’¶¤·{{ú ]xÔÈŠZ .-U©Ò$ÅKKû˜Å‘ü¸ F^§(ªë\%T–ÈY"ã©Â"F^gÏ;)#R ¨ 2KÚ†L»I°Ö.³ñYgƒ¦mäl&“Éd2YgÐ)uÿÂÀäEu, I,níÔŽ  -ßßjzÄ]xä*kP•×i`—ÈG\C{DBYR¨P”Ôu%§‡ÅúñèƒJ(± ”­K_ÀÊíÙGîߢ*ô ó  é4ÕE ®±anc'‹_\˜0VæË ´ ƒo«SjM‰¬01 ,/)ibGúcWVªY«ÅE‰ENvµ’ÈXo ,òXè:yÆI#3÷//PÕeo?=oàŽ^‡¥›³êVm(¯Ë^¾p¿,ÈM ¶MQ§ÔŒ,=#lðvV‡¨¬Í•ñ™uu™Ë~âå/e4M - ˆÃ2>²ž°yÞë¶}Ô´j»¢tý›Õ^A~n «k“ËU,à“•âÿX'd¡—ŸJ2;!þˆ„qKÊÍ™ m•ùJ^ñaãÝrËóŠ —é†‘?Â.Hdn(W+S–k¼ÄÂÐômc_“ã¹E†‰‹ŠäEu€àa½y<©Ìu*mAR¬ÜM(ŽÍʉ²n0Ï;6RRT 5Ž[&B5yŽñÜ>̈ÆÊÌœ{·×:„fì/Ü·ÀK¨•WWWV×)M®²˜ô¼²¼Ø¡÷VI£r‹ó>Šô“0Z¥\®Ð2®²˜ô½ÅY¡÷ò¼ãóÊò>Š”¹š”uÕ•Õur­ÐoAâ–âý÷:Ï;esœŸÐ)JËŒšÁÔZR¤Å˜šº–ØH ÀÖY˾‡î‚CXFú V«P´ÀãÛŽ‘ab€ 4îa—ŸÜb3Ö‰£J¡Ð²Ã_‰sŃÊDBÆgsí{z%™X~6MBðÌ2µfE'”êè( ÕX„‰­³jg¹Ì‚C)®%!d×Wû7eÖ±Ä}H·a‘ƒF^B~j†Ó9EMmr…Š\³>¤A‚„‹21‹+]Sux…}˜žïOyE~yA&yA]Ç"„òtø±½‚·¾Ý“wBL™û«äâ·Žž‹ÿ/÷shÑÚÕ“Õ¥:pÉnVâÚ°—k“n]<ÓbyåµW¦r6Iò¾XB¡Ä²Ò}× ‡íÛÞÛŠsíóáô^ã8Í}Û¢©·"Ëu•ktrzí•©Àd¯%ïL6ñ\(®!„ë^Pè·0åõ°À+Å'¿kl “r@W—·§ú¶äõ9vßɯÞêµÍ [î?•3Îô¡klÿ¦ä keÇéÑÔU=sIo&Kü‡‡ùˆ9°üp®âHÕ½ à9ÎüET„ÿä«ÿ/÷s €¶âmÛ=â×/þá«ÏïÕXÆ«Õ_žl¼ª7<‘[À/"¸O†åê¡?_:'Ê«ýä™¶;àI^{E¨‹î\©:Zy®í¶ °2}vXÔ/^ÐgƒB&–sË¢;§¸ Qàìé3_“àÎ…Æ,ñÇáÐ6ÝžøÞR7ŽþBÅa…qüéc2¶|QT}éÖKoDÅ„ÏâieÅÕ?X,?œ,>~A?uÎò÷#gÙu\øò‹†[vÓ—FΜ Àñwß[,å Í¿ê}Åg¯öL_ðöòè7¤wÚÎükµÎØÚÐË¿¹õrXÌ/óLÚ3gu°¨O9ÓÖëþË÷WFÍæiŽžT÷ÐGƒBžþËÒ.oº ‘Ÿ¦^§™N8u±Ac™æroM¢À7ü§MÅKó=«Úš Úž§±§Ïkíw®6\ëÅ ²Å²W^âxJ§¸«M<;pxs—¯ àL‰˜üò çoinY^wqšÊ0ÙÉÅi*·îmàŠ[€KXD§àÔûÝ~ÙñÝ9ýüP€íôK=í,“¯4\m¼Ý~ËŽÅX~Pkô¯¼üú{©¿ !ÿÍx¥ZÞ°Àg*5!d%–E#¿hLõŸíª˜¤”«{\ܯñ¦ò€Ã›l˜zîXÆ>yŒÕ÷èï˜ì4™€#pñô±žÛŸThn÷ÌfÛkMú;oêdëÎÙMžl‹Ž;·Ë&»©S88<; Àq ‹¸SÙØü·/›ÿØŠ|£ã#<©[ðÑãJyä³/Û9œ :ü2†B‹2a«GýíE¦ø-]ä9Ùúóß*®ÊÕ=î^‘u§ý|ì`±f„ÝäÁ·oúpv"“Þd€c¹uQ¡¼Ås™É«=r^ƒéoýÛ ÿ©í_þçgM–m#O4×îܺe”ôÜºÓ LOÀdÏ7ßó|ÓbÔi®žû[eCóÑê€ÿï-)•ZWÇ{^ÿ‰~œ eûÿZJ¡E™(‰ÕsM~¥SgÎí90¦ý¥[gN]m¸jôzÅ:áö¹¯ªæ:iª/˜©ŸÄ½ãL׎/¿6_^k8.—¾>E]U.oaÖû3ÝM½€­¥çN»RQ}ÅàÖíF—É<[튦«“=_¾7FóR€ßÔógÕ'~Ë ˜¬—WuŽþbÎ8‰uëÛÏ>=¡wY5ß…7Y<™ðx”VVp몋÷¼ÿN€˜øÅÄ£tñ qââ—&~ö÷÷ß¾}›eY³ÙÜ××G“¥I“&q¹\†a¦L™bccóÓ$VZ~µ“_~åþ_ÑS_ö›zêojùUã+.§Ù]õçgoõòD¾aËü¸Â4júØ£þoÿRwäè·ûü 0Yâ÷Vøâi,^øòÁSWO8ääÉ+-¿T}ä¬ûê€×¦Ÿ=~íÂñ#–©ÿsñýrZðþÛ–/O6žøâÀy¼(Æ)̦Î[¬9ú͉âÏà§W–„‡:Qd=ÒÇG<ÿ—k9v÷kª_̯<,œ‰ßxwïÞíêê²~S.GÏ "ä èëëcYöúõë"‘è…^x”Eþ©Oiï^º·—<ŽŸú)MF£ñÎ;\.wÒ¤I“&M²±±yô?ñ!ÿ¬NŽþþþ¾¾¾þþ~–e_xá¡ðáô§R‚<_îܹs÷î]†a8Ž5®¨My‚¹eí“¿{÷®­­íC+-z® y¾z!¬\.×ÖÖ–âŠ'ËÆÆÆÖÖ–Ãáðx<½^ßßßÿùéÙíd¢ùézoÞ¼i6›íììlmm© ™8z{{{zz†™:u*ÕX„€Ùl¶µµ4‰>ö„L,Ö‹Ê,Ë>d6j)ò\%]»"d²všÍfJ,BôõõQ !“­­íCÄ"ÏÝŸrÔ„<¥¿›”X„Bž”X„B(±!„J,B!”X„B%!„B‰E!„‹Byò8¾k¦V ÊOýýX„§5±BBBè)äI±~;Nooooo/˲&“éÚµkÔ,„1Q¯ !„J,B!䟇CM@ùgÑ;¼·ðPm£ZÏ8û,Z±*a±§LÍשּׂóñ—³y»bmEFZÎI5ËÌÙúå¶¹#7©NäåÖÖ_ºÁ#rñ™³"9e™¯ %!„ŒbhÞýëµû/1.ÁÑÉ ¾Îè›ÏV”íÏ\}¬fËžŒñ?°jÓÅCy'Õ¢è-[Vx¸ŒJ;Õ¡µïç^rY”œžà"bXý¥ÆÃ{órÖ¶h÷ìYãÉ£#C‰E!ÃòêlvÚþK¢E›÷d, §ÅË·­þuYfÎâϳB˜¿v£ž°xާ+oŒ4+¼Ÿô3Âß×Ówîцµ{[êo˜ÆX‚PbBžgÚ“yµF&xKêâáµ”pvÊÇ»–ÁÃS˜€±åpFnÞÉKF@ä²yÃâ» +rs÷žl¼ÁŒs@trzòb ÏtqÇÊÕÅz'½ä$¶|¹#dXg˲ÀÈ/[‡o;>$OÏÊÉ+¬mѳ€ÀeNtJúš¹b0œXóV&›²5¼&;·¿Xnÿuñø}׸Þ[²fÃ;›Z‚?þ°%•ÉË>¦öØüùîÅbúLühä!䯰.¸&`YÀè G<‰¯§ä~clÌË=ç›üñ¾}»6/µ”efŸÐY3ïpÚêìcÆ9©»|~`Oz°±8suöYxžÉûl fÀo9ðå—[BF¼Ï%<èNd®Î,V{$¼ïÀ=[V0'³×¦Uh€†±1¯]¶eמô9WTcò,êïïCÏ-tëq··Õý·®ÙÜù¡¿ç&zMèïï·elxSm&;ö fó¢^p_»©6¶ÌÄÚ ½ZˆÞºÂê³—Xx„ûïWe!‚âúµi ±>¢×ÄÁ+y²ââOO@×x¨ÎÉËáhlØ7:Dò  Däã#ÀI5+ru¬¨L:­‘yh ¡fÃ;›ê=Rì^6,Ûô—n"xÎs=˜²Ká|» Z-+’Œ“4€Á‚_מht­oAÀæaBgä©"WWñý Ô31%!ϚΠ}gwàúX;‘œü¿ÅÜÊæ[ª›½7oß6[ôZÜÆ½&t|ýeÞ›ŸÍÃÝL~ÉfÎz&Ä£î…sS·Æ«×îÏyå‰èá³]ЫÏVk1zÄïJÝ>^‘å»*ÙçXNæ¦Âô”E>öFËáÜìbuðÖË œ“’ì³:7gõšæ„‹}œ kT_:qxï1µ`ÎæO0'y¹Ëêý›2]ÓW{Xu㡜ì26z×¾ ¾c¦ ÏgE°hmYî^#3g˽q®o&fælÚÁ¤,óqfŒ-'ó²ó=Òì§¡”X„<[qUÙÿCÓÀ(ŠIœ;3vœ›Zߨ2bÆI“l„‚ÉN"/w×§LöÚµoúÛ›p·£ÿnG×eH'ÍJ²™2 6ä¡ïš¿|>÷PÞÞÃ'ó²Ë@àì3'ekrô\É#Ô!’eïars÷f®Îca½kjó®ä‡½ã¹®øxŸKq^aEaö1ã½§4§|œ¼b¶xžkvíçänZËŒÈcNüÖÔ5¾ãnÏcÅ"ѱb=¼bÈp}ñâÍ{—³7gm±€À9`Qú®dŠ«)›žžú¶ò¤Œùm#AAA?ÑÛ}ÿý÷/¾øâ¤IÿÒS|ÿM}µÿ ôY`ccš2£ž³xÿ·ú]çG†ë ²Ÿ<ùÑ‹S&ÙØÜíî¹e0ÞíîéëëãÛÙÙO"uvœá"™n8#¹]/0]³a èï¾Èæç¿²ñ|Ëæ:m’§^__ßÍ›7ö³ŸQEÈú%Ô]Ä‚ÎfôY˜œƒŠoxûûuãÝ“&Mr™æ,qrèÔß¼m0^U}o¶XF¬A}]{¾¥ÕÖÖVߢdÆuš„Çpü »Uªv4ðݬÜ'u] ŸÑÇåpïtŸS\è1™è(ç¹Æên-ûJH£ÓÖ…8q baͧ…è2˜Á‡¾±´°¬Am8޾+W†H5ù¿ßÝlpðigÿ2Cs²ðÀW­]@èòzLB¬ŸhTEvô`Y]kG`çèýnÄÌ)@·êdaáW­];i`˜»ª¬¶Ã}uÖÚ™\:„äéøMãp^}ÅëÕW¼®¨¾ß¼m—ÅÒ @4eò‡sù“Û $œÝ‹p}ÃÆ{™£Ÿ OàKïA66“¾ù¶±½Sßßß¾¥u¶ßLG‘æFG___}Ó¥ÅoÍó¿sqR¯ €KÏ¿<ÝKyõZoo¯®ëæ5Íž/»Pã“ç5±ÌíÍ* à²p–Ó`VpBÖþ6ÄZLÕ|ZØÐaÿzâ:_uéžSeGÝÓ£#ƒ5{j»ìƒ‚fàBI~E«Å=zM˜]MþÁ3…3þwJÀØ1_?ºsÏ©.¡oxâë¢öÚ’ŠS{v#í·KÌG *Z vÞá+_ç·-í8VÈí Gk{^ ^݇jºpénwõÿA¾Ó_¾Y†>3žÞQ6«m&;É9[·é'g'‡3ò¿[r¹ÜŸû¿"¶Ÿj2™acÓÎxôK^³±0Œ]p Ï$[¡p²ñÎ]jpò\×X À ùc½(ôMø;Wèä4…+åxJÓ¡é°p¤R>ÐÅ—º¸:ñÍvak~³+šæÄ7›]K›[».ÌCNsfÍ™†.À=få"?> 5ŸÿãAMc]{·Õ8†Å, Á›ÓÚ¸§™ŽÝĉ+Åg;h8ÜÆv¬I¢Ðzˆ —Úz{û¬ÿŸï: —U`cÓ?åg“f`ó‚ÃèE&¿À_4?|Ñüñ×ú–õxx;2‚Ú™Pbà ù€¡KߣkK×ùŠu­]=ã/ߣ:u°¢Ycïî“îv`'rÞMÈ ]Æn~7¡=8"'!š tð&L\•ö,Lùm §±p÷î| -¸s·ûNww_oí 6=6}àð»ºuÁår_²½9°À$ÆFì=f\B~lbqf¹Ø54kN5\Xdúg¾~rçÎSLXýzsá©Vƒ4ü7kM3œÌÚZÑ5êìÖ|ààyݬÄÿ½Ò{ùÓ?ìi•ˆNB\1è»,påÝ] `ïdÏè1º>,úvŠ«‰ÁÜ~tOiÏÂ5‰AN\൤5ÈßýéaÇß.›öœ÷Ù66·žúæÛ®[·DÌ–üÿíÝ{Xw¾?ðOB2˜AI“ *Š‚®qA -E¡ µˆlÅ®P]ѳEÛEÎïÏ.Ð=Âó¬Ò‹¸«tkÑcÑE¤m¡ÞµPo…‹PQ¤$*‰H2£0“Ûï Åk½ûyýáƒÉLfòdÞù^f¾¼${@ægá:mãyü›“5òx<;ü@!tg÷;VÐaTdÄ0\-ûxõúÂ’’’ÂÏV\ÖdWo¹ƒ©ÃÆNºùlyi ôµÁ( Àpúôuc0u´6©JËÔ&€ŽfMsA„Bù$g€†]…ågΪn/mû»¹úzSWK¿,?sæØ®]5&!êèd:uæ’¶ÙÜè!²ÁvvvV‹µý²µñü\lm½V+ðø†Á¯í©æN«¯™Íf¡@`oOú¾’3à÷£† ©3VíNCx#ŸŽ˜º,'3¯BLj¼f$§/›( kв³óOÞ|pÕŠ`¢Õ:¨M ¾øúÚ·|:]:€Ùl®<]ûÉg[Ëݱ{_[;m4š´W®þXýówÇ*¯´èyÎ|ça@:€Õ޼îâ_xÅçÀÙë¶ÉJ(Ñ™›ËÅË:[£›‹ódÑ‹ñX…@æo[ñqá*–¿>µÛëK¿eºš×Ê* ^q¶j 5>.JZ_¢Ò“#–mùf}œ ²€`)§ÑÝC'[_R 3Š€±¦¼þVg9>cçÎÕá2Û“J1£1ÜãFûiÕkò<Ò8ðÇ_Z®ßè€N¢1£FTýtÖÖƒ%ØÍ òp¼ô©x<žHúØ›‰€ô-©Jâf~Õæ.\i` W›‘Óõ ,s0/·H¥ã€3h8é=…¢ÁÀ1µ)³#l[á8|[$¢›[&€ Û]ƒ»ÉD¶^&R$ÁI†ëѼVómn^I­Ngå½m´ŸN+–Q3 ‹nnT,ÎÐ3‰9†BÖµ[$!õ,£e@“·0"ÿæBœØËÀ@׉DÀè¹îôc !ê~Ï"±-ÃRʸ "¥HE—V”1É>ÏY`ál#=n.â·çÌ´Z­ƒœ(‚‚ÅÛBŸç©6Y¹ëÖζñ¼’÷¦Ää±»ªo5™L šËŽöâA=†Ê99X:‰¯µ3MÍÆ³ºá?Õ¹ÚÑÆ4[,päô»Ñ#ê¹hhm³X­0mÒ˜—¹o­l;ð„ŽàÊ“Œ|Ìo™‹%ÝC&Xq÷ÙT*"R ×LìyöTo˜›­š²~ý_ @]0÷í÷¸‘xÆê´Þ3ÞßÃÈ9ŽÑ2,Ù•"‘èVóZNJ®.aãÆØš¬ÙË ÷´Ñþ"¨ Õ•u@øˆz¾–ˆNËuç›ëÊPÂ+qËç½;œØLwÞ1ºS×–Qœ†áº‚“10 ò‘@zÅL-/Q÷=À=‡…³ ôhðxRÝAÛóúŠ‚“¶<’„+4E¶Û"Ч Ò2Jºú±8UQ…XuE™F¬¼uq>©ÕØJ•®)*Ò)•²®B±*/§„ ˆñzþÆ.bb!ô¸ØðJÏ+ö³Ûù0öìâÙXOñ 'ª{F«Õj4š8£±»yÇãQ¸KÝ~?v´ÄÙùû“§ ×ÚÀÎÎNé%]á×&¸ðMW+¢£+r2ÏÁù©yÛ¤oÒêdEÙòÙoçé|Ã$¤W\b€.;6â¹Ks4¡Éó¼t¹Ë3Np^¡¢Š”Ùs×ô¯@y…p»–¾þNšš˜º:ò—FDDDÌ^^ÀM ¿Çj! •¤ÌŸñúò ERú[¯”à¥Z9û¹ó—æs1É‘ÒÚì¥kjˆ{ß(© ’ÖfÎ~#íí1guªRµrvDDÄìåeÒ¤ÕI½kfqé‰ÒƒË§M}cîʾSD×£«R•ªÌ؈ˆˆˆØìŠð ®ê]€âTæü¹o¼¾°@4/=qÙ«T“¤¶Rͬ H]}ó=yL‰’jjaJ̈çp°=¯³³'*EOŠÕjµX,f³Ùl6sDzìÅ‹Ñæ.]º4hÐ >ÿ‰þPk+ÛnµZ@ó=ØäI¼A$ç  Ä€Û­gggç$ w¡NoŠöpÕ­³‚¯» V ðìP¼Âûý;¼Áã°Œû% ݰ?ô™Ûkrâšý_Ýß*1öÇ<ׇëX=&|oëä6ÕzâП«ÅÚyÍzù$O`­,ê žë(xÃ@ÏÑÕ™ož2nˆÒ]è,4J„×›Ü8ã`n#- ´vÚ² x<¿?"„çˆs¼ ç&B¤ÀãþIÖº8ýp½ÙÊ]·š:Ñ£³^=c[Ì 0 ø¶¯Âã ÁÑFÎädzwÆ‚E˜XýÄ~knÙ<Ÿ>ÃzéO[em9 ×4Ö-Ý5§Û¬ÆçÙ§¡ öâËýÁ=¸à „‰…zôHŠ7< “øÉÎ #(Z]–³<3EäõÅÇû†kÖ.]ºK4'ý“ô€ÐÖ|›—¹r¡&}Ëš»Ž£'‚>ù&k|ßb|Ò¿ÙJáÇ  !ôèè+róuAé…+‚m§[Ê#xÉj1»4gWÌqP0waù”9bÕIÁ` ”I«RÃ=ÈÛL¼›6;Gœd8 Òètñ”ôÕ+&öºÖP¯a¤1#nn(7·HR ¬®ÿ}»œ„XD4~̨±£G¸Š…Â[ß²CßÿpâÔ™N–£DÞÿÓ¼žóžÚ®}õí!Íå+$1~̨°[S®ÔÕ7¨8Ù¬o½ÃžŒ îúo4™~üéç²CGï°¼dSDhÐpÏ¡Ìgâñ€Ïã‰Dìh*Ò+Ô²‹Nê'ö¸+[_RaðŠSJ€à˜î™yGˆE¢ÛL¼{ê.›bÕ'*tŠ ‰¶ô e¾áI‰e³O舉"¢{¢aÆÀ‰¤"€èž·žc8蛆„XLÜšÚžÕ«u íßz |½¸œ‚ ýøoX[–•ÏÅ$G‰€ˆ%’[O‰ü²`b!ô$±§ª9Wº¿¼ö\ËÝên§™ëMº«Ç**—Μè?n ÕU¿Ð6_U9{££Óy e±X{¦ƒÑhª«Wÿ|¾ÁÑÑÁE<¨ç†®ÑÌÏçÔ—î49üKCe=rÔrUßúãOµwX^ææòr€8Îxf ­í<Œñ’ƒ½ýƒ”…$(9Ñkaæò5\jÂß›cw‰æ¬Ÿ!P€¦¤ä|ä’$­*Qq^I R&WäÕ-ñ¥€>U]"J̈’ÞmKœ®,'¥öDúê¤P €Õž((¨%|bŸ(/&¯H•6‘íÁ(Ó½HÒà!bh 0^ú“%*~•¶á]pPë.ãNä,\©K,\Ðß¾õŒ(™’4¯`iæò,.5aН ´§våfæÖ*W'‘·ab!ôTèdÙT5ù…»Zô­@‰ŒxIáõ’ÂÎŽw©©¹æ\½¡µýZ;cµZíÞ’BÀÇ{˜dÐÀ_?5Ü£ÿyðœ(Ñïáödßßøƒ:‰ €å$ ‘ ¶Z­BÁŸH˜O6ŠóróSfgÛ.ORNIÚ¸*¼kH^A¿t~­Nljƒ’WM‘HâV¥j33c#yE&§{tñ¾jbêúô¼Üü¥¯g2¶ë±’?I ¦ÂW­:Ÿ™ÁbeÜêÔ‰5#iÆœ¥sKÄb©24Hz’ë;” N]¥ÉÌ~ûõlÄ>3ÒÓÃ%ýí[ï7ì»dýF¼Üü”Øl€ûÅ}²1f<wM¬¾ýXФÂ/"ñKupbô$=»sÿ¢¹œ½ösÝÕP¸Ëþ3s‚Ò·û«tYÛ\v°Âcˆ,hâïìoõXlÝYºkÏ[k㇙]÷SW®ê?ÌûÂVÇšˆ|ðø±Þ÷û ÌõŽ>ÝÒ³ªÄMºæ–;¯ÕÉr;ˬø¡ÏãÁÇO}eR¿«4·6nÛé@ö™&4ðÕ@?o/O<” ¡ç½ùÂj½~£ìø|{òF+˜Ìæº êû]Ël67¨/ýúña ÷ÛGãSÕgû<è.s;Úëñ•—GÜûãðcƒ0±zìììÄÎN¶ài»FZÛ»ÞßÀAOÏçߪcut²gÎÖ·]£ïôuØæé<°owÇPùíVqt°*—öa.Î)Ñ<Ž ¡ç)Ž5âXåO‹EsY[~âÇYÓ^!{÷$µè[ív)Q¿=8ŽýõÈ‹;'–=IF¿zב=É»¾÷§¸>#/x<àc'ÂÄBè…H,’PúŽ;ÚëtÍ9C[ûî}G˜ë×Ã^,—º@;sýxÕO‡VBáÞ˜>b˜ÇãÀìzF#B˜X½Xdn® ±Q¹Ÿok¼¨mmkÿ²ôà×ûÊ ¤ø|~;}ýFGðù|À.î͈—nßÏt_nttæÿ§dû®=`íûÔø±£ç½ŽÇab!„úâóyCåï-ŠÛûݱŸjÏ_Ö]åŒÆæ–® ù;7‰Xéë=õÕICåÒ‡µQ‹ÅrI{¥ÿ•ºâAA˜X¡þÙñùCåó£g¶„´65·\Ö^±õB9QäR7™›Ë`W‰£C¯a„“ü~ç.l6™ BØób, DæF†]k§ÌÍ¥çSƒ]ůNöomk¿ÃÎxy½õ­”¾Þïý)ζ3N7ï…î ]¾bv6±ª0kb.Ú¢ù±EA[6ŽÈ~=³V‘Ôs‚aЖ¼›S÷YÇÄBè©ç`Ou—u—Bû5L1d˜¢ÿKúìý~7ºß§<†È=†Èï+J‡È‘Æ£ó ¨€¸ H)8IO¼ŸCw IDATuuuI‘Æ+.Êj@¤+)QÇtÏy¬­(Ñáo‚ÇÕ¶E€ú­XuYÆ;oDDDDDDÌ]±áÝõ`V׃s—­=¡ÐX2õ V¼1u~ö¿â¦Î/ºy{_öTFDDÚ únk­=ßëÖƒô©‚ó#""Þˆˆ˜»lM¹@[0ê’¢¢¬eKÞ™ûFÄÜEê¾w+ԟذlnÄÔ©S§N»¬koo!}âfˆk‹*ôÝﮦè[ƒ2.H@(‚˜ƒEÝ»¡.)1ø(ðæì˜XÏ3ã…M©)}}P|Ùxﯠ.ü௛.Ÿ’7Ô¡þá‡ËF<°/h`©rsU>«v––––nIVhÊNê­ÉMÉ©XUXZZZ˜ª¨X¹²L@ÀÕW01[ö‘:{®BWRa‹,¶¶ä$§$î¶Ö²=nßA—g¯,€„¥¥_•&K+23K´@W[q«7|¾}KºOm^žªWd±§r3w@ÂÆýû÷³>ʰ53¿w 9"&FZ_ðm×%Þ´ªà Ðu…á5* jYö|ÉA.(ÊëñÀVÁ'YøÞ ?X4Jø€k =ÞLI19ŸŽ÷bT*«ðõžà.Äãú"I FUòí QÒcⲬ‰ìùü ƒWRœ/Ôø¸(éÛ%*}xˆ•áJ dA1ŠÜ‚ mLŒŒV$‚V{&÷nkõŒžú²“°ÚV÷¡”1SDKËjé(BäA¥ðC™é9×$9>cçN–¤€T(ÅùCß÷#›ç•—_r~β$­*:ILùäÖÆ ET”hi‘Š?‘¨/:HLYíEÔâgëŬ|ýìƒ/©0_ZÕ`h5Д2va´¢.7»Lþnj´»Œ—K²×i"S"ëÖ}Ö÷·xESaöæÿaÍåuT\ÚÒá†ò‚Ch#€Pì=-.6ÐMØ®ú({¯wÄpµJÓÚj09.XááÐ|ðÕøOs®;ÝtÕÐéúZÜkåûêšš à±hA ›:Ôå……{/Ð@y¼7e¸ôX«Õ@ƒGØ‚“`ߺÍ5´©nuV]|J,UYX°¯Î`8(cã#†;àq}¾‘¾IëWíÈ/Ê]š£áA ÉÉq>Œáj³c#rl‹p (t Ñ=S°$ Æ+§ B3CS¢MùÄ‹„Ú»¯u g0p„ÏÍ>$R$q'Û\wœÇ˜®ù67¯¤ÖÀ§3€ò׋H‚r³‹êÓ¤*iÌFß'<¦ÄH Nê}ÄE'ÅQëÄIü `b½ „Sëõð”¤('0”ÿ#{Wepš°âË]Ç›#£Ý…`l>~ºCñ¦7u7¢è j¤æ» êÂ¥ôkïÿ-ØMhT—¬^÷Ù>EJ„¦«ªæè÷“¢Œêâì »Î%MÁ¤©qˆKz_ÜqvÓ7šû~R„¸ãÌg|y¨É?ÖíBág¥tØû v¶ŸÙ´zS[Ú¢1!˜4§áÍwßwvœÝ”µ¹ì¤E "ά®|-åý NƳŸíjP,ùÛûBh?S¼½²®}¸Ò ëóžY²‰qiãô5E™ËWæø&HED@jᚉ½*F´¦W.ÄøäTœ—žR‰§¬A+º‡µn%Gïéƒ5CˆÅwÁÖä¤äê6nŒñ ­Éš½ÜÐÏR”2.R TçÇÕ{ÅôKç•Wt°B¤’Æ$ÉH<þ öc=A¦ºi=»±þq°Ù–@öý(W± ãj‡ÑÉ;x¸±æx³ÀØ|¼Æ8üµ¾Õ±ÿ87!€±©²®Cìï&¡Gp°kë™@@ùNR8€Ðm¸3ÐW;m›’ûûŠÀAìFØß[ gWªƒî£úxxGLr€“÷kc„êãj[O•«¿Ò]n hº£×®8Pt]ùñ³—ÛNc¢Åb\=ÿÔEËÞÉ8 (¼¤" ¡AbUþ·¶Qúòµikè]• ˆñѕ䨤QQ@ÞÓZÝ1é' l]azUQãîs׿œÁÀR…˜`Õ T Ç0\õƸ"UnnN7EÖߎkòrk½b$xü±Žõb~ýXF:º+\¶¿†y·oŽŒ4¯1zÇõ ,=e{¤ƒîP”àVx@§¡ÃPØ_ÓÍŽ0{ztŠL´©SóÙßþjÛ“©ät¸„öÝ;øë:¢Ç›ï.,/=´kî«&Wïàè¹Ã1³žs3BOä¼=5D^3RÓÇ“$$­NÎÉ\>;Ÿ±2.5A@ÿª*£Ô¥T(’Óe]9q/ku¯œºJ“³0"D^‘«ÒÃ%Ú;ï,”à•²röb©Ø'&)9²>%{é鯾}êJQqÒ­9º)ŸPý½J\±’ÃÀÂÄBýËð áÆ/+›450fBh‹¶9qó{D9˜šhS׆°;¡õA>eo?nÑßæ{ôŠ%Ã]WŠGM™?j @»º¼`æ/½ÿ?d<ߨñqk¾è;¡éžöyxߌٰ?¸×³öwßkõÜpVß Ëb¾ØÓﺶ0"níW=ÖÙþÝŠþß•,êóï¢zo.tÃþЮWŸQZz³Æõùþ(ü<Ø*ø¬ö6ÕìÛ['ð ’ßöü/tó÷vh:TÙl€uùñVW[S߃lQ>i8ÔíSŒ`lþ¡pSÉÙŽ;,oê ; ¹|ýG_¨ Nn®b‡¾ÙŠBXÇzö˜ê6¦¥ôzÄ52õýÛÝÛ@¨öîXWéév‡ ‹ÐãÍ…‘…Û7|°× t»(Ø  ãÁêu£b½VXøÑ»À6îpîp‡Û½åí¯(-[ý׺¹)ñaÞu…¥š”\»`V°B¯³³óÞçÚAèá²Z­‹Ål6›ÍfŽãX–½xñb``à#ÚÜ¥K— „SC!ô²X,mmmC† ¹Ã2øÕE!ôlÀÄB!„‰…Bab!„ÂÄB!„0±B!L,„B˜X!„&B!„‰…B !„ÂÄB!„0±Bab!„BÎ…úÍLôÿnÔœ0wýOè@Œ&Yð²xØN07ÚË.“á#ÈÛ¶õâò}×áÒÂÂA™Ñò!´þã½ÍÇÛ¬¼!/ þï)â!sÕÞó;yn|ùV­«áÇKÿøñF‚ßOpÿïqŽ=Òΰ "ù=þ@ÏãZ,„ÐÃG˜ñÿ—ú XÎ~¯ùW‹ãÊøÑÿY4ò=gzU™þº»ûJ_P>dc¬|˜€++ÓUKÿ—èóåÛr·_tÿüÅØÏ Þ¸öñìÔhïÿ,ýŸ¹."M[ÛãYöúæâºÔÓ,wƒùlûùô³L,„ºW"G;`M×MÌÃ&¸Œ"Ànìï¹µ´Ußè¹ 5wÔú—ˆÀÑñ•AÖæS57›é»ŸÚª[„“ó{³äc{v‘ÔŸgJüØøñeûÿŠr…c7ñ<päBè‘hm3 ‰`nå¬uÏÿá`×ã×AØÌZ†ÜZÐrå—+ÿú‘¹ÄÐÚÚ`€¢ßJ›ÓG˶oýx»¶ÙŽžàþ_ãE=pr~ïÕ¶?Ô5Ä+Þ º¶ðHó …û(<Ãab!„Ð]Ü K4VïWD`r&xc^õÎf×ãiKC÷Ÿí­«öÑÃfËTŒû Ïm»ÍKÎÎñáÎñ`iÕ\I/»¸Ù}ÄŸ]z´µV1¾2eÈ0ZŸ^a U`\=°U!ôpYZu­ÿüêòƒ$ö"@`:Ì®î”á’ ,­ Mÿ{ µìXÓuà¸ëÀiZ5WwµÇYÝ ÅéšV6Uß¾³‹½³@϶Ãí—\zþ—”ùÇW-ÎAžVØá‘À:BõËúã×gguÕ†ˆß’­äáBbz»À¢Ý¯K ­ŸPª^ó Çb™#„0±Ðƒ`§þsÍ0Ššè<¬õû-sKG¤9þÓ”Q*\QêURáõÅ_x%Ñ–ƒ}øhó©ÓfПìàF X˜°uïÌË`ÄÙ/•ýàUv@ÜB—7X AŸö—ëže?x}µÎ±&õR‘-ðB ÝîÆ²qç‚G ÷˲Íž<¨{nzq€“Ò L5;YqÄ ¥+€dª³:KÏò}#šoXÌõߘ¼ ’þLkXО¾ÁŒèåÄWPÖÚÿÊ6²NŽóÿéþÆ0¾¶œ®wwŽ 9Ú9n´¹¬Ü„Åz°ëÑݽêZÖŸÔ©ÙžÙSy<ÂOX í@¸ nÎ’Ç—ÖóíVYÀñ¿M;ÿÀ/‚Ð GÝfúT‹IVjöе§@0ÿÿä¢u†ÏÿôKZ»@ù—´4sÙ ¿´¼3Aß”´U<ÊÄAâ!@ab¡û­VK”ç´¬øO';Õ¡GE›/v沉¡-Àô,_æÄwj<èNäÕP¢WB6Ú¼áäuIƒ0T)pðFæ€72nhËŠ½’5Î1ÍOŒ’|ñÕ –4BèaŸ¾°^8tCûö“VipŸz`üH¦´MÕm©Aöá£ø@¡ã,%ÿf ÀA |E¨PóiÛ)ÇñîW¯¥¾qé« Pp²`‘¢¡µHeh¿þÅŸ/…ýX!¬c¡ûÀÝX6î\×ß” `¶tÍÀÜsÉlyÖÏÚ5¡õ áb÷oÙD'°óŠ ïv'$9Z$þåªánRp½ó&ërY €¯˜êš6U¤$+Ûœ‘üKx;ð½þà–1 !„ œ =uÝÄ8?BO-œ !„Ðó !„&B!„‰…B !„ÂÄB!„0±Bab!„B˜Xý N@ŒÂÄB!„‰…Bab!„B˜X!„0±B¡‡JÀslç3Nà«äû(›šš°DÐ'—˱Bý$–ó¿‹­V«Ùl¶X,V«Õjµv?‡ƒŒÑÃeûtñx<Ççóíììlðx<«Õj2™8Ž»xñ"&B¨ÿÄ"Âb±ØÙÙÙÎ&˜Xè1$–í_>Ÿo›\Ñb±`á „îžXvvv|>ÿ×q…‰…Qbõ -[íÊZøyCÝ%±ºÛd°,ÐcfûàÙ`\!„îžX¼›°,ÐŒ.,„н&zR°~ºGx=B!L,„B !„&B!ô4` ô¢±X,:Ža³ÙŒ¥¢J¥RÛ0±BASS“···ƒƒ–FUUU~~~X€ã8F£ÓéÝÖ°U¡MÓC‡ŸBAîîî Ã<ºM`b!ô‚ž\°ÐCçààðH›š1±B=0±Bab!„B˜X!„0±B¡§^…ºº©±Q«‰‡§§ …ÅqÇ’ª®®nÔ2TàÌ9‰åñ4$–ñìgië@1÷¯IœŒ—‹³?>N8‡§¤MqÃ2Eè99WmÍÎZ·WÍuý_42,)55zì¯r«¥jÓ‡9ÛŸÓs@HÆ„,Nîo¡{Üfõî*ɬ»]€ÊÖåDÆmÓ÷zldê®­Ñò'RRlÓáu™ÙÛªl;4fUX¯Ä¢«‹sr6í=£åD#_^œ¼ø¶‰Ö´)z^uÚž¿¾Ï³UÉÓ³ü¶Ïëï²Uɯ%é:N„lLHôâ¿ÄOv¹wд5z^UÛ}Ê¢eªæ$%ååFSÕ›Ò2¶cX}+#+þ^ªmôžøYÛBâåÇ765êåñk×¾ÅåD®`ÖìÊK@Kñ¼9»ßÚ±i–ËC*(¶nSbÂæspnsÖ:š…Ìò¼•8-‡?ÜÆÌÌ[o+0r쬌\nÞœœÍuïrÙ‘iÔÚÉÞ$°Õ¶¿©mñ¶:W·5#íÓcZŽ…$ç¤Ï’õHÈœøçæå¯î·¢FÊÇÎÊȃøÈœÍuÉÞPWœ™ùi•že ïY©«’'»°ÕYsÒ˜0?ý±sMz=õjúÚ´Õ1ºzkFƧU y7+ul‹Ž¯JÚB}4yV¶ç¦ÝIžÏTK<Ì›‚†cš€æ3ªVPøºÝŒ¾Ž³Å›ÊêhEä’%s}šã› TíBšö–›&ÅÆ½¦Ðu»¶W¶ßfávUaAeS§ë¤7ã"äu{ëL`g ×}yºÙ5bÉ» ƒÙ–FO.¯.—æ®Þ¤2Üüoó±Ï²7ìk6bÉ<íÛöÞºÕŽíöÝõý×›Îtׂès{ÏQ!3{œ£òž5k²œ A_}Æ/÷pqš7½geÚ^YêŽ={,¦s“?m`«>Ì8"Oß}øðá­ èmYÅòèUI#EY;r£åôÑì¤MÄâ‚={ïH–l[‘S}O5/˜3‡‰Åk7mݱifÓ¦uUÜÈY¯BÕîs,@˱ÝMžÑ¿=®‹“£gMŸ2ùå¸uçºÕ«µÜÈøÅ~·¢•Uï­£gì-òWßòÔ=£¿cVç®ØL&í8zôPÞ¬Æì´¯›ºÛw§­8:9kMô{Ê\£GêVéÙºu+rš¢óví9¼'kÌÑ´ìÃ4œö¨6lÍÖ­»w¤{É\w«hÙêÜŸr‹wÞ³gÏÚ°êì´¯›<â%ÕŶŠ5{îë3’èYžOî“ù€­‚nþ¾hÊ/´ê*[AáïÝ}ƒ2}u#À˜U‡*++‹çÉôNÞ]YYùmêHà»O·,MƒHFõöd ùÌWå@ŸûºNòÖâɸ„¼å§?|´ H¿¬=»Ò'S ñó“0tLb÷V‘a‹C\€ò{ëU¢jwŸÆBŽ9’ø²ÿ-ñ»m­`„GXˆ' @JÆJ8½ž%GÎ „c{Y€–ª¯½ßúíÕ²;;ûˆZ«×3\Ÿ¦9¿Ô5ñ=Ïç­çÏ>ÅCI$À5ݱ/E{ø=&:ЀôŽÏß“ßÕ੯^·bñnn²ßÝê›”„NÏi÷¦Ïô$ȱÑÑ[t“ ò‹ö£€æIWWwÎÆ½ÇX¿ø ½Ã¢e{ÏÑòh¹-²Øs»«E³Bž``=èXA7oûãªã5*ÃUPÌõ¦Jo>Õ©>´½¬¦‰6õSˆ®”ÀÜaáš±í88SWŒ4 •ëÒ*o.Úª¦J'9â ñK`Ó†uí5šä±ï΃ʹÏBBh÷nÚª—Kü¦{CõîÝÕ´öXy름E-kú -’ $«×3êusB6ÇIä4 ô¹âìœâj=§Õ²a½«yz½þXÂô½]k0THŸû«¢Wó~5R€’ê}ËDrdt —±Wû®¼îËFï7ý~k`ÑG³sªú+4¿¿ä¯íÓ—FP‚ë[<´^„üN™ÃÒzŽ”Ü|$E°œzóJ5HÞ”ßKó¨V”œ «iæÈŠé!DWÈsc[8AID7ëÏ"‚Óß ^–£9òæS@I( õ,ÈC¢åŸWѲ½UĬø'X<º] Ÿ4ƾ²rß>ù\o ºo¯)Ü~ºÉ~Ü‚¿ÆŽ^øìƒu½~”÷)Ô~RöÐa Ü:šoþR”@0nÁ’°®ŸñEa\= ¡%,=.ŠÀ¸znHü&K@­×ÙüáðøKàtOzï§nÓÚž•…u¹a#éuÛÎ%gt÷lÑÕ›rªü’ã%·šI‰D4ò/[·öèÆÖe­ø”~wëŽYr’­Ëš³Œë[‘½eëäù­È‘ÑLÆás#«={`!™<ë-¿1!cÉ=i+¾ì*…å®÷«%=¼é‹Ï±c»‹ZŽ7J&‘@Ï7Ìq=k$%!ØÆ›§>º©‘•ÈÉÌ5yÅñi9Ówdܹ–Õ´·¸Qæ'§h‰èÕ>CÙ:àh=ss»zŽð#zm—éNV( àòê[žŸ=3ò(5+ç‰Ö 哼í6|’wÏU‡ ÀÔÑÚ¤*-S›:š5Í·y•~¹¿ óô®]?œQ•º9¢ÃÁc’·:ëŽ7:huyágŸvw¡ 'ZÊŒ«ç é½àÝîÓ˜þØáÇ»Ùr$z5yf³–KXr4ñuÒ²MGiºéhMZ‰¤× •9Ó»©¸¸š¶±8#­¸‘FÏ’2O ÐtxÛ1-Ms@GÓé9Ë;¼­Š¶iOVÚ¦{ëǺmdq»?Ý|îaÞÑÉÉó¦û IË_ûæÍ”LÒ_¶º„¼M|½"­¸ºÅÖØy8gYvc`òo’¤\±r]@ŒY›Òë¬OŽMÞš·X²7sÎkþþ¯ÍÉ>㑺ií¬>Í]¦¯Êš|&mzHHÈôÄÝDX 'IŽYïy$qúôYór´a©oJŽ$/+æÆÎynåkÑYÕ„_êšh}ö¬é ›™À‘}¡o?–¿ÒmOãäÈh?ý±‡X½ÞÖØ‘]ÁNÉûŸ¾…›œ¿ö-Øš4Ãßßßÿåy9~Y[³B\Àsæâ¦Œ9ÑóâÓ{ʈ^k%­Y ŸÎ™ìÿr|±grÖLy LÍs83»Ï›åô_ƽìïïïÿòŒ¤b6zMAÆd €ô~wÍbòÓ„99McÂl. ‰Ÿçá•ÑÓC"³õaé‹oU Iï¤5‹‰MóBBB¦/«òKÍêTéø–L}†˜"ŸK^gg'Ç{Ú¾.ÆŽöprrhÿ᣿oo’¿ù×÷ñGüóÇjµZ,³Ùl6›9ŽcYöâÅ‹hs—.]4hУ›ÒûYñóÏ?ßÛ4»-Õ»7oúºê\MPrïÀ7ÄO÷~Þï{q?s³ÕiÓö2²WßÍH¿[6æÎšwæÝ=yÓŸp ²u9sV°kv¤ÝOƒ+[•™ã—/×¼UUU=úvÌb±´µµ 2äËE‰…zÖñùü;_õ‚ÐSúÑÅ"@!ôL¸ï:¶ð „Â:B!„‰…B !„ÂÄB!„0±Bab!„B˜X!„0±B!L,„Bè7”——c) åŸo±Xø|ü¡†ÐSç^¾›‚àà`‡……ž«Õj±XÌf³Ùlæ8ŽeÙ‹/>ºÍ …B³Ù,à  zê˜Íf¡Px—XLèÅAίÐS›XA`b!ÔÅÉÉ©³³ÓjµbQ ôT±Z­NNN˜Xuáñxb±˜a, „ž* ÈÅâ»vQab¡‹££ã€hšÆ¢@è鉫8::ÞuIì‚F/‘HÄçó ƒ££#ŸÏ8z¡ÇÌb±˜L&³ÙÜÑÑ!‹ï%®0±Ð‹[ÓrttloogYöƋˡljÏç …B‚ ÜÝÝï}¼:&zqݵ›!ôtåB!L,„B !„&B!„‰…B= ÿS0hÒBOIEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/figures/step_1.png0000664000175000017500000012726613656750211024143 0ustar zuulzuul00000000000000‰PNG  IHDRã¶Z´*sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìÝy\Méð眻´ßö´‰RÊN®"»ÈZ²…Æ6¶0ËXÇ2öÁOvcà {R)’h‘$$´i!훺խ»óû£í¦¢TŠy¾ŸÏ4×¹ï=ç=ï9÷œç¾Û!V®\ 4MÓ4]úâ3+|òO„B¡Ï ¢ú??ó·â³"‘~ñ™Hc„B}Šxå3ÑÉ'˜Ÿ(4M …B‘HDQ%!„jjA$Éf³Y,Võx¥J¤"‘Hø|~·n݆®¯¯¯¨¨ØLyF!„ÐEaaá»wïîܹ%//O’¤ô»ŒÞ½{—VŸÐ4Íçó§Nêè訡¡Áf³›+Ç!„úï`³ÙZZZVVV%%%ÑÑÑL&³tyiå Y¦‚îÝ»6¬Ys‹B¡ÿ(CCC‘HT™PdE÷‘HdkkÛÜ™D!„ÐA#FŒ‹ÅÒÝgÉŠ°…¦iCCÃæÎ$B!„þ»Œ%IEƒOY¤‚Ã|B!Ô¨¨¨HסÐ4ÍÌËË+ý‡P(lîì!„Bè¿®  @ ”]&‚©©©IQEQ© „B¨Ù•@&+Hw¯E!„jvØO!„B-—t?•ÊQÊÍ+„B!€ªùÁH!„B- F*!„j¹0RA!„PË%œ‹š5K!„Be*¬SA!„P‹S¥Nc„Bµ@eýT*^5w~B!„ªF&dóf!„Bè3˜ðµu*´HÔX™ X¬ÆZB!„¾w‘ MÓ̯o÷!ˆÆÌB!„”*£”B!„Z ŒTB!Ôr1ôi€(«œ!€€&l’ä½¹sùÆ€ˆÄÌ"Ȫµ6hkØÙjÌ䉃Ú)6e¸EFÝøß®¿}"³%Æó.üëdÂH½2Ýno¬‚Íqï\ù&Ür¼Ùk?óJ=þ¸}bŒfÓ«T®×›M¯˜Vïê«’o[zßxsuôA-±^öXb¾÷ÁÉÁJM´ ÞýyCÖ¼µñgÜ×w•­!8é_Çñ‡Àp‰ë¥™Ú G&:žM­Ãz•íN»N š^çÄž›ºË0áäd‡“ª' 9ºÆÆfæÃ¦Ì²7רS:ŠŸxý²{ЛĤ¤Ù|–²Ž¾q×AöSìzéÈ`#9B Ö H…`±˜ÁdM€„¢(š » ‹(ÍwïÒõ®‰T墒ܱ¹bŸ¸^ì»â让í囿z@½8ðënÏ\P0ÐVú:þ–Äxøf•¾¤Âo>Îe§Õî“ÿ)xê†`ÔñêÄfD½6ÅK}žûÜÏýÁгûd>›š.Ž»º~ÑÞÀÜò$óÓ^¥%¼zâsñâèíÇ6ŒÐý®5«¯T(Š*áó8œ¬” †¥¤Âa ÄŠš&Ë«YEP¹Ûf­õÊ1µ[8wâží4YEéïâÞ^?yÚ/éã#ç…;ô¯o ÚW{á{ÿà\Έ®[û©”bÛSÓd;kןâh¿€„Žp ÎcßêÞ'‰&,=~ÈoÃ?tÝ~ïïªD“oîk5÷!ø^°Mº†-”Z@eºÎµ3 tg¹\_ÜžýIònõI,¥ý*÷ó“uåÿ”e&„{Ÿúó°_?ÔyÝÅ>fÖ~îÐ…Ïö/Þ˜  3hÁòùã­ŒÕdIJ˜ŸòÊ×åèÑkÉ·7üªktÁ©ýçÄÐç5è þâ¥÷[¾G»Ï \”uå]JTòGñG MȰH ‚¦ Ц¨ú3¢²|wlôÊбóÆÙMÓwÔåȰäÔZw°1Ï×ß-eòïî9#hÈŽÔŠ‹@ÃÔ ¢‰‰ätºtåŠùÃõ[ÎÍ¯ÎøQîrÀlá +Y:ÂíQõÅO5¢o\z-ð`5û!@ŸÃPÐ2é;sçñÕÝÃ-NX{b*'à¤[6€|¿?Níž;¤½š, $[¹uÏ kNœ[ÓƒxñTXÁ·Ê=BÍŒóRSxâò[½¸ 519OÔà™e¿>R!€è;°Ÿ“ã~øyÀƒÐ°¿Þ'M‰³Ä#³rÖ„&ûEd?”ðØŒ6%Ã&Ùl’$ ŠŠš¢i¾˜{aÜ•#þEÚSv¯Výg1KßvÝ¢ö~ûZTñWïI]üÍEoÜæ@Çq#‡3gÀk·  ¼O~Cx¾L½‘³¬Øñ"6¯öƒ#H ‰£dz9 Öf|ú&«õˆŸûÉð_'5Íï(„ZŠŸþ6.-7ýmL OLƒ¤0åíÛ´ÜŒø˜äBIÃÖüõ‘ tòÛT²D±woËV`Z (çuû£Çsÿg…{Þ0~öcÚR¾UfÜ Áo[s¯\Ëzó:¿¨¨„ͳًM’$AПø¯]n¦]çNïRsG¦ö@‡aڷפäU–UãuhõÌ1-¸\.·ßð©Kÿ¼ú<[z¢ºÂ %–\îȽ‘%´ÀÓëgŽêߋ˵ÕÆŠËår­lïtyúÉ*(~‚ßß[—Í™%9oƒ¯ï öô]zúÀt³*èý• ö?惜¦®&‘š•íwzuHÔæ+ûluª]¬­?ÆG„g³E_#eíÊ5•6ÍþwéìÃá¥µÄ ‚Ÿqû Óãˆ6âz¨4Qªçº?vVÙLä¿Ëœ?/h˜,(Î}ÿÜãès[v»þZ7Lç‹ÍtÁK× èbßW“$ §]7Æ“0IÔ­ÀŒ R õe$ýùÓAòÑ/é™ûÁg>AËÎø©½QÏdŸ!Lº¹îçþùå»%ÌMqu¹í·äïC3JÅ sþyÁå÷¥`ËËŠùSc]ÙýèÖƒõW×c²´,F ‘ùøŠr¦V½u•Ú¶•­qëuz|Õ§ÑÁ—K¦Î…\ŠufÁº ¯Å ¯¥«Yš•ýðÌšÐØ?®îSVkÐàóðû ÈIåÈpdk¿Ä²t:ëA@"î¼ë†Ñ¦ fJU/S¤Zω³{VYTŸÒ«rPèdßããÍ{îÎ>SpafÑõÅiÏïHj äéÂøç© Ù¥½r³)L¼¼v˽µ+NÝ yìsaËX€’ç‡~;Qå×a–çÖýÏÛÎ8èàíîýÐÿâj+þ£#ÿF—ÛÀ~ÝîKû©€ýºÝ{w­©[ýþDó__u8\ìN3÷»>|ò$4Øç¦Qº¹Ž_NªWqJɸ³}W ÕÉ~Ù®£_ÜÖ_…Šê¼âðóbвìÄí ÐÇ¡A·O®ª ì¾á÷›É_ŒŠè‚—7ƒ‹ˆ®ã¬4IR¥§mWbnù§WÿÙ˜rõ Gª’åâc·üŸ<}òðÖñ_û©”<;°æ´tC[“ÕJ{ö·þùÀhï¸÷š_ÈãÇOƒÜöMïÀAøá­×?ˆ„ .;/¿·\zÒ;øip@Pè“û6jPzúÊ[€ŒÙ¬­{v8™Ë€Éô-{öîø¥Z 'Mã¥Ã1³§M›6kb•/ýÔ¡dêZÈe¢Ï\ˆë4çè/wo¿s+,åøA]Š- Ä~~DIžg‚… ÞÅT¥ö‹ËÀ~á`È{°{šõ˜Ùëºø<Ÿ_k£|½Jï“‹€^ç±ý8‚0ˆ©õ‹Óü=â ÓDk]f7¡òc´q£æÅPÐÒ׬èÃÎT××QjØd(Р~*Pbš’HÄ%”ª¼æ í»N€K7L3×d e3Ûe‹»@v|VÝŸ?Õø§‡œÉ¸EË–-[ìÈ­)0údoûÔ­dêTÈ”GíÙ¿ÀRƒ @r:M^¿À²ã³…Ðç!äºÎîÇ­Qïñ‡¾øñ&E óS"œZåäüš€v“Lk𸥩6xë?›FÉ•ásÞyýü Ö}¬nMûlpEç?s}R"}— 5,Ætx{ëAjµû$Ûjî8#éh‹¥?rÁH€â0ïèâú&«YQ¤Ç“b½qŽæéà=dþ<ûѶ–Ê4@ª?â{ïÞýöÚÒç-ˆ€®Çwà›ŸU4þ!¨[ÉÔ©ËiØ8˜s¤OdŽ®2@S4@cœ‡-Oì^;ËÊXÉÂÊzìŒU'‚²@mÀú½ÓŒ¾ðƒƒ3²Ûrå×Ù]+fŒ²4.ÏKxê}~ÿÚÇNÛá•$(;Yê[zŸ\@¾ƒÝ@þÏÈò³TœúÐ3€m9ÙJl„M Ô ´ ;1&)_lõ6m5e€*HމÏ,n`°òõÕ24Ð4E3XÌW¯zzzìÛ符©É†"È€£F­Ë’¶k}ûlþs·F±p‰ÝD ( Ë.™”XRëÔ¶¤¬’ ?¿XR·Š*x• †}M>Y)»µ…™ìùô’÷‘Y¢~3¸étÖûôSý&­¦¾|/PëÞMó“’T0îÝîGÖgeR zIÇ9‚Ï’ 8êì¦Uת–„„À‚LÞçúVSya®¡²û8KõŠš½G›Á›hˆ÷x:u¦A•]hÛ×L铲7Øéþ˜Ÿ“-¶P¬S2KýÏäJ˜ñ*¾@¾W¯êÕ’Ôèç´¡_Å¿d”TÊæ£ðsR’Þ¿Kˆ ñ¿ç]ÏÒýö§G•­7ú!°4`Ö¡dêXÈetºèVMEHWy6ø<¥Q'oo5¯)Ž/Ÿ£¶y±TZ›tê3aá"[³:V3l­ÎÃ;s\ ’‚¯Ÿ>|àãíž!)о¹iZ†äê~[mF½Kï“‹€¼™í@U÷[CnGñ-¹òŠ|¿É½JÛ¨¼ „„d±b–š¡i56(3èèøl!ƒÉd4°i±asÔ’„P(¼~íÚÇÇŸ`llìvófzzúôé3$ñM·[Üž#GÞ·w/Iïbbî½}û1ùƒÓ‚QÑÑwîÞ5rÄ€%IÍ;L•¶Ú,HeE§ ¡ÖÙ—¨ü—×/dPªæ§ZçKY]¾Ú†©ÜJ  ¤(·HP¾2¶«aå')Ì,¥VJŸî)¯®D|e )¯*'µ´0?§$I¡þµô})á >ó3ŸÊ{êúTÔóM#,6UOày?Åñç6R…Lpªï°Uµ9¹…Ù…P¬[²Ï¡Š² @I›ó…ÓâE{9uÙ;0:§²@å”ê5QÅÿÖ§‡ôÆ›à³%SçB–³ö›sƒÏÖ蓙ߊ¡ÔºÛÖ݆8,Zãöçòw3ùÁþz6d‹…|}K¯êE@ÞÌn°Ú-×Ü`¯h>×\^œúÀ3€3hR÷Òz°z ê›@¨–rkÓö |5e6,S¾Œº »Ù"š¦ Fbllll¬©™™ßýû)ÉÉ—/_¶;vùòe¿.[öôé¿û¾aÏžùùù>sæàÚºº>÷îò‹‚ƒËÉÉ<|è÷àŒLmó7*¶ÐG¿ L(éÓ¥–æâ’˜KGNûòÁLg¼#Á’a€D$ª Ðb¡ì*±]ƒoD  b¸Úõ™W_VJ\ãݼÊow‚d1 Úl­ç¿µëi¡rCn<È(q>y -à=ï'O“ž“ %ô§TÖ®À`2‰ú%«É$€SŸ+)*?ô3]MÕŽZšw13n×ÎÄXíÍŠ¡+Bëq_l†Ó£B“‚º•L ¹Ògö¹¡çáFœî³ßùNº\Ï¿ÿdR­ …T2¿aïû—3/¦ç‡=JZt¨wéU¯À“k?fš«knÐ·Åæ2ÜNP·™ØY¡ì° „„`)©+Ký“ÍÑhŒöÅD* L↫«X,¶²²ºå榬¬¬¦¦&‹eddNxÝM’¾O¦ßr"´b*qŠ~fÓ‘0´#=\ ŽÉj$k:ÞN€ÿàÏ~éÁƒ$ÓïØådf÷‘€`˳àcBZqå–.NpÛu(  bXŠô×ú6ÁéQüöæ±q Ë­=lj¢CPÇ’©K!×QCÎìé¤)í íâo[\c «ž?ÑkÏVŸ޵£¥ ÙX¥'k2ÚZ Óuï?ïŒÇäƒý V×M€D(&“)FÛŽmg'‚J›Ø ’ D"‚ €‚ºôoéÛ$ù…P‰©k·m_‚Ób—ø„<Žõ`ÙAO™(ʈæ’Èлsó°²C{ÔºE7DF›59ÌnDoSÕ¢ø0ß[Aï%­7:6ú<¹Îó~å»Ü+Íu¥CìpÛµÅIa>®ï´:jGfS–I©ÚcDòÍ«l×¥óJæNЖóèæ¿wâ4º‰Ã¿8ÚàX.[;øñï>\þe|Äȉ6Ý´ÉܘÀ›®O³”‡®™ßµ¶ê{IzÀÍ7À¶˜dY󔤆ոŒðg’doŸ÷sŒË—3é¸M ·ÙÇT1?&ÄÇ'"ô×O1dAå3›>Ÿì Ø&368Ü]p5ÕcÃÛ¡vƒºÈ~Œ¼wÕóM€áô%ƒÔI Gôãxzñ|Öÿ¦±Ä±Ÿ¡y`µÆD<@èGD899I$‰DÂb±Nœ8Q÷OÒâš&Õ¬küQ5̺Lb^Òë°ÑÉYy|JFI]Ϥ[ÏîíÔkü$ÎOxœ[ÂTÖißÓª—Im) Åψ}ùìETšXµ}k+cÅÌkÓmwÇh:œs[Ý©¢IAœŸœO+ëuì3k PÏ+ÅO{ò8â]v [ÓÀÈ´{ÏZ2»_t®÷›Œ>îîËLž˜#”QoÛͪoÝŠAuLV× 2#? OÈ*‘mÕ¦iצZU]œú2$,ú]zCµm×¾}»êÊ“@ÅÜö+V6î;|€±" Ì ÷õ}–\ÌÖ0é?¢Ûšk ÍpzÔK½Ê¶Ž%u(äzhúóð;#æ½—•Š+ IDAT–“_L(iéêéê·mßÞ@¥æjÅoPzx€Ð÷ÍÉÉI$1Ê5v¤òUê©´Hâ4Ÿýûïd(öþe­ƒ¡TÓ•í½xÌÆP²ÏîÛ‡¬U¿§K„ôm²ŸbC“¡¯€e‹úoû$Ri@ˆð53ŠÿpJ*ayOxú&Îè¡Æ x‘×¶ï ƒ’ÍäZ+üB!ôe_©¬äùî B(rW옱äÚócólþÑng¤Å.HŽKÊ€ŽÝ¦Vʨ „B_ï»mvi1H•>«.\íuåï°¸woÒ%ÀVicÞgø¤™ŽÖÆøxR„B¨A¾¾Ÿ B!„P£û¤Ÿ þæG!„PË…‘ B!„Z.æ7€¦i‚PÅÆ„Bµ(Ru*ýæËB!„P ˜Ã‡/íQË–ç4wfB!„ª`***–ýiŠçÝ#„B}=ìQ‹B¡– #„Bµ\© „B¨åª2›þëׯ›+!„BÕU‰T:wîÜ\ù@!„ª[B!Ôra¤‚B¡–‹Òå/iIsf!„B¨f`x¼™Ž‚¸ 35á]sg!„B¨ f^BxHBé ‰æÎ B!„P¤"‹‚¥ aб¹3ƒB!Ts¸Ýøòçþ°š;3!„BUàØ„Bµ\© „B¨åÂH!„B-F*!„j¹0RA!„PË…‘ B!„Z.ŒTB!Ôr5b¤"?=•¾Ð:~ˆYlÿîñS'§¹‹EPš6Â,vôÚâ’†oE 89ìëV%L 8±Úqd.—k1h̬Mÿ>Í)}ÒQIÄŽQvÎQ‚äŠ*Œ¼üûŒ1¸ÜÞC§®;ÿ"ŸjÀÊB!T®Ñ":ádÊŠ}¼×ELóÑœ]_ü5;épEù³u#¡ó“ø76¤žÿð5ŸÄœZ¼ê5fëÅ{þ½Î¬”wnùoW’D‘3*÷þï Ž¤öYÁ×ïÆöAé'–oñÍÆX!„j¸ÆŠT(IÔkêƒÿíÓÞ~¾íù}Jí È”1?.göŒ‚"žÛ‡ k‹K¢ ç”i½ßö7‹›43Ó'‘¦ _×ß,n…sæâAotK˜¿6?®è“ ÐÉçÞ±I>àñu±•õ$Ec䜉½ T5Œ¬¦¯ÿÍF5-½Xøþ¢¥73S]æNú#Œ@źn5ª—Ûgäì Å4/6óß[ÎNvý¹½‡N^ýïËOªLJâî½’¹üg+Ž^ïé¿ "Ÿû&4BýB!ôŸ×X‘ Éhד º¾:uÿÉü 05@û¬OÛ}³Ùò*[·+ÈÈ ÒÞ¿œýþXʺ“E¢>j‹)°Ÿæm›–Æ+]õôo~«qêSú@”[ƯT©!ZÕ=sÃàèV¹¯ÊŸJ×!&9W7n8vëI\¶€†öÈMÎ+-8ì6ÓŽ§¥ëxúÚ\y*ÿñ®Å‡Rl½æç{iu§ð]‹†ói€¢7GÏ 't¿}ëÀÌ“ËwæIÇ*²]~;nIYºøÃ‹XA«N­ðÙ!„PÃ5Zëaº¼õÿV+÷d n;g¬›ö~b¯·c§fÞI ÍÐ7 ,–’àŠ‹”9k¶«O]ª½yr .=‘”Æ$F¿é­ÿUm‘³Ž½ð¼>†åUÙKmÒI¶½ãëB¶ÑÌS7þÔ./àÄ*‡ýG:þºçjx®¤j"*/øìCÅŸÖLçêpTÚ^¸z¨Øß+N@Ê÷[ºÈÚPUYßjΚ‰ Á.¡ùRq)§¥§ÍaUç½wÞœ³²37L0ÀH!„j8f£­‰aYÎne9@Be¼áû_Ï9~5oÇv÷Ë*ÊåièbqZð~íÉ«ø`F¼D @¶6e0@–eª -N˧A•h¤ÜÑA ´ê5ÎÉbœÐÂÜ(¿KGöÌwÊs¹8߸2•$?5§$éŸÙÃ/•FpAÓªPÀT5Ò–-Í [ÛL“N/€ªTáÑÅïîÛ²Ûƒo9{ßÍ)–ZìFÊ7B!ôßÖX‘ŠPpÎñÃù$öœK­§¶#[uUœ¨%¹w5#:CøQ‘ !ÃT—çl:ªbÀ‚’TAL2­nÅd&ÿ\$²’a _|`0u”+L€¢µ£¶kq]×U€`«u1ga¸ûÜØÂyÆò©JZ*ò¦]97¾ Tч¸t™6òq×ÄãÓKèöl@”›ÊZŠ é½weÅœ³¬™Î·¦uSÆß!„P£i¬Û*›=À†-â•›8o^ÚÎåɳÇgDèæ´•‚I2x/xw£X&0!§àʵ¢çòÿZ“qø`¡€C–†$ÉG’—¯ÎØ8#Å'TíÕz©4RÞä;ï/º¹nó¹€È¤ÌœÌo|Ïô*ê:¢+§tÛâb€Tëëh‘v|÷å穼ï‚Ï®œ±äü{1@ñœÜ‹ÏÍMztz×Õ"«©*•a]vüT¼åÊ¥Ö…i)))))©éyÂFó„Bý‡5Zëa8Gï¨RÎés¯ ¢P65W}î Y9Ú„cߣðÜ‹üK>ÊgWêo"2NÝÌ9VHhõTþíwÍ:@Z-㈮æùg‘¦öë~—WlÄ* Uúm<³ýä!—ËN$å Ùý΃^2QŸ @j[ô”Ý<מÿ—ÛŽ^C69gþùçÚ Î¹´Z›…Vqà1ÈèŽM_^y{‹ùWõýE!„P%ÂÉÉI"‘H$‹uâĉfɾ:a‰;1â¼áï½Z`ÛIQðrÛý]θÌn‹½dB¡&æää$‰åZ``€B!T#„Bµ\7J¹Èî{Œ÷4w.j¥`µßϪ¹3Bý'a B!„Z.ŒTB!Ôra¤‚B¡– #„Bµ\© „B¨åÂH!„B-F*!„j¹0RA!„PËÅ,)üÈÈp”˜ššÚÜùA!„ªÄ¼ׯD½×p+m]]ÝæÎB!„P%lýA!„PË…‘ B!„Z.ŒTB!Ôra¤‚B¡– #„Bµ\© „B¨åÂH!„B-F*!„j¹0RA!„PË…‘ B!„Z.ŒTB!Ôra¤‚B¡– #„Bµ\$b˜nîŒ „BUC*‘ùþbó$Í„B¡ªHó^íÔe ‰„ÁĆ „Bµ0LýîýuºH$ÑÜyA!„ª +RB!Ôra¤‚B¡–ëG*¢¤+K&o|C}Ý*Ä©7—;88lz\@Wy]%oÍrp˜}4Jðµk¨F’î±ÒÁÁÁá—s1Å4]ðh£ƒƒÃ̃oJ´â/ä­:ÿ\ؤÛ@!„šÍ·T„IfÐ1>a9 lD*ZYÖ«ÕWw²iøªÊº}Üãý7Š¨È‘Nnio ÎÞxóëãbÑ·Ù,B!ô 1¿åÆJâïæ€\K•¨'ñ÷B2‡Úê0 $òðÂ?©®öýE¢yŠFVÌÚFNPËréRE‰Á÷ýSÌ̧Œ1’%¨‚ï³g=ŸÆçtºýiþd MFaŒÇ©ÓaïóE¤‚N7›™ Ækú®ÞÄÿÍ aãF]©5ÐÅïý]κ>ŠN/dªµí6tꬱ=4X„s¿®½×Áq²ZÇã$¾’‰ÍÜ3,Õ5îdÊ>ý¶Ñ©\BW˃ƒ¹|üÉÅ|‹;Ú &ù½áq: Ÿ9¹uøyÿxž¼áŸWÎé§Åe=½vÒåþ딦f§!SæýÔO—]Q‘ú·ûénäZœ­exÈBŽÕ$ !„jNß°N….Šñ áJÿ)SÇšäû(M\ñfq„G”Æ ‰cºñþ§¶œŽ(¢?¿¼:INÀ­çßÉ›¶ Ï{yë{<’ó_ŸÝ}áñ…î#ìG[ªf¾¸yàLÇfÅ‚n2²=nœjÄ®\•÷䨿cwßðÛ ;Ú\19ôê®MbŠË×å╩ݵ‹.ä¿õ>î]c£ŽzŸ!†dü¥ÓY’ŠŒò«çá5¿ô-a¤÷k–i×Öåéülj×rÍ e ] L¼¾}¯ÛKqgûi¸¬HïÛÿ~Uuÿ%‚Ð,…_Æéi¥ò²¿²1 !„jѾ] ]y'ŒÖÖÆ:ªÃ;1b^?HëØ¶ìmƒŸV/ÓŠQÒ±déÆ{Áî³~S®yyÇ65®^’ìñJ­g¬^2¦Yd¡wÑ7 „J\Ç9U;uÕ.Šúþáãä¢ìǬ•€TÔÖU“É©\CöãOø iÿûzGCmk&üeß³‡wâ§,”ù;·ÙhÐÆk–œKú\@u’­ç1´­çOŠ[wùÜ٧ƽKQÀ©–‡\­Àè¼x˺>rï..[s+Ëhî– C•Ón®Z~)%#»„.Iõ¸›Š,˜ÜINÔE³Æ#Àýõ´.–JåÕ*„ gå A‚½!Ø7!„Ðè›E*t~¸w¸@þûÉc$¿ˆðàý„Ÿõ@FÇ€ÃM#u€¼™…”r-ËkŽTÄ…é<––>‡ ¦öóM@òñEæ“sÿ}\"£®Ëù|ßVIAzC×´ ùÖí5àYJÖG!-ÀPÑT h¶<h ]síÛ`ô»ëÝO_”ç)Ñ©-le›`0HBAUŽ¢l>hAn&ü·Ìô¯ø@v OJR ÄB?¬o©P9awÞHàã«G7ÞÜG÷¦ÎARL¶¨kk&ÿCdCUK‘üìòj˜ Šù™ò$ÝåÈÂH×ó¾™­Y}<îöº¨Ûƒ«if\_¹òZZíYd(i+ä¦ÅdŠz¶eÑü±Ùrê*ìzöµ•i7nÁÐÀ-¾þ L¼Y÷–Úe¡¡Ôa )ŠÂ|¢‹ä{NÈŠz’"g4ÐiÃÏÊnȵ-¯Ž¡5dņŸú´)yáåªÖsÒšßF´18w„‰rÑ?¿W´Å(# ýe|«õ`SEH»ï’YÙ©HÕÞ¿lY8¬ƒl¢ß-ϧ<] ‡õ'É|ÅþœÓ6/ý¤Œqyør¬BÈ™:nX:Ò¤0äú…kA¹m­çm[9H«TBý§NNN‰D"‘°X¬'N|³ WÜ©K"/ú#nùë—ÒQAmËBM «íBÍËÉÉI$1Ê}£ÖºÊÿj|¯Ú»µ-G5¥*_8¢âB5¦T> PèšRåK)¤ç©m9B¨iIE'Dé³!C„P³iÂH….ûè*¯ié·€ÝañÉK‹€¦iéùõYŸ¸´ êr„P#ª1ø h¢4P!€¨Y VBßZ“D*µ&1 ]:Ü¥t -Õ°ƒ-;µDiB@@]­Ðåñ •+¡o«ÉêT*ƒš– PÊÿÒ4†)µ÷s°âì~Ç/fÖhÐ…Ïö/Þ˜  3hÁòùã­ŒÕdIJ˜ŸòÊ×åèÑkÉ·7üªktÁ©=ÞÐ5j¤RшS>ÒGBƒ„1MûÄñmÛ³-t™L&“À6n„Z}åî“·¹B`«™²Ÿ9wR/­O›6è’$ßÓϸ?ŽÍ’JÚí{Žúù—YC å¥×%Îyáú÷Ù›÷ÃÞæ@N­M‡¾c¦Nwh¤ðã„[l5@6ðsø€Zö‹–€0?O@AõW0›òë"“2íU«¼õÅÒãùͲú¹î,—ksÙ÷n;|óevǵ۴nð)`÷ÙãuhˆJ•ƒ‘ì2ÝÞù-Ì¿ze¾ëë7±íîß#ÕðÞÕ|ÿÛS:ƒ~Å,´¥Ã| ´G†)}?*¾³Ó T~µ}ctÁK× èbßW“$”{Úuc@Ô­ÀŒžû%ùøèÏŸfl¿œ'Š—ôÌýà¢ñ‹/ÄW<û”æ<Ýaõ_îA/ãÓ ˜ò²DñÇÔØGWv/œ¸ìfЏbU¤›«ÆÏÜ~)ðm®˜,æ&„¸:/·ð\4¿Ênò£Î,pX{Ö?¶DEWSŽ*H~xfÍÌõ·Ó+òGó#Ï-²Ÿ·çꣷ9`² 8÷ýs£«~Ú~/MÔèEÖ\9©<ŽlµÚ’ ,Îz@‡;ïº]Pm©Ösâìùó~TÙ¥¶>¥'Jõ\7kÓµ—Yb A¡“}?€ð¹G8¯Ê§ù»¿“ñ# X Újf©T>!¹â©„åÓ»QxœúžUL3MÓ5|Ó]ðòfpÑuœ•& @ªô´íJ@Ì-ÿôê¡JÊÕƒ©J–‹ÝòòôÉÃ[Çí§PòìÀšÓQÅ LpÙyù=€¼åÒ“ÞÁOƒ‚BŸÜ¿°iT+€’ÐÓWÞ JW$ˆ=ûÛÿ|`´wÜ{Í/äñã§Anû¦w`‚ üðÖë¤ï^Ñg.ÄušsôNH€—»·¿ß¹–òü ¿.Å KK‰ê¼âðóbвìÄí ÐÇ¡A·O®ª ì¾á÷›Ébøˆ’<Ï @½‹©Jí7–ýÂÁ ÷`÷4ë1³×tñyþ>_TÛ S¯Ò˸³}W ÕÉ~Ù®£_ÜÖ_¯óØ~A˜GDÔúÅiþqÐi¢µ.³›PÁ_Ùͪ©j$+樥ËçMA}§(ºl"ÇÒ›]îú˜@v×[ƒ ÕzÙv& ÖÝ?­¦{|û_NïŸe¡§À ŠzÜé{Ï®3g|¸z:4Ÿ ò#'@‡¥¦™k–¶õ0”Íl—-î ÙñY":/äÄùUۃǗ 6ä0 dõ.Þ½¢#ÄÞH—Þ²ò¨=ûXj0HN§Éë˜@v|¶@œêyÈ-˜Ý~;¶cZÏV²$)ÛÊÜqû_kÍÙ ‰8~ê%ÿ‹åë:»·F½ÇJøúòm ”0?%òÁ©UNί)h7ÙÁ´¦‰_Ê‘jƒ·þ³i´‘ P™>ç×ÏŸ`ÝÇÚaáÆƒ}#sªVaÔ¯ô$9¼NËΞÚ0m˜e7S=ER¾ãØÊÅO=_J­ò¡GÃÜa@+Fƒ7Ñ%ˆ¾Z“”?]1³ Ô¯žØÁÁ¡)òƒj0ºbt_ã+tþ3×'%Ò ©a1¦#ÀÛ[R«…*l«¹ãŒ¤Ç°ôG.©Pæ] @ª?â{ïÞýöÚÒ9Z,]ÖQéñ¤@oœ£9G*C{Èüyö£m-•i©f sŽÔOkGW™ K+%™ðñö ÏEßÜ4-Cru¿­6£Þ¥gÐ˨j!É›ÙTu¿õ1ävß’+_¨È÷›Ü«´ªÁ›@ͨ #€Š!ËM»„PÓjÚ/2•÷Ôõ©¨ç›FXlªž Áó~ŠãÏm¤~ œVJÕzs²Uµ9¹…Ù…&P¼h¯3§.{FçTÖŒÈ)Tl¸(»”´9u¹²ä˜µßœia~N H’Bý“jNRÂ|g—ÂOf~k(†RënCZwâ°huŒÛŸËwÞÍäøëÙ-òõ-=yU¹OŽ…¼™Ý`µ[®¹Á^Ñ|®¹¼8õggФî¥õ`õ>@Õ7šOG*€ Bß¹¦ý S¹!7ž‰d”8Ÿ< †ð ‰ž÷“§IOˆJ‹„’jä˚vL&T~èÿf,ºšª ´4ïbfÜ®‰±Ú›CW„–ïÉ$€×±×ÿgzU$‹IÐfk=ÿ¨ýŸ¿Å‰Ó}ö;ßI—ë¹à÷ŸLª5¡J¦ã7ì}ÿræÅôü°GIB‹õ.½êãHåÚ¤æêštçm±y§Ì·Ôm&vV(û@#l5›&¥Ü`üW‡~vppÜö(¿±.‘’L¯U³¶?ûr6€’7‡fÏü_DqåQâùEŽ¿äÓ‚˜ ŸKH¿®…(+ìê¾ÕNÓ¦ÌZôûa÷×y_¬ýEè{Ј± •ró…:®½îë÷ ßkk:¼÷ô­2Ò#Ó?öKå'$ð@E_™)Nñ¾ð ð¿}çUn-y“Õí¨@S4Ý8¥'×~Ìu€Ü€;q)~ž Ú£ìÍäÊ߯ô=k‰±?]yçmØ^>æÎ³ÚNóï€0ñúŽ}÷¨Köœ>wö¯íózÜÚ½÷N£úÏ¢²ƒ]Ã)²ûÄÒ!U0´ØwHòòý ý³ ã¾O¼ JRqŠßÍhÐéÕI•¦¾Lƒ 3úU ®BÅZ IDAT([jn¦f·ê’×Þ/«NÄ!|w}Ǧ;w]ÿ ©ëk™6Vf,€¬‡wÞW}‡ñ¿qƒ‡ ±ßQRÇu}ÿjºk@Ô?—"‹kJ@Dù'³mmV#•žlû1ÖšÙþ·½n'ØÙ¶«¬ÏÁô=k‘ áýZÞzÎì‘ wC³Ëj!ŠÃwÏ]ËïÜ–_¦;L³rŸ{L@ Ó‚þùcñÌÉ“g-Û}#ªÉLjk.Ÿ=Åá§ùkz½-*ŸB˜æÿ׺Ó&ÿüÛчé" ‹ßùþõûÂéŽNN>Lþ\;²8Õcû®û9™·7-?ú2¡òõ›’óF&Dd¨ôŸ`ÓY‡#'¯ªßÃvþ,+NV¶€®y»’tÕ¿ ¼ì·ŸgΛ1yѹøÒë²$ëîÚŸ–»¦ˆ¿ð©9Ë/¾ûqæ–BÿTfk Àì9±¯F —#R³ß¸î$|ðº›$ª¤ßr"4¯<ê xág6‰Cû1Fl Øòlø˜V\ù¦‹ÜvЍ°#k:ÞN€ÿàÏ~•u4’L¿c—“˜ÝGvR¨ëŽʽ+d¸l<úäcE4D½:÷ç5뱕¿ï|²¦“¦´€´‹¿mq-¬ú‹“â'zíÙêSÀ±v´T!«ôdMF[kdºîýç€ñøÒƒ|ð}ϾE?•ú¡rŸyÇiØÌi׆ªëz/8ÃÆ¾¬KWqÜe£¥ë®`&Ü>´o÷IƒËŒ_?¢5ÿ¥=ÕøQn{öŸ ¸Ëšºï¼ÏO{Îæãݘ wÿÚ¿ç\ÛËL 8úV¬õûç*¥ÜÝ·õÂ!}éGžÚqáã¨UÎë „on8Üq¾•óÃZ2ÆÔµÝ°.mÙaÙUÎ3Ø`¶.µüuqx y[ÑÝÔ²MÞÕÇX¶Ãúö0k­ÊÖè¿pMº ¼úvg©•|ÞäôU[õRÏlv Iul×–%É óKÑÖW›I¼øÜ§V®è¬×òŽ&BŸ%I¸ùØ“,ÕjüÝDjXïÁ&Iööy?ÇØ¸|9“ŽûwѤp›‘}LócB||"r@ßqýCÓxD?ާÏgýoKûÊóSbŸß½è’%ÃÒ±î7´lzuÐ6™±Ááî‚«©kÞµÔÍ@öc佫žoŠ §/¤^÷ßrÇrÙÚÁðáò/ã#FN´é¦MæÆÞt}š ~ŽMàf¯W…ëÍ—8wQÒT•¡‹%r 2D ¯D˜öÄë]Û©+û·Q!À|Ü’e­Þ+•ÎÿÀjm7¹Ÿž ¹\­ëÅb^¸ÛSù1»l;i2,&ÏîýèP@ÒtCª8tûÌO¦v1ùl¶«ç­€k5vËvAþŸ]ûßù¸\vëNÖã&5S&kÜ®ãX Ak¤Ó”þzLZg¨ñ¿WCRÚêç†=Lokc©É ¿ø©&:"5IzÀ­(³šÈ­mPR­÷.ëÙQê;ïæ.ֆů}æ·7õq‰ð)K(ßÉqÛÞ¥= ”,Vþo^æêSaÏ]v=w)MÀ6±Ûpp–ÜQÇßñ­ˆýxÑõWS%îŠÓÎÌ5]^Eû^Žö-[—–Õü gw¬ßol†–Íö³â=kwÜzéýO¤wÙbsÇÕ~RSÑ­o»Ã¥Õ¥ý{Žß{—÷";îÅ#©7Û ž»zõtËÊRi”Ò“1iÓÊåBæ“VkLÄôÝjq··´@ŸD~Úé¥3þ!€–E’܇Iãg¶cCY_£ldKÃP~‘ͧ%9ÏŒÏ'8­tåŠh@R^$§ÓJ®,a«ž[€¤€©¢Ã)=uKçAfæ Ònn˜w»4-%*av/¦€«Ó :–OÀ(NvÛò¿Z¶•©ž·"‘P4:[;t±vZ”ŸðÄËåï?þàíÙ3ŽQÓv%ÀVÕWa¡ÒÅÚøôµÐôq²þY&v\5²–ÜJ ¡ï CoÊŰ)_HDªÙ}lSöÿ³wŸaMd]€ÏL !@èA°­e5¢""D± vÅ‚½¢®OY{ÁºÖµ÷^AEAW׆®½‹(E¤Oæû@J¸«”Ýó>Ùge2sï¹3ÉÌÉ;3tfÁ’ú-ÆüÖãÅŸ>ý”!Ó2¶kîÒ¾©U±ëJIý–Û.ö|vÿÑÛÏ‚\†¡]³öí›YqIP.߯öGŒX¿~{UzÏ4s›¹'bèë{wžÆ¦I8æ¶ šýÜÀìë3 u]7?x¤&0]·mKN'´l}î4æåý{Ï?§Kئuí´hÕÈL«ÂÑ.<Ï]ÔÕQ„Ywø‰GÃ5½Kšõ=ø¨oE•Tvf¶ý¸³ÆU²´ò°Ìœ‡¯85x^ܳè§1É9bBÏÌÊÚÊÆÎÉ©®Aéç?Vjíñ5®¿ëvvý.mm ê´íâ˜ÿÚ{€RòhßÑ{ 99ÉONíº*jѽ©žBJ±tt¹,g¾;ó,W*–3­;t¶Š9räNB®8ûÝå]"“˜lµÍ$ ~öišvâ÷ËoÒò„_žž[=où…¤Š†úÓ ‰LYößec3sôj©¸¾aËù¿>&gdg bî9xKìäê¤KV¢^‚÷“—cfØžóÙM»6Ö#þn´!„P-W£úTDïäÕüë kÒ ™‡£t÷Õ×yõ™À6óè¨ _:qCŽ–M«þs[èJü¬_9ö2Óȶew_ÿ–û¬ÞÓzCÀìi¹Ûö/½I¢cÓ¦ÿ¬á´A™«¦>B¿Í„9™¿ï¶?‡Ö·oï÷K@mª™³Ë´Y­-ÁS$Á›¦5þúïqP66}ÙrüÒi§…Xy"9GÎÒ5wtö›?¤‹9@m½)%cÓûÉ«¡b]lû) ¸åE›¢&L„Bè_ƒ ¤(Š¢(‹µcÇŽ¿]êq„J(𦔠PÒ2Š–*h‰‚–(èw³·ø²XeÎL–4pàÀ'N¨}KütÕÄýŽK×ô­#Gkrlýr¹|rXÖ4“à0 -&ÁfL’`À ’ Ê»së÷Gg^ÝeÑsF» ‘›]u«²f„P• ”ËåŒBßÿЊç#ú׫¶¯9aä½ç‘wuÕŽªU1Ns„j5ü #„ªÑ>]AA|Ÿýœv‹¹{[T<[µ¨É±!ô|¿/2B}«اB{U’¦A*¡jô7¾Ë!ô½üL¥à¾%àÎ ¡‹¯£g üN#„ªÐêS! €  qdžPmFAIQæþ‰!ô£}·L…(úQø’¼ƒ*BµY¦|©J|ÓBè‡úþ}*ç³ Bµ_ÃL¡Ú® S!Š}µ«;$„ÐÇwÎT ¨þü" ‚A$Rý}ëBýhi"%C2H‚$ˆbÉ &+¡ªò#úTˆ’i 0Hp2a?Èi“„j š¦ï%È›²UßâÉ &*¡ªò]3•bç° ’ 0`Dgî¹7âÈ"¡„úž5"„~Œ uñmþƒD©‹­6³ð»LªÔõ©`º‚úñ~Àß h  h I`AÓ´±9¶5ïúGñÅ·™< „P§Í"›±Ç´æé± & ’ Ébƒj1GAU•táÏ-h’AÓ$FïÆ:”R‡RÒJ”4(iÕc hÀä¡ê¢ÊwÃ¥–Ü¢iòØ]þcÞ;´¶-·œ%«õåèð¾šï>;ç'Nᤤ#úìiöû¹9M9å.«Þ?nš2ïõ‰+Ý~-8v1ç—!?ë—Ø~´äóåõ!¿…=OcÛwöË¢- ~àÓæÐ¿Ô÷ïS)›¬Ðªq+´ªoE•¦¨Núào3„j–·w+v_Zâ¦)@ç<>~GÙ ™î³·Ó;÷2«a‡2†iÇÉs[8°«;`Xzúý´y˙ד*H¤(Áçb̺/jðwÒøÇMSfF.¿E8hõ¡M?1Þ]4c‰ù©µ]L¾n@Éë­SB´[v`u£ì°%Óg[ÞÐÕ¤†m`Tãý°OLÑÞ(¸gYpλàÌ7“$X ‚Iâ _øª)/ÕW²p` žúQ=÷‡øaWý(3ï{¨×gîl?‹7'o ndwFç·úvà·õò›sàYŽ€–Æ_Y3ηck>ßÙ½ßÌÝO„JP¤?Ø9½¿‡3ߥëG_ •ª"hi|XÈðî®üÖüÿw1AÊü÷gBFvwåóÛy,¿+®D§.•ygÛêãeš*RS&•tt˜Ï‚ð‹«Æøvä·î4hñ¥•zkÓ¤^n|>ߥû¸Ð›©ª–~CH¤‰«+ñÍÓ/òT+’nœµêÙÞ­¾EÂÁÁ¾‹/Ÿ]âïÕóëIJµk•½{æ@¯¶|çN}&nŒú"ÓÔŠb$1×^h{ÏåR×€gÝvØ$wòñõXIñÞŸÈn5y‚‡½‰UËA3úê=:q?SYñ*G¨„ó,åbWEù ¤,ª»HÜj…üúbà _øªòW‰ï Qøs¢0A!¡ G!‹}©¿s®¢L»uü¥e¿Þ»öµ‹=‘¨(|'ÿÕoe6^ˆ<Ò1uçŒe·³©ŒÈ¥¿FZŽßq,¤ý§Ýë"R•TÒ¹¹³Ïël¿qd‘[ò֙럊èü§ûŸ· 9umßÞM»_Š•9÷VLÞôÅ-ädÔõ£sš<]1yãSQåO@«­HS™TÚõíÏ?±'@/rý΢Ü{«‚ÏsFl Û>„8÷ëæ§"и¸z¤a¿vô“…4(’n\ˆ·íÝ­.Ks9Ê”ˆ a†#V¯ê!-[ûצ¥„-:B÷ ½pãÊα×Î<ôIêZQ<NÓ ƒû§4âÐâ„'ï¥æMÌYÅ6m^ü{¡is{]€mݲ.‘ô:E^éŽÊQ«¢: ]°£ ® ‹ªÁŠÝ,ŸP7ñûR$EžŠ­?hE&<û;m=öiðDG6Éu:ѳ—Ñsû_{$:g³kÈIg ˆ\=mB”%’ÄE}ß`ÒênNÆ$¸Ž YfýÁ@5JŸí0||W;.¸¹Yíz ’gßÝwSwÈa|K@§ s¼®. ™þs³Ê;‘Ç…—­H©¶Ì)£€fÔí;ÖÛ^‡ ==êìú#_I²Y¤<] ÈQ:6õßpÁ[ÎåhX\sH¯¥Ÿ;{Æ©èlW/ÝÄÈ‹_êð²f‚†r&%aå·p‚·+ÿ>»LíPx#N*寱çÖ£OhfÆ3ï)S/õÚt!Ö šV†Ô6³Öe^ÌÕ­‹—çŒØÞ¯n±L…–åJ£Ï)øEÌÐ6Ð’çI±O}«˜©@±,«~"¨FÏ%ÞCÕ`?ü?òøË§ÞåůìÓa ´B*£R/ÆŒžÙX ˜†öUål‹†¦ô]A­H¹¶!øòë ÂÀÆVWHŠì„\n]k®êpȶqëaT6,㺆L‚$  r’2$ñ{ºUÍKIó™.y•¾m¶ÚŠäŸ4•É2´5Rí` Õ[:Îó·-<~øÐ4Ÿ¹ù6ú7²øæ¸MúwÑ Ç©°i}ë¼þmù±¬–Û\Ó]qÓÔÕ^„aÞɯiâïkO¿LËËŠ¹²yË^¾Zl=:÷Ñö]ÛÌšêi’—üåË—/_’Ù2Z™ý**ü÷¹JŽ“oWƒG;>Îæ~ Ûv:»ÕÀ6ÆØ§‚¾Uõ© „Py/N^ÏmÔîëÁ‹4nÓ»©xÕ‰ÇÂ&LвêåC›Üc~ÇÞm캅îÆ<Éì ‘ó¦w=Î2ul?hØD×Ð-³Vw<5gíòìÐQ^ Ezöc×LoÁ:[M}¤‘GphêÊ•¿ô ͤu™°a6_§ôLTîõݯý©ÛmË6Õ?Yvþe+"¹êÊLVS¹¹wð̧‹Ö ò\@±ŒzMZØP -u‹K_^Z|§ç'žš+ˆ™Ö^m\þ©ó‚Vú…Ɉú¦%VP{Ñàe†EekÓ–¯æ³Z¨mÍï³týˆúlH*óÉO_çd&Íó(šÄóÙ6}iUð½>ÇÛ9é±9M&m]$îÝ!mç:bóÒ.¦˜¨ oFREQ‹ÅÚ±cGuǃBùwgô\ßtÏ‘»ÿäÙù§#Ë£]øÕÅ_“è?(00P.—3 az‹B5ŒBpûºÄ£“5¦)žýA¡‡iá16 ºƒ@¨¦ÀL!T鸬r©î B5žýA!„PÍ…™ B!„j.ÌTB!TsÕ†q*ò¸£3fŸM-9Ñ~ܶå^•¿…øéªI.[ÝË’ñu"%¸8wÞË![çý¬]a 'gÍ:)(ú[Û¬I§ACÚ[°@òjÓÄÕ²éÛƒš–"ÿtpÚ‚·þÛ–¶žÒ´B!„*¡6d*Ìz£WÍoWt—# ÚºUÝÄ´±bAC‚¦Ä™17ölܼÞÈ~™¯åß[ª¶¬x„B¨ZÕ–&ÁÔæñx¼R÷¨¦RÃü·Þ¦“¶n#gëhÁ”%ß9¼ãØÍ7©bàZµì8©o#­ÈŒÞ|åÆÛ,¶õÏ>ã{7ÕýZ-þ¹o×é»2(C'÷AãGt´Ñ*}Cl‚Á-ˆ§ßºWÿæa+Ÿ&J}‹wÒ¨\ýRµeÅ#„BÕªê˜R©ôöÍÈ/‰ BaN©·´´´ì;¸{jiUô ‰2¨ÌûÇžÎ[;L/ñjhÈ“îm&[Eoß~ßlÜâ©­ŒDoέ^¿ïnÇdÉ—o6ŸµpÛlFÌ¥MëÖnµØTpl sŸîZv(«ûìÐùue¯N‡n\vÐMÓNü~ùMZžðËÓs«ç-¿DanBU»šÒ§RÑ Š»¦ì*6ùó¼Ýóš©™“Ðoà÷`ýʱ—™F¶-»ûú·ÜdõžŸF×ih7êâÒ‰¡BmÛ¶ƒ h®K¤-ÓfœÌßw‡NÛŸCëÛ·÷û% I…·XA!„ÐGREQ‹ÅÚ±cÇ«éèÁ½ƒ†ú'3 „Bè_/00P.—3 UåÙŸ úT*œ!„Bÿ5U—©0˜œiªp„Pm¥TfçÉs5 .C!ͪpœJE]&΀ªmè줴waqRðÌú¹Ø pøö›<"„þ«ª®OÅÈØ8#=MÓ»‰ñŸÍ-,ª,„ЧL|3êHÜù8©B›cLS2÷ž}1õvn.­vúÓŸÏ=×>ô\÷沆9*¤ÈLµö¡çÑLaÉyîòÍ=·|z!ÿ»%”*[0zíCϵ϶&Qª†å¼}ã¹öaÏKBñ?+¹²d¶úòKv&UÓ]¶%Ï—u÷ }#ýÁaåß™ÚÉÿp¢¢Ò Ècwõóº/úá}gJaô†ÑÞ.n“¢r¾í“]lCPIG»Oº÷c"¬Áª®O¥yËÖO>‹Õ¾Ì,,›ÿܺʂAýhÒÔä…ײ… kºr¸m¡`ޱė  c|Ø`Ùta}Vé{(D—_I輋1².?kýÃŽV’Ãuoj’i¤õ·Ÿ`ñÏK(Ivúª Ë0ëúÕs®›ÕpÎáM¿ÞÞ‰`êðªúQ¯ÿôãä¹-jݾ剷#ã[¬½´Ü¥ôìP…ªîëÂãéwôìReÕ!„ª•"úOA‚êŸbÑÛ%ßÒrÅ Xp,ñ¹¨›·ÓGÔ³¬[2 Ò"skch˜˜õîY– ¹…5 â„XÿãJ[K/*ãJ¢BÏÂhx׺>¦ ‰†éÅ TJD7_¤Ç[ën­£ tΗÔßnî d-¿¹ÍŒö†æ¤â壸M³>Šh’Ãá7¯ÔVëÒþ·‘RHŸ¾Ö à+Dié¿G%E}‘æ2ØõíLGw²tæÒ”øS2mlFéfœ|'Î×Öíéå0Þ‰­~÷š‘úÔx¿Ø­%é21´7Ð||$M\Ç¢d^NPèÛ˜Ml¯ýGâ5œkn:Ù×ÖSŸP b’6ÜJ{œ©`éëy»ÚmÄÑ廨çË<šmkY*Õ#Xº††¥’*éèȱ/çÙþ4™tô™µzNÓ?&O=›šc7[Ìçä¿?·nùï/S)Óf='.œÑÞ•xpø¤ÃFû{Ñ~ë‘)N…¹-¿ºiéÖKO’ò ][×a ú¹D>DK>_Þ²åâót޽»ŸWžªWGY¶ meê­ß–¬;õà‹ˆmÖ²ÿœ¥ÓÜÍTæm«_ÍìÐÚ0¹x‡ ¼ôâ ¶¢r>¿G–šøuGGŽyìÝŸ8wäÖg¥m·©sÝã·¯?õ8êuÿeã¢îV,µñÊ ± IDAT¥$TòÙé“& !h |ʼn5u2£÷-[{ôn¬P»¿÷”:Y“j×§<îÐįb‘- ¾?âu«~÷™kô¬Ã.·ê…Ú–N#„j¹øNRáÊßwìÝÁ$JÛÜrù :ÍU½Y¯JŸö ^=ÍÌ–—«Í +€ô´¨¬¯Ýä¢8Ás=“a­y„ }ýñ¸G’ ¦—Eåf,=™ÊhÓÊ¢³±üaṫâì„ø…d~âôncî¦#~ðqK"³—¯]kË`ök§bé†2?kõ±Oç(ûŸ,ûÙ3>ø2ïXÂKYaù‰‰gr8-m9 Ê;{5ñ¥\]zFÞæÄ»ÛqׄtQÛòËÆ_0öXšò„©ÛÒ„NK,9þù [¯)LIÛp;W MMšs.ù!ÅÜѪ#÷lØÛMq €¥­eÂÕ2Õ"*´¢Ò®oÐxþшˆ=z‘ëw¾1ºuS3«Á¿Ÿ\Ìç*sî­˜¼é‹[ÈɨëGç4yºbòƧ"@™±!ÌpÄêUƒì¾v9)3"—þi9~GXTıöŸv¯‹(y†Iòv×ô?ëNÚqýð/|žO¨­BxoUðyΈíá‘aÛ‡ç~Ýü´TŸ|Q~Ê..VWQ !Ò?•zó\^ÿm—®ì©}uéø=œ‰®^ÝáO\Û~*V¦>þ¯Õ1,ûlØ2Èʼïösk;ò”)a ‚ŽÐ}C/ܸ²s¬Åõ…3}’Úõɲ-¾!€Îºÿy«SQ×öáÝØ´û¥¸‚ªÿ0SAýJ*³ø*ÿõ´D ´ÍÌ&µR¦¥²d%v§´Xxö#<ãîœ6?ó˜ ¹òZ,+zÛÄæWoëÁ5g$óDœ‚.zi´à­à±ê¹9ÎïTgN?§1ÍL ÇpŒ—]H¯º½ìõêë“Ê”<Ð7äðHÓÚˆÍùz´§Sß%Ý–‚E›+»ØLìÑp Âôs‚Â+šÌm\a_§±&RqœX] ¤–Og«z”pkTÖ×4L»L ¹JÕ±Q×~}?‡ÿu·0sÛ ‚{XÕåÈÄ´òÍÃÔ/ÀìÒÕndkë9>f ¿› ¤}»FÇ'6[Ö„]fÿ.{ÜÅùë(•v}C_«¶ͨÛw¬·½Ž–QcO:òôüâ¹…2ûî¾›ºCæã[ò ì:M˜ã¥ø#„oÌ1plßΚÛ*À¿…¡¶ñOîÎ&²L¥q©C¥Ü8öÜztЀffzFŽÞS¦¶H>{!V¦a}–Æv>¾«—mØÀÍÍJž!’KÕµ^ŒúH¦•6üUôXß4¤¯yòöó‚ûR‚eÉ)±;ÎúœúH %:qí)U0¯ÒcÛÖµŽ!×€Ò‚ Ïä9 Š«aº©Ú€èœliaÌd€–î .º@åçÞ'm¾þYÁb×ÑÖ4¸´x „•F=+6|”¤ä)A €ÉÕÒ%€ÔeP2&-‹ Ö铯íÒ*Øýr¸¤¦´¸L-‚$HB‹Å%H¢0ÿ 2r(ˆ8ñ8¢h\q6eÈÓ8º‡é4}÷êN…ë`êš°UzeÚ©â!Êä7TNR†$~o@×£ª·(i>Ó% ئÆ¥ð¤"áÚ†à˯3[]!]ê Kå Äúõm¸ªÉl3'3ö Upœço[xüð¡i>sóm:ô9nd7^‰ñ)…ÈÕ-ž“--[Qe®1~RKO‹‚ ¦·p!¢ÜU¤%ä²-í ­Ëµ²ÓÍO*4¬ÏÒ«—e\שªš$¾µêÚ 3„ÐÀÒîdϼøRÀ5^2ض½¤¼ý4åRFVÆ?d-»ûX¨€¬e{6¼Ÿ‘¸-ìݲJ02ó³úæë“-Þ¨.FzÑ”ú*ÄhÌ75ùÍGi÷ãs.ý»þÆ—{ ¦(cï½ñÛú|Á+Y™>"šçæ ¿ÊÍ—ûã[!–R¤QûÁÎÉÛW{œ$Ìú|w߬áSÆ)4Ri¹„bééë² YjôáÝ÷r$¢§ù8Ž}zG¯ {—–ô×ᵇ(B}ò¼Gë&N ½›#‘Q@0˜ŽXjg:©©¨bÅ_ù4­"†y'¿¦‰¿¯=ý2-/+æÊæ O,zù–1“jCüóªk+ÌTB?Cß4¸ŸUc&€"wÛþ'CÃ3 Ó­Î>N–Å=Ò_Þ¤}°l`h]xÜ×·1þ‰„¼˜Ô—R뮌ÜÈ÷b®¹É̶?Þ9NÓô²˜ú&ÿ`ãnJE?\Ëbµsq\ò3·I;ÛÞ–¬¼„ôð8Úµ¥ðå³(‡©íÝ\W$a³ÅŽö¤ŽÑ\ÿz=mȘɧbäu­W°vú[—/Ø×™b¯Úý’ ÔÅ ¬D®Âµ¶YícÞH’uà/‘y\ŸÎ7a3äbiºHš&¥Ë”!½¢ŸG1:ÿò _Cél çVœ°1½<‘FÁ¡#9—~éçÑÙñ ³ fóu4,F¹ÏžàxkzWWÏ>³.j˜èª86kõÓb£§µÖ»&n ðî2tÕç©=mXêªà™{Ït~¿f§›—ÿâÛ¶“V6Ô°}ÕF¨¶¢ŠTåÐ43âDzµþprš{—ÑÛ“=—®Q_s¢RlCüóªk©ª{B!Bè?H!Ê¿ñ8%<&7NH1u8Žvƽù¦|ýŠ;¹‹¨®R&š4<æ­Ç©Ät„PmWê …8N!ô1¹:]í;»Vw¡Z Ïþ „B¨æÂ>„P¦]Çþ|}å§#„þe°O!„B5f*!„ª¹0SA!„PÍ…™ B!„j.ÌTB!Tsa¦‚ª­ ý=¦ÝÍyì®~A÷ÕßÃSÉóeÝ}CßHþÖâ˽1ÎÅ{Íëo{ªm±¨ÔÉ‹^èÁç·›x5SíÓEç»ñKë²âE%Ÿ$ôÑ’Ïá+|\ùÎgí}œ]:HZ5tbowg~ÛÎgîþ+«ügB“gj'ÿÉŠJ‡B%ì>év^¥øa‘üó¢þÑçü_3„P­Ç0í8y®_ùNùq‹W:çññ;ÊÍtŸ¸®î ¯ýó‹׊\9ò‹‹XyzÔ­¢–I^oò þÌWέõÉÛ;#øZÉ(ů¶N¹_oꞈ[WvZFÌžuêË÷8âÿgÔ–êw‡™ B¨úÐÒø+kÆùvlÍç;»÷›¹û‰P ùwgtqà|h o~[/¿9žåh˜X„ʼ³mõñ2P¤?Ø9½¿‡3ߥëG_ •jk‘Åš8õljÒ‘1?[œÊˆÞ=s W[¾s§>7F}‘Ñ@%æ³ üâª1¾ù­; Z|)AíCy5“ÅlíÛuá_ªŸÂ²ØýºÌ(*õÖ¦I½Üø|¾K÷q¡7S)—ˆªL1ÊÌûÇêõ™;ÛÏâÍÉ5¬#˜\}CNÊù¥¡OmšÑF_ãŽ^Ýú/.ïÏi%:iü|ÑüHCÉûóÙ­&Oð°7±j9hF_½G'îïû‘'ßû3ÝiD€»½×ÀÞcìh‡˜³¤h,–|_н=ßÙsàœÃ¯ò”.»&‹Z2¼»+¿u'ÿÿ],½ÕÔ¥~[«¤µÛ÷[ŠRæ¿?2²»+ŸßÎ;`ùÅX1 Š„ƒƒ}_>»Äß«ÿæ÷¡}P5|&Õ”Sa“KV$© „j‚™ B¨Ú(3"—þi9~GXTıöŸv¯‹HU@þ«ßÊl¼y*¤cêÎËng+5L,…J:7wöyý€í—#Ž,rKÞ:sýS‘ºZ2ë ݺ©™ÕàßO.æs¿.ž¶ èÝ7ôÂ+;ÇZ\_8óÐ'Pi×·?h<ÿhDÄž½Èõ;_|‡þ÷Ü{«‚ÏsFl Û>„8÷ëæ§"–­Ú¨ WVÚ­ã/-ûõnìØµ¯]ìéˆòÎPi7–MÝ‘ÙcÕÊvåü×´þ‹èºn¼õèÑ£G„/÷2Òwìn®ñÑÑʼø÷BÓæöºÛºe]"éuŠüë L#Çzìa×bò• Ì}~î­(å}ª¦¬Oòv×ô?ëNÚqýð/|žOkXÍš:ÿéþç­BNE]Û7†wcÓî—%3¨©íe·µÚH*£’E)sî­˜¼é‹[ÈɨëGç4yºbòƧ"@™±!ÌpÄêUƒìÔsóm:ô9nd7^9ûyüåSïòâWöé°†Z!•Q©cFÏlÌJ½0¾Èc€®Ëš ›:ñ¨ô˧nËè¾á¿}Eûuë_™za\‰•Yw×ÍÚÏ·gZk^y'ØzZ J” PŠs¤,[fÚ…qC‹•æ2yGÄD™HJjsr#Æ\ÿÓHGÃaŸÊˆõëÛp 6¸™“û††Œ¦5I°Œë2Uí,ûðnMŸ½2ÛZ}$šÑ_“³JEå$eHâ÷t=ªZ»”4Ÿé’GlSc5½)š ×TN…M.¬H^a Õ¥¶Äèœç—_r=p·.ºÞÑÛŒ@eþul뾈ç)b–Q£.£§ mmÄP;‘Êy|lÖ–?j+Òýmßµ×Zöný:¤ž¼ïµáŽ·ü·Þ¦“¶n#gëhQúB0µy<¯ø¾Ø&¤²_œÛ¹7üIb>Ç¢‰ÇqþÎæ,%ß9¼ãØÍ7©bàZµì8ÉWÿÆÒ‘"ž‘7o] aAT¼Üpu¨ uI{=M{Y‚Á-ˆ§ßºWÿæa+Ÿ&J1SA5–23jѬcæ‹wr¯Ã%E÷ƒz®U½¡Èú(ÐNl@žò> ôÍt˜j&ê2ÒJÈÐ3犞¥ˆiÐ&¤±çöüié7Øñ/õµ”Áà™ëÊÄåP.: Z$ˆËã:èë4ñ¾R$›:à¬×ÑããìY´\,WEÇaZYp“gÄg)èüÄÏb¿Å{Æ.%Þ?0îL±íÙ9M4•,ûxñ‚à§ #«½ŒHPfFαûìëñ6óÝyË·¨ñ»ý3FÕ™v`vûò»S4¬²D ‹?³`áífÁ‡üíµÊ/Ô­Û€—þ2NDÛë K~™–Þ–6=¾–&‹?·ú°¼ÿ¬öÚ@美Œ!êù[jȦúÖº91‰"Õ—¥Å¤É4¬~M6‚мÑ4~öÊlkµ‘”QzûV¾(†ž™·ÑÐãûûš“ ÌOˆhÙr¥Õ&XÅ”.\}9•irAE–PmªîìT*½~5|ÿî›×¯.õÚ¹uãõ«áR©æN&eæ_—cLºx:ض÷²J¼v·`Vþ³Ý›£´zoÛ½-¸¹ýð[‰†‰EÉ—×l¼oæ¿lç®eþ†·¿ÊUõ=R™÷=w·v×®¥}¹÷œ|ÿm—õQ·6® §;ÏݲwÇâ&÷7­¾˜(§³ïoß~ßtàâm{w­›üó—3ûîæXô\8ÏÓØÌ'dý¤&%úzË )ÔʠʼnÑQo¥¶ådäU;Z.¡XzúºlB–}x÷½‰HF€Rt+t˵™™ñw~_q"ße³¡º‰¥÷ãl»î}m_mÙr56[”ñüøÊÐsŸYRS- ±´ø/F†y'¿¦‰¿¯=ý2-/+æÊæ O,zù:¨?@+³_E…ÿñ>·Äy †aýúÜ„«% SŸž;ùŽUÿ' ƒkÌÉyví~|¾4ãñáíw„J:÷Ѻ‰“B¯ÅæHd fáî¸TTâ7gÂ3šô÷¬ofbbbbbbVߣÿO¹‘§_”¸ W™qsÅ”­_:,XÔÃT*,›'¡TÑÞ|_j¼¬Æõ_ô~ÞÓm³6eö_³ “I±¾ ¥qœ|»<Úyðq†4÷cضÓÙ­¶)ÑýÍ20ɺþÛÚS¯ÓÒ?\]¿êî#ÚêKã8öéa½.4ì]ZvÒ_‡×N õSš×dy*j{‘§nûª¥¶(Ò¨ý`çäí«Ž=Nf}¾»oÖð)ã•IŒKª¸œŠšü½"ùþªîçökWôx¼¾éñxeߺvåÅÓ¿øm\Ô.K¥ÝH¬Û}†ƒm»Ø»p+ÑÇß–$ƒI(²ÒÓóh['ï_~ë çhHÔM,üÞ˿܈Hv<¿}}š÷Úþگɪwûw°Ñf€}›¶§ŠË~Ôä¶ŒõÛRðôËâÐ1õ ̈oÞ7´‹“1Œ]‡ ½9ùÐÍăZN mªgj¨E‹)m-B"”(AOà *€Tc¨É?n ôÛVø¯©ßœþõþ{׳¡Úƒ4rŸ=!rÞô®ÇY¦Ží ›èºeÖjþ,вêåC›Üc~ÇÞm캅îFä}u¿”.‘eç¿vyvHè(¯…"={±k¦·à’„ºZ:žçÜŠó¿1½EÛÎ-6+XœaÑcÙÚ´åk§ù¬j[óû,]?¢>’ÔÅ.K¼´*ø^Ÿãíœô¾~ɽ6A+Ç,^1·ç!‘¶•³ÿ²…F$Xt›5òæ¢}Ïqê8ØlãK ͽƒg>]´fçŠeÔÐkÒªÀ†ZJ‹¢¨–µ.ú5›÷âäõܦAí¾÷Iã6½›ŠWx,tv+êè¿=‘ ŠÈà~‘Å"åùì ›Ç¾´*øNÏ#.NÅÏ0©_ÿO-l¡]Xà‰3ŸDùŸF¹íQM0ê¾ý\ŸLTW§É¤­‹ÄÁÁ½;¤³í\Gl^ÚÅ´DÎ@ð\欴è×1Þ8uù=Vìžâ¬G€D}iZŽëƒs–l ðѲw6µgò9õ¯s;¨fMV4’H}Û]79”U]$%0Ôl_õÔEy‡¦®\ùK¿ÐLÚ¨Q— fóu ±‚¨k’ºr*jrûõ¶•.¡ÚEQÅb±vìØñãjÚùÛÆq“¦iz77WxéìéAÃG©{S‘xjÖÌÉ ›AMÉ䔱ϊ#Ø Ìÿtïò¥Ë×ï›·êÒ{@ïõtu©¤³sÅŒØ2™Ü:q oþ¦±ŽZ@%ŸŸ=çQ¿­‹oÿ=`Ûbg*íê¼ ·{/;:ã—Ç] r.H4&×ÐHL¹8wÞË![ƒ NM_’4vÛ\Õ\³gÚò¬‰¿M¯ûñÒþ“·?æuvÖν+'ìÉÓ2oâ5uN¯ºZLÓ¿ëW޽Ì4²mÙÝ׿åþ#«÷´Ь‰Ö–à)’àM“ŒÊ+Sm¨Ø_‚þõt\ÖG•±¦v"Bè¿ êÆ©=¸wÐ0µÃP*;Ãw!O}r?Þ¬u+k ý°{újñ”-“Wpù]µ¨E¡"„BßK©q*Uyö§‚>• gø>ÄïNoÙ~5VDÓ’ÄÛgîHœÚÔ©©—ÇÔ¢PB¡£*ÏþTPW…3|¬º½g Nûmeà ©cռל1­Ê¹•ZµªE¡"„B?Hf*u™T8Ã÷Apl»LYÝ¥*ªú§jQ¨!„ÐQugŒŒ3ÒÓ4½›ÿÙÜ¢ʂA!„P­Pu}*Í[¶~òðX¬þiéf–Ín]eÁ „B¨V¨ºL…ÇÓïè‰g2BP$:âÑÔ‹3 þáòýïègjÍmbƒ7C¨†«º³?!„Bß 3„Põ¡¥ñWÖŒóíØšÏwvï7s÷ ¡¥2¢wÏèÕ–ïÜ©ÏÄQ_dòøý]†žLVÈ>nïÍç>žDÈcwõuq&E‘ÿþLÈÈî®|~;ï€åcÅ4-ù¾2 {{¾³çÀ9‡_åUxŸh„P€™ B¨Ú(3"—þi9~GXTıöŸv¯‹HU“@P)a ‚ŽÐ}C/ܸ²s¬Åõ…3%µs3¿ùFH+³_F§‘ðùÖÛßÝ7kø”ƒqL§>=Œ£×…†½KËNúëðÚà >œ¡Z3„Pu!ÜgOp¼5½««gŸYµLtU›µú©¸ô| ‹ËÖúÃÉi>î]FoOö\º~D}6iÔÒÓ n'] [´3Fã®Mt <‚CGr.ýÒÏ£³ÿâf6Ìæëh9¬vMÜàÝeèª7ÎS{Ú°ª¡É¡oFREQ‹ÅÚ±cGuǃB¡ÿ´ÀÀ@¹\Î(„}*!„ª¹0SA!„PÍ…™ B!„j.ÌTB!Tsa¦‚B¡š 3„BÕ\˜© „B¨æÂL!„B5f*!„ª¹0SA!„PÍÅ …J¥’¢(&Ÿ«ŒB¡j&  ƒÁ I’Á`0y<^Ñsª;6„Bý×ñx<|îB!„jÌTB!Tsa¦‚B¡š 3„BÕ\˜© „B¨æÂL!„B5f*¡ê“wZ;~i]W½”|[1â§!ž|~ÇùD%§Ëãööçóùc®åЕ(E9¶Dí»™ðI¶@‘pp ŸÏ÷ÝúA¦š•J:>˜ÏçwYñB¢y©ŠäE/ôàóÛM¼š©aæü;S;ùNTTߥû¸Ð›©Èb¶öíºð/U‡•,vg¿.óŠÔ¥¡|*#z÷Ì^mùÎúLÜõEFƒ"áà`ßÅ—Ï.ñïØº×ø³©IGÆ X\¼SLwhâÔbÓÕ¢yf5mPæ¿?2²»+ŸßÎ;`ùÅX±š€úí¢¾]´4þÊšq¾[óùÎîýfî~"T€"ýÁÎéý=œù.]‡,8úRX°‚ÿf<€”’J+ׯBß—òÍÁåÿ+²%RPtjƒz²åhRç6¶ùâø¯[žŠ ïÑÚ›®Åè¹ 9ØÓäËݽó×DôªKíPþÜ­“]îëKËǯ¸/,±ã—¾û}ò¬}÷äΣ¦ŽéÀz||ÑØUÑB‡¥(åÍÃçé g¦Ç(˜˜´g‹êOß5ï+±Á2°43²2×e¥çL»uü¥e¿Þ»öµ‹=Qp6Gòv×ô?ëNÚqýð/|žOk˜XJþ«ßÊl¼y*¤cêÎËng+èü§ûŸ· 9umßÞM»_Š5ÍY$÷ÞªàóœÛÃ#ö!Îýºù©¨L]åWZv¢<%lAкoè…Wv޵¸¾pæ¡O2P¦Dl3±þXXø¶>fVƒ?¹˜ÏýZ:ËvèÖMEÓ) …¨Ôµ]™soÅäM_ÜBNF]?:§ÉÓ“7>-“ÎjØ.jKeD.ý5Òrüް¨ˆc!í?í^‘ª¤’ÎÍ}^?`ûåˆ#‹Ü’·Î\¯Zƒ3žÿ*©TZ<9Á>„Pµ>Ž+táò‹bÇΆ¿ìß³fù†Sëä~ŒÍQ€AÇÉs­]4°C‹–\‘ ­ð·h±Û·.]´j×_CF|X|tŠèÅÁñÀóY´hüðñ‹— ±€ÌðÔ¤*¢ëÝø|g7Ÿ€Õwòç1Þ·nÑy)[WoŸîµ+±Ûqìžðˆ ë}JŸCP$EžŠ­?¨[&ÓÚ³¿Ó—saŸd yöRV›™Ó»;ñ,ZbÃÐ0±4’ë:u¢g=C}—ÑsûëÜ=C°†ïjÇe6ps³’gˆ(s•Ãd‘ò GiÔÔÃ…“³›r4o65E©™xï}Ô±çÖ£ƒ43Ó3rôž2µEòÙ ±2%aå·p‚wKvéD® *å†úB4*ÝvyöÝ}7u‡ÌÆ·äØuš0ÇKñGxL©è¶‹†Æò\CNš×­¡™.‡ÃÕÓ&DY"I\øÑ÷ &Míædldç:*dÙT7 ÿvÖ@+¤2*õbÌ虩\X¿¾ Wuàf›9™±o€Ú‰¥1 í-8sX44¥ï r)Á2®kÈ H’(gN0,<è8Ïß¶ðøáCÓ|ææÛtè?rÜÈn ôÍtY@e;+ÊΩûu5)ó?‹üï»X”xÿÀü¹3Ŷgç8­,HPäñY •2ËN´´´Ò•ý—C¹è0h‘ .ë Ç„ùSEßÝ7kø”ƒqŠâ+IóvQÛØ6ú ÅÒÓ×e²ÔèûïåHD2¦]÷¾¶¯¶l¹›-Êx~|eè¹Ï,ŽÚãlÅñ "˜© „ª]ñq*aa箽Ï×”©pùe`S£Ü¿Î‹¦Ý5"î¿Q la7éÕZ|ïÂõncßEÛfòu‹ïö nóÉ¿-õÿ)'rצWRúÌß³º‡…šß-ÏNNÍLJÉS ’÷âäõܦ}Úí~Iã6½›Šox,d;¬vMÜàÝeèª7ÎS{Ú°´ÔM,E˪—}lr.ýÝ4»n¡»Æ³OåÎIš{Ït~¿f§›—ÿâÛ¶“V6Ô†E·Y#ëþ¹ o§ncö(ü›qË)ªìD–Eekýáä4÷.£·'{.]?¢~ɃmáÜŠ6¦÷‚‡"MÓ»¢¶y‡Žä\ú¥ŸGgÿÅ7Ì&l˜Í×)ö~yÛ…VÓ.c÷ÙoMïêêÙgÖEí]Çf­~eî¿v¹—`û(/·nÓ.Ž]3½…†~’ŠâA_£F¢(Š¢(&“¹oß¾êŽ!„зɿ;£çú¦{ŽØU4ê£òsþ½J¿cù5Ê¿µ]5ÖÈ‘# ƒÁ`0$IbŸ B!„j.ÌTB!TsáÙ„BÕ xö!„Bµf*!„ª¹0SA!„PÍ…™ B!„j.2E^Ý! „Bi@ò~ð=B!„þ6RH­&<¿YÝÁ „þSD{ðý|)xTKÞ½¹n|—éU·žW¦œÞÚmî½<5Kæßááw ^Qzº,ùÖŽ9ƒ½;ðù|g÷#ƒ<ÌÀ§Ó"TÛÜ »'VP¹ï¢.Ý&€–¥½úë½È¼EudžúOÑvôlªwûµ*5¸öD²gWߨžÛ’÷îöGfcÏ•ŠôݮɳO+{„¾öÇÍð=óݳ÷Ï:§¸ª]$ä¥ 4-ËLéX’´,-6•iÛÄÞ¸ºcCý§º½(ßÝŽ€ôSÔ#†g ëñÕ÷bÄß{-wðlªO(óߟ ÙÝ•Ïoç°üb¬XÕç"O¹¹nŒO{¾³Gÿ™¿GgR Ìyóà‹‰÷èþ­ëêèšØ» ›ÔÅ0Y ¦@M!Š„ÿ·wßqMÜÿÀßw—Pj]ÔjD‹ŠˆTE­Õª 8P[­³_WѪuïZ·Ô…£ÖQEÅQëhë¨EP–‚ÌIîî÷Š A´ŽœõõüÃG¸ä>ŸWÒGÉ‹Ï].›zw 9¸{š¿·gÏÆÞ( "">qG_îëïjËÙ˧û²Ûƒ½xÿ]–U«˜ä¦æðÚ̵²’K$hÕ|n왣‘†ÎÖº·knô¹Ò<8u:¯~ç]hÏGÝ- ]êåKNžl™Ì3?ŒXúÀsúΨ#aãëFÿ0bI´Z$Êß¾éý㣻fx§m;íè#²ró®‘¶cÊä{ÏÅ<*ˆsðºpŒ»CBƒ)‡°î?Ý’Q 2‰ÓŸòû¾{U»µu–—³×Ü9_à ëÞ{GG+Êx”“•’ÉUt0e‰X¹±\fY»…Ïg†Î™½{ û‡g®¥kRÏ{\³mm‡:íêæœ:‘PuëÖM>uä2N‡7ë3¡¯ª’…•k«àñ>ºá1Dœ©÷èàV®V–U<~ÛÃâÂöó²jý×ìZÒ§zÆÉUãz¶láÛ{äÜÑé<‘PÖ ãØkr°oõ<»ÖɈ:§!>ùľ„=¼+qåîUÝVÁúø²1³¬h¦MMJJ§ •ÌX£°«ZáÖ_×ïY:|hUš76ßqâÆ=&2ÉÕ¯¾%kñq»ši¡Ä~cÔ °š1Ÿš˜–¿a@۰«?ñ¹2žHV¡º½QaQP8|dÇž~”£-0!ûÆ]‡¸wB¢&ýfTØò¹ƒ‡dlÝÈ•1£¨X½‚œˆX›&]ëÎY}ì~ ÉÙýIõú{Vd‰Ï,o/xÌ8™ÌÎ$ûfçànÁ‘Œˆ#‡º Õß¼dèlðÁ1©îíÆMÛ¿'+αM£ ,±ÖÚU½m÷<íG_×Rgng¥¬ýåöŸýìY"rb’\”1;µiw’ Äê †H“ò÷#¦‚#{áÛ¶3í–ÿú?7"FaS§ÝÀàè}Agoç¹ë¤à1,[ØvXk÷®ug¯‰¼ 8ñð“¡M¬Y"Ò?uñ½à-£°®`BÙÊÊ–r†)üSQX¹~ÒGà3­íS#ó䎿¬½šÚqDÄVhÜÆ1ö׃I.Þõ,bmšõvOZ9gÛåĬÇ÷N‡Žé÷Õ¦8C$ä_´"*6==þÔšY;ó[õuw¬ç×B»ûßý|òF|jZjÂõ#뗄纵s³(sbX«Æ~õR¶ÎߘæÞ³¡%CTöÔðV1DœyM¯ö¾Ÿ:3D2ü_†ÄZºùT§ËÍ›W.< "sø´µó¢òlhËkã=uaêìÙßv[˜.ÚÔn¼xœÊ”ΙÛ×½øMÃ;NxlZÓ{ÄâqM-X¶ù”õ3V/ݺxÔªøt©^«¡Ë¾êî$#Ò;Èý’A¬T~ ´ãoµîfödËKìoóE@ \àyž—Éd¡¡¡†Î´€€NÇqÇq,˲ÆXT©Âw)€t¡©€t¡©€t¡©€t¡©€t¡©€t¡©€t¡©€tÉ’ò;…¡SQÊÍs×ãæñœqW7U=öÚ­t¡3ºzŸ«ÚØË§U“jLüÕi2¯ºÖ‘`èXDÄÚ¼<­hiUµ±· ɪsœ­’ÐÄÍ6æÎ¥cWySךµjÊþ¼ð·IËÚæ†Ž@D¼™ký¦Uˆùé÷®^:/°Ä2ø6eˆ³çn$gkxžˆˆXFV«aM ŽÞÀ±ˆ¨ŽmÖÍ3Q×DÎÈʱ¶ê#Y5k9Ï£§€$¸4hQ¹žŽã8ŽãX–Ź´ ]h* ]h*`pš˜Ÿº¨T*•ûÀ}©¯|u'm܆î*•*(2S|­â㈪çyŒ>“ñ¯ÇW_šì¥Ry‡\É{c! n.l¯R©ü·>à‰²Ž*¶YÛ>7]Éxñ+¨I:¹j|oß*•ÊÝ«cÀÔÒÊ>þ¯KØäï=òtî«DÌ¿6³}§…7 ^vû+ òï¼ÙÑ^H»¦›÷س껿u~ñ@_ÏáQ™Ú×{ñ_7‰”È >x1û~»OD$\ýåxr‡žŽÜ«ìÍ™×jÓ¥Ã#'ù›ù£}“¶*Û'¿Óúörºõúƒ¾éÅÙ6nÛÄŽÍK¾yþÒ߇—|#¸ì™åiUÆ_¡¯1noÕ‘3·øÖ±áS®í_<å›±²­«{;Ëßx®W±åˆ ªÿëï¨ÑÞÿýh|ƒùûgyXð M"%XSSߨu0•Lz;ÝøõèƒÂ/ø²¯‡MíçÛL¥Ry´ùbüºsé¼þ|ö߇÷øõÄ}­HDBÖµÍã{µnÒħïô°u}U*Õ€ˆÇbáRD“A¡¡ý}ÜUMÛ΋JÑÿE"ƒ&O{*d|÷j%Õ ¹·›;¤«w•ªEûÞãÖœNÖ YW7þ¯w•Jåîí÷õ§æÅ®î3$"‡(kÿ !SŸ…,;Œþðå¼|Ê“¦Mû~ Á.D9WN'hˆ nÌóU©T½·'_12ož{`ë;°{cgkS3Ûj}'Žmc”œ'>µ_§´o®R}ê;`Öo±y%fÖ{¯îѹգº{»«<Úö™öW– Û<ìëÝ©‰[ƒz„\,öçüóÛù´óëF÷ôiªroÕuØ’¨šâs•|°.aSïN!wOó÷é¾0|±_ÛÉ— ÖÄ®îÖfâu9É_ij" â#æ îÔ²±JåîÕmôº+YŸzréðΞ*•Ê£ýà…ÇSy"ýùô?~š»ýކˆ´É'— íäÙ¸i›~Ów„ it8C—ַäðßæuj©jÜê‹ý šbSóI»GKz9¶ç¸YÅréË\:§¦Ä3-JÂëŸTO¼×[ï{‹ÐTÀ Äìk;>¦ ¾ÁÃû»1³ûP¼–ˆòþ\2jAø-¥g¿Áý|*=ˆúé›É©¹ú6?Ø!¤ýnøâ¨;¬[Oûë˺Yb*þÊò°Ä*îM\(ýÏíß/Ö»0žuaíŒïž˜µ!:»äÛuÚ±iƒ§í¸”S£S¿ÞÍ-î[õuÐ’«jʹ8ÿ›¥‘1æ=z·¶}pzÃÄyW¬ºÏ™ò©1‘²ÅÔÃj=?Oé0/_AróµGDdngÎ1r«Jv6Žöf²â‹8¬•›w´S&¯Ø{.æQ@œƒïÔ…cÜ-2Ïü0béÏé;£Ž„¯ýÈ%Ñê¢'¯÷^]âž ãöZXyððÖ)žI+F/ŠÖº|¹biW;ÇÞkw†¨”Ï&–—ØÎ§˜4v«è·pß±ˆÕƒŽL½ù®¦¬‘rxñëþsçø»êY"xqòW›šHH;:ãû£•†®:uxÛôfw×-8œ*dŸ™3u¯qÿ•áG¬ìÃìù~Y´šHïÆ"Úøíc'q¶áÐáÐa¶–]zrÜxdå¹:Ã^?Àüè¢ÕÛ‰«Ôuñò/íýVî™ßÒ¢è?œÞÌzr¦WÑÿâë›´¬xÒ„£?`Hbæ¥í'sÈ¡K—ºU*öTÉ®]ø-ünÿ5uYs‰DQTØ5ì5©yë{Xc]ªžÅã“#7üžGNVü8¬†<»íw]†‡g»ÿ£o^ßÝA¼¿µO—…1wb3•²ô_k)çxz»Î'Aýë–]T9,_6¢–BèÛ ÿóñ¿ïß~=x¢UËÙ6jâœ}ãø?¿EÆf'?â­8YʈXË*.vÆ©¥æy>ŒÆñÄ Ã—E}d˜§ªè' åDTcÐúðA¥¬¨ÖÍ®:÷9¹jÜ’©FÕT­ºuk`Ãdœ=nÖgc_U%9Q«àñ>‡¦„ÇŒèW¸› ïÞ›ìÃn×>·]Í ,5œ>³ò?Vô2ïw|ʱm×*ÜÙÃÍŽ#;߯¾Þßy龨/G}TÖ‘ qì59Ø×U®‰)}§¨7ù¨OÜŒK?ö%¦f,›Oßénå`kLjÒÜ„Q?Vó¬LÎj%'g 5êû/Þç«UåéÛøtKswßÎøú_-mS݆¥¦#Ûî Ž/ŒË9û ò­f*£:­½«¬9‘[î‰Yú3÷®''Yé¢Ô¤ùwÏè'Mh*`@Bú™ígò‰øÛ›fNãr³8¢Äð½ÿ«Ûdü¬AK~ ;²vÆ‘µD¦5;~5ÅÃ\߯bkÚ´{iD ׎ "2ý¿&Îþç³»e6•ÌY"ÁØÌˆˆD^Ô÷¶jÑqÍOLŠ WtS—q?ƒˆsv«¬ "Ö¬º›ý~/ù¡Æ¸ªqbÔ¹s¾×™Ø¹Xå½Ì3/¦œðe³mܶ‰ŒX#ë*nÞ]|ÝlÊ^+ù‚|²oÜuˆ{×!$jÒoF…-Ÿ;xHÆÖ-\bZ~ü†mà ÷æ re9OßwùL=÷f¦i²•ΕŸ”=…“gG'"¢üróYÉÙŠJ®V…§#1JGW³ÜÄ,QYM…QT¬^¡ô‰4¢Pf¶œ2Î.j†Õ%D.žzðFcåäb–%2Ddê>ñ§ÉÛ·lÙaB®S‹îƒÚY(ôn|:Œ.#>ÛÔ¹ÒÓǶjù“* ·v±‘=™ªÜ—ªìÌŸH̽/¯z¯õƒBÔ÷Ïnœ8atžËî±®)¥7ޝùt"seNLržXߘ!Ò<º—®}öd^í¬j½™Í²ôä|á+XbÒÄ“"œ§£{pô—?Er¼ãÌÅ‹/^¼x!rNS9=>ºëZâÅåcF 9{Û?HWëˆ,œl5—Jo´3~ökL^ù³õXŠûiØÈ™‚FîN³y9Ÿ^¦”:bä¬e‹&›|2\üûÕWòZ¨àæÍ«M™°.žˆH‰•Ɉ²®b×m¢Ê>ÞNO–öËO:~ÌQöÉ=éæÏ háp7òln IDATdãÊU[~Ï®ÙnôÒqMëø/(µQeVlD™“ßœùý;æžßëüå—ÕßpbÖ¶uÈš©Ý>1ù{ÏÏ[NÔeÒ…’g,ÛÎ9tœ9ߟvŽìàÕfàʤÖ3õÿ?EY.¾™sh7&ÀùÔ$¿Ví‚Öëz qS–•íßNÍÚx ®qrTÛæ­»Žùͤǰæºmc$yMí~{Þ­=}üC~w>gÈGF¬½oéÅæ¬ÖwþwÍc}ٺݠõyí»»šp²W\Lyö¬Kg6Ö—sn4_Æ‹_ÊŒ÷0<ÏóqÏ„q{-¬}§»•ƒ­1©uJsFýX]îÖó)Ƕ]«Pèîð>µù¼ÜÜÒLÁhRÏoYw&3_­9eãÌ«‘gãs Ò.oYùdz3Wuy<gߪWýûkçïúëaÎ㘈e‹¯8tîTÝèEó”9W±a‹(\Ûû¹\_¾üPl†:íÚöÙ ÷Ü“³eïþƬÞçg옷#ÓݯŠ @Ih*ðam¼Æ×89ªmóÖ]ÇüfÒcXsݶ1sÿ´j7&ÀùÔ$¿Ví‚Öëz qS)Üê2邚sè8s¾?íÙÁ«ÍÀ•I­g,êÿå~¶Xÿ\Ñü³a‹*wõŸ?Ë'ye g»‘û­ÍÕ@YÆîyzfbÌ?îÔË1iÖõc³7÷ZüG0<ÏóyWÿÖ÷?z…«³åÿ5§s÷%· ÞFÀÒÐT>$ e›3ÿxšt/j[š À‡ÄÈ©k¿š—æ-8ö|WrÿÙ;kPof-; ™{ànž(<<<Á·ó¬óYQÁ?ëÚ Ý‘ Ž9fïäíÁ}f\V¿ƒ¼h*Î¾Íøoê^ž7/ªø!1óܼQ+›OݾqL«ó¾ùñj¾­ÏØojš½*:ýζv)ƒ&w­¢tþbÉ‚Î+õúiËä†ÊwMà#³ûlÂ7õ£Ì=òðiW3În:iÖkL.-ñÖ<[ÀVô7²ú±IÁ£¶+Lìì$7@Øw?%Wñ³ñ££ú.œé6’ˆˆtYIéù ›†|¾³p ƒ/È•5Íá‰ØŠžý¼— ¯3§²z š À‰­è3nlTßyswæ‰HfVÑRùÑ›×v¶c‰HȽ'ÅÈYI¤¹·{Y”…Ê1ziè_¾®¯dÞyÐw=!Hkë=nlÛk7Çæ16½TÉkæïŒNÊʈ;»iÂÀÑ[ãuŒæîŽï7‰}gÍž=ØöÀÌõ×Õâ“uùü;Šùn¦©a+´;ÞËŒˆˆk¯‰sú‡Oöoסï÷'íÏû¦¡ÿ6ÀlÏŒ·òˆöª†Æƒ{~wé]|ö‡ äyžçy™Lú¦€7K£yG×aûw £—p@@€N§ã8Žã8–e±¦Ò…¦Ò%S(…Gärƒ|øà###–e¹§°¦Ò…¦Ò…¦Ò…¦oüÖumÑTÞ{R¾ìüV6é>1xI'Ù/òc8Ž{ýÑTÞ{ ÃÈå ©­¬°,+—Ë_óèd+¼†ad²ÿà¥Ñ¤U¾ŠCSéBSéBSéb_óŒ\€·¡°¢°…·ÐW@"Šš óš—x«°¦ÒR¼™à<¢Â¾Â2O:|è233éiGyvFmá&Qãââ ™>lwîÜE±h¥Äš Ã0ááá†Í,Q###é¹5•¢AˆŽŽŽˆˆ0tNøàˆ¢¸mÛ¶¢5•"\“&MDQ,|„ ·nݺÿ¾……………Çq†Ž ÿq·oßÞºuëÅ‹A`K’u–eEQäyþòåËW®\¡§×†x{ WLAE±°_S‘u”ÂDÄó¼ðTáB‹XRÑ Åo<§ø¹±T씢U’ qWTSŠnÈŠ~&¢â}¥p8A ÿ-ÞQPSà%/+ÅûJQM)*+EÛ‹/«ü?ôc‰Ý”‰IEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/figures/step_2.png0000664000175000017500000022763413656750211024144 0ustar zuulzuul00000000000000‰PNG  IHDRâ`@ù‘»sBITÛáOàtEXtSoftwaregnome-screenshotï¿> IDATxœìÝw\gðß]Y" KEQŒ hUÜÑZTêªZWmk­ÕjÕ¾Õºë®ÖU«uÔ‰ˆà@D".”!SÙ{Ⱥ{ÿ# h€ ¨¿ïç}S¼<¹{òÜåîwÏ:âÇš¦ë¼ÖûG¿B!„AÄ›×ùƒ ˆ:K˜@Óô›aJ½‹ F*!„RAòÁCuPBÓ´|ø²%Õo1é*P¯¼%LÁ!„BMófÝ ÔW"¯&L‘‰Db±˜¢(ŒHB!ÔÒ‚ I’Íf³X¬7ƒ•š0E*• ‡áÇ›ššª««·VŽB!ô‰(--}õêÕµk×¢££¹\.I’òï2œœœdaŠ@ ˜2eЧ§§žž›Ín­ì"„BèÓÁf³ \\\***bbb˜L¦l¹¬Z…”Å(B¡°{÷îC‡mÕ¬"„Bèåááaaa!‹e‘ EQP¦ˆÅâ±cǶvB!ô‰"bĈ‰D¾Ë,) Xhš¶°°hí"„BèÓeee%•JeaIe˜‚ƒzB!ÔhiiU·øÈþ`ÊÆ!·vÞB!ô©+)) …²QÊA0õõõ)ŠÂ0!„B­N6ܘ¬VÝ™!„B¨Õaß„BµQò}SÈê‡ø „Bµºº’1LA!„Pa B!„Ú( SB!ÔFUÇ(@ÊþÝÚYB!„ K°6!„BmKÝÚ„B¡6û¦ „B¨Í‘L°6!„Bm³iµ)´X¬¬,–²V…B¡]udBÓ4³‰ë eæ!„BHv¡E!„P›†a B!„Ú¨¦6ú @TÖÉ@@ ¶I #¯¾p-84")»L *:íÍÌ-ì]ÆLš8°£zKZTiô…?6þí•+µúúÄ¿ó¬ég¦¹mU¶ÿê>··ÜB„‘[ÝgœÉ²ÇÿüŒÑoÙ0•Ê¿2{ØšçL—]7w÷Uéû-½÷¼9½ç] Ò;ß^|_ê¸õÖAWÚFñͯ-:Žø¬ì¦ROIò¿žv'‚Å·^ÿÍ0Lüs¢çÑtÖ«évØkòi 'ö]Ó]D‰'yLy3É3¶²²s:y¦»£žBæ(ARÈùÓ>w"“’“Sr,M#S33«nÝ'»õ2â`Û8BÍÖô0…`R‰„ÁdM€”¢(š ”ÝmEœ°õ»•^ITÍ¢Šü”Øü”ØÇÁ^'û.Ù»qŠ ·eNtÙ“ßoöÍ53C §oÅËË9²?©§ïçŽr3hÉO îÅ OMlA4*ñ[PÅé±ÓcúÜZrt‡§%ç­©éòø³+n ɯZ@‚¨(#ñyFâóþ'OŽþ}ߪÆÁy¡VÕÄ0…¢¨ @ÇËIËb¨QZ<p R4Ð4YUÁÒœ‚Ê^7óç+y[·s&êÙQŸU–ù*>2äüÁÃÉw·/Xoz~]í–8Õ‹^ÝËàØéµ¶Ÿ @©w;}J†Š½á‡xò)¹˜ÀÒÞ÷rƸ·{I¢KOºtè¢ÛÂn¿ßø{„6Ñâ›kªÖÞ ¶õ¯ðr ¨l¯£6DƒñÌSçÙ°ë$whLb96?ùŸd̨ú§´,;ñéÕC›öf¶¯8ÙçÄ,‹†ºôÑŽE[CòŒÎÿaî+’¥=8µw﹈T¿Uß[ž˜góöX!ôvM?C>}òìêµKÇxOÈY˜}æUZtj¤@È¡ ‹’ hšR ¥hŠjü°g*'`ýê+yz#6\8ºfªkgc‡¥ªÓ¾“Óˆ¹[Îxýâ¬Pt}ËÑ—Â&‹·¡%åbг5«nY"yݦ|÷ã’¹ÃMÛΕOa‚hŸ[ù`·`‰‹ á}7‡zç§”è=—^ÜY­¾ ÐÛ0Ô ¬ûÎØ°™.xÇ‹NLåôÎàöûß¡ÍsÙè¨@²5Û÷ü|ùcË{°’N /y_¹G¨•Ñ’âô¤´bIÕ¥^R’ž”Z(nöô±M S úè§Êäùìy|+,ü¯×É“ÅbW–ddNÞò°ÔÀˆ\’Òb6£‚æ8l’Í&I’ ( ( )š¦áYÅŸù3¨ Àpòæ•Cß¼!f™Ž]±Ð2ýÎE—7ík(èãh`.‹ô¾]Ç:Þ‘ /¼ïdáEò=Â]ð!`šŒœé€¬'±… ïarh<ÀéåájȨû&«ýˆ¯ú©^ÜKn™›(„ÚJŸ‘Ÿ÷2­XBƒ´4-..#?+áej©´yknb˜B—NV¨÷îíÜlKÔ2BT¯ø\~ô¨tK$ã«@¦Û!µák9ã——®Í?s.'òEQYY›-a³ ›$I‚ ß~õ¼8u1€è6gZ×ú;Ÿ0 x íbcc*L+¬)ªäå•ÝËfŒàÄçóùý†OùnÓÙǹò³Ñ•Þù֙Ϲ5ªB”rxåŒQŸõâó\ÇL]¶?ðµ€(¶n¿ß¬‹¸k|o>Ôöh!•ã3ÏçX.¨YŸ(óÞÑ_ç¸ tâóùýÇÌúõø£üŠäã|>šW6’Ô““ø|þ°Ï+j}iúO>Ÿ?dÝ3Y˜U8—Ïç»ý+¬xueó쑽ù½f]ͯŽLóžœÝòý”á}ù|>ÿ³aŸÏýíŸ[‰e _ãÊ"½CŠÀÞ½Ÿ¡v÷±=Xå’Yë¢ó¯Îâóù% K¢¼ÿøÎcH>Ÿï4h¼µÇòÅLVW½¥GEzoûaÊ0>ŸÏwæ±hé‡uVA ÿ^»xö¤1®N|~¯Ï†ºy~¿õÜÃL‘¬hJƒ:ñû/º-€ˆUC{ñùSþK—6´9e•¥Pè?›Ï—•ƒB³*s(T2)dÙÆ+’þüÑs˜ _ö•—î»™$¨³®f‡¶Ž@'høüJ K+@TT(¬ïË«ÙMþ~áÜyS{Õn~géÕw8m¥+ŸÏwù6°°îÎH=5…Ïçó'¬9›´‰šó BMCrxZ\*²â^&%ÅÆf h‚«£­úFß8Mì›B„kßÛœ)Êz^ Ôºëj@Ò ^f6<¿N½¤§©'çèB‰@)O›Íê¨_Þ¿WY÷î, ÚÚ‘mØ‘ÅVaÙP—6Qê½ÇEÐi¬Kƒc!˜&î¹×úTšï¯³þw#¯ò}*òâîßrÏ7à»Ã;§ÙÕ wį/ü8Ç}¨êëé9™1‡—…FÿzfÛX#†v×Áƒ "‚Ÿæ³ƒS_KMÃNšõ5-ˆù÷»Y{žÊ*‡„ 3Âo×¼ûó‡IU òÄé¾+þ·1¤´Öf¢þ]¾|Émã_+†½³Uƒ.yæu§ºº÷Õ' èéæÀx.¾’õ¹\ã|%iÁÝM_îº\5v‚*N~ä³ë‘ÿÅGv~i£J42Ù[ˆ’/®øj}PQÕ×å'†zmõ üöïÝÓe»‹*ßþÕüÓ¯e`sU$‚‚ôØ»g6ß½tkå™ÝL˜,§ƒ8)á!Ï‹AÕÖ¥·±†¹¹J½[WÖáѤ_ÒwÁ»KFáB–D™¿âÄ p ŒõKÒs2cnYû¿³ÛÆTÖ4û8ü0óÒ‹8<•†Ï¯,#{N¢ŸnßxÁrÍçvµOS¤Nω³zÖZÔ˜Ò«uPëâÞçµøñå§Å®5kö˜$#È'¬'Œ4c5k5CÍÈÚâ^¦—Ѳ~åªí¬­Õ›¥4½o ¡mÀÓÑÑu™`÷…Ÿ±þŠ"I;Aû"‹1ÅCæ †¥ê2H§³9SK¬hî}Uöƒâ’¸;Áyÿl+?ú?zÿ á‰eçe<¾&m(„§K§€~WM…ó(J:ýóo7òtú/9äúàžÿ‰ßÆ™T<Þ½t_D­ûÂßµ;›Oßuå^ðUŸ«·ƒN.sQÜýóߘ `›¹¯Ø¼á»~Ú`æ¾bóÖ?4~óâD žïÿiÏS°»ÌØáuûÁƒ°{þ'ÖŒ2οµÿtr£ŠSNÖµß7†P]ÜoÜû÷ÉuŸi@‡m_²çq9Z|ÀïNXèý°;~— 1HõYõËÅÔw†Dtɳ‹÷ʈnã]ôIR«çØn$¼¼”ùæ cÚÙ]—Ó5œí»ôàáƒÛ—ößO  âÑÎå‡åÛ×LÖ aìѥ냊€aã¹õ\`èýûïxo›Ö‰ §{ÖžOˆOm8ý€ëüÝÁ«÷Þ ¾öàæ‰5£ÚT„>'àØÍ\»eý,3÷®jPxkóÔÁcf­ÜuÊÿñë¢âUzuN&öãúñ„á—#JäÖ/ɺ]&6f6sZGÓ6j] 5SýêNëL]S#fLzR¥©}S $4%•J*(m®þÀ 6]ïjIö—¤~YÑ],Öfj›X;thn=TÝDÔp‚îË+]MŽ}?ªÛ0ÂØ¶¢cë øqHKsJxF<…#±²gGEÓÀpXvd³gvª$l»Ñ¿þc¨@æ…ƒ!ùòµ³"Îàõ»õ5`@ªÙ~þóÈKÈzK¿¹Z¨¼ÛÍ0ðØ»oÑgfê Ø:vn¿\Óë-£ ÞEšWÜeñÑC«¦uv°5Q'A’î»Û;˜K÷­ŸÚ³ @ª´sôüý¯ŸÙ Øè™àí«¤KžzÝã{둤N¯±öÄúeÔwu±ùæðŽ™N&j ‚¡nŸ¶õè G@ÊÙÃaEtã“Õ›©ÂÐÇ´ÇîÚ¿ØÕ‚Ç$€P1°hó’Îëœ) Š¢î'@§ïVMuÔg M»±‹u€Ü„ÅŸ-¥üÃCÕzüÂÅ‹/òä×Õù¶ÊÞŠ•ŒB…\MsÔ–óõ˜$¯Ë¤•ó­ 7!WJ8 ßkV?~½zOØøÎ·(JT”uëÐOó¶¿  ã$Ûú&x©B긮ýgÍhKPÙþÇ·¯œûùà>ƒ=¬Þu2 *¯ö¡Ù¸Ò«{àv×_ ü¡ï‹R¹UÞ¾ÀpôèߎÑìM(£Ñ'ŽªÈIŠÏ®>CJò²ÍonêÁI@0UØ‹IˆØ†æ†sÛþk£~ó3úÖÑA½³Óö¤MÙ±)må¯?m(Xö'káv)ÔG¯Òuž ®¥C44ü‡ª(®`©°ÍbEBÀý"îÀÙ#Mäë6I—î†â'×¢Ëä–kºNr’o7fhš°€¢“D?½üX`9eJW5¹p‹aè:í³fL'Æ4ßݲ&Αfßõ}  >xÞX³Z•êL“‘³¨?{˜ñÖÈŠ.zäõ Bþ @ê9é wéVúI¶Ëœñ–ò¡Ëtäü‘ZåáWcÊ›¬~eQ—”˜Œ÷täÉïÃAs¿v=ÖY“¦HÝáܸq󀻡üq@K„ ñxï‡G-Êߊ•ŒB…\Eo˜‡#Oþ@æk4E(ã8l{b·º9×JN.ƒÇMÿéÀÐé¿rëTËwÜmª–n¿¹uåèÆ%ÓG9[ÉÂ'>¼z|ÇÏÓ‡™ºþJ²°ò`iléÕ9 ·“Û-Áߨª£T’~Û7€í<ÉE—TÂ&jZ˜›ô2¹H lÝæú*@•¤¾LÈ.of¤ÒÄ hš¢,æ…³g}}/oÛ¶]G_Ÿ uPO,ÛW&íØúöùuÓf½rÑ·n¢€¬<_Riƒ“×’*AQ¹T±`Š*y}­ÕꬔÝÞÉNåxfÅë¨q¿êiÚŒìMêÞ+5nf:Qú³×RîúuŠQͪ·9ÜŒjÌÊä˜õ²”r„)’ <ú蚟ÎÕ. iñK”d¿­'5Uî& »wÖ­^©ß{´DÆ@Âå[éSf˜Õú æ}í4ê”×j@'¦Ï}AâË\‰“ºBÉœMß’+QÖó„ n'¾IíS%©×oÞª~ÕÿâhhUÎ;!ä¥%¿~•ý44èÆÕF–îû?·:Jáö›ÔKÖ4ÕìM Ô,$‹Å°t,l;è°A“AÇ$äŠL&£™-ŠÍ˜…–$D"Ñùsçnß¾=aÂçVVVÞ/fffN›6]*•\ô¾äÄï9rôèm[·’ñêåËqq©)óæÏމ¹výú¨‘#ú÷ •JëoÓaj™² Iœ“)‚§X¢Šžÿ/8‹Òvœ8Ź<¿XšºÜ7N/LÍveùeR€ª•±UYÍ+UøÐ롨ÇkF8­y3A¢ïÍ4ϯ:È2Á{ó;[Û_š[*uÅ’½ U–[ †¼wƒTqÌ•#‡N_ ‰É«)PU €FMHA Þ÷á!¿ñØÀT d.d`©2¾27û8l‹êLïÖ\ öƒÚ; òX¸ì¥÷¦6\ÏÜÛù×£A¿9qµO\;7WK^ù÷®ÄøŽ\Iú-ßDÞÀ/ºËjÀ½ƒÞÜBÍ@°4ÛÛÚ¨ 8:šlXZf¶ÖjŽ®»uš¦ FRllll¬­]àÍ›i©©§OŸv7xñÇo„?zxøÈ‘];wû߸Q*(»wᆰªjðíÛ·nq8 ÍШnÓ¿#Ü)’XѧkMÄ/ÿûóp€ìŒ&x,¤bñ›Ñ-I€Á®Õ5û*Ä`‘ JÞ89S’7—Õƒ’Ô{)¯u×N,&@ÛýìûïDÃÆŸW¨üÐ $ ^gŒÐÂâ!@’ïÍÔ©òómÒb‘”®[@•Í &“h\²L( õ¶’¢ŠÂþ˜¾ðlhwî?ÀÙ±«UÇŽÖV:‘K†, kÄE±j-² +… ¹Æ[¾ssÃŒ$ÓÇök™ª=çÿò¥õ-'¤†í„U[_?›q2³(ün²È©S£Kïͪ;U›1u¼¼òï\‹+wì’}Ë/@wØD{µÊ(a5 ÁÒÐÕ”û'›§§ŒfŦ†) Lâ‚——D"qqq¹äí­©©©££#–H8Ρƒ)Ц(ª¨¸X*•ŠD¢Üœ{{{ƒŒô ‘P¨§¯ïêêJM74{ ©ï<Übâr¯þ÷p^—Ïêî#ˆ x,Ã^ö:$£ÂH— q’¬ØñÀÚà¡ÊRò@ËDK ½Ž«15M´JsⳄPûL%ÎMÈQຠ)–{|;¶Ž©&<*ÌKʃaí¨Ž–J`rÕ¹ T^èÅ'Rèüóù&Õ¾q”¦ŸûÊms¼ö H™öµeM¡eFeЇiÕúNTQbb1h™j2™¬^²ÒËËO̬ ;׺vKrúßI‘èöòYû<ßgÓôÇn=¶ÒÕ &ƒEÉP߇GÍú[bHÒ)… ÙB±ªÿ懂*x 9}L±®7(P1îl 4EÓÊ)=U›1ƒt½Îç_‹ÿV+Ü7Àp”»jÕÛ¸ƒÐGª©#}H‚¦iK ‹={ölؼù‡%KÊ‚””‚€;w.Z´hÀÀ³çÌY¹r¥ûøñ—/]š4yò@W×aÇÏùúë»vÙÙÙuíÚ•Íf¿e}¦é˜¯pJü7þZPOû‰4ãÆA¿|06Â’  fåbÉþ·SëÌ–z) zvÕUZý.°ùöê¢'Wž×ú’Œ;õT»JÊkV§ÝÍy÷f8\ìX9·¯ÅÕé•*ˆøc¼ë Aî[#*êÿ(•{Ïë)@vŸ( P ð¿{W€ä+)ò½³nú'ÔžŸÞÏ@>´ ÊrKÙ¤öÞêõ·È.P¬d*d¿G³ŽÃC§Kw=ˆþ翨z;‹Ó%ÑAIÀ4ïjÈRR驨Œ¬ärÅ/ ÀÌmlÇš@wúH51L!I(zòÔ©ý •—Ï™7oà€sæÌÙ¸y‹½C÷±ãÇÿoíÚ‹™˜šþ²fͯëÖMþòËÁÆMøâ‹ƒ¹|öÙ¦-[ƺ» $ÑpHíþ?.é£ }qñ¼Í×kk¥n[¼>L Òw‘§5Fƒ<H€W‡×QZ•˜®HôÞøÇ# €™»»•rƵ÷¥' ¤‚sª†jÐåñç7J€êZU’£¡Åa×"«g= …¯|¶}­ÀVÍ^ž®Y§Vï}P¯ÑeÏmº 3x\ÍUTö¯€Ùsb_½zŠšÔï7¾; )W®'Ë_$3Žÿv ¬z¦pªøé‘5¾ ÷1òƒLV/Û n¦‚[›vfVGÒìÀ}§S˜ÝGvQ‚Íe@AbFyÍU–.OôÞ¸; zŠü7n(îmã<îâ¾;wþy*<¿á˜©…v‚%£H!+¨9ÇáGHÅö‹É6qréo^±¥µJteËZÿÞ`Og-RY¥§b=z°@¶×Ö^XM!?¤wúH5£–›©HL&S"Ž;f´››D($h5«$A‰ÅA ´ìUö6I¾#Hb»­Û–8oÑ©„Ä «<.ïëÑß¹“‰&Q–•ð((4I`8nïC+Ïþ ÃQ+^ôü3*bßÌIán#zÛj—%„\ºóZ ÐÞsµ§ÒGß©Úý˨€®dxýè;|l{CIr¸¿Wð+ƒÎåQÙÀTa@j÷Ñ•Œ|žëõÝ×s¦ô7gç½¼{ñßkñzÝ-%Oß9¶à9/þÙõþ/·RN3!bäÄa†dþË‹^s4‡,ŸÛ­¡Z{ifðÅH`;}á\ÿÔ¤žË„Œ§¤©Wý_϶²ªZΤãÿ]øÅÓa#ûت½ õ÷ÈSÏ•“-XPó<¦·'{¶õôU×çŸM¿¼Ü#nˆÛ@3•‚¨g}#Ë,¦};P—ÚjD?žï•bÿ•Kõ¾õìgÁ¤Å>¾~òTh‡ ¢c}. ëÕÉP˜l&€0þÒ—U»™XóMëž‘•~xÐÂ$ß#'ž˜©ú¢¡©SZj0-™w²¢š~~”Xž[~šù[`nÀÏÀƒV¶–:ñ¨âÜŒ„G!Yè^õƒ‹¬ÁZ9¥Ç±5Äàô©ì  óÄÁ&µÎ߸ƒÐÇ©YñÕqƒÁ ¤R)ƒQ·V[~‰lø1¼Ñ9°¡-h9->r¢ãîM».D§? ¸ø¤æ=•ŽÃþ²lr7¹n+«é‚_Wü’æs,¬j±¦ãÌuôPW~«,©ýÙª¿×±Zëÿâú©×Ö“¶¯ïyzò²lPáÊF‹0ÛOü}Mä7¿]K¿²oÝ`ÙNÙ¶¡Ь Ád ûý¨dËÏë/ÅE]ý'êjåb-GÏe«¾Tß=:H3ƒ/E€ªËD~C“L’:½?ç³=§_»öjÎ"=ÙöœVosôûu˜ÿ©ÿÊ„Ü.žë¶~×£Ö1Š%k¡Á_rx;sùêSÏcNÇT.6p™»jõ¬Îª@h8ýøÇ×ÙË…?>µññ)Ùûlk·U»fªîõüånqðî%±'½¾·U±ì¤æ«ìÑ?kõ>'¦¼9[ÿ{?FÄœ9s¤R)‹Å:pà€â£%õM›©hðQ;LEB%Iqò‹ð'1©9…Š£¡kbíг{GÝÆ9IŠß Iͯ`jÙôtéeÝPJ%¡Y±Ï=‰ÎhÛôìb¥ž}nÚØÍ/õ=Žy/ëRÝ’ É HH-¢5M:÷À7Skäiƒd¼½ñ*·‚­ofiÛ½g'Žr¿uö°ÕŒ>;oîéËÌ|~çÎÓ¤<G×ÜÁ¥oWãêñ‹ &St£Âì¨ûwŸ&æT¨´ëÐѶ[[ƒÚ»‹.Oó*³„¡mÞ­oßnÆ\¨²„`¿ ørM«¾Ãû[©“¢ì§RËÙzÖŸøÌ¼þçUB+Ò¨²U°d@ò{ƒv IDATBn„–??0’â×ÏžÆg䕯&Ʀæ66fZõW(¾‡ÒÄ>lóæÍ‹ÅŒ*J SšD±0¥M’døïØq-K½÷7?{XȵP¹WYFöÙì·{°ö‡t~¿FöSon2ÔX¶¡O[0¥©!BS& ÿè04´Jƒo?(6µÞ4½‡€*Ž:÷û–0 h ›Ô`=?B!„Þ­‰a ÁúHÙÞ,„:Éú/"¾=÷xß×Ãþ1ìhiÀ.IO΀‘Ûš%.𥠄BM÷Á6¸´ ¤VŸŸNœíuæŸSWÃã_EfJ­ÕÁ±Ïð/fx¶Â‡Ž"„BÍÒľ)!„BJW§o Þð#„B¨Â0!„BmÓÛÛ›¦i‚ÐÆ6„Bµ)Uµ)<ÓVÍB!„P]Ì!C†H¥R6—×Ú9A!„ª…©®®.•JY¬–x„=B!„PÓaZ„BµQ¦ „B¨Â0!„BmTÍdù/^¼hÅ| „BÕQ¦ØÛÛ·b>B!„êÀF„BµQ¦ „B¨ª Shi«f!„B¨.ffNޤ$;=ñUkç!„B¨fèÝ»4MÑÚ9A!„ª… KMÏØ¼µs‚B!T ÓÝÝ]*•²X¬ÖÎ B!„P-8Ò!„Bm†)!„j£0LA!„P…a B!„Ú( SB!ÔFa˜‚B¡6 ÄBµQLe­ˆ¤½NÍ)ˆ(‚ÁQÓ6lofÄcTiÒ“xÒ®[µf†DtEFd¬È¾Ñ+’Hþ“{ätÙË4©X…ajËû½þ.L@yXÆøé% ÷ö6©ª4=_¢€mÙ‡½é%„¾½ÆäŸõ'òþ!„Bͦ¤Ë)U–—Mëwtpä;õèb©-I{›YA+gí´¤¬0'-1öuYH'L[²­øEÓq4o@WFÁ³’¿f%ï §”•¹øýék Ьx“¿Tc½(Þ3'óF¦rVB}Ú”T›")+ª`éYðTHPÕ2²°¨xU*”R“-’‹‰]׎š iYöëÄ´¼RÍV×7³ì ¯J¾|–Âk¯Q˜–U,"UµM,,Œ4˜µ1D‹Š ŠËi¦PÒè[BÖ”#f ;ã—ñÓ.aZ„D U2gzIx§|í/üÆ ß›½ÿ¬àu!aèÌûúúC-ègË¿õ^sy"Ÿ¢ˆ†ÝHÝe«5­ÔäÖ/‡ú‹€T]ú§á]Ú’æ,»E 7Äú„B¨™”t1ejèpÅ™q )ÙE@°õ,mÌ5™¤ŠQg;6Çо[GMH “¢“…:»õêÙÕB½$1&¹X ÒÒ” ª­cÏnÖ:¢”ؤILr,:ZY©3Ÿ3’ѱ'@|~YúŽƒEwÂ…TãþæÛf±¹fZkWSPh¸ãöë}i+–‰ûè,\¨Æ~X¸njVx±lÔÿíÆëNîÑÞYßÿ¯¬D¾†Áô»é¶£NZ4]ZD0ôxM-G„BÕPRm ©jlï ž““W÷ºLDªòt ŒM 4XµjEÄ…é #{c‡Ð15×ÍKÈ-7Ñ`hµ7ÓQeh›æFe‰ut•õ!Âö‡öäŸ÷-óÛ^æ:=´¬×nÉ05# -–™†pË)hò–ÿ®ë¨F÷¬(Ÿ}¤ä¿ºÓÀr©ÉʯX jù°ï+á+Õ\µ«¿9iâÈ5©ôù¡ŒÿùJ9ÎS»aU B!Ô|J ShŠ6¯)¯)-.ÍÏL~)¶ïfÊ•K$©Si‘á™D凤„–„ XªœÊ ;ÉVcAHJCí§ËyV;çYR*+Rt>oÿÙÂõËÙÝOkiVg­\’QÅß÷,®þ`V‚T@¶·e0@…ek+É(¢A»Vî¨’Š‹+ÒwHÚ7ܸ†gÆVRÖB¡OšrÂiaÜ“D¶] u–º®Iû’œÈ"Ô”[ÓPC09L†šQ·®lhiE¹ˆTa²hq¹. ”¨L ,6CY1 ˆ„ÇqÊ Sí´¨—qqs5I Ks^çJ5Ú«3h )Š––ïÕ«W™ªôU¨ÒìWqYlsZZœœ§ÒžG”f¾Ê”jZñ”ÕâÀf÷Æ>²½b߸¤À>ªêÒØ‚ÓÑJ+Óoÿ¾ !„úð´NmŠ4úÔ•lÃn]¡(îêþS1 Œ=±éhH¢jO·/ÆõÑÏzpfóîPö%ó8*=¬žbwtó‰û)jÝG¸vÖÎ~rqç‘‚†Ö&Í Þ¹öXÈ+®ãè±ýM‹Ÿ]úcËåÔ²¤ó¿oõ~&±wŸú9Ÿuuϯ?/«iÒaûi‰«6X}õûâÞš5%#xñæ¦ÉÎC»«@Ùó{ÉB ‹cî'˜ºö1(}°ï×}×#Ží¨žvvãš/Ë«¾uä¿e±´y8® !„RD+ÝÔ[ÌÙ°n˜eµüÛcÉ)©%”yi~9ÐÀÒé4bž£sZi¤¦iØNƒ@ªks2ùž³;kwéfX–ððõíû©e¹ùBZ£Þµ‰uB/?Cûé˾ÓŽ,s29 ¹/|®g€ú€ùó'uQw½\~9ØçÅԮβ `ii±H®i;µÂê¼ÒÀ{sÓ"®óGîƒ{OÂÒ…&¹÷i0suÖ+¸¿ãôÝYéiÁ¢ÇÚ‰¾Ùöèöµ„É ¸ ;ô×m_uæb‚B)¤u†–¾ @³¹l ¥4­ÖmÖâ‰'N_¹áÀý ªæ¾œß]îzNpxœìÇþþ{¿”£kÌ«xëÚ$¥™Å,SÔlÝçÚ]²ZA¿ÍªþdnZ±4ÞQ lšk3¤§Ú½‡á¯í3bÅÐÁÕIJ2KƶíX@pÛÛèÁ£´œÍ`˜8˜cŒ‚B)¬t‘ JR2ÀrØâ?ªeG=¼uþßëA‡Ø÷úE¯*(éâ~ïe vý4P?ëü?žËhxm 5=u€¢ì”BiwU²4Êëx@v»ÏºkqT|÷ÓHc&-ÌMJÌkuÕa¼3o mZÕj°“FÈ­`ß+‚2°˜ÔKÁ 5ò3^f‹{š³hAJl.€ª®VU‰A B!¤¸6¦Ð¥‘§¶¥jݨ£!UT!Pk§Ã!™l@IlppT! J ¾|.¹,üZÝÐXaF»¾£:=}bÓÎ<¾J\@PœÐzÆÓÆ Ò »zÏ÷¦‹^þƒË7ã¨n z{wà@KÅõoZ¥ã gÍ[¡Ï:Nî©Ë†^ï ½Nïxè½~cé@óò§× Áxü8UHSZI!„BŸŽ62 ™a4ò§¥î=õ2ïûœ9ëû¨¬C¿+gÙsÙí]‡ÙªCÆMŸ'¼qsFXk–E>§FY™ÏšÔ„a0hɪ/ût¨xrårpºNÏ/–/a¤në¹ê»‘Ö¥¡çOœ»“o>øëu?Ô{we p¬&6°i޹kmë!Žº µ{óÛ‚¡T’/ù>,6vòX¹z¢%ŽmF!„š„˜3gŽT*e±Xxo[Å)Ój›°]!ÔºæÍ›'‹UÞG£]ë?¡¶«ÖÏ”¨~A¡ÖÑ‚aJè„®o!B¨m‘ M@öcÅx!ÔJZ*L¡+ÿt­¿iù·ê¦G½_õF @È¢ˆêx…ÀH!ô¾)?L©®/©PhÙÀÙº&"ip¤Bè½#d1 Atu¨BW+4V« „Þ¯–©M©‰HhZ.:©z¥iŒQj{Y8B •¯ÕÁ‰,jÁ !ô)9L©]kBÓ4P4P4ÐMS´|¼Bm=µ TÆ!•q $$A4PU—BTÿ!„Þe†)ubª*F¡hš¢@J׊T( ª1!Ôš*Â$hY‹,Fa4I  @© „Þ»é›"_"¥hiÍke¤BUuWÁÖ„ZQsT(@ƒ¤)@0d5*•5.tu'„z”¦Tä‘Q$TÕ+]ùwu ÈUÀ „ZEUsÐ$AÈ ˜AÓ4M4@ÊÆµT'aäV÷gr€ìñ?¿côÛÀ,Ù¥w¾¼ø¾Ôqë­ƒ®-´â›_Zþt&ñYÙM¥ž’ä='ìN‹o½þ›a˜øçDÏ£é ¬WÓí°×ä;ÓN컦»*ˆNò8˜òf’gleeç8tòLwG=–kJrþ´ÏȤää”\KÓÈÔÌ̪Û@÷Én½Œ8í"Å(-L©žEVQ" Ddõ(bŠ.ª Ê“òÅ¥"JY[Dµ i£Çh©ªÁ&¡²S--ë¹BCe…Šò•Š——rdRO/ÞÏåfÐâ”¶‡PtZN6ƒ •ø­ ¨âôØÇé±}n-9ºÃóO¡ËãÏ®\¸5$¿j ¢¢ŒÄç‰ÏøŸ<9ú÷}«F+ì O²}äFôPUõ(åÔßáÅC-Yã:²5ñ7µêêjoy—¦éÜ2é®Ð¢Y=5ÕÙ ‚ I HÐtËU¥@yÌåÀ<€”Žð¾—3ƽÆ)o`[/ð _ ·€Êöš1jC4ϽzhÓžÀ AØö'ûœ˜eÑp”A—>Ú±hkH>€ÑÀù?Ìàb¥£BR¢¢´ç§öî=‘ê·ê{cËólð‚€ÞIyaJuÛMÕ¸) R$4í/kÃv2f2™LÛµjó‚¨(ÈèE¤Üyí0ÄŠKÒIIÓ$AÈjQhPz°"ˆö¹•v –èü³õ^E„÷Ý· §´ 5ë¾36ìW7aË3iÂïø©?tj(Ê¡ò‚zçpûýïÐæ1†•±ÉÖlßóóåœ,zl~’tòP¸çÖ¾-Õ†>J\Ù+¶²Ñ‡)/sDÓíÕØl6ƒÁÀ0¡¶€¢¤ ‘HJpæÌYmxi'WK®”AS4!«Mi‘>e‘Þ·  óø‘CužíºwOôÂûN–ûçF§´!L“‘3]vþ"Êz[Huj¨QN˜Opzy¸¾ñzVû_õÛýä–àŽdaß.XŸ‚ÞAÙ’åfr«ŠThŠuÆ(}X òó õ()ES$TÆ(²¡y„ò;¦”Ez‡€½{?Cmöج{ÄQÞ!™î5í@ç_=lu„Ù¼³ÿM®¸z`ÿ©k Å$ϬÇÀñ³çOv2o… ‰·ÿ;ás/2>1)³„VÕ6jßù³ñS§ã²åóNEú>|æúƒ¸|°u,ºÏ˜óE/ƒº-tErÀá]G|îÇæ‹H C›ž£¾úfæ ®üº$yO¼þ>zñfx\žTu:tê;fÊ4–jO¬ÅÖ1âä‚ O hà{ÑÂÒ  )xóË«ÙMþ~¡uÇF»Ö[ï,½âÀ¹ƒ–=6žyêÜöÍ]ëö\|–Ûùçu†{Wù—°ûl¹²{V­‘zjšûö80›{öÌ\KVÓ7±îúß#uðÚÕz”üë‘M_=ϬlPȺàaŒ‚ШzšŸ¶Ò·A—<óºS]Ýûê“„fO7D_ É’¾™ZZpwÓ—Ó?}/±P Tqò#Ÿ] ',:[^•5ª8|û4eùÜy–YÂäªåé±wÏl^0qñÅ´š*$QòÅŸ&Ìøý¿¸|0Y ÊO õÚ¾`ü‚c1‚Z_S}d¾ÇÏGƒb+´ŒõU©’̘ÛG–ÏXé—Y?Zul¡û×[ÎÞË“åù¯_Þû“Ç—¿ßÈ+½ÈZ‹0/½€ÃSy£ž¤ËÈÞè§Û7^ˆ)ycØ©Ós⬹_9°¦mcJOœî»bæšsÏr$@ƒZ÷~<ÑãËO‹kí1IFOXOiÆjÖ&P+SN˜RóÜãêÇ VÍáFáNFèCV=‘4M×óKW ºäÙÅ{eD·ñ.ú$©Õsl7^^ Ê|3NI;»ërº†ó¢}—‚<|pûÒþïûiT<Ú¹üpt9ˆOm8ý€ëüÝÁ«÷Þ ¾öàæ‰5£ÚT„>'”­H{téú "`Øxn=zÿþÃ;ÞÛ¦ub‚ðéžµçSä/]1GNÄw™½÷ZhðŸ«AÇ–8swþú/V$+¥â°íKö<.ÃA‹øÝ ½vÇïà’!Æ©>«~¹˜Ú`ëÚEœì{äžt»Új5|õ`™¹/pU€Â[›§3kå®Sþ_‰:`UzY×~ßBuq_¼qïß'×}fb?®@~9¢Dný’Œ ËñÐeâ`cf37¡…·Ø­ªEê"«g¡¥«æGQ„‡‡¾â+¾*åU‰(ºr¶FÙ´-€.yêu_@:Œï­G:½ÆÚë”QßÞæ›Ã;f:™¨1†º ÚÖ£+Y)g‡ÑTQÔýdèôݪ©Žú²&†¦ÝØÅ‹º@nBŽ€. =p<@{ì®ý‹]-xLÓ‹6/é ±~Á™ò[ÖµeÇ|g=&Éë2iå|kÈMÈHÒ}w{çÓaé¾õS{¶S!H•vŽž¿ÿõ³#¤û=¼³ò½fõã׫÷„݉M/_e DEiQ·ý4oû :Nò°­o‚—*¤ŽëÚÖŒ¶ä•á|ûʹŸî3ØcÁê]'¢òjW^4®ô¤yÅ]=´jêPg[u’Ûy\M€ò‡¾/JåVyûr<ÃÑ£;F³7¡ŒDMFÌ™3G*•²X¬4y-²YÚdQ$H(Z,¥…RZ(¡+$ôŽ»…ŽÖf±pŒÍ›7O,3ª´Ì’«;©4¦ZØÃÃãìÙ³-”„>Jÿ5á·Ü(Ta¸W˜€ì>ÞY·ú¾•Ôï=Ú"c áò­ô)u.Íæ}í4êÄG\«˜>÷‰/s%ÎfLކVå© /-ùõ«Äè§¡A7®FÕ|B”õ<¡€Û‰oRû‚Kêõ›·ª_\u5®Š år Ly” åÑG×üt®ö½·´ø¥J²‹ëéeS›Æ¨ƒ~k¹õ¼S5 mëbiµ·îÒçó ÇÚ)XÁ@° ì‡zÚõü¤%)/Þ¹åÕÿi–´,æâš©YÒ³;Æ2]zf½,k×nìmŸK¡~Ñg>@’~Û7€ÛoR/YÓT³7ZQK…)Õ£“MŽ1 BͧüßQ#ÈD>ôz(êñšNkÞLè{3Íó«r•±¯ÆÝ7ÙÚ†<€üÒÜR)¨â˜+G¾“WÓƒSU ¤zÃe¹¥ aÈSä,ÈRe6|e¦EEy M J®?IE±ðë¦Wgz·æbh´wÔÞaÇÂe/½7ý°áz¶àÞο úÍ‰ÛØÒãj«ÖÙ\;7WK^ù÷®ÄøŽ\Iú-ßDÞÀ/ºódhþ&PëiÉ0°6¡÷«%jSZ•zá‘€£Á«ó˜ZX\"Hò½™:U~ÊSZ,’¾1"š–%À`2  ŠÂþ˜¾ðlhwî?ÀÙ±«UÇŽÖV:‘K†, «úB$“J¢`7ÿ·4o$‹IÐv?ûþ;Ñð“¿¾I2ýwl¿–©Úsþ/_Z¿Ñ4DjØNXµõõ³'3‹Âï&‹œ:5ºôÞ5ªj3f Ž—WþkqåŽ]²où%è›h_Ù¾Óø„SÛåHn²&[¥™¾+~8žÔ2ÃýÊŸlüj©o–0õüâY[Ÿ•·È6R®÷ë+1p¡òB/>‘@çŸÏÖpnyg€×¾µFÝ@fTfÝŸQ6 £†a÷®ÉWRDrodÝôOÖJ*I ¼F½ºh“¢ôgÉ`öùô~µ'|+Ë•›Ãƒ©ïÐC@úâê³Únˆ^_¿fý†çS¤ŠÞRs:¸Ø±rn_‹«s;#ˆøc¼ë Aî[#Zú<Õv0tºt×€èþ‹ª÷îŽ.‰J¦yWC–’JOÅfÌ`}€Ü ¿+~Ifncåz,ãúµ¡0Eþ.Pš}åçøymûqö”É_ý¸çfôƒÿûf†‡Çôþ Ζˆó"EfPr5YâäÓßÏÝ);šÅ)ç½óE…BèýùZN©ì;^4³çľzõœ‹Hý~㻓råz²|œ’qü·a…U!UüôÈš?_€…ûK6l. 3Êkâº<Ñ{ãîhZÖÌ£b;ÁÍ@pkÓÎÀšÚivà¾Ó©Ìî#»¼í錵š½<]5²N­Ë˜.0 IDATÞû  :¢ËžÛt!@gð¸š;ûŸŠí“m ãäÒß¼bKkW©P‚¤+[Öú—ð{:k‘Ê*=ëу ²½¶þó ÀjÂ3ùîL¸ƒ>`-Þ7EquÚÔ¥y«Vï››{mÓêÿKýâ· S.®[ÆtŸ©,Žù˜¯¿ò'j`…o_ƒyÅÓCëOŒúiûJ3Qä…í»Öo·}ÇkÓ¾Çvó×/å«¥ÝØ»ñT¹Aïwçü]YUNù ¤ˆÆöM9zôؼyóä—8p`æÌÊÎW=¤™Á#€íô…³N½wL¤žË„Œ§¤©Wý_϶²ªZΤãÿ]øÅÓa#ûت½ õ÷ÈSÏ•“-XL«ýx¾WŠýW.ÕûÖ³ŸWûøúÉS¡96€ˆŽõ¹l0¬W'Cëé«<®Ï?›~y¹GÜ·f*Q7ÎúF–XLûv ®âwqÏyñÏ®÷¹•rú› #'s0$ó_†\ôz˜ 9dùÜnŸÔÀ–…ç–_£fþ˜°Á3𠕃­e‡F<ª87#áQHDú£Wýà¢I(«ô8V£†œ>•]Btž8ؤÖÅ wЬ …)uÏ­+·1öZBÍÑÁàgÂH;¬{Ùkß*ªh Á³®·­.~êý;fãØ.úL§I³zßÝïLw›=½ 4G5ææò°æn¨Ñå€Ps4¶6E‘TG*ï-Ff_ŠU—‰ü†æù$uzÎg=z N¿víÕœEzÀpZ½ÍÑï×ýaþ§"ü+r»x®Ûú]5 §ÿø:{Ù¡ðǧ6>>%KÀ¶v[µk¦ê^Ï_îï^[pÒë{[ þ’ÃÛ™ËWŸzp:& r].sW­žÕ¹qw× ƒa¿•lùyý¥¸¨«ÿD]­\¬åè¹lÕ7ƒê«+ú¨±MÇ®?Õî¿[ößx•ÿ$7þÉ]¹7;¸ÎY¶lšsM©(¥ô8V#‡µ;u" HÇIÞhCÄôÁjCaJÝ»@‚Íe@$ÁT­|~D­É Þåmk–f 3.®úÚO¶BJ\Áì^Z,j˜µS‘-bé˜ë2ߦÔD ÍÏ*BJÒ„‘>Õ‘Ê{ŒQ€a2ùdøäw$"u†í½?¬òt~å'5»ÏÙë7æù;O“òD]s—¾]冒šŽóþº<öYhx̫̆¶y·¾}»sI 6ãøÅ—kZõ•Ým3 ú/9â?5êþݧ‰9*í:t´íÖÃÖ æá„êýö<¯'cêýÿzX{9Áé0zõI×9/BïG¼Ê­`ë›YÚvïÙÉ€óÎoð¡ðú¶Qi6ýløô†Þ% &Ÿð®(š˜m9÷bø\×ö6,§éÏ{®xý,ìi|F^Q9¡a`lbljncc¦õF³"¥Çtð­åÄî´Ø/|qƒo+c¨´¡0åý¶©3¸º*–c¶mªKUž™œËÖ­¸¨Z’œUA›³qArþ}Kª§ —fcÏÔæ4íw$‹NÞcŒÒl„Ša·!»½%ªqwW·îµ’jztX'%Ç ËÀñ]ê,m’kÔmЄ·dëSÃäuè9¤COÅ¿‡ÒÃôáiC5]J¡@•Ä?yøºL‘e„VÑ]sξSZœöÔ{ËŠ >é̃jE=œTP’éûof­®þ¤Š&»4æþ³ŒrQa”ïÙÇ¥8‚ µ9Mþ}H1 Bè“ñqÕ¦ˆ3ƒþÞótð¶îÔޚΠ–åþ{û÷ÇŠhM˾“~žÕE• ã—/,Ùwrõ¼},S'·©snÊ}„¡ßo¦ûÃ=»¾àv>ÉÃæx\ssŒ’}H#}Bè]”üèA)MK)P´¨ê¹ƒz×=…=ˆ³Ð"Ô| þŽôà÷.Z*LBöôA6ƒ`’ƒ†=¨¸ÊG2úì¼¹§>¡SË>z°9ç,ŒQj¾÷ð;jµ¾á„ÎÈ#á#[kë¡ÖÐâ}S?£}P³g"ÔF)ýw„ÖB­¨%â'9¬MA¨ù”ÿ;jä!„”¨¥ÂBî ÂÚ„š¯%jSû[F!eQ~˜Rùl{f;{ö¬ì ‹¯øŠ¯M~m™ZÉšî²ø„{„Ðû¤ä‘>MKiP´X ")]!¡…zÛEFú „ÞÅGúüØO›Ã$T˜›A°À$ d«ŒôA}êŒôQNm Qý¢ê¿$8c•mØ!;©a˜‚Ї®2L!ä~Ú­%„ЧC™aJe§”ª/’’ $A ”à¼òýŸ½ûkZí~’ eï¥ (n¯ŸVTDPÜ "‚{«""×-"nÜÜPQPQqï  eï-]i¾?e¤€^®¾¿§÷¹Ø&ï{r’&§™ÿ1ꪊ8 ÇÊñ|ýjªT©/?ýönd……¤‘`¡Í|ž)±6e`èì;i4bccccï×0€®ik†&“† ‡J• ªR©/?ooJ…ãÖŽa4 hÐ1¬¯9ëÂûÒ¨DA‘øiÝ!ò/Ô\£°Ø,‹Ž]V&Jôòï2^ö;ãëÞT« òëýìGb€‘€a€‘€ã@Œ$I-6>¹‹êÄÒËò…èè‚4 -Á¢¥¼Ï”Sƒéa¦¤ÂÄè8Ðp Ç+œE‹ AêËO+S0²ü‡$Ž  #IuEÚÐ6lBÆ&d¤¬üÒe(¿’U.ÒPÊÊŽ²Â£ìÈŽ Çh8б/5Ê×+±ò{ÒªU©?uo  ä—uà€c$†aFâ$F` ÃËj I €$ËþC¤á`_ïÜV~uŽ•=ùKRv"{L-Ú¿mV’´×Õ3naX@7Å¢G[ç®8õÑlÕåívj§Æú!«Îã_­éô¼Ö ¿0²F¢qO,‘:ÎíîÔ°=•¿½Yó<¥¥’ “\ûÀ’Ÿ~ArÕJ…,;W…,Û«RV£”ëiYƒ¦ÓkÆâŽæLIꨔŽak¬TÕç[„ÈïÍÓ_ä×íß™-£lŠ ÊO]£ȿœNeY‘Aá6¬wQ¹CÕ÷æê­Î˜Š+'Ú¯ýÌ ¬>ã*eXÞL¬–®oãÐõ»Ûè¤Üz_DÊ ß<ÊÁáṡRVðên–qŽ6Nò_~ÕÙÿLôõCžª7·îSú­;9Ëd £@åùK9ðw-T¿“Ÿ m™²£?€‘_Vpä—+Ð%ÒˆU¸>FõæÏÄ4›°÷l›+a7bv/Üò.[ÁŒc;t¢çˆŽš4ÀYÖ³¦Ù7SÅÀjÒâ‘W&‡<üÌ?sKyÌ‘q€íÔE}®-x?X/4¾åô ý-´p°žè¿Ú裺œÓòY­v‘®¼–(ü«eúõ+y¦tÓ¬ü3 §3pInf&OÖ¢½kÐ%G KˆÌ›'^M:=ªƒ. tgÎ ²õR’«3ŠmÇáh)â*=ºíSòpí¨¡íz[j_Ê²ÂØCÕBM˜ó¿ŠT‘´¦Ã';š±éÐÆÞ®ÉÞÛ|άI%˜šµÿiKu}mEHY*J˜ @@€bõ¦DÉÕóS§ðªåÿoU§ a†.>SM¤DÇÿtWЍ~ W­¿B=ÀŒñßúå?`Ö˜."KÞL¬–ùŠKgS›®ìK·J»ˆîdZŒ\x5&±”Sr‹«gÛ]Ÿþ˜æã§ô3eÑ¡¥áÞ‡´ÊF”P圊QjPu`Éw-T¿“_U¦@…Ç&—­3ÊN—Å*}† H#ö‹ßC"!èuæm9ÌHqþûèÐí¼¼ CŽ{Ð5ÌôË:gê·Ò!cÓÒ¸y”ƒýB˪ Bħ[ñòÄŬ¦F¬²·˜Æ6@BÙ»Í@ŽxmdÒTŘ«Íì¢Qeg2Ûré.Ÿ“ÇͰ˜oÜs¤»—{U…¢Ìb¦©zÙY½ËÐT™Ÿ^$\AE Ã1:›U¶*ÅÊžµJðÒ«‡Z"w£ÄÐ0Ñ,_n$•NyÀp)÷zï•wy˜º±‰rÑ×Sýª6%-äVÏäS«–ÿÌRšEÕ)ÆÔ1×bÔÕäêë¹£r“ùµßÚÒEȉÕ2_‘¢¹}GrMlÂGQ¢z¯Iý?]Ýð()./žÕÍÓ˜ 1†VS zÙ¨•Ÿ°K™s Aþ(ª ü Õoä–)_U/Mþ„ýTò_TŸ¿ øþvZ¥»ýÜ’JS³MÿIS_\ò|_2Ù@Z˜)$-˜€$+>Ôôõ ÔY­Çž<<\Ÿ›©`@œa ^f•’ „ˆ’.¸kà2¶u‡ìvƒþ'Øp5»[Ôy^çª×ýÈø©ŸKÍ]üLö¤>8²tñ¼R“óó5ô”Å“y„›@ 2“KXæ*µ­7i*ºÕC5‘MVy£EÉ¢¶È^>ÿ„žßžc½›°pÁƒƒä4ESÑ«ž7ó:„W-ÿÚâÛr:ý²­!ªÈU\-ˆ¿öK®oWÑTåÎD¬¦rÕ²o«âà«7h²öKM[65+Ü)";-1S„Â²Û É™"Šœå@ £P©:ð÷.T¿_s mm0ôB/ôj”¯úÄj;¼§äü’‡cÞ¥dçesßÞ8°%‚ß¡U d‚˜Àí×óóSîí[{Šo5º›¹µ›eFðúÏÒ‹ >Çš?~æÑd¼™Óp“·Û·_K*ä½:¹.ðÂg†¢¼Õ¦ÜnÐ_…§6žâYïXýÊŸâ'›¦M¼žÄŠ Àhthz¶.íS÷œ}“SRpu[Ðsý!ƒÍk»F×ìQ=TiÝÓKIi©ˆR"$*jÊLLœýèøþû<¡@LùëiJ‘z]«–ÿ®jÒZ:­sTuÌUÙÄÖžLùé*óc3SmïÐŒ{êTºY%•Ö½ ’BÎç´ék¡Tóh”9¯ã¦öËü¥òoªÿ®úØ›‚ R®n½üÀª=[C‚æìNÉ3UÛÙNÙ6s¤1ø †C'f \š§hf3y“OoMn瘽nÝß#óIÍÖSƒrØ Ì5`M¡àÄ>>3»Éçtd¼5=¦ò×àN´Û/z û«úý(p=Gßy/–om¿Œ`h¶ê3}½w+Àô®ÈY0{À†"%#ΰU›'4gBzm“¦IjÝC Èô-;+®ð*ØuaUï…S£–Ìéw’¡Ó¢ÇèqÓ¬·Ïß`½Õ¼z[ SŠüà¬Úë–-U!E§=6›|›è:GU{®Èo»º Õ©µ¥«ÚÍD\³“½)¼¤÷´P\±cw=ˆ7è×V«å€eÎÉÂÚzc~›d£:'ê€yzzÁ`0vïÞÝÐÁ ‚ðcçÚÜþ@ˆ‡é¿¼ƒJU‚'+†.§¯?»üÂÞòöËò µóöö–H$´r sÐA¤ž‘b^ö»Ë{o1퇷F5 ‚üW 2A?BéëÀñ“öK/šØú·¿„A~èÜA¶Õæh«ŸÜ&«óÊ«÷r›¿«_‘ù1ho ‚ ‚ *SAi¤P™‚ ‚ H#UeŠ8éðTggçáYß{__áÛ­îÎÎ;Þ‹~I`UHÓÏÏuvvö½_ÜPwÉ.ÜøL\û€‚ ò'@§Ð~ƒ³›YÙ÷*4Ôc4Àýdïn~Ø’e•ˆ}{ØÔ, »ºa‚ ò‡«ï2Eœtxößá…­Ý\4ï^¾Ÿ"Piáà9o|W-ÉO¸r`ÿ҉b†šI§þã<jD.ZyW·WL…•;&à×÷î»ü$™'ÁÙ9L˜â܉,§5Ç]9t(ìqbžˆmСÏ/Kº$çñé=!QoÒŠé:mí\'±6dV¨HdüO±Q·ÓZurh†}Ü3ÃçFi›Á¶Ø½è·Eª­ûMpiòâhÈíÄ"V3»‰ó'YëÒ,‰»\5$ É Þ}áI:˜ØŒè’|èdRËYûü­U¥5öŽ·îi>æÚ»•¤4W·ÙVKT£ ‚ H›B¼‰ÈÖïÐÞx¯‡|‚(þغCw’”:5¤»NÖÓë·>`ö™7å/ÅÎS—Öÿxhý±û\vÇþCtÕÈ~~>èÀ¼Öˆ¼˜ ÿÃw>³: dc\ôòbÀ†Ë©üOgVm¼ðRÚnèØÆ»+ÛVìͯùðŽøÝ•7Œ–š@Þû°@¿Ýo”Útj¦Pü)joè‡RÁŠd…¶ÿsô!³°âh%„œL*oªÖÞ Ñ£öôaFºéE¹2Š`©HÊ=êj7;–’¤½#ì<|ÏÈÂW«¾üÐè?Û×i©Œo–­ëñTiÅ·bçÚ¹I‘Bƒ©º: ˜ù. tЧ™çš´É¬æ‹gNá¦ËLKòK€†fëþÞº¦àl5}=®¬o¨¡Éq›ÔF£m}~âãä[÷Sù¹ù"R…²5‰æƒË¯%Ðdü¢™õp¾¥ÑñÙûæÒµ Pî5eŠK[%I{qÜâË1—ÞŒmßUEþ!Z»+—tWú||Îâ‹9fž+}ú¨eœ_874-+WH’ ªÕC䤟*½áË}\Mèü;f­Š)áÇ˵ôŽ)¨Î¯Šá0´àèÌf©3šN¯‹;š3ftA~©†ÙÒÔuØ8Îd1€$H’ÝÁcÎȮƼûgw¯[ºpÅö ÏóÈŠOØÆT²ž˜7mîªC·R…5¶&-É,`è«Ò0vË¡^Ó½†6çJn¯œàììÝ8–¶Ã¦m‰N“@¤‡Ž°,âòzÏÁ½8]lGû…q+žä.M9ìl5öt† @œ<”Ãq;™NH’ö·šp.K\½AqÂÎáý|ž–í¼'íá°ôq…=9¤ðsÄ:§K{çEÇß–PíY•dÝÚä9 ÇÒnä¼}ò ñãÏù»;Ys8Ý=Ö\N*­º£˜"3RîQ·Á~Wίtí3r[¼¢…ÚRGÝo]&AꬑleÅÜ 0s˜³ýpðºÅ“ú™K?ßÞwàqá·ošøÓùà oŠÛMÝrìȶù½uklÆÖVds ²äÝÙ][wO¢«+¨õšµjݺukW.ðš0~â¨Îš´Ž™2$š²@’™”/aú‡lÀª?·wùÏ“åE­ú'Ê`ÊîðèÈþ=>íß™-þÛGÅ£¶\Š:ãß+{ÏÜÕw erÞ¬‚H¿°xáE5à+‘!Ëm2vÎÛüB@ÕK~“±;·Ó5tÛwÚóíñ>DVø²!äðÀK7¯î™¬ÃgÞ±Ob rn?l³442ò€‡JÔæ=¯+Ttýî6:)·Þ‘²Â7rpøó¡„”¼º›eÜçÒ«” Ö@øaïÿ»M§Œ¼qüï6ÏŽ¾¢80-L9y sÛuv•]ÞÁ+£r¥¼ûkglM³ñ?}#tQÛkgly!¨8"ef@–®1aÃzõ'Õ[¨5u2ª~Kë0 RwäJ²ämÈÆ£Ÿ•ZØôí¤/ã ¶ž¦NgÒŠãcbÞýO$'Å\>Âr5€”·ðÓôz8µ>µ÷ý±uAyÅ7nµ˜0jÜ@;­GWbât­´ó^Žú(ë0µ›Ã_ÔC’ê!Ñt­Zœ8øñ¤ÿÚÌNìä»xe+Y °Ózø{Gÿ¬ ëâ9Nêhº-saÌÍjÑØvó¦Úšª``5éïQ“N>ü$½pKyÌ‘q€íÔE}®-H˜ó¿åÏ.¢Î È0CŸ©Ž¦´ü+몷0{QÍ©“ƪ6Ö;¬öI@ºk$e ÍÀqá‚â'£î_:)†z3ë žíXÌR[‡–ÎÆE]zÞk‰gÿÔ}‘o££‹-û8™]¸œ”ù2±ØDNsºvó|G<¸,au5Þ«¿2îæ3 öž¸uæX)S«•ýä‰ã{kÿ‹Ý ÍGzöO©R©mßy‹òw¼öúö}£îƒg.s”ZþÜÞä?Ã¥ÜëA¾WÞåaêÆ&ÊEä—²®a¦¯Xö7S¿•›Y,¥z“¨RæK ¹Å¬¦F¬²}ÄLc›Æu/ÕE™ÅLSõ²¯%Æ24Uæ§I€¡a¢IÿrµÑÍí;’kb>ŠÕ{Mêÿéê†GIqyñ¬nžÂrü†¬¼Oˆ(Î,UknÌú2¡ººÌêÛxº–¹žÂ×Tèâ±YÜݪ¤Â!eêÌHócê˜k1$¼tŠdrfÐ×h©ÆâŠjŸ©»ú(S˜fvšðåÿÆ4lל²ýòK·Å–nUFeµtùç€Ë—´ZÝÕ£üƒÑãÊþßENk ÖvÈÜ C*·¦`d=ÑÏz¢¼8é†Ã6Ÿöå^{Oy}ù»©ë¶S®_þÖ´éÔ /kuõ¨’¤ !™ÖÎyÙðåJ‘¶è NÇ0ÀjéAþ0²üèåóOèùí9Ö» Ÿ/•JkAE§ÓUUUŒŒ˜ÌºÜ8AäW©2E(ÆÅÅikkkiiÑhèNgÒð”•Ù5|J’¤H$úðáC›6mètt¢=‚ ¦>V@\.WWWWMMN§cºo2‚4v†åäääå奥¥™˜ÈyÂ'‚ ȯWeJqq±“ɤÑh¨LAÆ@&# †ƒ°'OžÒÔÔÔÒҪǠAªªShI’D5 ‚üçäççK$’†ŽA?Z=]éƒaªQAù.è‚dAA)T¦ ‚ ÒH¡2AAF •)‚ ‚4R¨LAA¤‘Be ‚ ¿˜LVX")&: AþƒP™‚ È/B¦go=ýª_àÓÁ/†n~<ìhâ±D‘¨Úp¢¬×€Çö‡²2dßÙƒ¤xͶÇöÛ?½®§Û»Èâ~œ¸í±}`\LFÆÄ€Çö¡ùEõÓs9qFÌîEnŽ=9Žeïî¾Gçɯÿ¤Ü£®v³cùßÓðÕj§Áï«Ï¥!IÚ;ÂnÁA}ôÀ¿7ËÖõxjÅ[Ö@UÒ¼§ÇVx9;Ùp8Ýû ?okäçRò'EWÝM¾à™o¿á;?ŠQLQã-S$9ONmZä=ÎÙÙÙÕ}Ú²m—ÞÊÿ6™—L\û¼ô{:Åíž:ãpRµ¹Mòîø¸M=ú ÝÖ AþYêË„‰!É“ER%E-  (+ÿàù׳îÿºUÿ/Eˆb_¦ˆœì Z0"QÜÞ ÏÊú¿~ûVÄ¥½ Ï]p2¥Ñ®¬h:½f,v1o¸çW~OÂG¦ ñ>VÐÑÝoϹ ÇfõW½»b”ëÚ»ùß[=#?Uc-SğάÞt]Ökæ†}‡íZ5¹KñÅõ¯f Ç+#È‚(;Ãçza(묛ØîÐãv_žÌA&<ü”(‘W¨”íYq8‘öfø¦Çýv¾ß/–I|x–4-ø©}Àãþ;ßú=(*”>ü!J ̳ûÓk±ôÍãD¯Oì÷ÝþzÉÂ<™üÖ€ä¥e­9ör`Àã>Û^ÿSE€,3!õïÏØûaû{a¥ß¹DéáƒoŽ€(âFê#A…) «w-½wþ©}À³5)¼,¯€ÇöÒSään=ùjhàcû-/½/¦?*"¿Nu¿SY—®¿s,ý3!‹‹~aðØë™¨â¯3ïýÃ4mÇI#»4Õ`+k›Y[ºÀA##³”?þœ¿»“5‡ÓÝÑcÍå¤Ê»(?•æ>Ü3g¤%Ǫߘe¡oŠd’äcÓfÏNñå÷¤Ò.)÷¨Û`¿+çWºö¹-^HÕš$3fË”Á6]º9Œ÷?êmïY(Í¿·kÃÉD1‘³uú‡cåäx+›€ª}QDX{§¤ðsÄ:§K{çEÇß–T-(ˆòˆôÐq–E\^ï9¸§‹íh¿0n埨Dú¥Õ;ã»üsdó4'ËVMÍ;Úº­8´{´ìÜê}oKù±sûN8r1Ð{pON·>.‹Ž¼äɨ³JÝQ­“OŠR®nôÜ« ‡cÙ{ļýÏ‹dT3¨BÀ¤àý¡Év|"3÷íb#-SÈ’¤WYê=G8´3PUbiÿo—»•jN®ˆ²ôó]˦ŽsvvóöÙs+UTéÛHù)Qðêôº¹®Îc¼o‰øÈ'¥é—W­ÊË÷»ã­P^DvÄßSÂÏmš?i´ëÄùÛ¢Þ?<æ7}‚³óø¹Ûc²¥@Š3îô›1ÁÅÙÙÅ}Îú³ïKʾüOŽ®œ1Þeôä%»®F¬œä{¯˜¬%li‡VPP¬ø:tèð¿nUúèn&·ìÏRÁžLIß`íhã_ö@·îärkp°iC}á(#ÃŒŸÛùŸÕ‡vÕ³a‹=LÜžBÈk(Î[u:%*›Öµ³~_-ÉãG >KK²Ó]ÈxL¨ºõ2ìN+>þak²ôÛ×”¦8dhsG6°§»™Û°¾ÝV›Ï­Þ5Öá/5% ž~(¦æ'˜´ÓÔl8ñé"—0kg0ÂŒöùcÚ’Ü7åÛKi wë[“Mg`ÀPRÐf)è(Tº{7®ÞÁ®EÞ©å>;/>LÈÉ€¦ïè8ßRïþÚ[ÓlüOGß]ÔöÅÚ[^|«¤(?•¦_X¼ð¢šGð•Èå6;çm~!1»së0]C·}§ý8¬*3E–®1aÃzõ'Õ[§œ\°ô†á´ƒ×"MÓßö”Wq W|½ïEÅ ÁQáÁc° ÿl{!`TêK^ü5wZúaïÿ»M§Œ¼qüï6ÏŽ¾â×°Z%rn?l³442ò€‡JÔæ=¯+Öa²¼'qÚ#¼íuißÞÄXíÆMnÏ‹‰Jðßî8*µåRÔÿ^Ù{殾SHȉ¹zGµO~^Ôª¢ ¦ìŽ<áßãÓþM‘Ù2¢ú *™,™?ý¤Öü½¾ú¿û#Ìi™‚©´ìjRxuÛÖÐèW)bhÚ=§.voÏÆ€,~±wõ±lÎŒÀƒû7Nj·wõÑß~6P~JdGnŠV¶"xï†)sB7~/5ä³Ä^Kw€ÿæémkˆ„È{-pX¾sϪ¡Š±»ýÎ)¸®Ý³g…{2’+²ðApðg¿]÷nšñ¿´s‡bódÒŒ+·<Ðu]½gïjW˜ão‹I9¡BipîîvïÞýõŸ»wïvwŸðo•”ÞK/ÿáGðˆ;šN(é¬Ý䯲J%¯àm͇hõLv¸5÷n1Y@Tš\JJ…b>ÀTQê`á?Ðl„MCCQ Ñ4™Š, Ï>¦þCš1Si®†ȲŠe$uk²Ì™Ï¤Ð̦ÅRÛ&‹FXxvÐnƒ‰Ÿ?ÊNºC?S÷.F‹èë‚䯣ââo1aê tŒf¨¥ RqÝ©Dѵ²‘NW(üT"‘~ˆã“ ähÁÌK¿#ý®-×9OØj™9E¹2ËK6MS;¦k„ãfÝ[ŸœÖau[f¥u4ÓlÂÞ³[ƘÆì^èÜ«§£Ûì §^ä²ÂØC·”Ç,Ç1PU7µº¨ôvDBùÞ ÊOßÇG„Æ·œ>«¿…–¦©õDÿÕ³lÔ¡¦u’ 3tñ™êØ©ýéáj­½ýpétJû™3Ì5U »¹Ïî§F«8.Ngà^f&O¦ÙÞ5èÒé…í+¯våÆ_c§o^Ÿ+è:oŽ“…¦ª~'·cŒ+uZIk:|²£[A³½]I.¿â¾ iI&Ól¦Ue“³Œ‹S ¥8ËzÖ4ûfjÆV“ddž<ü|:æêÕ6ù€©YûŸ>¶¤+]eEE–Š&(“åÌ R˜xj¡çæ÷Ý|—96ܵzÓXË0†ñ•Aæwoßz:àhB>³I[Kûa#û´RË^\x̸vP[:€¥‹G·{[cR܆”FR}šd«ñÙtôüž&êt6sŽ^² IB1¤Ð|ðÀvê »Ó_ºg†;¶RU€]ÚiÜä e*f¶WÑÑP K %¶&,ŠÒb"3Z¸-íÑD ƒ¿†ŽíqýŸ Q†=®uK…_—C©›²ºÄÛÛûçÔ( #ò+/!ø‡oäØŽÑo¢«;½s¶×Q &Aþ—ÎRPÆWf$(›˜,ïÎ=ø,ÿèµü£,]íÉýÔ*ޝÈÂ3ãÓ·Ýø,e0›(ÉjläJp}-: ”G;(H¢Bˆ<õ,òë˜Å¥…„†jMÛ>ù]+(4§ßzW›£š–F‚ŽNUàJ0cC&`´f†LHf•È@€¦©Ö¼Æ5Iˆ„ ×e˜·å0o Åùï£C·oðò. 9>‘–ž'L9èÑ/´¬¬!D|ºUIyùCð(>å剋YMXeo1mÈݹ SÇ\‹ ¡l-—WÌnjPÞšv3-FJ…qÙ–Kwùœ<~lö€Å|ãž#ݽÜû«VÜÀRFXBÔÖi¡¨T­¹ñ—[L] ]æÍÒÇÐ0Ñ,ÛäaÕ~ Ó•õTÉ‚ÏùRЩ—¬4+CÈn£J k˜é+~éI¿•›–Æ•“ójÕ6ù€áRîõ ß+ïò0ucå"r)f@’}û~;+Ú…½á©]\›4Ö­øOÓH'$ÄbÐngïÜÞÞH /éaDÈ~?¿¢ †Ñ² Eç}&‡—-/2‰Þ±ôë·±„âÓ’B)_É@O©ì-†^ç^zu<½c²˜`ŽÑ•ËVX^Ö†™÷n»“ÈÃTõ •ø$ -Ê(Q2Ðý²<34ŒÔè £ ¬˜…4eÕÉÏ©Q§*ÁÓ¯ûÔÕtü‡ë5¡‘Y>/{ ÀŠß÷,R^žôu—Mn¦Â+¾÷:}׋Ü-Q*=F~Ùª“ ûøàSh Áé×Þ¿½BFì›I±ò··€©¨Ò$¹i3MX|üvN¦š‡Ð4¦‰‘ñÇ,‘„­ª][r»¦µj¯®ö.÷ú“,ZtP×Ã1\ NM‰ÍYL’øœ. é²¿l41¼–´òüí´Jwû¹%”0¦f›þ“¦¾¸äù ¾ÄÓRWÕzìÉÃÃõpñ¹ ™ &,QbY$*ŸgX‚—Y¥$(a¢¤ íZõPOÅ´á8&¯5}Ñ1VIBf)Ù^ç~ίx^¯ŒŸú¹ÔÜÅïÀd?Aêƒ#KÏ+59¿¨í·(Û4a‰kìTOpP™—* -˜€8'!§æ `ÊWÜpMŽS‹5;÷ÜrÛè ]^Ä‚÷Ç÷¾Rï=ÛL¡¤‰™Â²ž$Yñ9 ¦¯o@³4¹ZGµN¾,?zùüz~{Žõn  «èQÌ ö }—õþóõn§Z½ñš]ÐÝFzTägi¤“Wúj³×¬ñe•ÆP3·îÚC5óe²gi©(š¹oÚðàÁƒîXëçÑFéËx4ªOÛik)–få ËvgŠS£N^|Åû)É{´mcÃiÁúÍÿY2e@3E €ÆÖVdæ~9õDR˜Î“àlª°k:Ú„ õë§Õ(ÀP²5+ÿ ÄÒZéfÒC²>|š–—¸¡V;%ù£S ‹SR}ÏÇÍ:›|.I. u¦"†1qaÉwŹÅ¿ËÇ|\ÍÝpöãÁ×ùŸ 9:: ¹õ$çA /ìvÒæ›i÷¥ôºìï$ꮕôuz² #žÇös& 0Ý–=˜ù0~idê®ð¸Õ‰2ÐÔu1¬^ É’î¿wÙùjÙ[qÅU«íðž’óKVŽy—’—Í}{ãÀ–~‡þTqÍn–ÁëOì|–ž™üöî©Õž^G¤ƒ—Mn«2ALàöë‰ùù)÷ö­=Å·ÝÍܺæ˜ë>ù@J„CEM™‰‰³ßŸ'ˆé¦rfÆd+ฎý‚-ŸÝ-øÝï6Ò2E©yŸNÒAÛ/>MÌÈ+ÌÏL¸îhL©…µ…2®þ¿ísNí»ò>§¤(íÅ… KÖ\JÿºhbTŸâF=û&„„Üã—Æ]Ù{$*^vÀ—” Åÿj“Á`+³ É~îe±¨TÂhbg¯w<ô~j1?çõ¥ûÅ®VSØò›¡µënÜ©¬P‹3DÆ»¤™ayy_>UÕ[Kûû–~̸S‹•]Õu óOÞK;“D˜·nºÖ^•ÍPrüKY„áyê–&C %Ü܈dÒºHû,(’S¨ÐÕ´WŒ2î­C4‚ ¿^llllì}yŸ²Ù¬Î;kiiþ $©w¢R:„m·«çI¸gf;Ï £÷zéܱ -â¶N[xö_¯¥i:½f,v1ÿ}ïæø/'°aòÓ`‹òsÔÇ}SX,V«V­¸\nff&AÔðàMAꉒËÞÞ^Þ§4MMMÍÈȈÉüe›"ãüœ¡E°ÀY²öÔZ³ò÷IQʵ­«v†=OçcÊ&Öã|ü&Ýš2lO›½gçµQ ÒO¹»OïÛÒ¥¹¬Úx"ö³P£¥­û’Å.íTñê½Ti™Î×щêóŽ:Ïf ?–"65¼Æ¬nÌÆ ¨HT¶˜mìÅίq™é¶lÐÓoGbBb>ËLúÏZÜ;%xó™gÐÌéï-Ë T™dgRFN•"ªe ÒÃÝȺ.9²ûuÍ“2± ªŽŠ¥ú_Õÿ5OOω'zyy‘‚ õIø6`Óê—¥$IJRޏØÎºWB9á“­úù†¿Ïâå%ÞÞ4´û˜Ó’ì°ÉÖƒ¶Ä‰H’”¦cí’*%¥™½{ÚÍ }™U”¾r`wçý‰"IÊËî“¶DOøEwæõ²›wömVaæËc^=í|žðIRüùÀ(»ù÷ùdé»­CºX—ÇËxzÐÛºsgçc\QáÝe}{yíœÎ+ø0ª»ãÚg|±¼€K_®r´é$IiZˆkçÎ}—†}â‹òߛܳÏЧªDǪˆrà’{sºw¶±özR~!÷ÞŽ =lÞ*(¢zST>w¾N 4í´GO'ßð¸Ü¼Ow‚'Z÷õ{ʧî¥bHßF¯sž+NeÀÒZ³Êû¶˜ÕºÌd&Ý™3jËÃÜÒ‚7‡'Xvî2f÷ó|Aî“£º ÚòAD=”‘S§ˆ*ÚŠ‹iÝ—œâ:gCBeGùTKuýóòòš8q¢§§§··÷´iÓЕ>‚4"˜šµÿécKú·ÒUVTd©(a‚©Õuh›ÂèÉb 2o_â¶eg@#²nžxe4iÁ¨º*š-gÎê˜qþR’@†ºøLuìd®Í¤ÜÇOJ ²„ʆ'S·) iM‡Ov4c+h¶±·k"ÉåËp:—ð23y2Íö®A—N/l¯ø­aüù°‚®óæ8Yhªêwr[0Ƙ +Œ=tKyÌâqUuSÛ©‹úHoG$ˆj˜æã§ô3e15ZÚØJòU¢äî«–70βž5;™†š±Õ¤Å#Ù±!x”oV=§C’ßrú¬þZš¦ÖýWϲQ²Î!}Gž«ŒY-¶‡ŸïÕ–U…Zú­´Ì(`¤bÛñc8ZŠê-zt7buöpí¨¡¤Õ®·¥¶8_@ÈÍdµÈET)’» üØ’S÷lT O@ÕÔ¸T7t³|A —r¯ù^y—‡©›(‘àš]‡µ]¿çfêD¥aí&Øèà -Ê,f˜ª—í“ÆX†¦Êüô")ÆÔ1תá%Œ¡¦Å,É(”|;  +|q=³™Yu›ÀÐ0Ѥ Ø–Kwùœ<~lö€Å|ãž#ݽÜû«~mŽ(Î,UknÌ*«:˜ººÌ›@ðÒó„)=ú…–µ@ˆøt«¢ö€Ë‚ÖjªA/ë¿ìÓ”‰ú®¬]ÃL_ñK”ú­tÈØÌb)Õ›D•Æ¥…ÜbVS#VÙ”0mu ‰7ïªç¹Šj±¥¥qëžU¹ýVWPQÀÃpŒÎf•‡ƒÕ˜Éj‘S¦HòIÎ2ð5ÂïZrêžjáQvTóRÝ`P™‚ Hã!Ë^>ÿ„žßžc½›°pÁƒƒp Ëam×í½þ˜y;çSºjà4U=eñÃdaŦ‚Ìä–¹ ¾mÈåQláÐQæ{èFf—!ú_¼YÑ›Wí2Þ²»²øU›_7SåqòS?—š»ø˜ì'H}pdéây¥&çY|ù”¦f¤ÌKHL @œ“#bXX, IDAT ©èª³Z=yx¸2>7!SÁ„%J¬5` «<ˆœD}WV¤‰™Â²(%Yñ9 ¦Ë¦S¼©L詆 ME%x™UJ‚ Jºp஋[‹§u Iþ¼«šçªªÅ¦¯oP÷¬þø2Sk&«EN"sÊe ÂXß±ä$œ®k6¤ÉÕãêˆz©n« ôA¤!%B‚¡¢¦ÌÄÄÙŽï¿Ï Ä$®Þex»¬€#y–ÎÔ0 éÙº´OÝpöMNIAÂÕmAÏõ‡ ®|‰¬ðmtÄíøâ*Gpž³½[½ZíµôÈí7É©bO¯š¾îCkÿ™QµI¹–.~²iÚôÀëI<¡˜ €F¯°2Ul1l Ö£Máq9…éOçàš=Ü,3‚ןx–^Tð9öÐüñ3&KkÞ(—ŠäÇ‘“(ê±ä ,Än¿ž˜ŸŸroßÚS|«Ñ–ToªW’iê4Üäíöí×’ y¯N® ¼ð™¡ˆ×9$êyW—­aµØº™[×=«uXfj#ë’"zmËÀ÷-9ÿ"”Õ¼T7˜Æ‚ H\³÷©-bæô³¶6ÿ²Ò¨iÖÒó7¼(\3¼£$Þkdå²AiúW¸ÂéÙz;L ΰ_µyBóÊ[qjØzßÍÑÙÕ®3f6sÛ~b­ƒ8bÝ´‘ƒ†ºûãvZ¸{³[3fím–Ç©çè;Ï2~ãh{›>®~wL¦¯÷nUa3«ÐÂc³¯uêNG‡±ëß[ÎdÌÀ5í|ÝÃþa××Õï¦îÔ …6Uãe1ê[vV ÷ºì1åmFä$Š KÎÀBP02€<1c ÃÈå·t&oòé­‰õ›U0L]ÖôÉ žØÇ¦ÿì0Éçtd}GHuÎsUÕc£}OV¸ßZ2YJ1(UŠj_¾kÉù7٠ꨖ¥º¡`žžžA0ŒÝ»w7t0‚ H=áÇδ¹ýSF-o69¶ú÷gÃÛÛ["‘ÐÊ¡½)‚ ‚4R¨LAA¤‘B}Ai,ÐAAAþP™‚ ‚ H#…ÊAA)T¦ ‚ ÒH¡2AAF •)‚ü§_­vø^Dz¨[ïéwJ*}.IÚ;ÂnÁÊ{·66¦AJèу‚üVh:½f,îø}OjA¤±Â‹‹‹‹‹‹‹ŠŠ:Aþ4DÞ£ýóœûtãXÚ›¶%:ML‘:nÀ²ˆËë=÷ât±íÆWC’|lÚ¬óÙé!ž£üžHQJ¸ÿx'kN[×—¹b òïíÚp2Q @dÇl>ĆÃáX9yÞÊ®ú@>~ìܾŽ\ ôܓӭˢ#/y2R”ru£×à^]8ËÞ#æí^$)÷¨Û`¿+çWºö¹-®¨úDzè8§…!9÷éfiçâ{áYôV¯A6ŽÍ(߈t €ŒÎßÝÉšÃéîè±ærR©¸Ê´T€¬Üo¼äPTTôµ2)**ÂUTTTTTTUU:0Aþ,DVø²!äðÀK7¯î™¬ÃgÞ±Ob rn?l³442ò€‡JÔæ=¯+¿a˜ŒÝ¹u˜®¡Û¾Ó~ü‡_uö?}ý§êÍ­ûß|{ \ñýõ¾'GD…Á.ü³íEõAü·;ŽŠGm¹uÆ¿Wöž¹«ïyQ«þ‰2˜²;<:ò„Oû7EfË@–®1aÃz•;”Ù·.”ŒÜvõ »ÒµUS(N;ríÚnWìzð™$1Èx÷×ÎØšfã:úF袶/ÖÎØòVgL…i¡à…€¬ÐïèßïÙ-BEUUõke¢ªªŠÎMA¤AY7O¼2š´`T]ÍŽ3guÌ8)I@ÒšŸìhÆVÐlco×D’Ë—ÕÔ Ó|ü”~¦,¦FKCIžàÛ.œÎÀ%¼ÌLžL³½kÐ¥Ó Û+VgYÏšfßLCÍØjÒâ‘ìØGÎM!‹îúznSîµr×ôÖ @¿>âûOx£¥Û?K‡˜)ýÀW¯äÁ À÷ßþÍToÖe»Ç€Ö*”e—4ýüÂ9¡i­æî_Ù]}Ó¤Q Š2‹™¦ê4ÀX†¦Êüô")04L4ËVMX­?¤0†VS zÙ°xåo7Ûré.Ÿ“ÇͰ˜oÜs¤»—{Õªg¬Ð5ÌôËFcê·Ò!c3KHiÖõ ß+ïò0ucå"òK£SÇ\‹.åR ¸‚Іct6«| 0‚—ž'L9èÑ/´lŠŸnUB€ò×lÈà[¿ògªïShÉÒgÖ¬ O£·pö[òc5Ê7íztÐÂ…¹I¯ß~ºwt½ÌpÛœÎTeÎnfeß«ÐPji,hªzÊâ‡É<ŠM ™É%,s•/GÝ¿ª&gX?õs©¹‹ßÉ~‚ÔG–.žWjr~Q[…JI 3…¤dÅ瀚¶øöòù'ôüöëÝ„… ,PÞQY$Ë–3@«¢«Îj=öäááz8ÈøÜ„LÄÕ2€(±zù… ”z=èC ¹üO'B³á¾KG´`a Éy²zî¤ÑÎÎ㦯3–œåJë3‚|EÓ³uiŸº/à웜’‚„«Û‚žël®Pûˆ -U=¶ºâ'›¦M¼žÄŠ Àhôêë;™ &pûõÄüü”{ûÖžâ[îª& 5e&&Î~t|ÿ}žP &+ŽBJj€ ®ÙÃÍ2#xý‰géEŸcÍ?óh²û6-5 ð5Ö·Ñ·ã‹k<† ¿›z,S$Ù·¶®8üVd4Èg¹K+6 þtfÕÆ /¥í†ŽÁa¼»²mÅþ·ÌŽ}[áPúæ^²@› ½ž= åíõ” ó’ÞÄ[‹E¼9´þØ}.»cÿ¡ºjd??tà Åýˆ·GößÎbh¨¢ý+ÒPhúW¸ÂéÙz;L ΰ_µyBó:\FÌÔ·ì¬î9tÙãšo‚ë9úγŒß8ÚÞ¦«ß“éë½[U+‚ ‡ OÌè0rù-É›|zki÷^8µEÌœ~ÖöÃæ_V5ÍZzbþ†ßNÌÅ5k@N4šv¾îŠa°ëëêwSwjÐB»â´PP‘85l½ïæèlôÛ ù£`žžžA0ŒÝ»wÿ¢>¾œ›RþOv×Ys¬µh |»uÊÊ»x¯;¦·U’|::{ñå‚ówÏn™ºåµjÿ5[Ý$û¦¯¸­Œý ÐhÛAŸŸøø\pÈs¾ùÔÝþ-o-*?7EáÓáÙ‡çiõ÷Û4± )òçâÇδ¹ýt ‚4ÞÞÞ‰„V®>ÏMQlçêÕæùÎS·m8g°r¤¹"ˆò³p{å„Û_‡ÊM+f÷qèÀxýü飔’7Å`àde@§F»´è€1U ,ºÚY[¨á@¨*d?<¼0¡ e¨*” Íè/ST£ ‚ HãVeŠr×Q¬-li© 6Çž^·§é†é]U5{ÍZèhH'E¹Ÿ’²%êí5é*ª}ÿRxþ$öê52ŒFwÓ£ S±Õ0¯éí•*¾%þt>øÂþ_S·,ì­“ufþüÓÔÁÐÐIi‚ ÒØÕ÷}Shݼ 2ÞÝ €°dÜb€ðbâž¾yzãØö=‡O<³™¦ÜºoG%Ⱦs7Œ{wÓ¯s1E€8)æòé#ÛÏeµžÝ† ÈŸˆmµ9ú4:⃠.‹Åb±HToϾÂX-]Mlà >_{à«Ï,Ç%Î;}7ßÔ~ò?ó{kÓ0v˾ØMm»êÒêܸBó‘žý[¨ñßFG¿&-Ì0€Ì—‰Å¨PAAÿ‘H$.'‰°ñãÇA§Ó:ÔбUÂüçÆ×ƶ­ W÷:AAÿ.www©TZvþ,Žãò ɲâ„ûQ×ν%°–Ú¨FAA?S£,S¤YwŽ…Ä 9c'Y£*AAþT²La6Ÿ¸ëÔĆŽAA†…žŒ ‚ H#…ÊAA)T¦ ‚ ÒH¡2AAF •)‚ ‚4R¨LAA¤‘ª§ ’E"—ËåóùR©´~zDä‡ÑétUUU###&“Ùб òG«2E(ÆÅÅikkkiiÑhèvm"—²2»Öa¸\nnn^çÎ]"‘(//ïÇmÚ´¡ÓåÝ•ù3ÔÇ ˆËåêêꪩ©Ñét Ãê¡Gù]q¹Ü“'OÙÛÛÿÒ^ I’LKK311ù¥}!‚Ô >Ê”ââb&“I£ÑP™‚ 5ɨáØèÉ“§ê---­øøøzëA¤ºú8…–$IT£ ÈŽ¢¢¢D"iè(ù£á¤´ˆûê^Ô/íÃ0T£ R‘è} ‡Ãq I#¾sLÁSŸÞŽßóÒ_X’äƒ#9ŽçuYÝÕLœ³{‘›cO‡cÙ{ »ï‘Çyò³'åuµ›Ëÿž„¯V; |/úá¿v*IÚ;ÂnÁA•Ïù÷fÙºO­¸ÃPο˜¬èQÐ$G+›éÑß9c+¤ˆHuë=ýNɯ‰PŽÚ2\£ Á7LÚëàfxxlr© €(Ž‹»C'Å9oŸÆKšq:0Aƈ¦ÒÒaè€\cFƒÿÔÅí±ðb³Ù«;¶Ñ$²^…-Ÿ»€²Ç­)£¡C«Ž¦ÓkÆâŽæu¸V¬îCþL’Ô;Q)ÂÖX©þŸ½;«a}þÌÙ:öE»Ê¾ÇåH’´‰BH”-IQÉÙK²fI²%JD!—,¥Ýžd˾GE«ÒvN§³Íï,-s*ü´\ï÷s?Ÿ{›sÞ÷}ÞgæÎ¼gæ™V_±¿æ7óÖ:ioxa9¿“”²%ÔIÜ¢ÌBŠVŸÎ ­‚ ¯š3+CœÃÂVÛ™é2õÌgoO)à€°âY¤·½Å0&“©o>uyÈ’ªÌàéóâ*Ê/9ñyÈ.tlÕ4s}&“©kb½pßÍ"èÚ@Xú(ÂËÞÒÉÔ5¶^°çJ¸¹×ö.°1Âd·rÙ~9«ºîkAÅ«„蘳×>òpà<ÞlÎd›¸mž¥>SßÒyWòƒ ìÍõ˜º¦36Ååò„!Ë_nk:dˆÙLßÈ™L&Ó1î .¢õêçÛ-˜Læ´S¹µÏ•Ë^Üù¤h1Çf°¦œ„¤bgý™«—™ËååWá d½>ëë`iÀdµpÜ|1³ªN/?å¾¼ØÆD—©?júšÈ§åB^Öq·…ç s#œ&ûÜ«õ+[XxÁiØXÿç5çX¹§gêÛ„¾ç^·}®ÕˆÁL¦®Ñ$‡åÂZy+¹u`Û©w\œó!v«£å0¦®é”å'žU ¡®ïßäFδôŒ]>ÅLO×ÄÖ;úAJàÜq†L¦ádïØ\€ˆyù×w»XÖ3·÷=9ÏÔ)¡o·ÞÎÌfÏkîׂ S„WgÇøÚ[0Û­»˜Ãmr]÷‚•ºdä¬cçýçY gê™Ù.?ö¨LÄB‚ 7\•„­pë_«8A÷¹‘3Ǭ‰½èçd5‚9ØxªÏ¥.´ ™NÅY…•^Y›¡ªDⱫ¬ÌÛɉ-Ô>‚ ˆ‚‡{#s;êÑ‚’'§6ìÍ`CÕ“Ý‹wƾdÚϵ7Sý”r`ÉÚd1k?¯¡tÆpïýnŸìX˜øVJŠÃ4SÅO©GVoO¯U›  fµ«ÿå×RÓfXvúrû¨§GxfÅ«ÃîKÃnótg/tN}pÊËÙ/½¼ñ«ÕN¦‹ Ò žX1wã]‰A=èe/ÏmÙ›Á¨¼G’°8yÝü€”w$sCåg{¼øVqëUVUI^MY’Rû‡>IVǤ[ñi¯µûÏßyû¹Zd oÿ¥ºÒËnoqüdè•’¹¼OÆ÷Ýìï½ ü”Ÿ½Âó¼ŒcÐå„/üý»2xZ3öNTR›v8ʇɨհâЉ}Ê®&eq@Ppã‡N“FiR…ÅÉ7$«ºŒII8é;ì}È΄ÂúCà¼<´Ø÷¦æü# I'Vö~þ˜ÕHz…W£+m\Š;â ¿Ñ%”îv,>þ –t&“ „-ò²O-[¤æv$>!ÌM1fÏý2o4!@V°wªš²uPôŽÒ‚˜5Ë"pkÿ Wâ‚U’ÖzÏaAB@ŒÜ¬m~Sµ¿®¢ÖOÎÊ8úxï™”Ä0'é+!O«_Ľֳ}áÜÉ»/$ŸñQ¼dÓR¡ˆ…õ“ÖpU²‰Z)éH¸~"º/(J ºÓ{udBB¨£Tò®à'-t}HYMMJ?W–”‘;¨HP¨t*E¦×pƒN-Ó<‚ ˆH=W µQÁ?FLŸàÿö]f™°Gy«f¾Ò@Û5¦>“´¤ä54d($™ŽZŠôœî+)¢Yñüꛋ‰™ùEUBYÂÚ¸JIáé\è²dç†é¤ cí=gs±ü»ÇNgƒô//&ƒ«[ýxFxì±{‹tMdD_ ö=´ÛLâuà¤éÇòz­<´ÏZ>;tªÍþŸòÙB!]¶aH•¹YGnT†ãþ}nݨ£ÖM˜[UO‰[ïæëÜ aZçY‡þí}ùRÒõƒž»ŸŠufO˜í4i€/O ý%IšR'…—OŸ}i™æAD¡È«J‘„tI1À8.5dùfçÝ"“oL: Ñ}ì/ýZ%HâòôÜÿm~øâJZ²UÖÆ+ûX @Sï$G©þ«û^ryN%ĸÆ|/™ÿ¡„2¢Mt9Y1 €L!¤%H€‘©$\DH¼’Å4íj4è:DbŸàœ¢ÜŸhTs@yðÄyºçÎ-y‘¹wÛÜy¥'f“s‹9ÙGGEÖܽ)¨fQô+¿]0”|ZVÌ­`hª3jÑ4 Çjpˆ»L’2±_ð•³ÅÓ.åõeØ$~Nb€÷åçج†–d9N8²TäWÉtÕ`Ô|HSê®Dkd˜$1)1` £H0jš‘°¯ÿnØ"¿4»BBSõ[G;)P³‰»\)b¶± <¿‚¦ª-[óðQŒ¡¦-ÉÊ-ç`´]š˜öƒQ4å(5Á‘0‘í:Mõ€"×Y…þ5M*=;à©ù|¢…‚zyæ—æ­JAsÖNcݪœ–ü·Ðxþ¯$ÉŠ’xÅ‹²Š®4(˜˜JŸìW/î·` ‚´,aUþ›7\qÕî]•ÄÚÑ|AAé»,¬—Íæ >RŸî]½p8 êÒÖíL£=ª5ãPý2tCØÝ =ï³;Ç©~:d;%8[tmii€’ïŠùú¤òGÎ~Ò°ª  >fã;-*ÎÉù"—§¨«üë”" ‰,¥,Pœó¢§ß‰ÊÉÊøMNñ'Zg¥­´Ü¨´÷ì*qŒ&ß{ô׌ Ni¯+t•d½fœ:j­L!+çm¾˜£ú¥>Uœa°Tá ŽTgF‡ÞTµ1„AÜ4ät'öÙz(ñ.íZÑ?.CäHÂ’¯¥'•}‚udØiËÆí *I–Q—,{û‘w§aÜ¢·E¿<ǰE²” £òm~ÞŽp?(á‰è²–ˆÎ‘¥•%¹w²ÊúdœŸUÉè"Eï#FÕ¿‹µÉ¦Eæÿå]>§&M¼‚×E £$A!X(I.ª¿”rÃU9­Ûýæ¬F»ÿ}xز(€ÑäÄ¡‚¡.CÅ0F“ÕþgøÈVˆ¥•ië¦L™íçÇU8AQüò™«®|iòÎ1Îó=sEfýùÇ=ð?žYì¸ýQ‹Ü‰ ¿£*cËÔéŽsfOu9þ¡]=/¿·w©‡ÛìE[OÞzõ©„ÍÖP¢“)b€òÇ—/ß/äª_ÄÞåµ"$µ“ ¨š6™{¯Þ°~Ñ’2é‡L·R†’ÄÑ7îÞ8¸n³ÿþë©ßËá^Ã(ê#'÷%AÖ·E>›V8-:WRóe†Î4ÂÖ¹o9Zš[-‰©3׃ÑÇz8ïܪuG¯?Ï.,.Ìy–º;–¥3ZGš$?lšn^ßɹå_>¤†-µ_žÅÿÖ ÂOI,­µžíÝŸYÊ.~|j«ô*½æ73¿ªºáy’ì`ë¾;ŽëNXsE çqT)IÆ-L?r»ŒÃæ6L>½Ûı é;ýc^•æÞ?±ãDNý³?‘\‚i]ÆOP{´g_bfYE^zøÞ¤RI¡±„ÔCV6¶í÷ñðŽŸU~y·'à¡Êx«Æï€!LQÆ×…¨^à d_÷ß›ø®¤$ûÖá-§YúSuåˆÊÖïM›hUŠ^;õ‚'î¾aç„¥ÏRb¯½®ø£—0²Tw#K‹¡jt¬M¿!VZPÈ/-t5ìç‘åO›c¡ÙöîæBzp^UÍè„_ÅkÏþh>ЦÝÎíÃUr’ŽW”\<™?ÞEø)UÛnÇf³ü Ùf†£]’sÞ¾x€¦¢;ˆã4aÍÝúó%I²Lë¼\Êɯµyºv»¾x”éÄ¥Å'»ðO.Ý–Ñà—›X7Ç]Þ÷;Z˜Ïð{¡»pœÆ¯Þ>MÜâsÕ™;Ödîša:Ú9´ÊÒF[œL!5žzÈ*c7í°ƒ¨EcŒÌçå™nÜ5««è=»è}‹²ñ¦EäbjãÇà'ÝÇšÛx]íà¼s­‘< ˆÖC´*E´" þ'ºÏýxÉÏ{WJaK¾C³·· %,,ìµqÿþ}*õg¶ÌÊ´u®–R“Äçîð*GAQü*«›¥ËžD‰}ø‘EWéc2}®®ríçpžïYxPqÍŽ©šüÌó[7Ä+8m˜?L‘ŒW}H;ôoê›b\w£©.³F(¾;°`¾xÏü>tþ§sž«XíZ¯—³}ÁéžÓzdü›ô¬„Ö‘9~îܱ=¤0nÞ­O^}QX µãæÍ·îEÏ;·Üëí¬½ž}Ë.®Ú=Î;ñæ¯mÓŸo… ¢5ù°ü€€Ý`jjúS¯dßñ4Ÿ… æqƽ{ó‡Ö÷ïßÿ£ï8ü{p‹že¼© ièèh2H‚'¦MØõn _r°)šøÛ¸¹·’Þª ×f`œ'~ÖKYÏûoí¸~+uɸ]ýB#k@þç988ðù|2™L&“I$R>›dEƒ¹³»=;tøví3*‚âë»·Çâ#Wì=rÐg²bZà¶‹ Nc㜬˜í/Ë:¬w¦H¼"ãЦã…Lwÿ#!Ûçt}uhSøK¼Óx|3«øi×Kº˜'@ÕÛ“yæ«÷…,\å|¿BPš”ÖaŠÏ#‡vºÿóélXjq³<Â’ÔðkÒã—zXª£×É"ÿaaGÅÄèµÿ ;úsU¿<ü7xïÞ={öì :÷ªffäçôÈý{öìÙ³w_èåwìvub¥Äú,twrÝr&õáÍ“»Ž¼’ŽI÷¦ß‡4ëQˆ·ï™•B!;3öH¿xüyÍÊ—3WÞž‰üô>îû6`[ƒ.íXxYHWì1Òmƒ‡MG´Ãø uuØâžï³xtP%IJk¨ÃŽ•Ã¹›ioÚúÿ%dùaÎsn/ 9t«‡*?³©ŠêÒ_o¢wP—¨*¬äC{õù%w3ºY 'G]/èk¡BAeaiuÞ¹µÎ15¯Ç¡ ¨Šw7êà Nýh'vïfyé}¿>2™,£¡øuU±“<þð3ßßsã]&­¬&ÎjxgMNC¶­'i_¾T~eŒðõY‘/|!S)hWÞ‚0ñNËZ,kí8þ‹0FwßßÖŽã·HèïJÑoÖ¿MÛ?²’äõn/=|ÓLdIïqn…`€8ç|ÎeÓ;JÔëEÑÂÃ}–â½Â%Á¡7uWŽP 3¤èÇîÜ^ÔËAÉÊÆNÖòé‡O=gƒÌ×åÄ®ù/rtZ¶/]Áv¥cqÀ=Œz‘Ùô̺ÿxúMÉd„0v£›ó’=wål–Ï,+;ØÑVëÞVçŽ ·]e7Ppy[èË_Õ9‚ ‚ Mk«}$õÖ‡ëÕú›$7tiØ×Y´ §c³b—¨¢ôÞ ‚wýojljÛ#&~­²Ç˜ÅÛÆÔÿ6FfHŠËéšv­}óUiè›yµ–ˆwç8îûŸãôÇ€HͧãvÒV‘e:*d¹ƒªäo<A¤¥µÕaJ‹Ày%Ù7ϤSõ¼:£ÿ0±ž ÏÞ[ØÚQ ‚ü´¿z˜RýúØêMÌ]&vFs A¤ÍisSþzŸù#mt$[+ âVÙe€‚ ^rÙq蘀—¿ü&ºÿ#Anä4£ù7*±8?'ÜÎdQ*«ÞbÖ­…Æv'>6ùdqÅMse¥.1±=–Ý’=ÿÿkng[²*^æ¡I&ËÒˆŸ¤Ày¼ÉÒÊÿÅÿkn#AØMÐæ¼¸s=).66.1õY§ðд‚ òAî0Â}Å€Æ_]øßà7=úHî6ØHMœ›ûäî£çª$4ŸAV'Èœiéº|Š™ž®‰­wôƒ”À¹ã ™LÃÉÞ±¹<À«³ã¶Ïµ1˜ÉÔ5šäò°\¼üë»]¬ ë™ÛûžŽœgê”PŠƒõú¬¯ƒ¥“9ÔÂqóÅ̪zO^œ?ÞÉdê[Îõ¿ZøíxxuvŒ¯½¥s°±Ýº‹9\§‡xL1ÓcêOtÛò‰‹÷í~ëQkï×üTåfO2_]ût8çCìVGËaL]Ó)ËO<«lðîTâŽ|ÅÏ ŸfåsùÜz;3›=¯9!,NÐ(ûÁzsóu_Ãä}l8çBaƒ`xWw:ÆÔ5±ñ8œ^"h*{¬Ô%#g;ï?Ïj8SÏÌvù±Ge¦Ã&,EØ—fdàW2,Èœ9fMìE?'«ÌÁÆS}.åp›®ªé`ˆ¶@~É­ÛN½ãmi¼¬ãn ÏæF8Mö¹Ç&Ìöïg@ð-â^·y˜WUÅÃi²›˜ô%xÕ"‚ H+^®´9p)xüF—PºÛ±øøƒvXbЙL.‹“7nHVu9“’pÒwØû …B^ö©e«“ÔÜŽÄ'„¹)Æì¹_†àe··¸~2ôJIŠ\Þ'c‹ûîŒ:¯/ª¸íç}ž>+(69&h:½aOFͱge}<È÷LJb˜“ô•À§U‚‚˜5Ë"pkÿ Wâ‚U’ÖzßÄnžóòÐbß›šó$$XÙûAøcV½1aGê|¡ ! FnÖ6?[Ù{ ;BXœ¨QFÏ1z÷¦ x“b zMÒW¬¿ÃçdŸº€MÛ“üïF“â#ËÖ'æ7•=`=ÛμûBòß…ÁK6Ý(66NTJ "WUõ«%Ýé½:2!!ÔQ*yWðv“+«É`¸D[`c[UkÆþÀ‰JjÓGù0BÙþÍ ÔÖ°×¢¿ÛV ÑQä|¸%>ñúÃÌB¶€T&òYÚ‚ -§÷±ŸÎT Ëv6T1ÈÑn€œ¸B_#]En [˜ŒoÔñU£{*IÒé )qŒý…]õþBTv¿îæ]ä¥Õô’!¿¤†]•œ¾b&SUZVÛØu¹ÿZìÛÚH*‰W–Ÿ_&”ïgp!ʳß×ýh]ì]Fi3hr= ÕxÅlnÁ•“Õç,›¬£$%ßÍbÁÂyç.d6:Ná¼>wéËÅ–Ýå¥UN[6]£þ k¢ŽÔÙ 15Ûµ®;Qî%èAqa£Œ^cóSãßq€—“x¹XÇF¯áÏR²„‰‡«±¶¬LGý9+'Kß=uçý­&²$†ÁB7ÓNr2úsVØH¤F¤—áM…MXJš8Võôɯf'kZ;[t–“ïmjÒ‘÷™Ånre5̳—[`3¶´ou—ŠØV3µ5èuƒ“Om@R»ŸžÑ(óa½¥??J‰Þê 1‡C¥¶àûãIbRb$À0F‘`ÔLcǾ¾…#ñs¼/?/Æd5´$Ëq €_š]!¡©Ê¨9úÒ;)P³AP–[ÌÉ>â8*²f± šEѯ¬=Ð]}`í©ÇYÁÒnã0×a´4 0ª‚¦¥¦1‚òü šª¶ì×7ˆ1Ô´%Y¹åu§Xâu÷ú‚Šü*™®Œš iJÝ•hWêö’¨#u¿@ëÐE À#술¸ˆF%zer·$dºÒ¯Ç}é¿`°\Óç….Ê_ß_FSé©DJ-ÈËi"{@‘ë¬Bÿ^ªžš_!À[@Tªç¥¢ÑªÊJ«5ÃT9-ùo[UóVV“Á|.k¸þ jKûFä¶ú›¨£~¯Û´;Ïûê¦Ró03F‘&ƒðŸPÁ0L(l#8Aj+..–––ní(jKR¼–žTö >nÔ‘Ab§-·€,¥Â¨|›_…÷£cÜÏJxd)%YF¯§ŽZ+“@ÈÊy›/¦Å¨Uë㇪.¶>¡Î>ìiÇV¯ð¨Ò:·¼'`XÝ!YZY’{'«L /AÀÙùY•Œ.RÀ¿íÑxÅÙ_j[È2ê’eo?²ñî4 €[ô¶¨ÞÉÂŽÔõuDØ‘ŽÕ)ËæAD£}ÇýÃÞw»Y>ÈcÑKƒyÅïò«ñ.4 €[ðê3¦ ¡¦Úxöø_Þåsjã¼.%IrQ£ak1ÞF5(¥È½&"U¥Ì>òËÆê¾y­É•Õd0*ÕÇn?"!ÜÒúÔ €8WÕï~/ :ÐÞÎFôV,q;å1N“UëÅìÙñKII•••á8z ‚4-555 `·¨Z&—››[\\¬¦¦Ö2-6 çqT)IÆ-L?r»ŒÃæÒºŒŸ öhϾÄÌ²Š¼ôð½I¥’°iºyA~'ä–ù¶Ô~Ax¿öŽ®âÞN·ùþ‰™e®02EįL²²±m¿‡wüû´¨òËÛ¸=UÆ[ug(ÐË%¦e³ª‹œºU{,лM«¾Ó?æUQiîý;Näêíc‰:B¸o$Éu„¨¸˜ˆF1ɾãú—žÞ~ºL×z€4Ѿ^ȺºkJfIIöÍC›£8Æ3õ:4‘=²¯ûïM|WR’}ëð–Ó,ý©º²?¾A6FPjˆ ¿ñTVEéþËpÓ+«©`È] ¶ÀDoiüªjA#¹úÍ ´wZ†›˜¶´m>üŸÎ²”–x<ˆººú›7o„B¡‚‚B‹žCFö&5555õvs¾yÿþý?™L–‘‘éÙ³'ÖFnj$Éyº&¯Z<êµC·aSgºøï]ºmD”çŽu%ëvÍ0]/Ïœì`£ýæ)…D’7ñö/ܺuå$ÿ\¾—¹k€'S¢vUÊÞ^Û§š®På{šÍ÷›×S Ï÷’UÆnÚQ´yÇ¢1ÛÊÅÕ™7îšÕ•FŽ^êpÕku4½£îd—y:»ŸÖ*"ÖÍq—wÙú½Ž¾bf.—ÝŒŽ Û¥EÔ熑bTæaa£˜T«äkÃ&ö—$L«¤ÎB[Aøü±+¾Ht7qðÔ“&‘Ï€˜Úø1øI÷±«‹é w®5’'}j™L&“É$©…¶*&&Öµk×–i A¿ëQˆwÈçý3z’>ĉçè¬ë‚^ÏõÎ-+zwè*Ít¯ÿשmz&<‚ í­«Ã÷|ŸÅ£ƒ*IRZCv¬N4QôïTõÄßÞý¶šÍÚÙ½ÐóOA[` h¡‹>‚ ‚ Mªwѧ½ÜG ‚ È_ SAi£Ð0AA6 SAi£Ð0AA6 SiCø9áv&‹RY­‚ m¦ ‚ ÒF¡a ‚ ­…—}·‹•á`=s{ßÓ‘óLJ¼#¯ÎŽÛ>×jÄ`&S×h’GÈÃr!r#gŽY{ÑÏÉjs°ñTŸK9\à¾¼ØÆD—©?júšÈ§5/²^Ÿõu°4`2‡Z8n¾˜Y…^~Š í¦ Ò:xÙ§–­NRs;Ÿæ¦³ç~Yí„°8yã†dU—ƒ1) '}‡½Ù™P(AQRÐÞ«#B¥’w?a r£Wxž—q ºœáe˜·ßcW„e··¸~2ôJIŠ\Þ'c‹ûî 6¨ H»ƒ†)‚´ îû QÙý¸›w‘—VÓsX4J†\ûcLÆÀ7êøªÑ=•$ét†”8ÆþÂNÖ´v¶è,!&ßÛÔ¤#ï3«:+6òuù GwW×6˜í»i¡¡,KSîJN_1“©*-«mìºÜŒ-ömu+uA_†Þéƒ H«à—fWHhª2j~+Ñ;)P³k}Œ‘ø9‰Þ—Ÿc²Z’åø·W¥På´ä)_¿RSONCSý[=†c5xïs‹9ÙGGEÖ,T³(ú•èýìÒî a ‚ ­‚,¥Â¨|›_…÷£cÜÏJxµ>–¤x-=©ì|ܨ#ƒÄN[6nÇ·0V·eûQAâ@uftèMUÛi]”d½fœ:j­L!+çm¾˜zQ0‚´;袂 ­B¬Ëø jöìKÌ,«ÈKß›TZçdÎã¨R2’4Œ[˜~"äv‡Í%œ[BÓ¶´Öz¶wo|f)»øñ©­þѨtŠü°iºyA~'ä–ù¶Ô~Ax–>K‰½öºBØ2]Dä·¡a ‚ ­ƒÖyæŽu™»f˜Žv­²´Ñ'S¾Ÿ(!Éyºv»¾x”éÄ¥Å'»ðO.Ý–QEPUÛnÇf³ü Ùf†£]’sÞ¾xHò&ÞþôK+'™Œ´ó¹¢äàÉ”îÇK~Þ»R ù-ÙOA~foo/(JXXXkƒ È_„›{+é­ºÑpmÀyâg½”µñ¼ï@ñÖŽ AÖäààÀçóÉd2™L&‘Hèl ‚ ­„õ(ÄÛ÷Ì‹J¡{$ž£cÚ…ÞÚ1!Ò¶´ä0…—}jÁ”)S¦Øz])þéKÃüÜsK¦L™â}»¯óß„ª_˜3eʬÝÏ8Í«¤N…œgS¦8î{n^D?‰ÖÕa‹»FÜâÑ£]£¨;Ö —Áš.† Èߤïôáf_¹Z€¿J¸Wl8ª¹©µ‘$:雎(US¦þÆ~LT%ÿ—Êù9£»o„okÇ HÛÕrÃλÄÅ Þkˆì‹;ïÓ ÍÆ©’*însÛ~Ÿbà½a_qAAìÊaYj¶»¶ª¼|èðÅ{Ye<’„jóY.SJ±Þ§&_ûÔs ÝØÎu‚Æ+_]¬ÿåšÛ…¥'|ö^yQ.ÑY߯ÅÑLK\(¢’ËGS/._“ ×ÖÍ+Ñáéµ,úÐ5–ôgàe·|çí~¦8qû®©ZÔšr¼¬ˆÅžÑE?*¢ü³*dÕ?âxUÖµˆ°³·^æWRäµû›Muÿ"•›ytÑʘÒ^Ólåo^¼Í–êfîäa?D ¼¢»QÁÉO?UP:ô1±sžn FC&Aä¯×R}pÖ«„´rn7u| ²“nåñ“ì=rXOR³«/y;@Ãx¨ôË0¿ã·s$Œž0fˆ\áÃs¡OÙ¢*f?ùåêgçS…½ tÕÙï®Zø1«Oʦ¨˜{¸ô r]ç6iLOT=½•Å`¿K}+åáÃԨ߿M–d3súôéÓí,z‰ÈkÈAXzgÿºýñÏØZFãÇ ”ü˜~z‹÷ñWßîP¼ˆˆ-TÑé§eo.E¼ä÷ý™Û£ñûN˜1‰I}~yϺ'͉AAþãZh˜‚W>»ÇÅá¦]UŽêC†¼+×?ò“èi6eÓs«YoS3qÐ4Ò,Íœ6ÇÅsÙìQƒzvê@à|.©qØÆèË_g¾¨Ø¬óZèâ±~¥±4T¦^xRÙŒc?UFEYŠ @‘TQSPþǼ*ÝþXÍɾý²T õkR€$ÝÃxÜx+óÞ¼ç/«€ÚÓ~…mgšàóíﰡÄ5«çMŸµØ{Ñ 1ø|5îÝ·qJ'§Í–-Z¹j†&+çcûÍÅø<áâbkeë¶h¬"”]¿ð´9±"‚ È[Ë\ôÁË2.gT0>\ÞOb³ÈEׯdMšÝ•ÑÝlDê»÷²úæ½æ–±nªX¹Xá£!!A15iN£5cbÒ"¿LUïÞ tõÞÊpåÍ—‚J¡æÏÅI÷3ס>yx?={ïi¨Zê«ÖϘ èƾÍÿfá ¦Ë–Yv¤p+ò+Èj=”©€1:vW„ûŸŠ¾pqY¶ƒ §1h€ „Õ%…l¸¶~Öµï•~þT.)ôˆ`AäïÖ"GBañ½¸gøòäÖ÷CqÉ­äÌ©]{‰w5Õ•ºqåú¥X6 :ÙV$sߟ Š~ÊêïºÛÓ¨CÁ™¥K£òDWÝØ—y¹o>ót¤p>=/ Ë)Kþô¹#Lª÷Èþbï¥ÆÅãÅ >UO¹nÂpöË“[ö¦³¨½f­™ý4 €,¥"P’÷ª7H›Š³s^W1Û£JˉÐG,ô´P£àÕŸßgòdûÉÿÔcAù/j‰aŠ 0-þ ª“wîœÜ‘xyÚfÿGi‰oföêÇèb2DæJRÚ#€.vƒÈÀð„ÜÌ룲Y÷âòpQ—@ðÆ¾œå»1Ÿ)ûñæír1¨#‰•6#\ŒB#T¼¾~ý…šI/é^#ˆß»sã&€Æt=•º³wYûÿ Ý·+÷þåó÷¢0ÀdXG=ëÁ'wÝÞ´¥ÒH»*#þ~5¨Mß]>¶'Þ}Œ‰ÂË©—’•ôKî\L~#ÔqÕ3GShA¿^ ÌMáçÝLÌP:äÛA“ê5¢X÷^²pÓ6*ÐÍl @¬«Óèn2¬g))Op]ËÎ@þ£w"‘Bü嚉Ô®&}«]½-ÞÅØÅ{VFóŽü´ŽÆæ=$!/ùBZ!0‰#JhQª{Šç|Îe”?¼yâĉ'Ž^|ÅÂIrzó×»ŽìEŸrþÒÝr5Ý)«½l:‹‰lP¼Ç´µ -ºU¦9u³DÛÔyÃR#Et2AAÐÃò›Æº»ÁiûY{¶ŽQF£Aùsê=,ÍÒl”°âííäø³ÏX7s]t†AAZ¦4Š_pãxÄuŽsÆ4JAA–…†)¢u}àôìÖŽAAþNè É‚ ‚´Qh˜‚ ‚ H…†)‚ ‚´Qh˜‚ ‚ H…†)‚ ‚´Qh˜‚ HëÀ¿Ä92™LŸ‡U²tÿÉL&SNØ ö¯½!¼<Ù™YÛ°QÓW‡?,Šø:/ëˆ “ÉtJ,û™æ¸y×.Ÿf1œÉdêuð>v·X òËüœp;“E©¬Ÿéçñ&K+ÿÕ,äFN3š£ògªVê¢á#}3¾½­]ðùúVkýÑ+.ds²¢o¸™Ák'|„•ËÎø‘µñ2M2Y–Æ]¡¨¾ÿ ?ÓÖ¯¬Ç–Ô’ykq-tCruuuNN‹Åâóù-Ó"‚ ¿ŒB¡HKK«««Óh´–ig==¼`aÄ{jßyÁ»gõjæ›-DP:¾Åïøµ×%\’´¦Þ$/ÙŠW Ñ1ÌŸÑ«ú¥ÿÄ™%LÏešñÇ^ ™Á ˜`ª¨»ç…p[µï»-aÙ‹;Ÿ-6Ú Ö¤@gý™«—eo{ž_…kR1!ëuôÎ͇ž :èŒs[»dlçZk‚OÅ1þç;¡·ŸLýÀ‘ëaì°j…m/n ÏV‚ÓäòÝ'}˜Œ¯¥yYÇk-÷RÀ«³c|í&¸²aY•¾V ·D¯Äà}fkæ™CVJõ|ERVVNŽ 'o4ËY/bñí÷{MJuv|àÆý—æ²0I-ƒ™k}fÿ#^rëÀ¶gÃËå…ÛÏ7s6vtß“aû#Ԭº}ôaЧ‡mÚ™šY.Þ‘9aÁWcõº/šo½¾Ò$4,E΋tp~:ÕEúì¡ØŒ±iJm–o\d¤DÑÂï~:oíLK Srrr”””ddd( †µçl!Èß𢢢âââOŸ>iiiýÙÆxŸ.®u¾xÓiFÐ~—Ò$€êW‡Ý—†e«tZ¨•}>ô”—s•|”ˤH¤Ç¿fë þ RJRäÊ{;–&VjM±RûrýTâ‘ÕÛÆnR«_ˆÏÛÍ!²T Ȫ*ÉS•%)µ÷Y$Y“nŽ֊͜d>l@gE1 o aÙí-îEv;¢»VßY¾Æ}·Æ™¥ŠßÂ!út™rì Ïó+ƒ.ëÑ^Dù®òØÕ#zÝŒýYÖkÅwFyôªõÂRªVíå‚\ÀYGO >³Ræ}Ô ×ÀñfÞ]4lbÅ?õÏLáÕÙÖºûf ÛuÒs¸<©‘ðŒÑ¯¸7Uƒú‹ó>&ÅôrÔWllž€yå|GqŒ „ÅÉ7$«®9¸Ñ@©2#léÊ cޝýå‚„€»ÅÛükËÕëcÁ…5Ë"ÄÝv]£Qvc¯ÇZ©ãᎬoAntÃìõ¯ˆiXjEIAwÖD.–Í<½ÒmWð¸‹jµÅÏùÏ@zbÃì‰Nöq¢(ªR‚…x9wcùyŸ§/ Š5UÈ¿äí¾aÏÝ ƒ· 2¾Çñ“ykwZb˜RQQ¡ª4†ð IDATªJ£ÑÈd2¦ H[   ‘‹°§N–——WPPøã¡T=¼˜Pœû¹ iö“ðÓÙ =ÆËË…ÉàêV?ž{ìþßILʃô´¤÷œžÕIд4×"Øû²“Ü ™ßÿ’6q±Ò$w„ûŠAŠƒ†hV<¿úæbbfE~QÞ`˜J“‚N{”ÄœCc|ÖyÖ¡{_¾”tý çîç…b™Æf;M •¦†]•œ~l&S• `ìºÜ,Þ+ö­»}M1!ѧ/¬”#_÷˜¿mtwÌöݤþFš=M†ÖÅÞe”6ƒ= ÕÝaóXü½v)á—›\ï¨öV¯HK~^6Ì@Ž$2¼·‹Ì_ÿŽÓ¿Gnâåb=y‚Q ÷¹¯…®ï·¿ät]w:÷Œdà¥+«¢H6Ÿ!%ޱ¿°Pë€S³]ëj¡-êz“ àÊÉÇês¢&ë(‘AÉbÁÂKã/dÎXÜóÛçeÅ6ÌŸ°”ÝÀÉšÖÎ%(ÐÛÔ¤ã¡k¬ú–¾ÅCÊ=éEPÃ$‚1™†}äd¥4ŒŠK*qÎM©$Þçüü2a·~v,x :@…`á¯æ­ýi‰a ŽãhŒ‚ íNII Çûóí0»­xsýÁoÍCνÀ)Ê­€ØïßÊÿP*5ÑF—–žzóÊ›QÜô2М6²#áANqð¨!J ‰ÉuÔ1™`¡#O<=7ś߾¸’–lQ)r'½î’í¦pA5”Oœ§;qàÜ’)‘{·ÍWqb69·˜“}ÄqTdÍ¡\PÍ¢èW~›\+(#ø´¬˜[ÁÐTgÔ,¢iŽÕà4+kUASŽ€‘H˜¨&*ëÏîÅ:peˆ—7Êuº÷F½“ÛF+‘E–•ÐËänIÈt¥_ûÒÁ`9¢s)”.îÁ;F*#Ѥ¥¾Nô!ñs¼/?/Æd5´$ËñúYÅhº(42'FPž_ASÕ–­Ù` 5mIVn9àÛá–_šÓ0{Ü—"JUNK¾æx‡žúWT»EúHUÕ‚…¼÷D9§ë®>°öÔ‰ã‹Æ¬`i ·q˜ë0Zš&A´ðWóÖþ´ÐZ ÃÐAÒ&s§ŽÖGyo·2!xñæ®ëMÄåÅÄÇlÜa§EÅ9ù/_äòu•©²ò6zôÔë §£ ´ç›jæ¾ÏMù¡úe膰»zÞgwŽSýtÈvJp6a,™Üø~Š•¶Òr£ÒÞ³«tÄ0š|ïÑs\3.8¥½®tÒU’eôšqꨵ2 „¬œ·ùbZŒêw@–"øTUp†Á~TP…ƒ8PzSÕvÆF£üˆµÞ.•° ­ú•‘åô¬‡«Ri0eãò4»M^gûìÜ‘*ª,­ï¸ØÛâ®c7Ëy ’!Ì IL^U]½CÝc¿°$ÅkéIeŸàãF$vÚ²q;Ä_3º…,­,ɽ“U&З àìü¬JF©ZG,²”rÃìÙuY k´¹ïñ4Ùnã}¤E5Ež`á´.9ïˆ|SÕÅÖ'ÔÙ‡ý1íØêUZç–i|h°py1‚˜~&þvÝŒ Hë#w0]í?S JâV/;þ†¤3ÍJJOD߸{ãlàºÍþû¯s¤Ä0LzÀ$}ä^ŽË…ÎãDŒRˆàž úEÌñà]^+B²ðÆ/¯pßr´4·ZSXûò£õpÞ¹UëŽ^ž]X\˜ó,)tw,Kg´Ž4I~Ø4ݼ ¿“rË¿|H [j¿ <‹ÿíÈHø)©“¥µÖ³½{ã3KÙÅOmõþ@¥×ì“ùUÕ„w9‹Z.ª ¾ÈC3Euìºuïv­ ]-²,&Ùw\ÿÒÓÛO—éZþ™_š8# JÉHÒ0naú‰Ûe6·™×³júHV6¶í÷ñðŽŸU~y·'à¡Êx«Ú7 Ñ´ ²G#,E|@ÿÑVmM¶Ûx)DQщRˆrΫ¼·Óm¾bf‡+ €L!T-üÕ¼µ?h˜‚ H[€Iöwõ÷Hã?ݳhû}M·}íú–% Ž+ì>què¶±*dLºÿ¤áR]­LÔšÿ‘ÞÛiå”~ò÷££Óq£©½H9i/D>Pç•æ–äTòk]I²^¡G ¯,¶³ei»`o†–Ëží6 É›xû;Ð/­œd2ÒÎ犒k€'óÇíT„ŸRµívl6Ëšmf8zÑ%9çí‹0h*ºƒè1NÖÜ­û€QËm¢‘’ŒVnóåàÊ Ç,LDYLª¿Õ@r¥ø°‰ý%›ÌrXŒ<]»]_<ÊÀtâÒ‹â“Ý ø'—nËyµ d•±›vØAÔ¢1Fæs‚òL7îšÕµÎÑ–0{M–"l«öâf×@ÜÇgÊQ†J´¾¤•-¼=t_oŸjjhfçsCk¾ß¼žb$¢…¿ž·v³·· %,,ìµqÿþ}*µ=VAþÚœB°LMM Ôra5CùU·‘ËÒ»xD‡OÓ@7øóØ÷ÖMð¢øýëõO3/F!Èorppàóùd2™L&“H¤v}Å A¿‰°ôYRôéÃ÷X¿IƪhŒò§áܲ¢·q‡®ÒL÷÷Bc¤µ a ‚ íïSìî½—«´ .·PA£”?®ê‰¿½ûm5›µ³{‰¾Aþ04LA¤ëãsϳµ£ø{0­»ÝÚA =4…AA6 SAi£Ð0AA6ªS…±+]w߸â=ÖÛÙžû®åó@Púäßms¦N±›½pCøž äŠ÷ ·£ï¸5¥ŠâWN_röpnÞÍ#>î³l§L±uXì÷ï‹Êf¿(Aþ*aaGÅÄèµÿ ;ÚÚA!‚|ÕF‡) (I;ù¸Ë܇m´f¤‹zÍ_ß½=¹b>“Ó·]Ì•`Ú¥ânZ.Å÷R>iŒ¦BÁKÓ‚‚Ò:Lñ9päÐN÷> K-nìANò×rp˜uðàÁïBî0Â}Å€öúºL¼·ã‡‡-þ7m0”#pߟÚp¬ÔÌoñ0Ù6üûO¤?´:Ú÷ZnÊŸîÝ;{ÍÔ–ÿoª÷P’„ƒ÷9·¢æEQ8çs.›®(AÁdú™u-K½ýôöµ’^£u¤1¼,}ÏöXªå2¿]Û7¬rӉކ)Ò„–¿Ö#(¹u`Û©w\äFγ&ö¢Ÿ“Õæ`ã©>—r¸‚ÂëóÇ2™L}˹þW ÀË:î¶ð\an„ÓdŸ{lÀ«³ã¶Ïµ1˜ÉÔ5šäò°\(¢*à¾¼ØÆD—©?júšÈ§åB!ëõY_K&s¨…ãæ‹™U8Q£ïí¸a–lâÆÀ;åBà:¿)8oÄš¥ÃåI (Nñ˜b¦ÇÔ5žè¶;åîÛýÖ£ÖÞ¯ùeÌÍ žd¾ºþÛyˆâü‰n§¹a$¼üë»]¬ ë™ÛûžŽœgê”PÊo|u|Wo-×ß¾×2ñš"*ÕDïˆòü#=õ3 €WgÇøÚ[0Û­»˜ÃýQÿÏm™ÿ-my˜RYAwt÷üÃß|a—gß<þBÑĸ#0é¾fÝJbBÏ—öÕ[ ÀyÕª„$ƒ ¼’'1gUTWñÐZi»EIAwz¯ŽLHu”JÞü„]qÛÏû<}VPlrLÐt,zÞ 6UkÆþÀ‰JjÓGù0Ââä’U]Ƥ$œôö>dgB¡°*Anô Ïó2ŽA—"¼ óö{ìÊ`ƒ°ìö÷ÀO†¾Q)I‘ËûdlqßÁ.oØh£a‹÷vÜà »aßÝwñ~û2‡®ò4R €  fͲÜÚÿ•¸`g•¤µÇß‹GüHaœÍî&qD‘ð²O-[¤æv$>!ÌM1fÏý²zûÇÆ*¯»~ª§ít-× µ©Þ5‘çº=œ•qôñ ß3)‰aNÒWCžV5¿õÿ°v4L²¢ÑBO <~««ƒ³×é"½…ËÇkR“êkÖ“_Daš÷¨yï&3ØÑVëÞVçŽ ·]e7Ppy[èËvp¡AþR8YÓÚÙ¢³„˜|oS“޼Ï,!‰B%ñÊòóË„òýì.Dyö«÷ÀvLÆÀ7êøªÑ=•$ét†”8ÆþÂUUùºÇü…£»+ÈkÌöÝ´ÐP„¥©aW%§¯˜ÉT•–Õ6v]nÆ¿û–×T£ ˆ÷ží;‹qnÁìõO._nªH\9ùX}βÉ:JRòÝ,,wîBfSãQœx³»I8†0’—¯.De÷[ànÞE^ZMÏaÑ(™úoh^å?ÝÓv»–š µAHœ÷Må¹>Z{—QÚ š\CC5^1ûÇ)“&[ÿk£sSÈJ–ÛY~û£Ã¨mGG€œŽÍŠ]6õ¿I YuâtíâÆyŽûþ÷8ý±2ZA~UNK¾fw„Õüx’Ð]}`í©ÇYÁÒnã0×a´tKô‰Ÿ“à}ùy1&«¡%Yþ} Zýªø¥9 MuFM½4 ñ¼÷¹Åœì#Ž£"k ªYýJzSï=k…å¿®/—˜)}ýÝ'(ϯ ©jË~HÇPÓ–då–×}5ÞàÈO'€ ™Ý$DIqTHhª~kH±“5»^¹fUÞXO‰³Ö.×ò×5Õd¨!e7•çº0ª‚¦¥¦RÝ© M·þßEºwí]¥]A¤au÷ËBÖÇU]l}Bco^;±¸ûÝ-êÞù!,IñZz’f·ýxTdènïi=Å1U‘¥”ìU5;¹êÌèÇî”`RJ²Œ^ËN%¥¤¤¤¤¤$Åž öüo¢QbTyMBAòûoe²´²$7/«ìëD:v~V%CEЏðëè„Wœý¥î¸…8N~³»Iˆ09yFeNþ׆¸Ÿ?”ðlNåö”XûYËõ×ÞT¨D!5çz`"²Þd¢þËH•’šª 2ÎûÜÚ‘ ‚üPqo§Û|ÿÄÌ2W™òíg=¿ªZ8# JÉHÒ0naú‰Ûe6—ðçMÛÒZëÙÞ½ñ™¥ìâǧ¶úG Ò)òæéæù|[þåCjØRûáY¼JÂF…¥ÏRb¯½®hömÆdecÛ~ïø÷iQå—·q{ªŒ·ê"ÎP —=JLËfU?8t«¼^}„q’šÝÍæGÒ»×ø jöìKÌ,«ÈKß›Tú ó1kÖqO›ÿ3¿ ­åÚY#XS¸èPEëÒ¬<íé¯&ê¿$¥¥"NÂy…o[;AïHÊÞº¯·O554³ó¹¡5ßo^O1šŠî zŒÓ„5w9òFž®Ý®/e`:qéEñÉnü“K·eTÔEÕ¶Û±Ù,?h¶™áèE—䜷/À’¼‰·¿ýÒÊI&#í|®(¹x2¥‰å~¼äç½+¥OP71²ÊØM;ì jÑ#ó9Ay¦wÍêJ#«Œ^ê ysµñh§P¾í<F3â$5¿›Í„ÖyæŽu™»f˜Žv­²´Ñ'Sšwö¤ÆµÀ&¬¿Ùµ¥µ\'i ×”ˆPÏS“y®•É_IÔß3³©LáqÞß>sëÃjãþýû:::T*õÕ ÈÏ Àç‹<òìSSÓAƒµ\XH‹àæÞJz«n4\›pžøY/em<ï;P¼µãú¯Ayþ5|>ŸL&“Éd‰DR¤a$*ýo™Œƒ ò·c= ñö=ó¢R(dgƉçè˜vù{niA(ÏÿÀhÊZ;A¤%к:lqÏ÷Y<:¨’$¥5ÔaÇÊá2è˜ÿ(Ïÿ_gdc4•ÖAi!£»o„okÇñ_‡òüÿð}²ðâa&¶ú«¸ù9rr²hJ‚ ­«%ï&%%UVVÖ¡C‘÷„#ÒâRSSSSo7ò…®]»IKK·X<‚ µÄ0E]]ýÍ›7B¡PAAý8C¶ ñ1Š„£gÏ^ jjj-‚ H=-1La0={öÌÉÉÉÏÏþ¢÷:"H›%.Î055õ)™L–‘‘QWW§ÑÐ=€‚´¦z§˜˜X×®][¦-AAþþžçí"‚ ÒΠa ‚ ­„•ºhøHßïO>|¾¾ÕZôŠ ÙÜŸ¨„›<‘YË+—ñ9"kàešd²,­ñG“7$,O˜c¡o8?¥ ç<Þdiåÿ o~«UP9ÍhþÊŸ®£Ö­…Æv'>6ÿþüœp;“E©¬ßiô7üTÞj'üÿÂ÷ üÊfP+þ_ÜŠ_ÒB}AÃ/HÞììuoàú°5#U~v¢=µ»Ç±½Š.`>=¿m×ʽÂì5‰ª!wá¾bÀO¼¯ïãäì;.mÖ—Æ8?YùµþªÿÅÍàÿTù)èl ‚ ­›{yÝlïÇÃüB½¾Q„¬×g}, ˜Ì¡Ž›/fVáìëÍÍ×ݯùËû:Ùp΅š2aIYY999yEõžF³œõhoo¿çàÕÙqÛçZÌdêMòyX.AÉ­ÛN½ã?'|š•ÏåsëíÌlö¼®uö¥a)^Þ¹Åî‘y_—MñLzî¶ð\an„ÓdŸ{l¢8EÔÌË:^§ ^ãkoiÀll·îb—°×u…s>Änu´ÆÔ5²üijJ¡ˆ\+uÉÈYÇÎûϳÎÔ3³]~ìQYgW ŠÓC<¦˜é1u'ºíNùÄ‘^AnäLKψÐåSÌôtMl½£¤ÎgÈdNöŽÍå‰h]9s̚؋~NV#˜ƒ§ú\Êa7è~#Áðk%üZy­SÂÎ6žï›ÿóàÅ6&ºLýQÓ×D>-¶Â­­â 3IÔýŸ9?ˆÔƒ†)‚´&¼:ûÂÚY^wu·{W$×,–ÝÞâøÉÐ7*%)ryŸŒ-î»3 Ç=H{S¼I±½&é+Ö߃ Ù™WÎgp»)Ñ@Xœ¼qC²ªËÁ˜”„“¾ÃÞ‡ìL(¬s¬$ÄÈÍÚæ7Uûlj‚RÅÊöNUS¶ŠÞa¦3sàD%µi‡£|˜ ¢8Ù8aÍT­µ ÎÊ8úxï™”Ä0'é+!O«DÕöçå¡Å¾75çIH:±²÷ƒðÇ,œ8Wl€õl_8wòî Ég|G/Ùt£ô{ç1k–EàÖþ®Ä;«$­õ8þžÒSDz…W£+m\Š;â ¿Ñ%”îv,>þ –t&“+²uAQRÐÞ«#B¥’w¿èP¯ûÐH0Ù ?>¢ÎÙQë”°³dàGë¹Ñ+<ÏË8]Nˆð2ÌÛï±+ƒMÔJIGÂø‰2É…†Ý‚®ý:4LA¤õ¿ÜÜàô¥‡zEZòóï?w…¥©aW%§¯˜ÉT•–Õ6v]nÆ¿û–Ükì`~jü;ðr/ëØèÉÝqŸûZè2™L&S×ðìÝy@LkðçÌÖ4í‹v•"!#$i…$q-É’%d½(Éš%;Ù²Kö%©$„dË©hß´7Óìçû#Òr¦å^ŸrïûûG¦sÞ÷yŸsšóÌ{Μãâ÷¼»çÖÙÝ%“3÷¿|îÏ‘=T¤ét†Œ$Æ.c7¸!‚Ó˜´ÎÓÞD_™öãPØâZõ Œ“+¦åÆhúÓæÐeк[XhðKØ|q­}ÇI½~«l ÷EY5·åS´ÈÍÄ@b˜{Í·é¢ §e6k•³TÂ…ÄïWy ï]LÖœµ|¢±ŠŒb7ûE^}ó¯‡ePĤ§M›ÂT¢Ëw2X“Ñßݵ¯‚¤R/KSe^)[(¶wœ¬í4Û^OJBÑÐÆº3ÿ+KÜȉƒ7û në ¶¹ ÔágF„¤v_à5Ò@IQ×|¦ÿf/ yÀ[½ß–á#-Cצ Ò~p š¬>ácÉ»ì9ÅwÓ ‹ÛGª„y%œ¬“î#Bjë!—E1«Jfò¶FexÒã#Ëú, ðýcEáÑÕH€‘h2ÊÊ2ÔÚÚ€$Ⱦ»Ç÷öûL^KGºo\1`´NúJ/`ÁZZ«1qŠi¹qGT%mJm—$¬¹Ö꺫*¨‘ëªÅ¨ˆ¦b B»'~-Š‚žýÛ¢j=:á UÂÚÿ + ªhêºòµSWCCWš•W)2lš^!$d$H€a$Œ"Å |KÖl€ª £ø}ÑæÒ &&Nš˜­C0XA3¨#(Ï®bhk2jC¤iYŒÖ¶r|뇴 •)‚´²Â §¡êT¸lZùÄu³Ï5£;SÉ2*òŒžSCO;©’@ÄÊN+Ða­×˜~ìí‘ñØÃÊþÞýÉ­ÛóVî₇Viªóé(ê£×¯7Oß½úl*HŠCÜLóƒ.¾È«,û’pjÙ´Eg3`Ò½Æô)¿´ãR…©Sß¿‚ó9BªŒœ4 ã%ž?ñ¸‚ÃæµüåÖÖ­%¨á AlœÍ¨]‘P‹­Ñ»­”¸+0ücqyÞóó;Ïg 1ñk‰Øñ–f=:¾õËl²©ü·¶ÈªV“zçßyõmquYZäþ=/ÕÆ:êÓÚ˜ÞÖÅÜâðÅCLÜÖi:X…æ2P‡¦ëà¤óîÀ;åì’äÐm7¾Pé$ñû@£ø‰ƒ— ]Tþ.6â~j:ýÓV¨LA¤C )Y®Þ4ªìÈê d¦hí8ƒ~kõëá®~÷T<÷¬`J&ÓÇÑ„\-9d|â“õÛS´\áÙ-~És›ñËnJNœo.¸¸l{Ý]ZþþZ45ÓþôpqkŸ±Ibâ$VoE1}·ÐšD7÷ݾæ9‡Üíí¦¤˜zÑ¢Š_KBcì(üâÂÑvÎ>qfïZg©X÷vOV½y§+\^<ÊÒnVP¾Í¦ÝÓ»ÒÚ˜ÞÖÆÜâðÅCÜáÖá¶™ Ô¡êºîÜb[4ÓÖbäâ[ ³w,éËÓ‹ þ6Ï˹à»;¶¨õ÷¹AjaÓ¦M … åÔ©Sí ‚ HóØIëÇùP®úôc´¼ð+aé˜Ý½ƒ/¸ë¶í4¿ez ûw3€´¿3f2™L&“I$šMAä÷€ó*ŠÞß<G³qêùD(½HÇ„ÊA~5o§Í:Áw\9³'½½cùBéE:&tÒAAŽôAAä÷€ÊAA:(T¦ ‚ ÒA¡2AA •)È?&d—}­ä¡›+"‚ ?Ù¯(Sx§=]\\–‡Š»I´8œwûf¸¸¸Lá¶¼ì?',¸¹ÌÅÅÅeÁé58^õÈÇÅÅeúÞwœ¿Û¦ ïúRßÇU-ߤ»YÕOÖ»Ô7uΪ½7SÄßw¹~êþ_i–%_Ù>ßqð@‹á#­ÍLmþX{">‡ûGŠ ‚ ߡٔ¦ŠÃƒnfŠ{Žx‘¤º˜Ù >@•úsC¥ÐkȰaCiRÊ??:püå?-þ6^ÖµÎîÛ.%æñIŠºÝ{vQ$U¤Ü9ì=Áýà‹J4±‚ ‚ü ¿ú ɼŒÓ‹W‡—÷t›¤øðæã,¶L7;ïi•È8+ívð‰¿ž¦—ñ¨r:&#ÿð­µrÃC6Ü_ï N'Ý=vüfRfŸ$¥ÞÇnú<©L1­¨êãíS§n=K/áJ©ÛN™3É´…_üìòÑ 1os«(Œ¬]gO1× V¹WD™o­þã¼úãÍÆ½3Ò.\]cèh…=Š}W)ÛsÄôI_½p?½’ÑÅzæ²Yæ*ësBÌýÜ&®£õHŸÅE‹³Ro¹‘”:dž ÍèîuÜ߼鳿è=ÆÏYÐ[@{uùÒм”—¼þÒüƱ9uŠ®KGN/FúÛº4ž£œÜ8 P˜ÑÌ™Â2ú-Y½saœ?p?_º%¾@Ñf]Ðú±z D¬WÖynðñÔ²­½®n&z|‚ ‚´IûJ„)"ŠÔŒ{k@ŧÛA>p€›znÛ©’ý'ŽÜ©ðihÀ¾'4[-­ IDATïy}$èý=}&«}:pîq¶Tß‘ãF T(zy}Oð[¶¸Ö„%ñ{üO?øÂ05ÆB«òõ_;·ßÌa}¾²iÇׂ^ã¦N`RßßÞ¿þÄÁ\„Ò`ë.¤ôãñź߲ߊí÷þö[jwãÎP’r+ÐïÈ[IC“.UŸcŽ…| |ÆYÓhEåOl<û430c*¥]Íh)}"NIÆÛÔ2Rb bK‘µ«K݆%ž«¤Q+Wl„ïΜ¸_HU­øiçxù£Ãç3Tm' ëô%x¾“Û†¸šnÎ.6€ª»odñ[Þ A¤y¿z6å›.[6Ú)ã…]W-:•S%Ò­.­¨Š=GÎ5˜[FR—’SS•!¤Õ4$ ˜n³ ŒŒÕXéÏ2ãç°¾–rqÂÖøŠOn¾áCçi+V%±L5ÏGÁ×·awòAzؼy“Œ$ù½yWÝŒ{;µ÷@™Fsd5›9Óþ¼xúÔ³®ƒj_,Qïšä^ 7ü9XòËù%«þ*ÖóذÎV.ÿúŠ¥!¹…_98<ôªI´’®?炪“Ï:W kÈA¯MñUbòÆy¼qúãºÿIt±T'ƒ Ile"ÙßS§©Ú ÿú=Œ¬#Ip™ JÃ×ïšiÈÀx§ ·‘ý{QËɈK®½Î¥ðÒüQ·É<^÷É{È’Dµ¥ÙçûÉå3t;¡ùAä¡Ðh4¡PH¥þÒ‡H’å;I‘pƒ¸Ç¥ŒÝ—8Ÿ»ñøê‘ÇW$u‡M™×·^ý€IÈJ==}âDPBIC–Ólk‚ê‚JªŠ–,¤º›ÓðŠ>l¸¿aúýº5¿æV A¦I©FÓ5ÏñÞš°ãç²@j¦wšœ,  “I˜”‚$ 02…@|ÕHÓh+r˨šÝU¨ÀÐî­bËPè5ÄX‰MVÝ` µ¹ „âck ç–'Èš}t?RÞtýhGÈ*©®û¯JsNȱ9úÜ7!ëÖìû6Ä*a‹Ð•O‚ H[IHHH$òwí4›Ò˜¨*;ôì–˜/UôþÙ½+gîÜ?ÜkÀZåï ð>_ºñ–ÕÇsï ËN…W–-»œ/¾5²”²4@EQv¹°¯$©úýµ³ÑEªCûÊKЇy­°× àܯŸ3Šøò½É„-HèŸgû`Côýª¶÷ÞV$)%)€ò‚ŒRA?M 'ïC‘øeë®Mù¡-±a4YÂ$ÄI­½Ì—"¯%OK¿ÿ—“~ûôáê'ç¯%/’HŠš²Ä™EAÖë e ^ýîÂŽ³_$»Y 7QUp„RªŠ$ P•ÿ¾WÀˈ¿y9‹•™€‹û’ YuˆCÏKÇRÎmÛS¤оÿ‰ÛmúÄ?F[+%ÞN¸£b¦\úôfÌ'‘±ç ;1GfLÊÐuÎ'ªp!¿õ½·EÕÌ®ÛÅ“ŸBý·˜He>|RѦÕÅĆե.EüîçÏcGZ+=mœ˶~ ‰®?Â\þjXyíÿÈ]f̜ǾUW¦ŒGõ‘û9_mBAþË:È´}{/­³•]wiÈ {);Öcd79Ö»ØØ7¸©ƒPð:]Ü·qÉ*ÖÞë¦ ÖἌ¸Ÿ§Øâªå#Õ¥»»­ó²ïVýäʹËKumfo\f©,þ#?&Ûï™& ÑÕ¹ ½·yðªÃ½WŽí¥Róæþãlõ1c:·im1±QëR÷¤ˆT÷óÓª®mJ‚8Œ> M%¾ý#‘Iõc©=uÉp•²g!‚ ¿3ÌÃãöÚ”#GŽ´w0ÿQü²´™,ªªAwuILXxkå¢3Ù=½Ol$ÓÞ‘5GTùâÈâE'ÞpHd²HX{ó> ‡MA>#5~éµN‚ È¿Åܹsù|~ݵ)è3oû}}phËf_ÿãQ/S^Ü>s=HƒtíV H²&žÇnöŸ5ÒDOM–ÎPÖ6ê²|ÿ_—6 i^ÚáqL&“i:+¬¨Íwägžtf2™w+ð?ªyåoÃd[“Än]# d?_gÉdZû½$¼Ó@ÀË?²ÒÍ~(“É4µ=Ã÷̳ñ7þdŸuµ^œÀjKœäÍŽ?ûnÖüŒc¬—?a·+a©õ¤3Y‚Ö­{åÿíO'Ì q³\ð ºå%ÿ³:ȵ)ÿi]ÝÖ-‚ã—îŸÜú@$¡Ðe°«× ;µßá TŠ‚‘ƒç&ÏöŽù­qÓÂnæˆ^_‰+å¢Ñ¦}Ÿ,ÓÝnܨ¯:ZÿäFÏâù)ÿ"ÜÇ®ø«ËâÍçí ……É·öø,]N¹pÔM»ƒl w¶pU_}ÚÏY÷Ç+ñ«!¿4›Ò`šCg®ßêâ¥K—Î XêÔGáw(Räg`¿¿z»¤L¬µÞ_‹Éà÷½Í™L«uÏØ Ì qc2™N|æU¾>󧛓É4µvò:ø°XªQ7¯ÝÏá7šA,\KXúøÀœQC˜ÙOó»–ÊÆAl#?^çe27² òÖlûù~“0™Ãþ|R ¢Ò;óL™Lǃ©?ž°ÁK=àȬopí$ˆ•zsûÜñ̡֙n+Ž%ð€›èÀdœ}êÔW[Sæ »™;b ¼¼û9Û d2‡:ÎÛq;“‹÷ý{&“éšW®DT‘ò4WÙ~–óm)ie=³?Ö,·SÈ/¨Ákû½æ?ÃÁœÉlï¾åfFMƒaþVðõéÑ%ÎÖ¦L³SÖ†¼­ñ3ÏÍ÷º^”wÁc¢_£Ù(œ›¹cŽã°L¦©åï/+EaCF¾¯Êæ]úÃÌ9ø3Ÿ`IKÞšÎk¶ÁÚY6~aÜ.QC˜¦ÖÎÞÇK…ë~{…U?Ú’ììÖ?¯ šÿ%x¢Eãy»ê‡‹-êo/× ¹B–$žðv±Ä4µ?ol.a^È£ÖFÜ ðpÆ`5ÙïV6¯¥ ²N»˜M½œ/à¥û¾íøǜ̦_+ÎÍ ÷Ÿæ`Î`åºþ¦¸ÙgÝýn_ßàjë¼?•Óì6ýWAe ‚ í¯J¾SJöž ¦cvýN0Ù~Nf ¨J¼›ÆQÙËèOz޶ ¯v.Ýw7MÆÌe†›rnÂÉ5;ÅΕW'‰]˜“t:JÔo¤•nÕû[[æm}RÙŠ7xŠ–s€Ï`:c¨oÐúYnýHÀJ¼“Ê`½z+-‡º?>ÓS: õX²hÑ¢Eó]Mô( *¹·aΆKÏ«»9Ns3—ý|ÇÞ×ßøÂ—Bò:›ÔÒ7¡¼b÷ãñ…ËN=æ›ÎôòJ}ê3; ±Œ*¯®¢¨¡*M©?ÅC’7¶îVrÉgÝ¡¿ž¦}劀¬fï¸ÌTQÅã­ ÷åZø_ŽYiôj뽯Øuc&ü­ ïÆªɹÝŽºàc‘È{÷+¾ÎÔCûÆ«h¸¿ìÇlpNZT³icŒú¼#á±Qý‡|>±+ê«âàñFqÑ™<>ûÒeÂm*Á’D§ùÄ-ÆÉ Ã܆Ç\Ýd]rrù†˜¯bÏRëG«ÔcÔ HŒüTüœèˆÂžÌ”û¤Í÷Æ'%%%%=Øb«(gîf©JaaøÚåp§À°{‘Gg«E¯ó>÷™Ââè §†kB¢¢‚Ýebv}Ãn>Ã@QlÑ)+.¥•¿M,&Á—øÕ¸¨,ùa¡–-S™„³^Nîï%öî)Ù{ûN¼­× ¨0jO¸Âôí“䓚ëñß•)‚´¼âyh|5¨Ù3êlî¤@Ö͈Ï<Àdû:™KC飨/œê·wSpèêh­N‘¶p•ÏÎË]†öí®Î`‹û )‚fî<;èÐ&Ÿ€c{ 2êì3q—²ÔƒÑµ´ä(¹Î:ªšC&0)Pñ$ú3‡ý)ú´ìtêy )ôqœ:}šsî‹—l õ]ºg^O aÁݱՠ1ãÀþµ^Þ›oJ‡‚[¡ï¾×)=VŸÞ±eÏ^¯®UéÕoÎ^ÊÙQ>>ó¦ÍóÛÅ¥Õ°>=(0˜ê¨ú9>½¦úC\¶ªÕ`5 MÚ¼º šBw ~ ›/®A¦1i§½IÊóÓÍöø¯‚®MA¤½ˆJ‡>æSÏnÞ@fU’ò"þúä±ÂHº÷x Ù¨ˆûñ©¦YÉ<0p´Ô I–Ñób·lHªèÈ7!+IRQì´.½Õi ÙÅDÂʾæV »¶-n’‚©³)-1áá½O#x‰ í6¼sã+@ù·ý¼N¤âªãv올'À-Ï) kkÒ€$­o¬¾spiŠ¢º @D—–\(ª)Ϋ€ðyáu|)€ÑÅ&¸ËÕã皎Ÿ 8¯4%6äÀö9sË/œŸIÎ+ádtR{hrY³êº3`¿­(áU1´5µ/Ñ´,Fkˆ¹Ç5FdßÝã{û} &¯¥#]‰c@R8Þ(à轜™’Onå÷šnщDK¶²A (é«JÔþLSë¡BJøÊjå%×R†£™¼­QžôøÈ²>‹(T)¢²„]ËNSç/ KaeAM]W¾ö <ÆÐЕfåU €ª £Hù©ØVׯ¿èú6}ñ- iŸ¸éòÃfü¹=1ãcI*c‡ žaT%mJm{$¬¹1Z'}%*¿ÅÿMP™‚ H;Ý¿”$€âÄ;u‡â¢¨ë) ŒúI³” ?ª‚ž–êdî‡à§žU ò½¶kŒzî±I.G³Ä7Ýܼ/o xfúÔšÏ/rÈÊm¼e2˜|çAô„ø¨K—¡tØh5,ðêW‡ûÞ«¤™xï_1¤ö H‘×’(ÊJÎãYÐDÕéo ªÊt1Çj eIÉQ›vºêPqNÁ‡”<¾²©ª˜÷lÖ“Õ›T\ûÓX£)Žœåù*ÌãIjµ‡©Š<£çÔÐÓNª$±²Ó $tÜt ËüV]x…Á~]Xƒƒ$À͸üP}ÒÔÄ_?•Æú,»¨êwôœeg‰ýdù˜$ÓñFÛŽÝ}F»_ÜoÞ@’Ø%[Ù ¿$½€‹ëÓ0^áǯ˜’† 9»ÙmUGª×˜~ìí‘ñØÃÊþÞý n>É˺¶vÝcßs®zßîE–U•æ=ͬšI‘pvAf5C_æ[5Ñ Âê4È£ûðUA‘ÑdQï5ºÝµõÊGEqq“?õèP€a/ݷɾÕ1­èñ_ôA¤}rc®¼ÁA{Î¥ÇIIIIIIÏî ¢BYÌÕ·ÕŒžc­!7æq9ŽªJþvÃenJø¹£»}VÈhæfÐÍ.œuÔs¡ïæ?ç. +Å13¶î–É$Š 2ùöí¥BL¶ï3äݎ̽1ª¼òñ6ïÓ L#§OŸ¾ù‰MR³u·”‚¼S oÙ¿{Ýüuñ5 ã:­·¸ƒ ÃØÍQJïž¿ñàÙƒkûÖo <Ï‘‘ÀxŸŽ¹;Ø9. opYÃÈi(ÿúŸëOÇ¿Ï**)Ê~¼7‚e<ÒX–¤8ÄÍ4?(à⋼ʲ/ §–M[t6Sð}È„¿%uqpÒywàÀŒrvIrè¶À_¨ßž<*¨á6þÐŽó9BªŒœ4 ã%ž?ñ¸‚Ãæá$ùN½ /ìd¨Š¿òªÉz7W%Ð =V»ôV¬z~ãF"n9¹' ûIŠ˜«š[˜f4v@Íã°è4†¡£Ïao¦tëÞÞ%ôÇN0–…¬ëgbóø€Éö™0T «£µFÃ)œSY P–pöàþýû÷ï<ûº')ÛøóÐOòãÓçï—éXÍÝwÈ£'ñ 0FŸ…7¹öªˆ9¶ïhd‘Áø5ÁÛG«‘ç—ç•æV êáIòæ>Á›FˆîíYâê0ÂaÒ¢¯tæíßá¬E’¢µoà ú­Õ¬‡»úÝSñܳ‚)õcE¢ßRu]wn±-šik1rñ-…Ù;–ôeÐÔLûÓÃ=Æ­}Vÿ›>$EËžÝâ—Œ0·¿ì¦äÄù悋˶¿ª’<Ó©/?2ÌÙXºù%³¤½& Ï.mç²!AkឃšÔõ5Œ“éãhB®–2¾t“Ek>\ºö™<Ób@í7}ì|“Ø@V½y§+\^<ÊÒnVP¾Í¦ÝÓ»mºù [ÄÄF@{¨4”úV²á#q»^‹ ¶¢Ç_tZ.—›Íb±ôevéè(Ь¬¬¦¦&ö·ngñßP7øòD}ïgÝ´Ð-:”€«>ýþ­'Gþ5Ý…öW\›Âáp>~ü¨¬¬¬¤¤D&£?géèAuuõ‡ )t[¢òwÑ7.Ob½'X©£7µçU§E‹£Ùê‰j”ßίxÊÎÎVQQ‘““£P(/B¤ãÁqœN§@nn®ŽŽN{‡Óñðs#ö¸]£cáµÒþ·¸cô[Í›Ài k8¯›Ù“ÞÞ± mö+Ê”ªª*uuuF&“Q™‚ Žã$INN.33³½cé$ŒV„'­hï(Vbôßù¸½ƒ@þ®_q -Žã¨FA߆ad2YRR’Ïç·w,‚ü§ý¢oú`†jù ¿YA:ô…dAA:(T¦ ‚ ÒA¡2AA •)‚ ‚tP¨LAä·$È>ëj½8üŒc¬—?a·¼ÊœäÍŽ)\€¿µúÏV7–†X¼¬\ÏçÔ¿u7+a©õ¤3Ym¼›÷?L¡º˜ÅOˆ`DÒ¿ÚðÅÙdVÓ7?NVhæv0<æê&ë’“Ë7Ä|T<Þºp_®…ÿåØè•F¯¶.ÜûŠ-î]³épªøþEŸ4»±qÿ+6U§~ŠÄm©Æ”(ŒšVŒAšÑNúà5¹ï>U)é§NǤÒ JrÔ„§ïÒ5‡v¼~¦ÐMþkFN)‡,­¢kd¤MÍMzžÃÀÓGüþCŒ$ŠÓR*ztR” àÜ’Œ÷²Š«ùd†¢–Q7UI¬&óIb…NWjNz^Y Èhôìk¤Á Yù©ï?å•Ö0Š”²®Qo=…”ùWÃäÌý/›Ê«)Ó-`ÈHbì2¶H s¯ù6]d10›µÊùöì ‰Ó‰^\Û¨=~fDHj÷ÛG(‘À|¦ÿfÍOò€÷"ß4aὋɚ³.O4V!ƒŠý"¯[c÷…e¸ºNÖvšm¯'ECëÎÇî³ê¡iÚ¥ÂâÒjpLu,ŒO¯aVÇe«Z™b64mÐet3)á¤^¿U6pÕy Ý–O¹1å^“…ÈRÖÞžVº2˜ÍZ=1bVèÓÏ‚qÒSÎüÁT§Xy®´½ã‘¶¤Ÿ1álš‡D£’ø_ *DÝz»î ³ç3­HœCj£†Eå §š„ñÖkyDÒŒŽsPƹ¥yUZUéõï|I‘ë¢/ŸVÈÒWAŧ/²Æý-úb•_’_½x'eÞ‡ÙŸõ0™ÜoHY²èû\8'/ùe&¹›‰…&ƒ_”ú2ùuðà.dÀ¹i%F&f´êìWIÒ4U{K¾{[(i4`X'º ,ãå뚃´Úcðò„‘Ùw÷øÞ~_‚ÉkéHWâßþô) zjßÞhj=:á U¢…n’+(Ï®bhk2jçˆiZ£µ„Ľ4!¬,¨¢©ëÊ×ÎÈb ]iV^¥¨ :Š”o!7Y®oÓß’ö‰›.?lÖÈÏ‘Û3>–¤2y¨s¢Å4øÞpRBXUP#×U‹ñm **´¦uŠ’¾ªD]*TH …ùÙ%œ¬“î#BjÃrY³j±§Ë› GÊtÍáu¡çÏ-µŠ¥5ÔyÆœ#e\Æ"nK5J`E^Ó0*ʹ-AšÑÊA $¤%íÿER’,`óEJ€‘;uï¦&EPÖ3윟˜YÊWjúiçf–3ô͵åéÐ5 òâSs«u´0Fg} i rªªŒô"ŽQ;›+QédÔP¨dòxÇ:† ÿZ¢ÒXŸeUýŽž³ìÌ ±Ÿ,³³ö‚²ôn@Ãø…©Å §"E!xQš\ܰA²Œ*ƒýº°I €›q#ø¡ú$·nω{i‚,«*Í{šY!4“"àì‚Ìj†¾ #5óØF÷á=ª‚"£É¢Þkt»k땊ââ&êI‰m}«Nø%Yeõ벜¦tEZ»v ¼â´b‚“Dü’ô.®OÃx…¿bJZêòŒžSCO;©’@ÄÊN+Ða4]ó›Fñr¾ÔèOò žíÇÎyrfÍ*ïë+ê- nK5J ŒJÓ0TÙ'[‚4£ã“1 <·ÑyK\Àá)’TF“¦»ô„L—•Ày5‚“œ8Ÿ# Ñ¥¨ßþÉ’RTA _˜ã{ôýœ]ðñùã?OÉ.GÏXC_ çs„T9iÆ+J<âq‡ÍÃ@ÄŽqfïZg©Hâ¡êºîÜb[4ÓÖbäâ[ ³w,éËÓ‹PÍ´?=ÜcÜÚzß²!«Þ¼Ó./ei7+(ßfÓîé][ó^’¢‰.€öPi )õ¬ dÃFÒqƒdµ‘Ëfh?\ëd5Ò#X0i®qƒY‰nî»}Ís¹ÛÛM H1õ£Õø ic¯I³ FÛ¹lHÐZ¸gÅ Y’¢µoà ú­Õî]08 IDAT¬‡»úÝSñܳ‚)Õú ¡jïëmšºc²…­«ßs{HÐêRÄ!ÎaMÓD„A<"^έßݱEè+•H‹0¡PH¥R9òêãùóçÆÆÆTjÓ?·F„UŸ“ž|â(ëw×U‘“$ñªJr>}Ìh˜ 2ìD*yqïy1½sŸ~]±ŠÌ7¯³é½Íû(³ß?x}†)E¬ŒÇO+zXôSä$=L¥ô7Ôä§¾|[¡9h°%ûñ£¢®–T(xMÖㄮƂñiòý(R¸%Ÿ“_¤Õhj@Ézü¤ÔÀÂD¹ãœCöÀçó“““û÷ïÿ+;e%,³»wðw]j /"ò¯4wî\>ŸOþ®CŠÉ2]XÈf¦¦§½þÌâ )2 j†ƒô4ähH’ZxfÒý×<²t'ý~F*4 DJŠä7‰ñÂC{}ŸœÅèšÆý¸ïRžßOá“%µŒMºÈ Iá€I¨ôìVøúE\&IBFY§K·N>½LédÒúO!‚ ‚üu¨2HJ]z+u!üF’Tëi¤oTÿ5ºšñP5ãÚŸõ†X[PBIßÄ\¿ÁÊ’:f¶:ß’Ô6³ÑÕí7T·n]µÚŸÍ¬uAAöÖÑÊAþÓ¤ÌvÇšµêEAþ :Î%´‚ ‚ ü6³)ekóöAA_ͦ ‚ ÒA¡2AA •)‚ ‚tP¨LAA¤ƒBe ‚ ‚ Ô¯(S0 ‰Ð¦ä7ÃãñZñŒ Aÿ£_Q¦ÈÈÈTTTà8ÁãŒé˜p/--•••mï@ùOûeЦ¦f~~~aa!ŸÏÿÝ!òñx¼¼¼¼²²2 öŽAÿ´_q{7ƒÑ£Gììì‚‚¡Pø zDäŸ “Érrr=zô Ñhí ‚ ÿi¿è.´]»vý5}!‚ òï€¾éƒ ‚ H…ÊAA:(T¦ ‚ ÒA¡2AA •)‚´nJ “Ét½ÛÖïÿ±Ÿ¯³d2­ý^Öü_kD}Ö…Éd2Ç&³q¼ó§›“É4µvò:ø°X(¾5•¿¾à3ÍÁ‚É4µrZ´ÿ^>xy÷,r¶Èduœ·ãv&WÜóÏ'6]Élp”ôÎIÞbÇd™³oû\3¦™ÃìÝ1/Â6N³Ä4µ™º92ªQ7¯ÝÏáãÍE[™|nå$›mÿð9ñ“Ét,# ŽÑwæÚ 6n?rÒS úeB6 ¶ú©³›æéT/5I¨ lмÐ+[ܧxŸ,.NîûöL&Ó-4¯þ\‰¨"åi®²ý,çÚ RÒÊzf¬Yn§_Pƒ+aéðégþ œë8”9ÈvÒÊ3¯+D b¥^óŸá`Îd¶wßr3£Á×§G—8[›2ÍFLYò¶R ,}tx{h:;ÿú’…!ùew—»¬¸_ð|ƒÝúçµ³ü/Á-f…5¬ÕpnVäŽ9ŽÃ0™¦–¼O¼¬lTË ‹â÷-kÁd2꾮 Ÿyn¾×õ¢¼ ý’Ø‚ì³nŽ~·¯opµuÞóøÞáí¡é<æ…ü1jmÄÍÇaÌV“ýneó€_¿wž£Å€AvÓü/…̵ñˆ*'Þ­vñ-ÎpÿiæÌV®ëofóˆ"ç5Y«– ë´‹ÙÔËù"^zиï…ŸqÌÉlú•”µ1ÿ^P™‚ HG!|y $¯³é@(}ºñÀ+6Ô¼Ù»dWĆŴ9ÓlÕsc/]#áà3˜Àê{h~ç7;—î»›&cæ2ÃÍF97á䚉ÕâZ†¯ñ ¼*cî6Õ¡KÙãÓ+¼ÏfT}<¾pÙ©Ç|Ó™^C©/B}f$VQT†í½?¸-"_P÷Ûê$±½s_\L”è;PŠ^ž_5gÓ3©þæÝé®o=ðŠðDAÓhE%1ëì‰M'ÛY¨¾;p8¥¥ô‰Ø…)Ï’¿€ŒŠ ™ ¶—òÎu©;ºÕgÏ4ê}›ARàöðš²< #Ž£Ê««(j¨JSêOiä­»•\òYw诧i_¹" «Ùû.3•ÅXïžåMÜsÅXÑÑ¥›” +o]¸/×ÂÿrltÈJ£W[î}ÅäÝXµâ/9÷ ÛQ|,òyïþ‘>Šúø=&k¨:ÝØ9L­ç¨Aù©ø9Ñ…='˜)78À‰Jb6mŒQŸw$<6ê¢ÿÏ'vE5¬cªøþEŸ4»±qÿ+6Ugê¡}ãU4ÜŽ_öc2@Tµ'\aúö€Éº?w%,Žzj¸&$**Ø]&f÷Ñ7l~Vèò5ÑóOÞ‰:5_9|ÿsñ礚t³^Nîï%öî)Ù{ûN¼­!ˆ¼´s£µ¾çDm°E§¬¸”J\Tþ6±˜_â?T㢲䇅Z¶L¥ßòˆÿ‹nï† Ò²«O;«á9¦Œ LKϨu¯,fà8NS1™´ÖÜæËW’ŽŒ¢––€$×YG™ž=láªþÊýjW½ûtónFUAqHž°5žJôÙDè/ݵqŠ©ÊJwÿµ<¬àÙ™KY ;ÊÇg“Á3å&O=q&i±i“³­ñkæ¾›v(pWœ‘MíK"'ê] €<ÀÿØ^[©Ô}¦œÉï¹úØA'ŬàÉ·¾ä°E ×òØy÷O>¨-÷Cçw£VX?nAD…˜¼±£ç[0ëþ'k=ÏQ› ¼&±}Ê÷ýž:]M ¼à{¥?m&H¼ 2!èÒ iŒ›H¸˜ Z·ÙÁ³›DEÓ›~ìªáí[ÑñGVì}_$¡Ç´7ÓcB_E2æ^ómºÈb`6k•óíÙž~a]‰“žræ¦:ÀÊs¥íŸˆGÕÔî ¶4P"ùLÿÍšŸäøˆÏè9z€`ÃtNŸîywo—ϤØð ŒÉ™û_6•WS¦[À‘ÄØelaýÏê$ •ÄÿZPP!êÖÛuO˜=ŸAoÒ‹Ó˜´ÎÓ^—ÊÏŒ¯{'k;Ͷד¢€¡uçc÷YœÏ/gõ^´ÏN_‘ƒf,qÕ3K̦#@ÓŸ6o„.ƒÝ-,4Ž=e ‰#—'^YÛb TX\ZÍ©Žå‘ñé5Ìê¸lU«Áj”­¢ã@e ‚ EQ]† ¢KK.Äq™+·ÌÞ{8$úø¦èãR£ù˜Õ[ƒ$©HÏ‹ ܰQ ©¢#_ÓlküŠœršf2Èô™±¦ॷgU@ø<‹ðº5 ¾” @®ñá1‰®“}¦…M?³m¿´B‹½Óä%02…@’Q–"F¦’@ÌQ¶i´%_Jhº}5h Õu 6D¼—9å#ªP€$¡ÐÙØzœ½±" „âck çç'È]Hÿ(Ùšn#±­ ¹P0~®éø¹€óJSbClŸ3·üÂù9ê=5zm³4µð„ÜÜìNÖI÷!µ…ƒË¢˜U”ðªÚšŒÚ—hZ£µ€øê)ÃÑLÞÖ¨ Oz|dYŸEM`$AöÝ=¾·ß—`òZ:Ò•xã«Y¤L×^zþÜâQ«XZCgÌ™1R¶ñu­“¾R“džSt)ß:”gUIi«[¹‹µõe FUÒV Ô6FÂZy}t}›¾ø–„´OÜtùa³F~ŽÜž˜ñ±$•1ÈCë7}Ü9*Sé°„åé™XOç-a~2¹IqaÇ÷\¾µmÓr¿zí¯qà~ÞxêYÕ ßk»Æ¨ç›är´™ÃEVM 4'½D`&Eª|qrϵ\-ûÁJ’’£6ítա✂)y|eSUâ·FIÙëœ"æ]»U;­Ñ¦ÞÛŠ,«*P’RÄ7ëBåd¾Ê¿,£ï̵Lõ_j!¶úÅŽI(($A…r02ùï]Êz²Úa“ÊkK`4Eѳ<_…yÒM~IR´\áÙ-~És›ñËnJNœo.¸¸lû«gÃHªö¾Þ¦©;&ÛXغú=ÐY0·‡MÍ´?=ÜcÜÚgm¸G MïëÍ3vOµ9;¸ÆÁYW’L!a¼œ[¾Q‚ÆK7ß…˜È…âÖ")šØèh5’RßÁª@6a$ý‹¿±ýó`B¡J¥9r¤½ƒAA¾á¿{õ©Š¦el¬Í sλÛnsÔ†àúÛß +aé˜Ý½ƒ/¸ëþäË%ØIëÇùP®úô_Ìü ¼¼GÑiš–CuçM€Ó2Ö¦¿üM$ùŸ/lI4_;I]oÑŒ¹sçòù|òwh6A¤#Føy-ôðÜz%áåË»O¦ÉØÚ@ª½Ãê¨p^EÑû›Çâh6N=Û·F`½>áë%¥Z$bgDœ¼Ã1¶Ñ§ƒ àA4ÇÚJÕ(m‚Ò… ÒÑ܈m ºµÓ불®Ü}øüÞÎÑ{¶5o§-|¬á¼nfϦß#þÕh]gl]Xà·ddP5IFgðŒ«‡ÊajÖ³ÝÛ;´ß:éƒ ‚ HGNú ‚ ò{@e ‚ ‚ *SAé P™‚ ‚ H…ÊAA:(T¦ Ò>X K­'Éj|KÎ_Â#/+×ó9õCàg›`½üI+î8Úú%à$ovp Lá¶1οC˜âf¹àAõß]ÿ†Ú U÷æ˜Ùïxß¶hZBuâ:k&sðü;¥Dw¯ö³5ÌÆì¶¾á´5ö¿ ç|‰Øê>Êœijí²ìä‹òÆA✬;óÇYš2 wñ>ñ¼ŒpDvûæýÓ}éŸAe ‚ ÈäNîš¤ßøÉ¸ÿhI¤Â+^„>u7–~}éÁW¢#¼d¿u7ïÖ‰¼°ÚL 4l¬µÑç¼?´ÈÿiWï3‘7vŽª>¹Ô÷nÃ(kÞZèÿ¤‹WpT|䑹êQ+–]ÉmÏ’ÿÿ•)‚´~aÜ.QC˜¦ÖÎÞÇK… b¥^óŸá`Îd¶wßr3£¦á#rxi‡œF¬{^;‡ÁË8:ÁnÍ36‹â÷-kÁd2ÍæÆÕ>¨)œó%b›»Ã¦©ËÊó猪„¥oMç0/äQk#nx8c°šìw+›×–%›†ÄÏ<7ßëzQÞ‰~IlÀ¹Y‘;æ8ÀdšZNð>ñ²R$®SÁ×§G—8[›2ÍFLYò¶öÙu-$ çf…ûOs0g°r]3›Â’ÄÞ.¶ƒ˜¦VãçïÍåá-‡J•¸øV\^éb;ÈÔz’ï±û挱`2-&úFäñ[v³Z»4Êvc¢Ò'ŸÉŒ_µb’ZÊå{ýÃ( 9…Zòô¿6¾ì±|ßÒrbšD ©¯úáâÓ3®rÅ?ГúWTyÿ…žÖzÊ&“—:É$]zRÖ‡ŸÿøáWƒéî–zò y=ëÙ³ôÓ®ß/ÿôB¢Ýž0`â?%Â}éAe ‚ 톓†¹ ¹ºÉºääò 1_·.Ü—ká96:d¥Ñ«­ ÷¾b·x «zàû}zPDLxÐìÆÆý¯Ø"¢¦j>[âÿP{Áɨèó« _œMf5Ó¸°8:è©áš¨¨`w™˜ÝG߈=ÁÓtI‚¨:Sí¯¢ávü²“!*‰Ù´1F}Þ‘ðØ¨‹þC>ŸØU$"lJ˜wcÕŠ¿ä܃nG]ð±È?ä½û›xtÆ‚³^Nîï%öî)Ù{ûN¼­†¯]~w »yt¶Zô:ïsŸy-†J•Øø‹ânT;¾yr†äMó‚éóÏܹsÄ»t%ƒ×ª°ÿ†Ö ¡Qq|è[õ ã »pÒ͸ÕÜañ½Í^GJGlsÑmf*E\BêH›ïOJJJJz±ÅVQÎÜÍRUìÓEÕY©•úèÕ>0¦i¢å½/äÿX€¢Ø­ -=ünK¢ª7>° S‹Ä¢Ýž0`Â?% Ú—Ägâ'Ce ‚ í†,eííi¥+/×ÙlÖꉲÏBŸ~~t*Nzʪ?˜ê²òºVž+m÷#ÒZ¼"D¡’ø"ÅÞ®{Â.¯èMQyBÓ¦Þ¾¹~«l ÷EY5·åS´š{ 0NÖvšm¯'%¡hhcÝ™ÿ•%öìÓ%‰Bj“3÷¿|îÏ‘=T¤ét†Œ$Æ.c ‰šâfF„¤v_à5Ò@IQ×|¦ÿf/ yâÑ5IMÚ¼º šBw ~ ›Wxïb²æ¬åUd»Ù/òê›=,ƒßR¨„?ÝhÚ¦]¾ÛÁšŒþî®}$•zYš*óJÙÂÖ…Ýv-f»A^Ì•Œ®“Gv¦P4mœ ro„s„Çk>ž^¶.Nwɾåf Í0Å%¤1Nê™›?Ønó­!þÉ8¯Š t9ú·É’òüjn½ý“ºf‹‹0Øm˜é€ÁŽS´ºHà<˜‚“J´Û,6“÷%ñA?z>‚ 톢¤¯*Qû€yšZRBa~v 'ë¤ûˆÚ÷g!—E1«ÿŽˆ×¾qK™®9¼.ôü¹Å£V±´†:Ϙ3c¤,V‘×´©Šrn\W-Æ·>U Th÷š‰ª £Xû&‰µð‘®É’D!5ø(Ž‘Ùw÷øÞ~_‚ÉkéHW☘¦åÙU mMFm»4-‹ÑZüÏ£kœ(Œª¤­@©m‰„€°² Š¦®+_[›a ]iV^%½¥P (6~’„Œ 0Œ„Q¤ßW„DEÜöT°¤ÔÔdš9N5³43ñÁϺ}åcuÖ¶ñCw`€ ¸ à~üŠ)ii¨Ë3zN =í¤J+;­@B§ñ”=.}_?«L€³r¾ÔèOò žíÇÎyrfÍ*ïëËUUš6¥Ê>)]‘–ÃÆ h¯8­¸ùsìX«ß‘-)" i¥Q½Jc}–]Tõ;zβ3ƒÄ~²|ÌN1M‘eTì×…58HbÜŒÁÕ'¹éŒ®I¢0¬aødYUiÞÓÌ ¡™gdV3ô¥9-„J<@ññ7ƒ,Óš°k ònxM¼n:GŠókø"¬î ܪ é¾ã¥ß +èµüÂv[EˆJcVN?qýý<Ã~*ŽGãëz©ùxÚ{]lçÅgV i~"ElBH ^ÖµµëûžsÕ“h¾5’´vwÙ¯o3Ù¸ž¼ü·9 n¯®5úGk¼¬ÛÏó—MÔ“¼ê}LÖÅU]L)E–ÓlºÛLœÉÐt_úuÐIAÚˆ·ûPlFiiÖÃc[.s¬þ¤gîfšpñE^eÙ—„S˦-:›)¨ÿþHf(Ñ+^ß}’Åâ–¼8ô¨R€W%íš¿ ðnF‡' €L!IqHÓ¦(ãG+%î ÿX\ž÷üüÎóÙÂÿÓ›/QHµ5\!à|Ž*#'MÃxE‰çO<®à°y„sö4]'wÜÉ(g—$‡n ¼ñ…J§NÐÒXȪV“zçßyõmquYZäþ=/ÕÆ:váµ*¡VÇ_áF`¢òw±÷S«œT#+tíÊȾ–”_YôêÆåÔ®½Ô¨mØÄ¡&åZD‰‘³MWeeeeee•®Öνªb®¾ið…[QIÜÖE‡r‡®õ݉[ùMU5G¢òw±q©.m1!xõ«ÃËö•:ïXk¥\oÖCLktÇòIGϾ(áV¥‡¾ZÞße Rý6U^¹,úàÎ+ï‹¿~º³;ྔÃôAòqkônD»=QÀBñ™l7í‚ ÿ]ÒÆ^“„gŒ¶sÙ µpÏŠA²$EkßÀô[«'Xwõ»§â¹gSªþ*dµ‘Ëfh?\ëd5Ò#X0i®1€¤jïëmšºc²…­«ßs{HaSÝÜwûšçr··›bê5F‹úqH@S3íO÷·öGÑr…g·ø%#ÌmÆ/»)9q¾¹àâ²í¯ˆ.L¤êºîÜb[4ÓÖbäâ[ ³w,éË ]‹a‘ÕFoÞé —²´›”o³i÷ô®’-…Jxá0©õñ7\(l^έßݱE ®cÅd.ßæ¡·jŒµƒ× I×Íë¬ImÙÄ ¡úÍåèªÞãÿ8è“”Žë]éEe½²¢æÃõ¨R¨ˆñ`k]ÇÊqëë^έßÀ¨‚†Wݶ˜š—®}f§Ï´ðí,¾IlâÖèF ùô~á;n¨íœlúþMv¯1Y³•['“B<ìæ-°Üzb•© &®5¢Ýž0à]ù–D™lW˜‡‡‡P(¤R©GŽiçXA¤Ãã¾°%Ñ|í$íŸrÙDGn­]Ì;—Ïç“¿C³)‚ Òj‚‚Ñk+ÍŸStäÖ:†ÓXAäÿŒ¢f=Ûý?ÑZÇ€fSAé P™‚ ‚ H…ÊAA:(T¦ ‚ ÒA¡2AA •)‚ ‚tP¨LAA¤ƒBe ‚ ¿Ö#/+×ó9o.þÿlJ}ÖÕzq øÇ&X/BxûøöS^Ýÿ?1íÒèön‚ ­Eî4l᪾úbD‹ ÈO‡fSi'87+rÇÇa˜LSË ÿkïÎêªö?ޝ½÷àÈaT&ͳ¼ÆÏÒL%g›--½69¤Þê¦bYêµòZfyÓ²'¥n𩍥]§œõ–•š¥] gD„„gØ{ÿþ@„@9Ûz¿þà9Göþ®µ6œk¯³ö˜OöåkBM_üø=Ö®š6ôþÎqÿ?àµÕ§\BèÅ'Ö¾5¸ÏqíºöiáÏ—ù©>ãâÚ÷üæªcEºðœZ0ðþ×¾ZñúcÝ^Z:ÃIDAT™•â*iH=ûíì·—uUÒÏŠêT9ä‹*®A…Š¨Ù»>Ó¿ÛqíâúÛ{[N»Ü©óûw´ìŒ&„ëèœãâ.IW…pû¸o‡'—gz*h·ªËÔb ïв7Oùçæˆ‰k¶lHš|çñOþµáWM¡fmš³3vüâ æ¶ožñÑ~Gñ¡GMÞýì¼ ›¾»wÁO…z•Õ…¨~)-ïû©Ï½ºÓäe[6-~©UòÔçÞKvèBh™f® zòíišTðåË‹WV§Ê!—5ôhàîšU¸´o™k&Œ]¤÷}wåÖu ß4qÌg§‚Ûwjºí`¾®åØ•%‹_*еœŸ¶gFu»Í´óòv‹jzÙ«ˆ˜À;¤€Ž“—}öJ¯›Bý||lv_É‘ãP…ºÝwXï¦õ¬Á±]ïnäþ­Ð‘²buÎícFõ‰ öo;pì_£”j6Q½RZîwŸnóûë¸Çã"ü›Ä|©›ç¿k8…ФÈG'ŽìݶY}‹TâžÊêT9äÒ†n0í™_³ S3·&ýÔpÈØ~·„Úƒ[ô~þïmάX™Þéöz‡·)*<üMFÌ ûÃŽ}´¨àжSañ·[w]ÞóûkzÙ«ˆµ)¼C’=§6ΜôÕÿ²¥À¨Æ~ùzi056?D!ÔsEÍ£l%¿·„Æ„Z¶^©°~az¡Z¥Ô¼ôìâÔyƒ{..ù›ê,4u(P…, š…T0RYñÊêT9äÒ†Ü5®p15?ãœ%¢I`I®l‘Mü ÓóMͺ¶ÑßüîÈaçÑÀÎCz_÷ö®c¿d§ØîQ´óòvór¿ë²×1€Whg·ü#!)ìµ>ëÒÈ&;vŒ½ozé¯$ù¢_% ¡_Þ‘4‡c‘„peÉrUPO×ΧwvjNÙ÷QªSJ±‡ÚZZ2¿o˜,„Ð Oɰ6¶9 I–+Œ•¯¸Nu†|¾¡ZT¸ˆâæçÚy2OíPOBwdœ,°5³›lÝo:7gÝ&Ek=¾ÉÑMsÿ½aƒSoûJÓzöã—·æ˜WË\cÜôົX5Ûü,’ë×] ?ù>¯ØáªpñƒO‹‡î Ùõ¯w×ü’•›¾gáô…§ÔKƒb ñÉûqãŽÔBgöÞ…s¾­dYi%¥äà;¶;3gZÒÞôüœß}šðÄó Nz®”O*Vuª†\û ç¯GXü£­Óþ=ý‹Y9GÖÍš¹/üû›Y$ÿÖ=n8µtizÓ;ûÚ[vŽ8¶hEVl÷ß Û5ÅTxٵܟ·¬ýoÊ9ÖÓ¢nSx…ÜåÅ‘-¾Õ³cׇVùöû[GORÂÛÉEjm1xƤŽiîÝcдƒíþ~_Ô%wb”ð^ OEoŸÐ7¾×йžG‡ßb« Jå¥äà»'½û”Ïê—¾»ûc¯m 9óŸz5Ò•ëT=äÚW(½ ÷¾1ý1±ì…{ºô2çL×)3žlnBnÛµ‰ÑwÅø 9¤Mû0¡Äölå'UÜnÅ—Ý•¶zÚ¤[~eÔ ièСªªšÍæÄÄDowü© >Üív+¥˜MELELELELELELELELELELELELELELELELELELELELELELELELELELELe*{•žžîÅ~\âBL‰ŒŒôb?.ÁM`PÄ`PÄ`PÄ`PÄ`PÄ`PÄ`PÄ`PÄ`PÄ`PÄ`PÄ`PÄ`PÄ`P&ow€kH×uUõhš.„îí¾\B’eIQL’$Uyèî㹯.?˜]P¬iFEÅdYŠ´My8¶U”½6uˆ)€?,]×Ýn—·{Q]Ót]w›Læ+'•ïæŒ^l¶X|}m²|}ÜÑ4-«À=ô“=‹Ÿmפ¾­Æu®ÑPªêñvª ëºªªW>æõå-V«Åb¹^2ŠB–e«Õª˜Lã–þ\«:W«C¦iÞîBÕt½ŠNž-(6™®Ë»f³9õ·ÂÚT ¦àMº^õr“ê¬_1 Y–UµVI‘˜ Š˜ Š˜ Š˜ Š˜ Š˜ Š˜ êºÜ.€«©pGBŸ„ïÝ¥o­ Z÷1á…^ÑÖßQñorÿ·Âg.x¦¹åô°ºä°¦á#:ÔÿK¨Õ.©ég—nK[uÆSíKÌ~c7-úòÀìL¯í’GL@“·7ænå#tgî±­L˜2.$fþ¦ÞŒ¿›Ô°M‹ºZw|}jüWŽ<ÅÚ¦uÔ³ý›‹ù¿ü'÷úx`áåˆ)!d{@P¯"(øAwÎýcºS4µèÎS?|+ñ«ä3…’_t‡/O|âVÙ“ýÃü©ï~¾ãdq`Lç'^óH+ÿ²BºãÐgcGš8±[X~ÌJ¾ÏÜåwpýþ7¸T!„pžÞzT Љof]4ð½~¾KwŠwùí\öóBòl÷Èø‹RP°nû‰ÙŠŠ…Õ2jLÇú·(ÂY¼ã‡Óv»{õ‹¹Ç®ˆ7û/?0-U³…6¸ì¬k޵)”§»2v­O·vonB;»í­©[ÇÍúrÝê“ÚŸøô½MYšzfÕ„WV<ùþÊ5ŸŽïx&ñ¥Y?:JO.:¼dÜèeÁ/Ì_§EáÓ äV‘·$ÅuáI†šsõçûö{„Pì!#Zy¯<²Âá?ê‘FGŽ?ýÁ¾a› oî3:Þæ\¶,eÍ9çç‹LKÕ$߀ËϪƒ ü™M@Oîê‘ÝV—¾SZý°s¨"„îßaÒ¢¸€°áðØü|%G®£8uÛÒÃ1#ÞìÑ"Xž˜ôzä‘@¡ !ôâc_Œ_¶òp‡_ôŒ¨óÛEf_‹³ ·’e$’p®XŸ¶ù¬Ô²qGgÆÈÝù™ª‡OÏú%x|¬oâæ¼©óòóòÝN¡˜Üžb]0 QtáôÀ&—Ÿ5'­ÀyEL@ÅÞ峟‹µ ¡{ Nïœ?åù祹?ÕTñ¤mþ`òúƒÙR@Ãh¿|]“›vηQ¤oÉ KÃŽ} !Bx²¾ÙÑê‘;”Us×¾­_TÄzŠÝ.«5à¢Û$R@dHÇÖL¡{\' u!${€Ù9kdXIžQLŠç¸"ëRý[/H÷¤ŸUí—ΓT|–ríEL@Iñké+„¢aøÓ÷& Ù~ oPÐO¯[:ñù¢l²c×ËÏÂdµíÏ,Ö[ûJB8¯œÿ]D¿­„0…=òƤ¾93pÚŒ]ÞéÝ NWVeeï—›¸Ñ²oé}Ù|W|“§sS¶d!„*„za§(3cÈgYYºB²ú†yŠ­-ZLnëz'éçor5Ý09:úâÚŸU$®9Ö¦ „Ð\Ž‚üüüüüüœÌC[–®Ï º¹™]ÖÝŪÙPÏ"¹²v'}º3¯Øá25îõ@ôÿæÌÞx<×qvÿçÓß_yÒd•…’¥žU–ëÇ“üþ¬ïrêök¼º#/ñ[Gl›&¶ ll‰ x Ç£B î((Ÿ'ÎËÜëßð…¶öpSô ÿ|<¦°$)²¢zò\ºP,mo‹ˆó•m&I!$É×TéYuðõ!fS“¿!áÁ çߘ‚bºŽy{X¬,:~f뤱÷}n®ß¼ý£†wxö¸wïZ<æ­Éyo¼7¼Ïkû ]O}îV›¸ðµSä½/>ñåSÓ?Nnób[¿:XgZJKÝý˰üÈ‘š¼ÓÉì«yΜəµ$mU¶&^8Hwä¼³Â<ª[³ùñfá(ܺýð¬TµÈrr^Ló7G†¹ »ödÌ==ìÁèoç¥ï=¥p‹ïÒýo¤VpV I:t¨ªªf³911±Ú Î¸\×z‰çÕa±\i#¹v¯n±ÛíuÖ™«ëܹs»^¿»úÇ>Üív+¥¸é Š˜ Š˜ Š˜ Š˜ Š˜ Š˜ Š˜€7IRÕ;Àézìøzõiš¦ÈµJÄÀ–\»ÏȺ!IUt2ÈÏêñxê¦3W—Ûínb«M…ëàï@Í(ŠñŸ #)U=ixlï—Óér¹®£9]×N§êñL|à¦ÚÔ1þ߀’$Él¶¨ªGÓêö1€Õ#˲¢˜ª¼éÓýæAõþòêòƒ¿+¼^’Š$I‘A¶)ßÚ*ªVÛüSd’$™Lfo÷¢¶ân\“ÐÞÛ½ðnúƒ"¦ƒ"¦ƒ"¦ƒ"¦Ã)ù”,IRuö¿¨eÉDªrç;oa6HùdÂl 0œ’°Âl 0„¼¼¬”ÔÒ4­ägù€BFÕT>©”+e¥,©”ý{ù •ÿ-Ý#t"ÅIIEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/figures/chef_server_form.png0000664000175000017500000014707613656750211026267 0ustar zuulzuul00000000000000‰PNG  IHDRÙL „-9sBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝwXW×ð3³»ô^¤¢(Š‚¢,PQD¢¢ØÑX¢¦ibIbIQ£Q£ÆØ{Á(¶XPQPAª)"  Ò{/ËÂîÎ|\Ýw¿ Ø¢Éù=yÞ×½ÌÞ™röÜ2Tpp0ÇëׯŸ¦¦&—Ë„B¡7I,×ÖÖ>zôH$uïÞzôèQß¾}q¿ „Bè-KKK+,,¤X–Å}B¡DXXÆ"!„úÇTTT`,‚B¡ŒX,ÆX!„Bÿ$wB!„0A!„Æ"!„B‹ „Bc„B!ŒEB!„±B!„Æ"!„ÂX!„Bc„Ba,‚B¡ÿ¨ºººŒŒŒ††¹òªªªÌÌL¡PøuâóhB!Ô!µµµOžJJJªó"!„êˆÃ0™™™$;" D@,?}ú´³Õr_ËÆ±MU’œpII ÐމÇÔRPÃï !„ú7ÑÔÔ¬©©!ÿ&ሾ¾~ii©Ü2­öUÛh˜ŠŒæŸÅ¥+©.µ<#‹î&lY [WÄíæ¤8j¥¨‰ßB!ôïÀ²ì“'Ojkk_´€¡¡a×®];[í+µÑˆ²C/Ì~*ü>}ðÊûVGrûÔú†7ø[àð@Q¸ÊïÝ^¾~ýúøñã&Mš>>>vvvÛ¶mÃã¯}C‡µ³³“ËNNNvvvõõõoz½)))vvv3fÌx¿v—»»»Ü/‰—VSSóí·ß:tðàÁþþþx4"„ÞŠ¢ÌÍÍ_”ù000x‰@^¥FRšÚtã›À:›³šêj®¨¼¼|ٚͪìxC~º?mæœ!1ïÞ­«šªJg+/++»téRTTTaaaCCƒªªj=œ'NœøÉŸ*--]¿~=Ã0ýúõëÖ­Û{}¸¤§§Ïš5 Æ·nÝ:<Þ¡PxõêÕÐÐÐìììššccc{{ûÉ“'wïÞýÍ­wß¾}aaajjj¶¶¶êêêí,Y\\|þüù¸¸¸‚‚@   `hh8`À€)S¦ôë׿A„P‡r4mnnþøñc@ [®­­mbbò’!ÎK·Ñ´ÄÊ¿ë»ceµæÆšO¬ëJ$®¿oØy¼ °xAÿ¥ôïÓ<=Ç{}8²S5Ÿ;wn×®]ÍÍÍ ¡¡¡®®^]]M>³¦¦æ¦M›ßÄþ½víÚúõëmmm:DJX–•H$4MÓô{ÖÉwëÖ­çÎãp8 ·nÝRV~³9ª¡C‡ …   ---H$,Ër¹Ü×¾¢+V”——ûøøHKÄb1EQçŸÝá÷ïßÿþûï+**@IIIGGG DMÓ‹-úøãeó"UUUׯ_700xõU7®¤¤äÀvvví,öÃ?477«¨¨ôêÕKUUµ¡¡!##£¹¹™¢¨U«VM™2/²¡Ží¬*£ÈެyKyûÏzð?ý¢ï½ÇOmÿ G›[¯<ô—¼IaI©––æÁd¶¯’WÚkAcG ãuø¶tòäÉ;wÀøñãçÌ™C~P²,»gÏžôôô¯¿þúÈ‘#VVV¯}çVWW@ïÞ½ÿ©QÔ›¸¡¾i"‘(00PMMÍÍÍÍÏÏ/88xܸqosÞ\d––¦§§÷ÿŽàwà JJJZ´h‘H$8pà¢E‹H‚×ìììC‡íÙ³GIIÉÛÛûM¬D<}úôi™5kÖ477ñÅsæÌQPP åõõõû÷ï?þüÖ­[‡jhhˆY„Pû*++["ð¼+ëË…#/ùs_"aê ¹¶¸¸¨‡†HKøDÙã7Ž™sn&‡_ÿëêe·¬5ãëöɦŸW}ÉépR!++kïÞ½ðõ×_¯]»VšÙ¦(ÊÑÑñÈ‘#¶¶¶"‘è×_}û—a˜ðÞöróüèpmmí°aÃFMò=ÿŽ ¦¦¦¤¤ä]Ûª–––Õ«W‹D¢#F8pÀÖÖVšE377ß¼yóìÙ³`÷îÝUUU²o¤(êµl€D"ùÛø/::Z ôë×ï“O>‘" ®®¾råÊ2 üŠ›!‰Þ‹!ô*HNNÎÿKLÈ\RH8ÒØØø–ò"å•Uk~ýcC¿T…‘˜U µ»ƒÊ³l³Ž¨@(hxT«VÎåiòZL•h°ï`ÐsòäI±XlooÿÑGµþ«’’ÒÚµk÷îÝëîîÎ0ŒôŠö×_¥¥¥566jhh 0`æÌ™¶¶¶Ò7.[¶,22ÒÇLJ¢¨C‡=|ø°¡¡ÁÄÄdÊ”)ä§jVV–ô7ë©S§N:¥©©ìãã³gÏooïåË—“¿ òK·²²ÒÀÀÀÓÓóã?þñǃ‚‚víÚ5xð`øì³Ï¥/¥÷Q777%%¥ÈÈH¹­zôèѱcÇ***îÞ½«¨¨yyy'Nœˆ­¨¨PSS³´´ôöö:th¿|¸ººÚÚÚêéé%$$É.óùçŸ'$$9r¤¡¡áرcYYY ÃôêÕkΜ9#Gþ¯MÍÎÎŽËåFGGûúúúùù)(( 8ðË/¿´°°xÑ899‰D¢i÷†aΟ?ýúõœœ–e---çÏŸ/» ((èÒ¥K?nhhPVVîÓ§··÷ˆ#È_¿ÿþûÛ·o@jj*iŒˆ‰‰IKK›7ož……Å™3gdó['Nœ/))¡iÚÄÄdäÈ‘}ô‘ªªª4¹2{öìÁƒoß¾ýøñã%%%ŠŠŠ|>Ù²e²í¤1å?þpvv~ч ,))ÑÒÒZ»vm›ì—_~Y^^>hÐ Ù3hš¾{÷î±cÇ233†éÝ»÷_|ñÁÈ.Óþ‘°råÊ;wî6 V¬X1}úôåNŒÛü[·nUVV–››(..îôéÓ))) ZZZöööóçÏïÑ£‡ìÙºsçÎÅ‹÷ïßóæÍ999‹-Ú³gO—.]nܸ!·Š+W®lذÏçKKK]%%%-Y²„üŠutt,++»wï^LLÌ¢E‹æÏŸÿ÷abyytt´††ÆàÁƒ9Ž»»ûéÓ§ýýý?ýôSÙÅx<¹ýûùù¹»»»¸¸ûùù­\¹rݺuÒ6.—+‹·oßìææ¦¯¯ÿàÁƒÐÐÐøøø?ÿüÓÜܼƒßì7ß|In9ä3~õÕWÒ^ÇŽÛ·o‡Ã4h¾¾~YYYbbbBBÂòåËI˜8lØ0–eƒ‚‚ôôô<<<Ƚ¼õºŠ‹‹?ùä“ÒÒRSSSWWW‘HôàÁƒC‡ݹsçðáÃ$6"{^ |ÿý÷ùùùžžžE…†††††¦§§_¼x±S7< Œ;öEýF¹\îÆ[—GDDlÞ¼¹ÿþƒNKKKNN^²dÉÉ“'¥AÞß Æ 366>}ú4Ã0ÞÞÞdºÃ6·ôl¯¬¬ÔÕÕ•û«¶¶¶\‰¯¯ïüÁápìíí ³²²‚‚‚vïÞ-í•BvcuuõÊ•+IÏY==½²²²GÉ]‰È^"_\§êo}‚ „þAúúúåååÒ@„üxëÙ³§ì@ß.]ºtº^öe%¦¤U¤×ïwôÝ0gܬEó—­YºzsZzúö +=g5ÙÚÏ¿üªjÏ-ü:XaVVŸÏ·³³kllìà[’““ù|þСC333¥…‘‘‘|>ðàÁ¥¥¥¤dÕªU|>ßÉÉ)..NºØõë×ù|¾···´äøñã|>ÿ?þ+Ùºu+yyíÚ5>ŸïááQVVFJòóó=<<† Æçóïß¿O ?ýôS>Ÿ÷î]ÙM­®®æóùC† ‘–­òðð ”¶´´Œ3†ÏçŸ9sFZ˜––æââbgg'û1_„ló¯¿þ*}/ŸÏŸ0aÃ0²‹-]º”ìmÙ}ÌçóÝÜÜš››IÉ!Cø|¾»»{ee¥t±-[¶ðùüo¾ùFZB«®®&/ù|~]]yyêÔ)>Ÿ¿`Áé7ûèÑ£ÁƒÛÙÙ‘4ISS©!::ZZgxx8ŸÏ>|xKK )‰‹‹ãóùsçΕ;d¿Ä¯¾úŠÏç¯[·ŽôŸeYV(’oDú=fggóù|‡/¿üR$‘B‘H4iÒ$>Ÿ"­íÒ¥K¾¾¾íìpWWW>ŸÑñsgÔ¨Q|>ôèÑ‘‘‘¤¤¹¹ù³Ï>“ÝÈŽ do·Ö477{zz’•ž8q¢¤¤¤…333ííí‡ ’œœ,-¼zõ*ŸÏ3fŒP($%çÏŸ'ð¯¿þ*=ºÈ±±gÏÙ ëëëjjj:^›'Bè—››ŸŸŸ/[È0LVVV||¼ôÎÛ)/ÿ;cµ¥v×>Ê#×xªÅý6¸LÇf<É]¾a÷ÃjeM õʪʯ,²µŒ¸½Fu°B2AGGGE¥£c€/^¼Ó¦MëÕ«—´pÈ!NNNÍÍÍ·nÝ"%¤a~È!² HAvvvÇGÀÌ™3õõõ¥yš%K–¼DÛ˜t«tuuI¯"44´´´ÔÆÆF¶Ÿ£¥¥åœ9sÈ­±ƒ 4cÆŒ‘¾·G÷ïßo½°ì>9rd×®]«««MJJ'''¹rÒèžšš*[Ø·o_Ù—ÒѧdðpGdddÀ Aƒd GŒñ*Ý]¥w#"!!¡u¡ô3&&&¶_ÛƒrssMLL  {Ï#wâÖËóù|¹²—È'• Yd_jii‰Åb¹†Ã6•••)**Ê }Z¹rå… HÒ^UUÕÅÅeìØ±ä0(,,ÌÏÏÏÏÏ'­­ŸÙÎÇkkk¹æ+++ee円†¼¼<ÙVªž={¶nªèTd)Æ^bÔ´\ àJç‹{Å#¡5ssó .¬[·ÎÁÁÇã\½zuíÚµîîîkÖ¬‘íßæªI¤(ÔZ[[khhH_’+QNNŽl7{Ò+VÚ@Ó©ú[/†úǽè®÷ÒwÃW3Bñ”•ÇüÑXœy³åâì.Šº¿ (Ó¢êÕÔT¬gðúÏ Tt:^éZØñ hëˆdÚ¹y-[k4M3 C†ÏtïÖ9ÒñíÔ©SÒLuëkúôéÓ¿øâ ro#ó%Ô®,’ß–Ë¿:rë•k˜‹Åùùù­ïÊ5ýtp’.ÒM’lg‘šï¾û.¾•ÐÐP…øøx¹Íh½Ueee 7ì³õbdLWëÑ¡­‘o¡®®N.b‹Å€D9¤g§§§ìÝZ,Ë5Otp]­÷Ã0¤Áîµàîî·nÝj'…CfXOOOïxµ¯r$´N˜Ý¼ysÏž=/:­ÈyÔÒÒBZÒ%íUVMNä°°0¡P©®®.;—Ì«×úOÇ" Ãì<ì»à›Ÿæ-[søÔE‰D²y÷ÑàˆX†a¶í?á;¾]·í³åë®Úðû?%æ÷'>^ºz᪠ËÖüVZ^YP\*yqÿŒ™3g*((¬\ã×7Úlj§?ùÆSSSå:$%% …B²%¯ý1b„™™YKKË?þØf¯‘½{÷&$$…ÂNµyé#¡5Š¢6mÚäããó¢xÉa`ffFÂh²j2jLÖÇï߿ߑ ‰E"##ccc…B¡««+iÔ“ýh¯R?Bè?‹Ü‰¼—_X²uí7¬_9~´ Ô54f=Í{ð(#¿°¤I(€ú†Æ #?ùhòôñ£‚ºú†Ö}¿œ7cÉ'uÑÓ112hgJønݺ-]ºþúë¯%K–ýôS¹1Vm²´´455MHH ߩܙøêõ#„þe:×_¤ ¨´‹¾ŽŽ–&É‘_l÷SÓKÊ+KÊ*žçNØ»±ÊJJ#‡~`d¨I)iÅ¥e}zö07ûûß…Ó§Oçp8üñGTTTTT”ªªª––VMM ùÅÙ«W¯;vHŽ[ZZ.Z´hïÞ½sçε··'ƒ “’’x<ÞÏ?ÿÜþóÓ_Âĉ/\¸››;uêÔÁƒ·´´„‡‡7.==]vBOOÏS§N…B›†††Ë—/{{{Kg¿nÇÛ´iÓâÅ‹÷ìÙsóæÍ>}ú466ÆÇÇ×××;::¶9½7‰ÕH!×D–“““––VAAARR’4c4kÖ¬Õ«Wûùù™˜˜äææÆÅÅÀ×_-׳ÁËËkæÌ™C‡ÕÔÔLJJzò䉚šÚÂ… ;¸ß¼½½cbbbbb¼¼¼( “““†™7o™fêÔ©çÏŸ¿}ûveee¯^½rrr~úé§œœœŒŒŒ½{÷¦¤¤,[¶ÌÔÔTII©¢¢bæÌ™:::_ýuëu­\¹2##ãÆ©©©  …÷ï߯¬¬´³³›;wng¿ñýû÷WUU™šš¶3ÅX[[ïÙ³ç‡~ÈÍÍýöÛotuu›››Éh´´´6mÚD&/鸗;^dþüù%%%~~~¿ÿþû®]»ÌÌÌTUUkkkKJJHORooïiÓ¦Ióß|óÍÖ­[.\hggghhX^^/‹?ÿüs¹±ñ/âîî~ôèQ===¹¡ã¯¥~„Ð7ùÐuèwwœ8UA×ÜÜ2{Ê8ð5üCWçuÛö‘e( mtÑÓUW{ÖuÔcÄï‰v|-S¦L:tèÅ‹£££‹ŠŠJJJÔÕÕ&Nœ8räH¹Ñäq$gÏžMMMÚÚÚü±ììg¯‹ªªêáÇwíÚhjjúÕW_M™2eÁ‚ ó¨³nݺíÞ½{ß¾}ÑÑÑÑÑÑÝ»w_¼xñ¸qãNž<Ù‘‘Ÿ ðõõõññ‰‰‰ är¹Ý»w÷ðð˜>}ú‹òqqq%%%ššší<³†ËåŽ=úܹs×®]“Æ"VVVûöí;räH`` X,¶¶¶þä“OZW2sæL##£¿þú+22’Ëå6lÉ’%oqàr¹;vì8{öìõë×É”0VVV3gÎ$™|055ݱcÇþýûSRR²²²z÷î½k×.‡ÊÊÊÄÄćFEE-]ºTMMmÍš5»víÊÉÉmvíҥ˟þéãã~óæM.—Û£GyóæMž<¹ƒYœ—3pàÀK—.]¾|9,,ìéÓ§åå劊ŠýúõswwŸ{ö움Þòà±Í›7·3ú†* ƒ‚‚:2d!„zãyPWU5üóœZY>»ûöëýl ËGþ¿Á½Òò’’ò`<ÙAuuuyyy\.÷Mô‹D!„0Aÿ“——÷ã?jiiùøø †avîÜ)‹]\\ðiæ!„Æ"o–½½½»»û­[·¦Njgg§¬¬üøñãÂÂB--­eË–áþA!„0y³(ŠúùçŸù|þ•+W>|(ôõõ'Mš4þüŽÌ´B¡6n¯í»ŠB!ôѸ B!„±B!„0A!„ÂX!„B‹ „Ba,‚B!ŒEB!„0A!„Æ"!„B‹ „Bc„B!ŒEB!„±B!„Æ"!„ÂX!„Bc„Ba,‚B!Ô Ü¢¢"Ü !„ú§P,Ëâ^@!„Ð?ÛhB!„±B!„0A!„ÂX!„B‹ „Ba,‚B!ŒEB!„0A!„Æ"!„B‹ „Bc„B!ŒEB!„±B!„Æ"ï§1+1¸B!ŒEÞ6@(böÜÉ]}9³EÌJ÷ B¡ÿ2Šeñ^øVù?(?–¯¡ÌŠŠ‚ÑÖzŸ8›ànA!ôŸ…y‘·mx •âÚæjHC™ë5È÷ B!ŒEÐÛý¤:)¿ž r*šRÊqŸ „ú/ã¬[·î U]TTtöìÙ‹/úûûGFF–——[XXp¹Ü6®««[¹reaaPY!t IDAT¡­­í‹*ôõõ=zôh¯^½tuu ##ã×_½wïž’’ÒKlaUUÕwß}Ø­[·.]º@iié?þÈ0LïÞ½ßÐnÑTáõ1PUäÑJ<βQfÖ]ÕµT¸x "„úÏzSwÁæææÝ»w³,;jÔ(MMÍÔÔÔ¨¨(‘H4kÖ¬×Rffæ¡C‡´´´/^¬©©ùеùùùYZZr8œ·°ÇõÔx#ûêtÑPhh;šká!ˆBc‘7¢ªªJ ôïßßÕÕø|~Ÿ>}ôõõ€a??¿û÷ï766êéé=šÏç“wQåïﮢ¢2iÒ¤´Yù“'OZ"ñññ·oß®¨¨Ð×ן:ujÏž=<øèÑ£µk×’<ʦM›êêê6nÜÈãñdkëÚµkaaaDD„‹‹‹lyiié_ý•——§  `kkëååEÓôéÓ§cccçÍ›wåÊ•††WW×îÝ»Ÿ={¶¹¹ÙÍÍ|ؼ¼}zàÀUUUÙ@äÑ£G'Ožìҥ˷ß~«®®~äÈ‘HäèèÉÉÉPYYYVVfcc#ˆ@ß¾}»uëØØØ([îãã“››ûÙgŸÙÙÙ………ÅÄÄÉÄÄÄL™2EQQ1000,,lêÔ©<Ïßß¿¾¾¾¾¾~Ïž=uuuK–,±³³»páB^^g!„ÐÛŽEx<Þ’%KlmmÓÓÓÏœ9óË/¿lذ!==äEHò ¶¶vòäÉ¿üò‹††y—ŠŠÊôéÓGeaa!jkk[×|ýúu±X\WWWSS#-LLLWWWcccWWW@ššjmm­¢¢’ššJ‚°··o]!˲'Nljj -œ5kÖŠ+zõêEÒ6Ò¿:;;[YYY[[³,ëäädeeeccÃ0LEEÅÇ›››LMM?üðCŠ¢bccñ8C!„^ä öšÔ×ן;w.˲¥¥¥)))>>>7ntppÈÏÏOHHHLL¤(ÊÖÖvæÌ™ä-¤)¨©©€X,n]í°aÃìììvîÜyôèÑ+V¨««IiìÙ³‡¢žÍ˜RYYÉápììì"##AZZš¦¦&IÌ´fnn>pàÀ»wïöéÓ‡”P•’’]__OJ$‰ty--- fI Eþ-‹É–ܺu‹Ä4•••xœ!„Bo;ÉÈÈHLL´··ïÙ³§¡¡¡¡¡affæãÇ555§OŸ>mÚ´‚‚‚ˆˆˆ{÷îYYYYXXàok0`€™™ÙÔ©SÏž={üøñ¯¾úЦimmm˜7ož4šQUU‡ðððdff:;;·SÿøñãSRRnÞ¼I^>yò$ ÀÆÆföìÙ………üñG?8ÙWW×>ø€”(((àq†B½È›j£QTTŒ=zô(é‹zþüùŒŒ ]]]MMÍ«W¯~÷Ýw>äp8$Á ¬¬ÜÙúœœŸÝÜܬ¥¥5a„~ýúI»¯vÜÔ©S ÃÃûuëfoo?kÖ¬Û·oïÛ·O[[ÛÕÕÕÈȈ,æààpùòeccciÉ‹¸»»ÇÆÆ644@ß¾}mmmSRRŽ?>iÒ$ {÷îݽ{÷o·JEEeáÂ…—/_>|ø°²²²­­m;3¦ „Bèßÿ<šû÷ïûøøxyy1¿o„Bè]óožñ³ºº:;;Ûßß_EEeðàÁøe#„Bÿ¡Xä]ȶäçøúújiiÍ›7_AAHŒPu 9B½¾kÎko£yVõÿ"¼´!ô.“?UYB(`(ŠaØç¿¯žýUú{ !ôn\ž•$à ¯h €¦)r:KÿŠBït," D€eY†––†€eI¢äÙ_q§#ô®œÿÏ£ XŠ¢(š € ©gÅp!ô¦½†6šç!ù} „†a†eY–%qF"½C±°E°44ÍRêyjXŠ¢¤M®ÿ`8âîî^UUuýúuƒW¯a˜]»vùûû744Œ7nõêÕx$ ôÞÇ"ä’F0 ˰À° fX b–•0 aŸ•° ‹?¯z—°,MQ@S@ÓÀ¡€ËC‡.M‘p„& û&VΆ††Þºu+%%¥ªª ºtéÒ¿OOOé#Þ„Û·oŸ:uЦé>øÀØØ¸%Á¥K—ÂÃó³³ëëë9ŽŽŽŽ¥¥å‡~8räH ¯f½S±é¦J2"Ä ˆV$a% ˆ3,Ã’p„\Ó09‚л¡X–¦€CSœg!ËãP< X.‡"©Nê ÜuËÊÊV®\I£Íårõôô†)(((((pss[·nyääk ,øüóÏÛY,??áÂ…%%%\.·gÏž–––"‘èÉ“'¡¡¡¡¡¡£GÞ¸q#†#½3±È³KŲ,ÀXжEÂV ˜¤âæôò–òF îh„Þqúªœ¾ú 6FŠº*–Ц€¢Þ@$RSS3þü’’CCï¾úÊÅÅ…„555¾¾¾'Ož ’H$[·n}Ÿ´ºº¤å~‘Ÿ~ú©¤¤ÄÅÅå‡~ÐÑÑ!…b±ØßßóæÍ7oÞtvvöððÀ#¡>‘öZe–° aA$a«ÌÕ´†>:Ô\kŽ*w4B︒IJ…øÊ#Ñ„~jº*4‡¢h–¥b–¢)Šz]F~ûí·’’SSÓ#GŽèêêJ˵´´¾üòË|óÍ7!!!ÎÎÎÿûÕóšV/‘H€Ãá´³LYYYrr2MÓëׯ'ý~vÅär½¼¼JJJŽ9ô*±ˆD"a†Ç{S—Ç7]?BïV^äÙ<"  ÊVÌ@RqsjŒ…—ËÅ4&Bï¾ʬ©¶˜¦š“Š…Ã{¨ˆ–KS 4MNð×v‘ăl "åìì¼`Á.—Û«W/Ùrš¦ïÞ½{ìØ±ÌÌL†az÷îýÅ_Èõ,ihh8uêÔ;w x<^·nÝÆŽ;uêTyœ;wNškùúë¯`äÈ‘[¶li3sššš²ˆÔܹs½½½ÉcÆ¥òòòNœ8Q¡¦¦fiiéíí=tèPé'OžÜ¹sçâÅ‹û÷ï¿yóæœœœß~ûmÍš5B¡ðòå˦¦¦r{ÉËËKII)((ˆ$^¢þ;vàã/Ð%!?XÈéšôò–O))**Ò4{¡÷‡ÃdĹ/j 8¤Óêký9²¬¥¥åÀ_´Ì_|Ѻ0""bóæÍýû÷}fÍš\\\ìââbbb"îH‘>­ÕÕÕqqqööörUVVVVV–-IJJZ²d‰@ èׯŸ££cYYÙ½{÷bbb-Z4þ|iN…Ô¹råJ555[[[¡C‡…††Îž=[¶Â;wõêåêo3Bèß‹°,<›Y„•0¬˜aË%]50Aè=BÓtWM…òÆF ËJ`XøßÓ^_8Bú«¶¾Áÿ­ƒnß¾}È!ÐÒÒ²xñâ„„„+W®,_¾œ,°eË–üü|ww÷ŸþYzc^ºtiTTÔ¥K—¦M›6pàÀfeeO˜0A¶HŽššš‡‡G``àÒ¥K§L™2nܸ޽{¿ha‘Hôã? ‚åË—{{{“Âôôô… îß¿ذa$â!›tóæM77·U«V‘„qeeePPPHHˆ\, £G~Åúz?.>¯#'Bò"¤û*°ÏGÿᙀÐ{‡œ¶ 9‘Y ó¾Þî«`bbÒÙ7Ž3†"   0~üx(((VKš3~øárWmmm©\¼x±³«ûî»ïœœœZZZNŸ>=sæL77·+Vœ={VºF©ÐÐÐÒÒRi –––sæÌaYöÒ¥K²û¶ººzÑ¢EÒ:dÈ•””²[ˆ’’’‡jhh899½býýWb‘ç×°g“ª2,Hµ‹Ð{L°$ÿÍ™üÚ455€\GGÈö}}}xÞ±î߿ϲ¬šššìbýû÷WSS{òäI]]]§V§¦¦¶{÷î½{÷zxx¨««×ÔÔ„„„lÛ¶ÍËËëÓO?MJJ’.™@¢ ¹H$‘˜˜([hmm­¡¡!}©¨¨8lØ0–eä…¤fäÈ‘$¨z•úz/¼¶ùEþßÓ´BÿÏNj™çI½***ÐØØØÙ7ɾTPP±XL^“4ɺuëÚ|{aaáKܤ†ÉÊÊJHHˆ‹‹‹½ÿþçŸþË/¿¸ººJW™——'ûÞææf²^ÙB===¹U¸»»†††NžtèPNN΋â2¹i%yõU»»»@hh(üÿ4oâ£!„±Bè¿N__ìØ±°mÛ¶§OŸ¶^ ""âøñãfff¯ÖÆÆ†¦éÔÔÔ’’Ùr†adG©tÄ©S§:täÈ‘6ÿš——WZZ d IcJpp°Ü“ÈËËËCCCÁß®îƒ>ÐÔÔŒ‰‰©®®NLL411±²²’þõÕëGc„ú¾þúk“šššyóæ;w®¾¾ž”×ÔÔìÞ½{ÅŠb±xÁ‚ÖÖÖ¯SWW×ÝÝa˜­[·’t D8°fÍšÎ6Ü,X°€¢¨ÀÀÀ7–——ËF6QQQË–-cYväÈ‘¤£è°aÃŒŒŒÈ¼¨Ò%Áºuë–/_.sÛ.—;bĈ†††ãÇ3 #7µü«×Ð;Ž‹»!ô–©««9rdÅŠ)))[·nýý÷ßõôôhš.--eY–Ëå.^¼xîܹ­öÛo¿MOO óòòâóù,˦¦¦®ZµªSUÙÚÚþøã›7oöóóóóó355ÕÑÑ%%%$r4hК5kÈÂ<oÓ¦M‹/Þ³gÏÍ›7ûôéÓØØ___ïèè8}úôެÑÝÝÝÏÏïüùóðÿh^Wýa,‚BÿžžÞ±cÇ‚ƒƒoݺõèÑ£ªª*Š¢ÌÌÌüÑG¼DÚÚÚ>>>¾¾¾ÁÁÁ!!! ÃΘ1cÞ¼yÒívœ———½½ýÅ‹ãââòóó tuuFíââ";ŸØ€|}}}||bbb¹\n÷îÝ=<<¦OŸÞÁ§Óñù|ªª* ‹=zÈýõÕëGè]F±¯6#ñ'a@°-V(f›Älc ³ãnÍÞq:ÒÙ_ÇÑ ôN‹Å_úW-¢¥ª@+s)%.¥À¡84Å¡XÀÉ<BoöA!„Æ"!„ÂX!„Bc„Ba,‚B!„±B!„0A!„ÂX!„B‹tËRÐÑ‘p¢3„ÞAPðj³ "„Ð?‹PEP€W1„Þk¬ÌéŒBïC,BQË^¸ú×x~Rc@‚zböÙo(š—.„Þcš¢IS+Ea–!ôÄ", À²ÿÅäBïùuœÈÐ$)²Ø{!ôNÇ"@~<PES‡¦¸4¥¯Ê)®—àþEèýR\/ÑWåp(ŠCS´´miBïA,²$B?k£K}…ÄâÜ¿½_î·Xêó84Ðp¤iNÌŠ „ÞñX„¢žu¶§i iŠKS\)>,]Kk(ªã^FèÝWT'¾–ÖZ&h¤Ä¥KS4MÎñN§‘0lEƒH$Á !Ô@âÕÛÉû$ +a@$a[¶EÂV ˜¤baz¹¨¼kz×é«r,õy”tU8<(ÐCqègýX¡ÃýÀ2KFÆ<©aX€&곜Œùf¸‡Bo2a`Y–a ለaEV€˜1Ã2,˰Ï׈ýòzN~x6ûÆ¡( \xŠGS\¸Š´º>Ÿkäï뼓^õÛl1Ãi*Ö ÅÍÏ~‡|:ÌÄû#¹…#3«ÏÅ•äV45‰$†šŠcè·^F¶æMþOè6™oð¢efzPZ׼ܞ¼ô)>Y0ÔB{gOîK î»™Z±%ð©>ùÉU\{P¶ãvî–©}0ºBè5⾞‹i¦aX`(`i €¢)0Àea€a)`XöùT$¡w ¤ƒ*MMS ¸4Å¡€C—~ˆÐä.Þ_¹•M[ž"æX•Ö5/?ÿ¸®I ‡Ã zuQµëþ¿û÷â†uW²Ìô”?nÊãPWî—/ÐTæ}Ø_ïµ|²³÷^5‘Š˜#+=zàñ‚Ð;‹ûlzš`X.‡¢) YŠ¡X€aI×7 "ô®¥FÈDÉ4EÑð,"¡ŸÿGQTǧ0<WB:ˆÔ5‰‹kš- T~Ÿf¹ü|zm“NEÊÆ"™¥`L}O}°ë®™[ÛÇ@*D»‚r’ ê[Älo•/GšY¨HÂ5~™ 9ufºJ?Œíiª£Ôæ–ü_r8üÿ"" {*ºèæÃŠh€‰úÊÍ5•¹S÷ßWâqÎ~n•¢iû“øf[¦ö‘«­§¾Ê­ÔЉƒ ¤›AD?©9QPX#ÔUU˜ådìa­³'shj¢­ÁñÈ.ý{÷œÊ¦3±Åª œ=lÍ4 èQåéØâ¢aWm¥¥nfLÔàë³éÉõ—¾¤©ÌÅ#a,ò2I’ï ×,š`ôzc(Š}ÖˆC®fF#½C±È³vŠz>é;M?;C?ï“N=?£ÿVbnùGc‹dùùô­Ó,{¨ü>Ýrùùô8¥°A$ayœgYwU£ŽEÕ˜jXwUmõ,#r8§î§ñ½T9{îäîÎÝ5³/ù“ÿƒ²ñƒºh(qS+…çoð²h½J„æÐCS6#r,²à|\Éü¡&ƒº©¯¿šõûͧ¿NîíÚW×ï~Yf™À¢‹JÜÓZeÕFVfŠÁΠÜ}!yx[J +Eë¯fu×UÞ9£ßÁмmOû«uÓQâÐTY}s~UÓÂݶ>ÝðthoíÅ®f¿ÝÈÞ’wäcëØìÚ_odµÐ^=®çþмŸü²Î~a£È¥Ít•[$ 'ŠD‹¼–p„¦)`X )†aišdv)–}Þ2Ã♆Ð;” ¡%}Eî†4M=kSe;:½H@$ýwC³dïÜ3úöÐS?°ËŸQEPÛ$ÖSã‘zuQùmjŸ3±ÅדËýî—Àõ•ö0ÒTKØ1ó¨¨ÁÖLc׌~ Üÿ­þsÍI6ôqÕÓò¦67c_HMA~•°©…QWâÂô*.5ÃÁˆ¦`”•Þ™ØâjÈÃZßï~YtVE•{Ù5Š\z¨…vë µTx3ŒŽG†eTK •yœ=õÓRáé©ñ{j%å×?)tÓQ€1»ÀÙTE>STXÓüùpS5Eι{ÅyUBI¯€éö†æúÊÓíV]xó¤fxe£ÌðxD‹¼¦päù-ŠЦØÿE(Ô³„†"½k Òää%g+D@_]¡¨¦™ü»»žòú ™YíS š"Ý?¥øf|3 ‘„Í(m L©¸‘R¾óvîæ)½?fZ/ŸŽ-:S¤Ä£g;Kû´šj+‘ªÔ9" Óæf¬õìY-ïÎÝèŸõëä>$´ªk·ˆYÏ] –°PRÛÒ×Hµ‡žòݬêYNÆñ¹uC,´”ymOs0ÕÎðúƒòCaySø†ÒÂs÷Šãsê[$$Ý+~Þ?_U£¢@€Š"‡Ç¡Ô9 ¢À‘0, È`ùùÇ Ë@Qm3„c‘×wE#]Üþ‘<=žõÂǽÐ;Š•=U;…C-´ÏÇ•€†ÂïÓ,µT¸™Õ®=!÷`§žZ²í7’Ë“òë¿rí¦¡Äµ2Vëk¤vûQEQ 56OéCR#G# ‡¸õÓ{~‘ùûmÞG5§U‹,øÄÙºh(T5ˆöϱ’.F24ÖzûCóCW56KFõ{a·YE.ýÉ0“_®gßzXAJ.Ä—ÜI¯ú|¸é;Ãs÷ŠDtp/h(ÀÏžÝt•I‰4yƒÐýÚk¤ž=ÀâÙåíù¼øþ‡ÿ½»ÿɪÔK=›wª¡¶ šZ˜Ú&qxFõÏW³H ¢À¥æî*»pc‹$8­ò›³é§c‹/&”þx)C$a˜ªÀ’ÓiŸHÍ*¨*r4•¹\šRâuúJõ{ws}å3±Å™ÕàÚW·±E’VYÙвïNÞ·rȳÿÜúéqhê`hž¶ ×®»f;Žì«ki¤šQ* /-¨Š“óëƒÓ* ·¢©IÄüí†ì« ·VT5Š.'–þ|5«ªA;nç~éûH: !Ì‹¼¶ Bè¿CG•·qRïŸü2+DŸH•¶Y¨(Ð?Œíi®¯,¸ð8t@Jù阢 ÛE]aš½!‰W¾Ùm_HÞª Yºé*ýìeAš9:E‰G¯›`±ðχ›odw›ÕÏû£f1ãŸ\~æ^qO}•Ï]LI7-®ƒ¹fTVÍ$[ƒö»R‹Ft[r:¼œhkRX!¾ä~nÝwcÌ·<½PbÛIG˜¨7ÆütLÑÊ¿Ò 4§Ûu×S€ÜʦôâFéNCè?¶ „^§º&ñÕ¤²è'5 -šÊ<~w ¯A¤aâÝ´ãvîµeæXYtQÁ¯!ŒEBèíÉ,<,l8š7ÀD½õ´"¡·'ÕAýGÝI«¼”Pji¤ºçTEè…y„Bý“hÜ!„ÂXu P'ã~@!„±úZ˜´ª)û’$ +ìÀd!„Ð;û‹¼Oòª„ ާt×SÎ.oꩯ¢È£w?fB!ôžÂ¼ÈûÄD[iß0»¼ k„Ÿ3Á}‚BcôöV ¯&•’É!›Ẻ¨BÜ'!„Þwo°†eÙˆˆˆèèèòòr.—khh8bÄ8wî\TTÔÊ•+»víú·õ477>|øéÓ§ÆÆÆß~û­´Ü××÷Þ½{²Kr8œíÛ·wªò—VUUµ~ýzøì³Ï¬¬¬ ´´ô—_~qww;vìZ©„ao¦V4‹™=wò̶ªiÙ·û „BèÝ÷ç:»páBdd¤¶¶öàÁƒ9Îýû÷;6sæL‡NÕ“›››™™éââ2qâÄÖuvvÖÓ{ötMšþÒ<~~~–––ÎÛxÒ&‡¦Æ Ð/«oár( œ¯!„Æ"/V^^©©©¹jÕ*eeepss;zôhmm­t™ÒÒR__ßòòrKKËY³f)**ÖÕÕùùù¥¥¥I$;;»É“'gdd8pBCCSRRÖ®]+·" ‹mFjjª¿¿EE…††ÆèÑ£®]»ôñÇ4žgh–,YbnnR[[«©©éäääîîNQÔéÓ§ccc½½½¯\¹2yòd{{{Ùú»víZXXáââ"[ÞÜÜü×_=zôH,÷îÝ{Ú´iqqq§Nš8qbRRR~~¾¥¥å„ þüóÏÒÒRkkëY³fq8œÖðéžJ IDAT{ u”ÓE]ÁÓ¦ »!„þÞT"áÉ“'ÀçóI ªªªK–,qww—.2dÈ“äääèèh8|øpRRÒìÙ³g̘Ú½{w’qtt\°`AëÕ××W='è@]]ݱcÇ8ÎÒ¥KuttΜ9SZZÊçóàáÇÀ²ljjªŽŽŽ¹¹yXXØ¥K—ÌÍÍ?ýôS33³7nDEE """<==ÍÌÌäÖÞ·oßnݺ666Ê–ûûûÇÅÅ;ÖÛÛ;%%åòåËÒªÂÃÃ]]]»wïžššzäÈww÷=z$&&¦¦¦¶¹ðE!„y‘—!@]]½eFŒakkkll¼cÇŽ¢¢¢ÊÊʼ¼%ÙÒìRSS£ªªª  ***<¯¦¦FZ¾¾þ‹6ÀÜÜ|àÀwïÞíÓçÏù,**ºqãFEE˲‰„¬—ÐÔÔ%%%i¬Fþ-‘H^n „B‹´Á‚¢¨øøøQ£F©ªª’LÉÖ­[»wï>wî\² EQ²oÑÖÖ&oœ:ujÇWdnnþ¢þ"!!!‰‰‰&L1bDPP¿¿?)'±Hjjjjjª©©) ‰´´´***ZZZD"‘±±±´ªö{ÅŽ?>%%åæÍ›ä¥X,þóÏ?544Ö­[§¦¦F‹Žx¹=€B½×ÞTmmmWW×úúú-[¶\¼xñÊ•+[¶l©ªªj§Ÿ©ººº……ÅÓ§O ÊËË}||"""^eH:D dee%$$@IIIss³®®®™™Ylllii©´/ê!C$Éùóç322Ο?OJ:¸"]]]—üü|iöE,‹Å⪪ª+W®p8@P^^þ·õ¼ö=€Býwcðôôœ1c†ººztttTT”††ÆüùóÜÎ[æÌ™ceeuþüù“'Oêêê¾bW‰áÇ›™™Ý¹sçêÕ«³gÏîÚµkhhhnn.ØÙÙ544Ð4-í2lØ0//¯ÌÌÌýû÷çççO›6­ScÝÝÝIc(**Ž?^,ïß¿_IIiÒ¤Ib±˜Ä7ëõî„ÞA...óæÍ“ÙhÁ‚AAAoy3JJJ¦L™2zôè²²²Ž¿ëôéÓü±ô¥ŸŸß˜1cd;„uÊéÓ§íì윜œœœœ†:sæÌðððv–_·nݾ}ûÚY 555==ýíìÀ67æÚµkm2hÓ•+W>úè#77777·?þ822’”—••­^½ÚÃÃÃÕÕuìØ±¿üò 逸øñc;;»ææfi ùùùvvv²íéïŽ .tpIé·VQQaggG>ì‹BoÑðáÃ===ÿúë/iÉüùóoß¾ý–7ãöíÛ“'Oîì»|}}çÎKþàáá‘““óÒÛ [[KK˵k×óòò^´|}}}cc£l‰D"‘}¹aÆ˗/¿øÓO?íÝ»W®ðêÕ«óçÏïÈÛ#""\]]ÓÒÒȧ¸~ýºƒƒC~~>˲sæÌÙ²eKSS˲eee ,X¿~=˲ééé|>_(J+ÉËËãóùÕÕÕïÚA^ZZúá‡vpaé·V^^Îçóå¾âÿ. „ÐÛµtéÒM›6¹¸¸H'*$„BáæÍ›E"QïÞ½úé'uëÖijj–””äææ*))-_¾üøñã………:::Û·oWRR‰D{÷î ‹Å?þø£\µÅÅÅ¿ýö[^^MÓ|>Ù²e)))Û¶m«««›’[òþýûÎÎÎååå,ËóõÒýÜÖÏûõ×3gžçŸ/É“Ãá{yy!„¤¥¥]]]{“1räÈÌÌLü ÞÂÂB2 ½³ªªªððpü&I¬­­-))ñöö&‰222...—/_&‰3gÎÄOð555wžì± @páÂ…ªª*<¨.**jÙ²e!eeåaÆ᪠&&&¸¡[÷ïßWSS³´´DijjZ[[wùÔÙÙÙVVVDÙØØàe:ð[3fÌ@Q©Tmmíššš^ cii‰›…œß¼yÓÐÐÐ9ÿ^. BHGG'99™N§>|xÚ´i^^^—.]Âo¯Y³¦¸¸xùòå666¡¡¡,Kr ££ã´ÿX´hQ/bAA¦¦&~XaÆŒÉÉÉ$)''ÇÅÅEJJJNNîÈ‘#ŽŽŽ·oßVRR²µµEikkOš4éêÕ« EYY9--­¼¼œN§ïÛ·OZZZCCãÉ“'ùùù\.××××ÁÁ¡§k‘››ëîyæÍ›W\\ÜÜÜÜË_Çܹs‰D¢²²²®®nMMM··Ö÷?úh_œœ\@@ÀÎ;;ñ«®®Ž‰‰©¬¬$“É,KWWW²3Þ ‘H²²ÿ^‰‰H$ŠD"ü5¿ÿ~¼XBHFF¦¾¾^ò=¿Æðó!%%¥Î_™]ðx¼ØØØ‡’H¤ŽŽœRRRÇŽ»ÿþúõëãââ´µµBøÛeÉ’%x¡PˆgÂCø[ZZ®_¿>~üxœØÙ³gÏð D"QOOïÀ¸Ã¨¸¸8!!¡©©‰D"•——8×¢²²r/Õ[__ßyeee&“Ùy‡¦¦¦û÷ïK¾AÛÛÛëëë „þ3ç®m\=FÒ+?Wç ¥z¿(XÿþýW¯^jmmÍÍÍݾ};•Jµ²²"‰öööööö¡²²²ßÿ}ÕªUÉÉÉ’N …"¹a> Gº½ˆGQQQrçàûÃáH&ä”̉Åb±$ÕÂãñp väÈ‘“'Oúùù‘Éä… ºººº»»S(”„„„àà`ssó€€<-g·×¢óí‡Sz™TRN\ÿ=ÝZ‹À?ÀÚÚ:##ãСCx8B( ÀÒÒ2,,ŒD"=zTòK½wK—.µ±±éö]üû¸¡¡o°Ùì.:;pàÀ«W¯bcceddŠ‹‹ýüü>ÜG]]]MMmúôé/_¾ô÷÷?~ü¸‚‚ »|O 8pèСׯ_¿víÚ¬Y³>ÌmذaŽ ©¯¯÷÷÷ŒŒÄ3 ,_¾üûÌÏôá§f³Ù’—~jMMÍ™3gv™ý¨sóC_ #‰êð“,£ŸÞ/ n¨ Óé8Ü”““spp¸víZII‰±±qqq1n™@ <øçŸöòò’<>£¢¢"--·¹\n/¢ªªj}}½¤YîÕ«Wººº***’P__/ 555uttN:Õ%Ïnܸ!TXX¸f͚ѣGëé鹸¸¸¸¸455íܹsïÞ½;wîìéZH΂/J/w`··w··Öúh_M```zz:îÀ¿JL"‘ªªª²³³%3&÷ÎÖÖ6%%ŸÙ¥ýÀÄÄÿªnooOKK³¶¶î)«¦¦¦ÈÈÈ´µµ¥¦¦ …Â.= ­\¹R[[;00P (**š™™%$$ „D"Q\\œdrEGGÇôôôÒÒRÜcÒ\.W ੜ ^¼xÑí—î‡( î9233«¯¯Ç‹jUWWçäätùÔ¶¶¶ÙÙÙÕÕÕ¡ªªªÀÀÀž%í¥0·o߯Ýd.\~ü¸¾¾~PPкuë""">šÉ‚ ZZZæÍ›‡4¯_¿¾Ë¿þúë®]»fÏžš0a~Z¡[ÞÞÞ›7ovssSQQY»víË—/½½½?ü•üï_rDbXXØÂ… wîܹyóæmÛ¶íÚµ ?vadd´aüÛÔ©SwïÞíää$iþù(mmíùóç{{{Óh´‰'®Y³&22RÒcÕ{XöÛo¿=yòd×®]QQQ¿ýö[dd$‰DZ½z5^™\bôèÑË—/_½z5ŸÏ—’’Z´h‘¬¬l·áHO…Ó¦M «¨¨‘‘ ù¤‹²fÍšãÇÕ×׋D¢®_¿¯êuøðá?þø#>>žÇãQ©TsssÉÒ=]Ä}ûö…‡‡‡……ijjîÙ³‡L&ûúúr8œ™3gJKK[[[»»»“H¤}ûöEFFâÏÖÖÖÀÀ€H$2 ooo±XL&“—.]ª§§çááK"‘$­&C† ÑÐа³³‹ŠŠZ¸pass³§§§H$4hP—Šê|Õz𤻧[ëGBè<〖P(trrŠŒŒÄϯº‰ì¡ àóIHHL¤èÖgì£áñx,‹Íf÷±ÓðQ©T¦¦¦†»ÃÁ¯©©ÉÍÍMKKkÇŽPôâsõÑðx¼W¯^ÉÊÊÊÊÊö}ÌàkéèèhkkkkkÓ×ׇpð#Ä"L&“ÏçkhhÉäÞŸ=| Äb±@ ¨««#“ÉZZZP!€/æsõѰÙìþýûKKK‰0$€ï‰DRTT¬ªª‚Xð%}®@¡½½]NN¾§D¢œœ ðü ±úØ´€€oüÙ~¨XbÀ7„Éd2 <7vÕ××çää@Õ±ü455/]ºÔ÷ÙÐB÷î݃X€¬Gørjkkœœ êêêfÏž½qãÆK—.UUU >|Û¶m¡ÈÈÈüü| //ÈãñöìÙ#~úé§#GŽTVV†‡‡WUU kkëõëׄV[[[SSÃáp6mÚdjjŠJJJJJJâóùÇß¼y³ŠŠJ]]]DDDYYŸÏ·¶¶ö÷÷'‘HpQøê ]ðP(<5stttrrrAAAaaá½{÷nݺuæÌ™ôôôeË–]½z•Á`Ìž={âĉGŽAíØ±ÃÈÈèüùóIII—/_ÆË®R(”+W®;vlÖ¬YDœ8qâèÑ£YYY4 /u ®®~öìÙ3gÎxõêUÉ[õõõþþþ‘‘‘&L@-_¾¼—|TUUðv[[[]]††B(11B¾50^ð­HOO ÅÐЯ–E¡PZZZB\.W  2!TPPðâÅ .—ÛSV666yyyïÞ½‰DÑÑÑÑÑÑŠŠŠfff !‘H—™™ uÀ·ÚEß [[ÛÂÂB''' …"//¿}ûv„……ÅéÓ§g̘‘‘‘1þ|ooo6qâÄ5kÖDFFêêêv›Õرc—.]úÓO?‰D¢¡C‡nÙ²!´mÛ¶]»v9;;#„ŒŒŒ6lØuÀ·às­ÓûàÁƒQ£F}Ò,€¯N `À¼M"‘¾üÇÜ·oßøñãÉdø ÀÇA»àË©¬¬LMMUWWONN^¿~½¿¿ÿÉ“'MLLX,–dŸòòr‰'´µµ!„X,ÖæÍ›§L™2yòä;v‚Û·o/_¾!”””4kÖ¬O4eÊÿ˜;wn—woܸ1oÞ¼ &Ìš5ëüùó¡èèhƒqõêU¼nDyøð¡H$JNNvpp077wpp8räˆH$B…††2Œôôt++«‹/vÉßÐа¼¼<%%¥Kz[[Û/¿übkk;yòäuëÖáO}ბ””äëëkaa±víÚòòroooKKË7 ‚nk!TXXÈ`0víÚ÷€Xúª¨¨!doo¯  €S”••ccc}}}%ûœ577·´´D%&&fdd,X°@WW!¤¡¡1dÈ3Ù´i“dÛÀÀ 99YòRFF&..ŽF£ihhXZZ¾xñbÚ´izzz·n݉DÏž=c±X¾¾¾!--L&oÞ¼™J¥gggŸ?ÞÍÍ gåãッ˜.ÄbñÚµkúé§Ã‡wn•™3gŽ££ãàÁƒI$RXXXçÁ+VVV“'Oær¹<077·¶¶‹ÅwïÞ}ûömO5`dd7€X>²²2B¨KC…@ è<®BGG!„§åñx¡û÷ïãob×—AË–-&&æñãÇùùù¡3f „Þ¿¯¬¬ŒçÅWRR’––~ÿþ½$ŸöT€Ñ£GÛÚÚ¦¥¥7N’XVVvèСwïÞ‰Åb>ŸÏ‹ihh „äääBxº9¼Íçóÿ^ ±tƒÁ`‰Ä¬¬¬E‹Ḥ±±ÑËËkäȑ۷oÇû„·Ðét|`pppßO4zôhƒÑí[III—/_ö÷÷÷ðð8qâDtt4N·³³‹‰‰¹yóæõëׇŠÛ]455+++¹\®ŒŒ ›Íîèè000dE$öÖͽjÕªëׯ=z¿äñx›7oVUUÍÌÌTVVž4iR?Ëß«¾#0^ðåÐéô 444xzzîÙ³ç·ß~óôô¬®®655íéUUUƒñèÑ£ÒÒÒòòò 6œ>}ú¿)Ckk+BˆÃá]ºt !ôúõë¶¶¶þýûŸ?þíÛ·3gÎÄ;»ºº ‚;vÜ»woÇŽ¡Ù³g÷ñDýû÷Ÿ?þóçÏñK>ŸÏãñø|>“ÉÜ¿?™Lnll¬¨¨øh>=Õ@iiéÂ… Ož< ÷€X>ÁÊ•+·lÙ¢¢¢rîܹsçΩ©©EDD¸ººörHXX˜¥¥åÎ;·nݪ¥¥ÕeB‘O5oÞ}ºX,–Œ,QPP˜;w®‰‰‰ªª*Ž“(''·ðU|®>yyy„PSSSçD‘HD$þ_ô£¡¡!ÙS à…¼_¼x€âóù}R/Ù633377Ç«VJÖÆTVVFq8üR]]®:ðãÇ"¡°°pêÔ©¸Õ¡­­m÷îݺºº’õ¾ BçCpô```àîîÞ÷͘1£_¿~D"QMMN§Kòa³Ùx¼! M:Cøac6eÊ”ìì숈ˆ‘#G’É䇲Ùì©S§ötˆ‚‚‚Á›7oÞ½{'--}áÂ}}}WW×ÞO¤§§‡Ç®JÈËË1âÉ“'999t:ýâÅ‹$ÉÜÜüÃc) BèîÝ»#FŒ+øb„£££ººz~~þ;wH$’¦¦¦‹‹ ž_¤' ,HKKKIIAL™2åïÚÓÓ3##ãÊ•+<¯ÿþ+V¬ÐÐÐèÒa„?~ü«W¯ÎŸ?/''gjj wðåÄb1Ô¾<ø¢¬¬¬-ZÔùWÐâÅ‹³³³?ß×­[Ç`0ÆvŒrppø³/öÝ•+W:Ϩôe9rÄÆÆfß¾}p§ïªð…Õ×ן={ÖÍÍí‹ÑÇÇgÕªUŸõ8ºê<$?&&fèСJJJ_²n/_¾¼aÆ^FæõTÚOÕå¹ÈÏz€XþakÖ¬Ù¾}»•••ššZçôööö;wñù|CCÃ_~ùEEE%$$DII©¦¦¦¼¼œJ¥®_¿þøñãUUU***QQQT*•ÏçÿþûïyyyÀÀÀ`Ó¦M]²ý¨[·nEGG·´´‰ÄÅ‹;99EGG¿}ûvÏž=x‡ÀÀ@+V¤¤¤¤¤¤ˆÅbYYÙÕ«W›™™1™Ì9sæ,Y²äĉÉÉÉxª|È»wïV®\¹bÅŠiÓ¦}x`çlذAWW÷çŸFåååÅÄĤ¤¤444„„„TTTˆD"==½-[¶¨ªªÖÕÕEDD”••ñù|kkkÿÎs¬_¿¾²²rïÞ½ýõ×Ê•+û^Ú¾Ÿ _Ž‚‚ƒñìÙ3;;»yóæ!„„BáôéÓ·mÛfjjúáåè|žµ€®Ñ1|1“'O®¬¬Ü½{wPPNñõõ½zõªX,>räÈ¢E‹ø|>ŸÏ_¾|ùîÝ»ÅbqXXجY³ZZZD"‘··÷¼yó¸\®P(œ;wnVV–X,>pà€OKK‹X,Žˆˆd+±víÚýû÷X’™3g´··[ZZÞ¼yS,Ž;¶¡¡¡¬¬Ì¢µµU,·´´XXX¼yóæîÝ»666ÕÕÕb±øÖ­[“&Mâp8uuu¦¦¦±±±"‘¨sæ|>ßÔÔ´¢¢B,w{`烃ƒ:„·sssÝÝÝñçÚºu+N}Ïm-‹ ìíí…Ba·—£óQ|ÚÊ_á'ŸŸßãÇóóó»ô¤ìß¿ŸL&“Éä±cÇVTTà~„qãÆÉÉɱcÇR©T"‘¨££óþý{„Pvv¶››žÇhþüù¹¹¹|>¿ËãããÄÄÄHÞÂ3L˜0!djjJ&“«ªªôõõxãÆ „Ðõë׬««›››kkk‹ç1²°°PQQyøð!Îdúôé½ôwôr`/444žz ¦¦æ›7oB@òxsXXXzz:BHQQqàÀxÃÌÌ,!!!$‰âââ233{*À'•öoŸËÊʪ¬¬,##7ý÷—@»|Qt:}éÒ¥QQQøåªU«¢££?®¯¯´nݺˆˆˆf²`Á‚––ü4‡ŠŠÊúõë?© S§N½råʬY³”””|||¦OŸ¾uëÖ˜˜==½éÓ§ÿú믒20 ??¿U«V …B…¨¨(yyùž&"‘8mÚ´eË–-Y²ÄËËëÃ;ïìîî´páB%%¥qãÆ;w!äááK"‘ˆ*¶mÛ¶k×.ggg„‘‘ц zú\ŸTÚ¿}.*•:iҤ˗/ý#—üoúŒó®òx<‹Åf³ûøãðQ©T¦¦¦&%%µøb÷êÕ+YYYYYYiii¨h¾qmmmmmmúúúŽ~„X„Édòù| 2™ C–øö‰Åb@PWWG&“µ´´ B_Ìç/Âf³û÷ï/-- Óýð½ ‘HŠŠŠUUU‹¾¤Ï(´··ËÉÉA À÷ôï€H”““ƒ^€$Að49ß!ø³üP±Ä"€Xb@,±¾ßÊÚx\.wÇŽÇŸ;w.B¨µµ5))éíÛ·$ÉÔÔÔÉɉ@ ˆÅâ?ÿü³¨¨H(4ÈÃÃCVV!tïÞ½+W®´¶¶ª««Ï™3G[[®+ð½øVÚEÒÒÒÈäÿ ŒRRR¶mÛTZZz÷î]„P~~þ‹/‚‚‚¶mÛ&##“––†b2™iii¾¾¾áááãÇ?zô¨H$‚ë @,ò ž>}úþýû±cÇâ—<ïñãÇvvv$INNnÒ¤I………¡ÂÂBkkk999‰dgg‡HŠŠŠFŽ©¥¥E Æ/ ß¼y×€X¤¯ÚÚÚΞ=ëéé)™ð‘Åb‘Éd†_jjjVWW#„jkkét:NTUU‹Å,«sbç±HŸ¤¦¦Nœ8QCCC’ÒÑÑA¡P$/) ÇCñxîñãÇÇÊʪs¢´´4ŸÏ—¼äñxÒÒÒ8]gˆÅb>Ÿ/--ÝÓÎø.|åçhŠŠŠêêêBCCBíííB¡°®®îçŸ … ***!&“Ù¯_?„N¯©©8p B¨¦¦†D"©©©ÑétI§ŒX,®®®ž1c\W¾Yb±øôéÓþùgEE…BÑÓÓóòò²±±A…‡‡§¥¥%&&2ä£ù´µµ­]»öñãÇñññ’ôÌÌL¼M¡P´µµ===gÍšÕ÷²Ùì””__ßÎm®€6Y¸p¡dûòåË?Ó;zôèÌÌÌùóç·´´äååMŸ>!dffvíÚ5###*•záƒA"‘ FTTÔ„ ˜››+++;hÐ ¸®|³víÚ•ššJ§Ó]\\Èdrvvv``àÖ­[œœ>)Ÿ’’’ÂÂBµk×~øîìÙ³µµµ[[[ÏŸ?F£Ñ&OžÜÇœ/^¼ëíí ±ÿ±HOÜÜÜ’““ùå)))sssƒ?~<‹ÅÚ³gP(444tqqAijjΙ3'11±¹¹YKKë§Ÿ~‚EÏøfUVV¦¦¦ª««'''+((à$,K²Oyyyhhhee¥¹¹yhh¨¬¬,‹ÅÚ·oß;w½½}@@À½{÷V¯^JJJºqãFzzz—M:ÿß9räêÕ«³³³'OžÜÒÒ}õêÕÖÖÖAƒ-Y²ÄÆÆ¦¦¦ÆÁÁÁÙÙ¹¶¶–Éd2 <_À¤I“¶oß®ªªºlÙ2ww÷   ¸|üø±ˆd[VVvñâÅ]v NNNþx255555…k À·¯¨¨!doo„²²rlllç}Nž<éêêzéÒ¥ÜÜ\uëÖýõ×_{öìiooß°aCÿþý]]]×®]åìì577·´´D%&&fdd,X°@WW!¤¡¡Ñíà’úúz&“ÙÖÖöÇ „Æ×ÐÐpýúõQ£Fùúúâè$00033ÓÓÓiãÆøXyyy„аaÃdee•••ãââà±࡬¬Œª««ëœ(:O»¬££ƒÂ3 ñx¼ÆÆF„Ðýû÷q,Âãñ:ïÜ“M›6I¶g̘áääôòåK„d:"<Àû÷ïñËÀÕbÀÁ`‰Ä¬¬¬E‹Ḥ±±ÑËËkäȑ۷oÇûtò…£ƒÜ÷-[¶lðàÁD"Q[[[OO!¤©©‰’cÆŒýÌ™3'NœX¶l™££ã•+W$Çfffº¸¸ØÚÚîÚµK("„êêê\\\"##q¢ƒƒC\\ÜôéÓ³³³á‚±àû#‰Èd2BèÞ½{‡ŽŽŽ>{ö¬ŸŸßúõ륤¤ÚÛÛù|~vvöŠ+ŒŒŒüüüþõ¯uÉD(ž;w®¬¬ì£g¤P(<O$mÚ4¸š@,øÎÔÖÖ&$$ØÚÚ"„rssmmmét:BÈÂÂBEEåáÇx·éÓ§„^ò‹Åt:ý§Ÿ~ ëc_‰ BHWWW L™2o×ÕÕIv˜?>@PSS›0aƒjkkKJJ¼½½‰D¢ŒŒŒ‹‹ËåË—BÁÆÆFZZ®&ªð…’Éd±X¬¤¤dmmíç燪¯¯×Óӓ죤¤T__·•••û’í¼yó²²²RSSutt>º³¬¬,BˆH$"„äääB$ w»`ªªª’’TWWã¶K–,Á‰B¡PII铊€X𭈈ˆ°°°è’¨¦¦ÖÐÐ yÉápÔÔÔðvï"$iãÆ+V¬ ’¤HšIZZZ>©l67Òp8eee „Pbb¢$‘ècñ_!‹Å7oÞ¼sçN]]™L¦ÓéÖÖÖ£FB>}úöíÛýû÷ÿh>±±±oÞ¼ÑÒÒZ·n]çü³³³ïÝ»Çf³Åb±–––±±ñ—¬¾ÄÄÄ{÷î 8píÚµøÿQ\\ÜÇ÷îÝ‹oúÈÆÆ&((hñâÅššš×¯_ojj255íòh …Bé=¤6lØÌ™3ÿøã<ESSóÝ»w€L&ã.•¾KOO_¶l‡Ã¹}ûvPP¢¢¢™™YBBÂÊ•+E"щ'ÔÔÔàÂðßûŒß—©©©gÏžår¹ãÇçp8ÇŽ»{÷î§æS^^þòåKKKËÎB(;;;33S]]}Μ9NNNl6ûèÑ£ïß¿ÿò•XQQÇüþ6ƒáçç·jÕªÙ³g?~<**J^^¾Ë>¶¶¶‡–4{tËÏÏOÁŒ7nôèÑ+W®Ä­,b±ø£% … ECCcþüùS§NøèÑ#UUÕ™3g~øÊÑѱ±±±ËìMMMÇŽ#‘HkÖ¬QQQINN®­­ÅÅ`³Ùµµµ...MMM'Ožd±X³gÏæp8øÁnËw*ˆE>M[[BHAA¡—}¬­­'L˜àää„b2™õõõÆ 311ÑÑѹ{÷®ŒŒŒ¦¦&BHYY¹Ëà’I“&¹¹¹Q©ÔK—.}ÚÔÔÔÑÑaff†ÂeˆŽŽ&þÝ{U__`$vËÅÅ%""âüùó?`vvvii©¤ëZò¸ •JųP©T‰„›Ž¨T*ðßmàN±È§100 ………S§NÅÏî·µµíÞ½[WW×ÇÇGLt>„F£áÝÝÝ?š¿P(ÌÊÊâñx®®®222Æ “‘‘Ù·o‹ÅÂÃ2zÊG+èêꪨ¨”””p8‰„~^…©S§J^NžÿM€ïÎçz¦ /`nP@,ˆE Ä"‹bˆE±Àç@þ|Yóx<‹Åf³% Õ¾YT*•F£©©©IIIAm¾¤Ï5<Ç{õꕬ¬¬¬¬¬´´4T4ß¸ŽŽŽ¶¶¶¶¶6}}ýÏŽˆÅâÓ§OÿùçŸ EOOÏËËËÆÆ!ž–––˜˜8dÈæÓÖÖ¶víÚÇÄÇÇwÎ?..îÂ… ÕÕÕb±ØÀÀ`ñâÅ“&Mú’•’™™9lذøøx¼ ù† ®^½ZPP@&“áf ‹ÏõWÁb±dee544Èd2þS|ËdddäååëêêX,–––Öç;Ñ®]»RSSétº‹‹ ™LÎÎÎ ܺu«““Ó'åSRRRXXèáá±víÚÎéñññ¿ÿþûĉ.\ØÜÜ|üøñ€€€Ó§Oëêê~á*}öìÙ… àîàëÄ"l6»ÿþÒÒÒD" Iàû@"‘«ªª>_,RYY™ššª®®žœœ¬  €Z¸pa@@‹Å’ìS^^ZYYinn*++Ëb±öíÛwçÎ@`oopïÞ½Õ«W#„’’’nܸ‘žž.9üùóç!???CCC„Ј#˜L¦¼¼<þÔ%2™š‘‘±yóæ}ûö¹¸¸$$$¸¹¹#„._¾¼iÓ¦eË–ýôÓOYYYÇ÷îÝ€‚ƒƒMLLjjjœkkk™LfZZZçOJ¡Pú÷ïÿûï¿O™2EFF¦ó[7n܈‰‰©¬¬TWW÷õõÅA˜³³3™Lž;wîÁƒ¥¥¥7mÚôêÕ«¸¸8yyù­[·Ž;!ôaBK—.-**ÊÎÎVVV†{|§>W ÐÞÞ.''ßÓ¿"QNNî³ð***BÙÛÛã@!¤¬¬ëëë+ÙçäÉ“®®®C† ÉÍÍÅAƺuë²³³CCC·lÙ’–––””4räHÜâìì¼k׮ΧÀßÐëÖ­;|øpAAžžÞ´iÓÔÔÔºÍ ¡”””•+W:88Ðh´üü|œU^^Bhúôéùùù[¶l8p`||¼ªªêúõëÛÛÛqo˵k×´´´üüüº|R>Ÿ¿bÅŠºººÎýG8 "“ÉGŽ¡Óé¿þúëÛ·oBd2¹¦¦æíÛ·ÿú׿X,VHHÈ»wïjkk£¢¢BÝ–!¤§§gll ]?b‘îA× ßÏýgÛÜÜŒRÝ\Ø IDATUUíeOOO777ÜìQVVöîÝ»§OŸ2 KKK[[[cc㌌ yyyÜ碡¡ÑepÉܹsåååcccW®\iccÚÞÞÞm>’£|||ÜÜÜôõõmmmkjj^¼xÁçóoß¾=jÔ¨þýû_¹rïc``°`Á‚ÆÆFI¼¢ªªºqãÆ©S§~øA,,,ÆŽ›PSS#I”‘‘‰‹‹‹ŠŠ:t¨¥¥¥X,~ñâ~«££cÅŠNNN hll\³fÍÌ™3õõõq°ÒS‚ƒƒqó ܽàû¡4àËÁýuuuAçŸõ:::!†âñx¡û÷ï[ZZâ”ÞÛœ9sæÌ™ÓÒÒR\\Ÿ‘‘¡££cffÖK>ÄööögΜ¹yóf}}}kkëŒ3B¸ ¸ñ÷÷îÝèÑ£B è¥0k×®õðð8pà‰D’$ž8q¢   µµg%pº¼¼¼œœBHNNŽB¡à¦#999¼C·e€; @,Ÿ†Á`‰Ä¬¬¬E‹Ḥ±±ÑËËkäȑ۷oï¶m†N§ãñŽÞ ‚Çs¹Üõë×ËËË[ZZ*((,^¼øÝ»wŽŽŽ½ä#éP9rd¿~ýnÞ¼YWWG&“qƒ.ÃŽ;$`ù|>B¨sñ¡Áƒ;99¥§§ᔤ¤¤Ë—/ûûû{xxœ8q"::ºU×màŽ?Ïørètú‚ <==÷ìÙóÛo¿yzzVWW›ššötˆªª*ƒÁxôèQiiiyyù† NŸ>Ýã¯+2¹¬¬ìÔ©Sþþþ‰‰‰qqqááá¡1cÆô1`ggWRR’mii‰¿ïíììB™™™õõõ§OŸî<ضw~~~²²²¥¥¥øekk+BˆÃá]ºt !ôúõë¶¶¶æÓSvîܹpá––¸»Ä"Ð'+W®Ü²e‹ŠŠÊ¹sçÎ;§¦¦áêêÚË!aaa–––;wîܺu«–––O/;‡‡‡{yy½}ûö÷ß%“ÉÁÁÁ¸«¥ùØÛÛãp…C™mÛ¶½zõjÅŠsæÌÑ××ïãçUUUí<2wÞ¼yÆÆÆ‰‰‰ 544LJJ*))ùh>=•áõë×%%%’޾GŸk®³Œ5 †vð}=꥕þqßD¬ððáü¼<&“)‹544,---,,þ©Ì_¿~••Åd2E"‘¼¼¼¹¹ù”)S¾ØG+..ÎÍÍe2™N§[[[ãOŸ>---=kÖ¬æ ‹>\QQ1wîÜQ£FܸqƒÃá „ÔÔÔììì†÷1ˆEþ¾œœœ+W®¸ººŽ=šH$>{ö,%%¥®®ÎÙÙù¿Ï¼µµõàÁƒóæÍ3f @¨¨¨8|ø°¢¢"Qÿ©pRßz¼~ýú… fÏžmbb"‹KJJ’““y<Þ¸qã>é#<þ<,,LAAáÙ³gçÏŸ_¾|¹¶¶¶X,.,,«¯Ÿ/ÂÃÕ””âãã ´}ûö¥K—ž9s¦ººúùóççÎ[²dÉÖ­[§NzôèQ¡PXQQÑÑÑÑ¥ßÝÐÐPOOo?~üØÑÑ1,,ÌÌÌ,33!tñâÅW¯^†„„¨ªªž={VZZzÍš5¡€€€‘#G>¼ºº:>>þéÓ§8ìÐÐÐ ‘H­­­111ÖÖÖ›7oöóóKOO¯®®Æ%õêÕ–-[ÌÍ͇Žk!TTT4bÄ*•ÚSM>zôè矆@À‹´¶¶***~Ø ¤¤$yÈ ·+HKK:´¬¬ŒÃá”——ÛØØ))) <«4BhèСxòA---6›"‘Hþþþ&&&÷îÝÛ±cGHHHVV–P(Ä¡€¥¥%žþyòäɯ_¿ær¹½•Á`„¦¦¦·oßNœ8‘@ hjj†„„hjj1B]]!4jÔ("‘øêÕ«¶¶6YYYœ·†ª¡¡ÒÓÓÃ¥}øð¡¥¥%•¬¬¬pIçC444‚‚‚h4ZVVÖ¦M›vïÞýàÁ„гgÏäääpÛ’ªªª±±1;ÂèÑ£q Fqq±$133ë¥&õõõñLSÀçö•ûhäå囚šD"Q—•k%SK–•¢R©õõõ8FÙ¿?N‰Dx¦B¼Ã¿#,"Q$ImlllllD"QYYÙ™3g¸\®««kSS“ä8<;u/EEá‡øq/äÀ¶¶¶/^¼|ù'òx¼ææfNuttàØâC’L$¥år¹çÏŸ¿xñ"N—’’jjjê2“’ªª*^I«££ãÑ£G§N¢P(\.·±±1$$ï#FÕ¹„¡áÇ'%%1™L¡PØÑÑadd„ç¥î¶&a>iÿ+±ˆžž‰D*,,Ä£.°—/_6772C777«¨¨à¯|YYY<<"00Pò]Þ &“ÙÚÚj``€¿ò -,,p›’’’dv ¼[h$9wÛL‚geÆ¡B¨¾¾iìØ±]z4x<•J½}û¶µµµ$ñéÓ§µµµ666Ý–VYYÙÞÞ^F`MMM’íÒÒR¦©©‰ŠÆŽ[\\\^^®£££¡¡Ñíl’’6'‰dbbR\\ÌçóMMM‰Dâ'Õ$ð™|å>*•êààššzïÞ='ž‡µk׎;vìØ± ƒÁ`àí_~ù…Åb1 ÉŠ˜}‡çëû¤CJJJJKK¿@eþõ×_ ãÀ’@À`08Üitö¹ž£¡Ñh–XàûÒØØøY—hŽŠŠÂ›7oVPP Â/Y,ÖûŒéé鯯ÆFFF_à\ÊÊÊiiiÓ§O}¢¢¢jjjª««gÏžß­[·Â¤¤$"ª©© iäVa•ÀÀÀÐÐPÇì/‹-,,ˆ(99ùÁƒ4ýO²ÀûYºtéÓ§OÝÝÝ=<<îÝ»çèèø^‡3&&&fРAC‡ÍÈȘ>}:¹ººþùçŸóæÍëÛ·¯¾¾þ°aÃÆߪU+77·Å‹?~üø­Uùûû›šš4ÈÓÓ³C‡#FŒPUU]¿~ý_ý5lذѣGkjjš™™5Ò ‘HDD-[¶=z´Ï˜1cnݺ5cÆŒƒž>}úcŸ€/K~}àÓø ‹²² ‹ ‹²² ‹À¢ªN"‘âñt€,ŸœP,“He?îÍÜíeµPŠß<þ«±<&;+¿ª¤J¤«¦_Vâanc¢ŽÓ_;Œ‹|5ÆÙÖŠ¤5"iNqmO3­Ž-UqNY>ƒ×ó‹«D,"Qâýâ{yU8'ð øˆ×hd2Ù¥K—®^½ZXXÈår \\\:wîLDLJJ jÑ¢Å;ë©««Û¶mÛ“'O çÌ™#/ß·o_JJÊ´iÓ_§ûc¸víZDD„‚‚¢E‹ÔÕÕ‰èÊ•+‘‘‘?þø£……ÅGjôn^¥D*[yêq/ mc%'smeDIøê}Äf‡ŽŠŠª©©éÑ£‡½½}iiéßÿ}íÚµ÷­çÙ³g>ttt¬D¾B¡0&&æ“5×ÁPµSKµI=ú¶×`©‹ ßîGª·°°ðòåËóæÍSRR""WW×;v”••É÷)((Ø·o_aaa»víÆ§¨¨X^^}ïÞ=‰DbccãééùàÁƒ­[·Qbbâ;w/^üf[%%%ÁÁÁöööR©ôæÍ›ººº~~~§OŸÎÈÈhÞ¼ùĉ555‰(66öÊ•+•••Í›7÷ôô411!¢Û·o>|¸¶¶ÖÆÆ¦ªªêöíÛ¡¡¡|>?55566V èéé1ÂÔÔôÍv[´h‘’’Ò³gO##£úå111@]]½ÿþ¶¶¶D´téR‡ãäätòäIçííýòå˸¸8>Ÿ?fÌsss"jJ£½ÐÆ»0.ònÙÙÙDÔµkW&ˆ‘ŠŠÊôéÓûõë'ß'!!ÁÁÁ¡eË–éééW¯^%¢mÛ¶¥¥¥ùøøŒ=:)))11ÑÄÄÄÃÈììì&NœøÖ¶8ݺuËØØØÞÞþåË—6lhÓ¦MÏž=Ÿ?~þüy"JOO‰‰±°°øé§ŸŠ‹‹wìØAD»ví’Éd>>>jjjLm™™™{öìÑ×ן3gŽššÚöíÛE"Ñ›í:;;óx¼£GÖ/,//ÿûï¿9ÎŒ3´µµ÷ïß_PPÀT[RRRPPàááQ^^¾wï^@àééYZZzäÈ"jb£È"MR]]MDjjjìãâââàà0tèP"ÊËË+**zþü¹™™Yûöí­­­¯]»¦¤¤Ô¬Y3"ÒÔÔl|r‰žžžƒƒƒ««+ihh899õíÛ—}!"“   aƵnÝÚØØ¸¼¼¼¢¢âþýû‰ÄÞÞ¾S§NÔÐÐ`ªºyó&õéÓÇÐаOŸ>ÕÕÕLLyššZß¾}³³³ÓÒÒä…ŠŠŠsæÌ™2eŠ‘‘Q‡d2Ù‹/˜o‰D¢!C†ØÚÚêééUWW»»»wëÖÍÀÀ€éaøÚÉd²Œ=ÚÁÁÁÙÙÙßß?>>žùÖo¿ýfccsÿþý&þ‘ èѣDŽ ê—ÛØØ¤¦¦~ú—vâÄ ›ž={ ¦äðáÃ666ÿõi€ïÊǺF£ªªÊ Ô/”J¥löÿ¥}}}ùžb±¸ªªŠˆŸÏô§é|ÕBCC>l``àááÁårãââ‚‚‚/^Ì|,iºŒŒŒÔÔÔ1cÆÌž=û‹z555›6múõ×_ñ³øÌYÄÌÌŒÅb¥¦¦öíÛWEE…ù³zõjù‡‹Uÿ---æÀ#F|ðþDEEeggÏž=ÛØØxË–-YYYDÄtL>…¥¤¤¤~Oüüü˜´$ßóM<oÈ!»wïNIIaJnÞ¼éîîîââ×ôÉ­Moàë•““søða==½ýû÷3㦾¾¾ò"zöìÙ’%Krrrììì–,Y¢¬¬,Ö¯_õêU±X<`À€ÀÀÀ”””éÓ§QDDÄÅ‹£££ßl+??ðàÁÆ “H$çÎ322Z±bÅ_ýuñâŶmÛ®ZµŠsݹsgTTTIIIÛ¶mçÎÛ±cG"Š_µjUeeåÀKKKãããUUUOŸ>½sçÎÜÜ\##£_~ùÅÚÚúÍvÍÍÍcbbFÕ®]»úå/^ܼysNNŽžžž¿¿?“½ÜÝݹ\î¨Q£¶lÙ¢¨¨¸`Á‚ìììððpUUÕÅ‹wïÞˆÞÚè”)SnÞ¼Ç| øª}¬k4ZZZ}úô©¨¨XµjUTTÔ±cÇV­ZU\\ÜÈý·jjjfffOž<ÉÍÍ-,, ¿téÒ‡ê3JQVVvýúõœœ"zþü¹¹¹9›ÍNJJº}ûö©S§äY¤k×®DtíÚµŠŠŠ‹/îܹ³þ”Û×téÒÅØØ˜©SÞPuuõ£GnܸÁüA¬««{gß«Q€¯s-rÀ€ò ¸šššÛ¶mó÷÷—ï³wïÞáÇ[XX$$$0!cΜ9qqqK–,Y´hÑ‘#G""":uêÄ ‡¸»»‡††¾ý“—KDqqq–––=š>þøñã>>>-Z´HLL|öìÙ;{ø^|¥˜ £:::ì3vìX///fØãÑ£G¹¹¹wïÞµ±±qtttuuµ´´Á› ¾7SÛÙÙÙÙÙ½Y>jÔ¨Q£F1Ûzzz6l`¶ÕÕÕ}}}_Ûù‡~ïðÚ¬±cÇ2ÛòåÛl6[¾maaQÿòío¿ýÆlXYYYXX0óK˜»y™ÏݺuëÖ­[C¯ËÖÖ–¹S—Ѻuëú=¬õ:((ˆÙX°`¼pîܹòí™3gÊ·oàÀ\P(,,¬_(‹ë¾766¦ÿ^µ …Ìáõë×™’÷ `’sÅ“É@Ì6sŸZYYYXXØýû÷…B!3µK,3óÆäÄÐÐ0//þ{=wêÔ©DÄLêÊÍÍm(N=ztãÆcÆŒ‘îÞ½;99¹ªªŠ9–™ÊFDªªªL—TTTx<3b¤¢¢ÂìÐôFE¾Juuu‹-âp8þþþ //¯K—.xO|<666l6ûôéÓ~~~L.)++7n\§N–/_ÎìóÚL2æÀ_~ùåƒ÷gõêÕ·nÝ ·´´œ6mZrr2ýw>»<0åçç×ïÉŠ+˜!úï4ù7ñùüiÓ¦-\¸ðäÉ“LIDDÄÙ³ggΜ9f̘ݻwÿñÇMìaÓøz}×ÏîTTTœ4i’ŽŽÎŸþyòäÉîÝ»{yyá=ðñŒ?¾¸¸xìØ±aaa6l;vìË—/™ùRo¥££cccsûöí¬¬¬gϞ͟?ÿàÁƒª?•••Lì8yò$3¥=33ÓÆÆ†Ãá9räüùó[·n•g‘þýûQLLLQQÑÁƒùå—úSn_Ó¿KKË{÷î1_27Ê•––Þ¼yóÌ™3DôøñcæÙk¨Ñ•+Wúúú2ý@ùº™››Ï;7,,,$$dìØ±¸uàc›6mÚ¢E‹´µµ¿!}³ IDAT=zôèQ]]ÝU«V >¼‘CBBBW®\¹xñbCCÃ×(ò;chh¸páÂK—.­Y³FSSséÒ¥êêê‹/–ÉdK–,)++³²²bFkºté²téÒìììŸ~ú)99yäÈ‘o}82ƒÅbÕ¿\ëíímii¹oß¾ßÿ}É’%æææMy†PC>~ü8##C~¡à«öׯøJÕÖÖVVVêêêÑèÑ£_¾|™˜˜ˆÓð‘à~0€ÿOuuõ€x<^hhhnnîÇë/^ÆE^—’’òûï¿?~üXUUÕÞÞ~æÌ™x¤²|›Ø8€,ß©8wU( ‚’’’·.Ù_>Ÿ¯¥¥¥«««  €³ŸÒÇš/" ³³³••••••q¢¾puuuÕÕÕÕÕÕ¦¦¦ˆ#ð-d‘¼¼<‘H¤¯¯Ïår_{¢3|d2™X,.,,är¹†††8!ðÉ|¬k4%%%-Z´PTTd³1%àëÀápÔÕÕ_¼x,ŸÒÇ µµµ***"_ÓŸ6[EE¼àÉ"ôÆb›ðåï-|SYYEEYYEàûäìììççWÿ‰Ï'NŒ‹‹ûÄÝÈÏÏ÷òòêß¿ÿ«W¯ä…'Nœ˜8qâ§?'‡þÄ-Êd²éÓ§»ººÆÇÇã= È"ðÝ)**ŠŠŠú¼}ÈÈÈ ¢³gÏêëëË ûöí»víÚOÜ“W¯^ýý÷ߟ¸ÑÒÒÒ¤¤¤ÈÈÈÞ½{7¾§T*ý‡mýo5üóvá+ÂÅ)€Olƌ˗/wvvÖÕÕ­_^[[»råÊ›7oŠD"ssó_ýU[[;88XCC#??ÿÙ³g|>îܹ;wî|ñâ…¶¶öÚµkù|¾H$Ú´iSbb¢X,633[°`ÁkÕ¾|ù244ôùóçl6»k×®3gμsçNXXXyy¹§§ç–-[äq$666::zÇŽ111gΜ111ÉÌÌ‹-:{ölvvvEEEhh¨©©é[»*‘HÖ­[wæÌ]]]__ßÅ‹?~ÜÀÀàÎ;kÖ¬)++#"___ww÷ú/ÙÏϯ¨¨ÈÓÓsãÆl6ûµ®*))Õ-ýúõûí·ßlllˆ(,,L"‘Ì›7/==}õêÕ•••‰ÄÉÉiæÌ™\.·‘F«ªªüüüˆhÒ¤I?ÿü³½½ý† ®]»Æf³ çÍ›×¢E‹'NÄÆÆ*((äççïÝ»W~lÓÛa„7r¹\.—Û½{÷çÏŸ‹Å²µµUQQa±XÆÆÆÝ»wçóùl6ÛØØ˜™êçå奢¢BD£GNHH‰Dõ/F¤¥¥7Žˆ‡~ñâÅwöÅbµlÙ’ùobbblllbbÂl6ÔÕ””''' ‡3f̦ª¤¤$ WWW"jÙ²¥““SlllC×Mþ‡®‘¾¾~BBBFF—Ë ¶°°hz£D”0bÄ>ŸODÞÞÞiii,KSS³Gÿs[,«wïÞŠŠŠDäææ&ŸtîܹAƒdddøøø°Ùl%%%³gϾvà ÀG¤¢¢¸råÊúÓ6_¾|¹yóæœœ.—+˜ÿÌÎ̇ÃQVVf¶Ùl63¥ ¼¼|ãÆ[·neÊ•””ŠŠŠ ˜/iii1_jhh7±‡omT"‘4ÔÕòòry»òòòr@0xð`æK¡PØÐÿ¹«‹-Ú»woHHHAAÁàÁƒ§OŸÞôF‰¨¨¨¨~£L ijjþöä5888,Y²äáÇb±¸¦¦ÆÎÎîÉ“'D4yòdf‰DÂ4ÝP»€,ðṸ¸œ8qbëÖ­\îþ:::†„„p8œ;vܺu«‰£S¦Liè-3w¤¸¸˜Ù())ym6Éÿæ­]UUU­ªªbvßžÓ¬Y3cc㼳Φt•ÍfËoAª¬¬df“¨ªªäææÎš5ËØØ¸é2íÊCOII Srÿþý·îü^mÉ—Zäñx®®®çÏŸ¯««ëß¿?‡ÃaæèìÛ·OAÞ< ¾¸FŸMPPPttt~~¾|¡mÛ¶çÅ‹qqqµµµM©ÄÕÕ522’ÙùòåËkÖ¬©ÿ]MMMkkëýû÷Qmmí‘#G\\\þyÏßÚU++« .TUUI$¦E"êÖ­[aaaRRÕÔÔ„„„deeÕ¯ŠÇãÕÔÔˆÅâ¦tÕÀÀ€Q(--MII!"‘HäããóðáCæ»:::2™ì¾ £¢¢êêêˆ(""¢[·nªªªoÝóŸ´5pàÀ+W®$$$ 4ˆˆÔÕÕ»uë¶gÏ"’J¥ááá111øÀ¸À§f``0eÊùm´?ÿüóü±sçNSSÓyóæÍ™3gÕªUï¬düøñ•••ÞÞÞD¤­­=wîÜ×vX¶lYhh¨§§'988øøøü󞿵«3gÎLKKóòòÒÓÓ?~|tt4‹ÅRUU]¿~ýš5k˜×âêêÊLC‘³°°Ð××ïß¿ÿÚµkßÙÕ©S§†††ÆÆÆêëë÷îÝ[,óxŒ´´´QTTÔ?ü€ зø0¬¬¬FŽéïïÏb± —,Y‚s€,ðIMžýǨ««>üƒTîååÕ£G-ZÑŽ;^½zõÖš™>H¥Ò¬¬¬ØØØ/^ìÙ³‡Åbá§ðéa\>µfÍšùøøøøøL™2eþüùD”žžNDÕÕÕ¿þú«««k¯^½æÌ™#ä‡dddŒ1ÂÞÞ>00°þÓœß,?|øðܹs_¼xáééyñâŬ¬,›úUÕïÄ V¬Xaii™••õâÅ "Ú¹sçàÁƒ&L˜pçÎfçèèhOOO{{{77·Í›7K$"JKKóóóstttvvž?~iiéáÇmllnÞ¼ID¿ÿþ»Mpp0ýw$fëÖ­R©tÿþýƒ¶³³~ü8YXXÑæÍ›Ož<°`Á‚ .¬[·N~ÈñãÇúé§>}ú$$$ìÚµëåD´bÅ .—kbb²sçNMMÍFú£®®ND"‘(!!aÓ¦M¶¶¶[¶lÉËË $¢œœœöíÛoß¾}ìØ±¸téýûßÿ®­­ýã?–-[výúõÝ»wÛØØÑÝ»w‰èÆ·nÝ’'-›¬Y³ÆÊÊjÍš5–––[·ne.!ñx<"ŠŒŒœ6mZ‡þüóÏÄÄDOOÏ_~ùåܹsò~ªªªZZZ2C>ß\£€O-##cèСÌ6Çóôôd.ÙŒ9rÈ!mÛ¶åp8!!!õç‚øúú:;;[[[Ÿ9sæÊ•+—‘¹¹9‹Åâóù;vl(Éd²ŒŒŒ””###55µ}ûöµhÑ‚ù¯éÒ¥¢¢"fäÙ³gOŸ>íÝ»÷¸qã˜$IQQQVV–µµõ¹sçØl6éêêÞ½{·ººúÞ½{AAA+V¬(((ÈÈÈPTTìÔ©ÓÊ•+¹\îÂ… ù|¾¥¥e\\ÜñãÇ™×ND&Lèß¿?]¾|™ËåNŸ>]AAÁÇÇgñâÅÌíÚµ ÇûEþ©6mÚüøãDôÛo¿ …Âýë_ÌÀÀ£G¶nÝš››+“ÉD"‘X,–b``@D\.·¤¤äå´µµ—-[ÆårËÊÊÂÂÂîß¿/ ™"‹MLLæÌ™þ믿QûöíCCC›7o¾téÒµk׆……Q³fÍ-Zdgg×µk×Û·oß¾}›Íf4hÛ¶m7oÞ¼sçNçÎ^½z¥©©Éçó™>+**¾zõJÞ¥V­Z1ÅÅÅjjjÌÂ@úúúxÃÀ7×hàSÓÔÔtvvvvvž:ujee寙Ѕ ÖÔÔÄÄÄ\¹r…ù‡-ÇüÏ.--‹ÅÚÚÚï,oJ Û¼ystt´µµ5­^½úÖ­[›7oNNN¶µµ•ïìíí}æÌ™£GΜ9333óï¿ÿ&"[[Ûœ;wŽIT«V­"¢®]»æççÇÆÆZZZòù|kkëäääû÷ïwëÖ‰,¥¥¥Ì¼–’’’ºº:&KýçÏ1û?544***êêêˆ(//o@øXÜÝÝÛ¶msûöm‘H$ E"Q^^ÞÆ™QŠçÏŸ3{îܹ399™„prr’×ÐP9CQQ177711±ªªª¡<Ô½{weee¦°²²’ˆ Ož<™••ED™™™ñññ={öܵkWMMMóæÍY,–ššš@ èÓ§Ï‚ tuu•””ÔÔÔˆˆ™2rêÔ)f£K—.ç΋ÅL>|¸X,^±bEJJÊŠ+ˆÈÓÓóÍÓâàà ‹×­[wåÊ•}ûöÉ˳²²|}}÷îÝ‹w ‹| ?@lö¬Y³ˆ(44”ÏçOŸ>](þüóÏÊÊÊsæÌ …+W®‰DD4lذ+Vœ?¾ÿþÌŒ†Êëóöö‰DK—.mâå›iÓ¦.\¸ðÒ¥KkÖ¬ÑÔÔ\ºt©Í¨Q£"##Ç¿jÕ*ww÷É“'ëêêΚ5ëáÇþþþ³gÏ611Yºt)µjÕJOOO,wíÚ•É""‘HEEå‡~ ¢Q£FÍœ9óÆ?ÿüsVVÖüùó‡ òf7¦Njkk½~ýúQ£Fs¹ª²²2##ƒ¹ßà[ÂjäCýc N ‹²À'÷±ž/R\\¼dÉù—GGGÇÖÖ¶OŸ> ­øpðàÁ¤¤¤   ×ž*Ø”òçÏŸçææöèÑ£‘>¨©©µiÓÆÃÃCKKë üI<|øð?þèÓ§ü™È"ÿ”ŽŽŽ££# …ÂÔÔÔ'N(++¿–þgŽŽŽ?üðóD³gÏ–••½µf¦2™,''çÖ­[ÅÅÅsæÌÁ XßEÑÔÔìÝ»7³Ý¦M›M›6=yò¤Guuu‡ÊÌÌ‹Åæææ#GŽdÖƒ ¢§OŸîÚµK tèÐÁÇLJyòà[Ë/_¾ÌŒ‹„‡‡3Ï;š1cƲeËäU½Ù‡âââgÏžéêêÆÆÆ^¹r¥²²²yóæžžž&&&DtõêÕøøø¢¢"UUU[[[7776›ýøñãcÇŽåååq8œvíÚ1"---22rúô馦¦Ç?þ|÷îÝÇŽËŒÄôïßßÍÍíâÅ‹ eeeöööýúõc±X×®]óöö>v옧§gÇŽ÷íÛw÷î]îÝ»ãíß¡;_D,¿|ù299™ˆZ¶lID111ׯ_4h··÷;wŽ=*?$99yÈ!VVVéééqqqï,'"___‡£¯¯?kÖ,•FúÃ<ÑH"‘¤§§ÇÄÄXXXüôÓOÅÅÅ;vì ¢Â´jÕjæÌ™....\`Ö¸  …S§NõññyðàÁùóçÍÌ̈èÙ³gDôèÑ#--­ììl"zòä ™™™]¸páÈ‘#mÚ´™}ÊãñZ·n}èÐ!‡ãíí­  `bb’–––œœìààÀTèêêÚ¥K"ÊÌÌd³ÙC‡år¹½{÷ÆãYä3004hEFFŠD"777f` //ïÔ©S@&“I$f *3±TYY™Ãá0Ïcn¼ü½òššš›Í®ªªŠŠŠÊÍÍ‹ÅL‘H$Íš5>|xll,“ Zµjåçç§­­íããsôèQfioMMÍÑ£G·k×®mÛ¶Ož|¸eË–œœœ‘#GÖ_\nàÀÉÉÉÑÑÑÌ£Ì#€ïÖÆ€Ï Ï€d@@d€ÆÙÙÙÎÎÎÞÞž¹UméÒ¥M¼ýíÓ¨««³±±)((¨_(“ɦOŸîêêÿ^µEDDØØØØÿW¿~ý.\XTTÔÐþyyy666b±øµòÁƒ_»víµÂàààÍ›7QQQ‘¼cÎÎΞžžõw«­­íÕ«×ĉå%qqqþþþŽŽŽcÇŽ­¿ ²|Ö®]{õêÕäääððð§OŸ®]»ö3v¦)7Ò—––&%%EFF¾ù@wÖfiiyõ¿"""ªªª~ûí·Òó¹sçúúúQJJJýT[[›––&ÿ2>>žy*’<…„„ ><...!!aâĉ›7oÞ°aÞ–€,ß#ƒ &\¹r…ùr÷î݃ 7n\FFó¯}õêÕîîîÆ 7n\zz:¥§§ûøøxxx :4,,L,<˜ùï[UUekkÁT8räȤ¤¤—/_Μ9søðá^^^+V¬¨©©aÖ­[7jÔ¨5kÖH$’°°°Ž=:&&æµNVUUùùùѤI“ÞY[#¯WWWwРA™™™ ½^FLLŒ‡‡‡««khh¨|‰Œ{÷î=ÚÕÕuÚ´iÌcšÃÂÂÂÃÃSSSÃÂÂ.]º4iÒ$fÏ=z?~¼~möööÌveeåæÍ›çÏŸ?xð`>Ÿ¯  Ð»wïåË—ïÛ·/??oH@€ï‘T*e–dJKKÛ¾}û¶mÛNž<éääÂ|â¿råÊ¡C‡¢££bcc‰hݺu^^^G=tèPeeevv¶Ý­[·ˆèæÍ›íÛ·¿qã¿xñ¢K—.‹-jݺõ‘#GöíÛ÷äÉ“ððp"âñx 6l ŒOLLuêTQQ‘££ãœ9sˆH__?!!!##ƒËå[XXØÙÙݼy“ˆ®_¿îééyÿþ}©TzãÆ kkk悟qãˆHQQqøðá/^$"‹emmm``@D×®]sttTWW'"//¯F:\ZZúÎÚ^“™™éììììììèèèééÙ¶mÛ… 6ôz£Gf±XºººL®""www7hРÔÔÔF:©§§×¹sg&·:uªÿþLÚcú¯££#_KN__KbÁgôׯ … ¤¤„Yü¾d|>_KKKWW—Y_ú£ âr¹2™LCCÃÅÅeêÔ©Ì_Œm۶ݺu‹ÃáÔÕÕ1/ÌÌÌÖ¬Y¹~ýz“3fX[[/Z´hïÞ½!!!ƒž>}z÷îÝ—/_.‘H®_¿îããsæÌ™‡Þ¸q£G€þ»Ð7ihhÈÿéÊÇ.++kݺõk…oÕ”Ú^Ó¾}{fìäéÓ§ãÆswwWVVnèõ2tttäõ¿|ùòÍÂòòòÆÏðСC÷ïß?tèИ˜˜U«V=}úT~¬@ J¥¯Å@ QßN …ÙÙÙÊÊÊúúúòéà‹UWWW]]mjjú±ãȪU«zôèñZáï¿ÿž½mÛ6%%¥´´4& Q·nݺuë&‰<«ªª››;kÖ,ccc///ccãk×® …B===kkë›7o¦¦¦z{{3¡¸¸˜())a6˜Á fC]]]~/“6ÂÛxm 111>|øÊ•+™‹) ½^¦Zfˆ¥´´Tqä¡§~aCzõêµbÅŠØØXeeå¶mÛʳˆ••ŸÏ?wîÜ€ä;§¥¥•””Èç”|;YD 0A„Ëå¾óW>;%%%UUÕÂÂB@`hhøé;P^^ndd¤¤¤T]]}øða‰D"‰Nž<™™™ÄãñÌÍÍe2™H$ò÷÷_¼x±™™™ŽŽ³¨–ÝöíÛ»víJD]ºtÙ´iS]]‰‰ Y[[ïß¿ÿ矮­­=r䈋‹ËkMwéÒeË–-êêêÌÂÚ ÑÔÔ|gm˜2eʰaÃbbbüÖ×ËìÆLŽanÞ™7oSxêÔ©~ýúq8œ3gÎtïÞ½~µ<¯²²òÿûËÎ庹¹­[·n„ õËÕÔÔ&MšÊår]\\Øìc!# ’IDATlöõë×—.]êë뫯¯ßøÖ²HIII‹-ß¼0 _&‡£®®þâŋϒE|||.\èå奭­={öì‡úøølß¾=55uèС<OUUuùòå<ÏÏÏoÁ‚ÌÜL[[[wwwy5juèÐ!33sðàÁLÍË–- ežºáààÀ,µ]_ÿþýÓÒÒFŒ¡ªªêëëËb5¶hè;kk„ªªê?þ¸aÆ^½z½õõ®^½šÇãéëë=º¬¬¬oß¾½zõ""‰Dâàà0yò䢢"SSSù-3Œ=zëÖ­ÁÁÁ‰ÄÈÈhÒ¤IÆ Ãû>£µNï7:uêÄãñpо""‘(==]€oÛýû÷ÇËLÚøŒ>â .Í|}ŸNðkûݰ°°055­{0À7˜EàK¶lÙ²7nôéÓçüùó8ðqq ¾O¦¦¦û÷ïÇy€Ïã"€,È"È"ÞåË—ñc@ù¸zJJYYÙ¹sçðcøb}æûhd2Ù‘#GîÞ½Ëb±”””<==[·n-‘HbbbÒÓÓ%‰¡¡¡··7ó(žÄÄÄÄÄD±Xlllìíí­¦¦ìèèxñâÅaÆuîÜùµ£ø|þÚµk+**–/_ ©©ùÖjà3úÌã"÷ïßÏÌÌü÷¿ÿ½hÑ"77·[·nÑ©S§²³³ƒ‚‚‚ƒƒutt¢¢¢ˆ(++ëüùó3gÎ\¶l™ªªêáljˆËåfgg/Z´¨K—.o¥  0fÌ55µ èèè¼µZø®³³<æõë×+**:tè0|øp"ºuë–££#³º¯³³33’qûöíN:ijj²X,//¯Ñ£G‹Å²²²bž4ÿÖ£ê·õÎàÓûÌ×h 'MštéÒ¥èèèfÍš¹»»›ššÖÔÔ?~üÔ©SÌ> ååå•••Ì"ÚDÄãñä+ݨ¨¨0o=ª~[oÝAKK o€ï7‹‘¹¹¹¹¹¹D"¹páÂßÿ½|ùrMMÍtîܹþnjjjÌv]]]YY³Âµ|ùŒ·õêÕ+ùö[w€Ïë3_£¹zõêÁƒ¥R)‡ÃiÙ²%s;Œ••Õ¥K—D"eff9r„)LOO2™ìĉõ—Æf¼õ(.—+ ¥RiC;Àçõ™ÇE¬­­>|Ìårù|þ„ ˆ¨OŸ>555+W®$"555f‰¹¹¹››Û† d2™‘‘3_¤¾·Õ²eK  L™2å­;ÀçÅjèÉÿÐ7:wîÌåbí=€¯‰X,¾}ûv×®]q*à“Á3àYEEYYE¾Î,Âçókkkq~¾.µµµ|>ç¾…,¢¥¥UZZŠó ðu)++‘ðd]]ÝÊÊʼ¼¼ššœe€/_MMM^^^EE…®®.Î|JëðD$ AII .Ö|ùø|¾–––®®®‚‚Î|#Yàp ‹²² ‹ ‹²² ‹ ‹²² ‹ ‹²² ‹ ‹²² ‹ ‹²² ‹ ‹² ‹ ‹²² ‹ ‹²² ‹ ‹²À‡ÀÍËËÃY€Ï…%“ÉpàsÁ5@dd@@dd@@dd@@€¯§¾1UUUeeeB¡P*•~QãóùÚÚÚ|>ÿ{–×ý}ñYâ½Â¢Êº¯å´k©(ôn¯ïïd¬§®ø^²d2Þµð-‘‚‚‚/¹‡†††Ç‘Âòº±[®W‹‰Ëår8œ¯åÌK$±X¬¦ÀÚý/›÷Š#¸Fß”²²²/¼‡ÅÅÅïð÷ÅgÕbRTTüŠ‚q8EEÅ ¡lÇŧïu ²|Sjkk¿ð …ÂÆwˆÏ|Åå~­“(¸\î…{d€/×;g±”T ¿®‘ú8ÎûÎqA€Ï YEYYE><¾S¾¾¾Ì£>Øl¶–––«««»»û{Õ°iÓ&ooïÏø*œÌµ¼l Lõ”¥2z*¨>œšáAÉ?©°]s‰DöðU5²ÀGhmm-•JíïØrSü3yòˆ¿W\\%KdD1¥óñ´W]šmIxžx¿¸ÝQÝ›ó8¬Ê:ÉÆ¸§÷^VQ÷Ö“œZª(pe$Ûs5ïl†`T7ƒ>íuìL5[éð·&æ¼õ(d€L*•fff +++"ÊÊÊ:räÈúõëµ´´:ô矆……•——‡……ZZZ&&&†……mÚ´‰9\(®ZµÊÑÑñS"jg ¢¤ÀŽÏ*ª_˜ö¼‚ÙI¤[ªŽÛv[$‘Ù˜¨ÿØ»Õ{î¾(­s4Ó v7ó×m6‹m»ôø£”'eZª…´HÎ.=x=¿G[­³‚Sw ßz”Dúá—ÔE€ï×Úµk9ŽH$’J¥#FŒÐ××'"ssóM›6©ªª‘••Õ±cLj(==]GGÇÒÒ’ˆœœœ¬­­™Ç´K¥Ò 6´iÓÆÓÓów^Ï­¨ Åo2]|P"’Ȉ¨—…ö•‡%/JëˆèòÃ’Ÿz·êØR5íy…÷Ö´Ê: ¥çVˆ¥²æŠe5by …,ðÁÌž=ÛÚÚšˆÁÎ;ÿú므€‘Htøðá{÷îq8¡PÈ,S^^®¢¢ÂÅf³544˜íØØX±X—­­Ì#"×ö:½Ðá°X2"‡Íb½žuÞz²À‡§««Û§OŸ7ìÛ·/''gÉ’%|>?++kéÒ¥D¤©©YZZúß!YNNŽ¡¡!uêÔÉÓÓsñâÅíÛ·755ý”}¾Ÿ_UU'ØI/êF¼Ð®¦‘6ÿPj>34Â(¬ž»+ø#þyýÃÍ´ÆÙ·øiïÝ‚r!›E'gؼVÿ[úð|ª¨¨HLLlÕªUUUðùüšššsçÎI¥R‘HÔ¹sçòòò””"JNN^¶ls`óæÍ[µj5f̘ 6TWWÊ>׉¥]Ì™ÔÓhx—f*Ševßö:ÿÔ&¿ìõer/Ü/îe¡ÝL]ˆ 4~Ú–Ïc«ñ9å5âWåB"òîÞ\F2>CDb‰LE‘ÓÐQã…°d2Þ‚ðÍxüøq÷”?_„ˆ”••;tèàëë«¥¥õôéÓ7Êd2 ñãÇoÚ´‰Åb………effnÛ¶­¢¢BGGÇßßߢþóE¦OŸÞ”¦Û´iÓÈw»ÿ¯¦¦ÖÄWáh¦5ª›A=e‰TöðUõž«/˜)áþ·&æ$?þÏXÎKÝ‘Ý ¸¶H,¸öòü½"%{É03CMÅòñÁ”—6&ÝÛhÊêÔRý_ÎF)OÊ–ôæQM v)Kz#‹²È—ëf‘/Ðûf\£€Ï YEYYEEY>ô¿^ö;þùj©(H$’¯ôÕI$UEdø~ñùü/¼‡ ïл½¾X,þJÏ¿X,îõƒ.²|¿ä+è~±´µµßÁßÉX‰Kuuu_×èˆD"©««SU`Mt2y¯ñ xøÖTUU••• …B©TúEuŒÏçkkk7e䦰¼nÇŧî Š*ë¾–Ó®¥¢àÒ^o¢“‰žúû]£A€Ï ×hYEEYYEEYY¾)"‘Y>›¢¢"døl.\¸ÀNJJ‰€OïÊ•+åååœnݺݿ_OOOII‰ÍÆ0 |\"‘¨  àرcÏŸ?oÕªÕÿÊ *ÑûIEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/figures/logo.png0000664000175000017500000010106413656750211023674 0ustar zuulzuul00000000000000‰PNG  IHDRÓ?1gAMA± üasRGB®Îé cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDÿÿÿ ½§“ pHYs  ÒÝ~ü€IDATxÚí]|S×ÛNÒ¦IÛ¤-Pt@qÎ0ÇæSæÛnÀ6`ÈÆ€Á€áÎp®*Ô›4©»»»·¸Õò=÷¾íåCÇä»ïï_’{ï‘Wžs^Õ×ÔMhÿo›H'@ÿI`H èÿ#0HhH ÁH H`@°Ð„&€`L @ H  MhH ÁH H`@°Ð„&€`L @ H  MhH ÁH H`@°Ð„&€`L @ H  MhH ÁH H`@°Ð„&€`L @ H  MhH ÁH H`@°Ð„&€`L @ H  MhH0H`@ üW´êºêŠºêªºêê–VAo&´ÿ,nâQ£1âû‰ “ú˜@z«¿Áp_æC ÿðW?z}}}K×Zïñ!Ÿ è?ÂÜjfVw]=­û+W.]fèâåºzõj3'46–T@ÿ ÌâÔª–VÍkôgÐm Æ­æ~ÂþYu­ŠiW++/——]*+»PRr®¨ðLQÑ™‚‚ê‚<¼ž)È?WTt¾¸èbiéåòò+W++®UUÒ¥¸[¶–› Mh1nºšLÑ_‘åé1aáÒÅsçÎÕÖÖÖÔÔTWWãïÏœ9söìù‹/^ºrª ž%¾Edð M‚¥$Ð}2ôvoh5“5Ïîz›9†¦?~råÊ• .%%%EEEDD„ÅÆÆ¦¦§á“ÊÊJ0ÃÙ³gÁ—.]Â79l@˜¡¾…ÌÜQ î=èáWZŽ×xÄAXà Mî·ø¾ ñ_QQèv0`ÏÜàÝ3B­ ö=­LKK+--@!€ À'`|ÿ KWYÂèÕÔM…)è/aþî –` „m&Z z‹Òp燖rYY™F£Ù6)rV§”¹ÝSöK\ñDüáÅÁjµ&11ª_€2À(‚68ßBZˆ1“XA75Ü>&R {‚ é˜Â^,-A;_\|¶°°6?¿6?¯-¶øBI10.¾v¥¢œPl ümþ-°oevv”Ê×í×ÿxžZáqâwÝù-ïzpª·ÆÅ5944'.:?1¡(%¹$-­,#£,#½<3³<3£"+«"+?¯ÊÉ®ÉËŭϰ¸¹äRY)½W% ±²€ð„vG XÂBôççç—””T·'­Én!IÏYí$þÙ­Ï+/^Æ7³³³ÃÃCÃ"BB‚U*ÕÎ/#—>˜âº/Ÿ§¤¤ddddffæäääååå³TÀôîŽ[———ëK|Ì`Æôƒ@·aéYðXdX|nnn0câããsssa¸W°TUUE+æ ¬nkŸˆöð_øŒ¬l¬òää䘘˜À@Ûní‚¶iÇW…DFFâø¸¸„„„D–ð&‰%ðFjjjzzzVVØ£°°œdØï 7¥ƒ63ˆY`Ì1‡a±âOŸ>ýå—_~õÕWÐjµX©èÅ,±æ{%­Hb² ¼¨ÆçU•åø&–/Vsll|XX˜F£vù³™T¾Pà.å  m`°VÃ\§ Pã¿Ô-„O‚‚‚ÀBP Ð`¿ÚÚZÒB'˜aºm €E I%»víÚ¾}ûöîÝû‡~8vìXpp0ØR™¬Ò ´"i[„7øìˆÿ´tü—RkT*¿=Ó#wOuÙäãçíëë­ ð÷õð÷:ª9ý§úÔ²°cÓ£Ž|}hbüá G^N86!ÑùåÄ“o&zíÓ††§§gæäåóî{–3ÉÈ@ºÚBü­USšAgà‡'pÈÿSÌCÀå@·€¹€ž¹ñqÁžž®_?aôSmméÿào3fx>âå§ÕdDEæÆÇ· ØT@X W@X¼ÁŸEIÉ9qq©áaøf˜w€«‹Úå”ÇN×5‚7=©ñ;ìâ{ÜÅmÍé#“ýþ|N»m`ØÖ®;ŒØ÷Dè¡gƒ?ìü–úÄ»šSLÓžz[ãûÇé ÓQ*ÿÄÀ ÔðpÜÏOL,LN*NM)MOÃ}+³³ªssšY¤^x¡¤íbi) ÖËYd¼Î€õ·÷lßx@&¬ rˆðˆˆww÷3fôìÙÓÖÖvìØ±Ë—/‡u“ö=Œ%€W˜éE,á ~•••ÁZ>±¡¡¡jµ¿¿¿¯—«ßÆ7£æ¶NÿóÛˆý³ÂÖ?ž¸üÔ%ÖYK-³7 J=øEô±Ÿ#]—‡¸oôúSë{*ÀÏÏOÈ4µÆ‘ŸÊfXpp žÈ€04Ô€ÓHša›‘RâÌ3½ \N-èíä fÒÿßsÎÎq±n`Z`%aaa¡cñíÙ³çõ×_···W(O?ýôúõë}||°¾™#ÞÔTÚÏÁ+ÞÃ^nŽŠŠ‚íÃËßí€zÝ«1³äs”éKz¤üjõ«eÖBËìÅVÙË­³W:d¯µËY§Èþ£}Ö¶î™»¥í•rø¥Dçâ]~ˆñXêµ+Ð×Måï¥öpð×hƒ4!a¡,ŒŽÂãáŽiii´¡nÄ3s;HÍЙ=g Ì`xš! gŒà`¬ÈQXÛÀ²éééáááÞÞÞÿ>ú¨L&kÕªÕ«¯¾ºað°–;8ë>::ßÄÒgà¬ÊÏÃYµonȉ?Ê2fZ¦ÿ$ÍüÅ2ûYæß>:ï°¬~Ú”g}£ð^åªùÓEuê¤ÆíÐs¨·w„Ÿ_L€:!(0%,Ð?;66'!ýå sunNm~Þ¹¢"öȹD/Ĺ%~Z@œÿòÄXœÏ —ä‡Cµµµ0—! !,!85š@U€ï¾ÅÁë?ŠÚö}øçšñ«ÄOB 6IÄÖ¢6ý%Ï¿j±|º4&Ð2«ü岬w‚oÄ¥08 ŠÿtV䴪ηg4@]i}a‘}n¡}f¡2­H‘Z¢Œ/´)è‘õHHÒûÚÈùþÚƒþêÓþŒC^P@`0c#EGGÇÇÇ'''“Z UHœg·‘J[¨æý´ï€™}¿M Ýža†¨óMGÅX YYYX@*ÏŸ¿„lú&âÀÊàÓB~œô…$b‚ÅÖ¾â—"Çf6`Ì#Y{qß'-¾ýÒòèYâ YÁÝ0€Ê®LkÇ2€²’Ávez áPëPÏ4b€|0@‘CV‘]z}r‰}B±}L‰2²Ô6¬TTì¨ÉïîŸ9Æ?vŠOØÍa_@gØHš@-xx8ƒXN ³XG@Ìè…+Ü”n—O„µ{ÿÀ*à»KÀ&Æ ÈÎ΄ÝâïïûÇ·á»~ 9¼*èèÆÀ­“çX¦}g‘1Ù2î‹ýC%ï;ˆ»JD¢W<(ûšÅ¢Ÿ¬T+ei›¬ 7Yç›g€Š7›0€‡¢ˆÝ½q¨EÄ+ÊùàFhÖ`€B»äb»x0@±2²DZ¬ *UjJ~å ï2[âŽîyC]Ó^u™}:p··Ú•apBHPpDD8!55•Ð2´Á™3gZ°Á%v˨žQÍm"ÑŸ\Ö0LÓ.+ZÔÂ×7^uÆòe«ù/d=%@›¤¼¼—ÀÅ¥%¤‚ƒ}½U«Þ‰Ú»(íઠ‹C~P¦~g‘öƒ4c†4çGiêW–>cÄ?v?d!’ql I[‰;?fùþ§ÒMKäá`€íÖ…»¬‹À»­óŒjOe©§m«ŠZ ŠÏz&Ðm1@©Ò¿Tá]®ð,³q­´>Uns¼ÂáhÉs?’ôù‰È¥nÚC^àµ& 84$&ŠÙK…6(**¢-# ^#N W˜ÂÄélËv¨á _YbÊ*µ ã œaÀw–Ž•)XPîif›ÍU6›ªmÖUÉWÖZ.-ë±&åó?µG=U*Utt4Å4§¥¥¥³”Æ#Gøœ fÈÈÌÎd‚žsYÊc‰2piÀœ_7—Z‚ïôXâ¦qp:!äí¦ `*¹9—$ ÇèCJ‘‹hrrrHX¨ŸŸß†/Bï¼]³þ£ˆÝó‚Õ¿?ç‡Lk•òôº˜m¥ï Êž¬–ç-“¥L±:üŒÅ׈û5#1 X²·f1öÙì%rçÃ6)§m‹ý•þŠò–mÐbb€(¥‘] ¾0æ5À1h€*ÅþJÅ^Ž À¥NS>ܺÝÝßÛÇ×—È´YÁR8Ka7} EÉ8þÉ`X$ ›xƒ¸Â%Μ©áT„!3pέf€þr…ȼàç–>?9¥{ @ÊøYŬþ OÕæÉas†ÇZ|`YÐï/ÆzœTƒvÌùu`âü~IS%iœ˜gÙÌ ­ô}6Êó6Ȳ—…i¹a”å«í$]ÅâL# ±¥¨u?Éð¤Ó—È´‰ô³-Ó*+•圈q¨¸ Ø—ÏŠ£6Í P)ß (î¹5õ£¡;Ýü}ýüÕ*/o?_?Ð±Š €Pó³‘jð!¹chð9Þ°>A!Á(¡áaàŸÈè(:‚c`¨)ðˆ2e€%( O/ŽýCûQ,?\æÒN 1:3‰±èÜ节h¹¿œ¢®À•¦§çÄÅE©üµî.n[Ý7¼°ôñ€+NŸ\ã¾x¤zÿOßS'Ô.'¶ýÏwí ªÍ¯ûÏ´ˆdÝ¡#Œ¹C3­å$8j«,~‡UÂ.yÒNyìÙÑÏ¥³?ÒQlg/7cå–7íÄ6[ }ÛòÝ%²5'mÕ*El„"3F™cÇ `=œcŸ­‚óí" •7Á%6ûJl\f³•ÁÊ …Ý7'¾·3dýõ1瀣ÎŽk÷ Úv0|Åþˆù»b¦mŽŸ¼1å£Õ)¬H›ø{Î3󳟙›õôìœg~Ê?3çéóÆOÏ{zjîøï²_œ–þÞìŒ÷g§|2'éûqÓE/^±úÀÝû4û<pô¸êÔÉw÷ÓÁžž!^^a>>‘þþQ*UœV›œš‘•ÍÆg_’n9«¦ éróÖ ’æt Œ®ÒÐÿïcu‘ȇn…D\a=ášãc ¸¡ówÎ ^øTôÚOÂOWŸ:¨žÿhüš÷#|¼ü=<ܽ<|W½³ñó°ý‹‚g:¤N·Ì˜%Í2å Úì Ä ˆÙn]¸×¦duáNyê<Ùñ7¤? 3ãdôü“ ÓÓÞÛŸý쮂á”v_]Ùá÷ª¶‹«[/8ã0¯V9ûœÍô³Ö?œ“M:oùÕy‹O/X|xQòÞEÉ»-&^²xõ²äåË¢®Hž»${æ²lÜeÙ˜‹6O^²}â’ý“[=q¡íc5ýž-ùZáKÿËütjÒO c—®ß¾+訳¿Ÿ§7ƒƒ (Â##(ô‡Q©)™éƃ¤ <°^LÌlr{¯tRaÊ¿•+äsÓ-ò½ d¸ú¹}ÚˆÀJWQQEîÐÐËþ¾ûݨõóSß¡™ÿXÜ¢11àooOwwW¯S¾¿=ÿçœ0÷Ãs»&ϰÈ2Ã'Áy;å…\DØ›¢c6¥;¬cçɼn9©§dBܪ#ðöR[I‡‡-ÿÔê»M6‡¼•11öÙv5yvµ9ö5¦M D}ÈÎÏp PÚuaÿ}ewVÚ±@¾ ¸F¾´Z¶¤Vþ[|ÞYÙÜëŸÎYÏ:#ŸzFöàœì›sVŸŸ“}r^úÑéû¬Þ¾hõÆék¬^¾dùü%éÓW¤c¯X>uÅò±Ë–#¯Y<|ÕbÈ5‹W%}ë$½ëÄÝëDë$/+»]è<°¶ßˆ²'ž.˜øaÒì9Ñë7: qqQûú¨´êÀ &.´9H:†¼6¸ 鼂ÜðPÂIó3ÜPµä:€®ÿGH›cv›‡q~†, MNNÌÏÏå6ì0Ž0=1¬âÀ@*€A~`ƒY}ŒŽq?¬yyyy{{»RÿÜ7áØ†@°Ç²GãÍkŽþ3'ÁLLpËIðÛ&$Ò¶ð˜u‘‹mÉIÛƒ6‰‹dûß”~Ó_ò° Àás¨…—¥oþb½d¿K”C Ð¡ªØ¾ Ï…öñä (U•)Œƒà åÁJ›=Uò?ªm·08Øf]µõªZë5òßÁµÖóÏÈ8+ŸÙÌV“õࢴ™.I_¾bÀW,›àšE¿z‹~u’^õ]Áõ’¢¶ "û&‘m£XÑ w¨S¶½Ô­OÅèqy⦅:kvôÚ5Á÷«}<ÉkƒaáÀ qñ$ÍeeS4?c?}@f¨7ŸRé¿ÂuÍ⣣Õjw¸îѨüÔ¡¡ÁaÌù“í? ÀW¨òr 8º1pÙkQ³ûǯý Òí¨: €Iöð÷÷=².ð—Aq®û´~*ßõoGO³HŸm™qË€\!òöÚè»0çe^ŠR/Eñ!›˜eòÃïK'õ²ÜJÔZd‚ÅmY {Ûꃕò ^Jï»Ø|ûì‡Ü"‡ë&P‰]”1È PA»@¶ûø»@´ jÈgäz 0 pÁJ_€.™e€«–}êÅ Ô[t\“86JÚ4HìÀÊ©Rg¥ÐÉl›lõö­®8u;7x`Õ¸ÑyŸý/~ñâ°Ý;ƒŽWùxûk´0–‚‚‚˜©h&kÁuf¸1}†©Œ7Mð/õY2—‹ba ’’Ô'Ü·|ì»pˆvõóª­ùì˜ìµwæéCó<öýäµ{²÷æ÷}—>¡Z8H³æ%ÿãK=4'N{zDøù…ûú±A;oÿÌgõSj¿ÃLJ¬Ý_øž'^h±Ø2b‰4r¹4jU4¹Coß¼[¿_žxHžpÈ&þ°uâ #'ÁÉješÚ6=@‘vZ¼Éf÷d«)c,é"vp‰¹f~sYô;Ž“ŒüÖê½µò~6ûR¾ù M±ºT©.Qú—ÙºëóAp¹ÍÆ ë5Ö«+l–WÚ.«”/©”ýR%ŸÁ_m=³FöcµÕÔjéäÙ·µ²¯ÏX}V#û´Öêý3VïÔJß>+}ã¬ôµsÒ g¥ÏŸ·zþ¬å¸ Ò1,Ÿ¼`ùøE‹‘-‡_´zÉbÐE˯Xô¾$éqEÒý²ä«’ŽW%íÁ×Ä­®I”×$¶×,uRELYg£¬³u¨·µ»¦TÖÙ+êZ)ëÚ:\íØú|§ª'G¼ûFÚÔÉÑ+—îß«>~B {é´¦&ÔÛ;Òß`4›e,*;66/!¾09º,#£"3‡ ’Î>›_Ð’ ¼„MÛ$ä$Ïe3L7öOÎ8fZ°î[`}hFæžÖÛªÙ9;lã—á«ß _ýnäê#V½±î“Ð-?„í_äz@ $ý@ÒPŒM„³gÑø˜MŸ†Cüûúzïž6Ý2Í|H¤oж…‡m X P¢ç êk[ , V”‡)«ÃìÊ=m“ØøN•Ícñ¼“¤»TdiJ-ÈD²ŽâöÃ$ƒ?—½¿F¾ÐÝvg´Âµ@X®Ô–Û©Ê”~Ð wÁtlRX/& PcDÃV¯0Àê3àše2êÅŒ ToѦAÜšÓõVÊF¹=–~£Ò¡ÑÞ¾ÞAÙØÚ®¡}CûÖZ7vjÓÔÙ­¡G»«C{ž=¼ôÃW³~š³y}ÈáƒÐ ÑÍš!ŒÁМ§7  ³9‰Kz ‰ƒ z' †E}þÙ4Ì`¦3ÌYïåKè<†#11žµyBØÌµZ4µZ­Õ°¹€"ð¿éé©t–‰WJŒéÄ.í¼áñÇ6bùûøøìšn4(žÇÙ«­rÙ¼@¹üiShÆšœáè$˜u…¨ SVFÛUÇÚUÅÛUEÙŸTh·ÞøŽÕg}%”b¥…XŸÄâë(ºµ¸Õp‹A¥Ï-O9f½2Öö`®õ©¥Kíé [çjűf°ÙM Pi½±ù$X¾Ê¬ dßÔâ€0€À4X+ö`€‡ÆÖöŽÄM86viÛè䨨½®gÛÆ^mšú¶mz°}ý°.ç_YúÙ[éóŒÞ±Iãv °9  Ö ’¦­$J`h q¹oôä3’¥øŸ™nÌ\f8v¨žÛ ÿ àR–È•¥„¡" búœù£¨C–––ö€~Xò\4†××·YÜ4(~C—¬m²7É ¶ÊL¹C7ûV”6SfW°g‚ÑÒZÕdØ×$9”†*S*Oþ ›5Ær\gI=¿#=²Y´+ºJ:Ž·1Íêííò}l—&Ùl­°Ù PeûgµÍö›-ÕÖ-à¯d€I34X¶«µâ3@ƒµ}£]ƒm+FØÛßÈmuÛ€šºµÁêoìÝ®¾_Û¦þm›´kØV7¸mãðêžêyþ•Å“ßOY>7j϶ ×LP€608(4<,*"’Ÿ;ƒ ÒóÈ BÚ"çªûæ¢üÖz3Y ƒïðC^l0Ó=tõL Õ¶P Kbö| hø×Çc, ¢tç~~~Û¾Ž¤] Ÿ­²æXÝÀËå¹Ë­˜Ì(>fòBßQDX…)_ : ζ«Î±¯)t¨I±Ï=­ðÙ`³ácÙÿ[„Ô7n#ñ¶W%"q‘ãHI¿‰ÿb5ñ°ü‡H›Å™ÖË‹lVŸµYÖfÍùŠZë¥`€36¿ÖÊ~&¨µL¾¾ jõ&² ðÊ ðÄu ¾jÙïªEoŽêÄíë-Új†Lj€6 ]Û@4öj hèÛƒÚé†thz¨cãÚFtlա鉎W^Xýñø‚YŸÅo^xâH€—©…ÀÐÈÈHHàF'd7gÚ#ñGÒ°´¼Œ2Ê'_MU-¿æçš¡—qŒyÕÝPƒôŸrŒ7ÜI0 ðÅÒ’ %ÅŒSnQÑÙÂBÃv¦ ÿLAAm>ãÓ[•“S’‘âåyr•ëæ}ý¸†úú†ùø~m{Ëw¶EøËH: ^Ør¼J¶F³Qí¶ÐÛu÷Ž61;¥ñ;å±Ên%&Xe“ÂŇ+ÓM¹CÓIp>Yh—’c•¨T¹È·-±úî]‹§GHz¶Éâf{¶µ`hq[‘´‡Èn¬¤û—–£–I_Ú/}/HöM–üÇJù¬jùìZFöO?#ÿþŒl@p­ìs€à3²ÎX½|^6ñ¬Õ«‚ÏIŸ;'|QúÔE‹ÇÎ[6ƒà+’AW,‚û¶€à®z ¸^l[gA Ø¶ÎÆ¶ŽAÀö×ìíêìëÛ´ºÖΡ®}«k[Õ=Ц®këkNmºµ®ïéX×»m]_Gèºmë·«Ò®nXûº‡:Ôèpmd‡úG:4>ÒáÚ“®ëvnBÿ’¯_I[0%jó²À£1wŒ³·—W„Ÿo¬F“”–‘‘™ƒÆLÇ&äÆÇ$$&¥§¦–¦3>á”qŒË×M‘Ó—ËËø¹Æ ÒÕ4ÔÖþ=îІá¿äD¶ÝÔ\ãÒÅó/œ9S R«Õúù¨…ñ˜˜êb¬y>æg»ÔÙ’L ER&1Ö2iΖ¡)^ÇÔnm뜹Y–sçyL¸C³§`Õ¹­®„9dÛg”)S³í"C.Çm6/}ÿŠåØÞ’n­%öÍÒÿfd+²ê!v|XÒåU‹þs-Çî“N ²ú,Möm¡l2L Ë²ï.ɾ=/ûâ¼üSh€óVðÏH\¶chÕY>¨‡ê,Ú6ŠZ7ŠoCÐÓºÁ훆6k€Æ‘›í¨{¬SÓSG?Ð4¦sӸκgºêžéÜôB׫o­ùz\ᯟ%n_ròH€¯WSÌ„qõƒZˆf)6šñä#"g>æ.`šÉÎÏÊJ`ºeƒõ¢^ýO=¨pÜõD7 çûèÅïñ‰íËÖUî"ë*w݆ƄºÌ+ȇTàuZµofø¢É¿X2¾ÐÄ¿K³—Ê2WÚfž¥ ðu]ºµcöfYÞ_ÁyöUü˜àB»ì"»ôb%sPjWf]¦ -P¨ã'X/Ÿ+ûl¢åØ%]lDò0ƒXdÈâcÉJ$RŠdÃÄí'HzN• _'sÊê¥x«7* ¤Âº,{÷ªÕ›W¤¯^¾ ¾=|m€£nÙ¶ÐÕ±=ªÞ“>÷»Ð][4‡÷ïÝ»nQΜϫ?ñÝ¡WÞê{íõnõ¯v©{³kÝ[Nõïv¯ÿ {ý‡=êþ׳î“uŸõ¬û¢oÝ×½®}Û³ñ›^õ“{ÕýÐÿÂìGK—¾“¸m~ØÁmš“Î*WWÍéÓa^t­I ’zΉ‹e«l5gê®ÈʬÊÉ!/n.B Ë íB S£šŠXS»TVJ©¼[“Q¨t¥ùiÑ=C<„÷Í–RÝõð1ð4—N|Ÿ••1ÍÈ ‚Sj׌')Mâéu@³¹kú&YÞVkäÝ«mP#1Àö©œ`œáì‚ Ý¡+l›á¸“`:8kýG­Íújë5µÖK å ÂdSNÈ>Z%}n’dÄ3’žÝÄ­ÅÖ°—$"súÁèÿIÅ WŒ[OÛN+—‰NHZG‹Kĵ"ûKb[è•ÎÚNgc»Û ÐCÚC4 oß8âÝÈWÇ÷*ýöÍØMË]œƒ$­ûµxê;ç?~²éÕ^M¯8é^íª{Ý©énowo|·GÓ=tölú¸wã§½š>ëÝôE/Ý7}›¾íÝ4¹i€¦©}šf<¨›ÕO7ûAÝœ›æ ¼°ttéæO“- 9}LíëÅXGÚàÐ’C-Pàí±RÈ!Í;p'ܱW²ÚЧÕ|¸èžo¬êaÚAÒ+´A¥#މ "##ƒ‚‚BBBðªRùÞ¸¥cöF+}oPb€£Š¢{kÝnH$1@•b×®`æàœõ¢óò…çäó+峊äßgÈ¿ÒX½·Ùrü\ˇߖô|RÒ¡·Xi/’šÙP2eJYŠD¶b‘£XÚM$~F$ýT,]$±Úc)÷°´‰–Û* ÐhÕJçØJ×ÁQ×±®S³ Ä„1 PßÇш ô¸SåG/Äm^­uuÙ±¡pæ'—ÞÖô|w`Ýó›^êÆ0»úÞên’¾îsLïË1@Ó/tsûëæ÷oZ0 qñ°Ë«Æ”nû4ùèÒp÷}j?O&n.@ÂTRФJÉJ^ÜT{Žͺ$W0~¬å oðÙC¯jµÜ›ÄX·•H‚Ë Ä«‘¬ƒ³Ñð:zˆÞ¢Ïè|pp°Ÿ§ÊyvÄön™ì.Pž pÚæŽ ò.À”7èëEµÖóÏÊšO‚Ïɧ]ÿpA6ù’ìÛ«Ïr­Þ‹Nð’Žß%}dÅ€Äqvóó¥;ÞÍÜ÷câÁß#ýzlg ó^í‰Cš“ÇNòsuS¹º£©ÝÜ´nL¨´»‡æ´§ÖÃCëåèéâéâãæã­VOŸ+-¦ÊÐFq°è¾9]p{œEDØ€s4¢üBÐbPé©i`q𽿿úô– £/%ík“·OÖ¬®›@в¿]˜ˆ™sV>ëFg¸ÏÈ9g¸«–£ê,‡×Y m” j´x°Þ‚9¸fÑù²äZI‡,që±ò”Øf§X¶ÌB>ÃBö‘…ô éH‰e‰…R,–K$V,`Ð‡ÝÆÌ+|P­µ¥E?kË1Vo8ZOz@1¯›Ý†~G·SjŸ4ú¢g»\y¹Ûå׺]{ ¸0€îÆþÑ}Ú«ñóÞ:ˆÿ/{7NâL # ñWž Äj€¦•ƒu«†4­¢[?T·i˜nóЦ-CuÛ‡êv ÑízH·óá¦]#w=ziÏ3g÷¿^yðý’#_”{|VÞ‰ŸÒO,H=µ8ýäb¼êµ”“‹ÐÂ<öúûûRÃÜà”ß ¢7¢ûì{¤—p…«:Ã$¦<+0é`êAÁAë¨üÜÕî Ã=’~ȡ谜â+è.0À a…ö0&ÐY™oP 0šç ñ¡;4x€ ‰”´m;èDv:±Bg©l’*/X)ª¬•…6ÊL…]’ÒNc§p¶³Ý¢´ùMa3ÉVöì¹ôq¹t¨Ì¢Ÿ•ew©ÄQ"R°‹ž3¨Œb|Ai!nkeÑÕÚª—­ÕP{«—;Ø|â¤ü±¯ýÚ‡Úì}´÷øöA/tŠzµsæD§‚w»WÒóâW}tßõÕýÐO7­¯îÇ~ ˜= éçþMsú1&Я‚›öÏò!+éÖ 4m`àaº­Ã™¶óa¦íÑòæ!´¦Ãt;†ëv cÚöa,oŒ2lø¼~×£`•`ïc¡áaeåXWX`Üo `zžÑ6¿&1 ?ØÐ'&*–ªÎxpÿ1Òy@ÎqEñ kF¸Ø–üƒ5À pFÎ0ÀY«9oÐK²7hé#`€Ë7ºB\÷ä@Ï´ÞRÑ$Wêlìu »&;{½CSc«¦v­›:¶izÀ‘Ùur<Û­M‘S›§VN¾]í]œìöuvØÒU¹ª³ÝÌÖS;(Þu´žèh 0\!¢°r”JZ[Ší-%¶b‰Hn!"Eaq#î°‹ÚÊ%}í¥Ã­žél3¡›í'ýì' rXøHÛeO¶Û÷b§ã¯=ô‘Sä'=r§ô®˜Ñ·rvßÚŸ<;oÐÅß^Y2èòÒAu+‡4®Ú¸nXÓFvõogÖºn÷¦±ëþz#fàǼ&Æ(86]ëspb"•Â< @¹µï+¾-mÀª‚Ë0‡˜„se¥ùùŒQRBbdxSv@¥ò9¬õ˜ç2 ÛEYLéÑÍ3ÀݤG¿l!\c}|^6…§>nq‡~ pÙt<ÀÕfè­ç ¡@®Æ?  mPf¨g[Újêï¨È8é†uÔ=ܱ~xÇ+w¸0²ã…G:VêPöhûòÇ;æ=Þ!ÿ© wRl§z¤½ëȶۇ9¢mÖf~‡YÚÿ4Àþ»¾v”ov·y³›í«N¶£;Ù<ÚÁí±Žòq]lé`=¢ƒ|T'›§ºØŒéfûL»çzÙ½þ ý7#Û|4´Õ·£gmûÓ¸v+'tÚùNçíïvÞó¡“ê»^êé}ÐT?öÓÎê¹t@ÅÚ!•ë†âµ|ÍàÚ Cšv gí"v­ïnÀ]Ù3>ýÔ¢¯ðˆ(ÒÕÕÕ,¾lf#Hô·eêåáj9<.>SÏ–%Î(HJÌŽM ÓjÂ}}O»«]Nùm;í=Ií54Ê«U’ S'Øß6ŰDÒulŸžáeæ$øV²Cóc‚ˬ7PLp¥í²2Çå•¶¿UYÍ«–ͦ˜àZ멵VSø1Á>gõ:‚-_=cuÝú‚åã—nŒ ¾Ä¸C÷¾lÑó²E÷˒Φݡ¹“`åÝœ×êXÿH‡†Ç;Õ?É€àú1]Z@p׺Ü0¡ký«NÁuo:Õ¿ÝÙz¯@pÃG=¯}Ô£êýîïw+ÿ gùG=Ê>îžóaä÷º%Ø-é#§ÄÿuOú¤{Ò§=’>ï™øeTuS}ì¤þ¤›ú3'ͽý?wRÝMõmwõ¤îê)=µßõÊšÛ¯lI´òß”-PµlPㆡ ë‡\[?¯Ô[ÞÔ¯Zµíµèë±6"ýý³b¢KÒR«rrÎ^(a@0ëkm$Ï×ß©nšˆN ¸ÃcXD©©ÉqqqáááÚ aãà77Ê{tºû|•mY€m¹(ç'ÇeJ$1® Õ­ oWТ2ïÔÚRé¸9÷©Ý™/í*´¡FÉÄÈ~åi€éÌ6¨œÑgeüˆ°w.±&Ðeé ·Ù©^ÒîbÌzƒò|íÔ ç jâ@ï L×r¦›ÔG7¥¯îû~º©ý 4þ4€Ì)ƒ€u‹3xÅP¯Ê `? ~H·õaÆÊß=üº ÔX»h¸ˆýüêžÑ¹ÇgzŸThcbb²²²`?WVVbñèÙ?÷ï ìžXDzÕ¹éÔŒeƒÔøøøˆˆˆ &‘¿ê”ÆU¸ÿ›É} ‚Jƒ•7`»È®š3 ZUäÛ:ÙçÜý9@E+&7zÂÔCñ?É~nk¹ÓÒZÅܳV³É‚8o€ôãdÏÜrLð0@kÎpÍÇp Ðh”>Ð; îeò$øçþÁMóúÓ.PãâMKñwšA0Ã, ¸à9z6OÃΑ5ß‹9½Yå¤¼¼HòÂ… £dÿÜï“à{® Ù ---!!!22288Tàçãï·/0à‡xíS™aíK#”åÑŠ¦P¶]3N³«Ì²¯¹‡ Úf{3–¯­‘­¬è°:}â®°?\B¶¹$NÙ]ðØŠ*ÇŸÁç,¿§HN\´úà‚ÕD0`ÀåÛŠ¿g@ßôQ“ `F4|ÚÝ„+Doð–mÐþ´ ڸʀ¶ oÚ6ì\ËXü#õÖ=ÀnÓ®‘g÷¿žê²Hë{Z­  KLL„ìç¯~nôßÄFUw\ÐÂ5¥åeœERR_h(Ø€ITpR­ÞøQRø¼èŽeñŠÊd%“4í/Þª‘/.sZžòÙ® ½ngð Îél,4¯¶Õ´sүſNàŠå_ÎLV# Ð^Oèn™?º®¿ìq_ _êæ÷×;Ðݨš¶ð4€±Æ¬ûÃt»«=4`WësR¥òÓEGG§¤¤@&TTTP6SÛÿ÷ÿ$øNoÇ•¼Ðd¦"Ó™<à㜊¬,ÂääÜøøŒ¨ÈäРä?¿/O­»›ŸËÉ€=nóýÂß‹’옑b—•e›•«Ìbb‚R ˜Á%J—|Ð01V¹|uóI°|y¥õ¢*ùü*ùÜ*ÙOU63Š{ÎMúrSàî#ªS§4‰™³5ý•_Ë»}[kûÑYË·ÏZ¼Î%ƺ`ysÌÆw¾&¾)fÜ¡Ñ AðÕnmêºëƒàkƒÚÆ×?Ö±î‰NuOu¬Ó©n\级;_{8¸3ƒƒ_vª{¥[ÝkNuot¯›Ø­îíî×ÞíQ÷^ àk÷¬û¤Wý§ìIðW}®Mê×ðmφ)½ë§ÐIpŸ†ýêfö¯û¹ù$¸~î úùé$øÚïÜIðúÕƒë×\¸õëׯÔ°nPÃúa×6 ¿øÇØÂŸ$øM{âP€«kàéӘ ôÈÈœ¸X&vVFM^îÙÂ<_6{W9?ÓõÝÖ þ{-"=£ˆ;<æœê€’srrZ”ƒ‚‚´&Kÿ1MÐê°èOS’ËÏìQš×ª¦À®âF|W Æ–Ü¡¯oƒ2ÎpÊ_J-Jüa—ö°›_€FåãtÐ5ö×ݹ/,¨ìùÍyëw/Y¾~ÑòUþ9ÀU ÖBú7™@݉ Äaήé‡åËÞ*[ùþ¥_Ç5þ<„1~yp0‚s&cÿÐQÀ®á ;GÐpÕ¡òœgÆ»­ ö>àçK)[˜,‰ T£‚¿¼¼+Ýõ¿Âwå–ÐG„ýs,¢†¦F½óc*ÓÍ9Õ•••5;Õeg!À(„iÄr‚VÍä)õS»m œ—üZZæ Ü¼Žùùmr‹YÅŠŒ;b€XýL³^[c³šÍ ´ôú9€löY«™gm§— žŸ8y«ö «¿¿¿ŸÆ_íëºëx¬-ùÏþTÝ郋6¯^¶xî²dg]‘Žº_ Ðñ®€‚?ïI&E„ûu|ìÑÍ!®‡­.Ú<éÂïã~|ý$xÙàÆ¬ ´zní ¦uƒ›6¨ßúØ•£Ïï}­äÈ×Y'æ&º­ŠôØÃØ9¬cE⇇†aN!ã°ôaÁâç ròþ[Ì;ô/`Sukpi‹(a§04à„ììLâ„ØXf×(88PÄnyªÔÇBÖ„Å|•òB|ÎðÄüNI`€S¬)³e ÌNUªð­°mf€ åñë Àf†«¶ÞtÓä¸ç,§œ³žRÞóÇ´×F­?¬öðö PƒT^>!{'Î\WðìôZ§·.ÉÆ®IF]±¸î qUÒ·…º0y,L2@“­ÒXb,ŽÚÆ7èm0À›Nf4‡tSlšÚçâÜ'ã®öQé}‚<œ“--ßøáåßcwB›àÚš'Îo~©|×ûÅû¿M?¾0Öuc°çQ­¯›Úï4­x–‰ £ÒX÷˜M Ýüü\ÊTÇÅczÿßJ¤ü¿†LÜpµ›øEzÆçŒdFrrr||[XX›Ï"Wde–ed!.ç%$dÇÆfDE¥„…&ÇiµQ*U˜w·§ÆÃ]åæà|RsÔ5p³kø|׸/]’&8g<îœÛëhQ›Ã¥Š½ÁeÖ;Ëä[*eÌIp¹|-àJ›¥¦“`ΚN‚›Ý¡¥ž“¾|Æöí²^Ÿd¾ùKÌ‚MÚ PöwsñwsU;;‡ìÜ7{iÖ„¯Ë|ñ‚b(“ZÔýŠÈ骘9 ¾Ö‚ëÅ n4ƒàz[»fì  “ຶÁ®gO‚z:^룂ۮ{¸=@0süXG&1Ö“êFwæƒ`Öº{Ý+] ×7ƒàîÁ-1ÁŒ;týç½ê¿BëQ?©ï¹™¦üñ³ÿɪS'5..nŒß2SëÉå l€»»ÖÃ#ÐË#ÔÛ;Ü—q]ŽÕÄ&‡¥†‡§GR p¦¬ )©%V8ƒ-÷”S›ŸÇÖz*¢[\ªê;ÈDýïÓ†Ú@/‡ßÔKÍ™AÁ7¤ N˜$¾YŒÝ Í 3 ¶&”ƒ¿VÅ”™8å´×7d³oÔ<¯„¯Ng¾à’7üh~Ÿý%]ö–;î¬Tl©–®¯‘­©‘±bl–Büs&Ð9ž/ÐY«¶AÏKߺ }ýLëwʇ}þÙâð {‚Nº«Ô€xŒZðõ <ìµzkæ—³ËG¾r¾ãÈ+Ö=DDíDmë$×M &©R'w Ð`g×À†D’`M Ö&1À¤FÜ`5Œ1ƒzèÞêÑôNS@÷u/ݤ>×f ?·àùœ-?†ºì‡ùM‹Q¥ø%Ï¢X¦ f2 LÑ ̯ IoëÈåå'½ãAÿn0ø KñËTy:ËH•••lÓ¢Âb†0ôd&¥¤¤$&2ÑÑÑáá¡!aÁA!ÁŒç…–Éú„¥©òò 8âú‡GÄÂSqÓN$r8ãµ=¹£wÞPÚ}uu«%5ö ªókm~>#c¼AÏJ§œ·øö¼åh,?>oùáË÷ˆ.YL¸,yñ’åógí_*õYæÇs£ÖìÒºžöõõepšnç¾c_Ò¬…¹?¯ôäUe×z©c“HÙ$²ÑA 0@y[ ¸±ÛÆ|¨ÆÃLû€îiS ˜x ¸«î£:0À}¾éqú#¿½•³azìÁõZO7ŒU`PHdtk¸§Ðúæ !S(#?Ò—fé­x~•KÎÔá­¹ûr5ÿ0•ÉK¯Æ+§Ø£å‹TòŒ4̦sƒ©Âœ±üÀÔ:€~€ ‹Œ ‹§à}M –9w ¤V{ûk\ü´G=÷»ír _é3÷pÒw»Ò?ÚœõúÚüñËŠù­dÈÏ¥ýg”öù¡ªË7Õ]¾¬m÷ñ9ûwÎ9¼}^ùÚeé —Ec¯Šžº,~âB«ñÕý^É}kZÌ¢u!{€˜™bGLÅUM³‘zìDäÖ©?þ”ÿêÛÕƒ9ïÔçš][¥m“Ü–ÁJ;b€¦¶­ô ©G»ÆžíoÄŒnƒèk€– xÝkNº‰Ýto;5¼ÓýÚgƒ.Nz´væó¥‹>ÌÞ03êÀÆ`—ÃX÷jµÈC„á‚ùŽ1¤*®lþðæå•Í t+ª*yEŽÏЊ×˺Nù8€{ÏK»þ§àv9Z¡…γVÒJpÍÌMY9ñ&S‰†éƒŠ€Tƒ‡– ®ˆ gPu(C« ¤Š¿LG•ŠY»°£üü5§¼¸íw‰Ø|8lËá¨ÕûbíŒ^¼=vÁæÄk’¦®Jš¶"y겤©KR~Xœ4uqâÌ¥áw©ÝNã XU¸6l º8®ŒkªÝÜBwîNømIæ×“Š&¼Z3|äå®Nu:Ö·k  km¯kgßÔ©UCçÖFÒ¢0¹Ñù ¸½n ƒîq62xt‡¦±uOwÔ=Û¥á¥î ¯öª£oÝ{ƒÎ}5ºbö›yK&§nš·g]ø±=/7*FÆìQ…0éÔ™ pIé©i.ˆª¯Á,ñ3µÜ'âeQ?Ï/2ÀO€EÙ8oqÑ߈þÓU`¹p俣eæP¹ºšÍHÌ„&óp3“e郞 k Ø0å\€-:o.ÏÌ,MO+JI.HJÌOLÌ‹‹ËËŠ‰ÎŒŽ\K‹ˆªNe€uBP°uL€?P]”Ê?ÊÏ/Œ QõöfÐv—W—À_ §g ·'^µ^žo¼²!­Þ^\Ã7ñI°§'®“D `.‹k2ÿëáàqZ@yìhà¾ý[·Å,ù=íÛorß}«ì™qUOŒ:óÐÀóv¿Ü³ÓÕ®­¯ukUף͵^­ëû·ixб~P»«w¾ôx¯ËOô¼üT¯Kcûœ~ȹ yëѪÆ–~öBá÷ïdÌù*å÷ÙQ,Û·]sxŸúøa Xðžú´ƒëáîë‹ç~Åãa0Ù±1¢âÔT*QLI¡Ïž/.`KMã•yS^Êf³*£rÅ—Ë©òRiKB« 6‚¼œ—2ú/)],ú‡ ò¿Ôш¯ðª—þZ¯42ß^bTDEÕ ƒ¢ š L`Ö|‚ü¢€ÆÈ` 8;•¥c”ÜBxïàË”üW »9Ÿ%¾"Âÿ²X%€3<<<$,ôº~PÁ^òÖž<²owä–M1ÖÄ/_„–:wFöÌïÓçLO^¹8qå’¤ÕKbÿX½}cô¶?¢wlB‹8°3ôð¾`ç#jÀf‹V­¡jÄT¹2><’ÉVÂeï¡=J<Wv’ìxŒM¯Æ?×§©bJ÷¹lýÓºõT§F“þrû|– äïKpùú Ä„­9ÞàØTÈRò _à@!?/Ÿåh‹UKfù!ž±Ê`‡„……‡„‡j‚C‚‚ÕÁÁª  Æ0cN˜Ô*m ÓðI Óè;hLQÕ`& “ƒx‡Í̃ëQöÚ±¡œ<”‡+/ɯµJIÚLÕ–¼•¤¶÷m=ˆþ «ðŸP4ÊWÐYŸ%8Áq…!cPâ>bš¢ò9U}®Wzˆ³˜‰ßè²p'~àcwÒakæ„Pˆgar2P À`áªÿôÑõ½‚æŒÜ„Î1ÌÒôôÜø8L í‚éÓg~ýõ¬o¾Ñk?~ù…ëþ}@´˜¯Âä$| S@§³\Ðö£‰þ:ñOx—“:Ъ0~Èú§Ýq½}q~4Á"âôI Aüßî\ŒÇbx1°ûaÛ@Ó¶iÓÆT•š©S§âWäʆ)ÀtðóËþ—Tñ_Â\¾[ :4ì: Á"Žˆˆ8|øðÓ„ÿuqq{`’0˜00¸ð/Bÿ4ÀÈSAÊ$''“!j†¦OŸŽåN²‚È^úÏ_U# ƒ#’ƒV>FŽ=ÚòfÔªU«'N€y’’’²³³Á?P”âT`€;Xý”cƒƒè —Ü.Ì3Fß6·@u`:¸kÜ’ýƒ%‹£bñ111êÁÁÁ:tÝŒ$É?þˆ9#G1L){h݇ùû|æof_ˆ„¤8D ôpTTí÷s `X €ÑÆ7!ƒhü¡@ø8øžwäïr‘ÝÃCSî ÐÒ%ˆíÂ‚Š¬L)@ÞXM@ØŠ¹s[[Z-주ñÏq?œŸ˜­VeDE•¤¥À],-åB?o(¬ç@ÛÒ*xç¸åämÛrryýd—ÿ“Û PæŸy4=ÿÞ;ôì5V˜™ßn¸)‹€ËÏWçæ¥$§ED„ûúfÅÄ`^ºµnm´€1þüiÒ$ ^|3N«Í‰‹cw#ò.––°Òz½w|â{ã •<¼‘áj¹Kõ?sâŸDìxˆœèè茌 H‘ &ˆnlmm}}}¡4"##¡ŠŠŠ µ°Þ®ŸÞF¸™¦›žÅò~+BËèÅën$½ëßqX“ṓc½›ò‰!¿1˜0f`Ò„††bRnjá‡ÐØPݰB1”i™ïåf´#·.é =poe:î¹Nø«€à/.F<,, †P||¼)ûÇh‰²‚0±±±PÙ•••|+Hï R/æ‹&¾ÎÑa>¹]ÐÉ´Q_ £žŒFW¡a¬ß˃ó‡£÷ä1F‡Ü†·¸Å¥o"ºí2ÿŽzžsFc………0)ƒ‚‚`”Þ”pYŠg‡ðçPò)¾ë›Þ@ñãÓÍ쎺Æèy×õŽÑ󩾇ÖÑ=fêí~bÄóòò(9nÍš50îMU6¤#F@haªhÀB…õ2é劣#OþÊÓó©äÅ@žÓsÇ0ê‹aÔ¡×л‰e¾/40ÀwoÖs¾©×“žAÏOÆ×áß‹«¨ND•×0‰‰‰Z­–c£ÓÁ¸~@@@HHx?§CzþV5¿#|'PÃŽí ×zT~ø™ ôfä^ÁqÑ=Ç1z 6 FŸ¼üòˆcíèè8jÔ(£Óжm[???ŒÍ¤FŸôœõiéëe@ሿø‘+äÆwÇ ƒO ì  ÃœÌæû÷r›¼4‹\–R®æ1?LŒâ`8wŠq¡•DÌF·0åüǯ4ÎŬQBHšÞ‰¸;ÒÿbÅcÝCbY§§§›aдiÓpŒ¿Z­† 5Ζà- +sÁ:œß ù ñÝ· :øÅàô(~ˆ1Î;†‹: áßåî¤E÷ÖyØ… WÆ+))%,,Ä˳ )118hH÷î|˜Eo8ðÏõëZµÒÃÄöb¦-™=ë|qQ¤¿_L€:;6¦,#ýLA> ÅÊ9?dÀ2Ê„ÅæÀÊb#wSò¡©áî…ÉIÀx¥ˆ^r¶fcyÃ’CCÙ’–ɸ'Äã˸]UNö™‚t˜ž’[|¹™TÕLqQ!À%°>`:.žÏ §GFàR)a¡I!Á Al8oÞã^¸#n‘ËEÍÞx‹r~BczÃUŽÂØÊQ\O1Âè mzddjx8z‘’Œ†7¸>G7Yoç¼Á‡‘L¦£Sø2â`€`ÜËóȯ£Gƒ<<¢Tª8­†.‹B×p…ÌèhtÏ€'ÁóÔäå-,¼XZJEyõ€rË •á ü.Ðt´t!Œ«b;LÏßr—Dº Fûlafœu(ç6-XX\}àøk’R|û'<<rnûöíVVV†’æÝwß…z0`€Q94zôhˆ+\„o‘à2Eãú¤âóóó©p4FRREññcm)H*!!Ђ â èD™›¸Ü«Br=ü?N†A„så›È± WÀe)ÒŠ.NÑX\È>¤ûr)C¸[@ѓϙa<ùSaTñ5|™çèezd›3OQ¸ÑÐÝñ¨S<êM1žÇÙÙùøñã*•Š2Ð51°4¼¸&ž+KYÀ\ðósNà´/B5¯(1çGâx4.Bš®OY´è.xf¾“w8}7àXtoá/gÿÐ9.ìô þïÿ3:ÐË—/ÇмñÆFÿ×ÞÞãŽ)…„n±‚¨ì+Ù‚œ«éb²@85Ê…ØRE69np`` ÞàÙðe.‹³hñ ØŒ©ÍƒÑ`ž0èÐÔ4µ„Õ0úÍu,KJÀ'´AàRÜŽfˆ»,?Ô „ÿÅ51»Xµüú]é1y”Peâ4î Š»?¬ŒþÄsÒÃÂÂ`ÿœ>}šNWÌ3~¾ÿþ½{÷z{{㎴¸ùcE'kô0¸ l$:¶'»Ž„'§ˆñœè)q/åîÆâÆÉG†‹/£Wºî‹.ã$˜¸ú_$2ˆîˆþ¢ýÚqÈS jÏž= GY.—ûûûã·+W®4jŒ4ÿúë¯XX²´„Ç Ð*¡•A® Œ2©‹Œ¢÷x%‡"___X´àü #¦Ú³gÏìÙ³§°ôÝwßá^'Ož„¢Àõ1‘XÖXdÁ|†¡bMè#åhÀòÂ<á‘ÀèµF£9pàÀ²eËpÍ)-4yòä_~ùë ˆïã¸qw Zdœªáv0qYté'ÎÁO°ÚhUá1Œ;vì˜;wî͘1cíÚµ§N‚¸áR¸žÍÅŹ)àI0Xs¸ ¾ 6@¾ÿþ{º8îuäÈŒ-.‹ÇêPDûEœ "w`ô}$yAÊ_FgñTÐð™yóæ}òÉ'/¼ðÂóÏ?ÿÎ;ïL:uÆ àX| £É¥R@è/žŒÄç;ÞÝsûÏ„!À#¢‡ßX4‡–Éd†[ ÄÅ¡a­­­ÎijÏ>‹±CŸ9+ˆ3HhXiw„¥€Y,¹hµXà¸09¹,#Ÿ°7 ˜ üèŽï¼ð|÷6m$b£€ÒTë۱ïӦâš@„±š€„  @s ÛÁ|öâx{â1dÿ€WΛ7¢oßvr¹Ñ‡7z¾î²o_yf†÷QgçÝ»âõ@°^Æœ¸º>÷è£z‡÷úÇÆ"‹‘ýú¹Ø€‹Õ1E)É•ÙÙµùùè^+²2ÑM  éhµ ˆ®íÿãÑÆ:ZIoe¬Z[Z<5t†óŽ‹c]‹ç%Ä—e¤ãú“;ö–ÝÃòÿįCfÃÆ \=ôáiÌl…0I!ö ûŒŠák«W¯†V!+ÖD&í»‘õyÃæ5Hß_}õ•Q)òä“OBøAuïÞ]ïúfÎ% V'MšD K ´ ØjÇà¦è…§§'$"¤ïmݨS§Nx~\ öϱcǰPÍ›@Ð0«z÷î}‹rrrrssà [ˆÎ (¿ !%Hn6ÿv4B0¢ …è6 ʪƒP\\ˆKaÒ1&¤3ùÞÚƒ Ä9s>·0æ6¨R©4\°°ô1R7nÄOðÊmé8ŒBtZ³‚h„¥I§›P‹°¾æÌ™ctà`ÁZèܹóíŽ8ÖìxÜSĉg ípB¢xsþüESøþVN»ésð¸šn‘–Æ\–N$ðŠÁLclÿøãvíÚݧ=ׇù³þøñãxƒ»8::šúþðáÃûõëw+áþ„í‡I‡lÂ\«é¸ ƒ†;¢w` ü ³ rMtGäàà`Þ€@$ga,³;vÝ+øKÀ´3€ÓfXó‡~0ÚNˆº   5kÖPX*LU£ßÄ<á1šÁÁÁXëY0 Ùâ`ü lý€»C¥˜’åF-þ[ôJZ·n¸ ò‚„Ëf‰2OáóM›6AßÁÒç³Ùï¿ÿŽ)DGÐS:¦¥"°¸Ö n‡)ÇÄà ¾3móå—_b.T\]]Œj€[¹ ™ï`MóÍ7¸ 9ÿR`1Ǭˆ“´†ª7£¾p}€ £;æÜ­!Ð ˜þ´›Œ[`=phøv…E÷v‹+•۹Ǔ 6ŒÿôÜL  0ÈÇÇïwM­H>¬¨²‚ÈH€8ÁrpÇíðS `j¬oQÁpÂÒ‡À,â^TͯXFx ,Ð.]ºp_ÜïÙ³çøñã?þøã¯YúôÓOaƒñ×®Ñ[`õ£;àdˆ nÕûâ.èì73 Ÿ,,,À4¼áz )ƒ‹¨T*XPsÒü Þ®J1JXš$æÑ Ü‚vá°FÉ­ÂŒávQëÖ­ßÿ}Èšìܹsúôé>ø …ÁŽÂø@PĨ߮ÝÃàsE…•ÙY̆sppˆ—' ¯³sgvODy#~¦9¼måÁ-›·¯ZulçÀÍÕ¿þJßá¾FoìÅ¢÷^z° H4Ü×7=2¸@ª"+«85ð7& ÄË ø{á?š‡¶ôf`×®ï½ôÒâY³%§üïã~¸½µµ©_áÉ$’©Ÿ}z¶° -""Òß?)$$-"<5<,>P dŒ^¿üÔSl¬Ç=<|ΔɾÎÇe‹SS(§4„€ZQJJài÷OÞxƒ#å'ßë~û `.J¥Bcσѯ0 #nôpŸ>æ;ÕÑÖæé‘#¦ñ®s`óæ«W¯]¸à§Iß¾6nÜø#Ô..¸ŽÆÍÍûÁƒ¸¸ù“`®á;øù„Ñ£ÑÇQ>h~ÿ½XB às€›jˆÆwÞyÏÆËPî˜1Áf!ð$1íXã +3~RRpXÕGŽÁupYظxÞÞÞGÝ»wïŽ;? t!¨ .`î›z¶gžycˆa¡B‡\èî…ad4?‰ÁI›ý…œ/íÁcFhC*T£Q{xx$'ßä€.ûüóÏãËPãtâŽ.¬\¹²cÇŽf~5nÜ8ÜsDŽj¼6Àc@ýI·nÝ` ãWÐN[·n…–€€ÆÃC Ž9Ò诠c¡“ñHXä,Ì\¾&ÑC:F…ÖÃ*Á£ãý˜1cŒ>ý+¯¼‚{yymÞ¼ C€¥óÄO˜š zˆ+ÓÙ!e$ÆO(Þ€à—_~1oÀî¢ê‘@ç°†ıæððxcf7Ÿ/[¶ · ´²Tº¯˜Zp« Â6ýóÏ?ÁN096lØöÞ³gØ`ÿþý˜]L›››¡K7“ƒ¯0—äƒÉ± À£bñM,Cûðƒ> %އaŠ8ùûk4\?¤±ÂPcã;$)ÈÂü9h„ d^ãRîîîà ,UÌíj«¾}ûB(à^~~~,á‘`¢àa 1®‹L…•sèС%K–`õcèðŠ÷¸DÆÐ¨ÕP~Æãa:°ØîØ Ý€ñ(ÁãÒž ž ‰Î“D7œ3,&Ì ú°qãFô«khêÔ©¦–àĉ1ú˜òަÔe$$80¯Lléââ‚¥µˆE÷ßXÖøùüùó9»Ù^|ñE|‡ °Ô(›Å‹`¾±ì0…ûöíƒèÂÜÓI-?4ÞãÖ¾¾¾¦Žü°!°âñ¬`¬ #º¼`Á3Ot¡À¯ðX£àü kªG™Þð„(Œâ›°ÎÍ3@§N0¤(LÍÁƒÁÃàm 5Ö­éÍ—££#ºž‚á™âN~~Pì/¿ýö›Ñ^ôë×OˆG`1@ BÒáïñ y@@4]EË—/§ˆòÁŠºO ÀwsåÛ?˜fX2dÿ\¼xLlj' kS‚1…âÆºÙÏø’†Û35„‰”² ãEUÂ!¢0|QQP W®\2Ã}ÌfÆ d?æüÉÒjé˜UX¦öþÈlƒ¶Á}ñC:ÉÇ"COqk\ì„7xB²¬ð˜@K—.ýâ‹/^}õÕQ£F=üðÃŽè»)ämccƒA ňÇÃ+Áâ±cÇš …:‡¼<ð}tƒÕ€ç¤Ê\äãÍåOÇXé¹C›ê,ð(. >ÄÒ‡Œ€¤@;[Ÿcå™ $Ëåàü<€ …B/`à½Ñ믿Ž%¦Â^/"ÖâRŽE…7<òˆÑß~üñÇ´uBgÉEàv7CoWŸá§^«ªd’‹kòrIÓ#¢Ã}}’CC€Y›Œ"ž±Ã‡ž)`’4±-Þe>>Ô«—QLÖN.îâÞÕh°êsããsâbÓ#Lý‚<<ð FA0á§66®®II®û÷ùŸ<æã‰‹¥E«U¸ ×Ñ#Ážž€ÑŸ¿õ–)„׳m[@I<§ÚåP]”Ê8X_uê$ºŒ^ Gøpù/¿ ãƒœºÞâ'×Ytðà–-‚§ô>vÌëèÑœ¸8¦º«˜M<¥®¸ÝÜ-¢{²ÿƒ!ÆøÒ–}ú#;Ó 1&75Åø-1~‚…ݶ!ƒ ¯`Zò’‡æ…–7z C¾«;wîÄJ¢eA¾¥XpXm0X íÔÛÝY“ö:W6µt a”“/ ¸‘Ž„¸Dz\¹ ÚÀÁ‘‡"íÏÐ1¶™ƒ0 ‰ÄÂ…hoS=L ;˜Ÿ¬P3°„«ƒ‰¾`Tѯۊ†½Åa:t(q29·Þoà'€À"€­†§ÁZÄŠÄ̽ùæ›w¹ ¿A?rä&@Ž ´–#¤uS €‰Ç¤b.ñžLdHÒ!€køfŠ@¿ÿþ;V°&–d?zеbkk{÷=å²×Ç]°ŒŒj$=†Á“`øŽ1\6s.|‡\t)G§̸Bp1Á`-rR‚ÄÁäBÕà"à= Àï2íÞ?~`Á}M¹»ß% 0 ÃÅŠp÷c”€©Â¸`Ebiâ ôl·nÝî‰Ôçï…âßçŸŽéŒŽŽ …-„žczØímÍ_͘òÍ›7cÅÃ,ÀÅMqGÀAhó]èСðaÀe'L˜`Ê »eAï5dS²–Ïx¬lŠÅáÇ£ð€Û£»õ¬+˜P,}\?Ä(‘Ò3d= €{Aü:tÁˆ-X°àîå½Ñ´ 䞈¤] ;ðÝÍ0›«ôlaayfð(ÐX˜àïîukoÿÝnÙ¯€,pUàéÓ@œqZuL€(Vãæz¡¤dáÓMý𥒂€ýN8Gúû§†‡ç05‚˜Þ¤Poo_gg€ø“{ö8ZY½B{këÃÛ¶\ܲùÔÞ=e@Þ}:tPš¸c{kùOß±z5¾† >Ã+«Ñï’Ð|x@tH &{šn¹}Õªš¼< ÛDÙ¨ÙBŒ[j‰yœÅ¤àÖy ñè,¾œaÊšÐðO“&á·§Ý1¡ÀÖlÀq\ãæV˜œ„oe!1Áô[€àÊì,çÝ»ŽîØî²ojçš5f|¶ùQÞÎb÷ðÃèfM–†¡¸¿hÑÝ~$%€€<†ì™8qâMúÎt¢B¡€b…ÅEÞÑ,A§C2ÝTà !* YIª‘[>! Ëž6øL™­[·Æo!DayÀ ýöÛoMÝb~ݺuäŒ[@AÁ&ÆCB_C í>It‚„ðÛ­[·•µôóiÓ¦á1ðð$| à$G)®l#WŸSZÂæÏHà›0®(Bš“Б[Ôt:~òäIØÆxojT»téòœYzöÙg¾ÍŸ?Ý$ç\: ¾azö@baa ^{õêeƹÒÞÞÞÁµjÕŠÞØØØ˜áI“&¡«Pǘø0–ð+Ò<€sÀX^ø2(St<¦+“áûàƒL]F`}a‘»¼!ÁˆÂÜ`dpÇ={ölذaíÚµ`-¬ ÔóÏ?S «TZZŠ®™2±À°ȬwwwÇÒ¤pA:!Á²£ºŽ\Yo:5GðÍ›žè1ÆL‰0bа‚ÀöXø¾)¸—^z‰ž’ 5Q¹iª`‰Ž~Ñ<‹ßA-ÑÝx@p ( €?÷íÛÇ_ÁüaR*•X ˜-WÓá‡ï˜‰–®€n:99™bt ˆG/Ð/p ¹ab±25O³³É!™*rÃ\&nôÂjo‘`ýS9tŠCgF/Ñ.†«l€QÅØríÄçT¯° º¿Âò }6Ì)yv1¾ðH¤ùñTTOˆ”?]ÈíyƒÞ“k:~ÇŸÀ©¦†õ‘G¡@!ªƒDi¸êçI)M’)(Z( , mJBâΛ7ÏŒêÀÊí1‘khÎO»¨f¶n)U#VçÁƒñÌ»víâK5>ÃôèÑ=œ­X±â °qãÆõë×S,,·ôx’žcoooðXî­·Þ2¿‚EaDz@w02äJDtäAåVÀ‚ÆXÝJZt ª’Jƒc€›š@`—±:?üðCS5ÈM؇@üË–-ƒÈؼy39îÞ½ûÏ‚.…l…VÁàD°„ri8î8(LtgÙ‰Yÿg¦ê›s8 h c œj µÌüúëÚü|ŸãÇíÜéyäˆÿÉ“U€³xÅ{|â¼{·÷±c@3s¦L1ƒ~f}ó5 €¯÷±£ø!~‚v¾¸ø·3ÌDǶ“ËÏšu®¨07>Þ×ùøñ]»ÔðÔ°P@yÀµžmÛšºcÜ(?°Û½n)¸Ü»}»˜€`ǵ Ån\²ä¥¿£×À£ÛV®4•»­¬ù$Øãða¿'hpg Íxk£yè¡WW ËjÝÝ02Áž‘þ~èZar20æ è£.'‡†š: æàRÀåp__*Z­ViÝÝ‚C½½ù XoÌñÀÕ¹¹§BG0§è záâ\©•7BÞŽŽø_<$æ_>°ùÝëÖþ¹~ÝÞömÚx`óæƒ[6ÓLáa²c™àï«••¾ñY110¾q;¶ˆS™ùäá÷ó«ßq (’øÞ”Í É &Æw á „ EHiPþ#òþ…,‡*‡EˆW@S2æá‡† †dÂ¥ óèÜÔŒ ÄÉZØ`äf\­v(1¨Õ«WwíÚÕ .æ™gpGHS¨  è(B†‰8skÑ¢EP)™äpJÉE Ìøq Ö?Ä!d-¾Ïª6C;wž9s&Æš‡KˆW\ –tF]&sªË dªË†€L ­VKNéæ5ù6CTCKcNñ dØ®¦6?ü`8àâx~nÇ–Œ7:j¤²Çxä†) XpŠÒæ×O¹ƒAwbQÎ&ÎŽ@` Saé|w_Œ ¸…rBáOÌ1^)ã Ô%Æ‹Tö AƒÌ†béãÖn,jÄÝJD¥cùâ‹//^ ` H ãÞ̹&í ÁìÁõiõà^˜¬6Cåf0Ç×(Q.Xî÷ß7cÍsoR¬{,ÊáE‘n0 ÌŸ6p.œ`ÔO?ýô–¾üòË7ÞxÂÂÞÞ~Μ9´ !/0\TöâV–N¥í²[gÈ8ê˜ÓŠ^™9d$OÒgŸ}ö§Ÿ~Ú²e˱0€õ8þ|ôkìØ±]ºtAw°Hp .úþn ‰îr”Ë€‹uŒ÷#FŒ05¦/¼ðÅqR„`˜˜’Ñr¡-˜ .fÇ53Xx´x’%¬Ë[dþ¹²ùuÏÑ{ï½ñƒEy†IÅÔbM«<þøãf~„€ÙÂw€gxà[Éã@‘Áý )– á¢wÞyçnbv?øà¬ , Ãu+‰±ÀÀx ‚ÔàaH_<g›w…À եaG¹ÀЋ‰'Òšï †NÁ#=`†‘¤Ü”(Žc€û”‚CÀ¸%nŒ…‹¡!7qˆF3vËÒ¥KÁ˜|™«~G¹Â¹4ƒ”¾˜Òiª¢ç¦F lF‚©v» p‹„å‹»@ÞP f”ä"úA‘vù—,Y‚Q%@»´Ä¸;XΔWð­ÐSO=°ˆk¶¤|oæ†"ô9:KÙG ­(" Ohf· Ù„Õ¥OÉÑôs Æ:tèÝÔÇL)X(À㮲BÜ~¬*J2Å&FÎ$ÒBýuÚ4Ó Òà¬"+3ÂÏ,?1±<3ƒÍoUDíL“>‰M(îëƒ7iƒ»u3u4ØÑÖx°ÏíÀ~çÝ;\÷ïÒâN‚ ñ‰)Ìj¦=5t(p0N«£ôUš0Ô ’‰ßxz¼HbÔ[i Ž;H$À|m¤Æ=¥WÌ‹{EøùC³ÙªÃƒ™‚Ê@{^¼yîÑGÍ—šIÈ5ÈÉ)%, À‘õpÞ‹c 8¬4– ˜0]ÎŽÍŒŽÆÃãw°§»!V^w‡^ƒ¹Phf“T‡&ï©TèÅ…’â/¯gFºK‡€.àÙŠSSªss°„¨ŒñíæÆºCˆ_wŒHùJ͈(À8*ÌÆ/¹Ãùlqé#¹,:øÂûï¿o&bòzf ,ESóޠФ“'O6•šÁPŠãúcÆŒij‘Š£|Îй…”µº Ê…qÞTàš/¿üòŽ;(¬Öð¨aöìÙè¥_¦ ŒeFÁ‡PqøÂÏ|‚ S›¬XÏÙ7 ‰äªDÐäŽ0}ÐÕæ1ÀÖ­[éz#† ¥^PTL4ÆóÿûŸù’æ©W¯^”’ƒoáï C¨èŽÏ€) ÆA*ÏÔÁàó‡¥UŽ¡çoÜr „¹:V Ì7>(4ãuøè£ÒÎŒ³³3À¼ „EƒobñMÓkx’5cÆ ÌúH³N'¬Tç‚’Sh<º€ËbYßÔ÷0eÊr[0`€Qnùä“O(ЛBévä®GÙªé¼Æ!À®ùórÃëïÛ· lë+—upp0õó©S§R`:3¦'Á¯ÐYH=\ÄÌ­Á;JN×ô[03ÁhŠ¢Æì8p×|/Œvf',:ʃ^ÀÆ ‘Ä}eî ÝÃ"Þ¹sçàÁƒ 4Ѐ`öËc­Ð.Þ¹åwçܪÑô CÉÆp7ËÅðšøpìØ±QÐ<vnnn怼Añð˜ƒï¿ÿW0Œ½€A0÷Œ‹•J»h"!iȳOH‰š1—”’=¯>ùä“íÚµÓ[y }ûöýðÃ!wÑ;J"ýÍ7ß 4FÐQ$S(Y4ãâ`<ÕÌÑh4Ç[aú8 o€ž×¯_IÿÝwßýüóÏXÁ´¿‰ŠUHé͸”ß”šò1dç$"Ó€îàCWÈ¿Ÿ~ú <¹råJ¬.‡8„–Z­¦å{cwòèÁÐqt™’«RQ:ªüE;»Ó‚2Åã¿ð¨XU{÷î]µjÕÌ™3¿g ­Ñ]\\°â1¤”ºNl°)á8þ46¶Ì“`Ua:H~SÍ( êÇÊ#Yæ~KþØ”‘zAu«¸^P²Gb<nD¹´ Æ7oÞ¼víÚùóçc W¯^÷€Ô˜)L1~H63eß¡S.A4¿†ñ_ ‚)øje奲R¶0Q 0Ze6u Lœ—Ÿ“WªT”’È‚ÿBÒö½PRr¹¼Œ_B‡€5 ®‰KÝâ:%iÉx¸‰ëd<ÄÆ²—ÍÏKH`«ëÄeFGiÝݽ(7“‹Ü¡dw¯[çwÂ9=2 w²¬ÍϯÉËgOµs)«0(P/P8nTœšŠgÆ×p}|ýU^%X4•ÉÛ ‡/'i²câÉ#WÃüÈìlaAarrBP`°§G€«KÇé´ˆpt`%u ½À}Ù¢Lx*\¹åŽE¸)^ÙÛe•¤¥bLÐ R|=7/ô[.óõ‚û­ù^p¹*¸É¥D@Ô bËÂâ:‚Ç£Ž˜¯Êz?²CóK–su›©5ù-ñKß´"4]“" 8õ ¦ ruàHa¤ ä(%?=ºá& ™@ààTÈ~ÚÝ#MÍÕd¦ci®J¶Þü5ñˆ_ð™¿,H ð+osÅ·9C‚#S£Äß3ä:þù¿©2¿:2W—›}Žh¾øcKO¥÷$üúì4×FçÅð·†Cg´´`hZ©üŽP/¨ƒ\]n®†ÚM Œÿå1Á^©-Pp-[ζ”mexÅŸì‡L\:¨£ª®laWS׬âÕ.g/RFdƒ\™ÆÂc#ª™°`6&øGSÙš®žv§¬Î¡€·lQ-î‚gæJóa:=aCm­ásRñƒ{¡¤˜à2½a/[Já·–j¾iË(U²ãYÁ¿)«€þ—íüêbiÝ@S¯qaÁÜ­©qK«hy½)»>_Ü”±­Š›kjì3—³¿jn4t4zü:Á½(oY3t»ò–qkÞc¸±±ÃXÌuDïÙî ,Ò½ÌÍgnN'ð‰/Ã8 z[×Ô»,¿<0%cƒÄÏ jTЩ$ÆéeájµŠ|óÏ©'ÛŒ’áPŽ•Þ(™IJ©§8EÌßÝÔØ/N9›™£s}ÓA#Ez+á´™Ù¹“"y÷ªD’¡…`8ˆ÷䚆å(–`Õ­Ãq1¾ {‰«6É­þ;àR33jŠš Èèç·52¦ÖôMomjloú$wóÛ[:óƒÉýê^Õ¶»—•âïqÆ(®kÚR6Š›‚`Ѝ J{Üùù]‘æ—È_4†’Ïè*¿û+ßg2ÊŸÜSýÏöOd€›\@e¤ºMNNK˜©@ _æªJQý£;h÷| ÿÞUõÿí±ï¾ïÃ:Õ-GÑe€°å°ìã™óQ|²rÞ¼ŽŽ=ÛPëÙöúûANNÙ±±ørzddQJ à/VËitÕ¿g„v›èßȵü dXAt8Š?aáPCŠHðÍÏϧ ²wVSM ÿšø—ªfÎ "‡<ò Ñ™ÞQñçWVöŽÝ§àïgî Ž¡ÉÓêWÃÊ'yæJaa!xƒï@"¬~DÿÒçæ{e“k8ùi‘§„Ä9ápþ-äÙFG‰‚øèß‚õ¡9'j á %%g kóó©Ö,ëÍ›ÁÖèÍ bAÕ¹¹lr1¹Î²Õd™£J¶š‚ÿ…J€óÉ!ÿ–K,q.CœÎ-ú# $˜@ÿJàÎÒ9o-ލLßwJ°|ú0€Î˜CŽQ⟥ $Ї 9ÁŒŠ0ßý@ð-Æ.sM€zBû‚`L @ E›–ÜÔIDATH  MhH ÁH H`@°Ð„&€`L @ H  MÁ $˜@ $0€@ @šÐ,@‚ $@$À $€`¡ MÁ $˜@ $0€@ @šÐ,@‚ $@$À $€`¡ MÁ $˜@ $0€@ @šÐ,@‚ $@$À $€`¡ í~µÿýF]½R”º‚%tEXtdate:create2014-04-22T10:37:26+04:00ÔŠM—%tEXtdate:modify2014-04-22T10:37:00+04:00„"ÇltEXtjpeg:colorspace2,uUŸ tEXtjpeg:sampling-factor1x1,1x1,1x1é•üpIEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/figures/structure.png0000664000175000017500000033652313656750211025006 0ustar zuulzuul00000000000000‰PNG  IHDRkq·IDATxœìøÿG<ïÿÿÿÇìVÝJI%¥"’(  „ €@@U¥ÚUíîÎÜìîFE”BGÎ03ìi—™À({Fôó3ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤ2ܤú+Ã=nm-•ÏÏÏ{ÆÆfË•JÑÓÛ;¿û eÙS~{›7Bh4Ž»»¡B(‚|à× ÷¢ñðpµbbb¼\ ÌLMOÅ,›¥òdÙHÑ C1+ Ƭ(‡»ã½uȺÇÐ=¯¼»Åó×›zV«Îï=]?lïÔŽ××w›þ¯>ð…žo2˜IDATŸ½ÿÿ¢úÿÿÿÛ9³»»ÛÒ¶`JA RÀŠDEQE5* ª*¨¢‰‘¨ªFcÕ1£Æ“`’¨ªQU£¢¨ª*"( " HÀ¶mÛÝݹ?²³sfÎÌnE‰–ÒÞOÒîÌÌœ3Ó+»ä6·½Íý„p·Ù³‡Än¸jüÈâ^E'†Crª4Âc D HÄ(•²‚r¯ªIg• „³Ýyu×¥Fõ%€ÈYuÆt‡l·B"û““D‡K)¯G$zù´É‘ZöÍ|sç®?¿|æ¥o7Í™³£õÐý—à g €0Àø¯’Â}éÒ ñaƒ-/¡‹IÊ‚„Ó`æD´H;ËÙf¹º<§¿5Án/_õƒO»ëâ9ïöV`»s` ûU d’ÅöOÿXLLªªìõÛ=wœñúm×%_^õÞ7«']]—7À` €0p¨ wÑ´oÚèX¨ø„ŒjiÉbÂì)€’2ŽHºéÊAô&PV¼éúöæìµD59XBÞRT½fâÔ6¤êÇ])m¿S` €0À€àPî¢~딡ᢒ+¢ÑÐLA¢i+”꩜8 Qîºç*ú"r¢Ùò¤í#OÌ»n:ø¤ÅeT#*üªŽ á9ôê$”ÌVçŸ ,¤ê<ÊBìÕ¦—>½g_ýÓCkÞßè n €0À`Ý@§î뎊„ª+O,./›'¥8 i+œuÕÉJ"ãhqMx }Y eM°Ûysx"º°Ö¿wP ØïêôqHûq7›¶ˆ'$3 "TUÝ5¨ÙY¿o:pÿú½ã«¢±ŠyÈPm6ÏŽ¬Ûî«CŽ>îo×€WbÜæä7Ò-òdD]Ôl©ŽXvÕy^ïçj÷ ˆ§À¾ (‡'ÒI?Fû>Ý﬘m ² aD'À(~lÑkµ—M¾`Ívþ°2À` €tB¸¯[ˆHõØÞK³‘iÍED„&¨­Iò€´nGh›ëÖÿnìF»* Ÿø›zÀÖvÞ[Ë‚Ç'ž1að›7‡¯6leÃÍý` €0À]¸úéØˆ‘£çJIg"Õ&m·]¹àjÒ$ç!RWþ’.课8ŒrÞ½1àsç•(¦üø¼þ jž×£-ºƒ®héû|°é•BWË›` €0Àº€ƒ*Üëš8Òš+Òfœ2mÞ,§>­Nk¡vb/Úêz¦]øT½—!hkô}Tø½îÛLð½ø|¶Ñ_Œ -ÿ쫳λ٠aõ‘Ò˜]·~Ü’!£Vî7À` €0€. à  ÷p$>S¥d«ÈNý!µI”4\ßÐ\tKùú1Ya,u7\‹ÐèšYEd‚:ZEkP` ¸ìîy‚ûÈ}ñ®ÜŠ1Â9Ž Ö ž1OZeMÈ;5åm·>™"VtDß½®{jö¹WÏ©Kðg•0À`  k8h½ùÇ3ŽŒDäUH¥Â°2Æ`lWYªx‹å y-§.œMIUƒÚüJ–“cWýÔv½bŒìêFA5Ý5o×'O “nŽSê1ù¢Ý쪿š‰•±ÒÏ£ï#ÀLƒ‰P(¾ö싼9ußò•0À`  k8(Â}ñâÚâX™|éÌd9~UŒ³Dµ¯ß߈¾P°¨ŒÈ¤x;ÛƒëºÀW¿ôq´uGp wN¶ƒ IsQÞçO8ÛÉLBXFÅa¥ÅwÒ–Sgˆ¡Ÿ±ëÎ` €0Ðá~òáeÇQµÈ$ ÛiVy•¬CîÆ_´e½Œ£6ù*ÃÀ‰Ç¨XŒ¶]hN¾O§SàM]HÄß÷„|M­‹sÍ…'íÒúQЩ'gî& ¸÷Úñ¤ï#m»J%¤ˆÄ'¤Òb2€×ù“Ê` €0Ðõt¸p_¸pP܈F¦‰L¦™´ á mAÚIBsÈuZþç! ,mVU7óîܨ™S! ?ðªÄtž¿i¯‹k}'ÁŸcW*]ÙÁ‰–ì›u¬¥‰t½/iùx+ ä±Óiiô1ŠÂ—ÞtÞ?\’0À`  ‹èpá>åè¡5‚p!’m"—]—€.¦uÑ^HdûVs+¢íÞ2àµZ×b6¾c´æn¦Û1™@ùGá(nŸ«î.ÆSë¾k)ü*œQ‘JI¡S¾õ¨ªùó¿ÿÜ` €0Àº€î1 –ÙLÓ¯GuN*2ºÐõéq%[…禓÷ÕŸ7õiß †Á@AW^SèÐ<'>¨»sÂÝMñècÜj1€^uúu·ócÇpl×>ʤ+,ô˜²`¶Ìš…4¸1À` €t*ÜgφŒò\¤S†ÒÅ‚‚î¸VºNôE?†ôI“È-ßhfmi¤ÒZ ÆŽá·¤íÍ áß 8&0¤›ÃACK[·%‘h5Ñ·ûF’"/*cZš[L$’ªJ ¼Zëκ!€¢¨@<* U¥h±ÕÍ·®Elþ›_í'–áPdúô“}v¾Ù n €0À`]@‡ ÷»/?i,¤5™ T¹GûSX*ð¢Mœ¤Ùáš@‡.â—}ùªf¼ýA#ê¶%ÑÖª9êNÖ]h"Ý×ß³ÌÀÕ1\4µ*+ãØWŸÆ¼GÇ’åÍH&,ôîÆí7öÙ“zúâ+;v¥ðêû°bu3š›É?¸s\örÃ!ò2ªÊŽ_Œñcã()2¼¡(?ZãBÞ 4—ž|–NƒBá#vï1k,7À` €0€. Ã„{Öm‡ÈÖmO—ÂÌäT³å‰k[Àˬ|wªÌænKhyoáFJHËV¶âî¹»±e[–#h…î¸y µ>oÆê5­˜{ï ,]Ö‚·Õ£¥• „À»“xöÅ=¨GßÞûÜõM&xd܈¶íÜ(½mÃ6Zñò[ ¨­‰áêKzbüÑqôˆ©xO¡OÉëne7bcyL´}ÒÊÄú÷‹ÄÂÜ` €0Ð¥t˜p¿v\ÿ˜40’™¨o2$š»®­»QíùT÷a͜ط,àýOZP÷[N´gE¶E9€–ý`Åw ¬]Û†µ?´!™0 akI„ÍuilªK oEؾ†Ÿ7'ðÕò´%°ßsªû‡ì9 ŸÀ†;qÍŒr\~QŠÂ‹»Àï¬çU«!ýÏ£ü8M: …£i"b Rƒû0À` €t:&ÜS%}ûƒúiºùvß«¬j¦Ó¼z vÏy…ÃN6]ˆýùêù»U{D)‘J‡ÐД㆖Î!;;ßPoÙçÎÞ0ìÛk"•Ί{é w"Ÿªnw9;殽„'_h´sï3¦•ÀP+éáuÀWÿ'Ò“2ÞNJ›RD¨ªÆU+7ƒ` €0À@—ÐaÂý°>V¥ÈX–é‰sáD>T­u‹r‘QèÁU3çÂKéÆC¤!pÞ”X¾†°iS3LÓÊ{[ÅWù}û ±ÁBÿrm ½Ö»rÓ]·?°¬»ò–ýD($­R§ n €0À`‡<€îKûFÌŒè%-Gñ´„&X]ç]¹Ê"·(ÈqÞ•[OžŽZ½wÒ ýÜx- àÅ×Z°lUáá¾m³‡—”†qåôþ;¢ Â2ÝÓY¡.¼¨Œ!t±Ÿ:+î ÃsÜí/ ¤“Û·¼¿GZ *Iatu?m4ÉxOšf»6µ$šcNú2üÑUÛÈ‘ñVlñneÐc`¬gáÎÿM1À`  Kèáj‰Fe¾Ì¶prìJ¸»dÈMÀ„¶.Ü Ü‡N}å!ƒ¥$sfì’‘)¼ýaÊ~¸Ôðt»-ÈÏŸ:§ŸfKîVN´ÛQ]¸ÛÑá–i̺ò†-ܽŒ{öÚ²ý¼¿Ë›;É€‰’" ¡½úŒúbÀk÷rôn¾š«®šžk××í¸ ÅÇ!„•\Ü`  »ø?{ÿÿ"eùÿÿÿ·ã8Ïsffgg×]wÕT­´´LU4 3ª¨‰´Ò  €€   ,¥0ÌÌDµRAC¤]UÝÝÝÙ™9Ï#Žó<Žã¼ŸçŒ»ÜgÎ=çÜëîÊí¼íí~;øí2€9  +½ØSòT„’K¼Ø†ý8ÒêØ8ñ²ƒŠ$ð!ÈfLÖYw«Düñ®?Å…K-|y¸Éi ß½ÛäÄ·ÍÇG{K¨÷A°"F¥Qažë¨Œ-ÂI¾Êw©-wâ¶[E]«GiB)én¬€/“×$ÓÖƒö^÷¨ƒ ·qšx†VÕr&àg €0À`³@w„{#B)ß r•Šg×þâ2î¶Ë]¥vóºD“r-‘žã_…ÂÈm…¯‡¹-b§›®+zðñ>,ª<„p•”É@hɧz6o~|žÎ¸‡*} îþÁ½™XäOLG8u6ÄŸWõ1‹O£2ú¼ÅOPí•Èî†JnP¨³žqÝsi)T~s€Nób €0À˜Íº"ÜgŠJÄ¥ç$†í–˸[*ˆNĸÀD*qÝcyœ^H¸ä¼ZCàÛ#!N_„‹½ØU*I|¸wŸ®AFÍôúæëó: w½Ñ’HŵößõuÇ=½öø¤Ä‰ÓzËI´er ¸|-©s Æ<Aê´'î¾Âªeô÷† E2ì™(Ì#Úeè`ª"‘Ý^ €0À`s€ßµo¥n¡Ž»"5V§ÛØ‹´]îFŒ'SŸPÚ­ŽÌÉ’(fÒ4£g?8®pôW-î=‘I>Å®·‡ñæökɇ›”M§wë¸ÛzF{Žï«L¤nˆùì },‰½èy×fK×NŠÌ×a¯U.HlY Zj&5mb]¥ÇÜFKäXç„ÔÕçÅ` €00ÛtM¸+yI‡Gs¦ŠdÖ)MZdò¯TœGwç ½yêù+‡Ž Ôg¼lB6T±·@ÕOcí¬ißV™ìtšÙäH{üº2Rdwý‘fÓ^,ùÚ³›.¥n»î“a} ›ž áÅ;Ã*òVI{Œ"™yú\©ìkèy´+Ÿ` €0ÀÀ¬Ð%á^É I·É’m€±ÝäH\t+Þ¾'™w%Œ¸VÉCZ÷[woŽܼã™Í‘à9:K~p_‹ûîC’\;ˆh×õ쎨äS»ö#œ%Ð1*ó¸ß “Ñ7«W—ðéþ2TF“?XÍ­"ÐvG'ÐÛžSçlÐänpx1À` €Ì]î½£r‰ÁÐeoi7²'™˜L$Ònw™—™Q"õ­PâðOÎ]ñÐNE{©(ñîî*6®‡6Ý«[îäÄIÏ wé™ýž¬HŽ£2ISMzãÞ$¤Éó\Ÿ¿qs>Ù`Ýð(Ðh¥®¿sØIÆ2"M2Š<Žcýö\Ó*£âo퀻éË0À` `Öð»÷½+æ¢ vžZÍÄ=Tú<o1çhíûã)'~ DZ¹(Œ³¿ó• ^ßZCКFº¨âN®'âŽö¤Y&ÙˆUÄŸ2î¡îÒ´ÏPW߯bJe÷¼»%<)Ð[X²8À†ç ض¾…þ= ÕH;¨ÃNDö쮢Òc¯œ ª–JÀ`„Åó¨Ê‡PÓã@3‰q=—]wÂ>=ß¹ìf§Ô4ŸTN"ªàÿ¦2À` €Ì]îS“@S  lŧ’ÎdNv%(Eö§Ëªj³1“='²BßV8*ܾçáë£Ü{dœv-l=|ÏÃòê(dØ2í4pQ•MßǾ½ÇñuZP¦Rzß÷Ó÷`ÞÏP„«o¡¿7uÉuO¼Òõ2úÆe:LwN¥1:„Úv<Ÿq‡«¥Dfæä/Jéª~SÉQÀ` €0€¹ kQ™*q5£ ñ#®“v;Œj;Ý­œÎ=&Ñýl¦)ðýÉ ®\/˜ØJQ)$^ÚêcQß8îÞ7v~&Â’üHb!B©(mÙ¡U&Öû"͠믘Fe¬/Ùœê¡sÇRï">ŽÚ*ÝyÜ÷6Qâ´ÛX¼&ªüÊ` €00‡tQ¸÷¢ˆ¦`(“T3`jŒw粫´—=q—Ë.íñDØž¹\ÂÉó=P:ÞBÍt‘Äe®^Søü†Þõ¨©²ä±BO±nUË–„qŤå4*ãIe þÄá2îI¤F™>vû—#ªm~?/Ø]f‡<»mÚ±E1*uÞ37@v™G(£UÀ‹0À` `îèšpo¢-9Œ ¤Ã¡ª½¶ÐÖ>Zg¶ßÝ:Ði}zFà—?z1U÷Ì iÖqCàÚu;¨)@ËcèJD¸Àñ3!öì˜6nº ¦¼i”1Í.fÙáU{M[†§ÅI­#HÝŒÜTÄGôuÄmuêS¯òçÑ®â@O­x1À` €Ì]î¡ PÃx¸ ©f)¬L¨ÝäÛ±¸…$‚UŠœzNΟö0ú0€”ò‚\tR蹕?§6#pñZ…BÒÑ’Žñ¼(qôµ8V@Á×w‰0’iÆ 岄/UZ}é"2Èu´+â“HŒ}Ïöc¤ötçÔˆÞ¼;|Ô£*Z§{Á‹0À` `vèŠp¯$ÉqŒ‡óQ‘=@8g%ÝU¸ˆT“êciݺítOxBÀ/ȸþQætêã„{§ë(Š |Tª*ŽÊPá^**ô÷&uZ—W+ …@¢Ñ$Ÿ[}•I#.¹H‹"Çhî=R)‡¼ëNx…L,Ö­·3²‚Z³;Öòð1À` €0€Y  kŽ»ܵ°Œ†7ˆ²ƒÛòT‘8 HLd”N’:Ó]a âåmßj5À÷þÿÏ¡»¬YÚ /¶o ²…³4[Æ4WÀ’EK4“-O,nbÁ00u#½F¹¬}*B Âôý¸êJ*ÊÑ.¾éDYUNû»ã¹ëŽ:&SöÛÁ‹0À`s @÷„»ÔÛy¨a%y "œ4±È©‡ÙcÉ…œ`õÑÂ[bhx>þ¾êãÁ˜n©í±<*6“—RahPàùgZX·èôƪ#oTpá’D£¡08 °kç$ú 3€)‹,Íàý]-û­ŒÛwï ºy} ›VO@DQuAj¤CQN7²çDÊ5ѧÑU6NC]y§Q^ Sa­ÈcÃÿ§b €0ÀÀÐ5án d¦Ã~ôÊy(¨ òÃ$ÒLŠm’‘Ê9íöQÒ ™fâE$Ð[{€+g°sm-¿^K2ZJWÛ]Bœ5‘Q²>L×ãC^ ðêö>Ô ûèm܃¬·Ü¥t'üæå£xrÅîNQ  ˜œ Bݦ_¢ì1û=ªa†WNØÓŒ;;Û!Xí¶W1Õ*&F±ç^ €0À˜Kün~;µD®«2jB€Q@Ím9…H›f¬£lµµÕ¬qæÝˆV;´:>¥'UáKr hÂF c¥ ÑõŠÚôzuü.–z÷‚&B³i©ÊÆv¦j˜'þÅ<=µÚR@=J-vE~QqÞs‘˜Œ07κÈGbò.}D¯¥ìX,êÑ<Ô¢ËßUþ0À`  ºç¸ë v„ÊÔv݃(&»™ #Xó&¹°.|º³ª²Z¦ÃÔƒa”åDHUiºÃö»+›±¢^Úö™üO›2γ ©vò:PEn|æcä‚´éÆDi‘÷ªÃçÚòëè”qWÎaÏyEvˆ@§Ã§Î±On”y±’½¨‡L7„'â_Y»ƒ` €0Àæ€ÿ®7³@IDATØûÿ=Æÿÿÿ¿3çžçîîvÛnU·Èƒ¢€4€A@ˆ‰$"  ‘D ‘@D$@J@‹R…Bi5H+ZJ«ªÚÒ¶Ýîîîî¹çž{žçœsÜ™™ã8æ˜Ù³Z’l»ë~lΙã8fΙëœgr›ûy;îG»¡H8è,Áäº ¨ó‹yáIQ¸"ØÐ+j]I€ ¸Í.A]xŒpg«M¯[ÒÇ· ½›]¹ƒõô~ÑÄçC꟮"»‹°Þô§¸Ÿ¾²êu“®w²ðñè.>Ü$Þ` €0À%†E¸¨^dÕ$  äçÐïŒÇøº"De[$Be$¦I„Pâ[(mļ%®Ãú¨Z>:†âac´!È~ ØúÙÚ}ç…ì”XÇ%ë4Éz/ ô+ñ„P·Ô6ÙûRôäŽG¾T‡R™à¸Bã@ˆ¹³k.„{0À` €ŒÃ"Üeo·$=G‰váZ ßkDCnêEBö!V»ä@‰wÄõB$·Ã¥å"YmJ¢¯zÉDè]œ,I_£wª2Õbñ»!…*¤uF[}U;Ù‚^÷q[P¢ô Vd!„€ü‰à%ªý9W‚ ` €0ÀÀ¨0,½Zrª’dQ³õ«ì»è©4¢­¾ ¢\ä€é: jáXâVGáÉRĪ_°™0w7 ÚDÞã°ztHŠû5¤:Å< ˜ >Á>!ÇJÔ[×b‹t©ÏÛZê_Œ¨Gl—qšPÍì…ž|^%¾“úòˆ¨ÔÔÝÎÂ0À` `”á¾­ÒëA¢'•Žˆd{°B èÕ¡Gä0.3®'9¨"ì"ðˆÖ…ÙÚÏ.”hGu7Â^P,Œ-±NÆo‰xúçŸgª¹Ÿõ€‘éF”§¶uŒÉÞßëºÓ?3}…*Š‘ ¹†wð%ˆŠK7Áço*` €0ÀÀè0,Â}Μ¥•ûn¸´«!ò¤BB‰Lp ê`™Æf´d bp €ŠÔJ„K(+K0SÛY`Ö1ÝŠÖÛÕFä#5p5ÝÏÄÛy»Ÿå·¢<Ù±£"õ·OH H%[ÄÛbÝTdAÙI(9èÎ@Â…X à"ïÁ3‘$ÑüØ¡÷äÂ` €00²d†éÊÁJ¹½9#JÒÉ!Ð5àÀmlDSn5XµdYZ(ö¹ûÊDà¥Vð:ê.” ¶¢ìéh·°>²ÂrÍ$Ĺ1¿¤ê-ýl)o³9d£†%FÄŒªß-Qg/ue=›ŒŠ‹Ž¾~H)!\×â-!¼â`¥]p¸0À` €Œ|Ã%Ü©·¯°qrKNzÕJ¨4¥²t„"Üð<ÎÑ܀ƺIÞve›¡¤-FÄ‚š‘ôHÄ aIX[ÍÂô”üìŠÔGYìÄabïž8T*ÚŸÞI…?Ô£…?¥Öõµ5‚rQ¬¸èìËïÊð‹p ª#”UF'ÚqŠ•2ýÂ_PÀ` €0€Ñ`¸„;:º{79e?鎕UF5 u«¨TÚ{}´m@Cy/m(Èó.al3Ʀbe”±D:©¨FŸ‹ÔǕ챩Vžx»íÂGœjt´7kˆu{ìi"ÃL¢¯5p•¤RâM \Šž@{O/¼@´;Žî‘c(ôµ‹nð ÔÛÙ=°’¿¨ €0À`£À° ÷?·tm­L›„Ð3‘ò¦„Å#ŸR<ŸÐž÷0¡ÉEKn_ ÚxÝG&³Â‰»ð°¬4Jµ›<î°Ü4°ʤ<ê0klÕn_»YSW£_:-¤-ÒÓ6S'•˜wL+þr=ýð¼*„ãÀÎÎ#ì<9‚¨Tö·ýºµo-¸0À` €ŒÃ&Ü_šóSþœé‡,W/Îp ²¤,2 Ë‹ˆ¼çItæ%ü&cêÇ##²€×È@~<ÓR(â­O£•‰Æ(Yóˆ@IO»!¬ø;Á>´j‰xJ”ê¶p7³,‰ÈÏžmEU4!_(£'_@Õ'UóòÄw+£LÆ~W÷à×ß>«¿§ €0À`£À° ÷5kÖT6nî}©õ ¦ Õi…ŽŽ«(z˜DÆqàù>¶çË({u˜ÐÜ‚ºúF Üøy@*º“²Ð$Š@BÛ‚Üö¼Û{Pb±KÅîK5ö§Ôqm2>G-胇‘ÌX ;ž/ÐÕ›Goÿ@”5Æq#®<íŽ%à…~9neKgß—<0\` €00ªd†ó~¾÷Íw Ùgúæ¦ƧÓ$uµÎëÒ7PA¥REkKÙIpd àõ€üBô0ì§{T"XØ™hDü‘µÐ@ï—ˆx#Õ[»%¢çµŠ®Ò®*KÆß:ôTØbÆuc!+èîÍ£X.«¼÷‰²ýX!P*{íÛ·õ®øÛÎÜÆ` €00â «pŸ9si÷5ç½hl[ãÁøJrO°¤ý厳ÊâDãKÛº=Œ©¯ÃØæzdsmpä È ¢ïE@z0Ùe´¾vÂwÄÞ£ƒu[Q§<ï¦Ôª«åOwM[`ÌŒ¦ 7DieÆ€œFT<}…>ôPõ¥Š°«§Nô¬á@˜Á¨ÂØeW€¶t—>]úCG»}\` €0ÀF>€ÌpßÄõ:ì׺GÉW¦q¤XsƒB!ˆ\©ätÕ÷ÑSðQ,£µ¥Í M¨«oü2àõA>˜¸ÉØUé”îC Ùdu Z½­*;Ÿê«7ÕǶÁ˜^z,êT„}ÈÉ¡êWQÈÐÝׇJµª,0N”2S Þz)â9¥„Õæû²¸äç-ï¼¶`eq'À­ €0À`# À° ÷¯¿[ýý´©ã¿šÐRw AŽÅozBT•42òÂS0pÕG{W}u.šshnÈ![¿7ì ^­–¢É›ü`é)Ñ,c}.„y· Z­u~Ò‰’–ú”ܶ6Í*Q"¥¼îQ²ÆH¨;9·psN=|8¨”=ºQ( TŽfŒ R=jqî˜Ü숥Z‚]è©ê=ù㟭^±ƒŸøËÉ` €00‚ »pfΚŽ3§:çÔi“Î"A¹Ðë-kÕprTGåK µˆ¤w8ˆÕ!$”=å¾ ò…"ê³4ÖçÐPŸE¦®!ûÁ­BVÃ,4øÀN¬ Š…Úú<­Õ›V#¥í70õ„Ø¡/Dp©œ lÃ…O^ÕG©4€âK%T½jôÀâ8*º[`Ü0ö®Ä¹ˆ×õ+ØÃ"¯›ßÔ^˜7Ug“a €0À…2»á®ú‹—­[tüáÛsö t§ŒÜìJ“Éé®#׎Š2Ke'}|EVP.—ЛïGÖuQŸË¢¡!‡†\uÙ\˜óÜuÑï ÕéÂÒàé ûŽŠÝŸìÝÈîÑyÊpÜ©„ô%¼j¥ÁŠ(•#;ŒšùTGÙ-FMª$k6TÄ‚]EÚaú ™/–VüÕº·9› ¸0À` `TØÂO¿±rë™ÇN™qüá­÷: VÇÌF¤U±ö¯¤× a%Ó3ò„ØËøÄó… _ˆršg¸nÙL™Œ¦Qt]Weh&ùLT§ÄÇ<Ѥ‹]iº« D¿HY…_õáU«¨zªÁ²Z…$_ s'ޤ K¬«4•N ÿºeOGÝ!ýªµ½3šóÇ&pa €0À•2»é¾ú×Üôþ+¿vÉô'5\ZõCûväcL1á`UÑ6b]DÖ™0â.ãì,z¼g°gÀµÁ+WQAƒfb£8НÓER¢N*ngŸ±Â+ªnœòvW²E&A¼Îþâªp¹îå_ŸêßÒ‘w˜ —èævu .˜½hÓ‡mÀ` €ŒZ»K¸£(,úö™{Ÿ5õĆ:LÑÑo¡Ô§°áv†;Ø­÷‘Jl ¨,4j '™¨x™ª’Œz¥D6‘–ìdËòD! µÆ'»Ø™qbQ.D¶®‡Tnv2±s=„&}l‘уt£šèìõ^•Š¿uî×ëŸ|oI{Gêty‹0À` `ÈìλùöÜKÚ¿õ¹“Žl½ßÕéø¹“ͱ`wÌGB›ŒTâÛUž”˜Õ{“RözbÒÈÐn{Ñã-Xu±TN»Õ.ɽâ"¬£Æ\ùÓõ‘ w¬3)O»N‘)¬3D›:Н>0{ëò$¡À` €0€Ñ`· ÷ï·¢øüìŸ^Ÿróñ§OlvO“ õ&©Bð: ™¿82)ØP´‹èåHR"^Qùàã(;Yû™"¬6Ûö"âEªÊ4ë9CXêÞˆlKpÇâ;¾q7}ÿú`üîÖûDëT^ßÞ?ÆGÛžPâ/$` €0ÀÀèÙÝ7øƒÛÚæ¬¼í¦‹{vï±â$ 8:ËL˜¢,3d‰Ýdd^‰vФºn‹üòÊ&£]1ž ‰`,4©2´&™ë]¤ö¨)ÖSý„Ó¯µîÔ¨O¼!¯~1p…ù곿éxpîâîÍü%e €0Àý2{ÀM–/¼¿iõ1´Ì8ï¸I3š²8Ô 8¥(Ÿ»¶Á„µà6yÓ£H¸™¨”åÑÿ8bËKC‰Ì0©b«èõIU Kö åa‡ÙŠûØ‘uû! YO©ýô²\ö7Î_Þqÿó:VïúÙ ` €0ÀÀÙCîž¼îÉ5Ÿ?vçe§Oz2+hoŸÈ ÓAJ55JÜKw-— D ÁóÐ_Ä¢BEቌÿ$a›Ñ`Ó¡õeHôÝìà×µåDv¨Ì4väÞ¶Í8Zò©A¨±XW3ÌÊb¹ºéËŸ wÝüòæ/x5OŠë` €0ÀF€ÌtOúà×ù­Íh:sÚØ;²ÎáäK*µ£P¢\XiµÖÖIã€:A$"îöÆ÷n—Zö+`¾C-ÜÿnÝáºØÞ÷È “|;$,6Å2mütY÷Ýw|¸y.ûÚÁ…0À`ÿ){’pG{;®xü×7߸y*N;rÜí Yqp˜†L¶öÄàTãg7¾[Œkñ®Ä/Y^wJŠc-ôÿMIïg„¶u*Â:7aUì[ ìŒ2á̱‚ʹañªîûîøpË»§w¶¼` €0ÀÀHÙoÝà-®}ëÚKÚÚ¯<»í19çpGÈ\$¼ãa¥f¦R{*´7&ÎÛn¬4–xšÇ=]ȲÕÄ›P^›ãˆšax‘ÚªÓ>Ɖ,C±.õ“ƒ„ e19ÝuF(¼ §ÜÝWY5oYßý·Îj_ð©qÂ\Ã` €00Êì‰Â[â=ïn[8Xð:/>­õƃÚê/tŒ‘a =а‘®_vw{öRX³¦j®3ËX‘üdI×Q¶’l×ÓQûd1¤NXÙâ…º.¨™VAÒ—4°n[ñƒ7—lê½ÏW²=\` €0ðŸÙƒ/¼<ã³®ïï*Üuùûl˜¶ãU×™$A.tÄ\çz×K)iŸÑ‘õÐo‹ô!ý‡#°ƒVw°nåW·‹½™\~ÐVÓ~wä—+غn{iÖ³ÛŸ_¸¶¼€_ë<¹Š0À` à¿ ³‡ßhîòò_._ÿÈÕ´,½ü”IWÿo‚{š¢µò½“Î× uÒiEÝ‘”J AþÏŠm”ÕšcU׫"ãÔ±¸ ¡¬º )‰7vV?uq÷‹s——lèEï?>AîÏ` €00êdFÂ=íúþ(ÿÅŸÛË¿ŸÌø…'Om¼j\ƒ;5°Ï˜Hº šŽ°SÚ:£úR“/éL4jŠRÓd{pLD1Û”\‹J™²Ï3{ª€”2¿½OþöãÆòë³Vä?™÷]y€Jê­x‹0ÀØ9€ÿ³÷ÿ‘þÿÿÿ=¦™fª1µíbW+»´kÙmWl6ÖB  @ RTTŠ”TU©ªªªªTUªjjfŽæ¸­™¦é˜*UAG/ 5Ž4Çiæà27Çq=Ø€g `·Ðû¨éöO×t¯¯þJj/ÈMù—™æü›äTã4-Q…§¥Çžûnž‘~¾Â®E/™Üà9÷Ë»Œ<üë"Gë²#rýÂùM)ÊÏÙ¯¨íì‘ûÇ|y+E€G<çânÞ5õíñx7>â(x /¥¸³›X:w€bPܱ@(î„X wB,Š;!Å€ „â@ˆBq Ä¡¸bPܱ@þº¥ºè"–IDAT³÷ÿßMÝÿÿ¿'I›¦mÓ¶m[ ¥AAPPU/UDEUU—¨ªª¢.UUTUUUUPÑ UUt©Š*ŠŠÂ  @KÛÚ6i’&MrεÓNz’¦ eïµ²’œsÎÌ™ÇLWï{Ïž‰…ØX€`X€`Xà_/ƒ; À°, À°, Àvƒ; À°, À°,Ûa` î, À°, À°ll‡1¸³,À(À´iÓÌÜñ, À°‡¿cÆŒ r?90¸³,À"€®ë9Á`p´âN!Dkîx€`X€Ã_MÓ¶išö¬ÏçûÍn±˜ôîR÷öížÙ³)p$u½ÃáH²Ûí ‡j¸ÿý÷ß”ŸŸOqqqûô§ë:y½^²X,öW[SSC±±±d6Ü´}¿ßO@@ýà kÎá™ñ\{ckÖ¬¡„„jÝúÀe2ÕÖÖÒÂ… 鍣ޒuE3<{yy9áZ¼gffR‹-¢>ÓŽ;hÅŠtüñLJž;w. 8°Qí/Û¸q£ìó¶mÛʱ­M&Ó~¬¡qI¨gÆ Ô£G°z‚Á •””P||<­[·Žúöí+uƒŽ-[¶ÜãgÚ²e UVVRŸ>}ä˜bcöR€l]×MB•k¾0¸³ÍZ€Ï&Û3·CŸqÉ)£EЬñ”ÍÞQZðÝ)K–~;o[™c˳¬”|DGÈïÏ>ߺu«„Œ¼¼¼&Ç`§C‡û<Ö4M£n¸:vìH÷ÜsOjªªªèÒK/¥GyDÂÎÁ´/¾ø‚>úè#ù,´Þ½{Óu×]G999ôÙgŸÁY¢k¯½v¯žè矖Ð~ ÁÝãñФI“è™gžiÜN'Ýzë­tÜqÇIh‡ÃÔ¸£K—.•à¾~ýz Ò€õeË–Q¿~ý¸£ <ð=öØcRûo¼Q~Ç<Àër¹hÆŒÀýöþûïÓ½÷ÞK«W¯¦ž={JgfoÁÝn·ÓC=D¯¼ò %''ÔñÌu±,Àá!ƒ; ÐlxêþÓ6¿Ÿ‰4"$aÒ. øö\H—^Y²¹Öç\íªvlÙ²ykÑæÛÖ••m[U½Ýµý¥/É ^ÜÚœ:ìýû&&!ÓU–tÏú§'Sõþ*ÿŸàQ¾6mÚ„"–ˆ "ú€D$²iÓ& ¥#À@È)S¦Pvv6]uÕUdµZeYEEEààpÇr©©©TPP ËÂpÊNLL ‹l]EE…|g/¼ðBèZD‡KKKCÐ[\\,ë·Ùl²^Ô‰ö¡|€éöíÛ©U«VX‚á´pæv»CmUzlÛ¶rssÃ@ND—.]ÈçóÑ_ý%ëÉ'ŸÜãN©®®–úCËHÀEpŠÐ>Ô«ú÷ >DwñRŽ ÚŽ¶%%%E­å!:mÖcóæÍR ô5úÑrèu 'H­‘Ð}ÖµkWùŽH2"ÞYYYtòÉ'K='OžLçwž¼fĈ¡6¡nDÈQ‡x^<+ÊÇs)ÇmÁ󤧧˾‰EÿòË/éâ‹/–í}øá‡å À¹]»vò8ÌçóI‡±{÷î!9Ö®]+g~ðJm|„`ŽtÜY€æ*€h٢ߘ¤´ÔvBs‘NBú©ºn&“ÉNö´nD¢{;z;¿¯ŠZµ-Öû ,ßé©qlvVì(8eLIñւµ^—{¥Ð=Û6”¿ô.¹Áp{ÜןG-úöírK§üü[´no6›ÍëŽòu'Ž,-Ø´¹te ¶ê¯ouáÓÓʪ6l ÿÁ†ùiӦѼyó$È: ˆž~òÉ'œT§žz*xâ‰4qâD à.@"ÌçœsŽz@7¢ ¾©S§J$ÝÿýÔ©S'zçwè–[n‘ÑJܺD?DùåúôÓO¥ó‡ð5lذF¨À8G*"¼€DùE{î¸ãùý믿–é 0À€pŸÏ'@@»é¦›äg\@4âÙ† BçŸ>ÍŸ?_ê‘‘‘ApÆŽK uìRRRäg€*€kOí»ï¾£o¿ýV–@½ýöÛCw"ýç¶Ûn“σ#ñì³ÏRYY=øàƒR_€t¯^½èì³Ï–÷8Œˆø¾þúëa[ô×ÓO?-ÁÎ †òžxâ Ù6è‚òeG?bL,X°@öï1Ç#¡r„ tÖYgI Æ8A¿¢PƸqãdŸÿðò¦þýûK¸Ÿ9s¦tB¯ÐcâÎ;ï”}¸dÉy=œ/Œ!¥ƒrè'}zùå—Ó‹/¾(Ç„‚v•®ôÜsÏÉÙœCß½úê«ôòË/ËñÚ¨ŸþùÐXÄ  ÷œ<š³b§^R¸)8±Çú‚Ê’¢7œŽ’Ÿ¯™Pµ Á¸ƒ12Ìrph¸ä’Kdä X¸«è<€€öÞ{ïI¸ÆZ€@€° °3BŒŠ¨\`—]v™±ß~ûMF,aÈTE3¤ ÆQÈ%F¤àµ;s¹\²]ˆ¬¢ €+@ßìÙ³éÑG•ΆÊaFû¿H{8÷Üsé©§ž’³ W€ôPà®4Ó‚kÍÝSƒ£‚{}]´h‘tD”"‘ú˜EÙp.àdà•””Dwß}·Ô°ˆú1[p×]wI@F¦ÀüøãtÑEIgeÌš5KÖ0¿à‚ d.:î»ùæ›eÿ€¬8(7Úé§Ÿ.ðÊpº"ÅFÍbÀ>ÿüs¹?å”S¤³¶œvÚiòàzÂYÃì@~åÊ•Òa‚“¸\»€kטÁQã}õá‡ʱ¤Ž«µ¿ÿþ»l;R›{½áÀaF¢^ŒçnݺÉ>€C€YŽqãÆÉ±vÁ1€£‚Ù•H;ú裥C7ZÿCoDäQ?ÆÆ!œA8P¨ðŽ6¢/ñlè_8p܉`"`pgš¥ãÇgÛ²sÚÄšLº ¬×áz¸©ï>¢€‡tÚ!#ó:þ,LY4e™R²ÚRrzOs‡ ú<ýUÅݪÅÞÞK¼g\UQà©®ž_í¨XY\V¾yÞ⪢/UËÈ]NÁËNÏ8§]בWµÌÍ2™‚뉂:iSòqD¦!LiæÄäTêÜÎÜ®ËÐvZ ðËUy×°Q%nWUÅ"»r¡ÏUµlý¦Â‚9 ‹Ê×W;/&ÿþê/D®áV`tì±ÇJ°,DD²•LpÐÍ7sæÌ‘a,´Ô†´•*€¨0` 9Ê€X@3`yëÑ ¥sçÎ<µG=}¤HìÎeª€rDþe€#ãó >\Â"×xFèt DIT¤•³(â<¢ûpvöÄPÚ®ž àl4œG»Tz4‚–p +ô”bÆšD—¸møÓàpŒ5J¶P­RXôh+RO úmk*U Ï  å`¼`¬ì.‡]Í @W臨{EEEh–ÇÛhœ68 |ðtü0Þ®¾úê0EáL¢N•Þ‚ÆŽòñŒ€ï×^{M>'Æ&Ì$ ªwô¢úÊQÄ: ÕÜÙ"¼ãØÞ.4VÏ GNÄ}÷ÕmêçN*œá“N:I‚{NNŽtÔ: Ô¹'é 5¾‚`š™ î,@³ 5gÏÉíd5›ˆtÍG œ®š»‹Ï!Ö4™bÉBÉd±RLV‹¶1Ù-;Û…ÙJ~Ÿ;ÏQQ8ÄQ±…ª4ppùNOµs¾Ë±s•ÛUµ35£ó¸üƒãDº·®øp4G(}‡LqÂ,lfslBRZz|RZF. “¹®ëcœU¥Ô©WyÕ‰ghóü>}¡ËYS°µ t{ɶ+~_µ¶tútÚç_ÌCÔ©0ja^^ž„?€£J7àì©}õÕW2òA¾7Ò$"-2gY¥, MÇçóIÅ¢O•òb4À` 3ˆ2# ® Ð(T¦Ú3ÂåôéÓeš¢ýxD¸E+€Ñeµ{  רˆ2"òû²(#º¯òõáLÀYR†ïˆx¿ñƨ‘Ç;®Ålîtã/fkìwß}7læ`‡ûâHø!ºÈF•†ãȆ¾HA.7rÁ¡*]DR<°–í@=h3 ‘_äÎã~䜣ÏTêÔ¾ÖüñÇR#ehr¼ñ|Ð}»«SÓŽèƒWäµègŒ+€o4XGDz*Ç©?X€ra¨_-&ÆXSññÇ7Ú)FþéþùfSÈ]‡!÷+˜@Z·Ÿ~úIæõãïPÇAm3ÚÔ"ãü@|? ÀÖ0¸³[ñì%ß²o§ìZ«ß3íÅ-•߀E™ÉÉ™í„îL -¶!Ÿ]ßÃh{Èê>ë'‘^Y÷]ÄÖÃv]Ä\š%`Â-f Yìm)!9–4ÍOzÐI&òÖûÇæzxÖ•£k ŸI«4½æýõ‘y¼ªIÔA¼²šÉ›n·§v"茴I~=÷úv®Ý×a h°#EÑMDÇŒ#aý×_•Ѓ\cD5ÁH/Q‹2ÕŽ#ˆ\#gtÍ5×ÐâÅ‹å4?`‹ Ø*÷ 5Ǹ;r-È‹F‹;QGäžà¨P¯"«W\q…LÁq<£Ú©í|HG9õi,Æ…®Xˆ¼g<#òï±ÎòôUn8 û /” uæ™gÊ™DE¡¢õ0€ž1âoìäâãyÐ&egœqF˜C‚DÒ1+ç ¢M€;ÀfFêËŸþjÒH°p®ÐF¤Î˜ƒ(7r;IDà¡1"ùp@Ðç¨`Œ\z|Gt ]ÑOp ÐêD:bl(Ãâ]µÛJW¹é¦›dŸ#³p  ô¤"eùæèCèah3ÊFXh‹}æQ®‰œÑ@$ÏŽþ3ÎR(ùQ†q Ò]ðjì¢NhmáH"ÝÚÁ0k¡ ©EjÌh¨±dtJT—ã>¤‡¡]Ó¨Ž!Æ‘tŒ3Dû¯¿þzÙ.ÌpÀ³Œ¾ÄZ ܼô£qÆÄ8¶ø# ÀÙ0¸³U€§îÎê5 §Ÿó{MtêÓµhñ}®ê‚µúì  Jn,©š<¹¸&‚ ÷Úºä·Ê1 Ÿ4݈àužC¨è¦à]ý €º–H«¨ßæ=–„ÙVçc膵£z¸S ð[½±/@*Òà7×ßWñº1}]Ô¿‰ººuÅûN¢@©ãv;:U9Âëã/, À°, Ð\`pgª“'“ÿ¨ñŽÇ<­’»ÇYcÚ4ȯËE™ºæ'¿„ø"C–˜cÍNŠÏê––žÛ-»U‡Sû;®ÆYá4dë¶[.Ú<¥pó†9ŸLÝRðã2’ߢUvÛX«Þàm康HÀÖX²8 =XiGZLÝâS]æŸëào<ß•¶Ò Ý¡7DÕ…:f„õFé2B&%$fÆÚ쳉ÖUqÔØX€`X€f/ƒ; pиö¹êß¼éýÍnO¸ÔlÔx_èúÔÝGÚRùª©6“9&•,ÖlKL\V²Õ–’œ×騜Ý÷¯q;µ!§lßYã,ÿÌåvþe1Ñ1V«°Ôíßnõ¦?«oº„vŸ„v™Û^Û†n,#â±õ(cI„òÒ‘c8ß$̇•a"üfPF‹.ÙF\2eÑÌŠWV¯Y¹bÊ?®™=›þùþu\ À°, Àü+`pg…úŽÕo¦fÄMMµ™ áå]X‚þòås­&ÅN–Ø a±fXbm”‘Õ±elëþ7ü. œd‹#2‰ iAé~w=Œ«mÑ£DÎUD>ʼ©ãt?‘0²°á]4DÙEDTÜâzD=ì:dãDFÙïÓÃÊ­[œªû+ÈDÖØŽ]ûöú,ƒ³ò†¬ÉÍíøäðá³§N˜°ªv—Rò9€`X€8,`pg‰¿Ï*[•–aû59ÙvB”ßPÙi¤ª¨/ÏòTYÉd¶‘Ù’F6{{²Ù»’ӚȬ‘ExIP-iÁZ Ö–î+"Ò* B)Êg"cMcðŽðè@Þ— Ú©‰ãbÏÎiÒ|n¢ÚmkÉ¥–m‡t±&¶~¾¤²p9Ѫ¥Äư, À°ÍNwàðîlrŽ8Í÷’Ëå=Ún·¥ìíϨ‡™î#-€—ƒü¾"rU,&SŒ¬ñ¹dKêJÖ„6d‰É$K|g²$šI«ÝN×Òý… ;ºˆh@­…2ÏŽ…wXjKè’pdH‘‚"á¼qD½±#Е7Pî'¯×n¤ 7“ì)]-~;ÜY€`X  ÀàÎ*´Õ[Ý ³²Ü¿%$Xÿc±˜÷CO /ÞKZ¯J Ôl%wùÿˆ„•â’ºQRæJÎN1 9$LqT[õQ°,´Í"EF¿…aóFݸx4ÊÒFeÔ¿Ëi3¢ÁP—©2#¡@?´„ÖpMCþ|P¶Ã´ë$ti€`X€hž0¸³‡L€''VWdÞ÷UZZÒÈÄ$sâë ÝG^çRò¹Ö“¿¦ÒrÏ%K\Gб$¿c&Qp§¿ ‘N’."ÏòÜ)ÚŽ0Â0ÂŒ ~ND»×PGè˜!â®A^Õ8 4M¸ÊyH³, À°,@ó€Á8”èKþÞñCŸÞi ãl1#Ì&“hÔâŸw‚b]s‘£ø+ÂDi­Î"‹­›\|êwÎ"=°³~©±R#˜`>⚆ %Eä7¸¡Œ&òå÷¸Œ¨)9&¤‘§ºHó:¼¼¯; À°, À4SÜY€C*À‡3©xøÐÊïSR†šb…5Ô‚ŒÛ¬ï…‰®UKOEÃ"S]¯¡ª¢¯É“B©-O%K|7& ùªfvÔïÝNQ¢ìÔy7¦»P$HSÔ(yX»®bì‘{¶7µ]d´­" qz)[ÜîmmA™“ØX€`X Y ÀàÎrœ•ÕÓÊÊ\7¶l™”'ð[æ¾ëbta'¾EüNªh\V0XM…ŸR0è¡”¬ákÍ'JO&Í»†‚¾­¤ªH×ÜDxIáõ‰ˆ(»N†E¬ Ö n¸×p.ÄÃóç å…åßÞEýâXYd-yÅEe%Þ°_‘åÏ, À°, Ð|`pg¹ ^¨)Ê~®zjzFü-V«°5t‰ˆÚ;ê§ŠŒöÍx[{¿oíÜö!ù\[)1íh²Æg“Õv Å$"-PFºo ý…¤û+)tñj ÒÂpÈp|WQùh ŠÊ úʈ,Ÿ"ûH“!$§ja­£ÐÇCš`X€`š§ î,À!`:QpXµãÕŠòij²[Ø»ˆPŸD§î¨GC7‰Fˆ¦úXó‘³lU—ϣظ–—CÖ¤v”œOÖ„›0ô@éÒüå¤Ê)X[NzÀY·“‹±"½1X‡móÊmo8&Bc¯>*ßÎ#v“‰º—|Ý•š®SÛ±Â[H~Ò, À°ôöþÿµi÷ýÿÿogÒ4iÛnݶÍáŠÈP@UEQTP@@™(LP`àDPuÀ†Âtls޹níÖ¶M’6§´skÒ¶kç¦tõ8 ¤%gŽd×ã`Ürô8ÏP•H¸€Šì›kãOý~×uY.'-™­{%«¡yžPç%bÌ“1¨ÑÁÌÆB=K5™uàϸýíðÔî…äJBàHfÜT‘2ÂHiŒ O¯Z3/äMË `ok±ô¶/|Ïï·Êykÿ¼µÂž#îÙ¼ ×T5>9Ý ý #€@ª wPntB¿Õ¦u44i¥±1«iYá¥'œòÂGù²bÊl;žJ@O%5-:‚¹©7(ÞÍðÖf+$ÉA1 yÒ“] ˜zIm¦>ðø|<×,oeµî-w\`íxž[U·µÜÀÖ#Ÿ=Πkª:ØÝ êq'€@ª wP1®Ü Ž<¿ëíðúœWœÎ…ÔÌ—áÌ2áôDºÕ,+ÎäM‹rf*†¨6…èÌG@pÂåÛwí.¸k¶Ã©øáTöBvçI˜ÉR‰!$Õ/€1b©Â//𹘘_¨ÌÛ¿/¾Eu±ê.¦«íø6žÍ¹È €€ê@ÂT}b,Úå«•NI÷f­,[´+祂ƊD5{â¢k‹/^N.¤4Äß2˜²«²· ²g#<µí™M®Û‡qúì ˜ñwed˜õÊî"gU{U^$¨‰:_M„Š¥s(JÔÔÔP¶@@`ŒqŠou áN* @ |Ý4£¼ôºåó¢(ˆö¶ò‚ÅŠ ´ºÊÂÊÊfUûL…ÎlLVÖÁ×pM›NÁéÚÉ{º>š™àº2ãö?~ñãï&A7y_|j±tnkkS“ÉäCAÎPÊ@@õàœ_Ãrˆ&[sH¸€Špã¢W/FŸ¬köT\¬±”œ.t¼¨&çKyËÿ_WÔ÷¢¿lòð” -6 -6­Û/e^ò$*ÛŒþ(\I_±ñL«œÐ´x0"-Ýß.ŠâUÎùiòj\\@@e0M³OÅ{ê@ÂT€ŸCáÞànß@K‹¯ÎáEØ;elVXÛ'œfÏeûf¥L„'»áo9¯Ï‡Ü€d¤Šv±¬Ð¤L1ý Â@ })_Œ±ô„¢ëú~I’öØÈ `-Ðuý½,ËŸ)zÿî âÜëÂÜþ#ÑÛu~e§èü !*Y³^” Ü¶+­L‹4×Uóöѹà 5ˆé‘ÇpµŸƒCRæÅ{|¶ÀDÕÕ0†dP‘™r/àt:{ô¬Ò @ à áN*ô ôìÒe÷…Ímò±5"n`næ"á㨯¯…CY”:nÆW=ÛS ë‘¹¹¿ôd@F €Tî "t‡zV3îÇâÚ—"9óÂ”Ó c/ÉÛkàÅdòN´ºôÜüìÀBÃL-ŠÐä[øü'!:êáPZaćʺ,Ç ÍÀèD,¼úÎAF €Tî bh‰¹îÙYù«Sw Bö¢°­ãÎ D//ªÌ"Ã-§r,ÕhSâ,…ÈL/"¡Ãð74ÂáÞCÌÄ*fœÑáE2¢ÆCÁ`„R™@¨n¿e”ü"”IDATØûÿß¶êûÿÿ¿=Îyœsαm;vâ¤M›¶…ÒŠ–Ž"`ÚQ*D‘6&Ä BIÛØÄ˜¦‰IL €±¡m¨ƒ i¶•¡m«£1Á:(ÚµkÛ¦M’&¶mÛçœsÎ9é;‰“$I Ej’û‘ÜÈÎñ‰s9SÝÎ#÷s?´ÀI ðúýV÷5™¦’ês†®B°ÆçÍX|¦Oφÿ©oB ?»Çö›`·9µnzßA<}5) ntÁ«îƉ[˜¤Ã÷¬}µJ~ï Ü0m‰€€à$ àN'-ÀÀ_ùIõ­lkl§¢ÈgH›vo14'ò1KÓËb\&Ÿ: ³É6Öü 1[ò‘ïy ™…"ÝÒ®-€gõ~ 'fa`r –]%‹é’3›YFfÌ©O¸mv|™›A`ðè?жè¤RíÕ<|óDP>#O˜Ïs |„5O›!  8I(¸Opß}÷}iªÑ+„X¢(ÊÚŒpiš£ÀBükº#%96Ù%„9çç3ÆbSuŒ±`GåNÆØ§Ó½Ó4÷Lu„ …×6oÞüØ4ÿ ˆ)"±ô»‡Ú̵¶ÜÕ£‹%qL<#>q1ÍŒNpü'á÷¬"Žìؙ݂›¢YwIÍÁ&Èg² ¦X…i‘EOï`ióxô¿,ÀÜ à> €ã8=S¶mïâ‰'þ>ÍÌ,ò°å Ì­%(ç<_º;ÝÒ!CŠ3³Ú Ï©Â:Bs"g‚M 0mþ÷V6ü6Öñ'Š}ï"ß¿¹àÆ Êùn^ªÊ¡¨òðÎbl&?¡q6#ká;üC‡+ý3;¥˜[ƒ‚~  ˜oܧxä‘GúæÛ 8Ý-Ï>¹óÛÆ2ÙìŠækFb_Aµxf¥€;êQ°“k¯ùn}^F¦ã[àJ©ýGÁ9 jFL…n(à\žñpcRØi‡ÙŽ[ÙOc”€€`îPp'€Y°}?ì͇; …‹³9£Ó.“d±8ŒäZ8¶ »ÚÏ3á{6ßmÌ`ÝÁ'úQë+¯yAÌh¼°á/Í›­wcðȇh_”C2»ùÞÿ ?¯ïÁ¶}ðŠM“¡ª2•C–¥èsIÒÄUVŒÇøžëÖ 4Œ €€€æ>w˜-bçK…]Ke·¥3Õ›µX+<Çcö#@74½FîTø¾€Y9ÇÊÃs«aóá=ÌFòôÈÒx"Äñ6nä ¿ÂF:Î4oÖ1ûÐßýZÚonäÐÖy:úÖXÑ÷X€ezàÜ…ªËP\á[aŽñ2*å’kû‚þ*D@@0(¸À¬ؼîÒõƒO·e«ÒY=#DYáP$gÃv |MQ4hFD Ãu,8vvµ"ðêèŒÌ°OØÙ$#dü-›Ä ¶Yx¥Á+ÐÚÞ†TÛr”À1óãFax"áX>\'—}È\Š…øz€×P.æ=Q¥VtÀ| àN³ àÍw ¬[“}=–2oä²Ê¤°Î[ÑEª, µ|»!\p‡ª¥KdẬJOtQk ‚h½‘e$†ä“§ðq׿¯Ê&U9€¾CÛH_Hf»?Z¬ŸD'Mïeõ&•¢1¾D%4²¢@C¥0èÛ¾oÒ0&  ˜ûÜ `V¼òo¹¾¶5.oH¥®ÝÕº+z6*±«ƒðý<5Õh‡çØ°Š‡æB‹·#¹è ¸.PÊ€U9u¥N”C‘yÊIøæL>MçšÉ"|ÿÁW[¼FG‰–E¨•ºáÔ£¿°¡ÚøÆcèEÖâÃ/ 9üù¢˜ðþùË~‹†1ÀÜ àN³`woõ¥dFG3 ëu½UgÛ]«…[™ËàaŸt/œ]?ŒpFžë$)Ï1á˜BVbˆÇãH¦×Fe4V­ϵ໕F9ÍËÐLø¨T?:âOÒ'< .z÷¿‚¶÷@åO/Šz½‹°kèp!~=¨=Àš>Cø—ƒ²S,ä?Ø>Ókf'þÍèE   €Y@ÁfÀý–=ù#åWqCYÃZìŽp¦]QÓQ¸ ¢nFˆJ<áð}6$IŽB{øðÌHÒd5t¦A€zg» Ç,F!£¢øø>6¨‹¥ú z¡ÿ?èß‹¶¶Ä[£š?Ï­Ô³yxêÐ,{ø_‡^“Ƭr¡ûŒ4u   €Y @Áf%À÷¾øÔ…º¨«åÙtZ‡^X:˜¬A’y”~ãðüZTËÎÂ×2AT/îD7l ¿x÷D`B’u$“)ˆd[TKnV`Vz¢z†ñwlαO°ŒZMDMg®7û>|© ¾ÝhG¢e1Êù½@ø{ —È4Â:³ïMÏe®Ãu»V.ì¤àZ€€`^Pp'€Ù ¼òûü Wl”wwóê×3Yí궬Ѯ~š1Æ$‰Cb2˜Ä¡ð|§Ï©Fõðዸ¬À Kgì<8×Àá{soBe‘Êd‘Î.†e–Q)vGïOFòûôsìÑ ú˜Õ¢§ÂC5ÿ){÷`AW'R¹•0«=ðìÒ˜Öô#ažë°JŽcµîÉ*rhhÌ- î0k¶ì‚³åþcÿ°ãÛãµv©—´eb·§ÒúRÃà‹9—5I–à‰Z˜t¡™¨†Ý6Kð É T½gÁ4‹õn-\ƒ¢·Âwm8ÕƒQ÷EK"×¹"jÍX-÷±ÊðÃ’œÀEsøQël¤­ãèed-ß­¡ïÐÛÈän†¦¥‘héB±ï£á÷æÌΚž‡Kx’aZUÛ/VŽŒý ô”€€`nPp'€¹ ~ðTµ¨>öÙùÖ­PW¬Y¿xéÒø•ñ¸þÕ˜Á[9÷aG7cbàj2 À®S‹:ÐD5ò<NâG]hp «)$“â‰åð< Vê‡iæ!¿~c¨Qõ2ãgâ{ÞE¡ÿ2ä´@OtÀ*„çë¥6õt.Q ;ÎH ˜¬ÂqÍ›ÚÅÏìLV"  ˜µÜ `>8?‹£@ÿÑ;ÎÆkg\jt0®ß™Éh7¶e´…Š$\)\Ñõ=ÖذjÇ`ƒAUPlôšmåÃŽëе-™ù¨•E}Øx+Ú:A’V£TèEq`?<§åj1ÉL¼kqhÏ‹ˆ§¾‰T2-¹~¾Ü´.kÜ„©ÞÃÙvÆX•ðRÃËØ3 ò@@@s €‚;Ì+€Í;àb‡y0xëuxdíÊÄYm±«cq~®ªÊçpYŠqÎ`VúêõðJKt„3ëVõ˜$ Ëq(² ϳá¹a?x&ëP¸϶àÚû£rUѱ`ñ ¸® ³Z†c™°­R½¯|ó"¾‹žó §ÂHt ;̸ÅF™Lc¶}(Ã3–iÁ²œc{sXgS m õ@@@³€‚;ÌWñÌŸQ*Û6¢òff#¾,u~{»v©¦ðk4CjQ8“}ϕ”¶‹ä²!ܨ|Xï‡Ý|°ÀƒïyQZ×õ=ðÊðÃö޲Œd2 Ö’…ef`ÛVtq«]+DÄÖgâ=ôx™öUH%[¡Æ;”ªað.1HQ» Ó²Q.Wšº˜"¬ êTZCÇ=ÌB î0ï¶„éx ¥ƒ6à/+RÚOÖœ_×ä»tƒŸ£éÔà¢Õ—‡uðL– „±z.\ׄÖ¾s% íïÂuJÑ d®‚K |·¿fFm)“‰4’éNx^ÌJØ#þ<×ByðSôÚØi«`¤–­õÀ÷ëwS ïûÐsf©‚|Ñ.6í»ÉfÞ'ú͸ÌB î@M[·¢Øûûà÷¾†¿-=Å8EáÚM™”r¡ª²åœûYIb’$Ið¹Í‚+J2ºX5ìýîy$I穨„ÆsÌ(”‡¡>ìDù ×@ ªš@"©"žZϨû1ØóÚ,GK6¬u_«¸Œ‰áúöð¦Rá Y+8»÷Âà.a|Mûd3êÍ´Óp'  €Ù @Á`bïÑçq 0Ãǻ݆¬šk¹%™o2âèRU¹Ó÷<) îŽmA’eèz ªªÁµ 0­ $E…¢&¡(2|§ Û-AKnÔ4ÍhÜ͵7 +r BV2a(G2Õ=Ñ·v¬á÷°¤$0k=ûzŠÕZ#¸‹ fÕ›Kh‚ƃ   €Y @Á`ß}ƒ@áñ °yu‡ºtå2ãB]á—« »œ+RJQÔü4ãî7»C;”€€`nPp'ø‚îý Ê@ñþtÕEÈ]}^æÜx"¸RQ¤ë4•µªŠ¤V¶]ea¼®éõÖ »Ú‹c=!‘N %›ƒ'“ X–U=Ø[(7B;k„õZc¶   €9 @Áà‹ð_ÚŽž—¶ç·ÞµÛV.×~–Hh—Ë¿×0X§¦JL–]T=7êý.ÉáMž¤èfNå}è?ÚŽXb5”Ø’(¸ÛNqp°·Xm÷ðÊÖ2µ{¤aL@£þÏÞÿ?ÇxþÿÿÿmÏÍîf“Ý„$’B"‚’@ŒÐQ„„V¡¢:jZ¦ihª¥h¥ ´SUФ*´LH¤$Eˆ"I!±É&›ÝÝÎyÒ j4voÇÌ9Lv÷Ü9/çqžsÛcîÇqòÿ°JwàÙX&@”ÊN7óÀo Ó¶T«åáNB[;;™¯\!¸Æ2ˆå4ååå€LÀß¹'á\Õ µ½`1[ /¾rýÚµ›×oöbž@€ l€Áx>¦£y(;óæ~ûÇöA—Ꚉ:µaJ¥¬¥Rš‚Ül'È€âÂ\\ÊFµêu /Ö•ædg¥3´³ë€ l €Áx¾^€nɸøÉÝÍ¡±‹»]ƒZÞY¡zšÌ:EAn.ž­‰+Ï.ûëxÊÌ”¸ÊG€ €m0¸€/À­UiJH†U!þšÆj…¢]áͼz7t;’6ïÈümù:†vvZ€ €-0¸€/&€)a ¶èöØsëOùÆF€ À3`p'ÀãìÚeµÚßA\<”ÊrAè]C.G3¸ÙÙA#—CɨüòÈ´¸ó„›L¸`0 =¡×.=ª” çËËWë-–K8s& &ž`€ ž>ƒ; `ãFxz.õP*{öpvÖz«T‚Jdb‡’1¨[U¯r”Ëá§V‹›Òl±Àd± (³XœÒë[¼½ ®¥¤ì5ÃѾ½ž—@€O€Á•HLTÁÕuBcµºkCµ:¸‘Z ;;ލÛPϵ¸)´ÔhìZ8:VÏ//Ì*+™¹ÿhIÉïÈÉ™ˆ/-€ ž,ƒ;þ 9ÙU#ýÝUªÅ=œœà£VS·êåe2x(•â&„hµ²ôúەʘóFL¦½ ââó @}¤°9w.Ju:dnÝŠM“'cTBê¶lÉKáx©TxE¥ê›ÁàξG€¨ƒ»-Èå}ÝÜœí¬¼DæÆåˈëÕ GF·±c+n :w†L”ôŸàn6›qdÝ:ü“ƒ2uZµB³^½ Èå0È>pgSSQ®×ÃÑÕ­Ãá­V 奥8²a®?“Á€ê¡U¿~Ò>RV¯F^Vd2<üüà…½½ôú±­[q9#úÂBxøúÂ?" •ʪoeÞööM2¶msF·n…¼g€ ð`wp\ÚÛ[ýbí7óó¥0úöÛwªR)¾KAÝdªèb½û±ÄD$DG#rÞ<è¯_ÇÏcÆÀÑÍ Ú·Ç…#Gðmd$úL ßÐPü:~<®ž;‡~Ó§cÓ”)8±s'úù%Äï] u•*Ò„í_}… ¢Wl,ŒeeX÷ÑGÐH?&Χ§cyTÞX¸PzÿúØX\ÉÊBŸÏ?—B¾µ¶ú*'§Í@¬ _Šw.~zçDFbàܹÒR’Âé}û°ý›o°uæLŒ\½57–>ÛnÈxøøTôºîcÇÂ^«•jçcöì‘êß›:»-B«þýñz\œU—ʈeIl @T€Á݆ @º€ÜÊ ªÕ«gOO쌋CßÛáûßÉ¢? •Fƒ7-ªè biËK—6~<\êÖ•þ–¾qcE¨/ÈΖ&¤ŠKGŠÁºq×®XýþûÒhû…?ÿ„»TûÞ $ñ|€µ&`ÂþýRíº8iU¬w—¾¿¼EW®ÀN¥’>W¥F iRêˆåË‘8}ºô½*+~šm)ƒ» ßxä ð° î6 p²¤$Wo2AagÝÝ@í쌰?Ææ©S‘wú4šõì)âË—Ká}̆ w¿8úíR§²öíƒGÆØ1¾üs33q|Û6i”>>:áÓ§CS­š´RL“îÝ¥µàwÌ›'­:4t¨ôï™”!èw7ë>ùeÅŨV¿¾´_×Zµ0xñbdlÝŠ¬={ÐñÝw!—˥ω%9J+_ªó¼Á`†Á0Ɔ/C9@ Ò î¶ “:¢×BµZ¥µ+FF¢I·n8²q#¬\ Cq±TW2b„4iU Ý>ÁÁк»K“A£V®”È´sþ|„EG£^›6Ò2âê1ÁQQR ü® “œ,ý(hݯŸ´JÍ[Ë–!5>Ûoø~3fÀ7$DÒ 5 ž~~Ø2k`2¡[t4üBC¥R˜11¨ß¶­ô}¹ÇãµÏ>CóÞ½­ºLF49WV&CPÐ6|òÈ @€•`p·e€€€¿6§¥míàà«‘[{Á ¤§¥&m÷6qhXLL…XžÒ±µ¾½»ØêJÛ½MÜOàÀÒvoC¸8‰UÜî÷ZÃÐPˆ›­4³Å‚Ã:Ý*ØÈ\ ›9±Ÿ‰ŒÆE@ ÂŒŒ±«ÁáU(<>Œ±d"ºR]]=h6›Ÿ„²¶îø•õéýÀ@šH4u99*Øt¿(Òý…÷¤ßœ †  ÒDQ<ËChÂà®ÕjmÎÌÌ „ªÈîø `2}ý0<œû@[Ïët:­BÁÀ€Í˜óû©Ý霙t» Éd…*"€1v…Â@&“i222Ñ—PÕÁdg~J«óùš/%%•¦)•$cÈïX€ IÁYíÔl³ 9ÇÇó¨¼\€%ë@pÀßF㢿§çÔ3¢‹úèè¦ ½žb±ï²F¯ Ðs»}ytié Ïq½íh!ÀÆÜðo€‚ÞKôx²¯¯«>¸‘¡Vß̧Z«¸yžú=zëõ6º»CYYc0`ãHaX ?ÚETõº»ûv¯VÛU¢Õî?ªRÅ'Êå29¶Ð {VxQ$‡ Ð;Žst:#ävŸ¦âb€Ø<wü@QѼH”Þ98x`Øí.‰•Ë©ÕRŽZ-S`MÄvQ0°[9.x˜Ç•Ï÷’Ñ8ƒÛ €Í@pÀÚrr¦\D]55Mmee¥Ng~ºRY”u$5&†öÅÄP,cÁ™¦ CÏÓ<ÏK>Ÿdçù Çu‘ t“ÁÐM[tj Rܰ>€àÉ`fs‡¨ãMðKKtWJÊ "jÐÈd¼Q£ÑîŠJNT(X¬L&)cQÁ@ODò•_¬í< éçÌuI"Q’hIi‘çßg¿ÛÍyE1¸ý¥Ž8îeð;Ô¡h¾gÐNÝ“8;5æ>yí£Ú"àKm¤¹`IDAT{ÿÿßsýÿÿÿçÛ}»oÛ¶m¶ ¢(„¢”ªJE …ˆª”RU-)E U’JÏÊ!ðP‘T¥B`˜Í¶mÛ¶û¶ûý~¿ßï·çá|Ý®÷Ýî÷ݧ™Au½7÷ûýv»^¯·ëõ|½9ì|¹ÜÎ×Ë5Ê5@ÿþvKxÌŸ°¼Q£˜LÍ`2™¢ÝîÈÚfs° èáÒ´:6·ûnMÓðgݼæ3 AÀ&S¦Õé\gò3Ž<˜ÍÅ()ICçÎYÐ4·š7À™`ÅâÑã.½zàƒš+­ñÓS÷uÜy,åÐÞe»¶o\¼k}ÆžßÁ¦fB Pü×PÄ]Póôïï]v ¿ì°´ îA v€@Póû!àâö7 r5ꦦõ›´jS¿i«âŽW\gy)+uFOHÛà²Û~ËÎL9ºwó†ÅE[²Ög$ý gUý )ñ†øÄºKë5l¾ÏüÍñ”ä”Ô½Û?01ï(å * €sEÜ €@pN×g°ÙåÌl£»Í¥'ÜèeïŠLˆ@|ƒk ÆtÐßîTtîy'’÷lÁK6aîM)ËÜ.×l«){cH¡)·(-§dÄ,8ŒSüÎ3aí›´¸ji·„Þ\CþØ6z²3L]ßekqÚÑCo~yäß[’À®€@p. ˆ»@ P(Î)Že¯Khv#k™¶Ë(ðÒW1tW:Ü{iÁâqÞù½Ñð‚[ávõ)):ܧĒЂ¼ÌÌ”ƒ{Ž~Üxg¾Ýj]«9Ý ‹‹óÆÔj´ðò®·A·mƒ.cfÑNLLcÄvnÖÎò’Íšõ’½$ÍÚ¥[ïÝýÝ•{ôÈÁŸmßøéȉÙi*"¯þÃ(g EÜ €@pN ™Ì=CB‚¡»­e\]¯HÞ=¦—ý«Ãe/œé1' ,± êÔuÅ5meƒnGFê¾î™iûÆçdCóÖ}˜]Ú,\¥‡nÜ€+Cy3B`ލ¢iÁ—´hÝ-Úw·÷ ˜xÓ}ép8Üñó'=ú}üzt À™@w€@ Pœ2˦Ÿl ŽnÛ4ý× ¬IIUÓšû³è:MžÕÜ…Ð¥Ô¼Râ^~NwÛ×1±äZ×ípÛx]¯w!êÔí ]wŽd@„V¶:[×ÙU' ÛÊÈ<Í8ŠÊ"ò¥K¹4 qu` iÓ/:¶n¿÷_œŸ02É’áê¤@ ¨yqW( À)U?ê@ƒ&-껜f m9fÛÐ;ÌGKJlÛÒŽìÿiÆÜí»ÿïXúxkÍýÙô1nѪc·Ë‚Š]/£Ðå¿K•4èÎ@s¦hpCwA–ÔÛ]Ýq´<•’蚬/ûP¦‚q”+'íâ`ý\EyЇ¦(ç5û­.À´ äf¥ghÐÿÏRX°åè¡­ëç,]`Á¡UñXb£VÍ4L„îÎ-£Í>$ÝøMÀ•[&±‰‚Æè¹«°œoëŒÛëðoåñt£ìF|Ó „Ý@Þ5ñiAvZ ¤à,›Ûí¤­eË–•v$-- §…¸¿òÊ+xê©§@‚»zõj<ûì³^ˆìÚµ Mš4ÄýÕW_Żヒèèè3†Ú’%K0tèÐJ‰{aa!RRR*à—ŸŸ‡zW_}5.ºè"A\ëׯɓ'cæÌ™çq·Z­à8éPT‡¸Ïš5 íÛ·ÇwÞéyšu]Ç„ ļrÌÊÎqW( À)pxwÆŒÚqQƒÂ‚Jÿð»Kà´–ÀbM…%{` ChdËøÐèOÄÕ EËK®@ëöÝñàmÞÞ¹é÷ÉcÞ(NĽE‡ŽpC¹8F‡A¿RA—žºtFɵ0èntOÿu¼­ÌÐŒä¼4’ª‘¹{/ý®ë´Àh°á”îº×Ø "Ï9NOdZž“F¢"¾;Ì™3“&Mò ŽçX—õx\xá…â0¶A"MòYY$Õ÷¼¬ËÈ}PP§íë$%%aúôé ó””ýó#Dzm£ùbä“ÊúñôÓOWhCÞ‡¶oß>üðÃy_–%qg¤}ذaž¦9â¹àà`¯º¾}1ŽÇßXxÞß|sŽX—Ÿ6› žaŸ ¾ ?~|…öe:wÄÜ·ŸÆ{æææzAÈ:tjž|òIO»ì?å³å;ãd¿y_sVÙ|Ÿè™R—TÄ]= €@P ŸTðç²æ_5jRûVÍ¡s£$Jò7!Ï sP„D6D‡®÷>zi÷AÞõPFnk3ÓSK¥uíºw4¼ì»î¶—ÉZÍ!$30j_ ÝнNheœ\3„×ËŽ²=ÆÕ×Ë {é˜JÝeGÝF—âöç­¾là¶[6|õäÇ6ç샔ššŠ7ß|SD 1b„ˆNϘ1C"’K’ô±cÇâèÑ£X¸p!4h€ììl°.£ÝÓ¦Mñcǰ|ùrôêÕ ãÆ$”’Ž .¸ ÀüC‡¡{÷îxä‘GУG˜ÍflܸQü®[·.žþy\zé¥"b{üøqqÞU&ÁýøãE›ëÖ­ÃðáÃE”öDöóÏ? ÂùÅ_àÞ{ïß?ûì3qoFâŸxâ ŦÓAG„QqÞ›rÊo¤Q‚Ãè/#ß$$ÐŒò'''‹ºqqq¢ IúŸþ‰¥K— LŒ—_~o½õ–+ûM)ñ"¶>ø (ËvV®\‰nݺyœ“¹sç i 1—N ñ‘¶víZ,Z´çŸ>²²²Ð¡CôîÝ[`Äßœƒõë× ÇE’cÚûï¿/æ†Dzäȑؿ¿è[||¼˜Ó iç•ãlݺµÀ„8]{íµ=z4!¯]»¶è³ÅbÁå—_.æƒ8ÏŸ?_8#žÏn£FÄœ}úé§â¹oçsÉçšÎÖý÷ßïyâÛõ³"Џ+ € FØ“›¶¶Ö±Èü†ýü?9¬)â(à2O-æ D×½ Ññ·Â CÓ\(ÉüP¤z,%ìZùâQM¦t”ry¾Lö`8_NâýDÚKÃê•—×}È¿;n[lÎtœÑ€æF†·Š6Ÿp †kŒ¤“Ô‘Ä’ ÝvÛm¥»ÆÎŸ6mÚxH3#ÜÛ¶mC§NÄwFoIªI.¥üA #ø$ƒRBÒåk2ºJÒÉ(8ë]|ñÅ3f ÂÃÃEôÝ%fY’užçbEÞ¿gÏžUª§IbéÐq ¡d?IÕ¦ÃAGÂhĈN‰2ûJ²N§†Ä”äœXÝu×]¢I?1a„Ù×H4y?$ûŒpWwÑ* ñ_ý)+aHÈxà…æ=¨‘7:²;ì¯S[Ï(öÃ?,ÆÎv8~FÚ9)¡cG’[U»ûî»=k8ÿC† ”ã\ýõ¢Ÿòã}2&·Ø´i“(/õótJ¸žx’˜û#íì?q “9~Ò¤3)×:pÜʪ€"î €@ ¨˜òãÓnŠ‹XZ¦u?iÓ]pØR‘•ü²„ ÐFˆo6 aq÷Ú>º+åye4ÃQþ[+‹¶Ã'¢î!å¼Îk0FÝMž¶ôJÚñŠÌ»s‘Ÿ½ fѱ*‰ I2%´œœ¡©¦ôbÍš5½2£“$[¢g†¸¿ûP†B"Ê(?‹ Å}¥L$d$YŒ@oݺUD|ù¥¤B:Œž’”²/ß~û­]Ô„‘À3ÚÊȼtB|XrÜŒJs¡$#Ñ|Û@%t<äbR^—có'×’ä—¸’“8Òi¨Žqž(×1:ì?É,/F´éDQöb|{ !cÿHxéx°œñíÇB’-5à»wïå}çŸúzõêU˜YŽNI9±•˜ò¾Ý‘¤™÷:‘ñÍeOÒ8÷¨ÊžÉÏ?ÿ\¼]¡CÅ7”I«.æ'êãé’"î €@ ¨1†&þ¾ržmKH¨¹­VÍ? Ó°@æ¡ÙhØö „&ŽFÉñ÷à‘÷²6¥Ý@ÆuIĽȻ¬Qñ|yyÍ£q‡Ç 0Hd ‡tHà s÷`{Ž5ýdÆFÂC™Ë7ß|#ˆ£äýû÷ÇUW]%¤$ïŒz“Ä1ÚÌè²?#ù§Ì…Ñ[F5IdÅ]¶l™ m”FPG,% Œôú¥”êðþ’ìË‘ô±.‰1£ÿÔdS–rÍ5×øë’çÛ ™%‰åÛÆh: ôªU«¤cÔ¨QBf"÷£l…² jÁÙ?Ú[n¹_~ù¥À‡Džo üOÞ–o8ˆ+ñ&nÔw7ö²íªeì× Ð‘a4™šyJt† &'¶¢h6ûÀv8GïW_}%>éóï¿ÿ^Ì#Þ#‰2çÑ~¾-¡žŸr¤ÊŒÚJp§ƒDl‰!ÓFr¼$ÔÄ+33Í›7¯´:'œ{’w¶ÉgÀw „o]ö“ò*jÝùf‚N)×YÐx¿Êž‡J;¡Î{PÄ] P(5 ÀÑCYsêÔ‰˜j„U×tc¶Å*™¤Í6Ë.dø ÍF $þ^”d| Ý‘cÊFÍ(eñ+‡A¹¦ì¼&ɸfÔ¯kž²'@×<´(—áˆ6‚‘—µ'£o—ç‚’f.ö“rjšIæ(…áwFc)o0¦,$ù"QgTœ IÖo½õVAhIÔ¨+¿á†Ib’H’)E}%Q&‰e»$ž?ýô“¸F}=I¥4’;’¾Å‹‹h-¯“4Z,±`“Ä›e8£‘´3$¶Ïœ’X“$³?,Ãè>5Ô$Õ$½ÄÁh—\r‰ˆ’¯X±B|¾þúëâžÄÄŸX1úÍz$‹FÒO‰‘$Ïì+É/uè\|É1Û;î¸Càd$îÄVއ¤—o’q¶ÍïÔÀÓ™Z¼x±¸o×®]ö\ÈI‚K‡‹óAâl4Ê”ŒÑuʘGuè s¨oç|ð^”ožç<Ða`;ÔÕs­ïËy¥3Èy–sÇþN™2EÔ%I§c!ûO <;bxß}÷‰gÍ׸BÎç‘o;èDQª$å1”Xù3ö™ØðI>ëñ¾M›6õÔåÜs~þîM’ßü‡Ï)â®P( €`ßÁôYñõb^¨[/ª|Už_Òî½Í‘—i0äkrÒ¾ËUŒ„¦C–ð\Ö­pÙŽÀe; ·=¥¬¬¤"äž»ø,<Õ+”-•Êh’ðû,jõ'ÏÑL&”XÒ×¢FÂB©ƒoV /’>£‘qA¥”;0K‹4cÔ•Ù;¤QJB=²Ñ(y‘F¢(äÓ—0ë1ÒJA¸J2,Y_|‘a4’Zi$ñÒH¬¹`’‡?ãxYÞXGJjH`ýbäØ=&¡—ÆòŒô£½$¦RŠd4ö™o Œcåwfu‘Æ9¡>Ý·žqn¼.ôû¼¿L×i´ˆˆÏ3À·Òè„ST&&&Šó2í¥ñ-ˆt6HÎyŽÔÂËù11gt^Û¡sÂÃh\XêÏè°PZ%MjýÎ]ll¬§ßʪ€"î €@ ¨Q’f¡øíŠG9ásM&“µ±4Ýð¯ƒ×}O8—öÈBß Ññ×#8¬‚#0¡Žâpï…î̇î¦îÙyB )›1FåµRâî)ûJmL¦åþ eç4$¼\XûO4F¦kÜzoeÿbqW( @}4ç—„ø¨ÜˆˆZzUðÕ$.7 Þ5EH݆üãߋà “9‘µ;£V½šÐ°o‡îÎÓžGñ~èŽ,¯6aÔ辤\\sû—ΔId|¥6n-!¡aUÎ&£Êüewù§uîr‚2€"î €@ ¨q†½Z”>wJîÜ ZÆ6™ŒÙ`šáC÷н£â/x˜Êzng1à,FNÊbq˜ƒãÛáQÍ}Ân‚îÊ…Ëž—- n{2ÜöÃå­ûÜ@—;§ú,^õhá+,j /®ÌÁÉPvNðOÖQ+ ¸ú¿e@w€@ Pœö,M},±n䘘ÐpIaäîº×àÜó®´œÎW Ü¥f+9[ÉwÈK].~›CQ»A_DÅw9êršÃà(Ù [æû€^‚ŠV¾© ROÖ”KfÄ7SÜnŠ-–³¦ÁàbMj ¹€RnÞDm{u@¨÷—½:M2Ý ÓR‹n\ðZc.`娔)Џ«G@ P(N#I¿ÂùÍ=¶Ï££CFxx¯éÖüà_^ÀxU?áLù¶SZÚ^’†ãûßÃñý3\ [O@DìeÐcŽÁž;¯ s¯WŒýëåä]3BÓL…Ùé™góAbÎlæË–é O–¸s£’~n¦Ãüæü¬IâÎL(̚Ì"'c̶ÃÌ7rsª³iÌž¾Yb”)Î4*â®P( €ÓÀ±cùïDG…Œ ÷·!“~‚»”—kðåξ櫅76¨‹KnØKÒqdkZ^=æ°æpÄ MõL/ÛÌp¹]Öìô=ÕlHl„ÆŒH3à e›7o䙹¯¹ ’›ý0Cóg³Sò·ÜU3w<=xð ²³³Ñ¶m[‘2)™Î199Ydá=¸Ó ’ôsù!’Üi“}aúB™ „›ï°Œžs³&¶í/W9ÓWrÃ#¦­4Ûd^rfC¡n›ã9êåfCÌTã/;ó­s£*¦4äuæ3gªH¹û)ûCbÍÜìĆ)2±gßÙo¦häÛ™“¹Ì™Š±C‡âÞt^8^¶OìX—™c8G̱ηL±iÜ­Ö04õMpFPÄ] P(§ €‘I¹Û¿|;ì»&czWÜÍR«ÈÉEô¿'÷^´];¡8¶â¤îûõ›^sDSØó7œÒÌsqlfzŠ(¬–T†—©S§â²Ë.Ã'Ÿ|"v:íÙ³§ØLˆÄ–ÑsoI¦Œœ3gŽÈCN‚ÉüØLÉhLÇGI ‰8É%wQeþnbNúÒK/ ’:sæLAŒ?üðCgd9¶IâIl™œ9»¹áSrC(\:Üá“e¹ió§çææŠò .ô}âÀ¨=wb•yâÙ.}cJHæþæ9’ÿ±cÇ ÂÍÜót,HâÙÞo¼á”Ns3…!æ8g.wnTE,˜¢X½÷Þ{b¦I“& „™XöîÝ+6j¢C@Ì €ë®»NìäIYw6e{ãÇmsŒÄ‡:Æ N ÇÏùb¾sEÜ¡ì, ˆ»@ P(N+Ö‚’'ލnfs@¨7Ô†í‡tWàððCá5C?Qyß62}‰¸ú]a®;¢Bî”zò¦™BqÄ‘ X«SŸÄu„ "JL²È wzõê%"Â$ÆÌ£m±XÄÿÒHÜI&I¦_yå¿weÄ™äšäÑñíÛ· "JbJ¢ÍüÙܚɒ%"6Éëµ×^ë•ÿœ›ítêÔ ?þ¸¨ËMŠH|iŒÚOŸ>]ò!C†ˆóƺtè$üÜ ˆäyÝù©Lp6PÄ] P(§[JÎÞ̸ˆÝ‰ í¼ Ö ÄÚCºË©¶îw^¼™½¦W6yš…»ÙÇ7¡ÞyMݶSˆºk!ÈÊHÕ“’ªÇþI¨ûí7]§ü…’W”hð“qã®–Ô‰ó£Ý”±Ð( bDœnÞ—çI¦¹Ý?%Arì$ót\Ö­['~óûÂ:RëOrM ±[¹r¥p€f̘Q–H;á6úÜŒ‰eF%$5ìû: r§Ri²ÊgEÜ €À€   ^µjÕ ÍÉÉéªÀ©HDnžkhDDÀ}•aªþõ¢Hšî't^Ѽ¹½V¾ß’§né]wàÈÎqqçU„’¬_«%™±YÝ(,ÈXj‰%£Ñ”•8RŸÎè.AÒHªIj)Õ0fcY³f ìü¤ÄÅŸ‘¤SÎl.$»Œ´Ïž=[hË¿ýö[¡uç}é4s)z’,K»è¢‹„Ô†r’p[¹˜õA'Nœ(œ öŸ÷7nœG£Ï¨:5å´;vˆ>’<“ÄS@6hÐ@tjü9.ujÜi}úô[ë3²ÎkU1¾ÅhÓ¦ÐÄÓ‰!&}ûö‹T}Ž ï͹ Ž”);”EqW( ?ðsRRÒ*NÍðþ³¡b¢ò «nÔÌY¸i×à?üî)¦~UBø ³7#/' 1Q‰0‡5†£øàINu ¬VÒŽí©Î3Â(:É'‰1£ã$´”ÎPBã"JÊ]ââ℆[ŒRcÎ…©r7Pêãf;òó£> >™A†’¶Ã…¡t ˜%† 8E§,…¤—šr–¥ÆžçHPÙ¥5$â#FŒÑvFó™É…Æ1p1­oŠDêÝ©=gÄüá‡ÆÒ¥K…ä‡}˜À hE‡NǣÔ‰¾F‚ê/²þo0¹¹ÓÉuê<”)þK(â®P( €3S'N~âà=qñái¡áá&S ŽÍ KÁnšÓ°\®d¥¬Óa)£âšY÷œÕ*Ì¢çŒçKù"WÙDQÞ~¤Z‹úB»5”J;ln¸œ6k@@  !!$òfOºF“9öâ¬tõè( €3 €"î €@ 8£<9Ë/.^Õ_wip¸r`‰„) vK*v+"£"Ò:ÂP½¶’l”§vÔüÌXÅV=Rw½² .-vàkÔo:!a«á°æÃ™ƒØm.8nšM D(L(,ÈÍWÎ9 Àÿ³÷ÿÏmTçÿÿÿ8»»ZI’$˶mÛN‡Ä‰“$ $I$@ axRZ€––N P ´S m&hém ¦-¶mhÛ€Ò¤)¤!¦q’Ø$¶cÛ¶mY’$IÒjwÏsV–-ɶC‰MÌufd¯Îî®V÷³Ò>Υǹ˜H¸@s==ÑßÅ.³Xœà<ÙâLϦ©&ƒéŒ"‚è@2Ü–Ž~{¼eH9K‘ŒöÂ0ÔâëÈëÂ|ўݷeÄ¿¾®v”ÍG$Øœ^?YÏ Xeý 0Óž3ÃÜB@owG T c€„; €€1ð•[;_Üð˜ÜtÜ4£š f®ì"è‘vèj’£Ô̦”†¬(àF2=pT±;PTy2q½­Ûaèñü–ðÓ Šõ¬jÏú#àë6­Áiÿ÷ \ÞjDýÍ™ 3ýÇL/gì:ýÓó. ·§m ]:€€±@Â@À¸‡ýËZ[…­%¥Îã }/Lo±¥£ÙZ*Ébç2RÉ(Ù nȈö5ÀÐbð—@²xJ1„ýÍéhyg,' /JHª*zzÛ›@…0†H¸@×Üé"3žZë]SVé¾Âå².V¬ §, “ [ ¡%#H¥b•¤a¤T?d‹=­·cÁ&H K+ÀÄÙÚˆú‘J†GI/˜‘ߣa¥¥°:Š &|ì2âÝîÁ>,Z¸›.@ÀX áN `<ð5ëüOrøŸzò>¸-¼èJ·Óþ³Š*t½»"&ÁAÓÖSIË‚©Dj2 &ˆ¸xp7˜GIydÛrôv4 ìoJ+ó¼8;š•&»öÀÞ¿ ¤êV”UGѶçùþ5, ªùT’=èkíB×V„éÒ!€Œ%î€@Æ@zéí¾Ÿñ‹¾'¾0Û{vY…k•$ ·ºÜ)¦¥â,®t€\SÃé\ïæì¥†Î û ë*d‹j, 5ö>¬ à®®…nȈGbú÷ƒZ^„C¦hòµoAWënTT:`wW!iôµg£ï¦m'Ø×зn4P!€Œ!î€@>S6l€¾þ—‘~àögî-ú~U¥ûzIV§ˆ¢À̹(9 Š6$b=i‹b-€¡H¨AH²«Ý‹D¸ œ'`·yPP¼±hA_K:RohÉœVÏFÝ÷Õ=‹Â’Ûà,š‰d¬cP´3ƒ^wIv!–ˆýyHöÉÑÆ½R!€1$Ü ÀDÀ.8ÓQê-­(6 ftèð½öv$@¥V'à˜À¯¹Ëwÿýß÷ý|’×3Óm¿(ôZ–Øl¨Épz +ãæ­LF"Þ ketMC2‚([a’‘¤âÝ(,òÂbŸdR@wk45–§·C¾zø} ””VÂæ®B2Ò–qËô[fÒ3¨ vhIcÇ×Ð(îy*€€#€„;˜Ö®­¶®>ùŠÛ¦Õžt¾ˆP-Ô¸lH%â ­ÍM¾®žÖ·Ûë?èèël]÷XÚ§J7Y@>Ãn{ÀüœwÁ¥Þí™^T \¬XÄ/+ЏX±¨©1ˆ¢’dƒ¦&û93³ÒH&¢0ô$ÙMMAOíçÊ++Á™ É„ŠH¨qs¬,gصõGp};œ…µHÅ;ÁLŸ¼©×3ƒT!Ø`¬-Ýkù»ƒ“ˆ§ G w0!”Y§Í­™wön·µ˜¡`V@–p=¸Ä[ÚƒÚTïåê)Á>_wGßò“÷·û{»ßŒÄüïY }ÿ?7ïîkÛuSRŒO(ê…Ýì^j·zn±ÚŸ"Z^ÄÔ‡-]=}ÿ}!¹qðØT8L7ÝüÀOÍÇ#w+5»k}Ç2K’â“!žŽŠ›v›ÝöÃ놋ÕƬHĺ!ˆVÈŠ0âHD[!Yl(-/E“òz·[:ÁªH%ãéÔæL¬ 2ÔDɤY15¢a?td Üô¼«½(-/„¤Ô€kGfÀSºÁöfŽxÓ*#šÖ=îó†DÜYÎ2'Ï;]Í€ $Ü À„°ÊÊ‹0•Áåá:›'À:óŠlno¹Í]8Õµ)h©èšH }MÈß„'÷†£‘ÐŽh¨¯¾·³ãÀþ}ííº¦}OÆZ-ûášYâ¡[ì'L©]ðТ—Wూ ’`³¸<“]Õ3W–œ×ÆB]7‡‚íê¹ùw«‰Ä;±h°¡q_Ǿîý´v´·þôYDéÒ$àÐÜq_Ð`€EsËMw»§ÚÜÒ)I=Aç•ÑhÜk±Hdj2 -åƒbu‚±bᒉłX¸b<9Ö‰nAÅ䚥°{g#Ú•¶Ë˜ƒbcñX`Ó¦ÝÁÌ=4W¤óLç^§¶#€ $Ü ÀÄpìU¥%Œà\ÍÜVós9óœÁh@,g Eœ™bÞ··îÂZ0è®TªoU2Ö»*÷cy$ðu¶5öö´6õÍîi];?´)µ.™Œ4)NAõVTÞ6sþi'¸qÀè7L‡¬0 ³˜I©a·»`w-´€É -µ@Uý¨žé %“‘=ïÞs/ênØÛÜWÇ“¡ºÚ½/¼Ýß±#-È^CÀǨÔoÞj`>°v-n®ð»WÛòCNgªJáE!-Ö-V'ìö"$c݈¥ØEàZÑP/’ê[m“0eÚqЭàz¢ìD ³'ñþ®x*ý…‘/Ú$Úéò$ŸoÉd’M$Ü À„`UÜåî‚’rfºOÌ™V8FëYæÙ;±ùÇÐ:!À€ÍV§g¦©»­•ÓÂóô”ž®ÅÑ×ÛžòuˆôvˆFƒA½lÊâŠ)ÕS!¡‹«p œÇ3¸0]LwH°J ¬Þn&(KKÊÕ¥Õµª~¢Ábš&C~_üÂK;zÚÛv®÷5½õòÕw¶ù&\£Ñû!GÀºuæ0ôÒÚµx¥4è>Îád«QºÏå‹t=„D< Q”`³+ÐSqD£aˆ'Dèn~…ÅÃV°‰¾­`‚}=ûSû?Jw¢„»–‰ô†Í9”1v56 €¢(-GóÍ‘p'ãàÚÅŸÜqH~ñÃ.Åe3çÊ «Â pϾÄlj÷lTžƒs ÐüdÎB„¡j`L€;Ó+¯0T:ªåªê„0¼©d †!BLîH‹õ¬->wœ«Î~M7ˆj fFÈ`‚C»KR—­rʧ,š>oéUËw¾öæCÉ;.úκ@à“°¡]Àç@FÀ7h|âZü:ZæZætX®”$v©¢è%š–‚(ˆ°Ù Áx*=ÉS"ºmûê0sÁ’ô„OLTÐÑÖâ ÷ûÛ¥Œ` VÃ0þ*Šâo<@&s~¿ ‰£ù®H¸€1píYðœÅÂÕ•“g×\Lt¿[×¹³£©cß«;š{w!!_Qu\­,j%Ðff73Ê5ØÊlðð#Gßù€‘†àF0úõ1cv€ÉW3ý€DŽiÅ´×(€`hfÂX)¦­1ý‘|#G¼g£ðÙbÎ+cŽ~Ó=è,s6æ±Sf`ò´ÚE^gÉ ðÒ! ’¥«›€Q\÷¤Ù³¿À||kýÝ®ó ¼–õVŘ”Jõõg‘8\%èj}ÞâR•ÎIGÜëw5lËDÛMŸ{òP!K’ôo]×_áxeÔ8€LæwÁ^Aî>Úoˆ„;SóOž|ÉäI®§œ],³WðYóSz®jo ôtìÿWóG{ûü?Ú»aÃ'Ÿ$©bÒäb‹E´pžÄ ße0ÅC¾pg£ wÝæþ~»ª™JR°¦¿p>d†s>àf­Œç2¯ã0ÒçÙLql°É,Çs74M¯|HÉE‡ahFœ.[@Ž(~ý=áºoº=že‚Eü¡Ý*¬°Z9BN‚ˆýÅç¥m4Ú"[t®Ÿ1óË«9ç%š¦ÕbøÌ«T8öpMÓZl6[óXœ9 w0¦b‰˜z\KFZÅT¼‡Eƒ-²â)p» xQñ¢¹3ç.¾bñJ_ßÍ_ nÕÑW#)ÿîW_mï}c[c°¾þļÅ* U¢`F³“ÈOø[ø°¿°Ò˜#”™`µPiúþlh–ô-Ï|Ã1âKåF÷yîYôGàóªÐŸ+Èv+Ò?¤—£ù;T"z¤ü÷FOø$¾ó0@ð5¯=~—uªM±}ÓagËD‘ŸÑÓö!Ú›g¢¹q׃ëÿÿã§!ÌëÐC­D8\$Ü À˜èôù6wv{TVz§1ÆE]M@Wûˆ*LvYñØ \Å“ËÊk2È×E"!}Ú”Àæ+.]ô·h´kû‹[:ZÞ{o¯oÓ&Œè!›S‹ÕʦˆB ÜÐaj™P—”ÊMnÚTÌÔêLc¶´OGà¶"ÜG.£×3äÆÙr'Xd»Ì@U~=ƒŠd< i±Pû(/Jµ€!7Þ›hw˜Ë~ÛY¢é×¶lxü¹îIî!È€€ñ@ÂŒ)€‡žF`Áq'‹Šœ?”$Ñ9(~ #dªÉè°>+$Ù ÅV!•N>½¬jö醡òKÔF5kØ··±ç@Óî?í­{뺧áPÐ¥Õ'ŒùcÅ"áCÅtîóÌrÚ…’Ȉe)Ï ôó!Z}4ä¯gC¶cCêòE:F¬À¹I¶1PšwP!cà¦Ç"ftü^"No$Ü ÀX0ºƒ½¿Š.·Ù”Ì`Ê9TW‘ÒÃВ݈†vC’=°ØJ™Å^Y£X‹kæ_Ìk.Yuê.n9÷KmÍ~_÷Ñ@ר<«b¸²ò\ñ7ú³¼¤í5˜ùÑ`<“>w»¡Ç©ŽõKo–ûÞ²bœøØ‡ZbrE;ÇËŒ)Ú—Ïq-\uÙÝ™¶÷ñ­[´>ðÌž0]€@Àç w0æn{á?<¢°È¾^Q,Œ16J+d„sFħ­ˆúß“  Ø§1Å1uªÍQ6uÎÂ)§ÈùªD4€x´.§Æ´¬çFæXCEvÎrz›T&žׯÐdRáàš‰ùxLtCVÊ![+`µ—ÂîžÉVA0ÀŒX:¥£¡Ça˜ùص¾þì,–—A!>4Ç:ËNÄ4xj¹"šåœÚHõ ‡¶n¤íFûov$|Ðc1@tÃéš‚ùË®:Ó]8ï¹'îeç\w×:FæE•à(0ó—>ÿ¼ ^¯"Z­'I†AùÉ €$°ªÀÊ•A˜SAS!às€„;¿=¼nMü©âbçe™I‡'Þ³…ë!¨1óÑ€XÐ QöBVŠ Ø&Áæž ‹}D« )­Å“Ðã Ðc;Í õa¯Í2v™¡QsdS6ì}¨:Ë³Ä ã|D/{ö6"Ÿ»ТàZºXˆ²ªÙS™(O@Â]›7WÀn_éìÓŽ*°Æºg¼óæ©…²l)WXÒíG@K<ޤa mï^$ëëu…±ÚR©—»“I £Ë–5 ?Å$@>'H¸€q`¦v|·Áÿòª‚›Ýn©jT·Ì!3÷zšùH´ |N@]°{O„·òbX]s!*5PÍÜ1Ñ·3ƒPsÓ-fD3˪©_|³¼õ,O`ƒyžÚƒwÓÌñ 6ƒƒíŸc•É9?6¸ÐÚn1,?ä `h;pXÖ®pöÙgA–Ÿ;Á㱯.)+­ÖÁîj&µ¡…¨3Žþ¯€~ŸŸ9áÓ…¸0¨iüm¿ßxiûv[·>l|ðÁ¸îºµ  w0nö¼Þ?Zpû¬Ùr‰Å"•›¿¡‡éýbwQ<í𔬄Åsš™Xzdk&cLž .ÄMžÛ³à,+¢¶Éó# ù!ž`){Ä!>DØçôjxîñ¹Ž¿ÁPY”¨€# `Ë–ó m¶¯Ÿâõž1ÝáðL²Z¡ˆâeF¸Ç@î/’æ’W–Ùy¥¥â9ÅÅèM¥¾»kÒ¤ïÖíÜùêÞHäCˆâ]X²„D<  w0n6ÔC]ÖÔ÷@e•kna¡T3¬)Ž€<è—Ç: ͇¾ægÓb<¥'Cv­x ZôL&™2$º=%磈èÜmò–sÄyÞ¾ÙuÙß·GÞw`[Ƈt,2YfÌ_È#Á6=Š„@…|Z7Jp8VM³Ùî]RP°lEa!d²¾|¦¯+IP®(Ì´)VX¸º1]ýJW×5Û·_§ÛlÏcÞ<•>€L,$Ü À¸¸õáð–ßW‡7:jŽvShj|M¿‚ÕY›£ ’ûTp&@oËÚfrÅzV-Rÿqu"è1ªÀÚiÈþ­^˜Šx¤]ÛYoúf¨€O`ãF§Ååj¿vêTGÝ.H$عËI` 3NLw8ŠzTõO?ilŒjÛ¶åËß¡Ï  w0îb‰Ø¯zû"WzíJ^sŒ:äŠåµ­ Ó®“É—2IäÕ´ï¹…•—ÂU|<÷*èÊè‰Ý0Ô.p=’ðŠ´~¨XÆ0q=è[?hT°oö¸lĈ~v;>Òñ¤gR:´ì«§là“`ضíž3KK¿vFa¡«ÀBvõc€È˜…œ3ǵ±·wû‹;v< *Ê(úN—6˜H¸€qð~[O]I‘ý·Ër‰ ˆƒŠ•Ú6ùŠ~ðÙÐøH•:á}èÙÿKÄ#§Ãá™ Å^‹g˜…žj¡6¥¾¡ÒÙ[Ì ¡_…dw)gÃ…ùÀ¾,÷$sóµçï“ý? ísëYæ•5Äb½oí‹C£Ë˜6€­.·ûç——ßiÚb¨L,¦€?«¤Äàú½§[Z.ïÛ¼y9N=•²OpŒ áNÆÀc!´ìÁØ#Þˆól·Ûæ‹&ÑÔ>ÚþŒ`§²RI)Ã{<Þù°»—‚ë]àZ¸Þ =僞송úú3+çuFÜ£‰p6¤;2RýÁêrëy:ÓD4©«¯‡N—18\V—ëáï͘±¦H– Þ0Õf™¼¾¹yë>`*µ5 Ç6îà3 qgÏÎÂçÛ6«tŽ$‰wÊäeÉ)|¤ê‘2Xk„ §B@db¡zôµ¹!ZÇ2 iuuŒ&½K:uåHË8|ünñÚ¹•´l¨CŽVX`í°‚‚-‚-ÎÌ¡pgAtžÖv"dÆ -üÍÂ?½å5Cb…„å"KV‡"Ô…)€ÎàaêM……–n mþäɸ|Æ dw\›bÊ·oGßÓNK9FfÚ̘Ü\ü þa@…;@$!*Ü)€. º&8?'Ó^’—çr'.WÚÒ ´e-w0ÚÒà ÖÞG$6LhE4hr-¢æ#°þª•pf Gá I…à]#¡I{µ¿ÌâÁhN›1#ð„ÃÕÕÕ +$R0Ìã¹>WS‚˜‰  ‚·Û!8`9Κ°mmÌÉ·].«¦ªÖ¼–çqUI‰qƒõ·Á‚€`U2 aè:¶/_Ž5o½…›gÍ‚##áÚZ†±ö5û#I~ÓcÖ{ïër]±ë»ï>œÞøS@’ ÂèRî{*\óî“‘©éé¶'lv¾C…ѦP7ŸŠÒ–mnn·_ÒÖ.BuPþÓ›èuÒ°œ œ­j¨Ü*?ylͨÏbH±hÍoµÎ(.fzÙí©,âóáù .@á!P"0‡›fÍ‚÷àA̼òJhŠb¥ÂŒ›?[/Æ—Ï> ^qáàãûïÇø%K°gÕ*lùüsk8ûJK‘?h®å¬œ9;v`ãÇ#÷øãñáĉ8ù‚ °cùrë3 O9%é r¹°¬ºz´,¤ˆ ’ î@W îÝï_‘å¸CÙíKn‚NÐÖ­H‡×œ A¨Ç[Û:ߪ©¬^‡@ÍFdæö³ÊKj†þk´T•@‘beT¸ƒZgœ}vZ† hõËî&·ÕîÛ‡ŠíÛqûüùpffbëÒ¥V¤ýí[oÅ<‚GÆâ’úᨲŒ¨Ï‡¿¯]‹ÜþýñθqÐ5ÍÚ¾ëë¯ñØÞ½‹)}ûZÂþüI“ðíìÙ8ëÖ[ñùŒrñŸlÆ ˜¹ñþòÔ(ƒnNTÕ¿€ ÷”¸žôº*Ü)€.`sU¬´¿7ö–;Mœ.ð\;"£…‚nØílŽ·æ&íܸNÚê­÷V• jJ"-k"XÎÖÖjä§ÃwrfþT¯j€¢)¥¿BHÿèŠîÔåðÇõ¹‚ô¢Ý<~3:žÒIxtØ0 ¹ì2Œž8ÑŠ°—mÙ‚ÂSOµž_Z\lê÷Ÿ|Áé´D{K4jÜ99õã™eQ¾m\ÙÙMˆ†^y¥ÁßôÙg8o ;6ðÁÃó0†Öt§(€$@…;ÐåÌ›-Ï.ͲßÈ{ØA^¢†ô•#émjÒþæ––ØŒXÁï¨o'|U›•›ÎV5VèaSc% ÕÕu4?•è4JIOÊ¡¼Í†Ék×ÂWV†Ý«Vቑ#1mÛ6ØÓÓ!…ëÇ›"IB!˜mÛ³ƒ›65ñ0óØÓòó¡«Í  Œ‡¿ÿu`aq±5iõê'žHz†ªé)â ô+€èn¨p§º$€Ê­á¡ßǾt:ù¬Yb&ÞÅt˵:!³[Yã.GuÐÜ¿"×Á[¾i™7@àÒÀÙ  †wáXalP"2ö¨;Æw´·T 1ÌòZYF_‡#éÏòàæÍøæõ×1jüxdöîmMDÕdçÝsV¼ü2ž{.L™‚1=Wff»§kŠü-‹Y9ñæþy'œ€š½{qèÇá-+Ú9s¬è~ŸaÃpÂYgYýT0¿ª ³#…Ýž²¨p§º$€yÛ ŸUzÇí¶Ýât‡UÉ!N\·/:x§IÒ'h{’°Kû{æÝ¸Ã ÖmDÐw2³sÁ‰^h± ZÇÆÎCW÷(ÑÈþcÔ)í¥;>Üï?x0%NÔœ j ö×RWn›;×zmæ¥o_¶Ìš€:z ¿æì^½ά¬¦Óvåä€aë3†N½äK´õâ‹xª¢v·Ûz_×u,{î¹úɬ÷Þ‹¹wßÁcÆ`ì³Ï¦„§TɲqŸIÇ=@$*Ü)€.  – lª®rì°õ↰Ãv ¨[Ybܽ¡¢;iKaLj ü7õ×<¡U•ý¨;ô5Ò3ÿ –«+æAús`„uÀë÷æÕ*¿yaêÔëŽ8êNâêÙ†qt'Ÿâ;ù|¾lÇ“r'¹7^ìì¢d?/3­å¢À÷ÝW_ •ah#8é¼ó¬G£8jú3.ùùgë³JŒY¡ièWXFìvLß¶­‰Ðͳg[“YÅ~*ØŽ`Ø·omŠœ=  [ Â½>øàéÇÝÒ†Sü0mÚ´Í'“'O ½-Ç0ŒCÓ§O/nh“%Âãm8WlÚ´iktºâââ7ÛrÀiÓ¦ÝÚè˜ÉÒfÛ¶mãæÍ›§5ó ZýF/Ëò”’’’jóùÔ©S‹ !…P’$Tbå¶ìXÕ@§“wv40›Ô(HëØxã„Ó£©$a—æWFB>|bǾªµ.E†§8[-´Ø!Ç(×0"¢©šÀ¶›"éV¼X'É^”úWú¶&„¤dð÷Áà—{Âá¢ãΔ8=†aŽú4<£ÑNqH%Ñ.iv‡Ã³qíµr*ú8=% ÕPáÞ€G}t€u‡óƒ’’3‰ùÖÃùJIIImGmZ ôö,IÛŒG6}úôi-Ϻx,¯§±‰Ì ý‘n–ÎZÍ(5ÚæIÚœvšh‰‹8ÅuÔNŸÖ[r•{Þ‡ë·wç³ÁйP£ûyõFKgÛÀè¡%¥UïÞ3gbí}ãh¼öÚk—8/åþðG[·NšÔ¯ŸÀuó›¶a×\ÓíˆyÏþnYÆb/Òo €HNT¸S]À´yß,½•‘.^ëp |§2;H{éè­eºNö×A³–=Ш٠oÅÈíYÞ„*Uýò 3D€‰ WÏ™1£Ž !Fõúõ/©ªúâ’¼<âë^ö„Ãø1¼EE›è¥§(€ä@…;Ðå|°¨nãÄÛÒ–s‚p!ˆš"CS#­Õt“`oÑ-å´q$×›´7•´ê»­ž55„êÿBzöí°ñé |>¤ÀN0 Ã2ÖÿGjfšŒnÆÖÝuÕtñ%:x@¬¨hùâõëg¥óü¸³Sq…Zjø)Ög8°@¶Ù^¥—– ’î@—°|=jÿtuä½Ü9gº<ý]ª¢@Š¡Ä%¯Ya¥q¢e«èwÇñtÒv‰ÉÃîl Ã¾: y·£¶âôèÝ ŸÚº`ŒD;QäÀóŒ%â³:Ê^`X›9/&Eý‡¨ëRG  ¨èöÖ¯—`ãÏÌÌ꺾d~/†5ÍxqïÞ¥êˆWÓQCPÉ € w )”U¿ê™çÛ-ð†Æ S zr¦äXaß>hj8.úMдˆªQ{h ²{ …`ËFzöñ¨:°±˜ Žg-á.ˆ,ƒ(ò`¹Ã4aìæ¿19® ®Kü"#FLølãÆCµŠòè¥yyKÅ{J:Ô¦@–•=®êú3tÄP@ò ÂH ==ôüCþ÷³r=ÇÛº[WY¨’º^^HCFŽX¤rÄ]— kJ‹:iù-‹ÂwœñÞ¶°&-ߊë(T»þÚ2dåfÃåé@m$ë H’U5‹šB^ ˜BžDZ0'ãZåëãaxDÂ!ɰæ©Q¿!FxòËõë÷TJÒc—äå ì)Š4úž"NP|Y]]ñUmíŒñ y½éx¡(€ä@…;,Œo×U½1èøô±= ؆AÀr6Šä‡©ˉpºsáNïƒXÔ‹h°ªƒnEâãþftX&±a¼­·6®ßÔNªAÙî÷àöŒ‡hÏ‚ËSE @kú3ËGSuHºYÒÁ²Œ%ây˲ LÃ/ÄŽP  (25 àX(*š¿å‹/m ÎÎuq^}OjßÚèóáí²2( s*ŠŠªé@¡(€Ô@…;4æ-Càòóƒee§E Mƒ¢-½Ì‹nKýj±Z¨F- -#8(’EŽ"©„®Å¬É«‰òöDJ³oÑ´•t” ßlšMðVíBÏ>}‘–S‡h°rÔW¿âjST½áAêóõE‡ªê`9 ,Ç€ãEð ¼J/>B…;pìŒ#©Àè%ë×Þ ÞrœÃqÝE¹¹HçyJ9IÄ4 Ëjjðs8¼jg0ø N;m!²Sï¥Rî@20ªÃ¾¹¹µÎ»òzºzÕëeõõÝhº C×AcI`MöCWe°¦àu9`w €*Iˆ„+¡)躂úù¬::Š/ 7yµu_õ +÷/EvÏû`³çÁé)„kî )<$^Ä“æóuÍ€f.k°†¯®NY½¢’–‚¤Ž=€¢¢ee—-»{U]Ý«gddœ:,=½O› nŽ£‘ø.æs!EA•,k[ƒAﲚš ª$݃3ÏÜJ‡@¤.*Ü)€¤0aZ¬ô“—b¯FÒ|8ÓrÍŠ£ÕÐuœà'¦[i(R´¼`'ºAÀ#ª‚¡Gasd"»Ç@è:€w?bá*š ÃPÛñ„z(Ò[+öx±ÞŽžGÈ» Ö¡w¿HËìÍnóîͪ½ùãHã“&#`­Š2œÖî{cCgâü F€Ñ£+\µvÍûÚŠŠN»ý%;Ç1ËGMKC–(R²ÿ'UÅÖPKªªTÕíáht,8î N?=@/ @¤>*Ü)€d V£Ÿ u± £5ó¿9ÎŽá ©1(fyHèmè Á,—næŒ3‚Š¢@ñîÃrp8Ýp¥ €"+£a(rrÌß âËD­”x[Ñùëèú=Ù‡Ê+Ós0D1™ù'Ã[¾ÄÌ›omoïæ6ë5cW"¼Þ´†;¸ÿ#GFü.¯XÁ}"I'RYyF:äàr `æRÈ™<Gÿ¤+1]ת%‰UÌ´9Ãó„|¾/ÙZ‹ù¡i`®5 €èFè·,tÆM©ÛñØxõö!§àµt8çU!„e9V°ÒetÀaH V%¡©fd]!¼ÕF“‚P ¯%ˆ. ¸¡*9–¸7sÐ͉­VžŠ¡'xIÓSÛö¢&…ßP_ÞÂuÛQW¹ù½òáòôBØ·ªäkíM"4NFmô 'BQu5âónëT‰zêÛÀ±pÎ9æífóáð]<ݹsY¸\NØít5Öc@Euu×^«QG¦(  î@2Ч¼ø÷“ÅÚE¹Ž;iüí9Ùî,‡`©!ÂÍŒ ç€" EêÀñv°b:8†E,\ UÀfO'8¡«QH‘0·;陿¢øköXé4Ç*Àm®¦Z±o 2²oƒ(Ú­\w•¿).Ÿ&Ó(üÅàN@Xκ‘jÔõûCAê¶@PÐýPáN¤ýŸó±ðͺc¬onN†PxÂÀôQ¢ Œs»ÅÁ.' k^4ýØDÌÕIy†E‰À0;#‚1E»,CUÃ`8¦àgT ²|š®ÀnOƒË½‹Fô•Zé8GbÁº8ôó×èÕ¯é…Õí6i"ƒ†ófÂ,qɈÞyó@KAR@P@7@…;’fÎCwÕ{&߉ ='ÚÝâu9|‘ÝÆ $¬êbY¢ÔGº9‡•&c®rªiªñfY§%˜)•‘­÷ͨ·¡Jb~0œ ¢à€˜W]gÖZ)5š*AW¥žE<Íú¥;?FFÎ=p9³á΀°w7HCMù¦É©»sõTЦlŽÛÚf|Ÿn£( € (€Ô@…;êÔ’WP xWøöÞ›‘çIO¿ñ¸BûÙéþTQP ÍÔB$«€Œ™ç.ðv(’’ì·sD·U­Æ\ÐI•#`9¼à²ÒZbáj«êŒèp“• †íƒpȰ¿²¦D­UP[kl‘à~TüöƒáÎ)|ºlíÍ¥!‰µÈaȱXiÜ]9ŒûRQOP@P)€ w  ;0žšƒ ÀÿÔ¤óý3óNtöÏ/pž!Ì vw–(20ô )h¥Ð0¬Ã媪4”†ÔÁ²"tMA®«–ç8TE‡®™"¾,a‘™“ M#P±h¡@t-. oÀŠÌ×ZƒŒÜ¾ÈÊæaw"ìÝѦGš MÅb2ä˜t‰¢½=/ꩈ§( € (€@…;Ð-<½a, oÂ[¯¿ Î’1"sËÉžírò…£y‰™anpœ`EÞÍH»¹B«¦(ÖN©3šªÀÐe0¼­~±'Æ€©²"íæÊ­iéNk¡')&!®ƒ @׫–¼¿f+jmƒ+íˆÎ|ÈÑr+²ßuo˜°ÊòÖÄØ@(RƒŽ£í-Å:M«éŽNNO™ ( åPáNtwÚû QùþB¯¹ÄûªÛÿˆŒ“û{®ô¸„Én7›ÇñºC×T¶‘Ç‹°;2À@†¹€!¢:X› v{6 E‹ÖY <ñ¢¢˜èDƒc–¤Ì@ZFohš ºrøkÀÐdT—®AVA232 :z"ªReÌ›†wC Fáõ†CîF‹ˆ<¸S@P@  Â â¼ú¼€ovñ%ø@ïëXÍLs cx–ùø_öþÿ»‰:ÿÿÿo33“Lš6IÛÒ¶mK[T@@YPਠà€UTT9{< ¢ªUAEWVD(P\(-mÛ¶mš$™™=GÒ4-¨ -Üž˜Ìtf2\™ÜrÏíq¿›«®— šÏã÷¾›,M" é(/ËãYaD!’,ñ(|¹/‚`@”­>W94Ï ^B5,, á¶[xÝãñ ´à(Â,Ñ0‡ÇÃã< Cs'§²ê¯¢¤ÂU^VrèhQþoˆv£Z4^'ÑNÛ@Àõ€„; ç0&/ƒpî°kä}X˜omQ7ÁÔÙb‘˜Mz¢¢@ñù¼2‹Š+Š Y–¹}†)gV É0D¾ÎŸÝ€¯¼˜GâYÄžëiƒ‰ø^Êj‚«h=¼1}¡Z"a¶&ÂSvŒg˜á…—¸MÇŠ²ò’cÅ¥%¥þ²°¨Yî†?·ä…³ÊS‡@ µ w@~À‡ ‘”±ÇÊg‡ãåzÉ]M&yrx˜ÜÈlL†î=A`žwöPL*ÌfVÀ©”g¡aÞwE±BQL\¬³‰­’báË&Å Í}®ÒS³×ƒª6…j¯Í ]+ 8ÔEˆr8œÅe§ÏœÌq…wTçvu* €pý áNÀ%xí?(J¾îÓ«Ûw´6±GRœr—Å,¶•=V’|Ü&ÃRAÊ,,oŽ ¼žRh^‰à³0¼ðxœðÛnˆ’ Eç~‚‹˜xK†ÂQ/}wçMØÜ»—)=<ÜÜ3Ú¦Ük6‰7KŠ­ù4‰åe÷z<e‰Wi•eš—EÜ™¥Æ‹‚³ûaŒ€#* ¢b‡ ªði>ß©³…Å¥~»ð³{”“h§!L àÆ@€Ë@ßx%xöž=O?÷SûV«p·E›+2êJ²f–|"«„ A ª0™eh^Šóþ‡ìSQ°ÚZA2ÇB`ùe¼º«°ÐY@ XbÊ‘vjà†0ké–ž±ñu¦²ë˜™ÚŒŠ©Ú!3¸MŠ º çI²´2?/gõCšì¦ÌK F@-@€+ àõ×QÍðI·vˆ¹ë6s«ÔËU•‡+ KÊÅp•  œ#Ȭƒøä‚ŸÛëÎËewîe/¢Ì14lo4ö¨hGzZBsMüÂÜŒj Œ%|RŽL× Ãçõu¥„‘s¿ÿiØà®M7ÒH"€Ô&$Ü ¸z´5È^“á^9r {Ó­7;fèºÑÃ&þÍªŠ©&VM×xnøÒÂ3È9}‘1ñ0Y,ÚÙS‡ó\nÏ€ˆ %R#7A€©pãÉPCšZ†,d#AQUëÇÄŲxç‰ûµª»ƒj€ µ w@®>ãÃ,j^è/ðÔ3Z6·uRÌÒ°p«ØB‘4]+UóÎ@~B*¼ºqhç¦åo|óCé~í4\ohFeT]¨L¯RÖÀàâÞ¨¶ê²"A1Ð@í[n9Þù¾ÛS7þ†ó†  Æ áNÀ5ð!«Òº¬x€ÕC"®e=[ÇH›Þ©Ü•Û*3cí¾Ìƒ9ïNœ–µ“„ U€juÇ„`²_SÝB5 ME>&žSÕ,KVGäªÅ›Ové×>%ƒð@j:î€Ô¾Oàô§(þbì@,³FšãÄ‚œÜ)<:OÜ誖)`ú›ÕEÈ/(P=ôîÇ;ìp–•Ãã­,&¬ªfþÌÖ[ˆfÉ»uά»‡¸»%EÞé:# F áN@ ðÞ”îRê@ü4­ÒÒn„9{2›M|=K³ZÝô.Š"dE† úk–†Î³8ù<: 0‰l–·S˜¹aRZÚ's×>¸[£uÄœPSp'€P;SŒáª3Anª{bøkÞbQƒF]3àóið A‚"  Àk,Jý˜ø˜yó7è?莺[iH@j"îàʘ?_BzzF7Bš 0©jD˜(FGÈr ÷ˆèzCYS¨;®Ã0 Æ.YY–äx½']šæ<äv;YþI بéú´k—OÞz•5€Qͯ®ù4œÍÊ Šu[DêÙ9ù•£6Dг'ÝÐáóéüïIñ6È‚–Þ£ P­æDA––ÌùáHß!ëo§±OcŸ€š€„;¸ü¶l±A–D©²$MU!­IX˜ØHU…(IB¸Lµúð× ¥š†³^ï3?98²›Õ¨Áª·{J© d#7÷0z÷vÓeC®€JÑî¦K’Œ¤ä8Ãñ–”ÒAF¥è×tø4 ®rœenqטãF °(¼O„ *ñub£¶~±îp‡îj@yÞ  5 )(pù¬_ߪúß‹µ}xxrY†U’ ìCQ Òµó Ûd™?Y,\È»u½§S×»Ÿp»µ fó©£Û¶eÂ厎 ¨S ÀÕ iÕYWõK½·Á½M ‹€Wó;k X•«‚ýñ¿WîñH¯&ë©—  5 wðçlßž êúØæVë°›Ìæ„Æaar„$ÕëòIb1ZQÄ–VkzžÏ—žétö;œ™¹ù€Ç³GNàAåÔçàJ0x÷ÊI¨š®áÌéœÉ©AoLåkÁ@…-ޤȈŠr  ¨å,â.:`ˆ"DA‡  ð²i¯ëŒ`15L®›8sîªÃ#÷l°‰Ò±Òø& & áNþ€ŒŒh»$½XWUÇôŒ„ƒì/7ÄHb¢&FQÐÍngöÇÜîöóeùÅ‚ŒŒ^n§óGtéâ¢KŠ\Y•9ÛEQFrJÂEgÂ_Ó4DG9à±xa’En•(B`¢OTå5šCd‘÷ÆHˆ\òùúãýêHEšhdpíÚ"—`óæq·FDLèe³%FËrH¤‹Ú ÍlÆ“ññ8éñ¬œ—›»'oëÖñhÛv p%!¾¬ëðx¼¨ô²W½ñt²ǃJá®óÌ2¢hp»Ì2Ê0õ. 0Ɇ¿61K)ƒGáa³DC²þø_ƒz–p-p'`óæ´$U]ÒÝnoÚÂj `QD=UÅ?“’š¯-*úîÇíÛg–ãЦ—€Ë "{h¦v–!&;'·²î‚_¤[ÃÃaEvN^0¹ ›·ah¬fYy \.¼š¯ˆä þ[›¤ÈM2L²!ÜmèËg­>rÿˆõ)òNÚ€k€„;¸(Ò–-÷§©êœ¿ÇÅYÌ"ivp>öËK7‡Í­ÖÑïfg.^»6]ºœ%Vàr0‚¹Ü+"êRRƒ€/ôÛÛ–m#Ô¼f°\î>¸œ^<]Š’’rx<>hºC÷{ÜÙqD–iF IêÄØ`µYccblsß[–9dlŸ4a•pMp'¿ #cJ·ÈÈÇ{Ølf‰l14b~@EÁ³ X ªë27oî‰öí4ðghAÑ^9ù”ùÕÏžõGÜM&‘‘väåæs;LEc[šÍlRjr²ÏÁ§éÜbãõjp»½ðx5~¶N çkþYRpìø9ˆRl¶°ÔHGä¬ÛßwÔ]³¨W  W wð›”mÛFu¶Ùžìi³)äe§Ár±Â$ EE5T ãûí›7w%ñNcçrÐC§¦ú}-PÿÇó²³[³¸ˆ’ŽP Îò½³dE† ê¼™(±íEˆ’>]×yÔ=´±ì2Ьð/^Ÿ…¥°¨¦Fv›}€ âd4° ¸ÊH¸€_°m[ï&ªúV/»]©Éyؽr¨Ò“Ö˜„ÙíP,Ê!Æ8ó¾÷ŽN?èv-^»6]º”ÒåFþ07€ÐÊ©L©ÇÄD!4 dT¤ƒ¯7 ¿;[ŠŒŠäv#`—q»YÔÝÃ+©êšá¯¨¢ÅýÁ ƒ‹zÿ1 fϱišïvÓ©7  W wð«šY,3ЉQkºð-ÉÎÆ´îÝQïŽ;‚½yîÈÈŠ‚»FŽD§Q£¨—¯‹(â‰øxÌÅ7ò‘Ôàr`—CŽÂ ˆlR©Q™.2-=ÅE¥ÈÍÍ« = ♀g‚\× ‘OˆCaQ>ܮʌ¦ìÞ—R7™{é+¾膀ÜÜ2êH@À5@Â\@FÆ""ÒåZdytÑ¢`oꚆ53fà»·ßF‡áÃ!) __˜•…œC‡ ™LˆIKƒ=>>8œ……8³¿ß§]¿>ìq•eÓË õóÏðy<ˆIOGtݺüCÝUR‚S{÷"½m[H\öY "&áÑÑ8‘™‰ÈÄD¾Ÿ»¬ ññmòOž„Ûé„Õá€-ä}\ee8½g4¯Q©©Á÷á"ÅëÅÉÌL~,Gb"¢RRøÏý5½9dmÃÂY™‘1íÚÕšI}N§“&Mz˜n5€8ýQt!hƒaéÓë×½`)Ìó­Àn·!´.3Ñðè9·¿T–ceÂ?!!ŽGãù%çÿ·âð «t5OoSÍSCƒ„p•p'çغ5¾¹Å2”¥ø«­ Ú.cÆ`Å+¯p!Ü´)ö­Z…YC†pÑ^ñ¡?nÅ $5nŒ‚3g0åÎ;¡û|\0‘üøŠ¨Û²%Î8€wî½^§“€³¿ ýè#´èÓgÄ{ýûãåƒa±Ûùq¿:­ @³^½0üx4ëÝkÞ~-ûöÅ# ³faÉĉe™kÜ7ß µU+þÅ᥶má+/çïãóz1äƒø~åÅŘҡœ°FE¡äÜ9ô?½žy¦VôPW› ßM3 £¡Æ‹žÑ£G/™8qb ï×Ökà:<íaFÀçTî‚“Ù²\µ·˜ïìËmÈz¿ÝÆ€®éÜ ï_çërÈGbÕ_~›€À7ôêïD£„pup'ç°jZÓÞGTmFÃ"䋞{± paÎÚòW_Å?Œ¿NžìÈOŸŽ/O­^ï§OGB“&xlɾíÎE‹P”•´l‰e/½„¸† 1böl˜Â°å³Ïðé#àù½{—‹Œ¯ÿè#Œùê+ÄßtòŽÃד'ó/ÉÍšaí»ïbÎÈ‘xnëV|9a¢SRðØÒ¥Ü›¿sáB|6v,R[·FqVëÿÚ±ƒó̾}8¼aC­é"YÑ/*ªñ¢]»X™Ë3µá¼_xá…Z} \oçþá7ƒ†jAç…”Ž=É_'¥$¢¬´…Å5º˜XgZ<9% çrráb™9.Ä{BR"$.þýi"ƒ¦yj€€k€„;8€ÍbyÂ&˵.¢ôTb"êÔ«Ç­0¬¥¶iƒ{'M‚ ŠÜ‚’µ?î6 û¾ý–ÿ=¢NnK)ËÏG›±yöl¬œ:»wG³{îÙbáÛ±ãu3†oÏÚ-]»bùË/ó}-ÇobR#"póÍH¿í6¾Ù¦Ù³Ñ¨S'Ég­Û¸qüÁí3Ç#¶Q#ü¼Æ_xÔërA6™¸E‡‰ü0‡KŸí‡ERÓ¦è4zt­ê¢t³ÙjÑ´äòZ"ÜkÛø¿þO—›\ÀÅ{@Y3{Z½†éÁ¹Y5#*:U’ºWhì*ËÌßî﬈S\bXu #¸§ !ƨŒÔkšÁ 6ŽH žpUp'ç€{LµÈÛ^Ñ…SOú#oLˆOjÚ”‹í&={ú½ãEEüù« .Øãuo½c—,Áü'ŸÄwo¾É#mÿX²õÚµãö™Ø ‚#EµÙ‚žù‹i¡ûžØµ ± ^pÇÒ¼<œÜ½»C¼ú|¢íáÃüËÄ„ ðùcaæ€<ê×gâDt;öâN¢lä$Øåžr`k­9i:ÏÀ8ßsi- ·…€]4Ä`±BŠWÜÿë€È¯Té¤×  × wPÀ¤I"+²Ts¶WLÔd‘ñ§Oç6“Øúõ‘pË-Tá;SÆÆÔ¡Ò›L”–˜(ŸXzßý÷kµÊ'¥žÝ»—ÚÆÆÒÑ-[ÈZX(w~©nÄL˜@.ZD‡7n”ŸOÒ’%tñàAš±mµŠŽ¦“;vÐ…ÔT¹ûÌùÔT¹+ÎÔÄDJß°N&%ÑÈ?$ƒÙ,¿‰8²i“ü<¼e8kŠÅÚTo@%w¹ŠèZXÞ¬‡G…×Ú)42¬Ši˜t]åšõrE0¢ë î¯êµÜû¨‚;*Ì+p£F/ФôÂUw÷á”V¡¥BçuíJ{V®¤þññ4aÙ2J8ÆÅÉð¥ÐûfR’\'+…ù½{Ë+ÙÒ¿Z*…™±}»¼â6vñbZ1v,-:T^y“JeÞØ¹“|üýI0)vÒ$Z;uª|ŸcÆ”–çT7¤‘NŸNkâãI¥Õ’O@Mr­°?ñî»rIÏò‘#åÛ¤€òêúõ¤ññ¡î£GÓŽÏ>£Ä(*¶“¿ÙO>OÆØwkHÔÊð‚;ª(Eq +н%¸û……ÑÇçÎU9’R°ž—™YúÚ?<œæ?NYYrÈ6µt~. _³™æff’%;[ÅR©‹»Ž]k0дÉrýºÜF*iq—ÉHáøœ9r­¹´Ê.=¦tR©»ÔeÜâÅè¤ë¥ŽRoyie> *ª´»ôfCúþ¡ï¼#?†Ôc^å*ƒ‘~Þ{éér™ŽÔíF*R»Nžõ–QÀq”k·o𢧌gÚŒx×ê·T.£Ý«á"Õ¥Á‹(–]jº£èÚÀ©t£&)¬“T>H$0 b‰¬ó0?45‚;ªdÙlßåñüs¡ …W|(,¯‚Õ>U­¯o…#,­®K›U7¤Ûüêòmá5$/õVwM¹@­©!\K+ï¾îîå†âËoÈTyÔt¿j¾µÙ]sÁf³²z}¶7.Ëç*”äh.­n©<ª;‘U­V“Ñ·Â}Ü œ©ôÿ×gÑuèzD•ZSÍOÃ5ÁU8›-c·Å’ýl@À}à@Cp‚@[ 2©gÏ,ˆà®x*-eq‡kŽãèŸ3ÿ8KÏTV”.E¶Ž¢ââbÊ»™[¡5dPË`ÒéµtùÂbÜ ©þ˜HŸµþ_RIç’0e5ï·nåá ð‚;ª PpèÀ¢ †™íôzï)¢Æm¶;-âDq¦7욊Ñ<xâåDÝ'¹w?‹pJÆ8õëFµFM¦&ÒéušºkµZçý*œ¨Z5¹;«ÝDR*”·dÊúº;8;¦ ¸ z€˜˜·“ÕZ§k¯ò’ZwÊæ Ïq´×bYD11É8F¨€(–…gÑU¾¢ÓéËj[Ê ÑUz¦“ÊÕIJ›J ‚Pz?w?wÑýÀÕ<Sº’ï|ÓP¹{$€¦@p@Ç G¯!:ü|PÚûºãÐzàÏÓ—ÙÙTRPðŽêÀ»ówÙFH,ËÒ‰#™ä.k©i¸7Xò5©u»¶tæä)²[«æ~f2šŒtåâå*#u–éøÐƒ¤R«¨\‚; ¸ f€>}ŽŸKOŸ´§¨hu?£Ñ€ðŽÉR€ž§_rs¯æ B<¸z¨OÎÀÔjêÜ£+ÕutèôUþUO¯vˆ„Àcî¸-€µ[·u›SSUvž_:ÈÏÏŒ²L˜ÚH¡}MnnΙ¼¼¾Ô¯ßM¨ !JÛ9º77EâX¶t¥\êþäþº|«•FCˉB…ëkåï[¥ƒŒˆðŽé x ÁwˆŽ^ûgJʹ3vûß/‘Þ‹6ýÁámz€,‡ƒ¾ÏÉù÷&Q õë‡.2hPAõè #oÀ”õ¯sŠiuZ ¢ìkÙÄó|i¹ºæC#Â)ïæM²Ym5ò­ ÝCz3áÜèÌUߎwž@p@íbcS.&'‡~%Š? 4™tññÁÜ@NiÅB; ?v¤§@ññ,ˆÐ‚kÅãRªy´È6­©üzxTÕ}¤°B•û´»GM‹ðî륕}é„VA@làY„/Ô .îÚU¢!?¦¦¾þ—Å2{b``¿JE¨}¿·'+tÅáàWå䜵qÜdéM^VhLAJï¼Ô²ì,ÑÛõ¾*ÌëÜݽÛç…P)ƒ‰ xÁuˆŽ^z99ùç/9îùp­vÑã~~ªÁN‚÷€žNÙlâÖÂBñËæˆöRl,VÙÐ8<•¶„yg¹ŒkO¦º æö¨Æp/Þ¹4@c ¸àîââr ‰ ·nýö¸Õ:¯»Ï¶ZmÇŽz=™”Jb° ÿŸœYRX¿Îqâ«U̼u+é¼ÝžD%%ŸÓ€^JhLÞšU*Æ£]Ðóð$‚;ê0t¨…ˆf"¢CII-Éd:ÚA§Sö3™ü"Ôj…Z¡`¤N4(§ñ¾‰&º¶—gE‘ì‚ ž°Ùì» ‹rYv“=FŒ¸…—š€)²ä*ór‚‹=ý»„ãiçT¾Òâ<€&@p@à ”MD-O§¥N_»ÖÕW©l ÕNS2Ì€¶Z-Ei4¡Õ’¯Bùf:ïxQ¤,K׺àpÐU‡ƒÔDK/X­[9¥2‹æ4ÅÄ M nZ¾ìôÚukôùŹ%íxž@p@Ãôè!­Äî+&¢b¢ß¥•©ó))F¥R9€ÅaÒ×÷©Õê`µZÓR¥ŠP*è/Ù„¢XVÌ0 S̲¶BAȺ²lDZ®ž{+ˆãÎPŸ>Ex‰ 9ddl(ÈÈ  ÷2‚;š@¤ØX O´‘œºîº`ÔÁðwø/ˆ"Z:àî'ÜÍÁ¼ `÷n©TFR*|Tªa<‘ÎÆ0ŸÈ·¥¥áxàî,ÕÓ‹âfÑ.ÖfÛå Ê!žÏAëWL.xÁš#ÀŽ-Ô-ZŒbæ1“( #L¦ÀöZm˜ža:ªT Rq¾ £ Q9›•JR‘V¡ Ú¯bNß%€´WƒUpn{“ç‡Ñðž§bž§A ›—.Q>ǹÌq—’ŠŠr³D‘Ô¢¸‹Åß)&&Ýv0õиîài€ôô â¸^‘J¥®“V;ÞÁ0£Ö騿Á@]µZ2«TÕµPÅïo48€Ô'ßGélôåþoTUçö® å°,fÙñ{JJVƒBê4ËŰ‚sÖn§Õ‹mÕÁƒ‚Bf ßP|<ö€ê €àMœBzýü§Æð®:Ý^z=uÖéäò×@Z€×HŸ ©‰H­TÒÃ}a0肃)Ón_–²dÿ©S‡×[,Gx»}õí{G¨;‚;4&À¦MCppÿNzýÜžCéf3E¨ÕØ=³îžÐ(ÔM¯—.Ê)þþ=²‚ƒ{,ÉË{ñÀ±c§””Ìr°l2õí›ÙÔÁ€¡””W"uºÖ††š;iµŒŽaØ1Ûîi€Pµš> &‡(v8ïplxùúõüŒ~.]šFãÆñ˜ÀíÜ !•5ó9?¿ÉO›Lú ¤)+…ÁÀ= ½yÕ2 uÔé诨(ÿ4«uÊOfóˆÕ))K(66ið@ÍîÐP))Ý»êõ›çµ|ÜhDZî µ.5¤Kè8£qáG.8]RÇõêµx@Uw¨/Àûï+4Æ­z+0pü ³YoÀ ;æê Ð×LJöµjÅ|“Ÿ¿sVjêo=«ï˜H¨€àõHKkÛF©üô매àÜ=€Ôõ5³YÛ[¯Ÿ0õÈ‘ˆ³VëKöØØ³0Ü1Ô 99¨³Z¸-2²›Ÿ ë @Ct×ë™ý­[Ç ¾tiÿÔÔn}¥9èþŸ½ÿÿ‹9ýÿÿÿëLU5U©ÊZ ìz$‰°h-ì®]ÈZ Ëb7‚°`-€ kÓØ•M¢vA T¥T5SMS333÷Çé8¶°‚]¦ÛítºŸjšæ8Žãr?î3×ã6×ã¸SÀ €>i àE\ºä`¥Ó:øî»n$Ú_~ÉårhµZX[[¿Öñ¨Óé““‡7zÜgff¢jÕª•úÚdþ÷=ÎÎöí’’¢®ž=Û>>ôfE*;î€PQ‚ ª·â¨‹K#[í/<~T*þº|Íšá\T²231 ÿ×: 0`Ð =|ø¥ÆýQQhذ!ª¼¦‰F`·nˆ9þ©×fBBììíagk«×ׯ•vÕ¨QÍïîÝýé11ð𠻯€J €>q  ‚Œ.\2Þѱ³±±Þ±c™ï¼¼<8::ÂÀÀ………аL¸•Ø-ísss!‘H`ffÆ…·T*… ŒË±(**âtKKK˜ššB©TB­V—Á2Þ칄ÄDL›>7¢UË–<þ÷¼H໸¸vvv¼ìõ¬n–…ÎÎÎæm`ÇÓöÅ×h4¼ +++ž½fvÃG&Y¬ÖWÖGÖÖ'YYY°µµE¡BV‹*UªÚ¶iÃÛ§P(xY¥õ°²Y;Yý2™ æææüÈÏÏçu”~³ÀX°ºYÙO“‡®GVN~A år^ë3ûfâÛ|6x0:vèÀëgŒYYööö }¸¸ß56Æ ''ß~©©£•ÀzÃ"• w@¨ €Þ––ÁŸU©¢Wܘh™2bb¸@,.*²¥K!‹Ñ«woœ?wŽ‹ÃŽ:áè‘#HKKÃÇŸ~ŠZ..¸yó&B¾ýÝ»uã"µS` qa¿kÇܺu ‰‰‰ &¨ƒúõÜٳ1%4W®\ÁÚuëàää„ä”Lž8£ÇÃñãÇQ«V-^Þæðp.NÛ¶k‡®]ºp‘{#!?oÚ77·'ž†”ÔT|Ч<›7Ç»w¹ß¸~=Ÿ0”Æá#G°dÙ2˜K$¸yë¶lÚ„Ú..hݶ-zöèË—/ãöíÛ˜3kzõêUv¾Ož:Åû?áB4yÿ}„oÚ„C‡q±ÏDý’Å‹Q£F t DƒúõQ —#ëþ}ãðÑ£ˆåmoÖ¬zõé¦M ±XŒ­›7ÃÙÙ¹ll±Ìþ·ß}WWW\¼t Ë—.E5''D?Y^š{xàĉX¹z5ªU«†”äd„††¢}@€^ÏŽ––èhi9i/ wz¿®äH¸@@Eüö›SK‰¤©¾Ý•e‚wì܉ƒ Ž«+f†…aÁÂ…Xºd üÛ¶ÅÄI“vïÆŽË*Ë83!>hà@ž oסºÂí½÷0î\.|øø522âÙóÒÈËχ‰±1f„†bæ¬YøfÂ.ÞY¦ž ùððpÄDGõvmLœ<'Nžäe³Œ6+·¿?üpêôé§ w&ÔoܸU+V YÓ¦èÙ»7¶lÝŠàaÃʼî111¼­înnøjÌ:|#GŒà“&žçΙÃ_Ãê)/Ü;wê„êÕ«óçY–~cx8¶mÝÊEú?þˆ©Ó¦aýš5¼½}ôº" CD_¸À…ù¨Ñ£Q"ÜYfÍœ‰… ð60î?­^]ÖFöšï&OFûöíñý¼yؼe –-YÂëš5cÿF‚MƇ®]»âø‰˜3w.üýüødGŸ¢‹…E•½‘‘ѪÕzÓ"• w@¨‰¤¯¯nû˜™•…Œû÷áÛ¶mÙx`6–^0>š6oeq1~ùùg.Â÷íßÏ3ÏßLšT6~XÖšeÔ=<<¸¥cöìÙüï‡*à'OJNæ‚“MXÝ£FŽÄŒ°0.ÜY´ðôä¶&¶¥2Ù?Ž]æŸgå1+ÎÍÄ» ²2ztïγæÉII¸|å >êׯìZð+áЦuk?vì©×ù©©©ð/—ánÙ²eÙ5Õ¡äïÌnÃÊgõ²,ýž½{Ë®»Ö>>üWŸV­°pÑ¢2Ëû_&ú™`Ÿ6s&Ÿˆ°6—fcJ¼yC†ç¼X°I;z(Ü `d€„;¨´H¸@@(uºñUõL±~IÌ̸›-ˆdr¾§v‰o=22ÆFFHIIáâœeÂÙ¢Ì%‹÷uë²ñÃ<ìL,ʤRþ˜ üÒL;³œp~JåCÙ÷GËd3_7³Ù0üÕ«W_jVËŠ‹ `T·Ïüç^­ZaÑÂ…X8oFŽõÐu`òœë˜'ÙoΜ<É'+| D ?^މ ïϳB©TòÿË•JùZ‚Òos˜o¾Ç ß‡bvX¦NŸµJõPIb‘ˆ{ãwnßÎ-4,˜€×7Ÿ;ŸüèáuGo¾ ¢H¸@@ˆõÌ&ÃúÄ52üëž=héå…å+W¢WÏž<ó%$Ÿ~ò ·ŽÈår >cÇŒ¿¿?÷vŸŽFì¥K|% &xï&%!))©l Ö¯W/îdV’Æîî܃þň/4F™xeV—fÿû¶lÙ‚™3f•X€Ê€„; €T€¦Y³ÆÅÅuôHü«Š  ¯@ŠZÉÉiÈÊZKœ @e@Â@* @$Ò%GE LNŽÚïì\˱Üö€¼:™ ¾ÌÈH½—ŸßJbK*;î€ð"¼¼î_‹‰©×9))ý‚««!Yfh€W WJ bsrÂÏONx  Å©4 /ÀÃC}ãÜ9ï;w¯ptlï!‘z'àø«¨ŸÞ»—_PàC¢†x€2î€ð2¼½ã¯ÄÄtõMJZ9ÝÁaÀ([[SS1ÙÞ xjk¤RŒÏÌ\ƒæÍƒ™-Hð w@xYjCÂ"#—­Jc÷9;Ã]÷y§B^'€¥¾II‚ hOÏ߉6  áN ¯€ºU«¸ûšz ²±™6ÔÖ¶FK33Ð~ï4ÄÀ“èW”JaINNÞ¯2Yˆ"9y‚‚´Ä‹€' áN ¯Àß;_¬Û¾zuÄž&Mæu°²ê5ÒÆ¦fSSX•Üòž‚Tv ­qÅÅX+“%íÊÏ?£¾{7AAE40x6î€ð: ®Vc÷=;õL^ž›±±ñ¹ÏªT¾¶µ[’€§1WIëtX­Y'“©‹µÚny:ÝxyåÓx àùp'€€× Àǧ ˆ žwîœ÷Z©Ô¿§¥e'CÆÝ,,ÐØÔ”î¾J#Po0+Ì• » ¨RÝÝ_P°¡P«›7¦ÓN@Åp'€€ €·÷¹\àÜz ÇÛͳ¶‘BËÑööuZK$¶ïÃV,™SFžÆä[  H§C¶VËoœtF¡È[››{ãžZ}E¥T†À×7N, /€„; €ürÔÀØ<3¢£¡RÙÕ±´ô‚ L·‹«YY!@"»™ðFHT*]T„ Riq†V«0‰f%¨ÕG¡TæÂLJ‰uN! ¯ w@ø¯xzfȸ \e [qê”áU¥²qÐʰ÷13³ndb⥼,ÅbÔ02ÒÚÔ66†½X 3± »·ÒP~U´‚€­jA@†V‹Tµ÷5MŠFc˜§ÕB D'«Õ÷fêAg¬ÓýªJNŽGPŠÎ ¯ w o ;w®c”tS¸v f±¤SLÞ:~~5 –© “%ÐP1Z´°€£¹X쥄a`Wú4D"!ÀÌLlm@~PT€B§Ã¡ÂBÍ£ØÌE¢9…ÅÅBî!##÷IÛ5’Z'àß@Âè ƒ]KüÜëÖûÜLbâ¥Ó)îefÜ>‘–9qîµä¬,þ¹¢-9(ÀÛ `út6e»pä "íËñíÛ àà ¢³L* ÀÏï1á^H xcp'z`÷º®žž¾CWuªe%¢b¶Lª‡\z~wŠŠŠ¤GÕªÂØ<™ìÖ_W’Ò³ÒR“rïde.=Ä?“^‰˜û1ª›™7ë„LA«HšMèûOÐ lhà@ô w ¬lkwvxÇÑ º|è˜ûR$á‡ÄÚæÖÌ ÒõÐi= ÒàR/¥ X‘{Uš“ß¡æí ±© ª¼ì­V‘®¹Q˜·è— ‹ç^P5j°E#Ï÷jͯY§~G+ûdE¾ìBûιW®ßJOHNʾ¢Ò)ÒcoåçŸ>Í' ´P‹@ @Â艅u‘ /9› <¸ŸÀ„#Î…ÆGÄ=õGF²ˆ‚$ˆù`±<Á[2c)®G%3,Q×wŽ~0âÜK^×N¿»Ú¹×Äs®çœ¿Š_˜Ý[_²º@ 8(Š2œˆ$q—´j$q—ìS¶WÎÍÍÍXg³›ûêtÈPI Éïq‘ß³ˆYÈ`jc2šózÚì9={åòÃÚ¸ÇSËKwl*=´hý›;7¯žví#›©áîSjÛ¾GG³!d«×˜+ ”Yû-!;Î"šsdÕO„3›êuì<)Ê“ðsžbÅĮǗˆHkX<1IdXì£æ;ç îrVU†3¸+Yê·.9NGFF†N.w €@ðo€1v;Ý)gPКÄ]°OxâMòN{Ýÿ’ÏxÏn·4\o¼ŽBþò“ÏŸÅ ¦lf²dS~»®m;tðhÀï½ñ¬òJ¿×9Ýë®^¾tÙö +—¬ø«®Ú]›‘fîÇX­+ÚD2O¢uyɶ$2ä‹HX âçêͬ†u-çê_˜¨ü…GÉ:‹®6ü”¶L}!Íwf ½ÎN‹Ž>ëú-Zéèc,¾-h~}\a6§Þï:nÜ8ºêª«(++«Eš~ÿý÷©]»vtúé§·èXóõÐCѳÏ>Ûd{>Ÿ>øàºúê«ÉjµŠk@€Þxã ºîºëÈårÑäÉ“éöÛo'“É´Ïú¿iÓ&zî¹çhâĉ)›Ø¼y3=óÌ3ôÞ{ï¥ìÇ®]»„®]»ÒÏ?ÿLcÆŒ¡N:%í÷´iÓ(''‡N8á1δ´4Ú¶m›ðÿØc‘Á ÿäHö &ñ“´vä¿¢€} €²q[ÕÜôtûB‹Å4X¯O•ô­ÿµÓß'H¼ßm%OCg0fšŒÖSš£Àž“ßý–pÈOí:;«Î>x¡«¶r«ÁÀŽÑ1®#Š)jx}F=˜)ù•ÈYëJ„8ƒì¢œ?Iª]s•%ü a 4êLͪÇÉb¢">ÖSÿ6á žä´íÑfÈIWûó×á3ÿ\µüçÅß|¹xÂ,Úë |Üx8Ä2‘xƒ€Z,–ˆl‡S0Ä ßC¡F<º¦?üÚ´iC#GŽ$N'®y<²Ûíâ;ìÖ[oåáõõz}ƒ6á³)b§ö¡¶¶–222A¾Ã >ÐWôíñŽZ¿áp˜¼^¯ •Ú±¡<ú¤úC=”Uë‚xj ma|êUC.\HW\qEô"ü€ô^~ùå¢ï , [n¹%zýU1Uû¤í |â¾ <®økqÄ5øP±(++‹uLóýQÛL,LÕµ€û‹-¢¢¢"$þùÂ?®£Ÿ»ZßÏ>ûlñŽù¿÷Þ{iìØ±Ô¾}{zä‘G¢s„±amÙl¶h‡0u,ð©bžjm&”¼&HZ’¸Kö9£^ôíüô÷GYY¶ãmvs$ùÛ¸qî£p¯2ò{Ö“[ü@’‰,i‡-³(;«Ý 3s kI¯w‘^W'ä7J –”`™8¹Eðw!è”ìˆÈpìžØªþdtE(6‹—´pŠ“·4ȲS|&=>Ëž˜…×ú®'öÜ¿ƒ(TgÌoÛqPAÇãŽé=ðú@×NÝ™0kìØ&læýíÛ·Ó}÷Ý'Òm·ÝFƒDìÍ7ßä³ÿþtÍ5×Pnn.=úè£t饗ŠlòŽ;èþûïYï™3g ²uÜqÇ 2x×]w :t„ Yv¸›o¾™¾ùæAèAÒ>ûì3:÷Üsé /¤ªª*=z49NÊËËYݶmÛF¿þú+½öÚktì±Ç ‚»ñÆEf{È!âûÛo¿MÝ»w§o¿ýVd´ñcôãÐCŸ|ðAAÜáÙfô÷{öìI³gÏ„òõ×_§§Ÿ~Z”øá‡©Gb¼h†÷_~ùEÔÁ}8‰¿Íµºº:Ü ]ÔCÿ€ãSO=%2Ö¯¼òŠ"@ xàA¶°Ý¹s§ ¾?þøãû_|1eË(§ùùùÕ@¶ñddåÊ•tÊ)§ˆÀcîܹ"0éÞ¸q#-^¼XZHC aW‰62Â?ýô5Š($²¸&L„ü’K.ä°¸¸8ޏƒT~ôÑG‚4‚Xƒpƒ ß}÷ÝôÃ?âŽ1¬]»VA¾éÓ§ Ò(ƒ1ýþûï‚L¢m´‰@m"XA”€°?ñÄ—Y³f _ •ê AƤ>|$Úî¬sŒ ˜ýñÇtüñÇ‹À(;;[¼0wdÛ‘ÅÆ=õ©ÆÙ 0G_Ÿ|òI!Y½zµ¬$3Œ ²%àþ«†6Ž8â0 H‚K–,¡3Î8C)xR >‰?~¼¨ƒ€ ëApÁ½sÎ9G/¼ðUWW“*§ÂS `…`ßË/¿,Ú¶šžþy±Æ°v0¦¯¾úJÈl8`Õ§ Ò$ @k@w À~àÝ©´ýäc=ße:¬}˜‰™ö[Õw«zd˜–,%’·DCäÙRÎ$'Y&“•€H‚°ÿóÏ?‚¼:TÈ"TSuõªqô äYZd‰oºé¦h§3³ÈúBzÒ»wo‘eFW5-ÑÍÌÌlt¼¼ÁÆçh³Ñ@fË–-Ô­[7q­¸¸˜š2lþù]»v­MGÖzÔ¨QB3xð`©¦’jun¥ñNf‰Ø«AÆ_Æ ‹n †Œ¦±¤]ÍÖPªa—V×®Õ¼‹3’dÒï¸ãª©©O€ }’w’&´b$q—ì7î[³eʸô/²sì×úkE¥'{caRBä*›Kz½² Ï&£¥+3N¢`íùDÀfÊ”)"KŽ€Yçd†q! À˜ŸÊÊJ!‘Á“Œš{dƱ·`O m «¾lÙ2‘­Ÿ7o©k¸¬_¿^Mæºõ=mó®}ÒâŽ')°ðä<ÑH "ØA? ­¹øâ‹…Ä XJâNÒ$€V €$î€ý @x{™gBn[ïˆü‘R]Ž»–DóXM•TScúu– ¹áÚ¶Õ³Ù5dœ'¿×,í¼è NwñPmU±wÖ î..©ŠC댨 Y S ÖwÞy§ÐC‚ï*)…tD=Õ™]1ç·ÞzKÈ_à›N‘u¾ì²Ë!‡LY\ÔA0B¯ü£ì€a…|ä ºx­¡.%t×ðIŒš½…Æ„$$„’•¢.îC²úù矋{ÐÇc3(ôú›š9FYÕ7ž6`œj_aL8 ?th ˜`Ó,ˆ;4ö ¯ íx±Â'd6ɲ٧všØÈ yîƒL£oÐÛÃ0‚à•——õêI,˜#ŒEm'Ñ ïŸï¾ûNbn°n¸Aà]9ÆuÏ=÷DñYF[j;ÀGÍÞã:‚dÐ1hs‚>cà£b‡51qâD!¿‰ÇÆgõ)j¨NðÔkm!PB$M ´f$q—ìWo¨ÚܹÐñYf†õ>“IOqIèÝ"í,®ªj‚üG}…ɹk:1•2Û,È»No¥°w …ü›ˆÂÚÌ/‹pk-ÙVɸ–ˆS¹ë1ºÿ‹¨IÈ|ÒúñD?ª½×ýh@Á]TYY꥽8Ï !MÙU‰.NPÜ$r0•BƒS[`EEEâÜq¿è¢‹¢2H``Ð_ƒH¢½>}úD' 2B7ôÃï÷‹~$j™AA2¡ƒÖG?n·[h´±IR•ª`¤š™…Žþúë¯A Ú@ÿàçå—_eùUË#˜Q 1(äøŽ ˜ªÄä~àC++RÇ…6ø ³¯M©b‡x%Ë4#›|@ÒU©ú¨—ˆ¹N0/ªO\SýA®ösüøñ±ÿ9"Ð>6bNQsC €«˜wøU}_{íµâ3Ú7nœh¤ZÅýBq'¿¨×ñ´A=ârôèÑ¢-´ ¹’v<(‹Íªªa­€ôðƀ3úšLÚÕ`pò»@ ø 5î€ý ÀÔ©äRäœÜÖ›v•Þ`ÍaÑß,bIg‚¥œ;QQk {EqRåŽ)¬ÛEY§’ÑÜ Ž<2¤‘,'%°“ÿNR‰Sýyðé"âÁHb[Û€6Óé5Ó´Ç5 óqYvÍgõiFÎm}"…‡ÈYSQNÒ¢@³§:ìƒ Fc‰—4 €@ ¤@w À n׎š¯ìéæ!½.Ÿ±T´=…±d©v¢&î'wå"rW-!ÁA–´nd¶u"³½Yl9d±DF»—”àR‚Ť„\ÄÃn DŠG£PÑ´ÑàìõÉL¢vž%÷82ÓÕÇ$3%øžÚRBÍ$M H$€V €$«¼bfUeÚÕ6«ñdNã¶Ä΋ÏSדÙäT¿ñr˜0)*rWáµ”tz»ø'£gÀ·#[F7²¦ !£.,6²*¡R)2 J‰B8™&yñ†­&ù( §är›Øù6ñD=fLl²uÕÔ×dÆ] H$€V €$î€À¨vÂhç¹9iƒ,V#6 ñÔ;¦oŠ”k- ù—c§ÖhK(!7Õ¹6ˆ—«Ò@:½Ey{öJÏ>šì™G“^"ƒ­Ž)Äo¥ g9Qp'~4¾ùdd^Ûjb–=zI£×’¦'N:ª©.!o¥ÏKÒ$ €@ h•Hâ.8`TÔ)¿”UÔþݾ0ë(K Ûª’¤I¶žŒ¤ÇWŠºÖ\Né–)¬)tQÍ®9TS2Ÿô¦ ¡‰·eF{2ÛòÉ˜Ö ¶c)ä]NÁšD¼¦+‰'(÷5}ËÒ«rõ»A¼Ü.'½2¹Ä%—¬@ H$­IÜ% €¿ÆÕÖt}ÞújNvðS«ÕÇc2k–b¦b“–`Í!ÿÉks±A5HŠÏK5¾]T[¾€ô†L²¦÷¦¬Â”‘;ˆŒŽ“H WPص€ˆü»¹š´Kè¤v£ªŽÓBwí¢-[¨éßΗ$ €@ øO ‰»à€0•(¼ij錧n¶-2šôÇÄIݧÆîÆ)Pâ2ÙÔ,Kº©5¡AÐÆ+’×µŽÝG™yÇÉ^Du¾UÄC»¨åL#·a8G]§¸œU+¨Ïp'i €@ ü«Ä]p@X¶Œ\UNÿW6‡y€Íj4i§#‘¨'çà,ö-Ð8[gIæ<®k $§`]Uî˜Nö¬CȨבÞRH!wK÷˜+Æ ± cÊ/’¸“4 €@ ´Z$q—h”[¼³sÚX.´šõ˜FëO¿ShÖôÎÕÄš ‹jJìFà©YCÎÒE”SÐ… æl ymDJËïe:#ùüEáú¹\% €@ h½Hâ.8à<øºóÏñ>x„¹ŸÁ 3%Ÿ ‰fª’[§ Œ%”à”\+gõ%‚u•ä,ù™Ò³{Iï £­ Ý5Õ"í¶13ùëêÂ:=/iyç»ßYA H$€€$^Q[;ÓírÜ•‘anG,áwñÅK\85µ%µi~«VKBÔãk&ó+áªZAW)³sHoΡP]:ñPsN˜i~dܽ^_xs ¯•ËU H$€Ö €$€²P`CµÓ7×f7^f0°eÖHWx$ºIÓñIöfZ“ÌÂ!•o›N¶´ËȬO'½9B!W JÑ1…uåÕá*W¤I$ €@ÐjÄ]pPðî»ìý˜óñŒtË™™Vktohoæ»=[Q:¾€Úò…äv!k~g2ZjIñ—‰_[mc¤Ó›)è¯[åòU×Éå*H$ @ë@w ÀAÀÝOÔíø|œZšÃt¹8²ž˧Ȕ³„Ó ã|5Ä{dÔàbƒ_r Rùö9”•ÿé Ť3ç· q×'ùýÞ T^ËU H$€Ö €$ €ËœäñÏJK3f&N Ó°çiN ájÞü‰e t=ZU«©iŸǹŽ*výFym È`® gëü SòÅrò¹k+”Ë3Üåÿ® €@ hÍHâ.8¨ømiŲÓ¦O¬Ãmz=‹›Þ{fMl–d³)Oðæ/Ž¿’Ê6O§Œ6·“ÙІŒiÝ(è^»÷Zwf P0Lþ`Ýæùó)$—«@ H$­IÜ%“¾%WﮞoróÒ®$"çÍ`ÏI³ì‰ytjùßÃ~=5먺t=å’ÁRCAï"eï‚az;üu´zmy5I“H$ € U ‰»à `EyÍ’¾þÜ¿ Ô[Úê|î øªI ùqŽ 2¯áÍ,é/œ&Í£7´¸ª²ßd¥€â¡Šís)#ûJ²Z­äm¨¶¼”ÌFf‹‘ ÛÚ}ñk¨ŒˆˆˆþÏÞÿÿFQýÿÿÿ휙™™ÝÝÝݶ-¥´ âCTUÕš¨ªªª˜D’“hÔDÕ$ L ªF š`Œ1U%ª¨ ¢  -mwÛÝÝ™™™™ydNÛ¶”BQT€Þ'Ù4ÛÙ.—9Ê­‡û¹ä`àrnÙ)nÜÒÑ:€€€F4w8ê–,Aiö”ÎWkkR“5¬Igꪉ¨”ÚQ1Zá¹&ßîåì¯ÜÄ}›îÒ‡,š9´£çz…ŽUèÊÍF¬© Z<Ç߆R[Q‹ËxBE,¦BQ%°ž?p§Øý&éÑçÙVÊYíC¾ä¥K—o¹å–C½€Ž2€0 _¥›B#€‚;á/›rï74VÝsB2}¡[iC¶@’5¤«Ç"BØCxÇÎ#ð¬þò•¾<`Z?ð´ý~g†è63ð’åÎhÛ¹ MMÈÔŒG)¿n¥$ÞesÏ áû\'€¬DáœC‘8dU‚,q1/~L´,ÓaUÌŽŠ‰Ã î=é=ÁÆ1ÆÆÓ˜& €c Ã5¾âœHwŒF:÷a,Xý†O¿å€;¯‰5N3zé ‰ª©`\«5 ŸPôpƒeì…ç–¡Ä2¨®Ÿ° ù-¨w¡²—¡Bzÿ+Ÿí;ÃúV¸ôð];7¼šú…Ðb£©€|Ëzñ™¢à.=ó½@ü ‚ÏpׇÄ$…CUeHŒ‰î–]É}ôìÃýc,`f†iY ÙwÐAp”0Æö0Æhçh Ü à¨X×Ri+¬Œbû+±DFQõ±0ÕuL0ಠM©C໨·s1]G2y*\Ï…mvµMxN aO©ù !}È\Ά;1øˆJy:оëg4N:™ÚÉ0ºv‰’™Á%6Ñçé»JÍ,Ea>„xP¢zø0D±³`ŠU¹ÿÐÁ‹ZÝ^»z3À@ÁŽZ€Ÿ~‚»aFá“Qu‰z,{JGÄnÕ0 ç"€%/ç²H½^Tóî.#žªUp\Gx»’ƒïÙý y¨,¾OüÐIžèÄ€# ,tìþ5 § ¦g‘®œUc¡¨eh*Ã>ÏÑWç}OEà‡~>WÈï{uzB@@0(¸ÀQ 0ÿe³õíIÆ—z¬sr,×ÃhÁ¦’¹; a.ëà\3ñ¾ë*‡‚À)ÁµË€ÄHV!U5 ž \Ø ÛØ{ø›# sr«‘kÛŠ¦ñHdQîÚ ·’ï/—é-zgýå3¬/ÈC,Æ ÃÀ0ŒÒ¦á½€€€àx àNG;@°ñâB]S²£FwEµßAàŠp+© H!Dw×wÄjNEK#ˆ~zfwßtYã <« °‹à’ŒT&T¦¶U‚eæDØ®!fУñO¤¨yg~Qï)ÏÂÞퟡ¶á¨z-’UcÑewís…îG_rï?¢§’×õÝή¶¦@@@@ÁŽz€ù¯­ÌÅãÓOµÝºêÄìXL§Ç…q, ëJ¢=˜\»׫€3²’DxplœUÀe ²¤‹€Ú{D ×µ ’éẌb+\Ç‚kƒ×@ Ò‡H÷lß"ùèi¡ígäÛ¶ ¡i™10 ;àZ]}í{KdzgàûKhºKeʥΠlg S    àNÇÀ³‹Ö9sŒ{§×j“ëG§Î®©]›ˆ+7$“šø=õá*$9Ö¾oõaQ‡HÏ© ð-@RÀÏ1àG›9…âñ¤L|o lË‚Qjç”q(mdzUk÷S;Ö½ªšyÐõ:$³M(´@è ;ò˜¤Â(¶Ùí¦Q¢aJ@@@Ü à˜hn†ß {#`ÿqá…øðŽK²Oë1íÊlF¹&•Ñ'èºWËä(¨3&‹¬²¬Ã÷mØ£Ùùh!‡ïÚðX´{©‰Kb'ß)‚IôXzüø>ƒYÎÁ2»Dç1˜NïÝÒi˜Òšra+öîZ…q'NG";fi7<»0h¶½ö=ú„K ÅÎNEóà?NŒ îp,+V ´bE×jÑãéIÞ”­Žßß0:5) ê˜ä( ž¨[— éÕ"À[FN„nYMCUðÜ¢檦AÕ«Dˆwvø MO¡¦¶Lž‚r±…üŸð Aà ˜]‡A¡ï uÛ¨k:q½ ‰Ì8”ÚÚ»¿öv™á’÷pOk®<ñá÷p§aN@@pìPp'€ãÀðÙróœ©å¦Î,4MŸ¾8Ôg)¿.®ËÕŠ¢b¶! =0Åì¹]é_e5#v[µ-=›–BR2ð|^q$¾“QW?AÈ`W*pf¹¾g 9‚Ø qe¶¢eÛ÷Òiˆ§›`•vÂsÜJ=šù™ä˜ÅÂj¢@@@@Á†ÀqмÖÛ[ömsOÇg¦_›Ø›-kÒ­™”ƒäK…_ÒÂføé~zÀq@3îp<„‹×  kŠ?ÅgÍÂssÎKŸÈÆŸÌfäs EçÜ”úkÓ»ÛHJ²*ú¬û~’‡Ë@b¶•3ò²‡K‰:w«°— Å³HeÆÃ÷Uó-(uíFÕËè> W‡@Wû¯È·lB"q"´D”ÒøNúJez75î lDZMÓÚ0(¸ ëì×=Àq@ÁŽ{€eËà-[VZ~ÿ•¥+ªOÒ2jüÒ¦u¦¢ðYªÊe™ó è…ä’¤BV«À³èÝ3ádY¼btŠE®œÇ ËQxžµ\VëHgÿ˲Q)á8&»,Þ×3íŸ"S;5µIèÉ10»ÊQ|Ïì?ú7a⬒å¼kêBüÀ‘̺­+y   €c€‚;Œ€—>…O­í€µèþÛÑœˆ%Ïœ2Q¾(S¯ÒUy†ª2ø^ÔûÝ»–*Š.Âv}/Úà) !+±¨×$ü0@à›ˆfÖeYCàºszEQ_US?¨†mÛ¢&¾RÎÃu ”:7¡}ÏZ$ÒgAO6Â1vÃ÷J}‹R»Ëe8˜¬¢b®ï99ì؇;þÝ-aéâ@@@G€‚;ŒH€—– ”—øfÆ <ו‰)ª¬Ì‹kʉ„¤‡a…¹N…E!Z–UpI‚¦%ÄbVÇ5EoxIR ªq~´ójYô]—•îÙyßÎÁ±K”ÒÙ42Õ“áy …ÜìÝñ ª¦¡¶&#»UüCü‚Ð7ãÎeQoo”;ܵë¸!jyúƒ•Á4Ó>"‡3ý™ €€FwéáÊ•¨¬\i¬Ñ„;®ºA­ëÊ%UYåŠT’Ÿ¦)|²ïùŒKžk‹…«Š‡Ä9|Ï@ÅsÅ.¨’œ‚Ä|¸¶ϵÄùè{Ñ9×h“t1‹_]›“³°KÛàf&BMŽƒkµ pK}õí¢=×Q.ÛK]¦7¨ôå@3ïÚé¿e  8Î(¸ôÌd¯Ü…ÊÊ—­mQ)Ís±$U“<·ºJ¾S×¥iŠÌNU—$×µEY‹Ë@–º¼ï—Eº¢ÄÁ%ˆ]Y=ד8d%!¼gG –Àä< ®i„–M@MŒƒ]\׿H5ª¡—T”Ë¥íÛ áAfÜ{WÀú=Á   €ã€‚;ÀóÃÊßønÖéÈ\rAüı úíªÊo‹ÅÃ:Yf0Nps²$‰:õ j-iZ"OK²"¦ÇÏ;µAU!ôl£ùÖÕPµéÐb£à™;ø¥î)u&ÁuCäò…Ýù|OÛ›¡K`¢°î S>C÷—€€à8 àNpp€pÙt-[c®ºlº¹þ”éÚËS&j3tMº'¦ó ªÊëe×S¢RI’E)MÔmFU5øž ÏñDÇÎeÈŠϳÅC’\ÑRס¾q´Ô °‹ºkݹ × Ð™¯´‡y‘ý׸÷v í4z €€`Pp'8D€¥ka,]koìÍs€·/|<}f".Ý—ÔÙéª*—” Í9D)M´ «¬Æ ki„¡-:ʸŽ.+д,•Òtî]d*‰T¦’Ò‚ÀëõðVÅDÛ^#×Ù]Ó. è~O`wéÆŒ, î@ ð›W˜{ç¨N*úôsN‹]®ÈìF]“¦(QkIßèn-ÉehzŒ@àñ ø .i(vl@.Udúdȱ¸†)zÄÛ–‰Û …e2aO`·zÂ;@@@# €‚;Àá„o½`}ýÐN뇺³Õ·F×égB’Ð5LÓ5¦HÜ‹fáyT£*ŠèÕ®ªºXˆêV:Ûó’é ê¸9p9ŽJ¥”ïÌYfO9[Tcö„vZ„J@@0B(¸üC/¬D+õ@ôÀ»/<šœ‹É÷ÄcìÒ˜ÎeÉ« |,j•ÍH25£¸ m{6#ÍBÑ›¢~¨˜í­¹®‚Óss¢^îºQ@@@#€‚;À¿à<ôL9ZmúðÝ—#Û4)qöø1êõŠÊgê N’äP–$®ëˆöùÖMÈ×Áèq“DQ{ÙØÐZ){QO™Nªg§!J@@@]ehÀ¿,úyÀX:gޱìôÆÄÔÚ´:#®‡WK ›­i,.qf© »·­E¶º¥r¡Ð²sËÇëw` …v¢@@@½T*Cð47Ãi†±0Ö4o^{³:îÌi±k:¿SÓÌÑù½Ûõ kØóçöÍO-ß°ö6Ý   è àNpZóõ÷œßñž³ù‰»±(–Ч†ÜžÊ7w~óØ3›©s K   €ÁÜ €Ž,€7QTJc-°(Óý    €!(¸ÀÑ †QÿrF·çÁµ“$  8FŽàþöþÿ¥Éÿÿÿÿ¯Çq;6·mæd:ÂDÄŠH$Õt†¢b`Y™J$T’ ¥@R†@Q‘!YJŠ‚©¢À¦ª” ’¡i‰¡ªNus3@€é¦n—Á°n×ëÁå8¸î¸á‹º.@K‹’á0I$ˆH+Ìàþ~NƲ–}û&,ÛDg§•†á×Ö>­šÍÏi||‚23±¡{ÁÎ`Èh ¢Ì`ƒž—­áy_‰„ö ©Y–¤òº#–m6šZ] ýc±ýòö¶šþX^®œ\]¥ÅÅŠÿ‹¶`÷ ¸À9•Ét”áù–0¥’9¥T²ûx”ßNÈX–üaýS(Ä»¤@"º?n6SÝÌÌ«ñžÃ’ÅrËl³ St46~`— 9À±âŒBñ&’ecOúùiÅ'ëÈÓßebÏÑjiÑf‹³Xúšææ¾}7ßQ}ýc*.Æl<; €àÇ jbÙk‘ EQœZ­õ‘HÖ÷@­‰k¤à8 æ86H* YYyØ–žž5˜’RFááo‰a0À ¸`û:;užÿ}Û×—<1³g+Œe ’ÉÄ#dpiéõûžž §I¯ŸGÛà|¤*l+ÛÕõ I¥Ê׫ÕëOnñq €#2S ÓE×ÎÎ}íè8Gz}7–ç ¸`Û¼z{Kõ*Õ½8• c1.VWâzj$º¬ÑøK¦­×`¸jŠúˆöÀyîØÖh|yÞË+ç˜\QX–.i4òe«µ²ßhd(2òÖç ¸`ëÝÝ.ªÕY®Úç''IËIªPl¨ËÊ ™M&Rh4ë禩)â$’©T.Y]âÓ÷+Z-_3=ý´£¶¶ŽRSÑF8Á[ho „êµÚå%K""(© €òó7üÔ¡æfj(+£»­­ëçÏÒÒ((&†ÒJJ\Ö„cJR«ýûüý§LÞ”œlB+àXwl @„ë7µZâð^v·«$ÏS®N'<±X’‰¨­€cÜ`?Àð°ô„År‡gY(º)€Ï3‡äòÒQw´Àáî°`f&÷¸„î ¾ë=PF›š|)1q¥€ãÜ`?ÀÚÚY?‰‚nìá!ù¬R…Q#jÇ ¸À^FÉq6¥›m²´87·©bfÆÆÜºŠtâÍËf#¸ãbp,‚;쨪bAáN|BCi ¡Îýß`Êfµ’¡¢‚ä^^n[IâŸT±ã.$Ç ¸À>€ÌLÛHw÷œ;ñ%Ò‹Œ j*/§„¼l:ìóÉUU+&&ü~‘§ÒÚš/.¨<°öî„`ÿþIŸ«¬´½2Íí¯Lsg‚¢Ä$8i†ÈiSd³}áL|´¢¨›¾~‰qÞ£i‹ïªë¦)"Íbš%mªÚ.Š¢ŠÃÑ(ååRTdð8ÀÚ`¸°zÙÙºˆÎN·ŠÈ¨È3Éÿù¿Âˆ…ºÚ%11ŠË´ €×¯ý²iQ‘¹ð†;€î¬M€?ïþÎ/üÖ wˆˆÈ1܈,ÀÈ1܈,ÀÈ1܈,ÀÈ1܈,ÀÈ1܈,ÀÈ1܈,ÀÈ1܈,ÀÈ1Ü€õðƒ½ÿÿŽéúÿÿÿû933“L’IAᡊ¢ªJµJZ…j•…®¶mª(ZZª"(h©JVTÛ–¶ZJ«U¥«€ X!I’™™óX·=Ù““ÉD˜¨JÝïkeM2çœ}ö¾ž=Üî÷};gx8 à?,Ü` €0Žb,Ü` €0À88ŠA°pg €0Ààà(ÁÂ0À` €ƒ£ wÀ` €0Žb,Ü` €0À88ŠA°pg €0Ààà(ÁÂ0À` €ƒ£ wÀ` €0Žb,Ü` €0À88ŠA°pg €0Ààà(ÁÂ0À` €ƒ£ wÀ` €0Žb,ÜðÀ‚•;FD–m«‘v Š®Âåßš FÊÖ ÙU]íȲ¯[±vѲiýúeñ…a €0À€ wÀüZ¡|ÙRµ>Dy}®å¾xÞ×ô/i.ìG½ŒLSz«¦/ª0!lÚ A]Óøâ0À` @`áÎ@@xÛ]ž7Ò«óÜ¿}…¢j0Ù¤YíNmlÕ&M:ÅŽ_¸0.›8` €0À§(_öOx¿¯éÅ{þƒTE!ƒÑ@£‹”`[ÿ®CbA-+N™Ó£G&q0À`w<®¸3à'WN¥]_P÷]\׉ôüz4-×6£(DF£.Š0‡ØFw¨Ó&;r¼™Ù6Ãó”0ÀÀ€…;`7€·d× ÒéžB_¸Ä­f“IQ­æqõ62Õ‰Ÿ”˜ÐÓN €0ÀÀ €…;`~ð¶¶ËM¯¤¦Qê•4w=Oh…‡ÛDU=%å’ûÆÔœF,d ¤ .’%ÐJf‹YQÌchDø ØÞí—–¡ñ q=Óù‚1À`w&î €Üš®Òb ¢`[°Ž«¦³Î(‘_¶LIwÅ]ÓÄÃé"{¶“¬ÖRÌ…²]D&‹1‚ëðÖí;¦…†Ï˜2°sÆÍ¾hš¦Ù222jX,–Öôïi9ž¼:]‘¢‘ ǪDv'‘fRÉb5j¥®‰‰™š˜pÓl3š¦UÓ4mi@@@%÷9` €ä`2™Æiš¶ˆª3Ÿ wÀü[-Ï‹0õòUº’šî)°‡†‘5ÐJg“SÈåÔí¬¸»¾êîtjärº($ÈBÕ–{“«K!Å¢†D„‹í5ºÄªêÍânVåÝét6RUµ OÀ`× šÃáèf4ç2­[€…;`þp髿Rb+d¥€€€œ¿42TR EF†ëD~î‘ZNÉÝétQv¶“23ìd2ªd6Ù5"sNÜîRˆÌªMµˆŠªŸb›½jz\&E]®TTUçIÀ` àz¨ªÚƒˆæy-sÜ,Üð€+9÷¿_ƒAü—@7™L:Ö¹ï˪½ªºHÓ²Û5R™Tá˜!;¼7ª&îsUH!»Ñ`/þ~­U 5:uš²{áB¿¿¤)66V¹]'À_|AÕªU£ÈÈHJHH ±cÇúÝÓŸþ™*V¬H÷ßÿí:Ü"ukÆ ”’’BÏ>û¬ßã»rå ÙíùX‹…,X@>ø =úè£7Ì/++‹¶lÙ"^?NuëÖÅú´k×.êСÃm{=Ž;Fß~û-½ùæ›^Ÿ]ß±cÇÚ¿?Ùl6º|ù2uìØ‘üK—.Ñ’%K¨K—.~·ÁÇ1€€¦iMÓEQX¸ßb,Ü(…¼ÿÕJM…Uæª(Â+JáºXs¹í2¥K• ´ô :Ÿr™"BÈ †ç¸i\¤) éÿyT,F›-)c?´ƒ$×ýå` €øÀÂ0?äÊ-ÏóÜÍf3™Íת°*^Ï”q?Mÿ¹[Ì RÉj!áq~ˆ Õ]ÛW4…°º+î„A1-¥ÊFkÔ¥Žuùòã\~SÄ;DǸqãD•ôàÁƒ4pà@úä“OhçδpáBêÚµ«gtt4Íš5Ë#*£G¦wß}W‹%ÿ‘#GÒæÍ›é×_¥nݺ‰ý`Aøè£„¨„ ƒ‡Ð{ûí·iêÔ©žy ñ=sæL!^?ÿüs!z!ÐúôéCãÇ ï¿ñÆÂ’ñË/¿Ðˆ#„È sùòåBÀAœ 2Dœ Ûð;,8§N¢É“'SLLŒeǧiÓ¦‰ýe@èà /¼ *èøû!Ù¼_ªT)êÕ«—è?„%(Ä"˜|úé§Ô¢E ª]»¶8gÍš5)""‚–.]Jiiiy„;ÚüøãEBqÀ€‚)Äá{ï½'øƒ *Ù8מ={èäÉ“bLè ’«{ï½—bccg™\!ñ7 |1>$ 'NmC°ÿñÇ¢Ÿ¢Ðè«´Šaüø ú†¹±*·Cøá‡"Ñ gÒ¤I"ñj×®]ž^Â6uèÐ!a×ùúë¯éñǧ–-[Š9Šß1Ö1cÆP\\œƘWXiA›&L«ö°ütïÞ]¬ÀàÚ#YpÆuD¿¥ðG`œ_}õ•HR>øàq>$óæÍ+HÝ_Õ PÙ²eÅ<ù‘Hœ;wŽzôèAÆ ó×ÂýÁçciÔ¨‘°â`U}œE’ܤI1ßõÉ+q0Àˆ…;ÏPdšîGFFzed\ûžÑà_ñUÏ.—FN—‹ìv'E‘AUÈ¢ä˜q`•Qá}Wœn± 5R ‘Ū…ZãÆÏŸ•¶îÀŽ™»6O£"*ƒB«%¨¢ê(½ú¨´CÃ~£î•+WBÛ!L‘ Œ@»&h•y„Ä4ªŽ‚¨ìz;ªÏN~TÖÚï¼óŽ8ÂÕV,fƒW¨lCœµní~\=ÄïºuëDpSÒ3.+ð2àawPRo´‡1¢°ó ZŒJ?œý¬]»¶HZ º_zé%!ÈPQ9ˆCˆrïÀþè'^úé'q~p¨Cˆ^°Br¤ôUœ¿M›6¢/àŽ>Cøú°Ê`å"+ è—\)À˜À ®-Vg¤?lqnôÁ;0/°‚1hÐ ±ªáÛ¶mË'ÜqØÓO?-l(X¹ùûï¿…F²XÅ@RU$PèÛ믿.æª\ @ÿ ˜‘$¢_šø24·½üï¾ûŽúõëç“*âIIIbE"_o}Âï˜'HŽÀãA`.`u‰æ1œó÷µ×^‰oÆ ER ¯?> HFñyÊæ%` ÀWÜð€Csµ’§Þ®å p|™’'4ùL¹û »€Bîý´Üª=I.RÓ³iïÑÊÌrÝá"‡SÚiT!à F#™-&ñc2‰ŒDáAcꔫ⊉‰ŸžÐ³HÏy‡0BÅâX/^'YÒ¢¡T!ú!J ÖôÖˆ')þ!†`‚^ÞØ‹v!6½Uiˆkig€ÀA,^¼Xˆ!Øä{”•ˆ-X? .!´d zªÿïa?*XNdp’ŒGzÇ!ì³²²ÄødÈ~Ë ~ÿþýéË/¿Bü¸xD¬¬è"1B‚^r_\œ« z;ÞGåDæÂ… ¹ °‰H6ÒBÁŒUédž]Ho›*¬u$XXÐ3•ãö°Bȱb^až„>Vk¤·ã–âÚÛÚ‚sb…\ ôe  _P >^¬ª ¹Â*a¬ `®ã}|Ð6’!³Ù,æ˜`%…ƒ0à wÀü+ÚózÖ33³(+Ëý„F£Ñ@”žž‘¯2-od…L»š–ó­©Nr:\”™e'»ËAš‚Ç@j¤‰»Q5Ïq(À;ì‘:à\—.¥‘jH¡ˆ¶`³ÅÒgÀ”…8.ŽkÒ¤`õx –¨bÃ[ Qƒ*'|Ã<…„<Ð%W8"Ö ˆxâáFu"J$,#¨„BÈÁ+ì+`AÕeô ¶ZøÄ!ø`çOx¥ñ8>ˆ¬‡zÈÓ„&„üĨ–Ã:1Ja{ ÆO9DÄ2üÙ¾+/ù¢E‹|ZT`ÏÀÊ,¾bô³Ï>óxõeEø›o¾¶ °D…•è„;„!ÆŽªñóÏ?/,&°…àZùH(`A›¸~¨^cLh[zØ \3XÌ [KÏž=}^صô–,X”ð÷äÉ“ÅuǼ•ªS§N…žÜPÕ†'¿#IÂ\ñuÆ‚9‹ë†˜wHœ ¬Ð ¹ƒ }Ç=8'\CX~~øáq=:wî,®’ʨ¨¨=-ƒ.\¼ì®¾[(Àb¡‹/SvvþxX¸MøÝ“Ï]Èy¦»Ë-à.r:œÂ&£9ÝÞ÷<'Ò•òÌd0h”mwPròe2› a6[tåìÿ­Á=vþ\`T¥¢OÚ]`3@%^n¢“¶ ¸Yb ûBXÉo…Åx¸1ÞdTÕ±MVš!!°!ReÅ7ŠBØÁr2cÆ OÛ8?ŽG¿ áF›HŒ`ƒ‘}EÛ°4H3*šø©QEÅØ¤u¢vúSe{ü8ÕeôçÇÍ”dÒƒ§± 9ÀùæÏŸOòi8x\ >°b° g„Ã-*²`Œócl£FBœä °à‚s`ü`%Ç 1ˆþ‚#ÎãÑgåÜÇcþŸ½ÿÿŒã}ÿÿÿãœÝÝMÒ$›$I6÷4mSi«Õ¶ÕªP(PZhAUZTÒnªZЖ‚R(¨BA ¥Ú¶hѶm’$I’즛lvgλcfÎÙs'³»›m4ɺ¬û}wfÎ9÷zžÑÛ{;“Š‚Å+?øèV!ÎLë™t¶¨ppÅ ¶?±pç1äûø­2zþUDqåµÜwþe†ûÈÙs~Ø ý¼fBYœø»²%GÍ?¾ŽE<_Çs€Ûdº n_ ~^¬~ a?¹ªŠÃ xýýæ‡WofÉ_Ùz¸ Yü+<W¿†°XçyÁ^ÜóáyÎs†ÛbÑ®æ ?ððÃ.÷‰YÏÏÏÛŸóbäj… @Ý€p¨€é˜e<-íZfÚ;Û©½ÃýÙÝMÆ÷ïè+S’EÌ.»%ÛcY”]ÉÓòRžV²+”Ï›”Ï[®]¦µ·¨ª]W¹"µÛ0M»OÇC†Ù\«pç¶ê8Ñ¢ùÁbY  ¥ÿZ¿ b¡$ý÷c1¦BÝÇþήç[Ý·®‡XÊ;¬Úà>ètFº8ÒÏ׃E!¿ôþ³ÕE¾Þouþ¯ú,ú¹Â —]ä‡?ýŽ|/Îò’Öwgqsé﯉Þ/ÝŽ£—3ô?HøûÎÔq5åjÈë,õóÔƒ€}±?ôþðTó¿“úÕFoý3ýž:7¾/K©_wx.ªvø\žc¥æ÷_1R÷Э7|½>/‚˜ñgúTýÖÇî5°ÈÉŽûÊRSÎÛ®CE§ãCFˆÂ§f³S^K¢KéyÙ±n’iåíëb QÊçsdæêÊÏÒí6ÒmˆÙUnL£e&=W_áÄv‘ ì2/Fô/­çàñå…»\c½”Xåc\ :÷ †‡‡ŒŒ\Á´?é·®¸±°¦ÉÉi/©í—Ÿk‹SWWýú1æúàe‘¸WÍÙ»©ºoØ'ß“è¥L&M‹éEoc'éf·÷õQ(rµ¼sp9“£TŠ6U”ªR®šG=g‹y‘b¹`¼^SîÕMFL`iB[CÔÙÝa¿ÊÅà¾ÕUSœì½“9猽™wD½½¨UJjhè¡D¢ÇÑæ‚H÷Þ¨·ªÂXßê!h `ã ãP#Ëî–O¹[¦éÕ¹fkWŠñW”ÑÏWúÛ¶¸¸§ñÂTÖð\¯Ûb{²¥®q“ôÂÍ®‡l¯¶ÐêÅ;Ç nY@=€p¨€åfÉ‹D8MMÍÒÄø$ÅbÚ³o&Ʀhzz›àH¢x[œÿ%hô÷(e—³þÛx‹óvP8qvW¥Ân®€úá^€âÀððð5L|ðXœ;(©ü ôîD'uuwºÂZØâ›_«B9]ô‹¥S¥FZÞöN´s÷. 7³¯<5¤-Šu}ôÊj£v`ÍbÈê „{RÊÏ###0ïÀàé‹‹‡¥”' ‹ð„¸çUgË‹é[uªo£j¹—¶Òp¾\ oÞ•½1–]w›Hj¥ÉW>¯'Y¸V½òùU&(Y¶÷ r¹ÜuÌj ¬2,Ü MNÐ诱ª õ$º©«§‹Þ½}O‘HØ+yäø!šŸ§Ñßãeásê÷Û%& ·?¦V‘P? Ü+¸{÷î&<”àÕq×’à݉nêèê¬ Z(älèsìÄQ7“îT•‰D#ÔÓ› Îî./{OTpÆè¥(Y´ÛÙz•ñ'§Cáp4ȶ(÷2’ÉäÌl(À²_Nv[jÊÝ0B$´]*+«ëH,ê>8¢›Å7[`†ú-v¼p}xé–™q6dÎUVÁöžU:P Ü+¾322róª055EÓ“3Uc?û®´”Y¢ß?Gmn¬Úßîì…Æb408@“ã“”^HÓÞý{œ¬»0HI†ë‰…ÂF  ~@¸W°˜Ž)Åö¸kyíx¼šš¶­ Z8¡æ–°-È‹òëKKíL|(D]Ý]ÔÞÑFF(äVuW Y˲Ë7€záP#¯l#çµC}E=ë‹(AW–8ŽF¼ñPÇe‰jh yǤ둮Úg+M¼¡c PG Üþ @¡£Š¹Ù9š™µsർ8¥%Åãq{c¥‰‰ {S%uknn¶+Ìüøö“L3¯+Ò^غ}g?…Ã…?e¾—‘œœüPòJ|°õ@¸ÔÀ²›ŒWYÆXCµµ·{‹H‰ åc±˜½pµ¹¥…›Šl1Q7K·ÚÂÛ[x*<3nenß©Ê6úCÄÂÂ$!ê„;@$ e ö«\´ÆãT*âí^c‚JXeJøh¤Û!x`+€p¯@qSJД»ÒÊéTŠ ¥+„½ªA”èí¥T*E™?¯±–x † …¹Ôªö¤»Pµ'ÑcoÄD²PÅådê„{Édò&>°¤åìžêŠel_!áý¥ªv»p¯5„Þ˜³Ø4 =§ŠŒÐŸ ¶~e PG Üþ@€-…ýëü u® Õo¥c¡im[m£ijÖÊKúÚ I€zá^ÀÍ›7¯&“ɇ˜ú@ d½¼#[]–—–¼úìÛš·Ñb*M¦i.dW‚i‰·R:½Hù••¢ceC;3î,ôy·VBÐjó;†`Ë€p¯@Jyó‚8rw3µLi{Ñ9²Ù,¥RÞBÕÆmM´¸¸H¹•œ§Ë¥[a†…ûÒŸ -e2e!Û+ÉÕgð®«Í­­dŽO†+ÝØv8e0i î@¸ÔÀÉ®¯Ü4-°3à\ R•ƒTÑ×ßO¥¢§7Aë¦ÅÂ]Â+C¨Oî5îÆJî/3”7-7ë^ðº¬Áõøž|¦—Uí *lð$ ËTQÓê„;@­´š‹œí6lñ,HZÕìÝ¥ô´–åÕ‡pÔº]Z²ŠJ6kjçl îë@:»¨zó€(——ëèon'Ô%÷ „O0÷ €iY",$Ebmªú‹‚(-«Û‚)™LZCCC_ ÃØ‹Q€*d…Øëo@¸WL&_áÏ|8§šŸýüQ¼!Ú|)n3ŸÏÍLý4”‰¦\¥”—‰è%'Œ4T`Æ%PÚîkÀB8ëÒ©[D{F6'À¯v«ñß„Ãáצi>7 ã&”`YÖ!Ä}Ã0¾ƒÒÆ€p¯`hhèÂíÛ·Ÿa‚@€Ñ×-F‘%¢óRÊkDt# ~¦ifB¡Ð3÷ß Ä€p¯@qšˆ Ü î!F‰èF`s€pÄw€jüÏÞÿ¿Åœÿÿÿÿuî3M3Íh+UYö€ƒŒ‚{$+°8¬µvá8ìÚñV°U­8ë`ìÚ›ËbW‰ *[6Xl*UUM33{\o«;‰jªËí8æiºÏý~šÛt\î×®÷Ûàa`Tá@pF5î¨~rrww"£ÑV£ÕöWº›ÍŽD“ðr–àÉV5›Ë¼½’h£LvK\•[\œ¨7Ò)**‚ƒ±–/•€ànÀd2íÂL¬"€ˆ¹²Aƒ6z…"àm…â­Þ¶¶dD½ìe2[O…‚ì$‰<å—¯/Ç2äÀéþ£ñã¬Ûd¢<³™.ŽA¹”m2¼a4JÐës&S¼aÿþìÇ{€7€àn ,,l&\%¤¤8*óó6P(¾’äòáììä~¶¶TÏÆ/C8WÔ$‰ä2^¡jà(—S€Z-nFŸFcLTaáÃï.fL"î^PÊ€àn`Þ¼yþ!!!¿c‚UÀüù½ÿþ”ʺ©Õý?¶³#¦dMà =ßÚ)•´ZÝÎüüäè””KóòÐÍ›?R` /6e@J² 0†ˆÜß4@LŒ‹»FóëuêèFÚÙI*ë5ú÷–½$Ñ8­–oÍk4ë§ØØ,Î>zô½âîÝSH&3ã—6–ÜPÙ2ybâŠO4š15'7¹ü©EN0j>@7•ŠbÝÜêFäçŸZ˜¸9ï¿“c , ¸ ò’’<<Íæ /ìí? Vªìµwòi$‰ÆkµÔI©=ÿÔ)¿„ü|_êÚõ<ÞŽ¼Á•¡t1™vìuuíhe1ë´S*i‹³³Ë ´´s©qq-ÈÛûpx1‚;* )ÉÅÞhüc¯‹K;„vL¸gT2ípv¦¯³²m>p@G}ûÞ…Ï ¸[0™LÇ1q^ 1Ñ’]nní]är4³à…Ü:doßà´»û™Ó11-É×7 T< €àn ,,l &Mùlââ>›¬Õ~èR *íyyyT\\L|Â'n’$‰›µôôtR*•T§N«Ù3^:r“““c/½~N:Ñt«CÃþªÁ ÐW­ž4ÆÎ®V(ß¾}›îÝ»G¾¾¾´zõjJMM¥‰'R‡Ê|ø×¯_'­VKuëÖ­P3Þ¿FÑØ±c­êµq’$ªÕNûáäɵz/¯Óx{ðÁÝÀܹs;…††þ‰IS€ØØÆÃµÚæÖ¸zLVVݸqƒœœœèÁƒÔ¤I˜/]ºD...â~"L«T*jÖ¬ÙØØˆûŒF£¨Vs8oݺ5i4rss#{{{ºuëmݺ•¦N*±Ùlž«ÜmÚ´)­Às…þîÝ»dÇ<åâB>¤õë×SÛ¶m©gÏžäìì,Ç?ËßkÙ²¥X:³¨¨ˆÎ;'NÒÒÒÄqð¾4mÚ” …xLÑÑÑ"¨ó6F%¾çéé)¶IK—.%WWWq,#FŒÛà‡‹/Š}³æÁ-3¾jõÛ»ð¦à)wT€Q’׳âÞvÁ»wïlZ´h‘Â\Aç€ËîE‹ѰaÃDàîÖ­›¨óÏqçª7Wˆ¹5&%%¥t& :”fÍšE¡¡¡¢BÏ'ö¹ªÎõíÛ·‹PÎ' 3fÌÕ}Þ^×®]iÀ€âD«ä%ƒŸ—«ówîÜa}åÊ•"Èó_ V¬XA4nÜ88p effŠj;o›->>žF-¶Ï•}///±kžr¹Þš< €à€ŠˆŽV4‘¤B¥$Ym_pî%çj·­­­¨Xsèå6•‚‚Q?vì˜ÝÜfÂí&………¢-Åßß_´ÅpèçÊ;·¬ð6žÉÉÉ"t9²ôbyûíÛ·A}ðàÁÔ©S'ñ}ù/|?ü;wŠ“‚û÷ïS‹-DHç =ßø$‚Ã:ï#Þ½{‹ã³{t}Aýúõžòñ †=UÝå —;RD„œV¿³Ø?@% ¸ bÒÒÌ7µZ•µóÊþ§ÿž+㇢ãÇ‹°Ü§OŸWž-ÜãÎÇŽ¥!šŸ“ÃþæÍ›Å‰ŸŒ3†_:¹Bß·o_¼EOýâÅ‹E`çÊ:·Âð6^6¬´cé¥û«7›‰M„@)‚;* 0ÐhHL¤<“I¬Ñ]WÖ¹ŠÎýä\uW«Õ´fÍêß¿™†[^øBÖeË–‰~ù 6PPPøÞ’%KÄ×\ç X¹ÂÏí4ܧ>yòdâUj¸ZÏ­8Ü7߸qcñüô9üsÏ=o›÷-**JlsÕªU¢_ÝG®Ù|…ˆÌÕþ@°ÿ€7€ànàf\ù”&Sð=£1ÜÓ ƒ;¯µ^²L#W£¹]¥¤U…Wqtt­,Üë¾wï^±l"ßöíÛ'*èÍ›7/­žóvøñ¼ëÕ«'îç^rnUáû¸ÿ}ãÆ¢ÂÎ}èíÚµÏÉ_‡‡‡‹J<·»ð*2ýúõm1ÜÏa/~-ÙG~~þ @Éj3ãÇ+ÜðþM˜0Aôâó…©þy•îu:øš«õ%ûÅ à‹W­u$a%'ž@p·ŽYS>}vö·'Ã=_Ò»]•£sçÎÄ7œyùÆ’1sæÌÒ=ã‹@Ÿ\5çÁá[œœ(•´víÚÒ#á[¶l)=:>!àÍ·'¯Ã+¾pø/iÙá•m¶mÛöœÌµk×DkÌœ9sJ¿Å~Á‚O=–O6xøùù‰ùB[î/ééçj>k[¿ýÉc¸¤×Ó ½>ƒ0x Áàç—µ>99fZí«ª¦í2=Êò©ª¼¤ãòåËE%ž«ô5yÍfZš›K¦¢¢Ù5ú@ql€r ¸[ ò¿ŽÙU>€ÔââÐବƒádÄT·µpp¯ #µ¸Ø™Ÿ?ŒzôȬŒc¼‚»¹\Š`z÷”N¹+.nê@µz¥Êê™ÁþU!@ª^O#ÒÓÓ 4šßðBð<‚;* ;#cí0Ij½¥nÝI¾*枸j0PXvv|NNNwòò2€€ç¢PñýúÑÔQ ÒF'§)ïªTh›Á¼¼ æEƒFed\¿Ÿ•ÕzõBhà%î¨<Iš>-3óO?•jÍBGG¹ zÞkýìû)?߸,+k×?¹¹!´ã—àÿÜPy^^ÅDë¶ÇÆ^¿i2…~lgçí¯V£ú^ çà™âbów997~)(˜C:ÝF¼ ° €àn éÍ||"OEžˆÿ¤—Z½ ØÞÞ¹‘BA¨À×ì™ÆK=f˜L´"''ãû¼¼’¤>¤Óãý@ÙÜ-„„„|ŽÉTA]º¬ŽßyÞhôw—É~š¨ÑP€Z-ÉàkÜ”K(*¢eYY¹›L!·ŒÆí¤Óý÷¯€à€ªèÒ%ý.Ñæ»?Oñð˜ØÚÆÆÛ_¥ÜV©´÷²±!g¦huÈ1™è/½ž’õúâ˜ÂÂÝqC²)-mé£ •1(@…¤¢ÙûÿØÞÿÿß?§ÕìÚ[6¶((€€ ’ hš " !„ ©JJ€"QUMÍtnS©@ªæÌqa ǚƵ™e­Ÿô; …Ÿb±xåÕõÉÃÕÂÔÁã‘ kkÝY>?Óše£--û›ššÛ²ìá[ýD¾ú3ç“ùo}YVïS=iÕã.ÆxcØ,•îf¯®®ÖK¥û,Æ‘ÊÒÒr(Ý)øÃ½@ŒqÚ˜¾üo-†¾¾½J}Gù‰££®‰¦¦Žž|þ_{–õ\ærC¹;«¾+Ën[³ì×ÃòBÝÁ¥6ÿÞ¸u÷r)z9„¸u{{cV á¾9Æ…³·Ëå‹Ë…““Ã00pYñ |(€á ¾z{«‹q¿zì†vC˜!ŒU?p…Bnupðw8>Î?=æ6ßÜØØ“54dNëYŸ}*•w}mqÂN¸¾~¼Ì¥\Žáôô" ß?ü“%àK w©ÄP,VË×§ð&„§ð w) w) w) ÷“““#A¾Àp 2ܤ2ÜkŒÏ¹\&à› wJ Ã@J Ã@J Ã@J Ã@J ý€;ÊÔ€á@ d¸H d¸×𦠀:0Ü( w) w) w) w) ÷ÀP†;%á %á^À˜‚êÀp 2ܤ2ܤ2ÜÞðŸ½ÿÿï¹þÿÿÿËív¿ßïÛ¶m›mÛ  TR¢”¨p(I@(UDM!8¨BŠBˆ "QB"ÌØlÛý~¿Ý‡óõ¾ë}·ÝÝ·1cÛº\:ÜÛî÷ûív»]o§ëuu¾\nçëõÆ[pt°pg €0À`E X¸ç€ÀD €0À`… wÀ` €0ÀQ‚…;` €0ÀGî¹à0` €0À@!ÀÂ0À` €p`áÎ` €0ÀÁQ‚…;` €0ÀGî €0À`E X¸3À` €pp`áž ~qd`ÒWk»ùûû×sRÝPiÙ£s}¥• 4Õ?ÝÇìµ)1ñž^ÍkÍyoÀ` à¿€…;`yPµZµúeK‡w#…HÇz&Jï¤g¼Ñ ¿Ëp~¦‘®‘f³Û£ÃÂüέÜs¶ÏìÑ·ÄÅÅ9ˆƒ0À`Äw à–¨ªBiš›R—¡PÖP Ÿé™›(ŠJºBªY1Y5{]³nŒ~sb˸8ZIÄâ8` €0î72øLü—’÷J{–Ð=¼w‰ùëwR…ÌfYìòóœ0Ë({tƒjkˆbÙ6Ã` €0ö¸ó`y eTÚ¥W(ëï™aéD¾ÑJ£¨D³‰U*9sÙî¾[Ž9°‰îmfÑ¢E&â` €0 M›6|ד*,ÜÈî’]§ltº+¤Ð—Û@ÀKï,^–Òôe‹OˆnWmÕíª¼ëºnr8퉨­ªªÍ‰ƒ0À‡Ã1K×õ5&“)NQ©0€‚ÀÂ0€<p·¶K©žœ”BÉ×R2¸›Ñ]×) ÐLª‰¯Ší¥X·Z-äeõ¢Ë—ÉâåM>³¢úXýT%xò¼­míëÓºÛ!Þív{“É4›2³Àÿ Wº*ŠÒ…ˆöÑf  wÀò€n0Ê@€“šu&ªQ[Ìf!èýü|2¬2ºxá3‡¦“Éd+KZL*ÙqHosÅÐȈ¯—íêÓ¹e­Øµù½T¤¢(Cy0À@öìvûÿˆ¨3b €…;`yàZæQÝâÝl5“ÙbÉô¼dY2SÂûøx““áQzºƒT“™]'«š!ÑU…¬S(ùùL_¸õX¿¶õ+®Ê/ñ>bÄ5¿í1)))âš|}}‹ÄزÛítíÚ5 ,ÍMLL$UU)  XümjšF.\ ÐÐPÁÙb±··wž/íüùó~KlÈjµ’ŸŸ_±`Ì×pÛ(&“©/õ'"¶Ë0€ÀÂ=ü&þ ̀ge”z-•RSm.³º··•¬+]MJ&]3lœ!êÅ?&»jd·kd³9ÈÛj"³ªˆÉªŠCüoƒ¼üÔ2Á2}ÉγѭjGm-¬iúá‡Äå5iÒ¤@3ÒÈdº±y¶§OŸ¦ 6ÐË/¿\(û¼yóDÑ¡C‡bñÇ—œœLƒ ¢O>ù„–.]JÕ«W§ÚµkßÔ¥9‘Ì(ŠBï¼ó}úé§·Äæ£>¢ZµjQ³fÍŠc¾†;`ĈJll, wP X¸3/d%]B^ËPóJÆŒSp!(]*?s9=³n/^Øk»›ÕŒ£ÂE£Ùqls”¢ú.Ÿ³ùp§ø)ÃWƇ4=ñÄ:¦.]ºD à¢fsñýÏr—.]„¿Ùøàƒ¨OŸ>T¢D úðË-¾.À@nX¸3GX2k±ÝùÎÇ×G¼ŒŸ!‚ƒVŒÌÏeÕÞi•mÃFfE#«‰È†s¨N Ž"fê¤x+A‘‘a[öGqqqùf›1„´´4úòË/騱c!ùÔSOùêÕ«iß¾}ôÐCÑwß}G=öµjÕ*‹Û¸q£¨Œ>ú裢ÒúàƒÒÄÏÇœV®\I^^^Ô·o_aUX¶lýüóÏd³ÙDÇC…uëÖ­âX8/ªø¨à£R»}ûvÚ¶m›°:`û:uêˆße "›””DãǧŠ}7oÞ,87jÔHϽòäIzûí·… ãÅ_¤Æ‹mÖ¬YC?ýôEFFÒ#<"ÎgŒ/¾øB´µgÏžâS\/„åßÿMø®|ùòâºÀï®»î¢={öЦM›Uh°XŠÀ2>>^´ïâÅ‹mFß~û-íܹ“®\¹B?ü0EGGÃwKü±h«U®\YÃGŽI öƒÅ¤W¯^B±±±Ô´iSÑ7GŸ£Æ8xð Í;—®^½J+V¤~ýú «ËK/½DǧU«V öíÛ·§Ò¥KSÇŽ…ÀÆ5¢M¸‹a´£Ìš5KŒpüþûïiË–-tîÜ9qnTâ1¶/^,ø”+WŽºwïN‡¦_~ùEôëĉERöÙgŸ‰6˜FEEÑÓO?MÕªU£þýûSÆ ŸÅ´ œ=ÆÚŠ1>gؼñxîÞ½›žyæ1î×­['ÆePPè[ÀÀÀÂ=1113GŽÙ‡$È€î†Æ–n#›ÍNž•ñR¸{yY…xOMM#“—J&ìlr~Ÿ»s%2…HSHñõ®²`þöÓM¢ë–Þ‘ßâ}ÿþýBŒ¿ÿþûQ#„&B ¢B‚µ^½zT²dI¿6„Spp0µnÝšxà:t¨`ýõ—Ä8þ!C„ÐëÚµ«8^BBMŸ>]$—/_ÖªS§NÑÌ™3ÅwؾsçÎBd…Äóo¼A¯½öýñÇ´hÑ"šÇ÷Ù wTxá׆à‚ƒ †Ð†>s挨â\¨Nãø„¨8CÌßwß}Bàb"#ªÉU ÂõÏ?ÿd ²úŸ¨6?ùä“b^Tf!(!dUnlA¨4C´B„BÌ"0±‚P&09’•I“& ÿ¼¼+€d׆kE`Â&Ž Î÷ß¿Kü¡îQY³fMÑt´ë÷ß•÷Ï?ÿ\ˆWpÄu¸>CòÁ‰s'½Bü£?Ч¨žãØ9±šH$gëèk$µ2pWû⳩S§Š¾sœŸ#QCM»~XB#Âv 4/°¯[·®¸#ƒj7;0‘CÒã.’c›MŒ…gŸ}VÃßß_Œ$œŸcüqvD×(Ù£ï!Øñ}";\XI;S… DUŸ½òÄÁÀÀÂ0€<È”êz–ª{@€?ä´ZEV¡/Ÿž àïGf“•,ä´ÊˆÍT¸ÛIUtJ'Åé{W°Ä¤¢(~Öð’‘ç6ìªv Øøüª¼ÏŸ?ŸÖ¯_/*X%FV¨’#ndò'ŽÒVF‡UF~üñGš2eЍjCüÃ#Eš1ÐyNbŸ²=ž ij ˆK£0Ågˆ¦2 !ö @˜ATÊsAÐežR$âÎ’\X¢ZŽê»±íØ¢mÒ +—§B…w ,’T‘œ¨2#¡€ÅüPÉ7ÞÃÆÒ­[7Zºt)ýù矮oq~y÷@;Þ{ï=amAÕr)Œ=õ‘Ö²ýxþò”¼"‘’‰ Çï±cÇ û Xå4UZƒŒcÐØ‡Æä-§q aoä¾@;ÐOžúI¨‹ònWÛ‰ƒ0€;€…;`·@7¼dè¢oüôúª;…Ó"£¹ì6šC'ö%¼,«Êèª^Xeœ[Â÷®à½X^!_ïÊ © æo>Ó4ºQ©mù!Þ!` ˆQ¹„bUðü6YÑüí·ßÄÑaÁÀya×AehÒ¨°—)SFˆ+ˆRRcH±ˆê1Ž ± «>;þüus\+|ì8*üɨDË*ÿä’=zôÈr.xžQFìÝ»W´ç…ã…^UiLXX ú¼”*UŠÂÂÂD•v´–Tä±-æ¸WÝQG‚yè‡C‡ ‹É™3gDÛ:uê$l@ð »êý!RqØ?r $Y°’€…Õj>ïôôt—à†µ“MQÅÇñ‘A<£š[îZÀkîI¸ÃKŽJ>Ú« ~Ç \ ˜@ #áÂdT) q­x/ÿ~ÀcüÀq³Kzâ.ÐŒ3Dßc¢ï1Çý„öÀ¦Þ¸»d¢iÓ¦ôî»ï /?úó`ïâ` €Ü),ÜÈ#{ÆÂ0ºÁÄ+W)ñr’«QÀë·äÄ?wÝeˆwM¬éî@ÿ&@|:(Ý®“]Ó3žÔêLtE%Õl"Õd"+*~fo‡Ãkþ¬õ‡zwm2oÍ­>aÕeˆL`„0‚0ÄGXŒkhÃ&á^q”â â \ 7Vi1€ˆ„5BÕèñãÇ 3*ÉsæÌE!B!–Qñ†‡ Gåþlˆ-ØNP}ÆqQË,)¨·hÑBTõ±?Ä—»­ÖL0Äy!!òQ1—¶ˆð¤¤$ñ»Ž2°ÝŽ;Ä\x©qðÇÇÇcò°HàcÇñzöì)8"9ÁõÊó`¢)΃DLÜ}ôHðÄ9,ø¹nÝ:Q†µ•jpv·¡8÷òåË…ÐÇõãN ¼íHd5Â>v£ÈÆw˜Ë€vÁÒ„å)a#‘ *ñð†CäöîÝ;ãnS€xKŽ)'.ãZÁ ú"óÐßH0¾°_Û¶mô)úníÚµân,1 .~y´ñ<æ_`{Ld•6#?¼wl›Ú&°^¡8>ÚŒ¿ˆw$HL°-ÆíóÏ?/V¹A y0úîÝÏÃo`ù €…;`y ;…´žÕ*(^2²s¹cŸråK¹¾‡ÕÝ¡žf§ÄkitêØ%º–œJé6‡ðÁëâYL*Á`±˜Èb5“Åj"// ùùc%KéÐði ¶ôЮAì ·7ÕÏð C"Å= ÜÜÃXÑ2dˆk¬6"øÇ+¯¼’娊ò!NŽø‰J1VO"â(xîëÌˀ妸ªîœ0›îäë`Å ÷\ÄÄÄŒ9räbÓã|ù@#ç:îxI ­;׈ËV£KÝmÐÜY„¿ósÉG“Y%«ÕD&“JšfvúÜå¹Yáw®.ƒŠ¼ó;§ï^%KÔ¥¤„Ìljr0À`E ÷ÜDñ8gžè”im7ÂéÒE§Uã,Uq((ПJ„Ó™Sg)-ÝæÜßµ‰î:&*ï¢úNºðÖ†…EЕ+‰”œ”L†…?„¼dT¤X]Æõ±¢Pzª]I»’ÆÇ ÀÿÙûÿ×&žïÿÿ?3»I“¤mÛ»m­¶V«ª €*( €ª (""  ( ­%Ù(€€ ‚ ‚*(‚ˆ"€‚€¢V­V«¶mÛ6M’™;³»›lÒ$›FµM¼­ÝÙírÙmî's?{¿þwo€ýçÎ{]àî{FO¨oúúú¶1Æn¸CßE£Ñ½v'„NMÓåßÅRÊ)Ã0¶8ww‘ߥÂÉ´¨¨–1CCC›¯]»–´ÏY=(Ù˜ÿWÌÛ‰D>ØŽwcòÿÒcÇ"‘Ès{ÌUÆØÎüw!ÄÙX,vÇÓË;’ÿŽ!¥¼bÆ{ÌqÆØ™ï*w¢ÑèYûœU;KÆ÷AÔw B€”Ý{]æå˪TfôçéºF]+–ÓÈÈ(N”åìJ= ×›3÷C_†(•JÌËÍR™å¤iº™Îs×1êpe¨)$î@¥êPW[F'ššÍ$UM ãœšš›©±P;9æêéH®þŽdÕ¸;cÚ;ÚIc”™q—ö­Î$;çZvWi=ÀªöG¥ µ€ÄÝ@aà¦@!€l¢ÌrJbT"­V7uBÓµl‹»l¦àϬT¹ªŸ·?ø8³Ëb(gzß*‡—ö ½u<áô•—’R©LÿW‘ €j@âî‹ÅÞâö@!!¬D9-¥™X;éñèȨùÊ 'uÎKÜÕâKõM ôqà“ÙöÑš-ÔÕÝIÓSÓ4:2–‹ïJÁ¥]*³¬³Ãì<ã´‹LÛ_ sî¸q5€Äø§»;!†‚vÍy‘`Ù/>¿Nº¦QÛÒVW…º$]×) “®û¬N3®È|F°/׸Õe†¹Jiˆ‘®û1Ó@  q÷èíí=‹Å.â®@!gåÔLw"ò×Õ™¯ùDCãœN™ä×4òüö'W8¿JºúȨEŸ\í ÔwÎùfÜø( È5óíŠÉ‰Iššš¦rCÍ–·´4S2™ ñ±IÊYY5V©º*‡Ñ|µ´´Ðää$ÍÆg©µ­Õšu猘Pe;f¯HJû„œ{v„ J¸•¤­Ùv•sWò®qÎxÙ®Ìyð”¸U+ïþYΣ¥ŒHS3ëÜüž™ã¹½YýÛžu·Öb¢Ô4Jepsj ‰;P!€t׸»òëP8LÁp˜¨ÈÚKÎØüm>Ÿ¡`æz¸*b Fcscf›´÷ÈŽeTG\[j‰;ð+vßtwrÇ)Ÿ%fσQ¦m£ßï'Ÿ¦§gH¤Ó”+—äóû( ÒÄø„ù@*Ël+Ò¬©©o¨7»Ë8³ó™6‘³hˆ@- q*öŒ;åN{ÓÌLœÆÌvÌ,y1Óh»¾¾¡4]§‰±qJ$vjní®S] @ã£c”N¥­œœ¹53æ?v¡PÈ*ÍÉ›Âÿøí#®-5€ÄÝ@Jyw< ¨E„;·C­”ª^¥¢£s9‹Îî™cå¥ëÙÈ«£qÆgƽø4}ΆH$"ûûû ¥Ôû%Œ°ÐHÜ= Ãx†ÛEäÜä9™HP*‘¤œ»TØ;C!J$”N¥2?Så3jÚ=9› bÇ ƒÄT©Œ=«/íe†”RžeŒ]( ðo!¹ÞæX0$î@¥RØy»Ìy7§ÃßÉéãÒêÓ³~ þT«®Žd®Ik{iœÓס¯Ž'ÍR™•«W“óÜÿ¢ÈòNåœ?”RFÔçÜ ¥œH&“˜ÄÀ¢@âîÐ××wÌ0Œ¸_ ŠL¿,ik5_•Dû²¥æ+?šþk)yœóÈ©¹/3c/ãñø&ÎùMÓv”¿'¨y€§œóÛÁ`p—‹‰»cl!q@A™éâ’­bI¥R”v:Æ0Fº®›?“ÒÕ~†‘Ù³]÷ù(©¶ ‘³­däóùü¹3ñŒòþ€w7Dô¦¬ÁÀ‚ q*È&ÇjESg¹ÓŸÃ?èÛ«´¥¾±Þ|ØtàÝ{šÇs¬ƒ¡ ­Þ°–>¤É±ñÒסÈSª\×híÆõfxwkÊyTÊàúP%HÜ€ ¬IrFé´ Æé:7g¾[—¶›¯L0¢5×uîîYù[®’ÒiW掠¦¸X+§Z²új&ðœå”­0*D ™[ã u¾äìÎò®–³MaŸ‹s>¸¬Ôw RWÏE¡2ea%Öf½:Jº‹åÓÌ*ˆ'¯`Žé|#…´“wïã`Õ€ÄÝ@q 76¼ÔbLi•R I•—©Èß­Zº#¨=$î±Xìn|Póê:'â~N‹©¦œq5羈NgÀo@âÌ@Õ¢ðøÔTðÓ‡ÑòYúË1;›`3ññ }®Èâ¨$îýýý{#‘È}Üíp¨DX\>}ädpIÓéÅ(Çå§7¯†‘´ã¾Ôw)åA"Bâ€|98øú ü$î@w¢ ‰;QĨ‚@âîÀ{Bˆêxü8@ÜßÑуKèp÷¯´–Zw$êê†i``’öí›!ÆÐn€¿€ÄÝ ‰\ǸÈúû9mÙ ®®p›‡§¤<%ë^Åùô¦¶¶ÐVŸír¢ÿ³÷ÿo1çÿÿÿ™™™¦šÊT8°ö8‹*€ƒÅ‚°ìXd-QZ+Ž% +6àh×Ûrä u(TU$ÕaÛ!%Ò4S53ÍÜ÷¸Ý)ª¹çr;Ž9Ê4Æ8Ýo7.sëývæìºd0У&M(<1‘¸øxRE˜8î'Fs‰¤R=ùøcÝðaÜ XE\\_“X~èwÚ?®Çv pt”jM¦£aDµ°Þ(ÁÖpñ¢S{±8˜õ´ eܼy“vîÜI$Án7ïuÔXxŸ¨R9‡ÅÆn'o3 ð:•€àn`éÒ¥Mo`VV,€ÊdòñsrªÏ.ä#”¡Õj)‘]òŸã0=>@{¹\2B©s$66ˆ<Àoذ6lHÞÞÞäååŇ|ö{gÍšEóæÍÜìV‰ÅänkÛ6Žè4–&Ï ¸ êŠ‹]{9;Ë…¼_;«¢ïÚµ‹¤O>5˜>}:ÑÕ«WùÊ:|èÎÍÍ¥{÷î•kƒÁ@Ó¦M£‘#G²OxÊf$ó`Õøš5kRíÚµÉßߟî …‚¯²7hЀ4 ¥¥¥ñß³>ûñãÇó??tè g6ÿæã&Ñ:,Mž@p€U½KÜÉÉ©,´«T*¾E†…jù3;ä°v–ÒÁ_:ìììøÇ²Jü³ÁÝÞÞžd2Ùã“7%þM@éýìÏà[Œœù¯>äƒ~ék`Uxœ4@9î¨z›œSÅņ*•`«î­[·¦+W®PË–-)99™¯³JyII _]wuu¥„„þ±ì{ènÜ8êÓ§5jÔˆ²²²ÊZ[X< è,ô³Jüºuëø@Îzà÷íÛ÷ä}ÎÓ-3Ùó±*;«°³6ö€;vìXAN[­ÙLqÅÅÉXs¼ €àn `&NÅäc®—”üÑJ@_b!íÃÚXÆŒÃg°Yˆ. × àƒ8kmaá|Μ9üýìDTö3VugÕùÒ6þY+ŒN§ãŸcÛ¶müI©¬ Ï*鬆={ ¬ªÞ´iSþ{Ö3?sæLªU«ùúúò•z¡ÕŽD"l¿ @9î° maá™ùù¡ju¡ìåÎNe»Å”V!gaþÙ͇ûÞ½{ÓéÓ§ù–ÒÁÂ|i¯zé`Û8¾8؉§¥ƒ½Ixö×,ܳë©g;ÍäççóÏÅoK)¤‘h0˜ÂôúêÔé¶ ^8^+ ’Ü-øúú:i0#+ÀÇ'/.&fÖïEEÇFÙÙUn¶•#Ûö‘íËÎ*âò7üDUÔY›ŒÝZ°þxvWÖã^\\L«V­Ô”5q…hµ9äæ6k €òÜ-(ŠM¸Så,“§çŸAññ¿ºÉd“š ¨eÆÒ?.lç—ÒÝ_Þt°€Ïzâßf°VY›ŒÐ íK5š’0ƒa¸à^<^/ Ü`U999ß~)©¶Õ¨1Ìû™“01ª'€ãh»N§;¬Õ. OÏhf^ €àëèß_ÿhĈ¸¸SÕênCll$b_˜ £|ŽãHOD3=ÒŸ(*ò$OÏTXðzwX#Gîî=~ˆÿú˜\¾{“¹J1U«À?z½yU~þåôââÑÔ©S:–!–†`µZ7·=‘ aÞÙÙ[;:ŽúB©»H$8b`½ì— :PPq °ð ¹»O"‘€7@p· €`Q•;j ˆÆ.;{vžŸMæ\{{n¶J%“•sõP ë`-1Ý1™¸¹¹ætƒ!ÐàááϪ‚À[ ¸[˜ˆ9e]»æpD²õÑÑy6J7öR*Í «Â#Ä[ß,½¤×Ó¡ÂBÃM“)5^¯ÿÙ Ñ„S¯^¬'Þ ÁÂèÜ9á»m¾Óa™X¼¤£Tj?ÀÖÖ³¾TjßP*¹ŠD"±˜lr!'!OAVQ/â8zh6S¦ÉD·KJ(Ãdº¢Õ^Ì#ºc.(XM>>°ÌxwÀèé™HDCˆ(㤔˜h§0›»’X¼ÈÌqY#—Bap‹å2Ù!È?9ó÷éx—f£$ƒò8ŽÒ ºf2ñ÷ÙŠDAz£q{qFF6hÄ–ÁÝ€ŸŸß¾€€€ñ˜xV •‘FOô=¾±kÑ™'äTR" «Y³žœH†ãHD2ÙÓìn4¾uv7 9$•êH./!77#»ý/T<‚;ª/€HĪþÉ!¾fÀ±@pÀÀÀNpÿŸ½¿Ýضiš®é 2U Ð$èòPI’$=Îp—$I’ 2ܤ‚ ÷À2#€Ã€ 2ܤ‚ ÷À¦@ÀÞì‡È'ýIDAT²÷ÿ/Mþÿÿÿ=ŽmssªÎê^šjF²ª²2Õ "²,¨ˆª2+Ò*Ô,¥¬R²RQ­¨(( 2‚ " ˲¨Òʤ2MUuÛŽ;·›Î¶²,EÝ‘—K¨:w츧c‹Ëqìæ¦$pxw 2Š;‚È (î"ƒ ¸ ˆ ‚âÞÀáÇcÀ0 ¸‘APÜDAqï ==ý¦Ë0Ì(î@dw‘APÜDAq@ÅAd÷>ðŠ2„8Š;ÅAd÷>ðL„8Š;ÅAdw‘APÜDAq@޼!€âôÀ`ˆpÝ–~hÇ@ñ´-iÝþ³˜uesSkeÅ­Âê’’ãpî”ÆÆFOQ¸cà_0™LF½^߀ @N(î@?|½õ¡ááÇ4NJ’º%égJ‰_.õ|oëõ%I²˜Læ:£Iª ðÏ,«êô*¾{1«†8&“iƒ(ŠYD0ÔëÆê0&“©–ˆö+•Ê‹Øä€âÞÞ€ ä_¨”"‘(vröI°±êþ^”º »ÐuQOy·iñ’$‰ ¥ÂKè0yiµš”ä­3‚Ü/æíÞÝ6TújQ/ao`$ˆ¢èED$I*¡;€£ ¸ý~''‘ýu¬ßô”{û¥ÙÅ …@*•HA?/r•sKœ® ¤$~H¦Í †s¸#`¤X,–ãD”„;G@qú uMw±žl·­â‚ªÍTÉžÛnQ …B$…dQk\],KXîªÓµÏËü3ï¢(ÎÿñŽÐÞÞNOŸ>¥àà`zôèM™2…4Í€ï//_¾$???R«Õsßûöí}øð&OžLf³™¾|ùBNNNäîî>¨Cüüù3±uOœ8ñ¯Wc2™øþaûE¥R9 ¥\‡á?r@q ØLV·«ëÖyíB¯¾ $±6gæ%K÷-X$R©”zA¡ÉX»¡ÙÍM_”•µiÈŸÆg¥233“nܸA………täÈòööîuOž<¡©S§’ }ÞŸØímܸ‘Få0÷½÷ïßSYYeddÐ;w¨¤¤„oû`÷ÇûHLLük v`uâÄ *..FqÇÿbFŠ;0»)1YÌjhhêúƒTQ°/ó’…Q$w7jmm'£ÑH¶gáuÎZêèè¤ö#i•JR)D":+8z‘jQ}Bî­ÂÂŽáÚY§N"777¾öŽŽþÁ~fÛÙÜÜLEEEtôèQ^tÙeMMMü÷ ÅÏ/NGZ­–Z[[yÑ·X,ôõëW~PÀ~þøñ#;–DQä×gN¯^½â¿wuuí!`Ë566’^¯§††¾>¶ [ÿëׯÉÇÇÇî¬>“R©äëþ1“&M¢ääd¾]>¤%K–P`` ÝµØº\\\ˆаñ±|úô‰—fž«²qÕÖÖÒøñãù8FÍÇÁ¶ƒ-o7û>,,ŒfÍšÅ/cãÓétü+Û&fÁpl‹9{F€-o5B`d ¸ý°N“ù~V½«³rÎ~ùãÙg‰D‘_nýèþãT¾¤Ùb!“™•3)‰H!’à¤r&A8”°%S3ÍovÎÉÔ˜–áØa¬lçåå;3}þüy>=ãíÛ·CUUU¼H^¾|™V®\I¬äûúúòBÏ éÁƒí |~~>mß¾ŸygSpXáfE–mV +++ùtvö»®®ŽÒÒÒ(((ˆÞ¼yÃKîºuëèùóçtõêU¾,›vÃnëÌ™3¼è²ËYf%|úôéEåååtïÞ=>.v°gϾœ5Ïž=ããß¼y3½xñ‚oOHHÁš½{÷Ò¸qãø6¦³gÏò2Î2fÌZ³f /Ýìrv€àïïO×®]£œœnÅά³ƒƒÎÎNŠ¥ììlz÷î7`;wîäã^¸p!EDDÐéÓ§ùJ[[ Z±b;Hb·Í¶…ù"0rPÜûÀ0œÃßnhÏ‹>žÏ‡¯¯¯ÿíYavf9++‹Ï/ßµk/Ç,«W¯îÙÄ””^\kjj(77—Ö®]K7oÞäež•YVˆYqgaÓ\"##iîܹ|l[·n¥ððp^ÌÙ×¥K—òBßÛ3]¯Ïo  &ðÛ¶-íÖGÁÌ™3)::šîß¿OÕÕÕü …€íÛ·Ÿ]gÎÎΔššÊ·ýúõë<…Íu/(( OOO~ ±xñb¾>öÌDRRii)­_¿žBCCùí_¹rP w€ÿÙûÿß(ªÿÿÿ¿Ÿ™Ýݶ¥m[hÛ‚"ª(Q%AH1Q4@J""ˆ@±[ˆ˜MLÒHˆ&bHB 1$ ‚@Lˆ*F@ÚÒ¶ívwgÎ#·33ÛÙÝm—.€t¹ßɲÓÝ3gg¯3»¹ûÞÎýðƒ #°pg MR&Ön7 XšÉ™±ŠÉ¦=rs©¥¥•‘Ås—¶·Ý÷àPÈT‚XPyu"A±¯“7¿(oé £Ÿ¢s ÖnÚ[SÕò_œ8ˆÉíÛ·ÓÒ¥KUÖwá…Ѭ3bÔ¨QJ$#{Œ :DnG^öÒÒR%®˜궦8^zdâ‘A‡Ý¯ƒ,>~¡€h8ÑšO Kа¨`ð°gÏõ7D/Ó¦MSudÝ!ÈçÌ™ÓåëÇ€,<ƒdå!ÐK ^–ˆ~DWýñxÏȸ#>¬~mÀ{GVV nŽ?®~q@À~ãØ—8` àÁÀÂ0€4H×-šR—D¡P„œE—<d®T¢¼­Í]ÙQ¶ÿow‚6‘ˆ©„š.ˆ<ºP6yäè…)HxEžÈÏ^;á»úÔã6.^<¾‰îq@("+A]SS£|íŽxu*À22{öl:pà€j3|øð¤¾rwXEœˆ¯2†»víRû"ã|âÄ UEÅúÅ"W eIJðš#ã>aÂÅbƒø@ @×®]S”Ý»w«Ì}W¿8ÙóŠŠ eëÁVdÜ1Áë ãŽL<ƒ w€™3G YàWÇ>…Ì?|öȬƒÞøÀ*ä ”À0À,ÜSà˜œÃx£š®SII± š%Ðóóó(69êî¦Tâ,6(Ø¦æ– ùt|Ê*cµVÞD>õ(Ж—üo@Ö{Ÿ¾ú‹%Kî©mVŽ#FФI“”p…wbbYç£Gª¬6üÛȸCÌvdK¹•ã†XFæ™tØBå†xGçÎ*ëª*N@ðâqd½‘­ÆñÀŸý¼yóÔ â>Ù@âVŽÇi‚Ì;Žžs >ð[·nU¶¡-[¶ÐøñãiÿþýÑ.áG?uê”*3 [3°ë(`‘Á ƒ›C‡)¯üŽ;”Çë¬\¹Ryç!Þ9` àÁÀÂ0€tȘ;ËúbJjnnu 3·ÁÝí{Áßž““¥2Ä-­­Ô Öcõ"í®D½PK°z…Õðh¾¢Ò¢…Ÿ›IõËÚ>ùzˇweÂ*îüùóUטL‰¿çΫ¬(Û¶mSU^0©ÂBòرc*Ó ‹D-<î‹-JðxOž;üøà‘?zgÒÍ;}"!áQGÀÛŽÀc¨Ò¨2ƒâ·ŽÂñ‰#ë*-ˆOd“3fŒº‡¸1cF´'ˆã‘#GÒÉ“'éàÁƒ4kÖ,u×Fà5dÈus²ÿ¸uҘЊÀäÛdÒN`ÐQŸÈö;>w'`sqúG8\1@À¯d退Oö> ð1IÕ‰øq0À@F`áÎ@šdlâ\mBpõéSfçØÝë©ZÛ’â×XmÿSÓ#TVZBá`ˆ²}º5ªÆ¸@³ö™VQ¡Û‹5yu…¹ôrXî²Í›?ÞòáÝɼß,/°Ï £møìoeñ'¾Ø` €tg,ܸ âîJڰʃm±Š>Î&ƒ «¨óíTTqªÓ " JBúuR‹/ù09gTýwIB“¤EETÅ+ó.H÷õ,É_ðüø·iÑÚœU_V-¾çVÿ‹×CÆ–Üîç@9HÀ`w wÀÒÐ o:%äΕø¾|ùj§ ãåSqq]¼øO {Ç6S’ŸMÍ~j‚ SR8bZb΂OB¨‰°M£lŸ7‹òiɸ©/G÷{¬úý9ãëù¤2À`™€…{ Á`p1_ø à–`±SNƒõ¥˜D{t¦X™?dH¿v°(‰•SÃ…‚!:}¹‘ZT¥”ˆ$iõ t¡j묽W#ŸW§œÜ,ê‘—K…E9‹µÇó/_¾qå¦M+ù¬1À`™€…{ ›6mbÄ’0•ÇEØË(9bL ‡Úëµ£¢ ²èÉËöaUT/FDeê1±Õˆ˜Ô1("% N¤éXYÕ^¬IJ2#†ZÌÉlµnÒn4’Ç[G¹y9þìì¬ÅOM{3´ ¾pEMÍ;îÂñ¼É` €ts,ÜH@üLBYe :}ú ¦¡6t ò¼_¸p9)ç'†£«W¯Óµk7¢)qnš–X·ÔzütÖhdgå^ ÃÔØ\Kš&¨´´ð•q³§üPSC?'¤ù9` €0€n €…{ •••Ÿøg1‚–$vKj©¬2^þä0'¡®*dådQaqAR€x¾wŸrªè]n vdÞ±Êj0B­Á…BCeâãkÒµ¿%ôý¦WYj‰o Fzåú=¨‡ø3Ÿ5À` s°pO  „/x €iWƒq§´l¹eiV'o×ÿ–Ò´hŠÙWTYvܬö:–Ø÷Hòzu•}‡¨W-5gA”;Öi2Ûsÿš¦ç444q¶¯[À`™€…{ @à-¾è@RIü+‘p„~ÿý¬ò­C¤;aEx†ëO_¹JׯßH„ê¬Äª½5!Û¥e¥*“õÚßJð·—TVVJyùÑÉ«HÁÃ/ß|•Ï` €0iX¸3&Ç&ãÖïº×CCØ1S¡Qyï2*«(Mà®ÊAšÖ×HÄPÛVæ^n§ÜAí.é.”§ÝZ]Õjë°é¤%ŸoÀ`  ›`ážÀÚµkŸRNKr…ÿ¾³Ûô•RÎŽÿH)¯WWW×`{ÅŠ~¿ÿÝ$Ÿ”P Øì|‚*++W%û4õΧ¬»´B|ZUUeÚÇŒyYñß¡PèË 6ÔÙçI)Ëâ¿MB¡Ð76l8í5kÖ¼&„ÿ#¥Ü[]]}Ò~­‰èéøo%)åÁêêêCØ^µjÕ³º®OŒÿæ2MóäºuëöâáÕ«W?ªiÚËI¾ÝÎÿtøô¡x›Œ£à±zjTÍÇ®½µË${^õ§iJukäT©"®#×-ÀJc{à•…&fY(þ~f €0À2 ÷ªªª~#¢ß:»Ü«ªª.ÑúÎ>7n¼™ªM¼@ï(ºi›Ï(ETUU}E)¢ººú{J@àG"ú±„´~ýú#Dt¤Ì´nݺÓ³Ñ/Ìì+“xÜÃaƒÎüyVùÕéÿ°’ÑçÏ]L<™É„½l¿CöGú÷£ºÚ:ª½Q—t€¶¥å%”Ÿ_`-ÈŸ¼´ ˆD„Ý»ìäRâg` €0€n€…;`i²];[X€©ÿ ~*ë ñÇ’±°;1í{tI¨…=‹¨ °Àªãœ)ûuq§éZTó[+¯Zõå#n+<ŸaÀ` #°pg A›šigÜ…h/ïˆI¨äJwû¼¾vÆN†ÝweÝ¥K”c[Ùj¼V¿[†ÆÎöÛµÞMK°Gi’Ò™ËYw¾Â` €dî €¤ À´³Ûn3{$¦sg.DK7¦Š~¡úºzª«­WâžöЇ*ÈïóÑ…ó—b5·L쯬¢Œòòó”%V‹6%ñÕó# €0À@÷ÀÂ0€t8–—PÖu=Ü÷!Š•ó‰!íç¼>/÷*¦üÂ|e¯AÎa»_ÿ¾äxÖˆZfì‡PÅÆÉÆK'+oyÝ\ÊŸƒ0ÀèÎX¸3&iÿ‹‘çB?;«KL=XhÉëMPØþl½ãsml+tUÇÝ2É«"3BrYÀ` ðpg MÖDP"ÝÑÑÂZ€éòÅ˪ªÌ­P*îYD—.\¦p(¬ê´'ËÔc'ˆòòÞåÊû~åÒ*+/£¼‚<•¡BSÏ zð¦ÁeøÒf €0YX¸3&éLuêªK«F{IYI—$³ÇãQª¿¤´Ä®Û.’N+u&®úýYJ Wô® _–?Ú0j”Áñ´h’O,` €0YX¸3&i{ÜP¢YÓ('77¾XLLÈžËÉ͉êt÷óîÇÜÛ¹y=¬Áƒýˆ{ÛŸO]Œ†®îÀÍ@|2`Ý wÀÒ ê¦£Š‹.»9EŒ0ýså*Á©ÍœÛeác/«(§›õõÔØÐ¨ì-ŽBG_}zS0¤ºµÑÒ’©¢°¸ˆòòò¢jÎv(Úë'Rîë~> ½ä÷û±à”¯K;r[ÂáðÇ|`Ý wÀÒÍp»Ê«#ãÏ:„x¼ìV5Ù‰(+;›„¦'dÑñkƯBˆgø‚`Ó4ÉÊÊúƒO:`  ;`áÎ@š¤lËŽ–Ö„NùÛT ÜqK>]'ŸßŸ êc"™†Úí;"éN©CӴцa¼!„˜Iª2<Èh†”òûêêêoù43Àº î €Ü—HV ˜ݸþot"é­FqÏž$¥IuµuÑt]W‹+555©j5 ¢H ²³s¨Ý o—‡L£¤•hvÚ7À` à>ÀÂ0€4HÛ»î–èRY^ô. wi×…Ñ´öÚíBYk„Êâkš¤äÉvÍø;¯¨î >­ €0À@¦`áÎ@šâ«Ê8Yòž¥½’3u·”XAFõB)ɸ°J>º"aG—h;À` s°pg MQ±ìÒІaPSCc4㎒¦aRkKKìDSMPAaµ…Bln¡„Ž•Sw ÷¬œòÛžxåoŽxç…S` €0€LÀÂ0€Û‰äõxìÕMMåI—†¥®!¬áOojhŠá  „{²ç¢£Yª‚Èãõº„»´~`ÙN]ðöþÿ)çüÿÿÿ¯Çý8:Žã¨:Ž*¥¶ÐcgbÍŠ6$!ƒ`01Öb°3ÂØ;+f¶È XÃhX;Hf¢R ¥a!;RR©ª£ã8îÇÎí¦r Ià~är›iæ¨ã~ÔÝév»›Ëý6×Ûý†CÀZÜ€&ˆ5AÙd4“ IËH®°!/¯WÖ‘²`mgo÷†³™oºdGv56™-z¢ö³õý̲™k–£²çÉ›L/·ý%î4?wà#ˆ¢™'ë×÷L²,G7¿Cº¾÷üLM¼¹fš½¶<uîÒ€æ €à| Ÿu7‰ü©0|'Õ&g¶Kjc>fy`y`FbÇ84{w ‰µ‹AkwaMf"sÓ8ûøHË£êûDcföѰNw ‰‚ÌL¶*ém0ZUiDŸÐ Ü€÷=/~¦¸™ýO´ —^pÍ"•<Ë»Ï+­˜0¼ÍÁxó팄ÜÅa 3$Œ'¢jCмÜ€¦à©‹à³ ¸VÐÜÐЬ !¸ ¡YACp@C³‚†à€¯ Àl–¡Ë?@&ÃþN|!w4O€ädJ¥ 2CD™¬=‹œllä²³å_}—Ëd/o^»ekM;séR¥^&ã¯WÒGH©Ì'??¡ðIÜ`ý‡Ë©mÛ~:¢6AjuO£Ùæ-—W(•Ê6 ¹é,ó*ZÓXÖ/Ez`2 ¼j0Då bqVVA¡(þ‘b2å’јLþþ·` ÀÇ@p€õ$'k”Jå¯f³ù—õZ- ÖhH-ÔídªD×~vä,—ó¯ÎJ¥¬f‡Vw"ZòÀh¤è²216=]¦4—ëõg)8؈¾àÃÜ`uŠ””>vrù¬:ÝÞ*•Æ[.'ùËÀŽö¼ úÍÑQ×j)Ç`8ñWEEþž´´T“^?•‹Ð94ÁÖ–Öå;…"j€F8ÇÁA.Gé‹dG¯V(@¥’¨TSìíG¬.-‘šžþs^K½z•â²àýÜ`—.Ímk»vN'ØÈd¨W·¢qÛÖÆ†¶99Ñ#“i〧O×§¤øS@@&.=ÞÁÒˆ·õððØ»ÂÉidˆFƒÞ²Rv£å©PÈ2ÝÜJK“6edl$?¿Ål­+:€Æ ¸@ºÉÉž^Jej\‹^>66è©f Z¨ÓÙ: BĆŒŒ¼â®]7ãÙðÚ€Æ ¸@²>*UÌIWW/{ -<4iÍœ9“zôè!™‘“””D±±±c5£ùG{{2ËdW¦¦’žh.CÞ €ài¤¥E.qt qKk¿¤ P«V­$5jL&UVV¾u$—––Ò… hРA’í¬tæ'{{ºm0,KLÜIÁÁU¸hÁÒHLt V‡…¨Õ’{Æãõë×I«ÕÒ“'OèÖ­[TPPÀ_‡††ò÷÷ïßÏ_wëÖoTtâÄ ÊÊÊ"777 !oooªªª¢‹/Rrr2M™2…âããiÆŒd4ù±‡¢ÀÀ@>«ïââB=¢“'O’³³3ÙÛÛS¿~ýȦžÒ!ö÷rrr(!!ÚµkÇ?Û±cGš7oóp?räHIøÙŽ–—ÿm0›ƒQ2ƒÿŒ  ¸@ržZmh„VÛZŠ]sôèQ>ãþüùsZ¸p!íÝ»—îܹCÆ £eË–QXX;–233éôéÓüý­[·ò×Ë—/§èèhÚ¾};={–víÚEk×®¥sçÎÑôéÓù±ì÷ïܹ“‡zV–sìØ1Z¹r%uïÞúôéCkÖ¬áïEFF¾1rY0g¿g÷îÝäààÀÏ%**ŠzöìÉgÝûöí+¹ÑÞZ.§p­¶ûªÔÔŽDt—#o@p€äLD»[K¬D¦¾6tèPòóó#___Zµj7ŽÿÜÉɉ )((ˆ‡|6‹^VVÆgèÙ¬xjj*Mž<™ÏÂÏš5‹÷kq“©S§N”’’¿ÏÎΦ’’ruuå3ùìøE‹‘N§«÷„Ø,< ì[¶l¡‰'òÙ~¥RI7oÞä¥)ŽŽŽoù—|¹Ÿ²ó®Ñ¨·–”¸àáî4 €ài>,× ©­`'T¤YS«Õ¼,Ųéõz¶·mÛFÓ¦Mãe.¬]E>3^ûYËϱY|öþÝ»wù÷sæÌ![[[Šˆˆ ãÇÓæÍ›iþüùü÷vîÜù‘Ë‚û‘#Gøq,àñ…«Rov‚ ûV£ñI#º ù“Åù¾ ‚;¤àìÜâ¥Òê{…p6ã=a §}ûöñ0/Ÿg³é½{÷¦+W®Ô@~ÀJpª««)##ƒìììèüùó4zôh^ŸÎJeØû§NzcäVTTPnn.ú¬®}Ô¨QtæÌ~««—jSËd”o4FÑÉž$Î wH Àݽè†Á`õ½Âúøñãiݺu”——ÇgÖÝÝÝ©ÿþ¼î|ÅŠtïÞ=êÒ¥KÝœ:u*?žÍ´_½z•×´³Úök×®ñ:y¶Ð”½fµò|-€§'=|ø°nËårþ{Ùßb7¬ …-ˆee:cÆŒá7¬DGj»Î²Þn)‘ÿâZ AwH À×·ú¿ÌL}•(ª¤X.³cÇþd6£ÎžüRÛ8P7’<ÈëÜYHf3å,Pk,v}e%1«W¯&êãââx˜nß¾=_¸ÊêÚYÈV©Tüø¹sçòZxV7ß²eK~SÀ›‘g- €×ƳãÙy°…¨åååüF5Vn“˜˜(Ù‘^!Šâ}Q¼ŒK€†Ü =Q\š/Š¿·–`p·¬I· ãlim³|ÍBþë=ö‘=þ‘n¨_Ÿ¯oñ)[dÊ‚¾e«ýžöÚÏ›mg_ÖÒ’ôzÓcƒ¡—"  ¸@r c¢mmgGêtß4Çîa UÙÌ=›1g¥3ì™ïR+_ù\ìyF#-.*ºLþþ×q)Ð0‚;¤0p`~LzzZ¨F3ü{¥R&™.úŸ½ÿÿèûÿÿÿÿóõv»Õ­Û­Év[·h+›¶U•’Ê€™­Ý´ [k³3f 6Ãf˜­fÛŠiâ6µHZc”"¨Ô­ªrëz»Ýn·Ûõz[I@UUÝ.u‡½·‹‹Ñ°ÇS!šfr`m†;É  Þ¨w8Ú¿x½¥ŽCúÓèƒ~4èº|ÔõÉÏp `}†;É PYïïꪹt¼óxŽe98ª  -’'óóŸæóòžq`c¬!’ ZRò·¯·7§<èü™™yáTJ OKqò¤1ŠÕÍÌ|Ý‹‡ `¸ÜùùúBwweÕôôók.Wí㌠qòÕ%OmÀ0äÑì¬tE"ÕÑ¢¢¯\=ØÃ€ä(.^¹ÿº»»¥?{qÓí>Éå¾û®Æá2 ù¦ëzC0ø~!ª“²²Y®l€á€:ÅÅm¿EÚºzz.ÖÌ͵|ðxÒJœN[âÛñIs’-Ë’ÄŸˆY4My F_ƒ1+;#¥¥“\7Ø:Ãåâ……~ijʸmYçRR®w8îT§¥ÙÊNI·Ûy¢û0Ëg]—ŽHDF ãuJaá? l€á€š>Ÿ!"þ>‘ĈО›[%vû•Ën÷‰³v{Ái‡#=Ën—“v»µÙ$ñ^QG¾‰UÅã—øIzÔ²dÚ4eÆ4e8— ÃkÖõž!Ã75í¥ pµ`gî¨àó†H£ˆ46‹Hâ#MM.ÉÎÎu9Cšvoå1ÛDÌJ§SŽØXñ›9ú"}Ä4Ý+×ÅfY£©"OÃáð/ñû'¤¾ž(À.0Ü8˜>_HDC"µ²üI|ùzéõœþÖÖT ïp÷zWÿc °±_ðzcRQa,ý[Ó¬„c˜»{ ÀpàðhÚÊ`åM€r w"b¸)ÀHîD Äp R †;‘1܈ˆá@¤@ w"b¸)ÀHîD Äp R †;‘1܈ˆá@¤@ w"b¸)ÀHîD Äp R ]îÿÙÙ·mÛu]–HH@ ¯ÿÿgXt^šé(IEND®B`‚murano-9.0.0/doc/source/admin/appdev-guide/app_development_framework.rst0000664000175000017500000011576013656750211026563 0ustar zuulzuul00000000000000.. _app-development-framework: ================================= Application development framework ================================= Application development framework is a library that helps application developers to create applications that can be scalable, highly available, (self)healable and do not contain boilerplate code for common application workflow operations. This library is placed into the Murano repository under the ``meta/io.murano.applications`` folder. To allow your applications to use the code of the library, zip it and upload to the Murano application catalog. Framework objectives -------------------- The library allows application developers to focus on their application-specific tasks without the real need to dive into resource orchestration, server farm configuration, and so on. For example, on how to install the software on the VMs, how to configure it to interact with other applications. Application developers are able to focus more on the software configuration tools (scripts, puppets, and others) and care less about the MuranoPL if they do not need to define any custom workflow logic. The main capabilities the library provides and its main use-cases are as follows: * Standard operations are implemented in the framework and can be left as is * The capability to create multi-server applications and scale them * The capability to create composite multi-component applications * The capability to track application failures and recover from them * The capability to define event handlers for various events Quickstart ---------- To use the framework in your application, include the following lines to the ``manifest.yaml`` file: .. code-block:: yaml Require: io.murano.applications: Create a one-component single-server application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **To create a simple application deployed on a single server**: #. Include the following lines to the code of the application class: .. code-block:: yaml Namespaces: =: my.new.ns apps: io.murano.applications Name: AppName Extends: apps:SingleServerApplication #. Provide an input for the application ``server`` property in your ``ui.yaml`` file: .. code-block:: yaml Application: ?: type: my.new.ns.AppName server: ?: type: io.murano.resources.LinuxMuranoInstance name: generateHostname($.instanceConfiguration.unitNamingPattern, 1) flavor: $.instanceConfiguration.flavor ... Now you already have the app that creates a server ready for installing software on it. #. To create a fully functional app, add an installation script to the body of the ``onInstallServer`` method: .. code-block:: yaml Methods: onInstallServer: Arguments: - server: Contract: $.class(res:Instance).notNull() - serverGroup: Contract: $.class(apps:ServerGroup).notNull() Body: - $file: sys:Resources.string('installScript.sh') - conf:Linux.runCommand($server.agent, $file) #. Optional. Add other methods that handle certain stages of the application workflow, such as ``onBeforeInstall``, ``onCompleteInstallation``, ``onConfigureServer``, ``onCompleteConfiguration``, and others. For details about these methods, see the :ref:`Software components ` section. Create a one-component multi-server application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **To create an application that is intended to be installed on several servers**: #. Make it inherit the ``MultiServerApplication`` class: .. code-block:: yaml Namespaces: =: my.new.ns apps: io.murano.applications Name: AppName Extends: apps:MultiServerApplication #. Instead of the ``server`` property in ``SingleServerApplication``, provide an input for the ``servers`` property that accepts the instance of one of the inheritors of the ``ServerGroup`` class. The ``ui.yaml`` file in this case may look as follows: .. code-block:: yaml Application: ?: type: my.new.ns.AppName servers: ?: type: io.murano.applications.ServerList servers: - ?: type: io.murano.resources.LinuxMuranoInstance name: "Server-1" flavor: $.instanceConfiguration.flavor ... - ?: type: io.murano.resources.LinuxMuranoInstance name: "Server-2" flavor: $.instanceConfiguration.flavor ... #. Define the custom logic of the application in the handler methods, and it will be applied to the whole app, exactly like with ``SingleServerApplication``. Create a scalable multi-server application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **To provide the application with the ability to scale**: #. Make the app extend the ``MultiServerApplicationWithScaling`` class: .. code-block:: yaml Namespaces: =: my.new.ns apps: io.murano.applications Name: AppName Extends: apps:MultiServerApplicationWithScaling #. Provide the ``ui.yaml`` file: .. code-block:: yaml Application: ?: type: my.new.ns.AppName servers: ?: type: io.murano.applications.ServerReplicationGroup numItems: $.appConfiguration.numNodes provider: ?: type: io.murano.applications.TemplateServerProvider template: ?: type: io.murano.resources.LinuxMuranoInstance flavor: $.instanceConfiguration.flavor ... serverNamePattern: $.instanceConfiguration.unitNamingPattern The ``servers`` property accepts instance of the ``ServerReplicationGroup`` class, and in turn it requires input of the ``numItems`` and ``provider`` properties. After the deployment, the ``scaleOut`` and ``scaleIn`` public methods (actions) become available in the dashboard UI. For a working example of such application, see the ``com.example.apache.ApacheHttpServer`` package version 1.0.0. Library overview ---------------- The framework includes several groups of classes: ``replication.yaml`` Classes that provide the capability to replicate the resources. ``servers.yaml`` Classes that provide instances grouping and replication. ``component.yaml`` Classes that define common application workflows. ``events.yaml`` Class for handling events. ``baseapps.yaml`` Base classes for applications. As it is described in the :ref:`Quickstart` section, the application makes use of the Application development framework by inheriting from one of the base application classes, such as ``SingleServerApplication``, ``MultiServerApplication``, ``MultiServerApplicationWithScaling``. In turn, these classes are inheritors of the standard ``Application`` class and the ``SoftwareComponent`` class. The latter class binds all of the framework capabilities. The ``SoftwareComponent`` class inherits both ``Installable`` and ``Configurable`` classes which provide boilerplate code for the installation and configuration workflow respectively. They also contain empty methods for each stage of the workflow (e.g. ``onBeforeInstall``, ``onInstallServer``), which are the places where application developers can add their own customization code. The entry point to execute deployment of the software component is its ``deployAt`` method which requires instance of one of the inheritors of the ``serverGroup`` class. It is the object representing the group of servers the application should be deployed to. The application holds such an object as one of its properties. It can be a single server (``SingleServerGroup`` subclass), a prepopulated list of servers (``ServerList`` subclass) or a list of servers that are dynamically generated in runtime (``ServerReplicationGroup`` subclass). ``ServerReplicationGroup`` or, more precisely, one of its parent classes ``ReplicationGroup`` controls the number of items it holds by releasing items over the required amount and requesting creation of the new items in runtime from the ``ReplicaProvider`` class which acts like an object factory. In case of servers, it is ``TemplateServerProvider`` which creates new servers from the given template. Replication is done during the initial deployment and during the scaling actions execution. Framework detailed description ------------------------------ This section provides technical description of all the classes present in the application development library, their hierarchy and usage. Scaling primitives ~~~~~~~~~~~~~~~~~~ There is an ability to group similar resources together, produce new copies of the same resources or release the existing ones on request. Now it is implemented for instances only, other resources may be added later. The following is the hierarchy of classes that provide grouping and replication of resources: :: +-------+ | +-------+ | | +--------+ +------------------+ +-----------------+ | | | | | | | | +-+ | Object <--------+ ReplicationGroup +--------> ReplicaProvider | +-+ | | | | | +--------+ +---+--------------+ +-+--------+------+ ^ ^ ^ | | | | +------------------+-----+ | | | | | +-------+ | | CloneReplicaProvider | | | +-------+ | | + other | | | | +----------+ | +------------------------+ | | | | | | | +-+ | Instance | | | +-+ | | | +----+-----+ | | | | | +-----+-------+ | | | | | | | ServerGroup | | +---------------+--+ | | | | Template | +-----^-------+ +---+----------+ | Server +--+ | | Server +-------> Provider | | +------------+ Replication | +-----+------------+ +---+ | Group | | | | +--------------+ +---+---other---+ | | | +---------------+ **ReplicationGroup** A base class which holds the collection of objects generated in runtime in its ``items`` output property and contains a reference to a ``ReplicaProvider`` object in its ``provider`` property which is used to dynamically generate the objects in runtime. Input properties of this class include the ``minItems`` and ``maxItems`` allowing to limit the number of objects it holds in its collection. An input-output property ``numItems`` allows to declaratively change the set of objects in the collection by setting its size. The ``deploy()`` method is used to apply the replica settings: it drops the objects from the collection if their number exceeds the number specified by the ``numItems`` or generate some new if there are not enough of them. The ``scale()`` method is used to increase or decrease the ``numItems`` by some number specified in the ``delta`` argument of the method, but in range between ``maxItems`` and ``minItems``. **ReplicaProvider** A class which does the object replication. The base one is abstract, its inheritors should implement the abstract ``createReplica`` method to create the actual object. The method accepts the ``index`` parameter to properly parametrize the newly created copy and optional ``owner`` parameter to use it as an owner for the newly created objects. The concrete implementations of this class should define all the input properties needed to create new instances of object. Thus the provider actually acts as a template of the object it generates. **CloneReplicaProvider** An implementation of ``ReplicaProvider`` capable to create replicas by cloning some user-provided object, making use of the ``template()`` contract. **PoolReplicaProvider** Replica provider that takes replicas from the prepopulated pool instead of creating them. **RoundrobinReplicaProvider** Replica provider with a load balancing that returns replica from the prepopulated list. Once the provider runs out of free items it goes to the beginning of the list and returns the same replicas again. **CompositeReplicaProvider** Replica provider which is a composition of other replica providers. It holds the collection of providers in its ``providers`` input property. Its ``ReplicaProvider`` method returns a new replica created by the first provider in that list. If that value is `null`, the replica created by the second provider is returned, and so on. If no not-null replicas are created by all providers, the method returns null. This provider can be used to have some default provider with the ability to fall back to the next options if the preferable one is not successful. Servers replication ~~~~~~~~~~~~~~~~~~~ **ServerGroup** A class that provides static methods for deployment and releasing resources on the group of instances. The ``deployServers()`` static method accepts instance of ``ServerGroup`` class and a list of servers as the parameters and deploys all servers from the list in the environment which owns the server group, unless server is already deployed. The ``releaseServers()`` static method accepts a list of servers as the parameter and consequentially calls ``beginReleaseResources()`` and ``endReleaseResources()`` methods on each server. **ServerList** A class that extends the ``ServerGroup`` class and holds a group of prepopulated servers in its ``servers`` input property. The ``deploy()`` method calls the ``deployServers()`` method with the servers defined in the ``servers`` property. The ``.destroy()`` method calls the ``releaseServers()`` method with the servers defined in the ``servers`` property. **SingleServerGroup** Degenerate case of a ``ServerGroup`` which consists of a single server. Has the ``server`` input property to hold a single server. **CompositeServerGroup** A server group that is composed of other server groups. **ServerReplicationGroup** A subclass of the ``ReplicationGroup`` class and the ``ServerGroup`` class to replicate the ``Instance`` objects it holds. The ``deploy()`` method of this group not only generates new instances of servers but also deploys them if needed. **TemplateServerProvider** A subclass of ``ReplicaProvider`` which is used to produce the objects of one of the ``Instance`` class inheritors by creating them from the provided template with parameterization of the hostnames. The resulting hostname looks like 'Server {index}{groupName}'. May be passed as ``provider`` property to objects of the ``ServerReplicationGroup`` class. **other replica providers** Other subclasses of ``ReplicaProvider`` may be created to produce different objects of ``Instance`` class and its subclasses depending on particular application needs. Classes for grouping and replication of other kinds of resources are to be implemented later. .. _software-components: Software Components ~~~~~~~~~~~~~~~~~~~ The class to handle the lifecycle of the application is the ``SoftwareComponent`` class which is a subclass of ``Installable`` and ``Configurable``: :: +-----------+-+ +-+------------+ | | | | | Installable | | Configurable | | | | | +-----------+-+ +-+------------+ ^ ^ | | | | +-+---------------+-+ | | | SoftwareComponent | | | +-------------------+ The hierarchy of the ``SoftwareComponent`` classes is used to define the workflows of different application lifecycles. The general logic of the application behaviour is contained in the methods of the base classes and the derived classes are able to implement the handlers for the custom logic. The model is event-driven: the workflow consists of the multiple steps, and most of the steps invoke appropriate `on%StepName%` methods intended to provide application-specific logic. Now 'internal' steps logic and their 'public' handlers are split into the separate methods. It should improve the developers' experience and simplify the code of the derived classes. The standard workflows (such as Installation and Configuration) are defined by the ``Installable`` and ``Configurable`` classes respectively. The ``SoftwareComponent`` class inherits both these classes and defines its deployment workflow as a sequence of Installation and Configuration flows. Other future implementations may add new workflow interfaces and mix them in to change the deployment workflow or add new actions. **Installation** workflow consists of the following methods: :: +----------------------------------------------------------------------------------------------------------------------+ | INSTALL | | | | +------------------------------+ +---------------+ | | +------------------------------+ | +---------------+ | | | +------------------------------+ | | +---------------+ +---------------+ | | +----------------------+ | | | | | | | | | | | | | | | | | checkServerIsInstalled | +-+ +----> beforeInstall +----> installServer | +-+ +----> completeInstallation | | | | +-+ | | | +-+ | | | | +------------------------------+ +------+--------+ +------+--------+ +-----------+----------+ | | | | | | +----------------------------------------------------------------------------------------------------------------------+ | | | | | | | | | v v v onBeforeInstall onInstallServer onCompleteInstallation .. list-table:: :widths: 10 10 40 :header-rows: 1 * - Method - Arguments - Description * - **install** - ``serverGroup`` - Entry point of the installation workflow. Iterates through all the servers of the passed ServerGroup and calls the ``checkServerIsInstalled`` method for each of them. If at least one of the calls has returned `false`, calls a ``beforeInstall`` method. Then, for each server which returned `false` as the result of the ``checkServerIsInstalled`` calls the ``installServer`` method to do the actual software installation. After the installation is completed on all the servers and if at least one of the previous calls of ``checkServerIsInstalled`` returned `false`, the method runs the ``completeInstallation`` method. If all the calls to ``checkServerIsInstalled`` return `true`, this method concludes without calling any others. * - **checkServerIsInstalled** - ``server`` - Checks if the given server requires a (re)deployment of the software component. By default checks for the value of the attribute `installed` of the instance. May be overridden by subclasses to provide some better logic (e.g. the app developer may provide code to check if the given software is pre-installed on the image which was provisioned on the VM). * - **beforeInstall** - ``servers``, ``serverGroup`` - Reports the beginning of installation process, sends notification about this event to all objects which are subscribed for it (see *Event notification pattern* section for details) and calls the public event handler ``onBeforeInstall``. * - **onBeforeInstall** - ``servers``, ``serverGroup`` - Public handler of the `beforeInstall` event. Empty in the base class, may be overridden in subclasses if some custom pre-install logic needs to be executed. * - **installServer** - ``server``, ``serverGroup`` - Does the actual software deployment on a given server by calling an ``onInstallServer`` public event handler (with notification on this event). If the installation completes successfully sets the `installed` attribute of the server to `true`, reports successful installation and returns `null`. If an exception encountered during the invocation of ``onInstallServer``, the method handles that exception, reports a warning and returns the server. The return value of the method indicates to the ``install`` method how many failures encountered in total during the installation and with what servers. * - **onInstallServer** - ``server``, ``serverGroup`` - An event-handler method which is called by the ``installServer`` method when the actual software deployment is needed.It is empty in the base class. The implementations should override it with custom logic to deploy the actual software bits. * - **completeInstallation** - ``servers``, ``serverGroup``, ``failedServers`` - It is executed after all the ``installServer`` methods were called. Checks for the number of errors reported during the installation: if it is greater than the value of ``allowedInstallFailures`` property, an exception is raised to interrupt the deployment workflow. Otherwise the method emits notification on this event, calls an ``onCompleteInstallation`` event handler and then reports the successful completion of the installation workflow. * - **onCompleteInstallation** - ``servers``, ``serverGroup``, ``failedServers`` - An event-handler method which is called by the ``completeInstallation`` method when the component installation is about to be completed. Default implementation is empty. Inheritors may implement this method to add some final handling, reporting etc. **Configuration** workflow consists of the following methods: :: +----------------------------------------------------------------------------------------------------------------------+ | CONFIGURATION | | +-----------------+ | | | | | | | +---------------+ +-----------------+ | | | +---------------+ | +-----------------+ | | | +------------v--+ +---------------+ | | +--------------+ +-----------------+ | | +-----------------------+ | | | | | | | | | | | | | | | | | | | checkCluster\ +---> checkServer\ | +-+---> preConfigure +---> configureServer | +-+---> completeConfiguration | | | | IsConfigured | | IsConfigured +-+ | | | +-+ | | | | +------------+--+ +---------------+ +------+-------+ +--------+--------+ +-----------+-----------+ | | | | | | | | | | | | | | +----------v----------+ | | | | | | | | | | | | | getConfigurationKey | | | | | | | | | | | | | +---------------------+ | | | | | | | | | +----------------------------------------------------------------------------------------------------------------------+ | | | | | | v v v configureSecurity, onConfigureServer onCompleteConfiguration onPreConfigure .. list-table:: :widths: 10 10 40 :header-rows: 1 * - Method - Arguments - Description * - **configure** - ``serverGroup`` - Entry point of the configuration workflow. Calls a ``checkClusterIsConfigured`` method. If the call returns `true`, workflow exits without any further action. Otherwise for each server in the ``serverGroup`` it calls ``checkServerIsConfigured`` method and gets the list of servers that need reconfiguration. The ``preConfigure`` method is called with that list. At the end calls the ``completeConfiguration`` method. * - **checkClusterIsConfigured** - ``serverGroup`` - Has to return `true` if the configuration (i.e. the values of input properties) of the component has not been changed since it was last deployed on the given server group. Default implementation calls the ``getConfigurationKey`` method and compares the returned result with a value of `configuration` attribute of ``serverGroup``. If the results match returns `true` otherwise `false`. * - **getConfigurationKey** - None - Should return some values describing the configuration state of the component. This state is used to track the changes of the configuration by the ``checkClusterIsConfigured`` and ``checkServerIsConfigured`` methods. Default implementation returns a synthetic value which gets updated on every environment redeployment. Thus the subsequent calls of the ``configure`` method on the same server group during the same deployment will not cause the reconfiguration, while the calls on the next deployment will reapply the configuration again. The inheritors may redefine this to include the actual values of the configuration properties, so the configuration is reapplied only if the appropriate input properties are changed. * - **checkServerIsConfigured** - ``server``, ``serverGroup`` - It is called to check if the particular server of the server group has to be reconfigured thus providing more precise control compared to cluster-wide ``checkClusterIsConfigured``. Default implementation calls the ``getConfigurationKey`` method and compares the returned result with a value of `configuration` attribute of the server. If the results match returns `true` otherwise `false`. This method gets called only if the ``checkClusterIsConfigured`` method returned `false` for the whole server group. * - **preConfigure** - ``servers``, ``serverGroup`` - Reports the beginning of configuration process, calls the ``configureSecurity`` method, emits the notification and calls the public event handler ``onPreConfigure``. This method is called once per the server group and only if the changes in configuration are detected. * - **configureSecurity** - ``servers``, ``serverGroup`` - Intended for configuring the security rules. It is empty in the base class. Fully implemented in the ``OpenStackSecurityConfigurable`` class which is the inheritor of ``Configurable``. * - **onPreConfigure** - ``servers``, ``serverGroup`` - Public event-handler which is called by the ``preConfigure`` method when the (re)configuration of the component is required. Default implementation is empty. Inheritors may implement this method to set various kinds of cluster-wide states or output properties which may be of use at later stages of the workflow. * - **configureServer** - ``server``, ``serverGroup`` - Does the actual software configuration on a given server by calling the ``onConfigureServer`` public event handler. Before that reports the beginning of the configuration and emits the notification. If the configuration completes successfully calls the ``getConfigurationKey`` method and sets the `configuration` attribute of the server to resulting value thus saving the configuration applied to a given server. Returns `null` to indicate successful configuration. If an exception encountered during the invocation of ``onConfigureServer``, the method will handle that exception, report a warning and return the current server to signal its failure to the ``configure`` method. * - **onConfigureServer** - ``server``, ``serverGroup`` - An event-handler method which is called by the ``configureServer`` method when the actual software configuration is needed. It is empty in the base class. The implementations should override it with custom logic to apply the actual software configuration on a given server. * - **completeConfiguration** - ``servers``, ``serverGroup``, ``failedServers`` - It is executed after all the ``configureServer`` methods were called. Checks for the number of errors reported during the configuration: if it is greater than set by the ``allowedConfigurationFailures`` property, an exception is raised to interrupt the deployment workflow. Otherwise the method emits notification, calls an ``onCompleteConfiguration`` event handler, calls the ``getConfigurationKey`` method and sets the `configuration` attribute of the server group to resulting value and then reports successful completion of the configuration workflow. * - **onCompleteConfiguration** - ``servers``, ``serverGroup``, ``failedServers`` - The event-handler method which is called by the ``completeConfiguration`` method when the component configuration is finished at all the servers. Default implementation is empty. Inheritors may implement this method to add some final handling, reporting etc. The ``OpenStackSecurityConfigurable`` class extends ``Configurable`` by implementing the ``configureSecurity`` method of the base class and adding the empty ``getSecurityRules`` method. .. list-table:: :widths: 10 10 40 :header-rows: 1 * - Method - Arguments - Description * - **getSecurityRules** - None - Returns an empty dictionary in default implementation. Inheritors which want to add security rules during the app configuration should implement this method and make it return a list of dictionaries describing the security rules with the following keys: * FromPort (port number, e.g. 80). * ToPort (port number, e.g. 80). * IpProtocol: (string, e.g. 'tcp'). * External: (boolean: `true` means that the inbound traffic to the given port (or port range) may originate from outside of the environment; `false` means that only the VMs spawned by this or other apps of the current environment may connect to this port). * Ethertype: (optional, can be 'IPv4' or 'IPv6'). * - **configureSecurity** - ``servers``, ``serverGroup`` - Gets the list of security rules provided by the ``getSecurityRules`` method and adds security group with these rules to the Heat stacks of all regions which the component's ``servers`` are deployed to Consider the following example of this class usage: .. code-block:: yaml Namespaces: =: com.example.apache apps: io.murano.applications Name: ApacheHttpServer Extends: - apps:MultiServerApplicationWithScaling - apps:OpenStackSecurityConfigurable Methods: getSecurityRules: Body: - Return: - ToPort: 80 FromPort: 80 IpProtocol: tcp External: true - ToPort: 443 FromPort: 443 IpProtocol: tcp External: true In the example above, the ``ApacheHttpServer`` class is configured to create a security group with two security rules allowing network traffic over HTTP and HTTPS protocols on its deployment. The ``SoftwareComponent`` class inherits both ``Installable`` and ``Configurable`` and adds several additional methods. .. list-table:: :widths: 10 10 40 :header-rows: 1 * - Method - Arguments - Description * - **deployAt** - ``serverGroup`` - Binds all workflows into one process. Consequentially calls ``deploy`` method of the ``serverGroup``, ``install`` and ``configure`` methods inherited from the parent classes. * - **report** - ``message`` - Reports a ``message`` using environment's reporter. * - **detectSuccess** - ``allowedFailures``, ``serverGroup``, ``failedServers`` - Static method that returns `true` in case the actual number of failures (number of ``failedServers``) is less than or equal to the ``allowedFailures``. The latter can be on of the following options: `none`, `one`, `two`, `three`, `any`, 'quorum'. `any` allows any number of failures during the installation or configuration. `quorum` allows failure of less than a half of all servers. Event notification pattern ~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``Event`` class may be used to issue various notifications to other MuranoPL classes in an event-driven manner. Any object which is going to emit the notifications should declare the instances of the ``Event`` class as its public Runtime properties. You can see the examples of such properties in the ``Installable`` and ``Configurable`` classes: .. code-block:: yaml Name: Installable Properties: beforeInstallEvent: Contract: $.class(Event).notNull() Usage: Runtime Default: name: beforeInstall The object which is going to subscribe for the notifications should pass itself into the ``subscribe`` method of the event along with the name of its method which will be used to handle the notification: .. code-block:: yaml $event.subscribe($subscriber, handleFoo) The specified handler method must be present in the subscriber class (if the method name is missing it will default to ``handle%Eventname%``) and have at least one standard (i.e. not ``VarArgs`` or ``KwArgs``) argument which will be treated as ``sender`` while invoking. The ``unsubscribe`` method does the opposite and removes object from the subscribers of the event. The class which is going to emit the notification should call the ``notify`` method of the event and pass itself as the first argument (``sender``). All the optional parameters of the event may be passed as varargs/kwargs of the ``notify`` call. They will be passed all the way to the handler methods. This is how it looks in the ``Installable`` class: .. code-block:: yaml beforeInstall: Arguments: - servers: Contract: - $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() Body: - ... - $this.beforeInstallEvent.notify($this, $servers, $serverGroup) - ... The ``notifyInParallel`` method does the same, but invokes all handlers of subscribers in parallel. Base application classes ~~~~~~~~~~~~~~~~~~~~~~~~ There are several base classes that extend standard ``io.murano.Application`` class and ``SoftwareComponent`` class from the application development library. **SingleServerApplication** A base class for applications running a single software component on a single server only. Its ``deploy`` method simply creates the ``SingleServerGroup`` with the ``server`` provided as an application input. **MultiServerApplication** A base class for applications running a single software component on multiple servers. Unlike ``SingleServerApplication``, it has the ``servers`` input property instead of ``server``. It accepts instance of on of the inheritors of the ``ServerGroup`` class. **MultiServerApplicationWithScaling** Extends ``MultiServerApplication`` with the ability to scale the application by increasing (scaling out) or decreasing (scaling in) the number of nodes with the application after it is installed. The differences from ``MultiServerApplication`` are: * the ``servers`` property accepts only instances of ``ServerReplicationGroup`` rather than any ``ServerGroup`` * the additional optional ``scaleFactor`` property accepts the number by which the app is scaled at once; it defaults to 1 * the ``scaleOut`` and ``scaleIn`` public methods are added Application developers may as well define their own classes using the same approach and combining base classes behaviour with the custom code to satisfy the needs of their applications. murano-9.0.0/doc/source/admin/appdev-guide/multi_region.rst0000664000175000017500000001125713656750211024015 0ustar zuulzuul00000000000000.. _multi_region: Multi-region application ~~~~~~~~~~~~~~~~~~~~~~~~ Since Newton release, Murano supports multi-region application deployment. All MuranoPL resource classes are inherited from the ``io.murano.CloudResource`` class. An application developer can set a custom region for ``CloudResource`` subclasses deployment. Set a region for resources -------------------------- **To set a region for resources:** #. Specify a region for ``CloudResource`` subclasses deployment through the ``regionName`` property. For example: .. code-block:: yaml Application: ?: type: com.example.apache.ApacheHttpServer enablePHP: $.appConfiguration.enablePHP ... instance: ?: type: io.murano.resources.LinuxMuranoInstance regionName: 'CustomRegion' ... #. Retrieve ``io.murano.CloudRegion`` objects: .. code-block:: yaml $region: $.instance.getRegion() $regionName: $region.name $regionLocalStack: $region.stack $regionDefaultNetworks: $region.defaultNetworks As a result, all region-local properties are moved from the ``io.murano.Environment`` class to the new :ref:`cloud-region` class. For backward compatibility, the ``io.murano.Environment`` class stores region-specific properties of default region, except the ``defaultNetworks`` in its own properties. The ``Environment::defaultNetworks`` property contains templates for the ``CloudRegion::defaultNetworks`` property. Through current UI, you cannot select networks, flavor, images and availability zone from a non-default region. We suggest using regular text fields to specify region-local resources. Networking and multi-region applications ---------------------------------------- By default, each region has its own separate network. To ensure connectivity between the networks, create and configure networks in regions before deploying the application and use ``io.murano.resources.ExistingNeutronNetwork`` to connect the instance to an existing network. Example: .. code-block:: yaml Application: ?: type: application.fully.qualified.Name ... instance_in_region1: ?: type: io.murano.resources.LinuxMuranoInstance regionName: 'CustomRegion1' networks: useEnvironmentNetwork: false useFlatNetwork: false customNetworks: - ?: type: io.murano.resources.ExistingNeutronNetwork regionName: 'CustomRegion1' internalNetworkName: 'internalNetworkNameInCustomRegion1' internalSubnetworkName: 'internalSubNetNameInCustomRegion1' instance_in_region2: ?: type: io.murano.resources.LinuxMuranoInstance regionName: 'CustomRegion2' networks: useEnvironmentNetwork: false useFlatNetwork: false customNetworks: - ?: type: io.murano.resources.ExistingNeutronNetwork regionName: 'CustomRegion2' internalNetworkName: 'internalNetworkNameInCustomRegion2' internalSubnetworkName: 'internalSubNetNameInCustomRegion2' ... Also, you can configure networks with the same name and use a template for the region networks. That is, describe ``io.murano.resources.ExistingNeutronNetwork`` only once and assign it to the ``Environment::defaultNetworks::environment`` property. The environment will create ``Network`` objects for regions from the ``ExistingNeutronNetwork`` template. Example: .. code-block:: console OS_REGION_NAME="RegionOne" openstack network create OS_REGION_NAME="RegionTwo" openstack network create # configure subnets #... # add ExistingNeutronNetwork to environment object model murano environment-create --join-net-id # also it is possible to specify subnet from murano environment-create --join-net-id --join-subnet-id Additionally, consider the ``[networking]`` section in the configuration file. Currently, ``[networking]`` settings are common for all regions. .. code-block:: ini [networking] external_network = %EXTERNAL_NETWORK_NAME% router_name = %MURANO_ROUTER_NAME% create_router = true If you choose an automatic neutron configuration, configure the external network with identical names in all regions. If you disable the automatic router creation, create routers with identical names in all regions. Also, the ``default_dns`` address must be reachable from all created networks. .. note:: To use regions, first configure them as described in :ref:`multi-region`. murano-9.0.0/doc/source/admin/appdev-guide/examples.rst0000664000175000017500000000527013656750211023134 0ustar zuulzuul00000000000000.. _examples: ======== Examples ======== .. list-table:: :header-rows: 1 :widths: 30 70 :stub-columns: 0 :class: borderless * - Application name - Description * - | `Zabbix Agent`_ - Zabbix Agent is a simple application. It doesn't deploy a VM by itself, but is installed on a specific VM that may contain any other applications. This VM is tracked by Zabbix and by its configuration. So Murano performs the Zabbix agent configuration based on the user input. The user chooses the way of instance tracking - HTTP or ICMP that may perform some modifications in the application package. It is worth noting that application scripts are written in Python, not in Bash as usual. This application does not work without Zabbix server application since it's a required property, determined in the application definition. * - | `Zabbix Server`_ - Zabbix Server application interacts with Zabbix Agent by calling its setUpAgent method and providing information about itself: IP and hostname of VM on which the server is installed. Server installs MySQL database and requests database name, password and some other parameters from the user. * - | `Docker Crate`_ - This is a good example on how difficult logic may be simplified with the inheritance that is supported by MuranoPL. Definition of this app is simple, but the opportunity it provides is fantastic. Crate is a distributed database, in the Murano Application catalog it looks like a regular application. It may be deployed on Google Kubernetes or regular Docker server. The user picks the desired option while filling in the form since these options are set in the UI definition. The form field has a list of possible options:: ... type: - com.mirantis.docker.kubernetes.KubernetesPod - com.mirantis.docker.DockerStandaloneHost Information about the application itself (docker image and port that is needed to be opened) is contained in the getContainer method. All other actions for the application configuration are located at the DockerStandaloneHost definition and its dependencies. Note that this application doesn't have a filename:Resources folder at all since the installation is made by Docker itself. .. Links: .. _`Zabbix Agent`: https://github.com/openstack/murano-apps/tree/master/ZabbixAgent/package .. _`Zabbix Server`: https://github.com/openstack/murano-apps/tree/master/ZabbixServer/package .. _`Docker Crate`: https://github.com/openstack/murano-apps/tree/master/Docker/Applications/Crate/package murano-9.0.0/doc/source/admin/appdev-guide/murano_packages.rst0000664000175000017500000000030313656750211024445 0ustar zuulzuul00000000000000.. _murano-packages: =============== Murano packages =============== .. toctree:: :maxdepth: 1 muranopackages/package_structure muranopackages/dynamic_ui muranopackages/repository murano-9.0.0/doc/source/admin/appdev-guide/murano_pl.rst0000664000175000017500000000076013656750211023311 0ustar zuulzuul00000000000000.. _murano-pl: ================== MuranoPL Reference ================== To develop applications, murano project refers to Murano Programming Language (MuranoPL). It is represented by easily readable YAML and YAQL languages. The sections below describe these languages. .. toctree:: :maxdepth: 1 murano_pl/yaml murano_pl/yaql murano_pl/class_templ murano_pl/core_lib murano_pl/reflection murano_pl/statics murano_pl/metadata murano_pl/versioning murano_pl/actionsmurano-9.0.0/doc/source/admin/appdev-guide/app_migrating.rst0000664000175000017500000000075213656750211024137 0ustar zuulzuul00000000000000.. _app_migrating: ======================================= Migrating applications between releases ======================================= This document describes how a developer of murano application can update existing packages to make them synchronized with all implemented features and requirements. .. toctree:: :maxdepth: 1 app_migrating/app_migrate_to_juno app_migrating/app_migrate_to_kilo app_migrating/app_migrate_to_liberty app_migrating/app_migrate_to_newton murano-9.0.0/doc/source/admin/appdev-guide/hot_packages.rst0000664000175000017500000001200113656750211023734 0ustar zuulzuul00000000000000.. _hot-packages: ============ HOT packages ============ .. _compose_package: Compose a package ~~~~~~~~~~~~~~~~~ Murano is an Application catalog which intends to support applications defined in different formats. As a first step to universality, support of a heat orchestration template was added. It means that any heat template could be added as a separate application into the Application Catalog. This could be done in two ways: manual and automatic. Automatic package composing --------------------------- Before uploading an application into the catalog, it should be prepared and archived. A Murano command line will do all preparation for you. Just choose the desired Heat Orchestration Template and perform the following command: :: murano package-create --template wordpress/template.yaml Note, that optional parameters could be specified: :--name: an application name, copied from a template by default :--logo: an application square logo, by default the heat logo will be used :--description: text information about an application, by default copied from a template :--author: a name of an application author :--output: a name of an output file archive to save locally :--full-name: a fully qualified domain name that specifies exact application location :--resources-dir: a path to the directory containing application resources .. note:: To performing this command python-muranoclient should be installed in the system As the result, an application definition archive will be ready for uploading. Manual package composing ------------------------ Application package could be composed manually. Follow the 5 steps below. * *Step 1. Choose the desired heat orchestration template* For this example `chef-server.yaml `_ template will be used. * *Step 2. Rename it to template.yaml* * *Step 3. Prepare an application logo (optional step)* It could be any picture associated with the application. * *Step 4. Create manifest.yaml file* All service information about the application is contained here. Specify the following parameters: :Format: defines an application definition format; should be set to ``Heat.HOT/1.0`` :Type: defines a manifest type, should be set to ``Application`` :FullName: a unique name which will be used to identify the application in Murano Catalog :Description: text information about an application :Author: a name of an application author or a company :Tags: keywords associated with the application :Logo: a name of a logo file for an application Take a look at the example: .. code-block:: yaml Format: Heat.HOT/1.0 Type: Application FullName: com.example.Chef-Server Name: Chef Server Description: "Heat template to deploy Open Source CHEF server on a VM" Author: Kate Tags: - hot-based Logo: logo.png * *Step 5. Create a zip archive, containing the specified files:* ``template.yaml``, ``manifest.yaml``, ``logo.png`` `Browse` page looks like: .. image:: figures/chef_server.png The configuration form, where you can enter template parameters, will be generated automatically and looks as follows: .. image:: figures/chef_server_form.png After filling the form the application is ready to be deployed. Hot packages with nested Heat templates --------------------------------------- In Murano HOT packages it is possible to allow Heat nested templates to be saved and deployed as part of a Murano Heat applications. Such templates should be placed in package under '/Resources/HotFiles'. Adding additional templates to a package is optional. When a Heat generated package is being deployed, if there are any Heat nested templates located in the package under '/Resources/HotFiles', they are sent to Heat together with the main template and params during stack creation. These nested templates can be referenced by putting the template name into the ``type`` attribute of resource definition, in the main template. This mechanism then compose one logical stack with these multiple templates. The following examples illustrate how you can use a custom template to define new types of resources. These examples use a custom template stored in a ``sub_template.yaml`` file .. code-block:: yaml heat_template_version: 2015-04-30 parameters: key_name: type: string description: Name of a KeyPair resources: server: type: OS::Nova::Server properties: key_name: {get_param: key_name} flavor: m1.small image: ubuntu-trusty Use the template filename as type --------------------------------- The following main template defines the ``sub_template.yaml`` file as value for the type property of a resource .. code-block:: yaml heat_template_version: 2015-04-30 resources: my_server: type: sub_template.yaml properties: key_name: my_key .. note:: This feature is supported Liberty onwards.murano-9.0.0/doc/source/admin/appdev-guide/app_debugging.rst0000664000175000017500000000540113656750211024105 0ustar zuulzuul00000000000000.. _app-debugging: ================================ Application developer's cookbook ================================ If you have not written murano packages before, start from the existing :ref:`Step-by-Step ` guide. It contains general information about murano packages development process. Additionally, see the :ref:`MuranoPL reference `. Load applications from a local directory ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Normally, whenever you make changes to your application, you have to package it, re-upload the package to the API, and delete the old package from the API. This makes developing and testing murano applications troublesome and time-consuming. Murano-engine provides a way to speed up the edit-upload-deploy loop. This can be done with the ``load_packages_from`` option. Murano-engine examines any directories mentioned in this option before accessing the API. Therefore, you do not even need to package the application into a ZIP archive and any changes you make are instantly available to the engine, if you do not plan to check or change the application UI. To check your application's appearance in the OpenStack dashboard, upload the application for the first run. Additionally, re-upload the package using the OpenStack dashboard or CLI each time you update the application UI. To load an application from a local directory, modify the ``load_packages_from`` parameter in murano config ``[engine]`` section. .. code-block:: console [engine] ... load_packages_from = /path/to/murano/applications ... .. note:: The murano-engine scans the directory structure and seeks application manifests. Therefore, you can point the ``load_packages_from`` parameter to a cloned version of the murano-apps repository. Deploy environment using CLI ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The standard way to deploy an application in murano is by using the murano dashboard (OpenStack dashboard plug-in). However, if the OpenStack dashboard is not available or some sort of automation is required, murano provides the capability to deploy environments through CLI. It is a powerful tool that allows users and application developers make arbitrary changes to apps object-model. This can be useful in early stages of application development to experiment with different object models of an application. You can read more about it in :ref:`Deploying environments using CLI ` Application unit test framework ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ An application unit test framework was created to make development process easier. With this framework you can check different scenarios of application deployment without running real deployments. For more information about application unit tests, see :ref:`Application unit tests `. murano-9.0.0/doc/source/admin/appdev-guide/murano_bundles.rst0000664000175000017500000000406513656750211024334 0ustar zuulzuul00000000000000.. _murano-bundles: ============== Murano bundles ============== A bundle is a collection of packages. In the Community App Catalog, you can find such bundles as ``container-based-apps``, ``app-servers``, and so on. The packages in the Application Catalog are sorted by usage. You can import bundles from the catalog using Dashboard or CLI. You can read about this in :ref:`Managing applications ` and :ref:`Using CLI `. Specific information about *bundle-import* command can be found at :ref:`Murano command-line client `. Bundle structure ~~~~~~~~~~~~~~~~ Bundle description is a JSON structure, that contains list of packages in the bundle and bundle version. Here is the example: .. code-block:: javascript { "Packages": [ { "Name": "com.example.apache.ApacheHttpServer", "Version": "" }, { "Name": "com.example.apache.Tomcat", "Version": "" } ], "Version": 1 } .. ``Name`` is a required parameter and should contain package fully qualified name. ``Version`` is not a mandatory parameter. Version for package entry specifies the version of the package to look into :ref:`Murano package repository `. If it is specified, murano client would look for a file with that version specification in murano repository (for example ``com.example.MyApp.0.0.1.zip`` for com.example.MyApp of version 0.0.1). If the version is omitted or left blank client would search for ``com.example.MyApp.zip``. Create local bundle ~~~~~~~~~~~~~~~~~~~ However, you may need to create a local bundle. You may need it if you want to setup your own :ref:`Murano package repository `. To create a new bundle, perform the following steps: #. Navigate to the directory with the target packages. #. Create a ``.bundle`` file. List all the required packages in ``Packages`` section. If needed, specify the bundle version in the ``Version`` section. murano-9.0.0/doc/source/admin/appdev-guide/murano_pl/0000775000175000017500000000000013656750351022561 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/admin/appdev-guide/murano_pl/reflection.rst0000664000175000017500000001412113656750211025437 0ustar zuulzuul00000000000000.. _reflection: Reflection capabilities in MuranoPL. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Reflection provides objects that describes MuranoPL classes and packages. The first important function is ``typeinfo`` . Usage: .. code-block:: yaml $typeInfo: typeinfo($someObject) Now ``$typeInfo`` variable contains instance of type of ``$someObject`` (``MuranoClass`` instance). MuranoPL provide following abilities to reflection: .. _types_reflection: Types ----- .. list-table:: :header-rows: 1 :widths: 20 80 :stub-columns: 0 :class: borderless * - Property - Description * - ``name`` - name of MuranoPL class * - ``version`` - version (`SemVer`_) of MuranoPL class. * - ``ancestors`` - list of class ancestors * - ``properties`` - list of class properties. See :ref:`properties_reflection` * - ``package`` - package information. See :ref:`package_reflection` * - ``methods`` - list of methods. See :ref:`methods_reflection` * - ``type`` - reference to type, which can be used as argument in engine functions *Example* .. code-block:: yaml - $typeInfo: typeinfo($) ... # log name, version and package name of this class - $log.info("This is "{class_name}/{version} from {package}", class_name => $typeInfo.name, version => str($typeInfo.version), package => $typeInfo.package.name)) - $log.info("Ancestors:") - For: ancestor In: $typeInfo.ancestors Do: #log all ancestors names - $log.info("{ancestor_name}", ancestor_name => $ancestor.name) # log full class version - $log.info("{version}", version => str($typeInfo.version)) # create object with same class - $newObject = new($typeInfo.type) .. _properties_reflection: Properties ---------- Property introspection ++++++++++++++++++++++ .. list-table:: :header-rows: 1 :widths: 20 80 :stub-columns: 0 :class: borderless * - Property - Description * - ``name`` - name of property * - ``hasDefault`` - boolean value. `True`, if property has default value, `False` otherwise * - ``usage`` - `Usage` property's field. See :ref:`property_usage` for details * - ``declaringType`` - type - owner of declared property Property access +++++++++++++++ .. list-table:: :header-rows: 1 :widths: 20 80 :stub-columns: 0 :class: borderless * - Methods - Description * - ``$property.setValue($target, $value)`` - set value of ``$property`` for object ``$target`` to ``$value`` * - ``$property.getValue($target)`` - get value of ``$property`` for object ``$target`` *Example* .. code-block:: yaml - $typeInfo: typeinfo($) ... # select first property - $selectedPropety: $typeInfo.properties.first() # log property name - $log.info("Hi, my name is {p_name}, p_name => $selectedProperty.name) # set new property value - $selectedProperty.setValue($, "new_value") # log new property value using reflection - $log.info("My new value is {value}", value => $selectedProperty.getValue($)) # also, if property static, $target can be null - $log.info("Static property value is {value}, value => $staticProperty.getValue(null)) .. _package_reflection: Packages -------- .. list-table:: :header-rows: 1 :widths: 20 80 :stub-columns: 0 :class: borderless * - Property - Description * - ``types`` - list of types, declared in package * - ``name`` - package name * - ``version`` - package version *Example* .. code-block:: yaml - $typeInfo: typeinfo($) ... - $packageRef: $typeInfo.package - $log.info("This is package {p_name}/{p_version}", p_name => $packageRef.name, p_version => str($packageRef.version)) - $log.info("Types in package:") - For: type_ In: $packageRef.types Do: - $log.info("{typename}", typename => type_.name) .. _methods_reflection: Methods ------- Methods properties ++++++++++++++++++ .. list-table:: :header-rows: 1 :widths: 20 80 :stub-columns: 0 :class: borderless * - Property - Description * - ``name`` - method's name * - ``declaringType`` - type - owner of declared method * - ``arguments`` - list of method's arguments. See :ref:`arguments_reflection` Method invoking +++++++++++++++ .. list-table:: :header-rows: 1 :widths: 20 80 :stub-columns: 0 :class: borderless * - Methods - Description * - ``$method.invoke($target, $arg1, ... $argN, kwarg1 => value1, ..., kwargN => valueN)`` - call ``$target``'s method $method with ``$arg1``, ..., ``$argN`` positional arguments and ``kwarg1``, .... ``kwargN`` named arguments *Example* .. code-block:: yaml - $typeInfo: typeinfo($) ... # select single method by name - $selectedMethod: $typeInfo.methods.where($.name = sampleMethodName).single() # log method name - $log.info("Method name: {m_name}", m_name => $selectedMethod.name) # log method arguments names - For: argument In: $selectedMethod.arguments Do: - $log.info("{name}", name => $argument.name) # call method with positional argument 'bar' and named `baz` == 'baz' - $selectedMethod.invoke($, 'bar', baz => baz) .. _arguments_reflection: Method arguments ---------------- .. list-table:: :header-rows: 1 :widths: 20 80 :stub-columns: 0 :class: borderless * - Property - Description * - ``name`` - argument's name * - ``hasDefault`` - `True` if argument has default value, `False` otherwise * - ``declaringMethod`` - method - owner of argument * - ``usage`` - argument's usage type. See :ref:`method_arguments` for details .. code-block:: yaml - $firstArgument: $selectedMethod.arguments.first() # store argument's name - $argName: $firstArgument.name # store owner's name - $methodName: $firstArgument.declaringMethod.name - $log.info("Hi, my name is {a_name} ! My owner is {m_name}", a_name => $argName, m_name => $methodName) .. Links: .. _`SemVer`: http://semver.org murano-9.0.0/doc/source/admin/appdev-guide/murano_pl/statics.rst0000664000175000017500000001423413656750211024764 0ustar zuulzuul00000000000000.. _static_methods_and_properties: Static methods and properties ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In MuranoPL, static denotes class methods and class properties (as opposed to instance methods and instance properties). These methods and properties can be accessed without an instance present. Static methods are often used for helper methods that are not bound to any object (that is, do not maintain a state) or as a convenient way to write a class factory. Type objects ------------ Usually static methods and properties are accessed using `type object`. That is, an object that represents the class rather than class instance. For any given class `foo.Bar` its type object may be retrieved using any of the following ways: * Using ``ns:Bar`` notation considering that `ns` is declared in `Namespaces` section (and it is `foo` in this case), * Using ``:Bar`` syntax if `Bar` is in the current namespace (that is, what ``=:Bar`` would mean if ``=`` was a valid namespace prefix), * Using ``type()`` function with a fully qualified class name: ``type('foo.Bar')``, * By obtaining a type of class instance: ``type($object)`` (available for packages with format version starting from `1.3`), * Through reflection: ``typeinfo($object).type``. No matter what method was used to get type object, the returned object will be the same because there can be only one type object per class. All functions that accept type name, for example ``new()`` function, also accept type objects. Accessing static methods and properties --------------------------------------- Static methods can be invoked using one of the two ways: * Using `type object`: ``ns:Bar.foo(arg)``, ``:Bar.foo(arg)``, and so on, * On a class instance similar to normal methods: ``$obj.foo(arg)``. Access to properties is similar to that: * Using `type object`: ``ns:Bar.property``, ``:Bar.property``, and so on, * On a class instance: ``$obj.property``. Static properties are defined on a class rather than on an instance. Therefore, their values will be the same for all class instances (for particular version of the class). Declaration of static methods and properties -------------------------------------------- Methods and properties are declared to be static by specifying ``Usage: Static`` on them. For example: .. code-block:: yaml Properties: property: Contract: $.string() Usage: Static Methods: foo: Usage: Static Body: - Return: $.property Static properties are never initialized from object model but can be modified from within MuranoPL code (i.e. they are not immutable). Static methods also can be executed as an action from outside using ``Scope: Public``. Within static method `Body` ``$this`` (and ``$`` if not set to something else in expression) are set to type object rather than to instance, as it is for regular methods. Static methods written in Python -------------------------------- For MuranoPL classes entirely or partially written in Python, all methods that have either ``@staticmethod`` or ``@classmethod`` decorators are automatically imported as static methods and work as they normally do in Python. .. _extension_methods: Extension methods ~~~~~~~~~~~~~~~~~ Extension methods are a special kind of static methods that can act as if they were regular instance methods of some other type. Extension methods enable you to "add" methods to existing types without modifying the original type. Defining extension methods -------------------------- Extension methods are declared with the ``Usage: Extension`` modifier. For example: .. code-block:: yaml Name: SampleClass Methods: mul: Usage: Extension Arguments: - self: Contract: $.int().notNull() - arg: Contract: $.int().notNull() Body: Return: $self * $arg Extension method are said to extend some other type and that type is deducted from the first method argument contract. Thus extension methods must have at least one argument. Extension methods can also be written in Python just the same way as static methods. However one should be careful in method declaration and use precise YAQL specification of the type of first method argument otherwise the method will become an extension of any type. To turn Python static method into extension method it must be decorated with ``@yaql.language.specs.meta('Usage', 'Extension')`` decorator. Using extension methods ----------------------- The example above defines a method that extends integer type. Therefore, with the method above it becomes possible to say ``2.mul(3)``. However, the most often usage is to extend some existing MuranoPL class using ``class()`` contract. If the first argument contract does not have ``notNull()``, then the method can be invoked on the ``null`` object as well (like ``null.foo()``). Extension methods are static methods and, therefore,can be invoked in a usual way on type object: ``:SampleClass.mul(2, 3)``. However, unlike regular static methods extensions cannot be invoked on a class instance because this can result in ambiguity. Using extension lookup order ---------------------------- When somewhere in the code the ``$foo.bar()`` expression is encountered, MuranoPL uses the following order to locate bar() ``implementation``: * If there is an instance or static method in ``$foo``'s class, it will be used. * Otherwise if the current class (where this expression was encountered) has an extension method called ``bar`` and ``$foo`` satisfies the contract of its first argument, then this method will be called. Normally, if no method was found an exception will be raised. However, additional extension methods can be imported into the current context. This is done using the ``Import`` keyword on a class level. The ``Import`` section specifies either a list or a single type name (or type object) which extension methods will be available anywhere within the class code: .. code-block:: yaml Name: MyClass Import: - ns:SomeOtherType - :ClassFomCurrentContext - 'io.murano.foo.Bar' If no method was found with the algorithm above, the search continues on extension methods of all classes listed in the ``Import`` section in the order types are listed. murano-9.0.0/doc/source/admin/appdev-guide/murano_pl/actions.rst0000664000175000017500000000676013656750211024757 0ustar zuulzuul00000000000000.. _actions: ============== Murano actions ============== Murano action is a type of MuranoPL method. The differences from a regular MuranoPL method are: * Action is executed on deployed objects. * Action execution is initiated by API request, you do not have to call the method manually. So murano action allows performing any operations on objects: * Getting information from the VM, like a config that is generated during the deployment * VM rebooting * Scaling A list of available actions is formed during the environment deployment. Right after the deployment is finished, you can call action asynchronously. Murano engine generates a task for every action. Therefore, the action status can be tracked. .. note:: Actions may be called against any MuranoPL object, including ``Environment``, ``Application``, and any other objects. .. note:: Now murano doesn't support big files download during action execution. This is because action results are stored in murano database and are limited by approximately 10kb size. To mark a method as an action, use ``Scope: Public`` or ``Usage: Action``. The latter option is deprecated for the package format versions > 1.3 and occasionally will be no longer supported. Also, you cannot use both ``Usage: Action`` and ``Scope: Session`` in one method. The following example shows an action that returns an archive with a configuration file: .. code-block:: yaml exportConfig: Scope: Public Body: - $._environment.reporter.report($this, 'Action exportConfig called') - $resources: new(sys:Resources) - $template: $resources.yaml('ExportConfig.template') - $result: $.masterNode.instance.agent.call($template, $resources) - $._environment.reporter.report($this, 'Got archive from Kubernetes') - Return: new(std:File, base64Content => $result.content, filename => 'application.tar.gz') List of available actions can be found with environment details or application details API calls. It's located in object model special data. Take a look at the following example: Request: ``http://localhost:8082/v1/environments//services/`` Response: .. code-block:: json { "name": "SimpleVM", "?": { "_26411a1861294160833743e45d0eaad9": { "name": "SimpleApp" }, "type": "com.example.Simple", "id": "e34c317a-f5ee-4f3d-ad2f-d07421b13d67", "_actions": { "e34c317a-f5ee-4f3d-ad2f-d07421b13d67_exportConfig": { "enabled": true, "name": "exportConfig" } } } } ============== Static actions ============== Static methods (:ref:`static_methods_and_properties`) can also be called through the API if they are exposed by specifying ``Scope: Public``, and the result of its execution will be returned. Consider the following example of the static action that makes use both of static class property and user's input as an argument: .. code-block:: yaml Name: Bar Properties: greeting: Usage: Static Contract: $.string() Default: 'Hello, ' Methods: staticAction: Scope: Public Usage: Static Arguments: - myName: Contract: $.string().notNull() Body: - Return: concat($.greeting, $myName) Request: ``http://localhost:8082/v1/actions`` Request body: .. code-block:: json { "className": "ns.Bar", "methodName": "staticAction", "parameters": {"myName": "John"} } Responce: .. code-block:: json "Hello, John" murano-9.0.0/doc/source/admin/appdev-guide/murano_pl/core_lib.rst0000664000175000017500000002646613656750211025102 0ustar zuulzuul00000000000000.. _core_lib: MuranoPL Core Library ~~~~~~~~~~~~~~~~~~~~~ Some objects and actions can be used in several application deployments. All common parts are grouped into MuranoPL libraries. Murano core library is a set of classes needed in each deployment. Class names from core library can be used in the application definitions. This library is located under the `meta `_ directory. Classes included in the Murano core library are as follows: **io.murano** - :ref:`object` - :ref:`application` - :ref:`security-group-manager` - :ref:`environment` - :ref:`cloud-region` **io.murano.resources** - :ref:`instance` - :ref:`network` **io.murano.system** - :ref:`logger` - :ref:`status-reporter` .. _object: Class: Object ------------- A parent class for all MuranoPL classes. It implements the ``initialize``, ``setAttr``, and ``getAttr`` methods defined in the pythonic part of the Object class. All MuranoPL classes are implicitly inherited from this class. .. seealso:: Source `Object.yaml `_ file. .. _application: Class: Application ------------------ Defines an application itself. All custom applications must be derived from this class. .. seealso:: Source `Application.yaml `_ file. .. _security-group-manager: Class: SecurityGroupManager --------------------------- Manages security groups during an application deployment. .. seealso:: Source `SecurityGroupManager.yaml `_ file. .. _cloud-region: Class: CloudRegion ------------------ Defines a CloudRegion and groups region-local properties .. list-table:: **CloudRegion class properties** :widths: 10 35 7 :header-rows: 1 * - Property - Description - Default usage * - ``name`` - A region name. - ``In`` * - ``agentListener`` - A property containing the ``io.murano.system.AgentListener`` object that can be used to interact with Murano Agent. - ``Runtime`` * - ``stack`` - A property containing a HeatStack object that can be used to interact with Heat. - ``Runtime`` * - ``defaultNetworks`` - A property containing user-defined Networks (``io.murano.resources.Network``) that can be used as default networks for the instances in this environment. - ``In`` * - ``securityGroupManager`` - A property containing the ``SecurityGroupManager`` object that can be used to construct a security group associated with this environment. - ``Runtime`` .. seealso:: Source `CloudRegion.yaml `_ file. .. _environment: Class: Environment ------------------ Defines an environment in terms of the deployment process and groups all Applications and their related infrastructures. It also able to deploy them at once. Environments is intent to group applications to manage them easily. .. list-table:: **Environment class properties** :widths: 10 35 7 :header-rows: 1 * - Property - Description - Default usage * - ``name`` - An environment name. - ``In`` * - ``applications`` - A list of applications belonging to an environment. - ``In`` * - ``agentListener`` - A property containing the ``io.murano.system.AgentListener`` object that can be used to interact with Murano Agent. - ``Runtime`` * - ``stack`` - A property containing a HeatStack object in default region that can be used to interact with Heat. - ``Runtime`` * - ``instanceNotifier`` - A property containing the ``io.murano.system.InstanceNotifier`` object that can be used to keep track of the amount of deployed instances. - ``Runtime`` * - ``defaultNetworks`` - A property containing templates for user-defined Networks in regions (``io.murano.resources.Network``). - ``In`` * - ``securityGroupManager`` - A property containing the ``SecurityGroupManager`` object from default region that can be used to construct a security group associated with this environment. - ``Runtime`` * - ``homeRegionName`` - A property containing the name of home region from `murano` config - ``Runtime`` * - ``regions`` - A property containing the map `regionName` -> `CloudRegion` instance. - ``InOut`` * - ``regionConfigs`` - A property containing the map `regionName` -> `CloudRegion` config - ``Config`` .. seealso:: Source `Environment.yaml `_ file. .. _instance: Class: Instance --------------- Defines virtual machine parameters and manages an instance lifecycle: spawning, deploying, joining to the network, applying security group, and deleting. .. list-table:: **Instance class properties** :widths: 10 35 7 :header-rows: 1 * - Property - Description - Default usage * - ``regionName`` - Inherited from ``CloudResource``. Describe region for instance deployment - ``In`` * - ``name`` - An instance name. - ``In`` * - ``flavor`` - An instance flavor defining virtual machine hardware parameters. - ``In`` * - ``image`` - An instance image defining operation system. - ``In`` * - ``keyname`` - Optional. A key pair name used to connect easily to the instance. - ``In`` * - ``agent`` - Configures interaction with the Murano agent using ``io.murano.system.Agent``. - ``Runtime`` * - ``ipAddresses`` - A list of all IP addresses assigned to an instance. Floating ip address is placed in the list tail if present. - ``Out`` * - ``networks`` - Specifies the networks that an instance will be joined to. Custom networks that extend :ref:`Network class ` can be specified. An instance will be connected to them and for the default environment network or flat network if corresponding values are set to ``True``. Without additional configuration, instance will be joined to the default network that is set in the current environment. - ``In`` * - ``volumes`` - Specifies the mapping of a mounting path to volume implementations that must be attached to the instance. Custom volumes that extend ``Volume`` class can be specified. - ``In`` * - ``blockDevices`` - Specifies the list of block device mappings that an instance will use to boot from. Each mapping defines a volume that must be an instance of ``Volume`` class, device name, device type, and boot order. Either the ``blockDevices`` property or ``image`` property must be specified in order to boot an instance - ``In`` * - ``assignFloatingIp`` - Determines if floating IP is required. Default is ``False``. - ``In`` * - ``floatingIpAddress`` - IP addresses assigned to an instance after an application deployment. - ``Out`` * - ``securityGroupName`` - Optional. A security group that an instance will be joined to. - ``In`` .. seealso:: Source `Instance.yaml `_ file. .. _instance-resources: Resources +++++++++ Instance class uses the following resources: **Agent-v2.template** Python Murano Agent template. .. note:: This agent is supposed to be unified. Currently, only Linux-based machines are supported. Windows support will be added later. **linux-init.sh** Python Murano Agent initialization script that sets up an agent with valid information containing an updated agent template. **Agent-v1.template** Windows Murano Agent template. **windows-init.sh** Windows Murano Agent initialization script. .. _network: Class: Network -------------- The basic abstract class for all MuranoPL classes representing networks. .. seealso:: Source `Network.yaml `_ file. .. _logger: Class: Logger ------------- Logging API is the part of core library since Liberty release. It was introduced to improve debuggability of MuranoPL programs. You can get a logger instance by calling a ``logger`` function which is located in ``io.murano.system`` namespace. The ``logger`` function takes a logger name as the only parameter. It is a common recommendation to use full class name as a logger name within that class. This convention avoids names conflicts in logs and ensures a better logging subsystem configurability. Logger class instantiation: .. code-block:: yaml $log: logger('io.murano.apps.activeDirectory.ActiveDirectory') .. list-table:: **Log levels prioritized in order of severity** :widths: 10 35 :header-rows: 1 * - Level - Description * - CRITICAL - Very severe error events that will presumably lead the application to abort. * - ERROR - Error events that might not prevent the application from running. * - WARNING - Events that are potentially harmful but will allow the application to continue running. * - INFO - Informational messages highlighting the progress of the application at the coarse-grained level. * - DEBUG - Detailed informational events that are useful when debugging an application. * - TRACE - Even more detailed informational events comparing to the DEBUG level. There are several methods that fully correspond to the log levels you can use for logging events. They are ``debug``, ``trace``, ``info``, ``warning``, ``error``, and ``critical``. Logging example: .. code-block:: yaml $log.info('print my info message {message}', message=>message) Logging methods use the same format rules as the YAQL :command:`format` function. Thus the line above is equal to the: .. code-block:: yaml $log.info('print my info message {message}'.format(message=>message)) To print an exception stacktrace, use the :command:`exception` method. This method uses the ERROR level: .. code-block:: yaml Try: - Throw: exceptionName Message: exception message Catch: With: exceptionName As: e Do: - $log.exception($e, 'something bad happen "{message}"', message=>message) .. note:: You can configure the logging subsystem through the ``logging.conf`` file of the Murano Engine. .. seealso:: * Source `Logger.yaml `_ file. * `OpenStack networking logging configuration `_. .. _status-reporter: Class: StatusReporter --------------------- Provides feedback feature. To follow the deployment process in the UI, all status changes should be included in the application configuration. .. seealso:: Source `StatusReporter.yaml `_ file. murano-9.0.0/doc/source/admin/appdev-guide/murano_pl/versioning.rst0000664000175000017500000001610013656750211025467 0ustar zuulzuul00000000000000.. _versioning: Versioning ~~~~~~~~~~ Versioning is an ability to assign a version number to some particular package (and, in turn, to a class) and then distinguish packages with different versions. Package version --------------- It is possible to specify a version for packages. You can import several versions of the same package simultaneously and even deploy them inside a single environment. To do this, you should use Glare as a storage for packages. But if you're going to keep only the latest version API is still good enough and both FormatVersion and Version rules will still be there. For more information about using Glare, refer to :ref:`glare_usage`. To specify the version of your package, add a new section to the manifest file: .. code-block:: yaml Version: 0.1.0 .. It should be standard SemVer format version string consisting of 3 parts: ``Major.Minor.Patch`` and optional SemVer suffixes ``[-dev-build.label[+metadata.label]]``. All MuranoPL classes have the version of the package they are contained in. If no version is specified, the package version is *0.0.0*. .. note:: It is impossible to show multiple versions of the same application in murano dashboard: only the last one is shown if the multiple versions are present. Package requirements -------------------- In some cases, packages may require other packages for their work. You need to list such packages in the `Require` section of the manifest file: .. code-block:: yaml Require: package1_FQN: version_spec_1 ... packageN_FQN: version_spec_N .. ``version_spec`` here denotes the allowed version range. It can be either in semantic_version specification pip-like format or as a partial version string. If you do not want to specify the package version, leave this value empty: .. code-block:: yaml Require: package1_FQN: '>=0.0.3' package2_FQN: .. In this case, version specification is equal to *0*. .. note:: All packages depend on the `io.murano` package (Core Library). If you do not specify this requirement in the list (or the list is empty, or there is no ``Require`` key in the package manifest), then dependency *io.murano: 0* will be automatically added. Object version -------------- You can specify the version of the objects in UI definition when your application requires a specific version of some class. To do this, add a new key ``classVersion`` to section ``?`` describing the object: .. code-block:: yaml ?: type: io.test.apps.TestApp classVersion: version_spec .. Side-by-side versioning of packages ----------------------------------- In some cases it might happen that several different versions of the same class are simultaneously present in a single environment: * There are different versions of the same MuranoPL class inside a single object model (environment). * Several class versions encounter within class parents. For example, class A extends B and C and class C inherits B2, where B and B2 are two different versions of the same class. The first case, when two different versions of the same class need to communicate with each other, is handled by the fact that in order to do that there is a ``class()`` contract for that value. ``class()`` contract validates object version against package requirements. If class A has a property with contract $.class(B), then an object passed in this property when upcasted to B must have a version compatible with requirement specification in A's package (requesting B's package). For the second case, where a single class attempts to inherit from two different versions of the same class engine (DSL), it attempts to find a version of this class which satisfies all parties and use it instead. However, if it is impossible, all remained different versions of the same class are treated as if they are unrelated classes. For example: classA inherits classB from packageX and classC from packageY. Both classB and classC inherit from classD from packageZ; however, packageX depends on the version 1.2.0 of packageZ, while packageY depends on the version 1.3.0. This leads to a situation when classA transitively inherits classD of both versions 1.2 and 1.3. Therefore, an exception is thrown. However, if packageY's dependency would be just "1" (which means any of the 1.x.x family), the conflict would be resolved and the 1.2 would be used as it satisfies both inheritance chains. Murano engine is free to use any package version that is valid for the spec. For example, one application requires packageX with version spec < 0.3 and another package with the spec > 0. If both packages are get used in the same environment and the engine already loaded version 0.3 it can still use it for the second requirement even if there is a package with version 0.4 in the catalog and the classes from both classes are never interfere. In other words, engine always tries to minimize the number of versions in use for the single package to avoid conflicts and unnecessary package downloads. However, it also means that packages not always get the latest requirements. .. _ManifestFormat: Manifest format versioning -------------------------- The manifests of packages are versioned using *Format* attribute. Currently, available versions are: `1.0`, `1.1`, `1.2` and `1.3`. The versioning of manifest format is directly connected with YAQL and version of murano itself. The short description of versions: ================== =========================================================== Format version Description ================== =========================================================== **1.0** supported by all versions of murano. Use this version if you are planning to use *yaql 0.2* in your application **1.1** supported since Liberty. *yaql 0.2* is supported in legacy mode. Specify it, if you want to use features from *yaql 0.2* and *yaql 1.0.0* at the same time in your application. **1.2** supported since Liberty. Do not use *yaql 0.2* in applications with this format. **1.3** supported since Mitaka. *yaql 1.1* is available. It's recommended specifying this format in new applications, where compatibility with older versions of murano is not required. **1.4** supported since Newton. Keyword ``Scope`` is introduced for class methods to declare method's accessibility from outside through the API call. ================== =========================================================== UI forms versioning ------------------- UI forms are versioned using Format attribute inside YAML definition. For more information, refer to :ref:`corresponding documentation`. Execution plan format versioning -------------------------------- Format of an execution plan can be specified using property ``FormatVersion``. More information can be found :ref:`here`. murano-9.0.0/doc/source/admin/appdev-guide/murano_pl/metadata.rst0000664000175000017500000002431413656750211025072 0ustar zuulzuul00000000000000.. _metadata: MuranoPL Metadata ~~~~~~~~~~~~~~~~~ MuranoPL metadata is a way to attach additional information to various MuranoPL entities such as classes, packages, properties, methods, and method arguments. That information can be used by both applications (to implement dynamic programming techniques) or by the external callers (API consumers like UI or even by the Murano Engine itself to impose some runtime behavior based on well known meta values). Thus, metadata is a flexible alternative to adding new keyword for every new feature. Work with metadata includes the following cases: * Defining your own metadata classes * Attaching metadata to various parts of MuranoPL code * Obtaining metadata and its usage Define metadata classes ----------------------- Define MuranoPL class with the description of arbitrary metadata. The class that can be used as metadata differs from the regular class: * The ``Usage`` attribute of the former equals to ``Meta``, while the ``Usage`` attribute of the latter equals to ``Class``. The default value of the ``Usage`` attribute is ``Class``. * Metadata class has additional attributes (``Cardinality``, ``Applies`` and ``Inherited``) to control how and where instances of that class can be attached. Cardinality +++++++++++ The ``Cardinality`` attribute can be set to either ``One`` or ``Many`` and indicates the possibility to attach two or more instances of metadata to a single language entity. The default value is ``One``. Applies +++++++ The ``Applies`` attribute can be set to one of ``Package``, ``Type``, ``Method``, ``Property``, ``Argument`` or ``All`` and controls the possible language entities which instances of metadata class can be attached to. It is possible to specify several values using YAML list notation. The default value is ``All``. Inherited +++++++++ The ``Inherited`` attribute can be set to ``true`` or ``false`` and specifies if there is metadata retained for child classes, overridden methods and properties. The default value is ``false``. Using of ``Inherited: true`` has the following consequences. If some class inherits from two classes with the same metadata attached and this metadata has ``Cardinality: One``, it will lead to emerging of two metadata objects with ``Cardinality: One`` within a single entity and will throw an exception. However, if the child class has this metadata attached explicitly, it will override the inherited metas and there is no conflict. If the child class has the same meta as its parent (attached explicitly), then in case of ``Cardinatity: One`` the meta of the child overrides the meta of the parent as it is mentioned above. And in case of ``Cardinatity: Many`` meta of the parent is added to the list of the child's metas. Example +++++++ The following example shows a simple meta-class implementation: .. code-block:: yaml Name: MetaClassOne Usage: Meta Cardinality: One Applies: All Properties: description: Contract: $.string() Default: null count: Contract: $.int().check($ >= 0) Default: 0 ``MetaClassOne`` is defined as a metadata class by setting the ``Usage`` attribute to ``Meta``. The ``Cardinality`` and ``Applies`` attributes determine that only one instance of ``MetaClassOne`` can be attached to object of any type. The ``Inherited`` attribute is omitted so there is no metadata retained for child classes, overridden methods and properties. In the example above, ``Cardinality`` and ``Applies`` can be omitted as well, as their values are set to default but in this case the author wants to be explicit. The following example shows metadata class with different values of attributes: .. code-block:: yaml Name: MetaClassMany Usage: Meta Cardinality: Many Applies: [Property, Method] Inherited: true Properties: description: Contract: $.string() Default: null count: Contract: $.int().check($ >= 0) Default: 0 An instance (or several instances) of ``MetaClassMany`` can be attached to either property or method. Overridden methods and properties inherit metadata from its parents. Attach metadata to a MuranoPL entity ------------------------------------ To attach metadata to MuranoPL class, package, property, method or method argument, add the ``Meta`` keyword to its description. Under the description, specify a list of metadata class instances which you want to attach to the entity. To attach only one metadata class instance, use a single scalar instead of a list. Consider the example of attaching previously defined metadata to different entities in a class definition: .. code-block:: yaml Namespaces: =: io.murano.bar std: io.murano res: io.murano.resources sys: io.murano.system Name: Bar Extends: std:Application Meta: MetaClassOne: description: "Just an empty application class with some metadata" count: 1 Properties: name: Contract: $.string().notNull() Meta: - MetaClassOne: description: "Name of the app" count: 1 - MetaClassMany: count: 2 - MetaClassMany: count: 3 Methods: initialize: Body: - $._environment: $.find(std:Environment).require() Meta: MetaClassOne: description: "Method for initializing app" count: 1 deploy: Body: - If: not $.getAttr(deployed, false) Then: - $._environment.reporter.report($this, 'Deploy started') - $._environment.reporter.report($this, 'Deploy finished') - $.setAttr(deployed, true) The ``Bar`` class has an instance of metadata class ``MetaClassOne`` attached. For this, the ``Meta`` keyword is added to the ``Bar`` class description and the instance of the ``MetaClassOne`` class is specified under it. This instance's properties are ``description`` and ``count``. There are three meta-objects attached to the ``name`` property of the ``Bar`` class. One of it is a ``MetaclassOne`` object and the other two are ``MetaClassMany`` objects. There can be more than one instance of ``MetaClassMany`` attached to a single entity since the ``Cardinality`` attribute of ``MetaClassMany`` is set to ``Many``. The ``initialize`` method of ``Bar`` also has its metadata. To attach metadata to the package, add the ``Meta`` keyword to ``manifest.yaml`` file. Example: .. code-block:: yaml Format: 1.0 Type: Application FullName: io.murano.bar.Bar Name: Bar Description: | Empty Description Author: author Tags: [bar] Classes: io.murano.bar.Bar: Bar.yaml io.murano.bar.MetaClassOne: MetaClassOne.yaml io.murano.bar.MetaClassMany: MetaClassMany.yaml Supplier: Name: Name Description: Description Summary: Summary Meta: io.murano.bar.MetaClassOne: description: "Just an empty application with some metadata" count: 1 Obtain metadata in runtime -------------------------- Metadata can be accessed from MuranoPL using reflection capabilities and from Python code using existing YAQL mechanism. The following example shows how applications can access attached metadata: .. code-block:: yaml Namespaces: =: io.murano.bar std: io.murano res: io.murano.resources sys: io.murano.system Name: Bar Extends: std:Application Meta: MetaClassOne: description: "Just an empty application class with some metadata" Methods: sampleAction: Scope: Public Body: - $._environment.reporter.report($this, typeinfo($).meta. where($ is MetaClassOne).single().description) The ``sampleAction`` method is added to the ``Bar`` class definition. This makes use of metadata attached to the ``Bar`` class. The information about the ``Bar`` class is received by calling the ``typeinfo`` function. Then metadata is accessed through the ``meta`` property which returns the collection of all meta attached to the property. Then it is checked that the meta is a ``MetaClassOne`` object to ensure that it has ``description``. While executing the action, the phrase "Just an empty application class with some metadata" is reported to a log. Some advanced usages of MuranoPL reflection capabilities can be found in the corresponding section of this reference. By using metadata, an application can get information of any type attached to any object and use this information to change its own behavior. The most valuable use-cases of metadata can be: * Providing information about capabilities of application and its parts * Setting application requirements Capabilities can include version of software, information for use in UI or CLI, permissions, and any other. Metadata can also be used in requirements as a part of the contract. The following example demonstrates the possible use cases for the metadata: .. code-block:: yaml Name: BlogApp Meta: m:SomeFeatureSupport: support: true Properties: volumeName: Contract: $.string().notNull() Meta: m:Deprecated: text: "volumeName property is deprecated" server: Contract: $.class(srv:CoolServer).notNull().check(typeinfo($).meta. where($ is m:SomeFeatureSupport and $.support = true).any()) Methods: importantAction: Scope: Public Meta: m:CallerMustBeAdmin Note, that the classes in the example do not exist as of Murano Mitaka, and therefore the example is not a real working code. The ``SomeFeatureSupport`` metadata with ``support: true`` says that the ``BlogApp`` application supports some feature. The ``Deprecated`` metadata attached to the ``volumeName`` property informs that this property has a better alternative and it will not be used in the future versions anymore. The ``CallerMustBeAdmin`` metadata attached to the ``importantAction`` method sets permission to execute this method to the admin users only. In the contract of the ``server`` property it is specified that the server application must be of the ``srv:CoolServer`` class and must have the attached meta-object of the ``m:SomeFeatureSupport`` class with the ``support`` property set to ``true``. murano-9.0.0/doc/source/admin/appdev-guide/murano_pl/yaql.rst0000664000175000017500000000427613656750211024265 0ustar zuulzuul00000000000000.. _yaql: YAQL ~~~~ YAQL (Yet Another Query Language) is a query language that was also designed as a part of the murano project. MuranoPL makes an extensive use of YAQL. A description of YAQL can be found `here `_. Simply speaking, YAQL is the language for expression evaluation. The following examples are all valid YAQL expressions: ``2 + 2, foo() > bar(), true != false``. The interesting thing in YAQL is that it has no built in list of functions. Everything YAQL can access is customizable. YAQL cannot call any function that was not explicitly registered to be accessible by YAQL. The same is true for operators. So the result of the expression 2 * foo(3, 4) completely depends on explicitly provided implementations of "foo" and "operator_*". YAQL uses a dollar sign ($) to access external variables, which are also explicitly provided by the host application, and function arguments. ``$variable`` is a syntax to get a value of the variable "$variable", $1, $2, etc. are the names for function arguments. "$" is a name for current object: data on which an expression is evaluated, or a name of a single argument. Thus, "$" in the beginning of an expression and "$" in the middle of it can refer to different things. By default, YAQL has a lot of functions that can be registered in a YAQL context. This is very similar to how SQL works but uses more Python-like syntax. For example: :code:`$.where($.myObj.myScalar > 5`, :code:`$.myObj.myArray.len() > 0`, and :code:`$.myObj.myArray.any($ = 4)).select($.myObj.myArray[0])` can be executed on :code:`$ = array` of objects, and result in another array that is a filtration and projection of a source data. .. note:: There is no assignment operator in YAQL, and ``=`` means comparison, the same what ``==`` means in Python. As YAQL has no access to underlying operating system resources and is fully controllable by the host, it is secure to execute YAQL expressions without establishing a trust to the executed code. Also, because functions are not predefined, different methods can be accessible in different context. So, YAQL expressions that are used to specify property contracts are not necessarily valid in workflow definitions. murano-9.0.0/doc/source/admin/appdev-guide/murano_pl/yaml.rst0000664000175000017500000000322713656750211024254 0ustar zuulzuul00000000000000.. _yaml: YAML ~~~~ YAML is an easily readable data serialization format that is a superset of JSON. Unlike JSON, YAML is designed to be read and written by humans and relies on visual indentation to denote nesting of data structures. This is similar to how Python uses indentation for block structures instead of curly brackets in most C-like languages. Also YAML may contain more data types as compared to JSON. See http://yaml.org/ for a detailed description of YAML. MuranoPL is designed to be representable in YAML so that MuranoPL code could remain readable and structured. Usually MuranoPL files are YAML encoded documents. But MuranoPL engine itself does not deal directly with YAML documents, and it is up to the hosting application to locate and deserialize the definitions of particular classes. This gives the hosting application the ability to control where those definitions can be found (a file system, a database, a remote repository, etc.) and possibly use some other serialization formats instead of YAML. MuranoPL engine relies on a host deserialization code when detecting YAQL expressions in a source definition. It provides them as instances of the YaqlExpression class rather than plain strings. Usually, YAQL expressions can be distinguished by the presence of $ (the dollar sign) and operators, but in YAML, a developer can always state the type by using YAML tags explicitly. For example: .. code-block:: yaml :linenos: Some text - a string $.something() - a YAQL expression "$.something()" - a string because quotes are used !!str $ - a string because a YAML tag is used !yaql "text" - a YAQL expression because a YAML tag is used murano-9.0.0/doc/source/admin/appdev-guide/murano_pl/class_templ.rst0000664000175000017500000011147113656750211025621 0ustar zuulzuul00000000000000.. _class_templ: Common class structure ~~~~~~~~~~~~~~~~~~~~~~ Here is a common template for class declarations. Note, that it is in the YAML format. .. code-block:: yaml :linenos: Name: class name Namespaces: namespaces specification Extends: [list of parent classes] Properties: properties declaration Methods: methodName: Arguments: - list - of - arguments Body: - list - of - instructions Thus MuranoPL class is a YAML dictionary with predefined key names, all keys except for ``Name`` are optional and can be omitted (but must be valid if specified). Class name ---------- Class names are alphanumeric names of the classes. Traditionally, all class names begin with an upper-case letter symbol and are written in PascalCasing. In MuranoPL all class names are unique. At the same time, MuranoPL supports namespaces. So, in different namespaces you can have classes with the same name. You can specify a namespace explicitly, like `ns:MyName`. If you omit the namespace specification, ``MyName`` is expanded using the default namespace ``=:``. Therefore, ``MyName`` equals ``=:MyName`` if ``=`` is a valid namespace. Namespaces ---------- Namespaces declaration specifies prefixes that can be used in the class body to make long class names shorter. .. code-block:: yaml Namespaces: =: io.murano.services.windows srv: io.murano.services std: io.murano In the example above, the ``srv: Something`` class name is automatically translated to ``io.murano.services.Something``. ``=`` means the current namespace, so that ``MyClass`` means ``io.murano.services.windows.MyClass``. If the class name contains the period (.) in its name, then it is assumed to be already fully namespace qualified and is not expanded. Thus ``ns.Myclass`` remains as is. .. note:: To make class names globally unique, we recommend specifying a developer's domain name as a part of the namespace. Extends ------- MuranoPL supports multiple inheritance. If present, the ``Extends`` section shows base classes that are extended. If the list consists of a single entry, then you can write it as a scalar string instead of an array. If you do not specify any parents or omit the key, then the class extends ``io.murano.Object``. Thus, ``io.murano.Object`` is the root class for all class hierarchies. .. _class_props: Properties ---------- Properties are class attributes that together with methods create public class interface. Usually, but not always, properties are the values, and reference other objects that have to be entered in an environment designer prior to a workflow invocation. Properties have the following declaration format: .. code-block:: yaml propertyName: Contract: property contract Usage: property usage Default: property default Contract ++++++++ Contract is a YAQL expression that says what type of the value is expected for the property as well as additional constraints imposed on a property. Using contracts you can define what value can be assigned to a property or argument. In case of invalid input data it may be automatically transformed to confirm to the contract. For example, if bool value is expected and user passes any not null value it will be converted to ``True``. If converting is impossible exception ``ContractViolationException`` will be raised. The following contracts are available: +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | Operation | Definition | +===========================================================+=================================================================================================+ | | $.int() | | an integer value (may be null). String values consisting of digits are converted to integers | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | $.int().notNull() | | a mandatory integer | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | $.string() | | a string. If the value is not a string, it is converted to a string | | | $.string().notNull() | | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | $.bool() | | bools are true and false. ``0`` is converted to false, other integers to true | | | $.bool().notNull() | | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | $.class(ns:ClassName) | | value must be a reference to an instance of specified class name | | | $.class(ns:ClassName).notNull() | | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | $.template(ns:ClassName) | | value must be a dictionary with object-model representation of specified class name | | | $.template(ns:ClassName).notNull() | | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | $.class(ns:ClassName, ns:DefaultClassName) | | create instance of the ``ns:DefaultClassName`` class if no instance provided | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | $.class(ns:Name).check($.p = 12) | | the value must be of the ``ns:Name`` type and have the ``p`` property equal to 12 | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | $.class(ns:Name).owned() | | a current object must be direct or indirect owner of the value | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | $.class(ns:Name).notOwned() | | the value must be owned by any object except current one | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | [$.int()] | | an array of integers. Similar to other types. | | | [$.int().notNull()] | | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | [$.int().check($ > 0)] | | an array of the positive integers (thus not null) | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | [$.int(), $.string()] | | an array that has at least two elements, first is int and others are strings | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | [$.int(), 2] | | an array of ints with at least 2 items | | | [$.int(), 2, 5] | | an array of ints with at least 2 items, and maximum of 5 items | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | { A: $.int(), B: [$.string()] } | | the dictionary with the ``A`` key of the int type and ``B`` - an array of strings | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | $ | | any scalar or data structure as is | | | [] | | any array | | | {} | | any dictionary | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | { $.string().notNull(): $.int().notNull() } | | dictionary string -> int | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | A: StringMap | | the dictionary with the ``A`` key that must be equal to ``StringMap``, and other keys be | | | $.string().notNull(): $ | | any scalar or data structure | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | $.check($ in $this.myStaticMethod()) | | the value must be equal to one of a member of a list returned by static method of the class | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ | | $.check($this.myStaticMethod($)) | | the static method of the class must return true for the value | +-----------------------------------------------------------+-------------------------------------------------------------------------------------------------+ In the example below property ``port`` must be int value greater than 0 and less than 65536; ``scope`` must be a string value and one of 'public', 'cloud', 'host' or 'internal', and ``protocol`` must be a string value and either 'TCP' or 'UDP'. When user passes some values to these properties it will be checked that values confirm to the contracts. .. code-block:: yaml Namespaces: =: io.murano.apps.docker std: io.murano Name: ApplicationPort Properties: port: Contract: $.int().notNull().check($ > 0 and $ < 65536) scope: Contract: $.string().notNull().check($ in list(public, cloud, host, internal)) Default: private protocol: Contract: $.string().notNull().check($ in list(TCP, UDP)) Default: TCP Methods: getRepresentation: Body: Return: port: $.port scope: $.scope protocol: $.protocol The ``template`` contract does the same validation as the ``class`` contract, but does not require the actual object to be passed as a property or argument. Instead it allows to create an object from the given template later. Also you can exclude some of the properties from validation and provide them later in the body of the method. Consider the following example: .. code-block:: yaml Namespaces: =: io.murano.applications res: io.murano.resources std: io.murano Name: TemplateServerProvider Properties: template: Contract: $.template(res:Instance, excludeProperties => [name]).notNull() serverNamePattern: Contract: $.string().notNull() threshold: Contract: $.int().check($ > 0) Methods: createReplica: Arguments: - index: Contract: $.int().notNull() - owner: Contract: $.class(std:Object) Body: - If: $index < $this.threshold Then: - $template: $this.template - $template.name: $this.serverNamePattern.format($index) - $template['?'].name: format('Server {0}', $index) - Return: new($template, $owner) Else: - Return: null In the example above the class has the ``template`` property that is validated by the ``template`` contract. It holds the template of the object of the ``Instance`` class or its inheritor. In the ``createReplica`` method ``template`` is used to dynamically create instances in runtime considering some conditions and customizing the ``name`` property of an instance, as it was excluded from validation. You still can pass an actual object to the property or argument with the ``template`` contract, but it will be automatically converted to its object model representation. .. _property_usage: Property usage ++++++++++++++ Usage states the purpose of the property. This implies who and how can access it. The following usages are available: .. list-table:: :header-rows: 1 :widths: 20 80 :stub-columns: 0 :class: borderless * - | Value - | Explanation * - | In - | Input property. Values of such properties are obtained from a user and cannot be modified in MuranoPL workflows. This is the default value for the Usage key. * - | Out - | A value is obtained from executing MuranoPL workflow and cannot be modified by a user. * - | InOut - | A value can be modified both by user and by workflow. * - | Const - | The same as ``In`` but once workflow is executed a property cannot be changed neither by a user nor by a workflow. * - | Runtime - | A property is visible only from within workflows. It is neither read from input nor serialized to a workflow output. * - | Static - | Property is defined on a class rather than on an instance. See :ref:`static_methods_and_properties` for details. * - | Config - | A property allows to have per-class configuration. A value is obtained from the config file rather than from the object model. These config files are stored in a special folder that is configured in the ``[engine]`` section of the Murano config file under the ``class_configs`` key. The usage attribute is optional and can be omitted (which implies ``In``). If the workflow tries to write to a property that is not declared with one of the types above, it is considered to be private and accessible only to that class (and not serialized to output and thus would be lost upon the next deployment). An attempt to read the property that was not initialized results in an exception. Default +++++++ Default is a value that is used if the property value is not mentioned in the input object model, but not when it is set to null. Default, if specified, must conform to a declared property contract. If Default is not specified, then null is the default. For properties that are references to other classes, Default can modify a default value of the referenced objects. For example: .. code-block:: yaml p: Contract: $.class(MyClass) Default: {a: 12} This overrides default for the ``a`` property of ``MyClass`` for instance of ``MyClass`` that is created for this property. Workflow -------- Workflows are the methods that describe how the entities that are represented by MuranoPL classes are deployed. In a typical scenario, the root object in an input data model is of the ``io.murano.Environment`` type, and has the ``deploy`` method. This method invocation causes a series of infrastructure activities (typically, a Heat stack modification) and the deployment scripts execution initiated by VM agents commands. The role of the workflow is to map data from the input object model, or a result of previously executed actions, to the parameters of these activities and to initiate these activities in a correct order. Methods ------- Methods have input parameters, and can return a value to a caller. Methods are defined in the Workflow section of the class using the following template:: methodName: Scope: Public Arguments: - list - of - arguments Body: - list - of - instructions Public is an optional parameter that specifies methods to be executed by direct triggering after deployment. .. _method_arguments: Method arguments ++++++++++++++++ Arguments are optional too, and are declared using the same syntax as class properties. Same as properties, arguments also have contracts and optional defaults. Unlike class properties Arguments may have a different set of Usages: .. list-table:: :header-rows: 1 :widths: 20 80 :stub-columns: 0 :class: borderless * - | Value - | Explanation * - | Standard - | Regular method argument. Holds a single value based on its contract. This is the default value for the Usage key. * - | VarArgs - | A variable length argument. Method body sees it as a list of values, each matching a contract of the argument. * - | KwArgs - | A keywrod-based argument, Method body sees it as a dict of values, with keys being valid keyword strings and values matching a contract of the argument. Arguments example: .. code-block:: yaml scaleRc: Arguments: - rcName: Contract: $.string().notNull() - newSize: Contract: $.int().notNull() - rest: Contract: $.int() Usage: VarArgs - others: Contract: $.int() Usage: KwArgs .. method_body: Method body +++++++++++ The Method body is an array of instructions that get executed sequentially. There are 3 types of instructions that can be found in a workflow body: * Expressions, * Assignments, * Block constructs. .. method_usage: Method usage ++++++++++++ Usage states the purpose of the method. This implies who and how can access it. The following usages are available: .. list-table:: :header-rows: 1 :widths: 20 80 :stub-columns: 0 :class: borderless * - | Value - | Explanation * - | Runtime - | Normal instance method. * - | Static - | Static method that does not require class instance. See :ref:`static_methods_and_properties` for details. * - | Extension - | Extension static method that extends some other type. See :ref:`extension_methods` for details. * - | Action - | Method can be invoked from outside (using Murano API). This option is deprecated for the package format versions > 1.3 in favor of ``Scope: Public`` and occasionally will be no longer supported. See :ref:`actions` for details. The ``Usage`` attribute is optional and can be omitted (which implies ``Runtime``). Method scope ++++++++++++ The ``Scope`` attribute declares method visibility. It can have two possible values: * `Session` - regular method that is accessible from anywhere in the current execution session. This is the default if the attribute is omitted; * `Public` - accessible anywhere, both within the session and from outside through the API call. The ``Scope`` attribute is optional and can be omitted (which implies ``Session``). Expressions +++++++++++ Expressions are YAQL expressions that are executed for their side effect. All accessible object methods can be called in the expression using the ``$obj.methodName(arguments)`` syntax. +-----------------------------------------+----------------------------------------------------------------+ | Expression | Explanation | +=========================================+================================================================+ | | $.methodName() | | invoke method 'methodName' on this (self) object | | | $this.methodName() | | +-----------------------------------------+----------------------------------------------------------------+ | | $.property.methodName() | | invocation of method on object that is in ``property`` | | | $this.property.methodName() | | +-----------------------------------------+----------------------------------------------------------------+ | | $.method(1, 2, 3) | | methods can have arguments | +-----------------------------------------+----------------------------------------------------------------+ | | $.method(1, 2, thirdParameter => 3) | | named parameters also supported | +-----------------------------------------+----------------------------------------------------------------+ | | list($.foo().bar($this.property), $p) | | complex expressions can be constructed | +-----------------------------------------+----------------------------------------------------------------+ Assignment ++++++++++ Assignments are single key dictionaries with a YAQL expression as a key and arbitrary structure as a value. Such a construct is evaluated as an assignment. +------------------------------+---------------------------------------------------------------------------------+ | Assignment | Explanation | +==============================+=================================================================================+ | | $x: value | | assigns ``value`` to the local variable ``$x`` | +------------------------------+---------------------------------------------------------------------------------+ | | $.x: value | | assign ``value`` to the object's property | | | $this.x: value | | +------------------------------+---------------------------------------------------------------------------------+ | | $.x: $.y | | copies the value of the property ``y`` to the property ``x`` | +------------------------------+---------------------------------------------------------------------------------+ | | $x: [$a, $b] | | sets ``$x`` to the array of two values: ``$a`` and ``$b`` | +------------------------------+---------------------------------------------------------------------------------+ | | $x: | | structures of any level of complexity can be evaluated | | | SomeKey: | | | | NestedKey: $variable | | +------------------------------+---------------------------------------------------------------------------------+ | | $.x[0]: value | | assigns ``value`` to the first array entry of the ``x`` property | +------------------------------+---------------------------------------------------------------------------------+ | | $.x: $.x.append(value) | | appends ``value`` to the array in the ``x`` property | +------------------------------+---------------------------------------------------------------------------------+ | | $.x: $.x.insert(1, value) | | inserts ``value`` into position 1 of the array in the ``x`` property | +------------------------------+---------------------------------------------------------------------------------+ | | $x: list($a, $b).delete(0) | | sets ``$x`` to the list without the item at index 0 | +------------------------------+---------------------------------------------------------------------------------+ | | $.x.key.subKey: value | | deep dictionary modification | | | $.x[key][subKey]: value | | +------------------------------+---------------------------------------------------------------------------------+ Block constructs ++++++++++++++++ Block constructs control a program flow. They are dictionaries that have strings as all their keys. The following block constructs are available: +---------------------------+---------------------------------------------------------------------------------------+ | Assignment | Explanation | +===========================+=======================================================================================+ | | Return: value | | Returns value from a method | +---------------------------+---------------------------------------------------------------------------------------+ | | If: predicate() | | ``predicate()`` is a YAQL expression that must be evaluated to ``True`` or ``False``| | | Then: | | | | - code | | The ``Else`` section is optional | | | - block | | One-line code blocks can be written as scalars rather than an array. | | | Else: | | | | - code | | | | - block | | +---------------------------+---------------------------------------------------------------------------------------+ | | While: predicate() | | ``predicate()`` must be evaluated to ``True`` or ``False`` | | | Do: | | | | - code | | | | - block | | +---------------------------+---------------------------------------------------------------------------------------+ | | For: variableName | | ``collection`` must be a YAQL expression returning iterable collection or | | | In: collection | evaluatable array as in assignment instructions, for example, ``[1, 2, $x]`` | | | Do: | | | | - code | | Inside a code block loop, a variable is accessible as ``$variableName`` | | | - block | | +---------------------------+---------------------------------------------------------------------------------------+ | | Repeat: | | Repeats the code block specified number of times | | | Do: | | | | - code | | | | - block | | +---------------------------+---------------------------------------------------------------------------------------+ | | Break: | | Breaks from loop | +---------------------------+---------------------------------------------------------------------------------------+ | | Match: | | Matches the result of ``$valExpression()`` against a set of possible values | | | case1: | (cases). The code block of first matched case is executed. | | | - code | | | | - block | | If no case matched and the default key is present | | | case2: | than the ``Default`` code block get executed. | | | - code | | The case values are constant values (not expressions). | | | - block | | | | Value: $valExpression() | | | | Default: | | | | - code | | | | - block | | +---------------------------+---------------------------------------------------------------------------------------+ | | Switch: | | All code blocks that have their predicate evaluated to ``True`` are executed, | | | $predicate1(): | but the order of predicate evaluation is not fixed. | | | - code | | | | - block | | | | $predicate2(): | | | | - code | | | | - block | | | | Default: | | The ``Default`` key is optional. | | | - code | | | | - block | | If no predicate evaluated to ``True``, the ``Default`` code block get executed. | +---------------------------+---------------------------------------------------------------------------------------+ | | Parallel: | | Executes all instructions in code block in a separate green threads in parallel. | | | - code | | | | - block | | | | Limit: 5 | | The limit is optional and means the maximum number of concurrent green threads. | +---------------------------+---------------------------------------------------------------------------------------+ | | Try: | | Try and Catch are keywords that represent the handling of exceptions due to data | | | - code | or coding errors during program execution. A ``Try`` block is the block of code in | | | - block | which exceptions occur. A ``Catch`` block is the block of code, that is executed if | | | Catch: | an exception occurred. | | | With: keyError | | Exceptions are not declared in Murano PL. It means that exceptions of any types can | | | As: e | be handled and generated. Generating of exception can be done with construct: | | | Do: | ``Throw: keyError``. | | | - code | | | | - block | | | | Else: | | The ``Else`` is optional block. ``Else`` block is executed if no exception occurred.| | | - code | | | | - block | | | | Finally: | | The ``Finally`` also is optional. It's a place to put any code that will | | | - code | be executed, whether the try-block raised an exception or not. | | | - block | | +---------------------------+---------------------------------------------------------------------------------------+ Notice, that if you have more than one block construct in your workflow, you need to insert dashes before each construct. For example:: Body: - If: predicate1() Then: - code - block - While: predicate2() Do: - code - block .. _object-model: Object model ------------ Object model is a JSON serialized representation of objects and their properties. Everything you do in the OpenStack dashboard is reflected in an object model. The object model is sent to the Application catalog engine when the user decides to deploy the built environment. On the engine side, MuranoPL objects are constructed and initialized from the received Object model, and a predefined method is executed on the root object. Objects are serialized to JSON using the following template: .. code-block:: json :linenos: { "?": { "id": "globally unique object ID (UUID)", "type": "fully namespace-qualified class name", "optional designer-related entries can be placed here": { "key": "value" } }, "classProperty1": "propertyValue", "classProperty2": 123, "classProperty3": ["value1", "value2"], "reference1": { "?": { "id": "object id", "type": "object type" }, "property": "value" }, "reference2": "referenced object id" } Objects can be identified as dictionaries that contain the ``?`` entry. All system fields are hidden in that entry. There are two ways to specify references: #. ``reference1`` as in the example above. This method allows inline definition of an object. When the instance of the referenced object is created, an outer object becomes its parent/owner that is responsible for the object. The object itself may require that its parent (direct or indirect) be of a specified type, like all applications require to have ``Environment`` somewhere in a parent chain. #. Referring to an object by specifying other object ID. That object must be defined elsewhere in an object tree. Object references distinguished from strings having the same value by evaluating property contracts. The former case would have ``$.class(Name)`` while the later - the ``$.string()`` contract. murano-9.0.0/doc/source/admin/appdev-guide/cinder_volume_supporting.rst0000664000175000017500000001024613656750211026442 0ustar zuulzuul00000000000000.. _cinder_volume_supporting: Cinder volume support ~~~~~~~~~~~~~~~~~~~~~ Cinder volume is a block storage service for OpenStack, which represents a detachable device, similar to a USB hard drive. You can attach a volume to only one instance. In murano, it is possible to work with Cinder volumes in several ways: * Attaching Cinder volumes to murano instance * Booting from Cinder volume Below both ways are considered with ApacheHttpServer application as an example. For more information about Cinder volumes, see `Manage Cinder volumes `_. Attaching Cinder volumes ------------------------ Several volumes can be attached to the murano instance. Consider an example that shows how to attach a created volume to the instance (next, in the *Booting from Cinder volume* section, we are going to boot from a volume created by us). **Example** #. In the OpenStack dashboard, go to :guilabel:`Volumes` to create a volume. #. Modify the ``ui.yaml`` file: .. code-block:: yaml .... Application: .... instance: .... volumes: $.volumeConfiguration.volumePath: ?: type: io.murano.resources.ExistingCinderVolume openstackId: $.volumeConfiguration.volumeID .... An existing Cinder volume can be initialized with its ``openstackId`` and can be attached with its ``volumePath``. These parameters come here from modified ``Forms`` section of the ``ui.yaml`` file: .. code-block:: yaml .... Forms: - appConfiguration: .... - instanceConfiguration: .... - volumeConfiguration: fields: - name: volumeID type: string label: Existing volume ID description: Put in existing volume openstackID required: true - name: volumePath type: string label: Path description: Put in volume path to be mounted required: true Therefore, create a ZIP archive of the built package and upload it to murano. Attach created application to the environment. Enter its openstackId (which can be found in OpenStack dashboard) and path for mounting. For example, you can fill the latter with ``/dev/vdb`` value. After the application is deployed, verify that the volume is attached to the instance in the OpenStack dashboard :guilabel:`Volumes` tab. Alternatively, see the topology of the ``Heat Stack``. Booting from Cinder volume -------------------------- You can create a volume from an existing image. The example below shows how to create a volume from an image and use the volume to boot an instance. **Example** It is possible to create a volume through the Heat template, instead of the OpenStack dashboard. For this, modify the ``ui.yaml`` file: .. code-block:: yaml .... Templates: customJoinNet: .... bootVolumes: - volume: ?: type: io.murano.resources.CinderVolume size: $.instanceConfiguration.volSize sourceImage: $.instanceConfiguration.osImage bootIndex: 0 deviceName: vda deviceType: disk .... Application: .... instance: .... blockDevices: $bootVolumes .... The example above shows that the ``Templates`` section now has a ``bootVolumes`` field, which is stored in the changed ``Application`` section. Pay attention that ``image`` property should be deleted from ``Application`` to avoid defining both image and volume to boot. The ``size`` and ``sourceImage`` properties come in ``Templates`` from the changed ``Forms`` section of the ``ui.yaml`` file: .. code-block:: yaml .... Forms: - appConfiguration: .... - instanceConfiguration: fields: .... - name: volSize type: integer label: Size of volume required: true description: >- Specify volume size which is going to be created from image .... After sending this package to murano you can boot your instance from the volume by chosen image. murano-9.0.0/doc/source/admin/appdev-guide/use_cases.rst0000664000175000017500000002330313656750211023265 0ustar zuulzuul00000000000000.. _use-cases: ========= Use-cases ========= Performing application interconnections ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Murano can handle application interconnections installed on virtual machines. The decision of how to combine applications is made by the author of an application. To illustrate the way such interconnection can be configured, let's analyze the mechanisms applied in WordPress application, which uses MySql. MySql is a very popular database and can be used in quite a number of various applications. Instead of the creation of a database inside definition of the WordPress application, it calls the methods from the MySQL class. At the same time MySQL remains an independent application. MySql has a number of methods: * ``deploy`` * ``createDatabase`` * ``createUser`` * ``assignUser`` * ``getConnectionString`` In the ``com.example.WordPress`` class definition the database property is a contact for the ``com.example.databases.MySql`` class. So, the database configuration methods can be called with the parameters passed by the user in the main method: .. code-block:: yaml - $.database.createDatabase($.dbName) - $.database.createUser($.dbUser, $.dbPassword) - $.database.assignUser($.dbUser, $.dbName) Any other methods of any other class can be invoked the same way to make the proposal application installation algorithm clear and constructive. Also, it allows not to duplicate the code in new applications. Abstract dependencies between applications ------------------------------------------ In the example above it is also possible to specify a generic class in the contract ``com.example.databases.SqlDatabase`` instead of ``com.example.databases.MySql``. It means that an object of any class inherited from ``com.example.databases.SqlDatabase`` can be passed to a parameter. In this case you should also use this generic class as a type for a field in the file ``ui.yaml``: .. code-block:: yaml Forms: - appConfiguration: fields: - name: database type: com.example.databases.SqlDatabase label: Database Server description: >- Select a database server to host the application`s database After that you can choose any database package in a drop-down box. The last place, which should be changed in the WordPress package to enable this feature, is manifest file. It should contain the full name of SQL Library package and optionally packages inherited from SQL library if you want them to be downloaded as dependencies. For example: .. code-block:: yaml Require: com.example.databases: com.example.databases.MySql: com.example.databases.PostgreSql: .. note:: To use this feature you have to enable Glare as a storage for your packages and a version of your murano-dashboard should be not older than newton. Using application already installed on the image ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suppose you have everything already prepared on image. And you want to share this image with others. This problem can be solved in several ways. Let's use the `HDPSandbox `_ application to illustrate how this can be done with Murano. .. note:: An image may not contain murano-agent at all. Prepare an application package of the structure: :: |_ Classes | |_ HDPSandbox.yaml | |_ UI | |_ ui.yaml | |_ logo.png .. note:: The ``Resources`` folder is not included in the package since the image contains everything that user expects. So no extra instructions are needed to be executed on murano-agent. UI is provided for specifying the application name, which is used for the application recognition in logging. And what is more, it contains the image name as a deployment instruction template (object model) in the ``Application`` section: .. code-block:: yaml :linenos: Application: ?: type: com.example.HDPSandbox name: $.appConfiguration.name instance: ?: type: io.murano.resources.LinuxMuranoInstance name: generateHostname($.instanceConfiguration.unitNamingPattern, 1) flavor: $.instanceConfiguration.flavor image: 'hdp-sandbox' assignFloatingIp: true Moreover, the unsupported flavors can be specified here, so that the user can select only from the valid ones. Provide the requirements in the corresponding section to do this: .. code-block:: yaml requirements: min_disk: 50 (Gb) min_memory_mb: 4096 (Mb) min_vcpus: 1 After the UI form creation, and the HDPSandbox application deployment, the VM with the predefined image is spawned. Such type of applications may interact with regular applications. Thus, if you have an image with Puppet, you can call the ``deploy`` method of the Puppet application and then puppet manifests or any shell scripts on the freshly spawned VM. The presence of the logo.png should never be underestimated, since it helps to make your application recognizable among other applications included in the catalog. Interacting with non-OpenStack services ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This section tells about the interaction between an application and any non-OpenStack services, that have an API. External load-balancer ---------------------- Suppose, you have powerful load-balancer on a real server. And you want to run the application on an OpenStack VM. Murano can set up new applications to be managed by that external load-balancer (LB). Let's go into more details. To implement this case the following apps are used: * ``LbApp``: its class methods call LB API * ``WebApp``: runs on the real LB Several instances of ``WebApp`` are deployed with each of them calling two methods: .. code-block:: yaml - $.loadBalancer.createPool() - $.loadBalancer.addMember($instance) # where $.loadBalancer is an instance of the LbApp class The first method creates a pool and associates it with a virtual server. This happens once only. The second one registers a member in the newly created pool. It is also possible to perform other modifications to the LB configuration, which are only restricted by the LB API functionality. So, you need to specify the maximum instance number in the UI form related to the ``WebApp`` application. All of them are subsequently added to the LB pool. After the deployment, the LB virtual IP, by which an application is accessible, is displayed. Configuring Network Access for VMs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ By default, each VM instance deployed by ``io.murano.resources.Instance`` class or its descendants joins an environment's default network. This network gets created when the Environment is deployed for the first time, a subnet is created in it and is uplinked to a router which is detected automatically based on its name. This behavior may be overridden in two different ways. Using existing network as environment's default ----------------------------------------------- This option is available for users when they create a new environment in the Dashboard. A dropdown control is displayed next to the input field prompting for the name of environment. By default this control provides to create a new network, but the user may opt to choose some already existing network to be the default for the environment being created. If the network has more than one subnet, the list will include all the available options with their CIDRs shown. The selected network will be used as environment's default, so no new network will be created. .. note:: Murano does not check the configuration or topology of the network selected this way. It is up to the user to ensure that the network is uplinked to some external network via a router - otherwise the murano engine will not be able to communicate with the agents on the deployed VMs. If the Applications being deployed require internet connectivity it is up to the user to ensure that this net provides it, than DNS nameservers are set and accessible etc. Modifying the App UI to prompt user for network ----------------------------------------------- The application package may be designed to ask user about the network they want to use for the VMs deployed by this particular application. This allows to override the default environment's network setting regardless of its value. To do this, application developer has to include a ``network`` field into the Dynamic UI definition of the app. The value returned by this field is a tuple of network_id and a subnet_id. This values may be passed as the input properties for ``io.murano.resources.ExistingNeutronNetwork`` object which may be in its turn passed to an instance of ``io.murano.resources.Instance`` as its network configuration. The UI definition may look like this: .. code-block:: yaml Templates: customJoinNet: - ?: type: io.murano.resources.ExistingNeutronNetwork internalNetworkName: $.instanceConfiguration.network[0] internalSubnetworkName: $.instanceConfiguration.network[1] Application: ?: type: com.example.someApplicationName instance: ?: type: io.murano.resources.LinuxMuranoInstance networks: useEnvironmentNetwork: $.instanceConfiguration.network[0]=null useFlatNetwork: false customNetworks: switch($.instanceConfiguration.network[0], $=null=>list(), $!=null=>$customJoinNet) Forms: - instanceConfiguration: fields: - name: network type: network label: Network description: Select a network to join. 'Auto' corresponds to a default environment's network. required: false murano_networks: translate For more details on the Dynamic UI its controls and templates please refer to its :ref:`specification `. murano-9.0.0/doc/source/admin/appdev-guide/app_unit_tests.rst0000664000175000017500000002075213656750211024361 0ustar zuulzuul00000000000000.. _app-unit-tests: ====================== Application unit tests ====================== Murano applications are written in :ref:`MuranoPL `. To make the development of applications easier and enable application testing, a special framework was created. So it is possible to add unit tests to an application package and check if the application is in actual state. Also, application deployment can be simulated with unit tests, so you do not need to run the murano engine. A separate service that is called *murano-test-runner* is used to run MuranoPL unit tests. All application test cases should be: * Specified in the MuranoPL class, inherited from `io.murano.test.testFixture `_ This class supports loading object model with the corresponding `load(json)` function. Also it contains a minimal set of assertions such as ``assertEqual`` and etc. Note, that test class has the following reserved methods are: * *initialize* is executed once, like in any other murano application * *setUp* is executed before each test case * *tearDown* is executed after each test case * Named with *test* prefix .. code-block:: console usage: murano-test-runner [-h] [--config-file CONFIG_FILE] [--os-auth-url OS_AUTH_URL] [--os-username OS_USERNAME] [--os-password OS_PASSWORD] [--os-project-name OS_PROJECT_NAME] [-l [ [ ...]]] [-v] [--version] [ [ ...]] positional arguments: Full name of application package that is going to be tested List of method names to be tested optional arguments: -h, --help show this help message and exit --config-file CONFIG_FILE Path to the murano config --os-auth-url OS_AUTH_URL Defaults to env[OS_AUTH_URL] --os-username OS_USERNAME Defaults to env[OS_USERNAME] --os-password OS_PASSWORD Defaults to env[OS_PASSWORD] --os-project-name OS_PROJECT_NAME Defaults to env[OS_PROJECT_NAME] -l [ [ ...]], --load_packages_from [ [ ...]] Directory to search packages from. Will be used instead of directories, provided in the same option in murano configuration file. -v, --verbose increase output verbosity --version show program's version number and exit The fully qualified name of a package is required to specify the test location. It can be an application package that contains one or several classes with all the test cases, or a separate package. You can specify a class name to execute all the tests located in it, or specify a particular test case name. Authorization parameters can be provided in the murano configuration file, or with higher priority ``-os-`` parameters. Consider the following example of test execution for the Tomcat application. Tests are located in the same package with application, but in a separate class called ``io.murano.test.TomcatTest``. It contains ``testDeploy1`` and ``testDeploy2`` test cases. The application package is located in the */package/location/directory* (murano-apps repository e.g). As the result of the following command, both test cases from the specified package and class will be executed. .. code-block:: console murano-test-runner io.murano.apps.apache.Tomcat io.murano.test.TomcatTest -l /package/location/directory /io.murano/location -v The following command runs a single *testDeploy1* test case from the application package. .. code-block:: console murano-test-runner io.murano.apps.apache.Tomcat io.murano.test.TomcatTest.testDeploy1 The main purpose of MuranoPL unit test framework is to enable mocking. Special :ref:`yaql` functions are registered for that: `def inject(target, target_method, mock_object, mock_name)` ``inject`` to set up mock for *class* or *object*, where mock definition is a *name of the test class method* `def inject(target, target_method, yaql_expr)` ``inject`` to set up mock for *a class* or *object*, where mock definition is a *YAQL expression* Parameters description: **target** MuranoPL class name (namespaces can be used or full class name in quotes) or MuranoPL object **target_method** Method name to mock in target **mock_object** Object, where mock definition is contained **mock_name** Name of method, where mock definition is contained **yaql_expr** YAQL expression, parameters are allowed So the user is allowed to specify mock functions in the following ways: * Specify a particular method name * Provide a YAQL expression Consider how the following functions may be used in the MuranoPL class with unit tests: .. code-block:: yaml Namespaces: =: io.murano.test sys: io.murano.system Extends: TestFixture Name: TomcatTest Methods: initialize: Body: # Object model can be loaded from JSON file, or provided # directly in MuranoPL code as a YAML insertion. - $.appJson: new(sys:Resources).json('tomcat-for-mock.json') - $.heatOutput: new(sys:Resources).json('output.json') - $.log: logger('test') - $.agentCallCount: 0 # Mock method to replace the original one agentMock: Arguments: - template: Contract: $ - resources: Contract: $ - timeout: Contract: $ Default: null Body: - $.log.info('Mocking murano agent') - $.assertEqual('Deploy Tomcat', $template.Name) - $.agentCallCount: $.agentCallCount + 1 # Mock method, that returns predefined heat stack output getStackOut: Body: - $.log.info('Mocking heat stack') - Return: $.heatOutput testDeploy1: Body: # Loading object model - $.env: $this.load($.appJson) # Set up mock for the push method of *io.murano.system.HeatStack* class - inject(sys:HeatStack, push, $.heatOutput) # Set up mock with YAQL function - inject($.env.stack, output, $.heatOutput) # Set up mock for the concrete object with mock method name - inject('io.murano.system.Agent', call, $this, agentMock) # Mocks will be called instead of original function during the deployment - $.env.deploy() # Check, that mock worked correctly - $.assertEqual(1, $.agentCallCount) testDeploy2: Body: - inject(sys:HeatStack, push, $this, getStackOut) - inject(sys:HeatStack, output, $this, getStackOut) # Mock is defined with YAQL function and it will print the original variable (agent template) - inject(sys:Agent, call, withOriginal(t => $template) -> $.log.info('{0}', $t)) - $.env: $this.load($.appJson) - $.env.deploy() - $isDeployed: $.env.applications[0].getAttr(deployed, false, 'com.example.apache.Tomcat') - $.assertEqual(true, $isDeployed) Provided methods are test cases for the Tomcat application. Object model and heat stack output are predefined and located in the package ``Resources`` directory. By changing some object model or heat stack parameters, different cases may be tested without a real deployment. Note, that some asserts are used in those example. The first one is checked, that agent call function was called only once as needed. And assert from the second test case checks for a variable value at the end of the application deployment. Test cases examples can be found in :file:`TomcatTest.yaml` class of the Apache Tomcat application located at `murano-apps repository `_. You can run test cases with the commands provided above. murano-9.0.0/doc/source/admin/appdev-guide/exec_plan.rst0000664000175000017500000001544613656750211023262 0ustar zuulzuul00000000000000.. _exec_plan: ======================= Execution plan template ======================= An execution plan template is a set of metadata that describes the installation process of an application on a virtual machine. It is a minimal executable unit that can be triggered in Murano workflows and is understandable to the Murano agent, which is responsible for receiving, correctness verification and execution of the statements included in the template. The execution plan template is able to trigger any type of script that executes commands and installs application components as the result. Each script included in the execution plan template may consist of a single file or a set of interrelated files. A single script can be reused across several execution plans. This section is devoted to the structure and syntax of an execution plan template. For different configurations of templates, please refer to the :ref:`Examples ` section. Template sections ~~~~~~~~~~~~~~~~~ The table below contains the list of the sections that can be included in the execution plan template with the description of their meaning and the default attributes which are used by the agent if any of the listed parameters is not specified. ================== =================================================== Section name Meaning and default value ================== =================================================== FormatVersion a version of the execution plan template syntax format. Default is ``1.0.0``. **Optional** Name a human-readable name for the execution plan to be used for logging. **Optional** Version a version of the execution plan itself, is used for logging and tracing. Each time the content of the template content changes (main script, attached scripts, properties, etc.), the version value should be incremented. This is in contrast with ``FormatVersion``, which is used to distinguish the execution plan format. The default value is ``0.0.0``. **Optional** Body string that represents the Python statement and is executed by the murano-agent. Scripts defined in the Scripts section are invoked from here. **Required** Parameters a dictionary of the ``String->JsonObject`` type that maps parameter names to their values. **Optional**. Scripts a dictionary that maps script names to their script definitions. **Required** ================== =================================================== .. _format_version: FormatVersion property ~~~~~~~~~~~~~~~~~~~~~~ ``FormatVersion`` is a property that all other depend on. That is why it is very important to specify it correctly. FormatVersion 1.0.0 (default) is still used by Windows murano-agent. Almost all the applications in murano-apps repository work with FormatVersion 2.0.0. New features that are introduced in Kilo, such as Chef or Puppet, and downloadable files require version 2.1.0 or greater. Since FormatVersion 2.2.0 it is possible to enable Berkshelf. It requires Mitaka version of agent. If you omit the ``FormatVersion`` property or put something like ``<2.0.0``, it will lead to the incorrect behaviour. The same happens if, for example, ``FormatVersion=2.1.0``, and a VM has the pre-Kilo agent. Scripts section ~~~~~~~~~~~~~~~ Scripts are the building blocks of execution plan templates. As the name implies those are the scripts for different deployment platforms. Each script may consists of one or more files. Those files are script's program modules, resource files, configs, certificates etc. Scripts may be executed as a whole (like a single piece of code), expose some functions that can be independently called in an execution plan script or both. This depends on deployment platform and executor capabilities. Scripts are specified using ``Scripts`` attribute of execution plan. This attribute maps script name to a structure (document) that describes the script. It has the following properties: **Type** the name of a deployment platform the script is targeted to. The available alternative options for version>=2.1.0 are ``Application``, ``Chef``, ``Puppet``, and for version<2.1.0 is ``Application`` only. String, required. **Version** the minimum version of the deployment platform/executor required by the script. String, optional. **EntryPoint** the name of the script file that is an entry point for this execution plan template. String, required. **Files** the filenames of the additional files required for the script. Thus, if the script specified in the ``EntryPoint`` section imports other scripts, they should be provided in this section. The filenames may include slashes that the agent preserve on VM. If a filename is enclosed in the angle brackets (<...>) it will be base64-encoded. Otherwise, it will be treated as a plain-text that may affect line endings. In Kilo, entries for this property may be not just strings but also dictionaries (for example, ``filename: URL``) to specify downloadable files or git repositories. The default value is ``[]`` that means that no extra files are used. Array, optional. **Options** an optional dictionary of type ``String->JsonObject`` that contains additional options for the script executor. If not provided, an empty dictionary is assumed. Available alternatives are: ``captureStdout``, ``captureStderr``, ``verifyExitcode`` (raise an exception if result is not positive). As Options are executor-dependent, these three alternatives are available for the Application executor, but may have no sense for other types. ``captureStdout``, ``captureStderr`` and ``verifyExitcode`` require boolean values, and have True as their default values. Dictionary, optional. Please make sure the files specified in EntryPoint and Files sections exist. .. needs checking, commenting it for now Files section ~~~~~~~~~~~~~ Files is an execution plan's entry that describes files that are passed as the part of the execution plan template. This is a dictionary that maps file ID to a document describing the file. It has the following attributes: **Name** the filename; may include slashes to specify files located in nested folders. The root directory is the ``Resources/scripts`` directory. **BodyType** is one of the following: * ``Text``: Body attribute contains string content of the file * ``Base64``: Body attribute contains base64 encoded string content of the (binary) file **Body** contains file data or valid file reference murano-9.0.0/doc/source/admin/appdev-guide/app_migrating/0000775000175000017500000000000013656750351023406 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/admin/appdev-guide/app_migrating/app_migrate_to_kilo.rst0000664000175000017500000000715113656750211030147 0ustar zuulzuul00000000000000.. _app_migrate_to_kilo: Migrate applications to Stable/Kilo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In Kilo, there are no breaking changes that affect backward compatibility. But there are two new features which you can use since Kilo. 1. Pluggable Pythonic classes for murano ---------------------------------------- Now you can create plug-ins for MuranoPL. A plug-in (extension) is an independent Python package implementing functionality which you want to add to the workflow of your application. For a demo application demonstrating the usage of plug-ins, see the ``murano/contrib/plugins/murano_exampleplugin`` folder. The application consist of the following components: * An `ImageValidatorMixin` class that inherits the generic instance class (``io.murano.resources.Instance``) and adds a method capable of validating the instance image for having an appropriate murano metadata type. This class may be used as a mixin when added to inheritance hierarchy of concrete instance classes. * A concrete class called `DemoInstance` that inherits from `io.murano.resources.LinuxMuranoInstance` and `ImageValidatorMixin` to add the image validation logic to a standard, murano-enabled and Linux-based instance. * An application that deploys a single VM using the `DemoInstance` class if the tag on the user-supplied image matches the user-supplied constant. The **ImageValidatorMixin** demonstrates the instantiation of plug-in provided class and its usage, as well as handling of exception which may be thrown if the plug-in is not installed in the environment. 2. Murano mistral integration ----------------------------- The core library has a new system class for mistral client that allows to call Mistral APIs from the murano application model. The system class allows you to: * Upload a mistral workflow to mistral. * Trigger the mistral workflow that is already deployed, wait for completion and return the execution output. To use this feature, add some mistral workflow to ``Resources`` folder of your package. For example, create file `TestEcho_MistralWorkflow.yaml`: .. code-block:: yaml version: '2.0' test_echo: type: direct input: - input_1 output: out_1: <% $.task1_output_1 %> out_2: <% $.task2_output_2 %> out_3: <% $.input_1 %> tasks: my_echo_test: action: std.echo output='just a string' publish: task1_output_1: 'task1_output_1_value' task1_output_2: 'task1_output_2_value' on-success: - my_echo_test_2 my_echo_test_2: action: std.echo output='just a string' publish: task2_output_1: 'task2_output_1_value' task2_output_2: 'task2_output_2_value' .. And provide workflow to use the mistral client: .. code-block:: yaml Namespaces: =: io.murano.apps.test std: io.murano sys: io.murano.system Name: MistralShowcaseApp Extends: std:Application Properties: name: Contract: $.string().notNull() mistralClient: Contract: $.class(sys:MistralClient) Usage: Runtime Methods: initialize: Body: - $this.mistralClient: new(sys:MistralClient) deploy: Body: - $resources: new('io.murano.system.Resources') - $workflow: $resources.string('TestEcho_MistralWorkflow.yaml') - $.mistralClient.upload(definition => $workflow) - $output: $.mistralClient.run(name => 'test_echo', inputs => dict(input_1 => input_1_value)) - $this.find(std:Environment).reporter.report($this, $output.get('out_3')) murano-9.0.0/doc/source/admin/appdev-guide/app_migrating/app_migrate_to_newton.rst0000664000175000017500000001140013656750211030513 0ustar zuulzuul00000000000000.. _app_migrate_to_newton: Migrate applications to Stable/Newton ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In Newton a number of useful features that can be used by developers creating their murano applications were implemented. Also some changes are not backward compatible. This document describes these features, how they may be included into the new apps and what benefits the apps may gain. 1. New syntax for the action declaration ---------------------------------------- Previously, for declaring action in MuranoPL application, following syntax was used: .. code-block:: yaml methodName: Usage: Action This syntax is deprecated now for packages with FormatVersion starting from 1.4, and you should use the `Scope` attribute: .. code-block:: yaml methodName: Scope: Public For more information about actions in MuranoPL, see :ref:`actions`. 2. Usage of static methods as Action ------------------------------------ Now you can declare static method as action with `Scope` and `Usage` attributes .. code-block:: yaml methodName: Scope: Public Usage: Static For more information about static methods in MuranoPL, see :ref:`static_methods_and_properties`. 3. Template contract support ---------------------------- New contract function ``template`` was introduced. ``template`` works similar to the ``class`` in regards to the data validation but does not instantiate objects. The template is just a dictionary with object model representation of the object. It is useful when you do not necessarily need to pass the actual object as a property or as a method argument and use it right away, but rather to create new objects of this type in runtime from the given template. It is especially beneficial for resources replication or situations when object creation depends on some conditions. Objects that are assigned to the property or argument with ``template`` contract will be automatically converted to their object model representation. 4. Multi-region support ----------------------- Starting from Newton release cloud resource classes (instances, networks, volumes) can be explicitly put into OpenStack regions other than environment default. Thus it becomes possible to have applications that make use of more than one region including stretching/bursting to other regions. Each resource class has got new ``regionName`` property which controls its placement. If no value is provided, default region for environment is used. Applications wanting to take advantage of multi-region support should access security manager and Heat stacks from regions of their resources rather than from the environment. Regions need to be configured before they can be used. Please refer to documentation on how to do this: :ref:`multi_region`. Changes in the core library ``````````````````````````` `io.murano.Environment` class contains `regions` property with list of `io.murano.CloudRegion` objects. Heat stack, networks and agent listener are now owned by `io.murano.CloudRegion` instances rather than by `Environment`. You can not get `io.murano.resources.Network` objects from `Enviromnent::defaultNetworks` now. This property only contains templates for `io.murano.CloudRegion` default networks. The proper way to retrieve `io.murano.resources.Network` object is now the following: .. code-block:: yaml $region: $instance.getRegion() $networks: $region.defaultNetworks 5. Changes to property validation --------------------------------- `string()` contract no longer converts to string anything but scalar values. 6. Garbage collection --------------------- New approach to resource deallocation was introduced. Previously murano used to load ``Objects`` and ``ObjectsCopy`` sections of the JSON object model independently which cause for objects that were not deleted between deployments to instantiate twice. If deleted objects were to cause any changes to such alive objects they were made to the objects loaded from ``ObjectsCopy`` and immediately discarded before the deployment. Now this behaviour is changed and there are no more duplicates of the same object. Applications can also make use of the new features. Now it is possible to perform on-demand destruction of the unreferenced MuranoPL objects during the deployment from the application code. The ``io.murano.system.GC.GarbageCollector.collect()`` static method may be used for that. Also objects obtained ability to set up destruction dependencies to the other objects. Destruction dependencies allow to define the preferable order of objects destruction and let objects be aware of other objects destruction, react to this event, including the ability to prevent other objects from being destroyed. Please refer to the documentation on how to use the :ref:`Garbage Collector `. murano-9.0.0/doc/source/admin/appdev-guide/app_migrating/app_migrate_to_juno.rst0000664000175000017500000000510513656750211030161 0ustar zuulzuul00000000000000.. _app_migrate_to_juno: Migrate applications from Murano v0.5 to Stable/Juno ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Applications created for murano v0.5, unfortunately, are not supported in Murano stable/juno. This document provides the application code changes required for compatibility with the stable/juno murano version. Rename *'Workflow'* to *'Methods'* ---------------------------------- In stable/juno the name of section containing class methods is renamed to *Methods*, as the latter is more OOP and doesn't cause confusion with Mistral. So, you need to change it in *app.name/Classes* in all classes describing workflow of your app. For example: .. code-block:: yaml Workflow: deploy: Body: - $._environment.reporter.report($this, 'Creating VM') Should be changed to: .. code-block:: yaml Methods: deploy: Body: - $._environment.reporter.report($this, 'Creating VM') Change the Instance type in the UI definition 'Application' section ------------------------------------------------------------------- The Instance class was too generic and contained some dirty workarounds to differently handle Windows and Linux images, to bootstrap an instance in a number of ways, etc. To solve these problems more classes were added to the *Instance* inheritance hierarchy. Now, base *Instance* class is abstract and agnostic of the desired OS and agent type. It is inherited by two classes: *LinuxInstance* and *WindowsInstance*. - *LinuxInstance* adds a default security rule for Linux, opening a standard SSH port; - *WindowsInstance* adds a default security rule for Windows, opening an RDP port. At the same time WindowsInstance prepares a user-data allowing to use Murano v1 agent. *LinuxInstance* is inherited by two other classes, having different software config method: - *LinuxMuranoInstance* adds a user-data preparation to configure Murano v2 agent; - *LinuxUDInstance* adds a custom user-data field allowing the services to supply their own user data. You need to specify the instance type which is required by your app. It specifies a field in UI, where user can select an image matched to the instance type. This change must be added to UI form definition in *app.name/UI/ui.yaml*. For example, if you are going to install your application on Ubuntu, you need to change: .. code-block:: yaml Application: ?: instance: ?: type: io.murano.resources.Instance to: .. code-block:: yaml Application: ?: instance: ?: type: io.murano.resources.LinuxMuranoInstance murano-9.0.0/doc/source/admin/appdev-guide/app_migrating/app_migrate_to_liberty.rst0000664000175000017500000001745313656750211030671 0ustar zuulzuul00000000000000.. _app_migrate_to_liberty: Migrate applications to Stable/Liberty ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In Liberty a number of useful features that can be used by developers creating their murano applications were implemented. This document describes these features and steps required to include them to new apps. 1. Versioning ------------- Package version ``````````````` Now murano packages have a new optional attribute in their manifest called `Version` - a standard SemVer format version string. All MuranoPL classes have the version of the package they contained in. To specify the version of your package, add a new section to the manifest file: .. code-block:: yaml Version: 0.1.0 .. If no version specified, the package version will be equal to *0.0.0*. Package requirements ```````````````````` There are cases when packages may require other packages for their work. Now you need to list such packages in the `Require` section of the manifest file: .. code-block:: yaml Require: package1_FQN: version_spec_1 ... packageN_FQN: version_spec_N .. `version_spec` here denotes the allowed version range. It can be either in semantic_version specification pip-like format or as partial version string. If you do not want to specify the package version, leave this value empty: .. code-block:: yaml Require: package1_FQN: '>=0.0.3' package2_FQN: .. In this case, the last dependency *0.x.y* is used. .. note:: All packages depend on the `io.murano` package (core library). If you do not specify this requirement in the list (or the list is empty or even there is no `Require` key in package manifest), then dependency *io.murano: 0* will be automatically added. Object version `````````````` Now you can specify the version of objects in UI definition when your application requires specific version of some class. To do this, add new key `classVersion` to section `?` describing object: .. code-block:: yaml ?: type: io.test.apps.TestApp classVersion: 0.0.1 .. `classVersion` of all classes included to package equals `Version` of this package. 2. YAQL ------- In Liberty, murano was updated to use `yaql 1.0.0`. The new version of YAQL allows you to use a number of new functions and features that help to increase the speed of developing new applications. .. note:: Usage of these features makes your applications incompatible with older versions of murano. Also, in Liberty you can change `Format` in the manifest of package from *1.0* to *1.1* or *1.2*. * **1.0** - supported by all versions of murano. * **1.1** - supported by Liberty+. Specify it, if you want to use features from *yaql 0.2* and *yaql 1.0.0* at the same time in your application. * **1.2** - supported by Liberty+. A number of features from *yaql 0.2* do not work with this format (see the list below). We recommend you to use it for new applications where compatibility with Kilo is not required. Some examples of *yaql 0.2* features that are not compatible with the *1.2* format ``````````````````````````````````````````````````````````````````````````````````` * Several functions now cannot be called as MuranoObject methods: ``id(), cast(), super(), psuper(), type()``. * Now you do not have the ability to compare non-comparable types. For example "string != false" * Dicts are not iterable now, so you cannot do this: ``If: $key in $dict``. Use ``$key in $dict.keys()`` or ``$v in $dict.values()`` * Tuples are not available. ``=>`` always means keyword argument. 3. Simple software configuration -------------------------------- Previously, you always had to create execution plans even when some short scripts had to be executed on a VM. This process included creating a template file, creating a script, and describing the sending of the execution plan to the murano agent. Now you can use a new class **io.murano.configuration.Linux** from murano `core-library`. This allows sending short commands to the VM and putting files from the ``Resources`` folder of packages to some path on the VM without the need of creating execution plans. To use this feature you need to: * Declare a namespace (for convenience) .. code-block:: yaml Namespaces: conf: io.murano.configuration ... .. * Create object of ``io.murano.configuration.Linux`` class in workflow of your application: .. code-block:: yaml $linux: new(conf:Linux) .. * Run one of the two feature methods: ``runCommand`` or ``putFile``: .. code-block:: yaml # first argument is agent of instance, second - your command $linux.runCommand($.instance.agent, 'service apache2 restart') .. or: .. code-block:: yaml # getting content of file from 'Resources' folder - $resources: new(sys:Resources) - $fileContent: $resources.string('your_file.name') # put this content to some directory on VM - $linux.putFile($.instance.agent, $fileContent, '/tmp/your_file.name') .. .. note:: At the moment, you can use this feature only if your app requires an instance of ``LinuxMuranoInstance`` type. 4. UI network selection element ------------------------------- Since Liberty, you can provide users with the ability to choose where to join their VM: to a new network created during the deployment, or to an already existing network. Dynamic UI now has a new type of field - ``NetworkChoiseField``. This field provides a selection of networks and their subnetworks as a dropdown populated with those which are available to the current project (tenant). To use this feature, you should make the following updates in the Dynamic UI of an application: * Add ``network`` field: .. code-block:: yaml fields: - name: network type: network label: Network description: Select a network to join. 'Auto' corresponds to a default environment's network. required: false murano_networks: translate .. To see the full list of the ``network`` field arguments, refer to the UI forms :ref:`specification `. * Add template: .. code-block:: yaml Templates: customJoinNet: - ?: type: io.murano.resources.ExistingNeutronNetwork internalNetworkName: $.instanceConfiguration.network[0] internalSubnetworkName: $.instanceConfiguration.network[1] .. * Add declaration of `networks` instance property: .. code-block:: yaml Application: ?: type: com.example.exampleApp instance: ?: type: io.murano.resources.LinuxMuranoInstance networks: useEnvironmentNetwork: $.instanceConfiguration.network[0]=null useFlatNetwork: false customNetworks: switch($.instanceConfiguration.network[0], $=null=>list(), $!=null=>$customJoinNet) .. For more details about this feature, see :ref:`use-cases ` .. note:: To use this feature, the version of UI definition must be **2.1+** 5. Remove name field from fields and object model in dynamic UI --------------------------------------------------------------- Previously, each class of an application had a ``name`` property. It had no built-in predefined meaning for MuranoPL classes and mostly used for dynamic UI purposes. Now you can create your applications without this property in classes and without a corresponding field in UI definitions. The field for app name will be automatically generated on the last management form before start of deployment. Bonus of deleting this - to remove unused property from muranopl class that is needed for dashboard only. So, to update existing application developer should make 3 steps: #. remove ``name`` field and property declaration from UI definition; #. remove ``name`` property from class of application and make sure that it is not used anywhere in workflow #. set version of UI definition to **2.2 or higher** murano-9.0.0/doc/source/admin/appdev-guide/developer_index.rst0000664000175000017500000000063613656750211024473 0ustar zuulzuul00000000000000.. _developer-guide: Application Developer Guide ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. toctree:: :maxdepth: 1 step-by-step/step_by_step exec_plan hot_packages murano_pl murano_packages murano_bundles app_migrating app_unit_tests cinder_volume_supporting multi_region examples use_cases app_development_framework app_debugging garbage_collection encrypting_properties murano-9.0.0/doc/source/admin/config-wsgi.rst0000664000175000017500000000515513656750211021162 0ustar zuulzuul00000000000000Installing Murano API via WSGI ============================== This document is a guide to deploy murano using two WSGI mode uwsgi and mod_wsgi of Apache. Please note that if you intend to use mode uwsgi, you should install ``mode_proxy_uwsgi`` module. For example on deb-base system: .. code-block:: console # sudo apt-get install libapache2-mod-proxy-uwsgi # sudo a2enmod proxy # sudo a2enmod proxy_uwsgi .. end WSGI Application ---------------- The function ``murano.httpd.init_application`` will setup a WSGI application to run behind uwsgi and mod_wsgi Murano API behind uwsgi ----------------------- Create a ``murano-api-uwsgi`` file with content below: .. code-block:: ini [uwsgi] chmod-socket = 666 socket = /var/run/uwsgi/murano-wsgi-api.socket lazy-apps = true add-header = Connection: close buffer-size = 65535 hook-master-start = unix_signal:15 gracefully_kill_them_all thunder-lock = true plugins = python enable-threads = true worker-reload-mercy = 90 exit-on-reload = false die-on-term = true master = true processes = 2 wsgi-file = /murano-wsgi-api .. end Start murano-api: .. code-block:: console # uwsgi --ini /etc/murano/murano-api-uwsgi.ini .. end Murano API behind mod_wsgi -------------------------- Create ``/etc/apache2/murano.conf`` with content below: .. code-block:: ini Listen 8082 WSGIDaemonProcess murano-api processes=1 threads=10 user=%USER% display-name=%{GROUP} %VIRTUALENV% WSGIProcessGroup murano-api WSGIScriptAlias / %MURANO_BIN_DIR%/murano-wsgi-api WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On AllowEncodedSlashes On = 2.4> ErrorLogFormat "%{cu}t %M" ErrorLog /var/log/%APACHE_NAME%/murano_api.log CustomLog /var/log/%APACHE_NAME%/murano_api_access.log combined = 2.4> Require all granted Order allow,deny Allow from all .. end Then on deb-based systems copy or symlink the file to ``/etc/apache2/sites-available``. For rpm-based systems the file will go in ``/etc/httpd/conf.d``. Enable the murano site. On deb-based systems: .. code-block:: console # a2ensite murano # systemctl reload apache2.service .. end On rpm-based systems: .. code-block:: console # systemctl reload httpd.service .. end murano-9.0.0/doc/source/admin/using_glare.rst0000664000175000017500000001050513656750211021240 0ustar zuulzuul00000000000000.. _glare_usage: ===================================== Using Glare as a storage for packages ===================================== DevStack installation --------------------- #. Enable Glare service in DevStack To enable the Glare service in DevStack, edit the ``local.conf`` file: .. code-block:: console $ cat local.conf [[local|localrc]] enable_service g-glare #. Run DevStack: .. code-block:: console $ ./stack.sh **Result** Glare service is installed with DevStack. You can find logs in ``g-glare`` screen session. #. Install the ``muranoartifact`` plug-in from ``murano/contrib`` .. code-block:: console $ cd $DEST/murano/contrib/glance/ $ sudo pip install -e . #. Restart ``Glare`` #. Set Glare as packages service in murano-engine. For this, edit the ``[engine]`` section in the ``murano.conf`` file. By default, ``murano.conf`` is located in the ``/etc/murano`` directory .. code-block:: ini [engine] packages_service = glare #. Restart ``murano-engine`` .. note:: You also can use ``glance`` as a value of the ``packages_service`` option for the same behaviour #. Enable Glare in ``murano-dashboard``. For this, modify the following line in the ``_50_murano.py`` file .. code-block:: python MURANO_USE_GLARE = True By default, the ``_50_murano.py`` file is located in ``$HORIZON_DIR/openstack_dashboard/local/local_settings.d/``. #. Restart the ``apache2`` service. Now ``murano-dashboard`` will retrieve packages from Glare. #. Log in to Dashboard and navigate to :menuselection:`Applications > Manage > Packages` to view the empty list of packages. Alternatively, use the :command:`murano` command. #. Use ``--murano-packages-service`` option to specify backend, used by :command:`murano` command. Set it to ``glare`` for using ``Glare`` .. note:: You also can use ``glance`` as value of ``--murano-packages-service`` option or environment variable ``MURANO_PACKAGES_SERVICE`` for same behaviour + View list of packages: .. code-block:: console $ . {DEVSTACK_SOURCE_DIR}/openrc admin admin $ murano --murano-packages-service=glare package-list +----+------+-----+--------+--------+-----------+------+---------+ | ID | Name | FQN | Author | Active | Is Public | Type | Version | +----+------+-----+--------+--------+-----------+------+---------+ +----+------+-----+--------+--------+-----------+------+---------+ + Importing ``Core library`` .. code-block:: console $ cd $DEST/murano/meta/io.murano/ $ zip io.murano.zip -r * $ murano --murano-packages-service=glare package-import \ --is-public /opt/stack/murano/meta/io.murano/io.murano.zip Importing package io.murano +--------------------------------------+--------------+-----------+-----------+--------+-----------+---------+---------+ | ID | Name | FQN | Author | Active | Is Public | Type | Version | +--------------------------------------+--------------+-----------+-----------+--------+-----------+---------+---------+ | 91a9c78f-f23a-4c82-aeda-14c8cbef096a | Core library | io.murano | murano.io | True | | Library | 0.0.0 | +--------------------------------------+--------------+-----------+-----------+--------+-----------+---------+---------+ Set up Glare API entrypoint manually ------------------------------------ If you do not plan to get Glare service from keystone application catalog, specify where g-glare service is running. #. Specify Glare URL in ``murano.conf``.It is http://0.0.0.0:9494 by default and can be changed by setting `bind_host` and `bind_port` options in the ``glance-glare.conf`` file. .. code-block:: ini [glare] url = http://: #. Specify Glare URL in the Dashboard settings file, ``_50_murano.py`` : .. code-block:: python GLARE_API_URL = 'http://:' #. Set the ``GLARE_URL`` environment variable for python-muranoclient. Alternatively, use the ``--glare-url`` option in CLI. .. code-block:: console $ murano --murano-packages-service=glare --glare-url=http://0.0.0.0:9494 package-list murano-9.0.0/doc/source/admin/figures/0000775000175000017500000000000013656750351017657 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/admin/figures/deploy-log.png0000664000175000017500000015156313656750211022446 0ustar zuulzuul00000000000000‰PNG  IHDR9¡kƒobKGDÿÿÿ ½§“ pHYs  šœtIMEß 4Î$³0 IDATxÚìÝw|ÕÂÆñßlKo$$t¤, ¢(ˆbïíz½z}­÷Ú{Aå*‚ *R°"½šô)$¤'[fÞ?BB'ð|?`ÉÎÎÌžsf²çÙ3gŒŒŒ ‘³œME """""""UB©rˆˆˆˆˆˆˆH• CDDDDDDDª…"""""""R%8*{…–ee׋¯0³ ¼|EEXî"¼{ÓðådãËÍÆ½{ÞÌ <©»ñefàÎÌÄl×…fO½€ÃÏOµ#"""""""ÇͨŒ[Èzö¦‘ôþk…X–‰eú°ÜE˜y¹ÅFa†i–{e~³àmÒšVoPíƒ{Ëfò~šJ@ç‹ðoÕF"""""""ç´JɱjØ;øæÏÅÏna·‡„‡‹4l6``3 ,À,ÃÀ±q5‰ÜK‹·>À°ÛUKGàݱœïÇc UÈ!""""""ç¼J 9öùL2rÝÔváØ ‡ÝŽÝnÇns`‡‡ÍÃáÄn·c3lØm60lØl6l†aØ0 6›î"<ßÇ9` †­jÞ´T,·g­¸ÊY¡a”ü«©UDDDDDDD*gNŸ½î"ȵhM|Í8 l€…i™–‰Åþñ¥£<ŒâÑûÿ.fá󙆭¨L«JLšùÑäLøŠÈ?Sy!‡Èq°¼Ù¤¥fã6ca›‹ÐêÑ„: œˆˆˆˆˆœuN:ä°Loaà Ûë%6*ŸÏøJB £8è0Êwš àô•’,Šƒ—=«;˜%ïÇ*(ÃÀð P«“¿{3ÿ»÷Æí8×ÔÌÈo¥¾KÅ'"""""g—“ÉaXVq@a¶’ù5Œ’y9Œ2K_b”vþM›ŸÇÏ4q9e^w|AǺuë˜0a¦iËàÁƒ  33“÷Þ{.]ºÉäÉ“±,‹®]»Ò­[·’9A(]öË/¿dïÞ½Øívnºé&âããX¸p!?þø#ƒ bãÆ,]ºÃ0¸à‚ èÙ³gé:ÌÜÒÿó…Ë—tÙ•D>þ4;z\XºLúŸà èò^DþóIrgL'sÄ»Å!ˆi2p0wÝÈûÌž8ì1Ÿaæä` ¦ÆðO[»õÇ—–J÷Fâw^ µðs'…5;Nð5;Öâá!G>‹žº‘Q­‡3âÚØÊ¿M“ˆˆˆˆˆÈé9 à ¶]{’æÏ’;¨X–…a³a‡`„„` Áˆ¨¡aÅÿÚíN'YYûøã•pû|t¨S‡Ø°P¼–¦‰Íßÿ¨aÇš5k˜0aaaaDEE±yóf†ÎC=D@@@¹å233‰‹‹#))‰Ù³gIË–-ÈÉÉáÃ?ÄívÓ¸qc6lØÀ˜1cxä‘G !.®øò’‰'RXXHBB[·neîܹÄÄÄТEq˜úø#¸7ü…ë¶X†{ÓFüڴÛ´_j ® ±GFã¬× xÛßÇY'{X…«É?›ŸaCï(Ýÿ½ï¼NÞ´IAAtìŒ7c/¶À CÊ#cØ[øÒR º¼·9pŒúÓðüæDÏÔ6¾½¬NÔ¥*"""""rކ–e±{ÙL¯›­x2Q`3 ¼N'®<Ž-* l¶âK6ÊŒ ð­]Mz~>XëRRX³'…œ¢B|\Þ ÑG¹»Ê„ ¸çž{`êÔ©,Y²„ŋӵk×Òå2330`-Z´`ãÆŒ;–‰'–†³gÏÆívsË-·ÏÚµk?~<Ó§Oçúë¯/ñQXXÈwÞI­ZµX¾|9“&MbæÌ™´hÑÏθ7üEàÅ—õ̱<,Ÿ€ê¯¾CÆ[¯’7cÁýtée¥áMÌûaÙ »÷º5¤<|¹3¦—†EÖþÄŸx½~~åʳc¹Ó&ãˆ#âÞ‡Ô²¥”-¼w>r5i+ítl‘ÎÌÈ;ÜíŽÑt¼,–ýú0z;ýˆ·>Éš½~ÔíÜ®¹û'ù°Èß<ïŽå÷¿ÒðE6ãòÛåžžuq¦LäÁGWÒã*Ó¿ŸÏN_—Üõ ]’>gäÔDR¬:ôxè%þÙ#>2–Í»Ã'²x{þ±-¹òÎpË…5q)w‘¿#ä ä2£ä6°kSRpû|x¼^¢[´¤~x5pº8RÅ2ÍÒù8l>Õý]ÔÅßnÇþûÏXÍ[b8ÝÍU«VЬY3üJ:üݺucÉ’%,]º´\Èáp8hÑ¢–eѰaC¢¢¢HOOgûöíÔ­[—Å‹\zyJ³fÍp8¬[·®Ü6«U«F­Zµ°,‹&Mš0iÒ$òòò0srJR›â`Ãp:1œÎâÇ%áNñc£Ümq ?¿Ò²Ù?ú—šRú|Æ»¯ùÔó‚Ã?Ùߌ¯—Їb+¹\G¤´9‚¨V͆ÃFõš5)<\Èa'èŽmÃÓo.¤ù£ïó\§`vN{ƒ§>Í'æ"°²óÞ¿?aoÿçùôå܉cùÏKOòqÍQÜ ¾´yLÏ{•×Ç>LêOóÈ۱㦷þM,Û¾zœÿo ºÞIBÖ,^yî{üo}/zÆ’³pϾò,ÁÃG08ÞYnÊ^&v8³fÍR¥‹ˆˆˆˆ(ä¨hб?ï0Ù“™Ž¿ÝŽËf#Û&ÌÂìÇ7Ùf`‚1- pqÙ}ûöU:Ò"88—ËEVVV¹ekÕªUÄ$$$žžNvv6™™™±|ùrLÓÄ4M\.^¯—‚‚‚#®ÇßßÇ€«ISŒ€òçüAæ‡ïqïÃÇ=‰ª/=ì _Q¸:±ÜÏÍÜ\<›7bøùã×üü#¿~oy3¦ؽ'Á—÷R«–CÛHÎFþ˜í 6hÓ¾û“ ßaò«Ç †—.â`Ó´Yìkó wõ¨G˜îãÚïeûÍÜàk>°5À…·ð@×ßxõç­Ü1ðkÌÀ­©ægÒ±1cýÔ¿9aþФs"ÚGé#mÎDÖÔ¼‘Oû6#ÚÑÝïäΙ7ñÉŒm\{wC\…G :pˆˆˆˆˆ(ä¨6lt‹Á¢xòPÓ?Ãã>î×›Xø,8v0°wïÞâmÚÊß_600·ÛÏç+ ì|Øÿÿ””bccKOš4©Ü2¯ûàõ”›LÕf£Úñ÷í×Èùn<î ë‰úÏ+ØCÃŽú>r&}Oæ°·ÀáÀQ³8PœX^/öèèÃŽfÙ/wòÄâ}pêvrxö¨ ¸u¨°V<úì¥x7’ÃæOdX‹HÈK+$4¡&ûMgõ¢œÌÁGΞLŠ’Æñðuß•¹¦§G»||6?‚ýJF2vlŽ ÷J6[Ék|䤿áª^›°ýÏþÔ¨L~J^Àu˜0ãà C‡ˆˆˆˆˆBŽJca‘Yä&`‡Ü4qc$ƒé;ð•r׋Í0ð™Ç}s•C” 6ʆ‡ãt_¯^=z÷îišå– (5r,A=®ÀÕ´9iϸŠh€I~òVR]qx“Ž7†!¤zîeIdûÚ‡ V!©IyćñDU6èPÀ!"""""•t ÙÁÀ‰faµëW›ì;ðšVñëc¯­fÍš¬X±Ÿ¯|omÿå'å:x-STT@LLLéh ŸÏGddäI‡³V1Ã?a÷­ƒñlÛ‚{Ûü6.[`¥²¿ @俟ÁQ#¦ø‡æ}5°,¼i©Xn᪟І€ÃAÖèOÈþúK"Ÿ|î¸.“‘s„ea¯q9ÿú'ú_Ä›߀ï°Ç²“¿Í$’ ú‘Ðë2"ÁÈY1ÜÑ1˜¤éÃù.ÙG "Ú ÍÇðþÄ:ÜY]<Mãý—'Qý¹Ñ<s¼;i'ú«iöÙ(FLmÊÃ=j’½à>^Í•w×åhc”nˆˆˆˆˆH¥…†aÛ¾IóçÂAa‚…U:1鑳«øÛ^›ÍÀe³ãÀÂ0Àw”K]ÂÃÃعs'¦ib³ÙHOO zõêå–ݱcGI_¯xŽŒ­[·‡ ‘‘DDD°}ûöJ+T[@ Ž:u1W–ÞV·´LÊüß½¾xbS{µáŠgÛÖë Æ/u ç|Ù•GHV\„ô½†¬ÑŸ?ç"²öaPëð«KçÚËyòš¾Ç—@ZÜê†ú´šzƒyá±lÞõ7¼é¤î…¹ó²T¦FDþùŸ4Þö"·ŽÌ„ð†t»åEîo)Ç¿«öê=ù¿ç÷òΈ§üAþ5[Òëɘ Ë°DDDDDäo 9òÓRJï’R.) LwQqØQxx³öáÙDþ_kH[¼»iá2 ŠX‘žAzanŸI§»Ú}„¹(7nŒalÛ¶ÌÌL"##™1c;w.ßo³¬Òaí‹/fß¾}„„„@ûöíY¼x1£FbèС†×ëÅår2/Çû†¦‰{óF\u0ssðî܆«¤·h+.¢Õ+ ìr1¶À@üÎkNÁ‚yÌŸƒãÚÈ›1ýõFÜÿ0éÏ=IÆë/âL¨‡«v],ÓÄXö b &èòÞä͘ƾO>$ò_ÿ§Ö-à¨E¿W'Ðïd×cøQûÒ‡yïÒ‡ËüpW•< 9oOpèëbúóÑäþv§î>û¾LxÒðÆ|sàtT­í^øtˆêMDDDDDþÞò,¼^/–i’±ySi€‘çñ‘çñâ6-\En¼O?Œi·cby½¦‰Ï]^/–Ç…Eãˆ@6dåc…Sµ—(——öf)VÇÎGœtóÆoäË/¿dذaDDD™™I\\Í›7/·\PPsçÎ%11‘œ’[½r #Õ­[7¶lÙBRR¯¿þ:aaa¤§§Ó§OÚ¶m[:·GÙË^ö¿ÿý?Ë›9Œ7_ÁQ»¾½éXùù„ ¼g|v%oú”â?¿Ì$êé»ý^ ÌcßGûÓ4¼Û·â¨Uï®¥Û ¼°+A½û’7m2)÷Þ†-4Ëgóág¥£B¬’}ˆ¸÷AòfLÓÜ""""""rN²?ñÄÏŸè‹LÓ$5%…”=)ìÚµ‹ä?~ÖŠeYìÊÍ'9/”¼|2òs‰ðÓ¶+/« _a–ǃéñwÒ}>ü°ñó§N\,q™„û»vØñ‹¯«]g ›ý°ûQ­Z5š7oNzz:.—‹¶mÛÒ¿ÿÒÑ………,\¸øøxúöíKZZááá 2¤Ü%-.—‹víÚ‚ÛíÆårѪU+Z·nÓéÄ0 l6 4(ýÅ—ÆÇÇS·n]±qfnÎZqT{ø_„\Õ¯tn g\mœ ðådሊ& }üš4#à¢Kð¥¥`øûù¯§h×[µ(Ú¶?t\Ðg½˜¹¹ØBÃèt!:cs¹°áß®Ž1.?œõà¨]ÃåÂY§®Z¸ˆˆˆˆˆˆœ3ŒŒŒ «"/ÌÎÎfûöíìËÈdç¨áüµ€ÑøÛ 0J.á¨×wN6ŸÜEÅóvxÜØƒ‚±9]Øýpúùaäbef`¹ ð»¬/!÷<†áp÷~íŸwŠ'!}ï½÷HHH`èС§¬ËnSDDDDDDDN _®JÍš±äde—éà[ØŒâ D,› ÿÝ;‹CŸY|矉9nËj•üʇ6œêB‡ˆˆˆˆˆˆÈég;™GEER¿Q#ܱµKç­Ø¯ttCQ!âðzÁ2‹—5ŒâÛÏ–„ûÿ”_Á‰ß”VDDDDDDDÎE¶“]AêÑ´z©-Ú`+PìÝP6À(û§ìr¦Y|˜û'Ò´,,˯ݑ'=ûÇ£š©â*<'ÇÁ–$&òÛ{osCÊ_Å—§Pf4G`†öÐpðó/Åa·cØíàpb­ë¼VتÇàlØLµ""""""""'¬ÒB€Ý»wãHÚFpaFhö  ‡#0Ãå‡'ØlšÇBDDDDDDD*U¥†""""""""§‹ME """""""UB©rˆˆˆˆˆˆˆH• CDDDDDDDª…"""""""R%(ä‘*A!‡ˆˆˆˆˆˆˆT Ž-[¶¨DDDDDDDä¬ç¨^½:†a¨$D*‰eYX–…išø|¾Ò³²²èر£ HDDDDDäq8N ÃPÐ!R öûC›Í†×ëÐ1&"""""rŠ9\.WéÔ ©8˲Jï½±ÿ˜Ú|ˆˆˆˆˆˆÈ©ã°ÛíÉ!RIö‡e©ý£:tŒ‰ˆˆˆˆˆœZ‡Ãa¥3©˜ýÇeYø|>ìv{ée+""""""rj9öã¬N˜ÈÉÛIŠÝn?ì¨9uJCuÂD*×þcJÇ—ˆˆˆˆˆÈßC!‡È)PvŽƒÿ‘SCרˆœ‡ 6tw‘SK!‡ˆˆˆˆˆˆˆT 9DDDDDDD¤JPÈ!"""""""U‚B©rˆˆˆˆˆˆˆH• CDDDDDDDª…"""""""R%(ä‘*A!‡ˆˆˆˆˆˆˆT 9DDDDDDD¤JPÈ!"""""""U‚cΜ9*9ë9ºté‚a†¡Ò9I–eaY¦iâóùðz½x<Ün7ÉÉÉ* ‘SH—«ˆˆˆˆˆˆˆH• CDDDDDDDª…"""""""R%(ä‘*A!‡ˆˆˆˆˆˆˆT 9DDDDDDD¤JPÈ!"""""""U‚B©rˆˆˆˆˆˆˆH• CDDDDDDDªÇI¯!?‘Ïak¹: ©u÷»š‹‚*”¤˜òî+“Ù7€§ìDXE㘢͌{q$Ëmí¸ï©ëIp©ÒEDDDDDDª¢JÉJƒÖmiÛ¦õ«ÛÉÙµ‚©Ÿ}Ï_yV…ÖføÕäüŽméÔ¢.C%"""""""G稴5¹âé>àú¾T~~ë f¤må¯t/ 3âµ÷f“[ÿjúE/ç÷]M¸íþK KYÊ“aÅÖtòaÄ6êÈ•ý.¡I¸«h7‰ —²;.žÝ0¼d®™ÉwÓ²15GD}Ú_1€Þ­£q&yÛæ2yÒ¬NÊÂE£N½pi4‹ßÉòB€%Œx æc0ÉÙ´ˆA­i]ÓÀ—Éš…»ˆéМH‡JHä”°ŠHž?Ñc§ðÇòÍd¸ÁCÃv—1èþ»¸"ÞåÝ""""r,•?'‡Yľ¤MlÏ ,àÀ&|›'3qé^!AØrV1þÃo˜·¹€ší»qQÓRVÏäÓáSÙVtèj=»fññÿ~c½·!Ý{÷ ™c s¿ú‰ ðí[ÆØ&³lwM/º˜¶5òXÿÛ猞ã¥ÃM×ÑØ ¸š2ð®+ˆsªÒ刽, 6Oãþã«a£™½«Ë—Á²¯†ñ¿‰ŸóÁ×+È2UJ'_Ì…ìøýk>~÷UÞüv n•ˆxSùõ¥Aô}è]&.,8<9{X»p V€S‡ˆˆˆˆ—Êû^ÚÈÇOÿ«Ü[\Nû(;$—ü ìîy¬õü-2æ¼ÇªBˆ¸äNîèU ‡Õ÷K|±n)sw^Ije×TÄŽ?æ‘N m^Çåõýð6ô°íÝ?XöÇ:6ü^ˆés ƒ»Fb4§úôdnü"# ´¶ ¢¢Ãpꓲ‘_F4ª>›´ÔÍLþ;êf’¸)¡~ÓÚiªÞ“gîeÎÈ7ùxtïÎ}×ÖCƒ«Î`Eëùä±øm¯‰#®?/¾tu*5,ö‘üÃÿñä;pÕëÉk/¦iŒ‹¼¤Mìkp-WÔ°«N{=‰ˆˆˆœk!¡4hÝ0Î`¢ê¶ c›ºÛÀS²„­F#bý ÀKÞÞ<ÀFt|dñNþÄÄGÀºT2³ÝXåBY…,ù4KË>•™Ljj>à Z’INâ¹d@|ɿͪe9n¶àÆô½÷ŒG1'u'‰›Bh9赩ƙÐÕ*Zý}o™ÀÞ#¿ £ãiÒº3=®º†>Ô!@ážT8ƒÈbóÊ¿ØìÛAnefò&1ãëøÜËçŸß^|Ù#ÝUþgJ=‰ˆˆˆœs!GÙ99ŽÀ°íÿÜNPd Eú¶ ¼ÍbqX…ìÙ¾ð#<ÄuÐÐdÁ¡.À¶ƒ‡Ò%Úž}$%eà ©Gͽ«öîÉÅר[þ~™º€ŒÈ èÓåÀZ,Õ·gÐÑçÞ;`ä(椄ÒjÐýÜp†–é;F[6ÉOÛ²™[X6óKF´¼™_¹.Õ5¡È9Ç*$å¯DÖîôÒàâÎÔö«Ð}ÿ©Û°c«ìÀ̽‡u)ÅëôìN¼Ÿª­buxŠëIDDDäœ 9NðCsøù—Ò|Æ—¬þmŸ´#¶ð/æ­uCtwºÕõƒÜ²ËûQ÷¢ö„¯šËÊÙ ‰lÁ¾Õ¿³h»E£Ó¡õEÔ›õ[¦}ÆØ}Ípí\ÈÒínêô¹ —-§ÈÛÆ²e[ˆîP]r ÇtÜOü®pš7 çL,_oÐ )›,Z^ ²Òؾf>?ÿ²š wå<247Æ<Ï%Qjü甼E¼pË£,ð5ãéé¨]½õØŽ—~_ÂK§¬ï£È[üÐ鯹7*\‡§ºžDDDDr£z>×ß;~fŢߨd¥fóËèÝïâ\P~¤­_|/îlðÝOK˜5­Gxôãªvá8Ütg!?Lþ“µsþÀPf=û0àÂ(ì¶`Ú_Ïꟷ±ð÷Uth«C޳ÅӲљ¼‡.j]Ћ¾ƒóÜÝ<š¾ˆOŸ|ŒO–çCÚtž{­-_ëN5µÿs†™›J¦Oå :9wœ|Èx>÷½ñÆQqÆõáé7úôSÿØö\s_{®9ží.ª·îǽ­û®;Jpýn ùG·Ã<çOüå÷óŸËUÙrŽÜQ¸ëÝ(|_î‚üßFñSòÅ ŽÓ$Žç ov2Ù*Õ¡ˆˆˆÈ¹Ô:#÷Ê—Éêy+I°;um±HAÍrwÆ=» “üº*‹âªzïho‰SÇðå¤_Y²nÙ^À¤F£6t»z(·÷oMµ2g ÷–oyç£ßÙìiÏ¿^J}÷z¦ò_Í\Èú´"°ת;×Ýu×·‹:ñ/“UÓ¾dì¤ßX¼vYÀBl“¶të;˜›û¶!ªôÎ&9ëaúÜõìØcÐöŽ{è^ýðAŽ™»‘ßœËúiø]t'·´Ç{¬÷B0µÛ_ÉЇï§o“`ÈÙÀŒ1ÿcÂOóXœ‹I 5ÏïÆµw=ÀàNÕ9â -*½ŒC¨Ýº¸Œ¶,Wƾ]_1¤ß[l,ýÉZ^ìÕËíPŸò9k#ô²òÙðÃ(¾^°‰}uïâåûšã_ ûh¦Nä–^/±¶ÌÏ6¿s5Þ)»ñXn÷-÷7rU ]a‹Ö1åã‘|=c1Û"î`Ü—·Qkçßм$NË×S~gÉÚí%·ÉuQ§)íºõcðM½ia¯x¥ž*v\|‹ˆˆˆ(ä(ý0˜ÎÊ…ÛñJ³öñ*ä© áÍ»Ï2¶`‘º)/ÕÊݲÕÌMäÓGî磇tnSÖÏá›×æðÓÂçóJbK:@,üe;X˘y©1òAFo²Ê®”¤e“yçž?I|ñK^¾¢ÆqÏkbf¯à“Gä“ăöÇ—Còšß·æw&|?„w>xˆN6ÀÀJ›Åð¿’,‹ïG×Áq‡9¹™¤Î|Ç_[ Ô᮫.{¬½,øe;YǘùM‰y?Ÿm,;µk.;OàÅ¡kÙûÞõl}þY~J/»Þ|v'NgØsHüÏX^ë]ómW¤Œ¹_f;—Nâí»cñSŸózÿÚ¥kËôrÌ+ê]F§èã¨3‹¾`òpt¾¾üzOb1}ÇÞÇjpQWÛÅáö± 1ÞÏg›ŠŸr5oL´óïh¶¹‡Û†o9è ºÉܱ’Y_¬dÖ„©<ôÙûÜÜпbux´zª´ò;Á:9 Œ‚‚Ë0 CI‚Èɲ, ˲0MŸÏ‡×ëÅãñàv»INN¦C‡'½ÂÄ—é{Û÷dàâ¢÷gñÎaçä(³O?rûeÏD^;šIÿnqà^+›ÿÀS3?š]ó·õnGB„¼äUÌüì]¾\–¸èøßI ë] ­áõ~CŸ„Õ£Ãhß® -›Õ%Ü“ÌòéŸ1웕ÅErÓ IDATó]Ê;“_墰’sŒoãnìÇÛ›  ûf¼ÞÀÒÓ>þ|úþ1³x€~®·sßõÓ4Æwêzþœ0’~Ý@@——™øöeDÙ€ü¥ü§ÏÝLÉ=ÊcsÈU9f*?ÜÞ‹W ÷óí¸[‰w…«xµß­|»‹§uÛ¶´mÛ†–Íâ sï`Ñw#ø`æÎ’Ì(šó{ô¤kÇ64oK°'…µ¿Œeø¸%dtåõÉoÒ½\'±‚e\¸š×úÝ„½@XmÚ·§C‡v´9/pïnVÌȱ‹ÙàhÃÓ?|ÈÕ1û;¼ù¤%§“¾ànzu P{?~že&žu„ÆP3Üuì‰>}»S^ߎÎïñËûRÚâNj HKN£ w)/ÞüËL¨=toõ‹) ìA5¨釭¢í‚ƒë·.ç7oLÝêÁ¹épÑ¿xªWM짺 Vîr†ýc{ÚöåŠNͨ]Í3{«~ý’a_," 0Î{‚IŸ]G¬½ux´z:©ò;‰:9 4²T¤ª+`ZÝ{ÖÌ\Àç?f}Ý0>|¼ Aû¯S¦Ík’Ùï>¦e¹Y:}y½¢ ð«C§FƧ{!ò*þýüÍÔ)=›$Pï¼ö´Šº…ë‡o€¼ùLY—ÏE‚޹«fÆ<¾ø¹¸#æßù¿Œ~³¥7“¨[&m;Òðékylf6s¾à×=—20Ö͹®Wu¦|• ¦òçžëT«|GËL_À”ÕÅ^݃¸ý_7ûÇÓ¹‘ƒoç{!²/ϼ\ö½4¦Y«„§÷ãÅe>p4áÖ'å¢ýÏ7¢IËN´¯u7ÞHÄ,XÀ¤U¹tïzòeì_— 9˜0ß ‘}xúŃ˸Ô{ˆ/,Âí]Æ÷óÒè{MLq@b $:®Õ1 "ãêP§z%Ï:{Rû@t\ÈK"À˜àªK:‡ŽÂ©p»8¤~ûñü[e÷ñïiFpkú䳃6\—úÍÛÐÐ;€¡ãR°ÖýºÜk‰ 3*µO®üN¢ŽEDDDN}9‡yö$²ÍΗ7=ÐùÞß1³ûá*éëx‹ ñYNNÇÑN.z_G3òIÚ‘ÍñÜ Â“²š&@]Ì!ý9[5:Ýp)ìbõž¢’'ühpu_j°©sRÚžIÆâ©¬²šÒÿ’Ø2iNçQÞ‹½:õ;¯ø±{[3½-à$î²A´±¸IÞ’‰·²Êøhû…ƒš=n梒a0»×¦à> ¿BþŽ}¬x»8ž}<õmàIñê·G3—}Våç§´ü΄v("""¢CDÓ_Ò!q³gé|VíH#»À‹éÍgï–…|ýòsLÌ(^¶Nûú'4?Ž-¨Q%“x <O×Íô⠌؈Ã_Ùï+éŒy(ð”‰UêöæÚ†Å×O™CJÙ”ÃÌdñ”•Å·¦nÑŸ®'4œÞF@tÅ1EÞC߉áElÉ7ûE¹Eån}*Ëg$u#JúÞžƒn½}†¨„}<™vQY¿*O¦ ýÍ’™QP²¼…u*ŽóS]~gC;‘s†.W Ÿ>έáé}yôº„r–“a;‰;#ØlG^ïáÏfµèqýù¼÷b"æ_S˜“2 tȽ¹o)SVø­\Ä ø7GŸ»Â°c·†2ÆNé€ëLm[•¹h•ådÛ€™Íº_ñÍÔ?Xºn+»³=§¡.NUù íPDDDÎÉ!RÕ•™ˆãÈó Çrí‹O3ø‚Úåo;Gûÿfô¸§éq¦Ÿ.lDw½.€uL—ZrÉŠEÖ²É,÷޶ ¸ ò4øªBK…x’˜ô¯k¸é™O˜ºpCù€ÃÕˆ«‡´Ð7""""•DŸ«Dª8_^zñ]NW ë| G½^<4ìjþáË'+3ÓLx¨ÿY•„Ú":qC—@üšÏÚÉóH½f5lVLY†pu¸–ŽÕN×;ªe,'Ê$õ§yõ}ø5îÍ7ö¤e\8þþáį׹äQ¦©’© 9Dªx+û¯”Üü’¨„È#ô><%ó ö@£+¡Oo–™DóÄ÷Û4¼Þý«=d`ŠJ›ë/%ü×)ì[;™ù©ý鸂)KÜ€?®mGøi»[ö)(ãc1l%wæðá5«F{®P»8¬},›²´xNŒÐ^¼5òy:…”ßü¿­ÏÂò9AŽ9sæ¨DªªÂM|ûÉÂ’IëqñùaåF ØþOC˜ÎƤ<¬f~'ÞÁÉϤà0'3;‰”’Û,8ýǵ^›sÿþd‘”á†ÃÌPáÉØNñ Yø;]k`ó븲ú¾J]Ãäy©\=…ÅE@à…\Û:ôoïÀUJWtÛÕrHcCªbüÏÊf\íâ´ñå’º¯$>ˆmEBñ·×áY]~""""'rtéÒÃ00 }¨9Y–eaY¦iâóùðz½x<Ün7ÉÉÉ뾘Y‰Œ}öQ>ÞRüW§¡ôª]þÎ ÎêMˆÒ1YòÙD6]|; ýÊ.áfÛ„§xþ÷0º ÌÀnõ<øÚŠ=ðÛ¶{hÜ¨Ì ­|Ö}÷¡~ýpÊÝϤätcúÊßèÕÓœ:¶ñ¤›…Ì÷;)¯¢FÙšéÌû ÅÿãhQó0Ótú5àê¾µùjÔNÖLû9‘‹(Bº eÈßž«”2® ÿÚm¨Ã¬!ƒŸ¿^ĽͻR:í‡éÆ ×Yp­L¥´‹Ó–Ð\òx÷ ¶ç÷§Fð‘Ú¡‰Ç´*½Ïêò9ÑCE r¶r³kξßS¶Câ£(w/;×-â·Y‰¤íÿqèÅüßS—rW[Ô…ÜÐÅŸÄ9…°éCn»+•nëEëÚ!˜™[YúÓ猜¸–`K@gúv«Ç¡Yì`Ô}ÿÀýк7‹Á/'K¦|°‰%ÉÄôáúóʼÊHTHñü¢%cùzv5úvjD”ËÀq!7÷ eÙŒlŠ<Ï­nçžë/¦iŒ?îÔ¿øsüHFÍ.ÜpÑM\Rãp·‚uQ·÷µ4õV~Ìg>Î%×4'ètôq+¥Œ+ºí.\ßÑų ÝdÏ|œûƒåîžñ˜»–2ý‹¯IêýŸßQŸ3½K[9íâtí|Í»5„Ä5'á‰;zÐ(ÄËÞkY2g³æmÅ ÀvæoÈ冨°ÒÑ>•Q‡guù‰ˆˆˆ(ä9wlÿ&/cW£<÷Ú?¹¼æaw[$=žy™ewÿ“o·Y¬ùŽ7þùÝ!‹ yåÿºqÄ9;÷-â‹ÿ.⋃Ø–߸‡óÊ®,”–}ÚãZ¶wÞF<š‚ýû¯ZǶ0:?ñwì~Q‰…¤ÎÍçŽ>ôÄÕèFÞx¶QG¼›lžÿ/&f“æªuçꦧ§’*«Œ+´íh.{ú)~¿é9~ÝçeÃÄ×ùçÄ2ÏýŒƒ^¢CÐÞÐ+©]œ®_³µ¯y‚›§ÝÉ›-r}ÆÓ‹>+ó|-¾ÿ&ÕÞ¾‘Ûܬœ¹žünrÇ[‡þUµüDDDDrˆTi†Í~Ì9ü«Õ¥q«Žtë5€«»Ö'Äv´>xWž7™nßaüsX±>™l€?Ñ [sQïAÜrÝÄúa«ïåÙîÛ™2e6+’r±0ªÙ”—^ÃMCûp~ÄÁß Û©Ñûe†g¿Í;cf±Ö݈fQNE¶ÐÖÜóÉd:Oû’q?üÆ¢µ;Éö¶`b›´¥[ß¹©_¢GïÜwàFÆÝ=†-T¿ìj±D±ÙK ÈfÇv¸·i³•Ìeb`?BYîa³URÇ~ö’ŸÛ‡ß1GÍÞ¼üM ãG|Ä„_–³3×ÂŽ£U׫të`Ú+à0¼g›Ý8ñ²;Ž}<®œ£Âíâ8öñ·#¸Žþ†&ÿɘ©sY—Z¶Pê´éÎuwÝÇÀ6aìÍíËÒ²ˆi`à1)wƒ÷ãªCóhõtŠË¯’êXDDD¤RúK–æä©Çš“£C‡Uäæ1ÿÑž<8Û õf⸛¨}†E¦žm£|íp¶ÃMc¿çáÆšgàÌlJóx¸ÇCÌõ@ýüÀØ㔾‹ˆˆˆH…é+9IÖ·On¶N›ÈV€Z½é €CDDDDä\ CDªžüÕŒŸT|7›º}.§®2‘s‚B9ë•IâfÛÄ÷™œЈ—×Á©":+Eè—’ˆˆˆˆœ]ú,"g1{&?Â]?ÔbÈm}hWÓdÇìѼ6|5&ÒózÕÒiîìP“V BrˆˆˆˆÈIѧ99†Ó6m±{ãFÎ'9^äÛòÏÅöç…u!\½æ3›3–N혻¬mjêº"9Éî‰î®"Ryλ«øÈX»˜M¾êÔ‰¯CLÈéÊK-ò·ÿƸQc™2{%»ò€ 8Ú]~#÷ß?€aJ8ÎŽ'Ÿ]ëÓ‰hT‡@U™ˆˆˆˆœ„J 9¼ìžñ&oÿ¼Œx>u/íÔÁ0³X0ìE¾KªÅ5O=Ä'øU«/íWÞ~ýGR†ðŸ{[¨|FΔ¾Ú9rˆˆˆˆˆˆœy*ï;3Ïn/Þ[ÒÓÛÆ¼5Y˜§h§ ÿZ´ìЖNçEbWÀ!"""""""TâœEI X–þõZ¼eIóÉèx1Qv“ÜÍ¿2áûÙ¬KƒêÍ;Q¿èÀk=Û¿ãåPT¯íå,ÚœGPBgú^Ãú)?²4)¿Z¸úæþ´®fÇ*ÜÅÊEKIMhÊ•]ãðìšÂkïÍ&'¡W„-ãÄ=Õ¥Sÿ!ôiŽ]õ,ÇÍ$gÓ"6µ¦uM¿â¹&|™¬Y¸‹˜͉Ô,6""""""g¬ÊÉa°}^"y„ÐúŠ+¹$Þ€= Yžî+î6f.ä‹g°6ÕI½6͉Nͼ´CWãÙ2‡MŽxÖ€¬­³óá·lò¯GÓZNòw-äû·Rt´îéÖéü™EÆѳ¹~d[‘*YŽ»!S°y~ô_ Íì]EX¾ –}5ŒÿMüœ¾^A–©R9SUJÈaåofΚBoCÇÚQ4í\;i,^š‚/) g« ±}îåÎró}7ÓÂï0;Ó`÷Ý>„›u! ®?÷Þ9„!ƒ»S(Ü»"ë(;Rëº(7Þv;½b€‚=¤ä«W*ÇËÀ¯F#U<›™:ü#¾5Œ¯Væ!ÔoZ› MŠ("""""rƪ„.›Eîú¹lðæ.þøö¦&`2—-b·ÇGnZ.HlíPì€á_ƒøˆC×ä Âa6;`ø‡âolŽ’[TZGÝ{HDñò†“gñò>K•,'p@7¦ï½wÐ¥:àÙIâ¦\ „–ƒ`PÛHÝsYDDDDDäLîÓôÌ,ÖÌÛŒ {Ë—.eÙê]x²V° ÉGpT0OòÎl|€U˜Êö}*|9CŠàÆô¹÷ºÔ¥Õ Ô¦šæv9ÃôÓ¾ŒDæo· ê2{¬'5ìy‰£xaÌVÍßE¯ž‰ýu*ÉSF2jwcü“–±ºP…/g®â ã~âw…Ó¼‘&¯9+úr'÷réË TkÙœÈÒž A`B;âmP°f>;‚»pÛíÝiífó’$·¡u„ _Îðƒ#(ž– 8DDDDDDÎFAAe†a¨4DN’eYX–…išø|>¼^/·ÛMrr2:tP!‰ˆˆˆˆˆœ"ºW„ˆˆˆˆˆˆˆT 9DDDDDDD¤JPÈ!"""""""U‚B©rˆˆˆˆˆˆˆH• CDDDDDDDª…"""""""R%(ä‘*A!‡ˆˆˆˆˆˆˆT 9DDDDDDD¤JpÌ™3G¥ """""""g=G—.]0 Ã0T"'ɲ,,ËÂ4M|>^¯ǃÛí&99Y$"""""r ér©rÌü¾ýu /ÍÎ&ÛRyœ-,o.©Û7±3×ü›JéÛײ|]^¿ˆH• CD*$gã_ôxs1—ŽØÆZÊCÔþä̪_oî>¾_¶—_·Q¤"=Kä1ÿ±Ëè5àÞ_Sø·l±põ» p3w¾µ”<…a""U‚B© ¬EÔþDõ+'_õ¦ù÷76©R*©ˆ ºñ äÅçpQ_g’ ¸NYŸÄ§àŠžµiã¯QûSûSýŠœI¼ìž5‚á¿Bß'¤C¨q–oGDÎÉ!";yøùÓ¤V0çÕpá¯Ï"d²cm ¿¬ÏaWß&ªý©ý©~EÎ4Elþ5?ÍZBr¡U¶#"ç}?""g™äA¿ õC*V~{óõaNíïi–IN‘A°¿qH}Y¦\¯`W™çNQýš©ÙnÒò,¢kã<*Û$ug3Ög±:­ˆ\ËNdd0¶¨Î¥±Î3ëÃàYx·?oζoÝIVX3ZÕ :äD˛͞íÛIέF³ókp6½E3Ÿô ÷™¿«ˆ=Ëg0eæ—XE»øó‹á|ú߬I)€€hu¼”VÙGØO* ¿ɧgÅŽlLl×:Ÿn×ÝÃCƒÚQÍPĆϟáÕŸ½\þÒ«ôÊùwÞÃÌ•»)Ę–Wrëcпiðñ eö¤²è›‘|ú}ñ6}؉kÉEýnáž;ë2;¾¾ë?Ú­åsLý¤ÕË­Üͦ‡0è³dªõŤ–QGÙÇ@ju¸šûŸ|€a›™:ê#Æý8ŸM™>l¸dÐ#<>´‘ö –ÍÿžáÕ_·]bZ]É­>Dÿf!¥e“¿è ®¸ïòXË‹½:ðâþmÚZóß?¢W¤í¨ÁÅæŸÿÇ'ã~bþšdò,0chÚéJn¼ûVzÖÄV Û±ò7òÝóóꯩåŸH\Ìï?|΄Û>àƒ{Új;p®Î˜ó:w>ò-ÛìÕˆoRÿ¢=lÚ²ˆIï/bÒÄkx{Ô¿éZf»~‘Qì]²”Ue;𽋰à ßÃ>vB¿·7qŸ»cúë\ÀòÔîû ÃS¹WvYþ—C2Sž}œÏB«lÌrc’>å6®øÏjà<žýq4}£m,ƒÊÛöñשEþ¦ïùï#¯ðóžò›ž÷ûtÆ ¯Cß>àÉ+b©J™¿B‘³‰YÄ“Öðæà .&˜PŸ›Mi¹Ìü}=‰ÙMø¸{AÚ Y›RÀî?¶3k[:Ûü¨W3€Ô”Rw¥ñîØ|r‡6aP” 0 ö²&9ŸüÜt¶·©Mƒ²gËòÉü² Zõ $pû¼eÒãÒÞQùínMg½©Fœ ð2õ‡µ¼³Õ؈©L¤áakJ³þÌá­µym u‡Y×1ßÃá_³ÅÏŸ„þìI)d÷Ž^øªÎ®læå8‰ $Á^ÀÖœ|fÏYÏVw3Fv Âÿ”—7ØiS«Õ» È &&ˆ¨’®~Ñ5hSÒ ÌßÄCcw³ ПÆQ6r÷å³~C ³êU§k”ûÑ>„lå×Ñ_0vô‡´t7÷ÞÚ›ó«9ÕþÔþŽ«ý¹£_Ȥï×0l‡ بY#˜pÓÍÆíi|¶= °Ñ%¾×DíD¼äáôÏã¥Ê}Ø7[¿Åe2cÒZ^ßìlÔ¨L5‘¾=üõû×l(ùFòàNÀ¤ æ…9¹@(ušO¸7•¿6¬`ê»÷°l÷ÇŒ{¬ Á†ƒ@çN×m$é½W™62[ÂРy}v¯ÝÌž•?ðÊmÛðŒÉ µÇJuøþŸCxy^^ñ>6>Ÿ([›×-gúðåü<ÿ|ùÁÔs9©såµ4úèm6¬šÄ¢½½¹*ºLYº“ømV2E~MÀA s‰ë6•îã¦Ðê7©Kò_ÛÙµhÿwÇ~ ZÄìÔ(ê%4¦k›R6ðˈûØ”÷_>ØŒ€.û!ÛÝ^Ÿ†Í²n{VLä•[Ö“óÕ(n©_ü­®=¬1ZmgÅŠMìÃFl³Tw4~ Ó!âÇÂÍLúà3~NvQ½~sùØ»ekÍS,!õë¸)ÁurÛñì`Â?†òúR7¶ø+xèá¡\Ѷ.!žd–~÷6ÏŒ˜ÇÚÏþ»Lä‰ó‹KÍʞϛÏwŒã¯{wîNm£dTÀ¼ÿÈ¿øfË÷<óZ&½Ú•ð’ÍÛj\Ãè%×E¬}ãjnþ&íHG –U2ntSÚÔ ,î39ïºóªH°pÊ÷ý8ýå^Ùeq˜[¾ú?^^pä;:•Ö'VqQÁ2¨´mŸ@š¿ñü¯ðk®“}âÁÁ=h]7ömaÁ¤yõ£9L~úQâ}ÁmõªÎˆ…"g‘ÜíIŒØâƒh^R— ‚Œ’Žð.›Ì¶å»˜×± =ƒ ¢ê„QƒR’áÑÛÛrAHño«(ñ?üÅÇ;ó;/‡>}ÃBâjpQ@&3²3ø5£ Ê|eäòãN áôOp%õ7ˆªN ìI†njIÛP…逜ÍI|¸Õj-ßçrãÕMè|pÉzY:w[šm3ü’P Àò±+ÅCx ×QWüõ<ýHÃGMeñW/²ø«‘´x÷ÝÖ‡–QNµ¿ÿgï¾ã£¨ÖŽÿ¶¦÷BPB‡!éEzïŠ(ÅzE±¼^ûÅ®¨ ˆ¢XPPD@@¤„’„ôBzÙ$»ÙÝ÷ BK ¡$Ï÷ó¹zÝÝÌ9óÌ™³sž=sFÚßuÚßµåKàË8hyfrC¹ZÊ+HJäÉ“,I¹jê?‹*+gþó@C––[’ŸÍ¢UÑìÍË'¶È·rדæ’"Ö­‹ä·l°oèÏGý]pWÖÄ>¸¥†VÍ\i©¶föPoš\¼~µ&¤SæŸãÅ3öž)äQË,šêïKÌäîÿ”σ]W^üöFú[¡ÀDÁ‰/ydê—œ-÷ù¼ ùpw>xŽàÃóéî®ÌœXÂÃS—½z1»^ wžÁ]ñ!’¤ðÊÚ½Üç©E˜rÃX6g:KOeù§1¿Ö׫ã¾Oøho8õáõo0ÈךÉO6¥¦¤9dáQ!î&Ïå£{bw©£³uw¢¥-`Ö“ThIóª¬ç(,ÿ IDAT´–_ 4¼l/ÝÓ®°²cdOO<€ÂÔ<Ò.ô¬Z;†7×zvœ.¢ìÄæœ„ó5‚]#O‚lnð½§ÕX¦¢k4ÔsÑâ Uãé¨F…‰¤Ø|Š€ºíýèY&¥®vtaj'[ÀLä¹"Š/l«²ûP¶|µO›K÷÷«œ™ÐÂÒuç˜Ë ”ÔoáÇp' ¤ð‹?Ws¼+tÈKHÎ7BšÙ[ ¾^ÖØUä»N[‡Ž“_åÛ-XôìZ;¥sxÕÛ<2`03üBhš^ÚŸ´¿J÷EÉñ>íü¸ßõRyvÞžŒó®Æ>0Æ¿àËËUÛ;óÄ´vü4¡.íÊ·³Ûϰ0΄Æ×†x૪¹}ðå×Ç*¶à“Ñe[+>ž–§NgÄtÛú‰‡NQøM|œ!þV¥±Qb×| SZ•ÿ¼žø}a'?Ì}îê‹ÿvºä ˜ÒIÈ-±ì•½«%îVîÔqÖ^Œ»Ò±5Ìí-q2ŠÜëî°ž„}áõ˜E?ßKÁÓx÷â±G§÷ž³ôJwºNì„ÇÖ$Ót)Q´s3q€Ï A\ø‘TeïvÕ:ªëôä¡!žäf.M}RXÓ`èÆùÅQO5Üdl<, Ykw¼]ÊÄÆ¾9žC@wú()U¶‡¿6—–Ò}l'l̘ n¹(¥#_aÙ©e™Š·Á¯‰‡¥g”$MèΧ¢ƒ:Yfù•£ñéH°+P|ž”‚ÛýHãë÷AwMÝïxÜ«f{¦ÜC|úÜ×DcE›÷át­vÜpSgÎdæÔA4¼°¨N¥cP…eWê4´¥ÑÐg˜?¦L‚ã"+êwÄ HÊÀPƒFM·œä0$¬çÍyó˜÷Á?d\­ý˜rØ÷É<æÍû˜³oñd+ŽâÇÿ›Ç¼ÿþLŒŒç·óÞ¼yÌ[t ùÊ÷…¨iŠ‹,çPqžŽ˜¼ŠMfô……ì;˜À_:@mC£ Œ|5v6¸”)6_ê´rÇH=A\É¥‹´ãÇó0 ¦{=·ò£@qiaήêrÓÈ8:[¿+.2Q‘žâêûpý‹-§ÒûÈõ3—ý‰JC=ÛÒ/Í2O™¨ÞxW¤‡ÖФŽ0°åŸ嚸Ùe"Z/B&¼Ì×›6²tþXÚ¹frä—Ì4˜GÞ^Åá4ý ·-í¯–µ¿ë ‹-usq+·h¥B‰S5>¥øZå^OZ"׃ډyüh¤©½}pùABRéhÖÝC[á{±o½/1¢Ï·¤]ý]//Wi³ƒúŠzåX¦r§E•šK‘Ñ„>;†Ý+>cc&`UŸ@·ïƵÎzóõcSt¡ŽõËÕN~h€¢¼âÒþB‰KȺÛéèZ\Èr”$±kS P!*ð ©çº.–s¬°ÜpCíF€@1ùzs•ÇFíÞwK㮲~âªÌtù–Æm2VsÁ\DÂ)ËZ žžão6Yʵ²³ºú@Hi…Ö_Ó]¶6ø=Q÷Û÷[Þž)“ï¼Àêpìû¯®ƒªšcp[Ê®ä÷@NbÅ€£·ÃªCõ¸§oWQXûÒ&¤=yžn¨di}Q‹¤‡åÑCWæ,Ûvó£CE~åS”¹7Þ\öÐážI,J»4]Ú\˜Ç¦x8x0Ô«jº?Å5^UTr#WÛ‡ëþ‰âÚÛº^R]ñ¾1­z4`LZ$¿Ä%òüÒ$ܽéèJß.4±½‰ŽOëI»1ϳtø Â6.ç‹%+9°æ]=ZÈš¢žZÚŸ´¿J„á}÷VªXo¦X¥ð]BËöçÓ¹·W,9¢ÏáåQ(._†^#›óŒŸêî;*Yç+R 9üelØØªò„UЗ(”•k@©¿=ˤïË¿jK‡¹OÒÅIQ¹¸ßR¿ò‰? Ç ÆõuaëïÇXw0‹Ý0§îaSÐ`ýëU,¤¼VL ®®[ŽRYõý„©€ÈÍËYöË6Ž'ç6ÿiLÞÂò:  ÃzúÜ݃Ý>^û<»Ë/F¤r§ÿßóÒ Jº{êroÄÝHò†WùïŸÙPg4 ^ìǹ·©íUoÙ•‰AvØOüï³S€†^ç>Ir&ò£¶³zÍ.NÏ–hxÙp Yá[øuã~"Ót¨]ÒaÀh·õ€Äõ¼óÉ.ò1À)”a)ÙÕ§ÓÈÉ mV̶¿àHÀ!½3gzpìÀaÒš1ð> [ʾÿF6Á.QJ¶¢ÍŒ—˜h9ÿKÞø‘(çÞ<=o >²"‰¸JûÍ;{€H»¶´õ.BkÌ"|"^!-q»KÚL“~-™Z’ÉöXçõ œíiîA/õ­ÔJ-ÝÛÚ³øÏ|vœ.bª§-E é)Ÿ4¨¥çLµÅ»"‡ÄÖ‰YS‚èw6?Oe²#2‹5ÉY¬ÙiÍБMy¼¡ææ2ïj{êøøâåniØ5jŽ»ZÚŸ´¿HiÅýýü8øM<§CÏñcóL÷*÷»ŸÙLNž±ôéeÙÐü*«ÕÝç@%ë|ùµmë6ÇsÂnmê2Ðå²U·Ð—TV‹â±¢mlÞ†T 'ßft<’¾Í]î‚sÁ–cQç÷8²î ÙýûQ´ç"€À}ñ­æ Þ}±ÑsnåãLù(ŒÀÊ3€@w{½ÚЯS Ÿ¿½•Üj->–_^ý€£Fðõ4ÃëÞ™($¬˜Áý+rÉ׃ÆÙŸ6݇0éá t«k}y¢Ì¤'+­€+žê­p¦•ßmzÞJ]߰yœû™—ÞÞ‹ŽL{ïI:8*)¾Mm¯Z˾¡BN.}‰÷¦’•Cl†ÐÐü‘·˜Ñ¬&¥8ª!ÉaÊÚÏŠ¥cr¤aû&Ø$ìbo™Å^ ‰±ô›¿IwmCßÁ¤ØÆž•‹ÑÛÏcdibг‘굤qc#ÇÏIJgõ&Z½4–.SÆ÷ÙjÎ(š1næü4‡ËdÝ.ÿ±Q$¯$ôçh"$QØSü1âLàÖ.O¹2W0Sõ‹—ìâ¼æ(ys¦»WGV~ÆÊcyØG?ÀS“‚pº V²1)5´iåK›VU½eî ë¬Îçàé âºhI=ž‹†´°®²GK]õG"³ù–evoÆ›Ò_æÌ¯÷Ë™RM£@/z1ÛPÌþýѼ¾/Ÿõ›è53€6•:02Ž­gÙ§‹Y}4 PâÓuOÏn´?i•e%ÿ®ª¦OW¶\«'ÿé’ÎŒ=…¬ÜœBŸÉ>”½°ræýg;Ü[}p%ë|QIn:Ígñ&”ž>¼ÖÃñ&o¹Ù¾äÒYf®äí &¥í†?J»á7{2™+=IáªmÍlºØ_”í3¬ gD½Xrd‡Ò[“¿á4М‘=½«=Ñp˱¹æáº0ËÍT¹~¢è4?|F ôzýÞäsqÊ~áÑ×YTUå\Mqë_É{¡z”M¦óÞ“í/{D²Bi¹+.(ºú퉦bòõJ”7õ¥ Â1 '¢ÈA‹G£Ö40fö‡Ö}Æ¡uküöþïþ2í¾;‹ºñá¨öºW¼.w:î7»=sá)–?ÿ!a%jZ?ó.Ó›ÛVÝwÿ bP­eW¨~ÑlX³‹£éew+‚›¸¡­awETñp­„Ôý;ˆ1ÏÐY̘0Žg?H«‹ËÉê‰Û¹—tli?n,ý{ögüÝq&Ðg/ýá;Š'æ<ÄÓaP˜BªN‰½›¶*@m‡»‡S¹ƒ¡.÷¾3nM:Ñ@ºˆ0Ò Å$‡Å`ÀöAžò뗸ꅗU@=C>_Â÷Ë>eå±<À†Íêbw‡Z+K£OOÓWÛâ@ ['F7TAn&ÛsÙg/Oz8Ýzïgee `V†’rÃΜ,ËkVÖÊ»fEäj·R…«Ö2XˆÊ«ØUBcE§Ž~ô° uÄVôjÐHöÉõ|8{ýy›ÕG³ð y€×¾û‹ß>žM/?«~ÑJû“öw±nZK”²³ Td-S¥Z…5P’[H–éÖaæÇðÆ—; ‚ï ¤'òþÑ¢Jþ}Í8JòsXòS8ïž1`íëˇã|iVé¥ôoµ/Q¢µÜ(OFLfâ¨ÄÊÞr!™™Vñ…* Ò)(×8‹ÓbȰrÀJqý2­¬KëX~1>#Ù±ikÇrûª©Ï ±M äk·þźS h=Šî^Õu§ûMƦREØánFDj%JЧ› И]}n¼ÉÍ–S¾§íá“xí¯ l‚f²tñLZ^¶NŽ[Ï:عGö‘p•¢ôIû8œ XyàuS~ ;½À7ß­áïÝ›Y½âk¾þá7¶ìXÃûµÆŠ$þxù%~K2VúxWÝßäöÌyùìy¾ŒÛnÿÇÿÆûWÙÓDnƒj,»â_¢-xnó!îû‡¿Ö.ç¹ý©¯ eÅs“yac FjŽ*nýFòÏç¶øÔuD(¬ëàïráàêÉÉ,tþâeæÍ›Ç ï$0f¥‘_Y•ƒ ÖJ@¡ÁFc¹½™¬®Â>.Õ{’ãIÉ„GêÀ£=mÜkÒ²*¢JOû& ›5®ž€!ž°³ù€m&Îeb{·;œSâS×-φtãÅ_¤LEùü°ò#¾‰bCÖ­þ¢¢e[WœÑ³ý@2¡% Ú´uÁSYõ÷·ÃH8œÈö¬K‹hê³3Y¶_( °¾îc kT¼•ZZÕÕ¶ìN/]hÐLVR¡¥ƒNSa>;ÎêÈ3]ç&er´Pkñ°ºÑÀÇD^ä>r$÷?ø?8KÐX^üz ë=ÍàfN¼ÝEÚ_mlת[_Ô@âáD¶•‰¥É 'õ*«j]©¯Ò“ùútñÅÁ˜I_LäyKº¡¸ðF‹¾*ñ °ÇH<”Àæ Óe1Y¹ê(~8Ç_9ר»ÆŽú{âœÞÅ÷IÆJþª/Ÿ&#âxrY«RÔtèÈòq>´²®Ü6ª¦/ÑàÔ ¸jc‹KãhFŸÉ™ôÀ@A¡ôu-~ÁMÐI+?æ·³ºKqÏ ãëé½é=îEÖÄ•K—älãÛ¿.µµìC,_¸ƒBÀ·cSKã©P—Þò§ËâÒ´øuj‰-÷ãbþŒ+¾Ô_$náóå‘€†f]üËõ*¼ûŒ'HiàÀ¢/8aVÒvô}xTÛXó&cSjOÚ¶s2Ù°xçŠÍ@ ™aÛ9vT¡ÆoG€³l9pþâàÉlÈälx…E9šn±œ‹_EÄmûGF=Éw'é2s!¿,žIã•Á·i:œ®@â×¼ðñv/öYfôI;Y8ÿKâÛûFÐüf—ÂPÚR·Y=ʯ°©GÏ9ïój+0…ñÛîÔJ*oKÝ+ãÆýf¶§;²~NÀ:õW^zt:Ó§[þ7û­­d„/âÉ–מøøyf3…QùféR–~³‘¨ò?.U0ÕRöÍ&ÓÕ6¸øµ¢ÏÔ7Xþép\Ég×Âo9uûvU9,MÊå³oްÒÝe ñiÅJ/šÚßú¯}6^žÜïxžU±:P;1"@S%Q‡úuy, —b²xç«#,÷°ÁçÎë)´~~Ìi¤¹kn¨þx+ ìàKpø9ÅÅòð¢d|µ%$æ›°mÔˆï†ÙsìÏÞ8k•†úZ¬ôÅDf–`<[z•™)wu†èåL›¸˜À¾ù0}ü1F{ÞÔ´Diµ¬ý wÁù›wô÷a„S¿ädñîWGøÆÃ§’b¢²LxÙ_­_uæ¡VZæ…éÙ±1Œ{l©«)!&]OæîøQLBBq%4¹Î•‰}}?f7Èáýèl>Z~„ï=lp£„„óÅäjo«ë>ÝÄÎÏ—ç[g3/LÇw?å¯úÞ¼6Ò‡Fêš{”äçðýæ¾;gèÚºiÑÇ'³ >¹ÌÕ  #û×£Ûuê^u}‰§N3ëû/?&îâÍÑ}ø*°!Žº8Î$ØÐkT3T§8µ=‚ÂÞ°EÓ}OðXëý, ÛÏ{zóMÃ@ʵ21èZ•eWÙ1UâØz÷9ýÎúŒSÄä™hiu·Ìg½«’j<ƒ»à³}Ië¿`Yr¬B9Qtñ(S¿[œïáØ®ý¸µq!ûÄÄš ךà^©Ð¨€‚s„†Fãpý÷=B`ß 3M­Nr<ôP‡A­Ü‡¨X¢cþ‰Î´ t¾{ڌچqc[â{0‘Uá9œL/ °r°£[ /¦ut¥ìî (sŸëåF^»êÊñj·w`ýßy(Ô¡­-WÝ‚¢l9T \•CF´Ä;4‘²9~¾€4ÀÎÉž~­½™ÚÞ/u·u}¸Öß(J?x½{=/ÛÖmˆ·ÚɃ×&+Y¶-‘ÍqÅ$5Ô«ïÎè{ì•Bº0U›ÊÖ˜|bS €g:·öá‘öØÝ(á[bÀ¡ùlã;ûrKO÷”öW»ÚßõꩵgÆÄ@ì·Å³æl!iç Èwvdä`?Zž<ÅkùW^´ëÓŒ×mÎñåÑâstDXÛЩs Ow´%\QÄÏ:%–+“k_¥‡·Ä³ôž8_ÀùÒ˜toáÍ´Ž.\XãMq! Å¥A¦BM»>MyÝ&Ž¥G²I,Ra¯¼7ÏŠ2æf±þÜ¥_òuùË(÷![¦ß`VXUö% ÛÖ<ñåBìßý„ŸvF‘NnÝŽL^ð"³BYý1Žyä±Ü†¬mÀ”E?Swžûc/'¢Nr°ölNï!S˜5µ/åñìËøviìø;ŒI t¬OHßñ<6{ ­ËŒ ”n½xùõq¼òÑŽÛYÊÐø1êƒÕøþô_ÿ¶ƒ#‘ᤠÄÞ7ˆA#¦òØ÷ásµÁƒÒ….Ó†à¶ûWòBF⢼êÀBQÚ\³ŸP^­ÕXþyÙ[•ŠÍµËEQz«žBqe?á3œ÷¾ÕòÙ{KX0‘øW:eâƒA8^óü±¡ùœ/Yìü1Ÿ­ÜFøÙpÒíêÑiÒ[̛݂ocXêA^^ 8kn¡(IÙÁ¯û.-2PFhL¹¹ú3÷â´ %®Ýæ³ò÷îüüõløç(Ñ'3 .è6x"Ó&tïl#/IçØîC„–û•µ$á8¡ ¥‡¢Ëx\+O2_\èåfN¢;[÷Û÷*Ž…¶É¬?ôÄU·Vö6æ­!3èlû²—î4¡P(/³²ç_eb õ¨Â²«ò˜*T¨UæJ¯wu7Sš ÅÅNµ² –'¢äx cþÓÝpSÉ9½…Õëþ%â¼—FAÔÏ8À‘,_F½ôJH;º‰_7"&³µsíú gHG_T¥OWÉoú¯>Òks.?}ƒUñÞ {á)º¹è9·å+–o=‡Î­+³§8ðËÇ›H ˜Ìk³Ú`KÑeï?þŸáÔÓñãÛ|y¤¼†ðüS=»UDu1›Í˜ÍfL&F£‘’’ z½ž¤¤$BBBî­ý1É5)qÒÈ3šïÝFi¬Pr/Ai÷"#û=‹1 ºŽ âµúò…[cÎ{¤/1&­dò°ˆôÆÊÕ³i|Ûoz×qô­Lÿ­žýÁ{Ý‘¬61¶÷hÌìÇ{âQ¾ 4¥³éñaüß~=Mž_Ïwc½QJÐî ×N4ÜÛe›ugYÿÉRÎõx¹]\®hoúˆÅŒŸôñ¶ýX´ù„ØÖŒãyË394~Cyù½¡e^QáÔt Ó›,óÚX&]üÿZ<ÛgVÛ«,ÿ\~[ G:<ñ—Ö·Æ¿ÿ^ëé#óÞë]fW¾ÖÔmí‡òH$^!-q•ë-!*L¡Rá$çÌ=~•÷ì¶´?!}ð]tÜk}ÉúEÒ”}€ïÿÌûûÝVµŽ>–µ/a}4ì‰{‚·çO ½§åö³.–¿—¾Âûõ nÇ讞’àÕÞêNþÄç¿n'ã×Ó¤½°€gG4ÇY`"?b=ïþç+â÷ciiSsö¼f?dÄT@|Øöl¤¨O§–.Ò™!„Bˆª¹ÔÌ ç@ª!MPš2ùwÑ{ìÐûØ ÙK|jm#¦}ö™sŸç—] yl×Bì½àk_Drt¹&?†½ù&ü%‹/ª›»öóXúŠŽ9¯oaóÿdó{Îø5ðÁV—@DB.6mgóÁ“m±­AYÙšä0frø„{Ð|ðÚ9KŠC!„BTs>‡>}йërp©ˆGq)pêdz´ÄF"T+©={ñü÷ëèýë·ü°a'¡g¢9¨ýéÐ}(“¦M kÛ.nóq«Ó•gûãÜ:;E *[aEýao²ªU_~üægþü÷81'k<›t§ï臘:¼M»Ûá–×äB”¹Þ©akr!DåÙÿëQ^ŒÓ2r| æúÈ â6·À¤Ÿ˜2ü}RÚ>Ë7‹&PO]½í='|K}ϖв 6ø†Œbî ³é[W±Bq§H’Cˆ*$I!D­ïMæ«?½AˆÛ„ѤD%ù5!„¨µÔ!„BT…RÒâN’‡BÈ7B!„B!D I!„B!„BÔ’äB!„B!D I!„B!„BÔ’äB!„B!D Þ½{·DA!„B!„÷¢_Ï+ÃQ´x€Ç×EcÊâÀò%ìÌðeÈÜÉ4ÎÝβ)¨×>®'9ÒQ“ÚQº™­"IÓQX»âÔ‡]b¶Íòy¿žtuçàéóÛúÔo½QbFŸv‚]Û÷r*!‹"•žþAtëÓ‰Ž*9úâ:Œä‹$¯N|lwE4h ‡å³jÕ*ÆWëþ-mU!„BÜ)Šø„$ó- /Ü®âHc"ˆõϬa^œ[ý)¿g`8MŒÎr»J«Ü?*”äÈC‰Bm‹7†´MdÕê»ÔØ ÝÙÜÉP8vƒmv—~켩kNDL&&«ŒŸ5”º†Ó¬[¶–ˆb[ê¶i…gq4GOŸÇèØžIÓúá«• ®žàÈ9¹6œ¢À­c'öÆß¶j~¾ÞÞZbܸqµ:¹#„B!ÄPu‹d¨©ïk>9†¬¢ ¢SMØÕ«‹ÃÍ”àЖñsç‘QA8Û5¢{¿ŒÙ—vü¨ã¤ô俏˜©ÓŸÉ“G1tôXzxÅédÉ=½—ˆbpê8ž1ý{Ñ{èD†4Ô@î B“õrôÅUÉ /MpddõÊmÄèÌ!ƒ}Ù_!„Bq—«Â594¸7òByúqÉZ Õx¸¢Ž©ü–”nxZY~9רjȉØÎÖ¿6aÒ8àjsåBJ;G¬–:X©̘ÌF ³ %.¾Î–UXáîëQ¥I- iâ"#ÙáëùñÓ¶õ›à˜x†”ŒCüò#Œ™Ô‡[i1¢âjÛlŽÚ<{E!„Bܪðq' ¬ê4Âó„;E&î4ô´º,‰ @0êKga É-¾Z­¥WBê¾MìÕQoà£<ýÔc oåTá]³q¶Ld%fS`.&=)Ðâ`§‘‡¸œIGJT€]Ó¡L3‚ñô¢®ÈŒ&&½™Ï!*Cfr!„Bq{UéÓU”ö~ø;˜9™Nñ±S’Qæ}•C9AZäV¯õÇ*ó,1ù×Û¢“Ñ@ {= IDAT”¾Ÿ½ç‹8šUúÖ†›J›t¡ñ?k‰Ü¿Š_‹Zá©æÈY¸v¦£,È!®h244eÝtê´nŒ“ ¨¨Éöœ,ô§u=kIŒ‰J‘™B!„BÜæa]•nMí‚¿%y`åëo$–-Ì©5ý{6ÆY£#)*–B¯Z;_oƒ¼»ô§­-EqÇ‹5Ó¨½ ë\ …7Ès(ì›0pÒ ‚ü4¤…íãP¤ׯÝ3¾+u4rðÅÕÛp`ÛÆeÚ®­g ‚êÛUñÉ"j™É!„B!ÄíuËOWBTœ<]¥ö§«!„BqûÉÓB!ƒ}Ù_!„BQ#H’CˆZÅDjt¯~ƈÒçƒPXyŽß“J0ÝÊfÍ%„î8Ÿó\D †Œ$¦~v–C·ëI͆|>\ÆâTË^”Üîò¯á–fsØ´aÞ÷«XõÓË´·½7Z—¬É!„B!î4IrQk˜I<É´ßÒQ5©ËÛµfÅ”FLòÔ±dõYÖgßÂkÆbþ(¢Õˆ6¼¨FmïÌô>ž¨ïÌžªîpùÈL!„B!n/µ„@ˆÚÁ\˜ÃÒòiÖ¿/¶ÔbY[Õ ß^ 1gEðwT1ƒÛ[‘›ÌGÛS9aÄÚÙA=üy¸±ªœTæþ”ÏèûÔ¬ÿ7ƒ9РE=^íëÈÑß"X“[kO`Ú’ÿsÍáëíÌn舛ÖLZTïlOãXžŠÀ>ôÍNdg›V¼çžÊŒÕÅ<3½m4€±o¿=C\ßV¼àxž9« ×Vþ“ODZ͘‘ć»Ó Ë1‚•5:øó|°†Í«#ø#Ï+O;ªÿ±¿¼üÌÊîÓýîøªn=æÕ;³AMýLš:Šûšza_’ɹc[YùÍïI7 ì‡ðØ£#öØ]¿r°þTÆ78ÃÂ鯰;Ï–F§ñÈðŽ4tÑbȉ%tów,[FŽñnÜ_!„B!nLfrQKÏàNŒ¼à¸Ð X1dL+>ho"/ƒ·Ö¦bjÓ˜ïoÃG]´ìü#’Õé–YÆü,–ÇÚñÌCAü:Éûˆx¾MQ1xT £œ´ ߚש/{ÔnIV*¯¬ÏÄ»ks~™ÝŒivé|_R¡:ó2ø"\ÍÄai•ÍfR羦ü47ˆ¯9÷oë¬;6ÁVŒ™Ø’çë©®ØF¥÷)ÉX%1¯Î™ JçŽÌ~m6ý[Ø»ãwþÍÇ/d/¼>™&6 tîÄÜÿ›BǺf"ö"£Ñ$Æ7¸ô÷V“™?µ ³nõïü{¾Ç?Ï]]oú‹Afr!„Bˆ;MfrQK õYÙã|ͬ™ó‘©„;û°<È%x4¯ËÌðc,=QȨ¶`VZ1¤³õµ ðr¡›s{¯»î…‰Øi$øÔeASœܱ.½Ž!±u6cÅÈþ~ôqU`6jxáa'œ5Xa¤D£ÆZa"ÇØÜÎ}ª¸ê›Ù Â½óh:ÚÂùµoñö1ë9­ýœÿ´ïÉ€†«Èª;’öVºæ Þü)–»=ÌYø2ÝJ;{WKØ`È<Åæ%¡ì÷uÁ”¬¿ ÷W!„BˆŠ‘™BÔjk ÚâbrLW&r’Òùý´ŽÔÜ´ŽÖ8)/u^®jt¹%”(5Ôµ»0OCJqã4EN–[-6>«ÒPßVq¿¸D¡ÖR¿´<…ÂLâ™xæ{œ©+"Xx,Ÿ<óËÏ«ò}ª¸ê›Ù ÂÁË0’t&€YG|D:`ƒ‡‹ξ΀Ä3i³.Žã)—¶Pö5ÿ²Ÿ§ÎŒ~t>o¿÷sG´ÅMaÂ|×í¯B!„’äB”aãáF+S+Ïè¹ìf “þ>Çò(#jô¹Eä^L„˜HË4bã º8í«r9öJ ²ô^xÉh NWfm6_z²‹Ñ@‚Î\n8o‘Í+¡ FŽhÎò‡šñvÿ:4ÖÞ¸üªß§Š«¾™ FòRòÞM<Ñ(l©è’‘]H~F Á««e?­}hêy©ëw¨ë Ñ[øxîC<6ÿ¾ú3 µ¦O뀳ânÛ_!„B!*FnW¢–PØ:ñè}¶<ºå4oÖc\#[œ …<ǧiv<:ÀžúOšïNàócö<ÕÜŠÜèx¾HÔ2¨— Zòo¢T%þ­<ðþ>¯NÛ0#@ÅÙC ì,4ÓPjÔXå³ã\MTDJd‘™«lÉd4aT©qÒ*Á¨'ôp2‡ Mø–˜/&K KÌW$9<Wõ>UܪU«n}à¯lÀÐsètqÙG~aÕ¾5œð4F¼Ä ö;8gDÿöVô¿G䑚¶…È Óxü+¼àJAý®trºû“˜7ÅŸÂÈ]üš‚ÒÉPšI±ùî¯B!„’äBT$áP/¸ _:&±xï9æí2P¨TãííÂããýê¦D‰;/0ðÑö&l+ÁÚÉ‘Áƒ3Þ] 97WªÖÝ‹×xgG8#7k òf˜«ŽÓ*P;º1'$›·7çµíÛúòO§®²—Fõy8â,/.NEcoKH{/nDzµqty؇vu•¼³ò8…ãZñ¼ý¥¿S9Vý>UTÕ øíi~_Ë^ÉÒmaõÞ}|þßÅ<ðð(ºôNË’,b¬â‡å¿] ¤þŇïº2çáþ´êÑ™Ä׳^5†¡uŒ$oz÷¦1¾Og†×€!›˜Ýß²ìëèîèþ !„Bqóýõ—Y ÄíÑ·oßZ·Ïúœv¥[q_CkËB—†|~}Ý Ö̯[sï˜7nÜÙ qiDÓúvR#8“\ˆYU‡!ï~ʃuOñá#ÿe_^Õ—yaem!„Bq§¨»víŠB¡@¡PH4„¸Ef³³ÙŒÉdÂh4RRR‚Á`@¯×“””T+c¢ÐçóýÆ$2Æ2®ÄJf»Ážyî5I ;9³AéÞÙ/Ä-ã¾Zº•ó¾CYLû8§«yû+„B!È£Bˆj¦ñðâÿºY±}ÍQ~rŒg(˜8ŸÎ65ßï䌆â³?òæ§›/iÏÃ/¼ÆüñHÿ÷'þ÷ÁRŒ5o…B!„Pše&‡UãF39BBB$HµDmžÕ É!„Bq§ÈL!„Á¾ì¯B!„¨$É!„Õ¤¶Íæ59„B!Ä&I!„¨&2“C!„BˆÛK’BQMd&‡B!„·—$9„¢š\˜ÙPÛþ-„B!Ä"OW¢ ÉÓUÄòt!„B!n?µ„@!d /„B!DM ·«!„B!„¢F$‡B!„B!jIr!„B!„¢F$‡B!„B!jIr!„B!„¢F$‡B!„B!jIr!„B!„¢FPWݦJHþó}>Üš ƽ4‹NU“C1žß·ïn"-`2¯ÍjƒUúåÿm«¸É Gñã›_pDÌì—ÆS/§Š¶{=f'·³aÛ¢3(Ôºàí×€ žéÞÄ U%ê ­x̪e_„B!„Bˆ»HÕ%9 É<˜Q:?ÇÞðÚwq©–©" k_Ú„´'ÏÓ •âîßîEf=‰[±pK"&´¸ûâG&1g³ñìR~– Íí|„B!„BQyU–ä(NØGhX7h…}ôqþ #³cÜUP½’·‡b ìE»’PÆ`ë׆~cFÒÑÇ ý Þ¿"WP”ȱ‡I hÆÀî~ 0Qpnë~ßɉ„ 6îvÌèþ-qQê8·s ¿í ')¿¥‡2¶+û>þ‚#E‡XôÌœéQn»fŠ’³iÝ6ŽÆ¤£S;áØ‘Ã{ÑÔY!a=ï|²‹¼€A p egX Evõé4r2C[9_1+Ôs”ß·&b“^³ç20À&òÂâýoŽú×q6iMö?«ï쇢ø÷*Ÿíß »+£vÝ}3…±»XýËvÂÓø´ïC‹äuü™àϤWgÓÖNR/B!„B!înU3ÑÂ\HìÞ0 p í€ôòW@Ê~ޤ/O„Dì$Ú¹}»7F˜_—¬!¢Ð\á÷¯Å”ÊKÖšlC³n=h_§€3Ëò©äŸ]Çò?Ž‘bÓ”ûzu§•c§·ÏÚ;ºLK  mƸ™ðÓ”ÛnÞqV-þ™½Q…xwèI·f6¤žØÂWŸoà\q™ÏÅläŸLw7ö€¼Xö¬ÞtÙû%#Öª&èáoS:cC‰Có±<÷òK¼ôpšèŠ××-öŸ,º2F7ØS^+—nàxŠ‚úAÍqŽßÄŸ µùÔ0’qŒØ“ôB!„Bq¨’™f]»Ã‹À¹#ëºãØ¥!ªsg9x8•^ƒ|.}Ðk0²˜†úwøüߣìˆÆTûë¿ßÐûúƒÑÌc;ˆ,¯¡S™ÔÝ EaK<7î#SQ€Á®9G6À±a î…ñ„'äXj!Ù¹&ìüݰUJ;Ü=œÐæ\– ûØ6ŽK¯Lä‹ÚÜ“ý[¬8u˜=ñg]úQßQ<1§3Îd°ë£¬OI!Ug¢¡•ò²íéóu˜Gwg´e'F(4Ø99fŠò+Z_G´Šk}VÙµ2ûÒÇ”íœÒƒ[ŸG™9ÀUa?/ø’úڙàÈ ý‰ÏW%·N7fÌB ¬Ñ+„B!„µ Éa&ÿÌ" €)‘¿üŒ¢¸%z€ä~#ð,ý¤Öà {%€_' ¼L&û¼Ý$‡‰‚  ÆµŽejŠ?½Fû[ÞÍ=Mæñõ¬ým5F­vú t 2 %þn–@)¬ñòwSidåê¡4É¡rpÁZ ˜5Øh,11^1E‰ÖÞ% ËÌ¥Ä š ‰cñÑIª\ðsÓV°¾ ´öýìö¥¼´<@§¿‹å}ko{ÀáØÚ˜àXÉg+‘ú_.23}ÖPšØK¢C!„B!îf·>j3å¾7 #@îYŽ>Lè‰D 9GÙ—pé¾ }r,Y%€¹ˆÔèL@‰ƒ«íÅJÜèýkí‚­³ PBFJ>FÀ¬‹fëªYµ-‚³ÛVó÷ÙŽ{ž·ß|‡:¸\#USž ;7[ÀDú¹LJ°Ô+%6°ÂÙA[éPYûµ¦žJNmaoRqi™&òÂãË¥Ëøò÷p"+\_‰Û+öÙï‹õŦ'äZŽ¥þ<1™µít(!ãð¥‡]£ÖÔÕi»Y¶x=gòåÖ!„B!„¸›ÝòLcfÿÆšÁý~ž}¶uT–!xAØ2Þø.‚ãÿÆq§Ò§oaÉ—é4·KáÈqØw wc[H¾þûŠüëÕ@…kP7lù•è?¾æ‡ìæhã÷s8VO½¡=QM€„Ã;ù+EGøîôÒ,”*4* à¡¡Ñ¸\žE§Ù{R½éYß Ò*+¥SÃúìåÓ­Ilþø„5ª“9¨¨4ô¸Ðep[ÃvU¸¾Mõ×Ù7*³/¶¸ºv¡ÞæµÄý¹„eͰM:BX^-;LÄŸ:KàÐf"s'¶Å.e'_þÑig8“z?ö6òô!„B!„¸KÝâL#éGö‘¸¶i‰ÛÅlj(° Æ_ …áÿr®t]ëfVÇpäx*Ö~ÁŒ™9œF6—†Œ7zÿšiצÌLïbNïÞIhš#Íû=ÌC÷ùP¿ï(î«oOQÔöG@Ën~(€ôˆt*/:töÇ–töï8n™ER68Ž­?k4$ø›]áx´¼Ÿé3ûá§½‰p)¬¨{ÿ\ž›Ò“f¾Z2£Nr*¶Ç€†=6—aÎÔ«p}Oc×ëÚŸ-0Wn_Tn˜2µ'\‹8{è)î=èáUÛÎ'‚&<΃#§òøÄv¸ªXùö`Ú܉Œš9‹! %Á!„B!„w3Eaa¡Y¡P PTßðíÂ#di?‹—'4@[É÷Eõ+É'&¹µ[}üÝ­P˜.,¢Ú€)¯Í¢µ­Ä¨"Ìf3f³“É„Ñh¤¤¤ƒÁ€^¯'))‰ ’B!„BTµ„@˜³óó²=ä8·cäèN¸¤íd{ (ë·ÂÇJâ#„B!„âî'I€¦î fNT°æÏCüþU(&#¾m0qXgÜU!„B!„w¿Ûr»Šµ…Ü®"„B!„wŽRB „B!„Bˆš@’B!„B!„¨$É!„B!„BˆA’B!„B!„¨$É!„B!„Bˆá–!ûï¾ýEQktîÔQ‚ „B!„w)™É!„B!„BˆA’B!„B!„¨nùv™¾/„B!„Bˆ»ÌäB!„B!D I!„B!„BÔ’äB!„B!D –QŸäƒ‘²2íï+¬q­ÛœŽ}‡2~Ò Z:«îPEMdn|„û_9ŽºË'l[xvrôª'Ò)¿0eÈÎàË´ŸV3»‘V‚"„B!j™É!Dmd."3.”M_¿ÆÔÁ³p_&&‰ŠB!„â§0›Í !ªÀÝx.µz} _ r½”Ñ4)ÊNääÞ ¬øükv§dÅÜÙh¾[άf6rïvº}<Ûo.;Š[óæ__1ÀE!1B!„¢”:®_áϾ'Ñ¢6P¨°v©G»Á³ êÞ…Å3g°<ò,_½ú#ý¿{„rƒB!„âuqMŽïÏ ðŸÓ!j ¥C3^ŸÁß—r.j%ߟ˜È+íl%0B!„Bˆ{sŒ#!¢vÓ6Ƥ–ÙìXwšÂrï—daÕ»O2±ÿ}Üí~FÏ|åGSPv!s&›¦<Š/£‹É;¹–÷ŸGßÎÁ‡Ð{Ô£¼þÝÒ ­™‰¼3YøÜC éb)»k&>±€U¡éÊ|.cóct &xüwÄ•\eSÅá¼?(˜ààî<·'3¿ûq:3ð½pt9Çøéõ ëÞàà`º x—V„’esá9¶,|šñý:Lç>#˜þæ/Ϲú*&Ž×eu8I‘>™–½ÈCƒºÑ!8˜^C˜üÜlÕa¹ *Ÿ]³Cî>—Åa¼Ü¯ÁÁY™d¬ÆRÑãP–ž”½ßðßéÃèb‰ûiÿå»Ã™Å}Ǹà`‚§¬!­LÔ(Ì$6t=Ÿ‡®ç÷aÿcñ ýð֔ݠ‘¬= xà“õ$•(çÆfÝ'‡Ù²û)¾þøm®·–„žÄ ÿeÚ«‘q±·R@Q‘{áݽØúÄ2>žÒ[…—Ãi«:Ä¡¨ìN™Ä$¿ËŸSxf[ÒÇŒ r¤lÉÆÌxûelN/o\ Éd¥ŸäÏ…3‰LŸO×£ï³âd JG/¼ÓHÉIàèÚ<¡cÕWâqßo6^€!–_ÿóý«|<$Oáôöe<·ïÿýù†zkð @o«xýsœ\lhÒ¥>þø[W׺•9 ãôŠ'˜öéQô¥/©:RÂþà“Gÿ%ì±û)Ÿ‡*IÙÈ‹“_a{vé Z[¬ôy¤Eâ÷±idz¬ülõåV*!„Bq£á„@ˆÚNƒGc_KÆó|$çKG¦¦Ü|øŒeÀîÕû)–ü±›ûþåÀî?XúL_|€„u/óÒo å­‰¬úd=I™»èwvî?Èþ¿óÅ“]qŠÌóËN]1c䲡uÌOÌÍ2°víþ _þñöígï–ïymx= ˆÐ…ϲ(Ì2ËAéÂð¶* ’ »S¸|^ƒŽSk·‘ ¸öMËrϨÍük[ìÆñÞú½ü½a=[v¬á¿½ˆþq+"óà'Ù³}¶íà§çB°L'eã9ý¥4ÎMÇ ÎoxBýyð“ìݵ‰u›v°ó‡çèbèöðÙŠÓaEÓ©¯óî[ÒÎ  1S^{—÷ÞšCg×êéÊ+{ÀŒîøÌûô(z´´xè#ÖìØÏþ{Ùòý+ òÉäï/~"®l!æ<.|×’àh0Ž¿ìâÀÞ]ì9økÞ ]Ì’Ð|9U…B!„$9„7¦²sÆ@—UzKE I²6ÔmžeÑ[“i_Ç% ´®C»Io²x~;´ ûâKŽéÊo19Ë>bjˆ/v**{_‚§¼Ç7/´CįZÆœkÝ‚PÀ±o¾å”Tmžãëw&Ñ¶Ž J”h]›2ø¥e¼ßÏHá×¥ÿi”.„ BDlØCjÙ,GA8kwdžÜ?¢)W®8ÈœOÑËÛ2M@aUþŽÁ·´‹lýÌfßç‰@aK£ásæElÖ…tÅ-ÆKoEŸ·>aî}žh–r회fþ¬@2¢RÑßöVqÇÁ”ÁŽÅ«H<Ç}΢¹Ý¨g¯…×¦ÃøïÒWèP~6†!™ƒÇó[úüg}ým-_L êõžÍ3}}pt´%#&“9U…B!„$9„vá–c{6œìéóèPê•¿½5¾¡‡{ŒƒÉ—Áµ]¦3òŠÇ´hðøÂCl:}¹EQlý7°¥ç#ñ-_¶Ò•.À 0ÙÌ©KWæ2‚ pz={Ò.e9òÿÆ®\ÀgÃ[_Y^£!ô©wy]5®þ¸ÐŒ‘½¼/¿¯OãF€€ “¹jâ…S/Ƈ¸”ëU8Õ+M®˜LÜö§ßÄq0çe}h Ѐ‰[aWî.•W/¦t+—fR¨±Vè8½/‚ܲë–(œè¾`Û·obÉÄzr¥B!„¸!¹fâ62›Í(Š»®^F]¶åöì”@q<‡ã 9õÍ+Ì[}•|¨1—3:€<ÒrÿŸ½ûŽŽ¢j8ü›ÙšÞ Zè½÷.Ez¯‚Š TTDEP±`A¥X?@@:H。‡N ºÙ2óý± L61DxŸs8$;™Ûg’ûî»7? R´AYü2ª¦wI*gä÷-Iœ8³N¡¿ýˆŠ¿bŠÑ ”%c.\›²ÖŸ¸h;Í¡( ýL¨Aµé\ÕÀ®]±hKݺæGÕãØûÛF€"ÚR,£=¼ñ¾µzJê ª/Ö[ª¨·ê6Û‹°Š´fÔ3 ÿÖhÉI?Ô²íã´ ®J•¼ýzñ¡dÝ¢°êЗL…hÑ¥<ß~ˆs?  ÙÒ*´ëÒžæõjRµ\!üMŠÜ8„B!„9„Ùå :âœûS2BK“× zÂ5bl."·¯»y…¿±—¢ß41÷Ïç‡!ß5”߈%!:Œ>DKŠu\L„xg²ØÌ@>?À–Hl¢ 0¹Yé\î]ü} Q»¿‡ß6'%èÒª&2$x’)¶n¿öÌ^Üksùœôƒ+ù2 ~ùðËp¨x‡ø¡Zº1Q¬Ï§|ÅGŒùr5g£÷±ø»},þ ˜òÍ;ðÈ“OЦŒŸ,=B!„äBd5›e÷†ÓT¨D^#(ª £èeysÑtÏŸé¥nKû‡Ý…ža€@Ç™âÞYÁ`4f@PL÷ÉåÀ¡e–—» À€Ù \Ÿ@ÕêDu».d[tý9—­6 \7š̽Û]ŽÚëæî¹a‘£~0˜Üg ÎL¯ÑœNþvÈBÍÇÆ1¯W G·­eõ†Ílß±“ýgb9´j:£V-aëøŸy·iˆ:„B!„Gò÷¢8ûñÌø ˆ&Êà`¦P@ 'c™Np“â㈋OúÛ„öâ¡‹dx–v'â,a”ÕàFˆÐ.•qÞZâYŽÇR0ðF*jpm:WUA?Àï[±eîvì¨TîÞ„ü†\lÄÛl¯{QNúÁP@€¨c\JÉè ÑǣȬúŠ9„Òºñì[3eÞjVÏúˆ§ëøQ,?#)r½ !„B r!2¡ÅíæÛßq  D/­˜º)¤%œúeM@k—Íðã^“öO KÓf4ë<žý¶›]Zµ‚ãLHçV3ï0@µ*e|ò)Iýb‘¬X{6ƒ`‰FÌÖ­A¥tÑ 5˜Ú«¢¢±wÚ|¿Ã Æôl˜'wov·Ù^÷¤ôƒ¹@M*úö=,ù3îïÁ ç6þqóÃ<γ¿ñZïnt{l,ÛãÓŸaÀ¿dsžÚp€èc\¶Ë5+„B!$È!„HOw’{’ ¿äå^™~\¥O¿Ó‡ëˆ¢P«OSü€K3ÞfÒ¶+¤bAOü“éÎ%nÞ‰²^·äqá'Þýv;Wµô•½Lù%GŠu¦}qsÆå3„ѬgTàÔ÷ïñÓ„tyëØNÌçƒ »pE:w¦¤åæ[ZpíÎTUÈmDê`®Óƒ:Á¹|«»ÝöÊ!-7W„䤼+Ò³m ž|Éú¨túª'sl·|w<­þõa IDATÍÜè|H>yšÓ‡–òó†Ë·|L¬“¨½;¹RŒ¼f¹|…B!„g²'‡÷¹?G¶¤öH?`.O¿O&2°\ú™·‚—y³é†¯9ìA]Ùߦ;-«äG=†y¿±# x˜7VÆûowc?>O½-iS¯ ¾×ްuÅ öÇ¢Ï[½(fÊtvMþ¶Ãx~^¾<´Ÿ¯žx„[S·L‰ÇwòÇ‚îOð(܇·ûçÖyoÚ#+»wk€7 {Ô$0×·¼¸Íöú‡·m³H9Æ‚™ ñª\R5«SÈ+»•<Ç”^õ™âéGŠ?Ïœ_ž¤è?î/*NÛ?^aÉ…ßÒ3‚VS1¿“È+ømý)Bˇ’|è2­PükÒ§¹?ۖDZydú¬éBó*ÅÈcŒ#rÏÌ[A *åûô ”E®g!„B!A‘žãÑv"öBÇÊŒ¦øäžsø¦·~j§ýEèì/ñöþµ‰m—ú Eý`yËX`& pyê>ܑ޶£b`VBi9fÎqoòþ‚£Z:•CKo¬Þ‡×G ¢YõoAŠÚoLõÅ£øfû fì_qãwú¼7ž—ªùxÞjÓR’ǾüF ãË —Øþût¶§;Pý ÞûÕ|3HE ¦V‡Š°{?ø?D÷jþwg[Ï·×?d-FóÚ>¬X“È®©£ÙE)†üþ3½½îà¦#®œ÷ƒÔˆ?¼‡yèhæ;ÀòXž:.J=ò ïטE¯×/ƒÕÛý‰2Jõ†}Á«ÚH>_yšk~åÄšôCµ(ÍŸy‹7-ŠIîàB!„" Ê‘†enZð\zÃai•û>ÈÑÄ^ó(Ô,øæcF ¾·ñViÂa¶^ÅÚ¤.ÆÿRøì.9t]GQ”ÿØ ÑHºp€­[ös*Ú†9oŠ—©Jr¡XÒWEeéS-y{¿zWñE#ÿÜÈÆ½'‰±[)Z…ú *QÀëŸLò\;±›Í;s6Ö†1 ŒÒ5êS«TæL›1™ývæÉ91uþŽ#ªá}/¶×í°_fï°ël2æ<¥hÔºE½ss\å ´$.Eìcמ¿¸à ¢t½æÔ/éËåÙýèðÑòöœÎü×+`I×n §÷°óàiÎ]Œ&Åš—‚…KP±FE zË“•B!„"{d%ÇIAñ œñDüœyaOpmÊï$_R±´~‹¯Ö#iH+bÊþL±+¢ú…_8Ó÷|§, HYGôÄ? ­_ÃÅ)D¾AÐc W¾Ý‡Ï§sŒ›Îå‰?’x*¥`mžMžÆ…áb&ù íŒ1úGÎ Ú_g…kÿ[]+†ÿs#ñ=ó9Q vàÐKà?ä[òµ*„‚†vt—'|Eü¡‹§*þÇ·uI”Ìòx¹ Cr-*µÃ5n!ù«Ä“0yQó7ãH²`¬Ò›ÐQCñÍkx@Ç‹ŠwXešu­ü‡™•ü•¦{åÛ»E¯M›âµ³HŠßǯËc€¼´ì\ïÿJ{ýæPª¶íCÕ»ø«"[ýà¼ÀŠO?eÙ%_êz“žeëѶl½thö®9˜)Y£À-©ø†× Ix ¹E !„BˆÛøk\ˆŒ&ŠÑˈÙQ‰|Ó6RâëgQ×|HÌ_>øt¨„¶av;€ çæ¹ØÃ{áW(ƒ…äQKˆ^LИÏôZÂÅaÓÑ;}M±¥ë)üd £ŸçÊ){æùHr‹úƒk ½(4gEúz?îqb¬/SdÁF õPˆÿ~¦»<×6piÈx ?¢è’-„¿R™äñO½?1ó<Žä#èÓÉä-DФÅä¯î¶}4{gEûàgöĦÛFT‹ãÐì1ŒÛî¿&oLáþh®zÎ@± šSC ª &_Ôë?š–  ×…hô3ßÙiúõÓu{"J„¬óHG­9šB¯ÿÄ•Y9ñv"¦½ î?ùh‡{—‰àÅñÙ{ÞÊtxö-^n"©X¡?ÿZ¿NeÆÒ;u‹.0†S½^+z<Þ‡æ%}¥o„B!„9Ä›† ÄT ÄÃÏdÆ»ce.M]J’y5ÎÊ/â”ÉtEQSS1¢†ú¡ï8‰ËÕÈ—ГpDÆ£ Hý™Û}W×€ˆZ¦?E'?’ú 1.´³8,ÅP'³™‡†vþZ±¾äÿzù“#Iœ1„ o&ažù6V‰sx2Á´™²“6ÿJÞ~Ôþ?Ö —n¸'î0¾ÅiöÔ{4{JÚB!„BÜíÙ®xé‡+þæZBòß9ÉhÈjôÄ5¨Qxw­…!ËØcã¾XÏ}EÔü}8bIY9è}a´+y‡žËW1ÖysiÎq±Ø·}Çù¸rÆ™óh) £íËÙW? þÔU4»ËÝ^ùðJ!„B!„¸×ÉJŽ’ÛÇm8þñ-/›¢àÂo³þ4Š€:VvpþH[òWòËVŽJ¾.„½Ì¥ÏžáÄÄk¨ê0òk‚‹[àªVp ò}x‘ËŸ¼Ì©/b ¨~OKh5_¸èáy÷¿Îå'êâr™0”nMž÷^UB!„BqSŽ4,sÓ›÷¥7–V"—躎¢È†‹B!„B‘äq!„B!„BÜ$È!„B!„Bˆû‚9„B!„Bq_ ‡B!„B!î äB!„B!Ä}A‚B!„B!„¸/¥ „¸ÿ¤¤¤pöìY®^½*!„B!„x`HCˆûLrr2R¦LTUl !„B! äâ>sæÌ‚‚‚È“'4†B!„â"oñ qŸ‰' @B!„BñÀ‘ ‡÷!“É$ „B!„xàHC!„B!„÷ r!„B!„â¾p}ãу¯wÿ¿`¡´Š¹¤K§ÒB!„B‘KŒÁó6¢iõuMÓÐ4íúA]×¥…„È„¢(׿VUUUQåúÿš¦át:q:\¸pAM!„B!r‘Ñ`0`0ÐSƒi p‘µ´`Æ­Á´kHQ”›^B!„B‘{Œƒáú„LUÕë_ !²'} #ík]ׯÿ“ ‡B!„BÜ׃i³Œ¾Bd,}#ý×i~I€C!„B!îcf“4!DÎÝz-ɵ%„B!„¹Ï˜~©½âö¤­€J{tEöäB!„Bˆ»G‚Bä n!„B!ÄÝg” ™w–ìg#„B!„ÿUš@!„B!„÷ r!„B!„â¾ A!„B!„BÜ$È!„B!„Bˆû‚9„B!„Bq_ ‡B!„B!î äB!„B!Ä}A‚B!„B!„¸/HCx`ã茑 ú&“÷Ä£ß]Ñëøxä¶ëÒJÆšNDÊm$è8Åœ1°ð¬ÃþHS!„B!Ä’9D¦ô¤ãl:¬S0ÜʩͧÝáÁç_¶ßxo§)„B!„â¿A¦‚": G6qÌZ‡­ü:i3®Ö¤A°;.f;2…—§m±Ãü±õ8q¦ü”oÒî‹¢Íü˜%]ZÂa–Í?CÇò%ñ7¸ˆ‹XÍœ9rÙŽOÁJ4íÚ…†E¼PtQ{3gÙ.NÆÚÀš—rõà‘&¾ì˜üÛ®Ùà«ñ$=5„îþéÓÔˆ?ššæ¥dÌyŠS»mwZW A½²/¾>C£V^l]±›“WÂjtä±n5É£^ãÐÒÿ±`K±)FŠ×§sŸvT ˜ B!„BÜËdÖ&2¦]ãЦH‚êÕ¡PXUê†^b˾\é~$åÌRÖ9êóô[ï2´w®­˜Êœ¿ѳ8–av±ÛùéÇíx7{†£^¡GùX–Mý“) ÇïgÎì? jù,ÃGdH¯²\^µ€} !<4ð)êÓøù¡3‚w‡?Cce+³—œDž€B!„B rˆÿ וýl¹FÃj! ÁT®W€Øm»H ˜ËÑ®u%B}¼ )Óœ.õ-ÞpŒ$ÝñŒs#j÷ÎhM»êðó ¥\³Þ<Ú®>èàSŽÞ¯ ¦[õ‚X̘­^˜; )žv Ѹz`#§C¦Sýp¼| «ÖŽvÅbÙ¶ã@WóP¯E5òYMø®D¥<.âl:ŠÁ€âJâêÕ$t¿p>ù¯u Ç,ÃB!„B!îiò¸ŠÈ0è½{+çlQÌûh Ð]œÚ5v\lNÇB& ¾ù4+ׇRPÁ8|…dÍÓ1%Ãü£“±ä Árý”Ê× IW¸ˆÞ·ˆ™»Ï¯ø’×BR–» j$_MÆŠOZ(O1êEJlš»äõ5¤¼ñ³–ìÎ3Ý7²~ÝŒù)…rõhÚ²)Õ½årB!„Bˆ{™¬äç¼ÈŽW(Òé† {“7ß|“ao½Bç" ìÝzöúc®„‹\µ§E\\= ¼°ªže4 ½-¤Ä\åú)ŽKl[¾–ˆx ÎbÚF# ™¡¯⩞)dV²Ú^VœW.“”¶aªnçJ” sWêÀWPþ–ŒŽ-ö2öü xä…Œ}ïeÚ8ÆoS—“ú.÷äãóýx[jܘ&ðÑ’Èë}l?»œñÏõ mËÖtìû:Sv_ã¦ýgµ(V mK×bK{ÍužÙýÓ¸qSš5kF³fÍhÞí}ö$g]šå—›õËi9-v #Ú4¦÷'pÜf9s–¦§6ÓI<2—wŸìÄÃ=D³ŽOóÁâÈ\$Ë1‰îóäìs7=úæY"[G=Ï'2©±ã$S{?Ì U×îÈ'@e[Ò.FuêϬsÎÛHÄÅÅ/ѾEs7nÆk[ïNÙÿ­6K/y£;÷cÚ)Ç]ê‡;ÔÖw¤ß…B!AqWÙÏnew|aêU#ÀßüòS©^’öoá´--fpˆß—îçb|Q‡W2w“2Já£x8–aŽFB«×%oä–ì½DbJ<§6ýÆÂm—1šUt§Íè…·—œ×8ºþŽ$ÙIqÞ¢¤8´¿ íÀJ ùƒ["‰³%raÏb¤vÍü˜y«W¯fõêÕ¬š;œj^Y×r˜_®Ô/§åLkƒ8v~÷-Ù»Éz*gNÓôÔf)G˜:r*WÛ~Ì‚5«ùmTööË/i¹ygáÔÊM8KâòÊ-\În”ÃÅáÈÌ÷óÁX€ö£¿àµZ¾ÿÁkÔ@þNŸ³hù,^+ëu÷²ýO·Ù¬­…B!Año³qzó~’ÃëRÆO¹i¨ø•®C¸ý ›»wÖ0צ†¾ïƾ˄™ hÑŸÜ4{:–៟¡ yâÑ*\]þ%ïŒx);}iñXŠY|+v¦UØ!¦¼;œQMc§¹­Ëilœ6“® J•0±ë«™qìæ÷¡ÕÀšôy¼!lþ÷ß~—¯–_¡rŸþ4 3z¼$ª÷¤cÉó,ød#Þù˜_…Òæ±4݇ݭ™(Úñ%†v/‹j °|jøEs"Ö³ƒågËñh‡Òø¨F‚kö¤½ß–DØpžýa/Od[ÞÇÞµÐÍA#—kv3^ÿìö’ãür¡~9-gZ ,ñÀt¾éÄ3uþ6æ]fÓ¿qKFìHÊV9sš¦§6Ó53ez¼Ì+Kºó«ð•}c9}%—+ÙOódždjöëKéóËÙr=Ê¡c;µ˜ŸéIǶ-iÙ¡?ïÍ?N²¤fÒSO3åøI~|º -Z´ Ó°MĹ#5üõåc´iÙ–îO={K G'éèo¼Û¿íÚ·§}·g™°òœ{õKò.Fuy’og|ÌëƒлC^ø~?ñYÆw4b6}ÆÀŽmèÔóq†|·“«Úül'2v`O:wê@‡žƒùzsêFÍÉ»y§s_>þ~,¯ÈcÝ{1äǃ$f©Ë¬.ÎÏHûÁˉ¹ž¿ƒ?ô¥Ó¨mxŽÑeÑfÿcÄã]éܵ+»=Éè'±e§œ™žç¡o˜õy®G{nÞ™ÁSÓÚÅC{zê‡[W‡Øö3¶ÛcÙX-’Ãü„BqO’MÄ-¬”êó.dpDñ¯ÁsÖpÿíx0S¥KZt¿5L’ù1ò<ÄÑ¥fÕŒ×Þ½1+´c`…vÏØR‡žxƒ‡Ò¿öP§}Ýû ªôNû&}šüK· ÿÐO3¸¯¾ß(]l#ˆú¯Œ¡>ù©×ûêõ~ºÛR˜æ= _ÿC?ùø:vÚŠ3(ÌŒýìQ®ø'Ÿ5uJm ¡DëN_C­ÞƒÏíØ9öí4nzvBKâjb4žfnÄyRüËÐú™a<ÿpA›·Ú£s˜_.ÔO«î•iØS9µê^¨)Çøõëã´xë òÏø5ƒ8š7AyBðOÿÈ•‡rºç¦ÿNù\[Åoçôk¸R²åüC¨Ú(”“K·­ãü&6\«D·&1+ ^¥zñÅÜoéžó¥SŽó[Ø_‰M `BÁZ¢5íÂN²æHêc/¦0¶ª€¿ ¦¼å(åÇ¥ÏÏÏ8£ö±ßV†VÕƒP1‘¿QÊz§æwq3ë¯VâÑv%°**þ•»Ó5ôM݈Ƙ‡:-Êá§‚\‰zy/°ýTrŽë ä©G÷ çX¸ñ®´’«1oç1 ňÅêàøº•l?q-¤!/Ôs€#‹ó²ì[c>uk@~“ŠWÑ:Tð½Æ…x—ÇöôÔ9/w9?!„Bä.YÉ!„Àqnï¿<‰+]'0¶cAL€Ëì‹É™ŒÓ«2Í»t$0Ÿ”d'&Ÿ,ö„°–á±·GÜø¶n?+¾„ßö]¥O‘¼»Š¡ýR7"5ä§óÄ)¼TÁŠ’Óü-“4s£~žÊ©_\Ê—kË3èÓ˜³¹5j–ýp›izâUím®~™3Ûfðþ;¯òógßðXqÓmµuÆ1ŽÓ¬ZCѾ• TøÖ®KД¥l‹î@ËÄh’Íø®‡l°úÞÞ,Ò•ƒÍ‚_Zšòxk$\µ¹ƒŠŸë«^Tô,ËÐl×H1ú‘ö–bôÆÏìþFKŒ%1~+ïöl‡IÐq&딽jsÌTo‚¼R £Xñ5k$%8ÐÈüuPB©Ñ­Ÿ}³Ž »’¼rJ³w)y; qû€˜)Ó˜ôÂ$"MåhÓÿ5^ìäÞg)'ç²ê[ÅŠÚnÔŠŠª€¦ƒ–”y{:ƒ2òÔ¹‘ŸB!$È!îAÖ2O2zè??&î=®¨5|ðòw8›Ä¸öE®Œ¯9´ !ñk¸dy†¾¯TÇ ~¸l¥hÑA-ñ4{Ø(U« þ*€†KS0˜Ü35°£~šCwO0­–ÛÊÏSš¹Q¿ÌÏó#nïìýë /u˜ãž(¥Øq1Ç®~ÊÔ!•°þã~иzifšWÌæ­H A÷¦„™ü(Ò 7½Âãç}1ô-žßcý=µuæ1ŽU¬¾èàâ„4™p}†ËÒ1´*‚WÊQâ¯oÑáàê¹óØB “ß+g“IƒO^)7Òt%dÀ?Èšã勪ųýÉ©Ë|tÛ®ØÜß|óâؘa3ÇPëÖÝ•“#Ý›ñ&»“ûq.›Š·ŸÙcY²ªƒO¥n4HϪã‰ßd¡õØ"Üî¶Aj`%º¼ú1]^±µoï ÃÜjßóX«j2;¯··‡¾õTwíéŒÌ¼@AUt\ißj)$Ù³^–óü„Bq/’·#„x9Ï1ï‰ì0Ž‘nÔà´-ÁOó“¨9¸¼ég'×£Cé,¦Õ¶~yg8_oŽÂ¡;ˆÚ>“gŠñp%÷ G5ãBHH!!Aø•ÛËÏCš¹Q¿ÌÏó&¤õç¬X»Š•+W²rå">oJ‘Ç'ócº`„ëÒ"wz„ö&g£Ôœ§é¢&°ýlj|³ö)ºŽíä–œ´R¼¨Ö¿2këÌCœ^½†˜²/óëšõ¬_¿žõëWðM×<]¼¸°4ðû“9kÎá@'ùØÿx}À(V¦mLªñR®qú|")ñq7>j:¦õ©—.ͤ£ËXU–Vå|s|©óV¦‚5‚å»bÑt'ÿø£©{ó×£qÀ~~]u;àŒÙÎ÷£'±åJêdØÅÖåˆÓÀq~+k/¤^QëíÕÁZšŽÍ4–~ÿüÚÑìvwF¶çÇ7FðÛ©PÌ„/CEÉñy¦‚Yômfmí¡==õF?òY¯rì|2:W÷­à@œžå*ç'„Bˆ{’¬äâæ8»’yÆqæÀÓ´™–6™ñ¦æ;3ø¨q~Z…cï¤ûO×0¬Í#£_¡’7hQKxåñ üiÓq9]èíÍÃoÙ1…V£Ë°wéX0‹Û!§ùUÇë×/§åÌ-™¸+WðsèÙ,§Öó™AšžÛ¬1o¾sœ±Ÿ>IË÷’Q|ŠP¯×(UÉ…Íì§Y½æ•žzˆ|×[°RªS{ò?»” ­yâý|òþ :eÃe.BÓÁ£é™¶zÀRœŽÝJóÚðŽ4ÁL@énŒÿâ9J\ú…žŸÆ »†=ÅþgWZ~h$Oë LR‘þ£ŸdÂØçéò ¼KÐæ4Ï«BrëáU'_nÄö õ„P*µí@í<+pºS1}÷i>~ÿ%ºNv B¨Þç z¨˜ PÕº˜¡Žåì…²ýÞ§m#)‡¿bà+ó8ïÔHIqÀ›ha6Q ÛD&?[:ó:¸Ã mÓËÏ“ñ{sDº¶õp½ŸöÔfeiñp ï éÁtÍ€ªR±çP:Êâº5Éü<µTæ}ë©<µ§ê©Âéп.¯š'~ ¥`åºÔ.p‡‹,Û:Gù !„➤$''늢 (Š´†·I×ut]GÓ4\.N§‡ÃÝnçüùóÔ®];×˰k×.Ê•+'!Ľ y£{B‘‰Sx¢èýjíÊÞ°„Ö“?¢Y°,ÌB!„y\E!„øïÑ8ðë4NUïIí ùU.„B‘Fþ2B!þK¶2ª{'ÞÜ]›×ž«¯,ÄB!„¸NWâ’ÇU„B!„âß#+9„B!„Bq_ ‡B!„B!î äB!„B!Ä}A‚B!„B!„¸/HCˆš†²}"–jùðöñÁ»p=Ì“÷ƒžz8Ö‘I IDATâ'Ìõ ¹•i‡iUÔͧ_ž‹%ÔïªãPí©¯%mÅîã>çú¿:O9³.NNòËÍúå´œ8Q¾oé>^ï[çm–3GiæRýcN”¯ëºóh<ÅeGWÕý}Ï?ø'[^+Ë:áíã‹eqœçÔc1´HW·vKÈÕ­µ³“_Ü",Y”%Ûõ CßBx ÞžñáläwGûxáëXK§¶A Öa;³wjFå¼Cý÷ÏÚS!„äBü÷%lÅôÈp ‘¥q¾>gèAŒ¯<‚iŸ ì˜ú=‹1¢$Α¯ãÒÖbê3CŒºåÈ"L ÄxKš®D”$ úkاN%eêTR~úW^ƒç²ä4¿Ü¨_NËy=°°óÛ›îL9sšfnôÑí:¼õZ,êÊ“¹›âöÅl ÞE»×Qvòóªã穤¼UýæØUN%ưåJæÇït~ž8Nb5 5¶6Ž_‘²xö¾%³wnFå¼Ûý'„B r!îW/BýŽ8?›Ž}Ôho×"1œH‚È¥€þÜçØß‰ýÓ–°ãöxØ;kõG0ÅÔAó½%Mgº>%ÐSö`Ø»Ã_ô€ë…AY5K•ÔU,ka™¸EôÔϺâåïƒw‘V˜6_M— †²ýs,õ‹»Ï+Öó¼ÈÔcFô²µÑj—Íþ_ÅÐ=Þ> 1F¦®hIÜ‚¹¨ÞUÆ¢Ú](kGc)âίxKLË.e_Úª„À’XûöÇ2vwº žêç!¿óÓ°æi‚ñ"(ß7u¯ü>jJùyjë=oºÇÐø1=Ž·^'¢&znAeY'¼«b:$oÀôh{,íÚc^Ís<–ÓSÿyèwíéáZB!„9„÷‰B]±ÿ2{ßâ¸ã¸M@\}áü@¯\PÐ —Gdžràë‹}é’7ÅtKš‰1îÉϼGð +†WX¬EÉêñ’œæ—õËi9þœˆyªç§/£Y28ßà Fo0«Ù+gNÓÌ>ºÖâhá±fýŠê*«Hê”öÜ,ÌÝ?À ôÂ>o6öfцwôú*œ˜‚ù­å(Å`ÿ¶ü–îˆè%˜;Ãp¥ öU`ouãcý0žpä¬|JZÿfÀ^Œë.»_;4Ch}»£Ù·bzü# ÎÞ¤,þ§¶ Ó P“³J×mÒl‹Çü}U‚§ú%xÈ/oì³_Bô“°­]‹mÖShæ,òóÔÖ&«û‚/§Ã“_cj´û˜§ØPý±­œŠ3 íƒ}ÅZlk7`ïæ¹žÊ鉧~÷Ôžž®!„BHCqŸ‰ßƒ©{+LûT´‘“q”2£ØâQP á7¬E1ïv¿§ªÄÙ °"®ÆåÑM¼óŸœÞ*„6Ç1écœõ-¨¿“Ë@A¯ß—Ž:sŠfC»…ò¸ºKK·a[õ!®&qU5ÁÅC()YV½tu´ê¥nY• {¬ŸÇüL!hÂÝéå+V«Zùü¸—BxÈ/Ó¶>ˆ¢¸Ç‰þðH}ÚâØ”#YìSã_­F%toÀ» ZÍZhµª£å1gÑf™•3‹^Ê´ß#=·gv®?!„BÜŒÒB<àöaêÔ Ó6ڨ夼VЭþèè …ãø%aô@«çôJ Æ5øÆ÷ÕÏa¨÷ êÚÐ%ÄíÃðõ”Ô«W‡·p–±æt@½x%:°¢çóT(šš–—Ý“oõÅÒx¿˜®öŸŠç¬]ëálî‹aÅLÔ‹¥Q?•ã,jW †/ŸÃ4kwºÀ†FÎ7¼pA¦õ´¬òû§;!Ó¶N÷ˆVÑÔþ·ºW)ÎÛØÑC»Ómæ©ßÏ¢TóОB!„x`ÈJ!dÚU úcÚfÄ5n-¶¡uÑÓî …Ü*åÁ9þ]\ö(x£WÎï9͈™˜^ãž÷÷öÔõü¾©ÏY„-1‘¤ÄD’cIiáw{ùyJ37ê—éy(+¶ 8÷bjX¯â-0ž ÇZw4ª-'ý`Ëyš·ÓG9ië,)èÕŸÁÑïI=Ó6¥4¢‡I(—R÷‰;ï~¨pzÞw\HpN¿ñ«+Ÿ{«^Žm×®ÿFWÏùõ  =ñ0Ø6aœ7 ãiÐú·G7‚²a8æé»á…Õ$_;GJ³Û}À™Ö/ùéú? v!Ó¶¼©Ÿî”;ßfžú½¦‡ñ"„Bˆ‰¬äâAñ ¦)çÁ·zÌ|LÌwO<õÇY·ΚÃ0O}sÐC(?l€àÞ8kûA|†•{Ávõ¼ÃÜÿ¡l€«`4†I_ Î=‚úd9”Yß Pg×RžËR8‡ù5.xçë—£r†¢‡Ï!¥OjäÁq〗0ø<ƒý‡îý6¿ˆW›Yèïo½±d>Ór>ŽkhÓÌ>º]yšáø¦p CÚ„º~?\æ>xcP˜>…|8{UDëˆÆFÔñc0úUDýd¯ûôšOàò[ŠáÇ_QkôF?ø=¦ïÏ }6»ÏyÔ#W ñ¨{Ê~-uG^tÿhe‚=bê>Ëw>†±_ƒRGÛBîC)© äË(‹aúÓ \DÝWUjD&ù…Åf^–™×Ïc~ _~t¨[aت '»ÐëÖEwÏ<¿LÛº:Ëï|çF›yêwO퉇kE!„äBÜ'Îïs/çJØ„ñ£Oªiƒ³Q%œÓ§ ö}ãØÝP¬5Žï&à P âwLýF¥[ 6ÓÓó¡þ$¯HÊ´SXÞúãØ¿Îo¿Æ^ÝÛsYLÅs˜_7tå×/Gå4@@=\¥Ó&xyQ}Áà_W­b7Ö͹’À™v-{åÃ4/äB冂½°ÿzó«_bî>‚«àüôkõý€Ç±¿¿ˈi˜‡4ÅñbkôËPRœÒûü±˜_üs»)à] ×  8ꢬzk·?nä±g8–&@ÍoH^ÓïÆjžŒÔÁÙÚÜx¨ÿ®0w8Fo<Gã}˜¾ê…eû ìSGbzd4¦—&¡½sKߌó³½1kLʲ:óúé-3Ïϵõ´à8F4Gû –柀+RöÍAÛ=ÄCÝ{gÞÖ‡î|׿J›­y4Ó~Çèa¼àáZB!Ä}EINNÖE¹¾é˜â6þ¨×ut]GÓ4\.N§‡ÃÝnçüùóÔ®];×˰k×.Ê•+'!„B!„xàÈžB!„B!„¸/Üöã*®K+™0aѾuôV7Šš€äÃL{ï:Âè8ìeKLE!„B!„¹ãÎFNp⪠GôÎ:¤…B!„BqwܹG~QŽL¢i^âNç&|U iû{éIœZ÷óÖä|‚Õ+/¥ëu G«rx_ÈGŸ­'¾X[ZìfÝþ‹Ø|©ۥ/*bðp®¿ª“|z=³ç¬æàe…5šSáÂï,?[”>ï.z•¥AÓÆTòáðꟙÔvcŠyr bóPªT^ˆ?ͦÙK9•âù\-~?3'/âÏ‹ áUËxf)ËÏÞÈ×qn%“§­áˆ³ÍÚ=Lyã 6ÍüšyG“oúd9ñ ÓI>¾˜¯¿ËÌ/¦²þ\ º+–Ý3¿`Ú¼é|9k/×dC~!„B!„¸gÝÁ•!”*èÅÓÄ$›8|Î…_ùâDì¿>ħ>x·[ÂõÅYI[1‡û¤–/í_Œ§œ7×ãû–îcõ¾Eqf3¿Ës±„úà]uªý6Ë1«^ÃöÞü<µÙmùúýNŽ]=C‹tc厵Ëvð]¼||ðzïÐÝÉoç¼Ò_CáXûMD½’öü^êKÅR¯¡¯S¯!'Ê×uݯ5žŠâ²£Ž«êþ¾ç·ß®w|ìþh(Û'b©–ÏÝŽ…ëaž¼ŸëÏÝFü„¹~!÷±2í0­Šúû¸ÿ۽Ή²ò,óº_/Tó7{Qô,úïÖ1á_ ëKÿCI‘ߌB!þ}wtEƒqJj¬;p‚›îkàÒõ£:.§88»k+/&qpctꡬvÆðt®Jp•úY6ŸÈåßò}L9¼Ïïa|Ú¹ÂÕ"ðÏMì[¿*A\=°–í§uJ÷¬L=yTEdèDÑsT,(ŽŒ8Nb5 5¶Ž_Þ@ =oI÷±äö\öw±<^5pü<ghõ{í¸Q’€ê¯a±‚ûuc^´¼ézôò"ÌooÊ~>º%bÆgbH¼ õÊÍü2j³Ûñoôû»Š/Úk°]¹Ó($~‹êOáh„²éGŒ¿ ÇâS“äo‚톕—Á˜‹!êœaéÎ;¼õZ”•'ïݱû_°Ó#Ã1ÄUÇùzSø}"ÆWA¯½GùHLýžÅx¼ΑMQ¾‡©Ï`´C?ã Q3¿×Å.Çüèx þ=±ÏhòÙs˜†<ŠÞ`Îìô_ƒ—±w Fýù}Œ?<‡ùá‡Ié,׊Bˆw.wgC&!”.â^½á^šà›B(f ?Ü•á¾ØŽog[TlTˆŽ8K’Ç¿R<Ÿ›\—~O4¡d°c;÷q1ÏC<”ÿÆÙ–¢mЧ!E’þdåâì¹V:Ýѯf ü+2¿8|ŠRER–uÂ;°*¦#@òL¶ÇÒ®=æõ×àü4¬yš`¼Ê÷MÝïòU~5@CÙó5溩ï6n€yêÁÔw"5”íŸc©_Ü}¬XsÌó"Ýîy/¬ãÄôp8Þ>>xuœˆš¨ßx÷=°$Ö¾ý±ŒÝ}ã]go6öfцws×Ï„^ÂÎMÆòÆô`ÿäœå,ÙëÆÙß¡6xG« ”uïcú#Ös[{ê¿ì¸‰qÃÌŸQ —+F'Êšù¨ÁÕ¹#šÕŽavºÀƒµ8Zx,†Y¿¢ºÊã*’_¼žÊéiìzWÃñ¿¹¤Ì™CÊÄÞî@UÉúhÞJŽÇ ç2é¿5Šç~ó_Nû½PWì¿ÌÄÞ·8$îÅ8nPWE_8¿Ð+ôÂåѱ¡¸äù^W¨1®< l^zù êÊc@E´²ÞÙë¿Äh”óGQ—ÂÐê…É/H!„ÿý Ç=1Ẻ‹_¿ÿޝ¾ý-‡Oòׯ…¬¾jx% X¤“…¸ãüK¢Õ¨„î xD«Y ­Vu´mqlN Ê‘(Àˆ^º:ZõR÷=9¼UmŽcÒÇ8ë[PyóâhpœÀ8x"Jë 8šÞº¼Ú pzêqú³KI¾´Gy VÄÕ¸<º)ƒÉZõ'q…:kŠ3uÑ*âì\­B0ÊÉ3({'`éØó¼Ó(/@áhÖÔ{YûQ8ºµÃ9ì1t’P—ñœ_šú_|- Û %²ÙÚÌc[{hOýn©€cé6l«>ÄÕ¤#®ª&¸xÈýü¾‡ü”œŽ—œŽ]O2­ƒ‚^¿?.uæ&͆:w åqu)вù' vÐÞ޳e[œÃžDç*†9z¨{yŽöÚ|Rƾ„󙸊gï—Þx,öá/àx£+:”ã1žÛÚSÿe'¨2«/Öju°¼¶ Á>î!t-Üýà[­rM\eõsPÒ†Z>\CQ,D)ÑÍ/;ï.x*§‡±kFkÖWÓb¨3f£jà˜ñšwNÇ‹î¡ÿyè÷bYäw{ýNüLÝ[aÚ§¢œŒ£”Å‚ ¿a (Šy·»u”8›ç{#?½€v`4Öbå°üœ„kì8J›³ÕÊ]ñ*UË×§ÑýG5ùý(„B‚w‚©p[önH õ ~øŠ)ËÎX¥5O>V<ò¬ÿFè1ãIRÌY÷»…Ý/UÆÕ¾-Z¸.»7ÉS_,í^Þ]úET@ÙþÆ»ÂEó¸ÿ·º'Š3‹§ñK ÆOÒž©8žxûÇÏ cC]{eþë˜v—ÃùVHˆCqÎd”ø5Â>iZü|LÏvÆZ:¯Vï¥Ûh1^qö‡ý31œ>‰aÁI¨ò®pôê…áÒ> óWB”¹Pü¿½;³±îÿ8þºÎ6›ÃŒ½dÉMI‰–¹‹ÔX'k›%ÝÒB«T¢›”qËÒB›„´H!!b’ÒMZTRwEÈ.b³íº~œ™Ôï6×gLº÷óñððàœs]ßïçó½®s¾Ÿs]ßs«Qãgâ:)¡¿“OÇŒý¹'oQÅcÅ:l\Jȇyç”Ûˆ9·ñ 5ˆÉòæŸ~¬ýE8^Ê…]’[h[>cï8î‚f7¨kÀžƒ@óaîîÝ–†Iªpˆœœ‡uÌI¯U¹Fh‚°­è¾í}ãšò,®¯@µª¡¹äèe®[wôÏèß/,xœSþ³qßÿ ®¯Š¾VöM¼*X8–‚ø÷%u‰«××à?Ém5Ga VÏIþ|‚¯–ãz)Æ¿ÿ…gÞ®0;ŒÅ¼¡/&ëq½ûÎÁìßËåÄ:«Ö¯«p.<Œ9â.¬¯^À¹ÉÂjQûhÿ¶üêaööÐä¾zÒI\TñX±—òn|<ÏË_Âà(8´ oWéöáx)—hØõÁ¨ˆyãP¸×ÛoàÚfÿNX.Ô¨ äcü’zîáPÑÎ:=ùwQЇ„Þ¯ ãøÚI¤ãº(«®$ðÐ8©àŸ‰3ÛÂøê­Ðº+ß=LìÙç3k°ç’­¿åÕ:ïü}nÂß«~);i;MŒe÷óä&¬ëfàë]çèGˆÆK˜ü•˜÷Òîï8ónæàÖ÷§.‚HáÐVXÅŸâN 'ïS Œ„ ï[ ⱚUİ9×9?y%tÅÉíwl›N`PW,öà\´©èˆ “¿z—l߉à­÷8Œ¬ù8òõ(""*rˆH´I¬Žåã“Å8×~†cå'4ëM°SGá^°×½}ð<ð¯ ëü &‚cÖ{b¬xÏuwàÞæ÷Rÿ„ãóÏq|Yô¡üÐÆÐ¿<Î_q>3O>xÆŒÅqo{q|³æŠc•Çx‰4.6}À2°ZÝH°B.ÎÌç0Œ–:œš ^Ô‡ cÁµt®Ç¦cPàµMÊçØ³‹õÆ0ù+ձ݊ÀgCΛ¸_þǼUT&8nÞ7ÞÀ;ýAL' Wà(^î"µ þç'hVÊ[ìÆ™]ŽöÎÇsã«î.àX²ç¢e8ö"/áòWRÞ)Ÿñ¹ñyÜÓwC…æXà›‰;óq\ï‡Ó;8ßÀ˜q7ž1ãyðc¨œA eU,›syV ,À1e®% q=5VóšG‹p6ù3¾™kêó¸F õ¨Ûük~ˆˆˆœ.…@DN¸Êíðh‹#s1m'AÒUx×Ï%Xµ þ¹aÜ>÷ K!¹)'¦âk™F| 2ñÜ1OÇéÁAð·N†6Ó5CˆíþþÑÿøj81—ç?OÁÊxgþLÌC/áÊ\Õ/$ðÂsøÎ«Fk‚ Š'†UpTgRC‚œåèï‘/ðŒH̋ІyÛ4|WWƒm¯àîóûŸ]€{À¸hË»c¹ëÐî^!X£è›ÚÔ³±*Íz`V?«m5Ü[*cž…¡o‡oè “oŽÁÀ0ßeaË‹öû3€`>òÁWºëÄmc6Åæ…gÚÄÅ.ïi#ð§­ÇýìµÄ|6ߌâ¾f4î;Ÿ!øRlÉûKŽp¼DÈ6. múu›•¸IDAT°v,fÅ ¤'âœ{.úÇѼ׺ßœÍxî‚§ÇËPùO<‡ÿ¢D à„z–]¬× ³Ï_©x0û'8îœöÅí8Uúãïß30[Á+‰Y9Ǿ`d°gÆÊ%çhÒw8ެÃ=ðúß>æçíÀ›áx±ÍPRÞSìöaÞw¯rWãwô§`­!í \Ú”ÀËÓqô¾Wæ—pF:þ'¬è„Š6ç:çxŸÞ'óY<=Ÿ‚„zï~ ßµµ`Z)Ú´úI<«ÜXç^ïÅXn½ŠˆÈÉeX†a`ú©‘2O0, ˲0M“`0H Àï÷ãóùؽ{7-[¶,÷6¬[·ŽÆ+'o`,ïCl×ŘÓÀ{Mu…DDDDDäO¢+9DDN”#q._ŽsäÛÉ= \UM1ù©È!"r¢ìœ‹§ïŒÄó ¼2ž`²®ù3•¹ÈñÉÚOE9e´nu¡‚ %küy)"""""'‰~]EDDDDDDD¢‚Š"""""""Ê|»Š.ß‘¿]É!"""""""QAE‰ *rˆœÒ, 6/`t¿ü=-˺Ü̸%Ûñ=êÛ¹Œñ·õ¤Ã•été}?Ó¿<„ùû—›ûY>´Ý&~GañÿwóVÿ4ÒÒ.§M›6´iÓ†¶ÝÇðUAøÖD´¿òì_¤í̃+Ñ>ë^Ú‚¿ŒíŒl›å“£H˜ßãÖ´4ÒÒÒH»¬ý|U{|eÜj½ïÜI§vmIKkÃ}Ÿäý…³<ÖŽ¼—¶øûøÌÿá5î¿öÊPìÒ®dð;{ ?ìßÊŒë®`ЊCXdzÙã}]ÁWŒ¾º3ö—- ùë™ÑŸ7vÊÒûPB¬OTDDDDEù óoåõ‘ϳ³íD–|¸’£Îáë§Æ‘µÏ„Àn™Â–Kã­÷3sPÞ{t2ër- HÞžõ,{>Ïýã$Ã, Ç_‹Sßãƒ>àƒ>`żá4 Ó–H÷W.ý‹´Å18Ì/¾Ä÷®˜ÒdíÚé6Ë#GeÛˆûç­`ùü'è]m ~š/s­2lÐIõŒ§Y¼ì îk÷?ÎöóÃö<Ž¿·|÷êl¶´ÌdÑÊU¬Zµœ)Õq?ìªI§Ñ“¹ï‚ dzÙH_÷WRR"޵ˆˆˆ¨È!"ÿûL7u»ÜÉÐHp8I>û2Z$þÊ–ƒ~ÌŸ³lgcnèÜ€‡‹Êç÷¢Sâç,ÙXH`ç|†Ýý$ŸVéÇðn§áþÃܺC>ÉqÇwz‰xåпHÛb‘÷íËL;Á-­*þ×$2¸ç-ú§]ɈÏóKÕÎH·Y9*;'±•Ϣݠôp¿Ï«Ÿ¢pË"2öâêŒÎtîuÏ­9ºZ¡àKF]Ý›‰Ó2¹wÐ@úö¸–!³¾#/ì Ö"Ó|éŸAÇNèÔýV&díÂOÝsÒé®eø­~ägËK½Éù [¢÷Cc¸ÿ¦®\óð^3ˆ^ú1eC~˜v®cd×›xáõ‰Ü?èf®ëÜ•ÁӾሠxà™ `úæ­ÌОvíÚ‘1l5‡ÃôÀ÷ÓtþѾ ÷­:̾Ð#½í®¼†q_^¾ŸÒ—öWv Ç?nýcË®-v¯Ã"㛌è׫»uãêî71ú­?Á09°êInëÙ‰+Ú^Í]3Šó`L¬~Š]Ú“Ñ«C^ü‚œp—Jù·1«_w2×ÿñ8´²³Üé^V¶éC¸X—Øû±Trÿüly©/×=ù)k§&£íßI»¼¯m÷‡y¬¤ñIø×ÙåHDDDTä9åÅœNÛ^8+Þ tËÄG|QXæ5<ø~ÝDvb=ªÅM©Ý)œ™êgû¶C8NëÉÓsf0vàß©óÿ¦Üf>9y¿òï ȸªé=óäû»wsBÄû+‡þ™¶34ü‰9Ïm¦ÝéT?ÖïW9â©”šB’Ç(U;‰p›®rÈÑ ã9 ¹ÙñÍ^|¾Í¼òð³ìl;–7¼ÃkÃêóñØñ¬Ê6‡o;ksÛóÈä©Ì|îFÌ7'²(ÜíÞ™ñðt÷xŽ‹1wì…|;i KöBõ¿w£Þ–wXókQ–ýÛY±²‹º5#ÉégÏ–*Ü<І“_dÖ³½È;•ÕÙ&Ä4bÐÔI¤W©MßiKÉÊÊⱓ.Dõo⥥ïÙ"†Cf³,+‹¬åsxàÜ8 †Æƒg±tùÛŒjÿ_oë%¶Åîuf6«Ÿ™¯ß4æÏŸÏ¼n¢Ò·kØñÛ½];X»£#__È¢)íÙ7ûyÖd›`—Âï™9éj }·ßœÆ}õ7ñá0Uw õ«ùر'Óòs$;‡ü ø÷oä`ÅÔˆµéC¸X—ÔÛ“]Þݤ֯Äþ¥“™y¸Ï.ùU+gr}m·ýc%ŽÏ ýëÂåHDDDTä‘£ûV2þŸK©yó`ZU4°|ù\q8ö_%P€'ÎI ßg¿n…#‰­ZÓª×æ,]¬{êóÙã#xs»ý½ðïïOîŸýëül_0…/[ßAÆéîcÞ à¬Ö‘Iógsÿ9q¥j''`›'*G'ŽAL’_®ßÞ5¬ÊiÊ Ï$ÖpÔ¬ݪþ‡÷7-âJåÂvIt€£rSZWÙÃg?Û/âßý kŽ4¥çe5qc{f:kleåy©­éÑd‹þý AÀ·í}> ¦Ñ¥Q`W»5㩜T•µ*T5_vÞpít×à’«šäw•Æœ˜_rƒ'ç`ޤ-†‹˜X?›?Êâ³-Ù˜)—pÇð8+¶¸jVK»_Lu·ƒ¸ºÒ¤Â!ö â·‰K`ÿz¾)lÈUçU›ê—v¦Q|ØÊ$Õ$shó~ ¶Ífp^üóã ÷n&7µ!UÝeˆK }°Kaò€ÓªÉõ7_^TL4~;FKzÌn|ZvÛ —# ½+"âßõcî~†ìnÈìR 7ôTÀ( ׌¶]»\͉· €;!Ìš± éûðˆ£ÿlÕ‡¾õ–0}××®W0´OÑ"—Îê\ýätîl‹éþ³„m–GÿìÚií]Ê”ÏfÐgâ)åÒ¨aóPÆmF’#Gb]:&Ù^bªÇAÞAòެå‘^q‹F9…¡b“#žJqE«P±Tð˜äçú ]?qlÁ¼ƦX¼x…3Ôx“ÜœB,£*-º·à©ç?bO—nd}ŒÑæêÇÀ!¸b\8.<.ÃX`†k§á!á·+iX'ë6‚HÚb$qɰ±˜>“g?ÃvwcÚ÷¿;2Î"¡(öI±E78 0-0óKŽK Ò!¼®DŠïŠ2\ñ$zÂÍ.ªœ•JÞÂ=ìüâ ;§‘·ú?l¯q€ õk[–EDJèƒíHµÍ{`à©ö7êÄÇ,æë1ÛñIRÉÛ´Ë‘¡÷19D$ô{ÿJÆÞý"þ¾Ïðx§ÚßÙà©Ú”#+ù%æzßÓü[xi_,uëV´Ÿçmã«o 9낆$9BÚ iàt‡>Ñ;’/eä+oá·B°ØŠ1eÚŸÝ6Ë£%¿.‘Ã_¿Ï×ßÇç†&C^AÒ7ç f iJìqçÁ$§ ÛŒ4G‘ƺԼÛYû£É™éÕ‰­P…Ää4†Í~Œ þßó ¶‡I-]Æ™ON¡ƒøDmŽœ )Äy7òÛ—ôÁ\~Íw’T)д;çgÅæ¿qdu 陵îóâ ×Î(àHnJ×{'Òõû׿Á¨á1¯ù4úV,.í‰x|[((º4Ê*Ì&»0ÜuY±5ꓘý }l’68Ÿ'e±îÐRÚUÃó'ÇÄ6ïÅ-vºp¥,Üø´Ûf‰9ªãFDDDŠÞ/‘Ï*úÚÔúÝ×§†ñüª-°‹·GMd{çÇùgç£Gåt¨»‘WÞþ<ÓϾկònAk:73­.ÜÈk£†óÜšýø-?û?›Íë;ÎàŠ¦I¡ŽÃCRåRRRHI©D‚Ë(Ûþl¶Yý+ùuñ¤¤?ÍòW••EVÖbžîX•Úý¦2ëwňà/‹¹+£xÉpypD¾Í²ä(’X—ºÀ²USÿÅB#ë›'â®Þš´Šß0gÅ|@àÀgLý Ÿ¯•ØÏÚeßrØÿîµ|¸¯­ëÚçÈ]ó"Z'n`îÊ]ø±ÈßôïîoÄU+„žÛ€.mL–N{‘;Ò¦Vø ¢+\;mçí.âŒClÛ‡‰‰÷Èa|µÅ"}›™õÀæÿìÃCJ½†ÔLpâ sÞ²‹‹«J3šÄndÙºƒ˜V![ß_ȦR¬á®Ò€”ÿfyn ίӋS7°ü{õjŇÿ5˜ë2å=Òñy‚s$""rªqY––å9‘Š˲0 ã¿ ÅcÍ¿3‹·7fÇ·h?³øƒr<çzqiÕI~?=úOz¼rO­–\3úšÆƒ¹ ÷ô›À†B‹` ˆÅí´×Eå6ãyuÄå<8l#=qW<äÃ]µ9]‡=B—Za.sFº¿óˆ;Áý‹´¥›åp8;›D¿UÊv&…ŸØc›å’£²(üÇ»_ÆãÄP½yœt Mã à nxdÇÜI·©~,g ç]ÿ×Vt€ðÔäÜØwzC&;³ õC‡š.¼?<ËÀ{ÞfwÀÄëõôó¸©ÙýI¦ÞÚ€þ£obBæít}>ñgÒþ´­R\ÂqS·}:1¯N%ñÁTs–¢ýî0í´S.Ýpßð.\†‡Š º3~òm4Šp-ÿ¶×|ûL¶øL|^?Ö†n\ù/©é˜q{„¯ÒˆvW$3jHO^68Éü­×P®>Íeß?»¸8špÓÝ—òÀ¿z’>¡*M;t¦eêrá–‰¯E]c/;šµ¢–'ŠWbçGAzWs‡éCSbKŠuÄ ›þE*&Üø,§vÉ9‘£Ÿ%òòò,Ã0þšß2‹ü9,Ë" ñù|øý~öìÙCË–-˽ ëÖ­£qãÆJ†üï+øŠÑ×M¢ö“Ó¹±î‰½ßÌ^Ƀ7/!}ê8ÚTÖE""""ѵfÍEADDNf.ßΙÉÏç ¦e%8DDDD¢‰+--MQ9,ËÂ4M‚ÁàoWrx½^víÚ¥àˆœl¹kÙw8Ÿ§vcÔ¸TÐEŒ""""QÅðz½Z”Cä²+r\xá…å¾Ý®""""""§*]§+"""""""QAE‰ *rˆˆˆˆˆˆˆHTP‘CDDDDDDD¢‚Š"""""""T䑨 "‡ˆˆˆˆˆˆˆD9DDDDDDD$*¨È!"""""""QAE‰ *rˆˆˆˆˆˆˆHTP‘CDDDDDDD¢‚Š"""""""T䑨 "‡ˆˆˆˆˆˆˆD9DDDDDDD$*¨È!"""""""QAE‰ *rˆˆˆˆˆˆˆHTP‘CDDDDDDD¢‚Š"""""""T䑨 "‡ˆˆˆˆˆˆˆD9DDDDDDD$*¨È!"""""""QAE‘(äóù9å¨È!eâããÉÉÉQ DDDDD䔣"‡H”©S§999ìÛ·OWtˆˆˆˆˆÈ)Å¥ˆD—øøxš4iÂÖ­[Ù¼y³""""""§ 9D¢Ûí¦Aƒ „ˆˆˆˆˆœRt»ŠˆˆˆˆˆˆˆD9DDDDDDD$*¨È!"""""""QAE‰ *rˆˆˆˆˆˆˆHTP‘CDDDDDDD¢‚Š"""""""T䑨 "‡ˆˆˆˆˆˆˆD9DDDDDDD$*¨È!"""""""QAE‰ *rˆˆˆˆˆˆˆHTP‘CDDDDDDD¢‚Š"""""""T䑨 "‡ˆˆˆˆˆˆˆD9DDDDDDD$*¨È!"""""""QAE‰ *rˆˆˆˆˆˆˆHTP‘CDDDDDDD¢‚Š"""""""T䑨 "‡ˆˆˆˆˆˆˆD9DDDDDDD$*¨È!"""""""QAE‰ *rˆˆˆˆˆˆˆHTø?A~Ô~̉qIEND®B`‚murano-9.0.0/doc/source/admin/figures/network-topology-1.png0000664000175000017500000011646313656750211024074 0ustar zuulzuul00000000000000‰PNG  IHDRdéSÓr-sBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{\Tuþ?ð×ÜÎ 0£2È \TAÜÆËÈÄ. -tÝB3¡-ÝZ±V­ Ü]`‰»¥n©›éî¦ä*µ‰•Ð&´®P)«î”¢N¨\ŠAaaaÎ\Îï3ÈM*uÕÞχ‡Èœ9çs>çà¼øÜŽ ¥¥„B!„ôGHU@!„B(,B!„ ‹„B!äÚŸ7q8Îi·qÎΧå¬V'kµ›œ–6‡Ù̾±_j±_l´›ZØ–nể¿ùb†¡ê&„B¹µ†>ÁÅÖ|ñÛ-¯ ³ƒs:átp,ël·Ø-mÎŽËp:{$IîÊ#8ŽsL¼3rýŸo×J´?kù¸Ð#f¦,òNº¥!„r;ù-‹•[^³9,q"‘@ rN'ôІ¡P„ë+*~õLÄú-‰nðXWkÞ÷á°á !„òã ‹—œÑÂÊ 8Å"‘H$ Å@,–ˆ…b±X"‰„¡H(„@( …@ „B‘V«íýHæ= áÍ8PÒ~ñ"ì6qÀ¨ïñ^>/ „4”B!?â°‡ÝÈZaá"ý}CÔ£œ“s 8™\}Ðø¿ÜiÊáp¡ÕÊqœàæ«Ó¶-æ÷òT/ýîû…EB!„{XäœN[g§X h³Û|üà€œœS èN€ºÒ"p×sƒ› ÇA à:;  d²›üj±--ì [0J%M$"„BÈ ‹à8@ˆ…ùa‹]“Zø¯'ÙYÖát2b±kƒAóâéÓ§ß{ï=‡Ã1zôèÇ{L.—¸téÒk¯½6sæLooï‚‚wß}÷¬Y³„î_“É´{÷îææf‘HôÄO8zôèÇœœœ\]]­ÓéÁÿýßÿÝÿýü[œKsvFç—:ò¸”/®©»/†|Ùüûß ðŒ@µê%Kñ?/ýùu®£ƒs:†ýlሥ¿ìYZóû{Ûv½å°˜…^^#·üµ×¹|›üˆ£éâÈ×ß”NЏ†—ªåpæãYGlWÙJõ÷ì%ÝÙ„B¹&†<ÌN Pk§ E®pÉœÓ) 1|¸ `´pÂDQÔ]¢¸D?[$Y”"~âç |ræÌÓ§ÛÚàçp:!•õOž<ùÎ;ïÈåòqãÆ}óÍ7þóŸ;::º^­¬¬Ü¿ÿ¨Q£8Ž+--­¨¨à¿ßÖÖöæ›oÆ &p÷öÛo·µµ5j€÷ßÿøñã!!!N§óðáÕ••ü»š~ý|ç—:ÙO´ÚéìY=ít±¯fÜxÙŒ(fl(˾H‚CdÓÿO(—·ýcOkîߺCÛk¯˜þü'Îáð˜-5ZèéÙó\L›7:š.ÊçüôÚ&E-ågmWßÊv¶ü»?¿Ñr(í'÷5a˺wž| í°…~p!„‹!Y䏯/þë°ÛÄB¡H(B¡Ð)aD+^øøB … »šm'+š/_Ǻpádã³µÓááÿ¬Æ·¿ÙÐï½÷€gžyF&“}ôÑGÇÿïÿ;sæLWü2™æÏŸþõ×_ïÞ½ûý÷ߌŒðÙgŸY­ÖÔÔÔààપªüãEEE ,‹Å:;;Ÿ~úéQ£F}ñÅû÷ï/..·Õ×ZÏœòŒ½×ç7¿çìvÎfà»nCËÆ?XŠþ©xdç}qüxK¿×ßE‘Èzêä…ç~Ñ^ôÑð%?À~}ÆRø¡ÐÓ3à $ÎfJ»;¯ÙÚËGJFñÌŠk}¥X’‘wDÊK}õå&€®WWtмMOËé‡B¡°Ø;+rp¯ƒSuáëpØìv¿ˆÈ1ÞÞ‚~WÛæ8~À¢Ðaó“1ãÃeB¡¨änÒdøŠƒòm~“&M’J¥fÍšuüøqN׆ ç8nüøñ¾¾¾MMMuuuAAAÇW(|×sXX˜D"©ªªêÚ­R©ä#àÚÛÛ8Ífp8ÄbWI„BŽÏ¸B¡@èʲ]o ´_¼àJ®¯¿ @•žÉo ^‘}-ïíáìvÅ¢%B¯ë‘§˜ Ç^xÎû«úq±Þå…%õ½Û÷”¦š²²êúFÈSû^}õíã, ÷\öó1J€m,z5cëáÆ?02.ÒÕfÙøÎ“OŽ{"èøáSõõ–qO¬™Çî{»¤þB#;ñ©õÙ þ¨Û·â‡þÍ‘ÇÓ~önäSwœ=túÂ…FK`BvöS¯f¸ÜÉq ñòê»Á¥K—øøøð“`är¹T*å¿É €kÐ$ÆŒÓÔÔÔÚÚj2™xyy}ñÅÇ9N†al6[gg'ÿ.¾3š.)•Jív;éaBO¯ËŸ•\ÚºiÄ3+0èHJ{ÓEsþ»låW]ßq¶[دõBixdßíÍM–yÝ'{àº]/†QŽ”3+G»÷kJ†1õ} [ýöÚ­õ ûà± ¦±0íÉW·Îž¶&Òrhíëå³ÿñÂ4¹åÔ+V¸Ò"Ûéãò56û[Žg>ž‘¹oõ[›ßTZ§?þú;§âžŸØ}0ØÎ–4>÷ææçålõ¯xãø¼Í³¯*ÙxdkÖßÎö*ÌÈŸnzëù‰4‡B¹Ã"Oá=£ý98ŽszÈD¶«Œ£s‚spN~v4×ßF£±+ ò<==­V«ÓýTQžkþë‹/òY°±±qÿþýüK‰¤ç–bq§&z¯XeúÓ+mùïZõ§}ÿ¡bX¿Å6ïßgÚ´A KF0R޵àìv"¿~—7ïß@ ½®Iˆ½p¸ðplà¸âwß=Û{^´×Ô ‚úÉ—¡Ï¾õ¾…‘3ü§Æø¿QÒhÁij%g™Èg#åäç%¾_èÚ\2nv´?ùȉrIKÜ4%fd ÜÒ»•Pâ7N€ñŸ8G.X€+ÂbÐcë×·¬Xý~}×w¼c36QR$„Bnó°È3YY±€Àéäè·iŽs8ø/:ìv¡@àpâ».ž#ìok¾7¼+†††>ðÀ÷±8Ž“]mù¯ûâ¥aáM¿}ÑZQÞ”¾Òïµ7}beç iÓñH¿?½!öÙ¸l {¶úª0ŒpøËÇ…ŠGHƆ^ŸëÅŒ{ì¹@¹’y&kbß5täJ”ô0ëýuëû_]`°-õ6¬Åbc%î½zyIºC —;Î1`ø!L¿# ¥ûÛä?yä³›ÖÕ½c3Þ\3›¦iB!·iXôx²ßPRŸbtà°Ñ­õuv''èzOÑß߀³ÇÓ¥{öAèÊ‚¬V+ÿ¾%Òn·+•ß9ˆFÜüÃÏÚΟ·ÕœcB5]'ÉÿÝöînª—~'ö €s¸Ê&‹Áqަ œ½ŸöÔa>±¸uÇö¶wv«Ò‡ë²´${꯯ŽnÜÛ«·žê•1ÙYû¾¥îíŒõ_ÅnÚ´n¢¨{çñŸ—`är Ûî> ‹Éd»>÷—<òÙM뙵o[Öµný¤B!·{XÚ/^Çuµ/Â5Ñé´v‚ã8ÀÙÖjý¶®C_Õ|ì¨Èá´ƒ3uXO4·4wZY‡3jÙTŸ>}¾†O&“I©TˆŽŽîIÿõ¯Ýwß}Ç7™LÆ S©T¦M›vüøñ¿þõ¯K–,àp8†þ€f§“=W- vZ,l]@"J¥!8ÎZù•Ç]w =½¤“":þs¸óèaÉè@Kñ?{î`ijÏ7g¾d|åeÉØqâÑAp:„žîY;„^rùœŸZ|Ôú×­ÊÕ×öRùÇLfÓÿôõA7’þtÿ•rÜ£OMËxõñ‡·*ýÇ%üü¹GϦo]½6ðÍ^xîxFæ#0ÞAÓæ%Ü!)fé§B!}ZZ®²†3Çqv»ƒs:¾ðü·eŸ {ÕÇ:9©XäPŽpŠÅŽŽËp8àt:Y+'kå8g+Ëé/µé«h5z0FÈÌ_¬üyš Ïìêêê¿ÿýï”JeKKK``àOÄ,”Œ ”Œ åÌf‘ÊÇcê fÂDÏ»g;.^Ê2í4~oQ1’qãíѰá²ÿ‹ö˜ †zÉ=¦Îû0ŒdÜxIP0$RIP0Ýa„B¹¥]½eÑl6ל¯i½dªû˧O¸Ï×S&@ÎédÇN`Íf¡ÃÖ ‡6Vä%J‘ÌC"• :,œ©…c;ùÉ#²¸‡ä¿X-_¥ï›ž÷³¡Ç·xñâ~ª]»%„B!Ctõ1‹ …B nkk ù¤Å à¿æ„B™¡^&Àá„Ó‡Sf×\fν°bwDZV»N‘Ž’"!„BÈw%ÊF>>>ã4V=šëñÈWCµ`­°ÛÁ9] pãºæÄ ÄF!„r›…Eþ~~w>‘zq²Vètò™o¨ô÷wN'ÿ >>YrÇLô÷ì“ð)Óf³Ñu"„BùŸ¸ú˜ÅžþûÕW%›þôhã)ß Í7.zÊ¢a# •H,‰ ‘ˆÅ#E#Õ’ñ©¢ !„Bnÿ°ÀÐØ(®?¯°¶ #„r…@$xz $ <<„ :š !„B~¼a‘B!„üx© !„B…EB!„Ba‘B!„PX$„B! !„BÈÿ’øÜ¹sT „B!¤ÿ°˜}DÐnuPEÿ•È@ÅÑ£¦*¨*!„›’"ùß*¯7¯z÷ô‰z3U!„r3†Eªr3È=ü-U!„Ba‘þmºL•@!„PX$¤4‚B¡°H!„B(,B!„ ‹„B!„Â"!„B¡°H!„B…EB!„Ba‘B!„PX$„B! !„BÈÿ„xh› ÆÍŒØ>CÚõo¶ýòá#çþTÞÑ>„7Œœ´szëÒ·¾©òC:$ÃF$ޱ”wØèB!„ÜôaÐjXúÖ7g€H<1|ìîŸðôÅò× ÜUßw¡òLÊ×Ü…ïò87å˜QK&Š(,ÞŒD¾¢Æ&¶ï¥ñRzÈ[;.Ðsû!„iXìâ°Ÿª¬/š*“\ÿzi¨×i³¤ÂòIEZµÇc ÁÉj ¶Ýœwàü>ƒcdøwË¢8ræØç#J8a½\ôÉÙ7jì€`ä„ ßÜãê%Dk[Á¡³¹ö ÷{Ê1fgªâå·kË)|ÜL7LÌœ°ß‡Kª>=ýÒ±öžíÊÞ¡Áöóo0¬Ìÿ攕*ŠB¹Mü 1‹¬•ÀBwý—넉sÆN1œ¥ÒÆ6œOÙAIñæ"ñõ6\ Ãî¾ãÓ½¼®LŠA ~6”¡Š"„Bnß«e¢‰áñÃ; Î[m¨;ÙrÊ ˆñÜrÿp9Ÿqú¥cíŒ;)h¬üúw'ÙS‡Ãa³ÙœN']B!äæ‹ÃÕÛ¥æ¿d[ÛŠ ô¹MDœ–NˆEÞRX¬®QŒ¶v«By÷¬——ñ·÷ùîƒW{‰åÃDL§Õâ¦ËtanV\}ù×Ë1¾+/nôk•ßáíïNŠË\2ݨ¤hµRo7!„rS…Å® .±;LVJ]QOâ%•ÃÙØýε·;-_½ðöžcÝFF: óPõ T3–‹tan•¼z‡7nxR`³ÑÜ'B!äF¸¦ë,:.ªw„jý'Šˆ§D*•­¦ã­]Ó¥U•fªg+¼|}“㉖úæjéˆy¡Œ‚ÀÈÐ-I‘R°v0b‘œ®ÏÍœ?iu·ß褀zŸ !„C|M÷æ8þÉÙÜ9ÁHó…l[ëŸ?øæ¬#Ý/›Îœ{Ùoìó ï|``=vìü‰Ë°]¾øòÇž/Þq Qȶ[Šœ-¹ÌyU·6N Ù³Üûÿ½¥/¹L—éfÍ‹¿åþá–ž !„rÃîyõØõ>Æ÷X”›Ü*÷·R¶°í×b_WOúÆ—/Óï„BÈ ¾þ‡ȇ‰»¥¤xâL-,Õ!„r»ÞφDΉØ>Ct¢¼µ…*›B!äVs½[¹ò_Ý{€ê™B!ä–$¤* „B! !„B…EB!„Ba‘B!„PX$äZ°~™qßÝ=<ðxÆî/ÍC|ïÉõ?ñåwzµá³zѬ{cí[';>à×›¾û?Ù}Hóg¿¸ïÉÜ#Ì'?þøëkð¤lãÁ_Ü÷ø{†«nwµS0}¾1=={W-lçveÿ±°aàg4vÔét ×àŽfݦßnü|€%âÍåo¤÷c»þøbÉûFyý˜Bn[bªòãÀÜõúG9?‘°¿Üñ /d½»~¦êªï“NJÛõ.«~—¬øùŽÝ_¯š3C%í?™|gy ZVFn9°nÇCûÅø¡×Z½{Û‡3§Ï/½1U9”S€ú>ÐMÖx e—¶úÒ‡Ã4ÚÉõ,¸"òÙu‘`Óoÿ}ž"5#y¬„~2!„Â"!½ãŸê'©Ë¦ï]óqu&>ÿÅ£»§ÌWØÛxÏÖ¿­PÛ”½ù@5Ë€eÂ\•þ‹*ëÉÍ‹_hÉ|?ç'Ró—of¯Û_eÿé©éé—0\Ÿ½ù@u ˜ éË23ïiÌ~fsu ^Xܘúú¦êÞA«þ‹&EäXÅàE”ß•6§zú½s·. ¾2ö)CPݛϼðy {lñãÿ}:B—ëXûnÆ$)ŒñH¶%íÝ¿/P_¿ù³çêV½›éÿù†uÛ>¯ȧ,JO_0Ia=ºú‘ ÊCOì­ {uëÌîÀûqÆ3Û°lkÎ\5¾Ï)ÈçÜ‹ï¨[ùHP¯@fÖxïý£õ€X¡¹ï±ù3|›lÝUe±ë7þñ« ¨kKxqé$tèßÊÙa¸3íÅG$0Ý´Qóⳓ;t¼s ÊdÄŠ±³æÏ¿+Èæ+ç}ÅŒ€s‡ë‚RŸÑtǤ{kS!V<©õ¾Jømø|ï;¥çÌv@ì­¹ï±ù3ü$fݦWJcÔ½Ál6C=+996Èçä½w´¾€Ìwòœä„Hïžgg>ùþ®Â¯š:ÈÔ3Iž£QçìÊ;\o—ÉÕ‘1Þ'šùÕ]Gÿ”‡äóIÚttÓÆÃ“ÓVÆúÑ'!ä¦DÝÐäLj †À0`«?·,Øõ¯¿¯ßòášìû¯ÚõÏ>øç®eÌþìuŸõè«6~¼æ…ý̲¿ýóŸÿ|ë‚–m/l>ijw¿°®jæ«ýëÓ^ŸÛ¸yͶÆé™™wÉ•s^ÝÕ7)6ƒ®Îc²FqÕ-JŸÏîX·ÿÊ>á~Ê€ñ¿X»,ˆ ]µëï¿} .Œ­:ÑÀ\}°%(”ý¬Ê ÀPuÌ:7¬eÇš USÖ¾ûÏ>xÿõ-ÛÖl>iÇêî}ý_dý„qgž£ëŸÛlYôzfߤ8ÔS°Ã[»à^ÅyE½:—ͺ]»ŽJæ¬ÈÈÌÌx6Æ\¸ãƒ:ÌYï+V?¼ò×ß­‘5U5Ù[Sy“\-®?gÐÑPnòžØq/²½©ªcFꊕ¿~ñéȦ¢¼Ò‹è8™·ë(î[‘™™™ùâ#¾U{w}ѳÃÛtt×;U¾¬ÌÌÌÌ\9G|t×{';`«+Ì;Ü9+íw™kVÌñÕ%;à1&FƒsŸŸëp…ç£M¾Ó#))B(,rÓ0~¹{Û fúÜP¾ÑN9eîsÕÇÕÊ{LQ€ê®SPõqu×H@ó‰«äsRïRªïY4…ýüã:«áØÇAÍ/¤ãm}ÿoËí ¶ÊëÄ|…dƧ¦?زcÝÇ=âbÿeè~]:7´å³*#¬u«ý,m{‡©Ão `³›ì)dÝ逭ÃÔqEH{»r&?Œ±ÓÒ)SxÈÄbØ;íî¨lê´óm‹~3b¼Õ7à¨)p–†²"!äfFÝЄ¸£Ù”‡B-ÿ~ï„ ÿÞ}SÜ=Õü«a-vóKâX¿þ0+c÷×V¨§Ï j|sfÀZûÞ ‹ŸÛÝh° ÛçfýWfµVý]&à*f¤­šrböºAÊ0`ÙþxÊ)S˜c»ßk $…ÿÌ0ˇ»?g§Ìô‡«¨ž´°Öx¯Z~×½A} #¤þIÚÚùì¶5ÛNZø)H‚æ,˜l:XxŽÏKcg¨-ºR½l Ÿçí*©ã{¡íæG IDATPŒ¬0,mòž¬–@$Ñ>ê:¦<,Ì×tøp €­áh©A6¹o§Xèë=öáÅ3ìwÕ]mU‰¯V#3”ê.ÚtÔ>jò½SÃ÷ [ªŸï`3Õ[|ÃÔÞ3Æà\ÉW&¾&J«:Õ3Æv·^*‚´å¥ü[L_•œ¡–xk‚dMG«L:ꎖÖÛÝ›{Gƨ›þõÁ¿LAwõ Ÿ>BÈÍL|põ4ªB@5wíÚ¯³7<ú€`”S½š>CÑÝ©¬š›¹¶v݆ÅX0A÷¤eIàù¯®ª]³æ‘»[X&è®e¯./•šï._óÂ#?{ðõ]«'uÇ1ó9Iøƒj檴°G×P\唹a›·=úÀÑô]›æÝfÙ{ tA¨@ÐLÿÆ5Õ÷, •žÿjº!{Í#°ã?=íÕ´IÒúÌ¥ãS×.;öó5fîÊøIV¯ïu c„UíøŠI íâņ¼÷7fwû†%$«%€\sg`QÑŸ²õóW.¬Ñˆ?*•LRð SwþÊ÷15?NñÞÔùæ¼]9ÙüÄå„Ô„ l„ÔøÇï=·yך• ]¾GôpjÂÞ½É9hľaóScü3 ¦ÐíØø^“©S6&~qŒ$~É‹›ò>Ø”]@¦Ö.^¬U]£½g,~¬)ïýW²;(g¥Î×xcæOÞ±wãoȼµÓÃäMîía1êÞ1L~z eEBÈÍMÀqÕ¹å\¾|ùÉzrý£®¥s¨Ú<̺M¯”Þ¹rå]×tâ‰í\^Î.¤f$Iø½’'[übŸÅ…!äæBÝЄ е´°L÷ÐEB¾Óç›~ûÇ÷Ïu0WÖÛÕaü˜ÆŽºƒ…zŬXJŠ„›Mp!d`ƃ«gŸðŸÿz(5+’ïÇ{ÆüøóïìÊù­©ï|lq¤fÝö{ëe“^z-™C¹ùQ74¹%ݸnhB!äǺ¡ !„B…EB!„Ba‘B!„PX$„B! !„B…EB!„Ba‘kwã éÖ%„B(,’›–½ãØ×Ëÿîø =÷‚B¹hQnò=’¢%ÿÝÓo¸ÀHÍ–û‡ËÿG¥p86›ÍétÒ!„B®ŸÛáq¬±ù/‡ E5íDâqc|žºÔt/¾ÑÔ^}¢î/.•·8H†yÅhGýR;\ ÀX¿pGãÀ{ÒÄ=sùgÿÚí>ñ² [—6az«kƒ®`=R­|zNÈl•£(÷Ä+MâÇžˆ|Ú?JGÞöÊ¿¶ÉžMS÷î©Â¾Ïæ¿# /]±7€tÄægƇÝr¡Õ\dàÔ—ë—ã–E"‘H$¢ŸaB!„ÂâàIѰrÇ7§€‘Êx_‘¥©µ¸º1½]÷ä¸é2û‰ON®*g!•ÅLRŽÛN¾TrH_^?vûÃ*¥{¦óëìòP1ÐÙV`ès©b^¤—\ãESañåw…KG \ÒÙÑ£ý­vX; Ž]ºYÜôAR0^ÞJ˜\{›î¥ìÞ¹ÜÿV¼*õÆG­Ëßmªÿ_çEB!„PXœýØ¡oOãf‡o×zœÉGõ/WãB»íM¯•³Ë~rÂ]^€™­|K_\]—Ûàý+)H”b[KkQ‹3ÔOh©oª‚hœÔqÖÞã^#’îö÷ß ·*ßh1µ¨C,dÊõvÓñc—.He‰Ñ®†C£Éµ·üÞnmòÀ-‚ò"!„rÛ»Å'¸Ø/6p€Gò]g4ãŽí‹Æ%ª„-c=à:jº—ûE™"9œìÇ«;]¡Gé=öÕ€½ªÜbóé5`°VŠ€µÿ³-ÆŽÆVþµ¥óo' Ùò¨o >/~Òj¡Ÿ'B!ä¶s«·,:Lv@$ñ–öóš¥Ý@®1=±ÒOÀÒngùoHñê¦×ª›ë¢‡ÖsÞáÊІ–¾ñb´Ô7ü¥ Éc”BÓ÷.oÛ…´Ý½#'î¹_ÎÜÂyqô‹“Li'íêËë ¬¢ùõ„B…Å›ˆd¤¸l»`íçTä^"--6î@æl¹è TJÜß‘L‹ôÀSÑië ‡hö$O¦axÇ$$„L—¡ÀvoäšQ~õØç©|þž]ݵ^¾2æ®|gN¿ò$ßÐ*Š™£¡¤H!„PX¼ÙŠ/‹ Vwäé.ϾۓáÌÑ“K âîøU j¾9{ºáðÝÃfóËæ¼JÇŒéjŠ*ÇøCmþÖ&UÆû / ï$Rih ?Å9r¸MöS 6øI Õr¸ 1#¥W+°ÌkÚ*ÿÛáÎqÖéN/=Ôns%ÅI¿—Ò!„Bañ¦+ÿôÙA‘çkËL1(c|E––ÖâÒÓüÄðò}þ΋i_˜_Þ^qè?ú”#'MöÂèÞ‡×ðD_¼Ö¯ ¾¡b\¸z¼†i•ÞÕÆSÿªZYï=Nf;uúÒ)`dä¨)²«•·ýRþ§¶³¡¥‘‘~a²[®Ú))B!oÃýþð¤(÷¡è|˾z¢q¡þOÝÏOj‡Ý3i›_ÝÇ.>ÙÀk˜WÜÌÑ¿œ2ìÊy»Òiá2²M›"gàÊ1™Àí‰_ù¬ùø™¦r@âé;3ð—3†0úÐjÞwÌܳþã&»ÅzoÙ‹u/QR$„B~è .ä{°û¤*½ÜAI‘B¡°HH¿œ-­Nåp1U!„Ba‘B!„üHÑZ'„B!„Â"!„B¡°H!„B(,B!„ ‹„B!„Â"!„B¡°H!„B(,B!„ ‹„B!„Â"!„B¡°H!„B…EBˆU·*zêÔ©S§F§±RuôË\”2uêÔ©S§ÆçTPB~ÜÄTä=GÒbV”ñ_Ëã6äD+®²ùìe, ^¾· %„êï‡'ª’”Ù«+¿Çµ›mübB¹YPË"¹MXг7ßð& æ‚”©S§NM)1Ó „r›¢–ErÛ0îËØ’´wÕé ;¢µ¶¬æG]åLHbò“SVZk Ò.MϸñBȵGÝÐäv¾|¥P»%#¿áFÕ|¦Ì@uO!ä6G-‹ävÀ*b³VÎߨô³ b·%|ŸÝ4Wäå—é*j Up„6vÞ’”ø =gcXuñËŠ»+WÏž ǧ/Úü%Uòîý}zÄ­g6Ì_”gÕ¼Ýûû6¹ÕìLœ¿Å@»öжxEÏ\Z´3o_YÙ½ÑuX¹Z¡KHNº²h@‰<ÁË÷槨k Öem)®4²`fm;´A{µv>sÅæ”ÔÜZPÏÛ´'ãúMD±6)ÌË/8R©¯5²pU¸&<:1)9!: oå=¸(Ï@»éð¶h©¹¢`ûö¼bÞèºTí¬¤¥iI×Ú\Qœ›WxDWÑu4¹Z—´016ä;ž¤¹¦¤`O~aY×­âºW’“#|¼ÁtùÛwæ—ºĘ̂4ÚYÉKÓ#hØ“ôàÆZákíŒW˜KÒâW—±‚WîÏ_8ÐÝÜ\2'»ýÜ0„r QË"¹XY„$å, èÖ­+jþÎ{¨)ÈHœ“š[X¦wü¬±VWœ»fÑ줬¢!5XJÆ= Tû¼j¬<ânŠ4êtÆ~Âj ÿº&®Gäi(ÊJš½hMn¡®+)°ôe…[Ö,š”UÒ»hR×€@Ölm(ÊX˜]Xid‡Z ùËø¤(ŸµvÇõKŠæŠËâ\±.¯´²¶»t¬±¶²4oÝŠãÓöT\9kH*e\§e5kòÓS³óÊôÆîK¥/Û·.5>eçk—7ÕƒsR³óŠu=f1T–íÛ¸z~|ÊfÝÐç(5Ù?õÆ}=o×½’:'qUAM?E0ë6/œ³lݾî2³F}Ù¾ìÔø”gÌf÷7¥ PhSbå€Ú¼üš R–ÏOEgf-¡¹å„ë‡ZÉí‘iÈÒ¬äâÔ<زuëJ¢7Äýã³¹(#%»ÔŒ&.9i–6$@Űý‘‚=¹¥µ@mášT(öfñÉÒð•{ö/7WlH]SÊФï^ÅÈ« }-P[¬7'(®ÌGŵ]ÿ¨-­0/ìõº¾XPÇiÝmIæ#Y©k ù\©ÒÎ[2/6"@*JöåîÓÚÂÕ˘m{2´Ýûb¤üNÖX¹sc) @¢®6­Ä|$+u] €Ñ¦ï̉÷¹^—«fOZêWÐÑÄ%'ÇE‡¨å°jŽïÌ+®ea)Û¸lµtﶤj WéÍe[Ò Ë,L𬤤Øð•Ôj¨(Ý“W\Ëlå–eÙš^‹(5¬^ÈŸ ž•œ’«QËa1ÖTçï,¬´€­Ì]–‚Ý{Ò®>¼ÒZ±aÙŠ<þ:ÊÃR’â"BTrX ú’üyeÀPš’¡Ø»!ÖçÊ;,-—¿ºPG%§$ÅjT0×Éß™[Z¹eY–Yë « P„'Ç©Š÷Caþ™¥ýNÛêÊŠòØ…ZÊŠ„ ‹„ ŠiÄÒ¬„âe…FXJ×mÐi³†ø Ú\”íJŠêy›vdDw}ÈOˆÐÆ&%­Z¸¦Ôcaö†¤ýYRRŸ€X >“Q¸sŸ5*Zµ¥Öœ)®±ÆFôøŒ·ê‹+0áó"ôûtlE©Þß³OØZS\Á€*6JínÚáJŠšå»w¤tG†ˆˆèøÄÄ )©yµ€a_Öö+æ»SUÅžB£jVæ¶œÄ!Lú±žÙ¹l4Í’m›’®ß<¡†Â¬®˜·voL:!B›˜•6?»Œ«Û°®hÖæ®WÝ ‹¨-,†å®,XTɉ‹ ÀêJ®ì­4ètkc]y¦ùÈöB¾ã9xyNJŸÆ%EÄò¬ÿÞ‚ÜʾgËÖÖ*æ­RRDCAƲ-zP'lÚ–qýÒ‡õLÞvwïiVzßÖË€ÄÌôp¾üe¹¥ýöþ3³rÒc}z¿-}•Æ•& JjºO¬ØuyžžÞ7ûÄ®JŸÅG4}^Þ™Áoken>QUórVõù]D²0k9Ÿó-ÅÛ˜»MÈ/æ#¿ÑIZX]þª{”jâ"ø”Uô:饨 ×jÂÃUè3¬±¹¢ØLD‚ë³ß\Y¨ƒ«hq!ý+iŸ-º¢þÊ'/Jì3ër–ñ«òYk·e]ßño†âWrŠ]Õï‘|¢’ø´}AE?ÃOåq)ý5D%¹ÓbY;©5ë ]}ÿÚ䨀þÃHâ͊ú‚#–ÁZHlŸðPQÜõËŠû×È£ûiTD/MR÷³¯€¸¾,%{ú ©ìÊŠêä$Z›ˆBa‘ïÂ'>3Ïvµ¹Ùy5WÍIú2>L0!ª¨ÆÕ/Ìê+®¾XŽ"<ŽÏ,5ÅzsÏ,X € PĆ3à‡5v—£²˜/«&AÃ!kƒÎ5ÈM1PѤ!Ñ®i¬Ô÷mõ”GhÕW-¯µfOZÚ>F»rgN|Àõ½>æšJƒ;ÜKªp÷ ×”úfà ±ý·•ª4W]C…+õu¯›®Žš0ÀLEH´ÚêjûeÀ¨w­«Éh¢(º:bãºWô®ó´v•f 3VÇÅöw}bSøË–åõJ‹]YQ“Üÿï„Ba‘Aâbbær¾IF¿%ëjË.š\MWl鲘©àW5`Ö¯ÞXé£ æãBwG³{òŠ&V£€B«€3Å] •Öš~À¢¦{壻yL¡¨íˆQ©åîÖwð€ßèf(ÉNÙXÉPÍÛ¼~áõ_ÐÜXãªp&$` L©Jã OC߉ܪ`uÿu¤ ÷ 8fƒÙ꺼 ®÷«Bú]*µ+ ³Fà 㠬Æ3w¼T1]­r_rwŒ×ê:jUÿg, è?Ô+´É]iñHsY1<9.€~â ! ùÎ’²–󽕲 ]GÇ<ôUeXÌC«£®««¦XÇŽðà÷øY*º–Ò1”ð=•=&B³¬ÙU4…|àYÌŒÂïXsß²1òÁ;”Yý–e«Ý FuG®ÿõ­V÷ú?ƒ•Ô=óVkß³ i÷$Öjîªw=1ƒ®{UžÁÉÃ];“«¤†jFÅô:4ë¾0ŒT1àUì?}*´)®ñŒº¼²æ¾YQ›åC?î„ëfC“Û’4$9'9Qž¬nݺ’¨ ±}¦vÏ ŽZ¹>åj£¿Õæ¨cµòÜB j‹+šøtZSi]-HêØy®Áb(Ó5¤…ÍüÃ`TQQêAK9há¾{=õ=éÕæ®Ø½7ãÆ­Â2´¿¶Î>ïb¤CÚzhe$xBú®Gßi’Õ…y 2¯¸!‘Ÿ¬íΊLTr4eEB…ÅAÙíý2½6rÇ“AAböÏw™iðÈ^V]¹à@GŸÏðÐÝÚovôÝ×­ç Ýeïȉ{î—3pVÿ»|Ùö®=³õ_Ï÷ºw¾·Ü~ùЧõy§Íg/s€ÀÛwx|tÐ’ñRh©ì}PÉ0¯øè_†{2ö¶?n=SlõÊ^v— €½êÓSiÇ:%Û“üƒ(´_û¸8aiμâÔ}F°¥Yð+ï1ýÅ?÷7™ Z­öÚôÂJCâ´La) }q­5ÞGêš¼Âh܃í¤!qP¬ƒ¾DoN P˜+ùNj¹6¾»˜aÜKó°30@„ën¶RH¿WáƒÖoN1fÌ_W ÷­Z]{ã¢Tª’FVËÀ­xVw£*úiŒcVkÿ’eYwe0îËëz?k1³Ï®ÃIUÌ ¿*(ø¢³³u uµ3 Eוq½d¨›5[Øî㤤à¼-µ€>¿¸faJHwV”ǦÐòŠ„á¶è†n»ðJeÿÝg_ÕS3ý»þ<«•)}ýŸéÿÔLÿµ€WˆïS3ýŸšøÈxï@ÀTÏ~ÙNÕØ ­í”€³ñüåv ô¹Ü~9o÷É—¿h«“Éã"}çMðdš.½óaÅK'¬=úØtÿ§¦û?6i˜²­½ðÀ™?78{ÅܪOOß²IÑÞh´õûÁƶv´Øo¢‚*"Ò\ëèXг7èÌýº+BÜãÕ 5Ækxì¸`+Kj¬]“W4q÷‡»B3+*Jj¬°Ö”T='BóÁÅ=ÊÎxfÀ‘’¬ÑàŠ\]Ãü¾SR\²cgVl@HÒúL~pœ¥8#ã»?ÿæ»P…¸Ã, Í ´vµxª‚ûÆ7sÍC¬æ®Qž!®€¦ð péløòk\[uÀ éKªšà¾ ï«GÑ5®£Ò®Àjl +Z·Ÿ0U›_RƒžY19œ²"!„ÂâˆE8õYݱÎ~^“ú'ÍLvÿIºÃƒQù$ÍLž1*)PÀ?T<#0y†ÿ]þæy­—ª;Ρ[à¥d$èö‰&5%gø¯ÔÚ ß=90Z×}3sfÉ€-[³:¿á:^”® Â•î‡!†D÷vÌÖ”õ?¸Ò¨×»’s€;9Kƒ£Bø¯jKÎ ‚Íú2ƒûhêÁZgUšp~·=§.õb8ÂOT‚|‚{F7Ó•ã ºþ ^SR2È,û€YK´üÛóKj¬î¬¨JL¦å !‡úy—4{˜Äzéµ#ýõãX­­î?VË 9F,‹ ÀÑq¸Åɶ˜ªÐ;ý‚ÀUWw²öŽc-€§bÚp{õéË€`J´×áýÔɾ€£ýP‹³×AëZò«í€hœŸÄ½¹ãÔ‘ÓËuHÔ£oÉÞgcãå,À•ªê™-õ5Ëßmªl†oÞ¨¶ÝDö‰Mw­£cÈËØ^Ó߸µ€®•ñt¹ý‡$ó‘ŒÄÄ…«rö”Ô yH€6NÍç} ŸåÚžS^¥!Qá CYEM…Î\1Ú8ù²£6/¿ß%#ͺ¼×±qêZUY9®%¾+×­ÞYsÝæº„ÄÆº"*ËÓõ›ßJö¸ ÒÎë¯ñÌP\Ø_ñÊ \oÓĺ§EÃ'*ѵøbå+|7—也®’5èÔb©&1Šo§4çUöt­gò ùØÇhÜ# ¤Ý©¿¬ØÐßUÜ™W;襉^ÂÿÎc((ÑçU€:–W$„PX:ùø _úâÂ5­\¯—L'«SÿR¹Èõ§âƒs´z‡'`/7X í&Èf*¦yÂTonlm?e…$@$æÚÛ9@4Ò«g½ Fz ‡ÉêìuÐÔ=ç‹Û˜i3Cе}ç;_tØ[‹¥Îz ÖµjÔæ ózæÅ®¤ 02ô÷wHnª"û$f® w%® ¥ý5ÐÄ¥¹eÖoLÛܧuÑZS‘Ql0èK÷åõz&Œ;{ûkøSGE©°ú‚ü&"îŠui¤®õsj ù‹=&B»ÓbÔò$×Zr³û>]¤ùȆl×Tæð¥É?<:(¢Ó×'ó9N¿%mKÅõºCC’—º9/ËÚØ§ÏÛZ³'õR‘!³¡`Ý~és&*íjËÐH#R–òÑÓR˜µ¹ÏBÙæŠ-yü­ N^Ú=žPáZÕ†¼u½!i.Zç~¤ãÀWF»?‡Ú¶ë 89)„>¿!7Èm1±Bä?×7ïí¦¿|búÕ•¯x…øÿ*ܳ+úŽåje ګͧРO߉Ã=ïT·žªwÖïðd ðò Éq¡Õ ¿®]9.ð R*D{ƒ¶7ÿéP[»Rù¬vXgy‰bæhžh¯YöÙ¥—?0lT}«5. ýÃÇoÇ×K´µƒ+?TµòâpËÉK]IqËýÞò›®ÌIYË÷ÌßR XúÿLö‰ÍÌœ5M©¨ÍMMÔ%¤$ÅE„(ÖXSq¤0oŸÎýùå#÷¤êörWe(F©`fÕqI® ªÒøpf_)k,å£@HœæÊF2ŸˆX5* ¬.¯ è"´tÂÒœy%Ëöý–EóuÉ)I±µCMEqÞÎbW¯køÊ¬„k²Úž4bùú%GåÖ†¼Õëb÷f]—>‰™é…ó³u,,Åk¬)[š§Õ¨ÖX£/+Ü™çêV%ä¬êw‘zV[š›ú`å¼%ób#BTŒÅPY”·yŸë1)êäUq>Wdà•YqGV[ÀêÖÍ_xdIJbtˆZ‹A¤`O^i- òY™™±WŸZ’”¹¼pÑ=`Ø·,±vÞÒy±!*°Æ†Š’}¹î[%xIÎÒž·Š"jy²º,×°ºìù uK—ÄiCT0êu…;·ײêyËC ·” ¼ˆ“4<9QU˜g„¥–°°0––W$„PXün¿Ñχ¶¤W×åy^ù}¥*æÏ¡®`á5lš'ö]¼XHÔÃÄBK¨ Õ— ¾p²Ùj €Ðp¹¤Æ|üHSÝWÎc.ä6Òá³ý„héyÐa’óå™5¯Túm™Òõ¹!‹ •‡Ê&ü¦¾âåšo^:äµýþaò[¬²¯È‹§N^ÂM]MY9Kòå<,Ì'>g²—­)6–ÊÂ-•…½ï0MòúM«"z¥½¨%QÌš2@mñ–uÅTÉÚ„h×¼MbJuî„Ñ;ЍµZ9\¾r"tÏ6¥Œë±"cŸž…¡,o]Y^¯ TQ+7å\»µ´¥–nXY6£0®ÊŠÝ»!öz,θi»zź2#X}á–ìÞõ ͼõ›2xì £]ža^¶E·o£n_ï_ù¢Ò7÷~ú2|b3÷¬ykKs³Ks{_‰¸ÌÍ™ñ>C« ”mÛÌi«r+-°ô[‚ð%6÷~¶¶tÂÒÍéú”ue€ÕnYÓã„Uqk·¥ùl)æg¾xؤduÞ×-¬]2‹²"!ä~ðß6©wúìÑÁÕ_¾â»–úÆÜOëóÈwå IDATºþèL-ƒíC6;PkÇ)+‚î3€R=|$§Z8x*"½@ô´/ÐôMê[§ÿøïº?T-ÜsáD1÷žÒ;xKîºÔ8àÔ¡šÏÛ{¿4;!4a.”ë_®¼{£…þáã·»ú£oú¤èú¬Î™7èdai@|NÁk—Äi{ο•«5QóV®ß[´gU?+ÚùÄçl[ç~Ääêð¨pEwJP„'hºv¤íÛn;¡+EÄ 4]Á'6cOÑîµË´šî’1ªàðYÉéÛöïß¼pÂ5mý“†,\ŸÉ÷šZJ3² ®×%IÚ¼ÿ¶ôäYáêîÕ¹åjMTÂòµ»íÉ$¤²Òˆ”E;2“g…»Ÿ_F¥™•œ¹»`sRÁÙuy3¯¼¼Œ*X·$sÇ‚œÄï·Ú´E{ׯœ¥é:<¹:|Ö¼•›öíLë¯9V’´¹`Gfò¬î‹(ÖÆ-_¿wN|Ó•üÕ6$.Åu7ÑòŠ„LÀqÜ-[x~Eß,Ÿ-à¬û´"õ ¼Î¢tÄægƇ‰»7wßäíÝÍ~°|}ú¡ÍóØOû áZ^¡š½wý7nï8ôi]îɶz+ÁHßá‰w‡$‘À½Î¢÷“öÜÃ7g:«>)O+·{MÐì™+øóë,‚5VîøædO=1)ÙïVLíÎÆÊ¯—hSÞìI‘Üö$ñ] ^¾7?%ä¶:7ó‘´Ù+ÊÈãvåDô\k6'ÎÏ5ò¸m9´À"!„Â"¹UXZ­Ìp)CA(,þ5;ço1 vnf]Fâ²b  š·{M„&„ÜHôäòƒÈ‡Ó§!Wa­)ز³D_ScXµ-§ïPÌš’~4¢+îXködmá× RÅ%õ7rµùȆ4~ UªšÚB¹Ñ¨e‘B®³€„ôy;S÷øwô )I±šÌ 5GŠóö¹Ö ’ÏJ_Ú=\Ñ\£«h0› ¥{òŠùå}T ™«´Ô¬H¡°H!·iDƶµ–Ag’G­Ü–Óc¸µ!?cE^…AíÊméÑ4¯…Ba‘BnOñ9Ú¤üÜ=GtúZ×ÓI¹Z£ŠKJIêõl©T¥Œ Wkc“—._¨¥õr!ÿ4šB!„ ˆ&¸B!„ ‹„B!„Â"!„B¡°H!„B(,B!„ ‹„B!„Â"!„B¡°H!„B(,B!„ ‹„B!„Â"!„B! !„B…EB!„Ba‘B!„PX$„B! !„BÈÍELU@nE&“‰*B¹ÇQ-B!„~Q74!„B¡°H!„B(,B!„ ‹„B!äF ÙÐ=ëîh¼AÌC‘¿/€‹u ß¾ÀFNÜs¿œéÿ=ÖÏ^´Ý1jöðk»[ )ù¦ÞẇK|ä}_µ[þ´ýTáå>ßæ¿ci`Ð>¸åtåC…3ÃwÎð ÛB!ûÅþ¤¾jÌØ°!Ô ÛðíkŸCýÔ×,,^årIgGö·Úaí,8védqÓGIÁxy+éºB!„Ââ &¶µ_Ñ©{·®µÿ|à›¢z¶¢qFÿf®Ÿ²ºò¡ÂÇó¿œ3vtÔ·ß|ê¸ûIÿöæå[ÏŸóTjd²Ê~lï‰ôÏß,‹iküÓdžCMvÞ¾ÞKæ'ú‰a¬OÙÑØ8:Ñþí¾Vå¶ÇºÚrúë”ÂK»óa•; J¦LQO`7?vé‚T–&à¬;]ó»O›ËÛ8@4.Ô÷Ù9Sd°TV>t #ðNÿq5M%-ɰaO?<.ÉO 8ëN×½Ögû+t¶å¨Í­îl$üâïóË;<ÀÒ`x¹ðÛãmœ—¯jI ù/ØÈ¤Èç/žJýŒwßäíS¤€ýÄ'VU ãþ?{÷Õ}/lÿ sf†‘äAQP¡i0Ýš(æÙ’ôw æz¢m£î6Ú×ÄìTmžDÓT­Õè®Æ6Ʀš÷ŠÖV²›à~šn¨-¶b°N@EEA9:ƒ03À˜yÿðs2ÍAñþ\¹ZgÍšµf~kï¬Ã0cüÍ\çÀ­¿Ë?Lg¾cšQž+s]=¹{GÉÙ·%jê†)zûÉs‹8ÕI#žKUˆÈÈoÞxÔý1" >ñ´Ùê$D+žŠf¯øz·ÄhÓg{þÍÆ}íªÂ))+§íöõožùk¯ˆR)"ÞÆfKdìÂ{£ãýës65,Þ}É?lãTÓ§5ô4Ö?½»Ý"Q Ny.;¬¡®eQI[ËÀ 4Z\c'¥½:Õ¨ëêÚôÇæ†O˜ÿŠžÒ'7Õ¹S²“W>lÎ×îݵ¯4ùÅçÜöÇó‡»BïúÖˆg3¥G<"!j ML‹)ræ˜Ã."¾î½‰RÏÞ±8…O2jûëþ§Ó~yšÍVj?+-rlú°b£´Ö¶5(ÃF"bŒÑ¦ÂƦ†I_÷a»¯¡®ÛkŒ™e©«u:]NK·Ä&Eªë›÷Iì„O¦Ge§'-§¾®·}ýË0>û ¹0=²ÿ:E—í¥’Ö3ÆUEñ‰Ÿ~ð×wôPG‡(òL.•oÒ¬H‘æÖÃýOG¥+4G¤¤%EŠt]²t~Êü""¶‹%í"ÆaÏÞ=*î©|½J|eUNOgGE·ˆ1aáDÓ¿ŒþÔþù ¦¢x‘æ6K¯ˆÝnqKTZL ‡­ å˜è̉O™C\'­;ÚüÁI·Ç)"íçþmÍáû×Ôl²‹t÷¶ø®y™1Á+>KS÷áF_T’ñ®T·­£®­³AcF©ö>ÑŨúWaTˆˆ½«¯ÿÅZ]ÜÕiÕÝuÂ-ÒÝ}Âåÿ o8Ðá ˆ(â"‚Uqñ5¸û_«3*Ô""J£FDü-¾¾Ož?øyí"¢Õjªµjˆ«Ëët{="¢ÕèDDBã"„Š*7K¯’î½Þ†úÎVQdF¨Ù• )Uþ±fñ¼uÀá Ö’F­‘¡Ã6|7ý·ÁæŒÌþÐE~Æ!™i8Ö^fÉ‘˜`ˆív”Zº½‘?TÙ_‡mnˆˆßÙÖ'"Æ+±õ¡EŽ:36Vz·¼û¡³Ã)$J"âméÖž·Î-"ÊDMÿƵ·y="âó6¸E$4.LñÉó?¯QD\½Ác«—Ç)¢Té4Jµˆ¸ÜNËåØÑ%Åf+G-¶ŠZD LìZ‹ƒ˜éŽg3•ÒÝÛá¢ÉThi¿¸·Ùã´_Üòö©—8ªÖˆˆÔÕØ+›¼¢ŒÈo³ýŒDä £aŒÆSnõÉPãØ01&ÇߥŽ#Ö×j:þzÔºúdŸh†ïµÿwvÎÌàI÷ÉßÌYTåq”ÏË+ÚÞ$Žª­ Šòòò òò ç­(o±n-Ê›·uíì¼¼Ù%MW­èâÁe…y³·[ÝnkéÒþ5æ.ØPå`ó@,â릿çé§³ªV®½¶ÍÜÕk¬oÅŠût¦©v½:çþÉñMûN9D¤ùo5êt“µÜêqŸÚgÕçd©Ë—-Ú*s·——ï-/]ÿç¥KKšDÔjqVí3-*-ßZ”py='7ühé©É6ÌL’ªµk«Ò×ì-///ßµ$ÉZú…œïÄ"þ9ÑK%•/ÛpÕ¥ŠnkéŸm£gÍÎЋˆ>kvQü©’ª«Û-!+OjŸÕ-«ËÝ÷OÖTUÙÄm-¯–¬ÉñçJÿ&9³óDDôYÅ“õ§J«ƒ):|r^†þªµì~æGûF¯xuAp=ñGUÉîƒÖ‹îèœEk—D³m q3äbá L»—n<é˜â´9<5Ë ƒç„ófn>'žfçÕ/IÊËRWW5_¬ÙgK*ÈÊíþsõE[M•'½ptÈE›GcÒõϨÑÇë<§CDD}e²ˆØÞúÉÊ¿ÙôI êàŒ‹~»¦PÊ×Ξ’›S´hk ” Á`P´lnÉÌ¥[Ó³‚u zõ=/”nÈÑ_=—Ûvùš¤É£›«ª¬ “GG'å%4•VU9m£‹GkÔbR»miévXêh“þúuªïùÙöùÍK¿»`cÖ®EMBÎìe9³E.VoÿɼE+3ö®ÍÒ|‰Úåruvvz<¿ß›lç°°0£ÑÆ. qc’Š_(.ýîÊ?‹d‰h’&ßgš·¹Ôš53I#Ë×®<˜¾di^4âv8<"Ñg&5¯ÝÖ¬Ÿ:_/úô<ÓÊm[%~vº^4£ ï‘e[Ë›² äbÕŽ?;2æ§ëÅóá5ê“’âS Ö,*ŸþÌÊ{v-K(·´fÚ/WDKtRj¼^¾Ü\\.W{{»ÉdÒjµ¡¡·Ër‡ÃÑÒÒG/¾2œ†,4©s—émÁ¦Ód,Ú°$i÷¼‚¼¼¼¼éš2 s¢E4£'çèÿü£‚ÂÕnѧO55Ÿ’¬,“ˆD§g©OÓMΊ}Þ²µ³Õ›gæåååM_Ù×hˆE‹ @,€X±È€X±bÄ"¾NJ†·¯uçòužl¼é Å~þÅvZ½ü½ì¥?É3ÝBcásÿõ õǙh#µùÙ‰sÆëtÿÄ"µ5Ó6Ï5'²«±ÜŠTI3^úÏ""­ï,_QýÀó?É5Ýž#áÞ[R½ºÓ°°p\¾9\çs×Õ5¯ÞS»¸oÜÆ¬pö±\£ëƒ[þëm="~GÎ#³éµ¾¹ü×]ÙwJm½ÇáÏxäûM0‰tŸ/ß¾í½:‡ODiL{pÖc¹±ª«–Ô}úmÛžë‘ð˜; gM›`R‰÷|ù–ß”Öõ„GÆŒ¹/ÅZZûàÒGN¯ÛpaÚ OOˆéþ`Ãÿý}Ì‚f$©¾’Ïëilx¥1láœQ…†à¿4)iIÍñFDÄÖ8û Gnº¿´Ff}/½Ð×òóÝMv¿HhbʰçŒITú*w]“ÙÝuÂåµ÷j õdrð½{ï?¾¸¶»Õš™ò⽑:v/¸f·1[Å–mÕ±,]µjÕª¥…ʃ[Þü [DÄ×S[7ì‘gò“–ÎÔW¿ùûºÅký¯_—vå.øéªU«~úDʹßÿzÏyïU©øÁ¶ß”)ÿ±jÕªUÏ?[ýæo*m"­{~ó_m V­ziécIÕÛ|J ¿#7;òByuWðeu"'äÞ¡úŠ>°¿á´ÓeŒÎ5\3U­Õè‚ÿÙ¨TJŸë°&qûSéEwéÛ–„”]O}óݹÃãêÖ×yEDÒjíÉš¾õ{wnÎñ—în8îñvu7ܾà›oê**\ì^@,·¸®s‡Î…O¸/%RD$2ãU]å…`Ï»Ó$"™’ã;WÝÖ}áЉž;ò²cU"¢Jºï¾{u]×å%yÏUÔIÊL"")÷e„·:×Ýe­µïÌMR‰¨b³§¤…‹ˆ¨†åæ/T±[ñ\ø¹ÃT_ÙGvº¢Ñ¨ƒ|]ë6¿?eÝûSÖ½?åuk¯?óǯ_Ô=~çÖüHˆh#ó–¶þ:V™ã²µ""qɦ8·ÓÒ)""QÅ)ÑÅ¥¯¡×σ§¡qûòÚ{$Ü>j*½Òw¡Ç+*Q†‡LU©Â•Òã•G*R?0kxd¸ôØ{.Zôöôø”ÆkþTá¦p_]W×祩ÿgLi WÚEDLwæÅî)ÿ‡-/§­âœñ¾Gb¿ÂlÔ†H{¯SD'"ÊÈ'Ëœ%âi²ÎÝßç ΡPÂÿ éo©;¿þPgƒ[ÔJ±ÛE—Ü¿V1ðï•Nüö>¿ˆ¨” uÿG ; YÄíKe¼&ùz=á‘á*ñõô Lõöôø”z•èõáÞ.ÇåY¯ÍLQ…‡+}ŽžËéhëQ†G†«ÂUâ³ù&Ú{úÿhÊxàû¡Xë*.Ääf|•7Ú„Æ¥¢ìme¶þÃ~j­Ê¨Uµ¡êëçíl{~wGÔ½c·ÏÍÜú½±O½òŒÓÕ×ÿ'Ÿ×)¡FÿbŒ"‡OÞs佺nñÚŽ¼W§J¸|ðBye«WDlÕ“¾;qLø…÷‚»­®°ÇLs%óTÃsS¤î½#6‘®ïU÷Ü‘›>tÞ+âm­ÜSÛsyÅi¤8Êß*µ¿ÚVQ'˜ŸLéÛ²óôŽú§OÄçm8ÝøÒn»Ó 5~è4ƒÛãeŠQ%"öú %vñ¸ýÁ£ÞÆ–ŠNñ7Ô^lŒÐgØ•`0ã44nc¦Ü'fµnûý‹‹{DD?üŸ9&B¼"Êð¤û[«—_ptùŒfÎ!’ôÈ¿O{sû†ÿû®OD“ñØ¿ß+rùªÅˆoÌú~Û¶ßÿbñ‰HøÙO<11R$rʬû¬ÛÖ->n¼cBîÆº ³y Í·ñwÌʈüª?³*ÿ;Q‡¬[öÛ2ð=‹¹Y£·gŒš1&vNjçº×ìЪ“ÞÛ½¸ìÔóCÓ¦‰D™Ã+wW¿fwÛšÇ*ÅɾƒWH `pË9{öìˆ#¾”E{­o.ÿuϬŸ>1ê ½ïÄ{þ­åë.<òÓ߈oë;+Öµ=òüc"n¦Ïþé|•»Ž®6¤mŸ¤S³ÀíÓÐÀ—¦ëȯ?·õƒ.é¶Vé‰Í¸#BDÄÛZùûƒ’=%%‚1Üì8 |i"3ùß'~³}ù¢m"ªØŒGfåšÄ{bËò_WKÚÿþ÷¯ð+sø¼8 [Ò×z*–ϸpÄ"ˆE‹ ðµâ«s#wÕ¢üyö\™ 6¥çÍ]²¤(Uc j*/±¦åD3¤Ü®8²8X©ï{µâý~»–Œ®^9omµûF[qóÖ}Ínbƒ™&!oæäxç©S6q[K—Í.ÈË+(È+(Z´½Ú!"Žƒór מ f¡ã༜ VGù¢ï¾|ªy÷‚éó¶7‰4•¯W˜————W8{ÅÞ&·ˆ¸.È+\¶aQaNÁÒ*·ÛZºtfA^p–ªŒ;Ä"n ëÞ­»›ã³ÒM"ÖÍ‹VVg­)-ß»wï«3mŸù¸ãú¼+îÓ™¦nØõêÌëÖg––_²«¼¼|ïš¼šå vXED£–æ¿Y'¿zpïŠ,©Z»¶*}ÍÞòòòò]K’¬¥/2ðÜú¸fq°òüy^î7/?Š¿§xÍ«óS5Òt°ü\üÌ¢ ½ˆh’&^ûò>«{î§,¬é`驸â59Ñ"¢I:kôæÍ›f‰ˆztQ^B0.ã5Žª’Ýõ÷e%å,Z›Ã&€XÄÍK}ß«ek³4"ŽòE…Ë|^Z£×©GÏßµ½ðšüsW];WBÎìe9³E.VoÿɼE+3ö®ÍÒ0þ‹¸É%L]R¼ý±åŠßYš‘S8|ãö’ê© 24nkéŽSúû%iÔžx½ÃÚì‘T4•¿uÊ#YÁþ·ÃáIÈ)LÚ¸uGuÞ‚ ½8ª¶.+Ñ/XQõJ¬Ûç-­™öËÑ”¯—/÷NwÛnÏ¡C‡ž={–ý@,â‹¢I½têîyË6m_Z¼á…¦¥Ïä¹E4 9‹~¹(C#’1wþ= –M/JˆNʺ/K·Ããv‹fôäý3?*(œöꮥk^hZº´0Ï!"úÔ¢%?K¹ædRáÜÉ[1=g¹¨Õ¢O-\ö³/õ°bLLÌm»9õz½^¯g·|5B£€ÄWç€X±bÄ"ˆE‹ 0Xð\p«jjj:}útgg§Ïç|Ÿnøðá·ÕÖÔëõñññüf /¬>sÇw ¾Owîܹ¬¬¬ÛjƒÚl¶3gÎŒ9’^bøœ>}:..N­V‡†††„„ˆHðoi·á5™LÁÿHMMe÷bøgÙl¶‘#G†††cq”âåXôûý·ç62dHcc#û6‹ÀC¡P„††ÿwÐÄb__ßí¼AoçÄ"ð U*•J¥24tÜÔGõˆEàë§P(‚±¨P(GcO@ßž×,ˆEà ¼`1xzÐ|¢Asý%`ðü…Ëà5hn‚àfÆ‘E fgk‡KDD¥¾üH«S{:Z;<—ÝŠŸÎ}ÑzªÙÑÿ@­OJMÒ‹£é¤Õæ˜?:5ZÃn LÅêÕ/=ä‘ôŸlyxÏ?;|fÂO¶<øö?«ÕÄ¿{.ã–ËEwÕòéóö9¯LˆŸõ憄åÓWžºj¦{Ö”mÈã[®ÿNCcÇ¢Ëåø³Ëéõ¸.?ãòx—y].ÏÕ/sÖ¾½ú™ïO+,,,,,|ôûK^9Ðêùüï¡ö•ÿóèKÕž+øÂ>Ãæ¼f‚£Ùæ°:®Éfs_•—'×|ó›…+ª¯Ls”ÏΙYrñKÜ÷ÎÎ)ÚÞÄÞ·,Ž,bðÒ%?8e¢ºÍ+¢ŠùVZLªL™¨í”“öД‰ >º?YwU*V­_¶Ã5kÅkFèDœçßÛ´ä/hGüzö°Á0$jµÎ±{Ùæ¢í R9= q»ÓËȘÐáõŠjȰ!j툌 W‡WD5B«2,5cB¬WTª¨aÚ«^s©þ¼+æá #‚ý¨öÀÂ_ft¨bEø(=vÂÊ».ÆÜý@ò¶MK_jþÀÝÒÓbuê¨ØØþò’K5µi¿Z9;ªãÀ3ÿâgêe¿Z3G×ñÞ¾¿ýOÓï>äï›Öÿeȳ¿yëî(gõ+?Xº~ÏÝ¿|8êKûtš¬%¯¾P~r༳Ɣ19+UÖüL_uùÔ³>)gòu¹–4û…âòï.+™¼ufÂU“­›­¬Î{µtk†Þm-™7ó™µï,­QKó߬ó{pm‚ÃèUN IDAT8ÊÅs®Ü³bûÖerrÅCýhíÓ»~»=Iª—=4ocUñ†,ëæ¥/[‹v•ÍNÒ4•Ìž¾ì傽+²Ø €XnZª+T«E}å¡J}Í1·«æõ°ék¶$ïÙµçO¯-ÛÔæRŤß_çé%YU+7Zƒr ‡7o/©v‹ˆÛZºã”þ¾ÉI7tôÛas¨£GÇëEÜMå[K›Åí𰱈۔¯§ò´Óy“¿IõØ!ýÔÆDi£b´ùhHì+%¨ËZ¸æ?îîØþLqaaaaaÑÿ³édòWüÇݺO][Ô·f=õ§gÿ?ßÿ÷eï™õɪC?[ºë—÷éâÓ‡_ó85+)>}ô5oÔ4:éã¿‘;:oÉ¢ ‡³?è’Š7¼UõLA^^^Á¼Ý ‹~¹(ãÆ¾\G3zö‚{š–?”WPøÝ•ÖÉKgn~yÞÒƒ.~XàÜ`):KvÖnj˜3GoœdÐ}oá­·ÞúÆ7¾¡T*Õjõ ùõÐ@Àãñø|¾>ø`Ú´i·ážUUU••Å=1psùZ¯Yôu—hÜQë8Ó ‰j(ÈIœ5J£[ãÌß¶´^=³&ì®q ï5Å)EÄßrúü¦ƒ¶ÊvŸ÷Ú§ì55ÿönOÔ„qÛ¿¡ñÝut‘UrgLx1⇗)"š!~0j¬Ò×PÓ°þà%KWßåu=ûm“º¶æáÝ=׿ñ»Š2¦UU/±^“ÝQC£fM^˜ ¼\T¯l>ñV·ÈPófÅûßÉõiþìœÄ£oœÜçÖ.Ÿ?ö_Â>˰„ä>œùâ(•ˆH[ÃÌ7Z=™c¶Oú ½q§cos@D-§æË×Ö‹`PÇ¢¯{ǛǶ´‹Ê¨Ÿ<*L×Û]qòÒïÞî<ñ@ÆËãNiôÓ2µF§Ïs¢Ö~øÈÙÅÚˆ­Ãí5§f¿ëðŠ23uèH­¿Ñj?|äìl{`ûôÏðÀý´l­ñÊC]œR<çæ¿kwED>š•¨pWi)?rv±!bcRÜ¿Õãi©kÝÝÐ& -6+DTfcÿé{sjl!D$ÐbïÜ[g_¿ÓûƒÔì0O[[Y·h#C\ííeqEebæ°'Ì^‘€¥²õ°;dLfln¤ˆ2|ŒFŽÞаH bãñäc¿®­gŠy†{þÎöFzbñKb¯µniU¼yëcqq""2gbÃÜ7Z-eÖÊ´ÔìàLÚ!E÷ö?ë埾óR£µ×™å}­Ìáõ´™O&£í޽<]*=-½÷©+Ö)š÷¡ÙZÚº]"æ‰Is²4"R0*2û´7*A¥6E™DÄßà¶ïnöÄ¥Ä÷›¯RD$däøaÅæà{p§¼þÁz{·¥ËŸ*⯫ºÔ!á 'Eî(i-­í)šnW,"â5Ö¶nWdfÞQ*"â뺡aQE*½]¶ÕUñ['†]›OgNÚ8CèEˆÅ/‰¯®¶[$d|NôånSÇÄm]Ýî*³û³û“Ìc·õˆRÄí9\åp‰ÄÆkt6‹[ÄS”pùîMÁwÒ ‚±%""ÖÆu{ú?Zk[@äªkÚ./SD$T­QÃBñÚ(ém,;þt“)7Ù™¬/ÿ™nýq¹z[:CDÄÙÖ^jQDŒ‰ öŸ£¤®OÌq¹f­ÓغÅÒÞ011ñ ùŽüæsoù¼ö˜ìáE1¡Îú ëy¢F ›“üUÞ£G^‘ï]IÉ2K÷œO¿å³ ‹„ểO™;^:iÝ‘løúvCÕ©§ùDDD‘;e4¥Ààóuýí®LIש$pø`{ƒ¯’§©u[»ˆÆ¹“´w¥™òÓÍÏÞ.âZ·ßæCÔ]"]K^)î½;ߟòúé²Îϰæà2þÉ6)E|Ç«¬?ý£µÒ%¢T%šME&Þ¥érÙ}ŸÒv±ÉÑùiÑ…ùI“5Òa©ßÖæqu¾ÕcìsXþðˆåSÍ“#¤£¶µÎ÷ ‹ˆˆ*ÿX³xÞ:àøš¾ìÐßPU;·Ìåí/Åq/¦køq`ðùÚnp1¦$ÎzlSûùï¾Þ99%Bçr–tuˆ"wÒ°ñ×½©¸Ì¤iU'Þ²ž{¥Ñðc³®xÒ½o_Ú½³º15j¤ÖßjµWØ*³aŒA¤ñÓVìºTrÀ{ÕÝКÌÌhuggy§¼­wjš!Qã­³^<Ü'*³1ñ3O˜aÎ$}ÙnÇïö´ΊSŸn±ˆŒœ›?*ØOþ¸¦æ}G:Kš}cÍÊ/lXLw<›yq¥×uÕ/ç¥qëêëëS(Œ‹—×QôXºñ@öc]ûŽ8DBb‡yâÞ¤âþ3¹šY7kÒ½%—öíi*ú^bʨQ[g4¿r ¥âd»ED4awMHXx¯)nà—Oâv¼Ué¸zÑ&GÏùöØ•Zë–ªÎÝÁ§4êÌÌa?Ìúì·kÓ†Ï:X³¥ýüúZ}®¥G$¬ ùr?…&¦¢ŽØ*9œæO[æ KèØœÄ»jÎîûª7§­añ×]Š&“Éét2„ŸáAãÒ¥KáááŒÜlø .ø¼•û/±ô}Ç›ššÞÿýäädƒÁ R©ǰÞοÁÅf³566Ž9R¯×óÄ"¿½Óo4|¿¨©©éôéÓ—.]êëë|ã;|øðÛjÒét ”"‹¸•ð]' @,€X±bÄ"ˆE‹ @,Ä"ˆE‹ @,€X±bÄ"ˆE€X±bÄ"ˆEÜü|=•§NÆb¸®%;-yûÄüýô"ƒ›r°|ïÑC [,'º"¢Ôçç$>™¡xÚY{üáÝ.Åäãl•ÎæÙ¯o¼n)Úq©»ŒTûœ¯l>ñV·ÈPófŃÏÙgþ¶¥Õh~ó{qq×ÕSÝцMG.Yì}"¢ŠÔæfÝñd–Á8ðìñ£ [.?« ?.þ‡÷F'ÞºcßéØÛ‘FË©ù2zã$ƒŽŸ$ˆÅ›¹+Kk–œô‰&<7S+^Kí¥Ýï;ãNߘœ¡¢Ê% ¥¶ÏWQåð˜ j¾ø[qv±_Úr¬W"†<š¦¥.!\-âik+ëmdˆ«½½¬3®ÈðÉk÷Ýl‘Å#š°ÜqÆX¥÷Dí¥ò²S–Æ›¿c2ŠïèžêEÇ|Ïö5Öw>R?·Ù·õ±ë£óaŠy†{þÎöFzbñ`kYÒ'ãÊ9#³ÃDD$§ãç».ttöÚ%Ü("¶’f‰—ôd×™—ê[Žö²Ãtu"âiòì8Öë2DOŒÈ]Õ¥ _8)rGIkimOÑÄðO\{ûz‹G4‘Ë¿—ú/ZùVçÏ_?µ¯®a[SÔSšæõÇ|¢²ü{£úŸ÷_´¶¯õ¼éÌIg½À 7®Y´7w¶ŠD¥ÅŽ˜¤úñ¬ôUߎ žn©k?#Êü,Ã]ÙzUŸã­Fß'-Îç(©ës\®yh¡Q-í Ÿ²v[£HTÊÙÚIaúâtµˆïp]¯½¹³Q$*%¾ÿÙ^¯Ý:6+>?9\í»µ‡]gNÚ8c¨YD‚½Èõ‹‹7'§«ODtFÅÇ«ë)«ê•Ã]¯'Ò4^8|äÒ'd³¾¥¢OƤFx\’™¤–.[i›ÿ×jŒQˆˆÓåë¸æYÿÑw-ÿö«£Áž¯÷Ýê#¯3{v\ÿÁéFKC©ÍÏOƒÌ`8 ­Ó*DÄÙæõHøGôb[{i—ˆØ–¼fëŸÒØRáŠ.Ð~ä¼G8¼"'Þ;öØÀ¤2K÷œI:õ'®Ýn¿zí~{[Ÿˆª¨kž Mɵrœ¯£®aõ1ß­?ðþ†ªSO÷Eî”ÑÅ&n®`° »Í&³HG]s¥k`’Ëöü†÷gîjiðùë,¶VQäæXþðˆåx.;\%=%§Ý½,Wç[1Æ>÷ðˆåX>Õ<9B:j[ë|Ÿ´ö‘"®Ú¦ŠËkïuì¨ñˆ(s“5Æx“YÄUÛ|VcÈ5F;†ÝßPU;·Ìåí/Åq/¦køq`ð7¸†.Ìl[dézáõšÜ4]¬xOÔ^:á–‘æÈ8q®«õ‰Æøh¦il𳚥´ò¬åˆ½e|üõ7#ÛO·XDFNˆÍL\Só¾#%;±Áš¼TrÀ;ð8¢3Ç&]8¡mÁÇK›«ËÒôÁ»¡O¸%v܈â˜P‘¡ ǵ,:Ö|Ö¬ñ76wV4ûDÂÆnÝd¤?EWwבóû޵oêìêõE†)Ç&&‹>aXd¸Šñ‹_õ§?i܆¡ [*/UXÚED©šŸødz„4ž©p‹*%:åò ‹,*–ö¶2[|±éCËqWXzD ’/§Ohbš!ꈭâÙœÅñV¥ãò ´.CAräØo{5¦aS奊cí"¢ÔNþÖ°'ÇGê‚ïíÁŒ ñç¶TvŸUE„eŽ‹{4'6û–EO[ÃbJñãýí¬í?þ`9ßÑs¥{}?kûûYÛë­ÿÅ¿eÞ3ÂÄ(n!@€QÀ òVî?¾ÄÒG)~d)oþû'ϳcîÝô"€XÄàæ·wú%qµ®ïÿúå_®>¦ø‘†E…ÿ?ú磷n_ÅçÜs(Åëý¡êü§–¢ˆœïèùCÕy† @,·—}ÇZ¾ð9 AâDs×>'Ä"0Htõú¾ð9 @,€X±bÄ"@,€X±bÄ"ˆE‹ @,€XˆE‹ @,€X±bÄ"ˆE@DD|=•§NÆbñ®¶ùkß¿­¥å£Ÿö×íùÇC»:=Ÿž]?ßtäùF?àÖ,EgÉÎcKÞ>1'½±xEKMk‹Ù”ÙÕZÚöÏuž2ò©ïeX¯z—ËqÂÞÛ¢4<5I_y°í„Íc×_œ‘4^Ùµîõ:Wáøã»×m>Õ11Zj»\»RÿdÑÈys3Å¿<Ã=g{c°eôÆIÃÀ`tYæin.Sq¼jì„h]}óÑÞ`v½VÚæœ8îwn¢³Ô÷yDDBÕJk½7êØÍsÇÌûK{º ‹Ò·ÎM+t_ÜTç½z±j髬 ûácé[çf<¥é|í`·‡ÍrÓÓ™“6ÎjŽ/@,Šˆˆ·ò3.;6Q)bŠ+6tÿÎêéì<Ü­)L W‹ˆÁ8ÍryÉZsôØ0Q™µ!QfcŠRD©£§Ýwí’CR2q"" sŒÂÙåe«Ð‹à&ñ™OCwÚ~gõ°~pÿ{SÙZÒâŒn¯GQšþ@ÔijWÿójå@‰*D­¹zEg‡† q‹öâ°gÇu,8æ‘FKCé„qÅ&.!àvŒEƒ¥µ!)åíéQý—¦ù:Ÿÿ•µÔ3G£R‹«Ã-&"~§«“È· CÕ©§+r§Œ¦|>Ûßî¾î’š¾±™ú+71(µÓÌ}{+ƒ!SÓ[ZÛíñØ.þ®1À˜Þ6¥X;·Ìåí/Åq/¦s|€Û5Íení4óÕ‡!•c3õžºæ£¾È9S‡ª+=´îÈìw»ïJQª…oO¤À p,7ÆÓfýF{+¥x¤ÅÿýÙg¶®úWF póã"3Ü0uÌ 3Õ”"·%C€§Êž”ñ‡l¿ÑÀþ±|„P#¿h€Ûá¯|†Ä"ˆE‹ @,€X±bÄ"ˆE€X±Üä\nƒ |„!*­FÉ8ˆE!2LÅ ˆE­«×Ë ˆEíR7± @,€X±‹ @,¸J `Ä"€réÒ%Æ@,øhC† aÄ"¾&¾žÊÓN'ã±\WŠÎ’Ç–¼}bþþNzbQDÄS_;eÃéã¾Mö×íùÇC»:=7¶RCMËÑ^ñUîzú~§GD\¥µ=l[C§cos@D-§èEˆÅ/š¯»ä`ëa—_D™=5sk¾N-âll~ÍÒëaƒÜLñ/Ïj¡ô”Ÿã5ÎÆ†çKÛŽ÷)âb šÀåÜ»çìkuRt1Æ…S“²µâ¬©™^9'¾»¬ÙÝâòÇeŽ\u¯ª¬äÔî®>Ù^}fRê´ššÕ†´­i­sw»\rfæ¶!y¾Ž÷ÓÓ·N ñuýüWu®©ßx1Yɦº©èÌIgÈüíÁ^”Ñ'tŒ ƒÎYôu½VÚæœ8îwn¢³Ô÷yDDüÇËN®k|ñÞYðgÏÿ±Å."JñÚ;ZÒS6~/s{QTKUC…+¼ðáácêGgf¬JëO@µ9ùÅL¥ÊnT\Šëbi›_Ä_WÓ%)±ciÅ›·‡=;®ó4ZJm~Æ€Aæ†CÌãözD¥éoMV¡v‰H_‡;pbå¡=ý³¹DÓìB¥BÝ¿’Ï´íGÍÖõ–î9ùþÒúÐüé:5[é&åo¨:õô±àMOŠÜ)£‹MÜ\Àm‹jJ-®·H˜ˆø®àihE”&$sÒø—G]³@gûçyKã³ ž=mÇÓĵÊHÜ´¥X;·Ìåí/Åq/¦kŸO1ƒ!SÓ[ZÛíñØ.þ®1 "¢Œ(¥8^ÙÞà¿ý´õù=ퟰ>¿Ó}í…H¯7xћΛ+—6ýO§nÜÐDÎASŠàVŠEe䜩CÕ•ÇZwdö»Ýw¥(Õâ ›Ÿúd¤íé_yhÝ‘ÙqIbü¸%„é ÍÝÛÌ=pù‹CGEŵŸû·M'+{E”º¢´3íÊ´p¶ÐMÈÓÖ°˜Ràön·Õr´f­ÅÙD7#oåþãK,}”â‡$-þïÏ>³uÕ¿2b€›ßMy–·ó⦃ÞÜB#¥x³ReOÊøC¶ßhà*¹›íöÿñý–)¯58ÓG>É×+ÞÜ{¥Àíàfûû>tì¤Ìw'±]nŽ8c@,€X±bÄ"ˆE‹ @,€XˆE‹ @,€X±bÄ"ˆE‹±bÄ"ˆE‹ qëòõTžv:ˆEàºRt–ì<¶äíó÷wÒ‹‹WqµÍ_søþm--Ÿkeöšš)¯7·ˆ¯r×ûÓ÷;=7òZgSÛÞ6ßU Á×§Ó±·9 "–Sô"Äâ-5­-fSfWki›ÿŸX©2{jæÖ|ú^â««<_ÒcZÚö™±qlº¯‘)þåCÍ"ô"ƒžòF‚ÍYbñÝõ ¹°¶æù*ç¬#Õ"âëúù溎ô!RïjqyZÓß™oðUî<º>"&³»ë„ËkïÕ<8êÉdÕåU6¤mŸ¤SûºK÷œÙVçîБ)Þ{0&Qéo©µ¾ô?ö:·ˆR•=ò¹‰ j×õyë«g6Ž|9¹qv¥ië÷âãÄ{ôÀ™Õ–n§ˆ(Âò¿=ò©4Øg¿á(ÌÑTÔv·ty%>~Õw╾ºCg^ªtÙE<¢ÊÎI~.ë†R¦3'mœ!ów¶7{QFoœdÐ1. :7pdÑÓÜ\&¦âxÕØ Ѻú棽OôõmŒX8+cë3j;~¾¿Ã)" iµöäNMßú½;7çøKw7÷]¿Hÿñý'_éúò‚oþé)™Í瞯ê‘ÞŽÕ{.'e¾ûÔ7w}Gü/õ¥¡)÷Žœc ™Ÿ±½Ðp9òœ§Ï>o‘YgÁ„íj*öœ.íQ*¥ÏµWâWÍÊØ>'9¥ù¦FŸ¸ì«öÌÿ΂ ï<¯­¿x¼—Mÿ…ô"Ç ûy+9ã²c•"¦¸bC÷ï¬ÞËÏ¥d™âDDTãÓ#¤¹£Á'"¢2ÇekEDâ’Mqn§¥óºEúº÷Ö÷ÍŽNTŠ„E>ùøøYáfZõƒo<7J%"ºø¨…·Îõ‘§¼}Ç-1ÇçBEDgŽÍÕôîm¾¥°‚´µˆ„…ÑŠÝ…*Né-;rñ¨Í«6DÿxzÒø06ýҋÞ×pºÑÒPjó3& 2Ÿù4t§íwVß ë÷¿70å­%-.ND!FMHpšZ£__ðÎV1°•Nüö¾ëK¢¯Ãª Ö0•NDÄ{´ÒúF]·Ý'jñ7öÉä~C—+ N¸¼ EbXÀÌJEˆnàc©EÄ'õṲ̈mi[ýƹVeX^NòSY:ΙþÓü U§ž>Óp}©F$+êµÔùDz»¶í<ö|­ÛÓëõ*4fm¨ˆï¸¥ùxŸßåö‹„Š<î«/{T¦dꥱ¹¢Ó/"öúÖ wD¡Yõ‘oßÓd¿ÍzÔ%"¡Æ˜£RÄǦ§À§ûLGÍenísæ«gVŽÍÔ{v7ýV¼(cÍîMoXê:½£ñÙéQ:ñ‰H”9¼rwõkv·]ñh¡y¬Rì×¥êØI£æì®zC‹«OaNM|1+Üè6ÍR?C‡Ñ ÊÌN|*¥î¥?Öîx,-w\øk©yÈ:|ݸþëFxÑ~výG׉ˆ&¢à;£ ´"ñþÕ ñ&œY½ù}»ˆ(Uã3GÌIà°âççikXL)ªuUÈŸIDATp{ ÿÔ|]?ß\ç*ÿ¢ùêüòUî:Úÿå8Œñ ä­Ü|‰¥Rü¤ÅÿýÙg¶®úWF póS2¸qªìIÈö ì?‹ÀG58•Àà÷OŸ†0€ÓЀÁ‡ƒC @,€X±bÄ"ˆE‹ @,Ä"ˆE‹ @,€X±bÄ"ˆE€X±bÄ"ˆE‹¸…ùz*O;ŒÄ"p]):Kv[òö‰ùû;éE7ågœ¯å屿x)bã E9Ê’5_À[°5Î|£ó‡?Hÿ—06Ç-¢Ó±·9 "–SóeôÆIcÀ u#G#ãÞ|æ®?=sמ¤-Lñí(9¶¸ÆÍÞŽLñ/ÏjéïEŽ/0x)?ÇkÔڈ쉩•5•5M5^)Îú†—ö_<îQ¨îš˜ü㬈†ý–ùmæíEED¼e;-¯Ó¶O ««:³ú Ã.¡¢ÕOYl¾ú x8³ÚÒíEXþ·G>•¦[ÃÌ7ºò3U–F½Ë«6'¼85.Q)Òi[·»¡Ì IL1?7):Né«ÜõÁzmtJcÛñ˜QÛ¿cP³y¿4:sÒÆ2g{#ÇÔ>ÿ5‹qi1#Ýβ6¿¸ÚžÿãEõ½ãÞY0a׌¡N¯k’ÄÌ(c[›Å%""®ÎÒ&UAf„§¾~ñ¾¢ÞY0akNèŽ?žùkï•:OŸ}Þ"³ÿ΂ ÛÔTì9]Ú)"!Ò×S¡4¿<+cûœ‘cšÎ¯®q‹ôì(©?lLÚº`Â;?•Ûl]|°[$T­ô·Ö÷äϘ°‹RüŠz‘ã‹‹G£Ò)ú:úÄÙØv\c|JñC’ÿ÷gŸÙºê_1ÀÍOÉàÆ©²'ýÿíÝ_ˆÝæ™Çñw’˜y§¶§š„IäÖY+ñEÕ ­e µ²Ý–T%[¢À¶U·ìVt!U/º9…B´,]ݺ[u÷"‡Â&êEc•.ä,mZ%*Ca• c%ЩRêµ² DnVl§y;™½ðÄÿâ$n3 Ùçû¹:~¥ñÅ“ü›çý÷‘}ìßÏÿ?˸îFŽ(€°Ø¿›n}ìë·òß  4‡@Xa„E@Xa„E@Xa ,àÊÝ@ €Ír÷þ?[~›Góbíà¡cGÎP$a˜U£û>²ò¶_ùÚ3„Ea˜a¿Ý-„b~iù¯W¶¬®¾´zü´Ø¾x×GoÏ6«$Ea˜eÿ•?'„7,>ø»V§ýCkgÇ}ô§ÞÖy ¸ ±ÁØô_Á¶Ú7oY^ž?——æ——nÚͯf€«ñŸ5Jl²3¯>.¾ì|âÙ}§Žœ|}~á}»—¶ˆ“Ï¿À44à*DgØô°Ø%ýê©ã¯Ïoß¶ò÷ï^Ú"ŽÿþáõaÂ"à*DgØ|'~×ÜÿP3¿mëîíׯüÑSäDaÀ߬••ØË Ë çF^ýñÏ_`C4€°`þ3{×ܱåâÁWV Â"€°@ÞøÅ;¶ˆã¿¤|éˆzãÍÑ5Ö,‹„g^zíôSþÖoˆ‡€«»¡Í¦^~øçÇw~|×]Ë7p7àjGgØlrùÁ¿¼yeáæïȼ`ô•¯ùcEu„E`æ­üà —äÂÓ¯ž .Â"¡ŽÝÿoÇ(€°à²ßª­wï[^o\îÙÚÁCǸ÷@Xfù[µ8ºïŽ•Ë?{åkÏ„E`–9ñHyüŸ÷ͯ®¾´züù¥Å»W_xö…òäëB¼z„¤ ,³íúÝ·o[ô­ýóÃûÿü§_ûÆ¿!)®:œ³lú¯`[í›·,/Ï¿yÈâu‹K[o^^áW3ÀÕøÏ%6Ù™×_v>ñì¾SGN¾>¿}Ûîí׋“/³Tp5¢³lzXì’Ç~õÔñ×ç·o[ùÀûwo¿^ÿýCjî†\è,›ïÄïšûjæ·mݽýúµ“§Žœzƒš‹Î~«îÞ·¼|þÏš}þ3ç,‹À¬«´Ñ}áœEaÀåœyõ‘â·»/ÿìmÎYT…o†ObÏc]S+ŠC[£¦Â"pí„Åÿ•Ÿø#FµÐÛ±í”Y;šBHËw&hÕÔש*€°\#ä-ß{`-/Iƒ/ëgbôiñ­ïzJ]ö§Œ`2&®çÅÓ<²¤º3J“©™ÖÊ×%ekÄu‹Û¶,n¹ä«¶e~‹XÜ&æß)eJ+š¦­ãyrš,Mˆ®U’œ ,×õ¢ÿÍ'.ûä‡Þõ‡5')ÒÈuŒÔ²µ®,UPØÄEa¸ÆÌ/Ýx÷ÊòÞ¥ë׎ê™c‡ßå¨EÃ|ã\^ŒË&ȧE#Fß5ÉŠ€Í­¯¯S`SÑFCqyå£ÿÝ­;Ï?9õƒGÊúÍÚ…/7ñ=oýT×ÔuÓuBhšn˜&k}£³lú·jñ«Ÿ¹uçéSOj?³¸¤Ý½Oÿâ}Æþõ¹Õw8a±™Ž‚ð»»[všBuÍóÇäþ¯L²Ä7ˆŒÂ"pí|«¶î]z½|¬¼ÿÙVâ#ÿkÿòonÚ}ƒxû°Ø$~XyÙ‹¹sA3±-ßó'v92¨* '×Q`³½qâôõ;o_ܸñ½Z˜?}zí~BÕykG#çâigÝ#»ÍkEI„Eàš¡^~dõôNûcÙ][ç…X\Ùû½}ï;±Ú”ïù¤aÉ*ÍÛK†Û"«¤Å‰Ü€1 lº3T~ã̇î:õƚ󧺗ÿ÷ðO^zÇK]Ìq:ò¼r´ß±6Ö,¶uy°5œ&Kýa74°iÎ톾—Û ÝÕEQžÛ mZŽm±Ð/:‹ÀP´åtšM‹ªm•’RÓM»Zà°@XfªcÇN„øþÈÐ5©TÛÖEXiXÑÂ"0ÓY±Œ'".Ëиp4ý‰í$å(uH‹€ž°F\RÓÞ2ªéšè( GtVè¶¾´Qà˜†¦I¡º¶.²x\;)“ÐÂ"0ã4gRNÓqqõü±5!æß¿Ë´Ý +GŽFyýáè`Ó¼ç£sÖ, êI”^r­ŸjŠiÙRa@“¥YsñÔDzQÅÍЀ>±fU§QT\¼—Eš]âE~ÍÂ"0ëaQu]{鬳´}×$(‹ÀÌÓ¬Ñ$u †€aÍ"0†xe E`¤Æ&e E`Tû~rÁÆgU%¾³Ð;:‹ÀHͰ,¡É ô‹è7¸›†\צ¡APu:¦677777'uÓe5“ÐÂ"!„ªÆÞ¨²¢éá_=zôh™Íjäk*èk!hká%q`o,R4Œ8.ЏQ‚#¹ý¢³ €´|³™^¸º.Ãç–?@ïè, ÚFt“;Ò=ûMMŠ®)Ÿi»œÀM…´â,&5‹À “ºåïü@pþ‘¡“„E`¶énPÀ±f•»§æ¼…æå¡èE`¤ï7 lS“ª­‹I<5Ç“À”Br €°Ì6U%™>.Þ<:Ç0LK–vÚŽR›¤èÓÐÀ Ò¢j몽à蜦ª;Åü3 wtv*û6=Þcº][=Ý´„EBiEeç—EY7’šnØŽchÔ@XpV×ÔuÝ*Ãñ=Kª©ÊZ–É)‹Â"0óTÙv*[oã$½j”4š¦žWö£UÐ6¸ƒÈŠÉÔH«*ŸæU9ªÂ©“wmÓvGcÇ%û\„E`¶u46Ö(ê¦aXîÙÛ uË”mGy„E`¦IÃEVvBˆ6O+UŽ“¼ª«|çÒ1Yµèk!0G±ã|riN±ëóò¬gÜHӳР<€þÌ­¯¯S`SÑWþrßséêÚViûŸÂ440Mž¦y§éç’b›§iÞPa€PmžeÅ…×ýµE–å-û }cØ4ïu€á¡³Â"0dªðtÃ/.˜†.|C÷ ¦¡}ãè`¤O3qÁŠÒgSÁ ‹Â"!T3M3é(áÚ¦&…B3m›ºúÇ440Òp]£ÉcßÔ5ÓñGqšWl…œ¥YÞ(Ióªíš<öMQNB[× Û ãiCyýaXl4l/´½0BµU‘—RB°x@Xf[Weq’eÝ´Ðtݰ?Œ‚Ûÿ}bUŽl'nL'qèV092,7©Y»èE`Y1™ê“2óu!„ðÍuk³Œ§®a;q¦6ÝE@Oè,ƒIŒç?uªk:%„Ô¤êè,zDgi¼ÖuÜ2pMQç“´õ K6?lÜ©E[Ð:‹À0ÒbR±+벬…—ebK¡»qY¥ŽFyý¡³ „fyžÓJéîÆ5Ò°MêèE`0T“Ž£‘k¹QÞ°P@Xp)Í™”y(bÇò⢥Â"€Kò¢áÅE=õ›È¶üIÙQ@ŸX³ €ª'£¸TmÙTq¤gMKæ_½Ó(~Ñf¢„E`vIiضèªjÚ–}î¬Ûvi$Ea˜m†„BÔR•ö(` 4€°à­Ì "(†… .@ÏšlŽB[×½)ÛŸƒCgè™áÇc«ª=_3uª ,¸„ÔM[gþ0HLC€°Â"‹ÀµEÕ“(­ÕÅcM1-Ù ,M–fÍÅCRyèE•¢:€±U§QT\|³Ÿ4»Ä‹ü:±¸ñ@Xf;,ª®k/u–¶ïšEa˜yš5š¤.Á00¬Y†ÀðÏ  €á¡³ €4Ãø²W¸¨¶é4C§áè E`ÀTØ~Á~h@è,C…õ$št†iXŽë˜ E`¤Ô¤hª|ÚKÒpÂIÑÐN E` ?N|!„ª­ò4‰ì±rÇ“±Aiý¢³ ‹Ô-/J˦J¬"´ý';JèE` ™ÑeUPå…âú@è,CÐæÙ´ºäþ–¶ª”éz¶Ny„E`¦©*þÂ}{ +ÌÎoléÊØÝaøYKy„E`æÝò©ÇËH kÎh^Öü_EqÅÆha€4ý´ˆEä†ùF7QZ®¡jZ‹€±ÁÝOóÎsm/œŒ=½MÇ¥îlpô‡Î"0,Ò órb–‘kÙAnÄihR@æÖ×ש°)Œè‰+¹‰ï¹ðªSR£…:‹À4Å4›rÅ€°à2T›giNX \€v’”0@tAPmEaÀå£bîš^~q\TUìzIM†¼•´Fc3ó£²£€þ°f†cO~zaîr¢2.\Õ™v˧”™«½õÇ/‹„Ðt\ ,x éNk›¤ 6¸ƒ i¢Ê¢ÀµMC×4Ý0-ÇMŠ–ÍÐÂ"UŽl'nL'qèV092,—Ãs½bDVL¦ú¤Ì|]! ÏÚ(pÆ4ý8 ÊèGç›æ=#T×¶J3t:‰€á ³ jëF¦nP À°°fBV,üØËZ*:‹ÀH·`A`è,¡ê<Íê ÎTl‹¢âØa€PUd[þ¤lχŮJCÛpÓ†ê‹À¬gÅ$qY&Ž&TFi­„æ¦U6cnpY׵°Œà˜N&g知áªa*@Xf›4,Y&ÓF Ugiktq”e‘Ç¥îrƒ  G솆ÀŒ&¾ãÞ¶ð!v}éñ"Qã pkazÜàè7¸›æ½Þà"º¶š®ÑI ÓÐÀ¨*Â$ï.LŠªJ'gç‹D›gÙ$´í0?w‹‹RmÙöˆÍÐÂ"ÍNÊbÔ†NXtÑ´H´iBZ¡™A–‡uàFåÆì³¦KETô‰ÝÐÀHs4Í”çY®ºf;++áè@è,ƒ‰†ihg?jvTT©'«¢h­¸È|òúCgÍ4e9-4×65)„R@ÿè, ×5š<öM]3§yÕ²X@X „B³¼Q’æUÛ5y웢œ„¶®¶ÆÓ†òúÃ440°ØhØ^h{a$„j«"/;¥„`  'tظÁ¥QeÓZ÷BŸÝÐÂ"0ã¸Á@Xð¸Á@XðŽy‘\ƒÃ`H¸Á00tA„Dnp ÓÜúú:U6…=qå/7ñ=Wð–j›N3tz‹€¾ÐYLí¬Zô‡5‹ÀBa=‰&a–ã:¦FAƒAg)5)š*Ÿ„ö’4œpR4´ƒ@gÃ_!„j«&4Sãa˜Q†ëkU©{«Ï !ÖŽ=óï;î(׳m„{× J€~p(7Ð?3ŒmË÷qpíÍ¡µ§¿;òóîé5±ëIHVô…Î"°i¶ËþÄ75w’µêù‹=ýÜÚ®/(›9ha¸ú­ìXü“ß”f0mŽþìá¯Ü»Ï®[nÙµç®{xøGëÔ7(, GsëëëTØÿùË£ÿò“Õ+yó›µò÷q E`Ó|vßÎj ïúÚµ…ÏîÛI¹„E`¶,.lùöçö¼ëkßþܞŅ-” @Xfηßtà~ûíú‹ÔÜoßyûM pµ`Í"°ùN¼vúG‡^xêWíê‹'Nª3Ûå +;ï¾Cÿì¾ô„E\#˜†a„E@Xa„E@Xa„E€°Â"‹ ,€°€aù3ÇäÿéóJ‚IEND®B`‚murano-9.0.0/doc/source/admin/figures/network-topology-2.png0000664000175000017500000012420513656750211024066 0ustar zuulzuul00000000000000‰PNG  IHDRßàÃDŒësBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝ{\Tuþ?ð×ÜÎ 0£2È \AØÆËÈÄ. -týš méÖŠµjm`»ÀþRvK­”2ÝÝ”\¥6±Ú„Ö*å«î˜¢N¨\ŠA`aaÎÜ~œ@nZi«ö~>|ìsfÎçœ3Ãç5ŸÛá B!„Ü4øt !„Bé„B!„Ò !„BnÂﷹÇÃnµ8º»íÝ]v ë0›í¬Ù¢o±›:lF#«ûÖzÉ`mn²¶XƒÁ1mÖä—þŸaèDB!äñ®eT¬¥µù»ÜWÐÝå°Ûa·9XÖÞi²š:ì]—a·÷‰.Ž+_›çp8l“ïˆØðæízú,Ι>-r‹™%‰¸ƒÞL„BÈuqMm'U¹¯[ Çã;ìvðxè—E|>àñy<Àãñ€P[YùÛ§Ã7äB ¸ ÓI}qß?ø#FR:!„B~ÒtrÉæÐ›X)#<»P ¾Çã …"!_(ŠŸÇðùàñù|>ŸÇãñø<Ÿ/àÃl¶|øÑüGÀ¿‡¹X››aµýÆü€çrǧá;„BÈO›N`³êY3LŽ_ï åXø€Ãî°ó<;\íìÖáÇýŸ«ú¶Ùl<€o6;ÞÍwümÛrä+^üÃK'„Bù/¤‡ÝnéîòxV«Ÿ—¯ÍflàžÝaçñz#ǃ=ñÄ8޾Ü\ðxŽî.ðù<‰ä&¿N¬¡ÉÀ»#÷•ÓècB!?tÂãñ‡àB>ÏðøÜÐðx¼ž‘°ÜÏ<Ï!XYÖf·3B¡sƒaÊ™3g>øà›Í6vìØG}T*•¸téÒ믿>kÖ,OOÏÂÂBwÝu×ìÙ³ù®>”¶¶¶Ý»w·¶¶ ‚Ç<00ÀÑ£G?ýôÓäääššFÃãñþçþç¾ûîãžb7™Z³3º¿ÒÆÝ/amý½1ÜšÖ?¾ÄÏ=þ~ÅêM%ÿ¼ô掮.‡Ý6âZö›¾¥5~¸·c×;6“‘ïá1:÷¯ýŽå»ä‡m-Í£ßx[<%ü:^$ÃáÌDzŽX®²•(:ëïÙ1rzOB¹Õ]À O©žÁ8sŒpØí<>#GòüÆò'NDÝ)ˆ»_ð¿‹E‹S„ÿª+ááÏΞ=pæLSG›Ãa³Û!– šPN:õÞ{ïI¥Òààào¿ýöÍ7ßìêêêy´ªªjÿþýcÆŒq8eee•••Üï;::Þ~ûm½^?qâD‡Ãñî»ïvtt3f €?üðøñãAAAv»ýðáÃUUUܳZ~÷\÷WÉ/Ônêì9-7õ ¡·&x‚df3>€iß?DA’ÿ×J;þ±§=ïo½)áõWÚÞ|Ía³¹ÍŒËwwï{,m[6ÙZš¥sy}£ CÅ9ËÕ·²œ«øþ7%0J»ÿ‰}M×°eý{OÜŸvØDB!7AÛ ަÿ±Y-B>_Àçó>Ÿo1‚•Ïó¼¼Áãñø|ðù= $–S•­—/Ãá8}ñ⩦‹Fs·ÍÍ=þ•÷`sv>øàO?ý´D"ùä“OŽ?þŸÿügÖ¬Y= $ , ûæ›ovïÞýá‡FDDøâ‹/Ìfsjjj```uuõ?þñâââ…  …BÝÝÝO=õÔ˜1cNœ8±ÿþ’’’°°0KCùìi÷Ø{¼^ú£ÃjuX,¼s66ýÉTüOÙà ÝïãÆÌø¼ñ6/à æÓ§.>ûëÎâOF.ýö›³¦¢ùîî~ÿø˜'9,¾¸·?ˆ­«5}ò±hÌØQO¯¼Þ׈ =)Â_:\Ìh¨hXàFõîÌßü÷©”>2„Bn‚tÂõÝpÓƒ«/^dm6‹Õê1ÎÓ“7è2k7è„o³øH˜`ÙH Ÿ/(ýÌ1e*OxÅî¸V)S¦ˆÅb³gÏ>~ü¸F£éI' Ä……9Ž &x{{·´´Ô××?~\&“q½9¡¡¡"‘¨ºººçeår9×ÜZXXØÙÙ Àn4€Í€':KÂç;¸PÅçóøÎðÔ“9¸&kóEgTzãUŠôLnžøŠ°eú`Ãj•-^Ê÷¸8ðèóÏz~ÝëYQTÚпC>9aZ[VVýÀÌrzß«¯¾{¼‰¤ÁqÏf?#ئâW3¶60¾þqÎV™¦÷žxâpÜãÇŸnh0?¾v>»ïÝÒ†‹Mìä'7d'ø¢~ßÊ_þÕ?¶DOûß÷#žœtîЙ‹›Lþ ÙÙON¾ò˜ÙúŠãÊÈŒŽ˜Bá†BÈõi;ÎY9ö¦¶V‰@À]õçíÝÝ|7÷á¾lˤãFJí‡yx ÜàÒ¥K¼¼¼¸‘³R©T,s¿äøùùÁ9ðãÆkiiioookkàááqâÄ ‡Ãa·Û†±X,ÝÝÝܳ¸þnÈ‹X,¶Z­Ä“Bùî—¿(½´uó¨§WbØÑ0Ö–fcÁûlÕ×=¿±wšØo´|77qXÄÀím­-¦ŸxÜ'»ÿ†])†‘–2ÊGûóÿcr†i¤Ñ¥æÝu[þöÑ£LSQÚ¯n3}m„éк7*&gÿãùéRÓé·V®tÆ–3Ç¥k7nñ5Ï|,#sßšw¶¼-7Nì÷NÇ=7¹wg°œ+mzöí-ÏIÙš·[ùÖñù[æ\1Ü¥éÈÖ¬¿ëW˜Ñ¿ÜüÎs“iÜ.!„ë”Nœ àß=ÖמÃá°»I–«Œ…°Ãasع9<ŽÁ6Ðëõ=áƒãîîn6›í®õg}:ƒ¸Ÿ›››¹ðÑÔÔ´ÿ~î!‘HÔwK¡p°ƒâó=W®n{핎‚÷ÍÚ3Þü_6bÐb÷ïkÛ¼‘'ŠÆŒå1bkà°ZÁã ¼|]Sθžø†V½ìÅÃE‡cýƒKÞÿ\ÿÙ;Óž$Є<ó·&FÊðãûVi“ “Ï•žc"ž‰NžŸàÿa‘ssQðœh_ÒÑ“¥"CÜt9f´¿ÔÔ¿Dä,ÀøN#MÀé$àÑ  +×|ØÐóÏØŒÍM!„\ÿt‣Í̺ …xv»ƒ‡A6÷C—ÕÊçñlv|ß9ÅüÁ7ã:˜z’GHHÈý÷ßosíËápH®6+ØãÞxqhXËï_0WV´¤¯òyýmÞ€Ó}RÓ¶y£p´¯Ïko }F7-_Êž«¹jy Ã9Êôi‘ìá…¢ñ!7¨í$øÑgý¥ræé¬É§Kå(,ÑÔúëÖ¿¾È` _¬ÉdaüE®Wõðõ¦¦§}„ází˜A;ï¹ë×CiÄ3›7ÀPÙjhí6³6{Ôòi^ºQT*;ÚÚÚäryqq1€èèè¾è_ÿú×½÷Þ{üøñ¶¶¶#F( Ó§O?~üø_ÿú×¥K—rM, Ãð‡¿ÙÝΞ¯ÚM&¶¾–'ñÅb<‡¹êk·;ïâ»{ˆ§„wýßáEcýM%ÿìû£žy®5óEý+/‹Æ ÇÀnã»»†ú:À÷JçþÒtà“ö¿n•¯É¸¾É7f*›¾ä—o »‘Èÿ—9¾Wf–àGžœžñêcm•û'üêÙGÎ¥o]³ÎÿíçŸöxFæÃ÷3žÓç'L•°ô9 „r3á C.áåp8¬V›Ãn;øüsß•ÉîñWÖî 6ù(»Phëº › v»5Ãf³³f‡ÃÞÎ:´—:Gö–µëÝÃwø-X"ÿUoÀÒššš¿ÿýïär¹Á`ð÷÷üñÇE"·V¬L&3#FŒèèèàñxO?ý´€Ë—/ÿíoÓëõb±xĈ---<ðÀwÜ¡Óé¶mÛž”” ««kãÆV«5++Ëôi‘acŽ( ÈÖÚb¿Ü9â‘Å£ž|<^×±ò–Œ5ø‰â¥? }•º'—³Ô^õ·|Ûð¯Ã\i ¯½búäc‚#v›ïÖwØ3§[×eŽ\ú«‘Kž°›Lß>@¹=ï†>!„Bn‚ßýîwC´5Ø›››/^ljü®Q÷ù¿Í-͇ã;ÓåÆÎ΋—õ]£$ Û¬stšì]—mÝ] kgY‡Í›M »L, ë7¶«m”„‘ â fZôÀ{ùÊåò)S¦ †aÔjõC=Ä;éîîþ¿ÿû¿ÀÀÀx µµuäÈ‘=ö˜···³™@$š>}ºT*eYV,GDDDFFŠD"B¡0$$ÄËËËÙ|À0ãÆ ŽÃŠ—MÂ1cåÏ­‘þòAntˆhŒ¿h|ˆÃh(¼Ü¦Íd&Nv¿kŽ­¹™/qS<¿V¬ž.TxIÔÓ¹Ws‹ŠO°wš#FJþ'ÚmF4†ï!u›6Sè3šÇ0¢à ¢€@ˆÄ¢€@zoB!׿íÄh4Ö^¨m¿ÔVÿ—·ºÎœp¯·»„Ï»?‘5ù6+X3l6XX‡”/b7‘XÌë29Ú ¶›q*‰{Púë5<áU:’zîȵ/Y²äÇäM}3BB!„\i¸¸ “É”~ÊŽŽv>Ÿ«Ú|¸Ÿ|¾D× áó`³ÃnƒÍ΃F猇k“ÞLpmáàeŠ&„BÈ-ä*wôòò V©X娾·v6E˜»ÑÕÖ «»sÏð\zî`Ì=D§›B!?6ðõñ¹ãñÔæ©j¾ÝÎ… ®)‚7\¿µÛíÜó\”q8Ì´(Þ`«¬…‹5‹…®!„òs3ܸ“¾þóõ×¥›_{¤é´„ëÙášOÜ¥<77ÁˆQ‹O ä ‰~þÂÉ‚ÑJÑ„ÉtŠ !„rCÒ ]S“°á‚ÌÜÉ“âKe<çîÁ1psã3 x|ê»!„BÈOšN!„B~|:„B¡tB!„Bé„B!”N!„B(B!ä–'<þ<B!„ÜDéä…Cv: ä¿"Â_öxô˜H B!}QÏù¯©h0®~ÿÌÉ# B!”NÈM$ïðwt!„P:!7‘s-—é$B¡tBn"fB!”N!„Bé„B!„Ò !„B(B!„P:!„B¥B!„J'„B¡tB!„Bé„B!Dxµ xÁ³Â·Ï÷ü7Ûyùð‘ó¯Utu^Ã«Ž˜²sFû²w¾m¸æå@E#F%Ž3VtYèâB!”N†Ô®[öηçl€@89lüŸî›øTsÅë:ÇUŸw±êlÊ7Ž‹ßg¥rù¸1K§èŠ)ÜŒþÞ‚¦và¥ñ»IÛ».Ò’ô„B~ºtÒÃf=]ÕP<#,&D"jþnYˆÇ£o„ÌôYeZÛ£ ÉJ¶Ó˜àÂ>mtØDWÛ‰0bÖøç"drØa¾\üÙ¹·j­oôÄ€—îö ñࣽ£ðйǟ_óyÓi3[u…¡)R3’WèzVh˜Œi8W¨³¸xFwü.U¢Ÿà´‡Wˆ¹í­ VçNhÉŒPº&7%KËw/~æž{ßH)PpæÅcŒ+šhªúæ§ØŸ¦06›Íb±Øívº.„ò3N'#•Û«ä~dÛ;Š µy-ØMÝ6 <Å0™#Q,føÒÞ¡´<>ã¼÷¹ÞÝÖx¥#L·ÙäªqÚ.àÑ%¹Y9*¾Y =e“O»t’§¯+š¬8p©í§Š&f3u B¥“žQ±C±ÚÚÌð;³…ÈC,…½©·qtvÚMß|³è㎾ãFGØ q“ ðW2¦ænº$·J@ ™ä‰Ÿ<š°XhÀ4!„Üæ®Óz'¶Ë‡l!jßÉÂȹ¼½íx{Ϥ[u•þÊ9roï—’cÜahh­šˆÀóÉMòƒµ‚ ¤tenæ€òY»«Åë§Ž&¨C‡Bn{Âëô:¶ãŸË›ø§4oXÁv´¿ùÑ·çlíz¸íìù—}Æ?·èާæcÇ.œ¼ Ëåæ—?uáîð‰|¶ÓT|à\ée‡GM{SdОžÿïméeº@7k@Á„ÜûFš~òhB!äç€w÷«ÇnÜ«ÿ€ÕØÈ­òÎñ”‹XÛy=^ëàšé×¾ñåËZ !ä6'¼‘/ΓŽ0V KÑä6äh3°t!„Ü7î>;¼ˆ¹áÛg NV´è4B!äšÝ¸¶Gůï9@g˜B!ßÝ£˜B!”N!„B(B!„Ò !„B¥Bú1•qï]}ÜÿXÆî¯Œ×øÜSº?ã«ïuOÝÕõ QóÖºwNu ½Ão6?t×]ÿ»áTï._üúÞ'>òa<õé§ß\‡»éþúÞÇ>Ð]u»«BÛ—›ÒÓ³wõÙÂr~WöŸ‹‡¾ý@W½FÓxîN`Ôlþý¦/‡XÐXñVú ¶kÔŽ›Kÿüû·*ºècFÈõ'¤S@nwÌo|²þbfýW;žþùì€÷7ÌR\õyâ)i»ÞgeâïN¾Ü±û›Õsg*ăWÃmÞ3܆-+#5ÈÙñàß~=áZök®Ù½íãY3æMÿ4§òZBh?úH;>Yåv-/ii(;p8T¥öÝÈ‚Ë"žÉ‰‹vûóe©ÉãEôÉ „Ò !7±â©Ëgì]ûi½y¾üõ#»#Èìmº{ëßVÊmÎÞr †eÀ2¡¬NÿõL…ùÔ–%Ï2?\ÿ ±ñ«·³söW›ÆwFjzúƒÄt7do9Pc0cyfæÝMÙOo©1àù%M©ol^¨ì_³7œh‘EŒ— _Déisk6æì·uqà•‘c@êß~úù/ ì±%ýç©pMžmÝûSÄÐüõÃÙ¦´÷ÿ¾P |óöÿ>[¿úýLß/7ælû² \œž¾pŠÌ|tÍÃ儜Ü[úêÖY½ ëÓŒ§·aùÖõó”ø!‡ ñŸ{|x ~ÕÃý€Q{àƒ6tB™êÞGÌôn9°uWµÉªÝôç¯'¢¾#á…eSÜÐ¥}gýÝi/<ì'BÛÑÍ›41/<3µKóÑ{ªÛ¬€P6~ö‚w¸Y´ï¬ÿP6Óïüáú€Ô§U½-8šw6!aåjÏ«¤­Æ/÷¾WvÞh„žª{]0ÓGdÔl~¥Ì?F©ÓêŒF#”³““cÜÐuþ@þGºH¼§ÎMNˆðì{tÆSî*úº¥€D9óáä¹*ÐuþÀ®üà V‰Tãyê ñáßÞyôµ|$¿°„‹nmG7o:<5mU¬}8 ¹õìŸ,À­ùÒ´p׿þ¾r‚áãµÙÿö]½ëŸ}ôÏ]Ë™ýÙ9_ôéþѺöùýÌò¿ýóŸÿüpëBö緜2u»ŸÏ©žõê'ÿúü“7æ5mY»­iFfæRùÜWw Œ&€E§©w›ª’]µ„‹Ó°;rö_ÙÍ2H0á×ë–0!«wýý÷÷Ç…²Õ'›kBØ/ªtÕÇL!óB ;Ön¬Ž\÷þ??úèÃ7¶­ÝrÊ 0 šŽÕßóÆ¿>Êúãªdnxv‹iñ™£Éµ‚žê…÷ÈNä÷ë¯1jví:*š»2#33ã™cÑŽêá7wI¼·PùЪß=v—JÒRÝb,--R¥°á¼ @WcE›çÔñ’æƒ;>:?~É ™™™OÍ0ï(:o„"ë%mËÔeÿomO[ˆ¥KûÁö¢î{žZrµhK}ÑŽb㌧22333–Œ¯ÿhÇA®ÈÖ–ê®™©+Wýî…§"ZŠóËšÑu*×QÜ»2333󅇽«÷î:Ñ·©íè®÷ª½^•™™™¹j®ðè®NuÁR_”¸{vÚ2×®œ+<ñõ%+à6.F…ó_žïr¦µ£-Þ3"(šBé„ü¼é¿Ú½í$3c^×,!œ)`¬þ´F~÷ÂH(î\‰êOkzFsO~\-›z§€Xy÷âHöËOëͺcŸ6<8w‚OX¼õÿ-¶{Å¢«¨ªT×r÷mfBjú†9ŸöÉ'ƒ—¡O«PȼÃÕz˜ëÖø.\Òt°Æ cÍÁ¦€y¡¦c_Öû.|pŠ €8ðî…!¦c¹'3!ÞÙCØšÝÏgWßý꺅âuBÏ™ îq;úÞÁæ>ùÄxþ¨N2õžPO ò¼#vœU«Ñõ>.òŽ@CuÐVÝà3¾«ºÞ‹îëI¨ÊÓT]}É3&&À €ÈG£ìÖV´X@¨œÚCLõwä릤¦Þyõž"‹N£íVƨ}DD11Þ—ªÏswß–†Îôw òž:EzIÛÐÖpôÆÇNõ·q1¡’M}ïxc½¦A3N²ÐØñ 't–¶êó&ï™>"À-`ö=þBùÏž*¼pXÛÀ¨Õ´)gFxÒç’AþŒÐ) ·}sÉ—ÏÞw—³â—‡Þ½úÕ3e€`¥T &ƒ‰uý @*gL5&rgg0±†½O?|€k``Y3ÃÀšêL,#wµ9ˆe2COµ´Tk1>ÙûÚ;ˆ§¤¦ß¹díÆƒ32™aÊô&Yè¼€¦/jŒ¡_UKg-Ž”~ºû‹z#ÖûÞ)5í6A*wmËÈå` ÎZXÞû lý¶µÛÀD>(—ýøCùÄ,ˆ9±õ½£w<åçjS1v[MǶ®ÿšû£cµv EÝ@ÏÎDÊ©JcYƒ±ÍzÞ⟠R5þë„Îè­­ªf{ZºÚº ñ”¸þl¹I„VS7%2Io³MKÙ{eŽSË®iÈK·©[(“¹þJdt]겺yºq‡)J…°vuwu[…=»¹yºY/»á vÖ¶n¸rs¡ThÕuu[»¬J//”yJ„F"ïµtËájc„J{´E*£O(!”NÈÏQï¨Ø¡HåRƤ3™gXa¥¾R¦ï£¾‹þö_ö}Ž®^Š“M&gõjÔÕ™¤ò!÷`ÒV[R^óHLÙ/ÒÒg,ÉÞøeÚpe@ŸÖEä=ò_œ¨‘ÞyOÀ€ôÁH'(‘¶n»mí¶S梀¹ §¶,:ÏUÐnãg*Mš2­,_æï*­ç:v¬]Æ.Ÿ*Ó,kñœªAâ Ò>êܧ44Ô»íðáz KãÑ24têÀV¡ÌßÛsüCKfZî(®¿Úda‘·Z%Ñ•iš-ºê¿DŽ> IDATmó¾CÅu³˜ª_è`ÑÕš¼C•žþ3Çá|é×mÜ™(«îVÎßÛ># PûwW”qOiûºô¼püL¥ÈS i9ZÝ «þhYƒÕµ¹gDŒ²å_ý«-àÎñnôé#d𶓃k¦ÓY ?wŠyëÖ}“½ñ‘ûM#\üjúLYo?b^溺œKî7`îNË  ^]]·víÃwX&àÎå¯.Ÿ ï™!]ûüÃÿûÀ»ÖLé­ÿç5mÊÿïY)f­N }$ç¤|è2È#ç…nÙöÈýGÓwmžpO¨iï…!b³|›ÖÖܽzdQƒÃ3LÒh˜' „¡¡ñ/-€@#ç·ýàòv\LÛÑ;øÄ3bòžû¤Ì-Pƾ0¥-í”@CE}áS’4ÿ‹BÈÏ=ˆF‹Ë–‹æABê!`0XX¸¹€ÝÐl —‹\¿Mpöâ3æ“6Áœ)îLã0y‚IHš!A1€íÝÈ9ãéê9Ã]þÜÝ£zz@<¼%Ì-ü¶±×k´«NqMI‚˜¹*Š&„B(BIŒ¯¨¦+_syÎ]î We=µì/>aÒoýÁøöÜ™ÆÃw˜Ãõ×tó«X@3®§±…/猺‚#¬E,÷á_"OˆÄân«}ôHZ¬§-ð@»ép `F‹¯V`‰ÇôI ßÛá=c¯×œYv¨ÓâŒ&Sþ&¦!„J'„3æD\¨«8v*E'ñ˜ í%µ,Ä£¦ûááýÜÍi'Œ/o¯<4IÆÍÙ9mÆè)ã“}øÐ÷´`ŒLôÆë-ð˜è"ÄÅ«ç ~¨ZîY£?ý¯êU žÁËé3—N£#ÆDJ®VÞÎKŸ[úÌÙGDø„Jn¹ÓNÑ„B¥“aŒôùÓ‚¼Cºâ †} Á!¾OÞÇ„†Þ=e›Oý[Ç.>ÕÀc„Gܬ±¿‰qåìñô0 Y¦GJØ®eŸŒÐö…¯|ÑzülK rw‹åÿ›™×0‚ÄlÜwÌØ÷Ì?:Î+Tr‹uˆ°Íõ/R4!„rƒÑZ±ä{±û¬:½ÂFÑ„B¥ró°Úíò‘B:„B(B!äg&‚B!„Ò !„B¥B!„P:!„B¡tB!„J'„B!”N!„Bé„B!„Ò !„B(B!„P:!„B¡tBÈÏ–Y³:zÚ´iÓ¦E§1Óé”±8eÚ´iÓ¦M‹__IçˆÿºÓ,¹5kÙ#i1+˹Ÿ¥q› ×GË®²ùœ•å, \±·0%ˆÎ߯ÂKS欩úOTo>´mø‹E!ÔvBn}¦’ì-?ù—ÜÖ”iÓ¦MK)5Ò „ëÚNÈm@¿/#7iïê‰âŸlæºòÚŸõ)g‚“ç«dBV¯)*«ÎNP+˜þˆÃýzÃB(Û½šX@—Ÿ‘Ÿ´'%è§Ê'ºÊJÓÏú´‹ƒ’Vg ’Úή//«ÓP¨—¥gü„y‘r[¡žrk [±J ¨ËÍ(hü©öj<[®£sO!7 µ[+‹ÍZU´`“ÐnÊ.ŒÝ–è÷C^¦µ²0¿ ¤\SY«3±À(ÃÕ±ó—¦ÄOì;„ӬɈ_^ÒÛlRµfÎ4€4>mBñ–¯(’wïÐÉd>»qÁâ|(æïÞ?°Q¡vgâ‚\õºCÛâe}ƒPñÎü}åågµzçn¥JU¸:.!9éÊ¢}Fÿ®Ø[¢¬-ÌÉÊ-©Ò³`fo;´Q}µ– cå–”Ô¼:PÎß¼'ãÆ^57)Ê/(3‹ ¤õKšœœâÖïý µ…‰sS³óŠÊµ®ú`õuš’¼µ‹ç$e_S“Œ(ø~@¤J?àQ}ÕWc‹^£Ñ’ŽJ¹ÇUq}êØÆâ¬¤9‹×æiz¢ “N[^”»vñœ¤¬ÒþE;u°FscqÆ¢ì¢*={­'¢± c9M¤³×í¸qÑÄX¹syü+sò˪êzKÇêëªÊòsV>Ÿ¶§òÊ¡Æb1ã<,³Q_[–˜š_®Õ÷^*mù¾œÔø”g̓]Þ‚ÕÌMÍÎ/ÑôÝ›IWU¾oÓšñ)[4×>°¹õÈÆ”øk6íëûVq¾W²Sç&®.¬¤FÍ–Es—çìë-3«×–ïËNOÙyÖhtýR,™:%V ¨Ë/¨² åÜ„)föRšE¨í„›0žâ eYÉ%©ù:°å99¥Ñc¯ýïukqFJv™ U\rÒluŸ‚auÚ#…{òÊꀺ¢µ©íÍâêqت=ûW+7¦®-c¨Òwoˆâj ¡­êJ´Æ$?Ù•rI]ÏÔ•Uõ{\[¢(ãÔ®oËÆ#Y©k‹¸ £PÏ_:?6ÜOè+K÷åíÓ躢5Ë™m{2Ô½¯Åˆ¹q8¬¾jç¦2€"0,H\m,ªñHVjN9 €Q§ï\ïu£.Wíž´Ô\gͪŠKNŽ‹RJaÒÕ)Ù™_RÇÂT¾iùñÞmI}š dÎÒËsÓŠÊMLà줤Ø0?…ج«,Û“_RÇlUîòlU¿¹å…kq‡(g'§$ƪ”R˜ôµ•%;‹ªL`«ò–§`÷ž´«‘1Wn\¾2Ÿ»ŽÒ°„”¤¸ð …&¶´`g~¹Еe§dÈönŒõºò––Ç]](£’S’bU kìÌ+«Ê]žeT;ÓdaÉqŠ’}z@WTpvÙ c½{‰4v‘šÂ ¡tBÈ͇qø²¬„’åEz˜Êr6jÔY×ø'»µ8ÛM”ó7ïȈî©U&†«c“’ŠW/Z[f‚¾({cÒþ¬p1±—ŸÌzÀ(üü\AíȭÓgKjͱá}*³¶¤6?\»OÃV–iÍñ}»Y̵%•,(b£”®ïÛ3œÑDµb÷Ž”Þ:*<<:>1qcJj~ Û—µýŠÙJ®j¼rO‘^1;sÛúÄk)l>»sùJnoª¥Û6'ݸÁÅEY›œõjܺ½}BÐÄpulbRTÚ‚ìr¬fcNñì-=ºšNPWTi܆½ë{ëÿØø$×Ó`*ÙX°,ºw=›Öâg4a¢Ò÷lès\áêèĄجÅkŠô@]^vAÒžE~W9GÛ3œÑD9ÿŠH81\›´gù‚MU€©,k“¦p}Ï£æÊ훜é(0yÇžÕ®·E¸::‘{å•]qåqø¢å¾< /)ЮÈNqÉa4ð˜Üž¨g‡ÜdêÕ™qRÐe]ëò'µEÛ¹šC™¼auô€æ¿øôô(ô%Û˯Úþ/ŠUKÀäê¦é ÅU,€ ¸ø¸ ¬¦ôÊFc©:ÖY¶Ù^Äõå®XŸ2àë³,|EV‚‚{na^ÕÀ£eëêdó7\S4AcaÆò\-(6oK ¿qÕùlþvW‡DVúÀö¿ÄÌô0®üåyeƒv¨1³×§ÇzõZúj•3¾–ÖöX‰óò",=}`äòŠ]>›ËÚüü³Ã¿eÌUyÜEUÌ_¿z@ø-ÊZÁKSÉö#ÆÞ\ZPÂeLiBÆŠ~§Ö/>k=÷ží'()™ëªÔ—ärqû„“$…Bé„›;ŸD¯rf ݾ¬íg¯!Ÿ4–:—æHJ¼aß+:IÍ«)Ô^õŪ¸p®å•}‡¿8Gš(ÂÔª°0 Mi­,Ñžà¬lŒUE8‹4ø¾’fsñĤ)l°C`ò¢kÉFÍúå\ó‘töºmY7v ƒ®¤ÔYUÇ.ŠtO^QI\<¶°r!DÒ¸”ÁšÅü¢’\ñ¤¼Ö Z5EÎî4ur”ßà‘6‰{Ç@w¤\?l8Ñ1 Ÿ‚b“¸HÊ’žtìÊF'ÒÊ!‹^–¤äµüâR¸Ó`*Ý3`XLO8Q&'Ñ”mBé„›žW|f:&êò²ók¯Z1k˹ڋ W yTήV[yõ9IJ°8®’¬-Ñû†:LX¬ŸÌ/6Œ74¥·U%\YU *®æ57jœ¤áCMíŒ-ú*íÀvi¸Zyõ¶ŒÚ=iiûtõªëãýnìõ1ÖVé\i"P<Ô wpm¹n`èš;xkB¥r6B4V:cFï‚yʨ‰C £‘E+]1¢v¸ô©×:×·aTQ~C]>‘q¾W´Îã4÷”f¨#VÆÅv½bS¸ÜÄ–ç÷‹'=áD•IÌ\Á}éÔæf]mùc£óË9[¶¡P:«× ÓugÖŸ5¹òŒ‚²èJ…뒻ʠ×9'+ƒ±Øoð)S'÷Ä“#­ƒ…“°ä8?úÄJ'„Üü’²Vp ìU³ ‡^l¼öɶLÆkË⫽¦ç+|m‰†îÀ‹kÓ0UöÌ0Ö•rÿ}¦ë°¬ÑY4™tè¹6ŒÌ™'XãÀ²1ÒáûhXmîò5®…[ôš#7þFEf³kZôpG%vÍÏÙ<ð¨üÄCd(Æ5r–5{Ίë<1Ãì®w²òp‹ÿ²zç‹Iâ!S£`úíšu]F,ò*wdêç˜M~yëÀp¢NŽò¢;¹Ñœr›%¯O.Xœ¯«ÉÉ)Ú;ÔñÞy.Q«6¤\­ŸQ\ÓDe¬ZšWdB]Ieë"?¯ž‘ µó;²26\š§3éÊ5iA~@k%·ì¬"*J9l)‡-ÜhÈÐöhQ—·rcôÞŒŸnrêµø‡µæ x#¾¦­¯­LÃ$ˆÄõøbªäDeQ¾¨Ê/iL䦹 •Má„P:¹ùXíý*½1zÇBÖ/w•©sË^ZSµð@×€J#d·ú»ÅE]_+Rí~RsÙ3bòžû¤ ì5ÿ®X~ÂÚóÊlÃ7 Þ¿Ä…ì]à)µ^>ôyCþã¹Ë€çé=2>:`é1ªúïT4Â#>:è7aãÏ[Ï–˜=²W„Þ)`­þütÚ±n‘¿ÿö$ßʇ×?ŸL\¶~~Iê>=ز¬MG¸0˜a¾ê‚™¨V«¯Odž8(NÍ•±Ð–Ô™ã½ÄίŒÊ5`B7%hKµÆ$?™±Šë÷‘ªã{»VÆ5c™5!2Cïs™ø>0aÖ}Æ‚œ*@¿ouNtáúؘOÄb…Ð0›†n§0»š0Hs«7›-,Ëö´”¸.¯óù¬ÉÈ™tzv'V0ÃfSWtVg4õb=-^ŒLÖ¿yË:e„¼£³èÀÙ7íýrUõçgnÙhbmÒ[ýKʶw¬7QAeáiÎéŦ’ìãàÕ‰,È5æ@W«¿ŽûŽ ¶ª´ÖÜ3âU§rÕ&2Õì@¨,­5Ã\[Z ô®ÃÕ”®‘ú³CŽvaõ:gß3Tã{E“¥;vfÅú%mÈä8˜J22¾ÿJ»ß‡"ÈùußÔØ:Ô sO›Ž"p`^0ÖÑg6öŒÔ r&™—Ÿs\NëЗW_ëœÄ(ý†©îÅŠ‰® 2ôkõ)ºÊ9èGÜ“ô­Cd}åÐã‚âq£¬ë JkÑ7œ$‡Q8!”Nn^NQ¬{Ǥþ¾I3ý“]ÿ’&¹1 ¯¤™þÉ3Ç$ù‹ø†(“gú'Ïô½ÓwÄtw ýRM7Ð}ù°rF„îCÍVÀv®˜¥Èp¦ö¯-)ýw>1éw÷ý&1tçã£ýá¨8TÛS©¿ïÒ»ü“ïòjÞ„?Þ!¬§›-}k÷šÏϤëº5£‰åØg§ï¨xQs¹ßŸYSCí²¿T-z_WsYôª,n- }QÖö³lÏ7ê+ÒI”s ¨¶¤ÒxývÎMÜÑkªôFçˆWelŸ;°(ÔÑ &M©ÎìtÒ3]‡ã¥âÊÛ;~e@]X[zÖÙ.¨žøý«*ÆOíÜ£WbæúÙR`Ë×®¹‘wRì{µCœp}•kÿ è“cØÚòÁÈèµZgTósE5q`T÷S]éÙ!R—Q뺛cP´r¸ö'…*Œ{Ù¾ãûÑáF7C:Ñ5ïˆé Ž:Íà¯--f.˜ßì¥Ü=.u¥µfW8Q$&Ó2'„ÒÉÍŒIš3Bd¾ôú‘ÁšFÍæ¦ö.×?³i˜ŠS(‰ñãÁÖuØ`g m5@È>pÔÔt³Ö®cÀ]6}¤µæÌe€íåÛ³{e²7`ë«Â¹r5y±2\}zº¼Õ²EQ Ye\’s…8(>ŒÙWÆê˸º'(Nue3€Wx¬U:V“_ >]GcŸ 1¤×Ôç»_ù{¹"f’ûµNìó1Ýûš› ‘rd€o ‘ ærá ; ™£ “ŠjÇ´Ôs ¶ñb^ 9LJCߎ]¨È¬mz¥Ê'7²ç•$.D"™øRCå˵߾xÈcû}#¤·ØÉ¾" œ>u 7u4q~Y_¿´`qÞÐ]û^ñë÷ {ùÚ`ª*Ê­*êÿS%oؼ:¼_¼ˆZŬ-gÔ•äæ”P$«¢½œƒ!U‰á(Óô4¥„÷¯û”jµÎé\9]§ï·æŒ°2cŸ–…®šô´A ;¥E쿾ðÀŽuKãÔ}g‰H•ª¨ù«6ì-Þ3Èýá¿~Ûª8×êé*âÂd½Õ’,,AÕPò# IDATóBêØ-#A±{jÜð¸¡Æ8zÅfì)Þ½nE‚ZÕ[2F6;9}Ûþý[M¼®íâ E2¹ŽSYFvaãº$I[öïß–ž<;LÙ»,›T©ŠJX±n÷¡=ä"Vž²³xGfòì0×J¹`ªÙÉ™» · zoeçåͼòò2Š@uÜÒÌ ¯íN‰=‰1mgñÞ «æG©zvFª ›=Õæ½Å;Ókp%m)Ü‘™<»÷"JÕq+6ìÝ¿>Þé‰&C~— ŠKq¾›h™òóÁs8·`±¹õNÜ^Z6GÀ^ÿyeê1z½ñ¨-OOön|ïÔí½ 0}sæÁóèãáOùðá\¤!ª½tþݰvú¼>ïTGƒo´÷ÈÄ»‚’ljàZïÄóŽ){îælìÕŸU¤UX=&ªöÌã½yÅz'`õºU;¾= É“OIö¹¢½©ê›e:ä7{4!·‡Æ=IÜWì-H º­ŽÍx$mÎÊrÒ¸Åë¿qcí–Äy:@·­p=-tB(2 S»™)fèDJ'?BíÎĹºáŽÍ¨ÉH\^bówïÏ é:äg‚V*%?t$ý™$ä*̵…¹;KµµµF¿ÕÛÖNS[ZÈ(ê¦ÒæÚ‚õÜô,Õ²Š&äçƒîH!7Š˜a5Eešª:mI΀‰ÈæÚ=Y¹ÜjE\Ò`£ZlLã¶P$¬N ñ°äg„ÚN!ä†ñKHŸ¿3uŸŽ›ˆ¬MHIŠUùÉ`l¬=R’¿Ï9…Z:;}Yïc­¦²ÑhÔU–íÉ/áf=+2W«©á„P:!„r=ˆÃ3¶­3 3g]µjÛú>ó”Ì+óû,ÐèWmK¦Á°„Ò !„ëÆ/~}¡:© oOá¶Îyã FªT©£â’R’úÝPH,V(¸"CªTÇ&/[±HMÓˆÉÏÍÙ!„BÈÍ…FÅB!„Ò !„B¥B!„P:!„B¡tB!„J'„B!”N!„Bé„B!„Ò !„B(B!„P:!„B¡tB!„J'„B!”N!„Bé„B!„Ò !„Bn7B:äÖÒÖÖF'Bno<‡ÃAgB!7êÙ!„B¥B!„J'„B¡tB!„òCМ€¾aÑŽ¦‹àÅ<ñÇ "h®_ôîE6bòžû¤ÌàÏ1y´Ù2iÌœ‘×)áµëRþòmƒ÷¸—zI>j5½¶ýtÑå¿á»c™ÀÞ¹éLÕƒE]þ³ÂvÎt£·!„J'7ÇáϪǽ†³Â6~÷úúåuK'W¹Pâ9Ñc}ÍV˜» ]ºIÜŒQb0žrºn„B(Ü®D#„–ý+eÿöƒvý›¾-n`;!ž8ö¥y>òšª‹º/øjîø±Qß}û¹‡ÿî'|};[Wl½pÌ“©É ë±½'ÓkÝ_ZÓÑôÚ§ºC-V xžÞžKç&ú¡oHÙÑÔä?6Ñúݾvù¶G{wj8óMJÑ%„ŒßùÂ>D‘‘ÊHÖ¶ãÇ.]K£ýC…ìõgjÿðykE‡‡x?3×?RSUÕƒºüïð ®m)5ØD#F<õPp’°×Ÿ©}ÀöWèî(8P—WÓÝ ˆFxÄß5î7“ÜÀÔ¨{¹è»ãoÅRã['؈¤ˆçšO§~Áß;u{¤°žüèäê~Ü#‘¿ó§NCB!?U!½¤þcæËÑp¤îPgß__Î/8¿¯s&n™+3œ­{ñs4þ¥‰Á³T¹÷xÞã´·×[Á6ëkÀó{Xgµûx³rùd›þ»JZD‰sCræÊå-†×wŸû² Xt#F?w——¯À¹?Scý‹E—XåØÜÅUÛE؆ «ŠZ*àù܃!/ÍÔ×4­.hnrÅΆŠÎÐû&mKK;:ÞúHW?Ìö½º ß?ûV9dƸœýcÐYTtæÍF;¬¦¼¾=ÞÁŸ>kü ŽÂ,ÀcÀ˜4:8wÊh`½\Üà€û¨D%½¯!„P:¹>$É÷É=lÆ×þÝnèù^_h¼•K' ›,ÇÅ3ÍõBIðH¹GÈHIèD l—¬õ5—-rŸ¥þ¼š3&S§©â2F`.èŽÛ0úŽñ¿ óœôÜÿgïÞ㢮ýñ¿`n 3Î rÓAPXTL 2ÇR±Ž“}ÅÍEÏwµÝÔv“=¶º´NB[Ú)IOZ›ä¶Úï+n%n…'ó² j’¢cÞ¸¨#(7A˜`nðûcQ+µPn¯ç£Çî|nïÏ|ÞŸÏøyñ~¿?3Q¸êw”;[Ë÷V½ð˜FíÓ:ÖÄj|-«úœ·ê¤ Û7l9O©­…@ûX˜n¨rÒáó|€Êê£u­‹•ÑuïðaÁI>@ýµ‚ºÛ¬Æ«YWÕÀö;4ðùI œ9z‹½®öP  ^2NýÐÈA¿÷h]ßWTÖ4&S Êaþál’#""¦“Ϊ ¹&äy‡µÈ°­¦¹µqÂf·¸rñ—kŽ>ºæä{& ¡©ÊyÃfª`ß8 *Ž–;•¡ª"%ŽšÚÒšº2†[L.rQë.T¦zWëÆ2y`Ç{yCýÐÐpÆÚ|o¸¥Öڽݓ¢@ g™­u[¹J ¡J ¹ÊéúñõÝÇk “¸›mÄ2±°Ö;,6‡€L"Ï@Ÿ¶¦ˆâ"4ì.w”]¨«†81Ö[ÌK‰ˆˆ˜N:hÒä ì;˜-îÛ³D,Ðàú§£ÿæþoÁ±7 ÔPõ‹• ìÔ•“GìPï`߀svAƒÞ“ú [ãHÍÍ–Õõ»ûMEnœ€¦M_ÝÔáò½<”2ÀQÕàŽŽRaˆ¤õ´šjvNG™ €g —àÇ×w¯ €µÉÝzd·Ú-€ÌG$—Ŭ6 4Wµ§+@0VÐr¢Àxè¬>ªD5/*""b:é\ê/Ä ÑÐÔ:øD­Ö©€+WwWÚ-¦«›>/~í€ÅO±JOšò+z'øÃQi:ïIý=¡ò.±çœè¯áUXÐÔ7|p²öë†7‹\ôû•æ:?ÒÀàà"¨¼´î¤ãvïU8bœR‰–Ü]³KjsþeȪ‡H”àÛºØz¶ìÝ“µ9ú²ìz@Õ/Vv›õ@í—Ô0]~óÀÕü’ªµ{Íãäb_ÕÞ€©â½#ƯO\|¯´ÃÏ3yùþ*\à0\Úrš8¿^BDDÄtÒéu2">äëMÞÉIƒgjœ»¿*Nù¼ºTâû뇕* 0< V‚Ú¢‹¯å7Ø!)•*Ü zOR@À0… €Lýò\ÍÔþŽ_•®Üg²©_žsKëË™cä#!ZŽæò›nó^åš°·§«cµë>/}í¸-$R³a†_ûXÚ€h_Kþ¹×ší>>K¦¹Ýú©nvÄ3á’Òü Ë?/?$TÌœ1â¹`Oå t±Þ®CÏ¿Yà‘Ù1]y†ë§D‹Ò¤p~] ý\üâÞéÞ|»šÓT×"÷‰Ñ|z׉”S¸þä°û«ä‚}:ן߿BDD?® ;Ô˜õáÉ÷Líä!I²úMg]øLêï gã‰ÒºCúËåL}XÅhBDDL'tßHu3•³¯8©úý~ZØX/Àj~ogù9bdž?§áåDDD€=;DDDÔ½pT,11Ó Ó 11Ó Ó 111Ó Ó 11Ó Ó 111Ó Ó 11Ó Ó æÝóÇŒ‰_”}µ}Ž­(]—¸¢Ðöƒ›Täfå]í„]ÛòRâÓ‹l< DDÄtB7+ ÓÓvßià¨ÈÍØ¼§’™‚ˆˆ˜NèÞ…“ÐyËã‹W¯Î5ß¼ÄfÈN“¨ÕjµZÝ¢ô¼«€9wéÓoWîL™µèƒÿo~üw›‹­hUâ˜ø¥z˜si“2+`ÖoNIÒjµ‰Z­nÑªÜ 0lNÒ.Úœ>_«ŸUÑaGWóRuÚù™›Í½¢uZ]Êz½™§‡ˆˆ˜Nú$Ńücœ~uúaÀV˜ž²ºøÁ5Ù¹¹¹Ù©ƒr—-˾ªÐ®Z5Q®ž¾~ûÆN ªØSlPùÍIq´Úk°¶â=E|œ87uéf,ÌÌÍÝ›½=]½fwnnnîö塆ìNéB"""¦êü—/ ÍM]ßa¸‰Í½ß1o~Œ€"n~RPq–¾cXŽÓ*Š÷l¸Z˜k{0yªD¯7ÂfÈ-DÜÔ ‹Ùß ~¾6qÉSÅÙ…îì3hª6FÑa/;—ýaOĪ)îýIÌú¬y†«6¿ø¥é©‰~<7DDÄtÒgó‰neŠzçŠ Eö¶9£Ù~2MçîfÑÎɸ{¥¥ã&¡Ú8q¡¾òêÉ=ÆÐÄ8m„máUãI½=ZáqÕh—¨å­+JAr»ÙbñõÙŒ;^ZýQ,v¯³ôoktÈMŸ?-!>iéf=›Nˆˆèg² z¶à¤Ô…YsVlŽŽsO˃âWf¯Wt\Ëfl) aÉÐëƒ ÁS#üBµÁÙz½Å‘!C-¶Û²ŒÍl°ˆýÔŠ[÷)~ðõÌÅ•+žNÙ·}iŒÇÏOŸ\-Ì|iÑÒÕ1»Óã$÷ð ­Vk]]Ýnonnî#çÙËËK¥Ryyyñ’'"¦êB“W&g?½z?HB§NT/ÊÈ6ÄÍ •àjnúê¼èå+Àf6Û 1ºÐÊô-•Šé‹PDkÕ«·lFÐüh$º‘º9·".1WõÛö›cG+`¿yŠÐРÈÄ5Ksg-[ýàöÔàìE+NÎ|gU¢üB#ƒ¸·£b­Vë•+WÔjµL&óôì+f³¹ªª*00…ˆúöìô|’È…©I £;DHb–®_ºsQ¢V«ÕÎZ_£‹÷$Sãûÿ¨[Uhƒ"zºº²qqj~Ñqââ‹ò©q~ÚÔôùâŒ9Z­V;kuåô5¯ë~xIpÒšå¹+RwËu §š3fÅÇkµZ]jåÔÔå÷´á¤®®Îßß_¡Pôh@¡P¨Õj“ÉÄëˆú––Öõ çÏŸ‰y¿‰Ö9«þ{gÅ!S3à>ðåÇüC„ÎüO¬óöm¨?cu˜š$‰ }.ÌýÞG÷ž~ñlCµÍ3vlø«ûÈyyÑÏÃq'Ô'mÚRðÔŠ7Þxã:aÞ¦­ß5€³ñléÀ§^x饕+æ( ·~ò]†¼Ÿ]Ÿòç7ÞxãÏÏ„_üäý]—²Éw[þš‡izã7Þx婀­Í7Õ»þúš˜”7ÞxmÅÜм§Ò c}.çÖ»7+=tÙgtÂÑ}:àæ²‹Uå—à{Ã\±L"wÿ…"Âe=* É|>:É×–ýyyApøöçÇ|µpP`iÙºRPmhL˜½ù7£2⛳w–v€£¾î´fHfʘϓ|KóËYyyÓ ÑOh8¹xä¢tôÄpð‰™.*Ϳ쎃´£Ôàžàï¼XXÓpùÈ™ÆÚ±"¢Ð‰ýM…¥õí%9.*EøäÑjðŸ#­>r±¡ÞpÖ¤•*Dc§ “€h`B‚êò¡ãFw8¹(•0PtßÙbmD"vO8ë×f›¶öØ´µÇ¦}h(u¶f•IQî1(’¤_Ú<ÉG@æ3IÕRUÓÇDšÀ±2 SÚ,uoer¸€<È7®²¦f^`Dô3±g‡ú"‡©R•´-ˆBçåFDJ¥msE"©4šE>жU¥>R4šÛON¡ªm܆Hª–:KëN„êÖO—ÈG%š@=J°+÷[£6¾æÐEÕħîã!«d¸Òdä„>ÏÍØ+ ÷ºìî5•—ûÏ•æªÒKëŽÔ•Ù Âd‚<¬µ¹LÐö/‡HŽf“«€H(·ª¼¸ˆˆm'D?‰HuCÆh47J}¤"ÎÆÆ¶¹ŽÆF§P!‚B!uÔ›ÛW½1×@$• æÆö¬blJ}¤"©N£³m¦©±õ¥:fòÓ‘o ¥‡.û'ÄÜÏѹžÃ|•¦šckÆX&RÉD*™§øÖuëj^ÙY«|xDæÂØÍ¿ñ\ÿŽ 0®ÖWN‡ž*ÿ!"¦¢Nâ3hÜ ÆãûJ8ŒÇ÷•ŠÂÛ†€\Îͯv0º, ý…¿wÀ¸áÒËûÜ3 û™üÇ ¿ž+DƒÂQºï¸êÏì+lî-®0¹äÕù»Î6¶ïxØäpsîŽlƒêþ†@¬y.ܵéã’m-NÀé(+)m§Éâ+SÝÔ„j³[ W‰˜.\Î2Ánkv·¯8Ê«Õh.;{µÜ[ëËK‰ˆî öìPŸ¤Nxf^õ–O^}±€bÐägç ÷†JCÃM;ÞL»l®wªFÏ™7Ü}êÙ™[3×ÿ×WN@è3÷Ù‰@ûÈï_ÌûmÍ–OÞzñ¤Æ>óÌ8ÀgÚ¼‰†-k_Ì“ªŒN¥*½Ü¶úðÉܾ0/Æç~³hÒ“1Ê#†M»Nmjû¾“„¸ˆÌX_ÕM+ú,ˆ¬[ûáñm2QHXð’‡^Ì)~¥ÿ°™€R#ÍßYøÉfxÿJ§!„…×Ý---¬êAΟ??xðà{R´Ã°5íýÆy~fh§Vu\Ú‘¶öòSNù…7Gõ«ÖÖ<õÊ3ý»Ó±ßž3û‰7}‡eN‘‹yÑ=Æž¢{ þø_^|yówõ ‡Ž7Ä ðGuþ'y;-Ü›uDDôƒØ³CtøÄ<õÎü53mé@óÔ¼5g6¥½_ˆaÿçYÝ}|’˜ˆ¨bÏõ0]Ú»Ác'"ºسCDDDL'DDDDL'DDDÄtBDDDÄtBDDD=Ÿ(î]lú¥“í·_Ÿ!VGk._ž©¸»‚*r³ ÑIñ~¬R""ºïØvÒûˆ'nzÍîÜÜÜÜíËC ÙyWYñDDô3pÜIïcß¿(aLûTЃÉk6.Ž” "/÷bМ¤IèÔäˆô·÷l oSXE^vqPòšx?’Èéó"22ò*æ'G$iƒÝi&HbÖgíÌSLŒ _šÏS@DDL'tñÄ9éqÀœ»T—jŸ>O,lfƒ uÛàX±Ÿ6£åveÙÌ•\Ü0G›Ñš|,vu„ÑàzY’˜¥[³-c[úüÕíƒ&.\±|~GÓÓ }…viJè¬ÕoçůŠWH¡rèf@ö«FHbä€ ¸þˆù殉"H.ŽX¼=SwCÞ°éo\+8~~jü|àjaæK‹–®ŽÙ'aýÓ Ý*xúòä̹ië“¿X¯´!3«pzJŒÄfÈÞV¬˜¸4T"¶)̆J;"%¨ÈÝQlGœ;pÀf6Ûàx]è†ÍÛ µ)1 ˜õ›S³)«’‚:îĹhÅÉ™ï¬Jôƒ_hd÷vT¬\.ï³ç³ÿþçÏŸçuMDL'Ô£I"篘¾sQjFRfJdòú•+–%jm€$8~é;Kc$@ÌÂŦ¤ÎJ ò ›'ßf·Ù ‰˜¯Xö‡DÝÌÛW¬YY±b…Nk ˆLZþz(pCK¨náÔoVÍŠOƒX E¤.õõ{ÚpâïïßgO§B¡P(¼¬‰¨×óhiia-Q÷Á'Љˆˆˆé„ˆˆˆˆé„ˆˆˆ˜Nˆˆˆˆ˜Nˆˆˆˆé„ˆˆˆˆé„ˆˆˆ˜Nˆˆˆˆî~W,õ<%%%uuuN§³÷Ý AƒúÔÙT(AAAü\"b:¡žMŽ=êïï?`À€Þwt/^Œ‹‹ëS'Ôh4ž;wnÈ! (DÄtB=UIII`` X,öôôôððàþß­¥M<¡jµÚ:###yyÓ õÔ?µ‡ âéééN'½ š´§“æææ¾yNûõëW^^Îk›ˆ˜N¨žžžîÿí5éÄårõåÚ—Ÿˆ˜N¨7ðôô …B¡ÐÓ³—%SÈÅöÚêZ{ûTO<:ÛUCq¥¹uB¬ UÀ\Qd0ÚÛæEDúIxÓ Q÷É&…oþzÅ ú¥M3v=óúq÷’Ñ/mzìóg^? [õ÷—cz\>±éÓf-Úc¹>#hÞÖõÁi³VwXéÁ59ëµüz3"ê™Ø³C½2X­Ž¶×V‹Ãnm_bµ;,íS«ÕÞq3ËÙÏß\öÛ™:N§Óýê·Ëß=Pmÿéïáì»ÿ÷W¯Ú¯¿è´£3-7Ì0WÍó+¶y¦(=qÌݪÂëó̹óãçd]½‡'áêîùñI™¼‰èî±í„z#yØcÓÆ‰k€ÈÂ0ÿHL'kŠôöÄ´qÝS†É;dýºÔmÖy«>Z3XX.í{où[+eƒßŸ?°7T‰X,7ïLÍHÊL‰d1uÙÀ˜˜ÑµDýöËÇÄXk€H9X&î702ft€"‘r ¬Ã6×.\²úÏ=ØXä'/y'¦VØÏ¿ûÛ•µ3…þø…K5ˆ|æO“/lÛ^xéRhüïW/yX Tx÷­þyÞ ˆýG'¿ðÂŒÁ÷°¿H,¾¹p±D¬¾e¥›f(´K§¯NÛ¦ûÛüÐó‰Í½:uC®@7/5uNŒÂ–—’¸Z¡ßv2fýÖ‰ëŸÈˆ[S¼§°Ø` JZ™¢Þ™±³ÈPa ÿÎ;ó#%0f¦¦f|SiÓ—¯Y¡õãEHDL'DYN~ðÖ&÷Ø„ɆÍúê­MEî©HåàiÛÿgÓ÷TtÀèÕãÛšOüÇOÛòފתgM?:zX€\¬ h½ÕãÚɳÃþ²z¾²öÀ²_¿õº8õ/kÈk÷ýá·™ÿœõð¬~‡ß[w°ß Ý1^i)|÷w+ÖíÿÎ å=;:IÜò+s‹Úºr$꘩q‘XóºBßÞ›£ŸzK>¿29÷éÔ¬©›çw˜mÈXººP»1{sŒÂfÈZ4gYzÌ©1*¿1,þ[^z0̹°_̵¯ÊÜœŠ¢UOÌýCú·ÿ-3…©O,Ú O^gÈXñ¶!i{ÎüPIEÖüY©o'î^Çˈ˜Nˆ:ÝЈ ¾>)ßЪ êØÚ0pÖšMa»¶ïúç©ïÕXEþÑ&/˜7ÙÝ–" ›­ óØOÔïÑ9YÀ@±õ’ÅŽã_úhäròÈñ‘¢Ãjí¸wéöÊB½¾°} ‰Z­PNêõméDb }0>ôæ.qäÂÔ¤Y)iÙÚºö³y¹ƒæ$Å(HB§&G¤¿½Ç`‹ ŽHÒ¶ÅqV) ŽQ‹õSÝe«cÔÈ2š!‰\º=g¡D!ü 6(}O…L'DÄtBÔ‘<æ…·R‹®9ÈÂFTF¾õÒ…kÐ/lô@eت—.XˆúEÆÈo¼}ÄÍx.n{õÙÛÖýÏþÉ9[ IDAT²·ÄMˆÅ2™¸-д÷¬ˆÚÒMmáWlÛwÞÖËÇ£÷ôèÌúŒ ;õfè‰ê ÛöT^Ÿµ¿òÁäxÝ-Í'’˜…©ÚYKWï~pUkt±™ (ÔmaE짆­uÐíõ¹Äjq{Ú“(Ä­MJ­l†=ëÓ·¹Ã‘ÝxÑÌKˆ˜NˆnVs`û–]—ì€8`²ØèãÛ2÷U·Nýiôñí­S{áåmc^í—ô‡«Ž »sʰÉÏÌÿçuÇ«íão3†ÄrxÝëÛEKþç‡İèWþzÝý>\» ·<ôÏ)â–®ŒŸµbuîÒÖ¼¢•Co4 °_5B#,w±{CFJš~êß6¯Q†ÍºY{xÑÏÂ'Š©7²\:|äÂåË—/_¾püÀùk—o›:|éÚùmSG_º~¶Wÿó½Ôïhe¯Öoß^$Ž?ð¶ã[µµYÀ@¥°œýj{‘ÃaqtãÊQÄÿqyœ~õƒ{28^7¨23«ÐÀfÈÞV¬˜85ô®ë±™f±_D°Uänή„ÍlçEHDL'tÿ8óK,–nþ&Åýúµ¾”ù+eJÙ÷Nõ èw=zÈã–¬ùÓøÚÌeÉ:N§Kú÷ŠÂ~¿êOãå·Ý›r¼'”ÿ\öëÿûÛgS¿ê7ï÷ãDG^_±ýò½;º èA7LGÆ…EGÜðFÕ¡?üUl~ÚåKcÌ–Öš¼~eœ~Y¢V«M\´3xé;Kcîî™cIÄü”+ÒžÐ&êž^m˜ºb^DåÛ‹VäYùa!¢ŸÊƒ?‹JwM,YŸ}¯²E±aН¼+ÞÂŽ;~ñ‹_…B±XÜk~j§¥¥Ån·;Îï¾ûnæÌ™}ðÊÒëõqqHKD­ºh܉³!ç@ù¶³æs -€‡²¿ob|ȼ¡1cùœ¿UUßð—™×QÁKV 4W•\z/ϘÅé¸q‘éäÉ_~Õ¨•ùˆ·œ'¶ŸXj@Âìѯz_¾¹L’~ë7t„ÐYv²l]Þµ‚zWû¾^xD->{rÆÎÆ[ßøI13õ…Ë 7$*Úc“¥-ñ×T‹GÂŒØW‡Š ¦lÎGÕöØá™SîãOÅÔ™wW¶(/(^Œ. (DDÄtÒùÑdÛÖS›®@¤RLê%oj8TtíïŸ×™óöȶe‰bf¬LXœö3gMGŸQæ½yœÔt²xþWf„±‘ý‡ÈšË ¦£ÇÏÏ7µdκƒï~’(fŽ•©®OÊ…°—_\ü•Éêíó«IÊ-ÿxUîñó/úzo üý„F;PUZ½³²EÚ?Y#DUk_˜&2 Ñ×h©2Õí.5­ûØð»È±^`¯©Éi€ÌÇÃzåJN]`’¯0$và3ÐR_}Ôæ1<6 ÁJ‡Kp⮪-‡ö–Ÿ<¢«F3«ƒÞžm[üñ•r""êMéÄtÖ°é DAšÍs Æ•-ü¨º Ç?,r¬{%Y¿¤‡[—Ú‡6ÏúøZ¹¡Éçø Çì€x朘ç‚Ý)aÀîÏJ²ÑXÕ„ÀÛîXÖ/i\àM«UÕ4X͸Ðq‰C}Æ–8”Á"±Ú/I  ¹ÌfÚYi JnÎ|ð2r`²Æýlá~·ÎÔPPß<ÖËh.Õ_«…tÉŸmYÕÙg“ÆIUC“À¡:[}ôŠ 6v@²¿'8ëïªZD>BG½ñM}ÐæqÒ®ºbäšÐ ³Á€BDD½)8KÏ6#ãýÚƒ‚Ø?(¹õ›W¬9¦æ±­Àn26BØìGõf+$‘× l€Ê?)¸}0¯$ñÉèD÷ÝPk(_»«õ ªkZ€ãÚËO±D¤òòTÉ”h*Ï9ýÇ uB˜ol˜"qä¶Z›ªê<Xj®d›÷pwà0g•º  LÐÈ,ªêMWÊÆ…„tRµÈ5&U^Ü‘w1'zؤ®»hPˆˆ¨—¥“«µÈ:†™®¸jmÍp§“úꔿµñЄk^÷¶×TÙHÄ?v#4Õï1ýÀ¢Ê„Ò=b#84c†h]ÞÕCEÕEÕdýUÏMKTÿxFi9ºóÔÜö)oÙÌÇ?ä– U‡\ém·"6TŒãÆìšÏù{vNµÀ+yŠj÷Ǧµÿª‹ו×\3ð…¨Ú”SNåeÙ££’Õ|þ‹ˆˆzj:ñÉvP’¿§åÂåu§ìÊ¡„¹¿4Ôqâ¸ÙœÙw=»ä4,¸ýÀÕ;«xÊ5!Ïkj_+2l óíºË¦¹L_üÇSN€ aZ£ u¢ûS†GËEh9šw¥ÌÙ:Ë^Q½å ñÔ~cö’=0L=)ZóÂÃRÀºv¯ÑÀWù€7P5«¼mKØv|lÚ‡%9uw°gw™mÿU çi½áÏŸò­€P¢Q'=ò€¨·šœ· a~“†ùé&…N• ¶à–šf°Öí(o*àåƒÓf N›®™êÚ³Õ¥ÎNªMš }Çs}éHs™þì«£5šD½-ቈˆztÛ Tá! úŸzïÊ¥§?¬›î-·ZrЬµ$L8ò–·:Sf‡áâ»å¾ÿ©‘'Oé·ûók;?.,T‘5WL‡L-"ïp_ üv;¶^Ë:àèðÌŽ$6ÖO\W—[jÏ­iš>Ì7Dâ(5\=ê‚H£ ¹ÃŠñò]0E‘³Óü÷]5ºyâ’ª`Èè€ICÝ7ìæÀŠÊ=Çë²*#4ÂN«õ€b¯¦4Y;üÐ £ õ\.—K °ˆ¨+Ó „ÞIs£UʶœªßsÜ xôï÷ÌáÉa¢ï[Y>oJ¿ÝY×öìªHúMHøÐ¡›gW¾{ êPÑ•¯F/yXØ6*öÇØÌ;òÍ‹þU˜ß‚GF¬–6éëvºIı±?Iyçcuöš²»:š¨Õj‹ÅÒ¯_?~z{k×®I¥RÖµãwÅÒ]qäï=½¼ÀÕ…­&ÇŽ óõõ‰D½£ZûòwÅÆòòò!C†( ~Àˆˆé„~šfS]³Ê·+ݺ¢¢¢¤¤äÚµk.—«÷Õï AƒúÔõ$—˃ƒƒMˆˆé„ˆˆˆº/>JDDDL'DDDDL'DDDÄtBDDDÄtBDDDL'DDDDL'DDDÄtBDDDÄtBDDDL'DDDDL'DDDDL'DDDÄtBDDDÄtBDDDL'DDDDL'DDDÄtBDDDÄtBDDDL'DDDDL'DDDDL'DDDÄtBDDDÄtBDDDL'DDDDL'DDDÄtB}³1¿Äba=Ó uhbÉúøÔòÏÏ,Þ[Ç€BDD÷ˆ°ç‚ãÄ‘²Mµgê[È|“âCž‹ö·-¶œ==c§L=ò?5ž¨«œÿÁ¥ò[J‘EEnÌGì´¼›qfGÐ_óé¼@•{™±|ÎߪªUš­¿ ¼åv]z¢ì½ã× L."YBÜ€çâ|UmKOŸ(ÛÔ¾Tâ52*è÷û…ôÜZ¯3ï®lP^P¼¦øÊù"""¦“›¢I~öÉåENH¤ ±ò8 Î^ÛùÕ©s¶è qR÷ ‡ôV„2—óÞl×øŠ%Šä &¦k›N5Á»ß¯â¼äʃ¥bÀ^S“Ó™‡õÊ•œºÀ$ßÛ´$œØ{ji¯„(U€ÐqæìµÜœâ‚òÁOªUpžØU¸ô”³m©«üBíÑãV:7Ͻ5åôê ·gÛ|¥œ…ˆˆ˜N¾Ÿ±j]‘ÕêCÆzâkÿ{ûåÚº&¤*uƬJ(£BŸ«?÷Ú…ªM¾c½ä‰ãäìöm§š¬¾~Éã”m÷׿RýµZH—LñÙ–U}¶1iœôG÷~e]Ÿ´ßD>$L¨ûï‹÷”–m©P>/©\wÊ I¿´ß m] Ûת«U×Ûuz"¹&tÃl0 ѽӳǘ*ëªå°€‘^m³dÊÿœýÆ#JwßJUé•sNŠó}`¬Bä2ï(wþhSˆ9«ÔM`‚¦¿N…ò‚+e·Ù»±P†+k›å¥HŽΣ¥M¦Êºr@Ôº´Éa²zŽˆ š&;{öE#ׄn˜Ý_ÀP8…ˆˆ˜NÚY¬.r•àZ#sôMðö}@â°û¨G ZŽ¿ö#÷QË…ªC. ô¶[*F½1»¦ù.÷î©ò°Xµ7,m>ñUÁ/ÿrÂýß+œ=ýº‘k¾ÕÚðV^P–mlæg‰ˆˆ:KÏîÙ‘Ë,5;¤ßPj®d×0.ÿÀØ:§¼êÕ/Qö½…9N7;€3ûNÍm›•Sа`Š\ü£{7™:î½ÙTã R‰”7,õ º:ÊY[Zöæ)gÏ¿lšËôÅl=A´ˆd5þ""¢NÓ³o**ZÔ–Væ[ÛfY¯¬?6g{U™³¹´ÀX A¤Ái3§ÍüòX©Y%¶ï/ËZ·£¼ª€—g N›18mºfª7jÏV—:lïCëÙŠCí{o2o;i„ aUZXÏVº—Êý}ÇU—õ‚»xs™þì«£5šD½-ቈˆ:QëÛIlÍÒ‚ú•žL&€ãÌÙkgl¢ñ „eíY'$ª_ŪG¸RƒìüóÇMU#ƒn}dÆTRU 0i¨û^ÛXQ¹çx]V¥s„·;¾\Ë:àh{TrM .¬ÿ’Ñ5)Çͯeæ S¸ŸÙ9cC@ÔàdO ÿ’¨ª¥§êÝK5’æòʺC•NÀk¸oÏÍ(Œ&·QßèØ~üÒžSÕ§+êꛜ>^ÂÁ¾S£fè#±~nÐt '¶áìNT¢©^¾ŒÁ°é™ ¯~¬"¦“üþGN‰Zß¿lSþµCWˆ|dÓ'…<íòs‡l…û…·¢—Ob\©É1%«o*Çv¨ ðJ k¿×z† óU7:b¶Lr¯bÞ‘onß@fõM óñHÔFÿ²÷ò¯:u€ÌG6uÂÀçFúÈÝïí±˜õA7å×¹—м½b£0¶Ç¦{MÙ‹Œ&?ì›óÆ?}Zp©¶ñzXir>o<|Þøá×Þúe샃լ¥V†ƒøì÷¸ÖaèyS _Ãð5¿‡'ßCèVQŸåÑÒÒÂZ ;æÈß{zy‹Ñä{£IrÆá_gÛÂñ (­ÑdóôÛ¬3' Ó Ñj6Õ5«|…¬ˆŽê¿s°c«É÷¨”~ù‡ }½‹§éÞŸpC«É÷ê‚g²‹‡¨oâ£t×× £É­>Õ_ºm4p©¶ñSý¥¾^Y'2oM\+ÉL^ZDL'Dôí9UÕéköZgvvþšDÄtBD7ßF+ë;}Í^«údç¯IDL'Dt“ú&g§¯Ùk5ÕuþšDÄtBDDDÄtBDDDL'DDDDL'DDDDL'DDDÄtBDDDÄtBDDDL'DDDDL'DDDÄtBDDDÄtBDDDL'DDDDL'DDDÄtBDDDÄtBDDDÄtBDDDL'DDDDL'DDDÄtBDDDÄtBDDDL'DDDDL'DDDÄtBDDDÄtBDDDÄtBwÍÙ˜_b±°ˆˆ¨ëÓ‰µfñš£n©ªúþÅÍ¥»¾}b{ýö÷¶úÿ~ïø+åͬúžM,YŸZþù™Å{ëPˆˆ¨‹ÓIÕÉê*:¶¾:»æç ¡Ïó¿‰yAÃ6›ž©Î¼»²@yA1 Ý#Â;ý‹¹ÀùÀcÝÙ“¯è-óó,åe¯dלv ý}%-îUó··NÖÿ«ùŒ©©JèûüE~^Í£Ý$S½:;t¤°~퇥VÝÈWƒÖf׎óÃÙú2«Ý$T<—4$Ñ—©¥{S½=Û¶øã+åˆ S|å¬""êTw”ì••9P'‰FŒö“_¨<ÑäÎ!õd×XÆE}‘2jó4yÁ—<ÅÂæê ŽIÓGd,>¦×v5è’¢7/¦³]}¯ÔѱX1\ù¥^¿Ÿ½yaÌó’ºò죹L_üÇSî–0A´F""êD·»©8²NºFÄ*®|Êfj\»ó-v_ßXISöÙ;`7^ý{y k³ÏD“³ s¬ŽÖhõj4[Àˆˆè>¦KyeŽM6SÓ±‰E8"Va/­<áôY0½¿8ÿÔkÏÿªáp¡üF""¢ŸË£¥…mt§ì5†ù]©f4¹Eè‹ÿ{ç+Þø·>]Y©¾w³r¯.¢>ˆÃè.ˆý,‰3šÑ=%dÐÝóéØf•/¯""b:¡îÂSůô%"¢{z§aÓ ÑbÏQ/d6›õz}qqño§P(X{DÄtBD,77755Õb¹ëŸ?’Ëå©©©Z­–uHD]‹=;D½JQQѲeË~B4`±X–-[VTTÄj$¢®Å¶¢^%##Ãý"00P«ÕÞyOMnnnII‰»„ôôtÖ$1QçÐëõí1%88øÎ7ÔjµsçÎíXÓ u‚ö>öh’šš§ÓénZ333Ó½òèѣnjyS DDL'DÔùRSSwîܹsçN7³ÙüÁX°`Á˜1cXWDÔ}pT,Qoç~‘–––‘‘‘™™éžÌÎÎvG""¦"º¯t:ÝÊ•+ݯ322Ìf³;𤥥¹g.X°€ßqBDÝ {vˆz@©¨¨èØRÒ>îuåÊ•·ŽG!"b:!êsÖí+¹Ï{T( ,@[GOjjªûõF“Ü7xšˆ¨ y´´´°ˆ~¦Ðÿ·›¼¿}­ý8ÇŽ»ÛmÛÇÆ›^Ò]j6µŽWQ$¬­­e-P×\|B¡T* Ù€w?dggoÛ¶mãÆ …âØ±cÇ —ËçÌ™ÃÊ!¢nwƒ`PWq:f³Y¡Pôµ€ò½w…oÝ÷ýÑÄ= vÑ¢E™™™z½¾ýYâï/eâ‹÷ðø÷³Ûˆˆ˜N¨{kllìkÏŒs‡½^ï~À˜ˆˆé„ˆî‡1cÆüÈoèèt:~uCìÙ!êUär¹ûEEEÅ]mXTTtS DD]…m'D½J\\Üþýû,[¶,..îΟ‡jÛÞDDÄtBD`áÂ…îtR\\\\\üÓJ`5Q×bÏQ¯¹fÍšŸÖ;#—Ë׬YÉj$¢®Å¶¢ÞF«Õfggëõúö¡$wkîª'ˆˆˆé„º Gýá"{T´obÝ™B¡ÐjµZ­–UAD={v订Ií'¿ZöѾE;*ͬ ""êªtb+ú×#¯ärÜ4ÛU²ã³i›*mw·;×Åc¥ß6pÞôÉ;jmÌ•Ÿ¨ç™èj+÷•5(;¼Ÿ…ˆˆº,tê_ÞõŸí-:e ?W·U§”æs'ß?lµñTôþ#ÒE„ (DDtïÜݸó¹ã+¶–žrJƒ—ºÚ3Ç—Ÿä½_dµòà°esGWÀ|â«{ƒžbÜwÑZUë4>~Õã²þõ_ŸÖ:°!ûÔÌI3Ž}¹J5eklñÓ™F þrmH¢ÃpèA]æ8j^ÿóAË\ÝêH1OR·¢2zã",ÚX\æ(˜¸qfÇ Q'º›¶ÇÕ÷·–Ú&MÛõª.ó)å·E;¸NeÿkMEÐêåI_½ª{ÉÿòŠ-¥Fد”UÆ>”ñ¼îÓ߸øõñ#fÙ“óƌʞ]¬[=Rê.R}~üÌ ýª¾.½°U\8‚ §3štÛ€Â""ê餶æ[‹ìñ‘>ª°_öGí—'íáS†GIˆG=4$°¢ô[3 „X>àñ1‰¿ U·)>(:2Ê\öe… p•®DTÄOP· (±/÷Bk@9þy «„ˆˆ:Í]ôìØœV ζ- ±Ø Àajj>ýÉgÓvœ°@ÖDDñ]Šŀ_>ºæpíotø²Hðè3J ÏO7åºxpÊá&÷ižð”ößýY'DDÔéD"‹a·8[ïOf³Ý^^žãf>™}C/Œù§ü1-5!Èþñ…Ó±ÍG¤!éý<=Ý6š<]co&ÓV‘±Rˆˆ¨ÝMÏŽ2h”—ù“õ6ÀVsaëùfùLŽ›{ᢀËxòèò/°ÄéªltÝ›,ÅàáPö—/*åc±[‡Ñ„ˆˆ˜NnCäÿìÜ!â½_>öÊgs?©Ÿå%A”nâ2å…”?gM{%kî.kÔ˜ õ• U>áúüݬù9í_p"‰XydÆ«¹‡‘ò©‘‚Ó•^OÆúðÜtC¶Š‚¥Œ&DDty˜L¦nõ†*¿ùêi}äÖÅajžœîÈ~xÇîe‡íM”JeO¯—Ðÿ÷ÎW6¼ño}ú"Jõ½›•ëø©#ꃺÙïì˜.¾¿·iÂÜŒ&Ý•xüÌÇ?׺Ô*>ìMDD½?¸Jv|¹è°=J;aÕÞùº3ZÅËDDÔ'Ò‰`èLÝ¿fòŒõuüb"""b:!"""b:!"""¦""""¦"""b:!"""b:!"""¦""""¦"""b:!"""êzÂ^ðó°DDDÔ«Ò «€ˆú2³Ù¬×ë‹‹‹ï|“ˆˆˆ¸¸8…BÁÚ#b:!"êd¹¹¹©©©‹ån7”Ëå©©©Z­–uHt/pÜ õQEEEË–-û Ñ€ÅbY¶lYQQ«‘è^ÖÖÖ²¨k.>¡P*• …lÀ£®‘‘‘á~¨Õjï¼§&77·¤¤Ä]Bzz:k’¨óo¬ê*N§Ól6+ êz½¾=¦ßù†Z­vîܹK ¢ÎÅžêb¬êí}:íÑdåÊ•?låÊ•îÕ"##o*ˆ˜N¨Wq¹\¬êVRSS[n”ššÊj!b:¡>¤¥¥…•@DD±¿Ÿˆè©©©l,!êZl;!"º9°g‡¨k±í„ˆº±Ü7XDL'DDÝ*¬¾—¥ýÞ¹ìÙ!êrìÙ!""¢î…m'DÔM|ñ¾3뇖ü" ú»jV?Ó Ñ-&-¿—¥:ypéƒC¦ 9·÷Ü7éßð u öìÐ]rÔ>yÕÌz "¢{†m'tWѤö“{ß)k?qãÌ +„z£oÒ¿9¿÷<{vˆºÐ·˜/¤¼ð÷‡ÖUþ¤Ý}õÈ[E•pÞôÉ;jmw³­ùbé—®…Pש­ÜWÖ  ìðþE;*Ù‚B½£ QÏH'•ÇN_ü¡ ޝÄ'—ËAÄCÂÇ) (2,ðÅßÖâ±[c¾þ¹Ö¥V‰YDDÄtBÝ„@­bïuÏt"òûÓ+I·ÞºÆ?óÔ¬W"""ú©é+扽gäšÐ ³±øã+ålA!"¢{ã§Œ; æ?ÄfÉ©i†µæ•Ï®ŠŽú"eôöÙýk”¬­@H¬RUSS`Xë²+D‰±Þö ^<àJš=ú‹”Ñ›ã=·}vîë¦ëZJοR€y¿ùEÊèÌÇ$‡v•d×ð€«ñPóö¼˜ÌC†W\zó¤ hÜ–uá¨*tsÊè/~74¡Òðb^à)6W_hœ4{ôvF“ûPØ‚BDDÝ)@"’ \µ.XÊkNKT¿—«ý~¥q-h€Ê’¬!»ÜÀt¡æ´¯*Ñ¿¹T_‡°‰þžTáA“æ•ζ✧ ÌÐMòõ ×$HšvW:^ºXo1/Eb0JKìu×v›$IñJ¡<¶¥uv‹Cæmqð”Ë<÷Ks™¾ø§ÜùR0-"YÍ\HDD]™NšË ªË½}_VyÊM"‘2caHÈk„ ó̯)¨iÎ6yéÂ¥@³ÒW S…o×ùÜÐíbtÿŸ‡Ræa·ºZg:]eMr™'¸\&àv[³H"”K¤rׂ…1‰²ÞÒ žÉûMÎ.̱:Z£IÔ«ÑV u¢»ü“·©1ÿHñó›µS4áBÈ5~#¬Æmà´dV´­¢|UI>MÛòªËT ¾<Ãce0Tªk`7Öü÷vÉëãN„á± ”·.5]¨>dóÖiD{vÅ ©.»áüľý}mÛŽÔ[Àqâ@ÑŸO4ò,2šQorgm'õUs×T¹Û9úû&ÏŽNr§™ÿËO6½¶·ð ZŸ ñwÇIB¬xÝ¾ÆØé¾*€J‘€tl¢è–Ëö¿î‹‡?û$éH'À溧úé%""²´{ϿۿýÀŸ8ôŠœ»ëúËÏ—§ºD ›ìëåEDÎÞõùÿ´ï@ñ°ÿøòñ뻿üo½s–(¼ìŠf˜öϱ/ؾgÏÒÉ8²k÷ÒžÝç_Â_ð–¾M)03G_~â|ÚùèSWyú¥_/íø­Kvo——ž}Ž•S©›$üKQ½4>"ém2R#€t`édHîûá…·š7îÞ¹ÿ\9ôÂÝ_kŸ l`Ivj}ÕH'fæÅìnÿR·´óœKÎ=kù¥zúÁäuŒß”?ÿ&e@:6ãwjÿþeïÙ±gÇÉ+¿úÖCÏqlg#KbÞ!Wß ;• ?Çî’ŸþŒ¢ 3¾Ý~üß_ÿ¿.ݾöâáéd£hrõ7äæ®ü¤XÌ[åÁËc¤`†Ô;o»t»zážúçO¯ž¸ºÌ¾“¾{.ç£2<(Ý-¿8,ÚuâÆâÜ)ÍB¹¾!(0;Gþò+ß}à‰/þ„ì›~÷¼WvŽ’FÚÃ""ýDnÿ29[H'˜wÌÎøË»:táïì»~ÏÙL`{3‡å¨ãý'~\ãýrô0u ôN€YR{>Ãûw\𕚫oß>ò-¦w¬Or?ŸbO~û'2Œ²ó¢)馌9@:flù¥znÝýõ•_½H]6ð‚,ÁMòà òí¤`–¿OZtËeÌ;9½Z½W4‘Ç"9z›\}³ý† ·‰s§4œ(@:fèè¯î©~zÉÆ¯½Î¼“±òÍpðâ4ö µrm(à°&qhk[¸V?“á ´ß”~Y¬OË/î“â:ùcN 3¾ã¾øõò­>òoìÑû©íÔy;šˆˆ²|' ¼@k _ß²µzLŠoˆ÷ t?õ^qþ› G¿Í‡é˜)õî¿úܶZ?~ùÅ¿“ècòÅ/?þÝqÃÿÊÒb’ºžåÄR¢t'Ê’ÂÌÚÑ×ÕVýî¹Z¼Ïˆ&b]."bFDä‘¿”‘Ò 0KïØµsû®íë~ɶ/m—];eéb²&EÖ;ž§Š<²4‘¡•ÚÊ¥:û½²S¤¹Kúƒ""GGùÅ÷¤ûŸ!¤`¦Æçýÿ²ñÚÄWÓÿXs’*›¸Ž‘Y¶6ÔõTöÎ'ã÷äë·J÷mš%H'ÀÛni÷;oÜ¿çÊÝg-:ôÝ'>ñ&#O ?ð“%®» ,ªN¢ÔwÍ­Ü~ä«÷Ôÿù'˯“6ÃØ‘qèÚ¶M·=ÇÔÕV/Õ’ìÔ6þ:û<>HéÀ¬~ŸvÝññ‹.|åÈwïŸ8tt×níÆ«ôÛn1¾úß|à NÉvE„_~xx÷>CS"ãÐ={P]ó§ižøÆÖÍ(ã7åÏ¿ÉGéx»ŸÎ¹r÷¯ëûêÛŸZi–ÜóíGn=ÿ’³åõÓI—øaãåϗΪvI_'¾ç§vTÀây%fçÕ_9ëÂ÷íZföŽ+?¸cé•W–ߨ…Ж½=‰œµ+9ºNì¾lÙ{€tà72þòž¯\h$¿þœ%‘]û¯ü««~ëÅ]ý!C–j²²_w¹¯òFY:%°XÙfèèÃ_«ÿìè¯?òê²ÈÒ‘á[õÏî~ðço8>Öœf‘çíUÑ5޵²ï¤oë‡{óóEb)J `m;vìU~CÆä-Œ`ïâ›N¹6´UU¯œÙÑtÓrlkËžÚ™¾•#9ÓÃ|º€D¾.м¨š¾G¥4Ý´ÑÇ u€t`ómìØ‰xïG†®©qìû¶Ê+ «jÂÚÒ €Í'uœJ\ס±újú©í$u”9Ä‹‡3;À¼ó‰(M;媦k2P‹‰Þ 0WÊ ÝÞwƒ~8¦¡iJÆ¡o«<ž¶NƺÒ €Í§9i]dÓ8âæÙƒË"Kçí3m7ÈëÈÑ(Ò €¹;HŠ ¡pûN€¹Ût’­›X?vUQ÷ÔéÀ\ty–wk/)MÊЛ4­Nœ(6 ÓRµõQfM,*Vv€9Ç“±o›~Õ‰â®i‡‘%‹ŒÞ 0WÊž„£}±_aºÈÐ7vÆç+'H'æO¬I=øuU·Ý0*M7lÇ14ê€t`ކ®mÛ~4ß³4»¦n•a™L;@:0c3±íL9¶ÞÇI{M”tš6>;Ú÷6e`P ˆ]±ÀœÃIRYÓ”EÙÔQN9ô]?<q\³9éÀ¦e¬ì3ÑMðÜãOÖÑ-Sõå@:°Ù”aJ•׃ˆôeÖŒõ4)›¶)Ó¸TŽÉÎ ‰}'À|™Qì8¿»{›ˆìûÔýeÞOgÚ)ÓóР<H'6Ÿî¦íËqßÚñgmDQ,6Vv€ùêÊ,+M7N îË,+; €t`>ƾÌójõ$û¾Êó²ç´€ÆÊ0WÊNÊrÍ+^{½@:pÒXyºáW«Vv*ßÐ½Š• Œ•`®”¹¬l¢¬i^“NNÌÉØY®œQ\ÛÔ”ˆˆfÚ6u°ÐXÙæJ®kte웺f:~geäs¤Y^”deÓ]û¦Ôihëša{a\t”ÀBbe8crŠa{¡í…‘±oª²ÆQ„ (H'6ÝÐäq’UuÛõƒhºnXŽN‚P'™XL¬ìó5Ö‘íÄéGq‡ŽaÓÈQe`¹IËþ‹‰Þ 0çp’zZç¾."â9šë¶f®a;qf6ý‹‡Þ pD”×þ5ŒC7Œ"JSã@ïÀb¢wÌ•²#¯w·\SÚ2Íz¯²T—úaç ‰Þ 0ïx’ÔU쪶®[qâºNl%º×Mæh”ÀB¢wÌfyžÓ+åîÊ{eØ&u°°èg€±Ë¦“ȵÜIÙ±Ùé„gÍIë2”ر¼¸ê©Ò €3! ^\µ…ßMlËOëŠXPì;æjlÓ(®Ç¾îš8 ²ãMK•w\kTßïs‡c;H'6•R†mËÐ4EoXöÉ#ĶíÊ0ˆ&H'6á¡H«ÆÚŽêé8C˜Á„d+Ø ÌM—GaÚºîÒ€×Ð;æÆðã©Õ´ž¯™:ÕÒ p&Pºië,éÀZ¬ìÒ éNœ†±M'Y»öÉcW5§xNÌG—gy·ö’Ò¤ ½IÃÓŠ,(Îìó6¶ÙdR­Z¯Ì!ñ&~›X ³@:°ééd†~ýB޲}×$™ ˜ÍŠÒÌ%‰À ì;æËðÏ  ° ½`®”Æ‹ûnÐ – €Dï8#U`û§v,$z'À|SH›NÒÁ0 ËqS£ @ï˜3¥4%]S¦¡½[N˜V ‹ŽÞ 0_†'¾ˆˆŒ}SfÉÄžŽî4”À¢wœ)”ny“¬îšÄªBÛÿÎ@I,(z'ÀRœ(o‚¦¬FÅXLôN€ùê˼hÖMŠí›f4]ÏÖ)Ò €Í66ñÝr¥a…ùk»a‡:v÷~ÎcŠNÌÅ»ÿz2NàijŠ5/ïþßLbžR €t`>”égU,7,Wú%Êr±¥y`1±+83è~Vžk{a:õô>›Öºo°+ÀB¢wœ)”–ujÖײƒÒˆ³Ð¤(½`¾‘Ä-[Gì‘èn\¸1e°ØèóÕUE^0½H'À™bìË<+I'° +;À\);)+Ê«Ñ;ælhœé8ƒ²Iéš^¹6ŸŒMìzIKh@:p†PV45sRó”b‹‰}'À¼üÎÇvlÛè…IW.ÙNl¶wÿþýuîj§¾ 4¢ Ò €¹Ðt r:Æa$²‹€}'À\)·hs–oN/›°ƒ Øš&M> \Û4tMÓ Órü(­zn¸§•îØA lE¬ìsnÔ‘íVÖ$ж]{–Úªìì´æè5°•Ð;æjlÓI¶nûØUEÝS›SiN\÷MØšf¹ž¥)Íp¢¼íŠÀ 8ÀVB.Ïrc¬Þ«4)=¯Îª˜#Åkc[ßšn8~äøT xï¹m6™Tksˆ2‡Ä›ømB>YU¨Êßû±úŠ?ÍŠÄ7VêÒgŽ9Õâ"©@:0»›î8 ýú…eû.Ù9Å»¯C‰m·/ËÈR"¢E5xnºMdP€t`64+J3ž`wz”¤•9ž¯UÇw›hV8±â¤#ƒ[»bù2üÀãþ·眤LTìxÇgÄuÑ*“QlÀVBï˜s/ ŒWvÄ}?Œ¢4ÙoJ÷òJE¾»ûÎQdyß§î¯Ùvl%ôN€yê4°õmÛvïÝ{ñÅ{÷îÞ¶M³¼IÑ1üt}’³âlz2…ènR ‡žo~ôüË]Î{€t`vúÜ÷ ‹g½üòó߿럸ë‰ç›Äi#'(™o¿–n»öÚ¢é&ƒvÒ €Ù›¼µ“$° M)Ý CÉÒNw¢,1ë”gǬ­Uå麛3§ØúØwÌ—¦K[u£k)›²•»¶¦ÀÊŠ‹BØÿ N¼Íw\{[Ö•zqm¨®~xpîo,ÕNüTŸ”ìô\—äLÛ¦ éÀÛN÷óÎiªªéE›f®m(}ÚtŠh²ÎXn–éêþM6­ŒIäpÎ ØJØwÌÝÐ5MÛšéØ†’±kêºØr²A<éÚnÝNae9f›Q€-…Þ 0ç;n3±íL9¶ÞÇI{M”tš6>;Ú÷6%Þ]äªÈ±×·IÆþÑ0¬ü¡ÛNÌ$œ$…‘5¥¯‹t©m&N5Ķ’.uܸö׬b@”é…ÑÛq”ÁC‰Ò €™ueÇ»ºiÖñÃ;¢[¦bÞÉ©)Dw|Ÿg[ûN€ùÞn Sª¼D¤/³f¬§IÙ´M™Æ¥r謭•5]5+ÀFï˜/3Šçwwo‘}Ÿº¿ÌûIàL;eúq”g Ýqu‘±oêºí†Q”f˜–eœ×H'f{ËuÓöå¸ïGÍЕˆmDQ^ÇØ¤¾wÇß û>¨ÝGãSÚf0Ã4OxÐ3°•°²Ìù†Û·m/šnð¸˜7Õ&A,Ó½ŸÖºÏ¬Ø5Æ&o¬I%â®™L›*ÐE†Ò³Óztx @:0æ$õ÷â$²ïO¨’qn+¦Ç¬ØSãÉ(j%(¥”Z£»NÒ €YÒœ¤§}/š®)ÉjŸ¢lH™®VN¦ùÔÓû<îŒ>ò£Ð3º2)Í$¡ql!ì;æÛhâ LÊa%š¬\ËRvznÀòĬ§¾ëǽŸuæI]Vƒ9-3ö °•l;vìU~ÓÛæäÛ§ÿæ.¾iU:)Íïu¥Ü¬LÝã#ņ:üiëUMboÁŽÀô¼·òæÃ|º€Dï˜7ÍNê*êC'¬†• “¢J´"áDñcûþ¤¢©NlF@1ƒ¼ ÛÀÔ+÷^MW#Ùd-¥–eò´D`°+8Cn½fTä£çY®ºf_Ä•p¢x-ßL¨@:ð¶§Ã4Vvtjö¤jì4NËJ¬¸šú<ÙîT}eYQ5}?ŽJiºi»A8A ˜Í4U]Tšk›šÑ0qBʲ¡±;/ðýÈÐ55Ž}ßVy`eaUñ@€t`6”áºFVÄ~TwšåçXl®Ø(œÔq*q]¯R„~j;IeÌŠ¶ vÅó¥Y^”deÓ]û¦Ôihëša{a\t”g]>¥:ØDÓ5á °¥Ð;ΘœbØ^h{áDd웪¬‡q¡p’²B·÷Ý ŸŽihš’qèÛ*§­“±®l%ôN€ùvŽÏŠíÆ5×ò¢Õ½§®ÏoNZ¡VÅk]|ñÞ½›¶?)F/¯3—Y±éÀ¬ôež§¡m‡e2Œ}9±íˆal;HŠºëÇcÇŽ;6]S¦‘Ãá&€t`Æ7\fÅžfŤ›P˜{˜ , vÅgÈ­—Y±oŠY±éÀ¦¤fž%ÌŠÁ¶cÇŽQà7ý£~òíÓsßtïûnÐŒ­¸Œ1=ï­¼ùðêšœœëX«fŦÅȬX`k¡wœ‘Æ*°ã¨«\n¹¯Õ„Y±éÀfÜqÛt’†iXŽë˜ íx“j1+X œÙæJ)MI×”ihïV†¦UÇQ׫•º}äIQ5m×õ}×µu™F^Ø:!ë:ÀVBï˜/Ãÿxc oÊ,™ØÓѦSƒÒœBsҺȦqÄͳ—E–ÎÛgÚnבCÛ xZºåM2/ê«4 íòÉÁŠ(ÊjcG™r¼¸ŒMV °•±²œq!ʼnò¦­þ.Y­X[Ãu®Œ}S×LÇâ¬lzÖÁÒ €M¢Y®g3ïd}Q¼(Éʦº2öM©ÓÐÖ5Ãö¸è(°…°²à_`N1l/´½p"2öMUÖÃ8ŠÐj¶ z'þ…›8“rÍ¡¦±É‹V÷BŸ©ÿéÀÛpóí»¦®›Ž­¯§/ó< m;,û“EûrbÛsH'f|×}KÛ±÷â+¯½öÊ‹÷îÐì ©zêr*ÍNê*êC'¬†• “¢J´"!ž¤³2¶©k~ì ýäÉÊ,-iÚX¶—u”gƒ€by¶;©WÄjºÉ&À–®X`¾Ù$ñîøÎÉ`²ï÷–y`*é2×ñ§Ž ª´ž2£"=Ïr½Ð5û"n¬„}'ÀVBï˜g8©§ñWþ½tÍç¨V¢‰ˆþÔé“) «S‰a+3a5{R5™§šªê­¸Ê}N_[ ½`Žá¤-ê}“k"_ï»AŒã·ÙqG%}Uub›Têx8q²Ê銴TNàšº&NH]€-ˆÞ 0Ïx2¬lØ÷ §Ï§Ó´=Þ* Ït³~\{vT¬¯Y—M'‘k¹“’&¤3oè–±ïS÷>pï]n÷¥¯<ºù×w:nTjŽÙw"rEàTiÀbxqÕ~7±-?=qzÀÁ¾`žÌ0¶-ßëäáå—–ýrä—ã˲ïsiH8yÍØ¦Q\}Ý5qd+´TyǵFõý>wh3¤'«Î~itóFWÍ`B2¶8vÅ3ðÉ«.|¶ãMßömÇ'¯ºpÑ‹eÝ*ç]ôæo;ï"±nå£Nü3íÚ±ý/þðŠ7}Û_üá»vl_ôb)Mn¹ûÍßvËÝ¢4>ZéÀ?ßµï;ÿþÛí×ë ¼GÛqÿíöµï;ŸB‰ˆ•àÁ×í œw‘ŠñQê,¬mÇŽ£ À¬¼øò+_{ü¹ïþ°?ðü‹/GÏUgïß»ëÆKõO^u!]“õÆAšûäGJÿY~Q–v‰~™|èf±n¥kNH'à ÂÊ Né€tH'¤°•ýà-S5!&ÓIEND®B`‚murano-9.0.0/doc/source/admin/figures/add-interface.png0000664000175000017500000012250113656750211023047 0ustar zuulzuul00000000000000‰PNG  IHDRá½4†?ÔsBITÛáOàtEXtSoftwareShutterc‚Ð IDATxÚìÝQli¾(øÒIUf–ê3=Åé¾puÆu{怎.œ½ÚbW¢úJ®¬VÐG ¹’±F‚H׸uÒ6äKGã‡À‹ñC@W2Z­ñJ“‡`é4HWÁ« ¼¸ö!°÷4Ý]>Ràö„êîq13®ê$ìCaÛ8q:鎻óÿ=$v¹øê«¯Šªý뫯ÎýÓ?ý ûÑŸB!„^Þ¹sçŽÿ<úÃ…#AÉñ1LA!„Ð+PöC íç#!Ë`0¸0‘ÿc„B}1Ê‘ŸÏ;w$X¹0سüéOÚÝÝýöÛoŸ>} ãr*!„B/£hÿž?þâÅ‹—.]úùÏ®MÑ"•ƒe0ÿüóÁ`0 Àïÿû?üáß-Ì£ „Bè…étºóçÏïR¯…)Š¢ì(pñâÅŸÿüçßy籕B!ôb”_ÿú×çÏß|óÍ‘Ål6_¼xñG£Èe¿Íf³kò«˜íÌùˆ‡·Ùl6›/'➌Bè'èí·ß>¦Œ(&“‰$É—)ÿ•Å(J+å´Ùl6yM„˜óØl6›¿úÚ㥑ž_ÞÜîmbí&šÀÝ!„ÐO6Laæøô¿þ뿾téÒKþªb¥](I n® ò«…årÐfóä;¯ª¼nµ.ö¥õüJ:î6â>ŒBè§éÉ“'Ýn÷øôïüàñ¡åñãÇß~ûíãÇŸY_гaty]Du£ÞÂäpXt”™!†qWìê|EÐM°“f¤F]¨d®U«sùß0¬ H- S˜/l´é cüõ¿ý_½S?ë›] L“ Mí4  ´Ò¾«kÛ„Áb7Ñ„*µ…ææÚõMAZß/@n¤ü³m6ÖLÊ¢ÐÜ\›ßB·VüfòÔC!„¾g¿üå/=zôøñãýåÒ¥K—.]úÍo~³¦\ºt‰¢¾û]…W£ˆ•B@ÇûX H“×AoÜînä˜õà”)×2©º ]¿é^ñwJaßbýPa§œít I°](Psëë{ço¯‹¾rµ mä„ËSŒ;5JÕz·op…⾽òb¬"nr!Ÿp«!7ÒþÙµær¤È}  •_*™¼«w#ÖáVø_øF¼º¹Ñ§áø^.©W]^Û ]+ëq–Ú[Õ¸ûÚF3“ÜiŽÒ3éùÂ6l4Ó£UW¾àíff±èÈûŒ§¬B!ô}»té’Édj·ÛçÎÓmúÛo¿ý›ßüæ³Ï>#Âl6¿õÖ[ßy/ÝEi ]ïµhgLÒìq¤J±9Ò;Ci«}ÚrÜ’0º£‰Ã¥n¶C{¢žƒÉ8Xˆ 陡l]`£Q÷A5(k îÒl¯[ÊAš¸HÀúì0‘2–n,ÜH„؃ù(Öë Ôvµ£' ¹ À©.ņ#vZG+Ͷ|úŠ!„Bß¿ŸýìgV«Õb±yÌøí·ßþÛ¿ýÛ¿ù›¿¹pá¥R!/£ Ÿ9¦^Óþ9Óìñú•üÈ3ÈÝF[†?|7‚f9zô÷SÎöBËáÒHÊ@€*Ë'ÐåFeL.V81cr³€$´=\mv˜ž—È"–wº¬¹×ét:NW ’”~_û¿Soª:–5 oøt¹Z.&xê…+†B}¿ÎŸ??v ··Þzkìôò’÷z´gŽÁàðŒ†ŒÃ;‘YÞ®™ÓúŸ*²(€Î@îWBÒ&`?¡qÊÙ^ EëÆFWꉟÚ@§˜ŒTÿ¥ßV@jHŠ[¿·Â:éFië ùåôZåI¢4C‘¯¦b!„ÐÙËÅ(Ú3ÇÝJÌWýƒÚµž«öx·@•U ©ãgóCSN9Û÷KQT ßÜÜ?Ã0ó1  ˆç×m¿£«Á>å°›JGR%¹¼¹_”ªjI“‹{ÁŠ!„BolŒ¢=s moË4 ›·ÇI¨Š|4y¡ª‡¦œr¶ïIÒö›wÓÜ«HJ(­µdE0…ÖWý# '±‰Q‚zΪ¾òŠ!„B?Í¥³Yh€)z'ï96Þ{¯üðºÐÎW;ŸqؤßïÊêAWSP¤Æèho§œíûF3F€®*u%€W1½Ü$0y]‡:ÆÈ¶tx±4Ô%©!)p¸;Ž¢($I¾òŠ!„Bg×Kôg+ù6X¼“ãN—zÎk'¶ E€fĪ8ÚQU+¡»§œí{q¾ L´Kõ£‘Q¯V®µzÊw+š8ÜѤSÍÖÕ‘å’F»…P…R{tr-rùƒ>ðå;ßCÅB¡Ÿ^Œ¢´ŠÅm`½výØ(Ök'ºù–@Y=, ÝNmì‡r£°X<ü"¢SÎöji@¤vwÿoœœ±ÍT²8,ÉBúÚµë×®ÎW^0©C1ŒÚ¥ƒzBj>%™t vzê°Åü. ¿ÏìÏ(7r©MÀä᯾b!„ÐÙõ]ïõ(íb¥ @ؽœþ¤3³ÕÇë6+R¥ÐŽÄ­ Y¦—›Íä´3ÏZ µ…¶4áš±l¬5’ §œíU" ,Í~%<Ý1Ñ]ò›õÎ…D}v~£žœ¾œgí ªØ¬·%‚Æ/xŸ…´Ì¸ •Bws~Ú?igHIêM™æC­àìm©™ LJ7â³Zà ¯,l‚—+†RÅf[Khax7íÕV !„úÉåQäf¡"íbúÀâáuýJN€ñ¥o-L±][¨×’Á1·’‹pFzß)g{…ôŽxtÒ@€Úm6EH@ÏÇó·nx'MTWØÜ¬lÖÛÊ;]¹³âyñçIsdõæŒ}B'5776*mÕ2³´~ÓÃXs® úÍJ½)«@±‘üú 契–·›B³-Ӧə¥;ûá¿êŠ!„BgÖ9çd;zÇüïýG¿ÿçþgl„B½F÷w÷î»ï^¸pá“û?þÏÿ<~üGÖ@!„ÐÙqþÝ·/b+ „BèÌÅ(Îc# „BèìÅ(Ø!„Â!„Bc„Býxc”Ÿa „Bè Æ(Ø!„Â!„Bc„BaŒ‚B!„1 B!„0FA!„Â!„Bc„BaŒ‚B!„1 B!„0FA!„Â!„Bo€ .\Ð~zë­·°9B!ôz½õÖ[.\¸xñ"æQB!taŒ‚B¡³èÂè/N[!„Bg.F1Ø"!„: ð^B!„0FA!„Â!„B£ „BaŒ‚B!ŒQB!„0FA!„Â!„B£ „BaŒ‚B!ŒQB!„0FA!„Æ(!„B£üОöwŸâ€BaŒr†¨Ÿ~õà¿ý§Ìƒÿg÷iÿ1î!„ЙsáM P~/úÿ¯GêÛçà¿üŸÂ——þÍêÇõ+ÜB¡³äMÌ£ïþ÷O|½3|ù§KS—ÿ (!„Æ(gÀï¿ü?þ?uï—ÝÛÿwï_qG@!„ÞÐEéTÓaoÓðî`¢,*Ϙ¿“÷Øl6Y~Éåö„|®Ô:²¤_þåßÿoï'/_øÙ?zþÝ?r¿Ä< B!tÖü@ýQÄlp~­«c½s.% …ÌÆíëa’Y˜Éïu¹Jb9C.¸Ü‡–ságÿñ?ü þpþ>øwïü÷„Bèìùaò(²(t î¹Ïívûâ++7nD]4 Šál6gª¥€ÒJ¹m6."ìå=Ôn)îãm6牕: ó+\¤4:}¸ !ñ99›ÍÆy"ù– Šá®,o´?´ù«Ç22ñŽ›Å!„z£cŠá'º…`0–Ê—j-Ùät;9³þyŸk6io|ÁkíÊb¬ÒÛ ]63z&±05¡nW’Éš Ð+Í3›]]]òÀær0)¨–ÈÒŒ&f–Vã,…!„Âå(ÆŸ[™s±T»RX^¼võÊœ'Rl)Ïû˜Á »yw(âÐ47šòþôHØÉ¹Ã €ÚiKЫ€ oÀmµò€úÕ|Œ&†’±X QB¡•l|ŠõÅW|q; ¡^Ê¥no&ç³–Rà™¢€¤  /Ë{A m Šú’ Û™i[fï³]Q‚ ÜÀ!„Æ('SÄR&WWØPÌm¤ŒVÞc2´6¯Þî¶%HY{¸ß‘}P% Y”€¦Nì`«£i€®af%í1Ú$‚2‚"àF!„0F9I¨JsCØ\“&ZëÅÛ€Åa"IÕb€Êv%[tx©jFPØ¿´Kå ^º™Ùè° êø%èíšB¥Ôà<´XÌä†@:å¦:•Jq°V=‰Û!„ú±øaú£=éÕ¨‹%ZkËËË™Û `]ÑÕ´[`tÇC,­Ö—¯-nP^¿ @U´;8` Ø™ùÅB[grÝXp?£­Þ½´²•Åàìµd`ýa‡€b½ôë˱¬ ãÆF!„~DÎ}òÉ'?þöÛo¿üòË l„B½F.—ë½÷Þ»xñâyl „BA£ „Bc„B!ŒQB!„1 B!„Æ(!„Â!„Ð¥¶Ùl6_©÷’õJ>›Íf Öpô&„Æ»€M€z'|!r9¸yti=a¶°v‡Çã4ãû@Â!„^‚6ÐÚ»¶TY–úÒ¶°¹-lÞÎd&£K ù,½È‚äÒ[[ß%k¥®\-ZVî¦Xmuôîü–7=Bg!FQUµ×ë}ýõ×»»»Øîq—.]zçwôz=A?Àâh×ÍõØH$"w„j!›)ÝÍäÕYùÖªßü£ß–ÜnH¸c!tcUU?ûì3½^o2™.\¸pîÜ9lz„βo¿ýö«¯¾úì³Ï~ýë_ÿ0aÊ!”‘uGVxG.<›i¶3óûzä D)ÊðUíßé³ÝºˆûB/äê3Ûëõôzý_þå_^¼x„ξ‹/¾÷Þ{4M÷z½×V Êê_Z` €na¹:Z ¥SËǃÞf³Ùl6Îé §J­£=OåF1ö99m&ïöÇÒUQ9rljaÏp&ÞLåˆ9ÍfóäÄ^-åwÚl¶Ë1A9Ög¶WôÙl6>Þ;åTx¯R¼;˜(ï-ML»mÌVúêfð›ÍæLµ”ñ}f±œŽøÝûµöãùZo¤ÖrÙ¯-N‘…|Ì?¬:çôÅòÑ‚´jÙÜ9ŒŒÆ(Ïñõ×_¿óÎ;ØÜý¸üò—¿üúë¯_g ôŽCÂíýw—+­\púÚò†°MYì‡ÃÎ(ízañêt|$Ž‘…øôlòv½ kŸœ´³&JjVÖæ§ƒùƒsv§™žMÞ®oƒÁ²– Øn'g§c{åhù£¾Xº>_h*&“Õ8.£´7WÌw½$3Ž™PÈë°@W¸}Ýw­Øбž)‡… í®©©)¯—‘…„oúúÚfS2°“‡Ãn!·…åkW®å‚+@•„¤/˜ŽÀÜÜÌ”–Ú•åÙ`¾ƒ;-ú)ùîõìîî^¸€ýsú± .\xÝÈHÆa…:ˆ‚¨8­$(­ì|¦©Â„w%a©ý`÷¸¹_v”½jjC‚]X_q÷ó*iÿìZ3“®¹SÐ+-.nöÁ0u3ã(-‡Q¼æK •ø²§”`)ÐnìHÕ"áXú4Îë‡1Ò±…hÞn»n–âZIàŸ™Œ\¹¾)¤R5GŠÓsþC5+Í6añGcÃ>³GTŠŠÜÞ0…Fúßôª±éùа+òyŸq?HQë™úÈâ|^6øáu¡](о0£%¡Ø™¹Ph;û1Â< B}š¡@Ú–UPškÅ.íM„؃§’îhØЯ¬i÷M©!m· ¢¬ôêÊj~Ùt6ra„9j?rÍyM4MI IÙKôÍ¡Ð^€2.Šþo ¸ƒ*éù€‹PëŶrº•…\¥@OE½#]oôü\ÄíBEIÛ°s¡Ñűt›yeœ>¿ßçÆ‡·Æ(!ô=%RH-O¡¨ ˆU¡ ³;˜Ã÷JôvÇ´ê¢$m5@7—Ê7F²¤ÑÊZ#©eUªÛÀ8,£çpÒΗ˥ÿhñ&‡Uÿüzì¬ñP½ªØ:ÝÓÿi µ»-m=ÖS…f(€^Gد-u´âÃÑeTÜcÆ(!ôÃ;m h“‘U-—Ð6»ãÏô}íDNšý¹;Öb6—¯Ô·Ûõv}c- “¡XÔÏêERˆçqºÇ?•|ÿ9U0¦hK#ŽW€P%Œ?Æ(!t†B”æFtVÎppºž­ýÌó>ªg=1ÖƒžX«W+•âF}{3å[ù°™$iTõÕÝ9V’ªª@žvt-ÆQgBT-0#(wô†Áþ(¡3L,¦ë*€Ž÷ZH€aÚ¶ô±…žáÜþxºôéÒ¤`»Xh+4cèˆG{‹(Š¢(ß!r‘ÚGJR{t uª< a˜ `Ø]÷PÉZõ ö~E£¼Nµ0çLµ^öºFi$œ|DxV1J§šòs6>62—ÜÈE´á—x_¼´7AOH‡µá”8w8-Œy?©"–âžá˜LÇ ãœÁT­·?£ßÉóN'ïYÂè‡òo³q'üýÄäZÄé/õöÿn³qN¢zx¤¹ãmÜøv‘);>Iª'ä‚¼Íæ¯ÊGÌiÇË£e(B„w&^|Ëõjé ›Ó7§?¥šµ ߪ‘p®Ú3KSž½G=³´gí>bÎg³y†¢8¶ȵ g;„5”j§?µ7JG¯ss6Ηn½iÝ!åZ"œÙK8`%H†guýZéèÓ2r«Zöz•Ê­Z)_¬õŽæUÜfèwe€2Ù'`»"šKÌù>øàƒË1á…Ûº[}å”ö¦:«•~vºe/bä-€Ú<ºj¡ÒÓ¤ c„1Ê›pe– Îæd«Uwè çú¾Ü½­­»){#ÉŠÐ+]‰@þÞÖÖÝU\ˆ$¹”FÂÞ Ø ÍÂöʱp‘ çïmm­G B¶ÐRÄB$Ù`o–«åryÅÑN†3‡Ï8²œÏªþܽ­ZiÉÑÖà43(âF“v°d-ÎHîôÝ­­{ùµ[,ŒhUM&k'$e!5_±Æ#ÚáÙDÛÄÒÄè‰"Îô=+å­­{ësÆêõùW2PT§8«šâw¶¶îåD%[éh½tŽ•{[CµôÈã•J#¯¨ÄéK{N,ûŒÒž¡b‰xæ>@q+µ½Uغ·:e08¼&ò4-2¿A‡Öïmm݉2ÕØ|±Êv¥&ó+wóáÿ+kNßʽF9t_»Ý ì ÏÞ#3¤eÆmèoÄR#!ˆÒ)ŃóóÁ`Z ¥zjq99¿x8ÔïÕJ-0Ø]~ 4Ss)R:·  ã}¦oëv:U>ˆ[[…T¥ ãÝâ´oŸÚížSlÀc6’Ù‘€¶SN¥Û;ã0¾àŽZÎçrùããï"ôãqVû£È­br1[ëùP"êfHPÄâb,[% LŽá´N9[ÞhË„ÁH$|£‡q¥wΊñ»9þÐõ‡Î½ågºñjI=¸ä) À¥] @²þ0[H•Zá0ÍLES¬›!H³ÃaÈnˆ2°#K îDÞjl‹õ‘#áæZƒ ­óFÀÈÇó<€6`eåHƒÝBeÛ]j«´ó5p¬8€´zBl.Yl"§˜AK =`ÅI˜ÜV ÞcJ¦Ú}pêµ ñdJtE•ä˜w§”ªBëÚ˜¤)´’gÔìtq$omtD—LN3FÞe%’â1ÊÕĵøF‡¤‡£¯½—r‰Ç³‚@Ò¬7÷[)€±›I,æD6šfõÀ¸Sy7€Ò—dR§ƒñÉž¸ÀFgš‹•qçØÒê©à|¥ÑíSìLb)<TcLiÏÜ—F#”" QÉܳöÑ0ß´F×µ4ÀpöpâÈû|åv©M»âN# @ò¡s¥P-X¤ÒïCäJÇsåÅÞ¬'·jB÷hïŠaÙ³wÓ@Ú¸6]yª*IûÝC Ž…ô‚{äìLšCKsÙåæíknšì†P%Q¶U€‰©DXkgÆ›*o×§/g-¬‰&@í‹ a»`˜Š{-­âN,T|‹õúâôå¬Éj$:fW ñ9öÅ[È4Å6¯_q쬑’E¡Þ–{$´wÀ LÚR;yÕW2Œ?·ͤ˜C‰av­½6{¹ÊÚÍ4¹WíX¸áÔ¿àATX[δÁ‘‚0Fyµ×PÔµTg&_ö1¤ÒJûfÃYk) §‚i)»ëaÔFʌټ»\¬Ð‰;5^/ ‰éàb‘Ïû«$ãM,õ%Hõf3€rä©ö‹ERS’Áluî¿:½S¯ti;{ä8¡·š_§(Ûµiì®…=•FW¡YO,f)rÂaU2¥¦le)¹]“ïPŤ–¨{ORF%51'ÎЭÀ& @‘¼Û¼& %‘bÃØP<騹4îäÞ©EÆo®e6Sâ‘“ïd†·Bq­AÙS )×bñ ½“wê•V>xU…‰ý”K8_ö0d¯»Ž3¥Õ1›‰›=ÑN“›-ŒÜL4ê³R HªÜZžu¶Dh«#´qI…tL`9V Ž=/ @•jusn=Æ@+7{5–æïĬä¸Òäq•úøËÄÌz>L¹ŒŒ*uGkJÐV;ïòxÝLJ&!;•;æb&[¬ õÍ6´eÒå œû£šPl,˚ͫB³¾©]›L“no 0rÆ6ºÓëÆ|&]¨6ÛB@7Áº|¡°Çú]Îé¿É—³…jERt»; D¤9¼ïo' IDATàmÇ M©Ý” cÕÒ^½c-drÅš°Y‚6MzW!ŒQ^sˆ"–ê²5êÖrfǰV¬‰qS6G‡i„H¾,Æ¥r ( ( o!6Û’#7)3ÇŸj‘¤ÉÁB,[l-ùÌJ£˜­õUfôú³W‡ÓX 0§8ØÊý¾$Ô +¹²™‹óþpÌt'íÔ;£ÑÊlðòm‚•°Gs®C'@UUqJÒ×â¢;•cÉa„Òõ¤ 5öYM¹½Ù¥ÙçQ¥´RÓW ] ,3éK)jS5G9=f‡×²¼ J»X»–޽}f’ – Ïñc6!ÉêöfÛ¿²cÔF. 'Íå„…²óÙá÷ó Ñ)'ƒ×ƒf=bV…t\ày+%‹ã«7¾4Ðrä f‡g"“oH`¥Æ•F«äáQ-”Vv±ÈDò<µÓ^ÊfÖdÇM‡Ö¼Z©Ëø\fÌþÕ²‡ ”Ée’RÙ’;á6ȵl¶¡ªº—yÚ”´ÆV—Ô«ó9±‰©›¹0s–’MÕ¶^üSzÖ_ñ=;f0»#)wä9%éY_ž ÄAghÖíå -yoYr#7.á•Ï©íAð˜)`\>®l+|7Lö·îy̤Ò)Çfý1C)uÐÙ‚ %ªt("9y†Þæ†d íŸu± ¦%o:§Ýdé•“)É›öžxZ’%(F÷ü“‚9RÚ Éb= ûÔ•[üèæ (í'µ'©ýfØÉï 'Õ«,Èã6@OÎìÝ» °ÙŲ¨°Vºw‘ë Ö>ÌVº~N‹)ÈÑ|E¯äŸ^lötìÂú±¥Y€¢÷úÖP: ú]¹'dÇ”6~_s>_¦­èì7ï„„Å ÍóÔÉY“£[ËÖtžÜp·Qd±¯ût‘ ×Âîkõ>a åó~÷R¢}=廜$ v¿‡Õ­Ñº—û*éùø­%†)S7s1¯ÇB£¼ M©Û²:|†,É c¨_*#•žØU t{q>G,äóN# r-ì\|‰…R¬?]ôïýŠF·¹‘†ëlâV„;íÝ`ÒÈÒPí©ïñ«õ.r˜IíJÉcZŒUD…ÛOßÓŒ™è ]Å©'axëÂr¨×ÀøzBEb¼ÃÔ´ÒÊ_ èh>çæhäæíz·-øYPû}ÂN —{þЇNÞ¥:ØÝ¬HŠág¼L!+üwE©Ý½Í!K’ BOëh×Ñ»r5Êì%Œ„ý±BåŽ(S —Xÿto%@ÏGVxíJ[ÌyrŒÇøÒ9=¿µD\/¥‹ BèGäL>×C2îIª‘Ó:ÛËB¡;áfÆ=I5²¥– 7²A_¤ÒU$I¥Œ MÈâZCUäéq¹U«6z§ºââO¼ÚP:ÕåŒÈÎLäj|~ÔX9 ôåRíäÇF‡—igÒB@+Ùªbu›H£•!Äá§zB¥ k zµRYè/•̆¨ÈB6Ý`˜NÉÞT©…¦$m\»¼?Ê…3ÞP@é“‹Ù¶  1Þf³]¾&¨ÝÂÕl6[°*}7övìŠÍö/ þT‚§€â–<õñ<ÏóÓÉ®#±äÖÈíµd²¸­ÖèÍ€.¼l³]Ž5Ø…%?0²¬q3(íR›vkýx•f¡Òío^ÿð`l‘`íù÷$(Ó¤Aö¹NÑg³ÙlÓk]µ9Ùf³¹Ó-Åè[Zr÷³¾l6Ûåp‰ ¤âEñч”¼ÂñN_\vížÅÅÓÈÎò<Ï;ƒk*ç²P0~3‰¤9”Žš*áË6Ûå`‘ÝŒXI0z––ÜÒòô6ÛÓ©®c)>]ÊgliÞ*\÷¸—}j&8évÝ •|þ‚OØ@•º2e”ñ¦£¬0ï´Ù>ðéÐÍ£ëíáS ^¶Ù>ðç©ðÍ…c!ÜÈ.f6´j”í|2™ßÖ~îld³ |Ê!ôSrîïÿþï?~üøñãßÿþ÷årù{ZŒ ,ËbsŸI¼ÏWñ®çÜzl „_^„Ðkçt:ß}÷Ý .œ'I’$I‚ .^¼ˆíòF2º#|7›ð!„ÐpñâE‚ H’Ä÷õ  ØH‚©F)!„Î|ï1Ò¢”b›!„ÐY‚y„BaŒ‚B!„1 B!„0FA!„Â!„B£¼—.]zòä 67B?.Ož<¹té¶Bè§£¼óÎ;ß|ó 67B?._ýõ;#í€ú)Ç(z½þÑ£G_}õÕÓ§O±Ñ:ûž>}*IR¯×Óëñ% ¡×ãà ˆ÷ß¿×ëýË¿üËîî.¶;BgÜ¥K—Þyç÷ߟ l „ÐO9FÑ£Ñh4±ÑB²Ÿ·½ù¼ŸÙ›$æ}¾5Sz=ÎRol³ôjEñ8_÷¡RÌy|Õp9ÇS² † "íÊÌK¡³z'rÒëÃG7nÙïÌ:Ö‹¾ï°J#q%,%Ê)–ü®µWÄrEâÜGv#¹Qª÷)ª°”VjzVŒÞMsäÒîãkþÆÂçzB¯ ÅF)Ïw†:ÅxFr$"oôñYÖÒ¢òÚëÁxswÒ< tªUѺT.Åÿ§ÉDy=d&Ï~#*b1“kHG§¶s™b[>Ó[a|Í1FA¡×¥,8º™Åbz¥ÅT×±a)èUSA7Ï;<ï§k=P1ž ÊðB;îäc åè¥o:èæ9ÎÆ¹Ã9íEÞr#ñðÇqœÓŸ¨ö†Wøœ/O„ý>“wÓ ùøy"æsrœsúâ%íL5®J­„ÓÉçbAŸÇÍóžX¹J-»ùTÄïó8yÞ—¨õà *<ÏóNO$··Ì#uVqßu¡_Ÿ¿âKµ”q+Çqœ;˜>öšrYH‡Ý¼Vü°ÎbÎÍùÓéˆßçq;yOl¸"ÐÑÖ„çy·?Qî('¬²Xð_ WåNñÚµBWbÓžÄÿ»sNgZ (b)îsj¥SÃUT:¥˜‡çx§Ç+¶Õ1'þã•L»¹`u¸6‡~é7²a“³ÙxŸ¶áNß°âµ`¡»ñ»#åÞþFm¥gÛR39í‰ ÈB.ìáyÞÉóî`¢Ú9œÇ9²U,Dúh€B?°{QÇdèÎý;¡IGôÞÎ`0x¸>cw,Ü{4 >›œ ÝÝìÞNNF·vƒÁ`°{Á1½¿;ZΣ;»ëÆÖÎ`0xx'`ŸŒníì>Xr±S«_ì Õ>¿sw†e]K÷wƒÁîƒ%‡}æÓG£í޿ᘠ¬±;ìÜ_rÙ½·žP¥KÖ¸óP›°;n<ØìnÍÙYGôî£Á`0xxkŠZ}8ìÜ‹NÚµBîF“swwNª³Ãº·{¸‘v·¢“Ã%í>XbKÍñÅê”}æÎ£Á`0Øýb=:·ú`wðÅêËN­>Ø ;[7Ú _¬zí®÷i%yíS«_Œ_å/V§ì3wwƒÝK.­F»÷BvÇÒƒÝÁîý.»÷æý­h—Vô£;3vǽÁ`°siŠe§n=|n%oºì»;Æ¿ìÞ¿á`Y¯Võ‡wöɹ{;/Ô°;wgì®Õ/ŽìjoMÙ½w ƒ»s““¡Oj;à‚Ã>³~¨ª#[AÛÊ3«´]Ó;ÜÊc[àpì°IOXÜ£u¯Ý»·ØGw¼vïú£C5¿joM±¬wõþÎOú¨ðÑG}üñÇÁ`ó(¡×›Ká¢Q®±8»Øà¢ 7JmÚáeõzÞÇB£Ô~nÖ]Š Úác)0ºo–K ,Eš#ëws~†£7¨bG»H'hÞe¢€4Z uû‡’(¥MÙìu0$eäË+ãÉU"¬^Þ@1”ÜÕrô„ŽõØõ´™ÑõEIQÚÅ*Ø.†½}f’J e\ǯÉ&Êå›n#Œ¥eñðÝ­q£Pntd’ñ$Rþá ™ ÃLeq²D»ÒV:µRÛàõsz Í®S·TëŒ[ågß(mJ¦¿•Šõ{ í¢ÐSÚ•6ÁzX («×3qôc'Ur<ËŒËL€‘÷ZÕfµ£¼@Ã>÷†J»TÎ?Ür¬×AµKgÜ"L^™Úb¡ä®tB »]æšdÈï°¸½Jž¸jÞú†Ü½€GH„ÐkŽRø€ßP)y K²J(rÿÌFöÛ² ôsbIV ãÞ3H$Ei'ÓJ:U: ¨Ò¶ºæ%hrXþñÓd_’ šÚ+‰¢(€Îø*退ƒçžFJ"> ¥ö$µß ;ymºªöÁ*Ëãê|ÂùUnl¤2ÅFOµ+{øÏz÷Ò*d³…Øôõ.e™ Å#nŠÞ;•ét¤ÚQûr·ÛŸÖ«¯Ò&I1_ågêK²Ú\tóɽR€éöUU’Ù+„ ¨£„PÉñt´žÚ+IJ¿ÿ" û¼=NíI*iÕí7¼A§Öú2À ëMÀÁÊÏh€Ñçô‰ýÖ?iqϯäøU#HZ÷¦0FA½vAì~(š"ú]Yžú’¢3R°\WeåHtAÑÑ÷>%wD™bÔ\xQp¬æÒV @̹§+§©ŒŽ¦ÔmYÕ RzbW5Ð'Téô+¨§u´+}'n­µ\>^籡˜ÒH†S@>ïcHPqgðX§JÊ쎤ÜP:ÕT0)²E@•¥½3o_RšÒQa ­çÝ£gS¥u|•™g6‘‘"ì ¥47zRWj¡Èê~#ï2¶’ûa™¢¨Q¥Þ°>ªÜ’ÖôOݰ ?wsŠ´Wž"‹}BO¿Pbbl ¼àâdEÙ¡O·j7ëЀ÷zBg,­ÂzLr¥ u íTr°.IR Õïj·8zõ¢Ðû©µz:å¸ÏŸjH²$z“A{6%WêÂÁ)ôd$㞤ÙRKÙ /RéŽ¯Ò ¬iò°J5§uÍTÄr<’äqu–€ùH*@•$•024  ˆ•œÐWåCk" q_0×R€4šÌqÎv±ØR@Š‚jâ'H#çfÄ\A»Ó ¹H¬(Ž]åg7‘c’²½‰#‰rH†7õëEAYÈ1¶’:†©ÑQ@noTâµ]¨ˆ tª…aáä 4,ªÚ9vÞ'AU$€4¹íP~ª'6e«ËBMžÈ''dÆ·ÀÉ[ÜâHš©ÙU@iU6¶÷V}¯æ'®Ú^­Tz˜GA¡ŽÞ½´Ô¾žtó2I³þtœ£(WÄUIκ‹4m`¼¡¦ªG?•h_O^áæU0°ÞÔGư=¼x…_¦&O(6Ó/cLÖñœx¹YŒ//÷UÉMy ™1Uz‘'S).žÄã³|R \`ÁBPÇêL‘Šƒ7®è¬Ü\Oí]¥Sö¹€ùÚ¼ÓIh«/j_[ô'ŒùØð›²¼†ØµËY… €4²¡„Ûaâ!;ëivº ÍGS=€Þ¿´Ð‰Åܼ ”Ù½ÁÀ˜Uî>»‰ÒÑd,èÌ*@³þx@®x´ž¿Ì4Ãy=¢th ­$EE<ÅXpºj¤?A4´h;/¦fÝ펤0®ø›{|ÂÉeWg/7C££ïЬےÊ\áë ë+ñ”?žðñI­–nJ,Éìo…|àZभÏ[ Yç#Wyüøñ·ß~ûå—_nllàá!„~ aö@?2.—ë½÷Þ»xñ"ÞëA!„ÐY„1 B!„Î"ì‚B?EŒ¿Xóc3 5Ì£ „Bc„B!ŒQB!„1 B!„Æ(èÕRä^OV°B%ø\Ï›Ln•³™l±>„™˜˜ôÂ!'CbÓ „zí~˜<ŠR s6sÛ(ÎL”;'\ÃwŠ>›Íf³¹Óâ 'ÙjÐf³yòSNõk&æ<6.‡W&ô„|®ÔR@"œÍæLµ^Q.Ci¥œ6”^9ÌÙlžœx¼ä^56}õz¡¾­‚Î`2MРno®OOÇ«=üb „zCb”ctvo( ÍLMÒ]áöõ`fìÙY¬äÛ@tЭ[gòVD¯’Ìlƒ)uê_ø³Jb9ShË@šKKK ã+O`è‘Ðlg’GãŽNq~¾"ìÜêÝj)Ÿ/–ïݹá ºó×Küj „z3c#ïõûýþp,µ27ЭlŒ¹ÐKÅm˜D&èVŠ3ôª ?o³Ù8w$×Gã¦Ëe¿Ífóçra§‹ È­bÌïäl6秇ùˆ×2;Nÿ^f§WK‡=éîpºv4¿ nä ì·qXFÌç<’RZ §ÍÆGr© ›³Ùl¼?Qí"D¸+ËÛíÅmþªÔÎÎÏÏ/µ¥Ž-§“÷Øl\¤TŠûx›ÍÆybÃ8Bé”~mnÞÉ7޾¨“qX![ ;”F6ÝÔ‚Å)‡I*F<žHQ2:£ v„L®ÝSB½‘1Ê‚¦`Ì-•Vq£ &ƒsx- U mmž^ùúüí¦j™¹‘ްâF{?B9a:Í\‰pE£ž µ&+mShåÖÍ]_ ÇÊ=€V.¶¼Ùa£7WW—Œx;™¬ö@i,ÇÖê*ceuõ†‡Ö3‡ßŒÝ*Û&íÞbxv¹Ò1…nÜ\Š:@¸}}6ÕP†Ëïo–ïR~%dQ›·cÉšj‰,Í`bfi5Îê%8N(ÔÍL…žI,LM¨Û•d²&tŠó×o7‰©¥Õ›3ÆíÍåùìÑŒÅNY¶7ê#–X¾Ù¾¿yýC§/¹ fž¥I{á»Tºøå@!ô&Æ(JGêt:±QÎdš:–?z›Ci+L8¬ÐSMn ô«…¦J{£ ã#'Ëû"‰ýùÇOÒq±DØãæÈF¡ÞÚð°fΞ$ÔzAPU€¾(´E™v,U·ªi§@UTIZ™™Y­m•ãìè D•nM ­ j¾ ` GýNŽ÷D¢vb$®°¼™a½;ª°!‚ÑÄP@2íóû!Ê3Ë1x#a'ç,j§-Ð|âÖ­õÕoå<® ©ÑU46ÅXi€Ž°½¼(ª4lõ)×J.á6tKñàbs uð9„B¯×kz®g{möÊÚÞ/S‰9Ž¢€”™½’Nªæ™åYVhEP=À6€|Âô!Úb IR¤Û³ÜÞû“ÔîÎ@"$Ƴ•ÌbÀàXH/¸6šðö“…ÛË×oašJÜŒñOTYRt E(R[Ú@³C @’$ ÚïzB‹( /Ë M?¼X޶Út‚¢@P»¥L¢Xßîq´L’2è$IV‡I% )†è[å\ºÜ.Þ®ïOÒ14>܃BèMŒQhWtާIÂ`bÍÇ»ŠÊÍBµ†©…ˆ¼(Búz¡^dŽ¥(»’ ²ØÛ?Ÿ~ô|MÓáZÊLÄ^žÁ¬?]òƒ,6„j.ž©$S.>ÍéùÈ QzbS(e×nÇ3îrÜJŽ-×Dô;] À v»2€Î@—¡v;2°$¨’ÔÐÑÔI sr9c{±*­tl­.™æn­øÌRÎ3Ù>Uû3¼ÃYÛ»ctÂ5_=ˆQ&Üœ¿!„^«×t¯‡¶Ú<Ïó Àvz1W®U‹ÉT]ƒÛkÚ›½I櫵R:] XCIЩTjÞHêã9å¥ªŠ–êÔòéb¤fãȣ܊ÜÕ#b$HñG½`€½ íˆxün „z#c”g“…B]š·Ü1²Ž ¡Píé 7\D»p}>Ý°ÏØ UUNš~4Háâ+Q‡QX¾6¼^Q­ž›!õ|$:eêfçg¯^ ^¯P“s騕4º¢‡±¹|íêÕ«ÁT“qE—£§nÒÀ2RC”ŒžôÊܤ±•¹~m>Y#ì3K+óÞyŸ`½L=ymñö6mñ.E9 €b½ôë˱¬Ð)õ™åK»XDZ½vm6ÕäKSèb™ÿöí¡æ€Ñ>1Z Å/¬ÌÙµ0¥½ø¡Ív%©…u:{te£ð«¾wÚCoÇxr¢"Dxgü¥.S„ïLœúh€^Ì«S,kÝÝ9y–ÝK–µÏmí¾®Jî|`YvêÖÃqûâîêB`Ê5i·Oº¼…Õ»_ìâfE¯á›äb½ë¾6[s“Ž…û/³3înÍM:n<Ø=ù‹é²žõÕ=áoŸ¹»£}|jõ‹£…Þ_pØ÷v†ßû™O÷Šß¹+dg½ë_t%ÜpL;x±;hïìì¼1Çç>úèã?ƒø¾ž—Á¸ü,¨õìYò¬SÊ lÀ1®ƒ ÅðþøJ±T­Õª¥üJÜÏã8øè¬PÙ°›çl6Þ—^Ê|Ä£ÝþõiïR:áã9ÞéöE²¾º5~ôSâµk…®*Ħ=‰†¢ýã8ŽsúZº£Wôq¾âð‹Ý+ù8_ñà¸S¼,t·3~wät#LSVOÀE·KGkÜ)'üNŽã8Ž÷DòÃKdYHçt{‚©ºô¬Uë•ýœ/;9Oª¥€,¤ÃÚíq§/6öRiå#íÆúþ"zÕ„8ɽ·¾‡[1tó¼ÓÉóÚ°PJ+=©ôû•ÈnïB^i¥gÛR39í‰3=R%îsòœsGö´êhei‹:6¢¸Xð_ We€NÎÃùóùxÐïs;yw8/*GÊ·éÅœ‡æR~žÿÏÿ%y¨†cvoªã=‘aûv@©ÅœÓ™–#šß«ÕáìÓñýó(oªÝa*åÓGg3òèÓe§V1=‚~lyv2´þÅî`°ûঋZ}8ìÜ‹NÚë_ìƒGw£ŽÉ¹Ãy{s““Úwq÷Á­–uÜx°{§v,¹ì¡{»ÚO{_‘‡ë3víZüѺ׾Ÿ÷xtÇk÷®?É£ìܱ»NŸGÙûÓ‘úÞ Ù'çî> ;[7¬÷ÖÃÁ`÷þ ‡}æ–V;¡IíàqªÝaÙ©÷v´Jì“sŸ> »ï&7îïÝ™±OÝúb0 v~ºZÚÚÙ½¿à˜œÓ>³su.º~x5®ÏØ ÷iǹÉÉÐÝ2[#É“‡·¦XvjikgxÔ±ÏÝÛ ¾XõÚ]7îiÕ^õÚ¦žöÛóá­)–õjk½s/:©}ü üñ6£5Ì IDATQûÔêý#¹·± ;øbuÊî]}°;¬‹kéÁîóö¨Ýû7“Úßwî/¹ìÞ[/tì Žß£Fê·{ÿ†Ëî½yG« Ë>sçÑ`ðèΌݱpog0ìÜ_š:–üÞ½²;–ìj­¦5ûîëѹÕC)µñKÇ<Ê›ŠdüÅ­­ZúıðIs¤¼µUK±¯'?¡w¦k[[E?¦GÐŽõ»€d8“®/JŠÒ.VÁp1$èí3“¤PíL¢ˆÕ¦jöpz ͯE›úœOiެßÍi_£7¨bG~Õë"·62UÙ:e9ÔÑ‹â—Ê¥¯ÊÂ[©-)Љq;´ê8¼,qòªͺY d¡Ø ÜÞ¤Ñ1Ã*›%Q!išèVŠ%A”I£3žŽ°I1:µY,U[=…²úS‰ÃäåF©M;¼¬@ÏûXh”Ú§ë1áñ²è­vt%:µRÛàõ«íš1uKµsÎÄ„GKãRŒ…†îèNÏÚˆÞz´ûÜØ†íÔJ]Æã2“¤Ù¿Z·ÌðÜ=ª´)›½† ¬‘|yÅc<´Ðñ+ø¼=JK›’iÆo¥þöÞ?¸3½ó|lÓÝœ´GvcbÑX}PæˆÕ5w#t\ÇWµ.´·ŒV\jnÎÀ¹BÈq×P¹Ô¬” M†àfÎd ­KàmY˜¹"”µ]Šp9·V@¹J­+ ÔL„-ÁÍ‘ˆ²jÎÈ€¡m.3‡n3Áýð§‘òY²ßÏ?¢úÇû>ïó¾è÷ÛÏûöûÅúDK)]¨ê¥\‰`E–ÊáwwþeÐfP¦SÙbY#1õm˜°x7ÚóÝï{ŒÁ`îIý¿þC4£ªµÙ šÇ £M[÷Eš¡jÄêçkÕü«Ó]뻌\,š*”u0Ôã3ûì~öèþÞ£Íþ×dsž o~•©ÒÇã™y  ¶`èn]/×€X]ˆ¢)BíT4‚°6?6ÔTÍPS‡øÌj9 § IŒÄão…½£Âæ Ž ‹vÆw2FÅñÃLJ4 +J#ZWdMÕ Â²ú£‰&k%ÍØNq‰Í5¦k•,LxQ¼U?5ƒ¶©:tØ—¬ù©cûa¿Ž•H´éÖëÛ9VSjÆšcIŠжjQµõnŠ¢VJÚÌ´SéÊí[TMÕŒÙQ­ÜL¥f€fÌJ^Euô†YŸ„x<ê?Z¡zÂ’°þ%ôskÏX£`0Lç>ÐL›hwìlû%ŠšÏu£²²T¡ÖZA±Ã]úêD%-¸&1 $„þ\31}å•Úød«.÷;Ÿà;"§É£C b$™ä­$hù ? $i%`VÓ(0´Šfж1v@S„e ™ 2›N0|0ÂA¯⇃‡ã=g%»™C¬MÉ„}¡Ñž³'×ÔESD­¢é­žº¦ê&kçîr •i1¶ÀTR0>U_¾ÇRŒ e­éXÐÊŠFY¶jQ&š2VÜ®W•Šaa¶. kÛ¢Ö%k¥çH&¶áûI=Oúª¬­.ÜÙÊ.HQA½,Gý!)ͦ½Ö-Úó} ëÁ`0÷G`Å&²ºœËÍ—ÅlXŠnøú—d Šé|ôùTª´­»tMÕ³ÍBèe9‘©€®$Mƒ:[iî š›^¸¥Ã O»a„®ªeeh@+¦O ]3,,kRR9EЕܩ‚ѹh»-Vt¨Ó‰æôK}>’óº>óùšå%Í»m4Aè f%okJ+e±1Ô¦•©)V´i¹TÓGå\¢¬»ãúL$úmúR+'0J"Õœ‰ªR(­ÜY•·Òߪ·ãX+'쮤RE @W’Á~¢ [¶(¡*Æ3ó:€VŒû½R®²u;´(šË¤“Œ«.Ä[s]«rTŠd«@2ÈV›I4Ð ÉtÇÓ´BØëoN]&­6;½©ðrǃÁ`>O(.„ø!„âý§ νy~ÇðˆK;À!Þ;îÖò?[ÜEÚ|Agyôâ…CcŠ+4`«÷‡òÀŽ¢t@ôú§WÑÚ|b%+›Û©¿uh¿7¡|ââ˜]9Äó‚LÓá>ò‚äOTˆHÄû÷#¾l¾Ïe!@ïT´É ÇÆÝêX?Bñ‡3&—‹!I»Çç(…!„úã †ƒv+É´?‡âØá02oLg|ÜUBèP‚ðÅ—K¢Y¡§2qù;-ŒÂøÆGØBH@!!<øû˜;ñÐZúúU¿ Ç*Œ'6̆øÞÞ?ð¦éÀ‰ ÜªE‘é„Ĥýû{{÷gìÃQ³u;´(Ãæâ¨ ‡y!R‡f¦ýúè£f³• ì óeÖ(†aüÃ?ɯ×û­ßä2ö;s£ëÕ³ôÿðáw¾Óƒe ƒù2k”jµL~½fþ­ßtu=ôÀøƒg æ^çk_k,›~£Þ„›Õòo[ì ó¥Õ(~ôÑÎß6HòáÄ3`0˜ûƒ‡zzÄøàýÅß¶bg`0˜/€»¤ôú?ý ,P0˜ûééðàƒ_ÿFO Ã`0_r<ðv7s¶ æ+¡Q0 ƒÁ`°FÁ`0_2t%›)|áëeêó êíå%Ykg›^.êŸ[öù ÇGçõÏÉoZÖljÉò]³íÎL-§}Ú°fª–!Η.Ùšúš'Ë™ ßÛ‹ü_º2n[£,-----išöë_ÿ?1Ì=+QÒ‰¢úE›¡ÎæJôðÙlQ÷œm÷²ß> S­b$ÀÈ£«›êh…è¨Ì"â—mN7ÉE²S;  •¦ „çtö¤ø›·þë_ÿZÓ´¥¥¥yä‘Gy„¢¨o|ãø1ˆÁ`î*U9âã9Äó¢”HKˆÌëPÍÇüâ8Žã¬ ”Ó‡ý©Ê„O²UЕLØË#„üÑ|@Iˆ(Ø mhy‰ë]yŸ/§½œ¯yGÈËsÇqÈÊ(:hy ¡Ðê[{5íåÄ»ïhóé—GˆGˆ÷†3ŠUYòGKÆBÔ+¬‹£¬·M0Šñ €¸Þ^ä47ù­˜”D„B¼(%ŠZ[? f‰|¹ySYŽú…•cÙò¦EÛ³º’yyŽëåš&oô[[3ôr&$"ñ¢/”.êhƒmz1„P¨ÐʲæQ¨:"@‰úÄõöòÍŠ-ëã¼±d$èóŠ<âý±VáµB,Ø4Ÿ÷†Òóú¦*î R¼á ÅŠ:€^Œ…st ìµ¶©©f…zW¢ÕŒ—󦫷H¢ ¾(g#¾V3¥ä|sOÉÏKÉDÈï„ÄP¶¼9LÈ»â `¬ 5!B8ö{[…nµ³öÍ`¥¹÷rB0Ѽ=Ä÷OÌ/¾PÁ¨¤üýzô׸ôb˜GÒ}¼ ÏÖ|ãß (ê‘GÁc= æ‹BË…sÔ‘³r6›ËÉ µæ¸p<”‚Ád>Ÿ??)VO…âóºU÷–@"å©b48VrŽgdY΄wËCC™ªÅÉQ%¹¹[°\¢{ˆBA­”+3‚Ã\žzƳù|þlØ’“5Šõ!2ŸlõÕ™ŒÂx]̺ž§=-»Of嬜=á,ŽãŠEOv¶á©Ìº8ÊzÛhPó3ViJÎ_<-joE§ËZ~,8Qó&²²,Ÿ’©`xÃHèʼn±=’‘eYÎDš» (‰¡¼{xJ–åì8š ¦Ö+¨¶gõbÔSÅ“çó—³ãla,”†u¶™ÛšQÍ…Æ ŽHVΦcU¾E¤´µ­†šŸ±OÉù‹§=Ú©¦– Á(å*B$‘LŸ=éRRÑ| š ¦‰@R–åì¤GŽéõ¦vÌñFôth¢P˜OSˆ—i[SÛÚÜâ«2hòØhŽ>›Ïç³QvöøhSã Î\ '“éÌÔ°Y>žØ0ž¥¢ÑBÏxV–eyj˜Q2-YZ‘t,™Lg“ƒz*-êšA5st(·;œÉç/O qilU7“l8iºä'¯ü1SIçšåÒKéà¼,õUxFÜs¥®ü\Úw€Øñê«Çj?{ý½;þ5ñÀ3ßÞ÷ã¿VZ¿¡E9Õ¿çñÀ¿&vøÜ?º²Ø&­_þõ˃ÔÞ£WÖýìÿîÄs¾ou?Cu{Ÿ~íç7Z™žy¿½³ÿÛ;½Où²sõÍ)-^J÷ï9@u?ó-&ð'‰_Þr~Æ`0˜ÍÝ„’›5Î 7èµ­<š#Ùì Á $ãdiMQ7½¶^Pm>ë-¥tAcŠ… @¥0K‰V¿PÔ@/åÚÅZÁ*NžŸ 9(0³.ÊH›ÇEΤ TgÒŠÍÓgÝËŒæð ¤]-9¿½9&ÖçfH’ál¦š¢êz)-ƒsÐÍ`vô‘…̆)+$ŘŒÙtFž¯ê”È ”ó™’ÅããÌ@ÚݶJf]þmÏêJæ‚f÷¸€rHÉM#mÍX*åJ+²P¸{siÚÙÖ‚p1$iw‰»ÕBsà† ‘ÛFií±€Z©VH)aY€´ºXýB+±5Œ¤R~ŠŒˆÌ'­©¶¾¢Ðx6Af zP¡–Ô¦Q„ì³›Ò*‡£( ©ÒÓy¥ª›9)n),‚õ:ÍV§`Q‹…Jûf ÒEÚÕVáD63ÒV{Xû•tFY‘(}žò+ñ¸Ç–|K»Ÿ9oîÉo®“Á‹oÿ¥;l»ô_÷?{íÈÓϤÿÅœgÏóýÏ¥w¼>±ä{¢~%íÞ÷ÃWö%O£u+vׯJû~0þÀN^\—Á‡ãûAlÇ«»ø³øîŸ f 3‰”ÚãfH£¬ÉƘ ZH¥0Ôf÷euylJüx\éñlа“ŒÐGÍ\´b*UÙ-°¿­hÙÖá¤Mdu9!—t%–¢¿°­f%¯”Vt ,6†ÀÊ Œ’H5çËh…„J¯ /·=Û´9ž™×´bÜï•r•u¶µ5ƒd­6“nNo-$Ó·(Šv¶‘CÕ*Í!¸êLºP[‹N’rt%—^ 9¶CÄ…bE‡:hÎÜÐçÓ!©9Çcͺ"g²óÛ™Ú¡¦Hšu¶Òœõš›^0ÚݵÑWºªT³åiÅô©¢±&Þnƒ’ô{CÍY¾fÆnYmFƪ+äéšeéöÍ€bE›–;5S€r6ìõE‹JMõxäbÑ ”xÛñ6¬Qîò›Ö÷|ß­¿ýÓ¿ºbÔ~öÆ_åþÇÇõúº†sãÝWžù ¼öý?ß³Äê}°p1Çüñ;ÊÙ_É"üè/¼ý!ÀcôÆ+ÿâmé·ºPc;&žß ”ê‹tc5jÒÝM@½ÃwÚwd óUÇŒF†9%|ñ‚?mYå<2h/ ñ¼ ŠÞზÙQ_¤HØÜNý­Cû½‰ŠCŠ 3Ó~!„úce‡Ð XY'QZ0õ9(°pvm¶Â¸0ž€âýˆÄ£²C’X=ux(S³Óc¯4ç­I‡tB²6sBEçHÌÓ±c Vm[hž Ç!~!„xÿ)ƒs÷Pý0(’iÿ~!Ä.°ÃadÆ7>ÂBB áÆÝ·>ÿ¶gI‡tBbÒþý½½ûƒ3öᨇYg›ÒÖ «;<ÜSÚÏ!ÞŸ¶Š=°µmnÉ ñC‚×ë+ô Ëê’9 GEßïMQ‘ÁŽoûfáØ¸[ëG!þpÆär1äzSA+ÆGO—·3G¥}MQl à(JD¯ïpŠpõ°±`m|evìêzh;×/ýøwŸ3ÞTþ¼¯¥ j~ô—ý\éÞÉû„ožIÕ­Ù‹—R/<—éÿèÍ—×¼lHëçî¯ïRâØ^êò¾õÜÃÓ7š)?{Ùë¾ñý_!ŽîýÁü«Ç§^~¢»~ã¯} þ¬xæ_­†R”7 ϯ.ío™{Í÷/¯ü¿:÷¯vlÌjkc0˜ûååú»_<Ʋì]ÈK“ý|´gsüÿóF/†„ˆS¡¯LðsZU>¸”™<+}Æ­ªœöysâÔIÁüe÷ Ûí~üñÇ~øáûâÛcSßkÿ®¸xN»‘˜zõ±…Å}LS üÄýÜy{bbjÛš {çï1ðÑëÇiº”‹g•'þôùÖ|”/·.ŸŸ_wÍÎ=ßÞqãÊBëHmþʇ Úy‹@¹cc0ü(Ÿ œ71¯èJ.U$œå® Sc²ÅçÃsïSÎNÄ+h™¿J…¾4J]þŽ=ÿ!{ ~ão^ûÉ/ö‰€ÅŸ¿òÜùï9}æ±Záü_û°cZ{öÿéž«¾²PŸ;ÿïÏ}Ï?Ù½ó÷ìÝWÿÓ¹­˜Mâj}ÏÞÝÝ7®üõ™+7º÷‰àüÑÄ/ë‹rê/.íüÓçžØWc0Ìm!í¾È >´ŸãöûÄ`´&¿;T³A´ßŸa†#_µ5<1÷¡šŠÜ1Õ3.}5–EYåžë1~ñÚà¿üñ¯Öù½‰kƒÌ‡óò‰ÿ÷ø†ýÏDÂÓ·Ïù­ó‹õ7?>ûûÄ“¿ðyŸV^ý•üT·üãßÝŸû`íüîÿ25ýŒ n¼+=ÿã>ÐÉo¿úÓ×öî¸qî'W³¡»;öíÿaâ•?Ü õs¯}ëùo4†êW2â;uöÁã¿÷Ço|ÿÿ|n'€ñ³•¼ ½1ßÅÌýÎÝëÁ`0˜&«c=÷â| ƒ5 ƒÁ¯…Á`0 æ^k ƒÁ`0X£`0 ƒÁ`‚Á`0 k ƒùЊ™Ì¼šìã„„ò©Ó‹ažóç5}>Ê÷®ƒüQ¹zç ÎGx$6­–ª$ÄGæõ»ê¨ª¸^ÎÛo5ŸÎ–ÊI‘ófî´„JBä|²¶uíl‹r&È÷ö"ºüYZ/HˆõÏÕ¯âüë=§£'ÆîrýÞZv%›)h÷ýk sÿ¢—éÒçô$î9vþr“ó'=Dzèðg×yÞ}G-äò:y>\¿^V8›V>ygÊxgcˆúljG+MÏéìÉûj½3f磣ÙêŠ,‡Ó„ç6ûÜ-‰’žHÕûþŽ5 ƒù"à IIDÇqï‹4#ZÖÇycÉHÐçyÄûc­MÖªrÔ/ Äó ÁX¾ ú|ìPð‚:;Ö/†›±Šr>â×Û»v—Vˆ„B¼7”ž×@/Fx^J„E„üò¶zPÊ!ºéRfóvoålÄÇsÇqH”’­7g­óóÇ ¢?:£®½oG¼ˆC¼à•âÅZsë˜jÖÇyc± ωÑy½© Ï'%‘G!´šEUŽøZ‡„§m|µoã()W«å¤¾Äêû½^ {j3C¼Ñy@Í…½<âz9¡µ‹ @¹™V3«ìæýs””ï@PÖÊ ‘ó%“a¿Ï+ðH&}Sí4k!„xQJ4©$DäOD}ùþïlØ*•”¿?˜)·wìÊÑ^‰RË?í’Ý„QŒÄõö"o¤¹‹áVƤË[|ƒJáG†ű1Y%5š2ÄÈ Ô•LØÇ#Äóˆ¥dQ-ïç„èJ;Éû9!¦lóž—1Éïx$H™¢ ú¼Bb8[½B(Ô ÌéÅ0BE}}#G¼7œQôrú°?UY˜ð R¶z_?!î’F!»ÔëXa0÷ÛÛwýÁîîÏoY#}>:®‰óù|~j¦ÃÇ :`”r!’H¦Ïžt)©h¾ PN…r–á)9›•§D:4*öàx`7ažJ‡YÀ¨ÌÌr#9þ¤S9•«ÕÌP0M’²,g'=jìp´¨$¨…G4+ŸDÛ^µÓ‚Üøj¬Éc£9zøl>ŸÏFÙÙã£é2€^Œ…Rú@ò|6“q ªÑìÆÂ9zø¬œÍLÒr¡©QHŒ’¬y¦òiÉ®µ3µš›PÄ“²,ËÙä 53=«éʼn±=’‘eYÎDš» lÔMm5í3ÑîØÙÄÚºÿ¤cxÜCÎñ³IÉN¥LE8™•óçF˜™h¬ (‰¡¼{xJ–åì8𠦔Þ!À˜߉D23q'bX_;F~,8Qó&²²,Ÿ’©`XÖj…-eäÄÿƇ‘ÂHdbÕα $‚£³èÄùüåó'…Jthb^×Ú&»5?c•¦äüÅÓ¢öVtº  meŒhÝ~Á[*E²ÆÆäb2×ÄHÀN‚—ÆŠìxFÎf³'½êÄPt[CN$¨…¢cød2sz˜¾0:”sFÉÌ”DæâÓMPÒ‘”68%˲œ=)²¬Ðâx¸éÍ(/—tÃc>º´ˆwÄÀ`î3–þ±ãÑŸßË‹]š:Ÿð1$XÈb(åfCÐÈm£€´öX@­Ô@+fJ´ËÚÌÈËB1SÚüÐ§Ñ€Ó ”Íi!TµZ!]¤„AdÒê`õ ™V€€q÷1Û~&ióÓ²æ8¸q»b g3dªõjIÕ¡R(¨Œàj–Éåa ]‘g »È™€´»<=ëlf–è`*IÓD%—δòá˜ÄR$ŘŒÙtFž¯ê”ÃˆÌÆÈÔ6՞ݢ‡¥ÀìpZ ¢jPÎgJ¯e¶{ÀVÉä;w»EÄ@1=4TÔõbA/¥epºÌÎ>²iuÙ»]ȱY'¶ul9Ÿ©0¢ÛNvßd6°Cçd×0±>7C g3ÕU߆1wTp³0"1òС㪠8H€r^^°xE$ãòØ´™ÜöÕ»Àš€²24Ñãf©æßDMÑ:Ýo¢Í L§²Å²F2b$úeÚªëîdc6[ÿá¿«7ʰãÑåî¯ý3~ôc0÷8õÿïÁź~­}ý;¿ó9ÎЕ\,š*”u0Ôc5+‚^‰Y´þÑTÍ ,¹úT&k%Í€ [mïRS‡ø Ñ …5ÂX>¤YXQ‘к*êà¨ítŽäšYÍÚÑ*5X˜ð¢x+’T3h›ªƒµ}HDÇTU5j³A­šÖÌ”6Ýz};ÇjJÍXs,IQZ‡d7Ø·¹TÛ0æ VWÀ=¤ 8HhZ kMŒ0Ó «µmÕaZ1˜X‹Ü@ÞV!OB<ž õ­P=aI`°F¹#‚øÎï8nVË¿üï‹õú?ჹÇ!»|ôÑG¿ó;V¢sÏó©QâÁÑ‚k2sPJBèÏu¼”¢)¢VÑôVTSu“•ÚÒ2ЦË@2ÜðÈÖç·g^Ï±ó ¾³’ÑäÑ¡1’LòV´|’´0«éZE3 (ʨhFÓzMU7©«Ž¦Ã#|ôj!~8x8ÞsV²›Y1ÄŠ!ДLØí9{rM=}2Gµo”ÅDØSIáÓfÚD»cgÃŽ ]mùNK1&(”µ¦cA++eiŸì§6擜 H‚l¥À˜  ®XkTU &`M/jŸd²2°¡24½¥](» E ô²õ‡¤4›°F¹s™òÛVæ·ñ£ få=]Õ³ÍBèe9‘©¬tã·ª V´i©Â`˜£ œK€ØHÐH0tµc˜€bE‡:‘È{œôùôh\ˆø>£wL]U Šeh@+¦O 5,,kЧrŠËË€’;U0À @2È¡t¾Œx«>ŸJ•z¶cªâþ1#“XŠ4ï¶Ñ¡ƒš•†r\$"2$e±1¶ã¨Î]žvKäa-6À ÌD"UDAZ!NSÁMCK[¨œVí6‘ÕC ¹å­ +ٱج–Ø;r¬•vO¤REArJ2è=e›<l›ì²mÓ©àÕ|¦@:yvkébå„ÝÉtÑtº’I•¨>‰! ÃBiJÅ; eù­’w¸I1T-§¨ÀZ¡:“.ԀРaœ9᳓¤Õf§[-‚4ŒòªVŃÁ`îðkóÁÑè8mµ‰Ð@)xÜbâ®v›…ññÒÑ1i$ÍúbaŽ X¡':qÍŒ$<íï:6®ŒŽõ# HÆu$Â|fl³+àÉ„ñ9š¶°>i¸oè¨äO$ˆ8êß§i{ŸÇe™×t ¸†Æpc´Åá¦SÛ2•$=>ÇѰÀi@Ð1´[‰Añ¨T' 4Fæ­Õö•d\È’:ú Ÿ;1Ѷ³d|ã#åPH@PvqøØé;zµv¦N†cƒáð!4¦Vnp¤‡ZØžc=±aehˆïU bw_àDÐNRÐ.Ù-£kÜ–Æ´/¸V:56FÇkÞº1žØH94Ä£fÒ ÉA8Î`¸_´ZÌ ÛÇšR†~g*‚qKîÜØ!!MÓÖ…,yêgÐc Þ× H+ˆV ÀíÔGíŸ $“Ÿ•*ÿ"¸Kûc0 ƒÁl¼ï1ƒÁ`0˜{¬Q0 ƒÁ`‚Á`0 ƒ5 ƒÁ`0¬Q0 ƒÁ`°FÁ`0 ƒ5 ƒÁ`0 Ö( ƒÁ`0X£`0˜û½á‘T¸£ýMÊr:_ýÜ,ªf}œ˜,Š´b&3K‰ªùt¶üéýUÞ¼ðíl.'EΛ©nÇŸíÿP"ç“5Ð Q/×Ë áÿz!ÈñÑy}»>ŠlºTÏ9*êzAâz×D)QÐ>YMlδOÝz°FÁ`0˜û˜²Oä*ú=kŸ^JL¤K›;=­p*6­|NV›QìlB´~iüÉxgc¨¹Û“¬8Ƴ™ðÿÒÉNìŸÑ~DßÉ‹—/_¾|ùòÅsQT‰Crÿ²°FÁ`0_´B,( „B¼7œivÎkyo(}Ë+hÛ³ålÄÇs\/‡D)=¯k²tèx©2ì÷oz[m]Èq¥ä-/ܺ’ yù¦EB0Vд¼ŸV^͵¼ŸbÊÊ‹|.ì×Ë Áä¼Þ|=öÆ’‘ Ï+òˆ÷ÇŠZ{›õùØ¡àuv¬_ ¯E‡ôbØ{´P›:àÎë +™°Gˆç/JÉâz=£#üJ,£šõõö®¼•ÏÇ$åkF1×Û‹¼‘|ªrð€/]]I‡¼<Çõrkn5öòˆëå)½A(ÝêÏ[ЊIIl–R”EmëºVç‹Å$ŸWx$†V,)ËQóRÁÉ–õVÕl¶YIùe­œ>|8U1 ¡~1ò_/„øþ‰y½Y•áVU þhËÆªñ"ñ‚WŠkƶ*ifN(dô6í¥Ùž¼«ö·ÍE/gB"â/úBé’± BþDÔ‡/]nos¿µi¥_^^yå¿ßÿâ‹/>ûì³ ÌçÇÇkc/`0ë¹6yÐ9pöf£ÑhÔ¯M ™œ«7nžtö9÷~£Ñ¨¿v°Ïuì½z£þÞ1Wß‘ËÎ6®Mtz&çêF}nÒãtÏÕë—ô¹FÞ«oÌpé|ÀÙwäüÍF£±tù˜‹õœ~ÃùúÅ@+ÉFãæÅñ##çn6–.:ÝãsÍ”–.:Ý'®57Ï °¬kx%)7{pòZcéü˺Çß[j4õ¹q—sàÜÍF›ß?}Ðéi–}]þsã.gàb½Ñh4®8èèqž[j4ïOyúÏ/Õ/écûS×êF}î„›=8ù~£qóÜ€óàé÷›ÞœºVo4–Þw;=§ßo¼ú Ë¿¼Ôh4nž 8G.nðÝ:¶O|éâpŸ³™hãæùaWß‘óK[ÕõµÉƒ,{pr®Þªæ×&=N÷±‹7­ê<8y­ÑÖæk“ç—úܸ»é¶úÅ€Ó5>WoÔß;ævzšî[º|Ìí8{³±tñH__à\3åÓ,ë:6WßÜœ}ÃïÕúå#Nç‘Ëk§—.œ}×7\ÿþ”‡u{o©ÑhÜ<¤Ï9xn©Ñ!—›gœ®‘‹KFcé½ñƒ,{ðôû¦Û=“ï-5ö6·ñ[»VúeãÙgŸ}ñÅý~?Ž£Üþ¹¶¼|åí+øW7n,/ØL me:•-–5’#QŸÔ é"% "+V׫_X{χögËùL…Ýv€´û&³ÉŽÁ~ g3dªõjIÝø^LYH­žÎ+UÝÌIÑ0o¾ùt߀³™”ˆèy^‚Fn¤µÇj¥·/Q籕¼¼`ñŠ HÆå±i3¹u·‘6Á®ÊÅ*èJ®dõzlå\I­”+3îæÞ¿&ÖçfH’ál¦š²VP]É\ÐìCP)™=ÙÿÙ-zX ̧*êíÞÎoI\/¥epºÌÎ>²Ù0e¥M]·2uÙI zx–(åJz9Ÿ)Y<>Î ¤Ý=`«dòåŽ6wIS2TÛ€ÏAÅúDK)](+ò¬a[)»<=wÐT«…ÄDàܶ -Ë*NžŸ 9(0³.Êô¶¹è¥\‰`E–Êáw¯%²Û…T'›«íüvG­ô>§ ?&?onþÛÿ~þãÇjÀ?U±_Á{òßö}΄ ³ÒÙØ)*H —å¨?$¥ÙM–d&Èlè Š­ËÛž-+&(”µV¿¯•bèv¹iòèP‚I&y+ Z>ÈÞÚùZ9_˜óT‹É£~iÌ‘ ÀZøS[?F­¢é$€®Ujejßo¶·Ê[‰Æu¥PFUÒaÚ ðX— ù°Ã+ÉBj¦ó&ç µ£B[ iPÆ‚f4„^U*†…ù´I˜iíŽ ;Èm×uš0´Õ2ÖT )e1¶ÀTRXßíêówh³ÉJΑLl½¨Ð‹aʨ¬$¢©ª–Ûªïäùhg‘ åé¡¡œíÄé4g¨f¼ÏÄ[äÖ\Š"tÍXUPª±=›nñ›×zK+½™÷5x¬çó£Ì½ææÊ~óáO~þ<܃Áh…°×Ÿ˜×€´Úì4ÅŠu:ÑúÊu>’ë&¶¶?kå„Ý•Tª¨èJ2ØïO”utMÛøcÓUÕ ¬ MhÅô©¢¡oº@Iú½¡lÀÌØ-T³Ë±PšR1Êò[¥µ;Ô\zV­4-«—£ƒFéP" ½MOE€¦iÍB%ÓÅÖôÏT‰ês1ú!še‰™DªbG äÐÒ Ù`‘eË#ôQÅxf^Њq¿WÊU¶:¹ÕŸëÏÚDV—r@W²a)ºa*g»º€…tsâ³VH ÚMZ9Q©æœ[­BiåŽm&W]ˆ·ÕªrTŠd«$ƒlPLçˠϧR¥OÛ€²&c€j!•VÀPu½}.$ƒlµ™t¡ù¥t2]Ù¦ÍíüÖ®•~i¹;q=Üxf}ë&,=.ß°$Ú?{u%“ÊÓn/wçÑ-%!öO,Ñ7ž" @‰ ý§ Ïé³’ýs’¡;ÿ'ËŸ=ó ü·Ò_þzçGþú[_Çq €êôXB‡÷Çu‚ÒÊ"‚(ë±qet¬iÍÇö‘ÈúžÙ,´;ËxbÃÊÐß«Äî¾À‰ $5G æ…ƒ'§B+ïöfWÀ“ âs4ma}ÒpßÐQÉŸH$|+¯äŒ0蚉ôs£@@Ù…ð1–$a0à †ûE«Å̰}¬)eè:˜ ƒØí¶f‚bX©¨”óȸh£m¯×Þfšz¢ÐÌÈÔÉÕɸ%uô>wb*ꉔCC<ÒH+'6…(HÆåÐRÓvY+Có® mëéNH£!ÿþã5Ãds G= ¨ù-î±­úó4ß¶2¹pl0>„ÆšöŽôP[Õµ @ØÄ‰³åŠN£á¨Ë `ö”C!i@ÙÅác ´±¹rû2ƆÇB~>®Íúƒf Ððˆkhì7F[nÑi:õé0ã ¸å±~tЦ”$68vxÈ6k—‹Õ·ösÍp±‡ÈÛ±™"nõ·¶Ò/íCâW^yeyyùã?þàƒ¦§§?W²Û= 0€¦gÒJ†©ïD&ÊÝ©JÑò¸àšÌÞ&¨¸…F Nž 9È»¡Qš|ø«çýMaÏ×°@Á`0˜ÖÙ+³ Da_`6àv»üñ‡~ønŽõ˜ì Ïçóù‚Rt\²ÔJ@ŸÏ„}<×ÛÛÛËñ¾p3òWNн½½ÍEA“ý½½½b²\NŠû_0 6}èøè¼Z!!yy®··—¥ä¼ú|„ïíåÃɈ—ëm³–a¡A}k,­Ü¢~Š ID½½½½½¼/"—@ÏK\o¯ËD}¨··ù¢yEŽx›¯~–^•cÁæhýbëyìÛ;E,P0 ƒÙ6wS£ZµR.—Ëåò¼œN—KTåСÑé’E9qbÄMÏNùCùN_½Y]‘'@8‡Ož`´Ìâ‚ÊONŽ‹pḬ Asª’š;Uê Ù[:å ì†ÒD4»aÉ@­0œ¸P±999âÒgßÍV[³ÒÒiÃGX¢6›:ìO€'|ÄiªÍžŠdÊ $üC§f ×øää§N'æuܲ0 ƒùtÜÍïzŒ™£ýVÿG³#ÃÕ|â‚–aI°°T!whú©‚6Ò>3ÃÐж»Yˤ »=ƒ‚ƒf°'uTN–ôHsò;3 uø„žñ„ÜÓþ鱉ëY“.¶Á“§(«ÝJéÀŽå.(³ªŽš‘vpPà«sÂÁ°ù‚"Ÿ™VgU 9½Ð38ˆf ¹ã¹i%`·“¸ua0Lg_:ïÃnÀÜ#zŽù ÊcÓº/0È™ VQ`åSA’¶Ñ5MÝÖâ¾5U€…‰þÞ‰•CE…ÂÒþëC‚bGœ¹£ÓáSN´rPW‹©±‰ÜìÚLûÕhEÓ@¬üMè`€®)ÌŽ>Ó»úc©bÖ( ƒÁÜ/ÅdåbI`ÍÅÿô[á”7écH“…¨¨%U3 ºZR€¦)P M @+·ÝÉÉDÓËÀɘh!V䇶³›¤™—§ú§ŽçMͪž5¹ÆÏ ²äϬ»ú6zƒ¤ f;2AôŠ4ž†Á`0̧ã‹X…bGœ,L„§ËfÖ×G€šÈäó™èØt L.KÑ C”ñl^NDS kA‚¨srA!" PÉeŠU™‰ùƒÑ™mï®ÄˆÃiPV–n4 ]«”²ñxÑÐJJmé a7@)›¯¨Š ú‡â³nY ƒÁÜ¥İÌFDzU0£ðä°»GM><:­±%F8 HVqí&Þ::+qƒ}&Ã0HFôô°:I—)aüdÀIäFý‡Í¬/èÚþÆã¤#8Ü·ú¥I=¦Ú…ÑCCoƒ±aÖdFÇþó6vâf|±qk¤úž(™Ñà 2ã–…Á`0̧ãÁ`0 ³-¾õQ0 f=z>ÈñÑí}«¯$D®µ^ÒçLYNç«ÛºR+D½\/'„‹úçdƒ>¸`þ³I¾šõqmVŒú¬kS/Fx$ôOí^ ï׃Á`0ûÐx"WÙŽ*Ð˲¬8Ƴ™O°æõgeÃ=é¦2áN˳ß×EÃ`‚Á`¾J ÎDýâz{yÿÊÒÍZ1)‰!„xQJ7O´B"("„x„sAh('DΗL†ý>¯À#!˜l.÷¬b~žã/cé°€¤¼ bA5“ß¼0´&K‡Ž—*ÓÁ~² º’ ûx„xñ¢”ÜhH9}øpªbBýb¤XÎú8o,ä91:¯CUŽú„x!!kED"ûlƒÁ`îõ‹'Û78u­ÞhÔç&=¬ëØ{õÆÒÅá>gó`ãæùaWß‘óKƵɃÎóK¥óGúúçÞo4¥‹#.çÀÔûÆû§²¬çôµz£Ñ¼ÿÈÅz£þÞ1—sàôµz£±ôÞ¤ÇÉ:\®7:{³Ñh4êצ†LÎÕ7ØtùHŸkä½z£Ñ¸vâ óà‰÷–šW8[‡×.w;ëFcéüËæ^)ÏËØƒ“×ê-kú†/×W³=³u{pòZ{¾?åq<ý~˘á>×È{õ­3½pºÆçêõ÷޹úŽ\®7nžp<}­Ñh4êïŸ Œ_^Zï^ ¦#Ï>ûì‹/¾è÷ûqƒÁ|¡vÀŤÝ%îV EU/¥epºÌÎ>²Y›ï¡—23Àù€b=.ª”iÆ7ˆÝ"bH ˜*ª•Œʈ.† â £ùŸ‰6ƒ2ÊËɈ‘¨¯Óz‹å¼¼`ñŠ HÆå±i39å6ƒ4+°hÅL‰vyX3€yY(fJ:aX3PV†&zÜ,Õü›¨)ÚmÒ%lžæñtO¥UTЕÌÕ6àsP@±>ÑRJ6D5H»4u>ácH°:‘ÅPÊ­Ý7à4Õ#"zAžWÛúÓÚça*i¹ Z!™'ûDl™é­ƒ>4MTréLAÑH+ŽI,^8 s‡ta`0˜/Ö*Î@™(¨U4VÚlGÍÆQ‡¶:ÊbTUƒt˜VzAÊb2òµæY’ظi§®— ‚¢Z „ -¡€YŸ„x<ê?Z¡zÂ’À´S)º¦Ô€Z]‘0Ó «·Y1‰ ¬Í¼4U3ËJ¾`¢ÉZI3Àa¢VÖy‚\1 È-Fè•»V®¬©š1;* ±–OjÀTjëÖ<Е\,š*”u0ÔceMÂÄ´ #)‹ ò5µ½?ÍNm,!—½‚’.P®“6f·Ìô–ªå"‰‘xü­°w´BØ\Á‘aÑŽ÷UÅ`‚Á`îÖú}­¦ÉBQfÚD»cg7MDUV¥±v‹®)5ÂÜa]g’¤Ck.U `¨ªf4{HÊ.HQA½,Gý!)ͦ½mÖU")ÆUkÞFU…µÎüöª‹"jMoIŠšª›¬ÔgÚ7›¬áÉĸNq %-¸&1 $„þÜŠÄ[5L×*5‚2ÑüI9=Žè)yÞZ(Ю }ËLÛUÃ#|ôj!~8x8Þs6€[<æNÀc= 拤VHÊÕæ›zæX𴉬.'šsau%–¢…µÉª¤MpB¾u¶ZH]Ðîž½¦…s˜”é™2hóéDÁÐ a¯?1¯iµÙÛìêE‚®i€•vW’颺’I•¨>³x(V´i¹TÓèr.QÖm»ÃVlèÐó»úèB¼5Û·*G¥ÈÆY·º¦j„Ùf¡ô²œÈT@_ILÍ¥g5ÐJÓ²jq9èNþ4sG9O¬¢Èl'Ó[Õç|ÌçkÖiÞm£ BßX´j1›É㩳GÁ`0÷*ä('”Š ŽÈ à±ÁpøÓH+78ÒCAs/ P8ê G¼h (»8~L0CûMºHöHØ}8ÜÏMЖÑ‹è˜@õ z,¡Ãûã:AieaC…´¹8jè0/<9%ÅFÊ¡!5íNHÛûÆØ,Œ—ŽŽ H iÖ sÜÉ×¶k6LŒµË‘tH±á±Ÿë@³¾ð yãý¾ 38z§­61(ûCÌ„Ó v»­™ V**å<2.Z´¶ó'P¬‡­¾À G¬ÛÊôV+íŸãhXà4 h‡ÚIR[uïi!=6ª„gÅÓT0¸{ë̆qóæÍ>úH×ñ§ñ̽I’>úè·¾õ-‚ørL!Ð !^"bÙÏ|- óY³ºÎì]Š£†ñ÷ÿ÷=ôÐ×¾ö5ŠÂ¢ƒ¹×Y^^Ö4mqqñw÷wï[™RNûúŽ“IÉAUgÒyÃ1Ì`‚ÁÜGÜ%róæÍ‡zè‘Géêêzà°ß1˜{œF£Ñ”)ÿøÿ¸k×®û³V÷°”ù´@ÙÄÈ8_0¬QnáÃ?üæ7¿I’äƒâYºÌýÁC=´¼¼¼¸¸xßj íb4-âªÄ`îSî’b0 £»»  æ~z:<ø`ww7ž@†Á`¾äðsß¶ æ+¡Q0 ƒÁ`°FÁ`0 ƒ5 ƒÁ`0 Ö( ƒÁ`°FÁ`0 ƒÁƒÁ`0 k”;gñÝ×øÓÙz§Óµ¹©×Ãá¾ñÎåí§¹|õÍŽOßX¨_¿råNîÜ2åê•ËJ׃Á`°Fùª³\½rµ¾Ç÷ÚËOïü$‹÷._÷K7꟡9—äKWk¸^0 s¿Òu/³|õÍñiÓSOÖæ®W«‹]{Ünæª|ézu±fêé÷¹ŸìR¦ÆÏÀóCýLÀòõ©ñ7áù¡þ]Ê›ãÓ¦ÞÊ¥ë»^xµŸ©Í¾=unöF ËÄ çŸß·³«úîÄs{ÑŽ«³7k°«y–«W¦§Þ™[\è21O=÷ܾ]Ý›MºqéÌ™w”z·ÉüdÏÚFä‹sÓSÓ³Õe€.óžgúÝ{êïüôÌ\½g^ÿiï ¾§»çn±a¹½ñ­\Þù陹ÚòՉׯ>ègºÖI—·_?SßËT/]5õ¿êc/½=õ®R[èÚñ$ê®×ÜU»<ñú¥Þ@`ߨ]~ãõK½àíÄåÅ:üôõî—^èéº~éí·e¥¦]O¹ûŸbº¡úîëoÌõì…ËW–Qàå};ðoƒÁ`0X£ÜÆš®åū՞ÀKîîìHËì IDATÅw'^Ÿz»û¥ÀËÏAõ‰7Þ™COöÜî®§_úþó;ê³o¿=gêõû{Luåí‰ÄÔå=}]]°|}Ü/½¼³«~õÌëgÞQz_`å7§•=¾WŸÙÕ½\½”xãÍs;‡žc6x¤ziê\uÏK¯=³««67õÆ•åÕwßœººëùÀKOš–o¼óÆOß”_<óÒó‹ãSÝ/¼úÜ®®úlâVL·+÷ΧŸznâÊS—÷š6jÊõ]/½ÖoîZ¾þö›ïÔžzyhŸ¹kùú¹‰Ÿ¾)ï <Ý.á½Ï»¯Œ¿Ã¼ôêÓf¨_=óæ;5ôòÐ>sWmîÌÄ™)ó«/ìéêêZ¾~µû¥W¿‹0Ã`0 æà^ëéêföîêÓNS—‰éÙÙÐeÚe‚zµ~ÛN¾wO3ÐÝóÂЫý{Lн«ggWíF­9Éü·ggt›w™ V«CmnnqǾfè¤Ë¼wßÎúÕÙêÆ !µë³Õ{öîìÓ“ûö˜ZA”+ÕûГ&èÚ¹ï)óâì\uýmmø„ìØÛcîX¾qåj}ç¾½æ.èÚµoŸyqNÙz4gùúå«ðäÓ½æf)žÚÓuýòõ¦=;zöb‚Á`0GÙ®HéZ5míï-o2­vµ5åÝiyîFmº`¹º {WâëX®/Ö¡{G÷jÝ]˵úòõ·_ÿé•ìØûRÕ–¡kGëÆ®î]]7Z7VÏMüH^IhÙ´«¾A„t°a{,^þéÄôõe€®]îW}»Ö•®^«w™L+Åè6uC}±¾¥úY®×–ë×ßüѺº–—ë°³VóF·a0 ƒ5ʧ´vµO^^nc~}nêÌå.÷˽;º ~51>ÕY×ìèe±ÐÝìÉëË]»º»v=óòÐÓÍ L]ËÕ.X®Õ›-׫õeèê6wwíD¯¾Ü»a”eYÙ†­_‰š¼ðêžå–ô‚êºJ2™º—oÔVîli¬® -//o-]&SwwÏ Cý»6d¸ˆ?ƒÁ`îiî«ïzººwt׫7jµ«—Ú}Y»\«/w™wšºê×/¿{cy¹c Á´gyñÒ¥ë˰|ãò»7L{zÌ]ÐmjÑ Ð½ëÉ‹³ÍO‚çÞkf¸ãɽ;ª—Þ½^¨+º¼aŒ¨½ [¿\¯Õ[Ò¤eÁFÓeÞûd÷w¯T— ~ýÒåEóÞ'w@—ɵë‹ÍbÌ^©®ê¹ååz} kg/WåÙæÕ+oŸ9w“ŒÁ`0GùL1ï{fïÜÿßÞ7uÝùÿ¤ ¾v®ñ„ß%Ñ…¨­²Ñ+]ÅuSÑçwFt<Ïš©“¸¥ëïDd<ÅÓÂÛÀëøv<‰÷Õṉ“ñ‚Þ¼KG[4S'ãÝ(y®q_åyÊFmU© £`+èÚ\ÉÇðþ  !iÛù~þ`°|utîï\û~}ÎÕU ³=,‰’Ùj‘7åÑVë«]£¢(™kêÜV¿ÚÓÝÿÌ׿ÚuÙÕT¯©þƒ ï’©kªSØ›Ôxj’þî 3I¶8ìrÞ×È(È(€Œ€ŒÈ(È(È(€Œ€ŒÈ(È(€Œ€Œ2åuŽ" £Ì'œçGÏméøŸ~ÌóúeÔàÞ`(Ámʧ?ýù©ß³IšºðëÿøÞEÃOþÞ¶©u¸ë0rûWúÜIœàD4~ñò×¾ýà·PQî?®}?36ýÅ•†7Ž¢Ü ÷f­'7°mË'ò³1¬±môîÜÞðhéh-qüè@…û™jùs?5ÑÝàé8³~篎¸×uI\c«nØâ{ººÒx]y–7<õзŒúÿø×óÖ=¼/yó(‹(£L{ÈýÜfs)QvôÃÇÞ îßš]süPõçM)Ù¡W÷w m¬j¨–_B—|›Í4š ßéx1tb§úZCåìúXl«,|brƒ°ÚRþu À=r/×zÄG7oñz½^ï¶í‡n_O¤%"Ê<¾Ç»©Úáp8ª7y÷;™#¢á# ‡ÃÊeC[GÑáá# ^|/OZðùom:t2GÙ¡îíÏlªv8Õ ÛœÌQîä¾MǦ=Gö=Síh82|û.=íõz·ïyUU¼žòC‡ö^ðú ·|CÕ*€ÅšQòÙô¹áááááá“¡cÇNÖWU¥C»žß<µ¦áåW^yÙ] îߺk {‹6*7î{ùI‘áɯ½òœ9{¼mkÇ{£U;ßxã`½÷O[÷e‰ÈHD£ï¼yÊæÛ¹­êÎæiŒæÍ[ªˆòCÇOåpXÜw÷r­'â%Ï÷¯~UQõÜË;«K)=Ðý^žÖ<·sûæG‰ªJ‡Þy>øÞ›CÙ—çnD6›+ DT±Þö¨œ=~tˆè¡§·l~ÌLæ-¶£/…ŽœÊ퉈ȼeß®ëÖm>ƒ¡bH¤iÙ|!äÀW$£í¹Ÿy£ÑPÇþà¹Šïø¶TËD¤%¢Rs+ÖWiÙÑì4¨f‰èL‡ÇÑ1óйÄ(Ùˆˆ k¦›¼ã5œÐˆÄŠ  €¯TF+«]®*#UÉžØü垣Ïñšâš ¢s£§Fs$)7zj”ˆ**Ji”ˆ(ŸÍ•Rv8=g‹DçÖ<÷Ú« k¦“…¡´’†¿@çr'މUn3&Qî¿ûq”Ò*ߟ4ЙŽ=Áa"¹ÊûÝÛq|`àø¡ýAÄOW•V˜Í¢S݇ßu:zæêÓ #‘öá;¡¡„ñɆ*¢sïÿðÜhâÄá¶­ÛÈ~ž®h'îî~õОmžg;ÎáÉíÛ«KqT|53 ‘¼i»o=QôÐþ·Ó$»ö¼±Óm=º÷Å÷³UÿõgÝ/W—’±jûË2œùåKm¯žªÞò‘(ŸÏÍ OÛ tæèKûŽ —n>øšïIÃ;{·>ÿâþ†*ï¶•Ÿ«'g‚ovt¼y4x"¿þ;ÏTn®Ä10µ´´pÎ9ç©Tê׿þ5*÷Ñ÷¾÷=“ÉÄýð`>BFdd@F@Fddd˜¯îÝg æóù‘‘‘±±±\.‡ºÌsF£±¼¼|åÊ•> uFÉçóüã‹‹‹—-[VZŠOí˜ï8çÙl6“É<òÈ#ˆ)°˜3ÊÈÈHqqqYYc¬¨¨u˜ç®\¹Rˆ)çÏŸW€E›Q.\¸ðÀÆ%Kp ÀÂP\\Ì9Ïd2È(p2Êøøxásu]¿{/“ÏçA@@X@–,Y"ÂÈÈJ÷’®ëãããŒ1VVVÆ9Ÿœœœ˜˜¸«/‰%€?¶pï•”””––.]º0!£2 2 £|™ØüêÏDƒþÞhJ#ARîÆZ‹@Dzr0ÅÒ:‘¨8êk‡›Û< #-Ö«öFR:ÍÎúúEÈ„;Ûƒ©ÙO–œ-¾:¥Uµ?¡q"A¶Õzêl#Òýj°?žÖI0Ùê<õvù†ÎeúÛ;bµmÍ6áZ/9“,.§FnyhÍÙ¬v»Ê„»;‚i{K«ÛĈg¢Aµ7šÔ8“ÌÎúÆZ³€_*‹2£dÂþ@Bijm1 ™¨Ú©ªJk“•âž>­Æ»£FaépOg `6{m¢W;ƒºÅ,ѬóOGâºÕ»£Ñüï˜ô„4—w‡Sa™¨Ú©ús‹Cºƒœ5»{¾1+*t¨Ü¡°LدFÄzßn›¤ÇjÉw‹vy¢W~Ö«¥z{zS¶¦Ö³¨Åƒ]=þ>³¯î dzÛP‹ªjT¬÷í¶Jz<ØåWþæºÎõé¨1ûùZįFå¦V¯Y L¸»£'¨´yÌŽ–=ŽkÑÈßÙ'ÛeÆ“Áž>ÍÕÒæ™žvtûe¥Å)ÄTˆ×6ïv˜x¢·«§'dòÝ2ƒf{Ô¸ÙÓêµé°ßß±zò܇֜Íj· L8J±éŸžu« KSk³EHGü]~Uñ5Ý:qÀÂÍ(™h8mr5™E"’lµŽ¾ÎÁ„n5‹¶:bS"’mS°7©q›È$g“O"‘ÔµÓu—?¦ëäoïr4yZŸŒ$5N$*WÿÄÍDjotúzWccaÒ! ªÁhš1ÙZçqÛ$F¢½®ÑdW"’¬…©I;n˜IÑâ}`8©1ÑâòÔ;äôu}¸zåÉ^5¦¸}f¦G#)ÑÞl•‘h­uÉ탱ŒÃysHѽ¸ÙíLb× tsçkÇi5‹D$šíf1’ÖˆHOôõ¨ƒ).J&‹Uà·(÷ ­ÝÐù>¨úi¦g(1˜-…®[\5stëgŠÀn˜KfÈäR""Éb‘‚‘´FfiVì ¦¬#=“ÒE³YfD$(V…E“Î)’$k£ÝĈ˜ÙU«„{#iW‰Rƒ~_BDÙb“gRVx0£¸]‘ˆdG“ÏqËCË"ÌÕ¬+}ëÊ„!ª©³ô‡¦‡?–‘k¦_ÊVçu&u«S)‹.£ðLRdyæ7¼¨HMd¸Õd³›f2A"’͵2#"Y‘‰´ÙûbªknÌT…¦Öz…jw˜×úv;$žêëìTûl­n1ÑÓºÛ*ê‰@G·¶úœRº¿G+¾f‹ÈS}]=!“¯V6YíÓýÒƒ¡¤`ñܸ¼ Eüþ°XßÒf“(îéè šZëgõÍš F¥ZŸE ÒѵÌÀDƵ¤ÆéÆe$=ш[<-JªûêCsv^²L¯|q-éss‰ñdPä5-;œ2e"=an¾9ÍÕÚ¬Î󘿽Ÿ¹}»m¢S;TÕì«Kd˜dš‰‚IfZ2s}׹ƹU;S‰Š½ÎSg™l5 p,c±I<‹ir!S]Í–¡`Bqû”B.±Éz$’¬©U-M2ÅmbtÝ’D–IiœÒaµ7mmÞQ§0-¦vF¸DD<•ÐSª·+KkL²Ô¸ë »Å¡5g³· LX ‘«Ù.÷õ_wÜNoÉ$Æ£I[†_,‹m…ëœ];á1Æ×ùu§íž@ÆÖØ|' 9Ì\ßÖFL "&[q0£‘`kj³ N†&Kiœ(IKÎ&‹HDÌ䬑C±tmLD<lï kÄg“ÛrÃßÇZ"œl…?¸I²×˜û‘WL7Çx_¿fk´‰…S»Ý¤÷…¢]Òâ¡PЏÈçšCIX<>EЯžçì|¡^™ÁŽöÞ4‘loôÚDJGšTc“I¶sÐsæníÚX$Ãq².Dk}kg,'š}þÏÜØuÉl³Šv—Ó"ñTXíö÷H­-NÉRWoéêiß`ÄÉTã­™÷´Xo„9›gª+9<®Xg×AFœ‹Öúf«@d²+¤ö…SMNO†â:Éœ´d4-Y=&FD¢Åi£)"ÒugbI³×W/ódwwOÐÔV?ç¡ÅælöV” «!æjvH,9ÓŽh±J½¡PÌê¶ ™h¨?M×°°x2 f‡Î9g3§Dž û{út{Ss­rgSéz*ì '5ND\Ó¸2+úƒ…ëKñ4';×3:¥{;„ØLR1"fr·í©ÓSñ>µ§3èõÕêþöž¸NÄäš–FQçZ¸ë`túy\g–¹>óH‹÷Ç™½yfZEr4zRþ`ç “,»YOõuvõ§9‘`ijó°Þ@ÒâiQnœ·¹¹ó3ÉÀéÛãÔÓñþ€Ú¡z|5N‚8ólA˜FÄ“ö®ˆFD’½ÙW¯è·l­P³«Lq&Oóë"¥ÀnhÖRç±ÌLk9êý‘¸æ0GzÔ”­yG­"tõôH-3²d¢ýI¹Æ#Ï [Líêê[wÛ$ÆSƒÝÝÝAÙçV¬žF§è>ØG¢bwXÄ”Î×81iúa‚ÄXª?H´ºl2#bŠÃ¥„‚Ñ·Íyh s5;çQfP ±Úf‡tÝ$‹ìjª×Ô`ûU­N›‰Å$L¢,ÆŒÂ$³¨GÒ:)"ñL"C’SbD<ÕßÝ–Ü-6é;ÌÁž¾Œ«Ùç41âÉÀÁîLáè3w‹Ï.1ÒãÝU"b‚,0“«µÅ!^"qn±[Db‚ÉêrÊáþXÆíòøÚxáœ(RL`RMKk­|ýKß–’á¤`­›uÕ†hu7[ÝDD”î`r5·:§¦”ËdxÏÁètV {‡£Ék黹ó¤'£QM±[%F‚l©q™Õh¦FdÄ5>%4SêZÚj •Ùœ¥¸./ŠŒgf"×Ò’$E¢X*C™ˆHK¥¸ä”„ë›M'Ó̤†‰sNDŒ´D$%Ú áR4;̬;šÒ’@D™x$-9®.ýðT4ÁOanŠ™l©7ËpE̵M­…—Ñ"]aÉ&3¦1âÚtšäzºAÙ$rM»~gnyh±››s€´X0¥¥{;ôq®sN]íiw‹×.Ûë[ìõ…™§@;3)¸bàË2¯î"Y¦t(׈x:ÚÑ-5fx²×ß/¸›=wPhúÚMI–OGúã:ç:'®éœÉ&‘éÉpŠsI»”ìOêDDz¢Ï¯†Óœxj0 #iNDz2N &³HL F‚ÙaÒ"ýq­prTýýÉ›gúy:–"Ùr­ïZ´§½£7¡ñt8دYkÌÍn˜™wìÙ½{ÇŽ;vìhu›˜ÒØês+4gçy&Ü«ªá”ND<L‘l–d«"¤ÂÑ4'âéH(Ág&Tf^ƒnQŠY§uÅn¦D(šáDZ<ØÙˆë‚¹Æ¬÷÷‹õõgLN«t]³<V»º{ãñt¤/¢)³(Ê&!¦`ôT4¡‰ÊôbžŽ¥™b¯åTEâÉH¢PÓL<ša²"2=hoÄ4"ž‰öö¥•›D‚b‘2ÑHŠQ&ÖÓ§§oœV!ÞJêDz*J2³MfsZs6;çIΖÝ{¦‡d‡×&JŽæV¯]Ì vìêOq"=9Œ2{‚i€/KÑ /¼PøÜãO>ù$ Þ¥—zðÁûÌ_àZ,èï&3úÕ;[ð„z ;zÝùÓܸÃkNtð'g=(ؼm%韹f6Ù×ãLrA”g=ðG™ÃëµFzÔH†‰¢d®©³Äüj\ªmñ:Y¬Wí¦9q»ÛSg‰2±` 7’Èp"A²8ê=7ßüB‹÷ªÁHJ§Yoâ ÿìkfõX÷Á€äm»v -O‡Uo,ÍI­.Çy»w káÎöˆ«­Ù*vÏÑy{&†ãˆIfG§Î*’úÕp’DI¶:¤X¿~ÓýQæn­IékŸé¼žèSƒñ黄î…¢'úüp2£“hvÔêtC$‹\}·dqºëk-âÌ­f ɃIÖZ{úþ&™pG{¿Ý×Zsu.Šg¢½j_4­ Š£¾¾Ö,e¢0’Ò‰IçÌPèÉ>¿0¡3I¶8Ì©PÂÕÚbgõÉÖÚúz§"ÌyhÑ-šýŒâIµ]š|n#=Ù¯ª¡x†“`²×]ݭŃs~öìÙªª*ü®€{Æív¯^½zéÒ¥ó-£2 £¬^ºt)î…ó2 £ £2 2 £,ÚŒb0&''Qn€…errÒh4¢°˜3ÊŠ+&&&Pn€…ebbB’$ÔsFY¹re.—»páB>ŸGÑæ¿|>_ø]µjª÷Å=º9½Á`xä‘GΟ??22’ËåPw€yÎ`0”——¯]»Ö`0 °˜3JáWž¢(Š¢ èð™ð¾@F@Fdd@F@F@Fdd@F@Fddd@F@Fdd@F@F@Fdd@F@FdddXØì/†‡‡Q˜w¥²²€ùk=€Œ€ŒÈ(È(€Œ€Œ€ŒÈ(È(€Œ€ŒÈ(È(3J W>ŸO§Ócccº®/ n ‚P^^.˲Á`¸ý–#s¯¿&ôÑȨ–[XCS^bøî×Wý詇V–‘Qà+PNŸ>]VV¶nݺeË–- ž_ºtillìôéÓëÖ­»ML¹˜{öç¿›àÄ+--]X£“›š:þÁùÐG#omu|±˜‚µX¨ÒétYYYeeå (D´lÙ²ÊÊʲ²²t:}›Í^ÿÌ'£ÑX\\¼àF§¸¸Øh4fóW~ñ~⋵€Œ ÕØØXyyùÂíyyùØØØm6ø÷?œgla¯x0ÆÞû(Œ_-º®/¸”Ù–-[vûËhÆÆó qe¶âââ/|% 2 ÌGÈ(€Œ€ŒÈ(È(€Œ°ðåoÚÖàr8‡Ãµyë¾ã'³wíµ¶Uo:tò^Þ»~éÊŠŸüà¯ÿµõ‰k{âßZío4(O,¿ÍÆkÿ¥õ—Þ—¸ú¬¢¯=¾ú‰åw}§Qà+PŽl}æ¥ ï«½¿ ‡ÓûÚ–‡¢{Ÿßv$±Hö¯¸äïê×=þiÒ÷óßý—ƒ¿«{=ñAÙšÿ¾¹â˽½ÝäȰïõ“ïN‹›¿¹ú‰Šîönáóz`±Ëž8Ôq걟ýjÏ&™ˆˆäG7ïz¥ò±$æˆ(q|ﮎP"Kd0»¶ï{y³Ù˜ؾiÅ×è;C‰sã÷½²«Z&Ê~xdÏžÃ'ÎiTZÕ°ógÛ]2ÑpèÐÞCÇOf‰JÍ}û¶oª4ÞódK.áñø§爈&/fþùE³üÑÚoÚ#½å­ÔÇSDe«ßøÑʷߊ#"*²üÍú§­%¦’%þœü‡À'¢ÒÝ[,%Ñ ´¶ôÁKéÜp{Lh¬*5•-¥ÏîަVTv<[öæ/þ´b³eÓŒøÿüaûù»·[˜G€E.wêé±§«åÙÊU›7WÉFîÚ;d;øöÀÀÀ¯ö¬Ø¿?”%"#åϽ­ÚÙ}äØÛG¶ä~y(8L”سí0mS¿ÚYq|×Ko§)Ñݶ+ôÐN5 ½}ÐÝ»íhâ~ìáÄñ©ÆmÝýí•ßZ#”MN\úÓÅ©ÛÆšeß2žÿñÏÿß÷'ήQ~ò¸@Dyb__¥µ‰>ûVRû«bÉþã[Ñg çÿê?m^13k2¥ûgãê~ný¹ãÃ÷cCßÿø]méÚÕ­?xìWmÿù†µ®·_‹É½;ôéÑäÅLð=øˆPBDtùlôÓOˆ(—ûX¿|ö÷ŸŽÑø¥³¼x…pÖz`‘3TTˆÚèpž›c&7|âð¡Ã‰åµ3yƒkúFà ¡&ŸÕŒÍ ¢¢ÕkÊžzè¿ý€þó…[mϧRãWˆˆè²6~Ù°ªØ@SD”Ÿ*fh;úÎð¦†Ê«¦ýÓ©;7žjk{gý+ÿrû…Ò¡IDAT¬Z&J¦î𭣎\aÈj3Ù&8GkJ׈†õ>õÈæëÖ‘r÷v—–•mXKüþâ'DDW>9wá¾_ºáÙÒ‡Kè¿vª_j\j¸zÚgÅ&¡ˆ&®-K–äǧòóoà°Ö‹]©k»ÏvjÿóÛ g‰réïÙúâñlEEi~8Kâz³LD顣ǔÍÝbĸ~ó“4ÐýÎpŽ(;°ÿÙgöŸÈVVo6'º~˜%"Êuoßu,q?RXÙÓß{d÷·¥µF"¢¥ËK7³|Å§ÙÆIŸ$£ø #¢b‹U2ÍzΆÇÅ"*{À½†âñ‰ñÏ7ÅQ,²»!0‹Ÿù™×ŽTt:¼ýûÿ¤‘¸þ; ¯ÙR]Iô´ÏÚïq½YQavmÛ¾½jÛþÛÖ¿æ;êì9äݵdzaož*lî}û6ËDÞƒ/ïÚµÙ•%¢ÒGvþÌLt¯{&G’?V©õ)óá¿Yj ">yöãÑŸK~4E”>6òðO~ôׯ'Ïþ9çQ1">ñZÓñw¯()Öþ|ö¢y¢;~?Rnüíé…Ø¿6Ûòîøä]Û¯¢^xs>99ùÉ'ŸƒAǰP UUU-â]øæËÿ^ZZºÐ‡)›Íþ߽߽óíÝn÷êÕ«—.]е˜QQQàN ‚péÒ¥…ÛÿK—. ‚p› ÊK SSS zŒ¦¦¦*Dã{.2 ,Tåååccc ·ÿcccååå·Ùà»__Å9_ÐcÄ9ÿÎ×ddøj‘eùâÅ‹ÃÃà n6åÒ¥KÃÃÃ/^”åÛ¿ôÔCËår¹…8›255•ËåDCÑß>eþb-àóz`¡2 ëÖ­K§Ó§OŸÖu}õ\„òòòuëÖ †Ûl¶²ÌxäïŸøÅû‰÷>Jf'Öè”—ê_ù·O™W–}ÁµdXØ1¥²²²²²r±îàÊ2ã÷£;Ü~k=€Œ€ŒÈ(È(€Œp2JQQþ¸ï ±ó(0-¹šV0•÷ÝÕX²äê×EEEããã( Ü/ããã…LB…ëQ ÿcŒÅãqTî—x<ΣæQAxë­·P¸_Þzë-A®›G)**Z¶lÙéÓ§_ýuî½×_ýôéÓË–-+$“b§Óyec,‰üö·¿5™L¥¥¥·ÿÀh€¿Üøøøþð‡œ8qâ`Œµ¶¶NMMñY&&&.]º”Ïç9ç…ìrùòåB+W®\A)à »ú>â%K¦scƒaÙ²eË—/g³¾½dFqqñòåË ÃåË—§¦¦._¾|eÄø JÑ,…ì±dÉ’ÂôÉÕ@RTTÄ–,YR˜))ltuÑgjjª¨¨èòåËWc  |‰1eöÉìÿ¾õÿ¥F¹#hÉ«oIEND®B`‚murano-9.0.0/doc/source/admin/figures/new-inst.png0000664000175000017500000017667313656750211022150 0ustar zuulzuul00000000000000‰PNG  IHDRØIè©’bKGDÿÿÿ ½§“ pHYs  šœtIMEß å2êÒ IDATxÚìÝwtÕÃÆñïì¦S¡—Mš(5K€€4)ö.b±bCQPyUÀ‚ŠˆJ/Šô^ÒKz ôìÞ÷M' ©Hy>çì!dwfïÌÜÜyöî;Ö¼yóÌ­·ÞŠeYˆˆˆˆˆHÞc˜3g–Ëå2 ×"""""²-cŒÑ®)6ílllQÀQÀQÀllllQÀQÀQÀllll‘«œ!12ŒýG"I4©¿M<ÆþÃgI0ù[»‡v°ˆˆˆˆ\K\ÑÇØ³÷(Ñ¢M-êT*Žu„={Žm ÊÔáúÿÅ®€-""""rq6ïâ”ð;Jt”!öøvÅ`;N´,?Júæ9\XÆ£Ý,""""×gG÷ì",*mö¥\íÚT.–¿>hÁ‘k½e+—Á+ͯÍïOïcßñh\ Ø"""""9gâN±×A"œ^”ªZ2>.ÎÞž1ù ÙºÈQDDDD®-6O<í@¢'ÕëP5À üí˜û8oÇÃÃŽ•Õë"G¹æ˜„s„G{àM|$§£½)UÂ[[DDDDär¡1Ø""""" Ø""""" Ø""""" Ø"""""¢€-""""¢€-""""¢€-"""""…°ãØ6²‡‡ÃAÐC³9™ûL&ú^Ž[?`klá-S˜ÛP0\„Ï€Ãá ùÓ+‰ÀIØ/}q8´y5„èË¢:]Žeú˜.ý•™Û£0 ' ™ñ;«O:¯°cͺoÂápÐoæI\\ëâ9¾nïH¯Î­q8‚hÛ¥7ùˆßþ'1ÝK÷0¶›» ¹ï÷ã¸Î/ç‰ G;†oŒFDD°s.v³œL…›¦±úÔvZ¾¶AþÓC§þÊCŸlÁøÚ±ˆfÓ'1t~$~Þ–vÏ+ŽÐIÏp÷㣘ºl ¡'¢ñòóÇö±iÉdÞè.†L=H¼v”ˆˆtÀŽÙ9‹E§Ý?Û̦¯º²z¾®œm°(z}Wúõé˽mÊãy)ß:z CZ:p8òÇsy”)Ïe.è|}šÕ“7sÝSÏÓ­ºDocÊB/z¿p ‹Û®úqJ<8…×F­';µ{¿Ë”%ëXµb-«çË íK‘¬xÿMfMú–£Ž{îå¦ìž6ðªÊí»P×Ï›>h‰ˆ(`ç<Á°cæbÂê>Æà`À°eúÊË`ˆÅÕ¸ 6Š7èÃÓÏæá[+_&êr,Ó¥Nbg9ÃÑùß3uG®˜ã„EœfÔŸY}Ê©cqEŠ'tæ¯ì<š¼Â¨Á©QÔXxÔ§×ðô,¸6óÛÒã8lõ¾Géâ”/_›W:÷ëLߪèhˆˆ(`çTÔ6¦/9 @½¸¥G¼¶NgÅñ+$a_ Û ÿ1 ‰ñZø3öDãr&âJŒ`í”_YîÔî¹"éY¶­  n×V”µ§Ú*z=·6+@ØÖ0â\‘lùéC~ŒjGï|!ñ(óG"¤jOn®è¡}*"¢€Ól:å‘7Ò½UyJ6êJcO€íL_~Œ,£…+н|Æ‹ý:s“ÃÃÌ­}3fÞ>¢]¸Lalƒ gÞ@GOÆ…Æqnût>zºZ8p8‚hßóÞúa'ò¹LAîäÌ~Y\Äæ"bÛt>~®ƒÝZwìÅ“ïNb}f+vEºho=;ˆÞ]ÚäpÐô¦[èÖ÷FþºžcñÉC*γìñ ­ŸdIÀ†ÝÒ‡£?‡9/Z¦s»æ2æÅèÒ&È}i«[éóôûLÙxŠŒ¥:¿â)š9t¹Øø£,ÿ*t¾‰¦Aíºpß‹_²è@4ìq±2ç­|ùfâ8¼tÃv£M»w¼ç9FÍØAdôfFÜ’öBÝDÿÔ‡ÃAÇ÷þáÂkwS/hìðöfb º~dVüè|ÿ`°ûÂÛ¾æŸó¹ûÃK<ý7S>|†>·¶tïë›:rçÃoòíâP¢\ù© Q¬ÚνMO-âlf$ñ0“ú¸·»çס?¶‰g9|Àråü2i4mxúº{¥+é M<1EÚóÖ¸!4)b+ŽÄêù|Ô]TR¾¹êLSoαyê ÎÔïNË26,éÖÐÎÚ';f,çø½©hϘ N±ôýA²/?£Ï¶{%¿|°’‹_å—1=©äáIÙ Ûhï}ˆåÿ‰/u‚›S±X5ªùXÙ–éÈì×øÆ_œN©yÄžfÏªßøpÕl<=žO﯋_ÆÕ$à÷çå“ÕÑà[†Še,ÂNcç¢ñ¼¸f¯ÿò1]+dWsRæ|”/#¯:<3;„gR~щ!Ý3| ‰dãòè÷»ÓŒí'|ïr&½½œ+ûRÓI!M¢™Ëú‘ÙŸJÌ^~òŸmŠÇVw _~ö õ‹æ´°†èíyö‘ÏØ“¦1áØ8‹/6ÎbF·÷ø¿Wn¡‚g^êBn¸£ÅÿœGäÆYlŠlG[ÿô[’xt)3÷Ô¢g§*>ãU›§f†ðTVÏ;ÃÙµ#€Š7Vpëe/M³;Ów¯jt¾§šÎ8""׈9…›s›™¶* °hÐ#˜26ÀV‚À® Üo°kK9/¥'þx‹¡ÓŽ6jÜù6?ý¹’uëW1Ò»ôºÎÆEK8‘ïe s’aÊèY„kÆ“cg°tízÖ.™Á—Ï´¢»áS^¿#CðÏË2·û;†ŒXJvj÷ɯ‹Ö°zõzVLÿ˜û¯÷€¸M|öÖoJê¶‹Ä»“~4{úkæ­ZϪe+X·v!?ïL9 vÝx~ÙxS·ÿ[|8âšx»Êýo~ÈÈOÐ" 몿2/¿é¯­3nÎrÖ­Y˪ù?òæU€X6ŽÂØ-öHŸœýŸl¬F¿ÑsYµl3ç-aéO/\ˆ^Éçw’ýlŒ/s~Ê—{.ήÉ ßïÆ…EõžoñÃî:ü×ä÷è]ÓÆ‰E“XY8ð¹­®à_~éAF­‹ÁV³cÇ>J£\\¼éŠ\ǨÁîp]¾ý³|5gëÖ¬fÝŠ9|=¸Ã3‡1tÚáôÓÞå¢.¹ñZâB˜µå\†c–ÈÑ¥³Ø pÃ]ù®áŠ>̪ñ¯3z;àך·TDÔ""RÛpnÓTVG¶†ôh^:i¥6švåF `73—Í0Oì>~ûj±@™žŸ3þ¥NÔ)åÍò" vG†ŒC·€ŒI-Ëæ6¤S›'ÆBÿ J±[Ø‹VÂqÿH¾{¥ žÀ¡)ãYa `™ì6ã,k¾úP d×Ñ|ùl;ª÷À§ržü`0õvÏaÙ±DÀEÄöÕ¸þi†Ýׄ2^I½}vêv}–'œbßɼ’ˆbów߳À½á‹|óA_—óņ ¯€ºÜ>t<ÝR 8Æï_/'<ãHƒxon1š'[–Å]4EêÜÉËÕàô¾ãùœ-ŸåË­Ä#Ì; t/˜ðrg®/í®Ã%kÞÂó_çµFýÈx,1sè Þ_uªõaÌÿ=‰#W3£$6{ ÓOGÃ!Œqå|°6Ÿr4éûÿ÷r¼p²åËqlŽÎc]ð«Ç­ýÖÏÞÊùtEcɬ½€&½ZSΞ—ýÉÊá½èܱ Í[wçéq[¡-Ïýß›t(£{w‰ˆHAlÁ†©k‰l {мtê*m¥ƒèRÏýóž‹ KsÎN<º’Eauéß?Œçi[ñ@úeøJ5/Ëæ6¤åü =jxeø­'•;=J§@LóvÆä{™ì³âvf­*Ñ£o“ ö½|{~¨;·wm†¿q6JÝú9 þú‹…_u§|ÆÚ`‰KtÉs®ŒÝǂՀmu¢RÆïãm?Ðò@Âß°#*ÃóþíèT2CEµã_¥¬û«}— “Ÿnåü–/—œ'V3w@‚­Ã…R?Ò†Û0æ½1ˆ·–DµxfÔ34/iËíÆ³rö. (7?Ò•*ŒÍð R§A´)DnfýÑø<Ö?®ïÖ†@ôÚÙlJ›¯—0{àÕŒÞÁ¥òØ&y8”áQ©±g8¸ç(1‘ü›é:ÂÔuq€F=šQ*íËV†æ·×…m;aß,‡õá*î·Œ;²Å=ö¸bs—άÉ“òŽÆ”ä_Î$ý&/Ëæ6¤U­e]Še6hÕ¯&m®÷`æêhBw"1¨hî—iV9GÛüöÅ~×ã¨ä•ÉǩҴzd­ÒþÊ»%¼SѧpðÀ¿„îØÄš¥1o{>ëǹqO­NËZE2×ëõ¿ êúüÀ±Øl?™@«bi’W…©ä“Ùš- b6á|—/—âoà0@Å4)Spu¸pêGê§É]_=Áëg’ãìá×ßwpçsõñK÷ûøá•·™"ýP*Ϫ½xç®TŒ?Ćƒ1ìøn8/üšI¼uF²+à'"3 ÉÊE]ð«Û•6%g2ãÌæìˆ¦™ÃH$lÉlö~­zÓ´„-gåÎøçnÐé›nK8Ï©°P6ÎϨoVñû;ý ™ÌØ>U4-¢ˆˆv¾â g×Oe}¼ûçÃo#hxV¯ eöÂ#ôPO ç#Ý_篈¥°¯@qH yY¦0·!ý ¾x¹bdþm³%ËÂ9êc‡³æ÷ Iý\Þ+îI !.òqÀþÙ 9|ß@ª{ZØ}¼±®ÄX²øZÕ$Æ¥éCËË2…¹ éŸOˆwb ÓeÝã,°{x¤y>/Ë\„ÍÃý•·+W޾ªv±î#ú=>…#%ëѺM3šÔ¯KÍ뮣VͶ îÀàuyÿÞÛòôvW2g Y…“H¼ÀŽ—=ãÖî]ïò_¾\¾ŸÍ†˜ìê°3—up%: ¡~¤Y´Î@¾üìùæÄwññ?{ùúÝÜöÕÝ©ÓÎù4`è_! Í23{âa¦./ÏžÈ]ås;@#7ûÞ—Ú]Ú0u*á+þ`OLn8±˜9¡@©ŽÜuc‘Ô—^¬ÜÎh"ÏÅá²ùP¬¸o&н¨zkwjñ!»ÏncÇi'+Û‘kW¾Æ`»N¯aÚßî{½—cÁ¢E,ºà±€__JÄ|`6 ’¦'ð ¨JI€£[ ‹Ëâ|¶““iOcyX¦0·!­cÛe>Ÿ®+‚ÐP÷”%*û§ûD“—e²ý´ä_‰á¡‹Ít`N®ŸË´©3Y¶?“x„ÙŸºÃu™®#™;w"£†=Á}wÜLó«QÊ'ÿCôíE+PÊpgwJº¢³/ •J\Ú9.uùúŒ59¬#ÞU ®ë œdÉ{2‚2zËGôhמöÝG²%6ŸÇÖ§6]n.œbéœå̳¨B·®×á•›E¥k»ç¿ÙÁÚƒ™Cô¾uî!/Þ•¨ZBõ‰ˆ(`ç9_Ÿ`ÅÔ-À#ð.Z–ÎzU¶2­èÑÈýü¡¹r0¬bM¸çæâÀyþzë}fŒKsÂçÈòîÒôÝEyY¦0·!£?ðæWë8›&k¸"7ñÍðÏÙP½;]2Î’—e² uèÙ­2Íâ÷?eѱ´qÑɉEc™|ðhD§Š€å…ŸÀBƤ\&†Ðéï1fGÒ³SpÑ¡ö ´ïÕðïø·ùaëù4=ž†ØÐé¼÷‘{ˆN•îÝ©é]ø•>]™/qùl%šÑ«…wöuxIô¦ÞÅÜW÷E®ûƒmçÒl€‰ãß™£øî@!Ô¬X~Ôh(Kgç2bÜ?Dç¤ÓÖò§ißvŽOz/ÖžI×ûm¢þáû÷wÏG~ó¹êeÎbƒ©uûÍ”NLÉ·ÿ5{r[•Ü¡·Š5¢{ 'p”)c¦š¡÷ß±qïÏ%𠾃úEtb¹Ö幫ÅylÓ¶xtw3²‹ê¶Ò÷lŒ}Óœ‡ç1ÿÀ jÖ*FÓ§†ÐzÙp–…ÿÅ›½v1¿s[Wõ䨿%ÌY¶¸b5¨šz§C+Ëæ6ÔL»' {'>ÎÝ›:Ò©EŠFìbÍüùl ¨LßWïqÛ6yX&Ǽ¨Õo½þ|”)a³x©×:tkKÃ*>œÙþSfo# ¨~ÿS´-eS“ÛZgöÜHæ¿:„ÒOõ¥Uu?¢ìfãŸ?1iÍI¼½€xÃî™ÓXV¶#M¯//xyq{™ñó,|T¢–£ •3 DvÊw~…ǧõåóí[Û¿7!Ýn£y’Dí aÁŒpÿëËk}käªg1·U=ó2_âòÙhóü“4\÷1›³ªÃ^ŰâÓÞ ÅFÉÆ·Qß¶NMåé‡by°Okªyf×ÊiLüc/¥Õ qShÁÖì6ÿ9O½p‹‡.çøäwø¡Û,Š7{–—Û­fèâCL~¢'[:ÝEdž居ïbù´©¬? øwे¤Ÿ¡$¼kv¦CÙÉL:qPï®›s«r[­Ÿ}:÷þ»Ö}H¯‹èzk 5ÊzrîðvVÌ^ÄîhÀ¯Ï=Û’š [DD;ñšcËf°À7˜»%.rù‘€æwâðÜÀÚ„0þøã_¬U¯²xg|4ï¼ðódõ̉¬N^¤â­ ûà¶>ý8ÓÓÆµ<,ShÛðdé”ôÚÇ4™ó:_®›Ï¤-óSó»¾oä鯧€ËË29éms0xü(<^zIÿìdÁä,Hy¶,ÁãµõðMúÀôüGµûóÙ.†ûŠ5'C˜õcHºçýêtçÅ·ŸçöJ"""`s\‘ãŒdÿ†¬Û~˜³N?ÊÖjJ›uð,àe š gÞ Ž¼¶ÅN‹OòYKŽý³‚›ös:Þ›RÕܲ>}mù[&Oe‹ãÄöÕ¬ÜÊÉXÊU½Ž: S§¬×…¡ÝĶy !;ÿåØ9;%«5 eËTô³+Š}Ëæ°to þ5[rkëšµñ'Ø´`ÇàUº7ÝvÕü.@‰ÝȪÅÿµƒiZ«^Ö%8^-ó¥-Ÿ‰?Íîµ+Ù°çç)Jù:A´nV“¢G oÑ„–º›ïf¼Äiæ~N ßÉš5[Øw8ã_‰z-Úà¨R$÷c½rS? …‹è£[Y³z ÿžŠÅ«LjÔiDàõeñ¶.ãÓužƒV²ç§¢=(]å:jÖ¬KÝê—¦‹ˆˆöU/cXnU´p–‘kJ⡬¶ˆˆˆ\þ4ZPDDDDD[DDDDD[DDDD䪧1Ø"""""H=Ø""""" Ø""""" Ø""""" Ø"""""¢€-""""¢€-""""¢€-""""" Ø""""" Ø""""" Ø""""" Ø"""""¢€-""""¢€-""""¢€-""""" Ø""""" Ø""""" Ø""""" Ø"""""¢€-""""¢€-""""¢€-""""" Ø""""" Ø""""" Ø"""""×2°°0í‘bcŒvƒˆˆˆˆHÁÐlllQÀQÀQÀllllQÀQÀQÀllllQÀ¹–v|è÷<Ö«½†Ìá¸3Ÿ+‹ÝƘþ½è5ð vÄ]&{ÕÄ:ýžЋ^}ÞfÍÞi<׫½†¯æœQ¥QÀ–ÜI<Éú…8U†›ûßAuoí‘k…ÇåPˆøÐïyæå9œ½¾/½V0kõA¢‹Õ¢ãƒƒé׬vÅÞyß0aÆZö‰ÇÓ¿*Mn»Ÿ»”dþ‹o²"`)¯?o~ñ¶¿Æ1~V"°©@ÃŽðh¯&9p‘÷ÁŹ]óøî»Ù¬ßwš¸"hÐá^îDN®ÿ•¯'-dë‘sx”¹ö÷<Ľ­*âe¥Ù˜„Cüúüóü~à$ 'üLµáŽôlγkVfe¬ÅÞgäZ ËÓ7úâ<>——ŸúŽ{óÉG= 8²”IßMeåÎcœ÷ ZÃôéK{¦îÇ0 âJf†6楷ïäªè""""—ÊeÕƒíÜ1‰¹'ÊÓ ~EˆØÃ¼/'±3âvÿÈûß-'Ô7nwßA‹2ÇYûËŒYãE‡ÁÒÐð ä±×úP~Ïw|ðãjiÄmÝo§YÉü=íS¾Ù}Ñ÷qž^Ƨo}Ïòýhr{WZWŽdóŒøpÖa¢öÿÆ;#§³9ñFºßw'ÏíÌûìu&üEºQåéøÂ`Ú•¨É€wž¥¹úݽ5«2Ú¨wK#|ˆâŸU‰Ã¹s5ÊíZPöüZƾ>–?·ESµíÜÞ¤(‡×Má½á?²+&Í~Ü6‘ KãY²8ž–*¹ˆˆˆÈ¥tyõmVwßîHisœš/=Å÷qøœ‹jçÉ0àp=·=Ò„fGÎ`«Pÿòå(flE)_±$ÞÇôT’74 |Ô>ÖXÂêÃQœ ÃËî}X3‹àý^ä©.å°EQé§œà[gþÉQŠÒæÑGé}ƒ/ õãÙõÒ,–ÍÜÊ}õ›Q,9ÈZžø—¯@ OÀæGÙÊå(r6íF(žUãñkÖ&~kYõ÷:Ââ*qjU(†*´kVš3«?am4”é>”WûVÇÓt¥nü|¼a 컇Çü’Þ¢Ô-¼þñêù)]‹ˆˆˆ\ÓÛ^¢ El€ñÂÏËFÆP¤Á@ž½ëG&Ï]Íï_­æwÀ·Zî}´é#¤…wqoN¬ýž ¾Äé]ŠŠÅcsø>‰œ? xR¶rqìEêÐýá:`"Xþš»|é›°4íÊN!Ò År¼'/RF¿Út,ªåë 9p#Gw'@Õv•sÇÎv*Ö)‡'€åÇÿj—† G8y&“°í•RMáZDDDD;s.Î: 5:òìçSäÄvÖ/þ‰.eü77Òthé4¯gÿ´/™¾5Š†æ…¶e8þÛó<ÿëÑœÄ{Š”. DpâÐYœ|±ßÎÔp¢ÜM4*á øÐæéèTÑwŠý¡'H(QŸ{n¶çbeô¥æÍA[¾˜e³çÕ{7¥´ÝŽU¾ÎÑ]'H¬†§‰æÐîS€/¥Jx¥~ذÛP¼´W IDATQÀ΂áü¶IŒüá_|kµæ–&åqEÄ⊔ ÀÛæ—8·›e˶Ó8Îĺl¿Œ"ä¤àj.6?žr-;sý”qìøñ}>=íÀgÏ–Öws—ö”Z7U³R6¸4ákg±p‹5§£•»íq&d_FŸëÚÓÌ1 Öl®ãžÀRرSºyOšNþ„õÓGðÞù¶T‹ÙÄŸâ bî¨í GT¡EDDDþkWÀ4}v*tz!Ý)}l53™Âì QTmõ¯¼?¯ÿÑ®cŠr”…3ÿ¦ør[-¢¶-bÑ?† Î5°€c›÷]tj{Ùö v/-ªÆò÷ÜY, ðî—r[ŠÖé˰§;Qëü~ûñWV„Wãæ‡Þæù¶¥ÉU6ÞÔ¼ë"eô®F»%Ý/¯Õ&¥Üï`+Ùœ'Þ|Œ[®÷aÿ¢Ì^IÅ ^¼úÚ]ÔÐT€""""—ËsIo}’íÛYØ "W‰lÚ:Kmˆˆv‡êä“KÚ_ë|#"W]ÈΤËÐ*l‹ˆ\} } vJ¸Î$T›¤ç-Ë“!ˆë¤#"W\ 6çä6ÎJ›´Ó„í”6PDD°s®û¼b’’µ1, cRƒvj7éNTFÇID.SDãävÌ•Úy€Æ•¤­ä†Í²RBvÚP.""Wø¹¡°†ˆ¤ ̤æeƒûDc2„g—I}]Úœ-"rE4¦Ö…m˜ÍJÂ-À²¥öf§ËÓêɹjJvÆÌîJJÏÆ€±¬¤kw¨6IÝ;.cªEäª Û6Ë 6Ëý{Ë€eLrç56›•®íTȹ Î݃qÌuJ¸ÆÂ“ªÝáÚý0)#B\¤ ÙÈÒœº[ºäpåÔ–;hÛ,w¶EÒ¿–…•ÔÆ¥„l ¹*Îìä‹“CwRuj¨vo§1¸LRð&¹WÛ¤ucDäJaLºžkË2ؒ²Íra·,l6 ›e0XØ0î×áîd°RÚNu,ˆˆ(`g²Iº˜Ñ= $9X;]§ œÆ¸Î¼I3>Ûdí""—Y¨ÎØDY$÷Z'? v \6°°ÛH¹ÅWr¶e¡ì¬Î5©W2’–…ËeRÂu¢Ëè§DgRàÆJéÑN]…•a,·zuDäò•vȇe™”k;»ÝÂpY©ØpͶY)³+YiÚR QÀN{–I ÙI³…$¹vº 1éq.ÎÅ’Ð6„Åê(ˆÈU­AyoÚÖð%À×în&I:’ô­qÏ.’4Nä q}`53~ÁÂ5›Øy0œXø•®BÕªÕ¨ØwÞBýRž™,ë$ì—ûé6r7E:~ɼwøhÙâØ6²;ürÒýY¤ñÌùª elÿåQt>w‡ÿƒGðhŽiI‘Bßyq9–ID»À$õ0Æ\; œuòMH$Í*yòvko|<ÔS#"W–¢E‹äøµ§ÎÇ3n}8Ýë—¤”Ÿ6c°¹À•tc]â^kçiV}õ C¿Ùȹ OEŸ:ÈŽSÙ±a3ÇO ËðQ¼Ò¥*Þ—rçÆîbÖ‚“©ÑvÓ4VŸêL·²6U<¹FvòÅI뤌½Nsè‚{c®ìÁ­×yâáᡯBEäª{ö85#·2wWKú4,†¤ñÙÆJ™U$ùÆ[…Þº"X7úžžô/En¸ƒA÷u£m`-Ê3D†`÷ú9L÷ !§0ûD{Næ½[ËbOY‰EÑë»Ò¯ÏQ|n,OJwô†Üò$KâðÎ_¸­dÞ¶&fç,vÿlœf ÓW¤K÷r\^;‹ýp)d¹¯ÿÃ2‰H!lR¿òtIÙ–;d; [ÇÑ£v¼¼¼°Ûí Ø"rÅq¹œ$&&^ôµ“'OÁÓÓ“½VN§ÁiYØ{v%›•t͉ˮ ·=t¾è-†Lúð¢ÁÃcùôÁFO“ZKW­Géªõhѹ ß>6€±Û"Y4â–6Iû€äÚ(Þ O7(”äÈŽ™‹ ¨ûƒ¾eäªX¶L_ÉÉn=)wY%ìÂÜWS™D®=…ÒTYÉ“¿&}š6I³ƒ¸ 8“úgÊóT¸‘kFBBànSfLJ™ó°¬Âo£·òͨ¥D%oÿQÂuºvÜïzúüÁÞ@ôR¾™ç¥ØQQÛ˜¾ä,õztâ–MðØ:Ç]ªH"rì”û%˜t7’q‘:;9„+\‹Èµ&yV¥´sÿ'î´mhÁ3D¬û–i'{žz"˜9ØJ·¦ÿµ)[¦,ñ;•rí¥‹“3ûáp8hójÑœgÙãA8Z?É’8€- »¥)G~Ë],Ú6å‘7Ò½UyJ6êJcO€íL_~ìÂo™7ÐÃÑ“q¡qœÛ>žîE‡Ž Ú÷|„·~Xlj„|.“ùÑ̰Ò?±m:?ׇŽÁÁ{ñ仓XŸÙŠ]Ñ„.šÀ[Ï¢w—v94½éºõ}†‘¿®çX|òοؾξLçvÍe̋ХM‡G«[éóôûLÙxŠŒ¥:¿â)š9t¹Øø£,ÿ*t¾‰¦Aíºpß‹_²è@´æøÉDÁI Ìî›Ä¤^ ïJº‘BòXl‘kUê ¶’ï^›Úƒr¡c¡t>D³óÏ ÄŽ{h£)9ühòâ$æ¾x±×yR6è6Ú{"dù?DâKàæT,Vj>¹ØsŽÍSW¸/¼¬ß–elXÒ­¡µ!NvÌXÎñ;{SÑžéžåÌÊ÷¹wô,ÂÒÊȃ˜9zóW<Ë7ŸÞKm_+ŸËäD<§½Â€K‰H>ÙzB|x(k¦ŽbÍœE<5a ýêú¹¾+’Qxtò”5xùù}†°Ý+ù僕ÌXü*¿ŒéI%¼îëxŽÌ~oüÅé”`Aìiö¬úWÍfÁÓãùôþºøe\MÂ~þQ>Y ¾e¨XÆ"ìä1v.Ï‹kvðú/Óµ‚‡þ¸EÒvPæÊ“oÉ=Ù&ϳOõêÕKÿê_ý« õßK!uÈœ¹ ,T 'Ù¶ÛÝŸY­emŠh†÷¦nÿ·øpÄ#4ñ¨Åýo~ÈÈOÐ" ç§sn3ÓVE z»§å³• °k÷Éj× –˪GüSFÏ"¬X3ž;ƒ¥k׳vÉ ¾|¦%€Ø ŸòÒøÄä{™‹‹ÛýCF,%;µûŽä×EkX½z=+¦Ìý×{@Ü&>{ë7%uLJNâÝÉ?š=ý5óV­gÕ²¬[»‡w¦»n<¿ì‰Ëó¾Žß?™—ßt‡ë€Öƒ7g9ëÖ¬eÕüyóŽ*@,Ç aì– {¤OÎ~‹O6V£ß蹬Z6™ó–°ô§ .D¯äó‰;Ñ„»"4öÇ•ôHtºL|¢ËÄ$¸Ld¬ÓœŠJ4a‘ &4<Þì8gžvÜÄÇÇ‘+•Ó™hœÎD{ÑÇ|`>øàóð´ãflj8oÂ"Ì©¨Dë41 î63ÑéJiG \ôßæÍö&0°©ytqD~·Þœ˜q¿ 4­_Yo¢’µÚ<h˜yá¹Ý —‰Xúœih›23;Sßíø 3ÀhÍ=?2 é;mæp?ØÇ|³7.ÃzãÍ¡ß2ÍM`«çÌ’³®¼-cœæôœþ&00Ð4{j…9ŸÕ~p1K·2¦Ã«M„3ýšübî 4½Ì’ÖÑÏ]–û~5aÎŒ»%¹¬MÍãKÏ¥þ>Ë}Ù±9oÖ ooMÐÀ_Ì¡Œ§_çi³øå¶&00Ð4üs*© ç–?i‚M``óââp“¾h‰æÈÏ}Üå~h‰P“ ’Náô`_ðõ¦•îùéÁ)h—´+¥çú‚×…y]Šq’àrqéé‘yÓ½öZ9Üã…/|<ÄÂÈÂÜ1l˜º–XÀÖ°ÍK§–ÑV:ˆ.õÜ?ï™±˜°,&nñ ~5¼2üÖ“Ê¥S &„y;cò½L¶¢¶3km P‰}›\p©½|{~¨;·wm†¿q6JÝú9 þú‹…_u§|ÆCc‰Ktל<_⻫#?ÚêD¥Œs÷Ù~ ;å„¿ÿ`GT†çýÛÑ;¨d†¯¼íøW)ëžÐåB£?E2üYöW¡É§”䛓™<þN™2EGKD Å¥l_R†ÊYIm#—hˆˆGJù$r6<&ó°fyàõ×Ù¦®‹l4êÑŒRiÏN¶24¿½®ûç}³XœE®ֲnæC_üjÒæz šÐ]§HÌç2Ù‰?þûb¿ëqTÊdoÚJÓê‘a¼ùú`ºVq?oó.F‰’%ñ÷óÀÂIôéƒìܸŒ¹?aø£ƒ±=ŸûöÜ¿ì¨NËZE2íæòú_u}€øl?™árÇ 7RÉ'Ó ƒ¦*ɢɽR Ú«W/…lQû’çÖ>€ª¥€ãp8ä ±ÝÊ\p m¿ ÷Xò^ú_F­ä™ϰ2¡0 çâìú©¬wÿ¼qøm Ï굡Ì^x„¾ªf¸‰ŠEñrÅÈôúG¼(Y¾8ÎùSçqR4ËäpK¢Nq XyŠ{ä|û#wÎå›q“™·|'§Ó}úñ¥\pÇÍ\íÝèp÷8rOJùeѯæáO¹b@láQNH»w½|ñT’É•BëÁ.虂9ù996ûžûa? —|WÇð÷{2û8q‡ãÙ#Ù£ (r9¸Âu¡wbÛJP?¸2‘ë²/‡í3â0' »Át…³æ÷ I½ÄÞ+^œâ<Хܮ}ÿì…N¸p&Ä;³Ø†D÷8 ìiz]ó²ÌÅö³‡ûÄêJÄ•£ƒê"bÝGÜßü¸t'§ýëѺûž}í>ÿî7þ\1‡7ƒòwª¶<½Ý½i΄¤aB™mn"ñN;^ö ‡yŠÈe°3ÿ+ÏûiþÆHº8·#K¦ŽeäOûþó«m%›ÒwP'ªx©Š\.ù5ÿÉ=¼¨Òá6ªœœÅ·+Ãs0¦×ÉñsØ]Øùúô¦ýíî#®÷òo,X´ˆE<ðëKI±ÌfÁ¡ Sÿ±íÇ2ïP…;ûµ¢¬çÉ—Sç\䫹HM‚«Ãš=™¿ä0jTÏ0¼ÆÅé53ØP6ú¥ìjDòÉv¥4³&çéõ,ŠîÈkc¿æî>¬úê ¦zßÃ{_Íëm¬úe~Ò<£ÞTëòO<ñ0Ýjú\¼Ï&‡ë5ç61nÄœp<ɨo'0rPMvÁ;cˆÛÿïÝHù{F0n ºn;3wÇäúkàœo£ˆdû’ß}÷=ÞÞ><¾ûîûˬÅ/KÇ¡/ÓÂ8·˜a÷á»uÇ‰ÏØ0™.Ã÷½Á²¨<Ææœ6v®¬˜ºxÞEËÒYŸ–leZÑ£‘ûùCsÿä`|†ý7¿ZÇÙ4]ó®ÈM|3üsvTïN—Œ3†äe™ìøÔ¡g·Ê@4‹ßÿ”EÇÒ6ÐNN,ËäÀG#:ÝP,/ü¼Îz4Ã9ÂÄ:ý=ÆìHúo;õ¢ûÚ^ö½bþÿ6?l=ŸæÛ ClètÞûÈ=D§J÷îÔôV› ’_Wl6Þ5éÖåFJx[iÒ²¿{Ó³S]Š{C­¦7Rrq±y™×(Gë5DnšÎz¿.¼×õÊxA½Ø|%c–í¥™µ”ȃè׺*Å,ð¿}]¾ÄºB)‹*²H·/¹Ð¿ÿ<òÈ#)¿ûꫯR~Y5úºðÞ—§xü¾‚Ï¿ •ÓÂQ‡Êþ6"ïeÏŽØT¡ç{C©0î¾ÍÙ)ÅˈÛËŒŸgáÛ µM¨œÍÇ–1m€Aw7#ÛûÒØJܳ1öMpžÇüƒ¨Y3íÛöN|œ»7u¤S‹:ØÅšùóÙP™¾¯ÞCuOÒxÏé29æE­~Ãèõç£L ›ÅK½öС[[VñáÌö¿˜2{Q@õûŸ¢m)˜šÜÖª8³çF2ÿÕ!”~ª/­ªû}d7ÿü‰IkNâíÄvϜƲ²iz}y|³Ü×™&lÊw~…ǧõåóí[Û¿7!Ýn£y’Dí aÁŒpÿëËk}k Ñ‹"×PÀÎô*Ë ?/wÃmY6,_|’¿Ù²lyÿB-GëurþÄYâŽNcØCsRÞË•‹G£óD&ÄQ¬J9Rî\ë@µR9 Ø®K±"’}û’}¹†ë¤”JÑòÅÔzüôñHÆ-:@Ìá¿Ytøït¯*帟ç_zˆÕíìÜ\6gÛ§:7aþâ(6|û¨Åó3¤oVCœ[6ƒ¾ÁÜå(q‘6ÍF@ó;qxn`mBüñ/>Y:%D½ö1Mæ¼Î—ëæ3iËüÔÅün ïÛ#yºqÆ)êò²LN!Å ? —^cÒ?;Y0y' Rž-KðÃÃxm`=|Ý/&èùxèÄ‹Œ ÙȤ÷62)%«×¢Û°Ñô÷ý‚¾CW¹l ƒwŸá§©ÏP'Ë}meÙYÓïóqðú+|¾ü8ëf~Ÿî|äߤ?o¿û‹ê¬"rMìËoŒ¤¿RÅð©Ñ…ß½%iÎV1ÇrÊ«±Ó|9wð8±¦š{z£„3 Ïb&UcR;TÏr,2Q5Sä l_’Cõå®Sy•k΀çþˆP6®Ýľ°SD:})Y¶ õ‚šQ¯œOÊÂzCæ2$}Ð-Óm"!Ý2æßRÜ<âWÆ/XÀ†Ã1x•®E‹¶lÛÑJ÷üDÈ=¹øxБ/VwLÓ~†§®Í¿~1‡.ÿ¬`ŦýœŽ÷¦Tµ†·¬OEßÌË‘óeltþ–Î9Ø€GÙÖ þf>÷m_ÍÊM¡œŒõ¡\Õë¨Ó 1uÊz¥ í6ÿ&<ò³èºy !;ÿåØ9;%«5 eËTô³ë]¾÷žÃÒ½1ø×lI%ìöµ•e™lÅÒÿ“™ôÝȪÅÿµƒiZ«^²uÑVŸ±6$ëcQ$øV…¨ý¹¢v¡ÍSë:ÇÞõ›8S¾ ŽªErÓGA‰Æ·Sÿ‡o?¯2ÛT"~ïÆþƒÒÏæ¡›ÛRâ•ïø~YYîmR”°ß2û˜“2<¼Î/eõæ£\ר—ý³§°ñ¼¡±ê¦ÈÙ¾\ á:ÝIÀ¿AkT`ɽ,:÷¥ÑµA–åtà®…¼LŽÖëMÙÚÒㆶ9x­/µ£[f;ÎV„ëÚö⺶±¯=ð¯D§AúÃQÀ.Äì„c,ð›nþ˜FU‹äêªOË¿½Îø £xæûŒ Zö~™7øâE^züczGÆzR9¨÷µ=ÉÂŒ½'eZÑ¿ûz>ý ¼ËÓàÖÞôªý{T7E®üöEDD®I–1w“Þä¹ 8]§ ]†x§!ÎiˆM0Ä&F¯:Ëç·—ÄÓ3çWŽèNŽ"RXòÒ¾¸\îy›/>¤ëÓOG°¯vž .‡…§…·ÝÂËnáa³°ÛÀn³°%}M¯‘°9=ñ„3oPG^Ûb§Å§ ù¬UÑÂYFD$ mš¾‚>9(\‹Ha¹Új‘«‡Æ`‹È5OíËÌ  Ó7!t*ìeDDr¡Po4“z7` ŒûÿVo¬“Ÿˆ–KÙ¾X–ånMRÛÈtçt¹ÂöúMÊ Ä"oC¾ó{§5‘Ë¡}InÝm¢¹HÛ)"" ØéÎ"VʹÂ*€‹v¦L™’rÔ¿úWÿêß‚ü÷RCf‘¾m4uc‹ˆ\E g—Á……ÓeRfIpBl¢!6ÑŨ¹ŸEDDär’×YD·*‡  O;if±°a°%M#¢¸-"rå*Øl“üÕ§•î«Nî1‡6 ìꥑk˜ÝrOÅgYî¶1mûi¥ëÒ씓)!Ûf-é‚î€Ü;#"rM6ºIs]ÛH Ù)ÛJ×†ŠˆˆvúŒmLš“2{ˆÍ{ÒÙãT´K{_D®>>>€» LÔé.t4£žk‘«B¡ÌƒmYX`¹ É=Ù.ìØí5Ky²â`wÝè•çiûDDþKqqq,_¾œM›6çèõ«×&¡„'v»…Ý›e°YîA"`Ù,»¹J|vÒØÂäl[š±×v›ûbžÎu‹²úP<Ó·Ÿçè¹¹âä4\{zzR§aSþñªOçºER.h´§ £Kz¡IšÎT)[DäŠW°³ˆ“2Õ”1ɳ‰€Ë@¢ †—!ÑQñNæíŽaëñ8¹ªUò¡e5ü}ìxØÀÓfáa·ð°‘2Ûf³RgêK{Á£ˆˆ(`'­ƒ{d¡+)h;Áé‚Ĥ€í4îŸNƒ+å5É«0X("WNcjYén"c·,l6 ;{òT|xØHêÅN}Í‚ÔÎë4³1‰ˆÈ©@Ç`[VR(N:Y`ÀJúÚÓ†•2 ÅlÆ`œ–åá6 —q/Ÿry¤±Ò®\GKD./i:ÜM”{µ•fø‡Írëä@m·ážó:i8•Ô[Ú{­p-"¢€å‰'õ¤ã¾Œ'鶤“+ilvR¨v%«\&ÍyK繬YéÚ¼ä\œvzRwØ6iz«Mºðm¥Ì"¢6ODD;Ûpí>Ó$_ëha°¹¯|L™UÄeYØŒ…ËŒqßVÝ•t†qw ¥ å""WDØ6©!;é[î¹®m)¡ÚJ¹ñVú!%©= ""rÅŸL! tNYeÒYÕÔ-m ˜¤a$ɽÕ&)T»ŒÑùED®Ž†5MOvÚŽ…ä{$ƒ47ß2…?ö:þè2¾ýäK¦¯ÞÍÉEË×£u¯'xæÞ¦”²Î{&„ŽãžwñÂìhîɺ1Ïñú”=ÔxgŸ·÷¿b;íÓm—_W»…=‡áûñ¯ ¾Þ[8×ø¾s†ýÌý}WðØì/¸©hÞê[vë¸Ø>ÌÕ²rQ…6vÚÜn³YÉÚî‹ ˜¤Þ“Ô¼ºLêì#º[°ˆ\©¡Ú¤*Éã²Ý?¥†ì´Ë¤m; MÜ.Æ=ù3ª?ÈŸ:Q/ÀÉñ-³ùôµçâ1‰¯ûVÁ³ÞÖ^¦ O¾Ôˆë¼€„Ã,_xFÍæÝàâWôˆ˜tÛ%¢ú&Ø uíiîè˜rb!Í­‚mVÒ-Ô“/rO]e·Hsµ}ÒÅAz衇—á#¥Jn·ìÉó\'Ý=C›—¶-ÌØN&WÄÖ)M§AwÑ´JIŠ-MàûyuHGJ=FŒ¨UÏqË™1êºÝä y‡Þ¼8q3.Q»§òVÿδr8hÑi ïÎ %Æ$rjí×<{W{‚ÁÜzïP~Þ‰ p†¯äÿ>ü…}ÑG™öì“ü|ô  éÅ K±áÍŽt|}Ñɽtÿ~ÃÝ­1óD&wúuž`Ù˜'¸£µ‡#˜ÎbÉ gò“œ^7Á½:ÐÜD»3zÑâMR^ç˜ôÍ‹ôêМ ö½>}#‹Æþ4ÓN„1éÁ»y#$LÿÉÃÝÚÐÔá ¨í žð7‘®‹¼G6û?7Û”íñϦl‰‡~ o·7˜7íMîépŸíŠÌ~;ò{<â3ÙwÙlçåÛ~8›ºtÁ‘ξneyLÒH<È÷½‚¹ï×£¸€ø}_ÒÝá ï/a8“z§{?ÀÔc.÷~žóý:·ÂÑ´÷¼>‹Cñéë[öÇ›,ב¾K<³}˜Ý²9¯G’Ò¶.—Ëå~ã~¸LÊÏN—1‰N—qºRNy¸Œzè¡Ç•õHÓ†¥mלiÚ=WºŸÝíã%·Ï|{_3ÓüÎÌÓט='c3ÃKί|Ö´ 2w¾÷— ?k­üÂ<вyaÉ“xv…zKóð„õ&,âŒÙ¿è#sw‹Næ½Q&áȯfàMÍð9»Ì©ÓûÍò/˜V·¼a6Dÿï7æîöÏ›ÕQƘØm森͈Í1Æc¢Ö¿fn¹í³)ÚcâMè¸;ÍMÏ1'?rù`Ó¦ý`óû¶ãæì±ÍæÇ‡o2퇅˜(cLâ±æ‘›Ú›gÞlŽGž6»ç¼iº´èeÙ8ƒ® IDAT&ì‹3‰G&™>s÷èµæT̳õûLP`SsïW›ðèS&ä‹»Mó®£ÍÎ8cœÙlcÆ£”v»L2}š™®Cgš}çcÍé-ÍC­Ú›a!QÙ–ÛÄl6ïtêj>ÞkŒ1ÆyrŽy(øV3|Îs<â´Ù·ôcӽŽæ×£Îlß#1›ýŸ›mÊöøgS¶„ƒMï ¦ã Ñfî†½æø‘ÙÙoGAŒû.›×Æg(_èÂç²>&\´neqL2üñ™]Ÿu37=¾Ðœq9ÍñéLpÓ@Óâñ…æ¬ËiŽOëg‚ïžhBL2÷þ?{÷ÅÕpø·K_:(]±b7FW4ˆ Œ]ì€Ø±÷Þ5V¬Iì½kÔØ{ïÑ/j,±aAQºÀ²åû»ì²5ÞçÎvvî{Ë̼{gv¦œöûá;´wSÒµqWVi;U®¡sAñÎxÓÝߪGº×ñžwÚPß{s2Ž„LÒ:—¼yÞTûòîØ¯O—J%¯gt¤RÉë âGüˆñóeý¼±{uÆNòî#еoŸÝû·nÉgZ€¶ eV˂ěϠÀªT®BŸ)¸÷zöN*ó¥wwòÛÛâáÓ!Í,9µæ,÷N.ãˆUK†´–ãjcG¾êÝ\CÅÑ]×¹¹k-7‹ô wm/òáÛ~zWÁ.›/ªËŠÕ§¼ê{ï¤AF$ûwÇRºYE²82IMf$€Æ¡Á3·±qP)ÌQóäð:.»w``óÒ8Y;P¸N/z—yÌ–m¤Zó´i)ÇÑ܎•¾Ã]VŽÐà2Ø[8R²š7¹”q(ÔâOéªãm²{$šÖ(/M:Õ¡€¥ÅýñË“Á³ž¸³8^Úú2nã*†Õ.Š“•9æ2k,$ ž+ÔzÊHç¾ÎöÏy²îÿs$ØèM#q#hd7ê”-HîÜ•õ×ã£÷Gö˾Ÿ“ÌÔÀ>1`léè÷w6>òV©€å­#ÜNMáÖñh¼Zà|÷wR“ùëH$ÎÕ¿ÃÅ0-H›®µÈ'3žHª¸e«xsv=CO¿ØÞ²]‡¾ýDVïÍø[Û†¸ûßH²yñȬN‡j÷ºá¿tzðý}\ûÄ-u:i8S¾q¼w­’¸ë‡X;w »Ä³fug\cû¸˜K^%.Es£=õˆG‘±¤=XJh­µ¯®-T§§`ì“@¬2 Y^wd/_0õ J}逖ũ/Wò㾺™cÏóoèUÞ>Ëk-½‡óËÈõ¬^Õ‡zCRð¨ÜŒvÛQÛÆŒÄè$L]óa÷ò‹šnù¬H‰JD 5ÃÚLú¢í¥HŒ-‘½<úI¤/>©IˆÒUÇd²MOLìñtxµÒWï×÷ûÓJ¤*"÷ÏdôîkÄJìðð´"ñÍçAdY†ŠøH]íŸÁÝÖ)ëþ&Y«â‰žØ$¦¹)èhbX=>JX½•g×woÆgxŸ¨³[:úý]æý)£È©Û·H¿cGÕµ¹»g ç"n{SFÅŽ˜ò;GòÚ¿j é{» }ý êx X‡ž|-Ë÷þÍmC$ØÿñA¾ ŸÙ¾.åÌPêŽwbîæa”¶$¦8¯M‡nÙÖñ 7“;á ¨žß!:M‹—©ÈàÉͧ`ë‚‹«²b­X¿¼ ÎÒÌYÔÈÛD›¹¢Þ$Cqé ©Z°él]r× V”Õ•%%|‹bÊŽINX®?ål³j7 )ï‘Z0ˆ°%S<äÌŠá 韊ç–Ø;[¡<{Ÿµ–F€VAôýdd­sp3ÂÚIW=ÉþF!’,}q¦Ä;ËÆÅ€u΄-XEµ<2¤Š3 l0-›2Œ°vÖÕþ!Ìa²îÿ\(fÛ«dÌz|Œþ¸aø²éwÞŠOoŸ˜½ƒM¶cKbX++Â÷E“˜·çFšR ÏW„¼âY´oéÚ² +`ñ¼ºÅ±ÞvqÖ½½É1dú÷[’¾m|¤¢ Aþûd%šP9c ÃÆ,çØµÄÄÆyõKfí"¥tmJÛ¼¸£“âás÷s'.Ž'ñã†|ZT¤ oÞç1yÝÿˆJ|νSËЦ+ïKÉ_· žWç2woñŠX.¯ŸDøÖ{˜˜gwˆ‘`U²ßÄo`ꆼ›”ÁFGft~:Ý{„³?"4¥:óú#c¤á\=ˆR1í×+.a\Ù +¤˜—ùgnâZ«Ví§¯¿µñ9Éôí6çþonÿ}ÿȃfA„/OÊ©~4˜QŠ%kBÉgòo•ªàü˜FŒ2žÌ¯£¾§›¿ºþ„ÿ褆hAáSÐ*ˆ¹¶…GLñoRL$ׂ ˆ[AþŽÔ?ÃiÓa1ƒi_Ì\4ˆ ÿâAAAøˆÄ ¶ ‚ ‚ ˆ[AAD‚-‚ ‚ "Áþ'(#–Ó-0À;yòwŸ±™v•Ùí ý‰ëéŸG£ª¢¶Ð/0ÀѧIW¸ ‚ ‚ |Uăfþ‰O-–ùññ¯J¼›3&âG‚ ‚ "Áþ·)#–ÓgèNâ‹…äp‚í§ °.LÍŽýiSÁ#m ·w/añog¹ó\‰‰­'ek·¦c}{ö Ë ÀQÆtƒ±?µEº!‹¶Ÿç~BRKW¾©Ù–®e±¼ŸM9hHº±›eËvðûXÒ-])]£%ƒ¼ÉmœÁÓß7²`ÍA®Â:?Q{ø¼÷€»Nö®Ïœ +YÕÒã­ƒoÊ©~4˜õ-ËV·!ïç>íõNåŒî6„ÿšÏêlõõ5ìŠq¡t)7H¸Åîykø+ Òo®bÒ²ãDX”# yC¾Ëý„³ë'3ûŒ)5úwå3À¼ÝFµÀåÖ2&¯:M¤ej7ªGûþØ2“%WÙ–£Ž=ÆÌqË9~OFÙz ¨â‘ȥߦ1eûCRînbüÔ­\R•¤Q«¦ÈM®±{Îÿ™bðãM•×vsŤ¥ó@ìõ„‡ÍçŠEqÊæ7#éîA®ý‹T@qEw4ñg˜ûÃJÎFJðò‘ãx{ ë#Þ(ã#Ä)‚SF¹«ÒsHM?ïu ‚ |u 6ù;2ñ‡ô:ŒVy”H&iP%Ç‘  ‡bÔî2ŒA}{P7¯%¶.ÎXÆV¸¸Ùcf+'¤CW lO­rEÉŸÛHãY\úë3Ër2ˆ9µ?3 OËÁôjÛšîC‡R£*…yÆ•m{yŒU»v%( ˆî}ê“‹Žm»B²™«QÉžŒÖ—þ=ë’ @GÆŽìG¿ÞqRŸ<#M«]uPðôô.¤ƒs“QŒìÕãSÅúÕÔ·¶ÿý8AøÒ¦ó`ÏT:T¥¼\Žwµ¦ô_ü‰šÌÔïÛ®à·ð.T–S±FƒW\"!›×Þš ‰;É/SÖsG  âÙÙôm懷܇Z-G°öJ"}q(ﳪ{o¶ÄD±¦csÂÎ+ÞY§šØs‹éXƒŠroª7îάCPjAµ–ÖõF°kûd:TE^¾:-Âv©|§ TXèC«ÑÊ;óh$—²> 5±&>mÙüD©³,åíŸiRk$^ÎÙ(#Xд&ÃW¼ÓÞiÜÛ5‰Ðº•{û8x5W“5ºû'ã G¦w¤^%9Þ~Íè¿èqj )773®]]|år¾«ÊÄí¤f¹?×ÝîªÈ•„„±{ËX‚k4cÎÍ4ÝëÍAé/§m "Áþ‡f@ìrc)¤¦ÈL33jµV‹eéPú6«€GÂi~?‰áƒÆ0wëÄj¥¼}Õƒ33bÎndZÿîô¿Œ#Ó ,GErt"`‚“‡ F€Ä²:÷ s£ü(Ÿ*€dŽŽmK`` -‡lç ~öˆD¿¨ijk“y™†‘R@bi…$FÆ/:B›MTÄ?ŠLp/â„ ‘奔Ë˺’¸˜¿§ ÿ=šØƒŒÿá ®]ç³óÐ>Ö«ÄÝÅÓÙ“™ð¤\ý‰•ÊæÌÚvM㪳 ŽÇ£É浬¨£¶2dÐo؆Îc÷¾5Œªò˜ŸûÏà¢BOqyhõól;¹²h#aò·¯ Q?ÙɈkÐ6 gÛá=,èä‘ýYu73‹V?=À¼³Å¾vû–„b}p þ|'é5vá»*¹ypä:‰Z ñWÎñT ÷ŽýE²VÃóË'xâQƒoU{ô–eˆ´¿ÒwÜ òöXʾ«Zü¬¼¬ûLbÚƒõl“„ðÓ΃ü:ÞØ¥{ðª„ÓüØs6ªŒc㡬\‚‹?ödÖEÅ{ëÒ×îš'û˜¹Óž¶S&dw^çzsÒG=ñ¥æ° á¿ä ¸JCRäc(P“¾s»csßobÅÞ£,ZR’ò#r½±¬’»[æ±õJ ßt›Å j¹y²i6>6$½Ç2—@Ld<ê2H“¯±yåbœ+SÆÎ 0§jïAÔq3F›þŒ»1dØ•ÂÁècÖW_Œ°r´≎ˆCõ­;ÆiQüóòó… 6öÿVœ‚ |I$¶¾ŒÛèK.ÌQ ’Yc!Qð\‘ùÉ[*ó¥wwòÛHÀ§Cší¦Óšs$´ÕóÚˆ¬JÊàþ®µÜ,Òƒ)µ½p”‚oûqLp¿…ZýqØéŠ^Í“Ãë¸ìÞÍKãdNuzÑ{GCfo‹ 8´FyiÒ©,¡¸?~yr4åݦä­RËmG¸ZžôãÑxµ ~Ï1î¤ÊI>‰suo$ÇÇê,+°¾Aé57·ìày…!ô­ë…BÒrkKë:YúÑ¿[uòYg¶ñÐæ»è°þ,wU[9bÕ’­å¸šÕ»1¸Æ^FíºMßoKcn`»h$nìF|FÄ힤s½}ÚGâO-Ó±ž+øIrÖ‚ ì•–ä«k˜ºò…«ð}Y4 i¨Kg̤ƘI79vìߦk%Ƕ³ñA ç÷¼H®³}"¼ΕêRlÃB®¯šÄÌX9æ·pôV:…Û6§u}?ÏíæÔŽƒ8ùä"îìvÞÒPº[EjJ>n}Õºê`„“OM ¯[Ê­õãø1º,–÷Op&áå{-ðªç‡ãÙ#NA¾¨[ª"rÿLFï¾F¬ÄO+µ¯w Æöp1—¼JD]ŠæF{*š$•ž×ÔYíTTÄG&!ËëŽìå9RSªÔ÷x‘+ëCW‚„©k>ì^NHd¸å³"%*€‰=ž/i§gÍ úSF;‘S·o‘~ÇŽªjswÏÎEÜ ö¦ŒŠ]I;MYïì³5YÄ›Šm!d¯šÍ /'SÉ¥±cAœÍÞlc'¤§žð82–´K ­µöUÔé)û$£ÎA»«bAbš›‚Ž&@ Qº×«‘ÚGj=ëI >=gm "ÁþWáZg“–°þài¶­Ï;òû¶¥chId¦©T¯Y„s¿Þàà¶?¨:¬#µ.bßÕCJò¦FÝlÝAô¥;$yfS’“ýG*X²|vm'ÃÒrÍÛй¶+VÒFö†…뎰iU*¦ŽEñïÔž6Õrñq'†Í(Ô¬#µd]‡ÔêßÓp?-ÝËŸGOãþ]¨7±=òEŠ]äߊS„/‡†¸C£°Î™°«¨–G†Tq† ¦½NÏžß!:M‹—©ÈàÉͧ`ë„¥±î׬Œžf¹Ï¶v–¡¸ô„T-XH€ô¶.9kP…/èC×qÀÆÙ åÙû$¨}°4´ ¢ï'#+hýâ@&AjÈ$‚¬ßMbÞžiJ1<_òˆgѾ}¤kË2¬€eöei5¯“êŒX"q‰ˆ ‚ ‚ |Db[AAD‚-‚ ‚ "ÁAA‘` ‚ ‚ ‚`¸Ov›>¥RÉ£Gˆ‹‹½ šîî›‹ÆAø |’»ˆ¤§§sãÆ ììì°¶¶ÆÈH< E„/‹••¥Á˦¦¦rçN^^^"ÉAø |’ìÈÈHìììÈ•+ÆÆÆH$Ñ‚ ügÅÆ>ãÞ½{˜™™Q¤HÑ ‚ "Áþø(T¨¦¦¦‰[„/ŽF£@¥Re»ìºu011ÁÝÝ]4œ ÂWà“}ÉÑÂÂB$ׂ |5222D#‚ ˆûŸ%‘HDr-‚ ‚ ˆ[AA‘` ‚ ‚ ‚H°AAA$Ø‚ ‚ ‚ lAAAD‚-‚ ‚ "Áþx2žžgÃôÁtiH``0íº`ζ+Ä«³¯:z;ÛÿÈ©#€ôÌïÖ“åʬ_×&p|dÝVÞEÜW„O)ýz8uåräÁkx¤þ›+S\`d59r¿°¿·ý˜´ ®/ëG³êräºsðêRšÉåÈ;î'Aûùõ‡òñ1æ¡Ne9r¹7Õê·côŠß‰5 oT‘+ öë锿@Úe&Ô üzú?{œŽXHS¿œQ|ñ@ '{W'xõCTkÖ½Bì…UŒéHÝ*räßÕ q›þÌÞwÔO5þ>R›*þ7šZM~æ–Ò€…5‰œ›Ù:>Uèq(Œ1VE‚ýoïî²iÂtökªÒkÊ"–/û…ñÊ“ôÛd¦îyŒ Aá«‘ñ˜£[s/ÉFÛRÔüsþ´sƒ…=ñ«¦>ãVïçè‘],^øåý¸þÁjBÆ(wUz ¢ é9Ö4n­èJÃ.«x^¦a 6³uÕ4z×¶áĘæÿx‚8Íײ>äøÁ”™¶ƒ¹~¶|ÍO;ùblmr—ŸØQ¹iMJºÚ`!³ÇãÛtnçƒÍÓg¤k´¤Þ;À/#ºÑ:0.#Ypäá‹×ÞZ›žåÔ<¿¼‘IýB lIç!³Øu+­*Šíãä`l ;G÷ã§«iÙÆ¬ŽÙÅÐnÓØ¹y::´ ¸ýæ¼ÎÙUaôhH`›~Ì=“ùá@«äñ‰¥„õlKP` Aíú2ù×ë$k3?)?;¿’±=ÛÔ¢Ã~Ùî±}2 ­ÁuákörF»B§e,L o9k¶gê¡'™û MW׎¦MJÈår|j¶`ðâ³Ä¥F° eö$‰;èT/Œ?‰\Z1Œš>Èår¼ýšÐû§Šw'¥5 ×9û(u:4£|^{,­rQÀ§5ÃÖÄþqô‹O )773®]]|år¾«ÊÄíY̆ê[Nų³ èÛÌo¹µZŽ`í•D4÷YÕ½7[b¢XÓ±9açߟ²UE®$$ ŒÝ[Æ\£sn¦é)'ƒèc³èP…òkÒfÜÖvñ§ã¾xTq'ùeÊzî(u Çf÷ a9r¹u;‡s$F YÆ£»^9ŠM›Æ½]“­[ ¹·?ƒWs59ëlWýF¬ê¨µ´®7‚]Û'Ó1 *òòÕi¶ƒÈ,fqÕQÛ˜ðóMÊÿ°‚Ýëâ]4/ËP=d Ëæ·@³y‹®¦’rªß·]Áoá]¨,§b ¯¸D‚F?ê%'mªMçÁž©t¨Jy¹ïjMé¿ø5zÆÊ»Ù’â:Ë:ùQoä>¢ßÉT?fKßž¬}üœýt4‘·†«®òU1lëX‰úá×HÕ¦híÓŒ%w35±çÓ?°åÞToÜY‡¡Ìr,(?›}ì›`K¬‹PÁ3ž=sf³öÐevõsY•ï ž÷'ë˜ËE¤þ9‹¾Ówñ—¬ m:·¡†ë#ýÒ‘Íh2yß™²ÊŒþ¹;yþœF¿Ùû¹míC`»üs=âÔÒáL=—œm9ê';Þ-œÝ7­ñ iEÝüÏ9½|ýWFtc=,ãt†7í{w¤²ÉÿX?ª“Ͻsà6ñ Ù´Éä(ÁÀ%ñwxûð–|^GŒ¿Kù¶‰2’8·ÿ6ihxþÇnjàžx˜±Ç²áB2…ÚâkÃÝÃóéÝq—ÞÈKUçÙ²ó!¦¹ì0‘H0±sÅÉÁ g+ã÷fñ¤v¥ñ+ˆQ#ùù·³Ü~–Ž#\êŒ&|€76Ð$œæÇž³yTe`íà\ü±'³.*Þª»¾åTQ[2è7lCç±{ßFUyÌÏýgp1ÓV?Ϧ±“!‹6&—e964Oö1s§=m§L&Èî¼Îr”Ö3pøܺ/eï¾etϵ“9Þ;æ$žÌèßÌi;owΣ¥d+?̹ˆÂäýx²«¿¡±¥þµ¾ãN·ÇRöXÍÐâÿcå僎‡ê§˜w¶8Ã×îcß’P¬Î`ÁŸŠ÷>àÄžßÅ\Méâï„ÑÛ™ ²’dØú IDAT­éT*c\ý‰•ÊæÌÚvM㪳 ŽÇ£Î¦¾ºbÉQ›Ædüqí:Ÿ‡ö±n\%î.žÎ¾ j]cåêjSo²f@Ö;`á蚸¿{ À•Æ3çÒÂÍ™&ó¶2­ªÍ[c_gùÏø®q Žà¾2sbóÉñmÜËß”ZyMP?ÙɈkÐ6 gÛá=,èä‘ýYuWùÞ8m‘Ïä³Ù·±G4ŽIÁG9}a#ÓVÞ&Î4%¼ýiܬEm¥$^ÜÊï²úüØ ¹ï B+ždö±„4|={­{¹ªçÚŽ|-PÙ; ”mÜ‹¾Î÷±Öjù sf…¨_;3 –e¿ÁéW3šÔ)Š._ûà ¤ië²ô /…un{Ì´©¨-,1“¤‘˜–Σcûx\8„á•ò`+oµ¢ÒþxŒFo[+‚™È…á£k×®-]ºtyõ¿ùóç¿úÿg­èP–/i†‹ö!kZ6"üö"4I|J  Õj1u*KÐ_üï=Cêiƒ‡¶Æ€Ô–<ž¹0¬JÏ!åÈU®y“®qäÖvöG$ý4¾r”8XÉ9%ì7Zz MªN¾9›‰’DóûŠ <À†z£FÑU.CéÎåV+Ùµâ<}¼ý°}¹–˜â'/¹L©î<°Ž}; ÂNWŒiXù5Á×êûNâ^Z>¢÷_GK!ü\x¶‡’Á­Ý\æô,‚©¦5eÒ0øøÖ_íÁ«E85eÞ†A”µzT§%ìꤣÍM Ðvá¯ß½ƒÇæ3hÖ5bÌ ¯Þˆö›RÆABü©e±jÉŠÖr\M€êÝ\c/£vݦg›×õÒ½Üuœ×r³H¦ÔöÂQ ¾íÇ1ÁývN·h$nìF|FÄ힤£œ«ÔµÝȃR½˜]³ R¨Ø®µ~íÆƒw?X› ÍxFttšÂ¥ž¹:2ÞŸžÒd[Ãb»‚ŸdÏ+ ¡o]/ì$à2–[[rØ€úkòÒ¤S XCqüò,ähÊ»sº*’£8äÇ1«ŒJj‰»‡9IãQyƒTæKïîþä·‘€O†4ÛM§5g¹—²Ig}{µ×‹ÔÔÐ6‰­/ã6zcç’ s¨dÖXH¤|pž'ºË©C—˜Ì‚Ãioq†KÒ¶Jn¤¨HŒNÂÔ5v¯r%nù¬H‰JDõÖXøÌö­_êÁ,õò ºÍs`øìN1$&Øô¥Ið_}‰ûЦ”t´Æ¼@}¦OüGiæ§âÔè<3uÃBùòœ2ËåF³ÏœÔÏHÓÁL(rpËr×n@éìK4ZÎÍaê.GºŒ·‹9’ÔKLí¹ 0Â2—ŠÏH×ÎŒ)#ž¨ ÅROÍáßH²¿”äZ75ñwî#)ÖŒ‰Û°~tž#Û1sã&M•SmŽë{«tþZòË~O¢âèÍLoàÊ£…A.x`Ð!ÈÆÅˆãáXT>–HÿÇÒ™›yäQ‡ï- êŸF°§ Ú´hþºEF.oœstôÊ.FKJ4ª†Ý®mì\½–”$(Ú­®FÆH=l\ŽBYÅ SM2wþ|ÈpÎeþzRÄÈÈà“š)g†Rw¼s7£´Å‹øâµéÐí"Û:žáfrG¼ìkÅúåMp~±/O‰¼M´™'²ô;¯Ž_Ö:—sE½I†âÒRµdN¥G°uÉ \ƒZQAfPF„T’]9.¤¯’‘|;šTm©Ì‰å3îÅe¼7+òð©ƒ[Ò‰0ÅCάÎþ©xnL‰·–ÕWÞ‹ú›3Š¥V$Ü~ˆBë…©P>åöSC¯Ó•¼(Cÿ‡7y] Oü™GB˜Z3׉¸ÅõÕ,¼lGµ>0KÕó;D§iñ2•<¹ùl]pqÕS_Õ}±ä¤M5ÄÅ€u΄-XEµ<2¤Š3 l0 0ÆÚY÷X)˜¸1yÜœFÑ|ÂTöúͤžSN®2ÖW> µÇ»q &-ÜÏï¦GyúmW*ØK#lœ­Pž½O‚ÚK#@« ú~2²‚Ö™I쫱ðyùb¯Á¶(Tƒ²ªÌœûî<&6>ŽèÛ§Ù¼ò©^¾xYI±û¶¥žn`Ñîë“Xwòâ¨'ÌŒ13/³{÷bÒ4@:×w®bÁŒQ Yü"qÕfw)‚1îµB(k sú2|úLÆöéÇ/Ûöaž‡ -p&Žý«·rü÷ãlž=†‰á?s,Í:sr!õQgèQV¬!~ðèàiâ)NãÊÎa„KPªYBÔ²žô™8‡#»3òX*xÓ¦”®,UÉ­…¡Ô­@¿1ï=”•hBåŒ- ³œc×CäÕ,™µ‹”Òµ)m#Å¡RÞç1yÝÿˆJ|νSËЦ+ï«ÞØ—ë[NJþºMð¼:—¹{#ˆWÄryý$·ÞÃÄüå¡_Ejº!÷lÔWŽ…6ÂíÒ~ÚABÒcέœË,î—›t~:Ý{„³?"4¥:ó2K#ã7‘—ñZÿìb3Æ«q}ÏM'|ç žÆGqaõ4VG~Ü㡱[#»äÌȶ \¸ÿÝŽ"úþUNl˜@ÇÎ+PŒ Ó‹ïiiÇŸ»Ÿ;qq<8¹ˆ7¤àÓ¢"} ­ï‡¶)h3ÒP›XckeŠDùՋ9†BiL¾lÆŠÄÔ3©”ÜþéYä„Ï<Áó¦>ºË×RìÊ7¡ä“5L[‹w`Ù—€á\=ˆR1í×+æÍ`%Ø–%Èó<“:µ"´÷Ž˜Õ"¸¬šÝS–p'wu+ËÃåCèÐe ›Ó+SËÝ #c)Rë,‚ /ñÍ<©í*ãy€óæ³úx^µû3{+³‚4lZ°eÅ)ìÛ%°”I¶²õœ–j-Š!"Ï\ÏöÔÆn ™ôSo¾/¤àäÚU쾟›*g250/6ßôä§ñÁ”L8ÈÂÙ ØãEãáK˜Rßå/“eÇœâõĨ,ŠP#wæâ¥ãëœY‚4—?a GÓô[ nl]Îê£Ïñ¬Þ…Ù?wÌ<èHè3âÅ“dÕ{WÃ¥>¦ÃÆ>Ô«V“óã?~m eq!¸ò!;&fÆ¡˜O~»f‰V«ý×o.qáÂJ—.‰‰‰8Ž}€Œ˜?8óÀ‰òåÜ3OÇ¥ßbqß)¤öšKÏââkŒ‚ðoÐh2g…Tªìwã3gÎÀßߟråʉÆþS”Q'9pÛj•óe^ëœö'“› eüoŒ++&w^J9Õ3J±dM(ùDúóŸ'•þ%J½Á¯sç±7BV›ÆÃã›9™æE…<¦¢mA„9s¼ÄâÑãØt=FAÄ®¥ìM+AñÍáëe,šàËc’·ýBžòÓ¤.lPH±tû††ƒ;RÎZ\e-‚ ü»L µãǞфõ­Í¼d)ÖžßÑnÚP*ÛŠc’ðõ—ˆ‚ |q‰ˆ ‚ ‹¸DDAAD‚-‚ ‚ "ÁAA‘` ‚ ‚ ‚ lAAAøºl¥R)Z_„¯†¹ùgð(­’Ç'2¸MCü*Ê‘{W# ãx6ü™ø=V8#b!Mýr&ˇ¦p²wu‚W?ü{O]K»Ì„º„_O@µ–j=8žü÷ÖóoPE®$د§R²k««ÃGYç?E“ȹ™¨ãS…‡Ð~5{ƒ4îÿ ±ä`Ûý¬Çr>É}°­¬¬ˆ‹‹C&“!‘ˆûd ‚ðåIOOçøñã\¼xÉ å *Œµµõ'Œ8ƒÈM}™Eå^ý˜9Ö »Œ‡\Ø:‡éÝ!YûÍ=>þ!Á(wUz)CAñ¬OÒVŸuûg<äøÁ”™¶ƒ‰>6ˆl@ø/íK>É ¶§§'qqq«º÷fKLk:6'ìü‹é-m:vŽ£M]_äå«ÊXÊá¶;Âñõ[sëW•`S¨P!q”Aøçç¯Éxþ„4«’Øë|€®š'‡×qÙ½›—ÆÉœêô¢÷ކÌÞAp hòÒ¤S XCqüò,ähŠ©© ÒŒgDG' )\Šà™Û¨“!Ãx=§”ÆÍ-;x^a}ëza'‡´ÜÚ’Ãhˆ?µŒ#V-YÑZŽ« P½ƒkìeÔ®Ûôl‰A#»Q'ŸO6-H›®µÈ'3†"U¨â¶³ 5[_ÆmôÆÎ%æ(Pɬ±(x®PƒþUê}/ •ùÒ»»?ùm$àÓ!ÍvÓiÍ9ÚêymDV%ep×ZnéÁ”Ú^8JÁ·ý8&¸ßÂíÖáÃû7+Y×ç,÷R6Þé× ¯éÛïUGCk^‚6-å8šK±®ôî‹, .ƒ½”¬æM®mq(ÔÙô›¹®z§ëéýãµï·¥1ÿã¾Sõkç^íuÕIÁͽºb©±îíøŸK†n»¼‘`ëW˜` ‚ ÿ &¶Ž˜&?&>xëF ñ—w±?:?'aêš»—SÜnù¬H‰JÌü”‰=žƯÖùòCKïáü2r=«Wõ¡Þ<*7£]çvÔ¶1}ë œŠm!d/§÷Lðr2å0j¢bI{°”ÐZk_­Wž‚±O2j@bš›‚Ž&†×ØÄ‘¼ö/b•H‘J^þª"rÿLFï¾F¬ÄO+µ†]ý›Ý{í àbþªr¸ÍöT4I*=¯©³*[E|d²¼îÈ^6†©Uê{¼h˜©ƒšÄèëß,“‡,ëóˆG‘ÚÙÇ÷Þ{¥fX›e–"‘H‘["{¾ôÕ,r¶}že½õõAw³¯kÜh;g]'}±ºü±dè¶û&Ãc ¶ ‚ð2/\“2šÑ,;Mù†.¯/Q?áÐŒñüâ1‹ùÅ­Pž»O‚ÚK#@« ú~2²‚Ö/’,vRÞ#µ`aK:¦xÈ™ÃÒ?Ï-ƒñzµœ¶îV$Ü~ˆBë…©P>åöS%`„µ“²b­X¿¼ ÎÒë¼M´™'²ô;:´ºÒ’,¾4§!îÐ(¬s&lÁ*ªå‘!Uœa`ƒi¬0û÷ªžß!:M‹—©ÈàÉͧ`ë„¥±î׬ŒžfQ–ÖÎ2—žª ÁÖ%'p ¡ð…©ƒ6ÎV(Ïæ´³–u}\pqýÐ~4 ¾œŽƒû<«zëúÆë;ëùàq{ㇵ³ê¾Î:éŽEÿv\ÂìŸK†m»†ïsJ˜}û\qlA„¯€Ô¾2}ºåò„Î _q”+÷óð¯Sl߃I#4ô[ T¢ÔÃELûõ O“Ÿs{ÏfþáBÀ‚è;f%ŸN÷áìH M© `düÎÆœÂëãxn:á;oð4>Š «§±:R)•Bð~<ÉëþGTâsîZÆ€6½Xy_eàÝ%T¤¦gÿ%'mFjkl­L‘(c8·z1§ÒP(µÙ®'»÷jÇŸ»Ÿ;qq<8¹ˆ7¤àÓÂ{=¯ÙeY9SòÕm‚çÕ¹ÌÝA¼"–Ëë'¾õ&æÒ¬ƒÎØ¿Y¦8YÖ§"}?´õÇ÷wæ%³o¯œöqÆëß÷·õÅbèvüñÇ’¡ÛnÎ÷9"ÁAþq¦ä™Ëºk¢Ü5‰îÍШÝHVE–eÐü„ä7ÅÈ¥>¦ÃÆ>Ô«V“óã?~m ™ê=Œ8×Mï›LmáO•Á„÷¤Çä.}çHkV8”£}yøs(uj¶bòuoz7ðÀ:ø1:¼æ;†ÒÔï{‚ÃãÔm&ƒä–TÍïræììØˆ¿+ôÆêPmÝ £o-_ü`»EsºûªX7` ÕúÖ“Í{ÓÀÌ­!õ´ëèY¿&ÍF!w§éŒ¬æ€ý¯eÅ$_0Ó&Ö z^{jT©MŸötšÚ—2²¯Ã‡õoÖtÕÇèoôãÇŒÏà~Ós#3Ý}³ñúwÆýÇngݱ¾Ô¾2xÛý°}Χ$ÑjµZqàA„—rª f”bÉšPÞý¦¾×þkuD; /?‚ ‚ ‚ lAAAø‰KDAAá#3Ø‚ ‚ ‚ lAAA ¶ ‚ ‚ ˆ[AA‘` ‚ ‚ ‚H°AAA$Ø‚ ‚ð1¥]fBݯ§‹¶A$Ø‚ ‚ ‚ lAá?/åT?¾o»‚ß»PYNÅA ^q‰  MçÁž©t¨Jy¹ïjMé¿ø5 Š\IH@»·Œ%¸F3æÜHÔ¹¬:j-­ëbÍ’ÁÖ¨ˆ·_£·þC³;Ó Šy•æŒÞERnnf\»ºøÊå|W'”‰Û#HUÞgU÷Þl‰‰bMÇæ„Wè^V›E|7•¢³A ¶ ‚ð/%ÙWb¥²9³¶dÓ¸ªÄ,èÇ„ãñ¨c2þ‡ƒ¸vÏÎCûX7®wOg_Œ&3~²™;íi;e2AÖÇõ.«Ž9ÂÖäfü²cKÛY°w|W–˜wgÅ޽̖°Þ&"” I8Í=gó¨Ê86:ÀÚÁ%¸øcOf]ÍMËŸgÓØÉE “Ët/{QöøZä3-Â'gü) Õ&ž`tÇÙܰªÊØ_zPÌ ´I²bôì|dB‘Þ°’PXòÆ„†sý­šb—¿< Ú…R¯˜µÞOª¨- ê»–GEû±xìwXKÄ áË$•ùÒ»»?ùm$àÓ!ÍvÓiÍ9æø2n£7v.¹0GJf…DÁs…L@#q#hd7êä3A›‘›q+d½¬9hÍKЦ¥Gs)Ö•¾Ã}‘¡Áe°·€’ռɵ-…ZCü©e±jÉŠÖr\M€êÝ\c/£vݦo±7£Ö¿lÏ6oÇ'‚ðÕ&Øï%Ü©·Ø4q";S80Œa+¹~‹=%+•ÆQšÆ³ˆ?¹z÷$+'kp›Ó—rz²f©e~|ü«ï按H®Aø’wøöp1—¼šhp)ší©h’µ*žìŸÉèÝ׈•ØááiE¢öõObš›‚Ž™É«Dª"RϲHͰ6Ëœ¶H¤HŒ-‘½<ÒH¤d.©&!*–´K ­µöÕ$‡:=cŸdÔX½uv˾Ÿ ‚H°mZ$»fŽcãÈßd4ÛF&ÈàéïY°æ W%aœ»~ÁhécƉ1Ý™wÓœïFüB¿odhN2®Ë,®æjÌÔ-ðÌj?k^”Æ{PÊP=â×ýXu?¢•”³ÊàÆö…,Ú~žû H-]ù¦f[º–Å:å.§åQѲ×/€ôîrú ÝI|‰ö´w;ɶˆoòCSò‹Á$ÂçMõüÑiZ¼L%@On>Û\(ŽbÀ:g¬¢ZRÅ6˜öú)R €†¸CÙ,k#¬ìkÅúåMp–f®;%ò6ÑfžÈ¸aø²éwÞˆOáóði¯ÁΈáÈì1,¿šŽ{ƒ‘Œ *Šå‹¤òî&ÆOÝÊ%UIµjŠÜä»çŒañUSÊ|_)©\9yŸ4@qç·5à\¹nÙMbhÒˆ¸ÂÍç–8ÊŒP\YÆäU§‰´,CíFõ¨`Ã[f²äŠBçjÔWW°øèLìmÄ̶ _âás÷s'.Ž'ñã†|ZTÀV•†ÚÄ[+S$Êέ^Ìé„4Jíû“"†/«ïÐãP)ïÇó˜¼îD%>çÞ©e hÓ‹•÷U/f¹U¤¦« \öÍJÆsõÐ.ŽÞLB#º\„OäÓλ¦_çÈŸ™¿ÆÇ<']VFiÜÚ¾—ÇXQµkW‚JXQJÉ!Û9¶í-{Ö¤„Ñuþ¼tš‡éùÉ8ýé¸RÅÇ ùuÚi~h{ú­YU¤š«¨äüŸ½fYÿ¾ IDATûŽŠêh8üÛ]z“&(*X±£+ņ{‹b/±kÔØcö†5Æ®±“Ø{ï½w£(ˆˆ((m)Ëî~ Æ –|jò>çxŽrË̼3rß{o‹ï áP¸Yâîp:èÇCâx™ˆ!sçsªÆÈ©í)d%ÙµâË`îVŸÚ†5ô¬3„‹ÜTè4•a•œ°K@·½?Ò§ÆZL3ç£\óÖt÷`v¿I”›æñzb\)í}½gæÉxŠíèÈ€p&LLã€H Ž©Þm:ÔÖ`È‚WI Fvl€æ— Œ-edß7Nœ–‰#8Þp-ßxÚb&Ý.„øƒÁðÿ.ôåMŽXPį3…ÎÏá·›:r};ŽŸšäÁ‚(ïĬ[©ìæÇ´ÉU ™Ò©çíi0¶Ú€ál5kÆ´©ÉöæG†—79>_ƒm 3;²z–ÆÇÛ“L*Ð==ÏÚYóÙ|%¹nvÏ}¬#O·yøç?ÀÀWnr4±D¤Ø  +‰•Œ!!Ä îØÔV”Å«: ÷ !Ä?ëÓÎ`Û”æÛÚÞxVVÒÇÖM`¾û$z”¶ÀÎÁ° b¯øº™`H|ÂÝÀp´öEq4±Å®ÚW˜Ÿ?ñ;1D@¶æep5ÖšW×`¿>ÝÁÝõsÙp%ޝºÍ`@¥Ì<ú½ýÖ=4^w•™»B!„oú,žƒ­r(Cçuq#Š#Ó§°%H‰gmœˆâØ–½œ½r–=+f3ÿ×5œM²ÆL¡À¦`5Š[Bøá#<&;•ÊdyÏO tZ=Dà¡Í¬[6‹€?Ÿ'×ÿÿÉ}!„B! öÇ À*¿ÛÂT÷+Ç/æZV?†õò%_ì ~_±Ž#‘9©Òi4ý*9£Öù©VÂ:åp÷Ê”vQ½gÙæämÒ‘šù2wuû.ðª•vñ1’c !þ¬ËNcß:Y"„ÿ—ÌöS¬ÁþXâN¦ãäËdo;‹ µ]QI !„BˆOìË|z³>†ÛÇ÷²óÏ«èù¨îå,ɵB!„û½%?âðŠUJpCÝê;¼%½B!„Ÿ‡/z‰ˆB!„Ÿ¥„@!„BI°…B!„[!„BI°…B!„’` !„B! ¶B!„_¸OölFãGˆŒŒ”^Bü£J–,)ABñóIžƒ˜˜ÈÍ›7±··ÇÖÖ•J^#„HŸõ;írŸÇ#>y½È’% VVVÒ‰B! ö?ãöíÛ˜™™áì쌉‰ …BzB‘.•*ã«ÚBBî³fÍoT©Rå“Î`kµZˆŒŒ$þüXXXHG !Ä¿Ü'Y"EÞ¼y133C¥RI‚-„Ƚ^@rrrºû®YóÛgQgSSSräÈR©$((ˆüùóKG !Ä¿Ü'»ÉÑÒÒR’k!ó³3±±±!„ûŸ£P($¹Büg˜››Òò¯PK­Fí·Šº<™æ,Ã*©QûŒâ|üç_mК¨Õ¨;î&Êðe¤‡‡˜7°¾åÕ¨Õ^TªÓŽËN‘~J¾¿?ŸÞ‹û€ $\bl­z\Oü¨ízµnÚÀ4öéÏ Mj{Æq´WeüV†ðæwSÆûÄôÑœšþ¾e+Ðc_4ìÞè]èjZTêÁáÏð3yÆûõýÚþY÷ù;0A!„øÂ©lóS½AmžxdÇôKš»I¼É‚žؘ«7cWúRÈQÇ£K[˜>üú›¬b~ wLÿ ý“¹"='Ùÿç¸ÿϧºï ¦ø”-Œ+kÇqÊðŸèŸÏºÏß<[!þƒ^Ìh—î´”¥Cü¨ê¥¦LõöLÞ÷(eQÃÕÕ#hã[µZMÙê͸è$‘ñÌoÙ…±@ô:ÕÅyM4—ýH‹êeQ«Õxù4¢×ÏGx¬Ë@9èyvqÃÛÔ¢‚ZWåF|?k?µI„œÍ÷MªPZ­¦|½®LÞDb*S…º˜›ìÚ°•?† 5@Â¥qTW«)×y&“ºÔ¢¬º,µ:Mcï¹MŒnS2j/ª´ËŽPmÊ ôi·ôD_ZÁÀfU(]º*­ýW³¨µµº;žÒ©g"×&û¢V«i±6”7'¥õQ×9ùÀßïšPÊÝkgr—mÍþÕqxF¼!¥ü¸[âß®Þj5ßøv`ÜæÀçÛ^;›‘ý’yrr>}šøà¥.K–CY}%½6ˆÝ{±><”U¿eÔ™7¦ õálêXŽ:×x1¿­ ýÖe›°ø® ‰ï˜Lçz)¥VãU©1}'ZÿFÿDå—Ik¹“¸·mj•CíU…¦Wr5VŸê8}õ8]èjZ×ÀªÅiZµ ^>ͱáûfv¦n5ê ß2b[(ZH§^ZÂÍ k½ ”*S6þ¿±ºK:îz†!£±Ö=d}Ÿž¬~ø”Ýý›2à`4tDœZDߦU)£ö¢rÃîÌØ÷€$Cʬo‹z£Ø¾þ'üª6aÖ­¤Wõ4úÀHðVÚÔòF]ª2~#7s?é]ƃñ8Äûjm—±1  õÊ«)Sµ—]$*miökZcÌX=’ÞnûëçL;¦ºÐÕ´®=”m›'Ò±^EÔ¥*Ó|Ô–ç1’[!Ä'¤;?›Õ¡9ð*í‘—Y;z64y}¦nã†UÚtnCÕ¬Ø÷Ë ÛkN£‰Ãùư*ψ9ÝÉqy ?ÌÜÍmÛ²4mׂ*Î8¶d“OŦ[ŽîÑV†t `û-[¼[´¢V®§ÿu}—ss!=û-å¸Ö‹ö½:RÞôk‡wbâ©è Ÿxn §Ì‹S:7„Ÿ_É Îc8m]ïüDÝXÏøÙбgÒnƒ>b/#{Lgß%ŪWÀõêl~¹þJFë©ÀÔ>+.Žn¸Ú˜¼5Ë©´/†O¾~>Œ9OrûI"zTdñA@?/ì :Îøž3yPÁŸuûö°z`a.ŒïÉŒ š×â`l¿äÐ °‘Læ²}×*†WxÈœ¾Ó¸ õ Õœ™4tq£ÅÂuŒR¿ñ(I¥3ß4,LÔ==OxÞĽ\©ánŠ>b/cFï%k×ylÝ·‹5þ帻h*»ÂõiöIÂôñ?‚{%ìÚ³’Á…αüR\†úT~€ ±MøeË–´³d瘮,¶èβ;™ç§`÷Üß LÂh½´Áké?dnÝ—°s×Rº;oeÖÙ”%† ÆUVNŸMs7WÍÝÀ”ŠvèmehÿU°iÿæwÊža}Yq7%ãÓ?ÚÅô­´4‘æ9_ù^Â4õ>0Ä]à×K%ñÿ}»—vÄnÿL]‰ÏðxÒퟸ«?³<é[flÚËïþ Ÿÿc?CŸÎ¶Tû&­1¦1RÈFÇŸ.˜êïaîÉB Y½‹]‹;`»wó/kKd‰ˆBü—̯‹›Åª– ¸}‡À(=ù£ Ì\JÐl¨7Uî=Aéa‹cöìd2”™ÈááŒÅýŠôTç’¥q¹Æ¿6³;0†°Çñèí•“„ËžåœJ‚Lcj0²A¶EÄsy¹ñzæë´˜mÒ¨ YnÚ.øƒBÛ·°çÐ≮F¸ynÔ•оccŠ;*xvl)lZ²¬µš¬¦@ån ¬º“áÛnÓ³Íß³×iïwz®«¹•¿“jzâ¤ïöþŒÍöö馵JœJ7 ÐÄùì êŠgîÇÜtŸ|ßúUŠLÞø¯óÂ>‹3hH¶²ÅR¡á©FGêk[¸µ~ OK¢O-OìàØ¢?-7´d†«Á¢0mZªq²Pb[î²-´¤ƒ_q,¡H%/œ7E¢Ñ«W>ƒåh‰ y˜‘-—*Û¯h7ä+0D²ý»”ð­]+°õÕ“…Ý#22e O±p°Ç\¨LPJ[g¬• P™>ÿ ×N´DÞ‹ÌÈYÜ 3ë¼”v‡m—CCß¿ž]" ¸Rªa¼vC‘×÷±zö$:wyƪ•íQ…F¼„5V¿üÚY—‡IÙØW–œèˆJs¿("’b°rφՋ fÙ©P'û‹œ×xŠíXš†…'2í-O°åaÚVÈœR†2™û»§3bû5"öd÷°!Ú`쓎˜°x2åÍŽÕ‹ÝÌ\ðt1ËP‚Ò[ó”F(J&ÖX½ÈdÊ—ß(Ò¬W2Ï‚c°vÏúJ,œÉådJ°ÑÆbüžSÑa1˜e͉ý‹wç)¬pËiC\h4É€Â,3yœ2¾¢^aê„»ƒÉ˶)éõóÛuT¤Ó?&¹Ébñ²#ÈR 3†caÄ$Ù¦K­“yvßÈÓ½ë8ÉXL1uÀÃñåø¬–eH‚-„Æèã ûë/%Y’Õ3/.æÿ…[™t<»„¢`Æm…íƒ3Ø´éë¶0a²šJ³²þ ’ÈÅ£Yz:†2#þdjݬ"Þ– 1 ‹µY+J§÷‚Q¥^ 3aÁnN›äñ×])í ôDîN¿5®Œš¿‚J9¬PjNпî#'S‘)› Q·CÐ<1SI¹ýøc.œ5V/¶Y¬ˆ½F¼¡( é ÷"µéÄÐãaRaçjCÒÉ ¢te±V aA±Xå±MI¶^&ÉͰ©Ü8ù.uL¿’ŸÞ!,Á€§™ÐòèÖcÈ䂵IÚÛlTSm¿­kZc¬ùξë8É`LQ¼[Lÿd ¶Ba<Í[và»öÍéºâÚÿD« DŸ™M¿¾Ýiß{kŽÞäA¤†dÀ.» *ÌM€èKlß~–ð=Èõ­+˜?m8ƒ=O®Ó}Q° Ùj´ „ ÎêéÓù©÷ü²i9(ݲ®D²{åŸ>ÌŸ3G2.`‡lù¸Ÿs è´iµÁ„lÕ¾¥ˆ‚~éNïQcÔ±7ë#_kE±Æê™Ä_ :P«z=~ØþÖúU«Â(¯]Ï#åе`Â#¹u‹gl#®XMŠÙ)q,ׯ‡s™¸æ¡ÑO¹wl)ýÚ|Ïò äW0cû)ÉU«Wg3{g Ï4\Z;€ ÷0µP¾œŒOÔ¥™*Ø—jD‘G«˜²,¯¦%^.Ï1hÐ™Ú’ÉÆ ER8§V.âxTš¤´úÞ‚| ëàtj*[oòøY(gWNaå}ÝG} GÚõ2#Oý¸]œÅÏ»‰ŠyÈ©å³ÙóL(qÊP¬SO]+7£hÈB¦üq…DZO¹½cÓÏg¡~½-;ãçåjôE†ø@6NÍN§ŽŒîQg•ø{{YºàŽýÎÁ“JͻҶ¢3w~ùži†>ÌêQ ùÁzüxŽzÓ~¢ÌýÉ|ÿ[Zä¿À{®i–uýÎt®“[E®dÞš\+7JÔíBF±ˆ:ǚŷi[¢vQ›ùqt0u)ظê/¾>‰–2Ú…`éÒ_éÒ¥Ë[?Ÿ7oíÚµý€,þ)çׯãèÃD Ð>¸ùò°'§V3g–#*(­óPÓ¯&y¬ä´ÿúv¶1ª×ZÂ]}8´nwW°ä(‹ùài-ñùò2Ë‹,±ˆ'sfÒª€’{Û–°3¡#óXHl„$Ø)T8{w¦}Ð`,ˆÙ\‰=·ŠI3'a=ar¤ž¤‚Ø:m ÛíÛ1º[9œU`ˆ¹À‚±+xZkCÜIºú3ƲÜ5€–‹ÁÌ#%&¿y2N"2O#Š;*á>Äß^ÃæÜ½òs_L·2sêDægAŸ¼ç™;÷.GÑ«¤#šë˜4m)Ç*ŽÇçÍ_î‘ÇX~ЗÖýúR$›Ü—*ð2‰~5Éþàä@s‰yæs&•ïö’®mfŵÿr$Z]™‹ÉEùß΢pO~­`ÂÜ-Léµ½…3ù«ugtß&ä_É_³¼íß3ŒQ}j27V‰­Ç7´›2˜ò™äòû•Û‰r;p¼ßB+Hÿo^¦×DœÚÆ-×FT÷ÄINÞ-iu '+„P·u®·Ö{CØ9u{ï•`èÏp10}a§­ê0¾na2›^ÍèPæ(3ÓºM%Šèæp$8‘ü¹Â9vøžÍŠa¯Hyò‘Ò¢­üÊÍFÅñ]õÃŒÜv™Ø!%ø> (¶™07Ä£³´Æ\‘@t‚þ­•ñ\ðíâGyI®…H3Éþ(É5€B…©Ð¥ûËS¹ ÿ'(,ÉåÛŸy¾ý%ÿŠþ´Â³‰?«šøÿ§Ã`]vûʾû6ñ_I°•c9:}wœ~‹p4»— vì ¦ÎÙ°{ùüD 2g³&><–dÞ~~räi.äó¥¸j/ë=¢ˆoTèˆ FâÃõ ë´õåšn½6“âñè-=©TXËüc!ø™ŸáHt~Z±{¹Ÿ*Svœ_ÞînŠs.G 矠1èˆ8¾œY‡ï¥°ÃÕÍ’¸´ž iæ@v{I®…0–d”äÀÚ‹‘KæÆ“$ @Â… w=ɧ?CëfÃPZf£hsé!„ÿΔ8–íDÇãýX8ÿUu*lœ¬Ð^ %FWK`HàI¨‹Ö©6ÜÄÙ—¾=Ûâ|&œæ/æˆ×`*:©°r²Å"w¦Ž«†ÓógNƇóÄÌ LÉ[© ‹pFqŽØBm)lów¢¬‹ºÏ“D¦)¸¸ ¶hÏÌbò6'ºÿ4¯,(â/2¹çÒ4Û§”‰2!ÒM²?3œ –Æûù¿4f›0ã* €µ{ ¼Ë¿ÿMŽB!þþ=ÏÁV:ðMÇN¾½–÷N^5ñ ûƒ¥»ÿâ©&šà#+Y~ÝŸÊ9R}ÂÔ3¥‡2íh‘ó:Ë–Ÿ#Ú ÀþëÚ}ü ·_çql4.l`ÒãØªC+ÏJˆÙÁ’±­VëW’a}–®>Îý¨(žÿ;5¯UÛäDt¦ÖØX™‚6’Ë[ÿäbL"ñZƒŒJ!„BI°?—»4ßu.ýòMF*çJôà‹a纵ëÄðßS¦×@ê»§ó•+•;6ÂñÔBÖ^Ó@¦ÒtØóƒôîБþ?ŸÂ©Ù`:NyœÂ*?• ªÐX|MUÏ×ߣdæâCEý6ÆtïijNãÐd ]JÙc_ªÍ<Î0¡S+:ôšÄóø•б}Òbn$ÊÀâs¡Ê”—”¿‘9« òäL!„éùrŸƒýY‰çêϽ˜©êËŒ®yñLø éþk>ÆLn„ÜŸ(ćûÏÁþØ¿ûä9ØBñï'¯Jÿ@m wðû)SÊTÍ<°K!„Blño-cÈð?ÑVþކ¹å‰BˆÏu6 ’í¾¡öô$}aU×…®¦E¥ŽýxçL¾¿?ŸÞ‹KmkG{UÆoeÈ[¯Yþ'êòNÝøtÔjÔõfsëŽ4Da`5êjc¹” Cž„KŒ­U€ë©¯»Ô. ±ONhþ¹2ÒsÆÇŸ1iÍçÿQÆ¿Ÿ,\ø@…{0oUêÛ,‹bIq‰‘BˆHʇ;Ør»} ½˜Ø1}îONj@¾JÍUæŠôTœ<òX ñl!„øÒ…®¦u­¬Z<¦UËàåÓŒαofgêVP£®ð-#¶…¢0$¼c2ëU¤”ZW¥Æô]tžh=€–°C3èZ¯¥ÊT§ÿo¬îR…Ž»ža@OÜ­?ñoW oµšo|;0ns ñ©Ýù£ çÐÌÔ¯ F­.K­Îåm?†D‚·úÓ¦–7êR•ñ¹™ûIòR±EômZ•2j/*7ìÎŒ}H2@Òí94ª1Œ³/f(“™ß¸:CN¿1eiHàÞ¶ t¨UµWš\ÉÕX}ÚÁK«.iÅ)9œMËQ'à‰/ãÿ­Ë6añ]-¼KœÌÜð)¯`ÿƛĿø™þ)§ÿ¼J¶Z%°{~e7ÖþäûËiQoÛ×ÿ„_Õ&̺fëBWÓºöP¶mžHÇzQ—ªLóQ[ÒªqûÈã(ͺi‚XѽëÃCYÕñ[Fy{šZy”_&­åNR:mLkljS)ÃhÓb¤ÿßel)ÛhûÞuü I°…BI²Ã°!¶ ¿lÙÁ’v–ìÓ•ÅÝY¶s'óüìžû;I ØË˜Ñ{ÉÚu[÷íb9î.šÊ®p=Úàµô²·îKعk)Ý·2ëlÀuœñ=gò ‚?ëöíaõÀÂ\ß“4¼™ÅŸÈˆ´»½[çÒR±Ñ³.ð"-2Ä]à×K%ñÿ}»—vÄnÿL]‰G÷h+Cû¯ÂÐ(€Mûw0¿Sö ëËŠ»_“pc}üàÞc »ö¬dp¡s,¿GZùmZuI3NOù¦aa¢ì!èyRúèð&îåjL wSôï§ç6¹k×ÀâÈ®k^ä×§øóf.•Ëœá'ÝèíbúVÚNšH3ÛÃiö1€îñæž,Äջص¸¶{§1ÿ²æâÿO£Tëv=3­æÌ¤¡‹-®c”Ú*ýÿi´1ͱiêñVÆÚ˜f?i_ü;ŒÍôÊN«}ï:þ…$ØB!Œ0X¦MK5Nöä+÷ Ù¬JÒÁ¯8–N©ä…sR$(2yã¿n?Ö,€‹V¶X*4<ÕÄswÓ:‚‹~OÏêyp´s£L»ÞÔȤô<=¶”6-ÔZMV;{rVîÆÀªÉÜv›7W¬*MLQj£ ‹BïX¿é›X7 èß«ÌòЦk rZ™á¿Ü´Dh’x´ —²}Gÿo‹ábëH>ßïéUü!ë7fp­y·Öoáié¾ô©å‰£]J´èOËìFÒÔTë¢3'N¥PèÙ>ö%.Œƒ›î“ï[²ªô<{‡8½`ê^_Û¬¿è‰8ö'wò5¢ŒcÆ$©W¸ÑlX7|Kä!sæòiÔ=åV`%… IDAT[ƒÊF|ÉmmŽc¡*øäÐò$NûNñÿ§ÆQêu{÷شΓîØÌPuiõ‚‘þ¿Âåw›é•zû4ï>þE†Èl!„ø?ÐjµŸá‹9¶æ)ó, ……‰5V/® %Š—MæþîéŒØ~…=Ù=lˆ6¤¼öYp ÖîY±z1]cæL.'S‚ÑABð:ÔXýr6G—‡IÙXÞL7¬½†ð˰µ¬\ћڃâÈ^¾ í:·£¦]ÊY…©î&/ë–òv[Ña1˜e͉ý‹|@a…[NâB£S¹AËÀÛi—Ž˜°x2åÍŽÕ‹›¹àébÆþ4–z]ŒÅ ”Ž¥iXx"ó÷‡ÐÞò[¡m…Ì(ß1N'ùÙ©VÇN\$ºdŽl¦`K/UGŒ¥¯µ_a–™W4K2:6ß¿ßyü‹ŒÍ_|ŠBmllˆŒŒä¼ãFñKLLdÏž=LŸ>#Ý?Ÿ NGxx8áááxxx|‘q7hÐ™Ú’ÉÆ ER8§V.âxTš$3òÔo€ÛÅYü¼;¨˜‡œZ>›=Ït€§r-ðz8—‰kÎý”{Ç–Ò¯Í÷,J~+A93•î=ØEB’€Ê$‹” ×ÊÍ(²)\áqìSnï˜ÅôóY¨_/–VNXD]d÷‰`â#8·r.GߺÛÌ‚| ëàtj*[oòøY(gWNaå}Š' Ä¾T#ŠîìÙ³Ÿ´ÞŽŽŽ(Psó/ñYùJ+  ÛÞéSc-¦™óQ®ykº{0»ß$*®À”‘‘ŒœÖŠ*?9¢þ¶MrþÅ%JGF„3aÂ`Dbp,HõnÓ ¶~« Wßô½0œÉÍ«0TgŠcªô˜Ø…æ 7šdÖaì”ÇŒ›Ò›Ú“¢±Ì¦¦á˜i´Ík†J_“~í0|h#6XäÀëÛ®t)6ƒ+oœÃ<_¦ˆâ§Ùðõ7'w¥Öôªû 3N¿£¸½šFŵ ¼Qÿb6™á8½Ydf¼åaü¨;ÔœS [h^‹MÆÚŸ^ݽgæy¯øÿ_ÆÑC#ñ1Ë‚WI Fvl€æ— Œ-eõ^ãߨØDÿzcŒ´±Ü´Ô?`kŸ9›ï߇gü‹7}’W¥h4BCC‰ŠŠ’^Bü£äõäÿœ¤Ð£ì¹Jås¦¬áL¸ÌÄFýˆ³ÿ2y"d‰ÿ¦O¶ÛÊÊŠ¼yóJ!Ä—,î"‹F,âÉœ™´* äÞ¶%ìL(ÆÈ<ò¶!ãHüw}²l!„ÿ ·þ˜À¨ùû¸«ÄÖãZL«òX!ãHH‚-„B!„øpòÁP!„BI°…B!„[!„BI°…B!„’` !„B! ¶B!„’` !„øÏÐ. ±ONhÒÙ1áckÕ#àzâ?\£8ŽöªŒßÊ’ß·®©1$zl#;4 JY5juYª6êÆ¸µçˆÔ¥ì’|9~>½9'ãBñ: BˆŒRe®HÏAÅÉcöo®«–õh9î…Úôblÿ¯p·M$äüæMíJÇsYöC äƒBˆ´È ¶Bü$ß_N‹z£Ø¾þ'üª6aÖ­âný‰»Zx«Õ|ãÛq›‰7¤$˜a‡fе^J•©NÿßXÝ¥ w=#9ò(¿LZË$@Ρ™=¨_!e†·Vç„ë@ÄŠî½XʪŽß2êŒЧYÞ;ÕÍÀ½mèP«j¯*4¸’«±úTÛ¬{¥®ºÐÕ´®=”m›'Ò±^EÔ¥*Ó|Ôî'½}œþéa¦N?KþÁ¿2«W=ÊòÀ-‡'^õ~`ÆŒöä 9A`ü Þ1™Îõ*RJ­Æ«Rcú.:O´>½²“yrr>}šøà¥.K–CY}%š”éô‘Bl!„ŸœþÑ.¦ou í¤‰4³?Ãøž3yPÁŸuûö°z`a.ŒïÉŒ ’‚×ÒÈܺ/a箥twÞʬ³Q¼™×şȈ´»½[çÒR±Ñ³. 1õ Õœ™4tq£ÅÂuŒR[¡:žfy†w¨[üôñ?‚{%ìÚ³’Á…αüRÉ9u÷0÷d!†¬ÞŮŰÝ;ù—ß^?¢¹¶…³¦UèR+Û_ó*°)Þ€€î³z#¶{3z/Y»Îcë¾]¬ñ/ÇÝESÙ®7Z¶.tƒl$S‡¹lßµŠá2§ï4.hH7fBI°…B|ê[áF³aÝð-‘ “³¿rÀ¦%ƒZ«ÉjgOÎÊÝX5™ƒÛ®rcÓ:‚‹~OÏêyp´s£L»ÞÔȤzûbbŠREXXzÇ¢øMßĺESY:¡çÙ±¥i”w›Ä ×í —×oáié¾ô©å‰£]J´èOËìª µß r§Q'_r[›ãX¨ >9´<‰Ó¿UWÍ£Ç$grÇÁôÅÂÙܹjµ:åÏ7 ™zõõµåŠLÞø¯[Á5 àbc…•-– O5:#e'´m5·ò÷ WMOœsâÝÞŸ±½*`Ÿ˜ !>_²[!þ#f™Éãd h‰ !x j¬~9Ó¢KŒÃ¤lO¢b°vÏŠÕ‹ fÎär2%øóY{ á—akY¹¢7µÅ‘½|ÚunGM»7=댔‹îêö,1žLy³c¥xQ7<]ÌØŸ‘˜:àáøâ²§Hc†I‰…³Чwy¢…ܦ€Ò™*ãÖP"щ7™×} ‰º×çÊdîïžÎˆí׈PØ“ÝÆhƒ"²“yv?+÷l¯Ä:;êd´ÜM'fBI°…B|ò [‰R ÂÖÅ«‚­Xûk#\•zâîß&Ì< ‰+¬ˆ½F¼¡( é ÷"µoœLO\È=âó4cÔâNŒÒ„pbÙõÇcý@ ¿¶¯±ò<°J¼“Áº¹¢YbCÔí4OÌ@Òcn?NÊhž—aœM!_¾ÒŽcÙÞ0JÖÍ‚ %VÎnXa@så.>I¦ô±ˆÜ7œ~k\5•rX¡Ôœ Ý)é”­ÂÖÕ ÍÅGÄÀR$²añ²6kAc1“Ñ,ÄgM–ˆ!ÄðW¿c¹x=œËÄ5ç~ʽcKé׿{–©È[¿ngñóî@¢brjùlö<{{Î4æÌTº÷`w` I:P*“W.,ÉÄ'êÒ)/E†ëf‚gÃ:8šJÀÖ›<~ÊÙ•SXy_‡âcFǹ zæ’[zÍÞÆ™[ý‹Ó›¦Ñwèn’Ìß^’bÐ& 3µ%“ФpN­\Äñ¨4IÆVK›‘³V#<®ÎföÎ@ži"¸´vîajab5ñö®I·u¦´›2”ò™!„È€Oû‘¤`öx”òwÃMv‰ B̨>à”Jë\”­R‘gn®˜~äkAzçþ'ËBˆÿ…žMüYÕÄ_b!„_Z‚pg7‡#À²`i쯟äÎî„W­KVe §'ugòY¼GÌ¡WKt¶1øû¥¹5cÚäÄn_ÀÂÍgŠÒ¢´ÎÊWÕÛÒµi lãîrlïA(_Üo7ÐËÍÍ©ûâ±GúgX9j6û¯Gc»,Mºv ª‡%útÎýÚöš¦løG4Ù%’Š™¯p0È‚o†þÂ_Yaˆ:Š—\unÈäiÍñxy—Ž– U}°áñ½õ5?.ú‘¯- ÄdÕÒ?9z#ŒXGr~U•æíêóµ³)I¿Ò{ðVžlA3Ç#l>ŒÆ6Õ;ö¥Mi'Thy|zóWíåʃL2ÆÇ¯-½ÝR{%„B!ÞÛ§["bˆãæ®DcOy¿æÔϯ€à=}˜  U+Žq\>L"¢o'È^ùìn,eâŠãÜ·.N͵)íÎùõÓY|E“n±š+é›xu#ÇôñöʆæÎAü´Kqïx/¨Iª÷íÊWæ€EIºìNãÚPÏ•£A$š;Ǹ­×òåp{íx%›ÐºeKZ¶ô÷à󛊳“Iúg'™3r;¯jð¨TŸÚ%l9õãG¬àæ+w«ë®¯b[xŠuƒ¨¿Ø>w7 éî¼‹ÉEhЪ1jÓklŸ5’E—ãäõ»B!„_j‚mˆ½ÆŽ3p.O•¼Y)Q£0*²ÿPZX¨J +ˆ:ŠÐÄ8n Ä€;•KgFe§¦Åw]п=5J Wf '‘‰é$ˆ0rìËàYš0rx/ºöý‰Á•í ö›.ǾcòiJ¦,®Øª²¸9áúuu « æâqB>~ƒD²R¡¬Û˜Rb—¿2uë×£z!-×năiÚ jFn3OŽÿÁI dn0”!]ZÒ¶Ïz—4‡'Øqç• ;WGÆîOïÁ?Òʈ»OHŒ†¿6ïä!6TìÚ•fõšÑ½wœ‰âЦ+ÄJ†-„BñA>ÑQ¶s!°ºÇ¦ùsPjâPí'¨q{òZyRµ¤5ÇŸæLPÞÒ‚Ge¼2›bmNøÉ_Y´h.:s'Üì2X®s»ô5ÍæIfS ²r…ýñôQ,z÷kµÂ®(Õ‹™rùüYN—C{%²Ö¢lÖÔ»A÷ø0?ûƒ ƒUú÷§V3 ‰˜°@…[~×”Ä\aEOg8û€ÇO“0<_뢲όµ0˜ae–w>‘Èð”Ùúƒ?µåà«>y@´låýžB!„_X‚­àÌŽ«èž^æè«Y^äQö6'oAKòVñÂöð~mÙ†&r5+…³*‰»ëç²áJ_u›Á€J™yô{?ú­{˜‚3v¬6ô/žh‹“Ã$×*\m>|º_aK¡j_a~þ ÇvìÄÙš—Á5•^0hn°fülNÅ™R°íPÚm÷¼|¶YlHÞ G[2'¦ ÷o=,q²73þF3…)væ€{ À×ÍCâµ/Š£JþS!„B|q ¶.ü;ÿ2@Öo™:õ[r˜ˆ>1Ž®9±û/Z,ŠUJgÚÏž<ø•tBE2:­H"ðÐfÖÇqfÇó9Ýwæ2vìÃuø Cm‘ãÑ© ‹Ù xö® µ f* æ‡]Çͧ v«QÜò '²Ó²L–TnÄŒãâ‰l ìŠ7é,Û7ž'Šû”#G™F”Z3ÓÆ2>¶9ã/°ól"¸5¤¾§%<0V)KÁìdÙMàúMi²¼Ì.جH~ÄÙÅ8˜ç¤ò7)›óU¥„“ 0'o“ŽÔÌ—‰¸«ûØwÙ€W­Ü(€°‹wÒyÖµñc_¬?6ÍëC‘Ä‹8ŒežÊtÑ–ÂVï‘yšå rõüØð½›Nž ëüT+ñüÕÀî•)í’Ê”±!'¡q)>ÏæÕ+Y¹r%+ÝÌÍ8J‡2ôø©Õ ZpwßF¶œŽÆÍ«)C†7!·yúÕ²Ìß‚a½|É{‚ßW¬ãHdNªtM¿JÎȶB!ć‘W¥q§GÓqòe²·Å„Ú®’Ô !„Bü‹ÈílÿOúnßËÎ?¯¢S䣺—Ì !„BH‚-Þ_ò#¯XÅ¡7Ô­¾ÃÛYÒk!„BˆY""„B!ÄG¤”!„B! ¶B!„’` !„B! ¶B!„Bl!„3<ÝAµµÏ(ÎǧüLuŠ€oÕ¨Õeùnéu4ë–÷è½tR«Q¿ö§5ZaùùgèÓ9\´„&j5ꎻ‰ú€:%=<ļ-ð-¯F­ö¢RvŒXvš]úÇ&ß_ŽŸOoŽÅ}@.1¶V=®'fh».t5-*õàpìÆ?î½ËWÃÿBüß?Ó=áЄF”­9ˆMÁIo`%2¿á›}]‘z]§²ó~úåhÐØ§?'4!žÿoPŸ2¾>7Ÿ[ÿ|bò˜>!„ø/&ÜqWXø}/VÝ5¥H—ùÌh[÷ya­qΔªQe83—¶ÁÝHqªÌé9¨8yÌäÿ¤ûã|èMJâÁƒDFFJ/!þÕìííÉ–-ŸGr‡ÕCº2ÿšæ2ó»"Ø(’=8Ÿñ³Ösê^fnjêuû‘^Õ-ÙÑ©6£/YQmöVÆ—±A¹“î5‡r&K{VýÞÏÔ$«â´ú^V€ö.‹ü¾å— ó»ŸD»$.®ÏĹ™„ÒÎ2û2¼«7ö17Ùµa+÷Š{Ó£UAoаõ*"Õèモe7Ê1}Q+¦7 ÍÚÇxØÄòfn¯½¸Ku“œñÓ„Rî)•Ë]¶5Cú3éZñwLzânm`긅캎.s1êvÆur¿‘|§½Ÿ¥"™''3fòŽÝKÀ!eÚý8ˆfùŸ²ª{/Ö‡ÇBÇo‰ž±†Qj«¿O© bÅÛ‡»†D‚·úÓæ×]\{lJÞZ}™<´.9ÌŒÕÁØÅ6”í?udÌÍŠL\ÜŸò/ß¿Öù²pÝ¿ƒõãÙðSI¬í½Å´hs”Ö¿/ žKjŒ˜ØØcïà€pp¬DÛNeXÕç8wÚàn’HðΙŒ™³…ó¡q(l<ðn=ŒQí¿Æ2ò(¿LºJßò¥px¸œ6=îк½‚_¾L¹9«øþÅÀJ%^£ÔæDœZÊØ)«9e5 ¾J·ÊÙ0{+&iôS;”èÒ<êájÚuºBó®vü¹`*ÉW»“å`Ï×ë3Ìõ7꿌ÏV§z^£Ë iÇËNi¬ƶ?úpýüS?É.%š0pLo*¹¨@gdÛ«>¸$Áþ(¹yó&öööäΕJ^¸"„ø²ØØXgxßøøxnݺ…§§ç§O²µØ<¬›Ï$«Õ\æt-ŽÝó«}âÍ…ôì·”àlÕèØËƒà‹Y;¼ñŽëèÚøk”—Îqjç-4eJ »¶‹+zÈ^«9Ó›}Ôkxtý4—žØâb«"öÌ~˜¹›XJ4­çÆÓCkÙ½d“Klc¬[ê§I>À¤Ë™p/m©BÎ>+.ަ¸Ú˜ðæõZi_ Ÿ|Ì> óÖ©^®8¹ÍÉâ;‚ßIøqÆ÷œÉc¿)¬›™—ij‹8´'3²ÿN?çW“õ´÷ëïºA6’}ð\¶—1ãú:~ì;üFÒjÎL‚ Ãrê:ú4½‚¦om×…‚!î¿^jÈüß“éî:u›É¢úU‘ç\šuôµŠTó´`6 ë‰ÿ…rL[3€òŽÊ µéûÚe`øþŠ/ÉW–ZBölãQÁ”uÎØªR½&ý/à\3ÐGìeÌè½d:1Þ.Ä^XJ¿ÁSÙU{õß<öÑ.¦oõ£Ï¤‰”Êij<^61´ÿ*,»OcSíìDžMßa}±]±œ¹_”ºÐ iöÓW1[Ó]©ç®‚¤ŠôTç’¥q¹Æ¿6³;0†°ÇñÒH°qiÌÜßPÂæù5£Ób¶uJc_³Ü´]ð…¶oaÏ¡y ˜qpóܨ+7 }ÇÆwTðìØRØ´dYk5YMÊÝXu'÷ݦg›¿g¯ÓÞï:õ\Ws+&ÕôÄI Þíý›í/ìyÏÅãfyhÓµ9­L *¸-à¤Fk´®}¾.Æ[ÛôO92º'³"[Ì ö^‹¢œ·Ãó™S½ñóõ©C©äŸØy'¯ò‡²{{ź–Á1Íü:‰kþ¾xù¿ò#/ºMíD~sP(½ñ_ç…}g,Ðle‹¥BÃSÞ˜_Ó+Üh6¬¾9Ó[Æ¢ãÑþ5\Êöë¾-†‹ \|¿§×–úÌÜH«>^—Z‚¶¥ÕOÉFÏã× *wuò%·µ ª‚OŽŒKýN‚¿ë¯$tÍð´ÏÛ8í–)2¥¯‚ö¥ÕŽ$#m4Þߪ˜¢Ô>!,, }¾¢øMß„¯Ö Þ$ím¯$Áþh¢¢¢È›7/fff¨T*I°…_½>åN¹ääät÷]³æ7LMMÉ–-ÛgPs+JuB‰#?1oßú.rgA§BX‘ÀãД»ë¶v­ÀÖW »Ç3Û†4ñ2ãÔ±#ìÿ«I§¢À½ÕrK„ž¯Á6¥¹9ŠùÐÀ·ŽJÐ9Zº/€IG“l邇}|º5Wå*ƒ§MÆ®]" ¸Rªa¼vC‘×÷±zö$:wyƪ•íQ…F¼„5V¿üÊ^—‡IÙXt¯$ QiîEDR VîÙ°z±Á,;êdOù{»÷ŽÂÔ w‡ç—f…¥"½:¼Z×W¦%³hx%’Öu£åˆ1”Y3‰š.ªôÏg]Œ:ê$Æï ¤›Å!v<ýŠïK9YÖ`Bžžó™RÍ % ”f¶8;Ûþ½~^™ÌýÝÓ±ý {²{ØmH½f™É㔑5â:¢Ãb0ËšûIºÂ ·œ6Ä…F“ ¯$pÉ<»ŸV?%q#ó`ꀇã‹tIatyÇßõOJ·~iž#ÍxkG<çÒܦ宑þ¶ðÂ/ÃÖ²rEojŠ#{ù&´ëÜŽšvfXÙöñúGìÊÒÒR’k!ĆV«ý<*bçCçæ5)Vׄ»~ƒÙ5¿ÿcïÎãlª?Ž¿îýšÍXf,…H\“,cÍNÙ'-d©,!KdKBY²W""ÉÖ"ûNI%)%ë` š1ë™;wùý1ôµÌÜYôSx?Õ=s>ç³qÞ÷3Ÿ{îø>ãÍú>ä/èøÐ|ìd"B=p¦Fóû‘(Ò †ìHP»êxïÙɦå+à"”ì݀⮲е{°¯“ÆïóßbÁ÷‰Tõ%ï¶,¹¹é0'Òuøts#§wŒä}Ci6¶0³¾|J>€Á“ òMèÖó «ºïãhRw b*÷,˶!Øà ùÌ1¢½B1¥¿ëñËòçŠ`ÿÜ„åç ¤8ÉØ v‚•ówS¤ã³¥î}&Œ–} j99«tyåME¶o·ðöÅúÝiâí5Èç8-DŸNÂTñË( IDATÚï†pã†_pVãÁ}Ù–cÈa®­nê—ÓþrwÑŽey¬¥³ïûpžý“”Ò=¿£-gÙ÷É0† H!ô«A”¼p*‹c¯QÁ럟»Ó¿ö˜>ƒÁ p-"ò/q+Ô€aSž#”X6 ħ©Ô©ÁIJyñJv}¿‹/g¼Áø)ï³3Õ/ƒÿÊm©a‚¨õˆ¢-Ïã“8œØÓ@GÖ~Êœ©#2ïJ¸vætk…•?çv¥Y£V¼ºöâMþ3UhCíô¯xý…ìü-’‹19óëæO_Gr¥&Tò7T³açg3aéD%\æÔž |þ¶]r]ýœ‘û›µ!ô×YÌÚx‚8K ‡–½Ã”•§ðð¾z{µ‘’æê¹€ÙÏ®¶ìßt¸¡ÅoPëøT†.:JZ¶åð}¸%Ä-gÒòxÂÚTÆÿn×ÎôTì~øzb°^dÿâyìOÅbÍË6š«ýåFp½ŽT<û“¿8Ì¥¤ËÛ0“i?…ðd«Ò7¬ŽzR2ËqòtYŽWŽëssÀÌyýrÚ_î.Úáí☻‹ñN'éÀ»ôê=…Í'âIµÚÁ¸¹c]ûçÆG[DDî|éÉ”ÁUð´ff¿IüP¢ïàáø­Ì1‡ ËÒzØ|&¶Á 0ø?BÛÚ~§?ЊúEóºåMùîCéP1ˆÄV²r¿“ºO—ÜÙw„8GNÊp’wž‹±Q\H²Ý´ãÙX‹‘óÇÒØ±iý#hÖ¸_™ÅÁЗ™9©ÅÝÁTŸQSºà½f(më?AÄèíî9Áæë?ÀêêçíéUËÆÒ9˜’‹¢nè/·Œ›+úѼn#ºÍ>Oƒ±SéüÀÍñÍÕ8妜܌_ÞÊuÝ_¿gÝWmÌzþøÜtÂŽ2éé„7Œ`ô®PzOx‰‡¼Œ.Žý³ãsWþ ët:·û¢?üð•*UÂÃÃC÷8¹#åfö´iÓhРU«V½£Û°£O ÚOé+YÔ©8zÔÝÊÂ7žb¤û¾ù(&uˆH®è‹fDD$ï(âøuËJ–t»¡"mëQ¸¾K9­ñ\:¶¹;%”ð¾¯Ñ4Dñún•òËžï³—¢íFðB9ouˆˆ¶ˆˆü¿ðªÀ൬ž¸ë™ª¾É†½ê‘[¡9Šˆˆˆˆ(`‹ˆˆˆˆ(`‹ˆˆˆˆÜõîØ=Øö‹ëþÆŸ4ïèËæ;ùý/#¡á]øbB<ìÄý²’9¯ã§³Éx‡T þ3/aö`÷›}YQúM¦uÎxйýÒF†÷ß@ØÄI´)êàü·‹ùpéŽ\LSQª´|‰ÞmÊá«ïÄ‘¸£W°í±ûXz¨4/NžËܱm0íû„GS±Çìdú¤u8Ÿ¬?dtû‚ì›1‘ÕQ¾TnPšÄï÷•`'æÀ6΂š!î8ãö1{ö> uÍÏåÝ>rîËì‰qh¦ˆH–,Xˆ——÷Mÿ,X°P#"¢€}‡q á‰vµ)îãI@©Ç¨bãrJ:1û×q4¸ ]•¥@¾Bk=ó]bëŽs˜*5ä„}ì‹Jû_ØMÉFQÈ ð«Â+SÞ¡{íû òñÄË'^†TR°E$k]ºtæÃ?¼îµ?ü.]:«sDD°ï0î ¸ú,VF€ƒä¿,x,†ÿ߇¼)T,)“pV¤Á ìÝMÚ_øæRš˜ƒ0ƒè½‹?¸ý‡Œç£MGIvjoˆˆä.dÿÃuú‰¹´­?ˆ}–[($õãšµbÊ‘´;kpœ)üö^[ªÕ{-7üF2õ÷÷iÖQ»â¸“–RlgQ¿{’ÿ…9q óàžž‡·»Ÿ²é7{Ô:ÕíÍ®¤Ûtý{ÌþlÃÍïò0‘~(ŠD{e|Üg*EYð¾/î†*6|€Vìå°ÇbËu ’¿p¿&“Ö ×› ñÆò3“ú,Ð,‘‡ìkÿý_âV¨}†T¦´ç=80Êw}‹.Ûºðö”ÝT}+œüFÀz’eo}B\à ô¯xÏ}êÿߘ÷ô<¼ƒúIãtëî¿OÜ(Ö„²Ñ_°`óŸ\¶$¹{1‹Ž¤~½ûðÀ€ÿà )»–ù_ÇQ±qyü®„tgzv|øš< =–_Ö~Éωi¤¤;5SD$W!û¿Æû-L\ÆqkÆÊÕs͇³nõº·ªƒ¹Z=ž½†3VÀ~‘3zód¸³¹Í^œÂŽ‹vH?ͧ½úòÕÅ(>ëÞžÑ,àL#rÃ$^lU‡jf3auÛ2`ÞO$8²¹6þúnýÛÕ'Ì\ƒÆÏ gÉá„++È’~ɘ.ͨe6óxÓ®Œ_}‚§‹ºå„Oyº¾Õ™ÀÍc™ñ]lœûzsÎ×aøÀÚìÄìŸÇ€ ©n£^ë^Lßv«¬ÇÞ§MãüpuEÏz‚9m1ìûÌ–ø\´/Ï}ært³¬7¤½s:/· §ZõF®ÃóÍja®Vˆ7VsÆzýõoéÏö]± Ö¥ïà¦87¾CÏ.=¹üÕû¾Æ“%<23ü¦áC6.¹›iô éêÕºÒ1ôïôx–®}'²Ã«1U쬟8ŸßÓ4YDäîa¿´…Ùß•gØ’Mlšß¿­S™ó‹…Ľõµ7g¯cëÚÙyÎL ^O^k¸‘‘ëŽÑ£AÎë–EĦü cè¼­ ¯¼ðùÌcXÖ à••&;¶/åP±n¬h_‰ÂnP¸é+ô]ó$3V CŽoé.ÚçÌcŸ9\®^g]ïß s_AdÅW˜Ñ¨4AF¨Þ¥¿èId.æDv«ç®úíÙþá©y˜ù §{ÖåØsÔO©œÜ›óñÍ”giž¹1%Mîð`8áEçòÅrVO¹ ¶ˆˆÜü„]½þþuf¾°a|0b‹?íGó!ɯݎ./v¡‰ÿÍ1É`´qfó4F­ÿC ÅC}I¸öƒá™^ÃFÜ™DL%ŠaºzQÏâ„·(¤s2*†ÔÈéÚxÉßu²§%ã^# ï\Ô-ëŒ]žÎCšñEÏ#t}µ!…ÿ Š Ñ‰x)Iàß7Q´¤/ÉQ ØnކY|(ÒUû{^úÌuÀͺÞ1\"‘|%Š\S—‚Ü_À#ó–ëkç¬ß<537¹ic–mˆÌÅøföæÄ£%ò»_íÈ+‹¸^¾âÏÝ=Hßä("rO2dr3u|ö)¥;2zþ:v³˜þe¿çípóÄnÉÀ¥žDLú”Kæ3}T'ò1ds 7ü‚MXÎ^ÈØÏ v‚•|Âw±ü b*7ˆe[¶±mÛ6¶mÛº¥‹˜3øQœ9®[6ï-‚0y检¯ÛuõòöÅzþ4ñW—¢O'a ñËXr:þªÓcˆ¼lˤtWí³å±Ï\qUïü…˜H:ý¿ºXÿâTlz.æÄ­\ß/«x÷À<ÌtÞ8sÑFmÈÕøfV¬×CîÈe=E[DDn’xà]zõžÂæñ¤Zí`Üܯ¹YØHIËHRÎôTì~øzb°^dÿâyìOÅbuõÁpOJ6kC诳˜µñq–-{‡)+OááíNPÍN„ŸÍ„¥?•p™S{0ðùWXt:$WusÄñë¶u|s41Ûs#¸^G*žýˆÉ_æRÒeŽm˜É´ŸBx²Ui|LðŽÿ™Íû"IN‹áÇųù6Á‘ËöóØgy­wyÊ=ùEžÉ{›OŸxžý‹f±%îŸø€ÚÕyàºß<ïµyxãèd9oœ9hcv¼(ëñý_¿ýsc! Ø""âò–ÜtÂŽ2éé„7Œ`ô®PzOx‰‡¼Ïªz³¶ûS ÿ>• ºƒéYf'ý×¢Aë¬öiO¯Z6–œÈÁ”¬¯âQ2‚Éã=û†7¡ßšüô˜ÔŸÊ&0ÕgÔ”.x¯JÛúO1z;…{Nc°ÙßuݬgY3aS·]ĖרÒ‚q“#`E?š×mD·Ùçi0v*ðÄ-¤ »”`÷ð6ÔkÒù¶Ž¼TÉ”ËöóÜgy­·g©ç˜üF-NL}–Mz0?¥íJúàæn$ÏßòpÝ<°¸¼þ=7o›¬æ1Wåd9¹ßÆí É’ÁétÞögÐýðÃTªT €ˆÜ‘ŽŒU ›-û87mÚt4h@ÕªUÕyrÛX£¾e˱bÔ­]“Hý… m’<ökÆTñQi|åÿm¹BDDDîNÉ?3oÔ>?’„Ãaáĺ٘Z‰¥õ ¯üÒSDDDDîRžtáí>ÑŒîß„ÙIFüB§Ëä¡Ô0¨s4¾òÿH[DDDò@[DDD$+ÿÚ«ÕªÞ‘{†··>$"r¯øW¶ˆøúú‹ÉdÂ`Я1DäΓ––Æ®]»8xðçýü”ÁÏÏO'"røWV°CCC‰åܹs¤¤¤hD䎓ÓpíááA•*U(R$„ÐÐPuœˆÈ=à_Ùƒ ûO:E||¼FADîjAAA-Z//mQÀ‘\Ñs°EDîÉ{èWû Æ\ûÕvö¿ØùNj4ªÈ[øà¹õsZ›1›¯ý§­^~—g²/7ýÄ\ÚÖÄ>Ë-¶Ñ‘ÀþiÝhZ#œÞÛâq¦b\³VL9’öŸÛ™EDÔïÇžä¨nhï?Ö¯®'ßö­GÄâ³yþÍkûá?í?>Ÿä¿EÏÁ¹Ù.°u|F¨Â› †óDÈ­>6Õƒ²>aVÓ‚œv,óõÄáŒZˆr ž§„‹âÝ Õ¡ÏÊ”ö¼Å*¤Ÿe×ÖH*O^ÃøþRïœáøÇúàÿ¹LÉ­`‹ˆÜk¬Q¬ãFªÉ„ù#¯ ×’~ɘ.ͨe6óxÓ®Œ_}‚§…ßlD£7~àêbhú©ù´ïƪ‹Ž+¯p÷ $0~ò¤ØCuéÜ£:žÇör2p¦¹a/¶ªC5³™°ºm0ï'`ý–&.ã¸5c5³S«Ñ¬ÿêM"¶cæÑVÀ³*'ý<_õïÃ’ó—Ù<¨ƒ·bQ¯¾|u1ŠÏº·gô‹‹öÝÂu¼çUžèü _Oy‰VµÍToØ‘×>ù™ølŽ]ëÚ>}7‡þíêf®Aãg†³äpWõ°žæÓÚ{}™vböÏc@‡†T7‡Q¯u/¦o;‡Õ ö¨%<×|8ëVO {«:˜«ÕãéÑkÈô—ÎTN­{‡®Íjbk@‡×ók’#›ù“ó~Ⱥž®ç =j Ï5Ìgó_£CÃê„ÕïȨ•?²mÆ‹´ 7coϨuQ¤gSÏ,ûÂrsÿŠ(`‹ˆÈ•œɪù}ïÌLí‚nsÄïåí>38>†Û¶°äµ |»ÓƒͫÃþ ü™ÎÙ-ë¸P®-5 f~qXN°ý냤,CaOpÄleì[[)òò‡¬Ý¶‰¥cjrrÞ»lºè¸ùÜ ›˜¶6?'Nàé’×/}gYNL0­§Íâé¢Á´™½’É +ñÜû3h]¸(>ZÁh³ÉEû,8ózÝ+õOþõ=YÛ3}ÕV>S‡‹s^eÜ®8ÙËŒ=j%CM@×Ù¬ßô#ÃÏóþ€©´¸¨Gì}<{C{¯+óÂZ†ú g›)¬Ú¾9=BØ2bŸžÌHÑöK[˜ý]y†-ÙĦù]ñÛ:•9¿Ü"SŸKÿ1»)Ñûc6mYÌÐò?²èPrFÿeÓ¿9釬ëéÎCÙÌAûŬLjÇk6ðq6Ž}™ùÞ½ødãF>Œ0°yö眰f_ÏLûâH!—ý+¢€-"r¯r\f÷[=™}ùAŠ%îcëoñׄq{°Ã÷†s˜üDŒ0zúQ° WsªÑÆ™ÍÓµþ7b õ%Á™ù< Qº@æ›¶ ¹(çÆé²}·x]÷ü¥ñ¾úÿž„Šeâvv“PuU® vF¼‚ŠP¬X¡L‰ƒØm#¸4˜Ñs>¥î}&Œ–} j9™,Ò,ÆL3c.˹¾ñ®Û—vü–®k»|œèT'e= @:Ž^‚€ÂäsÏú˜¯Û¥ÌëlÂòóRœàcÒN°rþnŠtìD™òÒ~7üƒ}±~wšx{ ò¹N ѧ“0•ö» Y´ýúrŠùì,gY< €õÇ.Y³ïßc+rÐÙÕ3_6s[Ÿ¶Ó9ì ×ôÆLDäž\^)B‹7Þ Öñ© ]t”4ŒÕìDØùÙLXú#Q —9µgŸ…E§m0àûpK‰[Τåñ„µ©Œ.Bˆ3=»‡¾ž¬Ù¿x{ãS±Xs÷U ¹/ÇFJš²mß­]×aÙÉ”Y›9Kä·ñöòdj<F~Ç3½¨'%›µ!ô×YÌÚx‚8K ‡–½Ã”•§ðð6æ ýWÛ{}¨ ®×‘Šg?bò‡¹”t™cf2í§žlUšœý‘7eZ· Àþw™²ö.ÅEñÃâÉ,>cǃþ;\×ÓóçàÕØs+ó óþQÀ‘«7€u:¶9—?ÊìCÉ‚ê3jJ¼× ¥mý'ˆ½Â=§1Øœƒß#´ªâF’OMZ?â›»PSw0=Ëì¤ãZ4h=Õ>íéUËÆÒ¹öÑÜÿh9ž!„Uõfm÷§þ½c6íËóuSÁ«è“4w.¥O‹F´¹ƒB=ÞeDÝ Œ¸>–’LßèÙ/Ð0¼ ýÖä§Ç¤þT6eSûõí½.b‡´`ÜäXÑæuÑmöyŒJçr÷ ?¯2]™:ªgßïJÓFÏ2áH}[DzíßœôCvõÌû¼f4ó:<³î_‘é›ED$‡,xã)FºOà‹‘¢ç(dHÞó*-§Vdþg]¹áá#.©4å.^ÀPˆˆHvœÖx.þ¶š¹;|­Mk›1›Ã¨Û¢ £>ùž{öçÚÎ,"¢~?ö$ßBR1®Y+¦I»mmN?1—¶õ±Ï’ó6$ïy•ú?!Ò–óò®}ýßhçídZB§º½Ù•t/zCŸþ+uø¸ëf#"rI;ƪÕg3þÛñ3Ÿïˆ¦y‡¢¸ÝB‘n~Òè©æüZÃ?[ÝìÊþÿ¼ögÌþ`nŸÁ|}?Æ-nJù ;­aÚÈWäþs:•Àã.l¶[¡:ôR™Òžÿ¿å]÷ºMEÈ?C+Ø""÷Ëo_°þ"ä«RŸÀo_nåœ pÆóÍ€Z˜Íõñ}ÆZ²ýÜ:™Í˜ÛÎã¤5Ÿ?yNj`6› «ß†¾ïíæ’ì‰°iåZ¾üæ,é™­X;²>÷*{ì^f½ØœšÕjÐôùÑ|yÔ‚“ì˾î¸õsžy‰ I@Âz4íÅè§«a6×áõ}ËeŽØ¼fÆÜê=ŽZ¯-ÉÊÑY­2Vö¯ýçñ««¦’®fâK­©ÿ˜síft<—=Ñ…¤™B3³™Çz,`Á°†™©Þè&m»p%³Y‰úf¯´kÀcf3µ[½Ì¤õ§Is¤ñÛ¤¦˜Íf:-‹âÆEiGü¾;W¦ÝÚQ­D~òù¤Tç6¨ùÏG“â¼Z¿/Ó¥µÌfoÚ•ñ«O\9v]i.~ÎÆ_ßÍ¡»ú„™kÐø™á,9œ€#ý4ŸöêËW£ø¬{{FÈäw Î4"7LâÅVu¨f6V·-æýD‚í"«º×¤Å”߸º&lZÎs5Ú1ÿdzÖç9Àû-L\Æqk¯uõ—1éØñnwš×4V¿>ÚO¬=ëòþ~=ùÆvÆðã›hôÆÿv%ýÔ|Ú‡gþ›Ÿ¤Ýý¿qþD|Æ9;€˜ýóС!ÕÍaÔkÝ‹éÛÎauf¬è>×|8ëVO {«:˜«ÕãéÑk8cÍŸÚ"YءϮ8°ŸÍS×̧ôsiS£3_F;2úoížoV sµzD¼±:ÛkÙÎ,¢S«Ñ¬ÿêM"¶cæÑÔœÕ+«¹“‡:(`‹ˆÈ“3‘C+¶r™4íٛΕ pì+6F¦ƒÁŸGÛÔÀD"û7#—ÚŸ@©V Ép2¯ÎØÌ1¿tèÒ‰ϱçãaLÚŸýïy“dnê…lrL?˜ñFåa=럳E­dÈ௠è:›õ›>cdøyÞ0•ƒé¡<ûþ Z.J§V0Úlºù=TÌVƾµ•"/ÈÚm›X:¦&'ç½Ë¦¿‚x¼uâwlá´5#h^صŠS÷·¥q ¬Ïs±u)»sR#—±ÊЉ÷Ön勱õ‰ùxoný‹l7CyÜØÎ<Ô¼:ìßÀŸ)éœÝ²Ž åÚR£àÍñÉ·Ötv8ÀønÝxP«S]‚ÝÀ~a-Ã}†³ÍVmßÀœ!l1€OOf¤}û¥-Ìþ®<ÖlbÓü®ømÊœ_,9WÜCx<¼‘;Žàtwx?—Œpjçï$9\>´› Åb.hÄ™|…‡ª2æóml^Ðÿí3˜w8%Ûk9.lbÚÚütž8ŽrV/ÌçN^ë €-""ÿ½|ÿËv&AHSžªpµ:˜q'’ÕëNbÅ€å6Ôò…Øo·q*5‰Ã›àäZÕ/‚{`ú ÉäIƒèP»21£òôIDAT¢/¥dsãs@Nν¯³ßËÈ s™Ö*?$lbÑ÷ñ¹»©< *^œwÀ=€ûBƒ)V³-fwˆß·…“©þÜrTJЬQ(ž7Üó?ÒŠg;?O»ªiüø“<+óê´—)çe'zó<¶%AÑ.³˜9¼/Æ}À¸ÚÞ½†e¿^“°ÊÂù“?m:}s">‰_-'šÉËÏ¿ÌèqÏB,ë>9@‚Ó“2=æ³nÓ*¦6/|óÙ³ç~ÁôgJ·óCw¨Cí¦è7q9c퀃¸= Øáû Cž3SÄ?’õzòZC߬;FÚ5c‘õÏáèº%}°7}›”¥@PIj½0†q}à ÌÁ(j1fŧ¼Þä! ûzãmòÃÇ`á²ÅIÇž¢|Ü6¶œ¶‚=šoV¡Lûúqsuž=×Ê8Ç-_}ô¬GÉÀî«Ñ¡íýù~Ù~âòðqS¹T³íaãñTH?Ãæõ1TjW Wé)õ(Ÿ Çï ßaL‹¢¸cçÂö¥*ÖAí+QØ/ˆ2M_¡oåó|µêi€Ó­mz4¥T>/‚Ê7 þ}éü•lËá¸xR"ü1òý¹ƒc)Éü¹+š²Ï¶"øäNާ$ñûŽ3×{œwÀ³4Ͽܘ’&Oò?NxÑtb,éÙ^Ëa(JÇ=iZå~ÜX˜Ãze!u¸“h¶ˆÈ=ÁAìÞeìMìGY4îMÜ’p¢Ö}ÍŸÝSÁ·"­ÃýÙ´îv #òʶ¢nQO|.{µm '¼…ͧ0¡9ý¡Ÿ ìÏõ¼¿"E<|¸¿J1Xu™¿Î%`àW‘ò‡Ñ.Ì“ý{v³ýÏÆX÷ÇC‰NËŸ‹'Æšˆ©D1LWx'¼Eñ+¡1›€m´qfó4F­ÿC ÅC}Ipf¬Åƒ£u… ÌÙ~–|ö±æüÃt/”q}çååZîJìeø;x†v2¡8S£ùýHéÃÎæNœ¼o(ÍÆfÖ—¯SɇŒ•úòMèÖó «ºïãhRw b*÷,˶!ؘñ†*ùÌ1¢½B1¥¿R’~Yþ\쟛°ü|'ø€´¬œ¿›"Ÿå1S6oÞ¶dàÒ`FÏù”º÷™0Zö1¨åä«ïrk]wænæ{Ïo¸ôèË<–ߘýyy¹sœè4'¥= €• ü…¡@QüÜÎä%aópËG±LÜÀNÃnª j@V£m%òËáŒØU‰QŸFPÊ‹¿ûÝ?Øëw§‰·× Ÿà´}: Si¿+AÌp%d^ËÕx…rÓ˜䉇™½a nŽŠ +ù %JÅñѦM¤9«ðz)oˆ †Læk6×J;~MÎe½2ý3‘‡:Üaåj‹ˆˆÈ=Àvn+Ÿÿâ„/²|oÆ>Ѿgó„êxp™­_& 0•{’úApnë^â(OëÚÁ¸áÄžîÒ8²öSæLÉyW²3»í9<7r=ûŒbÜë/ñêªËÔ’ ×1ºãå$býú‰µð¯Ü–&ˆZ¿(JѲAñ›ŸºáL`ï;XxÈo¦BÚ.–.\ÈÂÏ6ð§ÅHHîÔÍQ úÐoüL¦Žèň)Áó³»õ›¨Ô©ÁIJyñJv}¿‹/g¼Áø)ï³3Õ/ƒ•?çv¥Y£V¼ºöâM{…MÚP;ý+^c!;‹äbÌEÎüº…ùÓב\© •üÕìDØùÙLXú#Q —9µgŸ…E§m×ô¡«Ÿ3r³6„þ:‹YOg‰áвw˜²òÞW£‚”´Ì×驨=üðõÄ`½ÈþÅóØŸŠÅêŒVkÃÃ>cò'1„u¨ÂÕŒêú<òp-p$ï`êûÛ8Kä_‘J½çÂÈñdº¶|nÉ#qË™´<ž°6•ñ7d>Ï“~ÀÀ±´›4œzÝ® ŽÁõ:RñìGLþâ0—’.slÃL¦ý“­Jãå"¢ål\¯VÕŸŠîçÌòåD•ªI¨åêáÄg_q©ü”õqs~­\Ö+›¹skå*`‹ˆÈ¿&È _p(Ö°þ5«·mÁ#n¸ós&8ÁçAZ5,”q¸bkj»Þ”ï>”ƒHüa%+÷;©ût9ŒÀ™}G²ÙÛš³s=+ü±r!‹¿¹Lh½—˜ñ~wÊùd»\‡é‘>¼76‚‡ã·2wÆ6\,Këaó™Ø"7œ¤Ççbl’l7íx6Öbäü±4vlgZÿš5nFÇWfq0ôefNjGqw0ÕgÔ”.x¯JÛúO1z;…{Nc°9ßõe¹ø9’LßèÙ/Ð0¼ ýÖä§Ç¤þT6ž!„Uõfm÷§þ½åæ`Tw0=Ëì¤ãZ4h=Õ>íéUËÆÒ9˜Æ@3m*§å^‡v•|s|^¦!ÌÕ9©à[©/í‹èÝ¢ÞÜCñ>Ó\Ý?g-“vü¡U7’|jÒúß,NLá÷å_rÒrŒù/„SíêSDâ€ÜBZ0nr¬èGóºè6û< ÆN¥ó®ŸA˜Óqý»oª4 $P¢vY|1R òããFùÆÈîSn®•«z¹œ;·ÒÞÿ6ƒÓétêæ#""w³„½xbÐ~JXÉ¢NÅoië‰Ük,xã)FºOà‹‘Þq[äß¡=Ø""r÷rÄñë–•,ÿèvCEÚÖ+¢p-9æ´Æs騿îð¤Áûå®E[DD„ôs¬›>‹õ)¡„÷}¦!Š×’s)¿Láù>{)Ún/”óV‡HŽi‹ˆˆˆˆˆÈ?HrQÀQÀQÀll¹sØÎ,"¢~?ö$Cú‰¹´­?ˆ}–[(0õãšµbÊ‘4à*ó_ê›%ómßzD,>‹íÆ#{^¥~ÇOˆ´ÝÚõÿ?Æ §íuÝvW²î‘;™žƒ-""·Ì­Pú ©LiÏÿv™¹´‚-"r/p¦¹a/¶ªC5³™°ºm0ï'+¨Otþ„¯§¼D«Úfª7ìÈkŸüL|6Ç®eý–&.ã¸ÀÆ_ßÍ¡»ú„™kÐø™á,9œ€ÃU=¬§ù´W_¾ºÅgÝÛ3ú€å†2íÄìŸÇ€ ©n£^ë^Lßv«ìQKx®ùpÖ­ž@÷Vu0W«ÇÓ£×pÆzCØ"YءϮ8°ŸÍSf3–Ea'c¸MÎ|yÁšåµ¬ÇÞ§Mãüpu•Øz‚9m1ìû–©œZ÷]›ÕÄÖ€¯-æ×$GÖã“~ïv§yM3aõÛ1à£ýÄÚ$ý’1]šQËlæñ¦]¿ú)™|ƒÅµýå²OìÙ9£7O†›1›kÐìÅ)ì¸h‡ô›ÇÀռɚ‹:ç¶_D°EDä¿Ê³•±om¥È˲vÛ&–Ž©ÉÉyï²ébF¸Iþõ=YÛ3}ÕV>S‡‹s^eÜ®8ÙËŒ=j%CM@×Ù¬ßô#ÃÏóþ€©´¸¨Gì}<ûþ Z.J§V0Ú|ý—RÛ/¬eø Ïp¶™Âªí˜Ó#„-#ðéÉŒm¿´…Ùß•gØ’Mlšß¿­S™óË ¡×=„Çà ¹ã Nq‡÷sɧvþN’ÓÁåC»¹P¼!Ú6¸¼VN¤þ>—þcvS¢÷ÇlÚ²˜¡ådÑ¡d²úf·ÔÈe¬2tâ½µ[ùbl}b>Ä›[ÿ¿—·ûÌà\øVlÛÂ’×*pðí>L?h!»o‰ËªO÷N`Ô×Þtž½Ž­kgóŒa%oÍ<ˆÅ#ô¦1ÈnÞd:×\Ô9%—ý"¢€-""ÿY†€ZŒYñ)¯7yˆÂ¾Þx›üð1X¸l±gÜ LµèÛ«÷ç xn i—=Ÿí'ÞÕ±LSQ:§×-á能éÛ¤,‚JRë…1ŒëN Îlë‘ETäÂö¥*ÖAí+QØ/ˆ2M_¡oåó|µêi€Ó­mz4¥T>/‚Ê7 þ}éü•|cô¤DøcäûsÇR’ùsW4eŸmEðÉOIâ÷g®†aWÖ×ÊYÄNåèWk¸üØú7+KU: â™âYM»[¾ú èY’ÜW£CÛûóý²ï8ùívø>ÃçÌñ¤d½ž¼ÖÐÆ7뎑Ý.é¬úÄèî1=žèèxA‰˜¶Šƒ+â‡y“I¼&nOVu>Ì/¹ì‘;•ö`‹ˆÜ ÛhãÌæiŒZÿ1†@Їú’à4üïf¿!Þ†¿ƒhÈC…pî‰&Ñæâ˜ÝÉ•lÄIÄT¢¦«K8žÅ oQüJVv]¬vBt"žEJx5‹L-éKrTBƇã<òtõ–fÈrõÈ»t*;Ç³çØŸ¤¤N·&œÜ0‘ý'þ 樉êÝ‹º%›k]c3YÉ·“BÀÅ1ýÝm…)[Ø“íYÝŒ ”&ØëÚ>.ŒqÏΟ‰!5òcº6^òw›ìiɸ×HžݠgÑ'ù†ñÁˆe,þ´͇$S¼v;º¼Ø…&þž¹ž7™U|TVuŽ'.-wý"¢€-""ÿQb·dàÒ`FÏù”º÷™0Zö1¨åäÿÅâËljNuRÖÓ¤sáè%(L>÷¬ùº]ÊäZnø›°ü|'ø€´¬œ¿›";Qæ×õÈœþÁ¾X¿;M¼½ùܧ…èÓI˜Jû]¹‘0rЦyâ¡DfoØ‚›£"ÃJ>H‰Rq|´iiÎ*¼^*_ö×r:þªÓcˆ¼l»©¾Å|‰?v‹³,žÀz‰c—²^ÿN9Ntš“Ò?Ì…?þÂP 8E‹b*÷,˶!ؘ1–ÉgŽíŠ)û·U™ô‰ƒä³§H)Ý‘Ñó{0Úr–}Ÿ cÈ€B¿z ¹œ7™Žá¬êŒåãÜõ‹ÈJ[DDDîÎôTì~øzb°^dÿâyìOÅbÍØçá°ìdʬÍ%òÛx{y25ž#¿‹c™ZOJ6kC诳˜µñq–-{‡)+Oáám̶`#%Í~Sh ®×‘Šg?bò‡¹”t™cf2í§žlU¯Üt„ÁŸŠîçÌòåD•ªI¨åêáÄg_q©ü”õq}-S¼ãfó¾H’Óbøqñl¾½éÞ”iÝ‚ûßeÊÚ?¸Å‹'³øŒ¬Þ8’w0õýmœˆ%r÷\ƯH¥ÞsÕ)U«açg3aéD%\æÔž |þ¶aÈã\H<ð.½zOaó‰xR­v0nîׂÿAöãus¬ª™UÝ)ëª_qüºmßMD{lùÏÿUTw0=Ëì¤ãZ4h=Õ>íéUËÆÒ9˜ ^EŸ¤¹s)}Z4¢ÝÈêñ.#êaÄõ±Ìx”Œ`òø†DÏ~†áMè·&?=&õ§²)›zØC«êÍÚîO1ü†§r¸…´`ÜäXÑæuÑmöyŒJçí{,é¼<½î©qMKKÃÛ¶ ©•§óµ[DDD$îÖp «óqI©xzxÞsãêéáA‚Åšçó°EDDD$Kwû¶LÛl¼µˆ¬€-""""òRÀQÀQÀQÀll‘;»º@DDDä6JÞÇÀfÙ›~Ík^…x¸éKŒè×”·ð¥‰)?¡Ã;ÁLýô%ðø7i$¸T/×(È£…½ð3Ø‰ŽŠeù޳¬>oãûzw_t+EÊÊÃ|pá¿ó¥? Ø""""·=ùÓpÜÇ xØìi\>¹YÃÆ1¤Àƒ|Ò­wtã «\†9 ¼Ø·ó ÃÖ[ˆwó¢rÅâôîð,üƒ¯ãœw÷ðj†‹ˆˆˆÜnF¼ü ô °À“<[kýE‘F)<œiDn~Ÿ sÖs0*ƒo jtʈçÁßh#fÿ'¼=uûN§¿l]ž|m?§\®±tHVèÇûÃo_¸ð.Ä#ijìèÕp}…#5ŸÿÂÀR±n~x¹‚%«Žñ•ÅŸþíî£È±¼0ë'zlMæá'ÊòRq7Œùò3°q¾ýˆYé¶.ž— ž)˲61Ï—d„kƒO@–åÜÎ/|× ¶ˆˆˆÈíf‹cmφ¬½æ%·rÝù naܧ ÞX\€xcÁfòÃÛh!Î’FäŽåüYæ%Æ5z€F¨ñü(Þ,zŒ@gƶ gêI¾Ö“UÖ`ê—M(z›÷›xøxâ–L\6[¢ ¤ñÕÆ³lu’¿\(µÒ¢éy ‘ vàÏsÌü#ˆaå}øpkIœ%†_VLbÆêÓxxgÄ:ƒ§ /7#ëõçå2™1kO¶Û5þINK<~k¡|£‡H¹ OŠðd£éœÌâ}É7…ÝË'.ð£1úUñ#ÄÛ÷á­çÊÒ!È€Á͈›ÝF‚Õ nžT©Z³“û•elƒ÷ì˹Ï-Ñ ¶ˆˆˆÈífK`Ó §ØtM$Ë_¶!&ö ¼·ÂûóâöQ nñ9îKS£ã3¼Xc:³‡L¡ö’¼ófãg¼D³Ñ|ï¯K×ñ¯ðˆ‰ë÷»¥åkYÙe2s~ªÌા·éƒ~"üA„¢ô¬Q’Iáø8lœ?™™Ëβ:Æ1ðÆP~™I_yпaiÖóK2ÛwÿÉÌH;)ž§ù¸liÆ÷ &=ÉÂþ¢™¢=ž*Á·GñãCž®„Ïò_™u9·“Áét:5ËEDDDrÏjM»«ÛWkÜ·øùùÝ“c›˜˜Èþ7ëçé\mù)`‹ˆˆˆˆ(`‹ˆˆˆˆ(`‹ˆˆˆˆ(`‹ˆˆˆˆˆ¶ˆˆˆˆˆ¶ˆˆˆˆˆ¶ˆˆˆˆÜµœÇ½×æ[üšl‘<2îÞ(e4ñóñÄšž~Ï«5ÝŠ¿ÉS[DDDävsww‡Ûôä·÷ƒwwF·.Í–ŽÕš†ãXÉv:XÓ­ØÓmLŒ¨”÷þÓW¥‹ˆˆˆÜ›-ý®  F£ñº7G£“è¿øþJH¹'Ʋx_†¶,KØý Ø"""""ÿ‰7)êù¿vë˜bX®üédº/‡¦£Á“ƒ  6`°À`€Á 6l0Ø`°€‡ÁN¢|¤Nw—É€ý\ÏL]º†r?6aIEND®B`‚murano-9.0.0/doc/source/admin/manage_images.rst0000664000175000017500000000020013656750211021505 0ustar zuulzuul00000000000000.. _manage-images: =============== Managing images =============== Build an image ~~~~~~~~~~~~~~ Manage images ~~~~~~~~~~~~~ murano-9.0.0/doc/source/admin/murano_repository.rst0000664000175000017500000000027413656750211022543 0ustar zuulzuul00000000000000.. _murano-repository: ================= Murano repository ================= Use an existing repository ~~~~~~~~~~~~~~~~~~~~~~~~~~ Set up a custom repository ~~~~~~~~~~~~~~~~~~~~~~~~~~ murano-9.0.0/doc/source/admin/murano_policies.rst0000664000175000017500000001032413656750211022130 0ustar zuulzuul00000000000000.. _murano_policies: =============== Murano Policies =============== Murano only uses 2 roles for policy enforcement. Murano allows access by default and uses the admin role for any action that involves accessing data across multiple projects in the cloud. .. glossary:: role:Member User is non-admin to all APIs. role:admin User is admin to all APIs. Sample File Generation ---------------------- To generate a sample policy.yaml file from the Murano defaults, run the oslo policy generation script:: oslopolicy-sample-generator \ --config-file etc/oslo-policy-generator/murano-policy-generator.conf \ --output-file policy.yaml.sample or using tox:: tox -egenpolicy .. note:: In previous OpenStack releases the default policy format was JSON, but now the `recommended format `_ is YAML. .. Merged File Generation ---------------------- This will output a policy file which includes all registered policy defaults and all policies configured with a policy file. This file shows the effective policy in use by the project:: oslopolicy-sample-generator \ --config-file etc/oslo-policy-generator/murano-policy-generator.conf List Redundant Configurations ----------------------------- This will output a list of matches for policy rules that are defined in a configuration file where the rule does not differ from a registered default rule. These are rules that can be removed from the policy file with no change in effective policy:: oslopolicy-list-redundant \ --config-file etc/oslo-policy-generator/murano-policy-generator.conf Policy configuration -------------------- Like each service in OpenStack, Murano has its own role-based access policies that determine who can access objects and under what circumstances. The default implementation for these policies is defined in the service's source code -- under :file:`murano.common.policies`. The default policy definitions can be overridden using the :file:`policy.yaml` file. On each API call the corresponding policy check is performed. :file:`policy.yaml` file can be changed without interrupting the API service. For detailed information on :file:`policy.yaml` syntax, please refer to the `OpenStack official documentation `_ With this file you can set who may upload packages and perform other operations. So, changing ``"upload_package": "rule:default"`` to ``"rule:admin_api"`` will forbid regular users from uploading packages. For reference: - ``"get_package"`` is checked whenever a user accesses a package from the catalog. default: anyone - ``"upload_package"`` is checked whenever a user uploads a package to the catalog. default: anyone - ``"modify_package"`` is checked whenever a user modifies a package in the catalog. default: anyone - ``"publicize_package"`` is checked whenever a user is trying to make a murano package public (both when creating a new package or modifying an existing one). default: admin users - ``"manage_public_package"`` is checked whenever a user attempts to modify parameters of a public package. default: admin users - ``"delete_package"`` is checked whenever a user attempts to delete a package from the catalog. default: anyone - ``"download_package"`` is checked whenever a user attempts to download a package from the catalog. default: anyone - ``"list_environments_all_tenants"`` is checked whenever a request to list environments of all tenants is made. default: admin users - ``"execute_action"`` is checked whenever a user attempts to execute an action on deployment environments. default: anyone .. note:: The package upload wizard in Murano dashboard consists of several steps: The "upload_package" policy is enforced during the first step while "modify_package" is enforced during the second step. Package parameters are modified during package upload. So, please modify both policy definitions together. Otherwise it will not be possible to browse package details on the second step of the wizard. Default Murano Policies ----------------------- .. literalinclude:: ../_static/murano.policy.yaml.sample murano-9.0.0/doc/source/admin/configure_cloud_foundry_service_broker.rst0000664000175000017500000001304513656750211026744 0ustar zuulzuul00000000000000.. _configure_service_broker: ======================================= Murano service broker for Cloud Foundry ======================================= Service broker overview ----------------------- Service broker is a new murano component which implements `Cloud Foundry `_ Service Broker API. This lets users build 'hybrid' infrastructures that are services like databases, message queues, key/value stores, and so on. This services can be uploaded and deployed with murano and made available to Cloud Foundry apps on demand. The result is lowered cost, shorter timetables, and quicker access to required tools — developers can 'self serve' by building any required service, then make it instantly available in Cloud Foundry. Configure service broker ------------------------ Manual installation ~~~~~~~~~~~~~~~~~~~ If you use local murano installation, you can configure and run murano service broker in a few simple steps: #. Change into the murano directory: .. code-block:: console cd ~/murano/murano #. Generate the murano service broker config file. Murano service broker has a common config file for service broker API services. Using tox, generate a sample configuration file: .. code-block:: console tox -e gencfconfig #. Copy the configuration file for further modifications: .. code-block:: console cd ~/murano/murano/etc/murano ln -s murano-cfapi.conf.sample murano-cfapi.conf #. Edit ``murano-cfapi.conf``. Below is an example of the basic settings you may need to configure. .. note:: The example below uses the SQLite database. Edit the **[database]** section to use another database. .. code-block:: ini [DEFAULT] debug = true verbose = true ... [database] backend = sqlalchemy connection = sqlite:///murano_cfapi.sqlite ... [keystone_authtoken] www_authenticate_uri = 'http://%OPENSTACK_HOST_IP%:5000/v3' auth_host = '%OPENSTACK_HOST_IP%' auth_port = 5000 auth_protocol = http admin_tenant_name = %OPENSTACK_ADMIN_TENANT% admin_user = %OPENSTACK_ADMIN_USER% admin_password = %OPENSTACK_ADMIN_PASSWORD% ... [cfapi] tenant = %TENANT_NAME% bind_host = %HOST_IP% bind_port = 8083 auth_url = 'http://%OPENSTACK_HOST_IP%:5000/v3' .. note:: The ``bind_host`` IP should be in the same network as the Cloud Foundry instance. #. Create database tables for murano service broker: .. code-block:: console cd ~/murano/murano tox -e venv -- murano-cfapi-db-manage \ --config-file ./etc/murano/murano-cfapi.conf upgrade #. Launch the murano service broker API in a separate terminal: .. code-block:: console cd ~/murano/murano tox -e venv -- murano-cfapi --config-file ./etc/murano/murano-cfapi.conf .. note:: Run the command in a new terminal as the process will be running in the terminal until you terminate it, therefore, blocking the current terminal. Devstack installation ~~~~~~~~~~~~~~~~~~~~~ It is really easy to enable service broker in your devstack installation. You need simply update your ``local.conf`` with the following: .. code-block:: ini [[local|localrc]] enable_plugin murano https://opendev.org/openstack/murano enable_service murano-cfapi How to use service broker ------------------------- After service broker is configured and started you have nothing to do with service broker from murano side - it is an adapter which is used by Cloud Foundry PaaS. To access and use murano packages through Cloud Foundry, you need to perform following steps: #. Log in to Cloud Foundry instance via ssh. .. code-block:: console ssh -i @ #. Log in to Cloud Foundry itself. .. code-block:: console cf login -a https://api..xip.io -u -p #. Add murano service broker. .. code-block:: console cf create-service-broker http://:8083 #. Enable access to murano packages. .. code-block:: console cf enable-service-access .. warning:: By default, access to all services is prohibited. .. note:: You can use ``service-access`` command to see human-readable list of packages. #. Provision murano service through Cloud Foundry. .. code-block:: console cf create-service 'Apache HTTP Server' default MyApacheInstance -c apache.json .. code-block:: json { "instance": { "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance" }, "keyname": "nstarodubtsev", "assignFloatingIp": "True", "name": "", "availabilityZone": "nova", "image": "1b9ff37e-dff3-4308-be08-9185705dad91" }, "enablePHP": "True" } Known issues ------------ * `Hard to deploy complex apps `_ Useful links ------------ Here is the list of the links for Cloud Foundry documentation which you might need: #. `Cloud Foundry development version launcher `_ #. `How to manage Cloud Foundry service brokers `_ #. `Cloud Foundry CLI docs `_ murano-9.0.0/doc/source/admin/policy_enforcement/0000775000175000017500000000000013656750351022077 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/admin/policy_enforcement/policy_enf_modify.rst0000664000175000017500000000704513656750211026330 0ustar zuulzuul00000000000000Using policy for the base modification of an environment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Congress policies enables a user to define modification of an environment prior to its deployment. This includes: * Adding components, for example, monitoring. * Changing and setting properties, for example enforcing a given zone, flavors, and others. * Configuring relationships within an environment. Use cases examples: * Installation of the monitoring agent on each VM instance by adding a component with the agent and creating relationship between the agent and instance. * Enabling a certified version to all Apache server instances: setting the version property to all Apache applications within an environment to a particular version. These policies are evaluated over data in the form of tables that are Congress data structures. A deployed murano environment must be decomposed to Congress data structures. The further workflow is as follows: * The decomposed environment is sent to Congress for simulation. * Congress simulates whether the resulting state requires modification. * In case the modification of a deployed environment is required, Congress returns a list of actions in the YAML format to be performed on the environment prior to the deployment. For example: .. code-block:: yaml set-property: {object_id: c46770dec1db483ca2322914b842e50f, prop_name: keyname, value: production-key} The example above sets the ``keyname`` property to the ``production-key`` value on the instance identified by ``object_id``. An administrator can use it as an output of the Congress rules. * The action specification is parsed in murano. The given action class is loaded, and the action instance is created. * The parsed parameters are supplied to the action ``__init__`` method. * The action is performed on a given environment (the ``modify`` method). .. _base_mod_rules: Creating base modification rules -------------------------------- This example illustrates how to configure the rule enforcing all VM instances to deploy with a secure key pair. This may be required in a production environment. .. warning:: Before you create rules, configure your OpenStack environment as described in :ref:`policyenf_setup`. **Procedure:** #. To create the ``predeploy_modify`` rule, run: .. code-block:: console congress policy rule create murano_system 'predeploy_modify(eid, obj_id, action):-murano:objects(obj_id, pid, type), murano_env_of_object(obj_id, eid), murano:properties(obj_id, "keyname", kn), concat("set-property: {object_id: ", obj_id, first_part), concat(first_part, ", prop_name: keyname, value: production-key}", action)' The command above contains the following information: .. code-block:: console predeploy_modify(eid, obj_id, action) :- murano:objects(obj_id, pid, type), murano:objects(eid, tid, "io.murano.Environment"), murano:connected(eid, pid), murano:properties(obj_id, "keyname", kn), concat("set-property: {object_id: ", obj_id, first_part), concat(first_part, ", prop_name: keyname, value: production-key}", action) Policy validation engine checks the ``predeploy_modify`` rule. And the Congress engine evaluates the rules referenced inside this rule. .. note:: The ``production-key`` key pair must already exist, though you can use any other existing key pair. #. Deploy the environment. Instances within the environment are deployed with the specified key pair. .. seealso:: * :ref:`policy_enf_rules` murano-9.0.0/doc/source/admin/policy_enforcement/policy_enf_setup.rst0000664000175000017500000001214413656750211026175 0ustar zuulzuul00000000000000.. _policyenf_setup: Setting up policy enforcement ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Before you use the policy enforcement feature, configure Murano and Congress properly. .. note:: This article does not cover Murano and Congress configuration options useful for Murano application deployment, for example, DNS setup, floating IPs, and so on. **To enable policy enforcement, complete the following tasks:** #. In Murano: * Enable the ``enable_model_policy_enforcer`` option in the ``murano.conf`` file: .. code-block:: ini [engine] # Enable model policy enforcer using Congress (boolean value) enable_model_policy_enforcer = true * Restart murano-engine. #. Verify that Congress is installed and available in your OpenStack environment. See the details in the `Congress official documentation `_. #. `Install the congress command-line client `_ as any other OpenStack command-line client. #. For Congress, configure the following policies that policy enforcement uses during the evaluation: * ``murano`` policy It is created by the Congress` murano datasource driver, which is a part of Congress. Configure it for the OpenStack project (tenant) where you plan to deploy your Murano application. Datasource driver retrieves deployed Murano environments and populates Congress' murano policy tables. See :ref:`policyenf_dev` for details. Remove the existing ``murano`` policy and create a new ``murano`` policy configured for the ``demo`` project, by running: .. code-block:: console # remove default murano datasource configuration, because it is using 'admin' project. We need 'demo' project to be used. openstack congress datasource delete murano openstack congress datasource create murano murano --config username="$OS_USERNAME" --config tenant_name="demo" --config password="$OS_PASSWORD" --config auth_url="$OS_AUTH_URL" * ``murano_system`` policy It holds the user-defined rules for policy enforcement. Typically, the rules use tables from other policies, for example, murano, nova, keystone, and others. Policy enforcement expects the ``predeploy_errors`` table here that is available on the ``predeploy_errors`` rules creation. Create the ``murano_system`` rule, by running: .. code-block:: console # create murano_system policy openstack congress policy create murano_system # resolves objects within environment openstack congress policy rule create murano_system 'murano_env_of_object(oid,eid):-murano:connected(eid,oid), murano:objects(eid,tid,"io.murano.Environment")' * ``murano_action`` policy with internal management rules. These rules are used internally in the policy enforcement request and stored in a dedicated ``murano_action`` policy that is created here. They are important in case an environment is redeployed. .. code-block:: console # create murano_action policy openstack congress policy create murano_action --kind action # register action deleteEnv openstack congress policy rule create murano_action 'action("deleteEnv")' # states openstack congress policy rule create murano_action 'murano:states-(eid, st) :- deleteEnv(eid), murano:states( eid, st)' # parent_types openstack congress policy rule create murano_action 'murano:parent_types-(tid, type) :- deleteEnv(eid), murano:connected(eid, tid),murano:parent_types(tid,type)' openstack congress policy rule create murano_action 'murano:parent_types-(eid, type) :- deleteEnv(eid), murano:parent_types(eid,type)' # properties openstack congress policy rule create murano_action 'murano:properties-(oid, pn, pv) :- deleteEnv(eid), murano:connected(eid, oid), murano:properties(oid, pn, pv)' openstack congress policy rule create murano_action 'murano:properties-(eid, pn, pv) :- deleteEnv(eid), murano:properties(eid, pn, pv)' # objects openstack congress policy rule create murano_action 'murano:objects-(oid, pid, ot) :- deleteEnv(eid), murano:connected(eid, oid), murano:objects(oid, pid, ot)' openstack congress policy rule create murano_action 'murano:objects-(eid, tnid, ot) :- deleteEnv(eid), murano:objects(eid, tnid, ot)' # relationships openstack congress policy rule create murano_action 'murano:relationships-(sid, tid, rt) :- deleteEnv(eid), murano:connected(eid, sid), murano:relationships( sid, tid, rt)' openstack congress policy rule create murano_action 'murano:relationships-(eid, tid, rt) :- deleteEnv(eid), murano:relationships(eid, tid, rt)' # connected openstack congress policy rule create murano_action 'murano:connected-(tid, tid2) :- deleteEnv(eid), murano:connected(eid, tid), murano:connected(tid,tid2)' openstack congress policy rule create murano_action 'murano:connected-(eid, tid) :- deleteEnv(eid), murano:connected(eid,tid)' murano-9.0.0/doc/source/admin/policy_enforcement/policy_enf_rules.rst0000664000175000017500000000614113656750211026167 0ustar zuulzuul00000000000000.. _policy_enf_rules: Creating policy enforcement rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This article illustrates how you can create policy enforcement rules. For testing purposes, create rules that prohibit the creation of instances with the flavor with over 2048 MB of RAM following the procedure below. **Procedure:** #. Verify that you have configured your OpenStack environment as described in :ref:`policyenf_setup`. #. To create the ``predeploy_errors`` rule, run: .. code-block:: console congress policy rule create murano_system "predeploy_errors(eid, obj_id, msg) :- murano:objects(obj_id, pid, type), murano:objects(eid, tid, \"io.murano.Environment\"), murano:connected(eid, pid), murano:properties(obj_id, \"flavor\", flavor_name), flavor_ram(flavor_name, ram), gt(ram, 2048), murano:properties(obj_id, \"name\", obj_name), concat(obj_name, \": instance flavor has RAM size over 2048MB\", msg)" The command above contains the following information: .. code-block:: console predeploy_errors(eid, obj_id, msg) :- murano:objects(obj_id, pid, type), murano:objects(eid, tid, "io.murano.Environment"), murano:connected(eid, pid), murano:properties(obj_id, "flavor", flavor_name), flavor_ram(flavor_name, ram), gt(ram, 2048), murano:properties(obj_id, "name", obj_name), concat(obj_name, ": instance flavor has RAM size over 2048MB", msg) Policy validation engine checks the ``predeploy_errors`` rule, and rules referenced within this rule are evaluated by the Congress engine. In this example, we create the rule that references the ``flavor_ram`` rule we create afterwards. It disables flavors with RAM more than 2048 MB and constructs the message returned to the user in the ``msg`` variable. In this example we use data from policy **murano** which is represented by ``murano:properties``. There are stored rows with decomposition of model representing murano application. We also use built-in functions of Congress: * ``gt`` stands for 'greater-than' * ``concat`` joins two strings into one variable #. To create the ``flavor_ram`` rule, run: .. code-block:: console congress policy rule create murano_system "flavor_ram(flavor_name, ram) :- nova:flavors(id, flavor_name, cpus, ram)" This rule resolves parameters of flavor by flavor name and returns the ``ram`` parameter. It uses the ``flavors`` rule from ``nova`` policy. Data in this policy is filled by the ``nova`` datasource driver. #. Check the rule usage. #. Create an environment with a simple application: - Select an application from the murano applications. - Create a ``m1.medium`` instance, which uses 4096 MB RAM. .. image:: ../figures/new-inst.png :alt: Create new instance :width: 100 % #. Deploy the environment. Deployment fails as the rule is violated: environment is in the ``Deploy FAILURE`` status. Check the deployment logs for details: .. image:: ../figures/deploy-log.png :alt: Deployment log :width: 100 % .. seealso:: * :ref:`base_mod_rules` murano-9.0.0/doc/source/admin/policy_enforcement/policy_enf_dev.rst0000664000175000017500000001337313656750211025620 0ustar zuulzuul00000000000000.. _policyenf_dev: Murano policy enforcement internals ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This section describes internals of the murano policy enforcement feature. Model decomposition ------------------- The data for the policy validation comes from the models of Murano applications. These models are transformed to a set of rules that are processed by Congress. There are several *tables* created in murano policy for different kinds of rules that are as follows: * ``murano:objects(object_id, parent_id, type_name)`` * ``murano:properties(object_id, property_name, property_value)`` * ``murano:relationships(source, target, name)`` * ``murano:connected(source, target)`` * ``murano:parent_types(object_id, parent_type_name)`` * ``murano:states(environment_id, state)`` **murano:objects(object_id, parent_id, type_name)** This rule is used for representation of all objects in Murano model, such as environment, application, instance, and other. Value of the ``type`` property is used as the ``type_name`` parameter: .. code-block:: yaml name: wordpress-env '?': {type: io.murano.Environment, id: 83bff5ac} applications: - '?': {id: e7a13d3c, type: com.example.databases.MySql} The model above transforms to the following rules: * ``murano:objects+("83bff5ac", "tenant_id", "io.murano.Environment")`` * ``murano:objects+("83bff5ac", "e7a13d3c", "com.example.databases.MySql")`` .. note:: The owner of the environment is a project (tenant). **murano:properties(object_id, property_name, property_value)** Each object may have properties. In this example we have an application with one property: .. code-block:: yaml applications: - '?': {id: e7a13d3c, type: com.example.databases.MySql} database: wordpress The model above transforms to the following rule: * ``murano:properties+("e7a13d3c", "database", "wordpress")`` Inner properties are also supported using dot notation: .. code-block:: yaml instance: '?': {id: 825dc61d, type: io.murano.resources.LinuxMuranoInstance} networks: useFlatNetwork: false The model above transforms to the following rule: * ``murano:properties+("825dc61d", "networks.useFlatNetwork", "False")`` If a model contains list of values, it is represented as a set of multiple rules: .. code-block:: yaml instances: - '?': {id: be3c5155, type: io.murano.resources.LinuxMuranoInstance} networks: customNetworks: [10.0.1.0, 10.0.2.0] The model above transforms to the following rules: * ``murano:properties+("be3c5155", "networks.customNetworks", "10.0.1.0")`` * ``murano:properties+("be3c5155", "networks.customNetworks", "10.0.2.0")`` **murano:relationships(source, target, name)** Murano application models may contain references to other applications. In this example, the WordPress application references MySQL in the ``database`` property: .. code-block:: yaml applications: - '?': id: 0aafd67e type: com.example.databases.MySql - '?': id: 50fa68ff type: com.example.WordPress database: 0aafd67e The model above transforms to the following rule: * ``murano:relationships+("50fa68ff", "0aafd67e", "database")`` .. note:: For the ``database`` property we do not create the ``murano:properties+`` rule. If we define an object within other object, they will have relationships between them: .. code-block:: yaml applications: - '?': id: 0aafd67e type: com.example.databases.MySql instance: '?': {id: ed8df2b0, type: io.murano.resources.LinuxMuranoInstance} The model above transforms to the following rule: * ``murano:relationships+("0aafd67e", "ed8df2b0", "instance")`` There are special relationships of ``services`` from the environment to its applications: ``murano:relationships+("env_id", "app_id", "services")`` **murano:connected(source, target)** This table stores both direct and indirect connections between instances. It is derived from ``murano:relationships``: .. code-block:: yaml applications: - '?': id: 0aafd67e type: com.example.databases.MySql instance: '?': {id: ed8df2b0, type: io.murano.resources.LinuxMuranoInstance} - '?': id: 50fa68ff type: com.example.WordPress database: 0aafd67e The model above transforms to the following rules: * ``murano:connected+("50fa68ff", "0aafd67e")`` # WordPress to MySql * ``murano:connected+("50fa68ff", "ed8df2b0")`` # WordPress to LinuxMuranoInstance * ``murano:connected+("0aafd67e", "ed8df2b0")`` # MySql to LinuxMuranoInstance **murano:parent_types(object_id, parent_name)** Each object in murano has a class type. These classes may inherit from one or more parents. For example, ``LinuxMuranoInstance > LinuxInstance > Instance``: .. code-block:: yaml instances: - '?': {id: be3c5155, type: LinuxMuranoInstance} The model above transforms to the following rules: * ``murano:objects+("...", "be3c5155", "LinuxMuranoInstance")`` * ``murano:parent_types+("be3c5155", "LinuxMuranoInstance")`` * ``murano:parent_types+("be3c5155", "LinuxInstance")`` * ``murano:parent_types+("be3c5155", "Instance")`` .. note:: The type of an object is also repeated in its parent types (``LinuxMuranoInstance`` in the example) for easier handling of user-created rules. .. note:: If a type inherits from more than one parent, and these parents inherit from one common type, the ``parent_type`` rule is included only once in the common type. **murano:states(environment_id, state)** Currently only one record for environment is created: * ``murano:states+("uugi324", "pending")`` murano-9.0.0/doc/source/admin/admin_troubleshooting.rst0000664000175000017500000001624513656750211023347 0ustar zuulzuul00000000000000.. _admin-troubleshooting: =============== Troubleshooting =============== Log location ~~~~~~~~~~~~ By default, logs are sent to stdout. Consider how to set up the log files. Murano API + Engine ------------------- To define a file where to store logs, use the ``log_file`` option in the :file:`murano.conf` file. You can provide an absolute or a relative path. To enable a detailed log file configuration, set up :file:`logging.conf`. The example is provided in :file:`etc/murano` directory. The log configuration file location is set with the ``log_config_append`` option in the murano configuration file. Murano applications ------------------- Murano applications have a separate logging handler and a separate file where all logs from application definitions should be provided. Open the :file:`logging.conf` file and check the ``args: ('applications.log',)`` option in the ``handler_applications`` section. Verify that ``log_config_append`` is not empty and set to the :file:`logging.conf` location. Issues during configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~ If any issues occur, first of all verify the following: * All murano components have consistent versions: murano-dashboard and murano-engine should use the same or compatible python-muranoclient version. Dependent component versions can be found in :file:`requirements.txt` file. * The database is synced with code by running: .. code-block:: console murano-db-manage --config-file murano.conf upgrade **Failed to execute `murano-db-manage`** * Make sure the ``--config-file`` option is provided. * Check `connection` parameter in the provided configuration file. It should be a `connection string `_. * Check that MySQL or PostgreSQL (depending of what you provided in the connection string) Python modules are installed on the system. **Applications panel is not seen in horizon** * Make sure that the following files are copied to the ``openstack_dashboard/local/enabled`` directory, and _50_murano.py is copied to ``openstack_dashboard/local/local_settings.d`` directory. * _50_dashboard_catalog.py * _51_muranodashboard.py * _60_panel_group_browse.py * _63_panel_murano_catalog.py * _70_panel_group_manage.py * _71_panel_murano_packages.py * _72_panel_murano_images.py * _73_panel_murano_categories.py * _80_panel_group_applications.py * _81_panel_applications_environments.py * Check that murano data is not inserted twice in the settings file and as a plugin. **Applications panel can be browsed, but 'Unable to communicate to murano-api server.' appears** If you have murano registered in keystone, verify the endpoint URL is valid and service has *application-catalog* name. If you do not want to register the murano service in keystone, just add ``MURANO_API_URL`` option to the horizon local setting. Issues during deployment ~~~~~~~~~~~~~~~~~~~~~~~~ Besides identifying errors from log files, there is another and more flexible way to browse deployment errors -- directly from UI. When the *Deploy Failed* status appears, navigate to :menuselection:`Environment Components` and click the :guilabel:`Latest Deployment Log` tab. You can see steps of the deployment and the one that failed would have red color. **while scanning a simple key in "", line 32, column 3: ...** There is an error in the YAML file format. Before uploading a package, validate your file in an online YAML validator like `YAMLint `_. Later `validation tool `_ to check package closely while uploading will be added. **NoPackageForClassFound: Package for class io.murano.Environment is not found** Verify that murano core package is uploaded. If not, the content of the ``meta/io.murano`` folder should be zipped and uploaded to Murano. **[keystoneclient.exceptions.AuthorizationFailure]:** **Authorization failed: You are not authorized to perform the requested action. (HTTP 403)** The token expires during the deployment. Usually the default standard token lifetime is one hour. The error occurs frequently as, in most cases, a deployment takes longer than that or does not start right after a token is generated. Workarounds: * Use trusts. Only possible in the v3 version. Read more in the `official documentation `_ or `here `_. Do not forget to check the corresponding heat and murano settings. Trusts are enabled by default in murano and heat since Kilo release. In murano, the corresponding configuration option is located in the ``engine`` section: .. code-block:: ini [engine] ... # Create resources using trust token rather than user's token (boolean # value) use_trusts = true If your Keystone runs v2 version, see the solutions below. * Make logout/login to compose a new token and start the deployment again. Would not help for long deployment or if the token lifetime is too small. * Increase the token lifetime in the keystone configuration file. **The murano-agent did not respond within 3600 seconds** * Check transport access to the virtual machine: verify that the router has a gateway. * Check the RabbitMQ settings: verify that the agent has valid RabbitMQ parameters. Go to the spawned virtual machine and open :file:`*/etc/murano/agent.conf` on the Linux-based machine or :file:`C:\\Murano\\Agent\\agent.conf` on the Windows-based machine. Additionally, you can examine agent logs that by default are located at :file:`/var/log/murano-agent.log` The first part of the log file contains reconnection attempts to the RabbitMQ since the valid RabbitMQ address and queue have not been obtained yet. * Verify that the ``driver`` option in ``[oslo_messaging_notifications]`` group is set to ``messagingv2``. **murano.engine.system.agent.AgentException** The agent started the execution plan but something went wrong. Examine agent logs (see the previous paragraph for the logs placement information). Also, try to manually execute the application scripts. **[exceptions.EnvironmentError]: Unexpected stack state NOT_FOUND or UPDATE_FAILED** An issue with heat stack creation, examine the heat log file. Try to manually spawn the instance. If the reason of the stack creation fail is ``no valid host was found``, there might be not enough resources or something is wrong with the nova-scheduler. **Router could not be created, no external network found** Find the ``external_network`` parameter in the ``networking`` section of the murano configuration file and verify that the specified external network does exist through Web UI or by executing the :command:`openstack network list --external` command. **Deployment log in the UI contains incomplete reports** Sometimes logs contain only two messages after the application deployment. There are no messages provided in applications themselves: .. code-block:: console 2015-09-21 11:14:58 — Action deploy is scheduled 2015-09-21 11:16:43 — Deployment finished successfully To fix the issue, set the ``driver`` option in the :file:`murano.config` file to ``messagingv2``. murano-9.0.0/doc/source/admin/deploy_murano/0000775000175000017500000000000013656750351021070 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/admin/deploy_murano/prerequisites.rst0000664000175000017500000001237213656750211024526 0ustar zuulzuul00000000000000=================== System requirements =================== This section provides basic information about the murano environment system requirements. Additionally, it contains a description of the performance test scenario, which you may use to check if your hardware fits the requirements. To do this, run the test and compare the results with the baseline data provided. Software prerequisites ~~~~~~~~~~~~~~~~~~~~~~ Before you install murano, verify your system meets the following prerequisites. **Supported operating systems:** * Ubuntu Server 14.04 LTS * RHEL/CentOS * Debian **System packages for Ubuntu:** * gcc * python-pip * python-dev * libxml2-dev * libxslt-dev * libffi-dev * libpq-dev * python-openssl * mysql-client **System packages for CentOS:** * gcc * python-pip * python-devel * libxml2-devel * libxslt-devel * libffi-devel * postgresql-devel * pyOpenSSL * mysql Hardware requirements ~~~~~~~~~~~~~~~~~~~~~ We recommend that your system meets the following hardware requirements: +------------+--------------------------------+----------------------+ | Criteria | Minimal | Recommended | +============+================================+======================+ | CPU | 4 core @ 2.4 GHz | 24 core @ 2.67 GHz | +------------+--------------------------------+----------------------+ | RAM | 8 GB | 24 GB or more | +------------+--------------------------------+----------------------+ | HDD | 2 x 500 GB (7200 rpm) | 4 x 500 GB (7200 rpm)| +------------+--------------------------------+----------------------+ | RAID | Software RAID-1 (use mdadm as | Hardware RAID-10 | | | it improves the read | | | | performance almost twice) | | +------------+--------------------------------+----------------------+ Other possible storage configurations: * 1x SSD 500+ GB * 1x HDD (7200 rpm) 500+ GB and 1x SSD 250+ GB (install the system onto the HDD and mount the SSD drive to the directory where the virtual machines images are stored) * 1x HDD (15000 rpm) 500+ GB Testing the performance ~~~~~~~~~~~~~~~~~~~~~~~ We have measured the time required to boot 1 to 5 instances of the Windows operating system simultaneously. You can use this data as the baseline to check if your system is fast enough. .. note:: Use *sysprepped* images for this test to simulate an instance first boot. To reproduce the performance test, proceed with the following steps: #. Prepare a Windows 2012 Standard (with GUI) image in the ``QCOW2`` format. This example uses the ``ws-2012-std.qcow2`` image. #. Verify that there are no KVM processes running on the host: .. code-block:: console ps aux | grep kvm #. Make 5 copies of the Windows image file: .. code-block:: console for i in $(seq 5); do \ cp ws-2012-std.qcow2 ws-2012-std-$i.qcow2; done #. Create the ``start-vm.sh`` script in the directory with the ``.qcow2`` files: .. code-block:: console #!/bin/bash [ -z $1 ] || echo "VM count not provided!"; exit 1 for i in $(seq $1); do echo "Starting VM $i ..." kvm -m 1024 -drive file=ws-2012-std-$i.qcow2,if=virtio -net user -net nic,model=virtio -nographic -usbdevice tablet -vnc :$i & done #. Start ONE instance using the command below (as root) and measure time between the instance launch and the moment when the Server Manager window displays. .. code-block:: console sudo ./start-vm.sh 1 To view the instance desktop, connect with VNC viewer to your host to VNC screen :1 (port 5901). #. Turn off the instance. You may simply kill all KVM processes by running: .. code-block:: console sudo killall kvm #. Start FIVE instances with the command below (as root) and measure time interval between ALL instances launch and the moment when the LAST Server Manager window displays. .. code-block:: console sudo ./start-vm.sh 5 To view VM's desktops, connect with VNC viewer to your host to VNC screens :1 thru :5 (ports 5901-5905). #. Turn off the instances. You may simply kill all KVM processes by running: .. code-block:: console sudo killall kvm Baseline data ------------- The table below provides the baseline data that was received in our test murano environment. +--------------------------+--------------------------+---------------------+ | | Boot ONE instance | Boot FIVE instances | +==========================+==========================+=====================+ | Avg. Time | 3m:40s | 8m | +--------------------------+--------------------------+---------------------+ | Max. Time | 5m | 20m | +--------------------------+--------------------------+---------------------+ **Avg. Time** Refers to the environment with the recommended hardware configuration **Max. Time** Refers to the minimal hardware configuration Host optimizations ------------------ You can improve your default KVM installation performance with the following optimizations up to 30%: * Change the default scheduler from **CFQ** to **Deadline** * Use **ksm** * Use **vhost-net** murano-9.0.0/doc/source/admin/deploy_murano/install_manually.rst0000664000175000017500000002545213656750211025175 0ustar zuulzuul00000000000000.. _install_manually: ======================= Install murano manually ======================= Before you install Murano, verify that you completed the following tasks: #. Install software prerequisites depending on the operating system you use as described in the System prerequisites section. .. TODO (OG): add ref to System prerequisites when it is ready #. Install tox: .. code-block:: console sudo pip install tox #. Install and configure a database. Murano can use various database types on back end. For development purposes, use SQLite. For production installations, consider using MySQL database. .. warning:: Murano supports PostgreSQL as well. Though, use it with caution as it has not been thoroughly tested yet. Before you can use MySQL database, proceed with the following: #. Install MySQL: .. code-block:: console apt-get install mysql-server #. Create an empty database: Replace %MURANO_DB_PASSWORD% with the actual password. For example, 'admin'. .. code-block:: console mysql -u root -p mysql> CREATE DATABASE murano; mysql> GRANT ALL PRIVILEGES ON murano.* TO 'murano'@'localhost' \ IDENTIFIED BY %MURANO_DB_PASSWORD%; mysql> exit; Install the API service and engine ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #. Create a folder to which all murano components will be stored: .. code-block:: console mkdir ~/murano #. Clone the murano git repository to the management server: .. code-block:: console cd ~/murano git clone https://opendev.org/openstack/murano #. Create the configuration file. Murano has a common configuration file for API and engine services. #. Generate a sample configuration file using tox: .. code-block:: console cd ~/murano/murano tox -e genconfig #. Create a copy of ``murano.conf`` for further modifications: .. code-block:: console cd ~/murano/murano/etc/murano cp murano.conf.sample murano.conf #. Edit the ``murano.conf`` file. An example below contains the basic configuration. .. note:: The example uses MySQL database. If you want to use another database type, edit the ``[database]`` section correspondingly. Replace items in "%" with the actual values. For example, replace %RABBITMQ_SERVER_IP% with 127.0.0.1. So, the complete row with the replaced value will be rabbit_host = 127.0.0.1 .. code-block:: ini [DEFAULT] debug = true verbose = true rabbit_host = %RABBITMQ_SERVER_IP% rabbit_userid = %RABBITMQ_USER% rabbit_password = %RABBITMQ_PASSWORD% rabbit_virtual_host = %RABBITMQ_SERVER_VIRTUAL_HOST% ... [database] connection = mysql+pymysql://murano:%MURANO_DB_PASSWORD%@127.0.0.1/murano ... [keystone] auth_url = 'http://%OPENSTACK_HOST_IP%:5000' ... [keystone_authtoken] www_authenticate_uri = 'http://%OPENSTACK_HOST_IP%:5000' auth_host = '%OPENSTACK_HOST_IP%' auth_port = 5000 auth_protocol = http admin_tenant_name = %OPENSTACK_ADMIN_TENANT% admin_user = %OPENSTACK_ADMIN_USER% admin_password = %OPENSTACK_ADMIN_PASSWORD% ... [murano] url = http://%YOUR_HOST_IP%:8082 [rabbitmq] host = %RABBITMQ_SERVER_IP% login = %RABBITMQ_USER% password = %RABBITMQ_PASSWORD% virtual_host = %RABBITMQ_SERVER_VIRTUAL_HOST% [networking] default_dns = 8.8.8.8 # In case OpenStack neutron has no default # DNS configured [oslo_messaging_notifications] driver = messagingv2 #. Create a virtual environment and install murano prerequisites using **tox**. The virtual environment will be created under the ``tox`` directory. #. Install MySQL driver since it is not a part of the murano requirements: .. code-block:: console tox -e venv -- pip install PyMYSQL #. Create database tables for murano: .. code-block:: console cd ~/murano/murano tox -e venv -- murano-db-manage \ --config-file ./etc/murano/murano.conf upgrade #. Launch the murano API in a separate terminal: .. code-block:: console cd ~/murano/murano tox -e venv -- murano-api --config-file ./etc/murano/murano.conf .. note:: Run the command in a new terminal as the process will be running in the terminal until you terminate it, therefore, blocking the current terminal. #. Leaving the API process running, return to the previous console and import murano core library and other libraries from the `meta` directory: .. code-block:: console cd ~/murano/murano/meta/ for i in */; do pushd ./"$i"; zip -r ../../"${i%/}.zip" *; popd; done cd .. tox -e venv -- murano --os-username %OPENSTACK_ADMIN_USER% \ --os-password %OPENSTACK_ADMIN_PASSWORD% \ --os-auth-url http://%OPENSTACK_HOST_IP%:5000 \ --os-project-name %OPENSTACK_ADMIN_TENANT% \ --murano-url http://%MURANO_IP%:8082 \ package-import --is-public *.zip rm *.zip #. Launch the murano engine in a separate terminal: .. code-block:: console cd ~/murano/murano tox -e venv -- murano-engine --config-file ./etc/murano/murano.conf .. note:: Run the command in a new terminal as the process will be running in the terminal until you terminate it, therefore, blocking the current terminal. Register in keystone ~~~~~~~~~~~~~~~~~~~~ To make the murano API available to all OpenStack users, you need to register the Application Catalog service within the Identity service. #. Add the ``application-catalog`` service to keystone: .. code-block:: console openstack service create --name murano --description \ "Application Catalog for OpenStack" application-catalog #. Provide an endpoint for this service: .. code-block:: console openstack endpoint create --region RegionOne --publicurl 'http://%MURANO_IP%:8082/' \ --adminurl 'http://%MURANO_IP%:8082/' --internalurl 'http://%MURANO_IP%:8082/' \ %MURANO_SERVICE_ID% where ``MURANO-SERVICE-ID`` is the unique service number that can be found in the :command:`openstack service create` output. .. note:: URLs (``--publicurl``, ``--internalurl``, and ``--adminurl`` values) may differ depending on your environment. Install the murano dashboard ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This section describes how to install and run the murano dashboard. #. Clone the repository with the murano dashboard: .. code-block:: console cd ~/murano git clone https://opendev.org/openstack/murano-dashboard #. Clone the ``horizon`` repository: .. code-block:: console git clone https://opendev.org/openstack/horizon #. Create a virtual environment and install ``muranodashboard`` as an editable module: .. code-block:: console cd horizon tox -e venv -- pip install -e ../murano-dashboard #. Prepare local settings. .. code-block:: console cp openstack_dashboard/local/local_settings.py.example \ openstack_dashboard/local/local_settings.py For more information, check out the official `horizon documentation `_. #. Enable and configure Murano dashboard in the OpenStack Dashboard: * For the Newton (and later) OpenStack installations, copy plug-in file local settings files, and policy files: .. code-block:: console cp ../murano-dashboard/muranodashboard/local/enabled/*.py \ openstack_dashboard/local/enabled/ cp ../murano-dashboard/muranodashboard/local/local_settings.d/*.py \ openstack_dashboard/local/local_settings.d/ cp ../murano-dashboard/muranodashboard/conf/* openstack_dashboard/conf/ * For the OpenStack installations prior to the Newton release, run: .. code-block:: console cp ../murano-dashboard/muranodashboard/local/_50_murano.py \ openstack_dashboard/local/enabled/ Customize local settings of your horizon installation, by editing the ``openstack_dashboard/local/local_settings.py`` file: .. code-block:: python ... ALLOWED_HOSTS = '*' # Provide your OpenStack Lab credentials OPENSTACK_HOST = '%OPENSTACK_HOST_IP%' ... DEBUG_PROPAGATE_EXCEPTIONS = DEBUG Change the default session back end from browser cookies to database to avoid issues with forms during the applications creation: .. code-block:: python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'murano-dashboard.sqlite', } } SESSION_ENGINE = 'django.contrib.sessions.backends.db' #. (Optional) If you do not plan to get the murano service from the keystone application catalog, specify where the ``murano-api`` service is running: .. code-block:: python MURANO_API_URL = 'http://%MURANO_IP%:8082' #. (Optional) If you have set up the database as a session back end (this is done by default with murano local_settings file starting with Newton), perform database migration: .. code-block:: console tox -e venv -- python manage.py migrate --noinput Since a separate user is not required for development purpose, you can reply ``no``. #. Run Django server at ``127.0.0.1:8000`` or provide a different ``IP`` and ``PORT`` parameters: .. code-block:: console tox -e venv -- python manage.py runserver .. note:: The development server restarts automatically on every code change. **Result:** The murano dashboard is available at ``http://IP:PORT``. Import murano applications ~~~~~~~~~~~~~~~~~~~~~~~~~~ To fill the application catalog, you need to import applications to your OpenStack environment. You can import applications using the murano dashboard, as well as the command-line client. To import applications using CLI, complete the following tasks: #. Clone the murano apps repository: .. code-block:: console cd ~/murano git clone https://opendev.org/openstack/murano-apps #. Import every package you need from this repository by running the following command: .. code-block:: console cd ~/murano/murano pushd ../murano-apps/Docker/Applications/%APP-NAME%/package zip -r ~/murano/murano/app.zip * popd tox -e venv -- murano --murano-url http://%MURANO_IP%:8082 package-import app.zip **Result:** The applications are imported and available from the application catalog. murano-9.0.0/doc/source/admin/deploy_murano/configure_ssl.rst0000664000175000017500000000706513656750211024467 0ustar zuulzuul00000000000000============= Configure SSL ============= Murano components can work with SSL. This section provides information on how to set SSL properly. Configure SSL for Murano API ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To configure SSL for the Murano API service, modify the ``[ssl]`` section in ``/etc/murano/murano.conf``: .. code-block:: ini [ssl] cert_file = key_file = ca_file = .. list-table:: :widths: 10 25 :header-rows: 1 * - Parameter - Description * - ``cert_file`` - A path to the certificate file the server should use when binding to an SSL-wrapped socket. * - ``key_file`` - A path to the private key file the server should use when binding to an SSL-wrapped socket. * - ``ca_file`` - A path to the CA certificate file the server should use to validate client certificates provided during an SSL handshake. This parameter is ignored if the ``cert_file`` and ``key_file`` parameters are not set. Murano API starts using SSL automatically after you point to the HTTPS protocol instead of HTTP during the registration of the Murano API service in endpoints, modifying the ``publicurl`` argument to start with ``https://``. SSL for Murano API is implemented the same way as in any other OpenStack component. See `ssl python module `_ for details. Configure SSL for RabbitMQ ~~~~~~~~~~~~~~~~~~~~~~~~~~ All murano components communicate with each other using RabbitMQ. By default, all messages in RabbitMQ are not encrypted. You can encrypt this interaction with SSL. Configure each RabbitMQ exchange separately. Murano API <-> RabbitMQ <-> Murano engine ----------------------------------------- Modify the ``[default]`` section in the ``/etc/murano/murano.conf`` file: #. Enable SSL for RabbitMQ: .. code-block:: ini # connect over SSL for RabbitMQ (boolean value) rabbit_use_ssl = true #. Set the ``kombu`` parameters. Specify the paths to the SSL key file and SSL CA certificate in a regular ```` format without quotes or leave them empty to enable self-signed certificates: .. code-block:: ini # SSL version to use (valid only if SSL enabled). valid values # are TLSv1, SSLv23 and SSLv3. SSLv2 may be available on some # distributions (string value) kombu_ssl_version = # SSL key file (valid only if SSL enabled) (string value) kombu_ssl_keyfile = # SSL cert file (valid only if SSL enabled) (string value) kombu_ssl_certfile = # SSL certification authority file (valid only if SSL enabled) # (string value) kombu_ssl_ca_certs = Murano agent -> RabbitMQ ------------------------ To encrypt the communication between the murano agent and RabbitMQ, set ``ssl = True`` in the ``[rabbitmq]`` section of ``/etc/murano/murano.conf``: .. code-block:: ini [rabbitmq] ... ssl = True insecure = False If you want to configure the murano agent differently, you need to change the `default template `_ located in the murano core library. After you finish with the template modification, verify that you zip and re-upload the murano core library. Configure SSL for the Dashboard ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you do not plan to use self-signed certificates, no additional configurations are required. Just point your web browser to the URL starting with ``https://``. Otherwise, set the ``MURANO_API_INSECURE`` parameter to ``True`` in ``/etc/openstack-dashboard/local_settings.py``. murano-9.0.0/doc/source/admin/deploy_murano/devstack.rst0000664000175000017500000000361713656750211023430 0ustar zuulzuul00000000000000============================== Integrate murano with DevStack ============================== You can install murano with DevStack. The `murano/devstack`_ directory in the murano repository contains the files necessary to integrate murano with `DevStack`_. To install the development version of an OpenStack environment with murano, proceed with the following steps: #. Download DevStack: .. code-block:: console git clone https://opendev.org/openstack/devstack cd devstack #. Edit ``local.conf`` to enable murano DevStack plug-in: .. code-block:: console > cat local.conf [[local|localrc]] enable_plugin murano https://opendev.org/openstack/murano #. If you want to enable Murano Cloud Foundry Broker API service, add the following line to ``local.conf``: .. code-block:: ini enable_service murano-cfapi #. If you want to use Glare Artifact Repository as a strorage for packages, add the following line to ``local.conf``: .. code-block:: ini enable_service g-glare For more information on how to use Glare Artifact Repository, see :ref:`glare_usage`. #. (Optional) To import murano packages when DevStack is up, define an ordered list of FQDN packages in ``local.conf``. Verify that you list all package dependencies. These packages will be imported from the ``murano-apps`` git repository by default. For example: .. code-block:: ini MURANO_APPS=com.example.apache.Tomcat,com.example.Guacamole To configure the git repository that will be used as the source for the imported packages, configure the ``MURANO_APPS_REPO`` and ``MURANO_APPS_BRANCH`` variables. #. Run DevStack: .. code-block:: console ./stack.sh **Result:** Murano has installed with DevStack. .. Links .. _DevStack: https://docs.openstack.org/devstack/latest/ .. _murano/devstack: https://opendev.org/openstack/murano/src/branch/master/devstack murano-9.0.0/doc/source/admin/policy_enf.rst0000664000175000017500000000357713656750211021103 0ustar zuulzuul00000000000000.. _policy_enf: ================================= Policy enforcement using Congress ================================= Policies are defined and evaluated in the Congress_ project. The policy language for Congress is Datalog. The congress policy consists of the Datalog rules and facts. Examples of policies are as follows: * Minimum 2 GB of RAM for all VM instances. * A certified version for all Apache server instances. * Data placement policy: all database instances must be deployed at a given geographic location enforcing some law restriction on data placement. These policies are evaluated over data in the form of tables (Congress data structures). A deployed Murano environment must be decomposed to the Congress data structures. The decomposed environment is sent to Congress for simulation. Congress simulates whether the resulting state violates any defined policy: deployment is aborted in case of policy violation. Murano uses two predefined policies in Congress: * ``murano_system`` contains rules and facts of policies defined by the cloud administrator. * ``murano`` contains only facts/records reflecting the resulting state after the deployment of an environment. Records in the ``murano`` policy are queried by rules from the ``murano_system`` policy. The Congress simulation does not create any records in the ``murano`` policy, and only provides the feedback on whether the resulting state violates the policy or not. As a part of the policy guided fulfillment, you need to enforce policies on a murano environment deployment. If the policy enforcement fails, the deployment fails as well. .. _Congress: https://wiki.openstack.org/wiki/Congress This section contains the following subsections: .. toctree:: :maxdepth: 2 policy_enforcement/policy_enf_setup policy_enforcement/policy_enf_rules policy_enforcement/policy_enf_dev policy_enforcement/policy_enf_modify murano-9.0.0/doc/source/admin/murano_agent.rst0000664000175000017500000001421213656750211021417 0ustar zuulzuul00000000000000.. _murano-agent: ============ Murano agent ============ Murano easily installs and configures necessary software on new virtual machines. Murano agent is one of the main participants of these processes. Usually, it is enough to execute a single script to install a simple application. A more complex installation requires a deep script result analysis. For example, we have a cross-platform application. The first script determines the operation system and the second one calls an appropriate installation script. Note, that installation script may be written in different languages (the shell for Linux and PowerShell for Windows). Murano agent can easily handle this situation and even more complicated ones. So murano agent operates not with scripts, but with execution plans, which are minimum units of the installation workflow. Murano-agent on a new VM ~~~~~~~~~~~~~~~~~~~~~~~~ Earlier most of the application deployments were possible only on images with pre-installed murano agent. You can refer to :ref:`corresponding documentation ` on building an image with murano-agent. Currently murano-agent can be automatically installed by cloud-init. To deploy an application on an image with pre-installed cloud-init you should mark the image with Murano specific metadata. More information about preparing images can be found :ref:`here `. This type of installation has some limitations. The image has to have pre-installed python 2.7. Murano-agent is installed from PyPi so the instance should have connectivity with the Internet. Also it requires an installation of some python packages, e.g. python-pip, python-dev, python-setuptools, python-virtualenv, which are also installed by cloud-init. Interaction with murano-engine ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ First of all, communication between murano-agent and murano engine should be established. The communication is performed through AMQP protocol. This type of communication is preferable (for example, compared to SSH) because it is: * Durable * To establish the connection, there is no need to wait until the instance is spawned. Murano-agent, on its turn, does not need to wait for a murano-engine task. * Messages can be sent to RabbitMQ asynchronously. * The connection does not depend on network issues. And moreover, there is no way to physically connect to the virtual machine if floating IP is not set. * It is possible to reload the instance and change network parameters during the deployment. * Reliable If one instance of murano-engine fails in the middle of the deployment, another one picks up the messages from the queue and continue the deployment. Right after application author calls the :command:`deploy` method of the class, inherited from *io.murano.resources.Instance*, new murano-agent configuration file starts forming in accordance with the values specified in the ``[rabbitmq]`` murano configuration file section. A script that runs through cloud-init copies a new file to the right place during the instance booting. Execution plans and execution plan templates ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ It was already mentioned that murano-agent recognizes execution plans. These instructions contain scripts with all the required parameters The application package author provides the execution plan templates together with scripts code. During the deployment it is complemented with all required parameters (including user-input). For more information on execution plan templates, refer to :ref:`Execution plan template `. Take a look at the muranoPL code snippet. The``EtcdAddMember`` template expects *name* and *ip* parameters. The first line shows that these parameters are passed to the template, and the second one shows that the template is sent to the agent: .. code-block:: console - $template: $resources.yaml('EtcdAddMember.template').bind(dict( name => $.instance.name, ip => $.getIp() )) - $clusterConfig: $._cluster.masterNode.instance.agent.call($template, $resources) Beside the simple agent call, there is a method that enables sending an already prepared execution plan (not a template). The main difference between template and full execution plan is in the ``files`` section. Prepared execution plan contains file contents and name by which they are reachable. So it is not required to provide the resources argument: .. code-block:: console ..instance.agent.callRaw($plan) Also, there are ``instance.agent.call($template, $resources)`` and ``..instance.agent.sendRaw($plan)`` methods which have the same meaning but indicate the engine not to wait for the script execution result. The default agent call response time (with the corresponding method call) is set in murano configuration file and equals to one hour. Take a look at the ``engine`` section: .. code-block:: console [engine] # Time for waiting for a response from murano-agent during the # deployment (integer value) agent_timeout = 3600 .. note:: Murano-agent is able to run different types of scripts, such as powershell, python, bash, chef, and puppets. Moreover, it has a mechanism for extending supported formats and that is why murano agent is called ``unified`` To use puppet a deployment workflow, configure an execution plan as follows: #. Set correct version of format: ``FormatVersion >=2.1.0``. Previous formats does not support puppet execution. #. Use corresponding type In the script section, script item should have ``Type: Puppet`` #. Provide entry-point class Use puppet syntax ``EntryPoint: mysql::server`` .. note:: You can use scripts directly from git or svn repositories: .. code-block:: console Files: - mysql: https://github.com/nanliu/puppet-staging.git A script output is available in the murano-agent log file. This file is located on the spawned instance at :file:`/etc/murano/agent.conf` on a Linux-based machine, or :file:`C:\\Murano\\Agent\\agent.conf` on a Windows-based machine. You can also refer to murano-agent log if there is no connectivity with murano-engine (check if RabbitMQ settings are updated) or to track deployment execution. murano-9.0.0/doc/source/admin/prepare_lab.rst0000664000175000017500000001256013656750211021220 0ustar zuulzuul00000000000000======================== Prepare a lab for murano ======================== This section provides basic information about lab's system requirements. It also contains a description of a test which you may use to check if your hardware fits the requirements. To do this, run the test and compare the results with baseline data provided. .. _system_prerequisites: System prerequisites ~~~~~~~~~~~~~~~~~~~~ Supported operating systems --------------------------- * Ubuntu Server 12.04 LTS * RHEL/CentOS 6.4 **System packages are required for Murano** *Ubuntu* * gcc * python-pip * python-dev * libxml2-dev * libxslt-dev * libffi-dev * libpq-dev * python-openssl * mysql-client Install all the requirements on Ubuntu by running:: sudo apt-get install gcc python-pip python-dev \ libxml2-dev libxslt-dev libffi-dev \ libpq-dev python-openssl mysql-client *CentOS* * gcc * python-pip * python-devel * libxml2-devel * libxslt-devel * libffi-devel * postgresql-devel * pyOpenSSL * mysql Install all the requirements on CentOS by running:: sudo yum install gcc python-pip python-devel libxml2-devel \ libxslt-devel libffi-devel postgresql-devel pyOpenSSL \ mysql .. _lab_requirements: Lab requirements ---------------- +------------+--------------------------------+-----------------------+ | Criteria | Minimal | Recommended | +============+================================+=======================+ | CPU | 4 core @ 2.4 GHz | 24 core @ 2.67 GHz | +------------+--------------------------------+-----------------------+ | RAM | 8 GB | 24 GB or more | +------------+--------------------------------+-----------------------+ | HDD | 2 x 500 GB (7200 rpm) | 4 x 500 GB (7200 rpm) | +------------+--------------------------------+-----------------------+ | RAID | Software RAID-1 (use mdadm as | Hardware RAID-10 | | | it will improve read | | | | performance almost two times) | | +------------+--------------------------------+-----------------------+ `Table: Hardware requirements` There are a few possible storage configurations except the shown above. All of them were tested and were working well. * 1x SSD 500+ GB * 1x HDD (7200 rpm) 500+ GB and 1x SSD 250+ GB (install the system onto the HDD and mount the SSD drive to folder where VM images are) * 1x HDD (15000 rpm) 500+ GB Test your lab host performance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ We have measured time required to boot 1 to 5 instances of Windows system simultaneously. You can use this data as the baseline to check if your system is fast enough. You should use sysprepped images for this test, to simulate VM first boot. Steps to reproduce test: #. Prepare Windows 2012 Standard (with GUI) image in QCOW2 format. Let's assume that its name is ws-2012-std.qcow2 #. Ensure that there is NO KVM PROCESSES on the host. To do this, run command: .. code-block:: console ps aux | grep kvm #. Make 5 copies of Windows image file: .. code-block:: console for i in $(seq 5); do \ cp ws-2012-std.qcow2 ws-2012-std-$i.qcow2; done #. Create script start-vm.sh in the folder with .qcow2 files: .. code-block:: console #!/bin/bash [ -z $1 ] || echo "VM count not provided!"; exit 1 for i in $(seq $1); do echo "Starting VM $i ..." kvm -m 1024 -drive file=ws-2012-std-$i.qcow2,if=virtio -net user -net nic,model=virtio -nographic -usbdevice tablet -vnc :$i & done #. Start ONE instance with command below (as root) and measure time between VM's launch and the moment when Server Manager window appears. To view VM's desktop, connect with VNC viewer to your host to VNC screen :1 (port 5901): .. code-block:: console sudo ./start-vm.sh 1 #. Turn VM off. You may simply kill all KVM processes by .. code-block:: console sudo killall kvm #. Start FIVE instances with command below (as root) and measure time interval between ALL VM's launch and the moment when LAST Server Manager window appears. To view VM's desktops, connect with VNC viewer to your host to VNC screens :1 thru :5 (ports 5901-5905): .. code-block:: console sudo ./start-vm.sh 5 #. Turn VMs off. You may simply kill all KVM processes by .. code-block:: console sudo killall kvm Baseline data ~~~~~~~~~~~~~ The table below provides baseline data which we've got in our environment. +----------------+--------------------------+---------------------+ | | Boot 1 instance | Boot 5 instances | +================+==========================+=====================+ | Avg. Time | 3m:40s | 8m | +----------------+--------------------------+---------------------+ | Max. Time | 5m | 20m | +----------------+--------------------------+---------------------+ ``Avg. Time`` refers to the lab with recommended hardware configuration, while ``Max. Time`` refers to minimal hardware configuration. Host optimizations ~~~~~~~~~~~~~~~~~~ Default KVM installation could be improved to provide better performance. The following optimizations may improve host performance up to 30%: * change default scheduler from ``CFQ`` to ``Deadline`` * use ``ksm`` * use ``vhost-net`` murano-9.0.0/doc/source/admin/manage_categories.rst0000664000175000017500000000012413656750211022372 0ustar zuulzuul00000000000000.. _manage-categories: =================== Managing categories =================== murano-9.0.0/doc/source/admin/manage_packages.rst0000664000175000017500000000542213656750211022031 0ustar zuulzuul00000000000000.. _manage-packages: ================= Managing packages ================= Managing packages on engine side ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To get access to the contents of murano packages, ``murano-engine`` queries ``murano-api``. However, it is also possible to specify a list of directories that may contain packages locally. This option is useful to speed up debugging and development of packages and/or to save bandwidth between the API and the engine. If local directories are specified, they are examined before querying the API. Local package directories ------------------------- To define a list of directories where the engine would look for package files, set the ``load_packages_from`` option in the ``engine`` section of the :file:`murano.conf` configuration file. This option can be set to a comma-separated list of directory paths. Whenever an engine needs to access a package, it would inspect these directories first, before accessing ``murano-api``. API package cache ----------------- If the package was not found in any of the ``load_packages_from`` directories, or if none were specified, then ``murano-engine`` queries API for package contents. Whenever ``murano-engine`` downloads a package from API, it stores and unpacks it locally. The engine uses the directory defined in the ``packages_cache`` option in the ``engine`` section of the :file:`murano.conf` configuration file. If it is not used, a temporary directory is created. The ``enable_packages_cache`` option in the same section defines whether the packages would persist on disk or not. When set to ``False``, each package downloaded from API is stored in a separate directory, that will be deleted after the deployment (or action) is over. This means that every deployment or action execution needs to download all the packages it requires, regardless of any packages previously downloaded by the engine. When set to ``True`` (default), the engine shares downloaded packages between deployments and action executions. This means that packages persist on disk and have to be eventually deleted. Therefore, whenever the engine requires a package and that package is not found locally, the engine downloads the package. Afterwards, it checks all the previously cached packages with the same FQN and same version. If the cached package is not required by any ongoing deployment, it gets deleted. Otherwise, it stays on disk until a new version is downloaded. .. note:: On UNIX-based operating systems, murano uses ``fcntl`` for IPC locks that support both shared and exclusive locking. On Windows, ``msvcrt`` is used. It does not support shared file locks. Therefore, enabling package cache mechanism under Windows might result in performance decrease, since only one process would be able to use one package at the same time. murano-9.0.0/doc/source/admin/index.rst0000664000175000017500000000066313656750211020054 0ustar zuulzuul00000000000000.. index:: Murano Administrator Guide .. _admin-guide: Deploying Murano ~~~~~~~~~~~~~~~~ .. toctree:: :maxdepth: 2 deploy_murano prepare_lab murano_policies manage_packages manage_images manage_categories murano_repository murano_agent policy_enf using_glare.rst net_configuration configure_cloud_foundry_service_broker admin_troubleshooting appdev-guide/developer_index config-wsgi murano-9.0.0/doc/source/admin/net_configuration.rst0000664000175000017500000000746513656750211022471 0ustar zuulzuul00000000000000===================== Network configuration ===================== Murano may work in various networking environments and is capable of detecting the current network configuration and choosing appropriate settings automatically. However, some additional actions are required to support advanced scenarios. Nova-network support ^^^^^^^^^^^^^^^^^^^^ Nova-network is the simplest networking solution, which has limited capabilities but is available on any OpenStack deployment without the need to deploy any additional components. When a new murano environment is created, murano checks if a dedicated networking service, for example, neutron, exists in the current OpenStack deployment. It relies on the Identity service catalog for that. If such a service is not present, murano automatically falls back to nova-network. No further configuration is needed in this case, all the VMs spawned by Murano will be joining the same network. Neutron support ^^^^^^^^^^^^^^^ If neutron is installed, murano enables its advanced networking features that give you the ability to avoid configuring networks for your application. By default, it creates an isolated network for each environment and joins all VMs needed by your application to that network. To install and configure the application in a newly spawned virtual machine, murano also requires a router to be connected to the external network. Automatic neutron configuration +++++++++++++++++++++++++++++++ To create the router automatically, provide the following parameters in the configuration file: .. code-block:: ini [networking] external_network = %EXTERNAL_NETWORK_NAME% router_name = %MURANO_ROUTER_NAME% create_router = true To figure out the name of the external network, run :command:`openstack network list --external`. During the first deployment, the required networks and router with a specified name will be created and set up. Manual neutron configuration ++++++++++++++++++++++++++++ To configure neutron manually, follow the steps below. #. Create a public network. #. Log in to the OpenStack dashboard as an administrator. #. Verify the existence of external networks. For this, navigate to :menuselection:`Project > Network > Network Topology`. #. Check the network type in network details. For this, navigate to :menuselection:`Admin > Networks` and see the :guilabel:`Network name` section. Alternatively, run the :command:`openstack network list --external` command using CLI. #. Create a new external network as described in the `OpenStack documentation `_. .. image:: figures/network-topology-1.png :alt: Network Topology page :width: 630 px #. Create a local network. #. Navigate to :menuselection:`Project > Network > Networks`. #. Click :guilabel:`Create Network` and fill in the form. #. Create a router. #. Navigate to :menuselection:`Project > Network > Routers`. #. Click :guilabel:`Create Router`. #. In the :guilabel:`Router Name` field, enter *murano-default-router*. If you specify a name other than *murano-default-router*, change the following settings in the configuration file: .. code-block:: ini [networking] router_name = %SPECIFIED_NAME% create_router = false #. Click :guilabel:`Create router`. #. Click the newly created router name. #. In the :guilabel:`Interfaces` tab, click :guilabel:`Add Interface`. #. Specify the subnet and IP address. .. image:: figures/add-interface.png :alt: Add Interface dialog :width: 630 px #. Verify the result in :menuselection:`Project > Network > Network Topology`. .. image:: figures/network-topology-2.png :alt: Network Topology page :width: 630 px murano-9.0.0/doc/source/admin/deploy_murano.rst0000664000175000017500000000031413656750211021613 0ustar zuulzuul00000000000000================ Deploying murano ================ .. toctree:: :maxdepth: 2 deploy_murano/prerequisites deploy_murano/devstack deploy_murano/install_manually deploy_murano/configure_ssl murano-9.0.0/doc/source/_templates/0000775000175000017500000000000013656750351017260 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/_templates/sidebarlinks.html0000664000175000017500000000046113656750211022614 0ustar zuulzuul00000000000000

    Useful Links

    {% if READTHEDOCS %} {% endif %} murano-9.0.0/doc/source/configuration/0000775000175000017500000000000013656750351017772 5ustar zuulzuul00000000000000murano-9.0.0/doc/source/configuration/config-options.rst0000664000175000017500000000064413656750211023461 0ustar zuulzuul00000000000000========================================================= Configuration options for the Application Catalog service ========================================================= The following options can be set in the ``/etc/murano/murano.conf`` config file. .. only:: html A :doc:`sample configuration file ` is also available. .. show-options:: :config-file: etc/oslo-config-generator/murano.conf murano-9.0.0/doc/source/configuration/sample_policy.rst0000664000175000017500000000152413656750211023361 0ustar zuulzuul00000000000000==================== Murano Sample Policy ==================== The following is a sample murano policy file that has been auto-generated from default policy values in code. If you're using the default policies, then the maintenance of this file is not necessary, and it should not be copied into a deployment. Doing so will result in duplicate policy definitions. It is here to help explain which policy operations protect specific murano APIs, but it is not suggested to copy and paste into a deployment unless you're planning on providing a different policy for an operation that is not the default. If you wish build a policy file, you can also use ``tox -e genpolicy`` to generate it. The sample policy file can also be downloaded in `file form <../_static/murano.policy.yaml.sample>`_. .. literalinclude:: ../_static/murano.policy.yaml.sample murano-9.0.0/doc/source/configuration/index.rst0000664000175000017500000000025613656750211021631 0ustar zuulzuul00000000000000=================== Configuration Guide =================== .. only:: html .. toctree:: :maxdepth: 1 config-options sample_config sample_policy murano-9.0.0/doc/source/configuration/sample_config.rst0000664000175000017500000000100113656750211023315 0ustar zuulzuul00000000000000=========================== Murano Configuration Sample =========================== The following is a sample murano configuration for adaptation and use. It is auto-generated from murano when this documentation is built, so if you are having issues with an option, please compare your version of murano with the version of this documentation. .. only:: html The sample configuration can also be downloaded in `file form <../_static/murano.conf.sample>`_. .. literalinclude:: ../_static/murano.conf.sample murano-9.0.0/requirements.txt0000664000175000017500000000331613656750212016341 0ustar zuulzuul00000000000000# The order of packages is significant, because pip processes them in the order # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. pbr!=2.1.0,>=2.0.0 # Apache-2.0 Babel!=2.4.0,>=2.3.4 # BSD SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT stevedore>=1.20.0 # Apache-2.0 alembic>=0.8.10 # MIT eventlet!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0,>=0.18.2 # MIT PasteDeploy>=1.5.0 # MIT Routes>=2.3.1 # MIT tenacity>=4.4.0 # Apache-2.0 WebOb>=1.7.1 # MIT kombu!=4.0.2,>=4.0.0 # BSD psutil>=3.2.2 # BSD netaddr>=0.7.18 # BSD PyYAML>=3.12 # MIT jsonpatch!=1.20,>=1.16 # BSD keystoneauth1>=3.4.0 # Apache-2.0 keystonemiddleware>=4.17.0 # Apache-2.0 testtools>=2.2.0 # MIT yaql>=1.1.3 # Apache 2.0 License debtcollector>=1.2.0 # Apache-2.0 cryptography>=2.1 # BSD/Apache-2.0 # For paste.util.template used in keystone.common.template Paste>=2.0.2 # MIT jsonschema>=2.6.0 # MIT python-keystoneclient>=3.8.0 # Apache-2.0 python-heatclient>=1.10.0 # Apache-2.0 python-neutronclient>=6.7.0 # Apache-2.0 python-muranoclient>=0.8.2 # Apache-2.0 python-congressclient<2000,>=1.9.0 # Apache-2.0 python-mistralclient!=3.2.0,>=3.1.0 # Apache-2.0 oslo.db>=4.27.0 # Apache-2.0 oslo.config>=5.2.0 # Apache-2.0 oslo.concurrency>=3.26.0 # Apache-2.0 oslo.context>=2.19.2 # Apache-2.0 oslo.policy>=1.30.0 # Apache-2.0 oslo.messaging>=5.29.0 # Apache-2.0 oslo.middleware>=3.31.0 # Apache-2.0 oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0 oslo.service!=1.28.1,>=1.24.0 # Apache-2.0 oslo.utils>=3.33.0 # Apache-2.0 oslo.i18n>=3.15.3 # Apache-2.0 oslo.log>=3.36.0 # Apache-2.0 oslo.upgradecheck>=0.1.0 # Apache-2.0 semantic-version>=2.8.2 # BSD castellan>=0.16.0 # Apache-2.0 murano-9.0.0/murano_tempest_tests/0000775000175000017500000000000013656750351017342 5ustar zuulzuul00000000000000murano-9.0.0/murano_tempest_tests/README.rst0000664000175000017500000000015513656750212021026 0ustar zuulzuul00000000000000===== MOVED ===== The murano tempest plugin has moved to http://opendev.org/openstack/murano-tempest-plugin murano-9.0.0/setup.cfg0000664000175000017500000000472713656750351014711 0ustar zuulzuul00000000000000[metadata] name = murano summary = Murano API description-file = README.rst license = Apache License, Version 2.0 author = OpenStack author-email = openstack-discuss@lists.openstack.org home-page = https://www.openstack.org/software/releases/mitaka/components/murano python-requires = >=3.6 classifier = Development Status :: 5 - Production/Stable Environment :: OpenStack Intended Audience :: Developers Intended Audience :: Information Technology License :: OSI Approved :: Apache Software License Operating System :: OS Independent Programming Language :: Python Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: 3 :: Only Programming Language :: Python :: 3 Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 [files] packages = murano data_files = etc/murano = etc/murano/murano-cfapi-paste.ini etc/murano/murano-paste.ini [entry_points] console_scripts = murano-api = murano.cmd.api:main murano-engine = murano.cmd.engine:main murano-manage = murano.cmd.manage:main murano-db-manage = murano.cmd.db_manage:main murano-cfapi-db-manage = murano.cmd.cfapi_db_manage:main murano-test-runner = murano.cmd.test_runner:main murano-cfapi = murano.cmd.cfapi:main murano-status = murano.cmd.status:main wsgi_scripts = murano-wsgi-api = murano.httpd.murano_api:init_application oslo.config.opts = murano = murano.opts:list_opts keystone_authtoken = keystonemiddleware.opts:list_auth_token_opts murano.cfapi = murano.opts:list_cfapi_opts castellan.config = castellan.options:list_opts oslo.config.opts.defaults = murano = murano.common.config:set_middleware_defaults oslo.policy.policies = murano = murano.common.policies:list_rules murano_policy_modify_actions = remove-object = murano.policy.modify.actions.default_actions:RemoveObjectAction add-object = murano.policy.modify.actions.default_actions:AddObjectAction set-property = murano.policy.modify.actions.default_actions:SetPropertyAction remove-relation = murano.policy.modify.actions.default_actions:RemoveRelationAction add-relation = murano.policy.modify.actions.default_actions:AddRelationAction [egg_info] tag_build = tag_date = 0 tag_svn_revision = 0 [compile_catalog] directory = murano/locale domain = murano [update_catalog] domain = murano output_dir = murano/locale input_file = murano/locale/murano.pot [extract_messages] keywords = _ gettext ngettext l_ lazy_gettext mapping_file = babel.cfg output_file = murano/locale/murano.pot murano-9.0.0/contrib/0000775000175000017500000000000013656750351014516 5ustar zuulzuul00000000000000murano-9.0.0/contrib/packages/0000775000175000017500000000000013656750351016274 5ustar zuulzuul00000000000000murano-9.0.0/contrib/packages/EncryptionDemo/0000775000175000017500000000000013656750351021233 5ustar zuulzuul00000000000000murano-9.0.0/contrib/packages/EncryptionDemo/Classes/0000775000175000017500000000000013656750351022630 5ustar zuulzuul00000000000000murano-9.0.0/contrib/packages/EncryptionDemo/Classes/EncryptionDemo.yaml0000664000175000017500000000047513656750211026454 0ustar zuulzuul00000000000000Namespaces: =: com.paul std: io.murano res: io.murano.resources Name: EncryptionDemo Extends: std:Application Properties: my_password: Contract: $.string() Methods: deploy: Body: - $reporter: $this.find(std:Environment).reporter - $reporter.report($this, decryptData($.my_password)) murano-9.0.0/contrib/packages/EncryptionDemo/manifest.yaml0000664000175000017500000000027113656750211023720 0ustar zuulzuul00000000000000FullName: com.paul.EncryptionDemo Type: Application Description: Simple app to demonstrate Murano encryption Author: Paul Bourke Classes: com.paul.EncryptionDemo: EncryptionDemo.yaml murano-9.0.0/contrib/packages/EncryptionDemo/UI/0000775000175000017500000000000013656750351021550 5ustar zuulzuul00000000000000murano-9.0.0/contrib/packages/EncryptionDemo/UI/ui.yaml0000664000175000017500000000033113656750211023041 0ustar zuulzuul00000000000000Application: ?: type: com.paul.EncryptionDemo my_password: encryptData($.instanceConfiguration.my_password) Forms: - instanceConfiguration: fields: - name: my_password type: string murano-9.0.0/contrib/glance/0000775000175000017500000000000013656750351015747 5ustar zuulzuul00000000000000murano-9.0.0/contrib/glance/muranoartifact/0000775000175000017500000000000013656750351020766 5ustar zuulzuul00000000000000murano-9.0.0/contrib/glance/muranoartifact/__init__.py0000664000175000017500000000121513656750211023071 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from muranoartifact.v1 import package VERSIONS = [package.MuranoPackage] murano-9.0.0/contrib/glance/muranoartifact/v1/0000775000175000017500000000000013656750351021314 5ustar zuulzuul00000000000000murano-9.0.0/contrib/glance/muranoartifact/v1/package.py0000664000175000017500000000300113656750211023246 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from glance.common.glare import definitions class MuranoPackage(definitions.ArtifactType): __endpoint__ = 'murano' type = definitions.String(allowed_values=['Application', 'Library'], required=True, mutable=False) author = definitions.String(required=False, mutable=False) display_name = definitions.String(required=True, mutable=True) enabled = definitions.Boolean(default=True) categories = definitions.Array(default=[], mutable=True) class_definitions = definitions.Array(unique=True, default=[], mutable=False) inherits = definitions.Dict(default={}, properties=definitions.Array(), mutable=False) keywords = definitions.Array(default=[], mutable=True) logo = definitions.BinaryObject() archive = definitions.BinaryObject() ui_definition = definitions.BinaryObject() murano-9.0.0/contrib/glance/muranoartifact/v1/__init__.py0000664000175000017500000000000013656750211023406 0ustar zuulzuul00000000000000murano-9.0.0/contrib/glance/setup.cfg0000664000175000017500000000132213656750211017561 0ustar zuulzuul00000000000000[metadata] name = murano_artifact_plugin description = An artifact plugin for murano packages author = Alexander Tivelkov author-email = openstack-discuss@lists.openstack.org python-requires = >=3.6 classifier = Development Status :: 3 - Alpha License :: OSI Approved :: Apache Software License Programming Language :: Python Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: 3 :: Only Programming Language :: Python :: 3 Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Intended Audience :: Developers Environment :: Console [entry_points] glance.artifacts.types = MuranoPackage = muranoartifact:VERSIONS murano-9.0.0/contrib/glance/setup.py0000664000175000017500000000145513656750211017461 0ustar zuulzuul00000000000000# Copyright 2011-2012 OpenStack Foundation # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import setuptools # all other params will be taken from setup.cfg setuptools.setup(packages=setuptools.find_packages(), setup_requires=['pbr'], pbr=True) murano-9.0.0/contrib/elements/0000775000175000017500000000000013656750351016332 5ustar zuulzuul00000000000000murano-9.0.0/contrib/elements/docker/0000775000175000017500000000000013656750351017601 5ustar zuulzuul00000000000000murano-9.0.0/contrib/elements/docker/README.md0000664000175000017500000000005413656750211021052 0ustar zuulzuul00000000000000This element install Docker on Ubuntu/CentOSmurano-9.0.0/contrib/elements/docker/install.d/0000775000175000017500000000000013656750351021471 5ustar zuulzuul00000000000000murano-9.0.0/contrib/elements/docker/install.d/56-docker0000775000175000017500000000072413656750211023114 0ustar zuulzuul00000000000000#!/bin/bash set -eu if [ -e /etc/lsb-release ]; then if [ -e /usr/lib/apt/methods/https ]; then apt-get update apt-get install apt-transport-https fi apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 echo "deb https://get.docker.com/ubuntu docker main" > /etc/apt/sources.list.d/docker.list apt-get update apt-get -y install lxc-docker else yum -y install docker fimurano-9.0.0/contrib/elements/kubernetes/0000775000175000017500000000000013656750351020501 5ustar zuulzuul00000000000000murano-9.0.0/contrib/elements/kubernetes/element-deps0000664000175000017500000000000613656750211022775 0ustar zuulzuul00000000000000dockermurano-9.0.0/contrib/elements/kubernetes/README.md0000664000175000017500000000006113656750211021750 0ustar zuulzuul00000000000000This element installs Kubernetes on Ubuntu/CentOSmurano-9.0.0/contrib/elements/kubernetes/install.d/0000775000175000017500000000000013656750351022371 5ustar zuulzuul00000000000000murano-9.0.0/contrib/elements/kubernetes/install.d/57-kubernetes0000775000175000017500000000417213656750211024716 0ustar zuulzuul00000000000000#!/bin/bash install-packages curl wget linux-libc-dev git gcc libc6-dev bridge-utils haproxy SVC_ROOT=/opt/bin ETCD_LATEST_VERSION=$(curl https://github.com/coreos/etcd/releases/latest | awk -F'"' '{ print $2 }' | awk -F'/' '{ print $8 }') ETCD_LATEST_URL="https://github.com/coreos/etcd/releases/download/${ETCD_LATEST_VERSION}/etcd-${ETCD_LATEST_VERSION}-linux-amd64.tar.gz" KUBE_LATEST_VERSION=$(curl https://github.com/GoogleCloudPlatform/kubernetes/releases/latest | awk -F'"' '{ print $2 }' | awk -F'/' '{ print $8 }') KUBE_LATEST_URL="https://github.com/GoogleCloudPlatform/kubernetes/releases/download/${KUBE_LATEST_VERSION}/kubernetes.tar.gz" mkdir -p ${SVC_ROOT} pushd ${SVC_ROOT} # Install latest etcd wget -O ${SVC_ROOT}/etcd-latest.tar.gz $ETCD_LATEST_URL tar xzvf ${SVC_ROOT}/etcd-latest.tar.gz rm -f ${SVC_ROOT}/etcd-latest.tar.gz mv ${SVC_ROOT}/etcd-${ETCD_LATEST_VERSION}-linux-amd64/etcd ${SVC_ROOT}/ mv ${SVC_ROOT}/etcd-${ETCD_LATEST_VERSION}-linux-amd64/etcdctl ${SVC_ROOT}/ rm -rf ${SVC_ROOT}/etcd-${ETCD_LATEST_VERSION}-linux-amd64 # Install latest kubernetes wget -O ${SVC_ROOT}/kubernetes-latest.tar.gz $KUBE_LATEST_URL tar xzvf ${SVC_ROOT}/kubernetes-latest.tar.gz rm -f ${SVC_ROOT}/kubernetes-latest.tar.gz tar xzvf ${SVC_ROOT}/kubernetes/server/kubernetes-server-linux-amd64.tar.gz mv ${SVC_ROOT}/kubernetes ${SVC_ROOT}/kubernetes-latest cp ${SVC_ROOT}/kubernetes-latest/server/bin/* ${SVC_ROOT}/ rm -rf ${SVC_ROOT}/kubernetes-latest # Install Go wget -O go.tar.gz https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz tar xzvf go.tar.gz mv ${SVC_ROOT}/go /usr/local/go export PATH=$PATH:/usr/local/go/bin # Build flannel git clone https://github.com/coreos/flannel flannel pushd ${SVC_ROOT}/flannel ${SVC_ROOT}/flannel/build popd cp ${SVC_ROOT}/flannel/bin/flanneld ${SVC_ROOT}/flanneld rm -rf ${SVC_ROOT}/flannel # Update system PATH sed -i 's/PATH="/PATH="\/opt\/bin:\/opt\/go\/bin:/g' /etc/environment wget -O confd https://github.com/kelseyhightower/confd/releases/download/v0.7.1/confd-0.7.1-linux-amd64 mv confd /usr/local/bin/confd chmod +x /usr/local/bin/confd mkdir -p /etc/confd/{conf.d,templates} popdmurano-9.0.0/contrib/plugins/0000775000175000017500000000000013656750351016177 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/cloudify_plugin/0000775000175000017500000000000013656750351021373 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/cloudify_plugin/cloudify_applications_library/0000775000175000017500000000000013656750351027503 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/cloudify_plugin/cloudify_applications_library/Classes/0000775000175000017500000000000013656750351031100 5ustar zuulzuul00000000000000././@LongLink0000000000000000000000000000015400000000000011215 Lustar 00000000000000murano-9.0.0/contrib/plugins/cloudify_plugin/cloudify_applications_library/Classes/CloudifyApplication.yamlmurano-9.0.0/contrib/plugins/cloudify_plugin/cloudify_applications_library/Classes/CloudifyApplicati0000664000175000017500000000502213656750211034422 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: org.getcloudify.murano std: io.murano csys: io.murano.extensions.cloudify Name: CloudifyApplication Extends: std:Application Methods: .init: Body: - $._client: new(csys:CloudifyClient, app => $this) - $._environment: $.find(std:Environment).require() describe: updateOutputs: Arguments: - outputs: Contract: $.string().notNull(): $ deploy: Body: - If: not $.getAttr(deployed, false) Then: - $info: $.describe() - $._environment.reporter.report($this, 'Checking for TOSCA package') - $._client.publishBlueprint($info.entryPoint) - $._client.createDeployment($info.inputs) - $._environment.reporter.report($this, 'Waiting for deployment initialization') - $._client.waitDeploymentReady() - $._environment.reporter.report($this, 'Installing {0}'.format(name($this))) - $._client.executeWorkflow(install) - $outputs: $._client.waitDeploymentReady() - For: outputName In: $outputs.keys() Do: - $output: $outputs[$outputName] - $._environment.reporter.report($this, $output) - $label: $output.get(description, $outputName) - $value: $output.value - $msg: '{0}: {1}' - $._environment.reporter.report($this, $msg.format($label, $value)) - $.updateOutputs($outputs) - $._environment.reporter.report($this, 'Installation complete') - $.setAttr(deployed, true) .destroy: Body: - If: $.getAttr(deployed, false) Then: - $info: $.describe() - $._client.waitDeploymentReady() - $._environment.reporter.report($this, 'Uninstalling {0}'.format(name($this))) - $._client.executeWorkflow(uninstall) - $._client.waitDeploymentReady() - $._client.deleteDeployment() - $._environment.reporter.report($this, 'Uninstallation complete') - $.setAttr(deployed, false) murano-9.0.0/contrib/plugins/cloudify_plugin/cloudify_applications_library/manifest.yaml0000664000175000017500000000155313656750211032174 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Format: MuranoPL/1.2 Type: Library FullName: org.getcloudify.murano Name: Cloudify applications Description: > Cloudify Murano integration support library Author: Trammell Tags: - Cloudify Classes: org.getcloudify.murano.CloudifyApplication: CloudifyApplication.yaml Require: io.murano.plugins.cloudify: 0murano-9.0.0/contrib/plugins/cloudify_plugin/requirements.txt0000664000175000017500000000003213656750211024645 0ustar zuulzuul00000000000000cloudify-rest-client>=3.2 murano-9.0.0/contrib/plugins/cloudify_plugin/setup.cfg0000664000175000017500000000100213656750211023200 0ustar zuulzuul00000000000000[metadata] name = io.murano.plugins.cloudify description = Murano-Cloudify integration plugin summary = Plugin to deploy Tosca packages via Cloudify Manager with Murano author = Trammell author-email = trammell@gigaspaces.com [files] packages = murano_cloudify_plugin [entry_points] io.murano.plugins.packages = Cloudify.TOSCA/1.0 = murano_cloudify_plugin.cloudify_tosca_package:CloudifyToscaPackage io.murano.extensions = cloudify.CloudifyClient = murano_cloudify_plugin.cloudify_client:CloudifyClient murano-9.0.0/contrib/plugins/cloudify_plugin/nodecellar_example_application/0000775000175000017500000000000013656750351027601 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/cloudify_plugin/nodecellar_example_application/manifest.yaml0000664000175000017500000000160113656750211032264 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Format: Cloudify.TOSCA/1.0 Type: Application FullName: org.getcloudify.muranoapps.examples.NodeCellar EntryPoint: singlehost-blueprint.yaml Name: Node Cellar sample app Description: > A sample application built with Backbone.js, Twitter Bootstrap, Node.js, Express, and MongoDB Author: Trammell Tags: - TOSCA - Cloudify - Sample murano-9.0.0/contrib/plugins/cloudify_plugin/nodecellar_example_application/logo.png0000664000175000017500000014550113656750211031250 0ustar zuulzuul00000000000000‰PNG  IHDRvIO/ pHYs.#.#x¥?v OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFÀlIDATxÚìýpT×ïý~Àĸmlm« XpÊÊãVΘç RÃEÕÑ ˆšÔaf|Ï¡9ö¹5·Æâ™çqÆO%¸™:>ÃܹÈS“{r«œGÍÔaO%…"Fçj".´‘ç€c5¹Bc;4øG³qˆÛ$øèþ±w[$Ñ’úÇÚk¿_U]’1Hk¯µ»wïO¯µ¾sFGGÀ^séÀn„€€åË–#,GXް! `9B@Àr„€€åË–#,GXް! `9B@Àr„€€åË–#,GXް! `9B@Àr„€€åË–#,GXް! `9B@Àr„€€åË–#,GXް! `9B@Àr„€€åË–›G€?­ûñtl—–“T+)ê}–´GÒnº~7ôå'èPq„€ ÒbrC½¸¤EÞG½ÇTž“Ô)É¡ €é!åõqM/è›JXR»¤$Ý L! ˜©¨n]®Û¤±¥¼å²K„€À´€©„uë,¾J}S‰JJˆ ˜B@0™£r—óšæ9Ó2—.“ˆÜ®8ÃL$ì=Lµ‹!ŠG&3¼}qÍ®Ò0(„€`"q´‘Ù€@‘ÀDj}ÐÆ„˜ …L$æ“v>ÇPwG&óI;2»€ `B@p»˜Ú–ÔÁS#·‹ú¬½, î‚Ü.æ³ö†å. 0 B@p»&¶yÃLŽÜ.êÓ6':`b„€àvQŸ¶{;CLŒŒ÷yÛã !p'B@0^Ìçí§R00B@0^­ÏÛß.ÿ.gö›°¤aI]ô9€ùÀx1 ŽJÁå–tÔ;_’.H:(–c‹Œ·àbfZ¹Ôq»Ü`ð¨ŒC ¢K‚á,›.MòÅE`B@PµèXž“»d¥Õ¥âÖ¸ÆÂÀvº º@AÜ¢c Kê`HKªC3›a—»|ø‚˜¡ P5„€ àIËŽg;CZ2 Iûfù3¢rgT! (ˆZx< †uÖrûRŽ a @…€‚˜…Ç´‹aõ9±¯L?;*7 ¼*i·ØÃ ¬€dg(¹ASœáñ9qTåçÂrÃÚ " (B@ ÙJÌœ‰°*Þþ; Ê„Höí8^\ÌœŽ°*Þþû a`—åç&@ÅIj²üø¨\œ°Ü0fH[" ( B@ Ù½Xrä(Ã|W]†ž Ì ! +û¯íÓØÒàÂ#ÌðªKR»ámLh, Œ1dÅ›Gx±€g»Š ¹Ò’ï{GÒ©ÛþÜñ¾·É>¹›_$¼GJÒIžÆS#1º`ÊþhŸäï9 OÉ ¢2rƒ)?IHêðéXÅ5Ø` „€àIº`F«:Ü~ÛÿËxïkZfÎLÈ]Zëg§"ÀÝ€(]P–>j,$,HÉ OyßgªØÆ¸ü¦9ÕŠCâtAEûz|;rÃÀ„•“tЂþt8¥ŠC@°E邪 ëÖ‚%ŽÆBÁn•g¦`LÒQÙQ9Í)Pœ¹t£ Œ–î“tÁ{ty.ÑÏ?(;@IºÆ)PB@‚-F-*·xÇAIW½¯ ÍlgXî À¨Eý“æ(! ÁFe`i—;3ð‚¤aI*>Ô;*ûB_‡S 8„€[”.ð­˜Æ– Ë!žäïvÉÎYŸ)N€âko»Ü™jWǽEƲŠzý|Ðë÷.M]x €À TZX³Û°7ã]*͒ݰÜðýÿ€ÊHû 1Ýü…ºª]oº5ŒÑ-€ "TZ)÷œÍMáQ¹3wkf3sb’†Åþ@%]3´]Q¹[\ð^"ø3MáµØ§1+0„€€JJ¨|Krgzã¾Ë»!<:÷„÷÷¹*+eX{ÚåÎ2» ÷^ü!ª[·ŠˆÓ%€ TJL•Ùp¦âºu¹pû$o·ª³œ€êì klÖßA±ßœßµklfx¯í›Í¥À‡Öýø ?57ìÝdÅ|Ö͹Õ%÷{ßï“Y3À½w­Ö/®;°7*wæp»Šlæx¯û{Tþªò”Ü¿ŸN€*™G* ÚûÎTTîÌïÆ `êìKÚ.>Š°Æ¶®HÊý(E·l@(·„%7Ïa†¨ªŒ÷¼ïº¤¢2rg[® ¦è’i¿N•2LË Rˆyçg]¨B@ÀL¥Åfù¶r4¶×ß<™¢[·²(NX%,^töéç»åîÝ”êüÜ' l*€0»Å²P›8 ÿv‹%¨¦Jkliv’î(JTp‰~Õ¯Qjíby0 Ì³µU,õ;Gc¡ÒnÆÓ72Þ¸-³r‹Si÷1åµ¥•V'è @9f+#¿r46ó/) ?ãn13°í*]èÈ R {ç(…·%G(…N¹û•ÁݺìסK¬Ë„‹‘PéfZ¥Äþ€(ßy:,ö ”!  Tvˆ0É’r Kìf¼¬•ñžžu“é’/ÑÏÚ)öFEyÄÄ>€"”Š#7x€™RrC¡¢àcÉ­Æ-ÑÏb@”KTî>ít`¶¥Ô-–ƙƳ‚.)wö'{wÞ*,7 —àgeè_Tà\MЀ٠”Ú1ëÈI±?\ŽÜ%à " /&i_‰~V§ØåEÁÀ¬JÍ3«-£±e ÝqÒÞ¹±“sãS I%úY<çP‰ó• 0#„€€rH‹¥qÕÒ)f{ódºö©4ű7*Ê/!*f€P.»EÅÌJʈ^àœ™RíØ-–£übr †„é @±åDÅÌÊ賺0srÃÀtÀû!ªÒ-³dY0*!&‚@À4Ê)#–—“#7l lÅl¥åÉï‡v•f@G¥Ûg˜JL€"Ê­S,+‡´ÜÙ[Iº%´S„Ê¥Úp¿¤ÃœR¨€˜E TKãJ+)–o¢|ºåÎ òùÕ¥Ò*ÿ^ÒGœR¨€˜w1.T€#71&A¨¤=r7Þç&pzÒrÀ ]*Hzç`—vÉ ðœYþœÝ’î•´]nX¹áÜ)o¼Òªn”™â5+.7¬zÒûãiVR1&@¨$GîÌ¢£tEÑR¢Pª/-7PèR°›¨J³,ø†¤ÿ$wà¿Wi‚À´÷ú0à}õÓkDJ·Î& Ë ›4bvbÞµ¶®PP›¿=tCQ’b&Ì‘V0 ÒtèÎ=ðfâ¹["”tuÿÞ‘»­ÂI+ä†;;½?óûkDáØvzǵØ;Î$¯³S0—ò&A¨†Ý¢²íÝtz7Á€I¹A`2`Ç]ªjÁïHúk¹³÷>*²¿“rg/ö¾&eÿÖ…ãÞ1î¸;Å–3‘A ÀC¨–b†ÇT}³“n€¡ÍÒ Š¨ÜeÁ³õ?$ýBÒ^I?“ôÛIþ^RcÁß¹³ä‚¬Û{M\¡± ”ëGñ f•oÀm挎ŽÒ àCë~ü† ‡Ñ!i£y‹ …+ð·.+\hP f1רû€¤ß—ôÿô¸Ü½Ó’^’Ë{+%!·ØJœ®ðÏõ%¹?#UÂL@@5uêÖÍá¹A#„ÿÎÙ ÍZ-Õ²Ê_KúÿIzEÒÿ[n¸Ø f¸MWRîòôÞõ„¾›Ú>QtPmT¾u¯:œý+crg0—Âr÷Gý¿‹=Rg+£±åÂ;ÄÞ“ Ë­¦+ ˜Õ戀ð»d€žÇ»TšeTî(íõ$©±00E—Ü!,7! ÀÝ nF[$Œ 0,ö2õËù¸Ñ{¤èŽ[ÄDÅ`$B@€)v*xK¸a›d@Î鄨[Í/R ÓtÇ-çp‚n€`!˜ÂQ°–‚sÛߘ è/)¹ÅWØ3pL—³ P¦Ý¤%pœ"„Ý‚Æ%µ3Ô¾“”»gàQ”J’ŠB!„€“„pS”»ô°ÝÙ¿ü’Ù€þµ[n˜ x?DÅþ€„€“”ªê¦©R¢2‚Åö}Ø¢’:fßr¼×ä öávÎcB@7Ó•‘–´•aFÀ8ÞyïX|Œ¶x)-ª]b@°! À¤[9²?&“‘;ÓÊÖó?,fQÙb·Üâ!é{X, ëL•”°øø¶Šj”¶´ìÞ ó91ЦsµAÁœû\€Õ&°yàN¹KÍ€ KÊ­Œm£°˜ h›Ý æ^r+_,D¨¶¸ì˜”½¡06‡âÌ´OJî¬Àî€wç2؉`³Ҳ{ù#0S¶î³mäxçl^Ï£²{†>!  Ú7í–Þ4î…@€Éž¶VÊf6 ½:åÎ Êëz‡X Ö!T“­3 v*˜Õ%b¥dgá…°˜ h³´¤z}§HX†P-QÙ¹`Ò{˜ÚnÙ¹? ³íæÈ-„×ù˜÷<X‚P-6Î̈}é°qÙ|Xö;‚ËñÎÝ΀\«£ 9ØÀMré° 0=ïyc›çÚ@Øiéù{».†ì@¨† ©Sv.mÊ­Û{Ø$*fERö—E¼ pÕ`Û,™Œì,rTŠ! ³ƒ#)wŸ@Çâc¤HX€Pi Ù·i>Ë€Ùqd߲ʘÜT†´ì£¢Hø!  Òl›Ó)–¥Ð-û–ogX%-»ƒ@*_€Ï*).wvŒ-± (¥²+@IˆÊªA“–½A`X, _#T’m³bX ”VFÒK–S‚a œ´ì "Øß"TJز›á”ì[º˜`·Ü0Ð, ¦´Ü ÐFÌŸ"TJ²ãÙÁ<¿Š•ÔÎRÚÒkE»(z¾D¨› ‚tÊ®™J€iR²k¦-³ƒ+);ƒÀ] -ø!  b²g!G*a§EÇÒ.ªªYRî‡G6‰‹Ù€à;„€€J°iàK¢P Ùœ$Ò@Û)7 ´ ³Àg•ÐnÉqdä-P{dOèÎ’`ì”»O -âb6 ø !  Ü²gË€ÊräξµAÌ{ ØçóVÙ5›ü9†üƒPn_±ä82²o)àb6 ì‘‘Ú¢]öìù Ö#”SXö,f PŽì™ ØÎpBnõk›®)ì >Aà†÷î2b PM²c6`T, †k·Ü0Ð 1|PN¶,f P]Žì™ È’`Ø´?`‚áóÊ%,;ffÄ,@À²#0ig(áqdÏþ€ p£;µ—JÀŽìä£gŸ~>Æp“’pû]XÌãÊņ¥ÀŽ˜˜„%Á°Ñ¹³ÎýŽÙ€`8B@@¹´[p /ÉžýšddG0ßÎPbGÒ Ž#& ß€ÑæÑ€qÂãÞÀǼÿ–¤ZM\ù/ny$9%ãì—ÿ—FÏ>ý|´îÀÞ Ã OJî²àŸÇs²#Ð+@ðÄ5ö½ÂcºeÇò,À6)ï¹é÷׬vÙ±Jgw^D}~^ïT‰fÑ'¶oIŠ&÷ïïæô€Ù#{żGTR“ú¦‹‚ €¹öHêòù14‰·räh}| a¹A`r&ÿ8±}{\OjìCËnï˜%B@°CTnà×ä}Ó%³’‘;Û€™º%íÓØ–~ÔÎ0b’s;åóëøv&¶o{ÇYxÿ2Ù1pZ@iÌ¥€€Z÷ã7èÿŠzo– oš£tIIí‘´›nŒÖ%ÿï ¸µîÀÞn†\ã/øüVèÎ-5 ï] ³übEþ¬†äþýiN ˜=f€?„½7Ì_¡_%$éÀx6iËq§Œü_$¤]c3ŸœÅ{‡J‡ÌõÞD‚?TF·(øAJþ/Âk;&³GnÈöiû÷•ðy(‘¹t%æ½q¾à=öq“Xq?¢ ßèöûkþÙ§Ÿ3Œ˜€# TIì%EÕÕXð7,wùO”n©šnºð B’8ÈIì3ÓSœP:„€Pa¹aß°Üð¯C&HÊ}À2’Ò>?†&†SØàcg?@(1B@¨¬vI%]•;û/F—…¥À€ÿì÷yûã !¦Tpg¦~(-B@(¿°Ü%=ä€ít‰±ºé€çm…ÅBÜEPg² ”! ”÷Æ®K]b¹¯éºéÀ—2òùL©³O?g1…¤‚90ÅÐ@i@éµK:*w¿¿Ýá,ü«Ûçí3„¸‹ý;^ö€2 €ÒIhlÉ/7tþÓM¾å÷ÿI†wÑ©`®J1äPz„€0{ ¹á_—XòëWiQð³”ÏŸÃq†wáÈ]ìe@3—áŸ-X ø_ÊÇmŸ}úy®#˜HTî6#û¬°8ÅÐ@éÍ£ `Ú¢Ð7L3 W_*˜Åp«˜÷h’úñ½û@™@ñâbÖŸ­Rtà{ÝrgKùùÃkQ0ß[Ä4ú…éžP.„€pw1o7ü&ã=¢>m?ÅAìöÞSÄ5úáN§è(B@˜úÍú>¹Ëa/6ì‘–CÀ(Ãg¥˜¤í›ñ‡»KÑP€‰uÈ-ú‘ +¸Ùà~õc Ÿ•2"œ–äþý\— LàΛ°a¹3ÃtG p³ð|6ÂÙ§Ÿ1„Öq$mõ¾‚k2T! ¸Ârƒ¿añi}¤é€ç´A¢ ¡•2’6Ò Ea‹(#B@p—é Ë]Œ`IÑÏkƒÄ>k¥%í ¸.@5²°ÜÙGÅì‹ ¢!`Ÿ´Û^ËðY-)©“n˜¢ƒØÊŠêÀ‚*.©K„A—¦ ëø9Üçšd¿š3g±FG·ÓwHÑP^Ì4a1ûcÒtÀóÚ 1†Ï~7C þW®?b?@(3B@A“þuÐà à¹m 0Ãg¿yý*'·PˆCoÜ"E@yй`Œ®€'CÖJûµágŸ~žëT08"¼û@ù°]XÒA¹K€ÃtÆ¡(`¯ŒÏ¯[†´¨\¢  üØ,&wö_;]In¾Ø‰â ð‹nI;éö€J `«„Xþ‹©9t`­ŒÛeø§SR2à}â4€ò#`£}’ºÄ’*L-MÖÊÐð™ pÆ~€P„€l–»ÿ_]"8t`­ŒÛþ$ÃX[̨R =T! [DÅþà†€+ã㶇¾ÀräÎtvÜìBÀ1IÃbÿ?À‡.€¥%m Ø1§v¨ B@~—;0LW`2t`½´OÛcè8wåÎ ö€Ê!àg Q3s‘.`(®iÜjÁ8ÎC •CÀ¯ €˜Hš.€Ïí”Ômù1² T! ?ê€1;iº°Þ5ºØaù5+Å@åð›.¹Ë€Ùpè¦:ûôóQzã®W-¾n¥b¨œyt!¬œŒ÷p$w#2Ñ›õÔmÿõã…5¶Ùý¢qßÇéjeâø¸íQQÀ·žËe_!´trÿ~‡á€Ê!à€å‘òn4/zß;šý§ò™In^»§ø7q…‡OÊ £ €YHÓ°ì|Þ)»öCN1¬PY„€ü€°t7)¹3ûÒ†Ý Ot#–Æåƒq•n„Ãéð™¤wÜgÉñP*Œ€ég.-7\ÐØ,??q¼v§ÆýYTnøÍ.Lsz|¨Sîc6¼7J1œPY„€LF8=ŽÜ%·ÞWÇÂcÌÈ ‘ôþ;&©]n(ãÀïšççëû@0`q¹ß4õž{¶J{Ýrg ¶KÚ.A€Ý …Büz½K1„Pysé"¼»¤¤­’ËÐM—(#w™Tƒ¤r7PÏÐ- 9ÞõßñiûÙª€€i:D8™´÷†Ÿàïî2rÁrCÁ¤(°ï}ÁVŸ¶=Åð@å0IBöT¼+¥¤Ü ‹0kæ7I;Äì@€}RÞ5ÎW×eö€ê `ЏÜeÀp9’öhlÖ_š.)IŸvÊ °EÒ»¾ùEŠ!€ê 0Ä$¤$¹³Ôöh¬ú-ÀÝìÔX,Ó± T 3T[Xnx?d4¶d5Éi¦É/+R T! €j;*÷“ë ÊˆðÌž#·PˆcpÙªˆ@5uÉ] Ô7ê{4Vì`¶2’6ÊÜ 0Å@õ¨–¹Õ€ƒ()wæßnQéÊ%J  Òr÷4û@¨†¸¤}}S¾Qîò_‡ÓÊ*êã¶g>ÌRRîŠÓ¤¨B@•Vð*;r?‘oàÍ/ànêìÍÐ (Ý2kË‘´øªŠ@¥­pJnø×ÉЀ 3©bpŠá€ê"PI»å.Gîì¿bYTC]H½a?@¨2B@•—´+ Çš³ÿ3ãÐ(Ã9µÕ€s+ÅP@u¨„°‚³à1ûL¹öøQš¡C™Î«­Uüýp@Õ¨„ 옑;ûo7à FˆÑÀ-Rr÷¬ÖïT! €rëýû¦ä€i†,©êT f?@0! €rŠÊþ} ˆŒ÷qÛ KPn;Tù™y)ºª@9Ù¼ ØñÞDïf˜À8aº˜ÒVUnCFì• F P.»eï~LŽÜÙI†ŒäçëO†áC…ÞËTªbpŠî3(‡¨¤ç,=¶´ØÿLWëã¶g>Tð\ÛXßÃw0! €rè’K±ÒÞ›enÐÀlQ·ÝaøPá÷6宜¢›À „€J­CvVNŠ à¾½ÕØ›føP…÷8{Êô³3âÃS0! €R ËÎjÀI¹Ÿ’; 1/êã¶sAµìVyö:Nѵ`B@¥´Oö-NªüËd¥óqÛÓ ªhgÎAöƒ(•¸¤„eÇ” øMÌÇmÏ0|¨"G¥ßû8E·€9”Ê>ËŽ')@ð£'}Üö‹ ªÌ‘´U¥YšžÁ6…@)tÈß3/n— øUÜÇmO3|0ä<,Åû ] f!0[aÙU ¤[€àWQù{oZ‡!„Eï‡Ø C`¶:dO1´ÀÏâ~n|ݽ)†Ijvƒ9ŸÀ0„€f#*{f¦ån†í0¬à[~Þ0ÃðÁ@;4³0/Ã9 æ!0¶€Ž÷&×aHÀ×â>n{šáÃ,”ûál9lÁù™bHÀ<„€f**)aɱÌäÍ-À,aù»HÕ)†³Ð.7 —ág;šþ‡¥ì"0S]–ÇL—¹ÌÒîóö§BÌPlÜ×®2žŸ§ñ÷yo"0qù|óuOR³Ûð`Ž&Ÿ·?ÍbïË ÚUÞ °˜j± ‰ÀLذ`±odþ÷qÛº{3 !fèö<¡òmÙ’”Ôy—¿“bHÀL„€fr“÷ù18r÷Ø!¦òE¨„4CˆY¾7»]W߯íÔÔ+)Øß E`ºl˜¸C,S›Ä}Þ~Š(`¦bš¼ÈA•¯XÎNM^§0! €éˆZp£Õ)©›¡«l÷yûS !fhª÷ea¹3Ãeø½ŽÜB!ΞfXÀL„€¦Ãï³Ó’ö0Œ`•¨Ê7Û©’×'`&¾r—ÿ“t´L¿ÛÑA`Š!s˜ÎMVÂçǰCw~b ð·¸ÏÛŸ®;°—kf"\äùSå*³´ F XÏù¼ý{ÄL °‘ß—smÂLŧñw’:ÊÔŽn¹{J̣ͣ )ìó¬Ý !X'*Š‚ ¸¾2Í¿¿OdÚÒ)©V„Ú`4f(ÖN¿±ÛÁð€•Ú-8†È žÿûTÞŠÁƒ(–#i«ü·§^§øTlå÷¥À™º{3 #f ]3[¥–[($L@ð˜ÖÍŠî¬gz{© vŠÉÿUS #fè+³ø·a@ ˜®´ü³Üc§¨ ¶ÚnÁ1üˆaÄ „5û¥ð1•¯b0ÀP„€f")ógØ¥äV«Ø)aÁ1¤FÌ@»J3‹¯] 0S»Užêr¥ÂæÔ`¯„ü¿”1]w`¯ÃPbJ9 ¶Cvê€"˜2³èFR›Ù°x?ȈJŠ—øgvÉÿûkŠ@`¶6Ê-Àa G›ÅTú¤R %fà¹2ýÜ£"ë˜-GÒV™S€ã%™JJë9 Ž!Sw`oš¡Ä $ÊôsÃrg†éb°! €RHË «Í‘ÔÉp€µÂ²cÿ²n†3PyCº˜¤ƒt3Ø‹@©¤äîXM/Éœ‰€Òë°ä8JÌÀ® üޏÜ (¥¤ªW1سÀfaٱة;°·›áÄ4Åå©„„ì Üã(µªÎ2§¤˜6KÈŽýʺJÌÀ® ÿ¾}’Úév° ! €rØ!wŸÀJz‰n«=gÉqüˆ¡Ä4ÅUŠØ]¢b0X…@98ªlÅन 6K¨rK!Ë}}ìf81M»ªô{Ãr …„°! €rÉHÚX¡ßÅ,@°Û.KŽ£›¡Ä4ÅUY€QIGEV PNi•¿bpJ•_z ¨œÙ1 P’ö3œ˜&ð˜Ü=>G Ü’’öpC˜°ì™˜‘ûÁP¬¸ª; p¼„¤Ý ø! €JØ-7 ,5§L?`†Ù³ ‘­0]» lO‚aÿ"P);Uúe»Iº¬•=¹faº2gàxT #P)ŽÜB!™þL ‚€½vÉžY€)QÅÅ ËìeðGeÏ>(„€*É‘´Õû:[in¨ÀZ1Ùµì¥À˜Ž™²…%ƒÀwTZZ¥©Ì ØË¦J¤ŽX ŒâEåb81¹A ÀGTC·fvÓ`¥„ÌÜ m¦’ )¦¡ËGmû¬½x„€ªyS4Ó£´X 6 Ë®Y€û×¢xíò_žƒÀ7ÜMTå«·CîféÓÅR`°Ó>ÙµÏXJ|h…â„åßYu]²kö.X‹ÀÝÄUÞ*p[åÎ웎n†¬¼Þ$,;&f¢X]òweÀ|„€î¦Iå­çÈèù÷ÓbVØ&,ûöˈ­Pœvïáçs=É0€ùÜMÜû+ã ZZÒÆ"ÿî°Î.Ù7“ˆY€(FXþÀ9×À'L%zÛMY»ÊS1¸›a«Ä%uXvLŽ˜…â”k¥ç:à„€îvcv»„Ê·gSRRç]Þh¦°FXö-–Ü™QË»èÿ jp®€˜JÓ$^Î*p;5ù'Ê)†¬Ò%; t2´¸‹˜ÜjØ~æp®€¿˜J|ŠÿwÐ{[;5ñŒ¿†¬‘¿‹!L&)fFajaï}”ß1 |†Àd¢šzvFá l¸ ¿Û‘[(äö7–)†¬“ÿgAMfË»8(ÿÏ€uÄ,@ðB@“‰ñw¢’Ž–ñÍåíA`šaß Ë]¶ðØ’’2 1¦°OþßPb ø! €É4ù÷bªLÅàCVاòm'QmÌÄT²£¶#f€/Í£ L">Í7µ%í.C;ºåîfHÀ÷:T¾ óÕ–³1¹˜ì©„Í,@ð)B@‰jú{Õìòn~’ehO§ì¬ A—½ûJÌÄäb*ßö)•–Qy>ôTËLv£6å\â•aXÀ·¢²£êd’\§0‰°ìÚ“°|ŒÀDšføïÂr?éÓ…€q׆rU“7#‚Lý¾(fÉñ¤Tž€ !0‘x Þð†éF€Ü0fññ½$fbò÷C6û„Ýàs„€nÕì÷ߋɞͯ3×¥Ù}°d:GTIÅÄl«‚”;àc„€nWª›µvÙ½<`j»eo%à‚=¢J*îÔeÙ¹ïˆY€`B@·k*áÏêÀ àN ¹Uãm–³q'Û@‰%ï` B@·‹—áÍpœn€ÀH([Bì`¨1NXîþ— ËŽ+-wV/À„€Æ‹jöûNÄöMᮄ‚¦Äþh–[¤ÝÂcÛÉð€=Œ/ã›ã.Q1l–PpŠB1 ãßãØV¸ S„Ý`B@ã=YÆŸóÞ$ì“PpÀ=b4Œ½·–`Fë/^7Ë]t3X% ×öŒ(‚±÷4GUžmTL°ST¾ë(«2Ÿd'äV ø_BÁúpg‡Fàž÷òw›“nï° ! €‚x×>ÙW=‚&¡`€Ýb4¸ç¼Íç}Fìy Ö"PÐTáß·OT ¿êP°@G#A–»ü7aùq2Û,F  ^¥7Óaº|¥Kî9A²G#At¡ ï•*­SÌv«*·àD¿— üs­8¨àmçÅ@‚lw@Þ«¤åXŒ€TÝO¶c ÞŒð›°Ü ¤=`ÇíˆeÀAõÎù]œç[*¿àí"SÅä.…ŒðØ÷È-”€`é[ý7ãÝ)w& Àr„€dÈ›ÜQ1L“Pp·mèË€ƒ&êïûtÎ'½ „eÎìŽ.Q1LÑå=€8„€L{³{TPMQ¹aH"À}°CTŠ˜w¾iöŸ4tsž@€h2¬=awæ T[»Ü@$à>è”»v+¼ßêù¾CìC n`›b’24P1a¹3¡*ؤÅòÈ Ø-·ØM" Ç¿GÝH„€7}1CÛ—û = ¼br·bèx?8b@Û%䆻ܰ;)7! lq¼Yï`˜ lv‹å¿;ÅòH[%ä†]r÷¼ ª´˜é 6.­ÉmÜ')#–­@)ÅDEöñ’ÞvIÈõ¥+äHÚ( @ 1¶¸OÚÉ*”FXÌþ»]Z,¶íï3ÿÆsD! Xë~üFØG7€a¹ûU…9˜±¸Üðo]ñ)GÒÖªüâÕ_üêoÖ|_„T¥•»zà‚÷•~³U,uˆúÍ Ÿ„E3•[õ÷¨Fn·Uî–wÏÇ}öÞsÛä†VGÜJµ³•ðúï‚Ü€¼O¸ÕI)º AÖäÃ6Çä~º`æÂÜ$j¬wË GÚéŽ;T5™ï¼ÿþ¸ÿŒË]ºzÕ»ÎÅž¢Þ\õú-N—LzŽ'é@! ì7Ð~”ðnjÌL»Ü%¡ ºÂj ¹áK'–T•ÑÏ|˜»>Á‡åÎfÖØ²ÖÃõéû–Ârßa1ëïn:E¸ ! \q·}—0€™Šz.1CÌF DÓJÉ€B sFÿÇhÏÕÝÆ6Víº3ø‹r ßURÒNºp;B@ €Öýø n"¨ ÌÌ¢qßG5¶W\œ®ñµ„¨†ZŒ´ªTdáiüݨÜì¨Ü%°eg óŽë ¤Q‹³œ’¢Ú5`óè l¹Ù?*©AUÚÔðñMöD¯ q¹3¤ö‹%d~’;;:JWÜ•#7t ~.#,w†\»ÜYrŽ÷Ür¦|ö~$.éIïk˜ÓtV’"L¦&KŽ#,w–ÀFƒnêÓE‹¸!ß%iM~íkáßt8’6}ù‰Œ I(ËùÐ>îÏÒÞã¢ÜP0£ê~`óÎÕ˜ÜÀ/ƹ[rÉäþý€€)Á·èXb Ü]´È¿Ó%w–ÑKr7˜wè:#Æ.!é91cjºv }ù‰t€Ž7¦±™†ã‹Ã¤½çrZÒµqߤ¦ù{ºuFcáýE­Æörú•  („€@ÀX²àíâr Þw¦{ƒ¿Ë{$å.NÑUy{Nq™©C_~¢›n¸å5 NWXƒP4 ƒÁ¼™´QBT î&:ËçØQ¹Å':ÄL´JŒU‡×ßGE8S;†¾üDÒжÕ2<˜¥N@ÀtÁÓdñ±uq£ L)V‚Ÿ•»L¸P¡”ç\é„冭å†ûÄRÊÙè48c‹YÚ‘Ü¿'ݘ–Á·üøºän~žf¨;Ë€1;I¹á_š®(ëõ&nÁq0Õ ¸›ŒÜe>~¿©) áæ~Õ%ÿ/ÍGå¥å:I–üVÄs–G7C €}ã%Ù1³¡KÒFQmþÓ!–£xŽÜYû™õWQQÙQ8-÷@`B@Åèön¢>?Ž˜¨ ž·ûè!)éGuövÓUaËr}–`)B@ÅÚ#w&ßuHKàaKžw(ŸnI?’ÔÍrߪ?WÛ-:§€…Lç¦`ŸìØ“¬K,w‚?ì“;(p¼×ãü™¤Ã’ë#×F,F`:7ž/ÉŽåNaIÅþ€0[Bvì/†ÙËÈ þXêkì5Å–‚ ,Àb„€¦£Ó»Ñ [p,1¹³¬v0¬0ôüdpp9r«²ÿHRªîÀÞ ]b4[fÉK,Àj„€¦{cÚ-{f'%$’n¦K:J7îµ5%w‰oŠŠ¾¾µèš˜K°! €éÚ#»–(îÓØR;ÀGeϬ"L,-7p9%)Mèçk»,:–`9B@Ó•‘””]A`—w\܈Äs1fé±í”Të_LÁ :SÞkËE¹_ŠÓÜ1Ë®…Ý )v#0¶Í Ë}µB Aõ쓽…@’uövŽÿƒ³O?•»”2¦±p0,† }pMÞ²Jöò ÄsÖšç(×?ìG`¦7¼’:,:¦°Ü ŠÁ¨†„eϧñ¹Ü È2r³[Œ à ŸÔØìÁxÛ?¾}Þ×´w\}ÁÕ^áó°ÜX @Ì¥€€Z÷ã7fóÏÃ’.Ⱦ%}i¢²²»ðžº{w—뇟}úù°&Ÿ=8ÙÿËhòéº{yþãn׿a¹Aµ 2rgÂÃ'’ûÉl3ÃL@3åHzIvmŠ.¹A—¤­ 1* ]v€ŽÊ\}Û ìRSü•nN3”X‡ì å]Ë@Ì¥ ÌB§ìœ1×.»ƒ˜!€óì%fÕÁ2QÙ÷áW’a ̆#·â§"DùÄäîA¶ø3å\ T‰m×…¤Øþ€À PŠˆŒ¥Ç–A J/&û@ÉÞ\²«ˆÄR`…@)ì°øØ’ÊþÀ•Ñ®`€©º{»nX$*û–§äÃA T76ßð·+Á Ê+¡àÊÌ„mº,|î2 €€!PÊ›~Çâ㋉ 3—Pp––wÖØ›fÈa‘Ù· 8#*g8„€JyCaû¬‚˜¤ ÞW XûœÐ‘´‡!‡E¢²o°xžL„€Ji·ì-R–;#0Îp£ˆs¥Kî,¢ ØYw`¯ÃÐÃ"6.áwäõC ÔvàÃrƒÀ†w9G:æTݽI†Ù-;g~³ E äA€¤Î€ka™g˜aÇ81oÙ¸£`|€àˆËÎeÀN€®Ñà6„€Êaì.2^B(ù³C‡¼`xOݽ†–Ë]l£—t}·!PŽ‚5+(&7øigè+,74ØÀcOÕØÛÉ)‹Ø¸`áÚÌs€#P.Ý ÖÆãa…@a†?Pb nìˆeÀ°Ë>Ù[ø‰Y€! €rÚ)û«ß®Cîòàûå€Ñ€?Ë€a“„ì-øäˆY€! €rßtq–PLn0´›SÀZQoŒw¸X Û^·m^ÎÏ,@@ ìR îìƒ]rƒ¢§Uv3®r$måT€%Ârgp‡-~¾v2Ì€@%ì””è±Ç46+0Ì©`ÅXîb,µ£îÀ^‡SËî°p æù TÌր߄f¶s*øNXî2Afuº:ëìí¦`‰ƒ–?¯3 V‘.0B@•¼ zѨwÃyTÁ-$á7 Ido±€éJר»“n€%ºdo%àž¯àS„€*©[ìK$ï¦ó‚ÜÙeaºÃØ1–0F.Gì{tÉ ùm–ò®»’T^÷¼]‡Ü0p·šL—;Só¨Xú{»uöfèXòÚ›ÈõàS„€ªa£Ø¤¼ ,w¿@ÂÀêŠk,ü‹ÓwØÃ>€°DBî,lÛ%Ånà6„€ªÁ‘bLX„ÕáßÝtר»›n€r—áË,@pB@Õ’…B&ÖX¸O)g@øÇóÁzÎwäX÷ˆÙö`„€ª)é=p§°Æö <(‚ªRõén¯O»èÓ»räîèÐ𹄂¦E.0 B@Õ¶CnCL®] rƒÁ(]2íþë’tUî,Kú¯8[ëìMÓ ð¹„‚®©"`‚­bóbDå..ÌLÐ%“ŠÑW³²£îÀÞÝŸÛ§`€\KÀT˜Àƒ§«]c³Ûº¼ÿº˜Æ–û‹Y“3µ§îÀÞ$ÝŸëò^‚"#w/@€IÍ£ ‘•q§#,w–[ÂûïnI?’»Ä:€ão—Ôä}r:ÌÒèèþº¿ÿ«Ýt|þš¸OÁ›ý»C|î‚€IÒ"œ­vÍ LË ¼¯6Ü Æ½G“(ìQRsþÇ'=ï¯ô|,ì]?b;îN±·.(! Ó¤%íT°öq*—˜÷è×·i¹¡`á{“EÇ¡_9ަç;ï=CGÀç¯w¼Á± ‰€‰’ÞW‚ÀÒß$Çtë2¹´÷¸è}ͨòá`Tc_í¸v†²ŠHÏË_ÿ¿<öÿý»]Ÿj÷®A|Í`0(! S%½¯åÓÄKç…iIׯ}?“Îø¸ïŸônÖ£b¿jKKÚøùƒÿÅ)Å÷™/ê“OÍýGéZTÈnI»zìb0˜B@&Kz_ +/¬±à.NwX)-icݽN©Î™97û]¹¡ò¹á PÎר WFψeÀ`šæÒ —”»Ü @é¤UÚPr™˜÷ý.Qàå“4¬à€’´U,ÓDÀ’"J%­ò€í·ýY\Ò1“¥Õ!7Œ¸vÊüÂNÀ@„€ü")‚@`¶Ò’6ª´3ˆºµØÌxa¹3wÓõ˜¥°Üê¿ûÞ)¹{L! ?IŠ ˜©´Ê³gç.1{ 3—;«´=àýàÈ] 0#„€ü&)öB¦+­Ò€1MoVVLnØÁp HaïcI×>0+„€ü¨[¥4[%%5¨ôàL‚™°ÆB(Cƒ)ÄEh<Þ¹KfŒ€_¥åº˜TR¥_BÓìgfÅå.ïÜÍá6a¹KÌ ŠÇtó\¥@ÀÏÒrg8¥é à;Uú0,7  —èçí„1&á ºâ–ë{ဒ àwŽÜÝtðésb‡J_A4,wvV¬Ä?7êýÜ.1ó+¨bãÎ0ÝqÇsÙ¡+@)°åFi«Jz~|.l”» ¸”Â*O8^Bîp»Ea¹Áß°˜ :‘b¦;(!B@6)ÇòGÀ/Ò*Ïòø°ÊŽÿ]»ä†B †ÔZa¹a/K'·GÌp%FÀ6I•¾*à‡ó¾…rª\8^Tî 1ö ´OÂ×]bÆçTÏçÝt(5B@6JKZ!)EW 3`ÿܰªŽõÚpT„~—þ±ïßݯ_ÌheAÀVŽÜ™Qt8ǧ-¬ê€ãÅ5¶3ô¾Ö­á_”.™RÚ{N”! Ûí”[4Ä¡+`‘”Ê7Û5,³Àñâ’нäLÖØž„ÅqD%`Pf„€‚ [î>)ºØ#w¶S†Ÿ“ÜÄ ïƒ¨Æö Ü-–—š8.ìùW<Ç{N§é PN„€‚"ãÝdí¡+àãs¸Aå+“;0ì£>‰Ê ›®Ê Ÿâœ&U‘ðΠÍ0]2-;D*€@Ðì–¤dè øHÒ;oÓeúùíò_x»„Æ‚¨D•[TÒ>ÀÎÖ¹³ÕÊŽ@¥å*t çÈÝÓ²œ{…%äî³¶¤Ï¢ §ŠB"¥–°‹°µvÈ ø*‚@P9r‹†l³a¦n¹Å?ºËø;öÉÅe«v¹A`a¶Z;§Õ´…5_õΙÝ2k€ â挎ŽÒ @@­ûñtÂØMî.¹³Z€jsTæ%‚uö†å†9‰€öo·¤ï«Ã)w‡˜Üå½ÛEàW;“û÷wÒ  Ò˜ ·Î LÓ¨¢N•yöŸU0@ilf[—Ü™mÃr÷ ø¼ Ë%Y¨ì;,fü•KRlEªd]ŸJi¬úêsb¯+TNZn*ç/©;°7&ÿ)µ˜÷Ø%÷”¤SÞ×”¥Çõ޹Inøã4¨ˆ¤ÜY¾UÁr` ÀX|×›ä}b1”—#i*03¨îÀÞ„ìÞÿ¯\RrCÚSÞ×´ÏÚÖØòÞ'½ï£ kÅuÊ ú%IÉýûéPqÌ€‰eäVe‹eq(¤ 8åþEuöv)¸Ëg+®;— §½×ˆSÞ׌÷gNÛ“øÅ%-ÒØ Ç0CXuF €©¥ä.NÈ].¥KP‚sj§*0£¬îÀިܪ®1º½¤bÞ£}‚ÿ—–:rCByßß>ÞÎç@x‚1ÿg‹Æ}AŸÉ€1 8I¹Å:Ä~˜™´*°ï_Aݽír—ÿr®VVlÜ÷ítG £PŠçÈ-²Bî>n]‚"d¼0 A• ÷ɦûª\+€q˜ 3»ÁÛíÝàí{­ab¹aqÅ‚¯úo—Xþ Tóú°Qþ+ €™€0s¹³=VÈ­üèÐ%¸í¼HVê—ÖØÛ!é¨j>÷ €± 47~;Å2á K© áŸôi]bù/P-i¹KþÓt0! ”Ž£±=wÈ a¿n¹³6ªJ{€}úùŒ˜Tû5À¡+€É ô¹aÐ I[U¡b¨øwš4ÆgŸ~>-7ˆà|*§Ó{ pè `:B@(¯n¹Á ûÚ!­±%¿;eØlϳO?ïœ}úùÞ¹ ¼vx¯¾@•‘ñn{7Ž)ºÄ7¹¡Zƒ÷HÊð0÷ìÓÏïôÎ3‡áÊòšPx-ð B@¨¼¤Æfî{šª[î2¿ÅrÜ´Ÿöéç ççP:)ïµ;MW¿!€êÉh¬HƒÜÙfº¥ªºåΠ[,7ìöóÁxû6ˆ™§@)tŠ ÀÇæŒŽŽÒ @@­ûñt‚™b’¶Kj—¥;Ê®[Ò¼¯ÖÞÜר»[Ò.†˜6Gî‡Ý¥úÉýûéUPqÌó¤å.?-ÌÜ)fr•RFî’ì­’æx_“²|vÏÙ§Ÿß-f13y=nÏgH„€à‡ÐN¹áMa‰jR,žÇ»ßéÝ̯P‰gõøÅÙ§ŸOyÇßÍiÜU§÷šÁë-°ËÀ§Öýø¨¤¸¤&¹KˆcôŠ$7ôKIð¾¦é’;ÕØÛ!wyp˜Þîx Ùª2ÎÀf90¨†ytøVFî¬À¤÷ßa¹A`\Ò“Þ÷ÑôCJnÐwÊû>éQ”N¯¿ºD€ tË)ìÐÀ6„€`Gn¨“÷gaƒµrCÁ˜ü9û+-7à;å}_øoÌ®OäV©¦h‚þúÈm@p°hÝßk, ŒIZ¤±Ù`ñ*5+í݈;rƒ>GcA_†Q+­º{oÿ£˜˜ˆ`JIÚ‘Ü¿¿b¯3‰íÛéuVhmm]ã7¿ùO>ùdéõë׿t·¿¿`Á‚Wï¹çž+’ …êé¹8ß·ÿïþnFí$÷\Ì€`r46c°{’¿Ö­PL“Ï |ò¶ÿ7p—øL‘³¼×Afÿ@‘ZZZ¶}øá‡øá‡ÖðÁ˳Ùl¨··wº?¦iÜ÷û$)‰äçÏŸãá%KNÝwß}çæÏŸ?r¸¿¿“J™€Ð]f"ż7æqz –êÖm{ÿU²X3øÁ–¶¶ZÇq¾y5—k:þüÊ|>?§’¿?:‹/¾^¼øŸ,XðC==™ ÌÎ<Þ„fÛÜÜÜQí6ðIœ™¨.‰2JKÚ(©CT†]2rÿ]a¿-mmµù|~k5Û0ÿÞ{_ëíí=ÎhÀo÷—³Ù?9ÔÓ³ªª/Ø™L8“É4È]©ðç‘H$ÿÿùÎwþiñâÅýo·mãyÌËÃîïßg@3: :åVŸÞ')AwÀçöxç´CWC>ŸßZí÷QO­]; fUà ³þÞÙ~¸¿ßÈœ ›Í†²Ùl»¤ö?ÿú×ó+V¬ ¦‰LÅ‘;sj¿Ü00F—ÀgRÞ9œ¡+àV[ÚÚj/_¾¼ÿpc¥—ûÎÆø@p×üÎç{ì‡Ï>û쳌(05B@PŒ”Üå8 ¹a`˜.á2bé/LjCcãË?9~|{.—óu.à-~fgGÇö•«VýdÙ²eÛ¿úÕ¯^d„;Í¥ À4$%­»´0‘#i§wž¦è¸UKK˶h4zõØàà3~ÇËåróNž8Ñt¸¿ÿÂßþíߦ~ðƒÔ2ÚÀ­˜ ¦Ë‘´[n ¸KìsÎ˗ľÀ¬´´´l;}úôwLiO&“Y̨”ÎSkצúúúšl>Æ|>?çä‰M¡PèÂßþíß.[¶l»$f"³¸7“»Ür¤.±ù=ª')wöŸCW³só“O"™L&LOØ¥¥¥eÛ©S§ºNž8 Ê1ÂÀºÕ«_•ôgÀr`0{I½GŠî@%å.ûÝ!@˜Ð†ÆÆ—¾—ÍfCA<þßܸâ,\Ì4LKK˶›Ÿ|¹qãFýǼJ’ò}´üúõëÝr·5ƒOçjjjn.\¸ðúø?{xÉ’S…ï,Xðê=÷ÜseÞ=÷dûúú^a4Ó”òq¹Ë„ãt Ê$)wj†®€ÉÕ×׿ylpp=@"¬ŠÍÍÍ…ïÚµku¿¹q#TõúúúÊö{s¹Ü¼\.ÿg™Lfü~ã¿ÿ¾$E£QçÞùóó‹-:û™yó®ÞÿÀ¡Pè࡞öTL&¥±0ð9Iít J$)Â?¸«-mmµ?û—IŒŒ„é „€e~áÍçó[¯]»Ö~íÚµº÷ß{ïá\.7ïp¿oŽÁ 'Ã’"ÞµKÚ …F—.]zmñâÅB¡ÐÅûx`àp'£'å=¢¢€fÎ?`Z÷¡¯<ùó .ÿ09BÀjmm]ÿá¯~•¸šË5}ðÁËõôXû¢›Ïççd2™p&“iÔ /ŒD"ù|ð—‹kj¸ÿþ~–tk‘„ÜÙaºEœ7/ÉýçÐpw---Û÷÷/ŸÏÏ¡7ÜŽp¶´µÕ^¿~ýkï½ûîW/]ºííí |f³ÙP6›]%i•¤gB¡Ð÷>÷Øc—zðÁÿ¾páÂï @ e$í–;£«]îìÀ(݂ۤä†Ýt¯¥¥eÛÀÀ €INSkkëú«W¯þÙ¥K—â‡zzÂôÈÔòùüœ³gÎDκ7{í…PpéÒ¥ÿmág?›ìíí=N/@à8rgw%åî¸],æœpχ—Ä~0m€ŠAX„BðwáÂ…ßëííe_…Yø4<ÿùï°T-£±*Ã’“ ήOSrC¿´˜íUõúOúWô€™°:ÜÒÖV{ùòåýìù;”L&œÉdþ¼¦¦æ{¢¾~ÿ±ÁÁgé¼´÷èôþ;æ=ž” Æè¢;¤¼>+„~º̰¡±ñåcƒƒ³0#Ö¾xlhl|ù'ÇoÏår¼@L.—›wlp𙚚ší„€Û¤uçL¶¸Ü0°Vc3ƒÀ×§Ä,?0Þ##Ûé3e]@ÖÒÒ²íôéÓß968fxƒ0P¤”÷/ê=b  æ7i¹ß€n þ†üƒY€fËšÂÒß¾¾¾&†ãf £±½ðnõa-'~Rcû Æ+ÔFGc3÷¹³ù¤±€¯ð`f˜-+BÀÍÍÍ?9~ü¯Xú‹©ÂÀh4ú«|Õ„3”ÑØ>yÝwù»aM½ï`|‚?KMñ÷St?³”‚¯_D¶´µÕ¾óöÛ÷÷70”(úÎÍ- ²/îzâ‰'¶ôöö§WMrÿ~:¡2êféí·ÞúzÀlÍõkÃ[ZZ¶½vòäχ‡‡ 1#™L&ÜÛÛ{¬¡¡áõ-mmµôÓ´¶¶®Ïd2azÀlùr&àºuëöõõµ3|(…ááá†Ó§O_ØÐØø²_ “\½zõÏüÖæH$’_¶lÙéP(tñþ˜ッMµkK[[m>Ÿß*I7nܨÿøãW]»v­î77n„@ÒñU¸¥­­ögÿò/é¡¡!^PRù|~αÁÁg$0ÆéÓ§ßí¬[½:»téÒÿ‡¿u¨§çb6›-úßêé¹(©s²ÿßÒÒ²í×}Ô|ýW¿úâåË—×d³Ùg0}¾ [ZZ¶ýäøñÿJñ@´¶¶®ïíí5ú¸¾¾þ\mmíŽÞÞÞãgÏœ)Ëïèëë{EÒ+ûÿîï$I?øÁj¯_¿þ5çêÕß#Šç‹@mCcãË}}}Ï0\€ 0y)p4u …GFF*ú»¿úÕ¯^”ô‚÷Ð?¼òÊú«W¯þÙ… ~@˜œñ!`}}ý›ÇW1T€ ¹téRÜ´6…B¡Ñ††† mÍd2F´éßnÛv\ÒqÉ oüæ7¿Søóî¹'Ë™xÏSVØÿodd$Ì0‚Æ´¢¡Ph´©©é¼å¹Füáý' i®‰jmm]ÿÚÉ“?§  ˆ677w˜Ô?€¦fÜLÀ–––mGŽù^>ŸŸÃð‚èÚµkí&µçwׯÿ_ 3j&`KK˶@@ ½÷î»OšÒ–§Ö®8ÜßßɨþfÌL@*àºråÊ"ÚQSSssÙ²eÛÀÿŒ746¾|lp°‘H$?þü…ÿ~xÉ’SÓù÷7ûÛ…W¯^]1þÏØ{̱¥­­öPO+䞨¯ß¨§ç"£ø_ÕC@À[E"‘üg.t-Ztö¾ûî;7þü‘y÷Ü“-ì½ÍÞZݼ”%Ù·´µÕæóù­ÒØþ…)è…€ýæß{ïkO­];`J{Nž8Èq(Ü—U[(=68ø,Ï ÀU ƒF£Qçá%KN-X°àÕù÷Þ›îëë{%›ÍÞôUŠ÷éN§÷Ÿ·ÿÿÖÖÖõ7~ó›ß¹víZ{þ£–_¿~ý!ÂAÀ½½½Ç%Åé‰êúè׿n2¡kÖ¬I3 €%ª1¬[½:ûЃþ÷… ~¿¯¯ï•L&SÒ™|zCp\·„---Û~ýÑGÍWs¹¦>ø`y6› ñÔ€™ùíÍ›‹MhÇÒ¥Kÿ’ÑìQ•pã¦M/=rÄú°¦¦æfmmíÏ|è¡¿;Üßßyö̵ð8½¥ÊŸ–ŠßÒÖV{ýúõ¯9W¯þÞåË—× @ñL¨ \SSs³°-;T<liiÙ600ðu[;´ü-]ºô/ûúú^Éår;©¼eÅ/xmik«uç›Ws¹¦óçϯÌçósxꀹyä‘Lïg›U4ôÀïÙÕ×ן[‰|ûp'/”·òBÁO7“ÝÜÜÜñÁûïÿû‹/~!—ËÍ£‡`Œ {¯/\¸p„‘ìR±fK[[íOŽÿ¯6€5557׬Yó>ôPÇ¡žž‹##¼Fãp§¼}[ZZ¶]¹råë‚`Žûx`€^ì2·¿dK[[ík'OþÜ–':¿›Ëå>344´Õ›é†èëë{exxø‹¹\î3---X__. Ò3‚hK[[­ íð&o°HEBÀ ¿øÅaŠCD£QgssóÎL&³øØà೜>¥Õ××÷ÊÈÈÈãù|~î†ÆÆïF£Q‡^$ù|~kµÛÀÄ ÀNe×­[wpddd•Ÿ;©¦¦æf!üãÓÊ868øl&“YÜÚÚº¡¡¡a˜‹TÆÒ¥K¯Ñ €}Ênnnîj÷kç„B¡Ñ²_¿êèíí=><<üÅÍÍÍ+646~·¦¦æ&½0=e ½B ÿ/¿vLCCÃðæææ,û5ážž‹ÇŸÍårŸÙ¸iÓf©0”ÇÃK–œ¢û”-üÙ¿üKÚ•€ K‡‡‡¿HÁ3=rä…L&³xssóNÂ@6ùä“O–Ò Ê¡,!àSkצ2™LØoÑÐÐ0ÌÒ_ÿ8ÜßßIÀ&ׯ_ÿ½ Jnnnî8yâD“Ÿ:! fÿqJøa ÀÔJnik«}ý§?ý+?u@4u677¯`öŸÿ#‘Hžp•4|çí·ær¹y~9ø§Ö®Èd2‹ÙûÏ.‡ûû;³Ùìý¿ …Fét% 777w 7øá C¡Ðè†ÆÆïž‰þûp'½ Á1þ: …²Ÿ6v›Vhê^€¡Phô‹_üâ—{{{Q´¹¹¹C’®]»Öî}­ûÍ!IºråÊ¢‰^»ûúúnÿ£}ýìh4ê¾xÉ’S’tß}÷›?þ7`Ž-mmµù|~ë7ê?þøãUù>Z~ýúõ‡$)“É„ïr¸ãPSSssáÂ…×Ç¿þ/Z´¨{þ½÷¾ÖÛÛ{œÀ_нY€Fîø¿|éKÉAÐÒÒ²í×}ÔüñǯzïÝwŸüðÃär¹y‡ûûËö;Çß8f2™&ïÛ¦ñ7ÑhÔY°`Áû .¹ÿ ¼Z[[הϷ^¿~ýKï½ûî“W®\Yt¨§§¤Öçr¹y¹\.<É뿢Ѩ³xñâ >ûÙ×~ö³IÞ`¶¢CÀÞ¿ÓÄY€ ÃGy¡`£ÍÍÍ×®]kïÝwŸÌd2á fïÁ Ã’VIj—´/‰ä|ðÁ_.®©àæfgK[[íõë׿öÞ»ï~õÒ¥KÑÞÞÞyÕnS&“ g2™I ’ž …B£+W®<Ïë>f*úÍÃéÓ§ß´Æ×ÔÔÜ|ôsŸÛ:<<ÌH°Bkkëú«W¯þÙ¥K—â™L&\Î~å–ÍfCÙlv•Ü`ð™ššš›µµµ? /^üO|xS~---ÛNŸ>ýj¶ás=öC v•O4½ZÍß¿xñâ ÃÃÃ_d$*sM8ÔÓ6½½ù|~ÎÈÈȧ¯û‘H$¿bÅŠZ¼xñ_r ñã5¤Z¯³çÏ[Písàü¹s¿[íëÌDvýÇÿ8£ë•¤’\¯öïßÿâ…_üâk&ôŽóççÏž9ó¯XfÛ¸i“1çŒTd¸qÓ¦92Ï´Îüâ¿þ×ÿ;ËÍØðFûÊ•+_¿xñâL˜ÙQ.Þ²²I ¡Pèë+W®<ÿð’%? ,›Ÿ|™h°JzxÉ’UŒDùT{|%­`JoK[[­ã8ß|û­·þ ··7ìçcñ> j—Ô‰Dò«üïÃáð·xÿÎ5Ä/×^g«ý¾Í–ã/ÙõêþP¨7“Éü¹!Çö²ÞKìÂ/~ñ5S^KêëëÏu³ùË_þr»iÙÐÐ0L%K~U˜Ýqúôéßïëë›´ã7[äÏ à²HäÛ¼®ª–––mï¼óÎ_îï_iâ<³å‚ÏHz¦¾¾þÜ£>ú¾¾¾Wy~ÒÛÛ{¼nõêìÙ3g"&´ÇËj ¾ç3é½e‘È·çÓhSNð‚Â2`N)~³¹¹¹£nõêK½½½Ç†††Ús¹Ü¼ ÷I!<Üß¿¯¦¦æ·ëÖ­;¸¥­­–³@lhl|9^íëëûþÈÈÈ*ÀÛŒŒ¬êëëû~4½º¡±ñeÎ~²|ùòý¦´åì™3‘ÖÖÖõŒŠ™.^¼ØeJ[jjjnþ»÷ï:ï¾ûÞ{aZG>‹ý?YFÀo7y555¿=Ü߿ϴVL’Ëåæ µîï¿P__ÿ&ojØ~]868øLP—f2™ð±ÁÁgjjj~KÀ/Ž9òBMMÍMSÚcbfw{óçϯ4¥=OÔ×ï—¤»†€çÏû]“:2:¬yà—þ§Ö®Mnò˜õW¼ÂìÀÞÞÞc„l2>üãºàÊåró aàÆM›^¤G˜nåªU?1¥-¦e6p9ŽóMSf÷‡B¡Ñp8ü-é.!àÆM›^4íÍÉš5k¾ÆéÀtëÖ­;x¸¿ÿÂÉ'š¸É›Â@6ØÜÜÜAø7µ\.7ïè‘#F¯¶´´l£G˜jÙ²eÆÔMÈåróøÅ<çÞ|óMiËÊ•+ÏVÓN¾÷î»_5©ëëëϱ0“mÜ´éÅšššß µa_§J²g ¿hmm]F¯îïßGøWœL&îëëû>¯÷Lu¨§çb}}ý9SÚcb1× kiiÙ–ÍfC¦´çÑGýFáû)C@“Ö/KRmmíN'¦¾ÐG£Ñ«GùsnòÊË+"raݺué &{jíÚTooï± îùWª×{f¸0ѲHäÛ¦´…!fyçwŒÙ§1:ã'ÓMnÜ´éE“f±Ô×ןëíí=ÎéÀ$…}ÿúúú¾ÏM^åäóù9CCCí‘Hä#–Œ0MaéïÉ'šèÙ¿Þ–3+€I÷÷wR Ýš4¡îs=öÃñÿ=ihÚR`f0ñ&ï'ÇŸã&¯z²Ùl¨¯¯ïû ¯ssÀ ¯³ô·ô2™L˜YL³fÍš4¥-1Ãï¿ßiRAcƒƒÏŽÿ³IC@“’Kfà&SnxíäÉŸ3+@µ´´´l‹D" 7ÐåQ˜È^LñàCu˜Ò „˜áôéÓ¿oJ[ê¿ð…ÁÛÿlÂд¥ÀÌ`ŠÖÖÖõÜ䙩0+½T򠮮—¾gÒ&à6YÅ?L@Œ·¹¹¹Ã¤I"K~ø·ÿÙ„! sõêï™ÒèºÕ«³Ì`‚›6½xäÈ‘AnòÌ644Ô^·zõ%f‰(·-mmµõõõo|†Šð••ÍfCßcÖ €j_yµÚ(R]—³Ù?1¥-“ei†€/^ü‚) ì±Çör*¨¶†††×9òçÜäùÃÙ3g"?9~ü³D”Kkkëú×NžüùÈÈÈ*z£: ˃ŸZ»6Eo¨–¾¾¾W"‘HÞ”öP ¤:¶´µÕšôž`²,mîDohL™¾XSSsóp'§€j¾˜×­^}‰å¿þ“Ëåæ |oCcãËô€RjiiÙÆÌpsœŸß*IŸ|òÉÒëׯ)ÿÑG˯_¿þЕ+WÙ¼t:ŸÏÏ9uêT×–¶¶>ÔÓs‘g [ÚÚj÷÷/ˆÇ^ì’µL&æL€â­\µê'¹'šLh‹W ¤“Q) /4⾨¦¦æætêj|šPä‘GÉär9Î(eãUþº­7r/YrjÑ¢EÝ¡Pè࡞ž‹¹\N™L¦èŸá…_“¾Ahmm]ÿQ>ßê\½ú{—/_^cÛrêl6:sæÌ«’áÙ‡ÍûÃŽÿ@è¾ûî;7þü‘Â5BÒ´®…ëÀßüæwnܸQÿñǯzïÝwŸüðØR`(õ{«jü^žS…ׯqñâŪñ{—<üð7$3¡ Bø »4Þ~ë­?0¥-kÖ¬ùÇ¡¡¡¢ÿþëçëÂððð777¯X·n]·)3d \–-[¶Ý”¶ „0*3sîÍ7ÿØ”¶¬züñ¿ŸÉ¿›+IW®\YTíXðÙϾÎ) Ôü¸ ¸¾¾þœßÿ‰núFFFßÜܼÓoËÁX ØÅoË€  Â?[ÆáPOÏÅ¡¡¡­¹\î3¿KÀV‡zz.šôa¸ã8ßdT¦¯¥¥e›)ûž‡B¡Ñp8ü­™üÛ¹’dÂtÆùóçS@ɽ12òŸüÒÖššš››››wŽŒŒ{æÌ#¶~(4‘“'NÄ777¯ð{a)¸ÝáþþNSfZ^í¹ï¾ûØü@I´¶¶®7yÓ÷ ßÚÊHM¬°”ÉAà¹7ßÜÅHþ±¥­­ÖÔÙá¡Ph´©©é(Wœááá/nÜ´é?³Ÿ8¿êëë{Å”™Í)ò=„A÷–Ë–-›õª†¹×¯_¨Ú2þüN/¥péÒ¥¿1µm¿ËLâ˜f2™0o˜ÿøàý÷;Mœ^ûúú^a”ŠwôÈ‘šššþˆåÁüjÕãÿ½)m¡@ÈÝßC˜Ò–úúús¥ØJj.à À[ÚÚjOŸ>3±m€ÓgrÈ&À?NŸ>ýû&¶‹pæúúú^ù§žúWu«Wgé ~‡¿eÊŒf „øç=IJHäÛ¥ø9fì  äô0[¦V&œ9Sƒ@*þ°¡±ñe÷ÜÐØø]ÀÙ9ÔÓsñì™3˜¼}LöúµråÊó&´…!“3­ H©¶™{åÊ•E&< 8ÅÌÖùsç~×´6­[·®›pvFFFF£Žií2yé9—‰›ž?µví×…Ò^#Ö­[×MO𠄘ﭷÞzÞ”¶[êŸKÀ×®\¹òuSÚR·zu–å^•±lÙ²í¦ì¡’ËåæQQ 0‡I[DD"‘|9ÞÀ£8÷?ðÀ½Àt&1éÞª.]ºô7¦´eåªU?)ÇÏ%àk—/_^cJ[_µêß2"•q¨§çbCCÃLiϹÜÿQÌpáÂ…ß3¥-ÌÜͱÁÁgkjjnšÐ–Ó§OÇ‚<&ÿ’‡þF9~.! ß2iÉW}}ý¹RoÚŠ© m5å Ó;o¿½–¸.ŒFf‡ŠQ®Y_Ó•Ïççlhl|9ˆc°¡±ñå|>?Çö{KB@¾eÒ’¯R—n‡¿Þ0e³ÙU‚êûðW¿J˜Ò–U?¾‡£\³¾fâí·Þúƒ ŽIǽ,ùv¹~6! ßzÿƒþgÚQŽÒí(òiÐÞ€&…@P]¹råß˜ÐŽššš›Ì«··÷xÝêÕYÚ’ÉdÂAûp»µµu}&“ á=! ß2¥rÓŠÏþ;ŒFuê鹸råÊó&´åj.×ĈÕõö[o-3¡OÔ×ïg4Ó±|ùrc®&ÈÚñ®Y³æËùó øÒæææÚQSSsóè‘#/0"Õó裱|âüùó+  zZZZ¶™°—O( ‡ÃßbDÓqôÈ‘(ìã …B£>ôPYïs øÒµk×ÚMh‡){ÒY__ß+‘H$_íväóù9---Û :>üðÃ?4⺰råùC==€_ï-‚T Ĥ‚ •xAÀ—Þ{÷Ý'Mh‡I›øÙŠ+þÉ„vüú£š  :LÙ'öá%K~ÀhfbÙ²eÛMiKP „œ{óÍ?6¥-•XáTõðÃ?\ÀSÀt]¹reQµÛ‰Dò1ÃâÅ‹ÿÚ„v°/ PÕ›•ªï …FÙ"0S‡zz.Ö×ן3¡-A(ÒÒÒ²-›Í†LhK4uúúú^)÷ï©z˜ËåæñT0Ýk¦l?ú¹Ï`4ÌÐÛÛ{Ü„%Á|ðÁrF¨¼ÖÖÖõ&\L)Tð¯e‘È·Mi‹íBÞyç¿0¥-Ÿ{ì±Vâ÷°€ï˜²äòÁššÿÂh˜Ã„PÖ”O ù(Ÿo5¡,ÌÖáþþN „”ß–¶¶ZS û…B¡ÑcƒƒÏVâwÍF£O3~òñǯ2á…ºÓµQ¼E‹u›ÐS*WArýúõ/™ÐŽ |‡ÑÌÖš5kþÑ„vØ\ ÄqœošR¤þ _¬Ôï2b& 7L¦Ã„¢ Ÿ{ì±ËŒ„Y÷÷w†B¡Ñj·ã£_ÿš}^¢Ñ¨CU`@)<øÐC&¼¯•ì-bRAJ›d90ß1¡ ÐC>øß ó,]ºôZµÛÏçk x×…‡—,9ÅHJáPOÏESö™µ±@ÈæææS¶ñ©[½:[Éb“sï?¿ê©ß¸q£ž§9€b™PPèþ`$ÌcÂMøÕ«WW0@ð® ,x•‘”Ê£>ú SÚb[ËÙ쟘ҖÇ{lo%ßÜE‹­öA›°¿0eû€ÃýýŒ†yLØðÊ•+‹  rZZZ¶™Ðö”R__ß+‘H$oB[l*²¥­­vddĈ ª¦¦æf¥ï+X|ó·¿]ÈS@1>ùä“¥Õnƒ)cÜ) ¬vLÙ`Š›Ÿ|1áM<ûJmÕãÿ½ í°©@Èï¿ßiJ[ªQfî}÷Ýw®ÚÎÒ)Å2¡äƒ>øKFÂL‡zz.𰉲)3“€ ¸víZ{µÛ°páÂ댠ÔÂáð·L)råÊ•cCŸž>}ú÷Mi˃=ÔQéß9wþüù#Õ>p6sà&ÌÝ?! ÁL(bÂÌ$•CQ@9˜T äì™3¿ÙÜÜÜaÂ>Â’T__®«ŒXlÊ 0Ÿ 3‡MØw“[¼xñ…j·á£_ÿº‰‘*ã½wß}²Úm0ae ÀNµµµ;LiË»ï½÷~îK“ ‚T«ðË\S6·7e³€¿ÍûÌg>¬v~{óæbFVÖìÔÛÛ{<:&´åü¹s¿ë×~lmm]oJAH$’ïëë{¥¿{®)rãÆzžÞîÆ„Ê«T6Û‚ ^­v(xTŽ ÛʘP”`¯Ï=öØMhG.—›·qÓ¦ý؇&Íb¬fÁ—¹’dBªüñǯ⩠àn¨¼Š»¹çž{®T» ¼*{CRí6PPNÇŸ5¥@È/ùËí~ìCSf1†B¡ÑcƒƒÏVë÷Ï•¤{çÏÏW»#LØÏî&‰äé³Í¿÷Þ×è•|3O/ÊmÍš5iÚáÇ!7mzÑ”ZÕǹ’´hÑ¢³Õî–ø0› ›ùóçß`$ÌÖÛÛ{œ^‚aK[[mµÛ`BEr€ýyä‘?5¥-~+bÒìÅjã\ÉŒŠfù|~NKKË6žÚ&sã7¿ùz~À[@ÅÞ?n¥A@™imm]öÌ™ˆ m©[½:[í s%s*šýú£šyj0ÙâÅ‹/Ð ¸ö®@©­øüç¿cB;üT ĤY‹Ë—/ß_í6̩̕hv5—kâi Àdó>ó™éó™ò))û=¼dÉ)zP Gy¡¦¦æ¦ mñK‘Ÿý¬Ñ„vÔÔÔÜ ,X𪠺råÊ¿ái p' LHf¹téÒߘҖe‘È·Mi˧!àý¡P¯ zû­·–ñ”¸BîîôéÓ1Ú‰Dò‡ûû;Mé—OCÀÞÞÞã¡Ph´Ú ÊçósüRj ÒL)4ab“ ‚¬züñ¿7©oæŽÿÏ=öØeõÞ»ï~•§4ÀL)4!™W äÜ›oþ± í…B£ápø[&õÍ-!à¢E‹ÎšÐ¨óçϯä) p§C==ëëëϙГ „´´´lËf³!Ú²fÍš´)A n»MhK‚&gJÁ‰\.7osss‡ myçwŒ™•øÈ#ü©içÌ-! I›²$0S7nܘO/Àf‡ûû;M)r9›ý“j·aK[[­)+K£Ñ¨ÓÛÛ{Ü´sfîD 5¡açÏŸ_¹¥­­–§5“\»v­Ž^0Ÿ)Kp] œL)222²ªÚŽã8ß4¥ ÈŠÏþ;&ž/w„€<òHÊ„†åóù9Žã|“§4“üæÆ Â%ÜU(¥® ”Ûƒ=ÔaÊ{ÏÞ¿³š¿ß”‚ 55579ò‚‰çË!àÂ… ¿oJãL@f˜ï½¯Ñ ðƒ¥K—^£€ò …Bé@ê鹸råÊó&´åôéÓ¿_­ßmRA•«VýÄÔó厰¯¯ïSRäl6jiiÙÆÓ€$™°§Â‡~¸€‘0›)›¨Ì×@Ð=úè£ß0¡Õ,bRAeË–m7õ\™;Ñš’"›6ËåæÑ ® Sôõõ½‰Dò&´¥B¶´µÕŽŒŒ¬2áøëëëÏ™ð!åd& ^²ä¦4pdddUkkëzžÖ$3öZ£h‘ÙnܸQ_í6,^¼ø#T† U¹.ªmÕãÿ½ í¨FjïE8Þ²HäÛ&Ÿ'†€ ,0ªŠÉ»ï½Çl@’ÌØk-ŸÏoe$ÌõñÇWýSÀyŸù̇ŒP .¼Îutápø[A-RͽÇ«©©¹y¸¿¿ÓäódÂðPOÏźի³¦4räg?käV¦0a¦&wíÚµºj·á3óæ]e$® TJP „lnnî0ekŽ'êë÷›~žÌì,]ºô¿™ÒÈ|>?çòåËûyZ0a™¥ 3Í0¹ßܸQõª`÷?ðÀ#TÆÃK–œâº€T[[»Ã„vT²@H5ö œH( ‡Ãß2ý™44­ñÌ ™±ÌÒ„™f˜\&“ Wý<½çž,#Ç{ï¾û$½¨¶ÞÞÞãÑhÔ1¡-•çL*²råÊó&)˜44mIp>ŸŸóÎÛoäi Û‚ ^­vÞg 3µ´´l3¡}}}¯0@e,Z´¨»ÚmøðÃ0|î±Ç~hB;*Q Ĥ£¦Ì¼›¹SýÏåË—µwxx¸JÁ@°ÝsÏ=WªÝ†\.7™ÉfúõG5W» ¦lÈ €ë xŽ >”!çÏû]Ž3:½½½Çýp~L=räÓnfÞë—sã®!àÒ¥KÿÒ´F¿þÓŸþOk ¸L˜iÅ&ðæÙÒÖV›Íf«^8 ]d4€ÊZ¸páu® ¸l/ÒÚÚºþì™3ŽoåªU?ñÓ¹q×°¯¯ïSNž‚\.7冀kS<µ`zxÉ’SÕnƒ hq+S–âÝÿÀŒÌëûL±âóŸÿŽ í(Gwß{ï/Léç%?ü ?s‹ùK&®o>yâD“)U TÖ}÷Ýw΄vlÜ´éEFÃÎÕ«¿gB;LÙŸÌ7ûÛ…ô*Á„ÊñûÌqôÈ‘LØ.C’Çùf)ž)AêV¯Îú¥ HAQ! IÕeÆ;uêTOm x¸ÿþ~ÚñÞ»ï~•Ñ0ÇÅ‹¿Pí6D"‘<#1æêÕ«+èTÂý¡P/×neÊRÕso¾ùÇ¥úY_6¥ Èc=¶×oçÄÜbÿbý¾0hZã³ÙlˆeÁ@ðôõõ½b—.]Š2fhiiÙf›|ð—ŒPy½½½ÇM¸.œ?~%£0…)KU³Ùl¨T+9ß~ë­?0á˜jjjnúqPÑ!à²e˶›x, ‚É„â å¬v…é¹råÊ×MhÇÂ… G  :>÷Øc—«Ý†|>?‡­"¦èíí=^·zuÖ„¶¼óÎ;³Þǯµµu½){³¯Y³æýxNêé¹X__Îă8qâÄe#f XLØ^*Oµ+LŸ K%iáÂ…ßg4ÆÜ¸qc>½€JyèÁÿ» í`I0À$Ë—/ßoB;Ο?¿r¶¹Í¥K—þÆ„c …B£>ôP‡χ¹Óù˵µµ;L<ˆ\.7ïÌ™3¯òô‚cÑ¢Eݶ\Ì0;7mzÑ„¥À¡Ph´¯¯ïSúeÞ=÷TýSßl6â E¥˜Âs]˜Ä”!ù|~Îl „œ>}:fBŸ®\¹òü¡žž‹~<¦ööö7u6àÙ3g"ëÖ­;ÈSSö_(ÅÅ ³óË_þÒˆí*LXŠ8žI$J¯¡¡áuzáÎsÞ„}¹.LcÊÒÕÙÙÐØør>ŸŸcÂq<úè£ßðë¹0wºÿÀÔÙ€’444ÔÎ>,@p˜²¿Å##Ûêhmm]öÌ™ˆ mYºtécDîľ™¥·¡±ñåááázâN¦„ñ\&1eéêl „˜R$:~þ°}Ú! É³%éŸ_}õë ‚Á”ýŸ(R=/^ì2¥- ?ûÙ$#r§O>ùd)½P:---ÛŽ >COLÌ”0žëÀ$&Õx˜I–––m¦ùÜcýÐÏçÂÜ™ü#“gæóù9 ‚añâÅmJ[νùæ.F¤²¶´µÕž?~¥ m‰D"ùÞÞÞã¦õ‘ û¿\¿~ýKœ­¥ÑÒÒ²m``à{ôÄäL ã¹.L²,ù¶ í˜ÉÞ¹¥¨,\ ¡PhôØàà³~>föööjíÚS*—ËÍ{íäÉŸvëíí=nBÈ!I™L&̬Êzçí·š²/ȲeËN›ØG .¼^í6\»v­Ž³uö¶´µÕž:uªË”sÞäëB$És]àV‡ûû;ýX Ĥþë¿ð…A¿Ÿsgú—-[¶Ý„Í—'“ÍfC€ýjkkfJ[ÞùOŒHe´¶¶®7iO´¥K—þ¥‰ýtïüùUCÞg9cggK[[ík'OþœjËÅY±bÅ?™ÒfLâÇ!Žã|Ó”A—<üð7ü~Ì8<ÔÓs±¡¡áG&\6› ]øÅ/óTìeRø’ÍfC_fTÊïÍsçþÁ”¶ÔÔÔÜ4usàE‹­vr¹Ü<>›3gμJX<“¶ŠÈd2a® ÕóѯÝD/À˜z¨Ã„É\Ó)2›ŠÂ¥T·zuÖÄí¦kîlþñÐÐÐVS–\LfdddU}}ý›<Ýq»ÖÖÖõu«W_ŠF£W zÅúúú^1eI°$½vòä ð(¯ÍÍͦT–¤•«VýÄÔ¾ú̼yF¼®]¿~ýkœ¹3S__ÿ¦I绘´$˜ëBõlhl|yhh¨ž€1‡zz.®\¹ò¼ m)fŸ¿–––m¦|º|ùòý6œsgûž¨¯ÿ?L?È‘‘‘Uu«W_â  Ö­[wðÈ‘#ƒgÏœ‰d2™páAÏø“)ÓÚ%w‹3gμʨ”Ç–¶¶Ú×úÓ¿2©M&/ ¸ÿŒØ¿÷½wßý*gïôÕ×׿922²Šž˜¾U?þ÷&]Þyû탌Jålhl|™*Ú0±G}Ôˆ÷®Å1¥ HMMÍÍ£G޼`ÃøÏ:<ÜßßiJ©é©œ=s&ÂhiiÙ‰D>jgsu{˜´ô«ðz³qÓ¦™Ò»ð‹_ÎåróLi©U B¡ÁÃ¥K—¢œ½ÓC8;ápø[&µgxx¸"!•ASëëë{Å„ów+²¥­­Ö”÷B&M:™­¹¥ø!+>ÿùÍ& )( imm]ÏS?X¶´µÕ644¼Þ××÷}öU²Oooïñh4ê˜Ô¦~õÕ¯óZSZ7mzÑ´PĤÙF9ÔÓsÑ„ës.—›Wì¾/ ,Õ¹oÚ‡Ô¯ÿô§ŇÑåEþz;Õ~¼ÿ~§)ýõàCuØ2ö% õô\ü_¾ô¥¿ôÃg³ÙБ#G¹ ÖÂÃýýLª$ŠÒûÜcýФöäóù9¯¿þú™ÒhiiÙöϯ¾úu“Ú …FM›m4‘¥K—^3¡¦,ç0`é,‹D¾mR{r¹Ü<¶‹(ïû=@(N8þ–éBNŸ>ýû†¼7;w¨§ç¢-c?·T?èè‘#/Ô­^õÃAçóù9ߣZ›Ý677wD"‘Ž >ÃÒ_û|Ö¤!…‹…‰foK[[í©S§ºL{¯Y³&í‡7/YrÊ„v³ïKÐÏsÀÒ:ÜßßiZ»³gÎDžZ»6Åè” LIB®\¹òõ‰îåMÙÈ”=Ken)ØêÕ«¿ä‡eÁ’|¦¡¡áu^ìÒÚÚº>^=Üß¿¥¿Ább•Ö‘‘‘UÜðÍÜ–¶¶Ú×Nžü¹‰ÏåGyäOýЇ ,0bæÑÝö}á»ýÏ.g³bBÛ"‘H¾¯¯ï›Æ½¤! Ÿ– 7D"‘Ø»ËÿZ[[×××׿ÙÛÛ{ŒJ¿Á´lÙ²í&~Á ßÌ]øÅ/›Ö×ן3¹ Èx ,øŽ)mycdd;gõ×.Sƒn˜8K\’^;yò?°5Íìlik«­[½úá9ÌŒ)ûªçóù9ãï•L*búþß31·Ô?ðè‘#/ø¡Zðx…}×­[w—Þ@Â?Þ›IÓÚ'¸}† pzL^iÚ^cw{^˜‚är¹y<Æ´´´l;räÈ `y™8K¼°5 AàÌßû½vòäÏÏž9¡7`æLÙWýí·ÞúƒÂ÷—/_ÞoB›B¡Ðè±ÁÁgmó¹åø¡+>ÿùͦíÁRÌ›±¡¡¡öh4z•YþyHø‡Û™2­}"ÇŸáÆ»ÛÒÖVF¯šú¼ŽF£ÿöî>6Êë^ðø±C¥Øó€Ác^<ø;ʤdûn{FžÛQ§X 4¥©V¥ÙXä®*EDwwUªÕ*•÷ê*¨R´ ½¡•Ò¤ w®¦š‘©ÇdzB'¹Umc“1 2¶ ançzÿð<¡¼ÌŒçå<ÏóýHQ_öyÎ9Ïyžó{~çœÉP0xPg÷ÅŸd)Ëÿ‹Åv²7àìf@àuö¬-ߘýÁÃ2–@`vÇ÷õí%xù#K°ëÂ… ?Ýâr½ Ë zÙÿ;[å…úÁ@àèæ––Ÿë±R´¬@«Õz½ËíÞͰ ‡.·{·Íf› ø‡»‘9PˆÙÃBl6ÛÙP7òx<;BÁà2gwè1 P¹öbv?^3>_½^o»Õj½Î3¬øª««wʸ7 öÞ^g©üŸV«õz4uP_²»:þ¼ûG¯ojJèeÿïl•ò‡„Ã=‡#ª×ÊI$J(|‘%Â¥³µ»»¶­­ímUU¿ƒ/rà2á÷ûO´´¶öË\Æx<^ùî©S&ûcV‡ÓùJÿ¯dÏîxà¶ê±~{}¾±õMM ™ÊôÇÓ§ÿÑLð§ó–0–öxÀn?"sÂá§Çi­µµµ½Ýßßÿ+î(ÜÜI–BdÙëuÕªUGŒÚÞå…þÑht£ j¾“u¿ß?`·ÛÏ ,dzÃn·Ÿ ƒD"‘m²¤C?dÝj®D"¡ô÷÷ÿÊÌÙ[»»kµ¥‘²õt"ð­¬\¹ò_d*O2™\ð§û·÷ÌÐÇ×75]ÐC7ºp¸Gö=«£Ñ¨ƒLñ¯Þ­VëõH$²{ k]]ÝϨ…YªªNïëÛgÔë+/Æ/yðßxHo…ÜJ,kЂdïäŸ×ëmײþÀë±X¬—>äª×çs8¿‘½œ©Tªl ~j}SÓ³Mú<ÏŽwOú³–F*Š2³®®®KÏõ]YYù¼leŠÇã•FÞ#³Ãé|% ~À ¦òxÀnÿŸ²—1W†‚Á¶¸\/˜±¶vw×:Ž?×Éþ€â8Þ×·OÖm3Š­¾¡á#__Q‚€z>(äVb±XC xÝf³M˜õ-Ÿ/zNç+Ú^dý!Ÿ"‘Èv½|€²šiÒ×ÒÚú{=MðÇoz}¾1=×¹ŒK‚µgªÑ^¯·Ýf³Mý'ŸP0xPæÃ£4©Tªìx_ß^³} jkk{; ~ÀÞP|F~eªººz§‘¯¯¼X¿(íìì|ÂH•Ç+÷õíUUõ‹–ÖÖß³T8óÉQ[[ÛÛ뛚.ôú|ñpø)öúC¡è!ëãæIŸ‘÷!ír»w«ªúÅ©“';õRf«ÕšŠD"ÛPÿ²îob”Ãr´ &¿ß?ÀsM^ëêêºôòaZû@ÔÖÖfèµ;œÎWTUý‚¥¿P:+ªªž3{Øíö½ø¿›òbþ²@ p´Ãéþøo>Ð[jÁ@EQþKss³.ž [»»k'''üá¹sùýþJzÈ)½jä¿™1;»¡±ñµDÂø‰%kX³ç¾°%“I‡Â!„ØkµZSË–-;¿téÒØâ¯}­_/g¯×ÛþÙçŸoÖ~W._®êõùX¾饗ÿ@¯KõR©TY4uD£ÑõMM‰U«V‘íèú­Ýݵ_¹rpppðÛ¡`P÷ㆠž4âž ~¿ÿ„Ýn‘ýT曳ž*++Ÿ/e{hAŒ‘3g¾8±Ôz}¾±-.×ã}}ºÌx˜û\°Z­©uëÖýN¦Õ'Ú=3>>þ­^Ÿ-`@'𛛉D¶™éšE™©¬¬|Þ ×ZÒIšÙs¥—<5!Äl¶à‹V«5õõ¥K'+**†-Z4²páÂØÂûî{·Ø/s]n÷n!„¸þé§_LO[¦¦¦Örõje"‘Pü~?£"tkõš5Û/^¼øg½œH{;ÃCCÖá¡¡½Š¢ì©¯¯­Z±â­Re{½Þö«Ÿ|òC£MòÚÚÚŽmð\µµµOÆb±=”unÖ“Ýn­Z±â­bÀ½^oûÄÄÄß_ùøã¿!ˆaLÇûúö9Žoê}/Çô{å6QÂÕ'[»»k¯]»öw“ß¼xñbs¯ÏG°thÙòå»Ó1 Óhnn~Ïè‚hJž©aæ@àm^à!„UqÃ~MŠ¢Ì¬\¹rJ!î[¸0UQQ1<÷ßß»`ÁÄâ¯}­ÿV?÷Ë/¿\yíÚµ‡oþÿ§¦¦ÖþÙgŠB\½zu‰–ò ù`H½>ߘÇãyrrròWFX—J¥ÊÒÙ\{…{m6ÛdÕŠïWTTSåíB<ȼ^oûõTÊ«Mòü~¿á&y뛚F9 øvô’ x»þ®(Êž5k×^¬¨¨Îgïr»w_ÿôÓΫW¯Ú/\¸`óûýdº›@4ÝhµZ¯ëý‘ææÕ'ªªN/¯ªº\QQ1¼dÉ’?ÜsÏ=ãó¹g´m`>ûì3û¿ÿû¿7°2Œ7gÒÛ{â|ÕÔÔ LñÅÒ‰‰‰uããã~¿ßÐûŸ©ª:ÝÔÔôððÐáï=eÞꙘ>ÐAûhö¢ö±ìæeZf½ö¿§¦¦þò¬L]¿¾êÚµk˵a|3¯Í--÷‡‚ÁŒ¸Çc:(8÷~Bˆ…¸ñ#óÝŒW¤R©²^ŸWmµ¾‹Å^4õÚl¶I3ä*Í;Š9Þ8Žz_þ•áÄO qc†ñë·û{f „(Š2ÓÚÚúŸÍ²@Ù€w2çcY¥¸ñCY§î")þD xÝL×}ÓGf´ùÀAUUÿÑ „¬««ûY<7MÛ–Ë61ßâríWe†Û@!E£Ñ6›m’š€æ?=üð#ïx›—ž.ž¹À¬t¦øaj€ÙBŒ~ªªNËvØb¡•ËV ã}}û:;;Ÿ`R ÐüÆ7²Z­)jmmmÇÌö Älö“Ãáø =@» c îikk;FMÌnÙòå»—©ohxÇlíZ.c¡ÀQ—Ëåä@!õú|c7nü[>:˜›Ýn1úA w‰D¶ó¼Õ«ÕšÚÜÒr?5Q¸{Ân·P³Ï•êëëG|+ªªž3[»–ËZ0¿ßbsKËý,×P豆ìcóJï‰×hözذaÓô}ЀfÙ»²Tb±X#@€Ù­^½Ú°A2»Ý>b¦A4å2®×ç‹Çã‡ÃåöP(@à(@ó!xã=ÐÒÚÚOMÈíæ ªªÓÔJáðŽ8jÔ#ÕVëKflÓr=2näÀ…~À4›Í6IðF§Nž|”eÁòºUàÒ¥K¯Q3…E Pßx¦Àü546¾f´kRUu: 4c{–률Ú!LP @s°Ûí#ñxÜBMüµ 6µSxõIQ”™ÎÎÎ'Ș€ù©¬¬|Þhï‡ØíGÌÚžåz*l 8º¹¥å~–£X mœ!h\,Îè9ûsjB®>{»=-ZD`ªHꋪªÓO£dÌÀüôú|cÍÍÍïåzE™©¬¬|Þ¬í¹àÕ#º €Ž !69rä…ýÃö¤R©2nKÌÇú¦¦DcCÃw͸)(n-õx<¢¿¿ÿWŒ1ÆA03ápÃáØFÔ†}6‹Ýòß/\¸0F-O,klkk{;‰l£6äusælÕŠïÇãñNjÈžŒ±‚R—Iñ“²²ÛO_vþà9ýÌšššg¢Ñè€úu}}ýèc=6öØc™òž.×káøÃîër»×­ojJ0<#×—Ä.·ûÙá¡¡€¸Y 8êr¹œlA` mmmÇf.n´Ùl“ÔDét8‡ïÖgͺ—M)E"‘íNçajBÞw»›3gɘ€ùóûý'ŒònX[[û¤™Û²\Ï…ÿÎw¾36<4TÓátfé2¥ªêt‡Óy8‘H,f…»=ì6·´ÜO0D¿E™ép:G"‘íÔFvüÆ7"^š>Ûåv?;÷dúL£ÖŠk îñx<ßãÝS.·[:ÿµÅ‹ƒÔÌßšµk­÷k°Ùl“ßݱÃÔ @åF¸ˆp¸‡¬@d2±jimí¤½½!ÓÉÐëóÅãq {‘ê¶'÷{î}ãÆK £x¬Vkª³³ó‰l>P-¯ªºLÍÙâriimíÅb·Ú;3¥†`þÂ὿!9_åF¹^Ÿolxh¨¦Ëí~–¯â˜K þu¹ÝëN<ùè­^»‰F£É:Ö›Í6ùH{{“¿ùñûý'8(§8´,¦lûlEEÅ0µWºûcsKËýRÚw¼§óð©“'½ÓŸ#X ù¡çBTUîéé1}r@¹Ñ.( L&“÷¶´¶ö3iáÅàòi îéìì|‚É„ÜZZ[ûãñ¸…{>?81»ðÏ*mÿ¿\úì’%Kþ@-–N¯Ï7–>0äµQ\Zæl&ÙÞ__ºt’€ù«©©yF¯e¯ohx‡4`PsêäÉG].—“¯³æœPüC¡£‰Db1˃壪ê´ÇãùÞÝ2B[¿'˜Ù1ngá}÷½GM–^$Ùîñx¾ÇG¢âÈ6s–ŒYÈ¿ßB¯Û°­¨ªzŽ4pPë ±X¬Ñãñ|ýÍhkk;FðÅF7²ý€<G”å¿…¥ räGKkk"‘X<ß>KŸ—ëÙÜÒr?‰ GQ”™-.×þl3gɘ€üYµjÕ½•y}SSÂï÷Ÿ õ œûRÇ-]n÷³Çf³Mv8‡“É佑Hd;Á?K(<øH{{¾Ò±Z­©.·ûÙh4º‘{¿8ÏÓÍ--÷œ_ŸÍwÆ*í!^ŸoŒD…{ßs¹\Îã}}û²ý»dÌ@þïëÛ§·gÜÚµkÿ–›Un¦‹ ƒ ‡Ýnér»ŸÇãNÿD©'|d—¶ì?‘H,Îæ$Uä§Ï'‰Ål·‘{ŸÍwöûÉùÎùH{{CKkk?µ1ÿ{§Ãé<Ç-¹fq1 ù¥§ýõTUf¾ð•r3^ôÜ` “}Ñ–üníî¶Åb±FnfÈBË8îp:“ýQXéëØû¯´b±X#'fgf}SSÂår9 ÕgÙïLN½>ߨ©“'õz½|$šßxŸ½´äžö×knnþ--ö•r3_|(<‹Å½^o‡Ãáˆ2‘‘“¢(3ZÖK~!»p¸‡Ê 7ôz½¹ž¢ŠÂôw—Ëådr}kÚrõá¡¡šBîCÃ~gróûý'âñ¸e‹ËµŸD™±Ùl“]n÷³ùï—,Yr…š€ü=Ûôp@ˆ¢(3Ë–/ßM‹}¥œ*˜íÀÑhtc*•*ïp:³·ŽÖ75%:œÎéTªœ¬?èÍ©“'ír»× œ¿¹Á?6ô•óÇ-mmmÇèë³TUîp:k¹úbEñSëò;Þ×·/™LÞKÆøÝïx{õõõ£$܈ àMÂážD"±XËä%­¸´ÀßÖînÛðÐP {ýAÏ´¥`ÚÆ“ìüÓ—H$²Ýår9ͼ͆ÀH&“÷óùÅý¡¿wM‚Å¿w***ŽQÓ?¡`ð ìϱիW?GK݈ à^¨£ÑèÆd2yï—k¿Ýn!Ã!ÿ´¥¾7þˆÖ蓾-.×~=¤Î—r"8wßO‚ú{vÆb±F³À5÷”úR}¼bI¶~Ÿ f^…RÌ{gá}÷½K¯€ü’y¿=›Í6ÉÁPmUpwÇûúö !ö !Ä—ë…ɉ‰oŽ=˜L&©¿X­ÖTuuõà²åˑޗ‘J鯝×Û>11ñ÷ƒƒƒß6ûX¢(ÊL}}ýhµÕúR(<‰Dè(:—^Æw°ËíÞ=ræÌÿŠÇã•F¼N»Ý>¢õÛx<^Ò²¤÷;«¤÷éO:øÕÓåvリHü(‹5ýšKqïðQ ò/½ßÞ6˶fíÚ_—úýLF±rœÀ !„ÇãÙqõêÕï]¸páQ£NpòA úUZ,¿[²dÉÏz}¾±D‚D(˜[z2rBKÆÇÇ÷˜éã‚¢(3kÖ®½¸råÊ©¬¬|¾×çダñhÁ@¯×Û>66öÏ£££õ©TªLïÏ´†ÆÆ×dë·éýÎèuú¿_¶vw×NNNþxäÌ™ï' ÅHïƒëÖ­ûݲåËw—êÞ±Ùl“¼³@þôú|cv»}D¶XŠ¢Ì°µØ­œ‡tjé_ÒK»ÜîÝSSSÛ._º´Á¬/Š¢Ì¬\¹rªjÅŠ÷—,Yò‚~ùya-uø‚R¼±ÄÈTU®­­ýS¥Åò»ã}}û†‡†ÄðÐÀÒAïF-¸ñá¹sé©kÁ ‹ÅòO~¿ÿ„ŒÏ´eªúl6Û†bþN‹ÅòχÂL¨„=Bˆ-k\¯ÏÙîšššß !-æï\´h‘.÷I]pÏ=‰R¿ƒêµî³©¶Z_ŠÅb/ÊT&ûƒ†O·¹++›M$ØùƒH[Fm2õêUûµk×–qB¿téÒkU+V¼¿hÑ¢‘¯-^dÍ=_zþ¸`µZSË–-;oQÕþ¥_ÿú«,ÅÂ\^¯·ýê'Ÿüp||ü[ÃCCV™Ê67S•¾ YhAô‰d²óÂ… 63ǹwùùÅ/2þ³z˜+¹•BÅOTUýB¦ç’×ëí¸Õ3HëÿfîÛ‹ÌãñìøìóϺvíÚÃSSSë?ÿì3Eö‰½Íf›¼oáÂTEEÅð¢E‹F.\SåmïJ3†|zýºûÚ'Ÿlœ˜˜X7>>^!ÃòJ›Í6¹dÉ’+ÊâÅç+**Ž1F [ZÀ{jjjý•Ë—«Šù"©õ_‹ªöóA záõzÛ¯§RÞk×®=|ùÒ¥ ¥xØl¶I‹ÅòÁ’¯ýÜ;€>4¾Rm6Û„,qõMM‰á¡¡š;õ‚€:îØz Þm$„×?ý´ó‹éi‹B\¾té/K{òùr77½_ ð 1›v¿pá˜Ù›€ŽÆ©©©méÿ\ÿùgŸ)ù;¬VkjáÂ…Ÿ 1»üoÁ½÷^åƒ mkwwm*•Ú®=µçáÕ«W—d Ô¶ª˜Û‡+**Ž-¸çžA ù¾™û,Èer¦­úBˆª+ÞBî@ß_±ƒ€^¯·Ýï÷Èrý[\®ýé³nÛÿ ê¸c)˜ÀM“&ç27Þwß»,Ý‚y<žÓ_~ù—%Å|ÄîN jÿ›À`¯ØA@‡ÃñÇh4êáÚUUN&“÷Þ­ÿ€®;(Ó~€mmmÇ"‘ÈöÛý{‚€B”s‹ [\®d:dÙòå»i•;#€¬œ?~§,e±Ûí#l‡vw±­ÝݵÃCCVYʳzõêçh•»#€Œ}|åÊAYÊbµZSn•‚€ÈØààà·e)KCcãk´Hf #]n÷nYQef î¡U2C¹˜HüH–²477¿G‹dŽ îjkwwíèèh½,å©©©y†VÉA@ÜÕäääS©T™ eYßÔ”ðûý'h•ÌÀ]œ9ó}YʲjÕª#´HvàŽ<ÏŽD"¡ÈPUU§÷õí£U²Cw4>>¾G–²Ô74¼C‹d îhppð!YÊR]]½“ÉA@ÜV‡ÓùŠ,‚Øíö‘^ŸoŒVÉA@ÜÖøøø·d)KµÕú-’‚€¸%¯×Û><4d•¡,V«5 Ò*¹!€[ºtùòOd)KCcãk´Hîà–FGF‘¡Š¢ÌTVV>O‹äŽ þÊ—ë…d2¹@†²477¿Ç óCåò¥Kß‘¥,555ÏÐ"óC7ØÚÝ]‹Åd(‹Íf›ôûý'h•ùY@@~üpçΠdE:;çŸb"ÿ·I±?‡ß7!„øn¯Ç"„x9ýŸ™:-„Ø«ƒîcBt !êÒÿ}“$}g"ÝwÎðwes߸i)¼œ®§LìM߇Üs7Ž•Z„ \?Fy.ÑwK?F™¹ßÞÊ›BˆCf›^=r„~“ùøÊ•ƒ²”eÍÚµ¿ŽÇã4Ê<€üé’¸lBˆéÖ‰ þì&‘]°mîëé½sx>-yŸ©³×Ç%/g¨€â.Ú ämm{íÊâÏï… Þæ2–ìÏò an;;g|æ¹Dß•yŒº¹ßî³Á03õÛ¹c2c oppðÛ2”CUÕép¸‡™?–€9h/—Aq÷àÞY‘{ o—˜ æÛ"ûà!!wà&!Ä»Bþà“6!{W'3Ú °^ΡܲÔobT‚Iö­ÊõrÆN£<—ÌÚwe£êÒÏf³õ[Æ&˜†ÇãÙ!Ë õ ïÐ"ùAÌeS†/soŠù÷äyâ–màã(LFb>½Q¤‰o)'Ñ‚60Tì™/¥œk¿Du's{ïÆ ´çó¹dƾ«‡1j—ÐLJÙÇuÆ&Hç£>ú‰,eYQUõ-’À|™eÕÍ'–¯%-/çðsô°àã9NHK­Î@“=Ú ;‘{p¿Nä÷Ã@®eÐÃ$v—0§LŸKfê»z£26Á`¶vw×ŽŽŽÖËP»Ý> ùCÌ)ÓÎùsÉà»ù…3— [³ùlmÒqßÙd{€6ÈÎ1¿L•\3±òE/A 3Sºè»º£Ècl‚ÁLNNþ8•J•ÉP–j«õ%Z$“­»9$f7†ÎE.{ù ‘ÛÞ‚z êmrg¤²Ó¹ÉG6”E”6°Žö5ÔsÉ }WOýÀ"ÀØCùðܹÇd(‡ªªÓ¡`ð -’?œ ÅwVä÷¤µ®ôKd!_$÷¦_ò³ÍÌÓNõÝœ¾îL¯ÇÈ@½O˜ê rÒ™Ë×~m»Äì~£!ú­aû¦lôÜwõÖºJtoëc¤ãõzÛý~¥ eyÀn?2Ó(yDŠï¬È=³îV´ŸµGvó§çL†²}i|Cd¤Û”þ³ÙÖ§ž€ÚufÊ]¤2íϰ\F Ò™Oì󙡵Gò@A!—>zŒžPúùãék.UöÞû® cÔ~!öW™0³ŽM( .üT†r(Š2SYYù<-’_À8¤_Ö ¹oK®ÀMb6#ðNÁ:íÏdó¥yBñ]¡¯`.“ób˜à¢ nȧ®ôøqˆnexo¦ût¾«Û1Šç`BƒƒƒÉPŽúúúÑ^ŸoŒÉ/öc9]„ßñtŽŽMâöK³,é—mÐ]¤kÌh—È< (›`Á|j0ún¤ÀKˆ¾ 06A?¶¸\/Èr Hmmí“´Hþ‘ ÈÅwÅlvG¶Ë„³Á¾¹'[røY‹;‰×^þOSç¦i‹È<“J»ßÍðÏ׉٠ÍšV„æ´/“lú.ÀØ„’:þüNÊa³Ù&ý~ÿ Z$ÿr¡Mœr î7í  cî¦÷gÓõ{–j1mì™g<íM—õÈ|«€=éë5S;®+í¿sˆ}`l‚4Ò‚Xe(ËšµkÇi” ÆRÌæÜŸþû›Dö·W,öh£ æŽ#™fRÍ=íü€ÈÉöæ½µŒ¾ô®Ž¾«ks·(˜³ÁRÙ®yO~Æ„Þ/›PØÔíÞ ¥ˆ­¨ªzŽ)‚€P|›Šð2—É‹}¾_µ¥Á…Ì|¼©¿‡MñÛ{æY†‰ôÿ¿?‹úÚ%ÑýÝU‚Ÿ?‘“÷ cm¾¯ú^,fï»… ‡kÛŸ‡ŸÒÁµ26¡ .&?’¡뛚RXÀ|ˆÂlh^¨@ ÀÌmÊÓ„(— 4ôßÙ,q<$nŸ%rHÌd²É¨z³À“L™q°¤ëþq!Äæ•5ß§,¢8Áp3ô]cJnkwwm¯Ï× CYÖ®]ûÃCC4JsÙ+ ÀÉw ð€ k²7ßL*M¶Uué‰f!Ǧ³:iƒ—Óch)~w}Wʾ cclBÉMNNþX†r¨ª: Ò"…ÅÁ `ž—ÌÍEš¨œ³ÁÆù:”§Ÿàîv‰Ì÷oË$›8ÛŒã=¢°ûÇéeo«b-'—Ñiú.Lˆ± %7ræÌ÷e(GssóoiÂ#æP'f³óŠuzð!qãÉ‹Åþû²2ͤÒ2¥2‘ÍG‹(ì2j=mroÖSgOÓwaÒ~ÏØ„’ñx<;‰„Rêr(Š2³lùòÝ´Háó°!Þ™Ÿž8_¹òÅ•ÍhDæûŸÙeT=^àI¦^6·7ãDû´ÈíÀ*³ô]cJæ£>ú‰ 娯¯íõùÆh‘Â#æó²(ÞÒ¥l—ôžbÚ$2ÿ0pVd¿Gg¶[:Ð-ô“uc9Žûfê»06Æ&”Ìèèh½ åX½zõs´Fqp0”æe/ß{ÝÕ‰ì2öˆâÛ²YâÅ ‹@qe¸8+rË$ž™gkiB¤M¶7‰¯ö¸ÒÊVìmï4ž›E(ý<Ñ>›þGÛ-DߕڭêybNûimYÊn–=ÇØ„¢ùðܹÇd(ÇšµkÇi"a90K¦/üÈuù¢EoïR|õì(+Â?õb6Ûi¯˜_ð†¾[ÚkìJ·ÁBˆQ!D’{Я×ÛÇ+K]EQfÂáZ¤x€±œ¦ d`ûcÀ~ÁÇ ÐwõÂ"2_6 @—._–â@æææ÷hâ"`¾ û”³PÙ^]éëYÌ.Á ²˜è»úè»06Æ&ÍèÈÈ#2”£¦¦æZ£¸ØÀ\ö}díhû‘ÍgÙ¨%ýsêÄWîß §rÒweë»06Æ&”Ì—ë…ã}}%­ojJøýþ´HqcÙD¸ƒ:¡L*Í~!Äæyމ/Óìô]ö]ÿ}± %qþüù2”cÕªUG†‡†h"c90o’·£·Iç&Ár8Ðw /¶vw× YK]UU§÷õí£EŠL@0m) ãé*ÒïaSwã·AW×2!„8PÀñêñ,þü~!Ä›é2J]Ûô]½ŒQÙŒI§KØ7J¥Ku›W_¹rP†r477ÿ6‰Ð %@JóÂ:C5˜ÚY‘yÖfê¢ ò$›Lª¢pKz´dñçw°<"ýóeùˆÂ`ô]ž™+åµ—áw06!¯¿-C9–-_¾›Ö( –P|gu\öm Ë6Ø%2(œB*`ù'„{³ü;ûEnÛLèYûîYšÞЛPt¿üå/w'“É’'‚Ùíö‘^ŸoŒ) ‚€`N§©‚’Òóän‚6Ð]XÄl "SŠÐ·rhƒý9ü=ŽuŒÏô]=ŽQô[Æ&Hîb"ñ#ʱzõêçhÒ!æô&UÀ‹´É'fjƒ]"ó勅Τš+ÛŒªÇEn{c½IßÔ-3÷ÝÓ:ë³d¶16Abo½õVíèèh}©ËaµZS@à(-R:À|Nq¢„Û¿øëqÂ4a ¾c–6¨ÙgR³ ²]ÚœKFUHgíËGú®ÞÆ(úln›P4“““?N¥Re¥.GCcãk´Fis9-„xZðÅ^†—é½:,÷õ³´A6‡(~7ÛÀÍ&!Äž,ÿÎ!¡Ÿ –§é»:£N‹â`„± E3ræÌ÷K]EQfÂáZ£´€9h“ ·`9‡L/ÿz Èjýçm «6è³Ë3UŠö ‰ì³KöˆÌ—ˆjÜB‰t_$Ó†¾«§1*”¾·;Æ&ÜG¶' ¥Ôåhnn~Ö(½TÒÙô?§Óÿðò&§Cé¶y\Ìf‰Ô‰Üö<+Ôäîìœþ3Aè® 6eù»J5Ý+² øXÒ×–My'Ò“íMéöíšósJ5±>m’{,ô]9Ç(mï?­Îù¨˜Ÿ±€± uáÂ…ŸÊPŽšššg¢Ñ( Rbe333ԀΕ•ݸõßß=ýô”z?@›Í6Ç-¥®›#¿ø…B3ÇÁX `0¯¼òÊ+2²®®îg´†Ìøøø·J]UU§÷õí£5ä@À@Þ8z´}xhÈZêrÔ74¼Ckȃ €\º|ù'2”£ººz'­!‚€2:2òH©Ë`·ÛGz}¾1ZC âÕW_}!™L.(u9ª­Ö—h ¹0ˆË—.}§Ôe°Z­©P0xÖ A@xë­·jc±XC©ËÑÐØø­!ŸT€þýÇ—_®iimí/u9*++Ÿ§5äS633C-Ær`ÀàG08‚€€Á Ž `pƒ#A@ÀàG08‚€€Á Ž `pƒ#A@ÀàG08‚€€Á Ž `pƒ#A@ÀàG08‚€€Á Ž `pƒ#A@ÀàG08‚€€Á Ž `pƒ#A@ÀàG08‚€€Á Ž `pƒ#A@ÀàG08‚€€Á Ž `pƒ#A@ÀàG0¸ÿ?÷e(´A1ÕIEND®B`‚murano-9.0.0/contrib/plugins/cloudify_plugin/nodecellar_example_application/README.rst0000664000175000017500000000124413656750211031264 0ustar zuulzuul00000000000000Nodecellar Example Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Nodecellar is an example application with a Node front end and Mongo database backend. To test this application with the Murano Cloudify plugin, the following steps need to be executed: `git clone https://github.com/cloudify-cosmo/cloudify-nodecellar-example.git Resources` `cd Resources` `git checkout tags/3.2.1` After the above steps are completed, the packages need to be zipped and uploaded to the Murano catalog as normally done for Murano applications. You can follow instructions from `here `_ to quickly bring up the environment for the application. murano-9.0.0/contrib/plugins/cloudify_plugin/nodecellar_example_application/LICENSE0000664000175000017500000002363613656750211030613 0ustar zuulzuul00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. murano-9.0.0/contrib/plugins/cloudify_plugin/README.rst0000664000175000017500000000256013656750211023060 0ustar zuulzuul00000000000000Murano Plugin for Cloudify ~~~~~~~~~~~~~~~~~~~~~~~~~~ Cloudify is a TOSCA-based open-source cloud orchestration engine by GigaSpaces Technologies. This plugin extends Murano with support of Cloudify TOSCA package format. TOSCA packages can be deployed on Cloudify Manager deployed at configurable location. Plugin registers `Cloudify.TOSCA/1.0` format identifier. Installation ------------ Installation of the plugin is done using any of Python package management tools. The most simple way is by saying `pip install .` from the plugin's directory (or `pip install -e .` for development) Also location of Cloudify Manager (engine server) must be configured in murano config file. This is done in `[cloudify]` section of murano.conf via cloudify_manager setting. For example: .. code-block:: ini [cloudify] cloudify_manager = 10.10.1.10 Murano engine must be restarted after installation of the plugin. Requirements ------------ All Cloudify TOSCA application require `org.getcloudify.murano` library package to be present in Murano catalog. The package can be found in `cloudify_applications_library` subfolder. Demo application ---------------- There is a demo application that can be used to test the plugin. It is located in `nodecellar_example_application` subfolder. Follow instructions at `nodecellar_example_application/README.rst` to build the demo package. murano-9.0.0/contrib/plugins/cloudify_plugin/murano_cloudify_plugin/0000775000175000017500000000000013656750351026150 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/cloudify_plugin/murano_cloudify_plugin/__init__.py0000664000175000017500000000000013656750211030242 0ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/cloudify_plugin/murano_cloudify_plugin/cloudify_client.py0000664000175000017500000000604613656750211031677 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import threading import time import cloudify_rest_client import cloudify_rest_client.exceptions as cloudify_exceptions from murano.dsl import dsl from oslo_config import cfg as config from yaql.language import specs from yaql.language import yaqltypes import cfg CONF = config.CONF archive_upload_lock = threading.Lock() class CloudifyClient(object): @specs.parameter('app', dsl.MuranoObjectParameter('io.murano.Application')) def __init__(self, app): cloudify_manager = self.CONF.cloudify_manager self._client = cloudify_rest_client.CloudifyClient(cloudify_manager) self._blueprint_id = '{0}-{1}'.format(app.type.name, app.type.version) self._deployment_id = app.id self._application_package = app.package @specs.parameter('entry_point', yaqltypes.String()) def publish_blueprint(self, entry_point): global archive_upload_lock if self._check_blueprint_exists(): return path = self._application_package.get_resource(entry_point) with archive_upload_lock: try: self._client.blueprints.upload( path, self._blueprint_id) except cloudify_exceptions.CloudifyClientError as e: if e.status_code != 409: raise def _check_blueprint_exists(self): try: self._client.blueprints.get(self._blueprint_id) return True except cloudify_exceptions.CloudifyClientError as e: if e.status_code == 404: return False raise @specs.parameter('parameters', dict) def create_deployment(self, parameters=None): self._client.deployments.create( self._blueprint_id, self._deployment_id, parameters) def delete_deployment(self): self._client.deployments.delete(self._deployment_id) def wait_deployment_ready(self): while True: executions = self._client.executions.list(self._deployment_id) if any(t.status in ('pending', 'started') for t in executions): time.sleep(3) else: deployment = self._client.deployments.get(self._deployment_id) return deployment.outputs @specs.parameter('name', yaqltypes.String()) @specs.parameter('parameters', dict) def execute_workflow(self, name, parameters=None): self._client.executions.start(self._deployment_id, name, parameters) @classmethod def init_plugin(cls): cls.CONF = cfg.init_config(CONF) murano-9.0.0/contrib/plugins/cloudify_plugin/murano_cloudify_plugin/cfg.py0000664000175000017500000000134313656750211027255 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_config import cfg def init_config(conf): opts = [ cfg.StrOpt('cloudify_manager', required=True) ] conf.register_opts(opts, group='cloudify') return conf.cloudify murano-9.0.0/contrib/plugins/cloudify_plugin/murano_cloudify_plugin/cloudify_tosca_package.py0000664000175000017500000001323713656750211033205 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import yaml from murano.common.helpers import path from murano.packages import exceptions from murano.packages import package_base RESOURCES_DIR_NAME = 'Resources/' class YAQL(object): def __init__(self, expr): self.expr = expr class Dumper(yaml.SafeDumper): pass def yaql_representer(dumper, data): return dumper.represent_scalar(u'!yaql', data.expr) Dumper.add_representer(YAQL, yaql_representer) class CloudifyToscaPackage(package_base.PackageBase): def __init__(self, format_name, runtime_version, source_directory, manifest): super(CloudifyToscaPackage, self).__init__( format_name, runtime_version, source_directory, manifest) self._entry_point = manifest.get('EntryPoint', 'main.yaml') self._generated_class = None self._generated_ui = None @property def classes(self): return self.full_name, @property def requirements(self): return { 'org.getcloudify.murano': '0' } @property def ui(self): if not self._generated_ui: self._generated_ui = self._generate_ui() return self._generated_ui def get_class(self, name): if name != self.full_name: raise exceptions.PackageClassLoadError( name, 'Class not defined in this package') if not self._generated_class: self._generated_class = self._generate_class() return self._generated_class, '' def _generate_class(self): inputs, outputs = self._get_inputs_outputs() class_code = { 'Name': self.full_name, 'Extends': 'org.getcloudify.murano.CloudifyApplication', 'Properties': self._generate_properties(inputs, outputs), 'Methods': { 'describe': self._generate_describe_method(inputs), 'updateOutputs': self._generate_update_outputs_method(outputs) } } return yaml.dump(class_code, Dumper=Dumper, default_style='"') @staticmethod def _generate_properties(inputs, outputs): contracts = {} for name, value in inputs.items(): prop = { 'Contract': YAQL('$.string().notNull()'), 'Usage': 'In' } if 'default' in value: prop['Default'] = value['default'] contracts[name] = prop for name in outputs.keys(): contracts[name] = { 'Contract': YAQL('$.string()'), 'Usage': 'Out' } return contracts def _generate_describe_method(self, inputs): input_values = { name: YAQL('$.' + name) for name in inputs.keys() } return { 'Body': [{ 'Return': { 'entryPoint': self._entry_point, 'inputs': input_values } }] } @staticmethod def _generate_update_outputs_method(outputs): assignments = [ {YAQL('$.' + name): YAQL('$outputs.get({0})'.format(name))} for name in outputs.keys() ] return { 'Arguments': [{ 'outputs': { 'Contract': { YAQL('$.string().notNull()'): YAQL('$') } } }], 'Body': assignments } def _get_inputs_outputs(self): entry_point_path = path.secure_join( self.source_directory, RESOURCES_DIR_NAME, self._entry_point) with open(entry_point_path) as blueprint: data = yaml.safe_load(blueprint) return data.get('inputs') or {}, data.get('outputs') or {} def _generate_application_ui_section(self, inputs, package_name=None, package_version=None): section = { key: YAQL( '$.appConfiguration.' + key) for key in inputs.keys() } section.update({ '?': { 'type': self.full_name } }) if package_name: section['?']['package'] = package_name if package_version: section['?']['classVersion'] = package_version return section @staticmethod def _generate_form_ui_section(inputs): fields = [ { 'name': key, 'label': key.title().replace('_', ' '), 'type': 'string', 'required': True, 'description': value.get('description', key) } for key, value in inputs.items() ] return [{ 'appConfiguration': { 'fields': fields } }] def _generate_ui(self): inputs, outputs = self._get_inputs_outputs() ui = { 'Version': '2.2', 'Application': self._generate_application_ui_section( inputs, self.full_name, str(self.version)), 'Forms': self._generate_form_ui_section(inputs) } return yaml.dump(ui, Dumper=Dumper, default_style='"') murano-9.0.0/contrib/plugins/cloudify_plugin/setup.py0000664000175000017500000000145513656750211023105 0ustar zuulzuul00000000000000# Copyright 2011-2012 OpenStack Foundation # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import setuptools # all other params will be taken from setup.cfg setuptools.setup(packages=setuptools.find_packages(), setup_requires=['pbr'], pbr=True) murano-9.0.0/contrib/plugins/cloudify_plugin/LICENSE0000664000175000017500000002363613656750211022405 0ustar zuulzuul00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. murano-9.0.0/contrib/plugins/murano_exampleplugin/0000775000175000017500000000000013656750351022432 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/murano_exampleplugin/requirements.txt0000664000175000017500000000005113656750211025705 0ustar zuulzuul00000000000000python-glanceclient>=3.1.0 # Apache-2.0 murano-9.0.0/contrib/plugins/murano_exampleplugin/example-app/0000775000175000017500000000000013656750351024643 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/0000775000175000017500000000000013656750351031763 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/Classes/0000775000175000017500000000000013656750351033360 5ustar zuulzuul00000000000000././@LongLink0000000000000000000000000000015700000000000011220 Lustar 00000000000000murano-9.0.0/contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/Classes/DemoApp.yamlmurano-9.0.0/contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/Classes/De0000664000175000017500000000176113656750211033633 0ustar zuulzuul00000000000000Namespaces: =: io.murano.apps.example.plugin std: io.murano res: io.murano.resources sys: io.murano.system Name: DemoApp Extends: std:Application Properties: name: Contract: $.string().notNull() instance: Contract: $.class(res:Instance).notNull() Methods: initialize: Body: - $._environment: $.find(std:Environment).require() deploy: Body: - If: not $.getAttr(deployed, false) Then: - $._environment.reporter.report($this, 'Creating VM ') - $securityGroupIngress: - ToPort: 22 FromPort: 22 IpProtocol: tcp External: true - $._environment.securityGroupManager.addGroupIngress($securityGroupIngress) - $.instance.deploy() - $resources: new(sys:Resources) - $._environment.reporter.report($this, 'Test VM is installed') - $.host: $.instance.ipAddresses[0] - $.user: 'root' - $.setAttr(deployed, true) ././@LongLink0000000000000000000000000000017300000000000011216 Lustar 00000000000000murano-9.0.0/contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/Classes/ImageValidatorMixin.yamlmurano-9.0.0/contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/Classes/Im0000664000175000017500000000213713656750211033646 0ustar zuulzuul00000000000000Namespaces: =: io.murano.apps.example.plugin res: io.murano.resources std: io.murano Name: ImageValidatorMixin Extends: - res:Instance Properties: requiredType: Contract: $.string().notNull() Methods: validateImage: Body: - $environment: $.find(std:Environment).require() - Try: - $glance: new('io.murano.extensions.mirantis.example.Glance', $environment) Catch: With: 'murano.dsl.exceptions.NoPackageForClassFound' Do: Throw: PluginNotFoundException Message: 'Plugin for interaction with Glance is not installed' - $glanceImage: $glance.getById($.image) - If: $glanceImage = null Then: Throw: ImageNotFoundException Message: 'Image with specified Id was not found' - If: $glanceImage.meta = null Then: Throw: InvalidImageException Message: 'Image does not contain Murano metadata tag' - If: $glanceImage.meta.type != $.requiredType Then: Throw: InvalidImageException Message: 'Image has unappropriate Murano type' ././@LongLink0000000000000000000000000000016400000000000011216 Lustar 00000000000000murano-9.0.0/contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/Classes/DemoInstance.yamlmurano-9.0.0/contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/Classes/De0000664000175000017500000000036013656750211033625 0ustar zuulzuul00000000000000Namespaces: =: io.murano.apps.example.plugin res: io.murano.resources Name: DemoInstance Extends: - res:LinuxMuranoInstance - ImageValidatorMixin Methods: deploy: Body: - $.validateImage() - $.super($.deploy()) ././@LongLink0000000000000000000000000000015000000000000011211 Lustar 00000000000000murano-9.0.0/contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/manifest.yamlmurano-9.0.0/contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/manifest.y0000664000175000017500000000066313656750211033763 0ustar zuulzuul00000000000000Format: 1.0 Type: Application FullName: io.murano.apps.example.plugin.DemoApp Name: Plugin Demo App Description: | Demo App to validate Glance Images Author: 'Mirantis, Inc' Tags: [Demo, Images] Classes: io.murano.apps.example.plugin.ImageValidatorMixin: ImageValidatorMixin.yaml io.murano.apps.example.plugin.DemoInstance: DemoInstance.yaml io.murano.apps.example.plugin.DemoApp: DemoApp.yaml Require: murano.plugins.example: 0murano-9.0.0/contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/logo.png0000664000175000017500000007041313656750211033431 0ustar zuulzuul00000000000000‰PNG  IHDRøàI­‰ pHYs.#.#x¥?v OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFf6IDATxÚìw€$e™ÿ¿UÕif:MžÝÙ¼K•;AEQAÃó#‡?s¸3ç3 (ˆ$QÉ"AA¢„]2»À›`g3›fw6Lì®úýñÔÛUÝÓ3;=Ó¡ªúûñúvgfÙ­ø~ßïó>ïóh–eB!ÁB£ÀB!xB!„Pà !„B'„BžB!xB!„O!„ ٯȄ:B!Õb$\ï«}ò~øsÁ­p„BªÏb8ø p*€/ð#„R#> •µõ‹ÀÏp5Ÿ-B!5æjø¤Žî£ ÚÂçŠBHiñ‹áôƒÀŸà8>S„B<Âq¶6yͲ¬šÄÙg9ÞLi%Ý;!„Ñ `¿+o~¢—~rüˆâN!ă´ØåY¼,ðsáƒ!„ºåœ³Ï8Ò³uY¼,ðß`ðù!„âQ _§À—Æ,gñÙ!„âqÎ:ûŒ#gQà'Η᳒€„Bê’ˆ­Yø Ю½Bñçœ}Æ‘žkFãE? @ŸB!>¡\Vö¢ÀÓ½Bñ‹§ÀÏaàsB!ÄgpöGF›ã3B!ħxJü&ðgòù „âS<¥a^øYðI >B!¤s½´'ÞKÿ^>„B|Žg´ÌKÏ–°„BüŽg´ÌK Ÿ B!>Ç3ZæoÐÍç‚Bê—‘Lk7íÄS/¬ÃÚM;‘Éš~<î³Ï8²Ë òÈy=mB©?vôõcá³=ؼ}Oþ–où†Y8dÿ.¿Öë¼F/ÌÇœBê‹­½{ðÐS¯ŽwO<¿ÖNÞÛ¼âàðQ'„ú`ÛŽ½Xøl¶íØ›ï8u šÓÀŽ@o¯|ó¶ÝèîLùé=¡i^xî'„:öEÏö`k°ÐØL뺻ÁA w‡ósMÓ`Z4hÐ4_œª'4Í+Ï;B (½ö:û–‚P¼®‹°wu]]@CƒˆýÐ`šî €Ë´ €?DÞšæoá+@!Áãµm»±èÙìØ5'ì±ÐÙ!ÂÞÔ„B@8,ß,xMÓ5-: Ðày…÷Dox ÎW‚BüÍæm»±°H8>‘ÇÞÙ)!øP(ß±'"ìÍÍ@* ¬Z•/𦘦˲ür)<¡i!>’„B¦Bo_?)VÓÐt´Ó¦‰;‡%ßÐ46É$J©´lK§å{±Xþ<,–•¶'xB!dÓÖ]Xôlvît„%´´ˆ°··9ë챘dÍ'â"ìéfqíJÜS)™hZ¾ƒ4X€_¶ÈQà !„ø›=[±ðÙ˜¦eË0OÈ~öÎNqê¡#ìñ&Ûµ§eÐb |:-aú¦FÙ"72â¸õd<–û»Ý¿ ™áol”?¿y °k—óoMkO@ÓèÞ)ð„B*Ê+k·cá⌌81ôd˜1C>u²ã›š$ŸNK8¾¥hµ…=•qol‡‰È¤`pعÓù÷Â!š¦A Üh´ð~xæMBˆ·Ù¾Ó.3Ûëìk7 I¢›9SĺpÛ[*4·8áxåÚ ùyCƒ{8,—¦Éø¾>—H…ìžhšh…EÍð™ƒçÝ"„ϲz}/-îÁÐp&÷½x“¸öÎNu•D×Ô$[ÝÒi÷¶VGØS)qô ¶kW®»úšîÚ%"ï¼!5èEã¡Q/|&ð„B<É3/®ÇsË6æ¾Ö5 ÅϘ!"®’èœp|s‹³imÉwíMŽk7 ùÎúºe;vä;øˆ¢×¸O'„2uÔö·¾=Îö·ÆF`F7ÐÙ4ÄœÚññ¸¬Ã77KÚÖ ­m´k/ ÇÓì¾>`¯«Ù\È0 –ÞO(ð„BJfEÏV,Zìl¤1Œríîµv·kok“|k«]´&!â¯ïB!'?–!ß³v ¼]͘MO'„R:½}ýX´8¿­k$ tϦOÛ[ßš×ÞÒ*ÂÞÖ&!ùt:ë›ö}mwËfeý=ã,õC74¸ôPà !„”ÂÆ-»°hqv¹BòÉ$0k&ÐÞ.áõHÄ©Dç^kW®]Õ’ÇG'ÑMÄy÷÷;zó«Øö¬Ñ¾Sà !„”ÆÊ5Û°hq²Y)¯hïæÌ–ä8w†|±µv’Wkí*$_˜D·/vö[¶:UìMQhš„èéà)ð„B&HÑ|DªÑuwç‡äUýø–Vg­]…äU5:åÚÝ!ùRØÕlÝê|=kz3«ØQà !„”ÂkÛvcÑâìtµvM$€Ù³¥xJ¤S!ù–÷övGÜU"Zk‡'¶Ö>žƒß¾Ýù:2l÷Î*vxB!ûdíÆX´¸ýƒ#DŒÛÛٳĭiiÚÚ¥3œ ɧRùÕè&ëÚ–%EnvºöÀ‡Ãj<µO!dLŠ…äÃ!É’Ÿ9CÄÚ’W‰tííâêUH>•ñWì¦âÚóüÎüF3Räýqy ÊÁos¾Ž„¹žO!°mÇ^,Z¼ÛvìÍ rÊN¦kiqö·'@:%åfÛmqïèpÖÛåÏ©|¥£ã–%MfvìÈxµžPà !¤nÙ²}-^ƒÞ¾þœ¸·¶J2]Ê.^ÓÐ_K¾³ÓÙ§ŨZò¥4‰)}}@Ÿk|8d@ÓÁB7xB©_6mÝ…E‹× o·t‚ÓuqäsçÊ:ºJ¦soS®½½=½]…ä«]~p°`¼¡çšÌ€{à)ð„Ronƒ @×4YsW™òªälk«t‰ëì÷ÞÚ*[ã Û»ª@5Ù»·p‹œ³þÎ0=žBêŠW×õbÑâ ˆ2†ÃÀŒRS>uŠ×¤S"æùâîN¦ …ª³Þ^ Ó”»‘—8éz.4¯»ä(ð„R'H÷5¹î±0k–³ NeÊ«dºÎN «SÂòJÜ›šÊÓ(¦î}ë¶ü*vºîrïTw o¾Óîµ°:]1q‡%,¯þ?04$YôcÕ¡§ÄSàI È@ø2iq_R îmÀ¼yR¸¦˜¸OŸ&îÞ–÷Zuº‰’ÉÈ9Ót-O(ð¤ŠB®åý^½šßFB<Äö¶sßîˆ{[ë¾Å]­¹'þwöìq>ÑÍK²#xR1A×ò+JåêCËÑàÄÐø.RЏïÅ¢gWcóöݹ÷§µUÖÜÕ>÷ñÄ=•ôf]ùR1³ù}à§µ'elqB'SvGÔuM2Yu»£“ZS¿Îš{âÉ4š[:ùR"k×oÂ}¿¿¯mÛæÖV`ÁqåJÜ›Ów¿:]Ë’}¿ó=ÃÐ8¤PàI9…]¹s]Ó é ]‡®kÐuݳæãà7‰¹û¿Ӻ硥­ K–,ƶmÛ°~Ý:^À‰f¼¼6—]ý[¬\Õ“sî--v…ºqo/H¨ ’¸+2`xØùš vxRna·ÅÜÐu††¹ ^‡Ãßò.zøñèY»÷Ýw/®»õ"¼üÒKX»v-4M¢¯Gµ³,Ÿˆåÿà»CÆÞ~§ðz*=:,¯ö¹wM ¶¸øœ²kŒÐSàIé®ÄÝ%솎h4Š·¾ýt}ü©X»a3n¼á|ôœ/£··š®Cפ…c$Ô>U÷ц`[¼þ½9CCCètÄ=iw…K/bãn“LOÜ‹ÍÑry>ª)ðd2®]„ݰ…½¡±ïxï‡pü»?„믻ï9å4¼úÊ+"꺎P8bϪµÜõæÞBÍÈÏE›Çˆsž½{sÿM"Ì_àôsojÊ/?;­+¿ü¬;[>HÙåE¯ €Mf(ðdâ®ÈöPHÇ;O= '¼ç¿pÕUWâó¯¶mÛ]7DÔuÝtÝ^ÓŠ;w †×öÔÊá[>>~_ÿZœÛÐÐvíÚÓÞ ÖÔÌŸ´¶ä7Žio—®pÓ§‰¸«"6…[á‚D¶ ‹^× Ý;EžOÆw•@g:ŒCÞx$ŽyûiX»©‡~6mÚC7G$¯+a×Fm›«õÀêEÁ(íø½7hùýú{ù܆‡‡Ñ××—÷†`Þ\óHDÄ;•,ÞÎïElJ›ôbÔ RÚ ðÌ.®¤¸Û‰*9×nà¤÷…£Oø7|Áßïú; #$®ëÐ4=·5ÚäEÝÿae?™ ‹{ƒ‘‘ìܹÙ¬ZF¹sDÀÃa',¯ú¹«5÷bµåƒ*î†!ç¨0M –ýöYÔ:x2¶¸kšC×`„tD#œqÖ 7tâ­Ç¾›^{-'ìºn8=˜¡u®óøyn?î‘‘ôõõ!cY‡€Y3iÓçžL8Î]‰{{{ý8÷±Ç.º÷ <çh•wB†Ži3fáïù¼°|¾õÍšÃÁÐ höZ»+³Å.]6ÏͫǮÄ}Ä^\Öu »˜1CD»¡AĽµhﻟ{=ˆ{¨ÀÁ[–éè‚FOOŠ;wCCÈ0pÀëþo}Çé¸ùöûp饗" Á0 Ûµë®Ìx E»¾\v¥ØµkWNÜ5M\ûìÙ¢/w÷>÷tªþœ»®ç'RÎ)ðdLq—¡‹¸Ï™ >ûµ‹pÎ9ÿÛn½áPXÄÝÐ]It•Aè²ynõvìýýý¶+·¨žîóæ±˜| ©\§œ{¡¸G£þêç^®qË}o-KÖá©öx’'îvášŽŽ®é8î§ãË_ú"n»íV„Âa—s{­.›çÆãžÜq¢¯¯/÷uk›ˆ{c£#î¹úò®5÷æ´„åëQÜÃa¹6 Ó¤ªKày?Ë%ñ²N×6 ¼ë”³p×ýOâšk®)wÝžhtÙ<7{™Ž[íuW¤R"î‰"Íc:]âžN9â ¡îÚ¤†Ã2Rlؼ óg¶:CõžîÝ.;kè:>ð_ŸGϦ½¸è¢‹ ‡¡ëF.$¢ÍãöÓq*d3o.Nç²imaïr9÷x¼~Å] |Cƒ¬Å›&°kÏ`n_¼Eq§ÀSÜå£ëB†ŽN:³^3?|ŒdÊëvÙÙZ%ÓQ°yìA=î‘‘ìÚµ+·×=“½îmmN ÚtÊqînqO$äÏ׫¸+7ÉÒ„=?*¸¿¸iŽ_ÏŸ Í·wNÇ»?pÞvÜ[122‚P(ݰ÷¸S(|<î²;÷Ý»w;{ÝÃÀ¬YN!w•º;©®£C’ìÜâ®ëõ)î€\£¦¸¼*YkZ–kéâN¯c÷®Û‰u¡·¿çƒøÙÏ~Š•+WºBóöþö}Œ l;{âÇÉd°{÷îÜv8Cfκ§KÈ]²qïuWâ®:ÃÕ»¸«1¬¥ˆ„A»ÑžZê øºwïš.5æ{ó èšý\ú¡OÂ0B.q¦€Søxܵ1ßÞ.‰‹+VÈ÷–®x LJeÐyèàëÌÁÏ™0žyúiǽWi$¡hó|¼â²+Åž={œuw èèfÎá.̘ïì`ÆüTÇ3@" sf;™ô;v ØMg,®ÁSàëæu€ ÷wvcéªWDà1ùnqlž'###yeh[ZDxb1ùŒ—1¯úº3©®t‘oiæÏÂ!`8—Iï$Ú |9x`úŒy¸é/©¸=àÚGÑæùÝeWâ˜Uh^K¥:wR]:í$ÕḟÃ÷ÉŽiºtuɵÞÞ+ßΠ!¶ß#^T |=ˆ»íàÛ:»±úÕWóÄIJ4O ÎtÙ ×ÝÛÚ€Y³q‰¸z»«Æ¼{ÝIupœvE»yó$:’ÉHëØŒi"l,xC'?3'tãSlÝ}Îl /\wom•P½»˜ ×ÝËïà•‹_0_®ùæÍò³DÃ!X¬íO¯;ц¿¶¥q¢Ák]ËcÎf³èïïÏ5‘‰F%©N­»Çãò{µß½­MÄ>ÞDq¯†ƒ7 à×ûïçüÎÝH%b\‡÷¥ÀsY¥´kåZвàuaºl ¶ŽÙ½î®ëRX¥½ÝYwO&œuwVª«¾‹7 `Î`Áà‘GåûKWnÆÌÎ4,Ã4Vµ£ƒ'tÙ¼Ö<æòÖÝ!î\m‰Sëî­­"ìííNo÷¦&w&ÕUÇÅ76‡"“«Þ^©h·wh¡‹¬‰_K^‚zlfŒWSüüw­­V)tÎkdd$oÝ=ž:óÑ‚uwµ%νÙÊ;x]—k}Ø¿û¹ªÚmß±×õüñZùÆÁó^•v­Ü2æ `ðÕ K—Íc®æ³SlÝ}VÁ~w®»{Gä ˜78ðà‰'äû/,ß„YÓÒ0,@Ãôtð„.›.;PÏÏdŸþþþ\1]—Zò]]Å÷»«uwµßëîµøÆFàˆ#¤ g°mg¿Ý#ž×‰O<=èÖZyÌõ1áËd2yë{4ꔢUûÝÝëî\w¯™0éríxpÀþÎ÷—¼¼AŠÞ€"O'tÙ<溞ðe2ô÷÷ç¾nŠKR]CÃèýîím\w÷ŠƒWÛå¦M=TîôíÄŽ¾~˜&«ÚQàëB¹'6øÒeÓecÂ7ñãVâ®Bóá00­KD\…æÓi ÍsÝÝ{" I„å¸ã¤>½â™×£wç<žÐ±ÒekÂ7ñãpÖÝíR´3fˆÐ76J¾ÙÍ·µq¿»çÄÉÓ¸¿$Û©{±cמ^ºŽkñ€(2æ Ëc®½`ûs·Aí;›ÍæÖÝ ™fÏvZÀªþîmmNh>•亻—¼Ú.×Ü <ðÔÓÀ¦@& ôöõ#›5aè˜Mïyç4¬ôëUÚ5£`Süêå^¨-qŠXLœ{*™_ŠV…æ[[åë&WhžxCä C–SûWà-GÏ< ¬\)?eí60¯:tNƼ,ð ³”v­ÔG¤B¾ðK(™.›Ç]éçǽîn@g‡Ó¶±ÑÙç^wOØMd”s§`xÈʬ™ÀÏ”²Â¿¼@~¶eû^,˜ÝÍàžx;xâ_£Ëæ½ðÎqg³Ùœ¸âÌgÎqohpÖÝÛ\âÎþîÞe×.`Ç g °ôE`ËçgM˜¦S· Ðxã(ð„.›ÇÌç'›Íb`` ÷uCƒ8?zÛYó­­ùëîî¤:R{úûÍ[€%K€{ï“_7nvöÃÃΟK'dO¼ €md)ðlŠ6ïEpÛ5¯öP»»Ä©u÷¶Vqïj¿{,Æ-q^`ãF`Õ+À£»X±ر³øŸ7FÑœj°3éÙB–XõÎ_‡§`ó¸ƒ>é+vì…¡ùæf`F·8óÂÐ|{»ˆ{Â%îÜW»÷gÍZ`Ñ"àowȯë7ŒŸ—ÕÔÁsÛÜC |,ÞC <¡øÑeê91M3/4ßÔ$]âR´*4ßÖ*ÛãThžëîµ!›–¯~¸ãïâÚwíýç"a]íIÄ"!D#¢‘baD#!èº âÜ5ðRà ]6;pÇ>00ëÝÝâà‹…æÕ–¸ÆF'kžT———wÞ Üq'ðäSÀààè?Ó czGM„B:B†pHG8d 6 É׆¡AÓž§ÀŠ;pÏIah¾µ èžž_­Î½î®JÑÆbÜWm6mþ~p͵À¢ÇW¢œ[ŸÖžD¢)Š-æ¹_ Ýù„t†C×ÅÅóz[๠¾´k5^™ºl v=»wwh>‘F2î.qÍÍvÖ|ûèR´ ÍW‡¾>àž{ëoxؽ;ÿçÑHh”°‡ÃâÐEÐEà ]ƒn‹zî£Ü»¦QGèà*ø–•K´óÒ€E—ÍIR%ïÉàà`.4 I”Tªxµº–§ZZw'•çÑ…ÀÕ¿îº xmsþÏbѺړH4F‹°G†íÜ ;4_ ì¶ ;ay†ç)ð„.›.;PçæÍkš¸ôi]Nµº\#W ئFv‰«6ø£¸ö—^ÎÿY$BW[©x á°ŽH8”[WWÞ°…ÝÐ5h¶[Ï%ÔñÆùLàY«¶TË^¶kF—ÍI’ßî‰ištef55å÷xWmÚlqwW«c—¸Ê’Í·Þ\ýàÁ¡!çgáÎÖ8Òɘ¸õH•0v;v}tÞíÔ©tðtÙ{0Ï-/4oˆsO§Å½ÇãN÷Â-q¬VWY^| ¸øà¯6½æ|_×5t¶ÆÑœl@$B$"¡øH8$™ña'‰Îuºu <ɉ¹ê•Í5xºì OF2™L~h¾M¶ÅöxW[âÒéü.q ÍW"¢ÜxpÉo€'ž”¯*."–}ìj=b»vC—ínNžëêxBq ËÀ}™ødÊ4M ¹b¾ R­NõxwךW⮪Õ14_^y¸èWÀŸþlÙê|?ÒÑÙš@:˹öhØÉçÂñ†@§DÂN'ºìº<þ¡¡¡QYó--£³æ[[FW«£¸—Ÿ¿ü¸àBàñ'ò›ÀÄ¢!LïmoÑHH„=âÊ7d{aV< ¨À3e¢´k5þ>xºlž[ð&S…Yóé40}šÓ6;4Ïýîåeófà’Kßÿ^êÆ;®Ý@g[éDL»KÜùÊs¶¸;5€žŒ#jöÒL˜.›Ç_ Có±0sF~­yUЦ¥E~ÏÐ|exæYà§?îºpÕB4"®=·]{$”Ë’«p¼¡CבK¢#õ"𜾕ná) <·€M¦Æºþîмa]²NíyO¥÷ÞÒ$“ÜWn†‡eûÛ¹ç/¼ Ûá dèöÖ·†œ°GíÆ0¹‚5†³íMþÇ1ŸžP&ئiæ’‰ê#J0õgË4ͼZ󩤓5¯ÚÀ¦›u÷bmÈÔØ¼øÍo+®6oq¶¡G#!LkK ™ˆå‰»Zk‡t躬á:;žÐ‰îܲÙ,†††òDJ×uD£Q>¬—ZíëïÍG£ÀônY[/–5ÏÐ|ù'hO?#!ù;îÌo#‰t)$ãQ»•«#îùµã5°œ,žLú-T…íX‘ÎKǯÖÝÂ^ø³ÆÆÆ@¸ìJNŽTh^×%,ï.G«Bóʽ'“ò}•5O&Ïà ˆúO,Y’_<®!Fwg ©DLÄ=*Étá°³ÖN×N'tÙžt-S<åÚMWÅ]áÉŒ™¬z®„‹BG]CE<Ìšé„æñâ¡ùH„m¦Ê¦MÀåW¿½LBòn×ÞÕžD²)ê{D‰{‘µv^ ¼wýƒg {Õ¯3Æ'†ª‘îv ":]]â87l¶o—ŸMÔÅ%O¢”û0<<œûó‘ˆìyO&ókÍ·´8¡ùxë¦þüK_~üà–[ó+Ò5ÄÂ’%ßs„=â”›UýÙ¹õOè²kî²ËM&“ÁÐÐPÞu …DˆfÎ!ÒuÉïë“õLÓ4‘Éd|¹_ÉgÈ4ÍÜ$IÓDÈÕž÷ÆFz·{O¥œÐ<ÛÀNŽ‘àÞ{ïý@¶Â)‰Z“a¤1éø6‹„rà”¸ë¬DG'ì ÿXáøÆF`Æ ÙÒ¥ÂÆ‘0s&°m;°nãTx\â>ì*‹ÖÔ$¤hÔI¬K¥Nq©”„æc1§  E¦4úû›þ|ïûù…kt]ÇÉ'ŸŒU/.DÈÐéN“˜0é(ðVx'J¾^v“X°,ËsÉ,AÞ—­„¨PØ w´‹«lîHD~ß¡Â-[¤•f%×âý8qÎë×Ñ.!øhT&M*4ßÒ<º ,+Ö•No¯4‰ùùy"ô MÓFñúC^‡M¯>…¡Á04WE:Í•HÇ1œO%À¤c,a‡EtfÌá1 GØ%),‘b @{гxþyGÔb±XÝìë~ä…æ!aø™®ÄºTAhÞ5ÏÐ|éô¬~ösI¨s£Ûk麮£»»ñ¦tš.¢Î<ž¾Òæ½ ×,è.»Ü¨p¼ûß4t wvÉ:±aˆ )Ço’Ÿ'SN¦·a'¿X¹¬¼‹÷ËýÉý>º§‹°çBó©üNqq{?<³æKçÙŲÞ~çù®]Ó4èºÀ‚®kèîîFc4œ»¯ JÍrì¦ÀSß«§ïtÙ•vwèXCðŽöÆF'ßÐ BžLÊzqs³¸{ÕE×ågÇ Üsïä\|Ðî‡Û½ëÐÞ.ŸHD®™ÚóîÍ«kÎÐ|iÜwðïIïv·¸‹s×r÷]×u´··# Ù÷G–¡i³)ð¤špn†íÁ‘ί“ޱÂñ±(Ðj]I§ÅAª0rcƒ-ì) '·4;û´S)ù3€|ý?ìÚ-×(›Í" ÕÝý(L¬‹'dÏ»»S\aÖ|SCó¥2< Üþà»ßV¬t¾¯„Ý=vÈ×:ZZšÈŒ–eò"RàI½L*üÖ>]{á¶·D˜Ñ-aâh´x8>ÝœŸ–N˧ ±Ò‰ëÐC÷¼¸ñ&ùÞÈÈ Ã(y’æ÷û122’»Îá°„æãq¹®MvÅ:÷žw–£-¾>à×çž'µЉ»û¹³, Ñ766Â0td3&4-¿¢¡À“ˆ]=ƒr“…áøD\ÖÙÛÚDÈÝáøx“ŽW®\{2)?ot5@±,qžíYà´÷>¨šx8.Þª“‘´pÏ{k ÐÙY¼ms³L”Thžâ>1Ö­.þ pÅ•ÀÎã‹»¦iy»r"‘H®w;¡ÀºlßN<2™L^¨oo—ýìɤ³Ÿ]%~Åã"äîp|s³S"îô,Wád]— a‘ˆ„ó<xßûœLæááaW¢SðŸAwb],&âTb]".ɉ-®Ð|¼)¿-Ÿç_~~®T¦s?Úc‰»ûæiБøI'¾Eý$æ^t¦c…ãUµæf•HÄ Ç'â"8î$:%Bîâ+‘H¾ÛTŸpX~žJïz§$>½ºÚ½h4øû——X§ËDª¥Å¹Æ*4¯Ý{ÞéÞ÷Í“OI2ݽ÷æ¿Øš»º·…ßc³ |F Þˆ’®•å­kæç$ºÂp<¤S&nï— 寳fÇ7«Ìî"áxåÚ ÇIµO¾±Øo?à½ï.¾D\o5·ÍÕjrhYVž{Ç¥bŠŽ$rÝ{Þ˜X7Q~øæ·€E/î…‰uûs8VSà‰ßƒVàÏ%“Éä ÒÙ)áøx¼ø¶·dj´°»ÃñѨ#BJˆ ÇMõu(䏸·ŸÜ{°l™s|“x?Ü?wb](L›æ$Ö©dÅW§8µçåh÷ÍÝw_ÿ–SHI‰·Zö)wºt |…M)§…¥xõ¿úí©:Îl6›'.€ì»îìqoiÎ//ëÇfǧRNv|,æ¸vw8~,¤R˜ü[ÀüùÀ{Þ ¬^=º„mPò)Ü‘wÔ$ÎïóžH89 *±Žåh'ÆÍ¾þ `uOyÄ=¼±8VSàIÕ§G–ÍõB2bP\TFFFF…ã››e[VK‹³õªX8Þï^gohp¶ËézikÚæ$í¥’À Ç<,yÎq¹~K¶›È½/±N5“q'Ö5Ù‘†æÇç×ßúvþ6¸Éˆ»º…”r c†»{½±Áö}„ãU¸x¢áø}‰¼aÈd!•ŽðÀƒÀ“vÑJô‹¯å½Ìd2¹ß76å'ÖåÜ»+iQ%Ö`×`E.ý-ðÃKg8·¸K ›Ôz;“ì(ð„.Û+¨ìx·iМמN;î;sÊ¡&“ް7§¯DBÄG‰{-xªŽR ¼:–Y³€÷¾xùe`÷x¿L¾ÜîÝ0€Î™8V¬s‡æ™X76À…çž/•êÆrîL¦£ÀÓÀÀÀ[°êîbºÅMm½* ÇÇã’ÄÕՕߣ½° ]s‘ÚñJØÕ§¶½)q.ÊÅ'À1ÇHFý£ ×ë÷Â7–eå¹÷d˜áj›Læ7“abÝøìÚ%=Üõk`ï^çûî†1åwx <©¥à[, ÐàÿQp2‘Ó4‘ÉdF {$,¢>mšÓœD…ƒÕ:{)Uè&³Î^Š‹WÛæº»SO–¾(¥E½°_ÊD«î ‘ˆÔóoˆ¹¶Å¥óë 4±Ïû˜lÙüè'Rzvh¨¸¸Oh;¡ÀRéÁ²Œ%ìš&m\»:%‰+ÎÏŽwW¡+ÌŽW⢶½V¡«$ªøM"õfàÍGwÿC~Vm/çŽe9Ýu]7ßÔ4:±ŽÍdƦg ðý7ܸË8PÜ žxnðŸ¬` Åkšˆô4»)LCC~v|±mo©BW ×>–‹W!ëÎNàÔS€§ž¶o/‹¯ÅZ}ah¾±QÜ{ab]sÚ¹tïEYõŠT§»õ6ég0Yqß×s ~n±u¾LÃïDÉ׫¼×ÌO‰Z…®]ÓD,¦M“Ä-wv¼ ÇëÑ>™*t•F¹øx“´“=æ-À_þê¸x÷`î‡DÉL&“W±NÕ›WçX¬bš`1±Î™P/[|û;ÒÏÝýªJnF~›Wçù°Ê<ÞpžO}¯Ž¶ïã] bõ³±ÖÙ[[éÓE°•@ª*téÑ®²ã˱ímª.^×µøŽà´Ó€…‹€mÛœÈE8ö‰0Yy"o’芊RÄãcW¬chÞy—¾({ÜoÿKþÏœ6اk/ÛxñšO}¯Ž¾»…ܲü[Ën<§¡B¼…Ân’q>½Û)”âÞö¦„=™-ì*ï®B祭XnÈ뤄í5×ʽV¢éµµÕbJwh>–rÀɤ“X—Nç×óojÌwïwi÷úÝï»c,q¯üz;õOÈ„{2®½°n|C£ßå8>÷¶·Â*tîuvw8~*Uè*íâUR`[«dÔßw?°q£#œÕpñS¹n÷®A®}Wgþ¶8·{W.ºw‡çž¾õà®»ò:“éžxR´'úo6„DðZ[¤ ]2éÔqwo{+\gWûÙÝMa¼Žßî¶óçgü›ìyžŠ‹¯æ²M6›uî[LëÔ¶CwÅ:Õ VmcdÅ:añà›ßþñZˆ»èBXxBÁ®Å\{($YÖ]vÊ6wo{sW¡oÝkáøñ\¼Z‹oN'¾¸ën`ÅŠ|ïÅû˜çÞ5¹m®z󩔞/ ÍÓ½K³¡¯}¸ï¾òˆ;ÅšO(Úžv]—D¬ÎNéø¦œw±mo…Uè ·½U² ]¥PkñÀìÙÀ™g?ý9ÉȽ6MÓ“¡Y·{oh÷:î=™’I‹š€©mqw ËóÛw¿¿ó¤Nžhi×*?ÙÅ §ùmN9½Baœ,òi]"ûÚöÖì*Vo’¯¶½MÅÅ«è…jDsÔÑÀß<ó¬#¤¡PÈ“÷TMÐZ[EÈ#‘±ëÍ«V°tîÀ׿ ÜsÆtèµH°d’ž _íkåÁkVj(P¹v7á°vW—ì™V.6Ñ.¶í-v\»{½šUè*%òîµø9³¥øÍÒ¥D©3êÝщ¼¨mqª¨rï¬7ï8÷¯| ¸ÿþÑâ^ód:«@é žd>Q išÈf³EÃñÝÓŹ«5ÙÂno…UèŠm{sW¡ó»h¸ÛÉ&ÀÑGÿr(ðøÕuñyÜîÝÐeݽ°[œûž±Þ¼ðÂRà¾<ð€ÅPàiákq½&wÍj™p3V8¾©IÜú´®Ñ=Úsáøtñno^ßöV.¯öøÏ˜œ|²ìîï÷VF½»VAS0}š³-.·u1_±®Þ·Å-yNÄýÁ½'îÎkÊ =žÔÒf{þµ+ŽDD¬§Oñvo{SÙñétñ¦0~ÛöVNÿÖceöáGò]|-®Üî=dr”{O¸wwb]½òÜóÀ—ÿøç?«#î%M꘼G§¯w·|rñІã5êÎNqîcU¡ÛW8Þ/ÛÞÊ%ð¡Óˆæ”Sd¯ôîݵϨWÿ¾"‘”I›ŠÂ¨úÍi'±®Þ»Å½ô²l…›ª¸WcRGÿN'$oÀQÝÏ  µí­«S\ܾªÐ¹›Â(aWâà·moS~YCN;Ù£’v²÷Þ—ïâk5‰S÷9–¦?jÙDm‹k)pïJÜë‘+oŒ™-¯U¨a ¡À2J°K(×î&‘"52ÐO´ ]n¯tƒãÚƒ¶Î>Qï.~ÓÞ.hžyèÝáL®ª¾…ª ¡LÊ.I«öï'Î}Tî]-©Ôc·¸5k€o};¿¶|þ=³˜LG&𜤖v­¦+«”+(æÚu]ÄzZ—üªÜw©UèÜÙñõÜFTmLÄ7¼ímÒ\¹xÃ0Ê"عCó‘Ð]PÔ&/±.îäLÔch~ýzà»ßn»},q÷h¦`áBàé§ETNzð–·ˆ¸«ìx–˜­žÀ«dÇ3€“ß#÷fhhôDmª46ÊdÎ9ŸN;“º¦‚I]ßÅgž¾÷ÀóÏWGÜk1VÊœPàIí\vå2\5MËùÂ}hxøà±Ç£Þ ¼ýàøãG©ê,‹"_I”‹OÄ7½ xÇÛ;ÿ>9wOÝ÷:’Ð|*å´ƒM$Ä:÷Ú{ÐÝûòÀ<òÈÔ& ÜÿN(ðd¬!¢Ên1_ìݡۑú‡n¹8î­À©§H½ôt:¿B…¾2.>íêÞýnà±Çœv²å¨Q_èÞãñÑ •*±.È÷xÍà§?î¸Ó;N› <)«Ø« íÂuÞç_Ï?î'ù÷$BÀLú ¾ÐvF}¼ 8ì_¥ìm·—'ºc@{›ÜÃXÌÞ™’¤K÷Ú{ÐÝû¦MR_þškù¼ < ¸ÈÈ }aø~Å ù<ø ÔK?ý4àÀƒ$tO¡/¿‹w—°mo—¼ˆÇQR÷§´P}~„ÎNg­?®ª¦G7” êýܱCêË_v9Ÿ7BŸØ ÂûPÒµªEˇ‰†U¿Pè_^&Ÿ> ¼óÀ©§ûï/ëÅúò¢JØÆ›€Ã“œˆëo»ùDÿζ6r·{Ï•¤;=‚êÞU}ù‹~U_ÝØj†O…÷™ÂW:¹g,¡î9ùÜsðžwï;Eº¡©u[ }y\¼j'ÛÒ ¼ç=À£ žžÒ\|¡{W5çÝîݽöd÷>8(%hÏ=?¿§;žxîƒÒ{XÒž×꼩j¾PPž{8ÿÀ§?\õ;`åJDGFd¿=ë^OñÅv¿yÝÁÒm.4Éé¼r«æ¼½ö^èÞƒ(ð™ póŸ%©n_Íc¡À“2Šºü?¯‹a1¡ž}Vs|åkRê³·W¶ÝŒHH™B?y¯ÖâSIY‹_0¿¸;ß—{oj”~ïîÌù±ÖÞƒÈÝw?ü1°e+Ÿ-â/<’dǼôëåÏk¦B÷î¬ûà÷Hu¼ûÎü7à˜còKÜ*á"¥9oÕNvþ|ओ¤ÚÚðð>&Œ®gË0€Ö6õztïÿ|øÖwU«7 ,á^1FO§¼WUÚý~Ít]µ>ßÛ \wìÝ>õàÃÿ̛Ǟñ“uñ€ÓN6N8¸ï>`é‹sñ€8vw¿÷zrï‹—ßü6ð þ™q§û"ºêнïØœw>ð׿ùÇeB'ž¯}](ôÛ¶7Þ$‚ôïgï?˜;‡aûR]¼é9s€SN^X*Ùáã¹÷–™D""扤|L×½ ¿½LªÔMln«ñÙ#øqE‡÷¡¤ke»~K5W{èË—\<ú(ð±Huåæ•Ð+A#c»ød8öXàˆû€EýßD"Ò6uÜ{2Y|ß{PÈf¥ Ð//½®Þ7#ôxRGÜW®ÐÍïÙ<øO`ÅJ`ácÀG> x³í'*ðjÛܬ™RIðÙÅR{ ¨{oš›÷O8…m‚èÞ- ¸ý/ÀþØÞKq'øò¾]¤„©t}m/tó6¿ÿðâ‹ÀG>œò^§É “ðÆF¹øx“´õ=î­²=±pXjÎG£vYÚ&[Ü“’pçîzøÞ€µë(îEÇg÷‡PàKÕ,R‚¾×Ñ5+g`hX¸X¹JŠå|ì#²×[…í)òã»øéÓ¶îp´®K]K‹kí=á„æ›šä¿RǸ–ßý>ðÒKõ îÌp•3f½a%;RÑ.OI]Ë6o®þ=ð寻CÂø,y»oߨ ídOzWÁŒ?twKqåÞÝÉuMÁª9¿f-ðý‹ùWÜUñ¨‰}øÐÁR—]-e€~e•TÃ;çl`Æ ºùñ\|C0mð^ÛÅoÞ,޼½ÝI®+tïAë·mpîy21œJ§½š¹lBèàI-]vµ0M`ÓkÀ•WŸü4p×Ýtóã¹x~?äÇÅG£À~ó%<ßÔ$‚®Ü»Z{Fe‚àwÚ³G¶Ã]õ»ÑÛ+áÞé²IÝ:xº¥]«É•×÷¿—‹¡!)ÓÓ|ðLqó*aŒn~t#šö6àÄwH [ÓöÛ‡ä:©mq*s¾¡!î}pP„ýG?]—ââ^?BÌ; <©±Û&ùÒk¯¿¹xñ%àË_}£¬+È©wßÐÌ œx"°g¯Âéß+?O7K ûDB}Üûð0𧛥;ÜXâÎÌyB/ïÌ;Qòõâ5›È`~ß}ÀêÕÀ§?¼ïÙÛ]ïn¾ÐÅwuÿù!`ëV`o¿„¯u]Ä=op­½ûyâ÷ÐCÀÏΕÆF¥»öúzHœËÂ|ðߎŽü²«õ&òªMc£D;Âa™ iš\—ÆùÕÏ‘ŽmÛ€‹\{×ÅÝ›‰{Ôw ¡ÀR¥ÁV‰üÐpÓŸ¤ßü—¿ ¼å(Ù¦ÖšëÅÍ»]¼úU}QKêã·kašRkÿ¢_å—ãu?c¥?oܧN(ð¥Á¸Oi×ÊW±2o ˆ…kž~øê×€ÿ>øÀé@WWý…ìU…;åæ•À«H†_Ïÿñ'€ÿû°~ÃøâN—]˜ñšOè²ýpüJèׯ—ýªUÀÿû$0ž„ìU^ÐCöêÜÔ„¦X8Þoç¿l¹Ô˜î¹üû^?Yó“Ÿp[–ºßœøPàI]¼ôA¨(‘ï﮹ظIDþè7‹“­—}ÎkËà¼óûî¯qg‚xZà-Æ}J¸VêŠY|éË,òpÿýÀÆÀÇ?œþ>Ù®Ú£†ÛÝ/28\~ðÇkƼý~xkÂmÙ±ykã¡ÀÎà=-ò/¿ üìçÀºuÀG> Ìèv¶…BÁvò~Æ4›ÿ üêײ§¬w¤ï ßQR¿ÏIai׊׫샫y%ôÛ·‹\¿øÂçýHáËb-{¯òÀ’T·m{þ}­Œ¸×Ù²“ì(ð„TI²+2¸&ß ·Þ&kº_ú"pÄá"ò±X}m¥óÏ.¾ó}Ùö8Yq§Ëηx=(ð4ðœHWÍeWë84Mƒ©öŠAªßmï>ýÿ€“ß+¡`®Ë{‡ %©î‰'FßÇZ‡æýønÖ¡ç.9 CCÀUW·ÿelç_%ò7—]¬YüÏ—Ù³Øc¾–˜¦ôvÿõÅ"ô…÷ÍO…l'x¶&,íZ©@õE~÷Y—ߺøÚW×â¬Ëûµ¤«_Yô˜ôvßîêí®Û ëk/˜Áy·ÜcÇj <¡ðã•s@Vöj]>›þù°kðÕ¯G½ÙY—²¯ëÖçž'K'ã‰{9ß¾[„?¹9"ïDÉ×ËÊ :դⲦi£ÖåŸ],åP?ÿ9ओDä˜|Wiúú€ /’F2…÷º4qg«´ñ†ivxÊ{Õ^5ºìêO Ýü²å’|·uð¡ÿ‘gò]å”*u—]ŒŒLUà9é{ ±r•è)ïxBjy̺®çD~Ý:iIº};pö'€ö6I¾Suì)òåãá‡ó!½º®×qF!žpÀ©¨È÷öWýؼøÂç$ÃÞ²‘g†ýÔyéeàû?”õ÷bâ”ö¯Œ<` <ã>¥]«*ÇÊ8àŒ}] Ã@Ö.|¾w/pûíÀ¶­’|wðANòª|ÇK996o~ú3àÉ'ó¯¿?ÄÝç“^Æè)ðÔw?é;Ãzå¼6†aÀ4MX–…¡!ɰߺ øÆ×¥í¬e1Ã~*ìÚ\üàÆ›dÂävïµõzšôRßý‹ÎK7™_žsüOý9íJ^®Wƒ~6 ,] |÷»À?îvì”5ãáa§Ë÷OŒáa©;PØ!N‰{ùDW+é9ñ÷vç§i'¡tðôðµœSÛN°îì ÷&)î5yɲV½üèÇâ@O9H3þ´§Ü.Î=ؽ;_Ü'š¯—]ù󤇧ÀSß««í»fAŒ EÞ²$Ãþ¼óeïö™ÿ´µ:"Ï ûñyéeàÇ?–--îÅÖß9¥¾O:xB—œ‰J¡ÈoÞ üú×"òý(ÐÕÁÞòûbóf)fóÀƒÅÅXB|"ðœ–>™æ å݉‹¡l6›«z·³¸âJ`Ïà“ç3ºEäŠ|!ƒƒ²î~㯩w²æƒ=•sÓŠšxB§ÂWZáÙlÆÓMÓ …`YVNè€k®ö약ò³f:öyûñ¶€G~qÁØÅl*%îAŸÀ–r~–; ”!z <Þ>ž.Û[÷^y˲02Ü|3пøò—€óóE¾Þ÷Ê/[.â^}5_Ü Ÿï‰=çAwÙÕ:9*<žò^£W-ÈÉFÁ˜¸мewÜ _ùàÀFG‘ß¹S–1þùÐhç´ju~yÎ-Ê;ž?»ìZˆ<Ü?04|íkÀ!çï¯7‘Ïd€¿üøÝÕÎuP ‹ê÷~wFÔžÓÂÉM©9˜ù ]סë:2™L®†ý£ á_û*pè¡"nî–³r]ƒm{øÑO¤f@1A÷’¸ó9WnX,Ë5§…÷ï˜ÃK@Æé롺Wu¯O(‚¡ÔÀ“O?þ ð̳@ß.`` ¾ªÞ­[/â^y%_D‹u‰«”`ñ9¯tGBO _Q™Êõ¢ËöÆõQ¯Õ<»XDþ¾}´#êÊÉ[V0|?påUÀßîé(¼'¥Ü›`»ìZŽÑ«)ð”÷Š^«üHY}$ÙùsP,MäŸ{øùyÀ¿÷VGäÃaɰšÈ[pû_€‹/Î÷b¡ùbµç9¡¬þ˜Ã±šO¯¢À×kµ¸ P(ò/¾œwN8ADPÄ ÚšüSO˺ûŽÎ}+kžJ <ñ©Àºìú˜¨?Ï]”^‰üŠ•²&=<œô.çÏ)ñnÃFéï^Xg¾ØD®Ö"_‘1MÓØLŽOH}Šå:ÏP(MÓÉd¯¼ \p`™ÀI'ÙNÊ¢Qÿ‹üÀpÙåR À-îÅ’Ù*óÕcRÙÏÙR¿Ð«Sà žgÙPáz%ò=k€ ˜ð5y?‹¼e¿ ¸äg—@ahžIu'òk€‹~ h:pâ;DÐÕÇëkòO?#ù{÷æ‹{á5­…¸irY™saŒžO]võ)ùÕ«%ÌmÀ Ç;Îˉwk×ɶ¿+œïšçä²¾Þ9B'tÙu=8†˲rkò«WËš¼¦Ç¿ÍÛ"ßß\wpçßóϧÔuwºlB|*ð\×)íZY㬅Ñes¢‡aš&LÓ„eÉ>yåä{«7E>“î¸äRÀ@Ýç÷fEÁx& ŸA§.²{ÌáXM'Õ}/í;’ATâ¼Âá0FFFr"¿jðë_Ë–¹£ÞìºWD¾g pÉo€kb†/„=Ï%#„µèýæàáýTvòª º®ç‰¼i//“ŠwᯇÚ'_«5»v¼¸÷¾üã¯^µºzpÙÕs8Vû öƒ'Ù/Û#/¬-ò*Ý4_~ñK`ÉsÒO~ïÞÚö“Ïf%4ÿ›ßßW.á Â3Éží„Oj:°øËáñ¼ö-òÏ¿œ{®üÚ·K’Ûj%òËWHÖ|ïçY›Hh>IÿŸƒ'A€ûà}Gñ`™ßEküÁ¦þ&_ûB æððp.\¿x‰ˆü·¾ |°ógÝ]è*Mo/ðÛË€ÇÏ?VåÞ û½ó¬Ö¤£„fÔlAz üT$‹ÏLI×Ê]YÊ3mvò*§“D"9‘·,)(󳟋Èp€³þ®D¾’×>“îº[¾˜¸{§ZÿŸÁª]?‹Yô~†!zR–Á¦ÞÖ½rÎJäU¸Þ²€'ž”†.«V×Wr€~a)ðË EèÕ5+±ŽÏ`±IGð——H:x†}J½V••Ñeûj–^]oYÀÃáðÕ¯óçWÞÉoÛ\~°xq¾{w‡ãK ÍÓe{à(2æp¬¦À6<窞‹jN£Âõðà?T øÜgÌTßò‰|6+=Þ¯¹6_Ü CóþwŸõÓЉQ <ý»ü»¼‡Z®éä“5ÆÇÃ0 Äb1 æïîþLgŸ ×3R^‘_ú¢4ÁéïwÎM¹÷bëïœúëøéß)ðTøZ)<…ŽçRp îÄ»þ~à–[¦&à£t-¿ ®OMäûú€+¯ÌÍ«hBaH¾:ׇm“©ð„OçÐɇay"¿{7pÝõ@"œñoù M^äM¸ï~à†óÿírW«£Ë¦À? <áÅs)ë9„Bòj Á²,ìÜ üîw@S#pòÉŽ¨Çb@8¬þÞÒŽcå*àâKJ/hC—íýs³kÝ < ¼ÿ <]v=D= E~ËVà²Ë†FàÄwˆÈ+¡·ÿè„cpP¢‹Ëÿ÷ª¹5ŽÏQùŸ-«È>Jx <©ýk,ÛZØ‹ç0ŽÈ¯ß\~¹„ë>*ÿq™¨È›&ðÈ#ÀÕ¿÷nØzpÙ„øÄÁs^XʵRÿa÷þ O—]{‘·, CCC€+ÅɧSÀë_?zM~_è6o–ï68÷×XW)a§Ë®ý˜Ã±Ú_°’™ô`ËN^^†‰}"‘¢Ñhî¿\²Dzµ«v7##Àm·ç·l9Ú v)ôû³%“=F èàË7E$¥\« ,†Ñe?Ú‡‘ÉdÍfašÀÂE@c#ðµ¯:kñª—üX{ä_X \p00à¯;±ÎÍd‚þl•zF­ÃsžOêK,xþMÓF144„l6‹lVªÝ%“À—¾(¢îÞ2W(ò»vW_ ¼òJþ¤¡X¯w&ÖñØ ž~ÊÞ_Úï¿øtÙµÄ0 D£Ñ\µ»¡!)3ÛÜ |âãù™õîB8¦)“?ºÊцB!O%ÖՓˮ՘ñšO) Ëöðõ…By%m÷ìþüg µxÿéùÕîT!œ5k .vïvþ͉íy§Ëöß» å~O(ð$x’M—ðãW"?00˲°½Wöµ·¶'œ_'›•ĺ…‹òÿûb¾ïã¦Ëööq[ìùN/3| J»V“ˆ•ÑeSÆyX»¸êj ?Ü ×/] \ô+'þpÏ»×ÊÓe×hÌáXM§ÂWQá5-·­Åoƒ,]ví ‡ÃF6›…eË—¿½LÚÌt°cpõ€uëœs‡ÃÐuÝ“Â^.»–cÇj |©Ÿ™’®•åÙ÷Œ.ÛçÖÐЀ\fý’ç€K+Ûç6nnúS¾ë/L¬«ôµ£Ë®òq«ú .}·\B§¯Ž§èÕ­h—O@Ü}ä³Ù,FF€'ž~y!08PþÄ:ºl/?'£×àéß)ð„΂ƒ¬Ïͽ¯2ëï¾;ÿÏŒ·ç.›ÇM(ðôðñðþ-éI—í¡Á `û\¡¸»3罚XljF¥ÇŽÕxRÅ‚Ís+ß±G"‘\IÛL&“ Ë»ÿûê^ºlBü-ðœ–>™¦°Õý@\©{¢ºÃ)aw×&w‹üdÿ}ºlo?C–¦ZOa⠞ЉòÜü{ìcGñïÓeóù!xø²xkŒ—;˜/8]v-Ž[Ó4X–5ê¼{Nõã²k5æp¬¦À“êi¾í—Í×ûâWûs¥Ë&ÄçÏyay<<âzsÙõ2ÑཨÞ1«î”N©zx <á Åc¯Sñ£Ëæ1 ü˜œNü%¶äzMîšÑeó¸é²yÌ¥Ïæ”ÆRßžMi×Ê)Ëõîf³Š]6¹ÂcÇj <©Óè]6›¢íûçG³;T‚ <¡hSü(Úl>;„O8xqÐå3Äc¦h <™èàå^‡çàÅã¦`óÙ!„ûà}‡w³]8èò^ðùñÿ1;f¡Ø˜Ã±š_ªdñ™)éZ©/ºl3ŸJ_k÷˜Ã±šO8èrÐ¥hóùá3O(ð€Å°OI×JýO jàå<Å‚Ík]É1‡c5žÔgl€.›ÇL—€çC³ëÐkÜO/Ë ‘“Â’®×à)Ø?^ëj3×à)ð„ƒ.eŠ690σñøò=Kd³ikÔnÍ®+éǾðlŠŸ¯ 2¿±Ç›ÜØC(ð¤òïàÀÀ^$âMèïßËŽÇL—Íç£ çc©ðˆÇØKM§À“Xy ô£)ÞlæàFÁ浦`Oýœd]œzSc#ú¹ðN'ÕÕv –ìÝ»ÉDÊ^-S­jƒeºl>Á< âñ8úíä:Š<žTOäaáµë1gÎ,^²¸¨¾S°)~œÐñœJ7òÿæÎ›‡ë×2ÝŽ?5L>@%½|ºe"kYèéY…:¸¹u3 öï9€ÑeSàx>%?AŽG8ðÀÑÓ³ YËBÖs(öxR‘·L ëÖ¾‚yKÞÕ©é)Ø vΩ”ã¶,µØgÁ²,ì¿ßþX¶ôQX¦Åex üT‹7¢”‹e™LÓÂKKŸÃ~ô‹¢ïöK9Ùˆ¢Íc¦Ëæqòì ‡½éM¸õÆK`š2æ€Ûä(ð¤ î€iZظ~š£˜1c6nÚ˜7S¢`S,è²yÜ¥-VÎ(tϘ¦Æ(6®_'&ÓSàià«‚iY0- ÓÄ’gÇqLJn¸¢Í‰›Ç=iqwöñÇgŸZˆŒiæÆŽÓøÉÛR2ñËefÖ„™1ñÄcáÄwžˆë¯¿Þ®4eU8ÉŽâÇc¦hñ¸MÓ”õvÓĉ'žˆ'{fÆ„™5=ñ×ý÷ÂþÆ78ONI/-`è:ÂaéT·Ýý4öÛovïÞ Ã0 ëF‰]6…‚ÂW¿Ç-9=¦™E&“A"ÇËË–ãô“Þ„}»12’EÖ4©ï%òܲM5ÈtÞ:xËÓ›úûûñà½Ãi§ng»:¯îñã¼3xû˜ý!*~=÷äÇ˲rîýÔ÷½Þû7ô÷÷‹ð[Ì¢÷+žx‹Ÿ’?¦dM #Y »ý|⟀Ó)5é—í¿A·žÛ¯÷Ç=µز,˜– Ó2ñ±}»ýŒd-dM ¦Åñv2/Àmrþõñ0M ÙŒ‰_xº5„c}+.\ËÒ`YZEBz\Ëæ9ñ¸ƒsܹˆŸ%îýØcŽ…n áÅžC6cÂäö8:xRy·ÃjYÓD&kâ/·\¯~õk0My)'ž[A—M×Çã®Ç¾åÚónZ&²¦‰ÿýÊWñ—[®G&kÚëî ÏSàËbáù)õcÙ³îl6‹ûî¹­é&¼å-GòLUPz\NBxÜõúì[–%¦ ›ÅÑG…–T#î»çd³YX¶Às¬õožûà}íâ%t¦eMèÙ,n¿åZ\xÁExË1GÃÌš2èVÍBŒÌçq×ëóãõcϹwÓ„ifa~yÁ…¸ùºK1’ÍŠƒ·÷¿:xR³U’í2ÿ¸û¯xyéSøÌg> ÓÌʾÖÜ :õ•.›ÇÍãöÿ³Ÿ Ë›†7³Y|êÓŸÆË/<‰ÜýWd2&²¬? Sâ…}ð¯ß¿‹ÒTfiº–Û?gÎl\uÝ]8ö˜c°zõ«0ŒtC‡¦éEºl7]vö±ÎÍ.Gkš²Ù 2™ æÎ™ƒ‡~ÿлÑÓ³&·ïÝ49,O…V¼Æ}ð¤<3ryaM¬[»¸òBÜpã ˆD£0-÷:è²yÜ7ÕÇÂ4³Èf³‡Ã¸öºëñû+.ĺµëÍ–š¤Kèà÷åà÷£ƒ/Ç`èB!Ñh_üÊw1˜ áÓŸþBFº«Â]­7ºU7]võÏ-—”kšâÞGFpñ%— jŒàÂóþCCd2Y;<Ï!yÊ~%|nVÉÏ”sꑵ,d²&†G²¸èü"ásŸû<²Ù¬Ô®Ïm{±*2XÑ­ò¸é²=xn®„:%îÙLç|ò“H5¸èübxÄI¬“ÿqLe¡âT»¬iBËH½úk®»å~lܸ·Þr `)º®Ûû&Ý*›.;`禉Ôh€eÚ•êìÐüéï?~ò“Ÿâ£< Ã#ʹsß{Ðà6¹€‰¼ “µ`ÁÄêÕ«ñ…O}W^y=4·Üzkî$Ýy}£hó¸yn¥¿SÈF:Âe³Yd2#8ýýïÇå—_/|êCX±r†3&²Y»$-ã`=ï^Xky×àË>躆!™õ‡ñf|àßÏÂ]÷<„Ë~ûÛ\f½{M¾š…ÇÎss\v%ß½N¹öl&ƒÿ>çœtâ[qËŸ®ÁSO>Ž;4Ïĺòó¢Öà="ð|²*,òûí·?ÎüÏ£gí6|÷{ß A× èº]× iú”KŠ6›çVûãw—Ÿ•5wwX¾ÿýïcöÌ6ÜtÝï°rå Š{Å~3ž_y‘7 áŽd"ŽÏ}é[è˜6ýØG°yó[àœÈ«ÁI­Óspå±óܼSÒyùd\tѯqÛMWãªË/’ly{+ŽÂ¿j ¦ÀW^ä5q塎pÈÀÑǾ 8ã,lß9€¯ý«Ø¸a£½W^ªÞéj]¾`}¾#]6Ï­]v9®¿»ô´ê(iY¦“%ŸÍ"kf1{ölœ{îyˆYÜzó5x|Ñ#Éd‘ÉÈÀ´@q¯0/QàmŸO¯üàQ²7 „Ã>zögð_û,®¼â \pÁ/ÑÛÛk;yÝ{%ðÚ¸®ž.›çÆã¯àñ[²7]•šq7s‰tj½½¥¹_øâ—pÎ9ŸÄ•—žëþp9FF²ÉfóBòÔö*ü+x |•E^’ë$do:B!‰¦&|øŸÆÏú$®½öZ\|ñ¯ðꫯB×DèEäõÜ$ÁqKšGÏ“¢M—„ëo©ÿC®=´({^8Þ4MÌ™=Ÿÿüð¡ÿü/ÜxÍeøÃU—`ÏÞ~ ÇgÍ\H>Ö'øjq¾êƒ”¦9Mj CGÈÐÑØÃÎ< §}à¿°qÓüéOŸÿ|3vîÜézûÍ¥ïZe¥^ ö½ðõñƒ.»Rânå¹wwv¼„ãÓ©N;ýt|ðƒÿÓ»pû-×áæ~þA©J—5sMc,†ä«ÎËx |ÍݼhºžsôJìßø/o»Þý>¼ý§buÏ<øÀxì±Ex饗°fíZqóÐ0YK¦ÿâúX´9iòÄM°÷Zû¬Y3qÐÁãÍo> 'æÌ™ï»wÝyž[ü´#ê¶c·ìµvºv <žBM× k: C9{ý<Gu ÞðÆÃ1oÁhçŸkÖô`GïŽ:¸H|NxùkCss fϙ׿þ غe^]µÏ?÷žzìQ,[¶ÔtË®1/Î^>…O'BŸKƳòrMËÅ !ìÐÁ˜Þ=ÉdšúGH°ìÚµ7¬ÃŠ—_B&›qö¸çö»ÛËÀ!z†x !„:xB!„Pà !„ºÃÛä¡'„Bèà !„B'„BêdÑB!„žB!>pð´ð„BHð°öˆóvB {¼p^ Ñgù<B žÐ4¯ìƒïâ3A!$ôÑÁ;ôòy „¶Rà6ðy „<¡i^é&·šÏ!„€°–ÞaŸB!a9ÞcƒB Цy¥ÐÍ>„B ^8Íò@¹y3[`=€n>„B|̆W×õÎðÂx©ý£|.!„øÏh™W ÝÀCÎä³A!ÄÇ<ä•ñ’ƒ¿›Ï!„Ÿã-óÆüŒõÛ5fñù „âCÖ¾º¾w¶WÆ!zÓùíM¾Âg„Bˆ¹ÉKã ?gF³úíažæ3B!㼩gýŽg(ðÅ–8€Ï !„±¼gý޽t@º/Òå|N!„ø Ïi—|;$Ù®Ï !„0`vÏú[½tP^Ú¯Ø à*Ÿå3C!Ä\Õ³Á[âîßÝ\ø­YVˆð¹!„âa†ì׳aÇZ¯˜< ½t¯ð >;„B<Ì5=½'îÞqðÓÓž½’Qoðù!„âA²^׳q§'[žë¾p«ÀŒzB!Þår¯Š»gü¬âZ kñ-|Ž!„xˆ^û­Ý¸³×«¨ûà~ƒÏ!„ñ /‹»¼âÇðy"„âpìÚ;=}ºO.æ‡ôñ™"„RcúlMò<~øÕ~¹ „BÍÇlM¢À—‘¿¸˜Ï!„q1€Ûür°ÞXƒŸ–žèXi+K!„T‹%Ž„T®¬Ý´“¿/fv¥KùãÝþ )„C!„TšUÞ`ƒû›ë^£ÀO@àS¥þ' l'ßÎçŽBHÙ àh[ä‘/ðÞÎýö„ÀÏ(]àà÷Hñù#„Rú¼À“Å~¸Þã¯ûøÂ? à}öð$„RföØó¤_O@÷ù x².òŸEB!eâ5[[òóIè¸Ï8>Ù—H!ÄÓ¬¶5忟ˆ² ’ñ$ŸMB!S0ŒEêüˆG’ì’åú«üÀGùœB)k|ÀÀDÿƒõ¯í¢ƒ¯"2‚“ï!„ì›=¶f|¸q§ƒ¯¾ƒw3ÀÕŽãóK!¤ÚÂ>©.¯;xo|g²’ý§üÜ/O!Dèð —Nå/Y¿™!úZs)€yö¯Y>ׄR·d 4!ÐxÂÁww$«õOàë>i\C!¤>„ý?°¼\é†- Ñ{Iàsÿ¤-ôŸ€dÞB ®²…}C¹ÿr ü˜^}W´Ûnþ,°-!„…glÇ~=¤YLEØH÷´À»9ÀúA2ð !„ø‡Õ¶ _ƒ2†á)ðSø„×®Ë\ï…l±; Ò'„â6x ²Õí¯¨A¹ò[vSà}(ð…´@zÐjÿºÀ,ûg†ý}B!åc œOk!åcWÙß_ ·ÖH'„BžB!xB!„Pà !„ - Enter a desired name for the application. Just A-Z, a-z, 0-9, dash and underline are allowed - name: requiredType type: string label: Required MuranoImage Type initial: linux description: >- Enter a value to be matched against 'type' field of MuranoImage metadata - name: assignFloatingIP type: boolean label: Assign Floating IP description: >- Select to true to assign floating IP automatically initial: false required: false widgetMedia: css: {all: ['muranodashboard/css/checkbox.css']} - instanceConfiguration: fields: - name: title type: string required: false hidden: true description: Specify some instance parameters on which the application would be created - name: flavor type: flavor label: Instance flavor description: >- Select registered in OpenStack flavor. Consider that application performance depends on this parameter. required: false - name: osImage type: image imageType: linux label: Instance image description: >- Select a valid image for the application. Image should already be prepared and registered in glance. - name: keyPair type: keypair label: Key Pair description: >- Select a Key Pair to control access to instances. You can login to instances using this KeyPair after the deployment of application. required: false - name: availabilityZone type: azone label: Availability zone description: Select availability zone where the application would be installed. required: false - name: unitNamingPattern label: Hostname type: string required: false murano-9.0.0/contrib/plugins/murano_exampleplugin/setup.cfg0000664000175000017500000000130013656750211024240 0ustar zuulzuul00000000000000[metadata] name = murano.plugins.example description = Example Plugin to extend collection of MuranoPL system classes summary = An example Murano Plugin demonstrating extensibility of MuranoPL classes with code written in Python. This particular plugin uses python-glanceclient to call OpenStack Images API to list available images and return their ids to caller. Anther available method allows to get murano-related metadata from image with a given id. author = Alexander Tivelkov author-email = ativelkov@mirantis.com [files] packages = murano_exampleplugin [entry_points] io.murano.extensions = mirantis.example.Glance = murano_exampleplugin:GlanceClient murano-9.0.0/contrib/plugins/murano_exampleplugin/murano_exampleplugin/0000775000175000017500000000000013656750351026665 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/murano_exampleplugin/murano_exampleplugin/__init__.py0000664000175000017500000000515013656750211030772 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import json import cfg import glanceclient from oslo_config import cfg as config from oslo_log import log as logging from murano.common import auth_utils from murano.dsl import session_local_storage CONF = config.CONF LOG = logging.getLogger(__name__) class GlanceClient(object): def __init__(self, this): self._owner = this.find_owner('io.murano.Environment') @property def _client(self): region = None if self._owner is None else self._owner['region'] return self.create_glance_client(region) def list(self): images = self._client.images.list() while True: try: image = next(images) yield GlanceClient._format(image) except StopIteration: break def get_by_name(self, name): images = list(self._client.images.list(filters={"name": name})) if len(images) > 1: raise AmbiguousNameException(name) elif len(images) == 0: return None else: return GlanceClient._format(images[0]) def get_by_id(self, imageId): image = self._client.images.get(imageId) return GlanceClient._format(image) @staticmethod def _format(image): res = {"id": image.id, "name": image.name} if hasattr(image, "murano_image_info"): res["meta"] = json.loads(image.murano_image_info) return res @classmethod def init_plugin(cls): cls.CONF = cfg.init_config(CONF) @staticmethod @session_local_storage.execution_session_memoize def create_glance_client(region): LOG.debug("Creating a glance client") params = auth_utils.get_session_client_parameters( service_type='image', conf=CONF, region=region) return glanceclient.Client(CONF.images.api_version, **params) class AmbiguousNameException(Exception): def __init__(self, name): super(AmbiguousNameException, self).__init__("Image name '%s'" " is ambiguous" % name) murano-9.0.0/contrib/plugins/murano_exampleplugin/murano_exampleplugin/cfg.py0000664000175000017500000000146613656750211030000 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_config import cfg def init_config(conf): opts = [ cfg.IntOpt('api_version', default=2), cfg.StrOpt('endpoint_type', default='publicURL') ] conf.register_opts(opts, group="images") return conf.images murano-9.0.0/contrib/plugins/murano_exampleplugin/setup.py0000664000175000017500000000145513656750211024144 0ustar zuulzuul00000000000000# Copyright 2011-2012 OpenStack Foundation # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import setuptools # all other params will be taken from setup.cfg setuptools.setup(packages=setuptools.find_packages(), setup_requires=['pbr'], pbr=True) murano-9.0.0/contrib/plugins/magnum_plugin/0000775000175000017500000000000013656750351021041 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/magnum_plugin/requirements.txt0000664000175000017500000000005113656750211024314 0ustar zuulzuul00000000000000python-magnumclient>=3.0.0 # Apache-2.0 murano-9.0.0/contrib/plugins/magnum_plugin/setup.cfg0000664000175000017500000000104113656750211022651 0ustar zuulzuul00000000000000[metadata] name = murano.plugins.magnum description = Plugin to deploy a Magnum Bay to run docker containers on it. summary = This plugin uses python-magnumclient to deploy a Magnum Bay. You can deploy any of Kubernetes, Swarm and Mesos cluster with it. Just specify 'coe' to deploy cluster of your choice and run containers on it. author = Madhuri Kumari author-email = madhuri.kumari@intel.com [files] packages = magnum_plugin [entry_points] io.murano.extensions = mirantis.magnum.Magnum = magnum_plugin:MagnumClient murano-9.0.0/contrib/plugins/magnum_plugin/magnum-app/0000775000175000017500000000000013656750351023103 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/0000775000175000017500000000000013656750351031437 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/Classes/0000775000175000017500000000000013656750351033034 5ustar zuulzuul00000000000000././@LongLink0000000000000000000000000000016400000000000011216 Lustar 00000000000000murano-9.0.0/contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/Classes/MagnumBaymodel.yamlmurano-9.0.0/contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/Classes/Magn0000664000175000017500000000654213656750211033643 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: com.intel.magnum.plugin std: io.murano Name: MagnumBaymodel Properties: name: Contract: $.string().notNull() imageId: Contract: $.string().notNull() flavorId: Contract: $.string() masterFlavorId: Contract: $.string() keypairId: Contract: $.string().notNull() externalNetworkId: Contract: $.string().notNull() fixedNetwork: Contract: $.string() coe: Contract: $.string().notNull().check($ in list(kubernetes, swarm, mesos)) dnsNameServer: Contract: $.string() dockerVolumeSize: Contract: $.string() labels: Contract: $.string() httpProxy: Contract: $.string() httpsProxy: Contract: $.string() noProxy: Contract: $.string() networkDriver: Contract: $.string() volumeDriver: Contract: $.string() tlsDisabled: Contract: $.bool() public: Contract: $.bool() registryEnabled: Contract: $.bool() Methods: .init: Body: - $._environment: $.find(std:Environment).require() - Try: - $._magnum: new('io.murano.extensions.mirantis.magnum.Magnum', $._environment) Catch: With: 'murano.dsl.exceptions.NoPackageForClassFound' Do: Throw: PluginNotFoundException Message: 'Plugin for interaction with Magnum is not installed' create: Body: - $msg: format('Creating Magnum baymodel {0}', $.name) - $._environment.reporter.report($this, $msg) - $params: name: $.name image_id: $.imageId keypair_id: $.keypairId external_network_id: $.externalNetworkId coe: $.coe flavor_id: $.flavorId master_flavor_id: $.masterFlavorId fixed_network: $.fixedNetwork dns_nameserver: $.dnsNameServer network_driver: $.networkDriver docker_volume_size: $.dockerVolumeSize labels: $.labels http_proxy: $.httpProxy https_proxy: $.httpsProxy no_proxy: $.noProxy volume_driver: $.volumeDriver tls_disabled: $.tlsDisabled public: $.public registry_enabled: $.registryEnabled - Try: - $baymodelId: $._magnum.createBaymodel($params) Catch: - As: e Do: - $formatString: 'Error: {0}' - $._environment.reporter.report_error($, $formatString.format($e.message)) - Rethrow: - $.setAttr(baymodelId, $baymodeId) - $msg: format('Magnum baymodel is created {0}', $.name) - $._environment.reporter.report($this, $msg) - Return: $baymodelId delete: Body: - $baymodelId: $.getAttr(baymodelId, null) - $._magnum.deleteBaymodel($baymodelId) - $msg: format('Magnum baymodel {0} is deleted', $.name) - $._environment.reporter.report($this, $msg) ././@LongLink0000000000000000000000000000016200000000000011214 Lustar 00000000000000murano-9.0.0/contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/Classes/MagnumBayApp.yamlmurano-9.0.0/contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/Classes/Magn0000664000175000017500000000520113656750211033632 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: com.intel.magnum.plugin std: io.murano Name: MagnumBayApp Extends: std:Application Properties: name: Contract: $.string().notNull() baymodel: Contract: $.class(MagnumBaymodel).notNull() nodeCount: Contract: $.int().check($ > 0) masterCount: Contract: $.int().check($ > 0) discoveryUrl: Contract: $.string() timeout: Contract: $.int().check($ >= 0) Methods: .init: Body: - $._environment: $.find(std:Environment).require() - Try: - $._magnum: new('io.murano.extensions.mirantis.magnum.Magnum', $._environment) Catch: With: 'murano.dsl.exceptions.NoPackageForClassFound' Do: Throw: PluginNotFoundException Message: 'Plugin for interaction with Magnum is not installed' .destroy: Body: - $bayId: $.getAttr(bayId, null) - $._magnum.deleteBay($bayId) - $msg: format('Magnum bay {0} is deleted', $.name) - $._environment.reporter.report($this, $msg) - $.baymodel.delete() deploy: Body: - $baymodelId: $.baymodel.create() - $msg: format('Creating Magnum bay {0}', $.name) - $._environment.reporter.report($this, $msg) - $params: name: $.name baymodel_id: $baymodelId node_count: $.nodeCount master_count: $.masterCount discovery_url: $.discoveryUrl bay_create_timeout: $.timeout - Try: - $bayId: $._magnum.createBay($params) Catch: - As: e Do: - $formatString: 'Error: {0}' - $._environment.reporter.report_error($, $formatString.format($e.message)) - Rethrow: - $.setAttr(bayId, $bayId) - $bayStatus: $._magnum.getBayStatus($bayId) - If: $bayStatus = "CREATE_FAILED" Then: - $msg: 'Magnum bay create failed' - $._environment.reporter.report_error($this, $msg) - Throw: MagnumBayCreateFailed Message: $msg - $msg: format('Magnum bay {0} is created', $.name) - $._environment.reporter.report($this, $msg) ././@LongLink0000000000000000000000000000014600000000000011216 Lustar 00000000000000murano-9.0.0/contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/manifest.yamlmurano-9.0.0/contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/manifest.yam0000664000175000017500000000164113656750211033752 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Format: 1.0 Type: Application FullName: com.intel.magnum.plugin.MagnumBayApp Name: Magnum App Description: | App to deploy Kubernetes cluster using Magnum Author: 'Intel, Inc' Tags: [Magnum, Kubernetes, Docker] Classes: com.intel.magnum.plugin.MagnumBaymodel: MagnumBaymodel.yaml com.intel.magnum.plugin.MagnumBayApp: MagnumBayApp.yaml Require: murano.plugins.magnum: murano-9.0.0/contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/logo.png0000664000175000017500000002107713656750211033107 0ustar zuulzuul00000000000000‰PNG  IHDRZZ8¨AtEXtSoftwareAdobe ImageReadyqÉe<xiTXtXML:com.adobe.xmp yväk]IDATxÚì]xTeÖþ¦eJ2é€4C“ÞCH‘ ²ˆ€  ¬ˆ‹ô"°°ë¯îî³–ÿ—.MŠ º¬² Ë H•* ½·ÐS'ÉdúÞoæN¦ÜÉ”L îþßóD3Ã̽÷{ïùÎyÏ{Îw#±ÙlìÿGåùçŸÎrrrªäÅY,VRRÂÔj5KII©Ó±cÇöZ­¶ý“Ìh4^?|øð‘ýû÷_ÈËËc†I¥R&‘HªÜ<}ôQǪðèÕ«WúÚµk¿$0ó­V«­lXmEEEúmÛ¶­§ÏÔ !+”>¼ÿ¤I“²êׯÿ¸ë¿ý|ÆÀVýXÌv4°âR“Ëÿ͘F%a™-”lp×H–ÞTévÌË—/Y½zõÇ‹/^sãÆÒÿh k×®­5jÔ C† ™Ô Aƒö®ÿ¶ãx)[µ½˜€62“ÙÆ4J óŒs L%FSH%,µi{™ïÒZÅ\?Fþä’%Kæ/X°`uvv¶î? è:uêhÇ7dôèÑ› ï›ÉJ·-å|ä‚Y Hu„7Àž€ë p|.¹Q{©K${ª½š)deŸ¹ÿþ…U«V-Zºtéròç¹ÿÖ@ӹǎ;lРAc ï—šlló!=[½½„ýzÅÈSà Œ ”ð-“lÞ+EÍo–0ôzýur)KæÌ™³Œæ}ûß èæÍ›×š:uêHb£U*Umáý"ò¹~.aßYÂÎ\71Y JŒ›‡Ò¤¶œ½Ð9’õMS³h´ìßKKïàŸÒX¼oß¾k¿i ;uêToüøñãú÷ïÿ \Mx?¯ÈʾÝ[¾Þ]Â.Ü4³âJEå$FÜ`f¬þ#r6àq {Ž~£¥®É[¿~ýòéÓ§/ܽ{÷…ßÐp³×_}|ß¾}‡€µ ïßÉ·°µîÚ=%ìÚ= 7â‘0“Ùnåµd¬††ý¾“†ÕJ¹~D·nݺ/gΜ9×®]'ª4Ðl;òÁ¯öèÑc½T ï߸oakv³uûôìVž…û_…ìáP-¸Îê1RÖ;UÃ^|BÃê×p»Û¥dÙÿ˜1cÆÇüá*t¿~ýÒ^{íµÉdÉÏÑK…ðþÅ[föÕOÅlã=»_håAI^A€ÍV zô£Wü8zƒÅEIYd{éÉHÖ´ŽÂMj!ÀÿI>—\ËJÿÐäsñß®#FŒÈJMMíCo9ìék&¶zG1ûßÃ¥,¿ØÊ9°LZ1`$Ž—-ã‰Êõ{ðí÷ëàQj û][üdkÛÀ pvôèÑ .œ½råÊmD Ðøå—_î=eÊ”IÄ&ÜÄJ‰9þñX)+ÒÛ˜: Ã`b€é#ãXl¤”}¼NǾØVÄÝP88{ Žãun©d/“…§yd›ÐSfÏž=‡øø÷ÁÐGŽÙ+++ë-úŽhš¼“ÒdƒÑ°4Ì$TpÖ¨8Ö»£ÚXŸýë=~>©4|ç±9WÐjIC¶IþDk¥§'¼öÌ;÷ƒeË–m DÏÐy:J.$”QÍ š6Õ_š©ªš†$Æuu`ÉãfÚ*á<˜ðÛM†³ç”Á™mv§l1†FiýÆž={Î5jÔë”æû½ ¿@Ë(‹X±bŬgžyf²ð|/,ø°KšY®¥°ç‰s÷t¼†ÖémŠå‡/Ù¡óFÊ6‹xÐ웦á7†!%¶5EŠò†ßE7f̘g1±IŸä±‰‹rÙ!YI‹‰=•2qºÒ+wÌÎ×7s¬ÌH«¨²Oã«óYÊÞ]™_.ßL‘j©ÐŸš,SNNô£o ¹ó•X}º¥ˆÈ`¬ØÓ]æê,”%ÚI°†~nÓ¦MSFS‹WˆAÀÿU¤Z‚àW'QÎËO¢4²¹’WN上FžŒ&JÄuD–S*Cj îüþbU1ŒÕSQ™++áxÖ†~îÔ©SŠcnìØecÅÄz›½6¥´(P‚fðœƒ~AÏ +8G‰¸ i=«,H¡ 醵$ú¸|jöT¤Ï,ßBœ9A+åÖ²À$µÇ2áþ90,hâ‚H§®š*Ôžú8YlzSÿÉHCJ¸ P¬R¿*”—¼ã€”ÜSÒèJ{Ñ=’}ñZqu…ßó¢¡TÔ3™ ÖOsÉq CŸ@GEEÉ)_ïÀ…$¢8gBõÏÂ’G£¡ç˜Mê—‹FÑ@6ñY-[<)žx¯‚ûNÜpX¸˜å–j³[1ÜN89›GÉÇŸ^ˆ¥Wh>þ£ÀKVØÙNC•[!0_vT€€!°ô tóæÍ“! lT)Ôvø-XiF3wk}ûd£Ž_ËEQßTÉV¿‘À- «¢a-9k™!jíFp+F×è—ÓyÒ"6 Œþ8—Î]Ävp?o]JxAŸ µ(! 0–>NKKkO>5ÂîŸËrø€¦eüx •Wóâ—;ŠùJ×QF5aa®³Já9`aÿýJ,ûú­jlÕ‰d­â¬cñÄx¶îÝê<û¬+õÉÑG}„Ô KÇ5xˆP)ìc—ŒŽß%ÀÒ'Ð;vtŠ"'’üU `%®\Ö$TÍQ8žöYçѾü¬G÷§»û à×ö­@#G«'(˜†Î Úwè¼Á¹Ì±é1%eŸ¡E`uúºÉù}W,Ý€V(°h.$!ò_¸¸Ð/ÆOãˆÎ5©ã„yˆå‚;²È÷ÿ^PnRêX³³„½†"*­.¬,› OÐü®»è#j*¸ 5 º LÀ˜z””TM’.ݲ I²-ÚBÜù‘x]¼ÌKmó\žná÷:.æ”—Å3>ÙTÄþ¼*Ÿë™i"‘BŸ†çhRGÁ,!ºKû ´rÙ”û}˜zššÚ*"""Ö)$Cï™@‘¢g Eö$æŽàß´”6£óôÊ}5nBÚ@Y~N\5ù<ÿ|ºi3Ör7!̱R/’1=ŠNhV¯ÈÀJ>æH\€%0õšLÝ)$!Q©H6«×J½”¹»ùX%Ÿ•¸‘}§Ì ²|oåZˆ5䰬Źlòâ<6|v1 q°wCÅÞ·¡ð´™âRg×`*«@\RxL®˜J…¾_ÁyÛ…$s…Z­´'ïE*_lpÓyË,­ðeò6¬!YÔ$âÑž™’¸ø@¤òè«ÐÑ2ýãgvÝØsLè£e-ˆ‚ãØ ^®A×€c»ßPìqÁMÕyÉ!0Ý6;}LÑ)7™L,11QÓ¢E‹¶xèfNÅûd$^šú3øGf«O~,‚¥5QòªwÓºrÑ>ضbD¸PE´£!ð Å Ö#'z²µŠeµ„Åï?kàM˜§¯yN ˓ڞñnoÚ·±Xp“r -š ·É2Ø”+ú¦ãÂ.‘¿ÍÕÙØ¸g¢‚¾YèðÄÞhß ÈE¡ nŒÂ2¿@ºŸZÍàk‘€€Õàÿˆ]Ë·sËcd°übGŽU§NÇš5kVOŽæûìK½^Ÿ7ú‘%¡e ®½*è½@? Ó ½àÄEŽ,_ÂŽ LðPþ` ¾×9[ƒ÷ ÛS¨‡âخģßgjØèQ^×·ls;›MÖ¬Ï|ÁÈ ŒxÚ~.ʼ‹¾£!ËÉÉɯV­ZT»ví:ƒÀÇ¡“³€¸£< w™.éäçh2H£e.93„¤bƒ‹>87Ô¯wÅðìÌu@^AÖµ- ×vý¾…=BŸE °ë¨• çÝIF“½6‰çs¼ÿ‡8/m•ø¿¬*°SÑ0X¸w$åó'ijG«ÙýÐW_}5û›o¾Y+#ÙÆ~ñÅ»ÅÄÄÔA¦×¬no t?‡ÖÞŸ†%Õ¹¥{•SÃD·7°”ÆèüòZò¨+êð(6©·Bˆ~½¾é·­˜”»Ãç|'Á_Çz± $J¯R`ÍÑ…g÷-ß=FñíÃa±ÎDëúõëúöí;œX‡IFY!»råŠùÀÛЦÈîé'‘ú¢Œ”Ò8Âó!%¼p»þg½(‹€…Þ£„GÉ7È»³”jÑ2þÞèžQ^×·2eI>olŒT†ÇIÂN WˆGÂñs ·Ÿ}öÙžçλ׸qcÆ-úÞ½{@?ÿÎ;GûôéóŒÕg¤ã¨ó…ãyG˜,šw‡Ž§lËs¹#€y‚œM®á­ùÎŒÑgE ’ ת|¥XÖúægùlë/¾÷Öü@c{tP±?ÓÊqÜTóøñãŸ#×|„—Èê×g22k4Æ‘#G.ð”2ò½íhdA „R°!¬# @þö­ü“„mÇ ¼Ø[j²ïœŠ`4(±drÇÆåk#0œ©KóùJÕªÃcɈ?XóÆ%8YÆ‚ ¦¼÷Þ{wÖ" h¯çu D¾eË–¥”šÄk´:½<ý>§iázTšððå?¾ãÅ2\­µB°‚Ë·Mt-VZ¢vN ‰UЄèå]´‡wVpö&qãázV¼–èl­Ø±cDzîÝ»2¹ðdŸF!¿­Ú¹sçÖ ð  ~äœ^ד‡q+8*9Дß~1†=Ñ*ü²ªx2¶Á•:4b[˜ŒԒBPߦ»R@0©4|™0èM9Á¸ÞN*jVÀÌ×÷Ü‚¡ç8~üøU­V›“‘‘ñŒ` ' AAMÿ­v?Õ²hSßÕ…$å ÑA¡ÒôŸÁïŽåÑ‚pø¼‰­û¹„wŠ.ܨãß…ðÿ þœKApÏICX®±¥%±™ÇÆ;7sæÌ‰3fÌøÆ×wDƒ¡—ÅÉålÆ {ôè1¯Ñ*†à}·¢OèBí ÊëÏÛŸbÊ5z^O8(‚!nÀB3#².¨j²N+9I¸ÜD~ásH~ð½ZDï¾{·:g°ÀÞãš³²©6˜´lDE‘cóæÍ‹ˆ7›Í>¿çÓG»ù8:ÀСC'_¼xñ'žÄHÙGÃcyP©H[/À@¤ݳLBýÇ®žØH%e=y`¸¡°fÈw(AAדàÆ\?'ul"EÈ6‡è°ßCþ9ôcu¬¦÷†Æ:A&À¦<ýúh×A®ÅH)ú`½^Ï}PÊìÞy)–GÝP.Üf³§åï¾ãÜ= ` =¨ÊÙoðaµ ™ýÿ2?ňùÂx²µýYv%!6›C“AµÛ­9&,€ ° HVôDäè³ÇŒƒ¬‘›I¿t5Ñ=´àˆ%•å"a`|n¸ž—ÿyüЉ[¾0°¹-eÁn¡Àc…úÓ|‘Î SÀ$ÐcÅŠW®\¹‡2ž‰Âë©ÏEsYy~0ø`ž®5G¼†žÎ'ÜØ÷ÿYÙ÷JÜÄ-‰p ´å¶ #Ø»ƒcï`Ôõ”Ç:ÄÆöíÛ´k×.¾iÓ¦©°>lYûé×R^K TV•ñ§˜y/Üȼõ:~Œp=þ² l ¯ý¡ˆ ÎÛ ãuLE€r‚_¼VƽïÜ3¾nݺɚ?æ:bb#..N¾wïÞØÝð½Ê¯ÌÊáµ·@·ËY¬V­BQ9ŲXíÎc¦“*#à{€ &Ä;»®Îœ9³•¨nϼ¼}z3”á?Ë¢ÕRf´üv@Fðƒÿ`X,t愹…ão>†E]ÎÍ͵ 0`(ýÿ<^£î¯Cb¸Diý ü]J\"º˜ð9¡°Š¹8æs ›ŒOþúÞ°aÃy· ž14ÁÑ·QÕ‚þzÅß9ƒ_æ‚9…ýTÔG»ŽsçÎÝ2›ÍW‰7>×hÀ¾4Aª"ª¦¿†‚ˆGÌãiaBÂõöÛo¿²lÙ²-á:GX‚¡çصkׯ͚5S¶lÙ2Á±SKdЩkf®öÁÝY¬ÿ]ü¥F{f;kt- Enter a desired name for the application. Just A-Z, a-z, 0-9. - name: nodeCount type: integer label: Node Count initial: 1 required: false description: >- Enter desired no. of node counts. This node count specifies no. of minion node created in bay. - name: masterCount type: integer label: Master Node Count initial: 1 required: false description: >- Enter desired no. of master node counts. This master node count specifies no. of master node created in bay. - name: discoveryUrl type: string label: Discovery URL required: false description: >- Specifies custom discovery url for node discovery. - name: timeout type: integer label: Timeout initial: 0 required: false description: >- The timeout for bay creation in minutes. Set to 0 for no timeout. The default is no timeout. - baymodelConfiguration: fields: - name: name type: string label: Baymodel Name description: >- Enter a desired name for the application. Just A-Z, a-z, 0-9. - name: imageId type: image imageType: linux label: Instance Image initial: linux description: >- Select a valid image for the application. Image should already be prepared and registered in glance. - name: keyPair type: keypair label: Key Pair description: >- Select a Key Pair to control access to instances. You can login to instances using this KeyPair after the deployment of application. - name: externalNetworkId type: string label: External Network description: >- Select an External Network to assign IPs to bay nodes. - name: coe type: string label: Container Orchestration Engine initial: kubernetes description: >- Select Container Orchestration Engine type to be created. - name: flavorId type: flavor label: Bay Flavor required: false description: >- Specify the nova flavor id to use when launching the bay. - name: masterFlavorId type: flavor label: Master Flavor required: false description: >- Specify the nova flavor id to use when launching the master node of the bay. - name: networkDriver type: string label: Network Driver initial: flannel required: false description: >- Specify the network driver name for instantiating container networks. - name: fixedNetwork type: string label: Fixed Network required: false description: >- Specify the private Neutron network name to connect to this bay. - name: dnsNameServer type: string label: DNS Name Server initial: 8.8.8.8 required: false description: >- Specify the DNS nameserver to use for this bay. - name: dockerVolumeSize type: integer label: Docker Volume Size required: false description: >- Specify the number of size in GB for the docker volume to use. - name: labels type: string label: Labels required: false description: >- Arbitrary labels in the form of key=value pairs to associate with a bay. Specify in format . - name: volumeDriver type: string label: Volume Driver required: false description: >- Specify the volume driver name for instantiating container volume. - name: httpProxy type: string label: HTTP Proxy required: false description: >- Specify the http_proxy address to use for nodes in bay. - name: httpsProxy type: string label: HTTPS Proxy required: false description: >- Specify the https_proxy address to use for nodes in bay. - name: noProxy type: string label: No Proxy required: false description: >- Specify the no_proxy address to use for nodes in bay. - name: tlsDisabled type: boolean label: TLS Disabled required: false initial: false description: >- Specify true to disable TLS in the bay. - name: public type: boolean label: Public required: false initial: false description: >- Specify true to make bay public. - name: registryEnabled type: boolean label: Registry Enabled required: false initial: false description: >- Specify true to enable docker registry in the bay. murano-9.0.0/contrib/plugins/magnum_plugin/magnum_plugin/0000775000175000017500000000000013656750351023703 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/magnum_plugin/magnum_plugin/__init__.py0000664000175000017500000000640213656750211026011 0ustar zuulzuul00000000000000# Copyright (c) 2016 Intel, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import cfg import time from magnumclient import client from murano.common import auth_utils from murano.dsl import session_local_storage from oslo_config import cfg as config try: from magnumclient.common.apiclient import exceptions except ImportError: # NOTE (hongbin): For magnumclient versions before 2.0.0. from magnumclient.openstack.common.apiclient import exceptions CONF = config.CONF class MagnumClient(object): def __init__(self, this, region_name=None): self._region_name = region_name self._owner = this.find_owner('io.murano.Environment') @property def _client(self): region = self._region_name or ( None if self._owner is None else self._owner['region']) return self._create_magnum_client(region) @classmethod def init_plugin(cls): cls.CONF = cfg.init_config(CONF) def _wait_on_status(self, bays, bay_id, wait_status, finish_status): while True: # sleep 1s to wait bay status changes, this will be useful for # the first time we wait for the status, to avoid another 30s time.sleep(1) status = bays.get(bay_id).status if status in wait_status: time.sleep(30) elif status in finish_status: break else: raise RuntimeError("Unexpected Status: {}".format(status)) @staticmethod @session_local_storage.execution_session_memoize def _create_magnum_client(region): session = auth_utils.get_token_client_session(conf=CONF) params = auth_utils.get_session_client_parameters( service_type='container-infra', region=region, conf=CONF, session=session) return client.Client(**params) def create_baymodel(self, args): baymodel = self._client.baymodels.create(**args) return baymodel.uuid def delete_baymodel(self, baymodel_id): self._client.baymodels.delete(baymodel_id) def get_bay_status(self, bay_id): bays = self._client.bays bay = bays.get(bay_id) return bay.status def create_bay(self, args): bays = self._client.bays bay = bays.create(**args) self._wait_on_status(bays, bay.uuid, [None, "CREATE_IN_PROGRESS"], ["CREATE_COMPLETE", "CREATE_FAILED"]) return bay.uuid def delete_bay(self, bay_id): bays = self._client.bays bays.delete(bay_id) try: self._wait_on_status(bays, bay_id, ["CREATE_COMPLETE", "DELETE_IN_PROGRESS", "CREATE_FAILED"], ["DELETE_COMPLETE"]) except exceptions.NotFound: pass murano-9.0.0/contrib/plugins/magnum_plugin/magnum_plugin/cfg.py0000664000175000017500000000146313656750211025013 0ustar zuulzuul00000000000000# Copyright (c) 2016 Intel, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_config import cfg def init_config(conf): opts = [ cfg.IntOpt('api_version', default=2), cfg.StrOpt('endpoint_type', default='publicURL') ] conf.register_opts(opts, group="magnum") return conf.magnum murano-9.0.0/contrib/plugins/magnum_plugin/setup.py0000664000175000017500000000145513656750211022553 0ustar zuulzuul00000000000000# Copyright 2016-2017 OpenStack Foundation # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import setuptools # all other params will be taken from setup.cfg setuptools.setup(packages=setuptools.find_packages(), setup_requires=['pbr'], pbr=True) murano-9.0.0/contrib/plugins/magnum_plugin/LICENSE0000664000175000017500000002363613656750211022053 0ustar zuulzuul00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/0000775000175000017500000000000013656750351024246 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/requirements.txt0000664000175000017500000000010613656750211027522 0ustar zuulzuul00000000000000heat-translator>=2.0.0 # Apache-2.0 tosca-parser>=2.0.0 # Apache-2.0 murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/setup.cfg0000664000175000017500000000120013656750211026053 0ustar zuulzuul00000000000000[metadata] name = io.murano.plugins.oasis.tosca description = Heat-Translator Plugin for Murano summary = This plugin enables import and deployment of OASIS TOSCA application specifications in Murano. The plugin makes use of tosca-parser pypi library for package imports and heat-translator pypi library for package deployment. Deployment support is not yet added and will come soon. author = Vahid Hashemian author-email = vahidhashemian@us.ibm.com [files] packages = murano_heat-translator_plugin [entry_points] io.murano.plugins.packages = TOSCA.CSAR/1.1.0 = plugin.csar_package:CSARPackage murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/plugin/0000775000175000017500000000000013656750351025544 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/plugin/__init__.py0000664000175000017500000000000013656750211027636 0ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/plugin/csar_package.py0000664000175000017500000004563013656750211030524 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import shutil import sys import yaml import zipfile from murano.packages import exceptions from murano.packages import package_base from toscaparser.common import exception as csar_exception from toscaparser.prereq import csar from toscaparser.tosca_template import ToscaTemplate from translator.hot.tosca_translator import TOSCATranslator CSAR_RESOURCES_DIR_NAME = 'Resources/' CSAR_FILES_DIR_NAME = 'CSARFiles/' CSAR_ENV_DIR_NAME = 'CSAREnvironments/' class YAQL(object): def __init__(self, expr): self.expr = expr class Dumper(yaml.SafeDumper): pass def yaql_representer(dumper, data): return dumper.represent_scalar(u'!yaql', data.expr) Dumper.add_representer(YAQL, yaql_representer) class CSARPackage(package_base.PackageBase): def __init__(self, format_name, runtime_version, source_directory, manifest): super(CSARPackage, self).__init__( format_name, runtime_version, source_directory, manifest) self._translated_class = None self._source_directory = source_directory self._translated_ui = None @property def classes(self): return self.full_name, @property def requirements(self): return {} @property def ui(self): if not self._translated_ui: self._translated_ui = self._translate_ui() return self._translated_ui def get_class(self, name): if name != self.full_name: raise exceptions.PackageClassLoadError( name, 'Class not defined in this package') if not self._translated_class: self._translate_class() return self._translated_class, '' def _translate_class(self): csar_file = os.path.join(self._source_directory, 'csar.zip') shutil.copy(csar_file, self.get_resource(self.full_name)) if not os.path.isfile(csar_file): raise exceptions.PackageClassLoadError( self.full_name, 'File with class definition not found') csar_obj = csar.CSAR(csar_file) try: csar_obj.validate() except csar_exception.ValidationError as ve: raise exceptions.PackageFormatError('Not a CSAR archive: ' + str(ve)) translated = { 'Name': self.full_name, 'Extends': 'io.murano.Application' } csar_envs_path = os.path.join(self._source_directory, CSAR_RESOURCES_DIR_NAME, CSAR_ENV_DIR_NAME) validate_csar_parameters = (not os.path.isdir(csar_envs_path) or not os.listdir(csar_envs_path)) tosca = csar_obj.get_main_template_yaml() parameters = CSARPackage._build_properties(tosca, validate_csar_parameters) parameters.update(CSARPackage._translate_outputs(tosca)) translated['Properties'] = parameters hot = yaml.load(self._translate('tosca', csar_obj.csar, parameters, True)) files = CSARPackage._translate_files(self._source_directory) template_file = os.path.join(self._source_directory, CSAR_RESOURCES_DIR_NAME, 'template.yaml') with open(template_file, 'w') as outfile: outfile.write(yaml.safe_dump(hot)) translated.update(CSARPackage._generate_workflow(hot, files)) self._translated_class = yaml.dump(translated, Dumper=Dumper, default_style='"') def _translate(self, sourcetype, path, parsed_params, a_file): output = None if sourcetype == "tosca": tosca = ToscaTemplate(path, parsed_params, a_file) translator = TOSCATranslator(tosca, parsed_params) output = translator.translate() return output @staticmethod def _build_properties(csar, csar_parameters): result = { 'generatedHeatStackName': { 'Contract': YAQL('$.string()'), 'Usage': 'Out' }, 'hotEnvironment': { 'Contract': YAQL('$.string()'), 'Usage': 'In' } } if csar_parameters: params_dict = {} for key, value in (csar.get('parameters') or {}).items(): param_contract = \ CSARPackage._translate_param_to_contract(value) params_dict[key] = param_contract result['templateParameters'] = { 'Contract': params_dict, 'Default': {}, 'Usage': 'In' } else: result['templateParameters'] = { 'Contract': {}, 'Default': {}, 'Usage': 'In' } return result @staticmethod def _translate_param_to_contract(value): contract = '$' parameter_type = value['type'] if parameter_type in ('string', 'comma_delimited_list', 'json'): contract += '.string()' elif parameter_type == 'integer': contract += '.int()' elif parameter_type == 'boolean': contract += '.bool()' else: raise ValueError('Unsupported parameter type ' + parameter_type) constraints = value.get('constraints') or [] for constraint in constraints: translated = CSARPackage._translate_constraint(constraint) if translated: contract += translated result = YAQL(contract) return result @staticmethod def _translate_outputs(csar): result = {} for key in (csar.get('outputs') or {}).keys(): result[key] = { "Contract": YAQL("$.string()"), "Usage": "Out" } return result @staticmethod def _translate_files(source_directory): source = os.path.join(source_directory, 'csar.zip') dest_dir = os.path.join(source_directory, CSAR_RESOURCES_DIR_NAME, CSAR_FILES_DIR_NAME) with zipfile.ZipFile(source, "r") as z: z.extractall(dest_dir) csar_files_path = os.path.join(source_directory, CSAR_RESOURCES_DIR_NAME, CSAR_FILES_DIR_NAME) return CSARPackage._build_csar_resources(csar_files_path) @staticmethod def _build_csar_resources(basedir): result = [] if os.path.isdir(basedir): for root, _, files in os.walk(os.path.abspath(basedir)): for f in files: full_path = os.path.join(root, f) relative_path = os.path.relpath(full_path, basedir) result.append(relative_path) return result @staticmethod def _translate_constraint(constraint): if 'equal' in constraint: return CSARPackage._translate_equal_constraint( constraint['equal']) elif 'valid_values' in constraint: return CSARPackage._translate_valid_values_constraint( constraint['valid_values']) elif 'length' in constraint: return CSARPackage._translate_length_constraint( constraint['length']) elif 'in_range' in constraint: return CSARPackage._translate_range_constraint( constraint['in_range']) elif 'allowed_pattern' in constraint: return CSARPackage._translate_allowed_pattern_constraint( constraint['allowed_pattern']) @staticmethod def _translate_equal_constraint(value): return ".check($ == {0})".format(value) @staticmethod def _translate_allowed_pattern_constraint(value): return ".check(matches($, '{0}'))".format(value) @staticmethod def _translate_valid_values_constraint(values): return '.check($ in list({0}))'.format( ', '.join([CSARPackage._format_value(v) for v in values])) @staticmethod def _translate_length_constraint(value): if 'min' in value and 'max' in value: return '.check(len($) >= {0} and len($) <= {1})'.format( int(value['min']), int(value['max'])) elif 'min' in value: return '.check(len($) >= {0})'.format(int(value['min'])) elif 'max' in value: return '.check(len($) <= {0})'.format(int(value['max'])) @staticmethod def _translate_range_constraint(value): if 'min' in value and 'max' in value: return '.check($ >= {0} and $ <= {1})'.format( int(value['min']), int(value['max'])) elif 'min' in value: return '.check($ >= {0})'.format(int(value['min'])) elif 'max' in value: return '.check($ <= {0})'.format(int(value['max'])) @staticmethod def _format_value(value): if isinstance(value, str): return u"{}".format(value) return str(value) @staticmethod def _generate_workflow(csar, files): hot_files_map = {} for f in files: file_path = "$resources.string('{0}{1}')".format( CSAR_FILES_DIR_NAME, f) hot_files_map['../{0}'.format(f)] = YAQL(file_path) hot_env = YAQL("$.hotEnvironment") copy_outputs = [] for key in (csar.get('outputs') or {}).keys(): copy_outputs.append({YAQL('$.' + key): YAQL('$outputs.' + key)}) deploy = [ {YAQL('$environment'): YAQL( "$.find('io.murano.Environment').require()" )}, {YAQL('$reporter'): YAQL( "new('io.murano.system.StatusReporter', " "environment => $environment)")}, { 'If': YAQL('$.getAttr(generatedHeatStackName) = null'), 'Then': [ YAQL("$.setAttr(generatedHeatStackName, " "'{0}_{1}'.format(randomName(), id($environment)))") ] }, {YAQL('$stack'): YAQL( "new('io.murano.system.HeatStack', $environment, " "name => $.getAttr(generatedHeatStackName))")}, YAQL("$reporter.report($this, " "'Application deployment has started')"), {YAQL('$resources'): YAQL("new('io.murano.system.Resources')")}, {YAQL('$template'): YAQL("$resources.yaml('template.yaml')")}, YAQL('$stack.setTemplate($template)'), {YAQL('$parameters'): YAQL("$.templateParameters")}, YAQL('$stack.setParameters($parameters)'), {YAQL('$files'): hot_files_map}, YAQL('$stack.setFiles($files)'), {YAQL('$hotEnv'): hot_env}, { 'If': YAQL("bool($hotEnv)"), 'Then': [ {YAQL('$envRelPath'): YAQL("'{0}' + $hotEnv".format( CSAR_ENV_DIR_NAME))}, {YAQL('$hotEnvContent'): YAQL("$resources.string(" "$envRelPath)")}, YAQL('$stack.setHotEnvironment($hotEnvContent)') ] }, YAQL("$reporter.report($this, 'Stack creation has started')"), { 'Try': [YAQL('$stack.push()')], 'Catch': [ { 'As': 'e', 'Do': [ YAQL("$reporter.report_error($this, $e.message)"), {'Rethrow': None} ] } ], 'Else': [ {YAQL('$outputs'): YAQL('$stack.output()')}, {'Do': copy_outputs}, YAQL("$reporter.report($this, " "'Stack was successfully created')"), YAQL("$reporter.report($this, " "'Application deployment has finished')"), ] } ] destroy = [ {YAQL('$environment'): YAQL( "$.find('io.murano.Environment').require()" )}, {YAQL('$stack'): YAQL( "new('io.murano.system.HeatStack', $environment, " "name => $.getAttr(generatedHeatStackName))")}, YAQL('$stack.delete()') ] return { 'Workflow': { 'deploy': { 'Body': deploy }, 'destroy': { 'Body': destroy } } } @staticmethod def _translate_ui_parameters(tosca, title): result_groups = [] used_inputs = set() tosca_inputs = tosca.get('topology_template').get('inputs') or {} fields = [] properties = [] for input in tosca_inputs: input_value = tosca_inputs.get(input) if input_value: fields.append(CSARPackage._translate_ui_parameter( input, input_value)) used_inputs.add(input) properties.append(input) if fields or properties: result_groups.append((fields, properties)) rest_group = [] properties = [] for key, value in tosca_inputs.items(): if key not in used_inputs: rest_group.append(CSARPackage._translate_ui_parameter( key, value)) properties.append(key) if rest_group: result_groups.append((rest_group, properties)) return result_groups @staticmethod def _translate_ui_parameter(name, parameter_spec): translated = { 'name': name, 'label': name.title().replace('_', ' ') } parameter_type = parameter_spec['type'] if parameter_type == 'integer': translated['type'] = 'integer' elif parameter_type == 'boolean': translated['type'] = 'boolean' else: # string, json, and comma_delimited_list parameters are all # displayed as strings in UI. Any unsupported parameter would also # be displayed as strings. translated['type'] = 'string' label = parameter_spec.get('label') if label: translated['label'] = label if 'description' in parameter_spec: translated['description'] = parameter_spec['description'] if 'default' in parameter_spec: translated['initial'] = parameter_spec['default'] translated['required'] = False else: translated['required'] = True constraints = parameter_spec.get('constraints') or [] translated_constraints = [] for constraint in constraints: if 'length' in constraint: spec = constraint['length'] if 'min' in spec: translated['minLength'] = max( translated.get('minLength', -sys.maxsize - 1), int(spec['min'])) if 'max' in spec: translated['maxLength'] = min( translated.get('maxLength', sys.maxsize), int(spec['max'])) elif 'range' in constraint: spec = constraint['range'] if 'min' in spec and 'max' in spec: ui_constraint = { 'expr': YAQL('$ >= {0} and $ <= {1}'.format( spec['min'], spec['max'])) } elif 'min' in spec: ui_constraint = { 'expr': YAQL('$ >= {0}'.format(spec['min'])) } else: ui_constraint = { 'expr': YAQL('$ <= {0}'.format(spec['max'])) } if 'description' in constraint: ui_constraint['message'] = constraint['description'] translated_constraints.append(ui_constraint) elif 'valid_values' in constraint: values = constraint['valid_values'] ui_constraint = { 'expr': YAQL('$ in list({0})'.format(', '.join( [CSARPackage._format_value(v) for v in values]))) } if 'description' in constraint: ui_constraint['message'] = constraint['description'] translated_constraints.append(ui_constraint) elif 'allowed_pattern' in constraint: pattern = constraint['allowed_pattern'] ui_constraint = { 'expr': { 'regexpValidator': pattern } } if 'description' in constraint: ui_constraint['message'] = constraint['description'] translated_constraints.append(ui_constraint) if translated_constraints: translated['validators'] = translated_constraints return translated @staticmethod def _generate_application_ui(groups, type_name, package_name=None, package_version=None): app = { '?': { 'type': type_name } } if package_name: app['?']['package'] = package_name if package_version: app['?']['classVersion'] = package_version for i, record in enumerate(groups): section = app.setdefault('templateParameters', {}) for property_name in record[1]: section[property_name] = YAQL( '$.group{0}.{1}'.format(i, property_name)) return app def _translate_ui(self): tosca = csar.CSAR(os.path.join(self._source_directory, 'csar.zip'))\ .get_main_template_yaml() groups = CSARPackage._translate_ui_parameters(tosca, self.description) forms = [] for i, record in enumerate(groups): forms.append({'group{0}'.format(i): {'fields': record[0]}}) translated = { 'Version': 2.2, 'Application': CSARPackage._generate_application_ui( groups, self.full_name, self.full_name, str(self.version)), 'Forms': forms } return yaml.dump(translated, Dumper=Dumper, default_style='"') murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/plugin/cfg.py0000664000175000017500000000144213656750211026651 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_config import cfg def init_config(conf): opts = [ cfg.IntOpt('api_version', default=2), cfg.StrOpt('endpoint_type', default='publicURL') ] conf.register_opts(opts, group="heat_translator") return conf.heat_translator murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/README.rst0000664000175000017500000000172513656750211025735 0ustar zuulzuul00000000000000============================= OASIS TOSCA Plugin for Murano ============================= This is a plugin for Murano to support the OASIS standard for TOSCA. The feature currently supported by this plugin is importing Murano application definition archives of TOSCA CSARs into Murano application catalog. ********** How To Use ********** In order to make use of this plugin it has to be installed first, in the same Python environment that Murano is running, using the pip command (i.e., run *pip install .* from inside the plugin folder). At a minimum, the plugin requires version *0.2.0* of the *TOSCA-Parser PyPI package*. Two sample Murano application definition archives are provided in unzip format: * hello_world * wordpress In order to import the corresponding archives refer to *README.rst* inside each sample folder to generate the archives first. The archives then will be ready to be imported into Murano application catalog via Murano command line or Murano UI. murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/sample/0000775000175000017500000000000013656750351025527 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/sample/wordpress/0000775000175000017500000000000013656750351027557 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/sample/wordpress/manifest.yaml0000664000175000017500000000050113656750211032240 0ustar zuulzuul00000000000000Author: OASIS TOSCA TC Description: 'TOSCA simple profile with wordpress, web server and mysql on the same server. ' Format: TOSCA.CSAR/1.1 FullName: io.murano.apps.generated.CsarWordpress Name: csar_wordpress Tags: - TOSCA-CSAR-generated Template: Definitions/tosca_single_instance_wordpress.yaml Type: Application murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/sample/wordpress/logo.png0000664000175000017500000026577413656750211031245 0ustar zuulzuul00000000000000‰PNG  IHDR,,y}Žu OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-ÛbKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEß 9Îê IDATxÚì½wœeWu%¼ö¹÷…J]Õ9Tgµº¥Vw+K$!BÛ²M4áƒïóàÁ mì1Æ6Ã0€mŒ“,â'@„2åÔJsNÕÕ_º÷îùã¦}«zÕ-DKÔÑO¿î®zïÆsöY{íµ÷&Ç䘓crLŽÉ19&Ç䘓crLŽÉ19&Çä8¹µúÁÇnÛ‚ó¯[fýüóýtvÂ6D£P ôîF•±XP5~Vˆ’ÿKjÇyg'ò]&P(•ê(ˆ0¿cÚüN€FRpü•( ‘ýc¬§ÍãüœÆ?Ì„ÿBÎ~‘f%‹ÙÉ¿‚k’3Ÿ[¼>Î{0¾ÇÀDˆ@`a¬G¡4„šò¡㜬  -Y3õqÖB:=ï_‰5%ëµ’ü¬aÜS)¹Ïzò½@üÎPˆ¿[ }Õû÷?¯}íûÚé>þö/á|íÝ/œÁ’ãánž5¢9A#쌂È &3·0ÄGÈñ³f“vÂFç¾ €ˆô `öÀP''¡ \ÏX …š|æE¼ç㺇_åyZ™¥|³y¢Ç?ž¹ÈcHÎÿd07ˆP(ʦµø®ùWøŒÒsÐ8çãÖ6ƒ(djX¯6Ž ÝýÞO^Ÿ™Ú?xõGñå»?qbë©;¶áì×.¡a›­áôž[FM¶qc½e“Éœãñ±˜Y Ev?D±Ù0È~Fœî:ö‰ãgJMV‡øwrŽì*ï2~AÙ5Ë]g9&bñ—äøÙQ-ëÐüHãŸ#y&ɵ“öþíç&¯ˆÏ·ì³Ô|¸6ÿñÖ 3îñå¯ÙþYl¡? ʧ à(B1¢€6B4j!ª#Æè`uýÐÈà_ÿÍÞv‹¼Ïó†áÄÖ“·o;CytKð©õÑ£ƒUÔ*!”ŠšòÊSñ x1øa4ª Þ5Œêp ) Ôî£sj~A¡Xöá/Ÿ{ž¿.9÷»(q¿èEñ»_ÜÁ` bÔ+!µ†Õ0Ü_C½ 6ÚÀè`þá® _þÛgûªzžÇ¦±J)1müâ[ëqé§»uËÙÌtO£öŒÕQ®£ÜYÄì¥=˜ÞÛ…ö)E´÷Ä‹xrLŽÉ19Æ£ƒUT‡Þ9€½bÛÚè!j0Q£øÑ æ¾e*yå>säÞÁÔMÓ`ÕFbŠÿÁïo\Eü• Úè© ÖQ¯˜»l*–ž5ÓÚ ß:w;2¸M4ùv&Ç䘚}hŸRFû`Ú¼N,;oœqþp36<¸A#„"ÿ]Ë{.Ü{ptÛgŽî¬šFË2XW½{uü‰ß6Â3«£uÔFXvî,9{Šeßi 4”;i¬&Çä˜Â˜6ƒˆà<,;w6º¦—4"<ñ³Íˆ¢°¤ÈÏòž µìM9'1VÅÄT¶Áª…^½Ò¸¬2TGØ1wYϘnÞ¤û79&Çä˜Êjf7f-êÆŒù]ƒQNEœä§Ë"Ý«£5ŸÈ›Þ¨…ð =³ÛFjYMŽÉ19Z5V.eþ¬ÜYD[w "Dq0q¦b„˜x,ƒU¯äШP^SË–TÁe¬š]ÔKÿa7QÇÿFÎ<¼ôôŒ/Ê53¢ÊðÈ.p0ŒÆ¾ÛÀÁhü« ‚â’߃?ç5ycγ‘¡*†Žbx°ŠÁ¾QÜò•GõµÆŒ7¼ýôÌè@ïâièìn{IÍÍñl¡\ö <‡!Â(,'î` ,Ï2Xa#Sˆ0ˆeô¤š»‚òa¾ÔQGŒÑᶬ;€êh A! #„a¥|çßïÇžmGÐwx¾ç¡PòP,{Ù¯fhzÓs{ãÍ-b0žRxôÞ øÇo¾ žç^¨Ï?¾ ›ŸÛrGQûy2žÁÈPuÜkÞºþ ¾kî»õ VâëR …¢‡b±œe§ó8uï™ÃáÐþþ8i? %÷ÿd>ò©7£{z{k-Apø!ù`ÏÉ4væøß^PìizˆGîÝŒŸ~û‰ éqr‘¤ñyÒxú£¶Ž"¶o<ˆo~öçøÀ_½î%áŽg#Æø½J,Y³<âŠü,Qž™¡”9½TU16¬ÝƒÿøÔ]ؾé@ìê)…R¹`V ‘jž=Ðeyx¬` Ÿúðÿ·¼ç\òº•èì.÷õ5ê~øµ‡F/v¢l!h“€_ Œ V±{kNY9û¸9žŸ}÷)|áKJÅ‚f¨µÒA,Þ7ÄO òg†ú #4‘&ž¯à”†®˜¥"x¾‚òÆF‚O=°ŸþèP­ð}•¸Å*»®8ß!¿áøùyž{»j 4‚G#–]Ø÷(¢ç¥¬ ”¸„Dˆü¦k¦ÿȪ£5”ÛŠÉã#‘TOYݯÉ0°cËÁ“ÞËVX¿'S½Y5¤å²8Êô‹iW~ y¢—ª×ÜúÇð¥º[ÖíG¡àC)•_{² GQW…Œ¤kÿ<®ƒ•?+¥bndx°Šýøñ…ÿy;î8îkܽµûvôA)¥–)íŠUKÜ{ wÿp-Â0:®ó=~ÿV|î¯oC±ì¡PLøœdQ0sü,8B2¢0ÿ38"Žqfõ”(y®-âu˜ÐAþü;ñù¿ù1õÅ¢£PñŒ8Šâr@Q¤]s&åM’ûB”»ûŠšzmcì~ pd7ÁÈK–0Çef8ª‚îù@ ¬¹`1V·8¾®È|œ½‹H Nõà¤FWšçfªæR©æÇlêGü?ªÒpA½“Ùh…A„›?w?¾ÿ¥Pn+ ­½ˆ´'µ‹â‰ßG[[óOÇÌ9ݬbï®>ëF„ñ.­„⟞Oè˜RÆý?}•Jïÿ‹k0cNׄÑßã?ߌ{ŽÅ0HÖ2«6ÅÿRa˳ûp`W?z—LŸÐùïÄ­ÿùJm~ŒæŒÚIA#¡gz'νtYL²{ A¡ÿÈ06®Ý‹Z­Žzµ p©m¬ãÜKOÁ‡ÿé͘5ojâ'dn6iã¼uÝÚ7Ðòu>õà6Da”‘û铬U,^>—½n E?þŒ¸‡bÉǾú0ölïkÍ ×Qih;4 wpñòY­G˒ÎèÄò3{ñš·œ2Z'±@ bj>?øêÃð}/: çS«4pÊʹNc5Öð z¦w`ùš^œ{ÙR´u'º$s¼ÎùÂátW €Š=¨=÷iÔ·ÿ'¢¡-‡MQHGW «Î[ˆßôV¼÷ÃWCù*æ'9A/•J·­+i[(%ù8 VºQ¤ÃL`Lÿw¹‹'ÒÚ»ã(ž|G.ò$ÎÜ©˜˜–¬˜«ëì–‘œ²j.^ó¦sàûd÷J Á+OaãÓ{ðè½›4¢¾Ù8vd?¾ù1xEÏRÖ+ ¼í®À{>úZ\~Ý4êVÓ>~Œ¶Ü"÷!¢0rúĄ V‘¥Vž¥ÙÌ`Lss|aÆš8áEpB[øÞ¯£ò-e»$~‰ð (Ì» m+ßÒŠw#8ô *Oü)[¾Ô÷¹2§ÎèÀe×wýñUhë(!¤5½D|Áf‰ÎãRHcЙMß01½ úëëžÜ…mÂ/xÖ*‰¢míE\ñ†5Çá —^»3çMÍÄ”rç#”OxèÎõ¨ ß ñÛÿö xå.Z2êµç_¾<ã§–­œƒ ˆr×)iZP(ù¸ó–µè;8ØÒµ—Ê>ü‚§s’â÷v÷£^ ^ôÅ?Ö"öÅ„tÒÊH^x±äcÿî~4êá‹zÅ¢ý°˜L„Ò)oEyÕ‡QXô»(.ÿÚÎûJËß‹£;×ãé[>‡‡¿÷ ;t •Ѻó®Kå.zÍi8ÿ²SQsxz’£,—ñrê;eqâ.!gRVŒÓÉ肾CYêŠ|6”¸rÓçtá¢×œv\‡ïžÖŽ _µ"Þ¢(®‰‹øžÂžm}8¼l#22\ÃÚ‡·Å‘&û™A#ÂigÍG{GlPO;{>Vž½a˜û´œÄÁkµ:vo;ÜÒµ—Û ð‹zAÆ”v!„¿yÿ·°W?jÕ^  ¯wŠÉ"P¥)(,ú-P!Si:üy¯Ç#;¯Ç—¿17}~>òޝáƒ7|·ûI öZÇoï,á-ï¹óO™Kl˜_JöJS¸Ý@¸Vª%„Eäèõ—»|æE˜¿;Ʊ¾Üþí'Q, €5c®aö¼é'”øª7œÏS™Û§‘ÁŒŽÖ°Oÿ˜ÇØôô^TFjš§v0–1¯|Íé™Ñ6³ §¬œ›”™ëžH ¾ö™{12ÔZËë+®_£¿+!„Š¢?üÚCø³ßû2ÞÿúÏãÓþ#l[wûwEß¡aŒ UÁ¿à ¬9«<…y‹§Ãó•uÝD„z=À–u{ñ¡ßº ï¾ê³øÑ×ÅÆ§÷bßÎ~ôBe´Þ’{~Ü×Oæh;çï­¨`16?÷ß½14ZÂ@ƒÇFqÓ'oÇÿö—œ›Û¬ÞnÌ[0CG%/Ö]rÛÒ6Œ nÆxEþD¾5–ŽâdÔbõE…‰Óˆx‚¡”‡•ç.8¡sLŸÝ•a‰eˆ‚ ŽÊHó4“0ˆð/þa+¼exž2Û6B¹ÍÏh€ôz¾BFªâá{ÖãÁ;×Aù„r[ óÏÄׯBç”N]Õ‹)ÓÚÛðË~yã1§Ù‹ó.;Þ»TÔƒñˆ C£ÞÀ×?sw,ÅP¯àã’׮dz0uf'fÏŸŠùK¦¿ ìYÛÆx—Wl‡ê´Ÿÿþ]ýøÒ'†÷¢X*$Aòãg=80‚Ÿ}÷ ¼å½— Ü¦,μp žyt;êµF¬Ò‰d–Hž»§åâ°ŽÃ`Ÿ%=™Æð`AemȲ$Ž—ç+Ì_<ý„ÎQ(z¹æÑlX‰8Ùö¹GwâÊëÏt~ÿ©¶áÈþA¡¶Ï—A±ä㢫N·òçÌŸŠÎîv ŒÂ/ø9"£X‹ôËÛ×c͋ǭv0{~Þþ߮—ÿùNl߸í]eMœJDð|/sO• bÔ*ul]¿›žÛ pú9‹0cVN9c.½ö tu·µ¾Ò墽©qÝð+¯_ƒuïÆðP%ØŠä{ÄH“½øýrÄI×á÷Þö î½5®@2wþT,;c.º§và o¿0Nz>!tÈ ïΠòTÀï°îuÓ³û°é™½±1’H<¹yßóðÐ]pÙµ«°p™.¿¸è5+pó¿Ý‡Zõ¥×•ªYŠãAXª•×1–5wÉïOë?Æ‚çr£ZµE¢á˼¨$¿Á"'jëß'‹õïè(ÇI¸ ¾¢0±Ã#'|žÑájÓÅEŒ³»œ°÷ù'vá‘û6ÅjfíYF¨WøàǯozÎùK¦cùš^Ô* ]ÏD1r{öñ¨ŒÔZ¾‡Y½Ýø›ÿ=ü÷ÿs#V¿ËVÎÃìy=h!ª•:QåUŒI•mVŠà¾óÅpß­Ï9Âñ®IÉǵgÌ鸟üú;qÅuk°|U/fÎé‰Sƒ*uÔk8ŠbÃHlŸrTZ,xøÉ·ÃOo~bÌkÓ‹I]žÆ˜k#Y¸tººÛE¡a«Î[„ó.]f׿àÎaÅË|0šFxýV¾=Vœ¬'Ûèè.geZù€Rœˆ!öîìDz5sO€»ÂF(’^“7¨‡xÅ•¶[W«4ðàëãèé/+hD8í̘·dÚ˜[ÐyÏ+ñÄ[D) ø] ¹{®Û…XqæÄŠ ®8»ùùßA£âо‹–Ï3£QqÍçâXßöï<ŠïéAØÛ¶öbVÿŒ³byñ»+·ùøÖç~ö--ä.Cò/® ÜÆEÚ'Km\ý–sPj+সA#@{g JÅE#?ô‰0wáTë ‡÷ ¢ïРÁýúƒ8(áxõÜO£5cN'®zÓYøÉ·C{§—ª4¥˜D!öí:|Bçxþ‰=±t‚ìΣÜVÄìÞ •íØtzshbÓŒ‚ÂégÏ·ÎUm`ËóûcFŽõ cÙFfŒÀ¦<ÂöM‡pxßfÎë>¡{TŠâ2ÂK¦¡wÉ4œuÑR\ñÆ5Ø·½7}òìÛy$+‡bº‰#ÃIàÃJÐÉ HòK>–¬ˆ‘ÒY¯X‚K¯={¶Áw¬ÇíßyÅR^i)Ž{;·F½Ú@±\˜Àê’\n •'ÿ;:/þ¨CG—Ýe\ó;çâ‚Ë—cûúƒ¸÷¶gñ‹ÛŸC¹£ˆR[QA‰ène¤†oýëýؽíü‚zÉVø¨KH/´Áj&µ?™F¡è£gFGNL‹’Ï*ùÞ Û7œ ÇO¿õ8à ªs¢vNõ@³ævcÎ}ׯzýê$ù›AZ1ʘü[,•Li ñý8(Iˆ†÷¡¶î³ˆFv4ý~©\À¬Þn|ìÿ¼{Ó[±mý~Üô?×ÿé.|ù“wà_}í¥¬.ÖËßÄñé°˜É"Ý%¹>Ñ~2®gÎÃʳ¢^ ²ê©éŽH‰Ûðôn<õË­:n­ÒÀ]·¬ÅÈpU<‡\>EŒEËfâìW,Õ8¬ÊH÷üàix¾uÀ£±dÅ,v ½»°îÉ]Y!JË7g‡½=ù¾ÂèP ?ýö“Öñ¢ˆ1ÝßÂ}âÕ&ðTÌ|¡“É=lk/âÕ7œ…Y½Ýq‡ƒµ$OáXß¾ôOwâÙGw¶tÌÑ¡*þíïnÇÓl‹[p™ã:ð O™…%§ÍÖ6ÄCûŽáØÑaä_ËLDQ„‹g8•âŸþèQ(ùÃA! âåqòHk‘ÅTœ_·ñ™=¡ÅK}î¯nÃÞð/xúáyšÏÇá½®9»ãDcÚ¬®æî Ãhð1öÃÿø'?À{_÷9Üùý§12x|wÏö>Üó£§­r4© ³³«å–ø+½‚—¬œÉ™è«„hxFûFxÂg¨6âòqñÕ+ñ~mlµ„}Y‚¿‘ÃoyÓl‘Ï:ÙŒ)Š3çañòÙXûàVÀS‰€PORî;8€þð-xë¯ÀWœŠr[~ÁË:…F„Ý[ãóýcØ{4îÆÄ¤†gÞ¢é¸ñ—¡(ša·~ã1 Tàyv¹›žéxõ›Ï´äaá†w^ˆ{o}&N;ἓ 3Ш‡Ø¿ë(†+0e(Ê#Ü{ {¶÷añòYºá©áÐÞcø»?ü|ßÃ57žK®> Sgv¡XôPj+ÆÕOIWï33 ÂÁ½øì_ÞŠáÁгþ•ïÇ\7Nª‰4g®¡ÿð¾ð‰Ÿà+ÿëNÜøþWaùêy˜ÕÛ×Õïjƒ¢´æ¾>Ÿ£0ľý¸÷‡ÏàXÿ0ŠE_» "B£ÞÀ’sZ.äÇòF/K¸'ˆêŽ>ྷ¡¸àZ½ Þôs˜Á/(œuÑ‹¥¤‹•Ò+š¢µê/iu<²†V†i N6¾Ü^Äÿó±kðÙÿq+ž~xJåbÞA)íòâ)T+5|éïÀ-_yËW÷bÉŠ9˜6³•Ñvo9‚ÍÏïÅž}hÔ‰º[VHŒ ×z-@ïâéxßÇ^‡¹‹t²uÿî~l[¿?ÓýÈ…¦Í˜‚Yóìvž¯pñÕ§ãâ«Ooz?þæã¸ù_Ž0ˆ²Žèñ‚Qرñ ¿ -›©ÏS(”ü¤¦}ˆ~õ!üøæGQ,ù˜·h:μp ººÛÐÕ݆rGž§Ð¨‡ªáÀî£xò­Ø»#^IÂ#Ƽ…ÓpÉÕ+›ç4 ˜[´\ž§P(ú3‚z€¯üó(–|Ë>J¥"®xãtvµ£«§„öÎRÜ4£bd¸†C{pÛÍÆÀ,ù8‹ï#F½árå¼—´ Iß0 ¼ˆ"D˜<ÔwýõÝ·¡¼úÏP\ê–Ìš×s/^ŠîZ‡¶¤´Æï½Ì-Ö„…£®|§ñÐÕÉ<¦ÎìÀû>ö:|í߃îX‡öÎbŒž(7Z¾ï! #ôăñðÝòÎÏBË•7>73ª•:–­ìÅïÿá«°âÌ^ •¬{b7vm=œ¹Hr>‡Aˆ+oXÓR‰f×xíoŸïÞô‚F-_‚Éñ Eݹ—¿~fÌ¢ Ž ãyʇ_ˆy±Z¥íöcëºXBAI Nº™aGFý‚oÿ A„K¯]¥UškgL“·[­˜JJ¡à) >Â(B½ ^ pË<E*Ë#Ç5ï9b„a¿àÅrÙï yüñíµvÍ© ™¹„â&2‚\4ÉÈŒ˜ÚAQˆêúGaá›A¾;ñúUׯÆ=·=¬40[›Äã¢×—Û¿€ß8f«Yñdsôà=þZÜðŽ‹Pm QÀa¤Ý¢òâ6K…‚—åš)àùñÏ}ß3Œ4#BÔkV·ïûØÕXuÁ"Ë­«UìÜ|H릫0BgWλô”ã¾·BÁÃÛ>xE’ÈÚñ=_aÛ†ýؽíˆ~M£ 0æö’ˆ¥ç)øI’p©ì£Pô×—,Áó)ûÉ4${ 2\Çy÷+ñš7Ÿ-*½6'X³²ÂŸJ¨U“kŽ¢$á9^´~Á‹›À–bW>ÝTHÅ|ç{(•ãÄgqcƬ2ZÇUo:oyÏÅãV¹ÈÐ^Ϩ®e‰•ÍnBƒ¹Î‹„Þ,nú:^šY$Þr^‘BGWÛËÒ05›ã¾™ñŒO³âÉ:¦ÍìÄ[?x9>þÅ·bþÒ™(–}4!Â4ã_Á±2áp'ЦQº " SºÛqî%§âO>y–1×¹ëíÜxw|ïIø>% YóÿëÕœ2 ÓçœXåˆ5.‚§<„a¨?}‡ëžØFRE! ×þÞy˜6³ å¶" Šï'ŒbxBøf•„éÿTÙïÒg?‚ò<¼÷£Wãõ¿{>¦Lm¾˜8ŒIù(”Ï‚sCä@ZJ®ûù˜ÒÓŽR©ŽÒàC¨' S^[Ÿ´Þ~”]wÄ1ª ƒ¥¶®¸îL¼óO_=±ÆåYðÚçÇŵ‰#:$?'YC; D(¯þcÀo~¾££YáÆ´ZÚO)h„(”|¼ï£W¿ ýÁæH{ÌFª¦ñ«>ó„êÝüšG¡èaõ‹ð÷_y;6?··|å!ô‘ƒƒ¨×q%MÊW$»*3Ã/øèžÖ¹‹¦aJO;Þñ¡WcúìÎ1Ϲuýþ¤ö¸NæF!cÆœv¼çÏ_sânï¬.¬ óM;áûñ}…ÿú·×áÉ_nsä!êµí]eÍýíì.cÕ‹°ê‚E‚ƒýŒé³»0¥§=qc¬­½„ó/?]=m-‡Ûßþß.ÇÊsèÝ›Ù:wþ´¦ˆ¾TöqÍçàœƒ0Œ°o{?6=³•Jõz€  Hc£IšN!qu‹¥ÊmEœqîBÌYØ3¡nI6Êš‹¶sþõíßE8´QÿÓ=žæú³¯z€BþÌ ¡¦¬©æOúG¡”ÂìyÓµ¾ g]¼¥¶νtN;³wÜ|Ó—½ûÜnë.¨Ò±F-@¹«„?øÔåN#ôrÍgJ5T©t`°]=íY˜\)zyçq™ÆCSG‡k(–|øi:Cîpr½ÃÄõ ã–`žJ¥¿¢kæ ‚kGœ„Œ*ͼ’¤Ëq4"Ú7OiEqÐ3£…„£{¹jµŠ¯âgøÑWïÁÑÚ>ìÝø½ƒÏ~@@?€¡ãÖa½\-Ä®5mV~SQÎã@WOÛKèÆû±ç¿X'U BOŒ¢^€áæ-šŠßÜÉ×Ì s¶NŽÉ19&Ç‹o¬&\q”N¸:Ñ䘓cr{ÝÜÃkްxÒ\MŽÉ19~MîàÄ]B~ÙWa“cr¼´Æåe&Î䘓ã×ã¢U—ÓoI¾M’ï“crLŽa”ËÅ\'®6LçÐw¸QêB6à_ÿö'¨Ö_ ž€I7srLŽÉáAPGßÞ>ø¾ê b¶L†C¥¢Bæ´lcíÛ04Xžãjyórö1Ò„³\®ìß%“?¡¦G…v ý˜¦a¤&?%pÓ£ëW#ï×þÛ䘓ㅄˆt÷øY $"e ÿ4ƒõïþ ªt­JZˆ{”eä§MÅIÕ ™•NœWEÌ>ð+u§ßQ† Qã\%?Q€Ó´Á0œYuíÌ꟔Ÿ&Q$@ÿNfÈPLšÁSM*XèÆÌm<'†;íã¼fÒOŽ_¯É2¼8òˆfJ‡õç_zk¶Œ³ÄwN3ÄÉ1­ÉX_”ðe¹ «ï²,»‘Vi¤|Á3;2±Hü§›'2ŽËÚÙØi(MôdžÑÉí53ÄIÚ£ŽÏ§ç^²Ó0Œý ´ì€Ó„ÌÑØŸç$W_bjñ,ô]õ$wú›<˜Äì'Æ*ˆÆ¨é®/'2µÖŽ›š#Ítã3iÝ3ûÀ2C¹ûI–qÑ[æmX+~Mrn˜³’ÒðèåT¤ÑÔш,YK…@o¶ÁhFùñ-8=,d¨ÿÛXæ”Öh"˶ßWŽI‰a\9[[A“ö#†¦qŒµlNÇ>/4¼Oãš<×´Òq›M:L/Èñ踌>çý¾ð@Ÿ9B„!‡åa5Æ5XæÕ³lôe«N."v:9d·t"ûólLrö‡|•imeG_Ó€6›F3bqÏöb”eÉ@J¬35Jº#-K$éˆ/=bÚ™˜ÄóÔ gÖirpbv2ÍŒgÕ4a˜-×6F–¹”fœà¨ób\ ;ŽÅÖ1mí£nׯ¡3Ò6^}®Šë&m7YÐä4ÄlÌ/r`qÛt’ôÈþŒ>cõòËädwÍ÷4¶9& šˆ{&ÇVBØnô œUµE#5V™k¨Z5{W–;90œ“Eû7é†DÎ8rqU²œ-»_¨ö/vPñÒiü=+m5¨O}ÒËkfãùXF3P³ýTŸœd2Ú¡·ñ-iŽ*î¶h//Ž“Ò¤q¢€Ÿ“…i¢ÌÕ'Òµ°ìa¡_ašI:é¤md,z£’ÃÜ’µmeA6Ÿ¡M/ó8Ш µÃJñ&̇š[fýYjÄEN¿è&×Í»¶)¡[µ’bŽ5ÏÀMM²ë3Íp q„!!a½ À(€zb°Â Ô¨àäE²¾ƒ’\}Íâ…KOÂd²³¶ Ìž{Üš½Ï®”ÄÎN²ç¢ÆÌ%ÏnDÒÔØ™F—Èr½8§ê,SN&5H¦_ïp¼ w<¿_‚è 團Úô3 #7ƒÙÖ÷ówœŸ/9›»5e GÍ N¢›K¼ÅfìV^‡Í8’†1\‡-3”ºèéDš $ÇbÅÄÉEcä¼®ë04i«†5§Æ]±°Ù@ò¤]©qÉ2¹6t‘=äÜxH{¦:ãÜ ˜I¯0âsWµÄ`…é>&¡M¸üñsR蘵}Ñ6WÒb“u"’."çPŒHþ½?bCéTôJiyÚt*°Á|q˜NYî‹ÓØ Ò5‹–eVÄ$6¬…ÝM2»62w*Ã2± íŠRÖ%’ÍŒåÅu8˜¹ãÎ%”=g3 UÃáÜ„žÏ®K51ÄæróÃZ\n~³ç•·’ÐyÕ4ˆärvØâíõÂN3™£Õñ¸#"4™_&šó•v0¶Ÿ±Á–²æ€Ûh¸:†Fþ†·Ù ºéMÊØÁÄÆ×q̳8Pnák þœ|€Í¯èì΀éÄ.ém‰2yD-H…¯Ô„}I(çËÉb"Ãп/`^÷;qi˜œ‰ë`¸YÒ®—¬Šw•Þ¿q 2|jÐÙÝ7ý]úÜÈp²¥g $°éê“£µp"WIHÄÔ0l¤ 0”µÑqîÄhhî’DyÆE3ÙÛç›TÏ燔׌Om&œíMŽÅ+µN2¶W¶9'rÜ› ÇÁ¦ØHMç=Mcž­-‹gK=Óm7™I‹¿¤ØPÓP Y¬*F‹‘D+‰±bÜéNXü9$9PÁX6š\7bï§pø.Fl@nѱMHgÓÀZàˆLæ'繜œ•T™s=[¾¹’FˆkÎ ³ÒËïëT³ NÙbRÜP2KžE² Ô‚ŽDD¥8Å>l¾üB|8ÂqŽŒR ’\†ËIÑu9n¢°L†kÍ.øå¾Æ”km5ãÆ¦[C‚‹qŧ[æ]ø©D©$‚!‡§AŽû°usî–j†VÛ É˜Þ”€*%~hò'Ë&P ›†XÆL’yGšU5¯íÚ³ 02 »0˜íd<)8‹lÄ•='6(tÊQ2³\ï‚&!‡7yÏH8bâf dY»Ë:² ™Ø^?®ÐÎøT¡[g‹‡Éã3é@ãO“BŸ# iÔÉŠ‘Í“I„D†¿gì2ò“¯ÙNîp3,ÿÍb}±Šu }ƒ³s°xäÒBÃ-AÞKõý\r_йÉEÙIÎÜq‰ÉO¦ž‚s©…BHèô¨¡ý‘š:Ò«t µwÊùó#vEÜÌ€…t97HlKk,w–Mœê¢ÃM/ŒôµÌÄd a6бIèSƒ´ €Û÷É ‹àËgLÂ;0iè@L2°M±[¯Ä2XqX?N@¦ež-Bˆäθ±ä XÀÝ|ç‘ÎͰîòkÊs音>ѥǑ£Ÿ4©Úá7#_l$^ŒéhA¬I²%âI¸Û…"RªÏÒH7{™&sŸ¡ãÈDM ™Í)å†Ã¡¡a·°ÏÒÁ¥$©S–Aú{'-z¦i$òÕÈBaã¡;xÑÌ8khQFII§4®…ܲ›µ0Ž›JF¤wDF°Ázv¤“ÞÙœc]¸kn",^#Yޝ¢JçTþœD„“MœtK$® ~‹š˜db²?Ë}›Ž0·žÔ"Ââü³HjNÈKÍ;g—¸ŒuË9Ÿ‘Âaf!:#WxWNVÒÀ5K³Ïòó’2ëV\®—4ßNDSð@ò9ÛX™Ò–â)¡nx…¹$ÀÞêØÊ±!q/Õ8«Ìճʊ˜°AW°¥)Ð#ôF`š´#}þ ³~ ² ‹rç¤Ç@² Xêî³+²3qÒ=;Üê1AÏúÃÖÜ&IÒdxs±UèP"® EëJI4Ï M¯sW)õÁºô í»$'FÅ¢Œ·®“‘9™¡=À@‚¿ Œ7!1 Yð;F¢87#÷ICœ²´¥3P&içn²H¥Ä&A›,Ö‚æWÙ¿×cTÂþ‰Êã•iuɤÁtØGBiaè<Ñø½ ü±Hwf;l›†¤I™ŸÂR A™ôŸÒäY37“ua[Ž8$¤bgz:±]‰Ug6Bâšê-ÿš;mþboᘬNefüLÌPšcNl—EamaA\ʾÀ&r¶ê܄܄Xr’2òÎMD¹¦;&å(d¤óJ×ΨL!Û˜h‘(²]VÓ`!.Ír…Ò ‚ó’¼V†>åâ¹Q–q¶bŽ3[‘VfSsÆz5]††þeª‹g¤&ÎiS¨œ_>‘rΨ ©-N—ÃD€ zš–K±¦Iû;Ä÷Ä5f?bÃ-39f“¢Õ¹22”²||Vn=³r»Ò_G~cdв¡'ý¦ ’2ñ•jye‚ûbWê >YH r£E!dMa ÑëÈ(s³ÎJ_hMä,Ý4v¨Â’1ƒ¥rjZ IDATšžFg"-üºWEÒ°°#L]œx餗G7I"7+¾HÃ-sÀ8GRŽÄ?‘z¢ÿŽÄ# ŸL&‰Îº{l êÉò(¯|š.>‡$‡".†ÉÞœX¯Ô!Ý^269©Ô¢Šd <²—'kIÔœ”­¦<Ÿ7 °žì-îãÈ/‹Í€E…2@5 ¶ ŸÿÄ"3 áô‚“6’Hß0ØÒ%åŒú`Q‘£µ¦Í-Gã à´R'«Ì’§¹cfpŠ¡òÆô§9©?Ćúî™…ÝI¢!ðѦ¼ »Š¦"N&GA[v¨sÍbwlÈ(X¸2Âe¼(-.œ*Òcd¶›õô²Ô¤»ÁdSÐ`}±‘¨DF”ósÑÏF„Oä$j÷æ@v,¬§pûsWÄPšé/ške¨ÛÙ&Éaˆ”aÊJHŸÔ®:PÊ<Ð< –IË6ÉO”Q¥Ý›6wYÐ鞉?DE wY¸ d뙲5be‹èÚ2Y˜Q¾³”,gKBÄ2è+(Ö¤HdÔ=Í<G¦å ·j°¤Ü€rtƒ|3¶†,Ò R,È•ëÇ9§Âf¶•j‚à|ñ’V@L— ЃÐ9¹8Èâé”.¸d½ð Ì éÊh³>|üY¥£~"-Lti^¯Ž ÉjûÀ9¯ÄœGg™sQ««R«¼ß”ʃ2´B2+`†™Èœ _õÒ/¬éìR¤Íz-pb-eQÓБ(4ˆü™j†“Is-MÕ;‰—)“†µ÷l2YVšìL"Ý8Y†ßä¡Eàr¯ÁÜ ©!“¥Åʹ&%"ÒzÊF󹌅L®šÅ{— ï’.`#bkHjdÕ ÉÓ (Ýaº¬A;2]%vÔî1…;zµ3#2áªviÔT‚*ÑÙr3†éJaáÆhêev?è$é–HsÄâ“!KO1¢…1OBz‚² ‡³œHIšÕuˆŒ¸‡@ªÂec6Uãbñ³C#Ť&O&½X–òÅ#É̹¦EA·Ã0ª2I™Y<#Éë\žMä¼”¡ýâ¼8É*dŠ„IÛµ4gb­Ù°\±¹êŸóŠ£Z9ë\“˜½KIáf¨†µJ¹¦ñ!KCqgˆ>Í&Ìñ§3 m¶ê+É(”#j™¬Uj¨öÅc+H'Mj 9€ÆWé‘E~'é³›1³$ Y/dËÄ$^6ÛÕ&RÕ<ɾ%0È%†l†mâ^##ùsQ©ŽjL±c†ÊŒbtYI7ʯEVI ×"'ÓÚ±È%#È!Å’29žÙ¨‚®6Šütæ”z•»Llëdµê¥F!J”/lJéÙ‘”lD5ÕUVE¸Œšú[–/„³Áûµq5)ØÈl¼MÖe8¹¸Àz AZY€ôg”F«¦]£LD,ÌRй¹1^ Ìc²¶QÂÌ%Ãiš<0b¼èQ\¹yšÁr”9ËÏ© ½õ28Èd;ä(좙d«:2"ÙÄÍ3ÖZRº;Ãڦ—Œ¶TÔäsf‡Y‰HKÖ´¶¸áI²UX.³kŒT [ñ#íaYµÓ…"“Ñ7ˆ"GÙ[³¡|÷aMc‚ÖOl–&2Ë‚'2ôCFNŽl–š WóÝMj{X'ü%d•MÊoº>Ò½ ¶‹çkõÑIDå2í”N³†ÝÀÓ̦ÐKXÉžzŸHÒúl!o;¹Y“_¹õŽb¾°XðzI"ÖPyµ2ÝJ7dyLºß•e?h¹ £À‡¥­“×&!R»FN‘8é/Aæ‘‘^ÄBjšvžéîRð²ÛWs鞥–J ßkɯ"¥I+Ú¬Y“HZÕ É$ÒÌú%Ž¢˜.2ë\7)æo¦£Àèè¬"ê‚’^øÐª¸a–쑺6g£š¦h’­9„Y²ÇíŠê}t=$ù-#¯Zè¦AFSÊe‘¬E²Œ¢s†KN ΆH’Œw­å$ C Ñc]‚Fz±;2jâ3td ½X’®š[È$¥6z…F¼;êÝËÆ¬#4–™†,È dä’e@XÓ®’vM#gv_r¦éI¡8~ƒ%PKyÉŠˆöÜ&Ñ8ßÅX¤$sNV}ì¼çŸ^§Š¥!4S!Œ\Hs=iu®yl5ˆ¬án‡”S¨©+mD@l»dƒ$д[Ù»Q0ЬìPó®ÜÐIÎ]YEö 5Ž×¢J$”ÌzDÙÔ¯IÊÁaêß,F(˲dr Çe·{Óû$ƒ%ïh )Å0Üx=¢ Ý6RerÔ&ž³Áé8€\†LªÓs©AªíÅw¤‘e8e†ûfÔGÓôͦ0YfK˜í%Ù–6X‹½á¨±éäZôœŽ²´•»AÛ›«™1¡=½+´Œ¾d¤0VzYÓXÉN²„ˆY!ÑØi’ÅÇ-dËÄZt)'8EøIvO¡<õÓlá,ªd Ú–ÈžôIoÔk’®kd²0Ñ©\õ\š>ŒUî’«9ºÁùˆH•–Ûh†‰²ç˜7p’ac%ª%è³®w“sIÉÅ] z‹ ‰z»zƒf ŒóÊß»ÊèØÇ°7L"·ÿIìðIu‘‚îUÈȹ&Êè°Ì“Ñ:»³Û…5b]¶|b]ò º°ç›””,Hý€þ¬d¡H>.ƒ% wÁ‘Qö¦†‰àhßi êØQ ÂÔf±^ MCJß• ƒfÊ ,èc4Иn´^¡Áxñ\u5ó’"cT‘  ±ê©Ìz½ð,5Â¥s‚1ù †ócr2œ¡5&cÃ!³Bn€ÉÜ0̆­‚¹Ö>Í©T$³Î·iqØÌ ýf˜›føS^†OGÇZˆXŸ£¹¨Vps†®‰4>Œêw&Ãy1 ’T£ä\˜ŽV91ØÍúªZ©5fCÑÎIQóœ-rLwõ¤rðÒl”02¤4d6E!ÃàÛ6€Ž[8š +†)h4$ ÐC¬Íº›¨Çš*š­6î$ˆYMm¸2df00®à“Í!¥°“<•«e$™E«ØeÙH›X2ŠHlwÒ$ìVAk;+¡öwssìtEõÞ$²U™ÖqQœÌt£µZ_¨`=M…]ì&kLÛk]ˆÜ¶êº!$W+6ºGRÎÙÉÚQ MAOœfˆßÈÐ#¡7#£ÍËFl$äË…æ’IKšÖÒ­ÌZbŽ2Æ–ç¢MC]y.;ï0;æ²Á çú:Ãk“èÒ@×di% /GÛ8H—AelEéž¶2wëÎâ™Z-(Öº:KM¯α½â³‚cVƹ(ÍË’é;¾„úz#i=u„ÍíNÖj´x.Ê+Nj!bÛ=&ƒ›`Mi«kŒ¬ËÇ'GµS"Ø… M ‘#´mlF®'¹Ú|i!@—øVJlÒX;“ÕlÖ¬k.Ÿ­ÕÒœõ>€–1Ñ|æÄˆ0kjj) Öƒ"²Ž»Ã¤¾¨YÔÖ×{¬°]ƒŸD®“±©É‚}rcEÅý3Ë’ÏBmlþŒ<Û@Óà /´kÎ꺭,×–ÉzgZaJCwgÅÉY/ùE’>lÇc±ÆUº“£ez¦v–UMÙº¬CnZAå´Ö B¼Yw“kÙ.K­qf‹™ô)/CùZ—Ó­Ë.ƒ,=ÃèTkœ•ˆF„(Š÷‚ˆÉé+ÅBEð2WÛ®se_»_λ9ÂÞÙä6ø™Ì½#{W\qúüa¨’CàÈ%í x* ˆ¡’'SYzÙËÕgã}ÈZVvW%ru)é0 ãùPÊ–‘ž ’y/8"„ɣȮ"驸—žb@E‚Ó ?5ëæÃâä‚&][HdÐ&F¦ÉÝH½ÐžäLÙŽù¤v±MÖSwÌŒƒG%›r­,4ôB 'Lº“).1VÈD&¬dpÞ¤ D¡I}\8soÜ‚q•&}|“ËŽà„1#[@ã"¨­èž®C…0Tð½ófCïì£ 0fÏ@©ÔÐ&óàp}ý]¨7<ì98 }ý]I·l†¢0K¸&;‰G›H ™EMyó‡²:³é’McÂH!ºÚk˜3ã(fLBÁ1wÖ1(i÷6R)âpß„¡Â®ÓÐ×߉FèÃWQž^£ñP"OÚ\D -凅a£s“ˆ@OÑ1DvX6/@(4B…)UÌœ:ˆ9ÓÑÙQÅ´žáœpÐö˜–ÝßÑþ.„¬àyEÉyT¦‡Ó}“|ƒÉjÁ²”­°!Žmö,kÅ™ÞJªòŒœóì™D¡ÊŽÈ ¦ž O…FÁ檥Ê++]»²9l‚;h7V_ã¬Èìô"ŒFyX±xÊÉ‚¤f~å¸j¼þ‰ }ç;t´ ûM…";¢¢/É÷.ƒð<Æ…glÁ²…‡0of?ÚÊõ왋<¹¨‡ZÃ3¡Ú(`Ýv`Û®98Ü7Ž,™Ï…ÙîAܤ}ôÂt`1v¶Ô ^ŠÞ"B¹\ÇiKöcÕ©{Ñ;»…Bˆ¢@)F©Ø°PD*Ô>˜ •zÛ÷Ûövcß8p¸AP% [w+Ùs´ —‘Õ>l‡ÅTy°–¯šº$E?ÀªÓ÷âŒe{0w抅JÅž¡P ”N¨Ô ñ»«°y7cóŽÙØ{p!™¥BK@™"ÃÌH‘”vp‰ ß’f°ÉÒöéU-ÒûTcéüƒèl¯%4LÔ‘'®Û6Aè ¾7ÊË9¥Ï’ Hf€u~P—º°k[…ÙC’×`)‹uÈ çž±+—íÑj“Ÿ¬ÃSn»ïLìÜ×B!ŠuSZ±<+§‘¹,—ýsf à¬Ów┇0½gí5x^¤åA¹žKÁÑÖ–ûÔ% ZƒûñÔ¦çñØó³qàÀ ¡”Wÿ9;k2Fd¦‰Vš¡ïØ À÷CLëÁ…k¶`Ùƒ˜Ú=‚îÎ ”âÖî­\L°l¡ÑŽëÇö=qÇcSqðÀjƒ"F榮º7’µV-–.ÉéÙ}j¥Ø›;óV¯Ø…ÓOÙ‡ž®QLé09m¥b¾AŸºH!¸¨†¾£‡ðÔÆõøåÚÅØ`.¢¨K3ˆ-ŽA ËÔj´]é“pÓ×ÓÙ>Šßºú1t´×šæè™èÝ¿g5~z)|Ÿ¡ˆDi@Ûa³1ˆ²Ù"ßÔõ†pÜÕ4²œ ?=Ï*o/×1mÊÈKÃ`yüÂ(jA¤žò¡ÈabÆê!Zf‚§3¦ â’s6bù’ý˜3cž!ŠâßGÑøÏA6eƒ ¢*ÚÚªxõ+€‹ÏÆ–íqÿSó°nÓR ¶Á÷UÆ{43°º³AmB–ü‚atò% ³­†sVnÇk¶bþì~ø~ŽQ‹÷fS††@€Ra«WkV`󶣸óáÅX·y1*Õ > ²=\3ÊLMÌ4š9íb¤ ›œ××3eµ«N݃¹3Ž¡P˜Ø=ÊûŠß]gG¯¾p®ÄÏ×nÃSÏžõÛ¦¢£\2ÂõŽ –ÏÄí•^ŠU{ÛFñX3G¡wV?–.8„zÃoIMœ¹ ¿|j.)xð ÈK2Rl%MDd'h¶\};Šh·»ÆkZ?.é®ë€ŒGA„ Tˆ˜^K1! k¨4†¡”‚W†¯žç§4½Ë\e›»¯gž¾×^ö4¦v àˆ¢˜»:‘‘º'QŒŒÀ(–/Å¢yزún¹û lß3 ¥BI”„¡t´×2^îÄï->~­u,o»nÛ÷ìÁ×n=GŽö Xð5ù ›»8ë‘0†#(b+Ö¨mBÄÀÊSöâºË×bÎŒc(NüýÉwW­×^<Œó–㡵óñã_œ†0(Áó¼Ø[±½MÄë(•dQbC:ì\¶)‡Æ„‹ÎܯӨõ5:gú æÌ<ˆ=‡ºQòKð½<#™Ün§åÊv$á ÃYzBkx|ÒH×T.ÜbÐI3ATÁhíêÁ(‚¨æ(›<oæ{n¸ê1ÜxíØ1užŠ²Hà¯â:A©:–/>ˆ?zÛÏñʳ·¡VF!"f½«´%šŒß–rÔ¢'³Ó+ôÎ:†w¼é8õÿR÷æAv\×™çïÜ›Ë[jþƒH$ ‚›¸ˆ"%Š%Y–lËvÛí-Úö´g"&f&fþ˜Ž™˜è;&Ü1Ý=ÝíîYzì˜ö"«Û¶¤‘Q²Lj_H‘âŠ$ÄB¬T¡Ö·dæ½óGæË¼™ï•U”-û)J(D½—™÷ž{Îw¾ó}{.Ó£w¨ÞþÚ¾×ãàÞ+üÚ'¾ËÔÄqÒÃÚ¤²¥lô:¤K;¼&ËÛ»iq¬xâ=¯ð«?õu¶o™É²âü5Z+ôº09¾Èï=Á/üØ÷‚ÆDkpÙf…ìM•=Vuõ«DŸáÌÊ"øAÄáýçWý<ÇÛ}vn¿Ärw‘(é’˜>f±ÛÉËÅYy¥ÙªK–{e¶zï `U•™ ^æß§@å6–YêÏÒ‰ˆ’‰‡&ô¡Ìj6ûüäŸçÑûøñßúgn5b~écGyì¡çñtDbkJÅß0oh´_ð¨|ýä"?ý¡gÙºñ›y²µpà–üÔŸÃ÷{Ä&"I’¬‹U5ìÝü‘GMuLÚ÷ ?ñ#ÏóáGT@ô¿É—§ Þ{žO|ð|/&± ƘìÊ 2 CŸzØ>U*°Â°íhu¬4N4GöŸ§Ù诺 ý„Û÷Ì Þ úÑ2±‰°6Y®¦²Eƒ*L,éF ìk„¬zÉU5Kíˆøw-Ã2tXîÏÓ;$Iœ>ëZÒ×j¬?ùøó<|Ïq䇤<ñ‹=˾ÿyD:$&Ƙ¤ä„-%êj•äP‘ ÌþÏ÷~âñØ¿çò¥¬xìþY>úþçˆâ±‰0&.eZ%/w;ˆŒÌ‹S]ü„<ú?ôêßúac-ÄÆòᇯñSù2pž(‰°&Ο[uÚCF÷}©rúËÃêN-²Êûœ&‰Õ>»pÇž%&ÆnЗˆ“Æ$7Ѽ²#Ÿ€­¬I¨Ž™ÉMí×&à•™6Ê*ü}+ !±]úq‡Èô06MÓm†)çl³Vá)ËGß÷"÷9•uÿ~xÚXÁؘ?|ž?vd!MÓ­ÉÆMìPŽ8:×t“Rrëc¾Ê=‡NÿP¯m¹køøû¦ùé'¾ÏÜò2qÒÏ6‡ÛÆSªr.âš@ˆåÑûŽñ؃¯ýðžŸ:=Çß3Ï/|ôE4h%6ÁbFÀÍNá$2N»ÁºªaR–RlX×áÖ]WHÖPú ;6GìÙ6O?^"Š{$&J!”Rx†¡õÑÛ0áÄÞ¼Õ,‘|˨ˆÿ÷,Ë2 ±écLœ–U¥9½"[+¼ÿWyÏ='†,åX¯ôP6|ì±7yôÞStãå<#q†1rÄfxìÆÍžWùàï8fkݯµf¾ýÈð.qä¶‹tú‘8š[ÎzZ‡E˜¨Z+òð6oºFÊzSF—’L‹›M9H•”\|óYDw°Ë¸ëàÙwX® ÷ÞÞGèÐ{͇µiв¥†@U~ˆŠ/!UwÏJ[d8C¼).¸Òî’ô‡#Æ–•­¦¡ÙGc• Olé÷m­ÂRÂ@!z­ h &º·Má:ô¦mðv«Ë<|”‰ñåUw’”ßWØ;†(†+ókÒÛh˜l)´šà{ivaÌ*S¬ø¯þeþÕïßOgY¡D¥r3Ï‘ęË̈¡Öûv]aß®+« R¡/ô#XèXf,WonÌ›œRÔn ë¦4›&ScÐ ¡Û·« ûw/°kë5Î]òñ”V_H+Å»u|ʶ,Ð {<ñÈQšáêÀfüT„qnÑÒí[f—-&{víP˜j ÍšÐ-‰±«8l„[¶-ñèÝøôÓ-tâ¥\Q…)1UYïúΰҭTf(óé#ìØ2ËÔÄÒ;„!`Ý|øÁO~»K+H>žNR7´JåsU©)Í Ú¡àT÷.®HvM) BO[^<Ñæüì$"1¢zˆŠêhžZ Û×iîP(Ug“ÂK§"®-šaѲZÁDxó’ Õ¨•ñ‘Å}‡OqǾ «V톢Y^=ñÒɘ“ç®ÏY¾ùJB’¤÷­á wîÓìܤٳ]¸ç Ç=·i¼–ºõ£–1­;;|ô‘“|ò/¡•BO~»ÏÙ«:UT$ÖG‘¾ßb,<Lxáxzwm±¼ïî>?ñ¨æð^ÅRÇR÷ÐŽxôÞë¼xü2ÇNi´ÒˆjâQX×|#{víVÌÎí3ˆ˜tPw…¬C‹ð™¯vù½'{œ¼‰âÄG‹‡R% #*k]ß;/´|á;–_ÿxÌ?ªk*‰Gîžãóßœ§øºѺ¬PY²=/~»ñ‡^ÅS¦6ØúŠ‹ ŸÿV?þrŸÓTVâzX«P¢Qœ¿ª¸x=ÂûÜ×>öÞ˜O¼_±{«¦™š ¬ŸHøå»È¿úÃ1ð( a@)Ùuß[¬1tã„^ ½HÑ|¢8 1+“¢ØŽHW~àKCèéBB£”ªÄøê÷Åw¾nøM<â‰H––±QüØcÏÓnöˆWA´SJxñdÄ¿ød—g_O²1ÖZùÊC‰U¾³ÖòÖÃï?iyådŸø¡„ÇïSÅ©Tã59Þã½÷\äõÓct–ÒÕH%kªÂY¶5Öî°}ÓõZˆüé—;ü³?ì²Ð<­Ñʧø*HÇ›ðÑY–•‰äYÃÕë1¿ý§†É±.ï¿Gj•OI"ØÓ#æYZly]|åcT±vÄY”›DxϽ¯±{Ût:†RWRÂÙËÿ×çºüÙ7b¢$ NžòðuZ–*I¯¯(¯-³ó†ß2áØ™˜òK†ÝÛ„$©÷Ðú‘ðÈ=3üË?œ¥ûø: ÖY§ÚVÖïÕ CÃAv)ÀD{™Ý[¯þÀ qbù™Ç—ùí?î2Þè‘$‰ÐèB¦9¯Žu_ÉÉ»@­ÊÚ÷Õròí¡w¯Î‚-4Ø‹ù.Éje‹àáá«€P·I‚%^Úu]GÇ B•KõË:ñÐ |âë0›ô³[L¨ÛŒ’ëZ ‚¯BB¿M ›hd‚Íö³¼ûÎS« V¾/ùÿØá{ÇÚMOùx*$Ð!Z7ð•Ö>:ÛØé¢7Xk¢îü IDATIlLbú¼zºÏoþn„IzüÈýImà:1ÂÝçÙºi–ËW›D |EPè2å'vº ÛÖͯ¸ µ‚óW,ÿôw‰ŒOàùøªï…º…¯C<•–m"^Þ°°¬IˆMD·Ûçßü§Gncr¼^ Ö î:°ÌÓÏ.ú¯‰g Ï@[q†±ŸGÕç£ï©~°ÒpýFÂÿö‡}>óõˆ‰vöìtšÙùª¯´òÑÊ/ܬ!6 ‰íóí£ÿêS]~ó×{L[’šÕ¡Ö–ŸúÀu>ýÔnáIˆ§ljµîÒÜKÞˆ¶° «:,;¿™š˜gû–ÙØ´‚µpä`Q”õn#¬IÒhUÉ=\¸ÙŒä(o6 aËwŒaQn#ç)~r"‚¶ ¥||¯I3C‰"RÝŒgb]k»á K ¡×–k¬ôôó ½6 ¿eJAÙé9¿•y:´òñuƒ†×Æ×!JùŠ8Ñ<úÀkˆª·â,Ð …cgcþéï,ñý³0ÖÌ6´ß ÔMB¯ï5ñ•»±‹lÐØ„ÄÄĦOÃïÒ:üûOw˜[â¡;#’¤ÞbÚ¼.âÃ×ùô¥ |ÓÀK‚t>r ¥lË´½F£C3ìÓíoû³_øôW:ôc0ð t“Уᷠ½6¡nây ´xhååå¹5éµÅ&¢ô¹1¿Ì§¾ÿÃ/^§ÓS5Nt8|k—Ï3åË%&å-)ë¥Í…’nÄz}Ÿ?þ"J™ZU«ŸùçÔáÏ¿19æá©_7ixM¯MèµÒÀ¥ƒ<ËJïy’^_Ò§éuùÞëËüû?]àúGËéÈV¥lŒðÀ»øÏ_Z¦§AYÛϨ’'AupÝ–J1²’¾lqǾKè÷ÁZðt½Ìwã¤áÈ­N½ÕËËB«RQÆê¨-ÉH»Ø…ˆc©žµe¿€:‡ô  {€‡ÜŽ|å•h<ê@ [ĦŸÌŠx;,8ž¡áÏ"\qjÏ·ŸJ¾ høc´Ã)BÝNqµ/fF ñܬ5=EÝÀ÷yjÓºyì¹P»< <áüå„ÿõ÷:œ¸ ß'Ð!¡7FÓ£áúcé¦V!žÎJXÑ“›ñÁúDq—†ßa¹»Ì¿ûŸý»n°~"ÆÔHIú±âCßàÓO-Ò‹Zøª§=<úKŽÜÐöó»ò¦ö<øÒó1¾çá«¡?FÛŸ¤L¦×ç¥×¦EgÀñ€V`±“$}µÄ3G=nüøpeš1®-½¸CwHLkcÀõž*iîÛáþ;ߨU(%üÎçº|þ;1Í0½¾ÀkÑôÇiã4¼1B¿6Zù¥R>=l"¢¤Kè-óW|êKÓü£.bj4»¶ÄìÞ:ϵ™1~_‡X• I»Rá®mšu;õE9,Y¦¢´åÝï:jY½m¥ç¯ZÆÛ–‰öÊ«¾Ý°9Ðåõ7»)ѦkS‰3dîê”>3%ó༂’fåÚÊÉ6Íj¬“vZëH `ë&J<ŒJ¹3¦Äˆ-eùÇ ø:Y"m{: ôZ4½IšÁ8¡n¦ËVŽV±oÇù”T ô†'ŸésþªÁÓ!פN0¬§®£ézí43 yÖSlJkÁÚ˜D…ø*D‹ÏÕ늗OÌðø37Ń•ž',w ³s *Í$ã¤K”ôñUÚ+OVt¾ÄºÒÖ…Pq+Þûî×VÌ®1ï…'ÎÃ>äÕ:ܳkk—sz$I£XñQJ9W…ùEºä¬cl[í…UÄÍ¢KhêT†ÿJeªŠUzDM)#Ó» (峩" 6Zyh Rp[5PÚKôµÉŠf(¹ËNVkµÙ²a65Œ¨Ù©üüw"Þš†©vžÎþ­píp*Í®t­Ã4Xe-×X£¨Û5‹ÍºoZ¼¬Ë(|öéÙ‚F¸2X$Âí{»Œ·–èFË)FgBP~‘ÝŠäÖîu^½Èò³lðÅgZy&êVF7Pnåš*XÇHVPJç›oúúFfçCÀÒ,×oUÆK˖垥ÝPcâü+ NÖqJ W'ƺܲýJÕ›œ[4|á™k½ Ï£åMѦh“)ö¨(åee¼céæ˜eX«Q6ÉiQGñý“[xø®9Â0AlŠKk-„¾0}ÃðÖÕ˜çbŽž²\™õ¹pÙ¢T”«! &C¿”è …„µ¸úló{^Ä‘ƒgHVX\»a8}¾yÔðÖ4lßÈÛrå,°n°oG‡Óç;ĦOb FRÙK©ØÖÆÝNÃ΃s­,ÃwÐ%”}®A§-ñ?²0"Uxët‹ºlÀ±–œå»ªŽ…MQ^b)•ê •,¿ ft^Qvïd¤ã­[7ÍÔkó7-ŸýZŸvÃÏ|3˜ íOÑô&R\͵ªì(R:`¤äR-Ùæ•~î«×bNž»ÊÝ·Ï×Ȳ´‚{o_â;/wh}‚$ÁŠÁ¢M&\ºÖÎ_V*{ïØ ¿øaøÿ¾Ü@ËÏ)Ê[¬{%Lz8¨ìsyx6äúìÿâ÷`˜e©?ϵ¹eÛÇš8j;]èöÁ×—9c»P„”çX… SsŒ-×įž1œ|ËÒnn5AÓOŸ] ›)÷Ke*¯%Wñ¢K)¹c ”5 /ÛJ”œbÓ˜@qáœáäù˜'Ÿí2³WfàÌ%Ã̼ÂÓšv“M›u Ö˜t’£ê¡ç’DmEXÚ¦R2wÝ‘JɬĽç®$œ½dkz|å9øÕOWÊÊ<ÔãËßíÐOº4MÖ-ôü‹T*N×Õ=WV-ÊB©1-ã½Ý‡ÃU\Ê\˜K f„Ó°k‚`KL),}x«}&ŒÖ¦›ÜµA·'p9u³ã!a±(ÝÛgh4úôûþÊž†g_M˜žÖµÝ¢¤ØU3H;h¾Pø)u°Èí°uÉQ4Ûâã‹€'˜ØðÌÑ90S/ó³p÷íž~.Vµ†e¼"¸ˆey¹M/ª7ߤþËŸcfyíø”m¤Q«ÊY·#jTvÉÎ:»Ú§qî­=ÌuZÌw={ÐKc"(€ŸÐoà•²*òŒ°qý<ë&k®xù¸ëáçXè8-‚†ß&ðÝ…÷i°^?àœü¨E€€ÀƒN×òÊñ­|ýùE¾øü"‹˜ës1g®dëT‚G3ððuHègï—e«’•WùÚÉßwàä`?f˜Ä÷9¾"8ÍÆáû§-ÓsŠfò¹oüãŸì×8À„ûG4Ãý~Èô l‚56CÔ¡ª´ßD*.ße}÷:Á{;þ•ÛÌgÓ*¾R²™¦ô)[žéT¦¦-¬ZfÔl·a>¨ïóŽÅšÅ Ì5ìÜv¥6#8ô…ÿüT—Fàã{ B¿MË›¤é¥%/Ã3\¹^;°‰ªÑ¬”‹E)ÁZ_ƒ±cL_ÛÄìÜY¦Æû+Þ*káð¾>ݨG?î’øi™!Ê–Ì–»>×fÆÙ°nqŬÄZh5-ÿä——ø“§¾Ï÷Žvè.ß5åÒzÐ=+륕•<|´÷-61JùYÀR…‰,YÀòšª…§)NJÅËO”e¬ê²G5‚°ÖŸ|¥O3 t3Å«‚ñì i¢UXš+Ö¿sÞ¸ü¶ì¿S¢ðŒÇX3à?=y‹Ýy.ÍΰЛ¦/âI„(ñÓκ¯Ã”ž“uºµö3ÓRJþ´âÌ…ºÎæ’î(txƒm[®Öâ¹õcxéd‚ŸÐ ™oóÆyaçæ.ÉÛàHÖÂÔ¼÷È"O~»CÛï’x1F™ttJ\ë/·ÉVnäæÈ\f<²r8¨áK(eSÕÌÉXVsU²ËºY„ã—*RçÑåZ“¬Š4€-:a¥!¶b*#y¦§¶nœa ::Û˜ž5<÷º¡‘ñ’šþXÚÏp”`XÑ8²å `]w“Ü8¶8TVú:dvnŠë7ÚLMôjÉcLŽY6¯ïлÄIŸØ˜ša̽sµôÊ•ÀÅ鄳W„ÍS×$Ô­Œ“×Ìxr®l¯­Ì ¿A×/‘|¢RãkŸn´Ž86„þ2±ÃӚĤX—ÖžYs%$ô›„ºvA†yÊ"…#pÉ»¤Ü‰‰vTkÛÌ-Z¾òBBè‡xº‰fŒ§Ÿõù/>Ñ!é¿ý}\îÂÏ<Ñã3_í5{åÄèÅž•¯z+•Nrz‘÷8zök X…Ýõ ¸+×>ÑéfTT˜F{ÙuXLGÖX:Wè Š#£2˜ar,±Ýs_Ia¬¹{Çt-^’ÖðÒIC’s¹ÒÅúÍô„T~Fl0¾-£`ÄÜ›²be•?¼¬ŒÒJ³°8εÙ6·îž­™ZíéóÒñ>‰Í~ÖÁQ, ‹ N_XÇþ½—kßqca~Ú­y>ú¾y½ï*—®¾Éɳ“œ8³‹+Ó›¸:½ž 0h-(·õž]Vg¤ß‚ÅÓa:aŠÏ'ùÀ}:Úä«´‹§•ŸøyÎ&੘‰±¹z z ß;ný”|dÜ+?ÓR⡬ʗ—µR">[çP)­_«ÕxxÊ#ô›´ÌdJNšX Z¼|:@«O‡ø*ȧüŒÓ–—Çù:®¬£­´X¶oº„§ãZgüko&\™¶L¥kØ×mŽ¿Ùbaé:¡Ÿ¼m–c ìÚ±×W¯e³…I\gg+0[vÝ’26SqºyãÕ 0BEб¬wm‡€ ³ º[Çêþ‰—m†\à—S.«­HU[­%AÄr7¬j¿qÞà+5¼f>¡Dç@sɰÓMu-%½*×ýE¤l¦©Ä23×&1©3tM9ÖNèÇ}â$ÂeÊÅh hΜßÊrçtî!X7¡5FXî‚Ö]vïè°kûuÞ}çEC^³É™·R_¾³Û b2hÀ¤QfÝeO‡i@Å”0Ð4¸¥YÛ`,FKJ¡)[¯)Ï0QpW*¼}ÒbÒç– ¥<§´$ïÎ0oòÈ}*‹®è 6 R[/A‹Î:€& RÊË‚•‡51Ò®·—ÒD\(Æ)Ÿ ÿU‡,dab¼ÃÖÍ7ò¬s%2ð_?Ñ Ó²4ðšºÍâ’fúz›ÛæVÌä­Þï2¿÷ç=&›©‚ƒ§Ã,VN)- «©óȶÜÞ!†Ur¹²²–‘^qB‰ÆêþH¥ç)e-²U†©ÂS 3Áá8I%MÄYxiöc¬°eãbm:ƒï Ïë§–G: ðÒV¿§ƒ”Ð(.ÎW>š¥H5 †²“ŸVÜó1—ÀÓ\¸´‘8~ƒÀ_™gäiËx+e˜'6"1)‰×sîš§„g_ÙÌ´Ù»³¿æ#-à ãíe¦Æ—Ùˋ˳,.¿Î—žM¸~}/ÓÓ{Y\Ü€±©æ“²‘•á8Ö7ï-=Ç”2£P*#m8à x– S µæèö¥Ò€åyƒ`åg‡M!RY:Å– im¹Ãë.b¥߆ž ²,WÒáfñÑJ£ÄO¹y*åæ(qTG]JQÅ6Ë~6­Ÿcû敇ÙE ßþü;1­ mªAÃorýF‹£''Ù¹m¾hÿøý]þà/;ôâM?ë*wé[§K˜—Ѷ,smÅ– ׌a•S²ªmyÞRJ¦‰££e ÷®¯ˆº2Ê\J•P²VýqÉI Û7_­ ¸ÇŽ¿%x:ÅWÕÀS <ññ²EW$·Vu¡â€ðRa«Ù?ÑJ³¸ÜÎ>c€×%ô“8ͰLÄ€*šƒÆJÑôBžúöþ«Ÿ{K²f‰ä|XìÄ(11¾Ä¯üŸþò1fgÞ⯟ ¸:½ë×vrez]Ziª sŸƒÅ›'᪘‘²DÎànù~O'µ–ï Ÿ&¡á‡éLiÖ IËA•—a%‰­Á¯tvËóÆR Ú Ù¸Z˜ýêçv%‚"ÅÉ”Ìy*"¨”œEŠ•«D”Ö7 ”aǶ·owV¼¾†§_Œéô4Í1O¥B šhisñòº½K„A¼"L´y垃‹¼~ºËX8ð0ù¼eÇHYâZUâôÊS/õ@wKE0òp›µâ5̪ãÇÚ#–«'+¥E/üJV•V¥²d…F×*K•Àõ†~”<=fé|6ÉŸ¦”­.«8iùó—o«5´@·Û¬j­éÀ°‰ˆm 6.øp’ʾðÜ+;8tÛ{àr-6}’q°Ï_O‰ëðK?®X\œåâÕ7yñØ&ιWN¬'ô„ž—ôRž·Ar7ïè:uÒ@5dÛæÙU™,\…V0PÔÒÑ"¥Êhª“5‰Hu\¢t/-ƒQ$UúœZi”U(|§y%9¸Êl)5¦½ØLªqÔ'ΞeŒ3ê}ë…•‡@;ÂÌV¼3dõ®’þÜLD֮ʸº*z2B¿P†.T€ÄhöÝrSc£Š‚éÙÔmF‰Î%UŠQ5ì´\â~I‰›UØTU6E)ò¤rÎo]ZOTÓ[ÎZØ» ¶mH0&Á“`* '©ÓIÔæs} ÖêwÄ0Y¹Û,$‰`’„f£Ã‘ÛÏðKŸø ?ýѯ†ÝÌÜÀæ*µåî3Ø¡C.ݹcKõwë729ÒÙδÔÙ|¢8äÔ )Èôž²Å˜”à&q2©ôï tú«Å1uqt®ÄVÛv"CÁ‘\ŽZ¸ûðÉZ;ÈÓðüñ„^?í>û™æ—§Â¬»íák—Ží¨µ¬…Më ›7vèG]’$ík I×ñÈâ˜ØTö¨Ø!£³UÛ|Â4„²uýðß £E‚­ Gö¦–Û«ê :ŽùR±UsI·GYuç°­Mí÷]êfÞ¶Jg@í@­T•`Ã’­©ŒÜ®"cɶ»r/³ÓH)oU¥³¯mª E¶€3xÎQ¢Q*À÷¼|b3¿õ»;éô|ïoÇ IÄ2ÖŽøØûßä'>üE¦&ç1I’iIÙ¼Ë4üœË ¿ÕìÕî4' -:ë f@¾(dHyÊ¡.”Xöv¨ÔömvgLj«Œb8ŽeîúaCïÚê8wÂŃ÷¼F¯L˜õ=áéçzÄ&¥t¤ÒFÞtð”GÃ^zmgí)ˆMë“z}š>Iîrä¦Ç…¿b™ÊäF©MqR+îoç6ì8[þ‘âü^F$Ö¸9ªs¨%nS5£eÛ(¥í*Ò„LbDáeY–ˆW ¾eIþ‘¡¨Úâ¥,€VØYɚ¤r,Ædå )ÊÒAÐ⨖?Î˯ïâw?»s—4@þV—1Ћ ï»o†_û¹/²}ÛzQÄ NjF·q¤Œü­ê°ËfPS‚¦Îf=e¤Ïæ­‘riXoêg,C_Yž 7sðç¸ò„6F³cÛe6®Ÿ[ßk³–WÏ ôàRµÞ4à RéiQhíÑéŒóÚ‰íxµrá=GºA7S"íg2@¶d2À5Å–A#q<«ŠºìøR-µ*ÊŸXÕ‰ìf¡M¨Ï¼X_ƒ!J÷ÔM‚äZÂ¥deƒÊÊÀ|Ágd¿òâT#¸ÆbÕQþS•ƒ³JÖ`5žI×X;°³·•T< ¼* ôš´‚q¾õâþåláKÏjº=Kè žþ¦C×rϰkë¿òÓßáŽÛÎÐéõsWnF†ý*¼°šU¬²€¥ŠRõ6O¢3XÀ&Û1b½ åM¥ùæóQÎÓWo³;„(öxÏÝõ •Àñó —gH³+f„ÑÄxQ)žðõçváy+¬$#"ÆZËDI:YalTZoƒJ¢”I–Œ6ŠQ‚:+MÕÛ¨Œ< ªâf™De¬N¯ç‘ÊþFK73µ#̉jÝ‹Á«Ò6&¹‘åP¡l^FÞe·^J÷´œB¯-h˜\¢ÖÍJ¤Ò6JyøÙˆQ¨&8wiÿö¶óÿ|¶Å±³–N7ÝGò7µ¢Xذnž'}Vë:½¨‹1™V¥TËŒµ«~®ÒGÆîQð ¬R)‡C¦ÍÇz†÷‚‹ó–Ÿú`,Ødh·ŒØVƒˆ;öŸ®EÉ1¾w<áòuÉØöigГlî•â` <Å©s;˜ ùÓ›Ó|Ïò‰ÇéE]"Ó'11`†øKRÙÅå©‘2êvmKœ”—!ñ¾2!…áô×ʈÕ‘ÖÈt·#ÒìrºyÓ:’¢ ´ZS‘´µ\,ôRwÐÊÈA×# z'Jê£J[ÎÊVŸceÂA‹¼t‡Ò3\‹ÆSnÒðÇiyX3ÉŸ<µŽÿþçS_Òœ¹(Äq6ò7¼¬…{¯ò¾NØ¥tÎÐĘ›÷²êU“S Ò12ª¿|³#u¸×=º­CéH-Ó^FäÕé‚d$/o½åíf=ßÁå.œøði&&¦éÆt¬ÅÄäTqž7¶àjÕV¾ªr³ž²8H#&FYŠH%ï²¾â¨5 #!†Ð°âýÖ³x^=…Õ¹%Ã÷Ž%ø^:è0ãú¤áÎWŠ€×ÞØQK IàÀ-wì]¦Ó復!6Âaá£R!yÛß܃o·è‡ÁN©œü¹ÎD¶âh9CI8O2sQYsŸpèÈtR™JZo«YœÃç‘x^ê4je ÆÂ¦uà©L™QŠIq†–­-Ïyå·ÍŽ‚Ý¢¶ÚÀ:›7ÌÕAÓ4·hYèX|—㕽—¢ÌƒIí±,XŸÀËd|Q(¥ñ•5èD‹|æ+Ëüñ—»ìÝÖçÎÛ ÷$ìÜ"ܶM³m£€ÖD=“Û·¯õ©#LŽÇüƒœàßþÁX¦¿¯«S [.—º=¿^ÞÀÖMTH9ÕíR1¸p”¬ãSÍĬHé<©¬ü²·ÀM6cž©»Ñ_ªž~é«Ýê²cÛ5”ªg›vò<œ½,lO© nf,/•í)eü)íáÒÕ ÌÜgrbe "c„'Zä_²Ëd³›ºC›¥Õð¾«0 ìŠmÍ€UÅŒŠŒÈVÔÊÓãE;šaŽUÕ,ñÜ© ?.§I*îÃâVP Î_ÚÈ‘;N¯ ^ZkpQ)³‘ݵu‰Kž­ÈkTD‹º1KÌ= ó. IDAT÷a¬ˆ'¸·fzf`óxÁ ²#:ªù¤‡•BÏH§æ´Zyxàé&¡×¢-Ò—9{±Ç›{ðõ˜“‡öžÕpÇžˆ=[=ÖOÂXCÓ qBáþ½ŠW¯¯xÏ]×ùÔúË\ŸÑYÙ’Y¹ç@yúÙ¯ÏLÔº7nRâU x•ë–ç®Á¦øò¹ž*¯høYçë£B—‡fmùp“T°pçÖi6o˜©©P!<õÝßó3ó–¾×Ê2,/3¿uJW1hÑÌ-4yíÔ$Ü·@¼¹:Žá½wwø7ŸZ¢÷ˆýc°~e4® Ù¸¤óº-”š¾„R&@ôÒ¬Tž£-Om»Jƒ®ð¦¬5bIJ·-}F›·QGL÷”†É›+à+“ã •%&õÞäGCƒàÎâN홊Ï_rÉÄÜÚ­N-¥†ÁçìG¶$¬70‹U¸pùOA×L¾ÅKR€6 ›­^Ü¡/%iûêlŸ‹ßùâ3 “í.ï=ûwî½Ý°m½bb,µC3Ö®ºdŒåÇ»ÈoÿÑaÊ¿hÑ ¼ò_Í©g`jÌõJõ%Þ•-dˆm5¤Y§ZpÇ›Xâ ÊDëmÖŠãÅç(|ZG×ÝÑ—_ZnÔâòX † ¸Ð±¹Ü³•JÉì"ìîЪ%­uy%‹1!ÞjvÓ²­ÎFOàúÙ|%·¸Þv”FA³ö·`D¡-™ ’ÊFDI“@/ÓÐ-úI—~’ºG¦G”ôèö>ÿ­ˆîWbvm‰yð0Úk¸û åÖŠfý¸~Ô2F8°g(Y ·u“D‡(“€èlÈX˜½Ñ\qCHøèCŸ>:eÖ7%Á–ý󆆨ìLËM5dÜÎØ˜Øò’Óù™Ri'Ø2®——ƒ>wÝq±–`¡\ší›ëÆ„¦Ó–h×iè^°D1Þr \Ì/ÅÄq„¡G§çÓnÖSô¸cï2õínfÏÖ'P! ‡‚Ç0›8sY½€_Å'ŒRY-%o4Wk¨¯ÃGÑ–›˜5ÃVUÚÆu±•NfIÅ!Ë<Äruz}ýÁ‡î~çÏM–ò&é±-¶ì°,•±wÐÓµ!/UòE¦ê~\c4;¶^ë93˜[LïÎävaêšàƒt"- ³WiÄf–jÖO¥H’‘×Kí·L‡(î•‚V;H]ZŽøÒ³}þü›vÅ<ô.Ë? wÞ&tº¶–3²µ°y}Äm»npi:•Ÿöu« ÃV+ÂôìIÍyPK:n²LÖVpØüPµŒ@©:#:ÐŽà^{(±ˆ2å2MN+C‡Çp¯Q²²¶ÇŽ­Wk Ãû¶ Ÿýg-RK¹;‹5)&;¨’_eÙPú{qÚáSJœ±·•ƒãá}}6­_¦ßéø©[·Øôçä<3[mAÕßúíB Fªÿ%³®}¶-Ç*œ!F[jiƒ½âÖïk²Ä!œåF7‹¡¶bþê,%–‹ÓSµ?Bb`ßNƒILfWnŒN•È%®¼uÞFØ +¦Ú’¦6ar⺦…UÃô Й†”džˆ"né£ÊpUY3ƒæS׋¶:—c l‹8‰ˆMÄ‹ˆL8s®ŽL8é›ý¸GÓïqåZŸÏ|9â•“}~áC}>ò^…ML­Q)Ëþ=‹œ:¿Èx˜z-¦Bq8÷K±Ôiøq pvm±$ÙóKÇHL ºªZ©&–‹É×b- žej I¢¹ëÐ ®]ŸâÚÌzŒñ2ë.3\>–[º%I·jI*V¸uÏ&Æj¦?Õftz¡Ês`Uo³ Öð‹R׬¢”_?•pÛ®e^z-]‰Žñ´A¬bˆÃT’ɱÚÍZm¾l9þ‰”3­Ü±&ó‡Ë%éÜÀ–o¼¢ RÊ‚ìZ2«*XíLø»ƒ¤åVNù:²ë‹¢€ù…&A°ò‚O ¼e „¤Y&Çlé®dvޤFIçÚÁM¬#‡!™"ãúu6o¨ïH$0·0(çt¦»”J ì¨%ÕWàLjX&&–™ŸoÓ‹‚l©t°Qƒ'>†T-t a“xý,¥nÍ© ê2}Ó§Ÿt8{©Ç¿û“eü`‘Çî«Gƒ`|¬K'Z&Š{$~”fµâåŒó$ö¸>;Îö-³+{78´—\Ô0Uµ(š¹®Û`ýŠe”Ó¥{€Kå J×¾âç~ò¯¸xi O=³™×ߨŠo·`íÅ“.”7ó*w{¢¤~b³÷KŒpÏ»^]µªFbì*ÿûµõÂÆ[†Û÷,òÂkKDIØFŽsM¹ t7¯¢.·neMŠAºì¦ÐRqÊqÓY[ pO©¡%kÝóÌj°eH™£À…Êâun”S"ÄFxëÒnÛ{yÅÒÂرŰ{kÌÂ\”’ê®8™ƒ£—ôä‡ µÊtºKÃT r|ž‰ñùÚ3‹]˱³O§,vM*cQ„AÄÄX¥¼ ¢öð‚˜v£ƒçǬŸšCIÂúus|ë»wsüÔ-hmó¯T*]¬tjœgT‚±!¾M0&&ñŒIL–y™Qܧo:ô“e–:]ž~&à¾Ûgh7WÞ"°n<¦ŸôˆL*a’ƒ'9?ƒ8ö¸2½Ž[gV\ìÆÀ-Û Sã6WÌä™­ã7 ãH¥4tÄÑy*²j›+€ìÞ~_ÇìÞqÿö×.°0¿ž7ÞØÌ§ÿz6ÞDwy3QdB~ƒ[í+J!­cÓM6æØëY’Xówñe¬ðÐO~³C¿Û!1}“à‰ÉÀ÷,ز³NAz {5uµRáe‚eX·Û!ŽJ£*›k–xQRQ"d­iVv¢‰c-VfY”ËW[àáR˜œ»°…·^¬urűð«‹ø­ßMX?–Öéi–erï?©H5K¥›Zv±Ã 'ËÚ¸þ:““‹µH|œ¿b¹<#ìØJõ¨€&ñ8tð8w>†§cíe‚ b¬j¢Þ#N4ç/nàè±íb²!o•U®zF‹Åb0Ê€5$6!11m¥Ù—×'JR¬+TK¼þFƒéÙÚÍ^­€55žÅ}"‘$qªñ%•­¥¨ïsñê$÷+S;óøÀ= _}>Æ´âÌÀÔæ.J…r¨-•÷ySGÊÝÂÉõ$Ѽ뎓˜l]ÎÏ‚’nßߺó8gÎoâԹͼøêvf®oenn#žŸ”ª…r×.ýQ¤yä7QXþn¾¬›#6­ëpæ|7- ½CpS —wæ:t­ZÀ¯êù)îfCFë§—T ©·-»Äˆ¬n/2–ÊÏ+uë3Œ#w¥)1â³´Û(Þ8»‰+K“¤ÄÀ]ûl^ÅQ6ïfÒM„ã…(eѺԅ’˜[…óãÜ?H8°ïZ 1ºÖ­9yB_¥z]z ×•fXã ìßw6Ã"‹ûØë•goY¿þ ĉ‡ÕÏúX¥³l6óu–ÂTeÖ^ÊZ<•*E“ؘDÅD^—Àk2³ÐæòÕËìÙ^/`Í2«)¡Ä¤”5>Ó×ÖÑíùµš'ÖÂý‡¾øí4¸š–•wU)ÃJ—xúgVÜMeýá¸D%pÛžsE—QRL0N`a 6®¿ÆæÓ>p–kצ8z|Ï¿t˜$nB6î5ª‰"#‡_#N4W_–ÔÃòþCËœ<Ó!2ýô€±”.C@.Ž:Šú³&?)†EqÇrF @åiòˆy,±Tx?Õñ–5ÞžAV唈ŸK&Œ6ˆ N'f€) &÷¦¸1ßZ•pÙÞ½L§“Ø>‰sÁ{ãâƒûèØ$%¢ Ð>_ö9|û‰ÚÀ@øâwz4üÌ‘Eü,hi<®No`à·RäÛ´~‰ñ«túKÄq„$›ØÍÀ–Lò.[Ê×’’}¯™…zc´ýIÚÞ:&ëYîŒÕÊÖ¦Y[›8ã¿9 ¸7æ&˜_lÕþ™‡öõÙ´®G§Y›Í4ÃÜ1±•ɜî~|£¸uÏe¦&ßvS'Fh·–Ø»çw:ªO?I7·!)—76Õ½ÚwË6oœYÒáE£÷,§°À@ÁÁĈ¡pÌr’Ò=´°R/®¾¼Œëèa+ºÇ\u˜dê*•J l'ƒ92B`j »ãZ ©²xXN«Hâ*[\º¼±6›\‰åÑûiµ–Ò,+;©ÅŽ_³þ®uµ Oã#>ŠG|žf£[ÛÂêÜËóÇ ð=´Î$œ%H3 e¹6³±V n-lÙ8ÏÆMçYêÏЋ1I?5ÀAع÷¶*>”Ñ*´Jõ—<Õ¤áÑò§˜h¯.ŸNÕH3û¶l°¼ïÞý8J…2Í{× ϦrΚ ;K¸V¶ßuÇë4õ†’³—®Ì.ÓK–Ò,Ò'óÎJôXqøà±Úô›æ+1°wWÄÞ]ótûËD¦Kb +·7Ðæ8`‘иÒÒ7]çõK0)©º™Œ…!L&÷xsÆ(r3U§Å¾–¡ÙªtG#R²›QØÄÏ.%CP,.µ8u~ê>Ë¡½=»ï‘YNku“JüJIDBªú¾ÅF·ŽòhÅ•ÚÅ-;/ððý/Ò굯¾ò\‚dw‘6ۣÅ˓t»a­ÀÜjÆÜ}è217èÆKôM/µrr[ÒÕ'2x RÑP‚V)5¢lÞ°\뚬…‹©ê„P\g€§u:mÞ<¿¹6+ô-ßµD«¹œf&ÎuÃrÓ7(‹ä”‡R–l‹umE˜ššgï-o¡”©™(^=åqcy†n´@/é'qæ>“ZQø^Ìî]j¨?ìW ?÷Ä"óÝ.qœÒ^JÚf¶hn¸¶DRƒðþ¶j Ciq.w*%eD·îNGAÇWÖi,:äJ×½wù%ñ´ÁÙ¡‚´„[)\{ÀA„÷8wa ËÝ öûác]cãÔ"½¸Cb£Ü·¬v4x'ÿ(Iÿ‚zú?cͰÇÇôéU-Pc…ßÿbŸF00 ² ËG$Åž¬Q¼y~s­“:Šï¹kޱÖ½¸“åŒ{VV¥¨>OUytqÍÖKLŒuj¬ù¥ÁhJAApçU&ysìµíÚ,ðîC=x×}“–-É@èP*JWV†Ë*Yr¶¶8Åö­Wk—mq/œèщgèD ô“†¸Ê ˜Û®³qÝ\íµà{øàÿ¿?5é­w]Â]·/35¶L7꤇‚MÈË .… B]Å ·Ý ¨*l,¶âÈK1ŠP9©Œ[ÉÃUä«j):Xx®×]Fø³¤_øu&'çRK¶Z%¼ð¥g":Q‡¶iæ‡q¦„FØã–ð¼¤mCDñ?ÿŸóÌw:×çR#ŒGŽ\¸ÈaiŸkyð°æùMÔ;lÞÿîE¾ñ½>ý¤Glâ”DZ§Ì?Šâ"/SžÙ³HÕžËÚô4[(o¶ó™;)ùk¬­,tºŽ®+p‰â_Êj\QµBVD¡h„š?yòï¾÷­^í‘„N~ê‰ëhùß|öÝt–¶â)/wÀu§tJ¥1NãAYšÍ.÷ßó2?øF¿Öp+¤›ùÕS†WOÛ̪)$ôÚ„^+µpAgON¡Í:ΞßÈö­³µ6@?‚ÿîç¯ó¯£Sœ=w‰ic¼Œ—$*ü¹š8åL©•2LŒ/òáÇ¿ÌäÄLíÒm¹ ßx9¡é¥ãE©N—* ï¥÷TðçöðÄû^fú%’÷¯Ó>þþ6N¾Â§¿ X¼q ž R‚¬ÜlP¤Xãc |øƒ_åöý§j+­àÂt§¿ÖÇ÷½¼’QY¨˜Œ€v»Ãî—j­­à¹×c^8 ã­Ôu:õÈȸÜé›,ë$&ƒÿÞËÑ“– W#nÝUO}ãàžÛ7ÏÓ[š$ñû$^ŒÆÏç󯆻WW¨ kîEÜSC–ªàà ¹RA3Jtx'~N–âbEêŸEP«ªLºMš@Mòç_:”*|®âÕéX>þ+üòO=Þ]g˜ëÌÓzŽÈŸ Ké œ|ÅrËÎ üôÇŸä½}—f£[;X¥YüÅ·"®Ì¾ t“P·TO‚t0O»‰…ï|ï`m{3kÁóûü7¿ð&|øh†å^§À²È PóÎlÕ ÆrðÖÓüì'þ‚Ûö­¬< /3,tZ«Â]X‹ˆTº‘M>ó…;W•.và¾Ã3üÊOå¶}o²Ô[ ÷G—²2¨X#heؾõ ÿÈ_sçí'VE7áOŸŽYX<É0G•8}ÿÍgذ¾<àyðÕç ¡ïx>M¿ÅX8ÁDc’ñFJ)™l¬c"\ÇDc𵞉Ɣóýz&óßO¥ß‡SL5×sãÆzŽŸi¥–5^mÑ‹tâ}ÓÁ˜L'+‡ *Q¢1³ÓÝÕ\¨*ŽN#EÊîÏR"DVä‘ß‘¼ŒS&æÖÎvˆ™_d„Öai»ÝÔ?ÔáÙ÷qï»Îñ®ƒÓÄq}·Û7ìß{]ۿʉSÛxáèaNœ¼ c|¯HyÒ%Öž]¸ûÈ+Ü~à ÆZËX¨½¡¯³W O~+F$ÄWEvxì„Õù¡2?§·rezœõS˵6‚1ÐlôùØœàÈWyéèA޾vˆÅ¥ /[$“¤RE,{v¿Å½w½ÌÁÛNÓjuV5øðÉ/D´ÂFÊ'S~&8§îÚà¸RYv);µ×ߨÈû¯Õ~~ýزo÷u~ý¾Ás/_àµcøþ±ý4É »8QlÝ<Í}w½Â=G¾O«Õ©¥œàÒO.\±|ꩈfÐÄÓ!¡Î,ã* ƒ$@àÐÁ“«À™„?zªO«êM‚†?N B´ †mðlAºvÅ-bÉi¸Yºœ<ëóÁ‡–ñ½•…Fh9²™o¿6m"`(fêlqçU€î£\ Ë¥§”éÝÑ\ÙW†åj¤LÅ_-†5¬¥îØ]Wl¬Œ°/ƒªšTûIÑ䯿q+÷ÍÔ– -ž©¥F¹ã<ö]âêì׸pio½µÄxh¥X7ÑcÆvï¸D»µŒïG(eÖ4¡ä)Åï¾Ç[×ãaHൽTlÏWM<å—:“V4"š7¦xóìV6®?MR3™4´6ìÛ5ÃŽ-ÏñÈ{^âÔ¹I®Mogqi%І¯Y¿nŽñ‰öï=ƒ(Cà÷³û¸#Xxù„åÙc––ŸÒ!< ÄÏɾâŒf ò:O,Gm>÷Ô~nÙ1OƵŸŸµßOxèÞÓÜý®3œ>ÿ5¦§·qýúfâ8-·lZdÿ¾7™šœÇ÷¢ÚšêeJ…ð>×aaIx>¡n¨6¾jãi? ,z`7Á‘ï“$uŒRá¹×z}M+ ½í`Š–¿Ž†×Ìùx7Ó~»9‚•Ï„0¾ÿú8Qt ¿†Ü‘µpÛîë&—XZìÒ6ýt~S‚´,´RldE'x¯N„ö,ϰ[w\g(²EfQ uvÍ¡#ë*eó›/_[QOQ®ðM©LMŽB+Ÿ@‡œ:»§¿µ‹}ì\-pz83µ4›ûÇ#nßÓ¡Ó½†µBb,±1ø^‚ÖI¦·†á$f¨øÔ#>ý•„†è oŒ¦7A¨Û©£ïà´vÆI4š~Ôà»/ïáŽi6z«º¶T“)fû¦˜[¶wéõfHâT©£Û/»¶iµ×'€ö„ßû|%O*5ý”M—w´AeÚ]yëÂ6¾ñÜ6žxä-ì*ŽkA©„v3áÁ;âä4Qÿ\6h‰’„ ˆÖt]ƒæÈÑ7 _yÑ"âãK˜¹µhxi†5 V«ÙuË´š]º½•QîÀ¾ü\ŒV*3§åO2¬#ôÆÑÚ/ ¸J¶6ÞôÅŸY›0¿sòÌ&î9¼²ˆ µ°g{Ä–ŽÏuˆ’>±‰ðT˜í['€Veáì–ŒD¡F§ŽÌä¦N#eoAÖ¶†¿+¿óÿÏÜ{Fkr]×ûÜ{«ê‹/uB7ÐHÔA$HÅ$ZÔ²—•8c‰£e[šà%9ÈZ3šÑ’¼$y,ÒxD[Ë3%ŒÁ"5b7€Îùå÷…ªºg~Ü çÞª×ènJÖ4W?¼~ïû¾ªº÷ÜsöÙgoö¸ØÜ®¯1yH%˜fC|é›×à’m«xÍK… Ù…ý±OKÝÉ1X9PT‹ýBpªð³v"Â7Éð[ž@S„ØÁ*šqËôaTì¼Ö˜£F<öÔ¥xô©øž×BšñåiL2†Â\$Ýn]š\ìIþæ±÷<ʈ´ÓàŠL±*]ŠMï3FiXN@Y_øúµ¸úò%Üpõ*Æéù‹…)VG%g(sIœb‹¾."Âd |ðs)ŽVèD1ÓG7rℱîY¤k*Œ' o{ã>LÏÃ6žX_ûŽuÝaÕ)^{½x‰Âè¥f¼§’[ÊŠCJŒË>[M¾ffPoŠû¾·Þtä¼Ö°1À[n]Á¾ýÂŒsè*ôP{ƒï¢Gs¸éÖL-‚S^Xj€ú‚þìêÃ0H­žrÍv©jt@ëòÔ±Ä]X[[À‡>s=‰|WA•+0ú®gÁ´!<~Àâß}0ÅêºBlb$E°êdz³ÐïQ}’rxtãýõpøD|Þ„Às]Û߯õ)œ]µøÀ)V6TÑDè˜\‘Š ÇmÕî H®|ì˜Fë ø/uŽŠD»¾„áîwqmÎÏ‘q×ý)î¼'‡Ñ‰é¡¹çÖ1CÕq%/i0+l]XÇ»ÀÚ—8Z=Ÿcq•`T„XwÐ5}tͱî#6]Ī‹Xw`t· j.kíß+ÌUu·úÛè.ŒéT?ëúIÏ<·‹Ë½ójn¤áõ¯h“|„¬ˆæÊ|˜ZŸ î2£¥Ô*µ©©æ-N&Á~æ`x†$`/‚]ì4¡À¯¸ÌŸ„·.m–å‘çÏQŽè@hœk2ˆUݨ‹“§¶à¹K+ôwî||¾›èøiÆoþùûXDÚÒ½hˆ^<‹Ž¢SÑt#®J.2èDNÙ‚~ì7üûÿƒ?ÓøÄ—3Ü÷˜…!g:ºÌ@ÜuÉçZ3¥Tqm F%èÄ]>ºòÑë±´ú÷ûüˆ€'ö[ü»?C+Xuè>ºÆ«ÄôgŽ\±›ç×]óÜy[»)|ûé ãq¡ «;ˆt¯F1 EEWÐTD ùìêïâ„Åw ÕZUŠ"<ºïòóú|Ö;¶ä¸qÏÆéÓ|ŒÌfŨՅ›âªsƒîáRÈJ¨Uø?ö)òÏ•ù…T±Œ¦åjÕ9¥¦•e=|¬ŠSª‡~ÒÇ ‡·â·ÿtÎ,G0ŠþÞ|d+„ßþÐ_{$GlbĦƒ®qŽh=3D¤º…´±F›ag Z+ŠÐì?¸ÿüžÊöìïóú¾õ„Åïl†F¤»ˆM=3D'ê#ÖÝJ—Ë'Ã(q€é"ËrôŽ^ÜÇÓû·á·þÓUXY5ÐÿŸ‘í~îwGX;¢Ø¸^/šA× ©F<3k^±÷éóKVׇŸu:f¦¸öX».±ãáÕ럻ZàŸ@ED¬"…H|û±=ç=Œ=M ï~ãÖ'#¤ù¤p‡ÎïéaZ°šH“t}¦@šXþô¯à5˶ ±÷iËIŽï«ÊùÆ»#„Vd§±4l íNi3ÀL2‡wâwþt.Á G0æ»AÞ.Ӊ¾rüÒás÷Z ’bCšYù¦4 IDATôãy âyô¢Y$¦ïFrJ»®' Õ½1d©úÑ îºçJ|ô ;ÁV#ŽþÛnê8"ÄZážïdø_ÿx„iæJòÄôЋfЉKL.*ºžµˆ ¤ÎÔÍ M¦p²îÇsxúÀNüúÞ…ƒÇbô»£ÿnŸ³ ÀDá[Oäøé_ÛÀÑ3ªè ºëêG³è×éÄMG€À¬±uËl]8{ÞAñôãð Àè±*ŒRuÇݳ*È#˜ñ$¯ËOí~í ×t"£5NœZÀñ“³ç´²Œð†›6ÐMF˜dÈìÌyÃwQF¾¸€Å¢Ä’†¥BJ¤”ˆíI æÈH#9JLð\<‹Ã`(ð(™U°¸Ù•˜ ¹~Š%©T™euцèGóxñÐeøãîÂïŒ0fúêïìÄfŒ& {ë#‹i‚õqÏcÅ¢,6ó YÀ Ù‚A²€^4ƒXu*ûqÇãáæYÊå5Ç2=D4»¾qþàC 8qÚ`8ãæóþ.7´R„~Wa2a|äî ~áR,®i$‘ 4½hýh=3‹NÕõÔU®µ”èW«BvXÃPT½Ùî^:xþð×à®û ²Œ0ÓS'e¢"`f ±>>þå ~íÿâèUÜk§ 6ˆçÑçÐ5³H Ê*J]kö\uýÞùˆ?ý’Å‹GQ`~krM ãXû^H@ŒD“«(/CWdÛÁSÏí:¯²Ðu–ï}ëVGÎÓ2³Sä°UÖШ».¦KXÅZٓо ÏŠS!’GBI“ÛíJùáB–°Ò"øÖ’'Í]Ìž,ŽObÉ2;5ÍH%`ÃÎt‹‹ŒÝÙÁÑGðî;–qý•„N¬e|Qf¡›µ¾cCXݰxòÀŸøJŠÏÜ Œ§šb$Q=3Ä ^À0ÞŠ™x ºfqƒÔZp\*›1¶Q8Q'r.8÷>t-W_À_so} Ðï¹kËíßε•±1 ijñÈÓ9>õŸ»XY'ÄQ‚®qÄ Y@?žG7ºrPE…U}µÆŸ/ML®üêzL[üÇìÛï¼} ×_áèyΰßåõ)E0Ú)0<¹‚|Éâ£wçÈ­k”¼¨~¼€a²ýxhàp9¥«–1v_zq<=/q–< d¹;€"ÝARu#aEïû+r`JݶÏ}W꺨Ԥç1ža7n¿õ¹ó üYN¸õ¦5|䋘æSä6ç™ ¨(Gä%!°˜›½81A(þ]Ṗçr¶¬ÔbEëÀ{Mn #ÒxÙAèȈYAI!Ÿ÷òTYîÒ†áe]³3ˬ’ çãN%÷áZÞwßgñГ|ß›–ð†›¦Ø±Ì ‹À>ïÑ…º»Ug†Ë«ŒÓ˾ò ãÓßHñÌ!…n¢«±q_/žÃ0Ú‚a²½Äe 1E hÑ e¡°*lÆÊ—+ËèÛ‡5ò8ÅcO]†žèáÀ¡cxÓ-#ìÚ Ìϸ y¡×Ö¸>"¬§—RÜÿãcwçøÎóŒ^¢]V`ºèÇ.Æ èGsè¨>"Š¡¡<¹#zØRW­nÁ8™hP6…n»e¬Nw~EãÛûÎâ¼} ¯»Ñb~ÈèuO]‡*EX]gœY¶xøi‹?ÿBŠ'_$$±ã…%Q3ƒa<_«t̰b¶TUžÌÏ­àòËN¸²õAø•ÿÇà]·­aïÕc¼òš —m#Ì 3iBž5ŸÒ¥ÅKG{xéØ.§†jÇÈy Ë)µfWùhœ~¸d>F¤:Øž¸© ./Á`ßö®2ÑÏå×Â#±Ükªe[YÅ}ßÞ;á|*íÔ}F)k ä¦òœ0;;ÂñSc¤Ù¹.äŠÀ…ÇËCD/O-%Lɳ’¬}Å"jiRr¥ gYÆ©S;ðñO½+“SXÆÒø(ÖÓ3˜æbP²,':&Æ Ž`”Ó*WTÞ̘ˆƒƒÀXò´ ‚u¥WN€ádŠÓœ\›WS„DÇXYqç××ñ鯰g÷»¶åغafÀ \©³ ¯Ü ˜¤Œo¿#Ï€¥%Æâ áà ‹‡Ÿfh£AcÐqÙO¤\æÑÑôãÙº#—„ÃNÑr¦ÊY—…¼sÉòç: É¹1Òˆϲl5»ìd}áK÷ÇøÜ7×qå® ®Ø™aË\ŽÙ¡…‰][»·*£8³jñÌQF–1––g— [ÆùÒ|\̼Mqv1Ãéżpúæ"°¨D U™mAXÅÖØ+Jø¡»6ÓG×ôaJªRUÖ[Û¾±Xn¥h¥™ºvEÊ™eø¾X RˆUב‡#‡gƒ¤-‰ýVŽk.*Ää%ûÍe“jÿb UŒD»î§e C1R3f8Ä F;ZGÍ©#„Ó1aÕ &yòÇ,üؘ½º#Poð¡K»mßνÀQ”A¢zèG³ ±é!ϧ°”G¤Š9©:‘-•rYA‚°å\”°*µ·Ã *¥oHŠÂ¡Apô *F_ V±Jç]LõÓl„I4Bš+§âŒ3§[¤ó¶šÕ*7´*²ªÊK›Ywk¢&Å8…ѱ,¬ç™X¨b°ohëîå5 Õyö›ª¤ –âºmO~‰áeâÂmØ›5 hLÁWìÃÚ ZŒu¿À²l¡¸ŸtÓGlz0:)UÉ©KºÐ= „æCÕF©²xM¨šA>‹–QUJ™]Ì@“A— ¿8b2¡@P**¦÷]_‰”*™dðAYKêàa”ÃJ¶¦š7¬ %”V…N“SKHÍ];Å4s@išO\ÀbaiÏVLÈ;çé’7¤‹SÚ-7½é†’âûQjnMeÄZ}-[ýÊïKsˆ5R±ê©qÑ%56‚QĺWhMÙ)Rë˹¼6ØÚÈ¡PÏ$R…ÆS!£c—a©"pY‡¡¸¡¡ª²£’‘´b02pË5D¬a um‹CÇvä¤fŒÌº,+·)2vf¹¶t÷®ÞJ»Qª³FSdÆQ¡.ážY‚Hô‚b°ÒIÕa¯°Çš¸L¤Ûž3ì%-ÔVpp>pAl\ö]É<÷P‚é¾Ê¡u Ú«eßž)‚æq±ÆL££‡$_k«80Üá>«¢¸Æ'‰p>̓ \̨ⰰ"N«™I‘WÁ8¯Ÿaa3VV£e樊1'­ EµñXY!ñC¬B:¶z—Y#È™†èD ­LqàYïT•Ã/rè9ePÑÅ*Lð{%oÍäIz—pŒLÃ¨ÊØX‘¡4!¢¹Î+÷¨šVTR|Ýð½ø¬EÛlsè鉣uöÁò ö}'Hzh5)OL>à]–id ­u‹U1X’aD‚Ǩ«XÊ$]Š]Ôä¢+3BTŠÊðÄ.˜Øï(–î™]TJ»í­ ŒaUŽˆ;”F.NæÒ­³sg.ÇŠT¥ý®«Så6p1lZ:*{¦-ŽÛ!›!°‰¬É¶ägVuü”£UEæËk9¬²°ºØÄÚÂÂY71ðî­eà+6T9|«Tqe‹TAn„=Šl™Ä"`!’Ïž³M™Ñ³ÔK® 2¤\³¬ 4;i!Wþå• ŠÃ¯\v…Ò<ƒØ÷¥•£~òÆpJ7œú¡x¼k¯å âj@™…yAÑ÷€À0k“¾,IƒÒù9tÍ ÐÅfiËbM ìÃ+E fIðìSýÍ^<=E"½®g4ëŽÄë ò¤#Ѳ÷绨Jí+vq uKþ=nFIøecáb,ï±Ì`œÅ—rû¢ñ¨É¸ V Wb~³î,sØ¿&ÉÔ 3.®qžJ£^ÈìjÔL5ýA*åôa€Ê—U¤ªkVå‚0,IÞ¨W©¥'e](H`7Ì”¹â²oÔ¢ê`á7´¨£G À[Ê-Õ? ŠùæÆ$»‡ämˆ[ ³°Ç €ôØñ¦”«l” p—úb"–·*˜_8ÓM»#?»V5NDåÒ ¬îÞ@Xµ¼ÌVð@˜ê ahQeM"3*;!iGïª,75³£0ðBÛdvš›Ž‚™Ëú¾rsà)€ ‰Ù; ~Dò€€d}Ë8Ù™y®ÝðYãÕý«ïH9*¥§I¤µ ÀÏ€ý#Ç?Vý& yåŸ;œ <Ñcì×Ï[n$9 F‚sØ„ð›Þ±% ‡jÕQS¼vóFkì¼r…9zÄWÑéô4‹£Ý×Ƀâ°å‚ÿÕÀx¦,\\d·]T2! HúuöEUÂbêžÍ^=Ïës9/P­¡VLvËÚ—…¼‡VZ€/—G~&Q=Aª=æDW²Â[ØŸw’“å× dÈÏB~ýì M£EúÍüDØIµµ »ŸûHÒ\ÛÏC´Ç[å§)‘“ôžc=ÇI6èmÀ2o1И›÷H¦$00„ÉSF½S_{…Ê´QØ´Aò¯K]Îð)p`†ð,¤– S`²Â™áï‰Ä…ÃûTžPs Ÿ¸ήি>¬^Ç>¥¬z~\‚EFÒŠ¹J€<À-‰ÈSF›¤ ×£8òýeÆH|®°–Z|  d e‘Mz‹Œšë—K­ÎtWäAftá|Á%!0T%ßAÚÏFB£ŸÀY䕇îÑh–Lòôld)e÷°A0­3½pRÁ(‹’ˆÄµTe TJ‹ˆ"“ð—̬dM,ÚùTÙzË{Ä"¨Ë*X–PåiÉb ø[¿.^ÉuãBÌ™{d„ É.]ýÙHè†Kܲ¡>Äðø~!)™ÚÊ9@¼Ž ‚–Xq /.i3B<<ÅJEæ äã û‡ÃÇ}E·‰KA)òà©pžR>7a'`J!àÛñ…ذ‡>šëž€Qð¬Ê5áU+ð$>LüòSÐ/Oe?¥—sv p»…ÙLjJ›ï€¬ š£ $‘qZIyÔ€¨•çR6åmÇ–ÉC I`($’ >ö°6¿2ÜŒ-jÕÔ\/@VÖ ÜP‘lÞÁ¼R°ñ}Ò¦=ìau~Vëíyªq–™·¤Ã4‚7øÓÀ{6óº‘;¥½P òkÑ• ›È~Àô?O›IGð˜ÎA÷h¢QáI/C·¿|…'ný=‰}qò¢ÿM\ßó^Ÿl[g†8àÔ–ãD¦Ï+ü‰<ð½¾&Õ’‘Q°êeþp{Ãå‰[Epj3%÷FÏü ÕôêlD¶ ›¼™~9‡™ac]Éî"{m'Ù ÀÍUío ºƒPµŽ]¹†DÖ(-PUØ„C°×˜½lVWsH•ÌÅ‚î£`j -BíúÑ/Çòjs‘nt ›¬)qô‡ _ûVlh !Ô?mWÚÞ†hȶ`NÍ•ØØ,¡ ™6¡%ÐÛxù–ÂÓÓ £æQÓöñ8œ/ósxJdT›oVûyë¦í†ù‘Á!Y×õÆó¨'"E÷ƒv¸ȇlØ§ÜøÀ<>âuIµì²°ÄÙìðÛ|M…x"Ú°ÐàÐ¥Fii¤…`{Ûa…zÀ›Èï†S£º{DdáeÐcÂ3#ÀÕê{ÛZ^^P†b$-›)\èìJhÙøÍs~s°Zà ˆ ·fG²SÙÜ”mFÙÜÚÃò‹Þ¡€[NÕö¦ù…±ðŠTó^½ÌŸóPk–+_ÙSð”ê." ü£…ÇÕ€Ö(g\ÏïÛSÕ'æ÷¡@hø>sQ”Ü/8×´—Æl9 ½b–Z0 •@A›lGÉTäs4~Å4¾¨}ySDDYù_K6Ã%ß®úIòÔ RÖ¿·Y‰O›ÝMOß›ZqŸVò›M¶[í…™—‡PØ3 ¦. Tk¾ÝøojC{É_3ªqW‚4 \/ÇUØdj ‘^h"+ÂH¹úU È#8™™5JØ`_´5ÆØïv¾\ÈR/·9̬¨-ß²$Fªky<j9‡¥Á²rÓ àsÀ[Ïk´¼O˜ÏRkï¨áõiž»éýF½þX¬ëÊm§ñ®íì Ú¤–¨×cÛU·å´ÔrßÂ|›€.Ø,÷jñBçÖÃÁÿiÕòß›=£öxsÿµg[­É¶¬çÄ¿ÕËfa$äà_9,G%´&…Ö­NŸ5»‰Ù}°,l«Âòůšò›%¨h=ê’€›mðF›½:µ‘ÔÇû½¦š´Øœª¦›ð„$9)®‰7i„¹g ZÙ÷r¦BBe]ZoVÔnV(¶×Á €bj „Ü05ï¬çÊTÏP©  s K›ÂÜĤ–\p(£¥—Ž–à£aur@­¥›£¡Æßí L{ëi³²ƒ”‚#Q¶Ê¹Ð¦_)A•Ó XÜ ¯ú3P |Š©¹!Äs—X“dšif!ìcQäªÍÌJ£Û@ìs›Ú0•:«“4/j é4šXI8’àá&Á2$É".vÜž ÈMZ Q}=Þx¼ÛÌž7·ðXÀ˲Ô$j SܲiÑ(aÂL[~&´YÈkÞ«€'ïžx9W%4ùQ>ûžZ6d3¬m~t…8Z ™Íƒ ;ƒòWT1›domÎóñlqŸBKǹÍtµyäåù^îNͬt3gê ê†'FIÏoJ’©B5ÅCÔ¿ñÌARË£¾Ve%S@àk9ežB‡Ÿ çò;w>/¥ê 1<¢¦7hÊBœ$›¼¼†&ýBB¡Õˆû'¾×3 T#@K‚T&¹q¨¬ž4û“ûð•ü&µ(Ü@kÓ á6cX’-Üæ½´'²)¼»u•À ­¯šˆò®ü¯ëa`A¦Zôrr Ä.{•¼7‹n2“À$›¨³òÉÂÜ,Ÿ+ùe µeÅä‘ Ið›Vw‚Z°Wj ™ LS–-‚ø«˜7!]hÀ ؉•·`‹z­öZŒªb·†@¯œZ )¡Ž IDAT¯EÙÄ@k {S9_>Œ& )µñX؇ëáRÚ„•äƒè 9˲¶T¥¨çYd“r¶Žë8.¤j(¬Ùئ´•jR àYOöš~½˜¨‘èN’-- |w•* s8õRëøWà¼0ÿ¶bî~(ŸÇäþê>Õ ¶7›I-¡QÎUƒ[=þf#y 6X#í™"µl@¼|®- {]ÍqƒEËÄE•݉’–sKÙïKVòååì£×HãꙆ?¨¡É 5ªˆšÅËM§–™Û‹Ý›C¿ì TÖSbVµeKc@”d­Ê¹Ì¿ŸTñRHÂÿ¾È<9´ü-õDÙÇ©(è 4+}¹ B ¦ `V‚iÍì”D]/q½ê=8èš4éjì¯hsoH‰:§‰?2ùXy‹;ò+²|‡£9ÀV8(Q<ù?›)YÂbX³˜b‹²WÌVzÊ¢Ü!j‚øÕZª†æÈË2½²$øWð5©ÐôI¬²oöNHW‹gRe¦@C¡¡¶Ë“ê½$¹©MÅ>ÁYÂ+RªE"á?e‘תå_Up{"ž-Ĥ–,þnm¾”XHñ,$B•äµJ…Ó}_â'M;ÆÀ1DêF <‚¼r¢eá–úUÌ äD¦¨þÐ¥îÍVF’‘[¾{2:Þ£ ‘ZC ²ÕŸ‹‹®àχU-oãS+wÉã8ù‚¡³><‰Yh1Q0WÉjÜ‹ER1Ijâ0Œ!‹(A¢1°ìO°6d¿qçÕËþ|Zd–Èä `WAùþ¢Ô¬&p»ÊHè8ÿM,S“'äo Ê Ý.#ó²ÄA[žèÁØœá&¦€ &­Ph³†-ÞÌžr)„C|•8x™e­ÃÊ5Ô/.&`2í-ܵ¿ ›çRµt2‹‡Y»J# ›xâ]äEzOجt‘¢€²3YžR¬ ) 2š)(µ)ˆ•]Ï0€×ÙO•a±/[Q¸>QýÁí´„ò­9ü–êÒ€¢Îfü!T'©Ì;Ä# û4‚¨Ôƒu‘<Ý3n!¨©&## YHb"‹ì6${x e/7ÐÖׇтEɵÎAµÑÖ–¸$Ãb/¨Ï²‡>ï£,σC„«THÑ­mõdP÷Ó†ò½¤7‰WÍü§)à…9²$sÈšôª/jþ<ÎAî½0н1<„ø {«³¾Do²ÐÚæ@çer™+áÜÚÄÓÅ?P)[zÔ‰R}@Ì›‘wºÕ*,Kd–›Ž……tot­ºCðuŠ8¸ñ:gMé 9m q[)½ì—±™pp0… »•Õ½ïã¡ÏH>s“SB\[§•Á]JË2¨¤h°Ì”<ðŒd‘çÀ" ¾.MàÍçâUŸÍ{ÏV0^fü*PÛà†®e-5È[¶apMà@½”j‚Ò`×’×)fq˜#h(q ½îw9 ÞÂkŠ0ùž¥!¹›å½¥Z_|ð‹7¡hHý†0 #HéýY¥Ò¼ !þ%êdª-Œõ¢ 6šŸ%ƒœ(ìЦìÁA'…°›› AÕñ“å+cÒý„‚!]q­RSÊËŽªL‘½Î£×6¯î {8W,XÀ\ugDéÞ êÕX ¼6,ëZHÄ!d&’¿Åìuf_‰C–¦aYQ‘fbñ“;P "Aä›ÇíD`yERÀ°ášÍ>æÊá¨;0Hâ¾2ò„å² -ÚÖB÷]b´Rö©6Ï%ÏL"8ƒ˜xS*¦þ¼f ó®ZÆ Y^’×Õ÷a&B¨ìz‘%¡/L¹ …Ä‹­²‰·‹4_¦«åsb X(IZV¥–G%*çOàW5Y.€ëòZtXW´4zʼnÈ:úBhIYNmµeö¦¨1 LÜÒ±åÐY‡jWf®ÿ.ƒà UÀEöKªÀÉt ˜K“‰J‹P†y` ñvéÎ\©^¶yÞ‘ð¨lÆÄ5Á+ñ¸‘¾2û­M4U#®-/ƒáªÊyYdW—ƒnùYe9`Û!4Ð6ÓÚš=JÃÄ€˜í=)®/Ožæ9ˆÞ†aÞZ2åå6þ ù©1`}{7‘{M›¦#‹þ%Û¯MЛ‹Ð›3Õ¦³–±z&ÅÚ©)Ž?1g€I”g2àŠåC¶À`§Nê÷ÌSÆÚÑ\̃úžw …4¿6꟯cNÌy³Î^ªŽX8¹Í’ %Ù÷,¬¨(xgß°Ñg ³¿>HÁæÀÌedê¬#]·Ø8“F¯ŒJSBî–ýMYA¾ìÌHlNÈR‹¨¯°óUô"ôç ¨h?’ÖϦ¯å8¶o„µ£âžåÝ_ž rC~Iía<º­Piˆª–ËA¡iA¡Är¨s. “ßÈhÑÇ"ÏœAz÷»&QèmÓ¼è.n´˜cºÆ.Il’%žpÍAKä6ŠN’ERÄ1ìæ*O¢ÙƒsZéÏ› óÇu%äAâ‚@yá6_ÕÚõ;%5êïjoÀ‚å캧¿Íþm:bl{E‚[þÑì¼®¹SW)?ÐÙœasÆd-ǃŸ>Žg¿´*L>Û¥k€l¸íýÛ°ëú>Ø2”"œ92Â'ÿÍD±K³t)BJátÒäM÷Zü<#43ž¶t.L³”£ ¸ÄÜ`Apjâ/ÒQŽïý—c¸-hCxî%|ýBU¥€òæÔÚð§ª3éZ•3›2f¯ˆqý÷Î`ï›ç¡"‚Rp™±¼†œa-M,N¾°‡þòN>1Žue$*¯«ö´ôI¯•5×sˆ\Ž=÷Ý€ NÜbs@±Õ—Îòº²ì;N«Z“¾'\Ï›ýô¾û×¹]1Þño.EÜqÍ¥è‚A–z,S#¢¶T‰I`¡Èêck—öÊ-øžHºeU&°¸¿òáÚP¤Lˆ\„"ດXCÃ,@2Ðxë¿Þ†«_7Ó~Éø®Ý/Å]wýWâ•ïZÆ—ÿè –L ÛzU³qË…nsD…¤¯]ÀÒÓÆéX;+q&ÍPÊëF²° PÉà´D !”>4EÝ ¨¹ŸÔ&ÒT½äHôì ˆ¥C‚°$¹»†w5’¾3k5‘‚ŠsLí” [ú:–¥¦”H›7¼{w¼âDÃÚs=P‚% W¾z×Ý>‡¿p_ÿƒ£PÊ8l¥ýñÀïH3|B«*SÒÙ‰%mAbR]ò­*‹1‘}™_¯á[wèü±,?€Õë&›$iBÒSˆ»ºXVM0ÎÖQ C4Œë´ œÊ‡z¥Ÿ%yÔ ¬€ül^›°ü¾×õ îa@œ'A¨å°zlåb‚I¹ó©÷^†é®$pXrpë‘/Áñ,šüÊòÇmƸä•]üÐo]Žëˆ’eЍµ‚‰4âÄ Š ´ÖÞkdS‹WÏâG~ýl}%ac²Š4ŸÂÚiڧшO8iAäÁ'Ü‚ËVÝø¨’Ó)ÌÔ.qQ%!£áš±©äœHÏ›Ž.X]ùÆ!¾çŸoGwhNlõ»Ql°±>ÆóOƱƒ§pü…30‰Â·]…kö^Á°tšp§Ž‰ þÁ/Ü€Ïü‡Çñ½Ë † Ž¡Èx´Gù9-RœÀ†°qŠ4»]r˜ª96"¿‘T«2Á–†K¡re9Ðd#Iç&N¢Óï¹âQSùÚŒf@›šBQ«xÂw º£ÁYn?áY%©z˜²ØQÖæ.qëmAÒ×°yÝþ7‘Æ7ïzù½¿Æúd£Fëcb|á“=˜Èà}?÷øþ÷¾£Ñؽ›etzÞô¾«pìŇ1:À i‚R¦¶’(çXšG)ŒŠÑÑ=°ê:j¦Õä+!ÊÄByN2„0ÛõøQ“ ^«ÙãÿKæ#µ8æHpÙ—|§)€è›@ø4q!ã –Æ'ÐfaTŒXw‘pÇ+ã}/Jå: ŒÑ†Åíïß¶õ(˜NR|à7>…Çï£u¬­năþ ‹n¿ƒÿéW7¿ö˜Œ§Õ3}ÅwâÛwÀ‘GÏbÏ#Ö}6E·‚v7ôÆZ ã¢ýÚxùçy´‘÷'Ï&°v‡%ÆvÞ«†«ûî™Çø³ÿù1Œ²¬LOamºˆÅS‹³…I5ÝCnzˆ,ÀZº^sEª®¨ìK=1³oBÂ÷}tß?‡Û^äŠ0.íÌ*ÚŽ+×)È¿è€Eçczïñh9 Ù¢á¦žÅ–Ý ò¬V£ þï_ýøÊ£Èx‚Üfî4P D +üþ/þÖV×ñâû0¤ÕU]zÍvß<Àw>{ ÔU EˆX70±"lbmº„8Ðf‘q†Ö¦V:„§<]f<á‘?G' ªõ†Q>û¿¼{³¹ž»oûLyôòDúj9Ã([A!ça9CFĵòjÃêBìlk­×ÇØzylëS8Ë,~ýçÿ½ï)@g°`(¥ ÉÀ¦«‹#¬.®ã7ÿåñ‹¿÷ÓØûÊkç.Ûîö:ØýÚ>ö?z :3P¤AªCÊÃTÉ §àF§*[®ÌsÑÞÞ‚*4,ÙÉc~¶IÏ´´æÙ?dHœ@²b) "²©ÅÚá1Ö¦«8;ZÄòä$Rž R ,çŽØÙfß0qhšrøÈG(ƒM‚P-8\-·ø\Þ?^3¢ê„†÷Ôçö…rÒ—a…Lw–<FMB¢e“«9ÜapõíÃ*³€é4ÅŸüú'qï_?€ S ­ "ÝA¬:0*"¾æQ†þÎW0?7‡·¼ûõȲ¼z¿×üÀåxìžX__‚!m´  <€1Í7æ.02¬Óú!_ÏÜæ Ò@<ÐÐQý@lΘnXä#ébˆ1, Åk138ÎT ßî=ÐxfËÅæ¯W›Òð'î%Û¿dîç€J¡ö6ÌtÃbº–·v5,rLòbÕƒå ÌÖ“’'øíóŠ×TDW›vìíxïE¾üÙ{ðÐ×¾$9ˆ"• £{0:)ž©³ÅxiŒ/þùß`ϯ^­uq-®|å6Œè!ðT!R”rKyã|ŽºÂ ÄCû©p6µ˜¬Z'õ¨•}‰ó”¥m ú*‚6@\ÞÏ‚3Yɫ앭 T R*p¢Å{Û\N¸»”½l,8W@®@Ö@s !Ö ¢b?(R¥Ã)¬¢!îªZyƘ®Ypæ0i¢w%1­zØ Ð !/U4âÜ>ÈŠ}à±pʦœìþ5#7ôPZdòbGs(¬3CaÕ6·Ïv¯½®ÿþtû5nÅÌxà«ão¾ò¦¼"B¢{èšô¢Yt£bÕƒVÆ-@N1ž®ážO>…Wßö ôû]wj+…o¹è|ë‹9b•À¨ÌQë5YX0l±9Ùèµ)AàÒ×ö°ë=Ì]!ÔN;鄱|,ÅÙc~l ‹/eˆ:ŠZøw ÌìŒqÅëúкx/>¸†•ci€9•Á Øvm»_ÝCž»¯çxá[«˜,çâd¢ q°9#(\vs;öv°pU eê×\9–âÈ£xòK§ª,È;YÙÂÂÂzCµhi/sé˜ÉzP ²:x¹ž@C#Ñ] ¢ôãytÍ‘N  aa1MFX:’ãì©ìÚ½­ [hìܽ c»›*tL‘îº CiÇϲŒÜ2vÜØÁ¥7ö±åšÝ9í”GK9N<=Âñ§7p|߆Ã}´ f݆6±Âõß?D”8©:Î.ãêÛgpÙ-}(ã.}²–ãø¾^úö*†ÛclÝÝ-‚`sà…‡V±|xвÁš3Ý…+_?DÒ+ŒJ5aõô/Ü·†ÀÞ>®}Ó –OñÀ_Åþ»×tã"³Ò…ìŸBC ~㦂¿ø€Õôâ`1˜‹V pfœsÆöW%è ²"»""œw>ÂÞ·mEgp×o¿€é†qe&Eþ06µÈ3®6û¥{‡U ’÷22G^:…'¾roû©+ËI';®OwÖ1N "݃Qڀ蘰íºQ¢§ÅšÈrÑ 4EâØsfŽ2lÍ]áõ?¹Ý¡à1a:ɰ¾<‘Ocf¡‹­—Ì¢7èÖDM"¼ù'®ÂÉCKØ÷2½!ŒJ`”®:1!жž.cyr]žAŸg@fàû \ApÇÒ3X™LÐçYp$ h¥ð¿º Ã-±×qŽSœ9±‚Õ¥ ,ìbnëÆ!W¢zþ êt·µ¢+`À=´S‡Ö±óêaÅ¿²Öâ=ÿè¸ãí¯Ç½Ÿ{¾ºŽhÚ‡±=ðD¬`ƒC)·saj¦ÈsFŠ1ŒŠ\p&—¹*"¼éÙŽmWtMëkNÓ «}á4Œ]WnA¦ ctÕ}¼îuÛ0ù|á7žGžwsšb°R¾Ô|LÛÜbc}Œ8‰ÐéÆ˜N3|é#÷Sƒ§>‚W¼n7òÌ‚˜¿,Ao÷'Ÿ^A?ÎÑ5Cl:C…K_Õƒ¤ ž>¶‚_|«“ÓÇ4ÎÔN0ÉÖe FŰŠASÆm?»€kÞ0ëU.°±:Æ©£ËXYZÃeWoÃì ÀuÝUnÙÕÃ?µ _øgÀÙ±éBÙ×¼cˆW½gÁËš‰€µ)V—6pâÐÙjMõ‡ÝzæŒwýÓë0MÇSŸ]F¯ÓGÄ ˆL57Š0B´ÍÒÙ º7¦Ô|xnïJ¶xg¨ý…RØÿì PJ!V]ô£9ôãyô¢ytôÐ¥½J EKŠ¡mä¨la“ÃPŒÔŽ¡È Í Ñ=á¡Ï®AÀuï˜ÁÖÝ ¦#[‘e—N­â ú¾öWcéÌ2TÄxÅíWâG~æ¸ñÕ×Vü!›ß÷ÏnÀ=ôU¬­æè%³ ¸R6  ÆÚô4ÇÇ‘s CÆшrÇr,ONbi2“…V<2øž¾ó;“*X)­°²¸ŽþþWpß¿ƒ•ÅU /éàÝ?ò¼ç}oÁpv›[Ïc°Bß­ê5XÊ:}¯ýçñÿt=z½¤êöeYŽÙÙÞûþ;¾/ÃɃ«X<<Å©§¦X>šbc1Çò‘Dª‡~< Mi>H¡g†H´ËÊò)ðŠ™ÅU¯b²žWßÉ#KøÚ§Á½ŸÇ†å —ðÆï{~ø'ߎ™¹‰Ç9nºã2ì{óA<õù³˜éÏ#ÖB„J<VY–á®O܇¾ú$.¿f;^óæ½8yì }±îàÑ{ŸÅÞ[/«~g~Û[®1xþñƒ hÒƒ-îÚàmWuªÃ›<ÿäaìÛ·±î``ç1͇k e+XžžéÜÌœ`ûÞnüÞù*X9ÐýÁ¯<…»?ñž|𦓠æ/íã=ÿÝ›ðƒ?þæêàbWݲ3W3N=µˆ!3æ¶ÍâæZ@ÜQ®éD„,Ëñøýðõ;Á#÷<µ ¨ØûºËñÖzÞþž×ÃZ³{Ã{¯Àþ‡¿…õã9úÉ ""0LÓoÚ¢ þ6äešš6rNš,,ŸËî´Û{uµÖ ßüâ#ˆ“ÓCÏ Ñ5C$¦‡Hŧaå¿^¥nè.˜ç¡ ëR;…&B\€ö±îÀVeÖ¹.Œõnúþ¤ãúŽÖ&øàoÞ‰¾ú8rž€Ç-ûÎ7ŸÆáýÇñó¿ý>ÜxóõÈRWªôÜñ¾+ñ©ÿ8.YPP!¢n[»Ù V§gé½|]›¹Lƒ€¾äqÉÛÈ–°–®#Ñ]ôô æ/ÅÕ· ½Ìj2Nñ‡¿øq°IA}‹µ•Ÿø“/aéì*~úþ!Œ6Í ‹¹iS GHýScŽ=¶Š¿ú?ÅÿÛ›0ô¥®c“Q °}÷;®®¿­¦-çX=žâȾ5ì¿ÿ,NîO00óˆU‚œS0±î ÑDÔÅ`{‚W¿w“¼ºæÕ¥ üî¿ü^:ðR;" "…³'—p翆Ÿ;Œõ?…þ fF:±xçû_…ûîü8ô”€Då)³¨¤w~ønü—ÿði0ÜÏøògï…Öyæ°£ýOÆâšÓry IDATéUÌΪ߿þ¶KpïgÃFÚA¢{ˆm×a•ÐØó–!´VÈŠ žN3<ñÈÓX\;‰ao‘ê"ã¬ñŒ&ÙV'gG1zù,"Nqã÷ÍyÀº‰ ¾ø±ûñáßýVV—m¡zÀò™úƒÏC)Âý÷owÁ’™¹>vß2ÀKO€É5nxõVl¿º[QŽ˜÷Üù(>òGwaiy–2P×=õ}ÀóOÄêò*Þóco«>ÃÖC\õú<ð‰Ãn8VHXûö\ºò~~.þ¨:– ¤-<“Pi¦ªcˆ”‹í̱ED:B¬:ˆu‰ê"¢Ä1Õ«Ö9öÖD †btL¿Â½:;1—ìÄLQNƪ+fÑÚSGbW®Þðîyĉò@Åû¾ôÜs×ÛUd<›gØ›Åd øƒ_øò<óÆK®ºi;Ìöu¬N1ÍGÈì\é„Ôïæ#Œ³5Líy!ôÒÞâ(KÛI¾ŽqºŽ”'H³;nè ;c¼)o|þ!<þÈ“ÈÔ2;qŸÙtÐOfðð—ŸÅ¾‡%ö¹ö(,¡?_c¾¥XB(ÁK.ãOþõ—°ÿ™ÃÐFûïÅ.xåÃfŒ¤k0·3Áî[xýîÀýÎ^¼ëß^…áö:˜Á0Þ‚Ùx+Ñ…Ï?±]EŽ) ‘î — 1Ó[À3÷Ã>ù ÄITmÂáL׿m‹ë§1ÎÖÚ lÙêΞ^Ä7¿z?Ö§ËÈ16 Óu‹taTÓűç–pø¹Ób[ì½ùjäj„Qº‚i¶áp]Í=·‘§õÁ8MqßWDJ#d6ªµàÿ™Z7K8ÍÝÈÒüå1¶]Ó­‹­ðü“‡ðWø–ÖO#%·¶4ÅèD$ª¿ö4Μ\tuí¨WÞ¼cµ„ ^ƵošõÖÞ©£‹øÄŸÞ3˧ò:˜shŠë>úÝYDy_ýËGðÒ#Õ>PJaÏë¶ýul¤KÅõg•˜ÑæNç›x:^qTˆ©!,;+ë/jÕjg“M*R"h2ˆT‘î™UÁ1JŠŠC_=@)ƒ¨Pk0ªSe| ª œ(¤›PÑêh-°ko¿P?ó‘¯`Ê#hvmõ~4^4‹D÷ \nЇ¿ù^ÿ–WVÙD¶ƒ­WvpôÛgÐ1=è(mÁÑrÎs¶ØÚJU³8n>®ÜæÈÙuÊØZÌîHê63“ñwò~l¤k[$ÕgžC¬L')ž¼ï öÞr5¢ÈlÚZá@±•pÈ>IPAè‰éáìs+ø•ü_qû]…[î¸7½f/”"˜ÈŒ²'”&@7½m®~í<>ÿ{ÏâÈCˆt £bh¥‘N»_9¨~Wk…çž<ˆ‡ïy»#Ñ}ô£Yô‹Ö¿"ƒ<ÉðÕ>ƒü?¼»Lgfì¾~}æúbÕ…E“sêÄxþE"7afÐ57  ;ˆTÈ žyànxÍî #êõzx×OÝŠOÿÞC®3j'°i—ßÖG.ª2yR„Ç¿ý4^|ö0fgg H#R ¤÷q̬zþ¹µè/ôfLuµVxø›OâÄ©ãH푊Ñ33èGsè˜4EXÞ?ÅC_~;÷Ìaÿ³/`um öÁòê âa—í÷öÁƒßx„êd.ðézѺÑFÅ€õCkxîÁc¸bÏ¥ÅçdlÛ5ƒ<ÚÀê #Ò=ĺÖ8ÈÍá1öç/êm’jÍòVA5øæ žÎ· ²fÌn‚&†"D*•¶RM’áêÀ— k@ ®IlŠèœT ‚[w÷`mÝ 8qì žxèô†1ÝÅ0ÞŠ¹Îv ¢-EÀR˜Ú ''Ž afG mQáСXZYtÔ‚÷4×¹Ãx ÝAf2lœPȦy3`±ŸS8&Ähq|dÏ8VQŒD;j×¶+ðÀ_¾„»þü[î2¸ùöëpíÞ«°ëòíØ¹{¶l›G¯ß…Íyž{Yxoãþ:|ú7žÄ©}) 4GˆÂì%±wØÇ¼ú{ö Ë3D*r%šAW÷눔 ô4ÁécËØºc® xÛ/Û‚ÕÉYldÛÐ͇Èó¸qßO=ƒ“‡±0· ýh¾X /¬­b%¼ôÀÆÿ$CF¥ ¯¹ýøðo|Óî:R;Æx<ÁÞwÎTAˆŒÁÝŸ¹qÁ¨‰éHÒ2 i߼º‚˜NRxú F“ Ä&F7šÅl²3ñ6ô¢hŠ‘ówýÑÓXÚ8‰µì4FÙ Œ‰0ìÌ¢;¯1»ÐÃúʸZQGáÿ#íM£-;®2ÁoGÄ™îôÆœ3•RjJvÊš<ɶŒÁ›¡0¸ªÌ´h4PE—©.ª ÌêXM7P .¨6¦ÍdLy€Y²¬ÉÖdI™š§Le*ç|ùæûîtΉÝ?â 眗’E®•^¾wß½q"vìýíoß-ßs ”/È6Zª‡Puª6y`ãxŒN·‹4N!•¡?ÌÌMA«1IŒv2…‰êÀ”QktLuÝyqa´ýõeXTºPÉÆá&ÛÈ&û¯¬œ\95Âîk:Ž¥5ãš÷áÙûNB Ãa’E±EÓšˆÔ˜¹¦Œ´+yXît¦Ö3;¢¸RâÅgŽ@x)"ÕCÏŸGÏ߆ž? _¶@YŠŸ' 7Æ ÝéÃÉÆÉ&rÜPÖf…œ2™6{ZÖÈMØShoñ-%]Âêò†Ã ’ˆT]= zÁ\6{¦ÑuɈvC׌ú“«º>Wa‚R‘Y´¼žéÎö€(Œ°¶ºˆ¾ø îúÛGàµ.ºt;¶lŸÃÞ+wâÆw\‹ënØ0!ɬí^€ë>4¯>ÿ8Ñ ¦v‡V¼J“—_½¿ù‰_´¸=Y¡Ò™%“Qê(HlÝ>ƒÁd £t“Ô¨T/ÔÅ…e^„@¶Ðñ¦²õÜ’u°=0ô•µS}¼úì"®yÛ.Sö¦ïÛ}7lÃÒókh˶ì›Ã®kÊL^ÂÙ3çñð]‡àûf†3Tm¢ •¬æ¾¶ùßAKÂe±o×VûXZZAÀ—ºÞ,¦‚mYÀêËZQ„ÕI sÁIøØwÃŽââÍÝ~ü6üàGo·,Â8ì]šCsñ³ÌŒ©é Œ’1†éÚzŒT§PŽ "7ñ®+èw/à瘌–JfÌ+£Â˜• øl~Mk‰;?©5.¹â"<ýÍæM á˜8¢bƒh+ÀäÇ:šV²!ÓŒq­Ã6c–•±˜ö7ayiODhySèø3èzÓh©ixÂA¥|˜ÎSÔ*ñ¯Tǘ¤#ŒµÁ°L†ÅàV³–"Î•Ó \›ŠŽÆˆãžðª:Þ ºÞ Zj ž ÀX]bè„j¨5ôKÓW®!\¶®kÃðÖ,À‰Á-´$A„ ¾ ©ºþ†I“tˆ³‡û8ùâ~ëy|ý³ßÆ–Óøåÿó£¸|ÿ¾¢ƒ™&oºm/¾ò§aýÔ¬†mªSá`Œ7òGk‰bœó¨t³é¸)á™é o¡êB2jÌ žÄ#Ÿ;‰ëß½z”fŸñ®z3þâ±o¢+7pñ[ÛPž°0G÷Þñ0tªx!ÙF$»d˜©S¼Æ¬¹óxñ$Æh4‚¡j£åM£ãÍ ãO!’ÐBÂ¥e ‰ŽAZ!TíÚ>' âIò]¯-3§1&ÉqšŸƒ¤œ¬Êô8s Ôä_ò†ŸíΊ5Wƒ»Ì) g_¹ù†9póµøâÝgÊ sx]å@f1ÈšTøÈÿ¸AGàøSœ|jˆW¾ÑÇdAÿê±'HoFs0ór¾ ª6¬{©dIðôÁ“\›7ef¤#ÖfVQ×2,ËŸW£!¤×ž; &ö¾ "’BÙB ÚðTTL†O‹YîÉN±»m[7gšòŽI€&l½ÚÃî["t¶xènQ>ðíOƱƒî#Ûh{Ó§CLÒ쿇˜èâN¾°ŒÿüKŒßüÄ/ã²ý{íü ûß3ƒ{>õ D$ë Ö=ÕšÁy-O¯®-o½$I¤1ât„4‰ž“yJ’|ø"@ "ø¢…@FðeP3¾GX|v€s'V1·ÕpÑ’$Á»¿ï­øôýÃ>.90ãd%š5þö¾åK( ”m²OF ‚6ϲ›"³B(ø¢({=_DPÂËJwß‹ v,"ÙCŠH èÔ2š4Õÿø×¢tšõMÓ©Žó±ždM]1“áz¥Aî”áÝEÕÊË-'ª£BTQ”áÕúö'ð}Ïp64ãÊköaëÅÓH×âŒÍœºFŽh[4 Æž›Œœ2kà¢ëÛØwSW¿¿ƒOÿÜax"ÓtbýšÕ.i7õdfÌÎOƒ˜ „_FðɇÈTE®m _üPY., ­5RN¡³`ÅĘ ¨(T‡d›Þ/gò©†m’µCø¾‡x¨à‰JøPÙØevöa+0­æjŽE¡5”îÕ¶H[ *Ê„îV×½R™g!}Âî[Ú8ñô TìCyÕAª'ˆuŒXL°J‡§#LÒ!Ö–—ñõÏ~ÿ‡ÝјÚa}¼€Pµ0NºNÀò|wí~üÝg¾h‚/¢lÞЇ€ç@Ì Í =F¬‡ˆõ“Q‚V»•Åc] †ùjH!!„%½lŠAeÜxQØ~IRˆ‚ýÒ |è_]‹ñ0)˜!·¾ÿj,anw«¤ô(…C<‡$!…¡èlÈ4D6Ö²y\È]†JœÀY:s¨%CüOÝ™,ÿ>Âù^Å¥žki_êä(_âØS+ØËV$ðè>ø/Þ¿ÿo Iã¢Å_ê¾ç žöÍNc×u¤Ws*ðÜg°/“†ÿ’j ~2Èט͛1cËUT$*4V{‹ãàìêVõ¼Œ¼Ëh-Áx#-d—»¯oa˜®ƒX™ìA´@ª“u¸$#ɃW:DGÌ!^öÝÒ@Ê16âtÓi,œl#µØÜ¬5vìÞ†ƒßzP¶áËVÆŒWÕ„ý’4FJ14Çðƒ3Ý9x2‚"?›yC­ä"³žÈg>­É‹Ó%ßóqôþ>Ö>:@`6r:×Ýx9ž¯¢Õ Øáž/?‚x’À>ÕB :ðehv]{Ä£r¾7ÕÁÔ̧Í{ÒRuÈøŒ cç m\q{ñHcãlŒÉ8Å3_^ÆÊËi90Ÿý’n»ƒGî~S½™l}ÍEXíäÅã£ñ©Ž‘b£Ûë¡DP2(5óÏ^¸(eÕŒ­÷zfÔkáí…M\·]ª Ýo"ïò•ߣ¤ÂŸ]ÀUïØ Ä%wämï{3¿óÆ'2É™˜E!Qñ=D1ž³ãM!öÜÕêæ‡¿ö –G}DÞØÓ:¬‹.V¸Û‚€S/­azk i&ë2·e7Þ~5Î<9¨H¹–ŸW®"h«ë3ÇX]^¯2>œ?žïÁó¼Ê¥SX^(1u‘WO­ªQ'ÀÒé!’XC£\°{ïlÛ3‡#g²ŸÍÈQ>tKèÎ{Eo(!UÇtJÇ G·kí\Œñ@K§Œí{{˜¹>ÁÑ–ÑkÍAª^!‹b„Yªc$z‚ ÝÀ¥—NAHwd<cœn`œ°¾¼Ž¥³}Lo ýÕ×]‰K®Ú‰“/žGà‡Td=I«5dÖç×þì§Ð›îàô‰ô×úxæÑ£xöžShÉ^´Ô&9–0ùTFd¶&˜U|3&ã§OœÃâ îÿüÓÐ xäÝrÅäàzÂâüm¸^ 5)‘wK¿™šËC«š£@7}ýtŠ#Ÿ/Ù¹ lßµ?ú¯oƒh'˜$C$z Öií÷ç(èHÜô33ð¬LAJ§¿sG޾„åÑiôÇ‹§HxòŸŒ •ÀÉçWÆ0|àÇÞ…ÑxlF€84¦Ì@4/pÉM]¤oe£?ĉWÎdôÙíFn§2|lÛ3RäffÙo¶\Vd``ùóRŽö1&οàŸ¿$)38C ˆMé¨"¾·uNRS«’j\W5¶ŸZ¶zB`ñ¥1ÖNºëœLRüÄÇß…axýÑ&éÌ©{ɇ'#"B¤:h©)lÛµ 7ÿFî$¿E¥ÀsO¾ Í)b= £OŸw ­5~þWi,ªŽéŒù[1ìÀl¸³áNôÔ6Üþ£oÃ-·_‡}WíÆÛßwß÷£ïÄ;¿÷&D4]pëÌ09mÞœãÊð[zé SzÅ/ݵâŠÞt{/ÝU6ªáðóÇpîÔˆ$<ÙB¨:Þƒó›ïXƒV®/ŬÅÅz¤‰Æ[o3Ú½4òañ´tb »ÇÖ˃¬QÂÐ)°xbýá2úñN¼¸ì\{.Ù‰w¾÷V(Ðò§Ñõæ0nÃl´3áNL;pñÞKñ=ÿ쭸캋pÕ ûðÞº?ð/Þ[w£ëÏf¼5Ã-,-Éi”z÷hÐ¥¿Bõº˜îv‰ÊfH*@5ª`„"‰¸Oxò+ç0'N{úÆ·_‹õÇÀÜUØaœŒ&‰²cc*é…³—ûøàïoÃôwÌg2‰ñ•¿¹'NÃF¼ŠqºaL)˜_#Á$HOàÉ/.`8˜8‹vÓm×ã]?z“d„8™<Šœ0¼6áí¿2k˜š?Ï?y‹§Ö (§hHŒÖRŒ6bçó¾í}oÆì¶.R­óf1t ¨áºï¡;ë5´tËà&¤À‰CëX[(;dqœàmï¾·ä#Žcƒ£iFÊÀžCì¼>¬dn…t]en´"‡keÐù!ͳ/©ÞqÆ¡ 0RüÖ~ ¿³Ä`‘ÆF ˜@ZBz>fv·ñž_ºÛ//¹Bœ=»€‡îx$ Qù„§ï>…4)?@'xû»oÁ/üúGù]t”‘±™ö`>Ü‹yÿ"\yõ~üÈÏ¿“Qâ€Þ/VÏÄ8{t­rá¼ç'yË k¦£+[¥Á®¤ô‘çp°„pâéUKùUã²+.Áÿ» |Æ8™ e ij8“—¼­…™=¾uÑŽª˜·l¦ÿþºAw×T™.äºXWÕrZQŽ<úÈ2ž{ðÞô®‹ŠM>ÇØ½wþ×?ØŠç:ƒÓ1Z˜ô A ÐÛîcç{on/agsßç£xð¾ï ÉÀ?]ˆ5³Æn `õÑ/Çm?q)â¬-ÝjEøÉ}wm=ˆSÇ =aûem¼é#=l»,tdž7úüÝ_Þ‰ ò!…‚’>¤ð0\јlhЬYÃ4Õ¸êÚËñ“ûîùÌSŸ@¶4v^âª÷Ï`ß­m$ã:îÅ•ŒS ~î~øß]S·x’àgÿí‡1?{?^¼{ã¥!æ÷ö°çšnøè ‚–¬1ú cÔ`‚J Ž&(ŸpìÛkxáá³xÓ{v;Áó<üäo¼/>~'"í{.^ Ðšö0y€‹nŽ0»Ûwæ8… |íó÷a<š@!‚€€” «G|ç«GqÛ_ñ 3®˜Äø±Ÿþl™Ýާï:᩼aë%SØvE oÿ™ÝèLùÅ^SJâè‹§ñð—_@;èX¢…¾Ù‰*§ˆØÙç …3Œ3/n`~w·ñuÖVûxìáCPž2å ×A ÚFJ ¶nýfdgsäƒÀá¯Æ5ïÙ/0åøp0Âþø{1ÝÁÁ<…ññ1b=Æì¾6ö¾¥k¨g¸sÙY 'xðëOàìò1(âÉû5nýÁ˰m×4´6‹.Ùÿí·?Š/ÿÉw°rLc|*D§ÕÅüÞö½u 7ýØS}p¿sç‹X9ßGËï–vœ«Ó´([oßñU|ÃVÅ; lÛ•×iaÜØ´Â€. …CÜù‰Í\sãÅâ²… àª[wàÊ›5F â!Cz„¨« Õ´žÂÈÇS¿ˆ?þ/ŸÆÆz‘oÄÍÌØDÞÎov‹)kfJ>ûõE\zó,vì›6>pZ£ÛkãC?+–Ïl`¸¨v|LíàG V¦C÷ýÛOâÈÓǵMjïQ_úèŸÒ8ûâævG¿åíï} ö_{)ÖÎŽ!fvµu”Ävƒ¶n?ðñÊýë8tëqÜô¾}fÀ@2IðýÿòVÜüžuŒVÙSÛ|Iõ`•i³3TZ³•#QÇ¡\Â÷||ã/Ãë2®½y/FƒIÑi®ºy®x‹FÀÔ¶ŠÈ!¼ë)}?þ±ws ñ$ÆÖíóøè¯ÝŽ•óC Sxž‡öœ©mÙEP˜Cž}ä(îÿ‡Ç€T@¦‘îAkIvcŒQG¡¬F–!ð. ‹y‹\Èn¹à¦b›?rIBBŒ#üõ¯=Œ;>ÿ¤Núœ&¬ RèÌzˆº*š]r§ò¾ö…ð?óX__3㲃–7…–šF :ð„÷š– ‚$ƒsŒ¯ò9,ž-Óy­‚ævt±ûº)Ì_ ]m1ÓIàS¿ó?ñè=O |*95J”‡?}ƒµØY*jÌÌ÷°÷Ú-Ø~YATf?ÍY;SBH2Ä7~ÿ}ë0ü@9ë3¿³‡ÝWOaz{`6ƒ®G•¹;Õö,üýØá¹n¿%=`âï~ëùæ³ÊzNSrz¾DwÎGkJAy„4f§DUJâéÇ_Æïþû?ÅúJžÉÙF #^=ôñ¿ý4^~úTí÷t§[Øyùöèavwhh/檵Æ'>þ9|½Š± å`]ñllì–öEneYD¾ïáåûÖ1^O³´oÜq ¹Å eÛp¥¤of` È«”‡ ‰ÀpðžÅÝŸ{B–øqš¤èN·°kÿ4v^ÕAo‹iâØs˜Gž??ù¿?ƒþpIj°ZOø8ôåSøÂÊ“Î^UžÂüŽ.ö\7íW¶Ñ÷2]úœª!qöä"þðãåŒÒ>âtTF9Ë™ÜéU.Ì3h“øñF0, x¥ŠÿS‰i àJ9Ö ˆÃÖCäuÐRÓøÊï=ßûÕ¿Â+/žÀh4†Ö: õ¿B˜Tr2ŽqìåÓøí_ýþð×ÿãx`¡gË+O!Ì89¬ÍFÕ©Fššÿ® §RT€Sðÿþê×ñÜ㯠žÄYkšì"?ô“q‚SÇðÿ|ìÏðÅÿq4'&ÅW=Dj-¯g¸A*D|^â¯ýQœ9¶Œ$N2ÌÃzÝŒç6ÇxêÛGq×gž ÊÞ³)áJD€ ¤¥C|î?Ä=_zÃÁÈ}ÏT¾ç4ÑøÎÝ/ ¿:(Ö"MS£k_j§²»TtI-¬Òîe³ xâ/þðg¿óX<»‚ñx­uýýTžiqõ{ßÀâ¹Õl5¯·ÖŒÉ(ÆŸÿæýµu`Hé!P†iß‹¦ñÄgÏâÿþ‹8wj©ð¥ê9È÷Uª1Çørë IDATÚg¿_üÞßÂâÒ9$<†æ”1ê Ç/ÿëŒâˆÕÇÁ°ì³Â•Öä&ƪU’üg%yfžIMa:šà؃Çñ[ý¸ìæ­¸ôª]زcsÛ§µ‚Œa²ƒ•…>N.á¥çŽáÁ»¢ßïCzœemmtüùlvjÞŒ£ˆð^ºg¯>uñ †é*Ο…ç….z®ð …‡N«‡¥³üá/ü#®ùþ­Ø{ÅVl¿x½™–á´áú 'Wñ“Gñà‡°¶ºR)< y=ôü¹¬;Ò…/|HRð}«Gßÿ©;pÕzØwývlÙ=•ÝŠ“AŒó'×ñüc¯âѯ¿ˆ‹®šEr“xŒ l¬!‹–²AB‘oØ×qŸÿíïà/ě޹ó»§15Û6.ÝBâÔá%¼pð¾õåC¸íŸ]‡°§êŒ³§ò0¯K¢z-CÐJÚ[¼gók-ÙÅlk¾óùWñÏþn|ÿ>lß3¹­3ØqÑ(OfÀ¨¥ž9º„åókxåÅxð뇰¶¶ ¯ëµÑõæÐóæÐöfx†gŬÑò;¯nàS»»n qÅÝØuÉVÌmŸ‚’†Ò „@y„sÇ—ðÜ¡£xìþ§±¶²R‚¼,`tH3È̱ÀÁ/…öF؈W°¯àù'_‚ïç "9øNžtÞòé‰( ñÌWÑ_íc0YÁ YGÂ#œ:uÉ€Ðë´3*C¾ŠàK¹þ;0XLñØÏ"¡ ô“elLVqôùSð¤*:ÏùTC "´½~ñU<ù­¿ÁUoß=—mÇÖ݆——‡„õÅ!Ž¿|Ýý$^8x^—Á,®7‹®7‡Ž?c¢SN>xÿñÞ?ǵïÛKöïÄö½sèNµ³Ïn’3G–pêøy<þ­gð¡W@a´+!ì n\^b¨Áä–ʆôë0R­ýó'ùÎÀ(ž$èõ¦Ñ©…áZRÎWsÅÆèµ¦za+Âk¤:Á$b¬bm²ˆ•ÑY, Îb}´ˆq:Dg.DÔ 2ÒžQ]>ÛGOÀ¤3Ë+@‘_µÑñfL;;ÜŠž?‡Põ²ñ Â`4ÀÚè<‡Çqnp ©1¼h{ÓØíÅ\´ ]JøˆÓ16’e¬ŒÎâüúI,΀Ã:3!(“Âõl¬Ž¤€d€42›™›Ãt¸ÓþVtü9„ª …„'ÄëX›œÃ™ÕcXžœ‚?§¡a:““Æp%1úß¾BšÄOFHô±Dè†=LE[1^„ùÖnôüyø"„fA²†Õñ9œïŸÄâÆ)$áC^”BâÜÑ5#Ñxˆ8#å)'ðd€©–QvØÚÚ‹Ùp':Þl¡Já¸DS²|Í3`™. Ïb©ýÉã>¶ì™R¢ ´J)qö•åìZÕ0Š* )Ì…Öö§1lÅ”¿ Sþ<"¯OÐÌHÒúñ V'ç°¸q‹§0¡>:sÑá‚„'}¬/1ÜH‘„l ÝÈqÏ„Û1íoCÛŸ…$…Áh«ãsXØxçGÇ‘`ˆÀ0lÖÖ^LÛÑö¦á‹pÓê…™‘è “5,öOcax‹£ãX-`‚!ZA3áNl‰ö`*ÜŽ®7c.X fÄiŒõ¡Ù‡çG±4: -b~ ³ÁÌ·öb:ØŠ–ꂦëXŸœÇÒà4ÎoœÄÚh­9‰0ò ½ý•1†k#§Ád¨.¾ŒÐög0lÃL°# X!R=A²Œ•ñ9œïŸÂòà,ü)F«R …sGW²3Bg”žÑö¦1lÃt¸Ã<;Õƒ'ýŒV“ GîÌ&£ß9†GŸ¿ ýã8½ñòçOø»Ý3îGu¦Ðq®¸ñrņ´´?3ZUžŒÐb€|S’ù*D7œÂF²Šñh€Á`Fœ]`¦¬àH‡=ò3ý£Úþ,z¾¹‰#Õ1¾w0D@ßW¢-z˜óð òºÎäCföìž"îAûÔ%A„~¼„áR)OÀ¯Ë $À†œǶ½itýytý9´½i2‚„ddUÍS˜ën‡K¬¯ŸÇ(N3eMó>…P$áû>"ß(X&lJO†h«)3ÓH†Í-ɇ aÆ"çŽéÌ­ÇK.®eÂt„-¿È„º‘_½ìèì×§6({yYþ¬0®€eð¨ÚåRMj¨B­.¾Ef²I´™¸[ãù¶‹óJË¥;nœTé{ƒ {gU #¼É]ÈÖáfÍx9[«þûƒeí=6ÉÜW2ƒMnnØÁùœä f”y«KͨŒ²8¼^WÞ¦|h¢¹ëfinfC•÷XŒÉ8<.2—úïçšF>Y†nnXéú;¯f2ja]Í~•h0xʃ•¨ì$®CÔot'¶Â¶sp’tv±b§n9î8€<£rÈ2¶}agƒ•V'ÒJ‰+<vû%¼A ¯ëÝ|€^?®W:õØ{ÀÙH_¥=nÕÅĨì4B¶ƒK#eºBû'®gÔT©F¨Þ§Íè,å…J›´ê‡-ý9ó{ØJ$.¼ÒlMlÖhá×䪭Vÿscæ[½ü¨‚]sc óÝbXÕž7AŸ%šO_[bD%ÞvJ RŽ+ñ"ˆp•ummP E¯³Ä¸‚Ë¢»–“î\ãVÑ ¨j¡T †¨*7#§BtTblU³!«„µ?Õð¦ڂ.Tz}ņo*5œ;‘Ým·ì|•Œx¼tì–œ¥mO!ôVùý¨NI•c…\á`TÚûl=S®ì£ò3V,dÙ-Ÿ7+SóàZ=ènP£‚"A,jÀHS'¼®žíîO憟©Òó¢†`N›`´´y‹ÈùÈ ¸Yåt’²]™òoE&T‹ÞⵃU™Ž³¥*ã´níÌ©ZB1×;\l?+®Á¢vjßHõ*Þº ÉŠìö% k€Ùi«—ùX•A^ɲ•úZ/*­„ròÂ…ñ*#^c+a°I‰–{M¹ (cJ,P•øBd­_yÍ–ãjÜ´,ž›Å@dË®$í Q¾×¸O˜¬é2S¥ò÷rÍ%Å­%غ(üAM[ߣ £ó NPÁÝn[žç—Ûôrõëmfzç)HËv£¨Ò|b*Áp®Ôl—»À£*Ø%[Øq…)oÀu˜­ìŠP1ëµlŽqyü³=ÜÔæ@ "µf *pU0=sóÏÅ•äÁÌç ˆ€ ûÁ€VMkVKöÈ6AÈNàuƒ‹ÛUq¢¢ˆ.WÉ-²Ðò ˆË)>ÔFBÜä5ÿŠÓ$°$•g½˨c°$ëcÚ.ÛÌ9 Ò¶wçÊr L_&qË/uà·¬ûVNá[¿³?…¯‘!÷–ÊN€pÊr(MPî4½Ø 8Hù¥ÊQ±Êá c+ûž +ñŽÿ½ƒ°#Š ò…;6ðÌßö!}3LN–ù·œµ–Ö¿C'ÀΛ}\óá„™5Çd¨qÿï.cíxj²!t§tÌ-r0±Ëm+º×ìðj­Ú' nhþÛÔ¿j7޹Fk k,‡«‰&WøôD•Ž6¹“:N†Mî%nc¶nÌ önQëmÞa®¯UfüÙÆ ³ T~¿3ºÆV™›]ò¹×i 0É„i tל*Þ¤t 6éq—θv{˜š/Ò¢@§Jþš×þ6 [Ð6³£2u¦|lÅ*ƒ¸á6u4-%U[Ò'݉{ª¸U[µVJéÓo»ÚCg‹DØÅ_¿M¸ôÔö>F“ ãvŒ´4¨dŠ…3$œKpg ËFŽ]x­4¶×ÆÒØvž¥¥¬YÜMœër3‚®°>ÞÃx "M'…Zƒ½œ™G®p§²ŒYø„°Gåzu c=À(í ¬4gÆ´n×¥­dam¥Al…ìè 6YvêU®›³èŽZËhAõ”ÀJï]¾o8A­ÚX©–mÖ;ІuG5ø‹æ¦1…a5¦/%gÉ•*¹• »™“c8²YãwöÙ$¢A°‚,`IQG¸‚òS±+“FÝN”ÓÝ(J ª*Ô²‡b‘ØÞ<¥œ 97°$ÛÆéÀQ½†·6¤Ý¡q:5eWfT66b•]å{‚S‡Ãæ Øv‚lp c \ü=–úç0J×1NÇ…V–=+æ.±œ<°0L©Š³Q™èºn"EPf¶³Uëë•L°gíÜ[l¬7°ŸÇ ^ÁX‰]@—Ž“Y¥š•ãUÆœ@£/b}¼ˆalLt®Ñde yFÅLk뽦ºòå&\ªÏd'ã°· êZ,evG§ëì”Re–'š:älu™ÊHPt…dØ s×E5ë´á+ÛâJÉéÄNBó¨}+—@)0Õ‰IDý,XyYÀj3†;n'Ê”ÑüOK-åƒCQï[%_F¶tæÚ¸‚Ye™•í zw´§>Æ…¨œ[®Ø ¹Sþ“5ÜÚˆ3¸%Uñd“7‰rgÀj0ÐÝ!1}‰ÚTœì²[fpßgžÅÚ(A×”—Y$å%OV/‘ÅĦš§ Õj̵˥>Bá¦ñ¹ë³}ÃÉDÅ’‰ØîU>ñ0]ÇâðR1€ô„Ѻçúˆ>¹)A<4C(†ß–Ê8â@Ö’,‡èê£ñä)HV¥úÜ¿ê7@9îwÆ.ÇŽ ¾£áâC¡ñ”/²½¿«£iù°°Ý¹f‡kˆ ß˺(›¤œj‚ VÕÀp±[jxÂÕNjÈ êã¶í ¸šJ<Ì:S?³Ê söj®§VT2 T^Ö%¤×`ºçÁƱƒ˜mKQ…øc÷¬®V©U£½VDêóhGÖÜYåq@.í*^S‚²(h 65²Ä4ò€ÇõRlr#;Öþ^!m|´¦ÒØÎ^Q¸÷¶DØþf…ÃwŸ’¾1_(÷u³ÕíK‘]®COË@Q¶X·%±Òz^†{lඪ,“ãº{ò(écitÒ§Lÿ¾OëlêÙ~Ï  wöúB^¹wˆWŸXB?]ÆêøÖ'Ë8sl41ª£¡×A [F·ÌA×ËK 4 Úà’L/§l¶n;‹Ph_Îu–¾ £°Ë—³k½pçZKÖï)1ä ѹÂ)¬`šÖh Q}J„ëᱸ~ÊÝ>SŒSærš”Y¸ø •¡;²^6~\éôrIkÙ_±iÀ"n,_íVF…ìg§÷v[Ü+9¦f×° ª†TfØx“òÒÆ3¸Î±rÔ.ØM©¸M¬ IUÓQ¸¼{²u«­ ÇávÞä9nÇ‹ «H&1¶íš3#j‡¸êm»ðìý'0ŒWö7GP¤ÜÛ+g€SÙÝa&«›Ø ÆTvãÃíPQ¥ãÄ6-§XN*0Dn *Äz€x ´ƒXÏiÝÜÙ‚ëbnÅû¶ M0^ÕØ¿ÝÀ IDATXbm¼Ž…áÖÆ H9†¯ØH³.ÅåØåJÃÐÄõ̶öì¯×µÛE„#L—¿_TTMØÞ“ÕɆF<\¬†“NŒæ¡}²Ý©©Â£Ú„’AnVëÞz\ÁôÜ,±ÜgV7“QþšSÒÁÌ.Ÿ+¥{´ši šSˆâËZÏ¥}SqeºŸêzdL¶J¦Ý¦Í³®ÉN8t¸%„zÇŽ˜Q&EÔï:»ówL•ÊË–àýÙš¹Æ*»?¹lºCÒ¶@}#›ƒå¦¹ö‚‘Òæ%i.GãÕ²L°qTF ˜à28ŽÍë¥#àÊJ)sišâ+Ÿ¾7Üvn}Ïaøk;÷lÃÅ×ÏãÙÓç1Jhé1´lAp& ÌîÍuñ{=x‘(n¿Wcû›=ìºÕ‡ ÌgJFÀùgbœ>4Æêáĸåä?Òç¶ìW˜¿F¡»[@zeªžŒ«G,<ãÜÓ1ôĸ7—;N€ì—ýItŠ™]Üú®ý8ðÎý˜ß1 bãøÃ ¬Opæ`Œ³OÅH7¹a»H8§Œ™K|\rÅ,bŽ0Lç0oàÙ{O!éÝÖö¿c fæz…QÄdCãôãŒ×+d|›~]Û¯/]„H«§œy,.¿–ÝJi Dó„­×ú˜Û/ÑÙé®Q<ÒX}%ÍÖ(¤'¬ÀTŽª—»Ý·öµÕØ ÕÎi9dC¨•ílÁKUˆdÊÊÆÙ¹âÒ`'…e‡GèP¬ÅT—d'ŽÈß…&ª­? ±ª­{v&Ñ©JLÌ&ê ze„¤Ô±f«vf̳ç™l ªÆþ-¸Œä4炱F{ªójeÜuK:û™Ô¹LT« òÏÈ•V1ÃÆ€7ÍØ} @gŠxéà1ù Â`yisó3E6ôž»õ‹%}LÒ!BÙ†’ª” ¶ð«?¢»U"srÂÌuÀÎk#¨À‘î>æ®'Üõç ”2<ˆ‡„+?aï;|ôv x!¹ ùÏ¿ÙÇø}ç_žà¡?YÂèAù*3?hbAxëÕ¸ñí×ââ+vCÊœP\‚óÛöû¸ø‹‡'xèO±qŒ ¥W°É€¶^ããÀO·!•dGƒË/1–ŽŽù=\ò¶)ì¿}ºXßÉPcíwX<†T2óZtÁåt¸èÝ®ù‘¨N^Dxà“‹˜<2„`‘Ù©I¤#ಸô½!¦öHÓåmX£ÝoFïÓX9ã±Ï,cñ Fù™F©H §±T%- çÅ«ê î×+™X¥IBUb¿ØÁ¸ÖñµÙó9±3ïx[™£“º:°]†r-Ø &EZa+²\@Û]\(^¹ó¬\&t[°Lµ’‰ìšµ:¿W¹-Ü9¥RsÇå¾ lßr“’R%˜Ø<}ªŒ[€œ ™¨†T;‹L¶˜a…øVí(ÚW™ž—}(p6§RÞ÷‚Páð§pâð™2óJR\qõ>l¹2ÂF¼j 1õšS‡yŸÿ:›Ã—Nɘ±ëúB:1Y§€NÍû?wbëñ"ñÆz€áFŒÿM ~"ÂÌ^ ©:1ßÏ©a”ç?¯À v\âûþÓÐSêÅ<),±œ%û®Øƒ‹/ß 0&:e3’”¿¯„!aëþïÿÏÛ0«˜$HxbjÝlÑ´Ò˜‘L4’IŠd¢AlìÄÒpòÑâ¡.ÖÁº—i ±‚aÒÏ\°µs཮À–+=è$[¿˜1Z×xþ®3è§+é>bcܟ঵ð–Ÿmcú"c¿v¡5òC­û|ÏØŠ¹[l ב¤“ÌK—&8p©0.õ¼NªQ»*3‹înó¤ŸC%Ñ<_Åy •rªEã 6ÓFøP©ÂKʯ;`9È!ÞXD°Š~7eZç^““‚n¢8à\#ä6 = ¼mš㺆¸3èÉVðcrø[µ>;¼,*ˆ'.Ée!ç Þ{oõ¡³óB‚°ºÜÇßê^øVÐÃCw=ã–Rq‚ýìÛ°Ú_2Y–"Õiív5‰n]³>þGƒ âI!:eÜÿ…CXšœ4AkÐÇUÿ<Àeï kÓãaŒ…ã«xþ;DZr¾4ÕÎÍÝšöpÛ¿žÇ@-b”l`’ÔÚ²væh0Æ™cKxùÐi ÖGµÇ¶nùÅ),®ž3.É „ÜÀïb0Æé†YâÌáu¬œž”÷¡v½ÅÇP-bc¼„Qº„cãÑ3—8s©@{[¹ý¥8úÔάÇêè ÖÇËú¸ú§"\ö®°¶WGƒç^]ÁóÇÊBãQìü»¼ûWv w݃xÕ˜ëDºìŽY)PißeðÉ))íZ©¹fíi®J+\C[´°¤¯('Xƒùv•EMYv³Š©NBݤ©áeSMRùB^—*ÙlYâoB·–­ŽC ¢®ª„×x#•é‘ZÈn­^%£:8š·S-K®tÕô󳿀 λ#xXþûÓØù‰ö|9ìêû¾ú•û!<† Q4…çî9ƒÁ¯ŒÐî™à‘Ä)nxÛ5èì¼kkèx3Hd£Ó|Í4š£>3ãỞÂýÿð$¶ì™Â[Þ½ýþy b!MRL_ÖÆUßßqº–áÙG^Å=Ÿ=ˆ'î}£Á­Þ÷/oć~ú6xžWpá¶\ÒÆö GïYÀTÄð¹Õ°&“ ¾óÀS¸÷KOààÇ ¤Âå7íÄüâm8ðÖýHS]4!.ºvþãüœ ë5lFµx+£!tÀ8sX82‡©m³æµRÆEWÍCÏ®`mÙüˆð%”R`2ãG3—JDÓÂ9äÜù,NŒÐM¶`û.®ùtZ^6“QŒC÷¾‚þþ)<óðŒÇ#øm7ß~)¾ç÷àê·ìƒÎ>S»çãšNá/'¡êt™»ÖsGj…*ÆÄÕùÅJ@pšòÖ9r©8¿›ÙQv%®Ì×R³ r©ìbÈ\àÏ9‚].™+TfaܼɨÓÐtç&c­?²©Þ•.Õ¢T“7‹ÕW ·­ÌTÍ’+nq}§@&®(Œ×{!åC²†µ¹äl±ÅÍq>?YJÎ’(e9²÷³ë€¡ÊŸK’ßüÂ#€0nÔm Þ`Ï|û8ÞúÁýHbs:8>ðs7ásÿñ1LEóhë1Á·YSöADxøžCøÃßüKÄcÔÿæ?>ˆ0 0YÚ’1#ì{G­é2(OâÑ»ŸÇ_þö8n,P›Ð_Ÿàó|7Fƒ1~òW?X¼¿ ò±û†ž¹ÿd¢¤õ»QÂ×ÿþüÙýô†DØkCãå'á¿ÿægññ?ý_pÑÅ;‹ å…Ñ%#¬<JwdOK$ÙÝ›ë“E¬Åc÷žø8òØ".¹iRåÌ3ëÞ¿ ÿø{OÁ|Ñ‚/Bã2Þ¶ð „)å@ÀÊù5¼ôìËXCÛŸFôpå{§´T©0«÷Gâž¿{ý5h™€" Öí¼øä1üÜÇ×ß|E„¯|ë6Ü»ý9¬™0ô˜d™8#7n'ËÂ\²¯Ã#ª·å]¶€ú†\„ªDN‚íwé ÉW©Èš>%ª(°²[Umâ‘T8z35×…a¹NwùÌqeÞÊ.Ã,*¡¡Dcª¹ã_³7*K*»DsæÙF¤*:¨p<ò²¯ŠBR>1^%‚3Ãg;ïÂ^re™mhL–f”Bà¹C‡qþìIø¢…–šÂlgnÁ¹$´ÖxÓ-û¡fc âuŒÓ!R@k}ACƒáp„{îø×ÒÂ’Æh%…G<écjKß0 !ÊräÌñE|éO¿‰³ '1¡>4')³n4…§8†Wœ6 ¶’PJbÇ=èÎ:ú“EŒÓ¾{ipæô¾öÅ{Ñ_ïÒOI ­°ƒ´ïá‰û_€òJÃP! Á´ÆêèÉ*&é‰Õ¯¶J²´a²ŽX©ñÒ½‹®ÇNY}óí×`¹Ÿ½–@s f ¿-°åJU–éD8þʼôÒaŒõR=Aw[€]×L•%£8xÿ˸÷Ë`ux€¡¡ÈG(ÛèFÓ-îø›‡1Ø[Ü÷<\ù¾¬L0ˆW0I†Ð:)€H¶÷1—8PuΚÎNvÉ;Y—c«G {×’páGÖœÜ.RüªC‰e¹G ëÅÄ•¾šU¬¼I?á»* 3kâºt†¥[^($k3JîSŔ•–(9[•–³«ÊÊäÔÏÜ`üZt«-•ïåÅ4‡Ê›ÏMº*œ–_f/‘èí(;hB ž<_„ðD„¶×CÇ›E(»¤ðÂ+¿@€iÅÌý¬ûsز*´§³àŒÅõ”Yù}ÚDdO~€1°y0:620 uíöëW6qõÒ ;u©b=9ŽìÆñ:4 ®¼0ŽïÐè<ÅIŒïyï}8ý_j” ¦Hª”2û±}s¯Žõä8†fZGXÉtÝa™CÉ9æÅ‹rŠ¢Z TùÒÙ˶ƒ¥ ‘¦žý“M¼ëÇNõA­(ñÎ|_þälŒ÷—3,ã?£Êû]ÌxâëÏÀƒH§È¢!Ö®"E˜OŠæUoÄxëûî1™YÁЬa­"ÕChŠÀ¨0™N0Ùœ÷òEU…ã§c/ßD¦ÇkÈÌ‘JYxƒ²L$r™C¶ ·5Çè¬xÏ®ŒÛÌŠ=ãVùú,tÕXì?bß«‘a©OYRGpxf¶§Lú=îpToÃò,¡ž~>¡ è+f«²ÍÔv¼W ™‘ëŒCÎPI¬Ëžôçí1$÷Iv%ë!ßøBŽ&™„qò=UÑoŒtà£ÿø#(˪(£1t¤ƒ¸ ní Þó¶;pâìžÝÂ8ZC¡Æˆª¸#ºøÕå‹W‘&)=l‚Ä1¬§Ç™UÄ*&ƒ•A†tlOë`1Ÿ/ðÚ¥+ ÄzˆqtkÉqJŽc­!R1Ê*GbH³ ›³ Ûùu”UŽX§õÌ#i{b¢ª°½¹‹Ä$È¢Fñ!¬'DZžÇÀ¬ÂP„A\yŃQT äÕ%wkùšªE#ã(ÂΙ ¿µ…“÷®ÕYVYá‡îÆ‘û2Lnncf¦8ùfÆÆ}}À""œ?÷žýæ‹d$zˆA¼‚“BUö¿w0Jñ3ÿìÇ¡îž ®;™Ö¡H(æU—%WãØ‰#˜•;˜Û˜•»ÈË9]Ù#bÌÖ¸¥ÁæÍ¾‰u.éìcU䘿Xj´Î8—;,$K7ƒö¨?äûc‡ïENßò`OÂý3,gp’<Çç{ kôfÙkR!”ݳäÏD[ÝD¦éµ!jŠ’‘°/E$¸1˜àFÜ9G '?`0\×(ý½ˆã'ï<hÀˆñŠŠ-âëá5ÜùÐa<ùÂ%LË †ì.¼ƒSXMŽ Sc?(‚¡±N‘ê13@¤2h@+ >ܸ¾‡UØa ÈvT¬«ן.±u}Úá=JÞ÷ÁïE™Ì°7ÛÁ½ï_EYôÙP¾Èñ»ŸxI#QR3BªP­Ñ?¯Ûÿ,«rž5Áªÿ«Ž^@Ô²+µFx(Üc;pø£2p {ÛÇ@ª‡­û%5Ê¡°œ§àHõ¸\Yúvh Ë8"®| {%aò Bͦè÷u¼Z àZì›]H’‚` ± Ü€ý6…”k^fC*ïCU2†§N½3Æb·Çζnîâòùku“€jäE‘®GPÄÒaT8q×’,n@Û ¾ý>ŒŽL_ÞÄ<>„ÌŒQrp0A“iŠ©š"h¥›ö³èzŠÛ§µÆ`”A‘F¤Ä*ƒQq3Ò¢ºc>ÒLª¢ÝXW D*Bù%ª‚‚&£bŠa(‚&Ý´ j£¥«›9ØTX¶BI)h‹ /|í&¾ïGO h²ÛC'Æ8õæCxÃ× ú&ˆ‰4¾öÅÇ¡ U5¢1=Áê›7·ñŸ~å7qùÂUÄ&C¢†ˆ(m²Nm½÷ŠKä¼@^M°¨¦ ÝF à^•™Å9Çö˜Pà`‘½‘±võs³ì”b,y‰bK¦@xÞ¹›ï´ÐfÛS’IHàp_úõ°‹#%ËR,-°n8JËxLÁàáÿR€‰€hœ#5ì_úe£²N_ףבI³t®]])[Ń ˜KŠÝì­_¬œüd„bÊ‚ãdð›¿öûø_ýTÜ´Â͉"V) E R¨¸Àd±‡þ+?ø‘wö%Û¢ÂO|ìûñë{«É.fŠDjÙ™PKõ|Ÿ" Õ¬ŸrQa>©jU‚†Suì个ií ]-X÷ˆ¹Öîp÷_€+`÷|Ž¢`¼òµ9òmÀ¨%0Õsš4Úr]RûÔ®Sßþ«³5.ÐPeŒóߘâÁ. AÝ•Õ1NÞ»û¾ïˆÇû£O&ÒˆTŠTê eؽPAÂrIc²9Ãã?ƒA¶‚Lè¬ XJlpÂl2Ç"Ÿ£à ,@а¾¶ŽD `T²Ý‚Õ¦Sw‰‚%š˜Å¹È„/…RLu™æ _ÉŽC’µ·ÜF<ŸI›K [*‡l¥Q×°ùÖ@w9ÝM€b7§\j¦cØÁ®Ø¹à>eµg™¸sqcîG/Úwþœc²ˆ§!FÙü*¯Èv¯RÒñf8ùލgGSÍŽþÒï=Šõ1@„X¥Ht£3ÒÝÖe(¨9púëÏáýz;´ÑM·«À÷¾û-HŽ}{{ÛÇSUµ$Ciò·N½¯z1­°w=ÇÊ‘Ìu†uç}Ç1§€è?ÊjƒKàðwý`ܘA$ \;3Ç­eµOðaŒ‰nó  ˆäN=P]dî]šáÆ…)ŽÞ5ì®ï?ñ½Ø8¶fâ¼tö^úß ´F¬Sdf¥.])Ãä"#Ÿ•ÝoŽøž÷<€G¿ü4Š‘F)=€¦¨~ͺ˜í.ðÑúCxË;ïÂÎÖ×®ÜÀkçoàÑϾ€a´†Ô k²k÷o|ÿjîìÕé&?n„]‡”öU\&¼àj1Óòr›Ü¡üþ+=d½OD:ð0ÉÛ=v’€ån t·@mŸZÀVnEÂ<ÔIEA޽’=Ðl32¸—¯qN?c:á7rCZŠn…h H 9¿'owýÿUÜõÓȺ´„CÇù L÷¦Ð&BÜð‘b]gWmk»ýFŒ'~ïìýü+ë£îð0ZãGþÞ;ñÇkéQ ̬.õB„™¼‰-,ö»W+¬mèŠñæ·ßƒcwÆâb‰Š«®;×¾µdp䡨þ%bLnØÜ¹E…Q8Ïi½öB¾Ë2¦[™+ ô ¡T„íó„+ÏÌpô®a×±¼ûM§ìôÈàŸFQÐdêaõꌎ°Ø¶.çX;7r_Œïÿà»ðùßzÛ— Œ¢C˜ÄzÝè`V%ãð;†øáŸ|ÆëYwýׯnáÌl!Ó+5¥A'PÔ(]8½2öª ÂÚ]¸à´Ü 'Â:ð]Pž6®nHaÈ}lkzyJ¸K’\,×A>`*vë »SKl8«r-Èê8&ž€C“Œ^ v È¡Èô”¬KgLÇ"£c8)ªw•Þ­uòT½«ƒí‰·ÈÄ'Š4>÷Ÿ¿­=ÄJ²Ãé8>¼'†÷áäð>œˆÏáýxÃê[ðèµXàEQây'æj§V[(g(9?pw©¿D¾VáÒcÓ®)À̸ãÎãø±ŸýDC…E±èXõ× ‡ß¢qìmª›=$"¼vn®¼Š­Åk˜›Kò" ¤³*º…ôË_Ú ©Iñê“»˜OJœnþÙd2ÅcÿÊ¢D¤¤z„ÌŒ‘è %˜\e\{a.ª§Þpÿè>Š#G70ÔëXONâHv'ŽfwãXzNm܇üô{1ZËú+Rxñô¤jX71(…Aìà^!ø¤ä™B¡™ } ¸ÛÓ*í 9»Nj ©§ É›ê Ú¶ªÁ½KVt `rðm`XËôŠ{ v['›Tr¶´oÜLþ<;ü ÚçaÖ5®êL'¤3< hH¶<¬ù'˪ÎyH¼4œQ‡ñlÑm¢W ± ÒÔuIy'ƹ'¶pèTæ¸Wxæ‰çqíÒ ŒÓCHîU¢3ÕÝјpñ‰]PQ¹ IDAT<õ'ñ¾Ÿº ù¼¾G³é÷?øœü·G±õÚók@ºctÔ`tÄ& ƒ€/æ)¼xæ"N`È ¨Vû’›È+ð|õ2ø#üpÝ|¨vÏŠ‹=Æe×A’Ó¬!d*Òöã!|ÄQ^Y ñìmðýtŸ±­"dñ}â ~ãß|ׯl¡,KÑ=µ± fFYVø³/>ƒŸûÐÇqýÊ5bh2ˆu-ÝÂÄ{áž)N~öÐÞWùó•tov:ÖU÷Úõ}«j6‡Œ‰QÝŒñÂ7®‚TÿªªÂÕË7ðèWžB§õ¸‘#5£úQ­ "#5<ò.àÓÿîKØÙš ,JÑL°ï¨ž9Ì%~ç_¿þ™_ÃæîuäÕ¤qª¬©&P Ü4E¤w"/%Ñ>H  …²n×(˜¼Ì×&’’wp°ÃZà`^û•‘>Lc7ÕèÀ)Â[¤5XùgqÝÀDÆEÁˆ+ÿž{É ‚å÷ÇÁÐÚçBÎ}Ý?ö™½ ]t¾j}™× ‘¹\-![C¾˜0^øÂÓéÓb “r gϾ€kn"Ò123êT"C7$ŸÐÂâfL¤XDxâw® =ñ*v›˜—{P8ûü+È9ǬØÅ“pÉHcVì`RîàÅçÏ!‰S(¥@´Ùß!Hgekxéá—ñño|~èÞøæãظc Ù0iȆ Óí.œ½†Ç¿ò,žú_gPE33À¸ã1ÅOýþUP\`’oaRláÌç›VÓ\÷ÝÂæc¾Sâôgn`wºÝü:&‹m\¿¸cLÍÙ´ÂÍs<ý߯cÎÛØ+6±=½‰Ý›S(Ô\1ê(=’©•Ašdxò37pùÜMìÌnvr4Ï=s”GHÒ2=Æ@kª3Þ¶LÒdêFIzOþö‹xìO>·~èÞøÀ‰úeIG"a®žÛÄËg/ãчÿ/Ÿ9=lt¾t†T‘é1âf{KèÍ1/É!9€û²3ÂK|Ù@r}Ý“ü¾ZR¢:ã¿p/Ù)*»0åÄ QÕíîðÎ\ÉuÄ%s(âÚö–e¶óf'z‘6ö.·R¢µ{-«diWÙ½W)ïj{ô¹ÞÒöÜ—4†­¿L¯•8ý‰=l-®âÚô¼6y [ùeh“bД‚™Y©åE("²Ï+²8iPã¥ÏoáÊä¼¶÷"nÌ/b^L0HGØÞŠ+<ú©WPV¶Wp}ö*fÕƃÄ*ƒî†’ÝfH#¢3ÆáñQ\Ÿxô·_ÂOÿ Ù!' h2ØÛœcïÆ 0%`ÊZA›æX‹ ZŒñô§6±—oâêôe\¾ŒÍ0LÇ }#jL¶Ï6ýÚMܘ_ÀÅÝçqc~ ¬‹Ä×IÍÒ×7ž+ñê“;¸>»€K“³¸9¿2ÑQ3ÐMI •"D&Âö³„³ÇåÉK¸:{Ûó+¨(ÇáñQŒ¢CEë=Á¨¸6¤àf«’A¬2 ¢Y;‰ë{À#Ÿ>‹?œ}ƒ …Á8XCST„«ç¶¡LÖ%t (Š‘¨Æña¬'ǰo` Wj¥e„ºÄué‹ß",›úð5HÈù7œLñ³a8ôß™xy)H¼Qjà…²«Û&Žvºè_4—…eýr¦@2 Hdûïi æL’ƒM©¶Âfçö0–äfaƒUHWrŽKͱí¥ZR&")Æ´ÊK0—HÍãx½ŠDeMQöƒuPB=7ÈFXרÌÑ\cVìB+¤aÈ'i q´ŠÊ,0/w¡È 3«5›âÚBÌVé®çü!Áãè08ch¥‘ †Ø]lbry‚ŠçÏⳆR‘J04+uó 9Šqt‰¢Ò˜«5”Ñ‹bMqRheºqB”“,Â@±J‡Aq…‚s$:E¦G0*! ­’,Æ@ ±¦AÅʪ@¬ëÙ¿H¥0ÊôówÜ”½!‰2¬Ž¡4S¨¸Â0 ¯æˆTŠq|+Éf±ÊêÇ=7J“BE23s m F‹1vg›˜ìMQòDµ´N2Ô ²éJå¡YÅj|+ÉŒ¢CHL=¡ @ V}Ý ÷Š4®f˥іw²fŸShÿ=lö9Ž=®FB÷Ê7·°J@!EåHðúp»åÈ-gܱøàYBÇ–Ç ®ðMSå÷$@‡VøË£’ÙwÊ¥JsI·$e¨ÞÃPˆZ^lâ+YöØðä¤Ã10ÃæŠ¶£!‘Nê1V’ $‚Aª‡LJ0ˆV©DÌZ@›×VTMfeR@+ƒE9@HõÃh ‰6X"AÁ`^Í Ia`ƘDC5Ökrá0×?oˆ‘šQ£V!5C ÍfåN3h÷é×ÑcdfãhÃh ³¥"TT»0£Ã (,¢9 †f=†¡¸Ó¾T£æ4t ŠQr£bŒâÃHôŠ 4E0Tb`F(¢#>W¬RŒ£õ:0Ã8lëº[éCŒQò1i ÌJžC«³ŠÕè0²hŒHÇPJ{èJ­p‘`­uYiÝ<¹‰i±‡¼š¡¨Í2¨@ÐÐÊ ÖY]n6*C³†Ä ©š4Ú[Ïò¿rýûƒ“-óù×Rý³„6K¾qÁ&a—G.‰[R{ØÄm–<;:óÒŸ“?DwX‘xyÿðö˜î"ä*Éñà>Ö· `7•]ƒ 4o‡:C½ ·À$iý8;ï¯uѱ¦tœíF œtÏŽ~v ëœizíw9àéž"DƒD °WˆtŒ2Êëï«™®µ–L[¦I%@«ª:ŽTF Lh5b•"Æ(ËJ®={EÚ:ÀÕÏ;©y]-·«w±uá}iõÜÙ%…ÚvZJ¸’[P »ÜFÖ–â‡ýžbgPÇS1‰|‹%ÓÞ&QØnì=GFfwÒží dë`ÛÒ¨®ÿ•kÜâŽâ¸lr;?ôMÙ .Ž´è쵑”Ø5<¤~&ÑM—9 šØÝB;[Î’Zå&÷¾„›I»24"$Úôiwã-f‹ib^õ§ˆ3Âb€\³Ê!*öÄS»´´BÇlÑ©3¼™@ïıädÈë\‘(­\lÂNM9¼1 oX ‘ôZÙùÀ¿u2Ùi5Œçþ`pR1Iƒp¤_­¡R"/ø¸”•ýR}Ÿ#aÚ€8‰àDVkÁ^¶írõ–àEŒtyvm£…§z!•]fKdG–?äÀp»œd•Làþ™v™k‹?Byå–lšXKmŠœkpû!u÷>“ûLDµ@2륭»a¸Ñ±çÕYÎ>NSƒEEBLÞÙ£WÈy†E1oˆËÅÔ~^ÀšlÏÊéöüåù^ŽÛW‘nT`Vvª/.Ð2^di+ïH¶8Lk0'qPvÄöÈ¿.Faâäð¤Xä$P·8 ×}]8ݸƒžmÊOvujÝ0ÇÂÃrwj2?²;– …ØÄ?²3!çï2çÁ‘ÌšÀ†ÉçùË€ïýðå,šüØã…Y·îÙŸE»¼+h±ƒ 97 !°Ë% `RóÊ™­#AékBâ•N€af¢pž]ܼË veç;ç½ûë:ïI*¥LþXî+tq‰ívù‹íkW`äÕ{óM,ª)fåE5ß90ÃÚÞÞ]ìnÍ>5ÝÉqãÒ.&Ø„"qX* <&@7kó »ÉLˆqc&¶Ål¯w N“ :“«ØÁ6¨ØÊ28…AÃ˼\„Cж¬j™uI9ÂjB~Ú;ÐS&˜ZˆØ€D ±‘½çdgÐu)If†N¶ÊÒÄ Ž, g“‘ì ö‡Ô `K°™íÖ~[>t§0Ù’A=Ûš„*K'áþ´×ê4_,æ.I¼K2f‘õÙžäfØ'µ“Ýùø°”WÂ.°r¶14»õàr’ /@; tvzŒ·å3ȦÙ‹·ÅÍ‚Q9°¶ƒs7ÎÔÚnùöî´œ|ËQÖÿüÃ÷ÿ{üê#+ö¶'_ìL±{s†W_yñ‘\²ÃÔ–«¨‡:N‹n`ƒ  (vH2丒·  ŸtæšBØ7œ…(˜¬š¸“¿Š v7̧'y—§µ–[|3Q6“7¹b”PG™°á?r‚& ¥])Z3Ýäó9Ùi+S è1»%$YûšÎìwž\ÜÉéR9‡ ;Äê¥wßü°nÉ㙉ÒÌ æBD’íŽfý»Ø¦Ê#ƒä²ÍEÛ™¬ Y-ñŽ0Jdw,äAnI°{]F‡$l$lsÌd7Ü“wJcp­@–5¶ß—Ó.g·ÒßÂKfŠ+óqéÒE웘–ÛÏO‹­g›q‹ª]â–×Ðãç¿xððlU\¼-GqÿÎÞ’¡FfÆà¼fð¶ÖÙVæ`a ²…DŽè];´Ÿ©HNúä•Vãü黃¹‹]øV·¢Úé•VA¶÷ yòˆÎïÛ¥©CV#ë²lòg?aO¶o›ÓÔ ‚%2k1ð bÎQ=² ˆî¼—õ¾œÁršCä\ötëšØþÝÈøBü!›1¢,€F+‘]’#íOä°ï]º I<üÁ ²Ÿ°µú¬q Ðqì˧ã¸<9–Ó7$$3ܺëæþÀë˜òv=Gâýö7šûrÑ£ò8¥®ËU#—øI¹Ù¦A‘XH—(hŠ­äN¿øU\ž¼ŒÅµjRlÿÞ¤Ø~ ÀÀÀ ÀB‡ÈYO]ûŸ³ûÖÞs£¬òÍ«y¶½wÙšBL#T95ò»6ˆE^kÉէȃt dIðpN „ýsK:]öû¯-‰›r,øf§°'ïô;²F¼$([×îð†¤w£”• Ñé#‡é.Ôß\=}›¤*fÍ–ñ‹dºßrœ¨'p’ä»É©‰k‚Uº:Ãñö†´ »Ý”\Án¼§AN¢Ä¶Ð7Üž¸‘ý–„RÉÓz´îIÏ㣞œ8å3±9‰2:^U²Ó'¼FÞ†8¡K¨E@!6­¤Í5œ ( Û–—,çm¢´EýqfFFQåX`[é9<ñÒ—ðÊæÜœ_Æ¢š>½›_ÿÍ’‹­&PuË+\?pò£øêÅßüøÝÿä—©Ÿ#Rʨ÷¼á>œ=¾^ëi˜F›µÄ¥cìs°ìÏ!óö¿Ý_dÃìŒ:°Ï ¡ž1-«KEJœÊžU±Zß _*’5’;1xlYIt²TirÀ[/Å÷› Ç‚a#¸op‡Û†K7Â!lÔ<ûX”Ó²µé Ö{îÛßpÏÈRÖ`xÀ“ܺ[ÚS(gô— oÊÀ=ÛM°šȃzXÿêÝúåúÜ;áæ7?¾‘ÝùˆRêg™«€q¢[P“°–§ùôÿ8`±“Õ€"ÜÁ›—!j•=kg”N]s¯&*ûh;b\uf ,ÙÃÍ% •4pœHœŸ¡@ËÏ*AìR“‹MZ–f [Ùå²K¯ ÕëH¶×ǼÏö'¸nÝÝT„(ÅbÇzS¾znË*RjdIÍ0‡NdÃàp’œ'‹Íï•§U'…Ówèú·§ôYW+1^«ª V—ÍwËZH•d}+˜$·‰ýu½ôø éŹ¼.ö¯}¿`çR˜Ü5ËÔ_cÁ9Ê*G‰|QTùË‹rúð¤Øþ꼜\P´¸ Xó&Û*P{½ìÿ¡É¨’ M (уA­ÜQòAÞ `À0 EïèÖåÿpOåUÌ(¥ÖÌùPê-„¯¼þñí¬±.øVEÅÕ„Qí(êï3TP¨ª7+µíýê¯ø¥W%—Õì/¦ÅÎ7‹j±  l2«™(çÍ×¼ùûòVƒ‹B”"qóç@Ú|Mš@¥p(à_öZLs}F\kÔü{Íôúö{ýã;ü fS¢ùZ4w.¾¶—o±øûË~½2V´YTÛœ7Ì×[ªIDAT_‹æ³nф‰èÜlXk(_l`|mà6PÏ›knU¸•󳯼þñm&ô-;w>妭¾ ‚œëm³«E󙋯¥ä·XÚl¢Í¶t³Móg—÷Ý´H\£VÎϼþñúÇw°XlàBlÖ=ãû»1H—"h•"@³ VßI&¤œOýÿA–¡²÷õ õúÇÿÍ\‰Íúݬö»ÞÊùžõñ¨b%K–0 IEND®B`‚murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/sample/wordpress/README.rst0000664000175000017500000000137413656750211031246 0ustar zuulzuul00000000000000=============================================================== Build Murano Application Definition Archive from wordpress CSAR =============================================================== In order to build a Murano application definition archive from the wordpress CSAR and the corresponding logo and manifest files, from inside the wordpress folder run this command: 1. Download archive from https://github.com/openstack/heat-translator/raw/0.4.0/translator/tests/data/csar_single_instance_wordpress.zip 2. Rename it to 'csar.zip' 3. *zip csar_wordpress_murano_package.zip csar.zip logo.png manifest.yaml* The resulting file *csar_wordpress_murano_package.zip* is the application definition archive that can be imported into the Murano application catalog. murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/sample/hello_world/0000775000175000017500000000000013656750351030041 5ustar zuulzuul00000000000000murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/sample/hello_world/manifest.yaml0000664000175000017500000000043013656750211032523 0ustar zuulzuul00000000000000Author: OASIS TOSCA TC Description: Template for deploying a single server with predefined properties. Format: TOSCA.CSAR/1.1.0 FullName: io.murano.apps.generated.CsarHelloWorld Name: csar_hello_world Tags: - TOSCA-CSAR-generated Template: tosca_helloworld.yaml Type: Application murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/sample/hello_world/logo.png0000664000175000017500000026577413656750211031527 0ustar zuulzuul00000000000000‰PNG  IHDR,,y}Žu OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-ÛbKGDÿÿÿ ½§“ pHYsÄÄ•+tIMEß 9Îê IDATxÚì½wœeWu%¼ö¹÷…J]Õ9Tgµº¥Vw+K$!BÛ²M4áƒïóàÁ mì1Æ6Ã0€mŒ“,â'@„2åÔJsNÕÕ_º÷îùã¦}«zÕ-DKÔÑO¿î®zïÆsöY{íµ÷&Ç䘓crLŽÉ19&Ç䘓crLŽÉ19&Çä8¹µúÁÇnÛ‚ó¯[fýüóýtvÂ6D£P ôîF•±XP5~Vˆ’ÿKjÇyg'ò]&P(•ê(ˆ0¿cÚüN€FRpü•( ‘ýc¬§ÍãüœÆ?Ì„ÿBÎ~‘f%‹ÙÉ¿‚k’3Ÿ[¼>Î{0¾ÇÀDˆ@`a¬G¡4„šò¡㜬  -Y3õqÖB:=ï_‰5%ëµ’ü¬aÜS)¹Ïzò½@üÎPˆ¿[ }Õû÷?¯}íûÚé>þö/á|íÝ/œÁ’ãánž5¢9A#쌂È &3·0ÄGÈñ³f“vÂFç¾ €ˆô `öÀP''¡ \ÏX …š|æE¼ç㺇_åyZ™¥|³y¢Ç?ž¹ÈcHÎÿd07ˆP(ʦµø®ùWøŒÒsÐ8çãÖ6ƒ(djX¯6Ž ÝýÞO^Ÿ™Ú?xõGñå»?qbë©;¶áì×.¡a›­áôž[FM¶qc½e“Éœãñ±˜Y Ev?D±Ù0È~Fœî:ö‰ãgJMV‡øwrŽì*ï2~AÙ5Ë]g9&bñ—äøÙQ-ëÐüHãŸ#y&ɵ“öþíç&¯ˆÏ·ì³Ô|¸6ÿñÖ 3îñå¯ÙþYl¡? ʧ à(B1¢€6B4j!ª#Æè`uýÐÈà_ÿÍÞv‹¼Ïó†áÄÖ“·o;CytKð©õÑ£ƒUÔ*!”ŠšòÊSñ x1øa4ª Þ5Œêp ) Ôî£sj~A¡Xöá/Ÿ{ž¿.9÷»(q¿èEñ»_ÜÁ` bÔ+!µ†Õ0Ü_C½ 6ÚÀè`þá® _þÛgûªzžÇ¦±J)1müâ[ëqé§»uËÙÌtO£öŒÕQ®£ÜYÄì¥=˜ÞÛ…ö)E´÷Ä‹xrLŽÉ19Æ£ƒUT‡Þ9€½bÛÚè!j0Q£øÑ æ¾e*yå>säÞÁÔMÓ`ÕFbŠÿÁïo\Eü• Úè© ÖQ¯˜»l*–ž5ÓÚ ß:w;2¸M4ùv&Ç䘚}hŸRFû`Ú¼N,;oœqþp36<¸A#„"ÿ]Ë{.Ü{ptÛgŽî¬šFË2XW½{uü‰ß6Â3«£uÔFXvî,9{Šeßi 4”;i¬&Çä˜Â˜6ƒˆà<,;w6º¦—4"<ñ³Íˆ¢°¤ÈÏòž µìM9'1VÅÄT¶Áª…^½Ò¸¬2TGØ1wYϘnÞ¤û79&Çä˜Êjf7f-êÆŒù]ƒQNEœä§Ë"Ý«£5ŸÈ›Þ¨…ð =³ÛFjYMŽÉ19Z5V.eþ¬ÜYD[w "Dq0q¦b„˜x,ƒU¯äШP^SË–TÁe¬š]ÔKÿa7QÇÿFÎ<¼ôôŒ/Ê53¢ÊðÈ.p0ŒÆ¾ÛÀÁhü« ‚â’߃?ç5ycγ‘¡*†Žbx°ŠÁ¾QÜò•GõµÆŒ7¼ýôÌè@ïâièìn{IÍÍñl¡\ö <‡!Â(,'î` ,Ï2Xa#Sˆ0ˆeô¤š»‚òa¾ÔQGŒÑᶬ;€êh A! #„a¥|çßïÇžmGÐwx¾ç¡PòP,{Ù¯fhzÓs{ãÍ-b0žRxôÞ øÇo¾ žç^¨Ï?¾ ›ŸÛrGQûy2žÁÈPuÜkÞºþ ¾kî»õ VâëR …¢‡b±œe§ó8uï™ÃáÐþþ8i? %÷ÿd>ò©7£{z{k-Apø!ù`ÏÉ4væøß^PìizˆGîÝŒŸ~û‰ éqr‘¤ñyÒxú£¶Ž"¶o<ˆo~öçøÀ_½î%áŽg#Æø½J,Y³<âŠü,Qž™¡”9½TU16¬ÝƒÿøÔ]ؾé@ìê)…R¹`V ‘jž=Ðeyx¬` Ÿúðÿ·¼ç\òº•èì.÷õ5ê~øµ‡F/v¢l!h“€_ Œ V±{kNY9û¸9žŸ}÷)|áKJÅ‚f¨µÒA,Þ7ÄO òg†ú #4‘&ž¯à”†®˜¥"x¾‚òÆF‚O=°ŸþèP­ð}•¸Å*»®8ß!¿áøùyž{»j 4‚G#–]Ø÷(¢ç¥¬ ”¸„Dˆü¦k¦ÿȪ£5”ÛŠÉã#‘TOYݯÉ0°cËÁ“ÞËVX¿'S½Y5¤å²8Êô‹iW~ y¢—ª×ÜúÇð¥º[ÖíG¡àC)•_{² GQW…Œ¤kÿ<®ƒ•?+¥bndx°Šýøñ…ÿy;î8îkܽµûvôA)¥–)íŠUKÜ{ wÿp-Â0:®ó=~ÿV|î¯oC±ì¡PLøœdQ0sü,8B2¢0ÿ38"Žqfõ”(y®-âu˜ÐAþü;ñù¿ù1õÅ¢£PñŒ8Šâr@Q¤]s&åM’ûB”»ûŠšzmcì~ pd7ÁÈK–0Çef8ª‚îù@ ¬¹`1V·8¾®È|œ½‹H Nõà¤FWšçfªæR©æÇlêGü?ªÒpA½“Ùh…A„›?w?¾ÿ¥Pn+ ­½ˆ´'µ‹â‰ßG[[óOÇÌ9ݬbï®>ëF„ñ.­„⟞Oè˜RÆý?}•Jïÿ‹k0cNׄÑßã?ߌ{ŽÅ0HÖ2«6ÅÿRa˳ûp`W?z—LŸÐùïÄ­ÿùJm~ŒæŒÚIA#¡gz'νtYL²{ A¡ÿÈ06®Ý‹Z­Žzµ p©m¬ãÜKOÁ‡ÿé͘5ojâ'dn6iã¼uÝÚ7Ðòu>õà6Da”‘û铬U,^>—½n E?þŒ¸‡bÉǾú0ölïkÍ ×Qih;4 wpñòY­G˒ÎèÄò3{ñš·œ2Z'±@ bj>?øêÃð}/: çS«4pÊʹNc5Öð z¦w`ùš^œ{ÙR´u'º$s¼ÎùÂátW €Š=¨=÷iÔ·ÿ'¢¡-‡MQHGW «Î[ˆßôV¼÷ÃWCù*æ'9A/•J·­+i[(%ù8 VºQ¤ÃL`Lÿw¹‹'ÒÚ»ã(ž|G.ò$ÎÜ©˜˜–¬˜«ëì–‘œ²j.^ó¦sàûd÷J Á+OaãÓ{ðè½›4¢¾Ù8vd?¾ù1xEÏRÖ+ ¼í®À{>úZ\~Ý4êVÓ>~Œ¶Ü"÷!¢0rúĄ V‘¥Vž¥ÙÌ`Lss|aÆš8áEpB[øÞ¯£ò-e»$~‰ð (Ì» m+ßÒŠw#8ô *Oü)[¾Ô÷¹2§ÎèÀe×wýñUhë(!¤5½D|Áf‰ÎãRHcЙMß01½ úëëžÜ…mÂ/xÖ*‰¢míE\ñ†5Çá —^»3çMÍÄ”rç#”OxèÎõ¨ ß ñÛÿö xå.Z2êµç_¾<ã§–­œƒ ˆr×)iZP(ù¸ó–µè;8ØÒµ—Ê>ü‚§s’â÷v÷£^ ^ôÅ?Ö"öÅ„tÒÊH^x±äcÿî~4êá‹zÅ¢ý°˜L„Ò)oEyÕ‡QXô»(.ÿÚÎûJËß‹£;×ãé[>‡‡¿÷ ;t •Ѻó®Kå.zÍi8ÿ²SQsxz’£,—ñrê;eqâ.!gRVŒÓÉ肾CYêŠ|6”¸rÓçtá¢×œv\‡ïžÖŽ _µ"Þ¢(®‰‹øžÂžm}8¼l#22\ÃÚ‡·Å‘&û™A#ÂigÍG{GlPO;{>Vž½a˜û´œÄÁkµ:vo;ÜÒµ—Û ð‹zAÆ”v!„¿yÿ·°W?jÕ^  ¯wŠÉ"P¥)(,ú-P!Si:üy¯Ç#;¯Ç—¿17}~>òޝáƒ7|·ûI öZÇoï,á-ï¹óO™Kl˜_JöJS¸Ý@¸Vª%„Eäèõ—»|æE˜¿;Ʊ¾Üþí'Q, €5c®aö¼é'”øª7œÏS™Û§‘ÁŒŽÖ°Oÿ˜ÇØôô^TFjš§v0–1¯|Íé™Ñ6³ §¬œ›”™ëžH ¾ö™{12ÔZËë+®_£¿+!„Š¢?üÚCø³ßû2ÞÿúÏãÓþ#l[wûwEß¡aŒ UÁ¿à ¬9«<…y‹§Ãó•uÝD„z=À–u{ñ¡ßº ï¾ê³øÑ×ÅÆ§÷bßÎ~ôBe´Þ’{~Ü×Oæh;çï­¨`16?÷ß½14ZÂ@ƒÇFqÓ'oÇÿö—œ›Û¬ÞnÌ[0CG%/Ö]rÛÒ6Œ nÆxEþD¾5–ŽâdÔbõE…‰Óˆx‚¡”‡•ç.8¡sLŸÝ•a‰eˆ‚ ŽÊHó4“0ˆð/þa+¼exž2Û6B¹ÍÏh€ôz¾BFªâá{ÖãÁ;×Aù„r[ óÏÄׯBç”N]Õ‹)ÓÚÛðË~yã1§Ù‹ó.;Þ»TÔƒñˆ C£ÞÀ×?sw,ÅP¯àã’׮dz0uf'fÏŸŠùK¦¿ ìYÛÆx—Wl‡ê´Ÿÿþ]ýøÒ'†÷¢X*$Aòãg=80‚Ÿ}÷ ¼å½— Ü¦,μp žyt;êµF¬Ò‰d–Hž»§åâ°ŽÃ`Ÿ%=™Æð`AemȲ$Ž—ç+Ì_<ý„ÎQ(z¹æÑlX‰8Ùö¹GwâÊëÏt~ÿ©¶áÈþA¡¶Ï—A±ä㢫N·òçÌŸŠÎîv ŒÂ/ø9"£X‹ôËÛ×c͋ǭv0{~Þþ߮—ÿùNl߸í]eMœJDð|/sO• bÔ*ul]¿›žÛ pú9‹0cVN9c.½ö tu·µ¾Ò墽©qÝð+¯_ƒuïÆðP%ØŠä{ÄH“½øýrÄI×á÷Þö î½5®@2wþT,;c.º§và o¿0Nz>!tÈ ïΠòTÀï°îuÓ³û°é™½±1’H<¹yßóðÐ]pÙµ«°p™.¿¸è5+pó¿Ý‡Zõ¥×•ªYŠãAXª•×1–5wÉïOë?Æ‚çr£ZµE¢á˼¨$¿Á"'jëß'‹õïè(ÇI¸ ¾¢0±Ã#'|žÑájÓÅEŒ³»œ°÷ù'vá‘û6ÅjfíYF¨WøàǯozÎùK¦cùš^Ô* ]ÏD1r{öñ¨ŒÔZ¾‡Y½Ýø›ÿ=ü÷ÿs#V¿ËVÎÃìy=h!ª•:QåUŒI•mVŠà¾óÅpß­Ï9Âñ®IÉǵgÌ鸟üú;qÅuk°|U/fÎé‰Sƒ*uÔk8ŠbÃHlŸrTZ,xøÉ·ÃOo~bÌkÓ‹I]žÆ˜k#Y¸tººÛE¡a«Î[„ó.]f׿àÎaÅË|0šFxýV¾=Vœ¬'Ûèè.geZù€Rœˆ!öîìDz5sO€»ÂF(’^“7¨‡xÅ•¶[W«4ðàëãèé/+hD8í̘·dÚ˜[ÐyÏ+ñÄ[D) ø] ¹{®Û…XqæÄŠ ®8»ùùßA£âо‹–Ï3£QqÍçâXßöï<ŠïéAØÛ¶öbVÿŒ³byñ»+·ùøÖç~ö--ä.Cò/® ÜÆEÚ'Km\ý–sPj+সA#@{g JÅE#?ô‰0wáTë ‡÷ ¢ïРÁýúƒ8(áxõÜO£5cN'®zÓYøÉ·C{§—ª4¥˜D!öí:|Bçxþ‰=±t‚ìΣÜVÄìÞ •íØtzshbÓŒ‚ÂégÏ·ÎUm`ËóûcFŽõ cÙFfŒÀ¦<ÂöM‡pxßfÎë>¡{TŠâ2ÂK¦¡wÉ4œuÑR\ñÆ5Ø·½7}òìÛy$+‡bº‰#ÃIàÃJÐÉ HòK>–¬ˆ‘ÒY¯X‚K¯={¶Áw¬ÇíßyÅR^i)Ž{;·F½Ú@±\˜Àê’\n •'ÿ;:/þ¨CG—Ýe\ó;çâ‚Ë—cûúƒ¸÷¶gñ‹ÛŸC¹£ˆR[QA‰ène¤†oýëýؽíü‚zÉVø¨KH/´Áj&µ?™F¡è£gFGNL‹’Ï*ùÞ Û7œ ÇO¿õ8à ªs¢vNõ@³ævcÎ}ׯzýê$ù›AZ1ʘü[,•Li ñý8(Iˆ†÷¡¶î³ˆFv4ý~©\À¬Þn|ìÿ¼{Ó[±mý~Üô?×ÿé.|ù“wà_}í¥¬.ÖËßÄñé°˜É"Ý%¹>Ñ~2®gÎÃʳ¢^ ²ê©éŽH‰Ûðôn<õË­:n­ÒÀ]·¬ÅÈpU<‡\>EŒEËfâìW,Õ8¬ÊH÷üàix¾uÀ£±dÅ,v ½»°îÉ]Y!JË7g‡½=ù¾ÂèP ?ýö“Öñ¢ˆ1ÝßÂ}âÕ&ðTÌ|¡“É=lk/âÕ7œ…Y½Ýq‡ƒµ$OáXß¾ôOwâÙGw¶tÌÑ¡*þíïnÇÓl‹[p™ã:ð O™…%§ÍÖ6ÄCûŽáØÑaä_ËLDQ„‹g8•âŸþèQ(ùÃA! âåqòHk‘ÅTœ_·ñ™=¡ÅK}î¯nÃÞð/xúáyšÏÇá½®9»ãDcÚ¬®æî Ãhð1öÃÿø'?À{_÷9Üùý§12x|wÏö>Üó£§­r4© ³³«å–ø+½‚—¬œÉ™è«„hxFûFxÂg¨6âòqñÕ+ñ~mlµ„}Y‚¿‘ÃoyÓl‘Ï:ÙŒ)Š3çañòÙXûàVÀS‰€PORî;8€þð-xë¯ÀWœŠr[~ÁË:…F„Ý[ãóýcØ{4îÆÄ¤†gÞ¢é¸ñ—¡(ša·~ã1 Tàyv¹›žéxõ›Ï´äaá†w^ˆ{o}&N;ἓ 3Ш‡Ø¿ë(†+0e(Ê#Ü{ {¶÷añòYºá©áÐÞcø»?ü|ßÃ57žK®> Sgv¡XôPj+ÆÕOIWï33 ÂÁ½øì_ÞŠáÁгþ•ïÇ\7Nª‰4g®¡ÿð¾ð‰Ÿà+ÿëNÜøþWaùêy˜ÕÛ×Õïjƒ¢´æ¾>Ÿ£0ľý¸÷‡ÏàXÿ0ŠE_» "B£ÞÀ’sZ.äÇòF/K¸'ˆêŽ>ྷ¡¸àZ½ Þôs˜Á/(œuÑ‹¥¤‹•Ò+š¢µê/iu<²†V†i N6¾Ü^Äÿó±kðÙÿq+ž~xJåbÞA)íòâ)T+5|éïÀ-_yËW÷bÉŠ9˜6³•Ñvo9‚ÍÏïÅž}hÔ‰º[VHŒ ×z-@ïâéxßÇ^‡¹‹t²uÿî~l[¿?ÓýÈ…¦Í˜‚Yóìvž¯pñÕ§ãâ«Ooz?þæã¸ù_Ž0ˆ²Žèñ‚Qرñ ¿ -›©ÏS(”ü¤¦}ˆ~õ!üøæGQ,ù˜·h:μp ººÛÐÕ݆rGž§Ð¨‡ªáÀî£xò­Ø»#^IÂ#Ƽ…ÓpÉÕ+›ç4 ˜[´\ž§P(ú3‚z€¯üó(–|Ë>J¥"®xãtvµ£«§„öÎRÜ4£bd¸†C{pÛÍÆÀ,ù8‹ï#F½árå¼—´ Iß0 ¼ˆ"D˜<ÔwýõÝ·¡¼úÏP\ê–Ìš×s/^ŠîZ‡¶¤´Æï½Ì-Ö„…£®|§ñÐÕÉ<¦ÎìÀû>ö:|í߃îX‡öÎbŒž(7Z¾ï! #ôăñðÝòÎÏBË•7>73ª•:–­ìÅïÿá«°âÌ^ •¬{b7vm=œ¹Hr>‡Aˆ+oXÓR‰f×xíoŸïÞô‚F-_‚Éñ Eݹ—¿~fÌ¢ Ž ãyʇ_ˆy±Z¥íöcëºXBAI Nº™aGFý‚oÿ A„K¯]¥UškgL“·[­˜JJ¡à) >Â(B½ ^ pË<E*Ë#Ç5ï9b„a¿àÅrÙï yüñíµvÍ© ™¹„â&2‚\4ÉÈŒ˜ÚAQˆêúGaá›A¾;ñúUׯÆ=·=¬40[›Äã¢×—Û¿€ß8f«Yñdsôà=þZÜðŽ‹Pm QÀa¤Ý¢òâ6K…‚—åš)àùñÏ}ß3Œ4#BÔkV·ïûØÕXuÁ"Ë­«UìÜ|H릫0BgWλô”ã¾·BÁÃÛ>xE’ÈÚñ=_aÛ†ýؽíˆ~M£ 0æö’ˆ¥ç)øI’p©ì£Pô×—,Áó)ûÉ4${ 2\Çy÷+ñš7Ÿ-*½6'X³²ÂŸJ¨U“kŽ¢$á9^´~Á‹›À–bW>ÝTHÅ|ç{(•ãÄgqcƬ2ZÇUo:oyÏÅãV¹ÈÐ^Ϩ®e‰•ÍnBƒ¹Î‹„Þ,nú:^šY$Þr^‘BGWÛËÒ05›ã¾™ñŒO³âÉ:¦ÍìÄ[?x9>þÅ·bþÒ™(–}4!Â4ã_Á±2áp'ЦQº " SºÛqî%§âO>y–1×¹ëíÜxw|ïIø>% YóÿëÕœ2 ÓçœXåˆ5.‚§<„a¨?}‡ëžØFRE! ×þÞy˜6³ å¶" Šï'ŒbxBøf•„éÿTÙïÒg?‚ò<¼÷£Wãõ¿{>¦Lm¾˜8ŒIù(”Ï‚sCä@ZJ®ûù˜ÒÓŽR©ŽÒàC¨' S^[Ÿ´Þ~”]wÄ1ª ƒ¥¶®¸îL¼óO_=±ÆåYðÚçÇŵ‰#:$?'YC; D(¯þcÀo~¾££YáÆ´ZÚO)h„(”|¼ï£W¿ ýÁæH{ÌFª¦ñ«>ó„êÝüšG¡èaõ‹ð÷_y;6?··|å!ô‘ƒƒ¨×q%MÊW$»*3Ã/øèžÖ¹‹¦aJO;Þñ¡WcúìÎ1Ϲuýþ¤ö¸NæF!cÆœv¼çÏ_sânï¬.¬ óM;áûñ}…ÿú·×áÉ_nsä!êµí]eÍýíì.cÕ‹°ê‚E‚ƒýŒé³»0¥§=qc¬­½„ó/?]=m-‡Ûßþß.ÇÊsèÝ›Ù:wþ´¦ˆ¾TöqÍçàœƒ0Œ°o{?6=³•Jõz€  Hc£IšN!qu‹¥ÊmEœqîBÌYØ3¡nI6Êš‹¶sþõíßE8´QÿÓ=žæú³¯z€BþÌ ¡¦¬©æOúG¡”ÂìyÓµ¾ g]¼¥¶νtN;³wÜ|Ó—½ûÜnë.¨Ò±F-@¹«„?øÔåN#ôrÍgJ5T©t`°]=íY˜\)zyçq™ÆCSG‡k(–|øi:Cîpr½ÃÄõ ã–`žJ¥¿¢kæ ‚kGœ„Œ*ͼ’¤Ëq4"Ú7OiEqÐ3£…„£{¹jµŠ¯âgøÑWïÁÑÚ>ìÝø½ƒÏ~@@?€¡ãÖa½\-Ä®5mV~SQÎã@WOÛKèÆû±ç¿X'U BOŒ¢^€áæ-šŠßÜÉ×Ì s¶NŽÉ19&Ç‹o¬&\q”N¸:Ñ䘓cr{ÝÜÃkްxÒ\MŽÉ19~MîàÄ]B~ÙWa“cr¼´Æåe&Î䘓ã×ã¢U—ÓoI¾M’ï“crLŽa”ËÅ\'®6LçÐw¸QêB6à_ÿö'¨Ö_ ž€I7srLŽÉáAPGßÞ>ø¾ê b¶L†C¥¢Bæ´lcíÛ04Xžãjyórö1Ò„³\®ìß%“?¡¦G…v ý˜¦a¤&?%pÓ£ëW#ï×þÛ䘓ㅄˆt÷øY $"e ÿ4ƒõïþ ªt­JZˆ{”eä§MÅIÕ ™•NœWEÌ>ð+u§ßQ† Qã\%?Q€Ó´Á0œYuíÌ꟔Ÿ&Q$@ÿNfÈPLšÁSM*XèÆÌm<'†;íã¼fÒOŽ_¯É2¼8òˆfJ‡õç_zk¶Œ³ÄwN3ÄÉ1­ÉX_”ðe¹ «ï²,»‘Vi¤|Á3;2±Hü§›'2ŽËÚÙØi(MôdžÑÉí53ÄIÚ£ŽÏ§ç^²Ó0Œý ´ì€Ó„ÌÑØŸç$W_bjñ,ô]õ$wú›<˜Äì'Æ*ˆÆ¨é®/'2µÖŽ›š#Ítã3iÝ3ûÀ2C¹ûI–qÑ[æmX+~Mrn˜³’ÒðèåT¤ÑÔш,YK…@o¶ÁhFùñ-8=,d¨ÿÛXæ”Öh"˶ßWŽI‰a\9[[A“ö#†¦qŒµlNÇ>/4¼Oãš<×´Òq›M:L/Èñ踌>çý¾ð@Ÿ9B„!‡åa5Æ5XæÕ³lôe«N."v:9d·t"ûólLrö‡|•imeG_Ó€6›F3bqÏöb”eÉ@J¬35Jº#-K$éˆ/=bÚ™˜ÄóÔ gÖirpbv2ÍŒgÕ4a˜-×6F–¹”fœà¨ób\ ;ŽÅÖ1mí£nׯ¡3Ò6^}®Šë&m7YÐä4ÄlÌ/r`qÛt’ôÈþŒ>cõòËädwÍ÷4¶9& šˆ{&ÇVBØnô œUµE#5V™k¨Z5{W–;90œ“Eû7é†DÎ8rqU²œ-»_¨ö/vPñÒiü=+m5¨O}ÒËkfãùXF3P³ýTŸœd2Ú¡·ñ-iŽ*î¶h//Ž“Ò¤q¢€Ÿ“…i¢ÌÕ'Òµ°ìa¡_ašI:é¤md,z£’ÃÜ’µmeA6Ÿ¡M/ó8Ш µÃJñ&̇š[fýYjÄEN¿è&×Í»¶)¡[µ’bŽ5ÏÀMM²ë3Íp q„!!a½ À(€zb°Â Ô¨àäE²¾ƒ’\}Íâ…KOÂd²³¶ Ìž{Üš½Ï®”ÄÎN²ç¢ÆÌ%ÏnDÒÔØ™F—Èr½8§ê,SN&5H¦_ïp¼ w<¿_‚è 團Úô3 #7ƒÙÖ÷ówœŸ/9›»5e GÍ N¢›K¼ÅfìV^‡Í8’†1\‡-3”ºèéDš $ÇbÅÄÉEcä¼®ë04i«†5§Æ]±°Ù@ò¤]©qÉ2¹6t‘=äÜxH{¦:ãÜ ˜I¯0âsWµÄ`…é>&¡M¸üñsR蘵}Ñ6WÒb“u"’."çPŒHþ½?bCéTôJiyÚt*°Á|q˜NYî‹ÓØ Ò5‹–eVÄ$6¬…ÝM2»62w*Ã2± íŠRÖ%’ÍŒåÅu8˜¹ãÎ%”=g3 UÃáÜ„žÏ®K51ÄæróÃZ\n~³ç•·’ÐyÕ4ˆärvØâíõÂN3™£Õñ¸#"4™_&šó•v0¶Ÿ±Á–²æ€Ûh¸:†Fþ†·Ù ºéMÊØÁÄÆ×q̳8Pnák þœ|€Í¯èì΀éÄ.ém‰2yD-H…¯Ô„}I(çËÉb"Ãп/`^÷;qi˜œ‰ë`¸YÒ®—¬Šw•Þ¿q 2|jÐÙÝ7ý]úÜÈp²¥g $°éê“£µp"WIHÄÔ0l¤ 0”µÑqîÄhhî’DyÆE3ÙÛç›TÏ燔׌Om&œíMŽÅ+µN2¶W¶9'rÜ› ÇÁ¦ØHMç=Mcž­-‹gK=Óm7™I‹¿¤ØPÓP Y¬*F‹‘D+‰±bÜéNXü9$9PÁX6š\7bï§pø.Fl@nѱMHgÓÀZàˆLæ'繜œ•T™s=[¾¹’FˆkÎ ³ÒËïëT³ NÙbRÜP2KžE² Ô‚ŽDD¥8Å>l¾üB|8ÂqŽŒR ’\†ËIÑu9n¢°L†kÍ.øå¾Æ”km5ãÆ¦[C‚‹qŧ[æ]ø©D©$‚!‡§AŽû°usî–j†VÛ É˜Þ”€*%~hò'Ë&P ›†XÆL’yGšU5¯íÚ³ 02 »0˜íd<)8‹lÄ•='6(tÊQ2³\ï‚&!‡7yÏH8bâf dY»Ë:² ™Ø^?®ÐÎøT¡[g‹‡Éã3é@ãO“BŸ# iÔÉŠ‘Í“I„D†¿gì2ò“¯ÙNîp3,ÿÍb}±Šu }ƒ³s°xäÒBÃ-AÞKõý\r_йÉEÙIÎÜq‰ÉO¦ž‚s©…BHèô¨¡ý‘š:Ò«t µwÊùó#vEÜÌ€…t97HlKk,w–Mœê¢ÃM/ŒôµÌÄd a6бIèSƒ´ €Û÷É ‹àËgLÂ;0iè@L2°M±[¯Ä2XqX?N@¦ež-Bˆäθ±ä XÀÝ|ç‘ÎͰîòkÊs音>ѥǑ£Ÿ4©Úá7#_l$^ŒéhA¬I²%âI¸Û…"RªÏÒH7{™&sŸ¡ãÈDM ™Í)å†Ã¡¡a·°ÏÒÁ¥$©S–Aú{'-z¦i$òÕÈBaã¡;xÑÌ8khQFII§4®…ܲ›µ0Ž›JF¤wDF°Ázv¤“ÞÙœc]¸kn",^#Yޝ¢JçTþœD„“MœtK$® ~‹š˜db²?Ë}›Ž0·žÔ"Ââü³HjNÈKÍ;g—¸ŒuË9Ÿ‘Âaf!:#WxWNVÒÀ5K³Ïòó’2ëV\®—4ßNDSð@ò9ÛX™Ò–â)¡nx…¹$ÀÞêØÊ±!q/Õ8«Ìճʊ˜°AW°¥)Ð#ôF`š´#}þ ³~ ² ‹rç¤Ç@² Xêî³+²3qÒ=;Üê1AÏúÃÖÜ&IÒdxs±UèP"® EëJI4Ï M¯sW)õÁºô í»$'FÅ¢Œ·®“‘9™¡=À@‚¿ Œ7!1 Yð;F¢87#÷ICœ²´¥3P&içn²H¥Ä&A›,Ö‚æWÙ¿×cTÂþ‰Êã•iuɤÁtØGBiaè<Ñø½ ü±Hwf;l›†¤I™ŸÂR A™ôŸÒäY37“ua[Ž8$¤bgz:±]‰Ug6Bâšê-ÿš;mþboᘬNefüLÌPšcNl—EamaA\ʾÀ&r¶ê܄܄Xr’2òÎMD¹¦;&å(d¤óJ×ΨL!Û˜h‘(²]VÓ`!.Ír…Ò ‚ó’¼V†>åâ¹Q–q¶bŽ3[‘VfSsÆz5]††þeª‹g¤&ÎiS¨œ_>‘rΨ ©-N—ÃD€ zš–K±¦Iû;Ä÷Ä5f?bÃ-39f“¢Õ¹22”²||Vn=³r»Ò_G~cdв¡'ý¦ ’2ñ•jye‚ûbWê >YH r£E!dMa ÑëÈ(s³ÎJ_hMä,Ý4v¨Â’1ƒ¥rjZ IDATšžFg"-üºWEÒ°°#L]œx餗G7I"7+¾HÃ-sÀ8GRŽÄ?‘z¢ÿŽÄ# ŸL&‰Îº{l êÉò(¯|š.>‡$‡".†ÉÞœX¯Ô!Ý^269©Ô¢Šd <²—'kIÔœ”­¦<Ÿ7 °žì-îãÈ/‹Í€E…2@5 ¶ ŸÿÄ"3 áô‚“6’Hß0ØÒ%åŒú`Q‘£µ¦Í-Gã à´R'«Ì’§¹cfpŠ¡òÆô§9©?Ćúî™…ÝI¢!ðѦ¼ »Š¦"N&GA[v¨sÍbwlÈ(X¸2Âe¼(-.œ*Òcd¶›õô²Ô¤»ÁdSÐ`}±‘¨DF”ósÑÏF„Oä$j÷æ@v,¬§pûsWÄPšé/ške¨ÛÙ&Éaˆ”aÊJHŸÔ®:PÊ<Ð< –IË6ÉO”Q¥Ý›6wYÐ鞉?DE wY¸ d뙲5be‹èÚ2Y˜Q¾³”,gKBÄ2è+(Ö¤HdÔ=Í<G¦å ·j°¤Ü€rtƒ|3¶†,Ò R,È•ëÇ9§Âf¶•j‚à|ñ’V@L— ЃÐ9¹8Èâé”.¸d½ð Ì éÊh³>|üY¥£~"-Lti^¯Ž ÉjûÀ9¯ÄœGg™sQ««R«¼ß”ʃ2´B2+`†™Èœ _õÒ/¬éìR¤Íz-pb-eQÓБ(4ˆü™j†“Is-MÕ;‰—)“†µ÷l2YVšìL"Ý8Y†ßä¡Eàr¯ÁÜ ©!“¥Åʹ&%"ÒzÊF󹌅L®šÅ{— ï’.`#bkHjdÕ ÉÓ (Ýaº¬A;2]%vÔî1…;zµ3#2áªviÔT‚*ÑÙr3†éJaáÆhêev?è$é–HsÄâ“!KO1¢…1OBz‚² ‡³œHIšÕuˆŒ¸‡@ªÂec6Uãbñ³C#Ť&O&½X–òÅ#É̹¦EA·Ã0ª2I™Y<#Éë\žMä¼”¡ýâ¼8É*dŠ„IÛµ4gb­Ù°\±¹êŸóŠ£Z9ë\“˜½KIáf¨†µJ¹¦ñ!KCqgˆ>Í&Ìñ§3 m¶ê+É(”#j™¬Uj¨öÅc+H'Mj 9€ÆWé‘E~'é³›1³$ Y/dËÄ$^6ÛÕ&RÕ<ɾ%0È%†l†mâ^##ùsQ©ŽjL±c†ÊŒbtYI7ʯEVI ×"'ÓÚ±È%#È!Å’29žÙ¨‚®6Šütæ”z•»Llëdµê¥F!J”/lJéÙ‘”lD5ÕUVE¸Œšú[–/„³Áûµq5)ØÈl¼MÖe8¹¸Àz AZY€ôg”F«¦]£LD,ÌRй¹1^ Ìc²¶QÂÌ%Ãiš<0b¼èQ\¹yšÁr”9ËÏ© ½õ28Èd;ä(좙d«:2"ÙÄÍ3ÖZRº;Ãڦ—Œ¶TÔäsf‡Y‰HKÖ´¶¸áI²UX.³kŒT [ñ#íaYµÓ…"“Ñ7ˆ"GÙ[³¡|÷aMc‚ÖOl–&2Ë‚'2ôCFNŽl–š WóÝMj{X'ü%d•MÊoº>Ò½ ¶‹çkõÑIDå2í”N³†ÝÀÓ̦ÐKXÉžzŸHÒúl!o;¹Y“_¹õŽb¾°XðzI"ÖPyµ2ÝJ7dyLºß•e?h¹ £À‡¥­“×&!R»FN‘8é/Aæ‘‘^ÄBjšvžéîRð²ÛWs鞥–J ßkɯ"¥I+Ú¬Y“HZÕ É$ÒÌú%Ž¢˜.2ë\7)æo¦£Àèè¬"ê‚’^øÐª¸a–쑺6g£š¦h’­9„Y²ÇíŠê}t=$ù-#¯Zè¦AFSÊe‘¬E²Œ¢s†KN ΆH’Œw­å$ C Ñc]‚Fz±;2jâ3td ½X’®š[È$¥6z…F¼;êÝËÆ¬#4–™†,È dä’e@XÓ®’vM#gv_r¦éI¡8~ƒ%PKyÉŠˆöÜ&Ñ8ßÅX¤$sNV}ì¼çŸ^§Š¥!4S!Œ\Hs=iu®yl5ˆ¬án‡”S¨©+mD@l»dƒ$д[Ù»Q0ЬìPó®ÜÐIÎ]YEö 5Ž×¢J$”ÌzDÙÔ¯IÊÁaêß,F(˲dr Çe·{Óû$ƒ%ïh )Å0Üx=¢ Ý6RerÔ&ž³Áé8€\†LªÓs©AªíÅw¤‘e8e†ûfÔGÓôͦ0YfK˜í%Ù–6X‹½á¨±éäZôœŽ²´•»AÛ›«™1¡=½+´Œ¾d¤0VzYÓXÉN²„ˆY!ÑØi’ÅÇ-dËÄZt)'8EøIvO¡<õÓlá,ªd Ú–ÈžôIoÔk’®kd²0Ñ©\õ\š>ŒUî’«9ºÁùˆH•–Ûh†‰²ç˜7p’ac%ª%è³®w“sIÉÅ] z‹ ‰z»zƒf ŒóÊß»ÊèØÇ°7L"·ÿIìðIu‘‚îUÈȹ&Êè°Ì“Ñ:»³Û…5b]¶|b]ò º°ç›””,Hý€þ¬d¡H>.ƒ% wÁ‘Qö¦†‰àhßi êØQ ÂÔf±^ MCJß• ƒfÊ ,èc4Иn´^¡Áxñ\u5ó’"cT‘  ±ê©Ìz½ð,5Â¥s‚1ù †ócr2œ¡5&cÃ!³Bn€ÉÜ0̆­‚¹Ö>Í©T$³Î·iqØÌ ýf˜›føS^†OGÇZˆXŸ£¹¨Vps†®‰4>Œêw&Ãy1 ’T£ä\˜ŽV91ØÍúªZ©5fCÑÎIQóœ-rLwõ¤rðÒl”02¤4d6E!ÃàÛ6€Ž[8š +†)h4$ ÐC¬Íº›¨Çš*š­6î$ˆYMm¸2df00®à“Í!¥°“<•«e$™E«ØeÙH›X2ŠHlwÒ$ìVAk;+¡öwssìtEõÞ$²U™ÖqQœÌt£µZ_¨`=M…]ì&kLÛk]ˆÜ¶êº!$W+6ºGRÎÙÉÚQ MAOœfˆßÈÐ#¡7#£ÍËFl$äË…æ’IKšÖÒ­ÌZbŽ2Æ–ç¢MC]y.;ï0;æ²Á çú:Ãk“èÒ@×di% /GÛ8H—AelEéž¶2wëÎâ™Z-(Öº:KM¯α½â³‚cVƹ(ÍË’é;¾„úz#i=u„ÍíNÖj´x.Ê+Nj!bÛ=&ƒ›`Mi«kŒ¬ËÇ'GµS"Ø… M ‘#´mlF®'¹Ú|i!@—øVJlÒX;“ÕlÖ¬k.Ÿ­ÕÒœõ>€–1Ñ|æÄˆ0kjj) Öƒ"²Ž»Ã¤¾¨YÔÖ×{¬°]ƒŸD®“±©É‚}rcEÅý3Ë’ÏBmlþŒ<Û@Óà /´kÎ꺭,×–ÉzgZaJCwgÅÉY/ùE’>lÇc±ÆUº“£ez¦v–UMÙº¬CnZAå´Ö B¼Yw“kÙ.K­qf‹™ô)/CùZ—Ó­Ë.ƒ,=ÃèTkœ•ˆF„(Š÷‚ˆÉé+ÅBEð2WÛ®se_»_λ9ÂÞÙä6ø™Ì½#{W\qúüa¨’CàÈ%í x* ˆ¡’'SYzÙËÕgã}ÈZVvW%ru)é0 ãùPÊ–‘ž ’y/8"„ɣȮ"驸—žb@E‚Ó ?5ëæÃâä‚&][HdÐ&F¦ÉÝH½ÐžäLÙŽù¤v±MÖSwÌŒƒG%›r­,4ôB 'Lº“).1VÈD&¬dpÞ¤ D¡I}\8soÜ‚q•&}|“ËŽà„1#[@ã"¨­èž®C…0Tð½ófCïì£ 0fÏ@©ÔÐ&óàp}ý]¨7<ì98 }ý]I·l†¢0K¸&;‰G›H ™EMyó‡²:³é’McÂH!ºÚk˜3ã(fLBÁ1wÖ1(i÷6R)âpß„¡Â®ÓÐ×߉FèÃWQž^£ñP"OÚ\D -凅a£s“ˆ@OÑ1DvX6/@(4B…)UÌœ:ˆ9ÓÑÙQÅ´žáœpÐö˜–ÝßÑþ.„¬àyEÉyT¦‡Ó}“|ƒÉjÁ²”­°!Žmö,kÅ™ÞJªòŒœóì™D¡ÊŽÈ ¦ž O…FÁ檥Ê++]»²9l‚;h7V_ã¬Èìô"ŒFyX±xÊÉ‚¤f~å¸j¼þ‰ }ç;t´ ûM…";¢¢/É÷.ƒð<Æ…glÁ²…‡0of?ÚÊõ왋<¹¨‡ZÃ3¡Ú(`Ýv`Û®98Ü7Ž,™Ï…ÙîAܤ}ôÂt`1v¶Ô ^ŠÞ"B¹\ÇiKöcÕ©{Ñ;»…Bˆ¢@)F©Ø°PD*Ô>˜ •zÛ÷Ûövcß8p¸AP% [w+Ùs´ —‘Õ>l‡ÅTy°–¯šº$E?ÀªÓ÷âŒe{0w抅JÅž¡P ”N¨Ô ñ»«°y7cóŽÙØ{p!™¥BK@™"ÃÌH‘”vp‰ ß’f°ÉÒöéU-ÒûTcéüƒèl¯%4LÔ‘'®Û6Aè ¾7ÊË9¥Ï’ Hf€u~P—º°k[…ÙC’×`)‹uÈ çž±+—íÑj“Ÿ¬ÃSn»ïLìÜ×B!ŠuSZ±<+§‘¹,—ýsf à¬Ów┇0½gí5x^¤åA¹žKÁÑÖ–ûÔ% ZƒûñÔ¦çñØó³qàÀ ¡”Wÿ9;k2Fd¦‰Vš¡ïØ À÷CLëÁ…k¶`Ùƒ˜Ú=‚îÎ ”âÖî­\L°l¡ÑŽëÇö=qÇcSqðÀjƒ"F榮º7’µV-–.ÉéÙ}j¥Ø›;óV¯Ø…ÓOÙ‡ž®QLé09m¥b¾AŸºH!¸¨†¾£‡ðÔÆõøåÚÅØ`.¢¨K3ˆ-ŽA ËÔj´]é“pÓ×ÓÙ>Šßºú1t´×šæè™èÝ¿g5~z)|Ÿ¡ˆDi@Ûa³1ˆ²Ù"ßÔõ†pÜÕ4²œ ?=Ï*o/×1mÊÈKÃ`yüÂ(jA¤žò¡ÈabÆê!Zf‚§3¦ â’s6bù’ý˜3cž!ŠâßGÑøÏA6eƒ ¢*ÚÚªxõ+€‹ÏÆ–íqÿSó°nÓR ¶Á÷UÆ{43°º³AmB–ü‚atò% ³­†sVnÇk¶bþì~ø~ŽQ‹÷fS††@€Ra«WkV`󶣸óáÅX·y1*Õ > ²=\3ÊLMÌ4š9íb¤ ›œ××3eµ«N݃¹3Ž¡P˜Ø=ÊûŠß]gG¯¾p®ÄÏ×nÃSÏžõÛ¦¢£\2ÂõŽ –ÏÄí•^ŠU{ÛFñX3G¡wV?–.8„zÃoIMœ¹ ¿|j.)xð ÈK2Rl%MDd'h¶\};Šh·»ÆkZ?.é®ë€ŒGA„ Tˆ˜^K1! k¨4†¡”‚W†¯žç§4½Ë\e›»¯gž¾×^ö4¦v àˆ¢˜»:‘‘º'QŒŒÀ(–/Å¢yزún¹û lß3 ¥BI”„¡t´×2^îÄï->~­u,o»nÛ÷ìÁ×n=GŽö Xð5ù ›»8ë‘0†#(b+Ö¨mBÄÀÊSöâºË×bÎŒc(NüýÉwW­×^<Œó–㡵óñã_œ†0(Áó¼Ø[±½MÄë(•dQbC:ì\¶)‡Æ„‹ÎܯӨõ5:gú æÌ<ˆ=‡ºQòKð½<#™Ün§åÊv$á ÃYzBkx|ÒH×T.ÜbÐI3ATÁhíêÁ(‚¨æ(›<oæ{n¸ê1ÜxíØ1užŠ²Hà¯â:A©:–/>ˆ?zÛÏñʳ·¡VF!"f½«´%šŒß–rÔ¢'³Ó+ôÎ:†w¼é8õÿR÷æAv\×™çïÜ›Ë[jþƒH$ ‚›¸ˆ"%Š%Y–lËvÛí-Úö´g"&f&fþ˜Ž™˜è;&Ü1Ý=ÝíîYzì˜ö"«Û¶¤‘Q²Lj_H‘âŠ$ÄB¬T¡Ö·dæ½óGæË¼™ï•U”-û)J(D½—™÷ž{Îw¾ó}{.Ó£w¨ÞþÚ¾×ãàÞ+üÚ'¾ËÔÄqÒÃÚ¤²¥lô:¤K;¼&ËÛ»iq¬xâ=¯ð«?õu¶o™É²âü5Z+ôº09¾Èï=Á/üØ÷‚ÆDkpÙf…ìM•=Vuõ«DŸáÌÊ"øAÄáýçWý<ÇÛ}vn¿Ärw‘(é’˜>f±ÛÉËÅYy¥ÙªK–{e¶zï `U•™ ^æß§@å6–YêÏÒ‰ˆ’‰‡&ô¡Ìj6ûüäŸçÑûøñßúgn5b~écGyì¡çñtDbkJÅß0oh´_ð¨|ýä"?ý¡gÙºñ›y²µpà–üÔŸÃ÷{Ä&"I’¬‹U5ìÝü‘GMuLÚ÷ ?ñ#ÏóáGT@ô¿É—§ Þ{žO|ð|/&± ƘìÊ 2 CŸzØ>U*°Â°íhu¬4N4GöŸ§Ù诺 ý„Û÷Ì Þ úÑ2±‰°6Y®¦²Eƒ*L,éF ìk„¬zÉU5Kíˆøw-Ã2tXîÏÓ;$Iœ>ëZÒ×j¬?ùøó<|Ïq䇤<ñ‹=˾ÿyD:$&Ƙ¤ä„-%êj•äP‘ ÌþÏ÷~âñØ¿çò¥¬xìþY>úþçˆâ±‰0&.eZ%/w;ˆŒÌ‹S]ü„<ú?ôêßúac-ÄÆòᇯñSù2pž(‰°&Ο[uÚCF÷}©rúËÃêN-²Êûœ&‰Õ>»pÇž%&ÆnЗˆ“Æ$7Ѽ²#Ÿ€­¬I¨Ž™ÉMí×&à•™6Ê*ü}+ !±]úq‡Èô06MÓm†)çl³Vá)ËGß÷"÷9•uÿ~xÚXÁؘ?|ž?vd!MÓ­ÉÆMìPŽ8:×t“Rrëc¾Ê=‡NÿP¯m¹køøû¦ùé'¾ÏÜò2qÒÏ6‡ÛÆSªr.âš@ˆåÑûŽñ؃¯ýðžŸ:=Çß3Ï/|ôE4h%6ÁbFÀÍNá$2N»ÁºªaR–RlX×áÖ]WHÖPú ;6GìÙ6O?^"Š{$&J!”Rx†¡õÑÛ0áÄÞ¼Õ,‘|˨ˆÿ÷,Ë2 ±écLœ–U¥9½"[+¼ÿWyÏ='†,åX¯ôP6|ì±7yôÞStãå<#q†1rÄfxìÆÍžWùàï8fkݯµf¾ýÈð.qä¶‹tú‘8š[ÎzZ‡E˜¨Z+òð6oºFÊzSF—’L‹›M9H•”\|óYDw°Ë¸ëàÙwX® ÷ÞÞGèÐ{͇µiв¥†@U~ˆŠ/!UwÏJ[d8C¼).¸Òî’ô‡#Æ–•­¦¡ÙGc• Olé÷m­ÂRÂ@!z­ h &º·Má:ô¦mðv«Ë<|”‰ñåUw’”ßWØ;†(†+ókÒÛh˜l)´šà{ivaÌ*S¬ø¯þeþÕïßOgY¡D¥r3Ï‘ęË̈¡Öûv]aß®+« R¡/ô#XèXf,WonÌ›œRÔn ë¦4›&ScÐ ¡Û·« ûw/°kë5Î]òñ”V_H+Å»u|ʶ,Ð {<ñÈQšáêÀfüT„qnÑÒí[f—-&{víP˜j ÍšÐ-‰±«8l„[¶-ñèÝøôÓ-tâ¥\Q…)1UYïúΰҭTf(óé#ìØ2ËÔÄÒ;„!`Ý|øÁO~»K+H>žNR7´JåsU©)Í Ú¡àT÷.®HvM) BO[^<Ñæüì$"1¢zˆŠêhžZ Û×iîP(Ug“ÂK§"®-šaѲZÁDxó’ Õ¨•ñ‘Å}‡OqǾ «V톢Y^=ñÒɘ“ç®ÏY¾ùJB’¤÷­á wîÓìܤٳ]¸ç Ç=·i¼–ºõ£–1­;;|ô‘“|ò/¡•BO~»ÏÙ«:UT$ÖG‘¾ßb,<Lxáxzwm±¼ïî>?ñ¨æð^ÅRÇR÷ÐŽxôÞë¼xü2ÇNi´ÒˆjâQX×|#{víVÌÎí3ˆ˜tPw…¬C‹ð™¯vù½'{œ¼‰âÄG‹‡R% #*k]ß;/´|á;–_ÿxÌ?ªk*‰Gîžãóßœ§øºѺ¬PY²=/~»ñ‡^ÅS¦6ØúŠ‹ ŸÿV?þrŸÓTVâzX«P¢Qœ¿ª¸x=ÂûÜ×>öÞ˜O¼_±{«¦™š ¬ŸHøå»È¿úÃ1ð( a@)Ùuß[¬1tã„^ ½HÑ|¢8 1+“¢ØŽHW~àKCèéBB£”ªÄøê÷Åw¾nøM<â‰H––±QüØcÏÓnöˆWA´SJxñdÄ¿ød—g_O²1ÖZùÊC‰U¾³ÖòÖÃï?iyådŸø¡„ÇïSÅ©Tã59Þã½÷\äõÓct–ÒÕH%kªÂY¶5Öî°}ÓõZˆüé—;ü³?ì²Ð<­Ñʧø*HÇ›ðÑY–•‰äYÃÕë1¿ý§†É±.ï¿Gj•OI"ØÓ#æYZly]|åcT±vÄY”›DxϽ¯±{Ût:†RWRÂÙËÿ×çºüÙ7b¢$ NžòðuZ–*I¯¯(¯-³ó†ß2áØ™˜òK†ÝÛ„$©÷Ðú‘ðÈ=3üË?œ¥ûø: ÖY§ÚVÖïÕ CÃAv)ÀD{™Ý[¯þÀ qbù™Ç—ùí?î2Þè‘$‰ÐèB¦9¯Žu_ÉÉ»@­ÊÚ÷Õròí¡w¯Î‚-4Ø‹ù.Éje‹àáá«€P·I‚%^Úu]GÇ B•KõË:ñÐ |âë0›ô³[L¨ÛŒ’ëZ ‚¯BB¿M ›hd‚Íö³¼ûÎS« V¾/ùÿØá{ÇÚMOùx*$Ð!Z7ð•Ö>:ÛØé¢7Xk¢îü IDATIlLbú¼zºÏoþn„IzüÈýImà:1ÂÝçÙºi–ËW›D |EPè2å'vº ÛÖͯ¸ µ‚óW,ÿôw‰ŒOàùøªï…º…¯C<•–m"^Þ°°¬IˆMD·Ûçßü§Gncr¼^ Ö î:°ÌÓÏ.ú¯‰g Ï@[q†±ŸGÕç£ï©~°ÒpýFÂÿö‡}>óõˆ‰vöìtšÙùª¯´òÑÊ/ܬ!6 ‰íóí£ÿêS]~ó×{L[’šÕ¡Ö–ŸúÀu>ýÔnáIˆ§ljµîÒÜKÞˆ¶° «:,;¿™š˜gû–ÙØ´‚µpä`Q”õn#¬IÒhUÉ=\¸ÙŒä(o6 aËwŒaQn#ç)~r"‚¶ ¥||¯I3C‰"RÝŒgb]k»á K ¡×–k¬ôôó ½6 ¿eJAÙé9¿•y:´òñuƒ†×Æ×!JùŠ8Ñ<úÀkˆª·â,Ð …cgcþéï,ñý³0ÖÌ6´ß ÔMB¯ï5ñ•»±‹lÐØ„ÄÄĦOÃïÒ:üûOw˜[â¡;#’¤ÞbÚ¼.âÃ×ùô¥ |ÓÀK‚t>r ¥lË´½F£C3ìÓíoû³_øôW:ôc0ð t“Уᷠ½6¡nây ´xhååå¹5éµÅ&¢ô¹1¿Ì§¾ÿÃ/^§ÓS5Nt8|k—Ï3åË%&å-)ë¥Í…’nÄz}Ÿ?þ"J™ZU«ŸùçÔáÏ¿19æá©_7ixM¯MèµÒÀ¥ƒ<ËJïy’^_Ò§éuùÞëËüû?]àúGËéÈV¥lŒðÀ»øÏ_Z¦§AYÛϨ’'AupÝ–J1²’¾lqǾKè÷ÁZðt½Ìwã¤áÈ­N½ÕËËB«RQÆê¨-ÉH»Ø…ˆc©žµe¿€:‡ô  {€‡ÜŽ|å•h<ê@ [ĦŸÌŠx;,8ž¡áÏ"\qjÏ·ŸJ¾ høc´Ã)BÝNqµ/fF ñܬ5=EÝÀ÷yjÓºyì¹P»< <áüå„ÿõ÷:œ¸ ß'Ð!¡7FÓ£áúcé¦V!žÎJXÑ“›ñÁúDq—†ßa¹»Ì¿ûŸý»n°~"ÆÔHIú±âCßàÓO-Ò‹Zøª§=<úKŽÜÐöó»ò¦ö<øÒó1¾çá«¡?FÛŸ¤L¦×ç¥×¦EgÀñ€V`±“$}µÄ3G=nüøpeš1®-½¸CwHLkcÀõž*iîÛáþ;ߨU(%üÎçº|þ;1Í0½¾ÀkÑôÇiã4¼1B¿6Zù¥R>=l"¢¤Kè-óW|êKÓü£.bj4»¶ÄìÞ:ϵ™1~_‡X• I»Rá®mšu;õE9,Y¦¢´åÝï:jY½m¥ç¯ZÆÛ–‰öÊ«¾Ý°9Ðåõ7»)ѦkS‰3dîê”>3%ó༂’fåÚÊÉ6Íj¬“vZëH `ë&J<ŒJ¹3¦Äˆ-eùÇ ø:Y"m{: ôZ4½IšÁ8¡n¦ËVŽV±oÇù”T ô†'ŸésþªÁÓ!פN0¬§®£ézí43 yÖSlJkÁÚ˜D…ø*D‹ÏÕ늗OÌðø37Ń•ž',w ³s *Í$ã¤K”ôñUÚ+OVt¾ÄºÒÖ…Pq+Þûî×VÌ®1ï…'ÎÃ>äÕ:ܳkk—sz$I£XñQJ9W…ùEºä¬cl[í…UÄÍ¢KhêT†ÿJeªŠUzDM)#Ó» (峩" 6Zyh Rp[5PÚKôµÉŠf(¹ËNVkµÙ²a65Œ¨Ù©üüw"Þš†©vžÎþ­píp*Í®t­Ã4Xe-×X£¨Û5‹ÍºoZ¼¬Ë(|öéÙ‚F¸2X$Âí{»Œ·–èFË)FgBP~‘ÝŠäÖîu^½Èò³lðÅgZy&êVF7Pnåš*XÇHVPJç›oúúFfçCÀÒ,×oUÆK˖垥ÝPcâü+ NÖqJ W'ƺܲýJÕ›œ[4|á™k½ Ï£åMѦh“)ö¨(åee¼céæ˜eX«Q6ÉiQGñý“[xø®9Â0AlŠKk-„¾0}ÃðÖÕ˜çbŽž²\™õ¹pÙ¢T”«! &C¿”è …„µ¸úló{^Ä‘ƒgHVX\»a8}¾yÔðÖ4lßÈÛrå,°n°oG‡Óç;ĦOb FRÙK©ØÖÆÝNÃ΃s­,ÃwÐ%”}®A§-ñ?²0"Uxët‹ºlÀ±–œå»ªŽ…MQ^b)•ê •,¿ ft^Qvïd¤ã­[7ÍÔkó7-ŸýZŸvÃÏ|3˜ íOÑô&R\͵ªì(R:`¤äR-Ùæ•~î«×bNž»ÊÝ·Ï×Ȳ´‚{o_â;/wh}‚$ÁŠÁ¢M&\ºÖÎ_V*{ïØ ¿øaøÿ¾Ü@ËÏ)Ê[¬{%Lz8¨ìsyx6äúìÿâ÷`˜e©?ϵ¹eÛÇš8j;]èöÁ×—9c»P„”çX… SsŒ-×įž1œ|ËÒnn5AÓOŸ] ›)÷Ke*¯%Wñ¢K)¹c ”5 /ÛJ”œbÓ˜@qáœáäù˜'Ÿí2³WfàÌ%Ã̼ÂÓšv“M›u Ö˜t’£ê¡ç’DmEXÚ¦R2wÝ‘JɬĽç®$œ½dkz|å9øÕOWÊÊ<ÔãËßíÐOº4MÖ-ôü‹T*N×Õ=WV-ÊB©1-ã½Ý‡ÃU\Ê\˜K f„Ó°k‚`KL),}x«}&ŒÖ¦›ÜµA·'p9u³ã!a±(ÝÛgh4úôûþÊž†g_M˜žÖµÝ¢¤ØU3H;h¾Pø)u°Èí°uÉQ4Ûâã‹€'˜ØðÌÑ90S/ó³p÷íž~.Vµ†e¼"¸ˆey¹M/ª7ߤþËŸcfyíø”m¤Q«ÊY·#jTvÉÎ:»Ú§qî­=ÌuZÌw={ÐKc"(€ŸÐoà•²*òŒ°qý<ë&k®xù¸ëáçXè8-‚†ß&ðÝ…÷i°^?àœü¨E€€ÀƒN×òÊñ­|ýùE¾øü"‹˜ës1g®dëT‚G3ððuHègï—e«’•WùÚÉßwàä`?f˜Ä÷9¾"8ÍÆáû§-ÓsŠfò¹oüãŸì×8À„ûG4Ãý~Èô l‚56CÔ¡ª´ßD*.ße}÷:Á{;þ•ÛÌgÓ*¾R²™¦ô)[žéT¦¦-¬ZfÔl·a>¨ïóŽÅšÅ Ì5ìÜv¥6#8ô…ÿüT—Fàã{ B¿MË›¤é¥%/Ã3\¹^;°‰ªÑ¬”‹E)ÁZ_ƒ±cL_ÛÄìÜY¦Æû+Þ*káð¾>ݨG?î’øi™!Ê–Ì–»>×fÆÙ°nqŬÄZh5-ÿä——ø“§¾Ï÷Žvè.ß5åÒzÐ=+륕•<|´÷-61JùYÀR…‰,YÀòšª…§)NJÅËO”e¬ê²G5‚°ÖŸ|¥O3 t3Å«‚ñì i¢UXš+Ö¿sÞ¸ü¶ì¿S¢ðŒÇX3à?=y‹Ýy.ÍΰЛ¦/âI„(ñÓκ¯Ã”ž“uºµö3ÓRJþ´âÌ…ºÎæ’î(txƒm[®Öâ¹õcxéd‚ŸÐ ™oóÆyaçæ.ÉÛàHÖÂÔ¼÷È"O~»CÛï’x1F™ttJ\ë/·ÉVnäæÈ\f<²r8¨áK(eSÕÌÉXVsU²ËºY„ã—*RçÑåZ“¬Š4€-:a¥!¶b*#y¦§¶nœa ::Û˜ž5<÷º¡‘ñ’šþXÚÏp”`XÑ8²å `]w“Ü8¶8TVú:dvnŠë7ÚLMôjÉcLŽY6¯ïлÄIŸØ˜ša̽sµôÊ•ÀÅ鄳W„ÍS×$Ô­Œ“×Ìxr®l¯­Ì ¿A×/‘|¢RãkŸn´Ž86„þ2±ÃӚĤX—ÖžYs%$ô›„ºvA†yÊ"…#pÉ»¤Ü‰‰vTkÛÌ-Z¾òBBè‡xº‰fŒ§Ÿõù/>Ñ!é¿ý}\îÂÏ<Ñã3_í5{åÄèÅž•¯z+•Nrz‘÷8zök X…Ýõ ¸+×>ÑéfTT˜F{ÙuXLGÖX:Wè Š#£2˜ar,±Ýs_Ia¬¹{Çt-^’ÖðÒIC’s¹ÒÅúÍô„T~Fl0¾-£`ÄÜ›²be•?¼¬ŒÒJ³°8εÙ6·îž­™ZíéóÒñ>‰Í~ÖÁQ, ‹ N_XÇþ½—kßqca~Ú­y>ú¾y½ï*—®¾Éɳ“œ8³‹+Ó›¸:½ž 0h-(·õž]Vg¤ß‚ÅÓa:aŠÏ'ùÀ}:Úä«´‹§•ŸøyÎ&੘‰±¹z z ß;ný”|dÜ+?ÓR⡬ʗ—µR">[çP)­_«ÕxxÊ#ô›´ÌdJNšX Z¼|:@«O‡ø*ȧüŒÓ–—Çù:®¬£­´X¶oº„§ãZgüko&\™¶L¥kØ×mŽ¿Ùbaé:¡Ÿ¼m–c ìÚ±×W¯e³…I\gg+0[vÝ’26SqºyãÕ 0BEб¬wm‡€ ³ º[Çêþ‰—m†\à—S.«­HU[­%AÄr7¬j¿qÞà+5¼f>¡Dç@sɰÓMu-%½*×ýE¤l¦©Ä23×&1©3tM9ÖNèÇ}â$ÂeÊÅh hΜßÊrçtî!X7¡5FXî‚Ö]vïè°kûuÞ}çEC^³É™·R_¾³Û b2hÀ¤QfÝeO‡i@Å”0Ð4¸¥YÛ`,FKJ¡)[¯)Ï0QpW*¼}ÒbÒç– ¥<§´$ïÎ0oòÈ}*‹®è 6 R[/A‹Î:€& RÊË‚•‡51Ò®·—ÒD\(Æ)Ÿ ÿU‡,dab¼ÃÖÍ7ò¬s%2ð_?Ñ Ó²4ðšºÍâ’fúz›ÛæVÌä­Þï2¿÷ç=&›©‚ƒ§Ã,VN)- «©óȶÜÞ!†Ur¹²²–‘^qB‰ÆêþH¥ç)e-²U†©ÂS 3Áá8I%MÄYxiöc¬°eãbm:ƒï Ïë§–G: ðÒV¿§ƒ”Ð(.ÎW>š¥H5 †²“ŸVÜó1—ÀÓ\¸´‘8~ƒÀ_™gäiËx+e˜'6"1)‰×sîš§„g_ÙÌ´Ù»³¿æ#-à ãíe¦Æ—Ùˋ˳,.¿Î—žM¸~}/ÓÓ{Y\Ü€±©æ“²‘•á8Ö7ï-=Ç”2£P*#m8à x– S µæèö¥Ò€åyƒ`åg‡M!RY:Å– im¹Ãë.b¥߆ž ²,WÒáfñÑJ£ÄO¹y*åæ(qTG]JQÅ6Ë~6­Ÿcû敇ÙE ßþü;1­ mªAÃorýF‹£''Ù¹m¾hÿøý]þà/;ôâM?ë*wé[§K˜—Ѷ,smÅ– ׌a•S²ªmyÞRJ¦‰££e ÷®¯ˆº2Ê\J•P²VýqÉI Û7_­ ¸ÇŽ¿%x:ÅWÕÀS <ññ²EW$·Vu¡â€ðRa«Ù?ÑJ³¸ÜÎ>c€×%ô“8ͰLÄ€*šƒÆJÑôBžúöþ«Ÿ{K²f‰ä|XìÄ(11¾Ä¯üŸþò1fgÞ⯟ ¸:½ë×vrez]Ziª sŸƒÅ›'᪘‘²DÎànù~O'µ–ï Ÿ&¡á‡éLiÖ IËA•—a%‰­Á¯tvËóÆR Ú Ù¸Z˜ýêçv%‚"ÅÉ”Ìy*"¨”œEŠ•«D”Ö7 ”aǶ·owV¼¾†§_Œéô4Í1O¥B šhisñòº½K„A¼"L´y垃‹¼~ºËX8ð0ù¼eÇHYâZUâôÊS/õ@wKE0òp›µâ5̪ãÇÚ#–«'+¥E/üJV•V¥²d…F×*K•Àõ†~”<=fé|6ÉŸ¦”­.«8iùó—o«5´@·Û¬j­éÀ°‰ˆm 6.øp’ʾðÜ+;8tÛ{àr-6}’q°Ï_O‰ëðK?®X\œåâÕ7yñØ&ιWN¬'ô„ž—ôRž·Ar7ïè:uÒ@5dÛæÙU™,\…V0PÔÒÑ"¥Êhª“5‰Hu\¢t/-ƒQ$UúœZi”U(|§y%9¸Êl)5¦½ØLªqÔ'ΞeŒ3ê}ë…•‡@;ÂÌV¼3dõ®’þÜLD֮ʸº*z2B¿P†.T€ÄhöÝrSc£Š‚éÙÔmF‰Î%UŠQ5ì´\â~I‰›UØTU6E)ò¤rÎo]ZOTÓ[ÎZØ» ¶mH0&Á“`* '©ÓIÔæs} ÖêwÄ0Y¹Û,$‰`’„f£Ã‘ÛÏðKŸø ?ýѯ†ÝÌÜÀæ*µåî3Ø¡C.ݹcKõwë729ÒÙδÔÙ|¢8äÔ )Èôž²Å˜”à&q2©ôï tú«Å1uqt®ÄVÛv"CÁ‘\ŽZ¸ûðÉZ;ÈÓðüñ„^?í>û™æ—§Â¬»íák—Ží¨µ¬…Më ›7vèG]’$ík I×ñÈâ˜ØTö¨Ø!£³UÛ|Â4„²uýðß £E‚­ Gö¦–Û«ê :ŽùR±UsI·GYuç°­Mí÷]êfÞ¶Jg@í@­T•`Ã’­©ŒÜ®"cɶ»r/³ÓH)oU¥³¯mª E¶€3xÎQ¢Q*À÷¼|b3¿õ»;éô|ïoÇ IÄ2ÖŽøØûßä'>üE¦&ç1I’iIÙ¼Ë4üœË ¿ÕìÕî4' -:ë f@¾(dHyÊ¡.”Xöv¨ÔömvgLj«Œb8ŽeîúaCïÚê8wÂŃ÷¼F¯L˜õ=áéçzÄ&¥t¤ÒFÞtð”GÃ^zmgí)ˆMë“z}š>Iîrä¦Ç…¿b™ÊäF©MqR+îoç6ì8[þ‘âü^F$Ö¸9ªs¨%nS5£eÛ(¥í*Ò„LbDáeY–ˆW ¾eIþ‘¡¨Úâ¥,€VØYɚ¤r,Ædå )ÊÒAÐ⨖?Î˯ïâw?»s—4@þV—1Ћ ï»o†_û¹/²}ÛzQÄ NjF·q¤Œü­ê°ËfPS‚¦Îf=e¤Ïæ­‘riXoêg,C_Yž 7sðç¸ò„6F³cÛe6®Ÿ[ßk³–WÏ ôàRµÞ4à RéiQhíÑéŒóÚ‰íxµrá=GºA7S"íg2@¶d2À5Å–A#q<«ŠºìøR-µ*ÊŸXÕ‰ìf¡M¨Ï¼X_ƒ!J÷ÔM‚äZÂ¥deƒÊÊÀ|Ágd¿òâT#¸ÆbÕQþS•ƒ³JÖ`5žI×X;°³·•T< ¼* ôš´‚q¾õâþåláKÏjº=Kè žþ¦C×rϰkë¿òÓßáŽÛÎÐéõsWnF†ý*¼°šU¬²€¥ŠRõ6O¢3XÀ&Û1b½ åM¥ùæóQÎÓWo³;„(öxÏÝõ •Àñó —gH³+f„ÑÄxQ)žðõçváy+¬$#"ÆZËDI:YalTZoƒJ¢”I–Œ6ŠQ‚:+MÕÛ¨Œ< ªâf™De¬N¯ç‘ÊþFK73µ#̉jÝ‹Á«Ò6&¹‘åP¡l^FÞe·^J÷´œB¯-h˜\¢ÖÍJ¤Ò6JyøÙˆQ¨&8wiÿö¶óÿ|¶Å±³–N7ÝGò7µ¢Xذnž'}Vë:½¨‹1™V¥TËŒµ«~®ÒGÆîQð ¬R)‡C¦ÍÇz†÷‚‹ó–Ÿú`,Ødh·ŒØVƒˆ;öŸ®EÉ1¾w<áòuÉØöigГlî•â` <Å©s;˜ ùÓ›Ó|Ïò‰ÇéE]"Ó'11`†øKRÙÅå©‘2êvmKœ”—!ñ¾2!…áô×ʈÕ‘ÖÈt·#ÒìrºyÓ:’¢ ´ZS‘´µ\,ôRwÐÊÈA×# z'Jê£J[ÎÊVŸceÂA‹¼t‡Ò3\‹ÆSnÒðÇiyX3ÉŸ<µŽÿþçS_Òœ¹(Äq6ò7¼¬…{¯ò¾NØ¥tÎÐĘ›÷²êU“S Ò12ª¿|³#u¸×=º­CéH-Ó^FäÕé‚d$/o½åíf=ßÁå.œøði&&¦éÆt¬ÅÄäTqž7¶àjÕV¾ªr³ž²8H#&FYŠH%ï²¾â¨5 #!†Ð°âýÖ³x^=…Õ¹%Ã÷Ž%ø^:è0ãú¤áÎWŠ€×ÞØQK IàÀ-wì]¦Ó復!6Âaá£R!yÛß܃o·è‡ÁN©œü¹ÎD¶âh9CI8O2sQYsŸpèÈtR™JZo«YœÃç‘x^ê4je ÆÂ¦uà©L™QŠIq†–­-Ïyå·ÍŽ‚Ý¢¶ÚÀ:›7ÌÕAÓ4·hYèX|—㕽—¢ÌƒIí±,XŸÀËd|Q(¥ñ•5èD‹|æ+Ëüñ—»ìÝÖçÎÛ ÷$ìÜ"ܶM³m£€ÖD=“Û·¯õ©#LŽÇüƒœàßþÁX¦¿¯«S [.—º=¿^ÞÀÖMTH9ÕíR1¸p”¬ãSÍĬHé<©¬ü²·ÀM6cž©»Ñ_ªž~é«Ýê²cÛ5”ªg›vò<œ½,lO© nf,/•í)eü)íáÒÕ ÌÜgrbe "c„'Zä_²Ëd³›ºC›¥Õð¾«0 ìŠmÍ€UÅŒŠŒÈVÔÊÓãE;šaŽUÕ,ñÜ© ?.§I*îÃâVP Î_ÚÈ‘;N¯ ^ZkpQ)³‘ݵu‰Kž­ÈkTD‹º1KÌ= ó. IDAT÷a¬ˆ'¸·fzf`óxÁ ²#:ªù¤‡•BÏH§æ´Zyxàé&¡×¢-Ò—9{±Ç›{ðõ˜“‡öžÕpÇžˆ=[=ÖOÂXCÓ qBáþ½ŠW¯¯xÏ]×ùÔúË\ŸÑYÙ’Y¹ç@yúÙ¯ÏLÔº7nRâU x•ë–ç®Á¦øò¹ž*¯høYçë£B—‡fmùp“T°pçÖi6o˜©©P!<õÝßó3ó–¾×Ê2,/3¿uJW1hÑÌ-4yíÔ$Ü·@¼¹:Žá½wwø7ŸZ¢÷ˆýc°~e4® Ù¸¤óº-”š¾„R&@ôÒ¬Tž£-Om»Jƒ®ð¦¬5bIJ·-}F›·QGL÷”†É›+à+“ã •%&õÞäGCƒàÎâN홊Ï_rÉÄÜÚ­N-¥†ÁçìG¶$¬70‹U¸pùOA×L¾ÅKR€6 ›­^Ü¡/%iûêlŸ‹ßùâ3 “í.ï=ûwî½Ý°m½bb,µC3Ö®ºdŒåÇ»ÈoÿÑaÊ¿hÑ ¼ò_Í©g`jÌõJõ%Þ•-dˆm5¤Y§ZpÇ›Xâ ÊDëmÖŠãÅç(|ZG×ÝÑ—_ZnÔâòX † ¸Ð±¹Ü³•JÉì"ìîЪ%­uy%‹1!ÞjvÓ²­ÎFOàúÙ|%·¸Þv”FA³ö·`D¡-™ ’ÊFDI“@/ÓÐ-úI—~’ºG¦G”ôèö>ÿ­ˆîWbvm‰yð0Úk¸û åÖŠfý¸~Ô2F8°g(Y ·u“D‡(“€èlÈX˜½Ñ\qCHøèCŸ>:eÖ7%Á–ý󆆨ìLËM5dÜÎØ˜Øò’Óù™Ri'Ø2®——ƒ>wÝq±–`¡\ší›ëÆ„¦Ó–h×iè^°D1Þr \Ì/ÅÄq„¡G§çÓnÖSô¸cï2õínfÏÖ'P! ‡‚Ç0›8sY½€_Å'ŒRY-%o4Wk¨¯ÃGÑ–›˜5ÃVUÚÆu±•NfIÅ!Ë<Äruz}ýÁ‡î~çÏM–ò&é±-¶ì°,•±wÐÓµ!/UòE¦ê~\c4;¶^ë93˜[LïÎävaêšàƒt"- ³WiÄf–jÖO¥H’‘×Kí·L‡(î•‚V;H]ZŽøÒ³}þü›vÅ<ô.Ë? wÞ&tº¶–3²µ°y}Äm»npi:•Ÿöu« ÃV+ÂôìIÍyPK:n²LÖVpØüPµŒ@©:#:ÐŽà^{(±ˆ2å2MN+C‡Çp¯Q²²¶ÇŽ­Wk Ãû¶ Ÿýg-RK¹;‹5)&;¨’_eÙPú{qÚáSJœ±·•ƒãá}}6­_¦ßéø©[·Øôçä<3[mAÕßúíB Fªÿ%³®}¶-Ç*œ!F[jiƒ½âÖïk²Ä!œåF7‹¡¶bþê,%–‹ÓSµ?Bb`ßNƒILfWnŒN•È%®¼uÞFØ +¦Ú’¦6ar⺦…UÃô Й†”džˆ"né£ÊpUY3ƒæS׋¶:—c l‹8‰ˆMÄ‹ˆL8s®ŽL8é›ý¸GÓïqåZŸÏ|9â•“}~áC}>ò^…ML­Q)Ëþ=‹œ:¿Èx˜z-¦Bq8÷K±Ôiøq pvm±$ÙóKÇHL ºªZ©&–‹É×b- žej I¢¹ëÐ ®]ŸâÚÌzŒñ2ë.3\>–[º%I·jI*V¸uÏ&Æj¦?Õftz¡Ês`Uo³ Öð‹R׬¢”_?•pÛ®e^z-]‰Žñ´A¬bˆÃT’ɱÚÍZm¾l9þ‰”3­Ü±&ó‡Ë%éÜÀ–o¼¢ RÊ‚ìZ2«*XíLø»ƒ¤åVNù:²ë‹¢€ù…&A°ò‚O ¼e „¤Y&Çlé®dvޤFIçÚÁM¬#‡!™"ãúu6o¨ïH$0·0(çt¦»”J ì¨%ÕWàLjX&&–™ŸoÓ‹‚l©t°Qƒ'>†T-t a“xý,¥nÍ© ê2}Ó§Ÿt8{©Ç¿û“eü`‘Çî«Gƒ`|¬K'Z&Š{$~”fµâåŒó$ö¸>;Îö-³+{78´—\Ô0Uµ(š¹®Û`ýŠe”Ó¥{€Kå J×¾âç~ò¯¸xi O=³™×ߨŠo·`íÅ“.”7ó*w{¢¤~b³÷KŒpÏ»^]µªFbì*ÿûµõÂÆ[†Û÷,òÂkKDIØFŽsM¹ t7¯¢.·neMŠAºì¦ÐRqÊqÓY[ pO©¡%kÝóÌj°eH™£À…Êâun”S"ÄFxëÒnÛ{yÅÒÂرŰ{kÌÂ\”’ê®8™ƒ£—ôä‡ µÊtºKÃT r|ž‰ñùÚ3‹]˱³O§,vM*cQ„AÄÄX¥¼ ¢öð‚˜v£ƒçǬŸšCIÂúus|ë»wsüÔ-hmó¯T*]¬tjœgT‚±!¾M0&&ñŒIL–y™Qܧo:ô“e–:]ž~&à¾Ûgh7WÞ"°n<¦ŸôˆL*a’ƒ'9?ƒ8ö¸2½Ž[gV\ìÆÀ-Û Sã6WÌä™­ã7 ãH¥4tÄÑy*²j›+€ìÞ~_ÇìÞqÿö×.°0¿ž7ÞØÌ§ÿz6ÞDwy3QdB~ƒ[í+J!­cÓM6æØëY’Xówñe¬ðÐO~³C¿Û!1}“à‰ÉÀ÷,ز³NAz {5uµRáe‚eX·Û!ŽJ£*›k–xQRQ"d­iVv¢‰c-VfY”ËW[àáR˜œ»°…·^¬urűð«‹ø­ßMX?–Öéi–erï?©H5K¥›Zv±Ã 'ËÚ¸þ:““‹µH|œ¿b¹<#ìØJõ¨€&ñ8tð8w>†§cíe‚ b¬j¢Þ#N4ç/nàè±íb²!o•U®zF‹Åb0Ê€5$6!11m¥Ù—×'JR¬+TK¼þFƒéÙÚÍ^­€55žÅ}"‘$qªñ%•­¥¨ïsñê$÷+S;óøÀ= _}>Æ´âÌÀÔæ.J…r¨-•÷ySGÊÝÂÉõ$Ѽ뎓˜l]ÎÏ‚’nßߺó8gÎoâԹͼøêvf®oenn#žŸ”ª…r×.ýQ¤yä7QXþn¾¬›#6­ëpæ|7- ½CpS —wæ:t­ZÀ¯êù)îfCFë§—T ©·-»Äˆ¬n/2–ÊÏ+uë3Œ#w¥)1â³´Û(Þ8»‰+K“¤ÄÀ]ûl^ÅQ6ïfÒM„ã…(eѺԅ’˜[…óãÜ?H8°ïZ 1ºÖ­9yB_¥z]z ×•fXã ìßw6Ã"‹ûØë•goY¿þ ĉ‡ÕÏúX¥³l6óu–ÂTeÖ^ÊZ<•*E“ؘDÅD^—Àk2³ÐæòÕËìÙ^/`Í2«)¡Ä¤”5>Ó×ÖÑíùµš'ÖÂý‡¾øí4¸š–•wU)ÃJ—xúgVÜMeýá¸D%pÛžsE—QRL0N`a 6®¿ÆæÓ>p–kצ8z|Ï¿t˜$nB6î5ª‰"#‡_#N4W_–ÔÃòþCËœ<Ó!2ýô€±”.C@.Ž:Šú³&?)†EqÇrF @åiòˆy,±Tx?Õñ–5ÞžAV唈ŸK&Œ6ˆ N'f€) &÷¦¸1ßZ•pÙÞ½L§“Ø>‰sÁ{ãâƒûèØ$%¢ Ð>_ö9|û‰ÚÀ@øâwz4üÌ‘Eü,hi<®No`à·RäÛ´~‰ñ«túKÄq„$›ØÍÀ–Lò.[Ê×’’}¯™…zc´ýIÚÞ:&ëYîŒÕÊÖ¦Y[›8ã¿9 ¸7æ&˜_lÕþ™‡öõÙ´®G§Y›Í4ÃÜ1±•ɜî~|£¸uÏe¦&ßvS'Fh·–Ø»çw:ªO?I7·!)—76Õ½ÚwË6oœYÒáE£÷,§°À@ÁÁĈ¡pÌr’Ò=´°R/®¾¼Œëèa+ºÇ\u˜dê*•J l'ƒ92B`j »ãZ ©²xXN«Hâ*[\º¼±6›\‰åÑûiµ–Ò,+;©ÅŽ_³þ®uµ Oã#>ŠG|žf£[ÛÂêÜËóÇ ð=´Î$œ%H3 e¹6³±V n-lÙ8ÏÆMçYêÏЋ1I?5ÀAع÷¶*>”Ñ*´Jõ—<Õ¤áÑò§˜h¯.ŸNÕH3û¶l°¼ïÞý8J…2Í{× ϦrΚ ;K¸V¶ßuÇë4õ†’³—®Ì.ÓK–Ò,Ò'óÎJôXqøà±Úô›æ+1°wWÄÞ]ótûËD¦Kb +·7Ðæ8`‘иÒÒ7]çõK0)©º™Œ…!L&÷xsÆ(r3U§Å¾–¡ÙªtG#R²›QØÄÏ.%CP,.µ8u~ê>Ë¡½=»ï‘YNku“JüJIDBªú¾ÅF·ŽòhÅ•ÚÅ-;/ððý/Ò굯¾ò\‚dw‘6ۣÅ˓t»a­ÀÜjÆÜ}è217èÆKôM/µrr[ÒÕ'2x RÑP‚V)5¢lÞ°\뚬…‹©ê„P\g€§u:mÞ<¿¹6+ô-ßµD«¹œf&ÎuÃrÓ7(‹ä”‡R–l‹umE˜ššgï-o¡”©™(^=åqcy†n´@/é'qæ>“ZQø^Ìî]j¨?ìW ?÷Ä"óÝ.qœÒ^JÚf¶hn¸¶DRƒðþ¶j Ciq.w*%eD·îNGAÇWÖi,:äJ×½wù%ñ´ÁÙ¡‚´„[)\{ÀA„÷8wa ËÝ öûác]cãÔ"½¸Cb£Ü·¬v4x'ÿ(Iÿ‚zú?cͰÇÇôéU-Pc…ßÿbŸF00 ² ËG$Åž¬Q¼y~s­“:Šï¹kޱÖ½¸“åŒ{VV¥¨>OUytqÍÖKLŒuj¬ù¥ÁhJAApçU&ysìµíÚ,ðîC=x×}“–-É@èP*JWV†Ë*Yr¶¶8Åö­Wk—mq/œèщgèD ô“†¸Ê ˜Û®³qÝ\íµà{øàÿ¿?5é­w]Â]·/35¶L7꤇‚MÈË .… B]Å ·Ý ¨*l,¶âÈK1ŠP9©Œ[ÉÃUä«j):Xx®×]Fø³¤_øu&'çRK¶Z%¼ð¥g":Q‡¶iæ‡q¦„FØã–ð¼¤mCDñ?ÿŸóÌw:×çR#ŒGŽ\¸ÈaiŸkyð°æùMÔ;lÞÿîE¾ñ½>ý¤Glâ”DZ§Ì?Šâ"/SžÙ³HÕžËÚô4[(o¶ó™;)ùk¬­,tºŽ®+p‰â_Êj\QµBVD¡h„š?yòï¾÷­^í‘„N~ê‰ëhùß|öÝt–¶â)/wÀu§tJ¥1NãAYšÍ.÷ßó2?øF¿Öp+¤›ùÕS†WOÛ̪)$ôÚ„^+µpAgON¡Í:ΞßÈö­³µ6@?‚ÿîç¯ó¯£Sœ=w‰ic¼Œ—$*ü¹š8åL©•2LŒ/òáÇ¿ÌäÄLíÒm¹ ßx9¡é¥ãE©N—* ï¥÷TðçöðÄû^fú%’÷¯Ó>þþ6N¾Â§¿ X¼q ž R‚¬ÜlP¤Xãc |øƒ_åöý§j+­àÂt§¿ÖÇ÷½¼’QY¨˜Œ€v»Ãî—j­­à¹×c^8 ã­Ôu:õÈȸÜé›,ë$&ƒÿÞËÑ“– W#nÝUO}ãàžÛ7ÏÓ[š$ñû$^ŒÆÏç󯆻WW¨ kîEÜSC–ªàà ¹RA3Jtx'~N–âbEêŸEP«ªLºMš@Mòç_:”*|®âÕéX>þ+üòO=Þ]g˜ëÌÓzŽÈŸ Ké œ|ÅrËÎ üôÇŸä½}—f£[;X¥YüÅ·"®Ì¾ t“P·TO‚t0O»‰…ï|ï`m{3kÁóûü7¿ð&|øh†å^§À²È PóÎlÕ ÆrðÖÓüì'þ‚Ûö­¬< /3,tZ«Â]X‹ˆTº‘M>ó…;W•.và¾Ã3üÊOå¶}o²Ô[ ÷G—²2¨X#heؾõ ÿÈ_sçí'VE7áOŸŽYX<É0G•8}ÿÍgذ¾<àyðÕç ¡ïx>M¿ÅX8ÁDc’ñFJ)™l¬c"\ÇDc𵞉Ɣóýz&óßO¥ß‡SL5×sãÆzŽŸi¥–5^mÑ‹tâ}ÓÁ˜L'+‡ *Q¢1³ÓÝÕ\¨*ŽN#EÊîÏR"DVä‘ß‘¼ŒS&æÖÎvˆ™_d„Öai»ÝÔ?ÔáÙ÷qï»Îñ®ƒÓÄq}·Û7ìß{]ۿʉSÛxáèaNœ¼ c|¯HyÒ%Öž]¸ûÈ+Ü~à ÆZËX¨½¡¯³W O~+F$ÄWEvxì„Õù¡2?§·rezœõS˵6‚1ÐlôùØœàÈWyéèA޾vˆÅ¥ /[$“¤RE,{v¿Å½w½ÌÁÛNÓjuV5øðÉ/D´ÂFÊ'S~&8§îÚà¸RYv);µ×ߨÈû¯Õ~~ýزo÷u~ý¾Ás/_àµcøþ±ý4É »8QlÝ<Í}w½Â=G¾O«Õ©¥œàÒO.\±|ꩈfÐÄÓ!¡Î,ã* ƒ$@àÐÁ“«À™„?zªO«êM‚†?N B´ †mðlAºvÅ-bÉi¸Yºœ<ëóÁ‡–ñ½•…Fh9²™o¿6m"`(fêlqçU€î£\ Ë¥§”éÝÑ\ÙW†åj¤LÅ_-†5¬¥îØ]Wl¬Œ°/ƒªšTûIÑ䯿q+÷ÍÔ– -ž©¥F¹ã<ö]âêì׸pio½µÄxh¥X7ÑcÆvï¸D»µŒïG(eÖ4¡ä)Åï¾Ç[×ãaHൽTlÏWM<å—:“V4"š7¦xóìV6®?MR3™4´6ìÛ5ÃŽ-ÏñÈ{^âÔ¹I®Mogqi%І¯Y¿nŽñ‰öï=ƒ(Cà÷³û¸#Xxù„åÙc––ŸÒ!< ÄÏɾâŒf ò:O,Gm>÷Ô~nÙ1OƵŸŸµßOxèÞÓÜý®3œ>ÿ5¦§·qýúfâ8-·lZdÿ¾7™šœÇ÷¢ÚšêeJ…ð>×aaIx>¡n¨6¾jãi? ,z`7Á‘ï“$uŒRá¹×z}M+ ½í`Š–¿Ž†×Ìùx7Ó~»9‚•Ï„0¾ÿú8Qt ¿†Ü‘µpÛîë&—XZìÒ6ýt~S‚´,´RldE'x¯N„ö,ϰ[w\g(²EfQ uvÍ¡#ë*eó›/_[QOQ®ðM©LMŽB+Ÿ@‡œ:»§¿µ‹}ì\-pz83µ4›ûÇ#nßÓ¡Ó½†µBb,±1ø^‚ÖI¦·†á$f¨øÔ#>ý•„†è oŒ¦7A¨Û©£ïà´vÆI4š~Ôà»/ïáŽi6z«º¶T“)fû¦˜[¶wéõfHâT©£Û/»¶iµ×'€ö„ßû|%O*5ý”M—w´AeÚ]yëÂ6¾ñÜ6žxä-ì*ŽkA©„v3áÁ;âä4Qÿ\6h‰’„ ˆÖt]ƒæÈÑ7 _yÑ"âãK˜¹µhxi†5 V«ÙuË´š]º½•QîÀ¾ü\ŒV*3§åO2¬#ôÆÑÚ/ ¸J¶6ÞôÅŸY›0¿sòÌ&î9¼²ˆ µ°g{Ä–ŽÏuˆ’>±‰ðT˜í['€Veáì–ŒD¡F§ŽÌä¦N#eoAÖ¶†¿+¿óÿÏÜ{Fkr]×ûÜ{«ê‹/uB7ÐHÔA$HÅ$ZÔ²—•8c‰£e[šà%9ÈZ3šÑ’¼$y,ÒxD[Ë3%ŒÁ"5b7€Îùå÷…ªºg~Ü çÞª×ènJÖ4W?¼~ïû¾ªº÷ÜsöÙgoö¸ØÜ®¯1yH%˜fC|é›×à’m«xÍK… Ù…ý±OKÝÉ1X9PT‹ýBpªð³v"Â7Éð[ž@S„ØÁ*šqËôaTì¼Ö˜£F<öÔ¥xô©øž×BšñåiL2†Â\$Ýn]š\ìIþæ±÷<ʈ´ÓàŠL±*]ŠMï3FiXN@Y_øúµ¸úò%Üpõ*Æéù‹…)VG%g(sIœb‹¾."Âd |ðs)ŽVèD1ÓG7rℱîY¤k*Œ' o{ã>LÏÃ6žX_ûŽuÝaÕ)^{½x‰Âè¥f¼§’[ÊŠCJŒË>[M¾ffPoŠû¾·Þtä¼Ö°1À[n]Á¾ýÂŒsè*ôP{ƒï¢Gs¸éÖL-‚S^Xj€ú‚þìêÃ0H­žrÍv©jt@ëòÔ±Ä]X[[À‡>s=‰|WA•+0ú®gÁ´!<~Àâß}0ÅêºBlb$E°êdz³ÐïQ}’rxtãýõpøD|Þ„Às]Û߯õ)œ]µøÀ)V6TÑDè˜\‘Š ÇmÕî H®|ì˜Fë ø/uŽŠD»¾„áîwqmÎÏ‘q×ý)î¼'‡Ñ‰é¡¹çÖ1CÕq%/i0+l]XÇ»ÀÚ—8Z=Ÿcq•`T„XwÐ5}tͱî#6]Ī‹Xw`t· j.kíß+ÌUu·úÛè.ŒéT?ëúIÏ<·‹Ë½ójn¤áõ¯h“|„¬ˆæÊ|˜ZŸ î2£¥Ô*µ©©æ-N&Á~æ`x†$`/‚]ì4¡À¯¸ÌŸ„·.m–å‘çÏQŽè@hœk2ˆUݨ‹“§¶à¹K+ôwî||¾›èøiÆoþùûXDÚÒ½hˆ^<‹Ž¢SÑt#®J.2èDNÙ‚~ì7üûÿƒ?ÓøÄ—3Ü÷˜…!g:ºÌ@ÜuÉçZ3¥Tqm F%èÄ]>ºòÑë±´ú÷ûüˆ€'ö[ü»?C+Xuè>ºÆ«ÄôgŽ\±›ç×]óÜy[»)|ûé ãq¡ «;ˆt¯F1 EEWÐTD ùìêïâ„Åw ÕZUŠ"<ºïòóú|Ö;¶ä¸qÏÆéÓ|ŒÌfŨՅ›âªsƒîáRÈJ¨Uø?ö)òÏ•ù…T±Œ¦åjÕ9¥¦•e=|¬ŠSª‡~ÒÇ ‡·â·ÿtÎ,G0ŠþÞ|d+„ßþÐ_{$GlbĦƒ®qŽh=3D¤º…´±F›ag Z+ŠÐì?¸ÿüžÊöìïóú¾õ„Åïl†F¤»ˆM=3D'ê#ÖÝJ—Ë'Ã(q€é"ËrôŽ^ÜÇÓû·á·þÓUXY5ÐÿŸ‘í~îwGX;¢Ø¸^/šA× ©F<3k^±÷éóKVׇŸu:f¦¸öX».±ãáÕ럻ZàŸ@ED¬"…H|û±=ç=Œ=M ï~ãÖ'#¤ù¤p‡ÎïéaZ°šH“t}¦@šXþô¯à5˶ ±÷iËIŽï«ÊùÆ»#„Vd§±4l íNi3ÀL2‡wâwþt.Á G0æ»AÞ.Ӊ¾rüÒás÷Z ’bCšYù¦4 IDATôãy âyô¢Y$¦ïFrJ»®' Õ½1d©úÑ îºçJ|ô ;ÁV#ŽþÛnê8"ÄZážïdø_ÿx„iæJòÄôЋfЉKL.*ºžµˆ ¤ÎÔÍ M¦p²îÇsxúÀNüúÞ…ƒÇbô»£ÿnŸ³ ÀDá[Oäøé_ÛÀÑ3ªè ºëêG³è×éÄMG€À¬±uËl]8{ÞAñôãð Àè±*ŒRuÇݳ*È#˜ñ$¯ËOí~í ×t"£5NœZÀñ“³ç´²Œð†›6ÐMF˜dÈìÌyÃwQF¾¸€Å¢Ä’†¥BJ¤”ˆíI æÈH#9JLð\<‹Ã`(ð(™U°¸Ù•˜ ¹~Š%©T™euцèGóxñÐeøãîÂïŒ0fúêïìÄfŒ& {ë#‹i‚õqÏcÅ¢,6ó YÀ Ù‚A²€^4ƒXu*ûqÇãáæYÊå5Ç2=D4»¾qþàC 8qÚ`8ãæóþ.7´R„~Wa2a|äî ~áR,®i$‘ 4½hýh=3‹NÕõÔU®µ”èW«BvXÃPT½Ùî^:xþð×à®û ²Œ0ÓS'e¢"`f ±>>þå ~íÿâèUÜk§ 6ˆçÑçÐ5³H Ê*J]kö\uýÞùˆ?ý’Å‹GQ`~krM ãXû^H@ŒD“«(/CWdÛÁSÏí:¯²Ðu–ï}ëVGÎÓ2³Sä°UÖШ».¦KXÅZٓо ÏŠS!’GBI“ÛíJùáB–°Ò"øÖ’'Í]Ìž,ŽObÉ2;5ÍH%`ÃÎt‹‹ŒÝÙÁÑGðî;–qý•„N¬e|Qf¡›µ¾cCXݰxòÀŸøJŠÏÜ Œ§šb$Q=3Ä ^À0ÞŠ™x ºfqƒÔZp\*›1¶Q8Q'r.8÷>t-W_À_so} Ðï¹kËíßε•±1 ijñÈÓ9>õŸ»XY'ÄQ‚®qÄ Y@?žG7ºrPE…U}µÆŸ/ML®üêzL[üÇìÛï¼} ×_áèyΰßåõ)E0Ú)0<¹‚|Éâ£wçÈ­k”¼¨~¼€a²ýxhàp9¥«–1v_zq<=/q–< d¹;€"ÝARu#aEïû+r`JݶÏ}W꺨Ԥç1ža7n¿õ¹ó üYN¸õ¦5|䋘æSä6ç™ ¨(Gä%!°˜›½81A(þ]Ṗçr¶¬ÔbEëÀ{Mn #ÒxÙAèȈYAI!Ÿ÷òTYîÒ†áe]³3ˬ’ çãN%÷áZÞwßgñГ|ß›–ð†›¦Ø±Ì ‹À>ïÑ…º»Ug†Ë«ŒÓ˾ò ãÓßHñÌ!…n¢«±q_/žÃ0Ú‚a²½Äe 1E hÑ e¡°*lÆÊ—+ËèÛ‡5ò8ÅcO]†žèáÀ¡cxÓ-#ìÚ Ìϸ y¡×Ö¸>"¬§—RÜÿãcwçøÎóŒ^¢]V`ºèÇ.Æ èGsè¨>"Š¡¡<¹#zØRW­nÁ8™hP6…n»e¬Nw~EãÛûÎâ¼} ¯»Ñb~ÈèuO]‡*EX]gœY¶xøi‹?ÿBŠ'_$$±ã…%Q3ƒa<_«t̰b¶TUžÌÏ­àòËN¸²õAø•ÿÇà]·­aïÕc¼òš —m#Ì 3iBž5ŸÒ¥ÅKG{xéØ.§†jÇÈy Ë)µfWùhœ~¸d>F¤:Øž¸© ./Á`ßö®2ÑÏå×Â#±Ükªe[YÅ}ßÞ;á|*íÔ}F)k ä¦òœ0;;ÂñSc¤Ù¹.äŠÀ…ÇËCD/O-%Lɳ’¬}Å"jiRr¥ gYÆ©S;ðñO½+“SXÆÒø(ÖÓ3˜æbP²,':&Æ Ž`”Ó*WTÞ̘ˆƒƒÀXò´ ‚u¥WN€ádŠÓœ\›WS„DÇXYqç××ñ鯰g÷»¶åغafÀ \©³ ¯Ü ˜¤Œo¿#Ï€¥%Æâ áà ‹‡Ÿfh£AcÐqÙO¤\æÑÑôãÙº#—„ÃNÑr¦ÊY—…¼sÉòç: É¹1Òˆϲl5»ìd}áK÷ÇøÜ7×qå® ®Ø™aË\ŽÙ¡…‰][»·*£8³jñÌQF–1––g— [ÆùÒ|\̼Mqv1Ãéżpúæ"°¨D U™mAXÅÖØ+Jø¡»6ÓG×ôaJªRUÖ[Û¾±Xn¥h¥™ºvEÊ™eø¾X RˆUב‡#‡gƒ¤-‰ýVŽk.*Ää%ûÍe“jÿb UŒD»î§e C1R3f8Ä F;ZGÍ©#„Ó1aÕ &yòÇ,üؘ½º#Poð¡K»mßνÀQ”A¢zèG³ ±é!ϧ°”G¤Š9©:‘-•rYA‚°å\”°*µ·Ã *¥oHŠÂ¡Apô *F_ V±Jç]LõÓl„I4Bš+§âŒ3§[¤ó¶šÕ*7´*²ªÊK›Ywk¢&Å8…ѱ,¬ç™X¨b°ohëîå5 Õyö›ª¤ –âºmO~‰áeâÂmØ›5 hLÁWìÃÚ ZŒu¿À²l¡¸ŸtÓGlz0:)UÉ©KºÐ= „æCÕF©²xM¨šA>‹–QUJ™]Ì@“A— ¿8b2¡@P**¦÷]_‰”*™dðAYKêàa”ÃJ¶¦š7¬ %”V…N“SKHÍ];Å4s@išO\ÀbaiÏVLÈ;çé’7¤‹SÚ-7½é†’âûQjnMeÄZ}-[ýÊïKsˆ5R±ê©qÑ%56‚QĺWhMÙ)Rë˹¼6ØÚÈ¡PÏ$R…ÆS!£c—a©"pY‡¡¸¡¡ª²£’‘´b02pË5D¬a um‹CÇvä¤fŒÌº,+·)2vf¹¶t÷®ÞJ»Qª³FSdÆQ¡.ážY‚Hô‚b°ÒIÕa¯°Çš¸L¤Ûž3ì%-ÔVpp>pAl\ö]É<÷P‚é¾Ê¡u Ú«eßž)‚æq±ÆL££‡$_k«80Üá>«¢¸Æ'‰p>̓ \̨ⰰ"N«™I‘WÁ8¯Ÿaa3VV£e樊1'­ EµñXY!ñC¬B:¶z—Y#È™†èD ­LqàYïT•Ã/rè9ePÑÅ*Lð{%oÍäIz—pŒLÃ¨ÊØX‘¡4!¢¹Î+÷¨šVTR|Ýð½ø¬EÛlsè鉣uöÁò ö}'Hzh5)OL>à]–id ­u‹U1X’aD‚Ǩ«XÊ$]Š]Ôä¢+3BTŠÊðÄ.˜Øï(–î™]TJ»í­ ŒaUŽˆ;”F.NæÒ­³sg.ÇŠT¥ý®«Så6p1lZ:*{¦-ŽÛ!›!°‰¬É¶ägVuü”£UEæËk9¬²°ºØÄÚÂÂY71ðî­eà+6T9|«Tqe‹TAn„=Šl™Ä"`!’Ïž³M™Ñ³ÔK® 2¤\³¬ 4;i!Wþå• ŠÃ¯\v…Ò<ƒØ÷¥•£~òÆpJ7œú¡x¼k¯å âj@™…yAÑ÷€À0k“¾,IƒÒù9tÍ ÐÅfiËbM ìÃ+E fIðìSýÍ^<=E"½®g4ëŽÄë ò¤#Ѳ÷绨Jí+vq uKþ=nFIøecáb,ï±Ì`œÅ—rû¢ñ¨É¸ V Wb~³î,sØ¿&ÉÔ 3.®qžJ£^ÈìjÔL5ýA*åôa€Ê—U¤ªkVå‚0,IÞ¨W©¥'e](H`7Ì”¹â²oÔ¢ê`á7´¨£G À[Ê-Õ? ŠùæÆ$»‡ämˆ[ ³°Ç €ôØñ¦”«l” p—úb"–·*˜_8ÓM»#?»V5NDåÒ ¬îÞ@Xµ¼ÌVð@˜ê ahQeM"3*;!iGïª,75³£0ðBÛdvš›Ž‚™Ëú¾rsà)€ ‰Ù; ~Dò€€d}Ë8Ù™y®ÝðYãÕý«ïH9*¥§I¤µ ÀÏ€ý#Ç?Vý& yåŸ;œ <Ñcì×Ï[n$9 F‚sØ„ð›Þ±% ‡jÕQS¼vóFkì¼r…9zÄWÑéô4‹£Ý×Ƀâ°å‚ÿÕÀx¦,\\d·]T2! HúuöEUÂbêžÍ^=Ïës9/P­¡VLvËÚ—…¼‡VZ€/—G~&Q=Aª=æDW²Â[ØŸw’“å× dÈÏB~ýì M£EúÍüDØIµµ »ŸûHÒ\ÛÏC´Ç[å§)‘“ôžc=ÇI6èmÀ2o1И›÷H¦$00„ÉSF½S_{…Ê´QØ´Aò¯K]Îð)p`†ð,¤– S`²Â™áï‰Ä…ÃûTžPs Ÿ¸ήি>¬^Ç>¥¬z~\‚EFÒŠ¹J€<À-‰ÈSF›¤ ×£8òýeÆH|®°–Z|  d e‘Mz‹Œšë—K­ÎtWäAftá|Á%!0T%ßAÚÏFB£ŸÀY䕇îÑh–Lòôld)e÷°A0­3½pRÁ(‹’ˆÄµTe TJ‹ˆ"“ð—̬dM,ÚùTÙzË{Ä"¨Ë*X–PåiÉb ø[¿.^ÉuãBÌ™{d„ É.]ýÙHè†Kܲ¡>Äðø~!)™ÚÊ9@¼Ž ‚–Xq /.i3B<<ÅJEæ äã û‡ÃÇ}E·‰KA)òà©pžR>7a'`J!àÛñ…ذ‡>šëž€Qð¬Ê5áU+ð$>LüòSÐ/Oe?¥—sv p»…ÙLjJ›ï€¬ š£ $‘qZIyÔ€¨•çR6åmÇ–ÉC I`($’ >ö°6¿2ÜŒ-jÕÔ\/@VÖ ÜP‘lÞÁ¼R°ñ}Ò¦=ìau~Vëíyªq–™·¤Ã4‚7øÓÀ{6óº‘;¥½P òkÑ• ›È~Àô?O›IGð˜ÎA÷h¢QáI/C·¿|…'ný=‰}qò¢ÿM\ßó^Ÿl[g†8àÔ–ãD¦Ï+ü‰<ð½¾&Õ’‘Q°êeþp{Ãå‰[Epj3%÷FÏü ÕôêlD¶ ›¼™~9‡™ac]Éî"{m'Ù ÀÍUío ºƒPµŽ]¹†DÖ(-PUØ„C°×˜½lVWsH•ÌÅ‚î£`j -BíúÑ/Çòjs‘nt ›¬)qô‡ _ûVlh !Ô?mWÚÞ†hȶ`NÍ•ØØ,¡ ™6¡%ÐÛxù–ÂÓÓ £æQÓöñ8œ/ósxJdT›oVûyë¦í†ù‘Á!Y×õÆó¨'"E÷ƒv¸ȇlØ§ÜøÀ<>âuIµì²°ÄÙìðÛ|M…x"Ú°ÐàÐ¥Fii¤…`{Ûa…zÀ›Èï†S£º{DdáeÐcÂ3#ÀÕê{ÛZ^^P†b$-›)\èìJhÙøÍs~s°Zà ˆ ·fG²SÙÜ”mFÙÜÚÃò‹Þ¡€[NÕö¦ù…±ðŠTó^½ÌŸóPk–+_ÙSð”ê." ü£…ÇÕ€Ö(g\ÏïÛSÕ'æ÷¡@hø>sQ”Ü/8×´—Æl9 ½b–Z0 •@A›lGÉTäs4~Å4¾¨}ySDDYù_K6Ã%ß®úIòÔ RÖ¿·Y‰O›ÝMOß›ZqŸVò›M¶[í…™—‡PØ3 ¦. Tk¾ÝøojC{É_3ªqW‚4 \/ÇUØdj ‘^h"+ÂH¹úU È#8™™5JØ`_´5ÆØïv¾\ÈR/·9̬¨-ß²$Fªky<j9‡¥Á²rÓ àsÀ[Ïk´¼O˜ÏRkï¨áõiž»éýF½þX¬ëÊm§ñ®íì Ú¤–¨×cÛU·å´ÔrßÂ|›€.Ø,÷jñBçÖÃÁÿiÕòß›=£öxsÿµg[­É¶¬çÄ¿ÕËfa$äà_9,G%´&…Ö­NŸ5»‰Ù}°,l«Âòůšò›%¨h=ê’€›mðF›½:µ‘ÔÇû½¦š´Øœª¦›ð„$9)®‰7i„¹g ZÙ÷r¦BBe]ZoVÔnV(¶×Á €bj „Ü05ï¬çÊTÏP©  s K›ÂÜĤ–\p(£¥—Ž–à£aur@­¥›£¡Æßí L{ëi³²ƒ”‚#Q¶Ê¹Ð¦_)A•Ó XÜ ¯ú3P |Š©¹!Äs—X“dšif!ìcQäªÍÌJ£Û@ìs›Ú0•:«“4/j é4šXI8’àá&Á2$É".vÜž ÈMZ Q}=Þx¼ÛÌž7·ðXÀ˲Ô$j SܲiÑ(aÂL[~&´YÈkÞ«€'ïžx9W%4ùQ>ûžZ6d3¬m~t…8Z ™Íƒ ;ƒòWT1›domÎóñlqŸBKǹÍtµyäåù^îNͬt3gê ê†'FIÏoJ’©B5ÅCÔ¿ñÌARË£¾Ve%S@àk9ežB‡Ÿ çò;w>/¥ê 1<¢¦7hÊBœ$›¼¼†&ýBB¡Õˆû'¾×3 T#@K‚T&¹q¨¬ž4û“ûð•ü&µ(Ü@kÓ á6cX’-Üæ½´'²)¼»u•À ­¯šˆò®ü¯ëa`A¦Zôrr Ä.{•¼7‹n2“À$›¨³òÉÂÜ,Ÿ+ùe µeÅä‘ Ið›Vw‚Z°Wj ™ LS–-‚ø«˜7!]hÀ ؉•·`‹z­öZŒªb·†@¯œZ )¡Ž IDAT¯EÙÄ@k {S9_>Œ& )µñX؇ëáRÚ„•äƒè 9˲¶T¥¨çYd“r¶Žë8.¤j(¬Ùئ´•jR àYOöš~½˜¨‘èN’-- |w•* s8õRëøWà¼0ÿ¶bî~(ŸÇäþê>Õ ¶7›I-¡QÎUƒ[=þf#y 6X#í™"µl@¼|®- {]ÍqƒEËÄE•݉’–sKÙïKVòååì£×HãꙆ?¨¡É 5ªˆšÅËM§–™Û‹Ý›C¿ì TÖSbVµeKc@”d­Ê¹Ì¿ŸTñRHÂÿ¾È<9´ü-õDÙÇ©(è 4+}¹ B ¦ `V‚iÍì”D]/q½ê=8èš4éjì¯hsoH‰:§‰?2ùXy‹;ò+²|‡£9ÀV8(Q<ù?›)YÂbX³˜b‹²WÌVzÊ¢Ü!j‚øÕZª†æÈË2½²$øWð5©ÐôI¬²oöNHW‹gRe¦@C¡¡¶Ë“ê½$¹©MÅ>ÁYÂ+RªE"á?e‘תå_Up{"ž-Ĥ–,þnm¾”XHñ,$B•äµJ…Ó}_â'M;ÆÀ1DêF <‚¼r¢eá–úUÌ äD¦¨þÐ¥îÍVF’‘[¾{2:Þ£ ‘ZC ²ÕŸ‹‹®àχU-oãS+wÉã8ù‚¡³><‰Yh1Q0WÉjÜ‹ER1Ijâ0Œ!‹(A¢1°ìO°6d¿qçÕËþ|Zd–Èä `WAùþ¢Ô¬&p»ÊHè8ÿM,S“'äo Ê Ý.#ó²ÄA[žèÁØœá&¦€ &­Ph³†-ÞÌžr)„C|•8x™e­ÃÊ5Ô/.&`2í-ܵ¿ ›çRµt2‹‡Y»J# ›xâ]äEzOجt‘¢€²3YžR¬ ) 2š)(µ)ˆ•]Ï0€×ÙO•a±/[Q¸>QýÁí´„ò­9ü–êÒ€¢Îfü!T'©Ì;Ä# û4‚¨Ôƒu‘<Ý3n!¨©&## YHb"‹ì6${x e/7ÐÖׇтEɵÎAµÑÖ–¸$Ãb/¨Ï²‡>ï£,σC„«THÑ­mõdP÷Ó†ò½¤7‰WÍü§)à…9²$sÈšôª/jþ<ÎAî½0н1<„ø {«³¾Do²ÐÚæ@çer™+áÜÚÄÓÅ?P)[zÔ‰R}@Ì›‘wºÕ*,Kd–›Ž……tot­ºCðuŠ8¸ñ:gMé 9m q[)½ì—±™pp0… »•Õ½ïã¡ÏH>s“SB\[§•Á]JË2¨¤h°Ì”<ðŒd‘çÀ" ¾.MàÍçâUŸÍ{ÏV0^fü*PÛà†®e-5È[¶apMà@½”j‚Ò`×’×)fq˜#h(q ½îw9 ÞÂkŠ0ùž¥!¹›å½¥Z_|ð‹7¡hHý†0 #HéýY¥Ò¼ !þ%êdª-Œõ¢ 6šŸ%ƒœ(ìЦìÁA'…°›› AÕñ“å+cÒý„‚!]q­RSÊËŽªL‘½Î£×6¯î {8W,XÀ\ugDéÞ êÕX ¼6,ëZHÄ!d&’¿Åìuf_‰C–¦aYQ‘fbñ“;P "Aä›ÇíD`yERÀ°ášÍ>æÊá¨;0Hâ¾2ò„å² -ÚÖB÷]b´Rö©6Ï%ÏL"8ƒ˜xS*¦þ¼f ó®ZÆ Y^’×Õ÷a&B¨ìz‘%¡/L¹ …Ä‹­²‰·‹4_¦«åsb X(IZV¥–G%*çOàW5Y.€ëòZtXW´4zʼnÈ:úBhIYNmµeö¦¨1 LÜÒ±åÐY‡jWf®ÿ.ƒà UÀEöKªÀÉt ˜K“‰J‹P†y` ñvéÎ\©^¶yÞ‘ð¨lÆÄ5Á+ñ¸‘¾2û­M4U#®-/ƒáªÊyYdW—ƒnùYe9`Û!4Ð6ÓÚš=JÃÄ€˜í=)®/Ožæ9ˆÞ†aÞZ2åå6þ ù©1`}{7‘{M›¦#‹þ%Û¯MЛ‹Ð›3Õ¦³–±z&ÅÚ©)Ž?1g€I”g2àŠåC¶À`§Nê÷ÌSÆÚÑ\̃úžw …4¿6꟯cNÌy³Î^ªŽX8¹Í’ %Ù÷,¬¨(xgß°Ñg ³¿>HÁæÀÌedê¬#]·Ø8“F¯ŒJSBî–ýMYA¾ìÌHlNÈR‹¨¯°óUô"ôç ¨h?’ÖϦ¯å8¶o„µ£âžåÝ_ž rC~Iía<º­Piˆª–ËA¡iA¡Är¨s. “ßÈhÑÇ"ÏœAz÷»&QèmÓ¼è.n´˜cºÆ.Il’%žpÍAKä6ŠN’ERÄ1ìæ*O¢ÙƒsZéÏ› óÇu%äAâ‚@yá6_ÕÚõ;%5êïjoÀ‚å캧¿Íþm:bl{E‚[þÑì¼®¹SW)?ÐÙœasÆd-ǃŸ>Žg¿´*L>Û¥k€l¸íýÛ°ëú>Ø2”"œ92Â'ÿÍD±K³t)BJátÒäM÷Zü<#43ž¶t.L³”£ ¸ÄÜ`Apjâ/ÒQŽïý—c¸-hCxî%|ýBU¥€òæÔÚð§ª3éZ•3›2f¯ˆqý÷Î`ï›ç¡"‚Rp™±¼†œa-M,N¾°‡þòN>1Žue$*¯«ö´ôI¯•5×sˆ\Ž=÷Ý€ NÜbs@±Õ—Îòº²ì;N«Z“¾'\Ï›ýô¾û×¹]1Þño.EÜqÍ¥è‚A–z,S#¢¶T‰I`¡Èêck—öÊ-øžHºeU&°¸¿òáÚP¤Lˆ\„"ດXCÃ,@2Ðxë¿Þ†«_7Ó~Éø®Ý/Å]wýWâ•ïZÆ—ÿè –L ÛzU³qË…nsD…¤¯]ÀÒÓÆéX;+q&ÍPÊëF²° PÉà´D !”>4EÝ ¨¹ŸÔ&ÒT½äHôì ˆ¥C‚°$¹»†w5’¾3k5‘‚ŠsLí” [ú:–¥¦”H›7¼{w¼âDÃÚs=P‚% W¾z×Ý>‡¿p_ÿƒ£PÊ8l¥ýñÀïH3|B«*SÒÙ‰%mAbR]ò­*‹1‘}™_¯á[wèü±,?€Õë&›$iBÒSˆ»ºXVM0ÎÖQ C4Œë´ œÊ‡z¥Ÿ%yÔ ¬€ül^›°ü¾×õ îa@œ'A¨å°zlåb‚I¹ó©÷^†é®$pXrpë‘/Áñ,šüÊòÇmƸä•]üÐo]Žëˆ’eЍµ‚‰4âÄ Š ´ÖÞkdS‹WÏâG~ýl}%ac²Š4ŸÂÚiڧшO8iAäÁ'Ü‚ËVÝø¨’Ó)ÌÔ.qQ%!£áš±©äœHÏ›Ž.X]ùÆ!¾çŸoGwhNlõ»Ql°±>ÆóOƱƒ§pü…30‰Â·]…kö^Á°tšp§Ž‰ þÁ/Ü€Ïü‡Çñ½Ë † Ž¡Èx´Gù9-RœÀ†°qŠ4»]r˜ª96"¿‘T«2Á–†K¡re9Ðd#Iç&N¢Óï¹âQSùÚŒf@›šBQ«xÂw º£ÁYn?áY%©z˜²ØQÖæ.qëmAÒ×°yÝþ7‘Æ7ïzù½¿Æúd£Fëcb|á“=˜Èà}?÷øþ÷¾£Ñؽ›etzÞô¾«pìŇ1:À i‚R¦¶’(çXšG)ŒŠÑÑ=°ê:j¦Õä+!ÊÄByN2„0ÛõøQ“ ^«ÙãÿKæ#µ8æHpÙ—|§)€è›@ø4q!ã –Æ'ÐfaTŒXw‘pÇ+ã}/Jå: ŒÑ†Åíïß¶õ(˜NR|à7>…Çï£u¬­năþ ‹n¿ƒÿéW7¿ö˜Œ§Õ3}ÅwâÛwÀ‘GÏbÏ#Ö}6E·‚v7ôÆZ ã¢ýÚxùçy´‘÷'Ï&°v‡%ÆvÞ«†«ûî™Çø³ÿù1Œ²¬LOamºˆÅS‹³…I5ÝCnzˆ,ÀZº^sEª®¨ìK=1³oBÂ÷}tß?‡Û^äŠ0.íÌ*ÚŽ+×)È¿è€Eçczïñh9 Ù¢á¦žÅ–Ý ò¬V£ þï_ýøÊ£Èx‚Üfî4P D +üþ/þÖV×ñâû0¤ÕU]zÍvß<Àw>{ ÔU EˆX70±"lbmº„8Ðf‘q†Ö¦V:„§<]f<á‘?G' ªõ†Q>û¿¼{³¹ž»oûLyôòDúj9Ã([A!ça9CFĵòjÃêBìlk­×ÇØzylëS8Ë,~ýçÿ½ï)@g°`(¥ ÉÀ¦«‹#¬.®ã7ÿåñ‹¿÷ÓØûÊkç.Ûîö:ØýÚ>ö?z :3P¤AªCÊÃTÉ §àF§*[®ÌsÑÞÞ‚*4,ÙÉc~¶IÏ´´æÙ?dHœ@²b) "²©ÅÚá1Ö¦«8;ZÄòä$Rž R ,çŽØÙfß0qhšrøÈG(ƒM‚P-8\-·ø\Þ?^3¢ê„†÷Ôçö…rÒ—a…Lw–<FMB¢e“«9ÜapõíÃ*³€é4ÅŸüú'qï_?€ S ­ "ÝA¬:0*"¾æQ†þÎW0?7‡·¼ûõȲ¼z¿×üÀåxìžX__‚!m´  <€1Í7æ.02¬Óú!_ÏÜæ Ò@<ÐÐQý@lΘnXä#ébˆ1, Åk138ÎT ßî=ÐxfËÅæ¯W›Òð'î%Û¿dîç€J¡ö6ÌtÃbº–·v5,rLòbÕƒå ÌÖ“’'øíóŠ×TDW›vìíxïE¾üÙ{ðÐ×¾$9ˆ"• £{0:)ž©³ÅxiŒ/þùß`ϯ^­uq-®|å6Œè!ðT!R”rKyã|ŽºÂ ÄCû©p6µ˜¬Z'õ¨•}‰ó”¥m ú*‚6@\ÞÏ‚3Yɫ앭 T R*p¢Å{Û\N¸»”½l,8W@®@Ö@s !Ö ¢b?(R¥Ã)¬¢!îªZyƘ®Ypæ0i¢w%1­zØ Ð !/U4âÜ>ÈŠ}à±pʦœìþ5#7ôPZdòbGs(¬3CaÕ6·Ïv¯½®ÿþtû5nÅÌxà«ão¾ò¦¼"B¢{èšô¢Yt£bÕƒVÆ-@N1ž®ážO>…Wßö ôû]wj+…o¹è|ë‹9b•À¨ÌQë5YX0l±9Ùèµ)AàÒ×ö°ë=Ì]!ÔN;鄱|,ÅÙc~l ‹/eˆ:ŠZøw ÌìŒqÅëúкx/>¸†•ci€9•Á Øvm»_ÝCž»¯çxá[«˜,çâd¢ q°9#(\vs;öv°pU eê×\9–âÈ£xòK§ª,È;YÙÂÂÂzCµhi/sé˜ÉzP ²:x¹ž@C#Ñ] ¢ôãytÍ‘N  aa1MFX:’ãì©ìÚ½­ [hìܽ c»›*tL‘îº CiÇϲŒÜ2vÜØÁ¥7ö±åšÝ9í”GK9N<=Âñ§7p|߆Ã}´ f݆6±Âõß?D”8©:Î.ãêÛgpÙ-}(ã.}²–ãø¾^úö*†ÛclÝÝ-‚`sà…‡V±|xвÁš3Ý…+_?DÒ+ŒJ5aõô/Ü·†ÀÞ>®}Ó –OñÀ_Åþ»×tã"³Ò…ìŸBC ~㦂¿ø€Õôâ`1˜‹V pfœsÆöW%è ²"»""œw>ÂÞ·mEgp×o¿€é†qe&Eþ06µÈ3®6û¥{‡U ’÷22G^:…'¾roû©+ËI';®OwÖ1N "݃Qڀ蘰íºQ¢§ÅšÈrÑ 4EâØsfŽ2lÍ]áõ?¹Ý¡à1a:ɰ¾<‘Ocf¡‹­—Ì¢7èÖDM"¼ù'®ÂÉCKØ÷2½!ŒJ`”®:1!жž.cyr]žAŸg@fàû \ApÇÒ3X™LÐçYp$ h¥ð¿º Ã-±×qŽSœ9±‚Õ¥ ,ìbnëÆ!W¢zþ êt·µ¢+`À=´S‡Ö±óêaÅ¿²Öâ=ÿè¸ãí¯Ç½Ÿ{¾ºŽhÚ‡±=ðD¬`ƒC)·saj¦ÈsFŠ1ŒŠ\p&—¹*"¼éÙŽmWtMëkNÓ «}á4Œ]WnA¦ ctÕ}¼îuÛ0ù|á7žGžwsšb°R¾Ô|LÛÜbc}Œ8‰ÐéÆ˜N3|é#÷Sƒ§>‚W¼n7òÌ‚˜¿,Ao÷'Ÿ^A?ÎÑ5Cl:C…K_Õƒ¤ ž>¶‚_|«“ÓÇ4ÎÔN0ÉÖe FŰŠASÆm?»€kÞ0ëU.°±:Æ©£ËXYZÃeWoÃì ÀuÝUnÙÕÃ?µ _øgÀÙ±éBÙ×¼cˆW½gÁËš‰€µ)V—6pâÐÙjMõ‡ÝzæŒwýÓë0MÇSŸ]F¯ÓGÄ ˆL57Š0B´ÍÒÙ º7¦Ô|xnïJ¶xg¨ý…RØÿì PJ!V]ô£9ôãyô¢ytôÐ¥½J EKŠ¡mä¨la“ÃPŒÔŽ¡È Í Ñ=á¡Ï®AÀuï˜ÁÖÝ ¦#[‘e—N­â ú¾öWcéÌ2TÄxÅíWâG~æ¸ñÕ×Vü!›ß÷ÏnÀ=ôU¬­æè%³ ¸R6  ÆÚô4ÇÇ‘s CÆшrÇr,ONbi2“…V<2øž¾ó;“*X)­°²¸ŽþþWpß¿ƒ•ÅU /éàÝ?ò¼ç}oÁpv›[Ïc°Bß­ê5XÊ:}¯ýçñÿt=z½¤êöeYŽÙÙÞûþ;¾/ÃɃ«X<<Å©§¦X>šbc1Çò‘Dª‡~< Mi>H¡g†H´ËÊò)ðŠ™ÅU¯b²žWßÉ#KøÚ§Á½ŸÇ†å —ðÆï{~ø'ߎ™¹‰Ç9nºã2ì{óA<õù³˜éÏ#ÖB„J<VY–á®O܇¾ú$.¿f;^óæ½8yì }±îàÑ{ŸÅÞ[/«~g~Û[®1xþñƒ hÒƒ-îÚàmWuªÃ›<ÿäaìÛ·±î``ç1͇k e+XžžéÜÌœ`ûÞnüÞù*X9ÐýÁ¯<…»?ñž|𦓠æ/íã=ÿÝ›ðƒ?þæêàbWݲ3W3N=µˆ!3æ¶ÍâæZ@ÜQ®éD„,Ëñøýðõ;Á#÷<µ ¨ØûºËñÖzÞþž×ÃZ³{Ã{¯Àþ‡¿…õã9úÉ ""0LÓoÚ¢ þ6äešš6rNš,,ŸËî´Û{uµÖ ßüâ#ˆ“ÓCÏ Ñ5C$¦‡Hŧaå¿^¥nè.˜ç¡ ëR;…&B\€ö±îÀVeÖ¹.Œõnúþ¤ãúŽÖ&øàoÞ‰¾ú8rž€Ç-ûÎ7ŸÆáýÇñó¿ý>ÜxóõÈRWªôÜñ¾+ñ©ÿ8.YPP!¢n[»Ù V§gé½|]›¹Lƒ€¾äqÉÛÈ–°–®#Ñ]ôô æ/ÅÕ· ½Ìj2Nñ‡¿øq°IA}‹µ•Ÿø“/aéì*~úþ!Œ6Í ‹¹iS GHýScŽ=¶Š¿ú?ÅÿÛ›0ô¥®c“Q °}÷;®®¿­¦-çX=žâȾ5ì¿ÿ,NîO00óˆU‚œS0±î ÑDÔÅ`{‚W¿w“¼ºæÕ¥ üî¿ü^:ðR;" "…³'—p翆Ÿ;Œõ?…þ fF:±xçû_…ûîü8ô”€Då)³¨¤w~ønü—ÿði0ÜÏøògï…Öyæ°£ýOÆâšÓry IDATéUÌΪ߿þ¶KpïgÃFÚA¢{ˆm×a•ÐØó–!´VÈŠ žN3<ñÈÓX\;‰ao‘ê"ã¬ñŒ&ÙV'gG1zù,"Nqã÷ÍyÀº‰ ¾ø±ûñáßýVV—m¡zÀò™úƒÏC)Âý÷owÁ’™¹>vß2ÀKO€É5nxõVl¿º[QŽ˜÷Üù(>òGwaiy–2P×=õ}ÀóOÄêò*Þóco«>ÃÖC\õú<ð‰Ãn8VHXûö\ºò~~.þ¨:– ¤-<“Pi¦ªcˆ”‹í̱ED:B¬:ˆu‰ê"¢Ä1Õ«Ö9öÖD †btL¿Â½:;1—ìÄLQNƪ+fÑÚSGbW®Þðîyĉò@Åû¾ôÜs×ÛUd<›gØ›Åd øƒ_øò<óÆK®ºi;Ìöu¬N1ÍGÈì\é„Ôïæ#Œ³5Líy!ôÒÞâ(KÛI¾ŽqºŽ”'H³;nè ;c¼)o|þ!<þÈ“ÈÔ2;qŸÙtÐOfðð—ŸÅ¾‡%ö¹ö(,¡?_c¾¥XB(ÁK.ãOþõ—°ÿ™ÃÐFûïÅ.xåÃfŒ¤k0·3Áî[xýîÀýÎ^¼ëß^…áö:˜Á0Þ‚Ùx+Ñ…Ï?±]EŽ) ‘î — 1Ó[À3÷Ã>ù ÄITmÂáL׿m‹ë§1ÎÖÚ lÙêΞ^Ä7¿z?Ö§ËÈ16 Óu‹taTÓűç–pø¹Ób[ì½ùjäj„Qº‚i¶áp]Í=·‘§õÁ8MqßWDJ#d6ªµàÿ™Z7K8ÍÝÈÒüå1¶]Ó­‹­ðü“‡ðWø–ÖO#%·¶4ÅèD$ª¿ö4Μ\tuí¨WÞ¼cµ„ ^ƵošõÖÞ©£‹øÄŸÞ3˧ò:˜shŠë>úÝYDy_ýËGðÒ#Õ>PJaÏë¶ýul¤KÅõg•˜ÑæNç›x:^qTˆ©!,;+ë/jÕjg“M*R"h2ˆT‘î™UÁ1JŠŠC_=@)ƒ¨Pk0ªSe| ª œ(¤›PÑêh-°ko¿P?ó‘¯`Ê#hvmõ~4^4‹D÷ \nЇ¿ù^ÿ–WVÙD¶ƒ­WvpôÛgÐ1=è(mÁÑrÎs¶ØÚJU³8n>®ÜæÈÙuÊØZÌîHê63“ñwò~l¤k[$ÕgžC¬L')ž¼ï öÞr5¢ÈlÚZá@±•pÈ>IPAè‰éáìs+ø•ü_qû]…[î¸7½f/”"˜ÈŒ²'”&@7½m®~í<>ÿ{ÏâÈCˆt £bh¥‘N»_9¨~Wk…çž<ˆ‡ïy»#Ñ}ô£Yô‹Ö¿"ƒ<ÉðÕ>ƒü?¼»Lgfì¾~}æúbÕ…E“sêÄxþE"7afÐ57  ;ˆTÈ žyànxÍî #êõzx×OÝŠOÿÞC®3j'°i—ßÖG.ª2yR„Ç¿ý4^|ö0fgg H#R ¤÷q̬zþ¹µè/ôfLuµVxø›OâÄ©ãH푊Ñ33èGsè˜4EXÞ?ÅC_~;÷Ìaÿ³/`um öÁòê âa—í÷öÁƒßx„êd.ðézѺÑFÅ€õCkxîÁc¸bÏ¥ÅçdlÛ5ƒ<ÚÀê #Ò=ĺÖ8ÈÍá1öç/êm’jÍòVA5øæ žÎ· ²fÌn‚&†"D*•¶RM’áêÀ— k@ ®IlŠèœT ‚[w÷`mÝ 8qì žxèô†1ÝÅ0ÞŠ¹Îv ¢-EÀR˜Ú ''Ž afG mQáСXZYtÔ‚÷4×¹Ãx ÝAf2lœPȦy3`±ŸS8&Ähq|dÏ8VQŒD;j×¶+ðÀ_¾„»þü[î2¸ùöëpíÞ«°ëòíØ¹{¶l›G¯ß…Íyž{Yxoãþ:|ú7žÄ©}) 4GˆÂì%±wØÇ¼ú{ö Ë3D*r%šAW÷눔 ô4ÁécËØºc® xÛ/Û‚ÕÉYldÛÐ͇Èó¸qßO=ƒ“‡±0· ýh¾X /¬­b%¼ôÀÆÿ$CF¥ ¯¹ýøðo|Óî:R;Æx<ÁÞwÎTAˆŒÁÝŸ¹qÁ¨‰éHÒ2 i߼º‚˜NRxú F“ Ä&F7šÅl²3ñ6ô¢hŠ‘ówýÑÓXÚ8‰µì4FÙ Œ‰0ìÌ¢;¯1»ÐÃúʸZQGáÿ#íM£-;®2ÁoGÄ™îôÆœ3•RjJvÊš<ɶŒÁ›¡0¸ªÌ´h4PE—©.ª ÌêXM7P .¨6¦ÍdLy€Y²¬ÉÖdI™š§Le*ç|ùæûîtΉÝ?â 眗’E®•^¾wß½q"vìýíoß-ßs ”/È6Zª‡Puª6y`ãxŒN·‹4N!•¡?ÌÌMA«1IŒv2…‰êÀ”QktLuÝyqa´ýõeXTºPÉÆá&ÛÈ&û¯¬œ\95Âîk:Ž¥5ãš÷áÙûNB Ãa’E±EÓšˆÔ˜¹¦Œ´+yXît¦Ö3;¢¸RâÅgŽ@x)"ÕCÏŸGÏ߆ž? _¶@YŠŸ' 7Æ ÝéÃÉÆÉ&rÜPÖf…œ2™6{ZÖÈMØShoñ-%]Âêò†Ã ’ˆT]= zÁ\6{¦ÑuɈvC׌ú“«º>Wa‚R‘Y´¼žéÎö€(Œ°¶ºˆ¾ø îúÛGàµ.ºt;¶lŸÃÞ+wâÆw\‹ënØ0!ɬí^€ë>4¯>ÿ8Ñ ¦v‡V¼J“—_½¿ù‰_´¸=Y¡Ò™%“Qê(HlÝ>ƒÁd £t“Ô¨T/ÔÅ…e^„@¶Ðñ¦²õÜ’u°=0ô•µS}¼úì"®yÛ.Sö¦ïÛ}7lÃÒókh˶ì›Ã®kÊL^ÂÙ3çñð]‡àûf†3Tm¢ •¬æ¾¶ùßAKÂe±o×VûXZZAÀ—ºÞ,¦‚mYÀêËZQ„ÕI sÁIøØwÃŽââÍÝ~ü6üàGo·,Â8ì]šCsñ³ÌŒ©é Œ’1†éÚzŒT§PŽ "7ñ®+èw/à瘌–JfÌ+£Â˜• øl~Mk‰;?©5.¹â"<ýÍæM á˜8¢bƒh+ÀäÇ:šV²!ÓŒq­Ã6c–•±˜ö7ayiODhySèø3èzÓh©ixÂA¥|˜ÎSÔ*ñ¯Tǘ¤#ŒµÁ°L†ÅàV³–"Î•Ó \›ŠŽÆˆãžðª:Þ ºÞ Zj ž ÀX]bè„j¨5ôKÓW®!\¶®kÃðÖ,À‰Á-´$A„ ¾ ©ºþ†I“tˆ³‡û8ùâ~ëy|ý³ßÆ–Óøåÿó£¸|ÿ¾¢ƒ™&oºm/¾ò§aýÔ¬†mªSá`Œ7òGk‰bœó¨t³é¸)á™é o¡êB2jÌ žÄ#Ÿ;‰ëß½z”fŸñ®z3þâ±o¢+7pñ[ÛPž°0G÷Þñ0tªx!ÙF$»d˜©S¼Æ¬¹óxñ$Æh4‚¡j£åM£ãÍ ãO!’ÐBÂ¥e ‰ŽAZ!TíÚ>' âIò]¯-3§1&ÉqšŸƒ¤œ¬Êô8s Ôä_ò†ŸíΊ5Wƒ»Ì) g_¹ù†9póµøâÝgÊ sx]å@f1ÈšTøÈÿ¸AGàøSœ|jˆW¾ÑÇdAÿê±'HoFs0ór¾ ª6¬{©dIðôÁ“\›7ef¤#ÖfVQ×2,ËŸW£!¤×ž; &ö¾ "’BÙB ÚðTTL†O‹YîÉN±»m[7gšòŽI€&l½ÚÃî["t¶xènQ>ðíOƱƒî#Ûh{Ó§CLÒ쿇˜èâN¾°ŒÿüKŒßüÄ/ã²ý{íü ûß3ƒ{>õ D$ë Ö=ÕšÁy-O¯®-o½$I¤1ât„4‰ž“yJ’|ø"@ "ø¢…@FðeP3¾GX|v€s'V1·ÕpÑ’$Á»¿ï­øôýÃ>.90ãd%š5þö¾åK( ”m²OF ‚6ϲ›"³B(ø¢({=_DPÂËJwß‹ v,"ÙCŠH èÔ2š4Õÿø×¢tšõMÓ©Žó±ždM]1“áz¥Aî”áÝEÕÊË-'ª£BTQ”áÕúö'ð}Ïp64ãÊköaëÅÓH×âŒÍœºFŽh[4 Æž›Œœ2kà¢ëÛØwSW¿¿ƒOÿÜax"ÓtbýšÕ.i7õdfÌÎOƒ˜ „_FðɇÈTE®m _üPY., ­5RN¡³`ÅĘ ¨(T‡d›Þ/gò©†m’µCø¾‡x¨à‰JøPÙØevöa+0­æjŽE¡5”îÕ¶H[ *Ê„îV×½R™g!}Âî[Ú8ñô TìCyÕAª'ˆuŒXL°J‡§#LÒ!Ö–—ñõÏ~ÿ‡ÝјÚa}¼€Pµ0NºNÀò|wí~üÝg¾h‚/¢lÞЇ€ç@Ì Í =F¬‡ˆõ“Q‚V»•Åc] †ùjH!!„%½lŠAeÜxQØ~IRˆ‚ýÒ |è_]‹ñ0)˜!·¾ÿj,anw«¤ô(…C<‡$!…¡èlÈ4D6Ö²y\È]†JœÀY:s¨%CüOÝ™,ÿ>Âù^Å¥žki_êä(_âØS+ØËV$ðè>ø/Þ¿ÿo Iã¢Å_ê¾ç žöÍNc×u¤Ws*ðÜg°/“†ÿ’j ~2Èט͛1cËUT$*4V{‹ãàìêVõ¼Œ¼Ëh-Áx#-d—»¯oa˜®ƒX™ìA´@ª“u¸$#ɃW:DGÌ!^öÝÒ@Ê16âtÓi,œl#µØÜ¬5vìÞ†ƒßzP¶áËVÆŒWÕ„ý’4FJ14Çðƒ3Ý9x2‚"?›yC­ä"³žÈg>­É‹Ó%ßóqôþ>Ö>:@`6r:×Ýx9ž¯¢Õ Øáž/?‚x’À>ÕB :ðehv]{Ä£r¾7ÕÁÔ̧Í{ÒRuÈøŒ cç m\q{ñHcãlŒÉ8Å3_^ÆÊËi90Ÿý’n»ƒGî~S½™l}ÍEXíäÅã£ñ©Ž‘b£Ûë¡DP2(5óÏ^¸(eÕŒ­÷zfÔkáí…M\·]ª Ýo"ïò•ߣ¤ÂŸ]ÀUïØ Ä%wämï{3¿óÆ'2É™˜E!Qñ=D1ž³ãM!öÜÕêæ‡¿ö –G}DÞØÓ:¬‹.V¸Û‚€S/­azk i&ë2·e7Þ~5Î<9¨H¹–ŸW®"h«ë3ÇX]^¯2>œ?žïÁó¼Ê¥SX^(1u‘WO­ªQ'ÀÒé!’XC£\°{ïlÛ3‡#g²ŸÍÈQ>tKèÎ{Eo(!UÇtJÇ G·kí\Œñ@K§Œí{{˜¹>ÁÑ–ÑkÍAª^!‹b„Yªc$z‚ ÝÀ¥—NAHwd<cœn`œ°¾¼Ž¥³}Lo ýÕ×]‰K®Ú‰“/žGà‡Td=I«5dÖç×þì§Ð›îàô‰ô×úxæÑ£xöžShÉ^´Ô&9–0ùTFd¶&˜U|3&ã§OœÃâ îÿüÓÐ xäÝrÅäàzÂâüm¸^ 5)‘wK¿™šËC«š£@7}ýtŠ#Ÿ/Ù¹ lßµ?ú¯oƒh'˜$C$z Öií÷ç(èHÜô33ð¬LAJ§¿sG޾„åÑiôÇ‹§HxòŸŒ •ÀÉçWÆ0|àÇÞ…ÑxlF€84¦Ì@4/pÉM]¤oe£?ĉWÎdôÙíFn§2|lÛ3RäffÙo¶\Vd``ùóRŽö1&οàŸ¿$)38C ˆMé¨"¾·uNRS«’j\W5¶ŸZ¶zB`ñ¥1ÖNºëœLRüÄÇß…axýÑ&éÌ©{ɇ'#"B¤:h©)lÛµ 7ÿFî$¿E¥ÀsO¾ Í)b= £OŸw ­5~þWi,ªŽéŒù[1ìÀl¸³áNôÔ6Üþ£oÃ-·_‡}WíÆÛßwß÷£ïÄ;¿÷&D4]pëÌ09mÞœãÊð[zé SzÅ/ݵâŠÞt{/ÝU6ªáðóÇpîÔˆ$<ÙB¨:Þƒó›ïXƒV®/ŬÅÅz¤‰Æ[o3Ú½4òañ´tb »ÇÖ˃¬QÂÐ)°xbýá2úñN¼¸ì\{.Ù‰w¾÷V(Ðò§Ñõæ0nÃl´3áNL;pñÞKñ=ÿ쭸캋pÕ ûðÞº?ð/Þ[w£ëÏf¼5Ã-,-Éi”z÷hÐ¥¿Bõº˜îv‰ÊfH*@5ª`„"‰¸Oxò+ç0'N{úÆ·_‹õÇÀÜUØaœŒ&‰²cc*é…³—ûøàïoÃôwÌg2‰ñ•¿¹'NÃF¼ŠqºaL)˜_#Á$HOàÉ/.`8˜8‹vÓm×ã]?z“d„8™<Šœ0¼6áí¿2k˜š?Ï?y‹§Ö (§hHŒÖRŒ6bçó¾í}oÆì¶.R­óf1t ¨áºï¡;ë5´tËà&¤À‰CëX[(;dqœàmï¾·ä#Žcƒ£iFÊÀžCì¼>¬dn…t]en´"‡keÐù!ͳ/©ÞqÆ¡ 0RüÖ~ ¿³Ä`‘ÆF ˜@ZBz>fv·ñž_ºÛ//¹Bœ=»€‡îx$ Qù„§ï>…4)?@'xû»oÁ/üúGù]t”‘±™ö`>Ü‹yÿ"\yõ~üÈÏ¿“Qâ€Þ/VÏÄ8{t­rá¼ç'yË k¦£+[¥Á®¤ô‘çp°„pâéUKùUã²+.Áÿ» |Æ8™ e ij8“—¼­…™=¾uÑŽª˜·l¦ÿþºAw×T™.äºXWÕrZQŽ<úÈ2ž{ðÞô®‹ŠM>ÇØ½wþ×?ØŠç:ƒÓ1Z˜ô A ÐÛîcç{on/agsßç£xð¾ï ÉÀ?]ˆ5³Æn `õÑ/Çm?q)â¬-ÝjEøÉ}wm=ˆSÇ =aûem¼é#=l»,tdž7úüÝ_Þ‰ ò!…‚’>¤ð0\јlhЬYÃ4Õ¸êÚËñ“ûîùÌSŸ@¶4v^âª÷Ï`ß­m$ã:îÅ•ŒS ~î~øß]S·x’àgÿí‡1?{?^¼{ã¥!æ÷ö°çšnøè ‚–¬1ú cÔ`‚J Ž&(ŸpìÛkxáá³xÓ{v;Áó<üäo¼/>~'"í{.^ Ðšö0y€‹nŽ0»Ûwæ8… |íó÷a<š@!‚€€” «G|ç«GqÛ_ñ 3®˜Äø±Ÿþl™Ýާï:᩼aë%SØvE oÿ™ÝèLùÅ^SJâè‹§ñð—_@;èX¢…¾Ù‰*§ˆØÙç …3Œ3/n`~w·ñuÖVûxìáCPž2å ×A ÚFJ ¶nýfdgsäƒÀá¯Æ5ïÙ/0åøp0Âþø{1ÝÁÁ<…ññ1b=Æì¾6ö¾¥k¨g¸sÙY 'xðëOàìò1(âÉû5nýÁ˰m×4´6‹.Ùÿí·?Š/ÿÉw°rLc|*D§ÕÅüÞö½u 7ýØS}p¿sç‹X9ßGËï–vœ«Ó´([oßñU|ÃVÅ; lÛ•×iaÜØ´Â€. …CÜù‰Í\sãÅâ²… àª[wàÊ›5F â!Cz„¨« Õ´žÂÈÇS¿ˆ?þ/ŸÆÆz‘oÄÍÌØDÞÎov‹)kfJ>ûõE\zó,vì›6>pZ£ÛkãC?+–Ïl`¸¨v|LíàG V¦C÷ýÛOâÈÓǵMjïQ_úèŸÒ8ûâævG¿åíï} ö_{)ÖÎŽ!fvµu”Ävƒ¶n?ðñÊýë8tëqÜô¾}fÀ@2IðýÿòVÜüžuŒVÙSÛ|Iõ`•i³3TZ³•#QÇ¡\Â÷||ã/Ãë2®½y/FƒIÑi®ºy®x‹FÀÔ¶ŠÈ!¼ë)}?þ±ws ñ$ÆÖíóøè¯ÝŽ•óC Sxž‡öœ©mÙEP˜Cž}ä(îÿ‡Ç€T@¦‘îAkIvcŒQG¡¬F–!ð. ‹y‹\Èn¹à¦b›?rIBBŒ#üõ¯=Œ;>ÿ¤Núœ&¬ RèÌzˆº*š]r§ò¾ö…ð?óX__3㲃–7…–šF :ð„÷š– ‚$ƒsŒ¯ò9,ž-Óy­‚ævt±ûº)Ì_ ]m1ÓIàS¿ó?ñè=O |*95J”‡?}ƒµØY*jÌÌ÷°÷Ú-Ø~YATf?ÍY;SBH2Ä7~ÿ}ë0ü@9ë3¿³‡ÝWOaz{`6ƒ®G•¹;Õö,üýØá¹n¿%=`âï~ëùæ³ÊzNSrz¾DwÎGkJAy„4f§DUJâéÇ_Æïþû?ÅúJžÉÙF #^=ôñ¿ý4^~úTí÷t§[Øyùöèavwhh/檵Æ'>þ9|½Š± å`]ñllì–öEneYD¾ïáåûÖ1^O³´oÜq ¹Å eÛp¥¤of` È«”‡ ‰ÀpðžÅÝŸ{B–øqš¤èN·°kÿ4v^ÕAo‹iâØs˜Gž??ù¿?ƒþpIj°ZOø8ôåSøÂÊ“Î^UžÂüŽ.ö\7íW¶Ñ÷2]úœª!qöä"þðãåŒÒ>âtTF9Ë™ÜéU.Ì3h“øñF0, x¥ŠÿS‰i àJ9Ö ˆÃÖCäuÐRÓøÊï=ßûÕ¿Â+/žÀh4†Ö: õ¿B˜Tr2ŽqìåÓøí_ýþð×ÿãx`¡gË+O!Ì89¬ÍFÕ©Fššÿ® §RT€Sðÿþê×ñÜ㯠žÄYkšì"?ô“q‚SÇðÿ|ìÏðÅÿq4'&ÅW=Dj-¯g¸A*D|^â¯ýQœ9¶Œ$N2ÌÃzÝŒç6ÇxêÛGq×gž ÊÞ³)áJD€ ¤¥C|î?Ä=_zÃÁÈ}ÏT¾ç4ÑøÎÝ/ ¿:(Ö"MS£k_j§²»TtI-¬Òîe³ xâ/þðg¿óX<»‚ñx­uýýTžiqõ{ßÀâ¹Õl5¯·ÖŒÉ(ÆŸÿæýµu`Hé!P†iß‹¦ñÄgÏâÿþ‹8wj©ð¥ê9È÷Uª1Çørë IDATÚg¿_üÞßÂâÒ9$<†æ”1ê Ç/ÿëŒâˆÕÇÁ°ì³Â•Öä&ƪU’üg%yfžIMa:šà؃Çñ[ý¸ìæ­¸ôª]زcsÛ§µ‚Œa²ƒ•…>N.á¥çŽáÁ»¢ßïCzœemmtüùlvjÞŒ£ˆð^ºg¯>uñ †é*Ο…ç….z®ð …‡N«‡¥³üá/ü#®ùþ­Ø{ÅVl¿x½™–á´áú 'Wñ“Gñà‡°¶ºR)< y=ôü¹¬;Ò…/|HRð}«Gßÿ©;pÕzØwývlÙ=•ÝŠ“AŒó'×ñüc¯âѯ¿ˆ‹®šEr“xŒ l¬!‹–²AB‘oØ×qŸÿíïà/ě޹ó»§15Û6.ÝBâÔá%¼pð¾õåC¸íŸ]‡°§êŒ³§ò0¯K¢z-CÐJÚ[¼gók-ÙÅlk¾óùWñÏþn|ÿ>lß3¹­3ØqÑ(OfÀ¨¥ž9º„åókxåÅxð뇰¶¶ ¯ëµÑõæÐóæÐöfx†gŬÑò;¯nàS»»n qÅÝØuÉVÌmŸ‚’†Ò „@y„sÇ—ðÜ¡£xìþ§±¶²R‚¼,`tH3È̱ÀÁ/…öF؈W°¯àù'_‚ïç "9øNžtÞòé‰( ñÌWÑ_íc0YÁ YGÂ#œ:uÉ€Ðë´3*C¾ŠàK¹þ;0XLñØÏ"¡ ô“elLVqôùSð¤*:ÏùTC "´½~ñU<ù­¿ÁUoß=—mÇÖ݆——‡„õÅ!Ž¿|Ýý$^8x^—Á,®7‹®7‡Ž?c¢SN>xÿñÞ?ǵïÛKöïÄö½sèNµ³Ïn’3G–pêøy<þ­gð¡W@a´+!ì n\^b¨Áä–ʆôë0R­ýó'ùÎÀ(ž$èõ¦Ñ©…áZRÎWsÅÆèµ¦za+Âk¤:Á$b¬bm²ˆ•ÑY, Îb}´ˆq:Dg.DÔ 2ÒžQ]>ÛGOÀ¤3Ë+@‘_µÑñfL;;ÜŠž?‡Põ²ñ Â`4ÀÚè<‡Çqnp ©1¼h{ÓØíÅ\´ ]JøˆÓ16’e¬ŒÎâüúI,΀Ã:3!(“Âõl¬Ž¤€d€42›™›Ãt¸ÓþVtü9„ª …„'ÄëX›œÃ™ÕcXžœ‚?§¡a:““Æp%1úß¾BšÄOFHô±Dè†=LE[1^„ùÖnôüyø"„fA²†Õñ9œïŸÄâÆ)$áC^”BâÜÑ5#Ñxˆ8#å)'ðd€©–QvØÚÚ‹Ùp':Þl¡Já¸DS²|Í3`™. Ïb©ýÉã>¶ì™R¢ ´J)qö•åìZÕ0Š* )Ì…Öö§1lÅ”¿ Sþ<"¯OÐÌHÒúñ V'ç°¸q‹§0¡>:sÑá‚„'}¬/1ÜH‘„l ÝÈqÏ„Û1íoCÛŸ…$…Áh«ãsXØxçGÇ‘`ˆÀ0lÖÖ^LÛÑö¦á‹pÓê…™‘è “5,öOcax‹£ãX-`‚!ZA3áNl‰ö`*ÜŽ®7c.X fÄiŒõ¡Ù‡çG±4: -b~ ³ÁÌ·öb:ØŠ–ꂦëXŸœÇÒà4ÎoœÄÚh­9‰0ò ½ý•1†k#§Ád¨.¾ŒÐög0lÃL°# X!R=A²Œ•ñ9œïŸÂòà,ü)F«R …sGW²3Bg”žÑö¦1lÃt¸Ã<;Õƒ'ýŒV“ GîÌ&£ß9†GŸ¿ ýã8½ñòçOø»Ý3îGu¦Ðq®¸ñrņ´´?3ZUžŒÐb€|S’ù*D7œÂF²Šñh€Á`Fœ]`¦¬àH‡=ò3ý£Úþ,z¾¹‰#Õ1¾w0D@ßW¢-z˜óð òºÎäCföìž"îAûÔ%A„~¼„áR)OÀ¯Ë $À†œǶ½itýytý9´½i2‚„ddUÍS˜ën‡K¬¯ŸÇ(N3eMó>…P$áû>"ß(X&lJO†h«)3ÓH†Í-ɇ aÆ"çŽéÌ­ÇK.®eÂt„-¿È„º‘_½ìèì×§6({yYþ¬0®€eð¨ÚåRMj¨B­.¾Ef²I´™¸[ãù¶‹óJË¥;nœTé{ƒ {gU #¼É]ÈÖáfÍx9[«þûƒeí=6ÉÜW2ƒMnnØÁùœä f”y«KͨŒ²8¼^WÞ¦|h¢¹ëfinfC•÷XŒÉ8<.2—úïçšF>Y†nnXéú;¯f2ja]Í~•h0xʃ•¨ì$®CÔot'¶Â¶sp’tv±b§n9î8€<£rÈ2¶}agƒ•V'ÒJ‰+<vû%¼A ¯ëÝ|€^?®W:õØ{ÀÙH_¥=nÕÅĨì4B¶ƒK#eºBû'®gÔT©F¨Þ§Íè,å…J›´ê‡-ý9ó{ØJ$.¼ÒlMlÖhá×䪭Vÿscæ[½ü¨‚]sc óÝbXÕž7AŸ%šO_[bD%ÞvJ RŽ+ñ"ˆp•ummP E¯³Ä¸‚Ë¢»–“î\ãVÑ ¨j¡T †¨*7#§BtTblU³!«„µ?Õð¦ڂ.Tz}ņo*5œ;‘Ým·ì|•Œx¼tì–œ¥mO!ôVùý¨NI•c…\á`TÚûl=S®ì£ò3V,dÙ-Ÿ7+SóàZ=ènP£‚"A,jÀHS'¼®žíîO憟©Òó¢†`N›`´´y‹ÈùÈ ¸Yåt’²]™òoE&T‹ÞⵃU™Ž³¥*ã´níÌ©ZB1×;\l?+®Á¢vjßHõ*Þº ÉŠìö% k€Ùi«—ùX•A^ɲ•úZ/*­„ròÂ…ñ*#^c+a°I‰–{M¹ (cJ,P•øBd­_yÍ–ãjÜ´,ž›Å@dË®$í Q¾×¸O˜¬é2S¥ò÷rÍ%Å­%غ(üAM[ߣ £ó NPÁÝn[žç—Ûôrõëmfzç)HËv£¨Ò|b*Áp®Ôl—»À£*Ø%[Øq…)oÀu˜­ìŠP1ëµlŽqyü³=ÜÔæ@ "µf *pU0=sóÏÅ•äÁÌç ˆ€ ûÁ€VMkVKöÈ6AÈNàuƒ‹ÛUq¢¢ˆ.WÉ-²Ðò ˆË)>ÔFBÜä5ÿŠÓ$°$•g½˨c°$ëcÚ.ÛÌ9 Ò¶wçÊr L_&qË/uà·¬ûVNá[¿³?…¯‘!÷–ÊN€pÊr(MPî4½Ø 8Hù¥ÊQ±Êá c+ûž +ñŽÿ½ƒ°#Š ò…;6ðÌßö!}3LN–ù·œµ–Ö¿C'ÀΛ}\óá„™5Çd¨qÿï.cíxj²!t§tÌ-r0±Ëm+º×ìðj­Ú' nhþÛÔ¿j7޹Fk k,‡«‰&WøôD•Ž6¹“:N†Mî%nc¶nÌ önQëmÞa®¯UfüÙÆ ³ T~¿3ºÆV™›]ò¹×i 0É„i tל*Þ¤t 6éq—θv{˜š/Ò¢@§Jþš×þ6 [Ð6³£2u¦|lÅ*ƒ¸á6u4-%U[Ò'݉{ª¸U[µVJéÓo»ÚCg‹DØÅ_¿M¸ôÔö>F“ ãvŒ´4¨dŠ…3$œKpg ËFŽ]x­4¶×ÆÒØvž¥¥¬YÜMœër3‚®°>ÞÃx "M'…Zƒ½œ™G®p§²ŒYø„°Gåzu c=À(í ¬4gÆ´n×¥­dam¥Al…ìè 6YvêU®›³èŽZËhAõ”ÀJï]¾o8A­ÚX©–mÖ;ІuG5ø‹æ¦1…a5¦/%gÉ•*¹• »™“c8²YãwöÙ$¢A°‚,`IQG¸‚òS±+“FÝN”ÓÝ(J ª*Ô²‡b‘ØÞ<¥œ 97°$ÛÆéÀQ½†·6¤Ý¡q:5eWfT66b•]å{‚S‡Ãæ Øv‚lp c \ü=–úç0J×1NÇ…V–=+æ.±œ<°0L©Š³Q™èºn"EPf¶³Uëë•L°gíÜ[l¬7°ŸÇ ^ÁX‰]@—Ž“Y¥š•ãUÆœ@£/b}¼ˆalLt®Ñde yFÅLk뽦ºòå&\ªÏd'ã°· êZ,evG§ëì”Re–'š:älu™ÊHPt…dØ s×E5ë´á+ÛâJÉéÄNBó¨}+—@)0Õ‰IDý,XyYÀj3†;n'Ê”ÑüOK-åƒCQï[%_F¶tæÚ¸‚Ye™•í zw´§>Æ…¨œ[®Ø ¹Sþ“5ÜÚˆ3¸%Uñd“7‰rgÀj0ÐÝ!1}‰ÚTœì²[fpßgžÅÚ(A×”—Y$å%OV/‘ÅĦš§ Õj̵˥>Bá¦ñ¹ë³}ÃÉDÅ’‰ØîU>ñ0]ÇâðR1€ô„Ѻçúˆ>¹)A<4C(†ß–Ê8â@Ö’,‡èê£ñä)HV¥úÜ¿ê7@9îwÆ.ÇŽ ¾£áâC¡ñ”/²½¿«£iù°°Ý¹f‡kˆ ß˺(›¤œj‚ VÕÀp±[jxÂÕNjÈ êã¶í ¸šJ<Ì:S?³Ê söj®§VT2 T^Ö%¤×`ºçÁƱƒ˜mKQ…øc÷¬®V©U£½VDêóhGÖÜYåq@.í*^S‚²(h 65²Ä4ò€ÇõRlr#;Öþ^!m|´¦ÒØÎ^Q¸÷¶DØþf…ÃwŸ’¾1_(÷u³ÕíK‘]®COË@Q¶X·%±Òz^†{lඪ,“ãº{ò(écitÒ§Lÿ¾OëlêÙ~Ï  wöúB^¹wˆWŸXB?]ÆêøÖ'Ë8sl41ª£¡×A [F·ÌA×ËK 4 Úà’L/§l¶n;‹Ph_Îu–¾ £°Ë—³k½pçZKÖï)1ä ѹÂ)¬`šÖh Q}J„ëᱸ~ÊÝ>SŒSærš”Y¸ø •¡;²^6~\éôrIkÙ_±iÀ"n,_íVF…ìg§÷v[Ü+9¦f×° ª†TfØx“òÒÆ3¸Î±rÔ.ØM©¸M¬ IUÓQ¸¼{²u«­ ÇávÞä9nÇ‹ «H&1¶íš3#j‡¸êm»ðìý'0ŒWö7GP¤ÜÛ+g€SÙÝa&«›Ø ÆTvãÃíPQ¥ãÄ6-§XN*0Dn *Äz€x ´ƒXÏiÝÜÙ‚ëbnÅû¶ M0^ÕØ¿ÝÀ IDATXbm¼Ž…áÖÆ H9†¯ØH³.ÅåØåJÃÐÄõ̶öì¯×µÛE„#L—¿_TTMØÞ“ÕɆF<\¬†“NŒæ¡}²Ý©©Â£Ú„’AnVëÞz\ÁôÜ,±ÜgV7“QþšSÒÁÌ.Ÿ+¥{´ši šSˆâËZÏ¥}SqeºŸêzdL¶J¦Ý¦Í³®ÉN8t¸%„zÇŽ˜Q&EÔï:»ówL•ÊË–àýÙš¹Æ*»?¹lºCÒ¶@}#›ƒå¦¹ö‚‘Òæ%i.GãÕ²L°qTF ˜à28ŽÍë¥#àÊJ)sišâ+Ÿ¾7Üvn}Ïaøk;÷lÃÅ×ÏãÙÓç1Jhé1´lAp& ÌîÍuñ{=x‘(n¿Wcû›=ìºÕ‡ ÌgJFÀùgbœ>4Æêáĸåä?Òç¶ìW˜¿F¡»[@zeªžŒ«G,<ãÜÓ1ôĸ7—;N€ì—ýItŠ™]Üú®ý8ðÎý˜ß1 bãøÃ ¬Opæ`Œ³OÅH7¹a»H8§Œ™K|\rÅ,bŽ0Lç0oàÙ{O!éÝÖö¿c fæz…QÄdCãôãŒ×+d|›~]Û¯/]„H«§œy,.¿–ÝJi Dó„­×ú˜Û/ÑÙé®Q<ÒX}%ÍÖ(¤'¬ÀTŽª—»Ý·öµÕØ ÕÎi9dC¨•ílÁKUˆdÊÊÆÙ¹âÒ`'…e‡GèP¬ÅT—d'ŽÈß…&ª­? ±ª­{v&Ñ©JLÌ&ê ze„¤Ô±f«vf̳ç™l ªÆþ-¸Œä4炱F{ªójeÜuK:û™Ô¹LT« òÏÈ•V1ÃÆ€7ÍØ} @gŠxéà1ù Â`yisó3E6ôž»õ‹%}LÒ!BÙ†’ª” ¶ð«?¢»U"srÂÌuÀÎk#¨À‘î>æ®'Üõç ”2<ˆ‡„+?aï;|ôv x!¹ ùÏ¿ÙÇø}ç_žà¡?YÂèAù*3?hbAxëÕ¸ñí×ââ+vCÊœP\‚óÛöû¸ø‹‡'xèO±qŒ ¥W°É€¶^ããÀO·!•dGƒË/1–ŽŽù=\ò¶)ì¿}ºXßÉPcíwX<†T2óZtÁåt¸èÝ®ù‘¨N^Dxà“‹˜<2„`‘Ù©I¤#ಸô½!¦öHÓåmX£ÝoFïÓX9ã±Ï,cñ Fù™F©H §±T%- çÅ«ê î×+™X¥IBUb¿ØÁ¸ÖñµÙó9±3ïx[™£“º:°]†r-Ø &EZa+²\@Û]\(^¹ó¬\&t[°Lµ’‰ìšµ:¿W¹-Ü9¥RsÇå¾ lßr“’R%˜Ø<}ªŒ[€œ ™¨†T;‹L¶˜a…øVí(ÚW™ž—}(p6§RÞ÷‚Páð§pâð™2óJR\qõ>l¹2ÂF¼j 1õšS‡yŸÿ:›Ã—Nɘ±ëúB:1Y§€NÍû?wbëñ"ñÆz€áFŒÿM ~"ÂÌ^ ©:1ßÏ©a”ç?¯À v\âûþÓÐSêÅ<),±œ%û®Øƒ‹/ß 0&:e3’”¿¯„!aëþïÿÏÛ0«˜$HxbjÝlÑ´Ò˜‘L4’IŠd¢AlìÄÒpòÑâ¡.ÖÁº—i ±‚aÒÏ\°µs཮À–+=è$[¿˜1Z×xþ®3è§+é>bcܟ঵ð–Ÿmcú"c¿v¡5òC­û|ÏØŠ¹[l ב¤“ÌK—&8p©0.õ¼NªQ»*3‹înó¤ŸC%Ñ<_Åy •rªEã 6ÓFøP©ÂKʯ;`9È!ÞXD°Š~7eZç^““‚n¢8à\#ä6 = ¼mš㺆¸3èÉVðcrø[µ>;¼,*ˆ'.Ée!ç Þ{oõ¡³óB‚°ºÜÇßê^øVÐÃCw=ã–Rq‚ýìÛ°Ú_2Y–"Õiív5‰n]³>þGƒ âI!:eÜÿ…CXšœ4AkÐÇUÿ<Àeï kÓãaŒ…ã«xþ;DZr¾4ÕÎÍÝšöpÛ¿žÇ@-b”l`’ÔÚ²væh0Æ™cKxùÐi ÖGµÇ¶nùÅ),®ž3.É „ÜÀïb0Æé†YâÌáu¬œž”÷¡v½ÅÇP-bc¼„Qº„cãÑ3—8s©@{[¹ý¥8úÔάÇêè ÖÇËú¸ú§"\ö®°¶WGƒç^]ÁóÇÊBãQìü»¼ûWv w݃xÕ˜ëDºìŽY)PißeðÉ))íZ©¹fíi®J+\C[´°¤¯('Xƒùv•EMYv³Š©NBݤ©áeSMRùB^—*ÙlYâoB·–­ŽC ¢®ª„×x#•é‘ZÈn­^%£:8š·S-K®tÕô󳿀 λ#xXþûÓØù‰ö|9ìêû¾ú•û!<† Q4…çî9ƒÁ¯ŒÐî™à‘Ä)nxÛ5èì¼kkèx3Hd£Ó|Í4š£>3ãỞÂýÿð$¶ì™Â[Þ½ýþy b!MRL_ÖÆUßßqº–áÙG^Å=Ÿ=ˆ'î}£Á­Þ÷/oć~ú6xžWpá¶\ÒÆö GïYÀTÄð¹Õ°&“ ¾óÀS¸÷KOààÇ ¤Âå7íÄüâm8ðÖýHS]4!.ºvþãüœ ë5lFµx+£!tÀ8sX82‡©m³æµRÆEWÍCÏ®`mÙüˆð%”R`2ãG3—JDÓÂ9äÜù,NŒÐM¶`û.®ùtZ^6“QŒC÷¾‚þþ)<óðŒÇ#øm7ß~)¾ç÷àê·ìƒÎ>S»çãšNá/'¡êt™»ÖsGj…*ÆÄÕùÅJ@pšòÖ9r©8¿›ÙQv%®Ì×R³ r©ìbÈ\àÏ9‚].™+TfaܼɨÓÐtç&c­?²©Þ•.Õ¢T“7‹ÕW ·­ÌTÍ’+nq}§@&®(Œ×{!åC²†µ¹äl±ÅÍq>?YJÎ’(e9²÷³ë€¡ÊŸK’ßüÂ#€0nÔm Þ`Ï|û8ÞúÁýHbs:8>ðs7ásÿñ1LEóhë1Á·YSöADxøžCøÃßüKÄcÔÿæ?>ˆ0 0YÚ’1#ì{G­é2(OâÑ»ŸÇ_þö8n,P›Ð_Ÿàó|7Fƒ1~òW?X¼¿ ò±û†ž¹ÿd¢¤õ»QÂ×ÿþüÙýô†DØkCãå'á¿ÿægññ?ý_pÑÅ;‹ å…Ñ%#¬<JwdOK$ÙÝ›ë“E¬Åc÷žø8òØ".¹iRåÌ3ëÞ¿ ÿø{OÁ|Ñ‚/Bã2Þ¶ð „)å@ÀÊù5¼ôìËXCÛŸFôpå{§´T©0«÷Gâž¿{ý5h™€" Öí¼øä1üÜÇ×ß|E„¯|ë6Ü»ý9¬™0ô˜d™8#7n'ËÂ\²¯Ã#ª·å]¶€ú†\„ªDN‚íwé ÉW©Èš>%ª(°²[Umâ‘T8z35×…a¹NwùÌqeÞÊ.Ã,*¡¡Dcª¹ã_³7*K*»DsæÙF¤*:¨p<ò²¯ŠBR>1^%‚3Ãg;ïÂ^re™mhL–f”Bà¹C‡qþìIø¢…–šÂlgnÁ¹$´ÖxÓ-û¡fc âuŒÓ!R@k}ACƒáp„{îø×ÒÂ’Æh%…G<écjKß0 !ÊräÌñE|éO¿‰³ '1¡>4')³n4…§8†Wœ6 ¶’PJbÇ=èÎ:ú“EŒÓ¾{ipæô¾öÅ{Ñ_ïÒOI ­°ƒ´ïá‰û_€òJÃP! Á´ÆêèÉ*&é‰Õ¯¶J²´a²ŽX©ñÒ½‹®ÇNY}óí×`¹Ÿ½–@s f ¿-°åJU–éD8þʼôÒaŒõR=Aw[€]×L•%£8xÿ˸÷Ë`ux€¡¡ÈG(ÛèFÓ-îø›‡1Ø[Ü÷<\ù¾¬L0ˆW0I†Ð:)€H¶÷1—8PuΚÎNvÉ;Y—c«G {×’páGÖœÜ.RüªC‰e¹G ëÅÄ•¾šU¬¼I?á»* 3kâºt†¥[^($k3JîSŔ•–(9[•–³«ÊÊäÔÏÜ`üZt«-•ïåÅ4‡Ê›ÏMº*œ–_f/‘èí(;hB ž<_„ðD„¶×CÇ›E(»¤ðÂ+¿@€iÅÌý¬ûsز*´§³àŒÅõ”Yù}ÚDdO~€1°y0:620 uíöëW6qõÒ ;u©b=9ŽìÆñ:4 ®¼0ŽïÐè<ÅIŒïyï}8ý_j” ¦Hª”2û±}s¯Žõä8†fZGXÉtÝa™CÉ9æÅ‹rŠ¢Z TùÒÙ˶ƒ¥ ‘¦žý“M¼ëÇNõA­(ñÎ|_þälŒ÷—3,ã?£Êû]ÌxâëÏÀƒH§È¢!Ö®"E˜OŠæUoÄxëûî1™YÁЬa­"ÕChŠÀ¨0™N0Ùœ÷òEU…ã§c/ßD¦ÇkÈÌ‘JYxƒ²L$r™C¶ ·5Çè¬xÏ®ŒÛÌŠ=ãVùú,tÕXì?bß«‘a©OYRGpxf¶§Lú=îpToÃò,¡ž~>¡ è+f«²ÍÔv¼W ™‘ëŒCÎPI¬Ëžôçí1$÷Iv%ë!ßøBŽ&™„qò=UÑoŒtà£ÿø#(˪(£1t¤ƒ¸ ní Þó¶;pâìžÝÂ8ZC¡Æˆª¸#ºøÕå‹W‘&)=l‚Ä1¬§Ç™UÄ*&ƒ•A†tlOë`1Ÿ/ðÚ¥+ ÄzˆqtkÉqJŽc­!R1Ê*GbH³ ›³ Ûùu”UŽX§õÌ#i{b¢ª°½¹‹Ä$È¢Fñ!¬'DZžÇÀ¬ÂP„A\yŃQT äÕ%wkùšªE#ã(ÂΙ ¿µ…“÷®ÕYVYá‡îÆ‘û2Lnncf¦8ùfÆÆ}}À""œ?÷žýæ‹d$zˆA¼‚“BUö¿w0Jñ3ÿìÇ¡îž ®;™Ö¡H(æU—%WãØ‰#˜•;˜Û˜•»ÈË9]Ù#bÌÖ¸¥ÁæÍ¾‰u.éìcU䘿Xj´Î8—;,$K7ƒö¨?äûc‡ïENßò`OÂý3,gp’<Çç{ kôfÙkR!”ݳäÏD[ÝD¦éµ!jŠ’‘°/E$¸1˜àFÜ9G '?`0\×(ý½ˆã'ï<hÀˆñŠŠ-âëá5ÜùÐa<ùÂ%LË †ì.¼ƒSXMŽ Sc?(‚¡±N‘ê13@¤2h@+ >ܸ¾‡UØa ÈvT¬«ן.±u}Úá=JÞ÷ÁïE™Ì°7ÛÁ½ï_EYôÙP¾Èñ»ŸxI#QR3BªP­Ñ?¯Ûÿ,«rž5Áªÿ«Ž^@Ô²+µFx(Üc;pø£2p {ÛÇ@ª‡­û%5Ê¡°œ§àHõ¸\Yúvh Ë8"®| {%aò Bͦè÷u¼Z àZì›]H’‚` ± Ü€ý6…”k^fC*ïCU2†§N½3Æb·Çζnîâòùku“€jäE‘®GPÄÒaT8q×’,n@Û ¾ý>ŒŽL_ÞÄ<>„ÌŒQrp0A“iŠ©š"h¥›ö³èzŠÛ§µÆ`”A‘F¤Ä*ƒQq3Ò¢ºc>ÒLª¢ÝXW D*Bù%ª‚‚&£bŠa(‚&Ý´ j£¥«›9ØTX¶BI)h‹ /|í&¾ïGO h²ÛC'Æ8õæCxÃ× ú&ˆ‰4¾öÅÇ¡ U5¢1=Áê›7·ñŸ~å7qùÂUÄ&C¢†ˆ(m²Nm½÷ŠKä¼@^M°¨¦ ÝF à^•™Å9Çö˜Pà`‘½‘±võs³ì”b,y‰bK¦@xÞ¹›ï´ÐfÛS’IHàp_úõ°‹#%ËR,-°n8JËxLÁàáÿR€‰€hœ#5ì_úe£²N_ףבI³t®]])[Ń ˜KŠÝì­_¬œüd„bÊ‚ãdð›¿öûø_ýTÜ´Â͉"V) E R¨¸Àd±‡þ+?ø‘wö%Û¢ÂO|ìûñë{«É.fŠDjÙ™PKõ|Ÿ" Õ¬ŸrQa>©jU‚†Suì个ií ]-X÷ˆ¹Öîp÷_€+`÷|Ž¢`¼òµ9òmÀ¨%0Õsš4Úr]RûÔ®Sßþ«³5.ÐPeŒóߘâÁ. AÝ•Õ1NÞ»û¾ïˆÇû£O&ÒˆTŠTê eؽPAÂrIc²9Ãã?ƒA¶‚Lè¬ XJlpÂl2Ç"Ÿ£à ,@а¾¶ŽD `T²Ý‚Õ¦Sw‰‚%š˜Å¹È„/…RLu™æ _ÉŽC’µ·ÜF<ŸI›K [*‡l¥Q×°ùÖ@w9ÝM€b7§\j¦cØÁ®Ø¹à>eµg™¸sqcîG/Úwþœc²ˆ§!FÙü*¯Èv¯RÒñf8ùލgGSÍŽþÒï=Šõ1@„X¥Ht£3ÒÝÖe(¨9púëÏáýz;´ÑM·«À÷¾û-HŽ}{{ÛÇSUµ$Ciò·N½¯z1­°w=ÇÊ‘Ìu†uç}Ç1§€è?ÊjƒKàðwý`ܘA$ \;3Ç­eµOðaŒ‰nó  ˆäN=P]dî]šáÆ…)ŽÞ5ì®ï?ñ½Ø8¶fâ¼tö^úß ´F¬Sdf¥.])Ãä"#Ÿ•ÝoŽøž÷<€G¿ü4Š‘F)=€¦¨~ͺ˜í.ðÑúCxË;ïÂÎÖ×®ÜÀkçoàÑϾ€a´†Ô k²k÷o|ÿjîìÕé&?n„]‡”öU\&¼àj1Óòr›Ü¡üþ+=d½OD:ð0ÉÛ=v’€ån t·@mŸZÀVnEÂ<ÔIEA޽’=Ðl32¸—¯qN?c:á7rCZŠn…h H 9¿'owýÿUÜõÓȺ´„CÇù L÷¦Ð&BÜð‘b]gWmk»ýFŒ'~ïìýü+ë£îð0ZãGþÞ;ñÇkéQ ̬.õB„™¼‰-,ö»W+¬mèŠñæ·ßƒcwÆâb‰Š«®;×¾µdp䡨þ%bLnØÜ¹E…Q8Ïi½öB¾Ë2¦[™+ ô ¡T„íó„+ÏÌpô®a×±¼ûM§ìôÈàŸFQÐdêaõꌎ°Ø¶.çX;7r_Œïÿà»ðùßzÛ— Œ¢C˜ÄzÝè`V%ãð;†øáŸ|ÆëYwýׯnáÌl!Ó+5¥A'PÔ(]8½2öª ÂÚ]¸à´Ü 'Â:ð]Pž6®nHaÈ}lkzyJ¸K’\,×A>`*vë »SKl8«r-Èê8&ž€C“Œ^ v È¡Èô”¬KgLÇ"£c8)ªw•Þ­uòT½«ƒí‰·ÈÄ'Š4>÷Ÿ¿­=ÄJ²Ãé8>¼'†÷áäð>œˆÏáýxÃê[ðèµXàEQây'æj§V[(g(9?pw©¿D¾VáÒcÓ®)À̸ãÎãø±ŸýDC…E±èXõ× ‡ß¢qìmª›=$"¼vn®¼Š­Åk˜›Kò" ¤³*º…ôË_Ú ©Iñê“»˜OJœnþÙd2ÅcÿÊ¢D¤¤z„ÌŒ‘è %˜\e\{a.ª§Þpÿè>Š#G70ÔëXONâHv'ŽfwãXzNm܇üô{1ZËú+Rxñô¤jX71(…Aìà^!ø¤ä™B¡™ } ¸ÛÓ*í 9»Nj ©§ É›ê Ú¶ªÁ½KVt `rðm`XËôŠ{ v['›Tr¶´oÜLþ<;ü ÚçaÖ5®êL'¤3< hH¶<¬ù'˪ÎyH¼4œQ‡ñlÑm¢W ± ÒÔuIy'ƹ'¶pèTæ¸Wxæ‰çqíÒ ŒÓCHîU¢3ÕÝјpñ‰]PQ¹ IDAT<õ'ñ¾Ÿº ù¼¾G³é÷?øœü·G±õÚók@ºctÔ`tÄ& ƒ€/æ)¼xæ"N`È ¨Vû’›È+ð|õ2ø#üpÝ|¨vÏŠ‹=Æe×A’Ó¬!d*Òöã!|ÄQ^Y ñìmðýtŸ±­"dñ}â ~ãß|ׯl¡,KÑ=µ± fFYVø³/>ƒŸûÐÇqýÊ5bh2ˆu-ÝÂÄ{áž)N~öÐÞWùó•tov:ÖU÷Úõ}«j6‡Œ‰QÝŒñÂ7®‚TÿªªÂÕË7ðèWžB§õ¸‘#5£úQ­ "#5<ò.àÓÿîKØÙš ,JÑL°ï¨ž9Ì%~ç_¿þ™_ÃæîuäÕ¤qª¬©&P Ü4E¤w"/%Ñ>H  …²n×(˜¼Ì×&’’wp°ÃZà`^û•‘>Lc7ÕèÀ)Â[¤5XùgqÝÀDÆEÁˆ+ÿž{É ‚å÷ÇÁÐÚçBÎ}Ý?ö™½ ]t¾j}™× ‘¹\-![C¾˜0^øÂÓéÓb “r gϾ€kn"Ò123êT"C7$ŸÐÂâfL¤XDxâw® =ñ*v›˜—{P8ûü+È9ǬØÅ“pÉHcVì`RîàÅçÏ!‰S(¥@´Ùß!Hgekxéá—ñño|~èÞøæãظc Ù0iȆ Óí.œ½†Ç¿ò,žú_gPE33À¸ã1ÅOýþUP\`’oaRláÌç›VÓ\÷ÝÂæc¾Sâôgn`wºÝü:&‹m\¿¸cLÍÙ´ÂÍs<ý߯cÎÛØ+6±=½‰Ý›S(Ô\1ê(=’©•Ašdxò37pùÜMìÌnvr4Ï=s”GHÒ2=Æ@kª3Þ¶LÒdêFIzOþö‹xìO>·~èÞøÀ‰úeIG"a®žÛÄËg/ãчÿ/Ÿ9=lt¾t†T‘é1âf{KèÍ1/É!9€û²3ÂK|Ù@r}Ý“ü¾ZR¢:ã¿p/Ù)*»0åÄ QÕíîðÎ\ÉuÄ%s(âÚö–e¶óf'z‘6ö.·R¢µ{-«diWÙ½W)ïj{ô¹ÞÒöÜ—4†­¿L¯•8ý‰=l-®âÚô¼6y [ùeh“bД‚™Y©åE("²Ï+²8iPã¥ÏoáÊä¼¶÷"nÌ/b^L0HGØÞŠ+<ú©WPV¶Wp}ö*fÕƃÄ*ƒî†’ÝfH#¢3ÆáñQ\Ÿxô·_ÂOÿ Ù!' h2ØÛœcïÆ 0%`ÊZA›æX‹ ZŒñô§6±—oâêôe\¾ŒÍ0LÇ }#jL¶Ï6ýÚMܘ_ÀÅÝçqc~ ¬‹Ä×IÍÒ×7ž+ñê“;¸>»€K“³¸9¿2ÑQ3ÐMI •"D&Âö³„³ÇåÉK¸:{Ûó+¨(ÇáñQŒ¢CEë=Á¨¸6¤àf«’A¬2 ¢Y;‰ë{À#Ÿ>‹?œ}ƒ …Á8XCST„«ç¶¡LÖ%t (Š‘¨Æña¬'ǰo` Wj¥e„ºÄué‹ß",›úð5HÈù7œLñ³a8ôß™xy)H¼Qjà…²«Û&Žvºè_4—…eýr¦@2 Hdûïi æL’ƒM©¶Âfçö0–äfaƒUHWrŽKͱí¥ZR&")Æ´ÊK0—HÍãx½ŠDeMQöƒuPB=7ÈFXרÌÑ\cVìB+¤aÈ'i q´ŠÊ,0/w¡È 3«5›âÚBÌVé®çü!Áãè08ch¥‘ †Ø]lbry‚ŠçÏⳆR‘J04+uó 9Šqt‰¢Ò˜«5”Ñ‹bMqRheºqB”“,Â@±J‡Aq…‚s$:E¦G0*! ­’,Æ@ ±¦AÅʪ@¬ëÙ¿H¥0ÊôówÜ”½!‰2¬Ž¡4S¨¸Â0 ¯æˆTŠq|+Éf±ÊêÇ=7J“BE23s m F‹1vg›˜ìMQòDµ´N2Ô ²éJå¡YÅj|+ÉŒ¢CHL=¡ @ V}Ý ÷Š4®f˥іw²fŸShÿ=lö9Ž=®FB÷Ê7·°J@!EåHðúp»åÈ-gܱøàYBÇ–Ç ®ðMSå÷$@‡VøË£’ÙwÊ¥JsI·$e¨ÞÃPˆZ^lâ+YöØðä¤Ã10ÃæŠ¶£!‘Nê1V’ $‚Aª‡LJ0ˆV©DÌZ@›×VTMfeR@+ƒE9@HõÃh ‰6X"AÁ`^Í Ia`ƘDC5Ökrá0×?oˆ‘šQ£V!5C ÍfåN3h÷é×ÑcdfãhÃh ³¥"TT»0£Ã (,¢9 †f=†¡¸Ó¾T£æ4t ŠQr£bŒâÃHôŠ 4E0Tb`F(¢#>W¬RŒ£õ:0Ã8lëº[éCŒQò1i ÌJžC«³ŠÕè0²hŒHÇPJ{èJ­p‘`­uYiÝ<¹‰i±‡¼š¡¨Í2¨@ÐÐÊ ÖY]n6*C³†Ä ©š4Ú[Ïò¿rýûƒ“-óù×Rý³„6K¾qÁ&a—G.‰[R{ØÄm–<;:óÒŸ“?DwX‘xyÿðö˜î"ä*Éñà>Ö· `7•]ƒ 4o‡:C½ ·À$iý8;ï¯uѱ¦tœíF œtÏŽ~v ëœizíw9àéž"DƒD °WˆtŒ2Êëï«™®µ–L[¦I%@«ª:ŽTF Lh5b•"Æ(ËJ®={EÚ:ÀÕÏ;©y]-·«w±uá}iõÜÙ%…ÚvZJ¸’[P »ÜFÖ–â‡ýžbgPÇS1‰|‹%ÓÞ&QØnì=GFfwÒží dë`ÛÒ¨®ÿ•kÜâŽâ¸lr;?ôMÙ .Ž´è쵑”Ø5<¤~&ÑM—9 šØÝB;[Î’Zå&÷¾„›I»24"$Úôiwã-f‹ib^õ§ˆ3Âb€\³Ê!*öÄS»´´BÇlÑ©3¼™@ïıädÈë\‘(­\lÂNM9¼1 oX ‘ôZÙùÀ¿u2Ùi5Œçþ`pR1Iƒp¤_­¡R"/ø¸”•ýR}Ÿ#aÚ€8‰àDVkÁ^¶írõ–àEŒtyvm£…§z!•]fKdG–?äÀp»œd•Làþ™v™k‹?Byå–lšXKmŠœkpû!u÷>“ûLDµ@2륭»a¸Ñ±çÕYÎ>NSƒEEBLÞÙ£WÈy†E1oˆËÅÔ~^ÀšlÏÊéöüåù^ŽÛW‘nT`Vvª/.Ð2^di+ïH¶8Lk0'qPvÄöÈ¿.Faâäð¤Xä$P·8 ×}]8ݸƒžmÊOvujÝ0ÇÂÃrwj2?²;– …ØÄ?²3!çï2çÁ‘ÌšÀ†ÉçùË€ïýðå,šüØã…Y·îÙŸE»¼+h±ƒ 97 !°Ë% `RóÊ™­#AékBâ•N€af¢pž]ܼË veç;ç½ûë:ïI*¥LþXî+tq‰ívù‹íkW`äÕ{óM,ª)fåE5ß90ÃÚÞÞ]ìnÍ>5ÝÉqãÒ.&Ø„"qX* <&@7kó »ÉLˆqc&¶Ål¯w N“ :“«ØÁ6¨ØÊ28…AÃ˼\„Cж¬j™uI9ÂjB~Ú;ÐS&˜ZˆØ€D ±‘½çdgÐu)If†N¶ÊÒÄ Ž, g“‘ì ö‡Ô `K°™íÖ~[>t§0Ù’A=Ûš„*K'áþ´×ê4_,æ.I¼K2f‘õÙžäfØ'µ“Ýùø°”WÂ.°r¶14»õàr’ /@; tvzŒ·å3ȦÙ‹·ÅÍ‚Q9°¶ƒs7ÎÔÚnùöî´œ|ËQÖÿüÃ÷ÿ{üê#+ö¶'_ìL±{s†W_yñ‘\²ÃÔ–«¨‡:N‹n`ƒ  (vH2丒·  ŸtæšBØ7œ…(˜¬š¸“¿Š v7̧'y—§µ–[|3Q6“7¹b”PG™°á?r‚& ¥])Z3Ýäó9Ùi+S è1»%$YûšÎìwž\ÜÉéR9‡ ;Äê¥wßü°nÉ㙉ÒÌ æBD’íŽfý»Ø¦Ê#ƒä²ÍEÛ™¬ Y-ñŽ0Jdw,äAnI°{]F‡$l$lsÌd7Ü“wJcp­@–5¶ß—Ó.g·ÒßÂKfŠ+óqéÒE웘–ÛÏO‹­g›q‹ª]â–×Ðãç¿xððlU\¼-GqÿÎÞ’¡FfÆà¼fð¶ÖÙVæ`a ²…DŽè];´Ÿ©HNúä•Vãü黃¹‹]øV·¢Úé•VA¶÷ yòˆÎïÛ¥©CV#ë²lòg?aO¶o›ÓÔ ‚%2k1ð bÎQ=² ˆî¼—õ¾œÁršCä\ötëšØþÝÈøBü!›1¢,€F+‘]’#íOä°ï]º I<üÁ ²Ÿ°µú¬q Ðqì˧ã¸<9–Ó7$$3ܺëæþÀë˜òv=Gâýö7šûrÑ£ò8¥®ËU#—øI¹Ù¦A‘XH—(hŠ­äN¿øU\ž¼ŒÅµjRlÿÞ¤Ø~ ÀÀÀ ÀB‡ÈYO]ûŸ³ûÖÞs£¬òÍ«y¶½wÙšBL#T95ò»6ˆE^kÉէȃt dIðpN „ýsK:]öû¯-‰›r,øf§°'ïô;²F¼$([×îð†¤w£”• Ñé#‡é.Ôß\=}›¤*fÍ–ñ‹dºßrœ¨'p’ä»É©‰k‚Uº:Ãñö†´ »Ý”\Án¼§AN¢Ä¶Ð7Üž¸‘ý–„RÉÓz´îIÏ㣞œ8å3±9‰2:^U²Ó'¼FÞ†8¡K¨E@!6­¤Í5œ ( Û–—,çm¢´EýqfFFQåX`[é9<ñÒ—ðÊæÜœ_Æ¢š>½›_ÿÍ’‹­&PuË+\?pò£øêÅßüøÝÿä—©Ÿ#Rʨ÷¼á>œ=¾^ëi˜F›µÄ¥cìs°ìÏ!óö¿Ý_dÃìŒ:°Ï ¡ž1-«KEJœÊžU±Zß _*’5’;1xlYIt²TirÀ[/Å÷› Ç‚a#¸op‡Û†K7Â!lÔ<ûX”Ó²µé Ö{îÛßpÏÈRÖ`xÀ“ܺ[ÚS(gô— oÊÀ=ÛM°šȃzXÿêÝúåúÜ;áæ7?¾‘ÝùˆRêg™«€q¢[P“°–§ùôÿ8`±“Õ€"ÜÁ›—!j•=kg”N]s¯&*ûh;b\uf ,ÙÃÍ% •4pœHœŸ¡@ËÏ*AìR“‹MZ–f [Ùå²K¯ ÕëH¶×ǼÏö'¸nÝÝT„(ÅbÇzS¾znË*RjdIÍ0‡NdÃàp’œ'‹Íï•§U'…Ówèú·§ôYW+1^«ª V—ÍwËZH•d}+˜$·‰ýu½ôø éŹ¼.ö¯}¿`çR˜Ü5ËÔ_cÁ9Ê*G‰|QTùË‹rúð¤Øþ꼜\P´¸ Xó&Û*P{½ìÿ¡É¨’ M (уA­ÜQòAÞ `À0 EïèÖåÿpOåUÌ(¥ÖÌùPê-„¯¼þñí¬±.øVEÅÕ„Qí(êï3TP¨ª7+µíýê¯ø¥W%—Õì/¦ÅÎ7‹j±  l2«™(çÍ×¼ùûòVƒ‹B”"qóç@Ú|Mš@¥p(à_öZLs}F\kÔü{Íôúö{ýã;ü fS¢ùZ4w.¾¶—o±øûË~½2V´YTÛœ7Ì×[ªIDAT_‹æ³nф‰èÜlXk(_l`|mà6PÏ›knU¸•󳯼þñm&ô-;w>妭¾ ‚œëm³«E󙋯¥ä·XÚl¢Í¶t³Móg—÷Ý´H\£VÎϼþñúÇw°XlàBlÖ=ãû»1H—"h•"@³ VßI&¤œOýÿA–¡²÷õ õúÇÿÍ\‰Íúݬö»ÞÊùžõñ¨b%K–0 IEND®B`‚murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/sample/hello_world/README.rst0000664000175000017500000000140013656750211031516 0ustar zuulzuul00000000000000================================================================= Build Murano Application Definition Archive from hello_world CSAR ================================================================= In order to build a Murano application definition archive from the hello_world CSAR and the corresponding logo and manifest files, from inside the hello_world folder run following commands: 1. Download archive from https://github.com/openstack/heat-translator/raw/0.4.0/translator/tests/data/csar_hello_world.zip 2. Rename it to 'csar.zip' 3. *zip csar_helloworld_murano_package.zip csar.zip logo.png manifest.yaml* The resulting file *csar_helloworld_murano_package.zip* is the application definition archive that can be imported into the Murano application catalog. murano-9.0.0/contrib/plugins/murano_heat-translator_plugin/setup.py0000664000175000017500000000145513656750211025760 0ustar zuulzuul00000000000000# Copyright 2011-2012 OpenStack Foundation # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import setuptools # all other params will be taken from setup.cfg setuptools.setup(packages=setuptools.find_packages(), setup_requires=['pbr'], pbr=True) murano-9.0.0/rally-jobs/0000775000175000017500000000000013656750351015134 5ustar zuulzuul00000000000000murano-9.0.0/rally-jobs/plugins/0000775000175000017500000000000013656750351016615 5ustar zuulzuul00000000000000murano-9.0.0/rally-jobs/plugins/__init__.py0000664000175000017500000000000013656750212020710 0ustar zuulzuul00000000000000murano-9.0.0/rally-jobs/plugins/README.rst0000664000175000017500000000063013656750212020277 0ustar zuulzuul00000000000000Rally plugins ============= All *.py modules from this directory will be auto-loaded by Rally and all plugins will be discoverable. There is no need of any extra configuration and there is no difference between writing them here and in the Rally code base. Note, however, that it is better to push all interesting and useful benchmarks to the Rally code base: this simplifies administration for Operators. murano-9.0.0/rally-jobs/task-murano.yaml0000664000175000017500000000174513656750212020264 0ustar zuulzuul00000000000000--- MuranoEnvironments.list_environments: - runner: type: "constant" times: 30 concurrency: 4 context: users: tenants: 2 users_per_tenant: 2 sla: failure_rate: max: 0 MuranoEnvironments.create_and_delete_environment: - runner: type: "constant" times: 20 concurrency: 2 context: users: tenants: 2 users_per_tenant: 2 sla: failure_rate: max: 0 MuranoEnvironments.create_and_deploy_environment: - args: packages_per_env: 2 runner: type: "constant" times: 8 concurrency: 2 context: users: tenants: 2 users_per_tenant: 2 murano_packages: app_package: "~/.rally/extra/applications/HelloReporter/io.murano.apps.HelloReporter/" roles: - "admin" sla: failure_rate: max: 0 murano-9.0.0/rally-jobs/extra/0000775000175000017500000000000013656750351016257 5ustar zuulzuul00000000000000murano-9.0.0/rally-jobs/extra/applications/0000775000175000017500000000000013656750351020745 5ustar zuulzuul00000000000000murano-9.0.0/rally-jobs/extra/applications/HelloReporter/0000775000175000017500000000000013656750351023533 5ustar zuulzuul00000000000000murano-9.0.0/rally-jobs/extra/applications/HelloReporter/io.murano.apps.HelloReporter/0000775000175000017500000000000013656750351031171 5ustar zuulzuul00000000000000murano-9.0.0/rally-jobs/extra/applications/HelloReporter/io.murano.apps.HelloReporter/Classes/0000775000175000017500000000000013656750351032566 5ustar zuulzuul00000000000000././@LongLink0000000000000000000000000000016100000000000011213 Lustar 00000000000000murano-9.0.0/rally-jobs/extra/applications/HelloReporter/io.murano.apps.HelloReporter/Classes/HelloReporter.yamlmurano-9.0.0/rally-jobs/extra/applications/HelloReporter/io.murano.apps.HelloReporter/Classes/HelloR0000664000175000017500000000072113656750212033672 0ustar zuulzuul00000000000000Namespaces: =: io.murano.apps std: io.murano sys: io.murano.system Name: HelloReporter Extends: std:Application Properties: name: Contract: $.string().notNull() Workflow: initialize: Body: - $.environment: $.find(std:Environment).require() deploy: Body: - If: not $.getAttr(deployed, false) Then: - $.environment.reporter.report($this, 'Starting deployment! Hello!') - $.setAttr(deployed, True) murano-9.0.0/rally-jobs/extra/applications/HelloReporter/io.murano.apps.HelloReporter/manifest.yaml0000664000175000017500000000036213656750212033660 0ustar zuulzuul00000000000000Format: 1.0 Type: Application FullName: io.murano.apps.HelloReporter Name: HelloReporter Description: | HelloReporter test app. Author: 'Mirantis, Inc' Tags: [App, Test, HelloWorld] Classes: io.murano.apps.HelloReporter: HelloReporter.yaml murano-9.0.0/rally-jobs/extra/applications/HelloReporter/io.murano.apps.HelloReporter/UI/0000775000175000017500000000000013656750351031506 5ustar zuulzuul00000000000000murano-9.0.0/rally-jobs/extra/applications/HelloReporter/io.murano.apps.HelloReporter/UI/ui.yaml0000664000175000017500000000070113656750212033001 0ustar zuulzuul00000000000000Version: 2 Application: ?: type: io.murano.apps.HelloReporter name: $.appConfiguration.name Forms: - appConfiguration: fields: - name: name type: string label: Application Name description: >- Enter a desired name for the application. Just A-Z, a-z, 0-9, dash and underline are allowed - name: unitNamingPattern type: string required: false murano-9.0.0/rally-jobs/extra/applications/README.rst0000664000175000017500000000064413656750212022434 0ustar zuulzuul00000000000000Murano applications =================== Files for Murano benchmarking Structure --------- * / directories. Each directory stores a simple Murano package that is used to prepare the Murano context that is used to deploy an environment with a package. Other files needed for applications can be placed here as well. Useful links ------------ * More about Murano: http://murano.readthedocs.org/ murano-9.0.0/rally-jobs/extra/README.rst0000664000175000017500000000026513656750212017745 0ustar zuulzuul00000000000000Extra files =========== All files from this directory will be copy-pasted to gates, which makes it possible to use absolute paths in rally tasks. Files will be in ~/.rally/extra/* murano-9.0.0/rally-jobs/README.rst0000664000175000017500000000170213656750212016617 0ustar zuulzuul00000000000000Rally job related files ======================= This directory contains rally tasks and plugins that are run by OpenStack CI. Structure --------- * **task-murano.yaml** is a task that will be run in gates against OpenStack deployed by DevStack with installed Rally & Murano. * **plugins** - directory where you can add rally plugins. Almost everything in Rally is plugin. Benchmark context, Benchmark scenario, SLA checks, Generic cleanup resources, .... * **extra** - all files from this directory will be copy-pasted to gates, which makes it possible to use absolute paths in rally tasks. Files will be in ~/.rally/extra/* Useful links ------------ * More about rally: https://rally.readthedocs.org/en/latest/ * How to add rally-gates: https://rally.readthedocs.org/en/latest/gates.html * About plugins: https://rally.readthedocs.org/en/latest/plugins.html * Plugin samples: https://github.com/openstack/rally/tree/master/samples/plugins murano-9.0.0/tox.ini0000664000175000017500000000707113656750212014372 0ustar zuulzuul00000000000000[tox] envlist = py36,py37,pep8 minversion = 2.0 skipsdist = True [testenv] basepython = python3 usedevelop = True install_command = pip install -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/ussuri} {opts} {packages} setenv = VIRTUAL_ENV={envdir} passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY deps = -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = rm -f .testrepository/times.dbm stestr run {posargs} whitelist_externals = bash find rm bandit [testenv:murano-test-runner] commands = murano-test-runner {posargs} [testenv:pep8] commands = flake8 {posargs} {[testenv:bandit]commands} [testenv:bandit] commands = bandit -c bandit.yaml -r murano -x tests -n 5 -ll [testenv:venv] commands = {posargs} [testenv:cover] setenv = {[testenv]setenv} PYTHON=coverage run --source murano --parallel-mode commands = stestr run {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml [testenv:debug] commands = find . -type f -name "*.pyc" -delete oslo_debug_helper {posargs} [testenv:docs] deps = -r{toxinidir}/doc/requirements.txt commands = sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source doc/build/html [testenv:pdf-docs] deps = {[testenv:docs]deps} whitelist_externals = make commands = sphinx-build -W -b latex doc/source doc/build/pdf make -C doc/build/pdf [testenv:pyflakes] deps = flake8 commands = flake8 [testenv:pylint] setenv = VIRTUAL_ENV={envdir} commands = bash tools/lintstack.sh [testenv:genconfig] commands = oslo-config-generator --config-file etc/oslo-config-generator/murano.conf [testenv:gencfconfig] commands = oslo-config-generator --config-file etc/oslo-config-generator/murano-cfapi.conf [testenv:genpolicy] commands = oslopolicy-sample-generator --config-file etc/oslo-policy-generator/murano-policy-generator.conf [testenv:releasenotes] commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [testenv:api-ref] # This environment is called from CI scripts to test and publish # the API Ref to docs.openstack.org. deps = -r{toxinidir}/doc/requirements.txt commands = rm -rf api-ref/build sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html whitelist_externals = rm [flake8] show-source = true builtins = _ # W605 invalid escape sequence # E402 fires an error on eventlet import. Should probably remove condition alltogether ignore = W605,W504,W503,E123,H405,E402 exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build [hacking] import_exceptions = oslo.db.sqlalchemy.test_base, murano.common.i18n [flake8:local-plugins] extension = M318 = checks:assert_equal_none M322 = checks:no_mutable_default_args M326 = checks:check_no_basestring paths = ./murano/hacking [testenv:bindep] # Do not install any requirements. We want this to be fast and work even if # system dependencies are missing, since it's used to tell you what system # dependencies are missing! This also means that bindep must be installed # separately, outside of the requirements files, and develop mode disabled # explicitly to avoid unnecessarily installing the checked-out repo too (this # further relies on "tox.skipsdist = True" above). deps = bindep commands = bindep test usedevelop = False [testenv:lower-constraints] deps = -c{toxinidir}/lower-constraints.txt -r{toxinidir}/test-requirements.txt -r{toxinidir}/requirements.txt murano-9.0.0/ChangeLog0000664000175000017500000031313113656750350014631 0ustar zuulzuul00000000000000CHANGES ======= 9.0.0 ----- * Monkey patch original current\_thread \_active * Update TOX\_CONSTRAINTS\_FILE for stable/ussuri * Update .gitreview for stable/ussuri 9.0.0.0rc1 ---------- * Use unittest.mock instead of third party mock * Remove six usage murano/contrib * Remove six murano/api * Remove six murano/packages * Remove six murano/engine * Remove six murano/dsl * Remove six usage * Remove six murano/db * Remove six murano/hacking * Remove six murano/common * Remove six murano/policy * Add contrib to irrelevant-files * Sync heat-translator and tosca-parser version * Sync python-glanceclient version * Sync python-magnumclient * Clean muranoartifact py2 support * Cleanup py27 support * Update hacking for Python3 * Drop unittest2 usage * Imported Translations from Zanata * Eventlet monkey patching should be as early as possible * Add --procname-prefix for uwsgi murano-api * [ussuri][goal] Drop python 2.7 support and testing * Imported Translations from Zanata * Update master for stable/train 8.0.0 ----- * Update semantic\_version to 2.8.2 and remove multiattach in volume template * PDF documentation build * Blacklist eventlet 0.21.0,0.23.0,0.25.0 * Fix docs build * Add ip\_version for NeutronNetwork subnet * [train][goal] set default dns for IPv6 env * Remove the deadcode * Fix IPV6 rabbit host * Update api-ref location * [train][goal] Define new 'murano-tempest-api-ipv6-only' job in gate * Bump to hacking 1.1.0 * Bump the openstackdocstheme extension to 1.20 * Blacklist sphinx 2.1.0 (autodoc bug) * Add Python 3 Train unit tests * Add local bindep.txt * Replace git.openstack.org URLs with opendev.org URLs * Add deps for api-ref * Update the murano-rally-task job's irrelevant files * Uncap Bandit * Cap Bandit below 1.6.0 and update Sphinx and jsonschema requirement * Correct the environment template clone error message * Remove the unused DISCOVER\_DIRECTORY param * OpenDev Migration Patch * Dropping the py35 testing * Bump psycopg lower-constraint to 2.7 * Replace openstack.org git:// URLs with https:// * Update master for stable/stein 7.0.0.0rc1 ---------- * Grenade: add the Grenade Heat plugin too * Fix py37 unit test error * add python 3.7 unit test job * Using trustor's session to delete the trust * Add grenade job * stop murano-api process * Remove the unused experimental job * Fix contract violation for User resource * Fix pep8 F821 error * Fix pep8 E731 error * Fix pep8 E402 * use get\_rpc\_transport to obtain an RPC transport instance * python3 ValueError object has no attribute message * Fix unittest no such option None in group DEFAULT error * Change openstack-dev to openstack-discuss * update minversion to 2.0 in tox.ini * Title overline too short * fix docs url * Add framework for murano-status upgrade check * Fix test-release-openstack-python3 job failed * Increment versioning with pbr instruction * Update the URL in doc * Use templates for cover and lower-constraints * Use standard cover tox env * add python 3.6 unit test job * switch documentation job to new PTI * Remove install-guide-jobs * import zuul job settings from project-config * Fix py37 tests failed due to async * Update reno for stable/rocky 6.0.0 ----- * Fix Configuration Guide sample and policy conf can not found * Docs: Autogenerate config documentation * Remove congress and mistral functional integration tests * murano-congress-devstack job use native Zuulv3 * Using native Zuulv3 jobs * Update py27-ocata to py27-queens * Remove the unused run\_tests.sh script * Add irrelevant-files for murano-congress-devstack job * [docs]Deploy murano api under WSGI server * Optimize murano admin\_troubleshooting * Remove set GLARE\_API\_URL for horizon * Refactor murano Installation Guide * Sanitizer some sensitive logs information 6.0.0.0b3 --------- * Use V3 auth\_url * Add Release Notes url to README * Switch to using stestr * Follow the new PTI for document build * fix typos * add a link to release notes in README file * [ci] Use zuul v3 native job for Rally * The original env should be {}, otherwise it can not be dealt with by heat client * Fix Error: attribution() takes exactly 3 arguments (2 given) * fix a grammatical error * fix tox python3 overrides * Method, decrypt\_data, uses internal Barbican endpoint * Update auth\_uri option to www\_authenticate\_uri * correct the plural spelling of "object" * fix document error, "is" should be "are" * Trivial: Update pypi url to new url 6.0.0.0b1 --------- * uncap eventlet * Remove use of deprecated term, Usage: Action * Add form validator example to documentation * Allow port security to be disabled * Fix Contract on Project property, extra * Updated from global requirements * Enable mutable config in Murano * add lower-constraints job * Updated from global requirements * Add default configuration files to data\_files * Updated from global requirements * Updated from global requirements * Make test allowed\_pattern type same as the hot example and fix the gate * Update links in README * Updated from global requirements * Updated from global requirements * Imported Translations from Zanata * Add the missing title of Configuration Guide * Remove empty file * Updated from global requirements * Imported Translations from Zanata * Imported Translations from Zanata * use . instead of source * Update reno for stable/queens 5.0.0.0rc1 ---------- * Zuul: Remove project name * Replace curly quotes with straight quotes 5.0.0.0b3 --------- * Updated from global requirements * Updated from global requirements * Option to configure pip source for murano-agent * Updated from global requirements * Fix wrong url in how\_to\_contribute.rst * Murano-engine side implementation of agent message signing * Updated from global requirements * Remove old job names * Follow Zuul v3 naming conventions * Configure murano dashboard selenium tests configuration * Remove python-dev from list of preinstalled packages * Support shared IP address range * Imported Translations from Zanata * Fix the deprecated usage of "get\_transport" * Updated from global requirements * Updated from global requirements 5.0.0.0b2 --------- * Remove murano-tempest-plugin entry from setup.cfg * Document error * Updated from global requirements * Add README for remove murano\_tempest\_tests from murano repo * Remove murano\_tempest\_tests from murano repo * Minor updates to encryption docs * Murano tempest job with separate tempest plugin * Updated from global requirements * Remove the unused install venv scriptes * Fix murano-congress-devstack-dsvm job * Correct misspelling in Murano doc * Fix the incorrect documentation indent * Fix the gate failed * Updated from global requirements * Zuul: add file extension to playbook path * Add legacy murano-dsvm-functional job * Remove setting of version/release from releasenotes * Remove separate firstapp build * Updated from global requirements * Updated from global requirements * Move legacy jobs to project * Updated from global requirements * Do not use “-y†for package install * Updated from global requirements * Use secure path join * Fix rally-dsvm-murano-task job failed * Updated murano-cfapi-paste.ini with http\_proxy\_to\_wsgi 5.0.0.0b1 --------- * Updated from global requirements * Log message * Format string sequence error * Remove download murano images from app.openstack.org * Updated from global requirements * Updated from global requirements * Replace keystoneclient with keystoneauth * Updated from global requirements * List environments api document * [Trivialfix]Fix typos in murano * Code optimization * Environment configuration API * Updated from global requirements * Remove fallback to [keystone\_authtoken] * Update and replace http with https for doc links * Api document error * Remove unused param * Updated from global requirements * Fix to use "." to source script files * Updated from global requirements * Implement environment audit reports * Added Tempest API client methods and Tempest tests for sessions and deployments * Updated from global requirements * Remove pbr warnerrors * Updated from global requirements * Deploy murano-api via uwsgi * Ensure assigned-ips output is present in Heat template with Nova Network * Add securityGroups param to NovaNetwork joinInstance method in Core Library * Update reno for stable/pike * Using oslo generator config file generate murano config 4.0.0.0rc1 ---------- * Added Tempest tests for publicizing a package * Added Tempest negative tests for environments * Fix Murano API in Installation Guide * Refine skip messages * Remove install-guide env which is no longer effective * Update the documentation link for doc migration * Handle available volume client versions * Use consistent session options * Add configuration guide * Updated from global requirements * Fix murano\_auth usage 4.0.0.0b3 --------- * Add idempotent\_id decorators to murano\_tempest\_tests * Update murano policies documentation * Updated from global requirements * Add decryptData yaql function to murano engine * Move admin\_index.rst to index.rst * Update testtools.testcase.attr to decorators.attr * Make cinder volume attachments available * Init the orchestration client from config (part2) * Updated from global requirements * Init the orchestration client from config * Updated from global requirements * Update Documentation link in README * Adapt murano documentation for new standards * Mark doc warnings as errors * Unskip test\_deploy\_app\_with\_volume\_creation test * Make murano user has admin role * Add dsl\_iterators\_limit config option * Use default credentials if None has been passed * Add Apache License Content in index.rst * Use openstackdocstheme everywhere * Skip cinder volume creation test * Remove long-ago deprecated show\_categories * Updated from global requirements * Use tempest.test.BaseTestCase for murano tempest tests * Add policy sample generation * Add widget for volume selection * Fix html\_last\_updated\_fmt for Python3 * Add 'rm -f .testrepository/times.dbm' command in testenv * Remove murano default policy.json * Updated from global requirements * Policy in code for actions/static actions * Add WSGI support script for murano API * docs: Add search package API to api-ref * docs: Add (static) actions API to api-ref * Updated from global requirements * Policy in code for categories * Updated from global requirements * Policy in code for deployments 4.0.0.0b2 --------- * Policy in code for packages * Updated from global requirements * Policy in code for environment templates * Updated from global requirements * Remove dead code * Policy in code * Updated from global requirements * Updated murano-apste.ini with http\_proxy\_to\_wsgi * Updated from global requirements * Updated from global requirements * Updated from global requirements * External object IDs couldn't be used in template() contracts * Replace assertRaisesRegexp with assertRaisesRegex * Updated from global requirements * Remove enforce\_type=True from oslo.config set\_override * Modify Default Domain * Using run\_process instead of screen\_it * Rename py27-mitaka to py72-ocata * Refactor existing context attributes to base class * Update rename environment API endpoint * Updates environment api-ref * Updated from global requirements * Replace six.iteritems() with .items() * Make get\_token\_client\_session get auth\_uri from murano\_auth section * Updated from global requirements * Updates package api-ref * Add bandit job to the pep8 gate for Murano * Allow users to assign a security group to an app * Stop using aliases for creds manager * Add environment templates to api-ref * Add deployments to api-ref * Add sessions to api-ref * Install devstack with murano on Python 3 * Add categories to api-ref * Fix config type of run\_service\_broker\_tests to Boolean * Fix doc generation for Python3 * Added opportunity import packages without tags * Make murano auth with murano\_auth section instend of keystone\_authtoken * Adding bandit.yaml configuration to bandit * Add mising timeout to ApplicationCatalogClient * Changed admin pass to include secret marker as per bandit linting error 109 * Add \`nosec\` for Bandit issue 506 in resource\_manager.py * Add \`--skip B104\` for Bandit issues * Make CinderVolume attachment info available 4.0.0.0b1 --------- * Updated from global requirements * Change cred provider to enforce dynamic config * Optimize the link address * Add packages to api-ref * Adding bandit target to \`\`tox.ini\`\` * Set access\_policy for messaging's dispatcher * Fix doc build if git is absent * Updated from global requirements * Updated from global requirements * Install Guide: Fix RST * Remove log translations * Updated from global requirements * Updated from global requirements * Replaces uuid.uuid4 with uuidutils.generate\_uuid() * Imported Translations from Zanata * Add environments to api-ref * Fix some reST field lists in docstrings * [devstack] Remove all the dashboard config files * Use HostAddressOpt for opts that accept IP and hostnames * Replace assertEqual(None,v) with assertIsNone(v) * Create official murano install guide * Updated from global requirements * Updated from global requirements * Fix a typo * Updated from global requirements * Adds TLS/SSL Version Support to Murano Engine * Replace yaml.load() with yaml.safe\_load() * Agent initialization was fixed * Updated from global requirements * [Fix gate] Update oslo.messaging constructors following recent change * Updated from global requirements * Renames wait\_for\_volume\_status in tempest tests for consistency * Updated from global requirements * Correct some typos in doc\_files * Remove skip test from murano engine package loader unit test * Update reno for stable/ocata * Updated from global requirements * Fixes cfapi unit test conflicting with other tests 3.2.0 ----- * Fix murano-api docs * Fixed opportunity run muranoagent twice * Remove support for py34 * cors: update default configuration * Use https instead of http for git.openstack.org * Prepare for using standard python tests * Remove heat as enable\_service in devstack * Make use of already registered group * Increase unit test coverage for Cfapi * Fixes various Cfapi bugs * 'io.murano.apps.' is not used to download packages * Updated from global requirements 3.1.0 ----- * Updated from global requirements * Fix typos * v1 execution plan template processing was fixed * Marking rabbitmq password config property as secret * Fixes various documentation typos in Murano automated tests description * Exclude build dir for flake8 test * Add debug to tox enviroment * Updated from global requirements * Allows fetching of deployments from all environments * Increase unit test coverage for Common WSGI * Update response code descriptions in API spec * Let admin can delete user's environment * Correct the wrong calling 'getExternalNetworkIdForRouter' * Fix a typo * Increase unit test coverage for Common Auth Utils * Initial commit for murano api-ref * Updated from global requirements * Fixes TypeError thrown by parallel\_select in DSL Helpers * Remove ALLOWED\_HOSTS using murano devstack plugin * Removes unnecessary utf-8 encoding * Developing Murano Packages 101 * Increase unit test coverage for DSL Helpers * Updated from global requirements * Use test-config phase for configuring murano tempest * Updated from global requirements * Use assertIn() to replace asserTrue(\* in \*) * ExistingNeutronNetwork didn't return IPs for the instance * Updated from global requirements * Deleting dates from dictionaries to skip it in assert * Use assertIsNone(...) instead of assertIs(None, ...) * Add log translation marker * Updated from global requirements * modify print information * Modify variable's usage in Log Messages * Updated from global requirements * Replace six iteration methods with standard ones * Translate info-level log messages for LOG.error * Murano can now properly attach VMs to shared networks * Fixed SharedIp class * Fix removes date\_time items from dictionaries * Always declare agent RabbitMQ queues * 2 forgotten files from https://review.openstack.org/#/c/401327 * Reduce the amount of smoke tests from 61 to 40 * Show team and repo badges on README * Updated from global requirements * Fix syntax errors of exception print * Fix syntax errors of the comments * Add Nova anti-affinity rules * Ability to retrieve current/owner user/project * Revert "Update devstack keystone\_authtoken config to fit with keystone v3" * Multi-region support for WindowsInstance * HeatStack async mode fix * Don't purge random stacks * Fix a typo * Configuration is now properly applied to new nodes * Fix typos in cover.sh * Updated from global requirements * [Docs] Restructuring * Add murano-pkg-check to the test-requirements.txt * Increase unit test coverage for common wsgi * Use method ensure\_tree from oslo.utils * [Docs] Restructuring * Replace oslo\_utils.timeutils.isotime * Updated from global requirements * Fill ALLOWED\_HOSTS using murano devstack plugin * Updated from global requirements * Order the packages for parameter search * Typo fix in murano * Documentation for Parameters and ParametersSource * Fix typos in class\_templ.rst & test\_catalog.py * OpenStack typo * Updated from global requirements * Fix debug output for SSLMiddleware X-Forwarded-Proto * Updated from global requirements * Updated from global requirements * Increase unit test coverage for common engine and instance statistics API * Move test with cinder backup creation to the IsolatedAdmin suite * Fixed Shellcheck's warnings in murano-agent * Unblocking the gate * Update devstack keystone\_authtoken config to fit with keystone v3 * Increase unit test coverage for Version Negotiation API * Increase test coverage for Schema Generation API * Increase unit test coverage for Stats API * Repair cinder integration tests * Update .coveragerc after the removal of openstack directory * Added LICENSE to application development library * Increase unit test coverage for Heat Stack * Improve first app builds * Updated from global requirements * Fix TypeError being throw by wait\_ready in Engine System Agent * Increase unit test coverage for Agent API * Remove getRegion() calls from network initializers * Updated from global requirements * Fix statservice save db error * Increase unit test coverage for db services environments and engine system * Increase unit test coverage for engine system * Increase unit test coverage for Engine Package Loader * [docs] Update API spec with info about environment model API * [docs] Add info about show env model and edit env model commands * Fix TypeError being thrown by six.reraise in Engine Package Loader * Improve tests documentation markup * Fix a typo in multi\_region.rst * Increase unit test coverage for CFConnections API * Increase unit test coverage for Manage CLI * Increase unit test coverage for murano heat stack and yaql * Enable release notes translation * Updated from global requirements * [Docs] Add skeleton for My first Murano app guide * Initialize environments with empty metadata * Add environment edit API * MetadataAware mixin added to Core Library * [docs] fix typo manual installation * Fixes Statistics class create referencing invalid attributes for models.ApiStats * GC unit test coverage increased * Increase unit test coverage for DB Instances API * Fix TypeError being thrown by delete\_environment\_from\_space in cf\_connections * Increase unit test coverage for base Utils * Increase unit test coverage for External Context Middleware * Increase unit test coverage for mqclient * Filter enviroment list by project id * Metadata storage in object model * Increase unit test coverage for common.app\_loader * Increase unit test coverage for Stat Service API * Increase unit test coverage for Common Server API * Correctly release CinderVolumes * Fix typo and make docstring more clear * Increase unit test coverage for Schemas API * Increase unit test coverage for Sessions API * Allow to PUT an empty object model * Updated from global requirements * Increase unit test coverage for hacking checks * [Docs] [networking] section for multi-region deployment * Increase unit test coverage for Services Actions API * Async HeatStack::push * Fix indentation in ReplicationGroup class * Increase unit test coverage for murano heat stack * Increase unit test coverage for test fixture * Mark .testr.conf as not-executable * Using assertIsNotNone() instead of assertNotEqual(None) and assertIsNot(None) * Change assertTrue(isinstance()) by optimal assert * Increase unit test coverage for dsl session\_local\_storage * Fix invalid SessionState.deploying reference in services actions * Increase unit test coverage for Hot Package API * Refactoring of Instance::ipAddresses retrieving * Prevent unnecessary stack.push in Instance::releaseResources * Increase unit test coverage for services api * Adds menuselection syntax in enduser guide, quick start section * Increase unit test coverage for Package Base API * Increase unit test coverage for exceptions in Packages API * Increase unit test coverage for common utils * Change assertTrue(isinstance()) by optimal assert * Fixes CFServiceInstance.to\_dict calls wrong class * Increase unit test coverage for murano db and db services * MuranoPL garbage collection system overview * Fix the python3.4 TypeError * Fix menuselection syntax in enduser-guide * Fix typo * Revises json to JSON, yaml to YAML and yaql to YAQL in documents * Use sys.maxsize instead of sys.maxint * Updated from global requirements * Fix copying file before checking it exists in hot package * Increase unit test coverage for Load Utils API * Murano bindings to Glance Metadef API * Call addGroupingress() in init of NeutronSecurityGroupManager * Increase unit test coverage for MPL Package API * Fix a grammatical error * Fix removes duplicated phrase from the document * [Docs] Document Multi-Region Support * [docs] Add info about template() contract * Updated from global requirements * Add quotes to versions * Add hacking rule for using assertIsNone instead of assertEqual(None,\*\*\*) * Fix some typos in devstack readme * Install all apps from ./meta directory on devstack * Remove unused config.CONF * [Docs] Migration guide to newton for application developer * Documentation on App development framework * Remove networking config section from devstack settings * Use fnmatch from oslo.utils * Updated from global requirements * Add missing ":command:" markup for the command * Remove unnecessary setUp * [Core Library] Add getInstanceIpList to NovaNetwork * Increase unit test coverage for dsl attribute\_store and context\_manager * Increase unit test coverage for system agent * Replace retrying with tenacity * Increase unit test coverage for Static Actions API * Increase unit test coverage for Env Templates API * Increase unit test coverage for Actions API * Increase unit test coverage for Catalog API * Increase unit test coverage for api deployments * Convert =0 version specs to ==0 specs * Move getRegion() in CinderVolume to deploy() method * Update docs with installation of io.murano.applications * Remove the unused images * Fix a typo in utils.py * Updated from global requirements * [messaging] Using get\_notification\_transport() * [Docs] Murano plug-ins * Increase unit test coverage * Remove default=None for config options * Add unit versioning test suite * Updated from global requirements * Update reno for stable/newton * Fixes ObjectDestroyedError on StackTrace object * Move session.finish() to 'finally' block 3.0.0.0rc1 ---------- * Forces applications to be deleted before Heat stack * Prevent logging of result of resources.string() method call * Prevent executor finalization until exception are not handled * Small fixes in Core Library * [docs] Conventional changes and formatting fixes * Serialization of destruction dependencies * GC.isDoomed() and GC.isDestroyed() functions were added * Serialization of destroyed objects * Raise exception on call of method of destroyed object * Pass receiver to :GC.subscribeDestruction explicitly * On-demand garbage collection * Break cyclic references in DSL * Cleanup, clarify newton release-notes * [Doc] Add auth params to core library import instruction * Fix multiple errors in network configuration function * Add joinedNetworks property to Instance class * Use openstack-client variables in openstack CLI calls * [Docs] Update screenshots * Better detect and configure murano-agent pre-installed on image * Updated from global requirements * Adjust region name for network selection in devstack * Make tests compose packages in temporarily directory * [Docs] Add info about using abstract dependencies between applications * Use default region\_name parameter in clients * Create glare client in functional tests * [messaging] Using get\_notification\_transport() * Move misplaced reno notes in place * Fix NetworkExplorer creation * Fix adds notes about replacements of items between % signs * Fixes invalid expression in app dev framework * Set the desired hostname to a instance using murano instead of Murano Pattern * Add \_\_ne\_\_ built-in function for murano * Object's properties deserialize was fixed * Fix for Wrong reference in glare docs * ObjectStore parent lookup with temporary id was fixed 3.0.0.0b3 --------- * Updated from global requirements * Type name resolution was fixed * Increase description column length in task table * An initial commit for MuranoPL garbage collector * MasterSlave\* classes were deleted * Alive objects from Objects and ObjectsCopy were merged * Migrate JSON schema generator to new framework * Update clients with multi-region support * Update app dev framework with multi-region support * New framework for contracts * TestFixture mocks were updated * firstOrDefault() was replaced with first(null) * Replace functions 'Dict.get' and 'del' with 'Dict.pop' * Updated from global requirements * TrivialFix: Remove cfg import unused * modify the home-page info with the developer documentation * Correct murano reraising of exception * Update Readme with correct Doc URL * Install all dashboard/panel files from murano-dashboard * OpenstackSecurityConfigurable was renamed * Allow network driver selection override * Fix some typos in wsgi.py & catalog.py * Updated from global requirements * Remove pot files * Adds more replica provider primitives * Migration of replication to the template() contract * Clean imports in code * Update the UI test running documentation * Change Murano API detection in tests and fix tests itself * [docs] Add instruction to add policy files to horizon * Use upper constraints for all jobs in tox.ini * Base Application classes for App Development Framework * Extracted replication capabilities from ServerGroup * Updated from global requirements * Revert "Fix config group for SSL in tempest test" * Fix config group for SSL in tempest test * Fixes congress integration * SoftwareComponent hierarchy refactoring * Improved Server naming and provisioning reporting * Renamed Instance\* to Server\* * AppDevFramework: Server Replication reporting * [Docs] Moves network configuration to admin-guide * Refactor 'wait\_for\_environment\_deploy' function * Use glare urls explicitly in devstack plugin * Add tempest versioning test suite * Support for multi-regional apps was added * Do not serialize Config properties * Don't put non-initialized objects into ObjectStore * template() contract function was introduced * Updated from global requirements * Refactor merge\_dicts helper function tests * Add multiple api workers * Trivial: Add python identifiers in setup.cfg * Linux.runCommand() and Linux.putFile() are now non-synchronized * Changes type format in object model * Fixed reporting in app development framework * [docs] Remove "meta-class" term * Updated from global requirements * Add missing parenthesis * Add deployment murano tempest test * Make service broker work with GLARE again * Fix a typo in the rst file * Move .init call into separate load phase * Get rid of type origins * Add py2.7 and py3.4 identifiers in setup.cfg * Add cinder volumes attachment tests * Updated from global requirements * [docs] Fix formatting in installation guide * Add base and packages for tempest murano scenario tests * Nested new() were not using 2-phase load * Duplicate objects were instantiated for redeclared properties * Updated from global requirements * [Docs]Update the Murano service broker install guide * Fix string interpolation to delayed by logging * Add Python 3.5 classifier and venv * Use assertIn, assertNotIn and assertIsNotNone * Do not override credential provider in tenant isolation tests * [Docs] Move user and appdev guides from draft to main docs * SoftwareComponent implementation * MuranoPL forms implementation * Respect per region RabbitMQ configs in Agent[Listener] * Updated from global requirements * Concurrent Execution Control * InstanceGroup and InstanceProvider hierarchy * Event Notification pattern implemented * Replication classes of Application Development Framework library * TestFixtureWithEnvironment class for TestRunner * dump() function added to DSL * Ability to instantiate object graph * Refactor tempest utils readlines() to read() * Fix typo in package loader logging * Use assertEqual() instead of assertDictEqual() * Fix used package versions for stable inheritance * Refactoring of the ObjectStore passing in DSL * [Docs] Change FQNs of murano apps and add examples of FQNs * [Docs] Add information about Config property usage * Use devstack for service broker use separate paste and db * Replace OpenStack LLC with OpenStack Foundation * Enable static action tests with glare backend * Add tempest GLARE sanity check tests * Initial implementation of artifacts client in tempest plugin * [Docs] Clarify how to run API and engine in separate terminal * Fix cfapi test job * Devstack install murano-dashboard with murano RBAC policy * Updated from global requirements * [Docs]Update the Murano Dashboard install guide * Fixed owner usage for dict-based new() function * Updated from global requirements 3.0.0.0b2 --------- * [Docs] Add parameter resources-dir for hot-packages * Updated from global requirements * Add py27-mitaka tox target * Updated from global requirements * Use keystoneauth1 lib for authentication helpers * fix a spelling mistake: applcation should be application * Implement API call and RPC call for static actions * Could not invoke static methods from Python * [Docs] Add info about 2.2.0 version of execution plan template format * Add filter based on 'in' operator * Use upper-constraints in tox test environments * [docs] Added murano gerrit dashboard * Do not use stevedore namespase as a prefix for class FQNs * Use the absolute path for the session backend * Use multiprocessing.cpu\_count instead of psutil.NUM\_CPUS * Improve cover job output * Updated from global requirements * Improved Test-Runner's output * Test-runner now properly invokes setUp/tearDown methods * Added equality handlers for MuranoObjectInterface * Update namespaces for MagnumBay application * Include objects created with new() into the ObjectStore * Allows Spec::transform treat generators as list * Convert script line endings for the target OS * Improve \_\_init\_\_ detection * Fix error in Magnum-app * Amended reno note about booting from cinder volumes * [Docs] Add a reference to the article about multi regions * Use Murano-specific Horizon settings when devstack install * Get package service backend when package import in devstack * [Plugins] Updated from global requirements * Add metadata to the result of action serialization * Implement new syntax for action declaration * Fix issue with deployment with cloudbase-init on Windows * Updated from global requirements * Use SafeLoader to load yaml files * Added a muranoPL-specific override of 'call' * Refactor API params tuples to sets * Format logs in devstack setup * Including a description field for environment and environment templates * Updated from global requirements * [docs] Add information about TestSuiteMultipleEnvironments * Use a correct config option in example plugin * Add io.murano namespace to demo app for example plugin * Use murano CLI for importing core library in devstack * Remove version from example and heat-translator plugins * Fix missing parenthesis in \_getSubnetworks call * Fix application template update * Two-phase Instance deployment support * Fixed a bug when Heat Stack Update was called without template changes * Finish porting unit tests to Python 3 * Port API v1 unit tests to Python 3 * Fixed inability to deploy if security groups are disabled * Port test\_agent and test\_catalog to Python 3 * Implement meta-classes for UI hints * Add timeout to the methods of Linux class * Fix defaultGroupName of SecurityGroupManager Class * Devstack add compile message for murano-dashboard * Change to tempest stable API * Reorder release notes to put master on top * [Docs] Add an example about usage of static methods in contracts * Updated from global requirements * Update version of source files in cloudify example app * Update obsolete way of initialize tempest client manager * Update functional test \_get\_stack * Updated from global requirements * [Docs] Fix typos * Updated \*\_domain\_id to "Default" * Magnum plugin: import exceptions robustly * fix typo oslo.messaginga * Fixing application template deletion * Fix mismatch description in env template api doc * Updated from global requirements 3.0.0.0b1 --------- * Updated from global requirements * [devstack] Pass MURANO\_USE\_GLARE as bool, not as str * Update version of cloudify client in cloudify plugin requirements * Move service broker api to the top level * Generate separate db for murano service broker * Replace obsolete way of get creds in tempest tests * Documentation to use sub-templates in HOT packages * Updated from global requirements * [Docs] Replace names and images * [Admin Guide] System requirements * Added package references to generated UIs * Forced flush of tmp file to disk on ui retrieval * Support GLARE configuration in Murano tempest plugin * Fix up Assignment table in MuranoPL Reference * Remove unnecessary executable permissions * [Docs] Add info about manifest format to versioning docs * Updated from global requirements * [docs] Fix small typo in docs about automated tests * Updated from global requirements * [Trivial] Fix mismatch string format argument * Add models and migration for new service broker db * Increase status report messages time resolution * Correct wrong import statement in Magnum App * Updated from global requirements * Trivial: ignore openstack/common in flake8 exclude list * [docs] Add info about sanity\_check suits * Updated from global requirements * [Docs] Install diskimage-builder by pip * [Murano Docs] Versioning * Allow insecure SSL communications with RabbitMQ * Modified docstrings to comply with pep8 H405 style check * Change incorrect murano-agent bin file location * Updated from global requirements * Remove explicit version from magnum plugin * Support GLARE installation in devstack Murano plugin * [Murano Docs] Cinder Volume supporting * Pass [rabbitmq]/ca\_certs file to murano-spawned instance * Skip test\_migrations on Python 3 * Revert the destroy execution order * [Trivial] Remove unnecessary executable privilege * [Murano Docs] Murano Contributor rules * Fix tempest.conf generation * Support for \*args/\*\*kwargs was added to the MuranoPL * Deployment reports datetime DB insertion was fixed * Incorrect Method param inheritance was fixed * [Docs] Add limitations of deployment murano-agent by cloud-init * Fix typo in word "settings" in docs about using glare * Fix inaccuracies in docs about murano apps tests * Fixes race condition in HeatStack * Fixed a bug in \_get\_glare\_url * Updated from global requirements * Fix base64 on Python 3 in yaql\_functions.py * Port cloudfoundry/test\_cfapi.py to Python 3 * Port test\_plugin\_loader to Python 3 * Fix tox -e py34 * Imported Translations from Zanata * [Murano Docs] Edits * Use unified decorator for retries * Updated from global requirements * [Murano Docs] Remove articles * [Murano docs] Publish CLI section * Switch to using get\_notification\_listner * Change clusterip field description in docs about Dynamic UI * Add ability to configure home region in murano devstack installation * Do not force admin credentials in service broker test suite * Remove tempest-lib from test-requirements * Increased the size of TEXT columns to store large object models * 'GetPackageUI' API can now be called even if Glare is used * Updated from global requirements * Add help string for cfapi opts * Updated from global requirements * Heat stack deletion for HOT/TOSCA packages was fixed * [Murano Docs] Install murano-agent by cloud-init * [Murano Docs] Manage environment templates * Add documentation about bundles * Define context.roles with base class * [docs] Add stable branch backporting documentation * Updated from global requirements * [docs] Documentation about using Glare Artifact Repository * [docs] Fixed cfapi CLI command sections * Track status report timestamp * Fix Heat Resource Leak in LinuxMuranoInstance * Fix links for samples in heat-transtator plugin * Destroy orphan objects * Don't use bash eval for Linux.runCommand * Add note about big files download * [Murano Docs] Set environment variables * Fix case-sensitive filter value in cfapi * Docs about murano applications debugging * Do not upgrade packages with cloud-init * Fix typos in Murano files * Clean up the configure network doc * Revert "Use unified retrying decorator" * Use unified retrying decorator * Document changes in Dynamic UI * Adds a test for logo validation * Handling of ephemeral methods was fixed * Removed warnings from building docs * [doc] Fix typo in directory name * [doc] Fix formatting for argument * Also package murano\_tempest\_tests * Remove unnecessary packages.rst * [doc] Fix malformed table error * Use \_LW for deprecation warning * Update reno for stable/mitaka 2.0.0.0rc1 ---------- * Upgrade bind function to use murano actions * [cfapi] Use muranoclient to access murano packages * Fix error on deleting Magnum App * Document MuranoPL Metadata * Removes ability to alter defaults for child objects * Add descriptions for policy rules * Do not wait for MessageHandlingServer * App to deploy Magnum Bay * Updated from global requirements * Documentation for static/extension method/properties * Import and deploy TOSCA CSAR packages * Deprecate packages\_opts conf group * Delay load of package Meta * Modified the wrong note * register the config generator default hook with the right name * [Murano Docs] Install murano client * [Admin Guide] SSL configuration * Meta values evaluation was fixed * Documentation for reflection capabilities in MuranoPL * [Admin Guide] Deploy murano * Spelling mistake corrected * Add 'delete-application-from-env-template' in spec doc * Updated from global requirements * Moved CORS middleware configuration into oslo-config-generator * Fix static method parameter validation * Improve logo validation during package uploading * Makes config() function be available to Core Library only 2.0.0.0b3 --------- * Added property to associate environment with OS region * Extension methods were introduced to MuranoPL * [Murano Docs] Fix description for bundle-import * Py3 compatibility fixes * Support of MuranoPL extended metadata was added * [Murano Docs] [CLI] Intro * [Docs] Add info about two new properties of Instance class * Identity v3 support to external context middleware * [Murano docs] fix command name in enduser-guide * [doc]Update the compose.rst images path * Add roles to RequestContext.to\_dict if they're not there * Do not use list lenght checks in Env-Templates test suite * Fix the entry point for oslo-config generator * Update tempest plugin after tempest-lib deprecation * Added links to murano-specs documentation * [Murano Docs]/[docs] Replace all instances of "tenant" with "project" * Fix clobbered releasenote * Fix incorrect ICMP rule in SecurityGroup * Remove unused pngmath Sphinx extension * Rename glance to glare * Ability to have several MuranoPL classes in single YAML file * Use precompiled regex for yaql expression detection * Use more generic "type" name instead of "murano\_class" * Support unversioned keystone endpoints * [doc]Improve the Murano client doc * Updated from global requirements * Update docs, to reflect correct place for driver config option * [Core-Library] Fix the name of variable in Instance method * Remove obsolete tests for logging * Added [murano-test-runner] venv in tox * Strengthen validation of receiver type for methods * Namespace resolution was incorrect for empty namespace * Refactoring of smart-types defined in DSL * Allow static methods to detect calls on object * Import of static and classmethod Python methods * [Murano Docs] Multi-region support * Updated from global requirements * Removes unnecessary import * Heat stack was not always deleted * Fix tests that broke after release of oslo.config 3.8 * Add multiple engine workers * Updated from global requirements * Major refactoring of how OS clients are created and managed * Operations on reflected entities * Updated from global requirements * Enable pep8 to check files in directory tools * Support for static methods/properties * Basic reflection capabilities were added to MuranoPL * Migration to yaql 1.1 * Remove incorrectly used "# flake8: noqa" * Use eventlet.monkey\_patch() before any libs are loaded * [docs]Update the package-import version parameter * Updated from global requirements * New operator 'is' was added * [Murano Docs] Log in to murano-spawned instance * [Murano docs] Managing packages -edits * Update documentation to use openstack-client * Improve grammar in reno notes * Versioning for class configs * Add the max length check for environment update * Add test for update environment with invalid name * Don't use list lenght check in Repository test suite * Updated from global requirements * Remove KEYSTONE\_CATALOG\_BACKEND variable usage * Update glare definitions path * [Murano Docs] Fix Windows 2012 R2 and 2008 R2 image links * Fix adding unit test module * Removes unused posix\_ipc requirement * [Core-Library] Add ability to boot instance from volume * Updated from global requirements * Updated from global requirements * Replace HTTP 415 return code to HTTP 406 when it's correct * cleanup of manual rst file murano docs * cleanup of specification murano docs * Fixed confirmInput parameter name in Dynamic UI docs * Fix incorrect result of listing templates * Remove xfail in service broker negative tests * [Murano Docs] [CLI] Remove manage apps * [doc] Add documentation on package loaders and package cache * [Core-Library] Reset all out properties during releasing * Updated from global requirements * Skip description from service transformation * [Murano Docs] Extend Contract section * Use uppercase 'S' in OpenStack * Fix spelling typos * [package\_cache] Lock usage\_mem\_lock based on package id * [Core-Library] Increase format version * copy-editing of debug-tips murano file * fixed typo on client rst file * [Core-Library] Add 'direction' argument to '\_addGroup' method * [Murano Docs] Fix indentation level in UI definition example * Remove old API tests in favor of tempest plugin * [Core-Library] Delete redundant expression from Instance deploy method * Add environment templates test suite to the tempest plugin * Add categories management test suite to the tempest plugin * [Murano Docs] [CLI] Deploying * Allow murano to run under windows * Update \_get\_tags function to prevent race condition * Move load\_packages\_from from engine section to packages\_opts section * Cleanup .lock files after package deletion from cache * Add service management tests suite to the tempest plugin * Add session management test suite to the tempest plugin * Add environment management test suite to the tempest plugin * Add missing whitespace to error message * Attempt deleting stale packages from cache at download time * Add application catalog repository tests to the tempest plugin * Updated from global requirements * [Core-Library] Fix the way of getting DNS in describe() method * Updated from global requirements * [Murano Docs] [CLI] Manage categories * Remove cap for pip version * [Doc] Update YAQL repository link * Updated from global requirements * API hanged on a termination signal * testtools was moved to main requirements file * [docs]Rename 'Package Definitions' to 'Packages' * Introducing ConfLangInstance * Fix import order of modules * Allow package cache to persist on disc * [Core-Library] Add ability to specify direction and ethetype for groups * Updated from global requirements * "notification\_driver" from group "DEFAULT" is deprecated 2.0.0.0b2 --------- * Cap pip to <8 for dsvm job * Python3: Add support for raise and urlparse * Install murano-agent by cloud-init * [Docs] Update Dymanic UI specification * Fix using map() for python2,3 compatibility * [docs] Add murano test runner information * Fix migrations to maintain compatibility with sqlite * Fixes attribute store for MuranoClassReference types * Updated from global requirements * Python3: Use six.moves for py2 compatibility * Python3: Replace basestring by six.string\_types * [Doc] Fix directory name containing execution plan template * Add package check for package name length * Updated from global requirements * Python3:Replace iter.next() with next(iter) * Fix python 2 and 3 compatibility issue with six * Python3: Replace dict.itervalues with six.itervalues * Python3: Replace dict.iterkeys with six.iterkeys * [docs] Update to use openstack CLI instead of glance(v1) * Python3: Keep compatibility for urllib.urlencode * Imported Translations from Zanata * Updated from global requirements * Broken owner parameter for getAttr/setAttr was fixed * Python3: Fix using dictionary keys() as list * Python3: Replace dict.iteritems with six.iteritems * [Doc] Fix 'Murano packages structure' link * py3: Replaces xrange() with six.moves.range() * make enforce\_type=True in CONF.set\_override * [Murano Docs] [CLI] Manage environments * Support for Cinder volumes was added * Fix the parameter order in method assertEqual * Correct some spelling mistake in guide * Correct filename * Updated from global requirements * Replace deprecated keystoneclient...exceptions * Fix error in app io.murano.apps.demo.DemoApp * [test-runner] Refactor mock unit-tests * Replace deprecated library function os.popen() with subprocess * Replace assertTrue(isinstance()) by optimal assert * Modify filter by 'Name' in Package Definition * Use assertTrue/False instead of assertEqual(T/F) * Updated from global requirements * Updated from global requirements * Imported Translations from Zanata * user\_id column was widened to support domain users * Replace unicode with six.text\_type * Add tagging fuctionality for heat stacks * [test-runner] Create new executer on each test case * Replace tenant\_id with project\_id in auth\_utils * Fix test class property access in mocks * [Murano Docs] Introduction to the User Guide * Missing blankspace in debug in murano.common.statservice * Drop MANIFEST.in - it's not needed with PBR * [docs] Add the step to add passenv in tox.ini * Adjust '410 Gone' exception in service broker negative tests * Use murano client for getting final status of environment * Change LOG.warn to LOG.warning * Wait for state progress of Heat stack upon delete * Updated from global requirements * [Murano Docs] Describe app migrating to L * [test-runner] Put TestFixture class check to the right place * [Murano Docs] Adds Using CLI section to End User Guide * Update buiding windows image article * Add mutable default arguments hacking check * Update the README.rst * [AppDev Guide] MuranoPL Core library * change the repo stackforge to openstack and github to cgit * Remove arguments "{}" and "[]" in function definitions * Updated mock release note and mock-index maxdepth * [docs] Add example of delete item from the list * fix typo in doc/source/image\_builders/upload.rst * Updated from global requirements * [murano-test-runner] Mark 'package' as required parameter * Stop using WritableLogger() which is deprecated * [mocking-machinery] Add original method function * [Murano Docs] Fix links on client docs page * Add release note for fip on multiple networks fix * Updated from global requirements * Pass environment variables of proxy to tox * [mocking-machinery] Add inject YAQL functions * [Murano Docs] Add an intro to apps section * Remove libs and libs usage from murano and murano hooks * Updated from global requirements * Fix spelling error for db migration file name * Updated from global requirements * Added CORS support to Murano * Add an option to filter packages by 'id' in API * Improve public network detection algorithm * Do not wait for MessageHandlingServer * Synced requirements with global requirements * Updated from global requirements * Modify describe method of core-library networking classes * Fix Linux.runCommand method * Add MockContextManager * Fix alignment in log messages * [Murano Docs] Add an intro to env section * Remove version from setup.cfg * Add OneOf smart type * Updated from global requirements * Raise proper exception in ext context middleware 2.0.0.0b1 --------- * [Admin Guide] Policy enforcement * HOT outputs were merged * Fix debug log message * Functional tests for Chef and Puppet examples * [Murano Docs] Remove logs section * Include default region for multiregion testbed * [cfapi] Add multiple tests for cfapi service * [Murano Docs] Browse component details * Glare Plugin Package version removed * Updated from global requirements * [Murano Docs] Add info to deploy an env * Replacing application\_catalog with application-catalog * Updated from global requirements * Remove iso8601 dependency * Documentation for package type plugins * Force releasenotes warnings to be treated as errors * [Murano Docs] Review an environment * Remove unused bunch class * [docs] Update error message * Add verbosity control for Murano-test-runner * Add binding test for cfapi * Add negative test for cfapi last\_status route * [cfapi] Prevent code 500 if instance, environment or service doesn't exists * Skip package section from input parameters * Add provision and deprovision test for cfapi * Fix method comment typo * Remove 'not in global requirenments' section * Public environment template * Fix logging\_setup call * Updated from global requirements * Get scoped token from ext\_context middleware * Update functional tests due to tempest update * [docs] Fix unit tests location * [docs] Remove py26 from tox targets * Fixed broken assignment to dictionary using integer key * Updated from global requirements * [Murano Docs] Edit an environment * Fix Example of net-config filename * Update help message of test-runner to same format * [Murano Docs] Create an environment * Rework service broker authorization process * Updated from global requirements * Documentation for Cloudify plugin and example application * Add reno for release notes management * Add middleware for external requests * [docs] Introduction minor edit * Fix TypeError set param from 'null' to some value * Add new dsl exception for better error reporting * Add functional api tests for categories * Initial commit for service broker tests in tempest plugin * Improved reporting for EADDRINUSE error * Set the port to use oslo\_config PortOpt * remove default=None for config options * Use detail instead of explanation for 415 errors * Adding Cloudify apps library and Example App * Adding the Cloudify Plugin Files * Drop types module usage * Remove obsolete names checks * [documentation] Deletion of the articles rewritten * [test-runner] Show help on error * Use assertIsNone instead of assertEqual(None, \*\*\*) * Banish all 'witches' in murano repository * Move variables from plugin.sh to settings * Update default devstack MURANO\_REPO\_URL * Fix test execution result status * Move cfapi opts to global variables view * Add murano-cfapi endpoint during devstack installation * Updated from global requirements * [Murano Docs] Deployment logs * Return 403 instead of 401 HTTP Response * Move enabling services to plugin settings * FIP was not assigned to revived Instance * Import packages from murano-apps in Devstack * [documentation] Introduction and User Guide publishing * [doc] Improve devstack plugin installation docs * Use default readthedocs theme * Adjust tempest config file path * Remove libs and extras.d usage from gate hooks * Package type plugins support was added * Change in Murano Devstack installation * Updated from global requirements * [doc] Add CLI deployment instructions section * Check dashboard symlinks during horizon plugin installation * Add murano service broker in devstack installation * No need to enable services when plugin is activated * Remove unused tests from project * Updated from global requirements * Streamline test\_simple\_software\_configuration * [Docs] Add murano agent description * Improve message for publish package conflict * Updated from global requirements * Log request headers in debug mode * Open Mitaka development 1.0.0 ----- * Fix a typo in db/catalog/api.py * Fix the delete package give the error with """ * Add test for simple software configuration * Adds plugin dependency for plugin demo app * Initial commit for service broker documentation * Add Apache 2.0 license info to core library * Fixed a typo in example plugin config * Introduce MuranoPL/1.1 and 1.2 * New middleware to handle ssl termination proxies * Updated from global requirements * Use migrate command instead of syncdb * Increased the number of environments per tenant * Updated from global requirements * Fix typos in Murano PL Reference * Fix a typo in Quickstart guide * Fix typos in developer documentation * [Murano Docs] Application topology * Change the way devstack configures murano-dashboard * Do not try to delete server from deleted Heat stack * Makes conditional expressions consistent with yaql 1.0 * [Docs] Describe token expiration in troubleshooting * Incorrect yaql engine was used for MuranoPL/1.0 * [test-runner] Register test-runner system class automatically * Return full structure of std info in Linux class methods * Fix obsolete imports in functional tests * Updated from global requirements * [test runner] Support --config-file option * Retry-on-deadlock added to modify package db api * Replace deprecated tempest config option * Customization of default\_dns in Devstack * Add dependent application test * MuranoPL logging tutorial added * [docs] Add commands to register murano in Keystone * [Intro] Architecture and use cases sections editing and rewording * Updated from global requirements * Make test\_package\_is\_not\_provided less strict * Python method results were not converted to immutable values * Updated from global requirements * Made service broker to handle asynchronous request * Add 'acquired\_by' property to Environment resource * Fix building documentation on readthedocs * Add 'How to login into instance' section to the new docs * Test hot package files with sets instead of lists * Number of yaql functions caused AmbiguousFunctionException * Fix get\_sessions state parameter not working * Fix a typo for environments error msg * Fixed "ERROR: Malformed table" in RST * Add troubleshooting section for a new documentation * Fix order of arguments in assertEqual * Add prefix 'test' to unit test module names * Fix typos in app development guide * Enable H233: Python 3.x incompatible use of print operator * Keyword validation regexp was fixed * Add test for resources deallocation * [Murano Docs] Add Deploy an env HowTo * Specification of which property/argument violated contract was added * Murano waited indefinitely for UPDATE\_COMPLETE stack status * Fix the run\_test unchecked pep8 W503 and E402 errors * Add missing import of '\_' in template\_applications * Release resources allocated to the Instance when it gets deleted 1.0.0.0rc1 ---------- * Fix minItems value for tags in json-schema * Fix link in the documentation * Remove mistral libs installation from test-hooks * Fix agent error message * Change ignore-errors to ignore\_errors * Function caller was incorrect when called from Parallel block * Updated from global requirements * Show public packages for non-admin users * Fix three typos * Fix an error with wrong argument * Remove H904 rule from ignore list * Updated from global requirements * Support unicode characters in Applications or Packages's filter * Added the home-page value with openstack.org * Updated from global requirements * Support for Unicode strings in MuranoPL was fixed * Fix race condition with router creation * Improve the Murano Documentation * Delete the unused LOG configure code 1.0.0.0b3 --------- * Updated from global requirements * Added the support of Glance Artifact Repository * Log refactoring close to new logging spec * Fixed incorrect MuranoPL names for some of Python-based methods * Murano Policy Based Modification Documentation * Update response codes to expected ones * Add id to sort keys parameters while pagination * Environment modify actions introduced * Convert api internal TypeError to HTTPBadRequest * Updated from global requirements * Remove legacy network-related code * Add cd, export and enable service command in doc * Updated from global requirements * ID references made model not able to load in 2 passes * Improve error message in case no environment name * Use default devstack functions for create murano in devsstack environment * Fixes incorrect log format string * Fix typos and plugin samples link * Fix the location of unattend template * Apply yaql conventions to \_\_init\_\_ parameters * yaql context versioning * Fix pylint errors 'unused variable' * Fix murano devstack libs and plugin * Restores back plugin support * Version-aware YAML loading * Glance MuranoPackage Artifact * Package versioning * Temporarily skip tests with dependant applications * Add support for more Cloud Foundry API calls * Fix silently overwrite user specified content type * Updated from global requirements * Cloud Foundry Service Broker API initial commit * Introduce test-runner for MuranoPL test packages * Add tenant\_id check for {env\_id}/lastStatus api * Abandon environment on each exception during removal * Updated from global requirements * Remove tethering between func and api tests and use venv for tempest * Fix the Download link for VirtIO * Adds version info to ApplicationPackage * Move congress/mistral integration related tests to separated dir * Add support for heat environments * Updated from global requirements * BOM symbol removed from Agent-v1.template * Run compress command for dashboard in devstack * Fixed the typo's in multiple files * Logging API for MuranoPL * Simple instance configuration * Improve functional engine tests cleanup * Removing unused dependency: discover * Namespace resolution error was fixed * Fixes Congress model validation * Type cast error in engine * Updated from global requirements * Add port type on port option * Enforced AUTO replacement\_policy for sharedIp port * Updated from global requirements * Fixed the SharedIp class * Make commands in install manual copy-paste-able * Add logging.conf to gitignore * Migration to yaql 1.0 * Updated from global requirements * Update the tox.ini for build docs * Concatenate environment ID to stack name * [Murano Docs] Add an application HowTo * Default Region Configuration Property * Fixing support for package download API * Updated from global requirements * Update the gitingore file * Updated from global requirements * Updated from global requirements * Return x-openstack-request-id header to the caller * Inherit RequestContext from oslo\_context's RequestContext * Updated from global requirements * Typo leaded to FIP not being assigned for nova-network * Add category list pagination support * Attempt to make pylint output more useful * Added info about client and murano-apps trackers to CONTRIBUTING.rst * default\_dns from config was never used * Add support for heat files * Do not confuse terminal stack statuses * Add HelloReporter application to rally-jobs * [Murano Docs] Add Delete an application HowTo * Updated from global requirements * Fix minor typos in murano example plugin * Making murano components aware of openstack ID * Postpone setting fipAssigned attribute until stack successful push * Update the gitingore file * Perform tests tagging * Add dummy test-app and test for it * Prevent 500 when requesting deployments of a deleting env * Attempt to fix congress client initialization * Use oslo.log library instead of system logging module * Remove openstack.common package * Warn user about unsupported content type * Fix incorrect format syntax in app\_loader * Check session validity during env show api call * Updated from global requirements * [End User guide] QuickStart, delete app * Fix sample logging config 1.0.0.0b2 --------- * Add possibilty to delete environment with incorrect .destroy method * Include original ObjectsCopy/Attributes in exception\_result * System class was forgotten in core library manifest * Remove duplicated check env code * Removes early creation of Heat stack * Updated from global requirements * Fix logs loss after switching to oslo\_log * [Docs] Add policy file description * Delete ability to manage packages by name * Separate load\_app from api starter * Introduces combined class loader * murano.cmd.api: Unable to import 'paste' * Updated from global requirements * Fix typo in error message * Improve Murano PL docs * [Murano Docs] Add Delete an app HowTo * Describe 'UI Network Selection' in the docs * Check tenant id during abandoning of an env * Allow setting eventlet.wsgi.MAX\_HEADER\_LINE * Remove entry of 'deprecated' log level * Restrict environment template name length to 255 * Move congress-specific test functions to separate class * Introduce refactored tests * Restrict environment name length to 255 * Make tools/cover.sh executable * Remove hardcoded dns from config file * Handle ValueError from hot\_package * [Murano Docs] Add managing packages HowTo * Use setup\_develop in devstack libs and plugin for devstack * Switch to oslo\_log * Improve the docs on UI Definitions format versions * [Murano docs] Quickstart partial * [Murano docs] Adds bigger screenshots * Fix error message in case category name is too long * Declare the CONF variable * Switch to oslo.service * Use Custom networks as primary if no others exist * [Murano Docs] Add Searching for an app HowTo * Added script for unit tests coverage job * Remove unnecessary pass-statement * Move load\_paste\_app to the place it should be * Remove the wrong assert\_is\_called checking * Remove all vim modelines * Allows congress to fetch environments from all tenants * Hide TrustId in log to tighten up security * Organize imports in correct order * [Murano Docs] replace screenshots * Remove vim headers and shebang * Reload logging options when receiving SIGHUP 1.0.0.0b1 --------- * Update from global-requirements * Improve dsl exception readability * Update version for Liberty * Fix inconsistency of error message and validation when create env * Add CLI reference 1.0.0a0 ------- * Document murano actions * [Murano Docs] Adds ref links to manage\_applications * Do not store session db in tmp directory * Modify environment delete API endopoint to have "abandon" feature * Enable trusts by default * Make use of devstack external plugin * Fix table with block constructs in muranoPl doc * Fix urls in docs for image builders * [Murano Docs] Fixes a typo in the Import an app package section * Increase default timeout for agents response to 1 hour * Update from global requirements * Migrations: ignore mysql fk cheks for any mysql driver * Add new content to Murano introduction article * [Murano Docs] Add importing an app package HowTo * Clean-up openstack.common * Attempt to make pylint output more useful * Add note to docs that hash is not used in images.lst * Use oslo.policy instead of incubated version * [Murano docs] MuranoPL section review * [Murano Docs] Remove old versions of articles * Switch from MySQL-python to PyMySQL * [Murano docs] Examples section review * Murano docs: Intro, key features, target users * cleanup murano docs in the image\_builders folder * murano install docs improvements * murano documentation and cleanup * Update docs about Require section * Add support for 'boolean' HOT parameter * corrected typos throughout murano source articles * Add MURANO\_REPO\_URL customization support for devstack * Improve exception handling during enviroment editing * Murano docs: navigation restructure * Add unique constraint to environment table * Update meta folder readme * Refactor test plugin app * Fix incorrect method when creating unicode env * Add Examples and Use-Cases to app developer guide * App Dev Guide: Murano packages * Appdev guide migration * 'Execution plan template' section * App Dev Guide: MuranoPL section * App Dev Guide: Hot Packages * Removed CLI tests from repo * Adds FAQ content to the Murano docs * Step-by-Step * Add Rally jobs related files to Murano * Update from global-requirements.txt and fix cli tests * Installation docs: install core library as public package * Use catalog=True for package\_loader queries * Murano docs structure * Better ordering of HOT parameters in generated UI form * Improved error reporting for HOT applications * Fix for HOT parameter types conversion * Fix cleanup\_duplicates PluginLoader method * Remove unused dependency on lockfile * Execute pre/post deployment hooks on GC * pselect exited on first exception * Fixed YAQL tag leakage to YAML loader * Add missed tests for migrations * Test db api pagination and ordering * Update from global-requirements.txt * Add stevedore to Murano Requirements * Fixed rules for Congress integration tests * Drop use of 'oslo' namespace package * Add missing RabbitMQ user parameter to Murano lib in devstack * Streamline and simplify package filtering api * Updated YAQL requirement to >= 0.2.6 * Fixes Heat stack rollback on failed stack update * Update project README file * Remove obsolete system class definitions * Remove murano-manage usage from the documentation * Adding lintstack to support pylint gate job * Fix bug with murano-dashboard cleanup in devstack * Open Liberty development 2015.1.0rc1 ----------- * [devstack] Automatically enable required service in devstack * File key is wrongly created when the File Type is downloadable * Update devstack scripts to reflect repo rename * Update docs to reflect repo rename * Update .gitreview file to reflect repo rename * Add method in Agent class to allow message handling extensions * Fix for cross-tenant package and class isolation * Show example of setting requirements to flavor field * Policy enforcement - add cleaning action rules * Cleanup action policies will be created manually as described in this documentation * A Galera-compliant database locking solution * Enable OpenStack Theme for docs * Adds describe method to Network implementations * Murano documentation update * Log exceptions, raised during api * Forbid setting is\_public via querystring * Update default policy settings * [devstack] Install Murano as plugin for Horizon * Remove filter for tasks to show logs for all actions * Set template for docs * Allow any admins to perform actions on packages * Nova Network support * Restricted text search on packages to text fields * Policy enforcement 'services' relationship * Add package\_count to Category objects * Fix installation document * Safely encode yaql expressions to support unicode expressions * Update muranodashboard installation * Cannot create environment from env-template * Update Image Builder documentation * Fixed wrong super call in models.TimestampMixin * Removed redundant code from models module * Fixed 500 error in get\_result API handler * Fixes instance FIP assignment * Bump python-muranoclient version in requirements * Provide Identity version for negative tests * Updated from global requirements * Fixes action result serialization * Computes transitive relationships in murano model * Fix EP building if app doesn't have files in template 2015.1.0b3 ---------- * Initial implementation of Plugable Classes * Fixes incorrect handling of <...> in execution plans * Updates k8s DIB element * Functional tests for environment template functionality * Configurable environment's default network config * [DIB] Kubernetes: added installation of flannel and haproxy * Fix error with package tags type * Use python from venv for subunit-trace * Fix pep8 issues in imports * Environment Template. Create an environment from a template * File Downloable Feature * Environment Template API documentation Targets https://blueprints.launchpad.net/murano/+spec/environment-template * Fixed gate-murano-congress-dsvm job * Added iniset for policy\_enforcer if Congress policies are enabled * Modified Mistral Workflow due to syntax change * move configure\_network post-config to extra phase * Fixes agent call may hanged upon action call * fix typo * Reworked functional tests for Murano * Implement category management API * Makes exception\_traceback optional for exception\_result * Remove deprecated Kubernetes binary "kubecfg" from DIB element * Update API policy * Adds API to obtain action result * Return 409 status instead of 500 if package exists * Extension API for environment templates * Ignoring properties with None value in Murano->Congress mapping * Fixes environment owner in congress mapping * Remove test skipping * Mistral integration functional tests - scripts * Environment Template entity and its service * [DIB-elements] Kubernetes binaries added to PATH * Remove wsgiref from requirements.txt * Functional test for Murano Mistral integration * Update from global requirements * Add document describing v0.5->Juno app migrating * Fixed logic of determining environment status * Changed status constant PENDING -> pending * Kubernetes DIB element: fixed critical bug with application path * Include missing log string format specifier * Fix Policy Enforcement Test App * Fix for testclass TestRepositoryNegativeForbidden * Use oslo.i18n for translation * Policy enforcement functional tests - scripts * Fix inaccuracies in dashboard manual installation * DIB elements for Docker * DIB elements for Kubernetes * Improve exception message 2015.1.0b2 ---------- * Policy enforcement functional tests * Fix for tempest tests * Added tenant check in sessions API resource * Added auth customization in API tests * Update dashboard installation section in docs * Changed models to match migrations * Add timeouts to murano-agent calls * Fix for DSVM gate * Resolve and enable H702 PEP8 rule * Resolve and enable H307 pep8 rule * Resolve and enable E265 pep8 issue * Resolve H305 pep8 issue * Enable and resolve some PEP8 issues * Adds ability to join instances to existing Neutron networks * Add class that runs Mistral workflow * Remove 'murano\_metadata\_url' from config options * Documentation for policy enforcement * Reverted router\_id to router in NeutronNetwork * Add availabilityZone property to Instance class * Initial implementation of policy enforcement point * Changes replacement policy for Neutron ports to AUTO * Use pretty-tox for better test output * Refactor db migration tests * Configure Murano network in devstack * Fix rest\_client import for Tempest based tests * Fix name of the properties for networking resources * Remove usage of FloatingIPAssociation * Adds congress client to client manager * Add Mistarl client to murano * Log details about finished deployment * Fix usage of oslo.utils.uuidutils 2015.1.0b1 ---------- * Drop unused dependencies * Adds per-class configs * Updated from global requirements * Removed unused file from openstack/common * Removed deprecated run\_tests.sh * Removed unused uml-generator from contrib * Drop ordereddict from requirements * Replace anyjson with oslo.serialization * Use oslo.serialization * Use oslo.utils * Change the package 'description' field type * Remove unused imports from genconfig * Update from oslo incubator * Fix Murano app names * Workflow documentation is now in infra-manual * Update information about murano sample config file * Removed outdated init scripts * Added generated sample config to gitignore * Remove py26 from tox targets * Merged duplicating unit tests for actions * Update from global-requirements * Update DB migration tests in respect to new release of Alembic * Adds aggregate function to MuranoPL (YAQL) * Fix dvsm gate * Add tests for tenant isolation * Remove skipping tests on resolved bugs * Change name new\_name generation * Change application index default sort from 'created' to 'name' * Remove #noqa from gettextutils imports * Fix documentation errors and warnings * Use Keystone trusts to get fresh token * Remove unused functional from murano/common/wsgi.py * Fix method lock release upon exception * Update from global requirements * Use oslo.config generator in murano * Environment in delete failed state was in progress forever * Extract version definition to a separate file * Add check on CLI environment actions * Sync with latest Tempest changes * Update article about functional tests * Fix defects in API specification * Add information about network configuration * Add information about 'update\_settings.sh' script * Add initial information about debugging * Extend installation guide * Update manual launching guide * Exceptions get muted in Try-Finally * Open Kilo development 2014.2.rc2 ---------- * Updated from global requirements * Missing validation for environment name in API * No error's reported if heat stack creation/update fails * Fixes typo in JsonPatch UT * Fixes stealing of agent responses in some cases * Do not check config on pep8 * Runtime properties may no longer have default value * Creates a router if one doesn't exist * Use only specific router for created networks * $list.skip($start).take($count) throw YAQL exception * Updated from global requirements * Don't rely on OS::Nova::Server.addresses * Fix concurrency issue with HeatStack.push * keystoneclient.middleware -> keystonemiddleware * Throw macro caused syntax error exception * Remove Contract on customUserData * Remove setup.sh * Allow signalTransport option for sw deployments * Make engine tests based on python murano client * Add two new functions to manipulate with lists 2014.2.b3 --------- * Restore auth\_uri config option * Remove partial clean-up in Instance.destroy * Fix race condition when two Instances are deployed * Move wsgi module to murano/common * Add status reports to HOT packages * Fix issue with Default for Runtime props in HeatSWConfigInstance * Fix deployment failure detection * Provide a description for syntax error * Fix property initialization * Enable H202, H402, H404 rules * Apply fault middleware * Don't treat stack missing as failure during delete * Adds REST API endpoint for action execution * Improve logging in sessions.py * Migrate to oslo.db * Fixed issue with loading yaml files * Fix agent.prepare() when agents disabled * Don't hide exception messages during package load * Application base class didn't define deploy method * Fix occasional deletion failure * Fix check for floating ip in func tests * Fix pep H101(TODO) and H231(py3 exceptions) * Set next version to 2014.2 * Fixes silent deletion of environments * LHS assignment expressions didn't work with non-trivial indexation * Make apache restarts a little more forgiving * Correct InstanceNotifier yaml stub * Allow strings in heat SW config configSection * Add openstack libs to config checker * Reduce number of API requests during deploy * Allow murano-agent to be disabled * Unit tests for MuranoPL execution result serializer * Add sample logging.conf * Allow software config at deploy * Add cleanup method in devstack scripts * Define Murano API URL explicitely * Add simple smoke tests for Murano CLI client * Make default branches independent * Fixed race in DB migration testing * Default is\_public to false * Fixes to unit tests around policies * Add caller information to Begin execute log entry * Move and rename functional tests * Use with\_variant method for dialects db types * Fix the concurrency issue agent queue creation and VM agent * Added Murano config checks * Fix the issue with multiple agent call 2014.2.b2 --------- * Fix tests which checks stack deletion * Add version command to murano-db-manage * Make sure supplier logo saved on dashboard upload * Handle null JSON blobs * Add failure messages in engine functional tests * Fixes name generation for Heat stack * Inherit api tests from tempest base test class * Adds Continue macro to MuranoPL * Unit tests for macro blocks * Add new requirements install in setup.sh script * Fixed incorrect information on Python frames in MuranoPL stack traces * Unit tests for exception handling in MuranoPL * Fix issue with incorrect model on MySQL * Unit tests for engine's YAQL functions * Fix DB migration script * Delete Heat stack when environment is deleted * Fix stack inconsistency after app deletion * Improve dsl testing framework foundation * Add 'userdata\_format' to Server heat template * Add optional fields to packages for supplier info * Unit tests for MuranoPL assignment expressions * Add --log-file to each daemon init script * Fix issues with Heat template updating * Fixed issues with port checks timeout * Fix syntax error in Environment.yaml * Fix setup.sh to import core library each time * Use random name for Heat stack name instead of environment's name * YAQL version updated to 0.2.3 * Add lib-pqdev to Ubuntu prereqs in documentation * Unit tests for method and property access * Unit tests for contracts * Code refactoring and improvements for MuranoPL testing mini-framework * Updated from global requirements * Fix pep8 issues * Update docs to reflect change from murano-api to murano * Add articles about Automated Tests * Add testresources in test-requirements * Add port checks after deployment success * MuranoPL testing mini-framework * fix db-sync execution in Murano setup script * Added coveragerc * Added DB migrations on Alembic * Change how actions are stored in Object Model * Return and Break were broken * MuranoPlException was referenced from incorrect module * Support specifying \`\`sort\_dir\`\` key in packages.search call 2014.2.b1 --------- * Deprecate run\_tests.sh * Adds ability to throw/catch/rethrow exceptions in MuranoPL * Bump pythonclient version to 0.5.2 * Maintain virtual MuranoPL stack trace * Add policy checks to API * Add heat\_template\_version to network fragments * Make sys:Resources class use resources belonging to its owner * Install python client from repo * Introduce a SharedIp object for Clustering * Make categories optional parameter * Fix issue with incorrect uploading packages * Fixed endless recursion loop when super() called in base class * Add API unit tests * Renames 'Workflow' to 'Methods' * Automatically call MuranoPL initialize/destroy methods * Improve method resolution rules for multiple inheritance * Ensure that all the Instance's networks are created prior to joining * Move Neutron networking implementation to Core Library * Add new deployment tests * add pid directory deletion in murano setup script * Fixes Python 2.6 compatibility in HeatStack class * Fixed VM instance tracking in MuranoPL core Instance class * Migrate unit test to testtools * Correct property accessibility for classes in Instance hierarchy * Declare a Runtime property for StatusReporter in Environment * Reorganize documentation index page * Make environment name unique within a tenant * Subsequent stack updates for Heat have proper set of parameters * New instances can now join Networks created in previous deployments * Add support for actions in engine * Fix issue with package loader * Make packages API work on Windows * Restore identity of upcasted MPL object on method call * Add default for getAttr * Preliminary support for HOT packages * Drop unused dependencies * Cleanup tox.ini * Allow package\_get by name * Refactor api.catalog.search() method to provide 'next\_marker' value * Make DELETE request return 404 for nonexistant package * Update dynamic ui fields docs, fix some indents * Fix incorrect import after rename * Import networking library with devstack * Add initial tests for application deployments * Rename muranoapi to murano * Code update * Update gitreview to match repo rename * Renamed the PublicIp and set it to addresses in instance snippet * Send message\_id as property * Add rmq message logging * Removed version prefix from the endpoint urls * Add rabbitmq section config * Add more info to dynamic UI devdoc article * Adds an explanation of the engine workflow * Add API specification * Add new articles to documentation * Add more classes to Instance inheritance hierarchy * debug level logs should not be translated * Fix credentials passed to tempest * Add documentation about Murano PL system classes * Use HOT instead of CFN heat template format * Add notification\_driver to config in devstack * Fixed python2.6 compat for RFCSysLogHandler * Allow import-package to delete & re-import * Allow AgentExceptions to be logged properly * Fix a bug when the same method could be run concurrently by 2 threads * Add docs for App Catalog: * Log unhandled exceptions during task execution * Basic Security Groups implementation * Add KeyName to Instance heat template * Increase length of 'name' column in package table * Add fix for compatibility with SQLalchemy 0.7.9 * Added functionality to assign FloatingIP addresses * Add custom String type to support collation * Fix issue with user permission on package deletion * Implemented AdvNetworking scenarios via Neutron * Added MuranoPL infrastructure for advanced networking scenarios * Added NetworkExplorer engine object class * Add negative tests for murano repository * Add negative tests for murano repository * Add include\_disabled param to pkg search * Fix teh gate * Delete ActiveDirectory application * Changed tests for murano repository * Revert "Remove hardcoded foreign keys from db.catalog.api" * Add basic reporting to engine * Uncomment tag import * Fix extracting services from deployment.description * Added ipAddresses property to Instance * Get function added * Fix issue with getting heat outputs * Fix issue with keystone * Fixed name of the log file on VM * Update ActiveDirectory UI to the last changes * Fix murano-manage import-package * Launch murano-engine with Murano services * Add file limit for a package archive during upload * Set a proper name for murano config section * Added developer documentation * Fixed incorrect instantiation of Resources class * Heat stack could remain even if all applications were removed * Wrong Usage for dns\_ip property in AD PrimaryController * Typo in HeatStack API * DirectoryPackageLoader skipped all package directories * AD was broken because of missing Body key * Rename Type to Usage for MuranoPL properties * Added a CLI command to manage categories * Bump python-muranoclient version to 0.5.0 * Use io.BytesIO instead of sqlalchemy.byte\_buffer * Preserve keys in object's system area * Configure rabbit vhost for Murano * replace reference to .\_items w/ call to .items() * Add CPU info to stats * Fix class FQNs for Active Directory in Dynamic UI * Fix missing function error in install\_venv * Replace 'applications' in deployments data with 'services' * Add 'cp' of murano-dashboard lib file in devstack README * Default MuranoPL function argument value was evaluated incorrectly * Fix issue with hostname * Setup doc build infrastructure * Fix some options set by devstack * Get rid of murano-common * Add murano-dashboard to devstack * Fix engine results processing * Handle unicode strings in merge-dict * Typo in murano-api.conf * Devstack scripts update * Update requirements.txt due to changes in global-requirements.txt * Fix for package import * Fixes DB migrations on SQLite * Add tag assignment during manifest parsing * Support packages in dsl and engine * Remove hardcoded foreign keys from db.catalog.api * Fix wrong indentation in sample UI definition * Update dynamic UI sample - according to the new format * Remove deep dependency from muranoapi * Billing statistics improved * Fix search in tags and categories * Resolve issue with InstanceTracked instantiation * io.murano.Environment used without namespace * Removed dependency from kombu.five * Use plural for class\_definition * Fixed mysql muranoUser setup, add time sync * Add migration for inserting default categories * Catch DBDuplicateEntry exception * Resolve issue with uploading package * Make DB scheme be compatible with MySQL, PostgreSQL and SQLite * Add excpicit comparison instead of using in * Added collation to FQN field to solve MySQL error 1071 * Added 'destroy' method that is called on deleted instances * Improve GET packages API call * Make fully\_qualified a unique parameter * Fix bug with session during deploy * Removed unused muranoapi/contrib * Correct --unittest-only test behavior * Added CLI command to import packages * Fix Murano gate job * Add API entry for Statistics * Update for api and engine services installation * Requirements bumped to global-requirements.txt * Fix parentheses in log translation * Change the way of updating class definition table * Add MuranoPL Testing Framework * Remove auto-create db option from sample config * Make logger inside wsgi a bit more informative * Improve repository API * Collection of MuranoPL instance statistics for billing purposes * statistics renamed to request\_statistics * Add DELETE repository API call * Implement repository API GET methods * Refactor murano functional tests * Added explicit db-sync command * Implement upload call to the repository API * Adoption of pre-0.5 environment API to MuranoPL format * Use native oslo.messaging notification dispatcher * UML Generator script * Resolve issues with circular dependency * Implement package search in repository API * Initial commit for repository API support * Add repository API tests * Added initial version of murano application package parser * Devstack scripts update * Add db backend to support metadata-repository * Merged in murano-common * Add MuranoPL Engine * Add services tests * Added sessions tests * Added environments tests * Lead log spelling to the one style * Set up logs in config.py in appropriate way * Initial MuranoPL implementation v2 * Added base for Tempest tests in dvsm jobs * Added Devstack integration * Add versioning support * Add per API call statistics * Add Statistics Collection loop * Initial MuranoPL implementation * Use oslo.messaging * Fix and enable import checks * Synchronized Openstack Common * Remove copyright from empty files * Enable H102 "License headers" * Run hacking and flake checks for real * Update gitignore * Fixed issue with requirements * Remove oslo.uuidutils from muranoapi * Update context from Oslo * Update README with actual info * Return setup scripts in the consistent state * Remove 'openstack-' prefix in service name * Organize setup scripts * Add tempest integration tests * Cherry-pick the following commits from release-0.4 * Add new setup script and SysV inits * Cherry-pick the following commits from release-0.4: * Fix dev version package spec in requirements.txt * Support getting and updating network\_info of environment * Add common log and configuration places * Cherry-pick from release-0.3: * Enable HA on declared queues * Don't delete environment in case there are problems with RabbitMQ * Fixed the component name for tarballs * Update requirements to match havana's ones * Fixed https://bugs.launchpad.net/murano/+bug/1244118 * Remove d2to1 dependency * Resolved issue with MySQL * Cherry-pick from release-0.2 * Add murano-api to PYTHONPATH * RabbitMQ SSL parameters were not passed to MqClient for certain types of operations * Fixed log output, MRN-922 * Porting changes from Release 0.2 * Cherry-pick following change-ids from release-0.2 * Moved keystone config to conf file * Upgraded prerequisites * Resolved issue MRN-751 * Resolved bug MRN-719 * Resolved MRN-704 * Fixed a bug with error and warning state count * API now gets and handles conductor exceptions * Fixed MRN-680 * Resolved bug MRN-699 * Add info about ssl configuration to murano-api.conf * Resolve MRN-682 * Updated to muranocommon 0.2 with SSL support Change-Id: Ibf4ec63332ab1073bda7d1a1cd102cf514284188 * Migrated to Murano Common * Increment environment * lastStatus introduced * Fixed injectinit function * Modified pip search, garbage deleted * Deployment description is not hidden anymore * Fix jsonschema version in pip-requires * Added non existent environment verification * Removed extra param from config * Resolved MRN-576 * Resolved issue with session delete * Corrections in edge-case output in Deployments API * Deployment logs fetching * Remove obsolete code * Added ability to remove services * New API v2.0 * fixed python setup workflow * Fix MRN-582. Env version incrementation added * Added Traverse Helper * Move to openstack.common.db * Change oslo.config dependacy declaration * Updated to latest OpenStack Common * Cherry-pick all changes from release-0.1 branch * Resolved Bug #1186804 * Added MANIFEST.in and LICENSE * Fixed Environment::Get * Fix import in systemservices * Support for ASP.NET apps git-based deployment * Fix issue with deploy API * Resolve issues with requestion list of services * Resolved issues with Environment::Get * Handle some divergence cases * New way of session handling * Resolved issue with logging * Resolve issues with service deletion * Changed output messages * Support for ASP.NET apps git-based deployment * Add CentOS setup script and modified ubuntu script * Cleaned-up request.context code * Add setup.sh to project murano-api * Fixed issue with service deletion * Resolve issue with circular dependecies * Add .gitreview file * Rename misc files * Rename configs * KEERO-315 - Fix all occurrences of old names (keero, glazier) in REST API * Fix name of the entrypoint stript * Removed all projects except Glazier Api * Small fixes for unit tests * Fixed issue with length of new name * Fixed small issue * Fixed issue with names * Fixed issue with names * Fixed issue with names * Fixed issue with names * Fixed issue with names * Fixed issue with names * Fixed issue with names * Fixed small issue with new names * Fixed issue with horizon component installation * Fixed issue with horizon component installation * Fixed issue with horizon component installation * Finished converting API Specification * Fixed small issue with setup.py * Fixed issue with renaming of the tabula component * Fixed issue with renaming of the tabula component * Added part of API Specification * Tabula renamed to dashboard * Tabula renamed to dashboard * Finished documentation for API * Finished documentation for API * Renamed Portas to API * Renamed Portas to API * Added tox for webUI tests * Added license to documentation of Portas Client * Small fix * Fixed api interface names to environments * Fixed api interface names to environments * Renamed and licensed python-glazierclient * Fixed api interface names to environments * Fixed api interface names to environments * Renamed documentation project * Fixed licenses for tabula and tests. Fixed name of tabula project * Fixed licenses for tabula and tests. Fixed name of tabula project * Fixed a few small issues * Pass all RabbitMQ settings from conductor to Agent * Initialization of tox for conductor and portas. Add new webUI automated tests * Licenses added * A lot of changes were made * Issue with figures * Main Documentation Project * Fixed ignore file for python-portasclient * Documentation for UI * Documentation for Python PortasClient * Forgot man pages * Documentation for Portas Project * Send token when deleting environment * Fixed https://mirantis.jira.com/browse/KEERO-227 * Fixed issue with sessions * Fixed issue with sessions * Experiments * Experiments * Experiments * Experiments * Experiments * Add logging to WebUI * Add initial files for unit tests * Fixed issues with sessions Added logging * Added unit tests for client. Coverage 66% * Rename RabbitMQ username field Removed use\_ssl option from settings * Fix running install\_venv.py * Updated python-portasclient * PEP8 compliance * Fixed unit tests * Added ability to add services to environment * bug fix * bug fix * Fixed index bug * Finalize UI * Finalize UI * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Fix PEP8 errors * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Fix issue with statuses * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Experiments * Fixed issue with sessions * Naming conventions: use name instead of id for instance names * Heat auto-discovery, keero-linux-keys -> keero-keys * Experiments with UI * typo * Scoped tokens * Experiments with UI * Experiments with UI * Experiments with UI * Experiments with UI * Experiments with UI * Experiments with UI * Experiments with UI * Fix issue for result of deleted environments * Fix merge issue * Merged * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fix name of the variable * Fixed small issue * Send token when deleting environment * Removed unneeded binding * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Added tabs for services * forgotten file * Fixed issue with activeDirectory deletion * Add support for reports filtering * Added tabs for services * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Fixed small issue * Added dropdown list with list of services * Added initial version of tabs for services * Added initial version of tabs for services * Added initial version of tabs for services * Fixed issues with templates * Fixed issue with installation * Fixed issue with installation * PEP-8 * Fixed issue with incorrect import * logging and bug-fixes * fixed VM initialization script * Evironment/Units deletion, bug-fixes * Fixed UI issues * Remove service deletion button * Finished installable UI * Removed old code * Naming conventions changed * Updated OpenStack Common (Fixed issue with notifier package) * Use Heat REST API instead of command-line * Added support for setup.py Added localization and documentation skeletons PEP8 Fixes, optimized imports * #KEERO-222 Remove random part of unit name * Send Env to Conductor for deletion * Hot fix for WebUI tests * Fixed WebUI tests. Added new tests * #KEERO-220 Send X-Auth-Token to Conductor * Added initial unit tests for RestAPI service * Fixed all pep8 * Fixed automated tests for web UI * Fixed automated tests for WebUI. Added class Page with simple objects * Code to start\stop keero components using devstack functions * Fixed: changed the run mode for install venv script * Added deployment script for automated tests * All Cloudbase-Init plugins disabled except UserDataPlugin * Userdata script updated to support computer renaming functionality * Entry point script renamed 2d27f4f5054f34982ed67da2bf4b35c8ac1558d3 * Issues #195 and #199 * README and guide for conductor * Fix and unit test for issue: https://mirantis.jira.com/browse/KEERO-219 * Added unit tests for REST API client. Fixed pep8 * New devstack scripts added * Old devstack scripts removed * Write-Host replaced by Write-Log * Fixed typo * Sync * Sync * Sync * Cloned horizon and added our dashboard * Removed obsolete code Removed projects: [windc, windcclient] * Added tests for REST API. Fixed issues with Web UI * Added tests for REST API. Fixed issues with Web UI * Merged iteration3 branch to master. Fixed pep8 * Fixed small issues with UI * Added lst fixes for demo * Fix another issue with environments list * Fix another issue with services * Fix issue with getting list of environments * Added progress bars for services. Fixed few issues for demo * Fix issue with ack on results * Add part of service id to unit name * Add ability to get status for Environments and Sessions * Added password-secure checks for UI, fix usability issues for demo * ExecutionPlanGenerator DSL processor * Updated workflow elements to reflect new name changes and to fix typos * ExecutionPlanGenerator DSL processor * Updated workflow elements to reflect new name changes and to fix typos * Another Issue with sessions * Added progress bar to Web UI. Fixed pep8 errors * Change behaviour of viewing services * Issue with session * No ack is needed when auto\_ack set to True * Resolved issue with reports from orchestration engine * FIx issue with fields created & updated * Fixed issue with logging * Added deploy button for data centers in UI. Fixed templates for services * Queues should be durable * Add debug logging for controllers * Sync before tag * Fixed issue with empty services list * Added new API for Web UI * typos * Fixed length of names * Fixed instance namings * Added WebServer and AD * Workflows, ExecutionPlanGenerator, Reporting, UserData, conductor improvements * Removed obsolete file * Bug with Session * Added Session operations * Added Environments CRUD operations * Issue with deleting Environment * Removed obsolete files * Added initial version for python-portasclient * Issue with port for RabbitMQ * Function updated to return IPv4 addresses only * Typo * Explicit import of module DnsServer added * Function to install IIS added * Code to return DNS listening IPs from DC added * WebServer API Added WebServer API Small refactoring * Fix issues with queues * Added units name generation * Write results from orchestration engine * Active Directory API * Remove obsolete service table * Enable session deployment * Reports from orchestration engine Added ability to store and expose reports from orchestration engine * Cleaned up API * Added support for reading messages from RabbitMQ asynchronously * Typo * userdata.py fixed * Finished Task KEERO-111. Added base UI tests * Hot fix: Fixed pep8 for Dashboard * Finished Task: KEERO-117. Added new UI wizard for Create Services Action * Userdata plugin with minimal MIME support added * User data sample file added * Extra functions moved to NotCoreFunctions.ps1 file in order to remove them in the future * Functions to work with Base64 strings added * Functions to work with Zip files added * Modified files from cloudbase-init added * Fixed pep8. Fixed deployment script * Added support for session checking * Most part of Session API * Removed obsolete code * Added new Session model and migration Fixed issues with previous models * Initial conductor implementation * Added deployment script and automated tests * Small PEP8 fixes * Fixed small issues with parameters. It is required fix * Added remove method for environments Also slightly updated routes table * Finished environments api * Only environments from same tenant as users should be shown * Remove unnecessary blocks of code * When new DC is adding tenant\_id is added as param * Fix issues with context * Moved utils.py from WindDC * Small changes to .gitignore Removed global .gitignore Added .gitignore to WindowsAgent project * Update added files * Added support for keystone-auth * Updated initial version of portas-api * Initial version of portas-api * Simple function to update agent config added * Simple function for working with templates added * Function to retrieve meta data opject from config drive added * localrc updated * Files to automate devstack installation added * Fixed small issues with WebUI * asd * test.commit * test.commit * Log functions updated * Stop-Execution modified * Removed obsole line * Removed obsolete file Added .gitignore file * Added reference JSON for Active Directory * Fixed urls for dashboard * Fixed Web UI for demo * Files removed * Windows PowerShell module added * Unattended installation files added * Execution plan files added * windc iteration2 * Added WebUI for correct configuration of new service AD * Resolved issue with datacenter id * Resolved issue with datacenter id * Fixed many small issues * Fixed typo * Fixed KEERO-89 * Fixed issue with data centers * Added services functions to client. Need to be tested * [KEERO-83] Windows Agent: Ability to reboot machine after execution plan is executed * [KEERO-83] Windows Agent: Typo fixes + sample values in config * [KEERO-83] Windows Agent initial implementation * Added operations for chef. They might be remove if we decide to not use chef * Fixed small issues * Fixed KEERO-85 * Fixed issue with virtual environment SQLAlchemy library * Added library libsqlite3-dev to virtual environment for windc client * Added new functional to dashboard, fixed small issues * Added windc API client, sync repo with dev box * Added new files * Updated design. Removed extra code * 1. Added support of CloudFormation templates. Made a simple interface to build template. Stan can work here to redesign template.py 2. Added calls of drivers. Now heat is called from cmd instead of client. Should be rewritten. 3. ActiveDirectory makes a static template. Need to rewrite this with working with actual parameters * Added additional fields for Domain Controller * Added simple form for configuration Domen Controllers and IIS Servers * Fixed small problems with links and titles on pages * Fixed small problems with links and titles on pages * Added initial project for horizon dashboard * 1. Added builders support. Each builder is a class dynamically loaded from ./windc/core/builders folder. The class name should be the same as module file name. 2. Updated core/api.py to support datacenter and service creation with extra parameters which are not defined by model explicitly. 3. Added event based approach for the windows environment change. Now when user submits a request to API the core updates database and initiates a new event which defined scope (datacenter, service, VM) and action (add, modify, delete). This event and data will be iterated over all registered builders. Each builder can use this event and data to plan some modification * 1. Fixed issue with main file start ./bin/windc-api 2. Added router to Route /datacenters/ and /services/ URLs 3. Added stubs for windc/core/api. 4. Fixed start-up process for service ------------------------------------------------- Now it is working service which will reply for curl http://localhost:8181/tenant\_id/datacenters/ curl http://localhost:8181/tenant\_id/datacenters/dc\_id/services curl http://localhost:8181/tenant\_id/datacenters/dc\_id/services/service\_id * Initial version of the Windows DataCenter project. It is openstak-skeleton based * Unattended files added * Initial empty repository murano-9.0.0/murano.egg-info/0000775000175000017500000000000013656750351016051 5ustar zuulzuul00000000000000murano-9.0.0/murano.egg-info/entry_points.txt0000664000175000017500000000227713656750351021357 0ustar zuulzuul00000000000000[console_scripts] murano-api = murano.cmd.api:main murano-cfapi = murano.cmd.cfapi:main murano-cfapi-db-manage = murano.cmd.cfapi_db_manage:main murano-db-manage = murano.cmd.db_manage:main murano-engine = murano.cmd.engine:main murano-manage = murano.cmd.manage:main murano-status = murano.cmd.status:main murano-test-runner = murano.cmd.test_runner:main [murano_policy_modify_actions] add-object = murano.policy.modify.actions.default_actions:AddObjectAction add-relation = murano.policy.modify.actions.default_actions:AddRelationAction remove-object = murano.policy.modify.actions.default_actions:RemoveObjectAction remove-relation = murano.policy.modify.actions.default_actions:RemoveRelationAction set-property = murano.policy.modify.actions.default_actions:SetPropertyAction [oslo.config.opts] castellan.config = castellan.options:list_opts keystone_authtoken = keystonemiddleware.opts:list_auth_token_opts murano = murano.opts:list_opts murano.cfapi = murano.opts:list_cfapi_opts [oslo.config.opts.defaults] murano = murano.common.config:set_middleware_defaults [oslo.policy.policies] murano = murano.common.policies:list_rules [wsgi_scripts] murano-wsgi-api = murano.httpd.murano_api:init_application murano-9.0.0/murano.egg-info/dependency_links.txt0000664000175000017500000000000113656750351022117 0ustar zuulzuul00000000000000 murano-9.0.0/murano.egg-info/requires.txt0000664000175000017500000000174713656750351020462 0ustar zuulzuul00000000000000pbr!=2.1.0,>=2.0.0 Babel!=2.4.0,>=2.3.4 SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 stevedore>=1.20.0 alembic>=0.8.10 eventlet!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0,>=0.18.2 PasteDeploy>=1.5.0 Routes>=2.3.1 tenacity>=4.4.0 WebOb>=1.7.1 kombu!=4.0.2,>=4.0.0 psutil>=3.2.2 netaddr>=0.7.18 PyYAML>=3.12 jsonpatch!=1.20,>=1.16 keystoneauth1>=3.4.0 keystonemiddleware>=4.17.0 testtools>=2.2.0 yaql>=1.1.3 debtcollector>=1.2.0 cryptography>=2.1 Paste>=2.0.2 jsonschema>=2.6.0 python-keystoneclient>=3.8.0 python-heatclient>=1.10.0 python-neutronclient>=6.7.0 python-muranoclient>=0.8.2 python-congressclient<2000,>=1.9.0 python-mistralclient!=3.2.0,>=3.1.0 oslo.db>=4.27.0 oslo.config>=5.2.0 oslo.concurrency>=3.26.0 oslo.context>=2.19.2 oslo.policy>=1.30.0 oslo.messaging>=5.29.0 oslo.middleware>=3.31.0 oslo.serialization!=2.19.1,>=2.18.0 oslo.service!=1.28.1,>=1.24.0 oslo.utils>=3.33.0 oslo.i18n>=3.15.3 oslo.log>=3.36.0 oslo.upgradecheck>=0.1.0 semantic-version>=2.8.2 castellan>=0.16.0 murano-9.0.0/murano.egg-info/pbr.json0000664000175000017500000000005713656750351017531 0ustar zuulzuul00000000000000{"git_version": "4cbbf56b", "is_release": true}murano-9.0.0/murano.egg-info/PKG-INFO0000664000175000017500000000466113656750351017155 0ustar zuulzuul00000000000000Metadata-Version: 1.2 Name: murano Version: 9.0.0 Summary: Murano API Home-page: https://www.openstack.org/software/releases/mitaka/components/murano Author: OpenStack Author-email: openstack-discuss@lists.openstack.org License: Apache License, Version 2.0 Description: ======================== Team and repository tags ======================== .. image:: https://governance.openstack.org/tc/badges/murano.svg :target: https://governance.openstack.org/tc/reference/tags/index.html .. Change things from this point on Murano ====== Murano Project introduces an application catalog, which allows application developers and cloud administrators to publish various cloud-ready applications in a browsable categorised catalog. Cloud users -- including inexperienced ones -- can then use the catalog to compose reliable application environments with the push of a button. Project Resources ----------------- * `Murano Official Documentation `_ * Project status, bugs, and blueprints are tracked on `Launchpad `_ * Additional resources are linked from the project `Wiki `_ page * `Python client `_ License ------- Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 Release Notes ------------- Release Notes may be found here: https://docs.openstack.org/releasenotes/murano Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: OpenStack Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Information Technology Classifier: License :: OSI Approved :: Apache Software License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Requires-Python: >=3.6 murano-9.0.0/murano.egg-info/top_level.txt0000664000175000017500000000000713656750351020600 0ustar zuulzuul00000000000000murano murano-9.0.0/murano.egg-info/not-zip-safe0000664000175000017500000000000113656750351020277 0ustar zuulzuul00000000000000 murano-9.0.0/murano.egg-info/SOURCES.txt0000664000175000017500000013354513656750351017750 0ustar zuulzuul00000000000000.coveragerc .stestr.conf .zuul.yaml AUTHORS CONTRIBUTING.rst ChangeLog HACKING.rst LICENSE README.rst babel.cfg bandit.yaml bindep.txt lower-constraints.txt requirements.txt setup.cfg setup.py test-requirements.txt tox.ini api-ref/source/conf.py api-ref/source/index.rst api-ref/source/v1/actions.inc api-ref/source/v1/categories.inc api-ref/source/v1/deployments.inc api-ref/source/v1/environments.inc api-ref/source/v1/index.rst api-ref/source/v1/packages.inc api-ref/source/v1/parameters.yaml api-ref/source/v1/sessions.inc api-ref/source/v1/status.yaml api-ref/source/v1/templates.inc api-ref/source/v1/samples/category-create-response.json api-ref/source/v1/samples/category-list-response.json api-ref/source/v1/samples/category-show-response.json api-ref/source/v1/samples/deployments-list-response.json api-ref/source/v1/samples/environment-create-request.json api-ref/source/v1/samples/environment-create-response.json api-ref/source/v1/samples/environment-last-status-response.json api-ref/source/v1/samples/environment-model-update-request.json api-ref/source/v1/samples/environment-show-response.json api-ref/source/v1/samples/environment-update-request.json api-ref/source/v1/samples/environment-update-response.json api-ref/source/v1/samples/environments-list-response.json api-ref/source/v1/samples/environments-model-response.json api-ref/source/v1/samples/execute-action-response.json api-ref/source/v1/samples/package-create-response.json api-ref/source/v1/samples/package-show-response.json api-ref/source/v1/samples/package-update-request.json api-ref/source/v1/samples/package-update-response.json api-ref/source/v1/samples/packages-list-response.json api-ref/source/v1/samples/session-create-response.json api-ref/source/v1/samples/session-show-response.json api-ref/source/v1/samples/static-action-request.json api-ref/source/v1/samples/static-action-response.json api-ref/source/v1/samples/template-add-app-request.json api-ref/source/v1/samples/template-add-app-response.json api-ref/source/v1/samples/template-clone-request.json api-ref/source/v1/samples/template-clone-response.json api-ref/source/v1/samples/template-create-env-request.json api-ref/source/v1/samples/template-create-env-response.json api-ref/source/v1/samples/template-create-request.json api-ref/source/v1/samples/template-create-response.json api-ref/source/v1/samples/template-list-apps-response.json api-ref/source/v1/samples/template-show-response.json api-ref/source/v1/samples/template-update-app-request.json api-ref/source/v1/samples/template-update-app-response.json api-ref/source/v1/samples/templates-list-response.json contrib/elements/docker/README.md contrib/elements/docker/install.d/56-docker contrib/elements/kubernetes/README.md contrib/elements/kubernetes/element-deps contrib/elements/kubernetes/install.d/57-kubernetes contrib/glance/setup.cfg contrib/glance/setup.py contrib/glance/muranoartifact/__init__.py contrib/glance/muranoartifact/v1/__init__.py contrib/glance/muranoartifact/v1/package.py contrib/packages/EncryptionDemo/manifest.yaml contrib/packages/EncryptionDemo/Classes/EncryptionDemo.yaml contrib/packages/EncryptionDemo/UI/ui.yaml contrib/plugins/cloudify_plugin/LICENSE contrib/plugins/cloudify_plugin/README.rst contrib/plugins/cloudify_plugin/requirements.txt contrib/plugins/cloudify_plugin/setup.cfg contrib/plugins/cloudify_plugin/setup.py contrib/plugins/cloudify_plugin/cloudify_applications_library/manifest.yaml contrib/plugins/cloudify_plugin/cloudify_applications_library/Classes/CloudifyApplication.yaml contrib/plugins/cloudify_plugin/murano_cloudify_plugin/__init__.py contrib/plugins/cloudify_plugin/murano_cloudify_plugin/cfg.py contrib/plugins/cloudify_plugin/murano_cloudify_plugin/cloudify_client.py contrib/plugins/cloudify_plugin/murano_cloudify_plugin/cloudify_tosca_package.py contrib/plugins/cloudify_plugin/nodecellar_example_application/LICENSE contrib/plugins/cloudify_plugin/nodecellar_example_application/README.rst contrib/plugins/cloudify_plugin/nodecellar_example_application/logo.png contrib/plugins/cloudify_plugin/nodecellar_example_application/manifest.yaml contrib/plugins/magnum_plugin/LICENSE contrib/plugins/magnum_plugin/requirements.txt contrib/plugins/magnum_plugin/setup.cfg contrib/plugins/magnum_plugin/setup.py contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/logo.png contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/manifest.yaml contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/Classes/MagnumBayApp.yaml contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/Classes/MagnumBaymodel.yaml contrib/plugins/magnum_plugin/magnum-app/com.intel.magnum.plugin.MagnumApp/UI/ui.yaml contrib/plugins/magnum_plugin/magnum_plugin/__init__.py contrib/plugins/magnum_plugin/magnum_plugin/cfg.py contrib/plugins/murano_exampleplugin/requirements.txt contrib/plugins/murano_exampleplugin/setup.cfg contrib/plugins/murano_exampleplugin/setup.py contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/logo.png contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/manifest.yaml contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/Classes/DemoApp.yaml contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/Classes/DemoInstance.yaml contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/Classes/ImageValidatorMixin.yaml contrib/plugins/murano_exampleplugin/example-app/io.murano.apps.demo.DemoApp/UI/ui.yaml contrib/plugins/murano_exampleplugin/murano_exampleplugin/__init__.py contrib/plugins/murano_exampleplugin/murano_exampleplugin/cfg.py contrib/plugins/murano_heat-translator_plugin/README.rst contrib/plugins/murano_heat-translator_plugin/requirements.txt contrib/plugins/murano_heat-translator_plugin/setup.cfg contrib/plugins/murano_heat-translator_plugin/setup.py contrib/plugins/murano_heat-translator_plugin/plugin/__init__.py contrib/plugins/murano_heat-translator_plugin/plugin/cfg.py contrib/plugins/murano_heat-translator_plugin/plugin/csar_package.py contrib/plugins/murano_heat-translator_plugin/sample/hello_world/README.rst contrib/plugins/murano_heat-translator_plugin/sample/hello_world/logo.png contrib/plugins/murano_heat-translator_plugin/sample/hello_world/manifest.yaml contrib/plugins/murano_heat-translator_plugin/sample/wordpress/README.rst contrib/plugins/murano_heat-translator_plugin/sample/wordpress/logo.png contrib/plugins/murano_heat-translator_plugin/sample/wordpress/manifest.yaml devstack/README.rst devstack/plugin.sh devstack/settings devstack/files/apache-murano-api.template devstack/files/debs/murano devstack/files/rpms/murano devstack/upgrade/resources.sh devstack/upgrade/settings devstack/upgrade/shutdown.sh devstack/upgrade/upgrade.sh doc/requirements.txt doc/source/conf.py doc/source/index.rst doc/source/_templates/sidebarlinks.html doc/source/admin/admin_troubleshooting.rst doc/source/admin/config-wsgi.rst doc/source/admin/configure_cloud_foundry_service_broker.rst doc/source/admin/deploy_murano.rst doc/source/admin/index.rst doc/source/admin/manage_categories.rst doc/source/admin/manage_images.rst doc/source/admin/manage_packages.rst doc/source/admin/murano_agent.rst doc/source/admin/murano_policies.rst doc/source/admin/murano_repository.rst doc/source/admin/net_configuration.rst doc/source/admin/policy_enf.rst doc/source/admin/prepare_lab.rst doc/source/admin/using_glare.rst doc/source/admin/appdev-guide/app_debugging.rst doc/source/admin/appdev-guide/app_development_framework.rst doc/source/admin/appdev-guide/app_migrating.rst doc/source/admin/appdev-guide/app_unit_tests.rst doc/source/admin/appdev-guide/cinder_volume_supporting.rst doc/source/admin/appdev-guide/developer_index.rst doc/source/admin/appdev-guide/encrypting_properties.rst doc/source/admin/appdev-guide/examples.rst doc/source/admin/appdev-guide/exec_plan.rst doc/source/admin/appdev-guide/faq.rst doc/source/admin/appdev-guide/garbage_collection.rst doc/source/admin/appdev-guide/hot_packages.rst doc/source/admin/appdev-guide/multi_region.rst doc/source/admin/appdev-guide/murano_bundles.rst doc/source/admin/appdev-guide/murano_packages.rst doc/source/admin/appdev-guide/murano_pl.rst doc/source/admin/appdev-guide/use_cases.rst doc/source/admin/appdev-guide/app_migrating/app_migrate_to_juno.rst doc/source/admin/appdev-guide/app_migrating/app_migrate_to_kilo.rst doc/source/admin/appdev-guide/app_migrating/app_migrate_to_liberty.rst doc/source/admin/appdev-guide/app_migrating/app_migrate_to_newton.rst doc/source/admin/appdev-guide/figures/chef_server.png doc/source/admin/appdev-guide/figures/chef_server_form.png doc/source/admin/appdev-guide/figures/logo.png doc/source/admin/appdev-guide/figures/step_1.png doc/source/admin/appdev-guide/figures/step_2.png doc/source/admin/appdev-guide/figures/structure.png doc/source/admin/appdev-guide/figures/structure.vdx doc/source/admin/appdev-guide/murano_pl/actions.rst doc/source/admin/appdev-guide/murano_pl/class_templ.rst doc/source/admin/appdev-guide/murano_pl/core_lib.rst doc/source/admin/appdev-guide/murano_pl/metadata.rst doc/source/admin/appdev-guide/murano_pl/reflection.rst doc/source/admin/appdev-guide/murano_pl/statics.rst doc/source/admin/appdev-guide/murano_pl/versioning.rst doc/source/admin/appdev-guide/murano_pl/yaml.rst doc/source/admin/appdev-guide/murano_pl/yaql.rst doc/source/admin/appdev-guide/muranopackages/dynamic_ui.rst doc/source/admin/appdev-guide/muranopackages/package_structure.rst doc/source/admin/appdev-guide/muranopackages/repository.rst doc/source/admin/appdev-guide/step-by-step/configure-step1.png doc/source/admin/appdev-guide/step-by-step/configure-step2.png doc/source/admin/appdev-guide/step-by-step/hello-world-desc.png doc/source/admin/appdev-guide/step-by-step/hello-world-screen-1.png doc/source/admin/appdev-guide/step-by-step/hello-world-screen-2.png doc/source/admin/appdev-guide/step-by-step/new-env-1.png doc/source/admin/appdev-guide/step-by-step/new-env-2.png doc/source/admin/appdev-guide/step-by-step/new-env-3.png doc/source/admin/appdev-guide/step-by-step/part1.rst doc/source/admin/appdev-guide/step-by-step/part2.rst doc/source/admin/appdev-guide/step-by-step/part3.rst doc/source/admin/appdev-guide/step-by-step/part4.rst doc/source/admin/appdev-guide/step-by-step/plone-admin.png doc/source/admin/appdev-guide/step-by-step/plone-logo.png doc/source/admin/appdev-guide/step-by-step/plone-ready.png doc/source/admin/appdev-guide/step-by-step/plone-simple-step1.png doc/source/admin/appdev-guide/step-by-step/plone-simple-step2.png doc/source/admin/appdev-guide/step-by-step/step_by_step.rst doc/source/admin/deploy_murano/configure_ssl.rst doc/source/admin/deploy_murano/devstack.rst doc/source/admin/deploy_murano/install_manually.rst doc/source/admin/deploy_murano/prerequisites.rst doc/source/admin/figures/add-interface.png doc/source/admin/figures/deploy-log.png doc/source/admin/figures/network-topology-1.png doc/source/admin/figures/network-topology-2.png doc/source/admin/figures/new-inst.png doc/source/admin/policy_enforcement/policy_enf_dev.rst doc/source/admin/policy_enforcement/policy_enf_modify.rst doc/source/admin/policy_enforcement/policy_enf_rules.rst doc/source/admin/policy_enforcement/policy_enf_setup.rst doc/source/cli/index.rst doc/source/cli/murano-status.rst doc/source/configuration/config-options.rst doc/source/configuration/index.rst doc/source/configuration/sample_config.rst doc/source/configuration/sample_policy.rst doc/source/contributor/contributor_index.rst doc/source/contributor/dev_env.rst doc/source/contributor/dev_guidelines.rst doc/source/contributor/doc_guidelines.rst doc/source/contributor/how_to_contribute.rst doc/source/contributor/plugins.rst doc/source/contributor/stable_branches.rst doc/source/contributor/testing.rst doc/source/contributor/plugins/manage_plugins.rst doc/source/contributor/plugins/murano_plugins.rst doc/source/first-app/Before_the_start.rst doc/source/first-app/Debugging_and_troubleshooting_your_murano_app.rst doc/source/first-app/Develop_murano_app_for_plone.rst doc/source/first-app/Publish_your_murano_app_in_the_application_catalog.rst doc/source/first-app/README.rst doc/source/first-app/What_is_the_use_case.rst doc/source/first-app/What_you_will_learn.rst doc/source/first-app/Who_is_this_guide_for.rst doc/source/first-app/index.rst doc/source/install/common_prerequisites.rst doc/source/install/enable-ssl.rst doc/source/install/from-source.rst doc/source/install/get_started.rst doc/source/install/import-murano-apps.rst doc/source/install/index.rst doc/source/install/install-api.rst doc/source/install/install-dashboard.rst doc/source/install/install-network-config.rst doc/source/install/install.rst doc/source/install/next-steps.rst doc/source/install/verify.rst doc/source/reference/architecture.png doc/source/reference/architecture.rst doc/source/reference/key_features.rst doc/source/reference/overview_index.rst doc/source/reference/target_users.rst doc/source/reference/use_cases.rst doc/source/reference/appendix/appendix_index.rst doc/source/reference/appendix/cli_ref.rst doc/source/reference/appendix/glossary.rst doc/source/reference/appendix/murano_concepts.rst doc/source/reference/appendix/rest_api_spec.rst doc/source/reference/appendix/tutorials.rst doc/source/reference/appendix/articles/articles_index.rst doc/source/reference/appendix/articles/guidelines.rst doc/source/reference/appendix/articles/multi_region.rst doc/source/reference/appendix/articles/murano_gerrit_dashboard.rst doc/source/reference/appendix/articles/telnet_example.rst doc/source/reference/appendix/articles/test_docs.rst doc/source/reference/appendix/articles/workflow.rst doc/source/reference/appendix/articles/image_builders/index.rst doc/source/reference/appendix/articles/image_builders/linux.rst doc/source/reference/appendix/articles/image_builders/upload.rst doc/source/reference/appendix/articles/image_builders/windows.rst doc/source/reference/appendix/articles/specification/index.rst doc/source/reference/appendix/articles/specification/murano-api.rst doc/source/reference/appendix/articles/specification/murano-env-temp.rst doc/source/reference/appendix/articles/specification/murano-repository.rst doc/source/reference/appendix/articles/specification/overview.rst doc/source/user/user_index.rst doc/source/user/figures/add_key_pair.png doc/source/user/figures/add_pkg_info.png doc/source/user/figures/app_category.png doc/source/user/figures/app_details.png doc/source/user/figures/app_filter.png doc/source/user/figures/app_filter_example.png doc/source/user/figures/app_logs.png doc/source/user/figures/browse_zip_file.png doc/source/user/figures/bundle_name.png doc/source/user/figures/component-details.png doc/source/user/figures/delete_application.png doc/source/user/figures/deploy_env.png doc/source/user/figures/deploy_env_2.png doc/source/user/figures/env-component-logs.png doc/source/user/figures/env_default_network.png doc/source/user/figures/environments.png doc/source/user/figures/import_bundle.png doc/source/user/figures/import_package.png doc/source/user/figures/logs.png doc/source/user/figures/murano_actions.png doc/source/user/figures/qs_app_category.png doc/source/user/figures/qs_apps.png doc/source/user/figures/qs_package_details.png doc/source/user/figures/qs_package_import.png doc/source/user/figures/qs_package_url.png doc/source/user/figures/qs_quick_deploy.png doc/source/user/figures/qs_quick_deploy_2.png doc/source/user/figures/qs_quick_env.png doc/source/user/figures/repository.png doc/source/user/figures/select_packages.png doc/source/user/figures/topology_element_1.png doc/source/user/figures/topology_element_2.png doc/source/user/figures/topology_kubernetes.png doc/source/user/figures/topology_wordpress.png doc/source/user/figures/add_to_env/add_component.png doc/source/user/figures/add_to_env/add_from_cat.png doc/source/user/figures/add_to_env/add_more_apps.png doc/source/user/figures/add_to_env/add_to_env.png doc/source/user/figures/add_to_env/configure_app.png doc/source/user/figures/add_to_env/drag_and_drop.png doc/source/user/figures/add_to_env/quick_deploy.png doc/source/user/figures/add_to_env/quick_env.png doc/source/user/quickstart/quickstart.rst doc/source/user/userguide/deploying_using_cli.rst doc/source/user/userguide/install_client.rst doc/source/user/userguide/log_in_to_murano_instance.rst doc/source/user/userguide/manage_applications.rst doc/source/user/userguide/manage_environments.rst doc/source/user/userguide/use_cli.rst etc/murano/README-murano.conf.txt etc/murano/logging.conf.sample etc/murano/murano-cfapi-paste.ini etc/murano/murano-paste.ini etc/murano/netconfig.yaml.sample etc/oslo-config-generator/murano-cfapi.conf etc/oslo-config-generator/murano.conf etc/oslo-policy-generator/murano-policy-generator.conf meta/README.rst meta/io.murano/LICENSE meta/io.murano/manifest.yaml meta/io.murano.applications/LICENSE meta/io.murano.applications/manifest.yaml meta/io.murano.applications/Classes/baseapps.yaml meta/io.murano.applications/Classes/component.yaml meta/io.murano.applications/Classes/events.yaml meta/io.murano.applications/Classes/replication.yaml meta/io.murano.applications/Classes/servers.yaml meta/io.murano.applications/Classes/tests/TestEvents.yaml meta/io.murano.applications/Classes/tests/TestReplication.yaml meta/io.murano.applications/Classes/tests/TestServerProviders.yaml meta/io.murano.applications/Classes/tests/TestSoftwareComponent.yaml meta/io.murano/Classes/Application.yaml meta/io.murano/Classes/CloudRegion.yaml meta/io.murano/Classes/CloudResource.yaml meta/io.murano/Classes/Environment.yaml meta/io.murano/Classes/Exception.yaml meta/io.murano/Classes/File.yaml meta/io.murano/Classes/Object.yaml meta/io.murano/Classes/Project.yaml meta/io.murano/Classes/SharedIp.yaml meta/io.murano/Classes/SharedIpRange.yaml meta/io.murano/Classes/StackTrace.yaml meta/io.murano/Classes/User.yaml meta/io.murano/Classes/configuration/Linux.yaml meta/io.murano/Classes/metadata/Description.yaml meta/io.murano/Classes/metadata/HelpText.yaml meta/io.murano/Classes/metadata/ModelBuilder.yaml meta/io.murano/Classes/metadata/Title.yaml meta/io.murano/Classes/metadata/engine/Serialize.yaml meta/io.murano/Classes/metadata/engine/Synchronize.yaml meta/io.murano/Classes/metadata/forms/Hidden.yaml meta/io.murano/Classes/metadata/forms/Position.yaml meta/io.murano/Classes/metadata/forms/Section.yaml meta/io.murano/Classes/resources/CinderVolume.yaml meta/io.murano/Classes/resources/CinderVolumeBackup.yaml meta/io.murano/Classes/resources/CinderVolumeSnapshot.yaml meta/io.murano/Classes/resources/ConfLangInstance.yaml meta/io.murano/Classes/resources/ExistingCinderVolume.yaml meta/io.murano/Classes/resources/ExistingNeutronNetwork.yaml meta/io.murano/Classes/resources/HeatSWConfigInstance.yaml meta/io.murano/Classes/resources/HeatSWConfigLinuxInstance.yaml meta/io.murano/Classes/resources/Instance.yaml meta/io.murano/Classes/resources/InstanceAffinityGroup.yaml meta/io.murano/Classes/resources/LinuxInstance.yaml meta/io.murano/Classes/resources/LinuxMuranoInstance.yaml meta/io.murano/Classes/resources/LinuxUDInstance.yaml meta/io.murano/Classes/resources/MetadataAware.yaml meta/io.murano/Classes/resources/Network.yaml meta/io.murano/Classes/resources/NeutronNetwork.yaml meta/io.murano/Classes/resources/NeutronNetworkBase.yaml meta/io.murano/Classes/resources/NovaNetwork.yaml meta/io.murano/Classes/resources/Volume.yaml meta/io.murano/Classes/resources/WindowsInstance.yaml meta/io.murano/Classes/system/Agent.yaml meta/io.murano/Classes/system/AgentListener.yaml meta/io.murano/Classes/system/AwsSecurityGroupManager.yaml meta/io.murano/Classes/system/DummySecurityGroupManager.yaml meta/io.murano/Classes/system/HeatStack.yaml meta/io.murano/Classes/system/InstanceNotifier.yaml meta/io.murano/Classes/system/Logger.yaml meta/io.murano/Classes/system/MetadefBrowser.yaml meta/io.murano/Classes/system/MistralClient.yaml meta/io.murano/Classes/system/NetworkExplorer.yaml meta/io.murano/Classes/system/NeutronSecurityGroupManager.yaml meta/io.murano/Classes/system/Resources.yaml meta/io.murano/Classes/system/SecurityGroupManager.yaml meta/io.murano/Classes/system/StatusReporter.yaml meta/io.murano/Classes/test/TestFixture.yaml meta/io.murano/Resources/Agent-v1.template meta/io.murano/Resources/Agent-v2.template meta/io.murano/Resources/PutFile.template meta/io.murano/Resources/RunCommand.template meta/io.murano/Resources/conflang.conf meta/io.murano/Resources/linux-init.sh meta/io.murano/Resources/murano-agent meta/io.murano/Resources/murano-agent.conf meta/io.murano/Resources/murano-agent.service meta/io.murano/Resources/murano-init.conf meta/io.murano/Resources/murano-init.sh meta/io.murano/Resources/windows-init.ps1 meta/io.murano/Resources/scripts/putFile.sh murano/__init__.py murano/context.py murano/monkey_patch.py murano/opts.py murano/utils.py murano/version.py murano.egg-info/PKG-INFO murano.egg-info/SOURCES.txt murano.egg-info/dependency_links.txt murano.egg-info/entry_points.txt murano.egg-info/not-zip-safe murano.egg-info/pbr.json murano.egg-info/requires.txt murano.egg-info/top_level.txt murano/api/__init__.py murano/api/versions.py murano/api/middleware/__init__.py murano/api/middleware/context.py murano/api/middleware/ext_context.py murano/api/middleware/fault.py murano/api/middleware/version_negotiation.py murano/api/v1/__init__.py murano/api/v1/actions.py murano/api/v1/catalog.py murano/api/v1/deployments.py murano/api/v1/environments.py murano/api/v1/instance_statistics.py murano/api/v1/request_statistics.py murano/api/v1/router.py murano/api/v1/schemas.py murano/api/v1/services.py murano/api/v1/sessions.py murano/api/v1/static_actions.py murano/api/v1/template_applications.py murano/api/v1/templates.py murano/api/v1/validation_schemas.py murano/cfapi/__init__.py murano/cfapi/cfapi.py murano/cfapi/router.py murano/cmd/__init__.py murano/cmd/api.py murano/cmd/cfapi.py murano/cmd/cfapi_db_manage.py murano/cmd/db_manage.py murano/cmd/engine.py murano/cmd/manage.py murano/cmd/status.py murano/cmd/test_runner.py murano/common/__init__.py murano/common/app_loader.py murano/common/auth_utils.py murano/common/cf_config.py murano/common/config.py murano/common/consts.py murano/common/engine.py murano/common/exceptions.py murano/common/i18n.py murano/common/policy.py murano/common/rpc.py murano/common/server.py murano/common/statservice.py murano/common/utils.py murano/common/uuidutils.py murano/common/wsgi.py murano/common/xmlutils.py murano/common/helpers/__init__.py murano/common/helpers/path.py murano/common/helpers/token_sanitizer.py murano/common/messaging/__init__.py murano/common/messaging/message.py murano/common/messaging/mqclient.py murano/common/messaging/subscription.py murano/common/plugins/__init__.py murano/common/plugins/extensions_loader.py murano/common/plugins/package_types_loader.py murano/common/policies/__init__.py murano/common/policies/action.py murano/common/policies/base.py murano/common/policies/category.py murano/common/policies/deployment.py murano/common/policies/env_template.py murano/common/policies/environment.py murano/common/policies/package.py murano/db/__init__.py murano/db/api.py murano/db/cfapi_models.py murano/db/models.py murano/db/session.py murano/db/catalog/__init__.py murano/db/catalog/api.py murano/db/cfapi_migration/__init__.py murano/db/cfapi_migration/alembic.ini murano/db/cfapi_migration/migration.py murano/db/cfapi_migration/alembic_migrations/README murano/db/cfapi_migration/alembic_migrations/env.py murano/db/cfapi_migration/alembic_migrations/script.py.mako murano/db/cfapi_migration/alembic_migrations/versions/001_initial_version.py murano/db/migration/__init__.py murano/db/migration/alembic.ini murano/db/migration/helpers.py murano/db/migration/migration.py murano/db/migration/alembic_migrations/README murano/db/migration/alembic_migrations/env.py murano/db/migration/alembic_migrations/script.py.mako murano/db/migration/alembic_migrations/versions/001_initial_version.py murano/db/migration/alembic_migrations/versions/002_add_package_supplier_info.py murano/db/migration/alembic_migrations/versions/003_add_action_entry.py murano/db/migration/alembic_migrations/versions/004_change_package_desc_type.py murano/db/migration/alembic_migrations/versions/005_environment-template.py murano/db/migration/alembic_migrations/versions/006_add_task_result.py murano/db/migration/alembic_migrations/versions/007_add_locks.py murano/db/migration/alembic_migrations/versions/008_fix_unique_constraints.py murano/db/migration/alembic_migrations/versions/009_add_cloudfoundry_connections.py murano/db/migration/alembic_migrations/versions/010_remove_unused_networking_column.py murano/db/migration/alembic_migrations/versions/011_add_is_public_to_template.py murano/db/migration/alembic_migrations/versions/012_support_domain_users.py murano/db/migration/alembic_migrations/versions/013_increase_description_text_size.py murano/db/migration/alembic_migrations/versions/014_increase_status_time_resolution.py murano/db/migration/alembic_migrations/versions/015_adding_text_description.py murano/db/migration/alembic_migrations/versions/016_increase_task_description_text_size.py murano/db/services/__init__.py murano/db/services/actions.py murano/db/services/cf_connections.py murano/db/services/core_services.py murano/db/services/environment_templates.py murano/db/services/environments.py murano/db/services/instances.py murano/db/services/sessions.py murano/db/services/stats.py murano/db/sqla/__init__.py murano/db/sqla/types.py murano/dsl/__init__.py murano/dsl/attribute_store.py murano/dsl/constants.py murano/dsl/context_manager.py murano/dsl/dsl.py murano/dsl/dsl_exception.py murano/dsl/dsl_types.py murano/dsl/exceptions.py murano/dsl/executor.py murano/dsl/expressions.py murano/dsl/helpers.py murano/dsl/lhs_expression.py murano/dsl/macros.py murano/dsl/meta.py murano/dsl/murano_method.py murano/dsl/murano_object.py murano/dsl/murano_package.py murano/dsl/murano_property.py murano/dsl/murano_type.py murano/dsl/namespace_resolver.py murano/dsl/object_store.py murano/dsl/package_loader.py murano/dsl/reflection.py murano/dsl/schema_generator.py murano/dsl/serializer.py murano/dsl/session_local_storage.py murano/dsl/typespec.py murano/dsl/virtual_exceptions.py murano/dsl/yaql_expression.py murano/dsl/yaql_functions.py murano/dsl/yaql_integration.py murano/dsl/contracts/__init__.py murano/dsl/contracts/basic.py murano/dsl/contracts/check.py murano/dsl/contracts/contracts.py murano/dsl/contracts/instances.py murano/dsl/principal_objects/__init__.py murano/dsl/principal_objects/exception.py murano/dsl/principal_objects/garbage_collector.py murano/dsl/principal_objects/stack_trace.py murano/dsl/principal_objects/sys_object.py murano/engine/__init__.py murano/engine/execution_session.py murano/engine/mock_context_manager.py murano/engine/murano_package.py murano/engine/package_loader.py murano/engine/yaql_yaml_loader.py murano/engine/system/__init__.py murano/engine/system/agent.py murano/engine/system/agent_listener.py murano/engine/system/common.py murano/engine/system/heat_stack.py murano/engine/system/instance_reporter.py murano/engine/system/logger.py murano/engine/system/metadef_browser.py murano/engine/system/net_explorer.py murano/engine/system/project.py murano/engine/system/resource_manager.py murano/engine/system/status_reporter.py murano/engine/system/system_objects.py murano/engine/system/test_fixture.py murano/engine/system/user.py murano/engine/system/workflowclient.py murano/engine/system/yaql_functions.py murano/hacking/__init__.py murano/hacking/checks.py murano/httpd/__init__.py murano/httpd/murano_api.py murano/locale/en_GB/LC_MESSAGES/murano.po murano/locale/ru/LC_MESSAGES/murano.po murano/packages/__init__.py murano/packages/exceptions.py murano/packages/hot_package.py murano/packages/load_utils.py murano/packages/mpl_package.py murano/packages/package.py murano/packages/package_base.py murano/policy/__init__.py murano/policy/congress_rules.py murano/policy/model_policy_enforcer.py murano/policy/modify/__init__.py murano/policy/modify/actions/__init__.py murano/policy/modify/actions/action_manager.py murano/policy/modify/actions/base.py murano/policy/modify/actions/default_actions.py murano/services/__init__.py murano/services/actions.py murano/services/states.py murano/services/static_actions.py murano/tests/__init__.py murano/tests/functional/README.rst murano/tests/unit/__init__.py murano/tests/unit/base.py murano/tests/unit/test_actions.py murano/tests/unit/test_engine.py murano/tests/unit/test_hacking.py murano/tests/unit/test_heat_stack.py murano/tests/unit/test_utils.py murano/tests/unit/utils.py murano/tests/unit/api/__init__.py murano/tests/unit/api/base.py murano/tests/unit/api/cmd/__init__.py murano/tests/unit/api/cmd/test_test_runner.py murano/tests/unit/api/cmd/test_package/manifest.yaml murano/tests/unit/api/cmd/test_package/Classes/Mytest1.yaml murano/tests/unit/api/cmd/test_package/Classes/Mytest2.yaml murano/tests/unit/api/cmd/test_package/Classes/Mytest3.yaml murano/tests/unit/api/middleware/__init__.py murano/tests/unit/api/middleware/test_context.py murano/tests/unit/api/middleware/test_ext_context.py murano/tests/unit/api/middleware/test_fault_wrapper.py murano/tests/unit/api/middleware/test_version_negotiation.py murano/tests/unit/api/v1/__init__.py murano/tests/unit/api/v1/test_actions.py murano/tests/unit/api/v1/test_catalog.py murano/tests/unit/api/v1/test_deployments.py murano/tests/unit/api/v1/test_env_templates.py murano/tests/unit/api/v1/test_environments.py murano/tests/unit/api/v1/test_instance_statistics.py murano/tests/unit/api/v1/test_schemas.py murano/tests/unit/api/v1/test_services.py murano/tests/unit/api/v1/test_sessions.py murano/tests/unit/api/v1/test_static_actions.py murano/tests/unit/api/v1/cloudfoundry/__init__.py murano/tests/unit/api/v1/cloudfoundry/test_cfapi.py murano/tests/unit/cmd/__init__.py murano/tests/unit/cmd/test_api_workers.py murano/tests/unit/cmd/test_engine_workers.py murano/tests/unit/cmd/test_manage.py murano/tests/unit/cmd/test_status.py murano/tests/unit/common/__init__.py murano/tests/unit/common/test_app_loader.py murano/tests/unit/common/test_auth_utils.py murano/tests/unit/common/test_engine.py murano/tests/unit/common/test_plugin_loader.py murano/tests/unit/common/test_server.py murano/tests/unit/common/test_statservice.py murano/tests/unit/common/test_traverse_helper.py murano/tests/unit/common/test_utils.py murano/tests/unit/common/test_wsgi.py murano/tests/unit/common/helpers/__init__.py murano/tests/unit/common/helpers/test_token_sanitizer.py murano/tests/unit/common/messaging/__init__.py murano/tests/unit/common/messaging/test_mqclient.py murano/tests/unit/core_library/__init__.py murano/tests/unit/core_library/instance/__init__.py murano/tests/unit/core_library/instance/test_destroy/__init__.py murano/tests/unit/core_library/instance/test_destroy/test_destroy.py murano/tests/unit/core_library/instance/test_destroy/meta/Agent.yaml murano/tests/unit/core_library/instance/test_destroy/meta/Environment.yaml murano/tests/unit/core_library/instance/test_destroy/meta/HeatStack.yaml murano/tests/unit/core_library/instance/test_destroy/meta/InstanceNotifier.yaml murano/tests/unit/core_library/instance/test_destroy/meta/Resources.yaml murano/tests/unit/db/__init__.py murano/tests/unit/db/test_catalog.py murano/tests/unit/db/test_models.py murano/tests/unit/db/migration/__init__.py murano/tests/unit/db/migration/test_migrations.py murano/tests/unit/db/migration/test_migrations_base.py murano/tests/unit/db/services/__init__.py murano/tests/unit/db/services/environment_templates.py murano/tests/unit/db/services/test_cf_connections.py murano/tests/unit/db/services/test_core_service.py murano/tests/unit/db/services/test_environments.py murano/tests/unit/db/services/test_instances.py murano/tests/unit/db/services/test_stats.py murano/tests/unit/db/services/test_templates_service.py murano/tests/unit/dsl/__init__.py murano/tests/unit/dsl/test_agent.py murano/tests/unit/dsl/test_assignments.py murano/tests/unit/dsl/test_attribute_store.py murano/tests/unit/dsl/test_call.py murano/tests/unit/dsl/test_concurrency.py murano/tests/unit/dsl/test_config_properties.py murano/tests/unit/dsl/test_construction.py murano/tests/unit/dsl/test_context_manager.py murano/tests/unit/dsl/test_contracts.py murano/tests/unit/dsl/test_dump.py murano/tests/unit/dsl/test_engine_yaql_functions.py murano/tests/unit/dsl/test_exceptions.py murano/tests/unit/dsl/test_execution.py murano/tests/unit/dsl/test_extension_methods.py murano/tests/unit/dsl/test_find_class.py murano/tests/unit/dsl/test_gc.py murano/tests/unit/dsl/test_helpers.py murano/tests/unit/dsl/test_logger.py murano/tests/unit/dsl/test_macros.py murano/tests/unit/dsl/test_meta.py murano/tests/unit/dsl/test_method_param_inheritance.py murano/tests/unit/dsl/test_multiple_inheritance.py murano/tests/unit/dsl/test_objects_copy_merge.py murano/tests/unit/dsl/test_property_access.py murano/tests/unit/dsl/test_property_inititialization.py murano/tests/unit/dsl/test_reflection.py murano/tests/unit/dsl/test_results_serializer.py murano/tests/unit/dsl/test_schema_generation.py murano/tests/unit/dsl/test_session_local_storage.py murano/tests/unit/dsl/test_single_inheritance.py murano/tests/unit/dsl/test_statics.py murano/tests/unit/dsl/test_unicode.py murano/tests/unit/dsl/test_varkwargs.py murano/tests/unit/dsl/test_versioning.py murano/tests/unit/dsl/foundation/__init__.py murano/tests/unit/dsl/foundation/object_model.py murano/tests/unit/dsl/foundation/runner.py murano/tests/unit/dsl/foundation/test_case.py murano/tests/unit/dsl/foundation/test_package_loader.py murano/tests/unit/dsl/meta/AgentListenerTests.yaml murano/tests/unit/dsl/meta/CommonParent.yaml murano/tests/unit/dsl/meta/ConcurrencyTest.yaml murano/tests/unit/dsl/meta/ConfigProperties.yaml murano/tests/unit/dsl/meta/ContractExamples.yaml murano/tests/unit/dsl/meta/CreatedClass1.yaml murano/tests/unit/dsl/meta/CreatedClass2.yaml murano/tests/unit/dsl/meta/CreatingClass.yaml murano/tests/unit/dsl/meta/DerivedFrom2Classes.yaml murano/tests/unit/dsl/meta/Empty.yaml murano/tests/unit/dsl/meta/ExceptionHandling.yaml murano/tests/unit/dsl/meta/MacroExamples.yaml murano/tests/unit/dsl/meta/Node.yaml murano/tests/unit/dsl/meta/ParentClass1.yaml murano/tests/unit/dsl/meta/ParentClass2.yaml murano/tests/unit/dsl/meta/PropertyInit.yaml murano/tests/unit/dsl/meta/SampleClass1.yaml murano/tests/unit/dsl/meta/SampleClass2.yaml murano/tests/unit/dsl/meta/SampleClass3.yaml murano/tests/unit/dsl/meta/SingleInheritanceChild.yaml murano/tests/unit/dsl/meta/SingleInheritanceParent.yaml murano/tests/unit/dsl/meta/TestCall.yaml murano/tests/unit/dsl/meta/TestDump.yaml murano/tests/unit/dsl/meta/TestEngineFunctions.yaml murano/tests/unit/dsl/meta/TestExtensionMethods.yaml murano/tests/unit/dsl/meta/TestFindClass.yaml murano/tests/unit/dsl/meta/TestGC.yaml murano/tests/unit/dsl/meta/TestLogger.yaml murano/tests/unit/dsl/meta/TestMeta.yaml murano/tests/unit/dsl/meta/TestMethodParamInheritance.yaml murano/tests/unit/dsl/meta/TestObjectsCopyMerge.yaml murano/tests/unit/dsl/meta/TestReflection.yaml murano/tests/unit/dsl/meta/TestSchema.yaml murano/tests/unit/dsl/meta/TestStatics.yaml murano/tests/unit/dsl/meta/TestUnicode.yaml murano/tests/unit/dsl/meta/TestVarKwArgs.yaml murano/tests/unit/engine/__init__.py murano/tests/unit/engine/test_mock_context_manager.py murano/tests/unit/engine/test_package_loader.py murano/tests/unit/engine/meta/TestMock.yaml murano/tests/unit/engine/meta/TestMockFixture.yaml murano/tests/unit/engine/meta/manifest.yaml murano/tests/unit/engine/meta/Classes/Mytest.yaml murano/tests/unit/engine/system/__init__.py murano/tests/unit/engine/system/test_agent.py murano/tests/unit/engine/system/test_agent_listener.py murano/tests/unit/engine/system/test_garbage_collector.py murano/tests/unit/engine/system/test_instance_reporter.py murano/tests/unit/engine/system/test_metadef_browser.py murano/tests/unit/engine/system/test_net_explorer.py murano/tests/unit/engine/system/test_test_fixture.py murano/tests/unit/engine/system/test_workflowclient.py murano/tests/unit/engine/system/execution_plans/DeployTelnet.template murano/tests/unit/engine/system/execution_plans/DeployTomcat.template murano/tests/unit/engine/system/execution_plans/application.template murano/tests/unit/engine/system/execution_plans/application_without_files.template murano/tests/unit/engine/system/execution_plans/chef.template murano/tests/unit/engine/system/execution_plans/template_with_files.template murano/tests/unit/packages/__init__.py murano/tests/unit/packages/test_exceptions.py murano/tests/unit/packages/test_load_utils.py murano/tests/unit/packages/test_package_base.py murano/tests/unit/packages/hot_package/__init__.py murano/tests/unit/packages/hot_package/test_hot_package.py murano/tests/unit/packages/hot_package/test.hot.1/properties_manifest.yaml murano/tests/unit/packages/hot_package/test.hot.1/template.yaml murano/tests/unit/packages/hot_package/test.hot.1/Resources/FullTestName murano/tests/unit/packages/hot_package/test.hot.2/template.yaml murano/tests/unit/packages/hot_package/test.hot.2/Resources/FullTestName murano/tests/unit/packages/mpl_package/__init__.py murano/tests/unit/packages/mpl_package/manifest.yaml murano/tests/unit/packages/mpl_package/test_mpl_package.py murano/tests/unit/packages/mpl_package/Classes/test.class1 murano/tests/unit/packages/mpl_package/UI/ui.yaml murano/tests/unit/packages/test_packages/test.hot.v1.app/manifest.yaml murano/tests/unit/packages/test_packages/test.hot.v1.app/template.yaml murano/tests/unit/packages/test_packages/test.hot.v1.app/test_logo.png murano/tests/unit/packages/test_packages/test.hot.v1.app/test_supplier_logo.png murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/manifest.yaml murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/template.yaml murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/testHeatFile murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/middle_file/testHeatFile murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/middle_file/inner_file/testHeatFile murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/middle_file/inner_file2/testHeatFile murano/tests/unit/packages/test_packages/test.mpl.v1.app/manifest.yaml murano/tests/unit/packages/test_packages/test.mpl.v1.app/manifest_with_broken_logo.yaml murano/tests/unit/packages/test_packages/test.mpl.v1.app/test_logo.png murano/tests/unit/packages/test_packages/test.mpl.v1.app/test_logo.png.not_valid murano/tests/unit/packages/test_packages/test.mpl.v1.app/test_supplier_logo.png murano/tests/unit/packages/test_packages/test.mpl.v1.app/Classes/Thing.yaml murano/tests/unit/packages/versions/__init__.py murano/tests/unit/packages/versions/test_hot_v1.py murano/tests/unit/packages/versions/test_mpl_v1.py murano/tests/unit/policy/__init__.py murano/tests/unit/policy/expected_rules_model.txt murano/tests/unit/policy/expected_rules_model_complex.txt murano/tests/unit/policy/expected_rules_model_renamed.txt murano/tests/unit/policy/expected_rules_model_two_instances.txt murano/tests/unit/policy/expected_rules_wordpress.txt murano/tests/unit/policy/model.yaml murano/tests/unit/policy/model_complex.yaml murano/tests/unit/policy/model_renamed.yaml murano/tests/unit/policy/model_two_instances.yaml murano/tests/unit/policy/model_with_relations.yaml murano/tests/unit/policy/test_congress_rules.py murano/tests/unit/policy/test_model_policy_enforcer.py murano/tests/unit/policy/wordpress.yaml murano/tests/unit/policy/modify/__init__.py murano/tests/unit/policy/modify/actions/__init__.py murano/tests/unit/policy/modify/actions/test_action_manager.py murano/tests/unit/policy/modify/actions/test_default_actions.py murano/tests/unit/policy/modify/actions/meta/ModelExamples.yaml murano/tests/unit/policy/modify/actions/meta/SampleClass1.yaml murano/tests/unit/policy/modify/actions/meta/SampleClass2.yaml murano/tests/unit/services/__init__.py murano/tests/unit/services/test_actions.py murano_tempest_tests/README.rst playbooks/legacy/grenade-devstack-murano/post.yaml playbooks/legacy/grenade-devstack-murano/run.yaml rally-jobs/README.rst rally-jobs/task-murano.yaml rally-jobs/extra/README.rst rally-jobs/extra/applications/README.rst rally-jobs/extra/applications/HelloReporter/io.murano.apps.HelloReporter/manifest.yaml rally-jobs/extra/applications/HelloReporter/io.murano.apps.HelloReporter/Classes/HelloReporter.yaml rally-jobs/extra/applications/HelloReporter/io.murano.apps.HelloReporter/UI/ui.yaml rally-jobs/plugins/README.rst rally-jobs/plugins/__init__.py releasenotes/notes/.placeholder releasenotes/notes/action-syntax-3f2cbe843801f80d.yaml releasenotes/notes/add-default-security-group-78855a66b960840a.yaml releasenotes/notes/add-upgrade-check-framework-1c069e5a54125d1b.yaml releasenotes/notes/add_api_in_operator-371e3a1d2aec6421.yaml releasenotes/notes/add_timeout_to_linux_class-05d1f573a883f3ce.yaml releasenotes/notes/agent-source-0d2b21262ed10d3e.yaml releasenotes/notes/application_catalog-to-application-catalog-f61d12454a557f79.yaml releasenotes/notes/attributes-owner-type-c321e82f99f96cf1.yaml releasenotes/notes/better-detect-agent-9ef8892a4bfb72cd.yaml releasenotes/notes/bug-1654103-f39ee721d1b90b68.yaml releasenotes/notes/bug-1690179-375599ff3e8f2cd9.yaml releasenotes/notes/cinder-volumes-0412875c1011f8eb.yaml releasenotes/notes/class-config-versioning-23f1d676a3d54c0c.yaml releasenotes/notes/config-network-driver-77c82d151dead620.yaml releasenotes/notes/configure-notifications-0c84a5085c25f6e7.yaml releasenotes/notes/csar-template-plugin-f1682bfee213ae37.yaml releasenotes/notes/decrypt-yaql-function-6651d0f5d73bd58d.yaml releasenotes/notes/delete-app-in-env-template-d8e07d3b860f0441.yaml releasenotes/notes/deployment-list-8c2da5a5efc6dbac.yaml releasenotes/notes/devstack_using_heat_plugin-3dc9feeed36f24ec.yaml releasenotes/notes/drop-py-2-7-37d8f1a13e867edb.yaml releasenotes/notes/enable-hot-for-glare-8026f2dccad1732e.yaml releasenotes/notes/enable-mocks-a156e7cc1b1d5066.yaml releasenotes/notes/environment-edit-213789159902d4c3.yaml releasenotes/notes/existing-sec-group-522d58bb2fe689a4.yaml releasenotes/notes/extension-methods-f674c2d342670e95.yaml releasenotes/notes/filter-in-package-definition-43edaf12rad81b88.yaml releasenotes/notes/fip-multiple-external-networks-a6f99103ba3b3015.yaml releasenotes/notes/fix-1498097.yaml releasenotes/notes/fix-1528452-0e3bcee9bba89ffa.yaml releasenotes/notes/fixed-adding_text_description-25bd77f36ee370ba.yaml releasenotes/notes/garbage-collection-50e78c4c9d47eba6.yaml releasenotes/notes/gc-collect-165e73bbaf345d74.yaml releasenotes/notes/gc-isdoomed-isdestroyed-9598a6e15dbf36a0.yaml releasenotes/notes/heat_push_async-da3f31b63284a0ea.yaml releasenotes/notes/hot-outputs-merge-eeb9d12356560b48.yaml releasenotes/notes/implement-environment-audit-reports-23bb8009d1dfaecc.yaml releasenotes/notes/keystone-v3-0e287679f7f40a2a.yaml releasenotes/notes/linux-helpers-async-243fc1adbbe5c512.yaml releasenotes/notes/list-environments-of-a-given-project-e45315561478c8a2.yaml releasenotes/notes/magnum-plugin-f372caac83d2cd78.yaml releasenotes/notes/message-signing-07b09e541c2d94d6.yaml releasenotes/notes/meta-e76d5c747b0a0fb6.yaml releasenotes/notes/meta-for-ui-72f5b58c6d17599f.yaml releasenotes/notes/metadata-aware-mixin-41777dd8d1802908.yaml releasenotes/notes/metadata-getter-76907aa1f0325adc.yaml releasenotes/notes/model-load-c1eb24843d30e414.yaml releasenotes/notes/multi-class-yamls-cbb3ef1d8578f41a.yaml releasenotes/notes/multi-regional-apps-b64afbaeafd5b9c5.yaml releasenotes/notes/multiple-api-workers-60492ddc2e3ff0aa.yaml releasenotes/notes/multiple-engine-workers-7fec79572a6a9d01.yaml releasenotes/notes/murano-object-interface-equality-9fc8048be61bd539.yaml releasenotes/notes/muranopl-forms-4a3fb8153f26bbcf.yaml releasenotes/notes/new-contract-framework-1dede2d16b2e9c71.yaml releasenotes/notes/new-objects-resource-leak-fix-33a2eca3a4ccb8af.yaml releasenotes/notes/new-type-format-in-object-model-da6976291057ab31.yaml releasenotes/notes/no-neutron-sec-group-support-2d69082b7226d6c0.yaml releasenotes/notes/objects-copy-objects-merge-8f2752b1a1a18af0.yaml releasenotes/notes/operator-is-9b2b554d3487924d.yaml releasenotes/notes/package_cache-68495dcde223c167.yaml releasenotes/notes/public-template-a8853ac02dcf9396.yaml releasenotes/notes/put-empty-body-d605c2083b239f76.yaml releasenotes/notes/reflection-2fc43b990ea6b980.yaml releasenotes/notes/region-aware-shared-ip-4441113c7cdd3c62.yaml releasenotes/notes/release-cinder-volumes-01c29d28031a94dd.yaml releasenotes/notes/remove-show-categories-42636e9c24c33105.yaml releasenotes/notes/roles-for-requestcontext-43d32d88c3eaaa95.yaml releasenotes/notes/safeloader-cve-2016-4972-19035a2a091ec30a.yaml releasenotes/notes/script-line-endings-db632db9e24237a3.yaml releasenotes/notes/separate-service-broker-from-murano-f6ee48576f51d893.yaml releasenotes/notes/shared-net-port-creation-0eda66be4444cf2f.yaml releasenotes/notes/spec-semver-library-436b0db35fbd4c37.yaml releasenotes/notes/static-actions-61759be796299039.yaml releasenotes/notes/statics-9943fe9873138dac.yaml releasenotes/notes/string-logging-20b8e60a957ba6b7.yaml releasenotes/notes/tag-heat-stacks-3345eb1bda531a6f.yaml releasenotes/notes/template-contract-b71840cbc35eb478.yaml releasenotes/notes/test-runner-output-fix-e942e221be189424.yaml releasenotes/notes/test-runner-set-up-tear-down-a269a31734544a3a.yaml releasenotes/notes/two-phase-instance-deploy-81d37e7987abc792.yaml releasenotes/notes/update-app-in-env-template-08d92b22bd1355f5.yaml releasenotes/notes/use_http_proxy_to_wsgi-9b22d3e60c045689.yaml releasenotes/notes/user-project-6173d7282765b5ca.yaml releasenotes/notes/var-kw-args-c42c31678d8bc747.yaml releasenotes/notes/yaql11-822b503f13992890.yaml releasenotes/source/conf.py releasenotes/source/index.rst releasenotes/source/liberty.rst releasenotes/source/mitaka.rst releasenotes/source/newton.rst releasenotes/source/ocata.rst releasenotes/source/pike.rst releasenotes/source/queens.rst releasenotes/source/rocky.rst releasenotes/source/stein.rst releasenotes/source/train.rst releasenotes/source/unreleased.rst releasenotes/source/_static/.placeholder releasenotes/source/_templates/.placeholder releasenotes/source/locale/de/LC_MESSAGES/releasenotes.po releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po releasenotes/source/locale/fr/LC_MESSAGES/releasenotes.po tools/lintstack.py tools/lintstack.sh tools/test-setup.shmurano-9.0.0/meta/0000775000175000017500000000000013656750351014004 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano/0000775000175000017500000000000013656750351015713 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano/Resources/0000775000175000017500000000000013656750351017665 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano/Resources/PutFile.template0000664000175000017500000000200113656750211022756 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. FormatVersion: 2.0.0 Version: 1.0.0 Name: $planName Parameters: path: $path Body: | return putFile("'{0}'".format(args.path)).exitCode == 0 Files: destinationFile: BodyType: Base64 Name: destinationFile Body: $fileContent Scripts: putFile: Type: Application Version: 1.0.0 EntryPoint: putFile.sh Files: - destinationFile Options: captureStdout: false captureStderr: true verifyExitcode: $verifyExitcodemurano-9.0.0/meta/io.murano/Resources/murano-init.conf0000664000175000017500000000075013656750211022773 0ustar zuulzuul00000000000000 yum_repos: epel-testing: baseurl: http://download.fedoraproject.org/pub/epel/$releasever/$basearch enabled: true failovermethod: priority gpgcheck: false name: Extra Packages for Enterprise Linux - Testing packages: - subversion - git-core - wget - make - gcc - python-pip - python-setuptools - python-virtualenv hostname: $instanceHostname murano-9.0.0/meta/io.murano/Resources/windows-init.ps10000664000175000017500000000562613656750211022751 0ustar zuulzuul00000000000000#ps1 # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. $WindowsAgentConfigBase64 = '%AGENT_CONFIG_BASE64%' $WindowsAgentConfigFile = "C:\Murano\Agent\WindowsAgent.exe.config" $WindowsAgentLogFile = "C:\Murano\Agent\log.txt" $CurrentComputerName = HOSTNAME $NewComputerName = '%INTERNAL_HOSTNAME%' $MuranoFileShare = '\\%MURANO_SERVER_ADDRESS%\share' $CaRootCertBase64 = "%CA_ROOT_CERT_BASE64%" $CaRootCertFile = "C:\Murano\ca.cert" $RestartRequired = $false Import-Module CoreFunctions Initialize-Logger 'CloudBase-Init' 'C:\Murano\PowerShell.log' $ErrorActionPreference = 'Stop' trap { Write-LogError '' Write-LogError $_ -EntireObject Write-LogError '' exit 1 } Write-Log "Importing CA certificate ..." if ($CaRootCertBase64 -eq '') { Write-Log "Importing CA certificate ... skipped" } else { ConvertFrom-Base64String -Base64String $CaRootCertBase64 -Path $CaRootCertFile $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $CaRootCertFile $store = New-Object System.Security.Cryptography.X509Certificates.X509Store("AuthRoot","LocalMachine") $store.Open("MaxAllowed") $store.Add($cert) $store.Close() Write-Log "Importing CA certificate ... done" } Write-Log "Updating Murano Windows Agent." Stop-Service "Murano Agent" Backup-File $WindowsAgentConfigFile Remove-Item $WindowsAgentConfigFile -Force -ErrorAction 'SilentlyContinue' Remove-Item $WindowsAgentLogFile -Force -ErrorAction 'SilentlyContinue' ConvertFrom-Base64String -Base64String $WindowsAgentConfigBase64 -Path $WindowsAgentConfigFile Exec sc.exe 'config','"Murano Agent"','start=','delayed-auto' Write-Log "Service has been updated." Write-Log "Adding environment variable 'MuranoFileShare' = '$MuranoFileShare' ..." [Environment]::SetEnvironmentVariable('MuranoFileShare', $MuranoFileShare, [EnvironmentVariableTarget]::Machine) Write-Log "Environment variable added." # (jose-phillips) If the Master Image or CloudBase-Init is already set the hostname this procedure fail. if ($CurrentComputerName -ne $NewComputerName){ Write-Log "Renaming computer to '$NewComputerName' ..." $null = Rename-Computer -NewName $NewComputerName -Force Write-Log "New name assigned, restart required." $RestartRequired = $true } Write-Log 'All done!' if ( $RestartRequired ) { Write-Log "Restarting computer ..." Restart-Computer -Force } else { Start-Service 'Murano Agent' } murano-9.0.0/meta/io.murano/Resources/murano-init.sh0000664000175000017500000000233013656750211022454 0ustar zuulzuul00000000000000#!/bin/sh # NOTE(kzaitsev): old dib elements installed murano-agent into a venv # so if the image is an old one: symlink agent into /usr/local/bin if [ -d /opt/stack/venvs/murano-agent ] && [ ! -f /usr/local/bin/muranoagent ]; then ln -s /opt/stack/venvs/murano-agent/bin/muranoagent /usr/local/bin/muranoagent fi # NOTE(kzaitsev): for example on debian by default PATH would be /sbin:/usr/sbin:/bin:/usr/bin # when this script is run. Our default DIB elements install it in /usr/local/bin. # Expand path to some of those locations. PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:$PATH" which muranoagent > /dev/null if [ $? -eq 0 ]; then echo "muranoagent binary is already installed" else # TODO(kzaitsev): use deb/rpm packages as soon as we can echo "installing murano agent from pip" echo "binary not found in PATH: $PATH" pip install '%PIP_SOURCE%' fi muranoAgentConf='%MURANO_AGENT_CONF%' echo $muranoAgentConf | base64 -d > /etc/init/murano-agent.conf muranoAgentService='%MURANO_AGENT_SERVICE%' echo $muranoAgentService | base64 -d > /etc/systemd/system/murano-agent.service muranoAgent='%MURANO_AGENT%' echo $muranoAgent | base64 -d > /etc/init.d/murano-agent chmod +x /etc/init.d/murano-agent murano-9.0.0/meta/io.murano/Resources/Agent-v2.template0000664000175000017500000000173213656750211023003 0ustar zuulzuul00000000000000[DEFAULT] debug=True verbose=True log_file = /var/log/murano-agent.log storage=/var/murano/plans engine_key = %SIGNING_KEY% [rabbitmq] # Input queue name input_queue = %RABBITMQ_INPUT_QUEUE% # Output routing key (usually queue name) result_routing_key = %RESULT_QUEUE% # Connection parameters to RabbitMQ service # Hostname or IP address where RabbitMQ is located. host = %RABBITMQ_HOST% # RabbitMQ port (5672 is a default) port = %RABBITMQ_PORT% # Use SSL for RabbitMQ connections (True or False) ssl = %RABBITMQ_SSL% # Do not verify SSL certificates insecure = %RABBITMQ_INSECURE% # Path to SSL CA certificate or empty to allow self signed server certificate ca_certs = '/etc/murano/certs/ca_certs' # RabbitMQ credentials. Fresh RabbitMQ installation has "guest" account with "guest" password. login = %RABBITMQ_USER% password = %RABBITMQ_PASSWORD% # RabbitMQ virtual host (vhost). Fresh RabbitMQ installation has "/" vhost preconfigured. virtual_host = %RABBITMQ_VHOST% murano-9.0.0/meta/io.murano/Resources/murano-agent0000664000175000017500000000252513656750211022204 0ustar zuulzuul00000000000000#!/bin/sh ### BEGIN INIT INFO # Provides: murano-agent # Required-Start: $local_fs $network $named $time $syslog # Required-Stop: $local_fs $network $named $time $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: murano-agent service ### END INIT INFO # NOTE(kzaitsev): not using fullpath to allow different locations # of muranoagent binary on different OS images. muranoagent just needs # to be in PATH. Up to image to decide where exactly. SCRIPT="muranoagent --config-dir /etc/murano" RUNAS=root PIDFILE=/var/run/murano.pid LOGFILE=/var/log/murano.log start() { if [ -f "$PIDFILE" ] && kill -0 "$(cat "$PIDFILE")"; then echo 'Service already running' >&2 return 1 fi echo 'Starting service' >&2 PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:$PATH" LOCAL_CMD="$SCRIPT &> \"$LOGFILE\" & echo \$!" su -c "$LOCAL_CMD" $RUNAS > "$PIDFILE" echo 'Service started' >&2 } stop() { if [ ! -f "$PIDFILE" ] || ! kill -0 "$(cat "$PIDFILE")"; then echo 'Service not running' >&2 return 1 fi echo 'Stopping service' >&2 kill -15 "$(cat "$PIDFILE")" && rm -f "$PIDFILE" echo 'Service stopped' >&2 } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Usage: $0 {start|stop|restart|uninstall}" esac murano-9.0.0/meta/io.murano/Resources/scripts/0000775000175000017500000000000013656750351021354 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano/Resources/scripts/putFile.sh0000664000175000017500000000116713656750211023320 0ustar zuulzuul00000000000000#!/bin/bash # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. TARGET_PATH=$1 mv "$(readlink destinationFile)" "$TARGET_PATH" murano-9.0.0/meta/io.murano/Resources/RunCommand.template0000664000175000017500000000165013656750211023462 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. FormatVersion: 2.0.0 Version: 1.0.0 Name: $planName Body: return runCommand() Files: scriptFile: BodyType: Text Name: scriptFile.sh Body: $command Scripts: runCommand: Type: Application Version: 1.0.0 EntryPoint: scriptFile.sh Options: captureStdout: $captureStdout captureStderr: $captureStderr verifyExitcode: $verifyExitcode murano-9.0.0/meta/io.murano/Resources/Agent-v1.template0000664000175000017500000000262313656750211023002 0ustar zuulzuul00000000000000
    murano-9.0.0/meta/io.murano/Resources/conflang.conf0000664000175000017500000000137113656750211022320 0ustar zuulzuul00000000000000yum_repos: chef: baseurl: http://repositories.testbed.fi-ware.eu/repo/rpm/x86_64/ enabled: true failovermethod: priority gpgcheck: false name: Chef repo puppetlabs-products: name: Puppet Labs Products El 6 - $basearch baseurl: http://yum.puppetlabs.com/el/$releasever/products/$basearch gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs enabled: true gpgcheck: false puppetlabs-deps: name: Puppet Labs Dependencies El 6 - $basearch baseurl: http://yum.puppetlabs.com/el/$releasever/dependencies/$basearch gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs enabled: true gpgcheck: false packages: - chef - puppet murano-9.0.0/meta/io.murano/Resources/linux-init.sh0000664000175000017500000000177413656750211022325 0ustar zuulzuul00000000000000#!/bin/sh # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. service murano-agent stop AgentConfigBase64='%AGENT_CONFIG_BASE64%' RMQCaCertBase64='%CA_ROOT_CERT_BASE64%' if [ ! -d /etc/murano ]; then mkdir /etc/murano fi echo $AgentConfigBase64 | base64 -d > /etc/murano/agent.conf chmod 664 /etc/murano/agent.conf if [ ! -d /etc/murano/certs ]; then mkdir /etc/murano/certs fi echo $RMQCaCertBase64 | base64 -d > /etc/murano/certs/ca_certs chmod 664 /etc/murano/certs/ca_certs service murano-agent start murano-9.0.0/meta/io.murano/Resources/murano-agent.service0000664000175000017500000000027013656750211023636 0ustar zuulzuul00000000000000[Unit] Description=OpenStack Murano Agent [Service] Type=simple ExecStart=/usr/local/bin/muranoagent --config-dir /etc/murano Restart=on-failure [Install] WantedBy=multi-user.target murano-9.0.0/meta/io.murano/Resources/murano-agent.conf0000664000175000017500000000063613656750211023131 0ustar zuulzuul00000000000000start on runlevel [2345] stop on runlevel [016] respawn # the default post-start of 1 second sleep delays respawning enough to # not hit the default of 10 times in 5 seconds. Make it 2 times in 5s. respawn limit 2 5 # We're logging to syslog console none exec start-stop-daemon --start -c root --exec /usr/local/bin/muranoagent -- --config-dir /etc/murano 2>&1 | logger -t murano-agent post-start exec sleep 1 murano-9.0.0/meta/io.murano/Classes/0000775000175000017500000000000013656750351017310 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano/Classes/User.yaml0000664000175000017500000000037213656750211021107 0ustar zuulzuul00000000000000Name: io.murano.User Properties: id: Contract: $.string().notNull() name: Contract: $.string().notNull() domain: Contract: $.string().notNull() email: Contract: $.string() extra: Contract: $.string().notNull(): $ murano-9.0.0/meta/io.murano/Classes/SharedIp.yaml0000664000175000017500000001105113656750211021664 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano res: io.murano.resources Name: SharedIp Extends: CloudResource Properties: assignFloatingIp: Contract: $.bool().notNull() Default: false virtualIp: Contract: $.string() Usage: Out floatingIpAddress: Contract: $.string() Usage: Out network: Contract: $.class(res:Network) Usage: InOut Methods: initialize: Body: - $._environment: $.find(Environment).require() - $.instances: [] deployNetwork: Body: - If: $.network = null Then: $.network: $.getRegion().defaultNetworks.environment - $.network.deploy() deploy: Body: - If: not $.getAttr(deployed, false) Then: - $region: $.getRegion() - $reporter: $._environment.reporter - $.deployNetwork() - $networkData: $.network.describe() - $aapPortName: format('AllowedAddressPairsPort-{0}', id($)) - $template: resources: $aapPortName: type: 'OS::Neutron::Port' properties: network_id: $networkData.netId replacement_policy: AUTO outputs: $aapPortName+'-virtualIp': value: get_attr: [$aapPortName, fixed_ips, 0, ip_address] description: format('SharedIP Address of SharedIp group {0}', id($)) - If: $networkData.subnetId Then: - $t: resources: $aapPortName: properties: fixed_ips: - subnet_id: $networkData.subnetId - $template: $template.mergeWith($t) - $region.stack.updateTemplate($template) - If: $.assignFloatingIp and $networkData.floatingIpNetId Then: - $extNetId: $networkData.floatingIpNetId - $fipName: format('Shared-Floating-ip-{0}', id($)) - $template: resources: $fipName: type: 'OS::Neutron::FloatingIP' properties: floating_network_id: $extNetId port_id: get_resource: $aapPortName outputs: $fipName + '-val': value: get_attr: [$fipName, floating_ip_address] description: Shared Floating IP assigned - $region.stack.updateTemplate($template) - $reporter.report($this, 'Allocating shared ip address') - $region.stack.push() - $outputs: $region.stack.output() - $.virtualIp: $outputs.get(format('AllowedAddressPairsPort-{0}-virtualIp', id($))) - $.floatingIpAddress: $outputs.get(format('Shared-Floating-ip-{0}-val', id($))) - $reporter.report($this, format('Shared IP allocated at {0}', $.virtualIp)) - If: $.assignFloatingIp Then: - $reporter.report($this, format('Floating shared IP is {0}', $.floatingIpAddress)) - $.setAttr(deployed, true) getSharedIpRef: Body: - $aapPortName: format('AllowedAddressPairsPort-{0}', id($)) - Return: get_attr: [$aapPortName, fixed_ips, 0, ip_address] releaseResources: Body: - $region: $.getRegion() - $template: $region.stack.current() - $template.resources: $template.resources.delete(format('AllowedAddressPairsPort-{0}', id($))) - $template.outputs: $template.outputs.delete(format('AllowedAddressPairsPort-{0}-virtualIp', id($))) - If: $.assignFloatingIp Then: - $template.resources: $template.resources.delete(format('Shared-Floating-ip-{0}', id($))) - $template.outputs: $template.outputs.delete(format('Shared-Floating-ip-{0}-val', id($))) - $region.stack.setTemplate($template) - $region.stack.push() - $.floatingIpAddress: null - $.virtualIp: null murano-9.0.0/meta/io.murano/Classes/File.yaml0000664000175000017500000000144113656750211021046 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano Name: File Properties: base64Content: Contract: $.string().notNull() Default: '' mimeType: Contract: $.string().notNull() Default: 'application/octet-stream' filename: Contract: $.string() murano-9.0.0/meta/io.murano/Classes/Object.yaml0000664000175000017500000000110213656750211021367 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Name: io.murano.Object murano-9.0.0/meta/io.murano/Classes/Application.yaml0000664000175000017500000000200313656750211022425 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano Name: Application Methods: reportDeployed: Arguments: - title: Contract: $.string() Default: null - unitCount: Contract: $.int() Default: null Body: - $this.find(Environment).instanceNotifier.trackApplication($this, $title, $unitCount) reportDestroyed: Body: - $this.find(Environment).instanceNotifier.untrackApplication($this) deploy:murano-9.0.0/meta/io.murano/Classes/Exception.yaml0000664000175000017500000000164513656750211022133 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano Name: Exception Properties: name: Contract: $.string() Usage: Runtime message: Contract: $.string() Usage: Runtime stackTrace: Contract: $ Usage: Runtime extra: Contract: {} Usage: Runtime nativeException: Contract: $ Usage: Runtime cause: Contract: $.class(Exception) Usage: Runtime murano-9.0.0/meta/io.murano/Classes/Environment.yaml0000664000175000017500000000753113656750211022501 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano res: io.murano.resources sys: io.murano.system Name: Environment Properties: name: Contract: $.string().notNull() applications: Contract: [$.class(Application).owned().notNull()] agentListener: Contract: $.class(sys:AgentListener) Usage: Runtime stack: Contract: $.class(sys:HeatStack) Usage: Runtime instanceNotifier: Contract: $.class(sys:InstanceNotifier) Usage: Runtime defaultNetworks: Contract: environment: $.template(res:Network) flat: $.template(res:Network) securityGroupManager: Contract: $.class(sys:SecurityGroupManager) Usage: Runtime reporter: Contract: $.class(sys:StatusReporter) Usage: Runtime regionConfigs: Contract: $.string(): agentRabbitMq: host: $.string().notNull() port: $.int() or 5672 login: $.string().notNull() password: $.string().notNull() virtual_host: $.string() or '/' ssl: $.bool() or false insecure: $.bool() or false Usage: Config region: Contract: $.string() Usage: InOut homeRegionName: Contract: $.string() Usage: Runtime regions: Contract: $.string(): $.class(CloudRegion) Usage: InOut Methods: .init: Body: - $.homeRegionName: config(home_region) or '' - $._assignRegions() - $.instanceNotifier: new(sys:InstanceNotifier, environment => $this) - $.reporter: new(sys:StatusReporter, environment => $this) - $.regions: $.regions + $.regionConfigs.keys(). where($ and not $this.regions.containsKey($)). select($this._createRegion($)). toDict($.name) - If: not $.regions.containsKey('') Then: - If: $.homeRegionName Then: $.regions['']: $.regions[$.homeRegionName] Else: $.regions['']: $._createRegion('') - $defaultRegion: $.regions[''] - $.stack: $defaultRegion.stack - $.securityGroupManager: $defaultRegion.securityGroupManager _createRegion: Arguments: regionName: Contract: $.string() Body: - $envNet: $.defaultNetworks.environment?.set(regionName => $regionName) - $flatNet: $.defaultNetworks.flat?.set(regionName => $regionName) - Return: new(CloudRegion, $this, name => $regionName, defaultNetworks => { environment => $envNet, flat => $flatNet } ) deploy: Scope: Public Body: - $.applications.pselect($.deploy()) _assignRegions: Body: - If: $.region = null Then: $.region: $.homeRegionName - $defaultRegionConfig: agentRabbitMq: host: config(rabbitmq, host) port: config(rabbitmq, port) login: config(rabbitmq, login) password: config(rabbitmq, password) virtual_host: config(rabbitmq, virtual_host) ssl: config(rabbitmq, ssl) - If: not $.regionConfigs.containsKey('') Then: - $.regionConfigs: $.regionConfigs.set('' => $defaultRegionConfig) - If: $.homeRegionName and not $.regionConfigs.containsKey($.homeRegionName) Then: - $.regionConfigs: $.regionConfigs.set($.homeRegionName => $defaultRegionConfig) murano-9.0.0/meta/io.murano/Classes/resources/0000775000175000017500000000000013656750351021322 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano/Classes/resources/CinderVolume.yaml0000664000175000017500000000757613656750211024614 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: std: io.murano =: io.murano.resources sys: io.murano.system Name: CinderVolume Extends: - Volume - MetadataAware Properties: name: Contract: $.string() size: Contract: $.int().notNull().check($ >= 1) availabilityZone: Contract: $.string() readOnly: Contract: $.bool().notNull() Default: false sourceImage: Contract: $.string() sourceVolume: Contract: $.class(Volume) sourceSnapshot: Contract: $.class(CinderVolumeSnapshot) sourceVolumeBackup: Contract: $.class(CinderVolumeBackup) attachments: Contract: [] Usage: Out Methods: buildResourceDefinition: Body: - $properties: size: $.size metadata: $this.getMetadata($this.getRegion()) - If: $.availabilityZone != null Then: $properties.availability_zone: $.availabilityZone - If: $.name != null Then: $properties.name: $.name - If: $.sourceVolumeBackup != null Then: $properties.backup_id: $.sourceVolumeBackup.openstackId - If: $.sourceImage != null Then: $properties.image: $.sourceImage - If: $.sourceSnapshot != null Then: $properties.snapshot_id: $.sourceSnapshot.openstackId - If: $.sourceVolume != null Then: $properties.source_volid: $.sourceVolume.openstackId # Available only since Heat 5.0.0 (Liberty) - If: $.readOnly Then: $properties.read_only: $.readOnly - Return: resources: format('vol-{0}', id($)): type: $this.getResourceType() properties: $properties outputs: format('vol-{0}-id', id($)): value: $.getRef() format('vol-{0}-attachments', id($)): value: get_attr: [$.getResourceName(), attachments_list] deploy: Body: - $region: $.getRegion() - If: $.sourceSnapshot != null Then: $.sourceSnapshot.validate() - If: $.sourceVolumeBackup != null Then: $.sourceVolumeBackup.validate() - If: $.sourceVolume != null Then: $.sourceVolume.deploy() - $snippet: $.buildResourceDefinition() - If: $.getAttr(lastTemplate) != $snippet Then: - $template: $region.stack.current() - $template: $template.mergeWith($snippet, maxLevels => 2) - $region.stack.setTemplate($template) - $region.stack.push() - $outputs: $region.stack.output() - $.openstackId: $outputs.get(format('vol-{0}-id', id($))) - $.setAttr(lastTemplate, $snippet) releaseResources: Body: - If: $.getAttr(lastTemplate) != null Then: - $region: $.getRegion() - $template: $region.stack.current() - $template.resources: $template.resources.delete(format('vol-{0}', id($))) - $template.outputs: $template.outputs.delete(format('vol-{0}-id', id($))) - $region.stack.setTemplate($template) - $region.stack.push() - $.setAttr(lastTemplate, null) - $.openstackId: null - $.attachments: null getRef: Body: Return: get_resource: format('vol-{0}', id($)) getResourceName: Body: Return: format('vol-{0}', id($)) getResourceType: Body: - Return: 'OS::Cinder::Volume' setAttachments: Arguments: - attachments: Contract: [] Body: - $.attachments: $attachments murano-9.0.0/meta/io.murano/Classes/resources/CinderVolumeBackup.yaml0000664000175000017500000000137413656750211025730 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources Name: CinderVolumeBackup Properties: openstackId: Contract: $.string().notNull() Methods: validate: Body: # TODO: add validation that backup does existmurano-9.0.0/meta/io.murano/Classes/resources/MetadataAware.yaml0000664000175000017500000000365013656750211024705 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources std: io.murano sys: io.murano.system Name: MetadataAware Properties: checkApplicability: Contract: $.bool().notNull() Default: true Methods: .init: Body: - $this._metadefBrowsers: {} getMetadefBrowser: Arguments: - region: Contract: $.class(std:CloudRegion).notNull() Body: - $browser: $this._metadefBrowsers.get($region.name) - If: $browser = null Then: - $browser: new(sys:MetadefBrowser, $region) - $this._metadefBrowsers[$region.name]: $browser - Return: $browser getMetadata: Arguments: - region: Contract: $.class(std:CloudRegion).notNull() Body: - $thisMeta: metadata($this) or {} - $parentsMeta: {} - $p: $this.find(std:Object) - While: $p != null Do: - $pmeta: metadata($p) or {} - $pmeta: dict($pmeta.items().where(not $[0] in $parentsMeta.keys())) - $parentsMeta: $parentsMeta.set($pmeta) - $p: $p.find(std:Object) - $resourceType: $this.getResourceType() - If: $this.checkApplicability and $resourceType Then: - $browser: $this.getMetadefBrowser($region) - $parentsMeta: dict($parentsMeta.items().where($browser.canBeAppliedTo($[0], $resourceType))) - Return: $parentsMeta.set($thisMeta) getResourceType: murano-9.0.0/meta/io.murano/Classes/resources/CinderVolumeSnapshot.yaml0000664000175000017500000000140013656750211026310 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources Name: CinderVolumeSnapshot Properties: openstackId: Contract: $.string().notNull() Methods: validate: Body: # TODO: add validation that snapshot does existmurano-9.0.0/meta/io.murano/Classes/resources/ExistingCinderVolume.yaml0000664000175000017500000000136613656750211026316 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources Name: ExistingCinderVolume Extends: Volume Properties: openstackId: Contract: $.string().notNull() Methods: getRef: Body: Return: $.openstackId murano-9.0.0/meta/io.murano/Classes/resources/Volume.yaml0000664000175000017500000000261213656750211023451 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources std: io.murano Name: Volume Extends: std:CloudResource Properties: openstackId: Contract: $.string() Usage: Out Methods: deploy: getRef: releaseResources: .destroy: Body: - $.releaseResources() attachTo: Arguments: - instance: Contract: $.class(Instance).notNull() - path: Contract: $.string().notNull() Body: - $.deploy() - $resourceName: format('vol-attachment-{0}-{1}', id($), $instance.name) - Return: template: resources: $resourceName: type: 'OS::Cinder::VolumeAttachment' properties: instance_uuid: $instance.getRef() mountpoint: $path volume_id: $.getRef() instanceResources: [$resourceName] instanceOutputs: [] murano-9.0.0/meta/io.murano/Classes/resources/InstanceAffinityGroup.yaml0000664000175000017500000000332213656750211026454 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: std: io.murano =: io.murano.resources Name: InstanceAffinityGroup Extends: std:CloudResource Properties: affinity: Contract: $.bool().notNull() Default: false #affinity: true, anti-affinity: false Methods: deploy: Body: - If: $.affinity Then: - $policies: ['affinity'] Else: - $policies: ['anti-affinity'] - $name: $._getHeatName() - $affinityTemplate: resources: $name: type: 'OS::Nova::ServerGroup' properties: name: $name policies: $policies - $region: $.getRegion() - $region.stack.updateTemplate($affinityTemplate) - $region.stack.push(async => true) .destroy: Body: - $name: $._getHeatName() - $region: $.getRegion() - $template: $region.stack.current() - $template.resources: $template.resources.delete($name) - $region.stack.setTemplate($template) - $region.stack.push(async => true) getRef: Body: - Return: get_resource: $._getHeatName() _getHeatName: Body: - Return: format('NovaServerGroup-{0}', id($this)) murano-9.0.0/meta/io.murano/Classes/resources/Instance.yaml0000664000175000017500000003301513656750211023747 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources std: io.murano sys: io.murano.system Name: Instance Extends: - std:CloudResource - MetadataAware Properties: name: Contract: $.string().notNull() flavor: Contract: $.string().notNull() image: Contract: $.string() Default: null keyname: Contract: $.string() Default: null openstackId: Contract: $.string() Usage: Out availabilityZone: Contract: $.string().notNull() Default: nova agent: Contract: $.class(sys:Agent) Usage: Runtime ipAddresses: Contract: [$.string()] Usage: Out networks: Contract: useEnvironmentNetwork: $.bool().notNull() useFlatNetwork: $.bool().notNull() customNetworks: [$.class(Network).notNull()] primaryNetwork: $.class(Network).notOwned() Default: useEnvironmentNetwork: true useFlatNetwork: false customNetworks: [] primaryNetwork: null assignFloatingIp: Contract: $.bool().notNull() Default: false floatingIpAddress: Contract: $.string() Usage: Out securityGroupName: Contract: $.string() Default: null securityGroups: Contract: [$.string()] Default: [] sharedIps: Contract: - $.class(std:SharedIp) Usage: InOut # as it is set in setSharedIps volumes: Contract: $.string().notNull(): $.class(Volume).notNull() blockDevices: Contract: - volume: $.class(Volume).notNull() deviceName: $.string() deviceType: $.string().check($ in list(disk, cdrom, null)) bootIndex: $.int() Default: [] joinedNetworks: Contract: - network: $.class(Network).notNull() ipList: [$.string().notNull()] Usage: Out #policies: anti-affinity, affinity instanceAffinityGroup: Contract: $.class(InstanceAffinityGroup) Methods: .init: Body: - $._environment: $.find(std:Environment).require() - $.agent: new(sys:Agent, host => $) - $.resources: new(sys:Resources) - $.instanceTemplate: {} - $._floatingIpOutputName: null - $.volumes.values().concat($this.blockDevices.volume).select( sys:GC.subscribeDestruction($, $this, _onReferencedResourceDelete)) - If: $.instanceAffinityGroup != null Then: sys:GC.subscribeDestruction( $this.instanceAffinityGroup, $this, _onReferencedResourceDelete) # Called after the Instance template pieces are in place. It # is at this stage alterations to the template should be made prepareStackTemplate: Arguments: instanceTemplate: Contract: {} Body: - Return: $instanceTemplate setSharedIps: Arguments: ips: Contract: - $.class(std:SharedIp) Body: $.sharedIps: $ips beginDeploy: Body: - $.validateBootSource() - $region: $.getRegion() - $securityGroupName: coalesce( $.securityGroupName, $region.securityGroupManager.defaultGroupName ) - $.createDefaultInstanceSecurityGroupRules($securityGroupName) - $.detectPrimaryNetwork() - $.ensureSharedIpsDeployed() - $.ensureNetworksDeployed() - If: $.networks.useEnvironmentNetwork and $region.defaultNetworks.environment!=null Then: $.joinNet($region.defaultNetworks.environment, $securityGroupName, $this.securityGroups) - If: $.networks.useFlatNetwork and $region.defaultNetworks.flat!=null Then: $.joinNet($region.defaultNetworks.flat, $securityGroupName, $this.securityGroups) - $.networks.customNetworks.select($this.joinNet($, $securityGroupName, $this.securityGroups)) - $preparedUserData: $.prepareUserData() - $properties: name: $.name flavor: $.flavor availability_zone: $.availabilityZone user_data: $preparedUserData.data user_data_format: $preparedUserData.format key_name: $.keyname metadata: $this.getMetadata($region) - If: len($.blockDevices) > 0 Then: - $bdmDefinition: $.blockDevices.select($this.buidBlockDeviceDefinition($)) - $properties.block_device_mapping_v2: $bdmDefinition Else: $properties.image: $.image - If: $.instanceAffinityGroup != null Then: - $.instanceAffinityGroup.deploy() - $properties.scheduler_hints: group: $.instanceAffinityGroup.getRef() - $template: resources: $.name: type: $this.getResourceType() properties: $properties outputs: format('{0}-id', $.name): description: format('ID of {0} instance', $.name) value: get_resource: $.name - $.instanceTemplate: $.instanceTemplate.mergeWith($template) - $.volumes.items().select( $.unpack(path, volume) -> $this.attachVolume($path, $volume)) # Any additional template preparation - $.instanceTemplate: $.prepareStackTemplate($.instanceTemplate) - $region.stack.updateTemplate($.instanceTemplate) endDeploy: Body: - $region: $.getRegion() - $region.stack.push() - $outputs: $region.stack.output() - For: blockDevice In: $.blockDevices Do: - $blockDevice.volume.setAttachments($outputs.get(format('{0}-attachments', $blockDevice.volume.getResourceName()))) - $.openstackId: $outputs.get(format('{0}-id', $this.name)) - If: $._floatingIpOutputName != null Then: - $.floatingIpAddress: $outputs.get($._floatingIpOutputName) - If: $.floatingIpAddress != null Then: $.setAttr(fipAssigned, true) - $._environment.instanceNotifier.trackCloudInstance($this) - $.joinedNetworks: $this.joinedNetworks.distinct().select({ network => $.network, ipList => $.network.getInstanceIpList($this)}) - $.ipAddresses: $this.joinedNetworks.selectMany($.ipList).where($ != $this.floatingIpAddress).distinct() - If: $.floatingIpAddress != null Then: - $.ipAddresses: $.ipAddresses.append($.floatingIpAddress) deploy: Body: - $this.beginDeploy() - $this.endDeploy() detectPrimaryNetwork: Body: - $region: $.getRegion() - $._primaryNetwork: null - If: $.networks.primaryNetwork != null Then: - $._primaryNetwork: $.networks.primaryNetwork Else: - If: $.networks.useEnvironmentNetwork and $region.defaultNetworks.environment!=null Then: - $._primaryNetwork: $region.defaultNetworks.environment Else: - If: $.networks.useFlatNetwork and $region.defaultNetworks.flat!=null Then: - $._primaryNetwork: $region.defaultNetworks.flat Else: - If: $.networks.customNetworks!= null Then: - $._primaryNetwork: $.networks.customNetworks.first(null) ensureNetworksDeployed: Body: - $region: $.getRegion() - If: $.networks.useEnvironmentNetwork and $region.defaultNetworks.environment!=null Then: - $region.defaultNetworks.environment.deploy() - If: $.networks.useFlatNetwork and $region.defaultNetworks.flat!=null Then: - $region.defaultNetworks.flat.deploy() - $.networks.customNetworks.pselect($.deploy()) ensureSharedIpsDeployed: Body: - $.sharedIps.pselect($.deploy()) joinNet: Arguments: - net: Contract: $.class(Network).notNull() - securityGroupName: Contract: $.string() - securityGroups: Contract: [$.string()] Body: - $primary: $net = $._primaryNetwork - $assignFip: $primary and $.assignFloatingIp and not $.getAttr(fipAssigned, false) - $sharedIps: [] - For: sharedIp In: $.sharedIps Do: - If: $sharedIp.network = $net Then: - $sharedIps: $sharedIps.append($sharedIp) - $joinResult: $net.joinInstance( instance => $this, securityGroupName => $securityGroupName, securityGroups => $securityGroups, assignFloatingIp => $assignFip, sharedIps => $sharedIps ) - $.setAttr(instanceResources, $.getAttr(instanceResources, []).concat($joinResult.get(instanceResources, []))) - $.setAttr(instanceOutputs, $.getAttr(instanceOutputs, []).concat($joinResult.get(instanceOutputs, []))) - If: $joinResult.template != null Then: - $.instanceTemplate: $.instanceTemplate.mergeWith($joinResult.template) - If: $joinResult.get(portRef) != null Then: - $template: resources: $.name: properties: networks: - port: $joinResult.portRef - $.instanceTemplate: $.instanceTemplate.mergeWith($template) - If: $joinResult.get(secGroupName) != null Then: - $template: resources: $.name: properties: security_groups: - $joinResult.secGroupName - $.instanceTemplate: $.instanceTemplate.mergeWith($template) - $._floatingIpOutputName: coalesce($._floatingIpOutputName, $joinResult.instanceFipOutput) - $this.joinedNetworks: $this.joinedNetworks.append({network => $net}) attachVolume: Arguments: - path: Contract: $.string().notNull() - volume: Contract: $.class(Volume).notNull() Body: - $attachment: $volume.attachTo($this, $path) - $.instanceTemplate: $.instanceTemplate.mergeWith($attachment.template) - $.setAttr(instanceResources, $.getAttr(instanceResources, []).concat($attachment.get(instanceResources, []))) - $.setAttr(instanceOutputs, $.getAttr(instanceOutputs, []).concat($attachment.get(instanceOutputs, []))) buidBlockDeviceDefinition: Arguments: blockDevice: Contract: volume: $.class(Volume).notNull() deviceName: $.string() deviceType: $.string().check($ in list(disk, cdrom, null)) bootIndex: $.int() Body: - $blockDevice.volume.deploy() - Return: device_name: $blockDevice.deviceName volume_id: $blockDevice.volume.getRef() device_type: $blockDevice.deviceType boot_index: $blockDevice.bootIndex beginReleaseResources: Body: - $region: $.getRegion() - $template: $region.stack.current() - If: $template.get(resources) and $template.get(outputs) Then: - $resourcesToDelete: list($.name).concat($.getAttr(instanceResources, [])) - $lenBefore: len($template.resources) - $template.resources: $template.resources.deleteAll($resourcesToDelete) - If: $lenBefore > len($template.resources) Then: - $._environment.instanceNotifier.untrackCloudInstance($this) - $outputsToDelete: list( '{0}-id'.format($.name)).concat($.getAttr(instanceOutputs, [])) - $template.outputs: $template.outputs.deleteAll($outputsToDelete) - $region.stack.setTemplate($template) _onReferencedResourceDelete: Arguments: - resource: Contract: $.class(std:CloudResource).notNull() Body: - If: sys:GC.isDoomed($this) Then: - $.beginReleaseResources() endReleaseResources: Body: - $region: $.getRegion() - $template: $region.stack.current() - If: $template.get(resources) and $template.get(outputs) and not sys:GC.isDoomed($region) Then: - $region.stack.push(async => true) - $.setAttr(instanceResources, []) - $.setAttr(instanceOutputs, []) - $.setAttr(fipAssigned, false) - $.openstackId: null - $.ipAddresses: [] - $.floatingIpAddress: null releaseResources: Body: - $this.beginReleaseResources() - $this.endReleaseResources() validateBootSource: Body: - If: $.image = null and len($.blockDevices) = 0 Then: - $msg: format('Neither image nor bootable volumes is specified for instance {0}', $.name) - Throw: ResourceNotFound Message: $msg - If: $.image != null and len($.blockDevices) > 0 Then: - $msg: 'Both image and list of bootable volumes are specified' - Throw: ResourceConflict Message: $msg destroy: Body: - $.releaseResources() createDefaultInstanceSecurityGroupRules: Arguments: - groupName: Contract: $.string().notNull() prepareUserData: Body: Return: data: null # Valid values are HEAT_CFNTOOLS, RAW and SOFTWARE_CONFIG format: HEAT_CFNTOOLS isDeployed: Body: - $region: $.getRegion() - $template: $region.stack.current() - Return: $template.get(resources, {}).containsKey($.name) getRef: Body: Return: get_resource: $.name getResourceType: Body: - Return: 'OS::Nova::Server' murano-9.0.0/meta/io.murano/Classes/resources/Network.yaml0000664000175000017500000000214513656750211023634 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources std: io.murano Name: Network Extends: std:CloudResource Methods: deploy: joinInstance: Arguments: - instance: Contract: $.class(Instance).notNull() - securityGroupName: Contract: $.string() - assignFloatingIp: Contract: $.bool().notNull() - sharedIps: Contract: - $.class(std:SharedIp) generateSecurityGroupManager: describe: getInstanceIpList: Arguments: - instance: Contract: $.class(Instance).notNull() Body:murano-9.0.0/meta/io.murano/Classes/resources/NovaNetwork.yaml0000664000175000017500000000620513656750211024461 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources std: io.murano sys: io.murano.system Name: NovaNetwork Extends: Network Methods: joinInstance: Arguments: - instance: Contract: $.class(Instance).notNull() - securityGroupName: Contract: $.string() - securityGroups: Contract: [$.string()] - assignFloatingIp: Contract: $.bool().notNull() - sharedIps: Contract: - $.class(std:SharedIp) Body: - $fipName: null - $template: null - $instanceFipOutput: null - $instanceResources: [] - $instanceOutputs: [] - $instanceNetworkOutput: format('{0}-assigned-ips', $instance.name) - $template: outputs: $instanceNetworkOutput: description: format('Network IPs assigned to {0} instance', $instance.name) value: get_attr: [ $instance.name, networks ] - If: $assignFloatingIp Then: - $instanceFipOutput: $instance.name + '-floatingIPaddress' - $fipName: format('fip-nn-{0}', $instance.name) - $fipTemplate: resources: $fipName: type: 'OS::Nova::FloatingIP' $fipName + 'Assignment': type: 'OS::Nova::FloatingIPAssociation' properties: floating_ip: get_resource: $fipName server_id: get_resource: $instance.name outputs: $instanceFipOutput: value: get_attr: [$fipName, ip] description: format('Floating IP of {0}', $instance.name) - $template: $template.mergeWith($fipTemplate) - $instanceResources: [$fipName, $fipName + 'Assignment'] - $instanceOutputs: [$instanceFipOutput, $instanceNetworkOutput] - Return: template: $template secGroupName: get_resource: $securityGroupName instanceFipOutput: $instanceFipOutput instanceResources: $instanceResources instanceOutputs: $instanceOutputs generateSecurityGroupManager: Body: - Return: new(sys:AwsSecurityGroupManager, $this) describe: Body: - Return: provider: NovaNetwork getInstanceIpList: Arguments: - instance: Contract: $.class(Instance).notNull() Body: - Return: $instance.getRegion().stack.output().get( format('{0}-assigned-ips', $instance.name) ).values().flatten().distinct() murano-9.0.0/meta/io.murano/Classes/resources/NeutronNetwork.yaml0000664000175000017500000001456613656750211025221 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources std: io.murano sys: io.murano.system Name: NeutronNetwork Extends: NeutronNetworkBase Properties: name: Contract: $.string().notNull() ipVersion: Contract: $.int() Default: 4 externalRouterId: Contract: $.string() Usage: InOut autoUplink: Contract: $.bool().notNull() Default: true autogenerateSubnet: Contract: $.bool().notNull() Default: true openstackId: Contract: $.string() Usage: Out subnetCidr: Contract: $.string() Usage: InOut dnsNameservers: # This property is optional, # since neutron default dns will be used in case of empty Contract: [$.string()] Usage: InOut Methods: deploy: Body: - If: not $.getAttr(deployed, false) Then: - $netExplorer: $._getNetExplorer() - If: len($.dnsNameservers) = 0 Then: - $.dnsNameservers: $netExplorer.getDefaultDns($.ipVersion) - $template: $._createNetwork() - If: $.autoUplink and (not bool($.externalRouterId)) Then: - $.externalRouterId: $netExplorer.getDefaultRouter() - If: $.autogenerateSubnet and (not bool($.subnetCidr)) Then: - $.subnetCidr: $netExplorer.getAvailableCidr($.externalRouterId, id($), $.ipVersion) - $template: $template.mergeWith($._createSubnet()) - If: $.externalRouterId != null Then: - $template: $template.mergeWith($._createRouterInterface()) - $region: $.getRegion() - $region.stack.updateTemplate($template) - $region.stack.push() - $outputs: $region.stack.output() - $.openstackId: $outputs.get(format('{0}-id', $this.name)) - $.setAttr(deployed, true) _createNetwork: Body: - $netName: $._getNetworkName() - $template: resources: $netName: type: 'OS::Neutron::Net' properties: name: $._getHeatName() outputs: format('{0}-id', $.name): description: format('ID of {0} network', $.name) value: get_resource: $netName - Return: $template _createSubnet: Body: - Return: resources: $._getSubnetName(): type: 'OS::Neutron::Subnet' properties: network: { get_resource: $._getNetworkName() } ip_version: $.ipVersion dns_nameservers: $.dnsNameservers cidr: $.subnetCidr _createRouterInterface: Body: - Return: resources: $._getRouterInterfaceName(): type: 'OS::Neutron::RouterInterface' properties: router_id: $.externalRouterId subnet: { get_resource: $._getSubnetName() } joinInstance: Arguments: - instance: Contract: $.class(Instance).notNull() - securityGroupName: Contract: $.string() - securityGroups: Contract: [$.string()] - assignFloatingIp: Contract: $.bool().notNull() - sharedIps: Contract: - $.class(std:SharedIp) Body: - $.deploy() - $netRef: { get_resource: $._getNetworkName() } - $subnetRef: { get_resource: $._getSubnetName() } - $extNetId: null - $fipName: null - If: $assignFloatingIp Then: - $extNetId: $._getExternalNetId() - $fipName: format('fip-{0}-{1}', id($), $instance.name) - $result: $.joinInstanceToNetwork( instance => $instance, securityGroupName => $securityGroupName, securityGroups => $securityGroups, sharedIps => $sharedIps, netRef => $netRef, subnetRef => $subnetRef, floatingIpResourceName => $fipName, floatingIpNetRef => $extNetId, netName => $._getHeatName() ) # (sjmc7) This is a workaround for https://bugs.launchpad.net/heat/+bug/1299259 - If: $externalRouterId != null Then: - $template: resources: $fipName: depends_on: - $._getRouterInterfaceName() - $result.template: $result.template.mergeWith($template) - Return: $result describe: Body: - $.deploy() - $subnet: $._getNetExplorer().listSubnetworks().where( $.network_id = $this.openstackId).first() - Return: provider: Neutron netName: $.name netId: $.openstackId subnetId: $subnet.id cidr: $subnet.cidr dns: $subnet.dns_nameservers gateway: $subnet.gateway_ip floatingIpNetId: $._getExternalNetId() releaseResources: Body: - $region: $.getRegion() - $template: $region.stack.current() - $template.resources: $template.resources.delete($._getHeatName()) - $template.resources: $template.resources.delete($._getSubnetName()) - $template.outputs: $template.outputs.delete(format('{0}-id', $.name)) - If: $.externalRouterId != null Then: $template.resources: $template.resources.delete($._getRouterInterfaceName()) - $regiont.stack.setTemplate($template) - $region.stack.push() - $.openstackId: null _getRouterInterfaceName: Body: Return: format('ri-{0}', id($)) _getNetworkName: Body: Return: format('network-{0}', id($)) _getSubnetName: Body: Return: format('subnet-{0}', id($)) _getExternalNetId: Body: - If: $.externalRouterId != null Then: Return: $._getNetExplorer().getExternalNetworkIdForRouter($.externalRouterId) Else: Return: null _getHeatName: Body: Return: format('{0}-{1}', $.name, id($)) murano-9.0.0/meta/io.murano/Classes/resources/LinuxUDInstance.yaml0000664000175000017500000000170113656750211025215 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources std: io.murano Name: LinuxUDInstance Extends: - LinuxInstance Methods: initialize: Body: - $.customUserData: null prepareUserData: Body: - Return: data: $.customUserData format: HEAT_CFNTOOLS setCustomUserData: Arguments: - data: Contract: $.notNull() Body: - $.customUserData: $data murano-9.0.0/meta/io.murano/Classes/resources/HeatSWConfigLinuxInstance.yaml0000664000175000017500000000132013656750211027163 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources sys: io.murano.system std: io.murano Name: HeatSWConfigLinuxInstance Extends: - LinuxInstance - HeatSWConfigInstance murano-9.0.0/meta/io.murano/Classes/resources/LinuxInstance.yaml0000664000175000017500000000201313656750211024761 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources std: io.murano Name: LinuxInstance Extends: Instance Methods: createDefaultInstanceSecurityGroupRules: Arguments: - groupName: Contract: $.string().notNull() Body: - $region: $.getRegion() - $rules: - ToPort: 22 IpProtocol: tcp FromPort: 22 External: true - $region.securityGroupManager.addGroupIngress( rules => $rules, groupName => $groupName) murano-9.0.0/meta/io.murano/Classes/resources/WindowsInstance.yaml0000664000175000017500000000432613656750211025325 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources std: io.murano sys: io.murano.system Name: WindowsInstance Extends: Instance Methods: createDefaultInstanceSecurityGroupRules: Arguments: - groupName: Contract: $.string().notNull() Body: - $region: $.getRegion() - $rules: - ToPort: 3389 IpProtocol: tcp FromPort: 3389 External: true - $region.securityGroupManager.addGroupIngress( rules => $rules, groupName => $groupName) prepareUserData: Body: - $region: $.getRegion() - $rabbitMqParams: $region.getConfig().agentRabbitMq - $resources: new(sys:Resources) - $configFile: $resources.string('Agent-v1.template') - $initScript: $resources.string('windows-init.ps1') - $configReplacements: "%RABBITMQ_HOST%": $rabbitMqParams.host "%RABBITMQ_PORT%": $rabbitMqParams.port "%RABBITMQ_USER%": $rabbitMqParams.login "%RABBITMQ_PASSWORD%": $rabbitMqParams.password "%RABBITMQ_VHOST%": $rabbitMqParams.virtual_host "%RABBITMQ_SSL%": str($rabbitMqParams.ssl).toLower() "%RABBITMQ_INPUT_QUEUE%": $.agent.queueName() "%RESULT_QUEUE%": $region.agentListener.queueName() "%SIGNING_KEY%": $.agent.signingKey('') - $scriptReplacements: "%AGENT_CONFIG_BASE64%": base64encode($configFile.replace($configReplacements)) "%INTERNAL_HOSTNAME%": $.name "%MURANO_SERVER_ADDRESS%": coalesce(config(file_server), $rabbitMqParams.host) "%CA_ROOT_CERT_BASE64%": "" - Return: data: $initScript.replace($scriptReplacements) format: HEAT_CFNTOOLS murano-9.0.0/meta/io.murano/Classes/resources/ExistingNeutronNetwork.yaml0000664000175000017500000001341013656750211026717 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources std: io.murano sys: io.murano.system Name: ExistingNeutronNetwork Extends: NeutronNetworkBase Properties: internalNetworkName: Contract: $.string() Default: null Usage: InOut internalSubnetworkName: Contract: $.string() Default: null Usage: InOut externalNetworkName: Contract: $.string() Default: null Usage: InOut Workflow: initialize: Body: - $._networks: null - $._subnetworks: null - $._ports: null - $._internalNetworkId: null - $._internalSubnetworkId: null - $._externalNetworkId: null deploy: Body: - $netExplorer: $._getNetExplorer() - If: $.internalNetworkName = null Then: $.internalNetworkName: $._getNetworks().where( $.get('router:external') = false).first().name - If: $._internalNetworkId = null Then: $._internalNetworkId: $._getNetworks().where( $.name = $this.internalNetworkName or $.id = $this.internalNetworkName).first().id - If: $._internalNetworkId = $.internalNetworkName Then: $._internalNetworkName: $._getNetworks().where( $.id = $this._internalNetworkId).first().name Else: $._internalNetworkName: $.internalNetworkName - If: $.internalSubnetworkName = null Then: $.internalSubnetworkName: $._getSubnetworks().where( $.network_id = $this._internalNetworkId).first().name - If: $._internalSubnetworkId = null Then: # Specify subnetwork id only if the network is owned by the # environment owner tenant (otherwise we may not be allowed to create # a port to that specific subnet) - $net: $this._getNetworks().where($.id = $this._internalNetworkId).first() - If: $net.tenant_id = std:Project.getEnvironmentOwner().id Then: - $._internalSubnetworkId: $._getSubnetworks().where( ($.name = $this.internalSubnetworkName or $.id = $this.internalSubnetworkName) and $.network_id = $this._internalNetworkId).first().id Else: - $._internalSubnetworkId: null - If: $.externalNetworkName = null and $._internalNetworkId != null Then: - $ports: $netExplorer.listPorts() - $routerCandidates: $ports.where( $.network_id = $this._internalNetworkId and $.device_owner = 'network:router_interface'). select($.device_id) - $networkCandidates: $ports.where( $.device_id in $routerCandidates and $.network_id != $this._internalNetworkId). select($.network_id) - $externalNetwork: $._getNetworks().where( $.get('router:external') = true and $.id in $networkCandidates).first(null) - If: $externalNetwork != null Then: - $.externalNetworkName: $externalNetwork.name - $._externalNetworkId: $externalNetwork.id - If: $.externalNetworkName = null Then: $.externalNetworkName: $._getNetworks().where( $.get('router:external') = true).select($.name).first(null) - If: $._externalNetworkId = null and $.externalNetworkName != null Then: $._externalNetworkId: $._getNetworks().where( $.name = $this.externalNetworkName or $.id = $this.externalNetworkName).first().id _getNetworks: Body: - If: not $._networks Then: $._networks: $._getNetExplorer().listNetworks() - Return: $._networks _getSubnetworks: Body: - If: $._subnetworks = null Then: $._subnetworks : $._getNetExplorer().listSubnetworks() - Return: $._subnetworks joinInstance: Arguments: - instance: Contract: $.class(Instance).notNull() - securityGroupName: Contract: $.string() - securityGroups: Contract: [$.string()] - assignFloatingIp: Contract: $.bool().notNull() - sharedIps: Contract: - $.class(std:SharedIp) Body: - $.deploy() - $fipName: null - $floatingIpNetRef: null - If: $assignFloatingIp Then: - $floatingIpNetRef: $._externalNetworkId - $fipName: format('fip-{0}-{1}', id($), $instance.name) - Return: $.joinInstanceToNetwork( instance => $instance, securityGroupName => $securityGroupName, sharedIps => $sharedIps, netRef => $._internalNetworkId, subnetRef => $._internalSubnetworkId, floatingIpResourceName => $fipName, floatingIpNetRef => $floatingIpNetRef, netName => $._internalNetworkName ) describe: Body: - $.deploy() - $subnet: $._getSubnetworks().where( $.network_id = $this._internalNetworkId).first() - Return: provider: Neutron netId: $._internalNetworkId netName: $.internalNetworkName subnetId: $._internalSubnetworkId cidr: $subnet.cidr dns: $subnet.dns_nameservers gateway: $subnet.gateway_ip floatingIpNetId: $._externalNetworkId murano-9.0.0/meta/io.murano/Classes/resources/HeatSWConfigInstance.yaml0000664000175000017500000001212713656750211026152 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources sys: io.murano.system std: io.murano Name: HeatSWConfigInstance Extends: - Instance Methods: initialize: Body: - $.softwareConfigs: [] # configName will be prepended with the instance name # configSection should be a map representing the 'config' # fragment in a StructuredConfig # inputValues should be a map with any required inputs # signalTransport: null (==CFN_SIGNAL), HEAT_SIGNAL, NO_TRANSPORT # # A StructuredConfig and StructuredDeployment will be added # to the Instance addStructuredConfig: Arguments: - configName: Contract: $.string().notNull() - configSection: Contract: {} - inputValues: Contract: {} Default: {} - signalTransport: Contract: $.string() Default: null Body: - $group: Heat::Ungrouped - $.addSoftwareConfig($configName, $configSection, inputValues=>$inputValues, configGroup=>$group, isStructured=>True, signalTransport=>$signalTransport) # Adds a SoftwareConfig and SoftwareDeployment. # configName will be prepended with the instance name # configSection should be of a suitable form (structured config takes maps, # ordinary software config can take a string or a map), # configGroup can be Heat::Ungrouped, script, puppet etc # inputValues should be a map with any inputs required by the Config # signalTransport: null (==CFN_SIGNAL), HEAT_SIGNAL, NO_TRANSPORT addSoftwareConfig: Arguments: - configName: Contract: $.string().notNull() - configSection: # Should be string unless for a structured config Contract: $.notNull() - inputValues: Contract: {} Default: {} - configGroup: Contract: $.string() Default: Heat::Ungrouped - isStructured: Contract: $.bool() Default: False - signalTransport: Contract: $.string() Default: null Body: - $full_config_name: $.name + '-' + $configName - $deployment_name: $full_config_name + '-deployment' - $deployment_stderr: $deployment_name + '-stderr' - $deployment_stdout: $deployment_name + '-stdout' - $injectConfig: $configSection - $configType: OS::Heat::SoftwareConfig - $deploymentType: OS::Heat::SoftwareDeployment - If: $isStructured Then: - $configType: OS::Heat::StructuredConfig - $deploymentType: OS::Heat::StructuredDeployment - $injectConfig['completion-signal']: {get_input: deploy_signal_id} - $fragment: resources: $full_config_name: type: $configType properties: group: $configGroup config: $injectConfig $deployment_name: type: $deploymentType properties: config: { get_resource: $full_config_name } server: { get_resource: $.name } signal_transport: $signalTransport input_values: $inputValues outputs: $deployment_stdout: value: {get_attr: [$deployment_name, deploy_stdout]} $deployment_stderr: value: {get_attr: [$deployment_name, deploy_stderr]} - $.softwareConfigs: $.softwareConfigs + list($fragment) - $.setAttr(scResources, $.getAttr(scResources, []).concat([$full_config_name, $deployment_name])) - $.setAttr(scOutputs, $.getAttr(scOutputs, []).concat([$deployment_stdout, $deployment_stderr])) # Adds to the stack any heat SW config elements prepareStackTemplate: Arguments: instanceTemplate: Contract: {} Body: - For: fragment In: $.softwareConfigs Do: - $instanceTemplate: $instanceTemplate.mergeWith($fragment) - Return: $instanceTemplate prepareUserData: Body: - Return: data: format: SOFTWARE_CONFIG releaseResources: Body: - $region: $.getRegion() - $template: $region.stack.current() - If: $template.get(resources) and $template.get(outputs) Then: - $template.resources: $template.resources.deleteAll($.getAttr(scResources, [])) - $template.outputs: $template.outputs.deleteAll($.getAttr(scOutputs, [])) - $region.stack.setTemplate($template) - super($, $.releaseResources()) - $.setAttr(scResources, []) - $.setAttr(scOutputs, []) murano-9.0.0/meta/io.murano/Classes/resources/NeutronNetworkBase.yaml0000664000175000017500000001405113656750211026001 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.resources std: io.murano sys: io.murano.system Name: NeutronNetworkBase Properties: port_security_disable: Contract: $.bool() Extends: Network Methods: .init: Body: - $._netExplorer: null - $._environment: $.find(std:Environment) _getNetExplorer: Body: - If: $._netExplorer = null Then: - $._netExplorer: new(sys:NetworkExplorer, $this.getRegion()) - Return: $._netExplorer joinInstanceToNetwork: Arguments: - instance: Contract: $.class(Instance).notNull() - securityGroupName: Contract: $.string() - securityGroups: Contract: [$.string()] - sharedIps: Contract: - $.class(std:SharedIp) - netRef: Contract: $ - subnetRef: Contract: $ - floatingIpResourceName: Contract: $.string() - floatingIpNetRef: Contract: $ - netName: Contract: $.string().notNull() Body: - $netExplorer: $._getNetExplorer() - $securityGroupsEnabled: $netExplorer.listNeutronExtensions().alias.contains('security-group') - $portName: format('port-{0}-{1}', id($), $instance.name) - $addressesOutputName: format('addresses-{0}-{1}', $instance.name, id($this)) - $patchTemplate: resources: $portName: type: 'OS::Neutron::Port' properties: network: $netRef replacement_policy: AUTO outputs: $addressesOutputName: description: format('Addresses for {0} in {1}', $instance.name, $netName) value: get_attr: [$instance.name, 'addresses', $netName] - If: $subnetRef Then: - $template: resources: $portName: properties: fixed_ips: - subnet: $subnetRef - $patchTemplate: $patchTemplate.mergeWith($template) - If: $securityGroupsEnabled and not $.port_security_disable Then: - If: len($securityGroups) > 0 and $securityGroups[0] != "" Then: - For: securityGroup In: $securityGroups Do: - $template: resources: $portName: properties: security_groups: - $securityGroup - $patchTemplate: $patchTemplate.mergeWith($template) Else: - If: bool($securityGroupName) Then: - $template: resources: $portName: properties: security_groups: - get_resource: $securityGroupName - $patchTemplate: $patchTemplate.mergeWith($template) - If: $.port_security_disable Then: - $template: resources: $portName: properties: port_security_enabled: false - $patchTemplate: $patchTemplate.mergeWith($template) - $instanceResources: [$portName] - $instanceOutputs: [$addressesOutputName] - For: sip In: $sharedIps Do: - $template: resources: $portName: properties: allowed_address_pairs: - ip_address: $sip.getSharedIpRef() - $patchTemplate: $patchTemplate.mergeWith($template) - $instanceFipOutput: null - If: $floatingIpResourceName != null and $floatingIpNetRef != null Then: - $instanceFipOutput: $instance.name + '-floatingIPaddress' - $template: resources: $floatingIpResourceName: type: 'OS::Neutron::FloatingIP' properties: floating_network: $floatingIpNetRef port_id: get_resource: $portName outputs: $instanceFipOutput: value: get_attr: [$floatingIpResourceName, floating_ip_address] description: format('Floating IP of {0}', $instance.name) - $instanceResources: $instanceResources.append($floatingIpResourceName) - $instanceOutputs: $instanceOutputs.append($instanceFipOutput) - $patchTemplate: $patchTemplate.mergeWith($template) - Return: template: $patchTemplate portRef: get_resource: $portName instanceFipOutput: $instanceFipOutput instanceResources: $instanceResources instanceOutputs: $instanceOutputs generateSecurityGroupManager: Body: - $region: $.getRegion() - $netExplorer: $._getNetExplorer() - $securityGroupsEnabled: $netExplorer.listNeutronExtensions().alias.contains('security-group') - If: $securityGroupsEnabled Then: - Return: new(sys:NeutronSecurityGroupManager, $region) Else: - $._environment.reporter.report($this, "Warning! Security groups are disabled!") - Return: new(sys:DummySecurityGroupManager, $region) getInstanceIpList: Arguments: - instance: Contract: $.class(Instance).notNull() Body: - Return: $.getRegion().stack.output()[ format('addresses-{0}-{1}', $instance.name, id($this))].addr.distinct() murano-9.0.0/meta/io.murano/Classes/resources/LinuxMuranoInstance.yaml0000664000175000017500000001034313656750211026150 0ustar zuulzuul00000000000000Namespaces: =: io.murano.resources sys: io.murano.system std: io.murano Name: LinuxMuranoInstance Extends: - LinuxInstance Methods: prepareUserData: Body: - $userData: $.generateUserData() - Return: data: $._generateInstanceConfigResources($userData) format: RAW _generateInstanceConfigResources: Arguments: - userData: Contract: $.string().notNull() Body: - $region: $.getRegion() - $resources: new(sys:Resources) - $muranoInitConf: $.generateCloudConfig() - $bootScriptResourceName: format('boot_script_{0}', $.name) - $userDataResourceName: format('user_data-{0}', $.name) - $bootConfigResourceName: format('boot_config-{0}', $.name) - $template: resources: $bootConfigResourceName: type: 'OS::Heat::CloudConfig' properties: cloud_config: $muranoInitConf $bootScriptResourceName: type: 'OS::Heat::SoftwareConfig' properties: group: ungrouped config: $userData $userDataResourceName: type: 'OS::Heat::MultipartMime' properties: parts: - config: {get_resource: $bootConfigResourceName} - config: {get_resource: $bootScriptResourceName} - $.setAttr(resourceCloudConfig, [$bootScriptResourceName, $userDataResourceName, $bootConfigResourceName]) - $region.stack.updateTemplate($template) - Return: {get_resource: $userDataResourceName} generateCloudConfig: Body: - $resources: new(sys:Resources) - $muranoInitConf: $resources.yaml('murano-init.conf').bind(dict( instanceHostname => $.name )) - Return: $muranoInitConf generateUserData: Body: - $region: $.getRegion() - $rabbitMqParams: $region.getConfig().agentRabbitMq - $resources: new(sys:Resources) - $configFile: $resources.string('Agent-v2.template') - $initScript: $resources.string('linux-init.sh') - $muranoScript: $resources.string('murano-init.sh') - $muranoAgentConf: $resources.string('murano-agent.conf') - $muranoAgentService: $resources.string('murano-agent.service') - $muranoAgent: $resources.string('murano-agent') - $configReplacements: "%RABBITMQ_HOST%": $rabbitMqParams.host "%RABBITMQ_PORT%": $rabbitMqParams.port "%RABBITMQ_USER%": $rabbitMqParams.login "%RABBITMQ_PASSWORD%": $rabbitMqParams.password "%RABBITMQ_VHOST%": $rabbitMqParams.virtual_host "%RABBITMQ_SSL%": str($rabbitMqParams.ssl).toLower() "%RABBITMQ_INSECURE%": str($rabbitMqParams.insecure).toLower() "%RABBITMQ_INPUT_QUEUE%": $.agent.queueName() "%RESULT_QUEUE%": $region.agentListener.queueName() "%SIGNING_KEY%": $.agent.signingKey('\t') - $scriptReplacements: "%AGENT_CONFIG_BASE64%": base64encode($configFile.replace($configReplacements)) "%INTERNAL_HOSTNAME%": $.name "%MURANO_SERVER_ADDRESS%": coalesce(config(file_server), $rabbitMqParams.host) - If: config(rabbitmq, ca_certs) Then: - $scriptReplacements["%CA_ROOT_CERT_BASE64%"]: base64encode(config(rabbitmq, ca_certs, true)) Else: - $scriptReplacements["%CA_ROOT_CERT_BASE64%"]: '' - $muranoReplacements: "%MURANO_AGENT_CONF%": base64encode($muranoAgentConf) "%MURANO_AGENT_SERVICE%": base64encode($muranoAgentService) "%MURANO_AGENT%": base64encode($muranoAgent) "%PIP_SOURCE%": config(engine, agent_source) - $userData: $muranoScript.replace($muranoReplacements) + $initScript.replace($scriptReplacements) - Return: $userData releaseResources: Body: - $region: $.getRegion() - $template: $region.stack.current() - If: $template.get(resources) and $template.get(outputs) Then: - $resourcesToDelete: $.getAttr(resourceCloudConfig, []) - $template.resources: $template.resources.deleteAll($resourcesToDelete) - $region.stack.setTemplate($template) - super($, $.releaseResources()) murano-9.0.0/meta/io.murano/Classes/resources/ConfLangInstance.yaml0000664000175000017500000000321213656750211025353 0ustar zuulzuul00000000000000Namespaces: =: io.murano.resources sys: io.murano.system std: io.murano Name: ConfLangInstance Extends: - LinuxMuranoInstance Methods: prepareUserData: Body: - $userData: $.generateUserData() - Return: data: $._generateInstanceConfigResources($userData) format: RAW _generateInstanceConfigResources: Arguments: - userData: Contract: $.string().notNull() Body: - $region: $.getRegion() - $cloudInitConf: $.generateCloudConfig() - $bootConfigResourceName: format('boot_config_{0}', $.name) - $bootScriptResourceName: format('boot_script_{0}', $.name) - $userDataResourceName: format('user_data-{0}', $.name) - $template: resources: $bootConfigResourceName: type: 'OS::Heat::CloudConfig' properties: cloud_config: $cloudInitConf $bootScriptResourceName: type: 'OS::Heat::SoftwareConfig' properties: group: ungrouped config: $userData $userDataResourceName: type: 'OS::Heat::MultipartMime' properties: parts: - config: {get_resource: $bootConfigResourceName} - config: {get_resource: $bootScriptResourceName} - $region.stack.updateTemplate($template) - Return: {get_resource: $userDataResourceName} generateCloudConfig: Body: - $cloudConfigData: cast($, LinuxMuranoInstance).generateCloudConfig() - $confLang: sys:Resources.yaml('conflang.conf') - $cloudInitConf: $cloudConfigData.mergeWith($confLang) - Return: $cloudInitConf murano-9.0.0/meta/io.murano/Classes/Project.yaml0000664000175000017500000000040313656750211021572 0ustar zuulzuul00000000000000Name: io.murano.Project Properties: id: Contract: $.string().notNull() name: Contract: $.string().notNull() domain: Contract: $.string().notNull() description: Contract: $.string() extra: Contract: $.string().notNull(): $ murano-9.0.0/meta/io.murano/Classes/system/0000775000175000017500000000000013656750351020634 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano/Classes/system/StatusReporter.yaml0000664000175000017500000000124613656750211024524 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # Blank class for in-python system libraries, for caching purposes Namespaces: =: io.murano.system Name: StatusReporter murano-9.0.0/meta/io.murano/Classes/system/DummySecurityGroupManager.yaml0000664000175000017500000000164113656750211026650 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.system std: io.murano Name: DummySecurityGroupManager Extends: SecurityGroupManager # This class actually adds nothing to the base SecurityGroupManager, # so a base class could be used instead. However, it's better to explicitly # declare this class and use it, since the base one is supposed to remain # "abstract" and never be instantiated. murano-9.0.0/meta/io.murano/Classes/system/Agent.yaml0000664000175000017500000000123513656750211022552 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # Blank class for in-python system libraries, for caching purposes Namespaces: =: io.murano.system Name: Agent murano-9.0.0/meta/io.murano/Classes/system/MistralClient.yaml0000664000175000017500000000124513656750211024267 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # Blank class for in-python system libraries, for caching purposes Namespaces: =: io.murano.system Name: MistralClient murano-9.0.0/meta/io.murano/Classes/system/AwsSecurityGroupManager.yaml0000664000175000017500000000741013656750211026307 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.system std: io.murano Name: AwsSecurityGroupManager Extends: SecurityGroupManager Methods: .init: Body: - $._environment: $.find(std:Environment) - $._region: $.find(std:CloudRegion).require() addGroupIngress: Arguments: - rules: Contract: - FromPort: $.int().notNull() ToPort: $.int().notNull() IpProtocol: $.string().notNull() External: $.bool().notNull() Ethertype: $.string().check($ in list(null, 'IPv4', 'IPv6')) - groupName: Contract: $.string().notNull() Default: $this.defaultGroupName Body: - $._addGroup(ingress, $rules, $groupName) addGroupEgress: Arguments: - rules: Contract: - FromPort: $.int().notNull() ToPort: $.int().notNull() IpProtocol: $.string().notNull() External: $.bool().notNull() Ethertype: $.string().check($ in list(null, 'IPv4', 'IPv6')) - groupName: Contract: $.string().notNull() Default: $this.defaultGroupName Body: - $._addGroup(egress, $rules, $groupName) _addGroup: Arguments: - direction: Contract: $.string().notNull().check($ in list(ingress, egress)) Default: ingress - rules: Contract: - FromPort: $.int().notNull() ToPort: $.int().notNull() IpProtocol: $.string().notNull() External: $.bool().notNull() Ethertype: $.string().check($ in list(null, 'IPv4', 'IPv6')) - groupName: Contract: $.string().notNull() Default: $this.defaultGroupName Body: - $ext_keys: true: ext_key: remote_ip_prefix ext_val: '0.0.0.0/0' false: ext_key: remote_mode ext_val: remote_group_id - $ethertype: $rules.where($.get(Ethertype) = IPv6) - If: len($ethertype) > 0 Then: - $msg: 'Unable to add security group. IPv6 is not supported.' - $._environment.reporter.report_error($this, $msg) - Throw: UnsupportedPropertyValue Message: $msg - $groupDirection: dict(egress => SecurityGroupEgress).get($direction, SecurityGroupIngress) - $stack: $._region.stack - $template: resources: $groupName: type: 'AWS::EC2::SecurityGroup' properties: GroupDescription: format('Composite security group of Murano environment {0}', $._environment.name) $groupDirection: - FromPort: '-1' ToPort: '-1' IpProtocol: icmp CidrIp: '0.0.0.0/0' - $._region.stack.updateTemplate($template) - $rulesList: $rules.select(dict( FromPort => str($.FromPort), ToPort => str($.ToPort), IpProtocol => $.IpProtocol, CidrIp => '0.0.0.0/0' )) - $template: resources: $groupName: type: 'AWS::EC2::SecurityGroup' properties: $groupDirection: $rulesList - $._region.stack.updateTemplate($template) murano-9.0.0/meta/io.murano/Classes/system/Resources.yaml0000664000175000017500000000124113656750211023463 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # Blank class for in-python system libraries, for caching purposes Namespaces: =: io.murano.system Name: Resources murano-9.0.0/meta/io.murano/Classes/system/AgentListener.yaml0000664000175000017500000000124513656750211024261 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # Blank class for in-python system libraries, for caching purposes Namespaces: =: io.murano.system Name: AgentListener murano-9.0.0/meta/io.murano/Classes/system/SecurityGroupManager.yaml0000664000175000017500000000305713656750211025637 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.system std: io.murano Name: SecurityGroupManager Properties: defaultGroupName: Contract: $.string() Default: id($.find(std:CloudRegion)) Methods: addGroupIngress: Arguments: - rules: Contract: - FromPort: $.int().notNull() ToPort: $.int().notNull() IpProtocol: $.string().notNull() External: $.bool().notNull() Ethertype: $.string().check($ in list(null, 'IPv4', 'IPv6')) - groupName: Contract: $.string().notNull() Default: $this.defaultGroupName addGroupEgress: Arguments: - rules: Contract: - FromPort: $.int().notNull() ToPort: $.int().notNull() IpProtocol: $.string().notNull() External: $.bool().notNull() Ethertype: $.string().check($ in list(null, 'IPv4', 'IPv6')) - groupName: Contract: $.string().notNull() Default: $this.defaultGroupName murano-9.0.0/meta/io.murano/Classes/system/Logger.yaml0000664000175000017500000000123613656750211022734 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # Blank class for in-python system libraries, for caching purposes Namespaces: =: io.murano.system Name: Logger murano-9.0.0/meta/io.murano/Classes/system/NetworkExplorer.yaml0000664000175000017500000000124713656750211024671 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # Blank class for in-python system libraries, for caching purposes Namespaces: =: io.murano.system Name: NetworkExplorer murano-9.0.0/meta/io.murano/Classes/system/HeatStack.yaml0000664000175000017500000000124113656750211023360 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # Blank class for in-python system libraries, for caching purposes Namespaces: =: io.murano.system Name: HeatStack murano-9.0.0/meta/io.murano/Classes/system/InstanceNotifier.yaml0000664000175000017500000000125013656750211024755 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # Blank class for in-python system libraries, for caching purposes Namespaces: =: io.murano.system Name: InstanceNotifier murano-9.0.0/meta/io.murano/Classes/system/NeutronSecurityGroupManager.yaml0000664000175000017500000000661013656750211027210 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.system std: io.murano Name: NeutronSecurityGroupManager Extends: SecurityGroupManager Methods: .init: Body: - $._environment: $.find(std:Environment) - $._region: $.find(std:CloudRegion).require() - $.addGroupIngress() addGroupIngress: Arguments: - rules: Contract: - FromPort: $.int().notNull() ToPort: $.int().notNull() IpProtocol: $.string().notNull() External: $.bool().notNull() Ethertype: $.string().check($ in list(null, 'IPv4', 'IPv6')) - groupName: Contract: $.string().notNull() Default: $this.defaultGroupName Body: - $._addGroup(ingress, $rules, $groupName) addGroupEgress: Arguments: - rules: Contract: - FromPort: $.int().notNull() ToPort: $.int().notNull() IpProtocol: $.string().notNull() External: $.bool().notNull() Ethertype: $.string().check($ in list(null, 'IPv4', 'IPv6')) - groupName: Contract: $.string().notNull() Default: $this.defaultGroupName Body: - $._addGroup(egress, $rules, $groupName) _addGroup: Arguments: - direction: Contract: $.string().notNull().check($ in list(ingress, egress)) - rules: Contract: - FromPort: $.int().notNull() ToPort: $.int().notNull() IpProtocol: $.string().notNull() External: $.bool().notNull() Ethertype: $.string().check($ in list(null, 'IPv4', 'IPv6')) - groupName: Contract: $.string().notNull() Body: - $ext_keys: true: ext_key: remote_ip_prefix ext_val: '0.0.0.0/0' false: ext_key: remote_mode ext_val: remote_group_id - $template: resources: $groupName: type: 'OS::Neutron::SecurityGroup' properties: description: format( 'Composite security group of Murano environment {0}', $._environment.name) rules: - protocol: icmp remote_ip_prefix: '0.0.0.0/0' - $._region.stack.updateTemplate($template) - $rulesList: $rules.select(dict( port_range_min => $.FromPort, port_range_max => $.ToPort, protocol => $.IpProtocol, ethertype => $.get(Ethertype, IPv4), $ext_keys.get($.External).ext_key => $ext_keys.get($.External).ext_val, direction => $direction )) - $template: resources: $groupName: type: 'OS::Neutron::SecurityGroup' properties: rules: $rulesList - $._region.stack.updateTemplate($template)murano-9.0.0/meta/io.murano/Classes/system/MetadefBrowser.yaml0000664000175000017500000000174213656750211024430 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.system Name: MetadefBrowser Methods: canBeAppliedTo: Arguments: - tag: Contract: $.string().notNull() - resourceType: Contract: $.string().notNull() Body: - $nss: $this.getNamespaces($resourceType) - $objects: $nss.select($this.getObjects($.namespace)).flatten() - $keys: $objects.properties.select($.keys()).flatten() - Return: $tag in $keys murano-9.0.0/meta/io.murano/Classes/SharedIpRange.yaml0000664000175000017500000000504413656750211022646 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano Name: SharedIpRange Extends: SharedIp Properties: cidr: Contract: $.string().notNull() Usage: InOut Methods: initialize: Body: - $._environment: $.find(Environment).require() deploy: Body: - If: not $.getAttr(deployed, false) Then: - $region: $.getRegion() - $reporter: $._environment.reporter - $.deployNetwork() - $networkData: $.network.describe() - $aapSubnetName: format('AllowedAddressPairsSubnet-{0}', id($)) - $template: resources: $aapSubnetName: type: 'OS::Neutron::Subnet' properties: enable_dhcp: false network: $networkData.netId cidr: $.cidr outputs: $aapSubnetName+'-cidr': value: get_attr: [$aapSubnetName, cidr] description: format('Shared IP Range of group {0}', id($)) - $region.stack.updateTemplate($template) - $region.stack.push() - $outputs: $region.stack.output() - $.cidr: $outputs.get(format('AllowedAddressPairsSubnet-{0}-cidr', id($))) - $.virtualIp: $outputs.get(format('AllowedAddressPairsSubnet-{0}-cidr', id($))) - $reporter.report($this, format('Shared IP Range allocated at {0}', $.cidr)) - $.setAttr(deployed, true) getSharedIpRef: Body: - $aapSubnetName: format('AllowedAddressPairsSubnet-{0}', id($)) - Return: get_attr: [$aapSubnetName, cidr] releaseResources: Body: - $region: $.getRegion() - $template: $region.stack.current() - $template.resources: $template.resources.delete(format('AllowedAddressPairsSubnet-{0}', id($))) - $template.outputs: $template.outputs.delete(format('AllowedAddressPairsSubnet-{0}-cidr', id($))) - $region.stack.setTemplate($template) - $region.stack.push() - $.cidr: nullmurano-9.0.0/meta/io.murano/Classes/CloudResource.yaml0000664000175000017500000000146213656750211022750 0ustar zuulzuul00000000000000Namespaces: =: io.murano sys: io.murano.system Name: CloudResource Properties: regionName: Contract: $.string() Methods: .init: Body: $._region: null getRegion: Meta: 'io.murano.metadata.engine.Synchronize': onThis: false Body: - If: $._region = null Then: - $env: $.find(Environment).require() - $regionName: generate($this, $ != null, $.find(CloudResource)). select($.regionName).where($ != null).first($env.region) - $._region: $.find(CloudRegion) - If: $._region = null or $._region.name != $regionName Then: $._region: $env.regions[$regionName] - If: $._region != null Then: - sys:GC.subscribeDestruction($this, $._region) - Return: $._region murano-9.0.0/meta/io.murano/Classes/CloudRegion.yaml0000664000175000017500000000315013656750211022400 0ustar zuulzuul00000000000000Namespaces: res: io.murano.resources sys: io.murano.system =: io.murano Name: CloudRegion Properties: name: Contract: $.string() agentListener: Contract: $.class(sys:AgentListener) Usage: Runtime stack: Contract: $.class(sys:HeatStack) Usage: Runtime defaultNetworks: Contract: environment: $.class(res:Network) flat: $.class(res:Network) securityGroupManager: Contract: $.class(sys:SecurityGroupManager) Usage: Runtime Methods: getConfig: Body: - Return: $._environment.regionConfigs.get( $.name, $._environment.regionConfigs.get('')) .init: Body: - $._environment: $.find(Environment).require() - $generatedStackName: $.getAttr(generatedStackName) - If: $generatedStackName = null Then: - $generatedStackName: list($.name, randomName()).join('-') - $.setAttr(generatedStackName, $generatedStackName) - $this.agentListener: new(sys:AgentListener, $this, name => $generatedStackName) - $stackDescriptionFormat: 'This stack was generated by Murano for environment {0} (ID: {1}) - region {2}' - $this.stack: new(sys:HeatStack, regionName => $.name, name => 'murano-' + $generatedStackName, description => $stackDescriptionFormat.format($._environment.name, id($._environment), $.name)) - sys:GC.subscribeDestruction($this, $this.stack) - $this.securityGroupManager: coalesce($.defaultNetworks.environment, $.defaultNetworks.flat)?. generateSecurityGroupManager() .destroy: Body: - $.stack.delete() murano-9.0.0/meta/io.murano/Classes/test/0000775000175000017500000000000013656750351020267 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano/Classes/test/TestFixture.yaml0000664000175000017500000000415613656750211023442 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.test std: io.murano sys: io.murano.system res: io.murano.resources --- # ------------------------------------------------------------------ # --- Name: TestFixture Methods: setUp: Body: tearDown: Body: --- # ------------------------------------------------------------------ # --- Name: DummyNetwork Extends: res:Network Methods: joinInstance: Arguments: - instance: Contract: $.class(res:Instance).notNull() - securityGroupName: Contract: $.string() - assignFloatingIp: Contract: $.bool().notNull() - sharedIps: Contract: - $.class(std:SharedIp) Body: - Return: template: {} portRef: instanceFipOutput: generateSecurityGroupManager: Body: - Return: new(sys:DummySecurityGroupManager, $this) describe: Body: - Return: {} --- # ------------------------------------------------------------------ # --- Name: TestFixtureWithEnvironment Extends: TestFixture Properties: environment: Usage: Runtime Contract: $.class(std:Environment) Methods: setUp: Body: - $testClassName: typeinfo($).name - $envName: format('environment-of-testclass-{0}', $testClassName) - $netName: format('default-network-of-testclass-{0}', $testClassName) - $envSnippet: Objects: std:Environment: name: $envName defaultNetworks: environment: :DummyNetwork: - $this.environment: $this.load($envSnippet) murano-9.0.0/meta/io.murano/Classes/metadata/0000775000175000017500000000000013656750351021070 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano/Classes/metadata/ModelBuilder.yaml0000664000175000017500000000133113656750211024314 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.metadata Name: ModelBuilder Usage: Meta Applies: Method Inherited: true Properties: enabled: Contract: $.bool().notNull() Default: truemurano-9.0.0/meta/io.murano/Classes/metadata/HelpText.yaml0000664000175000017500000000126313656750211023506 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.metadata Name: HelpText Usage: Meta Inherited: true Properties: text: Contract: $.string().notNull() murano-9.0.0/meta/io.murano/Classes/metadata/forms/0000775000175000017500000000000013656750351022216 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano/Classes/metadata/forms/Position.yaml0000664000175000017500000000142413656750211024702 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.metadata.forms Name: Position Usage: Meta Applies: [Property, Argument] Inherited: true Properties: index: Contract: $.int() Default: null section: Contract: $.string() Default: null murano-9.0.0/meta/io.murano/Classes/metadata/forms/Section.yaml0000664000175000017500000000151313656750211024501 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.metadata.forms Name: Section Usage: Meta Cardinality: Many Applies: [Type, Method] Inherited: true Properties: name: Contract: $.string().notNull() title: Contract: $.string() Default: $.name index: Contract: $.int() Default: null murano-9.0.0/meta/io.murano/Classes/metadata/forms/Hidden.yaml0000664000175000017500000000135113656750211024270 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.metadata.forms Name: Hidden Usage: Meta Applies: [Property, Argument] Inherited: true Properties: visible: Contract: $.bool().notNull() Default: false murano-9.0.0/meta/io.murano/Classes/metadata/Title.yaml0000664000175000017500000000126013656750211023027 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.metadata Name: Title Usage: Meta Inherited: true Properties: text: Contract: $.string().notNull() murano-9.0.0/meta/io.murano/Classes/metadata/Description.yaml0000664000175000017500000000126613656750211024237 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.metadata Name: Description Usage: Meta Inherited: true Properties: text: Contract: $.string().notNull() murano-9.0.0/meta/io.murano/Classes/metadata/engine/0000775000175000017500000000000013656750351022335 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano/Classes/metadata/engine/Synchronize.yaml0000664000175000017500000000144613656750211025534 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.metadata.engine Name: Synchronize Usage: Meta Inherited: true Cardinality: One Applies: [Method] Properties: onThis: Contract: $.bool().notNull() Default: true onArgs: Contract: - $.string().notNull() murano-9.0.0/meta/io.murano/Classes/metadata/engine/Serialize.yaml0000664000175000017500000000135713656750211025151 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.metadata.engine Name: Serialize Usage: Meta Cardinality: One Inherited: true Applies: - Property Properties: as: Contract: $.check($ in ['reference', 'copy']) murano-9.0.0/meta/io.murano/Classes/StackTrace.yaml0000664000175000017500000000133313656750211022213 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano Name: StackTrace Properties: frames: Contract: - instruction: $.string() location: $ methodName: $ typeName: $ murano-9.0.0/meta/io.murano/Classes/configuration/0000775000175000017500000000000013656750351022157 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano/Classes/configuration/Linux.yaml0000664000175000017500000000546713656750211024151 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.configuration std: io.murano sys: io.murano.system m: io.murano.metadata.engine Name: Linux Methods: runCommand: Meta: - m:Synchronize: onArgs: agent Usage: Static Arguments: - agent: Contract: $.class(sys:Agent) - command: Contract: $.string().notNull() - helpText: Contract: $.string() Default: null - captureStderr: Contract: $.bool().notNull() Default: true - captureStdout: Contract: $.bool().notNull() Default: true - ignoreErrors: Contract: $.bool().notNull() Default: false - timeout: Contract: $.int() Default: null Body: - $resources: new(sys:Resources) - If: $helpText != null Then: - $planName: $helpText Else: - $planName: format('Execute {0}', $command) - $template: $resources.yaml('RunCommand.template').bind(dict( command => $command, planName => $planName, captureStderr => $captureStderr, captureStdout => $captureStdout, verifyExitcode => not $ignoreErrors )) - Return: $agent.call($template, $resources, $timeout) putFile: Usage: Static Meta: - m:Synchronize: onArgs: agent Arguments: - agent: Contract: $.class(sys:Agent) - fileContent: Contract: $.string().notNull() - path: Contract: $.string().notNull() - helpText: Contract: $.string() Default: null - ignoreErrors: Contract: $.bool().notNull() Default: false - timeout: Contract: $.int() Default: null Body: - $data: base64encode($fileContent) - $resources: new(sys:Resources) - If: $helpText != null Then: - $planName: $helpText Else: - $planName: format('Put to {0}', $path) - $template: $resources.yaml('PutFile.template').bind(dict( path => $path, fileContent => $data, planName => $planName, verifyExitcode => not $ignoreErrors )) - Return: $agent.call($template, $resources, $timeout) murano-9.0.0/meta/io.murano/manifest.yaml0000664000175000017500000001027313656750211020403 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Format: 1.4 Type: Library FullName: io.murano Name: Core library Description: | Core MuranoPL library Author: 'murano.io' Tags: [MuranoPL] Classes: io.murano.Object: Object.yaml io.murano.Environment: Environment.yaml io.murano.CloudRegion: CloudRegion.yaml io.murano.CloudResource: CloudResource.yaml io.murano.Application: Application.yaml io.murano.Exception: Exception.yaml io.murano.StackTrace: StackTrace.yaml io.murano.SharedIp: SharedIp.yaml io.murano.SharedIpRange: SharedIpRange.yaml io.murano.File: File.yaml io.murano.User: User.yaml io.murano.Project: Project.yaml io.murano.configuration.Linux: configuration/Linux.yaml io.murano.resources.Network: resources/Network.yaml io.murano.resources.Instance: resources/Instance.yaml io.murano.resources.LinuxInstance: resources/LinuxInstance.yaml io.murano.resources.LinuxMuranoInstance: resources/LinuxMuranoInstance.yaml io.murano.resources.ConfLangInstance: resources/ConfLangInstance.yaml io.murano.resources.HeatSWConfigInstance: resources/HeatSWConfigInstance.yaml io.murano.resources.HeatSWConfigLinuxInstance: resources/HeatSWConfigLinuxInstance.yaml io.murano.resources.LinuxUDInstance: resources/LinuxUDInstance.yaml io.murano.resources.WindowsInstance: resources/WindowsInstance.yaml io.murano.resources.NeutronNetworkBase: resources/NeutronNetworkBase.yaml io.murano.resources.NeutronNetwork: resources/NeutronNetwork.yaml io.murano.resources.ExistingNeutronNetwork: resources/ExistingNeutronNetwork.yaml io.murano.resources.NovaNetwork: resources/NovaNetwork.yaml io.murano.resources.Volume: resources/Volume.yaml io.murano.resources.CinderVolume: resources/CinderVolume.yaml io.murano.resources.ExistingCinderVolume: resources/ExistingCinderVolume.yaml io.murano.resources.CinderVolumeBackup: resources/CinderVolumeBackup.yaml io.murano.resources.CinderVolumeSnapshot: resources/CinderVolumeSnapshot.yaml io.murano.resources.MetadataAware: resources/MetadataAware.yaml io.murano.resources.InstanceAffinityGroup: resources/InstanceAffinityGroup.yaml io.murano.system.Agent: system/Agent.yaml io.murano.system.AgentListener: system/AgentListener.yaml io.murano.system.HeatStack: system/HeatStack.yaml io.murano.system.Resources: system/Resources.yaml io.murano.system.InstanceNotifier: system/InstanceNotifier.yaml io.murano.system.Logger: system/Logger.yaml io.murano.system.StatusReporter: system/StatusReporter.yaml io.murano.system.NetworkExplorer: system/NetworkExplorer.yaml io.murano.system.SecurityGroupManager: system/SecurityGroupManager.yaml io.murano.system.NeutronSecurityGroupManager: system/NeutronSecurityGroupManager.yaml io.murano.system.AwsSecurityGroupManager: system/AwsSecurityGroupManager.yaml io.murano.system.DummySecurityGroupManager: system/DummySecurityGroupManager.yaml io.murano.system.MistralClient: system/MistralClient.yaml io.murano.system.MetadefBrowser: system/MetadefBrowser.yaml io.murano.metadata.Description: metadata/Description.yaml io.murano.metadata.HelpText: metadata/HelpText.yaml io.murano.metadata.ModelBuilder: metadata/ModelBuilder.yaml io.murano.metadata.Title: metadata/Title.yaml io.murano.metadata.forms.Hidden: metadata/forms/Hidden.yaml io.murano.metadata.forms.Position: metadata/forms/Position.yaml io.murano.metadata.forms.Section: metadata/forms/Section.yaml io.murano.metadata.engine.Serialize: metadata/engine/Serialize.yaml io.murano.metadata.engine.Synchronize: metadata/engine/Synchronize.yaml io.murano.test.TestFixture: test/TestFixture.yaml io.murano.test.TestFixtureWithEnvironment: test/TestFixture.yaml io.murano.test.DummyNetwork: test/TestFixture.yaml murano-9.0.0/meta/io.murano/LICENSE0000664000175000017500000002363613656750211016725 0ustar zuulzuul00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. murano-9.0.0/meta/io.murano.applications/0000775000175000017500000000000013656750351020400 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano.applications/Classes/0000775000175000017500000000000013656750351021775 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano.applications/Classes/baseapps.yaml0000664000175000017500000000410313656750211024450 0ustar zuulzuul00000000000000Namespaces: =: io.murano.applications res: io.murano.resources std: io.murano --- # ------------------------------------------------------------------ # --- # A base class for applications running a single software component on a single # server only Name: SingleServerApplication Extends: - std:Application - SoftwareComponent Properties: server: Contract: $.class(res:Instance).notNull() # this is "private output" property. It is not part of the class interface # and should not be used from outside or by inheritors. It may be removed in # future in favor of attributes _serverGroup: Usage: Out Contract: $.class(SingleServerGroup) Methods: .init: Body: - If: not $this._serverGroup Then: - $this._serverGroup: new(SingleServerGroup, $this, server => $this.server) Else: - If: $this.server != $this._serverGroup.server Then: - $this._serverGroup.setServer($this.server) deploy: Body: - $this.deployAt($this._serverGroup) --- # ------------------------------------------------------------------ # --- # A base class for applications running a single software component on multiple # servers Name: MultiServerApplication Extends: - std:Application - SoftwareComponent Properties: servers: Contract: $.class(ServerGroup).notNull() Methods: deploy: Body: - $this.deployAt($this.servers) --- # ------------------------------------------------------------------ # --- # A base class for applications running a single software component on multiple # servers which should support scale-out and scale-in scenarios Name: MultiServerApplicationWithScaling Extends: MultiServerApplication Properties: servers: Contract: $.class(ServerReplicationGroup).notNull() scaleFactor: Contract: $.int().check($ > 0) Default: 1 Methods: scaleOut: Scope: Public Body: - $this.servers.scale($this.scaleFactor) - $this.deploy() scaleIn: Scope: Public Body: - $this.servers.scale(-1 * $this.scaleFactor) - $this.deploy() murano-9.0.0/meta/io.murano.applications/Classes/component.yaml0000664000175000017500000003143513656750211024664 0ustar zuulzuul00000000000000Namespaces: =: io.murano.applications std: io.murano res: io.murano.resources m: io.murano.metadata.engine --- # ------------------------------------------------------------------ # --- Name: Installable Properties: allowedInstallFailures: Contract: $.string().notNull().check($ in ['none', 'one', 'two', 'three', 'any', 'quorum']) Default: 'none' beforeInstallEvent: Contract: $.class(Event).notNull() Usage: Runtime Default: name: beforeInstall installServerEvent: Contract: $.class(Event).notNull() Usage: Runtime Default: name: installServer completeInstallationEvent: Contract: $.class(Event).notNull() Usage: Runtime Default: name: completeInstallation Methods: install: Arguments: - serverGroup: Contract: $.class(ServerGroup).notNull() Body: - $serversToInstall: $serverGroup.getServers().pselect( switch($this.checkServerIsInstalled($) => null, true => $)).where($ != null) - If: any($serversToInstall) Then: - $.beforeInstall($serversToInstall, $serverGroup) - $failures: $serversToInstall.pselect($this.installServer($, $serverGroup)).where($ != null) - $.completeInstallation($serversToInstall, $serverGroup, $failures) checkServerIsInstalled: Meta: - m:Synchronize: onArgs: server Arguments: - server: Contract: $.class(res:Instance) Body: - Return: $server.getAttr(installed, false) beforeInstall: Arguments: - servers: Contract: - $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() Body: - $this.report(format('Installing {0}', name($this))) - $this.beforeInstallEvent.notify($this, $servers, $serverGroup) - $this.onBeforeInstall($servers, $serverGroup) onBeforeInstall: Arguments: - servers: Contract: - $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() installServer: Meta: - m:Synchronize: onArgs: server Arguments: - server: Contract: $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() Body: Try: - $this.report(format('Began installing {0} on {1}', name($this), $server.name)) - $this.installServerEvent.notify($this, $server, $serverGroup) - $this.onInstallServer($server, $serverGroup) Catch: - As: e Do: - $this.report(format('Unable to install {0} on {1} due to {2}', name($this), $server.name, $e.message)) - Return: $server Else: - $this.report(format('{0} is installed on {1}', name($this), $server.name)) - $server.setAttr(installed, true) - Return: null onInstallServer: Meta: - m:Synchronize: onArgs: server Arguments: - server: Contract: $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() completeInstallation: Arguments: - servers: Contract: - $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() - failedServers: Contract: - $.class(res:Instance).notNull() Body: - $success: :SoftwareComponent.detectSuccess($this.allowedInstallFailures, $serverGroup, $failedServers) - If: $success Then: - $this.completeInstallationEvent.notify($this, $servers, $serverGroup, $failedServers) - $this.onCompleteInstallation($servers, $serverGroup, $failedServers) - $this.report(format('Finished installing {0} ({1} errors encountered)', name($this), len($failedServers) or 'no')) Else: - Throw: TooManyInstallationErrors Message: format('Too many errors ({0}) encountered while installing {1}', len($failedServers), name($this)) onCompleteInstallation: Arguments: - servers: Contract: - $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() - failedServers: Contract: - $.class(res:Instance).notNull() report: Arguments: - message: Contract: $.string().notNull() Body: - $env: $this.find(std:Environment) - If: $env Then: - $env.reporter.report($this, $message) --- # ------------------------------------------------------------------ # --- Name: Configurable Properties: allowedConfigurationFailures: Contract: $.string().notNull().check($ in ['none', 'one', 'two', 'three', 'any', 'quorum']) Default: 'none' preConfigureEvent: Contract: $.class(Event).notNull() Usage: Runtime Default: name: preConfigure configureServerEvent: Contract: $.class(Event).notNull() Usage: Runtime Default: name: configureServer completeConfigurationEvent: Contract: $.class(Event).notNull() Usage: Runtime Default: name: completeConfiguration Methods: .init: Body: - $this._randomName: randomName() configure: Arguments: - serverGroup: Contract: $.class(ServerGroup).notNull() Body: - If: $this.checkClusterIsConfigured($serverGroup) Then: - Return: - $serversToConfigure: $serverGroup.getServers().pselect( switch($this.checkServerIsConfigured($, $serverGroup) => null, true => $)).where($ != null) - $this.preConfigure($serversToConfigure, $serverGroup) - $failures: $serversToConfigure.pselect($this.configureServer($, $serverGroup)).where($ != null) - $.completeConfiguration($serversToConfigure, $serverGroup, $failures) checkClusterIsConfigured: Arguments: - serverGroup: Contract: $.class(ServerGroup).notNull() Body: - $key: list($this.getConfigurationKey()) + $serverGroup.getKey() - $state: $serverGroup.getAttr(configuration) - Return: $key = $state checkServerIsConfigured: Meta: - m:Synchronize: onArgs: server Arguments: - server: Contract: $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() Body: - $key: $this.getConfigurationKey() - $state: $server.getAttr(configuration, null) - Return: $key = $state getConfigurationKey: Body: # should be redefined in subclasses to contain semantical signature # of the object's configuration - Return: $this._randomName preConfigure: Arguments: - servers: Contract: - $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() Body: - $this.report(format('Applying configuration of {0}', name($this))) - $this.configureSecurity($servers, $serverGroup) - $this.preConfigureEvent.notify($this, $servers, $serverGroup) - $this.onPreConfigure($servers, $serverGroup) configureSecurity: Arguments: - servers: Contract: - $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() onPreConfigure: Arguments: - servers: Contract: - $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() configureServer: Meta: - m:Synchronize: onArgs: server Arguments: - server: Contract: $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() Body: - Try: - $this.report(format('Began configuring {0} on {1}', name($this), $server.name)) - $this.configureServerEvent.notify($this, $server, $serverGroup) - $this.onConfigureServer($server, $serverGroup) Catch: - As: e Do: - $this.report(format('Unable to configure {0} on {1} due to {2}', name($this), $server.name, $e.message)) - Return: $server Else: - $key: $this.getConfigurationKey() - $server.setAttr(configuration, $key) - $this.report(format('{0} is configured at {1}', name($this), $server.name)) - Return: null onConfigureServer: Meta: - m:Synchronize: onArgs: server Arguments: - server: Contract: $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() completeConfiguration: Arguments: - servers: Contract: - $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() - failedServers: Contract: - $.class(res:Instance).notNull() Body: - $success: :SoftwareComponent.detectSuccess($this.allowedConfigurationFailures, $serverGroup, $failedServers) - If: $success Then: - $this.completeConfigurationEvent.notify($this, $servers, $serverGroup, $failedServers) - $this.onCompleteConfiguration($servers, $serverGroup, $failedServers) - $key: list($this.getConfigurationKey()) + $serverGroup.getKey() - $serverGroup.setAttr(configuration, $key) - $this.report(format('Finished configuring {0} ({1} errors encountered)', name($this), $numFailures or 'no')) Else: - Throw: TooManyConfigurationErrors Message: format('Too many errors ({0}) encountered while configuring {1}', $numFailures, name($this)) onCompleteConfiguration: Arguments: - servers: Contract: - $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() - failedServers: Contract: - $.class(res:Instance).notNull() report: Arguments: - message: Contract: $.string().notNull() Body: - $env: $this.find(std:Environment) - If: $env Then: - $env.reporter.report($this, $message) --- # ------------------------------------------------------------------ # --- Name: OpenStackSecurityConfigurable Extends: Configurable Methods: configureSecurity: Arguments: - servers: Contract: - $.class(res:Instance).notNull() - serverGroup: Contract: $.class(ServerGroup).notNull() Body: - $sr: $this.getSecurityRules() - If: $sr Then: - $regions: $servers.select($.getRegion()).distinct() - $regions.pselect($this._configureSecurityGroup($, $sr)) _configureSecurityGroup: Usage: Static Arguments: - region: Contract: $.class(std:CloudRegion).notNull() - rules: Contract: - FromPort: $.int().notNull() ToPort: $.int().notNull() IpProtocol: $.string().notNull() External: $.bool().notNull() Ethertype: $.string().check($ in list(null, 'IPv4', 'IPv6')) Body: - $region.securityGroupManager.addGroupIngress($rules) - $region.stack.push() getSecurityRules: Body: - Return: {} --- # ------------------------------------------------------------------ # --- Name: SoftwareComponent Extends: - Installable - Configurable Methods: deployAt: Arguments: - serverGroup: Contract: $.class(ServerGroup).notNull() Body: - $serverGroup.deploy() - $this.install($serverGroup) - $this.configure($serverGroup) report: Arguments: - message: Contract: $.string().notNull() Body: - cast($this, Installable).report($message) detectSuccess: Usage: Static Arguments: - allowedFailures: Contract: $.string().notNull().check($ in ['none', 'one', 'two', 'three', 'any', 'quorum']) - serverGroup: Contract: $.class(ServerGroup).notNull() - failedServers: Contract: - $.class(res:Instance).notNull() Body: - $numFailures: len($failedServers) - Match: none: - Return: $numFailures = 0 one: - Return: $numFailures <= 1 two: - Return: $numFailures <= 2 three: - Return: $numFailures <= 3 any: - Return: true quorum: - $numServers: $serverGroup.getServers().count() - $maxFailures: $numServers - ($numServers/2 + 1) - Return: $numFailures <= $maxFailures Value: $allowedFailures murano-9.0.0/meta/io.murano.applications/Classes/events.yaml0000664000175000017500000000616213656750211024165 0ustar zuulzuul00000000000000 Namespaces: =: io.murano.applications std: io.murano py: # empty, for python-originating exceptions --- # ------------------------------------------------------------------ # --- Name: Event Properties: name: Contract: $.string().notNull() Methods: .init: Body: - $this._handlers: {} subscribe: Arguments: - subscriber: Contract: $.class(std:Object).notNull() - methodName: Contract: $.string() Body: - If: not $methodName Then: - $methodName: format('handle{0}', $this.name.substring(0,1).toUpper()+ $this.name.substring(1)) - Try: - $method: typeinfo($subscriber).methods.where($.name = $methodName).single() Catch: With: py:StopIteration Do: - Throw: NoHandlerMethodException Message: format('Unknown method {0} for receiver {1} to handle event {2}', $methodName, $subscriber, $this.name) # This check ensures that the method passed as a handler has at least one # standard (i.e. non vararg or kwarg) argument which is supposed to be # "sender" object of the event. # Although having the sender in the handler is not always nessesary it's # still better to enforce its presence since it helps to prevent many # hard-to-debug errors - If: not $method.arguments.where($.usage=Standard).any() Then: - Throw: WrongHandlerMethodException Message: format("Method {0} of handler {1} should accept at least a 'sender' argument to handle event {2}", $methodName, $subscriber, $this.name) - $key: list($subscriber, $methodName) - $this._handlers[$key]: $this._handlers.get($key, 0) + 1 unsubscribe: Arguments: - subscriber: Contract: $.class(std:Object).notNull() - methodName: Contract: $.string() Body: - If: not $methodName Then: - $methodName: format('handle{0}', $this.name.substring(0,1).toUpper()+ $this.name.substring(1)) - $key: list($subscriber, $methodName) - If: $key in $this._handlers.keys() Then: - $this._handlers[$key]: $this._handlers[$key] - 1 - If: $this._handlers[$key] = 0 Then: - $this._handlers: $this._handlers.delete($key) notify: Arguments: - sender: Contract: $.notNull() - args: Contract: $ Usage: VarArgs - kwargs: Contract: $ Usage: KwArgs Body: - $combinedArgs: list($sender) + $args - $this._handlers.keys().select(call($[1], $combinedArgs, $kwargs, $[0])) notifyInParallel: Arguments: - sender: Contract: $.notNull() - args: Contract: $ Usage: VarArgs - kwargs: Contract: $ Usage: KwArgs Body: - $combinedArgs: list($sender) + $args - $this._handlers.keys().pselect(call($[1], $combinedArgs, $kwargs, $[0])) murano-9.0.0/meta/io.murano.applications/Classes/tests/0000775000175000017500000000000013656750351023137 5ustar zuulzuul00000000000000murano-9.0.0/meta/io.murano.applications/Classes/tests/TestReplication.yaml0000664000175000017500000001344513656750211027136 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.applications.tests tst: io.murano.test std: io.murano apps: io.murano.applications --- # ------------------------------------------------------------------ # --- Name: Replica Properties: name: Contract: $.string() --- # ------------------------------------------------------------------ # --- Name: DummyReplicaProvider Extends: apps:ReplicaProvider Properties: allocated: Usage: InOut Contract: $.int() Default: 0 Methods: createReplica: Arguments: - index: Contract: $.int() - owner: Contract: $.class(std:Object) Body: - $replica: new(Replica, name => format('replica-{0}', $index)) - $this.allocated: $this.allocated + 1 - Return: $replica releaseReplicas: Arguments: replicas: Contract: - $ Body: - $this.allocated: $this.allocated - len($replicas) --- # ------------------------------------------------------------------ # --- Name: TestReplication Extends: tst:TestFixture Methods: setUp: Body: - $this.provider: new(DummyReplicaProvider) testCreateDefault: Body: - $group: new(apps:ReplicationGroup, provider => $this.provider) - $group.deploy() - $.assertEqual(1, len($group.items)) - $.assertEqual(1, $this.provider.allocated) - $.assertEqual('replica-1', $group.items[0].name) testCreateMultiple: Body: - $group: new(apps:ReplicationGroup, provider => $this.provider, numItems => 5) - $group.deploy() - $.assertEqual(5, len($group.items)) testScale: Body: - $group: new(apps:ReplicationGroup, provider => $this.provider) - $group.deploy() - $.assertEqual(1, len($group.items)) - $group.scale(1) - $.assertEqual(2, len($group.items)) - $.assertEqual(2, $this.provider.allocated) - $group.scale(-1) - $.assertEqual(1, len($group.items)) - $.assertEqual(1, $this.provider.allocated) --- # ------------------------------------------------------------------ # --- Name: TestPoolReplicaProvider Extends: tst:TestFixture Methods: setUp: Body: - $this.object1: new(std:Object) - $this.object2: new(std:Object) - $this.provider: new(apps:PoolReplicaProvider, pool => [$this.object1, $this.object2]) testReplicas: Body: - $.assertEqual(2, len($this.provider.pool)) - $.assertEqual(0, len($this.provider.consumedItems)) - $obj: $this.provider.createReplica(1, $this) - $.assertEqual($this.object1, $obj) - $.assertEqual(2, len($this.provider.pool)) - $.assertEqual(1, len($this.provider.consumedItems)) - $obj: $this.provider.createReplica(2, $this) - $.assertEqual($this.object2, $obj) - $.assertEqual(2, len($this.provider.pool)) - $.assertEqual(2, len($this.provider.consumedItems)) - $obj: $this.provider.createReplica(3, $this) - $.assertEqual(null, $obj) - $.assertEqual(2, len($this.provider.pool)) - $.assertEqual(2, len($this.provider.consumedItems)) testReleaseReplicas: Body: - $obj: $this.provider.createReplica(1, $this) - $.assertEqual(1, len($this.provider.consumedItems)) - $foreignObj: new(std:Object) - $res: $this.provider.releaseReplicas([$obj, $this.object1, $this.object2, $foreignObj]) - $.assertEqual(0, len($this.provider.consumedItems)) - $.assertEqual([$this.object2, $foreignObj], $res) - $this.testReplicas() --- # ------------------------------------------------------------------ # --- Name: TestRoundrobinReplicaProvider Extends: tst:TestFixture Methods: setUp: Body: - $this.object1: new(std:Object) - $this.object2: new(std:Object) - $this.provider: new(apps:RoundrobinReplicaProvider, items => [$this.object1, $this.object2]) testReplicas: Body: - $obj: $this.provider.createReplica(1, $this) - $.assertEqual($this.object1, $obj) - $obj: $this.provider.createReplica(2, $this) - $.assertEqual($this.object2, $obj) - $obj: $this.provider.createReplica(3, $this) - $.assertEqual($this.object1, $obj) - $obj: $this.provider.createReplica(4, $this) - $.assertEqual($this.object2, $obj) --- # ------------------------------------------------------------------ # --- Name: TestCompositeReplicaProvider Extends: tst:TestFixture Methods: setUp: Body: - $this.objects: range(4).select(new(std:Object)) - $this.object2: new(std:Object) - $this.provider1: new(apps:PoolReplicaProvider, pool => [$this.objects[0], $this.objects[1]]) - $this.provider2: new(apps:RoundrobinReplicaProvider, items => [$this.objects[2], $this.objects[3]]) - $this.provider: new(apps:CompositeReplicaProvider, providers => [$this.provider1, $this.provider2]) testReplicas: Body: - $obj: $this.provider.createReplica(1, $this) - $.assertEqual($this.objects[0], $obj) - $obj: $this.provider.createReplica(2, $this) - $.assertEqual($this.objects[1], $obj) - $obj: $this.provider.createReplica(3, $this) - $.assertEqual($this.objects[2], $obj) - $obj: $this.provider.createReplica(4, $this) - $.assertEqual($this.objects[3], $obj) - $obj: $this.provider.createReplica(5, $this) - $.assertEqual($this.objects[2], $obj) murano-9.0.0/meta/io.murano.applications/Classes/tests/TestEvents.yaml0000664000175000017500000001623713656750211026133 0ustar zuulzuul00000000000000Namespaces: =: io.murano.applications.tests tst: io.murano.test apps: io.murano.applications --- # ------------------------------------------------------------------ # --- Name: TestSubscriber Properties: called: Usage: Runtime Default: 0 Contract: $.int() lastSender: Usage: Runtime Contract: $ lastFoo: Usage: Runtime Contract: $ lastBar: Usage: Runtime Contract: $ Methods: handleFoo: Arguments: - sender: Contract: $.notNull() - foo: Contract: $ - bar: Contract: $ Body: - $this.called: $this.called + 1 - $this.lastFoo: $foo - $this.lastBar: $bar - $this.lastSender: $sender handleWithNoExtraArgs: Arguments: - sender: Contract: $.notNull() Body: - $this.called: $this.called + 1 - $this.lastSender: $sender noArgsMethod: Body: varArgsKwArgsOnlyMethod: Arguments: - args: Usage: VarArgs Contract: $ - kwargs: Usage: KwArgs Contract: $ Body: reset: Body: - $this.called: 0 - $this.lastSender: null - $this.lastFoo: null - $this.lastBar: null --- # ------------------------------------------------------------------ # --- Name: TestEmitter Properties: foo: Usage: Runtime Contract: $.class(apps:Event).notNull() Default: name: foo Methods: onFoo: Body: - $this.foo.notify($this) --- # ------------------------------------------------------------------ # --- Name: TestEvents Extends: tst:TestFixture Methods: testSubscribeAndNotify: Body: - $subscriber: new(TestSubscriber) - $event: new(apps:Event, name=>testEvent) - $event.subscribe($subscriber, handleFoo) - $event.notify($this, 'Hello Events', 42) - $this.assertEqual(1, $subscriber.called) - $this.assertEqual('Hello Events', $subscriber.lastFoo) - $this.assertEqual(42, $subscriber.lastBar) - $event.notify($this) - $this.assertEqual(2, $subscriber.called) testNotifyWithNoSubscribers: Body: - $event: new(apps:Event, name=>testEvent) - $event.notify($this) testUnableToNotifyWithUnexpectedArgs: Body: - $subscriber: new(TestSubscriber) - $event: new(apps:Event, name=>testEvent) - $event.subscribe($subscriber, handleFoo) - $event.notify($this) - $cought: false - Try: - $event.notify($this, qux=>1, baz=>2) Catch: With: 'yaql.language.exceptions.NoMatchingMethodException' Do: - $cought: true - $this.assertTrue($cought) testUnsubscribe: Body: - $subscriber: new(TestSubscriber) - $event: new(apps:Event, name=>testEvent) - $event.subscribe($subscriber, handleFoo) - $event.notify($this) - $this.assertEqual(1, $subscriber.called) - $event.unsubscribe($subscriber, handleFoo) - $event.notify($this) - $this.assertEqual(1, $subscriber.called) testSubscribeManyNotifyOnce: Body: - $subscriber: new(TestSubscriber) - $event: new(apps:Event, name=>testEvent) - $event.subscribe($subscriber, handleFoo) - $event.subscribe($subscriber, handleFoo) - $event.subscribe($subscriber, handleFoo) - $event.subscribe($subscriber, handleFoo) - $event.subscribe($subscriber, handleFoo) - $event.notify($this) - $this.assertEqual(1, $subscriber.called) testUnsubscribeAsManyAsSubscribe: Body: - $subscriber: new(TestSubscriber) - $event: new(apps:Event, name=>testEvent) - $event.subscribe($subscriber, handleFoo) - $event.subscribe($subscriber, handleFoo) - $event.subscribe($subscriber, handleFoo) - $event.notify($this) - $this.assertEqual(1, $subscriber.called) - $subscriber.reset() - $event.unsubscribe($subscriber, handleFoo) - $event.notify($this) - $this.assertEqual(1, $subscriber.called) - $subscriber.reset() - $event.unsubscribe($subscriber, handleFoo) - $event.notify($this) - $this.assertEqual(1, $subscriber.called) - $subscriber.reset() - $event.unsubscribe($subscriber, handleFoo) - $event.notify($this) - $this.assertEqual(0, $subscriber.called) testSubscribeSimple: Body: - $event: new(apps:Event, name=>foo) - $subscriber: new(TestSubscriber) - $event.subscribe($subscriber) - $event.notify($this) - $this.assertEqual(1, $subscriber.called) testHandleWithNoExtraArgs: Body: - $event: new(apps:Event, name=>foo) - $subscriber: new(TestSubscriber) - $event.subscribe($subscriber, handleWithNoExtraArgs) - $event.notify($this) - $this.assertEqual(1, $subscriber.called) - $this.assertEqual($this, $subscriber.lastSender) testUnableToSubscribeWithWrongMethod: Body: - $event: new(apps:Event, name=>testEvent) - $subscriber: new(TestSubscriber) - $cought: false - Try: - $event.subscribe($subscriber, handleBar) Catch: With: apps:NoHandlerMethodException Do: - $cought: true - $this.assertTrue($cought) testUnableToSubscribeWithWrongSimpleMethod: Body: - $event: new(apps:Event, name=>testEvent) - $subscriber: new(TestSubscriber) - $cought: false - Try: - $event.subscribe($subscriber) Catch: With: apps:NoHandlerMethodException Do: - $cought: true - $this.assertTrue($cought) testUnableToSubscribeWithoutSender: Body: - $event: new(apps:Event, name=>testEvent) - $subscriber: new(TestSubscriber) - $cought: false - Try: - $event.subscribe($subscriber, noArgsMethod) Catch: With: apps:WrongHandlerMethodException Do: - $cought: true - $this.assertTrue($cought) testUnableToSubscribeWithoutStandardArgs: Body: - $event: new(apps:Event, name=>testEvent) - $subscriber: new(TestSubscriber) - $cought: false - Try: - $event.subscribe($subscriber, varArgsKwArgsOnlyMethod) Catch: With: apps:WrongHandlerMethodException Do: - $cought: true - $this.assertTrue($cought) testMultipleSubscribers: Body: - $subscriber1: new(TestSubscriber) - $subscriber2: new(TestSubscriber) - $event: new(apps:Event, name=>testEvent) - $event.subscribe($subscriber1, handleFoo) - $event.subscribe($subscriber2, handleFoo) - $event.notify($this, 'Hello Events', 42) - $this.assertEqual(1, $subscriber1.called) - $this.assertEqual('Hello Events', $subscriber1.lastFoo) - $this.assertEqual(42, $subscriber1.lastBar) - $this.assertEqual(1, $subscriber2.called) - $this.assertEqual('Hello Events', $subscriber2.lastFoo) - $this.assertEqual(42, $subscriber2.lastBar) testEmitterWithEvent: Body: - $emitter: new(TestEmitter) - $subscriber: new(TestSubscriber) - $emitter.foo.subscribe($subscriber) - $emitter.onFoo() - $this.assertEqual(1, $subscriber.called) - $this.assertEqual($emitter, $subscriber.lastSender) murano-9.0.0/meta/io.murano.applications/Classes/tests/TestSoftwareComponent.yaml0000664000175000017500000001006713656750211030337 0ustar zuulzuul00000000000000Namespaces: =: io.murano.applications.tests tst: io.murano.test apps: io.murano.applications res: io.murano.resources --- # ------------------------------------------------------------------ # --- Name: InstallableToTest Extends: - apps:Installable --- # ------------------------------------------------------------------ # --- Name: ConfigurableToTest Extends: - apps:Configurable --- # ------------------------------------------------------------------ # --- Name: SoftwareComponentToTest Extends: - apps:SoftwareComponent --- # ------------------------------------------------------------------ # --- Name: TestSoftwareComponent Extends: tst:TestFixtureWithEnvironment Properties: reports: Contract: - $.string() Usage: Out Default: [] Methods: report: Arguments: - server: Contract: $ - message: Contract: $.string() Body: - $this.reports: $this.reports.append($message) setUp: Body: - super($this, $.setUp()) - inject(res:LinuxMuranoInstance, beginDeploy, '') - inject(res:LinuxMuranoInstance, endDeploy, '') - $server: new(res:LinuxMuranoInstance, $this.environment, name => 'noop', image => 'noop', flavor => 'noop') - $provider: new(apps:TemplateServerProvider, $this.environment, template => $server, serverNamePattern => 'testNode-{0}') - $this.group: new(apps:ServerReplicationGroup, $this.environment, provider => $provider, numItems => 5) - $this.group.deploy() - $this.reports: [] - inject($this.environment.reporter, report, $this, report) testInstallReportingSequence: Body: - $cmp: new(InstallableToTest, $this.environment, testComp) - $cmp.install($this.group) - $this.assertInstallingSequence(0) testConfigureReportingSequence: Body: - $cmp: new(ConfigurableToTest, $this.environment, testComp) - $cmp.configure($this.group) - $this.assertConfiguringSequence(0) testCombinedSequence: Body: - $cmp: new(SoftwareComponentToTest, $this.environment, testComp) - $cmp.deployAt($this.group) - $this.assertProvisioningSequence(0) - $this.assertInstallingSequence($this.group.numItems) - $this.assertConfiguringSequence(3 * $this.group.numItems + 2) assertProvisioningSequence: Arguments: - offset: Contract: $.int().notNull() Body: - $this.assertEqual( range(1, $this.group.numItems + 1).select('Provisioning VM for Server {0}'.format($)), $this.reports.skip($offset).take($this.group.numItems)) assertInstallingSequence: Arguments: - offset: Contract: $.int().notNull() Body: - $this.assertEqual('Installing testComp', $this.reports[$offset]) - $nodeReports: range(0, $this.group.numItems * 2).select($this.reports[$offset + 1 + $]) - range(1, $this.group.numItems + 1).select( $this.assertTrue(format('Began installing testComp on testNode-{0}', $) in $nodeReports)) - range(1, $this.group.numItems + 1).select( $this.assertTrue(format('testComp is installed on testNode-{0}', $) in $nodeReports)) - $this.assertEqual('Finished installing testComp (no errors encountered)', $this.reports[$offset + 2 * $this.group.numItems + 1]) assertConfiguringSequence: Arguments: - offset: Contract: $.int().notNull() Body: - $this.assertEqual('Applying configuration of testComp', $this.reports[$offset]) - $nodeReports: range(0, $this.group.numItems * 2).select($this.reports[$offset + 1 + $]) - range(1, $this.group.numItems + 1).select( $this.assertTrue(format('Began configuring testComp on testNode-{0}', $) in $nodeReports)) - range(1, $this.group.numItems + 1).select( $this.assertTrue(format('testComp is configured at testNode-{0}', $) in $nodeReports)) - $this.assertEqual('Finished configuring testComp (no errors encountered)', $this.reports[$offset + 2 * $this.group.numItems + 1]) murano-9.0.0/meta/io.murano.applications/Classes/tests/TestServerProviders.yaml0000664000175000017500000001250513656750211030025 0ustar zuulzuul00000000000000Namespaces: =: io.murano.applications.tests tst: io.murano.test apps: io.murano.applications sys: io.murano.system res: io.murano.resources --- # ------------------------------------------------------------------ # --- Name: TestMockedServerFactory Extends: tst:TestFixtureWithEnvironment Properties: reports: Contract: - $.string() Usage: Out Default: [] Methods: report: Arguments: - server: Contract: $ - message: Contract: $.string() Body: - $this.reports: $this.reports.append($message) heatPushInjection: Body: - $this.currentTemplate: $this.environment.stack.current() - $this.pushCalled: $this.pushCalled + 1 heatOutputInjection: Body: # generate simulated output - $outputKeys: $this.currentTemplate.outputs.keys() - $idIndex: 1000 - $ipIndex: 100 - $ipPrefix: '10.0.0.' - $defaultNetworkName: testNetwork - $output: {} - For: key In: $outputKeys Do: # if output name ends with -id then it is some openstack-id of a resource - If: $key.endsWith('-id') Then: - $output[$key]: $idIndex - $idIndex: $idIndex + 1 # if output name ends with -assigned-ips then it is some ip of a vm - If: $key.endsWith('-assigned-ips') Then: - $output[$key]: $defaultNetworkName: list(format('{0}{1}', $ipPrefix, $ipIndex)) - $ipIndex: $ipIndex + 1 - Return: $output neutronListExtensionsInjection: Body: - Return: - alias: 'security-group' setUp: Body: - $this.currentTemplate: {} - inject(sys:NetworkExplorer, listNeutronExtensions, $this, neutronListExtensionsInjection) - inject(sys:NetworkExplorer, getDefaultRouter, '42') - inject(sys:NetworkExplorer, getAvailableCidr, '10.0.0.0/24') - super($this, $.setUp()) - inject($this.environment.stack, push, $this, heatPushInjection) - inject($this.environment.stack, output, $this, heatOutputInjection) - inject($this.environment.stack, delete, '') - inject(sys:Agent, prepare, '') - inject($this.environment.instanceNotifier, trackCloudInstance, '') - inject($this.environment.instanceNotifier, untrackCloudInstance, '') - $this.reports: [] - inject($this.environment.reporter, report, $this, report) - $this.pushCalled: 0 - $serverTemplate: image: 'murano-latest' flavor: 't1.medium' - $this.provider: new(apps:TemplateServerProvider, template => $serverTemplate, serverNamePattern => 'testNode-{0}') testCreateSingleServer: Body: - $ssg: new(apps:ServerReplicationGroup, $this.environment, provider => $this.provider) - $ssg.deploy() - $this.assertServerCount(1) testServersHaveProperName: Body: - $model: apps:ServerReplicationGroup: numItems: 2 provider: apps:TemplateServerProvider: template: $this.provider.template serverNamePattern: 'testNode-{0}' name: testGroup - $namedSsg: new($model, $this.environment) - $namedSsg.deploy() - $this.assertEqual('Server 1 (testGroup)', name($namedSsg.items[0])) - $this.assertEqual('Server 2 (testGroup)', name($namedSsg.items[1])) testCreateMultipleServers: Body: - $ssg: new(apps:ServerReplicationGroup, $this.environment, provider => $this.provider, numItems => 5) - $ssg.deploy() - $this.assertServerCount(5) testCreateScaleUp: Body: - $ssg: new(apps:ServerReplicationGroup, $this.environment, provider => $this.provider, numItems => 3) - $ssg.deploy() - $this.assertServerCount(3) - $ssg.scale(4) - $ssg.deploy() - $this.assertServerCount(7) testCreateScaleDown: Body: - $ssg: new(apps:ServerReplicationGroup, $this.environment, provider => $this.provider, numItems => 3) - $ssg.deploy() - $this.assertServerCount(3) - $ssg.scale(-2) - $ssg.deploy() - $this.assertServerCount(1) testMultipleServersReporting: Body: - $ssg: new(apps:ServerReplicationGroup, $this.environment, TestGroup, provider => $this.provider, numItems => 3) - $ssg.deploy() - $this.assertEqual('Creating 3 servers for TestGroup', $this.reports[0]) - $ssg.scale(-2) - $this.assertEqual('Removing 2 servers from TestGroup', $this.reports[4]) testMultipleServersReportingNoGroupName: Body: - $ssg: new(apps:ServerReplicationGroup, $this.environment, null, provider => $this.provider, numItems => 3) - $ssg.deploy() - $this.assertEqual('Creating 3 servers', $this.reports[0]) - $ssg.scale(-2) - $this.assertEqual('Removing 2 servers', $this.reports[4]) testNoReportingIfSingleServer: Body: - $ssg: new(apps:ServerReplicationGroup, $this.environment, TestGroup, provider => $this.provider, numItems => 1) - $ssg.deploy() - $this.assertEqual(1, len($this.reports)) assertServerCount: Arguments: - count: Contract: $.int() Body: - $this.assertEqual($count, $this.currentTemplate.resources.values().where( $.type = 'OS::Nova::Server').len()) murano-9.0.0/meta/io.murano.applications/Classes/replication.yaml0000664000175000017500000001251113656750211025165 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.applications std: io.murano --- # ------------------------------------------------------------------ # --- Name: ReplicationGroup Properties: provider: Contract: $.class(ReplicaProvider).notNull() minItems: Contract: $.int().notNull() Default: 0 maxItems: Contract: $.int() Default: null numItems: Usage: InOut Contract: $.int().notNull() Default: 1 items: Usage: Out Contract: - $.class(std:Object) Methods: deploy: Body: # release excessive replicas - $oldItems: $this.items.take($this.numItems) - $itemsToRelease: $this.items.skip($this.numItems) - $this.provider.releaseReplicas($itemsToRelease) - $delta: $this.numItems - len($this.items) - $startIndex: len($this.items) + 1 - $endIndex: $startIndex + $delta - $createdItems: range($startIndex, $endIndex).select( $this.provider.createReplica($, $this)).takeWhile($ != null) - $this.items: $oldItems + $createdItems scale: Arguments: - delta: Contract: $.int().notNull() Default: 1 Body: - $this.numItems: max($this.numItems + $delta, $this.minItems) - If: $this.maxItems != null Then: - $this.numItems: min($this.numItems, $this.maxItems) - $this.deploy() .destroy: Body: - $this.numItems: 0 - $this.deploy() --- # ------------------------------------------------------------------ # --- Name: ReplicaProvider Methods: createReplica: Arguments: - index: Contract: $.int().notNull() - owner: Contract: $.class(std:Object) releaseReplicas: Arguments: replicas: Contract: - $.class(std:Object) Body: Return: $replicas --- # ------------------------------------------------------------------ # --- Name: CloneReplicaProvider Extends: ReplicaProvider Properties: template: Contract: $.template(std:Object).notNull() Methods: createReplica: Arguments: - index: Contract: $.int().notNull() - owner: Contract: $.class(std:Object) Body: - Return: new($this.template, $owner) --- # ------------------------------------------------------------------ # --- # Replica provider that is a composition of other replica providers Name: CompositeReplicaProvider Extends: ReplicaProvider Properties: providers: Contract: - $.class(ReplicaProvider).notNull() Methods: createReplica: Arguments: - index: Contract: $.int().notNull() - owner: Contract: $.class(std:Object) Body: - Return: $this.providers.select($.createReplica($index, $owner)).where($ != null).first(null) releaseReplicas: Arguments: replicas: Contract: - $.class(std:Object) Body: - For: provider In: $this.providers Do: - $replicas: $provider.releaseReplicas($replicas) - If: $replicas = null or not $replicas.any() Then: Break: - Return: $replicas --- # ------------------------------------------------------------------ # --- # A replica provider from the prepopulated pool Name: PoolReplicaProvider Extends: ReplicaProvider Properties: pool: Contract: - $.class(std:Object).notNull() consumedItems: Usage: Out Contract: - $.class(std:Object).notNull() Methods: createReplica: Arguments: - index: Contract: $.int().notNull() - owner: Contract: $.class(std:Object) Body: - $item: $this.pool.where(not $this.consumedItems.contains($)).first(null) - If: $item != null Then: - $this.consumedItems: $this.consumedItems.append($item) - Return: $item releaseReplicas: Arguments: replicas: Contract: - $.class(std:Object) Body: - $poolReplicas: $replicas.where($this.consumedItems.contains($)) - $this.consumedItems: $this.consumedItems.where(not $poolReplicas.contains($)) - Return: $replicas.where(not $poolReplicas.contains($)) --- # ------------------------------------------------------------------ # --- # Replica provider with a load balancing that returns instance from the # prepopulated list. Once the provider runs out of free items it goes to # beginning of the list and returns the same instances again. Name: RoundrobinReplicaProvider Extends: ReplicaProvider Properties: items: Contract: - $.class(std:Object).notNull() - 1 Methods: createReplica: Arguments: - index: Contract: $.int().notNull() - owner: Contract: $.class(std:Object) Body: - $index: $.getAttr(lastIndex, 0) - $.setAttr(lastIndex, ($index + 1) mod len($this.items)) - Return: $this.items[$index] murano-9.0.0/meta/io.murano.applications/Classes/servers.yaml0000664000175000017500000001373513656750211024356 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: io.murano.applications res: io.murano.resources std: io.murano --- # ------------------------------------------------------------------ # --- # A group of Servers Name: ServerGroup Methods: getServers: getKey: Body: - Return: $this.getServers().select(id($)).orderBy($) deployServers: Usage: Static Arguments: - serverGroup: Contract: $.class(ServerGroup) - servers: Contract: - $.class(res:Instance).notNull() Body: - $environment: $serverGroup.find(std:Environment) - $servers.select($this._deployServer($, $environment, $serverGroup)) - $servers.select($.endDeploy()) releaseServers: Usage: Static Arguments: - servers: Contract: - $.class(res:Instance).notNull() Body: - $servers.select($.beginReleaseResources()) - $servers.select($.endReleaseResources()) _deployServer: Usage: Static Arguments: - server: Contract: $.class(res:Instance).notNull() - environment: Contract: $.class(std:Environment) - serverGroup: Contract: $.class(ServerGroup) Body: - If: $environment and not $server.openstackId Then: - $environment.reporter.report($serverGroup, 'Provisioning VM for ' + (name($server) or $server.name)) - $server.beginDeploy() --- # ------------------------------------------------------------------ # --- # A group of prepopulated servers Name: ServerList Extends: ServerGroup Properties: servers: Contract: - $.class(res:Instance).notNull() Methods: deploy: Body: - $this.deployServers($this, $this.servers) .destroy: Body: - $this.releaseServers($this.servers) getServers: Body: Return: $.servers --- # ------------------------------------------------------------------ # --- # Degenrate case of a server group which consists of a single server Name: SingleServerGroup Extends: ServerGroup Properties: server: Contract: $.class(res:Instance).notNull() Methods: setServer: Arguments: - server: Contract: $.class(res:Instance).notNull() Body: - $this.items: $server deploy: Body: - $this.deployServers($this, [$this.server]) .destroy: Body: - $this.releaseServers([$this.server]) getServers: Body: Return: [$.server] --- # ------------------------------------------------------------------ # --- # A replication group aggregating Servers # Adds a logic to concurrently provision and unprovision servers Name: ServerReplicationGroup Extends: - ReplicationGroup - ServerGroup Properties: provider: Contract: $.class(ReplicaProvider).notNull() items: Usage: Out Contract: - $.class(res:Instance) Methods: .init: Body: - $this._env: $.find(std:Environment).require() deploy: Body: - $delta: $this.numItems - len($this.items) - If: abs($delta) > 1 Then: - $verb: switch($delta > 0 => Creating, $delta < 0 => Removing) - $target: switch($delta > 0 => for, $delta < 0 => from) - If: name($this) Then: - $target: format(' {0} {1}', $target, name($this)) Else: - $target: '' - $this._env.reporter.report($this, format('{0} {1} servers{2}', $verb, abs($delta), $target)) - cast($this, ReplicationGroup).deploy() - $this.deployServers($this, $this.items) getServers: Body: Return: $.items --- # ------------------------------------------------------------------ # --- # A server group that composed of other server groups Name: CompositeServerGroup Extends: ServerGroup Properties: serverGroups: Contract: - $.class(ServerGroup).notNull() Methods: deploy: Body: - $this.serverGroups.pselect($.deploy()) getServers: Body: Return: $this.serverGroups.selectMany($.getServers()) --- # ------------------------------------------------------------------ # --- # A replication provider acting as a default factory class for Servers Name: TemplateServerProvider Extends: ReplicaProvider Properties: template: Contract: $.template(res:Instance, excludeProperties => [name]).notNull() serverNamePattern: Contract: $.string().notNull() allocated: Usage: Out Contract: $.int().notNull() Default: 0 capacity: Contract: $.int() Methods: createReplica: Arguments: - index: Contract: $.int().notNull() - owner: Contract: $.class(std:Object) Body: - If: $this.capacity = null or $this.allocated < $this.capacity Then: - $template: $this.template - $template.name: $this.serverNamePattern.format($index) - $ownerGroup: $this.find(ServerGroup) - If: $ownerGroup and name($ownerGroup) Then: - $groupName: format(' ({0})', name($ownerGroup)) Else: - $groupName: '' - $template['?'].name: format('Server {0}{1}', $index, $groupName) - $this.allocated: $this.allocated + 1 - Return: new($template, $owner) Else: - Return: null releaseReplicas: Arguments: replicas: Contract: - $.class(res:Instance) Body: - $replicas.select($.beginReleaseResources()) - $replicas.select($.endReleaseResources()) - $this.allocated: max(0, $this.allocated - len($replicas)) - Return: [] murano-9.0.0/meta/io.murano.applications/manifest.yaml0000664000175000017500000000501413656750211023065 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Format: 1.4 Type: Library FullName: io.murano.applications Name: Application Development Library Description: | Library of base class to develop scalable Applications with MuranoPL Author: Mirantis, Inc. Classes: io.murano.applications.ReplicaProvider: replication.yaml io.murano.applications.ReplicationGroup: replication.yaml io.murano.applications.CloneReplicaProvider: replication.yaml io.murano.applications.CompositeReplicaProvider: replication.yaml io.murano.applications.PoolReplicaProvider: replication.yaml io.murano.applications.RoundrobinReplicaProvider: replication.yaml io.murano.applications.Event: events.yaml io.murano.applications.ServerGroup: servers.yaml io.murano.applications.ServerList: servers.yaml io.murano.applications.CompositeServerGroup: servers.yaml io.murano.applications.SingleServerGroup: servers.yaml io.murano.applications.ServerReplicationGroup: servers.yaml io.murano.applications.TemplateServerProvider: servers.yaml io.murano.applications.Installable: component.yaml io.murano.applications.Configurable: component.yaml io.murano.applications.OpenStackSecurityConfigurable: component.yaml io.murano.applications.SoftwareComponent: component.yaml io.murano.applications.SingleServerApplication: baseapps.yaml io.murano.applications.MultiServerApplication: baseapps.yaml io.murano.applications.MultiServerApplicationWithScaling: baseapps.yaml # Tests io.murano.applications.tests.TestReplication: tests/TestReplication.yaml io.murano.applications.tests.TestPoolReplicaProvider: tests/TestReplication.yaml io.murano.applications.tests.TestRoundrobinReplicaProvider: tests/TestReplication.yaml io.murano.applications.tests.TestCompositeReplicaProvider: tests/TestReplication.yaml io.murano.applications.tests.TestEvents: tests/TestEvents.yaml io.murano.applications.tests.TestMockedServerFactory: tests/TestServerProviders.yaml io.murano.applications.tests.TestSoftwareComponent: tests/TestSoftwareComponent.yaml murano-9.0.0/meta/io.murano.applications/LICENSE0000664000175000017500000002363613656750211021412 0ustar zuulzuul00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. murano-9.0.0/meta/README.rst0000664000175000017500000000067213656750211015473 0ustar zuulzuul00000000000000=================== Murano Core Classes =================== This folder contains common Murano classes combined to *Core Library*. The content of this folder needs to be zipped and imported into Murano. After that Murano applications can be deployed. To find murano-applications and explore how the common classes are used in Murano Applications, please refer to `Murano Application Repository `_ murano-9.0.0/etc/0000775000175000017500000000000013656750351013631 5ustar zuulzuul00000000000000murano-9.0.0/etc/oslo-config-generator/0000775000175000017500000000000013656750351020034 5ustar zuulzuul00000000000000murano-9.0.0/etc/oslo-config-generator/murano.conf0000664000175000017500000000044313656750211022200 0ustar zuulzuul00000000000000[DEFAULT] output_file = etc/murano/murano.conf.sample namespace = keystone_authtoken namespace = murano namespace = oslo.db namespace = oslo.log namespace = oslo.messaging namespace = oslo.middleware.cors namespace = oslo.policy namespace = oslo.service.service namespace = castellan.config murano-9.0.0/etc/oslo-config-generator/murano-cfapi.conf0000664000175000017500000000023513656750211023257 0ustar zuulzuul00000000000000[DEFAULT] output_file = etc/murano/murano-cfapi.conf.sample namespace = keystone_authtoken namespace = murano.cfapi namespace = oslo.db namespace = oslo.log murano-9.0.0/etc/murano/0000775000175000017500000000000013656750351015132 5ustar zuulzuul00000000000000murano-9.0.0/etc/murano/murano-cfapi-paste.ini0000664000175000017500000000215613656750211021325 0ustar zuulzuul00000000000000[pipeline:cloudfoundry] pipeline = cors http_proxy_to_wsgi request_id ext_context authtoken context cloudfoundryapi [filter:context] paste.filter_factory = murano.api.middleware.context:ContextMiddleware.factory #For more information see Auth-Token Middleware with Username and Password #https://docs.openstack.org/keystone/latest/configuration.html#service-catalog [filter:authtoken] paste.filter_factory = keystonemiddleware.auth_token:filter_factory [app:cloudfoundryapi] paste.app_factory = murano.cfapi.router:API.factory [filter:faultwrap] paste.filter_factory = murano.api.middleware.fault:FaultWrapper.factory # Middleware to set x-openstack-request-id in http response header [filter:request_id] paste.filter_factory = oslo_middleware.request_id:RequestId.factory [filter:ext_context] paste.filter_factory = murano.api.middleware.ext_context:ExternalContextMiddleware.factory [filter:cors] paste.filter_factory = oslo_middleware.cors:filter_factory oslo_config_project = murano [filter:http_proxy_to_wsgi] paste.filter_factory = oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory oslo_config_project = murano murano-9.0.0/etc/murano/netconfig.yaml.sample0000664000175000017500000000027013656750211021244 0ustar zuulzuul00000000000000environment: ?: type: io.murano.resources.ExistingNeutronNetwork internalNetworkName: internal # internalSubnetworkName: subnet1 # externalNetworkName: ext_net flat: null murano-9.0.0/etc/murano/README-murano.conf.txt0000664000175000017500000000020013656750211021036 0ustar zuulzuul00000000000000To generate the sample murano.conf file, run the following command from the top level of the murano directory: tox -egenconfig murano-9.0.0/etc/murano/logging.conf.sample0000664000175000017500000000313413656750211020703 0ustar zuulzuul00000000000000[loggers] keys: root,murano,applications [handlers] keys: watchedfile, applications, stderr, stdout, null [formatters] keys: context, default [logger_root] level = WARNING handlers = watchedfile [logger_applications] level = DEBUG handlers = applications qualname = applications [logger_murano] level = INFO handlers = watchedfile qualname = murano [logger_amqp] level = WARNING handlers = stderr qualname = amqp [logger_amqplib] level = WARNING handlers = stderr qualname = amqplib [logger_sqlalchemy] level = WARNING handlers = stderr qualname = sqlalchemy # "level = INFO" logs SQL queries. # "level = DEBUG" logs SQL queries and results. # "level = WARNING" logs neither. (Recommended for production systems.) [logger_eventletwsgi] level = WARNING handlers = stderr qualname = eventlet.wsgi.server [logger_messaging] level = WARNING handlers = stderr qualname = oslo.messaging [handler_null] class = oslo_log.handlers.NullHandler formatter = default args = () [handler_stderr] class = StreamHandler args = (sys.stderr,) formatter = context [handler_stdout] class = StreamHandler args = (sys.stdout,) formatter = context [handler_watchedfile] class: handlers.WatchedFileHandler args: ('murano.log',) formatter: context [handler_applications] class: handlers.WatchedFileHandler args: ('applications.log',) formatter: context [formatter_default] format = %(message)s [formatter_context] class: oslo_log.formatters.ContextFormatter args: (datefmt=datefmt) format: %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user)s %(tenant)s] %(instance)s%(message)s datefmt: %Y-%m-%d %H:%M:%S murano-9.0.0/etc/murano/murano-paste.ini0000664000175000017500000000257613656750211020253 0ustar zuulzuul00000000000000[pipeline:murano] pipeline = cors http_proxy_to_wsgi request_id versionnegotiation faultwrap authtoken context rootapp [filter:context] paste.filter_factory = murano.api.middleware.context:ContextMiddleware.factory #For more information see Auth-Token Middleware with Username and Password #https://docs.openstack.org/keystone/latest/configuration.html#service-catalog [filter:authtoken] paste.filter_factory = keystonemiddleware.auth_token:filter_factory [composite:rootapp] use = egg:Paste#urlmap /: apiversions /v1: apiv1app [app:apiversions] paste.app_factory = murano.api.versions:create_resource [app:apiv1app] paste.app_factory = murano.api.v1.router:API.factory [filter:versionnegotiation] paste.filter_factory = murano.api.middleware.version_negotiation:VersionNegotiationFilter.factory [filter:faultwrap] paste.filter_factory = murano.api.middleware.fault:FaultWrapper.factory # Middleware to set x-openstack-request-id in http response header [filter:request_id] paste.filter_factory = oslo_middleware.request_id:RequestId.factory [filter:ext_context] paste.filter_factory = murano.api.middleware.ext_context:ExternalContextMiddleware.factory [filter:cors] paste.filter_factory = oslo_middleware.cors:filter_factory oslo_config_project = murano [filter:http_proxy_to_wsgi] paste.filter_factory = oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory oslo_config_project = murano murano-9.0.0/etc/oslo-policy-generator/0000775000175000017500000000000013656750351020066 5ustar zuulzuul00000000000000murano-9.0.0/etc/oslo-policy-generator/murano-policy-generator.conf0000664000175000017500000000011113656750211025503 0ustar zuulzuul00000000000000[DEFAULT] output_file = etc/murano.policy.yaml.sample namespace = murano murano-9.0.0/HACKING.rst0000664000175000017500000000100713656750211014645 0ustar zuulzuul00000000000000Style Commandments ================== Read the OpenStack Style Commandments https://docs.openstack.org/hacking/latest/ Murano Specific Commandments ---------------------------- - [M318] Change assertEqual(A, None) or assertEqual(None, A) by optimal assert like assertIsNone(A) - [M322] Method's default argument shouldn't be mutable. - [M323] Python 3: do not use dict.iteritems. - [M324] Python 3: do not use dict.iterkeys. - [M325] Python 3: do not use dict.itervalues. - [M326] Python 3: do not use basestring. murano-9.0.0/releasenotes/0000775000175000017500000000000013656750351015547 5ustar zuulzuul00000000000000murano-9.0.0/releasenotes/notes/0000775000175000017500000000000013656750351016677 5ustar zuulzuul00000000000000murano-9.0.0/releasenotes/notes/enable-hot-for-glare-8026f2dccad1732e.yaml0000664000175000017500000000046513656750212025744 0ustar zuulzuul00000000000000--- fixes: - Fixed a bug when the UI dialog was not displayed in Murano Dashboard for applications which don't have UI definitions bundled in the package but generate them based on the package contents instead. This usually affected HOT-based packages and other non-muranopl-based applications. murano-9.0.0/releasenotes/notes/public-template-a8853ac02dcf9396.yaml0000664000175000017500000000037113656750212025073 0ustar zuulzuul00000000000000--- features: - Added public field to environment templates. GET method for api now displays public templates from other projects(tenants). - Added public filter to environment templates api. - Added clone action to environment templates. murano-9.0.0/releasenotes/notes/application_catalog-to-application-catalog-f61d12454a557f79.yaml0000664000175000017500000000046713656750212032202 0ustar zuulzuul00000000000000--- fixes: - Murano is now able to work with keystone configured to use a templated catalog. upgrade: - When updating to Mitaka, the operator should update service name and type for endpoint in keystone from "application_catalog" to "application-catalog" if SQL is used for catalog back-end driver. murano-9.0.0/releasenotes/notes/delete-app-in-env-template-d8e07d3b860f0441.yaml0000664000175000017500000000020513656750212026732 0ustar zuulzuul00000000000000fixes: - API call for deleting a service from environment template did not return result of its operation. The issue is fixed. murano-9.0.0/releasenotes/notes/muranopl-forms-4a3fb8153f26bbcf.yaml0000664000175000017500000000062213656750212025111 0ustar zuulzuul00000000000000--- features: - Added a new engine RPC call to generate json-schema from MuranoPL class. The schema may be generated either from the entire class or for specific model builders - static actions that can be used to generate object model from their input. Class schema is built by inspecting class properties and method schema using the same algorithm but applied to its arguments. murano-9.0.0/releasenotes/notes/multiple-api-workers-60492ddc2e3ff0aa.yaml0000664000175000017500000000055213656750212026222 0ustar zuulzuul00000000000000--- features: - Added the ``api_workers`` option to ``murano`` config group. It controls the number of API workers launched by murano. If not set, it would default to the number of CPUs available. deprecations: - Renamed the ``workers`` option from the ``engine`` group to ``engine_workers`` to reduce ambiguity with the ``api_workers`` option. murano-9.0.0/releasenotes/notes/.placeholder0000664000175000017500000000000013656750212021144 0ustar zuulzuul00000000000000murano-9.0.0/releasenotes/notes/script-line-endings-db632db9e24237a3.yaml0000664000175000017500000000034113656750212025643 0ustar zuulzuul00000000000000--- fixes: - Whenever murano-engine accesses script files, text script files are opened in 'rU' mode which recognizes all types of newlines, and binary files are opened in 'rb' mode to prevent their corruption. murano-9.0.0/releasenotes/notes/fix-1528452-0e3bcee9bba89ffa.yaml0000664000175000017500000000014513656750212023775 0ustar zuulzuul00000000000000fixes: - Fixed incorrect murano behaviour if deployed on devstack with keystone v3 by default. murano-9.0.0/releasenotes/notes/operator-is-9b2b554d3487924d.yaml0000664000175000017500000000020413656750212024106 0ustar zuulzuul00000000000000--- features: - New operator *is* was added to MuranoPL. Now it is possible to test if MuranoPL object is of particular type. murano-9.0.0/releasenotes/notes/tag-heat-stacks-3345eb1bda531a6f.yaml0000664000175000017500000000025613656750212025023 0ustar zuulzuul00000000000000--- features: - Heat stacks created by murano during environment deployment now have 'murano' tag by default. This is controlled by ``stack_tags`` config parameter.murano-9.0.0/releasenotes/notes/bug-1690179-375599ff3e8f2cd9.yaml0000664000175000017500000000033013656750212023435 0ustar zuulzuul00000000000000--- fixes: - | Remove hardcoded constant called 'ITERATORS_LIMIT', that can be exceeded (2000) having big amount of objects. Introduce dsl_iterators_limit configuration option instead of constant. murano-9.0.0/releasenotes/notes/hot-outputs-merge-eeb9d12356560b48.yaml0000664000175000017500000000033713656750212025332 0ustar zuulzuul00000000000000--- features: - All HOT template outputs are put into a single dictionary property 'templateOutputs' rather than in a generated property per each output. As a result there are no more constraints on output names. murano-9.0.0/releasenotes/notes/extension-methods-f674c2d342670e95.yaml0000664000175000017500000000131013656750212025315 0ustar zuulzuul00000000000000--- features: - > New method type: extension methods. Extension methods enable you to "add" methods to existing types without modifying the original type. Extension methods are a special kind of static method, but they are called as if they were instance methods on the extended type. Extension methods are identified by "Usage: Extension" and the type they extend is determined by their first argument contract. Thus such methods must have at lease one parameter. - > New type-level keyword "Import" which can be either list or scalar that specifies type names which extensions methods should be imported into class context and thus become available to type members. murano-9.0.0/releasenotes/notes/safeloader-cve-2016-4972-19035a2a091ec30a.yaml0000664000175000017500000000062513656750212025544 0ustar zuulzuul00000000000000--- security: - cve-2016-4972 has been addressed. In ceveral places Murano used loaders inherited directly from yaml.Loader when parsing MuranoPL and UI files from packages. This is unsafe, because this loader is capable of creating custom python objects from specifically constructed yaml files. With this change all yaml loading operations are done using safe loaders instead. murano-9.0.0/releasenotes/notes/message-signing-07b09e541c2d94d6.yaml0000664000175000017500000000045513656750212025001 0ustar zuulzuul00000000000000--- features: - | Murano engine can be configured to sign all the RabbitMQ messages sent to the agents. When the RSA key is provided, engine will provide agents with its public part and sign all the messages sent. Agents then will ignore any command that was not sent by the engine. murano-9.0.0/releasenotes/notes/region-aware-shared-ip-4441113c7cdd3c62.yaml0000664000175000017500000000014213656750212026130 0ustar zuulzuul00000000000000--- fixes: - Fixed 'io.murano.SharedIp' class to properly wotk in muti-region environments. murano-9.0.0/releasenotes/notes/csar-template-plugin-f1682bfee213ae37.yaml0000664000175000017500000000021313656750212026104 0ustar zuulzuul00000000000000--- features: - New plugin 'murano_heat-translator_plugin' was added. Now it is possible to deploy applications from CSAR templates. murano-9.0.0/releasenotes/notes/yaql11-822b503f13992890.yaml0000664000175000017500000000054213656750212022612 0ustar zuulzuul00000000000000--- features: - Murano was migrated to yaql 1.1 - New format MuranoPL/1.3 can be specified in manifest files. MuranoPL/1.3 is identical to MuranoPL/1.2 but except for the fact that MuranoPL/1.3 packages cannot be imported to earlier Murano versions. Thus applications that use new features of yaql 1.1 should use this format version. murano-9.0.0/releasenotes/notes/update-app-in-env-template-08d92b22bd1355f5.yaml0000664000175000017500000000022513656750212026752 0ustar zuulzuul00000000000000--- features: - Added API endpoint ``/templates/{env_template_id}/services/{path:.*?}`` for environment template application update operation. murano-9.0.0/releasenotes/notes/new-objects-resource-leak-fix-33a2eca3a4ccb8af.yaml0000664000175000017500000000016313656750212030020 0ustar zuulzuul00000000000000--- fixes: - Prevented the resource leak for objects created during deployment with ``new()`` function call. murano-9.0.0/releasenotes/notes/new-type-format-in-object-model-da6976291057ab31.yaml0000664000175000017500000000101313656750212027633 0ustar zuulzuul00000000000000--- features: - Changed the type representation in object model. Previous format was to have three attributes in "?" section of the object - type, classVersion and package where only the "type" is mandatory. Now they are merged into single attribute "type" that has a format ``typeName/version@package``. Version and package parts are still optional. upgrades: - Any of the tools, that inspected object model should be updated to expect new object format representation ``typeName/version@package`` murano-9.0.0/releasenotes/notes/magnum-plugin-f372caac83d2cd78.yaml0000664000175000017500000000017613656750212024721 0ustar zuulzuul00000000000000--- features: - Added magnum plugin to murano, that allows creating/deleting of magnum baymodels and bays from MuranoPL murano-9.0.0/releasenotes/notes/agent-source-0d2b21262ed10d3e.yaml0000664000175000017500000000050413656750212024342 0ustar zuulzuul00000000000000--- features: - | A configuration file setting `[engine]/agent_source` was added. The value is then used for the `pip install` command to install the murano-agent. Since pip accepts http and git URLs, this can be used to install agent from the custom git repo or install version other than the latest. murano-9.0.0/releasenotes/notes/var-kw-args-c42c31678d8bc747.yaml0000664000175000017500000000111513656750212024063 0ustar zuulzuul00000000000000--- features: - > Added the capability to declare MuranoPL YAML methods with variable length positional and keyword arguments. This is done using argument ``Usage`` attribute. Regular arguments have Standard usage which is the default. Variable length args (args in Python) should have "Usage: VarArgs" and keyword args (kwargs) are declared with "Usage: KwArgs". Inside the method they are seen as a list and a dictionary correspondingly. For such arguments contracts are written for individual argument values thus no need to write them as lists/dicts. murano-9.0.0/releasenotes/notes/murano-object-interface-equality-9fc8048be61bd539.yaml0000664000175000017500000000015613656750212030347 0ustar zuulzuul00000000000000--- fixes: - Equality check (assertEqual) in test-runner can now properly compare two MuranoPl objects. murano-9.0.0/releasenotes/notes/list-environments-of-a-given-project-e45315561478c8a2.yaml0000664000175000017500000000017213656750212030652 0ustar zuulzuul00000000000000--- features: - > "List Environments" API call is now able to filter environments by an owner project (tenant). murano-9.0.0/releasenotes/notes/meta-e76d5c747b0a0fb6.yaml0000664000175000017500000000113413656750212023002 0ustar zuulzuul00000000000000--- features: - Added ability to extend MuranoPL entities with custom metadata. - > For MuranoPL classes new key "Usage" was added. By default it is "Class". But it can also be "Meta" to define meta-class. Meta-class has all the capabilities of regular classes and in addition has 3 new attributes: Cardinality, Applies and Inherited. - It is possible to attach meta-class instances to packages, classes (including other meta-classes), properties, methods and method arguments. Each of them got new "Meta" key containing list (or single scalar) of meta-class instances. murano-9.0.0/releasenotes/notes/string-logging-20b8e60a957ba6b7.yaml0000664000175000017500000000035513656750212024730 0ustar zuulzuul00000000000000--- fixes: - Murano engine no longer logs methods ``string()``, ``json()``, and ``yaml()`` of the 'io.murano.system.Resources' class. This is done to prevent UnicodeDecodeError's when transferring binary files to murano agent. murano-9.0.0/releasenotes/notes/test-runner-set-up-tear-down-a269a31734544a3a.yaml0000664000175000017500000000022713656750212027223 0ustar zuulzuul00000000000000--- fixes: - Fixed the issue that prevented the test-runner from properly invoking ``setUp`` and ``tearDown`` methods of fixtures in some cases. murano-9.0.0/releasenotes/notes/gc-collect-165e73bbaf345d74.yaml0000664000175000017500000000141513656750212024012 0ustar zuulzuul00000000000000--- features: - New on-request garbage collector for MuranoPL objects were implemented. Garbage collection is triggered by io.murano.system.GC.collect() static method. Garbage collector destroys all object that are not reachable anymore. GC can handle objects with cross-references and isolated object graphs. When portion of object model becomes not reachable it destroyed in predictable order such that child objects get destroyed before their parents and, when possible, before objects that are subscribed to their destruction notifications. - Internally, both pre-deployment garbage collection (that was done by comparison of ``Objects`` and ``ObjectsCopy``) and post-deployment orphan object collection are now done through the new GC. murano-9.0.0/releasenotes/notes/statics-9943fe9873138dac.yaml0000664000175000017500000000066013656750212023413 0ustar zuulzuul00000000000000--- features: - "Static methods and properties were introduced. Both properties and methods can be marked as Usage: Static Statics can be accessed using ns:Class.property / ns:Class.method(), :Class.property / :Class.method() to access class from current namespace or type('full.name').property / type('full.name').method() to use full type name." - io.murano.configuration.Linux methods are now static murano-9.0.0/releasenotes/notes/package_cache-68495dcde223c167.yaml0000664000175000017500000000063413656750212024445 0ustar zuulzuul00000000000000--- features: - Murano engine is now capable of caching packages on disk for reuse. This is controlled by `packages_cache` directory path and `enable_packages_cache` boolean parameter (true by default). The packages are cached in an eventlet/inter-process safe manner and are cleaned up as soon as newer version of the package becomes available (unless it's used by ongoing deployment) murano-9.0.0/releasenotes/notes/fip-multiple-external-networks-a6f99103ba3b3015.yaml0000664000175000017500000000026213656750212030001 0ustar zuulzuul00000000000000--- fixes: - Murano is now able to assign correct floating IPs when using multiple external networks. It attempts to choose one that shares a router with internal network. murano-9.0.0/releasenotes/notes/model-load-c1eb24843d30e414.yaml0000664000175000017500000000102013656750212023707 0ustar zuulzuul00000000000000--- features: - Added an overload of the new function - ``new($model, $owner)``. It loads complete object graph in a single call. Objects in the model can have cross references. In that case, this is the only way to instantiate the graph. Objects might be specified either in object model format (with '?' attribute or in MuranoPL format (used for Meta definitions). - The contract ``class()`` now uses the same approach to load classes from dictionaries. Thus the same two syntaxes apply there as well. murano-9.0.0/releasenotes/notes/multi-class-yamls-cbb3ef1d8578f41a.yaml0000664000175000017500000000076213656750212025523 0ustar zuulzuul00000000000000--- features: - Now it is possible to have several classes in one YAML file. Classes are separated using YAML document separator (3 dashes). Empty documents are skipped. If the class doesn't have Namespace section corresponding section from the previous class in the same file is used. Thus it is possible to declare namespace prefixes once at the file header. Even if there are several classes in one file all of them are still required to be declared in manifest file. murano-9.0.0/releasenotes/notes/test-runner-output-fix-e942e221be189424.yaml0000664000175000017500000000042413656750212026245 0ustar zuulzuul00000000000000--- fixes: - The test-runner now outputs the tests it runs and their results to stdout directly, instead of the logging system. - The test-runner now does not output logs to stderr by default unless a 'use_stderr' parameter is specified in the configuration file. murano-9.0.0/releasenotes/notes/remove-show-categories-42636e9c24c33105.yaml0000664000175000017500000000026613656750212026151 0ustar zuulzuul00000000000000--- deprecations: - | Removed `show_categories` endpoint from the application catalog API which has been deprecated since the Liberty cycle. Use `list_categories` instead. murano-9.0.0/releasenotes/notes/action-syntax-3f2cbe843801f80d.yaml0000664000175000017500000000045013656750212024573 0ustar zuulzuul00000000000000--- features: - Added a new manifest format 1.4.0. Introduced the 'Scope' keyword for class methods to declare a method's accessibility from outside through the API call. deprecations: - Deprecated the 'Usage Action' keyword. For format versions >= 1.4.0, use 'Scope Public' instead. murano-9.0.0/releasenotes/notes/put-empty-body-d605c2083b239f76.yaml0000664000175000017500000000041413656750212024534 0ustar zuulzuul00000000000000--- fixes: - It is now possible to make a PUT request with body equal to '[]' to '/environments//services' endpoint. This will result in removing all apps from current session. This allows deleting the last application from environment from CLI. murano-9.0.0/releasenotes/notes/existing-sec-group-522d58bb2fe689a4.yaml0000664000175000017500000000025713656750212025543 0ustar zuulzuul00000000000000--- features: - | Users can now assign an existing security group to an application as an alternative to using the one created by Murano's ``SecurityGroupManager``. murano-9.0.0/releasenotes/notes/heat_push_async-da3f31b63284a0ea.yaml0000664000175000017500000000016213656750212025212 0ustar zuulzuul00000000000000--- features: - io.murano.system.HeatStack.push can be called with async => true flag for asynchronous push murano-9.0.0/releasenotes/notes/user-project-6173d7282765b5ca.yaml0000664000175000017500000000031413656750212024261 0ustar zuulzuul00000000000000--- features: - Added classes that represent OpenStack user and project - Added ability to retrieve current user and project info - Added ability to retrieve environment owner user and project info murano-9.0.0/releasenotes/notes/gc-isdoomed-isdestroyed-9598a6e15dbf36a0.yaml0000664000175000017500000000051213656750212026527 0ustar zuulzuul00000000000000--- features: - io.murano.system.GC.isDoomed() static method was added. It can be used within the ``.destroy`` method to test if other object is also going to be destroyed. - io.murano.system.GC.isDestroyed() static method was added. It checks if the object is destroyed and thus no methods can be invoked on it. murano-9.0.0/releasenotes/notes/static-actions-61759be796299039.yaml0000664000175000017500000000046213656750212024454 0ustar zuulzuul00000000000000--- features: - Added a new API endpoint ``v1/actions`` to call static public methods. It accepts class name, method name, method arguments, and optionally package name and class version in the request body. This call does not create an environment, object instances or database records. murano-9.0.0/releasenotes/notes/attributes-owner-type-c321e82f99f96cf1.yaml0000664000175000017500000000055313656750212026313 0ustar zuulzuul00000000000000--- features: - Now all native MuranoPL methods (those that are written in Python) have "?muranoMethod" metadata key referring to MuranoMethod instance for the method. fixes: - It was impossible to explicitly provide attribute owner class to getAttr/setAttr methods without using namespace prefix or if the type was not from the core library. murano-9.0.0/releasenotes/notes/multi-regional-apps-b64afbaeafd5b9c5.yaml0000664000175000017500000000171513656750212026247 0ustar zuulzuul00000000000000--- features: - Added Support for application deployment across OpenStack regions. Now, all OpenStack resource classes inherit from ``io.murano.CloudResource`` that provides ``.getRegion()`` method and ``regionName`` property. This allows to assign resources to different regions. ``.getRegion()`` returns ``io.murano.CloudRegion`` instance that resource or its parent belongs to. ``CloudRegion`` has interface similar to ``Environment`` class and is the correct way to get ``HeatStack`` instance associated with the region, default network configuration, security group manager and agent listener instances. ``Environment`` now acts as default region so backward compatibility is not broken. However new applications should not use environment to set security group rules but rather a region(s) of their instance(s) in order to work correctly when their instances were configured to use region other than the default. murano-9.0.0/releasenotes/notes/release-cinder-volumes-01c29d28031a94dd.yaml0000664000175000017500000000021413656750212026252 0ustar zuulzuul00000000000000--- fixes: - Previously Cinder Volumes created in MuranoPL were not released correctly on object destruction. The issue is now fixed. murano-9.0.0/releasenotes/notes/linux-helpers-async-243fc1adbbe5c512.yaml0000664000175000017500000000022013656750212026021 0ustar zuulzuul00000000000000--- features: - Implemented the capability for the helper methods of Linux class to run concurrently if executed for different VM agents. murano-9.0.0/releasenotes/notes/add-upgrade-check-framework-1c069e5a54125d1b.yaml0000664000175000017500000000072313656750212027127 0ustar zuulzuul00000000000000--- prelude: > Added new tool ``murano-status upgrade check``. features: - | New framework for ``murano-status upgrade check`` command is added. This framework allows adding various checks which can be run before a Murano upgrade to ensure if the upgrade can be performed safely. upgrade: - | Operator can now use new CLI tool ``murano-status upgrade check`` to check if Murano deployment can be safely upgraded from N-1 to N release. murano-9.0.0/releasenotes/notes/config-network-driver-77c82d151dead620.yaml0000664000175000017500000000050713656750212026217 0ustar zuulzuul00000000000000--- features: - Added the ``driver`` configuration option to the ``networking`` group. It allows to explicitly select the networking driver. It supports 'neutron' and 'nova' options. If set to ``None`` (default), murano attempts to use 'neutron' if available, 'nova' otherwise. The change is backward compatible. murano-9.0.0/releasenotes/notes/fix-1498097.yaml0000664000175000017500000000014613656750212021211 0ustar zuulzuul00000000000000fixes: - Avoid race condition during parallel upload of packages, when packages have same tags. murano-9.0.0/releasenotes/notes/metadata-getter-76907aa1f0325adc.yaml0000664000175000017500000000033113656750212025031 0ustar zuulzuul00000000000000--- features: - Added a ``metadata()`` yaql function to retrieve the meta information about the object, stored in the "?/metadata" section of object model. other: - Bumped the RUNTIME_VERSION attribute to 1.5 murano-9.0.0/releasenotes/notes/implement-environment-audit-reports-23bb8009d1dfaecc.yaml0000664000175000017500000000065013656750212031336 0ustar zuulzuul00000000000000--- features: - | Add notifications about environment events that are required for tracking. These are AMQP notifications and oslo.messaging library is used for sending them. The follow event types are provided: environment.deploy.end, environment.delete.end, environment.exists There are 2 new configuration options controlling these notifications: stats.env_audit_period, env_audit_enabled. murano-9.0.0/releasenotes/notes/separate-service-broker-from-murano-f6ee48576f51d893.yaml0000664000175000017500000000024513656750212030731 0ustar zuulzuul00000000000000--- features: - Separated murano service broker from murano-api into a murano-cfapi service. Created a separate database and ``paste.ini`` for service broker. murano-9.0.0/releasenotes/notes/add-default-security-group-78855a66b960840a.yaml0000664000175000017500000000040713656750212026742 0ustar zuulzuul00000000000000--- fixes: - added default rules to NeutronSecurityGroupManager to avoid error if `createDefaultInstanceSecurityGroupRules()` method isn't extended in inheritor and SecurityGroups isn't created in application with call of `addGroupIngress()` method.murano-9.0.0/releasenotes/notes/environment-edit-213789159902d4c3.yaml0000664000175000017500000000042413656750212024771 0ustar zuulzuul00000000000000--- features: - /environments/ENV_ID/model/PATH endpoint added. GET request responds with the subsection of ENV_ID's object model located in its PATH. PATCH request applies json-patch from request body to ENV_ID's model. It does not contain PATH in the URL. murano-9.0.0/releasenotes/notes/meta-for-ui-72f5b58c6d17599f.yaml0000664000175000017500000000044713656750212024073 0ustar zuulzuul00000000000000--- features: - Added the following meta-classes to the core library - ``Title`` ``Description`` ``HelpText`` ``Hidden`` ``Section`` ``Position`` ``ModelBuilder``. These classes will later be used to implement dynamic object model generation. murano-9.0.0/releasenotes/notes/new-contract-framework-1dede2d16b2e9c71.yaml0000664000175000017500000000450413656750212026533 0ustar zuulzuul00000000000000--- features: - Implemented a new framework for MuranoPL contracts. Now, instead of several independent implementations of the same yaql methods (string(), class() etc.) all implementations of the same method are combined into single class. Therefore, we now have a class per contract method. This also simplifies development of new contracts. Each such class can provide methods for data transformation (default contract usage), validation that is used to decide if the method can be considered an extension method for the value, and json schema generation method that was moved from the schema generator script. - Previously, when a class overrode a property from its parent class the value was stored separately for both of them, transformed by each of the contracts. Thus each class saw the value of its contract. In absolute majority of the cases, the observed value was the same. However, if the contracts were compatible on the provided value (say int() and string() contracts on the value "123") they were different. This is considered to be a bad pattern. Now, the value is stored only once per object and transformed by the contract defined in the actual object type. All base contracts are used to validate the transformed object thus this pattern will not work anymore. - The value that is stored in the object's properties is obtained by executing special "finalize" contract implementation which by default returns the input value unmodified. Because validation happens on the transformed value before it gets finalized it is possible for transformation to return a value that will pass the validation though the final value won't. This is used to relax the template() contract limitation that prevented child class from excluding additional properties from the template. - The ``string()`` contract no longer converts everything to string values. Now it only converts scalar values to strings. Previous behavior allowed ``string()`` property to accept lists and convert them to their Python string representation which is clearly not what developers expected. - Due to refactoring, contracts work a little bit faster because there is no more need to generate yaql function definition for each contract method on each call. murano-9.0.0/releasenotes/notes/fixed-adding_text_description-25bd77f36ee370ba.yaml0000664000175000017500000000030713656750212030047 0ustar zuulzuul00000000000000features: - Added the ``description_text`` field to environment and environment templates database tables and respective API objects. upgrade: - New database migration 015 has to be applied. murano-9.0.0/releasenotes/notes/garbage-collection-50e78c4c9d47eba6.yaml0000664000175000017500000000104413656750212025605 0ustar zuulzuul00000000000000--- features: - Introduced a new MuranoPL class ``io.murano.system.GC`` Now MuranoPL garbage collector can be used to set up destruction dependencies between murano objects. If object Foo is subscribed to object Bar's destruction, it will be notified through a specific handler. If both Foo and Bar are going to be destroyed during one execution session, Foo will be destroyed after Bar. You can omit the handler, in this case destruction order will also be preserved. Handler can be a static or a usual function. murano-9.0.0/releasenotes/notes/configure-notifications-0c84a5085c25f6e7.yaml0000664000175000017500000000053013656750212026546 0ustar zuulzuul00000000000000features: - It is now possible to configure the notifications to use a different transport URL than the RPCs. These could potentially be completely different message broker hosts (though they doesn't need to be). If the notification-specific configuration is not provided, the notifier will use the same transport as the RPCs.murano-9.0.0/releasenotes/notes/objects-copy-objects-merge-8f2752b1a1a18af0.yaml0000664000175000017500000000215613656750212027111 0ustar zuulzuul00000000000000--- features: - Previously, when pre-deployment garbage collection occurred it executed ``.destroy`` method for objects that were present in the ``ObjectsCopy`` section of the object model (which is the snapshot of the model after last deployment) and not present in the current model anymore (because they were deleted through the API between deployments). If the destroyed objects were to access another object that was not deleted it was accessing its copy from the ``ObjectsCopy``. Thus any changes to the internal state made by that object were lost after the garbage collection finished (that is, before the ``.deploy`` method call) and could not affect the deployment. Now, if the object is present in both ``Objects`` and ``ObjectsCopy``, a single instance (the one from ``Objects``) is used for both garbage collection and deployment. As a consequence, instances (in their ``.destroy`` method) now may observe changes made to other objects they refer if they were not deleted, but modified through the API. In some rare cases, it may break existing applications. murano-9.0.0/releasenotes/notes/metadata-aware-mixin-41777dd8d1802908.yaml0000664000175000017500000000022713656750212025566 0ustar zuulzuul00000000000000--- features: - Added a MetadataAware mixin class capable to retrieve the metadata attributes from the implementing objects and all its parents. murano-9.0.0/releasenotes/notes/enable-mocks-a156e7cc1b1d5066.yaml0000664000175000017500000000047513656750212024332 0ustar zuulzuul00000000000000--- features: - Enable mocks in MuranoPL tests cases. - Added :command:`murano-test-tunner` command to run murano package tests. - Introduced two YAQL *inject* functions to enable mocks ``def inject(target, target_method, mock_object, mock_name)`` and ``def inject(target, target_method, yaql_expr)``. murano-9.0.0/releasenotes/notes/use_http_proxy_to_wsgi-9b22d3e60c045689.yaml0000664000175000017500000000156613656750212026477 0ustar zuulzuul00000000000000--- features: - | Murano switched to using standard oslo middleware HTTPProxyToWSGI instead of custom implementation. This middleware parses the X-Forwarded-Proto HTTP header or the Proxy protocol in order to help murano respond with the correct URL refs when it's put behind a TLS proxy (such as HAProxy). This middleware is disabled by default, but can be enabled via a configuration option in the oslo_middleware group. upgrade: - | File ``murano-paste.ini has been updated to use oslo HTTPProxyToWSGI middleware. Config option ``secure_proxy_ssl_header`` has been removed. Please refer to oslo_middleware configuration options if you wish deploy murano behind TLS proxy. Most notably you would need to set ``enable_proxy_headers_parsing`` under group ``oslo_middleware`` to True, to enable header parsing. murano-9.0.0/releasenotes/notes/roles-for-requestcontext-43d32d88c3eaaa95.yaml0000664000175000017500000000032413656750212027056 0ustar zuulzuul00000000000000--- fixes: - RequestContext now serialises it's roles. This should allow murano to work correctly (and allow rules like "role:xxx" in policy.json) when using oslo.context prior to 2.2.0 and oslo.policy murano-9.0.0/releasenotes/notes/better-detect-agent-9ef8892a4bfb72cd.yaml0000664000175000017500000000047613656750212026010 0ustar zuulzuul00000000000000--- fixes: - Core Library's init scripts used to have various problems detecting pre-installed (by DIB) murano-agent on non-ubuntu images. Agent setup script now checks wider list of directories before attempting to install murano-agnet and service script now does not impose strict script location. murano-9.0.0/releasenotes/notes/template-contract-b71840cbc35eb478.yaml0000664000175000017500000000122113656750212025416 0ustar zuulzuul00000000000000--- features: - Implemented a new contract function ``template()``. ``template()`` works similar to the ``class()`` in regards to the data validation but does not instantiate objects. Instead, the data is left in the object model in dictionary format so that it could be instantiated later with the ``new()`` function. Additionally, the function allows excluding specified properties from validation and from the resulting template so that they could be provided later. Objects that are assigned to the property or argument with ``template()`` contract will be automatically converted to their object model representation. murano-9.0.0/releasenotes/notes/filter-in-package-definition-43edaf12rad81b88.yaml0000664000175000017500000000011213656750212027552 0ustar zuulzuul00000000000000--- features: - Added filter by 'Name' which only matches package name. murano-9.0.0/releasenotes/notes/no-neutron-sec-group-support-2d69082b7226d6c0.yaml0000664000175000017500000000030613656750212027352 0ustar zuulzuul00000000000000--- fixes: - Murano is now able to deploy applications in the environments with disabled Neutron Security Groups. Detection is based on the presence of 'security-group' Neutron extension. murano-9.0.0/releasenotes/notes/shared-net-port-creation-0eda66be4444cf2f.yaml0000664000175000017500000000070613656750212026753 0ustar zuulzuul00000000000000--- issues: - If a VM being a part of some shared-ip group is attached to the network which is not owned by the current tenant (shared network) a policy violation may occur thus failing the deployment. fixes: - Murano no longer specifies fixed-ip parameter for ports when creating VMs attached to networks owned and shared by other tenants. Specifying this parameter for non-owned networks could cause violation of neutron policies. murano-9.0.0/releasenotes/notes/keystone-v3-0e287679f7f40a2a.yaml0000664000175000017500000000047513656750212024120 0ustar zuulzuul00000000000000--- fixes: - Removed the need for Keystone v2 options (admin_user, admin_password, admin_tenant_name) when Keystone v3 is in use. - Previously murano assumed that the service user and service project are in the 'Default' domain. These values can now be set in ``keystone_authtoken`` config group. murano-9.0.0/releasenotes/notes/add_api_in_operator-371e3a1d2aec6421.yaml0000664000175000017500000000053113656750212025736 0ustar zuulzuul00000000000000--- features: - Implemented the capability for API endpoint ``/catalog/packages`` to filter 'id', 'category', 'tag' properties using the 'in' operator. An example of using the 'in' operator for 'id' is 'id=in:id1,id2,id3'. This filter is added using syntax that conforms to the latest guidelines from the OpenStack API-WG. murano-9.0.0/releasenotes/notes/spec-semver-library-436b0db35fbd4c37.yaml0000664000175000017500000000034313656750212025741 0ustar zuulzuul00000000000000--- fixes: - It is now possible to use version specifications like '=0.0.0' when ``semantic_version`` library version '2.3.1' is installed. Previously such specifications caused an error and '==0.0.0' had to be used. murano-9.0.0/releasenotes/notes/cinder-volumes-0412875c1011f8eb.yaml0000664000175000017500000000040713656750212024557 0ustar zuulzuul00000000000000--- features: - Classes to work with Cinder volumes were added to core library. Now it is possible to create new volume from various sources or use existing volume. Also it is possible to attach volumes to instances and boot instances from volumes. murano-9.0.0/releasenotes/notes/class-config-versioning-23f1d676a3d54c0c.yaml0000664000175000017500000000065313656750212026523 0ustar zuulzuul00000000000000--- features: - "Class configs are now also versioned. For class foo.bar version 1.2.3 the following file names will be examined: foo.bar-1.2.3.json foo.bar-1.2.3.yaml foo.bar-1.2.json foo.bar-1.2.yaml foo.bar-1.json foo.bar-1.yaml In addition for classes of version 0.x.y file name without version suffix are also examined as a last attempt so the backward compatibility is retained" murano-9.0.0/releasenotes/notes/two-phase-instance-deploy-81d37e7987abc792.yaml0000664000175000017500000000040113656750212026735 0ustar zuulzuul00000000000000--- features: - Split ``Instance``'s ``.deploy()`` method into two phases - ``beginDeploy()`` and ``endDeploy()``. This allows the application developer to provision multiple instances at once without the need to push the stack for each instance. murano-9.0.0/releasenotes/notes/bug-1654103-f39ee721d1b90b68.yaml0000664000175000017500000000007713656750212023404 0ustar zuulzuul00000000000000--- fixes: - | Now admin can delete user's environments. murano-9.0.0/releasenotes/notes/multiple-engine-workers-7fec79572a6a9d01.yaml0000664000175000017500000000021113656750212026567 0ustar zuulzuul00000000000000--- features: - Add multiple engine workers issues: - Enabling multiple workers might break workflows under BSD and Windows systems murano-9.0.0/releasenotes/notes/devstack_using_heat_plugin-3dc9feeed36f24ec.yaml0000664000175000017500000000020213656750212027667 0ustar zuulzuul00000000000000--- other: - Since Newton release, heat is available as a devstack plugin. So we remove heat as enable_service in devstack. murano-9.0.0/releasenotes/notes/deployment-list-8c2da5a5efc6dbac.yaml0000664000175000017500000000030313656750212025474 0ustar zuulzuul00000000000000--- features: - It is now possible to make a GET request to '/deployments' endpoint. This will result in deployments for all environments in a specific project (tenant) being returned. murano-9.0.0/releasenotes/notes/add_timeout_to_linux_class-05d1f573a883f3ce.yaml0000664000175000017500000000022013656750212027376 0ustar zuulzuul00000000000000--- features: - Added the ``timeout`` parameter to ``runCommand`` and ``putFile`` methods of the ``io.murano.configuration.Linux`` class. murano-9.0.0/releasenotes/notes/reflection-2fc43b990ea6b980.yaml0000664000175000017500000000057613656750212024143 0ustar zuulzuul00000000000000--- features: - Basic reflection capabilities were added to MuranoPL. Now it is possible to get type info with typeinfo() function and using it as a starting point obtain information about the class, its methods and properties as well as the package of the class. Reflected properties can be used to obtain or set its value in a given object or invoke its method. murano-9.0.0/releasenotes/notes/drop-py-2-7-37d8f1a13e867edb.yaml0000664000175000017500000000031213656750212023754 0ustar zuulzuul00000000000000--- upgrade: - | Python 2.7 support has been dropped. Last release of Murano to support python 2.7 is OpenStack Train. The minimum version of Python now supported by Murano is Python 3.6. murano-9.0.0/releasenotes/notes/decrypt-yaql-function-6651d0f5d73bd58d.yaml0000664000175000017500000000052513656750212026245 0ustar zuulzuul00000000000000--- features: - | Added a new yaql function 'decryptData' which pairs with 'encryptData' on the dashboard side. Application authors can use these functions to secure sensitive input to their Murano applications such as passwords. Requires a valid secret storage backend (e.g. Barbican) to be configured via Castellan. murano-9.0.0/releasenotes/source/0000775000175000017500000000000013656750351017047 5ustar zuulzuul00000000000000murano-9.0.0/releasenotes/source/train.rst0000664000175000017500000000017613656750212020716 0ustar zuulzuul00000000000000========================== Train Series Release Notes ========================== .. release-notes:: :branch: stable/train murano-9.0.0/releasenotes/source/_static/0000775000175000017500000000000013656750351020475 5ustar zuulzuul00000000000000murano-9.0.0/releasenotes/source/_static/.placeholder0000664000175000017500000000000013656750212022742 0ustar zuulzuul00000000000000murano-9.0.0/releasenotes/source/conf.py0000664000175000017500000002067413656750212020353 0ustar zuulzuul00000000000000# -*- coding: utf-8 -*- # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. # Murano Release Notes documentation build configuration file, created by # sphinx-quickstart on Tue Nov 3 17:40:50 2015. # # This file is execfile()d with the current directory set to its # containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # sys.path.insert(0, os.path.abspath('.')) # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. # needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ 'openstackdocstheme', 'reno.sphinxext', ] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix of source filenames. source_suffix = '.rst' # The encoding of source files. # source_encoding = 'utf-8-sig' # The master toctree document. master_doc = 'index' # General information about the project. copyright = u'2015, Murano Developers' # openstackdocstheme options repository_name = 'openstack/murano' bug_project = 'murano' bug_tag = '' # Release notes are version independent. # The short X.Y version. # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: # today = '' # Else, today_fmt is used as the format for a strftime call. # today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. exclude_patterns = [] # The reST default role (used for this markup: `text`) to use for all # documents. # default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. # add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). # add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. # show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. # modindex_common_prefix = [] # If true, keep warnings as "system message" paragraphs in the built documents. # keep_warnings = False # -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. html_theme = 'openstackdocs' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. # html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". # html_title = None # A shorter title for the navigation bar. Default is the same as html_title. # html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. # html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. # html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". # html_static_path = ['_static'] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied # directly to the root of the documentation. # html_extra_path = [] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. # html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. # html_use_smartypants = True # Custom sidebar templates, maps document names to template names. # html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. # html_additional_pages = {} # If false, no module index is generated. # html_domain_indices = True # If false, no index is generated. # html_use_index = True # If true, the index is split into individual pages for each letter. # html_split_index = False # If true, links to the reST sources are added to the pages. # html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. # html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. # html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. # html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). # html_file_suffix = None # Output file base name for HTML help builder. htmlhelp_basename = 'MuranoReleaseNotesdoc' # -- Options for LaTeX output --------------------------------------------- # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ ('index', 'MuranoReleaseNotes.tex', u'Murano Release Notes Documentation', u'Murano Developers', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. # latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. # latex_use_parts = False # If true, show page references after internal links. # latex_show_pagerefs = False # If true, show URL addresses after external links. # latex_show_urls = False # Documents to append as an appendix to all manuals. # latex_appendices = [] # If false, no module index is generated. # latex_domain_indices = True # -- Options for manual page output --------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ ('index', 'muranoreleasenotes', u'Murano Release Notes Documentation', [u'Murano Developers'], 1) ] # If true, show URL addresses after external links. # man_show_urls = False # -- Options for Texinfo output ------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ ('index', 'MuranoReleaseNotes', u'Murano Release Notes Documentation', u'Murano Developers', 'MuranoReleaseNotes', 'One line description of project.', 'Miscellaneous'), ] # Documents to append as an appendix to all manuals. # texinfo_appendices = [] # If false, no module index is generated. # texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. # texinfo_show_urls = 'footnote' # If true, do not generate a @detailmenu in the "Top" node's menu. # texinfo_no_detailmenu = False # -- Options for Internationalization output ------------------------------ locale_dirs = ['locale/'] murano-9.0.0/releasenotes/source/mitaka.rst0000664000175000017500000000023213656750212021040 0ustar zuulzuul00000000000000=================================== Mitaka Series Release Notes =================================== .. release-notes:: :branch: origin/stable/mitaka murano-9.0.0/releasenotes/source/liberty.rst0000664000175000017500000000022213656750212021243 0ustar zuulzuul00000000000000============================== Liberty Series Release Notes ============================== .. release-notes:: :branch: origin/stable/liberty murano-9.0.0/releasenotes/source/stein.rst0000664000175000017500000000022113656750212020712 0ustar zuulzuul00000000000000=================================== Stein Series Release Notes =================================== .. release-notes:: :branch: stable/stein murano-9.0.0/releasenotes/source/queens.rst0000664000175000017500000000022313656750212021072 0ustar zuulzuul00000000000000=================================== Queens Series Release Notes =================================== .. release-notes:: :branch: stable/queens murano-9.0.0/releasenotes/source/unreleased.rst0000664000175000017500000000016013656750212021721 0ustar zuulzuul00000000000000============================== Current Series Release Notes ============================== .. release-notes:: murano-9.0.0/releasenotes/source/rocky.rst0000664000175000017500000000022113656750212020717 0ustar zuulzuul00000000000000=================================== Rocky Series Release Notes =================================== .. release-notes:: :branch: stable/rocky murano-9.0.0/releasenotes/source/index.rst0000664000175000017500000000141413656750212020704 0ustar zuulzuul00000000000000.. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ====================== Murano Release Notes ====================== .. toctree:: :maxdepth: 2 unreleased train stein rocky queens pike ocata newton mitaka liberty murano-9.0.0/releasenotes/source/ocata.rst0000664000175000017500000000023013656750212020657 0ustar zuulzuul00000000000000=================================== Ocata Series Release Notes =================================== .. release-notes:: :branch: origin/stable/ocata murano-9.0.0/releasenotes/source/newton.rst0000664000175000017500000000023213656750212021104 0ustar zuulzuul00000000000000=================================== Newton Series Release Notes =================================== .. release-notes:: :branch: origin/stable/newton murano-9.0.0/releasenotes/source/_templates/0000775000175000017500000000000013656750351021204 5ustar zuulzuul00000000000000murano-9.0.0/releasenotes/source/_templates/.placeholder0000664000175000017500000000000013656750212023451 0ustar zuulzuul00000000000000murano-9.0.0/releasenotes/source/locale/0000775000175000017500000000000013656750351020306 5ustar zuulzuul00000000000000murano-9.0.0/releasenotes/source/locale/fr/0000775000175000017500000000000013656750351020715 5ustar zuulzuul00000000000000murano-9.0.0/releasenotes/source/locale/fr/LC_MESSAGES/0000775000175000017500000000000013656750351022502 5ustar zuulzuul00000000000000murano-9.0.0/releasenotes/source/locale/fr/LC_MESSAGES/releasenotes.po0000664000175000017500000000262713656750212025536 0ustar zuulzuul00000000000000# Gérald LONLAS , 2016. #zanata msgid "" msgstr "" "Project-Id-Version: Murano Release Notes 3.2.1\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-03-22 16:25+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2016-10-22 04:53+0000\n" "Last-Translator: Gérald LONLAS \n" "Language-Team: French\n" "Language: fr\n" "X-Generator: Zanata 3.9.6\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" msgid "1.0.2" msgstr "1.0.2" msgid "1.0.3" msgstr "1.0.3" msgid "2.0.0" msgstr "2.0.0" msgid "2.0.1" msgstr "2.0.1" msgid "2.0.2" msgstr "2.0.2" msgid "3.0.0" msgstr "3.0.0" msgid "Bug Fixes" msgstr "Corrections de bugs" msgid "Current Series Release Notes" msgstr "Note de la release actuelle" msgid "Deprecation Notes" msgstr "Notes dépréciées " msgid "Known Issues" msgstr "Problèmes connus" msgid "Liberty Series Release Notes" msgstr "Note de release pour Liberty" msgid "Mitaka Series Release Notes" msgstr "Note de release pour Mitaka" msgid "Murano Release Notes" msgstr "Note de release de Murano" msgid "New Features" msgstr "Nouvelles fonctionnalités" msgid "Newton Series Release Notes" msgstr "Note de release pour Newton" msgid "Other Notes" msgstr "Autres notes" msgid "Security Issues" msgstr "Problèmes de sécurités" msgid "Upgrade Notes" msgstr "Notes de mises à jours" murano-9.0.0/releasenotes/source/locale/en_GB/0000775000175000017500000000000013656750351021260 5ustar zuulzuul00000000000000murano-9.0.0/releasenotes/source/locale/en_GB/LC_MESSAGES/0000775000175000017500000000000013656750351023045 5ustar zuulzuul00000000000000murano-9.0.0/releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po0000664000175000017500000015704313656750212026104 0ustar zuulzuul00000000000000# Andi Chandler , 2017. #zanata # Andi Chandler , 2018. #zanata # Andi Chandler , 2019. #zanata msgid "" msgstr "" "Project-Id-Version: murano\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-19 02:15+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2019-12-21 02:44+0000\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom)\n" "Language: en_GB\n" "X-Generator: Zanata 4.3.3\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" msgid "" "\"List Environments\" API call is now able to filter environments by an " "owner project (tenant)." msgstr "" "\"List Environments\" API call is now able to filter environments by an " "owner project (tenant)." msgid "" "/environments/ENV_ID/model/PATH endpoint added. GET request responds with " "the subsection of ENV_ID's object model located in its PATH. PATCH request " "applies json-patch from request body to ENV_ID's model. It does not contain " "PATH in the URL." msgstr "" "/environments/ENV_ID/model/PATH endpoint added. GET request responds with " "the subsection of ENV_ID's object model located in its PATH. PATCH request " "applies json-patch from request body to ENV_ID's model. It does not contain " "PATH in the URL." msgid "1.0.2" msgstr "1.0.2" msgid "1.0.3" msgstr "1.0.3" msgid "2.0.0" msgstr "2.0.0" msgid "2.0.1" msgstr "2.0.1" msgid "2.0.2" msgstr "2.0.2" msgid "2.0.2-12" msgstr "2.0.2-12" msgid "3.0.0" msgstr "3.0.0" msgid "3.0.0-15" msgstr "3.0.0-15" msgid "3.1.0" msgstr "3.1.0" msgid "3.2.0" msgstr "3.2.0" msgid "4.0.0" msgstr "4.0.0" msgid "5.0.0" msgstr "5.0.0" msgid "7.0.0" msgstr "7.0.0" msgid "8.0.0-5" msgstr "8.0.0-5" msgid "" "A configuration file setting `[engine]/agent_source` was added. The value is " "then used for the `pip install` command to install the murano-agent. Since " "pip accepts http and git URLs, this can be used to install agent from the " "custom git repo or install version other than the latest." msgstr "" "A configuration file setting `[engine]/agent_source` was added. The value is " "then used for the `pip install` command to install the murano-agent. Since " "pip accepts HTTP and git URLs, this can be used to install agent from the " "custom git repo or install version other than the latest." msgid "" "API call for deleting a service from environment template did not return " "result of its operation. The issue is fixed." msgstr "" "API call for deleting a service from environment template did not return " "result of its operation. The issue is fixed." msgid "Add multiple engine workers" msgstr "Add multiple engine workers" msgid "" "Add notifications about environment events that are required for tracking. " "These are AMQP notifications and oslo.messaging library is used for sending " "them. The follow event types are provided: environment.deploy.end, " "environment.delete.end, environment.exists There are 2 new configuration " "options controlling these notifications: stats.env_audit_period, " "env_audit_enabled." msgstr "" "Add notifications about environment events that are required for tracking. " "These are AMQP notifications and oslo.messaging library is used for sending " "them. The follow event types are provided: environment.deploy.end, " "environment.delete.end, environment.exists There are 2 new configuration " "options controlling these notifications: stats.env_audit_period, " "env_audit_enabled." msgid "" "Added :command:`murano-test-tunner` command to run murano package tests." msgstr "" "Added :command:`murano-test-tunner` command to run Murano package tests." msgid "" "Added API endpoint ``/templates/{env_template_id}/services/{path:.*?}`` for " "environment template application update operation." msgstr "" "Added API endpoint ``/templates/{env_template_id}/services/{path:.*?}`` for " "environment template application update operation." msgid "" "Added Support for application deployment across OpenStack regions. Now, all " "OpenStack resource classes inherit from ``io.murano.CloudResource`` that " "provides ``.getRegion()`` method and ``regionName`` property. This allows to " "assign resources to different regions. ``.getRegion()`` returns ``io.murano." "CloudRegion`` instance that resource or its parent belongs to. " "``CloudRegion`` has interface similar to ``Environment`` class and is the " "correct way to get ``HeatStack`` instance associated with the region, " "default network configuration, security group manager and agent listener " "instances. ``Environment`` now acts as default region so backward " "compatibility is not broken. However new applications should not use " "environment to set security group rules but rather a region(s) of their " "instance(s) in order to work correctly when their instances were configured " "to use region other than the default." msgstr "" "Added Support for application deployment across OpenStack regions. Now, all " "OpenStack resource classes inherit from ``io.murano.CloudResource`` that " "provides ``.getRegion()`` method and ``regionName`` property. This allows to " "assign resources to different regions. ``.getRegion()`` returns ``io.murano." "CloudRegion`` instance that resource or its parent belongs to. " "``CloudRegion`` has interface similar to ``Environment`` class and is the " "correct way to get ``HeatStack`` instance associated with the region, " "default network configuration, security group manager and agent listener " "instances. ``Environment`` now acts as default region so backward " "compatibility is not broken. However new applications should not use " "environment to set security group rules but rather a region(s) of their " "instance(s) in order to work correctly when their instances were configured " "to use region other than the default." msgid "" "Added a MetadataAware mixin class capable to retrieve the metadata " "attributes from the implementing objects and all its parents." msgstr "" "Added a MetadataAware mixin class capable to retrieve the metadata " "attributes from the implementing objects and all its parents." msgid "" "Added a ``metadata()`` yaql function to retrieve the meta information about " "the object, stored in the \"?/metadata\" section of object model." msgstr "" "Added a ``metadata()`` yaql function to retrieve the meta information about " "the object, stored in the \"?/metadata\" section of object model." msgid "" "Added a new API endpoint ``v1/actions`` to call static public methods. It " "accepts class name, method name, method arguments, and optionally package " "name and class version in the request body. This call does not create an " "environment, object instances or database records." msgstr "" "Added a new API endpoint ``v1/actions`` to call static public methods. It " "accepts class name, method name, method arguments, and optionally package " "name and class version in the request body. This call does not create an " "environment, object instances or database records." msgid "" "Added a new engine RPC call to generate json-schema from MuranoPL class. The " "schema may be generated either from the entire class or for specific model " "builders - static actions that can be used to generate object model from " "their input. Class schema is built by inspecting class properties and method " "schema using the same algorithm but applied to its arguments." msgstr "" "Added a new engine RPC call to generate json-schema from MuranoPL class. The " "schema may be generated either from the entire class or for specific model " "builders - static actions that can be used to generate object model from " "their input. Class schema is built by inspecting class properties and method " "schema using the same algorithm but applied to its arguments." msgid "" "Added a new manifest format 1.4.0. Introduced the 'Scope' keyword for class " "methods to declare a method's accessibility from outside through the API " "call." msgstr "" "Added a new manifest format 1.4.0. Introduced the 'Scope' keyword for class " "methods to declare a method's accessibility from outside through the API " "call." msgid "" "Added a new yaql function 'decryptData' which pairs with 'encryptData' on " "the dashboard side. Application authors can use these functions to secure " "sensitive input to their Murano applications such as passwords." msgstr "" "Added a new YAQL function 'decryptData' which pairs with 'encryptData' on " "the dashboard side. Application authors can use these functions to secure " "sensitive input to their Murano applications such as passwords." msgid "Added ability to extend MuranoPL entities with custom metadata." msgstr "Added ability to extend MuranoPL entities with custom metadata." msgid "Added ability to retrieve current user and project info" msgstr "Added ability to retrieve current user and project info" msgid "Added ability to retrieve environment owner user and project info" msgstr "Added ability to retrieve environment owner user and project info" msgid "" "Added an overload of the new function - ``new($model, $owner)``. It loads " "complete object graph in a single call. Objects in the model can have cross " "references. In that case, this is the only way to instantiate the graph. " "Objects might be specified either in object model format (with '?' attribute " "or in MuranoPL format (used for Meta definitions)." msgstr "" "Added an overload of the new function - ``new($model, $owner)``. It loads " "complete object graph in a single call. Objects in the model can have cross " "references. In that case, this is the only way to instantiate the graph. " "Objects might be specified either in object model format (with '?' attribute " "or in MuranoPL format (used for Meta definitions)." msgid "Added classes that represent OpenStack user and project" msgstr "Added classes that represent OpenStack user and project" msgid "Added clone action to environment templates." msgstr "Added clone action to environment templates." msgid "Added filter by 'Name' which only matches package name." msgstr "Added filter by 'Name' which only matches package name." msgid "" "Added magnum plugin to murano, that allows creating/deleting of magnum " "baymodels and bays from MuranoPL" msgstr "" "Added Magnum plugin to Murano, that allows creating/deleting of Magnum " "baymodels and bays from MuranoPL" msgid "Added new tool ``murano-status upgrade check``." msgstr "Added new tool ``murano-status upgrade check``." msgid "" "Added public field to environment templates. GET method for api now displays " "public templates from other projects(tenants)." msgstr "" "Added public field to environment templates. GET method for API now displays " "public templates from other projects(tenants)." msgid "Added public filter to environment templates api." msgstr "Added public filter to environment templates API." msgid "" "Added the ``api_workers`` option to ``murano`` config group. It controls the " "number of API workers launched by murano. If not set, it would default to " "the number of CPUs available." msgstr "" "Added the ``api_workers`` option to ``murano`` config group. It controls the " "number of API workers launched by Murano. If not set, it would default to " "the number of CPUs available." msgid "" "Added the ``description_text`` field to environment and environment " "templates database tables and respective API objects." msgstr "" "Added the ``description_text`` field to environment and environment " "templates database tables and respective API objects." msgid "" "Added the ``driver`` configuration option to the ``networking`` group. It " "allows to explicitly select the networking driver. It supports 'neutron' and " "'nova' options. If set to ``None`` (default), murano attempts to use " "'neutron' if available, 'nova' otherwise. The change is backward compatible." msgstr "" "Added the ``driver`` configuration option to the ``networking`` group. It " "allows to explicitly select the networking driver. It supports 'neutron' and " "'nova' options. If set to ``None`` (default), Murano attempts to use " "'neutron' if available, 'nova' otherwise. The change is backward compatible." msgid "" "Added the ``timeout`` parameter to ``runCommand`` and ``putFile`` methods of " "the ``io.murano.configuration.Linux`` class." msgstr "" "Added the ``timeout`` parameter to ``runCommand`` and ``putFile`` methods of " "the ``io.murano.configuration.Linux`` class." msgid "" "Added the capability to declare MuranoPL YAML methods with variable length " "positional and keyword arguments. This is done using argument ``Usage`` " "attribute. Regular arguments have Standard usage which is the default. " "Variable length args (args in Python) should have \"Usage: VarArgs\" and " "keyword args (kwargs) are declared with \"Usage: KwArgs\". Inside the method " "they are seen as a list and a dictionary correspondingly. For such arguments " "contracts are written for individual argument values thus no need to write " "them as lists/dicts." msgstr "" "Added the capability to declare MuranoPL YAML methods with variable length " "positional and keyword arguments. This is done using argument ``Usage`` " "attribute. Regular arguments have Standard usage which is the default. " "Variable length args (args in Python) should have \"Usage: VarArgs\" and " "keyword args (kwargs) are declared with \"Usage: KwArgs\". Inside the method " "they are seen as a list and a dictionary correspondingly. For such arguments " "contracts are written for individual argument values thus no need to write " "them as lists/dicts." msgid "" "Added the following meta-classes to the core library - ``Title`` " "``Description`` ``HelpText`` ``Hidden`` ``Section`` ``Position`` " "``ModelBuilder``. These classes will later be used to implement dynamic " "object model generation." msgstr "" "Added the following meta-classes to the core library - ``Title`` " "``Description`` ``HelpText`` ``Hidden`` ``Section`` ``Position`` " "``ModelBuilder``. These classes will later be used to implement dynamic " "object model generation." msgid "" "All HOT template outputs are put into a single dictionary property " "'templateOutputs' rather than in a generated property per each output. As a " "result there are no more constraints on output names." msgstr "" "All HOT template outputs are put into a single dictionary property " "'templateOutputs' rather than in a generated property per each output. As a " "result there are no more constraints on output names." msgid "" "Avoid race condition during parallel upload of packages, when packages have " "same tags." msgstr "" "Avoid race condition during parallel upload of packages, when packages have " "same tags." msgid "" "Basic reflection capabilities were added to MuranoPL. Now it is possible to " "get type info with typeinfo() function and using it as a starting point " "obtain information about the class, its methods and properties as well as " "the package of the class. Reflected properties can be used to obtain or set " "its value in a given object or invoke its method." msgstr "" "Basic reflection capabilities were added to MuranoPL. Now it is possible to " "get type info with typeinfo() function and using it as a starting point " "obtain information about the class, its methods and properties as well as " "the package of the class. Reflected properties can be used to obtain or set " "its value in a given object or invoke its method." msgid "Bug Fixes" msgstr "Bug Fixes" msgid "Bumped the RUNTIME_VERSION attribute to 1.5" msgstr "Bumped the RUNTIME_VERSION attribute to 1.5" msgid "" "Changed the type representation in object model. Previous format was to have " "three attributes in \"?\" section of the object - type, classVersion and " "package where only the \"type\" is mandatory. Now they are merged into " "single attribute \"type\" that has a format ``typeName/version@package``. " "Version and package parts are still optional." msgstr "" "Changed the type representation in object model. Previous format was to have " "three attributes in \"?\" section of the object - type, classVersion and " "package where only the \"type\" is mandatory. Now they are merged into " "single attribute \"type\" that has a format ``typeName/version@package``. " "Version and package parts are still optional." msgid "" "Class configs are now also versioned. For class foo.bar version 1.2.3 the " "following file names will be examined: foo.bar-1.2.3.json foo.bar-1.2.3.yaml " "foo.bar-1.2.json foo.bar-1.2.yaml foo.bar-1.json foo.bar-1.yaml In addition " "for classes of version 0.x.y file name without version suffix are also " "examined as a last attempt so the backward compatibility is retained" msgstr "" "Class configs are now also versioned. For class foo.bar version 1.2.3 the " "following file names will be examined: foo.bar-1.2.3.json foo.bar-1.2.3.yaml " "foo.bar-1.2.json foo.bar-1.2.yaml foo.bar-1.json foo.bar-1.yaml In addition " "for classes of version 0.x.y file name without version suffix are also " "examined as a last attempt so the backward compatibility is retained" msgid "" "Classes to work with Cinder volumes were added to core library. Now it is " "possible to create new volume from various sources or use existing volume. " "Also it is possible to attach volumes to instances and boot instances from " "volumes." msgstr "" "Classes to work with Cinder volumes were added to core library. Now it is " "possible to create new volume from various sources or use existing volume. " "Also it is possible to attach volumes to instances and boot instances from " "volumes." msgid "" "Core Library's init scripts used to have various problems detecting pre-" "installed (by DIB) murano-agent on non-ubuntu images. Agent setup script now " "checks wider list of directories before attempting to install murano-agnet " "and service script now does not impose strict script location." msgstr "" "Core Library's init scripts used to have various problems detecting pre-" "installed (by DIB) murano-agent on non-ubuntu images. Agent setup script now " "checks wider list of directories before attempting to install murano-agnet " "and service script now does not impose strict script location." msgid "Current Series Release Notes" msgstr "Current Series Release Notes" msgid "" "Deprecated the 'Usage Action' keyword. For format versions >= 1.4.0, use " "'Scope Public' instead." msgstr "" "Deprecated the 'Usage Action' keyword. For format versions >= 1.4.0, use " "'Scope Public' instead." msgid "Deprecation Notes" msgstr "Deprecation Notes" msgid "" "Due to refactoring, contracts work a little bit faster because there is no " "more need to generate yaql function definition for each contract method on " "each call." msgstr "" "Due to refactoring, contracts work a little bit faster because there is no " "more need to generate a YAQL function definition for each contract method on " "each call." msgid "Enable mocks in MuranoPL tests cases." msgstr "Enable mocks in MuranoPL tests cases." msgid "" "Enabling multiple workers might break workflows under BSD and Windows systems" msgstr "" "Enabling multiple workers might break workflows under BSD and Windows systems" msgid "" "Equality check (assertEqual) in test-runner can now properly compare two " "MuranoPl objects." msgstr "" "Equality check (assertEqual) in test-runner can now properly compare two " "MuranoPl objects." msgid "" "File ``murano-paste.ini has been updated to use oslo HTTPProxyToWSGI " "middleware. Config option ``secure_proxy_ssl_header`` has been removed. " "Please refer to oslo_middleware configuration options if you wish deploy " "murano behind TLS proxy. Most notably you would need to set " "``enable_proxy_headers_parsing`` under group ``oslo_middleware`` to True, to " "enable header parsing." msgstr "" "File ``murano-paste.ini has been updated to use oslo HTTPProxyToWSGI " "middleware. Config option ``secure_proxy_ssl_header`` has been removed. " "Please refer to oslo_middleware configuration options if you wish deploy " "murano behind TLS proxy. Most notably you would need to set " "``enable_proxy_headers_parsing`` under group ``oslo_middleware`` to True, to " "enable header parsing." msgid "" "Fixed 'io.murano.SharedIp' class to properly wotk in muti-region " "environments." msgstr "" "Fixed 'io.murano.SharedIp' class to properly wotk in muti-region " "environments." msgid "" "Fixed a bug when the UI dialog was not displayed in Murano Dashboard for " "applications which don't have UI definitions bundled in the package but " "generate them based on the package contents instead. This usually affected " "HOT-based packages and other non-muranopl-based applications." msgstr "" "Fixed a bug when the UI dialogue was not displayed in Murano Dashboard for " "applications which don't have UI definitions bundled in the package but " "generate them based on the package contents instead. This usually affected " "HOT-based packages and other non-muranopl-based applications." msgid "" "Fixed incorrect murano behaviour if deployed on devstack with keystone v3 by " "default." msgstr "" "Fixed incorrect Murano behaviour if deployed on devstack with keystone v3 by " "default." msgid "" "Fixed the issue that prevented the test-runner from properly invoking " "``setUp`` and ``tearDown`` methods of fixtures in some cases." msgstr "" "Fixed the issue that prevented the test-runner from properly invoking " "``setUp`` and ``tearDown`` methods of fixtures in some cases." msgid "" "For MuranoPL classes new key \"Usage\" was added. By default it is \"Class" "\". But it can also be \"Meta\" to define meta-class. Meta-class has all the " "capabilities of regular classes and in addition has 3 new attributes: " "Cardinality, Applies and Inherited." msgstr "" "For MuranoPL classes new key \"Usage\" was added. By default it is \"Class" "\". But it can also be \"Meta\" to define meta-class. Meta-class has all the " "capabilities of regular classes and in addition has 3 new attributes: " "Cardinality, Applies and Inherited." msgid "" "Heat stacks created by murano during environment deployment now have " "'murano' tag by default. This is controlled by ``stack_tags`` config " "parameter." msgstr "" "Heat stacks created by Murano during environment deployment now have " "'murano' tag by default. This is controlled by ``stack_tags`` config " "parameter." msgid "" "If a VM being a part of some shared-ip group is attached to the network " "which is not owned by the current tenant (shared network) a policy violation " "may occur thus failing the deployment." msgstr "" "If a VM being a part of some shared-ip group is attached to the network " "which is not owned by the current tenant (shared network) a policy violation " "may occur thus failing the deployment." msgid "" "Implemented a new contract function ``template()``. ``template()`` works " "similar to the ``class()`` in regards to the data validation but does not " "instantiate objects. Instead, the data is left in the object model in " "dictionary format so that it could be instantiated later with the ``new()`` " "function. Additionally, the function allows excluding specified properties " "from validation and from the resulting template so that they could be " "provided later. Objects that are assigned to the property or argument with " "``template()`` contract will be automatically converted to their object " "model representation." msgstr "" "Implemented a new contract function ``template()``. ``template()`` works " "similar to the ``class()`` in regards to the data validation but does not " "instantiate objects. Instead, the data is left in the object model in " "dictionary format so that it could be instantiated later with the ``new()`` " "function. Additionally, the function allows excluding specified properties " "from validation and from the resulting template so that they could be " "provided later. Objects that are assigned to the property or argument with " "``template()`` contract will be automatically converted to their object " "model representation." msgid "" "Implemented a new framework for MuranoPL contracts. Now, instead of several " "independent implementations of the same yaql methods (string(), class() " "etc.) all implementations of the same method are combined into single class. " "Therefore, we now have a class per contract method. This also simplifies " "development of new contracts. Each such class can provide methods for data " "transformation (default contract usage), validation that is used to decide " "if the method can be considered an extension method for the value, and json " "schema generation method that was moved from the schema generator script." msgstr "" "Implemented a new framework for MuranoPL contracts. Now, instead of several " "independent implementations of the same YAQL methods (string(), class() " "etc.) all implementations of the same method are combined into single class. " "Therefore, we now have a class per contract method. This also simplifies " "development of new contracts. Each such class can provide methods for data " "transformation (default contract usage), validation that is used to decide " "if the method can be considered an extension method for the value, and JSON " "schema generation method that was moved from the schema generator script." msgid "" "Implemented the capability for API endpoint ``/catalog/packages`` to filter " "'id', 'category', 'tag' properties using the 'in' operator. An example of " "using the 'in' operator for 'id' is 'id=in:id1,id2,id3'. This filter is " "added using syntax that conforms to the latest guidelines from the OpenStack " "API-WG." msgstr "" "Implemented the capability for API endpoint ``/catalog/packages`` to filter " "'id', 'category', 'tag' properties using the 'in' operator. An example of " "using the 'in' operator for 'id' is 'id=in:id1,id2,id3'. This filter is " "added using syntax that conforms to the latest guidelines from the OpenStack " "API-WG." msgid "" "Implemented the capability for the helper methods of Linux class to run " "concurrently if executed for different VM agents." msgstr "" "Implemented the capability for the helper methods of Linux class to run " "concurrently if executed for different VM agents." msgid "" "Internally, both pre-deployment garbage collection (that was done by " "comparision of ``Objects`` and ``ObjectsCopy``) and post-deployment orphan " "object collection are now done through the new GC." msgstr "" "Internally, both pre-deployment garbage collection (that was done by " "comparison of ``Objects`` and ``ObjectsCopy``) and post-deployment orphan " "object collection are now done through the new GC." msgid "" "Introduced a new MuranoPL class ``io.murano.system.GC`` Now MuranoPL garbage " "collector can be used to set up destruction dependencies between murano " "objects. If object Foo is subscribed to object Bar's destruction, it will be " "notified through a specific handler. If both Foo and Bar are going to be " "destroyed during one execution session, Foo will be destroyed after Bar. You " "can omit the handler, in this case destruction order will also be preserved. " "Handler can be a static or a usual function." msgstr "" "Introduced a new MuranoPL class ``io.murano.system.GC`` Now MuranoPL garbage " "collector can be used to set up destruction dependencies between Murano " "objects. If object Foo is subscribed to object Bar's destruction, it will be " "notified through a specific handler. If both Foo and Bar are going to be " "destroyed during one execution session, Foo will be destroyed after Bar. You " "can omit the handler, in this case destruction order will also be preserved. " "Handler can be a static or a usual function." msgid "" "Introduced two YAQL *inject* functions to enable mocks ``def inject(target, " "target_method, mock_object, mock_name)`` and ``def inject(target, " "target_method, yaql_expr)``." msgstr "" "Introduced two YAQL *inject* functions to enable mocks ``def inject(target, " "target_method, mock_object, mock_name)`` and ``def inject(target, " "target_method, yaql_expr)``." msgid "" "It is now possible to configure the notifications to use a different " "transport URL than the RPCs. These could potentially be completely different " "message broker hosts (though they doesn't need to be). If the notification-" "specific configuration is not provided, the notifier will use the same " "transport as the RPCs." msgstr "" "It is now possible to configure the notifications to use a different " "transport URL than the RPCs. These could potentially be completely different " "message broker hosts (though they doesn't need to be). If the notification-" "specific configuration is not provided, the notifier will use the same " "transport as the RPCs." msgid "" "It is now possible to make a GET request to '/deployments' endpoint. This " "will result in deployments for all environments in a specific project " "(tenant) being returned." msgstr "" "It is now possible to make a GET request to '/deployments' endpoint. This " "will result in deployments for all environments in a specific project " "(tenant) being returned." msgid "" "It is now possible to make a PUT request with body equal to '[]' to '/" "environments//services' endpoint. This will result in removing all " "apps from current session. This allows deleting the last application from " "environment from CLI." msgstr "" "It is now possible to make a PUT request with body equal to '[]' to '/" "environments//services' endpoint. This will result in removing all " "apps from current session. This allows deleting the last application from " "environment from CLI." msgid "" "It is now possible to use version specifications like '=0.0.0' when " "``semantic_version`` library version '2.3.1' is installed. Previously such " "specifications caused an error and '==0.0.0' had to be used." msgstr "" "It is now possible to use version specifications like '=0.0.0' when " "``semantic_version`` library version '2.3.1' is installed. Previously such " "specifications caused an error and '==0.0.0' had to be used." msgid "" "It is possible to attach meta-class instances to packages, classes " "(including other meta-classes), properties, methods and method arguments. " "Each of them got new \"Meta\" key containing list (or single scalar) of meta-" "class instances." msgstr "" "It is possible to attach meta-class instances to packages, classes " "(including other meta-classes), properties, methods and method arguments. " "Each of them got new \"Meta\" key containing list (or single scalar) of meta-" "class instances." msgid "" "It was impossible to explicitly provide attribute owner class to getAttr/" "setAttr methods without using namespace prefix or if the type was not from " "the core library." msgstr "" "It was impossible to explicitly provide attribute owner class to getAttr/" "setAttr methods without using namespace prefix or if the type was not from " "the core library." msgid "Known Issues" msgstr "Known Issues" msgid "Liberty Series Release Notes" msgstr "Liberty Series Release Notes" msgid "Mitaka Series Release Notes" msgstr "Mitaka Series Release Notes" msgid "Murano Release Notes" msgstr "Murano Release Notes" msgid "" "Murano engine can be configured to sign all the RabbitMQ messages sent to " "the agents. When the RSA key is provided, engine will provide agents with " "its public part and sign all the messages sent. Agents then will ignore any " "command that was not sent by the engine." msgstr "" "Murano engine can be configured to sign all the RabbitMQ messages sent to " "the agents. When the RSA key is provided, engine will provide agents with " "its public part and sign all the messages sent. Agents then will ignore any " "command that was not sent by the engine." msgid "" "Murano engine is now capable of caching packages on disk for reuse. This is " "controlled by `packages_cache` directory path and `enable_packages_cache` " "boolean parameter (true by default). The packages are cached in a eventlet/" "inter-process safe manner and are cleaned up as soon as newer version of the " "package becomes available (unless it's used by ongoing deployment)" msgstr "" "Murano engine is now capable of caching packages on disk for reuse. This is " "controlled by `packages_cache` directory path and `enable_packages_cache` " "boolean parameter (true by default). The packages are cached in a eventlet/" "inter-process safe manner and are cleaned up as soon as newer version of the " "package becomes available (unless it's used by ongoing deployment)" msgid "" "Murano engine no longer logs methods ``string()``, ``json()``, and " "``yaml()`` of the 'io.murano.system.Resources' class. This is done to " "prevent UnicodeDecodeError's when transferring binary files to murano agent." msgstr "" "Murano engine no longer logs methods ``string()``, ``json()``, and " "``yaml()`` of the 'io.murano.system.Resources' class. This is done to " "prevent UnicodeDecodeError's when transferring binary files to Murano agent." msgid "" "Murano is now able to assign correct floating IPs when using multiple " "external networks. It attempts to choose one that shares a router with " "internal network." msgstr "" "Murano is now able to assign correct Floating IPs when using multiple " "external networks. It attempts to choose one that shares a router with " "internal network." msgid "" "Murano is now able to deploy applications in the environments with disabled " "Neutron Security Groups. Detection is based on the presence of 'security-" "group' Neutron extension." msgstr "" "Murano is now able to deploy applications in the environments with disabled " "Neutron Security Groups. Detection is based on the presence of 'security-" "group' Neutron extension." msgid "" "Murano is now able to work with keystone configured to use a templated " "catalog." msgstr "" "Murano is now able to work with Keystone configured to use a templated " "catalogue." msgid "" "Murano no longer specifies fixed-ip parameter for ports when creating VMs " "attached to networks owned and shared by other tenants. Specifying this " "parameter for non-owned networks could cause violation of neutron policies." msgstr "" "Murano no longer specifies fixed-ip parameter for ports when creating VMs " "attached to networks owned and shared by other tenants. Specifying this " "parameter for non-owned networks could cause violation of Neutron policies." msgid "" "Murano switched to using standard oslo middleware HTTPProxyToWSGI instead of " "custom implementation. This middleware parses the X-Forwarded-Proto HTTP " "header or the Proxy protocol in order to help murano respond with the " "correct URL refs when it's put behind a TLS proxy (such as HAProxy). This " "middleware is disabled by default, but can be enabled via a configuration " "option in the oslo_middleware group." msgstr "" "Murano switched to using standard Oslo middleware HTTPProxyToWSGI instead of " "custom implementation. This middleware parses the X-Forwarded-Proto HTTP " "header or the Proxy protocol in order to help Murano respond with the " "correct URL refs when it's put behind a TLS proxy (such as HAProxy). This " "middleware is disabled by default, but can be enabled via a configuration " "option in the oslo_middleware group." msgid "Murano was migrated to yaql 1.1" msgstr "Murano was migrated to YAQL 1.1" msgid "New Features" msgstr "New Features" msgid "New database migration 015 has to be applied." msgstr "New database migration 015 has to be applied." msgid "" "New format MuranoPL/1.3 can be specified in manifest files. MuranoPL/1.3 is " "identical to MuranoPL/1.2 but except for the fact that MuranoPL/1.3 packages " "cannot be imported to earlier Murano versions. Thus applications that use " "new features of yaql 1.1 should use this format version." msgstr "" "New format MuranoPL/1.3 can be specified in manifest files. MuranoPL/1.3 is " "identical to MuranoPL/1.2 but except for the fact that MuranoPL/1.3 packages " "cannot be imported to earlier Murano versions. Thus applications that use " "new features of YAQL 1.1 should use this format version." msgid "" "New framework for ``murano-status upgrade check`` command is added. This " "framework allows adding various checks which can be run before a Murano " "upgrade to ensure if the upgrade can be performed safely." msgstr "" "New framework for ``murano-status upgrade check`` command is added. This " "framework allows adding various checks which can be run before a Murano " "upgrade to ensure if the upgrade can be performed safely." msgid "" "New method type: extension methods. Extension methods enable you to \"add\" " "methods to existing types without modifying the original type. Extension " "methods are a special kind of static method, but they are called as if they " "were instance methods on the extended type. Extension methods are identified " "by \"Usage: Extension\" and the type they extend is determined by their " "first argument contract. Thus such methods must have at lease one parameter." msgstr "" "New method type: extension methods. Extension methods enable you to \"add\" " "methods to existing types without modifying the original type. Extension " "methods are a special kind of static method, but they are called as if they " "were instance methods on the extended type. Extension methods are identified " "by \"Usage: Extension\" and the type they extend is determined by their " "first argument contract. Thus such methods must have at lease one parameter." msgid "" "New on-request garbage collector for MuranoPL objects were implemented. " "Garbage collection is triggered by io.murano.system.GC.collect() static " "method. Garbage collector destroys all object that are not reachable " "anymore. GC can handle objects with cross-references and isolated object " "graphs. When portion of object model becomes not reachable it destroyed in " "predictable order such that child objects get destroyed before their parents " "and, when possible, before objects that are subscribed to their destruction " "notifications." msgstr "" "New on-request garbage collector for MuranoPL objects were implemented. " "Garbage collection is triggered by io.murano.system.GC.collect() static " "method. Garbage collector destroys all object that are not reachable any " "more. GC can handle objects with cross-references and isolated object " "graphs. When portion of object model becomes not reachable it destroyed in " "predictable order such that child objects get destroyed before their parents " "and, when possible, before objects that are subscribed to their destruction " "notifications." msgid "" "New operator *is* was added to MuranoPL. Now it is possible to test if " "MuranoPL object is of particular type." msgstr "" "New operator *is* was added to MuranoPL. Now it is possible to test if " "MuranoPL object is of particular type." msgid "" "New plugin 'murano_heat-translator_plugin' was added. Now it is possible to " "deploy applications from CSAR templates." msgstr "" "New plugin 'murano_heat-translator_plugin' was added. Now it is possible to " "deploy applications from CSAR templates." msgid "" "New type-level keyword \"Import\" which can be either list or scalar that " "specifies type names which extensions methods should be imported into class " "context and thus become available to type members." msgstr "" "New type-level keyword \"Import\" which can be either list or scalar that " "specifies type names which extensions methods should be imported into class " "context and thus become available to type members." msgid "Newton Series Release Notes" msgstr "Newton Series Release Notes" msgid "Now admin can delete user's environments." msgstr "Now admin can delete user's environments." msgid "" "Now all native MuranoPL methods (those that are written in Python) have \"?" "muranoMethod\" metadata key referring to MuranoMethod instance for the " "method." msgstr "" "Now all native MuranoPL methods (those that are written in Python) have \"?" "muranoMethod\" metadata key referring to MuranoMethod instance for the " "method." msgid "" "Now it is possible to have several classes in one YAML file. Classes are " "separated using YAML document separator (3 dashes). Empty documents are " "skipped. If the class doesn't have Namespace section corresponding section " "from the previous class in the same file is used. Thus it is possible to " "declare namespace prefixes once at the file header. Even if there are " "several classes in one file all of them are still required to be declared in " "manifest file." msgstr "" "Now it is possible to have several classes in one YAML file. Classes are " "separated using YAML document separator (3 dashes). Empty documents are " "skipped. If the class doesn't have Namespace section corresponding section " "from the previous class in the same file is used. Thus it is possible to " "declare namespace prefixes once at the file header. Even if there are " "several classes in one file all of them are still required to be declared in " "manifest file." msgid "Ocata Series Release Notes" msgstr "Ocata Series Release Notes" msgid "" "Operator can now use new CLI tool ``murano-status upgrade check`` to check " "if Murano deployment can be safely upgraded from N-1 to N release." msgstr "" "Operator can now use new CLI tool ``murano-status upgrade check`` to check " "if Murano deployment can be safely upgraded from N-1 to N release." msgid "Other Notes" msgstr "Other Notes" msgid "Pike Series Release Notes" msgstr "Pike Series Release Notes" msgid "Prelude" msgstr "Prelude" msgid "" "Prevented the resource leak for objects created during deployment with " "``new()`` function call." msgstr "" "Prevented the resource leak for objects created during deployment with " "``new()`` function call." msgid "" "Previously Cinder Volumes created in MuranoPL were not released correctly on " "object destruction. The issue is now fixed." msgstr "" "Previously Cinder Volumes created in MuranoPL were not released correctly on " "object destruction. The issue is now fixed." msgid "" "Previously murano assumed that the service user and service project are in " "the 'Default' domain. These values can now be set in ``keystone_authtoken`` " "config group." msgstr "" "Previously Murano assumed that the service user and service project are in " "the 'Default' domain. These values can now be set in ``keystone_authtoken`` " "config group." msgid "" "Previously, when a class overrode a property from its parent class the value " "was stored separately for both of them, transformed by each of the " "contracts. Thus each class saw the value of its contract. In absolute " "majority of the cases, the observed value was the same. However, if the " "contracts were compatible on the provided value (say int() and string() " "contracts on the value \"123\") they were different. This is considered to " "be a bad pattern. Now, the value is stored only once per object and " "transformed by the contract defined in the actual object type. All base " "contracts are used to validate the transformed object thus this pattern will " "not work anymore." msgstr "" "Previously, when a class overrode a property from its parent class the value " "was stored separately for both of them, transformed by each of the " "contracts. Thus each class saw the value of its contract. In absolute " "majority of the cases, the observed value was the same. However, if the " "contracts were compatible on the provided value (say int() and string() " "contracts on the value \"123\") they were different. This is considered to " "be a bad pattern. Now, the value is stored only once per object and " "transformed by the contract defined in the actual object type. All base " "contracts are used to validate the transformed object thus this pattern will " "not work any more." msgid "" "Previously, when pre-deployment garbage collection occurred it executed ``." "destroy`` method for objects that were present in the ``ObjectsCopy`` " "section of the object model (which is the the snapshot of the model after " "last deployment) and not present in the current model anymore (because they " "were deleted through the API between deployments). If the destroyed objects " "were to access another object that was not deleted it was accessing its copy " "from the ``ObjectsCopy``. Thus any changes to the internal state made by " "that object were lost after the garbage collection finished (that is, before " "the ``.deploy`` method call) and could not affect the deployment. Now, if " "the object is present in both ``Objects`` and ``ObjectsCopy``, a single " "instance (the one from ``Objects``) is used for both garbage collection and " "deployment. As a consequence, instances (in their ``.destroy`` method) now " "may observe changes made to other objects they refer if they were not " "deleted, but modified through the API. In some rare cases, it may break " "existing applications." msgstr "" "Previously, when pre-deployment garbage collection occurred it executed ``." "destroy`` method for objects that were present in the ``ObjectsCopy`` " "section of the object model (which is the the snapshot of the model after " "last deployment) and not present in the current model any more (because they " "were deleted through the API between deployments). If the destroyed objects " "were to access another object that was not deleted it was accessing its copy " "from the ``ObjectsCopy``. Thus any changes to the internal state made by " "that object were lost after the garbage collection finished (that is, before " "the ``.deploy`` method call) and could not affect the deployment. Now, if " "the object is present in both ``Objects`` and ``ObjectsCopy``, a single " "instance (the one from ``Objects``) is used for both garbage collection and " "deployment. As a consequence, instances (in their ``.destroy`` method) now " "may observe changes made to other objects they refer if they were not " "deleted, but modified through the API. In some rare cases, it may break " "existing applications." msgid "" "Python 2.7 support has been dropped. Last release of Murano to support " "python 2.7 is OpenStack Train. The minimum version of Python now supported " "by Murano is Python 3.6." msgstr "" "Python 2.7 support has been dropped. Last release of Murano to support " "python 2.7 is OpenStack Train. The minimum version of Python now supported " "by Murano is Python 3.6." msgid "Queens Series Release Notes" msgstr "Queens Series Release Notes" msgid "" "Remove hardcoded constant called 'ITERATORS_LIMIT', that can be exceeded " "(2000) having big amount of objects. Introduce dsl_iterators_limit " "configuration option instead of constant." msgstr "" "Remove hardcoded constant called 'ITERATORS_LIMIT', that can be exceeded " "(2000) having big amount of objects. Introduce dsl_iterators_limit " "configuration option instead of constant." msgid "" "Removed `show_categories` endpoint from the application catalog API which " "has been deprecated since the Liberty cycle. Use `list_categories` instead." msgstr "" "Removed `show_categories` endpoint from the application catalogue API which " "has been deprecated since the Liberty cycle. Use `list_categories` instead." msgid "" "Removed the need for Keystone v2 options (admin_user, admin_password, " "admin_tenant_name) when Keystone v3 is in use." msgstr "" "Removed the need for Keystone v2 options (admin_user, admin_password, " "admin_tenant_name) when Keystone v3 is in use." msgid "" "Renamed the ``workers`` option from the ``engine`` group to " "``engine_workers`` to reduce ambiguity with the ``api_workers`` option." msgstr "" "Renamed the ``workers`` option from the ``engine`` group to " "``engine_workers`` to reduce ambiguity with the ``api_workers`` option." msgid "" "RequestContext now serialises it's roles. This should allow murano to work " "correctly (and allow rules like \"role:xxx\" in policy.json) when using oslo." "context prior to 2.2.0 and oslo.policy" msgstr "" "RequestContext now serialises it's roles. This should allow Murano to work " "correctly (and allow rules like \"role:xxx\" in policy.json) when using oslo." "context prior to 2.2.0 and oslo.policy" msgid "" "Requires a valid secret storage backend (e.g. Barbican) to be configured via " "Castellan." msgstr "" "Requires a valid secret storage backend (e.g. Barbican) to be configured via " "Castellan." msgid "Rocky Series Release Notes" msgstr "Rocky Series Release Notes" msgid "Security Issues" msgstr "Security Issues" msgid "" "Separated murano service broker from murano-api into a murano-cfapi service. " "Created a separate database and ``paste.ini`` for service broker." msgstr "" "Separated Murano service broker from murano-api into a murano-cfapi service. " "Created a separate database and ``paste.ini`` for service broker." msgid "" "Since Newton release, heat is available as a devstack plugin. So we remove " "heat as enable_service in devstack." msgstr "" "Since Newton release, heat is available as a devstack plugin. So we remove " "heat as enable_service in devstack." msgid "" "Split ``Instance``'s ``.deploy()`` method into two phases - " "``beginDeploy()`` and ``endDeploy()``. This allows the application developer " "to provision multiple instances at once without the need to push the stack " "for each instance." msgstr "" "Split ``Instance``'s ``.deploy()`` method into two phases - " "``beginDeploy()`` and ``endDeploy()``. This allows the application developer " "to provision multiple instances at once without the need to push the stack " "for each instance." msgid "" "Static methods and properties were introduced. Both properties and methods " "can be marked as Usage: Static Statics can be accessed using ns:Class." "property / ns:Class.method(), :Class.property / :Class.method() to access " "class from current namespace or type('full.name').property / type('full." "name').method() to use full type name." msgstr "" "Static methods and properties were introduced. Both properties and methods " "can be marked as Usage: Static Statics can be accessed using ns:Class." "property / ns:Class.method(), :Class.property / :Class.method() to access " "class from current namespace or type('full.name').property / type('full." "name').method() to use full type name." msgid "Stein Series Release Notes" msgstr "Stein Series Release Notes" msgid "" "The ``string()`` contract no longer converts everything to string values. " "Now it only converts scalar values to strings. Previous behavior allowed " "``string()`` property to accept lists and convert them to their Python " "string representation which is clearly not what developers expected." msgstr "" "The ``string()`` contract no longer converts everything to string values. " "Now it only converts scalar values to strings. Previous behaviour allowed " "``string()`` property to accept lists and convert them to their Python " "string representation which is clearly not what developers expected." msgid "" "The contract ``class()`` now uses the same approach to load classes from " "dictionaries. Thus the same two syntaxes apply there as well." msgstr "" "The contract ``class()`` now uses the same approach to load classes from " "dictionaries. Thus the same two syntaxes apply there as well." msgid "" "The test-runner now does not output logs to stderr by default unless a " "'use_stderr' parameter is specified in the configuration file." msgstr "" "The test-runner now does not output logs to stderr by default unless a " "'use_stderr' parameter is specified in the configuration file." msgid "" "The test-runner now outputs the tests it runs and their results to stdout " "directly, instead of the logging system." msgstr "" "The test-runner now outputs the tests it runs and their results to stdout " "directly, instead of the logging system." msgid "" "The value that is stored in the object's properties is obtained by executing " "special \"finalize\" contract implementation which by default returns the " "input value unmodified. Because validation happens on the transformed value " "before it gets finalized it is possible for transformation to return a value " "that will pass the validation though the final value won't. This is used to " "relax the template() contract limitation that prevented child class from " "excluding additional properties from the template." msgstr "" "The value that is stored in the object's properties is obtained by executing " "special \"finalise\" contract implementation which by default returns the " "input value unmodified. Because validation happens on the transformed value " "before it gets finalized it is possible for transformation to return a value " "that will pass the validation though the final value won't. This is used to " "relax the template() contract limitation that prevented child class from " "excluding additional properties from the template." msgid "Train Series Release Notes" msgstr "Train Series Release Notes" msgid "Upgrade Notes" msgstr "Upgrade Notes" msgid "" "Users can now assign an existing security group to an application as an " "alternative to using the one created by Murano's ``SecurityGroupManager``." msgstr "" "Users can now assign an existing security group to an application as an " "alternative to using the one created by Murano's ``SecurityGroupManager``." msgid "" "When updating to Mitaka, the operator should update service name and type " "for endpoint in keystone from \"application_catalog\" to \"application-" "catalog\" if SQL is used for catalog back-end driver." msgstr "" "When updating to Mitaka, the operator should update service name and type " "for endpoint in Keystone from \"application_catalog\" to \"application-" "catalog\" if SQL is used for catalogue back-end driver." msgid "" "Whenever murano-engine accesses script files, text script files are opened " "in 'rU' mode which recognizes all types of newlines, and binary files are " "opened in 'rb' mode to prevent their corruption." msgstr "" "Whenever murano-engine accesses script files, text script files are opened " "in 'rU' mode which recognises all types of newlines, and binary files are " "opened in 'rb' mode to prevent their corruption." msgid "" "added default rules to NeutronSecurityGroupManager to avoid error if " "`createDefaultInstanceSecurityGroupRules()` method isn't extended in " "inheritor and SecurityGroups isn't created in application with call of " "`addGroupIngress()` method." msgstr "" "added default rules to NeutronSecurityGroupManager to avoid error if " "`createDefaultInstanceSecurityGroupRules()` method isn't extended in " "inheritor and SecurityGroups isn't created in application with call of " "`addGroupIngress()` method." msgid "" "cve-2016-4972 has been addressed. In ceveral places Murano used loaders " "inherited directly from yaml.Loader when parsing MuranoPL and UI files from " "packages. This is unsafe, because this loader is capable of creating custom " "python objects from specifically constructed yaml files. With this change " "all yaml loading operations are done using safe loaders instead." msgstr "" "cve-2016-4972 has been addressed. In several places Murano used loaders " "inherited directly from yaml.Loader when parsing MuranoPL and UI files from " "packages. This is unsafe, because this loader is capable of creating custom " "Python objects from specifically constructed YAML files. With this change " "all YAML loading operations are done using safe loaders instead." msgid "io.murano.configuration.Linux methods are now static" msgstr "io.murano.configuration.Linux methods are now static" msgid "" "io.murano.system.GC.isDestroyed() static method was added. It checks if the " "object is destroyed and thus no methods can be invoked on it." msgstr "" "io.murano.system.GC.isDestroyed() static method was added. It checks if the " "object is destroyed and thus no methods can be invoked on it." msgid "" "io.murano.system.GC.isDoomed() static method was added. It can be used " "within the ``.destroy`` method to test if other object is also going to be " "destroyed." msgstr "" "io.murano.system.GC.isDoomed() static method was added. It can be used " "within the ``.destroy`` method to test if other object is also going to be " "destroyed." msgid "" "io.murano.system.HeatStack.push can be called with async => true flag for " "asynchronous push" msgstr "" "io.murano.system.HeatStack.push can be called with async => true flag for " "asynchronous push" murano-9.0.0/releasenotes/source/locale/de/0000775000175000017500000000000013656750351020676 5ustar zuulzuul00000000000000murano-9.0.0/releasenotes/source/locale/de/LC_MESSAGES/0000775000175000017500000000000013656750351022463 5ustar zuulzuul00000000000000murano-9.0.0/releasenotes/source/locale/de/LC_MESSAGES/releasenotes.po0000664000175000017500000000321313656750212025507 0ustar zuulzuul00000000000000# Andreas Jaeger , 2019. #zanata msgid "" msgstr "" "Project-Id-Version: murano\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-09-25 11:20+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2019-09-26 12:52+0000\n" "Last-Translator: Andreas Jaeger \n" "Language-Team: German\n" "Language: de\n" "X-Generator: Zanata 4.3.3\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" msgid "1.0.2" msgstr "1.0.2" msgid "1.0.3" msgstr "1.0.3" msgid "2.0.0" msgstr "2.0.0" msgid "2.0.1" msgstr "2.0.1" msgid "2.0.2" msgstr "2.0.2" msgid "2.0.2-12" msgstr "2.0.2-12" msgid "3.0.0" msgstr "3.0.0" msgid "3.0.0-15" msgstr "3.0.0-15" msgid "3.1.0" msgstr "3.1.0" msgid "3.2.0" msgstr "3.2.0" msgid "4.0.0" msgstr "4.0.0" msgid "5.0.0" msgstr "5.0.0" msgid "7.0.0" msgstr "7.0.0" msgid "Current Series Release Notes" msgstr "Aktuelle Serie Releasenotes" msgid "Liberty Series Release Notes" msgstr "Liberty Serie Releasenotes" msgid "Mitaka Series Release Notes" msgstr "Mitaka Serie Releasenotes" msgid "Murano Release Notes" msgstr "Murano Releasenotes" msgid "Newton Series Release Notes" msgstr "Newton Serie Releasenotes" msgid "Ocata Series Release Notes" msgstr "Ocata Serie Releasenotes" msgid "Pike Series Release Notes" msgstr "Pike Serie Releasenotes" msgid "Queens Series Release Notes" msgstr "Queens Serie Releasenotes" msgid "Rocky Series Release Notes" msgstr "Rocky Serie Releasenotes" msgid "Stein Series Release Notes" msgstr "Stein Serie Releasenotes" msgid "Train Series Release Notes" msgstr "Train Serie Releasenotes" murano-9.0.0/releasenotes/source/pike.rst0000664000175000017500000000021713656750212020525 0ustar zuulzuul00000000000000=================================== Pike Series Release Notes =================================== .. release-notes:: :branch: stable/pike murano-9.0.0/bandit.yaml0000664000175000017500000001710713656750211015204 0ustar zuulzuul00000000000000 ### This config may optionally select a subset of tests to run or skip by ### filling out the 'tests' and 'skips' lists given below. If no tests are ### specified for inclusion then it is assumed all tests are desired. The skips ### set will remove specific tests from the include set. This can be controlled ### using the -t/-s CLI options. Note that the same test ID should not appear ### in both 'tests' and 'skips', this would be nonsensical and is detected by ### Bandit at runtime. # Available tests: # B101 : assert_used # B102 : exec_used # B103 : set_bad_file_permissions # B104 : hardcoded_bind_all_interfaces # B105 : hardcoded_password_string # B106 : hardcoded_password_funcarg # B107 : hardcoded_password_default # B108 : hardcoded_tmp_directory # B109 : password_config_option_not_marked_secret # B110 : try_except_pass # B111 : execute_with_run_as_root_equals_true # B112 : try_except_continue # B201 : flask_debug_true # B301 : pickle # B302 : marshal # B303 : md5 # B304 : ciphers # B305 : cipher_modes # B306 : mktemp_q # B307 : eval # B308 : mark_safe # B309 : httpsconnection # B310 : urllib_urlopen # B311 : random # B312 : telnetlib # B313 : xml_bad_cElementTree # B314 : xml_bad_ElementTree # B315 : xml_bad_expatreader # B316 : xml_bad_expatbuilder # B317 : xml_bad_sax # B318 : xml_bad_minidom # B319 : xml_bad_pulldom # B320 : xml_bad_etree # B321 : ftplib # B401 : import_telnetlib # B402 : import_ftplib # B403 : import_pickle # B404 : import_subprocess # B405 : import_xml_etree # B406 : import_xml_sax # B407 : import_xml_expat # B408 : import_xml_minidom # B409 : import_xml_pulldom # B410 : import_lxml # B411 : import_xmlrpclib # B412 : import_httpoxy # B501 : request_with_no_cert_validation # B502 : ssl_with_bad_version # B503 : ssl_with_bad_defaults # B504 : ssl_with_no_version # B505 : weak_cryptographic_key # B506 : yaml_load # B601 : paramiko_calls # B602 : subprocess_popen_with_shell_equals_true # B603 : subprocess_without_shell_equals_true # B604 : any_other_function_with_shell_equals_true # B605 : start_process_with_a_shell # B606 : start_process_with_no_shell # B607 : start_process_with_partial_path # B608 : hardcoded_sql_expressions # B609 : linux_commands_wildcard_injection # B701 : jinja2_autoescape_false # B702 : use_of_mako_templates # (optional) list included test IDs here, eg '[B101, B406]': tests: # (optional) list skipped test IDs here, eg '[B101, B406]': skips: [B104] ### (optional) plugin settings - some test plugins require configuration data ### that may be given here, per-plugin. All bandit test plugins have a built in ### set of sensible defaults and these will be used if no configuration is ### provided. It is not necessary to provide settings for every (or any) plugin ### if the defaults are acceptable. #any_other_function_with_shell_equals_true: # no_shell: [os.execl, os.execle, os.execlp, os.execlpe, os.execv, os.execve, os.execvp, # os.execvpe, os.spawnl, os.spawnle, os.spawnlp, os.spawnlpe, os.spawnv, os.spawnve, # os.spawnvp, os.spawnvpe, os.startfile] # shell: [os.system, os.popen, os.popen2, os.popen3, os.popen4, popen2.popen2, popen2.popen3, # popen2.popen4, popen2.Popen3, popen2.Popen4, commands.getoutput, commands.getstatusoutput] # subprocess: [subprocess.Popen, subprocess.call, subprocess.check_call, subprocess.check_output, # utils.execute, utils.execute_with_timeout] #execute_with_run_as_root_equals_true: # function_names: [ceilometer.utils.execute, cinder.utils.execute, neutron.agent.linux.utils.execute, # nova.utils.execute, nova.utils.trycmd] #hardcoded_tmp_directory: # tmp_dirs: [/tmp, /var/tmp, /dev/shm] #linux_commands_wildcard_injection: # no_shell: [os.execl, os.execle, os.execlp, os.execlpe, os.execv, os.execve, os.execvp, # os.execvpe, os.spawnl, os.spawnle, os.spawnlp, os.spawnlpe, os.spawnv, os.spawnve, # os.spawnvp, os.spawnvpe, os.startfile] # shell: [os.system, os.popen, os.popen2, os.popen3, os.popen4, popen2.popen2, popen2.popen3, # popen2.popen4, popen2.Popen3, popen2.Popen4, commands.getoutput, commands.getstatusoutput] # subprocess: [subprocess.Popen, subprocess.call, subprocess.check_call, subprocess.check_output, # utils.execute, utils.execute_with_timeout] #password_config_option_not_marked_secret: # function_names: [oslo.config.cfg.StrOpt, oslo_config.cfg.StrOpt] #ssl_with_bad_defaults: # bad_protocol_versions: [PROTOCOL_SSLv2, SSLv2_METHOD, SSLv23_METHOD, PROTOCOL_SSLv3, # PROTOCOL_TLSv1, SSLv3_METHOD, TLSv1_METHOD] #ssl_with_bad_version: # bad_protocol_versions: [PROTOCOL_SSLv2, SSLv2_METHOD, SSLv23_METHOD, PROTOCOL_SSLv3, # PROTOCOL_TLSv1, SSLv3_METHOD, TLSv1_METHOD] #start_process_with_a_shell: # no_shell: [os.execl, os.execle, os.execlp, os.execlpe, os.execv, os.execve, os.execvp, # os.execvpe, os.spawnl, os.spawnle, os.spawnlp, os.spawnlpe, os.spawnv, os.spawnve, # os.spawnvp, os.spawnvpe, os.startfile] # shell: [os.system, os.popen, os.popen2, os.popen3, os.popen4, popen2.popen2, popen2.popen3, # popen2.popen4, popen2.Popen3, popen2.Popen4, commands.getoutput, commands.getstatusoutput] # subprocess: [subprocess.Popen, subprocess.call, subprocess.check_call, subprocess.check_output, # utils.execute, utils.execute_with_timeout] #start_process_with_no_shell: # no_shell: [os.execl, os.execle, os.execlp, os.execlpe, os.execv, os.execve, os.execvp, # os.execvpe, os.spawnl, os.spawnle, os.spawnlp, os.spawnlpe, os.spawnv, os.spawnve, # os.spawnvp, os.spawnvpe, os.startfile] # shell: [os.system, os.popen, os.popen2, os.popen3, os.popen4, popen2.popen2, popen2.popen3, # popen2.popen4, popen2.Popen3, popen2.Popen4, commands.getoutput, commands.getstatusoutput] # subprocess: [subprocess.Popen, subprocess.call, subprocess.check_call, subprocess.check_output, # utils.execute, utils.execute_with_timeout] #start_process_with_partial_path: # no_shell: [os.execl, os.execle, os.execlp, os.execlpe, os.execv, os.execve, os.execvp, # os.execvpe, os.spawnl, os.spawnle, os.spawnlp, os.spawnlpe, os.spawnv, os.spawnve, # os.spawnvp, os.spawnvpe, os.startfile] # shell: [os.system, os.popen, os.popen2, os.popen3, os.popen4, popen2.popen2, popen2.popen3, # popen2.popen4, popen2.Popen3, popen2.Popen4, commands.getoutput, commands.getstatusoutput] # subprocess: [subprocess.Popen, subprocess.call, subprocess.check_call, subprocess.check_output, # utils.execute, utils.execute_with_timeout] #subprocess_popen_with_shell_equals_true: # no_shell: [os.execl, os.execle, os.execlp, os.execlpe, os.execv, os.execve, os.execvp, # os.execvpe, os.spawnl, os.spawnle, os.spawnlp, os.spawnlpe, os.spawnv, os.spawnve, # os.spawnvp, os.spawnvpe, os.startfile] # shell: [os.system, os.popen, os.popen2, os.popen3, os.popen4, popen2.popen2, popen2.popen3, # popen2.popen4, popen2.Popen3, popen2.Popen4, commands.getoutput, commands.getstatusoutput] # subprocess: [subprocess.Popen, subprocess.call, subprocess.check_call, subprocess.check_output, # utils.execute, utils.execute_with_timeout] #subprocess_without_shell_equals_true: # no_shell: [os.execl, os.execle, os.execlp, os.execlpe, os.execv, os.execve, os.execvp, # os.execvpe, os.spawnl, os.spawnle, os.spawnlp, os.spawnlpe, os.spawnv, os.spawnve, # os.spawnvp, os.spawnvpe, os.startfile] # shell: [os.system, os.popen, os.popen2, os.popen3, os.popen4, popen2.popen2, popen2.popen3, # popen2.popen4, popen2.Popen3, popen2.Popen4, commands.getoutput, commands.getstatusoutput] # subprocess: [subprocess.Popen, subprocess.call, subprocess.check_call, subprocess.check_output, # utils.execute, utils.execute_with_timeout] #try_except_continue: {check_typed_exception: false} #try_except_pass: {check_typed_exception: false} murano-9.0.0/api-ref/0000775000175000017500000000000013656750351014401 5ustar zuulzuul00000000000000murano-9.0.0/api-ref/source/0000775000175000017500000000000013656750351015701 5ustar zuulzuul00000000000000murano-9.0.0/api-ref/source/v1/0000775000175000017500000000000013656750351016227 5ustar zuulzuul00000000000000murano-9.0.0/api-ref/source/v1/deployments.inc0000664000175000017500000000262613656750211021266 0ustar zuulzuul00000000000000.. -*- rst -*- =========== Deployments =========== Deployments track environments that have been deployed, either successfully or otherwise. Each deployment contains the following information: * A "Class: Environment" object (io.murano.Environment) with a name. Each "Class: Environment" object defines an environment in terms of the deployment process and groups all Applications and their related infrastructures together. * An object (or objects) referring to networks that exist. * A list of Applications (e.g. io.murano.apps.linux.Telnet). Each Application contains, or otherwise references, anything it requires. The Telnet example has a property called ``instance`` whose contract states it must be of type ``io.murano.resources.Instance``. In turn, the Instance has properties it requires (like a ``name``, a ``flavor``, or a keypair name, ``keyname``). List deployments ================ .. rest_method:: GET /deployments List deployments for all environments for the current tenant (project). Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - deployments: deployments Response Example ---------------- .. literalinclude:: samples/deployments-list-response.json :language: javascript murano-9.0.0/api-ref/source/v1/environments.inc0000664000175000017500000001605113656750211021447 0ustar zuulzuul00000000000000.. -*- rst -*- ============ Environments ============ An environment is a set of logically connected applications that are grouped together for easy management. By default, each environment has a single network for all its applications, and the deployment of the environment is defined in a single heat stack. Applications in different environments are always independent from one another. An environment is a single unit of deployment. This means that you can not only deploy an environment that contains a single application but an environment that contains multiple applications. List environments ================= .. rest_method:: GET /environments Get a list of existing Environments Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 403 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - all_tenants: all_tenants - tenant: tenant Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - environments: environments - status: env_status - created: created - updated: updated - name: env_name - description_text: env_description - tenant_id: tenant_id - version: env_version - id: env_id Response Example ---------------- .. literalinclude:: samples/environments-list-response.json :language: javascript Create environment ================== .. rest_method:: POST /environments Creates an environment. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 409 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - name: env_name_request Request Example --------------- .. literalinclude:: samples/environment-create-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - id: env_id - name: env_name - description_text: env_description - created: created - updated: updated - tenant_id: tenant_id - version: env_version - services: services - acquired_by: acquired_by Response Example ---------------- .. literalinclude:: samples/environment-create-response.json :language: javascript Rename environment ================== .. rest_method:: PUT /environments/{env_id} Renames an environment. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 409 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_id: env_id_url - name: env_name_update Request Example --------------- .. literalinclude:: samples/environment-update-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - id: env_id - name: env_name - description_text: env_description - created: created - updated: updated - tenant_id: tenant_id - version: env_version - services: services - acquired_by: acquired_by Response Example ---------------- .. literalinclude:: samples/environment-update-response.json :language: javascript Show environment details ======================== .. rest_method:: GET /environments/{env_id} Shows details for an environment. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 403 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_id: env_id_url Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - id: env_id - name: env_name - description_text: env_description - created: created - updated: updated - tenant_id: tenant_id - version: env_version - services: services - acquired_by: acquired_by Response Example ---------------- .. literalinclude:: samples/environment-show-response.json :language: javascript Delete environment ================== .. rest_method:: DELETE /environments/{env_id} Remove specified Environment. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 403 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_id: env_id_url - abandon: abandon Response Parameters ------------------- This request does not return anything in the response body. Get environment model ===================== .. rest_method:: GET /environments/{env_id}/model/{path} Get an Environment model. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 403 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_id: env_id_url - path: env_model_path Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - defaultNetworks: env_default_networks - region: env_region - regions: regions - name: env_name - services: services - ?: env_model Response Example ---------------- .. literalinclude:: samples/environments-model-response.json :language: javascript Update environment model ======================== .. rest_method:: PATCH /environments/{env_id}/model/ Update an environment model. Response Codes -------------- .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 - 409 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_id: env_id_url Request Example --------------- .. literalinclude:: samples/environment-model-update-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - defaultNetworks: env_default_networks - region: env_region - regions: regions - name: env_name - services: services - ?: env_model Response Example ---------------- .. literalinclude:: samples/environments-model-response.json :language: javascript Get environment last status =========================== .. rest_method:: GET /environments/{env_id}/lastStatus Get the last status for the environment for each service in the environment. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_id: env_id_url Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - lastStatuses: env_last_status Response Example ---------------- .. literalinclude:: samples/environment-last-status-response.json :language: javascript murano-9.0.0/api-ref/source/v1/actions.inc0000664000175000017500000000502113656750211020353 0ustar zuulzuul00000000000000.. -*- rst -*- ========================== Actions and Static Actions ========================== A Murano action is a type of MuranoPL method. The differences between a regular MuranoPL method are: * Action is executed on deployed objects. * Action execution is initiated by API request: you do not have to call the method manually. Thus, Murano actions allow performing any operations on objects, like: * Getting information from the VM, like a config that is generated during the deployment * VM rebooting * Scaling A list of available actions is formed during the environment deployment. Following deployment completion, you can call the action asynchronously. Murano engine generates a task for every action thereby allowing the action status to be tracked. Execute action ============== .. rest_method:: POST /environments/{environment_id}/actions/{action_id} Execute action on deployed environment. Request Parameters ------------------- .. rest_parameters:: parameters.yaml - environment_id: env_id_url - action_id: action_id_url Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 403 - 404 Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - task_id: task_id Response Example ---------------- .. literalinclude:: samples/execute-action-response.json :language: javascript Get Action Result ================= .. rest_method:: GET /environments/{environment_id}/actions/{task_id} Retrieve action result for action executed on deployed environment. Request Parameters ------------------- .. rest_parameters:: parameters.yaml - environment_id: env_id_url - task_id: task_id_url Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 403 - 404 Execute static action ===================== .. rest_method:: POST /actions Execute static action. Static methods can be called if they are exposed by specifying Scope: Public in the MuranoPL object and the result of its execution will be returned. Request Example --------------- .. literalinclude:: samples/static-action-request.json :language: javascript Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 403 - 404 Response Example ---------------- .. literalinclude:: samples/static-action-response.json :language: javascript murano-9.0.0/api-ref/source/v1/parameters.yaml0000664000175000017500000004065013656750211021256 0ustar zuulzuul00000000000000# variables in header request_id: description: | A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs. in: header required: true type: UUID # variables in path abandon: description: | Indicates how to delete environment. ``True`` is used when just database must be cleaned. ``False`` is used if all resources used by environment must be destroyed. in: path required: false default: false type: boolean action_id_url: description: | The UUID of the action to be executed on the deployed environment. in: path required: true type: string category_id_url: description: | The UUID of the category. in: path required: true type: string env_id_url: description: | The UUID of the environment. in: path required: true type: string env_model_path: description: | Allows to get a specific section of the model, for example ``defaultNetworks``, ``region`` or ``?`` or any of the subsections. in: path required: false type: string env_name_update: description: | A name for the environment. Name must be at least one non-white space symbol. in: path required: true type: string pkg_id_url: description: | The UUID of the package. in: path required: true type: string service_id_url: description: The UUID of a service belonging to an environment template. in: path required: true type: string session_id_url: description: | The UUID of the session. in: path required: true type: string task_id_url: description: | The UUID of the task associated with an action executed on a deployed environment. in: path required: true type: string template_id_url: description: | The UUID of the environment template. in: path required: true type: string template_is_public_url: description: | Indicates whether public environment templates are listed or not. The following options are possible: - ``True``. Public environments templates from all projects are listed. - ``False``. Private environments templates from current project are listed. - ``empty``. All project templates plus public templates from all projects. are listed in: path required: false default: false type: boolean # variables in query all_tenants: description: | Indicates whether environments from all projects are listed. ``True`` environments from all projects are listed. Admin user required. ``False`` environments only from current project are listed (default like option unspecified). in: query required: false default: false type: boolean catalog: description: | If ``false`` (default) - search packages, that current user can edit (own for non-admin, all for admin). If ``true`` - search packages, that current user can deploy (i.e. his own + public). in: query required: false default: false type: boolean category: description: | Allows to filter by categories. in: query required: false type: string class_name: description: | Search only for packages, that use specified class. in: query required: false type: string fqn: description: | Allows to filter by fully qualified name. in: query required: false type: string include_disabled: description: | Include disabled packages in the result. in: query required: false default: false type: boolean limit: description: | When present the maximum number of results returned will not exceed the specified value. The typical pattern of limit and marker is to make an initial limited request and then to use the ID of the last package from the response as the marker parameter in a subsequent limited request. in: query required: false type: string marker: description: | A package identifier marker may be specified. When present only packages which occur after the identifier ID will be listed in: query required: false type: string order_by: description: | Allows to sort packages by ``fqn``, ``name``, ``created``. Created is default value. in: query required: false type: string owned: description: | Search only from packages owned by current project. in: query required: false default: false type: boolean pkg_filters: description: | The filters that you want to use to search for packages in the application catalog. If no filters query parameter is specified, the application catalog API returns all packages allowed by the policy settings. By using filters parameter, the API returns only the requested set of packages that meet the filters. The list of filters includes: * limit: the maximum number of packages to return * type: the package type * id: the package id * category: the package category * tag: the package tag * class_name: the package class name * fqn: the package fully qualified name * name: the package name in: query required: false type: string pkg_id_query: description: | Allows to filter by package id. in: query required: false type: string pkg_name_query: description: | Allows to filter by package name. in: query required: false type: string pkg_type_query: description: | Allows to filter package by type, e.g. ``application``, ``library``. in: query required: false type: string search: description: | Gives opportunity to search specified data by all the package parameters and order packages. in: query required: false type: string tenant: description: | Indicates environments from specified tenant are listed. Admin user required. in: query required: false type: string # variables in body acquired_by: description: | The session that is currently `deploying` the environment. Returns the `first` session id that is in ``DEPLOYING`` state for the environment. in: body required: true type: string all_categories: description: | All categories available in the application catalog. in: body required: true type: array author: description: | The author of the package. in: body required: true type: string category_id: description: | The UUID of the category. in: body required: true type: string category_name: description: | The name of the category. in: body required: true type: string category_packages: description: | The list of packages associated with a package. Each package returned includes its ``id``, ``fully_qualified_name``, and ``name``. in: body required: true type: array class_definitions: description: | The class_definitions of the package. in: body required: true type: array created: description: | The date and time when the resource was created. The date and time stamp format is `ISO 8601 `_: :: CCYY-MM-DDThh:mm:ss±hh:mm For example, ``2015-08-27T09:49:58-05:00``. The ``±hh:mm`` value, if included, is the time zone as an offset from UTC. in: body required: true type: string deployments: description: | The list of deployments for either the current environment or all environments for the current tenant (project). The following APIs control whether deployments by environment or by project are returned: * ``/deployments``: Returns all deployments for a project. * ``/environments/{env_id}/deployments``: Returns all deployments for an environment in a project. in: body required: true type: array description: description: | The description of the package. in: body required: true type: string enabled: description: | Whether the package is browsed in the Application Catalog. in: body required: true type: boolean env_default_networks: description: | The default networking information of the environment. The information includes the ``name`` of the network, along with the ``type`` and ``id`` of the network, contained in the ``?`` property. An example ``defaultNetworks`` object looks like:: "defaultNetworks": { "environment": { "internalNetworkName": "net_two", "?": { "type": "io.murano.resources.ExistingNeutronNetwork", "id": "594e94fcfe4c48ef8f9b55edb3b9f177" } }, "flat": null } in: body required: true type: object env_description: description: | The description of the environment. in: body required: true type: string env_id: description: | The UUID of the environment. in: body required: true type: string env_last_status: description: | Shows the most recent status of the environment for each service in the environment. The response object includes detailed information by ``service_id``. in: body required: true type: object env_model: description: | The ``?`` section of the environment, containing information about the environment model, including its ``type``, ``id`` and associated ``metadata``. in: body required: true type: object env_name: description: | A name for the environment. Name must be at least one non-white space symbol and less than 256 characters long. in: body required: true type: string env_name_request: description: | A name for the environment. Name must be at least one non-white space symbol. in: body required: true type: string env_region: description: | Current region of the environment. in: body required: true type: string env_status: description: | Current status of the environment. The available statuses are: * **Ready to configure**. When the environment is new and contains no components. * **Ready to deploy**. When the environment contains a component or multiple components and is ready for deployment. * **Ready**. When the environment has been successfully deployed. * **Deploying**. When the deploying is in progress. * **Deploy FAILURE**. When the deployment finished with errors. * **Deleting**. When deleting of an environment is in progress. * **Delete FAILURE**. You can abandon the environment in this case. in: body required: true type: string env_version: description: | Current version. in: body required: true type: int environments: description: | A list of ``environment`` object. in: body required: true type: array fully_qualified_name: description: | The fqn of the package. in: body required: true type: string is_public: description: | Whether the package is shared for other projects. in: body required: true type: boolean networking: description: | Current network of the environment. in: body required: true type: string owner_id: description: | The owner id of the package. in: body required: true type: string package_categories: description: | The categories associated with the package. in: body required: true type: array package_count: description: | The number of packages associated with the category. in: body required: true type: integer packages: description: | A list of ``package`` object. in: body required: true type: array pkg_file: description: | The upload package file. in: body required: true type: object pkg_id: description: | The UUID of the package. in: body required: true type: string pkg_name: description: | The name of the package. in: body required: true type: string pkg_supplier: description: | The supplier info of the package. in: body required: true type: object pkg_type: description: | The type of the package. in: body required: true type: string regions: description: | Detailed region information for the cloud environment. in: body required: true type: object services: description: | A list of ``service`` objects. in: body required: true type: array session_id: description: | The UUID of the session. in: body required: true type: string session_state: description: | The current state of the environment. When a session is first opened for the environment the state is ``opened``. in: body required: true type: string session_user_id: description: | The UUID of the session owner. in: body required: true type: string session_version: description: | The version of the session. It is tied to the version of the environment, so that only sessions whose version matches that of the environment can be deployed. in: body required: true type: integer tags: description: | The tags of the package. in: body required: true type: array task_id: description: | The UUID of the task associated with an action executed on a deployed environment. in: body required: true type: string template_description: description: | The environment template description. in: body required: true type: string template_id: description: | The UUID of the environment template. in: body required: true type: string template_is_public: description: | Indicates whether an environment template is public or not. - ``True``. The environment template is public. Can be cloned. - ``False``. The environment template is private. in: body required: true type: boolean template_name: description: | The name of the environment template. Only alphanumeric characters are allowed. in: body required: true type: string template_service: description: | Detailed information about the ``service`` to be added to the environment template. The ``service`` includes virtual resources and application information. The virtual resources information is specified inside the ``instance`` object property. Application information is specified inside the body of the ``service`` object. The ``instance`` object properties include: - ``assignFloatingIp``. Whether to assign a floating IP to the VM. - ``keyname``. The key name of a key pair for the VM. - ``image``. The image to be used to provision the VM. - ``flavor``. The flavor to be used to provision the VM. - ``?``. An object which includes the ``type`` of the server. An example ``instance`` looks like:: { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } } In addition, the ``service`` should also include the following: - ``name``. The ``name`` of the application. - ``?``. An object that includes the ``type`` and ``id`` of the application. An example ``type`` is: "io.murano.resources.LinuxMuranoInstance". - ``port``: The port to be used by the application. The value must be greater than 0 and less than 65536 (although formatted as a string). The entire ``service`` looks like:: { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" }, "port": "8080" } in: body required: true type: object template_services: description: | The list of environment template ``service`` objects. in: body required: true type: array template_version: description: | The current version of the environment template. in: body required: true type: integer templates: description: | The list of templates. in: body required: true type: array tenant_id: description: | The UUID of the tenant. A tenant is also known as a project. in: body required: true type: string updated: description: | The date and time when the object was updated. The date and time stamp format is `ISO 8601 `_: :: CCYY-MM-DDThh:mm:ss±hh:mm For example, ``2015-08-27T09:49:58-05:00``. The ``±hh:mm`` value, if included, is the time zone as an offset from UTC. in: body required: true type: string murano-9.0.0/api-ref/source/v1/status.yaml0000664000175000017500000000340013656750211020426 0ustar zuulzuul00000000000000################# # Success Codes # ################# 200: default: | Request was successful. 201: default: | Resource was created and is ready to use. 202: default: | Request was accepted for processing, but the processing has not been completed. A 'location' header is included in the response which contains a link to check the progress of the request. 204: default: | The server has fulfilled the request by deleting the resource. 300: default: | There are multiple choices for resources. The request has to be more specific to successfully retrieve one of these resources. 302: default: | The response is about a redirection hint. The header of the response usually contains a 'location' value where requesters can check to track the real location of the resource. ################# # Error Codes # ################# 400: default: | Some content in the request was invalid. resource_signal: | The target resource doesn't support receiving a signal. 401: default: | User must authenticate before making a request. 403: default: | Policy does not allow current user to do this operation. 404: default: | The requested resource could not be found. 405: default: | Method is not valid for this endpoint. 409: default: | This operation conflicted with another operation on this resource. duplicate_zone: | There is already a zone with this name. 500: default: | Something went wrong inside the service. This should not happen usually. If it does happen, it means the server has experienced some serious problems. 503: default: | Service is not available. This is mostly caused by service configuration errors which prevents the service from successful start up. murano-9.0.0/api-ref/source/v1/packages.inc0000664000175000017500000002266613656750211020507 0ustar zuulzuul00000000000000.. -*- rst -*- ======== Packages ======== In Murano, each application, as well as the UI form for application data entry, is defined by packages. Package Structure ================= The structure of the Murano application package is predefined. The application package root folder should contain the following: * ``manifest.yaml`` file is the application entry point. .. note:: The filename is fixed, so do not use any custom names. * ``Classes`` folder contains MuranoPL class definitions. * ``Resources`` folder contaisn execution plan templates as well as the ``scripts`` folder with all the files required for an application deployment located inside it. * ``UI`` folder contains the dynamic UI YAML definitions. * ``logo.png`` file (optional) is an image file associated with your application. The logo appears in the Application Catalog within Murano Dasboard. .. note:: There are no special limitations regarding an image filename. However, if it differs from the default ``logo.png``, specify it in an application manifest file. * ``images.lst`` file (optional) contains a list of images required by an application. .. note:: A bundle is a collection of packages. In the Community App Catalog, you can find such bundles as ``container-based-apps``, ``app-servers``, and so on. The packages in the Application Catalog are sorted by usage. List Packages ============= .. rest_method:: GET /v1/catalog/packages Get a list of packages Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - catalog: catalog - marker: marker - limit: limit - order_by: order_by - type: pkg_type_query - category: category - fqn: fqn - owned: owned - id: pkg_id_query - include_disabled: include_disabled - search: search - class_name: class_name - name: pkg_name_query Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - packages: packages - updated: updated - class_definitions: class_definitions - id: pkg_id - fully_qualified_name: fully_qualified_name - is_public: is_public - name: pkg_name - type: pkg_type - supplier: pkg_supplier - description: description - author: author - created: created - enabled: enabled - tags: tags - categories: package_categories - owner_id: owner_id Response Example ---------------- .. literalinclude:: samples/packages-list-response.json :language: javascript Upload package ============== .. rest_method:: POST /v1/catalog/packages Upload a package to the application catalog. .. note:: Though specifying categories is optional, it is recommended that you specify at least one. It helps to filter applications in the catalog. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 409 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - categories: package_categories - is_public: is_public - file: pkg_file Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - updated: updated - class_definitions: class_definitions - id: pkg_id - fully_qualified_name: fully_qualified_name - is_public: is_public - name: pkg_name - type: pkg_type - supplier: pkg_supplier - description: description - author: author - created: created - enabled: enabled - tags: tags - categories: package_categories - owner_id: owner_id Response Example ---------------- .. literalinclude:: samples/package-create-response.json :language: javascript Download package ================ .. rest_method:: GET /v1/catalog/packages/{package_id}/download Download a package. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - package_id: pkg_id_url Response Parameters ------------------- This request does not return anything in the response body. :language: javascript Show package details ==================== .. rest_method:: GET /v1/catalog/packages/{package_id} Shows details for a package. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - package_id: pkg_id_url Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - updated: updated - class_definitions: class_definitions - id: pkg_id - fully_qualified_name: fully_qualified_name - is_public: is_public - name: pkg_name - type: pkg_type - supplier: pkg_supplier - description: description - author: author - created: created - enabled: enabled - tags: tags - categories: package_categories - owner_id: owner_id Response Example ---------------- .. literalinclude:: samples/package-show-response.json :language: javascript Update package ============== .. rest_method:: PATCH /v1/catalog/packages/{package_id} Update a package. List of allowed changes:: { "op": "add", "path": "/tags", "value": [ "foo", "bar" ] } { "op": "add", "path": "/categories", "value": [ "foo", "bar" ] } { "op": "remove", "path": "/tags" } { "op": "remove", "path": "/categories" } { "op": "replace", "path": "/tags", "value": ["foo", "bar"] } { "op": "replace", "path": "/is_public", "value": true } { "op": "replace", "path": "/description", "value":"New description" } { "op": "replace", "path": "/name", "value": "New name" } Response Codes -------------- .. rest_status_code:: success status.yaml - 202 .. rest_status_code:: error status.yaml - 400 - 403 - 404 - 409 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - package_id: pkg_id_url Request Example --------------- .. literalinclude:: samples/package-update-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - updated: updated - class_definitions: class_definitions - id: pkg_id - fully_qualified_name: fully_qualified_name - is_public: is_public - name: pkg_name - type: pkg_type - supplier: pkg_supplier - description: description - author: author - created: created - enabled: enabled - tags: tags - categories: package_categories - owner_id: owner_id Response Example ---------------- .. literalinclude:: samples/package-update-response.json Delete package ============== .. rest_method:: DELETE /v1/catalog/packages/{package_id} Remove specified Environment. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 403 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - package_id: pkg_id_url Response Parameters ------------------- This request does not return anything in the response body. :language: javascript Search for packages =================== .. rest_method:: GET /v1/catalog/packages Search for packages in application catalog. Non-admins, by default, can view packages that belong to their project as well as public packages: packages which belong to other projects but which have been tagged as public by an admin. Admins can search for packages across all projects. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - filters: pkg_filters Response Parameters ------------------- Returns the list of packages matching the search criteria. Get UI definition ================= .. rest_method:: GET /v1/catalog/packages/{package_id}/ui Retrieve UI definition for an application. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - package_id: pkg_id_url Response Parameters ------------------- Returns the entire UI definition for the package, if the logo has a UI definition. Below is an example of a very basic UI definition:: Version: 2.2 Forms: - appConfiguration: fields: - name: license type: string description: Apache License, Version 2.0 hidden: false required: false Get logo ======== .. rest_method:: GET /v1/catalog/packages/{package_id}/logo Retrieve application logo. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 400 - 401 - 403 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - package_id: pkg_id_url Response Parameters ------------------- Returns the binary logo data for the package, if the package has a logo. murano-9.0.0/api-ref/source/v1/samples/0000775000175000017500000000000013656750351017673 5ustar zuulzuul00000000000000murano-9.0.0/api-ref/source/v1/samples/template-list-apps-response.json0000664000175000017500000000126613656750211026147 0ustar zuulzuul00000000000000[ { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "tomcat", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" }, "port": "8080" }, { "instance": "ef984a74-29a4-45c0-b1dc-2ab9f075732e", "password": "XXX", "name": "mysql", "?": { "type": "io.murano.apps.database.MySQL", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" } } ]murano-9.0.0/api-ref/source/v1/samples/environment-show-response.json0000664000175000017500000000171213656750211025740 0ustar zuulzuul00000000000000{ "status": "ready", "updated": "2017-04-27T15:36:02", "created": "2017-04-27T15:36:02", "tenant_id": "cca37eef752244d99945a4123f30ff79", "acquired_by": null, "services": [ { "instance": { "flavor": "m1.medium", "image": "cloud-fedora-v3", "name": "exgchhv6nbika2", "ipAddresses": [ "10.0.0.200" ], "?": { "type": "io.murano.resources.Instance", "id": "14cce9d9-aaa1-4f09-84a9-c4bb859edaff" } }, "name": "rewt4w56", "?": { "status": "ready", "_26411a1861294160833743e45d0eaad9": { "name": "Telnet" }, "type": "io.murano.apps.linux.Telnet", "id": "446373ef-03b5-4925-b095-6c56568fa518" } } ], "version": 0, "description_text": "", "id": "a2977db57398401aba5804ef2211a2a3", "name": "env_name" }murano-9.0.0/api-ref/source/v1/samples/template-clone-request.json0000664000175000017500000000005213656750211025155 0ustar zuulzuul00000000000000{ "name": "cloned_env_template_name" }murano-9.0.0/api-ref/source/v1/samples/template-create-response.json0000664000175000017500000000044213656750211025471 0ustar zuulzuul00000000000000{ "updated": "2014-05-14T13:02:55", "networking": {}, "name": "test2", "created": "2014-05-14T13:02:51", "tenant_id": "123452452345346345634563456345346", "version": 0, "is_public": true, "description_text": "", "id": "744e44812da84e858946f5d817de4f72" }murano-9.0.0/api-ref/source/v1/samples/template-add-app-request.json0000664000175000017500000000063313656750211025370 0ustar zuulzuul00000000000000{ "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" }, "port": "8080" }murano-9.0.0/api-ref/source/v1/samples/environment-update-response.json0000664000175000017500000000045713656750211026247 0ustar zuulzuul00000000000000{ "status": "ready", "updated": "2017-04-27T16:01:29", "created": "2017-04-27T15:33:55", "tenant_id": "cca37eef752244d99945a4123f30ff79", "acquired_by": null, "services": [], "version": 0, "description_text": "", "id": "f199275420ff4e938e0307b0cf68374d", "name": "env_name_changed" }murano-9.0.0/api-ref/source/v1/samples/template-update-app-response.json0000664000175000017500000000072013656750211026265 0ustar zuulzuul00000000000000{ "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" }, "port": "8080" }murano-9.0.0/api-ref/source/v1/samples/category-list-response.json0000664000175000017500000000074413656750211025210 0ustar zuulzuul00000000000000{ "categories": [ { "id": "0420045dce7445fabae7e5e61fff9e2f", "updated": "2014-12-26T13:57:04", "name": "Web", "created": "2014-12-26T13:57:04", "package_count": 1 }, { "id": "3dd486b1e26f40ac8f35416b63f52042", "updated": "2014-12-26T13:57:04", "name": "Databases", "created": "2014-12-26T13:57:04", "package_count": 0 } ] }murano-9.0.0/api-ref/source/v1/samples/session-create-response.json0000664000175000017500000000034013656750211025336 0ustar zuulzuul00000000000000{ "created": "2017-04-06T07:54:40", "updated": "2017-04-06T07:54:40", "environment_id": "744e44812da84e858946f5d817de4f72", "state": "opened", "version": 0, "id": "257bef44a9d848daa5b2563779714820" }murano-9.0.0/api-ref/source/v1/samples/session-show-response.json0000664000175000017500000000043113656750211025054 0ustar zuulzuul00000000000000{ "id": "4aecdc2178b9430cbbb8db44fb7ac384", "environment_id": "4dc8a2e8986fa8fa5bf24dc8a2e8986fa8", "created": "2013-11-30T03:23:42Z", "updated": "2013-11-30T03:23:54Z", "user_id": "d7b501094caf4daab08469663a9e1a2b", "version": 0, "state": "deploying" }murano-9.0.0/api-ref/source/v1/samples/package-update-request.json0000664000175000017500000000013513656750211025121 0ustar zuulzuul00000000000000[ { "path": "/is_public", "value": true, "op": "replace" } ] murano-9.0.0/api-ref/source/v1/samples/environment-create-request.json0000664000175000017500000000002513656750211026051 0ustar zuulzuul00000000000000{"name": "env_name"} murano-9.0.0/api-ref/source/v1/samples/packages-list-response.json0000664000175000017500000001363713656750211025156 0ustar zuulzuul00000000000000{ "packages": [ { "updated": "2017-03-30T08:35:03", "description": "Library of base class to develop scalable Applications with MuranoPL\n", "tags": [], "class_definitions": [ "io.murano.applications.tests.TestPoolReplicaProvider", "io.murano.applications.SingleServerApplication", "io.murano.applications.tests.TestSoftwareComponent", "io.murano.applications.SoftwareComponent", "io.murano.applications.tests.TestEvents", "io.murano.applications.CloneReplicaProvider", "io.murano.applications.PoolReplicaProvider", "io.murano.applications.Event", "io.murano.applications.SingleServerGroup", "io.murano.applications.TemplateServerProvider", "io.murano.applications.MultiServerApplication", "io.murano.applications.ReplicationGroup", "io.murano.applications.OpenStackSecurityConfigurable", "io.murano.applications.Configurable", "io.murano.applications.tests.TestMockedServerFactory", "io.murano.applications.tests.TestCompositeReplicaProvider", "io.murano.applications.tests.TestRoundrobinReplicaProvider", "io.murano.applications.ServerReplicationGroup", "io.murano.applications.CompositeReplicaProvider", "io.murano.applications.tests.TestReplication", "io.murano.applications.CompositeServerGroup", "io.murano.applications.RoundrobinReplicaProvider", "io.murano.applications.ServerGroup", "io.murano.applications.ServerList", "io.murano.applications.Installable", "io.murano.applications.ReplicaProvider", "io.murano.applications.MultiServerApplicationWithScaling" ], "is_public": true, "categories": [], "name": "Application Development Library", "created": "2017-03-30T08:35:03", "author": "Mirantis, Inc.", "enabled": true, "id": "b0298c205235410fba047f4af8df0eb0", "supplier": {}, "fully_qualified_name": "io.murano.applications", "type": "Library", "owner_id": "c0f6e4cf1bfc48aba587e709b58c9f28" }, { "updated": "2017-03-30T08:35:07", "description": "Core MuranoPL library\n", "tags": [ "MuranoPL" ], "class_definitions": [ "io.murano.Exception", "io.murano.system.MetadefBrowser", "io.murano.metadata.forms.Hidden", "io.murano.system.NeutronSecurityGroupManager", "io.murano.system.AgentListener", "io.murano.Environment", "io.murano.system.SecurityGroupManager", "io.murano.resources.ConfLangInstance", "io.murano.resources.HeatSWConfigLinuxInstance", "io.murano.test.TestFixture", "io.murano.resources.MetadataAware", "io.murano.SharedIp", "io.murano.File", "io.murano.resources.LinuxUDInstance", "io.murano.configuration.Linux", "io.murano.resources.ExistingNeutronNetwork", "io.murano.resources.LinuxMuranoInstance", "io.murano.Object", "io.murano.system.Logger", "io.murano.metadata.engine.Synchronize", "io.murano.test.DummyNetwork", "io.murano.resources.CinderVolume", "io.murano.metadata.Title", "io.murano.Project", "io.murano.system.Resources", "io.murano.metadata.forms.Section", "io.murano.resources.Network", "io.murano.system.MistralClient", "io.murano.resources.CinderVolumeBackup", "io.murano.system.NetworkExplorer", "io.murano.system.DummySecurityGroupManager", "io.murano.resources.WindowsInstance", "io.murano.CloudResource", "io.murano.CloudRegion", "io.murano.system.Agent", "io.murano.resources.Instance", "io.murano.resources.Volume", "io.murano.system.InstanceNotifier", "io.murano.metadata.ModelBuilder", "io.murano.system.HeatStack", "io.murano.resources.LinuxInstance", "io.murano.metadata.Description", "io.murano.metadata.engine.Serialize", "io.murano.resources.ExistingCinderVolume", "io.murano.resources.HeatSWConfigInstance", "io.murano.system.StatusReporter", "io.murano.Application", "io.murano.test.TestFixtureWithEnvironment", "io.murano.system.AwsSecurityGroupManager", "io.murano.StackTrace", "io.murano.resources.NovaNetwork", "io.murano.metadata.forms.Position", "io.murano.metadata.HelpText", "io.murano.resources.NeutronNetworkBase", "io.murano.User", "io.murano.resources.InstanceAffinityGroup", "io.murano.resources.NeutronNetwork", "io.murano.resources.CinderVolumeSnapshot" ], "is_public": true, "categories": [], "name": "Core library", "created": "2017-03-30T08:35:07", "author": "murano.io", "enabled": true, "id": "5b6c8d7cd0694a7ebb7525ae62357740", "supplier": {}, "fully_qualified_name": "io.murano", "type": "Library", "owner_id": "c0f6e4cf1bfc48aba587e709b58c9f28" } ] } murano-9.0.0/api-ref/source/v1/samples/templates-list-response.json0000664000175000017500000000142313656750211025364 0ustar zuulzuul00000000000000{ "templates": [ { "updated": "2014-05-14T13:02:54", "networking": {}, "name": "test1", "created": "2014-05-14T13:02:46", "tenant_id": "726ed856965f43cc8e565bc991fa76c3", "version": 0, "is_public": false, "description_text": "", "id": "2fa5ab704749444bbeafe7991b412c33" }, { "updated": "2014-05-14T13:02:55", "networking": {}, "name": "test2", "created": "2014-05-14T13:02:51", "tenant_id": "123452452345346345634563456345346", "version": 0, "is_public": true, "description_text": "", "id": "744e44812da84e858946f5d817de4f72" } ] }murano-9.0.0/api-ref/source/v1/samples/static-action-request.json0000664000175000017500000000013713656750211025012 0ustar zuulzuul00000000000000{ "className": "ns.Bar", "methodName": "staticAction", "parameters": {"myName": "John"} }murano-9.0.0/api-ref/source/v1/samples/execute-action-response.json0000664000175000017500000000006213656750211025330 0ustar zuulzuul00000000000000{ "task_id": "9e60318629ef47378b583825e7d282b7" }murano-9.0.0/api-ref/source/v1/samples/template-clone-response.json0000664000175000017500000000037513656750211025333 0ustar zuulzuul00000000000000{ "updated": "2015-01-26T09:12:51", "name": "cloned_env_template_name", "created": "2015-01-26T09:12:51", "tenant_id": "00000000000000000000000000000001", "version": 0, "is_public": false, "id": "aa9033ca7ce245fca10e38e1c8c4bbf7", }murano-9.0.0/api-ref/source/v1/samples/template-create-env-response.json0000664000175000017500000000040313656750211026254 0ustar zuulzuul00000000000000{ "environment_id": "aa90fadfafca10e38e1c8c4bbf7", "name": "environment_name", "created": "2015-01-26T09:12:51", "tenant_id": "00000000000000000000000000000001", "version": 0, "session_id": "adf4dadfaa9033ca7ce245fca10e38e1c8c4bbf7", }murano-9.0.0/api-ref/source/v1/samples/category-show-response.json0000664000175000017500000000056113656750211025212 0ustar zuulzuul00000000000000{ "id": "b308f7fa8a2f4a5eb419970c827f4466", "updated": "2015-01-28T17:00:19", "packages": [ { "fully_qualified_name": "io.murano.apps.ZabbixServer", "id": "4dfb566e69e6445fbd4aea5099fe95e9", "name": "Zabbix Server" } ], "name": "Web", "created": "2015-01-28T17:00:19", "package_count": 1 }murano-9.0.0/api-ref/source/v1/samples/package-update-response.json0000664000175000017500000000210313656750211025264 0ustar zuulzuul00000000000000{ "updated": "2017-04-06T08:28:22", "description": "The Apache HTTP Server Project is an effort to develop and maintain an\nopen-source HTTP server for modern operating systems including UNIX and\nWindows NT. The goal of this project is to provide a secure, efficient and\nextensible server that provides HTTP services in sync with the current HTTP\nstandards.\nApache httpd has been the most popular web server on the Internet since\nApril 1996, and celebrated its 17th birthday as a project this February.\n", "tags": [ "HTTP", "Server", "WebServer", "HTML", "Apache" ], "class_definitions": [ "com.example.apache.ApacheHttpServer" ], "is_public": true, "categories": [], "name": "Apache HTTP Server", "created": "2017-04-06T08:22:11", "author": "Mirantis, Inc", "enabled": true, "id": "979637f39a7245cebeabc99e6aa01666", "supplier": {}, "fully_qualified_name": "com.example.apache.ApacheHttpServer", "type": "Application", "owner_id": "c0f6e4cf1bfc48aba587e709b58c9f28" } murano-9.0.0/api-ref/source/v1/samples/environment-model-update-request.json0000664000175000017500000000011413656750211027165 0ustar zuulzuul00000000000000[{ "op": "replace", "path": "/defaultNetworks/flat", "value": true }] murano-9.0.0/api-ref/source/v1/samples/deployments-list-response.json0000664000175000017500000000360713656750211025737 0ustar zuulzuul00000000000000{ "deployments": [ { "updated": "2014-05-15T07:24:21", "environment_id": "744e44812da84e858946f5d817de4f72", "description": { "services": [ { "instance": { "flavor": "m1.medium", "image": "cloud-fedora-v3", "?": { "type": "io.murano.resources.Instance", "id": "ef729199-c71e-4a4c-a314-0340e279add8" }, "name": "xkaduhv7qeg4m7" }, "name": "teslnet1", "?": { "_26411a1861294160833743e45d0eaad9": { "name": "Telnet" }, "type": "io.murano.apps.linux.Telnet", "id": "6e437be2-b5bc-4263-8814-6fd57d6ddbd5" } } ], "defaultNetworks": { "environment": { "name": "test2-network", "?": { "type": "io.murano.lib.networks.neutron.NewNetwork", "id": "b6a1d515434047d5b4678a803646d556" } }, "flat": null }, "name": "test2", "?": { "type": "io.murano.Environment", "id": "744e44812da84e858946f5d817de4f72" } }, "created": "2014-05-15T07:24:21", "started": "2014-05-15T07:24:21", "finished": null, "state": "running", "id": "327c81e0e34a4c93ad9b9052ef42b752" } ] }murano-9.0.0/api-ref/source/v1/samples/template-create-request.json0000664000175000017500000000004313656750211025320 0ustar zuulzuul00000000000000{ "name": "env_template_name" }murano-9.0.0/api-ref/source/v1/samples/package-create-response.json0000664000175000017500000000210413656750211025246 0ustar zuulzuul00000000000000{ "class_definitions": [ "com.example.apache.ApacheHttpServer" ], "description": "The Apache HTTP Server Project is an effort to develop and maintain an\nopen-source HTTP server for modern operating systems including UNIX and\nWindows NT. The goal of this project is to provide a secure, efficient and\nextensible server that provides HTTP services in sync with the current HTTP\nstandards.\nApache httpd has been the most popular web server on the Internet since\nApril 1996, and celebrated its 17th birthday as a project this February.\n", "tags": [ "HTTP", "Server", "WebServer", "HTML", "Apache" ], "updated": "2017-04-06T07:54:40", "is_public": false, "id": "10f3e349bca9432abd673319195eed2b", "categories": [], "name": "Apache HTTP Server", "created": "2017-04-06T07:54:40", "author": "Mirantis, Inc", "enabled": true, "supplier": {}, "fully_qualified_name": "com.example.apache.ApacheHttpServer", "type": "Application", "owner_id": "c0f6e4cf1bfc48aba587e709b58c9f28" } murano-9.0.0/api-ref/source/v1/samples/environment-last-status-response.json0000664000175000017500000000107713656750211027250 0ustar zuulzuul00000000000000{ "lastStatuses": { "66563e45-4d0a-451e-8138-7bc773b0607d": { "updated": "2017-03-09T07:31:51", "task_id": "1267d8dfcf2144f9a31f0f033defa0fd", "level": "info", "text": "Unable to install ApacheHttpServer on node-1 due to The murano-agent did not respond within 3600 seconds", "created": "2017-03-09T07:31:51", "entity_id": "66563e45-4d0a-451e-8138-7bc773b0607d", "entity": null, "details": null, "id": "4f93ae1f73294bf1a58cbc59fffe6238" } } } murano-9.0.0/api-ref/source/v1/samples/template-add-app-response.json0000664000175000017500000000140013656750211025527 0ustar zuulzuul00000000000000{ "updated": "2017-04-26T19:41:58", "created": "2017-04-26T19:33:10", "tenant_id": "cca37eef752244d99945a4123f30ff79", "services": [ { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" }, "port": "8080" } ], "version": 0, "description_text": "", "is_public": false, "id": "64670f5ada0848408734b2985f5cbb92", "name": "test_application" }murano-9.0.0/api-ref/source/v1/samples/template-show-response.json0000664000175000017500000000154713656750211025215 0ustar zuulzuul00000000000000{ "updated": "2014-05-14T13:02:55", "networking": {}, "name": "test2", "created": "2014-05-14T13:02:51", "tenant_id": "123452452345346345634563456345346", "services": [ { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" }, "port": "8080" } ], "version": 0, "is_public": true, "description_text": "", "id": "744e44812da84e858946f5d817de4f72" }murano-9.0.0/api-ref/source/v1/samples/category-create-response.json0000664000175000017500000000026213656750211025473 0ustar zuulzuul00000000000000{ "id": "ce373a477f211e187a55404a662f968", "name": "category_name", "created": "2013-11-30T03:23:42Z", "updated": "2013-11-30T03:23:44Z", "package_count": 0 }murano-9.0.0/api-ref/source/v1/samples/environments-list-response.json0000664000175000017500000000131513656750211026115 0ustar zuulzuul00000000000000{ "environments": [ { "status": "ready", "updated": "2014-05-14T13:02:54", "networking": {}, "name": "test1", "created": "2014-05-14T13:02:46", "tenant_id": "726ed856965f43cc8e565bc991fa76c3", "version": 0, "id": "2fa5ab704749444bbeafe7991b412c33" }, { "status": "ready", "updated": "2014-05-14T13:02:55", "networking": {}, "name": "test2", "created": "2014-05-14T13:02:51", "tenant_id": "726ed856965f43cc8e565bc991fa76c3", "version": 0, "id": "744e44812da84e858946f5d817de4f72" } ] } murano-9.0.0/api-ref/source/v1/samples/environment-create-response.json0000664000175000017500000000044713656750211026227 0ustar zuulzuul00000000000000{ "status": "ready", "updated": "2017-04-27T15:36:02", "created": "2017-04-27T15:36:02", "tenant_id": "cca37eef752244d99945a4123f30ff79", "acquired_by": null, "services": [], "version": 0, "description_text": "", "id": "a2977db57398401aba5804ef2211a2a3", "name": "env_name" }murano-9.0.0/api-ref/source/v1/samples/environments-model-response.json0000664000175000017500000000645613656750211026255 0ustar zuulzuul00000000000000{ "defaultNetworks": { "environment": { "internalNetworkName": "net_two", "?": { "type": "io.murano.resources.ExistingNeutronNetwork", "id": "594e94fcfe4c48ef8f9b55edb3b9f177" } }, "flat": null }, "region": "RegionTwo", "name": "new_env", "regions": { "": { "defaultNetworks": { "environment": { "autoUplink": true, "name": "new_env-network", "externalRouterId": null, "dnsNameservers": [], "autogenerateSubnet": true, "subnetCidr": null, "openstackId": null, "?": { "dependencies": { "onDestruction": [{ "subscriber": "c80e33dd67a44f489b2f04818b72f404", "handler": null }] }, "type": "io.murano.resources.NeutronNetwork/0.0.0@io.murano", "id": "e145b50623c04a68956e3e656a0568d3", "name": null }, "regionName": "RegionOne" }, "flat": null }, "name": "RegionOne", "?": { "type": "io.murano.CloudRegion/0.0.0@io.murano", "id": "c80e33dd67a44f489b2f04818b72f404", "name": null } }, "RegionOne": "c80e33dd67a44f489b2f04818b72f404", "RegionTwo": { "defaultNetworks": { "environment": { "autoUplink": true, "name": "new_env-network", "externalRouterId": "e449bdd5-228c-4747-a925-18cda80fbd6b", "dnsNameservers": ["8.8.8.8"], "autogenerateSubnet": true, "subnetCidr": "10.0.198.0/24", "openstackId": "00a695c1-60ff-42ec-acb9-b916165413da", "?": { "dependencies": { "onDestruction": [{ "subscriber": "f8cb28d147914850978edb35eca156e1", "handler": null }] }, "type": "io.murano.resources.NeutronNetwork/0.0.0@io.murano", "id": "72d2c13c600247c98e09e2e3c1cd9d70", "name": null }, "regionName": "RegionTwo" }, "flat": null }, "name": "RegionTwo", "?": { "type": "io.murano.CloudRegion/0.0.0@io.murano", "id": "f8cb28d147914850978edb35eca156e1", "name": null } } }, "services": [], "?": { "type": "io.murano.Environment/0.0.0@io.murano", "_actions": { "f7f22c174070455c9cafc59391402bdc_deploy": { "enabled": true, "name": "deploy", "title": "deploy" } }, "id": "f7f22c174070455c9cafc59391402bdc", "name": null } } murano-9.0.0/api-ref/source/v1/samples/template-update-app-request.json0000664000175000017500000000072313656750211026122 0ustar zuulzuul00000000000000{ "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "port": "8080", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" } }murano-9.0.0/api-ref/source/v1/samples/package-show-response.json0000664000175000017500000000210413656750211024763 0ustar zuulzuul00000000000000{ "updated": "2017-04-06T08:22:11", "description": "The Apache HTTP Server Project is an effort to develop and maintain an\nopen-source HTTP server for modern operating systems including UNIX and\nWindows NT. The goal of this project is to provide a secure, efficient and\nextensible server that provides HTTP services in sync with the current HTTP\nstandards.\nApache httpd has been the most popular web server on the Internet since\nApril 1996, and celebrated its 17th birthday as a project this February.\n", "tags": [ "HTTP", "Server", "WebServer", "HTML", "Apache" ], "class_definitions": [ "com.example.apache.ApacheHttpServer" ], "is_public": false, "categories": [], "name": "Apache HTTP Server", "created": "2017-04-06T08:22:11", "author": "Mirantis, Inc", "enabled": true, "id": "979637f39a7245cebeabc99e6aa01666", "supplier": {}, "fully_qualified_name": "com.example.apache.ApacheHttpServer", "type": "Application", "owner_id": "c0f6e4cf1bfc48aba587e709b58c9f28" } murano-9.0.0/api-ref/source/v1/samples/static-action-response.json0000664000175000017500000000001513656750211025153 0ustar zuulzuul00000000000000"Hello, John"murano-9.0.0/api-ref/source/v1/samples/environment-update-request.json0000664000175000017500000000003513656750211026071 0ustar zuulzuul00000000000000{"name": "env_name_changed"} murano-9.0.0/api-ref/source/v1/samples/template-create-env-request.json0000664000175000017500000000004213656750211026105 0ustar zuulzuul00000000000000{ "name": "environment_name" }murano-9.0.0/api-ref/source/v1/sessions.inc0000664000175000017500000000647413656750211020576 0ustar zuulzuul00000000000000.. -*- rst -*- ============================= Environment Configuration API ============================= Since Murano environments are available for local modification by different users and from different locations, it's therefore necessary to store local modifications somewhere. Thus, sessions were created to satisfy this requirement. After a user adds applications to an environment, a new session can be created. A session can be deployed only once. .. note:: Multiple sessions can be opened for one environment simultaneously, but only one session can be deployed at a time. Only the first session that is deployed will be deployed, while the other ones will become invalid, no longer capable of being deploying. Once an environment is in ``deploying`` or ``deleting`` status, a new session for the environment cannot be opened. Configure Environment / Open Session ==================================== .. rest_method:: POST /environments/{env_id}/configure Creates a new configuration session for environment ``env_id``. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 403 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_id: env_id_url Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - created: created - updated: updated - environment_id: env_id - state: session_state - version: session_version - id: session_id Response Example ---------------- .. literalinclude:: samples/session-create-response.json :language: javascript Deploy session ============== .. rest_method:: POST /environments/{env_id}/sessions/{session_id}/deploy Start deployment of a murano environment session. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 403 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_id: env_id_url - session_id: session_id_url Get Session Details =================== .. rest_method:: GET /environments/{env_id}/sessions/{session_id} Start deployment of a murano environment session. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 403 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_id: env_id_url - session_id: session_id_url Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - id: session_id - environment_id: env_id - created: created - updated: updated - user_id: session_user_id - version: session_version - state: session_state Response Example ---------------- .. literalinclude:: samples/session-show-response.json :language: javascript Delete Session ============== .. rest_method:: DELETE /environments/{env_id}/sessions/{session_id} Delete the session ``session_id``. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 403 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_id: env_id_url - session_id: session_id_url murano-9.0.0/api-ref/source/v1/index.rst0000664000175000017500000000052313656750211020063 0ustar zuulzuul00000000000000:tocdepth: 2 #################################### OpenStack Application Catalog API v1 #################################### .. rest_expand_all:: .. include:: actions.inc .. include:: categories.inc .. include:: deployments.inc .. include:: environments.inc .. include:: packages.inc .. include:: sessions.inc .. include:: templates.inc murano-9.0.0/api-ref/source/v1/categories.inc0000664000175000017500000000546313656750211021052 0ustar zuulzuul00000000000000.. -*- rst -*- ========== Categories ========== In Murano, applications can belong to a category or multiple categories. Administrative users can create and delete categories as well as list available categories and view details for a particular category. List categories =============== .. rest_method:: GET /catalog/categories Retrieve list of all available categories in the Application Catalog. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - categories: all_categories - id: category_id - name: category_name - updated: updated - created: created - package_count: package_count Response Example ---------------- .. literalinclude:: samples/category-list-response.json :language: javascript Show category details ===================== .. rest_method:: GET /catalog/categories/{category_id} Show details for a category. Request Parameters ------------------ .. rest_parameters:: parameters.yaml - category_id: category_id_url Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 404 Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - id: category_id - name: category_name - updated: updated - created: created - packages: category_packages - package_count: package_count Response Example ---------------- .. literalinclude:: samples/category-show-response.json :language: javascript Create Category =============== .. rest_method:: POST /catalog/categories Add a new category to the Application Catalog. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 409 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - name: category_name Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - id: category_id - name: category_name - updated: updated - created: created - package_count: package_count Response Example ---------------- .. literalinclude:: samples/category-create-response.json :language: javascript Delete Category =============== .. rest_method:: DELETE /catalog/categories/{category_id} Remove an existing category from the Application Catalog. Request Parameters ------------------ .. rest_parameters:: parameters.yaml - category_id: category_id_url Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 403 - 404 murano-9.0.0/api-ref/source/v1/templates.inc0000664000175000017500000002516113656750211020720 0ustar zuulzuul00000000000000.. -*- rst -*- ===================== Environment Templates ===================== An environment template specifies a set of virtual resources and application information that can be deployed on top of OpenStack by translation this information into an application-ready environment. Environment templates can be customized, created, deleted and modified by users. Environment templates can be instantied as many times as the user desires. For example, the user can have different deployments from the same environment template: one for testing and another for production. The workflow for the creation and the instantiation of the environment template is as follows: #. Creation of the environment template (including application information) #. Transformation of the environment template into the environment (creation of the environment and session and adding applications to the environment) #. Deployment of the environment on top of Openstack Each environment template consists of services, which specify the application information. Each service includes information about the applications that will be installed (e.g. Tomcat), including application properties like the Tomcat port. Additional information pertaining to the virtual server may be specified, if applicable, such as keyname, flavor, image, etc. The following is an example of an environment template:: { "name": "env_template_name", "services": [ { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxMuranoInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "tomcat", "port": "8080", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" } } ] } List environment templates ========================== .. rest_method:: GET /templates Get a list of environment templates. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - is_public: template_is_public_url Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - templates: templates - created: created - updated: updated - name: template_name - tenant_id: tenant_id - version: template_version - description_text: template_description - is_public: template_is_public - id: template_id Response Example ---------------- .. literalinclude:: samples/templates-list-response.json :language: javascript Create environment template =========================== .. rest_method:: POST /templates Create an environment template. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 409 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - name: template_name - is_public: template_is_public Request Example --------------- .. literalinclude:: samples/template-create-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - created: created - updated: updated - name: template_name - tenant_id: tenant_id - version: template_version - description_text: template_description - is_public: template_is_public - id: template_id Response Example ---------------- .. literalinclude:: samples/template-create-response.json :language: javascript Get environment template details ================================ .. rest_method:: GET /templates/{env_temp_id} Get details for the environment template ``env_temp_id``. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_temp_id: template_id_url Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - created: created - updated: updated - name: template_name - services: template_services - tenant_id: tenant_id - version: template_version - description_text: template_description - is_public: template_is_public - id: template_id Response Example ---------------- .. literalinclude:: samples/template-show-response.json :language: javascript Delete environment template =========================== .. rest_method:: DELETE /templates/{env_temp_id} Delete the environment template ``env_temp_id``. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_temp_id: template_id_url Add application to environment template ======================================= .. rest_method:: POST /templates/{env_temp_id}/services Create a new application for environment template ``env_temp_id``. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_temp_id: template_id_url - service: template_service Request Example --------------- .. literalinclude:: samples/template-add-app-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - updated: updated - created: created - tenant_id: tenant_id - services: template_services - version: template_version - description_text: template_description - is_public: template_is_public - id: template_id - name: template_name Response Example ---------------- .. literalinclude:: samples/template-add-app-response.json :language: javascript Delete application from an environment template =============================================== .. rest_method:: DELETE /templates/{env_temp_id}/services/{service_id} Delete an application from an environment template. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_temp_id: template_id_url - service_id: service_id_url List application details for environment template ================================================= .. rest_method:: GET /templates/{env_temp_id}/services List all the applications for the specified environment template ``env_temp_id``. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_temp_id: template_id_url Response Parameters ------------------- - X-Openstack-Request-Id: request_id - updated: updated - created: created - tenant_id: tenant_id - services: template_services - version: template_version - description_text: template_description - is_public: template_is_public - id: template_id - name: template_name Response Example ---------------- .. literalinclude:: samples/template-list-apps-response.json :language: javascript Update application for an environment template ============================================== .. rest_method:: PUT /templates/{env_temp_id}/services/{service_id} Delete an application from an environment template. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 404 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_temp_id: template_id_url - service_id: service_id_url - service: template_service Request Example --------------- .. literalinclude:: samples/template-update-app-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - service: template_service Response Example ---------------- .. literalinclude:: samples/template-update-app-response.json :language: javascript Create environment from environment template ============================================ .. rest_method:: GET /templates/{env_temp_id}/create-environment Create an environment from the environment template ``env_temp_id``. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 404 - 409 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_temp_id: template_id_url - name: env_name Request Example --------------- .. literalinclude:: samples/template-create-env-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - environment_id: env_id - name: env_name - created: created - tenant_id: tenant_id - version: env_version - session_id: session_id Response Example ---------------- .. literalinclude:: samples/template-create-env-response.json :language: javascript Clone environment template ========================== .. rest_method:: GET /templates/{env_temp_id}/clone Clones an environment template from one tenant into another. .. note: In order to clone an environment template, the template *must* be public. Response Codes -------------- .. rest_status_code:: success status.yaml - 200 .. rest_status_code:: error status.yaml - 401 - 404 - 409 Request Parameters ------------------ .. rest_parameters:: parameters.yaml - env_temp_id: template_id_url - name: template_name Request Example --------------- .. literalinclude:: samples/template-clone-request.json :language: javascript Response Parameters ------------------- .. rest_parameters:: parameters.yaml - X-Openstack-Request-Id: request_id - environment_id: env_id - name: env_name - created: created - tenant_id: tenant_id - version: env_version - session_id: session_id Response Example ---------------- .. literalinclude:: samples/template-clone-response.json :language: javascript murano-9.0.0/api-ref/source/conf.py0000664000175000017500000001475213656750211017204 0ustar zuulzuul00000000000000# -*- coding: utf-8 -*- # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # # murano documentation build configuration file, created by # sphinx-quickstart on Sat May 1 15:17:47 2010. # # This file is execfile()d with the current directory set to # its containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. import os import sys extensions = [ 'os_api_ref', 'openstackdocstheme' ] html_theme = 'openstackdocs' html_theme_options = { "sidebar_mode": "toc", } # openstackdocstheme options repository_name = 'openstack/murano' bug_project = 'murano' bug_tag = 'api-ref' # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. sys.path.insert(0, os.path.abspath('../../')) sys.path.insert(0, os.path.abspath('../')) sys.path.insert(0, os.path.abspath('./')) # -- General configuration ---------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. # The suffix of source filenames. source_suffix = '.rst' # The encoding of source files. # # source_encoding = 'utf-8' # The master toctree document. master_doc = 'index' # General information about the project. copyright = u'2016-present, OpenStack Foundation' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: # today = '' # Else, today_fmt is used as the format for a strftime call. # today_fmt = '%B %d, %Y' # The reST default role (used for this markup: `text`) to use # for all documents. # default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. # add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). add_module_names = False # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # -- Options for man page output ---------------------------------------------- # Grouping the document tree for man pages. # List of tuples 'sourcefile', 'target', u'title', u'Authors name', 'manual' # -- Options for HTML output -------------------------------------------------- # The theme to use for HTML and HTML Help pages. Major themes that come with # Sphinx are currently 'default' and 'sphinxdoc'. # html_theme_path = ["."] # html_theme = '_theme' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. # html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". # html_title = None # A shorter title for the navigation bar. Default is the same as html_title. # html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. # html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. # html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". # html_static_path = ['_static'] # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. # html_use_smartypants = True # Custom sidebar templates, maps document names to template names. # html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. # html_additional_pages = {} # If false, no module index is generated. # html_use_modindex = True # If false, no index is generated. # html_use_index = True # If true, the index is split into individual pages for each letter. # html_split_index = False # If true, links to the reST sources are added to the pages. # html_show_sourcelink = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. # html_use_opensearch = '' # If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml"). # html_file_suffix = '' # Output file base name for HTML help builder. htmlhelp_basename = 'muranodoc' # -- Options for LaTeX output ------------------------------------------------- # The paper size ('letter' or 'a4'). # latex_paper_size = 'letter' # The font size ('10pt', '11pt' or '12pt'). # latex_font_size = '10pt' # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass # [howto/manual]). latex_documents = [ ('index', 'Murano.tex', u'OpenStack Application Catalog API Documentation', u'OpenStack Foundation', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. # latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. # latex_use_parts = False # Additional stuff for the LaTeX preamble. # latex_preamble = '' # Documents to append as an appendix to all manuals. # latex_appendices = [] # If false, no module index is generated. # latex_use_modindex = True murano-9.0.0/api-ref/source/index.rst0000664000175000017500000000022413656750211017533 0ustar zuulzuul00000000000000================================== OpenStack Application Catalog APIs ================================== .. toctree:: :maxdepth: 1 v1/index murano-9.0.0/PKG-INFO0000664000175000017500000000466113656750351014162 0ustar zuulzuul00000000000000Metadata-Version: 1.2 Name: murano Version: 9.0.0 Summary: Murano API Home-page: https://www.openstack.org/software/releases/mitaka/components/murano Author: OpenStack Author-email: openstack-discuss@lists.openstack.org License: Apache License, Version 2.0 Description: ======================== Team and repository tags ======================== .. image:: https://governance.openstack.org/tc/badges/murano.svg :target: https://governance.openstack.org/tc/reference/tags/index.html .. Change things from this point on Murano ====== Murano Project introduces an application catalog, which allows application developers and cloud administrators to publish various cloud-ready applications in a browsable categorised catalog. Cloud users -- including inexperienced ones -- can then use the catalog to compose reliable application environments with the push of a button. Project Resources ----------------- * `Murano Official Documentation `_ * Project status, bugs, and blueprints are tracked on `Launchpad `_ * Additional resources are linked from the project `Wiki `_ page * `Python client `_ License ------- Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 Release Notes ------------- Release Notes may be found here: https://docs.openstack.org/releasenotes/murano Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: OpenStack Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Information Technology Classifier: License :: OSI Approved :: Apache Software License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Requires-Python: >=3.6 murano-9.0.0/bindep.txt0000664000175000017500000000045313656750211015055 0ustar zuulzuul00000000000000# This is a cross-platform list tracking distribution packages needed for install and tests; # see https://docs.openstack.org/infra/bindep/ for additional information. libpq-dev [platform:dpkg] mysql-client [platform:dpkg] mysql-server [platform:dpkg] postgresql postgresql-client [platform:dpkg] murano-9.0.0/test-requirements.txt0000664000175000017500000000145313656750212017316 0ustar zuulzuul00000000000000# The order of packages is significant, because pip processes them in the order # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. hacking>=3.0,<4.0.0 # Apache-2.0 coverage!=4.4,>=4.0 # Apache-2.0 fixtures>=3.0.0 # Apache-2.0/BSD nose>=1.3.7 # LGPL oslotest>=3.2.0 # Apache-2.0 sqlalchemy-migrate>=0.11.0 # Apache-2.0 testrepository>=0.0.18 # Apache-2.0/BSD testresources>=2.0.0 # Apache-2.0/BSD testscenarios>=0.4 # Apache-2.0/BSD pylint==1.4.5 # GPLv2 pycodestyle>=2.0.0 # MIT License requests>=2.14.2 # Apache-2.0 stestr>=1.0.0 # Apache-2.0 murano-pkg-check>=0.3.0 # Apache-2.0 bandit>=1.1.0,!=1.6.0 # Apache-2.0 # Some of the tests use real MySQL and Postgres databases PyMySQL>=0.7.6 # MIT License psycopg2>=2.7.0 # LGPL/ZPL murano-9.0.0/lower-constraints.txt0000664000175000017500000000525013656750211017311 0ustar zuulzuul00000000000000alabaster==0.7.10 alembic==0.8.10 amqp==2.2.2 appdirs==1.4.3 asn1crypto==0.24.0 astroid==1.3.8 Babel==2.3.4 bandit==1.1.0 cachetools==2.0.1 castellan==0.16.0 certifi==2018.1.18 cffi==1.11.5 chardet==3.0.4 cliff==2.11.0 cmd2==0.8.1 contextlib2==0.5.5 coverage==4.0 cryptography==2.1 debtcollector==1.2.0 decorator==4.2.1 deprecation==2.0 docutils==0.14 dogpile.cache==0.6.5 dulwich==0.19.0 enum-compat==0.0.2 eventlet==0.18.2 extras==1.0.0 fasteners==0.14.1 fixtures==3.0.0 flake8==2.5.5 future==0.16.0 futurist==1.6.0 gitdb2==2.0.3 GitPython==2.1.8 greenlet==0.4.13 hacking==0.12.0 idna==2.6 imagesize==1.0.0 iso8601==0.1.12 Jinja2==2.10 jmespath==0.9.3 jsonpatch==1.16 jsonpointer==2.0 jsonschema==2.6.0 keystoneauth1==3.4.0 keystonemiddleware==4.17.0 kombu==4.0.0 linecache2==1.0.0 logilab-common==1.4.1 Mako==1.0.7 MarkupSafe==1.0 mccabe==0.2.1 mock==2.0.0 monotonic==1.4 mox3==0.25.0 msgpack==0.5.6 munch==2.2.0 murano-pkg-check==0.3.0 netaddr==0.7.18 netifaces==0.10.6 nose==1.3.7 openstackdocstheme==1.20.0 openstacksdk==0.12.0 os-api-ref==1.4.0 os-client-config==1.29.0 os-service-types==1.2.0 stestr==1.0.0 osc-lib==1.10.0 oslo.cache==1.29.0 oslo.concurrency==3.26.0 oslo.config==5.2.0 oslo.context==2.19.2 oslo.db==4.27.0 oslo.i18n==3.15.3 oslo.log==3.36.0 oslo.messaging==5.29.0 oslo.middleware==3.31.0 oslo.policy==1.30.0 oslo.serialization==2.18.0 oslo.service==1.24.0 oslo.upgradecheck==0.1.0 oslo.utils==3.33.0 oslotest==3.2.0 packaging==17.1 Paste==2.0.2 PasteDeploy==1.5.0 pbr==2.0.0 pika-pool==0.1.3 pika==0.10.0 ply==3.11 prettytable==0.7.2 psutil==3.2.2 psycopg2==2.7.0 pycadf==2.7.0 pycodestyle==2.0.0 pycparser==2.18 pyflakes==0.8.1 Pygments==2.2.0 pyinotify==0.9.6 pylint==1.4.5 PyMySQL==0.7.6 pyOpenSSL==17.5.0 pyparsing==2.2.0 pyperclip==1.6.0 python-barbicanclient==4.6.0 python-congressclient==1.9.0 python-dateutil==2.7.0 python-editor==1.0.3 python-glanceclient==2.9.1 python-heatclient==1.10.0 python-keystoneclient==3.8.0 python-mimeparse==1.6.0 python-mistralclient==3.1.0 python-muranoclient==0.8.2 python-neutronclient==6.7.0 python-subunit==1.2.0 python-swiftclient==3.5.0 pytz==2018.3 PyYAML==3.12 reno==2.5.0 repoze.lru==0.7 requests==2.14.2 requestsexceptions==1.4.0 rfc3986==1.1.0 Routes==2.3.1 semantic-version==2.8.2 simplejson==3.13.2 smmap2==2.0.3 snowballstemmer==1.2.1 Sphinx==1.6.2 sphinxcontrib-httpdomain==1.3.0 sphinxcontrib-websupport==1.0.1 sqlalchemy-migrate==0.11.0 SQLAlchemy==1.0.10 sqlparse==0.2.4 statsd==3.2.2 stestr==2.0.0 stevedore==1.20.0 Tempita==0.5.2 tenacity==4.4.0 testrepository==0.0.18 testresources==2.0.0 testscenarios==0.4 testtools==2.2.0 traceback2==1.4.0 urllib3==1.22 vine==1.1.4 voluptuous==0.11.1 warlock==1.3.0 WebOb==1.7.1 wrapt==1.10.11 yaql==1.1.3 murano-9.0.0/AUTHORS0000664000175000017500000002270613656750351014135 0ustar zuulzuul0000000000000098k <18552437190@163.com> 99cloudML <99cloudml@99cloudMLdeAir.lan> Aaron-DH Akanksha Aleksandr Kholkin Alexander Adamov Alexander Saprykin Alexander Shlykov Alexander Tivelkov Alexey Deryugin Alexey Galkin Alexey Khivin Anastasia Kuznetsova Andrea Frittoli Andreas Jaeger Andrew Pashkin Andrew Pashkin Andrey Kurilin Andy Botting Angus Salkeld Ankur Rishi Aqsa Artem Akulshin Artem Tiumentcev AvnishPal Bertrand Lallau Bo Wang Boden R Brent Roskos Brian Tully Béla Vancsics Cao Xuan Hoang Chandan Kumar Chandan Kumar Chetna Khullar Choe, Cheng-Dae Christian Berendt Claudiu Belu Corey Bryant David Moreau-Simard David Purcell David Purcell David Purcell Deepak Dmitrii Dovbii Dmitry Teselkin Dmytro Dovbii Doug Hellmann Duan Jiong Duong Ha-Quang Ekaterina Chernova Ekaterina Fedorova Ellen Batbouta Elod Illes Felipe Monteiro Filip Blaha Flavio Percoco Florian Walker Gage Hugo Georgiy Okrokvertskhov Georgy Okrokvertskhov Gerry Buteau Ghanshyam Mann Guoqiang Ding Guy Paz Gyorgy Szombathelyi Hangdong Zhang Henar Muñoz Frutos Hervé Beraud Hidekazu Nakamura Hironori Shiina Hongbin Lu Huangsm Ian Wienand Igor Yozhikov Ilya Popov Jacek Tomasiak James E. Blair Jeremy Liu Jeremy Stanley Jesus Perez Jose Phillips Julian Sy Julien Vey Kirill Zaitsev Kirill Zaitsev Konstantin Snihyr Li Xipeng Lin Yang LiuNanke Longgeek Luigi Toscano Lujin Luo M V P Nitesh MStolyarenko Madhuri Kumari Madhuri Kumari Madhuri Kumari Marc Koderer Marga Millet Margarita Shakhova Maria Zlatkova Michael Krotscheck Michal Gershenzon Mikhail Dubov Monty Taylor Nam Nguyen Hoai Namrata Natasha Beck Nguyen Hung Phuong Nguyen Van Trung Nicolas Nikolai Starodubtsev Nikolay Starodubtsev Nikolay Starodubtsev Olena Logvinova OlgaGusarenko Olivier Lemasle Omar Shykhkerimov OpenStack Release Bot PRAMOD KUMAR SINGH Paul Bourke Radek Pospisil Ravi Shekhar Jethani Robert Collins Robin Naundorf Roman Vasilets Ronald Bradford Rongze Zhu Rui Yuan Dou Ruslan Kamaldiniv Ruslan Kamaldinov Ryan Peters Sam Morrison Sam Pilla Samantha Blanco Samuel Pilla Sean McGinnis Serg Melikyan Serg Melikyan Sergey Kolekonov Sergey Lukjanov Sergey Melikyan Sergey Murashov Sergey Reshetnyak Sergey Vilgelm Shilla Saebi Snihyr Kostyantyn Sofiia Andriichenko Stan Lagun Stan Lagun Stanislav Lagun Steve McLellan Steve Wilkerson Swapnil Kulkarni (coolsvap) Tetiana Lashchova Thierry Carrez Thomas Goirand Thomas Goirand Timur Nurlygayanov Timur Sufiev TimurNurlygayanov Tin Lam Tin Lam Tony Breeds Tony Xu Tovin Seven Vahid Hashemian Valerii Kovalchuk Van Hung Pham Victor Araujo Victor Ryzhenkin Victor Stinner Vijayaguru Guruchave Viktor Ryzhenkin Vu Cong Tuan Wriju Bhattacharya Yosef Hoffman Yushiro FURUKAWA ZhiQiang Fan Zhongyue Luo akhiljain23 bhagyashris bhavani.cr chao liu chenaidong1 darla.ahlert deepakmourya devray dineshbhor dommgifer earthmant ellen emashkin enthurohini gaofei gaoyl gecong1973 gengchc2 ghanshyam ghanshyam howardlee hparekh huoliang jaugustine jeremy.zhang kbespalov lei-zhang-99cloud leizhang lidong lingyongxu liushuobj liyingjun liyingjun lvdongbing melissaml noa npraveen35 ol7435 olehbaran ondrej.vojta oshykhkerimov pandatt pengyuesheng ricolin shangxiaobj shashi.kant shihanzhang smurashov stoneliu sunqingliang6 sunshuai syed ahsan shamim zaidi tamilhce varshak05 venkatamahesh venkatamahesh visitor vryzhenkin wangqi wangzhh wu.chunyang xiangxinyong xpress yuhui_inspur yushangbin zhang.lei zhangyanxian zhangyanxian zhangyifan zhu.rong zhulingjie zhurong murano-9.0.0/babel.cfg0000664000175000017500000000002013656750211014567 0ustar zuulzuul00000000000000[python: **.py] murano-9.0.0/CONTRIBUTING.rst0000664000175000017500000000276513656750211015524 0ustar zuulzuul00000000000000====================== Contributing to Murano ====================== If you're interested in contributing to the Murano project, the following will help get you started. Contributor License Agreement ============================= In order to contribute to the Murano project, you need to have signed OpenStack's contributor's agreement: * https://docs.openstack.org/infra/manual/developers.html * https://wiki.openstack.org/wiki/How_To_Contribute#Contributor_License_Agreement Project Hosting Details ======================= * Bug trackers * General murano tracker: https://launchpad.net/murano * Python client tracker: https://launchpad.net/python-muranoclient * Tracker for bugs related to specific apps: https://launchpad.net/murano-apps * Mailing list (prefix subjects with ``[Murano]`` for faster responses) http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev * Wiki https://wiki.openstack.org/wiki/Murano * IRC channel * #murano at FreeNode * https://wiki.openstack.org/wiki/Meetings#Murano_meeting * Code Hosting * https://opendev.org/openstack/murano * https://opendev.org/openstack/murano-agent * https://opendev.org/openstack/murano-dashboard * https://opendev.org/openstack/python-muranoclient * Code Review * https://review.opendev.org/#/q/murano+AND+status:+open,n,z * https://docs.openstack.org/infra/manual/developers.html#development-workflow * Murano Design Specifications * https://opendev.org/openstack/murano-specs murano-9.0.0/murano/0000775000175000017500000000000013656750351014357 5ustar zuulzuul00000000000000murano-9.0.0/murano/utils.py0000664000175000017500000001766213656750212016101 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import contextlib import functools import os from oslo_concurrency import lockutils from oslo_log import log as logging from oslo_utils import fileutils from webob import exc from murano.common.i18n import _ from murano.db import models from murano.db.services import sessions from murano.db import session as db_session from murano.services import states LOG = logging.getLogger(__name__) def check_env(request, environment_id): unit = db_session.get_session() environment = unit.query(models.Environment).get(environment_id) if environment is None: msg = _('Environment with id {env_id}' ' not found').format(env_id=environment_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) if hasattr(request, 'context'): if (environment.tenant_id != request.context.tenant and not request.context.is_admin): msg = _('User is not authorized to access' ' these tenant resources') LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) return environment def check_session(request, environment_id, session, session_id): """Validate, that a session is ok.""" if session is None: msg = _('Session is not found').format(id=session_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) if session.environment_id != environment_id: msg = _('Session is not tied ' 'with Environment ').format( session_id=session_id, environment_id=environment_id) LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) check_env(request, environment_id) def verify_env(func): @functools.wraps(func) def __inner(self, request, environment_id, *args, **kwargs): check_env(request, environment_id) return func(self, request, environment_id, *args, **kwargs) return __inner def verify_env_template(func): @functools.wraps(func) def __inner(self, request, env_template_id, *args, **kwargs): unit = db_session.get_session() template = unit.query(models.EnvironmentTemplate).get(env_template_id) if template is None: msg = _('Environment Template with id {id} not found' ).format(id=env_template_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) if hasattr(request, 'context'): if template.tenant_id != request.context.tenant: msg = _('User is not authorized to access' ' this tenant resources') LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) return func(self, request, env_template_id, *args, **kwargs) return __inner def verify_session(func): @functools.wraps(func) def __inner(self, request, *args, **kwargs): if hasattr(request, 'context') and not request.context.session: msg = _('X-Configuration-Session header which indicates' ' to the session is missed') LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) session_id = request.context.session unit = db_session.get_session() session = unit.query(models.Session).get(session_id) if session is None: msg = _('Session is not found').format(session_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) if not sessions.SessionServices.validate(session): msg = _('Session ' 'is invalid: environment has been updated or ' 'updating right now with other session').format(session_id) LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) if session.state == states.SessionState.DEPLOYING: msg = _('Session is already in deployment state' ).format(session_id) raise exc.HTTPForbidden(explanation=msg) return func(self, request, *args, **kwargs) return __inner ExclusiveInterProcessLock = lockutils.InterProcessLock if os.name == 'nt': # no shared locks on windows SharedInterProcessLock = lockutils.InterProcessLock else: import fcntl class SharedInterProcessLock(lockutils.InterProcessLock): def trylock(self): # LOCK_EX instead of LOCK_EX fcntl.lockf(self.lockfile, fcntl.LOCK_SH | fcntl.LOCK_NB) def _do_open(self): # the file has to be open in read mode, therefore this method has # to be overridden basedir = os.path.dirname(self.path) if basedir: made_basedir = fileutils.ensure_tree(basedir) if made_basedir: self.logger.debug( 'Created lock base path `%s`', basedir) # The code here is mostly copy-pasted from oslo_concurrency and # fasteners. The file has to be open with read permissions to be # suitable for shared locking if self.lockfile is None or self.lockfile.closed: try: # ensure the file is there, but do not obtain an extra file # descriptor, as closing it would release fcntl lock fd = os.open(self.path, os.O_CREAT | os.O_EXCL) os.close(fd) except OSError: pass self.lockfile = open(self.path, 'r') class ReaderWriterLock(lockutils.ReaderWriterLock): @contextlib.contextmanager def write_lock(self, blocking=True): """Context manager that grants a write lock. Will wait until no active readers. Blocks readers after acquiring. Raises a ``RuntimeError`` if an active reader attempts to acquire a lock. """ timeout = None if blocking else 0.00001 me = self._current_thread() i_am_writer = self.is_writer(check_pending=False) if self.is_reader() and not i_am_writer: raise RuntimeError("Reader %s to writer privilege" " escalation not allowed" % me) if i_am_writer: # Already the writer; this allows for basic reentrancy. yield self else: with self._cond: self._pending_writers.append(me) while True: # No readers, and no active writer, am I next?? if len(self._readers) == 0 and self._writer is None: if self._pending_writers[0] == me: self._writer = self._pending_writers.popleft() break # NOTE(kzaitsev): this actually means, that we can wait # more than timeout times, since if we get True value we # would get another spin inside of the while loop # Should we do anything about it? acquired = self._cond.wait(timeout) if not acquired: yield False return try: yield True finally: with self._cond: self._writer = None self._cond.notify_all() murano-9.0.0/murano/__init__.py0000664000175000017500000000000013656750211016451 0ustar zuulzuul00000000000000murano-9.0.0/murano/packages/0000775000175000017500000000000013656750351016135 5ustar zuulzuul00000000000000murano-9.0.0/murano/packages/package.py0000664000175000017500000000627213656750211020104 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import abc import io import os import zipfile from murano.common.helpers import path class PackageType(object): Library = 'Library' Application = 'Application' ALL = [Library, Application] class Package(object, metaclass=abc.ABCMeta): def __init__(self, format_name, runtime_version, source_directory): self._source_directory = source_directory self._format_name = format_name self._runtime_version = runtime_version self._blob_cache = None @property def format_name(self): return self._format_name @abc.abstractproperty def full_name(self): raise NotImplementedError() @abc.abstractproperty def version(self): raise NotImplementedError() @abc.abstractproperty def classes(self): raise NotImplementedError() @property def runtime_version(self): return self._runtime_version @abc.abstractproperty def requirements(self): raise NotImplementedError() @abc.abstractproperty def package_type(self): raise NotImplementedError() @abc.abstractproperty def display_name(self): raise NotImplementedError() @abc.abstractproperty def description(self): raise NotImplementedError() @abc.abstractproperty def author(self): raise NotImplementedError() @abc.abstractproperty def supplier(self): raise NotImplementedError() @abc.abstractproperty def tags(self): raise NotImplementedError() @abc.abstractproperty def logo(self): raise NotImplementedError() @abc.abstractproperty def supplier_logo(self): raise NotImplementedError() @property def blob(self): if not self._blob_cache: self._blob_cache = _pack_dir(self._source_directory) return self._blob_cache @abc.abstractmethod def get_class(self, name): raise NotImplementedError() @abc.abstractmethod def get_resource(self, name): raise NotImplementedError() @abc.abstractproperty def ui(self): raise NotImplementedError() @abc.abstractproperty def meta(self): raise NotImplementedError() def _zip_dir(base, zip_file): for root, _, files in os.walk(base): for f in files: abs_path = path.secure_join(root, f) relative_path = os.path.relpath(abs_path, base) zip_file.write(abs_path, relative_path) def _pack_dir(source_directory): blob = io.BytesIO() zip_file = zipfile.ZipFile(blob, mode='w') _zip_dir(source_directory, zip_file) zip_file.close() return blob.getvalue() murano-9.0.0/murano/packages/package_base.py0000664000175000017500000001225513656750211021074 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import abc import imghdr import os import re import sys import semantic_version from murano.common.helpers import path from murano.common.i18n import _ from murano.common import utils from murano.packages import exceptions from murano.packages import package class PackageBase(package.Package): def __init__(self, format_name, runtime_version, source_directory, manifest): super(PackageBase, self).__init__( format_name, runtime_version, source_directory) self._full_name = manifest.get('FullName') if not self._full_name: raise exceptions.PackageFormatError('FullName is not specified') self._check_full_name(self._full_name) self._version = semantic_version.Version.coerce(str(manifest.get( 'Version', '0.0.0'))) self._package_type = manifest.get('Type') if self._package_type not in package.PackageType.ALL: raise exceptions.PackageFormatError( 'Invalid package Type {0}'.format(self._package_type)) self._display_name = manifest.get('Name', self._full_name) self._description = manifest.get('Description') self._author = manifest.get('Author') self._supplier = manifest.get('Supplier') or {} self._logo = manifest.get('Logo') self._tags = manifest.get('Tags', []) self._logo_cache = None self._supplier_logo_cache = None self._source_directory = source_directory @abc.abstractproperty def requirements(self): raise NotImplementedError() @abc.abstractproperty def classes(self): raise NotImplementedError() @abc.abstractmethod def get_class(self, name): raise NotImplementedError() @abc.abstractproperty def ui(self): raise NotImplementedError() @property def full_name(self): return self._full_name @property def source_directory(self): return self._source_directory @property def version(self): return self._version @property def package_type(self): return self._package_type @property def display_name(self): return self._display_name @property def description(self): return self._description @property def author(self): return self._author @property def supplier(self): return self._supplier @property def tags(self): return list(self._tags) @property def logo(self): return self._load_image(self._logo, 'logo.png', 'logo') @property def meta(self): return None @property def supplier_logo(self): return self._load_image( self._supplier.get('Logo'), 'supplier_logo.png', 'supplier logo') def get_resource(self, name): resources_dir = path.secure_join(self._source_directory, 'Resources') if not os.path.exists(resources_dir): os.makedirs(resources_dir) return path.secure_join(resources_dir, name) def _load_image(self, file_name, default_name, what_image): full_path = path.secure_join( self._source_directory, file_name or default_name) if not os.path.isfile(full_path) and not file_name: return allowed_ftype = ('png', 'jpeg', 'gif') allowed_size = 500 * 1024 try: if imghdr.what(full_path) not in allowed_ftype: msg = _('{0}: Unsupported Format. Only {1} allowed').format( what_image, ', '.join(allowed_ftype)) raise exceptions.PackageLoadError(msg) fsize = os.stat(full_path).st_size if fsize > allowed_size: msg = _('{0}: Uploaded image size {1} is too large. ' 'Max allowed size is {2}').format( what_image, fsize, allowed_size) raise exceptions.PackageLoadError(msg) with open(full_path, 'rb') as stream: return stream.read() except Exception as ex: trace = sys.exc_info()[2] utils.reraise( exceptions.PackageLoadError, exceptions.PackageLoadError( 'Unable to load {0}: {1}'.format(what_image, ex)), trace) @staticmethod def _check_full_name(full_name): error = exceptions.PackageFormatError('Invalid FullName ' + full_name) if re.match(r'^[\w\.]+$', full_name): if full_name.startswith('.') or full_name.endswith('.'): raise error if '..' in full_name: raise error else: raise error murano-9.0.0/murano/packages/__init__.py0000664000175000017500000000000013656750211020227 0ustar zuulzuul00000000000000murano-9.0.0/murano/packages/mpl_package.py0000664000175000017500000000434113656750211020747 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os from murano.common.helpers import path from murano.packages import exceptions from murano.packages import package_base class MuranoPlPackage(package_base.PackageBase): def __init__(self, format_name, runtime_version, source_directory, manifest): super(MuranoPlPackage, self).__init__( format_name, runtime_version, source_directory, manifest) self._classes = manifest.get('Classes') self._ui_file = manifest.get('UI', 'ui.yaml') self._requirements = manifest.get('Require') or {} self._meta = manifest.get('Meta') @property def classes(self): return self._classes.keys() @property def ui(self): full_path = path.secure_join( self._source_directory, 'UI', self._ui_file) if not os.path.isfile(full_path): return None with open(full_path, 'rb') as stream: return stream.read() @property def requirements(self): return self._requirements def get_class(self, name): if name not in self._classes: raise exceptions.PackageClassLoadError( name, 'Class not defined in package ' + self.full_name) def_file = self._classes[name] full_path = path.secure_join( self._source_directory, 'Classes', def_file) if not os.path.isfile(full_path): raise exceptions.PackageClassLoadError( name, 'File with class definition not found') with open(full_path, 'rb') as stream: return stream.read(), full_path @property def meta(self): return self._meta murano-9.0.0/murano/packages/load_utils.py0000664000175000017500000000744313656750211020651 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import contextlib import os import shutil import sys import tempfile import zipfile import yaml from murano.common.helpers import path from murano.common.plugins import package_types_loader from murano.common import utils import murano.packages.exceptions as e import murano.packages.hot_package import murano.packages.mpl_package PLUGIN_LOADER = None def get_plugin_loader(): global PLUGIN_LOADER if PLUGIN_LOADER is None: PLUGIN_LOADER = package_types_loader.PluginLoader() for runtime_version in ('1.0', '1.1', '1.2', '1.3', '1.4'): format_string = 'MuranoPL/' + runtime_version PLUGIN_LOADER.register_format( format_string, murano.packages.mpl_package.MuranoPlPackage) PLUGIN_LOADER.register_format( 'Heat.HOT/1.0', murano.packages.hot_package.HotPackage) return PLUGIN_LOADER @contextlib.contextmanager def load_from_file(archive_path, target_dir=None, drop_dir=False): if not os.path.isfile(archive_path): raise e.PackageLoadError('Unable to find package file') created = False if not target_dir: target_dir = tempfile.mkdtemp() created = True elif not os.path.exists(target_dir): os.makedirs(target_dir) created = True else: if os.listdir(target_dir): raise e.PackageLoadError('Target directory is not empty') try: if not zipfile.is_zipfile(archive_path): raise e.PackageFormatError("Uploaded file {0} is not a " "zip archive".format(archive_path)) package = zipfile.ZipFile(archive_path) package.extractall(path=target_dir) yield load_from_dir(target_dir) except ValueError as err: raise e.PackageLoadError("Couldn't load package from file: " "{0}".format(err)) finally: if drop_dir: if created: shutil.rmtree(target_dir) else: for f in os.listdir(target_dir): os.unlink(path.secure_join(target_dir, f)) def load_from_dir(source_directory, filename='manifest.yaml'): if not os.path.isdir(source_directory) or not os.path.exists( source_directory): raise e.PackageLoadError('Invalid package directory') full_path = path.secure_join(source_directory, filename) if not os.path.isfile(full_path): raise e.PackageLoadError('Unable to find package manifest') try: with open(full_path) as stream: content = yaml.safe_load(stream) except Exception as ex: trace = sys.exc_info()[2] utils.reraise( e.PackageLoadError, e.PackageLoadError("Unable to load due to '{0}'".format(ex)), trace) else: format_spec = str(content.get('Format') or 'MuranoPL/1.0') if format_spec[0].isdigit(): format_spec = 'MuranoPL/' + format_spec plugin_loader = get_plugin_loader() handler = plugin_loader.get_package_handler(format_spec) if handler is None: raise e.PackageFormatError( 'Unsupported format {0}'.format(format_spec)) return handler(source_directory, content) murano-9.0.0/murano/packages/hot_package.py0000664000175000017500000004545413656750211020763 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import shutil import sys import yaml from murano.common.helpers import path from murano.packages import exceptions from murano.packages import package_base RESOURCES_DIR_NAME = 'Resources/' HOT_FILES_DIR_NAME = 'HotFiles/' HOT_ENV_DIR_NAME = 'HotEnvironments/' class YAQL(object): def __init__(self, expr): self.expr = expr class Dumper(yaml.SafeDumper): pass def yaql_representer(dumper, data): return dumper.represent_scalar(u'!yaql', data.expr) Dumper.add_representer(YAQL, yaql_representer) class HotPackage(package_base.PackageBase): def __init__(self, format_name, runtime_version, source_directory, manifest): super(HotPackage, self).__init__( format_name, runtime_version, source_directory, manifest) self._translated_class = None self._source_directory = source_directory self._translated_ui = None @property def classes(self): return self.full_name, @property def requirements(self): return {} @property def ui(self): if not self._translated_ui: self._translated_ui = self._translate_ui() return self._translated_ui def get_class(self, name): if name != self.full_name: raise exceptions.PackageClassLoadError( name, 'Class not defined in this package') if not self._translated_class: self._translate_class() return self._translated_class, '' def _translate_class(self): template_file = path.secure_join( self._source_directory, 'template.yaml') if not os.path.isfile(template_file): raise exceptions.PackageClassLoadError( self.full_name, 'File with class definition not found') shutil.copy(template_file, self.get_resource(self.full_name)) with open(template_file) as stream: hot = yaml.safe_load(stream) if 'resources' not in hot: raise exceptions.PackageFormatError('Not a HOT template') translated = { 'Name': self.full_name, 'Extends': 'io.murano.Application' } hot_envs_path = path.secure_join( self._source_directory, RESOURCES_DIR_NAME, HOT_ENV_DIR_NAME) # if using hot environments, doing parameter validation with contracts # will overwrite the parameters in the hot environment. # don't validate parameters if hot environments exist. validate_hot_parameters = (not os.path.isdir(hot_envs_path) or not os.listdir(hot_envs_path)) parameters = HotPackage._build_properties(hot, validate_hot_parameters) parameters.update(HotPackage._translate_outputs(hot)) translated['Properties'] = parameters files = HotPackage._translate_files(self._source_directory) translated.update(HotPackage._generate_workflow(hot, files)) # use default_style with double quote mark because by default PyYAML # doesn't put any quote marks ans as a result strings with e.g. dashes # may be interpreted as YAQL expressions upon load self._translated_class = yaml.dump( translated, Dumper=Dumper, default_style='"') @staticmethod def _build_properties(hot, validate_hot_parameters): result = { 'generatedHeatStackName': { 'Contract': YAQL('$.string()'), 'Usage': 'Out' }, 'hotEnvironment': { 'Contract': YAQL('$.string()'), 'Usage': 'In' }, 'name': { 'Contract': YAQL('$.string().notNull()'), 'Usage': 'In', } } if validate_hot_parameters: params_dict = {} for key, value in (hot.get('parameters') or {}).items(): param_contract = HotPackage._translate_param_to_contract(value) params_dict[key] = param_contract result['templateParameters'] = { 'Contract': params_dict, 'Default': {}, 'Usage': 'In' } else: result['templateParameters'] = { 'Contract': {}, 'Default': {}, 'Usage': 'In' } return result @staticmethod def _translate_param_to_contract(value): contract = '$' parameter_type = value['type'] if parameter_type in ('string', 'comma_delimited_list', 'json'): contract += '.string()' elif parameter_type == 'number': contract += '.int()' elif parameter_type == 'boolean': contract += '.bool()' else: raise ValueError('Unsupported parameter type ' + parameter_type) constraints = value.get('constraints') or [] for constraint in constraints: translated = HotPackage._translate_constraint(constraint) if translated: contract += translated result = YAQL(contract) return result @staticmethod def _translate_outputs(hot): contract = {} for key in (hot.get('outputs') or {}).keys(): contract[key] = YAQL("$.string()") return { 'templateOutputs': { 'Contract': contract, 'Default': {}, 'Usage': 'Out' } } @staticmethod def _translate_files(source_directory): hot_files_path = path.secure_join( source_directory, RESOURCES_DIR_NAME, HOT_FILES_DIR_NAME) return HotPackage._build_hot_resources(hot_files_path) @staticmethod def _build_hot_resources(basedir): result = [] if os.path.isdir(basedir): for root, _, files in os.walk(os.path.abspath(basedir)): for f in files: full_path = path.secure_join(root, f) relative_path = os.path.relpath(full_path, basedir) result.append(relative_path) return result @staticmethod def _translate_constraint(constraint): if 'allowed_values' in constraint: return HotPackage._translate_allowed_values_constraint( constraint['allowed_values']) elif 'length' in constraint: return HotPackage._translate_length_constraint( constraint['length']) elif 'range' in constraint: return HotPackage._translate_range_constraint( constraint['range']) elif 'allowed_pattern' in constraint: return HotPackage._translate_allowed_pattern_constraint( constraint['allowed_pattern']) @staticmethod def _translate_allowed_pattern_constraint(value): return ".check(matches($, '{0}'))".format(value) @staticmethod def _translate_allowed_values_constraint(values): return '.check($ in list({0}))'.format( ', '.join([HotPackage._format_value(v) for v in values])) @staticmethod def _translate_length_constraint(value): if 'min' in value and 'max' in value: return '.check(len($) >= {0} and len($) <= {1})'.format( int(value['min']), int(value['max'])) elif 'min' in value: return '.check(len($) >= {0})'.format(int(value['min'])) elif 'max' in value: return '.check(len($) <= {0})'.format(int(value['max'])) @staticmethod def _translate_range_constraint(value): if 'min' in value and 'max' in value: return '.check($ >= {0} and $ <= {1})'.format( int(value['min']), int(value['max'])) elif 'min' in value: return '.check($ >= {0})'.format(int(value['min'])) elif 'max' in value: return '.check($ <= {0})'.format(int(value['max'])) @staticmethod def _format_value(value): if isinstance(value, str): return str("'" + value + "'") return str(value) @staticmethod def _generate_workflow(hot, files): hot_files_map = {} for f in files: file_path = "$resources.string('{0}{1}')".format( HOT_FILES_DIR_NAME, f) hot_files_map[f] = YAQL(file_path) hot_env = YAQL("$.hotEnvironment") deploy = [ {YAQL('$environment'): YAQL( "$.find('io.murano.Environment').require()" )}, {YAQL('$reporter'): YAQL( "new('io.murano.system.StatusReporter', " "environment => $environment)")}, { 'If': YAQL('$.getAttr(generatedHeatStackName) = null'), 'Then': [ YAQL("$.setAttr(generatedHeatStackName, " "'{0}_{1}'.format(randomName(), id($environment)))") ] }, {YAQL('$stack'): YAQL( "new('io.murano.system.HeatStack', $environment, " "name => $.getAttr(generatedHeatStackName))")}, YAQL("$reporter.report($this, " "'Application deployment has started')"), {YAQL('$resources'): YAQL("new('io.murano.system.Resources')")}, {YAQL('$template'): YAQL("$resources.yaml(type($this))")}, YAQL('$stack.setTemplate($template)'), {YAQL('$parameters'): YAQL("$.templateParameters")}, YAQL('$stack.setParameters($parameters)'), {YAQL('$files'): hot_files_map}, YAQL('$stack.setFiles($files)'), {YAQL('$hotEnv'): hot_env}, { 'If': YAQL("bool($hotEnv)"), 'Then': [ {YAQL('$envRelPath'): YAQL("'{0}' + $hotEnv".format( HOT_ENV_DIR_NAME))}, {YAQL('$hotEnvContent'): YAQL("$resources.string(" "$envRelPath)")}, YAQL('$stack.setHotEnvironment($hotEnvContent)') ] }, YAQL("$reporter.report($this, 'Stack creation has started')"), { 'Try': [YAQL('$stack.push()')], 'Catch': [ { 'As': 'e', 'Do': [ YAQL("$reporter.report_error($this, $e.message)"), {'Rethrow': None} ] } ], 'Else': [ {YAQL('$.templateOutputs'): YAQL('$stack.output()')}, YAQL("$reporter.report($this, " "'Stack was successfully created')"), YAQL("$reporter.report($this, " "'Application deployment has finished')"), ] } ] destroy = [ {YAQL('$environment'): YAQL( "$.find('io.murano.Environment').require()" )}, {YAQL('$stack'): YAQL( "new('io.murano.system.HeatStack', $environment, " "name => $.getAttr(generatedHeatStackName))")}, YAQL('$stack.delete()') ] return { 'Methods': { 'deploy': { 'Body': deploy }, 'destroy': { 'Body': destroy } } } @staticmethod def _translate_ui_parameters(hot, title): groups = hot.get('parameter_groups', []) result_groups = [] predefined_fields = [ { 'name': 'title', 'type': 'string', 'required': False, 'hidden': True, 'description': title }, { 'name': 'name', 'type': 'string', 'label': 'Application Name', 'required': True, 'description': 'Enter a desired name for the application.' ' Just A-Z, a-z, 0-9, and dash are allowed' } ] used_parameters = set() hot_parameters = hot.get('parameters') or {} for group in groups: fields = [] properties = [] for parameter in group.get('parameters', []): parameter_value = hot_parameters.get(parameter) if parameter_value: fields.append(HotPackage._translate_ui_parameter( parameter, parameter_value)) used_parameters.add(parameter) properties.append(parameter) result_groups.append((fields, properties)) rest_group = [] properties = [] for key, value in hot_parameters.items(): if key not in used_parameters: rest_group.append(HotPackage._translate_ui_parameter( key, value)) properties.append(key) if rest_group: result_groups.append((rest_group, properties)) result_groups.insert(0, (predefined_fields, ['name'])) return result_groups @staticmethod def _translate_ui_parameter(name, parameter_spec): translated = { 'name': name, 'label': name.title().replace('_', ' ') } parameter_type = parameter_spec['type'] if parameter_type == 'number': translated['type'] = 'integer' elif parameter_type == 'boolean': translated['type'] = 'boolean' else: # string, json, and comma_delimited_list parameters are all # displayed as strings in UI. Any unsupported parameter would also # be displayed as strings. translated['type'] = 'string' label = parameter_spec.get('label') if label: translated['label'] = label if 'description' in parameter_spec: translated['description'] = parameter_spec['description'] if 'default' in parameter_spec: translated['initial'] = parameter_spec['default'] translated['required'] = False else: translated['required'] = True constraints = parameter_spec.get('constraints') or [] translated_constraints = [] for constraint in constraints: if 'length' in constraint: spec = constraint['length'] if 'min' in spec: translated['minLength'] = max( translated.get('minLength', -sys.maxsize - 1), int(spec['min'])) if 'max' in spec: translated['maxLength'] = min( translated.get('maxLength', sys.maxsize), int(spec['max'])) elif 'range' in constraint: spec = constraint['range'] if 'min' in spec and 'max' in spec: ui_constraint = { 'expr': YAQL('$ >= {0} and $ <= {1}'.format( spec['min'], spec['max'])) } elif 'min' in spec: ui_constraint = { 'expr': YAQL('$ >= {0}'.format(spec['min'])) } else: ui_constraint = { 'expr': YAQL('$ <= {0}'.format(spec['max'])) } if 'description' in constraint: ui_constraint['message'] = constraint['description'] translated_constraints.append(ui_constraint) elif 'allowed_values' in constraint: values = constraint['allowed_values'] ui_constraint = { 'expr': YAQL('$ in list({0})'.format(', '.join( [HotPackage._format_value(v) for v in values]))) } if 'description' in constraint: ui_constraint['message'] = constraint['description'] translated_constraints.append(ui_constraint) elif 'allowed_pattern' in constraint: pattern = constraint['allowed_pattern'] ui_constraint = { 'expr': { 'regexpValidator': pattern } } if 'description' in constraint: ui_constraint['message'] = constraint['description'] translated_constraints.append(ui_constraint) if translated_constraints: translated['validators'] = translated_constraints return translated @staticmethod def _generate_application_ui(groups, type_name, package_name=None, package_version=None): app = { '?': { 'type': type_name } } if package_name: app['?']['package'] = package_name if package_version: app['?']['classVersion'] = package_version for i, record in enumerate(groups): if i == 0: section = app else: section = app.setdefault('templateParameters', {}) for property_name in record[1]: section[property_name] = YAQL( '$.group{0}.{1}'.format(i, property_name)) app['name'] = YAQL('$.group0.name') return app def _translate_ui(self): template_file = path.secure_join( self._source_directory, 'template.yaml') if not os.path.isfile(template_file): raise exceptions.PackageClassLoadError( self.full_name, 'File with class definition not found') with open(template_file) as stream: hot = yaml.safe_load(stream) groups = HotPackage._translate_ui_parameters(hot, self.description) forms = [] for i, record in enumerate(groups): forms.append({'group{0}'.format(i): {'fields': record[0]}}) translated = { 'Version': 2, 'Application': HotPackage._generate_application_ui( groups, self.full_name, self.full_name, str(self.version)), 'Forms': forms } # see comment above about default_style return yaml.dump(translated, Dumper=Dumper, default_style='"') murano-9.0.0/murano/packages/exceptions.py0000664000175000017500000000271513656750211020670 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import murano.common.exceptions as e class PackageException(e.Error): pass class PackageClassLoadError(PackageException): def __init__(self, class_name, message=None): msg = 'Unable to load class "{0}" from package'.format(class_name) if message: msg += ": " + message super(PackageClassLoadError, self).__init__(msg) class PackageUILoadError(PackageException): def __init__(self, message=None): msg = 'Unable to load ui definition from package' if message: msg += ": " + message super(PackageUILoadError, self).__init__(msg) class PackageLoadError(PackageException): pass class PackageFormatError(PackageLoadError): def __init__(self, message=None): msg = 'Incorrect package format' if message: msg += ': ' + message super(PackageFormatError, self).__init__(msg) murano-9.0.0/murano/version.py0000664000175000017500000000134213656750212016412 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from pbr import version version_info = version.VersionInfo('murano') version_string = version_info.cached_version_string() murano-9.0.0/murano/services/0000775000175000017500000000000013656750351016202 5ustar zuulzuul00000000000000murano-9.0.0/murano/services/__init__.py0000664000175000017500000000000013656750211020274 0ustar zuulzuul00000000000000murano-9.0.0/murano/services/states.py0000664000175000017500000000240513656750211020053 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import collections SessionState = collections.namedtuple('SessionState', [ 'OPENED', 'DEPLOYING', 'DEPLOYED', 'DEPLOY_FAILURE', 'DELETING', 'DELETE_FAILURE' ])( OPENED='opened', DEPLOYING='deploying', DEPLOYED='deployed', DEPLOY_FAILURE='deploy failure', DELETING='deleting', DELETE_FAILURE='delete failure' ) EnvironmentStatus = collections.namedtuple('EnvironmentStatus', [ 'READY', 'PENDING', 'DEPLOYING', 'DEPLOY_FAILURE', 'DELETING', 'DELETE_FAILURE' ])( READY='ready', PENDING='pending', DEPLOYING='deploying', DEPLOY_FAILURE='deploy failure', DELETING='deleting', DELETE_FAILURE='delete failure' ) murano-9.0.0/murano/services/actions.py0000664000175000017500000001101013656750211020200 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.common import rpc from murano.db import models from murano.db.services import actions as actions_db from murano.services import states class ActionServices(object): @staticmethod def create_action_task(action_name, target_obj, args, environment, session, context): action = None if action_name and target_obj: action = { 'object_id': target_obj, 'method': action_name, 'args': args or {} } task = { 'action': action, 'model': session.description, 'token': context.auth_token, 'project_id': context.tenant, 'user_id': context.user, 'id': environment.id } if session.description['Objects'] is not None: task['model']['Objects']['?']['id'] = environment.id task['model']['Objects']['applications'] = \ task['model']['Objects'].pop('services', []) return task @staticmethod def update_task(action, session, task, unit): session.state = states.SessionState.DEPLOYING task_info = models.Task() task_info.environment_id = session.environment_id task_info.description = dict(session.description.get('Objects')) task_info.action = task['action'] status = models.Status() status.text = 'Action {0} is scheduled'.format(action[1]['name']) status.level = 'info' task_info.statuses.append(status) with unit.begin(): unit.add(session) unit.add(task_info) @staticmethod def submit_task(action_name, target_obj, args, environment, session, context, unit): task = ActionServices.create_action_task( action_name, target_obj, args, environment, session, context) task_id = actions_db.update_task(action_name, session, task, unit) rpc.engine().handle_task(task) return task_id @staticmethod def execute(action_id, session, unit, context, args=None): if args is None: args = {} environment = actions_db.get_environment(session, unit) action = ActionServices.find_action(session.description, action_id) if action is None: raise LookupError('Action is not found') if not action[1].get('enabled', True): raise ValueError('Cannot execute disabled action') return ActionServices.submit_task( action[1]['name'], action[0], args, environment, session, context, unit) @staticmethod def find_action(model, action_id): """Find_action for object def with specified action Traverses object model looking for an object definition containing specified action :param model: object model :param action_id: ID of an action :return: tuple (object id, {"name": "action_name_in_MuranoPL", "enabled": True }) """ if isinstance(model, list): for item in model: result = ActionServices.find_action(item, action_id) if result is not None: return result elif isinstance(model, dict): if '?' in model and 'id' in model['?'] and \ '_actions' in model['?'] and \ action_id in model['?']['_actions']: return model['?']['id'], model['?']['_actions'][action_id] for obj in model.values(): result = ActionServices.find_action(obj, action_id) if result is not None: return result else: return None @staticmethod def get_result(environment_id, task_id, unit): task = unit.query(models.Task).filter_by( id=task_id, environment_id=environment_id).first() if task is not None: return task.result return None murano-9.0.0/murano/services/static_actions.py0000664000175000017500000000237313656750211021563 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import uuid from murano.common import rpc class StaticActionServices(object): @staticmethod def execute(method_name, class_name, pkg_name, class_version, args, credentials): action = { 'method': method_name, 'args': args or {}, 'class_name': class_name, 'pkg_name': pkg_name, 'class_version': class_version } task = { 'action': action, 'token': credentials['token'], 'project_id': credentials['project_id'], 'user_id': credentials['user_id'], 'id': str(uuid.uuid4()) } return rpc.engine().call_static_action(task) murano-9.0.0/murano/dsl/0000775000175000017500000000000013656750351015141 5ustar zuulzuul00000000000000murano-9.0.0/murano/dsl/typespec.py0000664000175000017500000000570613656750211017352 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import weakref from murano.dsl.contracts import contracts from murano.dsl import dsl_types from murano.dsl import helpers class Spec(object): def __init__(self, declaration, container_type): self._container_type = weakref.ref(container_type) self._contract = contracts.Contract( declaration['Contract'], container_type) self._has_default = 'Default' in declaration self._default = declaration.get('Default') def _get_this_context(self, this): executor = helpers.get_executor() if isinstance(this, dsl_types.MuranoType): return executor.create_object_context(this) return executor.create_object_context( this.cast(self._container_type())) def transform(self, value, this, owner, context, default=None, finalize=True): if default is None: default = self.default if isinstance(this, dsl_types.MuranoTypeReference): this = this.type if isinstance(this, dsl_types.MuranoType): return self._contract.transform( value, self._get_this_context(this), None, None, default, helpers.get_type(context), finalize=finalize) else: return self._contract.transform( value, self._get_this_context(this), this, owner, default, helpers.get_type(context), finalize=finalize) def validate(self, value, this, context, default=None): if default is None: default = self.default return self._contract.validate( value, self._get_this_context(this), default, helpers.get_type(context)) def check_type(self, value, context, default=None): if default is None: default = self.default return self._contract.check_type( value, context, default, helpers.get_type(context)) def finalize(self, value, this, context): return self._contract.finalize( value, self._get_this_context(this), helpers.get_type(context)) @property def default(self): return self._default @property def contract(self): return self._contract @property def has_default(self): return self._has_default @property def declaring_type(self): return self._container_type() murano-9.0.0/murano/dsl/__init__.py0000664000175000017500000000000013656750211017233 0ustar zuulzuul00000000000000murano-9.0.0/murano/dsl/schema_generator.py0000664000175000017500000002411313656750211021015 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from murano.dsl.contracts import contracts from murano.dsl import dsl_types from murano.dsl import executor from murano.dsl import helpers from murano.dsl import meta as meta_module from murano.dsl import murano_type def generate_schema(pkg_loader, context_manager, class_name, method_names=None, class_version=None, package_name=None): """Generate JSON schema JSON Schema is generated either for the class with all model builders or for specified model builders only. The return value is a dictionary with keys being model builder names and the values are JSON schemas for them. The class itself is represented by an empty string key. """ if method_names and not isinstance(method_names, (list, tuple)): method_names = (method_names,) version = helpers.parse_version_spec(class_version) if package_name: package = pkg_loader.load_package(package_name, version) else: package = pkg_loader.load_class_package(class_name, version) cls = package.find_class(class_name, search_requirements=False) exc = executor.MuranoDslExecutor(pkg_loader, context_manager) with helpers.with_object_store(exc.object_store): context = exc.create_object_context(cls) model_builders = set(list_model_builders(cls, context)) method_names = model_builders.intersection( method_names or model_builders) result = { name: generate_entity_schema( get_entity(cls, name), context, cls, get_meta(cls, name, context)) for name in method_names } return result def list_model_builders(cls, context): """List model builder names of the class Yield names of all model builders (static actions marked with appropriate metadata) plus empty string for the class itself. """ yield '' for method_name in cls.all_method_names: try: method = cls.find_single_method(method_name) if not method.is_action or not method.is_static: continue meta = meta_module.aggregate_meta(method, context) is_builder = meta.get('io.murano.metadata.ModelBuilder') if is_builder and is_builder.get_property('enabled'): yield method.name except Exception: pass def get_meta(cls, method_name, context): """Get metadata dictionary for the method or class""" if not method_name: return meta_module.aggregate_meta(cls, context) method = cls.find_single_method(method_name) return meta_module.aggregate_meta(method, context) def get_entity(cls, method_name): """Get MuranoMethod of the class by its name""" if not method_name: return cls method = cls.find_single_method(method_name) return method def get_properties(entity): """Get properties/arg scheme of the class/method""" if isinstance(entity, dsl_types.MuranoType): properties = entity.all_property_names result = {} for prop_name in properties: prop = entity.find_single_property(prop_name) if prop.usage not in (dsl_types.PropertyUsages.In, dsl_types.PropertyUsages.InOut): continue result[prop_name] = prop return result return entity.arguments_scheme def generate_entity_schema(entity, context, declaring_type, meta): """Generate schema for single class or method by it DSL entity""" properties = get_properties(entity) type_weights = murano_type.weigh_type_hierarchy(declaring_type) schema = { '$schema': 'http://json-schema.org/draft-04/schema#', 'type': 'object', 'properties': { name: generate_property_schema(prop, context, type_weights) for name, prop in properties.items() }, 'additionalProperties': False, 'formSections': generate_sections(meta, type_weights) } schema.update(generate_ui_hints(entity, context, type_weights)) return schema def generate_sections(meta, type_weights): """Builds sections definitions for the schema Sections are UI hint for UI for grouping inputs into tabs/group-boxes. The code collects section definitions from type hierarchy considering that the section might be redefined in ancestor with the different section index and then re-enumerates them in a way that sections from the most base classes in hierarchy will get lower index values and there be no two sections with the same index. """ section_list = meta.get('io.murano.metadata.forms.Section', []) sections_map = {} for section in section_list: name = section.get_property('name') ex_section = sections_map.get(name) if not ex_section: pass elif (type_weights[ex_section.declaring_type.name] < type_weights[section.declaring_type.name]): continue elif (type_weights[ex_section.declaring_type.name] == type_weights[section.declaring_type.name]): index = section.get_property('index') if index is None: continue ex_index = ex_section.get_property('index') if ex_index is not None and ex_index <= index: continue sections_map[name] = section ordered_sections, unordered_sections = sort_by_index( sections_map.values(), type_weights) sections = {} index = 0 for section in ordered_sections: name = section.get_property('name') if name not in sections: sections[name] = { 'title': section.get_property('title'), 'index': index } index += 1 for section in unordered_sections: name = section.get_property('name') if name not in sections: sections[name] = { 'title': section.get_property('title') } return sections def generate_property_schema(prop, context, type_weights): """Generate schema for single property/argument""" schema = translate(prop.contract.spec, context, prop.declaring_type.package.runtime_version) if prop.has_default: schema['default'] = prop.default schema.update(generate_ui_hints(prop, context, type_weights)) return schema def generate_ui_hints(entity, context, type_weights): """Translate know property/arg meta into json-schema UI hints""" schema = {} meta = meta_module.aggregate_meta(entity, context) for cls_name, schema_prop, meta_prop in ( ('io.murano.metadata.Title', 'title', 'text'), ('io.murano.metadata.Description', 'description', 'text'), ('io.murano.metadata.HelpText', 'helpText', 'text'), ('io.murano.metadata.forms.Hidden', 'visible', 'visible')): value = meta.get(cls_name) if value is not None: schema[schema_prop] = value.get_property(meta_prop) position = meta.get('io.murano.metadata.forms.Position') if position: schema['formSection'] = position.get_property('section') index = position.get_property('index') if index is not None: schema['formIndex'] = ( (position.get_property('index') + 1) * len(type_weights) - type_weights[position.declaring_type.name]) return schema def sort_by_index(meta, type_weights, property_name='index'): """Sorts meta definitions by its distance in the class hierarchy""" has_index = filter( lambda m: m.get_property(property_name) is not None, meta) has_no_index = filter( lambda m: m.get_property(property_name) is None, meta) return ( sorted(has_index, key=lambda m: ( (m.get_property(property_name) + 1) * len(type_weights) - type_weights[m.declaring_type.name])), has_no_index) def translate(contract, context, runtime_version): """Translates contracts into json-schema equivalents""" if isinstance(contract, dict): return translate_dict(contract, context, runtime_version) elif isinstance(contract, list): return translate_list(contract, context, runtime_version) elif isinstance(contract, dsl_types.YaqlExpression): return contracts.Contract.generate_expression_schema( contract, context, runtime_version) def translate_dict(contract, context, runtime_version): """Translates dictionary contracts into json-schema objects""" properties = {} additional_properties = False for key, value in contract.items(): if isinstance(key, dsl_types.YaqlExpression): additional_properties = translate(value, context, runtime_version) else: properties[key] = translate(value, context, runtime_version) return { 'type': 'object', 'properties': properties, 'additionalProperties': additional_properties } def translate_list(contract, context, runtime_version): """Translates list contracts into json-schema arrays""" items = [] for value in contract: if isinstance(value, int): pass else: items.append(translate(value, context, runtime_version)) if len(items) == 0: return {'type': 'array'} elif len(items) == 1: return { 'type': 'array', 'items': items[0], } else: return { 'type': 'array', 'items': items, 'additionalItems': items[-1] } murano-9.0.0/murano/dsl/context_manager.py0000664000175000017500000000247413656750211020673 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import yaql_integration # noinspection PyMethodMayBeStatic class ContextManager(object): """Context manager for the MuranoDslExecutor. DSL hosting project should subclass this and override methods in order to insert yaql function at various scopes. For example it may override create_root_context to register its own global yaql functions. """ def create_root_context(self, runtime_version): return yaql_integration.create_context(runtime_version) def create_package_context(self, package): return package.context def create_type_context(self, murano_type): return murano_type.context def create_object_context(self, obj): return None murano-9.0.0/murano/dsl/serializer.py0000664000175000017500000002415613656750211017667 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from yaql import utils from murano.dsl import dsl from murano.dsl import dsl_types from murano.dsl import helpers class ObjRef(object): def __init__(self, obj): self.ref_obj = obj def serialize(obj, executor, serialization_type=dsl_types.DumpTypes.Serializable, allow_refs=True): with helpers.with_object_store(executor.object_store): return serialize_model( obj, executor, allow_refs, make_copy=False, serialize_attributes=False, serialize_actions=False, serialization_type=serialization_type, with_destruction_dependencies=False)['Objects'] def _serialize_object(root_object, designer_attributes, allow_refs, executor, serialize_actions=True, serialization_type=dsl_types.DumpTypes.Serializable, with_destruction_dependencies=True): serialized_objects = set() obj = root_object if isinstance(obj, dsl.MuranoObjectInterface): obj = obj.object parent = obj.owner if isinstance(obj, dsl_types.MuranoObject) else None while True: obj, need_another_pass = _pass12_serialize( obj, parent, serialized_objects, designer_attributes, executor, serialize_actions, serialization_type, allow_refs, with_destruction_dependencies) if not need_another_pass: break tree = [obj] _pass3_serialize(tree, serialized_objects, allow_refs) return tree[0], serialized_objects def serialize_model(root_object, executor, allow_refs=False, make_copy=True, serialize_attributes=True, serialize_actions=True, serialization_type=dsl_types.DumpTypes.Serializable, with_destruction_dependencies=True): designer_attributes = executor.object_store.designer_attributes if root_object is None: tree = None tree_copy = None attributes = [] else: with helpers.with_object_store(executor.object_store): tree, serialized_objects = _serialize_object( root_object, designer_attributes, allow_refs, executor, serialize_actions, serialization_type, with_destruction_dependencies) tree_copy = _serialize_object( root_object, None, allow_refs, executor, serialize_actions, serialization_type, with_destruction_dependencies)[0] if make_copy else None attributes = executor.attribute_store.serialize( serialized_objects) if serialize_attributes else None return { 'Objects': tree, 'ObjectsCopy': tree_copy, 'Attributes': attributes } def _serialize_available_action(obj, current_actions, executor): result = {} actions = obj.type.find_methods(lambda m: m.is_action) for action in actions: action_id = '{0}_{1}'.format(obj.object_id, action.name) entry = current_actions.get(action_id, {'enabled': True}) entry['name'] = action.name context = executor.create_type_context(action.declaring_type) meta = action.get_meta(context) meta_dict = {item.type.name: item for item in meta} title = meta_dict.get('io.murano.metadata.Title') if title: entry['title'] = title.get_property('text') else: entry['title'] = action.name description = meta_dict.get('io.murano.metadata.Description') if description: entry['description'] = description.get_property('text') help_text = meta_dict.get('io.murano.metadata.HelpText') if help_text: entry['helpText'] = help_text.get_property('text') result[action_id] = entry return result def _pass12_serialize(value, parent, serialized_objects, designer_attributes_getter, executor, serialize_actions, serialization_type, allow_refs, with_destruction_dependencies): if isinstance(value, dsl.MuranoObjectInterface): value = value.object if isinstance(value, (str, int, float, bool)) or value is None: return value, False if isinstance(value, dsl_types.MuranoObject): if value.owner is not parent or value.object_id in serialized_objects: return ObjRef(value), True elif isinstance(value, ObjRef): can_move = value.ref_obj.object_id not in serialized_objects if can_move and allow_refs and value.ref_obj.owner is not None: can_move = (is_nested_in(parent, value.ref_obj.owner) and value.ref_obj.owner.object_id in serialized_objects) if can_move: value = value.ref_obj else: return value, False if isinstance(value, (dsl_types.MuranoType, dsl_types.MuranoTypeReference)): return helpers.format_type_string(value), False if helpers.is_passkey(value): return value, False if isinstance(value, dsl_types.MuranoObject): result = value.to_dictionary( serialization_type=serialization_type, allow_refs=allow_refs, with_destruction_dependencies=with_destruction_dependencies) if designer_attributes_getter is not None: if serialization_type == dsl_types.DumpTypes.Inline: system_data = result else: system_data = result['?'] system_data.update(designer_attributes_getter(value.object_id)) if serialize_actions: # deserialize and merge list of actions system_data['_actions'] = _serialize_available_action( value, system_data.get('_actions', {}), executor) serialized_objects.add(value.object_id) return _pass12_serialize( result, value, serialized_objects, designer_attributes_getter, executor, serialize_actions, serialization_type, allow_refs, with_destruction_dependencies) elif isinstance(value, utils.MappingType): result = {} need_another_pass = False for d_key, d_value in value.items(): if (isinstance(d_key, dsl_types.MuranoType) and serialization_type == dsl_types.DumpTypes.Serializable): result_key = str(d_key) else: result_key = d_key if (result_key == 'type' and isinstance(d_value, dsl_types.MuranoType) and serialization_type == dsl_types.DumpTypes.Mixed): result_value = d_value, False else: result_value = _pass12_serialize( d_value, parent, serialized_objects, designer_attributes_getter, executor, serialize_actions, serialization_type, allow_refs, with_destruction_dependencies) result[result_key] = result_value[0] if result_value[1]: need_another_pass = True return result, need_another_pass elif utils.is_sequence(value) or isinstance(value, utils.SetType): need_another_pass = False result = [] for t in value: v, nmp = _pass12_serialize( t, parent, serialized_objects, designer_attributes_getter, executor, serialize_actions, serialization_type, allow_refs, with_destruction_dependencies) if nmp: need_another_pass = True result.append(v) return result, need_another_pass else: raise ValueError() def _pass3_serialize(value, serialized_objects, allow_refs=False): if isinstance(value, dict): for d_key, d_value in value.items(): if isinstance(d_value, ObjRef): if (d_value.ref_obj.object_id in serialized_objects or allow_refs): value[d_key] = d_value.ref_obj.object_id else: del value[d_key] else: _pass3_serialize(d_value, serialized_objects, allow_refs) elif isinstance(value, list): index = 0 while index < len(value): item = value[index] if isinstance(item, ObjRef): if item.ref_obj.object_id in serialized_objects or allow_refs: value[index] = item.ref_obj.object_id else: value.pop(index) index -= 1 else: _pass3_serialize(item, serialized_objects, allow_refs) index += 1 return value def is_nested_in(obj, ancestor): while True: if obj is ancestor: return True if obj is None: return False obj = obj.owner def collect_objects(root_object): visited = set() def rec(obj): if utils.is_sequence(obj) or isinstance(obj, utils.SetType): for value in obj: for t in rec(value): yield t elif isinstance(obj, utils.MappingType): for value in obj.values(): for t in rec(value): yield t elif isinstance(obj, dsl_types.MuranoObjectInterface): for t in rec(obj.object): yield t elif isinstance(obj, dsl_types.MuranoObject) and obj not in visited: visited.add(obj) yield obj for t in rec(obj.to_dictionary()): yield t return rec(root_object) murano-9.0.0/murano/dsl/murano_package.py0000664000175000017500000002142713656750211020470 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import inspect import warnings import weakref import debtcollector import semantic_version from yaql.language import specs from yaql.language import utils from murano.dsl import constants from murano.dsl import dsl_types from murano.dsl import exceptions from murano.dsl import helpers from murano.dsl import meta as dslmeta from murano.dsl import murano_object from murano.dsl import murano_type from murano.dsl import namespace_resolver from murano.dsl import principal_objects from murano.dsl import yaql_integration class MuranoPackage(dsl_types.MuranoPackage, dslmeta.MetaProvider): def __init__(self, package_loader, name, version=None, runtime_version=None, requirements=None, meta=None): super(MuranoPackage, self).__init__() self._package_loader = weakref.proxy(package_loader) self._name = name self._version = helpers.parse_version(version) self._runtime_version = helpers.parse_version(runtime_version) self._requirements = { name: semantic_version.Spec('==' + str(self._version.major)) } if name != constants.CORE_LIBRARY: self._requirements[constants.CORE_LIBRARY] = \ semantic_version.Spec('==0') self._classes = {} self._imported_types = {object, murano_object.MuranoObject} for key, value in (requirements or {}).items(): self._requirements[key] = helpers.parse_version_spec(value) self._load_queue = {} self._native_load_queue = {} if self.name == constants.CORE_LIBRARY: principal_objects.register(self) self._package_class = self._create_package_class() self._meta = lambda: dslmeta.MetaData( meta, dsl_types.MetaTargets.Package, self._package_class) @property def package_loader(self): return self._package_loader @property def name(self): return self._name @property def version(self): return self._version @property def runtime_version(self): return self._runtime_version @property def requirements(self): return self._requirements @property def classes(self): return set(self._classes.keys()).union( self._load_queue.keys()).union(self._native_load_queue.keys()) def get_resource(self, name): raise NotImplementedError('resource API is not implemented') # noinspection PyMethodMayBeStatic def get_class_config(self, name): return {} def _register_mpl_classes(self, data, name=None): type_obj = self._classes.get(name) if type_obj is not None: return type_obj if callable(data): data = data() data = helpers.list_value(data) unnamed_class = None last_ns = {} for cls_data in data: last_ns = cls_data.setdefault('Namespaces', last_ns.copy()) if len(cls_data) == 1: continue cls_name = cls_data.get('Name') if not cls_name: if unnamed_class: raise exceptions.AmbiguousClassName(name) unnamed_class = cls_data else: ns_resolver = namespace_resolver.NamespaceResolver(last_ns) cls_name = ns_resolver.resolve_name(cls_name) if cls_name == name: type_obj = murano_type.create( cls_data, self, cls_name, ns_resolver) self._classes[name] = type_obj else: self._load_queue.setdefault(cls_name, cls_data) if type_obj is None and unnamed_class: unnamed_class['Name'] = name return self._register_mpl_classes(unnamed_class, name) return type_obj def _register_native_class(self, cls, name): if cls in self._imported_types: return self._classes[name] try: m_class = self.find_class(name, False) except exceptions.NoClassFound: m_class = self._register_mpl_classes({'Name': name}, name) m_class.extension_class = cls for method_name in dir(cls): if method_name.startswith('_'): continue method = getattr(cls, method_name) if not any(( helpers.inspect_is_method(cls, method_name), helpers.inspect_is_static(cls, method_name), helpers.inspect_is_classmethod(cls, method_name))): continue method_name_alias = (getattr( method, '__murano_name', None) or specs.convert_function_name( method_name, yaql_integration.CONVENTION)) m_class.add_method(method_name_alias, method, method_name) self._imported_types.add(cls) return m_class def register_class(self, cls, name=None): if inspect.isclass(cls): name = name or getattr(cls, '__murano_name', None) or cls.__name__ if name in self._classes: self._register_native_class(cls, name) else: self._native_load_queue.setdefault(name, cls) elif isinstance(cls, dsl_types.MuranoType): self._classes[cls.name] = cls elif name not in self._classes: self._load_queue[name] = cls def find_class(self, name, search_requirements=True): payload = self._native_load_queue.pop(name, None) if payload is not None: return self._register_native_class(payload, name) payload = self._load_queue.pop(name, None) if payload is not None: result = self._register_mpl_classes(payload, name) if result: return result result = self._classes.get(name) if result: return result if search_requirements: pkgs_for_search = [] for package_name, version_spec in self._requirements.items(): if package_name == self.name: continue referenced_package = self._package_loader.load_package( package_name, version_spec) try: return referenced_package.find_class(name, False) except exceptions.NoClassFound: if name.startswith('io.murano.extensions'): try: short_name = name.replace( 'io.murano.extensions.', '', 1) result = referenced_package.find_class( short_name, False) warnings.simplefilter("once") msg = ("Plugin %(name)s was not found, but a " "%(shorter_name)s was found instead and " "will be used. This could be caused by " "recent change in plugin naming scheme. If " "you are developing applications targeting " "this plugin consider changing its name" % {'name': name, 'shorter_name': short_name}) debtcollector.deprecate(msg) return result except exceptions.NoClassFound: pass pkgs_for_search.append(referenced_package) continue raise exceptions.NoClassFound( name, packages=pkgs_for_search + [self]) raise exceptions.NoClassFound(name, packages=[self]) @property def context(self): return None def _create_package_class(self): ns_resolver = namespace_resolver.NamespaceResolver(None) return murano_type.MuranoClass( ns_resolver, self.name, self, utils.NO_VALUE) def get_meta(self, context): if callable(self._meta): executor = helpers.get_executor() context = executor.create_package_context(self) self._meta = self._meta().get_meta(context) return self._meta def __repr__(self): return 'MuranoPackage({name})'.format(name=self.name) murano-9.0.0/murano/dsl/reflection.py0000664000175000017500000001637713656750211017656 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import semantic_version from yaql.language import specs from yaql import yaqlization from murano.dsl import dsl from murano.dsl import dsl_types from murano.dsl import helpers from murano.dsl import meta @specs.yaql_property(dsl_types.MuranoType) @specs.name('name') def type_name(murano_type): return murano_type.name @specs.yaql_property(dsl_types.MuranoType) @specs.name('usage') def type_usage(murano_type): return murano_type.usage @specs.yaql_property(dsl_types.MuranoClass) def methods(murano_class): all_method_names = murano_class.all_method_names return tuple( murano_method for name in all_method_names if not name.startswith('__') and not name.startswith('.') for murano_method in murano_class.find_method(name) ) @specs.yaql_property(dsl_types.MuranoClass) def properties(murano_class): all_property_names = murano_class.all_property_names return tuple( prop for prop_name in all_property_names if not prop_name.startswith('__') and not prop_name.startswith('.') for prop in murano_class.find_property(prop_name) ) @specs.yaql_property(dsl_types.MuranoClass) def ancestors(murano_class): return tuple(murano_class.ancestors()) @specs.yaql_property(dsl_types.MuranoType) def package(murano_type): return murano_type.package @specs.yaql_property(dsl_types.MuranoClass) @specs.name('version') def type_version(murano_type): return murano_type.version @specs.yaql_property(dsl_types.MuranoProperty) @specs.name('name') def property_name(murano_property): return murano_property.name # TODO(ativelkov): add 'default' to return some wrapped YAQL expression # @specs.yaql_property(dsl_types.MuranoProperty) # @specs.name('default') # def property_default(murano_property): # return murano_property.default @specs.yaql_property(dsl_types.MuranoProperty) @specs.name('has_default') def property_has_default(murano_property): return murano_property.has_default @specs.yaql_property(dsl_types.MuranoProperty) @specs.name('usage') def property_usage(murano_property): return murano_property.usage @specs.yaql_property(dsl_types.MuranoProperty) @specs.name('declaring_type') def property_owner(murano_property): return murano_property.declaring_type @specs.name('get_value') @specs.parameter('property_', dsl_types.MuranoProperty) @specs.parameter('object_', dsl.MuranoObjectParameter( nullable=True, decorate=False)) @specs.method def property_get_value(context, property_, object_): if object_ is None: return helpers.get_executor().get_static_property( property_.declaring_type, name=property_.name, context=context) return object_.cast(property_.declaring_type).get_property( name=property_.name, context=context) @specs.name('set_value') @specs.parameter('property_', dsl_types.MuranoProperty) @specs.parameter('object_', dsl.MuranoObjectParameter( nullable=True, decorate=False)) @specs.method def property_set_value(context, property_, object_, value): if object_ is None: helpers.get_executor().set_static_property( property_.declaring_type, name=property_.name, value=value, context=context) else: object_.cast(property_.declaring_type).set_property( name=property_.name, value=value, context=context) @specs.yaql_property(dsl_types.MuranoMethod) @specs.name('name') def method_name(murano_method): return murano_method.name @specs.yaql_property(dsl_types.MuranoMethod) def arguments(murano_method): if murano_method.arguments_scheme is None: return None return tuple(murano_method.arguments_scheme.values()) @specs.yaql_property(dsl_types.MuranoMethod) @specs.name('declaring_type') def method_owner(murano_method): return murano_method.declaring_type @specs.parameter('method', dsl_types.MuranoMethod) @specs.parameter('__object', dsl.MuranoObjectParameter(nullable=True)) @specs.name('invoke') @specs.method def method_invoke(context, method, __object, *args, **kwargs): return method.invoke(__object, args, kwargs, context) @specs.yaql_property(dsl_types.MuranoPackage) def types(murano_package): return tuple( murano_package.find_class(cls, False) for cls in murano_package.classes ) @specs.yaql_property(dsl_types.MuranoPackage) @specs.name('name') def package_name(murano_package): return murano_package.name @specs.yaql_property(dsl_types.MuranoPackage) @specs.name('version') def package_version(murano_package): return murano_package.version @specs.yaql_property(dsl_types.MuranoMethodArgument) @specs.name('name') def argument_name(method_argument): return method_argument.name # TODO(ativelkov): add 'default' to return some wrapped YAQL expression # @specs.yaql_property(dsl_types.MuranoMethodArgument) # @specs.name('default') # def argument_default(method_argument): # return method_argument.default @specs.yaql_property(dsl_types.MuranoMethodArgument) @specs.name('has_default') def argument_has_default(method_argument): return method_argument.has_default @specs.yaql_property(dsl_types.MuranoMethodArgument) @specs.name('usage') def argument_usage(method_argument): return method_argument.usage @specs.yaql_property(dsl_types.MuranoMethodArgument) @specs.name('declaring_method') def argument_owner(method_argument): return method_argument.murano_method @specs.yaql_property(dsl_types.MuranoType) @specs.name('type') def type_to_type_ref(murano_type): return murano_type.get_reference() @specs.parameter('provider', meta.MetaProvider) @specs.name('#property#meta') def get_meta(context, provider): return provider.get_meta(context) @specs.yaql_property(dsl_types.MuranoMetaClass) def cardinality(murano_meta_class): return murano_meta_class.cardinality @specs.yaql_property(dsl_types.MuranoMetaClass) def targets(murano_meta_class): return murano_meta_class.targets @specs.yaql_property(dsl_types.MuranoMetaClass) def inherited(murano_meta_class): return murano_meta_class.inherited def register(context): funcs = ( type_name, type_usage, type_version, type_to_type_ref, methods, properties, ancestors, package, property_name, property_has_default, property_owner, property_usage, property_get_value, property_set_value, method_name, arguments, method_owner, method_invoke, types, package_name, package_version, argument_name, argument_has_default, argument_owner, argument_usage, cardinality, targets, inherited, get_meta ) for f in funcs: context.register_function(f) yaqlization.yaqlize(semantic_version.Version, whitelist=[ 'major', 'minor', 'patch', 'prerelease', 'build' ]) murano-9.0.0/murano/dsl/macros.py0000664000175000017500000001735213656750211017002 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import constants from murano.dsl import dsl_exception from murano.dsl import exceptions from murano.dsl import expressions from murano.dsl import helpers from murano.dsl import yaql_expression class CodeBlock(expressions.DslExpression): def __init__(self, body): body = helpers.list_value(body) self.code_block = list(map(expressions.parse_expression, body)) def execute(self, context): for expr in self.code_block: if hasattr(expr, 'virtual_instruction'): instruction = expr.virtual_instruction context[constants.CTX_CURRENT_INSTRUCTION] = instruction try: expr.execute(context) except (dsl_exception.MuranoPlException, exceptions.InternalFlowException): raise except Exception as ex: raise dsl_exception.MuranoPlException.from_python_exception( ex, context) class MethodBlock(CodeBlock): def __init__(self, body, name=None): super(MethodBlock, self).__init__(body) self._name = name def execute(self, context): new_context = context.create_child_context() new_context[constants.CTX_VARIABLE_SCOPE] = True try: super(MethodBlock, self).execute(new_context) except exceptions.ReturnException as e: return e.value except exceptions.BreakException: raise exceptions.DslInvalidOperationError( 'Break cannot be used on method level') except exceptions.ContinueException: raise exceptions.DslInvalidOperationError( 'Continue cannot be used on method level') else: return None class ReturnMacro(expressions.DslExpression): def __init__(self, Return): self._value = Return def execute(self, context): raise exceptions.ReturnException( helpers.evaluate(self._value, context)) class BreakMacro(expressions.DslExpression): def __init__(self, Break): if Break: raise exceptions.DslSyntaxError('Break cannot have value') def execute(self, context): raise exceptions.BreakException() class ContinueMacro(expressions.DslExpression): def __init__(self, Continue): if Continue: raise exceptions.DslSyntaxError('Continue cannot have value') def execute(self, context): raise exceptions.ContinueException() class ParallelMacro(CodeBlock): def __init__(self, Parallel, Limit=None): super(ParallelMacro, self).__init__(Parallel) self._limit = Limit or len(self.code_block) def execute(self, context): if not self.code_block: return limit = helpers.evaluate(self._limit, context) helpers.parallel_select( self.code_block, lambda expr: expr.execute(context.create_child_context()), limit) class IfMacro(expressions.DslExpression): def __init__(self, If, Then, Else=None): self._code1 = CodeBlock(Then) self._code2 = None if Else is None else CodeBlock(Else) self._condition = If def execute(self, context): if helpers.evaluate(self._condition, context): self._code1.execute(context) elif self._code2 is not None: self._code2.execute(context) class WhileDoMacro(expressions.DslExpression): def __init__(self, While, Do): if not isinstance(While, yaql_expression.YaqlExpression): raise TypeError() self._code = CodeBlock(Do) self._condition = While def execute(self, context): while self._condition(context): try: self._code.execute(context) except exceptions.BreakException: break except exceptions.ContinueException: continue class ForMacro(expressions.DslExpression): def __init__(self, For, In, Do): if not isinstance(For, str): raise exceptions.DslSyntaxError( 'For value must be of string type') self._code = CodeBlock(Do) self._var = For self._collection = In def execute(self, context): collection = helpers.evaluate(self._collection, context) for t in collection: context[self._var] = t try: self._code.execute(context) except exceptions.BreakException: break except exceptions.ContinueException: continue class RepeatMacro(expressions.DslExpression): def __init__(self, Repeat, Do): if not isinstance(Repeat, (int, yaql_expression.YaqlExpression)): raise exceptions.DslSyntaxError( 'Repeat value must be either int or expression') self._count = Repeat self._code = CodeBlock(Do) def execute(self, context): count = helpers.evaluate(self._count, context) for _ in range(0, count): try: self._code.execute(context) except exceptions.BreakException: break except exceptions.ContinueException: continue class MatchMacro(expressions.DslExpression): def __init__(self, Match, Value, Default=None): if not isinstance(Match, dict): raise exceptions.DslSyntaxError( 'Match value must be of dictionary type') self._switch = Match self._value = Value self._default = None if Default is None else CodeBlock(Default) def execute(self, context): match_value = helpers.evaluate(self._value, context) for key, value in self._switch.items(): if key == match_value: CodeBlock(value).execute(context) return if self._default is not None: self._default.execute(context) class SwitchMacro(expressions.DslExpression): def __init__(self, Switch, Default=None): if not isinstance(Switch, dict): raise exceptions.DslSyntaxError( 'Switch value must be of dictionary type') self._switch = Switch self._default = None if Default is None else CodeBlock(Default) def execute(self, context): matched = False for key, value in self._switch.items(): if helpers.evaluate(key, context): matched = True CodeBlock(value).execute(context) if self._default is not None and not matched: self._default.execute(context) class DoMacro(expressions.DslExpression): def __init__(self, Do): self._code = CodeBlock(Do) def execute(self, context): self._code.execute(context) def register(): expressions.register_macro(DoMacro) expressions.register_macro(ReturnMacro) expressions.register_macro(BreakMacro) expressions.register_macro(ContinueMacro) expressions.register_macro(ParallelMacro) expressions.register_macro(IfMacro) expressions.register_macro(WhileDoMacro) expressions.register_macro(ForMacro) expressions.register_macro(RepeatMacro) expressions.register_macro(MatchMacro) expressions.register_macro(SwitchMacro) murano-9.0.0/murano/dsl/murano_type.py0000664000175000017500000004701413656750211020056 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import abc import collections import copy import weakref import semantic_version from yaql.language import utils from murano.dsl import constants from murano.dsl import dsl from murano.dsl import dsl_types from murano.dsl import exceptions from murano.dsl import helpers from murano.dsl import meta as dslmeta from murano.dsl import murano_method from murano.dsl import murano_object from murano.dsl import murano_property from murano.dsl import yaql_integration class MuranoType(dsl_types.MuranoType): def __init__(self, ns_resolver, name, package): self._namespace_resolver = ns_resolver self._name = name self._package = weakref.ref(package) @property def name(self): return self._name @property def package(self): return self._package() @property def namespace_resolver(self): return self._namespace_resolver @abc.abstractproperty def usage(self): raise NotImplementedError() @property def version(self): return self.package.version def get_reference(self): return dsl_types.MuranoTypeReference(self) class MuranoClass(dsl_types.MuranoClass, MuranoType, dslmeta.MetaProvider): _allowed_usages = {dsl_types.ClassUsages.Class} def __init__(self, ns_resolver, name, package, parents, meta=None, imports=None): super(MuranoClass, self).__init__(ns_resolver, name, package) self._methods = {} self._properties = {} self._config = {} self._extension_class = None if (self._name == constants.CORE_LIBRARY_OBJECT or parents is utils.NO_VALUE): self._parents = [] else: self._parents = parents or [ package.find_class(constants.CORE_LIBRARY_OBJECT)] for p in self._parents: if p.usage not in self._allowed_usages: raise exceptions.InvalidInheritanceError( u'Type {0} cannot have parent with Usage {1}'.format( self.name, p.usage)) remappings = self._build_parent_remappings() self._parents = self._adjusted_parents(remappings) self._context = None self._exported_context = None self._meta = dslmeta.MetaData(meta, dsl_types.MetaTargets.Type, self) self._meta_values = None self._imports = list(self._resolve_imports(imports)) def _adjusted_parents(self, remappings): seen = {} def altered_clone(class_): seen_class = seen.get(class_) if seen_class is not None: return seen_class cls_remapping = remappings.get(class_) if cls_remapping is not None: return altered_clone(cls_remapping) new_parents = [altered_clone(p) for p in class_._parents] if all(a is b for a, b in zip(class_._parents, new_parents)): return class_ res = copy.copy(class_) res._parents = new_parents res._meta_values = None res._context = None res._exported_context = None seen[class_] = res return res return [altered_clone(p) for p in self._parents] def __eq__(self, other): if not isinstance(other, MuranoType): return False return self.name == other.name and self.version == other.version def __ne__(self, other): return not self == other def __hash__(self): return hash((self.name, self.version)) @property def usage(self): return dsl_types.ClassUsages.Class @property def parents(self): return self._parents @property def methods(self): return self._methods @property def all_method_names(self): names = set(self.methods.keys()) for c in self.ancestors(): names.update(c.methods.keys()) return tuple(names) @property def extension_class(self): return self._extension_class @extension_class.setter def extension_class(self, cls): self._extension_class = cls ctor = yaql_integration.get_class_factory_definition(cls, self) self.add_method('__init__', ctor) def add_method(self, name, payload, original_name=None): method = murano_method.MuranoMethod(self, name, payload, original_name) self._methods[name] = method self._context = None self._exported_context = None return method @property def properties(self): return self._properties @property def all_property_names(self): names = set(self.properties.keys()) for c in self.ancestors(): names.update(c.properties.keys()) return tuple(names) def add_property(self, property_typespec): if not isinstance(property_typespec, murano_property.MuranoProperty): raise TypeError('property_typespec') self._properties[property_typespec.name] = property_typespec def _find_symbol_chains(self, func): queue = collections.deque([(self, ())]) while queue: cls, path = queue.popleft() symbol = func(cls) segment = (symbol,) if symbol is not None else () leaf = True for p in cls.parents: leaf = False queue.append((p, path + segment)) if leaf: path += segment if path: yield path def _resolve_imports(self, imports): seen = {self.name} for imp in helpers.list_value(imports): if imp in seen: continue type = helpers.resolve_type(imp, self) if type in seen: continue seen.add(imp) seen.add(type) yield type def _choose_symbol(self, func): chains = sorted( self._find_symbol_chains(func), key=lambda t: len(t)) result = [] for i in range(len(chains)): if chains[i][0] in result: continue add = True for j in range(i + 1, len(chains)): common = 0 if not add: break for p in range(len(chains[i])): if chains[i][-p - 1] is chains[j][-p - 1]: common += 1 else: break if common == len(chains[i]): add = False break if add: result.append(chains[i][0]) return result def find_method(self, name): return self._choose_symbol(lambda cls: cls.methods.get(name)) def find_property(self, name): return self._choose_symbol( lambda cls: cls.properties.get(name)) def find_static_property(self, name): def prop_func(cls): prop = cls.properties.get(name) if prop is not None and prop.usage == 'Static': return prop result = self._choose_symbol(prop_func) if len(result) < 1: raise exceptions.NoPropertyFound(name) elif len(result) > 1: raise exceptions.AmbiguousPropertyNameError(name) return result[0] def find_single_method(self, name): result = self.find_method(name) if len(result) < 1: raise exceptions.NoMethodFound(name) elif len(result) > 1: raise exceptions.AmbiguousMethodName(name) return result[0] def find_methods(self, predicate): result = list(filter(predicate, self.methods.values())) for c in self.ancestors(): for method in c.methods.values(): if predicate(method) and method not in result: result.append(method) return result def find_properties(self, predicate): result = list(filter(predicate, self.properties.values())) for c in self.ancestors(): for prop in c.properties.values(): if predicate(prop) and prop not in result: result.append(prop) return result def _iterate_unique_methods(self): for name in self.all_method_names: try: yield self.find_single_method(name) except exceptions.AmbiguousMethodName: def func(*args, **kwargs): raise yield murano_method.MuranoMethod( self, name, func, ephemeral=True) def find_single_property(self, name): result = self.find_property(name) if len(result) < 1: raise exceptions.NoPropertyFound(name) elif len(result) > 1: raise exceptions.AmbiguousPropertyNameError(name) return result[0] def invoke(self, name, this, args, kwargs, context=None): method = self.find_single_method(name) return method.invoke(this, args, kwargs, context) def is_compatible(self, obj): if isinstance(obj, (murano_object.MuranoObject, dsl.MuranoObjectInterface, dsl_types.MuranoTypeReference)): obj = obj.type if obj == self: return True return any(cls == self for cls in obj.ancestors()) def __repr__(self): return 'MuranoClass({0}/{1})'.format(self.name, self.version) def _build_parent_remappings(self): """Remaps class parents. In case of multiple inheritance class may indirectly get several versions of the same class. It is reasonable to try to replace them with single version to avoid conflicts. We can do that when within versions that satisfy our class package requirements. But in order to merge several classes that are not our parents but grand parents we will need to modify classes that may be used somewhere else (with another set of requirements). We cannot do this. So instead we build translation table that will tell which ancestor class need to be replaced with which so that we minimize number of versions used for single class (or technically packages since version is a package attribute). For translation table to work there should be a method that returns all class virtual ancestors so that everybody will see them instead of accessing class parents directly and getting declared ancestors. """ result = {} aggregation = { self.package.name: {( self.package, semantic_version.Spec('==' + str(self.package.version)) )} } for cls, parent in helpers.traverse( ((self, parent) for parent in self._parents), lambda cp: ((cp[1], anc) for anc in cp[1].parents)): if cls.package != parent.package: requirement = cls.package.requirements[parent.package.name] aggregation.setdefault(parent.package.name, set()).add( (parent.package, requirement)) package_bindings = {} for versions in aggregation.values(): mappings = self._remap_package(versions) package_bindings.update(mappings) for cls in helpers.traverse(self.parents, lambda c: c.parents): if cls.package in package_bindings: package2 = package_bindings[cls.package] cls2 = package2.classes[cls.name] result[cls] = cls2 return result @staticmethod def _remap_package(versions): result = {} reverse_mappings = {} versions_list = sorted(versions, key=lambda x: x[0].version) i = 0 while i < len(versions_list): package1, requirement1 = versions_list[i] dst_package = None for j, (package2, _) in enumerate(versions_list): if i == j: continue if package2.version in requirement1 and ( dst_package is None or dst_package.version < package2.version): dst_package = package2 if dst_package: result[package1] = dst_package reverse_mappings.setdefault(dst_package, []).append(package1) for package in reverse_mappings.get(package1, []): result[package] = dst_package del versions_list[i] else: i += 1 return result def ancestors(self): for c in helpers.traverse(self, lambda t: t.parents): if c is not self: yield c @property def context(self): if not self._context: ctx = None for imp in reversed(self._imports): if ctx is None: ctx = imp.exported_context else: ctx = helpers.link_contexts(ctx, imp.exported_context) if ctx is None: self._context = yaql_integration.create_empty_context() else: self._context = ctx.create_child_context() for m in self._iterate_unique_methods(): if m.instance_stub: self._context.register_function( m.instance_stub, name=m.instance_stub.name) if m.static_stub: self._context.register_function( m.static_stub, name=m.static_stub.name) return self._context @property def exported_context(self): if not self._exported_context: self._exported_context = yaql_integration.create_empty_context() for m in self._iterate_unique_methods(): if m.usage == dsl_types.MethodUsages.Extension: if m.instance_stub: self._exported_context.register_function( m.instance_stub, name=m.instance_stub.name) if m.static_stub: self._exported_context.register_function( m.static_stub, name=m.static_stub.name) return self._exported_context def get_meta(self, context): if self._meta_values is None: executor = helpers.get_executor() context = executor.create_type_context( self, caller_context=context) self._meta_values = dslmeta.merge_providers( self, lambda cls: cls._meta, context) return self._meta_values class MuranoMetaClass(dsl_types.MuranoMetaClass, MuranoClass): _allowed_usages = {dsl_types.ClassUsages.Meta, dsl_types.ClassUsages.Class} def __init__(self, ns_resolver, name, package, parents, meta=None, imports=None): super(MuranoMetaClass, self).__init__( ns_resolver, name, package, parents, meta, imports) self._cardinality = dsl_types.MetaCardinality.One self._targets = list(dsl_types.MetaCardinality.All) self._inherited = False @property def usage(self): return dsl_types.ClassUsages.Meta @property def cardinality(self): return self._cardinality @cardinality.setter def cardinality(self, value): self._cardinality = value @property def targets(self): return self._targets @targets.setter def targets(self, value): self._targets = value @property def inherited(self): return self._inherited @inherited.setter def inherited(self, value): self._inherited = value def __repr__(self): return 'MuranoMetaClass({0}/{1})'.format(self.name, self.version) def create(data, package, name, ns_resolver): usage = data.get('Usage', dsl_types.ClassUsages.Class) if usage == dsl_types.ClassUsages.Class: return _create_class(MuranoClass, name, ns_resolver, data, package) elif usage == dsl_types.ClassUsages.Meta: return _create_meta_class( MuranoMetaClass, name, ns_resolver, data, package) else: raise ValueError(u'Invalid type Usage: "{}"'.format(usage)) def _create_class(cls, name, ns_resolver, data, package, *args, **kwargs): parent_class_names = data.get('Extends') parent_classes = [] if parent_class_names: if not utils.is_sequence(parent_class_names): parent_class_names = [parent_class_names] for parent_name in parent_class_names: full_name = ns_resolver.resolve_name(str(parent_name)) parent_classes.append(package.find_class(full_name)) type_obj = cls( ns_resolver, name, package, parent_classes, data.get('Meta'), data.get('Import'), *args, **kwargs) properties = data.get('Properties') or {} for property_name, property_spec in properties.items(): spec = murano_property.MuranoProperty( type_obj, property_name, property_spec) type_obj.add_property(spec) methods = data.get('Methods') or data.get('Workflow') or {} method_mappings = { 'initialize': '.init', 'destroy': '.destroy' } for method_name, payload in methods.items(): type_obj.add_method( method_mappings.get(method_name, method_name), payload) return type_obj def _create_meta_class(cls, name, ns_resolver, data, package, *args, **kwargs): cardinality = data.get('Cardinality', dsl_types.MetaCardinality.One) if cardinality not in dsl_types.MetaCardinality.All: raise ValueError(u'Invalid MetaClass Cardinality "{}"'.format( cardinality)) applies_to = data.get('Applies', dsl_types.MetaTargets.All) if isinstance(applies_to, str): applies_to = [applies_to] if isinstance(applies_to, list): applies_to = set(applies_to) delta = applies_to - dsl_types.MetaTargets.All - {'All'} if delta: raise ValueError(u'Invalid MetaClass target(s) {}:'.format( ', '.join(map(u'"{}"'.format, delta))) ) if 'All' in applies_to: applies_to = dsl_types.MetaTargets.All inherited = data.get('Inherited', False) if not isinstance(inherited, bool): raise ValueError('Invalid Inherited value. Must be true or false') meta_cls = _create_class( cls, name, ns_resolver, data, package, *args, **kwargs) meta_cls.targets = list(applies_to) meta_cls.cardinality = cardinality meta_cls.inherited = inherited return meta_cls def weigh_type_hierarchy(cls): """Weighs classes in type hierarchy by their distance from the root :param cls: root of hierarchy :return: dictionary that has class name as keys and distance from the root a values. Root class has always a distance of 0. If the class (or different versions of that class) is achievable through several paths the shortest distance is used. """ result = {} for c, w in helpers.traverse( [(cls, 0)], lambda t: map( lambda p: (p, t[1] + 1), t[0].parents)): result.setdefault(c.name, w) return result murano-9.0.0/murano/dsl/contracts/0000775000175000017500000000000013656750351017141 5ustar zuulzuul00000000000000murano-9.0.0/murano/dsl/contracts/__init__.py0000664000175000017500000000220413656750211021243 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import abc class ContractMethod(object): @abc.abstractmethod def transform(self): raise NotImplementedError() @abc.abstractmethod def validate(self): raise NotImplementedError() def finalize(self): return self.value def check_type(self): return self.validate() def generate_schema(self): return self.value def __getattr__(self, item): return self.context[item] class ObjRef(object): def __init__(self, object_id): self.object_id = object_id murano-9.0.0/murano/dsl/contracts/instances.py0000664000175000017500000002243313656750211021501 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from yaql.language import specs from yaql.language import utils from yaql.language import yaqltypes from murano.dsl import constants from murano.dsl import contracts from murano.dsl import dsl from murano.dsl import dsl_types from murano.dsl import exceptions from murano.dsl import helpers from murano.dsl import serializer class Class(contracts.ContractMethod): name = 'class' @specs.parameter('name', dsl.MuranoTypeParameter( nullable=False, lazy=True)) @specs.parameter('default_name', dsl.MuranoTypeParameter( nullable=True, lazy=True)) @specs.parameter('version_spec', yaqltypes.String(True)) def __init__(self, name, default_name=None, version_spec=None): self.type = name(self.context).type self.default_type = default_name(self.context) or self.type self.version_spec = version_spec def validate(self): if self.value is None or helpers.is_instance_of( self.value, self.type.name, self.version_spec or helpers.get_names_scope( self.root_context)): return self.value if not isinstance(self.value, (dsl_types.MuranoObject, dsl_types.MuranoObjectInterface)): raise exceptions.ContractViolationException( 'Value is not an object') raise exceptions.ContractViolationException( 'Object of type {0} is not compatible with ' 'requested type {1}'.format(self.value.type, self.type)) def transform(self): value = self.value object_store = helpers.get_object_store() if isinstance(self.value, contracts.ObjRef): value = self.value.object_id if value is None: return None if isinstance(value, dsl_types.MuranoObject): obj = value elif isinstance(value, dsl_types.MuranoObjectInterface): obj = value.object elif isinstance(value, utils.MappingType): obj = object_store.load( value, self.owner, context=self.root_context, default_type=self.default_type, scope_type=self.calling_type) elif isinstance(value, str): obj = object_store.get(value) if obj is None: if not object_store.initializing: raise exceptions.NoObjectFoundError(value) else: return contracts.ObjRef(value) else: raise exceptions.ContractViolationException( 'Value {0} cannot be represented as class {1}'.format( helpers.format_scalar(value), self.type)) self.value = obj return self.validate() def generate_schema(self): return self.generate_class_schema(self.value, self.type) @staticmethod def generate_class_schema(value, type_): types = 'muranoObject' if '_notNull' not in value: types = [types] + ['null'] return { 'type': types, 'muranoType': type_.name } class Template(contracts.ContractMethod): name = 'template' @specs.parameter('type_', dsl.MuranoTypeParameter( nullable=False, lazy=True)) @specs.parameter('default_type', dsl.MuranoTypeParameter( nullable=True, lazy=True)) @specs.parameter('version_spec', yaqltypes.String(True)) @specs.parameter( 'exclude_properties', yaqltypes.Sequence(nullable=True)) def __init__(self, engine, type_, default_type=None, version_spec=None, exclude_properties=None): self.type = type_(self.context).type self.default_type = default_type(self.context) or self.type self.version_spec = version_spec self.exclude_properties = exclude_properties self.engine = engine def validate(self): if self.value is None or helpers.is_instance_of( self.value, self.type.name, self.version_spec or helpers.get_names_scope( self.root_context)): return self.value if not isinstance(self.value, (dsl_types.MuranoObject, dsl_types.MuranoObjectInterface)): raise exceptions.ContractViolationException( 'Value is not an object') raise exceptions.ContractViolationException( 'Object of type {0} is not compatible with ' 'requested type {1}'.format(self.value.type, self.type)) def check_type(self): if isinstance(self.value, utils.MappingType): return self.value return self.validate() def transform(self): object_store = helpers.get_object_store() if self.value is None: return None if isinstance(self.value, dsl_types.MuranoObject): obj = self.value elif isinstance(self.value, dsl_types.MuranoObjectInterface): obj = self.value.object elif isinstance(self.value, utils.MappingType): passkey = utils.create_marker('') if self.exclude_properties: parsed = helpers.parse_object_definition( self.value, self.calling_type, self.context) props = dsl.to_mutable(parsed['properties'], self.engine) for p in self.exclude_properties: helpers.patch_dict(props, p, passkey) parsed['properties'] = props value = helpers.assemble_object_definition(parsed) else: value = self.value with helpers.thread_local_attribute( constants.TL_CONTRACT_PASSKEY, passkey): with helpers.thread_local_attribute( constants.TL_OBJECTS_DRY_RUN, True): obj = object_store.load( value, self.owner, context=self.context, default_type=self.default_type, scope_type=self.calling_type) obj.__passkey__ = passkey else: raise exceptions.ContractViolationException( 'Value {0} cannot be represented as class {1}'.format( helpers.format_scalar(self.value), self.type)) self.value = obj return self.validate() def finalize(self): if self.value is None: return None object_store = helpers.get_object_store() if object_store.initializing: return {} passkey = getattr(self.value, '__passkey__', None) with helpers.thread_local_attribute( constants.TL_CONTRACT_PASSKEY, passkey): result = serializer.serialize( self.value.real_this, object_store.executor, dsl_types.DumpTypes.Mixed) if self.exclude_properties: for p in self.exclude_properties: helpers.patch_dict(result, p, utils.NO_VALUE) return result def generate_schema(self): result = Class.generate_class_schema(self.value, self.type) result['owned'] = True if self.exclude_properties: result['excludedProperties'] = self.exclude_properties return result class Owned(contracts.ContractMethod): name = 'owned' def validate(self): if self.value is None or isinstance(self.value, contracts.ObjRef): return self.value if isinstance(self.value, dsl_types.MuranoObject): if helpers.find_object_owner(self.value, lambda t: t is self.this): return self.value raise exceptions.ContractViolationException( 'Object {0} violates owned() contract'.format(self.value)) raise exceptions.ContractViolationException( 'Value {0} is not an object'.format(self.value)) def transform(self): return self.validate() def generate_schema(self): self.value['owned'] = True return self.value class NotOwned(contracts.ContractMethod): name = 'not_owned' def validate(self): if self.value is None or isinstance(self.value, contracts.ObjRef): return self.value if isinstance(self.value, dsl_types.MuranoObject): if helpers.find_object_owner(self.value, lambda t: t is self.this): raise exceptions.ContractViolationException( 'Object {0} violates notOwned() contract'.format( self.value)) return self.value raise exceptions.ContractViolationException( 'Value {0} is not an object'.format(self.value)) def transform(self): return self.validate() def generate_schema(self): self.value['owned'] = False return self.value murano-9.0.0/murano/dsl/contracts/basic.py0000664000175000017500000000733413656750211020576 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import contracts from murano.dsl import dsl_types from murano.dsl import exceptions from murano.dsl import helpers class String(contracts.ContractMethod): name = 'string' def transform(self): if self.value is None: return None if isinstance(self.value, str): return self.value if isinstance(self.value, str) or \ isinstance(self.value, int): return str(self.value) if isinstance(self.value, dsl_types.MuranoObject): return self.value.object_id if isinstance(self.value, dsl_types.MuranoObjectInterface): return self.value.id raise exceptions.ContractViolationException( 'Value {0} violates string() contract'.format( helpers.format_scalar(self.value))) def validate(self): if self.value is None or isinstance(self.value, str): return self.value raise exceptions.ContractViolationException() def generate_schema(self): types = 'string' if '_notNull' not in self.value: types = [types] + ['null'] return { 'type': types } class Bool(contracts.ContractMethod): name = 'bool' def validate(self): if self.value is None or isinstance(self.value, bool): return self.value raise exceptions.ContractViolationException() def transform(self): if self.value is None: return None return True if self.value else False def generate_schema(self): types = 'boolean' if '_notNull' not in self.value: types = [types] + ['null'] return { 'type': types } class Int(contracts.ContractMethod): name = 'int' def validate(self): if self.value is None or isinstance( self.value, int) and not isinstance(self.value, bool): return self.value raise exceptions.ContractViolationException() def transform(self): if self.value is None: return None try: return int(self.value) except Exception: raise exceptions.ContractViolationException( 'Value {0} violates int() contract'.format( helpers.format_scalar(self.value))) def generate_schema(self): types = 'integer' if '_notNull' not in self.value: types = [types] + ['null'] return { 'type': types } class NotNull(contracts.ContractMethod): name = 'not_null' def validate(self): if self.value is None: raise exceptions.ContractViolationException( 'null value violates notNull() contract') return self.value def transform(self): return self.validate() def generate_schema(self): types = self.value.get('type') if isinstance(types, list) and 'null' in types: types.remove('null') if len(types) == 1: types = types[0] self.value['type'] = types self.value['_notNull'] = True return self.value murano-9.0.0/murano/dsl/contracts/check.py0000664000175000017500000001207213656750211020565 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from yaql.language import exceptions as yaql_exceptions from yaql.language import expressions from yaql.language import specs from yaql.language import utils from yaql.language import yaqltypes from murano.dsl import contracts from murano.dsl import exceptions from murano.dsl import helpers class Check(contracts.ContractMethod): name = 'check' @specs.parameter('predicate', yaqltypes.YaqlExpression()) @specs.parameter('msg', yaqltypes.String(nullable=True)) def __init__(self, engine, predicate, msg=None): self.engine = engine self.predicate = predicate self.msg = msg def _call_predicate(self, value): context = self.root_context.create_child_context() context['$'] = value return self.predicate(utils.NO_VALUE, context, self.engine) def validate(self): if isinstance(self.value, contracts.ObjRef) or self._call_predicate( self.value): return self.value else: msg = self.msg if not msg: msg = "Value {0} doesn't match predicate".format( helpers.format_scalar(self.value)) raise exceptions.ContractViolationException(msg) def transform(self): return self.validate() def generate_schema(self): rest = [True] while rest: if (isinstance(self.predicate, expressions.BinaryOperator) and self.predicate.operator == 'and'): rest = self.predicate.args[1] self.predicate = self.predicate.args[0] else: rest = [] res = extract_pattern(self.predicate, self.engine, self.root_context) if res is not None: self.value.update(res) self.predicate = rest return self.value def is_dollar(expr): """Check $-expressions in YAQL AST""" return (isinstance(expr, expressions.GetContextValue) and expr.path.value in ('$', '$1')) def extract_pattern(expr, engine, context): """Translation of certain known patterns of check() contract expressions""" if isinstance(expr, expressions.BinaryOperator): ops = ('>', '<', '>=', '<=') if expr.operator in ops: op_index = ops.index(expr.operator) if is_dollar(expr.args[0]): constant = evaluate_constant(expr.args[1], engine, context) if constant is None: return None elif is_dollar(expr.args[1]): constant = evaluate_constant(expr.args[0], engine, context) if constant is None: return None op_index = -1 - op_index else: return None op = ops[op_index] if op == '>': return {'minimum': constant, 'exclusiveMinimum': True} elif op == '>=': return {'minimum': constant, 'exclusiveMinimum': False} if op == '<': return {'maximum': constant, 'exclusiveMaximum': True} elif op == '<=': return {'maximum': constant, 'exclusiveMaximum': False} elif expr.operator == 'in' and is_dollar(expr.args[0]): lst = evaluate_constant(expr.args[1], engine, context) if isinstance(lst, tuple): return {'enum': list(lst)} elif (expr.operator == '.' and is_dollar(expr.args[0]) and isinstance(expr.args[1], expressions.Function)): func = expr.args[1] if func.name == 'matches': constant = evaluate_constant(func.args[0], engine, context) if constant is not None: return {'pattern': constant} def evaluate_constant(expr, engine, context): """Evaluate yaql expression into constant value if possible""" if isinstance(expr, expressions.Constant): return expr.value context = context.create_child_context() trap = utils.create_marker('trap') context['$'] = trap @specs.parameter('name', yaqltypes.StringConstant()) @specs.name('#get_context_data') def get_context_data(name, context): res = context[name] if res is trap: raise yaql_exceptions.ResolutionError() return res context.register_function(get_context_data) try: return expressions.Statement(expr, engine).evaluate(context=context) except yaql_exceptions.YaqlException: return None murano-9.0.0/murano/dsl/contracts/contracts.py0000664000175000017500000002510013656750211021504 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import copy from yaql.language import specs from yaql.language import utils from yaql.language import yaqltypes from murano.dsl import constants from murano.dsl.contracts import basic from murano.dsl.contracts import check from murano.dsl.contracts import instances from murano.dsl import dsl from murano.dsl import dsl_types from murano.dsl import exceptions from murano.dsl import helpers from murano.dsl import yaql_integration CONTRACT_METHODS = [ basic.String, basic.Bool, basic.Int, basic.NotNull, check.Check, instances.Class, instances.Template, instances.Owned, instances.NotOwned ] class Contract(object): def __init__(self, spec, declaring_type): self._spec = spec self._runtime_version = declaring_type.package.runtime_version @property def spec(self): return self._spec @staticmethod def _get_contract_factory(cls, action_func): def payload(context, value, *args, **kwargs): instance = object.__new__(cls) instance.value = value instance.context = context instance.__init__(*args, **kwargs) return action_func(instance) name = yaql_integration.CONVENTION.convert_function_name(cls.name) try: init_spec = specs.get_function_definition( helpers.function(cls.__init__), name=name, method=True, convention=yaql_integration.CONVENTION) except AttributeError: init_spec = specs.get_function_definition( lambda self: None, name=name, method=True) init_spec.parameters['self'] = specs.ParameterDefinition( 'self', yaqltypes.PythonType(object, nullable=True), 0) init_spec.insert_parameter(specs.ParameterDefinition( '?1', yaqltypes.Context(), 0)) init_spec.payload = payload return init_spec @staticmethod def _prepare_context(runtime_version, action): context = yaql_integration.create_context( runtime_version).create_child_context() for cls in CONTRACT_METHODS: context.register_function(Contract._get_contract_factory( cls, action)) return context @staticmethod @helpers.memoize def _prepare_transform_context(runtime_version, finalize): if finalize: def action(c): c.value = c.transform() return c.finalize() else: def action(c): return c.transform() return Contract._prepare_context( runtime_version, action) @staticmethod @helpers.memoize def _prepare_validate_context(runtime_version): return Contract._prepare_context( runtime_version, lambda c: c.validate()) @staticmethod @helpers.memoize def _prepare_check_type_context(runtime_version): return Contract._prepare_context( runtime_version, lambda c: c.check_type()) @staticmethod @helpers.memoize def _prepare_schema_generation_context(runtime_version): context = Contract._prepare_context( runtime_version, lambda c: c.generate_schema()) @specs.name('#finalize') def finalize(obj): if isinstance(obj, dict): obj.pop('_notNull', None) return obj context.register_function(finalize) return context @staticmethod @helpers.memoize def _prepare_finalize_context(runtime_version): return Contract._prepare_context( runtime_version, lambda c: c.finalize()) def _map_dict(self, data, spec, context, path): if data is None or data is dsl.NO_VALUE: data = {} if not isinstance(data, utils.MappingType): raise exceptions.ContractViolationException( 'Value {0} is not of a dictionary type'.format( helpers.format_scalar(data))) if not spec: return data result = {} yaql_key = None for key, value in spec.items(): if isinstance(key, dsl_types.YaqlExpression): if yaql_key is not None: raise exceptions.DslContractSyntaxError( 'Dictionary contract ' 'cannot have more than one expression key') else: yaql_key = key else: result[key] = self._map( data.get(key), value, context, '{0}[{1}]'.format( path, helpers.format_scalar(key))) if yaql_key is not None: yaql_value = spec[yaql_key] for key, value in data.items(): if key in result: continue key = self._map(key, yaql_key, context, path) result[key] = self._map( value, yaql_value, context, '{0}[{1}]'.format( path, helpers.format_scalar(key))) return utils.FrozenDict(result) def _map_list(self, data, spec, context, path): if utils.is_iterator(data): data = list(data) elif not utils.is_sequence(data): if data is None or data is dsl.NO_VALUE: data = [] else: data = [data] if len(spec) < 1: return data shift = 0 max_length = -1 min_length = 0 if isinstance(spec[-1], int): min_length = spec[-1] shift += 1 if len(spec) >= 2 and isinstance(spec[-2], int): max_length = min_length min_length = spec[-2] shift += 1 if max_length >= 0 and not min_length <= len(data) <= max_length: raise exceptions.ContractViolationException( 'Array length {0} is not within [{1}..{2}] range'.format( len(data), min_length, max_length)) elif not min_length <= len(data): raise exceptions.ContractViolationException( 'Array length {0} must not be less than {1}'.format( len(data), min_length)) def map_func(): for index, item in enumerate(data): spec_item = ( spec[-1 - shift] if index >= len(spec) - shift else spec[index] ) yield self._map( item, spec_item, context, '{0}[{1}]'.format(path, index)) return tuple(map_func()) def _map_scalar(self, data, spec): if data != spec: raise exceptions.ContractViolationException( 'Value {0} is not equal to {1}'.format( helpers.format_scalar(data), spec)) else: return data def _map(self, data, spec, context, path): if helpers.is_passkey(data): return data child_context = context.create_child_context() if isinstance(spec, dsl_types.YaqlExpression): child_context[''] = data try: result = spec(context=child_context) return result except exceptions.ContractViolationException as e: e.path = path raise elif isinstance(spec, utils.MappingType): return self._map_dict(data, spec, child_context, path) elif utils.is_sequence(spec): return self._map_list(data, spec, child_context, path) else: return self._map_scalar(data, spec) def _execute(self, base_context_func, data, context, default, **kwargs): # TODO(ativelkov, slagun): temporary fix, need a better way of handling # composite defaults # A bug (#1313694) has been filed if data is dsl.NO_VALUE: data = helpers.evaluate(default, context) if helpers.is_passkey(data): return data contract_context = base_context_func( self._runtime_version).create_child_context() contract_context['root_context'] = context for key, value in kwargs.items(): contract_context[key] = value contract_context[constants.CTX_NAMES_SCOPE] = \ context[constants.CTX_NAMES_SCOPE] return self._map(data, self._spec, contract_context, '') def transform(self, data, context, this, owner, default, calling_type, finalize=True): return self._execute( lambda runtime_version: self._prepare_transform_context( runtime_version, finalize), data, context, default, this=this, owner=owner, calling_type=calling_type) def validate(self, data, context, default, calling_type): self._execute(self._prepare_validate_context, data, context, default, calling_type=calling_type) return True def check_type(self, data, context, default, calling_type): if helpers.is_passkey(data): return False try: self._execute(self._prepare_check_type_context, data, context, default, calling_type=calling_type) return True except exceptions.ContractViolationException: return False def finalize(self, data, context, calling_type): return self._execute( self._prepare_finalize_context, data, context, None, calling_type=calling_type) @staticmethod def generate_expression_schema(expression, context, runtime_version, initial_schema=None): if initial_schema is None: initial_schema = {} else: initial_schema = copy.deepcopy(initial_schema) contract_context = Contract._prepare_schema_generation_context( runtime_version).create_child_context() contract_context['root_context'] = context contract_context[constants.CTX_NAMES_SCOPE] = \ context[constants.CTX_NAMES_SCOPE] contract_context['$'] = initial_schema return expression(context=contract_context) murano-9.0.0/murano/dsl/package_loader.py0000664000175000017500000000225013656750211020426 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import abc class MuranoPackageLoader(object, metaclass=abc.ABCMeta): @abc.abstractmethod def load_package(self, package_name, version_spec): pass @abc.abstractmethod def load_class_package(self, class_name, version_spec): pass @abc.abstractmethod def register_package(self, package): pass @abc.abstractmethod def import_fixation_table(self, fixations): pass @abc.abstractmethod def export_fixation_table(self): pass @abc.abstractmethod def compact_fixation_table(self): pass murano-9.0.0/murano/dsl/expressions.py0000664000175000017500000000654113656750211020076 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import dsl_exception from murano.dsl import helpers from murano.dsl import lhs_expression from murano.dsl import yaql_expression _macros = [] class InstructionStub(object): def __init__(self, title, position): self._title = title self.source_file_position = position def __str__(self): return self._title def register_macro(cls): _macros.append(cls) class DslExpression(object): def execute(self, context): pass class Statement(DslExpression): def __init__(self, statement): if isinstance(statement, yaql_expression.YaqlExpression): key = None value = statement elif isinstance(statement, dict): if len(statement) != 1: raise SyntaxError() key = list(statement.keys())[0] value = statement[key] else: raise SyntaxError() self._destination = lhs_expression.LhsExpression(key) if key else None self._expression = value @property def destination(self): return self._destination @property def expression(self): return self._expression def execute(self, context): try: result = helpers.evaluate(self.expression, context) if self.destination: self.destination(result, context) return result except dsl_exception.MuranoPlException: raise except Exception as e: raise dsl_exception.MuranoPlException.from_python_exception( e, context) def parse_expression(expr): result = None if isinstance(expr, yaql_expression.YaqlExpression): result = Statement(expr) elif isinstance(expr, dict): kwds = {} for key, value in expr.items(): if isinstance(key, yaql_expression.YaqlExpression): if result is not None: raise ValueError() result = Statement(expr) else: kwds[key] = value if result is None: for cls in _macros: try: macro = cls(**kwds) position = None title = 'block construct' if hasattr(expr, 'source_file_position'): position = expr.source_file_position if '__str__' in cls.__dict__: title = str(macro) macro.virtual_instruction = InstructionStub( title, position) return macro except TypeError: continue if result is None: raise SyntaxError( 'Syntax is incorrect in expression: {0}'.format(expr)) return result murano-9.0.0/murano/dsl/virtual_exceptions.py0000664000175000017500000001300613656750211021435 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import constants from murano.dsl import dsl_exception from murano.dsl import expressions from murano.dsl import helpers from murano.dsl import macros from murano.dsl.principal_objects import stack_trace from murano.dsl import yaql_integration class ThrowMacro(expressions.DslExpression): def __init__(self, Throw, Message=None, Extra=None, Cause=None): if not Throw: raise ValueError() if not isinstance(Throw, list): Throw = [Throw] self._names = Throw self._message = Message self._extra = Extra or {} self._cause = Cause def _resolve_names(self, names, context): murano_class = helpers.get_type(context) for name in names: yield murano_class.namespace_resolver.resolve_name(name) def execute(self, context): stacktrace = stack_trace.create_stack_trace(context, False) cause = None if self._cause: cause = helpers.evaluate(self._cause, context).get_property( 'nativeException') raise dsl_exception.MuranoPlException( list(self._resolve_names(helpers.evaluate(self._names, context), context)), helpers.evaluate(self._message, context), stacktrace, self._extra, cause) def __unicode__(self): if self._message: return u'Throw {0}: {1}'.format(self._names, self._message) return u'Throw ' + str(self._names) class CatchBlock(expressions.DslExpression): def __init__(self, With=None, As=None, Do=None): if With is not None and not isinstance(With, list): With = [With] self._with = With self._as = As self._code_block = None if Do is None else macros.CodeBlock(Do) def _resolve_names(self, names, context): murano_class = helpers.get_type(context) for name in names: yield murano_class.namespace_resolver.resolve_name(name) def execute(self, context): exception = helpers.get_current_exception(context) names = ( None if self._with is None else list(self._resolve_names(self._with, context)) ) for name in exception.names: if self._with is None or name in names: if self._code_block: if self._as: wrapped = self._wrap_internal_exception( exception, context, name) context[self._as] = wrapped self._code_block.execute(context) return True return False def _wrap_internal_exception(self, exception, context, name): obj = yaql_integration.call_func(context, 'new', 'io.murano.Exception') obj.set_property('name', name) obj.set_property('message', exception.message) obj.set_property('stackTrace', exception.stacktrace) obj.set_property('extra', exception.extra) obj.set_property('nativeException', exception) return obj class TryBlockMacro(expressions.DslExpression): def __init__(self, Try, Catch=None, Finally=None, Else=None): self._try_block = macros.CodeBlock(Try) self._catch_block = None if Catch is not None: if not isinstance(Catch, list): Catch = [Catch] self._catch_block = [CatchBlock(**c) for c in Catch] self._finally_block = ( None if Finally is None else macros.CodeBlock(Finally)) self._else_block = ( None if Else is None else macros.CodeBlock(Else)) def execute(self, context): try: self._try_block.execute(context) except dsl_exception.MuranoPlException as e: caught = False if self._catch_block: try: context[constants.CTX_CURRENT_EXCEPTION] = e for cb in self._catch_block: if cb.execute(context): caught = True break if not caught: raise finally: context[constants.CTX_CURRENT_EXCEPTION] = None else: raise else: if self._else_block: self._else_block.execute(context) finally: if self._finally_block: self._finally_block.execute(context) class RethrowMacro(expressions.DslExpression): def __init__(self, Rethrow): pass def execute(self, context): exception = context['$?currentException'] if not exception: raise TypeError('Rethrow must be inside Catch') raise exception def __str__(self): return 'Rethrow' def register(): expressions.register_macro(ThrowMacro) expressions.register_macro(TryBlockMacro) expressions.register_macro(RethrowMacro) murano-9.0.0/murano/dsl/helpers.py0000664000175000017500000005454313656750211017163 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import collections import contextlib import functools import gc import inspect import itertools import re import sys import uuid import weakref import eventlet.greenpool import eventlet.greenthread from oslo_config import cfg import semantic_version from yaql.language import contexts import yaql.language.exceptions import yaql.language.expressions from yaql.language import utils as yaqlutils from murano.common import utils from murano.dsl import constants from murano.dsl import dsl_types from murano.dsl import exceptions _threads_sequencer = 0 # type string: ns.something.MyApp[/1.2.3-alpha][@my.package.fqn] TYPE_RE = re.compile(r'([a-zA-Z0-9_.]+)(?:/([^@]+))?(?:@([a-zA-Z0-9_.]+))?$') CONF = cfg.CONF def evaluate(value, context, freeze=True): list_type = tuple if freeze else list dict_type = yaqlutils.FrozenDict if freeze else dict set_type = frozenset if freeze else set if isinstance(value, (dsl_types.YaqlExpression, yaql.language.expressions.Statement)): return value(context) elif isinstance(value, yaqlutils.MappingType): return dict_type( (evaluate(d_key, context, freeze), evaluate(d_value, context, freeze)) for d_key, d_value in value.items()) elif yaqlutils.is_sequence(value): return list_type(evaluate(t, context, freeze) for t in value) elif isinstance(value, yaqlutils.SetType): return set_type(evaluate(t, context, freeze) for t in value) elif yaqlutils.is_iterable(value): return list_type( evaluate(t, context, freeze) for t in yaqlutils.limit_iterable( value, CONF.murano.dsl_iterators_limit)) elif isinstance(value, dsl_types.MuranoObjectInterface): return value.object else: return value def merge_lists(list1, list2): result = [] for item in list1 + list2: if item not in result: result.append(item) return result def merge_dicts(dict1, dict2, max_levels=0): result = {} for key, value1 in dict1.items(): result[key] = value1 if key in dict2: value2 = dict2[key] if type(value2) != type(value1): if ((isinstance(value1, str) or value1 is None) and (isinstance(value2, str) or value2 is None)): continue raise TypeError() if max_levels != 1 and isinstance(value2, dict): result[key] = merge_dicts( value1, value2, 0 if max_levels == 0 else max_levels - 1) elif max_levels != 1 and isinstance(value2, list): result[key] = merge_lists(value1, value2) else: result[key] = value2 for key, value1 in dict2.items(): if key not in result: result[key] = value1 return result def generate_id(): return uuid.uuid4().hex def parallel_select(collection, func, limit=1000): # workaround for eventlet issue 232 # https://github.com/eventlet/eventlet/issues/232 context = get_context() object_store = get_object_store() def wrapper(element): try: with with_object_store(object_store), contextual(context): return func(element), False, None except Exception as e: return e, True, sys.exc_info()[2] gpool = eventlet.greenpool.GreenPool(limit) result = list(gpool.imap(wrapper, collection)) try: exception = next(t for t in result if t[1]) except StopIteration: return map(lambda t: t[0], result) else: utils.reraise(type(exception[0]), exception[0], exception[2]) def enum(**enums): return type('Enum', (), enums) def get_context(): current_thread = eventlet.greenthread.getcurrent() return getattr(current_thread, constants.TL_CONTEXT, None) def get_executor(): store = get_object_store() return None if store is None else store.executor def get_type(context=None): context = context or get_context() return context[constants.CTX_TYPE] def get_execution_session(): executor = get_executor() return None if executor is None else executor.execution_session def get_object_store(): current_thread = eventlet.greenthread.getcurrent() return getattr(current_thread, constants.TL_OBJECT_STORE, None) def get_package_loader(): executor = get_executor() return None if executor is None else executor.package_loader def get_this(context=None): context = context or get_context() return context[constants.CTX_THIS] def get_caller_context(context=None): context = context or get_context() return context[constants.CTX_CALLER_CONTEXT] def get_attribute_store(): executor = get_executor() return None if executor is None else executor.attribute_store def get_current_instruction(context=None): context = context or get_context() return context[constants.CTX_CURRENT_INSTRUCTION] def get_current_method(context=None): context = context or get_context() return context[constants.CTX_CURRENT_METHOD] def get_yaql_engine(context=None): context = context or get_context() return None if context is None else context[constants.CTX_YAQL_ENGINE] def get_current_exception(context=None): context = context or get_context() return context[constants.CTX_CURRENT_EXCEPTION] def are_property_modifications_allowed(context=None): context = context or get_context() return context[constants.CTX_ALLOW_PROPERTY_WRITES] or False def get_names_scope(context=None): context = context or get_context() return context[constants.CTX_NAMES_SCOPE] def get_class(name, context=None): context = context or get_context() murano_type = get_names_scope(context) name = murano_type.namespace_resolver.resolve_name(name) return murano_type.package.find_class(name) def get_contract_passkey(): current_thread = eventlet.greenthread.getcurrent() return getattr(current_thread, constants.TL_CONTRACT_PASSKEY, None) def is_objects_dry_run_mode(): current_thread = eventlet.greenthread.getcurrent() return bool(getattr(current_thread, constants.TL_OBJECTS_DRY_RUN, False)) def get_current_thread_id(): global _threads_sequencer current_thread = eventlet.greenthread.getcurrent() thread_id = getattr(current_thread, constants.TL_ID, None) if thread_id is None: thread_id = 'T' + str(_threads_sequencer) _threads_sequencer += 1 setattr(current_thread, constants.TL_ID, thread_id) return thread_id @contextlib.contextmanager def thread_local_attribute(name, value): current_thread = eventlet.greenthread.getcurrent() old_value = getattr(current_thread, name, None) if value is not None: setattr(current_thread, name, value) elif hasattr(current_thread, name): delattr(current_thread, name) try: yield finally: if old_value is not None: setattr(current_thread, name, old_value) elif hasattr(current_thread, name): delattr(current_thread, name) def contextual(ctx): return thread_local_attribute(constants.TL_CONTEXT, ctx) def with_object_store(object_store): return thread_local_attribute(constants.TL_OBJECT_STORE, object_store) def parse_version_spec(version_spec): if isinstance(version_spec, semantic_version.Spec): return normalize_version_spec(version_spec) if isinstance(version_spec, semantic_version.Version): return normalize_version_spec( semantic_version.Spec('==' + str(version_spec))) if not version_spec: version_spec = '0' version_spec = re.sub('\s+', '', str(version_spec)) # NOTE(kzaitsev): semantic_version 2.3.X thinks that '=0' is not # a valid version spec and only accepts '==0', this regexp adds # an extra '=' before such specs version_spec = re.sub(r'^=(\d)', r'==\1', version_spec) if version_spec[0].isdigit(): version_spec = '==' + str(version_spec) version_spec = semantic_version.Spec(version_spec) return normalize_version_spec(version_spec) def parse_version(version): if isinstance(version, semantic_version.Version): return version if not version: version = '0' return semantic_version.Version.coerce(str(version)) def traverse(seed, producer=None, track_visited=True): if not yaqlutils.is_iterable(seed): seed = [seed] visited = None if not track_visited else set() queue = collections.deque(seed) while queue: item = queue.popleft() if track_visited: if item in visited: continue visited.add(item) produced = (yield item) if produced is None and producer: produced = producer(item) if produced: queue.extend(produced) def cast(obj, murano_class, pov_or_version_spec=None): if isinstance(obj, dsl_types.MuranoObjectInterface): obj = obj.object if isinstance(pov_or_version_spec, dsl_types.MuranoType): pov_or_version_spec = pov_or_version_spec.package elif isinstance(pov_or_version_spec, str): pov_or_version_spec = parse_version_spec(pov_or_version_spec) if isinstance(murano_class, dsl_types.MuranoTypeReference): murano_class = murano_class.type if isinstance(murano_class, dsl_types.MuranoType): if pov_or_version_spec is None: pov_or_version_spec = parse_version_spec(murano_class.version) murano_class = murano_class.name candidates = [] for cls in itertools.chain((obj.type,), obj.type.ancestors()): if cls.name != murano_class: continue elif isinstance(pov_or_version_spec, semantic_version.Version): if cls.version != pov_or_version_spec: continue elif isinstance(pov_or_version_spec, semantic_version.Spec): if cls.version not in pov_or_version_spec: continue elif isinstance(pov_or_version_spec, dsl_types.MuranoPackage): requirement = pov_or_version_spec.requirements.get( cls.package.name) if requirement is None: raise exceptions.NoClassFound(murano_class) if cls.version not in requirement: continue elif pov_or_version_spec is not None: raise ValueError('pov_or_version_spec of unsupported ' 'type {0}'.format(type(pov_or_version_spec))) candidates.append(cls) if not candidates: raise exceptions.NoClassFound(murano_class) elif len(candidates) > 1: raise exceptions.AmbiguousClassName(murano_class) return obj.cast(candidates[0]) def is_instance_of(obj, class_name, pov_or_version_spec=None): if not isinstance(obj, (dsl_types.MuranoObject, dsl_types.MuranoObjectInterface)): return False try: cast(obj, class_name, pov_or_version_spec) return True except (exceptions.NoClassFound, exceptions.AmbiguousClassName): return False def memoize(func): cache = {} return get_memoize_func(func, cache) def get_memoize_func(func, cache): @functools.wraps(func) def wrap(*args): if args not in cache: result = func(*args) cache[args] = result return result else: return cache[args] return wrap def normalize_version_spec(version_spec): def coerce(v): return semantic_version.Version('{0}.{1}.{2}'.format( v.major, v.minor or 0, v.patch or 0 )) def increment(v): # NOTE(ativelkov): replace these implementations with next_minor() and # next_major() calls when the semantic_version is updated in global # requirements. if v.minor is None: return semantic_version.Version( '.'.join(str(x) for x in [v.major + 1, 0, 0])) else: return semantic_version.Version( '.'.join(str(x) for x in [v.major, v.minor + 1, 0])) def extend(v): return semantic_version.Version(str(v) + '-0') transformations = { '>': [('>=', (increment, extend))], '>=': [('>=', (coerce,))], '<': [('<', (coerce, extend))], '<=': [('<', (increment, extend))], '!=': [('>=', (increment, extend))], '==': [('>=', (coerce,)), ('<', (increment, coerce, extend))] } new_parts = [] for item in version_spec.specs: if item.kind == '*': continue elif item.spec.patch is not None: new_parts.append(str(item)) else: for op, funcs in transformations[item.kind]: new_parts.append('{0}{1}'.format( op, functools.reduce(lambda v, f: f(v), funcs, item.spec) )) if not new_parts: return semantic_version.Spec('*') return semantic_version.Spec(*new_parts) semver_to_api_map = { '>': 'gt', '>=': 'ge', '<': 'lt', '<=': 'le', '!=': 'ne', '==': 'eq' } def breakdown_spec_to_query(normalized_spec): res = [] for item in normalized_spec.specs: if item.kind == '*': continue else: res.append("%s:%s" % (semver_to_api_map[item.kind], item.spec)) return res def link_contexts(parent_context, context): if not context: return parent_context return contexts.LinkedContext(parent_context, context) def inspect_is_static(cls, name): m = cls.__dict__.get(name) if m is None: return False return isinstance(m, staticmethod) def inspect_is_classmethod(cls, name): m = cls.__dict__.get(name) if m is None: return False return isinstance(m, classmethod) def inspect_is_method(cls, name): m = getattr(cls, name, None) if m is None: return False return ((inspect.isfunction(m) or inspect.ismethod(m)) and not inspect_is_static(cls, name) and not inspect_is_classmethod(cls, name)) def inspect_is_property(cls, name): m = getattr(cls, name, None) if m is None: return False return inspect.isdatadescriptor(m) def updated_dict(d, val): if d is None: d = {} else: d = d.copy() if val is not None: d.update(val) return d def resolve_type(value, scope_type, return_reference=False): if value is None: return None if isinstance(scope_type, dsl_types.MuranoTypeReference): scope_type = scope_type.type if not isinstance(value, (dsl_types.MuranoType, dsl_types.MuranoTypeReference)): name = scope_type.namespace_resolver.resolve_name(value) result = scope_type.package.find_class(name) else: result = value if isinstance(result, dsl_types.MuranoTypeReference): if return_reference: return result return result.type elif return_reference: return result.get_reference() return result def parse_object_definition(spec, scope_type, context): if not isinstance(spec, yaqlutils.MappingType): return None if context: spec = evaluate(spec, context, freeze=False) else: spec = spec.copy() system_data = None type_obj = None props = {} ns_resolver = scope_type.namespace_resolver if scope_type else None for key in spec: if (ns_resolver and ns_resolver.is_typename(key, False) or isinstance(key, (dsl_types.MuranoTypeReference, dsl_types.MuranoType))): type_obj = resolve_type(key, scope_type) props = spec.pop(key) or {} system_data = spec break if system_data is None: props = spec if '?' in spec: system_data = spec.pop('?') obj_type = system_data.get('type') if isinstance(obj_type, dsl_types.MuranoTypeReference): type_obj = obj_type.type elif isinstance(obj_type, dsl_types.MuranoType): type_obj = obj_type elif obj_type: type_str, version_str, package_str = parse_type_string( obj_type, system_data.get('classVersion'), system_data.get('package') ) version_spec = parse_version_spec(version_str) package_loader = get_package_loader() if package_str: package = package_loader.load_package( package_str, version_spec) else: package = package_loader.load_class_package( type_str, version_spec) type_obj = package.find_class(type_str, False) else: system_data = {} return { 'type': type_obj, 'properties': yaqlutils.filter_parameters_dict(props), 'id': system_data.get('id'), 'name': system_data.get('name'), 'metadata': system_data.get('metadata'), 'destroyed': system_data.get('destroyed', False), 'dependencies': system_data.get('dependencies', {}), 'extra': { key: value for key, value in system_data.items() if key.startswith('_') } } def assemble_object_definition(parsed, model_format=dsl_types.DumpTypes.Mixed): if model_format == dsl_types.DumpTypes.Inline: result = { parsed['type']: parsed['properties'], 'id': parsed['id'], 'name': parsed['name'], 'metadata': parsed['metadata'], 'dependencies': parsed['dependencies'], 'destroyed': parsed['destroyed'] } result.update(parsed['extra']) return result result = parsed['properties'] header = { 'id': parsed['id'], 'name': parsed['name'], 'metadata': parsed['metadata'] } if parsed['destroyed']: header['destroyed'] = True header.update(parsed['extra']) result['?'] = header if model_format == dsl_types.DumpTypes.Mixed: header['type'] = parsed['type'] return result elif model_format == dsl_types.DumpTypes.Serializable: cls = parsed['type'] if cls: header['type'] = format_type_string(cls) return result else: raise ValueError('Invalid Serialization Type') def function(c): if hasattr(c, 'im_func'): return c.im_func return c def list_value(v): if v is None: return [] if not yaqlutils.is_sequence(v): v = [v] return v def weak_proxy(obj): if obj is None or isinstance(obj, weakref.ProxyType): return obj if isinstance(obj, weakref.ReferenceType): obj = obj() return weakref.proxy(obj) def weak_ref(obj): class MuranoObjectWeakRef(weakref.ReferenceType): def __init__(self, murano_object): self.ref = weakref.ref(murano_object) self.object_id = murano_object.object_id def __call__(self): res = self.ref() if not res: object_store = get_object_store() if object_store: res = object_store.get(self.object_id) if res: self.ref = weakref.ref(res) return res if obj is None or isinstance(obj, weakref.ReferenceType): return obj if isinstance(obj, dsl_types.MuranoObject): return MuranoObjectWeakRef(obj) return weakref.ref(obj) def parse_type_string(type_str, default_version, default_package): res = TYPE_RE.match(type_str) if res is None: return None parsed_type = res.group(1) parsed_version = res.group(2) parsed_package = res.group(3) return ( parsed_type, default_version if parsed_version is None else parsed_version, default_package if parsed_package is None else parsed_package ) def format_type_string(type_obj): if isinstance(type_obj, dsl_types.MuranoTypeReference): type_obj = type_obj.type if isinstance(type_obj, dsl_types.MuranoType): return '{0}/{1}@{2}'.format( type_obj.name, type_obj.version, type_obj.package.name) else: raise ValueError('Invalid argument') def patch_dict(dct, path, value): parts = path.split('.') for i in range(len(parts) - 1): if not isinstance(dct, dict): dct = None break dct = dct.get(parts[i]) if isinstance(dct, dict): if value is yaqlutils.NO_VALUE: dct.pop(parts[-1]) else: dct[parts[-1]] = value def format_scalar(value): if isinstance(value, str): return "'{0}'".format(value) return str(value) def is_passkey(value): passkey = get_contract_passkey() return passkey is not None and value is passkey def find_object_owner(obj, predicate): p = obj.owner while p: if predicate(p): return p p = p.owner return None # This function is not intended to be used in the code but is very useful # for debugging object reference leaks def walk_gc(obj, towards, handler): visited = set() queue = collections.deque([(obj, [])]) while queue: item, trace = queue.popleft() if id(item) in visited: continue if handler(item): if towards: yield trace + [item] else: yield [item] + trace visited.add(id(item)) if towards: try: queue.extend( [(t, trace + [item]) for t in gc.get_referrers(item)] ) except StopIteration: return else: try: queue.extend( [(t, [item] + trace) for t in gc.get_referents(item)] ) except StopIteration: return murano-9.0.0/murano/dsl/yaql_functions.py0000664000175000017500000002457713656750211020563 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import eventlet from yaql.language import expressions from yaql.language import specs from yaql.language import utils from yaql.language import yaqltypes from murano.dsl import constants from murano.dsl import dsl from murano.dsl import dsl_types from murano.dsl import helpers from murano.dsl import reflection from murano.dsl import serializer @specs.parameter('object_', dsl.MuranoObjectParameter()) def id_(object_): return object_.id @specs.parameter('object_', dsl.MuranoObjectParameter()) @specs.parameter('type__', dsl.MuranoTypeParameter()) @specs.parameter('version_spec', yaqltypes.String(True)) def cast(context, object_, type__, version_spec=None): return helpers.cast( object_, type__.type.name, version_spec or helpers.get_type(context)) @specs.parameter('__type_name', dsl.MuranoTypeParameter()) @specs.parameter('__extra', utils.MappingType) @specs.parameter('__owner', dsl.MuranoObjectParameter( nullable=True, decorate=False)) @specs.parameter('__object_name', yaqltypes.String(True)) def new(__context, __type_name, __owner=None, __object_name=None, __extra=None, **parameters): data = { __type_name: parameters, 'name': __object_name } for key, value in (__extra or {}).items(): if key.startswith('_'): data[key] = value object_store = helpers.get_object_store() return object_store.load(data, __owner, context=__context, scope_type=helpers.get_names_scope(__context)) @specs.parameter('type_name', dsl.MuranoTypeParameter()) @specs.parameter('parameters', utils.MappingType) @specs.parameter('extra', utils.MappingType) @specs.parameter('owner', dsl.MuranoObjectParameter( nullable=True, decorate=False)) @specs.parameter('object_name', yaqltypes.String(True)) @specs.name('new') def new_from_dict(type_name, context, parameters, owner=None, object_name=None, extra=None): return new(context, type_name, owner, object_name, extra, **utils.filter_parameters_dict(parameters)) @specs.name('new') @specs.parameter('owner', dsl.MuranoObjectParameter( nullable=True, decorate=False)) @specs.parameter('model', utils.MappingType) def new_from_model(context, model, owner=None): object_store = helpers.get_object_store() return object_store.load(model, owner, context=context, scope_type=helpers.get_names_scope(context)) @specs.parameter('object_', dsl.MuranoObjectParameter(decorate=False)) @specs.parameter('func', yaqltypes.Lambda()) def super_(context, object_, func=None): cast_type = helpers.get_type(context) if func is None: return [object_.cast(type) for type in cast_type.parents] return map(func, super_(context, object_)) @specs.parameter('object_', dsl.MuranoObjectParameter(decorate=False)) @specs.parameter('func', yaqltypes.Lambda()) def psuper(context, object_, func=None): if func is None: return super_(context, object_) return helpers.parallel_select(super_(context, object_), func) @specs.extension_method def require(value): if value is None: raise ValueError('Required value is missing') return value @specs.parameter('obj', dsl.MuranoObjectParameter()) @specs.parameter('murano_class_ref', dsl.MuranoTypeParameter()) @specs.extension_method def find(obj, murano_class_ref): return obj.find_owner(murano_class_ref, optional=True) @specs.parameter('seconds', yaqltypes.Number()) def sleep_(seconds): eventlet.sleep(seconds) @specs.parameter('object_', dsl.MuranoObjectParameter(nullable=True)) def type_(object_): return None if object_ is None else object_.type.get_reference() @specs.name('type') @specs.parameter('object_', dsl.MuranoObjectParameter(nullable=True)) def type_legacy(object_): return None if object_ is None else object_.type.name @specs.name('type') @specs.parameter('cls', dsl.MuranoTypeParameter()) def type_from_name(cls): return cls @specs.parameter('object_', dsl.MuranoObjectParameter(nullable=True)) def typeinfo(object_): return None if object_ is None else object_.type @specs.parameter('cls', dsl.MuranoTypeParameter()) @specs.name('typeinfo') def typeinfo_for_class(cls): return cls.type @specs.parameter('object_', dsl.MuranoObjectParameter(nullable=True)) def name(object_): return None if object_ is None else object_.name @specs.parameter('object_', dsl.MuranoObjectParameter()) def metadata(object_): return object_.object.metadata @specs.parameter('obj', dsl.MuranoObjectParameter(decorate=False)) @specs.parameter('property_name', yaqltypes.Keyword()) @specs.name('#operator_.') def obj_attribution(context, obj, property_name): return obj.get_property(property_name, context) @specs.parameter('cls', dsl_types.MuranoTypeReference) @specs.parameter('property_name', yaqltypes.Keyword()) @specs.name('#operator_.') def obj_attribution_static(context, cls, property_name): return helpers.get_executor().get_static_property( cls.type, property_name, context) @specs.parameter('receiver', dsl.MuranoObjectParameter(decorate=False)) @specs.parameter('expr', yaqltypes.Lambda(method=True)) @specs.inject('operator', yaqltypes.Super(with_context=True)) @specs.name('#operator_.') def op_dot(context, receiver, expr, operator): executor = helpers.get_executor() type_context = executor.context_manager.create_type_context(receiver.type) obj_context = executor.context_manager.create_object_context(receiver) ctx2 = helpers.link_contexts( helpers.link_contexts(context, type_context), obj_context) return operator(ctx2, receiver, expr) @specs.parameter('receiver', dsl_types.MuranoTypeReference) @specs.parameter('expr', yaqltypes.Lambda(method=True)) @specs.inject('operator', yaqltypes.Super(with_context=True)) @specs.name('#operator_.') def op_dot_static(context, receiver, expr, operator): executor = helpers.get_executor() type_context = executor.context_manager.create_type_context( receiver.type) ctx2 = helpers.link_contexts(context, type_context) return operator(ctx2, receiver, expr) @specs.parameter('prefix', yaqltypes.Keyword()) @specs.parameter('name', yaqltypes.Keyword()) @specs.name('#operator_:') def ns_resolve(context, prefix, name): return helpers.get_class(prefix + ':' + name, context).get_reference() @specs.parameter('name', yaqltypes.Keyword()) @specs.name('#unary_operator_:') def ns_resolve_unary(context, name): return ns_resolve(context, '', name) @specs.parameter('obj', dsl.MuranoObjectParameter(nullable=True)) @specs.parameter('type_', dsl.MuranoTypeParameter()) @specs.name('#operator_is') def is_instance_of(obj, type_): if obj is None: return False return type_.type.is_compatible(obj) def is_object(value): return isinstance(value, (dsl_types.MuranoObject, dsl_types.MuranoTypeReference)) @specs.name('call') @specs.parameter('name', yaqltypes.String()) @specs.parameter('args', yaqltypes.Sequence()) @specs.parameter('kwargs', utils.MappingType) @specs.inject('op_dot', yaqltypes.Delegate('#operator_.', with_context=True)) @specs.inject('base', yaqltypes.Super(with_context=True)) def call_func(context, op_dot, base, name, args, kwargs, receiver=utils.NO_VALUE): if isinstance(receiver, (dsl_types.MuranoObject, dsl_types.MuranoTypeReference)): kwargs = utils.filter_parameters_dict(kwargs) args += tuple( expressions.MappingRuleExpression(expressions.KeywordConstant(key), value) for key, value in kwargs.items()) function = expressions.Function(name, *args) return op_dot(context, receiver, function) else: return base(context, name, args, kwargs, receiver) @specs.parameter('obj', dsl.MuranoObjectParameter(decorate=False)) @specs.parameter('serialization_type', yaqltypes.String()) @specs.parameter('ignore_upcasts', bool) def dump(obj, serialization_type=dsl_types.DumpTypes.Serializable, ignore_upcasts=True): if serialization_type not in dsl_types.DumpTypes.All: raise ValueError('Invalid Serialization Type') executor = helpers.get_executor() if ignore_upcasts: obj = obj.real_this return serializer.serialize(obj, executor, serialization_type) def register(context, runtime_version): context.register_function(cast) context.register_function(new) context.register_function(new_from_dict) context.register_function(new_from_model) context.register_function(id_) context.register_function(super_) context.register_function(psuper) context.register_function(require) context.register_function(find) context.register_function(sleep_) context.register_function(typeinfo) context.register_function(typeinfo_for_class) context.register_function(name) context.register_function(metadata) context.register_function(obj_attribution) context.register_function(obj_attribution_static) context.register_function(op_dot) context.register_function(op_dot_static) context.register_function(ns_resolve) context.register_function(ns_resolve_unary) reflection.register(context) context.register_function(is_instance_of) if runtime_version <= constants.RUNTIME_VERSION_1_3: context.register_function(type_legacy) else: context.register_function(type_) context.register_function(call_func) if runtime_version <= constants.RUNTIME_VERSION_1_1: context = context.create_child_context() for t in ('id', 'cast', 'super', 'psuper', 'type'): for spec in utils.to_extension_method(t, context): context.register_function(spec) context.register_function(type_from_name) context.register_function(is_object) context.register_function(dump) return context murano-9.0.0/murano/dsl/murano_method.py0000664000175000017500000002556613656750211020365 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import collections import sys import weakref from oslo_log import log as logging from yaql.language import specs from murano.common import utils from murano.dsl import constants from murano.dsl import dsl from murano.dsl import dsl_types from murano.dsl import exceptions from murano.dsl import helpers from murano.dsl import macros from murano.dsl import meta from murano.dsl import typespec from murano.dsl import virtual_exceptions from murano.dsl import yaql_integration LOG = logging.getLogger(__name__) macros.register() virtual_exceptions.register() class MuranoMethod(dsl_types.MuranoMethod, meta.MetaProvider): def __init__(self, declaring_type, name, payload, original_name=None, ephemeral=False): self._name = name original_name = original_name or name self._declaring_type = weakref.ref(declaring_type) self._meta_values = None self_ref = self if ephemeral else weakref.proxy(self) if callable(payload): if isinstance(payload, specs.FunctionDefinition): self._body = payload else: self._body = yaql_integration.get_function_definition( payload, self_ref, original_name) self._arguments_scheme = None self._scope = self._body.meta.get(constants.META_SCOPE) if declaring_type.extension_class and any(( helpers.inspect_is_static( declaring_type.extension_class, original_name), helpers.inspect_is_classmethod( declaring_type.extension_class, original_name))): self._usage = self._body.meta.get( constants.META_USAGE, dsl_types.MethodUsages.Static) if self._usage not in dsl_types.MethodUsages.StaticMethods: raise ValueError( 'Invalid Usage for static method ' + self.name) else: self._usage = (self._body.meta.get(constants.META_USAGE) or dsl_types.MethodUsages.Runtime) if self._usage not in dsl_types.MethodUsages.InstanceMethods: raise ValueError( 'Invalid Usage for instance method ' + self.name) self._resolve_usage_and_scope() if self._scope is None: self._scope = dsl_types.MethodScopes.Session if (self._body.name.startswith('#') or self._body.name.startswith('*')): raise ValueError( 'Import of special yaql functions is forbidden') self._meta = meta.MetaData( self._body.meta.get(constants.META_MPL_META), dsl_types.MetaTargets.Method, declaring_type) else: payload = payload or {} self._body = macros.MethodBlock(payload.get('Body'), name) self._usage = payload.get( 'Usage') or dsl_types.MethodUsages.Runtime self._scope = payload.get('Scope') self._resolve_usage_and_scope() if self._scope is None: self._scope = dsl_types.MethodScopes.Session arguments_scheme = helpers.list_value(payload.get('Arguments')) if isinstance(arguments_scheme, dict): arguments_scheme = [{key: value} for key, value in arguments_scheme.items()] self._arguments_scheme = collections.OrderedDict() seen_varargs = False seen_kwargs = False args_order_error = False for record in arguments_scheme: if not isinstance(record, dict) or len(record) > 1: raise exceptions.DslSyntaxError( 'Invalid arguments declaration') name = list(record.keys())[0] argument = MuranoMethodArgument( self, self.name, name, record[name]) usage = argument.usage if (usage == dsl_types.MethodArgumentUsages.Standard and (seen_kwargs or seen_varargs)): args_order_error = True elif usage == dsl_types.MethodArgumentUsages.VarArgs: if seen_kwargs or seen_varargs: args_order_error = True seen_varargs = True elif usage == dsl_types.MethodArgumentUsages.KwArgs: if seen_kwargs: args_order_error = True seen_kwargs = True if args_order_error: raise exceptions.DslSyntaxError( 'Invalid argument order in method {0}'.format( self.name)) else: self._arguments_scheme[name] = argument self._meta = meta.MetaData( payload.get('Meta'), dsl_types.MetaTargets.Method, declaring_type) self._instance_stub, self._static_stub = \ yaql_integration.build_stub_function_definitions(self_ref) def _resolve_usage_and_scope(self): if self._usage == dsl_types.MethodUsages.Action: runtime_version = self.declaring_type.package.runtime_version if runtime_version > constants.RUNTIME_VERSION_1_3: LOG.warning('"Usage: Action" is deprecated, ' 'use "Scope: Public" instead') if self._scope == dsl_types.MethodScopes.Session: raise ValueError( 'Both "Usage: Action" and "Scope: Session" are ' 'provided for method ' + self.name) self._scope = dsl_types.MethodScopes.Public @property def name(self): return self._name @property def declaring_type(self): return self._declaring_type() @property def arguments_scheme(self): return self._arguments_scheme @property def instance_stub(self): return self._instance_stub @property def static_stub(self): return self._static_stub @property def usage(self): return self._usage @usage.setter def usage(self, value): self._usage = value @property def scope(self): return self._scope @scope.setter def scope(self, value): self._scope = value @property def body(self): return self._body @property def is_static(self): return self.usage in dsl_types.MethodUsages.StaticMethods @property def is_action(self): return (self.scope == dsl_types.MethodScopes.Public or self.usage == dsl_types.MethodUsages.Action) def get_meta(self, context): def meta_producer(cls): method = cls.methods.get(self.name) if method is None: return None return method._meta if self._meta_values is None: executor = helpers.get_executor() context = executor.create_type_context( self.declaring_type, caller_context=context) self._meta_values = meta.merge_providers( self.declaring_type, meta_producer, context) return self._meta_values def __repr__(self): return 'MuranoMethod({0}::{1})'.format( self.declaring_type.name, self.name) def invoke(self, this, args, kwargs, context=None, skip_stub=False): if isinstance(this, dsl.MuranoObjectInterface): this = this.object if this and not self.declaring_type.is_compatible(this): raise Exception("'this' must be of compatible type") if not this and not self.is_static: raise Exception("A class instance is required") if isinstance(this, dsl_types.MuranoObject): this = this.cast(self.declaring_type) else: this = self.declaring_type executor = helpers.get_executor() return executor.invoke_method( self, this, context, args, kwargs, skip_stub) class MuranoMethodArgument(dsl_types.MuranoMethodArgument, typespec.Spec, meta.MetaProvider): def __init__(self, murano_method, method_name, arg_name, declaration): super(MuranoMethodArgument, self).__init__( declaration, murano_method.declaring_type) self._method_name = method_name self._arg_name = arg_name self._murano_method = weakref.ref(murano_method) self._meta = meta.MetaData( declaration.get('Meta'), dsl_types.MetaTargets.Argument, self.murano_method.declaring_type) self._usage = declaration.get('Usage') or \ dsl_types.MethodArgumentUsages.Standard if self._usage not in dsl_types.MethodArgumentUsages.All: raise exceptions.DslSyntaxError( 'Unknown usage {0}. Must be one of ({1})'.format( self._usage, ', '.join(dsl_types.MethodArgumentUsages.All) )) def transform(self, value, this, *args, **kwargs): try: if self.murano_method.usage == dsl_types.MethodUsages.Extension: this = self.murano_method.declaring_type return super(MuranoMethodArgument, self).transform( value, this, *args, **kwargs) except exceptions.ContractViolationException as e: msg = u'[{0}::{1}({2}{3})] {4}'.format( self.murano_method.declaring_type.name, self.murano_method.name, self.name, e.path, str(e)) utils.reraise(exceptions.ContractViolationException, exceptions.ContractViolationException(msg), sys.exc_info()[2]) @property def murano_method(self): return self._murano_method() @property def name(self): return self._arg_name @property def usage(self): return self._usage def get_meta(self, context): executor = helpers.get_executor() context = executor.create_type_context( self.murano_method.declaring_type, caller_context=context) return self._meta.get_meta(context) def __repr__(self): return 'MuranoMethodArgument({method}::{name})'.format( method=self.murano_method.name, name=self.name) murano-9.0.0/murano/dsl/attribute_store.py0000664000175000017500000000463113656750211020731 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import collections from murano.dsl import dsl_types class AttributeStore(object): def __init__(self): self._attributes = collections.defaultdict(lambda: {}) @staticmethod def _get_attribute_key(tagged_object, owner_type, name): if isinstance(owner_type, dsl_types.MuranoTypeReference): owner_type = owner_type.type if isinstance(tagged_object, dsl_types.MuranoObjectInterface): tagged_object = tagged_object.object return tagged_object.object_id, (owner_type.name, name) def get(self, tagged_object, owner_type, name): key1, key2 = self._get_attribute_key(tagged_object, owner_type, name) return self._attributes[key1].get(key2) def set(self, tagged_object, owner_type, name, value): if isinstance(value, dsl_types.MuranoObjectInterface): value = value.id elif isinstance(value, dsl_types.MuranoObject): value = value.object_id key1, key2 = self._get_attribute_key(tagged_object, owner_type, name) if value is None: self._attributes[key1].pop(key2, None) else: self._attributes[key1][key2] = value def serialize(self, known_objects): return [ [key1, key2[0], key2[1], value] for key1, inner in self._attributes.items() for key2, value in inner.items() if key1 in known_objects ] def load(self, data): for item in data: if item[3] is not None: self._attributes[item[0]][(item[1], item[2])] = item[3] def forget_object(self, obj): if isinstance(obj, dsl_types.MuranoObjectInterface): obj = obj.id elif isinstance(obj, dsl_types.MuranoObject): obj = obj.object_id self._attributes.pop(obj, None) murano-9.0.0/murano/dsl/lhs_expression.py0000664000175000017500000001563513656750211020565 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import itertools from yaql.language import specs from yaql.language import utils from yaql.language import yaqltypes from murano.dsl import constants from murano.dsl import dsl from murano.dsl import dsl_types from murano.dsl import exceptions from murano.dsl import helpers from murano.dsl import yaql_functions from murano.dsl import yaql_integration def _prepare_context(): @specs.parameter('name', yaqltypes.StringConstant()) def get_context_data(context, name): root_context = context['#root_context'] def set_data(value): if not name or name == '$' or name == '$this': raise ValueError('Cannot assign to {0}'.format(name)) ctx = root_context while constants.CTX_VARIABLE_SCOPE not in ctx: ctx = ctx.parent ctx[name] = value return _Property(lambda: root_context[name], set_data) @specs.parameter('this', _Property) @specs.parameter('key', yaqltypes.Keyword()) def attribution(context, this, key): def setter(src_property, value): src = src_property.get() if isinstance(src, utils.MappingType): src_property.set( utils.FrozenDict( itertools.chain( src.items(), ((key, value),)))) elif isinstance(src, dsl_types.MuranoObject): src.set_property(key, value, context['#root_context']) elif isinstance(src, ( dsl_types.MuranoTypeReference, dsl_types.MuranoType)): if isinstance(src, dsl_types.MuranoTypeReference): mc = src.type else: mc = src helpers.get_executor().set_static_property( mc, key, value, context['#root_context']) else: raise ValueError( 'attribution may only be applied to ' 'objects and dictionaries') def getter(src): if isinstance(src, utils.MappingType): return src.get(key, {}) elif isinstance(src, dsl_types.MuranoObject): try: return src.get_property(key, context['#root_context']) except exceptions.UninitializedPropertyAccessError: return {} elif isinstance(src, ( dsl_types.MuranoTypeReference, dsl_types.MuranoType)): if isinstance(src, dsl_types.MuranoTypeReference): mc = src.type else: mc = src return helpers.get_executor().get_static_property( mc, key, context['#root_context']) else: raise ValueError( 'attribution may only be applied to ' 'objects and dictionaries') return _Property( lambda: getter(this.get()), lambda value: setter(this, value)) @specs.parameter('this', _Property) @specs.parameter('index', yaqltypes.Lambda(with_context=True)) def indexation(context, this, index): index = index(context['#root_context']) def getter(src): if utils.is_sequence(src): return src[index] else: raise ValueError('indexation may only be applied to lists') def setter(src_property, value): src = src_property.get() if utils.is_sequence(src): src_property.set(src[:index] + (value,) + src[index + 1:]) elif isinstance(src, utils.MappingType): attribution(context, src_property, index).set(value) if isinstance(index, int): return _Property( lambda: getter(this.get()), lambda value: setter(this, value)) else: return attribution(context, this, index) def _wrap_type_reference(tr, context): return _Property( lambda: tr, context['#self']._invalid_target) @specs.parameter('prefix', yaqltypes.Keyword()) @specs.parameter('name', yaqltypes.Keyword()) @specs.name('#operator_:') def ns_resolve(context, prefix, name): return _wrap_type_reference( yaql_functions.ns_resolve(context, prefix, name), context) @specs.parameter('name', yaqltypes.Keyword()) @specs.name('#unary_operator_:') def ns_resolve_unary(context, name): return _wrap_type_reference( yaql_functions.ns_resolve_unary(context, name), context) @specs.parameter('object_', dsl_types.MuranoObject) def type_(context, object_): return _wrap_type_reference(yaql_functions.type_(object_), context) @specs.name('type') @specs.parameter('cls', dsl.MuranoTypeParameter()) def type_from_name(context, cls): return _wrap_type_reference(cls, context) res_context = yaql_integration.create_empty_context() res_context.register_function(get_context_data, '#get_context_data') res_context.register_function(attribution, '#operator_.') res_context.register_function(indexation, '#indexer') res_context.register_function(ns_resolve) res_context.register_function(ns_resolve_unary) res_context.register_function(type_) res_context.register_function(type_from_name) return res_context class _Property(object): def __init__(self, getter, setter): self._getter = getter self._setter = setter def get(self): return self._getter() def set(self, value): self._setter(value) class LhsExpression(object): lhs_context = _prepare_context() def __init__(self, expression): self._expression = expression def _invalid_target(self, *args, **kwargs): raise exceptions.InvalidLhsTargetError(self._expression) def __call__(self, value, context): new_context = LhsExpression.lhs_context.create_child_context() new_context[''] = context['$'] new_context['#root_context'] = context new_context['#self'] = self for name in (constants.CTX_NAMES_SCOPE,): new_context[name] = context[name] prop = self._expression(context=new_context) if not isinstance(prop, _Property): self._invalid_target() prop.set(value) murano-9.0.0/murano/dsl/dsl_exception.py0000664000175000017500000000540413656750211020351 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sys from murano.dsl.principal_objects import stack_trace class MuranoPlException(Exception): def __init__(self, names, message, stacktrace, extra=None, cause=None): super(MuranoPlException, self).__init__( u'[{0}]: {1}'.format(', '.join(names), message)) if not isinstance(names, list): names = [names] self._names = names self._message = message self._stacktrace = stacktrace self._extra = extra or {} self._cause = cause @property def names(self): return self._names @property def message(self): return self._message @property def stacktrace(self): return self._stacktrace @property def extra(self): return self._extra @property def cause(self): return self._cause @staticmethod def from_python_exception(exception, context): stacktrace = stack_trace.create_stack_trace(context) exception_type = type(exception) builtins_module = 'builtins' module = exception_type.__module__ if module == builtins_module: names = [exception_type.__name__] else: names = ['{0}.{1}'.format(exception_type.__module__, exception_type.__name__)] result = MuranoPlException( names, str(exception), stacktrace) _, _, exc_traceback = sys.exc_info() result.original_exception = exception result.original_traceback = exc_traceback return result def _format_name(self): if not self._names: return '' elif len(self._names) == 1: return self._names[0] else: return self._names def format(self, prefix=''): text = ('{3}{0}: {1}\n' '{3}Traceback (most recent call last):\n' '{2}').format( self._format_name(), self.message, self.stacktrace().toString(prefix + ' '), prefix) if self._cause is not None: text += '\n\n{0} Caused by {1}'.format( prefix, self._cause.format(prefix + ' ').lstrip()) return text murano-9.0.0/murano/dsl/dsl.py0000664000175000017500000003057213656750211016277 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import inspect import os.path import eventlet from oslo_config import cfg from yaql.language import expressions as yaql_expressions from yaql.language import specs from yaql.language import utils from yaql.language import yaqltypes from yaql import yaql_interface from murano.dsl import constants from murano.dsl import dsl_types from murano.dsl import helpers CONF = cfg.CONF NO_VALUE = utils.create_marker('NO_VALUE') def name(dsl_name): def wrapper(cls): cls.__murano_name = dsl_name return cls return wrapper class MuranoObjectParameter(yaqltypes.PythonType): def __init__(self, murano_class=None, nullable=False, version_spec=None, decorate=True): self.murano_class = murano_class self.version_spec = version_spec self.decorate = decorate super(MuranoObjectParameter, self).__init__( (dsl_types.MuranoObject, MuranoObjectInterface), nullable) def check(self, value, context, *args, **kwargs): if not super(MuranoObjectParameter, self).check( value, context, *args, **kwargs): return False if value is None or isinstance(value, yaql_expressions.Expression): return True if isinstance(value, MuranoObjectInterface): value = value.object if not isinstance(value, dsl_types.MuranoObject): return False if self.murano_class: murano_class = self.murano_class if isinstance(murano_class, str): return helpers.is_instance_of( value, murano_class, self.version_spec or helpers.get_type(context)) else: return murano_class.is_compatible(value) else: return True def convert(self, value, sender, context, function_spec, engine, *args, **kwargs): result = super(MuranoObjectParameter, self).convert( value, sender, context, function_spec, engine, *args, **kwargs) if self.decorate: return MuranoObjectInterface.create(result) else: if isinstance(result, dsl_types.MuranoObject): return result return None if result is None else result.object class ThisParameter(yaqltypes.HiddenParameterType, yaqltypes.SmartType): def __init__(self): super(ThisParameter, self).__init__(False) def convert(self, value, sender, context, function_spec, engine, *args, **kwargs): return get_this(context) class InterfacesParameter(yaqltypes.HiddenParameterType, yaqltypes.SmartType): def __init__(self): super(InterfacesParameter, self).__init__(False) def convert(self, value, sender, context, function_spec, engine, *args, **kwargs): this = helpers.get_this(context) return Interfaces(this) class MuranoTypeParameter(yaqltypes.PythonType): def __init__(self, base_type=None, nullable=False, context=None, resolve_strings=True, lazy=False): self._context = context self._base_type = base_type self._resolve_strings = resolve_strings self._lazy = lazy super(MuranoTypeParameter, self).__init__( (dsl_types.MuranoTypeReference, str), nullable) def check(self, value, context, *args, **kwargs): if not super(MuranoTypeParameter, self).check( value, context, *args, **kwargs): return False if isinstance(value, str): if not self._resolve_strings: return False value = helpers.get_class(value, context).get_reference() if isinstance(value, dsl_types.MuranoTypeReference): if not self._base_type: return True return self._base_type.is_compatible(value) return True def convert(self, value, sender, context, function_spec, engine, *args, **kwargs): def implementation(ctx=None): value2 = value if ctx is None: ctx = self._context or context if isinstance(value2, yaql_expressions.Expression): value2 = value2(utils.NO_VALUE, ctx, engine) value2 = super(MuranoTypeParameter, self).convert( value2, sender, ctx, function_spec, engine) if isinstance(value2, str): value2 = helpers.get_class(value2, ctx).get_reference() if self._base_type and not self._base_type.is_compatible(value): raise ValueError('Value must be subtype of {0}'.format( self._base_type.name )) return value2 if self._lazy: return implementation return implementation() class MuranoObjectInterface(dsl_types.MuranoObjectInterface): class DataInterface(object): def __init__(self, object_interface): object.__setattr__(self, '__object_interface', object_interface) def __getattr__(self, item): oi = getattr(self, '__object_interface') return oi[item] def __setattr__(self, key, value): oi = getattr(self, '__object_interface') oi[key] = value class CallInterface(object): def __init__(self, object_interface): self.__object_interface = object_interface def __getattr__(self, item): def func(*args, **kwargs): self._insert_instruction() with helpers.with_object_store( self.__object_interface._object_store): context = helpers.get_context() obj = self.__object_interface.object return to_mutable(obj.type.invoke( item, obj, args, kwargs, context), helpers.get_yaql_engine(context)) return func @staticmethod def _insert_instruction(): context = helpers.get_context() if context: frame = inspect.stack()[2] location = dsl_types.ExpressionFilePosition( os.path.abspath(frame[1]), frame[2], -1, frame[2], -1) context[constants.CTX_CURRENT_INSTRUCTION] = NativeInstruction( frame[4][0].strip(), location) def __init__(self, mpl_object): self._object = mpl_object self._object_store = helpers.get_object_store() @staticmethod def create(mpl_object): if mpl_object is None or isinstance(mpl_object, MuranoObjectInterface): return mpl_object return MuranoObjectInterface(mpl_object) @property def object(self): return self._object @property def id(self): return self.object.object_id @property def owner(self): owner = self.object.owner return MuranoObjectInterface.create(owner) def find_owner(self, type, optional=False): if isinstance(type, str): type = helpers.get_class(type) elif isinstance(type, dsl_types.MuranoTypeReference): type = type.type owner = helpers.find_object_owner( self.object, lambda t: type.is_compatible(t)) if owner: return MuranoObjectInterface(owner) if not optional: raise ValueError('Object is not owned by any instance of type ' '{0}'.format(type.name)) return None @property def type(self): return self.object.type @property def package(self): return self.type.package @property def properties(self): return MuranoObjectInterface.DataInterface(self) @property def name(self): return self.object.name @property def extension(self): return self.object.extension def cast(self, murano_class, version_spec=None): return MuranoObjectInterface.create( helpers.cast( self.object, murano_class, version_spec or helpers.get_type())) def is_instance_of(self, murano_class, version_spec=None): return helpers.is_instance_of( self.object, murano_class, version_spec or helpers.get_type()) def ancestors(self): return self.type.ancestors() def __getitem__(self, item): context = helpers.get_context() return to_mutable( self.object.get_property(item, context), helpers.get_yaql_engine(context)) def __setitem__(self, key, value): context = helpers.get_context() value = helpers.evaluate(value, context) self.object.set_property(key, value, context) def __call__(self): return MuranoObjectInterface.CallInterface(self) def __repr__(self): return '<{0}>'.format(repr(self.object)) def __eq__(self, other): if isinstance(other, MuranoObjectInterface): return self.object == other.object else: return False def __ne__(self, other): return not (self == other) def __hash__(self): return hash(self.object) class Interfaces(object): def __init__(self, mpl_object): self.__object = mpl_object def yaql(self, receiver=utils.NO_VALUE): return yaql_interface.YaqlInterface( helpers.get_context(), helpers.get_yaql_engine(), receiver) def this(self): return self.methods(self.__object) def methods(self, mpl_object): return MuranoObjectInterface.create(mpl_object) @property def execution_session(self): return helpers.get_execution_session() @property def caller(self): caller_context = helpers.get_caller_context() if caller_context is None: return None return get_this(caller_context) @property def attributes(self): executor = helpers.get_executor() return executor.attribute_store @property def class_config(self): return self.__object.type.package.get_class_config( self.__object.type.name) @property def package_loader(self): return helpers.get_package_loader() class NativeInstruction(object): def __init__(self, instruction, location): self.instruction = instruction self.source_file_position = location def __str__(self): return self.instruction def to_mutable(obj, yaql_engine=None): if yaql_engine is None: yaql_engine = helpers.get_yaql_engine() def converter(value, limit_func, engine, rec): if isinstance(value, dsl_types.MuranoObject): return MuranoObjectInterface.create(value) else: return utils.convert_output_data(value, limit_func, engine, rec) def limiter(it): return utils.limit_iterable(it, CONF.murano.dsl_iterators_limit) return converter(obj, limiter, yaql_engine, converter) def meta(type_name, value): def wrapper(func): fd = specs.get_function_definition(func) mpl_meta = fd.meta.get(constants.META_MPL_META, []) mpl_meta.append({type_name: value}) specs.meta(type_name, mpl_meta)(func) return wrapper def get_this(context=None): this = helpers.get_this(context) return MuranoObjectInterface.create(this) def get_execution_session(): return helpers.get_execution_session() def spawn(func, *args, **kwargs): context = helpers.get_context() object_store = helpers.get_object_store() def wrapper(): with helpers.with_object_store(object_store): with helpers.contextual(context): return func(*args, **kwargs) return eventlet.spawn(wrapper) def new(properties, owner=None, type=None): context = helpers.get_context() return helpers.get_object_store().load( properties, owner, type or get_this(context).type, context=context) murano-9.0.0/murano/dsl/dsl_types.py0000664000175000017500000000700213656750211017513 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import weakref class ClassUsages(object): Class = 'Class' Meta = 'Meta' All = {Class, Meta} class MetaCardinality(object): One = 'One' Many = 'Many' All = {One, Many} class MetaTargets(object): Package = 'Package' Type = 'Type' Property = 'Property' Method = 'Method' Argument = 'Argument' All = {Package, Type, Property, Method, Argument} class PropertyUsages(object): In = 'In' Out = 'Out' InOut = 'InOut' Runtime = 'Runtime' Const = 'Const' Config = 'Config' Static = 'Static' All = {In, Out, InOut, Runtime, Const, Config, Static} Writable = {Out, InOut, Runtime, Static, Config} class MethodUsages(object): Action = 'Action' Runtime = 'Runtime' Static = 'Static' Extension = 'Extension' All = {Action, Runtime, Static, Extension} InstanceMethods = {Runtime, Action} StaticMethods = {Static, Extension} class MethodScopes(object): Session = 'Session' Public = 'Public' All = {Session, Public} class MethodArgumentUsages(object): Standard = 'Standard' VarArgs = 'VarArgs' KwArgs = 'KwArgs' All = {Standard, VarArgs, KwArgs} class DumpTypes(object): Serializable = 'Serializable' Inline = 'Inline' Mixed = 'Mixed' All = {Serializable, Inline, Mixed} class MuranoType(object): pass class MuranoClass(MuranoType): pass class MuranoMetaClass(MuranoClass): pass class MuranoObject(object): pass class MuranoMethod(object): pass class MuranoMethodArgument(object): pass class MuranoPackage(object): pass class MuranoProperty(object): pass class MuranoTypeReference(object): def __init__(self, murano_type): self.__murano_type = weakref.ref(murano_type) @property def type(self): return self.__murano_type() def __repr__(self): return '*' + repr(self.type) def __eq__(self, other): if not isinstance(other, MuranoTypeReference): return False return self.type == other.type def __ne__(self, other): return not self.__eq__(other) def __hash__(self): return hash(self.type) class YaqlExpression(object): pass class MuranoObjectInterface(object): pass class ExpressionFilePosition(object): def __init__(self, file_path, start_line, start_column, end_line, end_column): self._file_path = file_path self._start_line = start_line self._start_column = start_column self._end_line = end_line self._end_column = end_column @property def file_path(self): return self._file_path @property def start_line(self): return self._start_line @property def start_column(self): return self._start_column @property def end_line(self): return self._end_line @property def end_column(self): return self._end_column murano-9.0.0/murano/dsl/executor.py0000664000175000017500000004626613656750211017362 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import contextlib import itertools import traceback import eventlet import eventlet.event from oslo_log import log as logging from yaql.language import exceptions as yaql_exceptions from yaql.language import specs from yaql.language import utils from murano.dsl import attribute_store from murano.dsl import constants from murano.dsl import dsl from murano.dsl import dsl_exception from murano.dsl import dsl_types from murano.dsl import exceptions as dsl_exceptions from murano.dsl import helpers from murano.dsl import object_store from murano.dsl.principal_objects import stack_trace from murano.dsl import serializer from murano.dsl import yaql_integration LOG = logging.getLogger(__name__) class MuranoDslExecutor(object): def __init__(self, package_loader, context_manager, session=None): self._package_loader = package_loader self._context_manager = context_manager self._session = session self._attribute_store = attribute_store.AttributeStore() self._object_store = object_store.ObjectStore(self) self._locks = {} self._root_context_cache = {} self._static_properties = {} @property def object_store(self): return self._object_store @property def execution_session(self): return self._session @property def attribute_store(self): return self._attribute_store @property def package_loader(self): return self._package_loader @property def context_manager(self): return self._context_manager def invoke_method(self, method, this, context, args, kwargs, skip_stub=False, invoke_action=True): if isinstance(this, dsl.MuranoObjectInterface): this = this.object kwargs = utils.filter_parameters_dict(kwargs) runtime_version = method.declaring_type.package.runtime_version yaql_engine = yaql_integration.choose_yaql_engine(runtime_version) if context is None or not skip_stub: actions_only = (context is None and not method.name.startswith('.') and invoke_action) method_context = self.create_method_context( self.create_object_context(this, context), method) method_context[constants.CTX_SKIP_FRAME] = True method_context[constants.CTX_ACTIONS_ONLY] = actions_only stub = method.static_stub if isinstance( this, dsl_types.MuranoType) else method.instance_stub if stub is None: raise ValueError( 'Method {0} cannot be called on receiver {1}'.format( method, this)) real_this = this.real_this if isinstance( this, dsl_types.MuranoObject) else this.get_reference() return stub(yaql_engine, method_context, real_this)( *args, **kwargs) if context[constants.CTX_ACTIONS_ONLY] and not method.is_action: raise dsl_exceptions.MethodNotExposed( '{0} is not an action'.format(method.name)) if method.is_static: obj_context = self.create_object_context( method.declaring_type, context) else: obj_context = self.create_object_context(this, context) context = self.create_method_context(obj_context, method) if isinstance(this, dsl_types.MuranoObject): if this.destroyed: raise dsl_exceptions.ObjectDestroyedError(this) this = this.real_this if method.arguments_scheme is not None: args, kwargs = self._canonize_parameters( method.arguments_scheme, args, kwargs, method.name, this) this_lock = this arg_values_for_lock = {} method_meta = [m for m in method.get_meta(context) if m.type.name == ('io.murano.metadata.' 'engine.Synchronize')] if method_meta: method_meta = method_meta[0] if method_meta: if not method_meta.get_property('onThis', context): this_lock = None for arg_name in method_meta.get_property('onArgs', context): arg_val = kwargs.get(arg_name) if arg_val is not None: arg_values_for_lock[arg_name] = arg_val arg_values_for_lock = utils.filter_parameters_dict(arg_values_for_lock) with self._acquire_method_lock(method, this_lock, arg_values_for_lock): for i, arg in enumerate(args, 2): context[str(i)] = arg for key, value in kwargs.items(): context[key] = value def call(): if isinstance(method.body, specs.FunctionDefinition): if isinstance(this, dsl_types.MuranoType): native_this = this.get_reference() else: native_this = dsl.MuranoObjectInterface(this.cast( method.declaring_type)) return method.body( yaql_engine, context, native_this)(*args, **kwargs) else: context[constants.CTX_NAMES_SCOPE] = \ method.declaring_type return (None if method.body is None else method.body.execute(context)) if (not isinstance(method.body, specs.FunctionDefinition) or not method.body.meta.get(constants.META_NO_TRACE)): with self._log_method(context, args, kwargs) as log: result = call() log(result) return result else: return call() @contextlib.contextmanager def _acquire_method_lock(self, method, this, arg_val_dict): if this is None: if not arg_val_dict: # if neither "this" nor argument values are set then no # locking is needed key = None else: # if only the argument values are passed then find the lock # list only by the method key = (None, id(method)) else: if method.is_static: # find the lock list by the type and method key = (id(method.declaring_type), id(method)) else: # find the lock list by the object and method key = (this.object_id, id(method)) thread_id = helpers.get_current_thread_id() while True: event, event_owner = None, None if key is None: # no locking needed break lock_list = self._locks.setdefault(key, []) # lock list contains a list of tuples: # first item of each tuple is a dict with the values of locking # arguments (it is used for argument values comparison), # second item is an event to wait on, # third one is the owner thread id # If this lock list is empty it means no locks on this object and # method at all. for arg_vals, l_event, l_event_owner in lock_list: if arg_vals == arg_val_dict: event = l_event event_owner = l_event_owner break if event: if event_owner == thread_id: # this means a re-entrant lock: the tuple with the same # value of the first element exists in the list, but it was # acquired by the same green thread. We may proceed with # the call in this case event = None break else: event.wait() else: # this means either the lock list was empty or didn't contain a # tuple with the first element equal to arg_val_dict. # Then let's acquire a lock, i.e. create a new tuple and place # it into the list event = eventlet.event.Event() event_owner = thread_id lock_list.append((arg_val_dict, event, event_owner)) break try: yield finally: if event is not None: lock_list.remove((arg_val_dict, event, event_owner)) if len(lock_list) == 0: del self._locks[key] event.send() @contextlib.contextmanager def _log_method(self, context, args, kwargs): method = helpers.get_current_method(context) param_gen = itertools.chain( (str(arg) for arg in args), (u'{0} => {1}'.format(name, value) for name, value in kwargs.items())) params_str = u', '.join(param_gen) method_name = '::'.join((method.declaring_type.name, method.name)) thread_id = helpers.get_current_thread_id() caller_str = '' caller_ctx = helpers.get_caller_context(context) if caller_ctx is not None: frame = stack_trace.compose_stack_frame(caller_ctx) if frame['location']: caller_str = ' called from ' + stack_trace.format_frame(frame) LOG.trace(u'{thread}: Begin execution {method}({params}){caller}' .format(thread=thread_id, method=method_name, params=params_str, caller=caller_str)) try: def log_result(result): LOG.trace( u'{thread}: End execution {method} with result ' u'{result}'.format( thread=thread_id, method=method_name, result=result)) yield log_result except Exception as e: LOG.trace( u'{thread}: End execution {method} with exception ' u'{exc}'.format(thread=thread_id, method=method_name, exc=e)) raise @staticmethod def _canonize_parameters(arguments_scheme, args, kwargs, method_name, receiver): arg_names = list(arguments_scheme.keys()) parameter_values = {} varargs_arg = None vararg_values = [] kwargs_arg = None kwarg_values = {} for name, definition in arguments_scheme.items(): if definition.usage == dsl_types.MethodArgumentUsages.VarArgs: varargs_arg = name parameter_values[name] = vararg_values elif definition.usage == dsl_types.MethodArgumentUsages.KwArgs: kwargs_arg = name parameter_values[name] = kwarg_values for i, arg in enumerate(args): name = None if i >= len(arg_names) else arg_names[i] if name is None or name in (varargs_arg, kwargs_arg): if varargs_arg: vararg_values.append(arg) else: raise yaql_exceptions.NoMatchingMethodException( method_name, receiver) else: parameter_values[name] = arg for name, value in utils.filter_parameters_dict(kwargs).items(): if name in arguments_scheme and name not in ( varargs_arg, kwargs_arg): parameter_values[name] = value elif kwargs_arg: kwarg_values[name] = value else: raise yaql_exceptions.NoMatchingMethodException( method_name, receiver) return tuple(), parameter_values def load(self, data): with helpers.with_object_store(self.object_store): return self._load(data) def _load(self, data): if not isinstance(data, dict): raise TypeError() self._attribute_store.load(data.get(constants.DM_ATTRIBUTES) or []) model = data.get(constants.DM_OBJECTS) if model is None: result = None else: result = self._object_store.load(model, None, keep_ids=True) model_copy = data.get(constants.DM_OBJECTS_COPY) if model_copy: self._object_store.load(model_copy, None, keep_ids=True) return dsl.MuranoObjectInterface.create(result) def signal_destruction_dependencies(self, *objects): if not objects: return elif len(objects) > 1: return helpers.parallel_select( objects, self.signal_destruction_dependencies) obj = objects[0] if obj.destroyed: return for dependency in obj.destruction_dependencies: try: handler = dependency['handler'] if handler: subscriber = dependency['subscriber'] if subscriber: subscriber = subscriber() if (subscriber and subscriber.initialized and not subscriber.destroyed): method = subscriber.type.find_single_method(handler) self.invoke_method( method, subscriber, None, [obj], {}, invoke_action=False) except Exception as e: LOG.warning('Muted exception during destruction dependency ' 'execution in {0}: {1}'.format(obj, e), exc_info=True) obj.load_dependencies(None) def destroy_objects(self, *objects): if not objects: return elif len(objects) > 1: return helpers.parallel_select( objects, self.destroy_objects) obj = objects[0] if obj.destroyed: return methods = obj.type.find_methods(lambda m: m.name == '.destroy') for method in methods: try: method.invoke(obj, (), {}, None) except Exception as e: if isinstance(e, dsl_exception.MuranoPlException): tb = e.format(prefix=' ') else: tb = traceback.format_exc() LOG.warning( 'Muted exception during execution of .destroy ' 'on {0}: {1}'.format(obj, tb), exc_info=True) def create_root_context(self, runtime_version): context = self._root_context_cache.get(runtime_version) if not context: context = self.context_manager.create_root_context(runtime_version) self._root_context_cache[runtime_version] = context return context def create_package_context(self, package): root_context = self.create_root_context(package.runtime_version) context = helpers.link_contexts( root_context, self.context_manager.create_package_context(package)) return context def create_type_context(self, murano_type, caller_context=None): package_context = self.create_package_context( murano_type.package) context = helpers.link_contexts( package_context, self.context_manager.create_type_context( murano_type)).create_child_context() context[constants.CTX_TYPE] = murano_type if caller_context: context[constants.CTX_NAMES_SCOPE] = caller_context[ constants.CTX_NAMES_SCOPE] return context def create_object_context(self, obj, caller_context=None): if isinstance(obj, dsl_types.MuranoClass): obj_type = obj obj = None else: obj_type = obj.type class_context = self.create_type_context(obj_type) if obj is not None: context = helpers.link_contexts( class_context, self.context_manager.create_object_context( obj)).create_child_context() context[constants.CTX_THIS] = obj.real_this context['this'] = obj.real_this context[''] = obj.real_this else: context = class_context.create_child_context() type_ref = obj_type.get_reference() context[constants.CTX_THIS] = type_ref context['this'] = type_ref context[''] = type_ref if caller_context is not None: caller = caller_context while caller is not None and caller[constants.CTX_SKIP_FRAME]: caller = caller[constants.CTX_CALLER_CONTEXT] context[constants.CTX_NAMES_SCOPE] = caller_context[ constants.CTX_NAMES_SCOPE] context[constants.CTX_CALLER_CONTEXT] = caller context[constants.CTX_ALLOW_PROPERTY_WRITES] = caller_context[ constants.CTX_ALLOW_PROPERTY_WRITES] else: context[constants.CTX_NAMES_SCOPE] = obj_type return context @staticmethod def create_method_context(object_context, method): context = object_context.create_child_context() context[constants.CTX_CURRENT_METHOD] = method return context def run(self, cls, method_name, this, args, kwargs): with helpers.with_object_store(self.object_store): return cls.invoke(method_name, this, args, kwargs) def get_static_property(self, murano_type, name, context): prop = murano_type.find_static_property(name) cls = prop.declaring_type value = self._static_properties.get(prop, prop.default) return prop.transform(value, cls, None, context) def set_static_property(self, murano_type, name, value, context, dry_run=False): prop = murano_type.find_static_property(name) cls = prop.declaring_type value = prop.transform(value, cls, None, context) if not dry_run: self._static_properties[prop] = prop.finalize( value, cls, context) def finalize(self, model_root=None): # NOTE(ksnihyr): should be no-except try: if model_root: used_objects = serializer.collect_objects(model_root) self.object_store.prepare_finalize(used_objects) model = serializer.serialize_model(model_root, self) self.object_store.finalize() else: model = None self.object_store.prepare_finalize(None) self.object_store.finalize() self._static_properties.clear() return model except Exception as e: LOG.exception( "Exception %s occurred" " during MuranoDslExecutor finalization", e) return None def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): self.finalize() murano-9.0.0/murano/dsl/namespace_resolver.py0000664000175000017500000000444313656750211021370 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import re TYPE_NAME_RE = re.compile(r'^([a-zA-Z_]\w*:|:)?[a-zA-Z_]\w*(\.[a-zA-Z_]\w*)*$') NS_RE = re.compile(r'^([a-zA-Z_]\w*(\.[a-zA-Z_]\w*)*)?$') PREFIX_RE = re.compile(r'^([a-zA-Z_]\w*|=)$') class NamespaceResolver(object): def __init__(self, namespaces): if namespaces is None: namespaces = {} for prefix, ns in namespaces.items(): if ns is None: ns = '' if PREFIX_RE.match(prefix) is None: raise ValueError( 'Invalid namespace prefix "{0}"'.format(prefix)) if NS_RE.match(ns) is None: raise ValueError('Invalid namespace "{0}"'.format(ns)) self._namespaces = namespaces.copy() self._namespaces.setdefault('=', '') self._namespaces[''] = '' def resolve_name(self, name): if not self.is_typename(name, True): raise ValueError('Invalid type name "{0}"'.format(name)) name = str(name) if ':' not in name: if '.' in name: parts = ['', name] else: parts = ['=', name] else: parts = name.split(':') if not parts[0]: parts[0] = '=' if parts[0] not in self._namespaces: raise KeyError('Unknown namespace prefix ' + parts[0]) ns = self._namespaces[parts[0]] if not ns: return parts[1] return '.'.join((ns, parts[1])) @staticmethod def is_typename(name, relaxed): if not name: return False name = str(name) if not relaxed and ':' not in name: return False return TYPE_NAME_RE.match(name) is not None murano-9.0.0/murano/dsl/yaql_integration.py0000664000175000017500000003625113656750211021066 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import weakref from oslo_config import cfg import yaql from yaql.language import contexts from yaql.language import conventions from yaql.language import factory from yaql.language import specs from yaql.language import utils from yaql.language import yaqltypes from yaql import legacy from murano.dsl import constants from murano.dsl import dsl from murano.dsl import dsl_types from murano.dsl import helpers from murano.dsl import yaql_functions CONF = cfg.CONF ENGINE_10_OPTIONS = { 'yaql.limitIterators': CONF.murano.dsl_iterators_limit, 'yaql.memoryQuota': constants.EXPRESSION_MEMORY_QUOTA, 'yaql.convertSetsToLists': True, 'yaql.convertTuplesToLists': True, 'yaql.iterableDicts': True } ENGINE_12_OPTIONS = { 'yaql.limitIterators': CONF.murano.dsl_iterators_limit, 'yaql.memoryQuota': constants.EXPRESSION_MEMORY_QUOTA, 'yaql.convertSetsToLists': True, 'yaql.convertTuplesToLists': True } def _add_operators(engine_factory): engine_factory.insert_operator( '>', True, 'is', factory.OperatorType.BINARY_LEFT_ASSOCIATIVE, False) engine_factory.insert_operator( None, True, ':', factory.OperatorType.BINARY_LEFT_ASSOCIATIVE, True) engine_factory.insert_operator( ':', True, ':', factory.OperatorType.PREFIX_UNARY, False) engine_factory.operators.insert(0, ()) def _create_engine(runtime_version): engine_factory = factory.YaqlFactory() _add_operators(engine_factory=engine_factory) options = (ENGINE_10_OPTIONS if runtime_version <= constants.RUNTIME_VERSION_1_1 else ENGINE_12_OPTIONS) return engine_factory.create(options=options) @specs.name('#finalize') def _finalize(obj, context): return helpers.evaluate(obj, context) CONVENTION = conventions.CamelCaseConvention() ENGINE_10 = _create_engine(constants.RUNTIME_VERSION_1_0) ENGINE_12 = _create_engine(constants.RUNTIME_VERSION_1_2) ROOT_CONTEXT_10 = legacy.create_context( convention=CONVENTION, finalizer=_finalize) ROOT_CONTEXT_12 = yaql.create_context( convention=CONVENTION, finalizer=_finalize) class ContractedValue(yaqltypes.GenericType): def __init__(self, value_spec, with_check=False): def converter(value, receiver, context, *args, **kwargs): if isinstance(receiver, dsl_types.MuranoObject): this = receiver.real_this else: this = receiver return value_spec.transform( value, this, context[constants.CTX_ARGUMENT_OWNER], context) def checker(value, context, *args, **kwargs): return value_spec.check_type(value, context) super(ContractedValue, self).__init__( True, checker if with_check else None, converter) def convert(self, value, *args, **kwargs): if value is None: return self.converter(value, *args, **kwargs) return super(ContractedValue, self).convert(value, *args, **kwargs) def create_empty_context(): context = contexts.Context(convention=CONVENTION) context.register_function(_finalize) return context @helpers.memoize def create_context(runtime_version): if runtime_version <= constants.RUNTIME_VERSION_1_1: context = ROOT_CONTEXT_10.create_child_context() else: context = ROOT_CONTEXT_12.create_child_context() context[constants.CTX_YAQL_ENGINE] = choose_yaql_engine(runtime_version) return yaql_functions.register(context, runtime_version) def choose_yaql_engine(runtime_version): return (ENGINE_10 if runtime_version <= constants.RUNTIME_VERSION_1_1 else ENGINE_12) def parse(expression, runtime_version): return choose_yaql_engine(runtime_version)(expression) def call_func(__context, __name, *args, **kwargs): engine = __context[constants.CTX_YAQL_ENGINE] return __context(__name, engine)( *args, **{CONVENTION.convert_parameter_name(key): value for key, value in kwargs.items()}) def _infer_parameter_type(name, class_name): if name == 'context': return yaqltypes.Context() if name == 'this': return dsl.ThisParameter() if name == 'interfaces': return dsl.InterfacesParameter() if name == 'yaql_engine': return yaqltypes.Engine() if name.startswith('__'): return _infer_parameter_type(name[2:], class_name) if class_name and name.startswith('_{0}__'.format(class_name)): return _infer_parameter_type(name[3 + len(class_name):], class_name) def get_function_definition(func, murano_method, original_name): cls = murano_method.declaring_type.extension_class def param_type_func(name): return None if not cls else _infer_parameter_type(name, cls.__name__) body = func if (cls is None or helpers.inspect_is_method(cls, original_name) or helpers.inspect_is_classmethod(cls, original_name)): body = helpers.function(func) fd = specs.get_function_definition( body, convention=CONVENTION, parameter_type_func=param_type_func) fd.is_method = True fd.is_function = False if not cls or helpers.inspect_is_method(cls, original_name): fd.set_parameter( 0, dsl.MuranoObjectParameter(murano_method.declaring_type), overwrite=True) if cls and helpers.inspect_is_classmethod(cls, original_name): _remove_first_parameter(fd) body = func name = getattr(func, '__murano_name', None) if name: fd.name = name fd.insert_parameter(specs.ParameterDefinition( '?1', yaqltypes.Context(), 0)) is_static = cls and ( helpers.inspect_is_static(cls, original_name) or helpers.inspect_is_classmethod(cls, original_name)) if is_static: fd.insert_parameter(specs.ParameterDefinition( '?2', yaqltypes.PythonType(object), 1)) def payload(__context, __self, *args, **kwargs): with helpers.contextual(__context): __context[constants.CTX_NAMES_SCOPE] = \ murano_method.declaring_type return body(__self.extension, *args, **kwargs) def static_payload(__context, __receiver, *args, **kwargs): with helpers.contextual(__context): __context[constants.CTX_NAMES_SCOPE] = \ murano_method.declaring_type return body(*args, **kwargs) if is_static: fd.payload = static_payload else: fd.payload = payload fd.meta[constants.META_MURANO_METHOD] = murano_method return fd def _remove_first_parameter(fd): first_param = None first_param_name = None for p_name, p in fd.parameters.items(): if isinstance(p.value_type, yaqltypes.HiddenParameterType): continue if p.position is None: continue if first_param is None or p.position < first_param.position: first_param = p first_param_name = p_name if first_param: del fd.parameters[first_param_name] for p_name, p in fd.parameters.items(): if p.position is not None and p.position > first_param.position: p.position -= 1 def build_stub_function_definitions(murano_method): if isinstance(murano_method.body, specs.FunctionDefinition): return _build_native_stub_function_definitions(murano_method) else: return _build_mpl_stub_function_definitions(murano_method) def _build_native_stub_function_definitions(murano_method): runtime_version = murano_method.declaring_type.package.runtime_version engine = choose_yaql_engine(runtime_version) @specs.method @specs.name(murano_method.name) @specs.meta(constants.META_MURANO_METHOD, murano_method) @specs.parameter('__receiver', yaqltypes.NotOfType( dsl_types.MuranoTypeReference)) def payload(__context, __receiver, *args, **kwargs): args = tuple(dsl.to_mutable(arg, engine) for arg in args) kwargs = dsl.to_mutable(kwargs, engine) return helpers.evaluate(murano_method.invoke( __receiver, args, kwargs, __context, True), __context) @specs.method @specs.name(murano_method.name) @specs.meta(constants.META_MURANO_METHOD, murano_method) @specs.parameter('__receiver', yaqltypes.NotOfType( dsl_types.MuranoTypeReference)) def extension_payload(__context, __receiver, *args, **kwargs): args = tuple(dsl.to_mutable(arg, engine) for arg in args) kwargs = dsl.to_mutable(kwargs, engine) return helpers.evaluate(murano_method.invoke( murano_method.declaring_type, (__receiver,) + args, kwargs, __context, True), __context) @specs.method @specs.name(murano_method.name) @specs.meta(constants.META_MURANO_METHOD, murano_method) @specs.parameter('__receiver', dsl_types.MuranoTypeReference) def static_payload(__context, __receiver, *args, **kwargs): args = tuple(dsl.to_mutable(arg, engine) for arg in args) kwargs = dsl.to_mutable(kwargs, engine) return helpers.evaluate(murano_method.invoke( __receiver, args, kwargs, __context, True), __context) if murano_method.usage in dsl_types.MethodUsages.InstanceMethods: return specs.get_function_definition(payload), None elif murano_method.usage == dsl_types.MethodUsages.Static: return (specs.get_function_definition(payload), specs.get_function_definition(static_payload)) elif murano_method.usage == dsl_types.MethodUsages.Extension: return (specs.get_function_definition(extension_payload), specs.get_function_definition(static_payload)) else: raise ValueError('Unknown method usage ' + murano_method.usage) def _build_mpl_stub_function_definitions(murano_method): if murano_method.usage in dsl_types.MethodUsages.InstanceMethods: return _create_instance_mpl_stub(murano_method), None elif murano_method.usage == dsl_types.MethodUsages.Static: return (_create_instance_mpl_stub(murano_method), _create_static_mpl_stub(murano_method)) elif murano_method.usage == dsl_types.MethodUsages.Extension: return (_create_extension_mpl_stub(murano_method), _create_static_mpl_stub(murano_method)) else: raise ValueError('Unknown method usage ' + murano_method.usage) def _create_instance_mpl_stub(murano_method): def payload(__context, __receiver, *args, **kwargs): return murano_method.invoke(__receiver, args, kwargs, __context, True) fd = _create_basic_mpl_stub(murano_method, 1, payload, False) receiver_type = dsl.MuranoObjectParameter( weakref.proxy(murano_method.declaring_type), decorate=False) fd.set_parameter(specs.ParameterDefinition('__receiver', receiver_type, 1)) return fd def _create_static_mpl_stub(murano_method): def payload(__context, __receiver, *args, **kwargs): return murano_method.invoke(__receiver, args, kwargs, __context, True) fd = _create_basic_mpl_stub(murano_method, 1, payload, False) receiver_type = dsl.MuranoTypeParameter( weakref.proxy(murano_method.declaring_type), resolve_strings=False) fd.set_parameter(specs.ParameterDefinition('__receiver', receiver_type, 1)) return fd def _create_extension_mpl_stub(murano_method): def payload(__context, __receiver, *args, **kwargs): return murano_method.invoke( murano_method.declaring_type, (__receiver,) + args, kwargs, __context, True) return _create_basic_mpl_stub(murano_method, 0, payload, True) def _create_basic_mpl_stub(murano_method, reserve_params, payload, check_first_arg): fd = specs.FunctionDefinition( murano_method.name, payload, is_function=False, is_method=True) i = reserve_params + 1 varargs = False kwargs = False for name, arg_spec in murano_method.arguments_scheme.items(): position = i if arg_spec.usage == dsl_types.MethodArgumentUsages.VarArgs: name = '*' varargs = True elif arg_spec.usage == dsl_types.MethodArgumentUsages.KwArgs: name = '**' position = None kwargs = True p = specs.ParameterDefinition( name, ContractedValue(arg_spec, with_check=check_first_arg), position=position, default=dsl.NO_VALUE) check_first_arg = False fd.parameters[name] = p i += 1 if not varargs: fd.parameters['*'] = specs.ParameterDefinition( '*', value_type=yaqltypes.PythonType(object, nullable=True), position=i) if not kwargs: fd.parameters['**'] = specs.ParameterDefinition( '**', value_type=yaqltypes.PythonType(object, nullable=True)) fd.set_parameter(specs.ParameterDefinition( '__context', yaqltypes.Context(), 0)) fd.meta[constants.META_MURANO_METHOD] = murano_method return fd def get_class_factory_definition(cls, murano_class): runtime_version = murano_class.package.runtime_version engine = choose_yaql_engine(runtime_version) def payload(__context, __receiver, *args, **kwargs): args = tuple(dsl.to_mutable(arg, engine) for arg in args) kwargs = dsl.to_mutable(kwargs, engine) with helpers.contextual(__context): __context[constants.CTX_NAMES_SCOPE] = murano_class result = helpers.evaluate(cls(*args, **kwargs), __context) __receiver.object.extension = result try: fd = specs.get_function_definition( helpers.function(cls.__init__), parameter_type_func=lambda name: _infer_parameter_type( name, cls.__name__), convention=CONVENTION) except AttributeError: # __init__ is a slot wrapper inherited from object or other C type fd = specs.get_function_definition(lambda self: None) fd.meta[constants.META_NO_TRACE] = True fd.insert_parameter(specs.ParameterDefinition( '?1', yaqltypes.Context(), position=0)) fd.is_method = True fd.is_function = False fd.name = '__init__' fd.payload = payload return fd def filter_parameters(__fd, *args, **kwargs): if '*' not in __fd.parameters: position_args = 0 for p in __fd.parameters.values(): if p.position is not None: position_args += 1 args = args[:position_args] kwargs = kwargs.copy() for name in list(kwargs.keys()): if not utils.is_keyword(name): del kwargs[name] if '**' not in __fd.parameters: names = {p.alias or p.name for p in __fd.parameters.values()} for name in list(kwargs.keys()): if name not in names: del kwargs[name] return args, kwargs murano-9.0.0/murano/dsl/murano_property.py0000664000175000017500000000564113656750211020761 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sys import weakref from murano.common import utils from murano.dsl import dsl_types from murano.dsl import exceptions from murano.dsl import helpers from murano.dsl import meta from murano.dsl import typespec class MuranoProperty(dsl_types.MuranoProperty, typespec.Spec, meta.MetaProvider): def __init__(self, declaring_type, property_name, declaration): super(MuranoProperty, self).__init__(declaration, declaring_type) self._property_name = property_name self._declaring_type = weakref.ref(declaring_type) self._usage = declaration.get('Usage') or dsl_types.PropertyUsages.In if self._usage not in dsl_types.PropertyUsages.All: raise exceptions.DslSyntaxError( 'Unknown usage {0}. Must be one of ({1})'.format( self._usage, ', '.join(dsl_types.PropertyUsages.All))) self._meta = meta.MetaData( declaration.get('Meta'), dsl_types.MetaTargets.Property, declaring_type) self._meta_values = None def transform(self, *args, **kwargs): try: return super(MuranoProperty, self).transform(*args, **kwargs) except exceptions.ContractViolationException as e: msg = u'[{0}.{1}{2}] {3}'.format( self.declaring_type.name, self.name, e.path, str(e)) utils.reraise(exceptions.ContractViolationException, exceptions.ContractViolationException(msg), sys.exc_info()[2]) @property def name(self): return self._property_name @property def usage(self): return self._usage def get_meta(self, context): def meta_producer(cls): prop = cls.properties.get(self.name) if prop is None: return None return prop._meta if self._meta_values is None: executor = helpers.get_executor() context = executor.create_type_context( self.declaring_type, caller_context=context) self._meta_values = meta.merge_providers( self.declaring_type, meta_producer, context) return self._meta_values def __repr__(self): return 'MuranoProperty({type}::{name})'.format( type=self.declaring_type.name, name=self.name) murano-9.0.0/murano/dsl/object_store.py0000664000175000017500000002532413656750211020176 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import collections import gc import weakref from oslo_log import log as logging from murano.dsl import dsl_types from murano.dsl import helpers from murano.dsl import murano_object LOG = logging.getLogger(__name__) class ObjectStore(object): def __init__(self, executor, parent_store=None, weak_store=True): self._parent_store = parent_store self._store = weakref.WeakValueDictionary() if weak_store else {} self._designer_attributes_store = {} self._executor = weakref.ref(executor) self._pending_destruction = set() @property def executor(self): return self._executor() def get(self, object_id, check_parent_store=True): result = self._store.get(object_id) if not result and self._parent_store and check_parent_store: return self._parent_store.get(object_id, check_parent_store) return result def has(self, object_id, check_parent_store=True): if object_id in self._store: return True if check_parent_store and self._parent_store: return self._parent_store.has(object_id, check_parent_store) return False def put(self, murano_object, object_id=None): self._store[object_id or murano_object.object_id] = murano_object def schedule_object_destruction(self, murano_object): self._pending_destruction.add(murano_object) self._store[murano_object.object_id] = murano_object def iterate(self): return self._store.keys() def remove(self, object_id): self._store.pop(object_id) def load(self, value, owner, default_type=None, scope_type=None, context=None, keep_ids=False, bypass_store=False): # do the object model load in a temporary object store and copy # loaded objects here after that model_store = InitializationObjectStore( owner, self, keep_ids) with helpers.with_object_store(model_store): result = model_store.load( value, owner, scope_type=scope_type, default_type=default_type, context=context) for obj_id in model_store.iterate(): obj = model_store.get(obj_id) if obj.initialized: if not bypass_store: self.put(obj) return result @staticmethod def _get_designer_attributes(header): return dict((k, v) for k, v in header.items() if str(k).startswith('_')) def designer_attributes(self, object_id): return self._designer_attributes_store.get(object_id, {}) @property def initializing(self): return False @property def parent_store(self): return self._parent_store def cleanup(self): LOG.debug('Cleaning up orphan objects') with helpers.with_object_store(self): n = self._collect_garbage() LOG.debug('{} orphan objects were destroyed'.format(n)) return n def prepare_finalize(self, used_objects): used_objects = set(used_objects) if used_objects else [] sentenced_objects = [ obj for obj in self._store.values() if obj not in used_objects ] with helpers.with_object_store(self): if sentenced_objects: self._pending_destruction.update(sentenced_objects) for __ in self._destroy_garbage(sentenced_objects): pass def finalize(self): with helpers.with_object_store(self): for t in self._store.values(): t.mark_destroyed(True) self._pending_destruction.clear() self._store.clear() def _collect_garbage(self): repeat = True count = 0 while repeat: repeat = False gc.collect() for obj in gc.garbage: if (isinstance(obj, murano_object.RecyclableMuranoObject) and obj.executor is self._executor()): repeat = True if obj.initialized and not obj.destroyed: self.schedule_object_destruction(obj) else: obj.mark_destroyed(True) obj = None del gc.garbage[:] if self._pending_destruction: for obj in self._destroy_garbage(self._pending_destruction): if obj in self._pending_destruction: repeat = True obj.mark_destroyed() self._pending_destruction.remove(obj) count += 1 return count def is_doomed(self, obj): return obj.destroyed or obj in self._pending_destruction def _destroy_garbage(self, sentenced_objects): dd_graph = {} # NOTE(starodubcevna): construct a graph which looks like: # { # obj1: [subscriber1, subscriber2], # obj2: [subscriber2, subscriber3] # } for obj in sentenced_objects: obj_subscribers = [obj.owner] for dd in obj.destruction_dependencies: subscriber = dd['subscriber'] if subscriber: subscriber = subscriber() if subscriber and subscriber not in obj_subscribers: obj_subscribers.append(subscriber) dd_graph[obj] = obj_subscribers def topological(graph): """Topological sort implementation This implementation will work even if we have cycle dependencies, e.g. [a->b, b->c, c->a]. In this case the order of deletion will be undefined and it's okay. """ visited = collections.defaultdict(int) indexes = collections.defaultdict(int) def dfs(obj): visited[obj] += 1 subscribers = graph.get(obj) if subscribers is not None: m = 0 for i, subscriber in enumerate(subscribers): if i == 0 or not visited[subscriber]: for t in dfs(subscriber): yield t m = max(m, indexes[subscriber]) if visited.get(obj, 0) <= 2: visited[obj] += 1 indexes[obj] = m + 1 yield obj, m + 1 for i, obj in enumerate(graph.keys()): if not visited[obj]: for t in dfs(obj): yield t visited.clear() indexes.clear() order = collections.defaultdict(list) for obj, index in topological(dd_graph): order[index].append(obj) for key in sorted(order): group = order[key] self.executor.signal_destruction_dependencies(*group) for key in sorted(order, reverse=True): group = order[key] self.executor.destroy_objects(*group) for t in group: yield t # Temporary ObjectStore to load object graphs. Does 2-phase load # and maintains internal state on what phase is currently running # as well as objects that are in the middle of initialization. # Required in order to isolate semi-initialized objects from regular # objects in main ObjectStore and internal state between graph loads # in different threads. Once the load is done all objects are copied # to the parent ObjectStore class InitializationObjectStore(ObjectStore): def __init__(self, root_owner, parent_store, keep_ids): super(InitializationObjectStore, self).__init__( parent_store.executor, parent_store, weak_store=False) self._initializing = False self._root_owner = root_owner self._keep_ids = keep_ids self._initializers = [] @property def initializing(self): return self._initializing def load(self, value, owner, default_type=None, scope_type=None, context=None, **kwargs): parsed = helpers.parse_object_definition(value, scope_type, context) if not parsed: raise ValueError('Invalid object representation format') if owner is self._root_owner: self._initializing = True class_obj = parsed['type'] or default_type if not class_obj: raise ValueError( 'Invalid object representation: ' 'no type information was provided') if isinstance(class_obj, dsl_types.MuranoTypeReference): class_obj = class_obj.type object_id = parsed['id'] is_tmp_object = (object_id is None and owner is not self._root_owner and self._initializing) obj = None if object_id is None else self.get( object_id, self._keep_ids) if not obj: if is_tmp_object or helpers.is_objects_dry_run_mode(): mo_type = murano_object.MuranoObject else: mo_type = murano_object.RecyclableMuranoObject obj = mo_type( class_obj, owner, name=parsed['name'], metadata=parsed['metadata'], object_id=object_id if self._keep_ids else None) obj.load_dependencies(parsed['dependencies']) if parsed['destroyed']: obj.mark_destroyed() self.put(obj, object_id or obj.object_id) system_value = ObjectStore._get_designer_attributes( parsed['extra']) self._designer_attributes_store[object_id] = system_value if context is None: context = self.executor.create_object_context(obj) def run_initialize(): self._initializers.extend( obj.initialize(context, parsed['properties'])) run_initialize() if owner is self._root_owner: self._initializing = False run_initialize() if owner is self._root_owner: with helpers.with_object_store(self.parent_store): for fn in self._initializers: fn() return obj murano-9.0.0/murano/dsl/murano_object.py0000664000175000017500000004103513656750211020340 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import constants from murano.dsl import dsl from murano.dsl import dsl_types from murano.dsl import exceptions from murano.dsl import helpers from murano.dsl.principal_objects import garbage_collector from murano.dsl import yaql_integration class MuranoObject(dsl_types.MuranoObject): def __init__(self, murano_class, owner, object_id=None, name=None, known_classes=None, this=None, metadata=None): self._initialized = False self._destroyed = False if known_classes is None: known_classes = {} if this is None: self._owner = owner self._object_id = object_id or helpers.generate_id() self._type = murano_class self._properties = {} self._parents = {} self._this = this self._name = name self._extension = None self._executor = helpers.weak_ref(helpers.get_executor()) self._config = murano_class.package.get_class_config( murano_class.name) self._metadata = metadata if not isinstance(self._config, dict): self._config = {} known_classes[murano_class.name] = self for parent_class in murano_class.parents: name = parent_class.name if name not in known_classes: obj = MuranoObject( parent_class, owner, object_id=self._object_id, known_classes=known_classes, this=self.real_this) self._parents[name] = known_classes[name] = obj else: self._parents[name] = known_classes[name] self._destruction_dependencies = [] @property def extension(self): return self._extension @property def name(self): return self.real_this._name @property def metadata(self): return self.real_this._metadata @extension.setter def extension(self, value): self._extension = value def initialize(self, context, params, used_names=None): context = context.create_child_context() context[constants.CTX_ALLOW_PROPERTY_WRITES] = True object_store = helpers.get_object_store() for property_name in self.type.properties: spec = self.type.properties[property_name] if spec.usage == dsl_types.PropertyUsages.Config: if property_name in self._config: property_value = self._config[property_name] else: property_value = dsl.NO_VALUE self.set_property(property_name, property_value, dry_run=self._initialized) init = self.type.methods.get('.init') used_names = used_names or set() names = set(self.type.properties) if init: names.update(init.arguments_scheme.keys()) last_errors = len(names) init_args = {} while True: errors = 0 for property_name in names: if init and property_name in init.arguments_scheme: spec = init.arguments_scheme[property_name] is_init_arg = True else: spec = self.type.properties[property_name] is_init_arg = False if property_name in used_names: continue if spec.usage in (dsl_types.PropertyUsages.Config, dsl_types.PropertyUsages.Static): used_names.add(property_name) continue if spec.usage == dsl_types.PropertyUsages.Runtime: if not spec.has_default: used_names.add(property_name) continue property_value = dsl.NO_VALUE else: property_value = params.get(property_name, dsl.NO_VALUE) try: if is_init_arg: init_args[property_name] = property_value else: self.set_property( property_name, property_value, context, dry_run=self._initialized) used_names.add(property_name) except exceptions.UninitializedPropertyAccessError: errors += 1 except exceptions.ContractViolationException: if spec.usage != dsl_types.PropertyUsages.Runtime: raise if not errors: break if errors >= last_errors: raise exceptions.CircularExpressionDependenciesError() last_errors = errors if (not object_store.initializing and self._extension is None and not self._initialized and not self._destroyed and not helpers.is_objects_dry_run_mode()): method = self.type.methods.get('__init__') if method: filtered_params = yaql_integration.filter_parameters( method.body, **params) yield lambda: method.invoke( self, filtered_params[0], filtered_params[1], context) for parent in self._parents.values(): for t in parent.initialize(context, params, used_names): yield t def run_init(): if init: context[constants.CTX_ARGUMENT_OWNER] = self.real_this init.invoke(self.real_this, (), init_args, context.create_child_context()) self._initialized = True if (not object_store.initializing and not helpers.is_objects_dry_run_mode() and not self._initialized and not self._destroyed): yield run_init @property def object_id(self): return self._object_id @property def type(self): return self._type @property def owner(self): if self._this is None: return self._owner else: return self.real_this.owner @property def real_this(self): return self._this or self @property def executor(self): return self._executor() @property def initialized(self): return self._initialized @property def destruction_dependencies(self): return self._destruction_dependencies def load_dependencies(self, dependencies): self._destruction_dependencies = [] if not dependencies: return destruction_dependencies = dependencies.get('onDestruction', []) object_store = helpers.get_object_store() for record in destruction_dependencies: subscriber_id = record['subscriber'] subscriber = object_store.get(subscriber_id) if not subscriber: continue garbage_collector.GarbageCollector.subscribe_destruction( self, subscriber, record.get('handler')) def get_property(self, name, context=None): start_type, derived = self.type, False caller_class = None if not context else helpers.get_type(context) if caller_class is not None and caller_class.is_compatible(self): start_type, derived = caller_class, True declared_properties = start_type.find_properties( lambda p: p.name == name) if len(declared_properties) > 0: spec = self.real_this.type.find_single_property(name) if spec.usage == dsl_types.PropertyUsages.Static: return self.executor.get_static_property( spec.declaring_type, name, context) else: return self.real_this._get_property_value(name) elif derived: return self.cast(caller_class)._get_property_value(name) else: raise exceptions.PropertyReadError(name, start_type) def _get_property_value(self, name): try: return self._properties[name] except KeyError: raise exceptions.UninitializedPropertyAccessError( name, self.type) def set_property(self, name, value, context=None, dry_run=False): start_type, derived = self.real_this.type, False caller_class = None if not context else helpers.get_type(context) if caller_class is not None and caller_class.is_compatible(self): start_type, derived = caller_class, True if context is None: context = self.executor.create_object_context(self) declared_properties = start_type.find_properties( lambda p: p.name == name) if len(declared_properties) > 0: ultimate_spec = self.real_this.type.find_single_property(name) property_list = list(self._list_properties(name)) for spec in property_list: if (caller_class is not None and not helpers.are_property_modifications_allowed(context) and (spec.usage not in dsl_types.PropertyUsages.Writable or not derived)): raise exceptions.NoWriteAccessError(name) if spec.usage == dsl_types.PropertyUsages.Static: default = None else: default = self._config.get(name, spec.default) if spec is ultimate_spec: value = spec.transform( value, self.real_this, self.real_this, context, default=default, finalize=len(property_list) == 1) else: spec.validate(value, self.real_this, context, default) if len(property_list) > 1: value = ultimate_spec.finalize(value, self.real_this, context) if ultimate_spec.usage == dsl_types.PropertyUsages.Static: self.executor.set_static_property( ultimate_spec.declaring_type, name, value, context, dry_run=dry_run) elif not dry_run: self.real_this._properties[name] = value elif derived: if not dry_run: obj = self.cast(caller_class) obj._properties[name] = value else: raise exceptions.PropertyWriteError(name, start_type) def cast(self, cls): for p in helpers.traverse(self, lambda t: t._parents.values()): if p.type == cls: return p raise TypeError('Cannot cast {0} to {1}'.format(self.type, cls)) def _list_properties(self, name): for p in helpers.traverse( self.real_this, lambda t: t._parents.values()): if name in p.type.properties: yield p.type.properties[name] def __repr__(self): return '<{0}/{1} {2} ({3})>'.format( self.type.name, self.type.version, self.object_id, id(self)) def to_dictionary(self, include_hidden=False, serialization_type=dsl_types.DumpTypes.Serializable, allow_refs=False, with_destruction_dependencies=False): context = helpers.get_context() result = {} for parent in self._parents.values(): result.update(parent.to_dictionary( include_hidden, dsl_types.DumpTypes.Serializable, allow_refs)) skip_usages = (dsl_types.PropertyUsages.Runtime, dsl_types.PropertyUsages.Config) for property_name in self.type.properties: if property_name in self.real_this._properties: spec = self.type.properties[property_name] if spec.usage not in skip_usages or include_hidden: prop_value = self.real_this._properties[property_name] if isinstance(prop_value, MuranoObject) and allow_refs: meta = [m for m in spec.get_meta(context) if m.type.name == ('io.murano.metadata.' 'engine.Serialize')] if meta and meta[0].get_property( 'as', context) == 'reference': prop_value = prop_value.object_id result[property_name] = prop_value if serialization_type == dsl_types.DumpTypes.Inline: result.pop('?') result = { self.type: result, 'id': self.object_id, 'name': self.name, 'metadata': self.metadata } header = result else: if serialization_type == dsl_types.DumpTypes.Mixed: result.update({'?': { 'type': self.type, 'id': self.object_id, 'name': self.name, 'metadata': self.metadata }}) else: result.update({'?': { 'type': helpers.format_type_string(self.type), 'id': self.object_id, 'name': self.name, 'metadata': self.metadata }}) header = result['?'] if self.destroyed: header['destroyed'] = True if with_destruction_dependencies: dds = [] for record in self.destruction_dependencies: subscriber = record['subscriber']() if not subscriber or self.executor.object_store.is_doomed( subscriber): continue dds.append({ 'subscriber': subscriber.object_id, 'handler': record['handler'] }) if dds: header.setdefault('dependencies', {})['onDestruction'] = dds return result def mark_destroyed(self, clear_data=False): self._destroyed = True self._suppress__del__ = None if clear_data or not self.initialized: self._extension = None self._properties = None self._owner = None self._destruction_dependencies = None self._this = None for p in self._parents.values(): p.mark_destroyed(clear_data) @property def destroyed(self): return self._destroyed class RecyclableMuranoObject(MuranoObject): def __init__(self, *args, **kwargs): # Create self-reference to prevent __del__ from being called # automatically when there are no other objects referring to this one. # Without this reference __del__ will get called immediately after # reference counter will go to 0 and the object will put itself into # pending list creating another reference to itself and thus preventing # its child objects from being deleted. After the .destroy method # child objects will become eligible for destruction but will be # unable to use find() method since their owner will be destroyed # and collected at that point. With this reference gc.collect() # will collect the whole object graph at once and then we could # sort it and destroy in the correct order so that child objects # will be destroyed first. self._suppress__del__ = self super(RecyclableMuranoObject, self).__init__(*args, **kwargs) def __del__(self): # For Py2 the purpose of __del__ (in combination with _suppress__del__) # method is just to prevent object from being released automatically. # In Py3 the gc.collect list will be empty and __del__ will be called # for objects that were not destroyed yet. if self._this is None and self._initialized and not self._destroyed: self.executor.object_store.schedule_object_destruction(self) def mark_destroyed(self, clear_data=False): self.executor.attribute_store.forget_object(self) super(RecyclableMuranoObject, self).mark_destroyed(clear_data) murano-9.0.0/murano/dsl/session_local_storage.py0000664000175000017500000000625713656750211022101 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # This code is almost a complete copy of eventlet.corolocal with only # the concept of current thread replaced with current session import collections import weakref from murano.dsl import helpers # the entire purpose of this class is to store off the constructor # arguments in a local variable without calling __init__ directly class _localbase(object): __slots__ = '_local__args', '_local__sessions' def __new__(cls, *args, **kw): self = object.__new__(cls) object.__setattr__(self, '_local__args', (args, kw)) object.__setattr__( self, '_local__sessions', weakref.WeakKeyDictionary()) if (args or kw) and (cls.__init__ is object.__init__): raise TypeError('Initialization arguments are not supported') return self def _patch(session_local): sessions_dict = object.__getattribute__(session_local, '_local__sessions') session = helpers.get_execution_session() localdict = sessions_dict.get(session) if localdict is None: # must be the first time we've seen this session, call __init__ localdict = {} sessions_dict[session] = localdict cls = type(session_local) if cls.__init__ is not object.__init__: args, kw = object.__getattribute__(session_local, '_local__args') session_local.__init__(*args, **kw) object.__setattr__(session_local, '__dict__', localdict) class _local(_localbase): def __getattribute__(self, attr): _patch(self) return object.__getattribute__(self, attr) def __setattr__(self, attr, value): _patch(self) return object.__setattr__(self, attr, value) def __delattr__(self, attr): _patch(self) return object.__delattr__(self, attr) def session_local(cls): return type(cls.__name__, (cls, _local), {}) class SessionLocalDict(collections.UserDict, object): def __init__(self, **kwargs): self.__session_data = weakref.WeakKeyDictionary() self.__default = {} super(SessionLocalDict, self).__init__(**kwargs) @property def data(self): session = helpers.get_execution_session() if session is None: return self.__default return self.__session_data.setdefault(session, {}) @data.setter def data(self, value): session = helpers.get_execution_session() if session is None: self.__default = value else: self.__session_data[session] = value def execution_session_memoize(func): cache = SessionLocalDict() return helpers.get_memoize_func(func, cache) murano-9.0.0/murano/dsl/constants.py0000664000175000017500000000400513656750211017521 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import semantic_version EXPRESSION_MEMORY_QUOTA = 512 * 1024 CTX_ACTIONS_ONLY = '?actionsOnly' CTX_ALLOW_PROPERTY_WRITES = '$?allowPropertyWrites' CTX_ARGUMENT_OWNER = '$?argumentOwner' CTX_CALLER_CONTEXT = '$?callerContext' CTX_CURRENT_INSTRUCTION = '$?currentInstruction' CTX_CURRENT_EXCEPTION = '$?currentException' CTX_CURRENT_METHOD = '$?currentMethod' CTX_NAMES_SCOPE = '$?namesScope' CTX_ORIGINAL_CONTEXT = '$?originalContext' CTX_SKIP_FRAME = '$?skipFrame' CTX_THIS = '$?this' CTX_TYPE = '$?type' CTX_VARIABLE_SCOPE = '$?variableScope' CTX_YAQL_ENGINE = '$?yaqlEngine' DM_OBJECTS = 'Objects' DM_OBJECTS_COPY = 'ObjectsCopy' DM_ATTRIBUTES = 'Attributes' META_MURANO_METHOD = '?muranoMethod' META_NO_TRACE = '?noTrace' META_MPL_META = 'Meta' META_USAGE = 'Usage' META_SCOPE = 'Scope' CORE_LIBRARY = 'io.murano' CORE_LIBRARY_OBJECT = 'io.murano.Object' TL_CONTEXT = '__murano_context' TL_ID = '__thread_id' TL_OBJECT_STORE = '__murano_object_store' TL_SESSION = '__murano_execution_session' TL_CONTRACT_PASSKEY = '__murano_contract_passkey' TL_OBJECTS_DRY_RUN = '__murano_objects_dry_run' RUNTIME_VERSION_1_0 = semantic_version.Version('1.0.0') RUNTIME_VERSION_1_1 = semantic_version.Version('1.1.0') RUNTIME_VERSION_1_2 = semantic_version.Version('1.2.0') RUNTIME_VERSION_1_3 = semantic_version.Version('1.3.0') RUNTIME_VERSION_1_4 = semantic_version.Version('1.4.0') RUNTIME_VERSION_1_5 = semantic_version.Version('1.5.0') murano-9.0.0/murano/dsl/exceptions.py0000664000175000017500000001157313656750211017676 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. class InternalFlowException(Exception): pass class ReturnException(InternalFlowException): def __init__(self, value): self._value = value @property def value(self): return self._value class BreakException(InternalFlowException): pass class ContinueException(InternalFlowException): pass class DslInvalidOperationError(Exception): pass class NoMethodFound(Exception): def __init__(self, name): super(NoMethodFound, self).__init__('Method "%s" is not found' % name) class NoPropertyFound(Exception): def __init__(self, name): super(NoPropertyFound, self).__init__( 'Property "%s" is not found' % name) class NoClassFound(Exception): def __init__(self, name, packages=None): if packages is None: packages = [] packages = ', '.join("{0}/{1}".format(p.name, p.version) for p in packages) super(NoClassFound, self).__init__( 'Class "{0}" is not found in {1}'.format(name, packages)) class NoPackageFound(Exception): def __init__(self, name): super(NoPackageFound, self).__init__( 'Package "%s" is not found' % name) class NoPackageForClassFound(Exception): def __init__(self, name): super(NoPackageForClassFound, self).__init__('Package for class "%s" ' 'is not found' % name) class NoObjectFoundError(Exception): def __init__(self, object_id): super(NoObjectFoundError, self).__init__( 'Object "%s" is not found in object store' % object_id) class MethodNotExposed(Exception): pass class AmbiguousMethodName(Exception): def __init__(self, name): super(AmbiguousMethodName, self).__init__( 'Found more than one method "%s"' % name) class AmbiguousClassName(Exception): def __init__(self, name): super(AmbiguousClassName, self).__init__( 'Found more than one version of class "%s"' % name) class DslContractSyntaxError(Exception): pass class ContractViolationException(Exception): def __init__(self, *args, **kwargs): super(ContractViolationException, self).__init__(*args, **kwargs) self._path = '' @property def path(self): return self._path @path.setter def path(self, value): self._path = value class ValueIsMissingError(Exception): pass class DslSyntaxError(Exception): pass class PropertyAccessError(Exception): pass class AmbiguousPropertyNameError(PropertyAccessError): def __init__(self, name): super(AmbiguousPropertyNameError, self).__init__( 'Found more than one property "%s"' % name) class NoWriteAccess(PropertyAccessError): def __init__(self, name): super(NoWriteAccess, self).__init__( 'Property "%s" is immutable to the caller' % name) class NoWriteAccessError(PropertyAccessError): def __init__(self, name): super(NoWriteAccessError, self).__init__( 'Property "%s" is immutable to the caller' % name) class PropertyReadError(PropertyAccessError): def __init__(self, name, murano_class): super(PropertyAccessError, self).__init__( 'Property "%s" in class "%s" cannot be read' % (name, murano_class.name)) class PropertyWriteError(PropertyAccessError): def __init__(self, name, murano_class): super(PropertyAccessError, self).__init__( 'Property "%s" in class "%s" cannot be written' % (name, murano_class.name)) class UninitializedPropertyAccessError(PropertyAccessError): def __init__(self, name, murano_class): super(PropertyAccessError, self).__init__( 'Access to uninitialized property ' '"%s" in class "%s" is forbidden' % (name, murano_class.name)) class CircularExpressionDependenciesError(Exception): pass class InvalidLhsTargetError(Exception): def __init__(self, target): super(InvalidLhsTargetError, self).__init__( 'Invalid assignment target "%s"' % target) class InvalidInheritanceError(Exception): pass class ObjectDestroyedError(Exception): def __init__(self, obj): super(ObjectDestroyedError, self).__init__( 'Object {0} is already destroyed'.format(obj)) murano-9.0.0/murano/dsl/yaql_expression.py0000664000175000017500000000531513656750211020737 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import re from yaql.language import exceptions as yaql_exceptions from yaql.language import expressions from murano.dsl import constants from murano.dsl import dsl_types from murano.dsl import yaql_integration EXPRESSION_REGEX = re.compile('^[\s\w\d.]*$') class YaqlExpression(dsl_types.YaqlExpression): def __init__(self, expression, version): self._version = version if isinstance(expression, str): self._expression = str(expression) self._parsed_expression = yaql_integration.parse( self._expression, version) self._file_position = None elif isinstance(expression, YaqlExpression): self._expression = expression._expression self._parsed_expression = expression._parsed_expression self._file_position = expression._file_position elif isinstance(expression, expressions.Statement): self._expression = str(expression) self._parsed_expression = expression self._file_position = None else: raise TypeError('expression is not of supported types') @property def expression(self): return self._expression @property def version(self): return self._version @property def source_file_position(self): return self._file_position @source_file_position.setter def source_file_position(self, value): self._file_position = value def __repr__(self): return 'YAQL(%s)' % self._expression def __str__(self): return self._expression @staticmethod def is_expression(expression, version): if not isinstance(expression, str): return False if EXPRESSION_REGEX.match(expression): return False try: yaql_integration.parse(expression, version) return True except yaql_exceptions.YaqlParsingException: return False def __call__(self, context): if context: context[constants.CTX_CURRENT_INSTRUCTION] = self return self._parsed_expression.evaluate(context=context) murano-9.0.0/murano/dsl/principal_objects/0000775000175000017500000000000013656750351020633 5ustar zuulzuul00000000000000murano-9.0.0/murano/dsl/principal_objects/__init__.py0000664000175000017500000000205413656750211022740 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl.principal_objects import exception from murano.dsl.principal_objects import garbage_collector from murano.dsl.principal_objects import stack_trace from murano.dsl.principal_objects import sys_object def register(package): package.register_class(sys_object.SysObject) package.register_class(stack_trace.StackTrace) package.register_class(exception.DslException) package.register_class(garbage_collector.GarbageCollector) murano-9.0.0/murano/dsl/principal_objects/garbage_collector.py0000664000175000017500000000612013656750211024635 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from yaql.language import specs from yaql.language import yaqltypes from murano.dsl import dsl from murano.dsl import helpers @dsl.name('io.murano.system.GC') class GarbageCollector(object): @staticmethod @specs.parameter('publisher', dsl.MuranoObjectParameter(decorate=False)) @specs.parameter('subscriber', dsl.MuranoObjectParameter(decorate=False)) @specs.parameter('handler', yaqltypes.String(nullable=True)) def subscribe_destruction(publisher, subscriber, handler=None): publisher_this = publisher.real_this subscriber_this = subscriber.real_this if handler: subscriber.type.find_single_method(handler) dependency = GarbageCollector._find_dependency( publisher_this, subscriber_this, handler) if not dependency: dependency = {'subscriber': helpers.weak_ref(subscriber_this), 'handler': handler} publisher_this.destruction_dependencies.append(dependency) @staticmethod @specs.parameter('publisher', dsl.MuranoObjectParameter(decorate=False)) @specs.parameter('subscriber', dsl.MuranoObjectParameter(decorate=False)) @specs.parameter('handler', yaqltypes.String(nullable=True)) def unsubscribe_destruction(publisher, subscriber, handler=None): publisher_this = publisher.real_this subscriber_this = subscriber.real_this if handler: subscriber.type.find_single_method(handler) dds = publisher_this.destruction_dependencies dependency = GarbageCollector._find_dependency( publisher_this, subscriber_this, handler) if dependency: dds.remove(dependency) @staticmethod def _find_dependency(publisher, subscriber, handler): dds = publisher.destruction_dependencies for dd in dds: if dd['handler'] != handler: continue d_subscriber = dd['subscriber'] if d_subscriber: d_subscriber = d_subscriber() if d_subscriber == subscriber: return dd @staticmethod def collect(): helpers.get_executor().object_store.cleanup() @staticmethod @specs.parameter('object_', dsl.MuranoObjectParameter(decorate=False)) def is_doomed(object_): return helpers.get_object_store().is_doomed(object_) @staticmethod @specs.parameter('object_', dsl.MuranoObjectParameter(decorate=False)) def is_destroyed(object_): return object_.destroyed murano-9.0.0/murano/dsl/principal_objects/stack_trace.py0000664000175000017500000000706113656750211023467 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import inspect import os.path from yaql import specs from murano.dsl import constants from murano.dsl import dsl from murano.dsl import dsl_types from murano.dsl import helpers from murano.dsl import yaql_integration @dsl.name('io.murano.StackTrace') class StackTrace(object): def __init__(self, this, context, include_native_frames=True): frames = [] caller_context = context while True: if not caller_context: break frame = compose_stack_frame(caller_context) frames.append(frame) caller_context = helpers.get_caller_context(caller_context) frames.reverse() frames.pop() if include_native_frames: native_frames = [] for frame in inspect.trace()[1:]: location = dsl_types.ExpressionFilePosition( os.path.abspath(frame[1]), frame[2], -1, frame[2], -1) method = frame[3] native_frames.append({ 'instruction': frame[4][0].strip(), 'location': location, 'methodName': method, 'typeName': None }) frames.extend(native_frames) this.properties.frames = frames @specs.meta(constants.META_NO_TRACE, True) @specs.meta('Usage', 'Action') def to_string(self, this, prefix=''): return '\n'.join([format_frame(t, prefix)for t in this['frames']]) def compose_stack_frame(context): instruction = helpers.get_current_instruction(context) method = helpers.get_current_method(context) return { 'instruction': None if instruction is None else str(instruction), 'location': None if instruction is None else instruction.source_file_position, 'methodName': None if method is None else method.name, 'typeName': None if method is None else method.declaring_type.name } def format_frame(frame, prefix=''): instruction = frame['instruction'] method_name = frame['methodName'] type_name = frame['typeName'] location = frame['location'] if type_name: method_name += ' of type ' + type_name if location: args = ( os.path.abspath(location.file_path), location.start_line, ':' + str(location.start_column) if location.start_column >= 0 else '', method_name, instruction, prefix ) return (u'{5}File "{0}", line {1}{2} in method {3}\n' u'{5} {4}').format(*args) else: return u'{2}File in method {0}\n{2} {1}'.format( method_name, instruction, prefix) def create_stack_trace(context, include_native_frames=True): stacktrace = yaql_integration.call_func( context, 'new', 'io.murano.StackTrace', includeNativeFrames=include_native_frames) return dsl.MuranoObjectInterface.create(stacktrace) murano-9.0.0/murano/dsl/principal_objects/exception.py0000664000175000017500000000142613656750211023201 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import dsl @dsl.name('io.murano.Exception') class DslException(object): def to_string(self): return self.get_property('nativeException').format() murano-9.0.0/murano/dsl/principal_objects/sys_object.py0000664000175000017500000000276113656750211023352 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from yaql import specs from murano.dsl import dsl from murano.dsl import helpers @dsl.name('io.murano.Object') class SysObject(object): @specs.parameter('owner', dsl.MuranoTypeParameter(nullable=True)) def set_attr(self, this, context, name, value, owner=None): if owner is None: owner = helpers.get_type(helpers.get_caller_context(context)) attribute_store = helpers.get_attribute_store() attribute_store.set(this.object, owner, name, value) @specs.parameter('owner', dsl.MuranoTypeParameter(nullable=True)) def get_attr(self, this, context, name, default=None, owner=None): if owner is None: owner = helpers.get_type(helpers.get_caller_context(context)) attribute_store = helpers.get_attribute_store() result = attribute_store.get(this.object, owner, name) return default if result is None else result murano-9.0.0/murano/dsl/meta.py0000664000175000017500000001114113656750211016432 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import abc import operator import weakref from murano.dsl import dsl_types from murano.dsl import helpers class MetaProvider(object): @abc.abstractmethod def get_meta(self, context): raise NotImplementedError() class MetaData(MetaProvider): def __init__(self, definition, target, declaring_type): declaring_type = weakref.proxy(declaring_type) definition = helpers.list_value(definition) factories = [] used_types = set() for d in definition: if isinstance(d, dict): if len(d) != 1: raise ValueError('Invalid Meta format') name = next(iter(d.keys())) props = d[name] or {} else: name = d props = {} type_obj = helpers.resolve_type(name, declaring_type) if type_obj.usage != dsl_types.ClassUsages.Meta: raise ValueError('Only Meta classes can be attached') if target not in type_obj.targets: raise ValueError( u'Meta class {} is not applicable here'.format( type_obj.name)) if type_obj in used_types and ( type_obj.cardinality != dsl_types.MetaCardinality.Many): raise ValueError('Cannot attach several Meta instances ' 'with cardinality One') used_types.add(type_obj) def factory_maker(template): def instantiate(context): obj = helpers.get_object_store().load( template, owner=None, context=context, scope_type=declaring_type, bypass_store=True) obj.declaring_type = declaring_type return obj return instantiate factories.append(factory_maker({type_obj: props})) self._meta_factories = factories self._meta = None def get_meta(self, context): if self._meta is None: self._meta = list(map(lambda x: x(context), self._meta_factories)) return self._meta def merge_providers(initial_class, producer, context): def merger(cls_list, skip_list): result = set() all_meta = [] for cls in cls_list: cls_skip_list = skip_list.copy() provider = producer(cls) meta = [] if provider is None else provider.get_meta(context) for item in meta: cardinality = item.type.cardinality inherited = item.type.inherited if cls != initial_class and ( not inherited or item.type in skip_list): continue if cardinality == dsl_types.MetaCardinality.One: cls_skip_list.add(item.type) all_meta.append((cls, item)) all_meta.extend(merger(cls.parents, cls_skip_list)) meta_types = {} for cls, item in all_meta: entry = meta_types.get(item.type) if entry is not None: if entry != cls: raise ValueError( u'Found more than one instance of Meta {} ' u'with Cardinality One'.format(item.type.name)) else: continue if item.type.cardinality == dsl_types.MetaCardinality.One: meta_types[item.type] = cls result.add((cls, item)) return result meta = merger([initial_class], set()) return list(map(operator.itemgetter(1), meta)) def aggregate_meta(provider, context, group_by_name=True): def key_func(m): return m.type.name if group_by_name else m.type meta = provider.get_meta(context) result = {} for item in meta: if item.type.cardinality == dsl_types.MetaCardinality.One: result[key_func(item)] = item else: result.setdefault(key_func(item), []).append(item) return result murano-9.0.0/murano/common/0000775000175000017500000000000013656750351015647 5ustar zuulzuul00000000000000murano-9.0.0/murano/common/utils.py0000664000175000017500000002301413656750211017354 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import collections import functools as func import re import jsonschema from oslo_log import log as logging from murano.common.i18n import _ LOG = logging.getLogger(__name__) class TraverseHelper(object): value_type = (str, int, float, bool) @staticmethod def get(path, source): """Provides the ability to traverse a data source Provides the ability to traverse a data source made up of any combination of lists and dicts. Has simple rules for selecting item of the list: * each item should have id property * to select item from the list, specify id value Examples: source = {'obj': {'attr': True}} value = TraverseHelper.get('/obj/attr', source) source = {'obj': [ {'id': '1', 'value': 1}, {'id': '2s', 'value': 2}, ]} value = TraverseHelper.get('/obj/2s/value', source) :param path: string with path to desired value :param source: python object (list or dict) :return: object :raise: ValueError if object is malformed """ queue = collections.deque(filter(lambda x: x, path.split('/'))) while len(queue): path = queue.popleft() if isinstance(source, list): idx_source = source iterator = ( i for i in source if i.get('?', {}).get('id') == path ) source = next(iterator, None) if source is None and path.isdigit(): source = idx_source[int(path)] elif isinstance(source, dict): source = source[path] elif isinstance(source, TraverseHelper.value_type): break else: raise ValueError(_('Source object or path is malformed')) return source @staticmethod def update(path, value, source): """Updates value selected with specified path. Warning: Root object could not be updated :param path: string with path to desired value :param value: value :param source: python object (list or dict) """ parent_path = '/'.join(path.split('/')[:-1]) node = TraverseHelper.get(parent_path, source) key = path[1:].split('/')[-1] if is_number(key): node[int(key)] = value else: node[key] = value @staticmethod def insert(path, value, source): """Inserts new item to selected list. :param path: string with path to desired value :param value: value :param source: List """ node = TraverseHelper.get(path, source) node.append(value) @staticmethod def extend(path, value, source): """Extend list by appending elements from the iterable. :param path: string with path to desired value :param value: value :param source: List """ node = TraverseHelper.get(path, source) node.extend(value) @staticmethod def remove(path, source): """Removes selected item from source. :param path: string with path to desired value :param source: python object (list or dict) """ parent_path = '/'.join(path.split('/')[:-1]) node = TraverseHelper.get(parent_path, source) key = path[1:].split('/')[-1] if isinstance(node, list): iterator = (i for i in node if i.get('?', {}).get('id') == key) item = next(iterator, None) if item is None and key.isdigit(): del node[int(key)] else: node.remove(item) elif isinstance(node, dict): del node[key] else: raise ValueError(_('Source object or path is malformed')) def is_number(var): try: int(var) return True except Exception: return False def is_different(obj1, obj2): """Stripped-down version of deep.diff comparator Compares arbitrary nested objects, handles circular links, but doesn't point to the first difference as deep.diff does. """ class Difference(Exception): pass def is_in(o, st): for _o in st: if o is _o: return True return False def rec(o1, o2, stack1=(), stack2=()): if is_in(o1, stack1) and is_in(o2, stack2): # circular reference detected - break the loop return elif is_in(o1, stack1): raise Difference() else: stack1 += (o1,) stack2 += (o2,) if o1 is o2: return elif (isinstance(o1, str) and isinstance(o2, str)) and o1 == o2: return elif type(o1) != type(o2): raise Difference() elif isinstance(o1, dict): # check for keys inequality rec(o1.keys(), o2.keys(), stack1, stack2) for key in o1.keys(): rec(o1[key], o2[key], stack1, stack2) elif isinstance(o1, (list, tuple, set)): if len(o1) != len(o2): raise Difference() else: for _o1, _o2 in zip(o1, o2): rec(_o1, _o2, stack1, stack2) elif hasattr(o1, '__dict__'): return rec(o1.__dict__, o2.__dict__, stack1, stack2) elif o1 != o2: raise Difference() try: rec(obj1, obj2) except Difference: return True else: return False def build_entity_map(value): def build_entity_map_recursive(value, id_map): if isinstance(value, dict): if '?' in value and 'id' in value['?']: id_map[value['?']['id']] = value for v in value.values(): build_entity_map_recursive(v, id_map) if isinstance(value, list): for item in value: build_entity_map_recursive(item, id_map) id_map = {} build_entity_map_recursive(value, id_map) return id_map def handle(f): """Handles exception in wrapped function and writes to LOG.""" @func.wraps(f) def f_handle(*args, **kwargs): try: return f(*args, **kwargs) except Exception as e: LOG.exception(e) return f_handle def validate_body(schema): def deco_validate_body(f): @func.wraps(f) def f_validate_body(*args, **kwargs): if 'body' in kwargs: jsonschema.validate(kwargs['body'], schema) return f(*args, **kwargs) return f_validate_body return deco_validate_body def validate_quotes(value): """Validate filter values Validation opening/closing quotes in the expression. """ open_quotes = True count_backslash_in_row = 0 for i in range(len(value)): if value[i] == '"': if count_backslash_in_row % 2: continue if open_quotes: if i and value[i - 1] != ',': msg = _("Invalid filter value %s. There is no comma " "before opening quotation mark.") % value raise ValueError(msg) else: if i + 1 != len(value) and value[i + 1] != ",": msg = _("Invalid filter value %s. There is no comma " "after opening quotation mark.") % value raise ValueError(msg) open_quotes = not open_quotes elif value[i] == '\\': count_backslash_in_row += 1 else: count_backslash_in_row = 0 if not open_quotes: msg = _("Invalid filter value %s. The quote is not closed.") % value raise ValueError(msg) return True def split_for_quotes(value): """Split filter values Split values by commas and quotes for 'in' operator, according api-wg. """ validate_quotes(value) tmp = re.compile(r''' "( # if found a double-quote [^\"\\]* # take characters either non-quotes or backslashes (?:\\. # take backslashes and character after it [^\"\\]*)* # take characters either non-quotes or backslashes ) # before double-quote ",? # a double-quote with comma maybe | ([^,]+),? # if not found double-quote take any non-comma # characters with comma maybe | , # if we have only comma take empty string ''', re.VERBOSE) val_split = [val[0] or val[1] for val in re.findall(tmp, value)] replaced_inner_quotes = [s.replace(r'\"', '"') for s in val_split] return replaced_inner_quotes def reraise(tp, value, tb=None): try: if value is None: value = tp() if value.__traceback__ is not tb: raise value.with_traceback(tb) raise value finally: value = None tb = None murano-9.0.0/murano/common/__init__.py0000664000175000017500000000000013656750211017741 0ustar zuulzuul00000000000000murano-9.0.0/murano/common/engine.py0000664000175000017500000003241313656750211017464 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import copy import traceback import uuid import eventlet.debug from oslo_config import cfg from oslo_log import log as logging import oslo_messaging as messaging from oslo_messaging.rpc import dispatcher from oslo_messaging import target from oslo_serialization import jsonutils from oslo_service import service from murano.common import auth_utils from murano.common.helpers import token_sanitizer from murano.common.plugins import extensions_loader from murano.common import rpc from murano.dsl import context_manager from murano.dsl import dsl_exception from murano.dsl import executor as dsl_executor from murano.dsl import helpers from murano.dsl import schema_generator from murano.dsl import serializer from murano.engine import execution_session from murano.engine import package_loader from murano.engine.system import status_reporter from murano.engine.system import yaql_functions from murano.policy import model_policy_enforcer as enforcer CONF = cfg.CONF PLUGIN_LOADER = None LOG = logging.getLogger(__name__) eventlet.debug.hub_exceptions(False) # noinspection PyAbstractClass class EngineService(service.Service): def __init__(self): super(EngineService, self).__init__() self.server = None def start(self): endpoints = [ TaskProcessingEndpoint(), StaticActionEndpoint(), SchemaEndpoint() ] transport = messaging.get_rpc_transport(CONF) s_target = target.Target('murano', 'tasks', server=str(uuid.uuid4())) access_policy = dispatcher.DefaultRPCAccessPolicy self.server = messaging.get_rpc_server( transport, s_target, endpoints, 'eventlet', access_policy=access_policy) self.server.start() super(EngineService, self).start() def stop(self, graceful=False): if self.server: self.server.stop() if graceful: self.server.wait() super(EngineService, self).stop() def reset(self): if self.server: self.server.reset() super(EngineService, self).reset() def get_plugin_loader(): global PLUGIN_LOADER if PLUGIN_LOADER is None: PLUGIN_LOADER = extensions_loader.PluginLoader() return PLUGIN_LOADER class ContextManager(context_manager.ContextManager): def create_root_context(self, runtime_version): root_context = super(ContextManager, self).create_root_context( runtime_version) return helpers.link_contexts( root_context, yaql_functions.get_context(runtime_version)) def create_package_context(self, package): context = super(ContextManager, self).create_package_context( package) if package.name == 'io.murano': context = helpers.link_contexts( context, yaql_functions.get_restricted_context()) return context class SchemaEndpoint(object): @classmethod def generate_schema(cls, context, *args, **kwargs): session = execution_session.ExecutionSession() session.token = context['token'] session.project_id = context['project_id'] with package_loader.CombinedPackageLoader(session) as pkg_loader: return schema_generator.generate_schema( pkg_loader, ContextManager(), *args, **kwargs) class TaskProcessingEndpoint(object): @classmethod def handle_task(cls, context, task): result = cls.execute(task) rpc.api().process_result(result, task['id']) @staticmethod def execute(task): s_task = token_sanitizer.TokenSanitizer().sanitize(task) LOG.info('Starting processing task: {task_desc}'.format( task_desc=jsonutils.dumps(s_task))) result = None reporter = status_reporter.StatusReporter(task['id']) try: task_executor = TaskExecutor(task, reporter) result = task_executor.execute() return result finally: s_result = token_sanitizer.TokenSanitizer().sanitize(result) LOG.info('Finished processing task: {task_desc}'.format( task_desc=jsonutils.dumps(s_result))) class StaticActionEndpoint(object): @classmethod def call_static_action(cls, context, task): s_task = token_sanitizer.TokenSanitizer().sanitize(task) LOG.info('Starting execution of static action: ' '{task_desc}'.format(task_desc=jsonutils.dumps(s_task))) result = None reporter = status_reporter.StatusReporter(task['id']) try: task_executor = StaticActionExecutor(task, reporter) result = task_executor.execute() return result finally: LOG.info('Finished execution of static action: ' '{task_desc}'.format(task_desc=jsonutils.dumps(result))) class TaskExecutor(object): @property def action(self): return self._action @property def session(self): return self._session @property def model(self): return self._model def __init__(self, task, reporter=None): if reporter is None: reporter = status_reporter.StatusReporter(task['id']) self._action = task.get('action') self._model = task['model'] self._session = execution_session.ExecutionSession() self._session.token = task['token'] self._session.project_id = task['project_id'] self._session.user_id = task['user_id'] self._session.environment_owner_project_id = self._model['project_id'] self._session.environment_owner_user_id = self._model['user_id'] self._session.system_attributes = self._model.get('SystemData', {}) self._reporter = reporter self._model_policy_enforcer = enforcer.ModelPolicyEnforcer( self._session) def execute(self): try: self._create_trust() except Exception as e: return self.exception_result(e, None, '') with package_loader.CombinedPackageLoader(self._session) as pkg_loader: pkg_loader.import_fixation_table( self._session.system_attributes.get('Packages', {})) result = self._execute(pkg_loader) self._session.system_attributes[ 'Packages'] = pkg_loader.export_fixation_table() self._model['SystemData'] = self._session.system_attributes self._model['project_id'] = self._session.environment_owner_project_id self._model['user_id'] = self._session.environment_owner_user_id result['model'] = self._model if (not self._model.get('Objects') and not self._model.get('ObjectsCopy')): try: self._delete_trust() except Exception: LOG.warning('Cannot delete trust', exc_info=True) return result def _execute(self, pkg_loader): get_plugin_loader().register_in_loader(pkg_loader) with dsl_executor.MuranoDslExecutor( pkg_loader, ContextManager(), self.session) as executor: try: obj = executor.load(self.model) except Exception as e: return self.exception_result(e, None, '') if obj is not None: try: self._validate_model(obj.object, pkg_loader, executor) except Exception as e: return self.exception_result(e, obj, '') try: LOG.debug('Invoking pre-cleanup hooks') self.session.start() executor.object_store.cleanup() except Exception as e: return self.exception_result(e, obj, '') finally: LOG.debug('Invoking post-cleanup hooks') self.session.finish() self._model['ObjectsCopy'] = \ copy.deepcopy(self._model.get('Objects')) action_result = None if self.action: try: LOG.debug('Invoking pre-execution hooks') self.session.start() action_result = self._invoke(executor) except Exception as e: return self.exception_result(e, obj, self.action['method']) finally: LOG.debug('Invoking post-execution hooks') self.session.finish() self._model = executor.finalize(obj) try: action_result = serializer.serialize(action_result, executor) except Exception as e: return self.exception_result(e, None, '') pkg_loader.compact_fixation_table() return { 'action': { 'result': action_result, 'isException': False } } def exception_result(self, exception, root, method_name): if isinstance(exception, dsl_exception.MuranoPlException): LOG.error('\n' + exception.format(prefix=' ')) exception_traceback = exception.format() else: exception_traceback = traceback.format_exc() LOG.exception( ("Exception %(exc)s occurred" " during invocation of %(method)s"), {'exc': exception, 'method': method_name}) self._reporter.report_error(root, str(exception)) return { 'action': { 'isException': True, 'result': { 'message': str(exception), 'details': exception_traceback } } } def _validate_model(self, obj, pkg_loader, executor): if CONF.engine.enable_model_policy_enforcer: if obj is not None: with helpers.with_object_store(executor.object_store): self._model_policy_enforcer.modify(obj, pkg_loader) self._model_policy_enforcer.validate(obj.to_dictionary(), pkg_loader) def _invoke(self, mpl_executor): obj = mpl_executor.object_store.get(self.action['object_id']) method_name, kwargs = self.action['method'], self.action['args'] if obj is not None: return mpl_executor.run(obj.type, method_name, obj, (), kwargs) def _create_trust(self): if not CONF.engine.use_trusts: return trust_id = self._session.system_attributes.get('TrustId') if not trust_id: trust_id = auth_utils.create_trust( self._session.token, self._session.project_id) self._session.system_attributes['TrustId'] = trust_id self._session.trust_id = trust_id def _delete_trust(self): trust_id = self._session.trust_id if trust_id: auth_utils.delete_trust(self._session) self._session.system_attributes['TrustId'] = None self._session.trust_id = None class StaticActionExecutor(object): @property def action(self): return self._action @property def session(self): return self._session def __init__(self, task, reporter=None): if reporter is None: reporter = status_reporter.StatusReporter(task['id']) self._action = task['action'] self._session = execution_session.ExecutionSession() self._session.token = task['token'] self._session.project_id = task['project_id'] self._session.user_id = task['user_id'] self._reporter = reporter self._model_policy_enforcer = enforcer.ModelPolicyEnforcer( self._session) def execute(self): with package_loader.CombinedPackageLoader(self._session) as pkg_loader: get_plugin_loader().register_in_loader(pkg_loader) executor = dsl_executor.MuranoDslExecutor(pkg_loader, ContextManager()) action_result = self._invoke(executor) action_result = serializer.serialize(action_result, executor) return action_result def _invoke(self, mpl_executor): class_name = self.action['class_name'] pkg_name = self.action['pkg_name'] class_version = self.action['class_version'] version_spec = helpers.parse_version_spec(class_version) if pkg_name: package = mpl_executor.package_loader.load_package( pkg_name, version_spec) else: package = mpl_executor.package_loader.load_class_package( class_name, version_spec) cls = package.find_class(class_name, search_requirements=False) method_name, kwargs = self.action['method'], self.action['args'] return mpl_executor.run(cls, method_name, None, (), kwargs) murano-9.0.0/murano/common/server.py0000664000175000017500000002321113656750211017521 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import uuid from oslo_config import cfg from oslo_log import log as logging import oslo_messaging as messaging from oslo_messaging.rpc import dispatcher from oslo_messaging import target from oslo_service import service from oslo_utils import timeutils import pytz from sqlalchemy import desc from murano.common.helpers import token_sanitizer from murano.db import models from murano.db.services import environments from murano.db.services import instances from murano.db import session from murano.engine.system import status_reporter from murano.services import states CONF = cfg.CONF LOG = logging.getLogger(__name__) class ResultEndpoint(object): @staticmethod def process_result(context, result, environment_id): secure_result = token_sanitizer.TokenSanitizer().sanitize(result) LOG.debug('Got result from orchestration ' 'engine:\n{result}'.format(result=secure_result)) model = result['model'] action_result = result.get('action', {}) unit = session.get_session() environment = unit.query(models.Environment).get(environment_id) if not environment: LOG.warning('Environment result could not be handled, ' 'specified environment not found in database') return if model['Objects'] is None and model.get('ObjectsCopy', {}) is None: environments.EnvironmentServices.remove(environment_id) return environment.description = model if environment.description['Objects'] is not None: environment.description['Objects']['services'] = \ environment.description['Objects'].pop('applications', []) action_name = 'Deployment' deleted = False else: action_name = 'Deletion' deleted = True environment.version += 1 environment.save(unit) # close deployment deployment = get_last_deployment(unit, environment.id) deployment.finished = timeutils.utcnow() deployment.result = action_result num_errors = unit.query(models.Status)\ .filter_by(level='error', task_id=deployment.id).count() num_warnings = unit.query(models.Status)\ .filter_by(level='warning', task_id=deployment.id).count() final_status_text = action_name + ' finished' if num_errors: final_status_text += " with errors" elif num_warnings: final_status_text += " with warnings" status = models.Status() status.task_id = deployment.id status.text = final_status_text status.level = 'info' deployment.statuses.append(status) deployment.save(unit) # close session conf_session = unit.query(models.Session).filter_by( **{'environment_id': environment.id, 'state': states.SessionState.DEPLOYING if not deleted else states.SessionState.DELETING}).first() if num_errors > 0 or result['action'].get('isException'): conf_session.state = \ states.SessionState.DELETE_FAILURE if deleted else \ states.SessionState.DEPLOY_FAILURE else: conf_session.state = states.SessionState.DEPLOYED conf_session.save(unit) # output application tracking information services = [] objects = model['Objects'] if objects: services = objects.get('services') if num_errors + num_warnings > 0: LOG.warning('EnvId: {env_id} TenantId: {tenant_id} Status: ' 'Failed Apps: {services}' .format(env_id=environment.id, tenant_id=environment.tenant_id, services=services)) else: LOG.info('EnvId: {env_id} TenantId: {tenant_id} Status: ' 'Successful Apps: {services}' .format(env_id=environment.id, tenant_id=environment.tenant_id, services=services)) if action_name == 'Deployment': env = environment.to_dict() env["deployment_started"] = deployment.started env["deployment_finished"] = deployment.finished status_reporter.get_notifier().report( 'environment.deploy.end', env) def notification_endpoint_wrapper(priority='info'): def wrapper(func): class NotificationEndpoint(object): def __init__(self): setattr(self, priority, self._handler) def _handler(self, ctxt, publisher_id, event_type, payload, metadata): if event_type == ('murano.%s' % func.__name__): func(payload) def __call__(self, payload): return func(payload) return NotificationEndpoint() return wrapper @notification_endpoint_wrapper() def track_instance(payload): LOG.debug('Got track instance request from orchestration ' 'engine:\n{payload}'.format(payload=payload)) instance_id = payload['instance'] instance_type = payload.get('instance_type', 0) environment_id = payload['environment'] unit_count = payload.get('unit_count') type_name = payload['type_name'] type_title = payload.get('type_title') instances.InstanceStatsServices.track_instance( instance_id, environment_id, instance_type, type_name, type_title, unit_count) @notification_endpoint_wrapper() def untrack_instance(payload): LOG.debug('Got untrack instance request from orchestration ' 'engine:\n{payload}'.format(payload=payload)) instance_id = payload['instance'] environment_id = payload['environment'] instances.InstanceStatsServices.destroy_instance( instance_id, environment_id) @notification_endpoint_wrapper() def report_notification(report): LOG.debug('Got report from orchestration ' 'engine:\n{report}'.format(report=report)) report['entity_id'] = report.pop('id') status = models.Status() if 'timestamp' in report: dt = timeutils.parse_isotime(report.pop('timestamp')) report['created'] = dt.astimezone(pytz.utc).replace(tzinfo=None) status.update(report) unit = session.get_session() # connect with deployment with unit.begin(): running_deployment = get_last_deployment(unit, status.environment_id) status.task_id = running_deployment.id unit.add(status) def get_last_deployment(unit, env_id): query = unit.query(models.Task) \ .filter_by(environment_id=env_id) \ .order_by(desc(models.Task.started)) return query.first() class Service(service.Service): """Service class, that contains common methods for custom services""" def __init__(self): super(Service, self).__init__() self.server = None def stop(self, graceful=False): if self.server: self.server.stop() if graceful: self.server.wait() super(Service, self).stop() def reset(self): if self.server: self.server.reset() super(Service, self).reset() def get_notification_listener(): endpoints = [report_notification, track_instance, untrack_instance] transport = messaging.get_notification_transport(CONF) s_target = target.Target(topic='murano', server=str(uuid.uuid4())) listener = messaging.get_notification_listener( transport, [s_target], endpoints, executor='threading') return listener def get_rpc_server(): endpoints = [ResultEndpoint()] transport = messaging.get_rpc_transport(CONF) s_target = target.Target('murano', 'results', server=str(uuid.uuid4())) access_policy = dispatcher.DefaultRPCAccessPolicy server = messaging.get_rpc_server( transport, s_target, endpoints, 'threading', access_policy=access_policy) return server class NotificationService(Service): def __init__(self): super(NotificationService, self).__init__() self.server = None def start(self): endpoints = [report_notification, track_instance, untrack_instance] transport = messaging.get_notification_transport(CONF) s_target = target.Target(topic='murano', server=str(uuid.uuid4())) self.server = messaging.get_notification_listener( transport, [s_target], endpoints, executor='eventlet') self.server.start() super(NotificationService, self).start() class ApiService(Service): def start(self): endpoints = [ResultEndpoint()] transport = messaging.get_rpc_transport(CONF) s_target = target.Target('murano', 'results', server=str(uuid.uuid4())) access_policy = dispatcher.DefaultRPCAccessPolicy self.server = messaging.get_rpc_server( transport, s_target, endpoints, 'eventlet', access_policy=access_policy) self.server.start() super(ApiService, self).start() murano-9.0.0/murano/common/messaging/0000775000175000017500000000000013656750351017624 5ustar zuulzuul00000000000000murano-9.0.0/murano/common/messaging/__init__.py0000664000175000017500000000000013656750211021716 0ustar zuulzuul00000000000000murano-9.0.0/murano/common/messaging/mqclient.py0000664000175000017500000001006013656750211022002 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import ssl as ssl_module from eventlet import patcher from oslo_serialization import jsonutils from oslo_service import sslutils from murano.common.i18n import _ from murano.common.messaging import subscription kombu = patcher.import_patched('kombu') class MqClient(object): def __init__(self, login, password, host, port, virtual_host, ssl=False, ssl_version=None, ca_certs=None, insecure=False): ssl_params = None if ssl: cert_reqs = ssl_module.CERT_REQUIRED if insecure: if ca_certs: cert_reqs = ssl_module.CERT_OPTIONAL else: cert_reqs = ssl_module.CERT_NONE ssl_params = { 'ca_certs': ca_certs, 'cert_reqs': cert_reqs } if ssl_version: key = ssl_version.lower() try: ssl_params['ssl_version'] = sslutils._SSL_PROTOCOLS[key] except KeyError: raise RuntimeError( _("Invalid SSL version: %s") % ssl_version) self._connection = kombu.Connection( 'amqp://{0}:{1}@{2}:{3}/{4}'.format( login, password, host, port, virtual_host ), ssl=ssl_params ) self._channel = None self._connected = False def __enter__(self): self.connect() return self def __exit__(self, exc_type, exc_val, exc_tb): self.close() return False def connect(self): self._connection.connect() self._channel = self._connection.channel() self._connected = True def close(self): self._connection.close() self._connected = False def declare(self, queue, exchange='', enable_ha=False, ttl=0): if not self._connected: raise RuntimeError('Not connected to RabbitMQ') queue_arguments = {} if enable_ha is True: # To use mirrored queues feature in RabbitMQ 2.x # we need to declare this policy on the queue itself. # # Warning: this option has no effect on RabbitMQ 3.X, # to enable mirrored queues feature in RabbitMQ 3.X, please # configure RabbitMQ. queue_arguments['x-ha-policy'] = 'all' if ttl > 0: queue_arguments['x-expires'] = ttl exchange = kombu.Exchange(exchange, type='direct', durable=True) queue = kombu.Queue(queue, exchange, queue, durable=True, queue_arguments=queue_arguments) bound_queue = queue(self._connection) bound_queue.declare() def send(self, message, key, exchange='', signing_func=None): if not self._connected: raise RuntimeError('Not connected to RabbitMQ') producer = kombu.Producer(self._connection) data = jsonutils.dumps(message.body) headers = None if signing_func: headers = {'signature': signing_func(data)} producer.publish( exchange=str(exchange), routing_key=str(key), body=data, message_id=str(message.id), headers=headers ) def open(self, queue, prefetch_count=1): if not self._connected: raise RuntimeError('Not connected to RabbitMQ') return subscription.Subscription( self._connection, queue, prefetch_count) murano-9.0.0/murano/common/messaging/message.py0000664000175000017500000000302413656750211021614 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from oslo_log import log as logging from oslo_serialization import jsonutils LOG = logging.getLogger("murano-common.messaging") class Message(object): def __init__(self, connection=None, message_handle=None): self._body = None self._connection = connection self._message_handle = message_handle self.id = None if message_handle is None else \ message_handle.properties.get('message_id') try: self.body = None if message_handle is None else \ jsonutils.loads(message_handle.body) except ValueError as e: self.body = None LOG.exception(e) @property def body(self): return self._body @body.setter def body(self, value): self._body = value @property def id(self): return self._id @id.setter def id(self, value): self._id = value or '' def ack(self): self._message_handle.ack() murano-9.0.0/murano/common/messaging/subscription.py0000664000175000017500000000424513656750211022722 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import collections import socket import time from eventlet import patcher from murano.common.messaging import message kombu = patcher.import_patched('kombu') class Subscription(object): def __init__(self, connection, queue, prefetch_count=1): self._buffer = collections.deque() self._connection = connection self._queue = kombu.Queue(name=queue, exchange=None) self._consumer = kombu.Consumer(self._connection, auto_declare=False) self._consumer.register_callback(self._receive) self._consumer.qos(prefetch_count=prefetch_count) def __enter__(self): self._consumer.add_queue(self._queue) self._consumer.consume() return self def __exit__(self, exc_type, exc_val, exc_tb): if self._consumer is not None: self._consumer.cancel() return False def get_message(self, timeout=None): msg_handle = self._get(timeout=timeout) if msg_handle is None: return None return message.Message(self._connection, msg_handle) def _get(self, timeout=None): elapsed = 0.0 remaining = timeout while True: time_start = time.time() if self._buffer: return self._buffer.pop() try: self._connection.drain_events(timeout=timeout and remaining) except socket.timeout: return None elapsed += time.time() - time_start remaining = timeout and timeout - elapsed or None def _receive(self, message_data, message): self._buffer.append(message) murano-9.0.0/murano/common/helpers/0000775000175000017500000000000013656750351017311 5ustar zuulzuul00000000000000murano-9.0.0/murano/common/helpers/__init__.py0000664000175000017500000000000013656750211021403 0ustar zuulzuul00000000000000murano-9.0.0/murano/common/helpers/token_sanitizer.py0000664000175000017500000000421413656750211023067 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. class TokenSanitizer(object): """Helper class for cleaning some object from different passwords/tokens Simply searches attribute with `look a like` name as one of the token and replace it value with message. """ def __init__(self, tokens=('token', 'pass', 'trustid'), message='*** SANITIZED ***'): """Init method of TokenSanitizer :param tokens: iterable with tokens :param message: string by which each token going to be replaced """ self._tokens = tokens self._message = message @property def tokens(self): """Iterable with tokens that should be sanitized.""" return self._tokens @property def message(self): """String by which each token going to be replaced.""" return self._message def _contains_token(self, value): for token in self.tokens: if token in value.lower(): return True return False def sanitize(self, obj): """Replaces each token found in object by message. :param obj: dict, list, tuple, object :return: Sanitized object """ if isinstance(obj, dict): return dict([self.sanitize(item) for item in obj.items()]) elif isinstance(obj, list): return [self.sanitize(item) for item in obj] elif isinstance(obj, tuple): k, v = obj if self._contains_token(k) and isinstance(v, str): return k, self.message return k, self.sanitize(v) else: return obj murano-9.0.0/murano/common/helpers/path.py0000664000175000017500000000217713656750211020621 0ustar zuulzuul00000000000000# Copyright (c) 2017 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import os.path def secure_join(*parts): """Secure version of os.path.join(*parts) Joins pathname components and ensures that with each join the result is a subdirectory of the previous join """ new = prev = "" for part in parts: new = os.path.normpath(os.path.join(prev, part)) if len(new) <= len(prev) or prev != "" and not new.startswith( prev + os.path.sep): raise ValueError('path {0} is not allowed {1}'.format( os.path.join(*parts), parts)) prev = new return new murano-9.0.0/murano/common/policies/0000775000175000017500000000000013656750351017456 5ustar zuulzuul00000000000000murano-9.0.0/murano/common/policies/package.py0000664000175000017500000000711413656750211021421 0ustar zuulzuul00000000000000# Copyright 2017 AT&T Corporation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_policy import policy from murano.common.policies import base package_policies = [ policy.DocumentedRuleDefault( name='get_package', check_str=base.RULE_DEFAULT, description="""Returns either detailed package information or information specific to the package's UI or logo. In addition, checks for the existence of a given package.""", operations=[{'path': '/v1/catalog/packages/{package_id}', 'method': 'GET'}, {'path': '/v1/catalog/packages', 'method': 'GET'}, {'path': '/v1/catalog/packages/{package_id}/ui', 'method': 'GET'}, {'path': '/v1/catalog/packages/{package_id}/logo', 'method': 'GET'}]), policy.DocumentedRuleDefault( name='upload_package', check_str=base.RULE_DEFAULT, description='Upload a package to the application catalog.', operations=[{'path': '/v1/catalog/packages', 'method': 'POST'}]), policy.DocumentedRuleDefault( name='modify_package', check_str=base.RULE_DEFAULT, description='Update package information for a given package.', operations=[{'path': '/v1/catalog/packages/{package_id}', 'method': 'PATCH'}]), policy.DocumentedRuleDefault( name='publicize_package', check_str=base.RULE_ADMIN_API, description="""Publicize a package across all projects. Grants users in any project the ability to use the package. Enforced only when `is_public` parameter is set to True in the request body of the `update` or `upload` package request.""", operations=[{'path': '/v1/catalog/packages/{package_id}', 'method': 'PATCH'}, {'path': '/v1/catalog/packages', 'method': 'POST'}]), policy.DocumentedRuleDefault( name='manage_public_package', check_str=base.RULE_DEFAULT, description="""Either update, delete or check for the existence of a public package. Only enforced when the package is public.""", operations=[{'path': '/v1/catalog/packages/{package_id}', 'method': 'PATCH'}, {'path': '/v1/catalog/packages/{package_id}', 'method': 'DELETE'}, {'path': '/v1/catalog/packages', 'method': 'GET'}]), policy.DocumentedRuleDefault( name='delete_package', check_str=base.RULE_DEFAULT, description='Delete a given package.', operations=[{'path': '/v1/catalog/packages/{package_id}', 'method': 'DELETE'}]), policy.DocumentedRuleDefault( name='download_package', check_str=base.RULE_DEFAULT, description='Download a package from the application catalog.', operations=[{'path': '/v1/catalog/packages/{package_id}/download', 'method': 'GET'}]) ] def list_rules(): return package_policies murano-9.0.0/murano/common/policies/__init__.py0000664000175000017500000000226613656750211021570 0ustar zuulzuul00000000000000# Copyright 2017 AT&T Corporation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import itertools from murano.common.policies import action from murano.common.policies import base from murano.common.policies import category from murano.common.policies import deployment from murano.common.policies import env_template from murano.common.policies import environment from murano.common.policies import package def list_rules(): return itertools.chain( base.list_rules(), action.list_rules(), category.list_rules(), deployment.list_rules(), environment.list_rules(), env_template.list_rules(), package.list_rules() ) murano-9.0.0/murano/common/policies/env_template.py0000664000175000017500000000443713656750211022516 0ustar zuulzuul00000000000000# Copyright 2017 AT&T Corporation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_policy import policy from murano.common.policies import base template_policies = [ policy.DocumentedRuleDefault( name='list_env_templates', check_str=base.RULE_DEFAULT, description='List environment templates in a project.', operations=[{'path': '/v1/templates', 'method': 'GET'}]), policy.DocumentedRuleDefault( name='create_env_template', check_str=base.RULE_DEFAULT, description='Create an environment template.', operations=[{'path': '/v1/templates', 'method': 'POST'}]), policy.DocumentedRuleDefault( name='show_env_template', check_str=base.RULE_DEFAULT, description='Show environment template details.', operations=[{'path': '/v1/templates/{env_template_id}', 'method': 'GET'}]), policy.DocumentedRuleDefault( name='update_env_template', check_str=base.RULE_DEFAULT, description='Update an environment template.', operations=[{'path': '/v1/templates/{env_template_id}', 'method': 'PUT'}]), policy.DocumentedRuleDefault( name='delete_env_template', check_str=base.RULE_DEFAULT, description='Delete an environment template.', operations=[{'path': '/v1/templates/{env_template_id}', 'method': 'DELETE'}]), policy.DocumentedRuleDefault( name='clone_env_template', check_str=base.RULE_DEFAULT, description='Clone an environment template.', operations=[{'path': '/v1/templates/{env_template_id}/clone', 'method': 'POST'}]) ] def list_rules(): return template_policies murano-9.0.0/murano/common/policies/action.py0000664000175000017500000000247013656750211021303 0ustar zuulzuul00000000000000# Copyright 2017 AT&T Corporation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_policy import policy from murano.common.policies import base action_policies = [ policy.DocumentedRuleDefault( name='execute_action', check_str=base.RULE_DEFAULT, description="""Excute an available action on a deployed environment, retrieve the task status of an executed action, or retrieve the result of an executed static action.""", operations=[ {'path': 'v1/environments/{environment_id}/actions/{action_id}', 'method': 'POST'}, {'path': 'v1/environments/{environment_id}/actions/{task_id}', 'method': 'GET'}, {'path': 'v1/actions', 'method': 'POST'}]) ] def list_rules(): return action_policies murano-9.0.0/murano/common/policies/category.py0000664000175000017500000000311613656750211021641 0ustar zuulzuul00000000000000# Copyright 2017 AT&T Corporation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_policy import policy from murano.common.policies import base category_policies = [ policy.DocumentedRuleDefault( name='get_category', check_str=base.RULE_DEFAULT, description="""Show category details or list all categories in the application catalog.""", operations=[{'path': '/v1/catalog/categories/{category_id}', 'method': 'GET'}, {'path': '/v1/catalog/categories', 'method': 'GET'}]), policy.DocumentedRuleDefault( name='delete_category', check_str=base.RULE_ADMIN_API, description='Delete a category.', operations=[{'path': '/v1/catalog/categories/{category_id}', 'method': 'DELETE'}]), policy.DocumentedRuleDefault( name='add_category', check_str=base.RULE_ADMIN_API, description='Create a category.', operations=[{'path': '/v1/catalog/categories', 'method': 'POST'}]) ] def list_rules(): return category_policies murano-9.0.0/murano/common/policies/environment.py0000664000175000017500000000542013656750211022370 0ustar zuulzuul00000000000000# Copyright 2017 AT&T Corporation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_policy import policy from murano.common.policies import base environment_policies = [ policy.DocumentedRuleDefault( name='list_environments', check_str=base.RULE_DEFAULT, description='List environments in a project.', operations=[{'path': '/v1/environments', 'method': 'GET'}]), policy.DocumentedRuleDefault( name='list_environments_all_tenants', check_str=base.RULE_ADMIN_API, description='List environments across all projects.', operations=[{'path': '/v1/environments?all_tenants=true', 'method': 'GET'}]), policy.DocumentedRuleDefault( name='show_environment', check_str=base.RULE_DEFAULT, description='Show details for an environment or shows the environment ' 'model.', operations=[{'path': '/v1/environments/{environment_id}', 'method': 'GET'}, {'path': '/v1/environments/{environment_id}/model', 'method': 'GET'}]), policy.DocumentedRuleDefault( name='update_environment', check_str=base.RULE_DEFAULT, description='Update or rename an environment.', operations=[{'path': '/v1/environments/{environment_id}', 'method': 'PUT'}, {'path': '/v1/environments/{environment_id}/model', 'method': 'PATCH'}]), policy.DocumentedRuleDefault( name='create_environment', check_str=base.RULE_DEFAULT, description='Create an environment or create an environment and ' 'session from an environment template.', operations=[ {'path': '/v1/environments/{environment_id}', 'method': 'POST'}, {'path': '/v1/templates/{env_template_id}/create-environment', 'method': 'POST'}]), policy.DocumentedRuleDefault( name='delete_environment', check_str=base.RULE_DEFAULT, description='Delete an environment.', operations=[{'path': '/v1/environments/{environment_id}', 'method': 'DELETE'}]) ] def list_rules(): return environment_policies murano-9.0.0/murano/common/policies/base.py0000664000175000017500000000174713656750211020746 0ustar zuulzuul00000000000000# Copyright 2017 AT&T Corporation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_policy import policy RULE_ADMIN_API = 'rule:admin_api' RULE_DEFAULT = 'rule:default' rules = [ policy.RuleDefault( name='context_is_admin', check_str='role:admin'), policy.RuleDefault( name='admin_api', check_str='is_admin:True'), policy.RuleDefault( name='default', check_str='') ] def list_rules(): return rules murano-9.0.0/murano/common/policies/deployment.py0000664000175000017500000000313213656750211022202 0ustar zuulzuul00000000000000# Copyright 2017 AT&T Corporation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_policy import policy from murano.common.policies import base deployment_policies = [ policy.DocumentedRuleDefault( name='list_deployments', check_str=base.RULE_DEFAULT, description='List deployments for an environment.', operations=[{'path': '/v1/environments/{env_id}/deployments', 'method': 'GET'}]), policy.DocumentedRuleDefault( name='list_deployments_all_environments', check_str=base.RULE_DEFAULT, description='List deployments for all environments in a project.', operations=[{'path': '/v1/deployments', 'method': 'GET'}]), policy.DocumentedRuleDefault( name='statuses_deployments', check_str=base.RULE_DEFAULT, description='Show deployment status details for a deployment.', operations=[{ 'path': '/v1/environments/{env_id}/deployments/{deployment_id}', 'method': 'GET'}]) ] def list_rules(): return deployment_policies murano-9.0.0/murano/common/config.py0000664000175000017500000003032413656750211017463 0ustar zuulzuul00000000000000# Copyright 2011 OpenStack Foundation # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from keystoneauth1 import loading as ks_loading from oslo_config import cfg from oslo_log import log as logging from oslo_middleware import cors from murano.common.i18n import _ from murano import version paste_deploy_opts = [ cfg.StrOpt('flavor', help='Paste flavor'), cfg.StrOpt('config_file', help='Path to Paste config file'), ] bind_opts = [ cfg.HostAddressOpt('bind-host', default='0.0.0.0', help='Address to bind the Murano API server to.'), cfg.PortOpt('bind-port', default=8082, help='Port the bind the Murano API server to.'), ] rabbit_opts = [ cfg.HostAddressOpt('host', default='localhost', help='The RabbitMQ broker address which used for ' 'communication with Murano guest agents.'), cfg.PortOpt('port', default=5672, help='The RabbitMQ broker port.'), cfg.StrOpt('login', default='guest', help='The RabbitMQ login.'), cfg.StrOpt('password', default='guest', secret=True, help='The RabbitMQ password.'), cfg.StrOpt('virtual_host', default='/', help='The RabbitMQ virtual host.'), cfg.BoolOpt('ssl', default=False, help='Boolean flag to enable SSL communication through the ' 'RabbitMQ broker between murano-engine and guest agents.'), cfg.StrOpt('ssl_version', default='', help='SSL version to use (valid only if SSL enabled). ' 'Valid values are TLSv1 and SSLv23. SSLv2, SSLv3, ' 'TLSv1_1, and TLSv1_2 may be available on some ' 'distributions.'), cfg.StrOpt('ca_certs', default='', help='SSL cert file (valid only if SSL enabled).'), cfg.BoolOpt('insecure', default=False, help='This option explicitly allows Murano to perform ' '"insecure" SSL connections to RabbitMQ'), ] heat_opts = [ cfg.StrOpt('url', help='Optional heat endpoint override'), cfg.StrOpt('endpoint_type', default='publicURL', help='Heat endpoint type.'), cfg.ListOpt('stack_tags', default=['murano'], help='List of tags to be assigned to heat stacks created ' 'during environment deployment.') ] mistral_opts = [ cfg.StrOpt('url', help='Optional mistral endpoint override'), cfg.StrOpt('endpoint_type', default='publicURL', help='Mistral endpoint type.'), cfg.StrOpt('service_type', default='workflowv2', help='Mistral service type.') ] neutron_opts = [ cfg.StrOpt('url', help='Optional neutron endpoint override'), cfg.StrOpt('endpoint_type', default='publicURL', help='Neutron endpoint type.') ] murano_opts = [ cfg.StrOpt('url', help='Optional murano url in format ' 'like http://0.0.0.0:8082 used by Murano engine'), cfg.StrOpt('endpoint_type', default='publicURL', help='Murano endpoint type used by Murano engine.'), cfg.ListOpt('enabled_plugins', help="List of enabled Extension Plugins. " "Remove or leave commented to enable all installed " "plugins."), cfg.IntOpt('package_size_limit', default=5, help='Maximum application package size, Mb', deprecated_group='packages_opts'), cfg.IntOpt('limit_param_default', default=20, help='Default value for package pagination in API.', deprecated_group='packages_opts'), cfg.IntOpt('api_limit_max', default=100, help='Maximum number of packages to be returned in a single ' 'pagination request', deprecated_group='packages_opts'), cfg.IntOpt('api_workers', help=_('Number of API workers')), cfg.IntOpt('dsl_iterators_limit', default=2000, help=_('Maximum number of elements that can be iterated per ' 'object type.')), ] networking_opts = [ cfg.IntOpt('max_environments', default=250, help='Maximum number of environments that use a single router ' 'per tenant'), cfg.IntOpt('max_hosts', default=250, help='Maximum number of VMs per environment'), cfg.HostAddressOpt('env_ip_template', default='10.0.0.0', help='Template IP address for generating environment ' 'subnet cidrs'), cfg.ListOpt('default_dns', default=[], help='List of default DNS nameservers to be assigned to ' 'created Networks'), cfg.StrOpt('external_network', default='ext-net', help='ID or name of the external network for routers ' 'to connect to'), cfg.StrOpt('router_name', default='murano-default-router', help='Name of the router that going to be used in order to ' 'join all networks created by Murano'), cfg.BoolOpt('create_router', default=True, help='This option will create a router when one with ' '"router_name" does not exist'), cfg.StrOpt('network_config_file', default='netconfig.yaml', help='If provided networking configuration will be taken ' 'from this file'), cfg.StrOpt('driver', choices=['neutron', 'nova'], help='Network driver to use. Options are neutron or nova.' 'If not provided, the driver will be detected.'), ] stats_opts = [ cfg.IntOpt('period', default=5, help=_('Statistics collection interval in minutes.' 'Default value is 5 minutes.')), cfg.IntOpt('env_audit_period', default=60, help=_('Environment audit interval in minutes. ' 'Default value is 60 minutes.')), cfg.BoolOpt('env_audit_enabled', default=True, help=_('Whether environment audit events enabled')) ] engine_opts = [ cfg.BoolOpt('disable_murano_agent', default=False, help=_('Disallow the use of murano-agent')), cfg.StrOpt('class_configs', default='/etc/murano/class-configs', help=_('Path to class configuration files')), cfg.BoolOpt('use_trusts', default=True, help=_("Create resources using trust token rather " "than user's token")), cfg.BoolOpt('enable_model_policy_enforcer', default=False, help=_('Enable model policy enforcer using Congress')), cfg.IntOpt('agent_timeout', default=3600, help=_('Time for waiting for a response from murano agent ' 'during the deployment')), cfg.IntOpt('engine_workers', deprecated_opts=[cfg.DeprecatedOpt('workers', group='engine')], help=_('Number of engine workers')), cfg.ListOpt('load_packages_from', default=[], help=_('List of directories to load local packages from. ' 'If not provided, packages will be loaded only API'), deprecated_group='packages_opts'), cfg.StrOpt('packages_cache', help='Location (directory) for Murano package cache.', deprecated_group='packages_opts'), cfg.BoolOpt('enable_packages_cache', default=True, help=_('Enables murano-engine to persist on disk ' 'packages downloaded during deployments. ' 'The packages would be re-used for consequent ' 'deployments.'), deprecated_group='packages_opts'), cfg.StrOpt('packages_service', default='murano', help=_('The service to store murano packages: murano (stands ' 'for legacy behavior using murano-api) or glance ' '(stands for glance-glare artifact service)'), deprecated_group='packages_opts'), cfg.StrOpt('signing_key', default='~/.ssh/id_rsa', help=_('Path to RSA key for agent message signing')), cfg.StrOpt('agent_source', default='murano-agent', help=_('pip URL/package spec for murano-agent')), ] # TODO(sjmc7): move into engine opts? metadata_dir = [ cfg.StrOpt('metadata-dir', default='./meta', help='Metadata dir') ] glare_opts = [ cfg.StrOpt('url', help='Optional glare url in format ' 'like http://0.0.0.0:9494 used by Glare API', deprecated_group='glance'), cfg.StrOpt('endpoint_type', default='publicURL', help='Glare endpoint type.', deprecated_group='glance') ] glance_opts = [ cfg.StrOpt('url', help='Optional glance endpoint override'), cfg.StrOpt('endpoint_type', default='publicURL', help='Glance endpoint type.') ] file_server = [ cfg.StrOpt('file_server', default='', help='Set a file server.') ] home_region = cfg.StrOpt( 'home_region', help="Default region name used to get services endpoints.") # Unfortuntely we cannot use murano_auth.auth_url, since it # is private to the actual authentication plugin used. murano_auth_opts = [ cfg.StrOpt('www_authenticate_uri', help='Identity API endpoint for authenticating with tokens.')] CONF = cfg.CONF CONF.register_opts(paste_deploy_opts, group='paste_deploy') CONF.register_cli_opts(bind_opts) CONF.register_opts(rabbit_opts, group='rabbitmq') CONF.register_opts(heat_opts, group='heat') CONF.register_opts(mistral_opts, group='mistral') CONF.register_opts(neutron_opts, group='neutron') CONF.register_opts(murano_opts, group='murano') CONF.register_opts(engine_opts, group='engine') CONF.register_opts(file_server) CONF.register_opt(home_region) CONF.register_cli_opts(metadata_dir) CONF.register_opts(stats_opts, group='stats') CONF.register_opts(networking_opts, group='networking') CONF.register_opts(glare_opts, group='glare') CONF.register_opts(glance_opts, group='glance') CONF.register_opts(murano_auth_opts, group='murano_auth') ks_loading.register_auth_conf_options(CONF, group='murano_auth') for group in ('heat', 'mistral', 'neutron', 'glance', 'glare', 'murano', 'murano_auth'): ks_loading.register_session_conf_options( CONF, group=group, deprecated_opts={ 'cafile': [cfg.DeprecatedOpt('cacert', group), cfg.DeprecatedOpt('ca_file', group)], 'certfile': [cfg.DeprecatedOpt('cert_file', group)], 'keyfile': [cfg.DeprecatedOpt('key_file', group)] }) def parse_args(args=None, usage=None, default_config_files=None): logging.register_options(CONF) CONF(args=args, project='murano', version=version.version_string, usage=usage, default_config_files=default_config_files) def set_middleware_defaults(): """Update default configuration options for oslo.middleware.""" cors.set_defaults( allow_headers=['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Configuration-Session', 'X-Roles', 'X-User-Id', 'X-Tenant-Id'], expose_headers=['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Configuration-Session', 'X-Roles', 'X-User-Id', 'X-Tenant-Id'], allow_methods=['GET', 'PUT', 'POST', 'DELETE', 'PATCH'] ) murano-9.0.0/murano/common/statservice.py0000664000175000017500000001226513656750211020556 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import json import multiprocessing import socket import time import eventlet from oslo_config import cfg from oslo_log import log as logging from oslo_service import service import psutil from sqlalchemy import desc from murano.api import v1 from murano.api.v1.deployments import set_dep_state from murano.api.v1 import request_statistics from murano.db import models from murano.db.services import environments as envs from murano.db.services import stats as db_stats from murano.db import session as db_session from murano.engine.system import status_reporter CONF = cfg.CONF CONF_STATS = CONF.stats LOG = logging.getLogger(__name__) class StatsCollectingService(service.Service): def __init__(self): super(StatsCollectingService, self).__init__() request_statistics.init_stats() self._hostname = socket.gethostname() self._stats_db = db_stats.Statistics() self._prev_time = time.time() self._notifier = status_reporter.Notification() def start(self): super(StatsCollectingService, self).start() self.tg.add_thread(self._collect_stats_loop) self.tg.add_thread(self._report_env_stats_loop) def stop(self): super(StatsCollectingService, self).stop() def _collect_stats_loop(self): period = CONF_STATS.period * 60 while True: self.update_stats() eventlet.sleep(period) def _report_env_stats_loop(self): env_audit_period = CONF_STATS.env_audit_period * 60 while True: self.report_env_stats() eventlet.sleep(env_audit_period) def update_stats(self): LOG.debug("Updating statistic information.") LOG.debug("Stats object: {stats}".format(stats=v1.stats)) LOG.debug("Stats: (Requests: {amount} Errors: {error} " "Ave.Res.Time {time:2.4f}\n Per tenant: {req_count})".format( amount=v1.stats.request_count, error=v1.stats.error_count, time=v1.stats.average_time, req_count=v1.stats.requests_per_tenant)) try: stats = self._stats_db.get_stats_by_host(self._hostname) if stats is None: self._stats_db.create(self._hostname, v1.stats.request_count, v1.stats.error_count, v1.stats.average_time, v1.stats.requests_per_tenant, multiprocessing.cpu_count(), psutil.cpu_percent()) return now = time.time() t_delta = now - self._prev_time requests_per_second = (v1.stats.request_count - stats.request_count) / t_delta errors_per_second = (v1.stats.error_count - stats.error_count) / t_delta self._prev_time = now stats.request_count = v1.stats.request_count stats.error_count = v1.stats.error_count stats.average_response_time = v1.stats.average_time stats.requests_per_tenant = json.dumps(v1.stats. requests_per_tenant) stats.requests_per_second = requests_per_second stats.errors_per_second = errors_per_second stats.cpu_percent = psutil.cpu_percent() self._stats_db.update(self._hostname, stats) except Exception as e: LOG.exception("Failed to get statistics object from a " "database. {error_code}".format(error_code=e)) def report_env_stats(self): LOG.debug("Reporting env stats") try: environments = envs.EnvironmentServices.get_environments_by({}) for env in environments: deployments = get_env_deployments(env.id) success_deployments = [d for d in deployments if d['state'] == "success"] if success_deployments: self._notifier.report('environment.exists', env.to_dict()) except Exception: LOG.exception("Failed to report existing envs") def get_env_deployments(environment_id): unit = db_session.get_session() query = unit.query(models.Task).filter_by( environment_id=environment_id).order_by(desc(models.Task.created)) result = query.all() deployments = [ set_dep_state(deployment, unit).to_dict() for deployment in result] return deployments murano-9.0.0/murano/common/rpc.py0000664000175000017500000000430713656750211017004 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_config import cfg import oslo_messaging as messaging from oslo_messaging import rpc from oslo_messaging import target CONF = cfg.CONF TRANSPORT = None class ApiClient(object): def __init__(self, transport): client_target = target.Target('murano', 'results') self._client = rpc.RPCClient(transport, client_target, timeout=15) def process_result(self, result, environment_id): return self._client.call({}, 'process_result', result=result, environment_id=environment_id) class EngineClient(object): def __init__(self, transport): client_target = target.Target('murano', 'tasks') self._client = rpc.RPCClient(transport, client_target, timeout=15) def handle_task(self, task): return self._client.cast({}, 'handle_task', task=task) def call_static_action(self, task): return self._client.call({}, 'call_static_action', task=task) def generate_schema(self, credentials, class_name, method_names=None, class_version=None, package_name=None): return self._client.call( credentials, 'generate_schema', class_name=class_name, method_names=method_names, class_version=class_version, package_name=package_name ) def api(): global TRANSPORT if TRANSPORT is None: TRANSPORT = messaging.get_rpc_transport(CONF) return ApiClient(TRANSPORT) def engine(): global TRANSPORT if TRANSPORT is None: TRANSPORT = messaging.get_rpc_transport(CONF) return EngineClient(TRANSPORT) murano-9.0.0/murano/common/wsgi.py0000664000175000017500000011763613656750211017203 0ustar zuulzuul00000000000000# Copyright 2011 OpenStack Foundation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """Utility methods for working with WSGI servers.""" import datetime import errno import re import socket import sys import time from xml.dom import minidom from xml.parsers import expat import eventlet import eventlet.wsgi import jsonschema from oslo_config import cfg from oslo_log import log as logging from oslo_serialization import jsonutils from oslo_service import service from oslo_service import sslutils import routes import routes.middleware import webob.dec import webob.exc from murano.api.v1 import validation_schemas from murano.common import config from murano.common import exceptions from murano.common.i18n import _ from murano.common import xmlutils eventlet.patcher.monkey_patch(all=False, socket=True) wsgi_opts = [ cfg.IntOpt('backlog', default=4096, help="Number of backlog requests to configure the socket with"), cfg.IntOpt('tcp_keepidle', default=600, help="Sets the value of TCP_KEEPIDLE in seconds for each " "server socket. Not supported on OS X."), cfg.IntOpt('max_header_line', default=16384, help="Maximum line size of message headers to be accepted. " "max_header_line may need to be increased when using " "large tokens (typically those generated by the " "Keystone v3 API with big service catalogs)."), ] CONF = cfg.CONF CONF.register_opts(wsgi_opts) LOG = logging.getLogger(__name__) class Service(service.Service): """Provides a Service API for wsgi servers. This gives us the ability to launch wsgi servers with the Launcher classes in oslo_service.service.py. """ def __init__(self, application, port, host='0.0.0.0', backlog=4096, threads=1000): self.application = application self._port = port self._host = host self._backlog = backlog if backlog else CONF.backlog self._logger = logging.getLogger('eventlet.wsgi') self.greenthread = None config.set_middleware_defaults() super(Service, self).__init__(threads) def _get_socket(self, host, port, backlog): # TODO(dims): eventlet's green dns/socket module does not actually # support IPv6 in getaddrinfo(). We need to get around this in the # future or monitor upstream for a fix info = socket.getaddrinfo(host, port, socket.AF_UNSPEC, socket.SOCK_STREAM)[0] family = info[0] bind_addr = info[-1] sock = None retry_until = time.time() + 30 while not sock and time.time() < retry_until: try: sock = eventlet.listen(bind_addr, backlog=backlog, family=family) if sslutils.is_enabled(CONF): sock = sslutils.wrap(CONF, sock) except socket.error as err: if err.args[0] != errno.EADDRINUSE: raise eventlet.sleep(0.1) if not sock: raise RuntimeError(_("Could not bind to %(host)s:%(port)s " "after trying for 30 seconds: Address" " already in use.") % {'host': host, 'port': port}) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # sockets can hang around forever without keepalive sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) # This option isn't available in the OS X version of eventlet if hasattr(socket, 'TCP_KEEPIDLE'): sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, CONF.tcp_keepidle) return sock def start(self): """Start serving this service using the provided server instance. :returns: None """ super(Service, self).start() self._socket = self._get_socket(self._host, self._port, self._backlog) self.greenthread = eventlet.spawn( self._run, self.application, self._socket) @property def backlog(self): return self._backlog @property def host(self): return self._socket.getsockname()[0] if self._socket else self._host @property def port(self): return self._socket.getsockname()[1] if self._socket else self._port def stop(self): """Stop serving this API. :returns: None """ super(Service, self).stop() if self.greenthread is not None: self.greenthread.kill() def reset(self): super(Service, self).reset() logging.setup(cfg.CONF, 'murano') def _run(self, application, socket): """Start a WSGI server in a new green thread.""" eventlet.wsgi.MAX_HEADER_LINE = CONF.max_header_line eventlet.wsgi.server(socket, application, custom_pool=self.tg.pool, log=self._logger) class Middleware(object): """Base WSGI middleware wrapper. These classes require an application to be initialized that will be called next. By default the middleware will simply call its wrapped app, or you can override __call__ to customize its behavior. """ def __init__(self, application): self.application = application def process_request(self, req): """Called on each request. If this returns None, the next application down the stack will be executed. If it returns a response then that response will be returned and execution will stop here. """ return None def process_response(self, response): """Do whatever you'd like to the response.""" return response @webob.dec.wsgify def __call__(self, req): response = self.process_request(req) if response: return response response = req.get_response(self.application) return self.process_response(response) class Debug(Middleware): """Helper class to get info about request and response Helper class that can be inserted into any WSGI application chain to get information about the request and response. """ @webob.dec.wsgify def __call__(self, req): print(("*" * 40) + " REQUEST ENVIRON") for key, value in req.environ.items(): print(key, "=", value) print("") resp = req.get_response(self.application) print(("*" * 40) + " RESPONSE HEADERS") for (key, value) in resp.headers.items(): print(key, "=", value) print("") resp.app_iter = self.print_generator(resp.app_iter) return resp @staticmethod def print_generator(app_iter): """Prints the contents of a wrapper string iterator Iterator that prints the contents of a wrapper string iterator when iterated. """ print(("*" * 40) + " BODY") for part in app_iter: sys.stdout.write(part) sys.stdout.flush() yield part print("") class Router(object): """WSGI middleware that maps incoming requests to WSGI apps.""" def __init__(self, mapper): """Create a router for the given routes.Mapper. Each route in `mapper` must specify a 'controller', which is a WSGI app to call. You'll probably want to specify an 'action' as well and have your controller be a wsgi.Controller, who will route the request to the action method. Examples: mapper = routes.Mapper() sc = ServerController() # Explicit mapping of one route to a controller+action mapper.connect(None, "/svrlist", controller=sc, action="list") # Actions are all implicitly defined mapper.resource("server", "servers", controller=sc) # Pointing to an arbitrary WSGI app. You can specify the # {path_info:.*} parameter so the target app can be handed just that # section of the URL. mapper.connect(None, "/v1.0/{path_info:.*}", controller=BlogApp()) """ self.map = mapper self._router = routes.middleware.RoutesMiddleware(self._dispatch, self.map) @webob.dec.wsgify def __call__(self, req): """Route the incoming request to a controller Route the incoming request to a controller based on self.map. If no match, return a 404. """ return self._router @staticmethod @webob.dec.wsgify def _dispatch(req): """Looks for routed WSGI app's response Called by self._router after matching the incoming request to a route and putting the information into req.environ. Either returns 404 or the routed WSGI app's response. """ match = req.environ['wsgiorg.routing_args'][1] if not match: return webob.exc.HTTPNotFound() app = match['controller'] return app class Request(webob.Request): """Add some OpenStack API-specific logic to the base webob.Request.""" default_request_content_types = ('application/json', 'application/xml', 'application/murano-packages-json-patch', 'application/env-model-json-patch', 'multipart/form-data') default_accept_types = ('application/json', 'application/xml', 'application/octet-stream') def best_match_content_type(self, action, supported_content_types=None, specific_content_types=None): """Determine the requested response content-type. Based on the query extension then the Accept header. Raise NotAcceptableContentType exception if we don't find a preference """ supported_content_types = (supported_content_types or self.default_accept_types) parts = self.path.rsplit('.', 1) if len(parts) > 1: ctype = 'application/{0}'.format(parts[1]) if ctype in supported_content_types: return ctype if specific_content_types and action in specific_content_types: bm = self.accept.best_match(specific_content_types[action]) else: bm = self.accept.best_match(supported_content_types) if not bm: raise exceptions.NotAcceptableContentType(content_type=self.accept) return bm def get_content_type(self, allowed_content_types=None): """Determine content type of the request body. Does not do any body introspection, only checks header """ if "Content-Type" not in self.headers: return None content_type = self.content_type allowed_content_types = (allowed_content_types or self.default_request_content_types) if content_type not in allowed_content_types: raise exceptions.UnsupportedContentType(content_type=content_type) return content_type class ResourceExceptionHandler(object): """Context manager to handle Resource exceptions. Used when processing exceptions generated by API implementation methods. Converts most exceptions to webob exceptions, with the appropriate logging. """ def __enter__(self): return None def __exit__(self, ex_type, ex_value, ex_traceback): if not ex_value: return True # TODO(lin.a.yang): current only handle TypeError here, we should # process other kind of internal exceptions generated by API and # convert to webob exceptions. if isinstance(ex_value, TypeError): exc_info = (ex_type, ex_value, ex_traceback) LOG.error("Exception handling resource: {0}".format(ex_value), exc_info=exc_info) raise webob.exc.HTTPBadRequest() # We didn't handle this kind of exception return False class Resource(object): """WSGI app that handles (de)serialization and controller dispatch. Reads routing information supplied by RoutesMiddleware and calls the requested action method upon its deserializer, controller, and serializer. Those three objects may implement any of the basic controller action methods (create, update, show, index, delete) along with any that may be specified in the api router. A 'default' method may also be implemented to be used in place of any non-implemented actions. Deserializer methods must accept a request argument and return a dictionary. Controller methods must accept a request argument. Additionally, they must also accept keyword arguments that represent the keys returned by the Deserializer. They may raise a webob.exc exception or return a dict, which will be serialized by requested content type. """ def __init__(self, controller, deserializer=None, serializer=None): """Resource init. :param controller: object that implement methods created by routes lib :param deserializer: object that supports webob request deserialization through controller-like actions :param serializer: object that supports webob response serialization through controller-like actions """ self.controller = controller self.serializer = serializer or ResponseSerializer() self.deserializer = deserializer or RequestDeserializer() @webob.dec.wsgify(RequestClass=Request) def __call__(self, request): """WSGI method that controls (de)serialization and method dispatch.""" LOG.debug("{method} {url}\nHEADERS: {headers}".format( method=request.method, url=request.url, headers=self._format_request_headers(request.headers))) try: action, action_args, accept = self.deserialize_request(request) except exceptions.UnsupportedContentType: msg = _("Unsupported Content-Type") return webob.exc.HTTPUnsupportedMediaType(detail=msg) except exceptions.NotAcceptableContentType: msg = _("Acceptable response can not be provided") return webob.exc.HTTPNotAcceptable(detail=msg) except exceptions.MalformedRequestBody: msg = _("Malformed request body") return webob.exc.HTTPBadRequest(explanation=msg) with ResourceExceptionHandler(): action_result = self.execute_action(action, request, **action_args) try: return self.serialize_response(action, action_result, accept) # return unserializable result (typically a webob exc) except Exception: return action_result def deserialize_request(self, request): return self.deserializer.deserialize(request) def serialize_response(self, action, action_result, accept): return self.serializer.serialize(action_result, accept, action) def execute_action(self, action, request, **action_args): return self.dispatch(self.controller, action, request, **action_args) def dispatch(self, obj, action, *args, **kwargs): """Find action-specific method on self and call it.""" try: method = getattr(obj, action) except AttributeError: method = getattr(obj, 'default') return method(*args, **kwargs) def get_action_args(self, request_environment): """Parse dictionary created by routes library.""" try: args = request_environment['wsgiorg.routing_args'][1].copy() except Exception: return {} try: del args['controller'] except KeyError: pass try: del args['format'] except KeyError: pass return args def _format_request_headers(self, headers): """Format the request headers to be logged. To keep log more clear, only show the X-* header include murano own header and several useful headers added by keystone auth middleware, and skip other X-* headers. """ string_parts = [] # Only show following X-* header useful_headers = ("X-Configuration-Session", "X-Roles", "X-User-Id", "X-Tenant-Id") for header, value in headers.items(): if header.startswith("X-") and header not in useful_headers: continue string_parts.append("{0}: {1}".format(header, value)) return ', '.join(string_parts) class ActionDispatcher(object): """Maps method name to local methods through action name.""" def dispatch(self, *args, **kwargs): """Find and call local method.""" action = kwargs.pop('action', 'default') action_method = getattr(self, str(action), self.default) return action_method(*args, **kwargs) def default(self, data): raise NotImplementedError() class DictSerializer(ActionDispatcher): """Default request body serialization.""" def serialize(self, data, action='default'): return self.dispatch(data, action=action) def default(self, data): return "" class JSONDictSerializer(DictSerializer): """Default JSON request body serialization.""" def default(self, data, result=None): def sanitizer(obj): if isinstance(obj, datetime.datetime): _dtime = obj - datetime.timedelta(microseconds=obj.microsecond) return _dtime.isoformat() return str(obj) if result: data.body = jsonutils.dump_as_bytes(result) return jsonutils.dump_as_bytes(data, default=sanitizer) class XMLDictSerializer(DictSerializer): def __init__(self, metadata=None, xmlns=None): """Default XML request body serialization. :param metadata: information needed to deserialize xml into a dictionary. :param xmlns: XML namespace to include with serialized xml """ super(XMLDictSerializer, self).__init__() self.metadata = metadata or {} self.xmlns = xmlns def default(self, data, result=None): # We expect data to contain a single key which is the XML root. root_key = list(data.keys())[0] doc = minidom.Document() node = self._to_xml_node(doc, self.metadata, root_key, data[root_key]) return self.to_xml_string(node) def to_xml_string(self, node, has_atom=False): self._add_xmlns(node, has_atom) return node.toprettyxml(indent=' ', encoding='UTF-8') # NOTE (ameade): the has_atom should be removed after all the # xml serializers and view builders have been updated to the current # spec that required all responses include the xmlns:atom, the has_atom # flag is to prevent current tests from breaking def _add_xmlns(self, node, has_atom=False): if self.xmlns is not None: node.setAttribute('xmlns', self.xmlns) if has_atom: node.setAttribute('xmlns:atom', "http://www.w3.org/2005/Atom") def _to_xml_node(self, doc, metadata, nodename, data): """Recursive method to convert data members to XML nodes.""" result = doc.createElement(nodename) # Set the xml namespace if one is specified # TODO(justinsb): We could also use prefixes on the keys xmlns = metadata.get('xmlns', None) if xmlns: result.setAttribute('xmlns', xmlns) # TODO(bcwaldon): accomplish this without a type-check if type(data) is list: collections = metadata.get('list_collections', {}) if nodename in collections: metadata = collections[nodename] for item in data: node = doc.createElement(metadata['item_name']) node.setAttribute(metadata['item_key'], str(item)) result.appendChild(node) return result singular = metadata.get('plurals', {}).get(nodename, None) if singular is None: if nodename.endswith('s'): singular = nodename[:-1] else: singular = 'item' for item in data: node = self._to_xml_node(doc, metadata, singular, item) result.appendChild(node) # TODO(bcwaldon): accomplish this without a type-check elif type(data) is dict: collections = metadata.get('dict_collections', {}) if nodename in collections: metadata = collections[nodename] for k, v in data.items(): node = doc.createElement(metadata['item_name']) node.setAttribute(metadata['item_key'], str(k)) text = doc.createTextNode(str(v)) node.appendChild(text) result.appendChild(node) return result attrs = metadata.get('attributes', {}).get(nodename, {}) for k, v in data.items(): if k in attrs: result.setAttribute(k, str(v)) else: node = self._to_xml_node(doc, metadata, k, v) result.appendChild(node) else: # Type is atom node = doc.createTextNode(str(data)) result.appendChild(node) return result def _create_link_nodes(self, xml_doc, links): link_nodes = [] for link in links: link_node = xml_doc.createElement('atom:link') link_node.setAttribute('rel', link['rel']) link_node.setAttribute('href', link['href']) if 'type' in link: link_node.setAttribute('type', link['type']) link_nodes.append(link_node) return link_nodes class BlankSerializer(DictSerializer): """Return raw data.""" def default(self, data): return data class ResponseHeadersSerializer(ActionDispatcher): """Default response headers serialization.""" def serialize(self, response, data, action): self.dispatch(response, data, action=action) def default(self, response, data): response.status_int = 200 class ResponseSerializer(object): """Encode the necessary pieces into a response object.""" def __init__(self, body_serializers=None, headers_serializer=None): self.body_serializers = { 'application/xml': XMLDictSerializer(), 'application/json': JSONDictSerializer(), 'text/plain': BlankSerializer(), 'application/octet-stream': BlankSerializer() } self.body_serializers.update(body_serializers or {}) self.headers_serializer = (headers_serializer or ResponseHeadersSerializer()) def serialize(self, response_data, content_type, action='default'): """Serialize a dict into a string and wrap in a wsgi.Request object. :param response_data: dict produced by the Controller :param content_type: expected mimetype of serialized response body """ response = webob.Response() self.serialize_headers(response, response_data, action) self.serialize_body(response, response_data, content_type, action) return response def serialize_headers(self, response, data, action): self.headers_serializer.serialize(response, data, action) def serialize_body(self, response, data, content_type, action): response.headers['Content-Type'] = content_type if data is not None: serializer = self.get_body_serializer(content_type) response.body = serializer.serialize(data, action) def get_body_serializer(self, content_type): try: return self.body_serializers[content_type] except (KeyError, TypeError): raise exceptions.UnsupportedContentType(content_type=content_type) class ServiceBrokerResponseSerializer(ResponseSerializer): def __init__(self): super(ServiceBrokerResponseSerializer, self).__init__() def serialize(self, response_data, content_type, action='default'): if isinstance(response_data, webob.Response): response = response_data self.serialize_body(response, response.data, content_type, action) else: response = super(ServiceBrokerResponseSerializer, self).serialize( response_data, content_type, action='default') return response class RequestHeadersDeserializer(ActionDispatcher): """Default request headers deserializer.""" def deserialize(self, request, action): return self.dispatch(request, action=action) def default(self, request): return {} class RequestDeserializer(object): """Break up a Request object into more useful pieces.""" def __init__(self, body_deserializers=None, headers_deserializer=None, supported_content_types=None, specific_content_types=None): self.supported_content_types = supported_content_types self.specific_content_types = specific_content_types self.body_deserializers = { 'application/xml': XMLDeserializer(), 'application/json': JSONDeserializer(), 'application/murano-packages-json-patch': MuranoPackageJSONPatchDeserializer(), 'application/env-model-json-patch': EnvModelJSONPatchDeserializer(), 'multipart/form-data': FormDataDeserializer() } self.body_deserializers.update(body_deserializers or {}) self.headers_deserializer = (headers_deserializer or RequestHeadersDeserializer()) def deserialize(self, request): """Extract necessary pieces of the request. :param request: Request object :returns: tuple of (expected controller action name, dictionary of keyword arguments to pass to the controller, the expected content type of the response) """ action_args = self.get_action_args(request.environ) action = action_args.pop('action', None) action_args.update(self.deserialize_headers(request, action)) action_args.update(self.deserialize_body(request, action)) accept = self.get_expected_content_type(request, action) return (action, action_args, accept) def deserialize_headers(self, request, action): return self.headers_deserializer.deserialize(request, action) def deserialize_body(self, request, action): if not len(request.body) > 0: LOG.debug("Empty body provided in request") return {} try: content_type = request.get_content_type() except exceptions.UnsupportedContentType as e: LOG.error("Unrecognized Content-Type provided in request: " "{error}".format(error=str(e))) raise if content_type is None: LOG.debug("No Content-Type provided in request") return {} try: deserializer = self.get_body_deserializer(content_type) except exceptions.UnsupportedContentType: LOG.debug("Unable to deserialize body as provided Content-Type") raise return deserializer.deserialize(request, action) def get_body_deserializer(self, content_type): try: return self.body_deserializers[content_type] except (KeyError, TypeError): raise exceptions.UnsupportedContentType(content_type=content_type) def get_expected_content_type(self, request, action): return request.best_match_content_type(action, self.supported_content_types, self.specific_content_types) def get_action_args(self, request_environment): """Parse dictionary created by routes library.""" try: args = request_environment['wsgiorg.routing_args'][1].copy() except Exception: return {} try: del args['controller'] except KeyError: pass try: del args['format'] except KeyError: pass return args class TextDeserializer(ActionDispatcher): """Default request body deserialization.""" def deserialize(self, request, action='default'): return self.dispatch(request, action=action) def default(self, request): return {} class JSONDeserializer(TextDeserializer): def _from_json(self, datastring): try: return jsonutils.loads(datastring) except ValueError: msg = _("cannot understand JSON") raise exceptions.MalformedRequestBody(reason=msg) def default(self, request): datastring = request.body return {'body': self._from_json(datastring)} class JSONPatchDeserializer(TextDeserializer): allowed_operations = {} schema = None allow_unknown_path = False def _from_json_patch(self, datastring): try: operations = jsonutils.loads(datastring) except ValueError: msg = _("cannot understand JSON") raise exceptions.MalformedRequestBody(reason=msg) if not isinstance(operations, list): msg = _('JSON-patch must be a list.') raise webob.exc.HTTPBadRequest(explanation=msg) changes = [] for raw_change in operations: if not isinstance(raw_change, dict): msg = _('Operations must be JSON objects.') raise webob.exc.HTTPBadRequest(explanation=msg) (op, path) = self._parse_json_schema_change(raw_change) self._validate_path(path) change = {'op': op, 'path': path} change['value'] = self._get_change_value(raw_change, op) self._validate_change(change) changes.append(change) return changes def _get_change_value(self, raw_change, op): if 'value' not in raw_change: msg = _('Operation "%s" requires a member named "value".') raise webob.exc.HTTPBadRequest(explanation=msg % op) return raw_change['value'] def _get_change_operation(self, raw_change): try: return raw_change['op'] except KeyError: msg = _("Unable to find '%s' in JSON Schema change") % 'op' raise webob.exc.HTTPBadRequest(explanation=msg) def _get_change_path(self, raw_change): try: return raw_change['path'] except KeyError: msg = _("Unable to find '%s' in JSON Schema change") % 'path' raise webob.exc.HTTPBadRequest(explanation=msg) def _validate_change(self, change): self._validate_allowed_methods(change, self.allow_unknown_path) if self.schema: self._validate_schema(change) def _validate_allowed_methods(self, change, allow_unknown_path=False): full_path = '/'.join(change['path']) change_op = change['op'] allowed_methods = self.allowed_operations.get(full_path) if allowed_methods is None: if allow_unknown_path: allowed_methods = ['add', 'replace', 'remove'] else: msg = _("Attribute '{0}' is invalid").format(full_path) raise webob.exc.HTTPForbidden(explanation=str(msg)) if change_op not in allowed_methods: ops = ', '.join(allowed_methods) if allowed_methods\ else 'no operations' msg = _("Method '{method}' is not allowed for a path with name " "'{name}'. Allowed operations are: " "{ops}").format(method=change_op, name=full_path, ops=ops) raise webob.exc.HTTPForbidden(explanation=str(msg)) def _validate_schema(self, change): property_to_update = change['value'] can_validate = True schema = self.schema for p in change['path']: if schema['type'] == 'array': try: schema = schema['items'] except KeyError: can_validate = False elif schema['type'] == 'object': try: schema = schema['properties'][p] except KeyError: can_validate = False if can_validate: try: jsonschema.validate(property_to_update, schema) except jsonschema.ValidationError as e: LOG.error("Schema validation error occurred: %s", e) raise webob.exc.HTTPBadRequest(explanation=e.message) def _decode_json_pointer(self, pointer): """Parse a json pointer. Json Pointers are defined in http://tools.ietf.org/html/draft-pbryan-zyp-json-pointer . The pointers use '/' for separation between object attributes, such that '/A/B' would evaluate to C in {"A": {"B": "C"}}. A '/' character in an attribute name is encoded as "~1" and a '~' character is encoded as "~0". """ self._validate_json_pointer(pointer) ret = [] for part in pointer.lstrip('/').split('/'): ret.append(part.replace('~1', '/').replace('~0', '~').strip()) return ret def _validate_json_pointer(self, pointer): """Validate a json pointer. Only limited form of json pointers is accepted. """ if not pointer.startswith('/'): msg = _('Pointer `%s` does not start with "/".') % pointer raise webob.exc.HTTPBadRequest(explanation=msg) if re.search('/\s*?/', pointer[1:]): msg = _('Pointer `%s` contains adjacent "/".') % pointer raise webob.exc.HTTPBadRequest(explanation=msg) if len(pointer) > 1 and pointer.endswith('/'): msg = _('Pointer `%s` ends with "/".') % pointer raise webob.exc.HTTPBadRequest(explanation=msg) if pointer[1:].strip() == '/': msg = _('Pointer `%s` does not contain a valid token.') % pointer raise webob.exc.HTTPBadRequest(explanation=msg) if re.search('~[^01]', pointer) or pointer.endswith('~'): msg = _('Pointer `%s` contains "~", which is not part of' ' a recognized escape sequence.') % pointer raise webob.exc.HTTPBadRequest(explanation=msg) def _parse_json_schema_change(self, raw_change): op = self._get_change_operation(raw_change) path = self._get_change_path(raw_change) path_list = self._decode_json_pointer(path) return op, path_list def _validate_path(self, path): pass def default(self, request): return {'body': self._from_json_patch(request.body)} class MuranoPackageJSONPatchDeserializer(JSONPatchDeserializer): allowed_operations = {"categories": ["add", "replace", "remove"], "tags": ["add", "replace", "remove"], "is_public": ["replace"], "enabled": ["replace"], "description": ["replace"], "name": ["replace"]} allow_unknown_path = False schema = validation_schemas.PKG_UPDATE_SCHEMA def _validate_path(self, path): if len(path) > 1: msg = _('Nested paths are not allowed') raise webob.exc.HTTPBadRequest(explanation=msg) class EnvModelJSONPatchDeserializer(JSONPatchDeserializer): allowed_operations = {"": [], "defaultNetworks": ["replace"], "defaultNetworks/environment": ["replace"], "defaultNetworks/environment/?/id": [], "defaultNetworks/flat": ["replace"], "name": ["replace"], "region": ["replace"], "?/type": ["replace"], "?/id": [] } allow_unknown_path = True schema = validation_schemas.ENV_SCHEMA class XMLDeserializer(TextDeserializer): def __init__(self, metadata=None): """XMLDeserializer. :param metadata: information needed to deserialize xml into a dictionary. """ super(XMLDeserializer, self).__init__() self.metadata = metadata or {} def _from_xml(self, request): datastring = request.body plurals = set(self.metadata.get('plurals', {})) try: node = xmlutils.safe_minidom_parse_string(datastring).childNodes[0] return {node.nodeName: self._from_xml_node(node, plurals)} except expat.ExpatError: msg = _("cannot understand XML") raise exceptions.MalformedRequestBody(reason=msg) def _from_xml_node(self, node, listnames): """Convert a minidom node to a simple Python type. :param listnames: list of XML node names whose subnodes should be considered list items. """ if len(node.childNodes) == 1 and node.childNodes[0].nodeType == 3: return node.childNodes[0].nodeValue elif node.nodeName in listnames: return [self._from_xml_node(n, listnames) for n in node.childNodes] else: result = dict() for attr in node.attributes.keys(): result[attr] = node.attributes[attr].nodeValue for child in node.childNodes: if child.nodeType != node.TEXT_NODE: result[child.nodeName] = self._from_xml_node(child, listnames) return result def find_first_child_named(self, parent, name): """Find first child which has the given name of a node.""" for node in parent.childNodes: if node.nodeName == name: return node return None def find_children_named(self, parent, name): """Return all children of a node with the given name.""" for node in parent.childNodes: if node.nodeName == name: yield node def extract_text(self, node): """Get the text field contained by the given node.""" if len(node.childNodes) == 1: child = node.childNodes[0] if child.nodeType == child.TEXT_NODE: return child.nodeValue return "" def default(self, datastring): return {'body': self._from_xml(datastring)} class FormDataDeserializer(TextDeserializer): def _from_json(self, datastring): value = datastring try: LOG.debug("Trying to deserialize '{data}' to json".format( data=datastring)) value = jsonutils.loads(datastring) except ValueError: LOG.warning("Unable to deserialize to json, using raw text") return value def default(self, request): form_data_parts = request.POST for key, value in form_data_parts.items(): if isinstance(value, str): form_data_parts[key] = self._from_json(value) return {'body': form_data_parts} murano-9.0.0/murano/common/cf_config.py0000664000175000017500000000522313656750211020133 0ustar zuulzuul00000000000000# Copyright 2011 OpenStack Foundation # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_config import cfg from oslo_log import log as logging from oslo_middleware import cors from murano.common.i18n import _ from murano import version cfapi_opts = [ cfg.StrOpt('tenant', default='admin', help=_('Project for service broker')), cfg.HostAddressOpt('bind_host', default='localhost', help=_('Host for service broker')), cfg.StrOpt('bind_port', default='8083', help=_('Port for service broker')), cfg.StrOpt('auth_url', default='localhost:5000', help=_('Authentication URL')), cfg.StrOpt('user_domain_name', default='default', help=_('Domain name of the user')), cfg.StrOpt('project_domain_name', default='default', help=_('Domain name of the project')), cfg.StrOpt('packages_service', default='murano', help=_('Package service which should be used by service' ' broker'))] CONF = cfg.CONF CONF.register_opts(cfapi_opts, group='cfapi') def parse_args(args=None, usage=None, default_config_files=None): logging.register_options(CONF) CONF(args=args, project='murano', version=version.version_string, usage=usage, default_config_files=default_config_files) def set_middleware_defaults(): """Update default configuration options for oslo.middleware.""" cors.set_defaults( allow_headers=['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Configuration-Session', 'X-Roles', 'X-User-Id', 'X-Tenant-Id'], expose_headers=['X-Auth-Token', 'X-Openstack-Request-Id', 'X-Configuration-Session', 'X-Roles', 'X-User-Id', 'X-Tenant-Id'], allow_methods=['GET', 'PUT', 'POST', 'DELETE', 'PATCH'] ) murano-9.0.0/murano/common/plugins/0000775000175000017500000000000013656750351017330 5ustar zuulzuul00000000000000murano-9.0.0/murano/common/plugins/__init__.py0000664000175000017500000000000013656750211021422 0ustar zuulzuul00000000000000murano-9.0.0/murano/common/plugins/package_types_loader.py0000664000175000017500000000642113656750211024045 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import semantic_version from oslo_config import cfg from oslo_log import log as logging from stevedore import dispatch CONF = cfg.CONF LOG = logging.getLogger(__name__) NAMESPACE = 'io.murano.plugins.packages' class PluginLoader(object): def __init__(self): LOG.info('Loading package type plugins') extension_manager = dispatch.EnabledExtensionManager( NAMESPACE, self._is_plugin_enabled, on_load_failure_callback=self._on_load_failure) self.formats = {} for ext in extension_manager.extensions: self._load_plugin(ext) def _load_plugin(self, extension): format_name = extension.entry_point.name self.register_format(format_name, extension.plugin) @staticmethod def _is_plugin_enabled(extension): if CONF.murano.enabled_plugins is None: # assume all plugins are enabled until manually specified otherwise return True else: return (extension.entry_point.dist.project_name in CONF.murano.enabled_plugins) @staticmethod def _on_load_failure(manager, ep, exc): LOG.warning("Error loading entry-point {ep} from package {dist}: " "{err}".format(ep=ep.name, dist=ep.dist, err=exc)) @staticmethod def _parse_format_string(format_string): parts = format_string.rsplit('/', 1) if len(parts) != 2: LOG.error("Incorrect format name {name}".format( name=format_string)) raise ValueError(format_string) return ( parts[0].strip(), semantic_version.Version.coerce(parts[1]) ) def register_format(self, format_name, package_class): try: name, version = self._parse_format_string(format_name) except ValueError: return else: self._initialize_plugin(package_class) self.formats.setdefault(name, {})[version] = package_class LOG.info('Plugin for "{0}" package type was loaded'.format( format_name)) def get_package_handler(self, format_name): format_name, runtime_version = self._parse_format_string(format_name) package_class = self.formats.get(format_name, {}).get( runtime_version) if package_class is None: return None return lambda *args, **kwargs: package_class( format_name, runtime_version, *args, **kwargs) @staticmethod def _initialize_plugin(plugin): if hasattr(plugin, "init_plugin"): initializer = getattr(plugin, "init_plugin") LOG.debug("Initializing plugin class {name}".format(name=plugin)) initializer() murano-9.0.0/murano/common/plugins/extensions_loader.py0000664000175000017500000001254213656750211023426 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import inspect import re from oslo_config import cfg from oslo_log import log as logging from stevedore import dispatch from murano.dsl import murano_package CONF = cfg.CONF LOG = logging.getLogger(__name__) # regexp validator to ensure that the entry-point name is a valid MuranoPL # class name with an optional namespace name NAME_RE = re.compile(r'^[a-zA-Z]\w*(\.[a-zA-Z]\w*)*$') class PluginLoader(object): def __init__(self, namespace="io.murano.extensions"): LOG.info('Loading extension plugins') self.namespace = namespace extension_manager = dispatch.EnabledExtensionManager( self.namespace, PluginLoader.is_plugin_enabled, on_load_failure_callback=PluginLoader._on_load_failure) self.packages = {} name_map = {} for ext in extension_manager.extensions: self.load_extension(ext, name_map) self.cleanup_duplicates(name_map) def load_extension(self, extension, name_map): dist_name = str(extension.entry_point.dist) name = extension.entry_point.name if not NAME_RE.match(name): LOG.warning("Entry-point 'name' {name} is invalid".format( name=name)) return name_map.setdefault(name, []).append(dist_name) if dist_name in self.packages: package = self.packages[dist_name] else: package = PackageDefinition(extension.entry_point.dist) self.packages[dist_name] = package plugin = extension.plugin try: package.classes[name] = initialize_plugin(plugin) except Exception: LOG.exception("Unable to initialize plugin for {name}".format( name=name)) return LOG.info("Loaded class {class_name} from {dist}".format( class_name=name, dist=dist_name)) def cleanup_duplicates(self, name_map): for class_name, package_names in name_map.items(): if len(package_names) >= 2: LOG.warning("Class is defined in multiple packages!") for package_name in package_names: LOG.warning( "Disabling class {class_name} in {dist} due to " "conflict".format( class_name=class_name, dist=package_name)) self.packages[package_name].classes.pop(class_name) @staticmethod def is_plugin_enabled(extension): if CONF.murano.enabled_plugins is None: # assume all plugins are enabled until manually specified otherwise return True else: return (extension.entry_point.dist.project_name in CONF.murano.enabled_plugins) @staticmethod def _on_load_failure(manager, ep, exc): LOG.warning("Error loading entry-point {ep} from package {dist}: " "{err}".format(ep=ep.name, dist=ep.dist, err=exc)) def register_in_loader(self, package_loader): for package in self.packages.values(): package_loader.register_package( MuranoPackage(package_loader, package)) def initialize_plugin(plugin): if hasattr(plugin, "init_plugin"): initializer = getattr(plugin, "init_plugin") if inspect.ismethod(initializer) and initializer.__self__ is plugin: LOG.debug("Initializing plugin class {name}".format(name=plugin)) initializer() return plugin class PackageDefinition(object): def __init__(self, distribution): self.name = distribution.project_name self.version = distribution.version if distribution.has_metadata(distribution.PKG_INFO): # This has all the package metadata, including Author, # description, License etc self.info = distribution.get_metadata(distribution.PKG_INFO) else: self.info = None self.classes = {} class MuranoPackage(murano_package.MuranoPackage): def __init__(self, pkg_loader, package_definition): super(MuranoPackage, self).__init__( pkg_loader, package_definition.name, runtime_version='1.0') for class_name, clazz in package_definition.classes.items(): if hasattr(clazz, "_murano_class_name"): LOG.warning("Class '%(class_name)s' has a MuranoPL " "name '%(name)s' defined which will be " "ignored" % dict(class_name=class_name, name=getattr(clazz, "_murano_class_name"))) LOG.debug("Registering '%s' from '%s' in class loader", class_name, package_definition.name) self.register_class(clazz, class_name) def get_resource(self, name): raise NotImplementedError() murano-9.0.0/murano/common/xmlutils.py0000664000175000017500000000547713656750211020112 0ustar zuulzuul00000000000000# Copyright 2013 IBM Corp. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from xml.dom import minidom from xml.parsers import expat from xml import sax from xml.sax import expatreader class ProtectedExpatParser(expatreader.ExpatParser): """An expat parser which disables DTD's and entities by default.""" def __init__(self, forbid_dtd=True, forbid_entities=True, *args, **kwargs): # Python 2.x old style class expatreader.ExpatParser.__init__(self, *args, **kwargs) self.forbid_dtd = forbid_dtd self.forbid_entities = forbid_entities def start_doctype_decl(self, name, sysid, pubid, has_internal_subset): raise ValueError("Inline DTD forbidden") def entity_decl(self, entityName, is_parameter_entity, value, base, systemId, publicId, notationName): raise ValueError(" entity declaration forbidden") def unparsed_entity_decl(self, name, base, sysid, pubid, notation_name): # expat 1.2 raise ValueError(" unparsed entity forbidden") def external_entity_ref(self, context, base, systemId, publicId): raise ValueError(" external entity forbidden") def notation_decl(self, name, base, sysid, pubid): raise ValueError(" notation forbidden") def reset(self): expatreader.ExpatParser.reset(self) if self.forbid_dtd: self._parser.StartDoctypeDeclHandler = self.start_doctype_decl self._parser.EndDoctypeDeclHandler = None if self.forbid_entities: self._parser.EntityDeclHandler = self.entity_decl self._parser.UnparsedEntityDeclHandler = self.unparsed_entity_decl self._parser.ExternalEntityRefHandler = self.external_entity_ref self._parser.NotationDeclHandler = self.notation_decl try: self._parser.SkippedEntityHandler = None except AttributeError: # some pyexpat versions do not support SkippedEntity pass def safe_minidom_parse_string(xml_string): """Parse an XML string using minidom safely. """ try: return minidom.parseString( # nosec xml_string, parser=ProtectedExpatParser()) # nosec except sax.SAXParseException: raise expat.ExpatError() murano-9.0.0/murano/common/consts.py0000664000175000017500000000143413656750211017527 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. CATEGORIES = ['Web', 'Databases', 'Message Queue', 'Application Servers', 'Microsoft Services', 'Load Balancers', 'Big Data', 'Key-Value Storage', 'SAP'] murano-9.0.0/murano/common/i18n.py0000664000175000017500000000151613656750211016776 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """oslo.i18n integration module. See https://docs.openstack.org/oslo.i18n/latest/user/usage.html """ import oslo_i18n _translators = oslo_i18n.TranslatorFactory(domain='murano') # The primary translation function using the well-known name "_" _ = _translators.primary murano-9.0.0/murano/common/app_loader.py0000664000175000017500000000620713656750211020327 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os from oslo_config import cfg from oslo_log import log as logging from paste import deploy from murano.common.i18n import _ CONF = cfg.CONF def _get_deployment_flavor(): """Retrieve the paste_deploy.flavor config item Retrieve the paste_deploy.flavor config item, formatted appropriately for appending to the application name. """ flavor = CONF.paste_deploy.flavor return '' if not flavor else ('-' + flavor) def _get_paste_config_path(): paste_suffix = '-paste.ini' conf_suffix = '.conf' if CONF.config_file: # Assume paste config is in a paste.ini file corresponding # to the last config file path = CONF.config_file[-1].replace(conf_suffix, paste_suffix) else: path = CONF.prog + '-paste.ini' return CONF.find_file(os.path.basename(path)) def _get_deployment_config_file(): """Retrieve the deployment_config_file config item Retrieve the deployment_config_file config item, formatted as an absolute pathname. """ path = CONF.paste_deploy.config_file if not path: path = _get_paste_config_path() if not path: msg = _("Unable to locate paste config file for %s.") % CONF.prog raise RuntimeError(msg) return os.path.abspath(path) def load_paste_app(app_name=None): """Builds and returns a WSGI app from a paste config file. We assume the last config file specified in the supplied ConfigOpts object is the paste config file. :param app_name: name of the application to load :raises RuntimeError when config file cannot be located or application cannot be loaded from config file """ if app_name is None: app_name = CONF.prog # append the deployment flavor to the application name, # in order to identify the appropriate paste pipeline app_name += _get_deployment_flavor() conf_file = _get_deployment_config_file() try: logger = logging.getLogger(__name__) logger.debug("Loading {app_name} from {conf_file}".format( conf_file=conf_file, app_name=app_name)) app = deploy.loadapp("config:%s" % conf_file, name=app_name) return app except (LookupError, ImportError) as e: msg = _("Unable to load %(app_name)s from configuration file" " %(conf_file)s. \nGot: %(e)r") % {'conf_file': conf_file, 'app_name': app_name, 'e': e} logger.error(msg) raise RuntimeError(msg) murano-9.0.0/murano/common/exceptions.py0000664000175000017500000000400213656750211020371 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. _FATAL_EXCEPTION_FORMAT_ERRORS = False # Exceptions from openstack-common class Error(Exception): def __init__(self, message=None): super(Error, self).__init__(message) class OpenstackException(Exception): """Base Exception class. To correctly use this class, inherit from it and define a 'msg_fmt' property. That message will get printf'd with the keyword arguments provided to the constructor. """ msg_fmt = "An unknown exception occurred" def __init__(self, **kwargs): try: self._error_string = self.msg_fmt % kwargs except Exception: if _FATAL_EXCEPTION_FORMAT_ERRORS: raise else: # at least get the io.murano message out if something happened self._error_string = self.msg_fmt def __str__(self): return self._error_string class UnsupportedContentType(OpenstackException): msg_fmt = "Unsupported content type %(content_type)s" class NotAcceptableContentType(OpenstackException): msg_fmt = ("Response with content type %(content_type)s " "expected but can not be provided") class MalformedRequestBody(OpenstackException): msg_fmt = "Malformed message body: %(reason)s" # Murano exceptions class TimeoutException(Exception): pass class PolicyViolationException(Exception): pass class RouterInfoException(Exception): pass murano-9.0.0/murano/common/uuidutils.py0000664000175000017500000000131713656750211020245 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_utils import uuidutils def generate_uuid(): return uuidutils.generate_uuid(dashed=False) murano-9.0.0/murano/common/auth_utils.py0000664000175000017500000001373413656750211020405 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os from keystoneauth1 import identity from keystoneauth1 import loading as ka_loading from keystoneclient.v3 import client as ks_client from oslo_config import cfg from oslo_log import log as logging from oslo_log import versionutils from murano.dsl import helpers CFG_KEYSTONE_GROUP = 'keystone_authtoken' CFG_MURANO_AUTH_GROUP = 'murano_auth' LOG = logging.getLogger(__name__) cfg.CONF.import_group(CFG_KEYSTONE_GROUP, 'keystonemiddleware.auth_token') def _get_keystone_auth(trust_id=None): kwargs = {} if trust_id: # Remove project_name and project_id, since we need a trust scoped # auth object kwargs['project_name'] = None kwargs['project_domain_name'] = None kwargs['project_id'] = None kwargs['trust_id'] = trust_id auth = ka_loading.load_auth_from_conf_options( cfg.CONF, CFG_MURANO_AUTH_GROUP, **kwargs) return auth def _create_keystone_admin_client(): auth = _get_keystone_auth() session = _get_session(auth=auth) return ks_client.Client(session=session) def get_client_session(execution_session=None, conf=None): if not execution_session: execution_session = helpers.get_execution_session() trust_id = execution_session.trust_id if trust_id is None: return get_token_client_session( token=execution_session.token, project_id=execution_session.project_id) auth = _get_keystone_auth(trust_id) session = _get_session(auth=auth, conf_section=conf) return session def get_token_client_session(token=None, project_id=None, conf=None): www_authenticate_uri = \ cfg.CONF[CFG_MURANO_AUTH_GROUP].www_authenticate_uri if not www_authenticate_uri: versionutils.report_deprecated_feature( LOG, 'Please configure www_authenticate_uri in ' + CFG_MURANO_AUTH_GROUP + 'group') www_authenticate_uri = \ cfg.CONF[CFG_KEYSTONE_GROUP].www_authenticate_uri if not (www_authenticate_uri.endswith('v2.0') or www_authenticate_uri.endswith('v3')): auth_url = os.path.join(www_authenticate_uri, 'v3') elif www_authenticate_uri.endswith('v2.0'): auth_url = www_authenticate_uri.replace('v2.0', 'v3') else: auth_url = www_authenticate_uri if token is None or project_id is None: execution_session = helpers.get_execution_session() token = execution_session.token project_id = execution_session.project_id token_auth = identity.Token( auth_url, token=token, project_id=project_id) session = _get_session(auth=token_auth, conf_section=conf) return session def create_keystone_client(token=None, project_id=None, conf=None): return ks_client.Client(session=get_token_client_session( token=token, project_id=project_id, conf=conf)) def create_trust(trustee_token=None, trustee_project_id=None): admin_client = _create_keystone_admin_client() user_client = create_keystone_client( token=trustee_token, project_id=trustee_project_id) trustee_user = admin_client.session.auth.get_user_id(admin_client.session) auth_ref = user_client.session.auth.get_access(user_client.session) trustor_user = auth_ref.user_id project = auth_ref.project_id roles = auth_ref.role_names trust = user_client.trusts.create( trustor_user=trustor_user, trustee_user=trustee_user, impersonation=True, role_names=roles, project=project) return trust.id def delete_trust(session): user_client = create_keystone_client( token=session.token, project_id=session.project_id) user_client.trusts.delete(session.trust_id) def _get_config_option(conf_section, option_name, default=None): if conf_section and hasattr(cfg.CONF[conf_section], option_name): return getattr(cfg.CONF[conf_section], option_name) return default def _get_session(auth, conf_section=None): # Fallback to murano_auth section for TLS parameters # if no other conf_section supplied if not conf_section: conf_section = CFG_MURANO_AUTH_GROUP session = ka_loading.load_session_from_conf_options( auth=auth, conf=cfg.CONF, group=conf_section) return session def get_session_client_parameters(service_type=None, region='', interface=None, service_name=None, conf=None, session=None, execution_session=None): if region == '': region = cfg.CONF.home_region result = { 'session': session or get_client_session( execution_session=execution_session, conf=conf) } url = _get_config_option(conf, 'url') if url: result['endpoint_override'] = url else: if not interface: interface = _get_config_option(conf, 'endpoint_type') result.update({ 'service_type': service_type, 'service_name': service_name, 'interface': interface, 'region_name': region }) return result def get_user(uid): client = _create_keystone_admin_client() return client.users.get(uid).to_dict() def get_project(pid): client = _create_keystone_admin_client() return client.projects.get(pid).to_dict() murano-9.0.0/murano/common/policy.py0000664000175000017500000001001613656750212017512 0ustar zuulzuul00000000000000# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # Based on designate/policy.py from oslo_config import cfg from oslo_log import log as logging from oslo_policy import policy from webob import exc as exceptions from murano.common import policies LOG = logging.getLogger(__name__) CONF = cfg.CONF _ENFORCER = None def reset(): global _ENFORCER if _ENFORCER: _ENFORCER.clear() _ENFORCER = None def init(use_conf=True): global _ENFORCER if not _ENFORCER: LOG.debug("Enforcer is not present, recreating.") _ENFORCER = policy.Enforcer(CONF, use_conf=use_conf) register_rules(_ENFORCER) def set_rules(data, default_rule=None, overwrite=True): default_rule = default_rule or cfg.CONF.policy_default_rule if not _ENFORCER: LOG.debug("Enforcer not present, recreating at rules stage.") init() if default_rule: _ENFORCER.default_rule = default_rule LOG.debug("Loading rules {rules}, default: {def_rule}, overwrite: " "{overwrite}".format(rules=data, def_rule=default_rule, overwrite=overwrite)) if isinstance(data, dict): rules = policy.Rules.from_dict(data, default_rule) else: rules = policy.Rules.load_json(data, default_rule) _ENFORCER.set_rules(rules, overwrite=overwrite) def check(rule, ctxt, target=None, do_raise=True, exc=None): """Verify that the rule is valid on the target in this context. :param rule: String representing the action to be checked, which should be colon-separated for clarity. :param ctxt: Request context from which user credentials are extracted. :param target: Dictionary representing the object of the action for object creation; this should be a dictionary representing the location of the object, e.g. {'environment_id': object.environment_id} :param do_raise: Whether to raise an exception or not if the check fails. :param exc: Class of the exception to raise if the check fails. :raises exceptions.HTTPForbidden: If verification fails. Or if 'exc' is specified it will raise an exception of that type. """ init() if target is None: target = {} creds = ctxt.to_dict() if not exc: exc = exceptions.HTTPForbidden try: result = _ENFORCER.enforce(rule, target, creds, do_raise, exc) except Exception: result = False raise else: return result finally: extra = {'policy': {'rule': rule, 'target': target}} if result: LOG.debug("Policy check succeeded for rule {rule} on target " "{target}".format(rule=rule, target=repr(target), extra=extra)) else: LOG.debug("Policy check failed for rule {rule} on target: " "{target}".format(rule=rule, target=repr(target), extra=extra)) def check_is_admin(context): """Check if the given context is associated with an admin role. :param context: Murano request context :returns: A non-False value if context role is admin. """ return check('context_is_admin', context, context.to_dict(), do_raise=False) def register_rules(enforcer): enforcer.register_defaults(policies.list_rules()) murano-9.0.0/murano/opts.py0000664000175000017500000000651113656750211015714 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import copy import itertools from keystoneauth1 import loading as ks_loading import oslo_service.sslutils import murano.common.cf_config import murano.common.config import murano.common.wsgi __all__ = [ 'list_opts', 'list_cfapi_opts', ] def build_list(opt_list): return list(itertools.chain(*opt_list)) # List of *all* options in [DEFAULT] namespace of murano. # Any new option list or option needs to be registered here. _opt_lists = [ ('engine', murano.common.config.engine_opts), ('rabbitmq', murano.common.config.rabbit_opts), ('heat', murano.common.config.heat_opts + ks_loading.get_session_conf_options()), ('neutron', murano.common.config.neutron_opts + ks_loading.get_session_conf_options()), ('murano', murano.common.config.murano_opts + ks_loading.get_session_conf_options()), ('glare', murano.common.config.glare_opts + ks_loading.get_session_conf_options()), ('mistral', murano.common.config.mistral_opts + ks_loading.get_session_conf_options()), ('networking', murano.common.config.networking_opts), ('stats', murano.common.config.stats_opts), ('murano_auth', murano.common.config.murano_auth_opts + ks_loading.get_session_conf_options() + ks_loading.get_auth_common_conf_options() + ks_loading.get_auth_plugin_conf_options('password') + ks_loading.get_auth_plugin_conf_options('v2password') + ks_loading.get_auth_plugin_conf_options('v3password')), (None, build_list([ murano.common.config.metadata_dir, murano.common.config.bind_opts, murano.common.config.file_server, murano.common.wsgi.wsgi_opts, ])), ] _cfapi_opt_lists = [ ('cfapi', murano.common.cf_config.cfapi_opts), ('glare', murano.common.config.glare_opts + ks_loading.get_session_conf_options()) ] _opt_lists.extend(oslo_service.sslutils.list_opts()) def list_opts(): """Return a list of oslo.config options available in Murano. Each element of the list is a tuple. The first element is the name of the group under which the list of elements in the second element will be registered. A group name of None corresponds to the [DEFAULT] group in config files. This function is also discoverable via the 'murano' entry point under the 'oslo.config.opts' namespace. The purpose of this is to allow tools like the Oslo sample config file generator to discover the options exposed to users by Murano. :returns: a list of (group_name, opts) tuples """ return [(g, copy.deepcopy(o)) for g, o in _opt_lists] def list_cfapi_opts(): """Return a list of oslo_config options available in service broker.""" return [(g, copy.deepcopy(o)) for g, o in _cfapi_opt_lists] murano-9.0.0/murano/hacking/0000775000175000017500000000000013656750351015763 5ustar zuulzuul00000000000000murano-9.0.0/murano/hacking/__init__.py0000664000175000017500000000000013656750211020055 0ustar zuulzuul00000000000000murano-9.0.0/murano/hacking/checks.py0000664000175000017500000000437513656750211017601 0ustar zuulzuul00000000000000# Copyright (c) 2015 Intel, Inc. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """ Guidelines for writing new hacking checks - Use only for Murano specific tests. OpenStack general tests should be submitted to the common 'hacking' module. - Pick numbers in the range M3xx. Find the current test with the highest allocated number and then pick the next value. If nova has an N3xx code for that test, use the same number. - Keep the test method code in the source file ordered based on the M3xx value. - List the new rule in the top level HACKING.rst file - Add test cases for each new rule to /tests/unit/test_hacking.py """ import re from hacking import core mutable_default_args = re.compile(r"^\s*def .+\((.+=\{\}|.+=\[\])") assert_equal_end_with_none_re = re.compile( r"(.)*assertEqual\((\w|\.|\'|\"|\[|\])+, None\)") assert_equal_start_with_none_re = re.compile( r"(.)*assertEqual\(None, (\w|\.|\'|\"|\[|\])+\)") @core.flake8ext def assert_equal_none(logical_line): """Check for assertEqual(A, None) or assertEqual(None, A) sentences M318 """ msg = ("M318: assertEqual(A, None) or assertEqual(None, A) " "sentences not allowed") res = (assert_equal_start_with_none_re.match(logical_line) or assert_equal_end_with_none_re.match(logical_line)) if res: yield (0, msg) @core.flake8ext def no_mutable_default_args(logical_line): msg = "M322: Method's default argument shouldn't be mutable!" if mutable_default_args.match(logical_line): yield (0, msg) @core.flake8ext def check_no_basestring(logical_line): if re.search(r"\bbasestring\b", logical_line): msg = ("M326: basestring is not Python3 usage, use " "str instead.") yield(0, msg) murano-9.0.0/murano/tests/0000775000175000017500000000000013656750351015521 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/__init__.py0000664000175000017500000000000013656750211017613 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/0000775000175000017500000000000013656750351016500 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/utils.py0000664000175000017500000001022713656750212020210 0ustar zuulzuul00000000000000# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import os import shutil import yaml import zipfile from murano import context from murano.db import session MANIFEST = {'Format': 'MuranoPL/1.0', 'Type': 'Application', 'Description': 'MockApp for API tests', 'Author': 'Mirantis, Inc'} def dummy_context(user='test_username', tenant_id='test_tenant_id', request_id='dummy-request', **kwargs): # NOTE(kzaitsev) we need to pass non-False value to request_id, to # prevent it being generated by oslo during tests. params = { 'request_id': request_id, 'tenant': tenant_id, 'user': user, } params.update(kwargs) return context.RequestContext.from_dict(params) def save_models(*models): s = session.get_session() for m in models: m.save(s) def compose_package(app_name, package_dir, require=None, archive_dir=None, add_class_name=False, manifest_required=True, version=None): """Composes a murano package Composes package `app_name` manifest and files from `package_dir`. Includes `require` section if any in the manifest file. Puts the resulting .zip file into `archive_dir` if present or in the `package_dir`. """ tmp_package_dir = os.path.join(archive_dir, os.path.basename(package_dir)) shutil.copytree(package_dir, tmp_package_dir) package_dir = tmp_package_dir if manifest_required: manifest = os.path.join(package_dir, "manifest.yaml") with open(manifest, 'w') as f: fqn = 'io.murano.apps.' + app_name mfest_copy = MANIFEST.copy() mfest_copy['FullName'] = fqn mfest_copy['Name'] = app_name mfest_copy['Classes'] = {fqn: 'mock_muranopl.yaml'} if require: mfest_copy['Require'] = {str(name): version for name, version in require} if version: mfest_copy['Version'] = version f.write(yaml.dump(mfest_copy, default_flow_style=False)) if add_class_name: class_file = os.path.join(package_dir, 'Classes', 'mock_muranopl.yaml') with open(class_file, 'r') as f: contents = f.read() index = contents.index('Extends') contents = "{0}Name: {1}\n\n{2}".format(contents[:index], app_name, contents[index:]) with open(class_file, 'w') as f: f.write(contents) if require: class_file = os.path.join(package_dir, 'Classes', 'mock_muranopl.yaml') with open(class_file, 'r') as f: content = f.read() index_string = 'deploy:\n Body:\n ' index = content.index(index_string) + len(index_string) class_names = [req[0][req[0].rfind('.') + 1:] for req in require] addition = "".join(["- new({})\n".format(name) + ' ' * 6 for name in class_names]) content = content[:index] + addition + content[index:] with open(class_file, 'w') as f: f.write(content) name = app_name + '.zip' if not archive_dir: archive_dir = os.path.dirname(os.path.abspath(__file__)) archive_path = os.path.join(archive_dir, name) with zipfile.ZipFile(archive_path, 'w') as zip_file: for root, dirs, files in os.walk(package_dir): for f in files: zip_file.write( os.path.join(root, f), arcname=os.path.join(os.path.relpath(root, package_dir), f) ) return archive_path, name murano-9.0.0/murano/tests/unit/__init__.py0000664000175000017500000000000013656750211020572 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/0000775000175000017500000000000013656750351020256 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/__init__.py0000664000175000017500000000000013656750211022350 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/test_package_base.py0000664000175000017500000001706113656750211024254 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import random import semantic_version import shutil import string import tempfile from unittest import mock from murano.packages import exceptions from murano.packages import package_base import murano.tests.unit.base as test_base class TestPackageBase(test_base.MuranoTestCase): @classmethod def setUpClass(cls): super(TestPackageBase, cls).setUpClass() package_base.PackageBase.__abstractmethods__ = set() cls.source_directory = tempfile.mkdtemp(dir=tempfile.tempdir) cls.version = semantic_version.Version.coerce('1.2.3') cls.mock_manifest = { 'Name': 'mock_display_name', 'FullName': 'mock_full_name', 'Type': 'Application', 'Version': '1.2.3', 'Description': 'test_description', 'Author': 'test_author', 'Supplier': 'test_supplier', 'Tags': ['tag1', 'tag2', 'tag3'], 'Logo': None } cls.package_base = package_base.PackageBase('test_format', 'test_runtime_version', cls.source_directory, cls.mock_manifest) @classmethod def tearDownClass(cls): if os.path.isdir(cls.source_directory): shutil.rmtree(cls.source_directory) def test_create_package_base_without_full_name(self): with self.assertRaisesRegex(exceptions.PackageFormatError, 'FullName is not specified'): package_base.PackageBase('test_format', 'test_runtime_version', 'test_source_directory', manifest={'FullName': None}) def test_create_package_base_with_invalid_full_name(self): full_names = ['.invalid_name_1', 'invalid..name..2', 'invalid name 3'] for full_name in full_names: expected_error_message = 'Invalid FullName {0}'.format(full_name) with self.assertRaisesRegex(exceptions.PackageFormatError, expected_error_message): package_base.PackageBase('test_format', 'test_runtime_version', 'test_source_directory', manifest={'FullName': full_name}) def test_create_package_base_with_invalid_type(self): package_type = 'Invalid' with self.assertRaisesRegex(exceptions.PackageFormatError, 'Invalid package Type {0}' .format(package_type)): package_base.PackageBase('test_format', 'test_runtime_version', 'test_source_directory', manifest={'FullName': 'mock_full_name', 'Type': package_type}) def test_requirements_negative(self): with self.assertRaisesRegex(NotImplementedError, None): self.package_base.requirements def test_classes_negative(self): with self.assertRaisesRegex(NotImplementedError, None): self.package_base.classes def test_get_class_negative(self): with self.assertRaisesRegex(NotImplementedError, None): self.package_base.get_class(None) def test_ui_negative(self): with self.assertRaisesRegex(NotImplementedError, None): self.package_base.ui def test_full_name(self): self.assertEqual(self.mock_manifest['FullName'], self.package_base.full_name) def test_source_directory(self): self.assertEqual(self.source_directory, self.package_base.source_directory) def test_version(self): self.assertEqual(self.version, self.package_base.version) def test_package_type(self): self.assertEqual(self.mock_manifest['Type'], self.package_base.package_type) def test_display_name(self): self.assertEqual(self.mock_manifest['Name'], self.package_base.display_name) def test_description(self): self.assertEqual(self.mock_manifest['Description'], self.package_base.description) def test_author(self): self.assertEqual(self.mock_manifest['Author'], self.package_base.author) def test_supplier(self): self.assertEqual(self.mock_manifest['Supplier'], self.package_base.supplier) def test_tags(self): self.assertEqual(self.mock_manifest['Tags'], self.package_base.tags) def test_logo_without_file_name(self): self.assertIsNone(self.package_base.logo) def test_logo_with_invalid_logo_path(self): expected_error_message = 'Unable to load logo' self.package_base._logo = ''.join(random.choice(string.ascii_letters) for _ in range(10)) with self.assertRaisesRegex(exceptions.PackageLoadError, expected_error_message): self.package_base.logo self.package_base._logo = self.mock_manifest['Logo'] @mock.patch('murano.packages.package_base.imghdr', what=mock.MagicMock(return_value='xyz')) def test_load_image_with_invalid_extension(self, mock_imghdr): expected_error_message = 'Unsupported Format.' with self.assertRaisesRegex(exceptions.PackageLoadError, expected_error_message): self.package_base._load_image('logo.xyz', 'logo.xyz', 'logo') full_path = os.path.join(self.package_base._source_directory, 'logo.xyz') mock_imghdr.what.assert_called_once_with(full_path) @mock.patch('murano.packages.package_base.imghdr', what=mock.MagicMock(return_value='png')) @mock.patch('murano.packages.package_base.os') def test_load_image_with_oversized_image(self, mock_os, mock_imghdr): mock_os.stat.return_value = mock.MagicMock(st_size=5000 * 1024) mock_os.isfile = mock.MagicMock(return_value=True) expected_error_message = 'Max allowed size is {0}'.format(500 * 1024) with self.assertRaisesRegex(exceptions.PackageLoadError, expected_error_message): self.package_base._load_image('logo.xyz', 'logo.xyz', 'logo') def test_meta(self): self.assertIsNone(self.package_base.meta) def test_get_resource(self): test_name = 'test_resource_name' expected_dir = os.path.join(self.source_directory, 'Resources', test_name) self.assertEqual(expected_dir, self.package_base.get_resource( test_name)) murano-9.0.0/murano/tests/unit/packages/versions/0000775000175000017500000000000013656750351022126 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/versions/__init__.py0000664000175000017500000000000013656750212024221 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/versions/test_hot_v1.py0000664000175000017500000000315113656750212024733 0ustar zuulzuul00000000000000# # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import imghdr import os import murano.packages.load_utils as load_utils import murano.tests.unit.base as test_base class TestHotV1(test_base.MuranoTestCase): def test_supplier_info_load(self): package_dir = os.path.abspath( os.path.join(__file__, '../../test_packages/test.hot.v1.app') ) package = load_utils.load_from_dir(package_dir) self.assertIsNotNone(package.supplier) self.assertEqual('Supplier Name', package.supplier['Name']) self.assertEqual({'Link': 'http://example.com', 'Text': 'Example Company'}, package.supplier['CompanyUrl']) self.assertEqual( 'Company summary goes here', package.supplier['Summary'] ) self.assertEqual( 'Marked up company description goes here', package.supplier['Description'] ) self.assertEqual('test_supplier_logo.png', package.supplier['Logo']) self.assertEqual('png', imghdr.what('', package.supplier_logo)) murano-9.0.0/murano/tests/unit/packages/versions/test_mpl_v1.py0000664000175000017500000000314713656750212024736 0ustar zuulzuul00000000000000# # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import imghdr import os import murano.packages.load_utils as load_utils import murano.tests.unit.base as test_base class TestMplV1(test_base.MuranoTestCase): def test_supplier_info_load(self): package_dir = os.path.abspath( os.path.join(__file__, '../../test_packages/test.mpl.v1.app') ) package = load_utils.load_from_dir(package_dir) self.assertIsNotNone(package.supplier) self.assertEqual('Supplier Name', package.supplier['Name']) self.assertEqual({'Link': 'http://example.com', 'Text': 'Example Company'}, package.supplier['CompanyUrl']) self.assertEqual( 'Company summary goes here', package.supplier['Summary'] ) self.assertEqual( 'Marked up company description goes here', package.supplier['Description'] ) self.assertEqual('test_supplier_logo.png', package.supplier['Logo']) self.assertEqual('png', imghdr.what('', package.supplier_logo)) murano-9.0.0/murano/tests/unit/packages/hot_package/0000775000175000017500000000000013656750351022523 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/hot_package/test_hot_package.py0000664000175000017500000001711313656750211026377 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import yaml from murano.packages import exceptions import murano.packages.hot_package import murano.packages.load_utils as load_utils import murano.tests.unit.base as test_base class TestHotPackage(test_base.MuranoTestCase): def _get_hot_package(self, source_directory): manifest = { 'FullName': 'FullTestName', 'Version': '1.0.0', 'Type': 'Application', 'Name': 'TestName', 'Description': 'TestDescription', 'Author': 'TestAuthor', 'Supplier': 'TestSupplier', 'Logo:': 'TestLogo', 'Tags': ['Tag1', 'Tag2'] } return murano.packages.hot_package.HotPackage( None, None, source_directory=source_directory, manifest=manifest ) @classmethod def setUpClass(cls): super(TestHotPackage, cls).setUpClass() this_dir = os.path.dirname(os.path.realpath(__file__)) cls.test_dirs = [ os.path.join(this_dir, 'test.hot.1'), os.path.join(this_dir, 'test.hot.2'), os.path.join(this_dir, 'test.hot.3') ] manifest_path = os.path.join(cls.test_dirs[0], 'template.yaml') cls.manifest = {} with open(manifest_path) as manifest_file: for key, value in yaml.safe_load(manifest_file).items(): cls.manifest[key] = value properties_manifest_path = os.path.join(cls.test_dirs[0], 'properties_manifest.yaml') cls.properties_manifest = {} with open(properties_manifest_path) as manifest_file: for key, value in yaml.safe_load(manifest_file).items(): cls.properties_manifest[key] = value def test_heat_files_generated(self): package_dir = os.path.abspath( os.path.join(__file__, '../../test_packages/test.hot.v1.app_with_files') ) load_utils.load_from_dir(package_dir) files = murano.packages.hot_package.HotPackage._translate_files( package_dir) expected_result = { "testHeatFile", "middle_file/testHeatFile", "middle_file/inner_file/testHeatFile", "middle_file/inner_file2/testHeatFile" } msg = "hot files were not generated correctly" self.assertSetEqual(expected_result, set(files), msg) def test_heat_files_generated_empty(self): package_dir = os.path.abspath( os.path.join(__file__, '../../test_packages/test.hot.v1.app') ) load_utils.load_from_dir(package_dir) files = murano.packages.hot_package.HotPackage \ ._translate_files(package_dir) msg = "heat files were not generated correctly. Expected empty list" self.assertEqual([], files, msg) def test_build_properties(self): result = murano.packages.hot_package.HotPackage._build_properties( self.properties_manifest, validate_hot_parameters=True) self.assertIn('templateParameters', result) params = result['templateParameters'] self.assertEqual(6, len(params['Contract'])) param1 = params['Contract']['param1'] param2 = params['Contract']['param2'] param3 = params['Contract']['param3'] param4 = params['Contract']['param4'] param5 = params['Contract']['param5'] param6 = params['Contract']['param6'] self.assertEqual("$.bool().check($ in list(True, False))", param1.expr) self.assertEqual("$.string().check($ in list('bar'))." "check(len($) <= 50).check(len($) >= 0)." "check(matches($, '[A-Za-z0-9]'))", param2.expr) self.assertEqual("$.int().check($ in list(0, 1, 2, 3, 4))" ".check(len($) >= 0 and len($) <= 5)." "check($ >= 0 and $ <= 4)", param3.expr) self.assertEqual("$.int().check($ >= -1000).check($ <= " "1000)", param4.expr) self.assertEqual("$.string()", param5.expr) self.assertEqual("$.string()", param6.expr) result = murano.packages.hot_package.HotPackage._build_properties( self.properties_manifest, validate_hot_parameters=False) expected_result = { 'Contract': {}, 'Default': {}, 'Usage': 'In' } self.assertEqual(expected_result, result['templateParameters']) def test_translate_param_to_contract_with_inappropriate_value(self): self.assertRaisesRegex( ValueError, 'Unsupported parameter type', murano.packages.hot_package.HotPackage. _translate_param_to_contract, {'type': 'Inappropriate value'} ) def test_get_class_name(self): hot_package = self._get_hot_package(self.test_dirs[0]) translated_class, _ = hot_package.get_class(hot_package.full_name) self.assertIsNotNone(translated_class) self.assertEqual(translated_class, hot_package._translated_class) def test_get_class_name_with_invalid_template_name(self): hot_package = self._get_hot_package(self.test_dirs[0]) self.assertRaisesRegex( exceptions.PackageClassLoadError, 'Class not defined in this package', hot_package.get_class, None) def test_get_class_name_with_invalid_template_format(self): hot_package = self._get_hot_package(self.test_dirs[1]) self.assertRaisesRegex( exceptions.PackageFormatError, 'Not a HOT template', hot_package.get_class, hot_package.full_name) def test_translate_ui(self): hot_package = self._get_hot_package(self.test_dirs[0]) yaml = hot_package._translate_ui() self.assertIsNotNone(yaml) expected_application = ''' "Application": "?": "classVersion": "1.0.0" "package": "FullTestName" "type": "FullTestName" "name": !yaql "$.group0.name" "templateParameters": "bar": !yaql "$.group1.bar" "baz": !yaql "$.group1.baz" "foo": !yaql "$.group1.foo" ''' self.assertIn(expected_application.replace(' ', '').replace('\n', ''), yaml.replace(' ', '').replace('\n', '')) def test_translate_ui_with_nonexistent_template(self): hot_package = self._get_hot_package(self.test_dirs[2]) self.assertRaisesRegex( exceptions.PackageClassLoadError, 'File with class definition not found', hot_package._translate_ui) def test_translate_class_with_nonexistent_template(self): hot_package = self._get_hot_package(self.test_dirs[2]) self.assertRaisesRegex( exceptions.PackageClassLoadError, 'File with class definition not found', hot_package._translate_class) murano-9.0.0/murano/tests/unit/packages/hot_package/__init__.py0000664000175000017500000000000013656750211024615 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/hot_package/test.hot.2/0000775000175000017500000000000013656750351024433 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/hot_package/test.hot.2/Resources/0000775000175000017500000000000013656750351026405 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/hot_package/test.hot.2/Resources/FullTestName0000664000175000017500000000004613656750211030666 0ustar zuulzuul00000000000000FullName: template with invalid formatmurano-9.0.0/murano/tests/unit/packages/hot_package/test.hot.2/template.yaml0000664000175000017500000000004613656750211027125 0ustar zuulzuul00000000000000FullName: template with invalid formatmurano-9.0.0/murano/tests/unit/packages/hot_package/test.hot.1/0000775000175000017500000000000013656750351024432 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/hot_package/test.hot.1/Resources/0000775000175000017500000000000013656750351026404 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/hot_package/test.hot.1/Resources/FullTestName0000664000175000017500000000307513656750211030672 0ustar zuulzuul00000000000000FullName: test resources: parameters: foo: type: number label: foo_label description: foo_description default: Default Value constraints: - length: min: 0 max: 5 - range: min: 0 max: 5 description: Range Description - allowed_values: [0, 1, 2, 3, 4] description: Allowed Values Description - allowed_pattern: "[A-Za-z0-9]" description: Allowed Pattern Description bar: type: boolean constraints: - length: min: 0 - range: min: 0 baz: type: string constraints: - length: max: 5 - range: max: 5 description: Range Description parameter_groups: - group1: parameters: foo: type: number label: foo_label description: foo_description default: Default Value constraints: - length: min: 0 max: 5 - range: min: 0 max: 5 description: Range Description - allowed_values: [0, 1, 2, 3, 4] description: Allowed Values Description - allowed_pattern: "[A-Za-z0-9]" description: Allowed Pattern Description bar: type: boolean constraints: - length: min: 0 - range: min: 0 baz: type: string constraints: - length: max: 5 - range: max: 5 description: Range Description murano-9.0.0/murano/tests/unit/packages/hot_package/test.hot.1/template.yaml0000664000175000017500000000307513656750211027131 0ustar zuulzuul00000000000000FullName: test resources: parameters: foo: type: number label: foo_label description: foo_description default: Default Value constraints: - length: min: 0 max: 5 - range: min: 0 max: 5 description: Range Description - allowed_values: [0, 1, 2, 3, 4] description: Allowed Values Description - allowed_pattern: "[A-Za-z0-9]" description: Allowed Pattern Description bar: type: boolean constraints: - length: min: 0 - range: min: 0 baz: type: string constraints: - length: max: 5 - range: max: 5 description: Range Description parameter_groups: - group1: parameters: foo: type: number label: foo_label description: foo_description default: Default Value constraints: - length: min: 0 max: 5 - range: min: 0 max: 5 description: Range Description - allowed_values: [0, 1, 2, 3, 4] description: Allowed Values Description - allowed_pattern: "[A-Za-z0-9]" description: Allowed Pattern Description bar: type: boolean constraints: - length: min: 0 - range: min: 0 baz: type: string constraints: - length: max: 5 - range: max: 5 description: Range Description murano-9.0.0/murano/tests/unit/packages/hot_package/test.hot.1/properties_manifest.yaml0000664000175000017500000000120013656750211031364 0ustar zuulzuul00000000000000parameters: param1: type: boolean constraints: - allowed_values: [True, False] param2: type: string constraints: - allowed_values: [bar] - length: max: 50 - length: min: 0 - allowed_pattern: "[A-Za-z0-9]" param3: type: number constraints: - allowed_values: [0, 1, 2, 3, 4] - length: min: 0 max: 5 - range: min: 0 max: 4 param4: type: number constraints: - range: min: -1000 - range: max: 1000 param5: type: json param6: type: comma_delimited_list murano-9.0.0/murano/tests/unit/packages/test_packages/0000775000175000017500000000000013656750351023073 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app/0000775000175000017500000000000013656750351025747 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app/manifest.yaml0000664000175000017500000000062313656750211030435 0ustar zuulzuul00000000000000Format: Heat.HOT/1.0 Type: Application FullName: test.hot.v1.app Name: Test HOT v1 App Description: Test HOT v1 Application Author: Test Runner Tags: [Linux] Logo: test_logo.png Supplier: Name: Supplier Name CompanyUrl: Text: Example Company Link: http://example.com Logo: test_supplier_logo.png Summary: Company summary goes here Description: Marked up company description goes here murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app/test_supplier_logo.png0000664000175000017500000000023513656750212032373 0ustar zuulzuul00000000000000‰PNG  IHDRwSÞsRGB®ÎégAMA± üa pHYsÃÃÇo¨dtEXtSoftwarePaint.NET v3.5.11GóB7 IDATWcøÿÿ?þþ§5„IEND®B`‚murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app/template.yaml0000664000175000017500000000027013656750212030441 0ustar zuulzuul00000000000000heat_template_version: '2013-05-23' resources: test-server: type: OS::Nova::Server properties: flavor: test.flavor image: Some image name key_name: default murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app/test_logo.png0000664000175000017500000000023513656750212030450 0ustar zuulzuul00000000000000‰PNG  IHDRwSÞsRGB®ÎégAMA± üa pHYsÃÃÇo¨dtEXtSoftwarePaint.NET v3.5.11GóB7 IDATWcøÿÿ?þþ§5„IEND®B`‚murano-9.0.0/murano/tests/unit/packages/test_packages/test.mpl.v1.app/0000775000175000017500000000000013656750351025745 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/test_packages/test.mpl.v1.app/Classes/0000775000175000017500000000000013656750351027342 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/test_packages/test.mpl.v1.app/Classes/Thing.yaml0000664000175000017500000000005713656750212031275 0ustar zuulzuul00000000000000Namespaces: =: test.mpl.v1.app Name: Thing murano-9.0.0/murano/tests/unit/packages/test_packages/test.mpl.v1.app/manifest.yaml0000664000175000017500000000065213656750212030436 0ustar zuulzuul00000000000000Format: 1.0 Type: Application FullName: test.mpl.v1.app Description: Test V1 Application Author: Test runner Tags: [Linux] Classes: test.mpl.v1.app.Thing: Thing.yaml Logo: test_logo.png UI: ui.yaml Supplier: Name: Supplier Name CompanyUrl: Text: Example Company Link: http://example.com Logo: test_supplier_logo.png Summary: Company summary goes here Description: Marked up company description goes here murano-9.0.0/murano/tests/unit/packages/test_packages/test.mpl.v1.app/manifest_with_broken_logo.yaml0000664000175000017500000000066413656750212034054 0ustar zuulzuul00000000000000Format: 1.0 Type: Application FullName: test.mpl.v1.app Description: Test V1 Application Author: Test runner Tags: [Linux] Classes: test.mpl.v1.app.Thing: Thing.yaml Logo: test_logo.png.not_valid UI: ui.yaml Supplier: Name: Supplier Name CompanyUrl: Text: Example Company Link: http://example.com Logo: test_supplier_logo.png Summary: Company summary goes here Description: Marked up company description goes here murano-9.0.0/murano/tests/unit/packages/test_packages/test.mpl.v1.app/test_supplier_logo.png0000664000175000017500000000023513656750212032371 0ustar zuulzuul00000000000000‰PNG  IHDRwSÞsRGB®ÎégAMA± üa pHYsÃÃÇo¨dtEXtSoftwarePaint.NET v3.5.11GóB7 IDATWcøÿÿ?þþ§5„IEND®B`‚murano-9.0.0/murano/tests/unit/packages/test_packages/test.mpl.v1.app/test_logo.png.not_valid0000664000175000017500000000032213656750212032421 0ustar zuulzuul00000000000000�NOT_VALID  IHDR�wS�sRGB���gAMA�� �a pHYs���o�dtEXtSoftwarePaint.NET v3.5.11G�B7 IDATWc���?���5��IEND�B`�murano-9.0.0/murano/tests/unit/packages/test_packages/test.mpl.v1.app/test_logo.png0000664000175000017500000000023513656750212030446 0ustar zuulzuul00000000000000‰PNG  IHDRwSÞsRGB®ÎégAMA± üa pHYsÃÃÇo¨dtEXtSoftwarePaint.NET v3.5.11GóB7 IDATWcøÿÿ?þþ§5„IEND®B`‚murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/0000775000175000017500000000000013656750351030164 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/0000775000175000017500000000000013656750351032136 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/0000775000175000017500000000000013656750351033653 5ustar zuulzuul00000000000000././@LongLink0000000000000000000000000000016100000000000011213 Lustar 00000000000000murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/middle_file/murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/0000775000175000017500000000000013656750351033653 5ustar zuulzuul00000000000000././@LongLink0000000000000000000000000000017500000000000011220 Lustar 00000000000000murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/middle_file/inner_file2/murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/0000775000175000017500000000000013656750351033653 5ustar zuulzuul00000000000000././@LongLink0000000000000000000000000000021100000000000011207 Lustar 00000000000000murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/middle_file/inner_file2/testHeatFilemurano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/0000664000175000017500000000001413656750212033644 0ustar zuulzuul00000000000000inner file 2././@LongLink0000000000000000000000000000017400000000000011217 Lustar 00000000000000murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/middle_file/inner_file/murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/0000775000175000017500000000000013656750351033653 5ustar zuulzuul00000000000000././@LongLink0000000000000000000000000000021000000000000011206 Lustar 00000000000000murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/middle_file/inner_file/testHeatFilemurano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/0000664000175000017500000000001213656750212033642 0ustar zuulzuul00000000000000inner file././@LongLink0000000000000000000000000000017500000000000011220 Lustar 00000000000000murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/middle_file/testHeatFilemurano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/0000664000175000017500000000001313656750212033643 0ustar zuulzuul00000000000000middle file././@LongLink0000000000000000000000000000016100000000000011213 Lustar 00000000000000murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/testHeatFilemurano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/Resources/HotFiles/0000664000175000017500000000000413656750212033643 0ustar zuulzuul00000000000000filemurano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/manifest.yaml0000664000175000017500000000062313656750212032653 0ustar zuulzuul00000000000000Format: Heat.HOT/1.0 Type: Application FullName: test.hot.v1.app Name: Test HOT v1 App Description: Test HOT v1 Application Author: Test Runner Tags: [Linux] Logo: test_logo.png Supplier: Name: Supplier Name CompanyUrl: Text: Example Company Link: http://example.com Logo: test_supplier_logo.png Summary: Company summary goes here Description: Marked up company description goes here murano-9.0.0/murano/tests/unit/packages/test_packages/test.hot.v1.app_with_files/template.yaml0000664000175000017500000000027013656750212032656 0ustar zuulzuul00000000000000heat_template_version: '2013-05-23' resources: test-server: type: OS::Nova::Server properties: flavor: test.flavor image: Some image name key_name: default murano-9.0.0/murano/tests/unit/packages/test_load_utils.py0000664000175000017500000002150013656750211024017 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import random import shutil import string import tempfile from unittest import mock import yaml import zipfile from murano.packages import exceptions from murano.packages import load_utils import murano.tests.unit.base as test_base class TestLoadUtils(test_base.MuranoTestCase): def setUp(cls): super(TestLoadUtils, cls).setUp() cls.temp_directories = [] cls.temp_files = [] def _create_temp_dir(self): temp_directory = tempfile.mkdtemp() self.temp_directories.append(temp_directory) return temp_directory def _create_temp_file(self): temp_file = tempfile.NamedTemporaryFile(delete=True) self.temp_files.append(temp_file) return temp_file def _create_temp_zip_file(self, zip_path, manifest_path, arcname='manifest.yaml'): zip_ = zipfile.ZipFile(zip_path, 'w') zip_.write(manifest_path, arcname=arcname) zip_.close() self.temp_files.append(zip_) return zip_ def tearDown(cls): super(TestLoadUtils, cls).tearDown() for directory in cls.temp_directories: if os.path.isdir(directory): shutil.rmtree(directory) for file in cls.temp_files: if isinstance(file, zipfile.ZipFile): if zipfile.is_zipfile(file.filename): os.remove(file) else: if os.path.isfile(file.name): os.remove(file.name) def _test_load_from_file(self, target_dir=None, drop_dir=True): manifest_file_contents = dict( Format='MuranoPL/1.1', FullName='test_full_name', Type='Application', Description='test_description', Author='test_author', Supplier='test_supplier', Tags=[] ) test_directory = self._create_temp_dir() manifest_path = os.path.join(test_directory, 'manifest.yaml') zip_path = os.path.join(test_directory, 'test_zip_load_utils.zip') with open(manifest_path, 'w') as manifest_file: yaml.dump(manifest_file_contents, manifest_file, default_flow_style=True) self._create_temp_zip_file(zip_path, manifest_path) with load_utils.load_from_file(archive_path=zip_path, target_dir=target_dir, drop_dir=drop_dir) as plugin: self.assertEqual('MuranoPL', plugin.format_name) self.assertEqual('1.1.0', str(plugin.runtime_version)) self.assertEqual(manifest_file_contents['FullName'], plugin.full_name) self.assertEqual(manifest_file_contents['Description'], plugin.description) self.assertEqual(manifest_file_contents['Author'], plugin.author) self.assertEqual(manifest_file_contents['Supplier'], plugin.supplier) self.assertEqual(manifest_file_contents['Tags'], plugin.tags) def test_load_from_file(self): self._test_load_from_file(target_dir=None, drop_dir=True) def test_load_from_file_with_custom_target_directory(self): target_dir = self._create_temp_dir() self._test_load_from_file(target_dir=target_dir, drop_dir=True) @mock.patch('murano.packages.load_utils.get_plugin_loader') def test_load_from_file_with_invalid_handler(self, mock_plugin_loader): mock_plugin_loader().get_package_handler = mock.MagicMock( return_value=None) test_format = 'Invalid Format' manifest_file_contents = dict( Format=test_format, FullName='test_full_name', Type='Application', Description='test_description', Author='test_author', Supplier='test_supplier', Tags=[] ) test_directory = self._create_temp_dir() target_dir = self._create_temp_dir() manifest_path = os.path.join(test_directory, 'manifest.yaml') zip_path = os.path.join(test_directory, 'test_zip_load_utils.zip') with open(manifest_path, 'w') as manifest_file: yaml.dump(manifest_file_contents, manifest_file, default_flow_style=True) self._create_temp_zip_file(zip_path, manifest_path) expected_error_msg = "Unsupported format {0}".format(test_format) with self.assertRaisesRegex(exceptions.PackageLoadError, expected_error_msg): with load_utils.load_from_file(archive_path=zip_path, target_dir=target_dir, drop_dir=True): pass mock_plugin_loader().get_package_handler.assert_called_once_with( test_format) def test_load_from_file_with_invalid_archive_path(self): expected_error_msg = "Unable to find package file" with self.assertRaisesRegex(exceptions.PackageLoadError, expected_error_msg): with load_utils.load_from_file('invalid file path'): pass @mock.patch('murano.packages.load_utils.os') def test_load_from_file_with_nonempty_target_directory(self, mock_os): mock_os.listdir = mock.MagicMock(return_value=True) temp_file = self._create_temp_file() expected_error_msg = "Target directory is not empty" with self.assertRaisesRegex(exceptions.PackageLoadError, expected_error_msg): this_dir = os.path.dirname(os.path.realpath(__file__)) with load_utils.load_from_file(temp_file.name, target_dir=this_dir): pass def test_load_from_file_without_zip_file(self): temp_file = self._create_temp_file() expected_error_msg = "Uploaded file {0} is not a zip archive".\ format(temp_file.name) with self.assertRaisesRegex(exceptions.PackageLoadError, expected_error_msg): with load_utils.load_from_file(temp_file.name): pass @mock.patch('murano.packages.load_utils.zipfile') def test_load_from_file_handle_value_error(self, mock_zipfile): test_error_msg = 'Random error message.' expected_error_msg = "Couldn't load package from file: {0}".\ format(test_error_msg) mock_zipfile.is_zipfile = mock.MagicMock( side_effect=ValueError(test_error_msg)) temp_file = self._create_temp_file() with self.assertRaisesRegex(exceptions.PackageLoadError, expected_error_msg): with load_utils.load_from_file(temp_file.name): pass mock_zipfile.is_zipfile.assert_called_once_with( temp_file.name) def test_load_from_dir_without_source_directory(self): expected_error_msg = 'Invalid package directory' with self.assertRaisesRegex(exceptions.PackageLoadError, expected_error_msg): load_utils.load_from_dir('random_test_directory') def test_load_from_dir_with_invalid_source_directory(self): source_directory = self._create_temp_dir() expected_error_msg = 'Unable to find package manifest' with self.assertRaisesRegex(exceptions.PackageLoadError, expected_error_msg): load_utils.load_from_dir(source_directory) @mock.patch('murano.packages.load_utils.os.path.isfile') def test_load_from_dir_open_file_negative(self, mock_isfile): mock_isfile.return_value = True source_directory = self._create_temp_dir() random_filename = ''.join(random.choice(string.ascii_lowercase) for i in range(20)) expected_error_msg = 'Unable to load due to' with self.assertRaisesRegex(exceptions.PackageLoadError, expected_error_msg): load_utils.load_from_dir(source_directory, filename=random_filename) murano-9.0.0/murano/tests/unit/packages/mpl_package/0000775000175000017500000000000013656750351022521 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/mpl_package/__init__.py0000664000175000017500000000000013656750211024613 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/mpl_package/Classes/0000775000175000017500000000000013656750351024116 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/mpl_package/Classes/test.class10000664000175000017500000000001413656750211026173 0ustar zuulzuul00000000000000test.class1 murano-9.0.0/murano/tests/unit/packages/mpl_package/manifest.yaml0000664000175000017500000000033013656750211025202 0ustar zuulzuul00000000000000Type: Application FullName: test.pl.v1.app Name: Test PL v1 App Description: Test PL v1 Application Author: Test Runner Tags: [Linux] Classes: Class1: test.class1 Class2: test.class2 UI: ui.yaml Meta: test.meta murano-9.0.0/murano/tests/unit/packages/mpl_package/test_mpl_package.py0000664000175000017500000001054613656750211026376 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import yaml from murano.packages import exceptions import murano.packages.mpl_package as mpl_package import murano.tests.unit.base as test_base class TestMPLPackage(test_base.MuranoTestCase): def setUp(cls): super(TestMPLPackage, cls).setUp() cls.source_directory = os.path.dirname(os.path.realpath(__file__)) manifest_path = os.path.join(cls.source_directory, 'manifest.yaml') cls.manifest = {} with open(manifest_path) as manifest_file: for key, value in yaml.safe_load(manifest_file).items(): cls.manifest[key] = value def test_classes_property(self): package = mpl_package.MuranoPlPackage(None, None, self.source_directory, self.manifest) classes = package.classes self.assertIn('Class1', classes) self.assertIn('Class2', classes) def test_ui_property(self): package = mpl_package.MuranoPlPackage(None, None, self.source_directory, self.manifest) ui = package.ui self.assertIsNotNone(ui) self.assertIn(b'name: license', ui) self.assertIn(b'type: string', ui) self.assertIn(b'description: Apache License, Version 2.0', ui) self.assertIn(b'hidden: false', ui) self.assertIn(b'required: false', ui) def test_requirements_property(self): package = mpl_package.MuranoPlPackage(None, None, self.source_directory, self.manifest) requirements = package.requirements self.assertEqual(requirements, {}) # Override the Require property in cls.manifest and check new value. self.manifest['Require'] = {'murano.plugins.example': 0} package = mpl_package.MuranoPlPackage(None, None, self.source_directory, self.manifest) requirements = package.requirements self.assertEqual(requirements, {'murano.plugins.example': 0}) del self.manifest['Require'] def test_meta_property(self): package = mpl_package.MuranoPlPackage(None, None, self.source_directory, self.manifest) meta = package.meta self.assertEqual(meta, 'test.meta') def test_get_class(self): package = mpl_package.MuranoPlPackage(None, None, self.source_directory, self.manifest) stream, path = package.get_class('Class1') expected_path = os.path.join(self.source_directory, 'Classes', 'test.class1') self.assertIn(b'test.class1', stream) self.assertEqual(path, expected_path) def test_get_class_with_inappropriate_name(self): package = mpl_package.MuranoPlPackage(None, None, self.source_directory, self.manifest) self.assertRaises(exceptions.PackageClassLoadError, package.get_class, 'Invalid name') def test_get_class_with_nonexistent_class(self): package = mpl_package.MuranoPlPackage(None, None, self.source_directory, self.manifest) self.assertRaises(exceptions.PackageClassLoadError, package.get_class, 'Class2') murano-9.0.0/murano/tests/unit/packages/mpl_package/UI/0000775000175000017500000000000013656750351023036 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/packages/mpl_package/UI/ui.yaml0000664000175000017500000000137013656750211024333 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Version: 2.2 Forms: - appConfiguration: fields: - name: license type: string description: Apache License, Version 2.0 hidden: false required: false murano-9.0.0/murano/tests/unit/packages/test_exceptions.py0000664000175000017500000000360413656750211024046 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.packages import exceptions import murano.tests.unit.base as test_base class TestExceptions(test_base.MuranoTestCase): def test_package_class_load_error(self): class_name = 'test class name' message = 'test message' error = exceptions.PackageClassLoadError(class_name=class_name, message=message) expected = 'Unable to load class "{0}" from package: {1}'\ .format(class_name, message) self.assertEqual(expected, error.args[0]) def test_package_ui_load_error(self): messages = ['', 'test_message'] for message in messages: error = exceptions.PackageUILoadError(message=message) expected = 'Unable to load ui definition from package' if message: expected += ': {0}'.format(message) self.assertEqual(expected, error.args[0]) def test_package_format_error(self): messages = ['', 'test_message'] for message in messages: error = exceptions.PackageFormatError(message=message) expected = 'Incorrect package format' if message: expected += ': {0}'.format(message) self.assertEqual(expected, error.args[0]) murano-9.0.0/murano/tests/unit/test_hacking.py0000664000175000017500000001066413656750212021520 0ustar zuulzuul00000000000000# Copyright 2015 Intel, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import pycodestyle import textwrap from unittest import mock from murano.hacking import checks from murano.tests.unit import base class HackingTestCase(base.MuranoTestCase): """Tests the hacking checks in murano.hacking.checks This class tests the hacking checks in murano.hacking.checks by passing strings to the check methods like the pycodestyle/flake8 parser would. The parser loops over each line in the file and then passes the parameters to the check method. The parameter names in the check method dictate what type of object is passed to the check method. The parameter types are:: logical_line: A processed line with the following modifications: - Multi-line statements converted to a single line. - Stripped left and right. - Contents of strings replaced with "xxx" of same length. - Comments removed. physical_line: Raw line of text from the input file. lines: a list of the raw lines from the input file tokens: the tokens that contribute to this logical line line_number: line number in the input file total_lines: number of lines in the input file blank_lines: blank lines before this one indent_char: indentation character in this file (" " or "\t") indent_level: indentation (with tabs expanded to multiples of 8) previous_indent_level: indentation on previous line previous_logical: previous logical line filename: Path of the file being run through pycodestyle When running a test on a check method the return will be False/None if there is no violation in the sample input. If there is an error a tuple is returned with a position in the line, and a message. So to check the result just assertTrue if the check is expected to fail and assertFalse if it should pass. """ # We are patching pycodestyle so that only the check under test is actually # installed. @mock.patch('pycodestyle._checks', {'physical_line': {}, 'logical_line': {}, 'tree': {}}) def _run_check(self, code, checker, filename=None): pycodestyle.register_check(checker) lines = textwrap.dedent(code).strip().splitlines(True) checker = pycodestyle.Checker(filename=filename, lines=lines) checker.check_all() checker.report._deferred_print.sort() return checker.report._deferred_print def _assert_has_errors(self, code, checker, expected_errors=None, filename=None): actual_errors = [e[:3] for e in self._run_check(code, checker, filename)] self.assertEqual(expected_errors or [], actual_errors) def _assert_has_no_errors(self, code, checker, filename=None): self._assert_has_errors(code, checker, filename=filename) def test_assert_equal_none(self): errors = [(1, 0, "M318")] check = checks.assert_equal_none code = "self.assertEqual(A, None)" self._assert_has_errors(code, check, errors) code = "self.assertEqual(None, A)" self._assert_has_errors(code, check, errors) code = "self.assertIsNone()" self._assert_has_no_errors(code, check) def test_no_mutable_default_args(self): self.assertEqual(1, len(list(checks.no_mutable_default_args( "def get_info_from_bdm(virt_type, bdm, mapping=[])")))) self.assertEqual(0, len(list(checks.no_mutable_default_args( "defined = []")))) self.assertEqual(0, len(list(checks.no_mutable_default_args( "defined, undefined = [], {}")))) def test_check_no_basestring(self): self.assertEqual(1, len(list(checks.check_no_basestring( "isinstance('foo', basestring)")))) self.assertEqual(0, len(list(checks.check_no_basestring( "isinstance('foo', str)")))) murano-9.0.0/murano/tests/unit/services/0000775000175000017500000000000013656750351020323 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/services/__init__.py0000664000175000017500000000000013656750212022416 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/services/test_actions.py0000664000175000017500000002346613656750212023403 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from murano.services import actions from murano.services import states import murano.tests.unit.base as test_base class TestActions(test_base.MuranoTestCase): def test_create_action_task(self): mock_action_name = 'test_action_name' mock_target_obj = '123' mock_args = {'param1': 'something', 'param2': 'something else'} mock_environment = mock.MagicMock(id='456', tenant_id='789') mock_description = { 'Objects': { '?': { 'id': '456' }, 'applications': [], 'services': ['service1', 'service2'] }, 'project_id': 'XXX', 'user_id': 'YYY' } mock_session = mock.MagicMock(description=mock_description) mock_context = mock.Mock(auth_token='test_token', tenant='test_tenant', user='test_user') expected_task = { 'action': { 'object_id': mock_target_obj, 'method': mock_action_name, 'args': mock_args }, 'model': { 'Objects': { '?': { 'id': mock_environment.id }, 'applications': mock_session.description['Objects']['services'] }, 'project_id': 'XXX', 'user_id': 'YYY' }, 'token': 'test_token', 'project_id': 'test_tenant', 'user_id': 'test_user', 'id': mock_environment.id } task = actions.ActionServices.create_action_task(mock_action_name, mock_target_obj, mock_args, mock_environment, mock_session, mock_context) self.assertEqual(expected_task, task) @mock.patch('murano.services.actions.models') def test_update_task(self, mock_models): mock_models.Task = mock.MagicMock() mock_models.Status = mock.MagicMock() mock_action = [{}, {'name': 'test_action_name'}] mock_session = mock.MagicMock(environment_id='123', state=states.SessionState.OPENED, description={'Objects': ['o1', 'o2']}) mock_task = {'action': 'test_action_name'} mock_unit = mock.MagicMock(__enter__=mock.MagicMock(), __exit__=mock.MagicMock()) actions.ActionServices.update_task(mock_action, mock_session, mock_task, mock_unit) self.assertEqual(mock_session.environment_id, mock_models.Task().environment_id) self.assertEqual(dict(mock_session.description['Objects']), mock_models.Task().description) self.assertEqual(mock_task['action'], mock_models.Task().action) self.assertIn(mock_action[1]['name'], mock_models.Status().text) self.assertEqual('info', mock_models.Status().level) mock_models.Task().statuses.append.assert_called_once_with( mock_models.Status()) self.assertEqual(2, mock_unit.add.call_count) expected_session = mock_session expected_session.state = states.SessionState.DEPLOYED mock_unit.add.assert_any_call(expected_session) mock_unit.add.assert_called_with(mock_models.Task()) @mock.patch('murano.services.actions.rpc') @mock.patch('murano.services.actions.actions_db.update_task') @mock.patch('murano.services.actions.ActionServices.create_action_task') def test_submit_task(self, mock_create_action_task, mock_update_task, mock_rpc): mock_task = mock.MagicMock() mock_create_action_task.return_value = mock_task mock_update_task.return_value = '123' mock_rpc.engine().handle_task = mock.MagicMock() test_action_name = 'test_action_name' test_target_obj = 'test_target_obj' test_args = 'test_args' test_environment = 'test_environment' test_session = 'test_session' context = mock.Mock() context.auth_token = 'test_token' context.tenant = 'test_tenant' context.user = 'test_user' test_unit = 'test_unit' task_id = actions.ActionServices.submit_task(test_action_name, test_target_obj, test_args, test_environment, test_session, context, test_unit) self.assertEqual('123', task_id) mock_create_action_task.assert_called_once_with(test_action_name, test_target_obj, test_args, test_environment, test_session, context) mock_update_task.assert_called_once_with(test_action_name, test_session, mock_task, test_unit) mock_rpc.engine().handle_task.assert_called_once_with(mock_task) @mock.patch('murano.services.actions.actions_db.get_environment') @mock.patch('murano.services.actions.ActionServices.submit_task') def test_execute(self, mock_submit_task, mock_get_environment): mock_environment = mock.MagicMock() mock_task_id = 'test_task_id' mock_get_environment.return_value = mock_environment mock_submit_task.return_value = mock_task_id test_action_id = 'test_action_id' test_description = [{ '?': { 'id': 'test_obj_id', '_actions': { test_action_id: { 'name': 'test_action_1', 'enabled': True } } } }] test_session = mock.MagicMock(description=test_description) test_unit = 'test_unit' test_token = 'test_token' test_args = None expected_action_name = 'test_action_1' expected_target_obj = 'test_obj_id' task_id = actions.ActionServices.execute(test_action_id, test_session, test_unit, test_token, test_args) self.assertEqual(mock_task_id, task_id) mock_submit_task.assert_called_once_with(expected_action_name, expected_target_obj, {}, mock_environment, test_session, test_token, test_unit) @mock.patch('murano.services.actions.actions_db.get_environment') def test_execute_with_invalid_action_id(self, mock_get_environment): test_action_id = 'test_action_id' test_session = mock.MagicMock(description=[]) with self.assertRaisesRegex(LookupError, 'Action is not found'): actions.ActionServices.execute(test_action_id, test_session, None, None, None) @mock.patch('murano.services.actions.actions_db.get_environment') def test_execute_with_disabled_action(self, mock_get_environment): test_action_id = 'test_action_id' test_description = [{ '?': { 'id': 'test_obj_id', '_actions': { test_action_id: { 'name': 'test_action_1', 'enabled': False } } } }] test_session = mock.MagicMock(description=test_description) with self.assertRaisesRegex(ValueError, 'Cannot execute disabled action'): actions.ActionServices.execute(test_action_id, test_session, None, None, None) def test_get_result(self): mock_task = mock.MagicMock(result='test_result') mock_unit = mock.MagicMock() mock_unit.query().filter_by().first.return_value = mock_task result = actions.ActionServices.get_result('eid', 'tid', mock_unit) self.assertEqual(mock_task.result, result) mock_unit.query().filter_by().first.return_value = None task = actions.ActionServices.get_result('eid', 'tid', mock_unit) self.assertIsNone(task) mock_unit.query().filter_by.assert_any_call(id='tid', environment_id='eid') murano-9.0.0/murano/tests/unit/dsl/0000775000175000017500000000000013656750351017262 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/dsl/test_meta.py0000664000175000017500000000432013656750211021613 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestMeta(test_case.DslTestCase): def setUp(self): super(TestMeta, self).setUp() self._runner = self.new_runner(om.Object('metatests.TestMeta')) def test_class_multi_meta(self): self.assertItemsEqual( [4, 1, 111, 2], self._runner.testClassMultiMeta()) def test_class_single_meta(self): self.assertItemsEqual( [5, 6], self._runner.testClassSingleMeta()) def test_parent_class_not_inherited_meta(self): self.assertEqual(3, self._runner.testParentClassNotInheritedMeta()) def test_method_meta(self): self.assertItemsEqual( [7, 8, 9, 4, 1, 10], self._runner.testMethodMeta()) def test_method_argument_meta(self): self.assertItemsEqual( [1, 2, 3], self._runner.testMethodArgumentMeta()) def test_inherited_property_meta(self): self.assertEqual( [1], self._runner.testInheritedPropertyMeta()) def test_overridden_property_meta(self): self.assertItemsEqual( [1, 4], self._runner.testOverriddenPropertyMeta()) def test_package_meta(self): self.assertEqual( [], self._runner.testPackageMeta()) def test_complex_meta(self): self.assertItemsEqual([ [1, 'metatests.PropertyType'], [2, 'metatests.PropertyType'], [3, 'metatests.PropertyType2'], [4, 'metatests.PropertyType'], [5, 'metatests.PropertyType2'] ], self._runner.testComplexMeta()) murano-9.0.0/murano/tests/unit/dsl/test_call.py0000664000175000017500000000262413656750211021605 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestCall(test_case.DslTestCase): def setUp(self): super(TestCall, self).setUp() self._runner = self.new_runner(om.Object('TestCall')) def test_call(self): self._runner.testCall() self.assertEqual(['called as call'], self._traces) def test_method(self): self._runner.testMethodInvocation() self.assertEqual(['called as method'], self._traces) def test_call_static(self): self._runner.testCallStatic() self.assertEqual(['called as static'], self._traces) def test_call_static_as_instance(self): self._runner.testCallStaticAsInstance() self.assertEqual(['called as static'], self._traces) murano-9.0.0/murano/tests/unit/dsl/__init__.py0000664000175000017500000000000013656750211021354 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/dsl/test_unicode.py0000664000175000017500000000311413656750211022313 0ustar zuulzuul00000000000000# coding: utf-8 # Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import dsl_exception from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestUnicode(test_case.DslTestCase): def setUp(self): super(TestUnicode, self).setUp() self._runner = self.new_runner(om.Object('TestUnicode')) def test_literal(self): self.assertEqual( u"Ñолнце ♥ φεγγάÏι", self._runner.testLiteral()) def test_expression(self): self.assertEqual( u"СОЛÐЦЕ ♥ ΦΕΓΓΆΡΙ", self._runner.testExpression()) def test_parameter(self): self.assertEqual( u"СОЛÐЦЕ ♥ ΦΕΓΓΆΡΙ", self._runner.testParameter()) def test_exception(self): x = self.assertRaises( dsl_exception.MuranoPlException, self._runner.testException) self.assertEqual(u"Ñолнце ♥ φεγγάÏι", x.message) murano-9.0.0/murano/tests/unit/dsl/test_macros.py0000664000175000017500000001114613656750211022155 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from testtools import matchers from murano.dsl import exceptions from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestMacros(test_case.DslTestCase): def setUp(self): super(TestMacros, self).setUp() self._runner = self.new_runner(om.Object('MacroExamples')) def test_if(self): self.assertEqual('gt', self._runner.testIf(6)) self.assertEqual('def', self._runner.testIf(4)) self.assertEqual('gt', self._runner.testIfElse(6)) self.assertEqual('lt', self._runner.testIfElse(4)) def test_if_non_boolean(self): self.assertEqual(1100, self._runner.testIfNonBoolean()) def test_while(self): self.assertEqual(0, self._runner.testWhile(3)) self.assertEqual([3, 2, 1], self.traces) def test_while_non_boolean(self): self.assertEqual([], self._runner.testWhileNonBoolean()) def test_for(self): self.assertIsNone(self._runner.testFor()) self.assertEqual(['x', 'y', 'z', 2, 5, 10], self.traces) def test_repeat(self): self._runner.testRepeat(4) self.assertEqual(['run', 'run', 'run', 'run'], self.traces) def test_break(self): self.assertRaises(exceptions.DslInvalidOperationError, self._runner.testBreak) self.assertEqual([0, 1, 2, 'breaking', 'method_break'], self.traces) def test_continue(self): self.assertRaises(exceptions.DslInvalidOperationError, self._runner.testContinue) self.assertEqual([0, 1, 2, 5, 6, 'method_continue'], self.traces) def test_match(self): self.assertEqual('y', self._runner.testMatch(1)) self.assertEqual('x', self._runner.testMatch(2)) self.assertEqual('z', self._runner.testMatch(3)) self.assertIsNone(self._runner.testMatch(0)) self.assertEqual('y', self._runner.testMatchDefault(1)) self.assertEqual('x', self._runner.testMatchDefault(2)) self.assertEqual('z', self._runner.testMatchDefault(3)) self.assertEqual('def', self._runner.testMatchDefault(0)) def test_switch(self): self.assertIsNone(self._runner.testSwitch(20)) self.assertEqual(['gt'], self.traces) del self.traces self.assertIsNone(self._runner.testSwitch(200)) self.assertThat( self.traces, matchers.MatchesSetwise( matchers.Equals('gt100'), matchers.Equals('gt'))) del self.traces self.assertIsNone(self._runner.testSwitch(2)) self.assertEqual(['lt'], self.traces) def test_switch_with_default(self): self.assertIsNone(self._runner.testSwitchDefault(20)) self.assertEqual(['gt'], self.traces) del self.traces self.assertIsNone(self._runner.testSwitchDefault(200)) self.assertThat( self.traces, matchers.MatchesSetwise( matchers.Equals('gt100'), matchers.Equals('gt'))) del self.traces self.assertIsNone(self._runner.testSwitchDefault(-20)) self.assertEqual(['lt'], self.traces) del self.traces self.assertIsNone(self._runner.testSwitchDefault(5)) self.assertEqual(['def'], self.traces) def test_switch_non_boolean(self): self.assertEqual(1110000, self._runner.testSwitchNonBoolean()) def test_code_block(self): self.assertEqual(123, self._runner.testCodeBlock()) self.assertEqual(['a', 123], self.traces) def test_parallel(self): self.assertIsNone(self._runner.testParallel()) self.assertEqual(['enter', 'enter', 'exit', 'exit'], self.traces) def test_parallel_with_limit(self): self.assertIsNone(self._runner.testParallelWithLimit()) self.assertEqual(['enter', 'enter', 'exit', 'exit', 'enter', 'exit'], self.traces) def test_scope_within_macro(self): self.assertEqual( 87654321, self._runner.testScopeWithinMacro()) murano-9.0.0/murano/tests/unit/dsl/test_property_inititialization.py0000664000175000017500000000336013656750211026220 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import exceptions from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestPropertyInitialization(test_case.DslTestCase): def setUp(self): super(TestPropertyInitialization, self).setUp() model = om.Object( 'PropertyInit' ) self._runner = self.new_runner(model) def test_runtime_property_default(self): self.assertEqual( 'DEFAULT', self._runner.testRuntimePropertyDefault()) def test_runtime_property_without_default(self): self.assertRaises( exceptions.UninitializedPropertyAccessError, self._runner.testRuntimePropertyWithoutDefault) def test_runtime_property_with_strict_contract_without_default(self): self.assertEqual( 'VALUE', self._runner.testRuntimePropertyWithStrictContractWithoutDefault()) def test_uninitialized_runtime_property_with_strict_contract(self): self.assertRaises( exceptions.UninitializedPropertyAccessError, self._runner.testUninitializedRuntimeProperty) murano-9.0.0/murano/tests/unit/dsl/test_multiple_inheritance.py0000664000175000017500000000513113656750211025072 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestMultipleInheritance(test_case.DslTestCase): def setUp(self): super(TestMultipleInheritance, self).setUp() self._multi_derived = om.Object( 'DerivedFrom2Classes', rootProperty='ROOT') model = om.Object( 'SampleClass3', multiClassProperty=self._multi_derived ) self._runner = self.new_runner(model) def test_multi_class_contract(self): self._runner.testMultiContract() self.assertEqual( ['ParentClass1::method1', 'ParentClass2::method2'], self.traces) def test_root_method_resolution(self): self._runner.on(self._multi_derived).testRootMethod() self.assertEqual( ['CommonParent::testRootMethod', 'ROOT'], self.traces) def test_property_accessible_on_several_paths(self): self.assertEqual( 'ROOT', self._runner.testPropertyAccessibleOnSeveralPaths()) def test_specialized_mixin_override(self): self._runner.on(self._multi_derived).testMixinOverride() self.assertEqual( ['ParentClass2::virtualMethod', '-', 'CommonParent::virtualMethod', '-', 'CommonParent::virtualMethod', '-', 'ParentClass2::virtualMethod'], self.traces) def test_super(self): self._runner.on(self._multi_derived).testSuper() self.assertItemsEqual( ['CommonParent::virtualMethod', 'ParentClass2::virtualMethod', 'CommonParent::virtualMethod', 'ParentClass2::virtualMethod'], self.traces) def test_psuper(self): self._runner.on(self._multi_derived).testPsuper() self.assertItemsEqual( ['CommonParent::virtualMethod', 'ParentClass2::virtualMethod', 'CommonParent::virtualMethod', 'ParentClass2::virtualMethod'], self.traces) murano-9.0.0/murano/tests/unit/dsl/test_method_param_inheritance.py0000664000175000017500000000257013656750211025703 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from yaql.language import exceptions as yaql_exceptions from murano.dsl import exceptions as dsl_exceptions from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestMethodParamInheritance(test_case.DslTestCase): def setUp(self): super(TestMethodParamInheritance, self).setUp() model = om.Object('TestMethodParamInheritanceDerived') self._runner = self.new_runner(model) def test_different_set_of_params_causes_exception(self): self.assertRaises( yaql_exceptions.NoMatchingMethodException, self._runner.testRunWithParam) self.assertRaises( dsl_exceptions.ContractViolationException, self._runner.testRunWithoutParam) murano-9.0.0/murano/tests/unit/dsl/test_gc.py0000664000175000017500000000736613656750211021273 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import exceptions from murano.dsl.principal_objects import garbage_collector from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestGC(test_case.DslTestCase): def setUp(self): super(TestGC, self).setUp() self.package_loader.load_package('io.murano', None).register_class( garbage_collector.GarbageCollector) self.runner = self.new_runner(om.Object('TestGC')) def test_model_destroyed(self): model = om.Object( 'TestGCNode', 'root', value='root', nodes=[ om.Object( 'TestGCNode', 'node1', value='node1', nodes=['root', 'node2'] ), om.Object( 'TestGCNode', 'node2', value='node2', nodes=['root', 'node1'] ), ] ) model = {'Objects': None, 'ObjectsCopy': model} self.new_runner(model) self.assertItemsEqual(['node1', 'node2'], self.traces[:2]) self.assertEqual('root', self.traces[-1]) def test_collect_from_code(self): self.runner.testObjectsCollect() self.assertEqual(['B', 'A'], self.traces) def test_collect_with_subscription(self): self.runner.testObjectsCollectWithSubscription() self.assertEqual( ['Destroy A', 'Destroy B', 'Destruction of B', 'B', 'A'], self.traces) def test_call_on_destroyed_object(self): self.assertRaises( exceptions.ObjectDestroyedError, self.runner.testCallOnDestroyedObject) self.assertEqual(['foo', 'X'], self.traces) def test_destruction_dependencies_serialization(self): self.runner.testDestructionDependencySerialization() node1 = self.runner.serialized_model['Objects']['outNode'] node2 = node1['nodes'][0] deps = { 'onDestruction': [{ 'subscriber': self.runner.root.object_id, 'handler': '_handler' }] } self.assertEqual(deps, node1['?'].get('dependencies')) self.assertEqual( node1['?'].get('dependencies'), node2['?'].get('dependencies')) model = self.runner.serialized_model model['Objects']['outNode'] = None self.new_runner(model) self.assertEqual(['Destroy A', 'Destroy B', 'B', 'A'], self.traces) def test_is_doomed(self): self.runner.testIsDoomed() self.assertEqual([[], True, 'B', [True], False, 'A'], self.traces) def test_is_destroyed(self): self.runner.testIsDestroyed() self.assertEqual([False, True], self.traces) def test_static_property_not_destroyed(self): self.runner.testStaticProperties() self.assertEqual([], self.traces) def test_args_not_destroyed(self): self.runner.testDestroyArgs() self.assertEqual([], self.traces) def test_runtime_property_not_destroyed(self): self.runner.testReachableRuntimeProperties() self.assertEqual([False, ], self.traces) murano-9.0.0/murano/tests/unit/dsl/test_schema_generation.py0000664000175000017500000002343013656750211024343 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from testtools import matchers from murano.dsl import schema_generator from murano.tests.unit.dsl.foundation import runner from murano.tests.unit.dsl.foundation import test_case class TestSchemaGeneration(test_case.DslTestCase): def setUp(self): super(TestSchemaGeneration, self).setUp() schema = schema_generator.generate_schema( self.package_loader, runner.TestContextManager({}), 'TestSchema') self._class_schema = schema.pop('') self._model_builders_schema = schema def test_general_structure(self): self.assertIn('$schema', self._class_schema) self.assertIn('type', self._class_schema) self.assertIn('properties', self._class_schema) self.assertEqual( 'http://json-schema.org/draft-04/schema#', self._class_schema['$schema']) self.assertEqual('object', self._class_schema['type']) def _test_simple_property(self, name_or_schema, types): if not isinstance(name_or_schema, dict): props = self._class_schema['properties'] self.assertIn(name_or_schema, props) schema = props[name_or_schema] else: schema = name_or_schema self.assertIn('type', schema) if isinstance(types, list): self.assertItemsEqual(schema['type'], types) else: self.assertEqual(schema['type'], types) return schema def test_string_property(self): self._test_simple_property('stringProperty', ['null', 'string']) def test_not_null_string_property(self): self._test_simple_property('stringNotNullProperty', 'string') def test_int_property(self): self._test_simple_property('intProperty', ['null', 'integer']) def test_not_null_int_property(self): self._test_simple_property('intNotNullProperty', 'integer') def test_bool_property(self): self._test_simple_property('boolProperty', ['null', 'boolean']) def test_not_null_bool_property(self): self._test_simple_property('boolNotNullProperty', 'boolean') def test_class_property(self): schema = self._test_simple_property( 'classProperty', ['null', 'muranoObject']) self.assertEqual('SampleClass1', schema.get('muranoType')) def test_template_property(self): schema = self._test_simple_property( 'templateProperty', ['null', 'muranoObject']) self.assertEqual('SampleClass1', schema.get('muranoType')) self.assertTrue(schema.get('owned')) self.assertItemsEqual( ['stringProperty'], schema.get('excludedProperties')) def test_default_property(self): schema = self._test_simple_property( 'defaultProperty', ['null', 'integer']) self.assertEqual(999, schema.get('default')) def test_list_property(self): schema = self._test_simple_property('listProperty', 'array') self.assertIn('items', schema) items = schema['items'] self._test_simple_property(items, 'string') def test_dict_property(self): schema = self._test_simple_property('dictProperty', 'object') self.assertIn('properties', schema) props = schema['properties'] self.assertIn('key1', props) self._test_simple_property(props['key1'], 'string') self.assertIn('key2', props) self._test_simple_property(props['key2'], 'string') self.assertIn('additionalProperties', schema) extra_props = schema['additionalProperties'] self._test_simple_property(extra_props, ['null', 'integer']) def test_complex_property(self): schema = self._test_simple_property('complexProperty', 'object') self.assertIn('properties', schema) self.assertEqual({}, schema['properties']) self.assertIn('additionalProperties', schema) extra_props = schema['additionalProperties'] self._test_simple_property(extra_props, 'array') self.assertIn('items', extra_props) items = extra_props['items'] self._test_simple_property(items, 'integer') def test_minimum_contract(self): schema = self._test_simple_property('minimumContract', 'integer') self.assertFalse(schema.get('exclusiveMinimum', True)) self.assertEqual(5, schema.get('minimum')) def test_maximum_contract(self): schema = self._test_simple_property('maximumContract', 'integer') self.assertTrue(schema.get('exclusiveMaximum', False)) self.assertEqual(15, schema.get('maximum')) def test_range_contract(self): schema = self._test_simple_property('rangeContract', 'integer') self.assertFalse(schema.get('exclusiveMaximum', True)) self.assertTrue(schema.get('exclusiveMinimum', False)) self.assertEqual(0, schema.get('minimum')) self.assertEqual(10, schema.get('maximum')) def test_chain_contract(self): schema = self._test_simple_property('chainContract', 'integer') self.assertFalse(schema.get('exclusiveMaximum', True)) self.assertTrue(schema.get('exclusiveMinimum', False)) self.assertEqual(0, schema.get('minimum')) self.assertEqual(10, schema.get('maximum')) def test_regex_contract(self): schema = self._test_simple_property('regexContract', 'string') self.assertEqual(r'\d+', schema.get('pattern')) def test_enum_contract(self): schema = self._test_simple_property('enumContract', 'string') self.assertEqual(['a', 'b'], schema.get('enum')) def test_enum_func_contract(self): schema = self._test_simple_property('enumFuncContract', 'string') self.assertEqual(['x', 'y'], schema.get('enum')) def test_ui_hints(self): schema = self._test_simple_property('decoratedProperty', 'string') self.assertEqual('Title!', schema.get('title')) self.assertEqual('Description!', schema.get('description')) self.assertEqual('Help!', schema.get('helpText')) self.assertFalse(schema.get('visible')) self.assertThat(schema.get('formIndex'), matchers.GreaterThan(-1)) self.assertEqual('mySection', schema.get('formSection')) sections = self._class_schema.get('formSections') self.assertIsInstance(sections, dict) section = sections.get('mySection') self.assertIsInstance(section, dict) self.assertThat(section.get('index'), matchers.GreaterThan(-1)) self.assertEqual('Section Title', section.get('title')) def test_model_builders(self): self.assertEqual(1, len(self._model_builders_schema)) schema = self._model_builders_schema.get('modelBuilder') self.assertIsInstance(schema, dict) self._class_schema = schema self.test_general_structure() self.assertEqual('Model Builder!', schema.get('title')) args = schema['properties'] self._test_simple_property(args.get('arg1'), 'string') self._test_simple_property(args.get('arg2'), 'integer') arg1 = args['arg1'] self.assertEqual('Arg1!', arg1.get('title')) def test_generate_schema_with_extra_params(self): schema = schema_generator.generate_schema( self.package_loader, runner.TestContextManager({}), 'TestSchema', method_names='modelBuilder', package_name='tests') expected_schema = { '$schema': 'http://json-schema.org/draft-04/schema#', 'additionalProperties': False, 'formSections': {}, 'properties': {'arg1': {'title': 'Arg1!', 'type': 'string'}, 'arg2': {'type': 'integer'}}, 'title': 'Model Builder!', 'type': 'object' } self.assertIn('modelBuilder', schema) self.assertEqual(expected_schema, schema['modelBuilder']) def test_translate_list(self): contract = [1, 2, 3] result = schema_generator.translate_list(contract, None, None) self.assertEqual({'type': 'array'}, result) contract = [1, 2, 3, {'foo': 'bar'}] result = schema_generator.translate_list(contract, None, None) expected = { 'items': {'additionalProperties': False, 'properties': {'foo': None}, 'type': 'object'}, 'type': 'array' } self.assertEqual(sorted(expected.keys()), sorted(result.keys())) for key, val in expected.items(): self.assertEqual(val, result[key]) contract = [1, 2, 3, {'foo': 'bar'}, ['baz']] result = schema_generator.translate_list(contract, None, None) expected = { 'additionalItems': {'items': None, 'type': 'array'}, 'items': [{'additionalProperties': False, 'properties': {'foo': None}, 'type': 'object'}, {'items': None, 'type': 'array'}], 'type': 'array' } self.assertEqual(sorted(expected.keys()), sorted(result.keys())) for key, val in expected.items(): if isinstance(val, dict): for key_, val_ in val.items(): self.assertEqual(val_, val[key_]) else: self.assertEqual(val, result[key]) murano-9.0.0/murano/tests/unit/dsl/meta/0000775000175000017500000000000013656750351020210 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/dsl/meta/CreatedClass1.yaml0000664000175000017500000000111413656750211023502 0ustar zuulzuul00000000000000Name: CreatedClass1 Properties: property1: Contract: $.string() property2: Contract: $.int() xxx: Contract: $ Usage: Out Methods: .init: Arguments: - property1: Contract: $.string() Body: - trace('CreatedClass1::.init') - trace($property1) - $.property1: STRING - trace($.property1) - trace($.property2) createClass2: Arguments: - parent: Contract: $.class(CreatingClass) Body: - $.xxx: new(CreatedClass2, $parent, QQQ, property1 => STR, property2 => 99) - Return: $murano-9.0.0/murano/tests/unit/dsl/meta/ConfigProperties.yaml0000664000175000017500000000045013656750211024350 0ustar zuulzuul00000000000000Name: ConfigProperties Properties: cfgProperty: Usage: Config Contract: $.int().notNull() Default: 123 normalProperty: Contract: $.string().notNull() Default: DEFAULT Methods: testPropertyValues: Body: - trace($.cfgProperty) - trace($.normalProperty) murano-9.0.0/murano/tests/unit/dsl/meta/ContractExamples.yaml0000664000175000017500000001270713656750211024352 0ustar zuulzuul00000000000000Name: ContractExamples Extends: CommonParent Properties: sampleClass: Contract: $.class(SampleClass1) ordinaryProperty: Contract: $.string() templateProperty: Contract: $.template(TemplateTestChild, excludeProperties => [bar]) Methods: testStringContract: Arguments: arg: Contract: $.string() Body: Return: $arg testIntContract: Arguments: arg: Contract: $.int() Body: Return: $arg testBoolContract: Arguments: arg: Contract: $.bool() Body: Return: $arg testClassContract: Arguments: arg: Contract: $.class(SampleClass2) Body: Return: $arg testTemplateContract: Arguments: arg: Contract: $.template(CreatedClass2) Body: Return: $arg testTemplateContractExcludePropertyFromMpl: Body: - $model: :CreatedClass2: property1: qwerty property2: 'not integer' - Return: $.testTemplateContractExcludeProperty($model) testTemplateContractExcludeProperty: Arguments: arg: Contract: $.template(CreatedClass2, excludeProperties => [property2]) Body: Return: $arg testClassFromIdContract: Arguments: arg: Contract: $.class(SampleClass1) Body: Return: $arg testCheckContract: Arguments: - arg1: Contract: $.class(SampleClass2).check($.class2Property = qwerty) - arg2: Contract: $.int().check($ > 10) testOwnedContract: Arguments: - arg1: Contract: $.class(SampleClass1).owned() - arg2: Contract: $.class(SampleClass2).owned() testNotOwnedContract: Arguments: - arg1: Contract: $.class(SampleClass1).notOwned() - arg2: Contract: $.class(SampleClass2).notOwned() testScalarContract: Arguments: - arg1: Contract: 'fixed' - arg2: Contract: 456 - arg3: Contract: true Body: Return: $arg1 testListContract: Arguments: - arg: Contract: [$.int()] Body: Return: $arg testListWithMinLengthContract: Arguments: - arg: Contract: [$.int(), 3] Body: Return: $arg testListWithMinMaxLengthContract: Arguments: - arg: Contract: [$.int(), 2, 4] Body: Return: $arg testDictContract: Arguments: - arg: Contract: A: $.string() B: $.int() Body: Return: $arg testDictExprContract: Arguments: - arg: Contract: $.int(): $.string() B: $.int() Body: Return: $arg testDictMultiExprContract: Arguments: - arg: Contract: $.int(): $.string() $.string(): $.int() Body: Return: $arg testNotNullContract: Arguments: - arg: Contract: $.notNull() Body: Return: $arg testDefault: Arguments: - arg: Contract: $.string() Default: DEFAULT Body: Return: $arg testDefaultExpression: Arguments: - arg: Contract: $.string() Default: $.ordinaryProperty Body: Return: $arg testActionMeta: Scope: Public Meta: - io.murano.metadata.Title: text: "Title of the method" - io.murano.metadata.Description: text: "Description of the method" - io.murano.metadata.HelpText: text: "HelpText of the method" notAction: Scope: Session testAction: Scope: Public --- Name: TestedTarget Properties: prop: Contract: - $.string() Methods: foo: Arguments: - contracted: Contract: - $.string() Body: - Return: $contracted[2] wildList: Arguments: - contracted: Contract: - $ Body: - Return: $contracted[1][2] wildContract: Arguments: - untyped: Contract: $ Body: - Return: $untyped[1] typedList: Arguments: - contracted: Contract: - [$.string()] Body: - Return: $contracted[1][2] dictArgs: Arguments: - arg: Contract: {$.string(): [$.int()]} Body: - Return: $arg.get('a')[1] --- Name: TestIteratorsTransform Methods: testProperties: Body: - $.target: new(TestedTarget, $this, prop => ['1', '2', '3'].where($)) - Return: $.target.prop[2] testArgs: Body: - $.target: new(TestedTarget, $this) - Return: $.target.foo(['1', '2', '3'].where($)) testUntypedArgs: Body: - $.target: new(TestedTarget, $this) - Return: $.target.wildContract(['1', '2', '3'].where($)) testNotTypedListArgs: Body: - $.target: new(TestedTarget, $this) - Return: $.target.wildList([['1', '2', '3'].where($), ['4', '5', '6'].where($)].where($)) testTypedList: Body: - $.target: new(TestedTarget, $this) - Return: $.target.typedList([['1', '2', '3'].where($), ['4', '5', '6'].where($)].where($)) testListDict: Body: - $.target: new(TestedTarget, $this) - Return: $.target.dictArgs({'a' => [1, 2, 4].where($)}) --- Name: TemplateTestChild Properties: bar: Contract: $.int().notNull() --- Name: TemplatePropertyClass Properties: owned: Contract: $.class(Node) template: Contract: $.template(Node) Methods: testTemplateWithExternallyOwnedObject: Body: - Return: new($.template).nodes.select(id($)) murano-9.0.0/murano/tests/unit/dsl/meta/PropertyInit.yaml0000664000175000017500000000206513656750211023542 0ustar zuulzuul00000000000000Name: PropertyInit Properties: runtimePropertyWithoutDefault: Usage: Runtime Contract: $.string() runtimePropertyWithStrictContractWithoutDefault: Usage: Runtime Contract: $.string().notNull() runtimeProperty2WithStrictContractWithoutDefault: Usage: Runtime Contract: $.string().notNull() agentListener: Contract: $.class('io.murano.system.AgentListener') runtimePropertyWithStrictContractAndDefault: Usage: Runtime Contract: $.string().notNull() Default: DEFAULT Methods: initialize: Body: $.runtimePropertyWithStrictContractWithoutDefault: VALUE testRuntimePropertyWithoutDefault: Body: - Return: $this.runtimePropertyWithoutDefault testRuntimePropertyDefault: Body: - Return: $this.runtimePropertyWithStrictContractAndDefault testRuntimePropertyWithStrictContractWithoutDefault: Body: - Return: $this.runtimePropertyWithStrictContractWithoutDefault testUninitializedRuntimeProperty: Body: - Return: $this.runtimeProperty2WithStrictContractWithoutDefault murano-9.0.0/murano/tests/unit/dsl/meta/ConcurrencyTest.yaml0000664000175000017500000000603713656750211024227 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: std: io.murano m: io.murano.metadata.engine Name: TestConcurrency Methods: isolated: Arguments: - call: Contract: $.string() Body: - trace(format('call-{0}-before', $call)) - yield() - trace(format('call-{0}-after', $call)) isolatedWithDefault: Meta: - m:Synchronize: Arguments: - call: Contract: $.string() Body: - trace(format('call-{0}-before', $call)) - yield() - trace(format('call-{0}-after', $call)) concurrentExplicit: Meta: - m:Synchronize: onThis: false Arguments: - call: Contract: $.string() Body: - trace(format('call-{0}-before', $call)) - yield() - trace(format('call-{0}-after', $call)) isolatedExplicit: Meta: - m:Synchronize: onThis: true Arguments: - call: Contract: $.string() Body: - trace(format('call-{0}-before', $call)) - yield() - trace(format('call-{0}-after', $call)) argbasedPrimitive: Meta: - m:Synchronize: onArgs: flag Arguments: - call: Contract: $.string() - flag: Contract: $.string() Body: - trace(format('call-{0}-before', $call)) - yield() - trace(format('call-{0}-after', $call)) argBasedWithObject: Meta: - m:Synchronize: onArgs: flag Arguments: - call: Contract: $.string() - flag: Contract: $.class(std:Object) Body: - trace(format('call-{0}-before', $call)) - yield() - trace(format('call-{0}-after', $call)) testCallIsolated: Body: - list(1, 2, 3).pselect($this.isolated($)) testCallIsolatedWithDefault: Body: - list(1, 2, 3).pselect($this.isolatedWithDefault($)) testCallConcurrentExplicit: Body: - list(1, 2, 3).pselect($this.concurrentExplicit($)) testCallIsolatedExplicit: Body: - list(1, 2, 3).pselect($this.isolatedExplicit($)) testCallArgbasedPrimitiveIsolated: Body: - list(1, 2, 3).pselect($this.argbasedPrimitive($, same)) testCallArgbasedPrimitiveConcurrent: Body: - list(1, 2, 3).pselect($this.argbasedPrimitive($, $)) testCallArgbasedWithObjectIsolated: Body: - $o: new(std:Object) - list(1, 2, 3).pselect($this.argBasedWithObject($, $o)) testCallArgbasedWithObjectConcurrent: Body: - list(1, 2, 3).pselect($this.argBasedWithObject($, new(std:Object))) murano-9.0.0/murano/tests/unit/dsl/meta/DerivedFrom2Classes.yaml0000664000175000017500000000435113656750211024700 0ustar zuulzuul00000000000000Name: DerivedFrom2Classes Extends: [ParentClass1, ParentClass2] Properties: ambiguousProperty: Contract: $.string() Usage: InOut usageTestProperty1: Contract: $.int() usageTestProperty2: Contract: $.int() Usage: In usageTestProperty3: Contract: $.int() Usage: InOut usageTestProperty4: Contract: $.int() Usage: Out usageTestProperty5: Contract: $.int() Usage: Runtime usageTestProperty6: Contract: $.int() Usage: Const usageTestProperty7: Contract: $.int() Usage: Config Methods: setPrivateProperty: Body: - $.privateProperty: 99 testAccessAmbiguousPropertyWithResolver: Body: Return: $.ambiguousProperty testPropertyMerge: Body: - trace($.ambiguousProperty) - $.setAmbiguousProperty() - trace($.ambiguousProperty) - trace($.getAmbiguousProperty()) - trace($.cast(ParentClass1).ambiguousProperty) - trace($.cast(ParentClass2).ambiguousProperty) - Return: $.ambiguousProperty testModifyUsageTestProperty1: Body: - $.usageTestProperty1: 11 - Return: $.usageTestProperty1 testModifyUsageTestProperty2: Body: - $.usageTestProperty2: 22 - Return: $.usageTestProperty2 testModifyUsageTestProperty3: Body: - $.usageTestProperty3: 33 - Return: $.usageTestProperty3 testModifyUsageTestProperty4: Body: - $.usageTestProperty4: 44 - Return: $.usageTestProperty4 testModifyUsageTestProperty5: Body: - $.usageTestProperty5: 55 - Return: $.usageTestProperty5 testModifyUsageTestProperty6: Body: - $.usageTestProperty6: 66 - Return: $.usageTestProperty6 testModifyUsageTestProperty7: Body: - $.usageTestProperty7: 77 - Return: $.usageTestProperty7 testMixinOverride: Body: - $.virtualMethod() - trace('-') - cast($, CommonParent).virtualMethod() - trace('-') - $.cast(ParentClass1).virtualMethod() - trace('-') - $.cast(ParentClass2).virtualMethod() testSuper: Body: - super($, $.virtualMethod()) - $.super($.virtualMethod()) testPsuper: Body: - psuper($, $.virtualMethod()) - $.psuper($.virtualMethod()) murano-9.0.0/murano/tests/unit/dsl/meta/Empty.yaml0000664000175000017500000000001413656750211022160 0ustar zuulzuul00000000000000Name: Empty murano-9.0.0/murano/tests/unit/dsl/meta/ExceptionHandling.yaml0000664000175000017500000000221613656750211024473 0ustar zuulzuul00000000000000Name: ExceptionHandling Methods: testThrow: Arguments: - enum: Contract: $.int().notNull() Body: Try: - trace('enter try') - $.doThrow($enum) - trace('exit try') Catch: - With: exceptionName As: e Do: - trace($e.message) - With: anotherExceptionName As: e Do: - trace($e.message) - trace(rethrow) - Rethrow: - As: e Do: - trace('catch all') - trace($e.message) Else: - trace('else section') Finally: - trace('finally section') doThrow: Arguments: - enum: Contract: $.int().notNull() Body: - Match: 1: - Throw: exceptionName Message: exception message 2: - Throw: anotherExceptionName Message: exception message 2 3: - Throw: thirdExceptionName Message: exception message 3 4: - Return: Value: $enum testStackTrace: Body: raisePythonException() murano-9.0.0/murano/tests/unit/dsl/meta/SampleClass3.yaml0000664000175000017500000000153113656750211023361 0ustar zuulzuul00000000000000Name: SampleClass3 Properties: multiClassProperty: Contract: $.class(ParentClass1).class(ParentClass2) Methods: testMultiContract: Body: - $.multiClassProperty.method1() - $.multiClassProperty.method2() testPropertyAccessibleOnSeveralPaths: Body: Return: $.multiClassProperty.rootProperty testPrivateProperty: Body: - $.privateName: 'SampleClass3' - $.multiClassProperty.setPrivatePropertyChain() - trace($.privateName) testUninitializedPrivatePropertyAccess: Body: Return: $.privateName testReadOfPrivatePropertyOfOtherClass: Body: - $.multiClassProperty.setPrivateProperty() - trace('accessing property') - Return: $.multiClassProperty.privateProperty testWriteOfPrivatePropertyOfOtherClass: Body: $.multiClassProperty.privateProperty: 123 murano-9.0.0/murano/tests/unit/dsl/meta/SampleClass2.yaml0000664000175000017500000000042213656750211023356 0ustar zuulzuul00000000000000Name: SampleClass2 Properties: class2Property: Contract: $.string().notNull() Methods: testMethod: Body: Return: key1: abc key2: [a, b, c] key3: null key4: false key5: x: y key6: - w: q murano-9.0.0/murano/tests/unit/dsl/meta/TestEngineFunctions.yaml0000664000175000017500000001440613656750211025032 0ustar zuulzuul00000000000000Namespaces: sys: io.murano.system std: io.murano Name: TestEngineFunctions Properties: target: Usage: Runtime Contract: $.class(std:Object) Methods: testJoin: Body: - $arr: [xx, 123] - Return: (' '.join($arr)) testSplit: Body: - Return: ('x yy 123').split(' ') testLen: Body: - $a: str - $b: [1, 2, 3, 4] - $c: {'a': 'xxx' } - Return: len($a) + len($b) + len($c) testCoalesce: Arguments: - arg1: Contract: $.string() - arg2: Contract: $.string() - arg3: Contract: $.string() Body: Return: coalesce($arg1, $arg2, $arg3) testBase64Encode: Arguments: - arg: Contract: $.string() Body: Return: base64encode($arg) testBase64Decode: Arguments: - arg: Contract: $.string() Body: Return: base64decode($arg) testFormat: Arguments: - format: Contract: $.string() - arg1: Contract: $.string() - arg2: Contract: $.string() Body: Return: $format.format($arg1, $arg2) testReplaceStr: Arguments: - what: Contract: $.string() - old: Contract: $.string() - new: Contract: $.string() Body: Return: $what.replace($old, $new) testReplaceDict: Arguments: - what: Contract: $.string() - with: Contract: $.string(): $.string() Body: Return: $what.replace($with) testToLower: Arguments: - arg: Contract: $.string() Body: Return: toLower($arg) testToUpper: Arguments: - arg: Contract: $.string() Body: Return: toUpper($arg) testStartsWith: Arguments: - what: Contract: $.string() - arg: Contract: $.string() Body: Return: $what.startsWith($arg) testEndsWith: Arguments: - what: Contract: $.string() - arg: Contract: $.string() Body: Return: $what.endsWith($arg) testTrim: Arguments: - arg: Contract: $.string() Body: Return: trim($arg) testSubstr: Arguments: - str: Contract: $.string() - arg1: Contract: $.int() - arg2: Contract: $.int() Body: Return: $str.substr(0, $arg1) + $str.substr($arg1, $arg2) + $str.substr($arg1 + $arg2) testStr: Arguments: - arg: Contract: $ Body: Return: str($arg) testInt: Arguments: - arg: Contract: $.string() Body: Return: int($arg) testKeys: Arguments: - arg: Contract: {} Body: Return: $arg.keys() testValues: Arguments: - arg: Contract: {} Body: Return: $arg.values() testFlatten: Arguments: - arg: Contract: [] Body: Return: $arg.flatten() testDictGet: Arguments: - dict: Contract: $.string(): $ - key: Contract: $.string().notNull() Body: Return: $dict.get($key) testRandomName: Body: Return: randomName() testPSelect: Arguments: - arg: Contract: [$.int().notNull()] Body: Return: $arg.pselect($ * $) testBind: Arguments: - template: Contract: {} - args: Contract: {} Body: Return: $template.bind($args) testPatch: Body: - $patches: - op: add path: '/foo' value: bar - op: add path: '/baz' value: [1, 2, 3] - op: remove path: '/baz/1' - op: test path: '/baz' value: [1, 3] - op: replace path: '/baz/0' value: 42 - op: remove path: '/baz/1' - $doc: {} - Return: $doc.patch($patches) testTake: Arguments: - list: Contract: [$.int()] - count: Contract: $.int() Body: - Return: $list.take($count) testSkip: Arguments: - list: Contract: [$.int()] - count: Contract: $.int() Body: - Return: $list.skip($count) testSkipTake: Arguments: - list: Contract: [$.int()] - start: Contract: $.int() - count: Contract: $.int() Body: - $l: $list.skip($start) - Return: $l.take($count) testSkipTakeChained: Arguments: - list: Contract: [$.int()] - start: Contract: $.int() - count: Contract: $.int() Body: - Return: $list.skip($start).take($count) testAggregate: Arguments: - list: Contract: [$.int()] Body: - Return: $list.aggregate($1 + $2) testAggregateWithInitializer: Arguments: - list: Contract: [$.int()] - initializer: Contract: $.int() Body: - Return: $list.aggregate($1 + $2, $initializer) testId: Body: Return: id($) + $.id() testType: Body: Return: type($) + $.type() testIsOperator: Body: - $logger: new(sys:Logger) - $.innerVariable: new(sys:Logger) - $derivedClassObject: new(DerivedFrom2Classes) - Return: $logger is sys:Logger and $ is 'TestEngineFunctions' and $.innerVariable is 'io.murano.system.Logger' and $derivedClassObject is ParentClass1 and $derivedClassObject is ParentClass2 testNegativeIsOperator: Arguments: - nullArg: Contract: $.class(sys:Logger) Default: null Body: - $nullVariable: null - Return: $nullVariable is sys:Logger or $nullArg is sys:Logger testNewObjectAssignment: Body: - $newObject: new(std:Object) # Assignment of object-contracted properties by IDs is possible only # if the object with the given id is present in the object store. # Thus this assignment tests the fix for bug #1597452 - $this.target: id($newObject) - Return: $this.target = $newObject testDecryptData: Arguments: - value: Contract: $.string().notNull() Body: - Return: decryptData($value) murano-9.0.0/murano/tests/unit/dsl/meta/CreatingClass.yaml0000664000175000017500000000567313656750211023624 0ustar zuulzuul00000000000000Namespaces: std: io.murano Name: CreatingClass Properties: yyy: Contract: $ Usage: Out Methods: .init: Body: trace('CreatingClass::.init') testNew: Body: - new(CreatedClass1, property1 => string, property2 => 123) testNewWithOwnership: Body: - $.yyy: new(CreatedClass1, property1 => string, property2 => 123) - Return: $.yyy.createClass2($this) testNewWithDict: Body: - $dict: property1: string property2: 123 - Return: new(CreatedClass1, $dict, owner=>$this) testLoadCompexModel: Body: - $model: :Node: value: rootNode nodes: - :Node: value: childNode1 nodes: [node0, node2] id: node1 - '?': id: node2 type: Node value: childNode2 nodes: [node1, node2] - node2 id: node0 - $obj: new($model, $this) - Return: - id($obj) - id($obj.nodes[0]) - id($obj.nodes[1]) - id($obj.find(std:Object)) - $obj.value - $obj.nodes.select($.value) - $obj.nodes[0].nodes[0] = $obj - $obj.nodes[0].nodes[1] = $obj.nodes[1] - $obj.nodes[2] = $obj.nodes[1] - $obj.nodes[1].nodes[0] = $obj.nodes[0] - $obj.nodes[1].nodes[1] = $obj.nodes[1] - $obj.nodes[0].nodes[0].value - $obj.nodes[0].nodes[1].value - $obj.nodes[1].nodes[0].value testSingleContractInstantiation: Body: - $model: :ConstructionSample: - new(:ConstructionChild, prop => $model) testNestedNewLoadsInSeparateStore: Body: Return: new(:ConstructionFromInit).out.nodes[1] testReferenceAccessFromInit: Body: - $model: :Node: value: rootNode nodes: - childNode - :NodeWithReferenceAccess: value: childNode id: childNode - $.out: new($model, $this) --- Name: ConstructionSample Methods: .init: Body: trace('ConstructionSample::init') --- Name: ConstructionParent Properties: prop: Contract: $.class(ConstructionSample) --- Name: ConstructionChild Extends: ConstructionParent Properties: prop: Contract: $.class(ConstructionSample) --- Name: ConstructionFromInit Properties: out: Contract: $.class(Node) Usage: Out Methods: .init: Body: - $model: :Node: value: rootNode nodes: - :Node: value: childNode1 nodes: [childNode2] id: childNode1 - :Node: value: childNode2 nodes: [childNode1] id: childNode2 - $.out: new($model, $this) --- Name: NodeWithReferenceAccess Extends: Node Methods: .init: Body: $.find(Node).nodes.select(trace($.value))murano-9.0.0/murano/tests/unit/dsl/meta/TestReflection.yaml0000664000175000017500000000500213656750211024016 0ustar zuulzuul00000000000000Name: TestReflection Properties: property: Contract: $.string() Default: object Usage: InOut staticProperty: Contract: $.string() Default: static Usage: Static Methods: testTypeInfo: Body: - $typeinfo: typeinfo($) - Return: name: $typeinfo.name versionStr: str($typeinfo.version) versionMajor: $typeinfo.version.major versionMinor: $typeinfo.version.minor versionPatch: $typeinfo.version.patch ancestors: $typeinfo.ancestors.name properties: $typeinfo.properties.name.orderBy($) methods: $typeinfo.methods.name.where(not $.startsWith(test)).orderBy($) package: $typeinfo.package.name testMethodInfo: Body: - $method: typeinfo($).methods.where($.name = foo).single() - $bar: $method.arguments.where($.name = bar).single() - $baz: $method.arguments.where($.name = baz).single() - Return: name: $method.name arguments: $method.arguments.name barHasDefault: $bar.hasDefault bazHasDefault: $baz.hasDefault declaringType: $method.declaringType.name barMethod: $bar.declaringMethod.name bazMethod: $baz.declaringMethod.name testPropertyInfo: Body: - $property: typeinfo($).properties.orderBy($.name).first() - Return: name: $property.name hasDefault: $property.hasDefault usage: $property.usage foo: Arguments: - bar: Contract: $.string() Default: null - baz: Contract: $.string() Body: Return: $bar + $baz testPropertyRead: Body: - $instanceValues: typeinfo($).properties.orderBy($.name). select($.getValue($this)) - $staticValues: typeinfo($).properties.orderBy($.name). where($.usage = Static).select($.getValue(null)) - Return: [$instanceValues, $staticValues] testPropertyWrite: Body: - $instanceProperty: typeinfo($).properties.where($.name = property).single() - $instanceProperty.setValue($, 'new object') - $staticProperty: typeinfo($).properties.where($.name = staticProperty).single() - $staticProperty.setValue($, 'new static') - Return: $.testPropertyRead() testMethodInvoke: Body: - $method: typeinfo($).methods.where($.name = foo).single() - Return: $method.invoke($, 'bar ', baz => baz) testInstanceCreate: Body: - $obj: new(typeinfo($).type, property => test) - Return: $obj.property murano-9.0.0/murano/tests/unit/dsl/meta/TestFindClass.yaml0000664000175000017500000000047213656750211023600 0ustar zuulzuul00000000000000Name: TestFindClass Methods: testFindClassWithPrefix: Body: - new('io.murano.extensions.io.murano.test.TestFixture') testFindClassShortName: Body: - new('io.murano.test.TestFixture') testClassWithPrefixNotFound: Body: - new('io.murano.extensions.io.murano.test.TestFixture1')murano-9.0.0/murano/tests/unit/dsl/meta/TestSchema.yaml0000664000175000017500000000466413656750211023141 0ustar zuulzuul00000000000000Namespaces: m: io.murano.metadata mf: io.murano.metadata.forms Name: TestSchema Meta: - mf:Section: name: mySection title: Section Title index: 1 - mf:Section: name: mySection title: Another Section Title index: 2 Properties: stringProperty: Contract: $.string() stringNotNullProperty: Contract: $.string().notNull() intProperty: Contract: $.int() intNotNullProperty: Contract: $.int().notNull() boolProperty: Contract: $.bool() boolNotNullProperty: Contract: $.bool().notNull() listProperty: Contract: - $.string().notNull() dictProperty: Contract: key1: $.string().notNull() key2: $.string().notNull() $.string().notNull(): $.int() classProperty: Contract: $.class(SampleClass1) templateProperty: Contract: $.template(SampleClass1, excludeProperties => [stringProperty]) defaultProperty: Contract: $.int() Default: 999 complexProperty: Contract: $.string(): [$.int().notNull()] minimumContract: Contract: $.int().notNull().check($ >= 5) maximumContract: Contract: $.int().notNull().check($ < 15) rangeContract: Contract: $.int().notNull().check($ > 0 and $ <= 10) chainContract: Contract: $.int().notNull().check($ > 0).check($ <= 10) regexContract: Contract: $.string().notNull().check($.matches(`\d+`)) enumContract: Contract: $.string().notNull().check($ in [a, b]) enumFuncContract: Contract: $.string().notNull().check($ in $this.staticEnumMethod()) decoratedProperty: Contract: $.string().notNull() Meta: - m:Title: text: Title! - m:Description: text: Description! - m:HelpText: text: Help! - mf:Hidden - mf:Position: index: 1 section: mySection Methods: staticEnumMethod: Body: Return: - x - y Usage: Static modelBuilder: Meta: - m:ModelBuilder - m:Title: text: Model Builder! Usage: Static Scope: Public Arguments: - arg1: Meta: m:Title: text: Arg1! Contract: $.string().notNull() - arg2: Contract: $.int().notNull() invalidModelBuilder1: Meta: - m:ModelBuilder invalidModelBuilder2: Meta: - m:ModelBuilder Usage: Static invalidModelBuilder3: Meta: - m:ModelBuilder Scope: Public murano-9.0.0/murano/tests/unit/dsl/meta/TestMethodParamInheritance.yaml0000664000175000017500000000101013656750211026272 0ustar zuulzuul00000000000000Name: TestMethodParamInheritanceBase Methods: testRunWithParam: Body: - $this.method1('foo') testRunWithoutParam: Body: - $this.method2() method1: Arguments: - foo: Contract: $.string().notNull() method2: --- # ------------------------------------------------------------------ # --- Name: TestMethodParamInheritanceDerived Extends: TestMethodParamInheritanceBase Methods: method1: method2: Arguments: - foo: Contract: $.string().notNull() murano-9.0.0/murano/tests/unit/dsl/meta/TestObjectsCopyMerge.yaml0000664000175000017500000000062713656750211025140 0ustar zuulzuul00000000000000Name: TestObjectsCopyMergeSampleClass Extends: Node Methods: .init: Body: - $.testValue: null .destroy: Body: - trace($.value) - $.nodes.select(trace($.value)) - $.nodes.first().setValue('It works!') setValue: Arguments: - arg: Contract: $.string().notNull() Body: - $.testValue: $arg testMethod: Body: Return: $.testValue murano-9.0.0/murano/tests/unit/dsl/meta/ParentClass2.yaml0000664000175000017500000000051213656750211023366 0ustar zuulzuul00000000000000Name: ParentClass2 Extends: CommonParent Properties: ambiguousProperty: Contract: $.string() Usage: InOut Methods: method2: Body: - trace('ParentClass2::method2') getAmbiguousProperty: Body: Return: $.ambiguousProperty virtualMethod: Body: - trace('ParentClass2::virtualMethod') murano-9.0.0/murano/tests/unit/dsl/meta/SingleInheritanceChild.yaml0000664000175000017500000000050113656750211025422 0ustar zuulzuul00000000000000Name: SingleInheritanceChild Extends: SingleInheritanceParent Methods: testVirtualCalls: Body: $.method1() method1: Body: - trace('SingleInheritanceChild::method1') - super($, $.method1()) method2: Body: - trace('SingleInheritanceChild::method2') - $.super($.method2())murano-9.0.0/murano/tests/unit/dsl/meta/TestVarKwArgs.yaml0000664000175000017500000000230613656750211023577 0ustar zuulzuul00000000000000Name: TestVarKwArgs Methods: testVarArgs: Body: Return: $.varArgsMethod(1, 2, 3, 4) testVarArgsContract: Body: Return: $.varArgsMethod(1, string) testDuplicateVarArgs: Body: Return: $.varArgsMethod(1, arg1 => 2) testExplicitVarArgs: Body: Return: $.varArgsMethod(1, rest => 2) varArgsMethod: Arguments: - arg1: Contract: $.int() - rest: Contract: $.int() Usage: VarArgs Body: Return: $rest testKwArgs: Body: Return: $.kwArgsMethod(arg1 => 1, arg2 => 2, arg3 => 3) testKwArgsContract: Body: Return: $.kwArgsMethod(arg1 => 1, arg2 => string) testDuplicateKwArgs: Body: Return: $.kwArgsMethod(1, arg1 => 2) kwArgsMethod: Arguments: - arg1: Contract: $.int() - rest: Contract: $.int() Usage: KwArgs Body: Return: $rest testArgs: Body: Return: $.argsMethod(1, 2, 3, arg1 => 4, arg2 => 5, arg3 => 6) argsMethod: Arguments: - args: Contract: $.int() Usage: VarArgs - kwargs: Contract: $.int() Usage: KwArgs Body: Return: [$args, $kwargs] murano-9.0.0/murano/tests/unit/dsl/meta/TestGC.yaml0000664000175000017500000000711213656750211022221 0ustar zuulzuul00000000000000Namespaces: sys: io.murano.system std: io.murano Name: TestGCNode Extends: Node Properties: runtimeProperty: Usage: Runtime Contract: $ Methods: .init: Body: - $this.runtimeProperty: new(Node) foo: Body: - trace(foo) destructionHandler: Arguments: - obj: Contract: $.class(TestGCNode).notNull() Body: - trace('Destruction of {0}'.format($obj.value)) .destroy: Body: - trace($.value) --- Name: TestGCNode2 Extends: TestGCNode Methods: .destroy: Body: - trace(list($.nodes.select(sys:GC.isDoomed($)))) - $owner: $.find(std:Object) - trace(sys:GC.isDoomed($owner)) --- Name: TestGCNode3 Extends: TestGCNode Methods: .init: Body: - $this.undeclaredProp: new(TestGCNode, value => C) --- Name: TestGC Properties: outNode: Usage: Out Contract: $.class(TestGCNode) staticPropertyNode: Usage: Static Contract: $.class(TestGCNode) Methods: testObjectsCollect: Body: - $model: :TestGCNode: value: A nodes: - :TestGCNode: value: B - new($model) - $localAssignedVariable: new($model) - sys:GC.collect() testObjectsCollectWithSubscription: Body: - $model: :TestGCNode: value: A nodes: :TestGCNode: value: B - $x: new($model) - sys:GC.subscribeDestruction($x, $this, _handler) - sys:GC.subscribeDestruction($x.nodes[0], $this, _handler) - sys:GC.subscribeDestruction($x.nodes[0], $x, destructionHandler) - $x: null - sys:GC.collect() _handler: Arguments: - obj: Contract: $.class(TestGCNode).notNull() Body: - trace('Destroy ' + $obj.value) testCallOnDestroyedObject: Body: - $val: new(TestGCNode, value => X) - sys:GC.subscribeDestruction($val, $this, _handler2) - $val: null - sys:GC.collect() - $this.destroyed.foo() _handler2: Arguments: - obj: Contract: $.class(TestGCNode).notNull() Body: - $obj.foo() - $this.destroyed: $obj testIsDoomed: Body: - $model: :TestGCNode2: value: A nodes: - :TestGCNode2: value: B - new($model, $this) - sys:GC.collect() testIsDestroyed: Body: - $val: new(Node, value => X) - sys:GC.subscribeDestruction($val, $this, _handler3) - $val: null - sys:GC.collect() - trace(sys:GC.isDestroyed($this.destroyed)) _handler3: Arguments: - obj: Contract: $.class(Node).notNull() Body: - trace(sys:GC.isDestroyed($obj)) - $this.destroyed: $obj testDestructionDependencySerialization: Body: - $model: :TestGCNode: value: A nodes: :TestGCNode: value: B - $.outNode: new($model) - sys:GC.subscribeDestruction($.outNode, $this, _handler) - sys:GC.subscribeDestruction($.outNode.nodes[0], $this, _handler) testStaticProperties: Body: - :TestGC.staticPropertyNode: new(TestGCNode, value => A) - sys:GC.collect() methodWithArgs: Arguments: - obj: Contract: $.class(TestGCNode).notNull() Body: - sys:GC.collect() testDestroyArgs: Body: - $.methodWithArgs(new(TestGCNode, value => A)) testReachableRuntimeProperties: Body: - $node: new(TestGCNode3, value => A) - sys:GC.collect() - trace(sys:GC.isDestroyed($node.runtimeProperty)) murano-9.0.0/murano/tests/unit/dsl/meta/TestMeta.yaml0000664000175000017500000001217313656750211022621 0ustar zuulzuul00000000000000Namespaces: =: metatests Name: InheritedMultiMeta Usage: Meta Cardinality: Many Applies: All Inherited: true Properties: val: Contract: $.int().notNull() Default: 111 --- # ------------------------------------------------------------------------ Name: InheritedSingleMeta Usage: Meta Cardinality: One Applies: All Inherited: true Properties: val: Contract: $.int().notNull() Default: 222 --- # ------------------------------------------------------------------------ Name: InheritedSingleMeta2 Usage: Meta Cardinality: One Applies: All Inherited: true Extends: InheritedSingleMeta --- # ------------------------------------------------------------------------ Name: MultiMeta Usage: Meta Cardinality: Many Applies: All Inherited: false Properties: val: Contract: $.int().notNull() Default: 333 --- # ------------------------------------------------------------------------ Name: SingleMeta Usage: Meta Cardinality: One Applies: All Inherited: false Properties: val: Contract: $.int().notNull() Default: 444 --- # ------------------------------------------------------------------------ Name: SingleMeta2 Usage: Meta Cardinality: One Applies: All Inherited: false Extends: SingleMeta --- # ------------------------------------------------------------------------ Name: ComplexMeta Usage: Meta Cardinality: Many Properties: cls: Contract: $.class(PropertyType).notNull() --- # ------------------------------------------------------------------------ Name: ParentClass0 Meta: [InheritedMultiMeta, SingleMeta] Properties: prop1: Contract: $ Meta: - SingleMeta: val: 1 Methods: foo: Meta: - InheritedMultiMeta: val: 1 - InheritedSingleMeta: val: 2 - SingleMeta: val: 3 - InheritedSingleMeta2: val: 10 - SingleMeta2: val: 11 Arguments: arg: Contract: $.string() --- # ------------------------------------------------------------------------ Name: ParentClass1 Extends: ParentClass0 Meta: - InheritedMultiMeta: val: 1 - InheritedSingleMeta: val: 6 - SingleMeta: val: 7 Methods: foo: Meta: - InheritedMultiMeta: val: 4 - InheritedSingleMeta: val: 5 - SingleMeta: val: 6 Arguments: arg: Contract: $.string() --- # ------------------------------------------------------------------------ Name: ParentClass2 Extends: ParentClass0 Usage: Class Meta: - InheritedMultiMeta: val: 2 - SingleMeta: val: 3 Properties: prop2: Contract: $ Meta: - InheritedMultiMeta: val: 1 - MultiMeta: val: 2 - SingleMeta: val: 3 --- # ------------------------------------------------------------------------ Name: TestMeta Extends: [ParentClass1, ParentClass2] Meta: - 'metatests.InheritedMultiMeta': val: 4 - :SingleMeta: val: 5 Properties: prop2: Contract: $ Meta: - InheritedMultiMeta: val: 4 Methods: testClassMultiMeta: Body: - Return: typeinfo($).meta.where($ is InheritedMultiMeta).val testClassSingleMeta: Body: - Return: typeinfo($).meta. where($ is SingleMeta or $ is InheritedSingleMeta).val testParentClassNotInheritedMeta: Body: - Return: typeinfo(ParentClass2).meta. where(not typeinfo($).inherited).single().val testMethodMeta: Body: - Return: typeinfo($).methods.where($.name = foo).single().meta.val testMethodArgumentMeta: Body: - Return: typeinfo($). methods.where($.name = foo).single(). arguments.single().meta.val testInheritedPropertyMeta: Body: - Return: typeinfo($).properties. where($.name = prop1).single().meta.val testOverriddenPropertyMeta: Body: - Return: typeinfo($).properties. where($.name = prop2).single().meta.val testPackageMeta: Body: - Return: typeinfo($).package.meta testComplexMeta: Body: - Return: typeinfo($). methods.where($.name = bar).single().meta.cls. select([$.prop, typeinfo($).name]) foo: Meta: - InheritedMultiMeta: val: 7 - InheritedSingleMeta: val: 8 - SingleMeta: val: 8 + 1 Arguments: arg: Contract: $.string() Meta: - SingleMeta: val: 1 - MultiMeta: val: 2 - MultiMeta: val: 3 bar: Meta: - ComplexMeta: cls: :PropertyType: prop: 1 - ComplexMeta: cls: prop: 2 - :ComplexMeta: cls: :PropertyType2: prop: 3 - 'metatests.ComplexMeta': cls: prop: 4 - ComplexMeta: cls: ?: type: 'metatests.PropertyType2' prop: 5 --- # ------------------------------------------------------------------------ Name: PropertyType Properties: prop: Contract: $.int().notNull() Default: 44 --- # ------------------------------------------------------------------------ Name: PropertyType2 Extends: PropertyType murano-9.0.0/murano/tests/unit/dsl/meta/MacroExamples.yaml0000664000175000017500000001053013656750211023626 0ustar zuulzuul00000000000000Name: MacroExamples Methods: testIf: Arguments: arg: Contract: $.int() Body: - If: $arg > 5 Then: Return: gt - Return: def testIfElse: Arguments: arg: Contract: $.int() Body: - If: $arg > 5 Then: Return: gt Else: Return: lt - Return: def testIfNonBoolean: Body: - $res: 0 - If: null Then: $res: $res + 1 - If: list() Then: $res: $res + 10 - If: qwerty Then: $res: $res + 100 - If: 123 Then: $res: $res + 1000 - Return: $res testWhile: Arguments: arg: Contract: $.int() Body: - While: $arg > 0 Do: - trace($arg) - $arg: $arg - 1 - Return: $arg testWhileNonBoolean: Body: - $lst: list(1, 2, 3) - While: $lst Do: - $lst: $lst.delete(0) - Return: $lst testFor: Body: - For: t In: [x, y, z] Do: - trace($t) - $col: [1, 2, 3] - For: t In: $col.select($ * $) Do: - trace($t + 1) testRepeat: Arguments: count: Contract: $.int() Body: - Repeat: $count Do: - trace(run) testBreak: Body: - For: t In: range(0, 7) Do: - If: $t = 3 Then: - trace(breaking) - Break: - trace($t) - trace(method_break) - Break: testContinue: Body: - For: t In: range(0, 7) Do: - If: $t >= 3 and $t < 5 Then: - Continue: - trace($t) - trace(method_continue) - Continue: testMatch: Arguments: arg: Contract: $.int() Body: - Match: 2: Return: x 1: Return: y 3: Return: z Value: $arg testMatchDefault: Arguments: arg: Contract: $.int() Body: - Match: 2: Return: x 1: - Return: y 3: Return: z Default: - Return: def Value: $arg testSwitch: Arguments: arg: Contract: $.int() Body: - Switch: $arg > 10: trace(gt) $arg < 10: trace(lt) $arg > 100: trace(gt100) testSwitchNonBoolean: Body: - $res: 0 - Switch: 0: $res: $res + 1 null: $res: $res + 10 list(): $res: $res + 100 '': $res: $res + 1000 qwerty: $res: $res + 10000 list(1): $res: $res + 100000 12: $res: $res + 1000000 - Return: $res testSwitchDefault: Arguments: arg: Contract: $.int() Body: - Switch: $arg > 10: trace(gt) $arg < 0: - trace(lt) $arg > 100: trace(gt100) Default: - trace(def) testCodeBlock: Body: - Do: - trace(a) - $res: 123 - trace($res) - Return: $res testParallel: Body: Parallel: - Do: - trace(enter) - sleep(0) - trace(exit) - Do: - trace(enter) - sleep(0) - trace(exit) testParallelWithLimit: Body: Parallel: - Do: - trace(enter) - sleep(0) - trace(exit) - Do: - trace(enter) - sleep(0) - trace(exit) - Do: - trace(enter) - sleep(0) - trace(exit) Limit: 2 testScopeWithinMacro: Body: - $x: 0 - $c: 1 - If: $x = 0 Then: $x: $x + 1 - While: $x = 1 Do: $x: $x + 20 - For: t In: [1] Do: $x: $x + 300 - Repeat: 1 Do: $x: $x + 4000 - Match: 1: $x: $x + 50000 Value: $c - Switch: $c > 0: $x: $x + 600000 - Do: $x: $x + 7000000 - Parallel: - Do: $x: $x + 80000000/2 - Do: $x: $x + 80000000/2 - Return: $xmurano-9.0.0/murano/tests/unit/dsl/meta/TestExtensionMethods.yaml0000664000175000017500000000465313656750211025237 0ustar zuulzuul00000000000000Namespaces: =: extcls --- # ------------------------------------------------------------------ # --- Name: Extended Properties: prop: Contract: $.int() Default: 123 Methods: method: Body: Return: $.prop --- # ------------------------------------------------------------------ # --- Name: Extender Methods: importedExtensionMethod: Usage: Extension Arguments: - obj: Contract: $.class(Extended).notNull() - n: Contract: $.int().notNull() Body: Return: [$obj.prop * $n, $obj.method() * $n] nullableExtension: Usage: Extension Arguments: - obj: Contract: $.class(Extended) Body: Return: $obj?.prop extensionMethod: Usage: Extension Arguments: - obj: Contract: $.class(Extended).notNull() Body: Return: 222 toTileCase: Usage: Extension Arguments: - str: Contract: $.string().notNull() Body: Return: join($str.toCharArray().select( selectCase($.toLower() = $).switchCase($.toUpper(), $.toLower())), '') --- # ------------------------------------------------------------------ # --- Name: TestClass Import: Extender Methods: testSelfExtensionMethod: Body: Return: new(Extended).selfExtensionMethod() testImportedExtensionMethod: Body: Return: new(Extended).importedExtensionMethod(2) testNullableExtensionMethod: Body: Return: - new(Extended).nullableExtension() - null.nullableExtension() testExtensionsPrecedence: Body: Return: new(Extended).extensionMethod() testCallOnPrimitiveTypes: Body: Return: QwertY.toTileCase() testCallExtensionExplicitly: Body: Return: :Extender.extensionMethod(new(:Extended)) testExplicitCallDoenstWorkOnInstance: Body: Return: new(Extended).extensionMethod(new(Extended)) testCallPythonExtension: Body: Return: 4.pythonExtension() testCallPythonExtensionExplicitly: Body: Return: :Extender.pythonExtension(5) testCallPythonClassmethodExtension: Body: Return: 7.pythonExtension2() selfExtensionMethod: Usage: Extension Arguments: - obj: Contract: $.class(Extended).notNull() Body: Return: [$obj.prop, $obj.method()] extensionMethod: Usage: Extension Arguments: - obj: Contract: $.class(Extended).notNull() Body: Return: 111 murano-9.0.0/murano/tests/unit/dsl/meta/CreatedClass2.yaml0000664000175000017500000000033413656750211023506 0ustar zuulzuul00000000000000Name: CreatedClass2 Properties: property1: Contract: $.string() property2: Contract: $.int() Methods: .init: Body: - $.find(CreatingClass).require() - trace('CreatedClass2::.init') murano-9.0.0/murano/tests/unit/dsl/meta/TestCall.yaml0000664000175000017500000000162413656750211022605 0ustar zuulzuul00000000000000Name: OtherClass Methods: toCall: Arguments: - source: Contract: $.string() - foo: Contract: $ - bar: Contract: $ - baz: Contract: $ Body: - trace('called as ' + $source) staticMethod: Usage: Static Body: - trace('called as static') --- # ------------------------------------------------------------------------ Name: TestCall Methods: .init: Body: - $.other: new(OtherClass) testCall: Body: - call('toCall', ['call', 'foo'], {baz=>1, bar=>2}, $.other) testMethodInvocation: Body: - $.other.toCall('method', 'foo', baz=>baz, bar=>bar) testCallStatic: Body: - call('staticMethod', [], {}, :OtherClass) testCallStaticAsInstance: Body: - call('staticMethod', [], {}, $.other) --- # ------------------------------------------------------------------------ murano-9.0.0/murano/tests/unit/dsl/meta/TestStatics.yaml0000664000175000017500000001410513656750211023342 0ustar zuulzuul00000000000000Namespaces: ns: test =: test e: '' --- # --------------------------------------------------------------------- # TestStaticsBase class - base class for TestStatics to test how static # entities work in respect to class inheritance --- # --------------------------------------------------------------------- Name: TestStaticsBase Properties: baseStaticProperty: Contract: $.string() Default: baseStaticProperty Usage: Static conflictingStaticProperty: Contract: $.string() Default: 'conflictingStaticProperty-base' Usage: Static --- # --------------------------------------------------------------------- # TestStatics class - main class for the static tests --- # --------------------------------------------------------------------- Name: TestStatics Extends: TestStaticsBase Properties: staticProperty: Contract: $.string() Usage: Static Default: xxx staticDictProperty: Contract: {} Usage: Static conflictingStaticProperty: Contract: $.string() Default: 'conflictingStaticProperty-child' Usage: Static instanceProperty: Contract: $.int() Default: 555 staticProperty2: Contract: $.string() Default: staticProperty Usage: Static Methods: testStaticTest: Usage: Static Body: Return: $ testCallStaticMethodOnObject: Body: Return: $.simpleStaticMethod() testCallStaticMethodOnClassName: Body: Return: :TestStatics.simpleStaticMethod() testCallStaticMethodOnInvalidClass: Body: Return: e:TestUnicode.simpleStaticMethod() testCallStaticMethodOnClassNameWithNs: Body: Return: ns:TestStatics.simpleStaticMethod($.instanceProperty) testCallStaticMethodFromAnotherMethod: Body: Return: ns:TestStatics.simpleStaticMethod2() testStaticThis: Body: Return: $.returnStaticThis() testNoAccessToInstanceProperties: Body: Return: $.accessInstanceProperty() testAccessStaticPropertyFromInstanceMethod: Body: Return: $.staticProperty testAccessStaticPropertyFromStaticMethod: Body: Return: $.accessStaticProperty() simpleStaticMethod: Usage: Static Arguments: arg: Contract: $.int() Default: 0 Body: Return: 123 + $arg simpleStaticMethod2: Usage: Static Body: Return: $.simpleStaticMethod() + $this.simpleStaticMethod() + ns:TestStatics.simpleStaticMethod() + :TestStatics.simpleStaticMethod() + type('test.TestStatics').simpleStaticMethod() returnStaticThis: Usage: Static Body: Return: $ accessInstanceProperty: Usage: Static Body: Return: $.instanceProperty accessStaticProperty: Usage: Static Body: Return: $.staticProperty testModifyStaticPropertyUsingDollar: Body: Return: $.modifyStaticPropertyUsingDollar() modifyStaticPropertyUsingDollar: Usage: Static Body: - $.staticProperty: qq - Return: $.staticProperty testModifyStaticPropertyUsingThis: Body: Return: $.modifyStaticPropertyUsingThis() modifyStaticPropertyUsingThis: Usage: Static Body: - $this.staticProperty: qq - Return: $this.staticProperty testModifyStaticPropertyUsingClassName: Body: Return: $.modifyStaticPropertyUsingClassName() modifyStaticPropertyUsingClassName: Usage: Static Body: - :TestStatics.staticProperty: qq - Return: :TestStatics.staticProperty testModifyStaticPropertyUsingNsClassName: Body: Return: $.modifyStaticPropertyUsingNsClassName() modifyStaticPropertyUsingNsClassName: Usage: Static Body: - ns:TestStatics.staticProperty: qq - Return: ns:TestStatics.staticProperty testModifyStaticPropertyUsingTypeFunc: Body: Return: $.modifyStaticPropertyUsingTypeFunc() modifyStaticPropertyUsingTypeFunc: Usage: Static Body: - type('test.TestStatics').staticProperty: qq - Return: type('test.TestStatics').staticProperty testModifyStaticDictProperty: Body: Return: $.modifyStaticDictProperty() modifyStaticDictProperty: Usage: Static Body: - :TestStatics.staticDictProperty.key: value - Return: $.staticDictProperty testPropertyIsStatic: Body: Return: $.modifyStaticPropertyOnInstance() modifyStaticPropertyOnInstance: Usage: Static Body: - $obj1: new(TestStatics) - $obj2: new(TestStatics) - $obj1.modifyStaticPropertyUsingClassName() - Return: $obj2.staticProperty testStaticPropertisNotLoaded: Body: Return: $.staticProperty2 testTypeIsSingleton: Body: - $t11: :TestStatics - $t12: :TestStatics - $t21: ns:TestStatics - $t22: ns:TestStatics - $t31: type('test.TestStatics') - $t32: type('test.TestStatics') - Return: $t11 = $t12 and $t21 = $t22 and $t31 = $t32 testStaticPropertyInheritance: Body: Return: $.baseStaticProperty + :TestStaticsBase.baseStaticProperty + :TestStatics.baseStaticProperty testStaticPropertyOverride: Body: Return: - $.conflictingStaticProperty - :TestStatics.conflictingStaticProperty - :TestStaticsBase.conflictingStaticProperty - type('test.TestStatics').conflictingStaticProperty - type('test.TestStaticsBase').conflictingStaticProperty testTypeinfoOfType: Body: - $typeObj: type('test.TestStatics') - $typeInfoOfType: typeinfo($typeObj) - $obj: new('TestStatics') - Return: typeinfo($obj) = $typeInfoOfType testCallPythonStaticMethod: Body: Return: - $.staticPythonMethod(111) - :TestStatics.staticPythonMethod(111) - ns:TestStatics.staticPythonMethod(111) - type('test.TestStatics').staticPythonMethod(111) testCallPythonClassMethod: Body: Return: - $.classmethodPythonMethod('!') - :TestStatics.classmethodPythonMethod('!') - ns:TestStatics.classmethodPythonMethod('!') - type('test.TestStatics').classmethodPythonMethod('!') testStaticAction: Usage: Static Body: Return: 'It works!'murano-9.0.0/murano/tests/unit/dsl/meta/AgentListenerTests.yaml0000664000175000017500000000045313656750211024660 0ustar zuulzuul00000000000000Name: AgentListenerTests Namespaces: sys: io.murano.system Properties: agentListener: Contract: $.class(sys:AgentListener) Usage: Runtime Methods: testAgentListener: Body: - $.agentListener: new(sys:AgentListener, $this, name => 'hello') - Return: $.agentListener murano-9.0.0/murano/tests/unit/dsl/meta/ParentClass1.yaml0000664000175000017500000000064113656750211023370 0ustar zuulzuul00000000000000Name: ParentClass1 Extends: CommonParent Properties: ambiguousProperty: Contract: $.string() Usage: InOut Methods: method1: Body: - trace('ParentClass1::method1') setPrivatePropertyChain: Body: - $.privateName: 'ParentClass1' - $.cast(CommonParent).setPrivatePropertyChain() - trace($.privateName) setAmbiguousProperty: Body: $.ambiguousProperty: '555' murano-9.0.0/murano/tests/unit/dsl/meta/SampleClass1.yaml0000664000175000017500000000410213656750211023354 0ustar zuulzuul00000000000000Name: SampleClass1 Properties: stringProperty: Contract: $.string().notNull() classProperty: Contract: $.class(SampleClass2).notNull() assignedProperty: Contract: $ Usage: Runtime arbitraryProperty: Contract: $ Workflow: testTrace: Arguments: - intArg: Contract: $.int().notNull() Body: - trace($intArg) - trace($.stringProperty) - trace($.classProperty.class2Property) testException: Body: - raiseException() testReturn: Arguments: - intArg: Contract: $.int().notNull() Body: Return: $intArg testCallAnotherMethod: Body: - trace(method1) - $.anotherMethod() anotherMethod: Body: - trace(method2) testAttributes: Arguments: - arg: Contract: $.string() Body: - $.setAttr(att1, $arg) - $x: $.getAttr(att1) - $y: $.getAttr(att2, ' Doe') - Return: $x + $y testAssignment: Body: - $result: {} - $result.Arr: [1, 2, [10, 11]] - $index: 1 - $result.Arr[0]: 3 - $result.Arr[$index - 1]: 5 - $result.Arr[$index + 1][1]: 123 #- $result.Dict: {} - $result.Dict.Key1: V1 - $keyName: Key2 - $result.Dict[$keyName]: {} - $result.Dict[$keyName]['a_b']: V2 - $result.Dict[$keyName][toUpper($keyName)]: V3 - Return: $result testAssignmentOnProperty: Body: #- $.assignedProperty: {} - $.assignedProperty.Arr: [1, 2, [10, 11]] - $index: 1 - $.assignedProperty.Arr[0]: 3 - $.assignedProperty.Arr[$index - 1]: 5 - $.assignedProperty.Arr[$index + 1][1]: 123 #- $.assignedProperty.Dict: {} - $.assignedProperty.Dict.Key1: V1 - $keyName: Key2 - $.assignedProperty.Dict[$keyName]: {} - $.assignedProperty.Dict[$keyName]['a_b']: V2 - $.assignedProperty.Dict[$keyName][toUpper($keyName)]: V3 - Return: $.assignedProperty testAssignByCopy: Arguments: - arg: Contract: [$.int()] Body: - $x: $arg - $x[0]: 321 - Return: $arg murano-9.0.0/murano/tests/unit/dsl/meta/SingleInheritanceParent.yaml0000664000175000017500000000031013656750211025626 0ustar zuulzuul00000000000000Name: SingleInheritanceParent Methods: method1: Body: - trace('SingleInheritanceParent::method1') - $.method2() method2: Body: trace('SingleInheritanceParent::method2')murano-9.0.0/murano/tests/unit/dsl/meta/TestLogger.yaml0000664000175000017500000000515213656750211023151 0ustar zuulzuul00000000000000 Namespaces: sys: io.murano.system Name: TestLogger Methods: testCreate: Body: - Return: logger('name') testDebug: Arguments: - log: Contract: $.class(sys:Logger).notNull() Body: - $log.debug('str') - $log.debug('теÑÑ‚') - $log.debug('str', 1) - $log.debug('str {0}', message) - $log.debug('str {message}', message=>message) - $log.debug('str {message}{0}') testTrace: Arguments: - log: Contract: $.class(sys:Logger).notNull() Body: - $log.trace('str') - $log.trace('теÑÑ‚') - $log.trace('str', 1) - $log.trace('str {0}', message) - $log.trace('str {message}', message=>message) - $log.trace('str {message}{0}') testInfo: Arguments: - log: Contract: $.class(sys:Logger).notNull() Body: - $log.info('str') - $log.info('теÑÑ‚') - $log.info('str', 1) - $log.info('str {0}', message) - $log.info('str {message}', message=>message) - $log.info('str {message}{0}') testWarning: Arguments: - log: Contract: $.class(sys:Logger).notNull() Body: - $log.warning('str') - $log.warning('теÑÑ‚') - $log.warning('str', 1) - $log.warning('str {0}', message) - $log.warning('str {message}', message=>message) - $log.warning('str {message}{0}') testError: Arguments: - log: Contract: $.class(sys:Logger).notNull() Body: - $log.error('str') - $log.error('теÑÑ‚') - $log.error('str', 1) - $log.error('str {0}', message) - $log.error('str {message}', message=>message) - $log.error('str {message}{0}') testCritical: Arguments: - log: Contract: $.class(sys:Logger).notNull() Body: - $log.critical('str') - $log.critical('теÑÑ‚') - $log.critical('str', 1) - $log.critical('str {0}', message) - $log.critical('str {message}', message=>message) - $log.critical('str {message}{0}') testException: Arguments: - log: Contract: $.class(sys:Logger).notNull() Body: Try: - $.doThrow() Catch: With: exceptionName As: e Do: - $log.exception($e, 'str') - $log.exception($e, 'теÑÑ‚') - $log.exception($e, 'str', 1) - $log.exception($e, 'str {0}', message) - $log.exception($e, 'str {message}', message=>message) - $log.exception($e, 'str {message}{0}') Finally: doThrow: Body: - Throw: exceptionName Message: exception message murano-9.0.0/murano/tests/unit/dsl/meta/TestUnicode.yaml0000664000175000017500000000076213656750211023322 0ustar zuulzuul00000000000000Name: TestUnicode Methods: testLiteral: Body: Return: Ñолнце ♥ φεγγάÏι testExpression: Body: - Return: ('Ñолнце ♥' + ' φεγγάÏι').toUpper() testParameter: Body: - Return: $.foo('Ñолнце ♥ φεγγάÏι') testException: Body: - Throw: Exception Message: Ñолнце ♥ φεγγάÏι foo: Arguments: arg: Contract: $.string().notNull() Body: Return: $arg.toUpper()murano-9.0.0/murano/tests/unit/dsl/meta/Node.yaml0000664000175000017500000000014713656750211021756 0ustar zuulzuul00000000000000Name: Node Properties: nodes: Contract: - $.class(Node) value: Contract: $.string() murano-9.0.0/murano/tests/unit/dsl/meta/TestDump.yaml0000664000175000017500000000463213656750211022641 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. Namespaces: =: dumptests std: io.murano m: io.murano.metadata.engine --- # ------------------------------------------------------------------ # --- Name: DumpTarget1 Properties: foo: Contract: $.string() bar: Contract: - $.int() baz: Contract: $.string(): $.int() Methods: getOwner: Body: - Return: $.find(DumpTarget2).require() --- # ------------------------------------------------------------------ # --- Name: DumpTarget2 Properties: nested: Usage: InOut Contract: $.class(std:Object) another: Contract: $.class(DumpTarget1) ref: Usage: InOut Contract: $.class(std:Object) --- # ------------------------------------------------------------------ # --- Name: DumpTarget3 Properties: a: Meta: - m:Serialize: as: copy Contract: $.class(DumpTarget1) b: Meta: - m:Serialize: as: reference Contract: $.class(DumpTarget1) --- # ------------------------------------------------------------------ # --- Name: DumpTarget4 Extends: DumpTarget1 Properties: qux: Contract: $.string().notNull() --- # ------------------------------------------------------------------ # --- Name: TestDump Methods: testDump: Arguments: - object: Contract: $.class(std:Object).notNull() - serializationType: Contract: $.string().check($ in [Serializable, Mixed, Inline]) Default: 'Inline' Body: - Return: dump($object, $serializationType, true) testDumpWithUpcast: Arguments: - object: Contract: $.class(std:Object).notNull() - doUpcast: Contract: $.bool().notNull() - passIgnoreUpcast: Contract: $.bool().notNull() Body: - If: $doUpcast Then: - $object: $object.cast(DumpTarget1) - Return: dump($object, Inline, $passIgnoreUpcast) murano-9.0.0/murano/tests/unit/dsl/meta/CommonParent.yaml0000664000175000017500000000100113656750211023461 0ustar zuulzuul00000000000000Name: CommonParent Properties: rootProperty: Contract: $.string() templateProperty: Contract: $.template('io.murano.Object') Methods: testRootMethod: Body: - trace('CommonParent::testRootMethod') - trace($.rootProperty) setPrivatePropertyChain: Body: - $.privateName: 'CommonParent' - trace($.privateName) virtualMethod: Body: - trace('CommonParent::virtualMethod') --- Name: TemplateTestParent Properties: foo: Contract: $.int().notNull()murano-9.0.0/murano/tests/unit/dsl/test_extension_methods.py0000664000175000017500000000577413656750211024442 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from yaql.language import exceptions from yaql.language import specs from yaql.language import yaqltypes from murano.dsl import dsl from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestExtensionMethods(test_case.DslTestCase): def setUp(self): @dsl.name('extcls.Extender') class PythonClass(object): def __init__(self, arg): self.value = arg @staticmethod @specs.meta('Usage', 'Extension') @specs.parameter('arg', yaqltypes.Integer()) def python_extension(arg): return arg * arg @classmethod @specs.meta('Usage', 'Extension') @specs.parameter('arg', yaqltypes.Integer()) def python_extension2(cls, arg): return cls(2 * arg).value super(TestExtensionMethods, self).setUp() self.package_loader.load_class_package( 'extcls.Extender', None).register_class(PythonClass) self._runner = self.new_runner(om.Object('extcls.TestClass')) def test_call_self_extension_method(self): self.assertEqual([123, 123], self._runner.testSelfExtensionMethod()) def test_call_imported_extension_method(self): self.assertEqual( [246, 246], self._runner.testImportedExtensionMethod()) def test_call_nullable_extension_method(self): self.assertEqual( [123, None], self._runner.testNullableExtensionMethod()) def test_extensions_precedence(self): self.assertEqual(111, self._runner.testExtensionsPrecedence()) def test_explicit_call(self): self.assertEqual(222, self._runner.testCallExtensionExplicitly()) def test_explicit_call_on_instance_fails(self): self.assertRaises( exceptions.NoMatchingMethodException, self._runner.testExplicitCallDoenstWorkOnInstance) def test_call_on_primitive_types(self): self.assertEqual('qWERTy', self._runner.testCallOnPrimitiveTypes()) def test_call_python_extension(self): self.assertEqual(16, self._runner.testCallPythonExtension()) def test_call_python_extension_explicitly(self): self.assertEqual(25, self._runner.testCallPythonExtensionExplicitly()) def test_call_python_classmethod_extension(self): self.assertEqual(14, self._runner.testCallPythonClassmethodExtension()) murano-9.0.0/murano/tests/unit/dsl/test_varkwargs.py0000664000175000017500000000422013656750211022673 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from yaql.language import exceptions as yaql_exceptions from murano.dsl import exceptions as dsl_exceptions from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestVarKwArgs(test_case.DslTestCase): def setUp(self): super(TestVarKwArgs, self).setUp() self._runner = self.new_runner(om.Object('TestVarKwArgs')) def test_varargs(self): self.assertEqual([2, 3, 4], self._runner.testVarArgs()) def test_kwargs(self): self.assertEqual({'arg2': 2, 'arg3': 3}, self._runner.testKwArgs()) def test_duplicate_kwargs(self): self.assertRaises( yaql_exceptions.NoMatchingMethodException, self._runner.testDuplicateKwArgs) def test_duplicate_varargs(self): self.assertRaises( yaql_exceptions.NoMatchingMethodException, self._runner.testDuplicateVarArgs) def test_explicit_varargs(self): self.assertRaises( yaql_exceptions.NoMatchingMethodException, self._runner.testExplicitVarArgs) def test_args(self): self.assertEqual( [[1, 2, 3], {'arg1': 4, 'arg2': 5, 'arg3': 6}], self._runner.testArgs()) def test_varargs_contract(self): self.assertRaises( dsl_exceptions.ContractViolationException, self._runner.testVarArgsContract) def test_kwargs_contract(self): self.assertRaises( dsl_exceptions.ContractViolationException, self._runner.testKwArgsContract) murano-9.0.0/murano/tests/unit/dsl/test_helpers.py0000664000175000017500000004013513656750211022333 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import copy import semantic_version from unittest import mock import weakref from oslo_utils.uuidutils import generate_uuid from murano.dsl import dsl_types from murano.dsl import exceptions from murano.dsl import helpers from murano.tests.unit import base class TestDSLHelpers(base.MuranoTestCase): @mock.patch.object(helpers, 'with_object_store', autospec=True) def test_parallel_select_except_exception(self, mock_with_object_store): mock_with_object_store.side_effect = ValueError self.assertRaises(ValueError, helpers.parallel_select, [mock.sentinel.foo], lambda: None) def test_enum(self): self.assertEqual('Enum', helpers.enum().__name__) def test_cast_with_murano_type(self): mock_attrs = { 'name': mock.sentinel.class_type, 'version': semantic_version.Version('1.0.0'), 'ancestors.return_value': [] } mock_type = mock.Mock() mock_type.configure_mock(**mock_attrs) mock_obj = mock.Mock(type=mock_type) mock_obj.cast.return_value = mock.sentinel.foo_cast_value mock_murano_class = mock.Mock(spec=dsl_types.MuranoType) mock_murano_class.name = mock.sentinel.class_type mock_murano_class.version = semantic_version.Version('1.0.0') result = helpers.cast(mock_obj, mock_murano_class, pov_or_version_spec=None) self.assertEqual(mock.sentinel.foo_cast_value, result) mock_obj.cast.assert_called_once_with(mock_type) def test_cast_except_value_error(self): mock_attrs = { 'name': mock.sentinel.class_type, 'version': semantic_version.Version('1.0.0'), 'ancestors.return_value': [] } mock_type = mock.Mock() mock_type.configure_mock(**mock_attrs) mock_obj = mock.Mock(type=mock_type) mock_murano_class = mock.Mock(spec=dsl_types.MuranoType) mock_murano_class.name = mock.sentinel.class_type e = self.assertRaises(ValueError, helpers.cast, mock_obj, mock_murano_class, pov_or_version_spec=mock.Mock()) self.assertEqual('pov_or_version_spec of unsupported type {0}' .format(type(mock.Mock())), str(e)) def test_cast_except_no_class_found(self): mock_attrs = { 'name': mock.sentinel.name, 'package.name': mock.sentinel.package_name, 'version': mock.sentinel.version, 'ancestors.return_value': [] } mock_type = mock.Mock() mock_type.configure_mock(**mock_attrs) mock_obj = mock.Mock(type=mock_type) mock_murano_class = mock.Mock(spec=dsl_types.MuranoTypeReference) mock_murano_class.type = mock.sentinel.foo_class mock_version_spec = mock.Mock(spec=dsl_types.MuranoPackage) e = self.assertRaises(exceptions.NoClassFound, helpers.cast, mock_obj, mock_murano_class, pov_or_version_spec=mock_version_spec) self.assertIn('Class "sentinel.foo_class" is not found', str(e)) def test_cast_except_ambiguous_class_name(self): mock_attrs = { 'name': mock.sentinel.class_type, 'version': semantic_version.Version('1.0.0') } mock_ancestor = mock.Mock() mock_ancestor.configure_mock(**mock_attrs) mock_attrs['ancestors.return_value'] = [mock_ancestor] mock_type = mock.Mock() mock_type.configure_mock(**mock_attrs) mock_obj = mock.Mock(type=mock_type) mock_murano_class = mock.Mock(spec=dsl_types.MuranoTypeReference) mock_murano_class.type = mock.sentinel.class_type # pov_or_version_spec of '1' will be converted to # semantic_version.Spec('>=1.0.0,<2.0.0-0') self.assertRaises(exceptions.AmbiguousClassName, helpers.cast, mock_obj, mock_murano_class, pov_or_version_spec='1') def test_inspect_is_method(self): mock_cls = mock.Mock(foo=lambda: None, bar=None) self.assertTrue(helpers.inspect_is_method(mock_cls, 'foo')) self.assertFalse(helpers.inspect_is_method(mock_cls, 'bar')) def test_inspect_is_property(self): data_descriptor = mock.MagicMock(__get__=None, __set__=None) mock_cls = mock.Mock(foo=data_descriptor, bar=None) self.assertTrue(helpers.inspect_is_property(mock_cls, 'foo')) self.assertFalse(helpers.inspect_is_property(mock_cls, 'bar')) def test_updated_dict(self): dict_ = {'foo': 'bar'} self.assertEqual(dict_, helpers.updated_dict(dict_, {})) def test_updated_dict_with_null_arg(self): dict_ = {'foo': 'bar'} self.assertEqual(dict_, helpers.updated_dict(None, dict_)) def test_resolve_with_return_reference_true(self): mock_value = mock.Mock(spec=dsl_types.MuranoTypeReference) mock_scope_type = mock.Mock(spec=dsl_types.MuranoTypeReference) result = helpers.resolve_type(mock_value, mock_scope_type, True) self.assertEqual(mock_value, result) mock_value = mock.Mock() mock_value.get_reference.return_value = mock.sentinel.foo_reference mock_scope_type = mock.Mock() mock_scope_type.package.find_class.return_value = mock_value result = helpers.resolve_type(mock_value, mock_scope_type, True) self.assertEqual(mock.sentinel.foo_reference, result) def test_resolve_type_with_null_value(self): self.assertIsNone(helpers.resolve_type(None, None)) def test_assemble_object_definition(self): test_parsed = { 'type': mock.sentinel.type, 'properties': {}, 'id': mock.sentinel.id, 'name': mock.sentinel.name, 'metadata': mock.sentinel.metadata, 'destroyed': True, 'extra': {} } expected = { '?': { 'type': mock.sentinel.type, 'id': mock.sentinel.id, 'name': mock.sentinel.name, 'metadata': mock.sentinel.metadata, 'destroyed': True } } result = helpers.assemble_object_definition(test_parsed) for key, val in expected.items(): self.assertEqual(val, result[key]) @mock.patch.object(helpers, 'format_type_string', autospec=True) def test_assemble_object_definition_with_serializable_model_format( self, mock_format_type_string): mock_format_type_string.return_value = mock.sentinel.type test_parsed = { 'type': mock.sentinel.type, 'properties': {}, 'id': mock.sentinel.id, 'name': mock.sentinel.name, 'metadata': mock.sentinel.metadata, 'destroyed': True, 'extra': {} } expected = { '?': { 'type': mock.sentinel.type, 'id': mock.sentinel.id, 'name': mock.sentinel.name, 'metadata': mock.sentinel.metadata, 'destroyed': True } } model_format = dsl_types.DumpTypes.Serializable result = helpers.assemble_object_definition(test_parsed, model_format) for key, val in expected['?'].items(): self.assertEqual(val, result['?'][key]) def test_assemble_object_definition_with_inline_model_format(self): test_parsed = { 'type': mock.sentinel.type, 'properties': mock.sentinel.properties, 'id': mock.sentinel.id, 'name': mock.sentinel.name, 'metadata': mock.sentinel.metadata, 'dependencies': mock.sentinel.dependencies, 'destroyed': mock.sentinel.destroyed, 'extra': {} } model_format = dsl_types.DumpTypes.Inline expected = copy.copy(test_parsed) expected[mock.sentinel.type] = mock.sentinel.properties for key in ['type', 'extra', 'properties']: expected.pop(key) result = helpers.assemble_object_definition(test_parsed, model_format) for key, val in expected.items(): self.assertEqual(val, result[key]) def test_assemble_object_definition_except_value_error(self): test_parsed = { 'type': mock.sentinel.type, 'properties': {}, 'id': mock.sentinel.id, 'name': mock.sentinel.name, 'metadata': mock.sentinel.metadata, 'destroyed': True, 'extra': {} } e = self.assertRaises(ValueError, helpers.assemble_object_definition, test_parsed, None) self.assertEqual('Invalid Serialization Type', str(e)) def test_weak_proxy(self): self.assertIsNone(helpers.weak_proxy(None)) def test_weak_proxy_with_reference_type(self): result = helpers.weak_proxy(weakref.ReferenceType(int)) self.assertEqual('int', result.__name__) @mock.patch.object(helpers, 'get_object_store', autospec=True) def test_weak_ref(self, mock_get_object_store): mock_object_store = mock.Mock( **{'get.return_value': mock.sentinel.res}) mock_get_object_store.return_value = mock_object_store test_obj = dsl_types.MuranoObject() setattr(test_obj, 'object_id', generate_uuid()) murano_object_weak_ref = helpers.weak_ref(test_obj) setattr(murano_object_weak_ref, 'ref', lambda *args: None) result = murano_object_weak_ref.__call__() self.assertEqual(mock.sentinel.res, result) self.assertEqual('weakref', murano_object_weak_ref.ref.__class__.__name__) def test_weak_ref_with_null_obj(self): self.assertIsNone(helpers.weak_ref(None)) @mock.patch.object(helpers, 're', autospec=True) def test_parse_type_string_with_null_res(self, mock_re): mock_re.compile.return_value = mock.Mock( **{'match.return_value': None}) self.assertIsNone(helpers.parse_type_string('', None, None)) def test_format_type_string(self): inner_type_obj = mock.Mock(spec=dsl_types.MuranoType) inner_type_obj.configure_mock(**{'name': 'foo', 'version': 'foo_ver'}) inner_type_obj_pkg = mock.Mock() inner_type_obj_pkg.configure_mock(name='foo_pkg') setattr(inner_type_obj, 'package', inner_type_obj_pkg) type_obj = mock.Mock(spec=dsl_types.MuranoTypeReference, type=inner_type_obj) result = helpers.format_type_string(type_obj) self.assertEqual('foo/foo_ver@foo_pkg', result) def test_format_type_string_except_value_error(self): type_obj = mock.Mock(spec=dsl_types.MuranoTypeReference, type=None) e = self.assertRaises(ValueError, helpers.format_type_string, type_obj) self.assertEqual('Invalid argument', str(e)) def test_patch_dict(self): path = 'foo.bar.baz' fake_dict = mock.MagicMock(spec=dict) # Make the dict return itself to test whether all the parts are called. fake_dict.get.return_value = fake_dict helpers.patch_dict(fake_dict, path, None) fake_dict.get.assert_has_calls([mock.call('foo'), mock.call('bar')]) fake_dict.pop.assert_not_called() def test_patch_dict_without_dict(self): path = 'foo.bar.baz' not_a_dict = mock.Mock() helpers.patch_dict(not_a_dict, path, None) not_a_dict.get.assert_not_called() not_a_dict.pop.assert_not_called() @mock.patch.object(helpers, 'gc') def test_walk_gc_with_towards_true(self, mock_gc, autospec=True): mock_gc.get_referrers.side_effect = [ [mock.sentinel.second], [mock.sentinel.third] ] first_obj = mock.sentinel.first handler = mock.MagicMock() handler.return_value = True expected = [ [mock.sentinel.first], [mock.sentinel.first, mock.sentinel.second], [mock.sentinel.first, mock.sentinel.second, mock.sentinel.third] ] actual = [] for obj in helpers.walk_gc(first_obj, True, handler): actual.append(obj) self.assertEqual(expected, actual) @mock.patch.object(helpers, 'gc', autospec=True) def test_walk_gc_with_towards_false(self, mock_gc): mock_gc.get_referents.side_effect = [ # Trigger the continue by duplicating entries. [mock.sentinel.second], [mock.sentinel.second] ] first_obj = mock.sentinel.first handler = mock.MagicMock() handler.return_value = True expected = [ [mock.sentinel.first], [mock.sentinel.second, mock.sentinel.first] ] actual = [] for obj in helpers.walk_gc(first_obj, False, handler): actual.append(obj) self.assertEqual(expected, actual) class TestMergeDicts(base.MuranoTestCase): def check(self, dict1, dict2, expected): result = helpers.merge_dicts(dict1, dict2) self.assertEqual(expected, result) def test_dicts_plain(self): dict1 = {"a": "1"} dict2 = {"a": "100", "ab": "12"} expected = {"a": "100", "ab": "12"} self.check(dict1, dict2, expected) def test_different_types_none(self): dict1 = {"a": "1"} dict2 = {"a": None, "ab": "12"} expected = {"a": "1", "ab": "12"} self.check(dict1, dict2, expected) def test_different_types_of_iterable(self): dict1 = {"a": {"ab": "1"}} dict2 = {"a": ["ab", "1"]} self.assertRaises(TypeError, helpers.merge_dicts, dict1, dict2) def test_merge_nested_dicts(self): dict1 = {"a": {"ab": {}, "abc": "1"}} dict2 = {"a": {"abc": "123"}} expected = {"a": {"ab": {}, "abc": "123"}} self.check(dict1, dict2, expected) def test_merge_nested_dicts_with_max_levels(self): dict1 = {"a": {"ab": {"abcd": "1234"}, "abc": "1"}} dict2 = {"a": {"ab": {"y": "9"}, "abc": "123"}} expected = {"a": {"ab": {"y": "9"}, "abc": "123"}} result = helpers.merge_dicts(dict1, dict2, max_levels=2) self.assertEqual(expected, result) def test_merge_with_lists(self): dict1 = {"a": [1, 2]} dict2 = {"a": [1, 3, 2, 4]} expected = {"a": [1, 2, 3, 4]} self.check(dict1, dict2, expected) class TestParseVersionSpec(base.MuranoTestCase): def check(self, expected, version_spec): self.assertEqual(expected, helpers.parse_version_spec(version_spec)) def test_empty_version_spec(self): version_spec = "" expected = semantic_version.Spec('>=0.0.0', '<1.0.0') self.check(expected, version_spec) def test_empty_kind(self): version_spec = "1.11.111" expected = semantic_version.Spec('==1.11.111') self.check(expected, version_spec) def test_implicit_major(self): version_spec = ">=2" expected = semantic_version.Spec('>=2.0.0') self.check(expected, version_spec) def test_implicit_minor(self): version_spec = ">=2.1" expected = semantic_version.Spec('>=2.1.0') self.check(expected, version_spec) def test_remove_spaces(self): version_spec = "< = 2 .1" expected = semantic_version.Spec('<2.2.0') self.check(expected, version_spec) def test_input_version(self): version_spec = semantic_version.Version('1.11.111') expected = semantic_version.Spec('==1.11.111') self.check(expected, version_spec) def test_input_spec(self): version_spec = semantic_version.Spec('<=1', '<=1.11') expected = semantic_version.Spec('<1.12.0', '<2.0.0') self.check(expected, version_spec) murano-9.0.0/murano/tests/unit/dsl/test_dump.py0000664000175000017500000001231713656750211021637 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import dsl_types from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestDump(test_case.DslTestCase): def setUp(self): super(TestDump, self).setUp() self._runner = self.new_runner(om.Object('dumptests.TestDump')) def test_dump_simple_inline(self): source = om.Object('dumptests.DumpTarget1', foo='FOO', bar=[40, 41, 42], baz={'BAZ': 99}) result = self._runner.testDump(source, 'Inline') self.assertIn('id', result) res = self._get_body(result) self.assertEqual('FOO', res['foo']) self.assertEqual([40, 41, 42], res['bar']) self.assertEqual({'BAZ': 99}, res['baz']) def test_dump_simple_serializable(self): source = om.Object('dumptests.DumpTarget1', foo='FOO', bar=[40, 41, 42], baz={'BAZ': 99}) result = self._runner.testDump(source, 'Serializable') self.assertIn('?', result) self.assertEqual('dumptests.DumpTarget1/0.0.0@tests', result['?']['type']) def test_dump_simple_full_mixed(self): source = om.Object('dumptests.DumpTarget1', foo='FOO', bar=[40, 41, 42], baz={'BAZ': 99}) result = self._runner.testDump(source, 'Mixed') self.assertIn('?', result) self.assertNotIn('classVersion', result['?']) self.assertNotIn('package', result['?']) self.assertIsInstance(result['?']['type'], dsl_types.MuranoType) self.assertEqual('dumptests.DumpTarget1', result['?']['type'].name) def test_nested(self): n1 = om.Object('dumptests.DumpTarget1', foo='FOO') n2 = om.Object('dumptests.DumpTarget1', foo='BAR') n3 = om.Object('dumptests.DumpTarget1', foo='BAZ') source = om.Object('dumptests.DumpTarget2', nested=n1, another=n2, ref=n3) result = self._runner.testDump(source) res = self._get_body(result) self.assertIsNotNone(res['ref']) self.assertIsNotNone(res['another']) self.assertIsNotNone(res['nested']) self.assertEqual('FOO', self._get_body(res['nested'])['foo']) self.assertEqual('BAR', self._get_body(res['another'])['foo']) self.assertEqual('BAZ', self._get_body(res['ref'])['foo']) def test_same_ref_dump(self): nested = om.Object('dumptests.DumpTarget1', foo='FOO') source = om.Object('dumptests.DumpTarget2', nested=nested, another=nested, ref=nested) result = self._runner.testDump(source) res = self._get_body(result) string_keys = [k for k in res.keys() if isinstance(res[k], str)] obj_keys = [k for k in res.keys() if isinstance(res[k], dict)] self.assertEqual(2, len(string_keys)) self.assertEqual(1, len(obj_keys)) obj = self._get_body(res[obj_keys[0]]) self.assertEqual('FOO', obj['foo']) for ref_id in string_keys: self.assertEqual(res[obj_keys[0]]['id'], res[ref_id]) def test_dump_with_meta_attributes(self): n1 = om.Object('dumptests.DumpTarget1', foo='FOO') n2 = om.Object('dumptests.DumpTarget1', foo='Bar') source = om.Object('dumptests.DumpTarget3', a=n1, b=n2) result = self._runner.testDump(source) res = self._get_body(result) self._get_body(res['a']) self.assertIsInstance(res['b'], str) def test_dump_with_inheritance(self): source = om.Object('dumptests.DumpTarget4', foo='FOO', qux='QUX') result = self._runner.testDump(source) res = self._get_body(result) self.assertEqual('FOO', res['foo']) self.assertEqual('QUX', res['qux']) def test_dump_with_inheritance_upcast_ignored(self): source = om.Object('dumptests.DumpTarget4', foo='FOO', qux='QUX') result = self._runner.testDumpWithUpcast(source, True, True) res = self._get_body(result) self.assertEqual('FOO', res['foo']) self.assertEqual('QUX', res['qux']) def test_dump_with_inheritance_upcast_allowed(self): source = om.Object('dumptests.DumpTarget4', foo='FOO', qux='QUX') result = self._runner.testDumpWithUpcast(source, True, False) res = self._get_body(result) self.assertEqual('FOO', res['foo']) self.assertNotIn('qux', res) def _get_body(self, obj): body_key = [k for k in obj.keys() if k not in ('id', 'name', 'metadata')][0] self.assertIsInstance(body_key, dsl_types.MuranoType) return obj[body_key] murano-9.0.0/murano/tests/unit/dsl/test_reflection.py0000664000175000017500000000506013656750211023021 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestReflection(test_case.DslTestCase): def setUp(self): super(TestReflection, self).setUp() self._runner = self.new_runner(om.Object('TestReflection')) def test_type_info(self): self.assertEqual( { 'name': 'TestReflection', 'versionStr': '0.0.0', 'versionMajor': 0, 'versionMinor': 0, 'versionPatch': 0, 'ancestors': ['io.murano.Object'], 'properties': ['property', 'staticProperty'], 'package': 'tests', 'methods': ['foo', 'getAttr', 'setAttr'] }, self._runner.testTypeInfo()) def test_method_info(self): self.assertEqual( { 'name': 'foo', 'arguments': ['bar', 'baz'], 'barHasDefault': True, 'bazHasDefault': False, 'barMethod': 'foo', 'bazMethod': 'foo', 'declaringType': 'TestReflection' }, self._runner.testMethodInfo()) def test_property_info(self): self.assertEqual( { 'name': 'property', 'hasDefault': True, 'usage': 'InOut' }, self._runner.testPropertyInfo()) def test_property_read(self): self.assertEqual( [['object', 'static'], ['static']], self._runner.testPropertyRead()) def test_property_write(self): self.assertEqual( [['new object', 'new static'], ['new static']], self._runner.testPropertyWrite()) def test_method_invoke(self): self.assertEqual('bar baz', self._runner.testMethodInvoke()) def test_instance_create(self): self.assertEqual('test', self._runner.testInstanceCreate()) murano-9.0.0/murano/tests/unit/dsl/test_find_class.py0000664000175000017500000000424313656750211022776 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import warnings from murano.dsl import exceptions from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestFindClass(test_case.DslTestCase): def setUp(self): super(TestFindClass, self).setUp() self._runner = self.new_runner(om.Object('TestFindClass')) def test_find_class_with_prefix(self): with warnings.catch_warnings(record=True) as capture: self.assertIsNone(self._runner.testFindClassWithPrefix()) self.assertEqual(DeprecationWarning, capture[-1].category) observed = capture[-1].message expected = ("Plugin io.murano.extensions.io.murano.test.TestFixture " "was not found, but a io.murano.test.TestFixture was " "found instead and will be used. This could be caused by " "recent change in plugin naming scheme. If you are " "developing applications targeting this plugin consider " "changing its name") self.assertEqual(expected, str(observed)) def test_find_class_short_name(self): self.assertIsNone(self._runner.testFindClassShortName()) def test_class_with_prefix_not_found(self): observed = self.assertRaises(exceptions.NoClassFound, self._runner.testClassWithPrefixNotFound) expected = ('Class "io.murano.extensions.io.murano.test.TestFixture1" ' 'is not found in io.murano/0.0.0, tests/0.0.0') self.assertEqual(expected, str(observed)) murano-9.0.0/murano/tests/unit/dsl/test_property_access.py0000664000175000017500000001011413656750211024070 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import exceptions from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestPropertyAccess(test_case.DslTestCase): def setUp(self): super(TestPropertyAccess, self).setUp() self._multi_derived = om.Object( 'DerivedFrom2Classes', rootProperty='ROOT', ambiguousProperty=321) model = om.Object( 'SampleClass3', multiClassProperty=self._multi_derived ) self._runner = self.new_runner(model) def test_private_property_access(self): self.assertIsNone(self._runner.testPrivateProperty()) self.assertEqual( ['CommonParent', 'ParentClass1', 'SampleClass3'], self.traces) def test_private_property_access_failure(self): e = self.assertRaises( exceptions.UninitializedPropertyAccessError, self._runner.testUninitializedPrivatePropertyAccess) self.assertEqual( 'Access to uninitialized property "privateName" ' 'in class "SampleClass3" is forbidden', str(e)) def test_read_of_private_property_of_other_class(self): e = self.assertRaises( exceptions.PropertyAccessError, self._runner.testReadOfPrivatePropertyOfOtherClass) self.assertEqual( 'Property "privateProperty" in class "DerivedFrom2Classes" ' 'cannot be read', str(e)) self.assertEqual(['accessing property'], self.traces) def test_write_of_private_property_of_other_class(self): e = self.assertRaises( exceptions.PropertyAccessError, self._runner.testWriteOfPrivatePropertyOfOtherClass) self.assertEqual( 'Property "privateProperty" in class "DerivedFrom2Classes" ' 'cannot be written', str(e)) def test_access_ambiguous_property_with_resolver(self): self.assertEqual( '321', self._runner.on(self._multi_derived). testAccessAmbiguousPropertyWithResolver()) def test_property_merge(self): self.assertEqual( '555', self._runner.on(self._multi_derived). testPropertyMerge()) self.assertEqual( ['321', '555', '555', '555', '555'], self.traces) def test_property_usage(self): e = self.assertRaises( exceptions.NoWriteAccessError, self._runner.on(self._multi_derived). testModifyUsageTestProperty1) self.assertEqual( 'Property "usageTestProperty1" is immutable to the caller', str(e)) self.assertRaises( exceptions.NoWriteAccessError, self._runner.on(self._multi_derived). testModifyUsageTestProperty2) self.assertEqual( 33, self._runner.on(self._multi_derived). testModifyUsageTestProperty3()) self.assertEqual( 44, self._runner.on(self._multi_derived). testModifyUsageTestProperty4()) self.assertEqual( 55, self._runner.on(self._multi_derived). testModifyUsageTestProperty5()) self.assertRaises( exceptions.NoWriteAccessError, self._runner.on(self._multi_derived). testModifyUsageTestProperty6) self.assertEqual( 77, self._runner.on( self._multi_derived).testModifyUsageTestProperty7()) murano-9.0.0/murano/tests/unit/dsl/test_objects_copy_merge.py0000664000175000017500000000276713656750211024544 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import copy from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestObjectsCopyMerge(test_case.DslTestCase): def test_merged(self): gen1_model = om.Object( 'TestObjectsCopyMergeSampleClass', 'rootNode', value='node1', nodes=[ om.Object('TestObjectsCopyMergeSampleClass', value='node2', nodes=[om.Ref('rootNode')]) ]) gen2_model = copy.deepcopy(gen1_model) gen2_model['nodes'] = [] gen2_model['value'] = 'node1-updated' model = { 'Objects': gen2_model, 'ObjectsCopy': gen1_model } runner = self.new_runner(model) self.assertEqual(['node2', 'node1-updated'], self.traces) self.assertEqual('It works!', runner.testMethod()) murano-9.0.0/murano/tests/unit/dsl/test_results_serializer.py0000664000175000017500000001530113656750211024620 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from testtools import matchers from murano.dsl import serializer from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case # Tests for correctness of serialization of MuranoPL object tree # back to Object Model class TestResultsSerializer(test_case.DslTestCase): def setUp(self): super(TestResultsSerializer, self).setUp() self._class2 = om.Object('SampleClass2', class2Property='string2') self._class1 = om.Object( 'SampleClass1', 'def', stringProperty='string1', arbitraryProperty={'a': [1, 2]}, classProperty=self._class2) self._root_class = om.Object('ContractExamples', 'abc', sampleClass=self._class1) self._runner = self.new_runner(self._root_class) def _test_data_in_section(self, name, serialized): """Test that Model -> Load -> Serialize = Model Test that a section of Object Model has expected structure and property values that are equal to those originally loaded (e.g. that Model -> Load -> Serialize = Model) :param name: section name :param serialized: serialized Object Model """ self.assertEqual('abc', serialized[name]['?']['id']) self.assertEqual('ContractExamples/0.0.0@tests', serialized['Objects']['?']['type']) self.assertIsInstance(serialized[name]['sampleClass'], dict) self.assertEqual('def', serialized[name]['sampleClass']['?']['id']) self.assertEqual('SampleClass1/0.0.0@tests', serialized[name]['sampleClass']['?']['type']) self.assertEqual('string1', serialized[name]['sampleClass']['stringProperty']) def test_results_serialize(self): """Test that serialized contains same values and headers Test that serialized Object Model has both Objects and ObjectsCopy sections and they both contain the same property values and object headers. Note, that Objects section may contain additional designer metadata and information on available actions that is not needed in ObjectsCopy thus we cannot test for ObjectsCopy be strictly equal to Objects """ serialized = self._runner.serialized_model self.assertIn('Objects', serialized) self.assertIn('ObjectsCopy', serialized) self._test_data_in_section('Objects', serialized) self._test_data_in_section('ObjectsCopy', serialized) def test_actions(self): """Test that information on actions can be invoked Test that information on actions can be invoked on each MuranoPL object are persisted into object header ('?' key) during serialization of Objects section of Object Model """ serialized = self._runner.serialized_model actions = serialized['Objects']['?'].get('_actions') self.assertIsInstance(actions, dict) action_names = [action['name'] for action in actions.values()] self.assertIn('testAction', action_names) self.assertNotIn('notAction', action_names) self.assertIn('testRootMethod', action_names) action_meta = None for action in actions.values(): self.assertIsInstance(action.get('enabled'), bool) self.assertIsInstance(action.get('name'), str) self.assertThat( action['name'], matchers.StartsWith('test')) if action['name'] == 'testActionMeta': action_meta = action else: self.assertEqual(action['title'], action['name']) self.assertIsNotNone(action_meta) self.assertEqual(action_meta['title'], "Title of the method") self.assertEqual(action_meta['description'], "Description of the method") self.assertEqual(action_meta['helpText'], "HelpText of the method") def test_attribute_serialization(self): """Test that attributes produced by MuranoPL code are persisted Test that attributes produced by MuranoPL code are persisted in dedicated section of Object Model. Attributes are values that are stored in special key-value storage that is private to each class. Classes can store state data there. Attributes are persisted across deployment sessions but are not exposed via API (thus cannot be accessed by dashboard) """ self._runner.on(self._class1).testAttributes('VALUE') serialized = self._runner.serialized_model self.assertIsInstance(serialized.get('Attributes'), list) self.assertThat( serialized['Attributes'], matchers.HasLength(1)) self.assertEqual( [self._class1.id, 'SampleClass1', 'att1', 'VALUE'], serialized['Attributes'][0]) def test_attribute_deserialization(self): """Test that attributes are available Test that attributes that are put into Attributes section of Object Model become available to appropriate MuranoPL classes """ serialized = self._runner.serialized_model serialized['Attributes'].append( [self._class1.id, 'SampleClass1', 'att2', ' Snow']) runner2 = self.new_runner(serialized) self.assertEqual( 'John Snow', runner2.on(self._class1).testAttributes('John')) def test_value_deserialization(self): """Test serialization of arbitrary values Test serialization of arbitrary values that can be returned from action methods """ runner = self.new_runner(self._class2) result = runner.testMethod() self.assertEqual( { 'key1': 'abc', 'key2': ['a', 'b', 'c'], 'key3': None, 'key4': False, 'key5': {'x': 'y'}, 'key6': [{'w': 'q'}] }, serializer.serialize(result, runner.executor)) murano-9.0.0/murano/tests/unit/dsl/test_session_local_storage.py0000664000175000017500000000734613656750211025261 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from murano.dsl import helpers from murano.dsl import session_local_storage from murano.tests.unit.dsl.foundation import test_case class FakeWithInit(session_local_storage._localbase): def __init__(self, *args, **kwargs): pass class FakeNoInit(session_local_storage._localbase): pass class TestLocalbase(test_case.DslTestCase): def test_new(self): lb = FakeWithInit.__new__( FakeWithInit, 42, 'foo', bar='baz') self.assertEqual(((42, 'foo',), {'bar': 'baz'}), lb._local__args) def test_new_bad(self): self.assertRaises( TypeError, FakeNoInit.__name__) class TestPatch(test_case.DslTestCase): @mock.patch.object(helpers, 'get_execution_session', return_value=mock.sentinel.session) def test_patch(self, mock_ges): fwi = FakeWithInit(foo='bar') session_local_storage._patch(fwi) self.assertEqual({}, fwi.__dict__) class TestLocal(test_case.DslTestCase): class FakeLocal(session_local_storage._local): def __init__(self, foo): self.foo = foo @mock.patch.object(session_local_storage, '_patch') def setUp(self, mock_patch): super(TestLocal, self).setUp() self.fl = self.FakeLocal('bar') @mock.patch.object(session_local_storage, '_patch') def test_getattribute(self, mock_patch): self.assertEqual('bar', self.fl.foo) mock_patch.assert_called_with(self.fl) @mock.patch.object(session_local_storage, '_patch') def test_setattribute(self, mock_patch): self.fl.foo = 'baz' mock_patch.assert_called_with(self.fl) @mock.patch.object(session_local_storage, '_patch') def test_delattribute(self, mock_patch): del self.fl.foo mock_patch.assert_called_with(self.fl) class TestSessionLocalDict(test_case.DslTestCase): def setUp(self): super(TestSessionLocalDict, self).setUp() self.sld = session_local_storage.SessionLocalDict(foo='bar') @mock.patch.object(helpers, 'get_execution_session', return_value=None) def test_data_no_session(self, mock_ges): self.assertEqual({'foo': 'bar'}, self.sld.data) self.sld.data = {'foo': 'baz'} mock_ges.assert_called_with() self.assertEqual({'foo': 'baz'}, self.sld.data) @mock.patch.object(helpers, 'get_execution_session', return_value=mock.sentinel.session) def test_data(self, mock_ges): self.sld.data = mock.sentinel.data mock_ges.assert_called_with() self.assertEqual(mock.sentinel.data, self.sld.data) class TestExecutionSessionMemoize(test_case.DslTestCase): @mock.patch.object(helpers, 'get_memoize_func', return_value=mock.sentinel.mem_func) def test_execution_session_memoize(self, mock_gef): f = mock.MagicMock() f.return_value = 'im a function' new_f = session_local_storage.execution_session_memoize(f) self.assertEqual(f, mock_gef.call_args[0][0]) self.assertIsInstance(mock_gef.call_args[0][1], session_local_storage.SessionLocalDict) self.assertEqual(mock.sentinel.mem_func, new_f) murano-9.0.0/murano/tests/unit/dsl/test_agent.py0000664000175000017500000000625613656750211021775 0ustar zuulzuul00000000000000# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from unittest import mock from murano.common import exceptions as exc from murano.dsl import constants from murano.dsl import dsl from murano.dsl import helpers from murano.dsl import yaql_integration from murano.engine.system import agent from murano.engine.system import agent_listener from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestAgentListener(test_case.DslTestCase): def setUp(self): super(TestAgentListener, self).setUp() # Register Agent class self.package_loader.load_package('io.murano', None).register_class( agent_listener.AgentListener) model = om.Object( 'AgentListenerTests') self.runner = self.new_runner(model) self.context = yaql_integration.create_empty_context() self.context[constants.CTX_THIS] = mock.MagicMock( dsl.MuranoObjectInterface) def test_listener_enabled(self): self.override_config('disable_murano_agent', False, 'engine') al = self.runner.testAgentListener().extension self.assertTrue(al.enabled) with self.runner.session(), helpers.contextual(self.context): try: al.subscribe('msgid', 'event') self.assertEqual({'msgid': 'event'}, al._subscriptions) finally: al.stop() def test_listener_disabled(self): self.override_config('disable_murano_agent', True, 'engine') al = self.runner.testAgentListener().extension self.assertFalse(al.enabled) self.assertRaises(exc.PolicyViolationException, al.subscribe, 'msgid', 'event') class TestAgent(test_case.DslTestCase): def test_agent_enabled(self): self.override_config('disable_murano_agent', False, 'engine') agent_cls = 'murano.engine.system.agent.Agent' a = agent.Agent(mock.MagicMock()) self.assertTrue(a.enabled) with mock.patch(agent_cls + '._send') as s: s.return_value = mock.MagicMock() a.send_raw({}) s.assert_called_with({}, False, 0) def test_agent_disabled(self): self.override_config('disable_murano_agent', True, 'engine') a = agent.Agent(mock.MagicMock()) self.assertFalse(a.enabled) self.assertRaises(exc.PolicyViolationException, a.call, {}, None) self.assertRaises(exc.PolicyViolationException, a.send, {}, None) self.assertRaises(exc.PolicyViolationException, a.call_raw, {}) self.assertRaises(exc.PolicyViolationException, a.send_raw, {}) murano-9.0.0/murano/tests/unit/dsl/test_config_properties.py0000664000175000017500000000403113656750211024405 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestConfigProperties(test_case.DslTestCase): def test_config_property(self): obj = om.Object('ConfigProperties') self.package_loader.set_config_value(obj, 'cfgProperty', '987') runner = self.new_runner(obj) runner.testPropertyValues() self.assertEqual( [987, 'DEFAULT'], self.traces ) def test_config_property_exclusion_from_obect_model(self): obj = om.Object('ConfigProperties', cfgProperty=555) runner = self.new_runner(obj) runner.testPropertyValues() self.assertEqual( [123, 'DEFAULT'], self.traces ) def test_config_affects_default(self): obj = om.Object('ConfigProperties') self.package_loader.set_config_value(obj, 'normalProperty', 'custom') runner = self.new_runner(obj) runner.testPropertyValues() self.assertEqual( [123, 'custom'], self.traces ) def test_config_not_affects_in_properties(self): obj = om.Object('ConfigProperties', normalProperty='qq') self.package_loader.set_config_value(obj, 'normalProperty', 'custom') runner = self.new_runner(obj) runner.testPropertyValues() self.assertEqual( [123, 'qq'], self.traces ) murano-9.0.0/murano/tests/unit/dsl/test_assignments.py0000664000175000017500000000350513656750211023224 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestAssignments(test_case.DslTestCase): def setUp(self): super(TestAssignments, self).setUp() self._runner = self.new_runner( om.Object( 'SampleClass1', stringProperty='string', classProperty=om.Object( 'SampleClass2', class2Property='another string'))) def test_assignment(self): self.assertEqual( { 'Arr': [5, 2, [10, 123]], 'Dict': { 'Key1': 'V1', 'Key2': {'KEY2': 'V3', 'a_b': 'V2'} } }, self._runner.testAssignment()) def test_assignment_on_property(self): self.assertEqual( { 'Arr': [5, 2, [10, 123]], 'Dict': { 'Key1': 'V1', 'Key2': {'KEY2': 'V3', 'a_b': 'V2'} } }, self._runner.testAssignmentOnProperty()) def test_assign_by_copy(self): self.assertEqual( [1, 2, 3], self._runner.testAssignByCopy([1, 2, 3])) murano-9.0.0/murano/tests/unit/dsl/test_versioning.py0000664000175000017500000000371213656750211023054 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import semantic_version from unittest import mock from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestVersioning(test_case.DslTestCase): def test_provided_version(self): version = '1.11.111' sem_version = semantic_version.Spec('==' + version) model = om.Object('Empty', class_version=version) m = mock.MagicMock(return_value=self._package_loader._package) self._package_loader.load_class_package = m self.new_runner(model) m.assert_called_once_with('Empty', sem_version) def test_empty_provided_version(self): version = '' sem_version = semantic_version.Spec('>=0.0.0', '<1.0.0') model = om.Object('Empty', class_version=version) m = mock.MagicMock(return_value=self._package_loader._package) self._package_loader.load_class_package = m self.new_runner(model) m.assert_called_once_with('Empty', sem_version) def test_several_in_row(self): version = '>3.0.0,<=4.1' sem_version = semantic_version.Spec('>3.0.0', '<4.2.0') model = om.Object('Empty', class_version=version) m = mock.MagicMock(return_value=self._package_loader._package) self._package_loader.load_class_package = m self.new_runner(model) m.assert_called_once_with('Empty', sem_version) murano-9.0.0/murano/tests/unit/dsl/test_logger.py0000664000175000017500000001236213656750211022151 0ustar zuulzuul00000000000000# coding: utf-8 # Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from murano.dsl import helpers from murano.engine.system import logger from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestLogger(test_case.DslTestCase): FORMAT_CALLS = [ mock.call(mock.ANY, 'str', (), {}), mock.call(mock.ANY, u'теÑÑ‚', (), {}), mock.call(mock.ANY, 'str', (1,), {}), mock.call(mock.ANY, 'str {0}', ('message',), {}), mock.call(mock.ANY, 'str {message}', (), {'message': 'message'}), mock.call(mock.ANY, 'str {message}{0}', (), {})] LOG_CALLS = FORMAT_CALLS def setUp(self): super(TestLogger, self).setUp() self._runner = self.new_runner(om.Object('TestLogger')) self.package_loader.load_package('io.murano', None).register_class( logger.Logger) def test_create(self): logger_instance = self._runner.testCreate() self.assertTrue( helpers.is_instance_of(logger_instance, 'io.murano.system.Logger'), 'Function should return io.murano.system.Logger instance') def _create_logger_mock(self): logger_instance = self._runner.testCreate() logger_ext = logger_instance.extension underlying_logger_mock = mock.MagicMock() logger_ext._underlying_logger = underlying_logger_mock logger_ext._underlying_logger.return_value = None format_mock = mock.MagicMock(return_value='format_mock') # do not verify number of conversions to string format_mock.__str__ = mock.MagicMock(return_value='format_mock') format_mock.__unicode__ = mock.MagicMock(return_value='format_mock') logger_ext._format_without_exceptions = format_mock return logger_instance, format_mock, underlying_logger_mock def test_trace(self): logger_instance, format_mock, underlying_logger_mock \ = self._create_logger_mock() log_method = mock.MagicMock() underlying_logger_mock.trace = log_method self._runner.testTrace(logger_instance) format_mock.assert_has_calls(self.FORMAT_CALLS, any_order=False) self.assertEqual(log_method.call_count, len(self.LOG_CALLS)) def test_debug(self): logger_instance, format_mock, underlying_logger_mock \ = self._create_logger_mock() log_method = mock.MagicMock() underlying_logger_mock.debug = log_method self._runner.testDebug(logger_instance) format_mock.assert_has_calls(self.FORMAT_CALLS, any_order=False) self.assertEqual(log_method.call_count, len(self.LOG_CALLS)) def test_info(self): logger_instance, format_mock, underlying_logger_mock \ = self._create_logger_mock() log_method = mock.MagicMock() underlying_logger_mock.info = log_method self._runner.testInfo(logger_instance) format_mock.assert_has_calls(self.FORMAT_CALLS, any_order=False) self.assertEqual(log_method.call_count, len(self.LOG_CALLS)) def test_warning(self): logger_instance, format_mock, underlying_logger_mock \ = self._create_logger_mock() log_method = mock.MagicMock() underlying_logger_mock.warning = log_method self._runner.testWarning(logger_instance) format_mock.assert_has_calls(self.FORMAT_CALLS, any_order=False) self.assertEqual(log_method.call_count, len(self.LOG_CALLS)) def test_error(self): logger_instance, format_mock, underlying_logger_mock \ = self._create_logger_mock() log_method = mock.MagicMock() underlying_logger_mock.error = log_method self._runner.testError(logger_instance) format_mock.assert_has_calls(self.FORMAT_CALLS, any_order=False) self.assertEqual(log_method.call_count, len(self.FORMAT_CALLS)) def test_critical(self): logger_instance, format_mock, underlying_logger_mock \ = self._create_logger_mock() log_method = mock.MagicMock() underlying_logger_mock.critical = log_method self._runner.testCritical(logger_instance) format_mock.assert_has_calls(self.FORMAT_CALLS, any_order=False) self.assertEqual(log_method.call_count, len(self.LOG_CALLS)) def test_exception(self): logger_instance, format_mock, underlying_logger_mock = \ self._create_logger_mock() log_method = mock.MagicMock() underlying_logger_mock.error = log_method self._runner.testException(logger_instance) format_mock.assert_has_calls(self.FORMAT_CALLS, any_order=False) self.assertEqual(log_method.call_count, len(self.LOG_CALLS)) murano-9.0.0/murano/tests/unit/dsl/test_construction.py0000664000175000017500000000550113656750211023421 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from testtools import matchers from murano.dsl import dsl from murano.dsl import serializer from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestConstruction(test_case.DslTestCase): def setUp(self): super(TestConstruction, self).setUp() self._runner = self.new_runner(om.Object('CreatingClass')) def test_new(self): self._runner.testNew() self.assertEqual( ['CreatingClass::.init', 'CreatedClass1::.init', 'string', 'STRING', 123], self.traces) def test_new_with_ownership(self): obj = serializer.serialize(self._runner.testNewWithOwnership(), self._runner.executor, allow_refs=False) self.assertEqual('STRING', obj.get('property1')) self.assertIsNotNone('string', obj.get('xxx')) self.assertEqual('STR', obj['xxx'].get('property1')) self.assertEqual('QQQ', obj['xxx']['?'].get('name')) def test_new_with_dict(self): self._runner.testNewWithDict() self.assertEqual( ['CreatingClass::.init', 'CreatedClass1::.init', 'string', 'STRING', 123], self.traces) def test_model_load(self): res = self._runner.testLoadCompexModel() for i in range(3): self.assertThat(res[i], matchers.Not(matchers.Contains('node'))) self.assertEqual(self._runner.root.object_id, res[3]) self.assertEqual( [ 'rootNode', ['childNode1', 'childNode2', 'childNode2'], True, True, True, True, True, 'rootNode', 'childNode2', 'childNode1' ], res[4:]) def test_single_contract_instantiation(self): self._runner.testSingleContractInstantiation() self.assertEqual(1, self.traces.count('ConstructionSample::init')) def test_nested_new_loads_in_separate_store(self): res = self._runner.testNestedNewLoadsInSeparateStore() self.assertIsInstance(res, dsl.MuranoObjectInterface) def test_reference_access_from_init(self): self._runner.testReferenceAccessFromInit() self.assertEqual(2, self.traces.count('childNode')) murano-9.0.0/murano/tests/unit/dsl/test_execution.py0000664000175000017500000000431713656750211022676 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import dsl_exception from murano.dsl import exceptions from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestExecution(test_case.DslTestCase): def _load(self): return self.new_runner( om.Object('SampleClass1', stringProperty='STRING', classProperty=om.Object( 'SampleClass2', class2Property='ANOTHER_STRING'))) def test_load(self): self._load() def test_load_failure(self): self.assertRaises( exceptions.ContractViolationException, self.new_runner, om.Object('SampleClass1')) def test_trace(self): runner = self._load() self.assertEqual([], self.traces) runner.testTrace(123) self.assertEqual([123, 'STRING', 'ANOTHER_STRING'], self.traces) runner.testTrace(321) self.assertEqual([123, 'STRING', 'ANOTHER_STRING', 321, 'STRING', 'ANOTHER_STRING'], self.traces) def test_exception(self): class CustomException(Exception): pass def raise_exception(): raise CustomException() self.register_function(raise_exception, 'raiseException') runner = self._load() self.assertRaises(CustomException, runner.testException) runner.preserve_exception = True self.assertRaises(dsl_exception.MuranoPlException, runner.testException) def test_return(self): self.assertEqual(3, self._load().testReturn(3)) murano-9.0.0/murano/tests/unit/dsl/test_single_inheritance.py0000664000175000017500000000242113656750211024517 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestSingleInheritance(test_case.DslTestCase): def setUp(self): super(TestSingleInheritance, self).setUp() model = om.Object( 'SingleInheritanceChild' ) self._runner = self.new_runner(model) def test_virtual_calls(self): self._runner.testVirtualCalls() self.assertEqual( ['SingleInheritanceChild::method1', 'SingleInheritanceParent::method1', 'SingleInheritanceChild::method2', 'SingleInheritanceParent::method2'], self.traces) murano-9.0.0/murano/tests/unit/dsl/test_attribute_store.py0000664000175000017500000001245213656750211024111 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from murano.dsl import attribute_store from murano.dsl import dsl from murano.dsl import dsl_types from murano.tests.unit.dsl.foundation import test_case class TestAttributeStore(test_case.DslTestCase): def setUp(self): super(TestAttributeStore, self).setUp() self.attribute_store = attribute_store.AttributeStore() self.fake_object = mock.MagicMock(object_id=mock.sentinel.oid) self.tagged_obj = dsl.MuranoObjectInterface(self.fake_object) self.owner_type = dsl_types.MuranoTypeReference(self.fake_object) self.owner_type.type.name = mock.sentinel.typename self.name = 'foobar' def test_get_attribute_key(self): oid, typename = mock.sentinel.oid, mock.sentinel.typename key = self.attribute_store._get_attribute_key( self.tagged_obj, self.owner_type, self.name) expected_key = (oid, (typename, 'foobar')) self.assertEqual(expected_key, key) @mock.patch.object(attribute_store.AttributeStore, '_get_attribute_key', return_value=(mock.sentinel.key1, mock.sentinel.key2)) def test_get(self, mock_get_attr_key): key1, key2 = mock.sentinel.key1, mock.sentinel.key2 get_val = mock.sentinel.get_val self.attribute_store._attributes = mock.MagicMock() self.attribute_store._attributes[key1].get.return_value = get_val val = self.attribute_store.get( self.tagged_obj, self.owner_type, self.name) mock_get_attr_key.assert_called_with( self.tagged_obj, self.owner_type, self.name) self.attribute_store._attributes[key1].get.assert_called_with(key2) self.assertEqual(get_val, val) @mock.patch.object(attribute_store.AttributeStore, '_get_attribute_key', return_value=(mock.sentinel.key1, mock.sentinel.key2)) def test_set_object_if(self, mock_get_attr_key): val = dsl.MuranoObjectInterface(self.fake_object) self.attribute_store._attributes = mock.MagicMock() self.attribute_store.set( self.tagged_obj, self.owner_type, self.name, val) @mock.patch.object(attribute_store.AttributeStore, '_get_attribute_key', return_value=(mock.sentinel.key1, mock.sentinel.key2)) def test_set_object(self, mock_get_attr_key): key1, key2 = mock.sentinel.key1, mock.sentinel.key2 val = dsl_types.MuranoObject() val.object_id = mock.sentinel.oid self.attribute_store.set( self.tagged_obj, self.owner_type, self.name, val) self.assertEqual(self.attribute_store._attributes[key1][key2], mock.sentinel.oid) @mock.patch.object(attribute_store.AttributeStore, '_get_attribute_key', return_value=(mock.sentinel.key1, mock.sentinel.key2)) def test_set_none(self, mock_get_attr_key): key1, key2 = mock.sentinel.key1, mock.sentinel.key2 val = None self.attribute_store._attributes = mock.MagicMock() self.attribute_store.set( self.tagged_obj, self.owner_type, self.name, val) self.attribute_store._attributes[key1].pop.assert_called_with( key2, None) def test_serialize(self): known_objects = ['obj1', 'obj3'] self.attribute_store._attributes = { 'obj1': { ('foo', 'obj11'): 11, ('bar', 'obj12'): 12 }, 'obj2': { ('baz', 'obj21'): 21 }, 'obj3': { ('foobar', 'obj31'): 31 } } val = self.attribute_store.serialize(known_objects) expected = [ ['obj1', 'foo', 'obj11', 11], ['obj1', 'bar', 'obj12', 12], ['obj3', 'foobar', 'obj31', 31]] self.assertEqual(sorted(expected), sorted(val)) def test_load(self): data = [ ['a', 'b', 'c', 'd'], ['a', 'f', 'g', None], ['b', 'i', 'j', 'k'] ] self.attribute_store.load(data) expected = {'a': {('b', 'c'): 'd'}, 'b': {('i', 'j'): 'k'}} self.assertEqual(expected, self.attribute_store._attributes) def test_forget_object_if(self): obj = dsl.MuranoObjectInterface(mock.MagicMock(object_id='bar')) self.attribute_store._attributes = {'foo': 42, 'bar': 43} self.attribute_store.forget_object(obj) self.assertEqual({'foo': 42}, self.attribute_store._attributes) def test_forget_object(self): obj = dsl_types.MuranoObject() obj.object_id = 'foo' self.attribute_store._attributes = {'foo': 42, 'bar': 43} self.attribute_store.forget_object(obj) self.assertEqual({'bar': 43}, self.attribute_store._attributes) murano-9.0.0/murano/tests/unit/dsl/test_context_manager.py0000664000175000017500000000340113656750211024042 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from murano.dsl import context_manager from murano.dsl import yaql_integration from murano.tests.unit.dsl.foundation import test_case class TestContextManager(test_case.DslTestCase): def setUp(self): super(TestContextManager, self).setUp() self.context_manager = context_manager.ContextManager() @mock.patch.object(yaql_integration, 'create_context', return_value='foo') def test_create_root_context(self, mock_create_context): val = self.context_manager.create_root_context('myrunver') self.assertEqual('foo', val) mock_create_context.assert_called_with('myrunver') def test_create_package_context(self): package = mock.MagicMock(context='mycontext') self.assertEqual('mycontext', self.context_manager.create_package_context(package)) def test_create_type_context(self): murano_type = mock.MagicMock(context='mycontext') self.assertEqual('mycontext', self.context_manager.create_type_context(murano_type)) def test_create_object_context(self): obj = 'obj' self.assertIsNone(self.context_manager.create_object_context(obj)) murano-9.0.0/murano/tests/unit/dsl/test_engine_yaql_functions.py0000664000175000017500000002116613656750211025257 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from testtools import matchers from unittest import mock from yaql.language import exceptions as yaql_exceptions from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case from castellan.common import exception as castellan_exception class TestEngineYaqlFunctions(test_case.DslTestCase): def setUp(self): super(TestEngineYaqlFunctions, self).setUp() self._runner = self.new_runner(om.Object('TestEngineFunctions')) def test_join(self): self.assertEqual('xx 123', self._runner.testJoin()) def test_split(self): self.assertEqual( ['x', 'yy', '123'], self._runner.testSplit()) def test_len(self): self.assertEqual(8, self._runner.testLen()) def test_coalesce(self): self.assertEqual('a', self._runner.testCoalesce('a', 'b', 'c')) self.assertEqual('b', self._runner.testCoalesce(None, 'b', 'c')) self.assertEqual('c', self._runner.testCoalesce(None, None, 'c')) def test_base64(self): encoded = 'VEVTVA==' self.assertEqual( encoded, self._runner.testBase64Encode('TEST')) self.assertEqual( 'TEST', self._runner.testBase64Decode(encoded)) def test_format(self): self.assertEqual( '2 + 3', self._runner.testFormat('{0} + {1}', 2, 3)) def test_replace_str(self): self.assertEqual( 'John Doe', self._runner.testReplaceStr('John Kennedy', 'Kennedy', 'Doe')) self.assertRaises( yaql_exceptions.NoMatchingMethodException, self._runner.testReplaceStr, None, 'Kennedy', 'Doe') def test_replace_dict(self): self.assertEqual( 'Marilyn Monroe', self._runner.testReplaceDict('John Kennedy', { 'John': 'Marilyn', 'Kennedy': 'Monroe' })) def test_lower(self): self.assertEqual( 'test', self._runner.testToLower('TESt')) def test_upper(self): self.assertEqual( 'TEST', self._runner.testToUpper('tEst')) def test_starts_with(self): self.assertIs( True, self._runner.testStartsWith('TEST', 'TE')) self.assertIs( False, self._runner.testStartsWith('TEST', 'te')) def test_ends_with(self): self.assertIs( True, self._runner.testEndsWith('TEST', 'ST')) self.assertIs( False, self._runner.testEndsWith('TEST', 'st')) def test_trim(self): self.assertEqual( 'test', self._runner.testTrim('\n\t test \t\n')) def test_substr(self): self.assertEqual( 'teststr', self._runner.testSubstr('teststr', 2, 3)) def test_str(self): self.assertEqual( '123', self._runner.testStr(123)) self.assertEqual( 'true', self._runner.testStr(True)) self.assertEqual( 'false', self._runner.testStr(False)) self.assertEqual( 'null', self._runner.testStr(None)) def test_int(self): self.assertEqual( 123, self._runner.testInt('123')) self.assertEqual( 0, self._runner.testInt(None)) def test_keys(self): self.assertThat( self._runner.testKeys({True: 123, 5: 'Q', 'y': False}), matchers.MatchesSetwise( matchers.Equals('y'), matchers.Is(True), matchers.Equals(5))) def test_values(self): self.assertThat( self._runner.testValues({True: 123, 5: 'Q', 'y': False}), matchers.MatchesSetwise( matchers.Is(False), matchers.Equals(123), matchers.Equals('Q'))) def test_flatten(self): self.assertEqual( [1, 2, 3, 4], self._runner.testFlatten([[1, 2], [3, 4]])) def test_dict_get(self): self.assertEqual( 2, self._runner.testDictGet({'a': 'x', 'y': 2}, 'y')) def test_random_name(self): name1 = self._runner.testRandomName() name2 = self._runner.testRandomName() self.assertIsInstance(name1, str) self.assertIsInstance(name2, str) self.assertThat(len(name1), matchers.GreaterThan(12)) self.assertThat(len(name2), matchers.GreaterThan(12)) self.assertThat(name1, matchers.NotEquals(name2)) def test_pselect(self): self.assertEqual( [1, 4, 9, 16, 25, 36, 49, 64, 81, 100], self._runner.testPSelect([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])) def test_bind(self): self.assertEqual( { 'a': 5, 'b': True, 'c': { 'd': 'x' }, 'e': ['qq-123'] }, self._runner.testBind( { 'a': '$a', '$Z': True, 'c': { 'd': '$value of d' }, 'e': ['$qq-{suffix}'] }, {'a': 5, 'Z': 'b', 'value of d': 'x', 'suffix': 123})) def test_patch(self): self.assertEqual( {'foo': 'bar', 'baz': [42]}, self._runner.testPatch()) def test_skip(self): self.assertEqual( [3, 4, 5, 6], self._runner.testSkip([1, 2, 3, 4, 5, 6], 2) ) def test_take(self): self.assertEqual( [1, 2, 3], self._runner.testTake([1, 2, 3, 4, 5, 6], 3) ) def test_skip_take(self): self.assertEqual( [3, 4, 5], self._runner.testSkipTake([1, 2, 3, 4, 5, 6, 7, 8], 2, 3) ) def test_skip_take_chained(self): self.assertEqual( [3, 4, 5], self._runner.testSkipTakeChained( [1, 2, 3, 4, 5, 6, 7, 8], 2, 3) ) def test_aggregate(self): self.assertEqual( 10, self._runner.testAggregate([1, 2, 3, 4]) ) def test_aggregate_with_initializer(self): self.assertEqual( 21, self._runner.testAggregateWithInitializer([1, 2, 3, 4], 11) ) def test_id(self): obj_id = self._runner.root.object_id self.assertEqual(obj_id * 2, self._runner.testId()) def test_type(self): self.assertEqual('TestEngineFunctions' * 2, self._runner.testType()) def test_is_operator(self): self.assertTrue(self._runner.testIsOperator()) self.assertFalse(self._runner.testNegativeIsOperator()) def test_new_object_assignment(self): self.assertTrue(self._runner.testNewObjectAssignment()) @mock.patch('murano.engine.system.yaql_functions.key_manager') @mock.patch('murano.engine.system.yaql_functions.castellan_utils') def test_decrypt_data(self, mock_castellan_utils, mock_key_manager): dummy_context = mock.MagicMock() mock_castellan_utils.credential_factory.return_value = dummy_context encrypted_value = '91f784d0-5ef1-4b6f-9311-9b5a33d828d8' decrypted_value = 'secret_password' mock_key_manager.API().get.return_value.get_encoded.return_value =\ decrypted_value self.assertEqual(decrypted_value, self._runner.testDecryptData(encrypted_value)) mock_key_manager.API().get.assert_called_once_with(dummy_context, encrypted_value) @mock.patch('murano.engine.system.yaql_functions.LOG') def test_decrypt_data_not_configured(self, mock_log): encrypted_value = '91f784d0-5ef1-4b6f-9311-9b5a33d828d8' self.assertRaises(castellan_exception.AuthTypeInvalidError, self._runner.testDecryptData, encrypted_value) mock_log.error.assert_called() murano-9.0.0/murano/tests/unit/dsl/foundation/0000775000175000017500000000000013656750351021430 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/dsl/foundation/__init__.py0000664000175000017500000000000013656750211023522 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/dsl/foundation/object_model.py0000664000175000017500000000464413656750211024433 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import helpers class Object(object): def __init__(self, __name, __id=None, class_version=None, **kwargs): self.data = { '?': { 'type': __name, 'id': __id or helpers.generate_id() } } if class_version is not None: self.data['?']['classVersion'] = class_version self.data.update(kwargs) @property def id(self): return self.data['?']['id'] @property def type_name(self): return self.data['?']['type'] def __getitem__(self, item): return self.data[item] def __setitem__(self, key, value): self.data[key] = value def __contains__(self, item): return item in self.data def __delitem__(self, key): del self.data[key] class Attribute(object): def __init__(self, obj, key, value): self._value = value self._key = key self._obj = obj @property def obj(self): return self._obj @property def key(self): return self._key @property def value(self): return self._value class Ref(object): def __init__(self, obj): if isinstance(obj, str): self._id = obj else: self._id = obj.id @property def id(self): return self._id def build_model(root): if isinstance(root, dict): for key, value in root.items(): root[key] = build_model(value) elif isinstance(root, list): for i in range(len(root)): root[i] = build_model(root[i]) elif isinstance(root, Object): return build_model(root.data) elif isinstance(root, Ref): return root.id elif isinstance(root, Attribute): return [root.obj.id, root.obj.type_name, root.key, root.value] return root murano-9.0.0/murano/tests/unit/dsl/foundation/test_package_loader.py0000664000175000017500000001056213656750211025761 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os.path from murano.dsl import constants from murano.dsl import murano_package from murano.dsl import namespace_resolver from murano.dsl import package_loader from murano.engine import yaql_yaml_loader from murano.tests.unit.dsl.foundation import object_model from oslo_utils import fnmatch class TestPackage(murano_package.MuranoPackage): def __init__(self, pkg_loader, name, version, runtime_version, requirements, configs, meta): self.__configs = configs super(TestPackage, self).__init__( pkg_loader, name, version, runtime_version, requirements, meta) def get_class_config(self, name): return self.__configs.get(name, {}) def get_resource(self, name): pass class TestPackageLoader(package_loader.MuranoPackageLoader): _classes_cache = {} def __init__(self, directory, package_name, parent_loader=None, meta=None): self._package_name = package_name self._yaml_loader = yaql_yaml_loader.get_loader('1.0') if directory in TestPackageLoader._classes_cache: self._classes = TestPackageLoader._classes_cache[directory] else: self._classes = {} self._build_index(directory) TestPackageLoader._classes_cache[directory] = self._classes self._parent = parent_loader self._configs = {} self._package = TestPackage( self, package_name, None, constants.RUNTIME_VERSION_1_0, None, self._configs, meta) for name, payload in self._classes.items(): self._package.register_class(payload, name) super(TestPackageLoader, self).__init__() def load_package(self, package_name, version_spec): if package_name == self._package_name: return self._package elif self._parent: return self._parent.load_package(package_name, version_spec) else: raise KeyError(package_name) def load_class_package(self, class_name, version_spec): if class_name in self._classes: return self._package elif self._parent: return self._parent.load_class_package(class_name, version_spec) else: raise KeyError(class_name) def export_fixation_table(self): return {} def import_fixation_table(self, fixations): pass def compact_fixation_table(self): pass def _build_index(self, directory): yamls = [ os.path.join(dirpath, f) for dirpath, _, files in os.walk(directory) for f in fnmatch.filter(files, '*.yaml') if f != 'manifest.yaml' ] for class_def_file in yamls: self._load_classes(class_def_file) def _load_classes(self, class_def_file): with open(class_def_file, 'rb') as stream: data_lst = self._yaml_loader(stream.read(), class_def_file) last_ns = {} for data in data_lst: last_ns = data.get('Namespaces', last_ns.copy()) if 'Name' not in data: continue for name, method in (data.get('Methods') or data.get( 'Workflow') or {}).items(): if name.startswith('test'): method['Scope'] = 'Public' ns = namespace_resolver.NamespaceResolver(last_ns) class_name = ns.resolve_name(data['Name']) self._classes[class_name] = data_lst def set_config_value(self, class_name, property_name, value): if isinstance(class_name, object_model.Object): class_name = class_name.type_name self._configs.setdefault(class_name, {})[ property_name] = value def register_package(self, package): super(TestPackageLoader, self).register_package(package) murano-9.0.0/murano/tests/unit/dsl/foundation/runner.py0000664000175000017500000001336713656750211023320 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sys from murano.common import utils from murano.dsl import context_manager from murano.dsl import dsl from murano.dsl import dsl_exception from murano.dsl import dsl_types from murano.dsl import executor from murano.dsl import helpers from murano.dsl import murano_object from murano.dsl import serializer from murano.dsl import yaql_integration from murano.engine import execution_session from murano.engine.system import yaql_functions from murano.tests.unit.dsl.foundation import object_model class TestContextManager(context_manager.ContextManager): def __init__(self, functions): self.__functions = functions def create_root_context(self, runtime_version): root_context = super(TestContextManager, self).create_root_context( runtime_version) context = helpers.link_contexts( root_context, yaql_functions.get_context(runtime_version)) context = context.create_child_context() for name, func in self.__functions.items(): context.register_function(func, name) return context class Runner(object): class DslObjectWrapper(object): def __init__(self, obj, runner): self._runner = runner if isinstance(obj, (str,) + (dsl_types.MuranoType,)): pass elif isinstance(obj, (object_model.Object, object_model.Ref)): obj = obj.id elif isinstance(obj, murano_object.MuranoObject): obj = obj.object_id else: raise ValueError( 'obj must be object ID string, MuranoObject, MuranoType ' 'or one of object_model helper classes (Object, Ref)') if isinstance(obj, str): self._receiver = runner.executor.object_store.get(obj) else: self._receiver = obj self._preserve_exception = False def __getattr__(self, item): def call(*args, **kwargs): return self._runner._execute( item, self._receiver, *args, **kwargs) if item.startswith('test'): return call def __init__(self, model, package_loader, functions): if isinstance(model, str): model = object_model.Object(model) model = object_model.build_model(model) if 'Objects' not in model: model = {'Objects': model} self.executor = executor.MuranoDslExecutor( package_loader, TestContextManager(functions), execution_session.ExecutionSession()) self._root = self.executor.load(model) if self._root: self._root = self._root.object if 'ObjectsCopy' in model: self.executor.object_store.cleanup() def _execute(self, name, obj, *args, **kwargs): try: final_args = [] final_kwargs = {} for arg in args: if isinstance(arg, object_model.Object): arg = object_model.build_model(arg) final_args.append(arg) for name, arg in kwargs.items(): if isinstance(arg, object_model.Object): arg = object_model.build_model(arg) final_kwargs[name] = arg cls = obj if isinstance(obj, dsl_types.MuranoType) else obj.type runtime_version = cls.package.runtime_version yaql_engine = yaql_integration.choose_yaql_engine(runtime_version) with helpers.with_object_store(self.executor.object_store): return dsl.to_mutable(cls.invoke( name, obj, tuple(final_args), final_kwargs), yaql_engine) except dsl_exception.MuranoPlException as e: if not self.preserve_exception: original_exception = getattr(e, 'original_exception', None) if original_exception and not isinstance( original_exception, dsl_exception.MuranoPlException): exc_traceback = getattr( e, 'original_traceback', None) or sys.exc_info()[2] utils.reraise( type(original_exception), original_exception, exc_traceback) raise def __getattr__(self, item): if item.startswith('test'): return getattr(Runner.DslObjectWrapper(self._root, self), item) def on(self, obj): return Runner.DslObjectWrapper(obj, self) def on_class(self, class_name): cls = self.executor.package_loader.load_class_package( class_name, helpers.parse_version_spec(None)).find_class( class_name, False) return Runner.DslObjectWrapper(cls, self) @property def root(self): return self._root @property def serialized_model(self): return serializer.serialize_model(self._root, self.executor) @property def preserve_exception(self): return self._preserve_exception @preserve_exception.setter def preserve_exception(self, value): self._preserve_exception = value def session(self): return helpers.with_object_store(self.executor.object_store) murano-9.0.0/murano/tests/unit/dsl/foundation/test_case.py0000664000175000017500000000460513656750211023754 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import inspect import os.path import eventlet.debug from murano.tests.unit import base from murano.tests.unit.dsl.foundation import runner from murano.tests.unit.dsl.foundation import test_package_loader class DslTestCase(base.MuranoTestCase): def setUp(self): super(DslTestCase, self).setUp() directory = os.path.join(os.path.dirname( inspect.getfile(self.__class__)), 'meta') root_meta_directory = os.path.join( os.path.dirname(__file__), '../../../../../meta') sys_package_loader = test_package_loader.TestPackageLoader( os.path.join(root_meta_directory, 'io.murano/Classes'), 'io.murano') self._package_loader = test_package_loader.TestPackageLoader( directory, 'tests', sys_package_loader) self._functions = {} self.register_function( lambda data: self._traces.append(data), 'trace') self._traces = [] self._runners = [] eventlet.debug.hub_exceptions(False) def new_runner(self, model): r = runner.Runner(model, self.package_loader, self._functions) self._runners.append(r) return r def tearDown(self): super(DslTestCase, self).tearDown() for r in self._runners: r.executor.finalize(r.root) @property def traces(self): return self._traces @traces.deleter def traces(self): self._traces = [] @property def package_loader(self): return self._package_loader def register_function(self, func, name): self._functions[name] = func @staticmethod def find_attribute(model, obj_id, obj_type, name): for entry in model['Attributes']: if tuple(entry[:3]) == (obj_id, obj_type, name): return entry[3] murano-9.0.0/murano/tests/unit/dsl/test_concurrency.py0000664000175000017500000000603213656750211023221 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import eventlet from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestConcurrency(test_case.DslTestCase): def setUp(self): super(TestConcurrency, self).setUp() def yield_(): self.traces.append('yield') eventlet.sleep(0) self.register_function(yield_, 'yield') self._runner = self.new_runner(om.Object('TestConcurrency')) def check_isolated_traces(self): for i in range(0, len(self.traces), 3): before = self.traces[i] switch = self.traces[i + 1] after = self.traces[i + 2] self.assertEqual('yield', switch) self.assertEqual(before[0:6], after[0:6]) self.assertTrue(before.endswith('-before')) self.assertTrue(after.endswith('-after')) def check_concurrent_traces(self): self.assertTrue(self.traces[0].endswith('-before')) self.assertEqual('yield', self.traces[1]) self.assertTrue(self.traces[2].endswith('-before')) self.assertEqual('yield', self.traces[3]) self.assertTrue(self.traces[4].endswith('-before')) self.assertEqual('yield', self.traces[5]) self.assertTrue(self.traces[6].endswith('-after')) self.assertTrue(self.traces[7].endswith('-after')) self.assertTrue(self.traces[8].endswith('-after')) def test_isolated(self): self._runner.testCallIsolated() self.check_isolated_traces() def test_isolated_default(self): self._runner.testCallIsolatedWithDefault() self.check_isolated_traces() def test_concurrent_explicit(self): self._runner.testCallConcurrentExplicit() self.check_concurrent_traces() def test_isolated_explicit(self): self._runner.testCallIsolatedExplicit() self.check_isolated_traces() def test_argbased_primitive_isolated(self): self._runner.testCallArgbasedPrimitiveIsolated() self.check_isolated_traces() def test_argbased_primitive_concurrent(self): self._runner.testCallArgbasedPrimitiveConcurrent() self.check_concurrent_traces() def test_argbased_object_isolated(self): self._runner.testCallArgbasedWithObjectIsolated() self.check_isolated_traces() def test_argbased_object_concurrent(self): self._runner.testCallArgbasedWithObjectConcurrent() self.check_concurrent_traces() murano-9.0.0/murano/tests/unit/dsl/test_contracts.py0000664000175000017500000003276413656750211022702 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import dsl from murano.dsl import exceptions from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestContracts(test_case.DslTestCase): def setUp(self): super(TestContracts, self).setUp() self._runner = self.new_runner( om.Object( 'ContractExamples', ordinaryProperty='PROPERTY', sampleClass=om.Object( 'SampleClass1', stringProperty='string1', classProperty=om.Object( 'SampleClass2', class2Property='string2')))) def test_string_contract(self): result = self._runner.testStringContract('qwerty') self.assertIsInstance(result, str) self.assertEqual('qwerty', result) def test_string_from_number_contract(self): result = self._runner.testStringContract(123) self.assertIsInstance(result, str) self.assertEqual('123', result) def test_string_null_contract(self): self.assertIsNone(self._runner.testStringContract(None)) def test_int_contract(self): result = self._runner.testIntContract(123) self.assertIsInstance(result, int) self.assertEqual(123, result) def test_int_from_string_contract(self): result = self._runner.testIntContract('456') self.assertIsInstance(result, int) self.assertEqual(456, result) def test_int_from_string_contract_failure(self): self.assertRaises(exceptions.ContractViolationException, self._runner.testIntContract, 'nan') def test_int_null_contract(self): self.assertIsNone(self._runner.testIntContract(None)) def test_bool_contract(self): result = self._runner.testBoolContract(True) self.assertIsInstance(result, bool) self.assertTrue(result) result = self._runner.testBoolContract(False) self.assertIsInstance(result, bool) self.assertFalse(result) def test_bool_from_int_contract(self): result = self._runner.testBoolContract(10) self.assertIsInstance(result, bool) self.assertTrue(result) result = self._runner.testBoolContract(0) self.assertIsInstance(result, bool) self.assertFalse(result) def test_bool_from_string_contract(self): result = self._runner.testBoolContract('something') self.assertIsInstance(result, bool) self.assertTrue(result) result = self._runner.testBoolContract('') self.assertIsInstance(result, bool) self.assertFalse(result) def test_bool_null_contract(self): self.assertIsNone(self._runner.testIntContract(None)) def test_class_contract(self): arg = om.Object('SampleClass2', class2Property='qwerty') result = self._runner.testClassContract(arg) self.assertIsInstance(result, dsl.MuranoObjectInterface) def test_class_contract_by_ref(self): arg = om.Object('SampleClass2', class2Property='qwerty') result = self._runner.testClassContract(arg) self.assertNotEqual(arg.id, result.id) def test_class_contract_failure(self): self.assertRaises( exceptions.ContractViolationException, self._runner.testClassContract, ['invalid type']) def test_class_contract_by_ref_failure(self): self.assertRaises( exceptions.NoObjectFoundError, self._runner.testClassContract, 'NoSuchIdExists') def test_class_contract_from_dict(self): self.assertEqual( 'SampleClass2', self._runner.testClassContract({ 'class2Property': 'str'}).type.name) def test_class_from_id_contract(self): object_id = self._runner.root.get_property('sampleClass').object_id result = self._runner.testClassFromIdContract(object_id) self.assertIsInstance(result, dsl.MuranoObjectInterface) self.assertEqual(object_id, result.id) def test_template_contract(self): arg = om.Object('CreatedClass2', property1='qwerty', property2=123) result = self._runner.testTemplateContract(arg) self.assertIsInstance(result, dict) self.assertItemsEqual(['?', 'property1', 'property2'], result.keys()) def test_template_property_contract(self): template = { 'foo': 123 } self.new_runner( om.Object('ContractExamples', templateProperty=template)) def test_template_contract_fail_on_type(self): arg = om.Object('SampleClass2', class2Property='qwerty') self.assertRaises( exceptions.ContractViolationException, self._runner.testTemplateContract, arg) def test_template_contract_with_property_exclusion(self): arg = om.Object('CreatedClass2', property1='qwerty', property2='INVALID') result = self._runner.testTemplateContractExcludeProperty(arg) self.assertIsInstance(result, dict) self.assertItemsEqual(['?', 'property1'], result.keys()) def test_template_contract_with_property_exclusion_from_mpl(self): result = self._runner.testTemplateContractExcludePropertyFromMpl() self.assertIsInstance(result, dict) self.assertItemsEqual(['?', 'property1'], result.keys()) def test_check_contract(self): arg = om.Object('SampleClass2', class2Property='qwerty') self.assertIsNone(self._runner.testCheckContract(arg, 100)) def test_check_contract_failure(self): invalid_arg = om.Object('SampleClass2', class2Property='not qwerty') self.assertRaises(exceptions.ContractViolationException, self._runner.testCheckContract, invalid_arg, 100) def test_owned_contract(self): arg1 = self._runner.root.get_property('sampleClass') arg2 = arg1.get_property('classProperty') self.assertIsNone(self._runner.testOwnedContract(arg1, arg2)) def test_owned_contract_on_null(self): self.assertIsNone(self._runner.testOwnedContract(None, None)) def test_owned_contract_failure(self): arg1 = self._runner.root.get_property('sampleClass') arg2 = arg1.get_property('classProperty') invalid_arg2 = om.Object('SampleClass2', class2Property='string2') invalid_arg1 = om.Object( 'SampleClass1', stringProperty='string1', classProperty=invalid_arg2) self.assertRaises(exceptions.ContractViolationException, self._runner.testOwnedContract, invalid_arg1, arg2) self.assertRaises(exceptions.ContractViolationException, self._runner.testOwnedContract, invalid_arg2, arg1) def test_not_owned_contract(self): arg2 = om.Object('SampleClass2', class2Property='string2') arg1 = om.Object( 'SampleClass1', stringProperty='string1', classProperty=arg2) self.assertIsNone(self._runner.testNotOwnedContract(arg1, arg2)) def test_not_owned_contract_on_null(self): self.assertIsNone(self._runner.testNotOwnedContract(None, None)) def test_not_owned_contract_failure(self): invalid_arg1 = self._runner.root.get_property('sampleClass') invalid_arg2 = invalid_arg1.get_property('classProperty') arg2 = om.Object('SampleClass2', class2Property='string2') arg1 = om.Object( 'SampleClass1', stringProperty='string1', classProperty=arg2) self.assertRaises( exceptions.ContractViolationException, self._runner.testNotOwnedContract, invalid_arg1, arg2) self.assertRaises( exceptions.ContractViolationException, self._runner.testNotOwnedContract, invalid_arg2, arg1) def test_scalar_contract(self): self.assertEqual('fixed', self._runner.testScalarContract( 'fixed', 456, True)) def test_scalar_contract_failure(self): self.assertRaises( exceptions.ContractViolationException, self._runner.testScalarContract, 'wrong', 456, True) self.assertRaises( exceptions.ContractViolationException, self._runner.testScalarContract, 'fixed', 123, True) self.assertRaises( exceptions.ContractViolationException, self._runner.testScalarContract, 'fixed', 456, False) def test_list_contract(self): self.assertEqual([3, 2, 1], self._runner.testListContract( ['3', 2, '1'])) def test_list_contract_from_scalar(self): self.assertEqual([99], self._runner.testListContract('99')) def test_list_contract_from_null(self): self.assertEqual([], self._runner.testListContract(None)) def test_list_with_min_length_contract(self): self.assertEqual( [1, 2, 3], self._runner.testListWithMinLengthContract([1, 2, 3])) self.assertEqual( [1, 2, 3, 4], self._runner.testListWithMinLengthContract([1, 2, 3, 4])) def test_list_with_min_length_contract_failure(self): self.assertRaises( exceptions.ContractViolationException, self._runner.testListWithMinLengthContract, None) self.assertRaises( exceptions.ContractViolationException, self._runner.testListWithMinLengthContract, [1, 2]) def test_list_with_min_max_length_contract(self): self.assertEqual( [1, 2], self._runner.testListWithMinMaxLengthContract([1, 2])) self.assertEqual( [1, 2, 3, 4], self._runner.testListWithMinMaxLengthContract([1, 2, 3, 4])) def test_list_with_min_max_length_contract_failure(self): self.assertRaises( exceptions.ContractViolationException, self._runner.testListWithMinMaxLengthContract, [1]) self.assertRaises( exceptions.ContractViolationException, self._runner.testListWithMinMaxLengthContract, [1, 2, 3, 4, 5]) def test_dict_contract(self): self.assertEqual( {'A': '123', 'B': 456}, self._runner.testDictContract({'A': '123', 'B': '456'})) self.assertEqual( {'A': '123', 'B': 456}, self._runner.testDictContract({'A': '123', 'B': '456', 'C': 'qq'})) self.assertEqual( {'A': '123', 'B': None}, self._runner.testDictContract({'A': '123'})) def test_dict_contract_failure(self): self.assertRaises( exceptions.ContractViolationException, self._runner.testDictContract, 'str') def test_dict_expressions_contract(self): self.assertEqual( {321: 'qwerty', 99: 'val', 'B': 456}, self._runner.testDictExprContract({ '321': 'qwerty', '99': 'val', 'B': 456})) def test_dict_expressions_contract_failure(self): self.assertRaises( exceptions.ContractViolationException, self._runner.testDictExprContract, {'321': 'qwerty', 'str': 'val', 'B': 456}) def test_invalid_dict_expr_contract(self): self.assertRaises( exceptions.DslContractSyntaxError, self._runner.testDictMultiExprContract, {'321': 'qwerty', 'str': 'val', 'B': 456}) def test_not_null_contract(self): self.assertEqual('value', self._runner.testNotNullContract('value')) def test_not_null_contract_failure(self): self.assertRaises( exceptions.ContractViolationException, self._runner.testNotNullContract, None) def test_default(self): self.assertEqual('value', self._runner.testDefault('value')) self.assertEqual('DEFAULT', self._runner.testDefault()) def test_default_expression(self): self.assertEqual('PROPERTY', self._runner.testDefaultExpression()) self.assertEqual('value', self._runner.testDefaultExpression('value')) def test_template_with_externally_owned_object(self): node = om.Object('Node', 'OBJ_ID') node_template = om.Object('Node', nodes=['OBJ_ID']) model = om.Object( 'TemplatePropertyClass', owned=node, template=node_template) runner = self.new_runner(model) self.assertEqual( ['OBJ_ID'], runner.testTemplateWithExternallyOwnedObject()) class TestContractsTransform(test_case.DslTestCase): def setUp(self): super(TestContractsTransform, self).setUp() self._runner = self.new_runner(om.Object('TestIteratorsTransform')) def test_property(self): self.assertEqual('3', self._runner.testProperties()) def test_argument(self): self.assertEqual('3', self._runner.testArgs()) self.assertEqual('2', self._runner.testUntypedArgs()) self.assertEqual('6', self._runner.testNotTypedListArgs()) self.assertEqual('6', self._runner.testTypedList()) self.assertEqual(2, self._runner.testListDict()) murano-9.0.0/murano/tests/unit/dsl/test_exceptions.py0000664000175000017500000000656613656750211023064 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import inspect import os.path import re from testtools import matchers from murano.dsl import dsl_exception from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestExceptions(test_case.DslTestCase): def setUp(self): super(TestExceptions, self).setUp() def exception_func(): exc = LookupError('just random Python exception') frameinfo = inspect.getframeinfo(inspect.currentframe()) exc._position = \ os.path.basename(frameinfo.filename), frameinfo.lineno + 4 # line below must be exactly 4 lines after currentframe() raise exc self.register_function(exception_func, 'raisePythonException') self._runner = self.new_runner(om.Object('ExceptionHandling')) def test_throw_catch(self): self._runner.testThrow(1) self.assertEqual( ['enter try', u'exception message', 'finally section'], self.traces) def test_rethrow(self): e = self.assertRaises( dsl_exception.MuranoPlException, self._runner.testThrow, 2) self.assertEqual(['anotherExceptionName'], e.names) self.assertEqual('exception message 2', e.message) self.assertEqual('[anotherExceptionName]: exception message 2', str(e)) self.assertEqual( ['enter try', 'exception message 2', 'rethrow', 'finally section'], self.traces) def test_catch_all_catch(self): self._runner.testThrow(3) self.assertEqual( ['enter try', 'catch all', 'exception message 3', 'finally section'], self.traces) def test_no_throw(self): self._runner.testThrow(4) self.assertEqual( ['enter try', 'exit try', 'else section', 'finally section'], self.traces) def test_stack_trace(self): self._runner.preserve_exception = True e = self.assertRaises( dsl_exception.MuranoPlException, self._runner.testStackTrace) call_stack = e.format() self.assertThat( call_stack, matchers.StartsWith( 'LookupError: just random Python exception')) self.assertIsInstance(e.original_exception, LookupError) filename, line = e.original_exception._position self.assertThat( call_stack, matchers.MatchesRegex( r'.*^ File \".*ExceptionHandling\.yaml\", ' r'line \d+:\d+ in method testStackTrace .*' r'of type ExceptionHandling$.*' r'^ File \".*{0}\", line {1} ' r'in method exception_func$.*'.format(filename, line), re.MULTILINE | re.DOTALL)) murano-9.0.0/murano/tests/unit/dsl/test_statics.py0000664000175000017500000001350013656750211022337 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from yaql.language import exceptions as yaql_exceptions from yaql.language import specs from yaql.language import yaqltypes from murano.dsl import dsl from murano.dsl import dsl_types from murano.dsl import exceptions from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case class TestStatics(test_case.DslTestCase): def setUp(self): @dsl.name('test.TestStatics') class PythonClass(object): @staticmethod @specs.parameter('arg', yaqltypes.Integer()) @specs.inject('receiver', yaqltypes.Receiver()) def static_python_method(arg, receiver): if isinstance(receiver, dsl_types.MuranoObjectInterface): return 3 * arg return 7 * arg @classmethod @specs.inject('receiver', yaqltypes.Receiver()) def classmethod_python_method(cls, arg, receiver): if isinstance(receiver, dsl_types.MuranoObjectInterface): return cls.__name__.upper() + str(arg) return cls.__name__ + str(arg) super(TestStatics, self).setUp() self.package_loader.load_class_package( 'test.TestStatics', None).register_class(PythonClass) self._runner = self.new_runner( om.Object('test.TestStatics', staticProperty2='INVALID')) def test_call_static_method_on_object(self): self.assertEqual(123, self._runner.testCallStaticMethodOnObject()) def test_call_static_method_on_class_name(self): self.assertEqual(123, self._runner.testCallStaticMethodOnClassName()) def test_call_static_method_on_class_name_with_ns(self): self.assertEqual( 678, self._runner.testCallStaticMethodOnClassNameWithNs()) def test_call_static_method_from_another_method(self): self.assertEqual( 123 * 5, self._runner.testCallStaticMethodFromAnotherMethod()) def test_static_this(self): self.assertIsInstance( self._runner.testStaticThis(), dsl_types.MuranoTypeReference) def test_no_access_to_instance_properties(self): self.assertRaises( exceptions.NoPropertyFound, self._runner.testNoAccessToInstanceProperties) def test_access_static_property_from_instance_method(self): self.assertEqual( 'xxx', self._runner.testAccessStaticPropertyFromInstanceMethod()) def test_access_static_property_from_static_method(self): self.assertEqual( 'xxx', self._runner.testAccessStaticPropertyFromStaticMethod()) def test_modify_static_property_using_dollar(self): self.assertEqual( 'qq', self._runner.testModifyStaticPropertyUsingDollar()) def test_modify_static_property_using_this(self): self.assertEqual( 'qq', self._runner.testModifyStaticPropertyUsingThis()) def test_modify_static_property_using_class_name(self): self.assertEqual( 'qq', self._runner.testModifyStaticPropertyUsingClassName()) def test_modify_static_property_using_ns_class_name(self): self.assertEqual( 'qq', self._runner.testModifyStaticPropertyUsingNsClassName()) def test_modify_static_property_using_type_func(self): self.assertEqual( 'qq', self._runner.testModifyStaticPropertyUsingTypeFunc()) def test_modify_static_dict_property(self): self.assertEqual( {'key': 'value'}, self._runner.testModifyStaticDictProperty()) def test_property_is_static(self): self.assertEqual('qq', self._runner.testPropertyIsStatic()) def test_static_properties_excluded_from_object_model(self): self.assertEqual( 'staticProperty', self._runner.testStaticPropertisNotLoaded()) def test_type_is_singleton(self): self.assertTrue(self._runner.testTypeIsSingleton()) def test_static_property_inheritance(self): self.assertEqual( 'baseStaticProperty' * 3, self._runner.testStaticPropertyInheritance()) def test_static_property_override(self): self.assertEqual( [ 'conflictingStaticProperty-child', 'conflictingStaticProperty-child', 'conflictingStaticProperty-base', 'conflictingStaticProperty-child', 'conflictingStaticProperty-base' ], self._runner.testStaticPropertyOverride()) def test_type_info_of_type(self): self.assertTrue(self._runner.testTypeinfoOfType()) def test_call_python_static_method(self): self.assertEqual( [333] + [777] * 3, self._runner.testCallPythonStaticMethod()) def test_call_python_classmethod(self): self.assertEqual( ['PYTHONCLASS!'] + ['PythonClass!'] * 3, self._runner.testCallPythonClassMethod()) def test_call_static_method_on_invalid_class(self): self.assertRaises( yaql_exceptions.NoMatchingMethodException, self._runner.testCallStaticMethodOnInvalidClass) def test_static_method_callable_from_python(self): self.assertEqual( 'It works!', self._runner.on_class('test.TestStatics').testStaticAction()) murano-9.0.0/murano/tests/unit/common/0000775000175000017500000000000013656750351017770 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/common/__init__.py0000664000175000017500000000000013656750211022062 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/common/messaging/0000775000175000017500000000000013656750351021745 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/common/messaging/test_mqclient.py0000664000175000017500000002554413656750211025177 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from oslo_config import cfg from oslo_serialization import jsonutils import ssl as ssl_module from murano.common.i18n import _ from murano.common.messaging import mqclient from murano.tests.unit import base CONF = cfg.CONF class MQClientTest(base.MuranoTestCase): @mock.patch('murano.common.messaging.mqclient.kombu') def setUp(self, mock_kombu): super(MQClientTest, self).setUp() self.ssl_client = mqclient.MqClient(login='test_login', password='test_password', host='test_host', port='test_port', virtual_host='test_virtual_host', ssl=True, ca_certs=['cert1'], insecure=False) mock_kombu.Connection.assert_called_once_with( 'amqp://{0}:{1}@{2}:{3}/{4}'.format('test_login', 'test_password', 'test_host', 'test_port', 'test_virtual_host'), ssl={'ca_certs': ['cert1'], 'cert_reqs': ssl_module.CERT_REQUIRED}) self.assertEqual(mock_kombu.Connection(), self.ssl_client._connection) self.assertIsNone(self.ssl_client._channel) self.assertFalse(self.ssl_client._connected) @mock.patch('murano.common.messaging.mqclient.kombu', autospec=True) def test_client_initialization_with_ssl_version(self, mock_kombu): ssl_versions = ( ('tlsv1', getattr(ssl_module, 'PROTOCOL_TLSv1', None)), ('tlsv1_1', getattr(ssl_module, 'PROTOCOL_TLSv1_1', None)), ('tlsv1_2', getattr(ssl_module, 'PROTOCOL_TLSv1_2', None)), ('sslv2', getattr(ssl_module, 'PROTOCOL_SSLv2', None)), ('sslv23', getattr(ssl_module, 'PROTOCOL_SSLv23', None)), ('sslv3', getattr(ssl_module, 'PROTOCOL_SSLv3', None))) exception_count = 0 for ssl_name, ssl_version in ssl_versions: ssl_kwargs = { 'login': 'test_login', 'password': 'test_password', 'host': 'test_host', 'port': 'test_port', 'virtual_host': 'test_virtual_host', 'ssl': True, 'ssl_version': ssl_name, 'ca_certs': ['cert1'], 'insecure': False } # If a ssl_version is not valid, a RuntimeError is thrown. # According to the ssl_version docs in config.py, certain versions # of TLS may be available depending on the system. So, just # check that at least 1 ssl_version works. if ssl_version is None: e = self.assertRaises(RuntimeError, mqclient.MqClient, **ssl_kwargs) self.assertEqual(_('Invalid SSL version: %s') % ssl_name, e.__str__()) exception_count += 1 continue self.ssl_client = mqclient.MqClient(**ssl_kwargs) mock_kombu.Connection.assert_called_once_with( 'amqp://{0}:{1}@{2}:{3}/{4}'.format( 'test_login', 'test_password', 'test_host', 'test_port', 'test_virtual_host'), ssl={'ca_certs': ['cert1'], 'cert_reqs': ssl_module.CERT_REQUIRED, 'ssl_version': ssl_version}) self.assertEqual( mock_kombu.Connection(), self.ssl_client._connection) self.assertIsNone(self.ssl_client._channel) self.assertFalse(self.ssl_client._connected) mock_kombu.Connection.reset_mock() # Check that at least one ssl_version worked. self.assertGreater(len(ssl_versions), exception_count) @mock.patch('murano.common.messaging.mqclient.kombu') def test_alternate_client_initializations(self, mock_kombu): for ca_cert in ['cert1', None]: client = mqclient.MqClient(login='test_login', password='test_password', host='test_host', port='test_port', virtual_host='test_virtual_host', ssl=True, ca_certs=ca_cert, insecure=True) mock_kombu.Connection.assert_called_once_with( 'amqp://{0}:{1}@{2}:{3}/{4}'.format('test_login', 'test_password', 'test_host', 'test_port', 'test_virtual_host'), ssl={'ca_certs': ca_cert, 'cert_reqs': ssl_module.CERT_OPTIONAL if ca_cert else ssl_module.CERT_NONE}) self.assertEqual(mock_kombu.Connection(), client._connection) mock_kombu.Connection.reset_mock() client = mqclient.MqClient(login='test_login', password='test_password', host='test_host', port='test_port', virtual_host='test_virtual_host', ssl=False, ca_certs=None, insecure=False) mock_kombu.Connection.assert_called_once_with( 'amqp://{0}:{1}@{2}:{3}/{4}'.format('test_login', 'test_password', 'test_host', 'test_port', 'test_virtual_host'), ssl=None) self.assertEqual(mock_kombu.Connection(), client._connection) def test_connect(self): self.ssl_client.connect() self.ssl_client._connection.connect.assert_called_once_with() self.ssl_client._connection.channel.assert_called_once_with() self.assertEqual(self.ssl_client._connection.channel(), self.ssl_client._channel) self.assertTrue(self.ssl_client._connected) def test_close(self): self.ssl_client.close() self.ssl_client._connection.close.assert_called_once_with() self.assertFalse(self.ssl_client._connected) def test_enter_and_exit(self): with self.ssl_client: pass self.ssl_client._connection.connect.assert_called_once_with() self.ssl_client._connection.close.assert_called_once_with() @mock.patch('murano.common.messaging.mqclient.kombu') def test_declare(self, mock_kombu): self.ssl_client.connect() self.ssl_client.declare(queue='test_queue', exchange='test_exchange', enable_ha=True, ttl=1) queue_args = { 'x-ha-policy': 'all', 'x-expires': 1 } mock_kombu.Exchange.assert_called_once_with( 'test_exchange', type='direct', durable=True) mock_kombu.Queue.assert_called_once_with('test_queue', mock_kombu.Exchange(), 'test_queue', durable=True, queue_arguments=queue_args) mock_kombu.Queue()().declare.assert_called_once_with() mock_kombu.reset_mock() self.ssl_client.declare(queue='test_queue', exchange='test_exchange', enable_ha=False, ttl=0) mock_kombu.Exchange.assert_called_once_with( 'test_exchange', type='direct', durable=True) mock_kombu.Queue.assert_called_once_with('test_queue', mock_kombu.Exchange(), 'test_queue', durable=True, queue_arguments={}) def test_declare_except_runtime_error(self): with self.assertRaisesRegex(RuntimeError, 'Not connected to RabbitMQ'): self.ssl_client.declare(None) @mock.patch('murano.common.messaging.mqclient.kombu') def test_send(self, mock_kombu): mock_message = mock.MagicMock(body='test_message', id=3) self.ssl_client.connect() self.ssl_client.send(mock_message, 'test_key', 'test_exchange') mock_kombu.Producer.assert_called_once_with( self.ssl_client._connection) mock_kombu.Producer().publish.assert_called_once_with( exchange='test_exchange', routing_key='test_key', body=jsonutils.dumps('test_message'), message_id='3', headers=None) @mock.patch('murano.common.messaging.mqclient.kombu') def test_send_signed(self, mock_kombu): mock_message = mock.MagicMock(body='test_message', id=3) signer = mock.MagicMock() signer.return_value = "SIGNATURE" self.ssl_client.connect() self.ssl_client.send(mock_message, 'test_key', 'test_exchange', signer) mock_kombu.Producer.assert_called_once_with( self.ssl_client._connection) mock_kombu.Producer().publish.assert_called_once_with( exchange='test_exchange', routing_key='test_key', body=jsonutils.dumps('test_message'), message_id='3', headers={'signature': 'SIGNATURE'}) def test_send_except_runtime_error(self): with self.assertRaisesRegex(RuntimeError, 'Not connected to RabbitMQ'): self.ssl_client.send(None, None) @mock.patch('murano.common.messaging.mqclient.subscription') def test_open(self, mock_subscription): self.ssl_client.connect() self.ssl_client.open('test_queue', prefetch_count=2) mock_subscription.Subscription.assert_called_once_with( self.ssl_client._connection, 'test_queue', 2) def test_open_except_runtime_error(self): with self.assertRaisesRegex(RuntimeError, 'Not connected to RabbitMQ'): self.ssl_client.open(None) murano-9.0.0/murano/tests/unit/common/messaging/__init__.py0000664000175000017500000000000013656750211024037 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/common/test_statservice.py0000664000175000017500000002076713656750211023744 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import datetime as dt import time from unittest import mock from oslo_utils import timeutils from murano.common import statservice from murano.db import models from murano.db import session as db_session from murano.services import states from murano.tests.unit import base @mock.patch('murano.common.statservice.v1.stats', request_count=11, error_count=22, average_time=33, requests_per_tenant=44) class StatsCollectingServiceTest(base.MuranoTestCase): def setUp(self): super(StatsCollectingServiceTest, self).setUp() self.service = statservice.StatsCollectingService() self.service._prev_time = 0 self.mock_new_stats = mock.MagicMock(request_count=1, error_count=2) self.service._stats_db = mock.MagicMock( get_stats_by_host=mock.MagicMock(return_value=self.mock_new_stats)) statservice.LOG = mock.MagicMock() def test_service_start_and_stop(self, _): self.assertEqual(0, len(self.service.tg.threads)) self.service.start() self.assertEqual(2, len(self.service.tg.threads)) self.service.stop() self.assertEqual(0, len(self.service.tg.threads)) @mock.patch('murano.common.statservice.time') def test_update_stats(self, mock_time, mock_stats): now = time.time() mock_time.time.return_value = now self.service.update_stats() statservice.LOG.debug.assert_any_call( 'Stats: (Requests: 11 Errors: 22 Ave.Res.Time 33.0000\n Per ' 'tenant: 44)') self.assertEqual(now, self.service._prev_time) self.assertEqual(mock_stats.request_count, self.mock_new_stats.request_count) self.assertEqual(mock_stats.error_count, self.mock_new_stats.error_count) self.assertEqual(mock_stats.average_time, self.mock_new_stats.average_response_time) self.assertEqual(str(mock_stats.requests_per_tenant), self.mock_new_stats.requests_per_tenant) self.assertEqual((11 - 1) / now, self.mock_new_stats.requests_per_second) self.assertEqual((22 - 2) / now, self.mock_new_stats.errors_per_second) self.service._stats_db.update.assert_called_once_with( self.service._hostname, self.mock_new_stats) @mock.patch('murano.common.statservice.multiprocessing.cpu_count', return_value=5) @mock.patch('murano.common.statservice.psutil.cpu_percent', return_value=12.3) def test_update_stats_with_create_stats_db(self, _, __, mock_stats): self.service._stats_db.get_stats_by_host.return_value = None result = self.service.update_stats() self.assertIsNone(result) self.service._stats_db.create.assert_called_once_with( self.service._hostname, mock_stats.request_count, mock_stats.error_count, mock_stats.average_time, mock_stats.requests_per_tenant, 5, 12.3 ) @mock.patch('murano.common.statservice.LOG') def test_update_stats_handle_exception(self, mock_log, _): self.service._stats_db.update.side_effect =\ Exception('test_error_code') self.service.update_stats() mock_log.exception.assert_called_once_with( "Failed to get statistics object from a " "database. {error_code}".format(error_code='test_error_code')) class EnvReportingTest(base.MuranoNotifyWithDBTestCase): def setUp(self): super(EnvReportingTest, self).setUp() self.service = statservice.StatsCollectingService() @mock.patch('murano.common.statservice.status_reporter.' 'Notification.report') def test_report_env_stats(self, mock_notifier): now = timeutils.utcnow() later = now + dt.timedelta(minutes=1) session = db_session.get_session() environment1 = models.Environment( name='test_environment1', tenant_id='test_tenant_id1', version=2, id='test_env_id_1', created=now, updated=later, description={ 'Objects': { 'applications': ['app1'], 'services': ['service1'] } } ) environment2 = models.Environment( name='test_environment2', tenant_id='test_tenant_id2', version=1, id='test_env_id_2', created=now, updated=later, description={ 'Objects': { 'applications': ['app2'], 'services': ['service3'] } } ) environment3 = models.Environment( name='test_environment3', tenant_id='test_tenant_id2', version=1, id='test_env_id_3', created=now, updated=later, description={} ) session_1 = models.Session( environment=environment1, user_id='test_user_id', description={}, state=states.SessionState.DEPLOYED, version=1 ) session_2 = models.Session( environment=environment2, user_id='test_user_id', description={}, state=states.SessionState.DEPLOYED, version=0 ) session_3 = models.Session( environment=environment3, user_id='test_user_id', description={}, state=states.SessionState.DEPLOY_FAILURE, version=1 ) task_1 = models.Task( id='task_id_1', environment=environment1, description={}, created=now, started=now, updated=later, finished=later ) task_2 = models.Task( id='task_id_2', environment=environment2, description={}, created=now, started=now, updated=later, finished=later ) task_3 = models.Task( id='task_id_3', environment=environment3, description={}, created=now, started=now, updated=later, finished=later ) status_1 = models.Status( id='status_id_1', task_id='task_id_1', text='Deployed', level='info' ) status_2 = models.Status( id='status_id_2', task_id='task_id_2', text='Deployed', level='info' ) status_3 = models.Status( id='status_id_3', task_id='task_id_3', text='Something was wrong', level='error' ) session.add_all([environment1, environment2, environment3]) session.add_all([session_1, session_2, session_3]) session.add_all([task_1, task_2, task_3]) session.add_all([status_1, status_2, status_3]) session.flush() self.service.report_env_stats() self.assertEqual(mock_notifier.call_count, 2) dict_env_1 = {'version': 2, 'updated': later, 'tenant_id': u'test_tenant_id1', 'created': now, 'description_text': u'', 'status': 'ready', 'id': u'test_env_id_1', 'name': u'test_environment1'} dict_env_2 = {'version': 1, 'updated': later, 'tenant_id': u'test_tenant_id2', 'created': now, 'description_text': u'', 'status': 'ready', 'id': u'test_env_id_2', 'name': u'test_environment2'} calls = [mock.call('environment.exists', dict_env_1), mock.call('environment.exists', dict_env_2)] mock_notifier.assert_has_calls(calls) murano-9.0.0/murano/tests/unit/common/test_engine.py0000664000175000017500000003430413656750211022645 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from oslo_service import service from murano.common import engine from murano.dsl import constants from murano.dsl import helpers from murano.dsl import murano_package from murano.engine import mock_context_manager from murano.engine import package_loader from murano.tests.unit import base class TestEngineService(base.MuranoTestCase): def setUp(self): super(TestEngineService, self).setUp() self.engine = engine.EngineService() self.addCleanup(mock.patch.stopall) @mock.patch.object(service.Service, 'reset') @mock.patch.object(service.Service, 'stop') @mock.patch.object(service.Service, 'start') @mock.patch('murano.common.engine.messaging') def test_start_stop_reset(self, mock_messaging, mock_start, mock_stop, mock_reset): self.engine.start() self.assertTrue(mock_messaging.get_rpc_transport.called) self.assertTrue(mock_messaging.get_rpc_server.called) self.assertTrue(mock_start.called) self.engine.stop() self.assertTrue(mock_stop.called) self.engine.reset() self.assertTrue(mock_reset.called) @mock.patch.object(service.Service, 'stop') @mock.patch.object(service.Service, 'start') @mock.patch('murano.common.engine.messaging') def test_stop_graceful(self, mock_messaging, mock_start, mock_stop): self.engine.start() self.assertTrue(mock_messaging.get_rpc_transport.called) self.assertTrue(mock_messaging.get_rpc_server.called) self.assertTrue(mock_start.called) self.engine.stop(graceful=True) self.assertTrue(mock_stop.called) class TestTaskExecutor(base.MuranoTestCase): def setUp(self): super(TestTaskExecutor, self).setUp() self.task = { 'action': { 'args': None, 'object_id': 'my_obj_id', 'method': 'my_method' }, 'model': { 'SystemData': { 'Packages': 'my_packages' }, 'project_id': 'my_tenant_id', 'user_id': 'my_user_id' }, 'token': 'my_token', 'project_id': 'my_tenant_id', 'user_id': 'my_user_id', 'id': 'my_env_id' } self.task_executor = engine.TaskExecutor(self.task) self.task_executor._model = self.task['model'] self.task_executor._session.token = self.task['token'] self.task_executor._session.project_id = self.task['project_id'] self.task_executor._session.user_id = self.task['user_id'] self.task_executor._session.environment_owner_project_id_ = \ self.task['model']['project_id'] self.task_executor._session.environment_owner_user_id = \ self.task['model']['user_id'] (self.task_executor._session .system_attributes) = (self.task_executor._model. get('SystemData', {})) self.addCleanup(mock.patch.stopall) def test_properties(self): self.assertEqual(self.task['action'], self.task_executor.action) self.assertEqual(self.task_executor._session, self.task_executor.session) self.assertEqual(self.task['model'], self.task_executor.model) @mock.patch('murano.common.engine.auth_utils.delete_trust') @mock.patch('murano.common.engine.auth_utils.create_trust') @mock.patch('murano.common.engine.package_loader.' 'CombinedPackageLoader.import_fixation_table') @mock.patch('murano.common.engine.TaskExecutor._execute') def test_execute(self, mock_execute, mock_loader, mock_create, mock_delete): mock_loader.return_value = {'SystemData': 'my_sys_data'} mock_create.return_value = 'trust_id' expected = { 'action': { 'result': '?', 'isException': False } } mock_execute.return_value = expected result = self.task_executor.execute() self.assertEqual(expected, result) self.assertTrue(mock_execute.called) self.assertTrue(mock_loader.called) self.assertTrue(mock_create.called) self.assertTrue(mock_delete.called) def test_private_execute(self): mock_loader = mock.Mock() result = self.task_executor._execute(mock_loader) expected = { 'action': { 'result': None, 'isException': False } } self.assertEqual(expected, result) @mock.patch('murano.common.engine.auth_utils.delete_trust') @mock.patch('murano.common.engine.auth_utils.create_trust') def test_trust(self, mock_create, mock_delete): mock_create.return_value = 'trust_id' self.task_executor._create_trust() self.assertEqual('trust_id', self.task_executor._session.trust_id) self.assertTrue(mock_create.called) self.task_executor._delete_trust() self.assertIsNone(self.task_executor._session.trust_id) self.assertTrue(mock_delete.called) class TestStaticActionExecutor(base.MuranoTestCase): def setUp(self): super(TestStaticActionExecutor, self).setUp() self.action = { 'method': 'TestAction', 'args': {'name': 'foo'}, 'class_name': 'TestClass', 'pkg_name': 'TestPackage', 'class_version': '=0' } self.task = { 'action': self.action, 'token': 'test_token', 'project_id': 'test_tenant', 'user_id': 'test_user', 'id': 'test_task_id' } self.task_executor = engine.StaticActionExecutor(self.task) self.assertIsInstance(self.task_executor._reporter, engine.status_reporter.StatusReporter) self.assertEqual(self.task['id'], self.task_executor._reporter._environment_id) def test_action_property(self): self.assertEqual(self.action, self.task_executor.action) def test_session_property(self): self.assertIsInstance(self.task_executor.session, engine.execution_session.ExecutionSession) self.assertEqual('test_token', self.task_executor.session.token) self.assertEqual('test_tenant', self.task_executor.session.project_id) self.assertIsInstance(self.task_executor._model_policy_enforcer, engine.enforcer.ModelPolicyEnforcer) self.assertEqual( self.task_executor.session, self.task_executor._model_policy_enforcer._execution_session) @mock.patch.object(engine, 'serializer') @mock.patch.object(engine.dsl_executor.MuranoDslExecutor, 'package_loader') def test_execute(self, mock_package_loader, mock_serializer): mock_class = mock.Mock() mock_package = mock.Mock(spec=murano_package.MuranoPackage) mock_package.find_class.return_value = mock_class mock_package_loader.load_package.return_value = mock_package version_spec = helpers.parse_version_spec(self.action['class_version']) self.task_executor.execute() mock_package_loader.load_package.assert_called_once_with( 'TestPackage', version_spec) mock_package.find_class.assert_called_once_with( self.action['class_name'], search_requirements=False) mock_class.invoke.assert_called_once_with('TestAction', None, (), {'name': 'foo'}) self.assertTrue(mock_serializer.serialize.called) @mock.patch.object(engine, 'serializer') @mock.patch.object(engine.dsl_executor.MuranoDslExecutor, 'package_loader') def test_execute_without_package_name(self, mock_package_loader, mock_serializer): mock_class = mock.Mock() mock_package = mock.Mock(spec=murano_package.MuranoPackage) mock_package.find_class.return_value = mock_class mock_package_loader.load_class_package.return_value = mock_package version_spec = helpers.parse_version_spec(self.action['class_version']) self.task_executor.action['pkg_name'] = None self.task_executor.execute() mock_package_loader.load_class_package.assert_called_once_with( 'TestClass', version_spec) mock_package.find_class.assert_called_once_with( self.action['class_name'], search_requirements=False) mock_class.invoke.assert_called_once_with('TestAction', None, (), {'name': 'foo'}) self.assertTrue(mock_serializer.serialize.called) class TestSchemaEndpoint(base.MuranoTestCase): def setUp(self): super(TestSchemaEndpoint, self).setUp() context_manager = mock_context_manager.MockContextManager() self.context = context_manager.create_root_context( constants.RUNTIME_VERSION_1_5) @mock.patch('murano.common.engine.schema_generator') @mock.patch('murano.common.engine.package_loader') def test_generate_schema(self, mock_package_loader, mock_schema_generator): mock_pkg_loader = mock.Mock( spec=package_loader.CombinedPackageLoader) mock_package_loader.CombinedPackageLoader().__enter__.return_value =\ mock_pkg_loader mock_schema_generator.generate_schema.return_value = 'test_schema' arg1, arg2, arg3 = mock.Mock(), mock.Mock(), mock.Mock() test_args = (arg1, arg2, arg3) test_kwargs = {'foo': 'bar', 'class_name': 'test_class_name'} result = engine.SchemaEndpoint.generate_schema( self.context, *test_args, **test_kwargs) self.assertEqual('test_schema', result) mock_schema_generator.generate_schema.assert_called_once_with( mock_pkg_loader, mock.ANY, *test_args, **test_kwargs) class TestTaskProcessingEndpoint(base.MuranoTestCase): def setUp(self): super(TestTaskProcessingEndpoint, self).setUp() self.action = { 'method': 'TestAction', 'args': {'name': 'foo'}, 'class_name': 'TestClass', 'pkg_name': 'TestPackage', 'class_version': '=0', 'object_id': 'test_object_id' } self.task = { 'action': self.action, 'model': { 'SystemData': {'TrustId': 'test_trust_id'}, 'project_id': 'test_tenant', 'user_id': 'test_user' }, 'token': 'test_token', 'project_id': 'test_tenant', 'user_id': 'test_user', 'id': 'test_task_id' } context_manager = mock_context_manager.MockContextManager() self.context = context_manager.create_root_context( constants.RUNTIME_VERSION_1_5) @mock.patch.object(engine.TaskExecutor, '_delete_trust') @mock.patch.object(engine, 'rpc') @mock.patch.object(engine.dsl_executor.MuranoDslExecutor, 'finalize') @mock.patch.object(engine, 'LOG') def test_handle_task(self, mock_log, mock_finalize, mock_rpc, mock_delete_trust): mock_finalize.return_value = self.task['model'] handle_task = engine.TaskProcessingEndpoint.handle_task handle_task(self.context, self.task) mock_delete_trust.assert_called_once_with() mock_rpc.api().process_result.assert_called_once_with( mock.ANY, 'test_task_id') self.assertEqual(2, mock_log.info.call_count) self.assertIn('Starting processing task:', str(mock_log.info.mock_calls[0])) self.assertIn('Finished processing task:', str(mock_log.info.mock_calls[1])) class TestStaticActionEndpoint(base.MuranoTestCase): def setUp(self): super(TestStaticActionEndpoint, self).setUp() self.action = { 'method': 'TestAction', 'args': {'name': 'foo'}, 'class_name': 'TestClass', 'pkg_name': 'TestPackage', 'class_version': '=0', 'object_id': 'test_object_id' } self.task = { 'action': self.action, 'model': {'SystemData': {'TrustId': 'test_trust_id'}}, 'token': 'test_token', 'project_id': 'test_tenant', 'user_id': 'test_user', 'id': 'test_task_id' } context_manager = mock_context_manager.MockContextManager() self.context = context_manager.create_root_context( constants.RUNTIME_VERSION_1_5) @mock.patch('murano.dsl.serializer.serialize') @mock.patch('murano.common.engine.package_loader') @mock.patch.object(engine, 'LOG') def test_call_static_action(self, mock_log, mock_package_loader, mock_serialize): mock_pkg_loader = mock.Mock( spec=package_loader.CombinedPackageLoader) mock_package_loader.CombinedPackageLoader().__enter__.return_value =\ mock_pkg_loader expected = { 'Objects': ['foo'], 'ObjectsCopy': ['bar'], 'Attributes': ['baz'] } mock_serialize.return_value = expected call_static_action = engine.StaticActionEndpoint.call_static_action result = call_static_action(self.context, self.task) self.assertEqual(expected, result) self.assertEqual(2, mock_log.info.call_count) self.assertIn('Starting execution of static action:', str(mock_log.info.mock_calls[0])) self.assertIn('Finished execution of static action:', str(mock_log.info.mock_calls[1])) murano-9.0.0/murano/tests/unit/common/helpers/0000775000175000017500000000000013656750351021432 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/common/helpers/__init__.py0000664000175000017500000000000013656750211023524 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/common/helpers/test_token_sanitizer.py0000664000175000017500000000362713656750211026256 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.common.helpers import token_sanitizer from murano.tests.unit import base class TokenSanitizerTests(base.MuranoTestCase): sanitizer = token_sanitizer.TokenSanitizer() def test_dict_with_one_value(self): source = {'token': 'value'} value = self.sanitizer.sanitize(source) self.assertEqual(self.sanitizer.message, value['token']) def test_dict_with_few_value(self): source = {'token': 'value', 'pass': 'value', 'TrustId': 'value'} value = self.sanitizer.sanitize(source) self.assertEqual(self.sanitizer.message, value['token']) self.assertEqual(self.sanitizer.message, value['pass']) self.assertEqual(self.sanitizer.message, value['TrustId']) def test_dict_with_nested_dict(self): source = {'obj': {'pass': 'value'}} value = self.sanitizer.sanitize(source) self.assertEqual(self.sanitizer.message, value['obj']['pass']) def test_dict_with_nested_list(self): source = {'obj': [{'pass': 'value'}]} value = self.sanitizer.sanitize(source) self.assertEqual(self.sanitizer.message, value['obj'][0]['pass']) def test_leave_out_other_values(self): source = {'obj': ['value']} value = self.sanitizer.sanitize(source) self.assertEqual('value', value['obj'][0]) murano-9.0.0/murano/tests/unit/common/test_plugin_loader.py0000664000175000017500000000743213656750211024226 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from oslo_config import cfg from murano.common.plugins import extensions_loader from murano.tests.unit import base CONF = cfg.CONF class PluginLoaderTest(base.MuranoTestCase): @mock.patch('stevedore.extension.Extension') def test_load_extension(self, ext): """Test PluginLoader.load_extension. Check that stevedore plugin loading creates instance of PackageDefinition class, new class are added to that package and name mapping between class and plugin are updated. """ ext.entry_point.dist.project_name = 'plugin1' ext.entry_point.name = 'Test' name_map = {} test_obj = extensions_loader.PluginLoader('test.namespace') test_obj.load_extension(ext, name_map) self.assertEqual(1, len(test_obj.packages)) loaded_pkg = list(test_obj.packages.values())[0] self.assertIsInstance(loaded_pkg, extensions_loader.PackageDefinition) self.assertEqual('Test', list(loaded_pkg.classes.keys())[0]) result = {'Test': list(test_obj.packages.keys())} self.assertEqual(result, name_map) def test_cleanup_duplicates(self): """Test PluginLoader.cleanup_duplicates. Check loading two plugins with same 'Test1' classes inside initiates removing of all duplicated classes. """ name_map = {} ext1 = mock.MagicMock(name='ext1') ext1.entry_point.name = 'Test1' ext2 = mock.MagicMock(name='ext2') ext2.entry_point.name = 'Test1' test_obj = extensions_loader.PluginLoader() test_obj.load_extension(ext1, name_map) test_obj.load_extension(ext2, name_map) dist1 = ext1.entry_point.dist dist2 = ext2.entry_point.dist self.assertEqual(1, len(test_obj.packages[str(dist1)].classes)) self.assertEqual(1, len(test_obj.packages[str(dist2)].classes)) test_obj.cleanup_duplicates(name_map) self.assertEqual(0, len(test_obj.packages[str(dist1)].classes)) self.assertEqual(0, len(test_obj.packages[str(dist2)].classes)) def test_load_plugin_with_inappropriate_class_name(self): """Negative test load_extension. Check plugin that contains incorrect MuranoPL class name won't be loaded. """ name_map = {} ext = mock.MagicMock(name='ext') ext.entry_point.name = 'murano-pl-class' test_obj = extensions_loader.PluginLoader() test_obj.load_extension(ext, name_map) # No packages are loaded self.assertEqual(0, len(test_obj.packages)) @mock.patch('stevedore.extension.Extension') def test_is_plugin_enabled(self, ext): """Test is_plugin_enabled. Check that only plugins specified in config file can be loaded. """ self.override_config('enabled_plugins', 'plugin1, plugin2', group='murano') ext.entry_point.dist.project_name = 'test' test_method = extensions_loader.PluginLoader.is_plugin_enabled self.assertFalse(test_method(ext)) ext.entry_point.dist.project_name = 'plugin1' self.assertTrue(test_method(ext)) murano-9.0.0/murano/tests/unit/common/test_utils.py0000664000175000017500000001064613656750211022543 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import datetime import json from murano.common import utils from murano.tests.unit import base class UtilsTests(base.MuranoTestCase): def test_validate_quotes(self): self.assertTrue(utils.validate_quotes('"ab"')) def test_validate_quotes_not_closed_quotes(self): self.assertRaises(ValueError, utils.validate_quotes, '"ab","b""') def test_validate_quotes_not_opened_quotes(self): self.assertRaises(ValueError, utils.validate_quotes, '""ab","b"') def test_validate_quotes_no_coma_before_opening_quotes(self): self.assertRaises(ValueError, utils.validate_quotes, '"ab""b"') def test_split_for_quotes(self): self.assertEqual(["a,b", "ac"], utils.split_for_quotes('"a,b","ac"')) def test_split_for_quotes_with_backslash(self): self.assertEqual(['a"bc', 'de', 'fg,h', r'klm\\', '"nop'], utils.split_for_quotes(r'"a\"bc","de",' r'"fg,h","klm\\","\"nop"')) def test_validate_body(self): json_schema = json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) self.assertIsNotNone(utils.validate_body(json_schema)) json_schema = json.dumps(['body', {'body': ('baz', None, 1.0, 2)}]) self.assertIsNotNone(utils.validate_body(json_schema)) def test_build_entity_map(self): entity = {"?": {"fun": "id"}} self.assertEqual({}, utils.build_entity_map(entity)) entity = {"?": {"id": "id"}} self.assertEqual({'id': {'?': {'id': 'id'}}}, utils.build_entity_map(entity)) entity = [{"?": {"id": "id1"}}, {"?": {"id": "id2"}}] self.assertEqual({'id1': {'?': {'id': 'id1'}}, 'id2': {'?': {'id': 'id2'}}}, utils.build_entity_map(entity)) def test_is_different(self): t1 = "Hello" t2 = "World" self.assertTrue(utils.is_different(t1, t2)) t1 = "Hello" t2 = "Hello" self.assertFalse(utils.is_different(t1, t2)) t1 = {1, 2, 3, 4} t2 = t1 self.assertFalse(utils.is_different(t1, t2)) t2 = {1, 2, 3} self.assertTrue(utils.is_different(t1, t2)) t1 = [1, 2, {1, 2, 3, 4}] t1[0] = t1 self.assertTrue(utils.is_different(t1, t2)) t1 = [t2] t2 = [t1] self.assertTrue(utils.is_different(t1, t2)) t1 = [{1, 2, 3}, {1, 2, 3}] t2 = [{1, 2, 3}, {1, 2}] self.assertTrue(utils.is_different(t1, t2)) t1 = datetime.date(2016, 8, 8) t2 = datetime.date(2016, 8, 7) self.assertTrue(utils.is_different(t1, t2)) t1 = {1: 1, 2: 2, 3: 3} t2 = {1: 1, 2: 4, 3: 3} self.assertTrue(utils.is_different(t1, t2)) t1 = {1: 1, 2: 2, 3: 3, 4: {"a": "hello", "b": [1, 2, 3]}} t2 = {1: 1, 2: 2, 3: 3, 4: {"a": "hello", "b": "world\n\n\nEnd"}} self.assertTrue(utils.is_different(t1, t2)) t1 = {1: 1, 2: 2, 3: 3, 4: {"a": "hello", "b": [1, 2, 5]}} t2 = {1: 1, 2: 2, 3: 3, 4: {"a": "hello", "b": [1, 3, 2, 5]}} self.assertTrue(utils.is_different(t1, t2)) class ClassA(object): __slots__ = ['x', 'y'] def __init__(self, x, y): self.x = x self.y = y t1 = ClassA(1, 1) t2 = ClassA(1, 2) self.assertTrue(utils.is_different(t1, t2)) t1 = [1, 2, 3] t1.append(t1) t2 = [1, 2, 4] t2.append(t2) self.assertTrue(utils.is_different(t1, t2)) t1 = [1, 2, 3] t2 = [1, 2, 4] t2.append(t1) t1.append(t2) self.assertTrue(utils.is_different(t1, t2)) t1 = utils t2 = datetime self.assertTrue(utils.is_different(t1, t2)) t2 = "Not a module" self.assertTrue(utils.is_different(t1, t2)) murano-9.0.0/murano/tests/unit/common/test_server.py0000664000175000017500000003206113656750211022704 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from datetime import datetime from unittest import mock from murano.common import server from murano.services import states from murano.tests.unit import base from murano.tests.unit import utils as test_utils class ServerTest(base.MuranoTestCase): @classmethod def setUpClass(cls): super(ServerTest, cls).setUpClass() cls.result_endpoint = server.ResultEndpoint() cls.dummy_context = test_utils.dummy_context() @mock.patch('murano.common.server.status_reporter.get_notifier') @mock.patch('murano.common.server.LOG') @mock.patch('murano.common.server.get_last_deployment') @mock.patch('murano.common.server.models') @mock.patch('murano.common.server.session') def test_process_result(self, mock_db_session, mock_models, mock_last_deployment, mock_log, mock_notifier): test_result = { 'model': { 'Objects': { 'applications': ['app1', 'app2'], 'services': ['service1', 'service2'] } }, 'action': { 'isException': False } } mock_env = mock.MagicMock(id='test_env_id', tenant_id='test_tenant_id', description=None, version=1) mock_db_session.get_session().query().get.return_value = mock_env mock_db_session.get_session().query().filter_by().count.\ return_value = 0 self.result_endpoint.process_result(self.dummy_context, test_result, 'test_env_id') self.assertEqual(mock_env.description, test_result['model']) self.assertEqual(2, mock_env.version) self.assertEqual(test_result['action'], mock_last_deployment().result) self.assertEqual('Deployment finished', mock_models.Status().text) self.assertEqual('info', mock_models.Status().level) mock_last_deployment().statuses.append.assert_called_once_with( mock_models.Status()) mock_db_session.get_session().query().filter_by.assert_any_call( **{'environment_id': mock_env.id, 'state': states.SessionState.DEPLOYING}) self.assertEqual( states.SessionState.DEPLOYED, mock_db_session.get_session().query().filter_by().first().state) mock_log.info.assert_called_once_with( 'EnvId: {env_id} TenantId: {tenant_id} Status: ' 'Successful Apps: {services}' .format(env_id=mock_env.id, tenant_id=mock_env.tenant_id, services=test_result['model']['Objects']['services'])) mock_notifier.return_value.report.assert_called_once_with( 'environment.deploy.end', mock_db_session.get_session().query().get(mock_env.id).to_dict()) @mock.patch('murano.common.server.LOG') @mock.patch('murano.common.server.get_last_deployment') @mock.patch('murano.common.server.models') @mock.patch('murano.common.server.session') def test_process_result_with_errors(self, mock_db_session, mock_models, mock_last_deployment, mock_log): test_result = { 'model': { 'Objects': { 'applications': ['app1', 'app2'], 'services': ['service1', 'service2'] } }, 'action': { 'isException': True } } mock_env = mock.MagicMock(id='test_env_id', tenant_id='test_tenant_id', description=None, version=1) mock_db_session.get_session().query().get.return_value = mock_env mock_db_session.get_session().query().filter_by().count.\ return_value = 1 self.result_endpoint.process_result(self.dummy_context, test_result, 'test_env_id') self.assertEqual(mock_env.description, test_result['model']) self.assertEqual(test_result['action'], mock_last_deployment().result) self.assertEqual('Deployment finished with errors', mock_models.Status().text) mock_last_deployment().statuses.append.assert_called_once_with( mock_models.Status()) mock_db_session.get_session().query().filter_by.assert_any_call( **{'environment_id': mock_env.id, 'state': states.SessionState.DEPLOYING}) self.assertEqual( states.SessionState.DEPLOY_FAILURE, mock_db_session.get_session().query().filter_by().first().state) mock_log.warning.assert_called_once_with( 'EnvId: {env_id} TenantId: {tenant_id} Status: ' 'Failed Apps: {services}' .format(env_id=mock_env.id, tenant_id=mock_env.tenant_id, services=test_result['model']['Objects']['services'])) @mock.patch('murano.common.server.LOG') @mock.patch('murano.common.server.get_last_deployment') @mock.patch('murano.common.server.models') @mock.patch('murano.common.server.session') def test_process_result_with_warnings(self, mock_db_session, mock_models, mock_last_deployment, mock_log): test_result = { 'model': { 'Objects': None, 'ObjectsCopy': ['object1', 'object2'] }, 'action': { 'isException': True } } mock_env = mock.MagicMock(id='test_env_id', tenant_id='test_tenant_id', description=None, version=1) mock_db_session.get_session().query().get.return_value = mock_env # num_errors will be initialized to 0, num_warnings to 1 mock_db_session.get_session().query().filter_by().count.\ side_effect = [0, 1] self.result_endpoint.process_result(self.dummy_context, test_result, 'test_env_id') self.assertEqual(mock_env.description, test_result['model']) self.assertEqual(test_result['action'], mock_last_deployment().result) self.assertEqual('Deletion finished with warnings', mock_models.Status().text) mock_last_deployment().statuses.append.assert_called_once_with( mock_models.Status()) mock_db_session.get_session().query().filter_by.assert_any_call( **{'environment_id': mock_env.id, 'state': states.SessionState.DELETING}) self.assertEqual( states.SessionState.DELETE_FAILURE, mock_db_session.get_session().query().filter_by().first().state) mock_log.warning.assert_called_once_with( 'EnvId: {env_id} TenantId: {tenant_id} Status: ' 'Failed Apps: {services}' .format(env_id=mock_env.id, tenant_id=mock_env.tenant_id, services=[])) @mock.patch('murano.common.server.LOG') @mock.patch('murano.common.server.session') def test_process_result_with_no_environment(self, mock_db_session, mock_log): test_result = {'model': None} mock_db_session.get_session().query().get.return_value = None result = self.result_endpoint.process_result(self.dummy_context, test_result, 'test_env_id') self.assertIsNone(result) mock_log.warning.assert_called_once_with( 'Environment result could not be handled, ' 'specified environment not found in database') @mock.patch('murano.common.server.environments') @mock.patch('murano.common.server.session') def test_process_result_with_no_objects(self, mock_db_session, mock_environments): test_result = {'model': {'Objects': None, 'ObjectsCopy': None}} result = self.result_endpoint.process_result(self.dummy_context, test_result, 'test_env_id') self.assertIsNone(result) mock_environments.EnvironmentServices.remove.assert_called_once_with( 'test_env_id') @mock.patch('murano.common.server.instances') def test_track_instance(self, mock_instances): test_payload = { 'instance': 'test_instance', 'instance_type': 'test_instance_type', 'environment': 'test_environment', 'unit_count': 'test_unit_count', 'type_name': 'test_type_name', 'type_title': 'test_type_title' } server.track_instance(test_payload) mock_instances.InstanceStatsServices.track_instance.\ assert_called_once_with(test_payload['instance'], test_payload['environment'], test_payload['instance_type'], test_payload['type_name'], test_payload['type_title'], test_payload['unit_count']) @mock.patch('murano.common.server.instances') def test_untrack_instance(self, mock_instances): test_payload = { 'instance': 'test_instance', 'environment': 'test_environment' } server.untrack_instance(test_payload) mock_instances.InstanceStatsServices.destroy_instance.\ assert_called_once_with(test_payload['instance'], test_payload['environment']) @mock.patch('murano.common.server.get_last_deployment') @mock.patch('murano.common.server.session') @mock.patch('murano.common.server.models') def test_report_notification(self, mock_models, mock_db_session, mock_last_deployment): mock_last_deployment.return_value = mock.MagicMock( id='test_deployment_id') test_report = { 'id': 'test_report_id', 'timestamp': datetime.now().isoformat(), 'created': None } server.report_notification(test_report) self.assertIsNotNone(test_report['created']) mock_models.Status().update.assert_called_once_with(test_report) self.assertEqual('test_deployment_id', mock_models.Status().task_id) mock_db_session.get_session().add.assert_called_once_with( mock_models.Status()) def test_get_last_deployment(self): mock_unit = mock.MagicMock() result = server.get_last_deployment(mock_unit, 'test_env_id') self.assertEqual(mock_unit.query().filter_by().order_by().first(), result) mock_unit.query().filter_by.assert_any_call( environment_id='test_env_id') def test_service_class(self): service = server.Service() self.assertIsNone(service.server) # Test stop server. service.server = mock.MagicMock() service.stop(graceful=True) service.server.stop.assert_called_once_with() service.server.wait.assert_called_once_with() # Test reset server. service.reset() service.server.reset.assert_called_once_with() @mock.patch('murano.common.server.messaging') def test_notification_service_class(self, mock_messaging): mock_server = mock.MagicMock() mock_messaging.get_notification_listener.return_value = mock_server notification_service = server.NotificationService() self.assertIsNone(notification_service.server) notification_service.start() self.assertEqual(1, mock_messaging.get_notification_listener.call_count) mock_server.start.assert_called_once_with() @mock.patch('murano.common.server.messaging') def test_api_service_class(self, mock_messaging): mock_server = mock.MagicMock() mock_messaging.get_rpc_server.return_value = mock_server api_service = server.ApiService() api_service.start() self.assertEqual(1, mock_messaging.get_rpc_server.call_count) mock_server.start.assert_called_once_with() murano-9.0.0/murano/tests/unit/common/test_app_loader.py0000664000175000017500000000563113656750211023507 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os from unittest import mock from oslo_config import cfg from paste import deploy from murano.common import app_loader from murano.common import config # noqa from murano.tests.unit import base CONF = cfg.CONF class AppLoaderTest(base.MuranoTestCase): def setUp(self): super(AppLoaderTest, self).setUp() self.override_config('flavor', 'myflavor', 'paste_deploy') self.override_config('config_file', 'path/to/myapp-paste.ini', 'paste_deploy') CONF.config_file = ['myapp.conf'] CONF.prog = 'myapp' CONF.find_file = mock.MagicMock(return_value='path/to/myapp-paste.ini') @mock.patch.object(deploy, 'loadapp', return_value=mock.sentinel.myapp) def _test_load_paste_app(self, mock_loadapp, appname='myapp', fullname='myapp-myflavor', path='path/to/myapp-paste.ini'): expected_config_path = 'config:%s/%s' % (os.path.abspath('.'), path,) app = app_loader.load_paste_app(appname) mock_loadapp.assert_called_with(expected_config_path, name=fullname) self.assertEqual(mock.sentinel.myapp, app) def test_load_paste_app(self): self._test_load_paste_app() def test_load_paste_app_no_name(self): self._test_load_paste_app(appname=None) def test_load_paste_app_no_flavor(self): self.override_config('flavor', None, 'paste_deploy') self._test_load_paste_app(fullname='myapp') def test_load_paste_app_no_pastedep_cfg_opt(self): self.override_config('config_file', None, 'paste_deploy') self._test_load_paste_app() def test_load_paste_app_no_pastedep_cfg_opt_and_cfg_opt(self): self.override_config('config_file', None, 'paste_deploy') CONF.config_file = [] self._test_load_paste_app() CONF.find_file.assert_called_with('myapp-paste.ini') def test_load_paste_app_no_cfg_at_all(self): self.override_config('config_file', None, 'paste_deploy') CONF.find_file.return_value = None self.assertRaises(RuntimeError, app_loader.load_paste_app, 'myapp') def test_load_paste_app_deploy_error(self): deploy.loadapp = mock.MagicMock() deploy.loadapp.side_effect = LookupError('Oops') self.assertRaises(RuntimeError, app_loader.load_paste_app, 'myapp') murano-9.0.0/murano/tests/unit/common/test_auth_utils.py0000664000175000017500000003501213656750211023556 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T Corp # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from unittest import mock from keystoneauth1 import loading as ka_loading from murano.common import auth_utils from murano.tests.unit import base from oslo_config import cfg class TestAuthUtils(base.MuranoTestCase): def setUp(self): super(TestAuthUtils, self).setUp() # Register the Password auth plugin options, # so we can use CONF.set_override password_option = ka_loading.get_auth_plugin_conf_options('password') cfg.CONF.register_opts(password_option, group=auth_utils.CFG_MURANO_AUTH_GROUP) self.addCleanup( cfg.CONF.unregister_opts, password_option, group=auth_utils.CFG_MURANO_AUTH_GROUP) self.addCleanup(mock.patch.stopall) def _init_mock_cfg(self): mock_auth_obj = mock.patch.object(auth_utils, 'ka_loading', spec_set=ka_loading).start() mock_auth_obj.load_auth_from_conf_options.return_value = \ mock.sentinel.auth mock_auth_obj.load_session_from_conf_options.\ return_value = mock.sentinel.session cfg.CONF.set_override('auth_type', 'password', auth_utils.CFG_MURANO_AUTH_GROUP) cfg.CONF.set_override('www_authenticate_uri', 'foo_www_authenticate_uri', auth_utils.CFG_MURANO_AUTH_GROUP) cfg.CONF.set_override('auth_url', 'foo_auth_url', auth_utils.CFG_MURANO_AUTH_GROUP) cfg.CONF.set_override('username', 'fakeuser', auth_utils.CFG_MURANO_AUTH_GROUP) cfg.CONF.set_override('password', 'fakepass', auth_utils.CFG_MURANO_AUTH_GROUP) cfg.CONF.set_override('user_domain_name', 'Default', auth_utils.CFG_MURANO_AUTH_GROUP) cfg.CONF.set_override('project_domain_name', 'Default', auth_utils.CFG_MURANO_AUTH_GROUP) cfg.CONF.set_override('project_name', 'fakeproj', auth_utils.CFG_MURANO_AUTH_GROUP) return mock_auth_obj def test_get_keystone_auth(self): mock_identity = self._init_mock_cfg() expected_auth = mock.sentinel.auth actual_auth = auth_utils._get_keystone_auth() self.assertEqual(expected_auth, actual_auth) mock_identity.load_auth_from_conf_options.assert_called_once_with( cfg.CONF, auth_utils.CFG_MURANO_AUTH_GROUP) def test_get_keystone_with_trust_id(self): mock_ka_loading = self._init_mock_cfg() expected_kwargs = { 'project_name': None, 'project_domain_name': None, 'project_id': None, 'trust_id': mock.sentinel.trust_id } expected_auth = mock.sentinel.auth actual_auth = auth_utils._get_keystone_auth(mock.sentinel.trust_id) self.assertEqual(expected_auth, actual_auth) mock_ka_loading.load_auth_from_conf_options.assert_called_once_with( cfg.CONF, auth_utils.CFG_MURANO_AUTH_GROUP, **expected_kwargs) @mock.patch.object(auth_utils, 'ks_client', autospec=True) @mock.patch.object(auth_utils, '_get_session', autospec=True) def test_create_keystone_admin_client(self, mock_get_sess, mock_ks_client): self._init_mock_cfg() mock_get_sess.return_value = mock.sentinel.session mock_ks_client.Client.return_value = mock.sentinel.ks_admin_client result = auth_utils._create_keystone_admin_client() self.assertEqual(result, mock.sentinel.ks_admin_client) self.assertTrue(mock_get_sess.called) mock_ks_client.Client.assert_called_once_with( session=mock.sentinel.session) @mock.patch.object(auth_utils, '_get_session', autospec=True) @mock.patch.object(auth_utils, '_get_keystone_auth', autospec=True) @mock.patch.object( auth_utils.helpers, 'get_execution_session', autospec=True) def test_get_client_session(self, mock_get_execution_session, mock_get_keystone_auth, mock_get_session): mock_exec_session = mock.Mock(trust_id=mock.sentinel.trust_id) mock_get_execution_session.return_value = mock_exec_session mock_get_keystone_auth.return_value = mock.sentinel.auth mock_get_session.return_value = mock.sentinel.session session = auth_utils.get_client_session(conf=mock.sentinel.conf) self.assertEqual(mock.sentinel.session, session) mock_get_execution_session.assert_called_once_with() mock_get_keystone_auth.assert_called_once_with(mock.sentinel.trust_id) mock_get_session.assert_called_once_with( auth=mock.sentinel.auth, conf_section=mock.sentinel.conf) @mock.patch.object(auth_utils, 'get_token_client_session', autospec=True) @mock.patch.object( auth_utils.helpers, 'get_execution_session', autospec=True) def test_get_client_session_without_trust_id( self, mock_get_execution_session, mock_get_token_client_session): mock_get_token_client_session.return_value = mock.sentinel.session mock_exec_session = mock.Mock(trust_id=None, token=mock.sentinel.token, project_id=mock.sentinel.project_id) session = auth_utils.get_client_session( execution_session=mock_exec_session, conf=mock.sentinel.conf) self.assertEqual(mock.sentinel.session, session) self.assertFalse(mock_get_execution_session.called) mock_get_token_client_session.assert_called_once_with( token=mock.sentinel.token, project_id=mock.sentinel.project_id) @mock.patch.object(auth_utils, '_get_session', autospec=True) @mock.patch.object(auth_utils, 'identity', autospec=True) @mock.patch.object( auth_utils.helpers, 'get_execution_session', autospec=True) def test_get_token_client_session( self, mock_get_execution_session, mock_identity, mock_get_session): cfg.CONF.set_override('www_authenticate_uri', 'foo_www_authenticate_uri/v2.0', auth_utils.CFG_MURANO_AUTH_GROUP) mock_get_execution_session.return_value = \ mock.Mock(token=mock.sentinel.token, project_id=mock.sentinel.project_id) mock_identity.Token.return_value = mock.sentinel.auth mock_get_session.return_value = mock.sentinel.session session = auth_utils.get_token_client_session() self.assertEqual(mock.sentinel.session, session) mock_get_execution_session.assert_called_once_with() mock_identity.Token.assert_called_once_with( 'foo_www_authenticate_uri/v3', token=mock.sentinel.token, project_id=mock.sentinel.project_id) mock_get_session.assert_called_once_with( auth=mock.sentinel.auth, conf_section=None) @mock.patch.object(auth_utils, 'get_token_client_session', autospec=True) @mock.patch.object(auth_utils, 'ks_client', autospec=True) def test_create_keystone_client(self, mock_ks_client, mock_get_token_client_session): mock_ks_client.Client.return_value = mock.sentinel.ks_client mock_session = mock.Mock( token=mock.sentinel.token, project_id=mock.sentinel.project_id, conf=mock.sentinel.conf) mock_get_token_client_session.return_value = mock_session ks_client = auth_utils.create_keystone_client( mock.sentinel.token, mock.sentinel.project_id, mock.sentinel.conf) self.assertEqual(mock.sentinel.ks_client, ks_client) mock_ks_client.Client.assert_called_once_with(session=mock_session) @mock.patch.object(auth_utils, 'create_keystone_client', autospec=True) @mock.patch.object( auth_utils, '_create_keystone_admin_client', autospec=True) def test_create_trust(self, mock_create_ks_admin_client, mock_create_ks_client): mock_auth_ref = mock.Mock(user_id=mock.sentinel.trustor_user, project_id=mock.sentinel.project_id, role_names=mock.sentinel.role_names) mock_admin_session = mock.Mock(**{ 'auth.get_user_id.return_value': mock.sentinel.trustee_user }) mock_user_session = mock.Mock(**{ 'auth.get_access.return_value': mock_auth_ref }) mock_trust = mock.Mock(id=mock.sentinel.trust_id) mock_admin_client = mock.Mock(session=mock_admin_session) mock_user_client = mock.Mock( session=mock_user_session, **{'trusts.create.return_value': mock_trust}) mock_create_ks_admin_client.return_value = mock_admin_client mock_create_ks_client.return_value = mock_user_client trust_id = auth_utils.create_trust( trustee_token=mock.sentinel.trustee_token, trustee_project_id=mock.sentinel.trustee_project_id) self.assertEqual(mock.sentinel.trust_id, trust_id) mock_create_ks_admin_client.assert_called_once_with() mock_create_ks_client.assert_called_once_with( token=mock.sentinel.trustee_token, project_id=mock.sentinel.trustee_project_id) mock_admin_client.session.auth.get_user_id.assert_called_once_with( mock_admin_session) mock_user_client.session.auth.get_access.assert_called_once_with( mock_user_session) mock_user_client.trusts.create.assert_called_once_with( trustor_user=mock.sentinel.trustor_user, trustee_user=mock.sentinel.trustee_user, impersonation=True, role_names=mock.sentinel.role_names, project=mock.sentinel.project_id) @mock.patch.object(auth_utils, 'create_keystone_client', autospec=True) def test_delete_trust(self, mock_ks_client): mock_auth_ref = mock.Mock(trust_id=mock.sentinel.trust_id, token=mock.sentinel.token, project_id=mock.sentinel.project_id) mock_user_session = mock.Mock(**{ 'auth.get_access.return_value': mock_auth_ref }) mock_user_client = mock.Mock( session=mock_user_session) mock_ks_client.return_value = mock_user_client auth_utils.delete_trust(mock_auth_ref) mock_user_client.trusts.delete.assert_called_once_with( mock_auth_ref.trust_id) def test_get_config_option(self): cfg.CONF.set_override('url', 'foourl', 'murano') self.assertEqual('foourl', auth_utils._get_config_option( 'murano', 'url')) def test_get_config_option_return_default(self): self.assertIsNone(auth_utils._get_config_option(None, 'url')) def test_get_session(self): mock_ka_loading = self._init_mock_cfg() session = auth_utils._get_session(mock.sentinel.auth) self.assertEqual(mock.sentinel.session, session) mock_ka_loading.load_session_from_conf_options.\ assert_called_once_with(auth=mock.sentinel.auth, conf=cfg.CONF, group=auth_utils.CFG_MURANO_AUTH_GROUP) def test_get_session_client_parameters(self): cfg.CONF.set_override('url', 'foourl', 'murano') expected_result = { 'session': mock.sentinel.session, 'endpoint_override': 'foourl' } result = auth_utils.get_session_client_parameters( conf='murano', service_type=mock.sentinel.service_type, service_name=mock.sentinel.service_name, session=mock.sentinel.session) for key, val in expected_result.items(): self.assertEqual(val, result[key]) def test_get_session_client_parameters_without_url(self): cfg.CONF.set_override('home_region', 'fooregion') expected_result = { 'session': mock.sentinel.session, 'service_type': mock.sentinel.service_type, 'service_name': mock.sentinel.service_name, 'interface': mock.sentinel.endpoint_type, 'region_name': 'fooregion' } result = auth_utils.get_session_client_parameters( service_type=mock.sentinel.service_type, service_name=mock.sentinel.service_name, interface=mock.sentinel.endpoint_type, session=mock.sentinel.session) for key, val in expected_result.items(): self.assertEqual(val, result[key]) @mock.patch.object( auth_utils, '_create_keystone_admin_client', autospec=True) def test_get_user(self, mock_create_ks_admin_client): mock_client = mock.Mock( **{'users.get.return_value.to_dict.return_value': mock.sentinel.user}) mock_create_ks_admin_client.return_value = mock_client user = auth_utils.get_user(mock.sentinel.uid) self.assertEqual(mock.sentinel.user, user) mock_client.users.get.assert_called_once_with(mock.sentinel.uid) mock_client.users.get.return_value.to_dict.assert_called_once_with() @mock.patch.object( auth_utils, '_create_keystone_admin_client', autospec=True) def test_get_project(self, mock_create_ks_admin_client): mock_client = mock.Mock( **{'projects.get.return_value.to_dict.return_value': mock.sentinel.project}) mock_create_ks_admin_client.return_value = mock_client project = auth_utils.get_project(mock.sentinel.pid) self.assertEqual(mock.sentinel.project, project) mock_client.projects.get.assert_called_once_with(mock.sentinel.pid) mock_client.projects.get.return_value.to_dict.assert_called_once_with() murano-9.0.0/murano/tests/unit/common/test_wsgi.py0000664000175000017500000005645413656750211022363 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T inc. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import errno import eventlet import socket from unittest import mock import webob from oslo_config import cfg from xml.dom import minidom from murano.common import exceptions from murano.common.i18n import _ from murano.common import wsgi from murano.tests.unit import base CONF = cfg.CONF class TestServiceBrokerResponseSerializer(base.MuranoTestCase): def test_service_broker_response_serializer(self): self.sbrs = wsgi.ServiceBrokerResponseSerializer() result = self.sbrs.serialize("test_response", "application/json") self.assertEqual(200, result.status_code) response = webob.Response("test_body") response.data = "test_data" result = self.sbrs.serialize(response, "application/json") self.assertEqual(200, result.status_code) class TestResponseSerializer(base.MuranoTestCase): def test_response_serializer(self): self.response_serializer = wsgi.ResponseSerializer(None) self.assertRaises(exceptions.UnsupportedContentType, self.response_serializer.get_body_serializer, "not_valid") class TestRequestDeserializer(base.MuranoTestCase): def test_request_deserializer_deserialize_body(self): self.request_deserializer = wsgi.RequestDeserializer() request = mock.Mock() request.get_content_type.side_effect = ( exceptions.UnsupportedContentType ) request.body = "body" self.assertRaises(exceptions.UnsupportedContentType, self.request_deserializer.deserialize_body, request, "act") request.get_content_type.side_effect = None request.get_content_type.return_value = None result = self.request_deserializer.deserialize_body(request, "act") self.assertEqual({}, result) request.get_content_type.return_value = "" self.assertRaises(exceptions.UnsupportedContentType, self.request_deserializer.deserialize_body, request, "act") def test_request_deserializer_get_action_args(self): self.request_deserializer = wsgi.RequestDeserializer() request_environment = [] result = self.request_deserializer.get_action_args(request_environment) self.assertEqual({}, result) request_environment = {'wsgiorg.routing_args': ["", {}]} result = self.request_deserializer.get_action_args(request_environment) self.assertEqual({}, result) class TestService(base.MuranoTestCase): def setUp(self): super(TestService, self).setUp() # Greatly speed up the time it takes to run the tests that call # wsgi._get_socket below: retry_until will be set to 31, the 1st # iteration of the while loop will execute because it will evaluate to # 30 < 31, but 2nd one will not because it will evaluate to 31 < 31. self.mock_time = mock.patch.object( wsgi, 'time', **{'time.side_effect': [1, 30, 31]}).start() self.addCleanup(mock.patch.stopall) @mock.patch("murano.common.wsgi.socket") def test_service_get_socket(self, socket): self.service = wsgi.Service(None, 1) new_socket = self.service._get_socket(None, None, None) self.assertIsInstance(new_socket, eventlet.greenio.base.GreenSocket) self.mock_time.time.side_effect = [1, 30, 31] socket.TCP_KEEPIDLE = True new_socket_2 = self.service._get_socket(None, None, None) self.assertIsInstance(new_socket_2, eventlet.greenio.base.GreenSocket) @mock.patch("murano.common.wsgi.socket") @mock.patch("murano.common.wsgi.sslutils") def test_service_get_socket_sslutils_enabled(self, sslutils, mock_socket): self.service = wsgi.Service(None, 1) new_socket = self.service._get_socket(None, None, None) self.assertIsNotNone(new_socket) @mock.patch("murano.common.wsgi.socket") @mock.patch("murano.common.wsgi.eventlet") def test_service_get_socket_no_bind(self, eventlet, mock_socket): self.service = wsgi.Service(None, 1) eventlet.listen.return_value = None self.assertRaises(RuntimeError, self.service._get_socket, None, None, None) @mock.patch("murano.common.wsgi.socket") @mock.patch("murano.common.wsgi.eventlet") def test_service_get_socket_os_error(self, eventlet, mock_socket): mock_socket.error = socket.error self.service = wsgi.Service(None, 1) sock_err = socket.error(1) eventlet.listen.side_effect = sock_err self.assertRaises(socket.error, self.service._get_socket, None, None, None) @mock.patch("murano.common.wsgi.socket") @mock.patch("murano.common.wsgi.eventlet") def test_service_get_socket_socket_error_EADDRINUSE(self, eventlet, mock_socket): mock_socket.error = socket.error self.service = wsgi.Service(None, 1) sock_err = socket.error(errno.EADDRINUSE) eventlet.listen.side_effect = sock_err self.assertRaises(RuntimeError, self.service._get_socket, None, None, None) @mock.patch("murano.common.wsgi.eventlet") def test_service_start(self, eventlet): self.service = wsgi.Service(None, 1) self.service.start() self.assertTrue(eventlet.spawn.called) def test_service_stop(self): self.service = wsgi.Service(None, 1) self.service.greenthread = mock.Mock() self.service.stop() self.assertTrue(self.service.greenthread.kill.called) def test_service_properties(self): self.service = wsgi.Service(None, 1) self.service._socket = mock.Mock() self.service._socket.getsockname.return_value = ["host", "port"] host = self.service.host port = self.service.port self.assertEqual("host", host) self.assertEqual("port", port) @mock.patch("murano.common.wsgi.logging") def test_service_reset(self, logging): self.service = wsgi.Service(None, 1) self.service.reset() self.assertTrue(logging.setup.called) @mock.patch("murano.common.wsgi.eventlet") def test_service_run(self, eventlet): self.service = wsgi.Service(None, 1) self.service._run(None, None) self.assertTrue(eventlet.wsgi.server.called) def test_backlog_prop(self): service = wsgi.Service(None, None) service._backlog = mock.sentinel.backlog self.assertEqual(mock.sentinel.backlog, service.backlog) class TestMiddleware(base.MuranoTestCase): def test_middleware_call(self): self.middleware = wsgi.Middleware(None) mock_request = mock.Mock() mock_request.get_response.return_value = "a response" self.assertEqual("a response", self.middleware(mock_request)) def test_call_with_response(self): middleware = wsgi.Middleware(None) middleware.process_request = mock.Mock(return_value=mock.sentinel.resp) resp = middleware(mock.sentinel.req) self.assertEqual(mock.sentinel.resp, resp) middleware.process_request.assert_called_once_with(mock.sentinel.req) class TestDebug(base.MuranoTestCase): def test_debug_call(self): self.debug = wsgi.Debug(None) mock_request = mock.Mock() mock_request.environ = {"one": 1, "two": 2} mock_response = mock.Mock() mock_response.headers = {"one": 1, "two": 2} mock_request.get_response.return_value = mock_response self.assertEqual(mock_response, self.debug(mock_request)) @mock.patch('sys.stdout') def test_print_generator(self, mock_stdout): for x in wsgi.Debug.print_generator(['foo', 'bar', 'baz']): pass mock_stdout.write.assert_has_calls([ mock.call('**************************************** BODY'), mock.call('\n'), mock.call('foo'), mock.call('bar'), mock.call('baz'), mock.call(''), mock.call('\n') ]) class TestRequest(base.MuranoTestCase): @mock.patch.object(wsgi.webob.BaseRequest, 'path', **{'rsplit.return_value': ['foo.bar', 'baz']}) def test_best_match_content_type_with_multi_part_path(self, mock_path): request = wsgi.Request({}) supported_content_types = ['application/baz'] result = request.best_match_content_type(None, supported_content_types) self.assertEqual('application/baz', result) class TestResource(base.MuranoTestCase): def test_resource_call_exceptions(self): self.resource = wsgi.Resource(None) self.resource.deserialize_request = mock.Mock() self.resource.deserialize_request.side_effect = ( exceptions.UnsupportedContentType ) mock_request = mock.Mock() mock_request.headers = {} result = self.resource(mock_request) self.assertEqual(415, result.status_code) self.resource.deserialize_request.side_effect = ( exceptions.MalformedRequestBody ) result = self.resource(mock_request) self.assertEqual(400, result.status_code) self.resource.deserialize_request.side_effect = None self.resource.deserialize_request.return_value = ["", {"k": "v"}, ""] self.resource.execute_action = mock.Mock() self.resource.serialize_response = mock.Mock() self.resource.serialize_response.side_effect = Exception result = self.resource(mock_request) self.assertIsNotNone(result) def test_get_action_args(self): self.resource = wsgi.Resource(None) result = self.resource.get_action_args(None) self.assertEqual({}, result) request_environment = {'wsgiorg.routing_args': ["arg_0", {"k": "v"}]} result = self.resource.get_action_args(request_environment) self.assertEqual({"k": "v"}, result) def test_dispatch_except_attribute_error(self): mock_obj = mock.Mock(spec=wsgi.Resource) setattr(mock_obj, 'default', mock.Mock(return_value=mock.sentinel.ret_value)) resource = wsgi.Resource(None) result = resource.dispatch(mock_obj, 'invalid_action') self.assertEqual(mock.sentinel.ret_value, result) mock_obj.default.assert_called_once_with() class TestActionDispatcher(base.MuranoTestCase): def test_default(self): action_dispatcher = wsgi.ActionDispatcher() self.assertRaises(NotImplementedError, action_dispatcher.default, None) class TestDictSerializer(base.MuranoTestCase): def test_default(self): dict_serializer = wsgi.DictSerializer() self.assertEqual("", dict_serializer.default(None)) class TestXMLDictSerializer(base.MuranoTestCase): def test_router_dispatch_not_found(self): self.router = wsgi.Router(None) req = mock.Mock() req.environ = {'wsgiorg.routing_args': [False, False]} response = self.router._dispatch(req) self.assertIsInstance(response, webob.exc.HTTPNotFound) def test_XML_Dict_Serializer_default_string(self): self.serializer = wsgi.XMLDictSerializer() actual_xml = self.serializer.default({"XML Root": "some data"}) expected_xml = b'some data\n' self.assertEqual(expected_xml, actual_xml) def test_XML_Dict_Serializer_node_dict(self): self.serializer = wsgi.XMLDictSerializer() doc = minidom.Document() metadata = mock.Mock() metadata.get.return_value = {"node": {"item_name": "name", "item_key": "key"}} nodename = "node" data = {"data_key": "data_value"} result = self.serializer._to_xml_node(doc, metadata, nodename, data) self.assertEqual('data_value', result.childNodes[0].toxml()) mock_get_nodename = mock.Mock() mock_get_nodename.get.return_vale = "k" metadata.get.return_value = {"k": "v"} nodename = "node" data = {"data_key": "data_value"} result = self.serializer._to_xml_node(doc, metadata, nodename, data) self.assertEqual("node", result.nodeName) metadata.get.return_value = {} nodename = "node" data = {"data_key": "data_value"} result = self.serializer._to_xml_node(doc, metadata, nodename, data) self.assertEqual('data_value', result.childNodes[0].toxml()) def test_XML_Dict_Serializer_node_list(self): self.serializer = wsgi.XMLDictSerializer() doc = minidom.Document() metadata = mock.Mock() metadata.get.return_value = {"node": {"item_name": "name", "item_key": "key"}} nodename = "node" data = ["data_1", "data_2", "data_3"] result = self.serializer._to_xml_node(doc, metadata, nodename, data) self.assertEqual('', result.childNodes[0].toxml()) nodename = "not_node" data = ["data_1", "data_2", "data_3"] result = self.serializer._to_xml_node(doc, metadata, nodename, data) self.assertEqual(3, len(result.childNodes)) nodename = "nodes" data = ["data_1", "data_2", "data_3"] result = self.serializer._to_xml_node(doc, metadata, nodename, data) self.assertEqual(3, len(result.childNodes)) def test_XML_Dict_Serializer_create_link_nodes(self): self.serializer = wsgi.XMLDictSerializer() xml_doc = minidom.Document() links = [{"rel": "rel", "href": "href", "type": "type"}] link_nodes = self.serializer._create_link_nodes(xml_doc, links) self.assertEqual('', link_nodes[0].toxml()) def test_add_xmlns(self): xml_dict_serializer = wsgi.XMLDictSerializer() xml_dict_serializer.xmlns = mock.sentinel.xmlns mock_node = mock.Mock() xml_dict_serializer._add_xmlns(mock_node, has_atom=False) mock_node.setAttribute.assert_called_once_with( 'xmlns', mock.sentinel.xmlns) mock_node.reset_mock() xml_dict_serializer._add_xmlns(mock_node, has_atom=True) mock_node.setAttribute.assert_has_calls([ mock.call('xmlns', mock.sentinel.xmlns), mock.call('xmlns:atom', "http://www.w3.org/2005/Atom") ]) class TestTextDeserializer(base.MuranoTestCase): def test_default(self): text_deserializer = wsgi.TextDeserializer() self.assertEqual({}, text_deserializer.default(None)) class TestJSONDeserializer(base.MuranoTestCase): def test_from_json_except_value_error(self): json_deserializer = wsgi.JSONDeserializer() e = self.assertRaises(exceptions.MalformedRequestBody, json_deserializer._from_json, "throw value error") self.assertIn('cannot understand JSON', str(e)) class TestJSONPatchDeserializer(base.MuranoTestCase): def test_from_json_patch_except_value_error(self): json_patch_deserializer = wsgi.JSONPatchDeserializer() e = self.assertRaises(exceptions.MalformedRequestBody, json_patch_deserializer._from_json_patch, "throw value error") self.assertIn('cannot understand JSON', str(e)) def test_validate_allowed_methods_except_http_forbidden(self): json_patch_deserializer = wsgi.JSONPatchDeserializer() json_patch_deserializer.allowed_operations = mock.Mock( spec_set=wsgi.JSONPatchDeserializer.allowed_operations, **{'get.return_value': None} ) e = self.assertRaises( webob.exc.HTTPForbidden, json_patch_deserializer._validate_allowed_methods, {'op': 'foo_op', 'path': 'foo_path'}, allow_unknown_path=False) self.assertEqual("Attribute 'f/o/o/_/p/a/t/h' is invalid", str(e)) def test_validate_json_pointer(self): json_patch_deserializer = wsgi.JSONPatchDeserializer() expected_exception = webob.exc.HTTPBadRequest bad_pointers = ['pointer', '/ /\n/', '//', '// ', '/~2'] for pointer in bad_pointers: self.assertRaises(expected_exception, json_patch_deserializer._validate_json_pointer, pointer) @mock.patch.object(wsgi, 'jsonschema', autospec=True) def test_validate_schema_cannot_validate(self, mock_jsonschema): json_patch_deserializer = wsgi.JSONPatchDeserializer() json_patch_deserializer.schema = {'type': 'array'} test_change = {'path': ['foo_path'], 'value': 'foo_value'} # Assert that jsonschema validation was not performed because # can_validate = False. json_patch_deserializer._validate_schema(test_change) self.assertFalse(mock_jsonschema.validate.called) mock_jsonschema.validate.reset_mock() json_patch_deserializer = wsgi.JSONPatchDeserializer() json_patch_deserializer.schema = {'type': 'object'} json_patch_deserializer._validate_schema(test_change) self.assertFalse(mock_jsonschema.validate.called) class TestMuranoPackageJSONPatchDeserializer(base.MuranoTestCase): def test_validate_path(self): patch_deserializer = wsgi.MuranoPackageJSONPatchDeserializer() e = self.assertRaises(webob.exc.HTTPBadRequest, patch_deserializer._validate_path, ['foo_path', 'bar_path']) self.assertEqual(_('Nested paths are not allowed'), str(e)) class TestXMLDeserializer(base.MuranoTestCase): def test_XMLDeserializer_from_xml(self): self.deserializer = wsgi.XMLDeserializer() datastring = "HELLO" request = mock.Mock() request.body = datastring result = self.deserializer._from_xml(request) self.assertEqual({'XML': 'HELLO'}, result) datastring = "" request.body = datastring self.assertRaises(exceptions.MalformedRequestBody, self.deserializer._from_xml, request) datastring = "HELLO" request.body = datastring result = self.deserializer._from_xml(request) self.assertEqual({'XML': {'XML1': 'HELLO'}}, result) datastring = "HELLO" request.body = datastring result = self.deserializer._from_xml(request) self.assertEqual({'XML': {'XML1': {'XML2': 'HELLO'}}}, result) def test_XMLDeserializer_default(self): self.deserializer = wsgi.XMLDeserializer() datastring = "HELLO" request = mock.Mock() request.body = datastring result = self.deserializer.default(request) self.assertEqual({'body': {'XML': 'HELLO'}}, result) def test_XMLDeserializer_find_first_child_named(self): self.deserializer = wsgi.XMLDeserializer() parent = mock.Mock() mock_child = mock.Mock() mock_child.nodeName = "name" parent.childNodes = [mock_child] result = self.deserializer.find_first_child_named(parent, "name") self.assertIsNotNone(result) parent.childNodes = [] result = self.deserializer.find_first_child_named(parent, "name") self.assertIsNone(result) mock_child.nodeName = "other_name" parent.childNodes = [mock_child] result = self.deserializer.find_first_child_named(parent, "name") self.assertIsNone(result) def test_XMLDeserializer_extract_text(self): self.deserializer = wsgi.XMLDeserializer() mock_node = mock.Mock() mock_child = mock.Mock() mock_child.nodeType = mock_child.TEXT_NODE mock_node.childNodes = [mock_child] result = self.deserializer.extract_text(mock_node) mock_child.nodeType = None mock_node.childNodes = [mock_child] result = self.deserializer.extract_text(mock_node) self.assertEqual("", result) mock_node.childNodes = [] result = self.deserializer.extract_text(mock_node) self.assertEqual("", result) def test_from_xml_node_all_branches(self): mock_grandchild_node = mock.MagicMock(**{ 'nodeName': 'qux', 'nodeType': mock.sentinel.grandchild_node_type, 'childNodes': [ mock.Mock(nodeType=3, nodeValue=mock.sentinel.qux_node) ] }) mock_child_node = mock.MagicMock(**{ 'nodeName': mock.sentinel.child_node, 'attributes.keys.return_value': ['foo', 'bar', 'baz'], 'attributes.__getitem__.side_effect': [ mock.Mock(nodeValue=mock.sentinel.foo_node), mock.Mock(nodeValue=mock.sentinel.bar_node), mock.Mock(nodeValue=mock.sentinel.baz_node) ], 'childNodes': [ mock_grandchild_node ], 'TEXT_NODE': mock.sentinel.child_node_type }) mock_node = mock.Mock(**{ 'nodeName': mock.sentinel.parent_node, 'childNodes': [ mock_child_node ] }) listnames = [mock.sentinel.parent_node] xml_deserializer = wsgi.XMLDeserializer() result = xml_deserializer._from_xml_node(mock_node, listnames) expected_result = [{ 'foo': mock.sentinel.foo_node, 'bar': mock.sentinel.bar_node, 'baz': mock.sentinel.baz_node, 'qux': mock.sentinel.qux_node }] self.assertEqual(1, len(result)) self.assertEqual(len(expected_result[0]), len(result[0])) for key, val in expected_result[0].items(): self.assertEqual(val, result[0][key]) def test_find_children_named(self): child_node = mock.Mock(nodeName=mock.sentinel.node_name) parent_node = mock.Mock(childNodes=[child_node]) result = [] xml_deserializer = wsgi.XMLDeserializer() for n in xml_deserializer.\ find_children_named(parent_node, mock.sentinel.node_name): result.append(n) self.assertEqual(1, len(result)) self.assertEqual(child_node, result[0]) class TestFormDataDeserializer(base.MuranoTestCase): @mock.patch.object(wsgi, 'LOG', autospec=True) def test_from_json_except_value_error(self, mock_log): data_serializer = wsgi.FormDataDeserializer() value = data_serializer._from_json('value error') self.assertEqual('value error', value) mock_log.debug.assert_called_once_with( "Trying to deserialize 'value error' to json") mock_log.warning.assert_called_once_with( 'Unable to deserialize to json, using raw text') murano-9.0.0/murano/tests/unit/common/test_traverse_helper.py0000664000175000017500000001160513656750211024571 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.common import utils from murano.tests.unit import base class TraverseHelperTests(base.MuranoTestCase): def test_root_get_with_dict(self): source = {'attr': True} value = utils.TraverseHelper.get('/', source) self.assertEqual(value, source) def test_root_get_with_list(self): source = [{'attr': True}] value = utils.TraverseHelper.get('/', source) self.assertListEqual(value, source) def test_root_get_with_value_type(self): source = 'source' value = utils.TraverseHelper.get('/', source) self.assertEqual(source, value) def test_attribute_get(self): source = {'attr': True} value = utils.TraverseHelper.get('/attr', source) self.assertTrue(value) def test_nested_attribute_get(self): source = {'obj': {'attr': True}} value = utils.TraverseHelper.get('/obj/attr', source) self.assertTrue(value) def test_list_item_attribute_get(self): source = {'obj': [ {'?': {'id': '1'}, 'value': 1}, {'?': {'id': '2s'}, 'value': 2}, ]} value = utils.TraverseHelper.get('/obj/2s/value', source) self.assertEqual(2, value) def test_list_item_attribute_get_by_index(self): source = {'obj': [ {'?': {'id': 'guid1'}, 'value': 1}, {'?': {'id': 'guid2'}, 'value': 2} ]} value = utils.TraverseHelper.get('/obj/1/value', source) self.assertEqual(2, value) def test_attribute_set(self): source = {'attr': True} utils.TraverseHelper.update('/newAttr', False, source) value = utils.TraverseHelper.get('/newAttr', source) self.assertFalse(value) def test_attribute_update(self): source = {'attr': True} utils.TraverseHelper.update('/attr', False, source) value = utils.TraverseHelper.get('/attr', source) self.assertFalse(value) def test_nested_attribute_update(self): source = {'obj': {'attr': True}} utils.TraverseHelper.update('/obj/attr', False, source) value = utils.TraverseHelper.get('/obj/attr', source) self.assertFalse(value) def test_adding_item_to_list(self): source = {'attr': [1, 2, 3]} utils.TraverseHelper.insert('/attr', 4, source) value = utils.TraverseHelper.get('/attr', source) self.assertListEqual(value, [1, 2, 3, 4]) def test_nested_adding_item_to_list(self): source = {'obj': {'attr': [1, 2, 3]}} utils.TraverseHelper.insert('/obj/attr', 4, source) value = utils.TraverseHelper.get('/obj/attr', source) self.assertListEqual(value, [1, 2, 3, 4]) def test_extending_list_with_list(self): source = {'attr': [1, 2, 3]} utils.TraverseHelper.extend('/attr', [4, 5], source) value = utils.TraverseHelper.get('/attr', source) self.assertListEqual(value, [1, 2, 3, 4, 5]) def test_nested_extending_list_with_list(self): source = {'obj': {'attr': [1, 2, 3]}} utils.TraverseHelper.extend('/obj/attr', [4, 5], source) value = utils.TraverseHelper.get('/obj/attr', source) self.assertListEqual(value, [1, 2, 3, 4, 5]) def test_attribute_remove_from_dict(self): source = {'attr1': False, 'attr2': True} utils.TraverseHelper.remove('/attr1', source) value = utils.TraverseHelper.get('/', source) self.assertEqual(value, {'attr2': True}) def test_nested_attribute_remove_from_dict(self): source = {'obj': {'attr1': False, 'attr2': True}} utils.TraverseHelper.remove('/obj/attr1', source) value = utils.TraverseHelper.get('/obj', source) self.assertEqual(value, {'attr2': True}) def test_nested_attribute_remove_from_list_by_id(self): source = {'obj': [{'?': {'id': 'id1'}}, {'?': {'id': 'id2'}}]} utils.TraverseHelper.remove('/obj/id1', source) value = utils.TraverseHelper.get('/obj', source) self.assertListEqual(value, [{'?': {'id': 'id2'}}]) def test_nested_attribute_remove_from_list_by_index(self): source = {'obj': [{'?': {'id': 'id1'}}, {'?': {'id': 'id2'}}]} utils.TraverseHelper.remove('/obj/0', source) value = utils.TraverseHelper.get('/obj', source) self.assertListEqual(value, [{'?': {'id': 'id2'}}]) murano-9.0.0/murano/tests/unit/test_engine.py0000664000175000017500000001360013656750212021352 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import re from unittest import mock import semantic_version import yaql from yaql.language import exceptions from yaql.language import utils import murano.dsl.helpers as helpers import murano.dsl.namespace_resolver as ns_resolver import murano.dsl.yaql_expression as yaql_expression from murano.tests.unit import base ROOT_CLASS = 'io.murano.Object' class TestNamespaceResolving(base.MuranoTestCase): def test_fails_w_empty_name(self): resolver = ns_resolver.NamespaceResolver({'=': 'com.example.murano'}) self.assertRaises(ValueError, resolver.resolve_name, None) def test_fails_w_unknown_prefix(self): resolver = ns_resolver.NamespaceResolver({'=': 'com.example.murano'}) name = 'unknown_prefix:example.murano' self.assertRaises(KeyError, resolver.resolve_name, name) def test_fails_w_prefix_wo_name(self): resolver = ns_resolver.NamespaceResolver({'=': 'com.example.murano'}) name = 'sys:' self.assertRaises(ValueError, resolver.resolve_name, name) def test_fails_w_excessive_prefix(self): ns = {'sys': 'com.example.murano.system'} resolver = ns_resolver.NamespaceResolver(ns) invalid_name = 'sys:excessive_ns:muranoResource' self.assertRaises(ValueError, resolver.resolve_name, invalid_name) def test_empty_prefix_is_default(self): resolver = ns_resolver.NamespaceResolver({'=': 'com.example.murano'}) # name without prefix delimiter name = 'some.arbitrary.name' resolved_name = resolver.resolve_name(':' + name) self.assertEqual( 'com.example.murano.some.arbitrary.name', resolved_name) def test_resolves_specified_ns_prefix(self): ns = {'sys': 'com.example.murano.system'} resolver = ns_resolver.NamespaceResolver(ns) short_name, full_name = 'sys:File', 'com.example.murano.system.File' resolved_name = resolver.resolve_name(short_name) self.assertEqual(full_name, resolved_name) def test_resolves_current_ns(self): resolver = ns_resolver.NamespaceResolver({'=': 'com.example.murano'}) short_name, full_name = 'Resource', 'com.example.murano.Resource' resolved_name = resolver.resolve_name(short_name) self.assertEqual(full_name, resolved_name) def test_resolves_w_empty_namespaces(self): resolver = ns_resolver.NamespaceResolver({}) resolved_name = resolver.resolve_name('Resource') self.assertEqual('Resource', resolved_name) class TestHelperFunctions(base.MuranoTestCase): def test_generate_id(self): generated_id = helpers.generate_id() self.assertTrue(re.match(r'[a-z0-9]{32}', generated_id)) def test_evaluate(self): yaql_value = mock.Mock(yaql_expression.YaqlExpression, return_value='atom') complex_value = {yaql_value: ['some', (1, yaql_value), 'hi!'], 'sample': [yaql_value, range(5)]} complex_literal = utils.FrozenDict({ 'atom': ('some', (1, 'atom'), 'hi!'), 'sample': ('atom', (0, 1, 2, 3, 4)) }) context = yaql.create_context() evaluated_value = helpers.evaluate(yaql_value, context) evaluated_complex_value = helpers.evaluate(complex_value, context) self.assertEqual('atom', evaluated_value) self.assertEqual(complex_literal, evaluated_complex_value) class TestYaqlExpression(base.MuranoTestCase): def setUp(self): self._version = semantic_version.Version.coerce('1.0') super(TestYaqlExpression, self).setUp() def test_expression(self): yaql_expr = yaql_expression.YaqlExpression('string', self._version) self.assertEqual('string', yaql_expr.expression) def test_evaluate_calls(self): string = 'string' expected_calls = [mock.call(string, self._version), mock.call().evaluate(context=None)] with mock.patch('murano.dsl.yaql_integration.parse') as mock_parse: yaql_expr = yaql_expression.YaqlExpression(string, self._version) yaql_expr(None) self.assertEqual(expected_calls, mock_parse.mock_calls) def test_is_expression_returns(self): expr = yaql_expression.YaqlExpression('string', self._version) with mock.patch('murano.dsl.yaql_integration.parse'): self.assertTrue(expr.is_expression('$some', self._version)) self.assertTrue(expr.is_expression('$.someMore', self._version)) with mock.patch('murano.dsl.yaql_integration.parse') as parse_mock: parse_mock.side_effect = exceptions.YaqlGrammarException self.assertFalse(expr.is_expression('', self._version)) with mock.patch('murano.dsl.yaql_integration.parse') as parse_mock: parse_mock.side_effect = exceptions.YaqlLexicalException self.assertFalse(expr.is_expression('', self._version)) def test_property(self): self.assertRaises(TypeError, yaql_expression.YaqlExpression, None, self._version) expr = yaql_expression.YaqlExpression('string', self._version) self.assertEqual(expr._version, expr.version) self.assertIsNone(expr._file_position) yaql_rep = expr.__repr__() self.assertEqual('YAQL(%s)' % expr._expression, yaql_rep) murano-9.0.0/murano/tests/unit/test_utils.py0000664000175000017500000002233313656750212021250 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from webob import exc from murano.services import states import murano.tests.unit.base as test_base from murano.tests.unit import utils as test_utils from murano import utils class TestUtils(test_base.MuranoTestCase): @mock.patch('murano.utils.db_session') def test_check_env(self, mock_db_session): """Test check env.""" mock_request = mock.MagicMock(context=test_utils.dummy_context()) mock_env = mock.MagicMock(environment_id='test_env_id', tenant_id=mock_request.context.tenant) mock_db_session.get_session().query().get.return_value = mock_env env = utils.check_env(mock_request, mock_env.environment_id) self.assertEqual(mock_env, env) @mock.patch('murano.utils.db_session') def test_check_env_with_null_environment_id(self, mock_db_session): """Test check env with null environment id throws exception.""" mock_request = mock.MagicMock(context=test_utils.dummy_context()) mock_db_session.get_session().query().get.return_value = None test_env_id = 'test_env_id' expected_error_message = 'Environment with id {env_id} not found'\ .format(env_id=test_env_id) with self.assertRaisesRegex(exc.HTTPNotFound, expected_error_message): utils.check_env(mock_request, test_env_id) @mock.patch('murano.utils.db_session') def test_check_env_with_mismatching_tenant_id(self, mock_db_session): """Test check env without matching tenant ids throws exception.""" mock_request = mock.MagicMock(context=test_utils.dummy_context()) mock_env = mock.MagicMock(environment_id='test_env_id', tenant_id='another_test_tenant_id') mock_db_session.get_session().query().get.return_value = mock_env expected_error_message = 'User is not authorized to access these '\ 'tenant resources' with self.assertRaisesRegex(exc.HTTPForbidden, expected_error_message): utils.check_env(mock_request, mock_env.environment_id) def test_check_session_with_null_session(self): """Test check session with null session throws exception.""" expected_error_message = 'Session is not found'\ .format(id=None) with self.assertRaisesRegex(exc.HTTPNotFound, expected_error_message): utils.check_session(None, None, None, None) @mock.patch('murano.utils.check_env') def test_check_session_with_mismatching_environment_id(self, _): """Test check session without matching env ids throws exception.""" mock_session = mock.MagicMock(session_id='session_id', environment_id='environment_id') environment_id = 'another_environment_id' expected_error_msg = 'Session is not tied '\ 'with Environment '\ .format(session_id=mock_session.session_id, environment_id=environment_id) with self.assertRaisesRegex(exc.HTTPBadRequest, expected_error_msg): utils.check_session(None, environment_id, mock_session, mock_session.session_id) def test_verify_session_with_invalid_request_header(self): """Test session with invalid request header throws exception.""" dummy_context = test_utils.dummy_context() if dummy_context.session: dummy_context.session = None mock_request = mock.MagicMock(context=dummy_context) expected_error_message = 'X-Configuration-Session header which '\ 'indicates to the session is missed' with self.assertRaisesRegex(exc.HTTPBadRequest, expected_error_message): self._test_verify_session(mock_request) @mock.patch('murano.utils.db_session') def test_verify_session_with_null_session(self, mock_db_session): """Test null session throws expected exception.""" mock_request = mock.MagicMock(context=test_utils.dummy_context()) mock_request.context.session = mock.MagicMock( return_value='test_sess_id') mock_db_session.get_session().query().get.return_value = None expected_error_message = 'Session is not found'\ .format(mock_request.context.session) with self.assertRaisesRegex(exc.HTTPNotFound, expected_error_message): self._test_verify_session(mock_request) @mock.patch('murano.utils.db_session') def test_verify_env_template_with_invalid_tenant(self, mock_db_session): """Test session validation failure throws expected exception.""" mock_request = mock.MagicMock(context=test_utils.dummy_context()) mock_request.context.tenant = mock.MagicMock( return_value='test_tenant_id') mock_env_template = mock.MagicMock(tenant_id='another_test_tenant_id') mock_db_session.get_session().query().get.return_value =\ mock_env_template expected_error_message = 'User is not authorized to access this'\ ' tenant resources' with self.assertRaisesRegex(exc.HTTPForbidden, expected_error_message): self._test_verify_env_template(mock_request, None) @mock.patch('murano.utils.db_session') def test_verify_env_template_with_null_template(self, mock_db_session): """Test null env template throws expected exception.""" mock_db_session.get_session().query().get.return_value = None expected_error_message = 'Environment Template with id {id} not found'\ .format(id='test_env_template_id') with self.assertRaisesRegex(exc.HTTPNotFound, expected_error_message): self._test_verify_env_template(None, 'test_env_template_id') @utils.verify_env_template def _test_verify_env_template(self, request, env_template_id): """Helper function for testing above decorator.""" pass @mock.patch('murano.utils.sessions.SessionServices.validate') @mock.patch('murano.utils.db_session') def test_verify_session_with_invalid_session(self, mock_db_session, mock_validate): """Test session validation failure throws expected exception.""" mock_validate.return_value = False mock_request = mock.MagicMock(context=test_utils.dummy_context()) mock_request.context.session = mock.MagicMock( return_value='test_sess_id') mock_db_session.get_session().query().get.return_value =\ mock.MagicMock() expected_error_message = 'Session is invalid: '\ 'environment has been updated or '\ 'updating right now with other session'\ .format(mock_request.context.session) with self.assertRaisesRegex(exc.HTTPForbidden, expected_error_message): self._test_verify_session(mock_request) @mock.patch('murano.utils.sessions.SessionServices.validate') @mock.patch('murano.utils.db_session') def test_verify_session_in_deploying_state(self, mock_db_session, mock_validate): """Test deploying session throws expected exception.""" mock_validate.return_value = True mock_request = mock.MagicMock(context=test_utils.dummy_context()) mock_request.context.session = mock.MagicMock( return_value='test_sess_id') mock_db_session.get_session().query().get.return_value =\ mock.MagicMock(state=states.SessionState.DEPLOYING) expected_error_message = 'Session is already in '\ 'deployment state'\ .format(mock_request.context.session) with self.assertRaisesRegex(exc.HTTPForbidden, expected_error_message): self._test_verify_session(mock_request) @utils.verify_session def _test_verify_session(self, request): """Helper function for testing above decorator.""" pass murano-9.0.0/murano/tests/unit/test_actions.py0000664000175000017500000000334113656750212021546 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.services import actions from murano.tests.unit import base class TestActionFinder(base.MuranoTestCase): def test_simple_root_level_search(self): model = { '?': { 'id': 'id1', '_actions': { 'ad_deploy': { 'enabled': True, 'name': 'deploy' } } } } action = actions.ActionServices.find_action(model, 'ad_deploy') self.assertEqual('deploy', action[1]['name']) def test_recursive_action_search(self): model = { '?': { 'id': 'id1', '_actions': {'ad_deploy': {'enabled': True, 'name': 'deploy'}} }, 'property': { '?': { 'id': 'id2', '_actions': { 'ad_scale': {'enabled': True, 'name': 'scale'} } }, } } action = actions.ActionServices.find_action(model, 'ad_scale') self.assertEqual('scale', action[1]['name']) murano-9.0.0/murano/tests/unit/test_heat_stack.py0000664000175000017500000006414613656750212022226 0ustar zuulzuul00000000000000# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. # Copyright (c) 2016 AT&T Corp # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from heatclient.v1 import stacks from unittest import mock from oslo_config import cfg from murano.engine.system import heat_stack from murano.tests.unit import base CLS_NAME = 'murano.engine.system.heat_stack.HeatStack' CONF = cfg.CONF class TestHeatStack(base.MuranoTestCase): def setUp(self): super(TestHeatStack, self).setUp() self.heat_client_mock = mock.Mock() self.heat_client_mock.stacks = mock.MagicMock(spec=stacks.StackManager) self.override_config('stack_tags', ['test-murano'], 'heat') self.mock_tag = ','.join(CONF.heat.stack_tags) self._patch_get_client() def tearDown(self): super(TestHeatStack, self).tearDown() self.addCleanup(mock.patch.stopall) def _patch_get_client(self): self.get_client_patcher = mock.patch( 'murano.engine.system.heat_stack.HeatStack._get_client', return_value=self.heat_client_mock) self.get_token_client_patcher = mock.patch.object( heat_stack.HeatStack, '_get_token_client', return_value=self.heat_client_mock) self.get_client_patcher.start() self.get_token_client_patcher.start() def _unpatch_get_client(self): self.get_client_patcher.stop() self.get_token_client_patcher.stop() @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') def test_push_adds_version(self, status_get, wait_st): """Assert that if heat_template_version is omitted, it's added.""" status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} hs = heat_stack.HeatStack('test-stack', 'Generated by TestHeatStack') hs._template = {'resources': {'test': 1}} hs._files = {} hs._hot_environment = {} hs._parameters = {} hs._applied = False hs.push() hs = heat_stack.HeatStack( 'test-stack', 'Generated by TestHeatStack') hs._template = {'resources': {'test': 1}} hs._files = {} hs._parameters = {} hs._applied = False hs.push() expected_template = { 'heat_template_version': '2013-05-23', 'description': 'Generated by TestHeatStack', 'resources': {'test': 1} } self.heat_client_mock.stacks.create.assert_called_with( stack_name='test-stack', disable_rollback=True, parameters={}, template=expected_template, files={}, environment={}, tags=self.mock_tag ) self.assertTrue(hs._applied) @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') def test_description_is_optional(self, status_get, wait_st): """Assert that if heat_template_version is omitted, it's added.""" status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} hs = heat_stack.HeatStack('test-stack', None) hs._template = {'resources': {'test': 1}} hs._files = {} hs._hot_environment = '' hs._parameters = {} hs._applied = False hs.push() expected_template = { 'heat_template_version': '2013-05-23', 'resources': {'test': 1} } self.heat_client_mock.stacks.create.assert_called_with( stack_name='test-stack', disable_rollback=True, parameters={}, template=expected_template, files={}, environment='', tags=self.mock_tag ) self.assertTrue(hs._applied) @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') def test_heat_files_are_sent(self, status_get, wait_st): """Assert that if heat_template_version is omitted, it's added.""" status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} hs = heat_stack.HeatStack('test-stack', None) hs._description = None hs._template = {'resources': {'test': 1}} hs._files = {"heatFile": "file"} hs._hot_environment = '' hs._parameters = {} hs._applied = False hs.push() expected_template = { 'heat_template_version': '2013-05-23', 'resources': {'test': 1} } self.heat_client_mock.stacks.create.assert_called_with( stack_name='test-stack', disable_rollback=True, parameters={}, template=expected_template, files={"heatFile": "file"}, environment='', tags=self.mock_tag ) self.assertTrue(hs._applied) @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') def test_heat_environments_are_sent(self, status_get, wait_st): """Assert that if heat_template_version is omitted, it's added.""" status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} hs = heat_stack.HeatStack('test-stack', None) hs._description = None hs._template = {'resources': {'test': 1}} hs._files = {"heatFile": "file"} hs._hot_environment = 'environments' hs._parameters = {} hs._applied = False hs.push() expected_template = { 'heat_template_version': '2013-05-23', 'resources': {'test': 1} } self.heat_client_mock.stacks.create.assert_called_with( stack_name='test-stack', disable_rollback=True, parameters={}, template=expected_template, files={"heatFile": "file"}, environment='environments', tags=self.mock_tag ) self.assertTrue(hs._applied) @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') def test_heat_async_push(self, status_get, wait_st): """Assert that if heat_template_version is omitted, it's added.""" status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} hs = heat_stack.HeatStack('test-stack', None) hs._description = None hs._template = {'resources': {'test': 1}} hs._files = {"heatFile": "file"} hs._hot_environment = 'environments' hs._parameters = {} hs._applied = False with mock.patch('murano.dsl.dsl.get_execution_session'): hs.push(is_async=True) expected_template = { 'heat_template_version': '2013-05-23', 'resources': {'test': 1} } self.heat_client_mock.stacks.create.assert_not_called() hs.output() self.heat_client_mock.stacks.create.assert_called_with( stack_name='test-stack', disable_rollback=True, parameters={}, template=expected_template, files={"heatFile": "file"}, environment='environments', tags=self.mock_tag ) self.assertTrue(hs._applied) @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') @mock.patch.object(heat_stack, 'LOG') def test_push_except_http_conflict(self, mock_log, status_get, wait_st): status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} hs = heat_stack.HeatStack('test-stack', None) hs._description = None hs._template = {'resources': {'test': 1}} hs._files = {"heatFile": "file"} hs._hot_environment = 'environments' hs._parameters = {} hs._applied = False hs._get_token_client().stacks.create.side_effect = [ heat_stack.heat_exc.HTTPConflict('test_error_msg'), None ] hs.push() mock_log.warning.assert_called_with( 'Conflicting operation: ERROR: test_error_msg') @mock.patch(CLS_NAME + '.current') def test_update_wrong_template_version(self, current): """Template version other than expected should cause error.""" hs = heat_stack.HeatStack( 'test-stack', 'Generated by TestHeatStack') hs._template = {'resources': {'test': 1}} invalid_template = { 'heat_template_version': 'something else' } current.return_value = {} e = self.assertRaises(heat_stack.HeatStackError, hs.update_template, invalid_template) err_msg = "Currently only heat_template_version 2013-05-23 "\ "is supported." self.assertEqual(err_msg, str(e)) # Check it's ok without a version hs.update_template({}) expected = {'resources': {'test': 1}} self.assertEqual(expected, hs._template) # .. or with a good version hs.update_template({'heat_template_version': '2013-05-23'}) expected['heat_template_version'] = '2013-05-23' self.assertEqual(expected, hs._template) @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') def test_heat_stack_tags_are_sent(self, status_get, wait_st): """Assert heat_stack tags are sent Assert that heat_stack `tags` parameter get push & with value from config parameter `stack_tags`. """ status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} self.override_config('stack_tags', ['test-murano', 'murano-tag'], 'heat') hs = heat_stack.HeatStack('test-stack', None) hs._description = None hs._template = {'resources': {'test': 1}} hs._files = {} hs._hot_environment = '' hs._parameters = {} hs._applied = False hs._tags = ','.join(CONF.heat.stack_tags) hs.push() expected_template = { 'heat_template_version': '2013-05-23', 'resources': {'test': 1} } self.heat_client_mock.stacks.create.assert_called_with( stack_name='test-stack', disable_rollback=True, parameters={}, template=expected_template, files={}, environment='', tags=','.join(CONF.heat.stack_tags) ) self.assertTrue(hs._applied) @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') def test_parameters(self, status_get, wait_st): status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} self.override_config('stack_tags', ['test-murano', 'murano-tag'], 'heat') hs = heat_stack.HeatStack('test-stack', None) hs._description = None hs._template = {'resources': {'test': 1}} hs._files = {} hs._hot_environment = '' hs._parameters = {} hs._applied = False hs._tags = ','.join(CONF.heat.stack_tags) hs.push() expected_template = { 'heat_template_version': '2013-05-23', 'resources': {'test': 1} } self.heat_client_mock.stacks.create.assert_called_with( stack_name='test-stack', disable_rollback=True, parameters={}, template=expected_template, files={}, environment='', tags=','.join(CONF.heat.stack_tags) ) self.assertEqual(hs.parameters(), hs._parameters) @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') def test_reload(self, status_get, wait_st): status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} self.override_config('stack_tags', ['test-murano', 'murano-tag'], 'heat') hs = heat_stack.HeatStack('test-stack', None) hs._description = None hs._template = {'resources': {'test': 1}} hs._files = {} hs._hot_environment = '' hs._parameters = {} hs._applied = False hs._tags = ','.join(CONF.heat.stack_tags) hs.push() expected_template = { 'heat_template_version': '2013-05-23', 'resources': {'test': 1} } self.heat_client_mock.stacks.create.assert_called_with( stack_name='test-stack', disable_rollback=True, parameters={}, template=expected_template, files={}, environment='', tags=','.join(CONF.heat.stack_tags) ) hs.reload() stack_info = self.heat_client_mock.stacks.get(stack_id=hs._name) self.assertEqual(hs._template, hs._client.stacks.template( stack_id='{0}/{1}'.format( stack_info.stack_name, stack_info.id))) @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') def test_delete(self, status_get, wait_st): status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} self.override_config('stack_tags', ['test-murano', 'murano-tag'], 'heat') hs = heat_stack.HeatStack('test-stack', None) hs._description = None hs._template = {'resources': {'test': 1}} hs._files = {} hs._hot_environment = '' hs._parameters = {} hs._applied = False hs._tags = ','.join(CONF.heat.stack_tags) hs.push() expected_template = { 'heat_template_version': '2013-05-23', 'resources': {'test': 1} } self.heat_client_mock.stacks.create.assert_called_with( stack_name='test-stack', disable_rollback=True, parameters={}, template=expected_template, files={}, environment='', tags=','.join(CONF.heat.stack_tags) ) hs.delete() self.assertEqual({}, hs._template) self.assertTrue(hs._applied) @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') @mock.patch.object(heat_stack, 'LOG') def test_delete_except_not_found(self, mock_log, status_get, wait_st): status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} hs = heat_stack.HeatStack('test-stack', None) hs._template = {'resources': {'test': 1}} hs._files = {} hs._hot_environment = '' hs._parameters = {} hs._applied = False hs.push() hs._client.stacks.delete.side_effect =\ heat_stack.heat_exc.NotFound hs.delete() self.assertTrue(hs._applied) self.assertEqual({}, hs._template) mock_log.warning.assert_called_with( 'Stack test-stack already deleted?') @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') @mock.patch.object(heat_stack, 'LOG') def test_delete_except_http_conflict(self, mock_log, status_get, wait_st): status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} hs = heat_stack.HeatStack('test-stack', None) hs._template = {'resources': {'test': 1}} hs._files = {} hs._hot_environment = '' hs._parameters = {} hs._applied = False hs.push() hs._client.stacks.delete.side_effect = [ heat_stack.heat_exc.HTTPConflict('test_error_msg'), None ] hs.delete() self.assertTrue(hs._applied) self.assertEqual({}, hs._template) mock_log.warning.assert_called_with('Conflicting operation: ' 'ERROR: test_error_msg') @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') def test_set_template_and_params(self, status_get, wait_st): status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} self.override_config('stack_tags', ['test-murano', 'murano-tag'], 'heat') hs = heat_stack.HeatStack('test-stack', None) hs._description = None hs._template = {'resources': {'test': 1}} hs._files = {} hs._hot_environment = '' hs._parameters = {} hs._applied = False hs._tags = ','.join(CONF.heat.stack_tags) hs.push() expected_template = { 'heat_template_version': '2013-05-23', 'resources': {'test': 1} } self.heat_client_mock.stacks.create.assert_called_with( stack_name='test-stack', disable_rollback=True, parameters={}, template=expected_template, files={}, environment='', tags=','.join(CONF.heat.stack_tags) ) new_template = {'resources': {'test': 2}} new_parameters = {'parameters': {'test': 1}} hs.set_template(new_template) self.assertEqual(new_template, hs._template) hs.set_parameters(new_parameters) self.assertEqual(new_parameters, hs._parameters) @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') def test_set_hot_env_and_files(self, status_get, wait_st): status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} self.override_config('stack_tags', ['test-murano', 'murano-tag'], 'heat') hs = heat_stack.HeatStack('test-stack', None) hs._description = None hs._template = {'resources': {'test': 1}} hs._files = {} hs._hot_environment = '' hs._parameters = {} hs._applied = False hs._tags = ','.join(CONF.heat.stack_tags) hs.push() expected_template = { 'heat_template_version': '2013-05-23', 'resources': {'test': 1} } self.heat_client_mock.stacks.create.assert_called_with( stack_name='test-stack', disable_rollback=True, parameters={}, template=expected_template, files={}, environment='', tags=','.join(CONF.heat.stack_tags) ) new_hot_env = 'test' new_files = {'files': {'test': 1}} hs.set_hot_environment(new_hot_env) self.assertEqual(new_hot_env, hs._hot_environment) hs.set_files(new_files) self.assertEqual(new_files, hs._files) @mock.patch(CLS_NAME + '._wait_state') @mock.patch(CLS_NAME + '._get_status') def test_none_template(self, status_get, wait_st): status_get.return_value = 'NOT_FOUND' wait_st.return_value = {} self.override_config('stack_tags', ['test-murano', 'murano-tag'], 'heat') hs = heat_stack.HeatStack('test-stack', None) hs._description = None hs._template = None hs._files = {} hs._hot_environment = '' hs._parameters = {} hs._applied = True hs._tags = ','.join(CONF.heat.stack_tags) self.assertIsNone(hs.push()) @mock.patch(CLS_NAME + '._wait_state') def test_get_hot_status(self, wait_st): wait_st.return_value = {} self.override_config('stack_tags', ['test-murano', 'murano-tag'], 'heat') hs = heat_stack.HeatStack('test-stack', None) hs._description = None hs._template = {'resources': {'test': 1}} hs._files = {} hs._hot_environment = '' hs._parameters = {} hs._applied = False hs._tags = ','.join(CONF.heat.stack_tags) hs.push() self.assertIsNone(hs._get_status()) self.assertTrue(wait_st.called) self.assertEqual({}, hs.output()) def test_current_except_http_notfound(self): hs = heat_stack.HeatStack( 'test-stack', 'Generated by TestHeatStack') hs._template = None hs._applied = False hs._parameters = {'param1': 'val1', 'param2': 'val2'} hs._client.stacks.get.side_effect = heat_stack.heat_exc.HTTPNotFound current = hs.current() self.assertEqual({}, current) self.assertEqual(True, hs._applied) self.assertEqual({}, hs._template) self.assertEqual({}, hs._parameters) @mock.patch.object(heat_stack, 'auth_utils') def test_get_client(self, mock_auth_utils): self._unpatch_get_client() mock_auth_utils.get_session_client_parameters.return_value =\ {'endpoint': 'test_endpoint/v1'} client = heat_stack.HeatStack._get_client('test_region_name') self.assertIsNotNone(client) self.assertEqual("", str(client.__class__)) mock_auth_utils.get_client_session.assert_called_with( conf='heat') @mock.patch.object(heat_stack, 'auth_utils') def test_get_token_client(self, mock_auth_utils): self._unpatch_get_client() mock_auth_utils.get_session_client_parameters.return_value =\ {'endpoint': 'test_endpoint/v1'} hs = heat_stack.HeatStack('test-stack', 'Generated by TestHeatStack') token_client = hs._get_token_client() self.assertIsNotNone(token_client) self.assertEqual("", str(token_client.__class__)) mock_auth_utils.get_token_client_session.assert_called_with( conf='heat') def test_wait_state(self): hs = heat_stack.HeatStack('test-stack', None) hs._client.stacks.get.return_value =\ mock.Mock(stack_status='CREATE_COMPLETE') result = hs._wait_state(lambda status: status == 'CREATE_COMPLETE') self.assertEqual({}, result) def test_wait_state_with_outputs(self): hs = heat_stack.HeatStack('test-stack', None) hs._client.stacks.get.side_effect = [ mock.Mock(stack_status='IN_PROGRESS'), mock.Mock(stack_status='CREATE_COMPLETE', outputs=[{'output_key': 'key1', 'output_value': 'val1'}, {'output_key': 'key2', 'output_value': 'val2'}]) ] result = hs._wait_state(lambda status: status == 'CREATE_COMPLETE') self.assertNotEqual({}, result) self.assertEqual({'key1': 'val1', 'key2': 'val2'}, result) def test_wait_state_with_multiple_states(self): """Test that only the first state is checked.""" hs = heat_stack.HeatStack('test-stack', None) hs._client.stacks.get.side_effect = [ mock.Mock(stack_status=['IN_PROGRESS', 'NOT_FOUND']), mock.Mock(stack_status='CREATE_COMPLETE') ] result = hs._wait_state(lambda status: status == 'CREATE_COMPLETE') self.assertEqual({}, result) @mock.patch.object(heat_stack, 'eventlet') def test_wait_state_with_wait_progress_true(self, mock_eventlet): hs = heat_stack.HeatStack('test-stack', None) hs._last_stack_timestamps = ('creation_time', 'updated_time') hs._client.stacks.get.side_effect = [ mock.Mock(stack_status='TEST_STATUS', creation_time='creation_time', updated_time='updated_time'), mock.Mock(stack_status='TEST_STATUS', creation_time='creation_time', updated_time='updated_time'), mock.Mock(stack_status='CREATE_COMPLETE') ] result = hs._wait_state(lambda status: status == 'CREATE_COMPLETE', wait_progress=True) self.assertEqual({}, result) self.assertEqual(3, hs._client.stacks.get.call_count) self.assertEqual(2, mock_eventlet.sleep.call_count) expected_calls = [mock.call.sleep(2), mock.call.sleep(2)] self.assertEqual(expected_calls, mock_eventlet.sleep.mock_calls) def test_wait_state_except_http_not_found(self): hs = heat_stack.HeatStack('test-stack', None) hs._client.stacks.get.side_effect = heat_stack.heat_exc.HTTPNotFound # If NOT FOUND is the expected status, then should run successfully. result = hs._wait_state(lambda status: status == 'NOT_FOUND') self.assertEqual({}, result) # Else EnvironmentError should be thrown. expected_error_msg = "Unexpected stack state {0}"\ .format('NOT_FOUND') with self.assertRaisesRegex(EnvironmentError, expected_error_msg): hs._wait_state(lambda status: status == 'CREATE_COMPLETE') @mock.patch.object(heat_stack, 'eventlet') def test_wait_state_except_general_exception(self, mock_eventlet): """Test whether 4 tries are executed before exception raised.""" hs = heat_stack.HeatStack('test-stack', None) hs._client.stacks.get.side_effect = Exception('test_exception_msg') with self.assertRaisesRegex(Exception, 'test_exception_msg'): hs._wait_state(lambda status: status == 'CREATE_COMPLETE') expected_calls = [mock.call.sleep(2), mock.call.sleep(4), mock.call.sleep(8)] self.assertEqual(4, hs._client.stacks.get.call_count) self.assertEqual(3, mock_eventlet.sleep.call_count) self.assertEqual(expected_calls, mock_eventlet.sleep.mock_calls) def test_wait_state_except_environment_error(self): hs = heat_stack.HeatStack('test-stack', None) hs._client.stacks.get.side_effect = [ mock.Mock(stack_status='IN_PROGRESS'), mock.Mock(stack_status='UNEXPECTED_STATUS', stack_status_reason='test_reason') ] expected_error_msg = "Unexpected stack state {0}: {1}"\ .format('UNEXPECTED_STATUS', 'test_reason') with self.assertRaisesRegex(EnvironmentError, expected_error_msg): hs._wait_state(lambda status: status == 'CREATE_COMPLETE') murano-9.0.0/murano/tests/unit/api/0000775000175000017500000000000013656750351017251 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/api/__init__.py0000664000175000017500000000000013656750211021343 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/api/v1/0000775000175000017500000000000013656750351017577 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/api/v1/test_services.py0000664000175000017500000002074713656750212023041 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from oslo_config import fixture as config_fixture from oslo_serialization import jsonutils from webob import exc from murano.api.v1 import environments from murano.api.v1 import services from murano.api.v1 import sessions import murano.tests.unit.api.base as tb class TestServicesApi(tb.ControllerTest, tb.MuranoApiTestCase): def setUp(self): super(TestServicesApi, self).setUp() self.environments_controller = environments.Controller() self.sessions_controller = sessions.Controller() self.services_controller = services.Controller() self.fixture = self.useFixture(config_fixture.Config()) self.fixture.conf(args=[]) def test_can_post(self): CREDENTIALS_1 = {'tenant': 'test_tenant_1', 'user': 'test_user_1'} self._set_policy_rules( {'create_environment': '@'} ) self.expect_policy_check('create_environment') # Create environment request = self._post( '/environments', jsonutils.dump_as_bytes({'name': 'test_environment_1'}), **CREDENTIALS_1 ) response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(CREDENTIALS_1['tenant'], response_body['tenant_id']) environment_id = response_body['id'] # Create session request = self._post('/environments/{environment_id}/configure' .format(environment_id=environment_id), b'', **CREDENTIALS_1) response_body = jsonutils.loads(request.get_response(self.api).body) session_id = response_body['id'] path = "/" request = self._post('/v1/environments/{0}/services'. format(environment_id, session_id), b'', **CREDENTIALS_1) request.headers['X-Configuration-Session'] = str(session_id) request.context.session = session_id self.assertRaises(exc.HTTPBadRequest, self.services_controller.post, request, environment_id, path) response = self.services_controller.post(request, environment_id, path, "test service") self.assertEqual("test service", response) def test_can_put(self): CREDENTIALS_1 = {'tenant': 'test_tenant_1', 'user': 'test_user_1'} self._set_policy_rules( {'create_environment': '@'} ) self.expect_policy_check('create_environment') # Create environment request = self._post( '/environments', jsonutils.dump_as_bytes({'name': 'test_environment_1'}), **CREDENTIALS_1 ) response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(CREDENTIALS_1['tenant'], response_body['tenant_id']) environment_id = response_body['id'] # Create session request = self._post('/environments/{environment_id}/configure' .format(environment_id=environment_id), b'', **CREDENTIALS_1) response_body = jsonutils.loads(request.get_response(self.api).body) session_id = response_body['id'] path = "/" request = self._put('/v1/environments/{0}/services'. format(environment_id, session_id), b'', **CREDENTIALS_1) request.headers['X-Configuration-Session'] = str(session_id) request.context.session = session_id # Check that empty body can be put response = self.services_controller.put(request, environment_id, path, []) self.assertEqual([], response) response = self.services_controller.put(request, environment_id, path, "test service") self.assertEqual("test service", response) def test_can_get(self): CREDENTIALS_1 = {'tenant': 'test_tenant_1', 'user': 'test_user_1'} self._set_policy_rules( {'create_environment': '@'} ) self.expect_policy_check('create_environment') # Create environment request = self._post( '/environments', jsonutils.dump_as_bytes({'name': 'test_environment_1'}), **CREDENTIALS_1 ) response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(CREDENTIALS_1['tenant'], response_body['tenant_id']) environment_id = response_body['id'] # Create session request = self._post('/environments/{environment_id}/configure' .format(environment_id=environment_id), b'', **CREDENTIALS_1) response_body = jsonutils.loads(request.get_response(self.api).body) session_id = response_body['id'] # Create service path = '/' request = self._post('/v1/environments/{0}/services'. format(environment_id, session_id), b'', **CREDENTIALS_1) request.headers['X-Configuration-Session'] = str(session_id) request.context.session = session_id response = self.services_controller.post(request, environment_id, path, "test service") # Get service request = self._get('/v1/environments/{0}/services'. format(environment_id), b'', **CREDENTIALS_1) response = self.services_controller.get(request, environment_id, path) self.assertEqual([], response) request.headers['X-Configuration-Session'] = str(session_id) request.context.session = session_id response = self.services_controller.get(request, environment_id, path) self.assertNotEqual([], response) def test_can_delete(self): CREDENTIALS_1 = {'tenant': 'test_tenant_1', 'user': 'test_user_1'} self._set_policy_rules( {'create_environment': '@'} ) self.expect_policy_check('create_environment') # Create environment request = self._post( '/environments', jsonutils.dump_as_bytes({'name': 'test_environment_1'}), **CREDENTIALS_1 ) response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(CREDENTIALS_1['tenant'], response_body['tenant_id']) environment_id = response_body['id'] # Create session request = self._post( '/environments/{environment_id}/configure' .format(environment_id=environment_id), b'', **CREDENTIALS_1 ) response_body = jsonutils.loads(request.get_response(self.api).body) session_id = response_body['id'] # Create service path = '/' request = self._post('/v1/environments/{0}/services'. format(environment_id, session_id), b'', **CREDENTIALS_1) request.headers['X-Configuration-Session'] = str(session_id) request.context.session = session_id self.services_controller.post(request, environment_id, path, "test service") # Delete service request = self._delete('/v1/environments/{0}/services'. format(environment_id), b'', **CREDENTIALS_1) self.assertRaises(exc.HTTPBadRequest, self.services_controller.delete, request, environment_id, path) request.headers['X-Configuration-Session'] = str(session_id) request.context.session = session_id self.assertRaises(exc.HTTPNotFound, self.services_controller.delete, request, environment_id, path) murano-9.0.0/murano/tests/unit/api/v1/__init__.py0000664000175000017500000000000013656750211021671 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/api/v1/test_actions.py0000664000175000017500000002261513656750211022651 0ustar zuulzuul00000000000000# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. # Copyright (c) 2016 AT&T Corp # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from unittest import mock from oslo_utils import timeutils from webob import exc from murano.api.v1 import actions from murano.common import policy from murano.db import models from murano.db import session as db_session from murano.services import states import murano.tests.unit.api.base as tb import murano.tests.unit.utils as test_utils @mock.patch.object(policy, 'check') class TestActionsApi(tb.ControllerTest, tb.MuranoApiTestCase): def setUp(self): super(TestActionsApi, self).setUp() self.controller = actions.Controller() def test_execute_action(self, mock_policy_check): """Test that action execution results in the correct rpc call.""" self._set_policy_rules( {'execute_action': '@'} ) fake_now = timeutils.utcnow() expected = dict( id='12345', name='my-env', version=0, created=fake_now, updated=fake_now, tenant_id=self.tenant, description={ 'Objects': { '?': {'id': '12345', '_actions': { 'actionsID_action': { 'enabled': True, 'name': 'Testaction' } }} }, 'Attributes': {} } ) e = models.Environment(**expected) test_utils.save_models(e) rpc_task = { 'action': { 'args': '{}', 'method': 'Testaction', 'object_id': '12345' }, 'project_id': self.tenant, 'user_id': self.user, 'model': { 'Attributes': {}, 'Objects': { 'applications': [], '?': { '_actions': { 'actionsID_action': { 'enabled': True, 'name': 'Testaction' } }, 'id': '12345' } } }, 'token': None, 'id': '12345' } req = self._post('/environments/12345/actions/actionID_action', b'{}') result = self.controller.execute(req, '12345', 'actionsID_action', '{}') self.mock_engine_rpc.handle_task.assert_called_once_with(rpc_task) self.assertIn('task_id', result) def _create_session_with_state(self, environment, user_id, state): unit = db_session.get_session() session = models.Session() session.environment_id = environment.id session.user_id = user_id session.state = state session.version = environment.version with unit.begin(): unit.add(session) def test_execute_action_with_session_in_deploying_state(self, _): """Test whether session in the deploying state throws error.""" self._set_policy_rules( {'execute_action': '@'} ) fake_now = timeutils.utcnow() expected = dict( id='12345', name='my-env', version=0, created=fake_now, updated=fake_now, tenant_id=self.tenant, description={ 'Objects': { '?': {'id': '12345', '_actions': { 'actionsID_action': { 'enabled': True, 'name': 'Testaction' } }} }, 'Attributes': {} } ) environment = models.Environment(**expected) test_utils.save_models(environment) req = self._post('/environments/12345/actions/actionID_action', b'{}') user_id = req.context.user self._create_session_with_state(environment, user_id, states.SessionState.DEPLOYING) self.assertRaises(exc.HTTPForbidden, self.controller.execute, req, '12345', 'actionsID_action', {}) def test_execute_action_with_session_in_deleting_state(self, _): """Test whether session in deleting state throws error.""" self._set_policy_rules( {'execute_action': '@'} ) fake_now = timeutils.utcnow() expected = dict( id='12345', name='my-env', version=0, created=fake_now, updated=fake_now, tenant_id=self.tenant, description={ 'Objects': { '?': {'id': '12345', '_actions': { 'actionsID_action': { 'enabled': True, 'name': 'Testaction' } }} }, 'Attributes': {} } ) environment = models.Environment(**expected) test_utils.save_models(environment) req = self._post('/environments/12345/actions/actionID_action', b'{}') user_id = req.context.user self._create_session_with_state(environment, user_id, states.SessionState.DELETING) self.assertRaises(exc.HTTPForbidden, self.controller.execute, req, '12345', 'actionsID_action', {}) @mock.patch('murano.db.services.sessions.SessionServices.validate') def test_execute_action_with_invalid_session_version(self, mocked_function, _): """Test whether validate session function throws error.""" self._set_policy_rules( {'execute_action': '@'} ) fake_now = timeutils.utcnow() expected = dict( id='12345', name='my-env', version=0, created=fake_now, updated=fake_now, tenant_id=self.tenant, description={ 'Objects': { '?': {'id': '12345', '_actions': { 'actionsID_action': { 'enabled': True, 'name': 'Testaction' } }} }, 'Attributes': {} } ) environment = models.Environment(**expected) test_utils.save_models(environment) req = self._post('/environments/12345/actions/actionID_action', b'{}') mocked_function.return_value = False self.assertRaises(exc.HTTPForbidden, self.controller.execute, req, '12345', 'actionsID_action', {}) def test_get_result(self, _): """Result of task with given id and environment id is returned.""" now = timeutils.utcnow() expected_environment_id = 'test_environment' expected_task_id = 'test_task' expected_result = {'test_result': 'test_result'} environment = models.Environment( id=expected_environment_id, name='test_environment', created=now, updated=now, tenant_id=self.tenant ) task = models.Task( id=expected_task_id, started=now, finished=now, result=expected_result, environment_id=expected_environment_id ) test_utils.save_models(environment, task) request = self._get( '/environments/{environment_id}/actions/{task_id}' .format(environment_id=expected_environment_id, task_id=expected_task_id), ) response = request.get_response(self.api) self.assertEqual(200, response.status_code) self.assertEqual(expected_result, response.json) def test_get_result_not_found(self, _): """Return 404 on null task If task does not exist, it should be handled correctly and API should return 404. """ expected_environment_id = 'test_environment' environment = models.Environment( id=expected_environment_id, name='test_environment', tenant_id=self.tenant ) test_utils.save_models(environment) request = self._get( '/environments/{environment_id}/actions/{task_id}' .format(environment_id=expected_environment_id, task_id='not_existent_task_id'), ) response = request.get_response(self.api) self.assertEqual(404, response.status_code) murano-9.0.0/murano/tests/unit/api/v1/test_sessions.py0000664000175000017500000003416013656750211023055 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis Inc. # Copyright (c) 2016 AT&T Corp # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from unittest import mock from oslo_config import fixture as config_fixture from oslo_serialization import jsonutils from webob import exc from murano.api.v1 import environments from murano.api.v1 import sessions from murano.services import states import murano.tests.unit.api.base as tb from murano.tests.unit import utils as test_utils class TestSessionsApi(tb.ControllerTest, tb.MuranoApiTestCase): def setUp(self): super(TestSessionsApi, self).setUp() self.environments_controller = environments.Controller() self.sessions_controller = sessions.Controller() self.fixture = self.useFixture(config_fixture.Config()) self.fixture.conf(args=[]) def test_cant_deploy_from_another_tenant(self): """Test to prevent deployment under another tenant user's creds If user from one tenant uses session id and environment id of user from another tenant - he is not able to deploy the environment. Bug: #1382026 """ CREDENTIALS_1 = {'tenant': 'test_tenant_1', 'user': 'test_user_1'} CREDENTIALS_2 = {'tenant': 'test_tenant_2', 'user': 'test_user_2'} self._set_policy_rules( {'create_environment': '@'} ) self.expect_policy_check('create_environment') # Create environment for user #1 request = self._post( '/environments', jsonutils.dump_as_bytes({'name': 'test_environment_1'}), **CREDENTIALS_1 ) response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(CREDENTIALS_1['tenant'], response_body['tenant_id']) ENVIRONMENT_ID = response_body['id'] # Create session of user #1 request = self._post( '/environments/{environment_id}/configure' .format(environment_id=ENVIRONMENT_ID), b'', **CREDENTIALS_1 ) response_body = jsonutils.loads(request.get_response(self.api).body) SESSION_ID = response_body['id'] # Deploy the environment using environment id and session id of user #1 # by user #2 request = self._post( '/environments/{environment_id}/sessions/' '{session_id}/deploy' .format(environment_id=ENVIRONMENT_ID, session_id=SESSION_ID), b'', **CREDENTIALS_2 ) response = request.get_response(self.api) # Should be forbidden! self.assertEqual(403, response.status_code) def test_session_show(self): CREDENTIALS_1 = {'tenant': 'test_tenant_1', 'user': 'test_user_1'} CREDENTIALS_2 = {'tenant': 'test_tenant_2', 'user': 'test_user_2'} self._set_policy_rules( {'create_environment': '@'} ) self.expect_policy_check('create_environment') # Create environment for user #1 request = self._post( '/environments', jsonutils.dump_as_bytes({'name': 'test_environment_1'}), **CREDENTIALS_1 ) response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(CREDENTIALS_1['tenant'], response_body['tenant_id']) ENVIRONMENT_ID = response_body['id'] # Create session of user #1 request = self._post( '/environments/{environment_id}/configure' .format(environment_id=ENVIRONMENT_ID), b'', **CREDENTIALS_1 ) response_body = jsonutils.loads(request.get_response(self.api).body) SESSION_ID = response_body['id'] # Show environment with correct credentials request = self._get( '/environments/{environment_id}/sessions/{session_id}' .format(environment_id=ENVIRONMENT_ID, session_id=SESSION_ID), b'', **CREDENTIALS_1 ) response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(SESSION_ID, response_body['id']) # Show environment with incorrect credentials request = self._get( '/environments/{environment_id}/sessions/{session_id}' .format(environment_id=ENVIRONMENT_ID, session_id=SESSION_ID), b'', **CREDENTIALS_2 ) response = request.get_response(self.api) self.assertEqual(403, response.status_code) def test_session_delete(self): CREDENTIALS = {'tenant': 'test_tenant_1', 'user': 'test_user_1'} self._set_policy_rules( {'create_environment': '@'} ) self.expect_policy_check('create_environment') # Create environment request = self._post( '/environments', jsonutils.dump_as_bytes({'name': 'test_environment_1'}), **CREDENTIALS ) response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(CREDENTIALS['tenant'], response_body['tenant_id']) ENVIRONMENT_ID = response_body['id'] # Create session request = self._post( '/environments/{environment_id}/configure' .format(environment_id=ENVIRONMENT_ID), b'', **CREDENTIALS ) response_body = jsonutils.loads(request.get_response(self.api).body) SESSION_ID = response_body['id'] # Delete session request = self._delete( '/environments/{environment_id}/delete/{session_id}' .format(environment_id=ENVIRONMENT_ID, session_id=SESSION_ID), b'', **CREDENTIALS ) response = self.sessions_controller.delete( request, ENVIRONMENT_ID, SESSION_ID) # Make sure the session was deleted request = self._get( '/environments/{environment_id}/sessions/{session_id}' .format(environment_id=ENVIRONMENT_ID, session_id=SESSION_ID), b'', **CREDENTIALS ) response = request.get_response(self.api) self.assertEqual(404, response.status_code) @mock.patch('murano.api.v1.sessions.sessions.SessionServices') @mock.patch('murano.api.v1.sessions.envs') @mock.patch('murano.api.v1.sessions.check_env') def test_configure(self, _, mock_envs, mock_session_services): mock_request = mock.MagicMock(context=test_utils.dummy_context()) mock_session = mock.MagicMock(to_dict=mock.MagicMock( return_value={'test_env_id', 'test_user_id'})) mock_session_services.create.return_value = mock_session result = self.sessions_controller.configure( mock_request, 'test_env_id') self.assertEqual({'test_env_id', 'test_user_id'}, result) @mock.patch('murano.api.v1.sessions.envs') @mock.patch('murano.api.v1.sessions.check_env') def test_configure_with_env_in_illegal_state(self, _, mock_envs): mock_request = mock.MagicMock(context=test_utils.dummy_context()) illegal_states = [states.EnvironmentStatus.DEPLOYING, states.EnvironmentStatus.DELETING] expected_error_msg = 'Could not open session for environment '\ ', environment has '\ 'deploying or deleting status.'\ .format(env_id='test_env_id') for state in illegal_states: mock_envs.EnvironmentServices.get_status.return_value = state with self.assertRaisesRegex(exc.HTTPForbidden, expected_error_msg): self.sessions_controller.configure(mock_request, 'test_env_id') @mock.patch('murano.api.v1.sessions.check_session') @mock.patch('murano.api.v1.sessions.db_session') def test_show_with_invalid_user(self, mock_db_session, _): mock_session = mock.MagicMock(user_id='test_user_id') mock_db_session.get_session().query().get.return_value = mock_session mock_request = mock.MagicMock(context=test_utils.dummy_context()) mock_request.context.user = 'another_test_user_id' expected_error_msg = 'User is not authorized to '\ 'access session .'\ .format(mock_request.context.user, 'test_sess_id') with self.assertRaisesRegex(exc.HTTPUnauthorized, expected_error_msg): self.sessions_controller.show(mock_request, None, 'test_sess_id') @mock.patch('murano.api.v1.sessions.check_session') @mock.patch('murano.api.v1.sessions.sessions.SessionServices') @mock.patch('murano.api.v1.sessions.db_session') def test_show_with_invalid_session(self, mock_db_session, mock_session_services, _): mock_session = mock.MagicMock(user_id='test_user_id') mock_db_session.get_session().query().get.return_value = mock_session mock_session_services.validate.return_value = False mock_request = mock.MagicMock(context=test_utils.dummy_context()) mock_request.context.user = 'test_user_id' expected_error_msg = 'Session is invalid: environment'\ ' has been updated or updating right now with'\ ' other session'.format('test_sess_id') with self.assertRaisesRegex(exc.HTTPForbidden, expected_error_msg): self.sessions_controller.show(mock_request, None, 'test_sess_id') @mock.patch('murano.api.v1.sessions.check_session') @mock.patch('murano.api.v1.sessions.db_session') def test_delete_with_invalid_user(self, mock_db_session, _): mock_session = mock.MagicMock(user_id='test_user_id') mock_db_session.get_session().query().get.return_value = mock_session mock_request = mock.MagicMock(context=test_utils.dummy_context()) mock_request.context.user = 'another_test_user_id' expected_error_msg = 'User is not authorized to '\ 'access session .'\ .format(mock_request.context.user, 'test_sess_id') with self.assertRaisesRegex(exc.HTTPUnauthorized, expected_error_msg): self.sessions_controller.delete(mock_request, None, 'test_sess_id') @mock.patch('murano.api.v1.sessions.check_session') @mock.patch('murano.api.v1.sessions.sessions.SessionServices') @mock.patch('murano.api.v1.sessions.db_session') def test_delete_with_deploying_session(self, mock_db_session, mock_session_services, _): mock_session = mock.MagicMock(user_id='test_user_id', state=states.SessionState.DEPLOYING) mock_db_session.get_session().query().get.return_value = mock_session mock_session_services.validate.return_value = False mock_request = mock.MagicMock(context=test_utils.dummy_context()) mock_request.context.user = 'test_user_id' expected_error_msg = 'Session is in deploying '\ 'state and could not be deleted'\ .format('test_sess_id') with self.assertRaisesRegex(exc.HTTPForbidden, expected_error_msg): self.sessions_controller.delete(mock_request, None, 'test_sess_id') @mock.patch('murano.api.v1.sessions.check_session') @mock.patch('murano.api.v1.sessions.sessions.SessionServices') @mock.patch('murano.api.v1.sessions.db_session') def test_deploy_with_invalid_session(self, mock_db_session, mock_session_services, _): mock_db_session.get_session().query().get.return_value = None mock_session_services.validate.return_value = False mock_request = mock.MagicMock(context=test_utils.dummy_context()) expected_error_msg = 'Session is invalid: environment'\ ' has been updated or updating right now with'\ ' other session'.format('test_sess_id') with self.assertRaisesRegex(exc.HTTPForbidden, expected_error_msg): self.sessions_controller.deploy(mock_request, None, 'test_sess_id') @mock.patch('murano.api.v1.sessions.check_session') @mock.patch('murano.api.v1.sessions.sessions.SessionServices') @mock.patch('murano.api.v1.sessions.db_session') def test_deploy_with_session_in_invalid_state(self, mock_db_session, mock_session_services, _): mock_session_services.validate.return_value = True mock_request = mock.MagicMock(context=test_utils.dummy_context()) expected_error_msg = 'Session is already deployed or '\ 'deployment is in progress'.format('test_sess_id') invalid_states = [states.SessionState.DEPLOYING, states.SessionState.DEPLOYED, states.SessionState.DEPLOY_FAILURE, states.SessionState.DELETING, states.SessionState.DELETE_FAILURE] for state in invalid_states: mock_session = mock.MagicMock(state=state) mock_db_session.get_session().query().get.return_value =\ mock_session with self.assertRaisesRegex(exc.HTTPForbidden, expected_error_msg): self.sessions_controller.deploy( mock_request, None, 'test_sess_id') murano-9.0.0/murano/tests/unit/api/v1/test_static_actions.py0000664000175000017500000001221513656750211024213 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # Copyright (c) 2016 AT&T Corp # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from unittest import mock from oslo_messaging.rpc import client from oslo_serialization import jsonutils from webob import exc from murano.api.v1 import static_actions from murano.common import policy import murano.tests.unit.api.base as tb @mock.patch.object(policy, 'check') class TestStaticActionsApi(tb.ControllerTest, tb.MuranoApiTestCase): def setUp(self): super(TestStaticActionsApi, self).setUp() self.controller = static_actions.Controller() def test_execute_static_action(self, mock_policy_check): """Test that action execution results in the correct rpc call.""" self._set_policy_rules( {'execute_action': '@'} ) action = { 'method': 'TestAction', 'args': {'name': 'John'}, 'class_name': 'TestClass', 'pkg_name': 'TestPackage', 'class_version': '=0' } rpc_task = { 'action': action, 'token': None, 'project_id': 'test_tenant', 'user_id': 'test_user', 'id': mock.ANY } request_data = { "className": 'TestClass', "methodName": 'TestAction', "packageName": 'TestPackage', "classVersion": '=0', "parameters": {'name': 'John'} } req = self._post('/actions', jsonutils.dump_as_bytes(request_data)) try: self.controller.execute(req, request_data) except TypeError: pass self.mock_engine_rpc.call_static_action.assert_called_once_with( rpc_task) def test_execute_static_action_handle_bad_data_exc(self, _): request_data = { "className": None, "methodName": 'TestAction' } req = self._post('/actions', jsonutils.dump_as_bytes(request_data)) self.assertRaises(exc.HTTPBadRequest, self.controller.execute, req, request_data) request_data = { "className": 'TestClass', "methodName": None } req = self._post('/actions', jsonutils.dump_as_bytes(request_data)) self.assertRaises(exc.HTTPBadRequest, self.controller.execute, req, request_data) @mock.patch('murano.services.static_actions.StaticActionServices.execute') def test_execute_static_action_handle_execute_excs(self, mock_execute, _): """Test whether execute handles all exceptions thrown correctly.""" request_data = { "className": 'TestClass', "methodName": 'TestAction', "packageName": 'TestPackage', "classVersion": '=0', "parameters": {'name': 'John'} } exc_types = ['NoClassFound', 'NoMethodFound', 'NoPackageFound', 'NoPackageForClassFound', 'MethodNotExposed', 'NoMatchingMethodException'] for exc_type in exc_types: mock_execute.side_effect = client.RemoteError(exc_type=exc_type) req = self._post('/actions', jsonutils.dump_as_bytes(request_data)) self.assertRaises(exc.HTTPNotFound, self.controller.execute, req, request_data) self.assertEqual(mock_execute.call_count, len(exc_types)) exc_type = 'ContractViolationException' mock_execute.side_effect = client.RemoteError(exc_type=exc_type) req = self._post('/actions', jsonutils.dump_as_bytes(request_data)) self.assertRaises(exc.HTTPBadRequest, self.controller.execute, req, request_data) exc_types.append(exc_type) self.assertEqual(mock_execute.call_count, len(exc_types)) exc_type = 'ThisIsARandomTestException' mock_execute.side_effect = client.RemoteError(exc_type=exc_type) req = self._post('/actions', jsonutils.dump_as_bytes(request_data)) self.assertRaises(exc.HTTPServiceUnavailable, self.controller.execute, req, request_data) exc_types.append(exc_type) self.assertEqual(mock_execute.call_count, len(exc_types)) try: int('this will throw a value error') except ValueError as e: setattr(e, 'message', None) exc_type = e mock_execute.side_effect = exc_type req = self._post('/actions', jsonutils.dump_as_bytes(request_data)) self.assertRaises(exc.HTTPBadRequest, self.controller.execute, req, request_data) exc_types.append(exc_type) self.assertEqual(mock_execute.call_count, len(exc_types)) murano-9.0.0/murano/tests/unit/api/v1/test_deployments.py0000664000175000017500000003267513656750211023563 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import murano.tests.unit.api.base as tb from unittest import mock from oslo_config import fixture as config_fixture from oslo_serialization import jsonutils from murano.api.v1 import deployments from murano.api.v1 import environments from webob import exc class TestDeploymentsApi(tb.ControllerTest, tb.MuranoApiTestCase): def setUp(self): super(TestDeploymentsApi, self).setUp() self.environments_controller = environments.Controller() self.deployments_controller = deployments.Controller() self.fixture = self.useFixture(config_fixture.Config()) self.fixture.conf(args=[]) def test_deployments_index(self): CREDENTIALS = {'tenant': 'test_tenant_1', 'user': 'test_user_1'} self._set_policy_rules( {'create_environment': '@', 'list_deployments': '@'} ) # Create an environment. self.expect_policy_check('create_environment') request = self._post( '/environments', jsonutils.dump_as_bytes({'name': 'test_environment_1'}), **CREDENTIALS ) response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(CREDENTIALS['tenant'], response_body['tenant_id']) self.assertEqual('test_environment_1', response_body['name']) ENVIRONMENT_ID = response_body['id'] # Verify that the environment has not yet been deployed. self.expect_policy_check('list_deployments', {'environment_id': ENVIRONMENT_ID}) result = self.deployments_controller.index(request, ENVIRONMENT_ID) self.assertEqual([], result['deployments']) # Deploy the environment. request = self._post('/environments/{environment_id}/configure' .format(environment_id=ENVIRONMENT_ID), b'', **CREDENTIALS) response_body = jsonutils.loads(request.get_response(self.api).body) SESSION_ID = response_body['id'] request = self._post('/environments/{environment_id}/sessions/' '{session_id}/deploy' .format(environment_id=ENVIRONMENT_ID, session_id=SESSION_ID), b'', **CREDENTIALS) result = request.get_response(self.api) self.assertEqual('200 OK', result.status) # Verify that the environment was deployed. self.expect_policy_check('list_deployments', {'environment_id': ENVIRONMENT_ID}) result = self.deployments_controller.index(request, ENVIRONMENT_ID) deployment_id = result['deployments'][0]['id'] self.assertEqual(1, len(result['deployments'])) self.assertIsNotNone(deployment_id) def test_deployments_all_environments(self): """Test list deployments for all environments. Create 2 environments, deploy both, and check that 2 deployments exist. """ CREDENTIALS = {'tenant': 'test_tenant_1', 'user': 'test_user_1'} self._set_policy_rules( {'create_environment': '@', 'list_deployments_all_environments': '@'} ) for count in range(2): # Create environment. self.expect_policy_check('create_environment') request = self._post( '/environments', jsonutils.dump_as_bytes( {'name': 'test_environment_{0}'.format(count)}), **CREDENTIALS ) response_body = jsonutils.loads( request.get_response(self.api).body) self.assertEqual(CREDENTIALS['tenant'], response_body['tenant_id']) self.assertEqual('test_environment_{0}'.format(count), response_body['name']) ENVIRONMENT_ID = response_body['id'] # Deploy environment. request = self._post('/environments/{environment_id}/configure' .format(environment_id=ENVIRONMENT_ID), b'', **CREDENTIALS) response_body = jsonutils.loads( request.get_response(self.api).body) SESSION_ID = response_body['id'] request = self._post('/environments/{environment_id}/sessions/' '{session_id}/deploy' .format(environment_id=ENVIRONMENT_ID, session_id=SESSION_ID), b'', **CREDENTIALS) result = request.get_response(self.api) self.assertEqual('200 OK', result.status) # Check that 2 deployments exist. self.expect_policy_check('list_deployments_all_environments') result = self.deployments_controller.index(request, None) self.assertEqual(2, len(result['deployments'])) for deployment in result['deployments']: self.assertIsNotNone(deployment) self.assertNotEqual(result['deployments'][0], result['deployments'][1]) def test_deployments_all_environments_different_tenants(self): """Test list deployments for all environments in different tenants. Should only return return environments for current tenant. """ CREDENTIALS = {'tenant': 'test_tenant_1', 'user': 'test_user_1'} ALT_CREDENTIALS = {'tenant': 'test_tenant_2', 'user': 'test_user_2'} self._set_policy_rules( {'create_environment': '@', 'list_deployments_all_environments': '@'} ) deployments = [] # Create the first environment inside first tenant and the second # environments inside the alternate tenant. Then deploy both. for count, creds in enumerate([CREDENTIALS, ALT_CREDENTIALS]): # Create each environment. self.expect_policy_check('create_environment') request = self._post( '/environments', jsonutils.dump_as_bytes( {'name': 'test_environment_{0}'.format(count)}), **creds ) response_body = jsonutils.loads( request.get_response(self.api).body) self.assertEqual(creds['tenant'], response_body['tenant_id']) self.assertEqual('test_environment_{0}'.format(count), response_body['name']) ENVIRONMENT_ID = response_body['id'] # Deploy each environment. request = self._post('/environments/{environment_id}/configure' .format(environment_id=ENVIRONMENT_ID), b'', **creds) response_body = jsonutils.loads( request.get_response(self.api).body) SESSION_ID = response_body['id'] request = self._post('/environments/{environment_id}/sessions/' '{session_id}/deploy' .format(environment_id=ENVIRONMENT_ID, session_id=SESSION_ID), b'', **creds) result = request.get_response(self.api) self.assertEqual('200 OK', result.status) # Check that each tenant only returns one deployment. self.expect_policy_check('list_deployments_all_environments') result = self.deployments_controller.index(request, None) self.assertEqual(1, len(result['deployments'])) deployment_id = result['deployments'][0]['id'] self.assertIsNotNone(deployment_id) deployments.append(deployment_id) self.assertNotEqual(deployments[0], deployments[1]) def test_deployments_not_found_statuses(self): CREDENTIALS = {'tenant': 'test_tenant_1', 'user': 'test_user_1'} self._set_policy_rules( {'create_environment': '@', 'statuses_deployments': '@'} ) self.expect_policy_check('create_environment') # Create environment request = self._post('/environments', jsonutils. dump_as_bytes({'name': 'test_environment_1'}), **CREDENTIALS) response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(CREDENTIALS['tenant'], response_body['tenant_id']) ENVIRONMENT_ID = response_body['id'] deploy_id = '1' self.expect_policy_check('statuses_deployments', {'deployment_id': deploy_id, 'environment_id': ENVIRONMENT_ID}) self.assertRaises(exc.HTTPNotFound, self.deployments_controller.statuses, request, ENVIRONMENT_ID, deploy_id) def test_deployments_status(self): CREDENTIALS = {'tenant': 'test_tenant', 'user': 'test_user'} self._set_policy_rules( {'create_environment': '@', 'statuses_deployments': '@', 'list_deployments': '@'} ) self.expect_policy_check('create_environment') # Create environment request = self._post( '/environments', jsonutils.dump_as_bytes({'name': 'test_environment'}), **CREDENTIALS ) response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(CREDENTIALS['tenant'], response_body['tenant_id']) ENVIRONMENT_ID = response_body['id'] # Create session request = self._post('/environments/{environment_id}/configure' .format(environment_id=ENVIRONMENT_ID), b'', **CREDENTIALS) response_body = jsonutils.loads(request.get_response(self.api).body) SESSION_ID = response_body['id'] request = self._post('/environments/{environment_id}/sessions/' '{session_id}/deploy' .format(environment_id=ENVIRONMENT_ID, session_id=SESSION_ID), b'', **CREDENTIALS) request.get_response(self.api) self.expect_policy_check('list_deployments', {'environment_id': ENVIRONMENT_ID}) result = self.deployments_controller.index(request, ENVIRONMENT_ID) deploy_id = result['deployments'][0]['id'] self.expect_policy_check('statuses_deployments', {'deployment_id': deploy_id, 'environment_id': ENVIRONMENT_ID}) result = self.deployments_controller.statuses(request, ENVIRONMENT_ID, deploy_id) self.assertNotEqual(result['reports'], []) request.GET['service_id'] = "12" self.expect_policy_check('statuses_deployments', {'deployment_id': deploy_id, 'environment_id': ENVIRONMENT_ID}) result = self.deployments_controller.statuses(request, ENVIRONMENT_ID, deploy_id) self.assertEqual(result['reports'], []) self.expect_policy_check('statuses_deployments', {'deployment_id': deploy_id, 'environment_id': '12'}) self.assertRaises(exc.HTTPBadRequest, self.deployments_controller.statuses, request, "12", deploy_id) def test_set_dep_state(self): deployment = mock.Mock() deployment.id = "1" deployment.description = {'applications': []} unit = mock.Mock() query_result = mock.Mock() filter_by_result = mock.Mock() filter_by_result.count.return_value = 0 query_result.filter_by.return_value = filter_by_result unit.query.return_value = query_result result = deployments.set_dep_state(deployment, unit) self.assertEqual('success', result.state) deployment.description = None result = deployments.set_dep_state(deployment, unit) self.assertEqual('success', result.state) filter_by_result.count.return_value = 1 query_result.filter_by.return_value = filter_by_result result = deployments.set_dep_state(deployment, unit) self.assertEqual('completed_w_errors', result.state) filter_by_result.count.return_value = 0 query_result.filter_by.return_value = filter_by_result deployment.finished = False result = deployments.set_dep_state(deployment, unit) self.assertEqual('running', result.state) filter_by_result.count.return_value = 1 query_result.filter_by.return_value = filter_by_result result = deployments.set_dep_state(deployment, unit) self.assertEqual('running_w_errors', result.state) murano-9.0.0/murano/tests/unit/api/v1/cloudfoundry/0000775000175000017500000000000013656750351022314 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/api/v1/cloudfoundry/__init__.py0000664000175000017500000000000013656750211024406 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/api/v1/cloudfoundry/test_cfapi.py0000664000175000017500000005672413656750211025020 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # Copyright 2017 AT&T Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import json from unittest import mock from oslo_serialization import base64 from webob import response from murano.cfapi import cfapi as api from murano.common import wsgi from murano.db import models from murano.tests.unit import base from muranoclient.common import exceptions class TestController(base.MuranoTestCase): def setUp(self): super(TestController, self).setUp() self.controller = api.Controller() self.request = mock.MagicMock() auth = 'Basic {}'.format(base64.encode_as_text(b'test:test')) self.request.headers = {'Authorization': auth, 'X-Auth-Token': 'foo-bar', 'X-Project-Id': 'bar-baz'} self.addCleanup(mock.patch.stopall) @mock.patch('murano.common.policy.check_is_admin') @mock.patch('murano.cfapi.cfapi._get_muranoclient') def test_list(self, mock_client, mock_policy): pkg0 = mock.MagicMock() pkg0.id = 'xxx' pkg0.name = 'foo' pkg0.description = 'stub pkg' mock_client.return_value.packages.filter =\ mock.MagicMock(return_value=[pkg0]) answer = {'services': [{'bindable': True, 'description': pkg0.description, 'id': pkg0.id, 'name': pkg0.name, 'plans': [{'description': ('Default plan for ' 'the service ' '{name}').format( name=pkg0.name), 'id': 'xxx-1', 'name': 'default'}], 'tags': []}]} resp = self.controller.list(self.request) self.assertEqual(answer, resp) @mock.patch('murano.common.policy.check_is_admin') @mock.patch('murano.cfapi.cfapi._get_muranoclient') @mock.patch('murano.db.services.cf_connections.set_instance_for_service') @mock.patch('murano.db.services.cf_connections.get_environment_for_space') @mock.patch('murano.db.services.cf_connections.get_tenant_for_org') def test_provision_from_scratch(self, mock_get_tenant, mock_get_environment, mock_is, mock_client, mock_policy): body = {"space_guid": "s1-p1", "organization_guid": "o1-r1", "plan_id": "p1-l1", "service_id": "s1-e1", "parameters": {'some_parameter': 'value', '?': {}}} self.request.body = json.dumps(body) mock_get_environment.return_value = '555-555' mock_client.return_value = mock.MagicMock() resp = self.controller.provision(self.request, {}, '111-111') self.assertIsInstance(resp, response.Response) @mock.patch('murano.common.policy.check_is_admin') @mock.patch('murano.cfapi.cfapi._get_muranoclient') @mock.patch('murano.db.services.cf_connections.set_instance_for_service') @mock.patch('murano.db.services.cf_connections.set_environment_for_space') @mock.patch('murano.db.services.cf_connections.set_tenant_for_org') @mock.patch('murano.db.services.cf_connections.get_environment_for_space') @mock.patch('murano.db.services.cf_connections.get_tenant_for_org') def test_provision_existent(self, mock_get_tenant, mock_get_environment, mock_set_tenant, mock_set_environment, mock_is, mock_client, mock_policy): body = {"space_guid": "s1-p1", "organization_guid": "o1-r1", "plan_id": "p1-l1", "service_id": "s1-e1", "parameters": {'some_parameter': 'value', '?': {}}} self.request.body = json.dumps(body) mock_package = mock_client.return_value.packages.get mock_package.return_value = mock.MagicMock() mock_get_environment.side_effect = AttributeError mock_get_tenant.side_effect = AttributeError resp = self.controller.provision(self.request, {}, '111-111') self.assertIsInstance(resp, response.Response) @mock.patch('murano.cfapi.cfapi._get_muranoclient') @mock.patch('murano.db.services.cf_connections.get_service_for_instance') def test_deprovision(self, mock_get_si, mock_client): service = mock.MagicMock() service.service_id = '111-111' service.tenant_id = '222-222' service.env_id = '333-333' mock_get_si.return_value = service resp = self.controller.deprovision(self.request, '555-555') self.assertIsInstance(resp, response.Response) @mock.patch('murano.cfapi.cfapi._get_muranoclient') @mock.patch('murano.db.services.cf_connections.get_service_for_instance') def test_bind(self, mock_get_si, mock_client): service = mock.MagicMock() service.service_id = '111-111' service.tenant_id = '222-222' service.env_id = '333-333' mock_get_si.return_value = service services = [{'id': 'xxx-xxx-xxx', '?': {'id': '111-111', '_actions': { 'dafsa_getCredentials': { 'name': 'getCredentials'}}}, 'instance': {}}] mock_client.return_value.environments.get =\ mock.MagicMock(return_value=mock.MagicMock(services=services)) mock_client.return_value.actions.get_result =\ mock.MagicMock(return_value={'result': {'smthg': 'nothing'}}) nice_resp = {'credentials': {'smthg': 'nothing'}} resp = self.controller.bind(self.request, {}, '555-555', '666-666') self.assertEqual(nice_resp, resp) def test_package_to_service(self): mock_package = mock.Mock( spec_set=models.Package, id='foo_package_id', description='a' * 257, tags=[mock.sentinel.package_tag]) mock_package.configure_mock(name=mock.sentinel.package_name) expected_service = { 'id': 'foo_package_id', 'name': mock.sentinel.package_name, 'description': 'a' * 253 + ' ...', 'bindable': True, 'tags': [mock.sentinel.package_tag], 'plans': [{ 'id': 'foo_package_id-1', 'name': 'default', 'description': 'Default plan for the service sentinel.package_name' }] } service = self.controller._package_to_service(mock_package) for key, val in expected_service.items(): if key != 'plans': self.assertEqual(val, service[key]) else: self.assertEqual(1, len(service['plans'])) for plan_key, plan_val in expected_service['plans'][0].items(): self.assertEqual(plan_val, service['plans'][0][plan_key]) def test_get_service_return_none(self): mock_env = mock.Mock(services=[]) self.assertIsNone(self.controller._get_service(mock_env, None)) @mock.patch.object(api, 'LOG', autospec=True) @mock.patch.object(api, 'db_cf', autospec=True) @mock.patch.object(api, '_get_muranoclient', autospec=True) def test_provision_except_http_not_found(self, mock_get_muranoclient, mock_db_cf, mock_log): test_body = { 'space_guid': 'foo_space_guid', 'organization_guid': 'foo_organization_guid', 'plan_id': 'foo_plan_id', 'service_id': 'foo_service_id', 'parameters': {} } test_headers = { 'X-Auth-Token': mock.sentinel.token } mock_request = mock.Mock(body=json.dumps(test_body), headers=test_headers) mock_muranoclient = mock.Mock() mock_muranoclient.environments.get.side_effect = \ exceptions.HTTPNotFound mock_muranoclient.environments.create.return_value = \ mock.Mock(id=mock.sentinel.alt_environment_id) mock_get_muranoclient.return_value = mock_muranoclient mock_db_cf.get_environment_for_space.return_value = \ mock.sentinel.environment_id resp = self.controller.provision(mock_request, None, None) self.assertEqual(202, resp.status_code) self.assertEqual({}, resp.json_body) mock_db_cf.get_environment_for_space.assert_called_once_with( 'foo_space_guid') mock_muranoclient.environments.get.assert_called_once_with( mock.sentinel.environment_id) mock_log.info.assert_has_calls([ mock.call("Can not find environment_id sentinel.environment_id" ", will create a new one."), mock.call("Cloud Foundry foo_space_guid remapped to " "sentinel.alt_environment_id") ]) @mock.patch.object(api, 'uuid', autospec=True) @mock.patch.object(api, 'db_cf', autospec=True) @mock.patch.object(api, '_get_muranoclient', autospec=True) def test_provision_with_dict_parameters(self, mock_get_muranoclient, mock_db_cf, mock_uuid): test_body = { 'space_guid': 'foo_space_guid', 'organization_guid': 'foo_organization_guid', 'plan_id': 'foo_plan_id', 'service_id': 'foo_service_id', 'parameters': { 'foo': { '?': { 'bar': 'baz' } } } } test_headers = { 'X-Auth-Token': mock.sentinel.token } mock_request = mock.Mock(body=json.dumps(test_body), headers=test_headers) mock_package = mock_get_muranoclient.return_value.packages.get.\ return_value mock_service = mock.MagicMock() self.controller._make_service = mock.Mock(return_value=mock_service) mock_uuid.uuid4.return_value.hex = mock.sentinel.uuid resp = self.controller.provision(mock_request, None, None) self.assertEqual(202, resp.status_code) self.assertEqual({}, resp.json_body) self.controller._make_service.assert_called_once_with( 'foo_space_guid', mock_package, 'foo_plan_id') mock_service.update.assert_called_once_with( {'foo': {'?': {'bar': 'baz', 'id': mock.sentinel.uuid}}}) @mock.patch.object(api, 'db_cf', autospec=True) def test_deprovision_with_missing_service(self, mock_db_cf): mock_db_cf.get_service_for_instance.return_value = None self.assertEqual({}, self.controller.deprovision(None, None)) mock_db_cf.get_service_for_instance.assert_called_once_with(None) @mock.patch.object(api, 'db_cf', autospec=True) def test_bind_with_missing_service(self, mock_db_cf): mock_db_cf.get_service_for_instance.return_value = None self.assertEqual({}, self.controller.bind(None, None, None, None)) mock_db_cf.get_service_for_instance.assert_called_once_with(None) @mock.patch.object(api, 'LOG', autospec=True) @mock.patch.object(api.Controller, '_get_service', autospec=True) @mock.patch.object(api, '_get_muranoclient', autospec=True) @mock.patch.object(api, 'db_cf', autospec=True) def test_bind_except_key_error(self, mock_db_cf, mock_get_muranoclient, mock_get_service, mock_log): mock_db_service = mock.Mock( service_id=mock.sentinel.service_id, environment_id=mock.sentinel.environment_id) test_service = {} test_request = mock.Mock( headers={'X-Auth-Token': mock.sentinel.auth_token}) mock_db_cf.get_service_for_instance.return_value = mock_db_service mock_get_service.return_value = test_service m_cli = mock_get_muranoclient.return_value m_env = m_cli.environments.get.return_value resp = self.controller.bind(test_request, None, None, None) self.assertEqual(500, resp.status_code) m_cli.environments.get.assert_called_once_with( mock.sentinel.environment_id, mock.ANY) mock_get_service.assert_called_once_with(self.controller, m_env, mock.sentinel.service_id) mock_log.warning.assert_called_once_with( "This application doesn't have actions at all") @mock.patch.object(api, 'LOG', autospec=True) @mock.patch.object(api.Controller, '_get_service', autospec=True) @mock.patch.object(api, '_get_muranoclient', autospec=True) @mock.patch.object(api, 'db_cf', autospec=True) def test_bind_without_get_credentials(self, mock_db_cf, mock_get_muranoclient, mock_get_service, mock_log): mock_db_service = mock.Mock( service_id=mock.sentinel.service_id, environment_id=mock.sentinel.environment_id) test_service = {'?': {'_actions': []}} test_request = mock.Mock( headers={'X-Auth-Token': mock.sentinel.auth_token}) mock_db_cf.get_service_for_instance.return_value = mock_db_service mock_get_service.return_value = test_service m_cli = mock_get_muranoclient.return_value m_env = m_cli.environments.get.return_value resp = self.controller.bind(test_request, None, None, None) self.assertEqual(500, resp.status_code) m_cli.environments.get.assert_called_once_with( mock.sentinel.environment_id, mock.ANY) mock_get_service.assert_called_once_with(self.controller, m_env, mock.sentinel.service_id) mock_log.warning.assert_called_once_with( "This application doesn't have action getCredentials") def test_unbind(self): self.assertEqual({}, self.controller.unbind(None, None, None)) @mock.patch.object(api, 'LOG', autospec=True) @mock.patch.object(api, 'db_cf', autospec=True) def test_get_last_operation_without_service(self, mock_db_cf, mock_log): mock_db_cf.get_service_for_instance.return_value = None resp = self.controller.get_last_operation( None, mock.sentinel.instance_id) self.assertEqual(410, resp.status_code) self.assertEqual({}, resp.json_body) mock_log.warning.assert_called_once_with( 'Requested service for instance sentinel.instance_id is not ' 'found') @mock.patch.object(api, '_get_muranoclient', autospec=True) @mock.patch.object(api, 'db_cf', autospec=True) def test_get_last_operation_succeeded(self, mock_db_cf, mock_get_muranoclient): mock_service = mock.Mock( environment_id=mock.sentinel.environment_id) mock_request = mock.Mock( headers={'X-Auth-Token': mock.sentinel.auth_token}) mock_db_cf.get_service_for_instance.return_value = mock_service m_cli = mock_get_muranoclient.return_value m_env = m_cli.environments.get.return_value m_env.status = 'ready' resp = self.controller.get_last_operation( mock_request, mock.sentinel.instance_id) self.assertEqual(200, resp.status_code) self.assertEqual( {'state': 'succeeded', 'description': 'operation succeed'}, resp.json_body) mock_get_muranoclient.assert_called_once_with(mock.sentinel.auth_token, mock_request) m_cli.environments.get.assert_called_once_with( mock.sentinel.environment_id) @mock.patch.object(api, '_get_muranoclient', autospec=True) @mock.patch.object(api, 'db_cf', autospec=True) def test_get_last_operation_in_progress(self, mock_db_cf, mock_get_muranoclient): mock_service = mock.Mock( environment_id=mock.sentinel.environment_id) mock_request = mock.Mock( headers={'X-Auth-Token': mock.sentinel.auth_token}) mock_db_cf.get_service_for_instance.return_value = mock_service m_cli = mock_get_muranoclient.return_value m_env = m_cli.environments.get.return_value progress_statuses = ['pending', 'deleting', 'deploying'] for status in progress_statuses: m_env.status = status resp = self.controller.get_last_operation( mock_request, mock.sentinel.instance_id) self.assertEqual(202, resp.status_code) self.assertEqual( {'state': 'in progress', 'description': 'operation in progress'}, resp.json_body) mock_get_muranoclient.assert_called_once_with( mock.sentinel.auth_token, mock_request) m_cli.environments.get.assert_called_once_with( mock.sentinel.environment_id) mock_get_muranoclient.reset_mock() m_cli.environments.get.reset_mock() @mock.patch.object(api, '_get_muranoclient', autospec=True) @mock.patch.object(api, 'db_cf', autospec=True) def test_get_last_operation_failed(self, mock_db_cf, mock_get_muranoclient): mock_service = mock.Mock( environment_id=mock.sentinel.environment_id) mock_request = mock.Mock( headers={'X-Auth-Token': mock.sentinel.auth_token}) mock_db_cf.get_service_for_instance.return_value = mock_service m_cli = mock_get_muranoclient.return_value m_env = m_cli.environments.get.return_value failed_statuses = ['deploy failure', 'delete failure'] for status in failed_statuses: m_env.status = status resp = self.controller.get_last_operation( mock_request, mock.sentinel.instance_id) self.assertEqual(200, resp.status_code) self.assertEqual( {'state': 'failed', 'description': '{0}. Please correct it manually' .format(status)}, resp.json_body) mock_get_muranoclient.assert_called_once_with( mock.sentinel.auth_token, mock_request) m_cli.environments.get.assert_called_once_with( mock.sentinel.environment_id) mock_get_muranoclient.reset_mock() m_cli.environments.get.reset_mock() @mock.patch.object(api, '_get_muranoclient', autospec=True) @mock.patch.object(api, 'db_cf', autospec=True) def test_get_last_operation_unknown_status(self, mock_db_cf, mock_get_muranoclient): mock_service = mock.Mock( environment_id=mock.sentinel.environment_id) mock_request = mock.Mock( headers={'X-Auth-Token': mock.sentinel.auth_token}) mock_db_cf.get_service_for_instance.return_value = mock_service m_cli = mock_get_muranoclient.return_value m_env = m_cli.environments.get.return_value m_env.status = 'unknown' resp = self.controller.get_last_operation( mock_request, mock.sentinel.instance_id) self.assertEqual(500, resp.status_code) self.assertEqual( {'state': 'unknown', 'description': 'operation unknown'}, resp.json_body) mock_get_muranoclient.assert_called_once_with( mock.sentinel.auth_token, mock_request) m_cli.environments.get.assert_called_once_with( mock.sentinel.environment_id) @mock.patch.object(api, 'muranoclient', autospec=True) @mock.patch.object(api, 'glare_client', autospec=True) def test_get_muranoclient(self, mock_glare_client, mock_muranoclient): self._override_conf() m_artifacts_client = mock.Mock() m_muranoclient = mock.Mock() mock_glare_client.Client.return_value = m_artifacts_client mock_muranoclient.Client.return_value = m_muranoclient client = api._get_muranoclient(mock.sentinel.token_id, None) self.assertEqual(m_muranoclient, client) mock_glare_client.Client.assert_called_once_with( endpoint='foo_glare_url', token=mock.sentinel.token_id, insecure=True, key_file='foo_key_file', ca_file='foo_ca_file', cert_file='foo_cert_file', type_name='murano', type_version=1) mock_muranoclient.Client.assert_called_once_with( 1, 'foo_murano_url', token=mock.sentinel.token_id, artifacts_client=m_artifacts_client) @mock.patch.object(api, 'LOG', autospec=True) @mock.patch.object(api, 'muranoclient', autospec=True) @mock.patch.object(api, 'glare_client', autospec=True) def test_get_muranoclient_without_urls(self, mock_glare_client, mock_muranoclient, mock_log): self._override_conf(without_urls=True) m_artifacts_client = mock.Mock() m_muranoclient = mock.Mock() mock_glare_client.Client.return_value = m_artifacts_client mock_muranoclient.Client.return_value = m_muranoclient mock_request = mock.Mock(endpoints={'murano': None}) client = api._get_muranoclient(mock.sentinel.token_id, mock_request) self.assertEqual(m_muranoclient, client) mock_glare_client.Client.assert_called_once_with( endpoint=None, token=mock.sentinel.token_id, insecure=True, key_file='foo_key_file', ca_file='foo_ca_file', cert_file='foo_cert_file', type_name='murano', type_version=1) mock_muranoclient.Client.assert_called_once_with( 1, None, token=mock.sentinel.token_id, artifacts_client=m_artifacts_client) mock_log.error.assert_has_calls([ mock.call('No glare url is specified and no "artifact" ' 'service is registered in keystone.'), mock.call('No murano url is specified and no ' '"application-catalog" service is registered in ' 'keystone.') ]) def _override_conf(self, without_urls=False): if without_urls: self.override_config('url', None, group='glare') self.override_config('url', None, group='murano') else: self.override_config('url', 'foo_glare_url', group='glare') self.override_config('url', 'foo_murano_url', group='murano') for arg, group, override_val in ( ('packages_service', 'engine', 'glare'), ('insecure', 'glare', True), ('key_file', 'glare', 'foo_key_file'), ('ca_file', 'glare', 'foo_ca_file'), ('cert_file', 'glare', 'foo_cert_file')): self.override_config(arg, override_val, group=group) def test_resource(self): self.assertIsInstance(api.create_resource(), wsgi.Resource) murano-9.0.0/murano/tests/unit/api/v1/test_catalog.py0000664000175000017500000016123413656750211022624 0ustar zuulzuul00000000000000# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import cgi from datetime import datetime import imghdr from io import StringIO import os import tempfile from unittest import mock import uuid from oslo_config import cfg from oslo_serialization import jsonutils from oslo_utils import timeutils from webob import exc from murano.api.v1 import catalog from murano.api.v1 import PKG_PARAMS_MAP from murano.common import exceptions as common_exc from murano.db.catalog import api as db_catalog_api from murano.db import models from murano.packages import exceptions from murano.packages import load_utils import murano.tests.unit.api.base as test_base import murano.tests.unit.utils as test_utils CONF = cfg.CONF class TestCatalogApi(test_base.ControllerTest, test_base.MuranoApiTestCase): def setUp(self): super(TestCatalogApi, self).setUp() self.controller = catalog.Controller() _, self.test_package = self._test_package() def _add_pkg(self, tenant_name, public=False, classes=None, **kwargs): package_to_upload = self.test_package.copy() package_to_upload['is_public'] = public package_to_upload['fully_qualified_name'] = str(uuid.uuid4()) if classes: package_to_upload['class_definitions'] = classes else: package_to_upload['class_definitions'] = [] package_to_upload.update(kwargs) return db_catalog_api.package_upload( package_to_upload, tenant_name) def test_packages_filtering_admin(self): self.is_admin = True self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) for dummy in range(7): self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') pkg = self._add_pkg('test_tenant', type='Library') self._add_pkg('test_tenant') self._add_pkg('test_tenant2', public=True, type='Library') self._add_pkg('test_tenant3') result = self.controller.search(self._get( '/v1/catalog/packages/', params={'catalog': 'False', 'owned': 'False'})) self.assertEqual(4, len(result['packages'])) result = self.controller.search(self._get( '/v1/catalog/packages/', params={'catalog': 'False', 'owned': 'True'})) self.assertEqual(2, len(result['packages'])) result = self.controller.search(self._get( '/v1/catalog/packages/', params={'catalog': 'True', 'owned': 'False'})) self.assertEqual(3, len(result['packages'])) result = self.controller.search(self._get( '/v1/catalog/packages/', params={'catalog': 'True', 'owned': 'True'})) self.assertEqual(2, len(result['packages'])) result = self.controller.search(self._get( '/v1/catalog/packages/', params={ 'owned': 'True', 'fqn': pkg.fully_qualified_name})) self.assertEqual(1, len(result['packages'])) self.assertEqual(pkg.fully_qualified_name, result['packages'][0]['fully_qualified_name']) result = self.controller.search(self._get( '/v1/catalog/packages/', params={ 'owned': 'True', 'type': 'Library'})) self.assertEqual(1, len(result['packages'])) self.assertEqual(pkg.fully_qualified_name, result['packages'][0]['fully_qualified_name']) result = self.controller.search(self._get( '/v1/catalog/packages/', params={ 'type': 'Library'})) self.assertEqual(2, len(result['packages'])) def test_packages_filtering_non_admin(self): self.is_admin = False self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) for dummy in range(8): self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') pkg = self._add_pkg('test_tenant', type='Library') self._add_pkg('test_tenant') self._add_pkg('test_tenant2', public=True, type='Library') self._add_pkg('test_tenant3') result = self.controller.search(self._get( '/v1/catalog/packages/', params={'catalog': 'False', 'owned': 'False'})) self.assertEqual(3, len(result['packages'])) result = self.controller.search(self._get( '/v1/catalog/packages/', params={'catalog': 'False', 'owned': 'True'})) self.assertEqual(2, len(result['packages'])) result = self.controller.search(self._get( '/v1/catalog/packages/', params={'catalog': 'True', 'owned': 'False'})) self.assertEqual(3, len(result['packages'])) result = self.controller.search(self._get( '/v1/catalog/packages/', params={'catalog': 'True', 'owned': 'True'})) self.assertEqual(2, len(result['packages'])) result = self.controller.search(self._get( '/v1/catalog/packages/', params={ 'owned': 'True', 'fqn': pkg.fully_qualified_name})) self.assertEqual(1, len(result['packages'])) self.assertEqual(pkg.fully_qualified_name, result['packages'][0]['fully_qualified_name']) result = self.controller.search(self._get( '/v1/catalog/packages/', params={ 'owned': 'True', 'type': 'Library'})) self.assertEqual(1, len(result['packages'])) self.assertEqual(pkg.fully_qualified_name, result['packages'][0]['fully_qualified_name']) result = self.controller.search(self._get( '/v1/catalog/packages/', params={ 'type': 'Library'})) self.assertEqual(2, len(result['packages'])) self._set_policy_rules({'get_package': '', 'manage_public_package': '!'}) result = self.controller.search(self._get( '/v1/catalog/packages/', params={'catalog': 'False'})) self.assertEqual(2, len(result['packages'])) def test_packages_filter_by_id(self): """Test that packages are filtered by ID GET /catalog/packages with parameter "id" returns packages filtered by id. """ self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) _, package1_data = self._test_package() _, package2_data = self._test_package() package1_data['fully_qualified_name'] += '_1' package1_data['name'] += '_1' package1_data['class_definitions'] = (u'test.mpl.v1.app.Thing1',) package2_data['fully_qualified_name'] += '_2' package2_data['name'] += '_2' package2_data['class_definitions'] = (u'test.mpl.v1.app.Thing2',) expected_package = db_catalog_api.package_upload(package1_data, '') db_catalog_api.package_upload(package2_data, '') req = self._get('/catalog/packages', params={'id': expected_package.id}) self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') res = req.get_response(self.api) self.assertEqual(200, res.status_code) self.assertEqual(1, len(res.json['packages'])) found_package = res.json['packages'][0] self.assertEqual(expected_package.id, found_package['id']) def test_packages_filter_by_in_category(self): """Test that packages are filtered by in:cat1,cat2,cat3 GET /catalog/packages with parameter "category=in:cat1,cat2,cat3" returns packages filtered by category. """ names = ['cat1', 'cat2', 'cat3', 'cat4'] for name in names: db_catalog_api.category_add(name) self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) _, package1_data = self._test_package() _, package2_data = self._test_package() _, package3_data = self._test_package() package1_data['fully_qualified_name'] += '_1' package1_data['name'] += '_1' package1_data['class_definitions'] = (u'test.mpl.v1.app.Thing1',) package1_data['categories'] = ('cat1', 'cat2') package2_data['fully_qualified_name'] += '_2' package2_data['name'] += '_2' package2_data['class_definitions'] = (u'test.mpl.v1.app.Thing2',) package2_data['categories'] = ('cat2', 'cat3') package3_data['fully_qualified_name'] += '_3' package3_data['name'] += '_3' package3_data['class_definitions'] = (u'test.mpl.v1.app.Thing3',) package3_data['categories'] = ('cat2', 'cat4') expected_packages = [db_catalog_api.package_upload(package1_data, ''), db_catalog_api.package_upload(package2_data, '')] db_catalog_api.package_upload(package3_data, '') categories_in = "in:cat1,cat3" req = self._get('/catalog/packages', params={'category': categories_in}) self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') res = req.get_response(self.api) self.assertEqual(200, res.status_code) self.assertEqual(2, len(res.json['packages'])) found_packages = res.json['packages'] self.assertEqual([pack.id for pack in expected_packages], [pack['id'] for pack in found_packages]) def test_packages_filter_by_in_tag(self): """Test that packages are filtered by in:tag1,tag2,tag3 GET /catalog/packages with parameter "tag=in:tag1,tag2,tag3" returns packages filtered by category. """ self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) _, package1_data = self._test_package() _, package2_data = self._test_package() _, package3_data = self._test_package() package1_data['fully_qualified_name'] += '_1' package1_data['name'] += '_1' package1_data['class_definitions'] = (u'test.mpl.v1.app.Thing1',) package1_data['tags'] = ('tag1', 'tag2') package2_data['fully_qualified_name'] += '_2' package2_data['name'] += '_2' package2_data['class_definitions'] = (u'test.mpl.v1.app.Thing2',) package2_data['tags'] = ('tag2', 'tag3') package3_data['fully_qualified_name'] += '_3' package3_data['name'] += '_3' package3_data['class_definitions'] = (u'test.mpl.v1.app.Thing3',) package3_data['tags'] = ('tag2', 'tag4') expected_packages = [db_catalog_api.package_upload(package1_data, ''), db_catalog_api.package_upload(package2_data, '')] db_catalog_api.package_upload(package3_data, '') tag_in = "in:tag1,tag3" req = self._get('/catalog/packages', params={'tag': tag_in}) self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') res = req.get_response(self.api) self.assertEqual(200, res.status_code) self.assertEqual(2, len(res.json['packages'])) found_packages = res.json['packages'] self.assertEqual([pack.id for pack in expected_packages], [pack['id'] for pack in found_packages]) def test_packages_filter_by_in_id(self): """Test that packages are filtered by in:id1,id2,id3 GET /catalog/packages with parameter "id=in:id1,id2" returns packages filtered by id. """ self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) _, package1_data = self._test_package() _, package2_data = self._test_package() _, package3_data = self._test_package() package1_data['fully_qualified_name'] += '_1' package1_data['name'] += '_1' package1_data['class_definitions'] = (u'test.mpl.v1.app.Thing1',) package2_data['fully_qualified_name'] += '_2' package2_data['name'] += '_2' package2_data['class_definitions'] = (u'test.mpl.v1.app.Thing2',) package3_data['fully_qualified_name'] += '_3' package3_data['name'] += '_3' package3_data['class_definitions'] = (u'test.mpl.v1.app.Thing3',) expected_packages = [db_catalog_api.package_upload(package1_data, ''), db_catalog_api.package_upload(package2_data, '')] db_catalog_api.package_upload(package3_data, '') id_in = "in:" + ",".join(pack.id for pack in expected_packages) req = self._get('/catalog/packages', params={'id': id_in}) self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') res = req.get_response(self.api) self.assertEqual(200, res.status_code) self.assertEqual(2, len(res.json['packages'])) found_packages = res.json['packages'] self.assertEqual([pack.id for pack in expected_packages], [pack['id'] for pack in found_packages]) def test_packages_filter_by_in_id_empty(self): """Test that packages are filtered by "id=in:" GET /catalog/packages with parameter "id=in:" returns packages filtered by id, in this case no packages should be returned. """ self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) _, package1_data = self._test_package() db_catalog_api.package_upload(package1_data, '') req = self._get('/catalog/packages', params={'id': "in:"}) self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') res = req.get_response(self.api) self.assertEqual(200, res.status_code) self.assertEqual(0, len(res.json['packages'])) def test_packages_filter_by_name(self): """Test that packages are filtered by name GET /catalog/packages with parameter "name" returns packages filtered by name. """ self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) expected_pkg1 = self._add_pkg("test_tenant", name="test_pkgname_1") expected_pkg2 = self._add_pkg("test_tenant", name="test_pkgname_2") req_pkgname1 = self._get('/catalog/packages', params={'name': expected_pkg1.name}) req_pkgname2 = self._get('/catalog/packages', params={'name': expected_pkg2.name}) for dummy in range(2): self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') res_pkgname1 = req_pkgname1.get_response(self.api) self.assertEqual(200, res_pkgname1.status_code) self.assertEqual(1, len(res_pkgname1.json['packages'])) self.assertEqual(expected_pkg1.name, res_pkgname1.json['packages'][0]['name']) res_pkgname2 = req_pkgname2.get_response(self.api) self.assertEqual(200, res_pkgname2.status_code) self.assertEqual(1, len(res_pkgname2.json['packages'])) self.assertEqual(expected_pkg2.name, res_pkgname2.json['packages'][0]['name']) def test_packages_filter_by_type(self): """Test that packages are filtered by type GET /catalog/packages with parameter "type" returns packages filtered by type. """ self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) excepted_pkg1 = self._add_pkg("test_tenant", type='Library') excepted_pkg2 = self._add_pkg("test_tenant", type='Library') excepted_pkg3 = self._add_pkg("test_tenant", type='Application') # filter by type=Library can see 2 pkgs req_lib = self._get('/catalog/packages', params={'type': 'Library'}) # filter by type=Application only see 1 pkgs req_app = self._get('/catalog/packages', params={'type': 'Application'}) for dummy in range(2): self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') res_lib = req_lib.get_response(self.api) self.assertEqual(200, res_lib.status_code) self.assertEqual(2, len(res_lib.json['packages'])) self.assertEqual('Library', res_lib.json['packages'][0]['type']) self.assertEqual(excepted_pkg1.name, res_lib.json['packages'][0]['name']) self.assertEqual('Library', res_lib.json['packages'][1]['type']) self.assertEqual(excepted_pkg2.name, res_lib.json['packages'][1]['name']) res_app = req_app.get_response(self.api) self.assertEqual(200, res_app.status_code) self.assertEqual(1, len(res_app.json['packages'])) self.assertEqual('Application', res_app.json['packages'][0]['type']) self.assertEqual(excepted_pkg3.name, res_app.json['packages'][0]['name']) @mock.patch('murano.api.v1.catalog.LOG') def test_packages_filter_by_order_by(self, mock_log): warnings = [] mock_log.warning = lambda msg: warnings.append(msg) self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) self._add_pkg("test_tenant", type='Library') # Test whether a valid order by value works. order_by = 'name' request = self._get('/catalog/packages', params={'order_by': order_by}) self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') self.controller.search(request) self.assertEqual(len(warnings), 0) # Test whether an invalid order by value fails. order_by = 'TEST ORDER BY' request = self._get('/catalog/packages', params={'order_by': order_by}) self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') self.controller.search(request) self.assertEqual(len(warnings), 1) self.assertIn('parameter is not valid', warnings[0]) def test_packages_filter_by_limit(self): """Test that packages are filtered by limit.""" self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) pkg = self._add_pkg("test_tenant", type='Library') request = self._get('/catalog/packages', params={'limit': '1'}) self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') res = self.controller.search(request) self.assertIn('next_marker', res) self.assertEqual(res['next_marker'], pkg['id']) def test_packages_filter_by_limit_negative_cases(self): """Test whether invalid limit values throw expected exceptions.""" self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) self._add_pkg("test_tenant", type='Library') # Test wheter non-number value throws exception request = self._get('/catalog/packages', params={'limit': 'not a number'}) self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') e = self.assertRaises(exc.HTTPBadRequest, self.controller.search, request) self.assertEqual(e.explanation, 'Limit param must be an integer') # Test whether below-zero value throws exception request = self._get('/catalog/packages', params={'limit': '-1'}) self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') e = self.assertRaises(exc.HTTPBadRequest, self.controller.search, request) self.assertEqual(e.explanation, 'Limit param must be positive') @mock.patch('murano.common.utils.split_for_quotes') @mock.patch('murano.api.v1.catalog.LOG') def test_packages_filter_handle_value_error(self, mock_log, mock_func): warnings = [] mock_func.side_effect = ValueError mock_log.warning = lambda msg: warnings.append(msg) self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) self._add_pkg("test_tenant", type='Library') tag_in = "in:tag1,tag3" self._get('/catalog/packages', params={'tag': tag_in}) request = self._get('/catalog/packages', params={'tag': tag_in}) self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') self.controller.search(request) self.assertEqual(len(warnings), 1) self.assertIn("Search by parameter 'tag' caused an error", warnings[0]) def test_packages_filter_by_search(self): self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) excepted_pkg1 = self._add_pkg("test_tenant", type='Application', name='awcloud', description='some context') excepted_pkg2 = self._add_pkg("test_tenant", type='Application', name='mysql', description='awcloud product') excepted_pkg3 = self._add_pkg("test_tenant", type='Application', name='package3', author='mysql author') # filter by search=awcloud can see 2 pkgs req_awc = self._get('/catalog/packages', params={'search': 'awcloud'}) # filter by search=mysql only see 2 pkgs req_mysql = self._get('/catalog/packages', params={'search': 'mysql'}) for dummy in range(2): self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') res_awc = req_awc.get_response(self.api) self.assertEqual(200, res_awc.status_code) self.assertEqual(2, len(res_awc.json['packages'])) self.assertEqual(excepted_pkg1.name, res_awc.json['packages'][0]['name']) self.assertEqual(excepted_pkg2.name, res_awc.json['packages'][1]['name']) res_mysql = req_mysql.get_response(self.api) self.assertEqual(200, res_mysql.status_code) self.assertEqual(2, len(res_mysql.json['packages'])) self.assertEqual(excepted_pkg2.name, res_mysql.json['packages'][0]['name']) self.assertEqual(excepted_pkg3.name, res_mysql.json['packages'][1]['name']) def test_packages(self): self._set_policy_rules( {'get_package': '', 'manage_public_package': ''} ) for dummy in range(9): self.expect_policy_check('get_package') self.expect_policy_check('manage_public_package') result = self.controller.search(self._get('/v1/catalog/packages/')) self.assertEqual(0, len(result['packages'])) self._add_pkg('test_tenant') self._add_pkg('test_tenant') self._add_pkg('other_tenant') self._add_pkg('other_tenant') # non-admin should only see 2 pkgs he can edit. self.is_admin = False result = self.controller.search(self._get('/v1/catalog/packages/')) self.assertEqual(2, len(result['packages'])) # can only deploy his + public result = self.controller.search(self._get( '/v1/catalog/packages/', params={'catalog': 'True'})) self.assertEqual(2, len(result['packages'])) # admin can edit anything self.is_admin = True result = self.controller.search(self._get('/v1/catalog/packages/')) self.assertEqual(4, len(result['packages'])) # admin can only deploy his + public result = self.controller.search(self._get( '/v1/catalog/packages/', params={'catalog': 'True'})) self.assertEqual(2, len(result['packages'])) self._add_pkg('test_tenant', public=True) self._add_pkg('other_tenant', public=True) # non-admin are allowed to edit public packages by policy self.is_admin = False result = self.controller.search(self._get('/v1/catalog/packages/')) self.assertEqual(4, len(result['packages'])) # can deploy mine + other public result = self.controller.search(self._get( '/v1/catalog/packages/', params={'catalog': 'True'})) self.assertEqual(4, len(result['packages'])) # admin can edit anything self.is_admin = True result = self.controller.search(self._get('/v1/catalog/packages/')) self.assertEqual(6, len(result['packages'])) # can deploy mine + public result = self.controller.search(self._get( '/v1/catalog/packages/', params={'catalog': 'True'})) self.assertEqual(4, len(result['packages'])) def _test_package(self, manifest='manifest.yaml'): package_dir = os.path.abspath( os.path.join( __file__, '../../../packages/test_packages/test.mpl.v1.app', ) ) pkg = load_utils.load_from_dir( package_dir, filename=manifest ) package = { 'fully_qualified_name': pkg.full_name, 'type': pkg.package_type, 'author': pkg.author, 'supplier': pkg.supplier, 'name': pkg.display_name, 'description': pkg.description, 'is_public': True, 'tags': pkg.tags, 'logo': pkg.logo, 'supplier_logo': pkg.supplier_logo, 'ui_definition': pkg.ui, 'class_definitions': tuple(pkg.classes), 'archive': pkg.blob, 'categories': [], } return pkg, package def test_modify_package_tags(self): self._set_policy_rules( {'modify_package': '', 'manage_public_package': '', 'publicize_package': ''} ) saved_package = self._add_pkg('test_tenant') saved_package_pub = self._add_pkg('test_tenant', public=True) self.expect_policy_check('modify_package', {'package_id': saved_package.id}) url = '/v1/catalog/packages/' + str(saved_package.id) data = [] data.append({'op': 'add', 'path': ['tags'], 'value': ["foo", "bar"]}) req = self._patch(url, jsonutils.dump_as_bytes(data)) result = self.controller.update(req, data, saved_package.id) self.assertIn('foo', result['tags']) self.assertIn('bar', result['tags']) self.expect_policy_check('modify_package', {'package_id': saved_package_pub.id}) self.expect_policy_check('manage_public_package', {}) url = '/v1/catalog/packages/' + str(saved_package_pub.id) data = [] data.append({'op': 'add', 'path': ['tags'], 'value': ["foo", "bar"]}) req = self._patch(url, jsonutils.dump_as_bytes(data)) result = self.controller.update(req, data, saved_package_pub.id) self.assertIn('foo', result['tags']) self.assertIn('bar', result['tags']) def test_modify_package_name(self): self._set_policy_rules( {'modify_package': ''} ) saved_package = self._add_pkg('test_tenant') self.expect_policy_check('modify_package', {'package_id': saved_package.id}) url = '/v1/catalog/packages/' + str(saved_package.id) data = [] data.append({'op': 'replace', 'path': ['name'], 'value': 'test_name'}) req = self._patch(url, jsonutils.dump_as_bytes(data)) result = self.controller.update(req, data, saved_package.id) self.assertEqual('test_name', result['name']) self.expect_policy_check('modify_package', {'package_id': saved_package.id}) data = [] data.append({'op': 'replace', 'path': ['name'], 'value': 'a' * 81}) req = self._patch(url, jsonutils.dump_as_bytes(data)) self.assertRaises(exc.HTTPBadRequest, self.controller.update, req, data, saved_package.id) def test_modify_package_no_body(self): self._set_policy_rules( {'modify_package': ''} ) saved_package = self._add_pkg('test_tenant') self.expect_policy_check('modify_package', {'package_id': saved_package.id}) url = '/v1/catalog/packages/' + str(saved_package.id) req = self._patch(url, jsonutils.dump_as_bytes(None)) self.assertRaises(exc.HTTPBadRequest, self.controller.update, req, None, saved_package.id) def test_modify_package_is_public(self): self._set_policy_rules( {'modify_package': '', 'manage_public_package': '', 'publicize_package': ''} ) saved_package = self._add_pkg('test_tenant') url = '/v1/catalog/packages/' + str(saved_package.id) self.expect_policy_check('modify_package', {'package_id': saved_package.id}) self.expect_policy_check('publicize_package', {}) data = [] data.append({'op': 'replace', 'path': ['is_public'], 'value': True}) req = self._patch(url, jsonutils.dump_as_bytes(data)) result = self.controller.update(req, data, saved_package.id) self.assertTrue(result['is_public']) def test_modify_package_bad_content_type(self): self._set_policy_rules( {'modify_package': '', 'manage_public_package': '', 'publicize_package': ''} ) saved_package = self._add_pkg('test_tenant') url = '/v1/catalog/packages/' + str(saved_package.id) self.expect_policy_check('modify_package', {'package_id': saved_package.id}) self.expect_policy_check('publicize_package', {}) data = [] data.append({'op': 'replace', 'path': ['is_public'], 'value': True}) req = self._patch(url, jsonutils.dump_as_bytes(data)) result = self.controller.update(req, data, saved_package.id) self.assertTrue(result['is_public']) def test_modify_package_with_incorrect_content_type(self): self._set_policy_rules( {'modify_package': ''} ) saved_package = self._add_pkg('test_tenant') self.expect_policy_check('modify_package', {'package_id': saved_package.id}) url = '/v1/catalog/packages/' + str(saved_package.id) data = [] data.append({'op': 'replace', 'path': ['name'], 'value': 'test_name'}) req = self._patch(url, jsonutils.dump_as_bytes(data)) req.get_content_type = mock.MagicMock( side_effect=common_exc.UnsupportedContentType) self.assertRaises(exc.HTTPBadRequest, self.controller.update, req, data, saved_package.id) def test_not_valid_logo(self): self.assertRaises(exceptions.PackageLoadError, self._test_package, 'manifest_with_broken_logo.yaml') def test_load_package_with_supplier_info(self): self._set_policy_rules( {'get_package': '@'} ) _, package = self._test_package() saved_package = db_catalog_api.package_upload(package, '') self.expect_policy_check('get_package', {'package_id': saved_package.id}) req = self._get('/v1/catalog/packages/%s' % saved_package.id) result = self.controller.get(req, saved_package.id) self.assertEqual(package['supplier'], result['supplier']) req = self._get( '/v1/catalog/packages/%s/supplier_logo' % saved_package.id ) result = self.controller.get_supplier_logo(req, saved_package.id) self.assertEqual('png', imghdr.what('', result)) def test_download_package(self): self._set_policy_rules( {'download_package': '@'} ) _, package = self._test_package() saved_package = db_catalog_api.package_upload(package, '') self.expect_policy_check('download_package', {'package_id': saved_package.id}) req = self._get_with_accept('/catalog/packages/%s/download' % saved_package.id, accept='application/octet-stream') result = req.get_response(self.api) self.assertEqual(200, result.status_code) def test_download_package_negative(self): _, package = self._test_package() saved_package = db_catalog_api.package_upload(package, '') req = self._get_with_accept('/catalog/packages/%s/download' % saved_package.id, accept='application/foo') result = req.get_response(self.api) self.assertEqual(406, result.status_code) self.assertIn(b'Acceptable response can not be provided', result.body) @mock.patch('murano.api.v1.catalog._validate_body') @mock.patch('murano.common.policy.check') def test_upload_package_with_invalid_schema(self, mock_policy_check, mock_validate_body): invalid_pkg_upload_schema = {"type": None} mock_policy_check.return_value = True mock_validate_body.return_value = (None, invalid_pkg_upload_schema) mock_request = mock.MagicMock(context={}) e = self.assertRaises(exc.HTTPBadRequest, self.controller.upload, mock_request) self.assertIn( "Package schema is not valid", e.explanation ) @mock.patch('murano.api.v1.catalog._validate_body') @mock.patch('murano.common.policy.check') def test_upload_package_with_invalid_file_content(self, mock_policy_check, mock_validate_body): with tempfile.NamedTemporaryFile(delete=True) as temp_file: mock_policy_check.return_value = True mock_validate_body.return_value = (mock.MagicMock(file=temp_file), None) mock_request = mock.MagicMock(context={}) e = self.assertRaises(exc.HTTPBadRequest, self.controller.upload, mock_request) self.assertIn( "Uploading file can't be empty", e.explanation ) @mock.patch('murano.api.v1.catalog.PKG_PARAMS_MAP') @mock.patch('murano.packages.load_utils.load_from_file') @mock.patch('murano.api.v1.catalog._validate_body') @mock.patch('murano.common.policy.check') def test_upload_package_with_oversized_file_name(self, mock_policy_check, mock_validate_body, mock_load_from_file, mock_pkg_params_map): mock_policy_check.return_value = True mock_load_from_file.return_value = mock.MagicMock( __exit__=lambda obj, type, value, tb: False) mock_pkg_params_map.return_value = {} mock_request = mock.MagicMock(context=mock.MagicMock( tenant=self.tenant)) test_package_meta = {'name': 'a' * 81} with tempfile.NamedTemporaryFile(delete=True) as temp_file: temp_file.write(b"Random test content\n") temp_file.seek(0) mock_validate_body.return_value = \ (mock.MagicMock(file=temp_file), test_package_meta) e = self.assertRaises(exc.HTTPBadRequest, self.controller.upload, mock_request) self.assertIn( "Package name should be 80 characters maximum", e.explanation ) @mock.patch('murano.packages.load_utils.load_from_file') @mock.patch('murano.api.v1.catalog._validate_body') @mock.patch('murano.common.policy.check') def test_upload_package_handle_package_load_error(self, mock_policy_check, mock_validate_body, mock_load_from_file): pkg_to_upload = mock.MagicMock( __exit__=lambda obj, type, value, tb: False) mock_request = mock.MagicMock(context=mock.MagicMock( tenant=self.tenant)) mock_load_from_file.return_value = pkg_to_upload mock_load_from_file.side_effect = exceptions.PackageLoadError mock_policy_check.return_value = True with tempfile.NamedTemporaryFile(delete=True) as temp_file: temp_file.write(b"Random test content\n") temp_file.seek(0) mock_validate_body.return_value = \ (mock.MagicMock(file=temp_file), None) e = self.assertRaises(exc.HTTPBadRequest, self.controller.upload, mock_request) self.assertIn( "Couldn't load package from file", e.explanation ) @mock.patch('murano.packages.load_utils.load_from_file') @mock.patch('murano.api.v1.catalog._validate_body') @mock.patch('murano.common.policy.check') def test_upload_package_handle_duplicate_exception(self, mock_policy_check, mock_validate_body, mock_load_from_file): """Test whether duplicate error is correctly thrown.""" # Save the first package entry to the DB test_package_meta = self.test_package.copy() test_package_meta['name'] = 'test_package' test_package_meta['fully_qualified_name'] = str(uuid.uuid4()) test_package_meta['description'] = 'test_description' test_package_meta['enabled'] = False test_package_meta['is_public'] = False db_catalog_api.package_upload(test_package_meta, self.tenant) # Reverse the operation performed by upload for copying values from # pkg_to_upload into package_meta dict. pkg_to_upload = mock.MagicMock( __exit__=lambda obj, type, value, tb: False) for k, v in PKG_PARAMS_MAP.items(): if v in test_package_meta.keys(): val = test_package_meta[v] setattr(pkg_to_upload.__enter__(), k, val) # Delete extra properties so validation in upload passes. for attr in ['fully_qualified_name', 'ui_definition', 'author', 'supplier_logo', 'supplier', 'logo', 'type', 'archive']: if attr in test_package_meta.keys(): del test_package_meta[attr] mock_request = mock.MagicMock(context=mock.MagicMock( tenant=self.tenant)) mock_load_from_file.return_value = pkg_to_upload mock_policy_check.return_value = True with tempfile.NamedTemporaryFile(delete=True) as temp_file: temp_file.write(b"Random test content\n") temp_file.seek(0) mock_validate_body.return_value = \ (mock.MagicMock(file=temp_file), test_package_meta) e = self.assertRaises(exc.HTTPConflict, self.controller.upload, mock_request) self.assertIn( "Package with specified full name is already registered", e.detail ) @mock.patch('murano.common.policy.check') def test_upload_package_with_oversized_body(self, mock_policy_check): mock_policy_check.return_value = True packages_to_upload = {'a': 0, 'b': 1, 'c': 2} mock_request = mock.MagicMock(context={}) e = self.assertRaises(exc.HTTPBadRequest, self.controller.upload, mock_request, body=packages_to_upload) self.assertIn( "'multipart/form-data' request body should contain 1 or 2 " "parts: json string and zip archive.", e.explanation ) @mock.patch('murano.common.policy.check') def test_upload_package_with_empty_body(self, mock_policy_check): mock_policy_check.return_value = True packages_to_upload = {} mock_request = mock.MagicMock(context={}) e = self.assertRaises(exc.HTTPBadRequest, self.controller.upload, mock_request, body=packages_to_upload) self.assertEqual( 'There is no file package with application description', e.explanation) def test_get_ui_definition(self): self._set_policy_rules( {'get_package': '@'} ) _, package = self._test_package() saved_package = db_catalog_api.package_upload(package, '') self.expect_policy_check('get_package', {'package_id': saved_package.id}) req = self._get_with_accept('/catalog/packages/%s/ui' % saved_package.id, accept="text/plain") result = req.get_response(self.api) self.assertEqual(200, result.status_code) def test_get_ui_definition_negative(self): _, package = self._test_package() saved_package = db_catalog_api.package_upload(package, '') req = self._get_with_accept('/catalog/packages/%s/ui' % saved_package.id, accept='application/foo') result = req.get_response(self.api) self.assertEqual(406, result.status_code) self.assertIn(b'Acceptable response can not be provided', result.body) def test_get_logo(self): self._set_policy_rules( {'get_package': '@'} ) _, package = self._test_package() saved_package = db_catalog_api.package_upload(package, '') self.expect_policy_check('get_package', {'package_id': saved_package.id}) req = self._get_with_accept('/catalog/packages/%s/logo' % saved_package.id, accept="application/octet-stream") result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.assertEqual(package['logo'], result.body) def test_get_logo_negative(self): _, package = self._test_package() saved_package = db_catalog_api.package_upload(package, '') req = self._get_with_accept('/catalog/packages/%s/logo' % saved_package.id, accept='application/foo') result = req.get_response(self.api) self.assertEqual(406, result.status_code) self.assertIn(b'Acceptable response can not be provided', result.body) def test_add_public_unauthorized(self): self._set_policy_rules({ 'upload_package': '@', 'publicize_package': 'is_admin:True', 'delete_package': 'is_admin:True', }) self.expect_policy_check('upload_package') self.expect_policy_check('delete_package', mock.ANY) self.expect_policy_check('upload_package') self.expect_policy_check('publicize_package') self.expect_policy_check('upload_package') self.expect_policy_check('publicize_package') file_obj_str = StringIO("This is some dummy data") file_obj = mock.MagicMock(cgi.FieldStorage) file_obj.file = file_obj_str package_from_dir, _ = self._test_package() body_fmt = '''\ --BOUNDARY Content-Disposition: form-data; name="__metadata__" {0} --BOUNDARY Content-Disposition: form-data; name="ziparchive"; filename="file.zip" This is a fake zip archive --BOUNDARY--''' def format_body(content): content = jsonutils.dumps(content) body = body_fmt.format(content) body = body.encode('utf-8') return body with mock.patch('murano.packages.load_utils.load_from_file') as lff: ctxmgr = mock.Mock() ctxmgr.__enter__ = mock.Mock(return_value=package_from_dir) ctxmgr.__exit__ = mock.Mock(return_value=False) lff.return_value = ctxmgr # Uploading a non-public package req = self._post( '/catalog/packages', format_body({'is_public': False}), content_type='multipart/form-data; ; boundary=BOUNDARY', ) res = req.get_response(self.api) self.assertEqual(200, res.status_code) self.is_admin = True app_id = jsonutils.loads(res.body)['id'] req = self._delete('/catalog/packages/{0}'.format(app_id)) res = req.get_response(self.api) self.is_admin = False # Uploading a public package fails req = self._post( '/catalog/packages', format_body({'is_public': True}), content_type='multipart/form-data; ; boundary=BOUNDARY', ) res = req.get_response(self.api) self.assertEqual(403, res.status_code) # Uploading a public package passes for admin self.is_admin = True req = self._post( '/catalog/packages', format_body({'is_public': True}), content_type='multipart/form-data; ; boundary=BOUNDARY', ) res = req.get_response(self.api) self.assertEqual(200, res.status_code) def test_upload_pkg_with_tag(self): """Check upload package with tags successfully""" self._set_policy_rules({'upload_package': '@'}) self.expect_policy_check('upload_package') file_obj_str = StringIO("This is some dummy data") file_obj = mock.MagicMock(cgi.FieldStorage) file_obj.file = file_obj_str package_from_dir, _ = self._test_package() body_fmt = '''\ --BOUNDARY Content-Disposition: form-data; name="__metadata__" {0} --BOUNDARY Content-Disposition: form-data; name="ziparchive"; filename="file.zip" This is a fake zip archive --BOUNDARY--''' def format_body(content): content = jsonutils.dumps(content) body = body_fmt.format(content) body = body.encode('utf-8') return body with mock.patch('murano.packages.load_utils.load_from_file') as lff: ctxmgr = mock.Mock() ctxmgr.__enter__ = mock.Mock(return_value=package_from_dir) ctxmgr.__exit__ = mock.Mock(return_value=False) lff.return_value = ctxmgr # Uploading a package with foo_tag req = self._post( '/catalog/packages', format_body({'tags': ['foo_tag']}), content_type='multipart/form-data; ; boundary=BOUNDARY', ) res = req.get_response(self.api) processed_result = jsonutils.loads(res.body) # check user set foo_tag in result self.assertIn('foo_tag', processed_result["tags"]) # check tag Linux from package in result self.assertIn('Linux', processed_result["tags"]) def test_add_category(self): """Check that category added successfully""" self._set_policy_rules({'add_category': '@'}) self.expect_policy_check('add_category') fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now expected = { 'name': 'new_category', 'created': datetime.isoformat(fake_now)[:-7], 'updated': datetime.isoformat(fake_now)[:-7], 'package_count': 0, } body = {'name': 'new_category'} req = self._post('/catalog/categories', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) processed_result = jsonutils.loads(result.body) self.assertIn('id', processed_result.keys()) expected['id'] = processed_result['id'] self.assertEqual(expected, processed_result) def test_get_category(self): """Check that get category executed successfully""" self._set_policy_rules({'add_category': '@', 'get_category': '@'}) self.expect_policy_check('add_category') fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now expected = { 'name': 'new_category', 'created': datetime.isoformat(fake_now)[:-7], 'updated': datetime.isoformat(fake_now)[:-7], 'package_count': 0, 'packages': [] } body = {'name': 'new_category'} req = self._post('/catalog/categories', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) expected['id'] = jsonutils.loads(result.body)['id'] self.expect_policy_check('get_category') req = self._get('/catalog/categories/%s' % expected['id']) retrieved_category = jsonutils.loads(req.get_response(self.api).body) self.assertEqual(retrieved_category, expected) def test_delete_category(self): """Check that category deleted successfully""" self._set_policy_rules({'delete_category': '@'}) self.expect_policy_check('delete_category', {'category_id': '12345'}) fake_now = timeutils.utcnow() expected = {'name': 'new_category', 'created': fake_now, 'updated': fake_now, 'id': '12345'} e = models.Category(**expected) test_utils.save_models(e) req = self._delete('/catalog/categories/12345') processed_result = req.get_response(self.api) self.assertEqual(b'', processed_result.body) self.assertEqual(200, processed_result.status_code) @mock.patch('murano.db.catalog.api.category_get') def test_delete_category_with_packages_negative(self, mock_get_category): """Check that deleting category that has assigned packages fails.""" mock_get_category.return_value = mock.MagicMock( packages=['test_package']) self._set_policy_rules({'delete_category': '@'}) self.expect_policy_check('delete_category', {'category_id': '12345'}) fake_now = timeutils.utcnow() expected = {'name': 'new_category', 'created': fake_now, 'updated': fake_now, 'id': '12345'} category = models.Category(**expected) test_utils.save_models(category) req = self._delete('/catalog/categories/12345') e = self.assertRaises(exc.HTTPForbidden, self.controller.delete_category, req, '12345') self.assertEqual(e.explanation, "It's impossible to delete categories assigned to the" " package, uploaded to the catalog") def test_add_category_without_name(self): """Test whether adding a category without a name throws exception.""" self._set_policy_rules({'add_category': '@'}) self.expect_policy_check('add_category') body = {'name': ''} req = self._post('/catalog/categories', jsonutils.dump_as_bytes(body)) e = self.assertRaises(exc.HTTPBadRequest, self.controller.add_category, req, body) self.assertEqual("Please, specify a name of the category to create", e.explanation) def test_add_category_handle_duplicate_exception(self): """Test whether creating duplicate categories throws exception.""" self._set_policy_rules({'add_category': '@'}) self.expect_policy_check('add_category') self.expect_policy_check('add_category') body = {'name': 'new_category'} req = self._post('/catalog/categories', jsonutils.dump_as_bytes(body)) self.controller.add_category(req, body) req = self._post('/catalog/categories', jsonutils.dump_as_bytes(body)) e = self.assertRaises(exc.HTTPConflict, self.controller.add_category, req, body) self.assertEqual("Category with specified name is already exist", e.explanation) def test_add_category_failed_for_non_admin(self): """Check that non admin user couldn't add new category""" self._set_policy_rules({'add_category': 'role:context_admin'}) self.is_admin = False self.expect_policy_check('add_category') fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now body = {'name': 'new_category'} req = self._post('/catalog/categories', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(403, result.status_code) def test_add_long_category(self): """Test that category name does not exceed 80 characters Check that a category that contains more than 80 characters fails to be added """ self._set_policy_rules({'add_category': '@'}) self.expect_policy_check('add_category') fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now body = {'name': 'cat' * 80} req = self._post('/catalog/categories', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(400, result.status_code) result_message = result.text.replace('\n', '') self.assertIn('Category name should be 80 characters maximum', result_message) def test_list_categories(self): names = ['cat1', 'cat2'] for name in names: db_catalog_api.category_add(name) self._set_policy_rules({'get_category': '@'}) self.expect_policy_check('get_category') req = self._get('/catalog/categories') result = req.get_response(self.api) self.assertEqual(200, result.status_code) result_categories = jsonutils.loads(result.body)['categories'] self.assertEqual(2, len(result_categories)) self.assertEqual(names, [c['name'] for c in result_categories]) params = {'sort_keys': 'created, id'} req = self._get('/catalog/categories', params) self.expect_policy_check('get_category') result = req.get_response(self.api) self.assertEqual(200, result.status_code) result_categories = jsonutils.loads(result.body)['categories'] self.assertEqual(names, [c['name'] for c in result_categories]) names.reverse() params = {'sort_dir': 'desc'} req = self._get('/catalog/categories', params) self.expect_policy_check('get_category') result = req.get_response(self.api) self.assertEqual(200, result.status_code) result_categories = jsonutils.loads(result.body)['categories'] self.assertEqual(names, [c['name'] for c in result_categories]) def test_list_categories_negative(self): self._set_policy_rules({'get_category': '@'}) self.expect_policy_check('get_category') req = self._get('/catalog/categories', {'sort_dir': 'test'}) result = req.get_response(self.api) self.assertEqual(400, result.status_code) self.expect_policy_check('get_category') req = self._get('/catalog/categories', {'sort_keys': 'test'}) result = req.get_response(self.api) self.assertEqual(400, result.status_code) self.expect_policy_check('get_category') req = self._get('/catalog/categories', {'test': ['test']}) result = req.get_response(self.api) self.assertEqual(400, result.status_code) murano-9.0.0/murano/tests/unit/api/v1/test_env_templates.py0000664000175000017500000011136213656750211024055 0ustar zuulzuul00000000000000# Copyright (c) 2015 Telefonica I+D. # Copyright (c) 2016 AT&T Corp # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from datetime import datetime from unittest import mock from oslo_config import fixture as config_fixture from oslo_db import exception as db_exc from oslo_serialization import jsonutils from oslo_utils import timeutils from murano.api.v1 import templates from murano.db import models import murano.tests.unit.api.base as tb import murano.tests.unit.utils as test_utils class TestEnvTemplateApi(tb.ControllerTest, tb.MuranoApiTestCase): def setUp(self): super(TestEnvTemplateApi, self).setUp() self.controller = templates.Controller() self.uuids = ['env_template_id', 'other', 'network_id', 'environment_id', 'session_id'] self.mock_uuid = self._stub_uuid(self.uuids) def test_list_empty_env_templates(self): """Check that with no templates an empty list is returned.""" self._set_policy_rules( {'list_env_templates': '@'} ) self.expect_policy_check('list_env_templates') req = self._get('/templates') result = req.get_response(self.api) self.assertEqual({'templates': []}, jsonutils.loads(result.body)) def test_create_env_templates(self): """Create an template, test template.show().""" self._set_policy_rules( {'list_env_templates': '@', 'create_env_template': '@', 'show_env_template': '@'} ) self.expect_policy_check('create_env_template') fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now expected = {'tenant_id': self.tenant, 'id': 'env_template_id', 'is_public': False, 'name': 'mytemp', 'description_text': 'description', 'version': 0, 'created': datetime.isoformat(fake_now)[:-7], 'updated': datetime.isoformat(fake_now)[:-7]} body = {'name': 'mytemp', 'description_text': 'description'} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(expected, jsonutils.loads(result.body)) # Reset the policy expectation self.expect_policy_check('list_env_templates') req = self._get('/templates') result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.assertEqual({'templates': [expected]}, jsonutils.loads(result.body)) expected['services'] = [] self.expect_policy_check('show_env_template', {'env_template_id': self.uuids[0]}) req = self._get('/templates/%s' % self.uuids[0]) result = req.get_response(self.api) self.assertEqual(expected, jsonutils.loads(result.body)) @mock.patch('murano.db.services.environment_templates.EnvTemplateServices.' 'create') def test_create_env_templates_handle_duplicate_exc(self, mock_function): """Create an template, test template.show().""" self._set_policy_rules( {'create_env_template': '@'} ) self.expect_policy_check('create_env_template') mock_function.side_effect = db_exc.DBDuplicateEntry body = {'name': 'mytemp', 'description_text': 'description'} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(409, result.status_code) def test_list_public_env_templates(self): """Create an template, test templates.public().""" self._set_policy_rules( {'create_env_template': '@', 'list_env_templates': '@'} ) self.expect_policy_check('create_env_template') body = {'name': 'mytemp2', 'is_public': True} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertTrue(jsonutils.loads(result.body)['is_public']) self.expect_policy_check('list_env_templates') req = self._get('/templates', {'is_public': True}) result = req.get_response(self.api) data = jsonutils.loads(result.body) self.assertEqual(1, len(data)) self.assertTrue(data['templates'][0]['is_public']) def test_clone_env_templates(self): """Create an template, test templates.public().""" self._set_policy_rules( {'create_env_template': '@', 'clone_env_template': '@'} ) self.expect_policy_check('create_env_template') body = {'name': 'mytemp2', 'is_public': True} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) env_template_id = jsonutils.loads(result.body)['id'] self.assertTrue(jsonutils.loads(result.body)['is_public']) self.expect_policy_check('clone_env_template') body = {'name': 'clone', 'is_public': False} req = self._post('/templates/%s/clone' % env_template_id, jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertFalse(jsonutils.loads(result.body)['is_public']) self.assertEqual('clone', jsonutils.loads(result.body)['name']) def test_clone_env_templates_private(self): """Create an template, test templates.public().""" self._set_policy_rules( {'create_env_template': '@', 'clone_env_template': '@'} ) self.expect_policy_check('create_env_template') body = {'name': 'mytemp2', 'is_public': False} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) env_template_id = jsonutils.loads(result.body)['id'] self.assertFalse(jsonutils.loads(result.body)['is_public']) self.expect_policy_check('clone_env_template') body = {'name': 'clone', 'is_public': False} req = self._post('/templates/%s/clone' % env_template_id, jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(result.status_code, 403) @mock.patch('murano.db.services.environment_templates.EnvTemplateServices.' 'clone') def test_clone_env_templates_handle_duplicate_exc(self, mock_function): """Test whether clone duplication exception is handled correctly.""" mock_function.side_effect = db_exc.DBDuplicateEntry self._set_policy_rules( {'create_env_template': '@', 'clone_env_template': '@'} ) self.expect_policy_check('create_env_template') body = {'name': 'mytemp2', 'is_public': True} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) env_template_id = jsonutils.loads(result.body)['id'] self.expect_policy_check('clone_env_template') body = {'name': 'clone', 'is_public': False} req = self._post('/templates/%s/clone' % env_template_id, jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(409, result.status_code) def test_list_public_env_templates_default(self): """Test listing public templates when there aren't any Create a template; test list public with no public templates. """ self._set_policy_rules( {'create_env_template': '@', 'list_env_templates': '@'} ) self.expect_policy_check('create_env_template') body = {'name': 'mytemp'} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertFalse(jsonutils.loads(result.body)['is_public']) self.expect_policy_check('list_env_templates') req = self._get('/templates', {'is_public': True}) result = req.get_response(self.api) self.assertFalse(0, len(jsonutils.loads(result.body))) def test_list_private_env_templates(self): """Test listing private templates Create a public template and a private template; test list private templates. """ self._set_policy_rules( {'create_env_template': '@', 'list_env_templates': '@'} ) self.expect_policy_check('create_env_template') body = {'name': 'mytemp', 'is_public': False} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertFalse(jsonutils.loads(result.body)['is_public']) self.expect_policy_check('create_env_template') body = {'name': 'mytemp1', 'is_public': True} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertTrue(jsonutils.loads(result.body)['is_public']) self.expect_policy_check('list_env_templates') req = self._get('/templates', {'is_public': False}) result = req.get_response(self.api) self.assertEqual(1, len(jsonutils.loads(result.body)['templates'])) def test_list_env_templates(self): """Test listing public templates when there aren't any Create a template; test list public with no public templates. """ self._set_policy_rules( {'create_env_template': '@', 'list_env_templates': '@'} ) self.expect_policy_check('create_env_template') body = {'name': 'mytemp', 'is_public': False} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertFalse(jsonutils.loads(result.body)['is_public']) self.expect_policy_check('create_env_template') body = {'name': 'mytemp1', 'is_public': True} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertTrue(jsonutils.loads(result.body)['is_public']) self.expect_policy_check('list_env_templates') req = self._get('/templates') result = req.get_response(self.api) self.assertEqual(2, len(jsonutils.loads(result.body)['templates'])) def test_list_env_templates_with_different_tenant(self): """Test listing public template from another tenant Create two template in two different tenants; test list public template from another tenant. """ self._set_policy_rules( {'create_env_template': '@', 'list_env_templates': '@'} ) self.expect_policy_check('create_env_template') body = {'name': 'mytemp', 'is_public': False} req = self._post('/templates', jsonutils.dump_as_bytes(body), tenant='first_tenant') result = req.get_response(self.api) self.assertFalse(jsonutils.loads(result.body)['is_public']) self.expect_policy_check('create_env_template') body = {'name': 'mytemp1', 'is_public': True} req = self._post('/templates', jsonutils.dump_as_bytes(body), tenant='second_tenant') result = req.get_response(self.api) self.assertTrue(jsonutils.loads(result.body)['is_public']) self.expect_policy_check('list_env_templates') req = self._get('/templates', tenant='first_tenant') result = req.get_response(self.api) self.assertEqual(2, len(jsonutils.loads(result.body)['templates'])) def test_illegal_template_name_create(self): """Check that an illegal temp name results in an HTTPClientError.""" self._set_policy_rules( {'list_env_templates': '@', 'create_env_template': '@', 'show_env_template': '@'} ) self.expect_policy_check('create_env_template') body = {'name': ' '} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(400, result.status_code) def test_too_long_template_name_create(self): """Check that a long template name results in an HTTPBadResquest.""" self._set_policy_rules( {'list_env_templates': '@', 'create_env_template': '@', 'show_env_template': '@'} ) self.expect_policy_check('create_env_template') body = {'name': 'a' * 256} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(400, result.status_code) result_msg = result.text.replace('\n', '') self.assertIn('Environment template name should be 255 characters ' 'maximum', result_msg) def test_mallformed_body(self): """Check that an illegal temp name results in an HTTPClientError.""" self._set_policy_rules( {'create_env_template': '@'} ) self.expect_policy_check('create_env_template') body = {'invalid': 'test'} req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(400, result.status_code) def test_missing_env_template(self): """Check that a missing env template results in an HTTPNotFound.""" self._set_policy_rules( {'show_env_template': '@'} ) self.expect_policy_check('show_env_template', {'env_template_id': 'no-such-id'}) req = self._get('/templates/no-such-id') result = req.get_response(self.api) self.assertEqual(404, result.status_code) def test_update_env_template(self): """Check that environment rename works.""" self._set_policy_rules( {'show_env_template': '@', 'update_env_template': '@'} ) self.expect_policy_check('update_env_template', {'env_template_id': '12345'}) fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now expected = dict( id='12345', is_public=False, name='my-temp', version=0, created=fake_now, updated=fake_now, tenant_id=self.tenant, description_text='', description={ 'name': 'my-temp', '?': {'id': '12345'} } ) e = models.EnvironmentTemplate(**expected) test_utils.save_models(e) fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now del expected['description'] expected['services'] = [] expected['name'] = 'renamed_temp' expected['updated'] = fake_now body = { 'name': 'renamed_temp' } req = self._put('/templates/12345', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.expect_policy_check('show_env_template', {'env_template_id': '12345'}) req = self._get('/templates/12345') result = req.get_response(self.api) self.assertEqual(200, result.status_code) expected['created'] = datetime.isoformat(expected['created'])[:-7] expected['updated'] = datetime.isoformat(expected['updated'])[:-7] self.assertEqual(expected, jsonutils.loads(result.body)) def test_update_env_template_with_inappropriate_name(self): """Check that environment rename works.""" self._set_policy_rules( {'show_env_template': '@', 'update_env_template': '@'} ) self.expect_policy_check('update_env_template', {'env_template_id': '12345'}) fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now expected = dict( id='12345', is_public=False, name='my-temp', version=0, created=fake_now, updated=fake_now, tenant_id=self.tenant ) e = models.EnvironmentTemplate(**expected) test_utils.save_models(e) # Attempt to update the environment template with invalid name. body = {'name': ''} req = self._put('/templates/12345', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(400, result.status_code) self.assertIn(b'EnvTemplate body is incorrect', result.body) # Verify that the name was not changed. self.expect_policy_check('show_env_template', {'env_template_id': '12345'}) req = self._get('/templates/12345') result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.assertEqual(expected['name'], jsonutils.loads(result.body)['name']) def test_delete_env_templates(self): """Test that environment deletion results in the correct rpc call.""" self._set_policy_rules( {'delete_env_template': '@'} ) self.expect_policy_check( 'delete_env_template', {'env_template_id': '12345'} ) fake_now = timeutils.utcnow() expected = dict( id='12345', name='my-temp', version=0, created=fake_now, updated=fake_now, tenant_id=self.tenant, description={ 'name': 'my-temp', '?': {'id': '12345'} } ) e = models.EnvironmentTemplate(**expected) test_utils.save_models(e) req = self._delete('/templates/12345') result = req.get_response(self.api) # Should this be expected behavior? self.assertEqual(b'', result.body) self.assertEqual(200, result.status_code) def test_create_env_templates_with_applications(self): """Create an template, test template.show().""" self._set_policy_rules( {'list_env_templates': '@', 'create_env_template': '@', 'show_env_template': '@'} ) self.expect_policy_check('create_env_template') fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now expected = {'tenant_id': self.tenant, 'id': self.uuids[0], 'is_public': False, 'name': 'env_template_name', 'description_text': '', 'version': 0, 'created': datetime.isoformat(fake_now)[:-7], 'updated': datetime.isoformat(fake_now)[:-7]} services = [ { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.Linux", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "port": "8080", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" } } ] expected['services'] = services body = { "name": "env_template_name", "services": [ { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.Linux", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "port": "8080", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" } } ] } req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(expected, jsonutils.loads(result.body)) # Reset the policy expectation self.expect_policy_check('list_env_templates') req = self._get('/templates') result = req.get_response(self.api) del expected['services'] self.assertEqual(200, result.status_code) self.assertEqual({'templates': [expected]}, jsonutils.loads(result.body)) # Reset the policy expectation self.expect_policy_check('show_env_template', {'env_template_id': self.uuids[0]}) expected['services'] = services req = self._get('/templates/%s' % self.uuids[0]) result = req.get_response(self.api) self.assertEqual(expected, jsonutils.loads(result.body)) def test_add_application_to_template(self): """Create an template, test template.show().""" self._set_policy_rules( {'create_env_template': '@', 'add_application': '@'} ) self.expect_policy_check('create_env_template') fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now services = [ { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.Linux", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "port": "8080", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" } } ] body = { "name": "template_name", } req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) body = services req = self._post('/templates/%s/services' % self.uuids[0], jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.assertEqual(services, jsonutils.loads(result.body)) req = self._get('/templates/%s/services' % self.uuids[0]) result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.assertEqual(1, len(jsonutils.loads(result.body))) service_no_instance = [ { "instance": "ef984a74-29a4-45c0-b1dc-2ab9f075732e", "name": "tomcat", "port": "8080", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" } } ] req = self._post('/templates/%s/services' % self.uuids[0], jsonutils.dump_as_bytes(service_no_instance)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) req = self._get('/templates/%s/services' % self.uuids[0]) result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.assertEqual(2, len(jsonutils.loads(result.body))) def test_delete_application_in_template(self): """Create an template, test template.show().""" self._set_policy_rules( {'create_env_template': '@', 'delete_env_application': '@'} ) self.expect_policy_check('create_env_template') fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now body = { "name": "mytemplate", "services": [ { "name": "tomcat", "port": "8080", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "54cea43d-5970-4c73-b9ac-fea656f3c722" } } ] } req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.assertEqual(1, len(jsonutils.loads(result.body)['services'])) req = self._get('/templates/%s/services' % self.uuids[0]) result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.assertEqual(1, len(jsonutils.loads(result.body))) service_id = '54cea43d-5970-4c73-b9ac-fea656f3c722' req = self._get('/templates/' + self.uuids[0] + '/services/' + service_id) result = req.get_response(self.api) self.assertEqual(200, result.status_code) req = self._delete('/templates/' + self.uuids[0] + '/services/' + service_id) result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.assertEqual(0, len(jsonutils.loads(result.body)['services'])) req = self._get('/templates/' + self.uuids[0] + '/services/' + service_id) result = req.get_response(self.api) self.assertEqual(404, result.status_code) def test_create_environment(self): """Test that environment is created, session configured.""" self.fixture = self.useFixture(config_fixture.Config()) self.fixture.conf(args=[]) self._set_policy_rules( {'create_env_template': '@', 'create_environment': '@'} ) self._create_env_template_no_service() body_env = {'name': 'my_template'} self.expect_policy_check('create_environment', {'env_template_id': self.uuids[0]}) req = self._post('/templates/%s/create-environment' % self.uuids[0], jsonutils.dump_as_bytes(body_env)) session_result = req.get_response(self.api) self.assertEqual(200, session_result.status_code) self.assertIsNotNone(session_result) body_returned = jsonutils.loads(session_result.body) self.assertEqual(self.uuids[4], body_returned['session_id']) self.assertEqual(self.uuids[3], body_returned['environment_id']) @mock.patch('murano.db.services.environments.EnvironmentServices.create') def test_create_environment_handle_duplicate_exc(self, mock_function): """Test that duplicate entry exception is correctly handled.""" mock_function.side_effect = db_exc.DBDuplicateEntry self.fixture = self.useFixture(config_fixture.Config()) self.fixture.conf(args=[]) self._set_policy_rules( {'create_env_template': '@', 'create_environment': '@'} ) self._create_env_template_no_service() body_env = {'name': 'my_template'} self.expect_policy_check('create_environment', {'env_template_id': self.uuids[0]}) req = self._post('/templates/%s/create-environment' % self.uuids[0], jsonutils.dump_as_bytes(body_env)) session_result = req.get_response(self.api) self.assertEqual(409, session_result.status_code) def test_create_env_with_template_and_services(self): """Test env and session creation with services Test that environment is created and session with template with services. """ self.fixture = self.useFixture(config_fixture.Config()) self.fixture.conf(args=[]) self._set_policy_rules( {'create_env_template': '@', 'create_environment': '@'} ) self._create_env_template_services() self.expect_policy_check('create_environment', {'env_template_id': self.uuids[0]}) body = {'name': 'my_template'} req = self._post('/templates/%s/create-environment' % self.uuids[0], jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertIsNotNone(result) self.assertEqual(200, result.status_code) body_returned = jsonutils.loads(result.body) self.assertEqual(self.uuids[4], body_returned['session_id']) self.assertEqual(self.uuids[3], body_returned['environment_id']) def test_create_env_with_template_no_services(self): """Test env and session creation without services Test that environment is created and session with template without services. """ self.fixture = self.useFixture(config_fixture.Config()) self.fixture.conf(args=[]) self._set_policy_rules( {'create_env_template': '@', 'create_environment': '@'} ) self._create_env_template_no_service() self.expect_policy_check('create_environment', {'env_template_id': self.uuids[0]}) body = {'name': 'my_template'} req = self._post('/templates/%s/create-environment' % self.uuids[0], jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertIsNotNone(result) self.assertEqual(200, result.status_code) body_returned = jsonutils.loads(result.body) self.assertEqual(self.uuids[4], body_returned['session_id']) self.assertEqual(self.uuids[3], body_returned['environment_id']) def test_update_service_in_template(self): """Test the service is updated in the environment template""" self.fixture = self.useFixture(config_fixture.Config()) self.fixture.conf(args=[]) self._set_policy_rules( {'create_env_template': '@', 'update_service_env_template': '@'} ) updated_env = "UPDATED_ENV" env_template = self._create_env_template_services() self.expect_policy_check('update_service_env_template') env_template["name"] = updated_env req = self._put('/templates/{0}/services/{1}'. format(self.uuids[0], "service_id"), jsonutils.dump_as_bytes(env_template)) result = req.get_response(self.api) self.assertIsNotNone(result) self.assertEqual(200, result.status_code) body_returned = jsonutils.loads(result.body) self.assertEqual(updated_env, body_returned['name']) def test_mallformed_env_body(self): """Check that an illegal temp name results in an HTTPClientError.""" self._set_policy_rules( {'create_env_template': '@', 'create_environment': '@'} ) self._create_env_template_no_service() self.expect_policy_check('create_environment', {'env_template_id': self.uuids[0]}) body = {'invalid': 'test'} req = self._post('/templates/%s/create-environment' % self.uuids[0], jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(400, result.status_code) def test_delete_notexisting_service(self): """Check deleting a not existing service, return a 404 error.""" self._set_policy_rules( {'create_env_template': '@', 'delete_env_application': '@'} ) self.expect_policy_check('create_env_template') fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now body = { "name": "mytemplate", "services": [ { "name": "tomcat", "port": "8080", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "ID1" } } ] } req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.assertEqual(1, len(jsonutils.loads(result.body)['services'])) req = self._delete('/templates/{0}/services/{1}'.format(self.uuids[0], "NO_EXIST")) result = req.get_response(self.api) self.assertEqual(404, result.status_code) @mock.patch('murano.db.services.environment_templates.EnvTemplateServices.' 'get_env_template') def test_validate_request_handle_forbidden_exc(self, mock_function): """Test whether forbidden exception is thrown with different tenant.""" self._set_policy_rules( {'create_env_template': '@', 'show_env_template': '@', 'show_env_template': '@'} ) # If is_public is False, then exception should be thrown. mock_env_template = mock.MagicMock(is_public=False, tenant_id=-1) mock_function.return_value = mock_env_template self._create_env_template_no_service() self.expect_policy_check('show_env_template', {'env_template_id': self.uuids[0]}) req = self._get('/templates/%s' % self.uuids[0]) result = req.get_response(self.api) self.assertEqual(result.status_code, 403) # If is_public is True, then no exception should be thrown. mock_env_template = mock.MagicMock(is_public=True, tenant_id=-1) mock_function.return_value = mock_env_template self.expect_policy_check('show_env_template', {'env_template_id': self.uuids[0]}) req = self._get('/templates/%s' % self.uuids[0]) result = req.get_response(self.api) self.assertEqual(result.status_code, 200) def test_create_env_notexisting_templatebody(self): """Check that an illegal temp name results in an HTTPClientError.""" self._set_policy_rules( {'create_environment': '@'} ) env_template_id = 'noexisting' self.expect_policy_check('create_environment', {'env_template_id': env_template_id}) body = {'name': 'test'} req = self._post('/templates/%s/create-environment' % env_template_id, jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(404, result.status_code) def _create_env_template_no_service(self): self.expect_policy_check('create_env_template') fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now req = self._post('/templates', jsonutils.dump_as_bytes({'name': 'name'})) result = req.get_response(self.api) self.assertEqual(200, result.status_code) def _create_env_template_services(self): fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now self.expect_policy_check('create_env_template') fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now body = { "name": "env_template_name", "services": [ { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.Linux", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "port": "8080", "?": { "type": "io.murano.apps.apache.Tomcat", "id": "service_id" } } ] } req = self._post('/templates', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) return result.json murano-9.0.0/murano/tests/unit/api/v1/test_schemas.py0000664000175000017500000000604613656750211022634 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T Corp # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from unittest import mock from oslo_messaging.rpc import client from webob import exc from murano.api.v1 import schemas import murano.tests.unit.base as test_base from murano.tests.unit import utils as test_utils @mock.patch('murano.api.v1.schemas.policy') @mock.patch('murano.api.v1.schemas.request_statistics.update_error_count') @mock.patch('murano.api.v1.schemas.request_statistics.update_count') class TestSchemas(test_base.MuranoTestCase): @classmethod def setUpClass(cls): super(TestSchemas, cls).setUpClass() cls.controller = schemas.Controller() @mock.patch('murano.api.v1.schemas.rpc') def test_get_schema(self, mock_rpc, *args): dummy_context = test_utils.dummy_context() dummy_context.GET = { 'classVersion': 'test_class_version', 'packageName': 'test_package_name' } mock_request = mock.MagicMock(context=dummy_context) mock_rpc.engine().generate_schema.return_value = 'test_schema' result = self.controller.get_schema(mock_request, 'test_class') self.assertEqual('test_schema', result) @mock.patch('murano.api.v1.schemas.rpc') def test_get_schema_negative(self, mock_rpc, *args): dummy_context = test_utils.dummy_context() dummy_context.GET = { 'classVersion': 'test_class_version', 'packageName': 'test_package_name' } mock_request = mock.MagicMock(context=dummy_context) # Test exception handling for pre-defined exception types. exc_types = ('NoClassFound', 'NoPackageForClassFound', 'NoPackageFound') for exc_type in exc_types: dummy_error = client.RemoteError(exc_type=exc_type, value='dummy_value') mock_rpc.engine().generate_schema.side_effect = dummy_error with self.assertRaisesRegex(exc.HTTPNotFound, dummy_error.value): self.controller.get_schema(mock_request, 'test_class') # Test exception handling for miscellaneous exception type. dummy_error = client.RemoteError(exc_type='TestExcType', value='dummy_value') mock_rpc.engine().generate_schema.side_effect = dummy_error with self.assertRaisesRegex(client.RemoteError, dummy_error.value): self.controller.get_schema(mock_request, 'test_class') murano-9.0.0/murano/tests/unit/api/v1/test_environments.py0000664000175000017500000007650513656750211023747 0ustar zuulzuul00000000000000# # Copyright (c) 2014 Hewlett-Packard Development Company, L.P. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from datetime import datetime from oslo_config import fixture as config_fixture from oslo_serialization import jsonutils from oslo_utils import timeutils from murano.api.v1 import environments from murano.api.v1 import sessions from murano.db import models from murano.services import states import murano.tests.unit.api.base as tb import murano.tests.unit.utils as test_utils class TestEnvironmentApi(tb.ControllerTest, tb.MuranoApiTestCase): def setUp(self): super(TestEnvironmentApi, self).setUp() self.controller = environments.Controller() self.sessions_controller = sessions.Controller() self.fixture = self.useFixture(config_fixture.Config()) self.fixture.conf(args=[]) def test_list_empty_environments(self): """Check that with no environments an empty list is returned.""" self._set_policy_rules( {'list_environments': '@'} ) self.expect_policy_check('list_environments') req = self._get('/environments') result = req.get_response(self.api) self.assertEqual({'environments': []}, jsonutils.loads(result.body)) def test_list_all_tenants(self): """Check whether all_tenants param is taken into account.""" self._set_policy_rules( {'list_environments': '@', 'create_environment': '@', 'list_environments_all_tenants': '@'} ) self.expect_policy_check('create_environment') body = {'name': 'my_env'} req = self._post('/environments', jsonutils.dump_as_bytes(body), tenant="other") req.get_response(self.api) self._check_listing(False, None, 'list_environments', 0) self._check_listing(True, None, 'list_environments_all_tenants', 1) def test_list_given_tenant(self): self._set_policy_rules( {'list_environments': '@', 'create_environment': '@', 'list_environments_all_tenants': '@'} ) self.expect_policy_check('create_environment') self.expect_policy_check('create_environment') self.expect_policy_check('create_environment') body = {'name': 'my_env1'} req = self._post('/environments', jsonutils.dump_as_bytes(body), tenant="foo") req.get_response(self.api) body = {'name': 'my_env2'} req = self._post('/environments', jsonutils.dump_as_bytes(body), tenant="bar") req.get_response(self.api) body = {'name': 'my_env3'} req = self._post('/environments', jsonutils.dump_as_bytes(body), tenant="bar") req.get_response(self.api) self._check_listing(False, "foo", 'list_environments_all_tenants', 1) self._check_listing(False, "bar", 'list_environments_all_tenants', 2) self._check_listing(False, "other", 'list_environments_all_tenants', 0) def _check_listing(self, all_tenants, tenant, expected_check, expected_count): self.expect_policy_check(expected_check) params = {'all_tenants': all_tenants} if tenant: params['tenant'] = tenant req = self._get('/environments', params) response = req.get_response(self.api) body = jsonutils.loads(response.body) self.assertEqual(200, response.status_code) self.assertEqual(expected_count, len(body['environments'])) def test_create_environment(self): """Create an environment, test environment.show().""" self._set_policy_rules( {'list_environments': '@', 'create_environment': '@', 'show_environment': '@'} ) self.expect_policy_check('create_environment') fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now uuids = ('env_object_id', 'network_id', 'environment_id') mock_uuid = self._stub_uuid(uuids) expected = {'tenant_id': self.tenant, 'id': 'environment_id', 'name': 'my_env', 'description_text': 'description', 'version': 0, 'created': datetime.isoformat(fake_now)[:-7], 'updated': datetime.isoformat(fake_now)[:-7], } body = {'name': 'my_env', 'description_text': 'description'} req = self._post('/environments', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(expected, jsonutils.loads(result.body)) expected['status'] = 'ready' # Reset the policy expectation self.expect_policy_check('list_environments') req = self._get('/environments') result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.assertEqual({'environments': [expected]}, jsonutils.loads(result.body)) expected['services'] = [] expected['acquired_by'] = None # Reset the policy expectation self.expect_policy_check('show_environment', {'environment_id': uuids[-1]}) req = self._get('/environments/%s' % uuids[-1]) result = req.get_response(self.api) self.assertEqual(expected, jsonutils.loads(result.body)) self.assertEqual(3, mock_uuid.call_count) def test_illegal_environment_name_create(self): """Check that an illegal env name results in an HTTPClientError.""" self._set_policy_rules( {'list_environments': '@', 'create_environment': '@', 'show_environment': '@'} ) self.expect_policy_check('create_environment') body = {'name': ' '} req = self._post('/environments', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(400, result.status_code) def test_unicode_environment_name_create(self): """Check that an unicode env name doesn't raise an HTTPClientError.""" self._set_policy_rules( {'list_environments': '@', 'create_environment': '@', 'show_environment': '@'} ) self.expect_policy_check('create_environment') body = {'name': u'$yaql \u2665 unicode'} req = self._post('/environments', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) def test_no_environment_name_create(self): """Check that no env name provided results in an HTTPBadResquest.""" self._set_policy_rules( {'list_environments': '@', 'create_environment': '@', 'show_environment': '@'} ) self.expect_policy_check('create_environment') body = {'no_name': 'fake'} req = self._post('/environments', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(400, result.status_code) result_msg = result.text.replace('\n', '') self.assertIn('Please, specify a name of the environment to create', result_msg) def test_too_long_environment_name_create(self): """Check that a too long env name results in an HTTPBadResquest.""" self._set_policy_rules( {'list_environments': '@', 'create_environment': '@', 'show_environment': '@'} ) self.expect_policy_check('create_environment') body = {'name': 'a' * 256} req = self._post('/environments', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(400, result.status_code) result_msg = result.text.replace('\n', '') self.assertIn('Environment name should be 255 characters maximum', result_msg) def test_create_environment_with_empty_body(self): """Check that empty request body results in an HTTPBadResquest.""" body = b'' req = self._post('/environments', body) result = req.get_response(self.api) self.assertEqual(400, result.status_code) result_msg = result.text.replace('\n', '') self.assertIn('The server could not comply with the request since it ' 'is either malformed or otherwise incorrect.', result_msg) def test_create_environment_duplicate_name(self): """Check that duplicate names results in HTTPConflict""" self._set_policy_rules( {'list_environments': '@', 'create_environment': '@', 'show_environment': '@'} ) self.expect_policy_check('create_environment') body = {'name': u'my_env_dup'} req = self._post('/environments', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.expect_policy_check('create_environment') body = {'name': u'my_env_dup'} req = self._post('/environments', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(409, result.status_code) result_msg = result.text.replace('\n', '') self.assertIn('Environment with specified name already exists', result_msg) def test_missing_environment(self): """Check that a missing environment results in an HTTPNotFound. Environment check will be made in the decorator and raises, no need to check policy in this testcase. """ req = self._get('/environments/no-such-id') result = req.get_response(self.api) self.assertEqual(404, result.status_code) def test_update_environment(self): """Check that environment rename works.""" self._set_policy_rules( {'show_environment': '@', 'update_environment': '@'} ) self.expect_policy_check('update_environment', {'environment_id': '12345'}) fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now expected = dict( id='12345', name='my-env', version=0, description_text='', created=fake_now, updated=fake_now, tenant_id=self.tenant, description={ 'Objects': { '?': {'id': '12345'} }, 'Attributes': [] } ) e = models.Environment(**expected) test_utils.save_models(e) fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now del expected['description'] expected['services'] = [] expected['status'] = 'ready' expected['name'] = 'renamed_env' expected['updated'] = fake_now body = { 'name': 'renamed_env' } req = self._put('/environments/12345', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.expect_policy_check('show_environment', {'environment_id': '12345'}) req = self._get('/environments/12345') result = req.get_response(self.api) self.assertEqual(200, result.status_code) expected['created'] = datetime.isoformat(expected['created'])[:-7] expected['updated'] = datetime.isoformat(expected['updated'])[:-7] expected['acquired_by'] = None self.assertEqual(expected, jsonutils.loads(result.body)) def test_update_environment_with_invalid_name(self): """Test that invalid env name returns HTTPBadRequest Check that update an invalid env name results in an HTTPBadRequest. """ self._set_policy_rules( {'update_environment': '@'} ) self._create_fake_environment('env1', '111') self.expect_policy_check('update_environment', {'environment_id': '111'}) body = { 'name': ' ' } req = self._put('/environments/111', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(400, result.status_code) result_msg = result.text.replace('\n', '') msg = ('Environment name must contain at least one ' 'non-white space symbol') self.assertIn(msg, result_msg) def test_update_environment_with_existing_name(self): self._set_policy_rules( {'update_environment': '@'} ) self._create_fake_environment('env1', '111') self._create_fake_environment('env2', '222') self.expect_policy_check('update_environment', {'environment_id': '111'}) body = { 'name': 'env2' } req = self._put('/environments/111', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(409, result.status_code) def test_too_long_environment_name_update(self): """Test updating too long env name Check that update a too long env name results in an HTTPBadResquest. """ self._set_policy_rules( {'update_environment': '@'} ) self._create_fake_environment('env1', '111') self.expect_policy_check('update_environment', {'environment_id': '111'}) new_name = 'env1' * 64 body = { 'name': new_name } req = self._put('/environments/111', jsonutils.dump_as_bytes(body)) result = req.get_response(self.api) self.assertEqual(400, result.status_code) result_msg = result.text.replace('\n', '') self.assertIn('Environment name should be 255 characters maximum', result_msg) def test_delete_environment(self): """Test that environment deletion results in the correct rpc call.""" result = self._test_delete_or_abandon(abandon=False) self.assertEqual(b'', result.body) self.assertEqual(200, result.status_code) def test_abandon_environment(self): """Check that abandon feature works""" result = self._test_delete_or_abandon(abandon=True) self.assertEqual(b'', result.body) self.assertEqual(200, result.status_code) def test_abandon_environment_of_different_tenant(self): """Test abandon environment belongs to another tenant.""" result = self._test_delete_or_abandon(abandon=True, tenant='not_match') self.assertEqual(403, result.status_code) self.assertIn((b'User is not authorized to access these' b' tenant resources'), result.body) def test_get_last_status_of_different_tenant(self): """Test get last services status of env belongs to another tenant.""" self._create_fake_environment('env1', '111') req = self._get('/environments/111/lastStatus', tenant='not_match') result = req.get_response(self.api) self.assertEqual(403, result.status_code) self.assertIn((b'User is not authorized to access these' b' tenant resources'), result.body) def test_get_environment(self): """Test GET request of an environment in ready status""" self._set_policy_rules( {'show_environment': '@'} ) self.expect_policy_check('show_environment', {'environment_id': '123'}) fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now env_id = '123' self._create_fake_environment(env_id=env_id) req = self._get('/environments/{0}'.format(env_id)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) expected = {'tenant_id': self.tenant, 'id': env_id, 'name': 'my-env', 'version': 0, 'description_text': '', 'created': datetime.isoformat(fake_now)[:-7], 'updated': datetime.isoformat(fake_now)[:-7], 'acquired_by': None, 'services': [], 'status': 'ready', } self.assertEqual(expected, jsonutils.loads(result.body)) def test_get_environment_acquired(self): """Test GET request of an environment in deploying status""" self._set_policy_rules( {'show_environment': '@'} ) self.expect_policy_check('show_environment', {'environment_id': '1234'}) fake_now = timeutils.utcnow() timeutils.utcnow.override_time = fake_now env_id = '1234' self._create_fake_environment(env_id=env_id) sess_id = '321' expected = dict( id=sess_id, environment_id=env_id, version=0, state=states.SessionState.DEPLOYING, user_id=self.tenant, description={ 'Objects': { '?': {'id': '{0}'.format(env_id)} }, 'Attributes': {} } ) s = models.Session(**expected) test_utils.save_models(s) req = self._get('/environments/{0}'.format(env_id)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) expected = {'tenant_id': self.tenant, 'id': env_id, 'name': 'my-env', 'version': 0, 'description_text': '', 'created': datetime.isoformat(fake_now)[:-7], 'updated': datetime.isoformat(fake_now)[:-7], 'acquired_by': sess_id, 'services': [], 'status': states.EnvironmentStatus.DEPLOYING, } self.assertEqual(expected, jsonutils.loads(result.body)) def _create_fake_environment(self, env_name='my-env', env_id='123'): fake_now = timeutils.utcnow() expected = dict( id=env_id, name=env_name, version=0, created=fake_now, updated=fake_now, tenant_id=self.tenant, description={ 'Objects': { '?': {'id': '{0}'.format(env_id)} }, 'Attributes': {} } ) e = models.Environment(**expected) test_utils.save_models(e) def _test_delete_or_abandon(self, abandon, env_name='my-env', env_id='123', tenant=None): self._set_policy_rules( {'delete_environment': '@'} ) self.expect_policy_check( 'delete_environment', {'environment_id': '{0}'.format(env_id)} ) self._create_fake_environment(env_name, env_id) path = '/environments/{0}'.format(env_id) req = self._delete(path, params={'abandon': abandon}, tenant=tenant or self.tenant) result = req.get_response(self.api) return result def test_last_status_session(self): CREDENTIALS = {'tenant': 'test_tenant_1', 'user': 'test_user_1'} self._set_policy_rules({'create_environment': '@'}) self.expect_policy_check('create_environment') # Create environment request = self._post( '/environments', jsonutils.dump_as_bytes({'name': 'test_environment_1'}), **CREDENTIALS ) response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(CREDENTIALS['tenant'], response_body['tenant_id']) ENVIRONMENT_ID = response_body['id'] # Create session request = self._post( '/environments/{environment_id}/configure' .format(environment_id=ENVIRONMENT_ID), b'', **CREDENTIALS ) response_body = jsonutils.loads(request.get_response(self.api).body) SESSION_ID = response_body['id'] # Test getting last status doesn't error request = self._get( '/environments/{environment_id}/lastStatus' .format(environment_id=ENVIRONMENT_ID), **CREDENTIALS ) request.headers['X-Configuration-Session'] = str(SESSION_ID) request.context.session = SESSION_ID response_body = jsonutils.loads(request.get_response(self.api).body) self.assertIsNotNone(response_body) def test_show_environments_session(self): CREDENTIALS = {'tenant': 'test_tenant_1', 'user': 'test_user_1'} self._set_policy_rules( {'create_environment': '@', 'list_environments': '@', 'show_environment': '@'} ) self.expect_policy_check('create_environment') # Create environment request = self._post( '/environments', jsonutils.dump_as_bytes({'name': 'test_environment_1'}), **CREDENTIALS ) response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(CREDENTIALS['tenant'], response_body['tenant_id']) ENVIRONMENT_ID = response_body['id'] # Create session self.expect_policy_check( 'show_environment', {'environment_id': ENVIRONMENT_ID}) request = self._post( '/environments/{environment_id}/configure' .format(environment_id=ENVIRONMENT_ID), b'', **CREDENTIALS ) response_body = jsonutils.loads(request.get_response(self.api).body) SESSION_ID = response_body['id'] # Show the environment and test that it is correct. request = self._get( '/environments/{environment_id}' .format(environment_id=ENVIRONMENT_ID), **CREDENTIALS ) request.headers['X-Configuration-Session'] = str(SESSION_ID) request.context.session = SESSION_ID response_body = jsonutils.loads(request.get_response(self.api).body) self.assertEqual(ENVIRONMENT_ID, response_body['id']) def _create_env_and_session(self): creds = {'tenant': 'test_tenant', 'user': 'test_user'} self._set_policy_rules( {'show_environment': '@', 'update_environment': '@'} ) env_id = '123' self._create_fake_environment(env_id=env_id) # Create session request = self._post('/environments/{environment_id}/configure' .format(environment_id=env_id), b'', **creds) response_body = jsonutils.loads(request.get_response(self.api).body) session_id = response_body['id'] return env_id, session_id def test_get_and_update_environment_model(self): """Test GET and PATCH requests of an environment object model""" env_id, session_id = self._create_env_and_session() # Get entire env's model self.expect_policy_check('show_environment', {'environment_id': '123'}) req = self._get('/environments/{0}/model/'.format(env_id)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) expected = {'?': {'id': '{0}'.format(env_id)}} self.assertEqual(expected, jsonutils.loads(result.body)) # Add some data to the '?' section of env's model self.expect_policy_check('update_environment', {'environment_id': '123'}) data = [{ "op": "add", "path": "/?/name", "value": 'my_env' }] expected = { 'id': '{0}'.format(env_id), 'name': 'my_env' } req = self._patch('/environments/{0}/model/'.format(env_id), jsonutils.dump_as_bytes(data), content_type='application/env-model-json-patch') req.headers['X-Configuration-Session'] = str(session_id) req.context.session = session_id result = req.get_response(self.api) self.assertEqual(200, result.status_code) observed = jsonutils.loads(result.body)['?'] self.assertEqual(expected, observed) # Check that changes are stored in session self.expect_policy_check('show_environment', {'environment_id': '123'}) req = self._get('/environments/{0}/model/{1}'.format( env_id, '/?')) req.headers['X-Configuration-Session'] = str(session_id) req.context.session = session_id result = req.get_response(self.api) self.assertEqual(200, result.status_code) self.assertEqual(expected, jsonutils.loads(result.body)) # Check that actual model remains unchanged self.expect_policy_check('show_environment', {'environment_id': '123'}) req = self._get('/environments/{0}/model/{1}'.format( env_id, '/?')) result = req.get_response(self.api) self.assertEqual(200, result.status_code) expected = {'id': '{0}'.format(env_id)} self.assertEqual(expected, jsonutils.loads(result.body)) def test_get_environment_model_non_existing_path(self): env_id, session_id = self._create_env_and_session() # Try to get non-existing section of env's model self.expect_policy_check('show_environment', {'environment_id': '123'}) path = 'foo/bar' req = self._get('/environments/{0}/model/{1}'.format( env_id, path)) result = req.get_response(self.api) self.assertEqual(404, result.status_code) def test_update_environment_model_empty_body(self): env_id, session_id = self._create_env_and_session() data = None req = self._patch('/environments/{0}/model/'.format(env_id), jsonutils.dump_as_bytes(data), content_type='application/env-model-json-patch') req.headers['X-Configuration-Session'] = str(session_id) req.context.session = session_id result = req.get_response(self.api) self.assertEqual(400, result.status_code) result_msg = result.text.replace('\n', '') msg = "JSON-patch must be a list." self.assertIn(msg, result_msg) def test_update_environment_model_no_patch(self): env_id, session_id = self._create_env_and_session() data = ["foo"] req = self._patch('/environments/{0}/model/'.format(env_id), jsonutils.dump_as_bytes(data), content_type='application/env-model-json-patch') req.headers['X-Configuration-Session'] = str(session_id) req.context.session = session_id result = req.get_response(self.api) self.assertEqual(400, result.status_code) result_msg = result.text.replace('\n', '') msg = "Operations must be JSON objects." self.assertIn(msg, result_msg) def test_update_environment_model_no_op(self): env_id, session_id = self._create_env_and_session() data = [{ "path": "/?/name", "value": 'my_env' }] req = self._patch('/environments/{0}/model/'.format(env_id), jsonutils.dump_as_bytes(data), content_type='application/env-model-json-patch') req.headers['X-Configuration-Session'] = str(session_id) req.context.session = session_id result = req.get_response(self.api) self.assertEqual(400, result.status_code) result_msg = result.text.replace('\n', '') msg = "Unable to find 'op' in JSON Schema change" self.assertIn(msg, result_msg) def test_update_environment_model_no_path(self): env_id, session_id = self._create_env_and_session() data = [{ "op": "add", "value": 'my_env' }] req = self._patch('/environments/{0}/model/'.format(env_id), jsonutils.dump_as_bytes(data), content_type='application/env-model-json-patch') req.headers['X-Configuration-Session'] = str(session_id) req.context.session = session_id result = req.get_response(self.api) self.assertEqual(400, result.status_code) result_msg = result.text.replace('\n', '') msg = "Unable to find 'path' in JSON Schema change" self.assertIn(msg, result_msg) def test_update_environment_model_no_value(self): env_id, session_id = self._create_env_and_session() data = [{ "op": "add", "path": "/?/name" }] req = self._patch('/environments/{0}/model/'.format(env_id), jsonutils.dump_as_bytes(data), content_type='application/env-model-json-patch') req.headers['X-Configuration-Session'] = str(session_id) req.context.session = session_id result = req.get_response(self.api) self.assertEqual(400, result.status_code) result_msg = result.text.replace('\n', '') msg = 'Operation "add" requires a member named "value".' self.assertIn(msg, result_msg) def test_update_environment_model_forbidden_operation(self): env_id, session_id = self._create_env_and_session() data = [{ "op": "add", "path": "/?/id", "value": "foo" }] req = self._patch('/environments/{0}/model/'.format(env_id), jsonutils.dump_as_bytes(data), content_type='application/env-model-json-patch') req.headers['X-Configuration-Session'] = str(session_id) req.context.session = session_id result = req.get_response(self.api) self.assertEqual(403, result.status_code) result_msg = result.text.replace('\n', '') msg = ("Method 'add' is not allowed for a path with name '?/id'. " "Allowed operations are: no operations") self.assertIn(msg, result_msg) def test_update_environment_model_invalid_schema(self): env_id, session_id = self._create_env_and_session() data = [{ "op": "add", "path": "/?/name", "value": 111 }] req = self._patch('/environments/{0}/model/'.format(env_id), jsonutils.dump_as_bytes(data), content_type='application/env-model-json-patch') req.headers['X-Configuration-Session'] = str(session_id) req.context.session = session_id result = req.get_response(self.api) self.assertEqual(400, result.status_code) result_msg = result.text.replace('\n', '') msg = "111 is not of type 'string'" self.assertIn(msg, result_msg) murano-9.0.0/murano/tests/unit/api/v1/test_instance_statistics.py0000664000175000017500000000464213656750211025267 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from murano.api.v1 import instance_statistics import murano.tests.unit.api.base as tb class TestInstanceStatistics(tb.ControllerTest, tb.MuranoApiTestCase): def setUp(self): super(TestInstanceStatistics, self).setUp() self.controller = instance_statistics.Controller() def test_get_aggregated(self): self._set_policy_rules( {"get_aggregated_statistics": "@"} ) self.expect_policy_check("get_aggregated_statistics", {'environment_id': u'12344'}) env_id = 12344 req = self._get('/environments/{env_id}/' 'instance-statistics/aggregated' .format(env_id=env_id)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) def test_get_for_instance(self): self._set_policy_rules( {"get_instance_statistics": "@"} ) self.expect_policy_check("get_instance_statistics", {'environment_id': u'12345', 'instance_id': u'12'}) env_id = 12345 ins_id = 12 req = self._get('/environments/{env_id}/' 'instance-statistics/raw/{ins_id}' .format(env_id=env_id, ins_id=ins_id)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) def test_get_for_env(self): self._set_policy_rules( {"get_statistics": "@"} ) self.expect_policy_check("get_statistics", {'environment_id': u'12346'}) env_id = 12346 req = self._get('/environments/{env_id}/instance-statistics/raw' .format(env_id=env_id)) result = req.get_response(self.api) self.assertEqual(200, result.status_code) murano-9.0.0/murano/tests/unit/api/middleware/0000775000175000017500000000000013656750351021366 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/api/middleware/test_fault_wrapper.py0000664000175000017500000001004513656750211025645 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from murano.api.middleware import fault from murano.common import wsgi from murano.packages import exceptions from murano.tests.unit import base from oslo_serialization import jsonutils from webob import exc class FaultWrapperTest(base.MuranoTestCase): @mock.patch('traceback.format_exc') def test_error_500(self, mock_trace): mock_trace.return_value = "test trace" fault_wrapper = fault.FaultWrapper(None) result = fault_wrapper._error(exc.HTTPInternalServerError()) self.assertEqual(result['code'], 500) self.assertEqual(result['explanation'], 'The server has either erred or is incapable' ' of performing the requested operation.') @mock.patch('traceback.format_exc') def test_error_value_error(self, mock_trace): mock_trace.return_value = "test trace" fault_wrapper = fault.FaultWrapper(None) exception = exceptions.PackageClassLoadError("test") exception.message = "Unable to load class 'test' from package" result = fault_wrapper._error(exception) self.assertEqual(result['code'], 400) self.assertEqual(result['error']['message'], "Unable to load class 'test' from package") @mock.patch('traceback.format_exc') def test_fault_wrapper(self, mock_trace): mock_trace.return_value = "test trace" fault_wrapper = fault.FaultWrapper(None) exception_disguise = fault.HTTPExceptionDisguise( exc.HTTPInternalServerError()) result = fault_wrapper._error(exception_disguise) self.assertEqual(result['code'], 500) self.assertEqual(result['explanation'], 'The server has either erred or is incapable' ' of performing the requested operation.') def test_process_request(self): fault_wrapper = fault.FaultWrapper(None) environ = { 'SERVER_NAME': 'server.test', 'SERVER_PORT': '8082', 'SERVER_PROTOCOL': 'http', 'SCRIPT_NAME': '/', 'PATH_INFO': '/asdf/asdf/asdf/asdf', 'wsgi.url_scheme': 'http', 'QUERY_STRING': '', 'CONTENT_TYPE': 'application/json', 'REQUEST_METHOD': 'HEAD' } req = wsgi.Request(environ) req.get_response = mock.MagicMock(side_effect=exc. HTTPInternalServerError()) self.assertRaises(exc.HTTPInternalServerError, fault_wrapper.process_request, req) @mock.patch('traceback.format_exc') def test_fault_call(self, mock_trace): mock_trace.return_value = "test trace" fault_wrapper = fault.FaultWrapper(None) exception = exceptions.PackageClassLoadError("test") exception.message = "Unable to load class 'test' from package" test_fault = fault.Fault(fault_wrapper._error(exception)) environ = { 'SERVER_NAME': 'server.test', 'SERVER_PORT': '8082', 'SERVER_PROTOCOL': 'http', 'SCRIPT_NAME': '/', 'PATH_INFO': '/', 'wsgi.url_scheme': 'http', 'QUERY_STRING': '', 'CONTENT_TYPE': 'application/json', 'REQUEST_METHOD': 'HEAD' } req = wsgi.Request(environ) response = jsonutils.loads(test_fault(req).body) self.assertEqual(response['code'], 400) murano-9.0.0/murano/tests/unit/api/middleware/__init__.py0000664000175000017500000000000013656750211023460 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/api/middleware/test_context.py0000664000175000017500000000277513656750211024471 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import webob from murano.api.middleware import context from murano.tests.unit import base from oslo_config import cfg CONF = cfg.CONF class MiddlewareContextTest(base.MuranoTestCase): def test_middleware_context_default(self): middleware = context.ContextMiddleware(None) request_headers = { 'X-Roles': 'admin', 'X-User-Id': "", 'X-Tenant-Id': "", 'X-Configuration-Session': "", } request = webob.Request.blank('/environments', headers=request_headers) self.assertFalse(hasattr(request, 'context')) middleware.process_request(request) self.assertTrue(hasattr(request, 'context')) def test_factory_returns_filter(self): middleware = context.ContextMiddleware(None) result = middleware.factory(CONF) self.assertIsNotNone(result) murano-9.0.0/murano/tests/unit/api/middleware/test_version_negotiation.py0000664000175000017500000000667613656750211027076 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock import webob from murano.api.middleware import version_negotiation from murano.api import versions from murano.tests.unit import base class MiddlewareVersionNegotiationTest(base.MuranoTestCase): @mock.patch.object(version_negotiation, 'LOG') def test_middleware_version_negotiation_default(self, mock_log): middleware_vn = version_negotiation.VersionNegotiationFilter(None) request = webob.Request.blank('/environments') result = middleware_vn.process_request(request) self.assertIsInstance(result, versions.Controller) mock_log.warning.assert_called_once_with( "Unknown version. Returning version choices.") @mock.patch.object(version_negotiation, 'LOG') def test_process_request(self, mock_log): """Test process_request using different valid paths.""" middleware_vn = version_negotiation.VersionNegotiationFilter(None) for path in ('v1', '/v1', '///v1'): request = webob.Request.blank(path) request.method = 'GET' request.environ = {} result = middleware_vn.process_request(request) self.assertIsNone(result) self.assertIn('api.version', request.environ) self.assertEqual(1, request.environ['api.version']) self.assertEqual('/v1', request.path_info) mock_log.debug.assert_any_call( "Matched version: v{version}".format(version=1)) mock_log.debug.assert_any_call( 'new path {path}'.format(path='/v1')) request = webob.Request.blank('/v1/') request.method = 'GET' request.environ = {} result = middleware_vn.process_request(request) self.assertIsNone(result) self.assertIn('api.version', request.environ) self.assertEqual(1, request.environ['api.version']) self.assertEqual('/v1/', request.path_info) mock_log.debug.assert_any_call( "Matched version: v{version}".format(version=1)) mock_log.debug.assert_any_call( 'new path {path}'.format(path='/v1/')) @mock.patch.object(version_negotiation, 'LOG') def test_process_request_without_path(self, mock_log): middleware_vn = version_negotiation.VersionNegotiationFilter(None) request = webob.Request.blank('') request.method = 'GET' request.environ = {} result = middleware_vn.process_request(request) self.assertIsInstance(result, versions.Controller) mock_log.warning.assert_called_once_with( "Unknown version. Returning version choices.") def test_factory(self): app = version_negotiation.VersionNegotiationFilter.factory(None) self.assertIsNotNone(app) self.assertEqual( version_negotiation.VersionNegotiationFilter, type(app(None))) murano-9.0.0/murano/tests/unit/api/middleware/test_ext_context.py0000664000175000017500000001161313656750211025340 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock import webob from keystoneauth1 import exceptions from murano.api.middleware import ext_context from murano.tests.unit import base from oslo_serialization import base64 class MiddlewareExtContextTest(base.MuranoTestCase): def test_middleware_ext_context_default(self): middleware = ext_context.ExternalContextMiddleware(None) middleware.get_keystone_token = mock.MagicMock(return_value="token?") auth = 'Basic {}'.format(base64.encode_as_text(b'test:test')) request_headers = { 'Authorization': auth, } request = webob.Request.blank('/environments', headers=request_headers) middleware.process_request(request) self.assertEqual(request.headers.get('X-Auth-Token'), "token?") def test_middleware_ext_context_except_key_error(self): middleware = ext_context.ExternalContextMiddleware(None) middleware.get_keystone_token = mock.MagicMock( side_effect=KeyError('test key error') ) auth = 'Basic {}'.format(base64.encode_as_text(b'test:test')) request_headers = { 'Authorization': auth, } request = webob.Request.blank('/environments', headers=request_headers) self.assertRaises(webob.exc.HTTPUnauthorized, middleware.process_request, request) def test_middleware_ext_context_except_unauthorized(self): middleware = ext_context.ExternalContextMiddleware(None) middleware.get_keystone_token = mock.MagicMock( side_effect=exceptions.Unauthorized('') ) auth = 'Basic {}'.format(base64.encode_as_text(b'test:test')) request_headers = { 'Authorization': auth, } request = webob.Request.blank('/environments', headers=request_headers) self.assertRaises(webob.exc.HTTPUnauthorized, middleware.process_request, request) @mock.patch('murano.api.middleware.ext_context.ks_session') @mock.patch('murano.api.middleware.ext_context.v3') @mock.patch('murano.api.middleware.ext_context.CONF') def test_get_keystone_token(self, mock_conf, mock_v3, mock_ks_session): mock_ks_session.Session().get_token.return_value = 'test_token' test_auth_urls = ['test_url', 'test_url/v2.0', 'test_url/v3'] for url in test_auth_urls: mock_conf.cfapi = mock.MagicMock(auth_url=url, tenant='test_tenant', user_domain_name='test_udn', project_domain_name='test_pdn') middleware = ext_context.ExternalContextMiddleware(None) token = middleware.get_keystone_token('test_user', 'test_password') self.assertEqual('test_token', token) expected_kwargs = { 'auth_url': 'test_url/v3', 'username': 'test_user', 'password': 'test_password', 'project_name': mock_conf.cfapi.tenant, 'user_domain_name': mock_conf.cfapi.user_domain_name, 'project_domain_name': mock_conf.cfapi.project_domain_name } mock_v3.Password.assert_called_once_with(**expected_kwargs) mock_v3.Password.reset_mock() def test_query_endpoints_except_endpoint_not_found(self): middleware = ext_context.ExternalContextMiddleware(None) if hasattr(middleware, '_murano_endpoint'): setattr(middleware, '_murano_endpoint', None) mock_auth = mock.MagicMock() mock_auth.get_endpoint.side_effect = exceptions.EndpointNotFound middleware._query_endpoints(mock_auth, 'test_session') mock_auth.get_endpoint.assert_any_call('test_session', 'application-catalog') if hasattr(middleware, '_glare_endpoint'): setattr(middleware, '_glare_endpoint', None) setattr(middleware, '_murano_endpoint', 'test_endpoint') middleware._query_endpoints(mock_auth, 'test_session') mock_auth.get_endpoint.assert_any_call('test_session', 'artifact') murano-9.0.0/murano/tests/unit/api/cmd/0000775000175000017500000000000013656750351020014 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/api/cmd/__init__.py0000664000175000017500000000000013656750211022106 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/api/cmd/test_package/0000775000175000017500000000000013656750351022446 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/api/cmd/test_package/Classes/0000775000175000017500000000000013656750351024043 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/api/cmd/test_package/Classes/Mytest2.yaml0000664000175000017500000000023713656750211026273 0ustar zuulzuul00000000000000Namespaces: =: io.murano.test Extends: TestFixture Name: MyTest2 Methods: testSimple1: Body: testSimple2: Body: thisIsNotAtestMethod: murano-9.0.0/murano/tests/unit/api/cmd/test_package/Classes/Mytest1.yaml0000664000175000017500000000025613656750211026273 0ustar zuulzuul00000000000000Namespaces: =: io.murano.test Extends: TestFixture Name: MyTest1 Methods: setUp: Body: testSimple1: Body: testSimple2: Body: tearDown: Body:murano-9.0.0/murano/tests/unit/api/cmd/test_package/Classes/Mytest3.yaml0000664000175000017500000000021113656750211026264 0ustar zuulzuul00000000000000Namespaces: =: io.murano.test Name: MyTest3 Methods: testSimple1: Body: testSimple2: Body: thisIsNotAtestMethod: murano-9.0.0/murano/tests/unit/api/cmd/test_package/manifest.yaml0000664000175000017500000000046713656750211025142 0ustar zuulzuul00000000000000Format: 1.0 Type: Application FullName: io.murano.test.MyTest1 Name: Test case Example Description: | Example of test-case. Mocks are not used in this app Author: 'Mirantis, Inc' Tags: [] Classes: io.murano.test.MyTest1: Mytest1.yaml io.murano.test.MyTest2: Mytest2.yaml io.murano.test.MyTest3: Mytest3.yamlmurano-9.0.0/murano/tests/unit/api/cmd/test_test_runner.py0000664000175000017500000001664013656750211023777 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from io import StringIO import os import sys from unittest import mock import fixtures from oslo_config import cfg from oslo_log import log as logging from oslo_utils import importutils import testtools from murano.cmd import test_runner from murano import version CONF = cfg.CONF logging.register_options(CONF) logging.setup(CONF, 'murano') class TestCaseShell(testtools.TestCase): def setUp(self): super(TestCaseShell, self).setUp() self.auth_params = {'username': 'test', 'password': 'test', 'project_name': 'test', 'auth_url': 'http://localhost:5000'} self.args = ['test-runner.py'] for k, v in self.auth_params.items(): k = '--os-' + k.replace('_', '-') self.args.extend([k, v]) self.useFixture(fixtures.MonkeyPatch('keystoneclient.v3.client.Client', mock.MagicMock)) dirs = [os.path.dirname(__file__), os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, os.pardir, os.pardir, os.pardir, 'meta')] self.override_config('load_packages_from', dirs, 'engine') def tearDown(self): super(TestCaseShell, self).tearDown() CONF.clear() def override_config(self, name, override, group=None): CONF.set_override(name, override, group) CONF.set_override('use_stderr', True) self.addCleanup(CONF.clear_override, name, group) def shell(self, cmd_args=None, exitcode=0): stdout = StringIO() stderr = StringIO() args = self.args if cmd_args: cmd_args = cmd_args.split() args.extend(cmd_args) with mock.patch.object(sys, 'stdout', stdout): with mock.patch.object(sys, 'stderr', stderr): with mock.patch.object(sys, 'argv', args): result = self.assertRaises(SystemExit, test_runner.main) self.assertEqual(result.code, exitcode, 'Command finished with error.') stdout = stdout.getvalue() stderr = stderr.getvalue() return (stdout, stderr) def test_help(self): stdout, _ = self.shell('--help') usage = """usage: murano-test-runner [-h] [--config-file CONFIG_FILE] [--os-auth-url OS_AUTH_URL] [--os-username OS_USERNAME] [--os-password OS_PASSWORD] [--os-project-name OS_PROJECT_NAME] [-l [ [ ...]]] [-v] [--version] [ [parent', 'child->parent2'].""" self._classes = {} rules_dict = {} for rule in rules: split = rule.split('->') rules_dict.setdefault(split[0], []).append(split[1]) classes = (self.get_class(cls, rules_dict) for cls in rules_dict) self._package = MockPackage(classes) def get_class(self, name, rules_dict): if name in self._classes: return self._classes[name] parents = [self.get_class(parent, rules_dict) for parent in rules_dict.get(name, [])] result = MockClass({'name': name, 'declared_parents': parents}) self._classes[name] = result return result def register_package(self, package): pass def load_class_package(self, class_name, version_spec): return self._package def load_package(self, package_name, version_spec): return self._package def export_fixation_table(self): pass def import_fixation_table(self, fixations): pass def compact_fixation_table(self): pass class MockPackage(object): def __init__(self, classes): self._classes = {} for cls in classes: self._classes[cls.name] = cls @property def classes(self): return self._classes.keys() def find_class(self, name, *args, **kwargs): return self._classes.get(name) class MockClass(object): def __init__(self, entries): self.__dict__.update(entries) def ancestors(self): return helpers.traverse(self, lambda t: t.declared_parents) class TestCongressRules(unittest.TestCase): def _load_file(self, file_name): model_file = os.path.join( os.path.dirname(inspect.getfile(self.__class__)), file_name) with open(model_file) as stream: return yaml.safe_load(stream) def _create_rules_str(self, model_file, package_loader=None): model = self._load_file(model_file) congress_rules = congress.CongressRulesManager() rules = congress_rules.convert(model, package_loader, tenant_id=TENANT_ID) rules_str = ", \n".join(map(str, rules)) return rules_str def test_transitive_closure(self): closure = congress.CongressRulesManager.transitive_closure( [(1, 2), (2, 3), (3, 4)]) self.assertIn((1, 4), closure) self.assertIn((2, 4), closure) def test_empty_model(self): congress_rules = congress.CongressRulesManager() rules = congress_rules.convert(None) self.assertEqual(0, len(rules)) def test_convert_simple_app(self): rules_str = self._create_and_check_rules_str('model') self.assertNotIn("instance.", rules_str) def test_convert_model_two_instances(self): rules_str = self._create_and_check_rules_str('model_two_instances') self.assertNotIn("\"instances\"", rules_str) def test_convert_model_with_relations(self): rules_str = self._create_rules_str('model_with_relations.yaml') self.assertNotIn( 'murano:properties+("50fa68ff-cd9a-4845-b573-2c80879d158d", ' '"server", "8ce94f23-f16a-40a1-9d9d-a877266c315d")', rules_str) self.assertIn( 'murano:relationships+("50fa68ff-cd9a-4845-b573-2c80879d158d", ' '"8ce94f23-f16a-40a1-9d9d-a877266c315d", "server")', rules_str) self.assertIn( 'murano:relationships+("0aafd67e-72e9-4ae0-bb62-fe724f77df2a", ' '"ed8df2b0-ddd2-4009-b3c9-2e7a368f3cb8", "instance")', rules_str) def test_convert_model_transitive_relationships(self): rules_str = self._create_rules_str('model_with_relations.yaml') self.assertIn( 'murano:connected+("50fa68ff-cd9a-4845-b573-2c80879d158d", ' '"8ce94f23-f16a-40a1-9d9d-a877266c315d")', rules_str) self.assertIn( 'murano:connected+("8ce94f23-f16a-40a1-9d9d-a877266c315d", ' '"fc6b8c41-166f-4fc9-a640-d82009e0a03d")', rules_str) def test_convert_model_services_relationship(self): rules_str = self._create_rules_str('model_with_relations.yaml') self.assertIn( 'murano:relationships+("3409bdd0590e4c60b70fda5e6777ff96", ' '"8ce94f23-f16a-40a1-9d9d-a877266c315d", "services")', rules_str) self.assertIn( 'murano:relationships+("3409bdd0590e4c60b70fda5e6777ff96", ' '"50fa68ff-cd9a-4845-b573-2c80879d158d", "services")', rules_str) def test_convert_model_complex(self): self._create_and_check_rules_str('model_complex') def test_convert_renamed_app(self): self._create_and_check_rules_str('model_renamed') def test_parent_types(self): # grand-parent # / \ # parent1 parent2 # \ / # io.murano.apps.linux.Git package_loader = MockPackageLoader([ 'io.murano.apps.linux.Git->parent1', 'io.murano.apps.linux.Git->parent2', 'parent1->grand-parent', 'parent2->grand-parent' ]) rules_str = self._create_rules_str('model.yaml', package_loader) self.assertIn( 'murano:parent_types+("0c810278-7282-4e4a-9d69-7b4c36b6ce6f",' ' "parent1")', rules_str) self.assertIn( 'murano:parent_types+("0c810278-7282-4e4a-9d69-7b4c36b6ce6f",' ' "parent2")', rules_str) self.assertIn( 'murano:parent_types+("0c810278-7282-4e4a-9d69-7b4c36b6ce6f",' ' "grand-parent")', rules_str) self.assertIn( 'murano:parent_types+("0c810278-7282-4e4a-9d69-7b4c36b6ce6f",' ' "io.murano.apps.linux.Git")', rules_str) def test_to_dictionary(self): """test to_dictionary If model contains object entry (not dict) we try to convert to dict using 'to_dictionary' method. """ class Struct(object): def __init__(self, d): self.__dict__ = d def to_dictionary(self): return self.__dict__ def __getitem__(self, item): return self.__dict__[item] d = {'?': {'id': '1', 'type': 't1'}, 'apps': [Struct({'?': {'id': '2', 'type': 't2'}, 'instances': [Struct( {'?': {'id': '3', 'type': 't3'}})]})] } model = Struct(d) congress_rules = congress.CongressRulesManager() tenant_id = uuidutils.generate_uuid() rules = congress_rules.convert(model, tenant_id=tenant_id) rules_str = ", \n".join(map(str, rules)) self.assertIn('murano:objects+("1", "{0}", "t1")'.format(tenant_id), rules_str) self.assertIn('murano:objects+("2", "1", "t2")', rules_str) self.assertIn('murano:objects+("3", "2", "t3")', rules_str) def test_environment_owner(self): model = self._load_file("model.yaml") congress_rules = congress.CongressRulesManager() rules = congress_rules.convert(model, tenant_id='tenant1') rules_str = ", \n".join(map(str, rules)) self.assertIn('murano:objects+("c86104748a0c4907b4c5981e6d3bce9f", ' '"tenant1", "io.murano.Environment")', rules_str) def test_wordpress(self): package_loader = MockPackageLoader([ 'io.murano.Environment->io.murano.Object', 'io.murano.resources.NeutronNetwork->io.murano.resources.Network', 'io.murano.resources.Network->io.murano.Object', 'io.murano.databases.MySql->io.murano.databases.SqlDatabase', 'io.murano.databases.MySql->io.murano.Application', 'io.murano.databases.SqlDatabase->io.murano.Object', 'io.murano.resources.LinuxInstance->io.murano.resources.Instance', 'io.murano.resources.Instance->io.murano.Object', 'io.murano.Application->io.murano.Object', 'io.murano.apps.apache.ApacheHttpServer->io.murano.Application', 'io.murano.apps.ZabbixServer->io.murano.Application', 'io.murano.apps.ZabbixAgent->io.murano.Application', 'io.murano.apps.WordPress->io.murano.Application', 'io.murano.resources.LinuxMuranoInstance->' 'io.murano.resources.LinuxInstance' ]) self._create_and_check_rules_str('wordpress', package_loader) def _create_and_check_rules_str(self, model_name, package_loader=None): rules_str = self._create_rules_str( '{0}.yaml'.format(model_name), package_loader) self._check_expected_rules(rules_str, 'expected_rules_{0}.txt'.format(model_name)) return rules_str def _check_expected_rules(self, rules_str, expected_rules_file_name): expected_rules_file = os.path.join( os.path.dirname(inspect.getfile(self.__class__)), expected_rules_file_name) s = '' with open(expected_rules_file) as f: for line in f: line = line.rstrip('\n') if line not in rules_str: s += 'Expected rule not found:\n\t' + line + '\n' if len(s) > 0: self.fail(s) def test_state_rule(self): rules_str = self._create_rules_str('model.yaml') self.assertIn( 'murano:states+("c86104748a0c4907b4c5981e6d3bce9f", "pending")', rules_str) murano-9.0.0/murano/tests/unit/policy/expected_rules_model_renamed.txt0000664000175000017500000000064213656750212026424 0ustar zuulzuul00000000000000murano:objects+("0c810278-7282-4e4a-9d69-7b4c36b6ce6f", "c86104748a0c4907b4c5981e6d3bce9f", "io.murano.apps.linux.Git") murano:properties+("0c810278-7282-4e4a-9d69-7b4c36b6ce6f", "name", "git1") murano:objects+("b840b71e-1805-46c5-9e6f-5a3d2c8d773e", "0c810278-7282-4e4a-9d69-7b4c36b6ce6f", "io.murano.resources.LinuxMuranoInstance") murano:properties+("b840b71e-1805-46c5-9e6f-5a3d2c8d773e", "name", "whjiyi3uzhxes6")murano-9.0.0/murano/tests/unit/policy/model.yaml0000664000175000017500000000123213656750212021755 0ustar zuulzuul00000000000000'?': {id: c86104748a0c4907b4c5981e6d3bce9f, type: io.murano.Environment} applications: - '?': _26411a1861294160833743e45d0eaad9: {name: Git} id: 0c810278-7282-4e4a-9d69-7b4c36b6ce6f type: io.murano.apps.linux.Git instance: '?': {id: b840b71e-1805-46c5-9e6f-5a3d2c8d773e, type: io.murano.resources.LinuxMuranoInstance} assignFloatingIp: false flavor: m1.small image: murano-ubuntu keyname: '' name: whjiyi3uzhxes6 name: git1 repo: default.git defaultNetworks: environment: '?': {id: 9d89844f20a642e0a1148e1fb8fd9e2e, type: io.murano.resources.NeutronNetwork} name: quick-env-1-network flat: null name: quick-env-1murano-9.0.0/murano/tests/unit/policy/expected_rules_model.txt0000664000175000017500000000064213656750212024731 0ustar zuulzuul00000000000000murano:objects+("0c810278-7282-4e4a-9d69-7b4c36b6ce6f", "c86104748a0c4907b4c5981e6d3bce9f", "io.murano.apps.linux.Git") murano:properties+("0c810278-7282-4e4a-9d69-7b4c36b6ce6f", "name", "git1") murano:objects+("b840b71e-1805-46c5-9e6f-5a3d2c8d773e", "0c810278-7282-4e4a-9d69-7b4c36b6ce6f", "io.murano.resources.LinuxMuranoInstance") murano:properties+("b840b71e-1805-46c5-9e6f-5a3d2c8d773e", "name", "whjiyi3uzhxes6")murano-9.0.0/murano/tests/unit/policy/wordpress.yaml0000664000175000017500000001235213656750212022712 0ustar zuulzuul00000000000000defaultNetworks: environment: '?': {id: c46770dec1db483ca2322914b842e50f, type: io.murano.resources.NeutronNetwork} autoUplink: true autogenerateSubnet: true dnsNameservers: null externalRouterId: null name: wordpress-env-network subnetCidr: null flat: null name: wordpress-env '?': {type: io.murano.Environment, id: 83bff5acf8354816b08cf9b4917c898d} applications: - '?': {id: e7a13d3c-b3c9-42fa-975d-a47b142fd233, type: io.murano.databases.MySql} database: wordpress instance: '?': {id: 825dc61d-217a-4fd8-80fc-43807f8d6fa2, type: io.murano.resources.LinuxMuranoInstance} assignFloatingIp: false flavor: m1.small floatingIpAddress: null image: murano-ubuntu ipAddresses: [] keyname: '' name: qgijhi4uwe5wd8 networks: customNetworks: [] primaryNetwork: null useEnvironmentNetwork: true useFlatNetwork: false securityGroupName: null sharedIps: [] name: MySqlDB password: Adminadmin#1 username: admin - '?': {id: d224db7d-081d-47a4-9333-9d2677b90b1f, type: io.murano.apps.apache.ApacheHttpServer} enablePHP: true instance: '?': {id: 3ddd4945-e4b8-4dac-9f85-537fc0957151, type: io.murano.resources.LinuxMuranoInstance} assignFloatingIp: false flavor: m1.small floatingIpAddress: null image: murano-ubuntu ipAddresses: [] keyname: '' name: yeqsbi4uwejfg7 networks: customNetworks: [] primaryNetwork: null useEnvironmentNetwork: true useFlatNetwork: false securityGroupName: null sharedIps: [] name: ApacheHttpServer - '?': {id: 33e91790-5c44-40ce-9292-9dd4856325a0, type: io.murano.apps.ZabbixServer} database: zabbix instance: '?': {id: 0b568a74-66c9-4e73-84d8-7dd1b96066ec, type: io.murano.resources.LinuxMuranoInstance} assignFloatingIp: false flavor: m1.small floatingIpAddress: null image: murano-ubuntu ipAddresses: [] keyname: '' name: gzxgdi4uwfjt57 networks: customNetworks: [] primaryNetwork: null useEnvironmentNetwork: true useFlatNetwork: false securityGroupName: null sharedIps: [] name: ZabbixServer password: Adminadmin#1 username: zabbix - '?': {id: 19a87de5-41ce-4e63-bf43-0e25dd409a1e, type: io.murano.apps.ZabbixAgent} hostname: zabbix name: ZabbixAgent probe: ICMP server: '?': {id: 33e91790-5c44-40ce-9292-9dd4856325a0, type: io.murano.apps.ZabbixServer} database: zabbix instance: '?': {id: 0b568a74-66c9-4e73-84d8-7dd1b96066ec, type: io.murano.resources.LinuxMuranoInstance} assignFloatingIp: false flavor: m1.small floatingIpAddress: null image: murano-ubuntu ipAddresses: [] keyname: '' name: gzxgdi4uwfjt57 networks: customNetworks: [] primaryNetwork: null useEnvironmentNetwork: true useFlatNetwork: false securityGroupName: null sharedIps: [] name: ZabbixServer password: Adminadmin#1 username: zabbix - '?': {id: fec71a35-8abc-4a8f-a5e4-91e77854d761, type: io.murano.apps.WordPress} database: '?': {id: e7a13d3c-b3c9-42fa-975d-a47b142fd233, type: io.murano.databases.MySql} database: wordpress instance: '?': {id: 825dc61d-217a-4fd8-80fc-43807f8d6fa2, type: io.murano.resources.LinuxMuranoInstance} assignFloatingIp: false flavor: m1.small floatingIpAddress: null image: murano-ubuntu ipAddresses: [] keyname: '' name: qgijhi4uwe5wd8 networks: customNetworks: [] primaryNetwork: null useEnvironmentNetwork: true useFlatNetwork: false securityGroupName: null sharedIps: [] name: MySqlDB password: Adminadmin#1 username: admin dbName: wordpress dbPassword: Adminadmin#1 dbUser: admin monitoring: '?': {id: 19a87de5-41ce-4e63-bf43-0e25dd409a1e, type: io.murano.apps.ZabbixAgent} hostname: zabbix name: ZabbixAgent probe: ICMP server: '?': {id: 33e91790-5c44-40ce-9292-9dd4856325a0, type: io.murano.apps.ZabbixServer} database: zabbix instance: '?': {id: 0b568a74-66c9-4e73-84d8-7dd1b96066ec, type: io.murano.resources.LinuxMuranoInstance} assignFloatingIp: false flavor: m1.small floatingIpAddress: null image: murano-ubuntu ipAddresses: [] keyname: '' name: gzxgdi4uwfjt57 networks: customNetworks: [] primaryNetwork: null useEnvironmentNetwork: true useFlatNetwork: false securityGroupName: null sharedIps: [] name: ZabbixServer password: Adminadmin#1 username: zabbix name: WordPress server: '?': {id: d224db7d-081d-47a4-9333-9d2677b90b1f, type: io.murano.apps.apache.ApacheHttpServer} enablePHP: true instance: '?': {id: 3ddd4945-e4b8-4dac-9f85-537fc0957151, type: io.murano.resources.LinuxMuranoInstance} assignFloatingIp: false flavor: m1.small floatingIpAddress: null image: murano-ubuntu ipAddresses: [] keyname: '' name: yeqsbi4uwejfg7 networks: customNetworks: [] primaryNetwork: null useEnvironmentNetwork: true useFlatNetwork: false securityGroupName: null sharedIps: [] name: ApacheHttpServermurano-9.0.0/murano/tests/unit/policy/test_model_policy_enforcer.py0000664000175000017500000001233613656750212025753 0ustar zuulzuul00000000000000# Copyright (c) 2014 OpenStack Foundation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import congressclient from unittest import mock from oslo_config import cfg from murano.common import engine from murano.policy import model_policy_enforcer from murano.tests.unit import base CONF = cfg.CONF class TestModelPolicyEnforcer(base.MuranoTestCase): def setUp(self): super(TestModelPolicyEnforcer, self).setUp() self.obj = mock.Mock() self.package_loader = mock.Mock() self.model_dict = mock.Mock() self.obj.to_dictionary = mock.Mock(return_value=self.model_dict) self.task = { 'action': {'method': 'deploy'}, 'model': {'Objects': None, 'project_id': 'tenant', 'user_id': 'user' }, 'token': 'token', 'project_id': 'tenant', 'user_id': 'user', 'id': 'environment.id' } self.congress_client_mock = \ mock.Mock(spec=congressclient.v1.client.Client) model_policy_enforcer.ModelPolicyEnforcer._create_client = mock.Mock( return_value=self.congress_client_mock) def test_enforcer_disabled(self): executor = engine.TaskExecutor(self.task) executor._model_policy_enforcer = mock.Mock() CONF.engine.enable_model_policy_enforcer = False executor._validate_model(self.obj, self.package_loader, None) self.assertFalse(executor._model_policy_enforcer.validate.called) def test_enforcer_enabled(self): executor = engine.TaskExecutor(self.task) executor._model_policy_enforcer = mock.Mock() CONF.engine.enable_model_policy_enforcer = True dsl_executor = mock.Mock() executor._validate_model(self.obj, self.package_loader, dsl_executor) executor._model_policy_enforcer \ .validate.assert_called_once_with(self.model_dict, self.package_loader) def test_validation_pass(self): self.congress_client_mock.execute_policy_action.return_value = \ {"result": []} model = {'?': {'id': '123', 'type': 'class'}} enforcer = model_policy_enforcer.ModelPolicyEnforcer(mock.Mock()) enforcer.validate(model) def test_validation_failure(self): self.congress_client_mock.execute_policy_action.return_value = \ {"result": ['predeploy_errors("123","instance1","failure")']} model = {'?': {'id': '123', 'type': 'class'}} enforcer = model_policy_enforcer.ModelPolicyEnforcer(mock.Mock()) self.assertRaises(model_policy_enforcer.ValidationError, enforcer.validate, model) def test_modify(self): model = {'?': {'id': '123', 'type': 'class'}} obj = mock.MagicMock() obj.to_dictionary = mock.Mock(return_value=model) self.congress_client_mock.execute_policy_action.return_value = \ {"result": [ 'predeploy_modify("123","instance1",' '"remove-object: {object_id: "12"}")']} action_manager = mock.MagicMock() enforcer = model_policy_enforcer.ModelPolicyEnforcer( mock.Mock(), action_manager) enforcer.modify(obj) self.assertTrue(action_manager.apply_action.called) def test_parse_result(self): congress_response = [ 'unexpected response', 'predeploy_errors("env1","instance1","Instance 1 has problem")', 'predeploy_errors("env1","instance1","Instance 2 has problem")', 'predeploy_errors("env2","instance1","Instance 3 has problem")' ] enforcer = model_policy_enforcer.ModelPolicyEnforcer(None) result = enforcer._parse_simulation_result( 'predeploy_errors', 'env1', congress_response) self.assertNotIn("unexpected response", result) self.assertIn("Instance 1 has problem", result) self.assertIn("Instance 2 has problem", result) self.assertNotIn("Instance 3 has problem", result) def test_none_model(self): executor = engine.TaskExecutor(self.task) executor._model_policy_enforcer = mock.Mock() CONF.engine.enable_model_policy_enforcer = True dsl_executor = mock.Mock() executor._validate_model(None, self.package_loader, dsl_executor) self.assertFalse(executor._model_policy_enforcer.modify.called) self.assertFalse(executor._model_policy_enforcer.validate.called) executor._validate_model(self.obj, self.package_loader, dsl_executor) self.assertTrue(executor._model_policy_enforcer.modify.called) self.assertTrue(executor._model_policy_enforcer.validate.called) murano-9.0.0/murano/tests/unit/policy/expected_rules_model_complex.txt0000664000175000017500000000072213656750212026457 0ustar zuulzuul00000000000000murano:properties+("ade378ce-00d4-4a33-99eb-7b4b6ea3ab97", "ipAddresses", "10.0.1.13") murano:properties+("ade378ce-00d4-4a33-99eb-7b4b6ea3ab97", "ipAddresses", "16.60.90.90") murano:properties+("ade378ce-00d4-4a33-99eb-7b4b6ea3ab97", "networks.customNetworks", "10.0.1.0") murano:properties+("ade378ce-00d4-4a33-99eb-7b4b6ea3ab97", "networks.customNetworks", "10.0.2.0") murano:properties+("ade378ce-00d4-4a33-99eb-7b4b6ea3ab97", "networks.customProp1.prop", "val")murano-9.0.0/murano/tests/unit/policy/model_complex.yaml0000664000175000017500000000277713656750212023523 0ustar zuulzuul00000000000000'?': {id: 75a7423a67384ca3a6ee9f7350f3552b, type: io.murano.Environment} applications: - '?': {id: 7cb96c80-1cd7-40bc-88fe-47b905069890, type: io.murano.apps.apache.TomcatCluster} balancer_ip: null clustered: null instances: - '?': {id: be3c5155-6670-4cf6-9a28-a4574ff70b71, type: io.murano.resources.LinuxMuranoInstance} assignFloatingIp: false flavor: m1.medium floatingIpAddress: null image: murano-ubuntu ipAddresses: [] keyname: '' name: gcthmi4jn23l68 networks: customNetworks: [] primaryNetwork: null useEnvironmentNetwork: true useFlatNetwork: false securityGroupName: null sharedIps: [] - '?': {id: ade378ce-00d4-4a33-99eb-7b4b6ea3ab97, type: io.murano.resources.LinuxMuranoInstance} assignFloatingIp: false flavor: m1.medium floatingIpAddress: null image: murano-ubuntu ipAddresses: [10.0.1.13, 16.60.90.90] keyname: '' name: bmtjbi4jn23l89 networks: customNetworks: [10.0.1.0, 10.0.2.0] primaryNetwork: null useEnvironmentNetwork: true useFlatNetwork: false customProp1: prop: val securityGroupName: null sharedIps: [] name: Tomcat port: 8080 public_ip: null defaultNetworks: environment: '?': {id: 7bac482a4c194b6e8dea81e6ce606db6, type: io.murano.resources.NeutronNetwork} autoUplink: true autogenerateSubnet: true dnsNameservers: null externalRouterId: null name: quick-env-12-network subnetCidr: null flat: null name: quick-env-12murano-9.0.0/murano/tests/unit/policy/expected_rules_wordpress.txt0000664000175000017500000003202413656750212025660 0ustar zuulzuul00000000000000murano:objects+("83bff5acf8354816b08cf9b4917c898d", "de305d5475b4431badb2eb6b9e546013", "io.murano.Environment") murano:properties+("83bff5acf8354816b08cf9b4917c898d", "name", "wordpress-env") murano:parent_types+("83bff5acf8354816b08cf9b4917c898d", "io.murano.Object") murano:objects+("c46770dec1db483ca2322914b842e50f", "83bff5acf8354816b08cf9b4917c898d", "io.murano.resources.NeutronNetwork") murano:properties+("c46770dec1db483ca2322914b842e50f", "name", "wordpress-env-network") murano:properties+("c46770dec1db483ca2322914b842e50f", "autogenerateSubnet", "True") murano:properties+("c46770dec1db483ca2322914b842e50f", "autoUplink", "True") murano:parent_types+("c46770dec1db483ca2322914b842e50f", "io.murano.resources.Network") murano:parent_types+("c46770dec1db483ca2322914b842e50f", "io.murano.Object") murano:objects+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "83bff5acf8354816b08cf9b4917c898d", "io.murano.databases.MySql") murano:properties+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "username", "admin") murano:properties+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "name", "MySqlDB") murano:properties+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "database", "wordpress") murano:properties+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "password", "Adminadmin#1") murano:parent_types+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "io.murano.databases.SqlDatabase") murano:parent_types+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "io.murano.Object") murano:parent_types+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "io.murano.Application") murano:objects+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "e7a13d3c-b3c9-42fa-975d-a47b142fd233", "io.murano.resources.LinuxMuranoInstance") murano:properties+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "name", "qgijhi4uwe5wd8") murano:properties+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "assignFloatingIp", "False") murano:properties+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "networks.useFlatNetwork", "False") murano:properties+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "networks.useEnvironmentNetwork", "True") murano:properties+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "flavor", "m1.small") murano:properties+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "image", "murano-ubuntu") murano:parent_types+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "io.murano.resources.LinuxInstance") murano:parent_types+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "io.murano.Object") murano:parent_types+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "io.murano.resources.Instance") murano:objects+("d224db7d-081d-47a4-9333-9d2677b90b1f", "83bff5acf8354816b08cf9b4917c898d", "io.murano.apps.apache.ApacheHttpServer") murano:properties+("d224db7d-081d-47a4-9333-9d2677b90b1f", "name", "ApacheHttpServer") murano:properties+("d224db7d-081d-47a4-9333-9d2677b90b1f", "enablePHP", "True") murano:parent_types+("d224db7d-081d-47a4-9333-9d2677b90b1f", "io.murano.Object") murano:parent_types+("d224db7d-081d-47a4-9333-9d2677b90b1f", "io.murano.Application") murano:objects+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "d224db7d-081d-47a4-9333-9d2677b90b1f", "io.murano.resources.LinuxMuranoInstance") murano:properties+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "name", "yeqsbi4uwejfg7") murano:properties+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "assignFloatingIp", "False") murano:properties+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "networks.useFlatNetwork", "False") murano:properties+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "networks.useEnvironmentNetwork", "True") murano:properties+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "flavor", "m1.small") murano:properties+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "image", "murano-ubuntu") murano:parent_types+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "io.murano.resources.LinuxInstance") murano:parent_types+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "io.murano.Object") murano:parent_types+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "io.murano.resources.Instance") murano:objects+("33e91790-5c44-40ce-9292-9dd4856325a0", "83bff5acf8354816b08cf9b4917c898d", "io.murano.apps.ZabbixServer") murano:properties+("33e91790-5c44-40ce-9292-9dd4856325a0", "username", "zabbix") murano:properties+("33e91790-5c44-40ce-9292-9dd4856325a0", "name", "ZabbixServer") murano:properties+("33e91790-5c44-40ce-9292-9dd4856325a0", "database", "zabbix") murano:properties+("33e91790-5c44-40ce-9292-9dd4856325a0", "password", "Adminadmin#1") murano:parent_types+("33e91790-5c44-40ce-9292-9dd4856325a0", "io.murano.Object") murano:parent_types+("33e91790-5c44-40ce-9292-9dd4856325a0", "io.murano.Application") murano:objects+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "33e91790-5c44-40ce-9292-9dd4856325a0", "io.murano.resources.LinuxMuranoInstance") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "name", "gzxgdi4uwfjt57") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "assignFloatingIp", "False") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "networks.useFlatNetwork", "False") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "networks.useEnvironmentNetwork", "True") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "flavor", "m1.small") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "image", "murano-ubuntu") murano:parent_types+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "io.murano.resources.LinuxInstance") murano:parent_types+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "io.murano.Object") murano:parent_types+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "io.murano.resources.Instance") murano:objects+("19a87de5-41ce-4e63-bf43-0e25dd409a1e", "83bff5acf8354816b08cf9b4917c898d", "io.murano.apps.ZabbixAgent") murano:properties+("19a87de5-41ce-4e63-bf43-0e25dd409a1e", "probe", "ICMP") murano:properties+("19a87de5-41ce-4e63-bf43-0e25dd409a1e", "hostname", "zabbix") murano:properties+("19a87de5-41ce-4e63-bf43-0e25dd409a1e", "name", "ZabbixAgent") murano:parent_types+("19a87de5-41ce-4e63-bf43-0e25dd409a1e", "io.murano.Object") murano:parent_types+("19a87de5-41ce-4e63-bf43-0e25dd409a1e", "io.murano.Application") murano:objects+("33e91790-5c44-40ce-9292-9dd4856325a0", "83bff5acf8354816b08cf9b4917c898d", "io.murano.apps.ZabbixServer") murano:properties+("33e91790-5c44-40ce-9292-9dd4856325a0", "username", "zabbix") murano:properties+("33e91790-5c44-40ce-9292-9dd4856325a0", "name", "ZabbixServer") murano:properties+("33e91790-5c44-40ce-9292-9dd4856325a0", "database", "zabbix") murano:properties+("33e91790-5c44-40ce-9292-9dd4856325a0", "password", "Adminadmin#1") murano:parent_types+("33e91790-5c44-40ce-9292-9dd4856325a0", "io.murano.Object") murano:parent_types+("33e91790-5c44-40ce-9292-9dd4856325a0", "io.murano.Application") murano:objects+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "33e91790-5c44-40ce-9292-9dd4856325a0", "io.murano.resources.LinuxMuranoInstance") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "name", "gzxgdi4uwfjt57") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "assignFloatingIp", "False") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "networks.useFlatNetwork", "False") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "networks.useEnvironmentNetwork", "True") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "flavor", "m1.small") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "image", "murano-ubuntu") murano:parent_types+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "io.murano.resources.LinuxInstance") murano:parent_types+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "io.murano.Object") murano:parent_types+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "io.murano.resources.Instance") murano:objects+("fec71a35-8abc-4a8f-a5e4-91e77854d761", "83bff5acf8354816b08cf9b4917c898d", "io.murano.apps.WordPress") murano:properties+("fec71a35-8abc-4a8f-a5e4-91e77854d761", "name", "WordPress") murano:properties+("fec71a35-8abc-4a8f-a5e4-91e77854d761", "dbPassword", "Adminadmin#1") murano:properties+("fec71a35-8abc-4a8f-a5e4-91e77854d761", "dbUser", "admin") murano:properties+("fec71a35-8abc-4a8f-a5e4-91e77854d761", "dbName", "wordpress") murano:parent_types+("fec71a35-8abc-4a8f-a5e4-91e77854d761", "io.murano.Object") murano:parent_types+("fec71a35-8abc-4a8f-a5e4-91e77854d761", "io.murano.Application") murano:objects+("19a87de5-41ce-4e63-bf43-0e25dd409a1e", "83bff5acf8354816b08cf9b4917c898d", "io.murano.apps.ZabbixAgent") murano:properties+("19a87de5-41ce-4e63-bf43-0e25dd409a1e", "probe", "ICMP") murano:properties+("19a87de5-41ce-4e63-bf43-0e25dd409a1e", "hostname", "zabbix") murano:properties+("19a87de5-41ce-4e63-bf43-0e25dd409a1e", "name", "ZabbixAgent") murano:parent_types+("19a87de5-41ce-4e63-bf43-0e25dd409a1e", "io.murano.Object") murano:parent_types+("19a87de5-41ce-4e63-bf43-0e25dd409a1e", "io.murano.Application") murano:objects+("33e91790-5c44-40ce-9292-9dd4856325a0", "83bff5acf8354816b08cf9b4917c898d", "io.murano.apps.ZabbixServer") murano:properties+("33e91790-5c44-40ce-9292-9dd4856325a0", "username", "zabbix") murano:properties+("33e91790-5c44-40ce-9292-9dd4856325a0", "name", "ZabbixServer") murano:properties+("33e91790-5c44-40ce-9292-9dd4856325a0", "database", "zabbix") murano:properties+("33e91790-5c44-40ce-9292-9dd4856325a0", "password", "Adminadmin#1") murano:parent_types+("33e91790-5c44-40ce-9292-9dd4856325a0", "io.murano.Object") murano:parent_types+("33e91790-5c44-40ce-9292-9dd4856325a0", "io.murano.Application") murano:objects+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "33e91790-5c44-40ce-9292-9dd4856325a0", "io.murano.resources.LinuxMuranoInstance") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "name", "gzxgdi4uwfjt57") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "assignFloatingIp", "False") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "networks.useFlatNetwork", "False") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "networks.useEnvironmentNetwork", "True") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "flavor", "m1.small") murano:properties+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "image", "murano-ubuntu") murano:parent_types+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "io.murano.resources.LinuxInstance") murano:parent_types+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "io.murano.Object") murano:parent_types+("0b568a74-66c9-4e73-84d8-7dd1b96066ec", "io.murano.resources.Instance") murano:objects+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "83bff5acf8354816b08cf9b4917c898d", "io.murano.databases.MySql") murano:properties+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "username", "admin") murano:properties+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "name", "MySqlDB") murano:properties+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "database", "wordpress") murano:properties+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "password", "Adminadmin#1") murano:parent_types+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "io.murano.databases.SqlDatabase") murano:parent_types+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "io.murano.Object") murano:parent_types+("e7a13d3c-b3c9-42fa-975d-a47b142fd233", "io.murano.Application") murano:objects+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "e7a13d3c-b3c9-42fa-975d-a47b142fd233", "io.murano.resources.LinuxMuranoInstance") murano:properties+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "name", "qgijhi4uwe5wd8") murano:properties+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "assignFloatingIp", "False") murano:properties+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "networks.useFlatNetwork", "False") murano:properties+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "networks.useEnvironmentNetwork", "True") murano:properties+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "flavor", "m1.small") murano:properties+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "image", "murano-ubuntu") murano:parent_types+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "io.murano.resources.LinuxInstance") murano:parent_types+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "io.murano.Object") murano:parent_types+("825dc61d-217a-4fd8-80fc-43807f8d6fa2", "io.murano.resources.Instance") murano:objects+("d224db7d-081d-47a4-9333-9d2677b90b1f", "83bff5acf8354816b08cf9b4917c898d", "io.murano.apps.apache.ApacheHttpServer") murano:properties+("d224db7d-081d-47a4-9333-9d2677b90b1f", "name", "ApacheHttpServer") murano:properties+("d224db7d-081d-47a4-9333-9d2677b90b1f", "enablePHP", "True") murano:parent_types+("d224db7d-081d-47a4-9333-9d2677b90b1f", "io.murano.Object") murano:parent_types+("d224db7d-081d-47a4-9333-9d2677b90b1f", "io.murano.Application") murano:objects+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "d224db7d-081d-47a4-9333-9d2677b90b1f", "io.murano.resources.LinuxMuranoInstance") murano:properties+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "name", "yeqsbi4uwejfg7") murano:properties+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "assignFloatingIp", "False") murano:properties+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "networks.useFlatNetwork", "False") murano:properties+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "networks.useEnvironmentNetwork", "True") murano:properties+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "flavor", "m1.small") murano:properties+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "image", "murano-ubuntu") murano:parent_types+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "io.murano.resources.LinuxInstance") murano:parent_types+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "io.murano.Object") murano:parent_types+("3ddd4945-e4b8-4dac-9f85-537fc0957151", "io.murano.resources.Instance")murano-9.0.0/murano/tests/unit/policy/modify/0000775000175000017500000000000013656750351021266 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/policy/modify/__init__.py0000664000175000017500000000000013656750212023361 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/policy/modify/actions/0000775000175000017500000000000013656750351022726 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/policy/modify/actions/__init__.py0000664000175000017500000000000013656750212025021 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/policy/modify/actions/test_action_manager.py0000664000175000017500000000463613656750212027313 0ustar zuulzuul00000000000000# Copyright (c) 2015 OpenStack Foundation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock import murano.policy.modify.actions.action_manager as am from murano.policy.modify.actions import default_actions as da import murano.tests.unit.policy.modify.actions.test_default_actions as tda class TestActionManager(tda.ModifyActionTestCase): def test_loading(self): manager = am.ModifyActionManager() self.assertEqual(da.RemoveObjectAction, manager.load_action('remove-object')) self.assertEqual(da.SetPropertyAction, manager.load_action('set-property')) self.assertEqual(da.AddObjectAction, manager.load_action('add-object')) self.assertEqual(da.RemoveRelationAction, manager.load_action('remove-relation')) def test_caching(self): manager = am.ModifyActionManager() manager._load_action = mock.MagicMock(wraps=manager._load_action) manager.load_action('remove-object') # second call is expected to get cached value manager.load_action('remove-object') manager._load_action.assert_called_once_with('remove-object') def test_no_such_action(self): manager = am.ModifyActionManager() self.assertRaises(ValueError, manager.load_action, 'no-such-action') def test_action_apply(self): with self._runner.session(): manager = am.ModifyActionManager() obj_id = self._dict_member.id action_spec = 'remove-object: {object_id: %s}' % obj_id manager.apply_action(self._obj, action_spec) def test_action_apply_invalid_spec(self): manager = am.ModifyActionManager() self.assertRaises(ValueError, manager.apply_action, self._obj, 'remove-object') murano-9.0.0/murano/tests/unit/policy/modify/actions/meta/0000775000175000017500000000000013656750351023654 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/policy/modify/actions/meta/SampleClass2.yaml0000664000175000017500000000012613656750212027024 0ustar zuulzuul00000000000000Name: SampleClass2 Properties: class2Property: Contract: $.string().notNull() murano-9.0.0/murano/tests/unit/policy/modify/actions/meta/SampleClass1.yaml0000664000175000017500000000062413656750212027026 0ustar zuulzuul00000000000000Name: SampleClass1 Properties: stringProperty: Contract: $.string().notNull() numberProperty: Contract: $.int().notNull() numberProperty: Contract: $.int() boolProperty: Contract: $.bool() classProperty: Contract: [$.class(SampleClass2).notNull()] dictProperty: Contract: {$.int(): $.string()} dictClassProperty: Contract: {$.string(): $.class(SampleClass2)} murano-9.0.0/murano/tests/unit/policy/modify/actions/meta/ModelExamples.yaml0000664000175000017500000000032713656750212027275 0ustar zuulzuul00000000000000Name: ModelExamples Properties: sampleClass: Contract: $.class(SampleClass1) anotherSampleClass: Contract: $.class(SampleClass1) uninitialized: Contract: $.class(SampleClass1) Usage: Runtime murano-9.0.0/murano/tests/unit/policy/modify/actions/test_default_actions.py0000664000175000017500000001376213656750212027510 0ustar zuulzuul00000000000000# Copyright (c) 2015 OpenStack Foundation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import murano.policy.modify.actions.default_actions as da import murano.tests.unit.dsl.foundation.object_model as om import murano.tests.unit.dsl.foundation.test_case as tc class ModifyActionTestCase(tc.DslTestCase): def setUp(self): super(ModifyActionTestCase, self).setUp() self._list_member = om.Object('SampleClass2', class2Property='string2') self._dict_member = om.Object('SampleClass2', class2Property='string2') self._runner = self.new_runner( om.Object( 'ModelExamples', sampleClass=om.Object( 'SampleClass1', stringProperty='string1', dictProperty={1: 'a', 2: 'b'}, dictClassProperty={ 'key': self._dict_member}, classProperty=[self._list_member]))) self._obj = self._runner.root class TestRemoveObjectAction(ModifyActionTestCase): def test_remove(self): with self._runner.session(): self.assertIsNotNone(self._obj.get_property('sampleClass')) object_id = self._obj.get_property('sampleClass').object_id da.RemoveObjectAction(object_id=object_id).modify(self._obj) self.assertIsNone(self._obj.get_property('sampleClass')) def test_remove_from_list(self): with self._runner.session(): self.assertEqual(1, len( self._obj.get_property('sampleClass') .get_property('classProperty'))) da.RemoveObjectAction(object_id=self._list_member.id).modify( self._obj) self.assertEqual(0, len( self._obj.get_property('sampleClass') .get_property('classProperty'))) self.assertNotIn(self._list_member.id, repr(self._obj)) def test_remove_from_dict(self): with self._runner.session(): self.assertEqual(1, len( self._obj.get_property('sampleClass') .get_property('dictClassProperty'))) da.RemoveObjectAction(object_id=self._dict_member.id).modify( self._obj) self.assertEqual(0, len( self._obj.get_property('sampleClass') .get_property('dictClassProperty'))) self.assertNotIn(self._dict_member.id, repr(self._obj)) def test_remove_not_exists(self): with self._runner.session(): action = da.RemoveObjectAction(object_id='not_exists') self.assertRaises(ValueError, action.modify, self._obj) class TestSetPropertyAction(ModifyActionTestCase): def test_set_str(self): self._test_set_value('stringProperty', 'test_string', 'test_string') def test_set_number(self): self._test_set_value('numberProperty', '15', 15) self._test_set_value('numberProperty', '50', 50) self._test_set_value('numberProperty', 40, 40) self._test_set_value('numberProperty', '-5', -5) def test_set_boolean(self): self._test_set_value('boolProperty', True, True) self._test_set_value('boolProperty', False, False) def test_set_dict(self): self._test_set_value('dictProperty', {1: 'a'}, {1: 'a'}) self._test_set_value('dictProperty', {1: 'b', 2: 'c'}, {1: 'b', 2: 'c'}) def _test_set_value(self, property, raw_input, expected): with self._runner.session(): sample = self._obj.get_property('sampleClass') da.SetPropertyAction(sample.object_id, prop_name=property, value=raw_input).modify(self._obj) self.assertEqual(expected, sample.get_property(property)) class TestRemoveRelationAction(ModifyActionTestCase): def test_remove(self): with self._runner.session(): self.assertIsNotNone(self._obj.get_property('sampleClass')) da.RemoveRelationAction(self._obj.object_id, prop_name='sampleClass').modify(self._obj) self.assertIsNone(self._obj.get_property('sampleClass')) class TestAddRelationAction(ModifyActionTestCase): def test_add(self): with self._runner.session(): sample = self._obj.get_property('sampleClass') self.assertIsNone(self._obj.get_property('anotherSampleClass')) da.AddRelationAction(source_id=self._obj.object_id, relation='anotherSampleClass', target_id=sample.object_id).modify(self._obj) self.assertIsNotNone(self._obj.get_property('anotherSampleClass')) rel_target = self._obj.get_property('anotherSampleClass').object_id self.assertEqual(sample.object_id, rel_target) class TestAddObjectAction(ModifyActionTestCase): def test_add_object(self): with self._runner.session(): self._obj.set_property('sampleClass', None) self.assertIsNone(self._obj.get_property('sampleClass')) da.AddObjectAction( self._obj.object_id, 'sampleClass', 'SampleClass1', {'stringProperty': 'test_add_obj'}).modify(self._obj) self.assertIsNotNone(self._obj.get_property('sampleClass')) self.assertEqual('test_add_obj', self._obj.get_property('sampleClass') .get_property('stringProperty')) murano-9.0.0/murano/tests/unit/core_library/0000775000175000017500000000000013656750351021154 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/core_library/__init__.py0000664000175000017500000000000013656750211023246 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/core_library/instance/0000775000175000017500000000000013656750351022760 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/core_library/instance/__init__.py0000664000175000017500000000000013656750211025052 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/core_library/instance/test_destroy/0000775000175000017500000000000013656750351025510 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/core_library/instance/test_destroy/__init__.py0000664000175000017500000000000013656750211027602 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/core_library/instance/test_destroy/meta/0000775000175000017500000000000013656750351026436 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/core_library/instance/test_destroy/meta/Agent.yaml0000664000175000017500000000012613656750211030352 0ustar zuulzuul00000000000000Namespaces: =: io.murano.system Name: Agent Properties: host: Contract: $ murano-9.0.0/murano/tests/unit/core_library/instance/test_destroy/meta/Environment.yaml0000664000175000017500000000057513656750211031630 0ustar zuulzuul00000000000000Namespaces: =: io.murano res: io.murano.resources sys: io.murano.system Name: Environment Properties: stack: Contract: $.class(sys:HeatStack) instance: Contract: $.class(res:Instance) instanceNotifier: Contract: $.class(sys:InstanceNotifier) Usage: Runtime Methods: initialize: Body: $.instanceNotifier: new(sys:InstanceNotifier) murano-9.0.0/murano/tests/unit/core_library/instance/test_destroy/meta/Resources.yaml0000664000175000017500000000006613656750211031271 0ustar zuulzuul00000000000000Namespaces: =: io.murano.system Name: Resources murano-9.0.0/murano/tests/unit/core_library/instance/test_destroy/meta/HeatStack.yaml0000664000175000017500000000036413656750211031167 0ustar zuulzuul00000000000000Namespaces: =: io.murano.system Name: HeatStack Methods: push: current: Body: - Return: $.getAttr(stack) setTemplate: Arguments: - template: Contract: {} Body: - $.setAttr(stack, $template) murano-9.0.0/murano/tests/unit/core_library/instance/test_destroy/meta/InstanceNotifier.yaml0000664000175000017500000000022513656750211032560 0ustar zuulzuul00000000000000Namespaces: =: io.murano.system Name: InstanceNotifier Methods: untrackCloudInstance: Arguments: - instance: Contract: $ murano-9.0.0/murano/tests/unit/core_library/instance/test_destroy/test_destroy.py0000664000175000017500000000535413656750211030614 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import test_case TEMPLATE = { "outputs": { "instance64464-assigned-ip": { "value": {"get_attr": ["instance64464", "addresses"]} }, "instance64464-FloatingIPaddress": { "value": {"get_attr": ["instance64464", "addresses"]} } }, "resources": { "instance64464": { "type": "OS::Nova::Server", "properties": { "key_name": None, "flavor": "m1.medium", "image": "cloud-fedora-v3", } } } } class TestDestroy(test_case.DslTestCase): def test_destroy_removes_ip_address_from_outputs(self): # FIXME(sergmelikyan): Revise this as part of proper fix for #1359998 self.skipTest('skipped until proper fix for #1359998 is proposed') heat_stack_obj = om.Object('io.murano.system.HeatStack') instance_obj = om.Object( 'io.murano.resources.Instance', name='instance64464', flavor='m1.medium', image='cloud-fedora-v3' ) runner = self.new_runner({ 'Objects': om.Object( 'io.murano.Environment', stack=heat_stack_obj, instance=instance_obj ), 'Attributes': [ om.Attribute(heat_stack_obj, 'stack', TEMPLATE), om.Attribute(instance_obj, 'fipAssigned', True) ] }) empty_env = runner.serialized_model empty_env['Objects']['instance'] = None model = self.new_runner(empty_env).serialized_model template = self.find_attribute( model, heat_stack_obj.id, heat_stack_obj.type_name, 'stack' ) instance_name = 'instance64464' ip_addresses = '{0}-assigned-ip'.format(instance_name) floating_ip = '{0}-FloatingIPaddress'.format(instance_name) self.assertNotIn(ip_addresses, template['outputs']) self.assertNotIn(floating_ip, template['outputs']) self.assertNotIn(instance_name, template['resources']) murano-9.0.0/murano/tests/unit/db/0000775000175000017500000000000013656750351017065 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/db/__init__.py0000664000175000017500000000000013656750211021157 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/db/services/0000775000175000017500000000000013656750351020710 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/db/services/__init__.py0000664000175000017500000000000013656750211023002 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/db/services/test_stats.py0000664000175000017500000001306613656750211023460 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.db import models from murano.db.services import stats as statistics from murano.db import session as db_session from murano.tests.unit import base class TestStats(base.MuranoWithDBTestCase): def setUp(self): super(TestStats, self).setUp() self.stats_list = [] self.stats_kwargs = { 'host': 'test_host', 'request_count': 5, 'error_count': 2, 'average_response_time': 0.5, 'requests_per_tenant': 1, 'cpu_count': 4, 'cpu_percent': 0.3 } self.stats_kwargs_2 = { 'host': 'test_host_2', 'request_count': 6, 'error_count': 3, 'average_response_time': 0.6, 'requests_per_tenant': 2, 'cpu_count': 5, 'cpu_percent': 0.4 } def tearDown(self): super(TestStats, self).tearDown() unit = db_session.get_session() for stat in self.stats_list: with unit.begin(): unit.delete(stat) def _create_stats(self, which_kwargs): stats = models.ApiStats() for key, val in which_kwargs.items(): setattr(stats, key, val) stats.requests_per_second = 1.2 stats.errors_per_second = 2.3 unit = db_session.get_session() with unit.begin(): unit.add(stats) self.assertIsNotNone(stats) self.stats_list.append(stats) return stats def _are_stats_equal(self, x, y, check_type=False): comparison_attributes = ['host', 'request_count', 'error_count', 'average_response_time', 'requests_per_tenant', 'requests_per_second', 'errors_per_second', 'cpu_count', 'cpu_percent'] if check_type: if type(x) != type(y): return False for attr in comparison_attributes: try: if str(getattr(x, attr)) != str(getattr(y, attr)): return False except AttributeError: if str(x[attr]) != str(getattr(y, attr)): return False return True def test_create(self): statistics.Statistics.create(**self.stats_kwargs) unit = db_session.get_session() retrieved_stats = None with unit.begin(): retrieved_stats = unit.query(models.ApiStats)\ .order_by(models.ApiStats.id.desc()).first() self.stats_kwargs['requests_per_second'] = 0.0 self.stats_kwargs['errors_per_second'] = 0.0 self.assertIsNotNone(retrieved_stats) self.assertTrue( self._are_stats_equal(self.stats_kwargs, retrieved_stats)) def test_update(self): """Note: this test expects to test update functionality. However, the current implementation of Statistics.update() does not actually update the host of the statistics object passed in. It just saves the object that is passed in, which appears to contradict its intended use case. """ stats = models.ApiStats() for key, val in self.stats_kwargs.items(): setattr(stats, key, val) statistics.Statistics.update('test_host', stats) unit = db_session.get_session() retrieved_stats = None with unit.begin(): retrieved_stats = unit.query(models.ApiStats)\ .order_by(models.ApiStats.id.desc()).first() self.assertIsNotNone(retrieved_stats) self.assertTrue( self._are_stats_equal(stats, retrieved_stats, check_type=True)) def test_get_stats_by_id(self): stats = self._create_stats(self.stats_kwargs) retrieved_stats = statistics.Statistics.get_stats_by_id(stats.id) self.assertIsNotNone(retrieved_stats) self.assertTrue( self._are_stats_equal(stats, retrieved_stats, check_type=True)) def test_get_stats_by_host(self): stats = self._create_stats(self.stats_kwargs) retrieved_stats = statistics.Statistics.get_stats_by_host(stats.host) self.assertIsNotNone(retrieved_stats) self.assertTrue( self._are_stats_equal(stats, retrieved_stats, check_type=True)) def test_get_all(self): stats = self._create_stats(self.stats_kwargs) retrieved_stats = statistics.Statistics.get_all() self.assertIsInstance(retrieved_stats, list) self.assertEqual(1, len(retrieved_stats)) self.assertTrue( self._are_stats_equal(stats, retrieved_stats[0], check_type=True)) stats = self._create_stats(self.stats_kwargs_2) retrieved_stats = statistics.Statistics.get_all() self.assertIsInstance(retrieved_stats, list) self.assertEqual(2, len(retrieved_stats)) self.assertTrue( self._are_stats_equal(stats, retrieved_stats[1], check_type=True)) murano-9.0.0/murano/tests/unit/db/services/environment_templates.py0000664000175000017500000001400013656750211025672 0ustar zuulzuul00000000000000# Copyright (c) 2015 Telefonica I+D. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import fixtures class EmptyEnvironmentFixture(fixtures.Fixture): def setUp(self): super(EmptyEnvironmentFixture, self).setUp() self.env_desc = { "tenant_id": "tenant_id", "name": "my_environment", "id": "template_id" } self.addCleanup(delattr, self, 'env_desc') class EmptyEnvironmentTemplateFixture(fixtures.Fixture): def setUp(self): super(EmptyEnvironmentTemplateFixture, self).setUp() self.environment_template_desc = { "tenant_id": "tenant_id", "name": "my_template", "id": "template_id" } self.addCleanup(delattr, self, 'environment_template_desc') class AppEnvTemplateFixture(fixtures.Fixture): def setUp(self): super(AppEnvTemplateFixture, self).setUp() self.env_template_desc = \ { "services": [ { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "?": { "_26411a1861294160833743e45d0eaad9": { "name": "tomcat" }, "type": "io.murano.apps.apache.Tomcat", "id": "tomcat_id" }, "port": "8080" }, { "instance": "ef984a74-29a4-45c0-b1dc-2ab9f075732e", "password": "XXX", "name": "mysql", "?": { "_26411a1861294160833743e45d0eaad9": { "name": "mysql" }, "type": "io.murano.apps.database.MySQL", "id": "54aaa43d-5970" } } ], "tenant_id": "tenant_id", "name": "template_name", 'id': 'template_id' } self.addCleanup(delattr, self, 'env_template_desc') class ApplicationsFixture(fixtures.Fixture): def setUp(self): super(ApplicationsFixture, self).setUp() self.applications_desc = [ { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "?": { "_26411a1861294160833743e45d0eaad9": { "name": "tomcat" }, "type": "io.murano.apps.apache.Tomcat", "id": "tomcat_id" }, "port": "8080" }, { "instance": "ef984a74-29a4-45c0-b1dc-2ab9f075732e", "password": "XXX", "name": "mysql", "?": { "_26411a1861294160833743e45d0eaad9": { "name": "mysql" }, "type": "io.murano.apps.database.MySQL", "id": "54aaa43d-5970" } } ] self.addCleanup(delattr, self, 'applications_desc') class ApplicationTomcatFixture(fixtures.Fixture): def setUp(self): super(ApplicationTomcatFixture, self).setUp() self.application_tomcat_desc = { "instance": { "assignFloatingIp": "true", "keyname": "mykeyname", "image": "cloud-fedora-v3", "flavor": "m1.medium", "?": { "type": "io.murano.resources.LinuxInstance", "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e" } }, "name": "orion", "?": { "_26411a1861294160833743e45d0eaad9": { "name": "tomcat" }, "type": "io.murano.apps.apache.Tomcat", "id": "tomcat_id" }, "port": "8080" } self.addCleanup(delattr, self, 'application_tomcat_desc') class ApplicationMysqlFixture(fixtures.Fixture): def setUp(self): super(ApplicationMysqlFixture, self).setUp() self.application_mysql_desc = { "instance": "ef984a74-29a4-45c0-b1dc-2ab9f075732e", "password": "XXX", "name": "mysql", "?": { "_26411a1861294160833743e45d0eaad9": { "name": "mysql" }, "type": "io.murano.apps.database.MySQL", "id": "54aaa43d-5970" } } self.addCleanup(delattr, self, 'application_mysql_desc') murano-9.0.0/murano/tests/unit/db/services/test_instances.py0000664000175000017500000001505213656750211024306 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from oslo_db import exception from oslo_utils import timeutils from murano.db.services import instances from murano.tests.unit import base as test_base @mock.patch('murano.db.services.instances.db_session') class TestInstances(test_base.MuranoTestCase): @mock.patch('murano.db.services.instances.timeutils') @mock.patch('murano.db.services.instances.models') def test_track_instance(self, mock_models, mock_timeutils, mock_db_session): mock_env = mock.MagicMock(tenant_id='test_tenant_id') mock_db_session.get_session().query().get.return_value = mock_env now = timeutils.utcnow_ts() mock_timeutils.utcnow_ts.return_value = now track_instance = instances.InstanceStatsServices.track_instance track_instance('test_instance_id', 'test_env_id', 'test_type', 'test_type_name', 'test_type_title', unit_count=1) mock_models.Instance.assert_called_once_with() self.assertEqual('test_instance_id', mock_models.Instance().instance_id) self.assertEqual('test_env_id', mock_models.Instance().environment_id) self.assertEqual('test_instance_id', mock_models.Instance().instance_id) self.assertEqual('test_tenant_id', mock_models.Instance().tenant_id) self.assertEqual('test_type', mock_models.Instance().instance_type) self.assertEqual(now, mock_models.Instance().created) self.assertIsNone(mock_models.Instance().destroyed) self.assertEqual('test_type_name', mock_models.Instance().type_name) self.assertEqual('test_type_title', mock_models.Instance().type_title) self.assertEqual(1, mock_models.Instance().unit_count) mock_db_session.get_session().add.assert_called_once_with( mock_models.Instance()) @mock.patch('murano.db.services.instances.models') def test_track_instance_except_duplicate_entry(self, _, mock_db_session): mock_db_session.get_session().add.side_effect =\ exception.DBDuplicateEntry track_instance = instances.InstanceStatsServices.track_instance track_instance('test_instance_id', 'test_env_id', 'test_type', 'test_type_name', 'test_type_title') self.assertEqual(1, mock_db_session.get_session().execute.call_count) @mock.patch('murano.db.services.instances.timeutils') def test_destroy_instance(self, mock_timeutils, mock_db_session): mock_instance = mock.MagicMock(destroyed=False) mock_db_session.get_session().query().get.return_value = mock_instance now = timeutils.utcnow_ts() mock_timeutils.utcnow_ts.return_value = now destroy_instance = instances.InstanceStatsServices.destroy_instance destroy_instance('test_instance_id', 'test_environment_id') self.assertEqual(now, mock_instance.destroyed) mock_instance.save.assert_called_once_with( mock_db_session.get_session()) def test_get_aggregated_stats(self, mock_db_session): mock_db_session.get_session().query().filter().group_by().all\ .return_value = [['1', '2', '3'], ['4', '5', '6']] get_stats = instances.InstanceStatsServices.get_aggregated_stats result = get_stats('test_env_id') expected_result = [ {'type': 1, 'duration': 2, 'count': 3}, {'type': 4, 'duration': 5, 'count': 6}, ] self.assertEqual(expected_result, result) @mock.patch('murano.db.services.instances.timeutils') def test_get_raw_environment_stats(self, mock_timeutils, mock_db_session): now = timeutils.utcnow_ts() mock_timeutils.utcnow_ts.return_value = now mock_db_session.get_session().query().filter().filter().all.\ return_value = [ mock.MagicMock(instance_type='test_instance_type', created=now - 1000, destroyed=now, type_name='test_type_name', unit_count=1, instance_id='test_instance_id', type_title='test_type_title'), mock.MagicMock(instance_type='test_instance_type_2', created=now - 2000, destroyed=None, type_name='test_type_name_2', unit_count=2, instance_id='test_instance_id_2', type_title='test_type_title_2') ] mock_db_session.reset_mock() get_env_stats = instances.InstanceStatsServices.\ get_raw_environment_stats result = get_env_stats('test_env_id', 'test_instance_id') expected_result = [ { 'type': 'test_instance_type', 'duration': 1000, # now - (now - 1000) = 1000 'type_name': 'test_type_name', 'unit_count': 1, 'instance_id': 'test_instance_id', 'type_title': 'test_type_title', 'active': False }, { 'type': 'test_instance_type_2', 'duration': 2000, # now - (now - 2000) = 2000 'type_name': 'test_type_name_2', 'unit_count': 2, 'instance_id': 'test_instance_id_2', 'type_title': 'test_type_title_2', 'active': True }, ] self.assertEqual(expected_result, result) # Assert that two filters were performed, the second one for # the instance_id argument. self.assertEqual(1, mock_db_session.get_session().query().filter. call_count) self.assertEqual(1, mock_db_session.get_session().query().filter(). filter.call_count) murano-9.0.0/murano/tests/unit/db/services/test_core_service.py0000664000175000017500000002151513656750211024770 0ustar zuulzuul00000000000000# Copyright (c) 2015 Telefonica I+D. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from unittest import mock from webob import exc from murano.db.services import core_services from murano.tests.unit import base from murano.tests.unit.db.services import environment_templates as et class TestCoreServices(base.MuranoTestCase): def setUp(self): super(TestCoreServices, self).setUp() self.core_services = core_services.CoreServices self.addCleanup(mock.patch.stopall) @mock.patch('murano.db.services.environment_templates.EnvTemplateServices') def test_empty_template(self, template_services_mock): """Check obtaining the template description without services.""" fixture = self.useFixture(et.EmptyEnvironmentTemplateFixture()) template_services_mock.get_description.return_value = \ fixture.environment_template_desc template_des = self.core_services.get_template_data('any', '/services') self.assertEqual([], template_des) template_services_mock.get_description.assert_called_with('any') @mock.patch('murano.db.services.environment_templates.EnvTemplateServices') def test_template_services(self, template_services_mock): """Check obtaining the template description with services.""" fixture_apps = self.useFixture(et.ApplicationsFixture()) fixture_env_apps = self.useFixture(et.AppEnvTemplateFixture()) template_services_mock.get_description.return_value = \ fixture_env_apps.env_template_desc template_des = self.core_services.get_template_data('any', '/services') self.assertEqual(fixture_apps.applications_desc, template_des) template_services_mock.get_description.assert_called_with('any') @mock.patch('murano.db.services.environment_templates.EnvTemplateServices') def test_template_get_service(self, template_services_mock): """Check obtaining the service description.""" fixture = self.useFixture(et.AppEnvTemplateFixture()) fixture2 = self.useFixture(et.ApplicationTomcatFixture()) template_services_mock.get_description.return_value = \ fixture.env_template_desc template_des = \ self.core_services.get_template_data('any', '/services/tomcat_id') self.assertEqual(fixture2.application_tomcat_desc, template_des) template_services_mock.get_description.assert_called_with('any') @mock.patch('murano.db.services.environment_templates.EnvTemplateServices') def test_template_post_services(self, template_services_mock): """Check adding a service to a template.""" fixture = self.useFixture(et.EmptyEnvironmentTemplateFixture()) fixture2 = self.useFixture(et.AppEnvTemplateFixture()) template_services_mock.get_description.return_value = \ fixture.environment_template_desc template_des = self.core_services.\ post_env_template_data('any', fixture2.env_template_desc, '/services') self.assertEqual(fixture2.env_template_desc, template_des) template_services_mock.get_description.assert_called_with('any') @mock.patch('murano.db.services.environment_templates.EnvTemplateServices') def test_template_delete_services(self, template_services_mock): """Check deleting a service in a template.""" fixture2 = self.useFixture(et.AppEnvTemplateFixture()) fixture = self.useFixture(et.ApplicationTomcatFixture()) template_services_mock.get_description.return_value = \ fixture2.env_template_desc self.core_services.\ delete_env_template_data('any', '/services/54aaa43d-5970') template_des = self.core_services.get_template_data('any', '/services') self.assertEqual([fixture.application_tomcat_desc], template_des) template_services_mock.get_description.assert_called_with('any') @mock.patch('murano.db.services.environment_templates.EnvTemplateServices') def test_get_template_no_exists(self, template_services_mock): """Check obtaining a non-existing service.""" fixture2 = self.useFixture(et.AppEnvTemplateFixture()) template_services_mock.get_description.return_value = \ fixture2.env_template_desc self.assertRaises(exc.HTTPNotFound, self.core_services.get_template_data, 'any', '/services/noexists') template_services_mock.get_description.assert_called_with('any') @mock.patch('murano.db.services.environment_templates.EnvTemplateServices') def test_adding_services(self, template_services_mock): """Check adding services to a template.""" ftomcat = self.useFixture(et.ApplicationTomcatFixture()) fmysql = self.useFixture(et.ApplicationMysqlFixture()) fixture = self.useFixture(et.EmptyEnvironmentTemplateFixture()) fservices = self.useFixture(et.ApplicationsFixture()) template_services_mock.get_description.return_value =\ fixture.environment_template_desc self.core_services.\ post_env_template_data('any', ftomcat.application_tomcat_desc, '/services') self.core_services.\ post_env_template_data('any', fmysql.application_mysql_desc, '/services') template_des = \ self.core_services.get_template_data('any', '/services') self.assertEqual(fservices.applications_desc, template_des) template_services_mock.get_description.assert_called_with('any') @mock.patch('murano.db.services.environment_templates.EnvTemplateServices') def test_none_temp_description(self, template_services_mock): fixture = self.useFixture(et.EmptyEnvironmentTemplateFixture()) template_services_mock.get_description.return_value = None self.assertIsNone(self.core_services. get_template_data('any', '/services')) self.assertRaises(exc.HTTPNotFound, self.core_services.post_env_template_data, 'any', fixture.environment_template_desc, '/services') self.assertRaises(exc.HTTPNotFound, self.core_services.post_application_data, 'any', fixture.environment_template_desc, '/services') self.assertRaises(exc.HTTPNotFound, self.core_services.delete_env_template_data, 'any', '/services') self.assertRaises(exc.HTTPNotFound, self.core_services.put_application_data, 'any', fixture.environment_template_desc, '/services') @mock.patch('murano.common.utils.TraverseHelper') @mock.patch('murano.db.services.environments.EnvironmentServices') def test_post_data(self, env_services_mock, source_mock): fixture = self.useFixture(et.EmptyEnvironmentFixture()) env_services_mock.get_description.return_value = fixture.env_desc session_id = None ftomcat = self.useFixture(et.ApplicationTomcatFixture()) self.assertEqual(self.core_services.post_data('any', session_id, ftomcat.application_tomcat_desc, '/services'), ftomcat.application_tomcat_desc) self.assertTrue(source_mock.insert.called) self.assertEqual(self.core_services.put_data('any', session_id, ftomcat.application_tomcat_desc, '/services'), ftomcat.application_tomcat_desc) self.assertTrue(source_mock.update.called) self.core_services.delete_data('any', session_id, '/services') self.assertTrue(source_mock.remove.called) @mock.patch('murano.db.services.environments.EnvironmentServices') def test_get_service_status(self, env_services_mock): service_id = 12 fixture = self.useFixture(et.EmptyEnvironmentFixture()) env_services_mock.get_description.return_value = fixture.env_desc self.core_services.get_service_status('any', service_id) self.assertTrue(env_services_mock.get_status.called) murano-9.0.0/murano/tests/unit/db/services/test_templates_service.py0000664000175000017500000001123113656750211026030 0ustar zuulzuul00000000000000# Copyright (c) 2015 Telefonica I+D. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from unittest import mock import fixtures from murano.db.services import environment_templates as env_temp from murano.tests.unit import base from murano.tests.unit.db.services import environment_templates as et class TestTemplateServices(base.MuranoWithDBTestCase, fixtures.TestWithFixtures): def setUp(self): super(TestTemplateServices, self).setUp() self.template_services = env_temp.EnvTemplateServices self.uuids = ['template_id', 'template_id2'] self.mock_uuid = self._stub_uuid(self.uuids) self.addCleanup(mock.patch.stopall) def test_create_template(self): """Check creating a template without services.""" fixture = self.useFixture(et.EmptyEnvironmentTemplateFixture()) """Check the creation of a template.""" body = { "name": "my_template" } template_des = self.template_services.create(body, 'tenant_id') self.assertEqual(fixture.environment_template_desc, template_des.description) def test_clone_template(self): """Check the clonation of a template.""" body = { "name": "my_template" } template = self.template_services.create(body, 'tenant_id') cloned_template = self.template_services.clone(template['id'], 'id2', "my_template2", False) self.assertEqual(cloned_template.description['name'], 'my_template2') self.assertEqual(cloned_template.description['tenant_id'], 'id2') def test_get_empty_template(self): """Check obtaining information about a template without services.""" fixture = self.useFixture(et.EmptyEnvironmentTemplateFixture()) self.test_create_template() template = \ self.template_services.get_description("template_id") self.assertEqual(fixture.environment_template_desc, template) def test_get_template_services(self): """Check obtaining information about a template with services.""" fixture = self.useFixture(et.AppEnvTemplateFixture()) template = self.template_services.create(fixture.env_template_desc, 'tenant_id') self.assertEqual(fixture.env_template_desc, template.description) template_des = \ self.template_services.get_description("template_id") self.assertEqual(fixture.env_template_desc, template_des) def test_get_template_no_exists(self): """Check obtaining information about a non-existent template Check obtaining information about a template which does not exist. """ self.assertRaises(ValueError, self.template_services.get_description, 'no_exists') def test_delete_template(self): """Check deleting a template.""" self.test_create_template() self.template_services.delete("template_id") def _stub_uuid(self, values=None): class FakeUUID(object): def __init__(self, v): self.hex = v if values is None: values = [] mock_uuid4 = mock.patch('uuid.uuid4').start() mock_uuid4.side_effect = [FakeUUID(v) for v in values] return mock_uuid4 def test_get_application_description(self): fixture = self.useFixture(et.AppEnvTemplateFixture()) self.template_services.create(fixture.env_template_desc, 'tenant_id') template_app_des = (self.template_services. get_application_description("template_id")) self.assertEqual(template_app_des, fixture.env_template_desc['services']) body = { "name": "my_template" } self.template_services.create(body, 'tenant_id') template_app_des_2 = (self.template_services. get_application_description("template_id2")) self.assertEqual([], template_app_des_2) murano-9.0.0/murano/tests/unit/db/services/test_cf_connections.py0000664000175000017500000001515013656750211025310 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.db import models from murano.db.services import cf_connections from murano.db.services import environments from murano.db import session as db_session from murano.tests.unit import base class TestCFConnection(base.MuranoWithDBTestCase): def setUp(self): super(TestCFConnection, self).setUp() self.resources = [] self.tenant_id = 'test_tenant_id' environment = models.Environment( name='test_environment', tenant_id='test_tenant_id', version=1 ) alt_environment = models.Environment( name='alt_test_environment', tenant_id='alt_test_tenant_id', version=1 ) unit = db_session.get_session() with unit.begin(): unit.add_all([environment, alt_environment]) self.environment_id = environment.id self.alt_environment_id = alt_environment.id def tearDown(self): super(TestCFConnection, self).tearDown() unit = db_session.get_session() if self.environment_id: environments.EnvironmentServices.remove(self.environment_id) if self.alt_environment_id: environments.EnvironmentServices.remove(self.alt_environment_id) for resource in self.resources: if resource: with unit.begin(): unit.delete(resource) def _create_resource(self, resource_name, **kwargs): unit = db_session.get_session() model = None new_resource_id = 1 if resource_name == 'cf_org': model = models.CFOrganization elif resource_name == 'cf_space': model = models.CFSpace elif resource_name == 'cf_service': model = models.CFServiceInstance resource = unit.query(model).order_by(model.id.desc()).first() if resource: new_resource_id = int(resource.id) + 1 new_resource = model(id=new_resource_id, **kwargs) with unit.begin(): unit.add(new_resource) created_resource = unit.query(model)\ .order_by(model.id.desc()).first() self.assertIsNotNone(created_resource) self.assertEqual(created_resource.id, str(new_resource.id)) self.resources.append(created_resource) return created_resource def test_set_tenant_for_org(self): cf_org = self._create_resource('cf_org', tenant=self.tenant_id) cf_connections.set_tenant_for_org(cf_org.id, 'another_test_tenant_id') duplicate_cf_org = None unit = db_session.get_session() with unit.begin(): duplicate_cf_org = unit.query(models.CFOrganization).get(cf_org.id) self.assertIsNotNone(duplicate_cf_org) self.assertEqual('another_test_tenant_id', duplicate_cf_org.tenant) def test_set_environment_for_space(self): cf_space = self._create_resource('cf_space', environment_id=self.environment_id) cf_connections.set_environment_for_space(cf_space.id, self.alt_environment_id) duplicate_cf_space = None unit = db_session.get_session() with unit.begin(): duplicate_cf_space = unit.query(models.CFSpace).get(cf_space.id) self.assertIsNotNone(duplicate_cf_space) self.assertEqual(self.alt_environment_id, duplicate_cf_space.environment_id) def test_set_instance_for_service(self): cf_service = self._create_resource('cf_service', service_id='123', environment_id=self.environment_id, tenant=self.tenant_id) cf_connections.set_instance_for_service( instance_id=cf_service.id, service_id='123', environment_id=self.alt_environment_id, tenant=self.tenant_id) duplicate_cf_service = None unit = db_session.get_session() with unit.begin(): duplicate_cf_service = unit.query(models.CFServiceInstance).\ get(cf_service.id) self.assertIsNotNone(duplicate_cf_service) self.assertEqual(self.alt_environment_id, duplicate_cf_service.environment_id) def test_get_environment_for_space(self): cf_space = self._create_resource('cf_space', environment_id=self.environment_id) retrieved_env_id =\ cf_connections.get_environment_for_space(cf_space.id) self.assertEqual(cf_space.environment_id, retrieved_env_id) def test_get_tenant_for_org(self): cf_org = self._create_resource('cf_org', tenant=self.tenant_id) retrieved_tenant =\ cf_connections.get_tenant_for_org(cf_org.id) self.assertEqual(self.tenant_id, retrieved_tenant) def test_get_service_for_instance(self): cf_service = self._create_resource('cf_service', service_id='123', environment_id=self.environment_id, tenant=self.tenant_id) retrieved_service =\ cf_connections.get_service_for_instance(cf_service.id) for attr in ['id', 'environment_id', 'service_id', 'tenant']: self.assertEqual(getattr(cf_service, attr), getattr(retrieved_service, attr)) def test_delete_environment_from_space(self): environment = models.Environment( name='test_environment_1', tenant_id='test_tenant_id_1', version=1 ) unit = db_session.get_session() with unit.begin(): unit.add(environment) cf_connections.delete_environment_from_space(environment.id) with unit.begin(): retrieved_env = unit.query(models.Environment).get(environment.id) self.assertIsNotNone(retrieved_env) murano-9.0.0/murano/tests/unit/db/services/test_environments.py0000664000175000017500000001055513656750211025051 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import datetime as dt from unittest import mock import uuid from oslo_utils import timeutils from murano.db import models from murano.db.services import environments from murano.db import session as db_session from murano.services import states from murano.tests.unit import base from murano.tests.unit import utils OLD_VERSION = 0 LATEST_VERSION = 1 class TestEnvironmentServices(base.MuranoWithDBTestCase): def setUp(self): super(TestEnvironmentServices, self).setUp() self.environment = models.Environment( name='test_environment', tenant_id='test_tenant_id', version=LATEST_VERSION ) self.env_services = environments.EnvironmentServices() def test_environment_ready_if_last_session_deployed_after_failed(self): """Test environment ready status If last session was deployed successfully and other session was failed - environment must have status "ready". Bug: #1413260 """ session = db_session.get_session() session.add(self.environment) now = timeutils.utcnow() session_1 = models.Session( environment=self.environment, user_id='test_user_id_1', version=OLD_VERSION, state=states.SessionState.DEPLOY_FAILURE, updated=now, description={} ) session_2 = models.Session( environment=self.environment, user_id='test_user_id_2', version=LATEST_VERSION, state=states.SessionState.DEPLOYED, updated=now + dt.timedelta(minutes=1), description={} ) session.add_all([session_1, session_2]) session.flush() expected_status = states.EnvironmentStatus.READY actual_status = environments.EnvironmentServices.get_status( self.environment.id ) self.assertEqual(expected_status, actual_status) @mock.patch("murano.db.services.environments.auth_utils") def test_get_network_driver(self, mock_authentication): self.tenant_id = str(uuid.uuid4()) self.context = utils.dummy_context(tenant_id=self.tenant_id) driver_context = self.env_services.get_network_driver(self.context) self.assertEqual(driver_context, "neutron") def test_get_status(self): session = db_session.get_session() session.add(self.environment) now = timeutils.utcnow() session_1 = models.Session( environment=self.environment, user_id='test_user_id_1', version=OLD_VERSION, state=states.SessionState.DEPLOY_FAILURE, updated=now, description={} ) session.add(session_1) session.flush() expected_status = states.EnvironmentStatus.DEPLOY_FAILURE self.assertEqual(expected_status, self.env_services.get_status( self.environment.id)) def test_delete_failure_get_description(self): session = db_session.get_session() session.add(self.environment) now = timeutils.utcnow() session_1 = models.Session( environment=self.environment, user_id='test_user_id_1', version=OLD_VERSION, state=states.SessionState.DELETE_FAILURE, updated=now, description={} ) session.add(session_1) session.flush() expected_status = states.EnvironmentStatus.DELETE_FAILURE self.assertEqual(expected_status, self.env_services.get_status( self.environment.id)) env_id = self.environment.id description = (self.env_services. get_environment_description(env_id, session_id=None, inner=False)) self.assertEqual({}, description) murano-9.0.0/murano/tests/unit/db/migration/0000775000175000017500000000000013656750351021056 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/db/migration/__init__.py0000664000175000017500000000000013656750211023150 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/db/migration/test_migrations.py0000664000175000017500000001521413656750211024641 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """ Tests for database migrations. For the opportunistic testing you need to set up a db named 'openstack_citest' with user 'openstack_citest' and password 'openstack_citest' on localhost. The test will then use that db and u/p combo to run the tests. For postgres on Ubuntu this can be done with the following commands: sudo -u postgres psql postgres=# create user openstack_citest with createdb login password 'openstack_citest'; postgres=# create database openstack_citest with owner openstack_citest; """ import datetime import uuid from oslo_db import exception as db_exc from oslo_db.sqlalchemy import test_base from oslo_db.sqlalchemy import utils as db_utils import sqlalchemy from murano.db.migration import migration from murano.tests.unit.db.migration import test_migrations_base as base class MuranoMigrationsCheckers(object): snake_walk = True downgrade = True def assertColumnExists(self, engine, table, column): t = db_utils.get_table(engine, table) self.assertIn(column, t.c) def assertColumnsExists(self, engine, table, columns): for column in columns: self.assertColumnExists(engine, table, column) def assertColumnCount(self, engine, table, columns): t = db_utils.get_table(engine, table) self.assertEqual(len(t.columns), len(columns)) def assertColumnNotExists(self, engine, table, column): t = db_utils.get_table(engine, table) self.assertNotIn(column, t.c) def assertIndexExists(self, engine, table, index): t = db_utils.get_table(engine, table) index_names = [idx.name for idx in t.indexes] self.assertIn(index, index_names) def assertColumnType(self, engine, table, column, sqltype): t = db_utils.get_table(engine, table) col = getattr(t.c, column) self.assertIsInstance(col.type, sqltype) def assertIndexMembers(self, engine, table, index, members): self.assertIndexExists(engine, table, index) t = db_utils.get_table(engine, table) index_columns = None for idx in t.indexes: if idx.name == index: index_columns = idx.columns.keys() break self.assertEqual(sorted(members), sorted(index_columns)) def test_walk_versions(self): self.walk_versions(self.engine, self.snake_walk, self.downgrade) def _check_001(self, engine, data): self.assertEqual('001', migration.version(engine)) self.assertColumnExists(engine, 'category', 'id') self.assertColumnExists(engine, 'environment', 'tenant_id') # make sure indexes are in place self.assertIndexExists(engine, 'class_definition', 'ix_class_definition_name') self.assertIndexExists(engine, 'package', 'ix_package_fqn') self.assertIndexExists(engine, 'category', 'ix_category_name') self._test_package_fqn_is_uniq(engine) def _test_package_fqn_is_uniq(self, engine): package_table = db_utils.get_table(engine, 'package') package = { 'id': str(uuid.uuid4()), 'archive': b"archive blob here", 'fully_qualified_name': 'com.example.package', 'type': 'class', 'author': 'OpenStack', 'name': 'package', 'enabled': True, 'description': 'some text', 'is_public': False, 'tags': ['tag1', 'tag2'], 'logo': b"logo blob here", 'ui_definition': '{}', 'owner_id': '123', 'created': datetime.datetime.now(), 'updated': datetime.datetime.now() } package_table.insert().execute(package) package['id'] = str(uuid.uuid4()) self.assertRaises(db_exc.DBDuplicateEntry, package_table.insert().execute, package) def _check_002(self, engine, data): self.assertEqual('002', migration.version(engine)) self.assertColumnsExists(engine, 'package', ['supplier_logo', 'supplier']) def _check_003(self, engine, data): self.assertEqual('003', migration.version(engine)) self.assertColumnExists(engine, 'task', 'action') self.assertColumnExists(engine, 'status', 'task_id') def _check_004(self, engine, data): self.assertEqual('004', migration.version(engine)) self.assertColumnType(engine, 'package', 'description', sqlalchemy.Text) def _check_005(self, engine, data): self.assertEqual('005', migration.version(engine)) self.assertColumnExists(engine, 'environment-template', 'id') self.assertColumnExists(engine, 'environment-template', 'tenant_id') self.assertColumnExists(engine, 'environment-template', 'name') def _check_006(self, engine, data): self.assertEqual('006', migration.version(engine)) self.assertColumnExists(engine, 'task', 'result') def _check_007(self, engine, data): self.assertEqual('007', migration.version(engine)) self.assertColumnExists(engine, 'locks', 'id') self.assertColumnExists(engine, 'locks', 'ts') def _check_008(self, engine, data): self.assertEqual('008', migration.version(engine)) self.assertIndexExists(engine, 'class_definition', 'ix_class_definition_name') self.assertIndexExists(engine, 'package', 'ix_package_fqn_and_owner') class TestMigrationsMySQL(MuranoMigrationsCheckers, base.BaseWalkMigrationTestCase, test_base.MySQLOpportunisticTestCase): pass class TestMigrationsPostgresql(MuranoMigrationsCheckers, base.BaseWalkMigrationTestCase, test_base.PostgreSQLOpportunisticTestCase): pass murano-9.0.0/murano/tests/unit/db/migration/test_migrations_base.py0000664000175000017500000001660413656750211025637 0ustar zuulzuul00000000000000# Copyright 2010-2011 OpenStack Foundation # Copyright 2012-2013 IBM Corp. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. # # # Ripped off from Nova's test_migrations.py # The only difference between Nova and this code is usage of alembic instead # of sqlalchemy migrations. # # There is an ongoing work to extact similar code to oslo incubator. Once it is # extracted we'll be able to remove this file and use oslo. import io import os from alembic import command from alembic import config as alembic_config from alembic import migration from alembic import script as alembic_script from oslo_config import cfg from oslo_log import log as logging import murano.db.migration LOG = logging.getLogger(__name__) CONF = cfg.CONF class BaseWalkMigrationTestCase(object): ALEMBIC_CONFIG = alembic_config.Config( os.path.join(os.path.dirname(murano.db.migration.__file__), 'alembic.ini') ) ALEMBIC_CONFIG.murano_config = CONF def _configure(self, engine): """Repo and database configuration For each type of repository we should do some configuration steps. For migrate_repo we should set our database under version control. For alembic we should configure database settings. For this goal we should use oslo.config and openstack.commom.db.sqlalchemy.session with database functionality (reset default settings and session cleanup). """ CONF.set_override('connection', str(engine.url), group='database') def _alembic_command(self, alembic_command, engine, *args, **kwargs): """Redefines alembic command data return setting Most of alembic command return data into output. We should redefine this setting for getting info. """ self.ALEMBIC_CONFIG.stdout = buf = io.StringIO() CONF.set_override('connection', str(engine.url), group='database') getattr(command, alembic_command)(*args, **kwargs) res = buf.getvalue().strip() LOG.debug('Alembic command `{command}` returns: {result}'.format( command=alembic_command, result=res)) return res def _up_and_down_versions(self): """Store tuple of versions for successful testing Since alembic version has a random algorithm of generation (SA-migrate has an ordered autoincrement naming) we should store a tuple of versions (version for upgrade and version for downgrade) for successful testing of migrations in up>down>up mode. """ env = alembic_script.ScriptDirectory.from_config(self.ALEMBIC_CONFIG) versions = [] for rev in env.walk_revisions(): versions.append((rev.revision, rev.down_revision or '-1')) versions.reverse() return versions def walk_versions(self, engine=None, snake_walk=False, downgrade=True): # Determine latest version script from the repo, then # upgrade from 1 through to the latest, with no data # in the databases. This just checks that the schema itself # upgrades successfully. self._configure(engine) up_and_down_versions = self._up_and_down_versions() for ver_up, ver_down in up_and_down_versions: # upgrade -> downgrade -> upgrade self._migrate_up(engine, ver_up, with_data=True) if snake_walk: downgraded = self._migrate_down(engine, ver_down, with_data=True, next_version=ver_up) if downgraded: self._migrate_up(engine, ver_up) if downgrade: # Now walk it back down to 0 from the latest, testing # the downgrade paths. up_and_down_versions.reverse() for ver_up, ver_down in up_and_down_versions: # downgrade -> upgrade -> downgrade downgraded = self._migrate_down(engine, ver_down, next_version=ver_up) if snake_walk and downgraded: self._migrate_up(engine, ver_up) self._migrate_down(engine, ver_down, next_version=ver_up) def _get_version_from_db(self, engine): """Fetches latest version of migrate repo from database For each type of migrate repo, the latest version from db will be returned. """ conn = engine.connect() try: context = migration.MigrationContext.configure(conn) version = context.get_current_revision() or '-1' finally: conn.close() return version def _migrate(self, engine, version, cmd): """Base method for manipulation with migrate repo It will upgrade or downgrade the actual database. """ self._alembic_command(cmd, engine, self.ALEMBIC_CONFIG, version) def _migrate_down(self, engine, version, with_data=False, next_version=None): try: self._migrate(engine, version, 'downgrade') except NotImplementedError: # NOTE(sirp): some migrations, namely release-level # migrations, don't support a downgrade. return False self.assertEqual(version, self._get_version_from_db(engine)) # NOTE(sirp): `version` is what we're downgrading to (i.e. the 'target' # version). So if we have any downgrade checks, they need to be run for # the previous (higher numbered) migration. if with_data: post_downgrade = getattr( self, "_post_downgrade_%s" % next_version, None) if post_downgrade: post_downgrade(engine) return True def _migrate_up(self, engine, version, with_data=False): """Migrate up to a new version of the db. We allow for data insertion and post checks at every migration version with special _pre_upgrade_### and _check_### functions in the main test. """ # NOTE(sdague): try block is here because it's impossible to debug # where a failed data migration happens otherwise check_version = version try: if with_data: data = None pre_upgrade = getattr( self, "_pre_upgrade_%s" % check_version, None) if pre_upgrade: data = pre_upgrade(engine) self._migrate(engine, version, 'upgrade') self.assertEqual(version, self._get_version_from_db(engine)) if with_data: check = getattr(self, "_check_%s" % check_version, None) if check: check(engine, data) except Exception: LOG.error("Failed to migrate to version {ver} on engine {eng}" .format(ver=version, eng=engine)) raise murano-9.0.0/murano/tests/unit/db/test_catalog.py0000664000175000017500000005373013656750211022113 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import uuid from oslo_db import exception as db_exception from webob import exc from murano.db.catalog import api from murano.tests.unit import base from murano.tests.unit import utils class CatalogDBTestCase(base.MuranoWithDBTestCase): def setUp(self): super(CatalogDBTestCase, self).setUp() self.tenant_id = str(uuid.uuid4()) self.tenant_id_2 = str(uuid.uuid4()) self.context = utils.dummy_context(tenant_id=self.tenant_id) self.context_2 = utils.dummy_context(tenant_id=self.tenant_id_2) self.context_admin = utils.dummy_context(tenant_id=self.tenant_id) self.context_admin.is_admin = True def _create_categories(self): api.category_add('cat1') api.category_add('cat2') def _stub_package(self, **kwargs): base = { 'archive': b"archive blob here", 'fully_qualified_name': 'com.example.package', 'type': 'class', 'author': 'OpenStack', 'name': 'package', 'enabled': True, 'description': 'some text', 'is_public': False, 'tags': ['tag1', 'tag2'], 'logo': b"logo blob here", 'ui_definition': '{}', } base.update(**kwargs) return base def get_change(self, op, path, value): return { 'op': op, 'path': path, 'value': value } def test_order_by(self): pkgs = [] for dummy in range(10): package = api.package_upload(self._stub_package( name=str(uuid.uuid4()), fully_qualified_name=str(uuid.uuid4())), self.tenant_id) pkgs.append(package) pkg_created = [pkg.id for pkg in sorted( pkgs, key=lambda _pkg: _pkg.created)] pkg_name = [pkg.id for pkg in sorted( pkgs, key=lambda _pkg: _pkg.name)] pkg_fqn = [pkg.id for pkg in sorted( pkgs, key=lambda _pkg: _pkg.fully_qualified_name)] for order, pkg_ids in zip(['created', 'name', 'fqn'], [pkg_created, pkg_name, pkg_fqn]): res = api.package_search( {'order_by': [order]}, self.context, limit=10) self.assertEqual(10, len(res)) self.assertEqual(pkg_ids, [r.id for r in res]) def test_order_by_compound(self): pkgs_a, pkgs_z = [], [] for _ in range(5): package = api.package_upload(self._stub_package( name='z', fully_qualified_name=str(uuid.uuid4())), self.tenant_id) pkgs_z.append(package) for _ in range(5): package = api.package_upload(self._stub_package( name='a', fully_qualified_name=str(uuid.uuid4())), self.tenant_id) pkgs_a.append(package) # sort pkg ids by pkg created pkg_a_id = [pkg.id for pkg in sorted( pkgs_a, key=lambda _pkg: _pkg.created)] pkg_z_id = [pkg.id for pkg in sorted( pkgs_z, key=lambda _pkg: _pkg.created)] res = api.package_search( {'order_by': ['name', 'created']}, self.context, limit=10) self.assertEqual(10, len(res)) self.assertEqual(pkg_a_id + pkg_z_id, [r.id for r in res]) def test_pagination_backwards(self): """Tests backwards pagination Creates 10 packages with unique names and iterates backwards, checking that package order is correct. """ pkgs = [] for dummy in range(10): package = api.package_upload(self._stub_package( name=str(uuid.uuid4()), fully_qualified_name=str(uuid.uuid4())), self.tenant_id) pkgs.append(package) # sort pkg ids by pkg name pkg_ids = [pkg.id for pkg in sorted(pkgs, key=lambda _pkg: _pkg.name)] res = api.package_search({}, self.context, limit=10) self.assertEqual(10, len(res)) self.assertEqual(pkg_ids, [r.id for r in res]) marker = res[-1].id res = api.package_search( {'marker': marker, 'sort_dir': 'desc'}, self.context, limit=5) self.assertEqual(5, len(res)) self.assertEqual(list(reversed(pkg_ids[4:9])), [r.id for r in res]) marker = res[-1].id res = api.package_search( {'marker': marker, 'sort_dir': 'desc'}, self.context, limit=5) self.assertEqual(4, len(res)) self.assertEqual(list(reversed(pkg_ids[0:4])), [r.id for r in res]) marker = res[-1].id res = api.package_search( {'marker': marker, 'sort_dir': 'desc'}, self.context, limit=5) self.assertEqual(0, len(res)) def test_pagination(self): """Tests that package order is correct Creates 10 packages with unique names and iterates through them, checking that package order is correct. """ pkgs = [] for dummy in range(10): package = api.package_upload(self._stub_package( name=str(uuid.uuid4()), fully_qualified_name=str(uuid.uuid4())), self.tenant_id) pkgs.append(package) # sort pkg ids by pkg name pkg_ids = [pkg.id for pkg in sorted(pkgs, key=lambda _pkg: _pkg.name)] res = api.package_search({}, self.context, limit=4) self.assertEqual(4, len(res)) self.assertEqual(pkg_ids[0:4], [r.id for r in res]) marker = res[-1].id res = api.package_search({'marker': marker}, self.context, limit=4) self.assertEqual(4, len(res)) self.assertEqual(pkg_ids[4:8], [r.id for r in res]) marker = res[-1].id res = api.package_search({'marker': marker}, self.context, limit=4) self.assertEqual(2, len(res)) self.assertEqual(pkg_ids[8:10], [r.id for r in res]) marker = res[-1].id res = api.package_search({'marker': marker}, self.context, limit=4) self.assertEqual(0, len(res)) def test_pagination_loops_through_names(self): """Tests that packages with same display name are not skipped Creates 10 packages with the same display name and iterates through them, checking that package are not skipped. """ for dummy in range(10): api.package_upload( self._stub_package(name='test', fully_qualified_name=str(uuid.uuid4())), self.tenant_id) res = api.package_search({}, self.context, limit=4) self.assertEqual(4, len(res)) marker = res[-1].id res = api.package_search({'marker': marker}, self.context, limit=4) self.assertEqual(4, len(res)) marker = res[-1].id res = api.package_search({'marker': marker}, self.context, limit=4) self.assertEqual(2, len(res)) marker = res[-1].id res = api.package_search({'marker': marker}, self.context, limit=4) self.assertEqual(0, len(res)) def test_package_search_search_order(self): pkg1 = api.package_upload( self._stub_package( fully_qualified_name=str(uuid.uuid4()), name='mysql', description='awcloud'), self.tenant_id) pkg2 = api.package_upload( self._stub_package( fully_qualified_name=str(uuid.uuid4()), name='awcloud', description='mysql'), self.tenant_id) api.package_upload( self._stub_package( tags=[], fully_qualified_name=str(uuid.uuid4())), self.tenant_id) res = api.package_search( {'search': 'mysql'}, self.context) self.assertEqual(2, len(res)) self.assertEqual(pkg1.name, res[0].name) self.assertEqual(pkg2.description, res[1].description) def test_package_search_search(self): pkg1 = api.package_upload( self._stub_package( fully_qualified_name=str(uuid.uuid4())), self.tenant_id) pkg2 = api.package_upload( self._stub_package( tags=[], fully_qualified_name=str(uuid.uuid4())), self.tenant_id) res = api.package_search( {'search': 'tag1'}, self.context) self.assertEqual(1, len(res)) res = api.package_search( {'search': pkg1.fully_qualified_name}, self.context) self.assertEqual(1, len(res)) res = api.package_search( {'search': pkg2.fully_qualified_name}, self.context) self.assertEqual(1, len(res)) res = api.package_search( {'search': 'not_a_valid_uuid'}, self.context) self.assertEqual(0, len(res)) res = api.package_search( {'search': 'some text'}, self.context) self.assertEqual(2, len(res)) def test_package_search_tags(self): api.package_upload( self._stub_package( fully_qualified_name=str(uuid.uuid4())), self.tenant_id) api.package_upload( self._stub_package( tags=[], fully_qualified_name=str(uuid.uuid4())), self.tenant_id) res = api.package_search( {'tag': ['tag1']}, self.context) self.assertEqual(1, len(res)) res = api.package_search( {'tag': ['tag2']}, self.context) self.assertEqual(1, len(res)) res = api.package_search( {'tag': ['tag3']}, self.context) self.assertEqual(0, len(res)) def test_package_search_type(self): api.package_upload( self._stub_package( type="Application", fully_qualified_name=str(uuid.uuid4())), self.tenant_id) api.package_upload( self._stub_package( type="Library", fully_qualified_name=str(uuid.uuid4())), self.tenant_id) res = api.package_search( {'type': 'Library'}, self.context) self.assertEqual(1, len(res)) res = api.package_search( {'type': 'Application'}, self.context) self.assertEqual(1, len(res)) def test_package_search_disabled(self): api.package_upload( self._stub_package( is_public=True, enabled=True, fully_qualified_name=str(uuid.uuid4())), self.tenant_id) api.package_upload( self._stub_package( is_public=True, enabled=False, fully_qualified_name=str(uuid.uuid4())), self.tenant_id) res = api.package_search( {'include_disabled': 'false'}, self.context) self.assertEqual(1, len(res)) res = api.package_search( {'include_disabled': 'true'}, self.context) self.assertEqual(2, len(res)) def test_package_search_owned(self): api.package_upload( self._stub_package( is_public=True, fully_qualified_name=str(uuid.uuid4())), self.tenant_id) api.package_upload( self._stub_package( is_public=True, fully_qualified_name=str(uuid.uuid4())), self.tenant_id_2) res = api.package_search({'owned': 'true'}, self.context_admin) self.assertEqual(1, len(res)) res = api.package_search({'owned': 'false'}, self.context_admin) self.assertEqual(2, len(res)) def test_package_search_no_filters_catalog(self): res = api.package_search({}, self.context, catalog=True) self.assertEqual(0, len(res)) api.package_upload( self._stub_package( is_public=True, fully_qualified_name=str(uuid.uuid4())), self.tenant_id) api.package_upload( self._stub_package( is_public=False, fully_qualified_name=str(uuid.uuid4())), self.tenant_id) api.package_upload( self._stub_package( is_public=True, fully_qualified_name=str(uuid.uuid4())), self.tenant_id_2) api.package_upload( self._stub_package( is_public=False, fully_qualified_name=str(uuid.uuid4())), self.tenant_id_2) # catalog=True should show public + mine res = api.package_search({}, self.context, catalog=True) self.assertEqual(3, len(res)) res = api.package_search({}, self.context_admin, catalog=True) self.assertEqual(3, len(res)) def test_package_search_no_filters(self): res = api.package_search({}, self.context) self.assertEqual(0, len(res)) api.package_upload( self._stub_package( is_public=True, fully_qualified_name=str(uuid.uuid4())), self.tenant_id) api.package_upload( self._stub_package( is_public=False, fully_qualified_name=str(uuid.uuid4())), self.tenant_id) api.package_upload( self._stub_package( is_public=True, fully_qualified_name=str(uuid.uuid4())), self.tenant_id_2) api.package_upload( self._stub_package( is_public=False, fully_qualified_name=str(uuid.uuid4())), self.tenant_id_2) # I can only edit mine pkgs res = api.package_search({}, self.context) self.assertEqual(2, len(res)) for pkg in res: self.assertEqual(self.tenant_id, pkg.owner_id) # Admin can see everything res = api.package_search({}, self.context_admin) self.assertEqual(4, len(res)) def test_list_empty_categories(self): res = api.category_get_names() self.assertEqual(0, len(res)) def test_add_list_categories(self): self._create_categories() res = api.categories_list() self.assertEqual(2, len(res)) for cat in res: self.assertIsNotNone(cat.id) self.assertTrue(cat.name.startswith('cat')) def test_package_upload(self): self._create_categories() values = self._stub_package() package = api.package_upload(values, self.tenant_id) self.assertIsNotNone(package.id) for k in values.keys(): self.assertEqual(values[k], package[k]) def test_package_fqn_is_unique(self): self._create_categories() values = self._stub_package() api.package_upload(values, self.tenant_id) self.assertRaises(db_exception.DBDuplicateEntry, api.package_upload, values, self.tenant_id) def test_package_delete(self): values = self._stub_package() package = api.package_upload(values, self.tenant_id) api.package_delete(package.id, self.context) self.assertRaises(exc.HTTPNotFound, api.package_get, package.id, self.context) def test_package_upload_to_different_tenants_with_same_fqn(self): values = self._stub_package() api.package_upload(values, self.tenant_id) api.package_upload(values, self.tenant_id_2) def test_package_upload_public_public_fqn_violation(self): values = self._stub_package(is_public=True) api.package_upload(values, self.tenant_id) values = self._stub_package(is_public=True) self.assertRaises(exc.HTTPConflict, api.package_upload, values, self.tenant_id_2) def test_package_upload_public_private_no_fqn_violation(self): values = self._stub_package(is_public=True) api.package_upload(values, self.tenant_id) values = self._stub_package(is_public=False) api.package_upload(values, self.tenant_id_2) def test_package_upload_private_public_no_fqn_violation(self): values = self._stub_package() api.package_upload(values, self.tenant_id) values = self._stub_package(is_public=True) api.package_upload(values, self.tenant_id_2) def test_class_name_is_unique(self): value = self._stub_package(class_definitions=('foo', 'bar')) api.package_upload(value, self.tenant_id) value = self._stub_package(class_definitions=('bar', 'baz'), fully_qualified_name='com.example.package2') self.assertRaises(exc.HTTPConflict, api.package_upload, value, self.tenant_id) def test_class_name_uniqueness_not_enforced_in_different_tenants(self): value = self._stub_package(class_definitions=('foo', 'bar')) api.package_upload(value, self.tenant_id) value = self._stub_package(class_definitions=('foo', 'bar'), fully_qualified_name='com.example.package2') api.package_upload(value, self.tenant_id_2) def test_class_name_public_public_violation(self): value = self._stub_package(class_definitions=('foo', 'bar'), is_public=True) api.package_upload(value, self.tenant_id) value = self._stub_package(class_definitions=('foo', 'bar'), is_public=True, fully_qualified_name='com.example.package2') self.assertRaises(exc.HTTPConflict, api.package_upload, value, self.tenant_id_2) def test_class_name_public_private_no_violation(self): value = self._stub_package(class_definitions=('foo', 'bar'), is_public=True) api.package_upload(value, self.tenant_id) value = self._stub_package(class_definitions=('foo', 'bar'), is_public=False, fully_qualified_name='com.example.package2') api.package_upload(value, self.tenant_id_2) def test_class_name_private_public_no_violation(self): value = self._stub_package(class_definitions=('foo', 'bar'), is_public=False) api.package_upload(value, self.tenant_id) value = self._stub_package(class_definitions=('foo', 'bar'), is_public=True, fully_qualified_name='com.example.package2') api.package_upload(value, self.tenant_id_2) def test_package_make_public(self): id = api.package_upload(self._stub_package(), self.tenant_id).id patch = self.get_change('replace', ['is_public'], True) api.package_update(id, [patch], self.context) package = api.package_get(id, self.context) self.assertTrue(package.is_public) def test_package_update_public_public_fqn_violation(self): id1 = api.package_upload(self._stub_package(), self.tenant_id).id id2 = api.package_upload(self._stub_package(), self.tenant_id_2).id patch = self.get_change('replace', ['is_public'], True) api.package_update(id1, [patch], self.context) self.assertRaises(exc.HTTPConflict, api.package_update, id2, [patch], self.context_2) def test_package_update_public_public_class_name_violation(self): id1 = api.package_upload(self._stub_package( class_definitions=('foo', 'bar')), self.tenant_id).id id2 = api.package_upload(self._stub_package( class_definitions=('foo', 'bar'), fully_qualified_name='com.example.package2'), self.tenant_id_2).id patch = self.get_change('replace', ['is_public'], True) api.package_update(id1, [patch], self.context) self.assertRaises(exc.HTTPConflict, api.package_update, id2, [patch], self.context_2) def test_category_paginate(self): """Paginate through a list of categories using limit and marker""" category_names = ['cat1', 'cat2', 'cat3', 'cat4', 'cat5'] categories = [] for name in category_names: categories.append(api.category_add(name)) uuids = [c.id for c in categories] page = api.categories_list(limit=2) self.assertEqual(category_names[:2], [c.name for c in page]) last = page[-1].id page = api.categories_list(limit=3, marker=last) self.assertEqual(category_names[2:5], [c.name for c in page]) page = api.categories_list(marker=uuids[-1]) self.assertEqual([], page) category_names.reverse() page = api.categories_list({'sort_dir': 'desc'}) self.assertEqual(category_names, [c.name for c in page]) def test_category_get_delete_error(self): category_id = 12 self.assertRaises(exc.HTTPNotFound, api.category_get, category_id) self.assertRaises(exc.HTTPNotFound, api.category_delete, category_id) def test_get_categories_error(self): category_names = ['cat1', 'cat2', 'cat3', 'cat4', 'cat5'] cat_session = None self.assertRaises(exc.HTTPBadRequest, api._get_categories, category_names, cat_session) def test_authorize_package_delete_error(self): values = self._stub_package() package = api.package_upload(values, self.tenant_id) self.assertRaises(exc.HTTPForbidden, api._authorize_package, package, self.context_2) self.assertRaises(exc.HTTPForbidden, api.package_delete, package.id, self.context_2) id = package.id patch = self.get_change('replace', ['is_public'], False) api.package_update(id, [patch], self.context) self.assertRaises(exc.HTTPForbidden, api._authorize_package, package, self.context_2, allow_public=True) murano-9.0.0/murano/tests/unit/db/test_models.py0000664000175000017500000000255613656750211021764 0ustar zuulzuul00000000000000# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from murano.db import models from murano.db import session from murano.tests.unit import base class TestModels(base.MuranoWithDBTestCase): def test_missing_blob(self): """Fake a package with NULL supplier JSON blob to test bug 1342306.""" con = session.get_session().connection() con.execute("INSERT INTO package(id, fully_qualified_name, " "owner_id, name, description, created, updated, type, " "supplier) " "VALUES (1, 'blob.test', 1, 'blob test', 'Desc', " "'2014-07-15 00:00:00', '2014-07-15 00:00:00', " "'Application', NULL)") loaded_e = session.get_session().query(models.Package).get(1) self.assertIsNone(loaded_e.supplier) murano-9.0.0/murano/tests/unit/cmd/0000775000175000017500000000000013656750351017243 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/cmd/__init__.py0000664000175000017500000000000013656750211021335 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/cmd/test_manage.py0000664000175000017500000002222013656750211022075 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from oslo_config import cfg try: from StringIO import StringIO except ImportError: from io import StringIO from murano.cmd import manage from murano.db.catalog import api as db_catalog_api from murano.db import models from murano.db import session as db_session from murano.tests.unit import base as test_base CONF = cfg.CONF class TestManage(test_base.MuranoWithDBTestCase): def setUp(self): super(TestManage, self).setUp() session = db_session.get_session() # Create environment. self.test_environment = models.Environment( name=b'test_environment', tenant_id=b'test_tenant_id', version=1 ) # Create categories. self.test_categories = [ models.Category(name=b'test_category_1'), models.Category(name=b'test_category_2') ] # Create tags. self.test_tags = [ models.Tag(name=b'test_tag_1'), models.Tag(name=b'test_tag_2') ] # Add environment, categories and tags to DB. with session.begin(): session.add(self.test_environment) session.add_all(self.test_categories) session.add_all(self.test_tags) # Create package. self.test_package = models.Package( fully_qualified_name=b'test_fqn', name=b'test_name', logo=b'test_logo', supplier_logo=b'test_supplier_logo', type=b'test_type', description=b'test_desc', is_public=True, archive=b'test_archive', ui_definition=b'test_ui_definition', categories=self.test_categories, tags=self.test_tags, owner_id=self.test_environment.tenant_id,) # Add the package to the DB. with session.begin(): session.add(self.test_package) # Create class definitions and assign their FKs to test_package.id. self.test_class_definitions = [ models.Class(name=b'test_class_definition_1', package_id=self.test_package.id), models.Class(name=b'test_class_definition_2', package_id=self.test_package.id) ] # Add the class definitions to the DB and update the FK reference for # test_package.class_definitions. with session.begin(): session.add_all(self.test_class_definitions) self.test_package.class_definitions = self.test_class_definitions session.add(self.test_package) # Create mock object that resembles loaded package from # load_utils.load_from_dir self.mock_loaded_package = mock.MagicMock( full_name=self.test_package.fully_qualified_name, display_name=self.test_package.name, package_type=self.test_package.type, author=self.test_package.author, supplier=self.test_package.supplier, description=self.test_package.description, tags=[tag.name for tag in self.test_package.tags], classes=[cls.name for cls in self.test_package.class_definitions], logo=self.test_package.logo, supplier_logo=self.test_package.supplier_logo, ui=self.test_package.ui_definition, blob=self.test_package.archive) @mock.patch('murano.cmd.manage.LOG') @mock.patch('murano.cmd.manage.load_utils') def test_do_import_package(self, mock_load_utils, mock_log): manage.CONF = mock.MagicMock() manage.CONF.command = mock.MagicMock( directory='test_dir', categories=[cat.name for cat in self.test_package.categories], update=True) mock_load_utils.load_from_dir.return_value = self.mock_loaded_package manage.do_import_package() # Assert that the function ran to completion. self.assertIn("Finished import of package", str(mock_log.info.mock_calls[0])) # Check that the package was uploaded to the DB. filter_params = { 'name': self.test_package.name, 'fully_qualified_name': self.test_package.fully_qualified_name, 'type': self.test_package.type, 'description': self.test_package.description } retrieved_package = None session = db_session.get_session() with session.begin(): retrieved_package = session.query(models.Package)\ .filter_by(**filter_params).first() self.assertIsNotNone(retrieved_package) self.assertNotEqual(self.test_package.id, retrieved_package.id) @mock.patch('murano.cmd.manage.LOG') @mock.patch('murano.cmd.manage.load_utils') @mock.patch('murano.cmd.manage.db_catalog_api') def test_do_import_package_without_update(self, mock_db_catalog_api, mock_load_utils, mock_log): mock_db_catalog_api.package_search.return_value =\ [self.test_package] mock_load_utils.load_from_dir.return_value =\ mock.MagicMock(full_name='test_full_name') manage.CONF = mock.MagicMock() manage.CONF.command = mock.MagicMock( directory='test_dir', categories=[], update=False) manage.do_import_package() mock_log.error.assert_called_once_with( "Package '{name}' exists ({pkg_id}). Use --update." .format(name='test_full_name', pkg_id=self.test_package.id)) @mock.patch('sys.stdout', new_callable=StringIO) def test_do_list_categories(self, mock_stdout): expected_output = ">> Murano package categories:* "\ "test_category_1* test_category_2" manage.do_list_categories() self.assertEqual(expected_output, mock_stdout.getvalue().replace('\n', '') .replace('b\'', '').replace('\'', '')) @mock.patch('murano.cmd.manage.db_catalog_api') @mock.patch('sys.stdout', new_callable=StringIO) def test_do_list_categories_with_no_categories(self, mock_stdout, mock_db_catalog_api): mock_db_catalog_api.category_get_names.return_value = [] expected_output = "No categories were found" manage.do_list_categories() self.assertEqual( expected_output, mock_stdout.getvalue().replace('\n', '')) @mock.patch('sys.stdout', new_callable=StringIO) def test_do_add_category(self, mock_stdout): manage.CONF = mock.MagicMock() manage.CONF.command.category_name = 'test_category_name' expected_output = ">> Successfully added category test_category_name" manage.do_add_category() self.assertEqual(expected_output, mock_stdout.getvalue().replace('\n', '')) @mock.patch('sys.stdout', new_callable=StringIO) def test_do_add_category_except_duplicate_error(self, mock_stdout): manage.CONF = mock.MagicMock() manage.CONF.command.category_name = 'test_category_name' expected_output = ">> ERROR: Category \'test_category_name\' already "\ "exists" db_catalog_api.category_add('test_category_name') manage.do_add_category() self.assertEqual(expected_output, mock_stdout.getvalue().replace('\n', '')) def test_add_command_parsers(self): mock_parser = mock.MagicMock() mock_subparsers = mock.MagicMock() mock_subparsers.add_parser.return_value = mock_parser manage.add_command_parsers(mock_subparsers) mock_subparsers.add_parser.assert_any_call('import-package') mock_subparsers.add_parser.assert_any_call('category-list') mock_subparsers.add_parser.assert_any_call('category-add') mock_parser.set_defaults.assert_any_call(func=manage.do_import_package) mock_parser.set_defaults.assert_any_call( func=manage.do_list_categories) mock_parser.set_defaults.assert_any_call(func=manage.do_add_category) self.assertEqual(4, mock_parser.add_argument.call_count) @mock.patch('murano.cmd.manage.CONF') def test_main_except_runtime_error(self, mock_conf): mock_conf.side_effect = RuntimeError with self.assertRaisesRegex(SystemExit, 'ERROR:'): manage.main() @mock.patch('murano.cmd.manage.CONF') def test_main_except_general_exception(self, mock_conf): mock_conf.command.func.side_effect = Exception expected_err_msg = "murano-manage command failed:" with self.assertRaisesRegex(SystemExit, expected_err_msg): manage.main() murano-9.0.0/murano/tests/unit/cmd/test_engine_workers.py0000664000175000017500000000425013656750211023671 0ustar zuulzuul00000000000000# Copyright (c) 2016 NEC Corporation. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from oslo_concurrency import processutils from oslo_log import log as logging from murano.cmd import engine from murano.common import config from murano.tests.unit import base class TestEngineWorkers(base.MuranoTestCase): @mock.patch.object(config, 'parse_args') @mock.patch.object(logging, 'setup') @mock.patch('oslo_service.service.launch') def test_workers_default(self, launch, setup, parse_args): engine.main() launch.assert_called_once_with(mock.ANY, mock.ANY, workers=processutils.get_worker_count(), restart_method='mutate') @mock.patch.object(config, 'parse_args') @mock.patch.object(logging, 'setup') @mock.patch('oslo_service.service.launch') def test_workers_good_setting(self, launch, setup, parse_args): self.override_config("engine_workers", 8, "engine") engine.main() launch.assert_called_once_with(mock.ANY, mock.ANY, workers=8, restart_method='mutate') @mock.patch.object(config, 'parse_args') @mock.patch.object(logging, 'setup') @mock.patch('oslo_service.service.launch') def test_workers_zero_setting(self, launch, setup, parse_args): self.override_config("engine_workers", 0, "engine") engine.main() launch.assert_called_once_with(mock.ANY, mock.ANY, workers=processutils.get_worker_count(), restart_method='mutate') murano-9.0.0/murano/tests/unit/cmd/test_api_workers.py0000664000175000017500000000566413656750211023207 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sys from unittest import mock from oslo_concurrency import processutils from oslo_log import log as logging from murano.cmd import api from murano.common import app_loader from murano.common import config from murano.common import policy from murano.tests.unit import base class TestAPIWorkers(base.MuranoTestCase): def setUp(self): super(TestAPIWorkers, self).setUp() sys.argv = ['murano'] @mock.patch.object(config, 'parse_args') @mock.patch.object(logging, 'setup') @mock.patch.object(policy, 'init') @mock.patch.object(config, 'set_middleware_defaults') @mock.patch.object(app_loader, 'load_paste_app') @mock.patch('oslo_service.service.launch') def test_workers_default(self, launch, setup, parse_args, init, load_paste_app, set_middleware_defaults): api.main() launch.assert_called_once_with(mock.ANY, mock.ANY, workers=processutils.get_worker_count(), restart_method='mutate') @mock.patch.object(config, 'parse_args') @mock.patch.object(logging, 'setup') @mock.patch.object(policy, 'init') @mock.patch.object(config, 'set_middleware_defaults') @mock.patch.object(app_loader, 'load_paste_app') @mock.patch('oslo_service.service.launch') def test_workers_good_setting(self, launch, setup, parse_args, init, load_paste_app, set_middleware_defaults): self.override_config("api_workers", 8, "murano") api.main() launch.assert_called_once_with(mock.ANY, mock.ANY, workers=8, restart_method='mutate') @mock.patch.object(config, 'parse_args') @mock.patch.object(logging, 'setup') @mock.patch.object(policy, 'init') @mock.patch.object(config, 'set_middleware_defaults') @mock.patch.object(app_loader, 'load_paste_app') @mock.patch('oslo_service.service.launch') def test_workers_zero_setting(self, launch, setup, parse_args, init, load_paste_app, set_middleware_defaults): self.override_config("api_workers", 0, "murano") api.main() launch.assert_called_once_with(mock.ANY, mock.ANY, workers=processutils.get_worker_count(), restart_method='mutate') murano-9.0.0/murano/tests/unit/cmd/test_status.py0000664000175000017500000000200313656750211022165 0ustar zuulzuul00000000000000# Copyright (c) 2018 NEC, Corp. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_upgradecheck.upgradecheck import Code from murano.cmd import status from murano.tests.unit import base class TestUpgradeChecks(base.MuranoTestCase): def setUp(self): super(TestUpgradeChecks, self).setUp() self.cmd = status.Checks() def test__sample_check(self): check_result = self.cmd._sample_check() self.assertEqual( Code.SUCCESS, check_result.code) murano-9.0.0/murano/tests/unit/base.py0000664000175000017500000000336013656750211017761 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import fixtures from oslo_log import log as logging import testtools from murano.common import config from murano.db import api as db_api CONF = config.CONF logging.register_options(CONF) logging.setup(CONF, 'murano') class MuranoTestCase(testtools.TestCase): def setUp(self): super(MuranoTestCase, self).setUp() self.useFixture(fixtures.FakeLogger('murano')) def override_config(self, name, override, group=None): CONF.set_override(name, override, group) self.addCleanup(CONF.clear_override, name, group) class MuranoWithDBTestCase(MuranoTestCase): def setUp(self): super(MuranoWithDBTestCase, self).setUp() self.override_config('connection', "sqlite://", group='database') db_api.setup_db() self.addCleanup(db_api.drop_db) self.override_config('env_audit_enabled', False, group='stats') class MuranoNotifyWithDBTestCase(MuranoWithDBTestCase): def setUp(self): super(MuranoNotifyWithDBTestCase, self).setUp() self.override_config('connection', "sqlite://", group='database') db_api.setup_db() self.addCleanup(db_api.drop_db) self.override_config('env_audit_enabled', True, group='stats') murano-9.0.0/murano/tests/unit/engine/0000775000175000017500000000000013656750351017745 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/engine/__init__.py0000664000175000017500000000000013656750211022037 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/engine/test_mock_context_manager.py0000664000175000017500000001160013656750211025536 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from yaql import contexts from yaql import specs from murano.dsl import constants from murano.dsl import executor from murano.dsl import murano_type from murano.engine import execution_session from murano.engine import mock_context_manager from murano.engine.system import test_fixture from murano.tests.unit import base from murano.tests.unit.dsl.foundation import object_model as om from murano.tests.unit.dsl.foundation import runner from murano.tests.unit.dsl.foundation import test_case FIXTURE_CLASS = 'io.murano.system.Agent' FIXTURE_FUNC = 'call' def _get_fd(set_to_extract): return list(set_to_extract)[0] class TestMockContextManager(mock_context_manager.MockContextManager): def __init__(self, functions): super(TestMockContextManager, self).__init__() self.__functions = functions def create_root_context(self, runtime_version): root_context = super(TestMockContextManager, self).create_root_context( runtime_version) context = root_context.create_child_context() for name, func in self.__functions.items(): context.register_function(func, name) return context class MockRunner(runner.Runner): def __init__(self, model, package_loader, functions): if isinstance(model, str): model = om.Object(model) model = om.build_model(model) if 'Objects' not in model: model = {'Objects': model} self.executor = executor.MuranoDslExecutor( package_loader, TestMockContextManager(functions), execution_session.ExecutionSession()) self._root = self.executor.load(model).object class TestMockManager(base.MuranoTestCase): def test_create_type_context(self): mock_manager = mock_context_manager.MockContextManager() mock_murano_class = mock.MagicMock(spec=murano_type.MuranoClass) mock_murano_class.name = FIXTURE_CLASS original_function = mock.MagicMock(spec=specs.FunctionDefinition) original_function.is_method = True original_function.name = FIXTURE_FUNC original_context = contexts.Context() p = mock.patch("inspect.getargspec", new=mock.MagicMock()) p.start() original_context.register_function(original_function) mock_murano_class.context = original_context p.stop() mock_function = mock.MagicMock(spec=specs.FunctionDefinition) mock_function.is_method = True mock_function.name = FIXTURE_FUNC mock_manager.class_mock_ctx[FIXTURE_CLASS] = [mock_function] result_context = mock_manager.create_type_context(mock_murano_class) all_functions = result_context.collect_functions(FIXTURE_FUNC) # Mock function should go first, but result context should contain both self.assertIs(mock_function, _get_fd(all_functions[0])) self.assertIs(original_function, _get_fd(all_functions[1])) def test_create_root_context(self): mock_manager = mock_context_manager.MockContextManager() ctx_to_check = mock_manager.create_root_context( constants.RUNTIME_VERSION_1_1) inject_count = ctx_to_check.collect_functions('inject') with_original_count = ctx_to_check.collect_functions('withOriginal') self.assertEqual(2, len(inject_count[0])) self.assertEqual(1, len(with_original_count[0])) class TestMockYaqlFunctions(test_case.DslTestCase): def setUp(self): super(TestMockYaqlFunctions, self).setUp() self.package_loader.load_package('io.murano', None).register_class( test_fixture.TestFixture) self.runner = MockRunner(om.Object('TestMocks'), self.package_loader, self._functions) def test_inject_method_with_str(self): self.runner.testInjectMethodWithString() def test_inject_object_with_str(self): self.runner.testInjectObjectWithString() def test_inject_method_with_yaql_expr(self): self.runner.testInjectMethodWithYaqlExpr() def test_inject_method_with_yaql_expr2(self): self.runner.testInjectMethodWithYaqlExpr2() def test_inject_object_with_yaql_expr(self): self.runner.testInjectObjectWithYaqlExpr() def test_with_original(self): self.runner.testWithoriginal() def test_original_method(self): self.runner.testOriginalMethod() murano-9.0.0/murano/tests/unit/engine/meta/0000775000175000017500000000000013656750351020673 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/engine/meta/Classes/0000775000175000017500000000000013656750351022270 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/engine/meta/Classes/Mytest.yaml0000664000175000017500000000012413656750211024431 0ustar zuulzuul00000000000000Namespaces: =: io.murano.test Extends: sys:TestFixture Name: MyTest Methods: murano-9.0.0/murano/tests/unit/engine/meta/manifest.yaml0000664000175000017500000000031613656750211023360 0ustar zuulzuul00000000000000Format: 1.0 Type: Application FullName: io.murano.test.MyTest Name: Test case Example Description: | Example of simple package Author: 'Mirantis, Inc' Tags: [] Classes: io.murano.test.MyTest: Mytest.yaml murano-9.0.0/murano/tests/unit/engine/meta/TestMock.yaml0000664000175000017500000000441313656750211023305 0ustar zuulzuul00000000000000Namespaces: test: io.murano.test Name: TestMocks Extends: test:TestFixture Properties: logMessage: Contract: $.string() Default: 'Mock from property' Methods: initialize: Body: - $.originalClass: new(TestMocksFixture) mock1: Body: - Return: 'This is mock1' testInjectMethodWithString: Body: - inject(TestMocksFixture, simpleMethod1, $this, mock1) - $output: $.originalClass.simpleMethod1() - $.assertEqual('This is mock1', $output) testInjectObjectWithString: Body: - inject($.originalClass, simpleMethod1, $this, mock1) - $output: $.originalClass.simpleMethod1() - $.assertEqual('This is mock1', $output) testInjectMethodWithYaqlExpr: Body: # Calling original method without mocking - $output: $.originalClass.simpleMethod1() - $.assertEqual('method1', $output) - $mockText: 'I am mock' - inject(TestMocksFixture, simpleMethod1, $mockText) # Calling original method after mocking - $output: $.originalClass.simpleMethod1() - $.assertEqual('I am mock', $output) testInjectMethodWithYaqlExpr2: Body: # Calling original method without mocking - $output: $.originalClass.simpleMethod1() - $.assertEqual('method1', $output) - inject(TestMocksFixture, simpleMethod1, $.logMessage) # Calling mocked method - $output: $.originalClass.simpleMethod1() - $.assertEqual('Mock from property', $output) testInjectObjectWithYaqlExpr: Body: # Calling original method without mocking - $output: $.originalClass.simpleMethod1() - $.assertEqual('method1', $output) - $mockText: 'I am mock' - inject($.originalClass, simpleMethod1, $mockText) # Calling original method after mocking - $output: $.originalClass.simpleMethod1() - $.assertEqual('I am mock', $output) testWithoriginal: Body: - inject(TestMocksFixture, simpleMethod1, withOriginal(t => $.originalClass.someProperty) -> $t) - $output: $.originalClass.simpleMethod1() - $.assertEqual(DEFAULT, $output) testOriginalMethod: Body: - inject(TestMocksFixture, simpleMethod1, originalMethod()) - $output: $.originalClass.simpleMethod1() - $.assertEqual('method1', $output)murano-9.0.0/murano/tests/unit/engine/meta/TestMockFixture.yaml0000664000175000017500000000025313656750211024652 0ustar zuulzuul00000000000000Name: TestMocksFixture Properties: someProperty: Contract: $.string().notNull() Default: DEFAULT Methods: simpleMethod1: Body: - Return: 'method1' murano-9.0.0/murano/tests/unit/engine/test_package_loader.py0000664000175000017500000006374613656750211024312 0ustar zuulzuul00000000000000# Copyright 2016 AT&T Corp # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import collections from muranoclient.common import exceptions as muranoclient_exc import os import shutil import tempfile from unittest import mock import semantic_version import testtools from murano.dsl import exceptions as dsl_exceptions from murano.dsl import murano_package as dsl_package from murano.engine import package_loader from murano.packages import exceptions as pkg_exc from murano.tests.unit import base from murano.tests.unit import utils class TestPackageCache(base.MuranoTestCase): def setUp(self): super(TestPackageCache, self).setUp() self.location = tempfile.mkdtemp() self.override_config('enable_packages_cache', True, 'engine') self.override_config('packages_cache', self.location, 'engine') self._patch_loader_client() self.loader = package_loader.ApiPackageLoader(None) def tearDown(self): shutil.rmtree(self.location, ignore_errors=True) super(TestPackageCache, self).tearDown() def _patch_loader_client(self): self.murano_client_patcher = mock.patch( 'murano.engine.package_loader.ApiPackageLoader.client') self.murano_client_patcher.start() self.murano_client = package_loader.ApiPackageLoader.client def _unpatch_loader_client(self): self.murano_client_patcher.stop() @mock.patch('murano.engine.package_loader.auth_utils') @mock.patch('murano.engine.package_loader.versionutils') def test_client_property(self, mock_versionutils, mock_auth_utils): self._unpatch_loader_client() session = mock_auth_utils.get_client_session() session_params = mock_auth_utils.get_session_client_parameters session.auth.get_token.return_value = 'test_token' session.get_endpoint.return_value = 'test_endpoint/v3' session_params.return_value = {'endpoint': 'test_endpoint/v3'} self.override_config('packages_service', 'glance', group='engine') client = self.loader.client mock_versionutils.report_deprecated_feature.assert_called_once_with( package_loader.LOG, "'glance' packages_service option has been renamed " "to 'glare', please update your configuration") self.assertIsNotNone(client) self.assertIsNotNone(self.loader._glare_client) # Test whether client is initialized using different CONF. self.override_config('packages_service', 'test_service', group='engine') client = self.loader.client self.assertIsNotNone(client) def test_import_fixations_table(self): test_fixations = { 'test_package_1': [semantic_version.Version('1.1.0'), semantic_version.Version('1.1.0')], 'test_package_2': [semantic_version.Version('2.1.0'), semantic_version.Version('2.4.3')] } expected = collections.defaultdict(set) expected['test_package_1'] = set([semantic_version.Version('1.1.0')]) expected['test_package_2'] = set([semantic_version.Version('2.1.0'), semantic_version.Version('2.4.3')]) self.loader.import_fixation_table(test_fixations) self.assertEqual(expected, self.loader._fixations) def test_register_package(self): test_version = semantic_version.Version('1.1.0') package = mock.MagicMock() package.name = 'test_package_name' package.version = test_version package.classes = ['test_class_1', 'test_class_2'] self.loader.register_package(package) self.assertEqual( package, self.loader._package_cache['test_package_name'][test_version]) for class_name in package.classes: self.assertEqual( package, self.loader._class_cache[class_name][test_version]) def test_load_package(self): test_version = semantic_version.Version('1.1.0') package = mock.MagicMock() package.name = 'test_package_name' package.version = test_version self.loader.import_fixation_table({package.name: [test_version]}) self.loader.register_package(package) version_spec = semantic_version.Spec('>=1.0.0,<2.4.0') retrieved_pkg = self.loader.load_package(package.name, version_spec) self.assertEqual(retrieved_pkg, package) @testtools.skipIf(os.name == 'nt', "Doesn't work on Windows") @mock.patch('murano.engine.package_loader.ApiPackageLoader.' '_to_dsl_package') def test_load_package_with_get_definiton(self, mock_to_dsl_package): fqn = 'io.murano.apps.test_package' package = mock.MagicMock() package.id = 'test_package_id' package.name = 'test_package_name' package.fully_qualified_name = fqn package.version = '2.5.3' path, _ = utils.compose_package( 'test_package', self.location, archive_dir=self.location, version=package.version) with open(path, 'rb') as f: package_data = f.read() self.murano_client.packages.filter = mock.MagicMock( return_value=[package]) self.murano_client.packages.download = mock.MagicMock( return_value=package_data) mock_to_dsl_package.return_value = package spec = semantic_version.Spec('*') retrieved_pkg = self.loader.load_package(fqn, spec) self.assertEqual(retrieved_pkg, package) self.assertTrue(os.path.isdir(os.path.join( self.location, fqn))) self.assertTrue(os.path.isdir(os.path.join( self.location, fqn, package.version))) self.assertTrue(os.path.isdir(os.path.join( self.location, fqn, package.version, package.id))) self.assertTrue(os.path.isfile(os.path.join( self.location, fqn, package.version, package.id, 'manifest.yaml'))) self.murano_client.packages.download.assert_called_once_with( package.id) expected_fixations = collections.defaultdict(set) expected_fixations[fqn] = set( [semantic_version.Version(package.version)]) self.assertEqual(expected_fixations, self.loader._fixations) self.loader.cleanup() def test_load_package_except_lookup_error(self): expected_error_msg = 'Package "test_package_name" is not found' invalid_specs = [semantic_version.Spec('>=1.1.1'), semantic_version.Spec('<1.1.0'), semantic_version.Spec('>=1.1.1,<1.1.0'), semantic_version.Spec('==1.1.1')] fqn = 'io.murano.apps.test' test_version = semantic_version.Version('1.1.0') package = mock.MagicMock() package.name = fqn package.fully_qualified_name = fqn package.version = test_version self.loader.import_fixation_table({fqn: [test_version]}) self.loader.register_package(package) with self.assertRaisesRegex(dsl_exceptions.NoPackageFound, expected_error_msg): for spec in invalid_specs: self.loader.load_package('test_package_name', spec) def test_load_class_package(self): fqn = 'io.murano.apps.test' package = mock.MagicMock() package.fully_qualified_name = fqn package.classes = ['test_class_1', 'test_class_2'] test_version = semantic_version.Version('1.1.0') package.version = test_version self.loader.register_package(package) spec = semantic_version.Spec('*') for class_name in ['test_class_1', 'test_class_2']: retrieved_pkg = self.loader.load_class_package(class_name, spec) self.assertEqual(retrieved_pkg, package) @testtools.skipIf(os.name == 'nt', "Doesn't work on Windows") def test_load_class_package_with_get_definition(self): fqn = 'io.murano.apps.test' path, name = utils.compose_package( 'test', self.location, archive_dir=self.location) with open(path, 'rb') as f: package_data = f.read() spec = semantic_version.Spec('*') first_id, second_id, third_id = '123', '456', '789' package = mock.MagicMock() package.fully_qualified_name = fqn package.id = first_id package.version = '0.0.1' self.murano_client.packages.filter = mock.MagicMock( return_value=[package]) self.murano_client.packages.download = mock.MagicMock( return_value=package_data) # load the package self.loader.load_class_package(fqn, spec) # assert that everything got created self.assertTrue(os.path.isdir(os.path.join( self.location, fqn))) self.assertTrue(os.path.isdir(os.path.join( self.location, fqn, package.version))) self.assertTrue(os.path.isdir(os.path.join( self.location, fqn, package.version, first_id))) self.assertTrue(os.path.isfile(os.path.join( self.location, fqn, package.version, first_id, 'manifest.yaml'))) # assert that we called download self.assertEqual(self.murano_client.packages.download.call_count, 1) # now that the cache is in place, call it for the 2d time self.loader._package_cache = {} self.loader._class_cache = {} self.loader.load_class_package(fqn, spec) # check that we didn't download a thing self.assertEqual(self.murano_client.packages.download.call_count, 1) # changing id, new package would be downloaded. package.id = second_id self.loader._package_cache = {} self.loader._class_cache = {} self.loader.load_class_package(fqn, spec) # check that we didn't download a thing self.assertEqual(self.murano_client.packages.download.call_count, 2) # check that old directories were not deleted # we did not call cleanup and did not release the locks self.assertTrue(os.path.isdir(os.path.join( self.location, fqn, package.version, first_id))) # check that new directories got created correctly self.assertTrue(os.path.isdir(os.path.join( self.location, fqn))) self.assertTrue(os.path.isdir(os.path.join( self.location, fqn, package.version))) self.assertTrue(os.path.isdir(os.path.join( self.location, fqn, package.version, second_id))) self.assertTrue(os.path.isfile(os.path.join( self.location, fqn, package.version, second_id, 'manifest.yaml'))) self.assertTrue(os.path.isdir(os.path.join( self.location, fqn, package.version))) self.assertTrue(os.path.isdir(os.path.join( self.location, fqn, package.version, second_id))) # changing id, new package would be downloaded. package.id = third_id self.loader._package_cache = {} self.loader._class_cache = {} # release all the locks self.loader.cleanup() self.loader.load_class_package(fqn, spec) # check that we didn't download a thing self.assertEqual(self.murano_client.packages.download.call_count, 3) # check that old directories were *deleted* self.assertFalse(os.path.isdir(os.path.join( self.location, fqn, package.version, first_id))) self.assertFalse(os.path.isdir(os.path.join( self.location, fqn, package.version, second_id))) # check that new directories got created correctly self.assertTrue(os.path.isdir(os.path.join( self.location, fqn, package.version, third_id))) self.assertTrue(os.path.isfile(os.path.join( self.location, fqn, package.version, third_id, 'manifest.yaml'))) def test_load_class_package_except_lookup_error(self): invalid_specs = [semantic_version.Spec('>=1.1.1'), semantic_version.Spec('<1.1.0'), semantic_version.Spec('>=1.1.1,<1.1.0'), semantic_version.Spec('==1.1.1')] fqn = 'io.murano.apps.test' test_version = semantic_version.Version('1.1.0') package = mock.MagicMock() package.name = fqn package.fully_qualified_name = fqn package.version = test_version package.classes = ['test_class_1', 'test_class_2'] self.loader.import_fixation_table({fqn: [test_version]}) self.loader.register_package(package) for class_ in package.classes: expected_error_msg = 'Package for class "{0}" is not found'\ .format(class_) with self.assertRaisesRegex(dsl_exceptions.NoPackageForClassFound, expected_error_msg): for spec in invalid_specs: self.loader.load_class_package(class_, spec) @mock.patch('murano.engine.package_loader.LOG') def test_get_definition_with_multiple_packages_returned(self, mock_log): self.loader._execution_session = mock.MagicMock() self.loader._execution_session.project_id = 'test_project_id' matching_pkg = mock.MagicMock(owner_id='test_project_id', is_public=False) public_pkg = mock.MagicMock(owner_id='another_test_project_id', is_public=True) other_pkg = mock.MagicMock(owner_id='another_test_project_id', is_public=False) # Test package with matching owner_id is returned, despite ordering. self.loader.client.packages.filter.return_value =\ [public_pkg, matching_pkg, other_pkg] expected_pkg = matching_pkg retrieved_pkg = self.loader._get_definition({}) self.assertEqual(expected_pkg, retrieved_pkg) # Test public package is returned, despite ordering. self.loader.client.packages.filter.return_value =\ [other_pkg, public_pkg] expected_pkg = public_pkg retrieved_pkg = self.loader._get_definition({}) self.assertEqual(expected_pkg, retrieved_pkg) # Test other package is returned. self.loader.client.packages.filter.return_value =\ [other_pkg, other_pkg] expected_pkg = other_pkg retrieved_pkg = self.loader._get_definition({}) self.assertEqual(expected_pkg, retrieved_pkg) mock_log.debug.assert_any_call( 'Ambiguous package resolution: more than 1 package found for query' ' "{opts}", will resolve based on the ownership' .format(opts={'catalog': True})) @mock.patch('murano.engine.package_loader.LOG') def test_get_definition_except_lookup_error(self, mock_log): self.loader.client.packages.filter.return_value = [] with self.assertRaisesRegex(LookupError, None): self.loader._get_definition({}) mock_log.debug.assert_called_once_with( "There are no packages matching filter {opts}" .format(opts={'catalog': True})) mock_log.debug.reset_mock() self.loader.client.packages.filter.side_effect =\ muranoclient_exc.HTTPException with self.assertRaisesRegex(LookupError, None): self.loader._get_definition({}) mock_log.debug.assert_called_once_with( 'Failed to get package definition from repository') @testtools.skipIf(os.name == 'nt', "Doesn't work on Windows") @mock.patch('murano.engine.package_loader.LOG') @mock.patch('murano.engine.package_loader.os') @mock.patch('murano.engine.package_loader.load_utils') def test_get_package_by_definition_except_package_load_error( self, mock_load_utils, mock_os, mock_log): # Test that the first instance of the exception is caught. temp_directory = tempfile.mkdtemp(prefix='test-package-loader-', dir=tempfile.tempdir) mock_os.path.isdir.return_value = True mock_os.path.join.return_value = temp_directory mock_load_utils.load_from_dir.side_effect = pkg_exc.PackageLoadError fqn = 'io.murano.apps.test' path, _ = utils.compose_package( 'test', self.location, archive_dir=self.location) with open(path, 'rb') as f: package_data = f.read() package = mock.MagicMock() package.fully_qualified_name = fqn package.id = '123' package.version = '0.0.1' self.murano_client.packages.download = mock.MagicMock( return_value=package_data) self.loader._get_package_by_definition(package) mock_log.exception.assert_called_once_with( 'Unable to load package from cache. Clean-up.') mock_log.exception.reset_mock() # Test that the second instance of the exception is caught. mock_os.path.isdir.return_value = [False, True] self.loader._get_package_by_definition(package) mock_log.exception.assert_called_once_with( 'Unable to load package from cache. Clean-up.') os.remove(temp_directory) @testtools.skipIf(os.name == 'nt', "Doesn't work on Windows") def test_get_package_by_definition_except_http_exception(self): fqn = 'io.murano.apps.test' path, _ = utils.compose_package( 'test', self.location, archive_dir=self.location) package = mock.MagicMock() package.fully_qualified_name = fqn package.id = '123' package.version = '0.0.1' self.murano_client.packages.download.side_effect =\ muranoclient_exc.HTTPException expected_error_msg = 'Error loading package id {0}:'.format(package.id) with self.assertRaisesRegex(pkg_exc.PackageLoadError, expected_error_msg): self.loader._get_package_by_definition(package) @testtools.skipIf(os.name == 'nt', "Doesn't work on Windows") @mock.patch('murano.engine.package_loader.LOG') @mock.patch('murano.engine.package_loader.tempfile') def test_get_package_by_definition_except_io_error(self, mock_tempfile, mock_log): fqn = 'io.murano.apps.test' path, _ = utils.compose_package( 'test', self.location, archive_dir=self.location) with open(path, 'rb') as f: package_data = f.read() package = mock.MagicMock() package.fully_qualified_name = fqn package.id = '123' package.version = '0.0.1' self.murano_client.packages.download = mock.MagicMock( return_value=package_data) mock_package_file = mock.MagicMock( write=mock.MagicMock(side_effect=IOError)) mock_package_file.configure_mock(name='test_package_file') mock_tempfile.NamedTemporaryFile().__enter__.return_value =\ mock_package_file expected_error_msg = 'Unable to extract package data for {0}'\ .format(package.id) with self.assertRaisesRegex(pkg_exc.PackageLoadError, expected_error_msg): self.loader._get_package_by_definition(package) def test_try_cleanup_cache_with_null_package_directory(self): # Test null package directory causes early return. result = self.loader.try_cleanup_cache(None, None) self.assertIsNone(result) @mock.patch('murano.engine.package_loader.shutil') @mock.patch('murano.engine.package_loader.m_utils') @mock.patch('murano.engine.package_loader.usage_mem_locks') @mock.patch('murano.engine.package_loader.LOG') @mock.patch('murano.engine.package_loader.os') def test_try_cleanup_cache_except_os_error(self, mock_os, mock_log, mock_usage_mem_locks, *args): # Test first instance of OSError is handled. mock_os.listdir.side_effect = OSError result = self.loader.try_cleanup_cache(None, None) self.assertIsNone(result) # Test second instance of OSError is handled. mock_os.reset_mock() mock_os.listdir.return_value = {'1', '2'} mock_os.listdir.side_effect = None mock_os.remove.side_effect = OSError mock_usage_mem_locks.__getitem__().write_lock().__enter__.\ return_value = True result = self.loader.try_cleanup_cache('test_package_directory', None) self.assertIsNone(result) self.assertIn("Couldn't delete lock file:", str(mock_log.warning.mock_calls[0])) class TestCombinedPackageLoader(base.MuranoTestCase): def setUp(self): super(TestCombinedPackageLoader, self).setUp() location = os.path.dirname(__file__) self.override_config('load_packages_from', [location], 'engine') self.execution_session = mock.MagicMock() self.loader = package_loader.CombinedPackageLoader( self.execution_session) self._patch_api_loader() self.local_pkg_name = 'io.murano.test.MyTest' self.api_pkg_name = 'test.mpl.v1.app.Thing' def _patch_api_loader(self): self.api_loader_patcher = mock.patch.object( self.loader, 'api_loader', return_value=mock.MagicMock()) self.api_loader_patcher.start() def _unpatch_api_loader(self): self.api_loader_patcher.stop() def test_loaders_initialized(self): self.assertEqual(1, len(self.loader.directory_loaders), 'One directory class loader should be initialized' ' since there is one valid murano pl package in the' ' provided directory in config.') self.assertIsInstance(self.loader.directory_loaders[0], package_loader.DirectoryPackageLoader) def test_get_package_by_class_directory_loader(self): spec = semantic_version.Spec('*') result = self.loader.load_class_package(self.local_pkg_name, spec) self.assertIsInstance(result, dsl_package.MuranoPackage) def test_get_package_by_name_directory_loader(self): spec = semantic_version.Spec('*') result = self.loader.load_package(self.local_pkg_name, spec) self.assertIsInstance(result, dsl_package.MuranoPackage) def test_get_package_by_class_api_loader(self): spec = semantic_version.Spec('*') self.loader.load_package(self.api_pkg_name, spec) self.loader.api_loader.load_package.assert_called_with( self.api_pkg_name, spec) def test_get_package_api_loader(self): spec = semantic_version.Spec('*') self.loader.load_class_package(self.api_pkg_name, spec) self.loader.api_loader.load_class_package.assert_called_with( self.api_pkg_name, spec) def test_register_package(self): test_package = mock.MagicMock() self.loader.register_package(test_package) self.loader.api_loader.register_package.assert_called_once_with( test_package) def test_import_fixation_table(self): self.loader.directory_loaders = [ mock.MagicMock(), mock.MagicMock(), mock.MagicMock() ] test_fixations = { 'test_package_1': [semantic_version.Version('1.1.0')], 'test_package_2': [semantic_version.Version('2.1.0'), semantic_version.Version('2.4.3')] } self.loader.import_fixation_table(test_fixations) self.loader.api_loader.import_fixation_table.assert_called_once_with( test_fixations) for loader in self.loader.directory_loaders: loader.import_fixation_table.assert_called_once_with( test_fixations) def test_compact_fixation_table(self): self.loader.directory_loaders = [ mock.MagicMock(), mock.MagicMock(), mock.MagicMock() ] self.loader.compact_fixation_table() self.loader.api_loader.compact_fixation_table.assert_called_once_with() for loader in self.loader.directory_loaders: loader.compact_fixation_table.assert_called_once_with() def test_export_fixation_table(self): self._unpatch_api_loader() test_fixations = { 'test_package_1': [semantic_version.Version('1.1.1')], 'test_package_2': [semantic_version.Version('2.2.2'), semantic_version.Version('3.3.3')] } self.loader.api_loader.import_fixation_table(test_fixations) expected_table = {'test_package_1': ['1.1.1'], 'test_package_2': ['2.2.2', '3.3.3']} table = self.loader.export_fixation_table() self.assertEqual(sorted(expected_table.items()), sorted(table.items())) test_fixations = { 'test_package_1': [semantic_version.Version('4.4.4')], 'test_package_2': [semantic_version.Version('5.5.5'), semantic_version.Version('6.6.6')], 'test_package_3': [semantic_version.Version('7.7.7')] } self.loader.directory_loaders[0].import_fixation_table(test_fixations) expected_table = {'test_package_1': ['1.1.1', '4.4.4'], 'test_package_2': ['2.2.2', '3.3.3', '5.5.5', '6.6.6'], 'test_package_3': ['7.7.7']} table = self.loader.export_fixation_table() for key, value in table.items(): table[key] = sorted(value) self.assertEqual(sorted(expected_table.items()), sorted(table.items())) murano-9.0.0/murano/tests/unit/engine/system/0000775000175000017500000000000013656750351021271 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/engine/system/__init__.py0000664000175000017500000000000013656750211023363 0ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/engine/system/test_net_explorer.py0000664000175000017500000001063113656750211025404 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from unittest import mock from oslo_config import cfg from murano.dsl import murano_method from murano.dsl import murano_type from murano.engine.system import net_explorer from murano.tests.unit import base CONF = cfg.CONF class TestNetExplorer(base.MuranoTestCase): def setUp(self): super(TestNetExplorer, self).setUp() self.mock_class = mock.MagicMock(spec=murano_type.MuranoClass) self.mock_method = mock.MagicMock(spec=murano_method.MuranoMethod) self._this = mock.MagicMock() self.region_name = "test-region" self.addCleanup(mock.patch.stopall) @mock.patch("murano.engine.system.net_explorer.nclient") @mock.patch("murano.engine.system.net_explorer.auth_utils") @mock.patch("murano.dsl.helpers.get_execution_session") def test_get_available_cidr(self, execution_session, mock_authentication, mock_nclient): ne = net_explorer.NetworkExplorer(self._this, self.region_name) router_id = 12 net_id = 144 self.assertIsNotNone(ne.get_available_cidr(router_id, net_id)) self.assertTrue(execution_session.called) @mock.patch("murano.engine.system.net_explorer.nclient") @mock.patch("murano.engine.system.net_explorer.auth_utils") @mock.patch("murano.dsl.helpers.get_execution_session") def test_list(self, execution_session, mock_authentication, mock_nclient): ne = net_explorer.NetworkExplorer(self._this, self.region_name) self.assertEqual(ne.list_networks(), ne._client.list_networks()['networks']) self.assertEqual(ne.list_subnetworks(), ne._client.list_subnets()['subnets']) self.assertEqual(ne.list_ports(), ne._client.list_ports()['ports']) self.assertEqual(ne.list_neutron_extensions(), ne._client.list_extensions()['extensions']) self.assertEqual(ne.get_default_dns(), ne._settings.default_dns) @mock.patch("murano.engine.system.net_explorer.nclient") @mock.patch("murano.engine.system.net_explorer.auth_utils") @mock.patch("murano.dsl.helpers.get_execution_session") def test_get_router_error(self, execution_session, mock_authentication, mock_nclient): ne = net_explorer.NetworkExplorer(self._this, self.region_name) self.assertRaises(KeyError, ne.get_default_router) @mock.patch("murano.engine.system.net_explorer.nclient") @mock.patch("murano.engine.system.net_explorer.auth_utils") @mock.patch("murano.dsl.helpers.get_execution_session") def test_get_ext_network_id_router(self, execution_session, mock_authentication, mock_nclient): ne = net_explorer.NetworkExplorer(self._this, self.region_name) router_id = 12 self.assertIsNone(ne.get_external_network_id_for_router(router_id)) @mock.patch("murano.engine.system.net_explorer.nclient") @mock.patch("murano.engine.system.net_explorer.auth_utils") @mock.patch("murano.dsl.helpers.get_execution_session") def test_get_ext_network_id_network(self, execution_session, mock_authentication, mock_nclient): ne = net_explorer.NetworkExplorer(self._this, self.region_name) net_id = 144 self.assertEqual(net_id, ne.get_external_network_id_for_network(net_id)) @mock.patch("murano.engine.system.net_explorer.nclient") @mock.patch("murano.engine.system.net_explorer.auth_utils") @mock.patch("murano.dsl.helpers.get_execution_session") def test_get_cidr_none_router(self, execution_session, mock_authentication, mock_nclient): ne = net_explorer.NetworkExplorer(self._this, self.region_name) router_id = None self.assertEqual([], ne._get_cidrs_taken_by_router(router_id)) murano-9.0.0/murano/tests/unit/engine/system/test_garbage_collector.py0000664000175000017500000000607313656750211026341 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock import weakref from testtools import matchers from murano.dsl import exceptions from murano.dsl import murano_method from murano.dsl import murano_object from murano.dsl import murano_type from murano.dsl.principal_objects import garbage_collector from murano.tests.unit import base class TestGarbageCollector(base.MuranoTestCase): def setUp(self): super(TestGarbageCollector, self).setUp() self.subscriber = mock.MagicMock(spec=murano_object.MuranoObject) self.subscriber.real_this = self.subscriber mock_class = mock.MagicMock(spec=murano_type.MuranoClass) mock_method = mock.MagicMock(spec=murano_method.MuranoMethod) mock_method.name = "mockHandler" mock_class.methods = mock.PropertyMock( return_value={"mockHandler": mock_method}) def find_single_method(name): if name != 'mockHandler': raise exceptions.NoMethodFound(name) mock_class.find_single_method = find_single_method self.subscriber.type = mock_class self.publisher = mock.MagicMock(spec=murano_object.MuranoObject) self.publisher.real_this = self.publisher def test_set_dd(self): self.publisher.destruction_dependencies = [] garbage_collector.GarbageCollector.subscribe_destruction( self.publisher, self.subscriber, handler="mockHandler") dep = self.publisher.destruction_dependencies self.assertThat(dep, matchers.HasLength(1)) dep = dep[0] self.assertEqual("mockHandler", dep["handler"]) self.assertEqual(self.subscriber, dep["subscriber"]()) def test_unset_dd(self): self.publisher.destruction_dependencies = [{ "subscriber": weakref.ref(self.subscriber), "handler": "mockHandler" }] garbage_collector.GarbageCollector.unsubscribe_destruction( self.publisher, self.subscriber, handler="mockHandler") self.assertEqual( [], self.publisher.destruction_dependencies) def test_set_wrong_handler(self): self.assertRaises( exceptions.NoMethodFound, garbage_collector.GarbageCollector.subscribe_destruction, self.publisher, self.subscriber, handler="invalidHandler") self.assertRaises( exceptions.NoMethodFound, garbage_collector.GarbageCollector.unsubscribe_destruction, self.publisher, self.subscriber, handler="invalidHandler") murano-9.0.0/murano/tests/unit/engine/system/execution_plans/0000775000175000017500000000000013656750351024471 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/unit/engine/system/execution_plans/template_with_files.template0000664000175000017500000000063013656750211032250 0ustar zuulzuul00000000000000FormatVersion: 2.0.0 Version: 1.0.0 Name: Deploy Tomcat Parameters: appName: $appName Body: | return deploy(args.appName).stdout Files: updateScript: BodyType: Text Name: updateScript Body: text Scripts: deploy: Type: Application Version: 1.0.0 EntryPoint: deployTomcat.sh Files: - updateScript Options: captureStdout: true captureStderr: true murano-9.0.0/murano/tests/unit/engine/system/execution_plans/chef.template0000664000175000017500000000056613656750211027135 0ustar zuulzuul00000000000000FormatVersion: 2.0.0 Version: 1.0.0 Name: Deploy Chef Parameters: appName: $appName Body: | return deploy(args.appName).stdout Scripts: deploy: Type: Chef Version: 1.0.0 EntryPoint: cookbook/recipe Files: - https://github.com/tomcat.git - java: https://github.com/java.git Options: captureStdout: true captureStderr: truemurano-9.0.0/murano/tests/unit/engine/system/execution_plans/application.template0000664000175000017500000000054613656750211030531 0ustar zuulzuul00000000000000FormatVersion: 2.0.0 Version: 1.0.0 Name: Deploy Tomcat Parameters: appName: $appName Body: | return deploy(args.appName).stdout Scripts: deploy: Type: Application Version: 1.0.0 EntryPoint: deployTomcat.sh Files: - installer: - Options: captureStdout: true captureStderr: true murano-9.0.0/murano/tests/unit/engine/system/execution_plans/DeployTelnet.template0000664000175000017500000000052713656750211030635 0ustar zuulzuul00000000000000FormatVersion: 2.0.0 Version: 1.0.0 Name: Deploy Telnet Parameters: appName: $appName Body: | return deploy(args.appName).stdout Scripts: deploy: Type: Application Version: 1.0.0 EntryPoint: deployTelnet.sh Files: - installer.sh - common.sh Options: captureStdout: true captureStderr: true murano-9.0.0/murano/tests/unit/engine/system/execution_plans/application_without_files.template0000664000175000017500000000046213656750211033473 0ustar zuulzuul00000000000000FormatVersion: 2.0.0 Version: 1.0.0 Name: Deploy Tomcat Parameters: appName: $appName Body: | return deploy(args.appName).stdout Scripts: deploy: Type: Application Version: 1.0.0 EntryPoint: deployTomcat.sh Files: [] Options: captureStdout: true captureStderr: truemurano-9.0.0/murano/tests/unit/engine/system/execution_plans/DeployTomcat.template0000664000175000017500000000044213656750211030625 0ustar zuulzuul00000000000000FormatVersion: 2.0.0 Version: 1.0.0 Name: Deploy Tomcat Parameters: appName: $appName Body: | deploy(args.appName) Scripts: deploy: Type: Application Version: 1.0.0 EntryPoint: deployTomcat.sh Files: [] Options: captureStdout: false captureStderr: truemurano-9.0.0/murano/tests/unit/engine/system/test_instance_reporter.py0000664000175000017500000000362013656750211026424 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from murano.db import models from murano.engine.system import instance_reporter from murano.tests.unit import base LATEST_VERSION = 1 class TestInstanceReporter(base.MuranoTestCase): def setUp(self): super(TestInstanceReporter, self).setUp() self.environment = models.Environment( name='test_environment', tenant_id='test_tenant_id', version=LATEST_VERSION ) self.addCleanup(mock.patch.stopall) @mock.patch("murano.db.models") def test_track_untrack_application(self, mock_models): instance = mock_models.Instance() self.i_r = instance_reporter.InstanceReportNotifier(self.environment) self.assertEqual(self.environment.id, self.i_r._environment_id) self.assertIsNone(self.i_r.track_application(instance)) self.assertIsNone(self.i_r.untrack_application(instance)) @mock.patch("murano.db.models") def test_track_untrack_cloud_instance(self, mock_models): instance = mock_models.Instance() self.i_r = instance_reporter.InstanceReportNotifier(self.environment) self.assertEqual(self.environment.id, self.i_r._environment_id) self.assertIsNone(self.i_r.track_cloud_instance(instance)) self.assertIsNone(self.i_r.untrack_cloud_instance(instance)) murano-9.0.0/murano/tests/unit/engine/system/test_test_fixture.py0000664000175000017500000000726213656750211025431 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import testtools from unittest import mock from murano.dsl import murano_method from murano.dsl import murano_type from murano.dsl import object_store from murano.engine.system import test_fixture from murano.tests.unit import base class TestTestFixture(base.MuranoTestCase): def setUp(self): super(TestTestFixture, self).setUp() self.mock_class = mock.MagicMock(spec=murano_type.MuranoClass) self.mock_method = mock.MagicMock(spec=murano_method.MuranoMethod) self.mock_object_store = mock.Mock(spec=object_store.ObjectStore) self.test_fixture = test_fixture.TestFixture() self.addCleanup(mock.patch.stopall) @mock.patch("murano.dsl.helpers.get_execution_session") def test_finish_env(self, execution_session): self.assertIsNone(self.test_fixture.finish_env()) self.assertTrue(execution_session.called) @mock.patch("murano.dsl.helpers.get_execution_session") def test_start_env(self, execution_session): self.assertIsNone(self.test_fixture.start_env()) self.assertTrue(execution_session.called) @mock.patch("murano.dsl.helpers.get_executor") def test_load(self, executor): executor.return_value = self.mock_object_store model = "test" tf_load = self.test_fixture.load(model) self.assertEqual(self.test_fixture.load(model), tf_load) def test_assert_true(self): expr = (7 > 3) message = None # Calls assertTrue in super class self.test_fixture.assert_true(expr, message) def test_assert_false(self): expr = (3 != 3) message = None # Calls assertFalse in super class self.test_fixture.assert_false(expr, message) def test_assert_in(self): needle = 7 haystack = [3, 7, 8, 9, 22] message = None # Calls assertIn in super class self.test_fixture.assert_in(needle, haystack, message) def test_assert_not_in(self): needle = 16 haystack = [3, 7, 8, 9, 22] message = None # Calls assertNotIn in super class self.test_fixture.assert_not_in(needle, haystack, message) def test_assert_true_fails(self): expr = (7 < 3) message = None self.assertRaises(AssertionError, self.test_fixture.assert_true, expr, message) def test_assert_false_fails(self): expr = (3 == 3) message = None self.assertRaises(AssertionError, self.test_fixture.assert_false, expr, message) def test_assert_in_fails(self): needle = 25 haystack = [3, 7, 8, 9, 22] message = None self.assertRaises(testtools.matchers._impl.MismatchError, self.test_fixture.assert_in, needle, haystack, message) def test_assert_not_in_fails(self): needle = 22 haystack = [3, 7, 8, 9, 22] message = None self.assertRaises(testtools.matchers._impl.MismatchError, self.test_fixture.assert_not_in, needle, haystack, message) murano-9.0.0/murano/tests/unit/engine/system/test_workflowclient.py0000664000175000017500000001421513656750211025751 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import random from unittest import mock try: from mistralclient.api import client as mistralcli except ImportError: mistralcli = None from oslo_config import cfg from murano.dsl import murano_method from murano.dsl import murano_type from murano.engine.system import workflowclient from murano.tests.unit import base CONF = cfg.CONF def rand_name(name='murano'): """Generates random string. :param name: Basic name :return: """ return name + str(random.randint(1, 0x7fffffff)) class TestMistralClient(base.MuranoTestCase): def setUp(self): super(TestMistralClient, self).setUp() self.mistral_client_mock = mock.Mock() self.mistral_client_mock.client = mock.MagicMock( spec=mistralcli.client) self._patch_client() self.mock_class = mock.MagicMock(spec=murano_type.MuranoClass) self.mock_method = mock.MagicMock(spec=murano_method.MuranoMethod) self._this = mock.MagicMock() self._this.owner = None self.addCleanup(mock.patch.stopall) def _patch_client(self): self.mock_client = mock.Mock(return_value=self.mistral_client_mock) self.client_patcher = mock.patch.object(workflowclient.MistralClient, '_client', self.mock_client) self.client_patcher.start() self.mock_create_client = mock.Mock( return_value=self.mistral_client_mock) self.create_client_patcher = mock.patch.object( workflowclient.MistralClient, '_create_client', self.mock_create_client) self.create_client_patcher.start() def _unpatch_client(self): self.client_patcher.stop() self.create_client_patcher.stop() def test_run_with_execution_success_state(self): test_output = '{"openstack": "foo", "__execution": "bar", "task":'\ ' "baz"}' mock_execution = mock.MagicMock( id='123', state='SUCCESS', output=test_output) self.mock_client.executions.create.return_value = mock_execution self.mock_client.executions.get.return_value = mock_execution run_name = rand_name('test') timeout = 1 mc = workflowclient.MistralClient(self._this, 'regionOne') output = mc.run(run_name, timeout) for prop in ['openstack', '__execution', 'task']: self.assertFalse(hasattr(output, prop)) self.assertEqual({}, output) def test_run_with_execution_error_state(self): mock_execution = mock.MagicMock( id='123', state='ERROR', output="{'test_attr': 'test_val'}") self.mock_client.executions.create.return_value = mock_execution self.mock_client.executions.get.return_value = mock_execution run_name = rand_name('test') timeout = 1 mc = workflowclient.MistralClient(self._this, 'regionOne') expected_error_msg = 'Mistral execution completed with ERROR.'\ ' Execution id: {0}. Output: {1}'\ .format(mock_execution.id, mock_execution.output) with self.assertRaisesRegex(workflowclient.MistralError, expected_error_msg): mc.run(run_name, timeout) def test_run_except_timeout_error(self): mock_execution = mock.MagicMock( id='123', state='TEST_STATE', output="{'test_attr': 'test_val'}") self.mock_client.executions.create.return_value = mock_execution self.mock_client.executions.get.return_value = mock_execution run_name = rand_name('test') timeout = 1 mc = workflowclient.MistralClient(self._this, 'regionOne') expected_error_msg = 'Mistral run timed out. Execution id: {0}.'\ .format(mock_execution.id) with self.assertRaisesRegex(workflowclient.MistralError, expected_error_msg): mc.run(run_name, timeout) def test_run_with_immediate_timeout(self): mock_execution = mock.MagicMock( id='123', state='ERROR', output="{'test_attr': 'test_val'}") self.mock_client.executions.create.return_value = mock_execution run_name = rand_name('test') timeout = 0 mc = workflowclient.MistralClient(self._this, 'regionOne') self.assertEqual(mock_execution.id, mc.run(run_name, timeout)) def test_upload(self): mc = workflowclient.MistralClient(self._this, 'regionOne') definition = rand_name('test') self.assertIsNone(mc.upload(definition)) self.assertTrue(workflowclient.MistralClient. _client.workflows.create.called) @mock.patch('murano.engine.system.workflowclient.auth_utils') def test_client_property(self, _): self._unpatch_client() test_mistral_settings = { 'url': rand_name('test_mistral_url'), 'project_id': rand_name('test_project_id'), 'endpoint_type': rand_name('test_endpoint_type'), 'auth_token': rand_name('test_auth_token'), 'user_id': rand_name('test_user_id'), 'insecure': rand_name('test_insecure'), 'cacert': rand_name('test_ca_cert') } with mock.patch('murano.engine.system.workflowclient.CONF')\ as mock_conf: mock_conf.mistral = mock.MagicMock(**test_mistral_settings) region_name = rand_name('test_region_name') mc = workflowclient.MistralClient(self._this, region_name) mistral_client = mc._client self.assertIsNotNone(mistral_client) murano-9.0.0/murano/tests/unit/engine/system/test_agent.py0000664000175000017500000006306713656750211024007 0ustar zuulzuul00000000000000# Copyright (c) 2015 Telefonica I+D # Copyright (c) 2016 AT&T Corp # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import copy import datetime import json import os import tempfile from unittest import mock from oslo_serialization import base64 import yaml as yamllib from murano.common import exceptions from murano.dsl import dsl from murano.dsl import murano_object from murano.dsl import murano_type from murano.dsl import object_store from murano.engine.system import agent from murano.engine.system import resource_manager from murano.tests.unit import base class TestAgent(base.MuranoTestCase): def setUp(self): super(TestAgent, self).setUp() if hasattr(yamllib, 'CSafeLoader'): self.yaml_loader = yamllib.CSafeLoader else: self.yaml_loader = yamllib.SafeLoader self.override_config('disable_murano_agent', False, group='engine') mock_host = mock.MagicMock() mock_host.id = '1234' mock_host.find_owner = lambda *args, **kwargs: mock_host mock_host().getRegion.return_value = mock.MagicMock( __class__=dsl.MuranoObjectInterface) self.rabbit_mq_settings = { 'agentRabbitMq': {'login': 'test_login', 'password': 'test_password', 'host': 'test_host', 'port': 123, 'virtual_host': 'test_virtual_host'} } mock_host().getRegion()().getConfig.return_value =\ self.rabbit_mq_settings self.agent = agent.Agent(mock_host) self.resources = mock.Mock(spec=resource_manager.ResourceManager) self.resources.string.return_value = 'text' self.addCleanup(mock.patch.stopall) def _read(self, path): execution_plan_dir = os.path.abspath( os.path.join(__file__, '../execution_plans/') ) with open(execution_plan_dir + "/" + path) as file: return file.read() @mock.patch('murano.common.messaging.mqclient.kombu') def test_send_creates_queue(self, mock_kombu): self.agent.send_raw({}) # Verify that MQClient was instantiated, by checking whether # kombu.Connection was called. mock_kombu.Connection.assert_called_with( 'amqp://{login}:{password}@{host}:{port}/{virtual_host}'.format( **self.rabbit_mq_settings['agentRabbitMq'] ), ssl=None) # Verify that client.declare() was called by checking whether kombu # functions were called. self.assertEqual(1, mock_kombu.Exchange.call_count) self.assertEqual(1, mock_kombu.Queue.call_count) @mock.patch('murano.engine.system.agent.LOG') def test_send_with_murano_agent_disabled(self, mock_log): self.override_config('disable_murano_agent', True, group='engine') self.assertRaises(exceptions.PolicyViolationException, self.agent.send_raw, {}) @mock.patch('murano.engine.system.agent.Agent._sign') @mock.patch('murano.common.messaging.mqclient.kombu') def test_send(self, mock_kombu, mock_sign): template = yamllib.load( self._read('template_with_files.template'), Loader=self.yaml_loader) self.agent._queue = 'test_queue' mock_sign.return_value = 'SIGNATURE' plan = self.agent.build_execution_plan(template, self.resources) with mock.patch.object(self.agent, 'build_execution_plan', return_value=plan): self.agent.send(template, self.resources) self.assertEqual(1, mock_kombu.Producer.call_count) mock_kombu.Producer().publish.assert_called_once_with( exchange='', routing_key='test_queue', body=json.dumps(plan), message_id=plan['ID'], headers={'signature': 'SIGNATURE'} ) @mock.patch('murano.engine.system.agent.eventlet.event.Event') @mock.patch('murano.common.messaging.mqclient.kombu') def test_is_ready(self, mock_kombu, mock_event): v2_result = yamllib.load( self._read('application.template'), Loader=self.yaml_loader) mock_event().wait.side_effect = None mock_event().wait.return_value = v2_result self.assertTrue(self.agent.is_ready(1)) mock_event().wait.side_effect = agent.eventlet.Timeout self.assertFalse(self.agent.is_ready(1)) @mock.patch('murano.engine.system.agent.Agent._sign') @mock.patch('murano.engine.system.agent.eventlet.event.Event') @mock.patch('murano.common.messaging.mqclient.kombu') def test_call_with_v1_result(self, mock_kombu, mock_event, mock_sign): template = yamllib.load( self._read('template_with_files.template'), Loader=self.yaml_loader) test_v1_result = { 'FormatVersion': '1.0.0', 'IsException': False, 'Result': [ { 'IsException': False, 'Result': 'test_result' } ] } mock_event().wait.side_effect = None mock_event().wait.return_value = test_v1_result mock_sign.return_value = 'SIGNATURE' self.agent._queue = 'test_queue' plan = self.agent.build_execution_plan(template, self.resources) mock.patch.object( self.agent, 'build_execution_plan', return_value=plan).start() result = self.agent.call(template, self.resources, None) self.assertIsNotNone(result) self.assertEqual('test_result', result) self.assertEqual(1, mock_kombu.Producer.call_count) mock_kombu.Producer().publish.assert_called_once_with( exchange='', routing_key='test_queue', body=json.dumps(plan), message_id=plan['ID'], headers={'signature': 'SIGNATURE'} ) @mock.patch('murano.engine.system.agent.Agent._sign') @mock.patch('murano.engine.system.agent.eventlet.event.Event') @mock.patch('murano.common.messaging.mqclient.kombu') def test_call_with_v2_result(self, mock_kombu, mock_event, mock_sign): template = yamllib.load( self._read('template_with_files.template'), Loader=self.yaml_loader) v2_result = yamllib.load( self._read('application.template'), Loader=self.yaml_loader) mock_event().wait.side_effect = None mock_event().wait.return_value = v2_result mock_sign.return_value = 'SIGNATURE' self.agent._queue = 'test_queue' plan = self.agent.build_execution_plan(template, self.resources) mock.patch.object( self.agent, 'build_execution_plan', return_value=plan).start() result = self.agent.call(template, self.resources, None) self.assertIsNotNone(result) self.assertEqual(v2_result['Body'], result) self.assertEqual(1, mock_kombu.Producer.call_count) mock_kombu.Producer().publish.assert_called_once_with( exchange='', routing_key='test_queue', body=json.dumps(plan), message_id=plan['ID'], headers={'signature': 'SIGNATURE'} ) @mock.patch('murano.engine.system.agent.eventlet.event.Event') @mock.patch('murano.common.messaging.mqclient.kombu') def test_call_with_no_result(self, mock_kombu, mock_event): template = yamllib.load( self._read('template_with_files.template'), Loader=self.yaml_loader) mock_event().wait.side_effect = None mock_event().wait.return_value = None result = self.agent.call(template, self.resources, None) self.assertIsNone(result) @mock.patch('murano.engine.system.agent.eventlet.event.Event') @mock.patch('murano.common.messaging.mqclient.kombu') def test_call_except_timeout(self, mock_kombu, mock_event): self.override_config('agent_timeout', 1, group='engine') mock_event().wait.side_effect = agent.eventlet.Timeout template = yamllib.load( self._read('template_with_files.template'), Loader=self.yaml_loader) expected_error_msg = 'The murano-agent did not respond within 1 '\ 'seconds' with self.assertRaisesRegex(exceptions.TimeoutException, expected_error_msg): self.agent.call(template, self.resources, None) @mock.patch('murano.engine.system.agent.datetime') def test_process_v1_result_with_error_code(self, mock_datetime): now = datetime.datetime.now().isoformat() mock_datetime.datetime.now().isoformat.return_value = now v1_result = { 'IsException': True, 'Result': [ 'Error Type', 'Error Message', 'Error Command', 'Error Details' ] } expected_error = { 'source': 'execution_plan', 'command': 'Error Command', 'details': 'Error Details', 'message': 'Error Message', 'type': 'Error Type', 'timestamp': now } self.assertTrue(self._are_exceptions_equal( agent.AgentException, expected_error, self.agent._process_v1_result, v1_result)) v1_result = { 'IsException': False, 'Result': [ 'Error Type', 'Error Message', 'Error Command', 'Error Details', { 'IsException': True, 'Result': [ 'Nested Error Type', 'Nested Error Message', 'Nested Error Command', 'Nested Error Details' ] } ] } expected_error = { 'source': 'command', 'command': 'Nested Error Command', 'details': 'Nested Error Details', 'message': 'Nested Error Message', 'type': 'Nested Error Type', 'timestamp': now } self.assertTrue(self._are_exceptions_equal( agent.AgentException, expected_error, self.agent._process_v1_result, v1_result)) def test_process_v2_result_with_error_code(self): v2_result = { 'Body': { 'Message': 'Test Error Message', 'AdditionalInfo': 'Test Additional Info', 'ExtraAttr': 'Test extra data' }, 'FormatVersion': '2.0.0', 'Name': 'TestApp', 'ErrorCode': 123, 'Time': 'Right now' } expected_error = { 'errorCode': 123, 'message': 'Test Error Message', 'details': 'Test Additional Info', 'time': 'Right now', 'extra': {'ExtraAttr': 'Test extra data'} } self.assertTrue(self._are_exceptions_equal( agent.AgentException, expected_error, self.agent._process_v2_result, v2_result)) def _are_exceptions_equal(self, exception, expected_error, function, result): """Checks whether expected and returned dict from exception are equal. Because casting dicts to strings changes the ordering of the keys, manual comparison of the result and expected result is performed. """ try: # deepcopy must be performed because _process_v1_result # deletes attrs from the original dict passed in. self.assertRaises(exception, function, copy.deepcopy(result)) function(result) except exception as e: e_string = str(e).replace("'", "\"").replace('None', 'null') e_dict = json.loads(e_string) self.assertEqual(sorted(expected_error.keys()), sorted(e_dict.keys())) for key, val in expected_error.items(): self.assertEqual(val, e_dict[key]) except Exception: return False return True class TestExecutionPlan(base.MuranoTestCase): def setUp(self): super(TestExecutionPlan, self).setUp() if hasattr(yamllib, 'CSafeLoader'): self.yaml_loader = yamllib.CSafeLoader else: self.yaml_loader = yamllib.SafeLoader self.mock_murano_class = mock.Mock(spec=murano_type.MuranoClass) self.mock_murano_class.name = 'io.murano.system.Agent' self.mock_murano_class.declared_parents = [] self.mock_object_store = mock.Mock(spec=object_store.ObjectStore) object_interface = mock.Mock(spec=murano_object.MuranoObject) object_interface.id = '1234' object_interface.find_owner = lambda *args, **kwargs: object_interface self.agent = agent.Agent(object_interface) self.resources = mock.Mock(spec=resource_manager.ResourceManager) self.resources.string.return_value = 'text' self.uuids = ['ID1', 'ID2', 'ID3', 'ID4'] self.mock_uuid = self._stub_uuid(self.uuids) time_mock = mock.patch('time.time').start() time_mock.return_value = 2 self.addCleanup(mock.patch.stopall) def _read(self, path): execution_plan_dir = os.path.abspath( os.path.join(__file__, '../execution_plans/') ) with open(execution_plan_dir + "/" + path) as file: return file.read() def test_execution_plan_v2_application_type(self): template = yamllib.load( self._read('application.template'), Loader=self.yaml_loader) template = self.agent.build_execution_plan(template, self.resources) self.assertEqual(self._get_application(), template) def test_execution_plan_v2_chef_type(self): template = yamllib.load( self._read('chef.template'), Loader=self.yaml_loader) template = self.agent.build_execution_plan(template, self.resources) self.assertEqual(self._get_chef(), template) def test_execution_plan_v2_telnet_application(self): template = yamllib.load( self._read('DeployTelnet.template'), Loader=self.yaml_loader) template = self.agent.build_execution_plan(template, self.resources) self.assertEqual(self._get_telnet_application(), template) def test_execution_plan_v2_tomcat_application(self): template = yamllib.load( self._read('DeployTomcat.template'), Loader=self.yaml_loader) template = self.agent.build_execution_plan(template, self.resources) def test_execution_plan_v2_app_without_files(self): template = yamllib.load( self._read('application_without_files.template'), Loader=self.yaml_loader) template = self.agent.build_execution_plan(template, self.resources) self.assertEqual(self._get_app_without_files(), template) def test_execution_plan_v2_app_with_file_in_template(self): template = yamllib.load( self._read('template_with_files.template'), Loader=self.yaml_loader) template = self.agent.build_execution_plan(template, self.resources) self.assertEqual(self._get_app_with_files_in_template(), template) def _get_application(self): return { 'Action': 'Execute', 'Body': 'return deploy(args.appName).stdout\n', 'Files': { self.uuids[1]: { 'Body': 'text', 'BodyType': 'Text', 'Name': 'deployTomcat.sh' }, self.uuids[2]: { 'Body': 'dGV4dA==\n', 'BodyType': 'Base64', 'Name': 'installer' }, self.uuids[3]: { 'Body': 'dGV4dA==\n', 'BodyType': 'Base64', 'Name': 'common.sh' } }, 'FormatVersion': '2.0.0', 'ID': self.uuids[0], 'Stamp': 20000, 'Name': 'Deploy Tomcat', 'Parameters': { 'appName': '$appName' }, 'Scripts': { 'deploy': { 'EntryPoint': self.uuids[1], 'Files': [ self.uuids[2], self.uuids[3] ], 'Options': { 'captureStderr': True, 'captureStdout': True }, 'Type': 'Application', 'Version': '1.0.0' } }, 'Version': '1.0.0' } def _get_app_with_files_in_template(self): return { 'Action': 'Execute', 'Body': 'return deploy(args.appName).stdout\n', 'Files': { self.uuids[1]: { 'Body': 'text', 'BodyType': 'Text', 'Name': 'deployTomcat.sh' }, 'updateScript': { 'Body': 'text', 'BodyType': 'Text', 'Name': 'updateScript' }, }, 'FormatVersion': '2.0.0', 'ID': self.uuids[0], 'Stamp': 20000, 'Name': 'Deploy Tomcat', 'Parameters': { 'appName': '$appName' }, 'Scripts': { 'deploy': { 'EntryPoint': self.uuids[1], 'Files': [ 'updateScript' ], 'Options': { 'captureStderr': True, 'captureStdout': True }, 'Type': 'Application', 'Version': '1.0.0' } }, 'Version': '1.0.0' } def _get_app_without_files(self): return { 'Action': 'Execute', 'Body': 'return deploy(args.appName).stdout\n', 'Files': { self.uuids[1]: { 'Body': 'text', 'BodyType': 'Text', 'Name': 'deployTomcat.sh' }, }, 'FormatVersion': '2.0.0', 'ID': self.uuids[0], 'Stamp': 20000, 'Name': 'Deploy Tomcat', 'Parameters': { 'appName': '$appName' }, 'Scripts': { 'deploy': { 'EntryPoint': self.uuids[1], 'Files': [], 'Options': { 'captureStderr': True, 'captureStdout': True }, 'Type': 'Application', 'Version': '1.0.0' } }, 'Version': '1.0.0' } def _get_chef(self): return { 'Action': 'Execute', 'Body': 'return deploy(args.appName).stdout\n', 'Files': { self.uuids[1]: { 'Name': 'tomcat.git', 'Type': 'Downloadable', 'URL': 'https://github.com/tomcat.git' }, self.uuids[2]: { 'Name': 'java', 'Type': 'Downloadable', 'URL': 'https://github.com/java.git' }, }, 'FormatVersion': '2.0.0', 'ID': self.uuids[0], 'Stamp': 20000, 'Name': 'Deploy Chef', 'Parameters': { 'appName': '$appName' }, 'Scripts': { 'deploy': { 'EntryPoint': 'cookbook/recipe', 'Files': [ self.uuids[1], self.uuids[2] ], 'Options': { 'captureStderr': True, 'captureStdout': True }, 'Type': 'Chef', 'Version': '1.0.0' } }, 'Version': '1.0.0' } def _get_telnet_application(self): return { 'Action': 'Execute', 'Body': 'return deploy(args.appName).stdout\n', 'Files': { self.uuids[1]: { 'Body': 'text', 'BodyType': 'Text', 'Name': 'deployTelnet.sh' }, self.uuids[2]: { 'Body': 'text', 'BodyType': 'Text', 'Name': 'installer.sh' }, self.uuids[3]: { 'Body': 'text', 'BodyType': 'Text', 'Name': 'common.sh' } }, 'FormatVersion': '2.0.0', 'ID': self.uuids[0], 'Stamp': 20000, 'Name': 'Deploy Telnet', 'Parameters': { 'appName': '$appName' }, 'Scripts': { 'deploy': { 'EntryPoint': self.uuids[1], 'Files': [ self.uuids[2], self.uuids[3] ], 'Options': { 'captureStderr': True, 'captureStdout': True }, 'Type': 'Application', 'Version': '1.0.0' } }, 'Version': '1.0.0' } def _stub_uuid(self, values=None): class FakeUUID(object): def __init__(self, v): self.hex = v if values is None: values = [] mock_uuid4 = mock.patch('uuid.uuid4').start() mock_uuid4.side_effect = [FakeUUID(v) for v in values] return mock_uuid4 @mock.patch('murano.engine.system.resource_manager.ResourceManager' '._get_package') def test_file_line_endings(self, _get_package): class FakeResources(object): """Class with only string() method from ResourceManager class""" @staticmethod def string(name, owner=None, binary=False): return resource_manager.ResourceManager.string( receiver=None, name=name, owner=owner, binary=binary) # make path equal to provided name inside resources.string() package = mock.Mock() package.get_resource.side_effect = lambda m: m _get_package.return_value = package text = b"First line\nSecond line\rThird line\r\nFourth line" modified_text = u"First line\nSecond line\nThird line\nFourth line" encoded_text = base64.encode_as_text(text) + "\n" resources = FakeResources() with tempfile.NamedTemporaryFile() as script_file: script_file.write(text) script_file.file.flush() os.fsync(script_file.file.fileno()) # check that data has been written correctly script_file.seek(0) file_data = script_file.read() self.assertEqual(text, file_data) # check resources.string() output # text file result = resources.string(script_file.name) self.assertEqual(modified_text, result) # binary file result = resources.string(script_file.name, binary=True) self.assertEqual(text, result) # check _get_body() output filename = os.path.basename(script_file.name) folder = os.path.dirname(script_file.name) # text file body = self.agent._get_body(filename, resources, folder) self.assertEqual(modified_text, body) # binary file filename = '<{0}>'.format(filename) body = self.agent._get_body(filename, resources, folder) self.assertEqual(encoded_text, body) def test_queue_name(self): self.agent._queue = 'test_queue' self.assertEqual(self.agent.queue_name(), self.agent._queue) def test_prepare_message(self): template = {'test'} msg_id = 12345 msg = self.agent._prepare_message(template, msg_id) self.assertEqual(msg.id, msg_id) self.assertEqual(msg._body, template) def test_execution_plan_v1(self): template = yamllib.load( self._read('application.template'), Loader=self.yaml_loader) rtn_template = self.agent._build_v1_execution_plan(template, self.resources) self.assertEqual(template, rtn_template) def test_get_array_item(self): array = [1, 2, 3] index = 2 self.assertEqual(array[2], self.agent._get_array_item(array, index)) index = 3 self.assertIsNone(self.agent._get_array_item(array, index)) def test_execution_plan_error(self): template = None self.assertRaises(ValueError, self.agent.build_execution_plan, template, self.resources) murano-9.0.0/murano/tests/unit/engine/system/test_metadef_browser.py0000664000175000017500000000416313656750211026051 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from murano.dsl import murano_object from murano.engine.system import metadef_browser from murano.tests.unit import base class TestMetadefBrowser(base.MuranoTestCase): def setUp(self): super(TestMetadefBrowser, self).setUp() self.this = mock.MagicMock() self.glance_client_mock = mock.MagicMock() metadef_browser.MetadefBrowser._get_client = mock.MagicMock( return_value=self.glance_client_mock) metadef_browser.MetadefBrowser._client = mock.MagicMock( return_value=self.glance_client_mock) self.mock_object = mock.Mock(spec=murano_object.MuranoObject) @mock.patch("murano.dsl.helpers.get_execution_session") def test_get_objects(self, execution_session): namespace = None self.metadef = metadef_browser.MetadefBrowser(self.this) self.assertIsNotNone(self.metadef.get_objects(namespace)) self.assertTrue(execution_session.called) self.assertTrue(metadef_browser.MetadefBrowser. _client.metadefs_object.list.called) @mock.patch("murano.dsl.helpers.get_execution_session") def test_get_namespaces(self, execution_session): self.metadef = metadef_browser.MetadefBrowser(self.this) resource_type = self.mock_object self.assertIsNotNone(self.metadef.get_namespaces(resource_type)) self.assertTrue(execution_session.called) self.assertTrue(metadef_browser.MetadefBrowser. _client.metadefs_namespace.list.called) murano-9.0.0/murano/tests/unit/engine/system/test_agent_listener.py0000664000175000017500000000365413656750211025710 0ustar zuulzuul00000000000000# Copyright (c) 2016 AT&T # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from unittest import mock from murano.engine.system import agent_listener from murano.tests.unit import base class TestExecutionPlan(base.MuranoTestCase): def setUp(self): super(TestExecutionPlan, self).setUp() self.override_config("disable_murano_agent", False, "engine") self.agent = agent_listener.AgentListener("test") self.addCleanup(mock.patch.stopall) def test_agent_ready(self): self.assertEqual({}, self.agent._subscriptions) results_queue = str('-execution-results-test') self.assertEqual(results_queue, self.agent._results_queue) self.assertTrue(self.agent._enabled) self.assertIsNone(self.agent._receive_thread) def test_queue_name(self): self.assertEqual(self.agent._results_queue, self.agent.queue_name()) @mock.patch("murano.engine.system.agent_listener.dsl.get_this") @mock.patch("murano.engine.system." "agent_listener.dsl.get_execution_session") def test_subscribe_unsubscribe(self, execution_session, mock_this): self.agent.subscribe('msg_id', 'event') self.assertIn('msg_id', self.agent._subscriptions) self.agent.unsubscribe('msg_id') self.assertNotIn('msg_id', self.agent._subscriptions) self.assertTrue(execution_session.called) self.assertTrue(mock_this.called) murano-9.0.0/murano/tests/functional/0000775000175000017500000000000013656750351017663 5ustar zuulzuul00000000000000murano-9.0.0/murano/tests/functional/README.rst0000664000175000017500000000021113656750211021337 0ustar zuulzuul00000000000000===== MOVED ===== The Congress and Mistral functional integration tests has moved to http://opendev.org/openstack/murano-tempest-plugin murano-9.0.0/murano/monkey_patch.py0000664000175000017500000000222513656750211017406 0ustar zuulzuul00000000000000# # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import eventlet if os.name == 'nt': # eventlet monkey patching causes subprocess.Popen to fail on Windows # when using pipes due to missing non blocking I/O support eventlet.monkey_patch(os=False) else: eventlet.monkey_patch() # Monkey patch the original current_thread to use the up-to-date _active # global variable. See https://bugs.launchpad.net/bugs/1863021 and # https://github.com/eventlet/eventlet/issues/592 import __original_module_threading as orig_threading import threading # noqa orig_threading.current_thread.__globals__['_active'] = threading._active murano-9.0.0/murano/api/0000775000175000017500000000000013656750351015130 5ustar zuulzuul00000000000000murano-9.0.0/murano/api/__init__.py0000664000175000017500000000000013656750211017222 0ustar zuulzuul00000000000000murano-9.0.0/murano/api/v1/0000775000175000017500000000000013656750351015456 5ustar zuulzuul00000000000000murano-9.0.0/murano/api/v1/templates.py0000664000175000017500000002641313656750211020027 0ustar zuulzuul00000000000000# Copyright (c) 2015, Telefonica I+D. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_db import exception as db_exc from oslo_log import log as logging from webob import exc from murano.api.v1 import request_statistics from murano.common.i18n import _ from murano.common import policy from murano.common import utils from murano.common import wsgi from murano.db import models from murano.db.services import core_services from murano.db.services import environment_templates as env_temps from murano.db.services import environments as envs from murano.db.services import sessions LOG = logging.getLogger(__name__) API_NAME = 'Templates' class Controller(object): @request_statistics.stats_count(API_NAME, 'Index') def index(self, request): """Lists the env templates associated to an tenant-id It lists the env templates associated to an tenant-id. :param request: The operation request. :return: the env template description list. """ LOG.debug('EnvTemplates:List') policy.check('list_env_templates', request.context) tenant_id = request.context.tenant filters = {} if request.GET.get('is_public'): is_public = request.GET.get('is_public', 'false').lower() == 'true' if not is_public: filters['is_public'] = False filters['tenant_id'] = tenant_id elif is_public: filters['is_public'] = True list_templates = env_temps.EnvTemplateServices.\ get_env_templates_by(filters) else: filters = (models.EnvironmentTemplate.is_public, models.EnvironmentTemplate.tenant_id == tenant_id) list_templates = env_temps.EnvTemplateServices.\ get_env_templates_or_by(filters) list_templates = [temp.to_dict() for temp in list_templates] return {"templates": list_templates} @request_statistics.stats_count(API_NAME, 'Create') def create(self, request, body): """Creates the env template from the payload This payload can contain just the template name, or include also service information. :param request: the operation request. :param body: the env template description :return: the description of the created template. """ LOG.debug('EnvTemplates:Create '.format(body=body)) policy.check('create_env_template', request.context) self._validate_body_name(body) try: LOG.debug('ENV TEMP NAME: {templ_name}>'. format(templ_name=body['name'])) template = env_temps.EnvTemplateServices.create( body.copy(), request.context.tenant) return template.to_dict() except db_exc.DBDuplicateEntry: msg = _('Env Template with specified name already exists') LOG.exception(msg) raise exc.HTTPConflict(msg) @request_statistics.stats_count(API_NAME, 'Show') def show(self, request, env_template_id): """It shows the description of a template :param request: the operation request. :param env_template_id: the env template ID. :return: the description of the env template. """ LOG.debug('Templates:Show '.format( templ_id=env_template_id)) target = {"env_template_id": env_template_id} policy.check('show_env_template', request.context, target) self._validate_request(request, env_template_id) template = env_temps.EnvTemplateServices.\ get_env_template(env_template_id) temp = template.to_dict() get_data = core_services.CoreServices.get_template_data temp['services'] = get_data(env_template_id, '/services') return temp @request_statistics.stats_count(API_NAME, 'Update') def update(self, request, env_template_id, body): """It updates the description template :param request: the operation request. :param env_template_id: the env template ID. :param body: the description to be updated :return: the updated template description. """ LOG.debug('Templates:Update '.format(templ_id=env_template_id, body=body)) target = {"env_template_id": env_template_id} policy.check('update_env_template', request.context, target) self._validate_request(request, env_template_id) try: LOG.debug('ENV TEMP NAME: {temp_name}>'.format( temp_name=body['name'])) if not str(body['name']).strip(): msg = _('Environment Template must contain at least one ' 'non-white space symbol') LOG.exception(msg) raise exc.HTTPBadRequest(msg) except Exception: msg = _('EnvTemplate body is incorrect') LOG.exception(msg) raise exc.HTTPBadRequest(msg) template = env_temps.EnvTemplateServices.update(env_template_id, body) return template.to_dict() @request_statistics.stats_count(API_NAME, 'Delete') def delete(self, request, env_template_id): """It deletes the env template :param request: the operation request. :param env_template_id: the template ID. """ LOG.debug('EnvTemplates:Delete '.format( templ_id=env_template_id)) target = {"env_template_id": env_template_id} policy.check('delete_env_template', request.context, target) self._validate_request(request, env_template_id) env_temps.EnvTemplateServices.delete(env_template_id) env_temps.EnvTemplateServices.remove(env_template_id) return def has_services(self, template): """"It checks if the template has services :param template: the template to check. :return: True or False """ if not template.description: return False if (template.description.get('services')): return True return False @request_statistics.stats_count(API_NAME, 'Create_environment') def create_environment(self, request, env_template_id, body): """Creates environment and session from template :param request: operation request :param env_template_id: environment template ID :param body: the environment name :return: session_id and environment_id """ target = {"env_template_id": env_template_id} policy.check('create_environment', request.context, target) self._validate_request(request, env_template_id) LOG.debug('Templates:Create environment '. format(templ_id=env_template_id)) template = env_temps.EnvTemplateServices.\ get_env_template(env_template_id) self._validate_body_name(body) try: environment = envs.EnvironmentServices.create( body.copy(), request.context) except db_exc.DBDuplicateEntry: msg = _('Environment with specified name already exists') LOG.exception(msg) raise exc.HTTPConflict(explanation=msg) user_id = request.context.user session = sessions.SessionServices.create(environment.id, user_id) if self.has_services(template): services_node = utils.TraverseHelper.get("services", template.description) utils.TraverseHelper.update("/Objects/services", services_node, environment.description) envs.EnvironmentServices.save_environment_description( session.id, environment.description, inner=False ) return {"session_id": session.id, "environment_id": environment.id} @request_statistics.stats_count(API_NAME, 'Clone') def clone(self, request, env_template_id, body): """Clones env template from another tenant It clones the env template from another env template from other tenant. :param request: the operation request. :param env_template_id: the env template ID. :param body: the request body. :return: the description of the created template. """ LOG.debug('EnvTemplates:Clone '. format(body, env_template_id)) policy.check('clone_env_template', request.context) old_env_template = self._validate_exists(env_template_id) if not old_env_template.get('is_public'): msg = _('User has no access to these resources.') LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) self._validate_body_name(body) LOG.debug('ENV TEMP NAME: {0}'.format(body['name'])) try: is_public = body.get('is_public', False) template = env_temps.EnvTemplateServices.clone( env_template_id, request.context.tenant, body['name'], is_public) except db_exc.DBDuplicateEntry: msg = _('Env template with specified name already exists') LOG.error(msg) raise exc.HTTPConflict(explanation=msg) return template.to_dict() def _validate_request(self, request, env_template_id): env_template = self._validate_exists(env_template_id) if env_template.is_public or request.context.is_admin: return if env_template.tenant_id != request.context.tenant: msg = _('User has no access to these resources.') LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) def _validate_exists(self, env_template_id): env_template_exists = env_temps.EnvTemplateServices.env_template_exist if not env_template_exists(env_template_id): msg = _('EnvTemplate is not found').format( temp_id=env_template_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) get_env_template = env_temps.EnvTemplateServices.get_env_template return get_env_template(env_template_id) def _validate_body_name(self, body): if not('name' in body and body['name'].strip()): msg = _('Please, specify a name of the environment template.') LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) name = str(body['name']) if len(name) > 255: msg = _('Environment template name should be 255 characters ' 'maximum') LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) def create_resource(): return wsgi.Resource(Controller()) murano-9.0.0/murano/api/v1/__init__.py0000664000175000017500000000267513656750211017574 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. stats = None SUPPORTED_PARAMS = {'id', 'order_by', 'category', 'marker', 'tag', 'class_name', 'limit', 'type', 'fqn', 'category', 'owned', 'search', 'include_disabled', 'sort_dir', 'name'} LIST_PARAMS = {'id', 'category', 'tag', 'class', 'order_by'} ORDER_VALUES = {'fqn', 'name', 'created'} OPERATOR_VALUES = {'id', 'category', 'tag'} PKG_PARAMS_MAP = {'display_name': 'name', 'full_name': 'fully_qualified_name', 'ui': 'ui_definition', 'logo': 'logo', 'package_type': 'type', 'description': 'description', 'author': 'author', 'classes': 'class_definitions', 'tags': 'tags', 'supplier': 'supplier', 'supplier_logo': 'supplier_logo'} murano-9.0.0/murano/api/v1/catalog.py0000664000175000017500000004467713656750211017457 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import cgi import os import tempfile import jsonschema from keystoneclient import exceptions as keystone_ex from keystoneclient import service_catalog from oslo_config import cfg from oslo_db import exception as db_exc from oslo_log import log as logging from webob import exc import murano.api.v1 from murano.api.v1 import validation_schemas from murano.common import exceptions from murano.common.i18n import _ from murano.common import policy import murano.common.utils as murano_utils from murano.common import wsgi from murano.db.catalog import api as db_api from murano.packages import exceptions as pkg_exc from murano.packages import load_utils from muranoclient.glance import client as glare_client LOG = logging.getLogger(__name__) CONF = cfg.CONF SUPPORTED_PARAMS = murano.api.v1.SUPPORTED_PARAMS LIST_PARAMS = murano.api.v1.LIST_PARAMS ORDER_VALUES = murano.api.v1.ORDER_VALUES PKG_PARAMS_MAP = murano.api.v1.PKG_PARAMS_MAP OPERATOR_VALUES = murano.api.v1.OPERATOR_VALUES def _check_content_type(req, content_type): try: req.get_content_type((content_type,)) except exceptions.UnsupportedContentType: msg = _("Content-Type must be '{type}'").format(type=content_type) LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) def _get_filters(query_params): filters = {} for param_pair in query_params: k, v = param_pair if k not in SUPPORTED_PARAMS: LOG.warning("Search by parameter '{name}' " "is not supported. Skipping it.".format(name=k)) continue if k in LIST_PARAMS: if v.startswith('in:') and k in OPERATOR_VALUES: in_value = v[len('in:'):] try: filters[k] = murano_utils.split_for_quotes(in_value) except ValueError as err: LOG.warning("Search by parameter '{name}' " "caused an {message} error." "Skipping it.".format(name=k, message=err)) else: filters.setdefault(k, []).append(v) else: filters[k] = v order_by = filters.get('order_by', []) for i in order_by[:]: if ORDER_VALUES and i not in ORDER_VALUES: filters['order_by'].remove(i) LOG.warning("Value of 'order_by' parameter is not valid. " "Allowed values are: {values}. Skipping it." .format(values=", ".join(ORDER_VALUES))) return filters def _validate_body(body): """Check multipart/form-data has two parts Check multipart/form-data has two parts: text (which is json string and should parsed into dictionary in serializer) and file, which stores as cgi.FieldStorage instance. Also validate file size doesn't exceed the limit: seek to the end of the file, get the position of EOF and reset the file position to the beginning """ def check_file_size(f): mb_limit = CONF.murano.package_size_limit pkg_size_limit = mb_limit * 1024 * 1024 f.seek(0, 2) size = f.tell() f.seek(0) if size > pkg_size_limit: raise exc.HTTPBadRequest(explanation=_( 'Uploading file is too large. ' 'The limit is {0} Mb').format(mb_limit)) if len(body) > 2: msg = _("'multipart/form-data' request body should contain 1 or 2 " "parts: json string and zip archive. Current body consists " "of {amount} part(s)").format(amount=len(body.keys())) LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) file_obj = None package_meta = None for part in body.values(): if isinstance(part, cgi.FieldStorage): file_obj = part check_file_size(file_obj.file) if isinstance(part, dict): package_meta = part if file_obj is None: msg = _('There is no file package with application description') LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) return file_obj, package_meta class Controller(object): """WSGI controller for application catalog resource in Murano v1 API.""" def _validate_limit(self, value): if value is None: return try: value = int(value) except ValueError: msg = _("Limit param must be an integer") LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) if value <= 0: msg = _("Limit param must be positive") LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) return value def update(self, req, body, package_id): """List of allowed changes List of allowed changes: { "op": "add", "path": "/tags", "value": [ "foo", "bar" ] } { "op": "add", "path": "/categories", "value": [ "foo", "bar" ] } { "op": "remove", "path": "/tags" } { "op": "remove", "path": "/categories" } { "op": "replace", "path": "/tags", "value": ["foo", "bar"] } { "op": "replace", "path": "/is_public", "value": true } { "op": "replace", "path": "/description", "value":"New description" } { "op": "replace", "path": "/name", "value": "New name" } """ policy.check("modify_package", req.context, {'package_id': package_id}) pkg_to_update = db_api.package_get(package_id, req.context) if pkg_to_update.is_public: policy.check("manage_public_package", req.context) _check_content_type(req, 'application/murano-packages-json-patch') if not isinstance(body, list): msg = _('Request body must be a JSON array of operation objects.') LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) for change in body: if 'is_public' in change['path']: if change['value'] is True and not pkg_to_update.is_public: policy.check('publicize_package', req.context) if 'name' in change['path']: if len(change['value']) > 80: msg = _('Package name should be 80 characters maximum') LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) package = db_api.package_update(package_id, body, req.context) return package.to_dict() def get(self, req, package_id): policy.check("get_package", req.context, {'package_id': package_id}) package = db_api.package_get(package_id, req.context) return package.to_dict() def search(self, req): policy.check("get_package", req.context) manage_public = True try: policy.check("manage_public_package", req.context) except exc.HTTPForbidden: manage_public = False filters = _get_filters(req.GET.items()) limit = self._validate_limit(filters.get('limit')) if limit is None: limit = CONF.murano.limit_param_default limit = min(CONF.murano.api_limit_max, limit) result = {} catalog = req.GET.pop('catalog', '').lower() == 'true' packages = db_api.package_search( filters, req.context, manage_public, limit, catalog=catalog) if len(packages) == limit: result['next_marker'] = packages[-1].id result['packages'] = [package.to_dict() for package in packages] return result def upload(self, req, body=None): """Upload new file archive Upload new file archive for the new package together with package metadata. """ policy.check("upload_package", req.context) _check_content_type(req, 'multipart/form-data') file_obj, package_meta = _validate_body(body) if package_meta: try: jsonschema.validate(package_meta, validation_schemas.PKG_UPLOAD_SCHEMA) except jsonschema.ValidationError as e: msg = _("Package schema is not valid: {reason}").format( reason=e) LOG.exception(msg) raise exc.HTTPBadRequest(explanation=msg) else: package_meta = {} if package_meta.get('is_public'): policy.check('publicize_package', req.context) with tempfile.NamedTemporaryFile(delete=False) as tempf: LOG.debug("Storing package archive in a temporary file") content = file_obj.file.read() if not content: msg = _("Uploading file can't be empty") LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) tempf.write(content) package_meta['archive'] = content try: with load_utils.load_from_file( tempf.name, target_dir=None, drop_dir=True) as pkg_to_upload: # extend dictionary for update db for k, v in PKG_PARAMS_MAP.items(): if hasattr(pkg_to_upload, k): if k == "tags" and package_meta.get(k): package_meta[v] = list(set( package_meta[v] + getattr(pkg_to_upload, k))) else: package_meta[v] = getattr(pkg_to_upload, k) if len(package_meta['name']) > 80: msg = _('Package name should be 80 characters maximum') LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) try: package = db_api.package_upload( package_meta, req.context.tenant) except db_exc.DBDuplicateEntry: msg = _('Package with specified full ' 'name is already registered') LOG.exception(msg) raise exc.HTTPConflict(msg) return package.to_dict() except pkg_exc.PackageLoadError as e: msg = _("Couldn't load package from file: {reason}").format( reason=e) LOG.exception(msg) raise exc.HTTPBadRequest(explanation=msg) finally: LOG.debug("Deleting package archive temporary file") os.remove(tempf.name) def get_ui(self, req, package_id): if CONF.engine.packages_service == 'murano': target = {'package_id': package_id} policy.check("get_package", req.context, target) package = db_api.package_get(package_id, req.context) return package.ui_definition else: g_client = self._get_glare_client(req) blob_data = g_client.artifacts.download_blob(package_id, 'archive') with tempfile.NamedTemporaryFile() as tempf: for chunk in blob_data: tempf.write(chunk) tempf.file.flush() os.fsync(tempf.file.fileno()) with load_utils.load_from_file(tempf.name, target_dir=None, drop_dir=True) as pkg: return pkg.ui def get_logo(self, req, package_id): target = {'package_id': package_id} policy.check("get_package", req.context, target) package = db_api.package_get(package_id, req.context) return package.logo def get_supplier_logo(self, req, package_id): package = db_api.package_get(package_id, req.context) return package.supplier_logo def download(self, req, package_id): target = {'package_id': package_id} policy.check("download_package", req.context, target) package = db_api.package_get(package_id, req.context) return package.archive def delete(self, req, package_id): target = {'package_id': package_id} policy.check("delete_package", req.context, target) package = db_api.package_get(package_id, req.context) if package.is_public: policy.check("manage_public_package", req.context, target) db_api.package_delete(package_id, req.context) def get_category(self, req, category_id): policy.check("get_category", req.context) category = db_api.category_get(category_id, packages=True) return category.to_dict() def list_categories(self, req): """List all categories List all categories with pagination and sorting Acceptable filter params: :param sort_keys: an array of fields used to sort the list :param sort_dir: the direction of the sort ('asc' or 'desc') :param limit: the number of categories to list :param marker: the ID of the last item in the previous page """ def _get_category_filters(req): query_params = {} valid_query_params = ['sort_keys', 'sort_dir', 'limit', 'marker'] for key, value in req.GET.items(): if key not in valid_query_params: raise exc.HTTPBadRequest( _('Bad value passed to filter. ' 'Got {key}, expected:{valid}').format( key=key, valid=', '.join(valid_query_params))) if key == 'sort_keys': available_sort_keys = ['name', 'created', 'updated', 'package_count', 'id'] value = [v.strip() for v in value.split(',')] for sort_key in value: if sort_key not in available_sort_keys: raise exc.HTTPBadRequest( explanation=_('Invalid sort key: {sort_key}. ' 'Must be one of the following: ' '{available}').format( sort_key=sort_key, available=', '.join(available_sort_keys))) if key == 'sort_dir': if value not in ['asc', 'desc']: msg = _('Invalid sort direction: {0}').format(value) raise exc.HTTPBadRequest(explanation=msg) query_params[key] = value return query_params policy.check("get_category", req.context) filters = _get_category_filters(req) marker = filters.get('marker') limit = self._validate_limit(filters.get('limit')) result = {} categories = db_api.categories_list(filters, limit=limit, marker=marker) if len(categories) == limit: result['next_marker'] = categories[-1].id result['categories'] = [category.to_dict() for category in categories] return result def add_category(self, req, body=None): policy.check("add_category", req.context) category_name = body.get('name') if not category_name: raise exc.HTTPBadRequest( explanation='Please, specify a name of the category to create') if len(category_name) > 80: msg = _('Category name should be 80 characters maximum') LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) try: category = db_api.category_add(category_name) except db_exc.DBDuplicateEntry: msg = _('Category with specified name is already exist') LOG.error(msg) raise exc.HTTPConflict(explanation=msg) return category.to_dict() def delete_category(self, req, category_id): target = {'category_id': category_id} policy.check("delete_category", req.context, target) category = db_api.category_get(category_id, packages=True) if category.packages: msg = _("It's impossible to delete categories assigned " "to the package, uploaded to the catalog") raise exc.HTTPForbidden(explanation=msg) db_api.category_delete(category_id) def _get_glare_client(self, request): glare_settings = CONF.glare token = request.context.auth_token url = glare_settings.url if not url: url = self._get_glare_url(request) # TODO(gyurco): use auth_utils.get_session_client_parameters client = glare_client.Client( endpoint=url, token=token, insecure=glare_settings.insecure, key_file=glare_settings.keyfile or None, ca_file=glare_settings.cafile or None, cert_file=glare_settings.certfile or None, type_name='murano', type_version=1) return client def _get_glare_url(self, request): sc = request.context.service_catalog token = request.context.auth_token try: return service_catalog.ServiceCatalogV2( {'serviceCatalog': sc}).url_for( service_type='artifact', endpoint_type=CONF.glare.endpoint_type, region_name=CONF.home_region) except keystone_ex.EndpointNotFound: return service_catalog.ServiceCatalogV3( token, {'catalog': sc}).url_for( service_type='artifact', endpoint_type=CONF.glare.endpoint_type, region_name=CONF.home_region) def create_resource(): specific_content_types = { 'get_ui': ['text/plain'], 'download': ['application/octet-stream'], 'get_logo': ['application/octet-stream'], 'get_supplier_logo': ['application/octet-stream']} deserializer = wsgi.RequestDeserializer( specific_content_types=specific_content_types) return wsgi.Resource(Controller(), deserializer=deserializer) murano-9.0.0/murano/api/v1/instance_statistics.py0000664000175000017500000000475113656750211022110 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_log import log as logging from murano.api.v1 import request_statistics from murano.common import policy from murano.common import wsgi from murano.db.services import instances LOG = logging.getLogger(__name__) API_NAME = 'EnvironmentStatistics' class Controller(object): @request_statistics.stats_count(API_NAME, 'GetAggregated') def get_aggregated(self, request, environment_id): LOG.debug('EnvironmentStatistics:GetAggregated') target = {"environment_id": environment_id} policy.check("get_aggregated_statistics", request.context, target) # TODO(stanlagun): Check that caller is authorized to access # tenant's statistics return instances.InstanceStatsServices.get_aggregated_stats( environment_id) @request_statistics.stats_count(API_NAME, 'GetForInstance') def get_for_instance(self, request, environment_id, instance_id): LOG.debug('EnvironmentStatistics:GetForInstance') target = {"environment_id": environment_id, "instance_id": instance_id} policy.check("get_instance_statistics", request.context, target) # TODO(stanlagun): Check that caller is authorized to access # tenant's statistics return instances.InstanceStatsServices.get_raw_environment_stats( environment_id, instance_id) @request_statistics.stats_count(API_NAME, 'GetForEnvironment') def get_for_environment(self, request, environment_id): LOG.debug('EnvironmentStatistics:GetForEnvironment') target = {"environment_id": environment_id} policy.check("get_statistics", request.context, target) # TODO(stanlagun): Check that caller is authorized to access # tenant's statistics return instances.InstanceStatsServices.get_raw_environment_stats( environment_id) def create_resource(): return wsgi.Resource(Controller()) murano-9.0.0/murano/api/v1/environments.py0000664000175000017500000002541313656750211020557 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import datetime import jsonpatch from oslo_db import exception as db_exc from oslo_log import log as logging from sqlalchemy import desc from webob import exc from murano.api.v1 import request_statistics from murano.api.v1 import sessions from murano.common.i18n import _ from murano.common import policy from murano.common import utils from murano.common import wsgi from murano.db import models from murano.db.services import core_services from murano.db.services import environments as envs from murano.db.services import sessions as session_services from murano.db import session as db_session from murano.engine.system import status_reporter from murano.services import states from murano.utils import check_env from murano.utils import check_session from murano.utils import verify_env LOG = logging.getLogger(__name__) API_NAME = 'Environments' class Controller(object): def __init__(self, *args, **kwargs): super(Controller, self).__init__(*args, **kwargs) self._notifier = status_reporter.Notification() @request_statistics.stats_count(API_NAME, 'Index') def index(self, request): all_tenants = request.GET.get('all_tenants', 'false').lower() == 'true' tenant = request.GET.get('tenant', None) LOG.debug('Environments:List '.format(tenants=all_tenants, tenant=tenant)) if all_tenants: policy.check('list_environments_all_tenants', request.context) filters = {} elif tenant: policy.check('list_environments_all_tenants', request.context) filters = {'tenant_id': tenant} else: policy.check('list_environments', request.context) # Only environments from same tenant as user should be returned filters = {'tenant_id': request.context.tenant} environments = envs.EnvironmentServices.get_environments_by(filters) environments = [env.to_dict() for env in environments] return {"environments": environments} @request_statistics.stats_count(API_NAME, 'Create') def create(self, request, body): LOG.debug('Environments:Create '.format(body=body)) policy.check('create_environment', request.context) if not('name' in body and body['name'].strip()): msg = _('Please, specify a name of the environment to create') LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) name = str(body['name']) if len(name) > 255: msg = _('Environment name should be 255 characters maximum') LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) try: environment = envs.EnvironmentServices.create( body.copy(), request.context) except db_exc.DBDuplicateEntry: msg = _('Environment with specified name already exists') LOG.error(msg) raise exc.HTTPConflict(explanation=msg) return environment.to_dict() @request_statistics.stats_count(API_NAME, 'Show') @verify_env def show(self, request, environment_id): LOG.debug('Environments:Show '.format(id=environment_id)) target = {"environment_id": environment_id} policy.check('show_environment', request.context, target) session = db_session.get_session() environment = session.query(models.Environment).get(environment_id) env = environment.to_dict() env['status'] = envs.EnvironmentServices.get_status(env['id']) # if env is currently being deployed we can provide information about # the session right away env['acquired_by'] = None if env['status'] == states.EnvironmentStatus.DEPLOYING: session_list = session_services.SessionServices.get_sessions( environment_id, state=states.SessionState.DEPLOYING) if session_list: env['acquired_by'] = session_list[0].id session_id = None if hasattr(request, 'context') and request.context.session: session_id = request.context.session if session_id: env_session = session.query(models.Session).get(session_id) check_session(request, environment_id, env_session, session_id) # add services to env get_data = core_services.CoreServices.get_data env['services'] = get_data(environment_id, '/services', session_id) return env @request_statistics.stats_count(API_NAME, 'Update') @verify_env def update(self, request, environment_id, body): """"Rename an environment.""" LOG.debug('Environments:Update '.format(id=environment_id, body=body)) target = {"environment_id": environment_id} policy.check('update_environment', request.context, target) session = db_session.get_session() environment = session.query(models.Environment).get(environment_id) new_name = str(body['name']) if new_name.strip(): if len(new_name) > 255: msg = _('Environment name should be 255 characters maximum') LOG.error(msg) raise exc.HTTPBadRequest(explanation=msg) try: environment.update({'name': new_name}) environment.save(session) except db_exc.DBDuplicateEntry: msg = _('Environment with specified name already exists') LOG.error(msg) raise exc.HTTPConflict(explanation=msg) else: msg = _('Environment name must contain at least one ' 'non-white space symbol') LOG.error(msg) raise exc.HTTPClientError(explanation=msg) return environment.to_dict() @request_statistics.stats_count(API_NAME, 'Delete') def delete(self, request, environment_id): target = {"environment_id": environment_id} policy.check('delete_environment', request.context, target) environment = check_env(request, environment_id) if request.GET.get('abandon', '').lower() == 'true': LOG.debug( 'Environments:Abandon '.format(id=environment_id)) envs.EnvironmentServices.remove(environment_id) else: LOG.debug( 'Environments:Delete '.format(id=environment_id)) sessions_controller = sessions.Controller() session = sessions_controller.configure( request, environment_id) session_id = session['id'] envs.EnvironmentServices.delete(environment_id, session_id) sessions_controller.deploy(request, environment_id, session_id) env = environment.to_dict() env['deleted'] = datetime.datetime.utcnow() self._notifier.report('environment.delete.end', env) @request_statistics.stats_count(API_NAME, 'LastStatus') @verify_env def last(self, request, environment_id): session_id = None if hasattr(request, 'context') and request.context.session: session_id = request.context.session services = core_services.CoreServices.get_data(environment_id, '/services', session_id) session = db_session.get_session() result = {} for service in services or []: service_id = service['?']['id'] entity_ids = utils.build_entity_map(service).keys() last_status = session.query(models.Status). \ filter(models.Status.entity_id.in_(entity_ids)). \ order_by(desc(models.Status.created)). \ first() if last_status: result[service_id] = last_status.to_dict() else: result[service_id] = None return {'lastStatuses': result} @request_statistics.stats_count(API_NAME, 'GetModel') @verify_env def get_model(self, request, environment_id, path): LOG.debug('Environments:GetModel , Path: %(path)s', {'env_id': environment_id, 'path': path}) target = {"environment_id": environment_id} policy.check('show_environment', request.context, target) session_id = None if hasattr(request, 'context') and request.context.session: session_id = request.context.session get_description = envs.EnvironmentServices.get_environment_description env_model = get_description(environment_id, session_id) try: result = utils.TraverseHelper.get(path, env_model) except (KeyError, ValueError): raise exc.HTTPNotFound return result @request_statistics.stats_count(API_NAME, 'UpdateModel') @verify_env def update_model(self, request, environment_id, body=None): if not body: msg = _('Request body is empty: please, provide ' 'environment object model patch') LOG.error(msg) raise exc.HTTPBadRequest(msg) LOG.debug('Environments:UpdateModel ', {'env_id': environment_id, 'body': body}) target = {"environment_id": environment_id} policy.check('update_environment', request.context, target) session_id = None if hasattr(request, 'context') and request.context.session: session_id = request.context.session get_description = envs.EnvironmentServices.get_environment_description env_model = get_description(environment_id, session_id) for change in body: change['path'] = '/' + '/'.join(change['path']) patch = jsonpatch.JsonPatch(body) try: patch.apply(env_model, in_place=True) except jsonpatch.JsonPatchException as e: raise exc.HTTPNotFound(str(e)) save_description = envs.EnvironmentServices. \ save_environment_description save_description(session_id, env_model) return env_model def create_resource(): return wsgi.Resource(Controller()) murano-9.0.0/murano/api/v1/actions.py0000664000175000017500000000600013656750211017457 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_log import log as logging from webob import exc from murano.common import policy from murano.common import wsgi from murano.db.services import environments as envs from murano.db.services import sessions from murano.db import session as db_session from murano.services import actions from murano.services import states from murano.utils import verify_env LOG = logging.getLogger(__name__) class Controller(object): @verify_env def execute(self, request, environment_id, action_id, body): policy.check("execute_action", request.context, {}) LOG.debug('Action:Execute '.format(action_id)) unit = db_session.get_session() # no new session can be opened if environment has deploying status env_status = envs.EnvironmentServices.get_status(environment_id) if env_status in (states.EnvironmentStatus.DEPLOYING, states.EnvironmentStatus.DELETING): LOG.warning('Could not open session for environment ' ', environment has deploying ' 'or deleting status.'.format(id=environment_id)) raise exc.HTTPForbidden() user_id = request.context.user session = sessions.SessionServices.create(environment_id, user_id) if not sessions.SessionServices.validate(session): LOG.error('Session ' 'is invalid'.format(id=session.id)) raise exc.HTTPForbidden() task_id = actions.ActionServices.execute( action_id, session, unit, request.context, body or {}) return {'task_id': task_id} @verify_env def get_result(self, request, environment_id, task_id): policy.check("execute_action", request.context, {}) LOG.debug('Action:GetResult '.format(id=task_id)) unit = db_session.get_session() result = actions.ActionServices.get_result(environment_id, task_id, unit) if result is not None: return result msg = ('Result for task with environment_id: {env_id} and task_id: ' '{task_id} was not found.'.format(env_id=environment_id, task_id=task_id)) LOG.error(msg) raise exc.HTTPNotFound(msg) def create_resource(): return wsgi.Resource(Controller()) murano-9.0.0/murano/api/v1/request_statistics.py0000664000175000017500000000653713656750211022000 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import time from oslo_log import log as logging from murano.api import v1 from murano.common import wsgi from murano.db.services import stats LOG = logging.getLogger(__name__) class RequestStatisticsCollection(object): request_count = 0 error_count = 0 average_time = 0.0 requests_per_tenant = {} errors_per_tenant = {} def add_api_request(self, tenant, ex_time): self.average_time = (self.average_time * self.request_count + ex_time) / (self.request_count + 1) if tenant: tenant_count = self.requests_per_tenant.get(tenant, 0) tenant_count += 1 self.requests_per_tenant[tenant] = tenant_count def add_api_error(self, tenant, ex_time): self.average_time = (self.average_time * self.request_count + ex_time) / (self.request_count + 1) if tenant: tenant_count = self.errors_per_tenant.get(tenant, 0) tenant_count += 1 self.errors_per_tenant[tenant] = tenant_count def stats_count(api, method): def wrapper(func): def wrap(*args, **kwargs): try: ts = time.time() result = func(*args, **kwargs) te = time.time() tenant = args[1].context.tenant update_count(api, method, te - ts, tenant) return result except Exception: te = time.time() tenant = args[1].context.tenant LOG.exception('API {api} method {method} raised an ' 'exception'.format(api=api, method=method)) update_error_count(api, method, te - te, tenant) raise return wrap return wrapper def update_count(api, method, ex_time, tenant=None): LOG.debug("Updating count stats for {api}, {method} on object {object}" .format(api=api, method=method, object=v1.stats)) v1.stats.add_api_request(tenant, ex_time) v1.stats.request_count += 1 def update_error_count(api, method, ex_time, tenant=None): LOG.debug("Updating count stats for {api}, {method} on object " "{object}".format(api=api, method=method, object=v1.stats)) v1.stats.add_api_error(tenant, ex_time) v1.stats.error_count += 1 v1.stats.request_count += 1 def init_stats(): if not v1.stats: v1.stats = RequestStatisticsCollection() class Controller(object): def get(self, request): model = stats.Statistics() entries = model.get_all() ent_list = [] for entry in entries: ent_list.append(entry.to_dict()) return ent_list def create_resource(): return wsgi.Resource(Controller()) murano-9.0.0/murano/api/v1/router.py0000664000175000017500000003406313656750211017351 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import routes from murano.api.v1 import actions from murano.api.v1 import catalog from murano.api.v1 import deployments from murano.api.v1 import environments from murano.api.v1 import instance_statistics from murano.api.v1 import request_statistics from murano.api.v1 import schemas from murano.api.v1 import services from murano.api.v1 import sessions from murano.api.v1 import static_actions from murano.api.v1 import template_applications from murano.api.v1 import templates from murano.common import wsgi class API(wsgi.Router): @classmethod def factory(cls, global_conf, **local_conf): return cls(routes.Mapper()) def __init__(self, mapper): services_resource = services.create_resource() mapper.connect('/environments/{environment_id}/services', controller=services_resource, action='get', conditions={'method': ['GET']}, path='') mapper.connect('/environments/{environment_id}/services/{path:.*?}', controller=services_resource, action='get', conditions={'method': ['GET']}, path='') mapper.connect('/environments/{environment_id}/services', controller=services_resource, action='post', conditions={'method': ['POST']}, path='') mapper.connect('/environments/{environment_id}/services/{path:.*?}', controller=services_resource, action='post', conditions={'method': ['POST']}, path='') mapper.connect('/environments/{environment_id}/services', controller=services_resource, action='put', conditions={'method': ['PUT']}, path='') mapper.connect('/environments/{environment_id}/services/{path:.*?}', controller=services_resource, action='put', conditions={'method': ['PUT']}, path='') mapper.connect('/environments/{environment_id}/services', controller=services_resource, action='delete', conditions={'method': ['DELETE']}, path='') mapper.connect('/environments/{environment_id}/services/{path:.*?}', controller=services_resource, action='delete', conditions={'method': ['DELETE']}, path='') environments_resource = environments.create_resource() mapper.connect('/environments', controller=environments_resource, action='index', conditions={'method': ['GET']}) mapper.connect('/environments', controller=environments_resource, action='create', conditions={'method': ['POST']}) mapper.connect('/environments/{environment_id}', controller=environments_resource, action='update', conditions={'method': ['PUT']}) mapper.connect('/environments/{environment_id}', controller=environments_resource, action='show', conditions={'method': ['GET']}) mapper.connect('/environments/{environment_id}', controller=environments_resource, action='delete', conditions={'method': ['DELETE']}) mapper.connect('/environments/{environment_id}/lastStatus', controller=environments_resource, action='last', conditions={'method': ['GET']}) mapper.connect('/environments/{environment_id}/model/{path:.*?}', controller=environments_resource, action='get_model', conditions={'method': ['GET']}) mapper.connect('/environments/{environment_id}/model/', controller=environments_resource, action='update_model', conditions={'method': ['PATCH']}) templates_resource = templates.create_resource() mapper.connect('/templates', controller=templates_resource, action='index', conditions={'method': ['GET']}) mapper.connect('/templates', controller=templates_resource, action='create', conditions={'method': ['POST']}) mapper.connect('/templates/{env_template_id}', controller=templates_resource, action='update', conditions={'method': ['PUT']}) mapper.connect('/templates/{env_template_id}', controller=templates_resource, action='show', conditions={'method': ['GET']}) mapper.connect('/templates/{env_template_id}', controller=templates_resource, action='delete', conditions={'method': ['DELETE']}) mapper.connect('/templates/{env_template_id}/create-environment', controller=templates_resource, action='create_environment', conditions={'method': ['POST']}) mapper.connect('/templates/{env_template_id}/clone', controller=templates_resource, action='clone', conditions={'method': ['POST']}) applications_resource = template_applications.create_resource() mapper.connect('/templates/{env_template_id}/services', controller=applications_resource, action='index', conditions={'method': ['GET']}, path='') mapper.connect('/templates/{env_template_id}/services/{path:.*?}', controller=applications_resource, action='show', conditions={'method': ['GET']}, path='') mapper.connect('/templates/{env_template_id}/services', controller=applications_resource, action='post', conditions={'method': ['POST']}, path='') mapper.connect('/templates/{env_template_id}/services/{path:.*?}', controller=applications_resource, action='put', conditions={'method': ['PUT']}, path='') mapper.connect('/templates/{env_template_id}/services/{path:.*?}', controller=applications_resource, action='delete', conditions={'method': ['DELETE']}, path='') deployments_resource = deployments.create_resource() mapper.connect('/environments/{environment_id}/deployments', controller=deployments_resource, action='index', conditions={'method': ['GET']}) mapper.connect('/environments/{environment_id}/deployments/' '{deployment_id}', controller=deployments_resource, action='statuses', conditions={'method': ['GET']}) mapper.connect('/deployments', controller=deployments_resource, action='index', conditions={'method': ['GET']}) sessions_resource = sessions.create_resource() mapper.connect('/environments/{environment_id}/configure', controller=sessions_resource, action='configure', conditions={'method': ['POST']}) mapper.connect('/environments/{environment_id}/sessions/{session_id}', controller=sessions_resource, action='show', conditions={'method': ['GET']}) mapper.connect('/environments/{environment_id}/sessions/{session_id}', controller=sessions_resource, action='delete', conditions={'method': ['DELETE']}) mapper.connect('/environments/{environment_id}/sessions/' '{session_id}/deploy', controller=sessions_resource, action='deploy', conditions={'method': ['POST']}) statistics_resource = instance_statistics.create_resource() mapper.connect( '/environments/{environment_id}/instance-statistics/raw/' '{instance_id}', controller=statistics_resource, action='get_for_instance', conditions={'method': ['GET']}) mapper.connect( '/environments/{environment_id}/instance-statistics/raw', controller=statistics_resource, action='get_for_environment', conditions={'method': ['GET']}) mapper.connect( '/environments/{environment_id}/instance-statistics/aggregated', controller=statistics_resource, action='get_aggregated', conditions={'method': ['GET']}) actions_resource = actions.create_resource() mapper.connect('/environments/{environment_id}/actions/{action_id}', controller=actions_resource, action='execute', conditions={'method': ['POST']}) mapper.connect('/environments/{environment_id}/actions/{task_id}', controller=actions_resource, action='get_result', conditions={'method': ['GET']}) static_actions_resource = static_actions.create_resource() mapper.connect('/actions', controller=static_actions_resource, action='execute', conditions={'method': ['POST']}) catalog_resource = catalog.create_resource() mapper.connect('/catalog/packages/{package_id}', controller=catalog_resource, action='get', conditions={'method': ['GET']}) mapper.connect('/catalog/packages/{package_id}', controller=catalog_resource, action='delete', conditions={'method': ['DELETE']}) mapper.connect('/catalog/packages/{package_id}', controller=catalog_resource, action='update', conditions={'method': ['PATCH']}) mapper.connect('/catalog/packages', controller=catalog_resource, action='search', conditions={'method': ['GET']}) mapper.connect('/catalog/packages', controller=catalog_resource, action='upload', conditions={'method': ['POST']}) mapper.connect('/catalog/packages/{package_id}/ui', controller=catalog_resource, action='get_ui', conditions={'method': ['GET']}) mapper.connect('/catalog/packages/{package_id}/logo', controller=catalog_resource, action='get_logo', conditions={'method': ['GET']}) mapper.connect('/catalog/packages/{package_id}/supplier_logo', controller=catalog_resource, action='get_supplier_logo', conditions={'method': ['GET']}) mapper.connect('/catalog/packages/{package_id}/download', controller=catalog_resource, action='download', conditions={'method': ['GET']}) mapper.connect('/catalog/categories', controller=catalog_resource, action='list_categories', conditions={'method': ['GET']}) mapper.connect('/catalog/categories/{category_id}', controller=catalog_resource, action='get_category', conditions={'method': ['GET']}) mapper.connect('/catalog/categories', controller=catalog_resource, action='add_category', conditions={'method': ['POST']}) mapper.connect('/catalog/categories/{category_id}', controller=catalog_resource, action='delete_category', conditions={'method': ['DELETE']}) req_stats_resource = request_statistics.create_resource() mapper.connect('/stats', controller=req_stats_resource, action='get', conditions={'method': ['GET']}) schemas_resource = schemas.create_resource() mapper.connect('/schemas/{class_name}/{method_names}', controller=schemas_resource, action='get_schema', conditions={'method': ['GET']}) mapper.connect('/schemas/{class_name}', controller=schemas_resource, action='get_schema', conditions={'method': ['GET']}) super(API, self).__init__(mapper) murano-9.0.0/murano/api/v1/static_actions.py0000664000175000017500000000552613656750211021042 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_log import log as logging from oslo_messaging.rpc import client from webob import exc from murano.common.i18n import _ from murano.common import policy from murano.common import wsgi from murano.services import static_actions LOG = logging.getLogger(__name__) class Controller(object): def execute(self, request, body): policy.check("execute_action", request.context, {}) class_name = body.get('className') method_name = body.get('methodName') if not class_name or not method_name: msg = _('Class name and method name must be specified for ' 'static action') LOG.error(msg) raise exc.HTTPBadRequest(msg) args = body.get('parameters') pkg_name = body.get('packageName') class_version = body.get('classVersion', '=0') LOG.debug('StaticAction:Execute '.format(method_name, class_name)) credentials = { 'token': request.context.auth_token, 'project_id': request.context.tenant, 'user_id': request.context.user } try: return static_actions.StaticActionServices.execute( method_name, class_name, pkg_name, class_version, args, credentials) except client.RemoteError as e: LOG.error('Exception during call of the method {method_name}: ' '{exc}'.format(method_name=method_name, exc=str(e))) if e.exc_type in ( 'NoClassFound', 'NoMethodFound', 'NoPackageFound', 'NoPackageForClassFound', 'MethodNotExposed', 'NoMatchingMethodException'): raise exc.HTTPNotFound(e.value) elif e.exc_type == 'ContractViolationException': raise exc.HTTPBadRequest(e.value) raise exc.HTTPServiceUnavailable(e.value) except ValueError as e: LOG.error('Exception during call of the method {method_name}: ' '{exc}'.format(method_name=method_name, exc=str(e))) raise exc.HTTPBadRequest(str(e)) def create_resource(): return wsgi.Resource(Controller()) murano-9.0.0/murano/api/v1/validation_schemas.py0000664000175000017500000000744413656750211021671 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. ENV_SCHEMA = { "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "?": { "type": "object", "properties": { "id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string"}, "_actions": {"type": "object"} }, "required": ["id", "type"] }, "name": {"type": "string"}, "region": {"type": ["string", "null"]}, "regions": {"type": "object"}, "defaultNetworks": { "type": "object", "properties": { "environment": { "type": "object", "properties": { "name": {"type": "string"}, "?": { "type": "object", "properties": { "type": {"type": "string"}, "id": {"type": "string"}, "name": {"type": "string"} }, }, "autoUplink": {"type": "boolean"}, "externalRouterId": {"type": "string"}, "dnsNameServers": {"type": "array"}, "autogenerateSubnet": {"type": "boolean"}, "subnetCidr": {"type": "string"}, "openstackId": {"type": "string"}, "regionName": {"type": "string"} }, "required": ["name", "?"] }, "flat": {"type": ["boolean", "null"]} }, "required": ["environment", "flat"] }, "services": { "type": "array", "minItems": 0, "items": {"type": "object"} } }, "required": ["?", "name", "region", "defaultNetworks"] } PKG_UPLOAD_SCHEMA = { "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "tags": { "type": "array", "minItems": 0, "items": {"type": "string"}, "uniqueItems": True }, "categories": { "type": "array", "minItems": 0, "items": {"type": "string"}, "uniqueItems": True }, "description": {"type": "string"}, "name": {"type": "string"}, "is_public": {"type": "boolean"}, "enabled": {"type": "boolean"} }, "additionalProperties": False } PKG_UPDATE_SCHEMA = { "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "tags": { "type": "array", "items": {"type": "string"}, "uniqueItems": True }, "categories": { "type": "array", "items": {"type": "string"}, "uniqueItems": True }, "description": {"type": "string"}, "name": {"type": "string"}, "is_public": {"type": "boolean"}, "enabled": {"type": "boolean"} }, "additionalProperties": False, "minProperties": 1, } murano-9.0.0/murano/api/v1/sessions.py0000664000175000017500000001266213656750211017700 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_log import log as logging from webob import exc from murano.api.v1 import request_statistics from murano.common.i18n import _ from murano.common import wsgi from murano.db import models from murano.db.services import environments as envs from murano.db.services import sessions from murano.db import session as db_session from murano.services import states from murano.utils import check_env from murano.utils import check_session LOG = logging.getLogger(__name__) API_NAME = 'Sessions' class Controller(object): @request_statistics.stats_count(API_NAME, 'Create') def configure(self, request, environment_id): LOG.debug('Session:Configure ' .format(env_id=environment_id)) check_env(request, environment_id) # No new session can be opened if environment has deploying or # deleting status. env_status = envs.EnvironmentServices.get_status(environment_id) if env_status in (states.EnvironmentStatus.DEPLOYING, states.EnvironmentStatus.DELETING): msg = _('Could not open session for environment , environment has deploying or ' 'deleting status.').format(env_id=environment_id) LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) user_id = request.context.user session = sessions.SessionServices.create(environment_id, user_id) return session.to_dict() @request_statistics.stats_count(API_NAME, 'Index') def show(self, request, environment_id, session_id): LOG.debug('Session:Show '.format(id=session_id)) unit = db_session.get_session() session = unit.query(models.Session).get(session_id) check_session(request, environment_id, session, session_id) user_id = request.context.user if session.user_id != user_id: msg = _('User is not authorized to access ' 'session .').format(usr_id=user_id, s_id=session_id) LOG.error(msg) raise exc.HTTPUnauthorized(explanation=msg) if not sessions.SessionServices.validate(session): msg = _('Session is invalid: environment has been ' 'updated or updating right now with other session' ).format(session_id) LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) return session.to_dict() @request_statistics.stats_count(API_NAME, 'Delete') def delete(self, request, environment_id, session_id): LOG.debug('Session:Delete '.format(s_id=session_id)) unit = db_session.get_session() session = unit.query(models.Session).get(session_id) check_session(request, environment_id, session, session_id) user_id = request.context.user if session.user_id != user_id: msg = _('User is not authorized to access ' 'session .').format(usr_id=user_id, s_id=session_id) LOG.error(msg) raise exc.HTTPUnauthorized(explanation=msg) if session.state == states.SessionState.DEPLOYING: msg = _('Session is in deploying state ' 'and could not be deleted').format(s_id=session_id) LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) with unit.begin(): unit.delete(session) return None @request_statistics.stats_count(API_NAME, 'Deploy') def deploy(self, request, environment_id, session_id): LOG.debug('Session:Deploy '.format(s_id=session_id)) unit = db_session.get_session() session = unit.query(models.Session).get(session_id) check_session(request, environment_id, session, session_id) if not sessions.SessionServices.validate(session): msg = _('Session is invalid: environment has been ' 'updated or updating right now with other session' ).format(session_id) LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) if session.state != states.SessionState.OPENED: msg = _('Session is already deployed or ' 'deployment is in progress').format(s_id=session_id) LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) envs.EnvironmentServices.deploy(session, unit, request.context) def create_resource(): return wsgi.Resource(Controller()) murano-9.0.0/murano/api/v1/deployments.py0000664000175000017500000001333513656750211020373 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_log import log as logging from sqlalchemy import desc from sqlalchemy.orm import load_only from webob import exc from murano.api.v1 import request_statistics from murano.common.helpers import token_sanitizer from murano.common import policy from murano.common import utils from murano.common import wsgi from murano.db import models from murano.db import session as db_session from murano.utils import check_env LOG = logging.getLogger(__name__) API_NAME = 'Deployments' class Controller(object): @request_statistics.stats_count(API_NAME, 'Index') def index(self, request, environment_id=None): all_environments = environment_id is None LOG.debug('Deployments:List ' .format(all_environments)) if all_environments: policy.check("list_deployments_all_environments", request.context) else: check_env(request, environment_id) target = {"environment_id": environment_id} policy.check("list_deployments", request.context, target) unit = db_session.get_session() if all_environments: query = unit.query(models.Environment) \ .options(load_only('tenant_id')) \ .filter_by(tenant_id=request.context.tenant) \ .join(models.Task) \ .order_by(desc(models.Task.created)) result = query.all() # The join statement above fetches the deployments into # Environment.tasks. Iterate over that to get the deployments. deployments = [] for row in result: for deployment in row.tasks: deployment = set_dep_state(deployment, unit).to_dict() deployments.append(deployment) else: query = unit.query(models.Task) \ .filter_by(environment_id=environment_id) \ .order_by(desc(models.Task.created)) result = query.all() deployments = [set_dep_state(deployment, unit).to_dict() for deployment in result] return {'deployments': deployments} @request_statistics.stats_count(API_NAME, 'Statuses') def statuses(self, request, environment_id, deployment_id): target = {"environment_id": environment_id, "deployment_id": deployment_id} policy.check("statuses_deployments", request.context, target) unit = db_session.get_session() query = unit.query(models.Status) \ .filter_by(task_id=deployment_id) \ .order_by(models.Status.created) deployment = verify_and_get_deployment(unit, environment_id, deployment_id) if 'service_id' in request.GET: service_id_set = set(request.GET.getall('service_id')) environment = deployment.description entity_ids = [] for service in environment.get('services', []): if service['?']['id'] in service_id_set: id_map = utils.build_entity_map(service) entity_ids = entity_ids + id_map.keys() if entity_ids: query = query.filter(models.Status.entity_id.in_(entity_ids)) else: return {'reports': []} result = query.all() return {'reports': [status.to_dict() for status in result]} def _patch_description(description): if not description: description = {} description['services'] = description.pop('applications', []) return token_sanitizer.TokenSanitizer().sanitize(description) def verify_and_get_deployment(db_session, environment_id, deployment_id): deployment = db_session.query(models.Task).get(deployment_id) if not deployment: LOG.error('Deployment with id {id} not found' .format(id=deployment_id)) raise exc.HTTPNotFound if deployment.environment_id != environment_id: LOG.error('Deployment with id {d_id} not found in environment ' '{env_id}'.format(d_id=deployment_id, env_id=environment_id)) raise exc.HTTPBadRequest deployment.description = _patch_description(deployment.description) return deployment def create_resource(): return wsgi.Resource(Controller()) def set_dep_state(deployment, unit): num_errors = unit.query(models.Status).filter_by( level='error', task_id=deployment.id).count() num_warnings = unit.query(models.Status).filter_by( level='warning', task_id=deployment.id).count() if deployment.finished: if num_errors: deployment.state = 'completed_w_errors' elif num_warnings: deployment.state = 'completed_w_warnings' else: deployment.state = 'success' else: if num_errors: deployment.state = 'running_w_errors' elif num_warnings: deployment.state = 'running_w_warnings' else: deployment.state = 'running' deployment.description = _patch_description(deployment.description) return deployment murano-9.0.0/murano/api/v1/services.py0000664000175000017500000001027413656750211017652 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import functools as func from oslo_log import log as logging from webob import exc from murano.api.v1 import request_statistics from murano.common.helpers import token_sanitizer from murano.common.i18n import _ from murano.common import wsgi from murano.db.services import core_services from murano import utils LOG = logging.getLogger(__name__) API_NAME = 'Services' def normalize_path(f): @func.wraps(f) def f_normalize_path(*args, **kwargs): if 'path' in kwargs: if kwargs['path']: kwargs['path'] = '/services/' + kwargs['path'] else: kwargs['path'] = '/services' return f(*args, **kwargs) return f_normalize_path class Controller(object): @request_statistics.stats_count(API_NAME, 'Index') @utils.verify_env @normalize_path def get(self, request, environment_id, path): LOG.debug('Services:Get '.format(env_id=environment_id, path=path)) session_id = None if hasattr(request, 'context') and request.context.session: session_id = request.context.session try: result = core_services.CoreServices.get_data(environment_id, path, session_id) except (KeyError, ValueError, AttributeError): raise exc.HTTPNotFound return result @request_statistics.stats_count(API_NAME, 'Create') @utils.verify_session @utils.verify_env @normalize_path def post(self, request, environment_id, path, body=None): if not body: msg = _('Request body is empty: please, provide ' 'application object model') LOG.error(msg) raise exc.HTTPBadRequest(msg) secure_data = token_sanitizer.TokenSanitizer().sanitize(body) LOG.debug('Services:Post '.format(env_id=environment_id, body=secure_data, path=path)) post_data = core_services.CoreServices.post_data session_id = request.context.session try: result = post_data(environment_id, session_id, body, path) except (KeyError, ValueError): raise exc.HTTPNotFound return result @request_statistics.stats_count(API_NAME, 'Update') @utils.verify_session @utils.verify_env @normalize_path def put(self, request, environment_id, path, body=None): if not body: body = [] LOG.debug('Services:Put '.format(environment_id, body, path)) put_data = core_services.CoreServices.put_data session_id = request.context.session try: result = put_data(environment_id, session_id, body, path) except (KeyError, ValueError): raise exc.HTTPNotFound return result @request_statistics.stats_count(API_NAME, 'Delete') @utils.verify_session @utils.verify_env @normalize_path def delete(self, request, environment_id, path): LOG.debug('Services:Delete '.format(environment_id, path)) delete_data = core_services.CoreServices.delete_data session_id = request.context.session try: delete_data(environment_id, session_id, path) except (KeyError, ValueError): raise exc.HTTPNotFound def create_resource(): return wsgi.Resource(Controller()) murano-9.0.0/murano/api/v1/schemas.py0000664000175000017500000000400513656750211017445 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_log import log as logging from oslo_messaging.rpc import client from webob import exc from murano.api.v1 import request_statistics from murano.common import policy from murano.common import rpc from murano.common import wsgi LOG = logging.getLogger(__name__) API_NAME = 'Schemas' class Controller(object): @request_statistics.stats_count(API_NAME, 'GetSchema') def get_schema(self, request, class_name, method_names=None): LOG.debug('GetSchema:GetSchema') target = {"class_name": class_name} policy.check("get_schema", request.context, target) class_version = request.GET.get('classVersion') package_name = request.GET.get('packageName') credentials = { 'token': request.context.auth_token, 'project_id': request.context.tenant } try: methods = (list( map(str.strip, method_names.split(','))) if method_names else []) return rpc.engine().generate_schema( credentials, class_name, methods, class_version, package_name) except client.RemoteError as e: if e.exc_type in ('NoClassFound', 'NoPackageForClassFound', 'NoPackageFound'): raise exc.HTTPNotFound(e.value) raise def create_resource(): return wsgi.Resource(Controller()) murano-9.0.0/murano/api/v1/template_applications.py0000664000175000017500000001560313656750211022411 0ustar zuulzuul00000000000000 # Copyright (c) 2015 Telefonica I+D. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import functools as func from oslo_log import log as logging from webob import exc from murano.api.v1 import request_statistics from murano.common.helpers import token_sanitizer from murano.common.i18n import _ from murano.common import policy from murano.common import wsgi from murano.db.services import core_services from murano import utils LOG = logging.getLogger(__name__) API_NAME = 'Services' def normalize_path(f): """Normalizes request path It normalizes the path obtaining in the requests. It is used in all the operations in the controller """ @func.wraps(f) def f_normalize_path(*args, **kwargs): if 'path' in kwargs: if kwargs['path']: kwargs['path'] = '/services/' + kwargs['path'] else: kwargs['path'] = '/services' return f(*args, **kwargs) return f_normalize_path class Controller(object): @request_statistics.stats_count(API_NAME, 'Index') @utils.verify_env_template @normalize_path def index(self, request, env_template_id, path): """Obtains services/applications for a template It obtains all the services/applications associated to a template :param request: The operation request. :param env_template_id: The environment template id with contains the services :param path: The operation path """ LOG.debug('Applications:Get '.format(templ_id=env_template_id, path=path)) try: get_data = core_services.CoreServices.get_template_data result = get_data(env_template_id, path) except (KeyError, ValueError, AttributeError): msg = _('The environment template {templ_id} does not ' 'exist').format(templ_id=env_template_id) LOG.exception(msg) raise exc.HTTPNotFound(msg) return result @request_statistics.stats_count(API_NAME, 'Show') @utils.verify_env_template @normalize_path def show(self, request, env_template_id, path): """It shows the service description :param request: The operation request. :param env_template_id: the env template ID where the service belongs to. :param path: The path include the service id :return: the service description. """ LOG.debug('Applications:Get '.format(templ_id=env_template_id, path=path)) try: get_data = core_services.CoreServices.get_template_data result = get_data(env_template_id, path) except (KeyError, ValueError, AttributeError): msg = _('The template does not exist {templ_id}').format( templ_id=env_template_id) LOG.exception(msg) raise exc.HTTPNotFound(msg) return result @request_statistics.stats_count(API_NAME, 'Create') @utils.verify_env_template @normalize_path def post(self, request, env_template_id, path, body): """It adds a service into a template :param request: The operation request. :param env_template_id: the env template ID where the service belongs to. :param path: The path :param body: the information about the service :return: the service description. """ secure_data = token_sanitizer.TokenSanitizer().sanitize(body) LOG.debug('Applications:Post '.format(env_id=env_template_id, body=secure_data, path=path)) post_data = core_services.CoreServices.post_application_data try: result = post_data(env_template_id, body, path) except (KeyError, ValueError): msg = _('The template does not exist {templ_id}').format( templ_id=env_template_id) LOG.exception(msg) raise exc.HTTPNotFound(msg) return result @request_statistics.stats_count(API_NAME, 'Update') @utils.verify_env_template @normalize_path def put(self, request, env_template_id, path, body): """It updates a service into a template. :param request: The operation request. :param env_template_id: the env template ID where the service belongs to. :param path: The path :param body: the information about the service :return: the service description updated. """ policy.check('update_service_env_template', request.context) LOG.debug('Applications:Put '.format(templ_id=env_template_id, body=body, path=path)) put_data = core_services.CoreServices.put_application_data try: result = put_data(env_template_id, body, path) except (KeyError, ValueError): msg = _('The template does not exist {templ_id}').format( templ_id=env_template_id) LOG.exception(msg) raise exc.HTTPNotFound(msg) return result @request_statistics.stats_count(API_NAME, 'Delete') @utils.verify_env_template @normalize_path def delete(self, request, env_template_id, path): """It deletes a service into a template. :param request: The operation request. :param env_template_id: the env template ID where the service belongs to. :param path: The path contains the service id """ LOG.debug('Applications:Put '.format(templ_id=env_template_id, path=path)) delete_data = core_services.CoreServices.delete_env_template_data try: result = delete_data(env_template_id, path) except (KeyError, ValueError): msg = _('The template does not exist {templ_id}').format( templ_id=env_template_id) LOG.exception(msg) raise exc.HTTPNotFound(msg) return result def create_resource(): return wsgi.Resource(Controller()) murano-9.0.0/murano/api/middleware/0000775000175000017500000000000013656750351017245 5ustar zuulzuul00000000000000murano-9.0.0/murano/api/middleware/__init__.py0000664000175000017500000000000013656750211021337 0ustar zuulzuul00000000000000murano-9.0.0/murano/api/middleware/fault.py0000664000175000017500000000772213656750211020735 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """A middleware that turns exceptions into parsable string. Inspired by Cinder's faultwrapper """ import sys import traceback from oslo_config import cfg import webob from murano.common import wsgi from murano.packages import exceptions as pkg_exc class HTTPExceptionDisguise(Exception): """Disguises HTTP exceptions Disguises HTTP exceptions so they can be handled by the webob fault application in the wsgi pipeline. """ def __init__(self, exception): self.exc = exception self.tb = sys.exc_info()[2] class Fault(object): def __init__(self, error): self.error = error @webob.dec.wsgify(RequestClass=wsgi.Request) def __call__(self, req): if req.content_type == 'application/xml': serializer = wsgi.XMLDictSerializer() else: serializer = wsgi.JSONDictSerializer() resp = webob.Response(request=req) default_webob_exc = webob.exc.HTTPInternalServerError() resp.status_code = self.error.get('code', default_webob_exc.code) serializer.default(resp, self.error) return resp class FaultWrapper(wsgi.Middleware): """Replace error body with something the client can parse.""" @classmethod def factory(cls, global_conf, **local_conf): def filter(app): return cls(app) return filter error_map = { 'ValueError': webob.exc.HTTPBadRequest, 'LookupError': webob.exc.HTTPNotFound, 'PackageClassLoadError': webob.exc.HTTPBadRequest, 'PackageUILoadError': webob.exc.HTTPBadRequest, 'PackageLoadError': webob.exc.HTTPBadRequest, 'PackageFormatError': webob.exc.HTTPBadRequest, } def _map_exception_to_error(self, class_exception): if class_exception == Exception: return webob.exc.HTTPInternalServerError if class_exception.__name__ not in self.error_map: return self._map_exception_to_error(class_exception.__base__) return self.error_map[class_exception.__name__] def _error(self, ex): trace = None webob_exc = None if isinstance(ex, HTTPExceptionDisguise): # An HTTP exception was disguised so it could make it here # let's remove the disguise and set the original HTTP exception if cfg.CONF.debug: trace = ''.join(traceback.format_tb(ex.tb)) ex = ex.exc webob_exc = ex ex_type = ex.__class__.__name__ full_message = str(ex) if full_message.find('\n') > -1: message, msg_trace = full_message.split('\n', 1) else: msg_trace = traceback.format_exc() message = full_message if isinstance(ex, pkg_exc.PackageException): message = ex.message if cfg.CONF.debug and not trace: trace = msg_trace if not webob_exc: webob_exc = self._map_exception_to_error(ex.__class__) error = { 'code': webob_exc.code, 'title': webob_exc.title, 'explanation': webob_exc.explanation, 'error': { 'message': message, 'type': ex_type, 'traceback': trace, } } return error def process_request(self, req): try: return req.get_response(self.application) except Exception as exc: return req.get_response(Fault(self._error(exc))) murano-9.0.0/murano/api/middleware/version_negotiation.py0000664000175000017500000000630213656750211023700 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """ A filter middleware that inspects the requested URI for a version string and/or Accept headers and attempts to negotiate an API controller to return """ from oslo_log import log as logging from murano.api import versions from murano.common import wsgi LOG = logging.getLogger(__name__) class VersionNegotiationFilter(wsgi.Middleware): @classmethod def factory(cls, global_conf, **local_conf): def filter(app): return cls(app) return filter def __init__(self, app): self.versions_app = versions.Controller() super(VersionNegotiationFilter, self).__init__(app) def process_request(self, req): """Try to find a version first in the accept header, then the URL.""" LOG.debug(("Determining version of request:{method} {path} " "Accept: {accept}").format(method=req.method, path=req.path, accept=req.accept)) LOG.debug("Using url versioning") # Remove version in url so it doesn't conflict later req_version = self._pop_path_info(req) try: version = self._match_version_string(req_version) except ValueError: LOG.warning("Unknown version. Returning version choices.") return self.versions_app req.environ['api.version'] = version req.path_info = ''.join(('/v', str(version), req.path_info)) LOG.debug("Matched version: v{version}".format(version=version)) LOG.debug('new path {path}'.format(path=req.path_info)) return None def _match_version_string(self, subject): """Tries to match major and/or minor version Given a string, tries to match a major and/or minor version number. :param subject: The string to check :returns version found in the subject :raises ValueError if no acceptable version could be found """ if subject in ('v1',): major_version = 1 else: raise ValueError() return major_version def _pop_path_info(self, req): """Returns the popped off next segment 'Pops' off the next segment of PATH_INFO, returns the popped segment. Do NOT push it onto SCRIPT_NAME. """ path = req.path_info if not path: return None while path.startswith('/'): path = path[1:] idx = path.find('/') if idx == -1: idx = len(path) r = path[:idx] req.path_info = path[idx:] return r murano-9.0.0/murano/api/middleware/context.py0000664000175000017500000000442013656750211021276 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_config import cfg from oslo_middleware import request_id as oslo_request_id from oslo_serialization import jsonutils from murano.common.i18n import _ from murano.common import wsgi import murano.context context_opts = [ cfg.StrOpt('admin_role', default='admin', help=_('Role used to identify an authenticated user as ' 'administrator.'))] CONF = cfg.CONF CONF.register_opts(context_opts) CONF = cfg.CONF class ContextMiddleware(wsgi.Middleware): def process_request(self, req): """Convert authentication information into a request context Generate a murano.context.RequestContext object from the available authentication headers and store on the 'context' attribute of the req object. :param req: wsgi request object that will be given the context object """ roles = [r.strip() for r in req.headers.get('X-Roles').split(',')] kwargs = { 'user': req.headers.get('X-User-Id'), 'tenant': req.headers.get('X-Tenant-Id'), 'auth_token': req.headers.get('X-Auth-Token'), 'session': req.headers.get('X-Configuration-Session'), 'is_admin': CONF.admin_role in roles, 'request_id': req.environ.get(oslo_request_id.ENV_REQUEST_ID), 'roles': roles } sc_header = req.headers.get('X-Service-Catalog') if sc_header: kwargs['service_catalog'] = jsonutils.loads(sc_header) req.context = murano.context.RequestContext(**kwargs) @classmethod def factory(cls, global_conf, **local_conf): def filter(app): return cls(app) return filter murano-9.0.0/murano/api/middleware/ext_context.py0000664000175000017500000001010613656750211022154 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import base64 from keystoneauth1 import exceptions from keystoneauth1.identity import v3 from keystoneauth1 import session as ks_session from oslo_config import cfg from oslo_log import log from webob import exc from murano.common.i18n import _ from murano.common import wsgi CONF = cfg.CONF LOG = log.getLogger(__name__) class ExternalContextMiddleware(wsgi.Middleware): def get_keystone_token(self, user, password): # TODO(starodubcevna): picking up project_name and auth_url from # section related to Cloud Foundry service broker is probably a duct # tape and should be rewritten as soon as we get more non-OpenStack # services as murano recipients. The same is right for project and user # domain names. auth_url = CONF.cfapi.auth_url if not (auth_url.endswith('v2.0') or auth_url.endswith('v3')): auth_url += '/v3' elif auth_url.endswith('v2.0'): auth_url = auth_url.replace('v2.0', 'v3') elif auth_url.endswith('v3'): pass else: LOG.warning('Wrong format for service broker auth url') kwargs = {'auth_url': auth_url, 'username': user, 'password': password, 'project_name': CONF.cfapi.tenant, 'user_domain_name': CONF.cfapi.user_domain_name, 'project_domain_name': CONF.cfapi.project_domain_name} password_auth = v3.Password(**kwargs) session = ks_session.Session(auth=password_auth) self._query_endpoints(password_auth, session) return session.get_token() def _query_endpoints(self, auth, session): if not hasattr(self, '_murano_endpoint'): try: self._murano_endpoint = auth.get_endpoint( session, 'application-catalog') except exceptions.EndpointNotFound: pass if not hasattr(self, '_glare_endpoint'): try: self._glare_endpoint = auth.get_endpoint( session, 'artifact') except exceptions.EndpointNotFound: pass def get_endpoints(self): return { 'murano': getattr(self, '_murano_endpoint', None), 'glare': getattr(self, '_glare_endpoint', None), } def process_request(self, req): """Get keystone token for external request This middleware is used for external requests. It get credentials from request and try to get keystone token for further authorization. :param req: wsgi request object that will be given the context object """ try: credentials = base64.b64decode( req.headers['Authorization'].split(' ')[1]) user, password = credentials.decode('utf-8').split(':', 2) req.headers['X-Auth-Token'] = self.get_keystone_token(user, password) req.endpoints = self.get_endpoints() except KeyError: msg = _("Authorization required") LOG.warning(msg) raise exc.HTTPUnauthorized(explanation=msg) except exceptions.Unauthorized: msg = _("Your credentials are wrong. Please try again") LOG.warning(msg) raise exc.HTTPUnauthorized(explanation=msg) @classmethod def factory(cls, global_conf, **local_conf): def filter(app): return cls(app) return filter murano-9.0.0/murano/api/versions.py0000664000175000017500000000353213656750211017350 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from http import client as http_client from oslo_serialization import jsonutils import webob.dec from murano.common import wsgi class Controller(object): """A wsgi controller that reports which API versions are supported.""" def index(self, req): """Respond to a request for all OpenStack API versions.""" def build_version_object(version, path, status): return { 'id': 'v%s' % version, 'status': status, 'links': [ { 'rel': 'self', 'href': '%s/%s/' % (req.host_url, path), }, ], } version_objs = [] version_objs.extend([ build_version_object(1.0, 'v1', 'CURRENT'), ]) response = webob.Response(request=req, status=http_client.MULTIPLE_CHOICES, content_type='application/json') response.body = jsonutils.dumps(dict(versions=version_objs)) return response @webob.dec.wsgify(RequestClass=wsgi.Request) def __call__(self, req): return self.index(req) def create_resource(conf): return wsgi.Resource(Controller()) murano-9.0.0/murano/policy/0000775000175000017500000000000013656750351015656 5ustar zuulzuul00000000000000murano-9.0.0/murano/policy/congress_rules.py0000664000175000017500000002270313656750211021264 0ustar zuulzuul00000000000000# Copyright (c) 2014 OpenStack Foundation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.dsl import helpers class CongressRulesManager(object): """Converts murano model to list of congress rules The Congress rules are: - murano:objects+(env_id, obj_id, type_name) - murano:properties+(obj_id, prop_name, prop_value) - murano:relationships+(source, target, name) - murano:parent_types+(obj_id, parent_name) - murano:states+(env_id, state) """ _rules = [] _env_id = '' _package_loader = None def convert(self, model, package_loader=None, tenant_id=None): self._rules = [] self._package_loader = package_loader if model is None: return self._rules self._env_id = model['?']['id'] state_rule = StateRule(self._env_id, 'pending') self._rules.append(state_rule) self._walk(model, owner_id=tenant_id) # Convert MuranoProperty containing reference to another object # to MuranoRelationship. object_ids = [rule.obj_id for rule in self._rules if isinstance(rule, ObjectRule)] self._rules = [self._create_relationship(rule, object_ids) for rule in self._rules] relations = [(rel.source_id, rel.target_id) for rel in self._rules if isinstance(rel, RelationshipRule)] closure = self.transitive_closure(relations) for rel in closure: self._rules.append(ConnectedRule(rel[0], rel[1])) return self._rules @staticmethod def transitive_closure(relations): """Computes transitive closure on a directed graph. In other words computes reachability within the graph. E.g. {(1, 2), (2, 3)} -> {(1, 2), (2, 3), (1, 3)} (1, 3) was added because there is path from 1 to 3 in the graph. :param relations: list of relations/edges in form of tuples :return: transitive closure including original relations """ closure = set(relations) while True: # Attempts to discover new transitive relations # by joining 2 subsequent relations/edges within the graph. new_relations = {(x, w) for x, y in closure for q, w in closure if q == y} # Creates union with already discovered relations. closure_until_now = closure | new_relations # If no new relations were discovered in last cycle # the computation is finished. if closure_until_now == closure: return closure closure = closure_until_now def _walk(self, obj, owner_id, path=()): if obj is None: return obj = self._to_dict(obj) new_owner = self._process_item(obj, owner_id, path) or owner_id if isinstance(obj, list) or isinstance(obj, tuple): for v in obj: self._walk(v, new_owner, path) elif isinstance(obj, dict): for key, value in obj.items(): self._walk(value, new_owner, path + (key, )) def _process_item(self, obj, owner_id, path): if isinstance(obj, dict) and '?' in obj: obj_rule = self._create_object_rule(obj, owner_id) self._rules.append(obj_rule) # the environment has 'services' relationships # to all its top-level applications # traversal path is used to test whether # we are at the right place within the tree if path == ('applications',): self._rules.append(RelationshipRule(self._env_id, obj_rule.obj_id, "services")) self._rules.extend( self._create_property_rules(obj_rule.obj_id, obj)) cls = obj['?']['type'] if 'classVersion' in obj['?']: version_spec = obj['?']['classVersion'] else: version_spec = '*' types = self._get_parent_types( cls, self._package_loader, version_spec) self._rules.extend(self._create_parent_type_rules(obj['?']['id'], types)) # current object will be the owner for its subtree return obj_rule.obj_id @staticmethod def _to_dict(obj): # If we have MuranoObject class we need to convert to dictionary. if 'to_dictionary' in dir(obj): return obj.to_dictionary() else: return obj def _create_object_rule(self, app, owner_id): return ObjectRule(app['?']['id'], owner_id, app['?']['type']) def _create_property_rules(self, obj_id, obj, prefix=""): rules = [] # Skip when inside properties of other object. if '?' in obj and prefix != "": rules.append(RelationshipRule(obj_id, obj['?']['id'], prefix.split('.')[0])) return rules for key, value in obj.items(): if key == '?': continue if value is not None: value = self._to_dict(value) if isinstance(value, dict): rules.extend(self._create_property_rules( obj_id, value, prefix + key + ".")) elif isinstance(value, list) or isinstance(obj, tuple): for v in value: v = self._to_dict(v) if not isinstance(v, dict): rule = PropertyRule(obj_id, prefix + key, v) rules.append(rule) else: rule = PropertyRule(obj_id, prefix + key, value) rules.append(rule) return rules @staticmethod def _is_relationship(rule, app_ids): if not isinstance(rule, PropertyRule): return False return rule.prop_value in app_ids def _create_relationship(self, rule, app_ids): if self._is_relationship(rule, app_ids): return RelationshipRule(rule.obj_id, rule.prop_value, rule.prop_name) else: return rule @staticmethod def _get_parent_types(type_name, package_loader, version_spec): type_name, version_spec, _ = helpers.parse_type_string( type_name, version_spec, None) version_spec = helpers.parse_version_spec(version_spec) result = {type_name} if package_loader: pkg = package_loader.load_class_package(type_name, version_spec) cls = pkg.find_class(type_name, False) if cls: result.update(t.name for t in cls.ancestors()) return result @staticmethod def _create_parent_type_rules(app_id, types): rules = [] for type_name in types: rules.append(ParentTypeRule(app_id, type_name)) return rules class ObjectRule(object): def __init__(self, obj_id, owner_id, type_name): self.obj_id = obj_id self.owner_id = owner_id self.type_name = helpers.parse_type_string(type_name, None, None)[0] def __str__(self): return 'murano:objects+("{0}", "{1}", "{2}")'.format(self.obj_id, self.owner_id, self.type_name) class PropertyRule(object): def __init__(self, obj_id, prop_name, prop_value): self.obj_id = obj_id self.prop_name = prop_name self.prop_value = prop_value def __str__(self): return 'murano:properties+("{0}", "{1}", "{2}")'.format( self.obj_id, self.prop_name, self.prop_value) class RelationshipRule(object): def __init__(self, source_id, target_id, rel_name): self.source_id = source_id self.target_id = target_id self.rel_name = rel_name def __str__(self): return 'murano:relationships+("{0}", "{1}", "{2}")'.format( self.source_id, self.target_id, self.rel_name) class ConnectedRule(object): def __init__(self, source_id, target_id): self.source_id = source_id self.target_id = target_id def __str__(self): return 'murano:connected+("{0}", "{1}")'.format( self.source_id, self.target_id) class ParentTypeRule(object): def __init__(self, obj_id, type_name): self.obj_id = obj_id self.type_name = type_name def __str__(self): return 'murano:parent_types+("{0}", "{1}")'.format(self.obj_id, self.type_name) class StateRule(object): def __init__(self, obj_id, state): self.obj_id = obj_id self.state = state def __str__(self): return 'murano:states+("{0}", "{1}")'.format(self.obj_id, self.state) murano-9.0.0/murano/policy/__init__.py0000664000175000017500000000000013656750211017750 0ustar zuulzuul00000000000000murano-9.0.0/murano/policy/model_policy_enforcer.py0000664000175000017500000001372113656750211022571 0ustar zuulzuul00000000000000# Copyright (c) 2014 OpenStack Foundation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import re try: # integration with congress is optional import congressclient.v1.client as congress_client except ImportError: congress_client = None from oslo_log import log as logging from murano.common import auth_utils from murano.common.i18n import _ from murano.policy import congress_rules from murano.policy.modify.actions import action_manager as am LOG = logging.getLogger(__name__) class ValidationError(Exception): """Raised for validation errors.""" pass class ModelPolicyEnforcer(object): """Policy Enforcer Implementation using Congress client Converts murano model to list of congress data rules. We ask congress using simulation api of congress rest client to resolve "murano_system:predeploy_errors(env_id, obj_id, msg)" table along with congress data rules to return validation results. """ def __init__(self, execution_session, action_manager=None): self._execution_session = execution_session self._action_manager = action_manager or am.ModifyActionManager() self._client = None def _create_client(self): if not congress_client: # congress client was not imported raise ImportError("Import congresscliet error") return congress_client.Client( **auth_utils.get_session_client_parameters( service_type='policy', execution_session=self._execution_session)) @property def client(self): if self._client is None: self._client = self._create_client() return self._client def modify(self, obj, package_loader=None): """Modifies model using Congress rule engine. @type obj: object model @param obj: Representation of model starting on environment level (['Objects']) @type class_loader: murano.dsl.class_loader.MuranoClassLoader @param class_loader: Optional. Used for evaluating parent class types @raises ValidationError in case validation was not successful """ model = obj.to_dictionary() LOG.debug('Modifying model') LOG.debug(model) env_id = model['?']['id'] result = self._execute_simulation(package_loader, env_id, model, 'predeploy_modify(eid, oid, action)') raw_actions = result["result"] if raw_actions: actions = self._parse_simulation_result('predeploy_modify', env_id, raw_actions) for action in actions: self._action_manager.apply_action(obj, action) def validate(self, model, package_loader=None): """Validate model using Congress rule engine. @type model: dict @param model: Dictionary representation of model starting on environment level (['Objects']) @type package_loader: murano.dsl.package_loader.MuranoPackageLoader @param package_loader: Optional. Used for evaluating parent class types @raises ValidationError in case validation was not successful """ if model is None: return env_id = model['?']['id'] validation_result = self._execute_simulation( package_loader, env_id, model, 'predeploy_errors(eid, oid, msg)') if validation_result["result"]: messages = self._parse_simulation_result( 'predeploy_errors', env_id, validation_result["result"]) if messages: result_str = "\n ".join(map(str, messages)) msg = _("Murano object model validation failed: {0}").format( "\n " + result_str) LOG.error(msg) raise ValidationError(msg) else: LOG.info('Model valid') def _execute_simulation(self, package_loader, env_id, model, query): rules = congress_rules.CongressRulesManager().convert( model, package_loader, self._execution_session.project_id) rules_str = list(map(str, rules)) # cleanup of data populated by murano driver rules_str.insert(0, 'deleteEnv("{0}")'.format(env_id)) rules_line = " ".join(rules_str) LOG.debug('Congress rules: \n {rules} ' .format(rules='\n '.join(rules_str))) validation_result = self.client.execute_policy_action( "murano_system", "simulate", False, False, {'query': query, 'action_policy': 'murano_action', 'sequence': rules_line}) return validation_result @staticmethod def _parse_simulation_result(query, env_id, results): """Transforms the list of results Transforms a list of strings in format: ['predeploy_errors("env_id_1", "obj_id_1", "message1")', 'predeploy_errors("env_id_2", "obj_id_2", "message2")'] to a list of strings with message only filtered to provided env_id (e.g. 'env_id_1'): ['message2'] """ messages = [] regexp = query + '\("([^"]*)",\s*"([^"]*)",\s*"(.*)"\)' for result in results: match = re.search(regexp, result) if match: if env_id in match.group(1): messages.append(match.group(3)) return messages murano-9.0.0/murano/policy/modify/0000775000175000017500000000000013656750351017145 5ustar zuulzuul00000000000000murano-9.0.0/murano/policy/modify/__init__.py0000664000175000017500000000000013656750211021237 0ustar zuulzuul00000000000000murano-9.0.0/murano/policy/modify/actions/0000775000175000017500000000000013656750351020605 5ustar zuulzuul00000000000000murano-9.0.0/murano/policy/modify/actions/__init__.py0000664000175000017500000000000013656750211022677 0ustar zuulzuul00000000000000murano-9.0.0/murano/policy/modify/actions/default_actions.py0000664000175000017500000001523313656750211024322 0ustar zuulzuul00000000000000# Copyright (c) 2015 OpenStack Foundation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """ Default actions reside in this module. These action are available out of the box for Murano users. """ import yaql.language.utils as utils import murano.dsl.exceptions as exceptions import murano.dsl.murano_object as mo import murano.policy.modify.actions.base as base class ActionUtils(object): def _get_objects_by_id(self, obj, objects=None): if objects is None: objects = {} if isinstance(obj, mo.MuranoObject): objects[obj.object_id] = obj for prop_name in obj.type.properties: try: prop_val = obj.get_property(prop_name) except exceptions.UninitializedPropertyAccessError: continue self._get_objects_by_id(prop_val, objects) elif isinstance(obj, tuple): for item in obj: self._get_objects_by_id(item, objects) elif isinstance(obj, utils.FrozenDict): for k, v in obj.items(): self._get_objects_by_id(k, objects) self._get_objects_by_id(v, objects) return objects @staticmethod def _check_present(obj_id, objects): if obj_id not in objects.keys(): raise ValueError('No such object, obj_id: {0}' .format(obj_id)) class RemoveObjectAction(base.ModifyActionBase, ActionUtils): """Remove object from given model""" def __init__(self, object_id): """Initializes action parameters :param object_id: id of an object """ self._object_id = object_id @staticmethod def _match_object_id(obj_id, obj): return isinstance(obj, mo.MuranoObject) and obj_id == obj.object_id def modify(self, obj): """Remove object from given model""" objects = self._get_objects_by_id(obj) self._check_present(self._object_id, objects) for _obj in objects.values(): for prop_name in _obj.type.properties: try: val = _obj.get_property(prop_name) except exceptions.UninitializedPropertyAccessError: continue if self._match_object_id(self._object_id, val): _obj.set_property(prop_name, None) # remove object from list elif isinstance(val, tuple): filtered_list = list(val) for item in val: if self._match_object_id(self._object_id, item): filtered_list.remove(item) if len(filtered_list) < len(val): _obj.set_property(prop_name, tuple(filtered_list)) # remove object from dict elif isinstance(val, utils.FrozenDict): filtered_dict = {k: v for k, v in val.items() if not self._match_object_id(self._object_id, k) and not self._match_object_id(self._object_id, v)} if len(filtered_dict) < len(val): _obj.set_property(prop_name, utils.FrozenDict(filtered_dict)) class SetPropertyAction(base.ModifyActionBase, ActionUtils): """Set property on given object""" def __init__(self, object_id, prop_name, value): """Initializes action parameters :param object_id: id of an object :param prop_name: property name :param value: new value of the property """ self._object_id = object_id self._prop_name = prop_name self._value = value def modify(self, obj): """Set property on given object in model""" objects = self._get_objects_by_id(obj) self._check_present(self._object_id, objects) target_obj = objects[self._object_id] target_obj.set_property(self._prop_name, self._value) class RemoveRelationAction(SetPropertyAction): """Remove relation from given model""" def __init__(self, object_id, prop_name): super(RemoveRelationAction, self).__init__(object_id, prop_name, None) class AddObjectAction(base.ModifyActionBase, ActionUtils): """Add new object to object model""" def __init__(self, owner_id, owner_relation, type, init_args): """Initializes action parameters :param owner_id: id of an owner :param owner_relation: name of relation on owner :param type: new object type :param init_args: properties of the new object """ self._init_args = init_args self._type = type self._owner_relation = owner_relation self._owner_id = owner_id def modify(self, model): """Creates new object and adds it to the model""" new_obj = {'type': type} new_obj.update(self._init_args) objects = self._get_objects_by_id(model) self._check_present(self._owner_id, objects) owner = objects[self._owner_id] # adding objects to list or dict is not supported for now owner.set_property(self._owner_relation, new_obj) class AddRelationAction(base.ModifyActionBase, ActionUtils): """Adds relation between two existing objects within model""" def __init__(self, source_id, relation, target_id): """Initializes action parameters :param source_id: id of an relation source :param relation: name of relation on source object :param target_id: id of an relation target """ self._source_id = source_id self._relation = relation self._target_id = target_id def modify(self, model): """Creates new object and adds it to the model""" objects = self._get_objects_by_id(model) self._check_present(self._source_id, objects) self._check_present(self._target_id, objects) source = objects[self._source_id] target = objects[self._target_id] # adding objects to list or dict is not supported for now source.set_property(self._relation, target) murano-9.0.0/murano/policy/modify/actions/action_manager.py0000664000175000017500000000651313656750211024126 0ustar zuulzuul00000000000000# Copyright (c) 2015 OpenStack Foundation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_log import log as logging from oslo_utils import importutils from stevedore import extension import yaml LOG = logging.getLogger(__name__) class ModifyActionManager(object): """Manages modify actions The manager encapsulates extensible plugin mechanism for modify actions loading. Provides ability to apply action on given object model based on action specification retrieved from congress """ def __init__(self): self._cache = {} def load_action(self, name): """Loads action by its name Loaded actions are cached. Plugin mechanism is based on distutils entry points. Entry point namespace is 'murano_policy_modify_actions' :param name: action name :return: """ if name in self._cache: return self._cache[name] action = self._load_action(name) self._cache[name] = action return action @staticmethod def _load_action(name): mgr = extension.ExtensionManager( namespace='murano_policy_modify_actions', invoke_on_load=False ) for ext in mgr.extensions: if name == ext.name: target = ext.entry_point_target.replace(':', '.') return importutils.import_class(target) raise ValueError('No such action definition: {action_name}' .format(action_name=name)) def apply_action(self, obj, action_spec): """Apply action on given model Parse action and its parameters from action specification retrieved from congress. Action specification is YAML format. E.g. remove-object: {object_id: abc123}") Action names are keys in top-level dictionary. Values are dictionaries containing key/value parameters of the action :param obj: subject of modification :param action_spec: YAML action spec :raise ValueError: in case of malformed action spec """ actions = yaml.safe_load(action_spec) if not isinstance(actions, dict): raise ValueError('Expected action spec format is ' '"action-name: {{p1: v1, ...}}" ' 'but got "{action_spec}"' .format(action_spec=action_spec)) for name, kwargs in actions.items(): LOG.debug('Executing action {name}, params {params}' .format(name=name, params=kwargs)) # loads action class action_class = self.load_action(name) # creates action instance action_instance = action_class(**kwargs) # apply action on object model action_instance.modify(obj) murano-9.0.0/murano/policy/modify/actions/base.py0000664000175000017500000000301313656750211022061 0ustar zuulzuul00000000000000# Copyright (c) 2015 OpenStack Foundation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import abc class ModifyActionBase(object, metaclass=abc.ABCMeta): """Base class for model modify actions. Class is instantiated base on list of actions returned from congress then is performed on given object model. Base action class initializer doesn't have arguments. However, concrete action classes may have any number of parameters defining action behavior. These parameters must correspond to parameters returned from congress. Action must be registered/exposed to action manager via entry point 'murano_policy_modify_actions'. Only actions registered via this entry point are can be used. """ @abc.abstractmethod def modify(self, model): """Modifies given object model Action parameters are available as instance variables passed to initializer. :param model: object model to be modified """ pass murano-9.0.0/murano/db/0000775000175000017500000000000013656750351014744 5ustar zuulzuul00000000000000murano-9.0.0/murano/db/__init__.py0000664000175000017500000000000013656750211017036 0ustar zuulzuul00000000000000murano-9.0.0/murano/db/api.py0000664000175000017500000000141413656750211016062 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from murano.db import models from murano.db import session def setup_db(): engine = session.get_engine() models.register_models(engine) def drop_db(): engine = session.get_engine() models.unregister_models(engine) murano-9.0.0/murano/db/session.py0000664000175000017500000000513313656750211016776 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """Session management functions.""" import threading from oslo_config import cfg from oslo_db import exception from oslo_db import options from oslo_db.sqlalchemy import session as db_session from oslo_utils import timeutils from murano.db import models CONF = cfg.CONF options.set_defaults(CONF) _FACADE = None _LOCK = threading.Lock() MAX_LOCK_RETRIES = 10 def _create_facade_lazily(): global _LOCK, _FACADE if _FACADE is None: with _LOCK: if _FACADE is None: _FACADE = db_session.EngineFacade.from_config(CONF, sqlite_fk=True) return _FACADE def get_engine(): facade = _create_facade_lazily() return facade.get_engine() def get_session(**kwargs): facade = _create_facade_lazily() return facade.get_session(**kwargs) def get_lock(name, session=None): if session is None: session = get_session() nested = False else: nested = session.transaction is not None return _get_or_create_lock(name, session, nested) def _get_or_create_lock(name, session, nested, retry=0): if nested: session.begin_nested() else: session.begin() existing = session.query(models.Lock).get(name) if existing is None: try: # no lock found, creating a new one lock = models.Lock(id=name, ts=timeutils.utcnow()) lock.save(session) return session.transaction # lock created and acquired except exception.DBDuplicateEntry: session.rollback() if retry >= MAX_LOCK_RETRIES: raise else: # other transaction has created a lock, repeat to acquire # via update return _get_or_create_lock(name, session, nested, retry + 1) else: # lock found, acquiring by doing update existing.ts = timeutils.utcnow() existing.save(session) return session.transaction murano-9.0.0/murano/db/services/0000775000175000017500000000000013656750351016567 5ustar zuulzuul00000000000000murano-9.0.0/murano/db/services/__init__.py0000664000175000017500000000000013656750211020661 0ustar zuulzuul00000000000000murano-9.0.0/murano/db/services/instances.py0000664000175000017500000000746713656750211021141 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_db import exception from oslo_utils import timeutils import sqlalchemy from sqlalchemy.sql import func from murano.db import models from murano.db import session as db_session UNCLASSIFIED = 0 APPLICATION = 100 OS_INSTANCE = 200 class InstanceStatsServices(object): @staticmethod def track_instance(instance_id, environment_id, instance_type, type_name, type_title=None, unit_count=None): unit = db_session.get_session() try: with unit.begin(): env = unit.query(models.Environment).get(environment_id) instance = models.Instance() instance.instance_id = instance_id instance.environment_id = environment_id instance.tenant_id = env.tenant_id instance.instance_type = instance_type instance.created = timeutils.utcnow_ts() instance.destroyed = None instance.type_name = type_name instance.type_title = type_title instance.unit_count = unit_count unit.add(instance) except exception.DBDuplicateEntry: unit.execute( sqlalchemy.update(models.Instance).where( models.Instance.instance_id == instance_id and models.Instance.environment_id == environment_id).values( unit_count=unit_count)) @staticmethod def destroy_instance(instance_id, environment_id): unit = db_session.get_session() instance = unit.query(models.Instance).get( (environment_id, instance_id)) if instance and not instance.destroyed: instance.destroyed = timeutils.utcnow_ts() instance.save(unit) @staticmethod def get_aggregated_stats(environment_id): unit = db_session.get_session() now = timeutils.utcnow_ts() query = unit.query(models.Instance.instance_type, func.sum( func.coalesce(models.Instance.destroyed, now) - models.Instance.created), func.count()).filter( models.Instance.environment_id == environment_id) res = query.group_by(models.Instance.instance_type).all() return [{ 'type': int(record[0]), 'duration': int(record[1]), 'count': int(record[2]) } for record in res] @staticmethod def get_raw_environment_stats(environment_id, instance_id=None): unit = db_session.get_session() now = timeutils.utcnow_ts() query = unit.query(models.Instance).filter( models.Instance.environment_id == environment_id) if instance_id: query = query.filter(models.Instance.instance_id == instance_id) res = query.all() return [{ 'type': record.instance_type, 'duration': (record.destroyed or now) - record.created, 'type_name': record.type_name, 'unit_count': record.unit_count, 'instance_id': record.instance_id, 'type_title': record.type_title, 'active': True if not record.destroyed else False } for record in res] murano-9.0.0/murano/db/services/environment_templates.py0000664000175000017500000001630513656750211023563 0ustar zuulzuul00000000000000# Copyright (c) 2015 Telefonica I+D. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.common.i18n import _ from murano.common import uuidutils from murano.db import models from murano.db import session as db_session from oslo_db import exception as db_exc from oslo_log import log as logging from sqlalchemy.sql import or_ LOG = logging.getLogger(__name__) class EnvTemplateServices(object): @staticmethod def get_env_templates_by(filters): """Returns list of environment-templates. :param filters: property filters :return: Returns list of environment-templates """ unit = db_session.get_session() templates = unit.query(models.EnvironmentTemplate). \ filter_by(**filters).all() return templates @staticmethod def get_env_templates_or_by(filters): """Returns list of environment-templates. :param filters: property filters :return: Returns list of environment-templates """ unit = db_session.get_session() templates = unit.query(models.EnvironmentTemplate). \ filter(or_(*filters)).all() return templates @staticmethod def create(env_template_params, tenant_id): """Creates environment-template with specified params, in particular - name. :param env_template_params: Dict, e.g. {'name': 'temp-name'} :param tenant_id: Tenant Id :return: Created Template """ env_template_params['id'] = uuidutils.generate_uuid() env_template_params['tenant_id'] = tenant_id env_template = models.EnvironmentTemplate() env_template.update(env_template_params) unit = db_session.get_session() with unit.begin(): try: unit.add(env_template) except db_exc.DBDuplicateEntry: msg = _('Environment template specified name already exists') LOG.error(msg) raise db_exc.DBDuplicateEntry(explanation=msg) env_template.update({'description': env_template_params}) env_template.save(unit) return env_template @staticmethod def delete(env_template_id): """Deletes template. :param env_template_id: Template that is going to be deleted """ env_temp_description = EnvTemplateServices.get_description( env_template_id) env_temp_description['description'] = None EnvTemplateServices.save_description( env_temp_description, env_template_id) @staticmethod def remove(env_template_id): """It deletes the environment template from database. :param env_template_id: Template Id to be deleted. """ unit = db_session.get_session() template = unit.query(models.EnvironmentTemplate).get(env_template_id) if template: with unit.begin(): unit.delete(template) @staticmethod def update(env_template_id, body): """It updates the description of an environment template. :param env_template_id: Template Id to be deleted. :param body: The description to be updated. :return: the template description updated """ unit = db_session.get_session() template = unit.query(models.EnvironmentTemplate).get(env_template_id) template.update(body) template.save(unit) return template @staticmethod def get_description(env_template_id): """Returns environment template description for specified template. :param env_template_id: Template Id :return: environment-template Description Object """ template = EnvTemplateServices.get_env_template(env_template_id) if template is None: raise ValueError("The environment template does not exist") return template.description @staticmethod def get_application_description(env_template_id): """Returns environment template description for specified applications. :param env_template_id: Template Id :return: Template Description Object """ env_temp_desc = EnvTemplateServices.get_description(env_template_id) if "services" not in env_temp_desc: return [] else: return env_temp_desc['services'] @staticmethod def save_description(env_template_des, env_template_id=None): """Saves environment template description to specified session. :param env_template_des: Template Description :param env_template_id: The template ID. """ unit = db_session.get_session() template = unit.query(models.EnvironmentTemplate).get(env_template_id) template.update({'description': env_template_des}) template.save(unit) @staticmethod def env_template_exist(env_template_id): """It checks if the environment template exits in database. :param env_template_id: The template ID """ template = EnvTemplateServices.get_env_template(env_template_id) if template is None: return False else: return True @staticmethod def get_env_template(env_template_id): """It obtains the environment template information from the database. :param env_template_id: The template ID """ session = db_session.get_session() return session.query(models.EnvironmentTemplate).get(env_template_id) @staticmethod def clone(env_template_id, tenant_id, env_template_name, is_public): """Clones environment-template with specified params, in particular - name. :param env_template_params: Dict, e.g. {'name': 'temp-name'} :param tenant_id: Tenant Id :return: Created Template """ template = EnvTemplateServices.get_env_template(env_template_id) env_template_params = template.to_dict() env_template_params['id'] = uuidutils.generate_uuid() env_template_params['tenant_id'] = tenant_id env_template_params['name'] = env_template_name env_template_params['is_public'] = is_public env_temp_desc = EnvTemplateServices.get_description(env_template_id) if "services" in env_temp_desc: env_template_params['services'] = env_temp_desc['services'] env_template = models.EnvironmentTemplate() env_template.update(env_template_params) unit = db_session.get_session() with unit.begin(): unit.add(env_template) env_template.update({'description': env_template_params}) env_template.save(unit) return env_template murano-9.0.0/murano/db/services/environments.py0000664000175000017500000002464213656750211021673 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from keystoneclient import exceptions as ks_exceptions from oslo_config import cfg from oslo_log import log as logging import yaml from murano.common import auth_utils from murano.common import uuidutils from murano.db import models from murano.db.services import sessions from murano.db import session as db_session from murano.services import states CONF = cfg.CONF LOG = logging.getLogger(__name__) DEFAULT_NETWORK_TYPES = { "nova": 'io.murano.resources.NovaNetwork', "neutron": 'io.murano.resources.NeutronNetwork' } class EnvironmentServices(object): @staticmethod def get_environments_by(filters): """Returns list of environments :param filters: property filters :return: Returns list of environments """ unit = db_session.get_session() environments = unit.query(models.Environment). \ filter_by(**filters).all() for env in environments: env['status'] = EnvironmentServices.get_status(env['id']) return environments @staticmethod def get_status(environment_id): """Environment can have one of the following statuses: - deploying: there is ongoing deployment for environment - deleting: environment is currently being deleted - deploy failure: last deployment session has failed - delete failure: last delete session has failed - pending: there is at least one session with status `open` and no errors in previous sessions - ready: there are no sessions for environment :param environment_id: Id of environment for which we checking status. :return: Environment status """ # Deploying: there is at least one valid session with status deploying session_list = sessions.SessionServices.get_sessions(environment_id) has_opened = False for session in session_list: if session.state == states.SessionState.DEPLOYING: return states.EnvironmentStatus.DEPLOYING elif session.state == states.SessionState.DELETING: return states.EnvironmentStatus.DELETING elif session.state == states.SessionState.DEPLOY_FAILURE: return states.EnvironmentStatus.DEPLOY_FAILURE elif session.state == states.SessionState.DELETE_FAILURE: return states.EnvironmentStatus.DELETE_FAILURE elif session.state == states.SessionState.OPENED: has_opened = True elif session.state == states.SessionState.DEPLOYED: break if has_opened: return states.EnvironmentStatus.PENDING return states.EnvironmentStatus.READY @staticmethod def create(environment_params, context): # tagging environment by tenant_id for later checks """Creates environment with specified params, in particular - name :param environment_params: Dict, e.g. {'name': 'env-name'} :param context: request context to get the tenant id and the token :return: Created Environment """ objects = {'?': { 'id': uuidutils.generate_uuid(), }} network_driver = EnvironmentServices.get_network_driver(context) objects.update(environment_params) if not objects.get('defaultNetworks'): objects['defaultNetworks'] = \ EnvironmentServices.generate_default_networks(objects['name'], network_driver) objects['?']['type'] = 'io.murano.Environment' objects['?']['metadata'] = {} data = { 'Objects': objects, 'Attributes': [], 'project_id': context.tenant, 'user_id': context.user } environment_params['tenant_id'] = context.tenant environment = models.Environment() environment.update(environment_params) unit = db_session.get_session() with unit.begin(): unit.add(environment) # saving environment as Json to itself environment.update({'description': data}) environment.save(unit) return environment @staticmethod def delete(environment_id, session_id): """Deletes environment and notify orchestration engine about deletion :param environment_id: Environment that is going to be deleted :param session_id: Session Id """ env_description = EnvironmentServices.get_environment_description( environment_id, session_id, False) env_description['Objects'] = None EnvironmentServices.save_environment_description( session_id, env_description, False) @staticmethod def remove(environment_id): unit = db_session.get_session() environment = unit.query(models.Environment).get(environment_id) if environment: with unit.begin(): unit.delete(environment) @staticmethod def get_environment_description(environment_id, session_id=None, inner=True): """Returns environment description for specified environment. If session is specified and not in deploying state function returns modified environment description, otherwise returns actual environment desc. :param environment_id: Environment Id :param session_id: Session Id :param inner: return contents of environment rather than whole Object Model structure :return: Environment Description Object """ unit = db_session.get_session() if session_id: session = unit.query(models.Session).get(session_id) if sessions.SessionServices.validate(session): if session.state != states.SessionState.DEPLOYED: env_description = session.description else: env = unit.query(models.Environment) \ .get(session.environment_id) env_description = env.description else: env = unit.query(models.Environment) \ .get(session.environment_id) env_description = env.description else: env = (unit.query(models.Environment).get(environment_id)) env_description = env.description if not inner: return env_description else: return env_description['Objects'] @staticmethod def save_environment_description(session_id, environment, inner=True): """Saves environment description to specified session. :param session_id: Session Id :param environment: Environment Description :param inner: save modifications to only content of environment rather than whole Object Model structure """ unit = db_session.get_session() session = unit.query(models.Session).get(session_id) if inner: data = session.description.copy() data['Objects'] = environment session.description = data else: session.description = environment session.save(unit) @staticmethod def generate_default_networks(env_name, network_driver): net_config = CONF.find_file( CONF.networking.network_config_file) if net_config: LOG.debug("Loading network configuration from file") with open(net_config) as f: data = yaml.safe_load(f) return EnvironmentServices._objectify(data, { 'ENV': env_name }) network_type = DEFAULT_NETWORK_TYPES[network_driver] LOG.debug("Setting '{net_type}' as environment's " "default network".format(net_type=network_type)) return { 'environment': { '?': { 'id': uuidutils.generate_uuid(), 'type': network_type }, 'name': env_name + '-network' }, 'flat': None } @staticmethod def deploy(session, unit, context): environment = unit.query(models.Environment).get( session.environment_id) if (session.description['Objects'] is None and 'ObjectsCopy' not in session.description): EnvironmentServices.remove(session.environment_id) else: sessions.SessionServices.deploy( session, environment, unit, context) @staticmethod def _objectify(data, replacements): if isinstance(data, dict): if isinstance(data.get('?'), dict): data['?']['id'] = uuidutils.generate_uuid() result = {} for key, value in data.items(): result[key] = EnvironmentServices._objectify( value, replacements) return result elif isinstance(data, list): return [EnvironmentServices._objectify(v, replacements) for v in data] elif isinstance(data, str): for key, value in replacements.items(): data = data.replace('%' + key + '%', value) return data @staticmethod def get_network_driver(context): driver = CONF.networking.driver if driver: LOG.debug("Will use {} as a network driver".format(driver)) return driver session = auth_utils.get_token_client_session( context.auth_token, context.tenant) try: session.get_endpoint(service_type='network') except ks_exceptions.EndpointNotFound: LOG.debug("Will use NovaNetwork as a network driver") return "nova" else: LOG.debug("Will use Neutron as a network driver") return "neutron" murano-9.0.0/murano/db/services/actions.py0000664000175000017500000000304213656750211020573 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.common.helpers import token_sanitizer from murano.db import models from murano.services import states def get_environment(session, unit): environment = unit.query(models.Environment).get( session.environment_id) return environment def update_task(action, session, task, unit): objects = session.description.get('Objects', None) session.state = states.SessionState.DELETING if objects is None \ else states.SessionState.DEPLOYING task_info = models.Task() task_info.environment_id = session.environment_id if objects: task_info.description = token_sanitizer.TokenSanitizer().sanitize( dict(session.description.get('Objects'))) task_info.action = task['action'] status = models.Status() status.text = 'Action {0} is scheduled'.format(action) status.level = 'info' task_info.statuses.append(status) with unit.begin(): unit.add(session) unit.add(task_info) return task_info.id murano-9.0.0/murano/db/services/cf_connections.py0000664000175000017500000000621213656750211022127 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_db import exception import sqlalchemy from murano.db import cfapi_models as models from murano.db import session as db_session def set_tenant_for_org(cf_org_id, tenant): """Store tenant-org link to db""" unit = db_session.get_session() try: with unit.begin(): org = models.CFOrganization() org.id = cf_org_id org.tenant = tenant unit.add(org) except exception.DBDuplicateEntry: unit.execute(sqlalchemy.update(models.CFOrganization).where( models.CFOrganization.id == cf_org_id).values( tenant=tenant)) def set_environment_for_space(cf_space_id, environment_id): """Store env-space link to db""" unit = db_session.get_session() try: with unit.begin(): space = models.CFSpace() space.id = cf_space_id space.environment_id = environment_id unit.add(space) except exception.DBDuplicateEntry: unit.execute(sqlalchemy.update(models.CFSpace).where( models.CFSpace.id == cf_space_id).values( environment_id=environment_id)) def set_instance_for_service(instance_id, service_id, environment_id, tenant): """Store env-space link to db""" unit = db_session.get_session() try: with unit.begin(): connection = models.CFServiceInstance() connection.id = instance_id connection.service_id = service_id connection.environment_id = environment_id connection.tenant = tenant unit.add(connection) except exception.DBDuplicateEntry: unit.execute(sqlalchemy.update(models.CFServiceInstance).where( models.CFServiceInstance.id == instance_id).values( environment_id=environment_id)) def get_environment_for_space(cf_space_id): """Take env id related to space from db""" unit = db_session.get_session() connection = unit.query(models.CFSpace).get(cf_space_id) return connection.environment_id def get_tenant_for_org(cf_org_id): """Take tenant id related to org from db""" unit = db_session.get_session() connection = unit.query(models.CFOrganization).get(cf_org_id) return connection.tenant def get_service_for_instance(instance_id): unit = db_session.get_session() connection = unit.query(models.CFServiceInstance).get(instance_id) return connection def delete_environment_from_space(environment_id): unit = db_session.get_session() unit.query(models.CFSpace).filter( models.CFSpace.environment_id == environment_id).delete() murano-9.0.0/murano/db/services/stats.py0000664000175000017500000000370013656750211020272 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import json from murano.db import models as m from murano.db import session as db_session class Statistics(object): @staticmethod def get_all(): db = db_session.get_session() stats = db.query(m.ApiStats).all() return stats @staticmethod def get_stats_by_id(stats_id): db = db_session.get_session() stats = db.query(m.ApiStats).get(stats_id) return stats @staticmethod def get_stats_by_host(host): db = db_session.get_session() stats = db.query(m.ApiStats).filter(m.ApiStats.host == host).first() return stats @staticmethod def create(host, request_count, error_count, average_response_time, requests_per_tenant, cpu_count, cpu_percent): stats = m.ApiStats() stats.host = host stats.request_count = request_count stats.error_count = error_count stats.average_response_time = average_response_time stats.requests_per_tenant = json.dumps(requests_per_tenant) stats.requests_per_second = 0.0 stats.errors_per_second = 0.0 stats.cpu_count = cpu_count stats.cpu_percent = cpu_percent db = db_session.get_session() stats.save(db) @staticmethod def update(host, stats): db = db_session.get_session() stats.save(db) murano-9.0.0/murano/db/services/core_services.py0000664000175000017500000002351313656750211021773 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_log import log as logging from oslo_utils import timeutils from webob import exc from murano.common.i18n import _ from murano.common import utils from murano.db.services import environment_templates as env_temp from murano.db.services import environments as envs LOG = logging.getLogger(__name__) class CoreServices(object): @staticmethod def get_service_status(environment_id, service_id): """Service can have one of three distinguished statuses: - Deploying: if environment has status deploying and there is at least one orchestration engine report for this service; - Pending: if environment has status `deploying` and there is no report from orchestration engine about this service; - Ready: If environment has status ready. :param environment_id: Service environment, we always know to which environment service belongs to :param service_id: Id of service for which we checking status. :return: Service status """ # Now we assume that service has same status as environment. # TODO(ruhe): implement as designed and described above return envs.EnvironmentServices.get_status(environment_id) @staticmethod def get_data(environment_id, path, session_id=None): get_description = envs.EnvironmentServices.get_environment_description env_description = get_description(environment_id, session_id) if env_description is None: return None if 'services' not in env_description: return [] result = utils.TraverseHelper.get(path, env_description) if path == '/services': get_status = CoreServices.get_service_status for srv in result: srv['?']['status'] = get_status(environment_id, srv['?']['id']) return result @staticmethod def get_template_data(env_template_id, path): """It obtains the data for the template. It includes all the services. In case the path includes information such as the env_template_id, the information provided will be related to the entity specified in the path :param env_template_id: The env_template_id to obtain the data :param path: Id of service for which we checking status. :return: The template description """ temp_description = env_temp.EnvTemplateServices.\ get_description(env_template_id) if temp_description is None: return None if 'services' not in temp_description: return [] result = utils.TraverseHelper.get(path, temp_description) if result is None: msg = _('Environment Template is not found').format( id=env_template_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) return result @staticmethod def post_env_template_data(env_template_id, data, path): """It stores the template data inside the template description. :param env_template_id: The env_template_id to obtain the data :param data: the template description :param path: Id of service for which we checking status. :return: The template description """ get_description = env_temp.EnvTemplateServices.get_description save_description = env_temp.EnvTemplateServices.save_description temp_description = get_description(env_template_id) if temp_description is None: msg = _('Environment Template is not found').format( id=env_template_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) if 'services' not in temp_description: temp_description['services'] = [] if path == '/services': if isinstance(data, list): utils.TraverseHelper.extend(path, data, temp_description) else: utils.TraverseHelper.insert(path, data, temp_description) save_description(temp_description) return data @staticmethod def post_application_data(env_template_id, data, path): """It stores the application data inside the template description. :param env_template_id: The env_template_id to obtain the data :param data: the template description :param path: Id of service for which we checking status. :return: The template description """ get_description = env_temp.EnvTemplateServices.get_description save_description = env_temp.EnvTemplateServices.save_description temp_description = get_description(env_template_id) if temp_description is None: msg = _('Environment Template is not found').format( env_template_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) if 'services' not in temp_description: temp_description['services'] = [] if path == '/services': if isinstance(data, list): utils.TraverseHelper.extend(path, data, temp_description) else: utils.TraverseHelper.insert(path, data, temp_description) save_description(temp_description, env_template_id) return data @staticmethod def post_data(environment_id, session_id, data, path): get_description = envs.EnvironmentServices.get_environment_description save_description = envs.EnvironmentServices.\ save_environment_description env_description = get_description(environment_id, session_id) if env_description is None: msg = _('Environment is not found').format( environment_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) if 'services' not in env_description: env_description['services'] = [] if path == '/services': if isinstance(data, list): utils.TraverseHelper.extend(path, data, env_description) else: utils.TraverseHelper.insert(path, data, env_description) save_description(session_id, env_description) return data @staticmethod def put_data(environment_id, session_id, data, path): get_description = envs.EnvironmentServices.get_environment_description save_description = envs.EnvironmentServices.\ save_environment_description env_description = get_description(environment_id, session_id) utils.TraverseHelper.update(path, data, env_description) env_description['?']['updated'] = str(timeutils.utcnow()) save_description(session_id, env_description) return data @staticmethod def delete_data(environment_id, session_id, path): get_description = envs.EnvironmentServices.get_environment_description save_description = envs.EnvironmentServices.\ save_environment_description env_description = get_description(environment_id, session_id) utils.TraverseHelper.remove(path, env_description) save_description(session_id, env_description) @staticmethod def delete_env_template_data(env_template_id, path): """It deletes a template. :param env_template_id: The env_template_id to be deleted. :param path: The path to check. """ get_description = env_temp.EnvTemplateServices.get_description save_description = env_temp.EnvTemplateServices.save_description tmp_description = get_description(env_template_id) if tmp_description is None: msg = _('Environment Template is not found').format( env_template_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) utils.TraverseHelper.remove(path, tmp_description) save_description(tmp_description, env_template_id) return tmp_description @staticmethod def put_application_data(env_template_id, data, path): """It stores the application data inside the template description. :param env_template_id: The env_template_id to obtain the data :param data: the template description :param path: Id of service for which we checking status. :return: The template description """ get_description = env_temp.EnvTemplateServices.get_description save_description = env_temp.EnvTemplateServices.save_description temp_description = get_description(env_template_id) if temp_description is None: msg = _('Environment Template is not found').format( env_template_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) count = 0 id = path[1:].split('/')[-1] for service in temp_description["services"]: if service["?"]["id"]: if service["?"]["id"] == id: break count + 1 utils.TraverseHelper.update("services/{0}".format(count), data, temp_description) temp_description['updated'] = str(timeutils.utcnow()) save_description(temp_description, env_template_id) return data murano-9.0.0/murano/db/services/sessions.py0000664000175000017500000001071313656750211021004 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from murano.db import models from murano.db import session as db_session from murano.services import actions from murano.services import states class SessionServices(object): @staticmethod def get_sessions(environment_id, state=None): """Get list of sessions for specified environment. :param environment_id: Environment Id :param state: murano.services.states.EnvironmentStatus :return: Sessions for specified Environment, if SessionState is not defined all sessions for specified environment is returned. """ unit = db_session.get_session() # Here we duplicate logic for reducing calls to database # Checks for validation is same as in validate. query = unit.query(models.Session).filter( # Get all session for this environment models.Session.environment_id == environment_id, # Only sessions with same version as current env version are valid ) if state: # in this state, if state is not specified return in all states query = query.filter(models.Session.state == state) return query.order_by(models.Session.version.desc(), models.Session.updated.desc()).all() @staticmethod def create(environment_id, user_id): """Creates session object for specific environment for specified user. :param environment_id: Environment Id :param user_id: User Id :return: Created session """ unit = db_session.get_session() environment = unit.query(models.Environment).get(environment_id) session = models.Session() session.environment_id = environment.id session.user_id = user_id session.state = states.SessionState.OPENED # used for checking if other sessions was deployed before this one session.version = environment.version # all changes to environment is stored here, and translated to # environment only after deployment completed session.description = environment.description with unit.begin(): unit.add(session) return session @staticmethod def validate(session): """Validates session Session is valid only if no other session for same. environment was already deployed on in deploying state, :param session: Session for validation """ # if other session is deploying now current session is invalid unit = db_session.get_session() # if environment version is higher than version on which current # session is created then other session was already deployed current_env = unit.query(models.Environment).\ get(session.environment_id) if current_env.version > session.version: return False # if other session is deploying now current session is invalid other_is_deploying = unit.query(models.Session).filter_by( environment_id=session.environment_id, state=states.SessionState.DEPLOYING ).count() > 0 if session.state == states.SessionState.OPENED and other_is_deploying: return False return True @staticmethod def deploy(session, environment, unit, context): """Prepares and deployes environment Prepares environment for deployment and send deployment command to orchestration engine :param session: session that is going to be deployed :param unit: SQLalchemy session :param token: auth token that is going to be used by orchestration """ deleted = session.description['Objects'] is None action_name = None if deleted else 'deploy' actions.ActionServices.submit_task( action_name, environment.id, {}, environment, session, context, unit) murano-9.0.0/murano/db/cfapi_migration/0000775000175000017500000000000013656750351020077 5ustar zuulzuul00000000000000murano-9.0.0/murano/db/cfapi_migration/__init__.py0000664000175000017500000000000013656750211022171 0ustar zuulzuul00000000000000murano-9.0.0/murano/db/cfapi_migration/alembic.ini0000664000175000017500000000170613656750211022173 0ustar zuulzuul00000000000000# A generic, single database configuration. [alembic] # path to migration scripts script_location = murano/db/cfapi_migration/alembic_migrations # template used to generate migration files # file_template = %%(rev)s_%%(slug)s # max length of characters to apply to the # "slug" field #truncate_slug_length = 40 # set to 'true' to run the environment during # the 'revision' command, regardless of autogenerate # revision_environment = false sqlalchemy.url = # Logging configuration [loggers] keys = root,sqlalchemy,alembic [handlers] keys = console [formatters] keys = generic [logger_root] level = WARN handlers = console qualname = [logger_sqlalchemy] level = WARN handlers = qualname = sqlalchemy.engine [logger_alembic] level = INFO handlers = qualname = alembic [handler_console] class = StreamHandler args = (sys.stderr,) level = NOTSET formatter = generic [formatter_generic] format = %(levelname)-5.5s [%(name)s] %(message)s datefmt = %H:%M:%S murano-9.0.0/murano/db/cfapi_migration/migration.py0000664000175000017500000000523313656750211022440 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import alembic from alembic import config as alembic_config from alembic import migration as alembic_migration from murano.db import session as db_session def get_alembic_config(): path = os.path.join(os.path.dirname(__file__), 'alembic.ini') config = alembic_config.Config(path) config.set_main_option('script_location', 'murano.db.cfapi_migration:alembic_migrations') return config def version(engine=None): """Returns current database version.""" engine = engine or db_session.get_engine() with engine.connect() as conn: context = alembic_migration.MigrationContext.configure(conn) return context.get_current_revision() def upgrade(revision, config=None): """Used for upgrading database. :param version: Desired database version :type version: string """ revision = revision or 'head' config = config or get_alembic_config() alembic.command.upgrade(config, revision) def downgrade(revision, config=None): """Used for downgrading database. :param version: Desired database version7 :type version: string """ revision = revision or 'base' config = config or get_alembic_config() return alembic.command.downgrade(config, revision) def stamp(revision, config=None): """Stamps database with provided revision. Don't run any migrations. :param revision: Should match one from repository or head - to stamp database with most recent revision :type revision: string """ config = config or get_alembic_config() return alembic.command.stamp(config, revision=revision) def revision(message=None, autogenerate=False, config=None): """Creates template for migration. :param message: Text that will be used for migration title :type message: string :param autogenerate: If True - generates diff based on current database state :type autogenerate: bool """ config = config or get_alembic_config() return alembic.command.revision(config, message=message, autogenerate=autogenerate) murano-9.0.0/murano/db/cfapi_migration/alembic_migrations/0000775000175000017500000000000013656750351023727 5ustar zuulzuul00000000000000murano-9.0.0/murano/db/cfapi_migration/alembic_migrations/versions/0000775000175000017500000000000013656750351025577 5ustar zuulzuul00000000000000murano-9.0.0/murano/db/cfapi_migration/alembic_migrations/versions/001_initial_version.py0000664000175000017500000000376013656750211031730 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """ Revision ID: 001 Revises: None Create Date: 2016-03-30 16:34:33.698760 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '001' down_revision = None MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): op.create_table( 'cf_orgs', sa.Column('id', sa.String(length=255), nullable=False), sa.Column('tenant', sa.String(length=255), nullable=False), sa.UniqueConstraint('tenant'), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET) op.create_table( 'cf_spaces', sa.Column('id', sa.String(length=255), nullable=False), sa.Column('environment_id', sa.String(length=255), nullable=False), sa.UniqueConstraint('environment_id'), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET) op.create_table( 'cf_serv_inst', sa.Column('id', sa.String(length=255), primary_key=True), sa.Column('service_id', sa.String(255), nullable=False), sa.Column('environment_id', sa.String(255), nullable=False), sa.Column('tenant', sa.String(255), nullable=False), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET) # end Alembic commands # def downgrade(): op.drop_table('cf_orgs') op.drop_table('cf_spaces') op.drop_table('cf_serv_inst') # end Alembic commands # murano-9.0.0/murano/db/cfapi_migration/alembic_migrations/README0000664000175000017500000000102013656750211024573 0ustar zuulzuul00000000000000Please see https://alembic.readthedocs.org/en/latest/index.html for general documentation To create alembic migrations use: $ murano-cfapi-db-manage revision --message --autogenerate Stamp db with most recent migration version, without actually running migrations $ murano-cfapi-db-manage stamp --revision head Upgrade can be performed by: $ murano-cfapi-db-manage upgrade $ murano-cfapi-db-manage upgrade --revision head Downgrading db: $ murano-cfapi-db-manage downgrade $ murano-cfapi-db-manage downgrade --revision base murano-9.0.0/murano/db/cfapi_migration/alembic_migrations/env.py0000664000175000017500000000274113656750211025070 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from alembic import context from sqlalchemy import create_engine, pool from murano.db import cfapi_models as models # this is the Alembic Config object, which provides # access to the values within the .ini file in use. config = context.config murano_config = config.murano_config # add your model's MetaData object here # for 'autogenerate' support # from myapp import mymodel target_metadata = models.Base.metadata def run_migrations_online(): """Run migrations in 'online' mode. In this scenario we need to create an Engine and associate a connection with the context. """ engine = create_engine( murano_config.database.connection, poolclass=pool.NullPool) with engine.connect() as connection: context.configure(connection=connection, target_metadata=target_metadata) with context.begin_transaction(): context.run_migrations() run_migrations_online() murano-9.0.0/murano/db/cfapi_migration/alembic_migrations/script.py.mako0000664000175000017500000000176513656750211026537 0ustar zuulzuul00000000000000# Copyright ${create_date.year} OpenStack Foundation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """${message} Revision ID: ${up_revision} Revises: ${down_revision} Create Date: ${create_date} """ # revision identifiers, used by Alembic. revision = ${repr(up_revision)} down_revision = ${repr(down_revision)} from alembic import op import sqlalchemy as sa ${imports if imports else ""} def upgrade(): ${upgrades if upgrades else "pass"} def downgrade(): ${downgrades if downgrades else "pass"}murano-9.0.0/murano/db/migration/0000775000175000017500000000000013656750351016735 5ustar zuulzuul00000000000000murano-9.0.0/murano/db/migration/__init__.py0000664000175000017500000000000013656750211021027 0ustar zuulzuul00000000000000murano-9.0.0/murano/db/migration/alembic.ini0000664000175000017500000000167713656750211021040 0ustar zuulzuul00000000000000# A generic, single database configuration. [alembic] # path to migration scripts script_location = murano/db/migration/alembic_migrations # template used to generate migration files # file_template = %%(rev)s_%%(slug)s # max length of characters to apply to the # "slug" field #truncate_slug_length = 40 # set to 'true' to run the environment during # the 'revision' command, regardless of autogenerate # revision_environment = false sqlalchemy.url = # Logging configuration [loggers] keys = root,sqlalchemy,alembic [handlers] keys = console [formatters] keys = generic [logger_root] level = WARN handlers = console qualname = [logger_sqlalchemy] level = WARN handlers = qualname = sqlalchemy.engine [logger_alembic] level = INFO handlers = qualname = alembic [handler_console] class = StreamHandler args = (sys.stderr,) level = NOTSET formatter = generic [formatter_generic] format = %(levelname)-5.5s [%(name)s] %(message)s datefmt = %H:%M:%Smurano-9.0.0/murano/db/migration/helpers.py0000664000175000017500000000354513656750211020753 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from alembic import op import sqlalchemy as sa def transform_table(name, renames, defaults, *columns, **kw): def escape(val): if isinstance(val, str): return "'{0}'".format(val) elif val is None: return 'NULL' else: return val engine = op.get_bind() meta = sa.MetaData(bind=engine) meta.reflect() new_name = name + '__tmp' old_table = meta.tables[name] mapping = dict( (renames.get(col.name, col.name), col.name) for col in old_table.c ) columns_to_select = [ old_table.c[mapping[c.name]] if c.name in mapping else escape(defaults.get(c.name)) for c in columns if isinstance(c, sa.Column) ] select_as = [ c.name for c in columns if isinstance(c, sa.Column) ] select = sa.sql.select(columns_to_select) op.create_table(new_name, *columns, **kw) meta.reflect() new_table = meta.tables[new_name] insert = sa.sql.insert(new_table) if engine.dialect.dialect_description == 'postgresql+psycopg2': insert = insert.returning(next(iter(new_table.primary_key.columns))) insert = insert.from_select(select_as, select) engine.execute(insert) op.drop_table(name) op.rename_table(new_name, name) murano-9.0.0/murano/db/migration/migration.py0000664000175000017500000000522513656750211021277 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import alembic from alembic import config as alembic_config from alembic import migration as alembic_migration from murano.db import session as db_session def get_alembic_config(): path = os.path.join(os.path.dirname(__file__), 'alembic.ini') config = alembic_config.Config(path) config.set_main_option('script_location', 'murano.db.migration:alembic_migrations') return config def version(engine=None): """Returns current database version.""" engine = engine or db_session.get_engine() with engine.connect() as conn: context = alembic_migration.MigrationContext.configure(conn) return context.get_current_revision() def upgrade(revision, config=None): """Used for upgrading database. :param version: Desired database version :type version: string """ revision = revision or 'head' config = config or get_alembic_config() alembic.command.upgrade(config, revision) def downgrade(revision, config=None): """Used for downgrading database. :param version: Desired database version7 :type version: string """ revision = revision or 'base' config = config or get_alembic_config() return alembic.command.downgrade(config, revision) def stamp(revision, config=None): """Stamps database with provided revision. Don't run any migrations. :param revision: Should match one from repository or head - to stamp database with most recent revision :type revision: string """ config = config or get_alembic_config() return alembic.command.stamp(config, revision=revision) def revision(message=None, autogenerate=False, config=None): """Creates template for migration. :param message: Text that will be used for migration title :type message: string :param autogenerate: If True - generates diff based on current database state :type autogenerate: bool """ config = config or get_alembic_config() return alembic.command.revision(config, message=message, autogenerate=autogenerate) murano-9.0.0/murano/db/migration/alembic_migrations/0000775000175000017500000000000013656750351022565 5ustar zuulzuul00000000000000murano-9.0.0/murano/db/migration/alembic_migrations/versions/0000775000175000017500000000000013656750351024435 5ustar zuulzuul00000000000000murano-9.0.0/murano/db/migration/alembic_migrations/versions/004_change_package_desc_type.py0000664000175000017500000001542313656750211032331 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """ Change type of description field in package table. Revision ID: 004 Revises: table package """ from alembic import op import sqlalchemy as sa import murano.db.migration.helpers as helpers from murano.db.sqla import types as st # revision identifiers, used by Alembic. revision = '004' down_revision = '003' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): engine = op.get_bind() if engine.dialect.dialect_description.startswith('mysql'): engine.execute('SET FOREIGN_KEY_CHECKS=0') if engine.dialect.dialect_description == 'postgresql+psycopg2': op.drop_constraint('package_to_tag_package_id_fkey', 'package_to_tag', 'foreignkey') op.drop_constraint('package_to_tag_tag_id_fkey', 'package_to_tag', 'foreignkey') op.drop_constraint('package_to_category_package_id_fkey', 'package_to_category', 'foreignkey') op.drop_constraint('class_definition_package_id_fkey', 'class_definition', 'foreignkey') helpers.transform_table( 'package', {}, {}, sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('archive', st.LargeBinary(), nullable=True), sa.Column('fully_qualified_name', sa.String(length=128), nullable=False, unique=True), sa.Column('type', sa.String(length=20), nullable=False), sa.Column('author', sa.String(length=80), nullable=True), sa.Column('name', sa.String(length=80), nullable=False), sa.Column('enabled', sa.Boolean(), nullable=True), sa.Column('description', sa.Text(), nullable=False), sa.Column('is_public', sa.Boolean(), nullable=True), sa.Column('logo', st.LargeBinary(), nullable=True), sa.Column('owner_id', sa.String(length=36), nullable=False), sa.Column('ui_definition', sa.Text(), nullable=True), sa.Column('supplier_logo', sa.types.LargeBinary), sa.Column('supplier', sa.types.Text()), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.create_index('ix_package_fqn', 'package', ['fully_qualified_name']) if engine.dialect.dialect_description.startswith('mysql'): engine.execute('SET FOREIGN_KEY_CHECKS=1') if engine.dialect.dialect_description == 'postgresql+psycopg2': op.create_foreign_key('package_to_tag_package_id_fkey', 'package_to_tag', 'package', ['package_id'], ['id']) op.create_foreign_key('package_to_tag_tag_id_fkey', 'package_to_tag', 'tag', ['tag_id'], ['id']) op.create_foreign_key('package_to_category_package_id_fkey', 'package_to_category', 'package', ['package_id'], ['id']) op.create_foreign_key('class_definition_package_id_fkey', 'class_definition', 'package', ['package_id'], ['id']) # end Alembic commands # def downgrade(): engine = op.get_bind() if engine.dialect.dialect_description.startswith('mysql'): engine.execute('SET FOREIGN_KEY_CHECKS=0') if engine.dialect.dialect_description == 'postgresql+psycopg2': op.drop_constraint('package_to_tag_package_id_fkey', 'package_to_tag', 'foreignkey') op.drop_constraint('package_to_tag_tag_id_fkey', 'package_to_tag', 'foreignkey') op.drop_constraint('package_to_category_package_id_fkey', 'package_to_category', 'foreignkey') op.drop_constraint('class_definition_package_id_fkey', 'class_definition', 'foreignkey') helpers.transform_table( 'package', {}, {}, sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('archive', st.LargeBinary(), nullable=True), sa.Column('fully_qualified_name', sa.String(length=128), nullable=False, unique=True), sa.Column('type', sa.String(length=20), nullable=False), sa.Column('author', sa.String(length=80), nullable=True), sa.Column('name', sa.String(length=80), nullable=False), sa.Column('enabled', sa.Boolean(), nullable=True), sa.Column('description', sa.String(length=512), nullable=False), sa.Column('is_public', sa.Boolean(), nullable=True), sa.Column('logo', st.LargeBinary(), nullable=True), sa.Column('owner_id', sa.String(length=36), nullable=False), sa.Column('ui_definition', sa.Text(), nullable=True), sa.Column('supplier_logo', sa.types.LargeBinary), sa.Column('supplier', sa.types.Text()), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.create_index('ix_package_fqn', 'package', ['fully_qualified_name']) if engine.dialect.dialect_description.startswith('mysql'): engine.execute('SET FOREIGN_KEY_CHECKS=1') if engine.dialect.dialect_description == 'postgresql+psycopg2': op.create_foreign_key('package_to_tag_package_id_fkey', 'package_to_tag', 'package', ['package_id'], ['id']) op.create_foreign_key('package_to_tag_tag_id_fkey', 'package_to_tag', 'tag', ['tag_id'], ['id']) op.create_foreign_key('package_to_category_package_id_fkey', 'package_to_category', 'package', ['package_id'], ['id']) op.create_foreign_key('class_definition_package_id_fkey', 'class_definition', 'package', ['package_id'], ['id']) # end Alembic commands # murano-9.0.0/murano/db/migration/alembic_migrations/versions/002_add_package_supplier_info.py0000664000175000017500000000224713656750211032531 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """empty message Revision ID: 002 Revises: None Create Date: 2014-06-23 16:34:33.698760 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '002' down_revision = '001' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): op.add_column( 'package', sa.Column('supplier_logo', sa.types.LargeBinary) ) op.add_column( 'package', sa.Column('supplier', sa.types.Text()) ) # end Alembic commands # def downgrade(): op.drop_column('package', 'supplier') op.drop_column('package', 'supplier_logo') # end Alembic commands # murano-9.0.0/murano/db/migration/alembic_migrations/versions/012_support_domain_users.py0000664000175000017500000000276113656750211031656 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """ Change sizes of columns that hold keystone user ID to support domain users which are 64 characters long. Revision ID: 012 Revises: table session, table package """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '012' down_revision = '011' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): with op.batch_alter_table("session") as batch_op: batch_op.alter_column('user_id', type_=sa.String(64), nullable=False) with op.batch_alter_table("package") as batch_op2: batch_op2.alter_column('owner_id', type_=sa.String(64), nullable=False) # end Alembic commands # def downgrade(): with op.batch_alter_table("session") as batch_op: batch_op.alter_column('user_id', type_=sa.String(36), nullable=False) with op.batch_alter_table("package") as batch_op2: batch_op2.alter_column('owner_id', type_=sa.String(36), nullable=False) # end Alembic commands # murano-9.0.0/murano/db/migration/alembic_migrations/versions/011_add_is_public_to_template.py0000664000175000017500000000223413656750211032542 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """ Add the is_public column to the environment-template for public environment template functionality. Revision ID: 011 Revises: table template """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '011' down_revision = '010' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): op.add_column('environment-template', sa.Column('is_public', sa.Boolean(), default=False, nullable=True)) # end Alembic commands # def downgrade(): op.drop_column('environment-template', 'is_public') # end Alembic commands # murano-9.0.0/murano/db/migration/alembic_migrations/versions/015_adding_text_description.py0000664000175000017500000000256413656750211032273 0ustar zuulzuul00000000000000# Copyright 2016 OpenStack Foundation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """Increase time resolution for status reports Revision ID: 015 Create Date: 2016-06-17 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '015' down_revision = '014' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): op.add_column('environment', sa.Column('description_text', sa.Text(), nullable=True)) op.add_column('environment-template', sa.Column('description_text', sa.Text(), nullable=True)) def downgrade(): with op.batch_alter_table("environment") as batch_op: batch_op.drop_column('description_text') with op.batch_alter_table("environment-template") as batch_op2: batch_op2.drop_column('description_text') murano-9.0.0/murano/db/migration/alembic_migrations/versions/010_remove_unused_networking_column.py0000664000175000017500000000236113656750211034070 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """ Revision ID: 010 Revises: None Create Date: 2015-09-08 00:00:00.698760 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '010' down_revision = '009' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): with op.batch_alter_table("environment") as batch_op: batch_op.drop_column('networking') with op.batch_alter_table("environment-template") as batch_op2: batch_op2.drop_column('networking') def downgrade(): op.add_column('environment', sa.Column('networking', sa.Text(), nullable=True)) op.add_column('environment-template', sa.Column('networking', sa.Text(), nullable=True)) murano-9.0.0/murano/db/migration/alembic_migrations/versions/006_add_task_result.py0000664000175000017500000000175413656750211030546 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """empty message Revision ID: 006 Revises: None Create Date: 2015-02-15 12:14:12 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '006' down_revision = '005' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): op.add_column('task', sa.Column('result', sa.types.Text())) # end Alembic commands # def downgrade(): op.drop_column('task', 'result') # end Alembic commands # murano-9.0.0/murano/db/migration/alembic_migrations/versions/014_increase_status_time_resolution.py0000664000175000017500000000350713656750211034070 0ustar zuulzuul00000000000000# Copyright 2016 OpenStack Foundation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """Increase time resolution for status reports Revision ID: 014 Create Date: 2016-04-28 """ from alembic import op import sqlalchemy.dialects.mysql as sa_mysql # revision identifiers, used by Alembic. revision = '014' down_revision = '013' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def _check_dbms(engine): dialect = engine.dialect.dialect_description version = engine.dialect.server_version_info if dialect.startswith('mysql') and version >= (5, 6, 4): return True if 'MariaDB' in version and version >= (5, 3): return True return False def upgrade(): engine = op.get_bind() if _check_dbms(engine): with op.batch_alter_table('status') as batch_op: batch_op.alter_column( 'created', type_=sa_mysql.DATETIME(fsp=6), nullable=False) batch_op.alter_column( 'updated', type_=sa_mysql.DATETIME(fsp=6), nullable=False) def downgrade(): engine = op.get_bind() if _check_dbms(engine): with op.batch_alter_table('status') as batch_op: batch_op.alter_column( 'created', type_=sa_mysql.DATETIME(), nullable=False) batch_op.alter_column( 'updated', type_=sa_mysql.DATETIME(), nullable=False) murano-9.0.0/murano/db/migration/alembic_migrations/versions/009_add_cloudfoundry_connections.py0000664000175000017500000000412713656750211033325 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """ Revision ID: 009 Revises: None Create Date: 2015-08-17 16:34:33.698760 """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '009' down_revision = '008' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): op.create_table( 'cf_orgs', sa.Column('id', sa.String(length=255), nullable=False), sa.Column('tenant', sa.String(length=255), nullable=False), sa.UniqueConstraint('tenant'), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET) op.create_table( 'cf_spaces', sa.Column('id', sa.String(length=255), nullable=False), sa.Column('environment_id', sa.String(length=255), nullable=False), sa.ForeignKeyConstraint(['environment_id'], ['environment.id'], ), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET) op.create_table( 'cf_serv_inst', sa.Column('id', sa.String(length=255), primary_key=True), sa.Column('service_id', sa.String(255), nullable=False), sa.Column('environment_id', sa.String(255), nullable=False), sa.Column('tenant', sa.String(255), nullable=False), sa.ForeignKeyConstraint(['environment_id'], ['environment.id'],), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET) # end Alembic commands # def downgrade(): op.drop_table('cf_orgs') op.drop_table('cf_spaces') op.drop_table('cf_serv_inst') # end Alembic commands # ././@LongLink0000000000000000000000000000015000000000000011211 Lustar 00000000000000murano-9.0.0/murano/db/migration/alembic_migrations/versions/016_increase_task_description_text_size.pymurano-9.0.0/murano/db/migration/alembic_migrations/versions/016_increase_task_description_text_size0000664000175000017500000000272613656750211034264 0ustar zuulzuul00000000000000# Copyright 2016 OpenStack Foundation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """Increase the size of the text columns storing object model in the task table Revision ID: 016 Revises: 015 Create Date: 2016-08-30 10:45:00 """ from alembic import op import sqlalchemy as sa import sqlalchemy.dialects.mysql as sa_mysql # revision identifiers, used by Alembic. revision = '016' down_revision = '015' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): engine = op.get_bind() if engine.dialect.dialect_description.startswith('mysql'): with op.batch_alter_table('task') as batch_op: batch_op.alter_column('description', type_=sa_mysql.LONGTEXT()) def downgrade(): engine = op.get_bind() if engine.dialect.dialect_description.startswith('mysql'): with op.batch_alter_table('task') as batch_op: batch_op.alter_column('description', type_=sa.TEXT()) murano-9.0.0/murano/db/migration/alembic_migrations/versions/013_increase_description_text_size.py0000664000175000017500000000417713656750211033670 0ustar zuulzuul00000000000000# Copyright 2016 OpenStack Foundation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """Increase the size of the text columns storing object model Revision ID: 013 Revises: 012 Create Date: 2016-04-12 15:46:12.251155 """ from alembic import op import sqlalchemy as sa import sqlalchemy.dialects.mysql as sa_mysql # revision identifiers, used by Alembic. revision = '013' down_revision = '012' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): engine = op.get_bind() if engine.dialect.dialect_description.startswith('mysql'): with op.batch_alter_table('session') as batch_op: batch_op.alter_column('description', type_=sa_mysql.LONGTEXT()) with op.batch_alter_table('environment') as batch_op: batch_op.alter_column('description', type_=sa_mysql.LONGTEXT()) with op.batch_alter_table('environment-template') as batch_op: batch_op.alter_column('description', type_=sa_mysql.LONGTEXT()) def downgrade(): engine = op.get_bind() if engine.dialect.dialect_description.startswith('mysql'): with op.batch_alter_table('session') as batch_op: batch_op.alter_column('description', type_=sa.TEXT()) with op.batch_alter_table('environment') as batch_op: batch_op.alter_column('description', type_=sa.TEXT()) with op.batch_alter_table('environment-template') as batch_op: batch_op.alter_column('description', type_=sa.TEXT()) murano-9.0.0/murano/db/migration/alembic_migrations/versions/007_add_locks.py0000664000175000017500000000224113656750211027312 0ustar zuulzuul00000000000000# Copyright 2015 OpenStack Foundation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from alembic import op import sqlalchemy as sa """add_locks Revision ID: 007 Revises: 006 Create Date: 2015-04-08 14:01:06.458512 """ # revision identifiers, used by Alembic. revision = '007' down_revision = '006' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): op.create_table( 'locks', sa.Column('id', sa.String(length=50), nullable=False), sa.Column('ts', sa.DateTime(), nullable=False), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET) def downgrade(): op.drop_table('locks') murano-9.0.0/murano/db/migration/alembic_migrations/versions/005_environment-template.py0000664000175000017500000000345313656750211031550 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """ Create the environment-template table for the environment template functionality. Revision ID: 005 Revises: table template """ from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision = '005' down_revision = '004' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): """It creates the table environment-template. The name plus the tenant_id should be unique in the table, since each tenant cannot duplicate template names. """ op.create_table( 'environment-template', sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=255), nullable=False), sa.Column('name', sa.String(length=255), nullable=False), sa.Column('tenant_id', sa.String(length=36), nullable=False), sa.Column('version', sa.BigInteger(), nullable=False), sa.Column('description', sa.Text(), nullable=False), sa.Column('networking', sa.Text(), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('tenant_id', 'name'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) def downgrade(): op.drop_table('environment-template') murano-9.0.0/murano/db/migration/alembic_migrations/versions/003_add_action_entry.py0000664000175000017500000000603513656750211030676 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """ Add action column to deployment table. Revision ID: 003 Revises: table deployment Create Date: 2014-07-30 16:11:33.244 """ from alembic import op import sqlalchemy as sa import murano.db.migration.helpers as helpers # revision identifiers, used by Alembic. revision = '003' down_revision = '002' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): op.rename_table('deployment', 'task') op.add_column( 'task', sa.Column('action', sa.types.Text()) ) op.create_table( 'deployment', sa.Column('id', sa.String(length=36), nullable=False)) helpers.transform_table( 'status', {'deployment_id': 'task_id'}, {}, sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('entity_id', sa.String(length=255), nullable=True), sa.Column('entity', sa.String(length=10), nullable=True), sa.Column('task_id', sa.String(length=36), nullable=True), sa.Column('text', sa.Text(), nullable=False), sa.Column('level', sa.String(length=32), nullable=False), sa.Column('details', sa.Text(), nullable=True), sa.ForeignKeyConstraint(['task_id'], ['task.id'], ), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.drop_table('deployment') def downgrade(): op.drop_column('task', 'action') op.rename_table('task', 'deployment') op.create_table( 'task', sa.Column('id', sa.String(length=36), nullable=False)) helpers.transform_table( 'status', {'task_id': 'deployment_id'}, {}, sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('entity_id', sa.String(length=255), nullable=True), sa.Column('entity', sa.String(length=10), nullable=True), sa.Column('deployment_id', sa.String(length=36), nullable=True), sa.Column('text', sa.Text(), nullable=False), sa.Column('level', sa.String(length=32), nullable=False), sa.Column('details', sa.Text(), nullable=True), sa.ForeignKeyConstraint(['deployment_id'], ['deployment.id'], ), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.drop_table('task') # end Alembic commands # murano-9.0.0/murano/db/migration/alembic_migrations/versions/008_fix_unique_constraints.py0000664000175000017500000002023213656750211032173 0ustar zuulzuul00000000000000# Copyright 2015 OpenStack Foundation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from alembic import op import sqlalchemy as sa import murano.db.migration.helpers as helpers from murano.db.sqla import types as st """fix_unique_constraints Revision ID: 008 Revises: 007 Create Date: 2015-04-08 14:01:06.458512 """ # revision identifiers, used by Alembic. revision = '008' down_revision = '007' MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def upgrade(): engine = op.get_bind() if engine.dialect.dialect_description.startswith('mysql'): engine.execute('SET FOREIGN_KEY_CHECKS=0') if engine.dialect.dialect_description == 'postgresql+psycopg2': op.drop_constraint('package_to_tag_package_id_fkey', 'package_to_tag', 'foreignkey') op.drop_constraint('package_to_tag_tag_id_fkey', 'package_to_tag', 'foreignkey') op.drop_constraint('package_to_category_package_id_fkey', 'package_to_category', 'foreignkey') op.drop_constraint('class_definition_package_id_fkey', 'class_definition', 'foreignkey') helpers.transform_table( 'package', {}, {}, sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('archive', st.LargeBinary(), nullable=True), sa.Column('fully_qualified_name', sa.String(length=128), nullable=False), sa.Column('type', sa.String(length=20), nullable=False), sa.Column('author', sa.String(length=80), nullable=True), sa.Column('name', sa.String(length=80), nullable=False), sa.Column('enabled', sa.Boolean(), nullable=True), sa.Column('description', sa.Text(), nullable=False), sa.Column('is_public', sa.Boolean(), nullable=True), sa.Column('logo', st.LargeBinary(), nullable=True), sa.Column('owner_id', sa.String(length=36), nullable=False), sa.Column('ui_definition', sa.Text(), nullable=True), sa.Column('supplier_logo', sa.types.LargeBinary), sa.Column('supplier', sa.types.Text()), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) helpers.transform_table( 'class_definition', {}, {}, sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('name', sa.String(length=128), nullable=False), sa.Column('package_id', sa.String(length=36), nullable=True), sa.ForeignKeyConstraint(['package_id'], ['package.id'], ), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) if engine.dialect.dialect_description.startswith('mysql'): engine.execute('SET FOREIGN_KEY_CHECKS=1') if engine.dialect.dialect_description == 'postgresql+psycopg2': op.create_foreign_key('package_to_tag_package_id_fkey', 'package_to_tag', 'package', ['package_id'], ['id']) op.create_foreign_key('package_to_tag_tag_id_fkey', 'package_to_tag', 'tag', ['tag_id'], ['id']) op.create_foreign_key('package_to_category_package_id_fkey', 'package_to_category', 'package', ['package_id'], ['id']) op.create_foreign_key('class_definition_package_id_fkey', 'class_definition', 'package', ['package_id'], ['id']) op.create_index('ix_package_fqn_and_owner', table_name='package', columns=['fully_qualified_name', 'owner_id'], unique=True) op.create_index('ix_class_definition_name', 'class_definition', ['name']) def downgrade(): op.drop_index('ix_package_fqn_and_owner', table_name='package') op.drop_index('ix_class_definition_name', table_name='class_definition') engine = op.get_bind() if engine.dialect.dialect_description.startswith('mysql'): engine.execute('SET FOREIGN_KEY_CHECKS=0') if engine.dialect.dialect_description == 'postgresql+psycopg2': op.drop_constraint('package_to_tag_package_id_fkey', 'package_to_tag', 'foreignkey') op.drop_constraint('package_to_tag_tag_id_fkey', 'package_to_tag', 'foreignkey') op.drop_constraint('package_to_category_package_id_fkey', 'package_to_category', 'foreignkey') op.drop_constraint('class_definition_package_id_fkey', 'class_definition', 'foreignkey') helpers.transform_table( 'class_definition', {}, {}, sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('name', sa.String(length=128), nullable=False, unique=True), sa.Column('package_id', sa.String(length=36), nullable=True), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) helpers.transform_table( 'package', {}, {}, sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('archive', st.LargeBinary(), nullable=True), sa.Column('fully_qualified_name', sa.String(length=128), nullable=False, unique=True), sa.Column('type', sa.String(length=20), nullable=False), sa.Column('author', sa.String(length=80), nullable=True), sa.Column('name', sa.String(length=80), nullable=False), sa.Column('enabled', sa.Boolean(), nullable=True), sa.Column('description', sa.Text(), nullable=False), sa.Column('is_public', sa.Boolean(), nullable=True), sa.Column('logo', st.LargeBinary(), nullable=True), sa.Column('owner_id', sa.String(length=36), nullable=False), sa.Column('ui_definition', sa.Text(), nullable=True), sa.Column('supplier_logo', sa.types.LargeBinary), sa.Column('supplier', sa.types.Text()), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) if engine.dialect.dialect_description.startswith('mysql'): engine.execute('SET FOREIGN_KEY_CHECKS=1') if engine.dialect.dialect_description == 'postgresql+psycopg2': op.create_foreign_key('package_to_tag_package_id_fkey', 'package_to_tag', 'package', ['package_id'], ['id']) op.create_foreign_key('package_to_tag_tag_id_fkey', 'package_to_tag', 'tag', ['tag_id'], ['id']) op.create_foreign_key('package_to_category_package_id_fkey', 'package_to_category', 'package', ['package_id'], ['id']) op.create_foreign_key('class_definition_package_id_fkey', 'class_definition', 'package', ['package_id'], ['id']) op.create_index('ix_class_definition_name', 'class_definition', ['name']) murano-9.0.0/murano/db/migration/alembic_migrations/versions/001_initial_version.py0000664000175000017500000002501513656750211030563 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """empty message Revision ID: 001 Revises: None Create Date: 2014-05-29 16:32:33.698760 """ import uuid from alembic import op from oslo_utils import timeutils import sqlalchemy as sa from sqlalchemy.sql.expression import table as sa_table from murano.common import consts from murano.db.sqla import types as st # revision identifiers, used by Alembic. revision = '001' down_revision = None MYSQL_ENGINE = 'InnoDB' MYSQL_CHARSET = 'utf8' def _create_default_categories(op): bind = op.get_bind() table = sa_table( 'category', sa.Column('id', sa.String(length=36), primary_key=True), sa.Column('created', sa.DateTime()), sa.Column('updated', sa.DateTime()), sa.Column('name', sa.String(length=80))) now = timeutils.utcnow() for category in consts.CATEGORIES: values = {'id': uuid.uuid4().hex, 'name': category, 'updated': now, 'created': now} bind.execute(table.insert(values=values)) def upgrade(): op.create_table( 'environment', sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=255), nullable=False), sa.Column('name', sa.String(length=255), nullable=False), sa.Column('tenant_id', sa.String(length=36), nullable=False), sa.Column('version', sa.BigInteger(), nullable=False), sa.Column('description', sa.Text(), nullable=False), sa.Column('networking', sa.Text(), nullable=True), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('tenant_id', 'name'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.create_table( 'tag', sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('name', sa.String(length=80), nullable=False), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('name'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.create_table( 'category', sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('name', sa.String(length=80), nullable=False, unique=True), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.create_index('ix_category_name', 'category', ['name']) op.create_table( 'apistats', sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.Integer(), nullable=False), sa.Column('host', sa.String(length=80), nullable=True), sa.Column('request_count', sa.BigInteger(), nullable=True), sa.Column('error_count', sa.BigInteger(), nullable=True), sa.Column('average_response_time', sa.Float(), nullable=True), sa.Column('requests_per_tenant', sa.Text(), nullable=True), sa.Column('requests_per_second', sa.Float(), nullable=True), sa.Column('errors_per_second', sa.Float(), nullable=True), sa.Column('cpu_count', sa.Integer(), nullable=True), sa.Column('cpu_percent', sa.Float(), nullable=True), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.create_table( 'instance_stats', sa.Column('environment_id', sa.String(length=255), nullable=False), sa.Column('instance_id', sa.String(length=255), nullable=False), sa.Column('instance_type', sa.Integer(), nullable=False), sa.Column('created', sa.Integer(), nullable=False), sa.Column('destroyed', sa.Integer(), nullable=True), sa.Column('type_name', sa.String(length=512), nullable=False), sa.Column('type_title', sa.String(length=512), nullable=True), sa.Column('unit_count', sa.Integer(), nullable=True), sa.Column('tenant_id', sa.String(length=36), nullable=False), sa.PrimaryKeyConstraint('environment_id', 'instance_id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.create_table( 'package', sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('archive', st.LargeBinary(), nullable=True), sa.Column('fully_qualified_name', sa.String(length=128), nullable=False, unique=True), sa.Column('type', sa.String(length=20), nullable=False), sa.Column('author', sa.String(length=80), nullable=True), sa.Column('name', sa.String(length=80), nullable=False), sa.Column('enabled', sa.Boolean(), nullable=True), sa.Column('description', sa.String(length=512), nullable=False), sa.Column('is_public', sa.Boolean(), nullable=True), sa.Column('logo', st.LargeBinary(), nullable=True), sa.Column('owner_id', sa.String(length=36), nullable=False), sa.Column('ui_definition', sa.Text(), nullable=True), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.create_index('ix_package_fqn', 'package', ['fully_qualified_name']) op.create_table( 'session', sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('environment_id', sa.String(length=255), nullable=True), sa.Column('user_id', sa.String(length=36), nullable=False), sa.Column('state', sa.String(length=36), nullable=False), sa.Column('description', sa.Text(), nullable=False), sa.Column('version', sa.BigInteger(), nullable=False), sa.ForeignKeyConstraint(['environment_id'], ['environment.id'], ), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.create_table( 'deployment', sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('started', sa.DateTime(), nullable=False), sa.Column('finished', sa.DateTime(), nullable=True), sa.Column('description', sa.Text(), nullable=False), sa.Column('environment_id', sa.String(length=255), nullable=True), sa.ForeignKeyConstraint(['environment_id'], ['environment.id'], ), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.create_table( 'class_definition', sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('name', sa.String(length=128), nullable=False, unique=True), sa.Column('package_id', sa.String(length=36), nullable=True), sa.ForeignKeyConstraint(['package_id'], ['package.id'], ), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.create_index('ix_class_definition_name', 'class_definition', ['name']) op.create_table( 'status', sa.Column('created', sa.DateTime(), nullable=False), sa.Column('updated', sa.DateTime(), nullable=False), sa.Column('id', sa.String(length=36), nullable=False), sa.Column('entity_id', sa.String(length=255), nullable=True), sa.Column('entity', sa.String(length=10), nullable=True), sa.Column('deployment_id', sa.String(length=36), nullable=True), sa.Column('text', sa.Text(), nullable=False), sa.Column('level', sa.String(length=32), nullable=False), sa.Column('details', sa.Text(), nullable=True), sa.ForeignKeyConstraint(['deployment_id'], ['deployment.id'], ), sa.PrimaryKeyConstraint('id'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.create_table( 'package_to_tag', sa.Column('package_id', sa.String(length=36), nullable=False), sa.Column('tag_id', sa.String(length=36), nullable=False), sa.ForeignKeyConstraint(['package_id'], ['package.id'], ), sa.ForeignKeyConstraint(['tag_id'], ['tag.id'], ondelete='CASCADE'), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) op.create_table( 'package_to_category', sa.Column('package_id', sa.String(length=36), nullable=False), sa.Column('category_id', sa.String(length=36), nullable=False), sa.ForeignKeyConstraint(['category_id'], ['category.id'], ondelete='RESTRICT'), sa.ForeignKeyConstraint(['package_id'], ['package.id'], ), mysql_engine=MYSQL_ENGINE, mysql_charset=MYSQL_CHARSET ) _create_default_categories(op) # end Alembic commands # def downgrade(): op.drop_index('ix_category_name', table_name='category') op.drop_index('ix_package_fqn', table_name='package') op.drop_index('ix_class_definition_name', table_name='class_definition') op.drop_table('status') op.drop_table('package_to_category') op.drop_table('class_definition') op.drop_table('deployment') op.drop_table('package_to_tag') op.drop_table('session') op.drop_table('instance_stats') op.drop_table('package') op.drop_table('apistats') op.drop_table('category') op.drop_table('tag') op.drop_table('environment') # end Alembic commands # murano-9.0.0/murano/db/migration/alembic_migrations/README0000664000175000017500000000075413656750211023446 0ustar zuulzuul00000000000000Please see https://alembic.readthedocs.org/en/latest/index.html for general documentation To create alembic migrations use: $ murano-db-manage revision --message --autogenerate Stamp db with most recent migration version, without actually running migrations $ murano-db-manage stamp --revision head Upgrade can be performed by: $ murano-db-manage upgrade $ murano-db-manage upgrade --revision head Downgrading db: $ murano-db-manage downgrade $ murano-db-manage downgrade --revision base murano-9.0.0/murano/db/migration/alembic_migrations/env.py0000664000175000017500000000272113656750211023724 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from alembic import context from sqlalchemy import create_engine, pool from murano.db import models # this is the Alembic Config object, which provides # access to the values within the .ini file in use. config = context.config murano_config = config.murano_config # add your model's MetaData object here # for 'autogenerate' support # from myapp import mymodel target_metadata = models.Base.metadata def run_migrations_online(): """Run migrations in 'online' mode. In this scenario we need to create an Engine and associate a connection with the context. """ engine = create_engine( murano_config.database.connection, poolclass=pool.NullPool) with engine.connect() as connection: context.configure(connection=connection, target_metadata=target_metadata) with context.begin_transaction(): context.run_migrations() run_migrations_online() murano-9.0.0/murano/db/migration/alembic_migrations/script.py.mako0000664000175000017500000000176513656750211025375 0ustar zuulzuul00000000000000# Copyright ${create_date.year} OpenStack Foundation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. """${message} Revision ID: ${up_revision} Revises: ${down_revision} Create Date: ${create_date} """ # revision identifiers, used by Alembic. revision = ${repr(up_revision)} down_revision = ${repr(down_revision)} from alembic import op import sqlalchemy as sa ${imports if imports else ""} def upgrade(): ${upgrades if upgrades else "pass"} def downgrade(): ${downgrades if downgrades else "pass"}murano-9.0.0/murano/db/sqla/0000775000175000017500000000000013656750351015704 5ustar zuulzuul00000000000000murano-9.0.0/murano/db/sqla/__init__.py0000664000175000017500000000000013656750211017776 0ustar zuulzuul00000000000000murano-9.0.0/murano/db/sqla/types.py0000664000175000017500000000203613656750211017416 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_serialization import jsonutils import sqlalchemy as sa from sqlalchemy.dialects import mysql def LargeBinary(): return sa.LargeBinary().with_variant(mysql.LONGBLOB(), 'mysql') class JsonBlob(sa.TypeDecorator): impl = sa.Text def process_bind_param(self, value, dialect): return jsonutils.dumps(value) def process_result_value(self, value, dialect): if value is not None: return jsonutils.loads(value) return None murano-9.0.0/murano/db/cfapi_models.py0000664000175000017500000000361613656750211017744 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """ SQLAlchemy models for service broker data """ from oslo_db.sqlalchemy import models import sqlalchemy as sa from sqlalchemy.ext import declarative class _ServiceBrokerBase(models.ModelBase): pass Base = declarative.declarative_base(cls=_ServiceBrokerBase) class CFOrganization(Base): __tablename__ = "cf_orgs" id = sa.Column(sa.String(255), primary_key=True) tenant = sa.Column(sa.String(255), nullable=False) class CFSpace(Base): __tablename__ = "cf_spaces" id = sa.Column(sa.String(255), primary_key=True) environment_id = sa.Column(sa.String(255), nullable=False) class CFServiceInstance(Base): __tablename__ = 'cf_serv_inst' id = sa.Column(sa.String(255), primary_key=True) service_id = sa.Column(sa.String(255), nullable=False) environment_id = sa.Column(sa.String(255), nullable=False) tenant = sa.Column(sa.String(255), nullable=False) def register_models(engine): """Creates database tables for all models with the given engine.""" models = (CFSpace, CFOrganization, CFServiceInstance) for model in models: model.metadata.create_all(engine) def unregister_models(engine): """Drops database tables for all models with the given engine.""" models = (CFOrganization, CFSpace, CFServiceInstance) for model in models: model.metadata.drop_all(engine) murano-9.0.0/murano/db/models.py0000664000175000017500000003426213656750211016603 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """ SQLAlchemy models for murano data """ from oslo_db.sqlalchemy import models from oslo_utils import timeutils import sqlalchemy as sa from sqlalchemy.ext import declarative from sqlalchemy import orm as sa_orm from murano.common import uuidutils from murano.db.sqla import types as st class TimestampMixin(object): __protected_attributes__ = set(["created", "updated"]) created = sa.Column(sa.DateTime, default=timeutils.utcnow, nullable=False) updated = sa.Column(sa.DateTime, default=timeutils.utcnow, nullable=False, onupdate=timeutils.utcnow) def update(self, values): """dict.update() behaviour.""" self.updated = timeutils.utcnow() super(TimestampMixin, self).update(values) def __setitem__(self, key, value): self.updated = timeutils.utcnow() super(TimestampMixin, self).__setitem__(key, value) class _MuranoBase(models.ModelBase): def to_dict(self): dictionary = self.__dict__.copy() return dict((k, v) for k, v in dictionary.items() if k != '_sa_instance_state') Base = declarative.declarative_base(cls=_MuranoBase) class Environment(Base, TimestampMixin): """Represents an Environment in the metadata-store.""" __tablename__ = 'environment' __table_args__ = (sa.Index( 'ix_name_tenant_id', 'name', 'tenant_id', unique=True),) id = sa.Column(sa.String(255), primary_key=True, default=uuidutils.generate_uuid) name = sa.Column(sa.String(255), nullable=False) tenant_id = sa.Column(sa.String(36), nullable=False) description_text = sa.Column(sa.String(), nullable=False, default='') version = sa.Column(sa.BigInteger, nullable=False, default=0) description = sa.Column(st.JsonBlob(), nullable=False, default={}) sessions = sa_orm.relationship("Session", backref='environment', cascade='save-update, merge, delete') tasks = sa_orm.relationship('Task', backref='environment', cascade='save-update, merge, delete') cf_spaces = sa_orm.relationship("CFSpace", backref='environment', cascade='save-update, merge, delete') cf_serv_inst = sa_orm.relationship("CFServiceInstance", backref='environment', cascade='save-update, merge, delete') def to_dict(self): dictionary = super(Environment, self).to_dict() del dictionary['description'] return dictionary class EnvironmentTemplate(Base, TimestampMixin): """Represents an Environment Template in the metadata-store.""" __tablename__ = 'environment-template' id = sa.Column(sa.String(36), primary_key=True, default=uuidutils.generate_uuid) name = sa.Column(sa.String(255), nullable=False) tenant_id = sa.Column(sa.String(36), nullable=False) description_text = sa.Column(sa.String(), nullable=False, default='') version = sa.Column(sa.BigInteger, nullable=False, default=0) description = sa.Column(st.JsonBlob(), nullable=False, default={}) is_public = sa.Column(sa.Boolean, default=False) def to_dict(self): dictionary = super(EnvironmentTemplate, self).to_dict() if 'description' in dictionary: del dictionary['description'] return dictionary class Session(Base, TimestampMixin): __tablename__ = 'session' id = sa.Column(sa.String(36), primary_key=True, default=uuidutils.generate_uuid) environment_id = sa.Column(sa.String(255), sa.ForeignKey('environment.id')) user_id = sa.Column(sa.String(64), nullable=False) state = sa.Column(sa.String(36), nullable=False) description = sa.Column(st.JsonBlob(), nullable=False) version = sa.Column(sa.BigInteger, nullable=False, default=0) def to_dict(self): dictionary = super(Session, self).to_dict() del dictionary['description'] # object relations may be not loaded yet if 'environment' in dictionary: del dictionary['environment'] return dictionary class Task(Base, TimestampMixin): __tablename__ = 'task' id = sa.Column(sa.String(36), primary_key=True, default=uuidutils.generate_uuid) started = sa.Column(sa.DateTime, default=timeutils.utcnow, nullable=False) finished = sa.Column(sa.DateTime, default=None, nullable=True) description = sa.Column(st.JsonBlob(), nullable=False) environment_id = sa.Column(sa.String(255), sa.ForeignKey('environment.id')) action = sa.Column(st.JsonBlob()) statuses = sa_orm.relationship("Status", backref='task', cascade='save-update, merge, delete') result = sa.Column(st.JsonBlob(), nullable=True, default={}) def to_dict(self): dictionary = super(Task, self).to_dict() if 'statuses' in dictionary: del dictionary['statuses'] if 'environment' in dictionary: del dictionary['environment'] return dictionary class Status(Base, TimestampMixin): __tablename__ = 'status' id = sa.Column(sa.String(36), primary_key=True, default=uuidutils.generate_uuid) entity_id = sa.Column(sa.String(255), nullable=True) entity = sa.Column(sa.String(10), nullable=True) task_id = sa.Column(sa.String(32), sa.ForeignKey('task.id')) text = sa.Column(sa.Text(), nullable=False) level = sa.Column(sa.String(32), nullable=False) details = sa.Column(sa.Text(), nullable=True) def to_dict(self): dictionary = super(Status, self).to_dict() # object relations may be not loaded yet if 'deployment' in dictionary: del dictionary['deployment'] return dictionary class ApiStats(Base, TimestampMixin): __tablename__ = 'apistats' id = sa.Column(sa.Integer(), primary_key=True) host = sa.Column(sa.String(80)) request_count = sa.Column(sa.BigInteger()) error_count = sa.Column(sa.BigInteger()) average_response_time = sa.Column(sa.Float()) requests_per_tenant = sa.Column(sa.Text()) requests_per_second = sa.Column(sa.Float()) errors_per_second = sa.Column(sa.Float()) cpu_count = sa.Column(sa.Integer()) cpu_percent = sa.Column(sa.Float()) package_to_category = sa.Table('package_to_category', Base.metadata, sa.Column('package_id', sa.String(36), sa.ForeignKey('package.id')), sa.Column('category_id', sa.String(36), sa.ForeignKey('category.id', ondelete="RESTRICT"))) package_to_tag = sa.Table('package_to_tag', Base.metadata, sa.Column('package_id', sa.String(36), sa.ForeignKey('package.id')), sa.Column('tag_id', sa.String(36), sa.ForeignKey('tag.id', ondelete="CASCADE"))) class Instance(Base): __tablename__ = 'instance_stats' environment_id = sa.Column( sa.String(255), primary_key=True, nullable=False) instance_id = sa.Column( sa.String(255), primary_key=True, nullable=False) instance_type = sa.Column(sa.Integer, default=0, nullable=False) created = sa.Column(sa.Integer, nullable=False) destroyed = sa.Column(sa.Integer, nullable=True) type_name = sa.Column('type_name', sa.String(512), nullable=False) type_title = sa.Column('type_title', sa.String(512)) unit_count = sa.Column('unit_count', sa.Integer()) tenant_id = sa.Column('tenant_id', sa.String(36), nullable=False) class Package(Base, TimestampMixin): """Represents a meta information about application package.""" __tablename__ = 'package' __table_args__ = (sa.Index('ix_package_fqn_and_owner', 'fully_qualified_name', 'owner_id', unique=True),) id = sa.Column(sa.String(36), primary_key=True, default=uuidutils.generate_uuid) archive = sa.Column(st.LargeBinary()) fully_qualified_name = sa.Column(sa.String(128), nullable=False) type = sa.Column(sa.String(20), nullable=False, default='class') author = sa.Column(sa.String(80), default='OpenStack') supplier = sa.Column(st.JsonBlob(), nullable=True, default={}) name = sa.Column(sa.String(80), nullable=False) enabled = sa.Column(sa.Boolean, default=True) description = sa.Column(sa.Text(), nullable=False, default='The description is not provided') is_public = sa.Column(sa.Boolean, default=False) tags = sa_orm.relationship("Tag", secondary=package_to_tag, cascade='save-update, merge', lazy='joined') logo = sa.Column(st.LargeBinary(), nullable=True) owner_id = sa.Column(sa.String(64), nullable=False) ui_definition = sa.Column(sa.Text) supplier_logo = sa.Column(sa.LargeBinary, nullable=True) categories = sa_orm.relationship("Category", secondary=package_to_category, cascade='save-update, merge', lazy='joined') class_definitions = sa_orm.relationship( "Class", cascade='save-update, merge, delete', lazy='joined', backref='package') def to_dict(self): d = self.__dict__.copy() not_serializable = ['_sa_instance_state', 'archive', 'logo', 'ui_definition', 'supplier_logo'] nested_objects = ['categories', 'tags', 'class_definitions'] for key in not_serializable: if key in d.keys(): del d[key] for key in nested_objects: d[key] = [a.name for a in d.get(key, [])] return d class Category(Base, TimestampMixin): """Represents an application categories in the datastore.""" __tablename__ = 'category' id = sa.Column(sa.String(36), primary_key=True, default=uuidutils.generate_uuid) name = sa.Column(sa.String(80), nullable=False, index=True, unique=True) package_count = sa_orm.column_property( sa.select([sa.func.count(package_to_category.c.package_id)]). where(package_to_category.c.category_id == id). correlate_except(package_to_category) ) def to_dict(self): d = super(Category, self).to_dict() d['package_count'] = self.package_count return d class Tag(Base, TimestampMixin): """Represents tags in the datastore.""" __tablename__ = 'tag' id = sa.Column(sa.String(36), primary_key=True, default=uuidutils.generate_uuid) name = sa.Column(sa.String(80), nullable=False, unique=True) class Class(Base, TimestampMixin): """Represents a class definition in the datastore.""" __tablename__ = 'class_definition' id = sa.Column(sa.String(36), primary_key=True, default=uuidutils.generate_uuid) name = sa.Column(sa.String(128), nullable=False, index=True) package_id = sa.Column(sa.String(36), sa.ForeignKey('package.id')) class Lock(Base): __tablename__ = 'locks' id = sa.Column(sa.String(50), primary_key=True) ts = sa.Column(sa.DateTime, nullable=False) class CFOrganization(Base): __tablename__ = "cf_orgs" id = sa.Column(sa.String(255), primary_key=True) tenant = sa.Column(sa.String(255), nullable=False) class CFSpace(Base): __tablename__ = "cf_spaces" id = sa.Column(sa.String(255), primary_key=True) environment_id = sa.Column(sa.String(255), sa.ForeignKey('environment.id'), nullable=False) def to_dict(self): dictionary = super(CFSpace, self).to_dict() if 'environment' in dictionary: del dictionary['environment'] return dictionary class CFServiceInstance(Base): __tablename__ = 'cf_serv_inst' id = sa.Column(sa.String(255), primary_key=True) service_id = sa.Column(sa.String(255), nullable=False) environment_id = sa.Column(sa.String(255), sa.ForeignKey('environment.id'), nullable=False) tenant = sa.Column(sa.String(255), nullable=False) def to_dict(self): dictionary = super(CFServiceInstance, self).to_dict() if 'environment' in dictionary: del dictionary['environment'] return dictionary def register_models(engine): """Creates database tables for all models with the given engine.""" models = (Environment, Status, Session, Task, ApiStats, Package, Category, Class, Instance, Lock, CFSpace, CFOrganization) for model in models: model.metadata.create_all(engine) def unregister_models(engine): """Drops database tables for all models with the given engine.""" models = (Environment, Status, Session, Task, ApiStats, Package, Category, Class, Lock, CFOrganization, CFSpace) for model in models: model.metadata.drop_all(engine) murano-9.0.0/murano/db/catalog/0000775000175000017500000000000013656750351016356 5ustar zuulzuul00000000000000murano-9.0.0/murano/db/catalog/__init__.py0000664000175000017500000000000013656750211020450 0ustar zuulzuul00000000000000murano-9.0.0/murano/db/catalog/api.py0000664000175000017500000005063513656750211017505 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_db import api as oslo_db_api from oslo_db import exception as db_exceptions from oslo_db.sqlalchemy import utils from oslo_log import log as logging import re import sqlalchemy as sa from sqlalchemy import or_ from sqlalchemy.orm import attributes # TODO(ruhe) use exception declared in openstack/common/db from webob import exc from murano.common.i18n import _ from murano.db import models from murano.db import session as db_session SEARCH_MAPPING = {'fqn': 'fully_qualified_name', 'name': 'name', 'created': 'created' } LOG = logging.getLogger(__name__) def _package_get(package_id, session): # TODO(sjmc7): update openstack/common and pull in # uuidutils, check that package_id_or_name resembles a # UUID before trying to treat it as one package = session.query(models.Package).get(package_id) if not package: msg = _("Package id '{pkg_id}' not found").format(pkg_id=package_id) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) return package def _authorize_package(package, context, allow_public=False): if package.owner_id != context.tenant: if not allow_public: msg = _("Package '{pkg_id}' is not owned by tenant " "'{tenant}'").format(pkg_id=package.id, tenant=context.tenant) LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) if not package.is_public: msg = _("Package '{pkg_id}' is not public and not owned by " "tenant '{tenant}' ").format(pkg_id=package.id, tenant=context.tenant) LOG.error(msg) raise exc.HTTPForbidden(explanation=msg) def package_get(package_id, context): """Return package details :param package_id: ID or name of a package, string :returns: detailed information about package, dict """ session = db_session.get_session() package = _package_get(package_id, session) if not context.is_admin: _authorize_package(package, context, allow_public=True) return package def _get_categories(category_names, session=None): """Return existing category objects or raise an exception. :param category_names: name of categories to associate with package, list :returns: list of Category objects to associate with package, list """ if session is None: session = db_session.get_session() categories = [] for ctg_name in category_names: ctg_obj = session.query(models.Category).filter_by( name=ctg_name).first() if not ctg_obj: msg = _("Category '{name}' doesn't exist").format(name=ctg_name) LOG.error(msg) # it's not allowed to specify non-existent categories raise exc.HTTPBadRequest(explanation=msg) categories.append(ctg_obj) return categories def _existing_tag(tag_name, session=None): if session is None: session = db_session.get_session() return session.query(models.Tag).filter_by(name=tag_name).first() def _get_tags(tag_names, session=None): """Return existing tags object or create new ones :param tag_names: name of tags to associate with package, list :returns: list of Tag objects to associate with package, list """ if session is None: session = db_session.get_session() tags = [] # This function can be called inside a transaction and outside it. # In the former case this line is no-op, in the latter # starts a transaction we need to be inside a transaction, to correctly # handle DBDuplicateEntry errors without failing the whole transaction. # For more take a look at SQLAlchemy docs. with session.begin(subtransactions=True): for tag_name in tag_names: tag_obj = _existing_tag(tag_name, session) if not tag_obj: try: # Start a new SAVEPOINT transaction. If it fails # only the savepoint will be roll backed, not the # whole transaction. with session.begin(nested=True): tag_obj = models.Tag(name=tag_name) session.add(tag_obj) session.flush(objects=[tag_obj]) except db_exceptions.DBDuplicateEntry: # new session is needed here to get access to the tag tag_obj = _existing_tag(tag_name) tags.append(tag_obj) return tags def _get_class_definitions(class_names, session=None): classes = [] for name in class_names: class_record = models.Class(name=name) classes.append(class_record) return classes def _do_replace(package, change): path = change['path'][0] value = change['value'] calculate = {'categories': _get_categories, 'tags': _get_tags} if path in ('categories', 'tags'): existing_items = getattr(package, path) duplicates = list(set(i.name for i in existing_items) & set(value)) unique_values = [x for x in value if x not in duplicates] items_to_replace = calculate[path](unique_values) # NOTE(efedorova): Replacing duplicate entities is not allowed, # so need to remove anything, but duplicates # and append everything but duplicates for item in list(existing_items): if item.name not in duplicates: existing_items.remove(item) existing_items.extend(items_to_replace) else: setattr(package, path, value) return package def _do_add(package, change): # Only categories and tags support addition path = change['path'][0] value = change['value'] calculate = {'categories': _get_categories, 'tags': _get_tags} items_to_add = calculate[path](value) for item in items_to_add: try: getattr(package, path).append(item) except AssertionError: LOG.warning('One of the specified {path} is already associated' ' with a package. Doing nothing.'.format(path=path)) return package def _do_remove(package, change): # Only categories and tags support removal def find(seq, predicate): for elt in seq: if predicate(elt): return elt path = change['path'][0] values = change['value'] current_values = getattr(package, path) for value in values: if value not in [i.name for i in current_values]: msg = _("Value '{value}' of property '{path}' " "does not exist.").format(value=value, path=path) LOG.error(msg) raise exc.HTTPNotFound(explanation=msg) item_to_remove = find(current_values, lambda i: i.name == value) current_values.remove(item_to_remove) return package def _get_packages_for_category(session, category_id): """Return detailed list of packages, belonging to the provided category :param session: :param category_id: :return: list of dictionaries, containing id, name and package fqn """ pkg = models.Package packages = (session.query(pkg.id, pkg.name, pkg.fully_qualified_name) .filter(pkg.categories .any(models.Category.id == category_id)) .all()) result_packages = [] for package in packages: id, name, fqn = package result_packages.append({'id': id, 'name': name, 'fully_qualified_name': fqn}) return result_packages @oslo_db_api.wrap_db_retry(max_retries=5, retry_on_deadlock=True) def package_update(pkg_id_or_name, changes, context): """Update package information :param changes: parameters to update :returns: detailed information about new package, dict """ operation_methods = {'add': _do_add, 'replace': _do_replace, 'remove': _do_remove} session = db_session.get_session() with session.begin(): pkg = _package_get(pkg_id_or_name, session) was_private = not pkg.is_public if not context.is_admin: _authorize_package(pkg, context) for change in changes: pkg = operation_methods[change['op']](pkg, change) became_public = pkg.is_public class_names = [clazz.name for clazz in pkg.class_definitions] if was_private and became_public: with db_session.get_lock("public_packages", session): _check_for_public_packages_with_fqn(session, pkg.fully_qualified_name, pkg.id) _check_for_existing_classes(session, class_names, None, check_public=True, ignore_package_with_id=pkg.id) session.add(pkg) return pkg def package_search(filters, context, manage_public=False, limit=None, catalog=False): """Search packages with different filters Catalog param controls the base query creation. Catalog queries only search packages a user can deploy. Non-catalog queries searches packages a user can edit. * Admin is allowed to browse all the packages * Regular user is allowed to browse all packages belongs to user tenant and all other packages marked is_public in catalog mode. In edit-mode non-admins are able to get own packages and public packages if corresponding policy is passed. * Use marker (inside filters param) and limit for pagination: The typical pattern of limit and marker is to make an initial limited request and then to use the ID of the last package from the response as the marker parameter in a subsequent limited request. """ # pylint: disable=too-many-branches session = db_session.get_session() pkg = models.Package query = session.query(pkg) if catalog: # Only show packages one can deploy, i.e. own + public query = query.filter(or_(pkg.owner_id == context.tenant, pkg.is_public)) else: # Show packages one can edit. if not context.is_admin: if manage_public: query = query.filter(or_(pkg.owner_id == context.tenant, pkg.is_public)) else: query = query.filter(pkg.owner_id == context.tenant) # No else here admin can edit everything. if not filters.get('include_disabled', '').lower() == 'true': query = query.filter(pkg.enabled) if filters.get('owned', '').lower() == 'true': query = query.filter(pkg.owner_id == context.tenant) if 'type' in filters.keys(): query = query.filter(pkg.type == filters['type'].title()) if 'id' in filters: query = query.filter(models.Package.id.in_(filters['id'])) if 'category' in filters.keys(): query = query.filter(pkg.categories.any( models.Category.name.in_(filters['category']))) if 'tag' in filters.keys(): query = query.filter(pkg.tags.any( models.Tag.name.in_(filters['tag']))) if 'class_name' in filters.keys(): query = query.filter(pkg.class_definitions.any( models.Class.name == filters['class_name'])) if 'fqn' in filters.keys(): query = query.filter(pkg.fully_qualified_name == filters['fqn']) if 'name' in filters.keys(): query = query.filter(pkg.name == filters['name']) if 'search' in filters.keys(): fk_fields = {'categories': 'Category', 'tags': 'Tag', 'class_definitions': 'Class'} # the default search order fields = ['name', 'fully_qualified_name', 'description', 'categories', 'tags', 'class_definitions', 'author'] # split to searching words key_words = re.split(';|,', filters['search']) conditions = [] order_cases = [] sorted_fields = fields + list(set(dir(pkg)).difference(set(fields))) for index in range(0, len(sorted_fields)): attr = sorted_fields[index] if attr.startswith('_'): continue if not isinstance(getattr(pkg, attr), attributes.InstrumentedAttribute): continue priority = min(index, len(fields)) for key_word in key_words: _word = u'%{value}%'.format(value=key_word) if attr in fk_fields.keys(): condition = getattr(pkg, attr).any( getattr(models, fk_fields[attr]).name.like(_word)) conditions.append(condition) order_cases.append((condition, priority)) elif isinstance(getattr(pkg, attr) .property.columns[0].type, sa.String): condition = getattr(pkg, attr).like(_word) conditions.append(condition) order_cases.append((condition, priority)) order_expression = sa.case(order_cases).label("tmp_weight_uuid") query = query.filter(or_(*conditions)).order_by(order_expression.asc()) sort_keys = [SEARCH_MAPPING[sort_key] for sort_key in filters.get('order_by', ['name'])] sort_keys.append('id') marker = filters.get('marker') sort_dir = filters.get('sort_dir') if marker is not None: # set marker to real object instead of its id marker = _package_get(marker, session) query = utils.paginate_query( query, pkg, limit, sort_keys, marker, sort_dir) return query.all() @oslo_db_api.wrap_db_retry(max_retries=5, retry_on_deadlock=True) def package_upload(values, tenant_id): """Upload a package with new application :param values: parameters describing the new package :returns: detailed information about new package, dict """ session = db_session.get_session() package = models.Package() composite_attr_to_func = {'categories': _get_categories, 'tags': _get_tags, 'class_definitions': _get_class_definitions} is_public = values.get('is_public', False) if is_public: public_lock = db_session.get_lock("public_packages", session) else: public_lock = None tenant_lock = db_session.get_lock("classes_of_" + tenant_id, session) try: _check_for_existing_classes(session, values.get('class_definitions'), tenant_id, check_public=is_public) if is_public: _check_for_public_packages_with_fqn( session, values.get('fully_qualified_name')) for attr, func in composite_attr_to_func.items(): if values.get(attr): result = func(values[attr], session) setattr(package, attr, result) del values[attr] package.update(values) package.owner_id = tenant_id package.save(session) tenant_lock.commit() if public_lock is not None: public_lock.commit() except Exception: tenant_lock.rollback() if public_lock is not None: public_lock.rollback() raise return package @oslo_db_api.wrap_db_retry(max_retries=5, retry_on_deadlock=True) def package_delete(package_id, context): """Delete a package by ID.""" session = db_session.get_session() with session.begin(): package = _package_get(package_id, session) if not context.is_admin and package.owner_id != context.tenant: raise exc.HTTPForbidden( explanation="Package is not owned by the" " tenant '{0}'".format(context.tenant)) session.delete(package) def category_get(category_id, session=None, packages=False): """Return category details :param category_id: ID of a category, string :returns: detailed information about category, dict """ if not session: session = db_session.get_session() category = session.query(models.Category).get(category_id) if not category: msg = _("Category id '{id}' not found").format(id=category_id) LOG.error(msg) raise exc.HTTPNotFound(msg) if packages: category.packages = _get_packages_for_category(session, category_id) return category def categories_list(filters=None, limit=None, marker=None): if filters is None: filters = {} sort_keys = filters.get('sort_keys', ['name']) sort_dir = filters.get('sort_dir', 'asc') session = db_session.get_session() query = session.query(models.Category) if marker is not None: marker = category_get(marker, session) query = utils.paginate_query( query, models.Category, limit, sort_keys, marker, sort_dir) return query.all() def category_get_names(): session = db_session.get_session() categories = [] for row in session.query(models.Category.name).all(): for name in row: categories.append(name) return categories def category_add(category_name): session = db_session.get_session() category = models.Category() with session.begin(): category.update({'name': category_name}) # NOTE(kzaitsev) update package_count, so we can safely access from # outside the session category.package_count = 0 category.save(session) return category def category_delete(category_id): """Delete a category by ID.""" session = db_session.get_session() with session.begin(): category = session.query(models.Category).get(category_id) if not category: msg = _("Category id '{id}' not found").format(id=category_id) LOG.error(msg) raise exc.HTTPNotFound(msg) session.delete(category) def _check_for_existing_classes(session, class_names, tenant_id, check_public=False, ignore_package_with_id=None): if not class_names: return q = session.query(models.Class.name).filter( models.Class.name.in_(class_names)) private_filter = None public_filter = None predicate = None if tenant_id is not None: private_filter = models.Class.package.has( models.Package.owner_id == tenant_id) if check_public: public_filter = models.Class.package.has( models.Package.is_public) if private_filter is not None and public_filter is not None: predicate = sa.or_(private_filter, public_filter) elif private_filter is not None: predicate = private_filter elif public_filter is not None: predicate = public_filter if predicate is not None: q = q.filter(predicate) if ignore_package_with_id is not None: q = q.filter(models.Class.package_id != ignore_package_with_id) if q.first() is not None: msg = _('Class with the same full name is already ' 'registered in the visibility scope') LOG.error(msg) raise exc.HTTPConflict(msg) def _check_for_public_packages_with_fqn(session, fqn, ignore_package_with_id=None): q = session.query(models.Package.id).\ filter(models.Package.is_public).\ filter(models.Package.fully_qualified_name == fqn) if ignore_package_with_id is not None: q = q.filter(models.Package.id != ignore_package_with_id) if q.first() is not None: msg = _('Package with the same Name is already made public') LOG.error(msg) raise exc.HTTPConflict(msg) murano-9.0.0/murano/httpd/0000775000175000017500000000000013656750351015502 5ustar zuulzuul00000000000000murano-9.0.0/murano/httpd/__init__.py0000664000175000017500000000000013656750211017574 0ustar zuulzuul00000000000000murano-9.0.0/murano/httpd/murano_api.py0000664000175000017500000000301713656750211020202 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """WSGI script for murano-api. Script for running murano-api under Apache2. """ from oslo_config import cfg import oslo_i18n as i18n from oslo_log import log as logging from murano.api.v1 import request_statistics from murano.common import app_loader from murano.common import config from murano.common.i18n import _ from murano.common import policy from murano.common import server def init_application(): i18n.enable_lazy() LOG = logging.getLogger('murano.api') logging.register_options(cfg.CONF) cfg.CONF(project='murano') logging.setup(cfg.CONF, 'murano') config.set_middleware_defaults() request_statistics.init_stats() policy.init() server.get_notification_listener().start() server.get_rpc_server().start() port = cfg.CONF.bind_port host = cfg.CONF.bind_host LOG.info(_('Starting Murano REST API on %(host)s:%(port)s'), {'host': host, 'port': port}) return app_loader.load_paste_app('murano') murano-9.0.0/murano/cmd/0000775000175000017500000000000013656750351015122 5ustar zuulzuul00000000000000murano-9.0.0/murano/cmd/__init__.py0000664000175000017500000000114213656750211017224 0ustar zuulzuul00000000000000# # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import murano.monkey_patch # noqa murano-9.0.0/murano/cmd/test_runner.py0000664000175000017500000003675713656750211020061 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import argparse import os import re import sys import traceback import eventlet from keystoneclient.v3 import client as ks_client from muranoclient.common import exceptions as exc from muranoclient.common import utils from oslo_config import cfg from oslo_db import options from oslo_log import log as logging from oslo_utils import timeutils from murano.common import config from murano.common import engine from murano.common.i18n import _ from murano.dsl import dsl_exception from murano.dsl import dsl_types from murano.dsl import exceptions from murano.dsl import executor from murano.dsl import helpers from murano.engine import execution_session from murano.engine import mock_context_manager from murano.engine import package_loader from murano import version CONF = cfg.CONF LOG = logging.getLogger(__name__) options.set_defaults(CONF) BASE_CLASS = 'io.murano.test.TestFixture' TEST_CASE_NAME = re.compile('^test(?![a-z])') OK_COLOR = '\033[92m' FAIL_COLOR = '\033[91m' END_COLOR = '\033[0m' if os.name == 'nt': # eventlet monkey patching causes subprocess.Popen to fail on Windows # when using pipes due to missing non blocking I/O support eventlet.monkey_patch(os=False) else: eventlet.monkey_patch() class MuranoTestRunner(object): def __init__(self): self.parser = self.get_parser() self.args = self.parser.parse_args() if self.args.verbose: LOG.logger.setLevel(logging.DEBUG) def _load_package(self, pkg_loader, name): try: parts = name.rsplit('/') if len(parts) == 2: name, pkg_version = parts version_spec = helpers.parse_version_spec(pkg_version) else: version_spec = helpers.parse_version_spec('*') package = pkg_loader.load_package(name, version_spec) except exceptions.NoPackageFound: if not CONF.engine.load_packages_from: msg = _('Local package is not found since "load-packages-from"' ' engine parameter is not provided and specified ' 'packages is not loaded to murano-api') else: msg = _('Specified package is not found: {0} were scanned ' 'together with murano database' ).format(','.join( CONF.engine.load_packages_from)) LOG.error(msg) self.error(msg, show_help=False) except exc.CommunicationError: msg = ('Murano API is not running. ' 'Check configuration parameters.') LOG.error(msg) self.error(msg, show_help=False) return package def _get_methods_to_run(self, package, tests_to_run, class_to_methods): if not tests_to_run: return class_to_methods methods_to_run = {} for item in tests_to_run: # Check for method name occurrence in all methods. # if there is no dot in provided item - it is a method name if '.' not in item: for class_name, methods in class_to_methods.items(): methods_to_run[class_name] = [] if item in methods: methods_to_run[class_name].append(item) continue # Check match for the whole class name if item in package.classes: # Add all test cases from specified package if item in class_to_methods: methods_to_run[item] = class_to_methods[item] continue # Check match for the class together with method specified class_to_test, test_method = item.rsplit('.', 1) if class_to_test in package.classes: methods_to_run[class_to_test] = [ m for m in class_to_methods[class_to_test] if m == test_method] continue methods_count = sum(len(v) for v in methods_to_run.values()) methods = [k + '.' + method for k, v in methods_to_run.items() for method in v] LOG.debug('{0} method(s) is(are) going to be executed: ' '\n{1}'.format(methods_count, '\n'.join(methods))) return methods_to_run def _get_test_cases_by_classes(self, package): """Build valid test cases list for each class in the provided package. Check, if test class and test case name are valid. Return class mappings to test cases. """ class_to_methods = {} for pkg_class_name in package.classes: class_obj = package.find_class(pkg_class_name, False) base_class = package.find_class(BASE_CLASS) if not base_class.is_compatible(class_obj): LOG.debug('Class {0} is not inherited from {1}. ' 'Skipping it.'.format(pkg_class_name, BASE_CLASS)) continue # Exclude methods, that are not test cases. tests = [] valid_test_name = TEST_CASE_NAME for m in class_obj.methods: if valid_test_name.match(m): tests.append(m) class_to_methods[pkg_class_name] = tests return class_to_methods def _call_service_method(self, name, exc, obj): if name in obj.type.all_method_names: method = obj.type.find_single_method(name) method.scope = dsl_types.MethodScopes.Public LOG.debug('Executing: {0}.{1}'.format(obj.type.name, name)) exc.run(obj.type, name, obj, (), {}) def _validate_keystone_opts(self, args): ks_opts_to_config = { 'auth_url': 'www_authenticate_uri', 'username': 'admin_user', 'password': 'admin_password', 'project_name': 'admin_project_name'} ks_opts = {'auth_url': getattr(args, 'os_auth_url', None), 'username': getattr(args, 'os_username', None), 'password': getattr(args, 'os_password', None), 'project_name': getattr(args, 'os_project_name', None)} if None in ks_opts.values() and not CONF.default_config_files: msg = ('Please provide murano config file or credentials for ' 'authorization: {0}').format( ', '.join(['--os-auth-url', '--os-username', '--os-password', '--os-project-name', '--os-tenant-id'])) LOG.error(msg) self.error(msg) for param, value in ks_opts.items(): if not value: ks_opts[param] = getattr(CONF.murano_auth, ks_opts_to_config[param]) if param == 'auth_url': ks_opts[param] = ks_opts[param].replace('v2.0', 'v3') return ks_opts def error(self, msg, show_help=True): sys.stderr.write("ERROR: {msg}\n\n".format(msg=msg)) if show_help: self.parser.print_help() sys.exit(1) def message(self, msg): sys.stdout.write('{0}\n'.format(msg)) def run_tests(self): exit_code = 0 provided_pkg_name = self.args.package load_packages_from = self.args.load_packages_from tests_to_run = self.args.tests ks_opts = self._validate_keystone_opts(self.args) client = ks_client.Client(**ks_opts) test_session = execution_session.ExecutionSession() test_session.token = client.auth_token test_session.project_id = client.project_id # Replace location of loading packages with provided from command line. if load_packages_from: cfg.CONF.engine.load_packages_from = load_packages_from with package_loader.CombinedPackageLoader(test_session) as pkg_loader: engine.get_plugin_loader().register_in_loader(pkg_loader) package = self._load_package(pkg_loader, provided_pkg_name) class_to_methods = self._get_test_cases_by_classes(package) run_set = self._get_methods_to_run(package, tests_to_run, class_to_methods) max_length = 0 num_tests = 0 for pkg_class, test_cases in run_set.items(): for m in test_cases: max_length = max(max_length, len(pkg_class) + len(m) + 1) num_tests += len(test_cases) max_length += 3 if run_set: LOG.debug('Starting test execution.') self.message('About to execute {0} tests(s)'.format(num_tests)) else: msg = _('No tests found for execution.') LOG.error(msg) self.error(msg) run_count = 0 error_count = 0 started = timeutils.utcnow() for pkg_class, test_cases in run_set.items(): for m in test_cases: # Create new executor for each test case to provide # pure test environment dsl_executor = executor.MuranoDslExecutor( pkg_loader, mock_context_manager.MockContextManager(), test_session) obj = dsl_executor.object_store.load( {}, None, default_type=package.find_class(pkg_class, False)) test_name = "{0}.{1}".format(obj.type.name, m) dots_number = max_length - len(test_name) msg = "{0} {1} ".format(test_name, '.' * dots_number) sys.stdout.write(msg) sys.stdout.flush() self._call_service_method('setUp', dsl_executor, obj) obj.type.methods[m].usage = 'Action' test_session.start() try: run_count += 1 dsl_executor.run(obj.type, m, obj, (), {}) self._call_service_method( 'tearDown', dsl_executor, obj) msg = '{0}{1}{2}\n'.format(OK_COLOR, 'OK', END_COLOR) LOG.debug('Test {0} successful'.format(test_name)) sys.stdout.write(msg) sys.stdout.flush() except Exception as e: error_count += 1 msg = ''.join(( FAIL_COLOR, 'FAIL!', END_COLOR, '\n')) sys.stdout.write(msg) if isinstance(e, dsl_exception.MuranoPlException): tb = e.format() else: tb = traceback.format_exc() sys.stdout.write(''.join(( FAIL_COLOR, tb, END_COLOR, '\n' ))) sys.stdout.flush() LOG.exception('Test {0} failed'.format(test_name)) exit_code = 1 finally: test_session.finish() completed = timeutils.utcnow() self.message('Executed {0} tests in {1} seconds: ' '{2} passed, ' '{3} failed'.format(run_count, timeutils.delta_seconds( started, completed), run_count - error_count, error_count)) return exit_code def get_parser(self): parser = argparse.ArgumentParser(prog='murano-test-runner') parser.set_defaults(func=self.run_tests) parser.add_argument('--config-file', help='Path to the murano config') parser.add_argument('--os-auth-url', default=utils.env('OS_AUTH_URL'), help='Defaults to env[OS_AUTH_URL]') parser.add_argument('--os-username', default=utils.env('OS_USERNAME'), help='Defaults to env[OS_USERNAME]') parser.add_argument('--os-password', default=utils.env('OS_PASSWORD'), help='Defaults to env[OS_PASSWORD]') parser.add_argument('--os-project-name', default=utils.env('OS_PROJECT_NAME'), help='Defaults to env[OS_PROJECT_NAME]') parser.add_argument('-l', '--load_packages_from', nargs='*', metavar='', help='Directory to search packages from. ' 'We be added to the list of current directory' ' list, provided in a config file.') parser.add_argument("-v", "--verbose", action="store_true", help="increase output verbosity") parser.add_argument('--version', action='version', version=version.version_string) parser.add_argument('package', metavar='', help='Full name of application package that is ' 'going to be tested') parser.add_argument('tests', nargs='*', metavar='', help='List of method names to be tested') return parser def main(): test_runner = MuranoTestRunner() try: if test_runner.args.config_file: default_config_files = [test_runner.args.config_file] else: default_config_files = cfg.find_config_files('murano') if not default_config_files: murano_conf = os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, 'etc', 'murano', 'murano.conf') if os.path.exists(murano_conf): default_config_files = [murano_conf] sys.argv = [sys.argv[0]] config.parse_args(default_config_files=default_config_files) CONF.set_default('use_stderr', False) logging.setup(CONF, 'murano') except RuntimeError as e: LOG.exception("Failed to initialize murano-test-runner: %s", e) sys.exit("ERROR: %s" % e) try: exit_code = test_runner.run_tests() sys.exit(exit_code) except Exception as e: if isinstance(e, dsl_exception.MuranoPlException): tb = e.format() else: tb = traceback.format_exc() err_msg = "Command failed: {0}\n{1}".format(e, tb) LOG.error(err_msg) sys.exit(err_msg) if __name__ == '__main__': main() murano-9.0.0/murano/cmd/api.py0000664000175000017500000000437213656750211016246 0ustar zuulzuul00000000000000#!/usr/bin/env python # # Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import sys from oslo_concurrency import processutils from oslo_config import cfg from oslo_log import log as logging from oslo_service import service from murano.api.v1 import request_statistics from murano.common import app_loader from murano.common import config from murano.common import policy from murano.common import server from murano.common import statservice as stats from murano.common import wsgi CONF = cfg.CONF # If ../murano/__init__.py exists, add ../ to Python search path, so that # it will override what happens to be installed in /usr/(local/)lib/python... root = os.path.join(os.path.abspath(__file__), os.pardir, os.pardir, os.pardir) if os.path.exists(os.path.join(root, 'murano', '__init__.py')): sys.path.insert(0, root) def main(): try: config.parse_args() config.set_middleware_defaults() request_statistics.init_stats() policy.init() logging.setup(CONF, 'murano') workers = CONF.murano.api_workers if not workers: workers = processutils.get_worker_count() launcher = service.launch( CONF, server.ApiService(), workers=workers, restart_method='mutate') app = app_loader.load_paste_app('murano') port, host = (CONF.bind_port, CONF.bind_host) launcher.launch_service(wsgi.Service(app, port, host)) launcher.launch_service(server.NotificationService()) launcher.launch_service(stats.StatsCollectingService()) launcher.wait() except RuntimeError as e: sys.stderr.write("ERROR: %s\n" % e) sys.exit(1) if __name__ == '__main__': main() murano-9.0.0/murano/cmd/engine.py0000664000175000017500000000322713656750211016740 0ustar zuulzuul00000000000000#!/usr/bin/env python # # Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import sys from oslo_concurrency import processutils from oslo_log import log as logging from oslo_service import service from murano.common import config from murano.common import engine CONF = config.CONF # If ../murano/__init__.py exists, add ../ to Python search path, so that # it will override what happens to be installed in /usr/(local/)lib/python... root = os.path.join(os.path.abspath(__file__), os.pardir, os.pardir, os.pardir) if os.path.exists(os.path.join(root, 'murano', '__init__.py')): sys.path.insert(0, root) def main(): try: config.parse_args() logging.setup(CONF, 'murano') workers = CONF.engine.engine_workers if not workers: workers = processutils.get_worker_count() launcher = service.launch( CONF, engine.EngineService(), workers=workers, restart_method='mutate') launcher.wait() except RuntimeError as e: sys.stderr.write("ERROR: %s\n" % e) sys.exit(1) if __name__ == '__main__': main() murano-9.0.0/murano/cmd/status.py0000664000175000017500000000300513656750211017010 0ustar zuulzuul00000000000000# Copyright (c) 2018 NEC, Corp. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sys from oslo_config import cfg from oslo_upgradecheck import upgradecheck from murano.common.i18n import _ CONF = cfg.CONF class Checks(upgradecheck.UpgradeCommands): """Contains upgrade checks Various upgrade checks should be added as separate methods in this class and added to _upgrade_checks tuple. """ def _sample_check(self): """This is sample check added to test the upgrade check framework It needs to be removed after adding any real upgrade check """ return upgradecheck.Result(upgradecheck.Code.SUCCESS, 'Sample detail') _upgrade_checks = ( # Sample check added for now. # Whereas in future real checks must be added here in tuple (_('Sample Check'), _sample_check), ) def main(): return upgradecheck.main( CONF, project='murano', upgrade_command=Checks()) if __name__ == '__main__': sys.exit(main()) murano-9.0.0/murano/cmd/db_manage.py0000664000175000017500000000473313656750211017373 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_config import cfg from oslo_db import options from murano.db.migration import migration CONF = cfg.CONF options.set_defaults(CONF) class DBCommand(object): def upgrade(self, config): migration.upgrade(CONF.command.revision, config=config) def downgrade(self, config): migration.downgrade(CONF.command.revision, config=config) def revision(self, config): migration.revision(CONF.command.message, CONF.command.autogenerate, config=config) def stamp(self, config): migration.stamp(CONF.command.revision, config=config) def version(self, config): print(migration.version()) def add_command_parsers(subparsers): command_object = DBCommand() parser = subparsers.add_parser('upgrade') parser.set_defaults(func=command_object.upgrade) parser.add_argument('--revision', nargs='?') parser = subparsers.add_parser('downgrade') parser.set_defaults(func=command_object.downgrade) parser.add_argument('--revision', nargs='?') parser = subparsers.add_parser('stamp') parser.add_argument('--revision', nargs='?') parser.set_defaults(func=command_object.stamp) parser = subparsers.add_parser('revision') parser.add_argument('-m', '--message') parser.add_argument('--autogenerate', action='store_true') parser.set_defaults(func=command_object.revision) parser = subparsers.add_parser('version') parser.set_defaults(func=command_object.version) command_opt = cfg.SubCommandOpt('command', title='Command', help='Available commands', handler=add_command_parsers) CONF.register_cli_opt(command_opt) def main(): config = migration.get_alembic_config() # attach the Murano conf to the Alembic conf config.murano_config = CONF CONF(project='murano') CONF.command.func(config) murano-9.0.0/murano/cmd/manage.py0000664000175000017500000001312613656750211016722 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """ *** Deprecation warning *** This file is about to be deprecated, please use python-muranoclient. *** Deprecation warning *** """ import sys import traceback from oslo_config import cfg from oslo_db import exception as db_exception from oslo_log import log as logging from murano.common import consts from murano.db.catalog import api as db_catalog_api from murano.packages import load_utils from murano import version CONF = cfg.CONF LOG = logging.getLogger(__name__) class AdminContext(object): def __init__(self): self.is_admin = True def _do_import_package(_dir, categories, update=False): LOG.debug("Going to import Murano package from {source}".format( source=_dir)) pkg = load_utils.load_from_dir(_dir) LOG.debug("Checking for existing packages") existing = db_catalog_api.package_search( {'fqn': pkg.full_name}, AdminContext()) if existing: existing_pkg = existing[0] if update: LOG.debug('Deleting existing package {exst_pkg_id}').format( exst_pkg_id=existing_pkg.id) db_catalog_api.package_delete(existing_pkg.id, AdminContext()) else: LOG.error("Package '{name}' exists ({pkg_id}). Use --update." .format(name=pkg.full_name, pkg_id=existing_pkg.id)) return package = { 'fully_qualified_name': pkg.full_name, 'type': pkg.package_type, 'author': pkg.author, 'supplier': pkg.supplier, 'name': pkg.display_name, 'description': pkg.description, # note: we explicitly mark all the imported packages as public, # until a parameter added to control visibility scope of a package 'is_public': True, 'tags': pkg.tags, 'logo': pkg.logo, 'supplier_logo': pkg.supplier_logo, 'ui_definition': pkg.ui, 'class_definitions': pkg.classes, 'archive': pkg.blob, 'categories': categories or [] } # note(ruhe): the second parameter is tenant_id # it is a required field in the DB, that's why we pass an empty string result = db_catalog_api.package_upload(package, '') LOG.info("Finished import of package {res_id}".format(res_id=result.id)) # TODO(ruhe): proper error handling def do_import_package(): """Import Murano package from local directory.""" _do_import_package( CONF.command.directory, CONF.command.categories, CONF.command.update) def do_list_categories(): categories = db_catalog_api.category_get_names() if categories: print(">> Murano package categories:") for c in categories: print("* {0}".format(c)) else: print("No categories were found") def do_add_category(): category_name = CONF.command.category_name try: db_catalog_api.category_add(category_name) print(">> Successfully added category {0}".format(category_name)) except db_exception.DBDuplicateEntry: print(">> ERROR: Category '{0}' already exists".format(category_name)) def add_command_parsers(subparsers): parser = subparsers.add_parser('import-package') parser.set_defaults(func=do_import_package) parser.add_argument('directory', help='A directory with Murano package.') parser.add_argument('-u', '--update', action="store_true", default=False, help='If a package already exists, delete and update') parser.add_argument('-c', '--categories', choices=consts.CATEGORIES, nargs='*', help='An optional list of categories this package ' 'to be assigned to.') parser = subparsers.add_parser('category-list') parser.set_defaults(func=do_list_categories) parser = subparsers.add_parser('category-add') parser.set_defaults(func=do_add_category) parser.add_argument('category_name', help='Name of the new category.') command_opt = cfg.SubCommandOpt('command', title='Commands', help='Show available commands.', handler=add_command_parsers) def main(): CONF.register_cli_opt(command_opt) try: default_config_files = cfg.find_config_files('murano', 'murano') CONF(sys.argv[1:], project='murano', prog='murano-manage', version=version.version_string, default_config_files=default_config_files) except RuntimeError as e: LOG.error("failed to initialize murano-manage: {error}".format( error=e)) sys.exit("ERROR: %s" % e) try: CONF.command.func() except Exception as e: tb = traceback.format_exc() err_msg = ("murano-manage command failed: {error}\n" "{traceback}").format(error=e, traceback=tb) LOG.error(err_msg) sys.exit(err_msg) if __name__ == '__main__': main() murano-9.0.0/murano/cmd/cfapi_db_manage.py0000664000175000017500000000474713656750211020542 0ustar zuulzuul00000000000000# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_config import cfg from oslo_db import options from murano.db.cfapi_migration import migration CONF = cfg.CONF options.set_defaults(CONF) class ApiDBCommand(object): def upgrade(self, config): migration.upgrade(CONF.command.revision, config=config) def downgrade(self, config): migration.downgrade(CONF.command.revision, config=config) def revision(self, config): migration.revision(CONF.command.message, CONF.command.autogenerate, config=config) def stamp(self, config): migration.stamp(CONF.command.revision, config=config) def version(self, config): print(migration.version()) def add_command_parsers(subparsers): command_object = ApiDBCommand() parser = subparsers.add_parser('upgrade') parser.set_defaults(func=command_object.upgrade) parser.add_argument('--revision', nargs='?') parser = subparsers.add_parser('downgrade') parser.set_defaults(func=command_object.downgrade) parser.add_argument('--revision', nargs='?') parser = subparsers.add_parser('stamp') parser.add_argument('--revision', nargs='?') parser.set_defaults(func=command_object.stamp) parser = subparsers.add_parser('revision') parser.add_argument('-m', '--message') parser.add_argument('--autogenerate', action='store_true') parser.set_defaults(func=command_object.revision) parser = subparsers.add_parser('version') parser.set_defaults(func=command_object.version) command_opt = cfg.SubCommandOpt('command', title='Command', help='Available commands', handler=add_command_parsers) CONF.register_cli_opt(command_opt) def main(): config = migration.get_alembic_config() # attach the Murano conf to the Alembic conf config.murano_config = CONF CONF(project='murano') CONF.command.func(config) murano-9.0.0/murano/cmd/cfapi.py0000664000175000017500000000355313656750211016557 0ustar zuulzuul00000000000000#!/usr/bin/env python # # Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import sys from oslo_config import cfg from oslo_log import log as logging from oslo_service import service from murano.api.v1 import request_statistics from murano.common import app_loader from murano.common import cf_config as config from murano.common import policy from murano.common import wsgi CONF = cfg.CONF # If ../murano/__init__.py exists, add ../ to Python search path, so that # it will override what happens to be installed in /usr/(local/)lib/python... root = os.path.join(os.path.abspath(__file__), os.pardir, os.pardir, os.pardir) if os.path.exists(os.path.join(root, 'murano', '__init__.py')): sys.path.insert(0, root) def main(): try: config.parse_args() logging.setup(CONF, 'murano-cfapi') request_statistics.init_stats() policy.init() launcher = service.ServiceLauncher(CONF) cfapp = app_loader.load_paste_app('cloudfoundry') cfport, cfhost = (config.CONF.cfapi.bind_port, config.CONF.cfapi.bind_host) launcher.launch_service(wsgi.Service(cfapp, cfport, cfhost)) launcher.wait() except RuntimeError as e: sys.stderr.write("ERROR: %s\n" % e) sys.exit(1) if __name__ == '__main__': main() murano-9.0.0/murano/context.py0000664000175000017500000000230013656750211016403 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from oslo_context import context from murano.common import policy class RequestContext(context.RequestContext): """Class that stores context info about an API request. Stores creditentials of the user, that is accessing API as well as additional request information. """ def __init__(self, session=None, service_catalog=None, **kwargs): super(RequestContext, self).__init__(**kwargs) self.session = session self.service_catalog = service_catalog if self.is_admin is None: self.is_admin = policy.check_is_admin(self) murano-9.0.0/murano/locale/0000775000175000017500000000000013656750351015616 5ustar zuulzuul00000000000000murano-9.0.0/murano/locale/ru/0000775000175000017500000000000013656750351016244 5ustar zuulzuul00000000000000murano-9.0.0/murano/locale/ru/LC_MESSAGES/0000775000175000017500000000000013656750351020031 5ustar zuulzuul00000000000000murano-9.0.0/murano/locale/ru/LC_MESSAGES/murano.po0000664000175000017500000003334613656750211021676 0ustar zuulzuul00000000000000# OpenStack Infra , 2015. #zanata # Andreas Jaeger , 2016. #zanata msgid "" msgstr "" "Project-Id-Version: murano 3.2.1.dev28\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" "POT-Creation-Date: 2017-03-22 16:25+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2016-04-12 05:46+0000\n" "Last-Translator: Copied by Zanata \n" "Language-Team: Russian\n" "Language: ru\n" "X-Generator: Zanata 3.9.6\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" msgid "" "'multipart/form-data' request body should contain 1 or 2 parts: json string " "and zip archive. Current body consists of {amount} part(s)" msgstr "" "'multipart/form-data' тело запроÑа должно Ñодержать 1 или 2 чаÑти: Ñтрока " "json и zip архив. ÐаÑтоÑщее тело запроÑа ÑоÑтоит из {amount} чаÑтей" msgid "Attribute '{0}' is invalid" msgstr "Ðеверный атрибут '{0}'" msgid "Authentication URL" msgstr "URL аутентификации" msgid "Authorization required" msgstr "ТребуетÑÑ Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ" msgid "Category '{name}' doesn't exist" msgstr "ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ '{name}' не ÑущеÑтвует" msgid "Category id '{id}' not found" msgstr "ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ Ñ id '{id}' не найдена" msgid "Category name should be 80 characters maximum" msgstr "Ð˜Ð¼Ñ ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ð¸ не должно превышать 80 Ñимволов" msgid "Category with specified name is already exist" msgstr "ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем уже ÑущеÑтвует" msgid "" "Class with the same full name is already registered in the visibility scope" msgstr "" "КлаÑÑ Ñ Ñ‚Ð°ÐºÐ¸Ð¼ полным именем уже зарегиÑтрирован в текущей облаÑти видимоÑти" msgid "Content-Type must be '{type}'" msgstr "Content-Type должен быть '{type}'" #, python-format msgid "" "Could not bind to %(host)s:%(port)s after trying for 30 seconds: Address " "already in use." msgstr "" "Ðе удалоÑÑŒ ÑвÑзать Ñ %(host)s:%(port)s в течении 30 Ñекунд: Ð°Ð´Ñ€ÐµÑ ÑƒÐ¶Ðµ " "иÑпользуетÑÑ" msgid "Couldn't load package from file: {reason}" msgstr "Ðе удалоÑÑŒ загрузить пакет из файла: {reason}" msgid "Create resources using trust token rather than user's token" msgstr "Создание реÑурÑов иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ trust токен, а не токен пользователÑ" msgid "Disallow the use of murano-agent" msgstr "Запретить иÑпользование мурано агента" msgid "Enable model policy enforcer using Congress" msgstr "Включите enforcer политик, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Congress" msgid "Env Template with specified name already exists" msgstr "Шаблон Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем уже ÑущеÑтвует" msgid "EnvTemplate is not found" msgstr "Шаблон Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð½Ðµ найден" msgid "EnvTemplate body is incorrect" msgstr "ÐедопуÑтимое тело шаблона окружениÑ" msgid "Environment is not found" msgstr "Окружение не найдено" msgid "Environment Template is not found" msgstr "Шаблон Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð½Ðµ найден" msgid "Environment Template is not found" msgstr "Шаблон Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð½Ðµ найден" msgid "Environment Template must contain at least one non-white space symbol" msgstr "Шаблон Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ Ñодержать Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ один не-пробельный Ñимвол" msgid "Environment Template with id {id} not found" msgstr "Шаблон Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ñ id {id} не найден" msgid "Environment name must contain at least one non-white space symbol" msgstr "Ð˜Ð¼Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ñодержать Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ один не-пробельный Ñимвол" msgid "Environment name should be 255 characters maximum" msgstr "Ð˜Ð¼Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð½Ðµ должно превышать 255 Ñимволов" msgid "Environment template name should be 255 characters maximum" msgstr "Ð˜Ð¼Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð½Ðµ должно превышать 255 Ñимволов" msgid "Environment template specified name already exists" msgstr "Шаблон Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем уже ÑущеÑтвует" msgid "Environment with id {env_id} not found" msgstr "Окружение Ñ id {env_id} не найдено" msgid "Environment with specified name already exists" msgstr "Окружение Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ именем уже ÑущеÑтвует" msgid "Invalid sort direction: {0}" msgstr "Ðеверное направление Ñортировки: {0}" msgid "Invalid sort key: {sort_key}. Must be one of the following: {available}" msgstr "" "ÐедопуÑтимый ключ Ñортировки: {sort_key}. ДопуÑкаетÑÑ Ð¾Ð´Ð¸Ð½ из Ñледующих " "ключей: {available}" msgid "" "It's impossible to delete categories assigned to the package, uploaded to " "the catalog" msgstr "" "Ðевозможно удалить категории, приÑвоенные загруженному в каталог пакету" msgid "Limit param must be an integer" msgstr "Параметр limit должен быть целым чиÑлом" msgid "Limit param must be positive" msgstr "Параметр limit должен быть положительным чиÑлом" msgid "" "Local package is not found since \"load-packages-from\" engine parameter is " "not provided and specified packages is not loaded to murano-api" msgstr "" "Пакет не найдет локально, поÑкольку параметр \"load-packages-from\" не " "уÑтановлен, а так же пакет не был загружен через API" msgid "Malformed request body" msgstr "Ðеправильно Ñформированное тело запроÑа" msgid "Murano object model validation failed: {0}" msgstr "Ошибка при валидации объкетной модели мурано: {0}" msgid "Nested paths are not allowed" msgstr "Вложенные пути недопуÑтимы" msgid "No tests found for execution." msgstr "Ðе найдено теÑтов Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ." #, python-format msgid "Operation \"%s\" requires a member named \"value\"." msgstr "Операции \"%s\" требуетÑÑ ÑƒÑ‡Ð°Ñтник Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ \"value\"." msgid "Operations must be JSON objects." msgstr "Операции должны быть объектами JSON." msgid "Package '{pkg_id}' is not owned by tenant '{tenant}'" msgstr "Пакет '{pkg_id}' не принадлежит проекту '{tenant}'" msgid "Package '{pkg_id}' is not public and not owned by tenant '{tenant}' " msgstr "" "Пакет '{pkg_id}' не ÑвлÑетÑÑ Ð¿ÑƒÐ±Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼ и не принадлежит проекту '{tenant}'" msgid "Package id '{pkg_id}' not found" msgstr "Пакет Ñ id '{pkg_id}' не найден" msgid "Package schema is not valid: {reason}" msgstr "ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ñхема пакета: {reason}" msgid "Package with specified full name is already registered" msgstr "Пакет Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ полным именем уже зарегиÑтрирован" msgid "Package with the same Name is already made public" msgstr "Пакет Ñ Ñ‚Ð°ÐºÐ¸Ð¼ именем уже ÑвлÑетÑÑ Ð¿ÑƒÐ±Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼" msgid "Path to class configuration files" msgstr "Путь к клаÑÑу конфигурационных файлов" msgid "Please, specify a name of the environment template." msgstr "Укажите Ð¸Ð¼Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° окружениÑ" msgid "Please, specify a name of the environment to create" msgstr "Укажите Ð¸Ð¼Ñ Ñоздаваемого окружениÑ" #, python-format msgid "Pointer `%s` contains adjacent \"/\"." msgstr "Указатель `%s` Ñодержит Ñмежный \"/\"." #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "Указатель `%s` не начинаетÑÑ Ñ \"/\"." msgid "Request body is empty: please, provide application object model" msgstr "ПуÑтое тело запроÑа: укажите объектную модель приложениÑ" msgid "Request body must be a JSON array of operation objects." msgstr "Тело запроÑа должно быть маÑÑивом JSON объектов операций." msgid "Role used to identify an authenticated user as administrator." msgstr "" "Роль, применÑÐµÐ¼Ð°Ñ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸Ñ†Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð¾Ð³Ð¾ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² " "качеÑтве админиÑтратора." msgid "Session is already in deployment state" msgstr "СеÑÑÐ¸Ñ Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚ÑÑ Ð² ÑоÑтоÑнии развёртываниÑ" msgid "" "Session is invalid: environment has been updated or updating " "right now with other session" msgstr "" "СеÑÑÐ¸Ñ Ð½ÐµÐ´ÐµÐ¹Ñтвительна: окружение было обновлено или " "обновлÑетÑÑ Ð² другой ÑеÑÑии" msgid "Session is not found" msgstr "СеÑÑÐ¸Ñ Ð½Ðµ найдена" msgid "Session is not found" msgstr "СеÑÑÐ¸Ñ Ð½Ðµ найдена" msgid "" "Session is already deployed or deployment is in progress" msgstr "" "СеÑÑÐ¸Ñ ÑƒÐ¶Ðµ задеплоена или находитÑÑ Ð² ÑоÑтоÑнии " "развёртываниÑ" msgid "" "Session is not tied with Environment " msgstr "" "СеÑÑÐ¸Ñ Ð½Ðµ привÑзана к Окружению " msgid "" "Session is in deploying state and could not be deleted" msgstr "" "СеÑÑÐ¸Ñ Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚ÑÑ Ð² ÑоÑтоÑнии Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð¸ не может " "быть удалена" msgid "Source object or path is malformed" msgstr "Ðеверный иÑходный объект или путь" msgid "" "Specified package is not found: {0} were scanned together with murano " "database" msgstr "" "Пакет не был найден: {0} были проÑканированны вмеÑте Ñ Ð±Ð°Ð·Ð¾Ð¹ данных murano" msgid "Statistics collection interval in minutes.Default value is 5 minutes." msgstr "Интервал Ñбора ÑтатиÑтики в минутах. Значение по умолчанию - 5 минут." msgid "The environment template {templ_id} does not exist" msgstr "Шаблон Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ {templ_id} не ÑущеÑтвует" msgid "The template does not exist {templ_id}" msgstr "Шаблон не ÑущеÑтвует {templ_id}" msgid "There is no file package with application description" msgstr "ОтÑутÑтвует файл пакета Ñ Ð¾Ð¿Ð¸Ñанием приложениÑ" msgid "Time for waiting for a response from murano agent during the deployment" msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ð²ÐµÑ‚Ð° от мурано агента при развёртываниÑ" #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "'%s' не найден в изменении Ñхемы JSON" #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s. \n" "Got: %(e)r" msgstr "" "Ðевозможно загрузить %(app_name)s из конфигурационного файла %(conf_file)s.\n" "Ошибка: %(e)r" #, python-format msgid "Unable to locate paste config file for %s." msgstr "Ðе удаетÑÑ Ð½Ð°Ð¹Ñ‚Ð¸ файл конфигурации paste Ð´Ð»Ñ %s." msgid "Unsupported Content-Type" msgstr "Ðеподдерживаемый Content-Type" msgid "Uploading file can't be empty" msgstr "Загружаемый файл не может быть пуÑтым" msgid "Uploading file is too large. The limit is {0} Mb" msgstr "Загружаемый файл Ñлишком большой. Значение не должно превышать {0} Mb" msgid "" "User is not authorized to access session ." msgstr "" "У Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½ÐµÑ‚ прав на доÑтуп к ÑеÑÑии ." msgid "User is not authorized to access these tenant resources" msgstr "У Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½ÐµÑ‚ прав на доÑтуп к Ñтим реÑурÑам Ñтого проекта" msgid "User is not authorized to access this tenant resources" msgstr "У Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½ÐµÑ‚ прав на доÑтуп к реÑурÑам Ñтого проекта" msgid "Value '{value}' of property '{path}' does not exist." msgstr "Значение '{value}' Ð´Ð»Ñ ÑвойÑтва '{path}' не ÑущеÑтвует" msgid "X-Configuration-Session header which indicates to the session is missed" msgstr "" "Заголовок X-Configuration-Session, которым определÑетÑÑ ÑеÑÑиÑ, отÑутÑтвует" msgid "Your credentials are wrong. Please try again" msgstr "Ваша Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ðµ верна. Попробуйте ещё раз" msgid "cannot understand JSON" msgstr "не удаетÑÑ Ð¿Ñ€Ð¾Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ JSON" msgid "cannot understand XML" msgstr "не удаетÑÑ Ð¿Ñ€Ð¾Ð°Ð½Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ XML" murano-9.0.0/murano/locale/en_GB/0000775000175000017500000000000013656750351016570 5ustar zuulzuul00000000000000murano-9.0.0/murano/locale/en_GB/LC_MESSAGES/0000775000175000017500000000000013656750351020355 5ustar zuulzuul00000000000000murano-9.0.0/murano/locale/en_GB/LC_MESSAGES/murano.po0000664000175000017500000003673713656750211022231 0ustar zuulzuul00000000000000# OpenStack Infra , 2015. #zanata # Andi Chandler , 2017. #zanata # Andi Chandler , 2018. #zanata # Andi Chandler , 2019. #zanata msgid "" msgstr "" "Project-Id-Version: murano VERSION\n" "Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" "POT-Creation-Date: 2019-12-19 02:15+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2019-12-21 02:43+0000\n" "Last-Translator: Andi Chandler \n" "Language-Team: English (United Kingdom)\n" "Language: en_GB\n" "X-Generator: Zanata 4.3.3\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" msgid "" "'multipart/form-data' request body should contain 1 or 2 parts: json string " "and zip archive. Current body consists of {amount} part(s)" msgstr "" "'multipart/form-data' request body should contain 1 or 2 parts: json string " "and zip archive. Current body consists of {amount} part(s)" msgid "Acceptable response can not be provided" msgstr "Acceptable response cannot be provided" msgid "Attribute '{0}' is invalid" msgstr "Attribute '{0}' is invalid" msgid "Authentication URL" msgstr "Authentication URL" msgid "Authorization required" msgstr "Authorisation required" msgid "Bad value passed to filter. Got {key}, expected:{valid}" msgstr "Bad value passed to filter. Got {key}, expected:{valid}" msgid "Category '{name}' doesn't exist" msgstr "Category '{name}' doesn't exist" msgid "Category id '{id}' not found" msgstr "Category id '{id}' not found" msgid "Category name should be 80 characters maximum" msgstr "Category name should be 80 characters maximum" msgid "Category with specified name is already exist" msgstr "Category with specified name is already exist" msgid "Class name and method name must be specified for static action" msgstr "Class name and method name must be specified for static action" msgid "" "Class with the same full name is already registered in the visibility scope" msgstr "" "Class with the same full name is already registered in the visibility scope" msgid "Content-Type must be '{type}'" msgstr "Content-Type must be '{type}'" #, python-format msgid "" "Could not bind to %(host)s:%(port)s after trying for 30 seconds: Address " "already in use." msgstr "" "Could not bind to %(host)s:%(port)s after trying for 30 seconds: Address " "already in use." msgid "" "Could not open session for environment , environment has " "deploying or deleting status." msgstr "" "Could not open session for environment , environment has " "deploying or deleting status." msgid "Couldn't load package from file: {reason}" msgstr "Couldn't load package from file: {reason}" msgid "Create resources using trust token rather than user's token" msgstr "Create resources using trust token rather than user's token" msgid "Disallow the use of murano-agent" msgstr "Disallow the use of murano-agent" msgid "Domain name of the project" msgstr "Domain name of the project" msgid "Domain name of the user" msgstr "Domain name of the user" msgid "Enable model policy enforcer using Congress" msgstr "Enable model policy enforcer using Congress" msgid "" "Enables murano-engine to persist on disk packages downloaded during " "deployments. The packages would be re-used for consequent deployments." msgstr "" "Enables murano-engine to persist on disk packages downloaded during " "deployments. The packages would be re-used for consequent deployments." msgid "Env Template with specified name already exists" msgstr "Env Template with specified name already exists" msgid "Env template with specified name already exists" msgstr "Env template with specified name already exists" msgid "EnvTemplate is not found" msgstr "EnvTemplate is not found" msgid "EnvTemplate body is incorrect" msgstr "EnvTemplate body is incorrect" msgid "Environment is not found" msgstr "Environment is not found" msgid "Environment Template is not found" msgstr "Environment Template is not found" msgid "Environment Template is not found" msgstr "Environment Template is not found" msgid "Environment Template must contain at least one non-white space symbol" msgstr "Environment Template must contain at least one non-white space symbol" msgid "Environment Template with id {id} not found" msgstr "Environment Template with id {id} not found" msgid "Environment audit interval in minutes. Default value is 60 minutes." msgstr "Environment audit interval in minutes. Default value is 60 minutes." msgid "Environment name must contain at least one non-white space symbol" msgstr "Environment name must contain at least one non-white space symbol" msgid "Environment name should be 255 characters maximum" msgstr "Environment name should be 255 characters maximum" msgid "Environment template name should be 255 characters maximum" msgstr "Environment template name should be 255 characters maximum" msgid "Environment template specified name already exists" msgstr "Environment template specified name already exists" msgid "Environment with id {env_id} not found" msgstr "Environment with id {env_id} not found" msgid "Environment with specified name already exists" msgstr "Environment with specified name already exists" msgid "Host for service broker" msgstr "Host for service broker" #, python-format msgid "Invalid SSL version: %s" msgstr "Invalid SSL version: %s" #, python-format msgid "Invalid filter value %s. The quote is not closed." msgstr "Invalid filter value %s. The quote is not closed." #, python-format msgid "" "Invalid filter value %s. There is no comma after opening quotation mark." msgstr "" "Invalid filter value %s. There is no comma after opening quotation mark." #, python-format msgid "" "Invalid filter value %s. There is no comma before opening quotation mark." msgstr "" "Invalid filter value %s. There is no comma before opening quotation mark." msgid "Invalid sort direction: {0}" msgstr "Invalid sort direction: {0}" msgid "Invalid sort key: {sort_key}. Must be one of the following: {available}" msgstr "" "Invalid sort key: {sort_key}. Must be one of the following: {available}" msgid "" "It's impossible to delete categories assigned to the package, uploaded to " "the catalog" msgstr "" "It's impossible to delete categories assigned to the package, uploaded to " "the catalogue" msgid "JSON-patch must be a list." msgstr "JSON-patch must be a list." msgid "Limit param must be an integer" msgstr "Limit param must be an integer" msgid "Limit param must be positive" msgstr "Limit param must be positive" msgid "" "List of directories to load local packages from. If not provided, packages " "will be loaded only API" msgstr "" "List of directories to load local packages from. If not provided, packages " "will be loaded only API" msgid "" "Local package is not found since \"load-packages-from\" engine parameter is " "not provided and specified packages is not loaded to murano-api" msgstr "" "Local package is not found since \"load-packages-from\" engine parameter is " "not provided and specified packages is not loaded to murano-api" msgid "Malformed request body" msgstr "Malformed request body" msgid "Maximum number of elements that can be iterated per object type." msgstr "Maximum number of elements that can be iterated per object type." msgid "" "Method '{method}' is not allowed for a path with name '{name}'. Allowed " "operations are: {ops}" msgstr "" "Method '{method}' is not allowed for a path with name '{name}'. Allowed " "operations are: {ops}" msgid "Murano object model validation failed: {0}" msgstr "Murano object model validation failed: {0}" msgid "Nested paths are not allowed" msgstr "Nested paths are not allowed" msgid "No tests found for execution." msgstr "No tests found for execution." msgid "Number of API workers" msgstr "Number of API workers" msgid "Number of engine workers" msgstr "Number of engine workers" #, python-format msgid "Operation \"%s\" requires a member named \"value\"." msgstr "Operation \"%s\" requires a member named \"value\"." msgid "Operations must be JSON objects." msgstr "Operations must be JSON objects." msgid "Package '{pkg_id}' is not owned by tenant '{tenant}'" msgstr "Package '{pkg_id}' is not owned by tenant '{tenant}'" msgid "Package '{pkg_id}' is not public and not owned by tenant '{tenant}' " msgstr "Package '{pkg_id}' is not public and not owned by tenant '{tenant}' " msgid "Package id '{pkg_id}' not found" msgstr "Package id '{pkg_id}' not found" msgid "Package name should be 80 characters maximum" msgstr "Package name should be 80 characters maximum" msgid "Package schema is not valid: {reason}" msgstr "Package schema is not valid: {reason}" msgid "Package service which should be used by service broker" msgstr "Package service which should be used by service broker" msgid "Package with specified full name is already registered" msgstr "Package with specified full name is already registered" msgid "Package with the same Name is already made public" msgstr "Package with the same Name is already made public" msgid "Path to RSA key for agent message signing" msgstr "Path to RSA key for agent message signing" msgid "Path to class configuration files" msgstr "Path to class configuration files" msgid "Please, specify a name of the environment template." msgstr "Please, specify a name of the environment template." msgid "Please, specify a name of the environment to create" msgstr "Please, specify a name of the environment to create" #, python-format msgid "" "Pointer `%s` contains \"~\", which is not part of a recognized escape " "sequence." msgstr "" "Pointer `%s` contains \"~\", which is not part of a recognised escape " "sequence." #, python-format msgid "Pointer `%s` contains adjacent \"/\"." msgstr "Pointer `%s` contains adjacent \"/\"." #, python-format msgid "Pointer `%s` does not contain a valid token." msgstr "Pointer `%s` does not contain a valid token." #, python-format msgid "Pointer `%s` does not start with \"/\"." msgstr "Pointer `%s` does not start with \"/\"." #, python-format msgid "Pointer `%s` ends with \"/\"." msgstr "Pointer `%s` ends with \"/\"." msgid "Port for service broker" msgstr "Port for service broker" msgid "Project for service broker" msgstr "Project for service broker" msgid "Request body is empty: please, provide application object model" msgstr "Request body is empty: please, provide application object model" msgid "Request body is empty: please, provide environment object model patch" msgstr "Request body is empty: please, provide environment object model patch" msgid "Request body must be a JSON array of operation objects." msgstr "Request body must be a JSON array of operation objects." msgid "Role used to identify an authenticated user as administrator." msgstr "Role used to identify an authenticated user as administrator." msgid "Sample Check" msgstr "Sample Check" msgid "Session is already in deployment state" msgstr "Session is already in deployment state" msgid "" "Session is invalid: environment has been updated or updating " "right now with other session" msgstr "" "Session is invalid: environment has been updated or updating " "right now with other session" msgid "Session is not found" msgstr "Session is not found" msgid "Session is not found" msgstr "Session is not found" msgid "" "Session is already deployed or deployment is in progress" msgstr "" "Session is already deployed or deployment is in progress" msgid "" "Session is not tied with Environment " msgstr "" "Session is not tied with Environment " msgid "" "Session is in deploying state and could not be deleted" msgstr "" "Session is in deploying state and could not be deleted" msgid "Source object or path is malformed" msgstr "Source object or path is malformed" msgid "" "Specified package is not found: {0} were scanned together with murano " "database" msgstr "" "Specified package is not found: {0} were scanned together with Murano " "database" #, python-format msgid "Starting Murano REST API on %(host)s:%(port)s" msgstr "Starting Murano REST API on %(host)s:%(port)s" msgid "Statistics collection interval in minutes.Default value is 5 minutes." msgstr "Statistics collection interval in minutes. Default value is 5 minutes." msgid "The environment template {templ_id} does not exist" msgstr "The environment template {templ_id} does not exist" msgid "" "The service to store murano packages: murano (stands for legacy behavior " "using murano-api) or glance (stands for glance-glare artifact service)" msgstr "" "The service to store Murano packages: Murano (stands for legacy behaviour " "using murano-api) or Glance (stands for glance-glare artefact service)" msgid "The template does not exist {templ_id}" msgstr "The template does not exist {templ_id}" msgid "There is no file package with application description" msgstr "There is no file package with application description" msgid "Time for waiting for a response from murano agent during the deployment" msgstr "" "Time for waiting for a response from murano agent during the deployment" #, python-format msgid "Unable to find '%s' in JSON Schema change" msgstr "Unable to find '%s' in JSON Schema change" #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s. \n" "Got: %(e)r" msgstr "" "Unable to load %(app_name)s from configuration file %(conf_file)s. \n" "Got: %(e)r" #, python-format msgid "Unable to locate paste config file for %s." msgstr "Unable to locate paste config file for %s." msgid "Unsupported Content-Type" msgstr "Unsupported Content-Type" msgid "Uploading file can't be empty" msgstr "Uploading file can't be empty" msgid "Uploading file is too large. The limit is {0} Mb" msgstr "Uploading file is too large. The limit is {0} Mb" msgid "" "User is not authorized to access session ." msgstr "" "User is not authorised to access session ." msgid "User has no access to these resources." msgstr "User has no access to these resources." msgid "User is not authorized to access these tenant resources" msgstr "User is not authorised to access these tenant resources" msgid "User is not authorized to access this tenant resources" msgstr "User is not authorised to access this tenant resources" msgid "Value '{value}' of property '{path}' does not exist." msgstr "Value '{value}' of property '{path}' does not exist." msgid "Whether environment audit events enabled" msgstr "Whether environment audit events enabled" msgid "X-Configuration-Session header which indicates to the session is missed" msgstr "" "X-Configuration-Session header which indicates to the session is missed" msgid "Your credentials are wrong. Please try again" msgstr "Your credentials are wrong. Please try again" msgid "cannot understand JSON" msgstr "cannot understand JSON" msgid "cannot understand XML" msgstr "cannot understand XML" msgid "pip URL/package spec for murano-agent" msgstr "pip URL/package spec for murano-agent" msgid "{0}: Unsupported Format. Only {1} allowed" msgstr "{0}: Unsupported Format. Only {1} allowed" msgid "{0}: Uploaded image size {1} is too large. Max allowed size is {2}" msgstr "{0}: Uploaded image size {1} is too large. Max allowed size is {2}" murano-9.0.0/murano/engine/0000775000175000017500000000000013656750351015624 5ustar zuulzuul00000000000000murano-9.0.0/murano/engine/__init__.py0000664000175000017500000000000013656750211017716 0ustar zuulzuul00000000000000murano-9.0.0/murano/engine/murano_package.py0000664000175000017500000000455313656750211021154 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import json import os from oslo_config import cfg import yaml from murano.dsl import murano_package CONF = cfg.CONF class MuranoPackage(murano_package.MuranoPackage): def __init__(self, package_loader, application_package): self.application_package = application_package super(MuranoPackage, self).__init__( package_loader, application_package.full_name, application_package.version, application_package.runtime_version, application_package.requirements, application_package.meta ) def get_class_config(self, name): version_parts = ( str(self.version.major), str(self.version.minor), str(self.version.patch) ) num_parts = len(version_parts) for i in range(num_parts + 1): for ext in ('json', 'yaml'): if i == num_parts: if version_parts[0] == '0': version_suffix = '' else: continue else: version_suffix = '-' + '.'.join( version_parts[:num_parts - i]) file_name = '{name}{version}.{extension}'.format( name=name, version=version_suffix, extension=ext) path = os.path.join(CONF.engine.class_configs, file_name) if os.path.exists(path): if ext == 'json': with open(path) as f: return json.load(f) else: with open(path) as f: return yaml.safe_load(f) return {} def get_resource(self, name): return self.application_package.get_resource(name) murano-9.0.0/murano/engine/yaql_yaml_loader.py0000664000175000017500000000525013656750211021511 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import yaml import yaml.composer import yaml.constructor from murano.dsl import dsl_types from murano.dsl import helpers from murano.dsl import yaql_expression @helpers.memoize def get_loader(version): version = helpers.parse_version(version) class MuranoPlDict(dict): pass class YaqlExpression(yaql_expression.YaqlExpression): @staticmethod def match(expr): return yaql_expression.YaqlExpression.is_expression(expr, version) def load(contents, file_id): def build_position(node): return dsl_types.ExpressionFilePosition( file_id, node.start_mark.line + 1, node.start_mark.column + 1, node.end_mark.line + 1, node.end_mark.column + 1) class MuranoPlYamlConstructor(yaml.constructor.SafeConstructor): def construct_yaml_map(self, node): data = MuranoPlDict() data.source_file_position = build_position(node) yield data value = self.construct_mapping(node) data.update(value) class YaqlYamlLoader(yaml.SafeLoader, MuranoPlYamlConstructor): pass YaqlYamlLoader.add_constructor( u'tag:yaml.org,2002:map', MuranoPlYamlConstructor.construct_yaml_map) # workaround for PyYAML bug: http://pyyaml.org/ticket/221 resolvers = {} for k, v in yaml.SafeLoader.yaml_implicit_resolvers.items(): resolvers[k] = v[:] YaqlYamlLoader.yaml_implicit_resolvers = resolvers def yaql_constructor(loader, node): value = loader.construct_scalar(node) result = yaql_expression.YaqlExpression(value, version) result.source_file_position = build_position(node) return result YaqlYamlLoader.add_constructor(u'!yaql', yaql_constructor) YaqlYamlLoader.add_implicit_resolver(u'!yaql', YaqlExpression, None) return list(filter( lambda t: t, yaml.load_all(contents, Loader=YaqlYamlLoader)) ) return load murano-9.0.0/murano/engine/package_loader.py0000664000175000017500000005753113656750211021125 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import collections import itertools import os import os.path import shutil import sys import tempfile import uuid import eventlet from muranoclient.common import exceptions as muranoclient_exc from muranoclient.glance import client as glare_client import muranoclient.v1.client as muranoclient from oslo_config import cfg from oslo_log import log as logging from oslo_log import versionutils from oslo_utils import fileutils from murano.common import auth_utils from murano.common import utils from murano.dsl import constants from murano.dsl import exceptions from murano.dsl import helpers from murano.dsl import package_loader from murano.engine import murano_package from murano.engine.system import system_objects from murano.engine import yaql_yaml_loader from murano.packages import exceptions as pkg_exc from murano.packages import load_utils from murano import utils as m_utils CONF = cfg.CONF LOG = logging.getLogger(__name__) download_mem_locks = collections.defaultdict(m_utils.ReaderWriterLock) usage_mem_locks = collections.defaultdict(m_utils.ReaderWriterLock) class ApiPackageLoader(package_loader.MuranoPackageLoader): def __init__(self, execution_session, root_loader=None): self._cache_directory = self._get_cache_directory() self._class_cache = {} self._package_cache = {} self._root_loader = root_loader or self self._execution_session = execution_session self._last_glare_token = None self._glare_client = None self._murano_client = None self._murano_client_session = None self._mem_locks = [] self._ipc_locks = [] self._downloaded = [] self._fixations = collections.defaultdict(set) self._new_fixations = collections.defaultdict(set) def _get_glare_client(self): glare_settings = CONF.glare session = auth_utils.get_client_session(self._execution_session) token = session.auth.get_token(session) if self._last_glare_token != token: self._last_glare_token = token self._glare_client = None if self._glare_client is None: url = glare_settings.url if not url: url = session.get_endpoint( service_type='artifact', interface=glare_settings.endpoint_type, region_name=CONF.home_region) # TODO(gyurco): use auth_utils.get_session_client_parameters self._glare_client = glare_client.Client( endpoint=url, token=token, insecure=glare_settings.insecure, key_file=glare_settings.keyfile or None, ca_file=glare_settings.cafile or None, cert_file=glare_settings.certfile or None, type_name='murano', type_version=1) return self._glare_client @property def client(self): last_glare_client = self._glare_client if CONF.engine.packages_service in ['glance', 'glare']: if CONF.engine.packages_service == 'glance': versionutils.report_deprecated_feature( LOG, "'glance' packages_service option has been renamed " "to 'glare', please update your configuration") artifacts_client = self._get_glare_client() else: artifacts_client = None if artifacts_client != last_glare_client: self._murano_client = None if not self._murano_client: parameters = auth_utils.get_session_client_parameters( service_type='application-catalog', execution_session=self._execution_session, conf='murano' ) self._murano_client = muranoclient.Client( artifacts_client=artifacts_client, **parameters) return self._murano_client def load_class_package(self, class_name, version_spec): packages = self._class_cache.get(class_name) if packages: version = version_spec.select(packages.keys()) if version: return packages[version] filter_opts = {'class_name': class_name, 'version': helpers.breakdown_spec_to_query( version_spec)} try: package_definition = self._get_definition(filter_opts) self._lock_usage(package_definition) except LookupError: exc_info = sys.exc_info() utils.reraise(exceptions.NoPackageForClassFound, exceptions.NoPackageForClassFound(class_name), exc_info[2]) return self._to_dsl_package( self._get_package_by_definition(package_definition)) def load_package(self, package_name, version_spec): fixed_versions = self._fixations[package_name] version = version_spec.select(fixed_versions) if version: version_spec = helpers.parse_version_spec(version) packages = self._package_cache.get(package_name) if packages: version = version_spec.select(packages.keys()) if version: return packages[version] filter_opts = {'fqn': package_name, 'version': helpers.breakdown_spec_to_query( version_spec)} try: package_definition = self._get_definition(filter_opts) self._lock_usage(package_definition) except LookupError: exc_info = sys.exc_info() utils.reraise(exceptions.NoPackageFound, exceptions.NoPackageFound(package_name), exc_info[2]) else: package = self._get_package_by_definition(package_definition) self._fixations[package_name].add(package.version) self._new_fixations[package_name].add(package.version) return self._to_dsl_package(package) def register_package(self, package): for name in package.classes: self._class_cache.setdefault(name, {})[package.version] = package self._package_cache.setdefault(package.name, {})[ package.version] = package @staticmethod def _get_cache_directory(): base_directory = ( CONF.engine.packages_cache or os.path.join(tempfile.gettempdir(), 'murano-packages-cache') ) if CONF.engine.enable_packages_cache: directory = os.path.abspath(base_directory) else: directory = os.path.abspath(os.path.join(base_directory, uuid.uuid4().hex)) if not os.path.isdir(directory): fileutils.ensure_tree(directory) LOG.debug('Cache for package loader is located at: {dir}'.format( dir=directory)) return directory def _get_definition(self, filter_opts): filter_opts['catalog'] = True try: packages = list(self.client.packages.filter( **filter_opts)) if len(packages) > 1: LOG.debug('Ambiguous package resolution: more than 1 package ' 'found for query "{opts}", will resolve based on the' ' ownership'.format(opts=filter_opts)) return self._get_best_package_match(packages) elif len(packages) == 1: return packages[0] else: LOG.debug('There are no packages matching filter ' '{opts}'.format(opts=filter_opts)) raise LookupError() except muranoclient_exc.HTTPException: LOG.debug('Failed to get package definition from repository') raise LookupError() def _to_dsl_package(self, app_package): dsl_package = murano_package.MuranoPackage( self._root_loader, app_package) for name in app_package.classes: dsl_package.register_class( (lambda cls: lambda: get_class(app_package, cls))(name), name) if app_package.full_name == constants.CORE_LIBRARY: system_objects.register(dsl_package) self.register_package(dsl_package) return dsl_package def _get_package_by_definition(self, package_def): package_id = package_def.id package_directory = os.path.join( self._cache_directory, package_def.fully_qualified_name, getattr(package_def, 'version', '0.0.0'), package_id) if os.path.isdir(package_directory): try: return load_utils.load_from_dir(package_directory) except pkg_exc.PackageLoadError: LOG.exception('Unable to load package from cache. Clean-up.') shutil.rmtree(package_directory, ignore_errors=True) # the package is not yet in cache, let's try to download it. download_lock_path = os.path.join( self._cache_directory, '{}_download.lock'.format(package_id)) download_ipc_lock = m_utils.ExclusiveInterProcessLock( path=download_lock_path, sleep_func=eventlet.sleep) with download_mem_locks[package_id].write_lock(), download_ipc_lock: # NOTE(kzaitsev): # in case there were 2 concurrent threads/processes one might have # already downloaded this package. Check before trying to download if os.path.isdir(package_directory): try: return load_utils.load_from_dir(package_directory) except pkg_exc.PackageLoadError: LOG.error('Unable to load package from cache. Clean-up.') shutil.rmtree(package_directory, ignore_errors=True) # attempt the download itself try: LOG.debug("Attempting to download package {} {}".format( package_def.fully_qualified_name, package_id)) package_data = self.client.packages.download(package_id) except muranoclient_exc.HTTPException as e: msg = 'Error loading package id {0}: {1}'.format( package_id, str(e) ) exc_info = sys.exc_info() utils.reraise(pkg_exc.PackageLoadError, pkg_exc.PackageLoadError(msg), exc_info[2]) package_file = None try: with tempfile.NamedTemporaryFile(delete=False) as package_file: package_file.write(package_data) with load_utils.load_from_file( package_file.name, target_dir=package_directory, drop_dir=False) as app_package: LOG.info( "Successfully downloaded and unpacked " "package {} {}".format( package_def.fully_qualified_name, package_id)) self._downloaded.append(app_package) self.try_cleanup_cache( os.path.split(package_directory)[0], current_id=package_id) return app_package except IOError: msg = 'Unable to extract package data for %s' % package_id exc_info = sys.exc_info() utils.reraise(pkg_exc.PackageLoadError, pkg_exc.PackageLoadError(msg), exc_info[2]) finally: try: if package_file: os.remove(package_file.name) except OSError: pass def try_cleanup_cache(self, package_directory=None, current_id=None): """Attempts to cleanup cache in a given directory. :param package_directory: directory containing cached packages :param current_id: optional id of the package to exclude from the list of deleted packages """ if not package_directory: return try: pkg_ids_listed = set(os.listdir(package_directory)) except OSError: # No directory for this package, probably someone # already deleted everything. Anyway nothing to delete return # if current_id was given: ensure it's not checked for removal pkg_ids_listed -= {current_id} for pkg_id in pkg_ids_listed: stale_directory = os.path.join( package_directory, pkg_id) if not os.path.isdir(package_directory): continue usage_lock_path = os.path.join( self._cache_directory, '{}_usage.lock'.format(pkg_id)) ipc_lock = m_utils.ExclusiveInterProcessLock( path=usage_lock_path, sleep_func=eventlet.sleep) try: with usage_mem_locks[pkg_id].write_lock(False) as acquired: if not acquired: # the package is in use by other deployment in this # process will do nothing, someone else would delete it continue acquired_ipc_lock = ipc_lock.acquire(blocking=False) if not acquired_ipc_lock: # the package is in use by other deployment in another # process, will do nothing, someone else would delete continue shutil.rmtree(stale_directory, ignore_errors=True) ipc_lock.release() for lock_type in ('usage', 'download'): lock_path = os.path.join( self._cache_directory, '{}_{}.lock'.format(pkg_id, lock_type)) try: os.remove(lock_path) except OSError: LOG.warning("Couldn't delete lock file: " "{}".format(lock_path)) except RuntimeError: # couldn't upgrade read lock to write-lock. go on. continue def _get_best_package_match(self, packages): public = None other = [] for package in packages: if package.owner_id == self._execution_session.project_id: return package elif package.is_public: public = package else: other.append(package) if public is not None: return public elif other: return other[0] def _lock_usage(self, package_definition): """Locks package for usage""" # do not lock anything if we do not persist packages on disk if not CONF.engine.enable_packages_cache: return package_id = package_definition.id # A work around the fact that read_lock only supports `with` syntax. mem_lock = _with_to_generator( usage_mem_locks[package_id].read_lock()) usage_lock_path = os.path.join(self._cache_directory, '{}_usage.lock'.format(package_id)) ipc_lock = m_utils.SharedInterProcessLock( path=usage_lock_path, sleep_func=eventlet.sleep ) ipc_lock = _with_to_generator(ipc_lock) next(mem_lock) next(ipc_lock) self._mem_locks.append(mem_lock) self._ipc_locks.append(ipc_lock) def import_fixation_table(self, fixations): self._fixations = deserialize_package_fixations(fixations) def export_fixation_table(self): return serialize_package_fixations(self._fixations) def compact_fixation_table(self): self._fixations = self._new_fixations.copy() def cleanup(self): """Cleans up any lock we had acquired and removes any stale packages""" if not CONF.engine.enable_packages_cache: shutil.rmtree(self._cache_directory, ignore_errors=True) return for lock in itertools.chain(self._mem_locks, self._ipc_locks): try: next(lock) except StopIteration: continue def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): self.cleanup() return False class DirectoryPackageLoader(package_loader.MuranoPackageLoader): def __init__(self, base_path, root_loader=None): self._base_path = base_path self._packages_by_class = {} self._packages_by_name = {} self._loaded_packages = set() self._root_loader = root_loader or self self._fixations = collections.defaultdict(set) self._new_fixations = collections.defaultdict(set) self._build_index() def _build_index(self): for folder in self.search_package_folders(self._base_path): try: package = load_utils.load_from_dir(folder) dsl_package = murano_package.MuranoPackage( self._root_loader, package) for class_name in package.classes: dsl_package.register_class( (lambda pkg, cls: lambda: get_class(pkg, cls))(package, class_name), class_name ) if dsl_package.name == constants.CORE_LIBRARY: system_objects.register(dsl_package) self.register_package(dsl_package) except pkg_exc.PackageLoadError: LOG.info('Unable to load package from path: {0}'.format( folder)) continue LOG.info('Loaded package from path {0}'.format(folder)) def import_fixation_table(self, fixations): self._fixations = deserialize_package_fixations(fixations) def export_fixation_table(self): return serialize_package_fixations(self._fixations) def compact_fixation_table(self): self._fixations = self._new_fixations.copy() def load_class_package(self, class_name, version_spec): packages = self._packages_by_class.get(class_name) if not packages: raise exceptions.NoPackageForClassFound(class_name) version = version_spec.select(packages.keys()) if not version: raise exceptions.NoPackageForClassFound(class_name) return packages[version] def load_package(self, package_name, version_spec): fixed_versions = self._fixations[package_name] version = version_spec.select(fixed_versions) if version: version_spec = helpers.parse_version_spec(version) packages = self._packages_by_name.get(package_name) if not packages: raise exceptions.NoPackageFound(package_name) version = version_spec.select(packages.keys()) if not version: raise exceptions.NoPackageFound(package_name) self._fixations[package_name].add(version) self._new_fixations[package_name].add(version) return packages[version] def register_package(self, package): for c in package.classes: self._packages_by_class.setdefault(c, {})[ package.version] = package self._packages_by_name.setdefault(package.name, {})[ package.version] = package @property def packages(self): for package_versions in self._packages_by_name.values(): for package in package_versions.values(): yield package @staticmethod def split_path(path): tail = True while tail: path, tail = os.path.split(path) if tail: yield path @classmethod def search_package_folders(cls, path): packages = set() for folder, _, files in os.walk(path): if 'manifest.yaml' in files: found = False for part in cls.split_path(folder): if part in packages: found = True break if not found: packages.add(folder) yield folder def cleanup(self): """A stub for possible cleanup""" pass class CombinedPackageLoader(package_loader.MuranoPackageLoader): def __init__(self, execution_session, root_loader=None): root_loader = root_loader or self self.api_loader = ApiPackageLoader(execution_session, root_loader) self.directory_loaders = [] for folder in CONF.engine.load_packages_from: if os.path.exists(folder): self.directory_loaders.append(DirectoryPackageLoader( folder, root_loader)) def load_package(self, package_name, version_spec): for loader in self.directory_loaders: try: return loader.load_package(package_name, version_spec) except exceptions.NoPackageFound: continue return self.api_loader.load_package( package_name, version_spec) def load_class_package(self, class_name, version_spec): for loader in self.directory_loaders: try: return loader.load_class_package(class_name, version_spec) except exceptions.NoPackageForClassFound: continue return self.api_loader.load_class_package( class_name, version_spec) def register_package(self, package): self.api_loader.register_package(package) def export_fixation_table(self): result = deserialize_package_fixations( self.api_loader.export_fixation_table()) for loader in self.directory_loaders: fixations = deserialize_package_fixations( loader.export_fixation_table()) for key, value in fixations.items(): result[key].update(value) return serialize_package_fixations(result) def import_fixation_table(self, fixations): self.api_loader.import_fixation_table(fixations) for loader in self.directory_loaders: loader.import_fixation_table(fixations) def compact_fixation_table(self): self.api_loader.compact_fixation_table() for loader in self.directory_loaders: loader.compact_fixation_table() def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): self.cleanup() return False def cleanup(self): """Calls cleanup method of all loaders we combine""" self.api_loader.cleanup() for d_loader in self.directory_loaders: d_loader.cleanup() def get_class(package, name): version = package.runtime_version loader = yaql_yaml_loader.get_loader(version) contents, file_id = package.get_class(name) return loader(contents, file_id) def _with_to_generator(context_obj): with context_obj as obj: yield obj yield def deserialize_package_fixations(fixations): result = collections.defaultdict(set) for name, versions in fixations.items(): for version in versions: result[name].add(helpers.parse_version(version)) return result def serialize_package_fixations(fixations): return { name: list(str(v) for v in versions) for name, versions in fixations.items() } murano-9.0.0/murano/engine/execution_session.py0000664000175000017500000000337713656750211021751 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from oslo_log import log as logging LOG = logging.getLogger(__name__) class ExecutionSession(object): def __init__(self): self.token = None self.project_id = None self.user_id = None self.environment_owner_project_id = None self.environment_owner_user_id = None self.trust_id = None self.system_attributes = {} self._set_up_list = [] self._tear_down_list = [] def on_session_start(self, delegate): self._set_up_list.append(delegate) def on_session_finish(self, delegate): self._tear_down_list.append(delegate) def start(self): for delegate in self._set_up_list: try: delegate() except Exception: LOG.exception('Unhandled exception on invocation of ' 'pre-execution hook') self._set_up_list = [] def finish(self): for delegate in self._tear_down_list: try: delegate() except Exception: LOG.exception('Unhandled exception on invocation of ' 'post-execution hook') self._tear_down_list = [] murano-9.0.0/murano/engine/system/0000775000175000017500000000000013656750351017150 5ustar zuulzuul00000000000000murano-9.0.0/murano/engine/system/__init__.py0000664000175000017500000000000013656750211021242 0ustar zuulzuul00000000000000murano-9.0.0/murano/engine/system/workflowclient.py0000664000175000017500000001017113656750211022566 0ustar zuulzuul00000000000000# Copyright (c) 2015 OpenStack Foundation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import json import eventlet try: from mistralclient.api import client as mistralcli except ImportError: mistralcli = None from oslo_config import cfg from oslo_log import log as logging from murano.common import auth_utils from murano.dsl import dsl from murano.dsl import session_local_storage CONF = cfg.CONF LOG = logging.getLogger(__name__) class MistralError(Exception): pass @dsl.name('io.murano.system.MistralClient') class MistralClient(object): def __init__(self, this, region_name=None): self._owner = this.find_owner('io.murano.Environment') self._region_name = region_name @property def _client(self): region = self._region_name or ( None if self._owner is None else self._owner['region']) return self._create_client(region) @staticmethod @session_local_storage.execution_session_memoize def _create_client(region): if not mistralcli: LOG.warning("Mistral client is not available") raise ImportError("Import mistralcliet error") mistral_settings = CONF.mistral endpoint_type = mistral_settings.endpoint_type service_type = mistral_settings.service_type session = auth_utils.get_client_session() mistral_url = mistral_settings.url or session.get_endpoint( service_type=service_type, endpoint_type=endpoint_type, region_name=region) auth_ref = session.auth.get_access(session) # TODO(gyurco): use auth_utils.get_session_client_parameters return mistralcli.client( mistral_url=mistral_url, project_id=auth_ref.project_id, endpoint_type=endpoint_type, service_type=service_type, auth_token=auth_ref.auth_token, user_id=auth_ref.user_id, insecure=mistral_settings.insecure, cacert=mistral_settings.cafile ) def upload(self, definition): self._client.workflows.create(definition) def run(self, name, timeout=600, inputs=None, params=None): execution = self._client.executions.create( workflow_identifier=name, workflow_input=inputs, params=params) # For the fire and forget functionality - when we do not want to wait # for the result of the run. if timeout == 0: return execution.id state = execution.state try: # While the workflow is running we continue to wait until timeout. with eventlet.timeout.Timeout(timeout): while state not in ('ERROR', 'SUCCESS'): eventlet.sleep(2) execution = self._client.executions.get(execution.id) state = execution.state except eventlet.timeout.Timeout: error_message = ( 'Mistral run timed out. Execution id: {0}.').format( execution.id) raise MistralError(error_message) if state == 'ERROR': error_message = ('Mistral execution completed with ERROR.' ' Execution id: {0}. Output: {1}').format( execution.id, execution.output) raise MistralError(error_message) # Load the JSON we got from Mistral client to dictionary. output = json.loads(execution.output) # Clean the returned dictionary from unnecessary data. # We want to keep only flow level outputs. output.pop('openstack', None) output.pop('__execution', None) output.pop('task', None) return output murano-9.0.0/murano/engine/system/system_objects.py0000664000175000017500000000353213656750211022555 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from murano.engine.system import agent from murano.engine.system import agent_listener from murano.engine.system import heat_stack from murano.engine.system import instance_reporter from murano.engine.system import logger from murano.engine.system import metadef_browser from murano.engine.system import net_explorer from murano.engine.system import project from murano.engine.system import resource_manager from murano.engine.system import status_reporter from murano.engine.system import test_fixture from murano.engine.system import user from murano.engine.system import workflowclient def register(package): package.register_class(agent.Agent) package.register_class(agent_listener.AgentListener) package.register_class(heat_stack.HeatStack) package.register_class(resource_manager.ResourceManager) package.register_class(instance_reporter.InstanceReportNotifier) package.register_class(status_reporter.StatusReporter) package.register_class(net_explorer.NetworkExplorer) package.register_class(logger.Logger) package.register_class(test_fixture.TestFixture) package.register_class(workflowclient.MistralClient) package.register_class(metadef_browser.MetadefBrowser) package.register_class(user.User) package.register_class(project.Project) murano-9.0.0/murano/engine/system/common.py0000664000175000017500000000162713656750211021013 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from oslo_config import cfg from murano.common.messaging import mqclient CONF = cfg.CONF def create_rmq_client(region): region_config = region().getConfig() rmq_settings = dict(region_config['agentRabbitMq']) rmq_settings['ca_certs'] = CONF.rabbitmq.ca_certs.strip() or None return mqclient.MqClient(**rmq_settings) murano-9.0.0/murano/engine/system/resource_manager.py0000664000175000017500000000674113656750211023046 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import json as jsonlib import yaml as yamllib from yaql.language import specs from yaql.language import yaqltypes from murano.dsl import constants from murano.dsl import dsl from murano.dsl import dsl_types from murano.dsl import helpers if hasattr(yamllib, 'CSafeLoader'): yaml_loader = yamllib.CSafeLoader else: yaml_loader = yamllib.SafeLoader def _construct_yaml_str(self, node): # Override the default string handling function # to always return unicode objects return self.construct_scalar(node) yaml_loader.add_constructor(u'tag:yaml.org,2002:str', _construct_yaml_str) # Unquoted dates like 2013-05-23 in yaml files get loaded as objects of type # datetime.data which causes problems in API layer when being processed by # oslo.serialization.jsonutils. Therefore, make unicode string out of # timestamps until jsonutils can handle dates. yaml_loader.add_constructor(u'tag:yaml.org,2002:timestamp', _construct_yaml_str) @dsl.name('io.murano.system.Resources') class ResourceManager(object): def __init__(self, context): murano_class = helpers.get_type(helpers.get_caller_context(context)) self._package = murano_class.package @staticmethod @specs.parameter('owner', dsl.MuranoTypeParameter(nullable=True)) @specs.inject('receiver', yaqltypes.Receiver()) @specs.meta(constants.META_NO_TRACE, True) def string(receiver, name, owner=None, binary=False): path = ResourceManager._get_package(owner, receiver).get_resource(name) mode = 'rb' if binary else 'rU' with open(path, mode) as file: return file.read() @classmethod @specs.parameter('owner', dsl.MuranoTypeParameter(nullable=True)) @specs.inject('receiver', yaqltypes.Receiver()) @specs.meta(constants.META_NO_TRACE, True) def json(cls, receiver, name, owner=None): return jsonlib.loads(cls.string(receiver, name, owner)) @classmethod @specs.parameter('owner', dsl.MuranoTypeParameter(nullable=True)) @specs.inject('receiver', yaqltypes.Receiver()) @specs.meta(constants.META_NO_TRACE, True) def yaml(cls, receiver, name, owner=None): # NOTE(kzaitsev, Sam Pilla) Bandit will raise an issue here, # because it thinks that we're using an unsafe yaml.load. # However we're passing a SafeLoader here # (see definition of `yaml_loader` in this file; L27-30) # so a `nosec` was added to ignore the false positive report. return yamllib.load( # nosec cls.string(receiver, name, owner), Loader=yaml_loader) @staticmethod def _get_package(owner, receiver): if owner is None: if isinstance(receiver, dsl_types.MuranoObjectInterface): return receiver.extension._package murano_class = helpers.get_type(helpers.get_caller_context()) else: murano_class = owner.type return murano_class.package murano-9.0.0/murano/engine/system/agent.py0000664000175000017500000003246713656750211020627 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import copy import datetime import os import os.path import time import urllib import uuid from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives.asymmetric import padding from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives import serialization import eventlet.event from oslo_config import cfg from oslo_log import log as logging from oslo_serialization import base64 from yaql import specs import murano.common.exceptions as exceptions from murano.common.messaging import message from murano.dsl import dsl import murano.engine.system.common as common LOG = logging.getLogger(__name__) CONF = cfg.CONF class AgentException(Exception): pass @dsl.name('io.murano.system.Agent') class Agent(object): def __init__(self, host): self._enabled = False if CONF.engine.disable_murano_agent: LOG.debug('Use of murano-agent is disallowed ' 'by the server configuration') self._host = host self._enabled = not CONF.engine.disable_murano_agent env = host.find_owner('io.murano.Environment') self._queue = str('e%s-h%s' % (env.id, host.id)).lower() self._signing_key = None if CONF.engine.signing_key: key_path = os.path.expanduser(CONF.engine.signing_key) if not os.path.exists(key_path): LOG.warn("Key file %s does not exist. " "Message signing is disabled") else: with open(key_path, "rb") as key_file: key_data = key_file.read() self._signing_key = serialization.load_pem_private_key( key_data, password=None, backend=default_backend()) self._last_stamp = 0 self._initialized = False @property def enabled(self): return self._enabled @specs.parameter('line_prefix', specs.yaqltypes.String()) def signing_key(self, line_prefix=''): if not self._signing_key: return "" key = self._signing_key.public_key().public_bytes( serialization.Encoding.PEM, serialization.PublicFormat.PKCS1) return line_prefix + line_prefix.join(key.splitlines(True)) def _initialize(self): if self._initialized: return # (sjmc7) - turn this into a no-op if agents are disabled if CONF.engine.disable_murano_agent: LOG.debug('Use of murano-agent is disallowed ' 'by the server configuration') else: region = dsl.MuranoObjectInterface.create(self._host().getRegion()) with common.create_rmq_client(region) as client: client.declare(self._queue, enable_ha=True, ttl=86400000) self._initialized = True def queue_name(self): return self._queue def _check_enabled(self): if CONF.engine.disable_murano_agent: raise exceptions.PolicyViolationException( 'Use of murano-agent is disallowed ' 'by the server configuration') def _prepare_message(self, template, msg_id): msg = message.Message() msg.body = template msg.id = msg_id return msg def _send(self, template, wait_results, timeout): """Send a message over the MQ interface.""" self._initialize() region = self._host().getRegion() msg_id = template.get('ID', uuid.uuid4().hex) if wait_results: event = eventlet.event.Event() listener = region['agentListener'] listener().subscribe(msg_id, event) msg = self._prepare_message(template, msg_id) with common.create_rmq_client(region) as client: client.send(message=msg, key=self._queue, signing_func=self._sign) if wait_results: try: with eventlet.Timeout(timeout): result = event.wait() except eventlet.Timeout: listener().unsubscribe(msg_id) raise exceptions.TimeoutException( 'The murano-agent did not respond ' 'within {0} seconds'.format(timeout)) if not result: return None if result.get('FormatVersion', '1.0.0').startswith('1.'): return self._process_v1_result(result) else: return self._process_v2_result(result) else: return None @specs.parameter( 'resources', dsl.MuranoObjectParameter('io.murano.system.Resources')) def call(self, template, resources, timeout=None): if timeout is None: timeout = CONF.engine.agent_timeout self._check_enabled() plan = self.build_execution_plan(template, resources()) return self._send(plan, True, timeout) @specs.parameter( 'resources', dsl.MuranoObjectParameter('io.murano.system.Resources')) def send(self, template, resources): self._check_enabled() plan = self.build_execution_plan(template, resources()) return self._send(plan, False, 0) def call_raw(self, plan, timeout=None): if timeout is None: timeout = CONF.engine.agent_timeout self._check_enabled() return self._send(plan, True, timeout) def send_raw(self, plan): self._check_enabled() return self._send(plan, False, 0) def is_ready(self, timeout=100): try: self.wait_ready(timeout) except exceptions.TimeoutException: return False else: return True def wait_ready(self, timeout=100): self._check_enabled() template = {'Body': 'return', 'FormatVersion': '2.0.0', 'Scripts': {}} self.call_raw(template, timeout) def _sign(self, msg): if not self._signing_key: return None return self._signing_key.sign( (self._queue + msg).encode('utf-8'), padding.PKCS1v15(), hashes.SHA256()) def _process_v1_result(self, result): if result['IsException']: raise AgentException(dict(self._get_exception_info( result.get('Result', [])), source='execution_plan')) else: results = result.get('Result', []) if not result: return None value = results[-1] if value['IsException']: raise AgentException(dict(self._get_exception_info( value.get('Result', [])), source='command')) else: return value.get('Result') def _process_v2_result(self, result): error_code = result.get('ErrorCode', 0) if not error_code: return result.get('Body') else: body = result.get('Body') or {} err = { 'message': body.get('Message'), 'details': body.get('AdditionalInfo'), 'errorCode': error_code, 'time': result.get('Time') } for attr in ('Message', 'AdditionalInfo'): if attr in body: del body[attr] err['extra'] = body if body else None raise AgentException(err) def _get_array_item(self, array, index): return array[index] if len(array) > index else None def _get_exception_info(self, data): data = data or [] return { 'type': self._get_array_item(data, 0), 'message': self._get_array_item(data, 1), 'command': self._get_array_item(data, 2), 'details': self._get_array_item(data, 3), 'timestamp': datetime.datetime.now().isoformat() } def build_execution_plan(self, template, resources): template = copy.deepcopy(template) if not isinstance(template, dict): raise ValueError('Incorrect execution plan ') format_version = template.get('FormatVersion') if not format_version or format_version.startswith('1.'): return self._build_v1_execution_plan(template, resources) else: return self._build_v2_execution_plan(template, resources) def _generate_stamp(self): stamp = int(time.time() * 10000) if stamp <= self._last_stamp: stamp = self._last_stamp + 1 self._last_stamp = stamp return stamp def _build_v1_execution_plan(self, template, resources): scripts_folder = 'scripts' script_files = template.get('Scripts', []) scripts = [] for script in script_files: script_path = os.path.join(scripts_folder, script) scripts.append(base64.encode_as_text( resources.string(script_path, binary=True), encoding='latin1')) template['Scripts'] = scripts template['Stamp'] = self._generate_stamp() return template def _build_v2_execution_plan(self, template, resources): scripts_folder = 'scripts' plan_id = uuid.uuid4().hex template['ID'] = plan_id template['Stamp'] = self._generate_stamp() if 'Action' not in template: template['Action'] = 'Execute' if 'Files' not in template: template['Files'] = {} files = {} for file_id, file_descr in template['Files'].items(): files[file_descr['Name']] = file_id for name, script in template.get('Scripts', {}).items(): if 'EntryPoint' not in script: raise ValueError('No entry point in script ' + name) if 'Application' == script['Type']: if script['EntryPoint'] not in files: script['EntryPoint'] = self._place_file( scripts_folder, script['EntryPoint'], template, resources, files) else: script['EntryPoint'] = files[script['EntryPoint']] if 'Files' in script: for i, file in enumerate(script['Files']): if self._get_name(file) not in files: script['Files'][i] = self._place_file( scripts_folder, file, template, resources, files) else: script['Files'][i] = files[file] return template def _is_url(self, file): file = self._get_url(file) parts = urllib.parse.urlsplit(file) if not parts.scheme or not parts.netloc: return False else: return True def _get_url(self, file): if isinstance(file, dict): return list(file.values())[0] else: return file def _get_name(self, file): if isinstance(file, dict): name = list(file.keys())[0] else: name = file if self._is_url(name): name = name[name.rindex('/') + 1:len(name)] elif name.startswith('<') and name.endswith('>'): name = name[1: -1] return name def _get_file_value(self, file): if isinstance(file, dict): file = list(file.values())[0] return file def _get_body(self, file, resources, folder): use_base64 = self._is_base64(file) if use_base64: path = os.path.join(folder, file[1: -1]) body = resources.string(path, binary=True) body = base64.encode_as_text(body) + "\n" else: path = os.path.join(folder, file) body = resources.string(path) return body def _is_base64(self, file): return file.startswith('<') and file.endswith('>') def _get_body_type(self, file): return 'Base64' if self._is_base64(file) else 'Text' def _place_file(self, folder, file, template, resources, files): file_value = self._get_file_value(file) name = self._get_name(file) file_id = uuid.uuid4().hex if self._is_url(file_value): template['Files'][file_id] = self._get_file_des_downloadable(file) files[name] = file_id else: template['Files'][file_id] = self._get_file_description( file, resources, folder) files[name] = file_id return file_id def _get_file_des_downloadable(self, file): name = self._get_name(file) file = self._get_file_value(file) return { 'Name': str(name), 'URL': file, 'Type': 'Downloadable' } def _get_file_description(self, file, resources, folder): name = self._get_name(file) file_value = self._get_file_value(file) body_type = self._get_body_type(file_value) body = self._get_body(file_value, resources, folder) return { 'Name': name, 'BodyType': body_type, 'Body': body } murano-9.0.0/murano/engine/system/agent_listener.py0000664000175000017500000000710113656750211022517 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import greenlet from oslo_config import cfg from oslo_log import log as logging from murano.common import exceptions from murano.dsl import dsl from murano.engine.system import common LOG = logging.getLogger(__name__) CONF = cfg.CONF class AgentListenerException(Exception): pass @dsl.name('io.murano.system.AgentListener') class AgentListener(object): def __init__(self, name): self._enabled = not CONF.engine.disable_murano_agent self._results_queue = str('-execution-results-%s' % name.lower()) self._subscriptions = {} self._receive_thread = None def _check_enabled(self): if CONF.engine.disable_murano_agent: LOG.error('Use of murano-agent is disallowed ' 'by the server configuration') raise exceptions.PolicyViolationException( 'Use of murano-agent is disallowed ' 'by the server configuration') @property def enabled(self): return self._enabled def queue_name(self): return self._results_queue def start(self): if CONF.engine.disable_murano_agent: # Noop LOG.debug("murano-agent is disabled by the server") return if self._receive_thread is None: dsl.get_execution_session().on_session_finish( lambda: self.stop()) self._receive_thread = dsl.spawn( self._receive, dsl.get_this().find_owner('io.murano.CloudRegion')) def stop(self): if CONF.engine.disable_murano_agent: # Noop LOG.debug("murano-agent is disabled by the server") return if self._receive_thread is not None: self._receive_thread.kill() try: self._receive_thread.wait() except greenlet.GreenletExit: pass finally: self._receive_thread = None def subscribe(self, message_id, event): self._check_enabled() self._subscriptions[message_id] = event self.start() def unsubscribe(self, message_id): self._check_enabled() self._subscriptions.pop(message_id) def _receive(self, region): with common.create_rmq_client(region) as client: client.declare(self._results_queue, enable_ha=True, ttl=86400000) with client.open(self._results_queue) as subscription: while True: msg = subscription.get_message() if not msg: continue msg.ack() msg_id = msg.body.get('SourceID', msg.id) LOG.debug("Got execution result: id '{msg_id}'" " body '{body}'".format(msg_id=msg_id, body=msg.body)) if msg_id in self._subscriptions: event = self._subscriptions.pop(msg_id) event.send(msg.body) murano-9.0.0/murano/engine/system/instance_reporter.py0000664000175000017500000000470713656750211023253 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from oslo_config import cfg import oslo_messaging as messaging from murano.common import uuidutils from murano.dsl import dsl CONF = cfg.CONF UNCLASSIFIED = 0 APPLICATION = 100 OS_INSTANCE = 200 @dsl.name('io.murano.system.InstanceNotifier') class InstanceReportNotifier(object): transport = None def __init__(self, environment): if InstanceReportNotifier.transport is None: InstanceReportNotifier.transport = \ messaging.get_notification_transport(CONF) self._notifier = messaging.Notifier( InstanceReportNotifier.transport, publisher_id=uuidutils.generate_uuid(), topics=['murano']) self._environment_id = environment.id def _track_instance(self, instance, instance_type, type_title, unit_count): payload = { 'instance': instance.id, 'environment': self._environment_id, 'instance_type': instance_type, 'type_name': instance.type.name, 'type_title': type_title, 'unit_count': unit_count } self._notifier.info({}, 'murano.track_instance', payload) def _untrack_instance(self, instance, instance_type): payload = { 'instance': instance.id, 'environment': self._environment_id, 'instance_type': instance_type, } self._notifier.info({}, 'murano.untrack_instance', payload) def track_application(self, instance, title=None, unit_count=None): self._track_instance(instance, APPLICATION, title, unit_count) def untrack_application(self, instance): self._untrack_instance(instance, APPLICATION) def track_cloud_instance(self, instance): self._track_instance(instance, OS_INSTANCE, None, 1) def untrack_cloud_instance(self, instance): self._untrack_instance(instance, OS_INSTANCE) murano-9.0.0/murano/engine/system/yaql_functions.py0000664000175000017500000001743413656750211022564 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import collections import random import re import string import time import jsonpatch import jsonpointer from oslo_config import cfg as oslo_cfg from oslo_log import log as logging from oslo_serialization import base64 from yaql.language import specs from yaql.language import utils from yaql.language import yaqltypes from murano.common import config as cfg from murano.dsl import constants from murano.dsl import dsl from murano.dsl import helpers from murano.dsl import yaql_integration from castellan.common import exception as castellan_exception from castellan.common import utils as castellan_utils from castellan import key_manager from castellan import options LOG = logging.getLogger(__name__) _random_string_counter = None @specs.parameter('value', yaqltypes.String()) @specs.extension_method def base64encode(value): return base64.encode_as_text(value) @specs.parameter('value', yaqltypes.String()) @specs.extension_method def base64decode(value): return base64.decode_as_text(value) @specs.parameter('collection', yaqltypes.Iterable()) @specs.parameter('composer', yaqltypes.Lambda()) @specs.extension_method def pselect(collection, composer): return helpers.parallel_select(collection, composer) @specs.parameter('mappings', collections.Mapping) @specs.extension_method def bind(obj, mappings): if isinstance(obj, str) and obj.startswith('$'): value = _convert_macro_parameter(obj[1:], mappings) if value is not None: return value elif utils.is_sequence(obj): return [bind(t, mappings) for t in obj] elif isinstance(obj, collections.Mapping): result = {} for key, value in obj.items(): result[bind(key, mappings)] = bind(value, mappings) return result elif isinstance(obj, str) and obj.startswith('$'): value = _convert_macro_parameter(obj[1:], mappings) if value is not None: return value return obj def _convert_macro_parameter(macro, mappings): replaced = [False] def replace(match): replaced[0] = True return str(mappings.get(match.group(1))) result = re.sub('{(\\w+?)}', replace, macro) if replaced[0]: return result else: return mappings[macro] @specs.parameter('group', yaqltypes.String()) @specs.parameter('setting', yaqltypes.String()) @specs.parameter('read_as_file', bool) def config(group, setting, read_as_file=False): config_value = cfg.CONF[group][setting] if read_as_file: with open(config_value) as target_file: return target_file.read() else: return config_value @specs.parameter('setting', yaqltypes.String()) @specs.name('config') def config_default(setting): return cfg.CONF[setting] @specs.parameter('string', yaqltypes.String()) @specs.parameter('start', int) @specs.parameter('length', int) @specs.inject('delegate', yaqltypes.Delegate('substring', method=True)) @specs.extension_method def substr(delegate, string, start, length=-1): return delegate(string, start, length) @specs.extension_method def patch_(engine, obj, patch): if not isinstance(patch, tuple): patch = (patch,) patch = dsl.to_mutable(patch, engine) patch = jsonpatch.JsonPatch(patch) try: obj = dsl.to_mutable(obj, engine) return patch.apply(obj, in_place=True) except jsonpointer.JsonPointerException: return obj def _int2base(x, base): """Converts decimal integers into another number base Converts decimal integers into another number base from base-2 to base-36. :param x: decimal integer :param base: number base, max value is 36 :return: integer converted to the specified base """ digs = string.digits + string.ascii_lowercase if x < 0: sign = -1 elif x == 0: return '0' else: sign = 1 x *= sign digits = [] while x: digits.append(digs[x % base]) x //= base if sign < 0: digits.append('-') digits.reverse() return ''.join(digits) def random_name(): """Replace '#' char in pattern with supplied number Replace '#' char in pattern with supplied number. If no pattern is supplied, generate a short and unique name for the host. :param pattern: hostname pattern :param number: number to replace with in pattern :return: hostname """ global _random_string_counter counter = _random_string_counter or 1 # generate first 5 random chars prefix = ''.join(random.choice(string.ascii_lowercase) for _ in range(5)) # convert timestamp to higher base to shorten hostname string # (up to 8 chars) timestamp = _int2base(int(time.time() * 1000), 36)[:8] # third part of random name up to 2 chars # (1295 is last 2-digit number in base-36, 1296 is first 3-digit number) suffix = _int2base(counter, 36) _random_string_counter = (counter + 1) % 1296 return prefix + timestamp + suffix @specs.parameter('collection', yaqltypes.Iterable()) @specs.parameter('default', nullable=True) @specs.extension_method def first_or_default(collection, default=None): try: return next(iter(collection)) except StopIteration: return default @specs.parameter('logger_name', yaqltypes.String(True)) def logger(context, logger_name): """Instantiate Logger""" log = yaql_integration.call_func( context, 'new', 'io.murano.system.Logger', logger_name=logger_name) return log @specs.parameter('value', yaqltypes.String()) @specs.extension_method def decrypt_data(value): options.set_defaults(oslo_cfg.CONF, barbican_endpoint_type='internal') manager = key_manager.API() try: context = castellan_utils.credential_factory(conf=cfg.CONF) except castellan_exception.AuthTypeInvalidError as e: LOG.exception(e) LOG.error("Castellan must be correctly configured in order to use " "decryptData()") raise try: data = manager.get(context, value).get_encoded() except castellan_exception.KeyManagerError as e: LOG.exception(e) raise return data @helpers.memoize def get_context(runtime_version): context = yaql_integration.create_empty_context() context.register_function(base64decode) context.register_function(base64encode) context.register_function(pselect) context.register_function(bind) context.register_function(random_name) context.register_function(patch_) context.register_function(logger) context.register_function(decrypt_data, 'decryptData') if runtime_version <= constants.RUNTIME_VERSION_1_1: context.register_function(substr) context.register_function(first_or_default) root_context = yaql_integration.create_context(runtime_version) for t in ('to_lower', 'to_upper', 'trim', 'join', 'split', 'starts_with', 'ends_with', 'matches', 'replace', 'flatten'): for spec in utils.to_extension_method(t, root_context): context.register_function(spec) return context @helpers.memoize def get_restricted_context(): context = yaql_integration.create_empty_context() context.register_function(config) context.register_function(config_default) return context murano-9.0.0/murano/engine/system/net_explorer.py0000664000175000017500000002041713656750211022227 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import math import netaddr from netaddr.strategy import ipv4 import neutronclient.v2_0.client as nclient from oslo_config import cfg from oslo_log import log as logging from oslo_utils import netutils from oslo_utils import uuidutils import tenacity from murano.common import auth_utils from murano.common import exceptions as exc from murano.dsl import dsl from murano.dsl import helpers from murano.dsl import session_local_storage CONF = cfg.CONF LOG = logging.getLogger(__name__) @dsl.name('io.murano.system.NetworkExplorer') class NetworkExplorer(object): def __init__(self, this, region_name=None): session = helpers.get_execution_session() self._project_id = session.project_id self._settings = CONF.networking self._available_cidrs = self._generate_possible_cidrs() self._region = this.find_owner('io.murano.CloudRegion') self._region_name = region_name @staticmethod @session_local_storage.execution_session_memoize def _get_client(region_name): return nclient.Client(**auth_utils.get_session_client_parameters( service_type='network', region=region_name, conf='neutron' )) @property def _client(self): region = self._region_name or ( None if self._region is None else self._region['name']) return self._get_client(region) # NOTE(starodubcevna): to avoid simultaneous router requests we use retry # decorator with random delay 1-10 seconds between attempts and maximum # delay time 30 seconds. @tenacity.retry( retry=tenacity.retry_if_exception_type(exc.RouterInfoException), stop=tenacity.stop_after_delay(30), wait=tenacity.wait_random(min=1, max=10), reraise=True) def get_default_router(self): router_name = self._settings.router_name routers = self._client.list_routers( tenant_id=self._project_id, name=router_name).get('routers') if len(routers) == 0: LOG.debug('Router {name} not found'.format(name=router_name)) if self._settings.create_router: LOG.debug('Attempting to create Router {router}'. format(router=router_name)) external_network = self._settings.external_network kwargs = {'id': external_network} \ if uuidutils.is_uuid_like(external_network) \ else {'name': external_network} networks = self._client.list_networks(**kwargs).get('networks') ext_nets = list(filter(lambda n: n['router:external'], networks)) if len(ext_nets) == 0: raise KeyError('Router %s could not be created, ' 'no external network found' % router_name) nid = ext_nets[0]['id'] body_data = { 'router': { 'name': router_name, 'external_gateway_info': { 'network_id': nid }, 'admin_state_up': True, } } router = self._client.create_router( body=body_data).get('router') LOG.info('Created router: {id}'.format(id=router['id'])) return router['id'] else: raise KeyError('Router %s was not found' % router_name) else: if routers[0]['external_gateway_info'] is None: raise exc.RouterInfoException('Please set external gateway for' ' the router %s ' % router_name) router_id = routers[0]['id'] return router_id def get_available_cidr(self, router_id, net_id, ip_version=4): """Uses hash of network IDs to minimize the collisions Different nets will attempt to pick different cidrs out of available range. If the cidr is taken will pick another one. """ taken_cidrs = self._get_cidrs_taken_by_router(router_id) id_hash = hash(net_id) num_fails = 0 available_ipv6_cidrs = [] if ip_version == 6: for cidr in self._available_cidrs: available_ipv6_cidrs.append(cidr.ipv6()) self._available_cidrs = available_ipv6_cidrs while num_fails < len(self._available_cidrs): cidr = self._available_cidrs[ (id_hash + num_fails) % len(self._available_cidrs)] if any(self._cidrs_overlap(cidr, taken_cidr) for taken_cidr in taken_cidrs): num_fails += 1 else: return str(cidr) return None def get_default_dns(self, ip_version=4): dns_list = self._settings.default_dns valid_dns = [] for ip in dns_list: if ip_version == 6 and netutils.is_valid_ipv6(ip): valid_dns.append(ip) elif ip_version == 4 and netutils.is_valid_ipv4(ip): valid_dns.append(ip) else: LOG.warning('{0} is not a vaild IPV{1} address, ' 'ingore...'.format(ip, ip_version)) return valid_dns def get_external_network_id_for_router(self, router_id): router = self._client.show_router(router_id).get('router') if not router or 'external_gateway_info' not in router: return None return router['external_gateway_info'].get('network_id') def get_external_network_id_for_network(self, network_id): network = self._client.show_network(network_id).get('network') if network.get('router:external', False): return network_id # Get router interfaces of the network router_ports = self._client.list_ports( **{'device_owner': 'network:router_interface', 'network_id': network_id}).get('ports') # For each router this network is connected to # check if the router has external_gateway set for router_port in router_ports: ext_net_id = self.get_external_network_id_for_router( router_port.get('device_id')) if ext_net_id: return ext_net_id return None def _get_cidrs_taken_by_router(self, router_id): if not router_id: return [] ports = self._client.list_ports(device_id=router_id)['ports'] subnet_ids = [] for port in ports: for fixed_ip in port['fixed_ips']: subnet_ids.append(fixed_ip['subnet_id']) all_subnets = self._client.list_subnets()['subnets'] filtered_cidrs = [netaddr.IPNetwork(subnet['cidr']) for subnet in all_subnets if subnet['id'] in subnet_ids] return filtered_cidrs @staticmethod def _cidrs_overlap(cidr1, cidr2): return (cidr1 in cidr2) or (cidr2 in cidr1) def _generate_possible_cidrs(self): bits_for_envs = int( math.ceil(math.log(self._settings.max_environments, 2))) bits_for_hosts = int(math.ceil(math.log(self._settings.max_hosts, 2))) width = ipv4.width mask_width = width - bits_for_hosts - bits_for_envs net = netaddr.IPNetwork( '{0}/{1}'.format(self._settings.env_ip_template, mask_width)) return list(net.subnet(width - bits_for_hosts)) def list_networks(self): return self._client.list_networks()['networks'] def list_subnetworks(self): return self._client.list_subnets()['subnets'] def list_ports(self): return self._client.list_ports()['ports'] def list_neutron_extensions(self): return self._client.list_extensions()['extensions'] murano-9.0.0/murano/engine/system/logger.py0000664000175000017500000001053013656750211020773 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from oslo_log import log as logging from yaql.language import specs from yaql.language import yaqltypes from murano.dsl import dsl NAME_TEMPLATE = u'applications.{0}' inject_format = specs.inject( '_Logger__yaql_format_function', yaqltypes.Delegate('format')) @dsl.name('io.murano.system.Logger') class Logger(object): """Logger object for MuranoPL. Instance of this object returned by 'logger' YAQL function and should not be instantiated directly """ def __init__(self, logger_name): self._underlying_logger = logging.getLogger( NAME_TEMPLATE.format(logger_name)) @specs.parameter('_Logger__message', yaqltypes.String()) @inject_format def trace(__self, __yaql_format_function, __message, *args, **kwargs): __self._log(__self._underlying_logger.trace, __yaql_format_function, __message, args, kwargs) @specs.parameter('_Logger__message', yaqltypes.String()) @inject_format def debug(__self, __yaql_format_function, __message, *args, **kwargs): __self._log(__self._underlying_logger.debug, __yaql_format_function, __message, args, kwargs) @specs.parameter('_Logger__message', yaqltypes.String()) @inject_format def info(__self, __yaql_format_function, __message, *args, **kwargs): __self._log(__self._underlying_logger.info, __yaql_format_function, __message, args, kwargs) @specs.parameter('_Logger__message', yaqltypes.String()) @inject_format def warning(__self, __yaql_format_function, __message, *args, **kwargs): __self._log(__self._underlying_logger.warning, __yaql_format_function, __message, args, kwargs) @specs.parameter('_Logger__message', yaqltypes.String()) @inject_format def error(__self, __yaql_format_function, __message, *args, **kwargs): __self._log(__self._underlying_logger.error, __yaql_format_function, __message, args, kwargs) @specs.parameter('_Logger__message', yaqltypes.String()) @inject_format def critical(__self, __yaql_format_function, __message, *args, **kwargs): __self._log(__self._underlying_logger.critical, __yaql_format_function, __message, args, kwargs) @specs.parameter('_Logger__message', yaqltypes.String()) @inject_format def exception(__self, __yaql_format_function, __exc, __message, *args, **kwargs): """Print error message and stacktrace""" stack_trace_message = u'\n'.join([ __self._format_without_exceptions( __yaql_format_function, __message, args, kwargs), __exc['stackTrace']().toString() ]) __self._underlying_logger.error(stack_trace_message) def _format_without_exceptions(self, format_function, message, args, kwargs): """Wrap YAQL function "format" to suppress exceptions Wrap YAQL function "format" to suppress exceptions that may be raised when message cannot be formatted due to invalid parameters provided We do not want to break program workflow even when formatting parameters are incorrect """ try: message = format_function(message, *args, **kwargs) except (IndexError, KeyError): # NOTE(akhivin): we do not want break program workflow # even formatting parameters are incorrect self._underlying_logger.warning( u'Can not format string: {0}'.format(message)) return message def _log(self, log_function, yaql_format_function, message, args, kwargs): log_function( self._format_without_exceptions( yaql_format_function, message, args, kwargs)) murano-9.0.0/murano/engine/system/project.py0000664000175000017500000000300613656750211021162 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from murano.common import auth_utils from murano.dsl import dsl from murano.dsl import helpers @dsl.name('io.murano.Project') class Project(object): @classmethod def get_current(cls): fields = auth_utils.get_project( helpers.get_execution_session().project_id) return cls._to_object(fields) @classmethod def get_environment_owner(cls): fields = auth_utils.get_project( helpers.get_execution_session().environment_owner_project_id) return cls._to_object(fields) @staticmethod def _to_object(fields): for field in ('links', 'parent_id', 'enabled'): fields.pop(field, None) obj_def = { 'id': fields.pop('id'), 'name': fields.pop('name'), 'domain': fields.pop('domain_id', 'Default'), 'description': fields.pop('description', None), 'extra': fields } return dsl.new(obj_def) murano-9.0.0/murano/engine/system/status_reporter.py0000664000175000017500000000762113656750211022770 0ustar zuulzuul00000000000000# Copyright (c) 2014 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from datetime import datetime import socket from oslo_config import cfg from oslo_log import log as logging import oslo_messaging as messaging from murano.common import uuidutils from murano.dsl import dsl CONF = cfg.CONF LOG = logging.getLogger(__name__) @dsl.name('io.murano.system.StatusReporter') class StatusReporter(object): transport = None def __init__(self, environment): if StatusReporter.transport is None: StatusReporter.transport = messaging.get_notification_transport( CONF) self._notifier = messaging.Notifier( StatusReporter.transport, publisher_id=uuidutils.generate_uuid(), topics=['murano']) if isinstance(environment, str): self._environment_id = environment else: self._environment_id = environment.id def _report(self, instance, msg, details=None, level='info'): body = { 'id': (self._environment_id if instance is None else instance.id), 'text': msg, 'details': details, 'level': level, 'environment_id': self._environment_id, 'timestamp': datetime.utcnow().isoformat() } self._notifier.info({}, 'murano.report_notification', body) def report(self, instance, msg): self._report(instance, msg) def report_error_(self, instance, msg): self._report(instance, msg, None, 'error') @dsl.name('report_error') def report_error(self, instance, msg): self._report(instance, msg, None, 'error') class Notification(object): transport = None def __init__(self): if not CONF.stats.env_audit_enabled: return if Notification.transport is None: Notification.transport = messaging.get_notification_transport(CONF) self._notifier = messaging.Notifier( Notification.transport, publisher_id=('murano.%s' % socket.gethostname()), driver='messaging') def _report(self, event_type, environment, level='info'): if not CONF.stats.env_audit_enabled: return if 'deleted' in environment: deleted_at = environment['deleted'].isoformat() else: deleted_at = None body = { 'id': environment['id'], 'level': level, 'environment_id': environment['id'], 'tenant_id': environment['tenant_id'], 'created_at': environment.get('created').isoformat(), 'deleted_at': deleted_at, 'launched_at': None, 'timestamp': datetime.utcnow().isoformat() } optional_fields = ("deployment_started", "deployment_finished") for f in optional_fields: body[f] = environment.get(f, None) LOG.debug("Sending out notification, type=%s, body=%s, level=%s", event_type, body, level) self._notifier.info({}, 'murano.%s' % event_type, body) def report(self, event_type, environment): self._report(event_type, environment) def report_error(self, event_type, environment): self._report(event_type, environment, 'error') NOTIFIER = None def get_notifier(): global NOTIFIER if not NOTIFIER: NOTIFIER = Notification() return NOTIFIER murano-9.0.0/murano/engine/system/metadef_browser.py0000664000175000017500000000450313656750211022667 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import glanceclient.v2.client as gclient from oslo_config import cfg from murano.common import auth_utils from murano.dsl import dsl from murano.dsl import helpers from murano.dsl import session_local_storage CONF = cfg.CONF @dsl.name('io.murano.system.MetadefBrowser') class MetadefBrowser(object): def __init__(self, this, region_name=None, cache=True): session = helpers.get_execution_session() self._project_id = session.project_id self._region = this.find_owner('io.murano.CloudRegion') self._region_name = region_name self._cache = cache self._namespaces = {} self._objects = {} @staticmethod @session_local_storage.execution_session_memoize def _get_client(region_name): return gclient.Client(**auth_utils.get_session_client_parameters( service_type='image', region=region_name, conf='glance' )) @property def _client(self): region = self._region_name or ( None if self._region is None else self._region['name']) return self._get_client(region) def get_namespaces(self, resource_type): if not self._cache or resource_type not in self._namespaces: nss = list(self._client.metadefs_namespace.list( resource_type=resource_type)) self._namespaces[resource_type] = nss return nss else: return self._namespaces[resource_type] def get_objects(self, namespace): if not self._cache or namespace not in self._objects: objects = list(self._client.metadefs_object.list( namespace=namespace)) self._objects[namespace] = objects return objects else: return self._objects[namespace] murano-9.0.0/murano/engine/system/user.py0000664000175000017500000000300213656750211020466 0ustar zuulzuul00000000000000# Copyright (c) 2016 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from murano.common import auth_utils from murano.dsl import dsl from murano.dsl import helpers @dsl.name('io.murano.User') class User(object): @classmethod def get_current(cls): fields = auth_utils.get_user(helpers.get_execution_session().user_id) return cls._to_object(fields) @classmethod def get_environment_owner(cls): fields = auth_utils.get_user( helpers.get_execution_session().environment_owner_user_id) return cls._to_object(fields) @staticmethod def _to_object(fields): fields = dict(fields) for field in ('links', 'enabled', 'default_project_id'): fields.pop(field, None) obj_def = { 'id': fields.pop('id'), 'name': fields.pop('name'), 'domain': fields.pop('domain_id', 'Default'), 'email': fields.pop('email', None), 'extra': fields } return dsl.new(obj_def) murano-9.0.0/murano/engine/system/test_fixture.py0000664000175000017500000000321413656750211022242 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import testtools from murano.dsl import dsl from murano.dsl import helpers @dsl.name('io.murano.test.TestFixture') class TestFixture(object): def __init__(self): self._test_case = testtools.TestCase('__init__') def load(self, model): exc = helpers.get_executor() return exc.load(model) def finish_env(self): session = helpers.get_execution_session() session.finish() def start_env(self): session = helpers.get_execution_session() session.start() def assert_equal(self, expected, observed, message=None): self._test_case.assertEqual(expected, observed, message) def assert_true(self, expr, message=None): self._test_case.assertTrue(expr, message) def assert_false(self, expr, message=None): self._test_case.assertFalse(expr, message) def assert_in(self, needle, haystack, message=None): self._test_case.assertIn(needle, haystack, message) def assert_not_in(self, needle, haystack, message=None): self._test_case.assertNotIn(needle, haystack, message) murano-9.0.0/murano/engine/system/heat_stack.py0000664000175000017500000002573313656750211021635 0ustar zuulzuul00000000000000# Copyright (c) 2013 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import copy import json import eventlet import heatclient.client as hclient import heatclient.exc as heat_exc from oslo_config import cfg from oslo_log import log as logging from murano.common import auth_utils from murano.common.helpers import token_sanitizer from murano.dsl import dsl from murano.dsl import helpers from murano.dsl import session_local_storage LOG = logging.getLogger(__name__) CONF = cfg.CONF HEAT_TEMPLATE_VERSION = '2013-05-23' class HeatStackError(Exception): pass @dsl.name('io.murano.system.HeatStack') class HeatStack(object): def __init__(self, name, description=None, region_name=None): self._name = name self._template = None self._parameters = {} self._files = {} self._hot_environment = {} self._applied = True self._description = description self._last_stack_timestamps = (None, None) self._tags = '' self._region_name = region_name self._push_thread = None def _is_push_thread_alive(self): return self._push_thread is not None and not self._push_thread.dead def _kill_push_thread(self): if self._is_push_thread_alive(): self._push_thread.cancel() self._wait_push_thread() def _wait_push_thread(self): if not self._is_push_thread_alive(): return self._push_thread.wait() @staticmethod def _create_client(session, region_name): parameters = auth_utils.get_session_client_parameters( service_type='orchestration', region=region_name, conf='heat', session=session) return hclient.Client('1', **parameters) @property def _client(self): return self._get_client(self._region_name) @staticmethod @session_local_storage.execution_session_memoize def _get_client(region_name): session = auth_utils.get_client_session(conf='heat') return HeatStack._create_client(session, region_name) def _get_token_client(self): ks_session = auth_utils.get_token_client_session(conf='heat') return self._create_client(ks_session, self._region_name) def current(self): if self._template is not None: return self._template try: stack_info = self._client.stacks.get(stack_id=self._name) template = self._client.stacks.template( stack_id='{0}/{1}'.format( stack_info.stack_name, stack_info.id)) self._template = template self._parameters.update( HeatStack._remove_system_params(stack_info.parameters)) self._applied = True return self._template.copy() except heat_exc.HTTPNotFound: self._applied = True self._template = {} self._parameters.clear() return {} def parameters(self): self.current() return self._parameters.copy() def reload(self): self._template = None self._parameters.clear() return self.current() def set_template(self, template): self._template = template self._parameters.clear() self._applied = False def set_parameters(self, parameters): self._parameters = parameters self._applied = False def set_files(self, files): self._files = files self._applied = False def set_hot_environment(self, hot_environment): self._hot_environment = hot_environment self._applied = False def update_template(self, template): template_version = template.get('heat_template_version', HEAT_TEMPLATE_VERSION) if template_version != HEAT_TEMPLATE_VERSION: err_msg = ("Currently only heat_template_version %s " "is supported." % HEAT_TEMPLATE_VERSION) raise HeatStackError(err_msg) current = self.current() self._template = helpers.merge_dicts(self._template, template) self._applied = self._template == current and self._applied @staticmethod def _remove_system_params(parameters): return dict((k, v) for k, v in parameters.items() if not k.startswith('OS::')) def _get_status(self): status = [None] def status_func(state_value): status[0] = state_value return True self._wait_state(status_func) return status[0] def _wait_state(self, status_func, wait_progress=False): tries = 4 delay = 1 while tries > 0: while True: try: stack_info = self._client.stacks.get( stack_id=self._name) status = stack_info.stack_status tries = 4 delay = 1 except heat_exc.HTTPNotFound: stack_info = None status = 'NOT_FOUND' except Exception: tries -= 1 delay *= 2 if not tries: raise eventlet.sleep(delay) break if 'IN_PROGRESS' in status: eventlet.sleep(2) continue last_stack_timestamps = self._last_stack_timestamps self._last_stack_timestamps = (None, None) if not stack_info \ else(stack_info.creation_time, stack_info.updated_time) if (wait_progress and last_stack_timestamps == self._last_stack_timestamps and last_stack_timestamps != (None, None)): eventlet.sleep(2) continue if not status_func(status): reason = ': {0}'.format( stack_info.stack_status_reason) if stack_info else '' raise EnvironmentError( "Unexpected stack state {0}{1}".format(status, reason)) try: return dict([(t['output_key'], t['output_value']) for t in stack_info.outputs]) except Exception: return {} return {} def output(self): self._wait_push_thread() return self._wait_state(lambda status: True) def _push(self, object_store=None): template = copy.deepcopy(self._template) s_template = token_sanitizer.TokenSanitizer().sanitize(template) LOG.debug('Pushing: {template}'.format( template=json.dumps(s_template))) object_store = object_store or helpers.get_object_store() while True: try: with helpers.with_object_store(object_store): current_status = self._get_status() resources = template.get('Resources') or template.get( 'resources') if current_status == 'NOT_FOUND': if resources is not None: token_client = self._get_token_client() token_client.stacks.create( stack_name=self._name, parameters=self._parameters, template=template, files=self._files, environment=self._hot_environment, disable_rollback=True, tags=self._tags) self._wait_state( lambda status: status == 'CREATE_COMPLETE') else: if resources is not None: self._client.stacks.update( stack_id=self._name, parameters=self._parameters, files=self._files, environment=self._hot_environment, template=template, disable_rollback=True, tags=self._tags) self._wait_state( lambda status: status == 'UPDATE_COMPLETE', True) else: self.delete() except heat_exc.HTTPConflict as e: LOG.warning('Conflicting operation: {msg}'.format(msg=e)) eventlet.sleep(3) else: break self._applied = self._template == template def push(self, is_async=False): if self._applied or self._template is None: return self._tags = ','.join(CONF.heat.stack_tags) if 'heat_template_version' not in self._template: self._template['heat_template_version'] = HEAT_TEMPLATE_VERSION if 'description' not in self._template and self._description: self._template['description'] = self._description self._kill_push_thread() if is_async: if self._push_thread is None: def cleanup(): try: self._wait_push_thread() finally: self._push_thread = None dsl.get_execution_session().on_session_finish(cleanup) self._push_thread =\ eventlet.greenthread.spawn_after( 1, self._push, helpers.get_object_store()) else: self._push() def delete(self): self._kill_push_thread() while True: try: if not self.current(): return self._wait_state(lambda s: True) self._client.stacks.delete(stack_id=self._name) self._wait_state( lambda status: status in ('DELETE_COMPLETE', 'NOT_FOUND'), wait_progress=True) except heat_exc.NotFound: LOG.warning('Stack {stack_name} already deleted?' .format(stack_name=self._name)) break except heat_exc.HTTPConflict as e: LOG.warning('Conflicting operation: {msg}'.format(msg=e)) eventlet.sleep(3) else: break self._template = {} self._applied = True murano-9.0.0/murano/engine/mock_context_manager.py0000664000175000017500000001305213656750211022361 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. from yaql.language import specs from yaql.language import yaqltypes from murano.common import engine from murano.dsl import constants from murano.dsl import dsl from murano.dsl import helpers from murano.dsl import yaql_integration class MockContextManager(engine.ContextManager): def __init__(self): # { object_id: [mock_function_definitions] } self.obj_mock_ctx = {} # { class_name: [mock_function_definitions] } self.class_mock_ctx = {} def _create_new_ctx(self, mock_funcs): mock_context = yaql_integration.create_empty_context() for mock_func in mock_funcs: mock_context.register_function(mock_func) return mock_context def _create_new_ctx_for_class(self, name): new_context = None if name in self.class_mock_ctx: new_context = self._create_new_ctx(self.class_mock_ctx[name]) return new_context def _create_new_ctx_for_obj(self, obj_id): new_context = None if obj_id in self.obj_mock_ctx: new_context = self._create_new_ctx(self.obj_mock_ctx[obj_id]) return new_context def create_type_context(self, murano_type): original_context = super( MockContextManager, self).create_type_context(murano_type) mock_context = self._create_new_ctx_for_class(murano_type.name) if mock_context: result_context = helpers.link_contexts( original_context, mock_context).create_child_context() else: result_context = original_context return result_context def create_object_context(self, murano_obj): original_context = super( MockContextManager, self).create_object_context(murano_obj) mock_context = self._create_new_ctx_for_obj(murano_obj.type.name) if mock_context: result_context = helpers.link_contexts( original_context, mock_context).create_child_context() else: result_context = original_context return result_context def create_root_context(self, runtime_version): root_context = super(MockContextManager, self).create_root_context( runtime_version) constext = root_context.create_child_context() constext.register_function(inject_method_with_str, name='inject') constext.register_function(inject_method_with_yaql_expr, name='inject') constext.register_function(with_original) return constext @specs.parameter('kwargs', yaqltypes.Lambda(with_context=True)) def with_original(context, **kwargs): new_context = context.create_child_context() original_context = context[constants.CTX_ORIGINAL_CONTEXT] for k, v in kwargs.items(): new_context['$' + k] = v(original_context) return new_context @specs.parameter( 'target', yaqltypes.AnyOf(dsl.MuranoTypeParameter(), dsl.MuranoObjectParameter())) @specs.parameter('target_method', yaqltypes.String()) @specs.parameter('mock_object', dsl.MuranoObjectParameter()) @specs.parameter('mock_name', yaqltypes.String()) def inject_method_with_str(context, target, target_method, mock_object, mock_name): ctx_manager = helpers.get_executor().context_manager current_class = helpers.get_type(context) mock_func = current_class.find_single_method(mock_name) original_class = target.type original_function = original_class.find_single_method(target_method) result_fd = original_function.instance_stub.clone() def payload_adapter(__context, __sender, *args, **kwargs): return mock_func.invoke( mock_object, args, kwargs, __context, True) result_fd.payload = payload_adapter existing_mocks = ctx_manager.class_mock_ctx.setdefault( original_class.name, []) existing_mocks.append(result_fd) @specs.parameter( 'target', yaqltypes.AnyOf(dsl.MuranoTypeParameter(), dsl.MuranoObjectParameter())) @specs.parameter('target_method', yaqltypes.String()) @specs.parameter('expr', yaqltypes.Lambda(with_context=True)) def inject_method_with_yaql_expr(context, target, target_method, expr): ctx_manager = helpers.get_executor().context_manager original_class = target.type original_function = original_class.find_single_method(target_method) result_fd = original_function.instance_stub.clone() def payload_adapter(__super, __context, __sender, *args, **kwargs): new_context = context.create_child_context() new_context[constants.CTX_ORIGINAL_CONTEXT] = __context mock_obj = context[constants.CTX_THIS] new_context.register_function(lambda: __super(*args, **kwargs), name='originalMethod') return expr(new_context, mock_obj, *args, **kwargs) result_fd.payload = payload_adapter result_fd.insert_parameter('__super', yaqltypes.Super()) existing_mocks = ctx_manager.class_mock_ctx.setdefault( original_class.name, []) existing_mocks.append(result_fd) murano-9.0.0/murano/cfapi/0000775000175000017500000000000013656750351015441 5ustar zuulzuul00000000000000murano-9.0.0/murano/cfapi/__init__.py0000664000175000017500000000000013656750211017533 0ustar zuulzuul00000000000000murano-9.0.0/murano/cfapi/router.py0000664000175000017500000000444213656750211017332 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import routes from murano.cfapi import cfapi from murano.common import wsgi class API(wsgi.Router): @classmethod def factory(cls, global_conf, **local_conf): return cls(routes.Mapper()) def __init__(self, mapper): services_resource = cfapi.create_resource() mapper.connect('/v2/catalog', controller=services_resource, action='list', conditions={'method': ['GET']}) mapper.connect(('/v2/service_instances/{instance_id}'), controller=services_resource, action='provision', conditions={'method': ['PUT']}) mapper.connect(('/v2/service_instances/{instance_id}'), controller=services_resource, action='deprovision', conditions={'method': ['DELETE']}) mapper.connect(('/v2/service_instances/{instance_id}/service_bindings/' '{app_id}'), controller=services_resource, action='bind', conditions={'method': ['PUT']}) mapper.connect(('/v2/service_instances/{instance_id}/service_bindings/' '{app_id}'), controller=services_resource, action='unbind', conditions={'method': ['DELETE']}) mapper.connect(('/v2/service_instances/{instance_id}/last_operation'), controller=services_resource, action='get_last_operation', conditions={'method': ['GET']}) super(API, self).__init__(mapper) murano-9.0.0/murano/cfapi/cfapi.py0000664000175000017500000003236313656750211017077 0ustar zuulzuul00000000000000# Copyright (c) 2015 Mirantis, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import json import uuid from oslo_config import cfg from oslo_log import log as logging import tenacity from webob import response from murano.common import auth_utils # noqa from murano.common import wsgi from murano.db.services import cf_connections as db_cf import muranoclient.client as muranoclient from muranoclient.common import exceptions from muranoclient.glance import client as glare_client LOG = logging.getLogger(__name__) CONF = cfg.CONF class Controller(object): """WSGI controller for application catalog resource in Murano v1 API""" def _package_to_service(self, package): srv = {} srv['id'] = package.id srv['name'] = package.name if len(package.description) > 256: srv['description'] = u"{0} ...".format(package.description[:253]) else: srv['description'] = package.description srv['bindable'] = True srv['tags'] = [] for tag in package.tags: srv['tags'].append(tag) plan = {'id': package.id + '-1', 'name': 'default', 'description': 'Default plan for the service {name}'.format( name=package.name)} srv['plans'] = [plan] return srv def _make_service(self, name, package, plan_id): id = uuid.uuid4().hex return {"name": name, "?": {plan_id: {"name": package.name}, "type": package.fully_qualified_name, "id": id}} def _get_service(self, env, service_id): for service in env.services: if service['?']['id'] == service_id: return service return None def list(self, req): token = req.headers['X-Auth-Token'] m_cli = _get_muranoclient(token, req) kwargs = {'type': 'Application'} packages = m_cli.packages.filter(**kwargs) services = [] for package in packages: services.append(self._package_to_service(package)) resp = {'services': services} return resp def provision(self, req, body, instance_id): """Here is the example of request body given us from Cloud Foundry: { "service_id": "service-guid-here", "plan_id": "plan-guid-here", "organization_guid": "org-guid-here", "space_guid": "space-guid-here", "parameters": {"param1": "value1", "param2": "value2"} } """ data = json.loads(req.body) space_guid = data['space_guid'] org_guid = data['organization_guid'] plan_id = data['plan_id'] service_id = data['service_id'] parameters = data['parameters'] self.current_session = None # Here we'll take an entry for CF org and space from db. If we # don't have any entries we will create it from scratch. try: tenant = db_cf.get_tenant_for_org(org_guid) except AttributeError: tenant = req.headers['X-Project-Id'] db_cf.set_tenant_for_org(org_guid, tenant) LOG.info("Cloud Foundry {org_id} mapped to tenant " "{tenant_name}".format(org_id=org_guid, tenant_name=tenant)) token = req.headers['X-Auth-Token'] m_cli = _get_muranoclient(token, req) def _set_new_environment_for_space(space_guid, log_msg): body = {'name': 'my_{uuid}'.format(uuid=uuid.uuid4().hex)} env = m_cli.environments.create(body) db_cf.set_environment_for_space(space_guid, env.id) LOG.info(log_msg.format(space_id=space_guid, environment_id=env.id)) return env.id try: environment_id = db_cf.get_environment_for_space(space_guid) # NOTE: Check that environment which was previously linked with # CF space still exist, reset a new environment for space. try: env = m_cli.environments.get(environment_id) except exceptions.HTTPNotFound: msg = ("Can not find environment_id {environment_id}, " "will create a new one." .format(environment_id=environment_id)) LOG.info(msg) env = {} if not env: log_msg = ("Cloud Foundry {space_id} remapped to " "{environment_id}") environment_id = _set_new_environment_for_space( space_guid, log_msg) except AttributeError: log_msg = ("Cloud Foundry {space_id} mapped to " "{environment_id}") environment_id = _set_new_environment_for_space( space_guid, log_msg) package = m_cli.packages.get(service_id) LOG.debug('Adding service {name}'.format(name=package.name)) service = self._make_service(space_guid, package, plan_id) db_cf.set_instance_for_service(instance_id, service['?']['id'], environment_id, tenant) # NOTE(Kezar): Here we are going through JSON and add ids where # it's necessary. Before that we need to drop '?' key from parameters # dictionary as far it contains murano package related info which is # necessary in our scenario if '?' in parameters.keys(): parameters.pop('?', None) LOG.warning("Incorrect input parameters. Package related " "parameters shouldn't be passed through Cloud " "Foundry") params = [parameters] while params: a = params.pop() for k, v in a.items(): if isinstance(v, dict): params.append(v) if k == '?': v['id'] = uuid.uuid4().hex service.update(parameters) # Now we need to obtain session to modify the env session_id = create_session(m_cli, environment_id) m_cli.services.post(environment_id, path='/', data=service, session_id=session_id) m_cli.sessions.deploy(environment_id, session_id) self.current_session = session_id return response.Response(status=202, json_body={}) def deprovision(self, req, instance_id): service = db_cf.get_service_for_instance(instance_id) if not service: return {} service_id = service.service_id environment_id = service.environment_id token = req.headers['X-Auth-Token'] m_cli = _get_muranoclient(token, req) session_id = create_session(m_cli, environment_id) m_cli.services.delete(environment_id, '/' + service_id, session_id) m_cli.sessions.deploy(environment_id, session_id) return response.Response(status=202, json_body={}) def bind(self, req, body, instance_id, app_id): db_service = db_cf.get_service_for_instance(instance_id) if not db_service: return {} service_id = db_service.service_id environment_id = db_service.environment_id token = req.headers['X-Auth-Token'] m_cli = _get_muranoclient(token, req) session_id = create_session(m_cli, environment_id) env = m_cli.environments.get(environment_id, session_id) LOG.debug('Got environment {0}'.format(env)) service = self._get_service(env, service_id) LOG.debug('Got service {0}'.format(service)) # NOTE(starodubcevna): Here we need to find an action which will return # us needed credentials. By default we will look for getCredentials # action. result = {} try: actions = service['?']['_actions'] for action_id in list(actions): if 'getCredentials' in action_id: @tenacity.retry( retry=tenacity.retry_if_exception_type(TypeError), wait=tenacity.wait_random(min=1, max=10), stop=tenacity.stop_after_delay(30), reraise=True) def _get_creds(client, task_id, environment_id): result = m_cli.actions.get_result(environment_id, task_id)['result'] return result task_id = m_cli.actions.call(environment_id, action_id) result = _get_creds(m_cli, task_id, environment_id) if not result: LOG.warning("This application doesn't have action " "getCredentials") return response.Response(status=500) except KeyError: # NOTE(starodubcevna): In CF service broker API spec return # code for failed bind is not present, so we will return 500. LOG.warning("This application doesn't have actions at all") return response.Response(status=500) if 'credentials' in list(result): return result else: return {'credentials': result} def unbind(self, req, instance_id, app_id): """Unsupported functionality murano doesn't support this kind of functionality, so we just need to create a stub where the call will come. We can't raise something like NotImplementedError because we will have problems on Cloud Foundry side. The best way now it to return empty dict which will be correct answer for Cloud Foundry. """ return {} def get_last_operation(self, req, instance_id): service = db_cf.get_service_for_instance(instance_id) # NOTE(freerunner): Prevent code 500 if requested environment # already doesn't exist. if not service: LOG.warning('Requested service for instance {0} is not ' 'found'.format(instance_id)) body = {} resp = response.Response(status=410, json_body=body) return resp env_id = service.environment_id token = req.headers["X-Auth-Token"] m_cli = _get_muranoclient(token, req) # NOTE(starodubcevna): we can track only environment status. it's # murano API limitation. m_environment = m_cli.environments.get(env_id) body = {'state': 'unknown', 'description': 'operation unknown'} resp = response.Response(status=500, json_body=body) if m_environment.status == 'ready': body = {'state': 'succeeded', 'description': 'operation succeed'} resp = response.Response(status=200, json_body=body) elif m_environment.status in ['pending', 'deleting', 'deploying']: body = {'state': 'in progress', 'description': 'operation in progress'} resp = response.Response(status=202, json_body=body) elif m_environment.status in ['deploy failure', 'delete failure']: body = {'state': 'failed', 'description': '{0}. Please correct it manually'.format( m_environment.status)} resp = response.Response(status=200, json_body=body) return resp def _get_muranoclient(token_id, req): artifacts_client = None if CONF.engine.packages_service in ['glance', 'glare']: artifacts_client = _get_glareclient(token_id, req) murano_url = CONF.murano.url or req.endpoints.get('murano') if not murano_url: LOG.error('No murano url is specified and no ' '"application-catalog" ' 'service is registered in keystone.') return muranoclient.Client(1, murano_url, token=token_id, artifacts_client=artifacts_client) def _get_glareclient(token_id, req): glare_settings = CONF.glare url = glare_settings.url or req.endpoints.get('glare') if not url: LOG.error('No glare url is specified and no "artifact" ' 'service is registered in keystone.') # TODO(gyurco): use auth_utils.get_session_client_parameters return glare_client.Client( endpoint=url, token=token_id, insecure=glare_settings.insecure, key_file=glare_settings.keyfile or None, ca_file=glare_settings.cafile or None, cert_file=glare_settings.certfile or None, type_name='murano', type_version=1) def create_session(client, environment_id): id = client.sessions.configure(environment_id).id return id def create_resource(): return wsgi.Resource(Controller(), serializer=wsgi.ServiceBrokerResponseSerializer()) murano-9.0.0/tools/0000775000175000017500000000000013656750351014216 5ustar zuulzuul00000000000000murano-9.0.0/tools/lintstack.sh0000775000175000017500000000275713656750212016560 0ustar zuulzuul00000000000000#!/usr/bin/env bash # Use lintstack.py to compare pylint errors. # We run pylint twice, once on HEAD, once on the code before the latest # commit for review. set -e TOOLS_DIR=$(cd $(dirname "$0") && pwd) # Get the current branch name. GITHEAD=`git rev-parse --abbrev-ref HEAD` if [[ "$GITHEAD" == "HEAD" ]]; then # In detached head mode, get revision number instead GITHEAD=`git rev-parse HEAD` echo "Currently we are at commit $GITHEAD" else echo "Currently we are at branch $GITHEAD" fi cp -f $TOOLS_DIR/lintstack.py $TOOLS_DIR/lintstack.head.py if git rev-parse HEAD^2 2>/dev/null; then # The HEAD is a Merge commit. Here, the patch to review is # HEAD^2, the master branch is at HEAD^1, and the patch was # written based on HEAD^2~1. PREV_COMMIT=`git rev-parse HEAD^2~1` git checkout HEAD~1 # The git merge is necessary for reviews with a series of patches. # If not, this is a no-op so won't hurt either. git merge $PREV_COMMIT else # The HEAD is not a merge commit. This won't happen on gerrit. # Most likely you are running against your own patch locally. # We assume the patch to examine is HEAD, and we compare it against # HEAD~1 git checkout HEAD~1 fi # First generate tools/pylint_exceptions from HEAD~1 $TOOLS_DIR/lintstack.head.py generate # Then use that as a reference to compare against HEAD git checkout $GITHEAD $TOOLS_DIR/lintstack.head.py echo "Check passed. FYI: the pylint exceptions are:" cat $TOOLS_DIR/pylint_exceptions murano-9.0.0/tools/lintstack.py0000775000175000017500000001704113656750212016566 0ustar zuulzuul00000000000000#!/usr/bin/env python # Copyright (c) 2015 OpenStack Foundation. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. """pylint error checking.""" from __future__ import print_function import json import os import re import sys from pylint import lint from pylint.reporters import text from six.moves import cStringIO as StringIO # enabled checks # http://pylint-messages.wikidot.com/all-codes ENABLED_CODES = ( # refactor category "R0801", "R0911", "R0912", "R0913", "R0914", "R0915", # warning category "W0612", "W0613", "W0703", # convention category "C1001") LINE_PATTERN = r"(\S+):(\d+): \[(\S+)(, \S*)?] (.*)" KNOWN_PYLINT_EXCEPTIONS_FILE = "tools/pylint_exceptions" class LintOutput(object): _cached_filename = None _cached_content = None def __init__(self, filename, lineno, line_content, code, message, lintoutput, additional_content): self.filename = filename self.lineno = lineno self.line_content = line_content self.code = code self.message = message self.lintoutput = lintoutput self.additional_content = additional_content @classmethod def get_duplicate_code_location(cls, remaining_lines): module, lineno = remaining_lines.pop(0)[2:].split(":") filename = module.replace(".", os.sep) + ".py" return filename, int(lineno) @classmethod def get_line_content(cls, filename, lineno): if cls._cached_filename != filename: with open(filename) as f: cls._cached_content = list(f.readlines()) cls._cached_filename = filename # find first non-empty line lineno -= 1 while True: line_content = cls._cached_content[lineno].rstrip() lineno += 1 if line_content: return line_content @classmethod def from_line(cls, line, remaining_lines): m = re.search(LINE_PATTERN, line) if not m: return None matched = m.groups() filename, lineno, code, message = (matched[0], int(matched[1]), matched[2], matched[-1]) additional_content = None # duplicate code output needs special handling if "duplicate-code" in code: line_count = 0 for next_line in remaining_lines: if re.search(LINE_PATTERN, next_line): break line_count += 1 if line_count: additional_content = remaining_lines[0:line_count] filename, lineno = cls.get_duplicate_code_location(remaining_lines) # fixes incorrectly reported file path line = line.replace(matched[0], filename) line = line.replace(":%s:" % matched[1], "") line_content = cls.get_line_content(filename, lineno) return cls(filename, lineno, line_content, code, message, line.rstrip(), additional_content) @classmethod def from_msg_to_dict(cls, msg): """Creates dict from pylint msg From the output of pylint msg, to a dict, where each key is a unique error identifier, value is a list of LintOutput """ result = {} lines = msg.splitlines() while lines: line = lines.pop(0) obj = cls.from_line(line, lines) if not obj: continue key = obj.key() if key not in result: result[key] = [] result[key].append(obj) return result def key(self): return self.message, self.line_content.strip() def json(self): return json.dumps(self.__dict__) def review_str(self): kargs = {"filename": self.filename, "lineno": self.lineno, "line_content": self.line_content, "code": self.code, "message": self.message} return ("File %(filename)s\nLine %(lineno)d:%(line_content)s\n" "%(code)s: %(message)s" % kargs) class ErrorKeys(object): @classmethod def print_json(cls, errors, output=sys.stdout): print("# automatically generated by tools/lintstack.py", file=output) for i in sorted(errors.keys()): print(json.dumps(i), file=output) @classmethod def from_file(cls, filename): keys = set() for line in open(filename): if line and line[0] != "#": d = json.loads(line) keys.add(tuple(d)) return keys def run_pylint(): buff = StringIO() reporter = text.ParseableTextReporter(output=buff) args = ["-rn", "--disable=all", "--enable=" + ",".join(ENABLED_CODES), "murano"] lint.Run(args, reporter=reporter, exit=False) val = buff.getvalue() buff.close() return val def generate_error_keys(msg=None): print("Generating", KNOWN_PYLINT_EXCEPTIONS_FILE) if msg is None: msg = run_pylint() errors = LintOutput.from_msg_to_dict(msg) with open(KNOWN_PYLINT_EXCEPTIONS_FILE, "w") as f: ErrorKeys.print_json(errors, output=f) def validate(newmsg=None): print("Loading", KNOWN_PYLINT_EXCEPTIONS_FILE) known = ErrorKeys.from_file(KNOWN_PYLINT_EXCEPTIONS_FILE) if newmsg is None: print("Running pylint. Be patient...") newmsg = run_pylint() errors = LintOutput.from_msg_to_dict(newmsg) print() print("Unique errors reported by pylint: was %d, now %d." % (len(known), len(errors))) passed = True for err_key, err_list in errors.items(): for err in err_list: if err_key not in known: print() print(err.lintoutput) print(err.review_str()) if err.additional_content: max_len = max(map(len, err.additional_content)) print("-" * max_len) print(os.linesep.join(err.additional_content)) print("-" * max_len) passed = False if passed: print("Congrats! pylint check passed.") redundant = known - set(errors.keys()) if redundant: print("Extra credit: some known pylint exceptions disappeared.") for i in sorted(redundant): print(json.dumps(i)) print("Consider regenerating the exception file if you will.") else: print() print("Please fix the errors above. If you believe they are false " "positives, run 'tools/lintstack.py generate' to overwrite.") sys.exit(1) def usage(): print("""Usage: tools/lintstack.py [generate|validate] To generate pylint_exceptions file: tools/lintstack.py generate To validate the current commit: tools/lintstack.py """) def main(): option = "validate" if len(sys.argv) > 1: option = sys.argv[1] if option == "generate": generate_error_keys() elif option == "validate": validate() else: usage() if __name__ == "__main__": main() murano-9.0.0/tools/test-setup.sh0000775000175000017500000000370713656750212016675 0ustar zuulzuul00000000000000#!/bin/bash -xe # This script will be run by OpenStack CI before unit tests are run, # it sets up the test system as needed. # Developers should setup their test systems in a similar way. # This setup needs to be run as a user that can run sudo. # The root password for the MySQL database; pass it in via # MYSQL_ROOT_PW. DB_ROOT_PW=${MYSQL_ROOT_PW:-insecure_slave} # This user and its password are used by the tests, if you change it, # your tests might fail. DB_USER=openstack_citest DB_PW=openstack_citest sudo -H mysqladmin -u root password $DB_ROOT_PW # It's best practice to remove anonymous users from the database. If # an anonymous user exists, then it matches first for connections and # other connections from that host will not work. sudo -H mysql -u root -p$DB_ROOT_PW -h localhost -e " DELETE FROM mysql.user WHERE User=''; FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON *.* TO '$DB_USER'@'%' identified by '$DB_PW' WITH GRANT OPTION;" # Now create our database. mysql -u $DB_USER -p$DB_PW -h 127.0.0.1 -e " SET default_storage_engine=MYISAM; DROP DATABASE IF EXISTS openstack_citest; CREATE DATABASE openstack_citest CHARACTER SET utf8;" # Same for PostgreSQL # The root password for the PostgreSQL database; pass it in via # POSTGRES_ROOT_PW. DB_ROOT_PW=${POSTGRES_ROOT_PW:-insecure_slave} # Setup user root_roles=$(sudo -H -u postgres psql -t -c " SELECT 'HERE' from pg_roles where rolname='$DB_USER'") if [[ ${root_roles} == *HERE ]];then sudo -H -u postgres psql -c "ALTER ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'" else sudo -H -u postgres psql -c "CREATE ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'" fi # Store password for tests cat << EOF > $HOME/.pgpass *:*:*:$DB_USER:$DB_PW EOF chmod 0600 $HOME/.pgpass # Now create our database psql -h 127.0.0.1 -U $DB_USER -d template1 -c "DROP DATABASE IF EXISTS openstack_citest" createdb -h 127.0.0.1 -U $DB_USER -l C -T template0 -E utf8 openstack_citest murano-9.0.0/README.rst0000664000175000017500000000226213656750211014542 0ustar zuulzuul00000000000000======================== Team and repository tags ======================== .. image:: https://governance.openstack.org/tc/badges/murano.svg :target: https://governance.openstack.org/tc/reference/tags/index.html .. Change things from this point on Murano ====== Murano Project introduces an application catalog, which allows application developers and cloud administrators to publish various cloud-ready applications in a browsable categorised catalog. Cloud users -- including inexperienced ones -- can then use the catalog to compose reliable application environments with the push of a button. Project Resources ----------------- * `Murano Official Documentation `_ * Project status, bugs, and blueprints are tracked on `Launchpad `_ * Additional resources are linked from the project `Wiki `_ page * `Python client `_ License ------- Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0 Release Notes ------------- Release Notes may be found here: https://docs.openstack.org/releasenotes/murano murano-9.0.0/.zuul.yaml0000664000175000017500000000743613656750212015025 0ustar zuulzuul00000000000000- project: templates: - check-requirements - openstack-cover-jobs - openstack-lower-constraints-jobs - openstack-python3-ussuri-jobs - periodic-stable-jobs - publish-openstack-docs-pti - release-notes-jobs-python3 check: jobs: - murano-congress-devstack - murano-rally-task - murano-tempest-api - murano-tempest-cfapi - murano-grenade - murano-tempest-api-ipv6-only gate: queue: murano jobs: - murano-tempest-api - murano-tempest-api-ipv6-only - job: name: murano-congress-devstack parent: murano-tempest-base voting: false timeout: 4200 irrelevant-files: &murano-irrelevant-files - ^(test-|)requirements.txt$ - ^setup.cfg$ - ^doc/.*$ - ^.*\.rst$ - ^releasenotes/.*$ - ^murano/tests/.*$ - ^contrib/.*$ required-projects: - openstack/congress - openstack/congress-dashboard - openstack/mistral - openstack/mistral-dashboard - openstack/python-congressclient - openstack/python-heatclient - openstack/python-mistralclient - openstack/python-muranoclient vars: devstack_services: tls-proxy: false devstack_localrc: MURANO_ENABLE_MODEL_POLICY_ENFORCEMENT: true devstack_plugins: congress: https://opendev.org/openstack/congress mistral: https://opendev.org/openstack/mistral tempest_test_regex: functional - job: name: murano-rally-task parent: rally-task-murano irrelevant-files: *murano-irrelevant-files timeout: 7800 vars: devstack_plugins: rally-openstack: https://opendev.org/openstack/rally-openstack rally_task: rally-jobs/task-murano.yaml required-projects: - openstack/rally-openstack - job: name: murano-tempest-base parent: devstack-tempest irrelevant-files: *murano-irrelevant-files timeout: 7800 required-projects: &base_required_projects - openstack/heat - openstack/murano - openstack/murano-dashboard - openstack/python-heatclient - openstack/python-muranoclient - openstack/tempest - openstack/murano-tempest-plugin vars: &base_vars devstack_plugins: murano: https://opendev.org/openstack/murano heat: https://opendev.org/openstack/heat devstack_services: tempest: true s-account: false s-container: false s-object: false s-proxy: false tls-proxy: false devstack_localrc: TEMPEST_PLUGINS: "/opt/stack/murano-tempest-plugin" tempest_test_regex: application_catalog tox_envlist: all - job: name: murano-tempest-api parent: murano-tempest-base - job: name: murano-tempest-api-ipv6-only parent: devstack-tempest-ipv6 description: | Murano devstack tempest tests job for IPv6-only deployment timeout: 7800 irrelevant-files: *murano-irrelevant-files required-projects: *base_required_projects vars: *base_vars - job: name: murano-tempest-cfapi parent: murano-tempest-base voting: false vars: devstack_services: murano-cfapi: true tempest_test_regex: service_broker - job: name: murano-grenade parent: legacy-dsvm-base timeout: 10800 voting: false run: playbooks/legacy/grenade-devstack-murano/run.yaml post-run: playbooks/legacy/grenade-devstack-murano/post.yaml irrelevant-files: *murano-irrelevant-files required-projects: - openstack/grenade - openstack/devstack-gate - openstack/heat - openstack/murano - openstack/murano-dashboard - openstack/python-heatclient - openstack/python-muranoclient - openstack/heat-tempest-plugin - openstack/murano-tempest-plugin murano-9.0.0/setup.py0000664000175000017500000000127113656750212014565 0ustar zuulzuul00000000000000# Copyright (c) 2013 Hewlett-Packard Development Company, L.P. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. import setuptools setuptools.setup( setup_requires=['pbr>=2.0.0'], pbr=True) murano-9.0.0/.stestr.conf0000664000175000017500000000010413656750211015315 0ustar zuulzuul00000000000000[DEFAULT] test_path=${OS_TEST_PATH:-./murano/tests/unit} top_dir=./ murano-9.0.0/devstack/0000775000175000017500000000000013656750351014662 5ustar zuulzuul00000000000000murano-9.0.0/devstack/settings0000664000175000017500000000643413656750211016447 0ustar zuulzuul00000000000000# Settings needed for the Murano plugin # ------------------------------------- # Set up default repos MURANO_REPO=${MURANO_REPO:-${GIT_BASE}/openstack/murano.git} MURANO_BRANCH=${MURANO_BRANCH:-master} # Variables, which used in this function # https://github.com/openstack-dev/devstack/blob/master/functions-common#L500-L506 GITREPO["python-muranoclient"]=${MURANO_PYTHONCLIENT_REPO:-${GIT_BASE}/openstack/python-muranoclient.git} GITBRANCH["python-muranoclient"]=${MURANO_PYTHONCLIENT_BRANCH:-master} GITDIR["python-muranoclient"]=$DEST/python-muranoclient # Set up default directories MURANO_DIR=$DEST/murano MURANO_FILES_DIR=$MURANO_DIR/devstack/files MURANO_CONF_DIR=${MURANO_CONF_DIR:-/etc/murano} MURANO_CONF_FILE=${MURANO_CONF_DIR}/murano.conf MURANO_CFAPI_CONF_FILE=${MURANO_CONF_DIR}/murano-cfapi.conf MURANO_DEBUG=$(trueorfalse True MURANO_DEBUG) MURANO_ENABLE_MODEL_POLICY_ENFORCEMENT=$(trueorfalse False MURANO_ENABLE_MODEL_POLICY_ENFORCEMENT) # Set up murano service endpoint MURANO_SERVICE_HOST=${MURANO_SERVICE_HOST:-$SERVICE_HOST} MURANO_SERVICE_PORT=${MURANO_SERVICE_PORT:-8082} MURANO_SERVICE_PROTOCOL=${MURANO_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL} # Set up settings for service broker API MURANO_CFAPI_SERVICE_PORT=${MURANO_CFAPI_SERVICE_PORT:-8083} MURANO_CFAPI_DEFAULT_TENANT=${MURANO_CFAPI_DEFAULT_TENANT:-admin} # Set up default service user for murano MURANO_ADMIN_USER=${MURANO_ADMIN_USER:-murano} MURANO_KEYSTONE_SIGNING_DIR=${MURANO_KEYSTONE_SIGNING_DIR:-/tmp/keystone-signing-muranoapi} # Set up murano networking settings MURANO_DEFAULT_ROUTER=${MURANO_DEFAULT_ROUTER:-''} MURANO_EXTERNAL_NETWORK=${MURANO_EXTERNAL_NETWORK:-''} DEF_MURANO_DEFAULT_DNS='8.8.8.8' if [[ "$SERVICE_IP_VERSION" == 6 ]]; then DEF_MURANO_DEFAULT_DNS='2001:4860:4860::8888' fi MURANO_DEFAULT_DNS=${MURANO_DEFAULT_DNS:-${DEF_MURANO_DEFAULT_DNS}} # Choose applications for installation MURANO_APPS=${MURANO_APPS:-''} MURANO_APPS_DIR=$DEST/murano-apps MURANO_APPS_REPO=${MURANO_APPS_REPO:-${GIT_BASE}/openstack/murano-apps.git} MURANO_APPS_BRANCH=${MURANO_APPS_BRANCH:-master} # MURANO_RABBIT_VHOST allows to specify a separate virtual host for Murano services. # This is not required if all OpenStack services are deployed by devstack scripts # on a single node. In this case '/' virtual host (which is the default) is enough. # The problem arise when Murano installed in 'devbox' mode, allowing two or more # devboxes to use one common OpenStack host. In this case it's better devboxes # use separated virtual hosts, to avoid conflicts between Murano services. # This couldn't be done using existing variables, so that's why this variable was added. MURANO_RABBIT_VHOST=${MURANO_RABBIT_VHOST:-''} # Settings needed for the Murano Tempest Plugin installation TEMPEST_DIR=$DEST/tempest TEMPEST_CONFIG_DIR=${TEMPEST_CONFIG_DIR:-$TEMPEST_DIR/etc} TEMPEST_CONFIG=$TEMPEST_CONFIG_DIR/tempest.conf TEMPEST_MURANO_SCENARIO_TESTS_ENABLED=$(trueorfalse True TEMPEST_MURANO_SCENARIO_TESTS_ENABLED) TEMPEST_MURANO_DEPLOYMENT_TESTS_ENABLED=$(trueorfalse False TEMPEST_MURANO_DEPLOYMENT_TESTS_ENABLED) # GlARe variables # Glance Artifact Repository endpoint type for Murano communications. # Public by default. GLARE_ENDPOINT_TYPE=${GLARE_ENDPOINT_TYPE:-publicURL} enable_service murano enable_service murano-api enable_service murano-engine murano-9.0.0/devstack/files/0000775000175000017500000000000013656750351015764 5ustar zuulzuul00000000000000murano-9.0.0/devstack/files/rpms/0000775000175000017500000000000013656750351016745 5ustar zuulzuul00000000000000murano-9.0.0/devstack/files/rpms/murano0000664000175000017500000000000413656750211020156 0ustar zuulzuul00000000000000zip murano-9.0.0/devstack/files/debs/0000775000175000017500000000000013656750351016701 5ustar zuulzuul00000000000000murano-9.0.0/devstack/files/debs/murano0000664000175000017500000000000413656750211020112 0ustar zuulzuul00000000000000zip murano-9.0.0/devstack/files/apache-murano-api.template0000664000175000017500000000140413656750211023002 0ustar zuulzuul00000000000000Listen %PUBLICPORT% WSGIDaemonProcess murano-api processes=1 threads=10 user=%USER% display-name=%{GROUP} %VIRTUALENV% WSGIProcessGroup murano-api WSGIScriptAlias / %MURANO_BIN_DIR%/murano-wsgi-api WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On AllowEncodedSlashes On = 2.4> ErrorLogFormat "%{cu}t %M" ErrorLog /var/log/%APACHE_NAME%/murano_api.log CustomLog /var/log/%APACHE_NAME%/murano_api_access.log combined = 2.4> Require all granted Order allow,deny Allow from all murano-9.0.0/devstack/plugin.sh0000775000175000017500000005657413656750211016533 0ustar zuulzuul00000000000000#!/usr/bin/env bash # Plugin file for Murano services # ------------------------------- # Dependencies: # ``functions`` file # ``DEST``, ``DATA_DIR``, ``STACK_USER`` must be defined # Save trace setting XTRACE=$(set +o | grep xtrace) set -o xtrace # Support entry points installation of console scripts if [[ -d $MURANO_DIR/bin ]]; then MURANO_BIN_DIR=$MURANO_DIR/bin else MURANO_BIN_DIR=$(get_python_exec_prefix) fi MURANO_AUTH_CACHE_DIR=${MURANO_AUTH_CACHE_DIR:-/var/cache/murano} # Toggle for deploying Murano-API under under a wsgi server MURANO_USE_UWSGI=${MURANO_USE_UWSGI:-True} MURANO_UWSGI=$MURANO_BIN_DIR/murano-wsgi-api MURANO_UWSGI_CONF=$MURANO_CONF_DIR/murano-api-uwsgi.ini if [[ "$MURANO_USE_UWSGI" == "True" ]]; then MURANO_API_URL="$MURANO_SERVICE_PROTOCOL://$MURANO_SERVICE_HOST/application-catalog" else MURANO_API_URL="$MURANO_SERVICE_PROTOCOL://$MURANO_SERVICE_HOST:$MURANO_SERVICE_PORT" fi HORIZON_URL="http://${KEYSTONE_SERVICE_HOST}/dashboard" DASHBOARD_FUNCTIONAL_CONFIG_DIR=$MURANO_DASHBOARD_DIR/muranodashboard/tests/functional/config # create_murano_accounts() - Set up common required murano accounts # # Tenant User Roles # ------------------------------ # service murano admin function create_murano_accounts() { if ! is_service_enabled key; then return fi create_service_user "murano" "admin" get_or_create_service "murano" "application-catalog" "Application Catalog Service" get_or_create_endpoint "application-catalog" \ "$REGION_NAME" \ "$MURANO_API_URL" \ "$MURANO_API_URL" \ "$MURANO_API_URL" if is_service_enabled murano-cfapi; then get_or_create_service "murano-cfapi" "service-broker" "Murano CloudFoundry Service Broker" get_or_create_endpoint "service-broker" \ "$REGION_NAME" \ "$MURANO_SERVICE_PROTOCOL://$MURANO_SERVICE_HOST:$MURANO_CFAPI_SERVICE_PORT" \ "$MURANO_SERVICE_PROTOCOL://$MURANO_SERVICE_HOST:$MURANO_CFAPI_SERVICE_PORT" \ "$MURANO_SERVICE_PROTOCOL://$MURANO_SERVICE_HOST:$MURANO_CFAPI_SERVICE_PORT" fi } function mkdir_chown_stack { if [[ ! -d "$1" ]]; then sudo mkdir -p "$1" fi sudo chown $STACK_USER "$1" } function configure_murano_rpc_backend() { # Configure the rpc service. iniset_rpc_backend muranoapi $MURANO_CONF_FILE DEFAULT # TODO(ruhe): get rid of this ugly workaround. inicomment $MURANO_CONF_FILE DEFAULT rpc_backend if [[ $SERVICE_IP_VERSION == 6 ]]; then iniset $MURANO_CONF_FILE rabbitmq host "$HOST_IPV6" else iniset $MURANO_CONF_FILE rabbitmq host "$HOST_IP" fi iniset $MURANO_CONF_FILE rabbitmq login $RABBIT_USERID iniset $MURANO_CONF_FILE rabbitmq password $RABBIT_PASSWORD # Set non-default rabbit virtual host if required. if [[ -n "$MURANO_RABBIT_VHOST" ]]; then iniset $MURANO_CONF_FILE DEFAULT rabbit_virtual_host $MURANO_RABBIT_VHOST iniset $MURANO_CONF_FILE rabbitmq virtual_host $MURANO_RABBIT_VHOST fi } function configure_murano_glare_backend() { # Configure Murano to use GlARe application storage backend iniset $MURANO_CONF_FILE engine packages_service 'glare' if is_service_enabled murano-cfapi; then iniset $MURANO_CFAPI_CONF_FILE cfapi packages_service 'glare' fi iniset $MURANO_CONF_FILE glare url $GLANCE_SERVICE_PROTOCOL://$GLANCE_GLARE_HOSTPORT iniset $MURANO_CONF_FILE glare endpoint_type $GLARE_ENDPOINT_TYPE echo -e $"\nexport MURANO_PACKAGES_SERVICE='glare'" | sudo tee -a $TOP_DIR/openrc echo -e $"\nexport GLARE_URL='$GLANCE_SERVICE_PROTOCOL://$GLANCE_GLARE_HOSTPORT'" | sudo tee -a $TOP_DIR/openrc } function restart_glare_service() { # Restart GlARe service to apply Murano artifact plugin if is_running glance-glare; then echo_summary "Restarting GlARe to apply config changes" stop_process g-glare run_process g-glare "$GLANCE_BIN_DIR/glance-glare --config-file=$GLANCE_CONF_DIR/glance-glare.conf" echo "Waiting for GlARe [g-glare] ($GLANCE_GLARE_HOSTPORT) to start..." if ! wait_for_service $SERVICE_TIMEOUT $GLANCE_SERVICE_PROTOCOL://$GLANCE_GLARE_HOSTPORT; then die $LINENO " GlARe [g-glare] did not start" fi else echo_summary "GlARe service wasn't started yet. It will start in usual way." fi } function install_murano_artifact_plugin() { # Provide support of Murano artifacts type to GlARe setup_package $MURANO_DIR/contrib/glance -e } function is_murano_backend_glare() { is_service_enabled g-glare && [[ "$MURANO_USE_GLARE" == "True" ]] && return 0 return 1 } function configure_murano_networking { # Use keyword 'public' if Murano external network was not set. # If it was set but the network is not exist then # first available external network will be selected. local ext_net=${MURANO_EXTERNAL_NETWORK:-'public'} local ext_net_id=$(openstack --os-cloud=devstack-admin \ --os-region-name="$REGION_NAME" network list \ --external | grep " $ext_net " | get_field 1) # Try to select first available external network if ext_net_id is null if [[ ! -n "$ext_net_id" ]]; then ext_net_id=$(openstack --os-cloud=devstack-admin \ --os-region-name="$REGION_NAME" network list \ --external -f csv -c ID | tail -n +2 | tail -n 1) fi # Configure networking options for Murano if [[ -n "$ext_net" ]] && [[ -n "$ext_net_id" ]]; then iniset $MURANO_CONF_FILE networking external_network $ext_net_id iniset $MURANO_CONF_FILE networking create_router 'true' else iniset $MURANO_CONF_FILE networking create_router 'false' fi if [[ -n "$MURANO_DEFAULT_ROUTER" ]]; then iniset $MURANO_CONF_FILE networking router_name $MURANO_DEFAULT_ROUTER fi if [[ -n "$MURANO_DEFAULT_DNS" ]]; then iniset $MURANO_CONF_FILE networking default_dns $MURANO_DEFAULT_DNS fi } # Entry points # ------------ # configure_murano() - Set config files, create data dirs, etc function configure_murano { mkdir_chown_stack "$MURANO_CONF_DIR" # Generate Murano configuration file and configure common parameters. oslo-config-generator --config-file $MURANO_DIR/etc/oslo-config-generator/murano.conf --output-file $MURANO_CONF_FILE cp $MURANO_DIR/etc/murano/murano-paste.ini $MURANO_CONF_DIR cleanup_murano iniset $MURANO_CONF_FILE DEFAULT debug $MURANO_DEBUG iniset $MURANO_CONF_FILE DEFAULT use_syslog $SYSLOG # Format logging if [ "$LOG_COLOR" == "True" ] && [ "$SYSLOG" == "False" ] && [ "$MURANO_USE_UWSGI" == "False" ] ; then setup_colorized_logging $MURANO_CONF_FILE DEFAULT else # Show user_name and project_name instead of user_id and project_id iniset $MURANO_CONF_FILE DEFAULT logging_context_format_string "%(asctime)s.%(msecs)03d %(levelname)s %(name)s [%(request_id)s %(user_name)s %(project_name)s] %(instance)s%(message)s" fi iniset $MURANO_CONF_FILE DEFAULT home_region $REGION_NAME # Murano Policy Enforcement Configuration if [[ "$MURANO_ENABLE_MODEL_POLICY_ENFORCEMENT" == "True" ]]; then iniset $MURANO_CONF_FILE engine enable_model_policy_enforcer $MURANO_ENABLE_MODEL_POLICY_ENFORCEMENT fi # Murano Api Configuration #------------------------- # Setup keystone_authtoken section configure_auth_token_middleware $MURANO_CONF_FILE $MURANO_ADMIN_USER $MURANO_AUTH_CACHE_DIR # Setup murano_auth section configure_auth_token_middleware $MURANO_CONF_FILE $MURANO_ADMIN_USER $MURANO_AUTH_CACHE_DIR murano_auth iniset $MURANO_CONF_FILE murano_auth www_authenticate_uri $KEYSTONE_AUTH_URI configure_murano_rpc_backend # Configure notifications for status information during provisioning iniset $MURANO_CONF_FILE oslo_messaging_notifications driver messagingv2 # configure the database. iniset $MURANO_CONF_FILE database connection `database_connection_url murano` # Configure keystone auth url iniset $MURANO_CONF_FILE keystone auth_url $KEYSTONE_SERVICE_URI # Configure Murano API URL iniset $MURANO_CONF_FILE murano url "$MURANO_API_URL" # Configure the number of api workers if [[ -n "$MURANO_API_WORKERS" ]]; then iniset $MURANO_CONF_FILE murano api_workers $MURANO_API_WORKERS fi # Configure the number of engine workers if [[ -n "$MURANO_ENGINE_WORKERS" ]]; then iniset $MURANO_CONF_FILE engine engine_workers $MURANO_ENGINE_WORKERS fi if is_murano_backend_glare; then configure_murano_glare_backend fi if [ "$MURANO_USE_UWSGI" == "True" ]; then write_uwsgi_config "$MURANO_UWSGI_CONF" "$MURANO_UWSGI" "/application-catalog" fi } # set the murano packages service backend function set_packages_service_backend() { if is_murano_backend_glare; then MURANO_PACKAGES_SERVICE='glare' else MURANO_PACKAGES_SERVICE='murano' fi } # configure_murano_cfapi() - Set config files function configure_murano_cfapi { # Generate Murano configuration file and configure common parameters. oslo-config-generator --config-file $MURANO_DIR/etc/oslo-config-generator/murano-cfapi.conf --output-file $MURANO_CFAPI_CONF_FILE cp $MURANO_DIR/etc/murano/murano-cfapi-paste.ini $MURANO_CONF_DIR configure_service_broker } # install_murano_apps() - Install Murano apps from repository murano-apps, if required function install_murano_apps() { if [[ -z $MURANO_APPS ]]; then return fi # clone murano-apps only if app installation is required git_clone $MURANO_APPS_REPO $MURANO_APPS_DIR $MURANO_APPS_BRANCH set_packages_service_backend # install Murano apps defined in the comma-separated list $MURANO_APPS for murano_app in ${MURANO_APPS//,/ }; do find $MURANO_APPS_DIR -type d -name "package" | while read package; do full_name=$(grep "FullName" "$package/manifest.yaml" | awk -F ':' '{print $2}' | tr -d ' ') if [[ $full_name = $murano_app ]]; then pushd $package zip -r app.zip . murano --os-username $OS_USERNAME \ --os-password $OS_PASSWORD \ --os-tenant-name $OS_PROJECT_NAME \ --os-auth-url $KEYSTONE_SERVICE_URI \ --murano-url $MURANO_API_URL \ --glare-url $GLANCE_SERVICE_PROTOCOL://$GLANCE_GLARE_HOSTPORT \ --murano-packages-service $MURANO_PACKAGES_SERVICE \ package-import \ --is-public \ --exists-action u \ app.zip popd fi done done } # configure_service_broker() - set service broker specific options to config function configure_service_broker { iniset $MURANO_CFAPI_CONF_FILE DEFAULT debug $MURANO_DEBUG iniset $MURANO_CFAPI_CONF_FILE DEFAULT use_syslog $SYSLOG #Add needed options to murano-cfapi.conf iniset $MURANO_CFAPI_CONF_FILE cfapi tenant "$MURANO_CFAPI_DEFAULT_TENANT" iniset $MURANO_CFAPI_CONF_FILE cfapi bind_host "$MURANO_SERVICE_HOST" iniset $MURANO_CFAPI_CONF_FILE cfapi bind_port "$MURANO_CFAPI_SERVICE_PORT" iniset $MURANO_CFAPI_CONF_FILE cfapi auth_url "$KEYSTONE_SERVICE_URI" # configure the database. iniset $MURANO_CFAPI_CONF_FILE database connection `database_connection_url murano_cfapi` # Setup keystone_authtoken section configure_auth_token_middleware $MURANO_CFAPI_CONF_FILE $MURANO_ADMIN_USER $MURANO_AUTH_CACHE_DIR } function prepare_core_apps() { cd $MURANO_DIR/meta for i in */ do pushd ./"$i" zip -r ../"${i%/}.zip" * popd done } function remove_core_apps_zip() { rm -f $MURANO_DIR/meta/*.zip } # init_murano() - Initialize databases, etc. function init_murano() { configure_murano_networking # (re)create Murano database recreate_database murano utf8 $MURANO_BIN_DIR/murano-db-manage --config-file $MURANO_CONF_FILE upgrade create_murano_cache_dir } # create_murano_cache_dir() - Part of the init_murano() process function create_murano_cache_dir { # Create cache dirs sudo install -d -o $STACK_USER $MURANO_AUTH_CACHE_DIR } # init_murano_cfapi() - Initialize databases, etc. function init_murano_cfapi() { # (re)create Murano database recreate_database murano_cfapi utf8 $MURANO_BIN_DIR/murano-cfapi-db-manage --config-file $MURANO_CFAPI_CONF_FILE upgrade } function setup_core_library() { prepare_core_apps set_packages_service_backend murano --os-username admin \ --os-password $ADMIN_PASSWORD \ --os-tenant-name admin \ --os-auth-url $KEYSTONE_SERVICE_URI \ --os-region-name $REGION_NAME \ --murano-url $MURANO_API_URL \ --glare-url $GLANCE_SERVICE_PROTOCOL://$GLANCE_GLARE_HOSTPORT \ --murano-packages-service $MURANO_PACKAGES_SERVICE \ package-import $MURANO_DIR/meta/*.zip \ --is-public remove_core_apps_zip } # install_murano() - Collect source and prepare function install_murano() { install_murano_pythonclient git_clone $MURANO_REPO $MURANO_DIR $MURANO_BRANCH setup_develop $MURANO_DIR if is_murano_backend_glare; then install_murano_artifact_plugin fi } function install_murano_pythonclient() { # For using non-released client from git branch, need to add # LIBS_FROM_GIT=python-muranoclient parameter to localrc. # Otherwise, murano will install python-muranoclient from requirements. if use_library_from_git "python-muranoclient"; then git_clone_by_name "python-muranoclient" setup_dev_lib "python-muranoclient" # Installing bash_completion for murano sudo install -D -m 0644 -o $STACK_USER {${GITDIR["python-muranoclient"]}/tools/,/etc/bash_completion.d/}murano.bash_completion fi } # start_murano() - Start running processes, including screen function start_murano() { if [ "$MURANO_USE_UWSGI" == "True" ]; then run_process murano-api "$MURANO_BIN_DIR/uwsgi --procname-prefix murano-api --ini $MURANO_UWSGI_CONF" else run_process murano-api "$MURANO_BIN_DIR/murano-api --config-file $MURANO_CONF_DIR/murano.conf" fi run_process murano-engine "$MURANO_BIN_DIR/murano-engine --config-file $MURANO_CONF_DIR/murano.conf" } # stop_murano() - Stop running processes function stop_murano() { # Kill the Murano screen windows if [ "$MURANO_USE_UWSGI" == "True" ]; then disable_apache_site murano-api restart_apache_server fi stop_process murano-api stop_process murano-engine } # start_service_broker() - start murano CF service broker function start_service_broker() { run_process murano-cfapi "$MURANO_BIN_DIR/murano-cfapi --config-file $MURANO_CONF_DIR/murano-cfapi.conf" } # stop_service_broker() - stop murano CF service broker function stop_service_broker() { # Kill the Murano screen windows stop_process murano-cfapi } function cleanup_murano() { # Cleanup keystone signing dir sudo rm -rf $MURANO_KEYSTONE_SIGNING_DIR if [[ "$MURANO_USE_UWSGI" == "True" ]]; then remove_uwsgi_config "$MURANO_UWSGI_CONF" "$MURANO_UWSGI" fi } function configure_murano_tempest_plugin() { # Check tempest for enabling if is_service_enabled tempest; then echo_summary "Configuring Murano Tempest plugin" # Set murano service availability flag iniset $TEMPEST_CONFIG service_available murano "True" if is_service_enabled murano-cfapi; then # Enable Service Broker tests if cfapi enabled and set murano-cfapi service availability flag iniset $TEMPEST_CONFIG service_available murano_cfapi "True" iniset $TEMPEST_CONFIG service_broker run_service_broker_tests "True" fi if is_service_enabled g-glare; then # TODO(freerunner): This is bad way to configure tempest to # TODO see glare as enabled. We need to move it out to tempest # TODO of glance repo when glare become official OS API. iniset $TEMPEST_CONFIG service_available glare "True" fi if is_murano_backend_glare; then iniset $TEMPEST_CONFIG application_catalog glare_backend "True" fi if [[ "$TEMPEST_MURANO_SCENARIO_TESTS_ENABLED" == "True" ]]; then if is_service_enabled cinder; then iniset $TEMPEST_CONFIG application_catalog cinder_volume_tests "True" fi if [[ "$TEMPEST_MURANO_DEPLOYMENT_TESTS_ENABLED" == "True" ]]; then iniset $TEMPEST_CONFIG application_catalog deployment_tests "True" iniset $TEMPEST_CONFIG application_catalog linux_image "$CLOUD_IMAGE_NAME" fi fi fi } #### lib/murano-dashboard # Dependencies: # # - ``functions`` file # - ``DEST``, ``DATA_DIR``, ``STACK_USER`` must be defined # - ``SERVICE_HOST`` # ``stack.sh`` calls the entry points in this order: # # - install_murano_dashboard # - configure_murano_dashboard # - cleanup_murano_dashboard . $TOP_DIR/lib/horizon # Defaults # -------- HORIZON_CONFIG=${HORIZON_CONFIG:-$HORIZON_DIR/openstack_dashboard/settings.py} HORIZON_LOCAL_CONFIG=${HORIZON_LOCAL_CONFIG:-$HORIZON_DIR/openstack_dashboard/local/local_settings.py} # Set up default repos MURANO_DASHBOARD_REPO=${MURANO_DASHBOARD_REPO:-${GIT_BASE}/openstack/murano-dashboard.git} MURANO_DASHBOARD_BRANCH=${MURANO_DASHBOARD_BRANCH:-master} # Set up default directories MURANO_DASHBOARD_DIR=$DEST/murano-dashboard MURANO_PYTHONCLIENT_DIR=$DEST/python-muranoclient MURANO_DASHBOARD_CACHE_DIR=${MURANO_DASHBOARD_CACHE_DIR:-/tmp/murano} MURANO_REPOSITORY_URL=${MURANO_REPOSITORY_URL:-'http://apps.openstack.org/api/v1/murano_repo/liberty/'} # Entry points # ------------ # configure_murano_dashboard() - Set config files, create data dirs, etc function configure_murano_dashboard() { configure_local_settings_py configure_dashboard_functional_config restart_apache_server } function configure_dashboard_functional_config() { cp $DASHBOARD_FUNCTIONAL_CONFIG_DIR/config.conf.sample $DASHBOARD_FUNCTIONAL_CONFIG_DIR/config.conf sed -e "s%\(^\s*horizon_url\s*=\).*$%\1 $HORIZON_URL%" -i "$DASHBOARD_FUNCTIONAL_CONFIG_DIR/config.conf" sed -e "s%\(^\s*murano_url\s*=\).*$%\1 $MURANO_API_URL%" -i "$DASHBOARD_FUNCTIONAL_CONFIG_DIR/config.conf" sed -e "s/\(^\s*user\s*=\).*$/\1 $OS_USERNAME/" -i "$DASHBOARD_FUNCTIONAL_CONFIG_DIR/config.conf" sed -e "s/\(^\s*password\s*=\).*$/\1 $OS_PASSWORD/" -i "$DASHBOARD_FUNCTIONAL_CONFIG_DIR/config.conf" sed -e "s/\(^\s*tenant\s*=\).*$/\1 $OS_PROJECT_NAME/" -i "$DASHBOARD_FUNCTIONAL_CONFIG_DIR/config.conf" sed -e "s%\(^\s*keystone_url\s*=\).*$%\1 $KEYSTONE_SERVICE_URI/v3%" -i "$DASHBOARD_FUNCTIONAL_CONFIG_DIR/config.conf" echo_summary "Show the DASHBOARD_FUNCTIONAL_CONFIG" cat $DASHBOARD_FUNCTIONAL_CONFIG_DIR/config.conf } function configure_local_settings_py() { local horizon_config_part=$(mktemp) mkdir_chown_stack "$MURANO_DASHBOARD_CACHE_DIR" if is_murano_backend_glare; then # Make Murano use GlARe only if MURANO_USE_GLARE set to True and GlARe # service is enabled local murano_use_glare=True else local murano_use_glare=False fi if [[ -f "$HORIZON_LOCAL_CONFIG" ]]; then sed -e "s/\(^\s*OPENSTACK_HOST\s*=\).*$/\1 '$HOST_IP'/" -i "$HORIZON_LOCAL_CONFIG" fi # Install Murano as plugin for Horizon ln -sf $MURANO_DASHBOARD_DIR/muranodashboard/local/enabled/*.py $HORIZON_DIR/openstack_dashboard/local/enabled/ # Install setting to Horizon ln -sf $MURANO_DASHBOARD_DIR/muranodashboard/local/local_settings.d/*.py $HORIZON_DIR/openstack_dashboard/local/local_settings.d/ # Install murano RBAC policy to Horizon ln -sf $MURANO_DASHBOARD_DIR/muranodashboard/conf/murano_policy.json $HORIZON_DIR/openstack_dashboard/conf/ # Change Murano dashboard settings sed -e "s/\(^\s*MURANO_USE_GLARE\s*=\).*$/\1 $murano_use_glare/" -i $HORIZON_DIR/openstack_dashboard/local/local_settings.d/_50_murano.py sed -e "s%\(^\s*MURANO_REPO_URL\s*=\).*$%\1 '$MURANO_REPOSITORY_URL'%" -i $HORIZON_DIR/openstack_dashboard/local/local_settings.d/_50_murano.py sed -e "s%\(^\s*'NAME':\).*$%\1 os.path.join('$MURANO_DASHBOARD_DIR', 'openstack-dashboard.sqlite')%" -i $HORIZON_DIR/openstack_dashboard/local/local_settings.d/_50_murano.py echo -e $"\nMETADATA_CACHE_DIR = '$MURANO_DASHBOARD_CACHE_DIR'" | sudo tee -a $HORIZON_DIR/openstack_dashboard/local/local_settings.d/_50_murano.py } # init_murano_dashboard() - Initialize databases, etc. function init_murano_dashboard() { # clean up from previous (possibly aborted) runs # create required data files local horizon_manage_py="$HORIZON_DIR/manage.py" $PYTHON "$horizon_manage_py" collectstatic --noinput $PYTHON "$horizon_manage_py" compress --force $PYTHON "$horizon_manage_py" migrate --noinput # Compile message for murano-dashboard cd $MURANO_DASHBOARD_DIR/muranodashboard $PYTHON "$horizon_manage_py" compilemessages restart_apache_server } # install_murano_dashboard() - Collect source and prepare function install_murano_dashboard() { echo_summary "Install Murano Dashboard" git_clone $MURANO_DASHBOARD_REPO $MURANO_DASHBOARD_DIR $MURANO_DASHBOARD_BRANCH setup_develop $MURANO_DASHBOARD_DIR } # cleanup_murano_dashboard() - Remove residual data files, anything left over from previous # runs that a clean run would need to clean up function cleanup_murano_dashboard() { echo_summary "Cleanup Murano Dashboard" # remove all the pannels we've installed, also any pyc/pyo files for i in $(find $MURANO_DASHBOARD_DIR/muranodashboard/local/enabled -iname '_[0-9]*.py' -printf '%f\n'); do rm -rf $HORIZON_DIR/openstack_dashboard/local/enabled/${i%.*}.* done rm $HORIZON_DIR/openstack_dashboard/local/local_settings.d/_50_murano.* rm $HORIZON_DIR/openstack_dashboard/conf/murano_policy.json } # Main dispatcher if is_service_enabled murano; then if [[ "$1" == "stack" && "$2" == "install" ]]; then echo_summary "Installing Murano" install_murano if is_service_enabled horizon; then install_murano_dashboard fi elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then echo_summary "Configuring Murano" configure_murano create_murano_accounts if is_service_enabled horizon; then configure_murano_dashboard fi if is_service_enabled murano-cfapi; then configure_murano_cfapi fi elif [[ "$1" == "stack" && "$2" == "extra" ]]; then echo_summary "Initializing Murano" init_murano if is_service_enabled horizon; then init_murano_dashboard fi start_murano if is_murano_backend_glare; then restart_glare_service fi if is_service_enabled murano-cfapi; then init_murano_cfapi start_service_broker fi # Give Murano some time to Start sleep 3 setup_core_library # Install Murano apps, if needed install_murano_apps elif [[ "$1" == "stack" && "$2" == "test-config" ]]; then configure_murano_tempest_plugin fi if [[ "$1" == "unstack" ]]; then stop_murano if is_service_enabled murano-cfapi; then stop_service_broker fi cleanup_murano if is_service_enabled horizon; then cleanup_murano_dashboard fi fi fi # Restore xtrace $XTRACE murano-9.0.0/devstack/README.rst0000664000175000017500000000264613656750211016354 0ustar zuulzuul00000000000000==================== Enabling in Devstack ==================== #. Download DevStack_:: git clone https://opendev.org/openstack/devstack cd devstack #. Edit ``local.conf`` to enable murano and heat devstack plugin:: > cat local.conf [[local|localrc]] enable_plugin murano https://opendev.org/openstack/murano #Enable heat plugin enable_plugin heat https://opendev.org/openstack/heat #. If you want Murano Cloud Foundry Broker API service enabled, add the following line to ``local.conf``:: enable_service murano-cfapi #. If you want to use Glare Artifact Repository as a storage for packages, add the following line to ``local.conf``: .. code-block:: ini enable_service g-glare For more information on how to use Glare Artifact Repository, see :ref:`glare_usage`. #. (Optional) To import Murano packages when DevStack is up, define an ordered list of packages FQDNs in ``local.conf``. Make sure to list all package dependencies. These packages will by default be imported from the murano-apps git repository. Example:: MURANO_APPS=com.example.apache.Tomcat,org.openstack.Rally You can also use the variables ``MURANO_APPS_REPO`` and ``MURANO_APPS_BRANCH`` to configure the git repository which will be used as the source for the imported packages. #. Install DevStack:: ./stack.sh .. _DevStack: https://docs.openstack.org/devstack/latest/ murano-9.0.0/devstack/upgrade/0000775000175000017500000000000013656750351016311 5ustar zuulzuul00000000000000murano-9.0.0/devstack/upgrade/settings0000664000175000017500000000061613656750211020072 0ustar zuulzuul00000000000000register_project_for_upgrade murano register_db_to_save murano devstack_localrc base enable_plugin murano https://opendev.org/openstack/murano devstack_localrc target enable_plugin murano https://opendev.org/openstack/murano devstack_localrc base enable_service murano-api murano-engine devstack_localrc target enable_service murano-api murano-engine BASE_RUN_SMOKE=False TARGET_RUN_SMOKE=False murano-9.0.0/devstack/upgrade/shutdown.sh0000775000175000017500000000104413656750211020515 0ustar zuulzuul00000000000000#!/bin/bash set -o errexit source $GRENADE_DIR/grenaderc source $GRENADE_DIR/functions # We need base DevStack functions for this source $BASE_DEVSTACK_DIR/functions source $BASE_DEVSTACK_DIR/stackrc # needed for status directory source $BASE_DEVSTACK_DIR/lib/tls source $BASE_DEVSTACK_DIR/lib/apache MURANO_DEVSTACK_DIR=$(dirname $(dirname $0)) source $MURANO_DEVSTACK_DIR/settings source $MURANO_DEVSTACK_DIR/plugin.sh set -o xtrace stop_murano # sanity check that service is actually down ensure_services_stopped murano-api murano-engine murano-9.0.0/devstack/upgrade/resources.sh0000775000175000017500000000113513656750211020655 0ustar zuulzuul00000000000000#!/bin/bash set -o errexit source $GRENADE_DIR/grenaderc source $GRENADE_DIR/functions source $TOP_DIR/openrc admin demo set -o xtrace function create { # add later : } function verify_noapi { # currently no good way : } function verify { # add later : } function destroy { # add later : } # Dispatcher case $1 in "create") create ;; "verify_noapi") verify_noapi ;; "verify") verify ;; "destroy") destroy ;; "force_destroy") set +o errexit destroy ;; esac murano-9.0.0/devstack/upgrade/upgrade.sh0000775000175000017500000000375113656750211020300 0ustar zuulzuul00000000000000#!/usr/bin/env bash # ``upgrade-murano`` echo "*********************************************************************" echo "Begin $0" echo "*********************************************************************" # Clean up any resources that may be in use cleanup() { set +o errexit echo "********************************************************************" echo "ERROR: Abort $0" echo "********************************************************************" # Kill ourselves to signal any calling process trap 2; kill -2 $$ } trap cleanup SIGHUP SIGINT SIGTERM # Keep track of the grenade directory RUN_DIR=$(cd $(dirname "$0") && pwd) # Source params source $GRENADE_DIR/grenaderc # Import common functions source $GRENADE_DIR/functions # This script exits on an error so that errors don't compound and you see # only the first error that occurred. set -o errexit # Upgrade murano # ============== # Get functions from current DevStack source $TARGET_DEVSTACK_DIR/stackrc source $TARGET_DEVSTACK_DIR/lib/apache source $TARGET_DEVSTACK_DIR/lib/tls source $(dirname $(dirname $BASH_SOURCE))/settings source $(dirname $(dirname $BASH_SOURCE))/plugin.sh # Print the commands being run so that we can see the command that triggers # an error. It is also useful for following allowing as the install occurs. set -o xtrace # Save current config files for posterity [[ -d $SAVE_DIR/etc.murano ]] || cp -pr $MURANO_CONF_DIR $SAVE_DIR/etc.murano # Install the target murano install_murano # calls upgrade-murano for specific release upgrade_project murano $RUN_DIR $BASE_DEVSTACK_BRANCH $TARGET_DEVSTACK_BRANCH # Migrate the database murano-db-manage upgrade || die $LINO "DB migration error" start_murano # Don't succeed unless the services come up ensure_services_started murano-api murano-engine set +o xtrace echo "*********************************************************************" echo "SUCCESS: End $0" echo "*********************************************************************" murano-9.0.0/LICENSE0000664000175000017500000002363713656750211014071 0ustar zuulzuul00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. murano-9.0.0/playbooks/0000775000175000017500000000000013656750351015061 5ustar zuulzuul00000000000000murano-9.0.0/playbooks/legacy/0000775000175000017500000000000013656750351016325 5ustar zuulzuul00000000000000murano-9.0.0/playbooks/legacy/grenade-devstack-murano/0000775000175000017500000000000013656750351023033 5ustar zuulzuul00000000000000murano-9.0.0/playbooks/legacy/grenade-devstack-murano/run.yaml0000664000175000017500000000477513656750212024534 0ustar zuulzuul00000000000000- hosts: all name: legacy-grenade-dsvm-watcher tasks: - name: Ensure legacy workspace directory file: path: '{{ ansible_user_dir }}/workspace' state: directory - shell: cmd: | set -e set -x cat > clonemap.yaml << EOF clonemap: - name: openstack/devstack-gate dest: devstack-gate EOF /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ https://opendev.org \ openstack/devstack-gate executable: /bin/bash chdir: '{{ ansible_user_dir }}/workspace' environment: '{{ zuul | zuul_legacy_vars }}' - shell: cmd: | set -e set -x cat << 'EOF' >>"/tmp/dg-local.conf" [[local|localrc]] TEMPEST_PLUGINS='/opt/stack/new/murano-tempest-plugin /opt/stack/new/heat-tempest-plugin' enable_plugin heat https://opendev.org/openstack/heat EOF executable: /bin/bash chdir: '{{ ansible_user_dir }}/workspace' environment: '{{ zuul | zuul_legacy_vars }}' - shell: cmd: | set -e set -x export PYTHONUNBUFFERED=true export DEVSTACK_GATE_TEMPEST_NOTESTS=1 export DEVSTACK_GATE_NEUTRON=1 export DEVSTACK_GATE_USE_PYTHON3=True export PROJECTS="openstack/grenade $PROJECTS" export PROJECTS="openstack/heat $PROJECTS" export PROJECTS="openstack/python-heatclient $PROJECTS" export PROJECTS="openstack/murano $PROJECTS" export PROJECTS="openstack/murano-dashboard $PROJECTS" export PROJECTS="openstack/python-muranoclient $PROJECTS" export PROJECTS="openstack/heat-tempest-plugin $PROJECTS" export PROJECTS="openstack/murano-tempest-plugin $PROJECTS" export BRANCH_OVERRIDE=default export GRENADE_PLUGINRC="enable_grenade_plugin murano https://opendev.org/openstack/murano" export GRENADE_PLUGINRC+=$'\n'"enable_grenade_plugin heat https://opendev.org/openstack/heat" export DEVSTACK_GATE_GRENADE=pullup if [ "$BRANCH_OVERRIDE" != "default" ] ; then export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE fi cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh executable: /bin/bash chdir: '{{ ansible_user_dir }}/workspace' environment: '{{ zuul | zuul_legacy_vars }}' murano-9.0.0/playbooks/legacy/grenade-devstack-murano/post.yaml0000664000175000017500000000063313656750212024702 0ustar zuulzuul00000000000000- hosts: primary tasks: - name: Copy files from {{ ansible_user_dir }}/workspace/ on node synchronize: src: '{{ ansible_user_dir }}/workspace/' dest: '{{ zuul.executor.log_root }}' mode: pull copy_links: true verify_host: true rsync_opts: - --include=/logs/** - --include=*/ - --exclude=* - --prune-empty-dirs murano-9.0.0/.coveragerc0000664000175000017500000000017313656750211015173 0ustar zuulzuul00000000000000[run] branch = True source = murano omit = .tox/* murano/tests/* [paths] source = murano [report] ignore_errors = True