From 0f5263c0278e4bc5d36bba7b42bd60f7f884010e Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Mon, 28 Jul 2014 14:40:51 -0500 Subject: [PATCH] Adding deps. --- awx/lib/site-packages/azure/__init__.py | 905 +++++++ awx/lib/site-packages/azure/http/__init__.py | 73 + .../site-packages/azure/http/batchclient.py | 339 +++ .../site-packages/azure/http/httpclient.py | 223 ++ awx/lib/site-packages/azure/http/winhttp.py | 471 ++++ .../azure/servicebus/__init__.py | 851 +++++++ .../azure/servicebus/servicebusservice.py | 914 +++++++ .../azure/servicemanagement/__init__.py | 1692 +++++++++++++ .../servicebusmanagementservice.py | 113 + .../servicemanagementclient.py | 166 ++ .../servicemanagementservice.py | 1754 +++++++++++++ .../site-packages/azure/storage/__init__.py | 913 +++++++ .../azure/storage/blobservice.py | 2225 +++++++++++++++++ .../azure/storage/cloudstorageaccount.py | 39 + .../azure/storage/queueservice.py | 458 ++++ .../azure/storage/sharedaccesssignature.py | 230 ++ .../azure/storage/storageclient.py | 152 ++ .../azure/storage/tableservice.py | 491 ++++ requirements/apache-libcloud-0.15.1.tar.gz | Bin 0 -> 725883 bytes requirements/azure-0.8.1.zip | Bin 0 -> 87355 bytes 20 files changed, 12009 insertions(+) create mode 100644 awx/lib/site-packages/azure/__init__.py create mode 100644 awx/lib/site-packages/azure/http/__init__.py create mode 100644 awx/lib/site-packages/azure/http/batchclient.py create mode 100644 awx/lib/site-packages/azure/http/httpclient.py create mode 100644 awx/lib/site-packages/azure/http/winhttp.py create mode 100644 awx/lib/site-packages/azure/servicebus/__init__.py create mode 100644 awx/lib/site-packages/azure/servicebus/servicebusservice.py create mode 100644 awx/lib/site-packages/azure/servicemanagement/__init__.py create mode 100644 awx/lib/site-packages/azure/servicemanagement/servicebusmanagementservice.py create mode 100644 awx/lib/site-packages/azure/servicemanagement/servicemanagementclient.py create mode 100644 awx/lib/site-packages/azure/servicemanagement/servicemanagementservice.py create mode 100644 awx/lib/site-packages/azure/storage/__init__.py create mode 100644 awx/lib/site-packages/azure/storage/blobservice.py create mode 100644 awx/lib/site-packages/azure/storage/cloudstorageaccount.py create mode 100644 awx/lib/site-packages/azure/storage/queueservice.py create mode 100644 awx/lib/site-packages/azure/storage/sharedaccesssignature.py create mode 100644 awx/lib/site-packages/azure/storage/storageclient.py create mode 100644 awx/lib/site-packages/azure/storage/tableservice.py create mode 100644 requirements/apache-libcloud-0.15.1.tar.gz create mode 100644 requirements/azure-0.8.1.zip diff --git a/awx/lib/site-packages/azure/__init__.py b/awx/lib/site-packages/azure/__init__.py new file mode 100644 index 0000000000..d3228953f5 --- /dev/null +++ b/awx/lib/site-packages/azure/__init__.py @@ -0,0 +1,905 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 ast +import base64 +import sys +import types +import warnings +if sys.version_info < (3,): + from urllib2 import quote as url_quote + from urllib2 import unquote as url_unquote + _strtype = basestring +else: + from urllib.parse import quote as url_quote + from urllib.parse import unquote as url_unquote + _strtype = str + +from datetime import datetime +from xml.dom import minidom +from xml.sax.saxutils import escape as xml_escape + +#-------------------------------------------------------------------------- +# constants + +__author__ = 'Microsoft Corp. ' +__version__ = '0.8.1' + +# Live ServiceClient URLs +BLOB_SERVICE_HOST_BASE = '.blob.core.windows.net' +QUEUE_SERVICE_HOST_BASE = '.queue.core.windows.net' +TABLE_SERVICE_HOST_BASE = '.table.core.windows.net' +SERVICE_BUS_HOST_BASE = '.servicebus.windows.net' +MANAGEMENT_HOST = 'management.core.windows.net' + +# Development ServiceClient URLs +DEV_BLOB_HOST = '127.0.0.1:10000' +DEV_QUEUE_HOST = '127.0.0.1:10001' +DEV_TABLE_HOST = '127.0.0.1:10002' + +# Default credentials for Development Storage Service +DEV_ACCOUNT_NAME = 'devstoreaccount1' +DEV_ACCOUNT_KEY = 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==' + +# All of our error messages +_ERROR_CANNOT_FIND_PARTITION_KEY = 'Cannot find partition key in request.' +_ERROR_CANNOT_FIND_ROW_KEY = 'Cannot find row key in request.' +_ERROR_INCORRECT_TABLE_IN_BATCH = \ + 'Table should be the same in a batch operations' +_ERROR_INCORRECT_PARTITION_KEY_IN_BATCH = \ + 'Partition Key should be the same in a batch operations' +_ERROR_DUPLICATE_ROW_KEY_IN_BATCH = \ + 'Row Keys should not be the same in a batch operations' +_ERROR_BATCH_COMMIT_FAIL = 'Batch Commit Fail' +_ERROR_MESSAGE_NOT_PEEK_LOCKED_ON_DELETE = \ + 'Message is not peek locked and cannot be deleted.' +_ERROR_MESSAGE_NOT_PEEK_LOCKED_ON_UNLOCK = \ + 'Message is not peek locked and cannot be unlocked.' +_ERROR_QUEUE_NOT_FOUND = 'Queue was not found' +_ERROR_TOPIC_NOT_FOUND = 'Topic was not found' +_ERROR_CONFLICT = 'Conflict ({0})' +_ERROR_NOT_FOUND = 'Not found ({0})' +_ERROR_UNKNOWN = 'Unknown error ({0})' +_ERROR_SERVICEBUS_MISSING_INFO = \ + 'You need to provide servicebus namespace, access key and Issuer' +_ERROR_STORAGE_MISSING_INFO = \ + 'You need to provide both account name and access key' +_ERROR_ACCESS_POLICY = \ + 'share_access_policy must be either SignedIdentifier or AccessPolicy ' + \ + 'instance' +_WARNING_VALUE_SHOULD_BE_BYTES = \ + 'Warning: {0} must be bytes data type. It will be converted ' + \ + 'automatically, with utf-8 text encoding.' +_ERROR_VALUE_SHOULD_BE_BYTES = '{0} should be of type bytes.' +_ERROR_VALUE_NONE = '{0} should not be None.' +_ERROR_VALUE_NEGATIVE = '{0} should not be negative.' +_ERROR_CANNOT_SERIALIZE_VALUE_TO_ENTITY = \ + 'Cannot serialize the specified value ({0}) to an entity. Please use ' + \ + 'an EntityProperty (which can specify custom types), int, str, bool, ' + \ + 'or datetime.' +_ERROR_PAGE_BLOB_SIZE_ALIGNMENT = \ + 'Invalid page blob size: {0}. ' + \ + 'The size must be aligned to a 512-byte boundary.' + +_USER_AGENT_STRING = 'pyazure/' + __version__ + +METADATA_NS = 'http://schemas.microsoft.com/ado/2007/08/dataservices/metadata' + + +class WindowsAzureData(object): + + ''' This is the base of data class. + It is only used to check whether it is instance or not. ''' + pass + + +class WindowsAzureError(Exception): + + ''' WindowsAzure Excpetion base class. ''' + + def __init__(self, message): + super(WindowsAzureError, self).__init__(message) + + +class WindowsAzureConflictError(WindowsAzureError): + + '''Indicates that the resource could not be created because it already + exists''' + + def __init__(self, message): + super(WindowsAzureConflictError, self).__init__(message) + + +class WindowsAzureMissingResourceError(WindowsAzureError): + + '''Indicates that a request for a request for a resource (queue, table, + container, etc...) failed because the specified resource does not exist''' + + def __init__(self, message): + super(WindowsAzureMissingResourceError, self).__init__(message) + + +class WindowsAzureBatchOperationError(WindowsAzureError): + + '''Indicates that a batch operation failed''' + + def __init__(self, message, code): + super(WindowsAzureBatchOperationError, self).__init__(message) + self.code = code + + +class Feed(object): + pass + + +class _Base64String(str): + pass + + +class HeaderDict(dict): + + def __getitem__(self, index): + return super(HeaderDict, self).__getitem__(index.lower()) + + +def _encode_base64(data): + if isinstance(data, _unicode_type): + data = data.encode('utf-8') + encoded = base64.b64encode(data) + return encoded.decode('utf-8') + + +def _decode_base64_to_bytes(data): + if isinstance(data, _unicode_type): + data = data.encode('utf-8') + return base64.b64decode(data) + + +def _decode_base64_to_text(data): + decoded_bytes = _decode_base64_to_bytes(data) + return decoded_bytes.decode('utf-8') + + +def _get_readable_id(id_name, id_prefix_to_skip): + """simplified an id to be more friendly for us people""" + # id_name is in the form 'https://namespace.host.suffix/name' + # where name may contain a forward slash! + pos = id_name.find('//') + if pos != -1: + pos += 2 + if id_prefix_to_skip: + pos = id_name.find(id_prefix_to_skip, pos) + if pos != -1: + pos += len(id_prefix_to_skip) + pos = id_name.find('/', pos) + if pos != -1: + return id_name[pos + 1:] + return id_name + + +def _get_entry_properties(xmlstr, include_id, id_prefix_to_skip=None): + ''' get properties from entry xml ''' + xmldoc = minidom.parseString(xmlstr) + properties = {} + + for entry in _get_child_nodes(xmldoc, 'entry'): + etag = entry.getAttributeNS(METADATA_NS, 'etag') + if etag: + properties['etag'] = etag + for updated in _get_child_nodes(entry, 'updated'): + properties['updated'] = updated.firstChild.nodeValue + for name in _get_children_from_path(entry, 'author', 'name'): + if name.firstChild is not None: + properties['author'] = name.firstChild.nodeValue + + if include_id: + for id in _get_child_nodes(entry, 'id'): + properties['name'] = _get_readable_id( + id.firstChild.nodeValue, id_prefix_to_skip) + + return properties + + +def _get_first_child_node_value(parent_node, node_name): + xml_attrs = _get_child_nodes(parent_node, node_name) + if xml_attrs: + xml_attr = xml_attrs[0] + if xml_attr.firstChild: + value = xml_attr.firstChild.nodeValue + return value + + +def _get_child_nodes(node, tagName): + return [childNode for childNode in node.getElementsByTagName(tagName) + if childNode.parentNode == node] + + +def _get_children_from_path(node, *path): + '''descends through a hierarchy of nodes returning the list of children + at the inner most level. Only returns children who share a common parent, + not cousins.''' + cur = node + for index, child in enumerate(path): + if isinstance(child, _strtype): + next = _get_child_nodes(cur, child) + else: + next = _get_child_nodesNS(cur, *child) + if index == len(path) - 1: + return next + elif not next: + break + + cur = next[0] + return [] + + +def _get_child_nodesNS(node, ns, tagName): + return [childNode for childNode in node.getElementsByTagNameNS(ns, tagName) + if childNode.parentNode == node] + + +def _create_entry(entry_body): + ''' Adds common part of entry to a given entry body and return the whole + xml. ''' + updated_str = datetime.utcnow().isoformat() + if datetime.utcnow().utcoffset() is None: + updated_str += '+00:00' + + entry_start = ''' + +<updated>{updated}</updated><author><name /></author><id /> +<content type="application/xml"> + {body}</content></entry>''' + return entry_start.format(updated=updated_str, body=entry_body) + + +def _to_datetime(strtime): + return datetime.strptime(strtime, "%Y-%m-%dT%H:%M:%S.%f") + +_KNOWN_SERIALIZATION_XFORMS = { + 'include_apis': 'IncludeAPIs', + 'message_id': 'MessageId', + 'content_md5': 'Content-MD5', + 'last_modified': 'Last-Modified', + 'cache_control': 'Cache-Control', + 'account_admin_live_email_id': 'AccountAdminLiveEmailId', + 'service_admin_live_email_id': 'ServiceAdminLiveEmailId', + 'subscription_id': 'SubscriptionID', + 'fqdn': 'FQDN', + 'private_id': 'PrivateID', + 'os_virtual_hard_disk': 'OSVirtualHardDisk', + 'logical_disk_size_in_gb': 'LogicalDiskSizeInGB', + 'logical_size_in_gb': 'LogicalSizeInGB', + 'os': 'OS', + 'persistent_vm_downtime_info': 'PersistentVMDowntimeInfo', + 'copy_id': 'CopyId', + } + + +def _get_serialization_name(element_name): + """converts a Python name into a serializable name""" + known = _KNOWN_SERIALIZATION_XFORMS.get(element_name) + if known is not None: + return known + + if element_name.startswith('x_ms_'): + return element_name.replace('_', '-') + if element_name.endswith('_id'): + element_name = element_name.replace('_id', 'ID') + for name in ['content_', 'last_modified', 'if_', 'cache_control']: + if element_name.startswith(name): + element_name = element_name.replace('_', '-_') + + return ''.join(name.capitalize() for name in element_name.split('_')) + +if sys.version_info < (3,): + _unicode_type = unicode + + def _str(value): + if isinstance(value, unicode): + return value.encode('utf-8') + + return str(value) +else: + _str = str + _unicode_type = str + + +def _str_or_none(value): + if value is None: + return None + + return _str(value) + + +def _int_or_none(value): + if value is None: + return None + + return str(int(value)) + + +def _bool_or_none(value): + if value is None: + return None + + if isinstance(value, bool): + if value: + return 'true' + else: + return 'false' + + return str(value) + + +def _convert_class_to_xml(source, xml_prefix=True): + if source is None: + return '' + + xmlstr = '' + if xml_prefix: + xmlstr = '<?xml version="1.0" encoding="utf-8"?>' + + if isinstance(source, list): + for value in source: + xmlstr += _convert_class_to_xml(value, False) + elif isinstance(source, WindowsAzureData): + class_name = source.__class__.__name__ + xmlstr += '<' + class_name + '>' + for name, value in vars(source).items(): + if value is not None: + if isinstance(value, list) or \ + isinstance(value, WindowsAzureData): + xmlstr += _convert_class_to_xml(value, False) + else: + xmlstr += ('<' + _get_serialization_name(name) + '>' + + xml_escape(str(value)) + '</' + + _get_serialization_name(name) + '>') + xmlstr += '</' + class_name + '>' + return xmlstr + + +def _find_namespaces_from_child(parent, child, namespaces): + """Recursively searches from the parent to the child, + gathering all the applicable namespaces along the way""" + for cur_child in parent.childNodes: + if cur_child is child: + return True + if _find_namespaces_from_child(cur_child, child, namespaces): + # we are the parent node + for key in cur_child.attributes.keys(): + if key.startswith('xmlns:') or key == 'xmlns': + namespaces[key] = cur_child.attributes[key] + break + return False + + +def _find_namespaces(parent, child): + res = {} + for key in parent.documentElement.attributes.keys(): + if key.startswith('xmlns:') or key == 'xmlns': + res[key] = parent.documentElement.attributes[key] + _find_namespaces_from_child(parent, child, res) + return res + + +def _clone_node_with_namespaces(node_to_clone, original_doc): + clone = node_to_clone.cloneNode(True) + + for key, value in _find_namespaces(original_doc, node_to_clone).items(): + clone.attributes[key] = value + + return clone + + +def _convert_response_to_feeds(response, convert_func): + if response is None: + return None + + feeds = _list_of(Feed) + + x_ms_continuation = HeaderDict() + for name, value in response.headers: + if 'x-ms-continuation' in name: + x_ms_continuation[name[len('x-ms-continuation') + 1:]] = value + if x_ms_continuation: + setattr(feeds, 'x_ms_continuation', x_ms_continuation) + + xmldoc = minidom.parseString(response.body) + xml_entries = _get_children_from_path(xmldoc, 'feed', 'entry') + if not xml_entries: + # in some cases, response contains only entry but no feed + xml_entries = _get_children_from_path(xmldoc, 'entry') + for xml_entry in xml_entries: + new_node = _clone_node_with_namespaces(xml_entry, xmldoc) + feeds.append(convert_func(new_node.toxml('utf-8'))) + + return feeds + + +def _validate_type_bytes(param_name, param): + if not isinstance(param, bytes): + raise TypeError(_ERROR_VALUE_SHOULD_BE_BYTES.format(param_name)) + + +def _validate_not_none(param_name, param): + if param is None: + raise TypeError(_ERROR_VALUE_NONE.format(param_name)) + + +def _fill_list_of(xmldoc, element_type, xml_element_name): + xmlelements = _get_child_nodes(xmldoc, xml_element_name) + return [_parse_response_body_from_xml_node(xmlelement, element_type) \ + for xmlelement in xmlelements] + + +def _fill_scalar_list_of(xmldoc, element_type, parent_xml_element_name, + xml_element_name): + '''Converts an xml fragment into a list of scalar types. The parent xml + element contains a flat list of xml elements which are converted into the + specified scalar type and added to the list. + Example: + xmldoc= +<Endpoints> + <Endpoint>http://{storage-service-name}.blob.core.windows.net/</Endpoint> + <Endpoint>http://{storage-service-name}.queue.core.windows.net/</Endpoint> + <Endpoint>http://{storage-service-name}.table.core.windows.net/</Endpoint> +</Endpoints> + element_type=str + parent_xml_element_name='Endpoints' + xml_element_name='Endpoint' + ''' + xmlelements = _get_child_nodes(xmldoc, parent_xml_element_name) + if xmlelements: + xmlelements = _get_child_nodes(xmlelements[0], xml_element_name) + return [_get_node_value(xmlelement, element_type) \ + for xmlelement in xmlelements] + + +def _fill_dict(xmldoc, element_name): + xmlelements = _get_child_nodes(xmldoc, element_name) + if xmlelements: + return_obj = {} + for child in xmlelements[0].childNodes: + if child.firstChild: + return_obj[child.nodeName] = child.firstChild.nodeValue + return return_obj + + +def _fill_dict_of(xmldoc, parent_xml_element_name, pair_xml_element_name, + key_xml_element_name, value_xml_element_name): + '''Converts an xml fragment into a dictionary. The parent xml element + contains a list of xml elements where each element has a child element for + the key, and another for the value. + Example: + xmldoc= +<ExtendedProperties> + <ExtendedProperty> + <Name>Ext1</Name> + <Value>Val1</Value> + </ExtendedProperty> + <ExtendedProperty> + <Name>Ext2</Name> + <Value>Val2</Value> + </ExtendedProperty> +</ExtendedProperties> + element_type=str + parent_xml_element_name='ExtendedProperties' + pair_xml_element_name='ExtendedProperty' + key_xml_element_name='Name' + value_xml_element_name='Value' + ''' + return_obj = {} + + xmlelements = _get_child_nodes(xmldoc, parent_xml_element_name) + if xmlelements: + xmlelements = _get_child_nodes(xmlelements[0], pair_xml_element_name) + for pair in xmlelements: + keys = _get_child_nodes(pair, key_xml_element_name) + values = _get_child_nodes(pair, value_xml_element_name) + if keys and values: + key = keys[0].firstChild.nodeValue + value = values[0].firstChild.nodeValue + return_obj[key] = value + + return return_obj + + +def _fill_instance_child(xmldoc, element_name, return_type): + '''Converts a child of the current dom element to the specified type. + ''' + xmlelements = _get_child_nodes( + xmldoc, _get_serialization_name(element_name)) + + if not xmlelements: + return None + + return_obj = return_type() + _fill_data_to_return_object(xmlelements[0], return_obj) + + return return_obj + + +def _fill_instance_element(element, return_type): + """Converts a DOM element into the specified object""" + return _parse_response_body_from_xml_node(element, return_type) + + +def _fill_data_minidom(xmldoc, element_name, data_member): + xmlelements = _get_child_nodes( + xmldoc, _get_serialization_name(element_name)) + + if not xmlelements or not xmlelements[0].childNodes: + return None + + value = xmlelements[0].firstChild.nodeValue + + if data_member is None: + return value + elif isinstance(data_member, datetime): + return _to_datetime(value) + elif type(data_member) is bool: + return value.lower() != 'false' + else: + return type(data_member)(value) + + +def _get_node_value(xmlelement, data_type): + value = xmlelement.firstChild.nodeValue + if data_type is datetime: + return _to_datetime(value) + elif data_type is bool: + return value.lower() != 'false' + else: + return data_type(value) + + +def _get_request_body_bytes_only(param_name, param_value): + '''Validates the request body passed in and converts it to bytes + if our policy allows it.''' + if param_value is None: + return b'' + + if isinstance(param_value, bytes): + return param_value + + # Previous versions of the SDK allowed data types other than bytes to be + # passed in, and they would be auto-converted to bytes. We preserve this + # behavior when running under 2.7, but issue a warning. + # Python 3 support is new, so we reject anything that's not bytes. + if sys.version_info < (3,): + warnings.warn(_WARNING_VALUE_SHOULD_BE_BYTES.format(param_name)) + return _get_request_body(param_value) + + raise TypeError(_ERROR_VALUE_SHOULD_BE_BYTES.format(param_name)) + + +def _get_request_body(request_body): + '''Converts an object into a request body. If it's None + we'll return an empty string, if it's one of our objects it'll + convert it to XML and return it. Otherwise we just use the object + directly''' + if request_body is None: + return b'' + + if isinstance(request_body, WindowsAzureData): + request_body = _convert_class_to_xml(request_body) + + if isinstance(request_body, bytes): + return request_body + + if isinstance(request_body, _unicode_type): + return request_body.encode('utf-8') + + request_body = str(request_body) + if isinstance(request_body, _unicode_type): + return request_body.encode('utf-8') + + return request_body + + +def _parse_enum_results_list(response, return_type, resp_type, item_type): + """resp_body is the XML we received +resp_type is a string, such as Containers, +return_type is the type we're constructing, such as ContainerEnumResults +item_type is the type object of the item to be created, such as Container + +This function then returns a ContainerEnumResults object with the +containers member populated with the results. +""" + + # parsing something like: + # <EnumerationResults ... > + # <Queues> + # <Queue> + # <Something /> + # <SomethingElse /> + # </Queue> + # </Queues> + # </EnumerationResults> + respbody = response.body + return_obj = return_type() + doc = minidom.parseString(respbody) + + items = [] + for enum_results in _get_child_nodes(doc, 'EnumerationResults'): + # path is something like Queues, Queue + for child in _get_children_from_path(enum_results, + resp_type, + resp_type[:-1]): + items.append(_fill_instance_element(child, item_type)) + + for name, value in vars(return_obj).items(): + # queues, Queues, this is the list its self which we populated + # above + if name == resp_type.lower(): + # the list its self. + continue + value = _fill_data_minidom(enum_results, name, value) + if value is not None: + setattr(return_obj, name, value) + + setattr(return_obj, resp_type.lower(), items) + return return_obj + + +def _parse_simple_list(response, type, item_type, list_name): + respbody = response.body + res = type() + res_items = [] + doc = minidom.parseString(respbody) + type_name = type.__name__ + item_name = item_type.__name__ + for item in _get_children_from_path(doc, type_name, item_name): + res_items.append(_fill_instance_element(item, item_type)) + + setattr(res, list_name, res_items) + return res + + +def _parse_response(response, return_type): + ''' + Parse the HTTPResponse's body and fill all the data into a class of + return_type. + ''' + return _parse_response_body_from_xml_text(response.body, return_type) + + +def _fill_data_to_return_object(node, return_obj): + members = dict(vars(return_obj)) + for name, value in members.items(): + if isinstance(value, _list_of): + setattr(return_obj, + name, + _fill_list_of(node, + value.list_type, + value.xml_element_name)) + elif isinstance(value, _scalar_list_of): + setattr(return_obj, + name, + _fill_scalar_list_of(node, + value.list_type, + _get_serialization_name(name), + value.xml_element_name)) + elif isinstance(value, _dict_of): + setattr(return_obj, + name, + _fill_dict_of(node, + _get_serialization_name(name), + value.pair_xml_element_name, + value.key_xml_element_name, + value.value_xml_element_name)) + elif isinstance(value, WindowsAzureData): + setattr(return_obj, + name, + _fill_instance_child(node, name, value.__class__)) + elif isinstance(value, dict): + setattr(return_obj, + name, + _fill_dict(node, _get_serialization_name(name))) + elif isinstance(value, _Base64String): + value = _fill_data_minidom(node, name, '') + if value is not None: + value = _decode_base64_to_text(value) + # always set the attribute, so we don't end up returning an object + # with type _Base64String + setattr(return_obj, name, value) + else: + value = _fill_data_minidom(node, name, value) + if value is not None: + setattr(return_obj, name, value) + + +def _parse_response_body_from_xml_node(node, return_type): + ''' + parse the xml and fill all the data into a class of return_type + ''' + return_obj = return_type() + _fill_data_to_return_object(node, return_obj) + + return return_obj + + +def _parse_response_body_from_xml_text(respbody, return_type): + ''' + parse the xml and fill all the data into a class of return_type + ''' + doc = minidom.parseString(respbody) + return_obj = return_type() + for node in _get_child_nodes(doc, return_type.__name__): + _fill_data_to_return_object(node, return_obj) + + return return_obj + + +class _dict_of(dict): + + """a dict which carries with it the xml element names for key,val. + Used for deserializaion and construction of the lists""" + + def __init__(self, pair_xml_element_name, key_xml_element_name, + value_xml_element_name): + self.pair_xml_element_name = pair_xml_element_name + self.key_xml_element_name = key_xml_element_name + self.value_xml_element_name = value_xml_element_name + super(_dict_of, self).__init__() + + +class _list_of(list): + + """a list which carries with it the type that's expected to go in it. + Used for deserializaion and construction of the lists""" + + def __init__(self, list_type, xml_element_name=None): + self.list_type = list_type + if xml_element_name is None: + self.xml_element_name = list_type.__name__ + else: + self.xml_element_name = xml_element_name + super(_list_of, self).__init__() + + +class _scalar_list_of(list): + + """a list of scalar types which carries with it the type that's + expected to go in it along with its xml element name. + Used for deserializaion and construction of the lists""" + + def __init__(self, list_type, xml_element_name): + self.list_type = list_type + self.xml_element_name = xml_element_name + super(_scalar_list_of, self).__init__() + + +def _update_request_uri_query_local_storage(request, use_local_storage): + ''' create correct uri and query for the request ''' + uri, query = _update_request_uri_query(request) + if use_local_storage: + return '/' + DEV_ACCOUNT_NAME + uri, query + return uri, query + + +def _update_request_uri_query(request): + '''pulls the query string out of the URI and moves it into + the query portion of the request object. If there are already + query parameters on the request the parameters in the URI will + appear after the existing parameters''' + + if '?' in request.path: + request.path, _, query_string = request.path.partition('?') + if query_string: + query_params = query_string.split('&') + for query in query_params: + if '=' in query: + name, _, value = query.partition('=') + request.query.append((name, value)) + + request.path = url_quote(request.path, '/()$=\',') + + # add encoded queries to request.path. + if request.query: + request.path += '?' + for name, value in request.query: + if value is not None: + request.path += name + '=' + url_quote(value, '/()$=\',') + '&' + request.path = request.path[:-1] + + return request.path, request.query + + +def _dont_fail_on_exist(error): + ''' don't throw exception if the resource exists. + This is called by create_* APIs with fail_on_exist=False''' + if isinstance(error, WindowsAzureConflictError): + return False + else: + raise error + + +def _dont_fail_not_exist(error): + ''' don't throw exception if the resource doesn't exist. + This is called by create_* APIs with fail_on_exist=False''' + if isinstance(error, WindowsAzureMissingResourceError): + return False + else: + raise error + + +def _general_error_handler(http_error): + ''' Simple error handler for azure.''' + if http_error.status == 409: + raise WindowsAzureConflictError( + _ERROR_CONFLICT.format(str(http_error))) + elif http_error.status == 404: + raise WindowsAzureMissingResourceError( + _ERROR_NOT_FOUND.format(str(http_error))) + else: + if http_error.respbody is not None: + raise WindowsAzureError( + _ERROR_UNKNOWN.format(str(http_error)) + '\n' + \ + http_error.respbody.decode('utf-8')) + else: + raise WindowsAzureError(_ERROR_UNKNOWN.format(str(http_error))) + + +def _parse_response_for_dict(response): + ''' Extracts name-values from response header. Filter out the standard + http headers.''' + + if response is None: + return None + http_headers = ['server', 'date', 'location', 'host', + 'via', 'proxy-connection', 'connection'] + return_dict = HeaderDict() + if response.headers: + for name, value in response.headers: + if not name.lower() in http_headers: + return_dict[name] = value + + return return_dict + + +def _parse_response_for_dict_prefix(response, prefixes): + ''' Extracts name-values for names starting with prefix from response + header. Filter out the standard http headers.''' + + if response is None: + return None + return_dict = {} + orig_dict = _parse_response_for_dict(response) + if orig_dict: + for name, value in orig_dict.items(): + for prefix_value in prefixes: + if name.lower().startswith(prefix_value.lower()): + return_dict[name] = value + break + return return_dict + else: + return None + + +def _parse_response_for_dict_filter(response, filter): + ''' Extracts name-values for names in filter from response header. Filter + out the standard http headers.''' + if response is None: + return None + return_dict = {} + orig_dict = _parse_response_for_dict(response) + if orig_dict: + for name, value in orig_dict.items(): + if name.lower() in filter: + return_dict[name] = value + return return_dict + else: + return None diff --git a/awx/lib/site-packages/azure/http/__init__.py b/awx/lib/site-packages/azure/http/__init__.py new file mode 100644 index 0000000000..3bc1e258db --- /dev/null +++ b/awx/lib/site-packages/azure/http/__init__.py @@ -0,0 +1,73 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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. +#-------------------------------------------------------------------------- + +HTTP_RESPONSE_NO_CONTENT = 204 + + +class HTTPError(Exception): + + ''' HTTP Exception when response status code >= 300 ''' + + def __init__(self, status, message, respheader, respbody): + '''Creates a new HTTPError with the specified status, message, + response headers and body''' + self.status = status + self.respheader = respheader + self.respbody = respbody + Exception.__init__(self, message) + + +class HTTPResponse(object): + + """Represents a response from an HTTP request. An HTTPResponse has the + following attributes: + + status: the status code of the response + message: the message + headers: the returned headers, as a list of (name, value) pairs + body: the body of the response + """ + + def __init__(self, status, message, headers, body): + self.status = status + self.message = message + self.headers = headers + self.body = body + + +class HTTPRequest(object): + + '''Represents an HTTP Request. An HTTP Request consists of the following + attributes: + + host: the host name to connect to + method: the method to use to connect (string such as GET, POST, PUT, etc.) + path: the uri fragment + query: query parameters specified as a list of (name, value) pairs + headers: header values specified as (name, value) pairs + body: the body of the request. + protocol_override: + specify to use this protocol instead of the global one stored in + _HTTPClient. + ''' + + def __init__(self): + self.host = '' + self.method = '' + self.path = '' + self.query = [] # list of (name, value) + self.headers = [] # list of (header name, header value) + self.body = '' + self.protocol_override = None diff --git a/awx/lib/site-packages/azure/http/batchclient.py b/awx/lib/site-packages/azure/http/batchclient.py new file mode 100644 index 0000000000..0e6d60d3bb --- /dev/null +++ b/awx/lib/site-packages/azure/http/batchclient.py @@ -0,0 +1,339 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 sys +import uuid + +from azure import ( + _update_request_uri_query, + WindowsAzureError, + WindowsAzureBatchOperationError, + _get_children_from_path, + url_unquote, + _ERROR_CANNOT_FIND_PARTITION_KEY, + _ERROR_CANNOT_FIND_ROW_KEY, + _ERROR_INCORRECT_TABLE_IN_BATCH, + _ERROR_INCORRECT_PARTITION_KEY_IN_BATCH, + _ERROR_DUPLICATE_ROW_KEY_IN_BATCH, + _ERROR_BATCH_COMMIT_FAIL, + ) +from azure.http import HTTPError, HTTPRequest, HTTPResponse +from azure.http.httpclient import _HTTPClient +from azure.storage import ( + _update_storage_table_header, + METADATA_NS, + _sign_storage_table_request, + ) +from xml.dom import minidom + +_DATASERVICES_NS = 'http://schemas.microsoft.com/ado/2007/08/dataservices' + +if sys.version_info < (3,): + def _new_boundary(): + return str(uuid.uuid1()) +else: + def _new_boundary(): + return str(uuid.uuid1()).encode('utf-8') + + +class _BatchClient(_HTTPClient): + + ''' + This is the class that is used for batch operation for storage table + service. It only supports one changeset. + ''' + + def __init__(self, service_instance, account_key, account_name, + protocol='http'): + _HTTPClient.__init__(self, service_instance, account_name=account_name, + account_key=account_key, protocol=protocol) + self.is_batch = False + self.batch_requests = [] + self.batch_table = '' + self.batch_partition_key = '' + self.batch_row_keys = [] + + def get_request_table(self, request): + ''' + Extracts table name from request.uri. The request.uri has either + "/mytable(...)" or "/mytable" format. + + request: the request to insert, update or delete entity + ''' + if '(' in request.path: + pos = request.path.find('(') + return request.path[1:pos] + else: + return request.path[1:] + + def get_request_partition_key(self, request): + ''' + Extracts PartitionKey from request.body if it is a POST request or from + request.path if it is not a POST request. Only insert operation request + is a POST request and the PartitionKey is in the request body. + + request: the request to insert, update or delete entity + ''' + if request.method == 'POST': + doc = minidom.parseString(request.body) + part_key = _get_children_from_path( + doc, 'entry', 'content', (METADATA_NS, 'properties'), + (_DATASERVICES_NS, 'PartitionKey')) + if not part_key: + raise WindowsAzureError(_ERROR_CANNOT_FIND_PARTITION_KEY) + return part_key[0].firstChild.nodeValue + else: + uri = url_unquote(request.path) + pos1 = uri.find('PartitionKey=\'') + pos2 = uri.find('\',', pos1) + if pos1 == -1 or pos2 == -1: + raise WindowsAzureError(_ERROR_CANNOT_FIND_PARTITION_KEY) + return uri[pos1 + len('PartitionKey=\''):pos2] + + def get_request_row_key(self, request): + ''' + Extracts RowKey from request.body if it is a POST request or from + request.path if it is not a POST request. Only insert operation request + is a POST request and the Rowkey is in the request body. + + request: the request to insert, update or delete entity + ''' + if request.method == 'POST': + doc = minidom.parseString(request.body) + row_key = _get_children_from_path( + doc, 'entry', 'content', (METADATA_NS, 'properties'), + (_DATASERVICES_NS, 'RowKey')) + if not row_key: + raise WindowsAzureError(_ERROR_CANNOT_FIND_ROW_KEY) + return row_key[0].firstChild.nodeValue + else: + uri = url_unquote(request.path) + pos1 = uri.find('RowKey=\'') + pos2 = uri.find('\')', pos1) + if pos1 == -1 or pos2 == -1: + raise WindowsAzureError(_ERROR_CANNOT_FIND_ROW_KEY) + row_key = uri[pos1 + len('RowKey=\''):pos2] + return row_key + + def validate_request_table(self, request): + ''' + Validates that all requests have the same table name. Set the table + name if it is the first request for the batch operation. + + request: the request to insert, update or delete entity + ''' + if self.batch_table: + if self.get_request_table(request) != self.batch_table: + raise WindowsAzureError(_ERROR_INCORRECT_TABLE_IN_BATCH) + else: + self.batch_table = self.get_request_table(request) + + def validate_request_partition_key(self, request): + ''' + Validates that all requests have the same PartitiionKey. Set the + PartitionKey if it is the first request for the batch operation. + + request: the request to insert, update or delete entity + ''' + if self.batch_partition_key: + if self.get_request_partition_key(request) != \ + self.batch_partition_key: + raise WindowsAzureError(_ERROR_INCORRECT_PARTITION_KEY_IN_BATCH) + else: + self.batch_partition_key = self.get_request_partition_key(request) + + def validate_request_row_key(self, request): + ''' + Validates that all requests have the different RowKey and adds RowKey + to existing RowKey list. + + request: the request to insert, update or delete entity + ''' + if self.batch_row_keys: + if self.get_request_row_key(request) in self.batch_row_keys: + raise WindowsAzureError(_ERROR_DUPLICATE_ROW_KEY_IN_BATCH) + else: + self.batch_row_keys.append(self.get_request_row_key(request)) + + def begin_batch(self): + ''' + Starts the batch operation. Intializes the batch variables + + is_batch: batch operation flag. + batch_table: the table name of the batch operation + batch_partition_key: the PartitionKey of the batch requests. + batch_row_keys: the RowKey list of adding requests. + batch_requests: the list of the requests. + ''' + self.is_batch = True + self.batch_table = '' + self.batch_partition_key = '' + self.batch_row_keys = [] + self.batch_requests = [] + + def insert_request_to_batch(self, request): + ''' + Adds request to batch operation. + + request: the request to insert, update or delete entity + ''' + self.validate_request_table(request) + self.validate_request_partition_key(request) + self.validate_request_row_key(request) + self.batch_requests.append(request) + + def commit_batch(self): + ''' Resets batch flag and commits the batch requests. ''' + if self.is_batch: + self.is_batch = False + self.commit_batch_requests() + + def commit_batch_requests(self): + ''' Commits the batch requests. ''' + + batch_boundary = b'batch_' + _new_boundary() + changeset_boundary = b'changeset_' + _new_boundary() + + # Commits batch only the requests list is not empty. + if self.batch_requests: + request = HTTPRequest() + request.method = 'POST' + request.host = self.batch_requests[0].host + request.path = '/$batch' + request.headers = [ + ('Content-Type', 'multipart/mixed; boundary=' + \ + batch_boundary.decode('utf-8')), + ('Accept', 'application/atom+xml,application/xml'), + ('Accept-Charset', 'UTF-8')] + + request.body = b'--' + batch_boundary + b'\n' + request.body += b'Content-Type: multipart/mixed; boundary=' + request.body += changeset_boundary + b'\n\n' + + content_id = 1 + + # Adds each request body to the POST data. + for batch_request in self.batch_requests: + request.body += b'--' + changeset_boundary + b'\n' + request.body += b'Content-Type: application/http\n' + request.body += b'Content-Transfer-Encoding: binary\n\n' + request.body += batch_request.method.encode('utf-8') + request.body += b' http://' + request.body += batch_request.host.encode('utf-8') + request.body += batch_request.path.encode('utf-8') + request.body += b' HTTP/1.1\n' + request.body += b'Content-ID: ' + request.body += str(content_id).encode('utf-8') + b'\n' + content_id += 1 + + # Add different headers for different type requests. + if not batch_request.method == 'DELETE': + request.body += \ + b'Content-Type: application/atom+xml;type=entry\n' + for name, value in batch_request.headers: + if name == 'If-Match': + request.body += name.encode('utf-8') + b': ' + request.body += value.encode('utf-8') + b'\n' + break + request.body += b'Content-Length: ' + request.body += str(len(batch_request.body)).encode('utf-8') + request.body += b'\n\n' + request.body += batch_request.body + b'\n' + else: + for name, value in batch_request.headers: + # If-Match should be already included in + # batch_request.headers, but in case it is missing, + # just add it. + if name == 'If-Match': + request.body += name.encode('utf-8') + b': ' + request.body += value.encode('utf-8') + b'\n\n' + break + else: + request.body += b'If-Match: *\n\n' + + request.body += b'--' + changeset_boundary + b'--' + b'\n' + request.body += b'--' + batch_boundary + b'--' + + request.path, request.query = _update_request_uri_query(request) + request.headers = _update_storage_table_header(request) + auth = _sign_storage_table_request(request, + self.account_name, + self.account_key) + request.headers.append(('Authorization', auth)) + + # Submit the whole request as batch request. + response = self.perform_request(request) + if response.status >= 300: + raise HTTPError(response.status, + _ERROR_BATCH_COMMIT_FAIL, + self.respheader, + response.body) + + # http://www.odata.org/documentation/odata-version-2-0/batch-processing/ + # The body of a ChangeSet response is either a response for all the + # successfully processed change request within the ChangeSet, + # formatted exactly as it would have appeared outside of a batch, + # or a single response indicating a failure of the entire ChangeSet. + responses = self._parse_batch_response(response.body) + if responses and responses[0].status >= 300: + self._report_batch_error(responses[0]) + + def cancel_batch(self): + ''' Resets the batch flag. ''' + self.is_batch = False + + def _parse_batch_response(self, body): + parts = body.split(b'--changesetresponse_') + + responses = [] + for part in parts: + httpLocation = part.find(b'HTTP/') + if httpLocation > 0: + response = self._parse_batch_response_part(part[httpLocation:]) + responses.append(response) + + return responses + + def _parse_batch_response_part(self, part): + lines = part.splitlines(); + + # First line is the HTTP status/reason + status, _, reason = lines[0].partition(b' ')[2].partition(b' ') + + # Followed by headers and body + headers = [] + body = b'' + isBody = False + for line in lines[1:]: + if line == b'' and not isBody: + isBody = True + elif isBody: + body += line + else: + headerName, _, headerVal = line.partition(b':') + headers.append((headerName.lower(), headerVal)) + + return HTTPResponse(int(status), reason.strip(), headers, body) + + def _report_batch_error(self, response): + xml = response.body.decode('utf-8') + doc = minidom.parseString(xml) + + n = _get_children_from_path(doc, (METADATA_NS, 'error'), 'code') + code = n[0].firstChild.nodeValue if n and n[0].firstChild else '' + + n = _get_children_from_path(doc, (METADATA_NS, 'error'), 'message') + message = n[0].firstChild.nodeValue if n and n[0].firstChild else xml + + raise WindowsAzureBatchOperationError(message, code) diff --git a/awx/lib/site-packages/azure/http/httpclient.py b/awx/lib/site-packages/azure/http/httpclient.py new file mode 100644 index 0000000000..662d60e92c --- /dev/null +++ b/awx/lib/site-packages/azure/http/httpclient.py @@ -0,0 +1,223 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 base64 +import os +import sys + +if sys.version_info < (3,): + from httplib import ( + HTTPSConnection, + HTTPConnection, + HTTP_PORT, + HTTPS_PORT, + ) + from urlparse import urlparse +else: + from http.client import ( + HTTPSConnection, + HTTPConnection, + HTTP_PORT, + HTTPS_PORT, + ) + from urllib.parse import urlparse + +from azure.http import HTTPError, HTTPResponse +from azure import _USER_AGENT_STRING, _update_request_uri_query + + +class _HTTPClient(object): + + ''' + Takes the request and sends it to cloud service and returns the response. + ''' + + def __init__(self, service_instance, cert_file=None, account_name=None, + account_key=None, service_namespace=None, issuer=None, + protocol='https'): + ''' + service_instance: service client instance. + cert_file: + certificate file name/location. This is only used in hosted + service management. + account_name: the storage account. + account_key: + the storage account access key for storage services or servicebus + access key for service bus service. + service_namespace: the service namespace for service bus. + issuer: the issuer for service bus service. + ''' + self.service_instance = service_instance + self.status = None + self.respheader = None + self.message = None + self.cert_file = cert_file + self.account_name = account_name + self.account_key = account_key + self.service_namespace = service_namespace + self.issuer = issuer + self.protocol = protocol + self.proxy_host = None + self.proxy_port = None + self.proxy_user = None + self.proxy_password = None + self.use_httplib = self.should_use_httplib() + + def should_use_httplib(self): + if sys.platform.lower().startswith('win') and self.cert_file: + # On Windows, auto-detect between Windows Store Certificate + # (winhttp) and OpenSSL .pem certificate file (httplib). + # + # We used to only support certificates installed in the Windows + # Certificate Store. + # cert_file example: CURRENT_USER\my\CertificateName + # + # We now support using an OpenSSL .pem certificate file, + # for a consistent experience across all platforms. + # cert_file example: account\certificate.pem + # + # When using OpenSSL .pem certificate file on Windows, make sure + # you are on CPython 2.7.4 or later. + + # If it's not an existing file on disk, then treat it as a path in + # the Windows Certificate Store, which means we can't use httplib. + if not os.path.isfile(self.cert_file): + return False + + return True + + def set_proxy(self, host, port, user, password): + ''' + Sets the proxy server host and port for the HTTP CONNECT Tunnelling. + + host: Address of the proxy. Ex: '192.168.0.100' + port: Port of the proxy. Ex: 6000 + user: User for proxy authorization. + password: Password for proxy authorization. + ''' + self.proxy_host = host + self.proxy_port = port + self.proxy_user = user + self.proxy_password = password + + def get_connection(self, request): + ''' Create connection for the request. ''' + protocol = request.protocol_override \ + if request.protocol_override else self.protocol + target_host = request.host + target_port = HTTP_PORT if protocol == 'http' else HTTPS_PORT + + if not self.use_httplib: + import azure.http.winhttp + connection = azure.http.winhttp._HTTPConnection( + target_host, cert_file=self.cert_file, protocol=protocol) + proxy_host = self.proxy_host + proxy_port = self.proxy_port + else: + if ':' in target_host: + target_host, _, target_port = target_host.rpartition(':') + if self.proxy_host: + proxy_host = target_host + proxy_port = target_port + host = self.proxy_host + port = self.proxy_port + else: + host = target_host + port = target_port + + if protocol == 'http': + connection = HTTPConnection(host, int(port)) + else: + connection = HTTPSConnection( + host, int(port), cert_file=self.cert_file) + + if self.proxy_host: + headers = None + if self.proxy_user and self.proxy_password: + auth = base64.encodestring( + "{0}:{1}".format(self.proxy_user, self.proxy_password)) + headers = {'Proxy-Authorization': 'Basic {0}'.format(auth)} + connection.set_tunnel(proxy_host, int(proxy_port), headers) + + return connection + + def send_request_headers(self, connection, request_headers): + if self.use_httplib: + if self.proxy_host: + for i in connection._buffer: + if i.startswith("Host: "): + connection._buffer.remove(i) + connection.putheader( + 'Host', "{0}:{1}".format(connection._tunnel_host, + connection._tunnel_port)) + + for name, value in request_headers: + if value: + connection.putheader(name, value) + + connection.putheader('User-Agent', _USER_AGENT_STRING) + connection.endheaders() + + def send_request_body(self, connection, request_body): + if request_body: + assert isinstance(request_body, bytes) + connection.send(request_body) + elif (not isinstance(connection, HTTPSConnection) and + not isinstance(connection, HTTPConnection)): + connection.send(None) + + def perform_request(self, request): + ''' Sends request to cloud service server and return the response. ''' + connection = self.get_connection(request) + try: + connection.putrequest(request.method, request.path) + + if not self.use_httplib: + if self.proxy_host and self.proxy_user: + connection.set_proxy_credentials( + self.proxy_user, self.proxy_password) + + self.send_request_headers(connection, request.headers) + self.send_request_body(connection, request.body) + + resp = connection.getresponse() + self.status = int(resp.status) + self.message = resp.reason + self.respheader = headers = resp.getheaders() + + # for consistency across platforms, make header names lowercase + for i, value in enumerate(headers): + headers[i] = (value[0].lower(), value[1]) + + respbody = None + if resp.length is None: + respbody = resp.read() + elif resp.length > 0: + respbody = resp.read(resp.length) + + response = HTTPResponse( + int(resp.status), resp.reason, headers, respbody) + if self.status == 307: + new_url = urlparse(dict(headers)['location']) + request.host = new_url.hostname + request.path = new_url.path + request.path, request.query = _update_request_uri_query(request) + return self.perform_request(request) + if self.status >= 300: + raise HTTPError(self.status, self.message, + self.respheader, respbody) + + return response + finally: + connection.close() diff --git a/awx/lib/site-packages/azure/http/winhttp.py b/awx/lib/site-packages/azure/http/winhttp.py new file mode 100644 index 0000000000..86790333fc --- /dev/null +++ b/awx/lib/site-packages/azure/http/winhttp.py @@ -0,0 +1,471 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 ctypes import ( + c_void_p, + c_long, + c_ulong, + c_longlong, + c_ulonglong, + c_short, + c_ushort, + c_wchar_p, + c_byte, + byref, + Structure, + Union, + POINTER, + WINFUNCTYPE, + HRESULT, + oledll, + WinDLL, + ) +import ctypes +import sys + +if sys.version_info >= (3,): + def unicode(text): + return text + +#------------------------------------------------------------------------------ +# Constants that are used in COM operations +VT_EMPTY = 0 +VT_NULL = 1 +VT_I2 = 2 +VT_I4 = 3 +VT_BSTR = 8 +VT_BOOL = 11 +VT_I1 = 16 +VT_UI1 = 17 +VT_UI2 = 18 +VT_UI4 = 19 +VT_I8 = 20 +VT_UI8 = 21 +VT_ARRAY = 8192 + +HTTPREQUEST_PROXYSETTING_PROXY = 2 +HTTPREQUEST_SETCREDENTIALS_FOR_PROXY = 1 + +HTTPREQUEST_PROXY_SETTING = c_long +HTTPREQUEST_SETCREDENTIALS_FLAGS = c_long +#------------------------------------------------------------------------------ +# Com related APIs that are used. +_ole32 = oledll.ole32 +_oleaut32 = WinDLL('oleaut32') +_CLSIDFromString = _ole32.CLSIDFromString +_CoInitialize = _ole32.CoInitialize +_CoInitialize.argtypes = [c_void_p] + +_CoCreateInstance = _ole32.CoCreateInstance + +_SysAllocString = _oleaut32.SysAllocString +_SysAllocString.restype = c_void_p +_SysAllocString.argtypes = [c_wchar_p] + +_SysFreeString = _oleaut32.SysFreeString +_SysFreeString.argtypes = [c_void_p] + +# SAFEARRAY* +# SafeArrayCreateVector(_In_ VARTYPE vt,_In_ LONG lLbound,_In_ ULONG +# cElements); +_SafeArrayCreateVector = _oleaut32.SafeArrayCreateVector +_SafeArrayCreateVector.restype = c_void_p +_SafeArrayCreateVector.argtypes = [c_ushort, c_long, c_ulong] + +# HRESULT +# SafeArrayAccessData(_In_ SAFEARRAY *psa, _Out_ void **ppvData); +_SafeArrayAccessData = _oleaut32.SafeArrayAccessData +_SafeArrayAccessData.argtypes = [c_void_p, POINTER(c_void_p)] + +# HRESULT +# SafeArrayUnaccessData(_In_ SAFEARRAY *psa); +_SafeArrayUnaccessData = _oleaut32.SafeArrayUnaccessData +_SafeArrayUnaccessData.argtypes = [c_void_p] + +# HRESULT +# SafeArrayGetUBound(_In_ SAFEARRAY *psa, _In_ UINT nDim, _Out_ LONG +# *plUbound); +_SafeArrayGetUBound = _oleaut32.SafeArrayGetUBound +_SafeArrayGetUBound.argtypes = [c_void_p, c_ulong, POINTER(c_long)] + + +#------------------------------------------------------------------------------ + +class BSTR(c_wchar_p): + + ''' BSTR class in python. ''' + + def __init__(self, value): + super(BSTR, self).__init__(_SysAllocString(value)) + + def __del__(self): + _SysFreeString(self) + + +class VARIANT(Structure): + + ''' + VARIANT structure in python. Does not match the definition in + MSDN exactly & it is only mapping the used fields. Field names are also + slighty different. + ''' + + class _tagData(Union): + + class _tagRecord(Structure): + _fields_ = [('pvoid', c_void_p), ('precord', c_void_p)] + + _fields_ = [('llval', c_longlong), + ('ullval', c_ulonglong), + ('lval', c_long), + ('ulval', c_ulong), + ('ival', c_short), + ('boolval', c_ushort), + ('bstrval', BSTR), + ('parray', c_void_p), + ('record', _tagRecord)] + + _fields_ = [('vt', c_ushort), + ('wReserved1', c_ushort), + ('wReserved2', c_ushort), + ('wReserved3', c_ushort), + ('vdata', _tagData)] + + @staticmethod + def create_empty(): + variant = VARIANT() + variant.vt = VT_EMPTY + variant.vdata.llval = 0 + return variant + + @staticmethod + def create_safearray_from_str(text): + variant = VARIANT() + variant.vt = VT_ARRAY | VT_UI1 + + length = len(text) + variant.vdata.parray = _SafeArrayCreateVector(VT_UI1, 0, length) + pvdata = c_void_p() + _SafeArrayAccessData(variant.vdata.parray, byref(pvdata)) + ctypes.memmove(pvdata, text, length) + _SafeArrayUnaccessData(variant.vdata.parray) + + return variant + + @staticmethod + def create_bstr_from_str(text): + variant = VARIANT() + variant.vt = VT_BSTR + variant.vdata.bstrval = BSTR(text) + return variant + + @staticmethod + def create_bool_false(): + variant = VARIANT() + variant.vt = VT_BOOL + variant.vdata.boolval = 0 + return variant + + def is_safearray_of_bytes(self): + return self.vt == VT_ARRAY | VT_UI1 + + def str_from_safearray(self): + assert self.vt == VT_ARRAY | VT_UI1 + pvdata = c_void_p() + count = c_long() + _SafeArrayGetUBound(self.vdata.parray, 1, byref(count)) + count = c_long(count.value + 1) + _SafeArrayAccessData(self.vdata.parray, byref(pvdata)) + text = ctypes.string_at(pvdata, count) + _SafeArrayUnaccessData(self.vdata.parray) + return text + + def __del__(self): + _VariantClear(self) + +# HRESULT VariantClear(_Inout_ VARIANTARG *pvarg); +_VariantClear = _oleaut32.VariantClear +_VariantClear.argtypes = [POINTER(VARIANT)] + + +class GUID(Structure): + + ''' GUID structure in python. ''' + + _fields_ = [("data1", c_ulong), + ("data2", c_ushort), + ("data3", c_ushort), + ("data4", c_byte * 8)] + + def __init__(self, name=None): + if name is not None: + _CLSIDFromString(unicode(name), byref(self)) + + +class _WinHttpRequest(c_void_p): + + ''' + Maps the Com API to Python class functions. Not all methods in + IWinHttpWebRequest are mapped - only the methods we use. + ''' + _AddRef = WINFUNCTYPE(c_long) \ + (1, 'AddRef') + _Release = WINFUNCTYPE(c_long) \ + (2, 'Release') + _SetProxy = WINFUNCTYPE(HRESULT, + HTTPREQUEST_PROXY_SETTING, + VARIANT, + VARIANT) \ + (7, 'SetProxy') + _SetCredentials = WINFUNCTYPE(HRESULT, + BSTR, + BSTR, + HTTPREQUEST_SETCREDENTIALS_FLAGS) \ + (8, 'SetCredentials') + _Open = WINFUNCTYPE(HRESULT, BSTR, BSTR, VARIANT) \ + (9, 'Open') + _SetRequestHeader = WINFUNCTYPE(HRESULT, BSTR, BSTR) \ + (10, 'SetRequestHeader') + _GetResponseHeader = WINFUNCTYPE(HRESULT, BSTR, POINTER(c_void_p)) \ + (11, 'GetResponseHeader') + _GetAllResponseHeaders = WINFUNCTYPE(HRESULT, POINTER(c_void_p)) \ + (12, 'GetAllResponseHeaders') + _Send = WINFUNCTYPE(HRESULT, VARIANT) \ + (13, 'Send') + _Status = WINFUNCTYPE(HRESULT, POINTER(c_long)) \ + (14, 'Status') + _StatusText = WINFUNCTYPE(HRESULT, POINTER(c_void_p)) \ + (15, 'StatusText') + _ResponseText = WINFUNCTYPE(HRESULT, POINTER(c_void_p)) \ + (16, 'ResponseText') + _ResponseBody = WINFUNCTYPE(HRESULT, POINTER(VARIANT)) \ + (17, 'ResponseBody') + _ResponseStream = WINFUNCTYPE(HRESULT, POINTER(VARIANT)) \ + (18, 'ResponseStream') + _WaitForResponse = WINFUNCTYPE(HRESULT, VARIANT, POINTER(c_ushort)) \ + (21, 'WaitForResponse') + _Abort = WINFUNCTYPE(HRESULT) \ + (22, 'Abort') + _SetTimeouts = WINFUNCTYPE(HRESULT, c_long, c_long, c_long, c_long) \ + (23, 'SetTimeouts') + _SetClientCertificate = WINFUNCTYPE(HRESULT, BSTR) \ + (24, 'SetClientCertificate') + + def open(self, method, url): + ''' + Opens the request. + + method: the request VERB 'GET', 'POST', etc. + url: the url to connect + ''' + _WinHttpRequest._SetTimeouts(self, 0, 65000, 65000, 65000) + + flag = VARIANT.create_bool_false() + _method = BSTR(method) + _url = BSTR(url) + _WinHttpRequest._Open(self, _method, _url, flag) + + def set_request_header(self, name, value): + ''' Sets the request header. ''' + + _name = BSTR(name) + _value = BSTR(value) + _WinHttpRequest._SetRequestHeader(self, _name, _value) + + def get_all_response_headers(self): + ''' Gets back all response headers. ''' + + bstr_headers = c_void_p() + _WinHttpRequest._GetAllResponseHeaders(self, byref(bstr_headers)) + bstr_headers = ctypes.cast(bstr_headers, c_wchar_p) + headers = bstr_headers.value + _SysFreeString(bstr_headers) + return headers + + def send(self, request=None): + ''' Sends the request body. ''' + + # Sends VT_EMPTY if it is GET, HEAD request. + if request is None: + var_empty = VARIANT.create_empty() + _WinHttpRequest._Send(self, var_empty) + else: # Sends request body as SAFEArray. + _request = VARIANT.create_safearray_from_str(request) + _WinHttpRequest._Send(self, _request) + + def status(self): + ''' Gets status of response. ''' + + status = c_long() + _WinHttpRequest._Status(self, byref(status)) + return int(status.value) + + def status_text(self): + ''' Gets status text of response. ''' + + bstr_status_text = c_void_p() + _WinHttpRequest._StatusText(self, byref(bstr_status_text)) + bstr_status_text = ctypes.cast(bstr_status_text, c_wchar_p) + status_text = bstr_status_text.value + _SysFreeString(bstr_status_text) + return status_text + + def response_body(self): + ''' + Gets response body as a SAFEARRAY and converts the SAFEARRAY to str. + If it is an xml file, it always contains 3 characters before <?xml, + so we remove them. + ''' + var_respbody = VARIANT() + _WinHttpRequest._ResponseBody(self, byref(var_respbody)) + if var_respbody.is_safearray_of_bytes(): + respbody = var_respbody.str_from_safearray() + if respbody[3:].startswith(b'<?xml') and\ + respbody.startswith(b'\xef\xbb\xbf'): + respbody = respbody[3:] + return respbody + else: + return '' + + def set_client_certificate(self, certificate): + '''Sets client certificate for the request. ''' + _certificate = BSTR(certificate) + _WinHttpRequest._SetClientCertificate(self, _certificate) + + def set_tunnel(self, host, port): + ''' Sets up the host and the port for the HTTP CONNECT Tunnelling.''' + url = host + if port: + url = url + u':' + port + + var_host = VARIANT.create_bstr_from_str(url) + var_empty = VARIANT.create_empty() + + _WinHttpRequest._SetProxy( + self, HTTPREQUEST_PROXYSETTING_PROXY, var_host, var_empty) + + def set_proxy_credentials(self, user, password): + _WinHttpRequest._SetCredentials( + self, BSTR(user), BSTR(password), + HTTPREQUEST_SETCREDENTIALS_FOR_PROXY) + + def __del__(self): + if self.value is not None: + _WinHttpRequest._Release(self) + + +class _Response(object): + + ''' Response class corresponding to the response returned from httplib + HTTPConnection. ''' + + def __init__(self, _status, _status_text, _length, _headers, _respbody): + self.status = _status + self.reason = _status_text + self.length = _length + self.headers = _headers + self.respbody = _respbody + + def getheaders(self): + '''Returns response headers.''' + return self.headers + + def read(self, _length): + '''Returns resonse body. ''' + return self.respbody[:_length] + + +class _HTTPConnection(object): + + ''' Class corresponding to httplib HTTPConnection class. ''' + + def __init__(self, host, cert_file=None, key_file=None, protocol='http'): + ''' initialize the IWinHttpWebRequest Com Object.''' + self.host = unicode(host) + self.cert_file = cert_file + self._httprequest = _WinHttpRequest() + self.protocol = protocol + clsid = GUID('{2087C2F4-2CEF-4953-A8AB-66779B670495}') + iid = GUID('{016FE2EC-B2C8-45F8-B23B-39E53A75396B}') + _CoInitialize(None) + _CoCreateInstance(byref(clsid), 0, 1, byref(iid), + byref(self._httprequest)) + + def close(self): + pass + + def set_tunnel(self, host, port=None, headers=None): + ''' Sets up the host and the port for the HTTP CONNECT Tunnelling. ''' + self._httprequest.set_tunnel(unicode(host), unicode(str(port))) + + def set_proxy_credentials(self, user, password): + self._httprequest.set_proxy_credentials( + unicode(user), unicode(password)) + + def putrequest(self, method, uri): + ''' Connects to host and sends the request. ''' + + protocol = unicode(self.protocol + '://') + url = protocol + self.host + unicode(uri) + self._httprequest.open(unicode(method), url) + + # sets certificate for the connection if cert_file is set. + if self.cert_file is not None: + self._httprequest.set_client_certificate(unicode(self.cert_file)) + + def putheader(self, name, value): + ''' Sends the headers of request. ''' + if sys.version_info < (3,): + name = str(name).decode('utf-8') + value = str(value).decode('utf-8') + self._httprequest.set_request_header(name, value) + + def endheaders(self): + ''' No operation. Exists only to provide the same interface of httplib + HTTPConnection.''' + pass + + def send(self, request_body): + ''' Sends request body. ''' + if not request_body: + self._httprequest.send() + else: + self._httprequest.send(request_body) + + def getresponse(self): + ''' Gets the response and generates the _Response object''' + status = self._httprequest.status() + status_text = self._httprequest.status_text() + + resp_headers = self._httprequest.get_all_response_headers() + fixed_headers = [] + for resp_header in resp_headers.split('\n'): + if (resp_header.startswith('\t') or\ + resp_header.startswith(' ')) and fixed_headers: + # append to previous header + fixed_headers[-1] += resp_header + else: + fixed_headers.append(resp_header) + + headers = [] + for resp_header in fixed_headers: + if ':' in resp_header: + pos = resp_header.find(':') + headers.append( + (resp_header[:pos].lower(), resp_header[pos + 1:].strip())) + + body = self._httprequest.response_body() + length = len(body) + + return _Response(status, status_text, length, headers, body) diff --git a/awx/lib/site-packages/azure/servicebus/__init__.py b/awx/lib/site-packages/azure/servicebus/__init__.py new file mode 100644 index 0000000000..bee85f4efd --- /dev/null +++ b/awx/lib/site-packages/azure/servicebus/__init__.py @@ -0,0 +1,851 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 ast +import sys + +from datetime import datetime +from xml.dom import minidom +from azure import ( + WindowsAzureData, + WindowsAzureError, + xml_escape, + _create_entry, + _general_error_handler, + _get_entry_properties, + _get_child_nodes, + _get_children_from_path, + _get_first_child_node_value, + _ERROR_MESSAGE_NOT_PEEK_LOCKED_ON_DELETE, + _ERROR_MESSAGE_NOT_PEEK_LOCKED_ON_UNLOCK, + _ERROR_QUEUE_NOT_FOUND, + _ERROR_TOPIC_NOT_FOUND, + ) +from azure.http import HTTPError + +# default rule name for subscription +DEFAULT_RULE_NAME = '$Default' + +#----------------------------------------------------------------------------- +# Constants for Azure app environment settings. +AZURE_SERVICEBUS_NAMESPACE = 'AZURE_SERVICEBUS_NAMESPACE' +AZURE_SERVICEBUS_ACCESS_KEY = 'AZURE_SERVICEBUS_ACCESS_KEY' +AZURE_SERVICEBUS_ISSUER = 'AZURE_SERVICEBUS_ISSUER' + +# namespace used for converting rules to objects +XML_SCHEMA_NAMESPACE = 'http://www.w3.org/2001/XMLSchema-instance' + + +class Queue(WindowsAzureData): + + ''' Queue class corresponding to Queue Description: + http://msdn.microsoft.com/en-us/library/windowsazure/hh780773''' + + def __init__(self, lock_duration=None, max_size_in_megabytes=None, + requires_duplicate_detection=None, requires_session=None, + default_message_time_to_live=None, + dead_lettering_on_message_expiration=None, + duplicate_detection_history_time_window=None, + max_delivery_count=None, enable_batched_operations=None, + size_in_bytes=None, message_count=None): + + self.lock_duration = lock_duration + self.max_size_in_megabytes = max_size_in_megabytes + self.requires_duplicate_detection = requires_duplicate_detection + self.requires_session = requires_session + self.default_message_time_to_live = default_message_time_to_live + self.dead_lettering_on_message_expiration = \ + dead_lettering_on_message_expiration + self.duplicate_detection_history_time_window = \ + duplicate_detection_history_time_window + self.max_delivery_count = max_delivery_count + self.enable_batched_operations = enable_batched_operations + self.size_in_bytes = size_in_bytes + self.message_count = message_count + + +class Topic(WindowsAzureData): + + ''' Topic class corresponding to Topic Description: + http://msdn.microsoft.com/en-us/library/windowsazure/hh780749. ''' + + def __init__(self, default_message_time_to_live=None, + max_size_in_megabytes=None, requires_duplicate_detection=None, + duplicate_detection_history_time_window=None, + enable_batched_operations=None, size_in_bytes=None): + + self.default_message_time_to_live = default_message_time_to_live + self.max_size_in_megabytes = max_size_in_megabytes + self.requires_duplicate_detection = requires_duplicate_detection + self.duplicate_detection_history_time_window = \ + duplicate_detection_history_time_window + self.enable_batched_operations = enable_batched_operations + self.size_in_bytes = size_in_bytes + + @property + def max_size_in_mega_bytes(self): + import warnings + warnings.warn( + 'This attribute has been changed to max_size_in_megabytes.') + return self.max_size_in_megabytes + + @max_size_in_mega_bytes.setter + def max_size_in_mega_bytes(self, value): + self.max_size_in_megabytes = value + + +class Subscription(WindowsAzureData): + + ''' Subscription class corresponding to Subscription Description: + http://msdn.microsoft.com/en-us/library/windowsazure/hh780763. ''' + + def __init__(self, lock_duration=None, requires_session=None, + default_message_time_to_live=None, + dead_lettering_on_message_expiration=None, + dead_lettering_on_filter_evaluation_exceptions=None, + enable_batched_operations=None, max_delivery_count=None, + message_count=None): + + self.lock_duration = lock_duration + self.requires_session = requires_session + self.default_message_time_to_live = default_message_time_to_live + self.dead_lettering_on_message_expiration = \ + dead_lettering_on_message_expiration + self.dead_lettering_on_filter_evaluation_exceptions = \ + dead_lettering_on_filter_evaluation_exceptions + self.enable_batched_operations = enable_batched_operations + self.max_delivery_count = max_delivery_count + self.message_count = message_count + + +class Rule(WindowsAzureData): + + ''' Rule class corresponding to Rule Description: + http://msdn.microsoft.com/en-us/library/windowsazure/hh780753. ''' + + def __init__(self, filter_type=None, filter_expression=None, + action_type=None, action_expression=None): + self.filter_type = filter_type + self.filter_expression = filter_expression + self.action_type = action_type + self.action_expression = action_type + + +class Message(WindowsAzureData): + + ''' Message class that used in send message/get mesage apis. ''' + + def __init__(self, body=None, service_bus_service=None, location=None, + custom_properties=None, + type='application/atom+xml;type=entry;charset=utf-8', + broker_properties=None): + self.body = body + self.location = location + self.broker_properties = broker_properties + self.custom_properties = custom_properties + self.type = type + self.service_bus_service = service_bus_service + self._topic_name = None + self._subscription_name = None + self._queue_name = None + + if not service_bus_service: + return + + # if location is set, then extracts the queue name for queue message and + # extracts the topic and subscriptions name if it is topic message. + if location: + if '/subscriptions/' in location: + pos = location.find('/subscriptions/') + pos1 = location.rfind('/', 0, pos - 1) + self._topic_name = location[pos1 + 1:pos] + pos += len('/subscriptions/') + pos1 = location.find('/', pos) + self._subscription_name = location[pos:pos1] + elif '/messages/' in location: + pos = location.find('/messages/') + pos1 = location.rfind('/', 0, pos - 1) + self._queue_name = location[pos1 + 1:pos] + + def delete(self): + ''' Deletes itself if find queue name or topic name and subscription + name. ''' + if self._queue_name: + self.service_bus_service.delete_queue_message( + self._queue_name, + self.broker_properties['SequenceNumber'], + self.broker_properties['LockToken']) + elif self._topic_name and self._subscription_name: + self.service_bus_service.delete_subscription_message( + self._topic_name, + self._subscription_name, + self.broker_properties['SequenceNumber'], + self.broker_properties['LockToken']) + else: + raise WindowsAzureError(_ERROR_MESSAGE_NOT_PEEK_LOCKED_ON_DELETE) + + def unlock(self): + ''' Unlocks itself if find queue name or topic name and subscription + name. ''' + if self._queue_name: + self.service_bus_service.unlock_queue_message( + self._queue_name, + self.broker_properties['SequenceNumber'], + self.broker_properties['LockToken']) + elif self._topic_name and self._subscription_name: + self.service_bus_service.unlock_subscription_message( + self._topic_name, + self._subscription_name, + self.broker_properties['SequenceNumber'], + self.broker_properties['LockToken']) + else: + raise WindowsAzureError(_ERROR_MESSAGE_NOT_PEEK_LOCKED_ON_UNLOCK) + + def add_headers(self, request): + ''' add addtional headers to request for message request.''' + + # Adds custom properties + if self.custom_properties: + for name, value in self.custom_properties.items(): + if sys.version_info < (3,) and isinstance(value, unicode): + request.headers.append( + (name, '"' + value.encode('utf-8') + '"')) + elif isinstance(value, str): + request.headers.append((name, '"' + str(value) + '"')) + elif isinstance(value, datetime): + request.headers.append( + (name, '"' + value.strftime('%a, %d %b %Y %H:%M:%S GMT') + '"')) + else: + request.headers.append((name, str(value).lower())) + + # Adds content-type + request.headers.append(('Content-Type', self.type)) + + # Adds BrokerProperties + if self.broker_properties: + request.headers.append( + ('BrokerProperties', str(self.broker_properties))) + + return request.headers + + +def _create_message(response, service_instance): + ''' Create message from response. + + response: response from service bus cloud server. + service_instance: the service bus client. + ''' + respbody = response.body + custom_properties = {} + broker_properties = None + message_type = None + message_location = None + + # gets all information from respheaders. + for name, value in response.headers: + if name.lower() == 'brokerproperties': + broker_properties = ast.literal_eval(value) + elif name.lower() == 'content-type': + message_type = value + elif name.lower() == 'location': + message_location = value + elif name.lower() not in ['content-type', + 'brokerproperties', + 'transfer-encoding', + 'server', + 'location', + 'date']: + if '"' in value: + value = value[1:-1] + try: + custom_properties[name] = datetime.strptime( + value, '%a, %d %b %Y %H:%M:%S GMT') + except ValueError: + custom_properties[name] = value + else: # only int, float or boolean + if value.lower() == 'true': + custom_properties[name] = True + elif value.lower() == 'false': + custom_properties[name] = False + # int('3.1') doesn't work so need to get float('3.14') first + elif str(int(float(value))) == value: + custom_properties[name] = int(value) + else: + custom_properties[name] = float(value) + + if message_type == None: + message = Message( + respbody, service_instance, message_location, custom_properties, + 'application/atom+xml;type=entry;charset=utf-8', broker_properties) + else: + message = Message(respbody, service_instance, message_location, + custom_properties, message_type, broker_properties) + return message + +# convert functions + + +def _convert_response_to_rule(response): + return _convert_xml_to_rule(response.body) + + +def _convert_xml_to_rule(xmlstr): + ''' Converts response xml to rule object. + + The format of xml for rule: +<entry xmlns='http://www.w3.org/2005/Atom'> +<content type='application/xml'> +<RuleDescription + xmlns:i="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect"> + <Filter i:type="SqlFilterExpression"> + <SqlExpression>MyProperty='XYZ'</SqlExpression> + </Filter> + <Action i:type="SqlFilterAction"> + <SqlExpression>set MyProperty2 = 'ABC'</SqlExpression> + </Action> +</RuleDescription> +</content> +</entry> + ''' + xmldoc = minidom.parseString(xmlstr) + rule = Rule() + + for rule_desc in _get_children_from_path(xmldoc, + 'entry', + 'content', + 'RuleDescription'): + for xml_filter in _get_child_nodes(rule_desc, 'Filter'): + filter_type = xml_filter.getAttributeNS( + XML_SCHEMA_NAMESPACE, 'type') + setattr(rule, 'filter_type', str(filter_type)) + if xml_filter.childNodes: + + for expr in _get_child_nodes(xml_filter, 'SqlExpression'): + setattr(rule, 'filter_expression', + expr.firstChild.nodeValue) + + for xml_action in _get_child_nodes(rule_desc, 'Action'): + action_type = xml_action.getAttributeNS( + XML_SCHEMA_NAMESPACE, 'type') + setattr(rule, 'action_type', str(action_type)) + if xml_action.childNodes: + action_expression = xml_action.childNodes[0].firstChild + if action_expression: + setattr(rule, 'action_expression', + action_expression.nodeValue) + + # extract id, updated and name value from feed entry and set them of rule. + for name, value in _get_entry_properties(xmlstr, True, '/rules').items(): + setattr(rule, name, value) + + return rule + + +def _convert_response_to_queue(response): + return _convert_xml_to_queue(response.body) + + +def _parse_bool(value): + if value.lower() == 'true': + return True + return False + + +def _convert_xml_to_queue(xmlstr): + ''' Converts xml response to queue object. + + The format of xml response for queue: +<QueueDescription + xmlns=\"http://schemas.microsoft.com/netservices/2010/10/servicebus/connect\"> + <MaxSizeInBytes>10000</MaxSizeInBytes> + <DefaultMessageTimeToLive>PT5M</DefaultMessageTimeToLive> + <LockDuration>PT2M</LockDuration> + <RequiresGroupedReceives>False</RequiresGroupedReceives> + <SupportsDuplicateDetection>False</SupportsDuplicateDetection> + ... +</QueueDescription> + + ''' + xmldoc = minidom.parseString(xmlstr) + queue = Queue() + + invalid_queue = True + # get node for each attribute in Queue class, if nothing found then the + # response is not valid xml for Queue. + for desc in _get_children_from_path(xmldoc, + 'entry', + 'content', + 'QueueDescription'): + node_value = _get_first_child_node_value(desc, 'LockDuration') + if node_value is not None: + queue.lock_duration = node_value + invalid_queue = False + + node_value = _get_first_child_node_value(desc, 'MaxSizeInMegabytes') + if node_value is not None: + queue.max_size_in_megabytes = int(node_value) + invalid_queue = False + + node_value = _get_first_child_node_value( + desc, 'RequiresDuplicateDetection') + if node_value is not None: + queue.requires_duplicate_detection = _parse_bool(node_value) + invalid_queue = False + + node_value = _get_first_child_node_value(desc, 'RequiresSession') + if node_value is not None: + queue.requires_session = _parse_bool(node_value) + invalid_queue = False + + node_value = _get_first_child_node_value( + desc, 'DefaultMessageTimeToLive') + if node_value is not None: + queue.default_message_time_to_live = node_value + invalid_queue = False + + node_value = _get_first_child_node_value( + desc, 'DeadLetteringOnMessageExpiration') + if node_value is not None: + queue.dead_lettering_on_message_expiration = _parse_bool(node_value) + invalid_queue = False + + node_value = _get_first_child_node_value( + desc, 'DuplicateDetectionHistoryTimeWindow') + if node_value is not None: + queue.duplicate_detection_history_time_window = node_value + invalid_queue = False + + node_value = _get_first_child_node_value( + desc, 'EnableBatchedOperations') + if node_value is not None: + queue.enable_batched_operations = _parse_bool(node_value) + invalid_queue = False + + node_value = _get_first_child_node_value(desc, 'MaxDeliveryCount') + if node_value is not None: + queue.max_delivery_count = int(node_value) + invalid_queue = False + + node_value = _get_first_child_node_value(desc, 'MessageCount') + if node_value is not None: + queue.message_count = int(node_value) + invalid_queue = False + + node_value = _get_first_child_node_value(desc, 'SizeInBytes') + if node_value is not None: + queue.size_in_bytes = int(node_value) + invalid_queue = False + + if invalid_queue: + raise WindowsAzureError(_ERROR_QUEUE_NOT_FOUND) + + # extract id, updated and name value from feed entry and set them of queue. + for name, value in _get_entry_properties(xmlstr, True).items(): + setattr(queue, name, value) + + return queue + + +def _convert_response_to_topic(response): + return _convert_xml_to_topic(response.body) + + +def _convert_xml_to_topic(xmlstr): + '''Converts xml response to topic + + The xml format for topic: +<entry xmlns='http://www.w3.org/2005/Atom'> + <content type='application/xml'> + <TopicDescription + xmlns:i="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect"> + <DefaultMessageTimeToLive>P10675199DT2H48M5.4775807S</DefaultMessageTimeToLive> + <MaxSizeInMegabytes>1024</MaxSizeInMegabytes> + <RequiresDuplicateDetection>false</RequiresDuplicateDetection> + <DuplicateDetectionHistoryTimeWindow>P7D</DuplicateDetectionHistoryTimeWindow> + <DeadLetteringOnFilterEvaluationExceptions>true</DeadLetteringOnFilterEvaluationExceptions> + </TopicDescription> + </content> +</entry> + ''' + xmldoc = minidom.parseString(xmlstr) + topic = Topic() + + invalid_topic = True + + # get node for each attribute in Topic class, if nothing found then the + # response is not valid xml for Topic. + for desc in _get_children_from_path(xmldoc, + 'entry', + 'content', + 'TopicDescription'): + invalid_topic = True + node_value = _get_first_child_node_value( + desc, 'DefaultMessageTimeToLive') + if node_value is not None: + topic.default_message_time_to_live = node_value + invalid_topic = False + node_value = _get_first_child_node_value(desc, 'MaxSizeInMegabytes') + if node_value is not None: + topic.max_size_in_megabytes = int(node_value) + invalid_topic = False + node_value = _get_first_child_node_value( + desc, 'RequiresDuplicateDetection') + if node_value is not None: + topic.requires_duplicate_detection = _parse_bool(node_value) + invalid_topic = False + node_value = _get_first_child_node_value( + desc, 'DuplicateDetectionHistoryTimeWindow') + if node_value is not None: + topic.duplicate_detection_history_time_window = node_value + invalid_topic = False + node_value = _get_first_child_node_value( + desc, 'EnableBatchedOperations') + if node_value is not None: + topic.enable_batched_operations = _parse_bool(node_value) + invalid_topic = False + node_value = _get_first_child_node_value(desc, 'SizeInBytes') + if node_value is not None: + topic.size_in_bytes = int(node_value) + invalid_topic = False + + if invalid_topic: + raise WindowsAzureError(_ERROR_TOPIC_NOT_FOUND) + + # extract id, updated and name value from feed entry and set them of topic. + for name, value in _get_entry_properties(xmlstr, True).items(): + setattr(topic, name, value) + return topic + + +def _convert_response_to_subscription(response): + return _convert_xml_to_subscription(response.body) + + +def _convert_xml_to_subscription(xmlstr): + '''Converts xml response to subscription + + The xml format for subscription: +<entry xmlns='http://www.w3.org/2005/Atom'> + <content type='application/xml'> + <SubscriptionDescription + xmlns:i="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect"> + <LockDuration>PT5M</LockDuration> + <RequiresSession>false</RequiresSession> + <DefaultMessageTimeToLive>P10675199DT2H48M5.4775807S</DefaultMessageTimeToLive> + <DeadLetteringOnMessageExpiration>false</DeadLetteringOnMessageExpiration> + <DeadLetteringOnFilterEvaluationExceptions>true</DeadLetteringOnFilterEvaluationExceptions> + </SubscriptionDescription> + </content> +</entry> + ''' + xmldoc = minidom.parseString(xmlstr) + subscription = Subscription() + + for desc in _get_children_from_path(xmldoc, + 'entry', + 'content', + 'SubscriptionDescription'): + node_value = _get_first_child_node_value(desc, 'LockDuration') + if node_value is not None: + subscription.lock_duration = node_value + + node_value = _get_first_child_node_value( + desc, 'RequiresSession') + if node_value is not None: + subscription.requires_session = _parse_bool(node_value) + + node_value = _get_first_child_node_value( + desc, 'DefaultMessageTimeToLive') + if node_value is not None: + subscription.default_message_time_to_live = node_value + + node_value = _get_first_child_node_value( + desc, 'DeadLetteringOnFilterEvaluationExceptions') + if node_value is not None: + subscription.dead_lettering_on_filter_evaluation_exceptions = \ + _parse_bool(node_value) + + node_value = _get_first_child_node_value( + desc, 'DeadLetteringOnMessageExpiration') + if node_value is not None: + subscription.dead_lettering_on_message_expiration = \ + _parse_bool(node_value) + + node_value = _get_first_child_node_value( + desc, 'EnableBatchedOperations') + if node_value is not None: + subscription.enable_batched_operations = _parse_bool(node_value) + + node_value = _get_first_child_node_value( + desc, 'MaxDeliveryCount') + if node_value is not None: + subscription.max_delivery_count = int(node_value) + + node_value = _get_first_child_node_value( + desc, 'MessageCount') + if node_value is not None: + subscription.message_count = int(node_value) + + for name, value in _get_entry_properties(xmlstr, + True, + '/subscriptions').items(): + setattr(subscription, name, value) + + return subscription + + +def _convert_subscription_to_xml(subscription): + ''' + Converts a subscription object to xml to send. The order of each field of + subscription in xml is very important so we can't simple call + convert_class_to_xml. + + subscription: the subsciption object to be converted. + ''' + + subscription_body = '<SubscriptionDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect">' + if subscription: + if subscription.lock_duration is not None: + subscription_body += ''.join( + ['<LockDuration>', + str(subscription.lock_duration), + '</LockDuration>']) + + if subscription.requires_session is not None: + subscription_body += ''.join( + ['<RequiresSession>', + str(subscription.requires_session).lower(), + '</RequiresSession>']) + + if subscription.default_message_time_to_live is not None: + subscription_body += ''.join( + ['<DefaultMessageTimeToLive>', + str(subscription.default_message_time_to_live), + '</DefaultMessageTimeToLive>']) + + if subscription.dead_lettering_on_message_expiration is not None: + subscription_body += ''.join( + ['<DeadLetteringOnMessageExpiration>', + str(subscription.dead_lettering_on_message_expiration).lower(), + '</DeadLetteringOnMessageExpiration>']) + + if subscription.dead_lettering_on_filter_evaluation_exceptions is not None: + subscription_body += ''.join( + ['<DeadLetteringOnFilterEvaluationExceptions>', + str(subscription.dead_lettering_on_filter_evaluation_exceptions).lower(), + '</DeadLetteringOnFilterEvaluationExceptions>']) + + if subscription.enable_batched_operations is not None: + subscription_body += ''.join( + ['<EnableBatchedOperations>', + str(subscription.enable_batched_operations).lower(), + '</EnableBatchedOperations>']) + + if subscription.max_delivery_count is not None: + subscription_body += ''.join( + ['<MaxDeliveryCount>', + str(subscription.max_delivery_count), + '</MaxDeliveryCount>']) + + if subscription.message_count is not None: + subscription_body += ''.join( + ['<MessageCount>', + str(subscription.message_count), + '</MessageCount>']) + + subscription_body += '</SubscriptionDescription>' + return _create_entry(subscription_body) + + +def _convert_rule_to_xml(rule): + ''' + Converts a rule object to xml to send. The order of each field of rule + in xml is very important so we cann't simple call convert_class_to_xml. + + rule: the rule object to be converted. + ''' + rule_body = '<RuleDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect">' + if rule: + if rule.filter_type: + rule_body += ''.join( + ['<Filter i:type="', + xml_escape(rule.filter_type), + '">']) + if rule.filter_type == 'CorrelationFilter': + rule_body += ''.join( + ['<CorrelationId>', + xml_escape(rule.filter_expression), + '</CorrelationId>']) + else: + rule_body += ''.join( + ['<SqlExpression>', + xml_escape(rule.filter_expression), + '</SqlExpression>']) + rule_body += '<CompatibilityLevel>20</CompatibilityLevel>' + rule_body += '</Filter>' + if rule.action_type: + rule_body += ''.join( + ['<Action i:type="', + xml_escape(rule.action_type), + '">']) + if rule.action_type == 'SqlRuleAction': + rule_body += ''.join( + ['<SqlExpression>', + xml_escape(rule.action_expression), + '</SqlExpression>']) + rule_body += '<CompatibilityLevel>20</CompatibilityLevel>' + rule_body += '</Action>' + rule_body += '</RuleDescription>' + + return _create_entry(rule_body) + + +def _convert_topic_to_xml(topic): + ''' + Converts a topic object to xml to send. The order of each field of topic + in xml is very important so we cann't simple call convert_class_to_xml. + + topic: the topic object to be converted. + ''' + + topic_body = '<TopicDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect">' + if topic: + if topic.default_message_time_to_live is not None: + topic_body += ''.join( + ['<DefaultMessageTimeToLive>', + str(topic.default_message_time_to_live), + '</DefaultMessageTimeToLive>']) + + if topic.max_size_in_megabytes is not None: + topic_body += ''.join( + ['<MaxSizeInMegabytes>', + str(topic.max_size_in_megabytes), + '</MaxSizeInMegabytes>']) + + if topic.requires_duplicate_detection is not None: + topic_body += ''.join( + ['<RequiresDuplicateDetection>', + str(topic.requires_duplicate_detection).lower(), + '</RequiresDuplicateDetection>']) + + if topic.duplicate_detection_history_time_window is not None: + topic_body += ''.join( + ['<DuplicateDetectionHistoryTimeWindow>', + str(topic.duplicate_detection_history_time_window), + '</DuplicateDetectionHistoryTimeWindow>']) + + if topic.enable_batched_operations is not None: + topic_body += ''.join( + ['<EnableBatchedOperations>', + str(topic.enable_batched_operations).lower(), + '</EnableBatchedOperations>']) + + if topic.size_in_bytes is not None: + topic_body += ''.join( + ['<SizeInBytes>', + str(topic.size_in_bytes), + '</SizeInBytes>']) + + topic_body += '</TopicDescription>' + + return _create_entry(topic_body) + + +def _convert_queue_to_xml(queue): + ''' + Converts a queue object to xml to send. The order of each field of queue + in xml is very important so we cann't simple call convert_class_to_xml. + + queue: the queue object to be converted. + ''' + queue_body = '<QueueDescription xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect">' + if queue: + if queue.lock_duration: + queue_body += ''.join( + ['<LockDuration>', + str(queue.lock_duration), + '</LockDuration>']) + + if queue.max_size_in_megabytes is not None: + queue_body += ''.join( + ['<MaxSizeInMegabytes>', + str(queue.max_size_in_megabytes), + '</MaxSizeInMegabytes>']) + + if queue.requires_duplicate_detection is not None: + queue_body += ''.join( + ['<RequiresDuplicateDetection>', + str(queue.requires_duplicate_detection).lower(), + '</RequiresDuplicateDetection>']) + + if queue.requires_session is not None: + queue_body += ''.join( + ['<RequiresSession>', + str(queue.requires_session).lower(), + '</RequiresSession>']) + + if queue.default_message_time_to_live is not None: + queue_body += ''.join( + ['<DefaultMessageTimeToLive>', + str(queue.default_message_time_to_live), + '</DefaultMessageTimeToLive>']) + + if queue.dead_lettering_on_message_expiration is not None: + queue_body += ''.join( + ['<DeadLetteringOnMessageExpiration>', + str(queue.dead_lettering_on_message_expiration).lower(), + '</DeadLetteringOnMessageExpiration>']) + + if queue.duplicate_detection_history_time_window is not None: + queue_body += ''.join( + ['<DuplicateDetectionHistoryTimeWindow>', + str(queue.duplicate_detection_history_time_window), + '</DuplicateDetectionHistoryTimeWindow>']) + + if queue.max_delivery_count is not None: + queue_body += ''.join( + ['<MaxDeliveryCount>', + str(queue.max_delivery_count), + '</MaxDeliveryCount>']) + + if queue.enable_batched_operations is not None: + queue_body += ''.join( + ['<EnableBatchedOperations>', + str(queue.enable_batched_operations).lower(), + '</EnableBatchedOperations>']) + + if queue.size_in_bytes is not None: + queue_body += ''.join( + ['<SizeInBytes>', + str(queue.size_in_bytes), + '</SizeInBytes>']) + + if queue.message_count is not None: + queue_body += ''.join( + ['<MessageCount>', + str(queue.message_count), + '</MessageCount>']) + + queue_body += '</QueueDescription>' + return _create_entry(queue_body) + + +def _service_bus_error_handler(http_error): + ''' Simple error handler for service bus service. ''' + return _general_error_handler(http_error) + +from azure.servicebus.servicebusservice import ServiceBusService diff --git a/awx/lib/site-packages/azure/servicebus/servicebusservice.py b/awx/lib/site-packages/azure/servicebus/servicebusservice.py new file mode 100644 index 0000000000..894f018ba2 --- /dev/null +++ b/awx/lib/site-packages/azure/servicebus/servicebusservice.py @@ -0,0 +1,914 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 time + +from azure import ( + WindowsAzureError, + SERVICE_BUS_HOST_BASE, + _convert_response_to_feeds, + _dont_fail_not_exist, + _dont_fail_on_exist, + _get_request_body, + _get_request_body_bytes_only, + _int_or_none, + _str, + _update_request_uri_query, + url_quote, + url_unquote, + _validate_not_none, + ) +from azure.http import ( + HTTPError, + HTTPRequest, + ) +from azure.http.httpclient import _HTTPClient +from azure.servicebus import ( + AZURE_SERVICEBUS_NAMESPACE, + AZURE_SERVICEBUS_ACCESS_KEY, + AZURE_SERVICEBUS_ISSUER, + _convert_topic_to_xml, + _convert_response_to_topic, + _convert_queue_to_xml, + _convert_response_to_queue, + _convert_subscription_to_xml, + _convert_response_to_subscription, + _convert_rule_to_xml, + _convert_response_to_rule, + _convert_xml_to_queue, + _convert_xml_to_topic, + _convert_xml_to_subscription, + _convert_xml_to_rule, + _create_message, + _service_bus_error_handler, + ) + +# Token cache for Authentication +# Shared by the different instances of ServiceBusService +_tokens = {} + + +class ServiceBusService(object): + + def __init__(self, service_namespace=None, account_key=None, issuer=None, + x_ms_version='2011-06-01', host_base=SERVICE_BUS_HOST_BASE): + # x_ms_version is not used, but the parameter is kept for backwards + # compatibility + self.requestid = None + self.service_namespace = service_namespace + self.account_key = account_key + self.issuer = issuer + self.host_base = host_base + + # Get service namespace, account key and issuer. + # If they are set when constructing, then use them, else find them + # from environment variables. + if not self.service_namespace: + self.service_namespace = os.environ.get(AZURE_SERVICEBUS_NAMESPACE) + if not self.account_key: + self.account_key = os.environ.get(AZURE_SERVICEBUS_ACCESS_KEY) + if not self.issuer: + self.issuer = os.environ.get(AZURE_SERVICEBUS_ISSUER) + + if not self.service_namespace or \ + not self.account_key or not self.issuer: + raise WindowsAzureError( + 'You need to provide servicebus namespace, access key and Issuer') + + self._httpclient = _HTTPClient(service_instance=self, + service_namespace=self.service_namespace, + account_key=self.account_key, + issuer=self.issuer) + self._filter = self._httpclient.perform_request + + def with_filter(self, filter): + ''' + Returns a new service which will process requests with the specified + filter. Filtering operations can include logging, automatic retrying, + etc... The filter is a lambda which receives the HTTPRequest and + another lambda. The filter can perform any pre-processing on the + request, pass it off to the next lambda, and then perform any + post-processing on the response. + ''' + res = ServiceBusService(self.service_namespace, self.account_key, + self.issuer) + old_filter = self._filter + + def new_filter(request): + return filter(request, old_filter) + + res._filter = new_filter + return res + + def set_proxy(self, host, port, user=None, password=None): + ''' + Sets the proxy server host and port for the HTTP CONNECT Tunnelling. + + host: Address of the proxy. Ex: '192.168.0.100' + port: Port of the proxy. Ex: 6000 + user: User for proxy authorization. + password: Password for proxy authorization. + ''' + self._httpclient.set_proxy(host, port, user, password) + + def create_queue(self, queue_name, queue=None, fail_on_exist=False): + ''' + Creates a new queue. Once created, this queue's resource manifest is + immutable. + + queue_name: Name of the queue to create. + queue: Queue object to create. + fail_on_exist: + Specify whether to throw an exception when the queue exists. + ''' + _validate_not_none('queue_name', queue_name) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '' + request.body = _get_request_body(_convert_queue_to_xml(queue)) + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + if not fail_on_exist: + try: + self._perform_request(request) + return True + except WindowsAzureError as ex: + _dont_fail_on_exist(ex) + return False + else: + self._perform_request(request) + return True + + def delete_queue(self, queue_name, fail_not_exist=False): + ''' + Deletes an existing queue. This operation will also remove all + associated state including messages in the queue. + + queue_name: Name of the queue to delete. + fail_not_exist: + Specify whether to throw an exception if the queue doesn't exist. + ''' + _validate_not_none('queue_name', queue_name) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + if not fail_not_exist: + try: + self._perform_request(request) + return True + except WindowsAzureError as ex: + _dont_fail_not_exist(ex) + return False + else: + self._perform_request(request) + return True + + def get_queue(self, queue_name): + ''' + Retrieves an existing queue. + + queue_name: Name of the queue. + ''' + _validate_not_none('queue_name', queue_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + response = self._perform_request(request) + + return _convert_response_to_queue(response) + + def list_queues(self): + ''' + Enumerates the queues in the service namespace. + ''' + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/$Resources/Queues' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + response = self._perform_request(request) + + return _convert_response_to_feeds(response, _convert_xml_to_queue) + + def create_topic(self, topic_name, topic=None, fail_on_exist=False): + ''' + Creates a new topic. Once created, this topic resource manifest is + immutable. + + topic_name: Name of the topic to create. + topic: Topic object to create. + fail_on_exist: + Specify whether to throw an exception when the topic exists. + ''' + _validate_not_none('topic_name', topic_name) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(topic_name) + '' + request.body = _get_request_body(_convert_topic_to_xml(topic)) + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + if not fail_on_exist: + try: + self._perform_request(request) + return True + except WindowsAzureError as ex: + _dont_fail_on_exist(ex) + return False + else: + self._perform_request(request) + return True + + def delete_topic(self, topic_name, fail_not_exist=False): + ''' + Deletes an existing topic. This operation will also remove all + associated state including associated subscriptions. + + topic_name: Name of the topic to delete. + fail_not_exist: + Specify whether throw exception when topic doesn't exist. + ''' + _validate_not_none('topic_name', topic_name) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + _str(topic_name) + '' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + if not fail_not_exist: + try: + self._perform_request(request) + return True + except WindowsAzureError as ex: + _dont_fail_not_exist(ex) + return False + else: + self._perform_request(request) + return True + + def get_topic(self, topic_name): + ''' + Retrieves the description for the specified topic. + + topic_name: Name of the topic. + ''' + _validate_not_none('topic_name', topic_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + _str(topic_name) + '' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + response = self._perform_request(request) + + return _convert_response_to_topic(response) + + def list_topics(self): + ''' + Retrieves the topics in the service namespace. + ''' + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/$Resources/Topics' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + response = self._perform_request(request) + + return _convert_response_to_feeds(response, _convert_xml_to_topic) + + def create_rule(self, topic_name, subscription_name, rule_name, rule=None, + fail_on_exist=False): + ''' + Creates a new rule. Once created, this rule's resource manifest is + immutable. + + topic_name: Name of the topic. + subscription_name: Name of the subscription. + rule_name: Name of the rule. + fail_on_exist: + Specify whether to throw an exception when the rule exists. + ''' + _validate_not_none('topic_name', topic_name) + _validate_not_none('subscription_name', subscription_name) + _validate_not_none('rule_name', rule_name) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(topic_name) + '/subscriptions/' + \ + _str(subscription_name) + \ + '/rules/' + _str(rule_name) + '' + request.body = _get_request_body(_convert_rule_to_xml(rule)) + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + if not fail_on_exist: + try: + self._perform_request(request) + return True + except WindowsAzureError as ex: + _dont_fail_on_exist(ex) + return False + else: + self._perform_request(request) + return True + + def delete_rule(self, topic_name, subscription_name, rule_name, + fail_not_exist=False): + ''' + Deletes an existing rule. + + topic_name: Name of the topic. + subscription_name: Name of the subscription. + rule_name: + Name of the rule to delete. DEFAULT_RULE_NAME=$Default. + Use DEFAULT_RULE_NAME to delete default rule for the subscription. + fail_not_exist: + Specify whether throw exception when rule doesn't exist. + ''' + _validate_not_none('topic_name', topic_name) + _validate_not_none('subscription_name', subscription_name) + _validate_not_none('rule_name', rule_name) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + _str(topic_name) + '/subscriptions/' + \ + _str(subscription_name) + \ + '/rules/' + _str(rule_name) + '' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + if not fail_not_exist: + try: + self._perform_request(request) + return True + except WindowsAzureError as ex: + _dont_fail_not_exist(ex) + return False + else: + self._perform_request(request) + return True + + def get_rule(self, topic_name, subscription_name, rule_name): + ''' + Retrieves the description for the specified rule. + + topic_name: Name of the topic. + subscription_name: Name of the subscription. + rule_name: Name of the rule. + ''' + _validate_not_none('topic_name', topic_name) + _validate_not_none('subscription_name', subscription_name) + _validate_not_none('rule_name', rule_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + _str(topic_name) + '/subscriptions/' + \ + _str(subscription_name) + \ + '/rules/' + _str(rule_name) + '' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + response = self._perform_request(request) + + return _convert_response_to_rule(response) + + def list_rules(self, topic_name, subscription_name): + ''' + Retrieves the rules that exist under the specified subscription. + + topic_name: Name of the topic. + subscription_name: Name of the subscription. + ''' + _validate_not_none('topic_name', topic_name) + _validate_not_none('subscription_name', subscription_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + \ + _str(topic_name) + '/subscriptions/' + \ + _str(subscription_name) + '/rules/' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + response = self._perform_request(request) + + return _convert_response_to_feeds(response, _convert_xml_to_rule) + + def create_subscription(self, topic_name, subscription_name, + subscription=None, fail_on_exist=False): + ''' + Creates a new subscription. Once created, this subscription resource + manifest is immutable. + + topic_name: Name of the topic. + subscription_name: Name of the subscription. + fail_on_exist: + Specify whether throw exception when subscription exists. + ''' + _validate_not_none('topic_name', topic_name) + _validate_not_none('subscription_name', subscription_name) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(topic_name) + '/subscriptions/' + _str(subscription_name) + '' + request.body = _get_request_body( + _convert_subscription_to_xml(subscription)) + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + if not fail_on_exist: + try: + self._perform_request(request) + return True + except WindowsAzureError as ex: + _dont_fail_on_exist(ex) + return False + else: + self._perform_request(request) + return True + + def delete_subscription(self, topic_name, subscription_name, + fail_not_exist=False): + ''' + Deletes an existing subscription. + + topic_name: Name of the topic. + subscription_name: Name of the subscription to delete. + fail_not_exist: + Specify whether to throw an exception when the subscription + doesn't exist. + ''' + _validate_not_none('topic_name', topic_name) + _validate_not_none('subscription_name', subscription_name) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + \ + _str(topic_name) + '/subscriptions/' + _str(subscription_name) + '' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + if not fail_not_exist: + try: + self._perform_request(request) + return True + except WindowsAzureError as ex: + _dont_fail_not_exist(ex) + return False + else: + self._perform_request(request) + return True + + def get_subscription(self, topic_name, subscription_name): + ''' + Gets an existing subscription. + + topic_name: Name of the topic. + subscription_name: Name of the subscription. + ''' + _validate_not_none('topic_name', topic_name) + _validate_not_none('subscription_name', subscription_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + \ + _str(topic_name) + '/subscriptions/' + _str(subscription_name) + '' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + response = self._perform_request(request) + + return _convert_response_to_subscription(response) + + def list_subscriptions(self, topic_name): + ''' + Retrieves the subscriptions in the specified topic. + + topic_name: Name of the topic. + ''' + _validate_not_none('topic_name', topic_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + _str(topic_name) + '/subscriptions/' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + response = self._perform_request(request) + + return _convert_response_to_feeds(response, + _convert_xml_to_subscription) + + def send_topic_message(self, topic_name, message=None): + ''' + Enqueues a message into the specified topic. The limit to the number + of messages which may be present in the topic is governed by the + message size in MaxTopicSizeInBytes. If this message causes the topic + to exceed its quota, a quota exceeded error is returned and the + message will be rejected. + + topic_name: Name of the topic. + message: Message object containing message body and properties. + ''' + _validate_not_none('topic_name', topic_name) + _validate_not_none('message', message) + request = HTTPRequest() + request.method = 'POST' + request.host = self._get_host() + request.path = '/' + _str(topic_name) + '/messages' + request.headers = message.add_headers(request) + request.body = _get_request_body_bytes_only( + 'message.body', message.body) + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + self._perform_request(request) + + def peek_lock_subscription_message(self, topic_name, subscription_name, + timeout='60'): + ''' + This operation is used to atomically retrieve and lock a message for + processing. The message is guaranteed not to be delivered to other + receivers during the lock duration period specified in buffer + description. Once the lock expires, the message will be available to + other receivers (on the same subscription only) during the lock + duration period specified in the topic description. Once the lock + expires, the message will be available to other receivers. In order to + complete processing of the message, the receiver should issue a delete + command with the lock ID received from this operation. To abandon + processing of the message and unlock it for other receivers, an Unlock + Message command should be issued, or the lock duration period can + expire. + + topic_name: Name of the topic. + subscription_name: Name of the subscription. + timeout: Optional. The timeout parameter is expressed in seconds. + ''' + _validate_not_none('topic_name', topic_name) + _validate_not_none('subscription_name', subscription_name) + request = HTTPRequest() + request.method = 'POST' + request.host = self._get_host() + request.path = '/' + \ + _str(topic_name) + '/subscriptions/' + \ + _str(subscription_name) + '/messages/head' + request.query = [('timeout', _int_or_none(timeout))] + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + response = self._perform_request(request) + + return _create_message(response, self) + + def unlock_subscription_message(self, topic_name, subscription_name, + sequence_number, lock_token): + ''' + Unlock a message for processing by other receivers on a given + subscription. This operation deletes the lock object, causing the + message to be unlocked. A message must have first been locked by a + receiver before this operation is called. + + topic_name: Name of the topic. + subscription_name: Name of the subscription. + sequence_number: + The sequence number of the message to be unlocked as returned in + BrokerProperties['SequenceNumber'] by the Peek Message operation. + lock_token: + The ID of the lock as returned by the Peek Message operation in + BrokerProperties['LockToken'] + ''' + _validate_not_none('topic_name', topic_name) + _validate_not_none('subscription_name', subscription_name) + _validate_not_none('sequence_number', sequence_number) + _validate_not_none('lock_token', lock_token) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(topic_name) + \ + '/subscriptions/' + str(subscription_name) + \ + '/messages/' + _str(sequence_number) + \ + '/' + _str(lock_token) + '' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + self._perform_request(request) + + def read_delete_subscription_message(self, topic_name, subscription_name, + timeout='60'): + ''' + Read and delete a message from a subscription as an atomic operation. + This operation should be used when a best-effort guarantee is + sufficient for an application; that is, using this operation it is + possible for messages to be lost if processing fails. + + topic_name: Name of the topic. + subscription_name: Name of the subscription. + timeout: Optional. The timeout parameter is expressed in seconds. + ''' + _validate_not_none('topic_name', topic_name) + _validate_not_none('subscription_name', subscription_name) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + _str(topic_name) + \ + '/subscriptions/' + _str(subscription_name) + \ + '/messages/head' + request.query = [('timeout', _int_or_none(timeout))] + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + response = self._perform_request(request) + + return _create_message(response, self) + + def delete_subscription_message(self, topic_name, subscription_name, + sequence_number, lock_token): + ''' + Completes processing on a locked message and delete it from the + subscription. This operation should only be called after processing a + previously locked message is successful to maintain At-Least-Once + delivery assurances. + + topic_name: Name of the topic. + subscription_name: Name of the subscription. + sequence_number: + The sequence number of the message to be deleted as returned in + BrokerProperties['SequenceNumber'] by the Peek Message operation. + lock_token: + The ID of the lock as returned by the Peek Message operation in + BrokerProperties['LockToken'] + ''' + _validate_not_none('topic_name', topic_name) + _validate_not_none('subscription_name', subscription_name) + _validate_not_none('sequence_number', sequence_number) + _validate_not_none('lock_token', lock_token) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + _str(topic_name) + \ + '/subscriptions/' + _str(subscription_name) + \ + '/messages/' + _str(sequence_number) + \ + '/' + _str(lock_token) + '' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + self._perform_request(request) + + def send_queue_message(self, queue_name, message=None): + ''' + Sends a message into the specified queue. The limit to the number of + messages which may be present in the topic is governed by the message + size the MaxTopicSizeInMegaBytes. If this message will cause the queue + to exceed its quota, a quota exceeded error is returned and the + message will be rejected. + + queue_name: Name of the queue. + message: Message object containing message body and properties. + ''' + _validate_not_none('queue_name', queue_name) + _validate_not_none('message', message) + request = HTTPRequest() + request.method = 'POST' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '/messages' + request.headers = message.add_headers(request) + request.body = _get_request_body_bytes_only('message.body', + message.body) + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + self._perform_request(request) + + def peek_lock_queue_message(self, queue_name, timeout='60'): + ''' + Automically retrieves and locks a message from a queue for processing. + The message is guaranteed not to be delivered to other receivers (on + the same subscription only) during the lock duration period specified + in the queue description. Once the lock expires, the message will be + available to other receivers. In order to complete processing of the + message, the receiver should issue a delete command with the lock ID + received from this operation. To abandon processing of the message and + unlock it for other receivers, an Unlock Message command should be + issued, or the lock duration period can expire. + + queue_name: Name of the queue. + timeout: Optional. The timeout parameter is expressed in seconds. + ''' + _validate_not_none('queue_name', queue_name) + request = HTTPRequest() + request.method = 'POST' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '/messages/head' + request.query = [('timeout', _int_or_none(timeout))] + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + response = self._perform_request(request) + + return _create_message(response, self) + + def unlock_queue_message(self, queue_name, sequence_number, lock_token): + ''' + Unlocks a message for processing by other receivers on a given + subscription. This operation deletes the lock object, causing the + message to be unlocked. A message must have first been locked by a + receiver before this operation is called. + + queue_name: Name of the queue. + sequence_number: + The sequence number of the message to be unlocked as returned in + BrokerProperties['SequenceNumber'] by the Peek Message operation. + lock_token: + The ID of the lock as returned by the Peek Message operation in + BrokerProperties['LockToken'] + ''' + _validate_not_none('queue_name', queue_name) + _validate_not_none('sequence_number', sequence_number) + _validate_not_none('lock_token', lock_token) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + \ + '/messages/' + _str(sequence_number) + \ + '/' + _str(lock_token) + '' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + self._perform_request(request) + + def read_delete_queue_message(self, queue_name, timeout='60'): + ''' + Reads and deletes a message from a queue as an atomic operation. This + operation should be used when a best-effort guarantee is sufficient + for an application; that is, using this operation it is possible for + messages to be lost if processing fails. + + queue_name: Name of the queue. + timeout: Optional. The timeout parameter is expressed in seconds. + ''' + _validate_not_none('queue_name', queue_name) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '/messages/head' + request.query = [('timeout', _int_or_none(timeout))] + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + response = self._perform_request(request) + + return _create_message(response, self) + + def delete_queue_message(self, queue_name, sequence_number, lock_token): + ''' + Completes processing on a locked message and delete it from the queue. + This operation should only be called after processing a previously + locked message is successful to maintain At-Least-Once delivery + assurances. + + queue_name: Name of the queue. + sequence_number: + The sequence number of the message to be deleted as returned in + BrokerProperties['SequenceNumber'] by the Peek Message operation. + lock_token: + The ID of the lock as returned by the Peek Message operation in + BrokerProperties['LockToken'] + ''' + _validate_not_none('queue_name', queue_name) + _validate_not_none('sequence_number', sequence_number) + _validate_not_none('lock_token', lock_token) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + \ + '/messages/' + _str(sequence_number) + \ + '/' + _str(lock_token) + '' + request.path, request.query = _update_request_uri_query(request) + request.headers = self._update_service_bus_header(request) + self._perform_request(request) + + def receive_queue_message(self, queue_name, peek_lock=True, timeout=60): + ''' + Receive a message from a queue for processing. + + queue_name: Name of the queue. + peek_lock: + Optional. True to retrieve and lock the message. False to read and + delete the message. Default is True (lock). + timeout: Optional. The timeout parameter is expressed in seconds. + ''' + if peek_lock: + return self.peek_lock_queue_message(queue_name, timeout) + else: + return self.read_delete_queue_message(queue_name, timeout) + + def receive_subscription_message(self, topic_name, subscription_name, + peek_lock=True, timeout=60): + ''' + Receive a message from a subscription for processing. + + topic_name: Name of the topic. + subscription_name: Name of the subscription. + peek_lock: + Optional. True to retrieve and lock the message. False to read and + delete the message. Default is True (lock). + timeout: Optional. The timeout parameter is expressed in seconds. + ''' + if peek_lock: + return self.peek_lock_subscription_message(topic_name, + subscription_name, + timeout) + else: + return self.read_delete_subscription_message(topic_name, + subscription_name, + timeout) + + def _get_host(self): + return self.service_namespace + self.host_base + + def _perform_request(self, request): + try: + resp = self._filter(request) + except HTTPError as ex: + return _service_bus_error_handler(ex) + + return resp + + def _update_service_bus_header(self, request): + ''' Add additional headers for service bus. ''' + + if request.method in ['PUT', 'POST', 'MERGE', 'DELETE']: + request.headers.append(('Content-Length', str(len(request.body)))) + + # if it is not GET or HEAD request, must set content-type. + if not request.method in ['GET', 'HEAD']: + for name, _ in request.headers: + if 'content-type' == name.lower(): + break + else: + request.headers.append( + ('Content-Type', + 'application/atom+xml;type=entry;charset=utf-8')) + + # Adds authoriaztion header for authentication. + request.headers.append( + ('Authorization', self._sign_service_bus_request(request))) + + return request.headers + + def _sign_service_bus_request(self, request): + ''' return the signed string with token. ''' + + return 'WRAP access_token="' + \ + self._get_token(request.host, request.path) + '"' + + def _token_is_expired(self, token): + ''' Check if token expires or not. ''' + time_pos_begin = token.find('ExpiresOn=') + len('ExpiresOn=') + time_pos_end = token.find('&', time_pos_begin) + token_expire_time = int(token[time_pos_begin:time_pos_end]) + time_now = time.mktime(time.localtime()) + + # Adding 30 seconds so the token wouldn't be expired when we send the + # token to server. + return (token_expire_time - time_now) < 30 + + def _get_token(self, host, path): + ''' + Returns token for the request. + + host: the service bus service request. + path: the service bus service request. + ''' + wrap_scope = 'http://' + host + path + self.issuer + self.account_key + + # Check whether has unexpired cache, return cached token if it is still + # usable. + if wrap_scope in _tokens: + token = _tokens[wrap_scope] + if not self._token_is_expired(token): + return token + + # get token from accessconstrol server + request = HTTPRequest() + request.protocol_override = 'https' + request.host = host.replace('.servicebus.', '-sb.accesscontrol.') + request.method = 'POST' + request.path = '/WRAPv0.9' + request.body = ('wrap_name=' + url_quote(self.issuer) + + '&wrap_password=' + url_quote(self.account_key) + + '&wrap_scope=' + + url_quote('http://' + host + path)).encode('utf-8') + request.headers.append(('Content-Length', str(len(request.body)))) + resp = self._httpclient.perform_request(request) + + token = resp.body.decode('utf-8') + token = url_unquote(token[token.find('=') + 1:token.rfind('&')]) + _tokens[wrap_scope] = token + + return token diff --git a/awx/lib/site-packages/azure/servicemanagement/__init__.py b/awx/lib/site-packages/azure/servicemanagement/__init__.py new file mode 100644 index 0000000000..caca5db4ba --- /dev/null +++ b/awx/lib/site-packages/azure/servicemanagement/__init__.py @@ -0,0 +1,1692 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 xml.dom import minidom +from azure import ( + WindowsAzureData, + _Base64String, + _create_entry, + _dict_of, + _encode_base64, + _general_error_handler, + _get_children_from_path, + _get_first_child_node_value, + _list_of, + _scalar_list_of, + _str, + ) + +#----------------------------------------------------------------------------- +# Constants for Azure app environment settings. +AZURE_MANAGEMENT_CERTFILE = 'AZURE_MANAGEMENT_CERTFILE' +AZURE_MANAGEMENT_SUBSCRIPTIONID = 'AZURE_MANAGEMENT_SUBSCRIPTIONID' + +# x-ms-version for service management. +X_MS_VERSION = '2013-06-01' + +#----------------------------------------------------------------------------- +# Data classes + + +class StorageServices(WindowsAzureData): + + def __init__(self): + self.storage_services = _list_of(StorageService) + + def __iter__(self): + return iter(self.storage_services) + + def __len__(self): + return len(self.storage_services) + + def __getitem__(self, index): + return self.storage_services[index] + + +class StorageService(WindowsAzureData): + + def __init__(self): + self.url = '' + self.service_name = '' + self.storage_service_properties = StorageAccountProperties() + self.storage_service_keys = StorageServiceKeys() + self.extended_properties = _dict_of( + 'ExtendedProperty', 'Name', 'Value') + self.capabilities = _scalar_list_of(str, 'Capability') + + +class StorageAccountProperties(WindowsAzureData): + + def __init__(self): + self.description = u'' + self.affinity_group = u'' + self.location = u'' + self.label = _Base64String() + self.status = u'' + self.endpoints = _scalar_list_of(str, 'Endpoint') + self.geo_replication_enabled = False + self.geo_primary_region = u'' + self.status_of_primary = u'' + self.geo_secondary_region = u'' + self.status_of_secondary = u'' + self.last_geo_failover_time = u'' + + +class StorageServiceKeys(WindowsAzureData): + + def __init__(self): + self.primary = u'' + self.secondary = u'' + + +class Locations(WindowsAzureData): + + def __init__(self): + self.locations = _list_of(Location) + + def __iter__(self): + return iter(self.locations) + + def __len__(self): + return len(self.locations) + + def __getitem__(self, index): + return self.locations[index] + + +class Location(WindowsAzureData): + + def __init__(self): + self.name = u'' + self.display_name = u'' + self.available_services = _scalar_list_of(str, 'AvailableService') + + +class AffinityGroup(WindowsAzureData): + + def __init__(self): + self.name = '' + self.label = _Base64String() + self.description = u'' + self.location = u'' + self.hosted_services = HostedServices() + self.storage_services = StorageServices() + self.capabilities = _scalar_list_of(str, 'Capability') + + +class AffinityGroups(WindowsAzureData): + + def __init__(self): + self.affinity_groups = _list_of(AffinityGroup) + + def __iter__(self): + return iter(self.affinity_groups) + + def __len__(self): + return len(self.affinity_groups) + + def __getitem__(self, index): + return self.affinity_groups[index] + + +class HostedServices(WindowsAzureData): + + def __init__(self): + self.hosted_services = _list_of(HostedService) + + def __iter__(self): + return iter(self.hosted_services) + + def __len__(self): + return len(self.hosted_services) + + def __getitem__(self, index): + return self.hosted_services[index] + + +class HostedService(WindowsAzureData): + + def __init__(self): + self.url = u'' + self.service_name = u'' + self.hosted_service_properties = HostedServiceProperties() + self.deployments = Deployments() + + +class HostedServiceProperties(WindowsAzureData): + + def __init__(self): + self.description = u'' + self.location = u'' + self.affinity_group = u'' + self.label = _Base64String() + self.status = u'' + self.date_created = u'' + self.date_last_modified = u'' + self.extended_properties = _dict_of( + 'ExtendedProperty', 'Name', 'Value') + + +class VirtualNetworkSites(WindowsAzureData): + + def __init__(self): + self.virtual_network_sites = _list_of(VirtualNetworkSite) + + def __iter__(self): + return iter(self.virtual_network_sites) + + def __len__(self): + return len(self.virtual_network_sites) + + def __getitem__(self, index): + return self.virtual_network_sites[index] + + +class VirtualNetworkSite(WindowsAzureData): + + def __init__(self): + self.name = u'' + self.id = u'' + self.affinity_group = u'' + self.subnets = Subnets() + + +class Subnets(WindowsAzureData): + + def __init__(self): + self.subnets = _list_of(Subnet) + + def __iter__(self): + return iter(self.subnets) + + def __len__(self): + return len(self.subnets) + + def __getitem__(self, index): + return self.subnets[index] + + +class Subnet(WindowsAzureData): + + def __init__(self): + self.name = u'' + self.address_prefix = u'' + + + +class Deployments(WindowsAzureData): + + def __init__(self): + self.deployments = _list_of(Deployment) + + def __iter__(self): + return iter(self.deployments) + + def __len__(self): + return len(self.deployments) + + def __getitem__(self, index): + return self.deployments[index] + + +class Deployment(WindowsAzureData): + + def __init__(self): + self.name = u'' + self.deployment_slot = u'' + self.private_id = u'' + self.status = u'' + self.label = _Base64String() + self.url = u'' + self.configuration = _Base64String() + self.role_instance_list = RoleInstanceList() + self.upgrade_status = UpgradeStatus() + self.upgrade_domain_count = u'' + self.role_list = RoleList() + self.sdk_version = u'' + self.input_endpoint_list = InputEndpoints() + self.locked = False + self.rollback_allowed = False + self.persistent_vm_downtime_info = PersistentVMDowntimeInfo() + self.created_time = u'' + self.virtual_network_name = u'' + self.last_modified_time = u'' + self.extended_properties = _dict_of( + 'ExtendedProperty', 'Name', 'Value') + + +class RoleInstanceList(WindowsAzureData): + + def __init__(self): + self.role_instances = _list_of(RoleInstance) + + def __iter__(self): + return iter(self.role_instances) + + def __len__(self): + return len(self.role_instances) + + def __getitem__(self, index): + return self.role_instances[index] + + +class RoleInstance(WindowsAzureData): + + def __init__(self): + self.role_name = u'' + self.instance_name = u'' + self.instance_status = u'' + self.instance_upgrade_domain = 0 + self.instance_fault_domain = 0 + self.instance_size = u'' + self.instance_state_details = u'' + self.instance_error_code = u'' + self.ip_address = u'' + self.instance_endpoints = InstanceEndpoints() + self.power_state = u'' + self.fqdn = u'' + self.host_name = u'' + + +class InstanceEndpoints(WindowsAzureData): + + def __init__(self): + self.instance_endpoints = _list_of(InstanceEndpoint) + + def __iter__(self): + return iter(self.instance_endpoints) + + def __len__(self): + return len(self.instance_endpoints) + + def __getitem__(self, index): + return self.instance_endpoints[index] + + +class InstanceEndpoint(WindowsAzureData): + + def __init__(self): + self.name = u'' + self.vip = u'' + self.public_port = u'' + self.local_port = u'' + self.protocol = u'' + + +class UpgradeStatus(WindowsAzureData): + + def __init__(self): + self.upgrade_type = u'' + self.current_upgrade_domain_state = u'' + self.current_upgrade_domain = u'' + + +class InputEndpoints(WindowsAzureData): + + def __init__(self): + self.input_endpoints = _list_of(InputEndpoint) + + def __iter__(self): + return iter(self.input_endpoints) + + def __len__(self): + return len(self.input_endpoints) + + def __getitem__(self, index): + return self.input_endpoints[index] + + +class InputEndpoint(WindowsAzureData): + + def __init__(self): + self.role_name = u'' + self.vip = u'' + self.port = u'' + + +class RoleList(WindowsAzureData): + + def __init__(self): + self.roles = _list_of(Role) + + def __iter__(self): + return iter(self.roles) + + def __len__(self): + return len(self.roles) + + def __getitem__(self, index): + return self.roles[index] + + +class Role(WindowsAzureData): + + def __init__(self): + self.role_name = u'' + self.role_type = u'' + self.os_version = u'' + self.configuration_sets = ConfigurationSets() + self.availability_set_name = u'' + self.data_virtual_hard_disks = DataVirtualHardDisks() + self.os_virtual_hard_disk = OSVirtualHardDisk() + self.role_size = u'' + self.default_win_rm_certificate_thumbprint = u'' + + +class PersistentVMDowntimeInfo(WindowsAzureData): + + def __init__(self): + self.start_time = u'' + self.end_time = u'' + self.status = u'' + + +class Certificates(WindowsAzureData): + + def __init__(self): + self.certificates = _list_of(Certificate) + + def __iter__(self): + return iter(self.certificates) + + def __len__(self): + return len(self.certificates) + + def __getitem__(self, index): + return self.certificates[index] + + +class Certificate(WindowsAzureData): + + def __init__(self): + self.certificate_url = u'' + self.thumbprint = u'' + self.thumbprint_algorithm = u'' + self.data = u'' + + +class OperationError(WindowsAzureData): + + def __init__(self): + self.code = u'' + self.message = u'' + + +class Operation(WindowsAzureData): + + def __init__(self): + self.id = u'' + self.status = u'' + self.http_status_code = u'' + self.error = OperationError() + + +class OperatingSystem(WindowsAzureData): + + def __init__(self): + self.version = u'' + self.label = _Base64String() + self.is_default = True + self.is_active = True + self.family = 0 + self.family_label = _Base64String() + + +class OperatingSystems(WindowsAzureData): + + def __init__(self): + self.operating_systems = _list_of(OperatingSystem) + + def __iter__(self): + return iter(self.operating_systems) + + def __len__(self): + return len(self.operating_systems) + + def __getitem__(self, index): + return self.operating_systems[index] + + +class OperatingSystemFamily(WindowsAzureData): + + def __init__(self): + self.name = u'' + self.label = _Base64String() + self.operating_systems = OperatingSystems() + + +class OperatingSystemFamilies(WindowsAzureData): + + def __init__(self): + self.operating_system_families = _list_of(OperatingSystemFamily) + + def __iter__(self): + return iter(self.operating_system_families) + + def __len__(self): + return len(self.operating_system_families) + + def __getitem__(self, index): + return self.operating_system_families[index] + + +class Subscription(WindowsAzureData): + + def __init__(self): + self.subscription_id = u'' + self.subscription_name = u'' + self.subscription_status = u'' + self.account_admin_live_email_id = u'' + self.service_admin_live_email_id = u'' + self.max_core_count = 0 + self.max_storage_accounts = 0 + self.max_hosted_services = 0 + self.current_core_count = 0 + self.current_hosted_services = 0 + self.current_storage_accounts = 0 + self.max_virtual_network_sites = 0 + self.max_local_network_sites = 0 + self.max_dns_servers = 0 + + +class AvailabilityResponse(WindowsAzureData): + + def __init__(self): + self.result = False + + +class SubscriptionCertificates(WindowsAzureData): + + def __init__(self): + self.subscription_certificates = _list_of(SubscriptionCertificate) + + def __iter__(self): + return iter(self.subscription_certificates) + + def __len__(self): + return len(self.subscription_certificates) + + def __getitem__(self, index): + return self.subscription_certificates[index] + + +class SubscriptionCertificate(WindowsAzureData): + + def __init__(self): + self.subscription_certificate_public_key = u'' + self.subscription_certificate_thumbprint = u'' + self.subscription_certificate_data = u'' + self.created = u'' + + +class Images(WindowsAzureData): + + def __init__(self): + self.images = _list_of(OSImage) + + def __iter__(self): + return iter(self.images) + + def __len__(self): + return len(self.images) + + def __getitem__(self, index): + return self.images[index] + + +class OSImage(WindowsAzureData): + + def __init__(self): + self.affinity_group = u'' + self.category = u'' + self.location = u'' + self.logical_size_in_gb = 0 + self.label = u'' + self.media_link = u'' + self.name = u'' + self.os = u'' + self.eula = u'' + self.description = u'' + + +class Disks(WindowsAzureData): + + def __init__(self): + self.disks = _list_of(Disk) + + def __iter__(self): + return iter(self.disks) + + def __len__(self): + return len(self.disks) + + def __getitem__(self, index): + return self.disks[index] + + +class Disk(WindowsAzureData): + + def __init__(self): + self.affinity_group = u'' + self.attached_to = AttachedTo() + self.has_operating_system = u'' + self.is_corrupted = u'' + self.location = u'' + self.logical_disk_size_in_gb = 0 + self.label = u'' + self.media_link = u'' + self.name = u'' + self.os = u'' + self.source_image_name = u'' + + +class AttachedTo(WindowsAzureData): + + def __init__(self): + self.hosted_service_name = u'' + self.deployment_name = u'' + self.role_name = u'' + + +class PersistentVMRole(WindowsAzureData): + + def __init__(self): + self.role_name = u'' + self.role_type = u'' + self.os_version = u'' # undocumented + self.configuration_sets = ConfigurationSets() + self.availability_set_name = u'' + self.data_virtual_hard_disks = DataVirtualHardDisks() + self.os_virtual_hard_disk = OSVirtualHardDisk() + self.role_size = u'' + self.default_win_rm_certificate_thumbprint = u'' + + +class ConfigurationSets(WindowsAzureData): + + def __init__(self): + self.configuration_sets = _list_of(ConfigurationSet) + + def __iter__(self): + return iter(self.configuration_sets) + + def __len__(self): + return len(self.configuration_sets) + + def __getitem__(self, index): + return self.configuration_sets[index] + + +class ConfigurationSet(WindowsAzureData): + + def __init__(self): + self.configuration_set_type = u'NetworkConfiguration' + self.role_type = u'' + self.input_endpoints = ConfigurationSetInputEndpoints() + self.subnet_names = _scalar_list_of(str, 'SubnetName') + + +class ConfigurationSetInputEndpoints(WindowsAzureData): + + def __init__(self): + self.input_endpoints = _list_of( + ConfigurationSetInputEndpoint, 'InputEndpoint') + + def __iter__(self): + return iter(self.input_endpoints) + + def __len__(self): + return len(self.input_endpoints) + + def __getitem__(self, index): + return self.input_endpoints[index] + + +class ConfigurationSetInputEndpoint(WindowsAzureData): + + ''' + Initializes a network configuration input endpoint. + + name: Specifies the name for the external endpoint. + protocol: + Specifies the protocol to use to inspect the virtual machine + availability status. Possible values are: HTTP, TCP. + port: Specifies the external port to use for the endpoint. + local_port: + Specifies the internal port on which the virtual machine is listening + to serve the endpoint. + load_balanced_endpoint_set_name: + Specifies a name for a set of load-balanced endpoints. Specifying this + element for a given endpoint adds it to the set. If you are setting an + endpoint to use to connect to the virtual machine via the Remote + Desktop, do not set this property. + enable_direct_server_return: + Specifies whether direct server return load balancing is enabled. + ''' + + def __init__(self, name=u'', protocol=u'', port=u'', local_port=u'', + load_balanced_endpoint_set_name=u'', + enable_direct_server_return=False): + self.enable_direct_server_return = enable_direct_server_return + self.load_balanced_endpoint_set_name = load_balanced_endpoint_set_name + self.local_port = local_port + self.name = name + self.port = port + self.load_balancer_probe = LoadBalancerProbe() + self.protocol = protocol + + +class WindowsConfigurationSet(WindowsAzureData): + + def __init__(self, computer_name=None, admin_password=None, + reset_password_on_first_logon=None, + enable_automatic_updates=None, time_zone=None, + admin_username=None): + self.configuration_set_type = u'WindowsProvisioningConfiguration' + self.computer_name = computer_name + self.admin_password = admin_password + self.admin_username = admin_username + self.reset_password_on_first_logon = reset_password_on_first_logon + self.enable_automatic_updates = enable_automatic_updates + self.time_zone = time_zone + self.domain_join = DomainJoin() + self.stored_certificate_settings = StoredCertificateSettings() + self.win_rm = WinRM() + + +class DomainJoin(WindowsAzureData): + + def __init__(self): + self.credentials = Credentials() + self.join_domain = u'' + self.machine_object_ou = u'' + + +class Credentials(WindowsAzureData): + + def __init__(self): + self.domain = u'' + self.username = u'' + self.password = u'' + + +class StoredCertificateSettings(WindowsAzureData): + + def __init__(self): + self.stored_certificate_settings = _list_of(CertificateSetting) + + def __iter__(self): + return iter(self.stored_certificate_settings) + + def __len__(self): + return len(self.stored_certificate_settings) + + def __getitem__(self, index): + return self.stored_certificate_settings[index] + + +class CertificateSetting(WindowsAzureData): + + ''' + Initializes a certificate setting. + + thumbprint: + Specifies the thumbprint of the certificate to be provisioned. The + thumbprint must specify an existing service certificate. + store_name: + Specifies the name of the certificate store from which retrieve + certificate. + store_location: + Specifies the target certificate store location on the virtual machine. + The only supported value is LocalMachine. + ''' + + def __init__(self, thumbprint=u'', store_name=u'', store_location=u''): + self.thumbprint = thumbprint + self.store_name = store_name + self.store_location = store_location + + +class WinRM(WindowsAzureData): + + ''' + Contains configuration settings for the Windows Remote Management service on + the Virtual Machine. + ''' + + def __init__(self): + self.listeners = Listeners() + + +class Listeners(WindowsAzureData): + + def __init__(self): + self.listeners = _list_of(Listener) + + def __iter__(self): + return iter(self.listeners) + + def __len__(self): + return len(self.listeners) + + def __getitem__(self, index): + return self.listeners[index] + + +class Listener(WindowsAzureData): + + ''' + Specifies the protocol and certificate information for the listener. + + protocol: + Specifies the protocol of listener. Possible values are: Http, Https. + The value is case sensitive. + certificate_thumbprint: + Optional. Specifies the certificate thumbprint for the secure + connection. If this value is not specified, a self-signed certificate is + generated and used for the Virtual Machine. + ''' + + def __init__(self, protocol=u'', certificate_thumbprint=u''): + self.protocol = protocol + self.certificate_thumbprint = certificate_thumbprint + + +class LinuxConfigurationSet(WindowsAzureData): + + def __init__(self, host_name=None, user_name=None, user_password=None, + disable_ssh_password_authentication=None): + self.configuration_set_type = u'LinuxProvisioningConfiguration' + self.host_name = host_name + self.user_name = user_name + self.user_password = user_password + self.disable_ssh_password_authentication =\ + disable_ssh_password_authentication + self.ssh = SSH() + + +class SSH(WindowsAzureData): + + def __init__(self): + self.public_keys = PublicKeys() + self.key_pairs = KeyPairs() + + +class PublicKeys(WindowsAzureData): + + def __init__(self): + self.public_keys = _list_of(PublicKey) + + def __iter__(self): + return iter(self.public_keys) + + def __len__(self): + return len(self.public_keys) + + def __getitem__(self, index): + return self.public_keys[index] + + +class PublicKey(WindowsAzureData): + + def __init__(self, fingerprint=u'', path=u''): + self.fingerprint = fingerprint + self.path = path + + +class KeyPairs(WindowsAzureData): + + def __init__(self): + self.key_pairs = _list_of(KeyPair) + + def __iter__(self): + return iter(self.key_pairs) + + def __len__(self): + return len(self.key_pairs) + + def __getitem__(self, index): + return self.key_pairs[index] + + +class KeyPair(WindowsAzureData): + + def __init__(self, fingerprint=u'', path=u''): + self.fingerprint = fingerprint + self.path = path + + +class LoadBalancerProbe(WindowsAzureData): + + def __init__(self): + self.path = u'' + self.port = u'' + self.protocol = u'' + + +class DataVirtualHardDisks(WindowsAzureData): + + def __init__(self): + self.data_virtual_hard_disks = _list_of(DataVirtualHardDisk) + + def __iter__(self): + return iter(self.data_virtual_hard_disks) + + def __len__(self): + return len(self.data_virtual_hard_disks) + + def __getitem__(self, index): + return self.data_virtual_hard_disks[index] + + +class DataVirtualHardDisk(WindowsAzureData): + + def __init__(self): + self.host_caching = u'' + self.disk_label = u'' + self.disk_name = u'' + self.lun = 0 + self.logical_disk_size_in_gb = 0 + self.media_link = u'' + + +class OSVirtualHardDisk(WindowsAzureData): + + def __init__(self, source_image_name=None, media_link=None, + host_caching=None, disk_label=None, disk_name=None): + self.source_image_name = source_image_name + self.media_link = media_link + self.host_caching = host_caching + self.disk_label = disk_label + self.disk_name = disk_name + self.os = u'' # undocumented, not used when adding a role + + +class AsynchronousOperationResult(WindowsAzureData): + + def __init__(self, request_id=None): + self.request_id = request_id + + +class ServiceBusRegion(WindowsAzureData): + + def __init__(self): + self.code = u'' + self.fullname = u'' + + +class ServiceBusNamespace(WindowsAzureData): + + def __init__(self): + self.name = u'' + self.region = u'' + self.default_key = u'' + self.status = u'' + self.created_at = u'' + self.acs_management_endpoint = u'' + self.servicebus_endpoint = u'' + self.connection_string = u'' + self.subscription_id = u'' + self.enabled = False + + +def _update_management_header(request): + ''' Add additional headers for management. ''' + + if request.method in ['PUT', 'POST', 'MERGE', 'DELETE']: + request.headers.append(('Content-Length', str(len(request.body)))) + + # append additional headers base on the service + request.headers.append(('x-ms-version', X_MS_VERSION)) + + # if it is not GET or HEAD request, must set content-type. + if not request.method in ['GET', 'HEAD']: + for name, _ in request.headers: + if 'content-type' == name.lower(): + break + else: + request.headers.append( + ('Content-Type', + 'application/atom+xml;type=entry;charset=utf-8')) + + return request.headers + + +def _parse_response_for_async_op(response): + ''' Extracts request id from response header. ''' + + if response is None: + return None + + result = AsynchronousOperationResult() + if response.headers: + for name, value in response.headers: + if name.lower() == 'x-ms-request-id': + result.request_id = value + + return result + + +def _management_error_handler(http_error): + ''' Simple error handler for management service. ''' + return _general_error_handler(http_error) + + +def _lower(text): + return text.lower() + + +class _XmlSerializer(object): + + @staticmethod + def create_storage_service_input_to_xml(service_name, description, label, + affinity_group, location, + geo_replication_enabled, + extended_properties): + return _XmlSerializer.doc_from_data( + 'CreateStorageServiceInput', + [('ServiceName', service_name), + ('Description', description), + ('Label', label, _encode_base64), + ('AffinityGroup', affinity_group), + ('Location', location), + ('GeoReplicationEnabled', geo_replication_enabled, _lower)], + extended_properties) + + @staticmethod + def update_storage_service_input_to_xml(description, label, + geo_replication_enabled, + extended_properties): + return _XmlSerializer.doc_from_data( + 'UpdateStorageServiceInput', + [('Description', description), + ('Label', label, _encode_base64), + ('GeoReplicationEnabled', geo_replication_enabled, _lower)], + extended_properties) + + @staticmethod + def regenerate_keys_to_xml(key_type): + return _XmlSerializer.doc_from_data('RegenerateKeys', + [('KeyType', key_type)]) + + @staticmethod + def update_hosted_service_to_xml(label, description, extended_properties): + return _XmlSerializer.doc_from_data('UpdateHostedService', + [('Label', label, _encode_base64), + ('Description', description)], + extended_properties) + + @staticmethod + def create_hosted_service_to_xml(service_name, label, description, + location, affinity_group, + extended_properties): + return _XmlSerializer.doc_from_data( + 'CreateHostedService', + [('ServiceName', service_name), + ('Label', label, _encode_base64), + ('Description', description), + ('Location', location), + ('AffinityGroup', affinity_group)], + extended_properties) + + @staticmethod + def create_deployment_to_xml(name, package_url, label, configuration, + start_deployment, treat_warnings_as_error, + extended_properties): + return _XmlSerializer.doc_from_data( + 'CreateDeployment', + [('Name', name), + ('PackageUrl', package_url), + ('Label', label, _encode_base64), + ('Configuration', configuration), + ('StartDeployment', + start_deployment, _lower), + ('TreatWarningsAsError', treat_warnings_as_error, _lower)], + extended_properties) + + @staticmethod + def swap_deployment_to_xml(production, source_deployment): + return _XmlSerializer.doc_from_data( + 'Swap', + [('Production', production), + ('SourceDeployment', source_deployment)]) + + @staticmethod + def update_deployment_status_to_xml(status): + return _XmlSerializer.doc_from_data( + 'UpdateDeploymentStatus', + [('Status', status)]) + + @staticmethod + def change_deployment_to_xml(configuration, treat_warnings_as_error, mode, + extended_properties): + return _XmlSerializer.doc_from_data( + 'ChangeConfiguration', + [('Configuration', configuration), + ('TreatWarningsAsError', treat_warnings_as_error, _lower), + ('Mode', mode)], + extended_properties) + + @staticmethod + def upgrade_deployment_to_xml(mode, package_url, configuration, label, + role_to_upgrade, force, extended_properties): + return _XmlSerializer.doc_from_data( + 'UpgradeDeployment', + [('Mode', mode), + ('PackageUrl', package_url), + ('Configuration', configuration), + ('Label', label, _encode_base64), + ('RoleToUpgrade', role_to_upgrade), + ('Force', force, _lower)], + extended_properties) + + @staticmethod + def rollback_upgrade_to_xml(mode, force): + return _XmlSerializer.doc_from_data( + 'RollbackUpdateOrUpgrade', + [('Mode', mode), + ('Force', force, _lower)]) + + @staticmethod + def walk_upgrade_domain_to_xml(upgrade_domain): + return _XmlSerializer.doc_from_data( + 'WalkUpgradeDomain', + [('UpgradeDomain', upgrade_domain)]) + + @staticmethod + def certificate_file_to_xml(data, certificate_format, password): + return _XmlSerializer.doc_from_data( + 'CertificateFile', + [('Data', data), + ('CertificateFormat', certificate_format), + ('Password', password)]) + + @staticmethod + def create_affinity_group_to_xml(name, label, description, location): + return _XmlSerializer.doc_from_data( + 'CreateAffinityGroup', + [('Name', name), + ('Label', label, _encode_base64), + ('Description', description), + ('Location', location)]) + + @staticmethod + def update_affinity_group_to_xml(label, description): + return _XmlSerializer.doc_from_data( + 'UpdateAffinityGroup', + [('Label', label, _encode_base64), + ('Description', description)]) + + @staticmethod + def subscription_certificate_to_xml(public_key, thumbprint, data): + return _XmlSerializer.doc_from_data( + 'SubscriptionCertificate', + [('SubscriptionCertificatePublicKey', public_key), + ('SubscriptionCertificateThumbprint', thumbprint), + ('SubscriptionCertificateData', data)]) + + @staticmethod + def os_image_to_xml(label, media_link, name, os): + return _XmlSerializer.doc_from_data( + 'OSImage', + [('Label', label), + ('MediaLink', media_link), + ('Name', name), + ('OS', os)]) + + @staticmethod + def data_virtual_hard_disk_to_xml(host_caching, disk_label, disk_name, lun, + logical_disk_size_in_gb, media_link, + source_media_link): + return _XmlSerializer.doc_from_data( + 'DataVirtualHardDisk', + [('HostCaching', host_caching), + ('DiskLabel', disk_label), + ('DiskName', disk_name), + ('Lun', lun), + ('LogicalDiskSizeInGB', logical_disk_size_in_gb), + ('MediaLink', media_link), + ('SourceMediaLink', source_media_link)]) + + @staticmethod + def disk_to_xml(has_operating_system, label, media_link, name, os): + return _XmlSerializer.doc_from_data( + 'Disk', + [('HasOperatingSystem', has_operating_system, _lower), + ('Label', label), + ('MediaLink', media_link), + ('Name', name), + ('OS', os)]) + + @staticmethod + def restart_role_operation_to_xml(): + return _XmlSerializer.doc_from_xml( + 'RestartRoleOperation', + '<OperationType>RestartRoleOperation</OperationType>') + + @staticmethod + def shutdown_role_operation_to_xml(post_shutdown_action): + xml = _XmlSerializer.data_to_xml( + [('OperationType', 'ShutdownRoleOperation'), + ('PostShutdownAction', post_shutdown_action)]) + return _XmlSerializer.doc_from_xml('ShutdownRoleOperation', xml) + + @staticmethod + def shutdown_roles_operation_to_xml(role_names, post_shutdown_action): + xml = _XmlSerializer.data_to_xml( + [('OperationType', 'ShutdownRolesOperation')]) + xml += '<Roles>' + for role_name in role_names: + xml += _XmlSerializer.data_to_xml([('Name', role_name)]) + xml += '</Roles>' + xml += _XmlSerializer.data_to_xml( + [('PostShutdownAction', post_shutdown_action)]) + return _XmlSerializer.doc_from_xml('ShutdownRolesOperation', xml) + + @staticmethod + def start_role_operation_to_xml(): + return _XmlSerializer.doc_from_xml( + 'StartRoleOperation', + '<OperationType>StartRoleOperation</OperationType>') + + @staticmethod + def start_roles_operation_to_xml(role_names): + xml = _XmlSerializer.data_to_xml( + [('OperationType', 'StartRolesOperation')]) + xml += '<Roles>' + for role_name in role_names: + xml += _XmlSerializer.data_to_xml([('Name', role_name)]) + xml += '</Roles>' + return _XmlSerializer.doc_from_xml('StartRolesOperation', xml) + + @staticmethod + def windows_configuration_to_xml(configuration): + xml = _XmlSerializer.data_to_xml( + [('ConfigurationSetType', configuration.configuration_set_type), + ('ComputerName', configuration.computer_name), + ('AdminPassword', configuration.admin_password), + ('ResetPasswordOnFirstLogon', + configuration.reset_password_on_first_logon, + _lower), + ('EnableAutomaticUpdates', + configuration.enable_automatic_updates, + _lower), + ('TimeZone', configuration.time_zone)]) + + if configuration.domain_join is not None: + xml += '<DomainJoin>' + xml += '<Credentials>' + xml += _XmlSerializer.data_to_xml( + [('Domain', configuration.domain_join.credentials.domain), + ('Username', configuration.domain_join.credentials.username), + ('Password', configuration.domain_join.credentials.password)]) + xml += '</Credentials>' + xml += _XmlSerializer.data_to_xml( + [('JoinDomain', configuration.domain_join.join_domain), + ('MachineObjectOU', + configuration.domain_join.machine_object_ou)]) + xml += '</DomainJoin>' + if configuration.stored_certificate_settings is not None: + xml += '<StoredCertificateSettings>' + for cert in configuration.stored_certificate_settings: + xml += '<CertificateSetting>' + xml += _XmlSerializer.data_to_xml( + [('StoreLocation', cert.store_location), + ('StoreName', cert.store_name), + ('Thumbprint', cert.thumbprint)]) + xml += '</CertificateSetting>' + xml += '</StoredCertificateSettings>' + if configuration.win_rm is not None: + xml += '<WinRM><Listeners>' + for listener in configuration.win_rm.listeners: + xml += '<Listener>' + xml += _XmlSerializer.data_to_xml( + [('Protocol', listener.protocol), + ('CertificateThumbprint', listener.certificate_thumbprint)]) + xml += '</Listener>' + xml += '</Listeners></WinRM>' + xml += _XmlSerializer.data_to_xml( + [('AdminUsername', configuration.admin_username)]) + return xml + + @staticmethod + def linux_configuration_to_xml(configuration): + xml = _XmlSerializer.data_to_xml( + [('ConfigurationSetType', configuration.configuration_set_type), + ('HostName', configuration.host_name), + ('UserName', configuration.user_name), + ('UserPassword', configuration.user_password), + ('DisableSshPasswordAuthentication', + configuration.disable_ssh_password_authentication, + _lower)]) + + if configuration.ssh is not None: + xml += '<SSH>' + xml += '<PublicKeys>' + for key in configuration.ssh.public_keys: + xml += '<PublicKey>' + xml += _XmlSerializer.data_to_xml( + [('Fingerprint', key.fingerprint), + ('Path', key.path)]) + xml += '</PublicKey>' + xml += '</PublicKeys>' + xml += '<KeyPairs>' + for key in configuration.ssh.key_pairs: + xml += '<KeyPair>' + xml += _XmlSerializer.data_to_xml( + [('Fingerprint', key.fingerprint), + ('Path', key.path)]) + xml += '</KeyPair>' + xml += '</KeyPairs>' + xml += '</SSH>' + return xml + + @staticmethod + def network_configuration_to_xml(configuration): + xml = _XmlSerializer.data_to_xml( + [('ConfigurationSetType', configuration.configuration_set_type)]) + xml += '<InputEndpoints>' + for endpoint in configuration.input_endpoints: + xml += '<InputEndpoint>' + xml += _XmlSerializer.data_to_xml( + [('LoadBalancedEndpointSetName', + endpoint.load_balanced_endpoint_set_name), + ('LocalPort', endpoint.local_port), + ('Name', endpoint.name), + ('Port', endpoint.port)]) + + if endpoint.load_balancer_probe.path or\ + endpoint.load_balancer_probe.port or\ + endpoint.load_balancer_probe.protocol: + xml += '<LoadBalancerProbe>' + xml += _XmlSerializer.data_to_xml( + [('Path', endpoint.load_balancer_probe.path), + ('Port', endpoint.load_balancer_probe.port), + ('Protocol', endpoint.load_balancer_probe.protocol)]) + xml += '</LoadBalancerProbe>' + + xml += _XmlSerializer.data_to_xml( + [('Protocol', endpoint.protocol), + ('EnableDirectServerReturn', + endpoint.enable_direct_server_return, + _lower)]) + + xml += '</InputEndpoint>' + xml += '</InputEndpoints>' + xml += '<SubnetNames>' + for name in configuration.subnet_names: + xml += _XmlSerializer.data_to_xml([('SubnetName', name)]) + xml += '</SubnetNames>' + return xml + + @staticmethod + def role_to_xml(availability_set_name, data_virtual_hard_disks, + network_configuration_set, os_virtual_hard_disk, role_name, + role_size, role_type, system_configuration_set): + xml = _XmlSerializer.data_to_xml([('RoleName', role_name), + ('RoleType', role_type)]) + + xml += '<ConfigurationSets>' + + if system_configuration_set is not None: + xml += '<ConfigurationSet>' + if isinstance(system_configuration_set, WindowsConfigurationSet): + xml += _XmlSerializer.windows_configuration_to_xml( + system_configuration_set) + elif isinstance(system_configuration_set, LinuxConfigurationSet): + xml += _XmlSerializer.linux_configuration_to_xml( + system_configuration_set) + xml += '</ConfigurationSet>' + + if network_configuration_set is not None: + xml += '<ConfigurationSet>' + xml += _XmlSerializer.network_configuration_to_xml( + network_configuration_set) + xml += '</ConfigurationSet>' + + xml += '</ConfigurationSets>' + + if availability_set_name is not None: + xml += _XmlSerializer.data_to_xml( + [('AvailabilitySetName', availability_set_name)]) + + if data_virtual_hard_disks is not None: + xml += '<DataVirtualHardDisks>' + for hd in data_virtual_hard_disks: + xml += '<DataVirtualHardDisk>' + xml += _XmlSerializer.data_to_xml( + [('HostCaching', hd.host_caching), + ('DiskLabel', hd.disk_label), + ('DiskName', hd.disk_name), + ('Lun', hd.lun), + ('LogicalDiskSizeInGB', hd.logical_disk_size_in_gb), + ('MediaLink', hd.media_link)]) + xml += '</DataVirtualHardDisk>' + xml += '</DataVirtualHardDisks>' + + if os_virtual_hard_disk is not None: + xml += '<OSVirtualHardDisk>' + xml += _XmlSerializer.data_to_xml( + [('HostCaching', os_virtual_hard_disk.host_caching), + ('DiskLabel', os_virtual_hard_disk.disk_label), + ('DiskName', os_virtual_hard_disk.disk_name), + ('MediaLink', os_virtual_hard_disk.media_link), + ('SourceImageName', os_virtual_hard_disk.source_image_name)]) + xml += '</OSVirtualHardDisk>' + + if role_size is not None: + xml += _XmlSerializer.data_to_xml([('RoleSize', role_size)]) + + return xml + + @staticmethod + def add_role_to_xml(role_name, system_configuration_set, + os_virtual_hard_disk, role_type, + network_configuration_set, availability_set_name, + data_virtual_hard_disks, role_size): + xml = _XmlSerializer.role_to_xml( + availability_set_name, + data_virtual_hard_disks, + network_configuration_set, + os_virtual_hard_disk, + role_name, + role_size, + role_type, + system_configuration_set) + return _XmlSerializer.doc_from_xml('PersistentVMRole', xml) + + @staticmethod + def update_role_to_xml(role_name, os_virtual_hard_disk, role_type, + network_configuration_set, availability_set_name, + data_virtual_hard_disks, role_size): + xml = _XmlSerializer.role_to_xml( + availability_set_name, + data_virtual_hard_disks, + network_configuration_set, + os_virtual_hard_disk, + role_name, + role_size, + role_type, + None) + return _XmlSerializer.doc_from_xml('PersistentVMRole', xml) + + @staticmethod + def capture_role_to_xml(post_capture_action, target_image_name, + target_image_label, provisioning_configuration): + xml = _XmlSerializer.data_to_xml( + [('OperationType', 'CaptureRoleOperation'), + ('PostCaptureAction', post_capture_action)]) + + if provisioning_configuration is not None: + xml += '<ProvisioningConfiguration>' + if isinstance(provisioning_configuration, WindowsConfigurationSet): + xml += _XmlSerializer.windows_configuration_to_xml( + provisioning_configuration) + elif isinstance(provisioning_configuration, LinuxConfigurationSet): + xml += _XmlSerializer.linux_configuration_to_xml( + provisioning_configuration) + xml += '</ProvisioningConfiguration>' + + xml += _XmlSerializer.data_to_xml( + [('TargetImageLabel', target_image_label), + ('TargetImageName', target_image_name)]) + + return _XmlSerializer.doc_from_xml('CaptureRoleOperation', xml) + + @staticmethod + def virtual_machine_deployment_to_xml(deployment_name, deployment_slot, + label, role_name, + system_configuration_set, + os_virtual_hard_disk, role_type, + network_configuration_set, + availability_set_name, + data_virtual_hard_disks, role_size, + virtual_network_name): + xml = _XmlSerializer.data_to_xml([('Name', deployment_name), + ('DeploymentSlot', deployment_slot), + ('Label', label)]) + xml += '<RoleList>' + xml += '<Role>' + xml += _XmlSerializer.role_to_xml( + availability_set_name, + data_virtual_hard_disks, + network_configuration_set, + os_virtual_hard_disk, + role_name, + role_size, + role_type, + system_configuration_set) + xml += '</Role>' + xml += '</RoleList>' + + if virtual_network_name is not None: + xml += _XmlSerializer.data_to_xml( + [('VirtualNetworkName', virtual_network_name)]) + + return _XmlSerializer.doc_from_xml('Deployment', xml) + + @staticmethod + def data_to_xml(data): + '''Creates an xml fragment from the specified data. + data: Array of tuples, where first: xml element name + second: xml element text + third: conversion function + ''' + xml = '' + for element in data: + name = element[0] + val = element[1] + if len(element) > 2: + converter = element[2] + else: + converter = None + + if val is not None: + if converter is not None: + text = _str(converter(_str(val))) + else: + text = _str(val) + + xml += ''.join(['<', name, '>', text, '</', name, '>']) + return xml + + @staticmethod + def doc_from_xml(document_element_name, inner_xml): + '''Wraps the specified xml in an xml root element with default azure + namespaces''' + xml = ''.join(['<', document_element_name, + ' xmlns:i="http://www.w3.org/2001/XMLSchema-instance"', + ' xmlns="http://schemas.microsoft.com/windowsazure">']) + xml += inner_xml + xml += ''.join(['</', document_element_name, '>']) + return xml + + @staticmethod + def doc_from_data(document_element_name, data, extended_properties=None): + xml = _XmlSerializer.data_to_xml(data) + if extended_properties is not None: + xml += _XmlSerializer.extended_properties_dict_to_xml_fragment( + extended_properties) + return _XmlSerializer.doc_from_xml(document_element_name, xml) + + @staticmethod + def extended_properties_dict_to_xml_fragment(extended_properties): + xml = '' + if extended_properties is not None and len(extended_properties) > 0: + xml += '<ExtendedProperties>' + for key, val in extended_properties.items(): + xml += ''.join(['<ExtendedProperty>', + '<Name>', + _str(key), + '</Name>', + '<Value>', + _str(val), + '</Value>', + '</ExtendedProperty>']) + xml += '</ExtendedProperties>' + return xml + + +def _parse_bool(value): + if value.lower() == 'true': + return True + return False + + +class _ServiceBusManagementXmlSerializer(object): + + @staticmethod + def namespace_to_xml(region): + '''Converts a service bus namespace description to xml + + The xml format: +<?xml version="1.0" encoding="utf-8" standalone="yes"?> +<entry xmlns="http://www.w3.org/2005/Atom"> + <content type="application/xml"> + <NamespaceDescription + xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect"> + <Region>West US</Region> + </NamespaceDescription> + </content> +</entry> + ''' + body = '<NamespaceDescription xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect">' + body += ''.join(['<Region>', region, '</Region>']) + body += '</NamespaceDescription>' + + return _create_entry(body) + + @staticmethod + def xml_to_namespace(xmlstr): + '''Converts xml response to service bus namespace + + The xml format for namespace: +<entry> +<id>uuid:00000000-0000-0000-0000-000000000000;id=0000000</id> +<title type="text">myunittests +2012-08-22T16:48:10Z + + + myunittests + West US + 0000000000000000000000000000000000000000000= + Active + 2012-08-22T16:48:10.217Z + https://myunittests-sb.accesscontrol.windows.net/ + https://myunittests.servicebus.windows.net/ + Endpoint=sb://myunittests.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=0000000000000000000000000000000000000000000= + 00000000000000000000000000000000 + true + + + + ''' + xmldoc = minidom.parseString(xmlstr) + namespace = ServiceBusNamespace() + + mappings = ( + ('Name', 'name', None), + ('Region', 'region', None), + ('DefaultKey', 'default_key', None), + ('Status', 'status', None), + ('CreatedAt', 'created_at', None), + ('AcsManagementEndpoint', 'acs_management_endpoint', None), + ('ServiceBusEndpoint', 'servicebus_endpoint', None), + ('ConnectionString', 'connection_string', None), + ('SubscriptionId', 'subscription_id', None), + ('Enabled', 'enabled', _parse_bool), + ) + + for desc in _get_children_from_path(xmldoc, + 'entry', + 'content', + 'NamespaceDescription'): + for xml_name, field_name, conversion_func in mappings: + node_value = _get_first_child_node_value(desc, xml_name) + if node_value is not None: + if conversion_func is not None: + node_value = conversion_func(node_value) + setattr(namespace, field_name, node_value) + + return namespace + + @staticmethod + def xml_to_region(xmlstr): + '''Converts xml response to service bus region + + The xml format for region: + +uuid:157c311f-081f-4b4a-a0ba-a8f990ffd2a3;id=1756759 + +2013-04-10T18:25:29Z + + + East Asia + East Asia + + + + ''' + xmldoc = minidom.parseString(xmlstr) + region = ServiceBusRegion() + + for desc in _get_children_from_path(xmldoc, 'entry', 'content', + 'RegionCodeDescription'): + node_value = _get_first_child_node_value(desc, 'Code') + if node_value is not None: + region.code = node_value + node_value = _get_first_child_node_value(desc, 'FullName') + if node_value is not None: + region.fullname = node_value + + return region + + @staticmethod + def xml_to_namespace_availability(xmlstr): + '''Converts xml response to service bus namespace availability + + The xml format: + + + uuid:9fc7c652-1856-47ab-8d74-cd31502ea8e6;id=3683292 + + 2013-04-16T03:03:37Z + + + false + + + + ''' + xmldoc = minidom.parseString(xmlstr) + availability = AvailabilityResponse() + + for desc in _get_children_from_path(xmldoc, 'entry', 'content', + 'NamespaceAvailability'): + node_value = _get_first_child_node_value(desc, 'Result') + if node_value is not None: + availability.result = _parse_bool(node_value) + + return availability + +from azure.servicemanagement.servicemanagementservice import ( + ServiceManagementService) +from azure.servicemanagement.servicebusmanagementservice import ( + ServiceBusManagementService) diff --git a/awx/lib/site-packages/azure/servicemanagement/servicebusmanagementservice.py b/awx/lib/site-packages/azure/servicemanagement/servicebusmanagementservice.py new file mode 100644 index 0000000000..51d734e367 --- /dev/null +++ b/awx/lib/site-packages/azure/servicemanagement/servicebusmanagementservice.py @@ -0,0 +1,113 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 azure import ( + MANAGEMENT_HOST, + _convert_response_to_feeds, + _str, + _validate_not_none, + ) +from azure.servicemanagement import ( + _ServiceBusManagementXmlSerializer, + ) +from azure.servicemanagement.servicemanagementclient import ( + _ServiceManagementClient, + ) + + +class ServiceBusManagementService(_ServiceManagementClient): + + def __init__(self, subscription_id=None, cert_file=None, + host=MANAGEMENT_HOST): + super(ServiceBusManagementService, self).__init__( + subscription_id, cert_file, host) + + #--Operations for service bus ---------------------------------------- + def get_regions(self): + ''' + Get list of available service bus regions. + ''' + response = self._perform_get( + self._get_path('services/serviceBus/Regions/', None), + None) + + return _convert_response_to_feeds( + response, + _ServiceBusManagementXmlSerializer.xml_to_region) + + def list_namespaces(self): + ''' + List the service bus namespaces defined on the account. + ''' + response = self._perform_get( + self._get_path('services/serviceBus/Namespaces/', None), + None) + + return _convert_response_to_feeds( + response, + _ServiceBusManagementXmlSerializer.xml_to_namespace) + + def get_namespace(self, name): + ''' + Get details about a specific namespace. + + name: Name of the service bus namespace. + ''' + response = self._perform_get( + self._get_path('services/serviceBus/Namespaces', name), + None) + + return _ServiceBusManagementXmlSerializer.xml_to_namespace( + response.body) + + def create_namespace(self, name, region): + ''' + Create a new service bus namespace. + + name: Name of the service bus namespace to create. + region: Region to create the namespace in. + ''' + _validate_not_none('name', name) + + return self._perform_put( + self._get_path('services/serviceBus/Namespaces', name), + _ServiceBusManagementXmlSerializer.namespace_to_xml(region)) + + def delete_namespace(self, name): + ''' + Delete a service bus namespace. + + name: Name of the service bus namespace to delete. + ''' + _validate_not_none('name', name) + + return self._perform_delete( + self._get_path('services/serviceBus/Namespaces', name), + None) + + def check_namespace_availability(self, name): + ''' + Checks to see if the specified service bus namespace is available, or + if it has already been taken. + + name: Name of the service bus namespace to validate. + ''' + _validate_not_none('name', name) + + response = self._perform_get( + self._get_path('services/serviceBus/CheckNamespaceAvailability', + None) + '/?namespace=' + _str(name), None) + + return _ServiceBusManagementXmlSerializer.xml_to_namespace_availability( + response.body) diff --git a/awx/lib/site-packages/azure/servicemanagement/servicemanagementclient.py b/awx/lib/site-packages/azure/servicemanagement/servicemanagementclient.py new file mode 100644 index 0000000000..53ab03e508 --- /dev/null +++ b/awx/lib/site-packages/azure/servicemanagement/servicemanagementclient.py @@ -0,0 +1,166 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 + +from azure import ( + WindowsAzureError, + MANAGEMENT_HOST, + _get_request_body, + _parse_response, + _str, + _update_request_uri_query, + ) +from azure.http import ( + HTTPError, + HTTPRequest, + ) +from azure.http.httpclient import _HTTPClient +from azure.servicemanagement import ( + AZURE_MANAGEMENT_CERTFILE, + AZURE_MANAGEMENT_SUBSCRIPTIONID, + _management_error_handler, + _parse_response_for_async_op, + _update_management_header, + ) + + +class _ServiceManagementClient(object): + + def __init__(self, subscription_id=None, cert_file=None, + host=MANAGEMENT_HOST): + self.requestid = None + self.subscription_id = subscription_id + self.cert_file = cert_file + self.host = host + + if not self.cert_file: + if AZURE_MANAGEMENT_CERTFILE in os.environ: + self.cert_file = os.environ[AZURE_MANAGEMENT_CERTFILE] + + if not self.subscription_id: + if AZURE_MANAGEMENT_SUBSCRIPTIONID in os.environ: + self.subscription_id = os.environ[ + AZURE_MANAGEMENT_SUBSCRIPTIONID] + + if not self.cert_file or not self.subscription_id: + raise WindowsAzureError( + 'You need to provide subscription id and certificate file') + + self._httpclient = _HTTPClient( + service_instance=self, cert_file=self.cert_file) + self._filter = self._httpclient.perform_request + + def with_filter(self, filter): + '''Returns a new service which will process requests with the + specified filter. Filtering operations can include logging, automatic + retrying, etc... The filter is a lambda which receives the HTTPRequest + and another lambda. The filter can perform any pre-processing on the + request, pass it off to the next lambda, and then perform any + post-processing on the response.''' + res = type(self)(self.subscription_id, self.cert_file, self.host) + old_filter = self._filter + + def new_filter(request): + return filter(request, old_filter) + + res._filter = new_filter + return res + + def set_proxy(self, host, port, user=None, password=None): + ''' + Sets the proxy server host and port for the HTTP CONNECT Tunnelling. + + host: Address of the proxy. Ex: '192.168.0.100' + port: Port of the proxy. Ex: 6000 + user: User for proxy authorization. + password: Password for proxy authorization. + ''' + self._httpclient.set_proxy(host, port, user, password) + + #--Helper functions -------------------------------------------------- + def _perform_request(self, request): + try: + resp = self._filter(request) + except HTTPError as ex: + return _management_error_handler(ex) + + return resp + + def _perform_get(self, path, response_type): + request = HTTPRequest() + request.method = 'GET' + request.host = self.host + request.path = path + request.path, request.query = _update_request_uri_query(request) + request.headers = _update_management_header(request) + response = self._perform_request(request) + + if response_type is not None: + return _parse_response(response, response_type) + + return response + + def _perform_put(self, path, body, async=False): + request = HTTPRequest() + request.method = 'PUT' + request.host = self.host + request.path = path + request.body = _get_request_body(body) + request.path, request.query = _update_request_uri_query(request) + request.headers = _update_management_header(request) + response = self._perform_request(request) + + if async: + return _parse_response_for_async_op(response) + + return None + + def _perform_post(self, path, body, response_type=None, async=False): + request = HTTPRequest() + request.method = 'POST' + request.host = self.host + request.path = path + request.body = _get_request_body(body) + request.path, request.query = _update_request_uri_query(request) + request.headers = _update_management_header(request) + response = self._perform_request(request) + + if response_type is not None: + return _parse_response(response, response_type) + + if async: + return _parse_response_for_async_op(response) + + return None + + def _perform_delete(self, path, async=False): + request = HTTPRequest() + request.method = 'DELETE' + request.host = self.host + request.path = path + request.path, request.query = _update_request_uri_query(request) + request.headers = _update_management_header(request) + response = self._perform_request(request) + + if async: + return _parse_response_for_async_op(response) + + return None + + def _get_path(self, resource, name): + path = '/' + self.subscription_id + '/' + resource + if name is not None: + path += '/' + _str(name) + return path diff --git a/awx/lib/site-packages/azure/servicemanagement/servicemanagementservice.py b/awx/lib/site-packages/azure/servicemanagement/servicemanagementservice.py new file mode 100644 index 0000000000..13fcf3d76b --- /dev/null +++ b/awx/lib/site-packages/azure/servicemanagement/servicemanagementservice.py @@ -0,0 +1,1754 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 azure import ( + WindowsAzureError, + MANAGEMENT_HOST, + _str, + _validate_not_none, + ) +from azure.servicemanagement import ( + AffinityGroups, + AffinityGroup, + AvailabilityResponse, + Certificate, + Certificates, + DataVirtualHardDisk, + Deployment, + Disk, + Disks, + Locations, + Operation, + HostedService, + HostedServices, + Images, + OperatingSystems, + OperatingSystemFamilies, + OSImage, + PersistentVMRole, + StorageService, + StorageServices, + Subscription, + SubscriptionCertificate, + SubscriptionCertificates, + VirtualNetworkSites, + _XmlSerializer, + ) +from azure.servicemanagement.servicemanagementclient import ( + _ServiceManagementClient, + ) + +class ServiceManagementService(_ServiceManagementClient): + + def __init__(self, subscription_id=None, cert_file=None, + host=MANAGEMENT_HOST): + super(ServiceManagementService, self).__init__( + subscription_id, cert_file, host) + + #--Operations for storage accounts ----------------------------------- + def list_storage_accounts(self): + ''' + Lists the storage accounts available under the current subscription. + ''' + return self._perform_get(self._get_storage_service_path(), + StorageServices) + + def get_storage_account_properties(self, service_name): + ''' + Returns system properties for the specified storage account. + + service_name: Name of the storage service account. + ''' + _validate_not_none('service_name', service_name) + return self._perform_get(self._get_storage_service_path(service_name), + StorageService) + + def get_storage_account_keys(self, service_name): + ''' + Returns the primary and secondary access keys for the specified + storage account. + + service_name: Name of the storage service account. + ''' + _validate_not_none('service_name', service_name) + return self._perform_get( + self._get_storage_service_path(service_name) + '/keys', + StorageService) + + def regenerate_storage_account_keys(self, service_name, key_type): + ''' + Regenerates the primary or secondary access key for the specified + storage account. + + service_name: Name of the storage service account. + key_type: + Specifies which key to regenerate. Valid values are: + Primary, Secondary + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('key_type', key_type) + return self._perform_post( + self._get_storage_service_path( + service_name) + '/keys?action=regenerate', + _XmlSerializer.regenerate_keys_to_xml( + key_type), + StorageService) + + def create_storage_account(self, service_name, description, label, + affinity_group=None, location=None, + geo_replication_enabled=True, + extended_properties=None): + ''' + Creates a new storage account in Windows Azure. + + service_name: + A name for the storage account that is unique within Windows Azure. + Storage account names must be between 3 and 24 characters in length + and use numbers and lower-case letters only. + description: + A description for the storage account. The description may be up + to 1024 characters in length. + label: + A name for the storage account. The name may be up to 100 + characters in length. The name can be used to identify the storage + account for your tracking purposes. + affinity_group: + The name of an existing affinity group in the specified + subscription. You can specify either a location or affinity_group, + but not both. + location: + The location where the storage account is created. You can specify + either a location or affinity_group, but not both. + geo_replication_enabled: + Specifies whether the storage account is created with the + geo-replication enabled. If the element is not included in the + request body, the default value is true. If set to true, the data + in the storage account is replicated across more than one + geographic location so as to enable resilience in the face of + catastrophic service loss. + extended_properties: + Dictionary containing name/value pairs of storage account + properties. You can have a maximum of 50 extended property + name/value pairs. The maximum length of the Name element is 64 + characters, only alphanumeric characters and underscores are valid + in the Name, and the name must start with a letter. The value has + a maximum length of 255 characters. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('description', description) + _validate_not_none('label', label) + if affinity_group is None and location is None: + raise WindowsAzureError( + 'location or affinity_group must be specified') + if affinity_group is not None and location is not None: + raise WindowsAzureError( + 'Only one of location or affinity_group needs to be specified') + return self._perform_post( + self._get_storage_service_path(), + _XmlSerializer.create_storage_service_input_to_xml( + service_name, + description, + label, + affinity_group, + location, + geo_replication_enabled, + extended_properties), + async=True) + + def update_storage_account(self, service_name, description=None, + label=None, geo_replication_enabled=None, + extended_properties=None): + ''' + Updates the label, the description, and enables or disables the + geo-replication status for a storage account in Windows Azure. + + service_name: Name of the storage service account. + description: + A description for the storage account. The description may be up + to 1024 characters in length. + label: + A name for the storage account. The name may be up to 100 + characters in length. The name can be used to identify the storage + account for your tracking purposes. + geo_replication_enabled: + Specifies whether the storage account is created with the + geo-replication enabled. If the element is not included in the + request body, the default value is true. If set to true, the data + in the storage account is replicated across more than one + geographic location so as to enable resilience in the face of + catastrophic service loss. + extended_properties: + Dictionary containing name/value pairs of storage account + properties. You can have a maximum of 50 extended property + name/value pairs. The maximum length of the Name element is 64 + characters, only alphanumeric characters and underscores are valid + in the Name, and the name must start with a letter. The value has + a maximum length of 255 characters. + ''' + _validate_not_none('service_name', service_name) + return self._perform_put( + self._get_storage_service_path(service_name), + _XmlSerializer.update_storage_service_input_to_xml( + description, + label, + geo_replication_enabled, + extended_properties)) + + def delete_storage_account(self, service_name): + ''' + Deletes the specified storage account from Windows Azure. + + service_name: Name of the storage service account. + ''' + _validate_not_none('service_name', service_name) + return self._perform_delete( + self._get_storage_service_path(service_name)) + + def check_storage_account_name_availability(self, service_name): + ''' + Checks to see if the specified storage account name is available, or + if it has already been taken. + + service_name: Name of the storage service account. + ''' + _validate_not_none('service_name', service_name) + return self._perform_get( + self._get_storage_service_path() + + '/operations/isavailable/' + + _str(service_name) + '', + AvailabilityResponse) + + #--Operations for hosted services ------------------------------------ + def list_hosted_services(self): + ''' + Lists the hosted services available under the current subscription. + ''' + return self._perform_get(self._get_hosted_service_path(), + HostedServices) + + def get_hosted_service_properties(self, service_name, embed_detail=False): + ''' + Retrieves system properties for the specified hosted service. These + properties include the service name and service type; the name of the + affinity group to which the service belongs, or its location if it is + not part of an affinity group; and optionally, information on the + service's deployments. + + service_name: Name of the hosted service. + embed_detail: + When True, the management service returns properties for all + deployments of the service, as well as for the service itself. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('embed_detail', embed_detail) + return self._perform_get( + self._get_hosted_service_path(service_name) + + '?embed-detail=' + + _str(embed_detail).lower(), + HostedService) + + def create_hosted_service(self, service_name, label, description=None, + location=None, affinity_group=None, + extended_properties=None): + ''' + Creates a new hosted service in Windows Azure. + + service_name: + A name for the hosted service that is unique within Windows Azure. + This name is the DNS prefix name and can be used to access the + hosted service. + label: + A name for the hosted service. The name can be up to 100 characters + in length. The name can be used to identify the storage account for + your tracking purposes. + description: + A description for the hosted service. The description can be up to + 1024 characters in length. + location: + The location where the hosted service will be created. You can + specify either a location or affinity_group, but not both. + affinity_group: + The name of an existing affinity group associated with this + subscription. This name is a GUID and can be retrieved by examining + the name element of the response body returned by + list_affinity_groups. You can specify either a location or + affinity_group, but not both. + extended_properties: + Dictionary containing name/value pairs of storage account + properties. You can have a maximum of 50 extended property + name/value pairs. The maximum length of the Name element is 64 + characters, only alphanumeric characters and underscores are valid + in the Name, and the name must start with a letter. The value has + a maximum length of 255 characters. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('label', label) + if affinity_group is None and location is None: + raise WindowsAzureError( + 'location or affinity_group must be specified') + if affinity_group is not None and location is not None: + raise WindowsAzureError( + 'Only one of location or affinity_group needs to be specified') + return self._perform_post(self._get_hosted_service_path(), + _XmlSerializer.create_hosted_service_to_xml( + service_name, + label, + description, + location, + affinity_group, + extended_properties)) + + def update_hosted_service(self, service_name, label=None, description=None, + extended_properties=None): + ''' + Updates the label and/or the description for a hosted service in + Windows Azure. + + service_name: Name of the hosted service. + label: + A name for the hosted service. The name may be up to 100 characters + in length. You must specify a value for either Label or + Description, or for both. It is recommended that the label be + unique within the subscription. The name can be used + identify the hosted service for your tracking purposes. + description: + A description for the hosted service. The description may be up to + 1024 characters in length. You must specify a value for either + Label or Description, or for both. + extended_properties: + Dictionary containing name/value pairs of storage account + properties. You can have a maximum of 50 extended property + name/value pairs. The maximum length of the Name element is 64 + characters, only alphanumeric characters and underscores are valid + in the Name, and the name must start with a letter. The value has + a maximum length of 255 characters. + ''' + _validate_not_none('service_name', service_name) + return self._perform_put(self._get_hosted_service_path(service_name), + _XmlSerializer.update_hosted_service_to_xml( + label, + description, + extended_properties)) + + def delete_hosted_service(self, service_name): + ''' + Deletes the specified hosted service from Windows Azure. + + service_name: Name of the hosted service. + ''' + _validate_not_none('service_name', service_name) + return self._perform_delete(self._get_hosted_service_path(service_name)) + + def get_deployment_by_slot(self, service_name, deployment_slot): + ''' + Returns configuration information, status, and system properties for + a deployment. + + service_name: Name of the hosted service. + deployment_slot: + The environment to which the hosted service is deployed. Valid + values are: staging, production + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_slot', deployment_slot) + return self._perform_get( + self._get_deployment_path_using_slot( + service_name, deployment_slot), + Deployment) + + def get_deployment_by_name(self, service_name, deployment_name): + ''' + Returns configuration information, status, and system properties for a + deployment. + + service_name: Name of the hosted service. + deployment_name: The name of the deployment. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + return self._perform_get( + self._get_deployment_path_using_name( + service_name, deployment_name), + Deployment) + + def create_deployment(self, service_name, deployment_slot, name, + package_url, label, configuration, + start_deployment=False, + treat_warnings_as_error=False, + extended_properties=None): + ''' + Uploads a new service package and creates a new deployment on staging + or production. + + service_name: Name of the hosted service. + deployment_slot: + The environment to which the hosted service is deployed. Valid + values are: staging, production + name: + The name for the deployment. The deployment name must be unique + among other deployments for the hosted service. + package_url: + A URL that refers to the location of the service package in the + Blob service. The service package can be located either in a + storage account beneath the same subscription or a Shared Access + Signature (SAS) URI from any storage account. + label: + A name for the hosted service. The name can be up to 100 characters + in length. It is recommended that the label be unique within the + subscription. The name can be used to identify the hosted service + for your tracking purposes. + configuration: + The base-64 encoded service configuration file for the deployment. + start_deployment: + Indicates whether to start the deployment immediately after it is + created. If false, the service model is still deployed to the + virtual machines but the code is not run immediately. Instead, the + service is Suspended until you call Update Deployment Status and + set the status to Running, at which time the service will be + started. A deployed service still incurs charges, even if it is + suspended. + treat_warnings_as_error: + Indicates whether to treat package validation warnings as errors. + If set to true, the Created Deployment operation fails if there + are validation warnings on the service package. + extended_properties: + Dictionary containing name/value pairs of storage account + properties. You can have a maximum of 50 extended property + name/value pairs. The maximum length of the Name element is 64 + characters, only alphanumeric characters and underscores are valid + in the Name, and the name must start with a letter. The value has + a maximum length of 255 characters. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_slot', deployment_slot) + _validate_not_none('name', name) + _validate_not_none('package_url', package_url) + _validate_not_none('label', label) + _validate_not_none('configuration', configuration) + return self._perform_post( + self._get_deployment_path_using_slot( + service_name, deployment_slot), + _XmlSerializer.create_deployment_to_xml( + name, + package_url, + label, + configuration, + start_deployment, + treat_warnings_as_error, + extended_properties), + async=True) + + def delete_deployment(self, service_name, deployment_name): + ''' + Deletes the specified deployment. + + service_name: Name of the hosted service. + deployment_name: The name of the deployment. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + return self._perform_delete( + self._get_deployment_path_using_name( + service_name, deployment_name), + async=True) + + def swap_deployment(self, service_name, production, source_deployment): + ''' + Initiates a virtual IP swap between the staging and production + deployment environments for a service. If the service is currently + running in the staging environment, it will be swapped to the + production environment. If it is running in the production + environment, it will be swapped to staging. + + service_name: Name of the hosted service. + production: The name of the production deployment. + source_deployment: The name of the source deployment. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('production', production) + _validate_not_none('source_deployment', source_deployment) + return self._perform_post(self._get_hosted_service_path(service_name), + _XmlSerializer.swap_deployment_to_xml( + production, source_deployment), + async=True) + + def change_deployment_configuration(self, service_name, deployment_name, + configuration, + treat_warnings_as_error=False, + mode='Auto', extended_properties=None): + ''' + Initiates a change to the deployment configuration. + + service_name: Name of the hosted service. + deployment_name: The name of the deployment. + configuration: + The base-64 encoded service configuration file for the deployment. + treat_warnings_as_error: + Indicates whether to treat package validation warnings as errors. + If set to true, the Created Deployment operation fails if there + are validation warnings on the service package. + mode: + If set to Manual, WalkUpgradeDomain must be called to apply the + update. If set to Auto, the Windows Azure platform will + automatically apply the update To each upgrade domain for the + service. Possible values are: Auto, Manual + extended_properties: + Dictionary containing name/value pairs of storage account + properties. You can have a maximum of 50 extended property + name/value pairs. The maximum length of the Name element is 64 + characters, only alphanumeric characters and underscores are valid + in the Name, and the name must start with a letter. The value has + a maximum length of 255 characters. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('configuration', configuration) + return self._perform_post( + self._get_deployment_path_using_name( + service_name, deployment_name) + '/?comp=config', + _XmlSerializer.change_deployment_to_xml( + configuration, + treat_warnings_as_error, + mode, + extended_properties), + async=True) + + def update_deployment_status(self, service_name, deployment_name, status): + ''' + Initiates a change in deployment status. + + service_name: Name of the hosted service. + deployment_name: The name of the deployment. + status: + The change to initiate to the deployment status. Possible values + include: Running, Suspended + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('status', status) + return self._perform_post( + self._get_deployment_path_using_name( + service_name, deployment_name) + '/?comp=status', + _XmlSerializer.update_deployment_status_to_xml( + status), + async=True) + + def upgrade_deployment(self, service_name, deployment_name, mode, + package_url, configuration, label, force, + role_to_upgrade=None, extended_properties=None): + ''' + Initiates an upgrade. + + service_name: Name of the hosted service. + deployment_name: The name of the deployment. + mode: + If set to Manual, WalkUpgradeDomain must be called to apply the + update. If set to Auto, the Windows Azure platform will + automatically apply the update To each upgrade domain for the + service. Possible values are: Auto, Manual + package_url: + A URL that refers to the location of the service package in the + Blob service. The service package can be located either in a + storage account beneath the same subscription or a Shared Access + Signature (SAS) URI from any storage account. + configuration: + The base-64 encoded service configuration file for the deployment. + label: + A name for the hosted service. The name can be up to 100 characters + in length. It is recommended that the label be unique within the + subscription. The name can be used to identify the hosted service + for your tracking purposes. + force: + Specifies whether the rollback should proceed even when it will + cause local data to be lost from some role instances. True if the + rollback should proceed; otherwise false if the rollback should + fail. + role_to_upgrade: The name of the specific role to upgrade. + extended_properties: + Dictionary containing name/value pairs of storage account + properties. You can have a maximum of 50 extended property + name/value pairs. The maximum length of the Name element is 64 + characters, only alphanumeric characters and underscores are valid + in the Name, and the name must start with a letter. The value has + a maximum length of 255 characters. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('mode', mode) + _validate_not_none('package_url', package_url) + _validate_not_none('configuration', configuration) + _validate_not_none('label', label) + _validate_not_none('force', force) + return self._perform_post( + self._get_deployment_path_using_name( + service_name, deployment_name) + '/?comp=upgrade', + _XmlSerializer.upgrade_deployment_to_xml( + mode, + package_url, + configuration, + label, + role_to_upgrade, + force, + extended_properties), + async=True) + + def walk_upgrade_domain(self, service_name, deployment_name, + upgrade_domain): + ''' + Specifies the next upgrade domain to be walked during manual in-place + upgrade or configuration change. + + service_name: Name of the hosted service. + deployment_name: The name of the deployment. + upgrade_domain: + An integer value that identifies the upgrade domain to walk. + Upgrade domains are identified with a zero-based index: the first + upgrade domain has an ID of 0, the second has an ID of 1, and so on. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('upgrade_domain', upgrade_domain) + return self._perform_post( + self._get_deployment_path_using_name( + service_name, deployment_name) + '/?comp=walkupgradedomain', + _XmlSerializer.walk_upgrade_domain_to_xml( + upgrade_domain), + async=True) + + def rollback_update_or_upgrade(self, service_name, deployment_name, mode, + force): + ''' + Cancels an in progress configuration change (update) or upgrade and + returns the deployment to its state before the upgrade or + configuration change was started. + + service_name: Name of the hosted service. + deployment_name: The name of the deployment. + mode: + Specifies whether the rollback should proceed automatically. + auto - The rollback proceeds without further user input. + manual - You must call the Walk Upgrade Domain operation to + apply the rollback to each upgrade domain. + force: + Specifies whether the rollback should proceed even when it will + cause local data to be lost from some role instances. True if the + rollback should proceed; otherwise false if the rollback should + fail. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('mode', mode) + _validate_not_none('force', force) + return self._perform_post( + self._get_deployment_path_using_name( + service_name, deployment_name) + '/?comp=rollback', + _XmlSerializer.rollback_upgrade_to_xml( + mode, force), + async=True) + + def reboot_role_instance(self, service_name, deployment_name, + role_instance_name): + ''' + Requests a reboot of a role instance that is running in a deployment. + + service_name: Name of the hosted service. + deployment_name: The name of the deployment. + role_instance_name: The name of the role instance. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_instance_name', role_instance_name) + return self._perform_post( + self._get_deployment_path_using_name( + service_name, deployment_name) + \ + '/roleinstances/' + _str(role_instance_name) + \ + '?comp=reboot', + '', + async=True) + + def reimage_role_instance(self, service_name, deployment_name, + role_instance_name): + ''' + Requests a reimage of a role instance that is running in a deployment. + + service_name: Name of the hosted service. + deployment_name: The name of the deployment. + role_instance_name: The name of the role instance. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_instance_name', role_instance_name) + return self._perform_post( + self._get_deployment_path_using_name( + service_name, deployment_name) + \ + '/roleinstances/' + _str(role_instance_name) + \ + '?comp=reimage', + '', + async=True) + + def check_hosted_service_name_availability(self, service_name): + ''' + Checks to see if the specified hosted service name is available, or if + it has already been taken. + + service_name: Name of the hosted service. + ''' + _validate_not_none('service_name', service_name) + return self._perform_get( + '/' + self.subscription_id + + '/services/hostedservices/operations/isavailable/' + + _str(service_name) + '', + AvailabilityResponse) + + #--Operations for service certificates ------------------------------- + def list_service_certificates(self, service_name): + ''' + Lists all of the service certificates associated with the specified + hosted service. + + service_name: Name of the hosted service. + ''' + _validate_not_none('service_name', service_name) + return self._perform_get( + '/' + self.subscription_id + '/services/hostedservices/' + + _str(service_name) + '/certificates', + Certificates) + + def get_service_certificate(self, service_name, thumbalgorithm, thumbprint): + ''' + Returns the public data for the specified X.509 certificate associated + with a hosted service. + + service_name: Name of the hosted service. + thumbalgorithm: The algorithm for the certificate's thumbprint. + thumbprint: The hexadecimal representation of the thumbprint. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('thumbalgorithm', thumbalgorithm) + _validate_not_none('thumbprint', thumbprint) + return self._perform_get( + '/' + self.subscription_id + '/services/hostedservices/' + + _str(service_name) + '/certificates/' + + _str(thumbalgorithm) + '-' + _str(thumbprint) + '', + Certificate) + + def add_service_certificate(self, service_name, data, certificate_format, + password): + ''' + Adds a certificate to a hosted service. + + service_name: Name of the hosted service. + data: The base-64 encoded form of the pfx file. + certificate_format: + The service certificate format. The only supported value is pfx. + password: The certificate password. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('data', data) + _validate_not_none('certificate_format', certificate_format) + _validate_not_none('password', password) + return self._perform_post( + '/' + self.subscription_id + '/services/hostedservices/' + + _str(service_name) + '/certificates', + _XmlSerializer.certificate_file_to_xml( + data, certificate_format, password), + async=True) + + def delete_service_certificate(self, service_name, thumbalgorithm, + thumbprint): + ''' + Deletes a service certificate from the certificate store of a hosted + service. + + service_name: Name of the hosted service. + thumbalgorithm: The algorithm for the certificate's thumbprint. + thumbprint: The hexadecimal representation of the thumbprint. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('thumbalgorithm', thumbalgorithm) + _validate_not_none('thumbprint', thumbprint) + return self._perform_delete( + '/' + self.subscription_id + '/services/hostedservices/' + + _str(service_name) + '/certificates/' + + _str(thumbalgorithm) + '-' + _str(thumbprint), + async=True) + + #--Operations for management certificates ---------------------------- + def list_management_certificates(self): + ''' + The List Management Certificates operation lists and returns basic + information about all of the management certificates associated with + the specified subscription. Management certificates, which are also + known as subscription certificates, authenticate clients attempting to + connect to resources associated with your Windows Azure subscription. + ''' + return self._perform_get('/' + self.subscription_id + '/certificates', + SubscriptionCertificates) + + def get_management_certificate(self, thumbprint): + ''' + The Get Management Certificate operation retrieves information about + the management certificate with the specified thumbprint. Management + certificates, which are also known as subscription certificates, + authenticate clients attempting to connect to resources associated + with your Windows Azure subscription. + + thumbprint: The thumbprint value of the certificate. + ''' + _validate_not_none('thumbprint', thumbprint) + return self._perform_get( + '/' + self.subscription_id + '/certificates/' + _str(thumbprint), + SubscriptionCertificate) + + def add_management_certificate(self, public_key, thumbprint, data): + ''' + The Add Management Certificate operation adds a certificate to the + list of management certificates. Management certificates, which are + also known as subscription certificates, authenticate clients + attempting to connect to resources associated with your Windows Azure + subscription. + + public_key: + A base64 representation of the management certificate public key. + thumbprint: + The thumb print that uniquely identifies the management + certificate. + data: The certificate's raw data in base-64 encoded .cer format. + ''' + _validate_not_none('public_key', public_key) + _validate_not_none('thumbprint', thumbprint) + _validate_not_none('data', data) + return self._perform_post( + '/' + self.subscription_id + '/certificates', + _XmlSerializer.subscription_certificate_to_xml( + public_key, thumbprint, data)) + + def delete_management_certificate(self, thumbprint): + ''' + The Delete Management Certificate operation deletes a certificate from + the list of management certificates. Management certificates, which + are also known as subscription certificates, authenticate clients + attempting to connect to resources associated with your Windows Azure + subscription. + + thumbprint: + The thumb print that uniquely identifies the management + certificate. + ''' + _validate_not_none('thumbprint', thumbprint) + return self._perform_delete( + '/' + self.subscription_id + '/certificates/' + _str(thumbprint)) + + #--Operations for affinity groups ------------------------------------ + def list_affinity_groups(self): + ''' + Lists the affinity groups associated with the specified subscription. + ''' + return self._perform_get( + '/' + self.subscription_id + '/affinitygroups', + AffinityGroups) + + def get_affinity_group_properties(self, affinity_group_name): + ''' + Returns the system properties associated with the specified affinity + group. + + affinity_group_name: The name of the affinity group. + ''' + _validate_not_none('affinity_group_name', affinity_group_name) + return self._perform_get( + '/' + self.subscription_id + '/affinitygroups/' + + _str(affinity_group_name) + '', + AffinityGroup) + + def create_affinity_group(self, name, label, location, description=None): + ''' + Creates a new affinity group for the specified subscription. + + name: A name for the affinity group that is unique to the subscription. + label: + A name for the affinity group. The name can be up to 100 characters + in length. + location: + The data center location where the affinity group will be created. + To list available locations, use the list_location function. + description: + A description for the affinity group. The description can be up to + 1024 characters in length. + ''' + _validate_not_none('name', name) + _validate_not_none('label', label) + _validate_not_none('location', location) + return self._perform_post( + '/' + self.subscription_id + '/affinitygroups', + _XmlSerializer.create_affinity_group_to_xml(name, + label, + description, + location)) + + def update_affinity_group(self, affinity_group_name, label, + description=None): + ''' + Updates the label and/or the description for an affinity group for the + specified subscription. + + affinity_group_name: The name of the affinity group. + label: + A name for the affinity group. The name can be up to 100 characters + in length. + description: + A description for the affinity group. The description can be up to + 1024 characters in length. + ''' + _validate_not_none('affinity_group_name', affinity_group_name) + _validate_not_none('label', label) + return self._perform_put( + '/' + self.subscription_id + '/affinitygroups/' + + _str(affinity_group_name), + _XmlSerializer.update_affinity_group_to_xml(label, description)) + + def delete_affinity_group(self, affinity_group_name): + ''' + Deletes an affinity group in the specified subscription. + + affinity_group_name: The name of the affinity group. + ''' + _validate_not_none('affinity_group_name', affinity_group_name) + return self._perform_delete('/' + self.subscription_id + \ + '/affinitygroups/' + \ + _str(affinity_group_name)) + + #--Operations for locations ------------------------------------------ + def list_locations(self): + ''' + Lists all of the data center locations that are valid for your + subscription. + ''' + return self._perform_get('/' + self.subscription_id + '/locations', + Locations) + + #--Operations for tracking asynchronous requests --------------------- + def get_operation_status(self, request_id): + ''' + Returns the status of the specified operation. After calling an + asynchronous operation, you can call Get Operation Status to determine + whether the operation has succeeded, failed, or is still in progress. + + request_id: The request ID for the request you wish to track. + ''' + _validate_not_none('request_id', request_id) + return self._perform_get( + '/' + self.subscription_id + '/operations/' + _str(request_id), + Operation) + + #--Operations for retrieving operating system information ------------ + def list_operating_systems(self): + ''' + Lists the versions of the guest operating system that are currently + available in Windows Azure. + ''' + return self._perform_get( + '/' + self.subscription_id + '/operatingsystems', + OperatingSystems) + + def list_operating_system_families(self): + ''' + Lists the guest operating system families available in Windows Azure, + and also lists the operating system versions available for each family. + ''' + return self._perform_get( + '/' + self.subscription_id + '/operatingsystemfamilies', + OperatingSystemFamilies) + + #--Operations for retrieving subscription history -------------------- + def get_subscription(self): + ''' + Returns account and resource allocation information on the specified + subscription. + ''' + return self._perform_get('/' + self.subscription_id + '', + Subscription) + + #--Operations for virtual machines ----------------------------------- + def get_role(self, service_name, deployment_name, role_name): + ''' + Retrieves the specified virtual machine. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_name: The name of the role. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_name', role_name) + return self._perform_get( + self._get_role_path(service_name, deployment_name, role_name), + PersistentVMRole) + + def create_virtual_machine_deployment(self, service_name, deployment_name, + deployment_slot, label, role_name, + system_config, os_virtual_hard_disk, + network_config=None, + availability_set_name=None, + data_virtual_hard_disks=None, + role_size=None, + role_type='PersistentVMRole', + virtual_network_name=None): + ''' + Provisions a virtual machine based on the supplied configuration. + + service_name: Name of the hosted service. + deployment_name: + The name for the deployment. The deployment name must be unique + among other deployments for the hosted service. + deployment_slot: + The environment to which the hosted service is deployed. Valid + values are: staging, production + label: + Specifies an identifier for the deployment. The label can be up to + 100 characters long. The label can be used for tracking purposes. + role_name: The name of the role. + system_config: + Contains the metadata required to provision a virtual machine from + a Windows or Linux OS image. Use an instance of + WindowsConfigurationSet or LinuxConfigurationSet. + os_virtual_hard_disk: + Contains the parameters Windows Azure uses to create the operating + system disk for the virtual machine. + network_config: + Encapsulates the metadata required to create the virtual network + configuration for a virtual machine. If you do not include a + network configuration set you will not be able to access the VM + through VIPs over the internet. If your virtual machine belongs to + a virtual network you can not specify which subnet address space + it resides under. + availability_set_name: + Specifies the name of an availability set to which to add the + virtual machine. This value controls the virtual machine + allocation in the Windows Azure environment. Virtual machines + specified in the same availability set are allocated to different + nodes to maximize availability. + data_virtual_hard_disks: + Contains the parameters Windows Azure uses to create a data disk + for a virtual machine. + role_size: + The size of the virtual machine to allocate. The default value is + Small. Possible values are: ExtraSmall, Small, Medium, Large, + ExtraLarge. The specified value must be compatible with the disk + selected in the OSVirtualHardDisk values. + role_type: + The type of the role for the virtual machine. The only supported + value is PersistentVMRole. + virtual_network_name: + Specifies the name of an existing virtual network to which the + deployment will belong. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('deployment_slot', deployment_slot) + _validate_not_none('label', label) + _validate_not_none('role_name', role_name) + _validate_not_none('system_config', system_config) + _validate_not_none('os_virtual_hard_disk', os_virtual_hard_disk) + return self._perform_post( + self._get_deployment_path_using_name(service_name), + _XmlSerializer.virtual_machine_deployment_to_xml( + deployment_name, + deployment_slot, + label, + role_name, + system_config, + os_virtual_hard_disk, + role_type, + network_config, + availability_set_name, + data_virtual_hard_disks, + role_size, + virtual_network_name), + async=True) + + def add_role(self, service_name, deployment_name, role_name, system_config, + os_virtual_hard_disk, network_config=None, + availability_set_name=None, data_virtual_hard_disks=None, + role_size=None, role_type='PersistentVMRole'): + ''' + Adds a virtual machine to an existing deployment. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_name: The name of the role. + system_config: + Contains the metadata required to provision a virtual machine from + a Windows or Linux OS image. Use an instance of + WindowsConfigurationSet or LinuxConfigurationSet. + os_virtual_hard_disk: + Contains the parameters Windows Azure uses to create the operating + system disk for the virtual machine. + network_config: + Encapsulates the metadata required to create the virtual network + configuration for a virtual machine. If you do not include a + network configuration set you will not be able to access the VM + through VIPs over the internet. If your virtual machine belongs to + a virtual network you can not specify which subnet address space + it resides under. + availability_set_name: + Specifies the name of an availability set to which to add the + virtual machine. This value controls the virtual machine allocation + in the Windows Azure environment. Virtual machines specified in the + same availability set are allocated to different nodes to maximize + availability. + data_virtual_hard_disks: + Contains the parameters Windows Azure uses to create a data disk + for a virtual machine. + role_size: + The size of the virtual machine to allocate. The default value is + Small. Possible values are: ExtraSmall, Small, Medium, Large, + ExtraLarge. The specified value must be compatible with the disk + selected in the OSVirtualHardDisk values. + role_type: + The type of the role for the virtual machine. The only supported + value is PersistentVMRole. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_name', role_name) + _validate_not_none('system_config', system_config) + _validate_not_none('os_virtual_hard_disk', os_virtual_hard_disk) + return self._perform_post( + self._get_role_path(service_name, deployment_name), + _XmlSerializer.add_role_to_xml( + role_name, + system_config, + os_virtual_hard_disk, + role_type, + network_config, + availability_set_name, + data_virtual_hard_disks, + role_size), + async=True) + + def update_role(self, service_name, deployment_name, role_name, + os_virtual_hard_disk=None, network_config=None, + availability_set_name=None, data_virtual_hard_disks=None, + role_size=None, role_type='PersistentVMRole'): + ''' + Updates the specified virtual machine. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_name: The name of the role. + os_virtual_hard_disk: + Contains the parameters Windows Azure uses to create the operating + system disk for the virtual machine. + network_config: + Encapsulates the metadata required to create the virtual network + configuration for a virtual machine. If you do not include a + network configuration set you will not be able to access the VM + through VIPs over the internet. If your virtual machine belongs to + a virtual network you can not specify which subnet address space + it resides under. + availability_set_name: + Specifies the name of an availability set to which to add the + virtual machine. This value controls the virtual machine allocation + in the Windows Azure environment. Virtual machines specified in the + same availability set are allocated to different nodes to maximize + availability. + data_virtual_hard_disks: + Contains the parameters Windows Azure uses to create a data disk + for a virtual machine. + role_size: + The size of the virtual machine to allocate. The default value is + Small. Possible values are: ExtraSmall, Small, Medium, Large, + ExtraLarge. The specified value must be compatible with the disk + selected in the OSVirtualHardDisk values. + role_type: + The type of the role for the virtual machine. The only supported + value is PersistentVMRole. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_name', role_name) + return self._perform_put( + self._get_role_path(service_name, deployment_name, role_name), + _XmlSerializer.update_role_to_xml( + role_name, + os_virtual_hard_disk, + role_type, + network_config, + availability_set_name, + data_virtual_hard_disks, + role_size), + async=True) + + def delete_role(self, service_name, deployment_name, role_name): + ''' + Deletes the specified virtual machine. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_name: The name of the role. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_name', role_name) + return self._perform_delete( + self._get_role_path(service_name, deployment_name, role_name), + async=True) + + def capture_role(self, service_name, deployment_name, role_name, + post_capture_action, target_image_name, + target_image_label, provisioning_configuration=None): + ''' + The Capture Role operation captures a virtual machine image to your + image gallery. From the captured image, you can create additional + customized virtual machines. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_name: The name of the role. + post_capture_action: + Specifies the action after capture operation completes. Possible + values are: Delete, Reprovision. + target_image_name: + Specifies the image name of the captured virtual machine. + target_image_label: + Specifies the friendly name of the captured virtual machine. + provisioning_configuration: + Use an instance of WindowsConfigurationSet or LinuxConfigurationSet. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_name', role_name) + _validate_not_none('post_capture_action', post_capture_action) + _validate_not_none('target_image_name', target_image_name) + _validate_not_none('target_image_label', target_image_label) + return self._perform_post( + self._get_role_instance_operations_path( + service_name, deployment_name, role_name), + _XmlSerializer.capture_role_to_xml( + post_capture_action, + target_image_name, + target_image_label, + provisioning_configuration), + async=True) + + def start_role(self, service_name, deployment_name, role_name): + ''' + Starts the specified virtual machine. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_name: The name of the role. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_name', role_name) + return self._perform_post( + self._get_role_instance_operations_path( + service_name, deployment_name, role_name), + _XmlSerializer.start_role_operation_to_xml(), + async=True) + + def start_roles(self, service_name, deployment_name, role_names): + ''' + Starts the specified virtual machines. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_names: The names of the roles, as an enumerable of strings. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_names', role_names) + return self._perform_post( + self._get_roles_operations_path(service_name, deployment_name), + _XmlSerializer.start_roles_operation_to_xml(role_names), + async=True) + + def restart_role(self, service_name, deployment_name, role_name): + ''' + Restarts the specified virtual machine. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_name: The name of the role. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_name', role_name) + return self._perform_post( + self._get_role_instance_operations_path( + service_name, deployment_name, role_name), + _XmlSerializer.restart_role_operation_to_xml( + ), + async=True) + + def shutdown_role(self, service_name, deployment_name, role_name, + post_shutdown_action='Stopped'): + ''' + Shuts down the specified virtual machine. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_name: The name of the role. + post_shutdown_action: + Specifies how the Virtual Machine should be shut down. Values are: + Stopped + Shuts down the Virtual Machine but retains the compute + resources. You will continue to be billed for the resources + that the stopped machine uses. + StoppedDeallocated + Shuts down the Virtual Machine and releases the compute + resources. You are not billed for the compute resources that + this Virtual Machine uses. If a static Virtual Network IP + address is assigned to the Virtual Machine, it is reserved. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_name', role_name) + _validate_not_none('post_shutdown_action', post_shutdown_action) + return self._perform_post( + self._get_role_instance_operations_path( + service_name, deployment_name, role_name), + _XmlSerializer.shutdown_role_operation_to_xml(post_shutdown_action), + async=True) + + def shutdown_roles(self, service_name, deployment_name, role_names, + post_shutdown_action='Stopped'): + ''' + Shuts down the specified virtual machines. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_names: The names of the roles, as an enumerable of strings. + post_shutdown_action: + Specifies how the Virtual Machine should be shut down. Values are: + Stopped + Shuts down the Virtual Machine but retains the compute + resources. You will continue to be billed for the resources + that the stopped machine uses. + StoppedDeallocated + Shuts down the Virtual Machine and releases the compute + resources. You are not billed for the compute resources that + this Virtual Machine uses. If a static Virtual Network IP + address is assigned to the Virtual Machine, it is reserved. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_names', role_names) + _validate_not_none('post_shutdown_action', post_shutdown_action) + return self._perform_post( + self._get_roles_operations_path(service_name, deployment_name), + _XmlSerializer.shutdown_roles_operation_to_xml( + role_names, post_shutdown_action), + async=True) + + #--Operations for virtual machine images ----------------------------- + def list_os_images(self): + ''' + Retrieves a list of the OS images from the image repository. + ''' + return self._perform_get(self._get_image_path(), + Images) + + def get_os_image(self, image_name): + ''' + Retrieves an OS image from the image repository. + ''' + return self._perform_get(self._get_image_path(image_name), + OSImage) + + def add_os_image(self, label, media_link, name, os): + ''' + Adds an OS image that is currently stored in a storage account in your + subscription to the image repository. + + label: Specifies the friendly name of the image. + media_link: + Specifies the location of the blob in Windows Azure blob store + where the media for the image is located. The blob location must + belong to a storage account in the subscription specified by the + value in the operation call. Example: + http://example.blob.core.windows.net/disks/mydisk.vhd + name: + Specifies a name for the OS image that Windows Azure uses to + identify the image when creating one or more virtual machines. + os: + The operating system type of the OS image. Possible values are: + Linux, Windows + ''' + _validate_not_none('label', label) + _validate_not_none('media_link', media_link) + _validate_not_none('name', name) + _validate_not_none('os', os) + return self._perform_post(self._get_image_path(), + _XmlSerializer.os_image_to_xml( + label, media_link, name, os), + async=True) + + def update_os_image(self, image_name, label, media_link, name, os): + ''' + Updates an OS image that in your image repository. + + image_name: The name of the image to update. + label: + Specifies the friendly name of the image to be updated. You cannot + use this operation to update images provided by the Windows Azure + platform. + media_link: + Specifies the location of the blob in Windows Azure blob store + where the media for the image is located. The blob location must + belong to a storage account in the subscription specified by the + value in the operation call. Example: + http://example.blob.core.windows.net/disks/mydisk.vhd + name: + Specifies a name for the OS image that Windows Azure uses to + identify the image when creating one or more VM Roles. + os: + The operating system type of the OS image. Possible values are: + Linux, Windows + ''' + _validate_not_none('image_name', image_name) + _validate_not_none('label', label) + _validate_not_none('media_link', media_link) + _validate_not_none('name', name) + _validate_not_none('os', os) + return self._perform_put(self._get_image_path(image_name), + _XmlSerializer.os_image_to_xml( + label, media_link, name, os), + async=True) + + def delete_os_image(self, image_name, delete_vhd=False): + ''' + Deletes the specified OS image from your image repository. + + image_name: The name of the image. + delete_vhd: Deletes the underlying vhd blob in Azure storage. + ''' + _validate_not_none('image_name', image_name) + path = self._get_image_path(image_name) + if delete_vhd: + path += '?comp=media' + return self._perform_delete(path, async=True) + + #--Operations for virtual machine disks ------------------------------ + def get_data_disk(self, service_name, deployment_name, role_name, lun): + ''' + Retrieves the specified data disk from a virtual machine. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_name: The name of the role. + lun: The Logical Unit Number (LUN) for the disk. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_name', role_name) + _validate_not_none('lun', lun) + return self._perform_get( + self._get_data_disk_path( + service_name, deployment_name, role_name, lun), + DataVirtualHardDisk) + + def add_data_disk(self, service_name, deployment_name, role_name, lun, + host_caching=None, media_link=None, disk_label=None, + disk_name=None, logical_disk_size_in_gb=None, + source_media_link=None): + ''' + Adds a data disk to a virtual machine. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_name: The name of the role. + lun: + Specifies the Logical Unit Number (LUN) for the disk. The LUN + specifies the slot in which the data drive appears when mounted + for usage by the virtual machine. Valid LUN values are 0 through 15. + host_caching: + Specifies the platform caching behavior of data disk blob for + read/write efficiency. The default vault is ReadOnly. Possible + values are: None, ReadOnly, ReadWrite + media_link: + Specifies the location of the blob in Windows Azure blob store + where the media for the disk is located. The blob location must + belong to the storage account in the subscription specified by the + value in the operation call. Example: + http://example.blob.core.windows.net/disks/mydisk.vhd + disk_label: + Specifies the description of the data disk. When you attach a disk, + either by directly referencing a media using the MediaLink element + or specifying the target disk size, you can use the DiskLabel + element to customize the name property of the target data disk. + disk_name: + Specifies the name of the disk. Windows Azure uses the specified + disk to create the data disk for the machine and populates this + field with the disk name. + logical_disk_size_in_gb: + Specifies the size, in GB, of an empty disk to be attached to the + role. The disk can be created as part of disk attach or create VM + role call by specifying the value for this property. Windows Azure + creates the empty disk based on size preference and attaches the + newly created disk to the Role. + source_media_link: + Specifies the location of a blob in account storage which is + mounted as a data disk when the virtual machine is created. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_name', role_name) + _validate_not_none('lun', lun) + return self._perform_post( + self._get_data_disk_path(service_name, deployment_name, role_name), + _XmlSerializer.data_virtual_hard_disk_to_xml( + host_caching, + disk_label, + disk_name, + lun, + logical_disk_size_in_gb, + media_link, + source_media_link), + async=True) + + def update_data_disk(self, service_name, deployment_name, role_name, lun, + host_caching=None, media_link=None, updated_lun=None, + disk_label=None, disk_name=None, + logical_disk_size_in_gb=None): + ''' + Updates the specified data disk attached to the specified virtual + machine. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_name: The name of the role. + lun: + Specifies the Logical Unit Number (LUN) for the disk. The LUN + specifies the slot in which the data drive appears when mounted + for usage by the virtual machine. Valid LUN values are 0 through + 15. + host_caching: + Specifies the platform caching behavior of data disk blob for + read/write efficiency. The default vault is ReadOnly. Possible + values are: None, ReadOnly, ReadWrite + media_link: + Specifies the location of the blob in Windows Azure blob store + where the media for the disk is located. The blob location must + belong to the storage account in the subscription specified by + the value in the operation call. Example: + http://example.blob.core.windows.net/disks/mydisk.vhd + updated_lun: + Specifies the Logical Unit Number (LUN) for the disk. The LUN + specifies the slot in which the data drive appears when mounted + for usage by the virtual machine. Valid LUN values are 0 through 15. + disk_label: + Specifies the description of the data disk. When you attach a disk, + either by directly referencing a media using the MediaLink element + or specifying the target disk size, you can use the DiskLabel + element to customize the name property of the target data disk. + disk_name: + Specifies the name of the disk. Windows Azure uses the specified + disk to create the data disk for the machine and populates this + field with the disk name. + logical_disk_size_in_gb: + Specifies the size, in GB, of an empty disk to be attached to the + role. The disk can be created as part of disk attach or create VM + role call by specifying the value for this property. Windows Azure + creates the empty disk based on size preference and attaches the + newly created disk to the Role. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_name', role_name) + _validate_not_none('lun', lun) + return self._perform_put( + self._get_data_disk_path( + service_name, deployment_name, role_name, lun), + _XmlSerializer.data_virtual_hard_disk_to_xml( + host_caching, + disk_label, + disk_name, + updated_lun, + logical_disk_size_in_gb, + media_link, + None), + async=True) + + def delete_data_disk(self, service_name, deployment_name, role_name, lun, delete_vhd=False): + ''' + Removes the specified data disk from a virtual machine. + + service_name: The name of the service. + deployment_name: The name of the deployment. + role_name: The name of the role. + lun: The Logical Unit Number (LUN) for the disk. + delete_vhd: Deletes the underlying vhd blob in Azure storage. + ''' + _validate_not_none('service_name', service_name) + _validate_not_none('deployment_name', deployment_name) + _validate_not_none('role_name', role_name) + _validate_not_none('lun', lun) + path = self._get_data_disk_path(service_name, deployment_name, role_name, lun) + if delete_vhd: + path += '?comp=media' + return self._perform_delete(path, async=True) + + #--Operations for virtual machine disks ------------------------------ + def list_disks(self): + ''' + Retrieves a list of the disks in your image repository. + ''' + return self._perform_get(self._get_disk_path(), + Disks) + + def get_disk(self, disk_name): + ''' + Retrieves a disk from your image repository. + ''' + return self._perform_get(self._get_disk_path(disk_name), + Disk) + + def add_disk(self, has_operating_system, label, media_link, name, os): + ''' + Adds a disk to the user image repository. The disk can be an OS disk + or a data disk. + + has_operating_system: + Specifies whether the disk contains an operation system. Only a + disk with an operating system installed can be mounted as OS Drive. + label: Specifies the description of the disk. + media_link: + Specifies the location of the blob in Windows Azure blob store + where the media for the disk is located. The blob location must + belong to the storage account in the current subscription specified + by the value in the operation call. Example: + http://example.blob.core.windows.net/disks/mydisk.vhd + name: + Specifies a name for the disk. Windows Azure uses the name to + identify the disk when creating virtual machines from the disk. + os: The OS type of the disk. Possible values are: Linux, Windows + ''' + _validate_not_none('has_operating_system', has_operating_system) + _validate_not_none('label', label) + _validate_not_none('media_link', media_link) + _validate_not_none('name', name) + _validate_not_none('os', os) + return self._perform_post(self._get_disk_path(), + _XmlSerializer.disk_to_xml( + has_operating_system, + label, + media_link, + name, + os)) + + def update_disk(self, disk_name, has_operating_system, label, media_link, + name, os): + ''' + Updates an existing disk in your image repository. + + disk_name: The name of the disk to update. + has_operating_system: + Specifies whether the disk contains an operation system. Only a + disk with an operating system installed can be mounted as OS Drive. + label: Specifies the description of the disk. + media_link: + Specifies the location of the blob in Windows Azure blob store + where the media for the disk is located. The blob location must + belong to the storage account in the current subscription specified + by the value in the operation call. Example: + http://example.blob.core.windows.net/disks/mydisk.vhd + name: + Specifies a name for the disk. Windows Azure uses the name to + identify the disk when creating virtual machines from the disk. + os: The OS type of the disk. Possible values are: Linux, Windows + ''' + _validate_not_none('disk_name', disk_name) + _validate_not_none('has_operating_system', has_operating_system) + _validate_not_none('label', label) + _validate_not_none('media_link', media_link) + _validate_not_none('name', name) + _validate_not_none('os', os) + return self._perform_put(self._get_disk_path(disk_name), + _XmlSerializer.disk_to_xml( + has_operating_system, + label, + media_link, + name, + os)) + + def delete_disk(self, disk_name, delete_vhd=False): + ''' + Deletes the specified data or operating system disk from your image + repository. + + disk_name: The name of the disk to delete. + delete_vhd: Deletes the underlying vhd blob in Azure storage. + ''' + _validate_not_none('disk_name', disk_name) + path = self._get_disk_path(disk_name) + if delete_vhd: + path += '?comp=media' + return self._perform_delete(path) + + #--Operations for virtual networks ------------------------------ + def list_virtual_network_sites(self): + ''' + Retrieves a list of the virtual networks. + ''' + return self._perform_get(self._get_virtual_network_site_path(), VirtualNetworkSites) + + #--Helper functions -------------------------------------------------- + def _get_virtual_network_site_path(self): + return self._get_path('services/networking/virtualnetwork', None) + + def _get_storage_service_path(self, service_name=None): + return self._get_path('services/storageservices', service_name) + + def _get_hosted_service_path(self, service_name=None): + return self._get_path('services/hostedservices', service_name) + + def _get_deployment_path_using_slot(self, service_name, slot=None): + return self._get_path('services/hostedservices/' + _str(service_name) + + '/deploymentslots', slot) + + def _get_deployment_path_using_name(self, service_name, + deployment_name=None): + return self._get_path('services/hostedservices/' + _str(service_name) + + '/deployments', deployment_name) + + def _get_role_path(self, service_name, deployment_name, role_name=None): + return self._get_path('services/hostedservices/' + _str(service_name) + + '/deployments/' + deployment_name + + '/roles', role_name) + + def _get_role_instance_operations_path(self, service_name, deployment_name, + role_name=None): + return self._get_path('services/hostedservices/' + _str(service_name) + + '/deployments/' + deployment_name + + '/roleinstances', role_name) + '/Operations' + + def _get_roles_operations_path(self, service_name, deployment_name): + return self._get_path('services/hostedservices/' + _str(service_name) + + '/deployments/' + deployment_name + + '/roles/Operations', None) + + def _get_data_disk_path(self, service_name, deployment_name, role_name, + lun=None): + return self._get_path('services/hostedservices/' + _str(service_name) + + '/deployments/' + _str(deployment_name) + + '/roles/' + _str(role_name) + '/DataDisks', lun) + + def _get_disk_path(self, disk_name=None): + return self._get_path('services/disks', disk_name) + + def _get_image_path(self, image_name=None): + return self._get_path('services/images', image_name) diff --git a/awx/lib/site-packages/azure/storage/__init__.py b/awx/lib/site-packages/azure/storage/__init__.py new file mode 100644 index 0000000000..5a28afd0bb --- /dev/null +++ b/awx/lib/site-packages/azure/storage/__init__.py @@ -0,0 +1,913 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 hashlib +import hmac +import sys +import types + +from datetime import datetime +from xml.dom import minidom +from azure import (WindowsAzureData, + WindowsAzureError, + METADATA_NS, + xml_escape, + _create_entry, + _decode_base64_to_text, + _decode_base64_to_bytes, + _encode_base64, + _fill_data_minidom, + _fill_instance_element, + _get_child_nodes, + _get_child_nodesNS, + _get_children_from_path, + _get_entry_properties, + _general_error_handler, + _list_of, + _parse_response_for_dict, + _unicode_type, + _ERROR_CANNOT_SERIALIZE_VALUE_TO_ENTITY, + ) + +# x-ms-version for storage service. +X_MS_VERSION = '2012-02-12' + + +class EnumResultsBase(object): + + ''' base class for EnumResults. ''' + + def __init__(self): + self.prefix = u'' + self.marker = u'' + self.max_results = 0 + self.next_marker = u'' + + +class ContainerEnumResults(EnumResultsBase): + + ''' Blob Container list. ''' + + def __init__(self): + EnumResultsBase.__init__(self) + self.containers = _list_of(Container) + + def __iter__(self): + return iter(self.containers) + + def __len__(self): + return len(self.containers) + + def __getitem__(self, index): + return self.containers[index] + + +class Container(WindowsAzureData): + + ''' Blob container class. ''' + + def __init__(self): + self.name = u'' + self.url = u'' + self.properties = Properties() + self.metadata = {} + + +class Properties(WindowsAzureData): + + ''' Blob container's properties class. ''' + + def __init__(self): + self.last_modified = u'' + self.etag = u'' + + +class RetentionPolicy(WindowsAzureData): + + ''' RetentionPolicy in service properties. ''' + + def __init__(self): + self.enabled = False + self.__dict__['days'] = None + + def get_days(self): + # convert days to int value + return int(self.__dict__['days']) + + def set_days(self, value): + ''' set default days if days is set to empty. ''' + self.__dict__['days'] = value + + days = property(fget=get_days, fset=set_days) + + +class Logging(WindowsAzureData): + + ''' Logging class in service properties. ''' + + def __init__(self): + self.version = u'1.0' + self.delete = False + self.read = False + self.write = False + self.retention_policy = RetentionPolicy() + + +class Metrics(WindowsAzureData): + + ''' Metrics class in service properties. ''' + + def __init__(self): + self.version = u'1.0' + self.enabled = False + self.include_apis = None + self.retention_policy = RetentionPolicy() + + +class StorageServiceProperties(WindowsAzureData): + + ''' Storage Service Propeties class. ''' + + def __init__(self): + self.logging = Logging() + self.metrics = Metrics() + + +class AccessPolicy(WindowsAzureData): + + ''' Access Policy class in service properties. ''' + + def __init__(self, start=u'', expiry=u'', permission='u'): + self.start = start + self.expiry = expiry + self.permission = permission + + +class SignedIdentifier(WindowsAzureData): + + ''' Signed Identifier class for service properties. ''' + + def __init__(self): + self.id = u'' + self.access_policy = AccessPolicy() + + +class SignedIdentifiers(WindowsAzureData): + + ''' SignedIdentifier list. ''' + + def __init__(self): + self.signed_identifiers = _list_of(SignedIdentifier) + + def __iter__(self): + return iter(self.signed_identifiers) + + def __len__(self): + return len(self.signed_identifiers) + + def __getitem__(self, index): + return self.signed_identifiers[index] + + +class BlobEnumResults(EnumResultsBase): + + ''' Blob list.''' + + def __init__(self): + EnumResultsBase.__init__(self) + self.blobs = _list_of(Blob) + self.prefixes = _list_of(BlobPrefix) + self.delimiter = '' + + def __iter__(self): + return iter(self.blobs) + + def __len__(self): + return len(self.blobs) + + def __getitem__(self, index): + return self.blobs[index] + + +class BlobResult(bytes): + + def __new__(cls, blob, properties): + return bytes.__new__(cls, blob if blob else b'') + + def __init__(self, blob, properties): + self.properties = properties + + +class Blob(WindowsAzureData): + + ''' Blob class. ''' + + def __init__(self): + self.name = u'' + self.snapshot = u'' + self.url = u'' + self.properties = BlobProperties() + self.metadata = {} + + +class BlobProperties(WindowsAzureData): + + ''' Blob Properties ''' + + def __init__(self): + self.last_modified = u'' + self.etag = u'' + self.content_length = 0 + self.content_type = u'' + self.content_encoding = u'' + self.content_language = u'' + self.content_md5 = u'' + self.xms_blob_sequence_number = 0 + self.blob_type = u'' + self.lease_status = u'' + self.lease_state = u'' + self.lease_duration = u'' + self.copy_id = u'' + self.copy_source = u'' + self.copy_status = u'' + self.copy_progress = u'' + self.copy_completion_time = u'' + self.copy_status_description = u'' + + +class BlobPrefix(WindowsAzureData): + + ''' BlobPrefix in Blob. ''' + + def __init__(self): + self.name = '' + + +class BlobBlock(WindowsAzureData): + + ''' BlobBlock class ''' + + def __init__(self, id=None, size=None): + self.id = id + self.size = size + + +class BlobBlockList(WindowsAzureData): + + ''' BlobBlockList class ''' + + def __init__(self): + self.committed_blocks = [] + self.uncommitted_blocks = [] + + +class PageRange(WindowsAzureData): + + ''' Page Range for page blob. ''' + + def __init__(self): + self.start = 0 + self.end = 0 + + +class PageList(object): + + ''' Page list for page blob. ''' + + def __init__(self): + self.page_ranges = _list_of(PageRange) + + def __iter__(self): + return iter(self.page_ranges) + + def __len__(self): + return len(self.page_ranges) + + def __getitem__(self, index): + return self.page_ranges[index] + + +class QueueEnumResults(EnumResultsBase): + + ''' Queue list''' + + def __init__(self): + EnumResultsBase.__init__(self) + self.queues = _list_of(Queue) + + def __iter__(self): + return iter(self.queues) + + def __len__(self): + return len(self.queues) + + def __getitem__(self, index): + return self.queues[index] + + +class Queue(WindowsAzureData): + + ''' Queue class ''' + + def __init__(self): + self.name = u'' + self.url = u'' + self.metadata = {} + + +class QueueMessagesList(WindowsAzureData): + + ''' Queue message list. ''' + + def __init__(self): + self.queue_messages = _list_of(QueueMessage) + + def __iter__(self): + return iter(self.queue_messages) + + def __len__(self): + return len(self.queue_messages) + + def __getitem__(self, index): + return self.queue_messages[index] + + +class QueueMessage(WindowsAzureData): + + ''' Queue message class. ''' + + def __init__(self): + self.message_id = u'' + self.insertion_time = u'' + self.expiration_time = u'' + self.pop_receipt = u'' + self.time_next_visible = u'' + self.dequeue_count = u'' + self.message_text = u'' + + +class Entity(WindowsAzureData): + + ''' Entity class. The attributes of entity will be created dynamically. ''' + pass + + +class EntityProperty(WindowsAzureData): + + ''' Entity property. contains type and value. ''' + + def __init__(self, type=None, value=None): + self.type = type + self.value = value + + +class Table(WindowsAzureData): + + ''' Only for intellicens and telling user the return type. ''' + pass + + +def _parse_blob_enum_results_list(response): + respbody = response.body + return_obj = BlobEnumResults() + doc = minidom.parseString(respbody) + + for enum_results in _get_child_nodes(doc, 'EnumerationResults'): + for child in _get_children_from_path(enum_results, 'Blobs', 'Blob'): + return_obj.blobs.append(_fill_instance_element(child, Blob)) + + for child in _get_children_from_path(enum_results, + 'Blobs', + 'BlobPrefix'): + return_obj.prefixes.append( + _fill_instance_element(child, BlobPrefix)) + + for name, value in vars(return_obj).items(): + if name == 'blobs' or name == 'prefixes': + continue + value = _fill_data_minidom(enum_results, name, value) + if value is not None: + setattr(return_obj, name, value) + + return return_obj + + +def _update_storage_header(request): + ''' add additional headers for storage request. ''' + if request.body: + assert isinstance(request.body, bytes) + + # if it is PUT, POST, MERGE, DELETE, need to add content-lengt to header. + if request.method in ['PUT', 'POST', 'MERGE', 'DELETE']: + request.headers.append(('Content-Length', str(len(request.body)))) + + # append addtional headers base on the service + request.headers.append(('x-ms-version', X_MS_VERSION)) + + # append x-ms-meta name, values to header + for name, value in request.headers: + if 'x-ms-meta-name-values' in name and value: + for meta_name, meta_value in value.items(): + request.headers.append(('x-ms-meta-' + meta_name, meta_value)) + request.headers.remove((name, value)) + break + return request + + +def _update_storage_blob_header(request, account_name, account_key): + ''' add additional headers for storage blob request. ''' + + request = _update_storage_header(request) + current_time = datetime.utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT') + request.headers.append(('x-ms-date', current_time)) + request.headers.append( + ('Content-Type', 'application/octet-stream Charset=UTF-8')) + request.headers.append(('Authorization', + _sign_storage_blob_request(request, + account_name, + account_key))) + + return request.headers + + +def _update_storage_queue_header(request, account_name, account_key): + ''' add additional headers for storage queue request. ''' + return _update_storage_blob_header(request, account_name, account_key) + + +def _update_storage_table_header(request): + ''' add additional headers for storage table request. ''' + + request = _update_storage_header(request) + for name, _ in request.headers: + if name.lower() == 'content-type': + break + else: + request.headers.append(('Content-Type', 'application/atom+xml')) + request.headers.append(('DataServiceVersion', '2.0;NetFx')) + request.headers.append(('MaxDataServiceVersion', '2.0;NetFx')) + current_time = datetime.utcnow().strftime('%a, %d %b %Y %H:%M:%S GMT') + request.headers.append(('x-ms-date', current_time)) + request.headers.append(('Date', current_time)) + return request.headers + + +def _sign_storage_blob_request(request, account_name, account_key): + ''' + Returns the signed string for blob request which is used to set + Authorization header. This is also used to sign queue request. + ''' + + uri_path = request.path.split('?')[0] + + # method to sign + string_to_sign = request.method + '\n' + + # get headers to sign + headers_to_sign = [ + 'content-encoding', 'content-language', 'content-length', + 'content-md5', 'content-type', 'date', 'if-modified-since', + 'if-match', 'if-none-match', 'if-unmodified-since', 'range'] + + request_header_dict = dict((name.lower(), value) + for name, value in request.headers if value) + string_to_sign += '\n'.join(request_header_dict.get(x, '') + for x in headers_to_sign) + '\n' + + # get x-ms header to sign + x_ms_headers = [] + for name, value in request.headers: + if 'x-ms' in name: + x_ms_headers.append((name.lower(), value)) + x_ms_headers.sort() + for name, value in x_ms_headers: + if value: + string_to_sign += ''.join([name, ':', value, '\n']) + + # get account_name and uri path to sign + string_to_sign += '/' + account_name + uri_path + + # get query string to sign if it is not table service + query_to_sign = request.query + query_to_sign.sort() + + current_name = '' + for name, value in query_to_sign: + if value: + if current_name != name: + string_to_sign += '\n' + name + ':' + value + else: + string_to_sign += '\n' + ',' + value + + # sign the request + auth_string = 'SharedKey ' + account_name + ':' + \ + _sign_string(account_key, string_to_sign) + return auth_string + + +def _sign_storage_table_request(request, account_name, account_key): + uri_path = request.path.split('?')[0] + + string_to_sign = request.method + '\n' + headers_to_sign = ['content-md5', 'content-type', 'date'] + request_header_dict = dict((name.lower(), value) + for name, value in request.headers if value) + string_to_sign += '\n'.join(request_header_dict.get(x, '') + for x in headers_to_sign) + '\n' + + # get account_name and uri path to sign + string_to_sign += ''.join(['/', account_name, uri_path]) + + for name, value in request.query: + if name == 'comp' and uri_path == '/': + string_to_sign += '?comp=' + value + break + + # sign the request + auth_string = 'SharedKey ' + account_name + ':' + \ + _sign_string(account_key, string_to_sign) + return auth_string + + +def _sign_string(account_key, string_to_sign): + decoded_account_key = _decode_base64_to_bytes(account_key) + if isinstance(string_to_sign, _unicode_type): + string_to_sign = string_to_sign.encode('utf-8') + signed_hmac_sha256 = hmac.HMAC( + decoded_account_key, string_to_sign, hashlib.sha256) + digest = signed_hmac_sha256.digest() + encoded_digest = _encode_base64(digest) + return encoded_digest + + +def _to_python_bool(value): + if value.lower() == 'true': + return True + return False + + +def _to_entity_int(data): + int_max = (2 << 30) - 1 + if data > (int_max) or data < (int_max + 1) * (-1): + return 'Edm.Int64', str(data) + else: + return 'Edm.Int32', str(data) + + +def _to_entity_bool(value): + if value: + return 'Edm.Boolean', 'true' + return 'Edm.Boolean', 'false' + + +def _to_entity_datetime(value): + return 'Edm.DateTime', value.strftime('%Y-%m-%dT%H:%M:%S') + + +def _to_entity_float(value): + return 'Edm.Double', str(value) + + +def _to_entity_property(value): + if value.type == 'Edm.Binary': + return value.type, _encode_base64(value.value) + + return value.type, str(value.value) + + +def _to_entity_none(value): + return None, None + + +def _to_entity_str(value): + return 'Edm.String', value + + +# Tables of conversions to and from entity types. We support specific +# datatypes, and beyond that the user can use an EntityProperty to get +# custom data type support. + +def _from_entity_binary(value): + return EntityProperty('Edm.Binary', _decode_base64_to_bytes(value)) + + +def _from_entity_int(value): + return int(value) + + +def _from_entity_datetime(value): + format = '%Y-%m-%dT%H:%M:%S' + if '.' in value: + format = format + '.%f' + if value.endswith('Z'): + format = format + 'Z' + return datetime.strptime(value, format) + +_ENTITY_TO_PYTHON_CONVERSIONS = { + 'Edm.Binary': _from_entity_binary, + 'Edm.Int32': _from_entity_int, + 'Edm.Int64': _from_entity_int, + 'Edm.Double': float, + 'Edm.Boolean': _to_python_bool, + 'Edm.DateTime': _from_entity_datetime, +} + +# Conversion from Python type to a function which returns a tuple of the +# type string and content string. +_PYTHON_TO_ENTITY_CONVERSIONS = { + int: _to_entity_int, + bool: _to_entity_bool, + datetime: _to_entity_datetime, + float: _to_entity_float, + EntityProperty: _to_entity_property, + str: _to_entity_str, +} + +if sys.version_info < (3,): + _PYTHON_TO_ENTITY_CONVERSIONS.update({ + long: _to_entity_int, + types.NoneType: _to_entity_none, + unicode: _to_entity_str, + }) + + +def _convert_entity_to_xml(source): + ''' Converts an entity object to xml to send. + + The entity format is: + + + <updated>2008-09-18T23:46:19.3857256Z</updated> + <author> + <name /> + </author> + <id /> + <content type="application/xml"> + <m:properties> + <d:Address>Mountain View</d:Address> + <d:Age m:type="Edm.Int32">23</d:Age> + <d:AmountDue m:type="Edm.Double">200.23</d:AmountDue> + <d:BinaryData m:type="Edm.Binary" m:null="true" /> + <d:CustomerCode m:type="Edm.Guid">c9da6455-213d-42c9-9a79-3e9149a57833</d:CustomerCode> + <d:CustomerSince m:type="Edm.DateTime">2008-07-10T00:00:00</d:CustomerSince> + <d:IsActive m:type="Edm.Boolean">true</d:IsActive> + <d:NumOfOrders m:type="Edm.Int64">255</d:NumOfOrders> + <d:PartitionKey>mypartitionkey</d:PartitionKey> + <d:RowKey>myrowkey1</d:RowKey> + <d:Timestamp m:type="Edm.DateTime">0001-01-01T00:00:00</d:Timestamp> + </m:properties> + </content> + </entry> + ''' + + # construct the entity body included in <m:properties> and </m:properties> + entity_body = '<m:properties xml:space="preserve">{properties}</m:properties>' + + if isinstance(source, WindowsAzureData): + source = vars(source) + + properties_str = '' + + # set properties type for types we know if value has no type info. + # if value has type info, then set the type to value.type + for name, value in source.items(): + mtype = '' + conv = _PYTHON_TO_ENTITY_CONVERSIONS.get(type(value)) + if conv is None and sys.version_info >= (3,) and value is None: + conv = _to_entity_none + if conv is None: + raise WindowsAzureError( + _ERROR_CANNOT_SERIALIZE_VALUE_TO_ENTITY.format( + type(value).__name__)) + + mtype, value = conv(value) + + # form the property node + properties_str += ''.join(['<d:', name]) + if value is None: + properties_str += ' m:null="true" />' + else: + if mtype: + properties_str += ''.join([' m:type="', mtype, '"']) + properties_str += ''.join(['>', + xml_escape(value), '</d:', name, '>']) + + if sys.version_info < (3,): + if isinstance(properties_str, unicode): + properties_str = properties_str.encode(encoding='utf-8') + + # generate the entity_body + entity_body = entity_body.format(properties=properties_str) + xmlstr = _create_entry(entity_body) + return xmlstr + + +def _convert_table_to_xml(table_name): + ''' + Create xml to send for a given table name. Since xml format for table is + the same as entity and the only difference is that table has only one + property 'TableName', so we just call _convert_entity_to_xml. + + table_name: the name of the table + ''' + return _convert_entity_to_xml({'TableName': table_name}) + + +def _convert_block_list_to_xml(block_id_list): + ''' + Convert a block list to xml to send. + + block_id_list: + a str list containing the block ids that are used in put_block_list. + Only get block from latest blocks. + ''' + if block_id_list is None: + return '' + xml = '<?xml version="1.0" encoding="utf-8"?><BlockList>' + for value in block_id_list: + xml += '<Latest>{0}</Latest>'.format(_encode_base64(value)) + + return xml + '</BlockList>' + + +def _create_blob_result(response): + blob_properties = _parse_response_for_dict(response) + return BlobResult(response.body, blob_properties) + + +def _convert_response_to_block_list(response): + ''' + Converts xml response to block list class. + ''' + blob_block_list = BlobBlockList() + + xmldoc = minidom.parseString(response.body) + for xml_block in _get_children_from_path(xmldoc, + 'BlockList', + 'CommittedBlocks', + 'Block'): + xml_block_id = _decode_base64_to_text( + _get_child_nodes(xml_block, 'Name')[0].firstChild.nodeValue) + xml_block_size = int( + _get_child_nodes(xml_block, 'Size')[0].firstChild.nodeValue) + blob_block_list.committed_blocks.append( + BlobBlock(xml_block_id, xml_block_size)) + + for xml_block in _get_children_from_path(xmldoc, + 'BlockList', + 'UncommittedBlocks', + 'Block'): + xml_block_id = _decode_base64_to_text( + _get_child_nodes(xml_block, 'Name')[0].firstChild.nodeValue) + xml_block_size = int( + _get_child_nodes(xml_block, 'Size')[0].firstChild.nodeValue) + blob_block_list.uncommitted_blocks.append( + BlobBlock(xml_block_id, xml_block_size)) + + return blob_block_list + + +def _remove_prefix(name): + colon = name.find(':') + if colon != -1: + return name[colon + 1:] + return name + + +def _convert_response_to_entity(response): + if response is None: + return response + return _convert_xml_to_entity(response.body) + + +def _convert_xml_to_entity(xmlstr): + ''' Convert xml response to entity. + + The format of entity: + <entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom"> + <title /> + <updated>2008-09-18T23:46:19.3857256Z</updated> + <author> + <name /> + </author> + <id /> + <content type="application/xml"> + <m:properties> + <d:Address>Mountain View</d:Address> + <d:Age m:type="Edm.Int32">23</d:Age> + <d:AmountDue m:type="Edm.Double">200.23</d:AmountDue> + <d:BinaryData m:type="Edm.Binary" m:null="true" /> + <d:CustomerCode m:type="Edm.Guid">c9da6455-213d-42c9-9a79-3e9149a57833</d:CustomerCode> + <d:CustomerSince m:type="Edm.DateTime">2008-07-10T00:00:00</d:CustomerSince> + <d:IsActive m:type="Edm.Boolean">true</d:IsActive> + <d:NumOfOrders m:type="Edm.Int64">255</d:NumOfOrders> + <d:PartitionKey>mypartitionkey</d:PartitionKey> + <d:RowKey>myrowkey1</d:RowKey> + <d:Timestamp m:type="Edm.DateTime">0001-01-01T00:00:00</d:Timestamp> + </m:properties> + </content> + </entry> + ''' + xmldoc = minidom.parseString(xmlstr) + + xml_properties = None + for entry in _get_child_nodes(xmldoc, 'entry'): + for content in _get_child_nodes(entry, 'content'): + # TODO: Namespace + xml_properties = _get_child_nodesNS( + content, METADATA_NS, 'properties') + + if not xml_properties: + return None + + entity = Entity() + # extract each property node and get the type from attribute and node value + for xml_property in xml_properties[0].childNodes: + name = _remove_prefix(xml_property.nodeName) + # exclude the Timestamp since it is auto added by azure when + # inserting entity. We don't want this to mix with real properties + if name in ['Timestamp']: + continue + + if xml_property.firstChild: + value = xml_property.firstChild.nodeValue + else: + value = '' + + isnull = xml_property.getAttributeNS(METADATA_NS, 'null') + mtype = xml_property.getAttributeNS(METADATA_NS, 'type') + + # if not isnull and no type info, then it is a string and we just + # need the str type to hold the property. + if not isnull and not mtype: + _set_entity_attr(entity, name, value) + elif isnull == 'true': + if mtype: + property = EntityProperty(mtype, None) + else: + property = EntityProperty('Edm.String', None) + else: # need an object to hold the property + conv = _ENTITY_TO_PYTHON_CONVERSIONS.get(mtype) + if conv is not None: + property = conv(value) + else: + property = EntityProperty(mtype, value) + _set_entity_attr(entity, name, property) + + # extract id, updated and name value from feed entry and set them of + # rule. + for name, value in _get_entry_properties(xmlstr, True).items(): + if name in ['etag']: + _set_entity_attr(entity, name, value) + + return entity + + +def _set_entity_attr(entity, name, value): + try: + setattr(entity, name, value) + except UnicodeEncodeError: + # Python 2 doesn't support unicode attribute names, so we'll + # add them and access them directly through the dictionary + entity.__dict__[name] = value + + +def _convert_xml_to_table(xmlstr): + ''' Converts the xml response to table class. + Simply call convert_xml_to_entity and extract the table name, and add + updated and author info + ''' + table = Table() + entity = _convert_xml_to_entity(xmlstr) + setattr(table, 'name', entity.TableName) + for name, value in _get_entry_properties(xmlstr, False).items(): + setattr(table, name, value) + return table + + +def _storage_error_handler(http_error): + ''' Simple error handler for storage service. ''' + return _general_error_handler(http_error) + +# make these available just from storage. +from azure.storage.blobservice import BlobService +from azure.storage.queueservice import QueueService +from azure.storage.tableservice import TableService +from azure.storage.cloudstorageaccount import CloudStorageAccount +from azure.storage.sharedaccesssignature import ( + SharedAccessSignature, + SharedAccessPolicy, + Permission, + WebResource, + ) diff --git a/awx/lib/site-packages/azure/storage/blobservice.py b/awx/lib/site-packages/azure/storage/blobservice.py new file mode 100644 index 0000000000..aca56b4584 --- /dev/null +++ b/awx/lib/site-packages/azure/storage/blobservice.py @@ -0,0 +1,2225 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 azure import ( + WindowsAzureError, + BLOB_SERVICE_HOST_BASE, + DEV_BLOB_HOST, + _ERROR_VALUE_NEGATIVE, + _ERROR_PAGE_BLOB_SIZE_ALIGNMENT, + _convert_class_to_xml, + _dont_fail_not_exist, + _dont_fail_on_exist, + _encode_base64, + _get_request_body, + _get_request_body_bytes_only, + _int_or_none, + _parse_enum_results_list, + _parse_response, + _parse_response_for_dict, + _parse_response_for_dict_filter, + _parse_response_for_dict_prefix, + _parse_simple_list, + _str, + _str_or_none, + _update_request_uri_query_local_storage, + _validate_type_bytes, + _validate_not_none, + ) +from azure.http import HTTPRequest +from azure.storage import ( + Container, + ContainerEnumResults, + PageList, + PageRange, + SignedIdentifiers, + StorageServiceProperties, + _convert_block_list_to_xml, + _convert_response_to_block_list, + _create_blob_result, + _parse_blob_enum_results_list, + _update_storage_blob_header, + ) +from azure.storage.storageclient import _StorageClient +from os import path +import sys +if sys.version_info >= (3,): + from io import BytesIO +else: + from cStringIO import StringIO as BytesIO + +# Keep this value sync with _ERROR_PAGE_BLOB_SIZE_ALIGNMENT +_PAGE_SIZE = 512 + +class BlobService(_StorageClient): + + ''' + This is the main class managing Blob resources. + ''' + + def __init__(self, account_name=None, account_key=None, protocol='https', + host_base=BLOB_SERVICE_HOST_BASE, dev_host=DEV_BLOB_HOST): + ''' + account_name: your storage account name, required for all operations. + account_key: your storage account key, required for all operations. + protocol: Optional. Protocol. Defaults to https. + host_base: + Optional. Live host base url. Defaults to Azure url. Override this + for on-premise. + dev_host: Optional. Dev host url. Defaults to localhost. + ''' + self._BLOB_MAX_DATA_SIZE = 64 * 1024 * 1024 + self._BLOB_MAX_CHUNK_DATA_SIZE = 4 * 1024 * 1024 + super(BlobService, self).__init__( + account_name, account_key, protocol, host_base, dev_host) + + def make_blob_url(self, container_name, blob_name, account_name=None, + protocol=None, host_base=None): + ''' + Creates the url to access a blob. + + container_name: Name of container. + blob_name: Name of blob. + account_name: + Name of the storage account. If not specified, uses the account + specified when BlobService was initialized. + protocol: + Protocol to use: 'http' or 'https'. If not specified, uses the + protocol specified when BlobService was initialized. + host_base: + Live host base url. If not specified, uses the host base specified + when BlobService was initialized. + ''' + if not account_name: + account_name = self.account_name + if not protocol: + protocol = self.protocol + if not host_base: + host_base = self.host_base + + return '{0}://{1}{2}/{3}/{4}'.format(protocol, + account_name, + host_base, + container_name, + blob_name) + + def list_containers(self, prefix=None, marker=None, maxresults=None, + include=None): + ''' + The List Containers operation returns a list of the containers under + the specified account. + + prefix: + Optional. Filters the results to return only containers whose names + begin with the specified prefix. + marker: + Optional. A string value that identifies the portion of the list to + be returned with the next list operation. + maxresults: + Optional. Specifies the maximum number of containers to return. + include: + Optional. Include this parameter to specify that the container's + metadata be returned as part of the response body. set this + parameter to string 'metadata' to get container's metadata. + ''' + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/?comp=list' + request.query = [ + ('prefix', _str_or_none(prefix)), + ('marker', _str_or_none(marker)), + ('maxresults', _int_or_none(maxresults)), + ('include', _str_or_none(include)) + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_enum_results_list(response, + ContainerEnumResults, + "Containers", + Container) + + def create_container(self, container_name, x_ms_meta_name_values=None, + x_ms_blob_public_access=None, fail_on_exist=False): + ''' + Creates a new container under the specified account. If the container + with the same name already exists, the operation fails. + + container_name: Name of container to create. + x_ms_meta_name_values: + Optional. A dict with name_value pairs to associate with the + container as metadata. Example:{'Category':'test'} + x_ms_blob_public_access: + Optional. Possible values include: container, blob + fail_on_exist: + specify whether to throw an exception when the container exists. + ''' + _validate_not_none('container_name', container_name) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(container_name) + '?restype=container' + request.headers = [ + ('x-ms-meta-name-values', x_ms_meta_name_values), + ('x-ms-blob-public-access', _str_or_none(x_ms_blob_public_access)) + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + if not fail_on_exist: + try: + self._perform_request(request) + return True + except WindowsAzureError as ex: + _dont_fail_on_exist(ex) + return False + else: + self._perform_request(request) + return True + + def get_container_properties(self, container_name, x_ms_lease_id=None): + ''' + Returns all user-defined metadata and system properties for the + specified container. + + container_name: Name of existing container. + x_ms_lease_id: + If specified, get_container_properties only succeeds if the + container's lease is active and matches this ID. + ''' + _validate_not_none('container_name', container_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + _str(container_name) + '?restype=container' + request.headers = [('x-ms-lease-id', _str_or_none(x_ms_lease_id))] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response_for_dict(response) + + def get_container_metadata(self, container_name, x_ms_lease_id=None): + ''' + Returns all user-defined metadata for the specified container. The + metadata will be in returned dictionary['x-ms-meta-(name)']. + + container_name: Name of existing container. + x_ms_lease_id: + If specified, get_container_metadata only succeeds if the + container's lease is active and matches this ID. + ''' + _validate_not_none('container_name', container_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '?restype=container&comp=metadata' + request.headers = [('x-ms-lease-id', _str_or_none(x_ms_lease_id))] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response_for_dict_prefix(response, prefixes=['x-ms-meta']) + + def set_container_metadata(self, container_name, + x_ms_meta_name_values=None, x_ms_lease_id=None): + ''' + Sets one or more user-defined name-value pairs for the specified + container. + + container_name: Name of existing container. + x_ms_meta_name_values: + A dict containing name, value for metadata. + Example: {'category':'test'} + x_ms_lease_id: + If specified, set_container_metadata only succeeds if the + container's lease is active and matches this ID. + ''' + _validate_not_none('container_name', container_name) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '?restype=container&comp=metadata' + request.headers = [ + ('x-ms-meta-name-values', x_ms_meta_name_values), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)), + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def get_container_acl(self, container_name, x_ms_lease_id=None): + ''' + Gets the permissions for the specified container. + + container_name: Name of existing container. + x_ms_lease_id: + If specified, get_container_acl only succeeds if the + container's lease is active and matches this ID. + ''' + _validate_not_none('container_name', container_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '?restype=container&comp=acl' + request.headers = [('x-ms-lease-id', _str_or_none(x_ms_lease_id))] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response(response, SignedIdentifiers) + + def set_container_acl(self, container_name, signed_identifiers=None, + x_ms_blob_public_access=None, x_ms_lease_id=None): + ''' + Sets the permissions for the specified container. + + container_name: Name of existing container. + signed_identifiers: SignedIdentifers instance + x_ms_blob_public_access: + Optional. Possible values include: container, blob + x_ms_lease_id: + If specified, set_container_acl only succeeds if the + container's lease is active and matches this ID. + ''' + _validate_not_none('container_name', container_name) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '?restype=container&comp=acl' + request.headers = [ + ('x-ms-blob-public-access', _str_or_none(x_ms_blob_public_access)), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)), + ] + request.body = _get_request_body( + _convert_class_to_xml(signed_identifiers)) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def delete_container(self, container_name, fail_not_exist=False, + x_ms_lease_id=None): + ''' + Marks the specified container for deletion. + + container_name: Name of container to delete. + fail_not_exist: + Specify whether to throw an exception when the container doesn't + exist. + x_ms_lease_id: Required if the container has an active lease. + ''' + _validate_not_none('container_name', container_name) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + _str(container_name) + '?restype=container' + request.headers = [('x-ms-lease-id', _str_or_none(x_ms_lease_id))] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + if not fail_not_exist: + try: + self._perform_request(request) + return True + except WindowsAzureError as ex: + _dont_fail_not_exist(ex) + return False + else: + self._perform_request(request) + return True + + def lease_container(self, container_name, x_ms_lease_action, + x_ms_lease_id=None, x_ms_lease_duration=60, + x_ms_lease_break_period=None, + x_ms_proposed_lease_id=None): + ''' + Establishes and manages a lock on a container for delete operations. + The lock duration can be 15 to 60 seconds, or can be infinite. + + container_name: Name of existing container. + x_ms_lease_action: + Required. Possible values: acquire|renew|release|break|change + x_ms_lease_id: Required if the container has an active lease. + x_ms_lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. For backwards compatibility, the default is + 60, and the value is only used on an acquire operation. + x_ms_lease_break_period: + Optional. For a break operation, this is the proposed duration of + seconds that the lease should continue before it is broken, between + 0 and 60 seconds. This break period is only used if it is shorter + than the time remaining on the lease. If longer, the time remaining + on the lease is used. A new lease will not be available before the + break period has expired, but the lease may be held for longer than + the break period. If this header does not appear with a break + operation, a fixed-duration lease breaks after the remaining lease + period elapses, and an infinite lease breaks immediately. + x_ms_proposed_lease_id: + Optional for acquire, required for change. Proposed lease ID, in a + GUID string format. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('x_ms_lease_action', x_ms_lease_action) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '?restype=container&comp=lease' + request.headers = [ + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)), + ('x-ms-lease-action', _str_or_none(x_ms_lease_action)), + ('x-ms-lease-duration', + _str_or_none( + x_ms_lease_duration if x_ms_lease_action == 'acquire'\ + else None)), + ('x-ms-lease-break-period', _str_or_none(x_ms_lease_break_period)), + ('x-ms-proposed-lease-id', _str_or_none(x_ms_proposed_lease_id)), + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response_for_dict_filter( + response, + filter=['x-ms-lease-id', 'x-ms-lease-time']) + + def list_blobs(self, container_name, prefix=None, marker=None, + maxresults=None, include=None, delimiter=None): + ''' + Returns the list of blobs under the specified container. + + container_name: Name of existing container. + prefix: + Optional. Filters the results to return only blobs whose names + begin with the specified prefix. + marker: + Optional. A string value that identifies the portion of the list + to be returned with the next list operation. The operation returns + a marker value within the response body if the list returned was + not complete. The marker value may then be used in a subsequent + call to request the next set of list items. The marker value is + opaque to the client. + maxresults: + Optional. Specifies the maximum number of blobs to return, + including all BlobPrefix elements. If the request does not specify + maxresults or specifies a value greater than 5,000, the server will + return up to 5,000 items. Setting maxresults to a value less than + or equal to zero results in error response code 400 (Bad Request). + include: + Optional. Specifies one or more datasets to include in the + response. To specify more than one of these options on the URI, + you must separate each option with a comma. Valid values are: + snapshots: + Specifies that snapshots should be included in the + enumeration. Snapshots are listed from oldest to newest in + the response. + metadata: + Specifies that blob metadata be returned in the response. + uncommittedblobs: + Specifies that blobs for which blocks have been uploaded, + but which have not been committed using Put Block List + (REST API), be included in the response. + copy: + Version 2012-02-12 and newer. Specifies that metadata + related to any current or previous Copy Blob operation + should be included in the response. + delimiter: + Optional. When the request includes this parameter, the operation + returns a BlobPrefix element in the response body that acts as a + placeholder for all blobs whose names begin with the same + substring up to the appearance of the delimiter character. The + delimiter may be a single character or a string. + ''' + _validate_not_none('container_name', container_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '?restype=container&comp=list' + request.query = [ + ('prefix', _str_or_none(prefix)), + ('delimiter', _str_or_none(delimiter)), + ('marker', _str_or_none(marker)), + ('maxresults', _int_or_none(maxresults)), + ('include', _str_or_none(include)) + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_blob_enum_results_list(response) + + def set_blob_service_properties(self, storage_service_properties, + timeout=None): + ''' + Sets the properties of a storage account's Blob service, including + Windows Azure Storage Analytics. You can also use this operation to + set the default request version for all incoming requests that do not + have a version specified. + + storage_service_properties: a StorageServiceProperties object. + timeout: Optional. The timeout parameter is expressed in seconds. + ''' + _validate_not_none('storage_service_properties', + storage_service_properties) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/?restype=service&comp=properties' + request.query = [('timeout', _int_or_none(timeout))] + request.body = _get_request_body( + _convert_class_to_xml(storage_service_properties)) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def get_blob_service_properties(self, timeout=None): + ''' + Gets the properties of a storage account's Blob service, including + Windows Azure Storage Analytics. + + timeout: Optional. The timeout parameter is expressed in seconds. + ''' + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/?restype=service&comp=properties' + request.query = [('timeout', _int_or_none(timeout))] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response(response, StorageServiceProperties) + + def get_blob_properties(self, container_name, blob_name, + x_ms_lease_id=None): + ''' + Returns all user-defined metadata, standard HTTP properties, and + system properties for the blob. + + container_name: Name of existing container. + blob_name: Name of existing blob. + x_ms_lease_id: Required if the blob has an active lease. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + request = HTTPRequest() + request.method = 'HEAD' + request.host = self._get_host() + request.path = '/' + _str(container_name) + '/' + _str(blob_name) + '' + request.headers = [('x-ms-lease-id', _str_or_none(x_ms_lease_id))] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response_for_dict(response) + + def set_blob_properties(self, container_name, blob_name, + x_ms_blob_cache_control=None, + x_ms_blob_content_type=None, + x_ms_blob_content_md5=None, + x_ms_blob_content_encoding=None, + x_ms_blob_content_language=None, + x_ms_lease_id=None): + ''' + Sets system properties on the blob. + + container_name: Name of existing container. + blob_name: Name of existing blob. + x_ms_blob_cache_control: + Optional. Modifies the cache control string for the blob. + x_ms_blob_content_type: Optional. Sets the blob's content type. + x_ms_blob_content_md5: Optional. Sets the blob's MD5 hash. + x_ms_blob_content_encoding: Optional. Sets the blob's content encoding. + x_ms_blob_content_language: Optional. Sets the blob's content language. + x_ms_lease_id: Required if the blob has an active lease. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '/' + _str(blob_name) + '?comp=properties' + request.headers = [ + ('x-ms-blob-cache-control', _str_or_none(x_ms_blob_cache_control)), + ('x-ms-blob-content-type', _str_or_none(x_ms_blob_content_type)), + ('x-ms-blob-content-md5', _str_or_none(x_ms_blob_content_md5)), + ('x-ms-blob-content-encoding', + _str_or_none(x_ms_blob_content_encoding)), + ('x-ms-blob-content-language', + _str_or_none(x_ms_blob_content_language)), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)) + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def put_blob(self, container_name, blob_name, blob, x_ms_blob_type, + content_encoding=None, content_language=None, + content_md5=None, cache_control=None, + x_ms_blob_content_type=None, x_ms_blob_content_encoding=None, + x_ms_blob_content_language=None, x_ms_blob_content_md5=None, + x_ms_blob_cache_control=None, x_ms_meta_name_values=None, + x_ms_lease_id=None, x_ms_blob_content_length=None, + x_ms_blob_sequence_number=None): + ''' + Creates a new block blob or page blob, or updates the content of an + existing block blob. + + See put_block_blob_from_* and put_page_blob_from_* for high level + functions that handle the creation and upload of large blobs with + automatic chunking and progress notifications. + + container_name: Name of existing container. + blob_name: Name of blob to create or update. + blob: + For BlockBlob: + Content of blob as bytes (size < 64MB). For larger size, you + must call put_block and put_block_list to set content of blob. + For PageBlob: + Use None and call put_page to set content of blob. + x_ms_blob_type: Required. Could be BlockBlob or PageBlob. + content_encoding: + Optional. Specifies which content encodings have been applied to + the blob. This value is returned to the client when the Get Blob + (REST API) operation is performed on the blob resource. The client + can use this value when returned to decode the blob content. + content_language: + Optional. Specifies the natural languages used by this resource. + content_md5: + Optional. An MD5 hash of the blob content. This hash is used to + verify the integrity of the blob during transport. When this header + is specified, the storage service checks the hash that has arrived + with the one that was sent. If the two hashes do not match, the + operation will fail with error code 400 (Bad Request). + cache_control: + Optional. The Blob service stores this value but does not use or + modify it. + x_ms_blob_content_type: Optional. Set the blob's content type. + x_ms_blob_content_encoding: Optional. Set the blob's content encoding. + x_ms_blob_content_language: Optional. Set the blob's content language. + x_ms_blob_content_md5: Optional. Set the blob's MD5 hash. + x_ms_blob_cache_control: Optional. Sets the blob's cache control. + x_ms_meta_name_values: A dict containing name, value for metadata. + x_ms_lease_id: Required if the blob has an active lease. + x_ms_blob_content_length: + Required for page blobs. This header specifies the maximum size + for the page blob, up to 1 TB. The page blob size must be aligned + to a 512-byte boundary. + x_ms_blob_sequence_number: + Optional. Set for page blobs only. The sequence number is a + user-controlled value that you can use to track requests. The + value of the sequence number must be between 0 and 2^63 - 1. The + default value is 0. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('x_ms_blob_type', x_ms_blob_type) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(container_name) + '/' + _str(blob_name) + '' + request.headers = [ + ('x-ms-blob-type', _str_or_none(x_ms_blob_type)), + ('Content-Encoding', _str_or_none(content_encoding)), + ('Content-Language', _str_or_none(content_language)), + ('Content-MD5', _str_or_none(content_md5)), + ('Cache-Control', _str_or_none(cache_control)), + ('x-ms-blob-content-type', _str_or_none(x_ms_blob_content_type)), + ('x-ms-blob-content-encoding', + _str_or_none(x_ms_blob_content_encoding)), + ('x-ms-blob-content-language', + _str_or_none(x_ms_blob_content_language)), + ('x-ms-blob-content-md5', _str_or_none(x_ms_blob_content_md5)), + ('x-ms-blob-cache-control', _str_or_none(x_ms_blob_cache_control)), + ('x-ms-meta-name-values', x_ms_meta_name_values), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)), + ('x-ms-blob-content-length', + _str_or_none(x_ms_blob_content_length)), + ('x-ms-blob-sequence-number', + _str_or_none(x_ms_blob_sequence_number)) + ] + request.body = _get_request_body_bytes_only('blob', blob) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def put_block_blob_from_path(self, container_name, blob_name, file_path, + content_encoding=None, content_language=None, + content_md5=None, cache_control=None, + x_ms_blob_content_type=None, + x_ms_blob_content_encoding=None, + x_ms_blob_content_language=None, + x_ms_blob_content_md5=None, + x_ms_blob_cache_control=None, + x_ms_meta_name_values=None, + x_ms_lease_id=None, progress_callback=None): + ''' + Creates a new block blob from a file path, or updates the content of an + existing block blob, with automatic chunking and progress notifications. + + container_name: Name of existing container. + blob_name: Name of blob to create or update. + file_path: Path of the file to upload as the blob content. + content_encoding: + Optional. Specifies which content encodings have been applied to + the blob. This value is returned to the client when the Get Blob + (REST API) operation is performed on the blob resource. The client + can use this value when returned to decode the blob content. + content_language: + Optional. Specifies the natural languages used by this resource. + content_md5: + Optional. An MD5 hash of the blob content. This hash is used to + verify the integrity of the blob during transport. When this header + is specified, the storage service checks the hash that has arrived + with the one that was sent. If the two hashes do not match, the + operation will fail with error code 400 (Bad Request). + cache_control: + Optional. The Blob service stores this value but does not use or + modify it. + x_ms_blob_content_type: Optional. Set the blob's content type. + x_ms_blob_content_encoding: Optional. Set the blob's content encoding. + x_ms_blob_content_language: Optional. Set the blob's content language. + x_ms_blob_content_md5: Optional. Set the blob's MD5 hash. + x_ms_blob_cache_control: Optional. Sets the blob's cache control. + x_ms_meta_name_values: A dict containing name, value for metadata. + x_ms_lease_id: Required if the blob has an active lease. + progress_callback: + Callback for progress with signature function(current, total) where + current is the number of bytes transfered so far, and total is the + size of the blob, or None if the total size is unknown. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('file_path', file_path) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(container_name) + '/' + _str(blob_name) + '' + request.headers = [ + ('x-ms-blob-type', 'BlockBlob'), + ('Content-Encoding', _str_or_none(content_encoding)), + ('Content-Language', _str_or_none(content_language)), + ('Content-MD5', _str_or_none(content_md5)), + ('Cache-Control', _str_or_none(cache_control)), + ('x-ms-blob-content-type', _str_or_none(x_ms_blob_content_type)), + ('x-ms-blob-content-encoding', + _str_or_none(x_ms_blob_content_encoding)), + ('x-ms-blob-content-language', + _str_or_none(x_ms_blob_content_language)), + ('x-ms-blob-content-md5', _str_or_none(x_ms_blob_content_md5)), + ('x-ms-blob-cache-control', _str_or_none(x_ms_blob_cache_control)), + ('x-ms-meta-name-values', x_ms_meta_name_values), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)), + ] + + count = path.getsize(file_path) + with open(file_path, 'rb') as stream: + self.put_block_blob_from_file(container_name, + blob_name, + stream, + count, + content_encoding, + content_language, + content_md5, + cache_control, + x_ms_blob_content_type, + x_ms_blob_content_encoding, + x_ms_blob_content_language, + x_ms_blob_content_md5, + x_ms_blob_cache_control, + x_ms_meta_name_values, + x_ms_lease_id, + progress_callback) + + def put_block_blob_from_file(self, container_name, blob_name, stream, + count=None, content_encoding=None, + content_language=None, content_md5=None, + cache_control=None, + x_ms_blob_content_type=None, + x_ms_blob_content_encoding=None, + x_ms_blob_content_language=None, + x_ms_blob_content_md5=None, + x_ms_blob_cache_control=None, + x_ms_meta_name_values=None, + x_ms_lease_id=None, progress_callback=None): + ''' + Creates a new block blob from a file/stream, or updates the content of + an existing block blob, with automatic chunking and progress + notifications. + + container_name: Name of existing container. + blob_name: Name of blob to create or update. + stream: Opened file/stream to upload as the blob content. + count: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + content_encoding: + Optional. Specifies which content encodings have been applied to + the blob. This value is returned to the client when the Get Blob + (REST API) operation is performed on the blob resource. The client + can use this value when returned to decode the blob content. + content_language: + Optional. Specifies the natural languages used by this resource. + content_md5: + Optional. An MD5 hash of the blob content. This hash is used to + verify the integrity of the blob during transport. When this header + is specified, the storage service checks the hash that has arrived + with the one that was sent. If the two hashes do not match, the + operation will fail with error code 400 (Bad Request). + cache_control: + Optional. The Blob service stores this value but does not use or + modify it. + x_ms_blob_content_type: Optional. Set the blob's content type. + x_ms_blob_content_encoding: Optional. Set the blob's content encoding. + x_ms_blob_content_language: Optional. Set the blob's content language. + x_ms_blob_content_md5: Optional. Set the blob's MD5 hash. + x_ms_blob_cache_control: Optional. Sets the blob's cache control. + x_ms_meta_name_values: A dict containing name, value for metadata. + x_ms_lease_id: Required if the blob has an active lease. + progress_callback: + Callback for progress with signature function(current, total) where + current is the number of bytes transfered so far, and total is the + size of the blob, or None if the total size is unknown. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('stream', stream) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(container_name) + '/' + _str(blob_name) + '' + request.headers = [ + ('x-ms-blob-type', 'BlockBlob'), + ('Content-Encoding', _str_or_none(content_encoding)), + ('Content-Language', _str_or_none(content_language)), + ('Content-MD5', _str_or_none(content_md5)), + ('Cache-Control', _str_or_none(cache_control)), + ('x-ms-blob-content-type', _str_or_none(x_ms_blob_content_type)), + ('x-ms-blob-content-encoding', + _str_or_none(x_ms_blob_content_encoding)), + ('x-ms-blob-content-language', + _str_or_none(x_ms_blob_content_language)), + ('x-ms-blob-content-md5', _str_or_none(x_ms_blob_content_md5)), + ('x-ms-blob-cache-control', _str_or_none(x_ms_blob_cache_control)), + ('x-ms-meta-name-values', x_ms_meta_name_values), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)), + ] + + if count and count < self._BLOB_MAX_DATA_SIZE: + if progress_callback: + progress_callback(0, count) + + data = stream.read(count) + self.put_blob(container_name, + blob_name, + data, + 'BlockBlob', + content_encoding, + content_language, + content_md5, + cache_control, + x_ms_blob_content_type, + x_ms_blob_content_encoding, + x_ms_blob_content_language, + x_ms_blob_content_md5, + x_ms_blob_cache_control, + x_ms_meta_name_values, + x_ms_lease_id) + + if progress_callback: + progress_callback(count, count) + else: + if progress_callback: + progress_callback(0, count) + + self.put_blob(container_name, + blob_name, + None, + 'BlockBlob', + content_encoding, + content_language, + content_md5, + cache_control, + x_ms_blob_content_type, + x_ms_blob_content_encoding, + x_ms_blob_content_language, + x_ms_blob_content_md5, + x_ms_blob_cache_control, + x_ms_meta_name_values, + x_ms_lease_id) + + remain_bytes = count + block_ids = [] + block_index = 0 + index = 0 + while True: + request_count = self._BLOB_MAX_CHUNK_DATA_SIZE\ + if remain_bytes is None else min( + remain_bytes, + self._BLOB_MAX_CHUNK_DATA_SIZE) + data = stream.read(request_count) + if data: + length = len(data) + index += length + remain_bytes = remain_bytes - \ + length if remain_bytes else None + block_id = '{0:08d}'.format(block_index) + self.put_block(container_name, blob_name, + data, block_id, x_ms_lease_id=x_ms_lease_id) + block_ids.append(block_id) + block_index += 1 + if progress_callback: + progress_callback(index, count) + else: + break + + self.put_block_list(container_name, blob_name, block_ids) + + def put_block_blob_from_bytes(self, container_name, blob_name, blob, + index=0, count=None, content_encoding=None, + content_language=None, content_md5=None, + cache_control=None, + x_ms_blob_content_type=None, + x_ms_blob_content_encoding=None, + x_ms_blob_content_language=None, + x_ms_blob_content_md5=None, + x_ms_blob_cache_control=None, + x_ms_meta_name_values=None, + x_ms_lease_id=None, progress_callback=None): + ''' + Creates a new block blob from an array of bytes, or updates the content + of an existing block blob, with automatic chunking and progress + notifications. + + container_name: Name of existing container. + blob_name: Name of blob to create or update. + blob: Content of blob as an array of bytes. + index: Start index in the array of bytes. + count: + Number of bytes to upload. Set to None or negative value to upload + all bytes starting from index. + content_encoding: + Optional. Specifies which content encodings have been applied to + the blob. This value is returned to the client when the Get Blob + (REST API) operation is performed on the blob resource. The client + can use this value when returned to decode the blob content. + content_language: + Optional. Specifies the natural languages used by this resource. + content_md5: + Optional. An MD5 hash of the blob content. This hash is used to + verify the integrity of the blob during transport. When this header + is specified, the storage service checks the hash that has arrived + with the one that was sent. If the two hashes do not match, the + operation will fail with error code 400 (Bad Request). + cache_control: + Optional. The Blob service stores this value but does not use or + modify it. + x_ms_blob_content_type: Optional. Set the blob's content type. + x_ms_blob_content_encoding: Optional. Set the blob's content encoding. + x_ms_blob_content_language: Optional. Set the blob's content language. + x_ms_blob_content_md5: Optional. Set the blob's MD5 hash. + x_ms_blob_cache_control: Optional. Sets the blob's cache control. + x_ms_meta_name_values: A dict containing name, value for metadata. + x_ms_lease_id: Required if the blob has an active lease. + progress_callback: + Callback for progress with signature function(current, total) where + current is the number of bytes transfered so far, and total is the + size of the blob, or None if the total size is unknown. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('blob', blob) + _validate_not_none('index', index) + _validate_type_bytes('blob', blob) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(container_name) + '/' + _str(blob_name) + '' + request.headers = [ + ('x-ms-blob-type', 'BlockBlob'), + ('Content-Encoding', _str_or_none(content_encoding)), + ('Content-Language', _str_or_none(content_language)), + ('Content-MD5', _str_or_none(content_md5)), + ('Cache-Control', _str_or_none(cache_control)), + ('x-ms-blob-content-type', _str_or_none(x_ms_blob_content_type)), + ('x-ms-blob-content-encoding', + _str_or_none(x_ms_blob_content_encoding)), + ('x-ms-blob-content-language', + _str_or_none(x_ms_blob_content_language)), + ('x-ms-blob-content-md5', _str_or_none(x_ms_blob_content_md5)), + ('x-ms-blob-cache-control', _str_or_none(x_ms_blob_cache_control)), + ('x-ms-meta-name-values', x_ms_meta_name_values), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)), + ] + + if index < 0: + raise TypeError(_ERROR_VALUE_NEGATIVE.format('index')) + + if count is None or count < 0: + count = len(blob) - index + + if count < self._BLOB_MAX_DATA_SIZE: + if progress_callback: + progress_callback(0, count) + + data = blob[index: index + count] + self.put_blob(container_name, + blob_name, + data, + 'BlockBlob', + content_encoding, + content_language, + content_md5, + cache_control, + x_ms_blob_content_type, + x_ms_blob_content_encoding, + x_ms_blob_content_language, + x_ms_blob_content_md5, + x_ms_blob_cache_control, + x_ms_meta_name_values, + x_ms_lease_id) + + if progress_callback: + progress_callback(count, count) + else: + stream = BytesIO(blob) + stream.seek(index) + + self.put_block_blob_from_file(container_name, + blob_name, + stream, + count, + content_encoding, + content_language, + content_md5, + cache_control, + x_ms_blob_content_type, + x_ms_blob_content_encoding, + x_ms_blob_content_language, + x_ms_blob_content_md5, + x_ms_blob_cache_control, + x_ms_meta_name_values, + x_ms_lease_id, + progress_callback) + + def put_block_blob_from_text(self, container_name, blob_name, text, + text_encoding='utf-8', + content_encoding=None, content_language=None, + content_md5=None, cache_control=None, + x_ms_blob_content_type=None, + x_ms_blob_content_encoding=None, + x_ms_blob_content_language=None, + x_ms_blob_content_md5=None, + x_ms_blob_cache_control=None, + x_ms_meta_name_values=None, + x_ms_lease_id=None, progress_callback=None): + ''' + Creates a new block blob from str/unicode, or updates the content of an + existing block blob, with automatic chunking and progress notifications. + + container_name: Name of existing container. + blob_name: Name of blob to create or update. + text: Text to upload to the blob. + text_encoding: Encoding to use to convert the text to bytes. + content_encoding: + Optional. Specifies which content encodings have been applied to + the blob. This value is returned to the client when the Get Blob + (REST API) operation is performed on the blob resource. The client + can use this value when returned to decode the blob content. + content_language: + Optional. Specifies the natural languages used by this resource. + content_md5: + Optional. An MD5 hash of the blob content. This hash is used to + verify the integrity of the blob during transport. When this header + is specified, the storage service checks the hash that has arrived + with the one that was sent. If the two hashes do not match, the + operation will fail with error code 400 (Bad Request). + cache_control: + Optional. The Blob service stores this value but does not use or + modify it. + x_ms_blob_content_type: Optional. Set the blob's content type. + x_ms_blob_content_encoding: Optional. Set the blob's content encoding. + x_ms_blob_content_language: Optional. Set the blob's content language. + x_ms_blob_content_md5: Optional. Set the blob's MD5 hash. + x_ms_blob_cache_control: Optional. Sets the blob's cache control. + x_ms_meta_name_values: A dict containing name, value for metadata. + x_ms_lease_id: Required if the blob has an active lease. + progress_callback: + Callback for progress with signature function(current, total) where + current is the number of bytes transfered so far, and total is the + size of the blob, or None if the total size is unknown. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('text', text) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(container_name) + '/' + _str(blob_name) + '' + request.headers = [ + ('x-ms-blob-type', 'BlockBlob'), + ('Content-Encoding', _str_or_none(content_encoding)), + ('Content-Language', _str_or_none(content_language)), + ('Content-MD5', _str_or_none(content_md5)), + ('Cache-Control', _str_or_none(cache_control)), + ('x-ms-blob-content-type', _str_or_none(x_ms_blob_content_type)), + ('x-ms-blob-content-encoding', + _str_or_none(x_ms_blob_content_encoding)), + ('x-ms-blob-content-language', + _str_or_none(x_ms_blob_content_language)), + ('x-ms-blob-content-md5', _str_or_none(x_ms_blob_content_md5)), + ('x-ms-blob-cache-control', _str_or_none(x_ms_blob_cache_control)), + ('x-ms-meta-name-values', x_ms_meta_name_values), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)), + ] + + if not isinstance(text, bytes): + _validate_not_none('text_encoding', text_encoding) + text = text.encode(text_encoding) + + self.put_block_blob_from_bytes(container_name, + blob_name, + text, + 0, + len(text), + content_encoding, + content_language, + content_md5, + cache_control, + x_ms_blob_content_type, + x_ms_blob_content_encoding, + x_ms_blob_content_language, + x_ms_blob_content_md5, + x_ms_blob_cache_control, + x_ms_meta_name_values, + x_ms_lease_id, + progress_callback) + + def put_page_blob_from_path(self, container_name, blob_name, file_path, + content_encoding=None, content_language=None, + content_md5=None, cache_control=None, + x_ms_blob_content_type=None, + x_ms_blob_content_encoding=None, + x_ms_blob_content_language=None, + x_ms_blob_content_md5=None, + x_ms_blob_cache_control=None, + x_ms_meta_name_values=None, + x_ms_lease_id=None, + x_ms_blob_sequence_number=None, + progress_callback=None): + ''' + Creates a new page blob from a file path, or updates the content of an + existing page blob, with automatic chunking and progress notifications. + + container_name: Name of existing container. + blob_name: Name of blob to create or update. + file_path: Path of the file to upload as the blob content. + content_encoding: + Optional. Specifies which content encodings have been applied to + the blob. This value is returned to the client when the Get Blob + (REST API) operation is performed on the blob resource. The client + can use this value when returned to decode the blob content. + content_language: + Optional. Specifies the natural languages used by this resource. + content_md5: + Optional. An MD5 hash of the blob content. This hash is used to + verify the integrity of the blob during transport. When this header + is specified, the storage service checks the hash that has arrived + with the one that was sent. If the two hashes do not match, the + operation will fail with error code 400 (Bad Request). + cache_control: + Optional. The Blob service stores this value but does not use or + modify it. + x_ms_blob_content_type: Optional. Set the blob's content type. + x_ms_blob_content_encoding: Optional. Set the blob's content encoding. + x_ms_blob_content_language: Optional. Set the blob's content language. + x_ms_blob_content_md5: Optional. Set the blob's MD5 hash. + x_ms_blob_cache_control: Optional. Sets the blob's cache control. + x_ms_meta_name_values: A dict containing name, value for metadata. + x_ms_lease_id: Required if the blob has an active lease. + x_ms_blob_sequence_number: + Optional. Set for page blobs only. The sequence number is a + user-controlled value that you can use to track requests. The + value of the sequence number must be between 0 and 2^63 - 1. The + default value is 0. + progress_callback: + Callback for progress with signature function(current, total) where + current is the number of bytes transfered so far, and total is the + size of the blob, or None if the total size is unknown. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('file_path', file_path) + + count = path.getsize(file_path) + with open(file_path, 'rb') as stream: + self.put_page_blob_from_file(container_name, + blob_name, + stream, + count, + content_encoding, + content_language, + content_md5, + cache_control, + x_ms_blob_content_type, + x_ms_blob_content_encoding, + x_ms_blob_content_language, + x_ms_blob_content_md5, + x_ms_blob_cache_control, + x_ms_meta_name_values, + x_ms_lease_id, + x_ms_blob_sequence_number, + progress_callback) + + def put_page_blob_from_file(self, container_name, blob_name, stream, count, + content_encoding=None, content_language=None, + content_md5=None, cache_control=None, + x_ms_blob_content_type=None, + x_ms_blob_content_encoding=None, + x_ms_blob_content_language=None, + x_ms_blob_content_md5=None, + x_ms_blob_cache_control=None, + x_ms_meta_name_values=None, + x_ms_lease_id=None, + x_ms_blob_sequence_number=None, + progress_callback=None): + ''' + Creates a new page blob from a file/stream, or updates the content of an + existing page blob, with automatic chunking and progress notifications. + + container_name: Name of existing container. + blob_name: Name of blob to create or update. + stream: Opened file/stream to upload as the blob content. + count: + Number of bytes to read from the stream. This is required, a page + blob cannot be created if the count is unknown. + content_encoding: + Optional. Specifies which content encodings have been applied to + the blob. This value is returned to the client when the Get Blob + (REST API) operation is performed on the blob resource. The client + can use this value when returned to decode the blob content. + content_language: + Optional. Specifies the natural languages used by this resource. + content_md5: + Optional. An MD5 hash of the blob content. This hash is used to + verify the integrity of the blob during transport. When this header + is specified, the storage service checks the hash that has arrived + with the one that was sent. If the two hashes do not match, the + operation will fail with error code 400 (Bad Request). + cache_control: + Optional. The Blob service stores this value but does not use or + modify it. + x_ms_blob_content_type: Optional. Set the blob's content type. + x_ms_blob_content_encoding: Optional. Set the blob's content encoding. + x_ms_blob_content_language: Optional. Set the blob's content language. + x_ms_blob_content_md5: Optional. Set the blob's MD5 hash. + x_ms_blob_cache_control: Optional. Sets the blob's cache control. + x_ms_meta_name_values: A dict containing name, value for metadata. + x_ms_lease_id: Required if the blob has an active lease. + x_ms_blob_sequence_number: + Optional. Set for page blobs only. The sequence number is a + user-controlled value that you can use to track requests. The + value of the sequence number must be between 0 and 2^63 - 1. The + default value is 0. + progress_callback: + Callback for progress with signature function(current, total) where + current is the number of bytes transfered so far, and total is the + size of the blob, or None if the total size is unknown. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('stream', stream) + _validate_not_none('count', count) + + if count < 0: + raise TypeError(_ERROR_VALUE_NEGATIVE.format('count')) + + if count % _PAGE_SIZE != 0: + raise TypeError(_ERROR_PAGE_BLOB_SIZE_ALIGNMENT.format(count)) + + if progress_callback: + progress_callback(0, count) + + self.put_blob(container_name, + blob_name, + b'', + 'PageBlob', + content_encoding, + content_language, + content_md5, + cache_control, + x_ms_blob_content_type, + x_ms_blob_content_encoding, + x_ms_blob_content_language, + x_ms_blob_content_md5, + x_ms_blob_cache_control, + x_ms_meta_name_values, + x_ms_lease_id, + count, + x_ms_blob_sequence_number) + + remain_bytes = count + page_start = 0 + while True: + request_count = min(remain_bytes, self._BLOB_MAX_CHUNK_DATA_SIZE) + data = stream.read(request_count) + if data: + length = len(data) + remain_bytes = remain_bytes - length + page_end = page_start + length - 1 + self.put_page(container_name, + blob_name, + data, + 'bytes={0}-{1}'.format(page_start, page_end), + 'update', + x_ms_lease_id=x_ms_lease_id) + page_start = page_start + length + + if progress_callback: + progress_callback(page_start, count) + else: + break + + def put_page_blob_from_bytes(self, container_name, blob_name, blob, + index=0, count=None, content_encoding=None, + content_language=None, content_md5=None, + cache_control=None, + x_ms_blob_content_type=None, + x_ms_blob_content_encoding=None, + x_ms_blob_content_language=None, + x_ms_blob_content_md5=None, + x_ms_blob_cache_control=None, + x_ms_meta_name_values=None, + x_ms_lease_id=None, + x_ms_blob_sequence_number=None, + progress_callback=None): + ''' + Creates a new page blob from an array of bytes, or updates the content + of an existing page blob, with automatic chunking and progress + notifications. + + container_name: Name of existing container. + blob_name: Name of blob to create or update. + blob: Content of blob as an array of bytes. + index: Start index in the array of bytes. + count: + Number of bytes to upload. Set to None or negative value to upload + all bytes starting from index. + content_encoding: + Optional. Specifies which content encodings have been applied to + the blob. This value is returned to the client when the Get Blob + (REST API) operation is performed on the blob resource. The client + can use this value when returned to decode the blob content. + content_language: + Optional. Specifies the natural languages used by this resource. + content_md5: + Optional. An MD5 hash of the blob content. This hash is used to + verify the integrity of the blob during transport. When this header + is specified, the storage service checks the hash that has arrived + with the one that was sent. If the two hashes do not match, the + operation will fail with error code 400 (Bad Request). + cache_control: + Optional. The Blob service stores this value but does not use or + modify it. + x_ms_blob_content_type: Optional. Set the blob's content type. + x_ms_blob_content_encoding: Optional. Set the blob's content encoding. + x_ms_blob_content_language: Optional. Set the blob's content language. + x_ms_blob_content_md5: Optional. Set the blob's MD5 hash. + x_ms_blob_cache_control: Optional. Sets the blob's cache control. + x_ms_meta_name_values: A dict containing name, value for metadata. + x_ms_lease_id: Required if the blob has an active lease. + x_ms_blob_sequence_number: + Optional. Set for page blobs only. The sequence number is a + user-controlled value that you can use to track requests. The + value of the sequence number must be between 0 and 2^63 - 1. The + default value is 0. + progress_callback: + Callback for progress with signature function(current, total) where + current is the number of bytes transfered so far, and total is the + size of the blob, or None if the total size is unknown. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('blob', blob) + _validate_type_bytes('blob', blob) + + if index < 0: + raise TypeError(_ERROR_VALUE_NEGATIVE.format('index')) + + if count is None or count < 0: + count = len(blob) - index + + stream = BytesIO(blob) + stream.seek(index) + + self.put_page_blob_from_file(container_name, + blob_name, + stream, + count, + content_encoding, + content_language, + content_md5, + cache_control, + x_ms_blob_content_type, + x_ms_blob_content_encoding, + x_ms_blob_content_language, + x_ms_blob_content_md5, + x_ms_blob_cache_control, + x_ms_meta_name_values, + x_ms_lease_id, + x_ms_blob_sequence_number, + progress_callback) + + def get_blob(self, container_name, blob_name, snapshot=None, + x_ms_range=None, x_ms_lease_id=None, + x_ms_range_get_content_md5=None): + ''' + Reads or downloads a blob from the system, including its metadata and + properties. + + See get_blob_to_* for high level functions that handle the download + of large blobs with automatic chunking and progress notifications. + + container_name: Name of existing container. + blob_name: Name of existing blob. + snapshot: + Optional. The snapshot parameter is an opaque DateTime value that, + when present, specifies the blob snapshot to retrieve. + x_ms_range: + Optional. Return only the bytes of the blob in the specified range. + x_ms_lease_id: Required if the blob has an active lease. + x_ms_range_get_content_md5: + Optional. When this header is set to true and specified together + with the Range header, the service returns the MD5 hash for the + range, as long as the range is less than or equal to 4 MB in size. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + _str(container_name) + '/' + _str(blob_name) + '' + request.headers = [ + ('x-ms-range', _str_or_none(x_ms_range)), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)), + ('x-ms-range-get-content-md5', + _str_or_none(x_ms_range_get_content_md5)) + ] + request.query = [('snapshot', _str_or_none(snapshot))] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request, None) + + return _create_blob_result(response) + + def get_blob_to_path(self, container_name, blob_name, file_path, + open_mode='wb', snapshot=None, x_ms_lease_id=None, + progress_callback=None): + ''' + Downloads a blob to a file path, with automatic chunking and progress + notifications. + + container_name: Name of existing container. + blob_name: Name of existing blob. + file_path: Path of file to write to. + open_mode: Mode to use when opening the file. + snapshot: + Optional. The snapshot parameter is an opaque DateTime value that, + when present, specifies the blob snapshot to retrieve. + x_ms_lease_id: Required if the blob has an active lease. + progress_callback: + Callback for progress with signature function(current, total) where + current is the number of bytes transfered so far, and total is the + size of the blob. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('file_path', file_path) + _validate_not_none('open_mode', open_mode) + + with open(file_path, open_mode) as stream: + self.get_blob_to_file(container_name, + blob_name, + stream, + snapshot, + x_ms_lease_id, + progress_callback) + + def get_blob_to_file(self, container_name, blob_name, stream, + snapshot=None, x_ms_lease_id=None, + progress_callback=None): + ''' + Downloads a blob to a file/stream, with automatic chunking and progress + notifications. + + container_name: Name of existing container. + blob_name: Name of existing blob. + stream: Opened file/stream to write to. + snapshot: + Optional. The snapshot parameter is an opaque DateTime value that, + when present, specifies the blob snapshot to retrieve. + x_ms_lease_id: Required if the blob has an active lease. + progress_callback: + Callback for progress with signature function(current, total) where + current is the number of bytes transfered so far, and total is the + size of the blob. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('stream', stream) + + props = self.get_blob_properties(container_name, blob_name) + blob_size = int(props['content-length']) + + if blob_size < self._BLOB_MAX_DATA_SIZE: + if progress_callback: + progress_callback(0, blob_size) + + data = self.get_blob(container_name, + blob_name, + snapshot, + x_ms_lease_id=x_ms_lease_id) + + stream.write(data) + + if progress_callback: + progress_callback(blob_size, blob_size) + else: + if progress_callback: + progress_callback(0, blob_size) + + index = 0 + while index < blob_size: + chunk_range = 'bytes={}-{}'.format( + index, + index + self._BLOB_MAX_CHUNK_DATA_SIZE - 1) + data = self.get_blob( + container_name, blob_name, x_ms_range=chunk_range) + length = len(data) + index += length + if length > 0: + stream.write(data) + if progress_callback: + progress_callback(index, blob_size) + if length < self._BLOB_MAX_CHUNK_DATA_SIZE: + break + else: + break + + def get_blob_to_bytes(self, container_name, blob_name, snapshot=None, + x_ms_lease_id=None, progress_callback=None): + ''' + Downloads a blob as an array of bytes, with automatic chunking and + progress notifications. + + container_name: Name of existing container. + blob_name: Name of existing blob. + snapshot: + Optional. The snapshot parameter is an opaque DateTime value that, + when present, specifies the blob snapshot to retrieve. + x_ms_lease_id: Required if the blob has an active lease. + progress_callback: + Callback for progress with signature function(current, total) where + current is the number of bytes transfered so far, and total is the + size of the blob. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + + stream = BytesIO() + self.get_blob_to_file(container_name, + blob_name, + stream, + snapshot, + x_ms_lease_id, + progress_callback) + + return stream.getvalue() + + def get_blob_to_text(self, container_name, blob_name, text_encoding='utf-8', + snapshot=None, x_ms_lease_id=None, + progress_callback=None): + ''' + Downloads a blob as unicode text, with automatic chunking and progress + notifications. + + container_name: Name of existing container. + blob_name: Name of existing blob. + text_encoding: Encoding to use when decoding the blob data. + snapshot: + Optional. The snapshot parameter is an opaque DateTime value that, + when present, specifies the blob snapshot to retrieve. + x_ms_lease_id: Required if the blob has an active lease. + progress_callback: + Callback for progress with signature function(current, total) where + current is the number of bytes transfered so far, and total is the + size of the blob. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('text_encoding', text_encoding) + + result = self.get_blob_to_bytes(container_name, + blob_name, + snapshot, + x_ms_lease_id, + progress_callback) + + return result.decode(text_encoding) + + def get_blob_metadata(self, container_name, blob_name, snapshot=None, + x_ms_lease_id=None): + ''' + Returns all user-defined metadata for the specified blob or snapshot. + + container_name: Name of existing container. + blob_name: Name of existing blob. + snapshot: + Optional. The snapshot parameter is an opaque DateTime value that, + when present, specifies the blob snapshot to retrieve. + x_ms_lease_id: Required if the blob has an active lease. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '/' + _str(blob_name) + '?comp=metadata' + request.headers = [('x-ms-lease-id', _str_or_none(x_ms_lease_id))] + request.query = [('snapshot', _str_or_none(snapshot))] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response_for_dict_prefix(response, prefixes=['x-ms-meta']) + + def set_blob_metadata(self, container_name, blob_name, + x_ms_meta_name_values=None, x_ms_lease_id=None): + ''' + Sets user-defined metadata for the specified blob as one or more + name-value pairs. + + container_name: Name of existing container. + blob_name: Name of existing blob. + x_ms_meta_name_values: Dict containing name and value pairs. + x_ms_lease_id: Required if the blob has an active lease. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '/' + _str(blob_name) + '?comp=metadata' + request.headers = [ + ('x-ms-meta-name-values', x_ms_meta_name_values), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)) + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def lease_blob(self, container_name, blob_name, x_ms_lease_action, + x_ms_lease_id=None, x_ms_lease_duration=60, + x_ms_lease_break_period=None, x_ms_proposed_lease_id=None): + ''' + Establishes and manages a one-minute lock on a blob for write + operations. + + container_name: Name of existing container. + blob_name: Name of existing blob. + x_ms_lease_action: + Required. Possible values: acquire|renew|release|break|change + x_ms_lease_id: Required if the blob has an active lease. + x_ms_lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. For backwards compatibility, the default is + 60, and the value is only used on an acquire operation. + x_ms_lease_break_period: + Optional. For a break operation, this is the proposed duration of + seconds that the lease should continue before it is broken, between + 0 and 60 seconds. This break period is only used if it is shorter + than the time remaining on the lease. If longer, the time remaining + on the lease is used. A new lease will not be available before the + break period has expired, but the lease may be held for longer than + the break period. If this header does not appear with a break + operation, a fixed-duration lease breaks after the remaining lease + period elapses, and an infinite lease breaks immediately. + x_ms_proposed_lease_id: + Optional for acquire, required for change. Proposed lease ID, in a + GUID string format. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('x_ms_lease_action', x_ms_lease_action) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '/' + _str(blob_name) + '?comp=lease' + request.headers = [ + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)), + ('x-ms-lease-action', _str_or_none(x_ms_lease_action)), + ('x-ms-lease-duration', _str_or_none(x_ms_lease_duration\ + if x_ms_lease_action == 'acquire' else None)), + ('x-ms-lease-break-period', _str_or_none(x_ms_lease_break_period)), + ('x-ms-proposed-lease-id', _str_or_none(x_ms_proposed_lease_id)), + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response_for_dict_filter( + response, + filter=['x-ms-lease-id', 'x-ms-lease-time']) + + def snapshot_blob(self, container_name, blob_name, + x_ms_meta_name_values=None, if_modified_since=None, + if_unmodified_since=None, if_match=None, + if_none_match=None, x_ms_lease_id=None): + ''' + Creates a read-only snapshot of a blob. + + container_name: Name of existing container. + blob_name: Name of existing blob. + x_ms_meta_name_values: Optional. Dict containing name and value pairs. + if_modified_since: Optional. Datetime string. + if_unmodified_since: DateTime string. + if_match: + Optional. snapshot the blob only if its ETag value matches the + value specified. + if_none_match: Optional. An ETag value + x_ms_lease_id: Required if the blob has an active lease. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '/' + _str(blob_name) + '?comp=snapshot' + request.headers = [ + ('x-ms-meta-name-values', x_ms_meta_name_values), + ('If-Modified-Since', _str_or_none(if_modified_since)), + ('If-Unmodified-Since', _str_or_none(if_unmodified_since)), + ('If-Match', _str_or_none(if_match)), + ('If-None-Match', _str_or_none(if_none_match)), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)) + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response_for_dict_filter( + response, + filter=['x-ms-snapshot', 'etag', 'last-modified']) + + def copy_blob(self, container_name, blob_name, x_ms_copy_source, + x_ms_meta_name_values=None, + x_ms_source_if_modified_since=None, + x_ms_source_if_unmodified_since=None, + x_ms_source_if_match=None, x_ms_source_if_none_match=None, + if_modified_since=None, if_unmodified_since=None, + if_match=None, if_none_match=None, x_ms_lease_id=None, + x_ms_source_lease_id=None): + ''' + Copies a blob to a destination within the storage account. + + container_name: Name of existing container. + blob_name: Name of existing blob. + x_ms_copy_source: + URL up to 2 KB in length that specifies a blob. A source blob in + the same account can be private, but a blob in another account + must be public or accept credentials included in this URL, such as + a Shared Access Signature. Examples: + https://myaccount.blob.core.windows.net/mycontainer/myblob + https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime> + x_ms_meta_name_values: Optional. Dict containing name and value pairs. + x_ms_source_if_modified_since: + Optional. An ETag value. Specify this conditional header to copy + the source blob only if its ETag matches the value specified. + x_ms_source_if_unmodified_since: + Optional. An ETag value. Specify this conditional header to copy + the blob only if its ETag does not match the value specified. + x_ms_source_if_match: + Optional. A DateTime value. Specify this conditional header to + copy the blob only if the source blob has been modified since the + specified date/time. + x_ms_source_if_none_match: + Optional. An ETag value. Specify this conditional header to copy + the source blob only if its ETag matches the value specified. + if_modified_since: Optional. Datetime string. + if_unmodified_since: DateTime string. + if_match: + Optional. Snapshot the blob only if its ETag value matches the + value specified. + if_none_match: Optional. An ETag value + x_ms_lease_id: Required if the blob has an active lease. + x_ms_source_lease_id: + Optional. Specify this to perform the Copy Blob operation only if + the lease ID given matches the active lease ID of the source blob. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('x_ms_copy_source', x_ms_copy_source) + + if x_ms_copy_source.startswith('/'): + # Backwards compatibility for earlier versions of the SDK where + # the copy source can be in the following formats: + # - Blob in named container: + # /accountName/containerName/blobName + # - Snapshot in named container: + # /accountName/containerName/blobName?snapshot=<DateTime> + # - Blob in root container: + # /accountName/blobName + # - Snapshot in root container: + # /accountName/blobName?snapshot=<DateTime> + account, _, source =\ + x_ms_copy_source.partition('/')[2].partition('/') + x_ms_copy_source = self.protocol + '://' + \ + account + self.host_base + '/' + source + + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(container_name) + '/' + _str(blob_name) + '' + request.headers = [ + ('x-ms-copy-source', _str_or_none(x_ms_copy_source)), + ('x-ms-meta-name-values', x_ms_meta_name_values), + ('x-ms-source-if-modified-since', + _str_or_none(x_ms_source_if_modified_since)), + ('x-ms-source-if-unmodified-since', + _str_or_none(x_ms_source_if_unmodified_since)), + ('x-ms-source-if-match', _str_or_none(x_ms_source_if_match)), + ('x-ms-source-if-none-match', + _str_or_none(x_ms_source_if_none_match)), + ('If-Modified-Since', _str_or_none(if_modified_since)), + ('If-Unmodified-Since', _str_or_none(if_unmodified_since)), + ('If-Match', _str_or_none(if_match)), + ('If-None-Match', _str_or_none(if_none_match)), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)), + ('x-ms-source-lease-id', _str_or_none(x_ms_source_lease_id)) + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response_for_dict(response) + + def abort_copy_blob(self, container_name, blob_name, x_ms_copy_id, + x_ms_lease_id=None): + ''' + Aborts a pending copy_blob operation, and leaves a destination blob + with zero length and full metadata. + + container_name: Name of destination container. + blob_name: Name of destination blob. + x_ms_copy_id: + Copy identifier provided in the x-ms-copy-id of the original + copy_blob operation. + x_ms_lease_id: + Required if the destination blob has an active infinite lease. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('x_ms_copy_id', x_ms_copy_id) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(container_name) + '/' + \ + _str(blob_name) + '?comp=copy©id=' + \ + _str(x_ms_copy_id) + request.headers = [ + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)), + ('x-ms-copy-action', 'abort'), + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def delete_blob(self, container_name, blob_name, snapshot=None, + x_ms_lease_id=None): + ''' + Marks the specified blob or snapshot for deletion. The blob is later + deleted during garbage collection. + + To mark a specific snapshot for deletion provide the date/time of the + snapshot via the snapshot parameter. + + container_name: Name of existing container. + blob_name: Name of existing blob. + snapshot: + Optional. The snapshot parameter is an opaque DateTime value that, + when present, specifies the blob snapshot to delete. + x_ms_lease_id: Required if the blob has an active lease. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + _str(container_name) + '/' + _str(blob_name) + '' + request.headers = [('x-ms-lease-id', _str_or_none(x_ms_lease_id))] + request.query = [('snapshot', _str_or_none(snapshot))] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def put_block(self, container_name, blob_name, block, blockid, + content_md5=None, x_ms_lease_id=None): + ''' + Creates a new block to be committed as part of a blob. + + container_name: Name of existing container. + blob_name: Name of existing blob. + block: Content of the block. + blockid: + Required. A value that identifies the block. The string must be + less than or equal to 64 bytes in size. + content_md5: + Optional. An MD5 hash of the block content. This hash is used to + verify the integrity of the blob during transport. When this + header is specified, the storage service checks the hash that has + arrived with the one that was sent. + x_ms_lease_id: Required if the blob has an active lease. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('block', block) + _validate_not_none('blockid', blockid) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '/' + _str(blob_name) + '?comp=block' + request.headers = [ + ('Content-MD5', _str_or_none(content_md5)), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)) + ] + request.query = [('blockid', _encode_base64(_str_or_none(blockid)))] + request.body = _get_request_body_bytes_only('block', block) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def put_block_list(self, container_name, blob_name, block_list, + content_md5=None, x_ms_blob_cache_control=None, + x_ms_blob_content_type=None, + x_ms_blob_content_encoding=None, + x_ms_blob_content_language=None, + x_ms_blob_content_md5=None, x_ms_meta_name_values=None, + x_ms_lease_id=None): + ''' + Writes a blob by specifying the list of block IDs that make up the + blob. In order to be written as part of a blob, a block must have been + successfully written to the server in a prior Put Block (REST API) + operation. + + container_name: Name of existing container. + blob_name: Name of existing blob. + block_list: A str list containing the block ids. + content_md5: + Optional. An MD5 hash of the block content. This hash is used to + verify the integrity of the blob during transport. When this header + is specified, the storage service checks the hash that has arrived + with the one that was sent. + x_ms_blob_cache_control: + Optional. Sets the blob's cache control. If specified, this + property is stored with the blob and returned with a read request. + x_ms_blob_content_type: + Optional. Sets the blob's content type. If specified, this property + is stored with the blob and returned with a read request. + x_ms_blob_content_encoding: + Optional. Sets the blob's content encoding. If specified, this + property is stored with the blob and returned with a read request. + x_ms_blob_content_language: + Optional. Set the blob's content language. If specified, this + property is stored with the blob and returned with a read request. + x_ms_blob_content_md5: + Optional. An MD5 hash of the blob content. Note that this hash is + not validated, as the hashes for the individual blocks were + validated when each was uploaded. + x_ms_meta_name_values: Optional. Dict containing name and value pairs. + x_ms_lease_id: Required if the blob has an active lease. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('block_list', block_list) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '/' + _str(blob_name) + '?comp=blocklist' + request.headers = [ + ('Content-MD5', _str_or_none(content_md5)), + ('x-ms-blob-cache-control', _str_or_none(x_ms_blob_cache_control)), + ('x-ms-blob-content-type', _str_or_none(x_ms_blob_content_type)), + ('x-ms-blob-content-encoding', + _str_or_none(x_ms_blob_content_encoding)), + ('x-ms-blob-content-language', + _str_or_none(x_ms_blob_content_language)), + ('x-ms-blob-content-md5', _str_or_none(x_ms_blob_content_md5)), + ('x-ms-meta-name-values', x_ms_meta_name_values), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)) + ] + request.body = _get_request_body( + _convert_block_list_to_xml(block_list)) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def get_block_list(self, container_name, blob_name, snapshot=None, + blocklisttype=None, x_ms_lease_id=None): + ''' + Retrieves the list of blocks that have been uploaded as part of a + block blob. + + container_name: Name of existing container. + blob_name: Name of existing blob. + snapshot: + Optional. Datetime to determine the time to retrieve the blocks. + blocklisttype: + Specifies whether to return the list of committed blocks, the list + of uncommitted blocks, or both lists together. Valid values are: + committed, uncommitted, or all. + x_ms_lease_id: Required if the blob has an active lease. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '/' + _str(blob_name) + '?comp=blocklist' + request.headers = [('x-ms-lease-id', _str_or_none(x_ms_lease_id))] + request.query = [ + ('snapshot', _str_or_none(snapshot)), + ('blocklisttype', _str_or_none(blocklisttype)) + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _convert_response_to_block_list(response) + + def put_page(self, container_name, blob_name, page, x_ms_range, + x_ms_page_write, timeout=None, content_md5=None, + x_ms_lease_id=None, x_ms_if_sequence_number_lte=None, + x_ms_if_sequence_number_lt=None, + x_ms_if_sequence_number_eq=None, + if_modified_since=None, if_unmodified_since=None, + if_match=None, if_none_match=None): + ''' + Writes a range of pages to a page blob. + + container_name: Name of existing container. + blob_name: Name of existing blob. + page: Content of the page. + x_ms_range: + Required. Specifies the range of bytes to be written as a page. + Both the start and end of the range must be specified. Must be in + format: bytes=startByte-endByte. Given that pages must be aligned + with 512-byte boundaries, the start offset must be a modulus of + 512 and the end offset must be a modulus of 512-1. Examples of + valid byte ranges are 0-511, 512-1023, etc. + x_ms_page_write: + Required. You may specify one of the following options: + update (lower case): + Writes the bytes specified by the request body into the + specified range. The Range and Content-Length headers must + match to perform the update. + clear (lower case): + Clears the specified range and releases the space used in + storage for that range. To clear a range, set the + Content-Length header to zero, and the Range header to a + value that indicates the range to clear, up to maximum + blob size. + timeout: the timeout parameter is expressed in seconds. + content_md5: + Optional. An MD5 hash of the page content. This hash is used to + verify the integrity of the page during transport. When this header + is specified, the storage service compares the hash of the content + that has arrived with the header value that was sent. If the two + hashes do not match, the operation will fail with error code 400 + (Bad Request). + x_ms_lease_id: Required if the blob has an active lease. + x_ms_if_sequence_number_lte: + Optional. If the blob's sequence number is less than or equal to + the specified value, the request proceeds; otherwise it fails. + x_ms_if_sequence_number_lt: + Optional. If the blob's sequence number is less than the specified + value, the request proceeds; otherwise it fails. + x_ms_if_sequence_number_eq: + Optional. If the blob's sequence number is equal to the specified + value, the request proceeds; otherwise it fails. + if_modified_since: + Optional. A DateTime value. Specify this conditional header to + write the page only if the blob has been modified since the + specified date/time. If the blob has not been modified, the Blob + service fails. + if_unmodified_since: + Optional. A DateTime value. Specify this conditional header to + write the page only if the blob has not been modified since the + specified date/time. If the blob has been modified, the Blob + service fails. + if_match: + Optional. An ETag value. Specify an ETag value for this conditional + header to write the page only if the blob's ETag value matches the + value specified. If the values do not match, the Blob service fails. + if_none_match: + Optional. An ETag value. Specify an ETag value for this conditional + header to write the page only if the blob's ETag value does not + match the value specified. If the values are identical, the Blob + service fails. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + _validate_not_none('page', page) + _validate_not_none('x_ms_range', x_ms_range) + _validate_not_none('x_ms_page_write', x_ms_page_write) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '/' + _str(blob_name) + '?comp=page' + request.headers = [ + ('x-ms-range', _str_or_none(x_ms_range)), + ('Content-MD5', _str_or_none(content_md5)), + ('x-ms-page-write', _str_or_none(x_ms_page_write)), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)), + ('x-ms-if-sequence-number-le', + _str_or_none(x_ms_if_sequence_number_lte)), + ('x-ms-if-sequence-number-lt', + _str_or_none(x_ms_if_sequence_number_lt)), + ('x-ms-if-sequence-number-eq', + _str_or_none(x_ms_if_sequence_number_eq)), + ('If-Modified-Since', _str_or_none(if_modified_since)), + ('If-Unmodified-Since', _str_or_none(if_unmodified_since)), + ('If-Match', _str_or_none(if_match)), + ('If-None-Match', _str_or_none(if_none_match)) + ] + request.query = [('timeout', _int_or_none(timeout))] + request.body = _get_request_body_bytes_only('page', page) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def get_page_ranges(self, container_name, blob_name, snapshot=None, + range=None, x_ms_range=None, x_ms_lease_id=None): + ''' + Retrieves the page ranges for a blob. + + container_name: Name of existing container. + blob_name: Name of existing blob. + snapshot: + Optional. The snapshot parameter is an opaque DateTime value that, + when present, specifies the blob snapshot to retrieve information + from. + range: + Optional. Specifies the range of bytes over which to list ranges, + inclusively. If omitted, then all ranges for the blob are returned. + x_ms_range: + Optional. Specifies the range of bytes to be written as a page. + Both the start and end of the range must be specified. Must be in + format: bytes=startByte-endByte. Given that pages must be aligned + with 512-byte boundaries, the start offset must be a modulus of + 512 and the end offset must be a modulus of 512-1. Examples of + valid byte ranges are 0-511, 512-1023, etc. + x_ms_lease_id: Required if the blob has an active lease. + ''' + _validate_not_none('container_name', container_name) + _validate_not_none('blob_name', blob_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + \ + _str(container_name) + '/' + _str(blob_name) + '?comp=pagelist' + request.headers = [ + ('Range', _str_or_none(range)), + ('x-ms-range', _str_or_none(x_ms_range)), + ('x-ms-lease-id', _str_or_none(x_ms_lease_id)) + ] + request.query = [('snapshot', _str_or_none(snapshot))] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_blob_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_simple_list(response, PageList, PageRange, "page_ranges") diff --git a/awx/lib/site-packages/azure/storage/cloudstorageaccount.py b/awx/lib/site-packages/azure/storage/cloudstorageaccount.py new file mode 100644 index 0000000000..e043f898cd --- /dev/null +++ b/awx/lib/site-packages/azure/storage/cloudstorageaccount.py @@ -0,0 +1,39 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 azure.storage.blobservice import BlobService +from azure.storage.tableservice import TableService +from azure.storage.queueservice import QueueService + + +class CloudStorageAccount(object): + + """ + Provides a factory for creating the blob, queue, and table services + with a common account name and account key. Users can either use the + factory or can construct the appropriate service directly. + """ + + def __init__(self, account_name=None, account_key=None): + self.account_name = account_name + self.account_key = account_key + + def create_blob_service(self): + return BlobService(self.account_name, self.account_key) + + def create_table_service(self): + return TableService(self.account_name, self.account_key) + + def create_queue_service(self): + return QueueService(self.account_name, self.account_key) diff --git a/awx/lib/site-packages/azure/storage/queueservice.py b/awx/lib/site-packages/azure/storage/queueservice.py new file mode 100644 index 0000000000..fdde5fafd9 --- /dev/null +++ b/awx/lib/site-packages/azure/storage/queueservice.py @@ -0,0 +1,458 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 azure import ( + WindowsAzureConflictError, + WindowsAzureError, + DEV_QUEUE_HOST, + QUEUE_SERVICE_HOST_BASE, + xml_escape, + _convert_class_to_xml, + _dont_fail_not_exist, + _dont_fail_on_exist, + _get_request_body, + _int_or_none, + _parse_enum_results_list, + _parse_response, + _parse_response_for_dict_filter, + _parse_response_for_dict_prefix, + _str, + _str_or_none, + _update_request_uri_query_local_storage, + _validate_not_none, + _ERROR_CONFLICT, + ) +from azure.http import ( + HTTPRequest, + HTTP_RESPONSE_NO_CONTENT, + ) +from azure.storage import ( + Queue, + QueueEnumResults, + QueueMessagesList, + StorageServiceProperties, + _update_storage_queue_header, + ) +from azure.storage.storageclient import _StorageClient + + +class QueueService(_StorageClient): + + ''' + This is the main class managing queue resources. + ''' + + def __init__(self, account_name=None, account_key=None, protocol='https', + host_base=QUEUE_SERVICE_HOST_BASE, dev_host=DEV_QUEUE_HOST): + ''' + account_name: your storage account name, required for all operations. + account_key: your storage account key, required for all operations. + protocol: Optional. Protocol. Defaults to http. + host_base: + Optional. Live host base url. Defaults to Azure url. Override this + for on-premise. + dev_host: Optional. Dev host url. Defaults to localhost. + ''' + super(QueueService, self).__init__( + account_name, account_key, protocol, host_base, dev_host) + + def get_queue_service_properties(self, timeout=None): + ''' + Gets the properties of a storage account's Queue Service, including + Windows Azure Storage Analytics. + + timeout: Optional. The timeout parameter is expressed in seconds. + ''' + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/?restype=service&comp=properties' + request.query = [('timeout', _int_or_none(timeout))] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_queue_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response(response, StorageServiceProperties) + + def list_queues(self, prefix=None, marker=None, maxresults=None, + include=None): + ''' + Lists all of the queues in a given storage account. + + prefix: + Filters the results to return only queues with names that begin + with the specified prefix. + marker: + A string value that identifies the portion of the list to be + returned with the next list operation. The operation returns a + NextMarker element within the response body if the list returned + was not complete. This value may then be used as a query parameter + in a subsequent call to request the next portion of the list of + queues. The marker value is opaque to the client. + maxresults: + Specifies the maximum number of queues to return. If maxresults is + not specified, the server will return up to 5,000 items. + include: + Optional. Include this parameter to specify that the container's + metadata be returned as part of the response body. + ''' + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/?comp=list' + request.query = [ + ('prefix', _str_or_none(prefix)), + ('marker', _str_or_none(marker)), + ('maxresults', _int_or_none(maxresults)), + ('include', _str_or_none(include)) + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_queue_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_enum_results_list( + response, QueueEnumResults, "Queues", Queue) + + def create_queue(self, queue_name, x_ms_meta_name_values=None, + fail_on_exist=False): + ''' + Creates a queue under the given account. + + queue_name: name of the queue. + x_ms_meta_name_values: + Optional. A dict containing name-value pairs to associate with the + queue as metadata. + fail_on_exist: Specify whether throw exception when queue exists. + ''' + _validate_not_none('queue_name', queue_name) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '' + request.headers = [('x-ms-meta-name-values', x_ms_meta_name_values)] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_queue_header( + request, self.account_name, self.account_key) + if not fail_on_exist: + try: + response = self._perform_request(request) + if response.status == HTTP_RESPONSE_NO_CONTENT: + return False + return True + except WindowsAzureError as ex: + _dont_fail_on_exist(ex) + return False + else: + response = self._perform_request(request) + if response.status == HTTP_RESPONSE_NO_CONTENT: + raise WindowsAzureConflictError( + _ERROR_CONFLICT.format(response.message)) + return True + + def delete_queue(self, queue_name, fail_not_exist=False): + ''' + Permanently deletes the specified queue. + + queue_name: Name of the queue. + fail_not_exist: + Specify whether throw exception when queue doesn't exist. + ''' + _validate_not_none('queue_name', queue_name) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '' + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_queue_header( + request, self.account_name, self.account_key) + if not fail_not_exist: + try: + self._perform_request(request) + return True + except WindowsAzureError as ex: + _dont_fail_not_exist(ex) + return False + else: + self._perform_request(request) + return True + + def get_queue_metadata(self, queue_name): + ''' + Retrieves user-defined metadata and queue properties on the specified + queue. Metadata is associated with the queue as name-values pairs. + + queue_name: Name of the queue. + ''' + _validate_not_none('queue_name', queue_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '?comp=metadata' + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_queue_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response_for_dict_prefix( + response, + prefixes=['x-ms-meta', 'x-ms-approximate-messages-count']) + + def set_queue_metadata(self, queue_name, x_ms_meta_name_values=None): + ''' + Sets user-defined metadata on the specified queue. Metadata is + associated with the queue as name-value pairs. + + queue_name: Name of the queue. + x_ms_meta_name_values: + Optional. A dict containing name-value pairs to associate with the + queue as metadata. + ''' + _validate_not_none('queue_name', queue_name) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '?comp=metadata' + request.headers = [('x-ms-meta-name-values', x_ms_meta_name_values)] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_queue_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def put_message(self, queue_name, message_text, visibilitytimeout=None, + messagettl=None): + ''' + Adds a new message to the back of the message queue. A visibility + timeout can also be specified to make the message invisible until the + visibility timeout expires. A message must be in a format that can be + included in an XML request with UTF-8 encoding. The encoded message can + be up to 64KB in size for versions 2011-08-18 and newer, or 8KB in size + for previous versions. + + queue_name: Name of the queue. + message_text: Message content. + visibilitytimeout: + Optional. If not specified, the default value is 0. Specifies the + new visibility timeout value, in seconds, relative to server time. + The new value must be larger than or equal to 0, and cannot be + larger than 7 days. The visibility timeout of a message cannot be + set to a value later than the expiry time. visibilitytimeout + should be set to a value smaller than the time-to-live value. + messagettl: + Optional. Specifies the time-to-live interval for the message, in + seconds. The maximum time-to-live allowed is 7 days. If this + parameter is omitted, the default time-to-live is 7 days. + ''' + _validate_not_none('queue_name', queue_name) + _validate_not_none('message_text', message_text) + request = HTTPRequest() + request.method = 'POST' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '/messages' + request.query = [ + ('visibilitytimeout', _str_or_none(visibilitytimeout)), + ('messagettl', _str_or_none(messagettl)) + ] + request.body = _get_request_body( + '<?xml version="1.0" encoding="utf-8"?> \ +<QueueMessage> \ + <MessageText>' + xml_escape(_str(message_text)) + '</MessageText> \ +</QueueMessage>') + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_queue_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def get_messages(self, queue_name, numofmessages=None, + visibilitytimeout=None): + ''' + Retrieves one or more messages from the front of the queue. + + queue_name: Name of the queue. + numofmessages: + Optional. A nonzero integer value that specifies the number of + messages to retrieve from the queue, up to a maximum of 32. If + fewer are visible, the visible messages are returned. By default, + a single message is retrieved from the queue with this operation. + visibilitytimeout: + Specifies the new visibility timeout value, in seconds, relative + to server time. The new value must be larger than or equal to 1 + second, and cannot be larger than 7 days, or larger than 2 hours + on REST protocol versions prior to version 2011-08-18. The + visibility timeout of a message can be set to a value later than + the expiry time. + ''' + _validate_not_none('queue_name', queue_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '/messages' + request.query = [ + ('numofmessages', _str_or_none(numofmessages)), + ('visibilitytimeout', _str_or_none(visibilitytimeout)) + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_queue_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response(response, QueueMessagesList) + + def peek_messages(self, queue_name, numofmessages=None): + ''' + Retrieves one or more messages from the front of the queue, but does + not alter the visibility of the message. + + queue_name: Name of the queue. + numofmessages: + Optional. A nonzero integer value that specifies the number of + messages to peek from the queue, up to a maximum of 32. By default, + a single message is peeked from the queue with this operation. + ''' + _validate_not_none('queue_name', queue_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '/messages?peekonly=true' + request.query = [('numofmessages', _str_or_none(numofmessages))] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_queue_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response(response, QueueMessagesList) + + def delete_message(self, queue_name, message_id, popreceipt): + ''' + Deletes the specified message. + + queue_name: Name of the queue. + message_id: Message to delete. + popreceipt: + Required. A valid pop receipt value returned from an earlier call + to the Get Messages or Update Message operation. + ''' + _validate_not_none('queue_name', queue_name) + _validate_not_none('message_id', message_id) + _validate_not_none('popreceipt', popreceipt) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + \ + _str(queue_name) + '/messages/' + _str(message_id) + '' + request.query = [('popreceipt', _str_or_none(popreceipt))] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_queue_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def clear_messages(self, queue_name): + ''' + Deletes all messages from the specified queue. + + queue_name: Name of the queue. + ''' + _validate_not_none('queue_name', queue_name) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + _str(queue_name) + '/messages' + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_queue_header( + request, self.account_name, self.account_key) + self._perform_request(request) + + def update_message(self, queue_name, message_id, message_text, popreceipt, + visibilitytimeout): + ''' + Updates the visibility timeout of a message. You can also use this + operation to update the contents of a message. + + queue_name: Name of the queue. + message_id: Message to update. + message_text: Content of message. + popreceipt: + Required. A valid pop receipt value returned from an earlier call + to the Get Messages or Update Message operation. + visibilitytimeout: + Required. Specifies the new visibility timeout value, in seconds, + relative to server time. The new value must be larger than or equal + to 0, and cannot be larger than 7 days. The visibility timeout of a + message cannot be set to a value later than the expiry time. A + message can be updated until it has been deleted or has expired. + ''' + _validate_not_none('queue_name', queue_name) + _validate_not_none('message_id', message_id) + _validate_not_none('message_text', message_text) + _validate_not_none('popreceipt', popreceipt) + _validate_not_none('visibilitytimeout', visibilitytimeout) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(queue_name) + '/messages/' + _str(message_id) + '' + request.query = [ + ('popreceipt', _str_or_none(popreceipt)), + ('visibilitytimeout', _str_or_none(visibilitytimeout)) + ] + request.body = _get_request_body( + '<?xml version="1.0" encoding="utf-8"?> \ +<QueueMessage> \ + <MessageText>' + xml_escape(_str(message_text)) + '</MessageText> \ +</QueueMessage>') + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_queue_header( + request, self.account_name, self.account_key) + response = self._perform_request(request) + + return _parse_response_for_dict_filter( + response, + filter=['x-ms-popreceipt', 'x-ms-time-next-visible']) + + def set_queue_service_properties(self, storage_service_properties, + timeout=None): + ''' + Sets the properties of a storage account's Queue service, including + Windows Azure Storage Analytics. + + storage_service_properties: StorageServiceProperties object. + timeout: Optional. The timeout parameter is expressed in seconds. + ''' + _validate_not_none('storage_service_properties', + storage_service_properties) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/?restype=service&comp=properties' + request.query = [('timeout', _int_or_none(timeout))] + request.body = _get_request_body( + _convert_class_to_xml(storage_service_properties)) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_queue_header( + request, self.account_name, self.account_key) + self._perform_request(request) diff --git a/awx/lib/site-packages/azure/storage/sharedaccesssignature.py b/awx/lib/site-packages/azure/storage/sharedaccesssignature.py new file mode 100644 index 0000000000..a882461cd4 --- /dev/null +++ b/awx/lib/site-packages/azure/storage/sharedaccesssignature.py @@ -0,0 +1,230 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 azure import url_quote +from azure.storage import _sign_string, X_MS_VERSION + +#------------------------------------------------------------------------- +# Constants for the share access signature +SIGNED_START = 'st' +SIGNED_EXPIRY = 'se' +SIGNED_RESOURCE = 'sr' +SIGNED_PERMISSION = 'sp' +SIGNED_IDENTIFIER = 'si' +SIGNED_SIGNATURE = 'sig' +SIGNED_VERSION = 'sv' +RESOURCE_BLOB = 'b' +RESOURCE_CONTAINER = 'c' +SIGNED_RESOURCE_TYPE = 'resource' +SHARED_ACCESS_PERMISSION = 'permission' + +#-------------------------------------------------------------------------- + + +class WebResource(object): + + ''' + Class that stands for the resource to get the share access signature + + path: the resource path. + properties: dict of name and values. Contains 2 item: resource type and + permission + request_url: the url of the webresource include all the queries. + ''' + + def __init__(self, path=None, request_url=None, properties=None): + self.path = path + self.properties = properties or {} + self.request_url = request_url + + +class Permission(object): + + ''' + Permission class. Contains the path and query_string for the path. + + path: the resource path + query_string: dict of name, values. Contains SIGNED_START, SIGNED_EXPIRY + SIGNED_RESOURCE, SIGNED_PERMISSION, SIGNED_IDENTIFIER, + SIGNED_SIGNATURE name values. + ''' + + def __init__(self, path=None, query_string=None): + self.path = path + self.query_string = query_string + + +class SharedAccessPolicy(object): + + ''' SharedAccessPolicy class. ''' + + def __init__(self, access_policy, signed_identifier=None): + self.id = signed_identifier + self.access_policy = access_policy + + +class SharedAccessSignature(object): + + ''' + The main class used to do the signing and generating the signature. + + account_name: + the storage account name used to generate shared access signature + account_key: the access key to genenerate share access signature + permission_set: the permission cache used to signed the request url. + ''' + + def __init__(self, account_name, account_key, permission_set=None): + self.account_name = account_name + self.account_key = account_key + self.permission_set = permission_set + + def generate_signed_query_string(self, path, resource_type, + shared_access_policy, + version=X_MS_VERSION): + ''' + Generates the query string for path, resource type and shared access + policy. + + path: the resource + resource_type: could be blob or container + shared_access_policy: shared access policy + version: + x-ms-version for storage service, or None to get a signed query + string compatible with pre 2012-02-12 clients, where the version + is not included in the query string. + ''' + + query_string = {} + if shared_access_policy.access_policy.start: + query_string[ + SIGNED_START] = shared_access_policy.access_policy.start + + if version: + query_string[SIGNED_VERSION] = version + query_string[SIGNED_EXPIRY] = shared_access_policy.access_policy.expiry + query_string[SIGNED_RESOURCE] = resource_type + query_string[ + SIGNED_PERMISSION] = shared_access_policy.access_policy.permission + + if shared_access_policy.id: + query_string[SIGNED_IDENTIFIER] = shared_access_policy.id + + query_string[SIGNED_SIGNATURE] = self._generate_signature( + path, shared_access_policy, version) + return query_string + + def sign_request(self, web_resource): + ''' sign request to generate request_url with sharedaccesssignature + info for web_resource.''' + + if self.permission_set: + for shared_access_signature in self.permission_set: + if self._permission_matches_request( + shared_access_signature, web_resource, + web_resource.properties[ + SIGNED_RESOURCE_TYPE], + web_resource.properties[SHARED_ACCESS_PERMISSION]): + if web_resource.request_url.find('?') == -1: + web_resource.request_url += '?' + else: + web_resource.request_url += '&' + + web_resource.request_url += self._convert_query_string( + shared_access_signature.query_string) + break + return web_resource + + def _convert_query_string(self, query_string): + ''' Converts query string to str. The order of name, values is very + important and can't be wrong.''' + + convert_str = '' + if SIGNED_START in query_string: + convert_str += SIGNED_START + '=' + \ + url_quote(query_string[SIGNED_START]) + '&' + convert_str += SIGNED_EXPIRY + '=' + \ + url_quote(query_string[SIGNED_EXPIRY]) + '&' + convert_str += SIGNED_PERMISSION + '=' + \ + query_string[SIGNED_PERMISSION] + '&' + convert_str += SIGNED_RESOURCE + '=' + \ + query_string[SIGNED_RESOURCE] + '&' + + if SIGNED_IDENTIFIER in query_string: + convert_str += SIGNED_IDENTIFIER + '=' + \ + query_string[SIGNED_IDENTIFIER] + '&' + if SIGNED_VERSION in query_string: + convert_str += SIGNED_VERSION + '=' + \ + query_string[SIGNED_VERSION] + '&' + convert_str += SIGNED_SIGNATURE + '=' + \ + url_quote(query_string[SIGNED_SIGNATURE]) + '&' + return convert_str + + def _generate_signature(self, path, shared_access_policy, version): + ''' Generates signature for a given path and shared access policy. ''' + + def get_value_to_append(value, no_new_line=False): + return_value = '' + if value: + return_value = value + if not no_new_line: + return_value += '\n' + return return_value + + if path[0] != '/': + path = '/' + path + + canonicalized_resource = '/' + self.account_name + path + + # Form the string to sign from shared_access_policy and canonicalized + # resource. The order of values is important. + string_to_sign = \ + (get_value_to_append(shared_access_policy.access_policy.permission) + + get_value_to_append(shared_access_policy.access_policy.start) + + get_value_to_append(shared_access_policy.access_policy.expiry) + + get_value_to_append(canonicalized_resource)) + + if version: + string_to_sign += get_value_to_append(shared_access_policy.id) + string_to_sign += get_value_to_append(version, True) + else: + string_to_sign += get_value_to_append(shared_access_policy.id, True) + + return self._sign(string_to_sign) + + def _permission_matches_request(self, shared_access_signature, + web_resource, resource_type, + required_permission): + ''' Check whether requested permission matches given + shared_access_signature, web_resource and resource type. ''' + + required_resource_type = resource_type + if required_resource_type == RESOURCE_BLOB: + required_resource_type += RESOURCE_CONTAINER + + for name, value in shared_access_signature.query_string.items(): + if name == SIGNED_RESOURCE and \ + required_resource_type.find(value) == -1: + return False + elif name == SIGNED_PERMISSION and \ + required_permission.find(value) == -1: + return False + + return web_resource.path.find(shared_access_signature.path) != -1 + + def _sign(self, string_to_sign): + ''' use HMAC-SHA256 to sign the string and convert it as base64 + encoded string. ''' + + return _sign_string(self.account_key, string_to_sign) diff --git a/awx/lib/site-packages/azure/storage/storageclient.py b/awx/lib/site-packages/azure/storage/storageclient.py new file mode 100644 index 0000000000..7f160faff9 --- /dev/null +++ b/awx/lib/site-packages/azure/storage/storageclient.py @@ -0,0 +1,152 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 sys + +from azure import ( + WindowsAzureError, + DEV_ACCOUNT_NAME, + DEV_ACCOUNT_KEY, + _ERROR_STORAGE_MISSING_INFO, + ) +from azure.http import HTTPError +from azure.http.httpclient import _HTTPClient +from azure.storage import _storage_error_handler + +#-------------------------------------------------------------------------- +# constants for azure app setting environment variables +AZURE_STORAGE_ACCOUNT = 'AZURE_STORAGE_ACCOUNT' +AZURE_STORAGE_ACCESS_KEY = 'AZURE_STORAGE_ACCESS_KEY' +EMULATED = 'EMULATED' + +#-------------------------------------------------------------------------- + + +class _StorageClient(object): + + ''' + This is the base class for BlobManager, TableManager and QueueManager. + ''' + + def __init__(self, account_name=None, account_key=None, protocol='https', + host_base='', dev_host=''): + ''' + account_name: your storage account name, required for all operations. + account_key: your storage account key, required for all operations. + protocol: Optional. Protocol. Defaults to http. + host_base: + Optional. Live host base url. Defaults to Azure url. Override this + for on-premise. + dev_host: Optional. Dev host url. Defaults to localhost. + ''' + self.account_name = account_name + self.account_key = account_key + self.requestid = None + self.protocol = protocol + self.host_base = host_base + self.dev_host = dev_host + + # the app is not run in azure emulator or use default development + # storage account and key if app is run in emulator. + self.use_local_storage = False + + # check whether it is run in emulator. + if EMULATED in os.environ: + self.is_emulated = os.environ[EMULATED].lower() != 'false' + else: + self.is_emulated = False + + # get account_name and account key. If they are not set when + # constructing, get the account and key from environment variables if + # the app is not run in azure emulator or use default development + # storage account and key if app is run in emulator. + if not self.account_name or not self.account_key: + if self.is_emulated: + self.account_name = DEV_ACCOUNT_NAME + self.account_key = DEV_ACCOUNT_KEY + self.protocol = 'http' + self.use_local_storage = True + else: + self.account_name = os.environ.get(AZURE_STORAGE_ACCOUNT) + self.account_key = os.environ.get(AZURE_STORAGE_ACCESS_KEY) + + if not self.account_name or not self.account_key: + raise WindowsAzureError(_ERROR_STORAGE_MISSING_INFO) + + self._httpclient = _HTTPClient( + service_instance=self, + account_key=self.account_key, + account_name=self.account_name, + protocol=self.protocol) + self._batchclient = None + self._filter = self._perform_request_worker + + def with_filter(self, filter): + ''' + Returns a new service which will process requests with the specified + filter. Filtering operations can include logging, automatic retrying, + etc... The filter is a lambda which receives the HTTPRequest and + another lambda. The filter can perform any pre-processing on the + request, pass it off to the next lambda, and then perform any + post-processing on the response. + ''' + res = type(self)(self.account_name, self.account_key, self.protocol) + old_filter = self._filter + + def new_filter(request): + return filter(request, old_filter) + + res._filter = new_filter + return res + + def set_proxy(self, host, port, user=None, password=None): + ''' + Sets the proxy server host and port for the HTTP CONNECT Tunnelling. + + host: Address of the proxy. Ex: '192.168.0.100' + port: Port of the proxy. Ex: 6000 + user: User for proxy authorization. + password: Password for proxy authorization. + ''' + self._httpclient.set_proxy(host, port, user, password) + + def _get_host(self): + if self.use_local_storage: + return self.dev_host + else: + return self.account_name + self.host_base + + def _perform_request_worker(self, request): + return self._httpclient.perform_request(request) + + def _perform_request(self, request, text_encoding='utf-8'): + ''' + Sends the request and return response. Catches HTTPError and hand it + to error handler + ''' + try: + if self._batchclient is not None: + return self._batchclient.insert_request_to_batch(request) + else: + resp = self._filter(request) + + if sys.version_info >= (3,) and isinstance(resp, bytes) and \ + text_encoding: + resp = resp.decode(text_encoding) + + except HTTPError as ex: + _storage_error_handler(ex) + + return resp diff --git a/awx/lib/site-packages/azure/storage/tableservice.py b/awx/lib/site-packages/azure/storage/tableservice.py new file mode 100644 index 0000000000..3fe58a73f1 --- /dev/null +++ b/awx/lib/site-packages/azure/storage/tableservice.py @@ -0,0 +1,491 @@ +#------------------------------------------------------------------------- +# Copyright (c) Microsoft. 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 azure import ( + WindowsAzureError, + TABLE_SERVICE_HOST_BASE, + DEV_TABLE_HOST, + _convert_class_to_xml, + _convert_response_to_feeds, + _dont_fail_not_exist, + _dont_fail_on_exist, + _get_request_body, + _int_or_none, + _parse_response, + _parse_response_for_dict, + _parse_response_for_dict_filter, + _str, + _str_or_none, + _update_request_uri_query_local_storage, + _validate_not_none, + ) +from azure.http import HTTPRequest +from azure.http.batchclient import _BatchClient +from azure.storage import ( + StorageServiceProperties, + _convert_entity_to_xml, + _convert_response_to_entity, + _convert_table_to_xml, + _convert_xml_to_entity, + _convert_xml_to_table, + _sign_storage_table_request, + _update_storage_table_header, + ) +from azure.storage.storageclient import _StorageClient + + +class TableService(_StorageClient): + + ''' + This is the main class managing Table resources. + ''' + + def __init__(self, account_name=None, account_key=None, protocol='https', + host_base=TABLE_SERVICE_HOST_BASE, dev_host=DEV_TABLE_HOST): + ''' + account_name: your storage account name, required for all operations. + account_key: your storage account key, required for all operations. + protocol: Optional. Protocol. Defaults to http. + host_base: + Optional. Live host base url. Defaults to Azure url. Override this + for on-premise. + dev_host: Optional. Dev host url. Defaults to localhost. + ''' + super(TableService, self).__init__( + account_name, account_key, protocol, host_base, dev_host) + + def begin_batch(self): + if self._batchclient is None: + self._batchclient = _BatchClient( + service_instance=self, + account_key=self.account_key, + account_name=self.account_name) + return self._batchclient.begin_batch() + + def commit_batch(self): + try: + ret = self._batchclient.commit_batch() + finally: + self._batchclient = None + return ret + + def cancel_batch(self): + self._batchclient = None + + def get_table_service_properties(self): + ''' + Gets the properties of a storage account's Table service, including + Windows Azure Storage Analytics. + ''' + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/?restype=service&comp=properties' + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_table_header(request) + response = self._perform_request(request) + + return _parse_response(response, StorageServiceProperties) + + def set_table_service_properties(self, storage_service_properties): + ''' + Sets the properties of a storage account's Table Service, including + Windows Azure Storage Analytics. + + storage_service_properties: StorageServiceProperties object. + ''' + _validate_not_none('storage_service_properties', + storage_service_properties) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/?restype=service&comp=properties' + request.body = _get_request_body( + _convert_class_to_xml(storage_service_properties)) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_table_header(request) + response = self._perform_request(request) + + return _parse_response_for_dict(response) + + def query_tables(self, table_name=None, top=None, next_table_name=None): + ''' + Returns a list of tables under the specified account. + + table_name: Optional. The specific table to query. + top: Optional. Maximum number of tables to return. + next_table_name: + Optional. When top is used, the next table name is stored in + result.x_ms_continuation['NextTableName'] + ''' + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + if table_name is not None: + uri_part_table_name = "('" + table_name + "')" + else: + uri_part_table_name = "" + request.path = '/Tables' + uri_part_table_name + '' + request.query = [ + ('$top', _int_or_none(top)), + ('NextTableName', _str_or_none(next_table_name)) + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_table_header(request) + response = self._perform_request(request) + + return _convert_response_to_feeds(response, _convert_xml_to_table) + + def create_table(self, table, fail_on_exist=False): + ''' + Creates a new table in the storage account. + + table: + Name of the table to create. Table name may contain only + alphanumeric characters and cannot begin with a numeric character. + It is case-insensitive and must be from 3 to 63 characters long. + fail_on_exist: Specify whether throw exception when table exists. + ''' + _validate_not_none('table', table) + request = HTTPRequest() + request.method = 'POST' + request.host = self._get_host() + request.path = '/Tables' + request.body = _get_request_body(_convert_table_to_xml(table)) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_table_header(request) + if not fail_on_exist: + try: + self._perform_request(request) + return True + except WindowsAzureError as ex: + _dont_fail_on_exist(ex) + return False + else: + self._perform_request(request) + return True + + def delete_table(self, table_name, fail_not_exist=False): + ''' + table_name: Name of the table to delete. + fail_not_exist: + Specify whether throw exception when table doesn't exist. + ''' + _validate_not_none('table_name', table_name) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/Tables(\'' + _str(table_name) + '\')' + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_table_header(request) + if not fail_not_exist: + try: + self._perform_request(request) + return True + except WindowsAzureError as ex: + _dont_fail_not_exist(ex) + return False + else: + self._perform_request(request) + return True + + def get_entity(self, table_name, partition_key, row_key, select=''): + ''' + Get an entity in a table; includes the $select options. + + partition_key: PartitionKey of the entity. + row_key: RowKey of the entity. + select: Property names to select. + ''' + _validate_not_none('table_name', table_name) + _validate_not_none('partition_key', partition_key) + _validate_not_none('row_key', row_key) + _validate_not_none('select', select) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + _str(table_name) + \ + '(PartitionKey=\'' + _str(partition_key) + \ + '\',RowKey=\'' + \ + _str(row_key) + '\')?$select=' + \ + _str(select) + '' + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_table_header(request) + response = self._perform_request(request) + + return _convert_response_to_entity(response) + + def query_entities(self, table_name, filter=None, select=None, top=None, + next_partition_key=None, next_row_key=None): + ''' + Get entities in a table; includes the $filter and $select options. + + table_name: Table to query. + filter: + Optional. Filter as described at + http://msdn.microsoft.com/en-us/library/windowsazure/dd894031.aspx + select: Optional. Property names to select from the entities. + top: Optional. Maximum number of entities to return. + next_partition_key: + Optional. When top is used, the next partition key is stored in + result.x_ms_continuation['NextPartitionKey'] + next_row_key: + Optional. When top is used, the next partition key is stored in + result.x_ms_continuation['NextRowKey'] + ''' + _validate_not_none('table_name', table_name) + request = HTTPRequest() + request.method = 'GET' + request.host = self._get_host() + request.path = '/' + _str(table_name) + '()' + request.query = [ + ('$filter', _str_or_none(filter)), + ('$select', _str_or_none(select)), + ('$top', _int_or_none(top)), + ('NextPartitionKey', _str_or_none(next_partition_key)), + ('NextRowKey', _str_or_none(next_row_key)) + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_table_header(request) + response = self._perform_request(request) + + return _convert_response_to_feeds(response, _convert_xml_to_entity) + + def insert_entity(self, table_name, entity, + content_type='application/atom+xml'): + ''' + Inserts a new entity into a table. + + table_name: Table name. + entity: + Required. The entity object to insert. Could be a dict format or + entity object. + content_type: Required. Must be set to application/atom+xml + ''' + _validate_not_none('table_name', table_name) + _validate_not_none('entity', entity) + _validate_not_none('content_type', content_type) + request = HTTPRequest() + request.method = 'POST' + request.host = self._get_host() + request.path = '/' + _str(table_name) + '' + request.headers = [('Content-Type', _str_or_none(content_type))] + request.body = _get_request_body(_convert_entity_to_xml(entity)) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_table_header(request) + response = self._perform_request(request) + + return _convert_response_to_entity(response) + + def update_entity(self, table_name, partition_key, row_key, entity, + content_type='application/atom+xml', if_match='*'): + ''' + Updates an existing entity in a table. The Update Entity operation + replaces the entire entity and can be used to remove properties. + + table_name: Table name. + partition_key: PartitionKey of the entity. + row_key: RowKey of the entity. + entity: + Required. The entity object to insert. Could be a dict format or + entity object. + content_type: Required. Must be set to application/atom+xml + if_match: + Optional. Specifies the condition for which the merge should be + performed. To force an unconditional merge, set to the wildcard + character (*). + ''' + _validate_not_none('table_name', table_name) + _validate_not_none('partition_key', partition_key) + _validate_not_none('row_key', row_key) + _validate_not_none('entity', entity) + _validate_not_none('content_type', content_type) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(table_name) + '(PartitionKey=\'' + \ + _str(partition_key) + '\',RowKey=\'' + _str(row_key) + '\')' + request.headers = [ + ('Content-Type', _str_or_none(content_type)), + ('If-Match', _str_or_none(if_match)) + ] + request.body = _get_request_body(_convert_entity_to_xml(entity)) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_table_header(request) + response = self._perform_request(request) + + return _parse_response_for_dict_filter(response, filter=['etag']) + + def merge_entity(self, table_name, partition_key, row_key, entity, + content_type='application/atom+xml', if_match='*'): + ''' + Updates an existing entity by updating the entity's properties. This + operation does not replace the existing entity as the Update Entity + operation does. + + table_name: Table name. + partition_key: PartitionKey of the entity. + row_key: RowKey of the entity. + entity: + Required. The entity object to insert. Can be a dict format or + entity object. + content_type: Required. Must be set to application/atom+xml + if_match: + Optional. Specifies the condition for which the merge should be + performed. To force an unconditional merge, set to the wildcard + character (*). + ''' + _validate_not_none('table_name', table_name) + _validate_not_none('partition_key', partition_key) + _validate_not_none('row_key', row_key) + _validate_not_none('entity', entity) + _validate_not_none('content_type', content_type) + request = HTTPRequest() + request.method = 'MERGE' + request.host = self._get_host() + request.path = '/' + \ + _str(table_name) + '(PartitionKey=\'' + \ + _str(partition_key) + '\',RowKey=\'' + _str(row_key) + '\')' + request.headers = [ + ('Content-Type', _str_or_none(content_type)), + ('If-Match', _str_or_none(if_match)) + ] + request.body = _get_request_body(_convert_entity_to_xml(entity)) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_table_header(request) + response = self._perform_request(request) + + return _parse_response_for_dict_filter(response, filter=['etag']) + + def delete_entity(self, table_name, partition_key, row_key, + content_type='application/atom+xml', if_match='*'): + ''' + Deletes an existing entity in a table. + + table_name: Table name. + partition_key: PartitionKey of the entity. + row_key: RowKey of the entity. + content_type: Required. Must be set to application/atom+xml + if_match: + Optional. Specifies the condition for which the delete should be + performed. To force an unconditional delete, set to the wildcard + character (*). + ''' + _validate_not_none('table_name', table_name) + _validate_not_none('partition_key', partition_key) + _validate_not_none('row_key', row_key) + _validate_not_none('content_type', content_type) + _validate_not_none('if_match', if_match) + request = HTTPRequest() + request.method = 'DELETE' + request.host = self._get_host() + request.path = '/' + \ + _str(table_name) + '(PartitionKey=\'' + \ + _str(partition_key) + '\',RowKey=\'' + _str(row_key) + '\')' + request.headers = [ + ('Content-Type', _str_or_none(content_type)), + ('If-Match', _str_or_none(if_match)) + ] + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_table_header(request) + self._perform_request(request) + + def insert_or_replace_entity(self, table_name, partition_key, row_key, + entity, content_type='application/atom+xml'): + ''' + Replaces an existing entity or inserts a new entity if it does not + exist in the table. Because this operation can insert or update an + entity, it is also known as an "upsert" operation. + + table_name: Table name. + partition_key: PartitionKey of the entity. + row_key: RowKey of the entity. + entity: + Required. The entity object to insert. Could be a dict format or + entity object. + content_type: Required. Must be set to application/atom+xml + ''' + _validate_not_none('table_name', table_name) + _validate_not_none('partition_key', partition_key) + _validate_not_none('row_key', row_key) + _validate_not_none('entity', entity) + _validate_not_none('content_type', content_type) + request = HTTPRequest() + request.method = 'PUT' + request.host = self._get_host() + request.path = '/' + \ + _str(table_name) + '(PartitionKey=\'' + \ + _str(partition_key) + '\',RowKey=\'' + _str(row_key) + '\')' + request.headers = [('Content-Type', _str_or_none(content_type))] + request.body = _get_request_body(_convert_entity_to_xml(entity)) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_table_header(request) + response = self._perform_request(request) + + return _parse_response_for_dict_filter(response, filter=['etag']) + + def insert_or_merge_entity(self, table_name, partition_key, row_key, + entity, content_type='application/atom+xml'): + ''' + Merges an existing entity or inserts a new entity if it does not exist + in the table. Because this operation can insert or update an entity, + it is also known as an "upsert" operation. + + table_name: Table name. + partition_key: PartitionKey of the entity. + row_key: RowKey of the entity. + entity: + Required. The entity object to insert. Could be a dict format or + entity object. + content_type: Required. Must be set to application/atom+xml + ''' + _validate_not_none('table_name', table_name) + _validate_not_none('partition_key', partition_key) + _validate_not_none('row_key', row_key) + _validate_not_none('entity', entity) + _validate_not_none('content_type', content_type) + request = HTTPRequest() + request.method = 'MERGE' + request.host = self._get_host() + request.path = '/' + \ + _str(table_name) + '(PartitionKey=\'' + \ + _str(partition_key) + '\',RowKey=\'' + _str(row_key) + '\')' + request.headers = [('Content-Type', _str_or_none(content_type))] + request.body = _get_request_body(_convert_entity_to_xml(entity)) + request.path, request.query = _update_request_uri_query_local_storage( + request, self.use_local_storage) + request.headers = _update_storage_table_header(request) + response = self._perform_request(request) + + return _parse_response_for_dict_filter(response, filter=['etag']) + + def _perform_request_worker(self, request): + auth = _sign_storage_table_request(request, + self.account_name, + self.account_key) + request.headers.append(('Authorization', auth)) + return self._httpclient.perform_request(request) diff --git a/requirements/apache-libcloud-0.15.1.tar.gz b/requirements/apache-libcloud-0.15.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..93a6d25ce5b097d339bdf24d6f53d92f15380c52 GIT binary patch literal 725883 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%0AQ_ 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ˊ`oQ^Q7#FGbcK`s_t1xM1mEbBx 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≷+$rh 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[r)iz0SV>jFDjz=42RRhs|o4eX->S9)Exje)5S_u)ijN?sxao{6YRni z<i?tFk*9^dR;yX;4<^FPSht2W1J5@h&HSvT*g;;tKo5DHT$s7K<-K}|%5iW)4|_~g zkL%^Mw*LEun79Pu_BGF2A<+TbJ5(n=@?oiF@lU*O14QPyb#Tj(vC5Y&Iri%4+U}F^ z=QZCOt%OQ~A;)Vi6eAP<h!#EM-GmV>kuBt0r6K39BO^)uJW`;S_bVq(N8y*?5l>Eb zITB@uPF}pU_eUXdpHiMPrYYLAJPhemC+8XwHDB6ToFJ5?bOn_Hre3d!dZTj8o*$lk zxN`n((g@B?S}av0`37@%r)J_%nhh@rJD-b#-nOx)?b6lVQ#~bt5oRu`s_m-AXJq#u z#iyh`YADr4t9nwe)*9(OW9T#!frb~DrYP!Zy$%0qwUzd1LpxQQr!{LhJRMr~7JS$? zvW-li?=Rzo0&LK#O(3YgBsqN?ZdQ_p)<8)jsR_sBcFRl{d&SK7+NzoHTdSr*{Nrn; zjvxJO+n*3kMO7=RQc=~OqMSCAQ>Fe7IU^h|?Y97qdRjaAhn&2eF<_Put=pz<%;z(^ zznEKbgZkbgX}!?}OJ*L!(66t4ytux-tkfHgm0abR8p%(KOJ1~fd*{6l#tC1&CokPD z<<$VI831oUgLyj2n+H#NK8aHZ^H)Jp4hJ_xF*Lj$OH?Uq7FMS8Lx9S@U7}D2W~*t` z47D<-53EXE88#~?{gYuuX&Ftmp|nqGZ4>k@1-2yn5h0nj)U}|~^6Xr!A<g%k+>$k8 ztcQsh%xq#slVy;$bizGB=#9Z6Myt8<C*aS=ltlD4U1OQp#Ni&B1vRa}$Y2O|L#;ok z^jo!NrEc~cm6JxTQK=8Kx~gi;6Sd!1VG=S=K||Tl9N@V~;y+w%PRi29PrFVH(|${- zVT9>jh+cXcOcySuIaxI`%ks1;(hpLjs)&-Soa9Tca+GWu(}XLc)G+0(XIW{#wIo5Q z$$p}lRhH!b5#;?DWBF~dK_RX{LqE+_ghn_Kv=vtQsrggEV8-Uc%UDalPptqHWX6@% z)C_KX%3b+y_QZ6aT?q{Hw$#1Tq%ZBJRQyq^mzIM_GWtkem7dzh`ZbF7kIaB#R$l<9 zcB-n`0kIM@2#3{}$=cJmdOv-X9ha<V0_K^rNzPh1HH?l|9|s{dV9#r`6{XVdH?bUz zrNCCJo>W@3`mk1O7)GmK%Z@H9IP)n~YiwyBtUdEdP;oX_HJ32GS(5VSO41hspD|<K z9u({#>rZPATf@F(RoVkfMKh;eX}4QOr9ZUVR=wX>m7%qrstq55O!%Kx%!D6a1n*zG zkhU8v{7jbA6igXQU0(me`hrzbkq+XD$HbE`pr|6mLAvtS17WN^11t3@Eo+;&w>J}K zvP%N1Bzo3ANOvIJnV`We5W9`^^=D$~(lDM3dt~(Okv)IWe+TJ0tcW#NM2w?n<g94? zeh}*1LLK8J0phcBx!O0uD51|-9ukZH2!k=Pn$+c0_ZNKh@$Tv;`LG_=*de%CIFrvm z^ltZmDR3xL!KGMduTLY))Eh1rlcS(dGBoc&cfx9*-k%h3g8TSTPn9h=bib$7=n)U( z`{yEwiZMWm^$1^LWOM*#A|!$u{gFTh^@}A?u`CdoI}Pug;KXo`Fhw-SH~j-6E5JfH zcFlhBtp3T_kx{^Sn5puGDMrvy$9C9E>zhm3AMIMD1jskmv-*EGYX8C-nX)*Yd4FM# z%vY|7x)=;BS5V7}$BvQ2?KUZC&nduUdb1b+LLT@<#5^A0)$K-@5Xl{nH|))wrjB1W z2{Ha>-s0n%{QL8p59inNYBMOxyuZuR32DJu)i8$Dpmstmj>=ED90o?T;fo7^V16e< zhdyLU2%|cmNEU`+k*v)msLec;Wa&R75XM<?g;EX6XcP1%H0}#^spT1#Ph7O~{?L|I zXK!hlJAO-;SkLs+%&zwwJ&0XiKdGM#PrxqM>KfYRZMD+w*H0>HO;u0o^`@e<`*Okt zNL|pxQxT=o0kzF5$>_O?1SMg`8nMm{2P#JNXC_@4fZ((?@J3+o2&nPU2L}D<^i%5` z;rC@9G`lqxvMZ@_Z6;pTcFe0#Az8AcV)C>gI+7HDVjh8Oqi>O{yMMF#($AJ*N@^@& zu4U>RNCEqO?gYFKilrv9KPU+s8%8h-4=J;-H#6`$QxIZJSdp&Dbb6B~JPBvj5~0sC zT3M^}Jy}igqy%D0O-!mM5^W?8Xl_-KQV7ovtW@}J0VBjE&TyuQUyT(e6fFeZHqmcJ z*`Ib+6v1NvGP#B52pRo8qd|qaeS}0MnVO84mK-%e1%yx-v{NZPbc7I)u_+?}i-Y|1 zBeQcwkIs@U25&}ca;hZ}0P%WdG6OO<-rNO0e}7HG0CV3?7aE29_tOP9X{=e_H>Rev zX06$1fc?}SG_{JV4o@oDpjNAB?V71JYSv&-GrZjcJ?TFhgU^epysRiSdEvHBp<e_L zUo60o!8{0O9nPGw=wWU6WtOV7stWv{N`vZ~?PD4}a;%zlqiq={6~nMvl{%P_6{D`1 zmBw&bZz<YP8>*ZN!S_7#XD1WjsHoE=z;h#o82Dc))}0NV9Rzk*CSp2OWLemd0Thnt z1>1;@(}M-O5J~br30xEPUAiVFBBunR&3qE_&~Z`~zVHHzc1mK%#CfCa*c2ZY69#n8 zs2A!m9^XVJq-wCh=5VdSVulxr;`-PT`ek*Xs5M0yR;=L(tkRQOtI{4SwTdxlwwh*B ztJV8f$jle=U~RLLr#OUviggvGbcy(c5GRqE;r<u^AH;03?<9srEMhR+nP3@$mKv%Z zZcFTqdMR`Bxiv8+bE;&UZ8>{KW~vP5(;RmUAqZShHUN6pyOS<PHYVI+hpq~_cLpP< zqNx(T2Xk|vH(QKo^f6MVuF!94;OlJqsh*Rm!QfMUI&<dEz!`yQG#^Y0D*z!oCVecd zDJ%4!J6>;fH4;cLHB6C0ED7aUk&_C#FVPoEm!lBKVHqBl;b9qOT!zfo9R?HIw@JNT z7OW7wYz_ngzr=KSQrBBEq`ZQhwp2t_?jvZ#98G0@(A38y@zvGb+3H&2DN0*UA@b6n zdI%=IB#8IM>qB}<O`qe~4EaG^-kkmvpA#_Rnq|pn7qhT9gO;Ob4f`~S0RGPv%vPb$ z>Bz}_WR3vMjO&P!l%mry4rzc65EYIiYEz^$GDtERhAcI$l&?=rX*Y8M2q|nrOHKfs zvR3Ok`}&GnT>)*8lFm1JpsPgBcav661~K<UOf2j7F_{7p2jeL+mrSs^31Xl49A|$s zE^b;&cyz`-%d0Plsfm%`Q^TIcELHe|d@hRJ3OX%O=^l`f73xFw%+JV>FrwEa)!t-{ zJOdE^)G}LuUf-b&!a9Q^^#l_UHO$jy^R!kwHLTN<lT&4QI_#eg`ls#Y=}<fE5AgFw z4ZrF)Pc1VgVud5#yDx!1OVVE@HO+GJyRb7p{4HJtcxv}%K`?VV<73ow?{}e|Vgyxz z&noy?s$TRuddwE~6k?~Fj^$2p*@EPxM6%tJBuvF$td~3JbqSqroOuU3k<>zI;YCSQ zruAWuPzY`nf?HCEcoLgE6B52xWPuC|;xEGNUt&~+#hbhKPi@T$bjl0*wsJabpDG~f zt<$!3I#5pswbQ<O+JfI3r|kjFd~w>aPF485ze!1t_X>pF>lU5}drZ>J`4UAG?a+>E zdu~cN-#(__flnQ`ioaF=<=B(3GVs1J?HLKq&<Su|$Lu3s&Um~EAKUH#f0~Q&_(h+& z1`^D%2L3`MaV*$iiYzY~ERQNozga9T5t3vweR0VVWEc5|PzhCt)!CAaL?Y2!N3Wi= zPF3a90G-)7J<(2^4V1Iy$?4EKwVJ1G^|U=at(~0K2KY-O^+8u$)XE;;H=$RBbKuTr z+*|x_SlAe$8xS`taAV;0%r-`6*=Oj_CvwclOWDoY^!ZjR+au%7gfkRIjN0LN5xz!% z?^m@)qj-A1oG}bnIIa?7lB8U~tnO%0J5D@aWM<71{G{=&DH8%<(2c|l7|IWMNqg0A zKXjbFF%$Wl*joV}7qI*fuhFx-MrUz401_{>14f}kLau97@BihatdAd3W`l*SPfH2! zSNJ|e9UkWJb>=X2J`!g!QrCoazM9^FVu-1Wn36&D5v%DE22v!K<K=`jxuuA{LV(ry zuxU0t(@?}otDIPd+G^J;+OVxw>P>S{X%9}+idL`p>*lc4=$n?jT-zZQWrEA{w!mh? zG%>v##)l}?T2;kq%b-$eJl@hUE2dE?ef2@3R%;p+rKz0&eJAxw->4}SrQTQi=Fn)j zjd}*{oS8mVOrM(BW8iHE9<B0lFdUpTO{1coSQ<V)Gb`=-Nvkr{PE14XYpPn0$JnF_ zDV|+9VcCs{Mh6Yed@4^jCa9TbaWxT*%4d!lVTy6*lOh=RFd57M-OXg!(-c7GlxzYE z)YhzGV>-srX6JD*anB?3EFdYz&c@JSjM*YH5^x3Rm<ge{MXuS?Y7(Q;7DPgy>cAMm zqDHqfxr-McNG8_&*_nNgo%iX-NiiGV*Tqt_2WC-bU#92%B$=35%TigYr3LTNX1qH# zJx>N}Kd{XiiHdKr+ZnB%a)+MIiNw1)uUp_`R^|Mz1Vr^Lis@@HgvnA~hD0PIArqe1 z1`Z9#ex9+Pr6q5VFx7g-<ICnxEIT`-5apFsu2y-f%$;^bkET*yI0X}s@u}0Q32;zn z_-~`cN^NQ^T=Da$y?YcWboFrfFN@}#W0A{*j0%g%TW3Uwf^}HoE?n57%{R=75C!Y7 z0)3O?w=5Jq0qZaVwHMfat~0W9XEC2H=6U(iZtk2P?o_OXBZNfX?bB*A>|1nGy*vM< zBVF9ybZ@Ua((Q-d-G|;kC+9b}y`MYx|D0T(cYD(H)lElEJKDI@k1~abx;rvRVz}_c zn7WV7+)XIj%U5S%*~ZRjekxMeL>6Q)NJ{O0e}3^x_wM|Hqe9$A74`{8_fSp>UiL{^ z7VqaZEG>zz^4f7J{{7^I_+>>=)U-%Y)<09asc@=)-eB9`84>D*DDf<PQ9d)AhQR*H z64&SLizNu*{|#wbE;ZkOQ5*LAgTY`}F_lKUQg0|)rQNRAE6t&04Tt8iKIk`6%=4s~ z-v7n4d@b>!D4g&Z57;lM8$wbM_IO$FqM%Cq9u#3mZO;l<-_4vS+XQC#)z(WHO0i4- zAr)nG1eZ%IR%I75&`S|n^nUTG*E61ZSN$-;1x>yG&K|-4=%+;)FZD@QR{bgPQWFHY zp8k-2KickJt~0?saE@_{kCp*Up`@_SDkMWVP+&}_BUa=07(4wZR&1QP*8J>4?_H(s z)to0av!AfGI4QqHH>)x$FIvVow`HmCm@j3C4aS#OgU>x-4dGuMIfhx3DO|$aDxx5l zqUGd^_>gyG_p7(Rc*78AA}Rp`))+Tr5JOmkL3ch|0q|8<@({xDF`R|&3tyTInEI}x zsOp7!Qn`57ZdU5=+O5iuoyKM5MAJ^xdgHQnt~8@1+`d%kbM?yDn7|1YOKwzXAveD! zU8J5oUwceYGcd}#n_Emy+Uwl(%2J`=)0f7tpi7i*s*dBbgf=eA%do0YMCBn2b>}i6 zq)ksKU$h;X`O#jBep<V0({me!`dYNn_x~FvEd=zHr8W;uU>nhPXbctZZo9og*bd4f zx765-Qf-aGz<=tj06PveT1b@SOM_$S{0em=s!ofRBjv9McC9zObi_KQBi1n;v5x78 zbv_;O>eG~mlQFAZ&V}R~<v*!OsT)DX*W7&mH}P`dviAMl>)m;+NnvEH$~=*<lQefE zI=J-V{#s69#QDWV=dRbeq}%czU(=}e+Ge1=zDKlk@C#H^kgJCRmTJO@Cvxf*5v|f` zH0UCkS;FJ!9|i9OQaF_g%TmB(NlsY!Djq4*G=)@Qf##%Gfo@za@*f4m9NQDj-ix#i z9jEYBCL)s)zhLp~P#~LoDv&IpZGjX`Upg_tfQ3t&7FvfBsPFCbhAA?rC4?9ZT}X)s zkpEe@?N%-?-koA@+zXN#_n$D&|18k-xc@AWdaQ(1iH?}D`*2oxZ%h`(NJ20YO|iR} zkrg31^l39D8AZ(fa&x3!9L1On0MZ4=VnY7T<)pFtu6WtG?({l^94aI`+G}ioX<B+W zCV(6sG`gj4Yky9%1Mfbpj5^DZXp$_ddf(~4HZ5;Y=Cp5G=9W=k3+HFuF&l!>F%28O zrEuTwVthqn(q=hai)R~0;RUq}QtOLi3w)Afrflq3CI+_kQfbBWHlIcRH97Bjby~Yx zQvQIuUp(t-V&*1NYrEo=Kj53?m6!Zf$K<CvCO_3N`Kit)Ki#s?81<f~Z{Z=w`NrAd zomq7}v+8(e)$z=#^Jmsq^DO1S@$Jc@zxlBwk2)rK)G^7Uj!7PMKFOo*xWZg;uj%f~ zlAIFou6TG?DBf?(1Nd5umjxp)^N8nkx5o!a^t`{ZDbkyN1`Qsgo8;};-E~dE_}_>S zF=Dhoi6nVBl6I)wydhUmYtTRrauE2g%+uI*l@W!Y1QO=45ZMxOCg%tL_LhWC011r? zC6!o3Mr4o?c_kSkak$RpEweC|xoXE8oH%oR=qx7YmUwt`+tc6Oez>_@&dQ_gw@W_M z3>?OECEvQgAL#YsiFc=|*@&CBKN;XRs~>&*S?O3EOULS1I#$Qhu{vKm_SFt-Iq_UJ z%ffZS5R&D$8QI~ph-G|1<aT99rya4Ak$cmDG(w8jTSRN*7F+&rrLE)5EeV(varUg8 z_~0W0zde6mn0@ev<LG^3rrYL*ZIZZPrCTa{%c55huGhaH&1WO==_cN+hZ{3_trf48 z&bYU*5O%D`{Ui~)J7;=BzVZT-QBGFFT*t0i(BHg7t)NJKtcPmNYA6j=A6k~7*VSfU zZ)+_>R}IA&3^da))zt&TWV!>%`?2s=RX{CGYqZzZKzSw08=NH<cpbrdL&t*JYfTVK zgmIXl^a*M=Uu%Ns;NdI`Z)Uax_e`NI4ZGQ${V|t#cUIUweb8_B;?JkRe^mb(Q=|L2 z1GYa&X=A;e>GBdh=$PO^#{>^LCV0^K1P?ngeK0xA0(eVv+Qe^bH^p6UoIPRhCYH=M z&*-D?C6c~`-2J&y-x{F7A<Z8xY2rK?(tze{AT`YG3Czh8N!B1e8m{!D;Yauc$&&hu zIq8J&&itGY0Gy-?9NH7BD##y!2@(AK5#qEGFf)NL==Q{(>pGjxA24wR{P=;Uu;8oh zET-11C?1D$t5o%YMZttJ;DH>tYAjKQ2Md6h_5gq!g^Fd69v{cj(3weNWRVXDg^LAC z6UmlKC}n)EOzcAnZa_B*D=aFWZ2B-iVyjQ#3JKP;&Wd*6519Mu2-GPXlddLANQxOL z)LN~j%h3>T5V5&;m+nFH)(=TYQuNjmX_MQ-EuNZEQj(T)Os9b@mnCS~b_Ntr5`jY> zrotLee1aD)#q7n%4W-M0(f%3YTB5WjuqyMYgc4l6XY`dQ$*_SrNFr%A3P-WY@x`2_ zpuv=7@mAp#k=~RiLD-a|#xohbCjd0}O+fhfprB@BV>Egp>0&_Zu>>!mo2HmlMj9Ev z+apkqsGFWGiOj5I&m~k?q7gaHRrRSeU5s$xM+f9fHzuY&v;KF1!6sOOhEMu67+J<l zpU&(7x<kp6o5=hKvV78vsqi_bJW@YJQa#aGgHr}*siC9W7y>p=5x7-R7t|>f!VKe6 zj%J3jO<W|cXtEcQyzG=Fsm0FG?`Lpma-qS;KV+_;Cib|rh6Yw<xrY|j<b+&oVB5sm zpTC@%v|CCC52aX_ub;l6`mu4FA#d(<VgTs+*sv$M&P)LJ#f3#<&x;G#Jdms^eq993 z_1)p$djAZP1GWOD$zbFx%!*P~8&&n#`}-KVeay@e@`vtBU1tGnx;lNyIEDiMn)N#Q z*=jb(Per4D!!M1xQu|KTw0cuj>aCXg9emeP8sACEE*P)?%W5V`-?>)*!7-BCL9^j- z36b#6|M^D#eJ@?x15n$RiO<;4mZVvMrLHra!xn8x?=VD+s`%o0_gzVXKVhGM{X;@a z%K@$aJw61V&umcn@X?3@l#GX&WzpCKN$OhEyuG>YU0rk}EJ}t?$Z01S{MnvA0-QNo z#ngHQNQP<JIIw|M@DTSMg2v2xFlHubeHeE7GP55Z=aTb00lVSRo>qx%4P<oRd6>8q zEEyAs{LNV~8aQ$p7s}GF)claZ_5eslY*Juf7E1pqy+G%&@j@QBQ<L3;Y<(G6Q}V_i zm&?dDCa~}MWceciFMeY%oc`Rv2mFK#$r<v^Bx8Q`J@oW~;lO@)etxdf<yv)S562#H z$JfBnn{KB<ForH4CZOM42{#{m2CVJFR!tMJ^#RS1@r?6ECWp*9VDLP%@lFx!N;c^L zg`b>&TOM{mG~WRDWlW^Pc~`pX7Nj4~yI0*Z!1&u$@8{bOJ?U@f_xI;Fy{k@Fy1mCl zsFzp0tJ@p+>z#Cd^PBX`6$S}fHp#1CeVJk&e?-zoK3XPDsV6@k0w^B%H%l@w0J<g* z3(P+L;J_|ALFs_w$k=vWk}eRoV}LTU$M&2h5R4I3J)+URxZQZadK=CWRtS<jtyo>m zZ7}ktFExp^W5>IrNIQ^(G3?`LbGcsAtI3lwvds&a8kZb5<9$%sGIPMKdivJuf6M+3 z@)k;l>wmf;u=BgC4v}AAO#+C%;riWf$T1lIi-!bE83Jq8q@P@~1SwHoARE2@o;50H z;*IAu^%5Jtx4+mEQF~I~(9c@PdI^#qitwqr78ts7zuWCy_x8j6MTZ?-xPuX86Fmv} zR)~jNIgBNLdKR8pJaFkpl_E`6>@|)bLZaVfu<gAr#UCQ1#wt}(DMjy~=_cVH9a#Qw zbN&IA{QcEGI+uZ;W<Glnq&X2-<f%`dW5y-P|5?H#$$1~vJgVI>EOV9(6wV`0s4`}- zGoW$`EjwS-gQU$wdB@h~X(~#hT-P+Qs{Om=>Yn!}EBiw87Ei(&Kwg&m7&EVuWc`sE z3bdeB$}t3*c_l793q4BT%<4N1ov}m$`BdH{d$*b`b@y5+yrYTCN#Qt(ZE>Zn<swS; ztDC#~+n??`-EQVZ5p<FFg+s9wDP~sAWoRs0hQi$@vIIqK@~=WrC-a%}@>ax@p}U%# z3TgeO1vSpDw=1b!-I+u|ox!raduG$XTU<qX3csmZjn6v9YVgFi4*GaLoa%d((n6Vv z=OArbw7e(!v(6|nnZ4H}^|<e)Vt@$_GL}KmBc+S-z_r~joc-baaz-U1rJNHjLJHfW z)oNIV+0ZJ@6Kz<j*VKBY-O?JBLEESg>!w;W+AVn*BvxgB-YLnSsx*wEj2B;b*SEjv z-Ol~5oqJIxdiQZLH$g!4hnX?3hKtc&>a=Jzl^D`%RhNlE`&Lz5PA<M(6^O*)LR?xV zXKw^Lz;-Q3_QCvFL^z3WZ(4Sz&a*Yso#F5;h;D%FI+E){`I88464&0e+=flOc+JTi zrAS5fFG)cgu3lyZK1--INU*eB8%vT*2A1F3%e5SKEXJx+5)JB0fM^xEDc8VJ8T>e* z;UFXyg!HwC(u9<tKZ`%jH2Q|wAGEB>iKQx)dUIe@PRu%1?XLF+gJ!=uP@D3nRIdv$ z2?GI!wpig(QL1XQs@AkB+LKX7WUT&+=W|?M_=N)CjZ59J2D+l3=;Ie-K+4zZydy79 z99J~zkB5`xi9Fx_Q!0uZDy$HLTm3Q~Wh$+ZPDmu6F3#bI;(T+I;B^2!Qf?Uk0PuDR zXdCTe)94R$tyOR6b+c{gCj<DiZ5n;6VYE!es<Vi5IDt+_&WmMkhSYF4#ya@y4~OtY zi#>U`B#7+`n?gwK0k1GfX@GI2vsdR(fXe>JkgBf0me8dM%Y}c2J*zI@H80BlC6_){ zR4&*PwsWr?*5|XxsYG5qJHu+E>TKW$`$=R!hn{!p-#vcb$V(8Ubpdye9vycX_g-ge zvrH^GQoxB~_t<$OGX(cz<*#QCy>%tPQNQ>4AUm$Fs~U3f^cA&4b}V0CVZ?Dw)Ez&b zU+VXr|MQ{K?d?j5Y{R5l1&=+jr<jN4Z}$ArbDF%m!70FLqntX#knbq|J9sFXH2^$4 z{#$LSjaDT7yP>G+A^!Ui|9y!6KE!|TNBsA)0C4V=X4Y77ahUa#m6`Wrk}o@V_nnLL zUgt7+TCIZ}_UqMU=f0a2N>IptNrbqs-o2jp-UsjOnLGc<ngoI8D}zb|!AF2s*>fXS zsXho<51v4>x2fv^VUJnM>}{y{iDhI6_UzCD7k`VGCE7fg&YRm`&%K!QJpCeJ>OOxL zt~Xg9-1zHVCG>iiUPIEWJ@3K|uaEFjj&FeXlpcxR*P#c!1ckFydEuI~+u)3?*<0Zl z<>Cj$utBgFjSH85Kum8wF|HfmcG5dn-I?gdU;r8ir_KRFF|W+rn8Y4_qRR2s6>81& zg&97j#V(lfU$7>N9^6QddAg+}T=S9^Xr~j)c0k^U(pRm~R?(|gP~1hU#Gb@sPJzB< z;kG&k)oIElEQeZAv!uJ{3Z(i-`t?64f8~?_c_vM<7q<9iTJU>lN=R%wOb7Wg{UV&i zx8tCe^jAqKrLLRLf9`ejIks;0dERcECu4glEri1yGFt3GMhoH0ltP(o7;0RC#3$_y zXTe;h7WbRTjJXbB8FQ|QL?K7E%#CCeXEL`DSQ}1uz89H4w<ZRnE#umm_`8N!m7Ip< zN73ibXE;i%>P;mHJ)-N1z@@oIM$RO<sy3n|mO4)<bAB{jE5rxyS!>bh|H~T88CB7D zstNm}n4<&&mmWt>OOGQ5><=fTi9V2_OyaZhklp16{u6J14(0CQ_v%gM7@`SuxX)He z8x+V3{2d0sgT^q)#Am;uhU%w7?w^$0KX`cq2Br=a86)R`tSQhZI&m-R*2J7T_C%Zv zC_^S6JnH!{N-6r9^tZlDp`T^?U0(4F1$zK7zh}l6jBl;cJY9ag%wn!z4xi}>D^cl` zC2`8J)WcJ@LsQ1X67QB-c49Jz&)$(KHhsLBgLYMx$ChY2-$~~C(2k$9V>DD`G2?D$ z<~PMSXJ%$%9JE`HaaYE-#W>r@#yDuV9^=4F`lc8MR+h)OR8xjC56g*$W3oXrVj0{L zjGELr!@g_HS@-4J5_b0`o3KN>^%(c_=Z9~KagU!LGBFO?WoO(W*5Xeb|6z|8XrY7A znK1%nN&JUW*R*K-NBt20aftso#D5&(KXw}b@x6563zViPC(^xT-Wzj6x}KXyTgeU> zj+Y2DtAEuGAN@=};%tMx%dF=aQUSIIeEmduLh`d@&0EVM&W)Oy`5SFA5rRc|=s4ng zZ|Z(p^@Xx9*&AsTPWQ%~U*wzIPmc>~Rjbyj^+G9oKQ-vrC}hlj1Lt{sQ*WCxbZ)oX zwOYN|$dZGnKzdfZE)}p=EB2Ey!3XA*$?t_^XIXA1St{d6BVnFB^3C#0doyEPmQET< zX-PZKw4ckMke0RUgOYo;&G}<lYBiQMCjPmyRMV=Bx{zZmT~vf+^wYHTQt3>it$=II zc*ZLFT`J$`yI^{aT)4FQu**t~sv;GQ&!DBP$>gQXugOBP9w@*DiJ2JSECd@E+02|$ zn(We{i2#mpph8N%z$n+gha;Yi`pNR6WZ?fXaAv_d#+Ui5ql{r~_;G1^isbxoJ4Gxs zun03gZP-ePdFw4<{ql(AN{g17+pK`cV^la*P&idkIFT%8IQSX<rzF}KSI*qPSqGuy z4WL6&AG#ZQhVOyPeh-=J9ZPU)GX;xnb4Z7vZVh+e=0yu~W4MQ)ZVh)jtvZI`JWV$( zEgslyV^56+Z|m1#CF-~mF`z@A{JuHDA{8^T5C8fM&}WMY9)EO_GpQKTY2{e_NkR<C zPIwi@bhDg0xG1;f|3e?a$asOBabxelwB~oJ22!FlYmG*Wy#Hz`2mjx}|99~J9sGYg z^#8^DdYsE|rOF<wJq3$3`!XKQrh^O(C)StwGB2aAzr9Yl(y#G@a77XS<CWq0PeQz> zRX4Yn9lhH-?{)O|=XVKkLo7v<x@a9_@p(p0_}@#@mytc0pQ5Ou>{rI_!&ygZs_I(a z&gBoZy0`Co*XO@=?xPR1eAXls5?SgH^#Lq#f`)7|zf%y+5c{Zfl-N2$*r4C1_(PQT zEx1ARxi?t~O5egkEI>P`p^%Jaen(=VmIHCD-ha5cxw`o&qpx$y^0lL@Q@*bC{^!?4 ze<;Umu7DZ_4f1<ny>Em?>Zgp<g_h?>`RWGL^mz}+ls^fl(SP<7#gl&z6~i^?72s<c z7&?RMt2iRMoz%Szz<@PBqA55f8QLn1v>Ag2RgwX528RXtLw8wQlGr^HR3=N8#t4?0 zRFN*gx|sp$AFAD|yd5uUZs#bW1}uW!ZC7vV&APmEe|Rm2pD#->fkJfc7Bb)OcoKA$ zCWUzIkrg0y?j`#hGXtV7!!&PXX*I>Rl3t6fe5T#v%bv{*dGeXGHAVN0g1;qn{*KQ; z!161I(4r3Cgsm&EB@**Ab8-`IM1@FzMY!2&vXW0Avdp@W<D?E3eY>2U@mDv$o?l;G zUfg#syPf;{+xyIXkD0P7vptT(8{#_2EIo02R8ngJ$J7>Dbs1FE`YL5@`hq;ZIf+|} zeA>XSu@XbEbPG<%2p#92z1l6w!<Y{7{DD<L{DJv~^zD2&au?D@0i>L%&=}f?kZf)v z+l9C-hk<2%$h@4%Jd5Q_JqOc;d!}V-Iy1&+no@6P!wBU`Rg_GP{o8ivk*PyeX0xH> z=jlB|vlC3zOx+y!O#blWhnwC9{Tg=lZcol}Tm1_6&>OsAjvlo|7p__ETYbMq=(ZIf za<TX8zA`CGxZ#%3AE-|a64mj)Zdt-dYw<UV1)X|x3LH@SNuHZ4GK@<bdvEl8FA=$x zaf{fu#9#EVl&Ib_{=zZn(t^&#Jn+y8|L*Gl?iQqfmx=@v|GU@?%|qy!f6%U&LP?Bx z{i&w=Q>OoF&*osG>OYa!e=xuW(VMsA73wWhvoVWg!?%8bQBIV$lloD_pmSD50PtXl z5xlm+6gkttyCdDp9;sjYsu8gX{@RIT<iTfmya@~GfRoUbdBXUBuS!B7&>MJ~zDW4- z2@k?smmE79;Cq#rsEK;U&vMumPo<I8Uq6z`ME(3J!!)zMUSY04V%D6f4XHJ5x?X_| z)P}%sx1q_b@pS(3TBOme)LWb6Ef9Bzp*X~U2;x87M;)w8*xIrNfTYKNXf3r?kH&v! zYV8pJv77jh$`2K3;9xk#skE36D{cJbXcKWE|KI<6hzvPIhI|{5A>`6u*M|$-a$!4U zH~mK6bw&%UGfDnVYKD_dZ*)=W{WufH6+9|~Hd7RvNW_B&il!TMK!j2vBCgqoUR*&+ z(}Xu{UNi=1d#~jk`W)=fPPhB>1=0V@yL2C|(dc$D&(VdZ%Va|>4WQ|QpiLgGZdt>z z6QuZ^8uP(pnFNOrO9t0v2skxjVpOq62aF%Nx&1%qM?vOOAFziUb2Y_4(CCinBzVCc z|4lH%((SZc)$b=$bW7<mAcaD3jYFLfE)iCmql?mwLXMvq1GGRTE)$Uu3<)2hJ|&Vq z0N)v)-A5AJEXL!PDt?mgpp}t1(4pPdl3lYhXvUcbdC`aC-693zXX^#q{XfSjAjh;h z+8-%h=Jwcf7Kn%3R22EE-%w`>)8^x;PPFowztXDX&o2JXU2r>K*-oD9nKSt)Utj%r zaee#YQoro{_~9q{lV^W>kb)unr5U{{XEqb`jLAyzhaWiZmvV~;e-S~{j2CMX6`PIB zajxm}qh5l>!F-UVnt>mDdoSpTPhaIHwZQKPVR>*AW0}_67>%4~9k!DR3fVG8{z_by zFhz~?ncP^x5^%GO!xo>WeT{I8TI!5(?8a9g02RP86jdTL!1NFwg<%8N&cl26p(tN4 zWr8Zkk!a2kc}2lBE!ffr2967qVy2S??vSr9yG-@irap6xeH7b0l|!6GREpkMjDc@J zbbXohNT4YQ@h>=CSToxg`SJ;0fq6Gx5cdw4_oIbtKUsSrwG{O%te1Jxumj5cSAmF* zT})hF44|XUEb+Z1pD_|14Jl(rFOr-%?Xu4`af}iTO1ZZl0E^<U#%N*DFq9Bh%dbLX z>l71!uD{<3g(5orc>f1{15*NjtNzQeCq?fM(<YNz)Cog%y_8Oh?D_gI-8P(D2KbYR z5Se05ui%o9u-ruv$AMNL-x$q3oQCr@PG|NLnhZb*;5eLC!GbV(1@$_@%ZVe0;pWxv zl+x|b_kH*L7we^phX|b;xagfPirj~#(l@Wgr*!+nAK#$SAzZy+ypxbOGVObz$a&T5 z+abAELXtX{S%@EcQx+3<F~!NWh*~G%4DwQ~?6VtBH~uqyWPU=hrZ`rGQ|F=Ox`Ct6 z-b`h5Pd?a_-@ZM$i8H)sf$rs5{tX|VzKt{gpK@(D3-YIl+2?^lY0l9r?>&|88zt89 z#F01v)j+KNXW`BfSM(A~eQOTeFRU~`o1}HI189M_HDq@KYMf|E6LxJumcthPt^(QL z!zH)kq6jZNOfR2j2`y{C>E#fX+P>l11AXBF_PT#jgvYWpq5Tm%0lTfiBH3ThW|j9X zbD5Le!OWf#Nv2@9SDRSzsc<}VocZw#_7*tp(8g8wv2etJV2c-40W1dFnI*{w|1tA$ za|}dCz2FuCzria(vT{zP;8JK~LKfACIc^U2SItMRG&0CDUcr2g&CQD9?9cjiF)z9% zUk>EG@fjwUKqD8Ys4D>pz?DTa#c@E_gzgUK(_*PQcr@)<1RH{gi~=f`(tDGen<P@? zsC3Kgq=XzhrgbJi%TbQZ78Amer7VGl$t=N;@;Tt^;_Lxolt_zQPs5+MhILFgfKIo6 z#;8bS0Y6oO?YToW3<;H>u#1DSc_!8kC3(qKPazCpk8~fggyd0FpE|Bpj6Vp#h&VP% znohi<)iEVQA}W>irhB<eVaTXrwxca&F-PR1rCTQXoZ^>d-Jnt7lOvE7Z&Tvez+y78 zC!a-2Xvyqf;y5_@xQY^|D{ac53HGOU9e2UZyVFBmXp|#=-sfgJa9f71R+IggtmKv0 zcNr~6!y40yi6IQUQm1}|K+I5LC9m>b^!vdBfiKt%(&WaXBGTgp{Phx?3bEP*V5|FX zo9OC^)tiltS@gEAGnqV0!ars5hGj-S#T>TFl%|K#ncO#KGVd295l?~NK8(!rs<qTd zMeEe2mIjq$gh|e1^dd3NxWu1@{E|rlO_*}79AdPj?JDJLsq+gJ2L@4*Suvgf1pXB} zwv*|{^UcMhJu<^p)xt5m1NtCJ)mlfPZ%HXMP`8T-*50y;$+b(vqR00qJI|D?w)E~S zd^kWjdeOj+aqgl&ojF)Txq63S<uW%$DMKaX)udBcEICQ$vdLYl><Q%$LzkGfYg0k- zr#~)oVzFCQ^qA5GEkNp5$EA&hGv()Q#Quuu)6ns#Sc)Nr`^W2{MR%_#QfOv@`C!oi zW@@pBaZ@*e90jGV4l0|$3hM1lK7Mq@)-fDF(9;k_p|*Pz$`U)XoHh6x#j%N;WjwBm zC#1wT*Zk&MmgY6Tc`dPday|@1uPl9($th7H4EXPWH)+{85L2#a#m4`J8M2g-ImfH5 zJzm9OXZ)TwRbr|SuRsp(KSJ+6o(7}LnLjh-|5R(uTBQCDe4-uRe;o3E9$tAIUU}?i z{?GMOc`iw-32N5s^XtWRI5j7Hu<_)XTTY1yC`XfF!bhv7!Gx}P5@15}AoV5pN9jn= zB15`MXkGjvpeSF8%j7gC_7oJ}>`Ycqw5r-{SJkR2mog`~#9V~8U8zy6lREBFv8G9V z8#w>Iw2SnXB(<gW`1$6izwK2f#J2nj^?)*`Kg?B?WJ#_>t_Vq%GD>nol{c57Cy(sX zBH^iNe4>b1U-ZS)^pkBFLeIjQ7z(<Jhb5`*q&PfHF1`7s3KT<2YhvnXKj0^Ll;5E& zBp^U}-c&@Afk%C>F?QT8#+0Xt=@66fAz~dqm#ei}9Y#|X#s9d(?~bcxt^(8H+sIjE z4<$c+OW0+akg3Z5xEyrcaK5U)zrVh}y8swh!G5-W@{S19t>h@7W6;HQPsMYi*oPo* zkpkcn8|2E|O1U4wFgqa!_4#5a6w#5kDP<cLF%daC5jNNtwoXVe#!keH`F$}#*)C*_ z8*ZcI9o*8d=KsY*ehwFKy8pM;((2LtKXr5oAN;=u|L?*7d+`76-v28q@qXk7u25$u zY-OHr)0zV>(J$NS9Wg1mBHwUfD5MkgsnW)*XJ<qfNH6H0(aj7SWd;W_mo}(p&1Tlv zn0=;RWORe#*MVQTEOi(3Nkbm66pF6u4V?#df$G2+ofCh_DgYY*k}G(h3xYXFXpi9l zyl<R(QOJpFC+>6xHJB3W?S5~6u_tS}-?RDOF@;UU1@B8mf+M~hMlyq6J}gubCq2d# z;DH^-C}iyv_3Wcxz8qj4_vOdF%HYwDEDz${5BQbCpA9@;tvGr#@b07XiMnZV#k-*X zG13+kl_%~@O~Pa|%u&3Kjj4V7q*U9-Pv_HV&jS4k@_O9J;R8<~V5tY3p-enU4OQEg z4?IW3?<MZ?c&!o{F|}q>V>Z`hQ3VlN;9F3L1pX8L_{kictvYk&;8@e@5d<dI9L=It zfwJz$EiGC=AX-ZyIlRtx?Fm@HnBHpQYtK?vkq+)1R%8p<Fvn_Lsi|4L?EGwIzoJW! z|AYc-RO;Ud3$}ByFkSS)w$$yZTb4d9En4N}(V)#`70#QgR&BMb&69Ywsm;`=h|g%e zQbm%?L*Ffxv4~?OC}xq4mVZ;=+h9B0#))*vt8U}5Wb$R65YY{N?8{6y^#c3!wRd-a z`9F;-bm7xA&TrYc*1bO}#z5^46s=Y158H!EU1=zlcC%iq)K6OKuz8{m)J9t_2Uf$Y z@AhoF$uOMPGM{1eV9ks2<IEb$rE(HGy)Dli80~(u*{U=L?O~-ps9BZ1)o4{(#z|dk zn0=!@jMqqfGv*3P^_sSd^+hM<%KH~MI?1u`e9PmBtR<-;U0Oq9F`B=UA(66r$f~Kd z2aT4|=r=1?Q|(vk?SWBg8?APw)^916)ofV9rU9#k?Zzp?atxOIT{W!+7+^EWE-!*j zAxkw(9-N(3P+dW@?;$}$u;A`)!9#F&cXto&x^W0D!8Jh85FCPT+@0VS+}$^uy-v<| z9`3_E_vOA!)vTI_nOapn-97*Qb+t7W#TI$T<AAGS9Fagge_vw0p0j(SdQJ6$O?B0% zU(IhJV|h{qeTXDdez@wYv;o8ZO5Z%;)&vMjGwkTRLholXSLSTQIjPgHHEHl;)@6GD zJw29_bdh;7t*ngbHRH!0lD5s{aT5o)ydl%!XGkhh<WxP=BqCjwsg=H6#!WA(O@Odi zVs+Xdi=OnA5?+U+$<LJu)V2sW_w%~j5;~^VRFAjpdt~{&P)7PshD^=taoLwOf#aub zZBzb>4`$-B2YxlYWZCx{9H;%GfVFg!9I<TPcsb|S=oo#OEk&OB65(w2gI{&YWpE?1 zsejA3Dtk=vsG;h{$%{TB74fDJv;Zp|h(lt5Z^ogfb=}WAiS@K`-CNY~d1R@C;h~B$ zq0aRY%JlQ39pTe_!7EG^8caj7W8h|h+MU*)haPiuhcJxHi9{ser}v*HM$L+{SXG0S zO9N8XH9YqHrXwq`>Oc@;VRFLu*f+m%GQzK8FeN6%&<l~5r%F~gNG4Qy`&K$#afgOj zo**5Y!M!;<B+IwQ_s{D<QyI-6U3mAd0mIG6T9dq9ifEe&|D6W?6-Rga&z_miMcr1P z0H39Qjsu$VlKpn^3TpJoO?)HMRKC}qv&Wad2tobUakbmCXj2DEg3gD?xp$Tk_hf_( z?3G5~{ZNK{4l}Cdq7q#qFzaj$*N{g)k9xjEzFU55dFBcP6|Xb5_~Pd5-F8Z+=N)6l zW`=T9n&KKsMe*42UHQ3CN(SmFhRO$zmQ@~Uo*c(X>>;yuy_6LuE95$XDiQ_z@EK+Y zW@Saf5niJ)u>XyirQ_LzNek=G@AaQBnha{@@OyQ&qzx7P`S==J6b0CbvAq;LaiOfm zWmhG4vWd%K-EI>HZsudG3&$21iH-+f&F#;{rFm=86uQcqn4R!o9vY53(f!_Ab~y^G zI)Bmoh1ma~rhFGJgIeu(aE|VxKnh+cHbPPJ5n}{>K1#c$OA(~Le2j;inswVY=pnx^ zHD>U!UwKhJYm3{1Wg#l-m669faMMIBM_XjJHAl}+gKfoQ-!)HvuF-a6Ug_W*3jNK~ zMB3%sGN@y7gD%-#n$)=$+1s}-3|D7Y%qC%4ZV~1}vOb+b^i5w*G4t!gcODSW!CWI< z_LNkC;<B;3ULf1s?bt@^2iqxI$2X_QwbPU0>JJ2!0J?KDl%n%Kt5|WG0pV@^8}t}9 zMQMuPF>IQLD>=tgu32VUn**$;lfD5oyhj43oEHmeGc7{^T_Zi^21ASw+~5doD-v&u z$tI(NaB|~!v%De2;D^Y!Es_B|$Z3V2c&4Xdyxc=UvP0#Cn2XsmpwyS+#+)$hZSI{X z;=J#e9#PZ28cy!t+@k)ZI)ycdc|EJsUq}X~L*cu@tw>p-!j`%xVIjZbljAqOJg)MT zeIh*;Dr937*tWk8LE<hK{k#SGj+Ta<NeEy0^_N^I1kI<$0PY?UgYnEI2!SG=I&@nb zvP%rE+WZGqyI;#a-O51GwIa<#s^P$Ci7@%iG~+XK(?6lFw7($sq%*8q{YL)bTltzw zlt2r^Fv8<*u%Tv?c$cw#C3>?4a%EK>q4LK{;spO{5xZ=!<`%d029?VW%%vsB;JNZ8 z?BR1SDNJWcKZa?2h0LsufuQ&=xoTEl%=fwiPJMJxzv_Vgkl&M*f}lIfH*o<8<FFx8 zLy!Kug3Rtgfjbl|NBP1|I>@YJbZg075V1*0g0bZn5<s~A;Gz#H9%)JsmQzP7gwl>^ z1bWsvBZIfr`fWF5|CKH+aiDc4tw=Jk`eS!GniD!YNutLf&opR+5(R=2v>P+GTv641 z$A(J2E5jbQWq-ZcP9B$75=<7)r*sn#$Z_w?;iCGZknFIrDJyl@@9b6cZ!={u73HgC ze*5P!4PycO;LocDA!S?mTcoMm*ORn^yF8qjN)~4}8He<h=6Out^9=p`8x{^3ibvE% zJ}%&-bN5}Ur8UVZO~+-?JB89#T37017z9vB_Cb%b5m~BT+3@P<BwBdI*V^lTpc)~4 zN0a5Voe)&jxN>1YhVozQQ9+2czdbQ)9<Z2FOFY+(WRxE{1?>qfrwIwDE;CSAf23i4 zyPW<-5f)Jfzb|E-=v>8}hjNpfN2jkrm^;CwPRP76-;H1;*obUg%|fE^fQ#6H_D;<7 zsEC748UAgD<hwig<<5`ShQ$MK!Dz9|YPuedKl%BTRZ*VU52F`T<|=0eTgAV>j@h?6 z?J16Z?NiBuhZr$nDhpfvrYurcaO(S{XeR{zeYAf6Ia7e~zCGqRpX9>USo?%wQdyHw zY?D`+)aCf~&F;tNUGD~Cc@>J6d%cushk%jQlrsxaFMs!Ci*csEm^wTixxDW%-Toux z+flcAzNbU}t9Q#*74l>j&}`F*Hms}9^YQ7FQCeI5&pD%XM5l4ia(x)sJJ==RW%1_` zMQvwzqz^pIE}=|sD%tbSL#a#Y?{MC?ed|}K3jD4oD^|^EUr}gVDBYk{SQzP@-__Fm zjN6XAk2P)C+Co4pB&a;#WgAvpV(NA8)A}fCVr=5=?5U0afry$zCrItD9V^nxHIB!% zt=#8{o*Ua*egBII?h``m+c8)U(X=h?m;fC;38mI(P?O?#*T2-ekwS2b#y7Mqnq}`U z0z~cOp#~)a?xG)^n%^@wo0g5?k(spQy#@9vtQ9COYUv(l_2ZQ)UF3m2$hLjYLFpm1 zUP<Myf6y)htBPwIg~F%fADZqReJo^2Q9G$-RM9=sy|w4Dg4#^mZX<na!ZZt96t+*0 zpZzL`T2*{_2$i+L#H%0ETYx6apvkVHGYf{aIDNTKvr%-!FmUQ}*5mE^WhdEH+w|f; zZr6-FiSxt8VW_30=I5?UI_kt)d4N5+r_ybaWezggywFi#PP7vzH716kH4-^hmzn~Z zB$L<sAAdN%X&g#2wc3nWk%CT@uHKID*>_yIwkpEsJyr_KnPeniwds>942ebcoNZr8 zC!3d;8yTo)nT*>u5Z%o&xRasrxM_5)`H;D6d36RYT|XEf7S`7U+1W;5=^RjiDaf}7 z6EbvVpG?{b{rDGH(6Hsdhut=ESnSd?S&9>#ZsK^871o_TMHmk=oP91#?OXF_hw4SJ zzt*!oq%<0uRxV7Mmwd;pX{lN=WN_*d4cYqhor?!A#MFf`p#9g))gYbrhY;@2vds`5 zMw_hh=gOFmK12<ELdw~kCfXk&M*P!AG)+s*k(j=tFQq2H7PVB^S-q|Ft;DSB2;Q$m zR;DYjIERzX4+??jK$Kp*_!sL$jhejkke4=Dy5bHJpFpD^bF9O~tZpMBSxeEIqHb-! z6~l!uKmBm(11y)zxo`Q}4)ND={4<P?PT$U-Eg=Od*Dk1>_;=MV-UoLe#Z>geihkKS z%`fNV(qm$Dm?3?2uBhal)No+yTKEM2?C9Y7UY%IkZvM++?&SAbEdxUvIUAuCFwSkZ z7~gUG*S<|Qx`G1~I?a{$)>d8tu0AcV(K10~4txT#!8++Kl6!&fiz$M2tq|#zAfpN8 z4?eNiV?hRm+`6Pvb_$iE-1x{T8<eXA*_Tg5pccv}33jJb(vi)CNwTJ@yumMK$C9>- zt;+Lbhc2|_*1&;4=bER#HmiC#VhR0S6r0;9t90zm4=sgHDHE-A@kGn{q*C_n7y*2y zge8Ru*<bg6XEm#EE&P6Qw=;-6sxFA*3)|315;^|lKkD-kSj@RQ+^ymvvu@&++U6r4 zATrJBG1jf(<$d?iH_O_-K2Bi#6pNAIB|9cghyJuf2fJulOKZLK;Ipv1oS1k&*ZFgT zRtv3ji1Ju_O74N6X$L;%?+P=45yQOJN0VI*f6EM&f2^G}ChN1f6>E0Rws^)?C8X2% zkBYKmQuPbpoO4*k<$URnN`W~VG_(rJrqGd@+fb;vMNoEFVuR9GIGSgYhh6t_imAD} zIhdr5Wp{<|fb+?3@i%axbDMiR2G7a=c;Jn~tg@c1^ZY13@K&O8Khwm|!;GvRUd<A{ z{P+sh3FIuy+&#T$Ti<iPaOgTeVzUxA9(wAXl!7rhQ6L<{VJ<PB6=iAP6j<k^)Y&cS zn{$swyqj~wSK0%+qT0bA&YZ;ccRV1012C2tgq}9tHT{CReOQ~Ut%^q1Yp-g`!^==n zfP*~OW-KKkiFQU|#;ZZ(V<nYYX(QP{kX!X4K>&HFPj7A9kGWZ&XprHHEZUfE=jtrp zk1D>Zlln(~Wv=mex)k#?S+|44+T|Q8!#zeNlm7Y8FT5ms<;AmLJn0%1gIz)G`4eUB z%2tCDpR4?`ivLjqip^{Ozv;+}2o#MIWH+nFd2$hdyrMjWEEF&E1_x-x-)j7aj{H5> zpT3umR)8CIYGZNsk%uj7!*pW11RIf&2$MVRTdPlX>YrxTH?IdRK3=oEq~9{ER@u)H z!gtX~LbyRq#;9+JM|WBN;gLy~341r;DB_ujxliGzfQLQ!sQm7Uv*_VAsar?k)p=&I zUV_gdRsRbeS;2!w-as4v{}KdV^|XbDPuzs`&`13vBU?_DhOmMV{tmjlkD4zGk4k$l z5w-XJ*(Q}!6hiKwO2AtrW8U~bY~=q<4@jdV6zvl6<s(TcEDm9fnui|}axmgM<VTYx zc|iKnw_qhJn!GV+?*EI8?CBQZ;kVGy-W3Yolt1JL%Y%(JLcCm7SVh@JFT&(jM`Xtb znC|z6C3`@*$iplFc9<c*M*H8SJqUd=qf=J<T(<b-%e<~+NCB#vT#h-llyhFi33fa( zvc~$?PSdWgBa~VWT2&Su0*`>bFpQt_KgrgP6RFR$c78sf?-4oq?=G30SvceusUg4K z=g<|Zgh+9>{njpy6ix>3P>2(=kN(r=p?<u=I`I#xJ@WXCmW-R3XHddJ`D|i&NtRP2 zk4F%C0sde`hM<ZleO3L77w&EU<-_Uumf#Yrlm3+}wmfxf)7K<iOQNl?I|r*J1=W?I zh9+}G@nAmKE^GEmUC=dhL8{#ac_2Z#WjDomymbXm0zK%r0075w0z09|AMfeM87FLR zLZa8yhFKf`796#fj;{|*bZFJvK|5oU|A72HUS5l7(yfn9m^yW+KvRTRRYzlrX1a&A z^KHu5P^ZtK?h?g?;LYqJA%Vi}Hw7lkls)w~Eq4~=o$OQJ?&PzIjg%nw+O6eV>n7gq z?u>q=xjG+th0!_en`w{P?fdtK2hrmVl5iZ^Z8<cQMU+@H^AnlvBP$l&X{Qy;_ZD7m z3w>2I;3_Ly=CDgA8MzTr{P$6A{`v+5xT&-(!zok5qs*JdTaQ54;J2FcUV;Tx;HHMN z(x!NZ+%wjLO2g1qOf;nTiw3lR!<zldGW78~F<%F*x|3J6wNqmGmMa$j@G0)x=*|WP zZ{m|h{jy-nlF@XZg{5{WbzcKz=zp)H(081krO9unEDn_1Lg1ITiYou6jlLxmu!-tR zE3R*}@A7T7&q+<6#{136VRlz2d!GHMs8mS5KQ&&frfzctRkoc<b1HsD%fXAE&vIAx zui#*?-}shuwUh4awk2@s6|<B6sOf7D`x8~%iM=wZMG+MARhhuRP2gi{squn?m!Ier zo1#^<^>-~>yYhW{Dn$XE`lBtM;LfgdX(>@oQ{E93#d%^UdQmMDdqhEqpzc6oP)~Y2 zO(Cgu#`lVA1-Wtrd__Nn?pP*dnra`=%i0=Meu|vkp{fB3!#1rufkMw{p&=h`ZflmW zzBDVhheD@l_rXZi@Dv(JUnZG$OSpsCmJ5oZMVkw@u7iXNioS!03%21_)+Sb8w|ysB zo<O6eB#KACqPN;XOC0+5Gj<K<hehekrR#wB%k94ND;Km!kfx8t<gF20*%n~`j!<m& z1#Hk5{2LHl2goh}j7QK`-)kYrQP#5@H14(3Re#XiWjr+A&)VuA99gFAa!aUHYhTf= zQAQ$ER5O43>uRx`{SM<tgkf$K9G-blORo4FQ!p=K+f!T!I}B?_n!MJ+PH3xNEMUa2 zT03plZ}6q2V%Q-Y^mXHn8JLvcz=FOmn$m0*gZ%vK{+PYp?V|yeP3iAmhx7K%c*>n} z>~E6eyCQ3E{Ki8xJ@>vza0>M)#;%Lo>IDvTWc7Q|%S<%M;B%~WE-5YkH606zo6#pL zXN}ONwjU5g%2!<ZNKY_3Y6k#kUG|1+BQ1=bV3Xj;Uys6=@-APhc~(Ut=A9|+H<d%s zR8)^U{jI9spAe23rc!y5!(M8{Q+Y89KB}qsSSa%TGSI9sa7@?pSw5~#>&H3lT3<PH z(<eYCAak=(9lgb&Y3~@{qQy1231_V8Fx03+g{F#aJLX{=DusVz%a?EsGjcDi*Y(f5 z4lFQh?JSx`h3`$-pdLfbC!6!xe=hjYogh|jXN$vsxuC8ltzaBGLw!LLkxRMB?Pu5{ znHe$qnQqKqz?rJa!a*bBx;yo}fU$yeSGX(0q%bE07;mmY!Cq|i=Os><-XhuCtDk+@ zlnXKBPLQdk@rmq0f*~P@>pT$4VS3oM&QQ5L4-Zf5)}_kStXOfmG&MqG=+qVXA#}gh z%_41v_Y~Be;@JjqSfx|-?Xp^BGU$s5Sg{sK64^UX;8Ei?8mOWo2?&q5!Urf>DU6BW z>ift(K0hBpJys&spaE~PQ<vxEwtAj~-vY!_6MY8}GD){sz@)_N&=&_v1s<La$sfdT zrhRfd*AZ?)bp0FFcO&UJ?tQyc^aaS@W3YvL%M^pTSbk%&Pc7pyIv`97pju_nU4Hz+ zy)`E&C`ZKE7-F7A^Y&-$-)y3*#j>QjP|ASMPY-)VP+`&=$_~AF1p$%92{nqKd}U*F zgJn-^+&73X?>5#j*#FE3@`Kty`jV}=^UqQgeW>hTABtD#P{!SOcY4C!eV|VhK<^9R zW#Qlr<@zfqT=X#T3w%@Ap7fO=Dfh2NbqZO09icgA-x$@;z3M@^cqnuNB>~%j==<xt z=yg2Lx^n@SqFjbHt6Te@KSRb=MvPGNGo_9Y)!NB5WM>Sf{7j>k(Y|}XX>*}i2bA3F z%80|3B(D)tNq()gVGHs{{XIaZlDbX8)CC@!5N4}OAY3B_GCp@!WC2RA80X}iO1xoc z>Qp$ZcDj2(T9vi<ur`0&s<2;~>KgsBg<wsCzK3vxuk8us{&Dpk9Rx)NG<WTXbQihQ zyyRfD(=aS1_l03^zC@#$CEvijH9#jCiNt-gY7el~a}GeIz}b1E85e+w{xL>EDQ3N` zVtji|(b+Tp;R%`H-_!5;70`D|vF>8Paw~}k)SA5__PjNbMx245#g1?TwKWESm_^f) zGVsO(g!&P(HFpnQOyOEL*@9TYI25V|7D2g7TaO6te^HojmmP!LV3=0gN>?B}VJj#I zr|=aJcO2eOFJJQMC>p$UpCMlH1;02y&i@T+Y<v+#7JSiq>Ap)}c>6Q_LiHb4&I>az zG7~10b(!#R>8f`r{-v?$vY72<L{RRcNbTh*YA!r}V^KsW3{%MxtlVvtUPN}Do8d!Q z8RK`>dcE}OJp|`^?X6<_BfJNcju~$AuQLxAyyfz;r7Ma%ovZa01<Y<{wiPwjb5x6s zTiP{710S}!GfPqTH%6}c(>n&@WtVBDULY|Bp%tIudu9&+w6N**y(&I~DdQx<02Z#= zkFe<{AaA6eQ}@=XeZMI&4t>IKnajAN<m#{3Uruk-e0VH>YQC%UR!wW2>Ff&L#UKlr zSEv*Ns;FMc0A;Vlg7uQB1wq9m=4)d~8ZSmH5+pO}-OG#kM&HwiK;v+wAMd{t?}T_! zC5XnpLnswYgoz!Qh*Fj&0M``VHrL&J&zFL~Yb=21?y<^OidwE`fNKu~ALpxIdgs0i z9zQbW{&Hl{f(*{S%V?rIHbr=6b_b*$724hb)W;ya7m!Kv{vE7v1!Vf}6}ba9xx?H% z@UOtU=vQ|pi#PYjrs;m(FktRK>)nqiw&Hc<pEzuQL&VTo(MEv#<^K#o%P1%nF5CcE z=OQbTg0X}p-vJt0EdVI{rf|+G79Vx+VBW_YA1Y*B{4TtbiiQ9$WB<KtXej>ptdS{? z$EUm=jqT<PYy$r(>%Nu}IUxX{j_tv2Jp6oHAK1N~4`~^=brQI*I*H+?wK4GInlmA> z*LCH#_UwW)dzp?cL+qY^1J@)~+EqzSbCD^&-v2c?9I(ZmVuUg=3Ed0T)FQ8)|9G67 z7z5TH0OHPkf6Ql{kcL}Pb>(G1n*8I7=o-My*SLR|gbBBCgVSRHK@OuWg@R~JtnQ}I zKqPCjT7o7<mjb&6-zEvV#SLnhsux4Xr%p2jej84Amz*iNr1W=XTF9Bbr?i42E4rDE zg4eqW{?y^DKVxYW;s!s2s56Y{D|BKzfJhHP*F+*DG5caR*b%C7xKalnI9VjZOZ4wc zNPQ@t<J-VP{rnv2gntu)0i@;G9`6+ZJIG#Sk(B~q`LPS4I{;oZb^twC5`i2*dzD%G zdexNIM3H`Msw2(?(@m$70aT@cmA!7!MOz$GnPI%EZ$tUtebjivdED$sh&~&C(;p%0 zQItq@Ptl=|?dYI}m<C682R|YA*<$Q++pdtye*A3eqm)SXt5+)avNfo}iA~io1m^VO z|K^ky&Xf{pEoNi|9(8I#Sa2#4AyF|=vGD$iO2RM>>{r!qxF+IqMX69#=5e4sW%`lq z7d+Xp_dlr12L9`Iv1uVEcL~4iGr#h7T<R}|2erbdB@SNFijsw)Y3w(ht+pB1oo$i7 zs!h`j%aHh!*XYK`?vnHDH%{>VEzJ@;#;M{PY^PA%vqVYO*`Z}yDhzdBA1*pjgV(8b zPydc*cK=l&mXjYmR}^X^ayAwgxe)5Mdi5}eJen&6_3$K%KP()ZBDp~bv?8BD&M`0& zQ{}kLA)7WJ9!tRz6T2CtY7`+AHhf3V*T+Ddu|_-c#sHTe+Jw9eTcqB9eUumtsNd`Q zb`Kjb0A-TQnbu3EZyq3((sS@dUWj1@bk6NQ>*&IP{tnIXOz+IUd!brd=Y?ZJ+(@xh zaVvS!-yOUOi9FtF2;Zwk{AQW}gXf?>GX2-%7+A}KCb@@*eKtvL?g}dih($23bLySz z+Wy4uuf!X{!D0BB>qV9QRhJIN{6N7e4Rj9NfJKlY<s=b1_(vI(TJ%FL8?lNeH^k9b z+e@#1Tca<7@Iw0L<80MipGFwgvnLk94j2uu<uX1nr+;8cAJdX{r3%D5+U4GfQ=9`= zZ;K^=U{~`72;dYn00LZmpq}a#q%yTt!ow%~pwZQ>U$w%o==EaL?QPm;bntWcjM;Mj z!vn54V^V-oew%y6VVU!KP6m)FvTtvh7X!R`vqdNB+r3#-JM|KmNZb^Wv7CBxPjJdM z85d4|T}rM<l8A;}_O6@yHHjAZS^TP92QbRNB(W-f0UpoJM3wcJnanCnLw=;bVYfp5 z;Gepl_9x@b=Lw7^YRJ+NTZr|SB2NH0^+hyYHw&14m<6935zGN~-(b-{?nGIC0On2* zf@gS+d)i8dtC~c{{aMi*lL*-0dr0eFVcCHFp_YDWW)a<~I?`9&WvKQtfLff>1TYHy zvx%j5g>^5k2}gqMhE_R}WRvihn+{?V#cM4_F~ax1I!P@Qs@L{!DWl2=LbH-l>p8wi zwnajLA@451`D+_UX)%so5Wpd?oeeB;>w(S?bb_(8{9!EBqfk?!G$8jg@N62|9fwn2 znIL>enJg{ZBo~Z#!&*m?>N&hOI?^I!=l5h@N?1?MCr2%JV|J3o=Wj7dkK?Ta{csFk z$I>eU#;d+{198tFrx;k97%EM6;fT8J2;7_Y#JuT(dt?SM>B}@@{chtMNKdoZRub;3 z*f&tMAg0yUS(pxjOP`K96ZA>PM>s}UjpX9X=Vr3Y;lk-!BygS)hRD6DVe}zIcptl` zQqWFyE{gdRJLW-mg=ItmzZCqTAS`CYBMF0=l>Wi}m5-N<iy|_UIuc!u^r87^;_54V zq{7*i{#b6xe(ZB?1XR}^EArPbn7QNfzmCdRl%wsh<@T_1upE~g;D*G2$vm*q2Jno{ zUxyEO<*8Q|<&tYBSC*uc>xz0P1;#<;6W{rOdy*qm9+Laa_j_0az7$Erw1`L~#*xTK zOqSTNqsFg+WwwuPTt!NNW~mlTSKS6CO7a{bB9z@p8=Yo#lOn{PIw<*JPa%d^AXeZK zMb-@jDilr(9wOX%ZrBaaPP6@y62VF{`Eiklv`|;*B5-BJA5yMwmbna6O85iibuXrc zQLsY;voi9m8dQ4EUL^@?Kg2Zj>G?;tjn9~Wel7-8c7M73gsIW+EZ6>hUv}E|hEOy? zzU$!hW5WKCC=Hxz=#wZVGb#kRYTyBsy9P+Vh0_f6x}It0UfY!`GEL%65WY|;%%WBP zAc0Mcp>VNSYBw?=%rOh&=46YYa7+R+vR*;eONH$)yE`LSrWcAGfEI`@g)`C64mk%= z-vVotfM|E85ctg0<N-8{Pw(J<LV=+&H9ca^Yi!Z}_s^8iABwxfo1GZkPXZFER^2S> zo6~xyEXAP7rMF6Jb1_`lmMA|Sff0*5m~<Xo%q)O23tD$o*d!~UAS=<$?^>Qu8rIc) z#T*tNLfqnX&ZL%$+tZw3Kv9lI&Qa;zpK%O0aQzfvUeQrE=th7O)9w0zYmhhPcW}gV z_sL^Ic$s^ugR`dg$we#W&yNZ`&f=l0Sxc%d3sQTwJBo-1RxcPwrTlYkEGz8Pejj8s zU<w&mis)qYvFf?qZqtk1lPEQ7dbBv+3c>lU@>)0xWE=yYz2kSFrX*VkP+bC8kht2z zOpEC6LGm`wTP><UrpG;SyKU;amoi~*nTqtQAo1cBe~7n$?6p=IussxAs{s^?!eG-! zkmeas3X&Q#AT2@#NSj!}fLb{ichoiXsE`?^O&y~63Lr8u0e%^P{n`WI`@^yWKq&e2 z8CVt-KvRJqOx7kPGbJ-AFhZ!A6#kI}>iE<qwD>C#bJjy7FwjrvH&pok&S8ckuw5ca z?CI!kr^MUS-OFtic<tYRE=Sv`@U}Eqx@8x6s6`siTpb<M?mQjeeasxz6)g`CxO5!0 zBQ6h4zDP=e+wwc_{mY}BHbt(RO97g2yaNSLB=%9mgUt=WrdUWP(PCDRU&B-^!su4F zA<T?ITR5_v%clu`Zhub0u7C4KeLfR6K?G_T*~E{UXzS@J0b>vNDv3Oo1OpjGr)xIE zS5as9yVljznXM2h3=}qxswPj{D%;u-3r!TAsr)0Kj|a;D^Ao6fW?BJKSUQ3VtF2&# zc?dp$@Uo$U&--u`ShCrZ3(w`_{kunB)t^!$(AA=00^+a!fj8TS;!2Yf#V_K(P5*Vs z(+C>#_e;6E$-({6=lxN*>9<!Y<%i+7{kOE5*Qk1`%+=2)Oevup3IfLPubH3WGA{rG zI(uMWA9`554s;2<2^hUI<wUl!hZZu@?}IBEUbj3_fiG#g0cn}F&R<ed*_DC)ZBe`_ z5Do;4LVEx_=j@5%yiBXWqLD@S@&9tYaMYGgf#|$}TgPQ!E3w7)1+42>7RJir-fKmd zob%J$(ZF@@$g=jwWc=|5ZZKJM18(xo%5Xb6de+p2V@t?K7+44}odY<WfRvS2)d^U? zh@leDSXn>yWa<qAlR->vVrsK4A+ob!DOZl)0k3CZ><ns~dj#rz5*<P}A%7Kw9973T zXsg0Eiotx;EuObpgJ18neM;cbSx<q=5hj2_`o9g>E@1Sw)~bZy;#ug0rRe}1F68yp zF4rOOC*S5o(M~&uLDyRyF_b_Y=jurV>tB@Wta{Xh<(kvEzWZwR`}=-EnNK&j?3LQ% z-Pa&83OMoM#{-1+Xj!?%zyfgWna<%LnXmE%wtb!{xim6C>0UlM!@<$~J`=OsuAgS> zqwUM|!$@5O{_%+GgrJ4-OJfi+?90E@^^yoJ&F{IPSnA3h-(_6N5M}vH+V}A9(C$W$ z&M`=5JLeJ#4kygcUU#8OnOzglzw8@+*$P5<5rphk65*LA0z?$Kwr{?cp=D(tlPMOK zB3X*pwn1a6B>6fu%ip&M^pq?ZetNYW!IJOqRWpPZI)#WT{_R)Uo6VU!W}5^M6HF6< zxAIz}FjIVlQo0JRZGaUxMS2$f09S(TxuLd|q!5ar{6wU9KT<A0ijiBg%n*9#k<#<b z1<!-%MhQoY<S$mtCH{3JB1UT@8O;cFwiw20=|E$%TlVfySD{{$J-2WQ&3|T&?J@$6 zb|?#Fn_v7Y8-xbN=Or;0$eZ?9)#IZhq_*JV^w#@BYop_-@_d_!FH}F|UF<_u@)E{g zQnOvXH)c@1{O2pE-@ti$c!EDEAdaS&X?2Z@))!T-F3lfGw_%<I68Pn2gZsXLQxMWx zpo}4wW2b>iXLWgB&up5M*3k6(^AoWqKFwt2Y3!&;)x-_mZGx*beM@sFUggaA4od?i zIstZ_YNs!fYsntTAUtKP!)qkldUUdrT*uFC>p_WhPF6-5g`8gu>;{2Bq3R?{VL{gL zE#FgAZOH?v1>EGj^JUl5mO?YXyXd^ARK$kJcg8lWe-HlPcW__rd9fwg@kXfbOfV>5 z2{?MK)z&qEFD~_TtnK3Lc1gdEh)gLq*hMo_jEu^ZDd|e6@IhlIN!&ADYtVKK47IMF zxw5GgWk#GTpJ~6Di7`PC)RV(fBKzd^r9?ZN>8CF?`w_}w9YXzP;#33AAzoE98WSu^ zyO@N%+D`Vdr=szPn6Ja>kSau~RYrjLPpm8K<Z-Oiv-f;4JoG`Vo%20?;}!9lQ&a;% zKbzE?s>nF8yIZ}!1$<+U{$d%!x)b*i|K%5!IXTM%35IF2LaPn*VS3v*qKI$kzF@NX zkPKUYOktpEoiv2+{ZS&R#|h%HoT5i&#gdLmeh5h^WSI%c=1uag<7v?;cGlUzX?=C2 zjysIN1YWE`>^HZ2lokNvr@b58dv$5(g93a<z;+KXL8<eTWD9uDo(sddMY_W=T?_>S z@^5~PI1PjN9%fW0s*d7Bf<i_UMS2LD6P*kl(7mEbWBAFzLK;=FlO39C?&bqqw4Ixu z`{KH7Q#`A-X*Fq_nP1D8QHxPDSd+MxMwF-EYb7+Lru(1iwlw)=!ap^I^n9288^E=d z1}D-9B`~?sa(Ob431qU|5unSRTlChLNPK#$X1*eJ6r)GtuzLmF9X!7NyG#)7E6XjF z#4%Ni1WN;-QQ?Q6x0Nt<3Z3v+YoGDao%PNg7rR)h6UfZPL~r~8Ij<2Or;TFGJ~P;U zXczv*lGac<BIYpvz1h+8uw<*V^(0?CNwbyBlMb=MLQsruXq$fskjD=RyfEzrRQJ=M zre@a^szX3f>bobfs`~O(7zG`|K&I@(GgTGmF$q#1W~KsMJiq7;nDHek4tb&zn*bS4 zDqJ+{T`|?FU54J3fYeTc2=NMcyCh|Mfb<lHr@wnE-(gZ1DlbvEI*nwsS7ZJkcda`( ztQfZ_9tDF<rVST7eui(&x)t$<Upo*`blEQ=RAkS`cAasmQfI&YE6O|bd@|R(lu!@t zgvW!+{NRIN`o><jq*c0<?3{%%3h!O3_BBw92B)|S!cG1Q*uCxf_mBGllG}8_A++e2 zvjEp^?gOFVBMN@PydA@*k2g6OJfAkWej6ePIis{WhM`~_ZXDs;3X(FHsD7G0kdj)K zlX&7+P!yVOY9J^DB6Z<dTY*D5edS9)9||DdgSoE#J>x0p5m-gPJ*B{xmcd!m-n2u1 z3y?C`3Gm6pexdYRnC+;>spIuGH0YVzutG-Y7;T|cc$d*G7!RAj1E0Z?GHH`nfl*cf zrvxZ319Z)#4Ps%6+@d-qAQ5X|8&Til4ovjAwRG=x_gCoabU@xf`9hZC#hgihNP)A; z$4tAAyalr$R>Z)RCypOL{H<ugK4_y9`luY_TR#|o+k8|{%%K45f3hd`E^d#+Z=q7P zNdvz|r=;=T41@CQbrAClXrHimup611%c`nQeA28{5ZqOdiUH~asi9&%3E;;VNZ=JM zHLnz8qO$@6-QE>SKI@Sj;Bm?yJVLhGF9O<a3rkqV4$1T}zCB$n+f%8A3YlaavtV&G zyPJlx@?{>&V{QA;9m)&9$>%X3lGg26(S_sLkVCB`Yj90$b(N(N9m;7A;aK;PNO}-B zv1cT-c=E)iXW5n}gdWC_lK-UrA>T4isFrSTz890zhm+`gkhEiPn^?N~qFP95SYWyH z_ARHogKqF<cF+XT<co%T1rfWRO@3aQB3CqrG(?IRjzg<ZPX?AY0Tz*6WF<L#lc(I- zM6Biy#Ie%ufhn()0NWd|9PIF#LZlD~TyUABxHe^5vO2RJyfdvsuBiQYVVOT~5x#Q2 z79Iot7DGhmfmU5$7^z3%9NhP8ssJFzj!gl4jKHDEqKG!F*Gc9Pq)+6ZS8F{5AVjJ@ z18^C@v;C2%Y0d$YNF|$uf_kDe?pQxN{!EIa1E=)ow>dwIxD*8fGIm$Kj4~Bpd;43o z9^me3S1GGAWfwOrGL7ArGy0sUsIz5T*d}P6K?Ix}m9Vw3PgUwQxdtx`${805i?sq` zH+Gn+%z`w(%_i^rYbt4tE;|j}Gw&b!;Ej&}*^%5KYl+YNJQ?i(^1ovjRs921ug61O zq;xqyyo4veq{XELZAy^Nm8dFTumtu{iIqu9L{U$L{!Q^)>y&sE?R@iP^ofG*9H_lw z{de|zKo8o=A!A>`$LBtOb?!@!g$;}<ykIAt)B8zuq6XJgIba<c6HmS{;Z3lFW4m0H z*yxfc=6u-em^5z{bXMq3WcG@RrIs6e=b`)O$oamFW%U+Hce;eBBL<8Q1B}N{6bHbg z)E)R!!keO_d``7o3t3sIdG!bzSv6VZY+V^74lm!$WL*MGt&&!}!MBw=XhMj3A+Ymo zWb1n4t|Z7K@U^O^@daoJc%@mPFxYZtpetgU0ESq;z7`h8vI6}wA}>JrV&d&QC74G3 zM!@cSLcYB**fEf})8${yx<_3jNKWU)cJ03C8rk4RQB)f<y2|jPBRTqId3MglD}o5p zrKneBp0xS~GlHIjC(^mYE#&zI*4g}aORE9&uioBe#4=vjNghwi9-L5sggBMl;3tNW z{J6FkaJ7T=75B)fkJEGJY5N~eI^lGJ3;Xmi@9%N2pg!wQXG6<dh?(=AxM~cs63LC1 zh1M2`_>bc-%LOvQzR3sUi+BFf%U7N~m#rR~SaMA`Ma!aLIKIlM?nPnsqc8diB{cb> zB0VDbSGmE0`8@*hP#-_uh*jQ!Ro>DD;#u2YnBNevuzq?ZUxl3S@=pWdM};2_OuqtX z@-Pm$c)(?^QBxZ(Fob*;7XKppuiN85&s!VcU~1SU#ap`)l8yGLRkcSM{*{KJ;D7fj zz8-W~^BBllOVe^4_wZZA_;K^v+mB0bBt9N86`TuQzSggS$5dhDBl}<lLEZge^GinU zfJXS+yI42e<A=3gk9A$av-j8L7T4mbl3M90)W-^%@Wz#>a0ru$rHQ#w-%m9N6iP7Q zvILR$eV{fbaSm;tUS&%}W4(GlKr*G^F9GSVy0|7<bb&Cmf3ZTF_6vwKI%Up$UHd5X zSO?SF{l2m^*3H!gBU-L@WCm3-!^3wG@Fm^<1ncNM7MD%&EzR4mP2s;bDH+p&oQrc2 zUBEaXR`|@7ce0(K-p**Fx)(;GV<A%Llp9+F5*1+kBb2~$L^!*zF-sLYEg|-wW?im; z_d5G^eeR(JiMTx{yDlp|eQu17p?H5Gx&#y;$NUzNyh6|?VP~=e(3b^7{rd~6U!c!$ zHIt7_Us_aqG=IMf_Mv!TC?`45FlremeKR5p1n!k*iME{UU=93H$fBx<4R}^0J!hI? zP!plpLZiej7I>4y%4kgMQ$A0hP#AkrKd&|xt>)+R1{p!+0I$Gfa^JtYjgV;C_~&;5 z78+z$9cxR7=vNqHBV6VYP|SEG|58g`_mosK4;(JGTH}G(&EX3i>Fldr@%mj;oIZ^U zof$^a`25*ljpCl{PiGq-lG%woA7IjS6VCDq8ME!12z%^b@fr^!e``el*SF~44TcK= z;n;qveR&#cTYY#7hGv>LJH_GCml5*_N#DmD%1mD@hY+Hjn0zEB72tLQh9lq8sMXtW z3mP!hd<MY_0_G1}@4Ok`CMu8L{oVT>nOx@uDha4T4p^MqsGT8Pn{sS^&+*&K=6%XF z5DP7g2-5ls)7}v+{qrpP&qJv_fdUiVISI}O%*F@DK=!0MU3UM-aKbem-g?*ZhAV@t z@Ko!&kC`F&bHLUNXYD!hHU-)s2(D*Gw8j7R^$N2cO>Ybc*WI&%A{SfX17IRp5)rd` za<E2R*@fFD^=(1YD>UI-d_D|>f=eDwTV3SNnKW_C7|>bkA)Z_iDMet2WVqiQGN;-N z378NVu8TpFm_Yp|G+28Lms0?05&^I~8v>D$AX7IBPeJonvi1h#olzLXrHrGotKteB z@;rw@r5R$GjT56CQU7AE66FFFvUzW%ODc6??WtROYiZ~N)dCe?t=Ner)uNIr!V~w3 z%L`&1Lh*Q0(48sWo1!lO$CU*$EbbiOmjXa9d@Uz;9M{4oa`OO+_*}P>%m;t^*V#vn z%>yE@V&yiNTvUs2X#2vao&o;a{Zx<Aptp(lD+u)oxP#<aqG=-mV-+!L?*xV))6mXe zLc6Kv+ZIwXj!7vyml6!;A)I_ia`5cAc+a@&Z06D^LPXPyFOpvrJhtt?WI~i2;1v0( zQ_`Zxt-h~qIIkEoq1iSL5HFm<HTJ2outC*2uJ<^t0`Dd|W(&6+!PXmYcgX8(`z{k! zFF)_WXX9JDZ@w!5IH}KtQl&7af3_$BNJA|7k{KxcsU#wnTX;K{QrVFwo5*h5$so_? zt-yrH!`jDn-FX+;Z^Q0c!s(muYOl=S!U!_mLJwtt+i?oTw_@XuAPo&5jjjw39)B%l zZVHirDPF+wH@uuSY-}MNgAJa1>|wUa696q^*vL`gIk4Cc#GzZUy@00{|7j?$uD|-Y zT(<TzRBs}NF?Waofegvwd&8;jF-<8PaU-XJez+J6hV+rO@&<npJV(dfN2Ow|sS*4% z)g@9I_BCR04K*}U_^K3HPSUZe@Nm(Voq-?6z(POhUtWq%UU?X3fO6!{1M^A(eW{tY zBavsn_k1fN$OyiCVCLEt(lN@%*0ty#=iWA8{nQt-)RrpYPbY7;?ymSXce$YXu0%VC z?)1m6(yXr3zEs8047bK{Mr)3ere&_~hrw0UX5BIX?-(?D3UF!l&b<H;-vDq07f@I} z2mIz+`%(XDN(ZUMg&C6rX)OSA$Ocd^@ZvHAyS)4;=BD58T4w)A5^aPRl6e1>q!9wi zQ59}<sodtbflLybwq^6HMa7H_COGAiocy!&BDY)R%H4D_Tda*PYPEm<cD%{`<<e3D zG<f(A0h&;-)Qh1UAZbbnfT&^9ccL<YJ!IIl>H9_B;@x)}iorX~k8PHaOxzyDs&}qX zOpeAUa6%w#G(U&Nu5G5Lz;C&?R`p|8N5k-D*M-=HaAE_^RQ`G{Y~iJK{k`m!+Y`cy z_iw|sP(ff%hOc|x^V982393`_d@UJ@TLwz&pqnmM>f-biGDGz6`f{Gwlo)k{Rv1q# zX7lbw7Q2s&plJ$Z&$Zn=>$hc4UpBtKt77zakK;x!{7J>y@!M1xesbHbf7@^4ENA;O z2B*4v67=yyCZ8fiDh;|(@az$zv=rS({)mPixfg+-WZ)kj#{<nwXay#Pi^f_ZZ`~5| z+CI*4LHWWo&p5s|S}8G<IVb!LG%&|R!3V!MElXk^7v!mw^{(vNajHCe!@fG~B!R5) zL}<S6tv2MJdVg$tV0v@3vf!2$PpJKDrCfCC{<O$4FJ43@;tIh<w=2b*{m1|jZkxv8 zz|i;L2@60DU1{IkH3H45v&;@=OR^A><#;y1g=IRsCBX1}+!y`^pP1$woqy*G7AArQ z!t8rqSHYcUh3G1YwZCr_FRq|xM^>)x!BN3ohY(w^2OuIKxVlRjhIfJ#ocq}qYL`qO zMZ<HIiu8o@9<Br#cCNBLLYhm%!*S|gW-58HDw9(eS#S9+-*A4g`nY(TNKo+8`TKJF zU7|%R9`sfhL2`XsbW;|YIxpK{(3!~ZUfnyJSb`Oookj8>bY_s$*6T3*Jnb=j_#^lD z-PNTOb|64_P$phq(pXJ1EJd@m>-uy`E*pN!?O?8cj<jIMM5@%$*m!#lz1mvczutb{ zpG|*I1nzLc9t9Ikj$uJdJl+AM%e&s!!SF#F(oaos!8;E#(|(FIBL1;8Bfr%MXPQs9 z{+#jCYB`_;K?BnIkr4Bdh3(gm;o<M3pt`C(PH7gv9>yqp63Kg&lCH0Dn1V+X!MCK) zlNa_?MRPfno!w5u)%U#!0S8p616|Uxl+rTEOF<T8oHNpEsWeXJf8bWoF@i~GbK{*^ zX~ZPy1Z+j#UWjsc?z5g~R4mbT$9DAcs?{cJ(9RgG+L~QVpYnF}CxPi+I$rUGt9zOc zSP1SyGm}8^G**75x|!h8jF>~IyX~qw#$<9Z<!2IQ&w;{Vi9dp3JpxidH)=&Eo{--f zjWLnyMBB^@Ptb1P=rSlq^vQOd5;w_?rxeEDfnOXfgmiPc=IeLqU4^axugFfWX04VT z2BR-I(vm&BVK=$wermu;j6d>>*`ijFcq<@eNRpHBU0uH#`z7pvIyH+h$7gr>anwHf z6VxZdx{EWxC#Fj+e5_;RliVoGBC{zP<d^1ST(G5RBS%H??wb!b99>yd2qxL327k&` zfaF|7@)cB=D=R}Z|4C_cF^juv#Ix<I2F)BbH#(XH5l&vM89U4x_HMjeP{<{afIqYM zKA`>rT6_uRVEgGLHDhhEcgs#Tc##R`cyu{YOh{Qu3H!jZ?NRI_a^Cg4jcmZMY3&&- zSCcI<?kfqB3Be+gV)6eQK|Jiv|MiZD&JaVYZ*y)0ORd?i^)|TTnOfvjM<lhgcY1Rh z+<=^{od)f}{ZyNmfHz37{)Xzzhm$L*C*IYPr1w_&CxQjj)P<pn?CJ?mB88rhtUqSX ztM5Ou7>NsYjj|G2J6u-@r9+z>&F$tH%wF0Thl!?$D_F5!g7YUG9p_wd+4;q@7kEGx zm+ID%l;_SS%tlh7dt(>j!jx1D_(x${Xp2~~LloIjl){RpyvJHw+s)e$1*ZQc+N0AN zL$(2V=St`EMF)keT#3)`qU{7f55H@s(-7Rgyt6%3eKf6LyL%iZf>bBLWKa4F*$SY@ zC+KRw{vbk%KwJy;23<^TT~v6Eyf_;21didl(LAa=_0%y``zWs)F(+mT{$yVLi4j#~ zug?sNT{BxxBq!Lf#*Lainc|nbE`)(kwi3@(OPGwO$V_I0yS{UV2G<gvO_qtXu=mw& zc0LamWUbZqdLs_2?ABOzicv^0zKRtt+e<E+-PTCs3CqB*S-#buPH?O(04g)z!|*gn z`Yw6}$a+os@4?0E0Suy!_{}RECgtp}QNucJYS*o(w_{Tv;D*hB`&N<Eg!Znby*H5< zlKADQU}ck2rBJS=eu20`Bf(i_9p8La{2ud3*3NmP&ah<!gXYtDLKeeT$>HVeu>QT# zCy9U>JM?o&iW*NH{XELXs$4}bb(@VKNpyIzPwd3air%a_}CY={kGYuK*!OD@>Z z5<e1?su<lU(&Q%_-{fY^;gC$2Ko8gQCp4_O)Ff?Z6WrD}aVVy9DJ0D3(D71ge#*>H z3N#*d48VAe`R9|lw#=o+ixcqwa*t!?5e4Ej2UuWysLtU<cAv<z)*2<{Wi#e7(m+Yj zO#IRl$c^rIpADpL!PVnsBdy}4HKla8D8~9nSiJ35(YJRX>C+hzYn(J(5R%j+mn%-o zA(6cKNzoP+d-h{^26yY?tdvy%=J-Wu!f8kqDK!02*x?7r&>)Ld46Ix8(Kw9pAbqJf z%H)qU6r=f%KSKQ(-Xb-t!kIwX^)G6e5MI^fyr-2%V*K&*AP&w?=btxz@V^v3e0l5~ zuxWVjHIkkfM~QI!i%a9%d|5`yt}nbl8$M14D6f#rQTA|HmslgQd3Q_Y7gERV=Yrd0 zbJA+L({7cVO1l9=IuFW@)08MLC!QOWdRqycmO$KVw#zc?W8a;=c=IGLj~koEtoU~< zE03R*xumA>e;T#3>W8I=H|LG;BQARmv%LMOTBeG)g_|i}xY6Z)piXw9i7<cP%XSNi zb4V_U=B<t}_QEj6>lRpxZ<hR&s`Kkjc|r!p)NbcQ+V844G>YYXY~=UuC`#S6YAu;^ zjwb<KpN(ltG@8)dQ3eO$TWeyKShw!x6g>FIpA&{%5n1Ri1IyF$(gefo-DGipT68J~ ze2?IXQfIl6!hRmUa=JP5(9dtn;8U6XZq-`X$t4o4fB~tsP4MviF+&x`#Ul$IB&oWr zzhC{aFk>*walH^9KtE`@-+_uq=PsNP_C|h~E`r@7@H(8gX@Y3D_qiX_(;H9ir|Z%; zeNK_Y*iShXTIjks>5Nk{!CJKjXpuNxis~yNIC}YMhg4kN3VC$=PqSrlkB<Xdl532F zTYN6A3I~vhM}F8D-}ohSai%CEWV)k=+m?#9x|G?)ti8GE`ty<g`|8ic_Y!u*CwEjd zMyORX=$G(+HcQ{%!9GMGBVDH2BD#2gjTDWAuC}gy<tDQyUU+6CDE>?+9w&T(@6XSd zGd+=g<|eu3yS(dM<SaIvQ1m{S+)R81<Y;j^l)Eu-j({C1@!I>FALgfg3f&S%-lBL6 z(<DXE@Lx)L@iVzlTzOv+uQ&U?_?efV8!9iBK8`6uPTHNl{i0QOqA#V9=j2J=ZvHa^ z|6nwSpBr<GM3*NzhP<wg2nz{nR4IVf?x+{3Y?&&Wp5Cy;K>ZFV7M=`yWXVBsV6yYN zop=5Im{*RCO=K`cPiN_X=KDof1g(c|y+}VrkdJ>D#vB&u-A3tJfF|TnG+G@J&4IqC z^l3WIrkIq@!}6KF8ON}upsIJR^0CgGK1F!GTsn+lJ?tr>zW!b{SKswtLu%?^srr@m zfkJ~vKNz?5H9jk>L<Jh{WUA_58^SaSNLYxtvhzmjN)dqx<P?1If!-ZaJt%S<pl1xr z#EbCx7HRv1xh(wS&c}*y=vdszRXE#@_U6pzr%&agx6T;-F)<DbpKF3FsD6FQ7Aq0W zXWx8B-rsq!mOmGg65qDF*`J&OwGt9fp>(yv+{R(U7t;5Tnvez>fNO;p*I?N8oo|v5 z<nj6vY(dBM;1CRvDU;nbNwvJ!9%f~1iK#BO1x4a-6mM@Mwn@@M&Sz%YT)O;X6ue2Y zIC|_@3XE4}L{zXq%_&X;)t45dU_*Q`4&@W{4!@RpA$|S_bL4aBs*z_vj>FNp3UMz^ z(FnN`ZX5xja(havG}c6n1|&8MXa+^)CS;ACQ8f)68k5~C^nv75k~h*|&L&5ifhl%p znqjQLPoaFd4-Aw{LA(U$)MU!vJ`*Js{F!GCAiY0a{}PgVMY;>hc$bLU0LQ};@NKaY z%Rg480l5hugM5T0J{<vTZ^F@X`>nu+t_N!69*QYh!KJDS@^I#WNnmpa7q~D&RH(O1 z2F%}bZpR#_Q{w*7puxtAV-3*(!anyJyV<7S)SzWG+@8E;nzF1mJ91wD<EkvO_$0^v zUsSzyP#fL<28wHOD^@64D6XYgDQ<=0?poZPpvB$Y-3k<^1b27WV#VD;_U8Tm?#!K= zKhEr)$!<0~$=P$B&m*mAPG85u_)CHZ=UNNDtHAt`F@waz(|Fw1H+k~~ofT$@@2i@( z|4{9GxsQhTE2O+VH(i)c+>ohRtfeAT(UnUWHE)uc%QH=S-1SKJ)De3^)9Hg8M{eQ< z{5x}+b>18`pPdLaXB&HpEyj+ZinH^lxxHp+3#{7plOc;}qbkh#?T-3$dM=R9?GzlZ za*kqH&I{3KxwWx^;4z2VhzxTL`M>mIfSh8(MZYnd59JW*>w?;v)n%N`&x}^GY|SOZ znC|jxB^N^7C@O4MT>VtOlK<76aGGZGe8s&aiek-yK3kmHA2zTH?R>g<bkqy>cr?9Y zzlO7h;yJt=J>GgcW^ee8$6wycB=4s-phS<Zn75lRhoas=Aq34nVUDu0DZZaV7c`M; zV{**WjMf)9wk9ag)>hrQO{C=R@|)2I%$r(!JHMm@()0k1uh?eJv8Pp%b{~2%9Z>dx zS?CJbCJH4{ztxL3i`W20A)@I3>J8v&|0LSN0dEyzgBk;ge)sy7iijRj@mbM!P;mF~ zrmBaXF)di>b#9vQEvchF{`6O>plYV25hS@r1W6rPss_u>>i9Q2Hb(WPS7<`bOrqtZ zv%$5@3*Tk;-mQK(rD2T#m1Ichs&mUE5)r_>3ffr;j*@5(|2fA=%`Fz}6R9_$aH)Mf zGhM?;aXMQur(%u&#)5j>ARx1ZwEpHi;Kocul4e!{tP~&S8pFXhCB^J&_T8)2OD2lC zrPj9i`?fhP>lkPItANxE&mc9GLFk*J3w&!S(>`W}W|B#vfwicr@%PHi<ED4zGB{w3 z+SED(;fv~$rn$t$g=Q^-+1}1#OtYux{rt74-5wedc_xYs!y~;5an7nG#104kBtITn zyv_SVD#^T6CK)CL?dzGQiZB*rCV8>;hGVw;@J5N^W7>dZQAcFa?O`UFQPNL;lRu8% zwum_7f?YZj(-e{#yWpi;$9}+dx`$Pi%lZvONGwH>G~p++rfb+tik-Aul&B5u3LJD; zB-E=Z3N}rcLF5+4(%zIL)pWLaihZdF802l%V@KsU$C%k4;1Kp`I=WWq=@rt*8w6ZT zbeijTA%=zd!^~ZPz6u<B1#|ur814ozgXWC`Nig~)j0PmiPP88-wxW9d@wb(2fwa}4 z=b?YT?jD-Ax3jxH&s3=7P+R_srAgwQu&6bnb=lP84Y3IZS(_DB*6nRY#c^@cM(6cD zv>+m3NKc$8geH=Pclfos1Ney(_|(fWg6oQE?PWN#ho;6sS|FW{zRmwf2$QP**E4d_ z#M!Q84B$*2@_x|Z+!;_W58FN1?6LxBOytB!g{Rc;SIr0c*KlnSE$s^&RYjz1pt?{} zBM9X(HZJe&T5~8nXde2Vy}c9a5j|q+K2Q5P)E?yKB^S1G6#0)SZl%zC!8GjBSsJCE zq~Lca=&zSxrAq7KOnWY<+2GftSdC*vS?t*gZ59jbS0bzt3<wcsq&MSg#{=$31buk@ zF2RVcMxNi>5noo?u2cb}OvEXiAw(1A)s2cnEBy%ME-4G`nZqVCf%Gw(h!YDxma=B> z#<Tw|^_i3*8~qQA6iK}fjlZ?(U$9ORKeQo~<SMxwo7hx6*s_U-SnjXtVRtVGev-#8 zN9$vCbgC^lvuOLgSDY%o;YAi^N#|knC@3AKgA_05XF|hZqD$5v^&PLs|2Qv~;;w!} zPVhh4S#_kC4g3#I3BSMc%LR+Eu6RQiM7H%meA1Wh<gtipe@pFT$2aNre1v~oT{vp+ zi#sy?gPeqMP9p&W1jB}C3|FiShP@6Aai89%zL?VaommLonj&t6<cVxo5l<nhU@Y_M zVyfAL9wW+l$)haMCx-IYKZovMeB@3d{K={ou2z0hoQrK%P67V)j@6?B;q78mEz!E6 zp$2td?@4da+keQM)o`YHx*Xz^bMK=}WuBizDZ_l|uilt@w$JCj@FH>d?`SZ_2Chc! zy?=A-Ju4f4__0;ReRH>6DBl{VJX_dB$}uH4uBokb$C6{$TUF=FlNJRUuRbqHh^*D4 zp|D8p3Z>}baN(?k`(n#afkO@(q@bymynTehp)TyfhWqIvlSY7S`byh)A79902U8Hk z;jBD_nH*KM^t?%AeWy7EkFd7@&N#J?$llA74SQM9BpXNO$Am6k@SS4t?_=H=L9f_G zXao}KHw(wz-<w1Q45>tl{rsafZjy;~ZLuk6WLwjOi}fg383-G`bw9{uJ+5I%><BeR zel9B?qOj_JP~K>BYp4_S(i5zO7$m|C>5zCv^^%+n00RFbBh6#Nv%~^PYT7A@52A1h zmRBGaXxso${|G+B1xPT51n&$N!#CEfE)9qK`xt^y^J=fzg3GmlE#0>go-3k|hXqN% z@tySB3<oEU9ZeO8K3~8vQ@pu?-P|=#an-gddo(>8jrtolzaNugL?-et*uNk7y7M-2 zcEcqLOXA<p<7m8*&W_bo_*01+^odH2<(UKNY%ND&YRGZErb0Nw3Qc)h%*S}1I?hvF zc|R{agJw}AgIa`FoX5^9Tpdpe6#PhB=q|Aa$|5M%eQ(jXL9jYB92SoM`B$~2-47*8 zf=*B`dbb`HCjwTZRQ05S+Xc$d+CZF^><!tw$b%Kbf)YPTmaETh=?ZzfAInTHw?em6 zShs!3^<Rkju8J7^ey6G0giqrX5!9*@<OB^KJm_c|bPJz{Q5}VBGB6L(65LP<TAfX0 z%&}i9%GWJ-ngmjf*t;GyWyZ1j_ska2YyH@{D1R52hKGKzzK{JJ$<|_RM0WXZ*XElq zmuAzT+Y(;fuTAD36)2mFXFPDm6R|~Z+=ZBWI$x$eS&g=yKI*lWlie3cjaJro=tSy< z_?QQ#nAm@0F23h_?*6%li?2(Ru(6UEe){A6ikxgY0`_i9=tr3Z&(Q14E>!kK0lZ-9 z^Wp!h?X?%g<8Qf%u+GYoR43ID-M{bXc!21N7W<BZ!^t}DmxG6+M?%}rZFk!i4t?Eg z_1_u#eWuhqtNo;qw^b=~OXk6!@~H(s`u30FRcHUk4|U>8hf*`{hZ1@av-{y(^da7Z zpSrq@dQ{@78Q)WfLD?SgmbgN0d+wRNg@az|cc4sk|Jql`$j}|x2emks#l+`;Ei)~D zsIRseG$`Tei8=@Ma4B+vq&>0s<A61A=oEA_yC9DIacna)@KxlhkHZWN@lx8vU>HN8 z`mIeKjuEjrSUK6RX4*^pyC5%uQsI)+%;-j?)BS(s85%?12_>P$qQYDK4-Fp-vDpZ2 z4U%9{1Iw@4Te~SZ%_(86OXAPYa1Krsz9MQk>~Sx_dl(hw4PQI!9mP~osu>)+euPq2 zr_1FTs5}aF)i5g_rw9_2SliYrF)P}HJZb89*qszYs|GVQhmi6lT&|H=s5kVdybu#q zz%TMg4}%Hxjy~&nfyn=nMY#L*&kYwieE5YX=2?R~a@yYUhph9$bBVy5=E&?;uu-qR zTpgFaom#yjyP-x($47fI$H#L-8>%{_8g4PG;XnSOeg-m^MGbP`-FqpzL=Vsnu?=Lb zvNxtQL2JUJiMFv~Y1C%>>rAgHd_X7XiI2EbsY0%nMwOBXTRoE^bc2`~#q)LX@PrOu zD1u2f*AGL81y60nPu<qDXmr;br>cH=Vj#WI#{(*Ylz2TVNt-t({wjt;mW}R1hT~Q< z2vo+puNkXhwOo}CzX&m^lnQ<^G)_iM7UJqEPc05Mj?ig+-_=xtW`4fUu`a$dWS-y* zd1ZallkK~^#9Y6$7vYXY_*@0>_ZS3+Cn9im$p3lwYOIz^Dz!XdnRb7xJGG8c%DX^0 zHNSUuFiD%4!p283PA{U0D>WwJEH?PAER4+V^NPgnVH(<i!VcQlj-Ve`)Enwq>jtig z6^a7S(@q7VSWlbfgnb7Wxn_9#Yjd7hWRO+Nr;d@}YVi9T68oKBY7N2>AEh(iO8iWv z0M_0BYamr%tytW?_T>y*)wcD`wn}{gnO~q(Ql%lp@3EcrYUj2nE}VoEJMIhl6NAO+ zGV$Tdp6S6NLxN;nLVShbX{Ho}O4ALn+P+MUHi>-0d7i8FdGn2EKP3JGIE!afJ(i{e z5sl7lz?XdJUmX~WF!x`ALGhm>l{(j;f+>wZvghXqv5@OW!2fgCSDpTqZL`Y`zE7e{ z-(J$FVl}z)ItRxr1RglFUn3`TOq(sf`$>m>cHtfJ7r<wF-0_U(nAYg@_=E%Aq1)^k zC^JI^{yv`v^X_Kq^{;EXp^-LUHsDcE=Dov#g&pUchM)FS#=bXYq=+`Q;V8s-KcBLO zx%K_eK(gvp*WXa}>`><tRu`;)&W>YUEX{Dffr5*XbD!<<ZYA<6mwqfsrKW|w3j`0z zOGg>yzAwXsH0BC1s;r+jE4r$kL_Xh@QTb@xs_i$Qmk=cXu|*ibHc#n!G}-s)XRMg~ zjkqCvM9MUcH&smbl+=u&U9L}6AoU+7s}@ClWV(0~_eT!4==?1kA<;0oGQ6X9_fr@i zJAy4~Yx1>&uH9lyIhDcwsio+h)47PrH!bupG-oN)gm96Yq=@PSg3oC0lWD9d#VD=0 z>Z0Em{JZRYza&xk7Tf$RFKtawl<0VbQgUbiyL6IzeU<F4XSrMZ(VEtLXadhJj6*VO z;?FVG&3Ztm`tf*8<DXiO0Sm6vSTEDWdY)i00t)+oq!Zejk2rY3U%RTXIyUMVumqV+ z9{%H;IA2CS4bG1aJg{(7)jiG7oosD(YArvv4&%`Ko59Hv<VPpRu!%1I6i5DHYFa#u z!n_P)aZS*6^hz|S6K1pY{WFnTIQ*qHcJbjFPK$Djo6^2HFRdEe70=>3mFHT6&03*Z z?8y{hH6`>Rs;NOVbst1XM_o<_&`R-Z!{V!oE?|^U(FRBy3qU&tw6;Uy00}fF8*ikD z_1j{d6B*n#B6KRIC2aD1(Hj+E5#v&+kdH$RpB_dE5m_f^(z8T31tvbr627+g+&(1Y zY@Yv3u8x=I6sYy|=D-NDlj}`!F+RuFZvA1oRheuh>z@@lgUw~Bj_#eRCYG#0(Mf?q zVS)N_D7%k81-{bc>$~ouY*XK*dumC%$A;B#4l;+uDh<zwc#gn}-_!5P=xHc5iK>P| zpN@+@NA{ESN<vgXw^X1iAqaF~U}#IHtOn=skm_69e`*umg+mTE1@e(6R3SWN9(3!8 zq)(Iqi=!4aBooDr-3qmApbDWBhn6{Of<OJY#BOwkp5K`l+rzXD>D?ax>A$y@r)K!D z(Mcyk)T%7Cn=hArQ;}{<*D+E^8gNujA_x4ByRqKEA0~5GizlVq<cr}W3re|a(POC* zVqw?S*J1c@(PU=uaRlqPcXz7l^MP{+y`X^`w4^N95%%mQNoiz8{b61Z6Kfr>h7khV zWmCqPpFJ7q>;8w>`k6nEJ;;=7Eq$&M;p3#7#NQeQrj$H^gKAI1@0!nP!#AG2(L`Y< zgXCMX16@RA2Oq}&^c0DXDBOu1P<H+~a)Jn@Rys$<M(UQ@DNcz6s-&x%s^YCs7nUf% z#I6%)QAG>WD(2=>%L88qdz_J^ck3XZ+TYsu%NylykN$Zlvqco}3+WH7CjxpQOzZNr z2b-C6GE-}Ay0>W%$2y;mkN4E;*3HhY@H5jmxIbfc>LH`E8mRWhEL2I?eb_*eZ>&E* zUR0CNj*NMHKmOJD>h}-A8{R<Fph3*cX?p(5FTwGoGjB90eCD6s1+`!ON;CHA4qv$3 z6vjS&$fkT+YyAW!<Ei`!<)ir_iXuUqTmK&Y&A&izHAI>wntJ|LLc$cDA*X_t(QxOy zHlZ1XQSo0I9@c)s+h$gH^c-^SCM8k^Z`x18GbqqBA`RAzIpmEu$ga+i#baiFAU_P3 zyn5LbN0&2xa#xJ%KY6S$Z7MjAvB!6;g{9TM+3-~R78+>IoS1buWMi;VGwYq(V)OB( zdL4LhI7(k~SA5vQ2MoWf5XQFxl)_2r0Q(JK4h4?`4=Wph|5x5}aU`F#WzYL&sGR5M zQt&e<-moC}UoH^9*TB2k3!*U0_5Fl%rsf)r`HaD6p$Bxit$tY*{sip|@^Cbv<2*Ei zt(0<j)t2$Pc6^G0eL$*n@);sZlQOrWv7#dF%v_^N2uXISPJHIa3Oj%W8_19O!OF>o zjj8r81J;j??-Yurx+Ny8OMi~^E0+KCVX=Gm^5-~eX9R!LzsU+dXWxn4vXxWF^Hl>M zYgW3=Ind(-rL5mnVX)@M1H_%KBvtZ6GyEHJ;jxzL>(qt3MeqJt(tEH?Z5$Wzo2ij9 z$!yxPF#BR)`nd<YDPwJZ`x7?Kv(|KlJKxhcr5In$K3~P|%M?m|*`sM)AELG6wpF7S zOv3tgpD4n&XzAmjLfhuX=$+W*={md##`ixbsa22rs2TH>8~GFlkJ>B3bw7XLUNYM% z+^Hju7tCNw@Y^e%41HFl=Zy~SEOAjz)-Qo1)~eKg?@9%krCKybn|e|DkJNr;3nA@5 z^}6zjclpvjPd_Zb<=GM4(FS(k_(#L~d7a*#m@VwDhQY^d^sRu8<E#Pl@+{SvG${dk zXwj~!J1K@>-9web=w<kJ)s6L>KLbBAzb+k@T%6UEGuEE2ZuTCnR%7}cb{j9<)k+xE zoVRb9ly>@g+zoy;t^C&x8H+{sj^#g<LL4GCo@JsF%cHM7i$SVZ(@sk#a_9EA6fuY3 zJXe24IwIQq)A5YO+TocdiBtpK-Ee!0XCN-4OkwXv6I7lj%R()amr3>obX0H-1HOq} z<hA}{^yi@lW1cf^@Jb8UDutuFnHx(Niq=3*@I-U&M6vuuz(P+&8q^9s3L5@J#%_n3 z8x9k|c>c{a#R~V>+L_a~Q^aZaG4JYhQ;f~kdF&KJry~m0w`$*&A7NNEE<3ZT`a?Cr zn0m*_9uM2Q%6m%~O>WYrH7r*zG)w)ZD&}=Tts2rACs-HJIC=eXJIID}`<6;ALWF6- z1Pw&&adpnN7J-#`e-r7N6kUHueB5tNW%KK#_vl>+9B^L0tw^Jqa_#XMuiThvLf27L zC>)(I&FUOzxg2aTx%B<q(JCY=)YbkEaP>aj3U~*<Oh%N@kX4im7m$(;di6z2`Ls8; ziS>%~)d$n8=d;Cz6;JO<UHD2(Xx{=U`ANdvTbhS^2@TCiAO_iCAqL7C1?-z^_g{g7 z{!hcU2SPS5y8^R7(*}Ts$1TN8;6~}(@{`!YC-3P%!JdDJ_O^wB<xY9%iG8kQwUsb3 zfPctiD^-!)uH7a2TQMldzh!s%;AnP#lCj8fclXUa2;ZZtS2TN+09A;roCoJ(!9cgH z#B1GIfcZ-<Y6lyQ5)zGGKaj~BR3<pj_|}V3kL_7defgK39!go5Ojko0T5+z(b0%-@ zJ>+b2($uq-Q1D|z7^o+K1buyhhhXHZ;!UXAbgGon)y9f4x5DAZxxIu&2klU{_oDzp zQp|R_4?nBl(Jp8U39KJtx=H>!T5H()F@ysam#`eZcz6diBv9wJbPf$H?z!0N88Uy^ zgbvgGLz~eG*8XN>_SF-vq5#SCR$jUh4jFj_uj&N_1R@uG5)Z{)EZIN>)9^Ves%)Qs zwJ|fr@BS!oGdMAMZVCzEa?5_}u<gWnkDr7Zh8OV0GH%Vy{h^i0KYxGA`7=#NmaB_a zH}#LNXE6@(?xAqW8F5zkgX~(atH(zSyVQ(_e}AVS(D(O<M^<vGMMH<Bhi%_vzqh|; zDEjV=xWA^cEc3=;GjzUlc#`$)2t^}gME`rC;n`m<GS)1;?l6tdZK@KyqEFdBnz+Yp z+H5m94cae>g*<vk=I%-kGpv5udZ)iE<*1*VP2!2S_Tn46&B^j=^A(h<>3F9Ys6flo z@s+_i4HrrKov&0YZ17^q<_1LO)P=8k)VmNRt~J1J=NWZgbpu<u0YJr%zk*U-255eV z{|!wn{$L9e{R01M$k%~JNF324s5Qbc2|~gFkVr59Eq<?IAvf4(4reK~qKg2bSp3Sf zXx81(MN@vj+B3{D<@0miha0C?B|^^#%jYcykvuTJLeb0~SyI7fzr-i|?Fk1&)?Y9T zDBd<^<mHHLj*HteXv^rXU-CIZgjaV-d>Z2lVd%J7EJ|rxT5yI)1i6G3?iT)zj+1Aj zFAn)#0K;}xCl{QG(t*#{LmZvhL7m6_>XndI0UoPU^xBFzp&RVkhUI~`CPa9DzPL17 zwtfrS+9OjPx<5^z{8kc}n?daL@)#P6sv2bRO+Qmo7-?lVn@_q|zXe8|MvghQ4Zmek zBLt)PwuExD(^s<QyZ3Q14Wmp*%WW5DD|55(AE7jbLN&7rS0(I9dMFlirl7=3e$!}% zY6jJg&1X*#-!DhByM~HAxL@FfZRK_~HLpA5lsL){z;!~25`W;7{4p?4*i}A4Wv)i~ zsI|}8;|#UFUQb+sux47Mj@HtU%pr!7TYC^HStOYLEkTLlrLOx`vkyY9N`5tlI*T~3 zUnii{d6M{mz7o$!)*XN<oGT6B&BQa2lJP6&dGe#JNgJZ0zHDCFPfIwQqGL;S4zU>0 zQIzatw8YDyk+RbJ{Zuln7+x+=fU#aA$UF(pej1L25fRb+O|bTwZkuDQPd)fE`70Zj zvn6u0jFOF^;6t3eJkzrfa|M^A;a6`z2IQh>p|H5LUsuR&p6>{z4tC%%w<6H=m)dN; zozsbp5b?7iwAB^PlQPyEG^<h~iFbu{1@)>Ah_fllicQsXTTVMy%8w^GXQ9p<%sIYX zKh8ryk)^~NNXa)KSPCb+(SxXMHn5ghIL_At98#(u0tkBm@1tm7lC?fJdN*D7^Ai|W zNz)iTRb7AvAEf>UE`z#HMag%8&m-~q3B3JUw?uCMGNsa5sOI6O^UulGt@fTiV7bu5 zkK4i3_FdpsDT8|!^*E~KJCNDS$x;izh#U@9@Y%lyeMcULf+LiwHhut}KXjMMO7Gkh z{piG!9@9{rDM;eK;08c&&RvsE!2e{sn4g#QmpYqK+~-xVo%sSY;fJ1WclS?FPH(Q4 zzzV>gdi*p%hc^dPC-CJ11$KzqLQ}D|4Z+0h;l{R(!oMXUWAAp)NR%bfg`5?3eBS5P z!~=<msQ^Y2Fck@`(W*XdkNkFcyX+Sy>)#CRc}^Px(bEIwDI>td2&mojK&>n)?c-C5 zut_ixJ&$-P62}v`@)aDP3edn#5C+Wk;Wod3YOcYauVa6~bi+(f><u@7;(v!qc7V<W z@8HlV;ld39c;Ut32ZRCN-<*r!-oe}pB%5#IipEehA_P{5^uM3T$35OfeS3_tUSWgy ze#J_)SAOmMEk}XD;xiP*v09IkjzNmgSX1fbw|wO5USX&`N@|r`jGiCHoi+kI%7sSe z1GmVf5RZA*PgHEuA(q!5FQ}3}MLOjFu1x*`h|Ej{VE3HqNr|Mc;m**A9K--<vH)T_ zP)r4=C@s{X{S<ARcMRygV^0IDU%+&*@5%H;rQLZ=3l|abe{Ux0z6Yi<fxV-YzvmZ7 zhqL0M>F+LAm%tLxsKUg1KwKAr0pO<vu6F4?0E=IqoWj)p7`Uuqh9GR35hP@podUSF zC!%oQvLZQs^<EV3xtwpeVe1c7T&FL1I^{^{dAlj4)L5QfjA+8zPb9Sj^-#k}mZ<(Q zUVB%o9R=%{O|86E$GSlF%=fD}um9p+{`LIYMr6L|(dD6xBTPWz0Bw^%&K{!;q(=S7 z3M0lpb+>p%bkOuztn*9mvia{&6bwkOUW@(haWI%5E|p2?XrT<A>_KA;G+i6V`#ofO zl<$@Jbm{!BP1HivnDb$VLV(Z1$t$EsAV<4#?Y%1+-88!gh7;<SZbqS&%SHEhWWx2d z32EGEU*6Rd9D|k3F}*)kZ7mf<x$x5x!cz)76I$j6d&+G58RW&T{;kg?VO$res#}CC z8Qib*c!WrHvGmDFy4LIY_zgQF#e}jd&Qfel@JCUQSWY_aZKz4<GJU#i2Yq_+<==;z zbN_*GnlaXEa6f^SK~Yod5>>D1$AH{W<_18`_Wfq)(xlj%UWzBv=P!lg50L!nLH5$U ziCgsA^XJ`PGdD0Ajs$I|nE5nwYjZFOxsIzbd7O`ncVgp_Y^qsFcrN7Oq?9q?VuZP< zjIo3f?h9jZuA0}zU%I-??2y!kcRzN!9BofVPr<f8%lp^7vzO&(%|@WIGCdYBc>?D; z1DeejQ5O$LvN6YHQ_JWqGQ#+i)#O>E-#l_T1>-Ywer=!1kWpkKTgD_s{rC!#2Z;{* zRci}@d4RCYaey)Z4`va7H7nYtz%O?5s2x2iCWEnKF|qXO_ovfg-I#(iQ4p2C%g3bh zQ9cO(GQ<uGE=077fT?!|UrC(cu&9WyLvWI3M8DnV#slRDuv5*5Y70@aZyMfDzmH1u zd5-G;^h{KojqrDAzFxYA;5nC%s{!jRXtxpFyUCFDx)A0x=4eTWmjF(%gzV5yi)v*< zVVZ5eSy7|gsUz^`S4_+~QKKiIIRT0+1w=!u=D@!{y>bIncEzBG8POu(-))^*A&4m4 z`q}aYfOVSt-BLLrJ#L0mkke5jL0l01xay@zp&y);h`k#q9*dGcWu>zzQrhnbt##Q9 zRgRyVuC*1#Vsxb>H}K6eb%i(+p730D^K-2;1#R_n)BQeBg)?Hz8X8#Hch3ea|AJIk zo?s3E0Cs27#kS8-mpSKl-FGNS9qbR^a{C1Co&@;mf#cnnnO*f*c*_x(eye52OzRB$ z==lktS6A1D0+zp^^Ne~?8(04=ie&>!mthhy0G=@S31s`X5tROIL#o+~LPv7UPr6p| zU(<}q3EOJJI4As>pw4qmET1|||5K~Xb^4wBtRJb9U{9>W>DLYTK5nvhays<{t|(zG zXzO<E7-@I*<!pOl(qGWw4XVPRkT}fnq{QBZPgxFV2zUY)Ut-`RFt-6p=7(S<Nr1%c zsW}i+LfX08%8fGb>=zJj{Sw!IDmoPakXyxh#?;li{^l^#>eC&;Pl@+4n1Kz_fEol$ z*Km_JF$@$rBKL)0$qH`%NDlbr1u3F@3QZ2U=H$2nm)u^!#Iosah#Up-PyXnym|yl` z>iQ7R|NEKf_atw|q+ZOn0JTBzj(XafW_@vWJey_SqO2nHX@PSjM+>a|?{9jhezB~G z`}%&$6!^>r3jO(T7udDxARS3}g7vO6zVp-T@pLmdGk%_j^{D*@K@8J)$Lyoul=w}i z7l+MoMjrzXEbjOFD!|#LlQzDC@VV6Pv}LcvS?5tQZ+ttjS2}V|dPeNGYPXH%TTp|} z2>xx^-1D?_N;4wl(S|iX34N~JCd^NnUK<~C+Ie&pr~HZb)>Zt$6+9#Fo%9;vG>s>n zGx^JgCy+xe3+_w(3aL9xDn^O0^Vk9%ikjPdz3+rzLlbNpT{(({2oBk`p&eJR1`&|7 z@>h0Zfaw}G_UAyhLbl`NAxBw1oPkjsj@K^;3PrxW4~oB&+Jv3KIo=|5U+oeHyCsxn zeoOE$-cn6^OF(S`*>p}s5!UEg`RiV}=NUIAcCaY?V$g#LFzwvVZ$|=$_j2L^S{;*o z!KG=zw-g4qNXFnZAUZYQPV|jEF4N{R!5&<GvkH!>U184(_r({fvnRu%I#F%@k=63U z=rTNI%WsZAT9h~)<#}mQY4w+GaXf3zTWvGeOZTZ!gHzuG;U)U@$1JZ<Xq{$QIjawX z^$vr~*k(D$gcS>gUS%BSf74K5fk!Wn)-S9`qDlL^g;Q79pM5DNhWpHFjBc`y=<hzY z7)-04ikU2GyNu0#izNBbp2e>FJO6_YsIfvuJoqAD#y6f(YDJmrc@>8+Qfotq7eB>j z2qV{r-zA3*%4|t%R2olbQ|n~@36rSt_fEi)nLQj@+^|=Q*6MBeG?zwttZ3z9BQ(eU z+iih>Sax!;`>@VY##;Xqb0(ZcjjkBMOIW+P?tx4m#Fkcw`|@NM@B6YnCKIU>dT>C3 zDvZXKR1_@QFFH9Ds}$?3D`rl^g;F6^ZcN}}h3P#}A4~r(k>mEM(+Cn!<#@XjsHyeD z=yyw`gEFB?OyA<}`l0bXnV8<>02TcMh9nKIu54WR-|LCq*0tkHQ#$O0SQZ{4csp`e zb2>gr%EG+JLU~`!qjF_VDaeOro9+$G4gPWdH{(Rx$a%ok@r@{KV9C9JPI<u3ICh7P zVFLzF&uOOsd<+n|0?@;Z(SE#$*0<Q7qEVl+dSL|QEeW8bomF@dRgs0vxSy<v|2nL+ zA{g|8$zN$>3|nZ_hxa^F#5Xt<<cBJ+;Ads(MLvU+ryR3IXNog~`AXza?qxbqf8)Yr z$?y0ZSf}b4**rjqR|b(cwv)f5k}}}G!w=`^Ir`7PE7L^@Yus?UPw#A?ydhI0M6Gqg zUchLpKXVN3!^E~5(0?VXk9I@~CZF5?z`t|KB(X+y<lG!8-%?lmtt|qqIDo^56NoR1 zs%IrJ6{Hh*_BkSNAA>8tq;?&?ublVK$36yJN!h7}(xsUw?hme<NuN7_&|{GNFo?uk zKpG$`w7yNYwc|}YwacJ+{JaE%=j0DclA)-}uk2YfKy7}SoAS%1yNP=R(MjNfkK}c; zzT)<^<1%F=<uuQmVbj2mJc2)0t(j5CbSVRM3FxMtS+X{O$-jX2BUpG5VLuxks`&?6 z0^O2Zh4!6;d~}{bBG}jgnj~ncLVVvm12rkoT`1S^pTW&_lyl|r2>JdHFv}h!j|B<{ zRD%WReY>c8lsEwrByHIP(2iHc0ATy~Cg-$pm=ZVU-GjjI4*$4}DsoR7o}gtMgp}vp zOTC_p!&Ei3{Hx>07os&-AURK6>rlzbP6!vpu(vpO(@tq-YX!q_^+j2t_`dC`SM{)I zVdR#+^f9%b{GY5{i%a!@qqtdFcamd_6oszhhtB*ox<1|A5}5Nm!umJ1PjmaO|M<BB zmn%hFb_(MgU6*+4SbeF6uJc_YT4V_&R0KP>;x@1N9p3A_445V=N6YH}lzo#_X`HAM zE?YUw5n-&ttDq9aDQlA64@<^iaEs)WwfKKGVZFxxZQ?V)cfCzg`@iE<>WRLXYXsEv z6r29xVnC-)cdf1?OhOV<m#o*?Bc>~LPAkCgrTi(6l=hjvwLjVZr#z99EWVs$L<S=% zoB9BK{o6FN+#USBlE_xNlx=*Y)_%td8nzMoRyqznlU6mnv}AlelQ73OX_dPw5sF_d z_yYGGBYa<W`Da^0H)CQ@*R5V+t?hOf2|IDl%m4OPS@iKYuIX-gg^Sf0PuQ1zA|?`! zS<NEHzO}&4We-wF*51CSWY=D86!!ZXc@8r=UHPLu_5w&6{%AKYri71r1>oWXvtdf+ zUyq;zpv8F%H2q=l-)|KeRN8PKFCl@*f7Xj<8VD2HD9#t=*gowpfmJ>>V#}Rrn()a? zu6n!1qLmDy#1y9)c0KBEmI9yqvrBRL$es2Q`Cs&jkPML<G=nw$Xv*QoX}UFpo2N9a z;P4j%*vSkE>{Yd=D#~xFr2uV<0gSssHx_LLkHWEpy3gv?yv;_Rf``=jUGO>rG4l&4 z{mbNDqUAK@OPJEa5txyq<ys=-;EQH8#Y^%(r(pbVH<Yztb~%YXiahWetuAS2$aL?C zWxTC^bJNk!zw0`oKjRuvYF!wet*540*v|^u5_dK;V)^@g5>Giv9LFlNoweDtzd78s zno4qw(f<tM=%nMfO%RP?HcL_ZM&xOP3{9JOp^!<`eP1c&YL?;z_BD0=LH|tTx!Hh; zx8p)My{~s(pKcP_ri*RqQ~hH$hLpywPpizXrQO;?khMd}1PJ|^5sSoL4@4GbMgzp2 z-Miq7R}bObt)LH4zQSW1-0<84mmm4yJ(%ru8~5N>n(rc-Ys_az$6Ifiaeg$IvXZ87 zF`KKk3#0O`I8{f>{kOZ38=QIi)>x_}T5d%QOR(HaAC=e3i(uvZ#Aw`)N|*LCf$APq z#M9pg19^a+xC1-@5|euZigr&SVL8CB8!C5b-y|sAJmc(V#zf?IrbZTS*e8s#j77_3 zm}h9G{=d!Bf^KTvdu|qom{<NAhF1KSI%YWDeSp0l!afe|;Co?*#Up`D*DMwdEndw9 zHJVNTzedqnqHC?D*;IWw_U`Uf%W$YhR>p%kS!lznTu{NoqMds#C*u%lE@vf!<tE!m zZL~ZYb`|2B%;xSNEW%9O%hi3pT`rs|GsF6(BHm0z@NUJ@s=4RjYAI~q+yUv@murOY z*?D-5J~gZIL*owVzsn8+6%E4>QNCS(lkwsLUO4DafZo#|G%=W+TD&~Zpp3Po*7P!_ zwt{`6##Y<k8xOU4H@vwo<}cw3VV-?>c-xLhey!vi`=>K#y!O9aqtNH|hkJDADGxV{ z^rHyBRyK(6Zjc(MimE8s#+<GZ4^bu|P+4p0#Wh+ap_55;8<Q8q-v&Sg8?c13m3FjZ z!7<cC$Z>`Sh=MvnP)fhs1<3{Dj$)jz4-MJ!K)PN4^(a?eBo{8wgNdQsBl;<02Ds4z zoqe13RGhQiRLp!ydj@2KWOl*kVqdfhN7Dhs&?mrd7Emf<HdGk6Ijx(PtGHD|b~s8< za`{BTCta^Z>l8+2QdcVed*Ek4Y76=oRa{hrqbpw=8CIlU40ZWbGf`h@M`;sr4$$5e zzOMFneaq1^KP4~tA314#+_cvBCcCcB;Ke8TW~``RVb{m*_f<<L0YZFS^T}#hy2YlU zH5@3D`f(f_Y8aJSLSCzsR@S;fK9$w}$KA(Fi}h>bPt#2?mXlQvn8$2W`G}yeg0=2G z12cF#g14FA4<_jbi7TnyS#mBvakEA}6Nas_QRe7MFKaAP*`ehdbOR*()8coam9ZAr zg!(`HjMKtGqrCy$^NWtR4#JfNd^5#~D0NFim3mX|@#m~fwnK38+f@;YE~z52d=6rD z#}9$`(dyn6Tw`hD{JlgO%Zn%)#b4Q@>V|`O^d!1Pu69YgV-g(*Q7?tx-jSr9W^WL$ zzG?aDm#wgh>K)~f#@kt~RnGMj*<3<)4hCpO)v<H@*jpu{bi(`p*#((;H1O`y<Eok9 zqMivBFe5NrF)vDmKFj{iSgM;9$f){-k!!l*@qAwk%)A&@)pjCC$Q~~m_?Y@`G4G*c z(n>ZBl60qHV6n$Y`H+9VAlBn6ma1`BspReIZcw-KY@DY`K{!;k()Y5GU=N~Xp+hUh z&i>pyQ`tkP(TPUlie#e|q~);8NarX!MF@P<`Bk;`kvj<a0Ru<s<Bv<$?`%tr9+knV zm=pMWdr4CbD5{3Gsp*0uPb@a4!6aGqtM;{4sVV6S^QXZbc0a$f3W$&<NRe^#_vw$c zR4}&L^wl#?*ASJ9t#V>nd6hm)b8l<qDRxo>Fi<+jT3Mgt->r^T5nOhvQI%}EKRs!n zE8xFl87KWqngi?viz-e(R`-FO0i2a708aqeGdD0g1WoNj>TXrt$%dm8sj(iv;fyOG z?w<)_RTm`pE9CSgP8A;L+5V99R;Z|O%Yc5=@zvytPII`}_!XpU+^4>HFVEB0+4%~= zaQ9Qk#wV6YrN=?j0DV%vGTNrk1X`qi#=Nl^qZ{NZgET#O>$eqk_MRF1sx#8<O8X7a z*3Of~qR#k2!q1S#AOMl}w*!zG{0*=b4~S}aGC7R_u^|Mr53HvQV9?&iH|%?de0z%1 zt*=Ul9EbM3!1#EF2Z#^by5|7SX-Jej+Ysl^<u-p^%n9`2NXkR+=uei{p2gwRV2_9i zHG!w2WQ)T(<Hu;<4Tm|+m)eJbJ)`egV)C?0lImg2SHFf7A6m(~{iuq%GEH9>vxRP3 z4f9QpQoDxkC{^=LokaUaC~wE{ym$Ylu1WX~QUDKoG4bV^TE1pVwq--FE@+Ph)2|mp zuY9D-J^ooih&ZT$Qp35J-d&=?-4#C|In1#xH``}~XQ>qP0{mHN*t8Tvhk<i-ZgaZ~ zpI4ol?$=c3DbK<KZt|}lTYug;H0hpEDcPMo&;RbKMITBmPJm&g@JeX8hyjXU*N+*F zK?_N~iVy(Xs`KER#gfkWn>x1;wz>&Nideo(0c;ao0phRsULz-lGypQo&EB=4*%c_O z3HXNlz^IF3=)}0P8nkz+lpe&sGwlAR<%29wi~@;-HG7Iy&lL*820WS&ZdT_!VMrkL z_9ad(Kx<Cb99_L@^3BP{{Uu7kO*YxzM1pu#BXjYtTddbl!QB)VgerVfd$vn6qEV|y z@w+-87LKsKSU{(_%7jHJ_IxrM8#1v!P?q;i2|I~k?t+@{SMG#;Lc4iE4&!Qj8!6&A zi?k1lN)=}E6C+kTrVrQqUj&I`2j4^zFJ)?-{8OzXr(kLTW`uBF+%FXI4Z0z4l+<Is zyhw1J#d5xyo)~YA206ay!=p@7Ali0J{snyi=4L^)|58Rk--!~h4UtYE9!1xp2Y)oE z_wGiT&eAt0Sg+_W@+fma3iK|N0=Q?!F{jZYo7r`U<4a!1VSyOVIIch_ye2&+t3{_I z$>Vj!`%r6D6?TfX#u<Mq%~#m+(#p&{w9xDOb69YaVXP`LEcY{TB{F~1_VrYTaZbm= zc!Pt&J97&T2J^;~hpvRQM`q{A9;I;z6+1a!MJ2B#l8~60qwF$gBrS#7$|>Rgqs~$Z zu{BytP&|&<MM<ckC8j0Eoj)fqA)nK4o`#~%-is!z0J$yDvcPYeyS)FjQ@z;VzI4Xk zu?qr-mB|f2{S8<#2l$R4jOFYadfh3eN_K5mtVl4z>iT&%m)(<GddL#Y|L&o1ANhBp za78dwrQ@hBcUGg=OP#5DRa96QASzojnIHNqngaO#4;==hL8;nFIIaMlC2$uIS6;{p zp9GL60OLT|6Cl(CNt?YkG`<GRF98R#J796VV$3yQsTE3pO$Eov3P^^+kn~~TXogAy z{%A$2FX$or?Cm;aRH`9~F{+(JVB`{q3nCte?M))kgpOl(5YZPL95ZMY^o8o=+To(v z`by4*Yu+ub^bXUhI+R_<bKOR(Inb2O<R?Zzd^4g>P&o7u8I-RtdyFw-97_91R8Uxe zmi8BGU-1rZ%w8i@scc9(W{BPAhPLDant&nv9sX<51$MwP!BcKO5GYL`%oTwpd!XAe zo7m1u?S@Dm{=q|>TxR<WPxvYy^_?eNEv$a_OG&qH?lpFFgNXzxNzs;?dYtpuhVHKp z2FBZZ`e6hC1UlqisV~w$;F0XQZys4Q6+K&%`5g*|#>_U0rbqtHcXjdA*ys&`k;`Vt zPY6gvL>g#`Er5!0fD^bNVFuu50E!!IPU2FyuGu^GCE$w=V0tL3R0XuTNSf3>1)B4K z^F(s8-_;mg5$MvWIMDGHK1A5ezVzo#GcCT*kdY{xgJc?*Ln5~puJ+ksT7S!-;KNc# zXi{A%gmZE9R@4IUIlDHrxEF1PMlAz$r2yv(RpWoni;yOi-T&o21`X2i$R0>S05QZ@ za|gC89zma>A9Im;h=XsKAQFh&2h~EP-30w3%9Ct|F8AYB`7C@%r|-=^Q|x>eIQ!d= zRzhnr53lSUw3>tmnzD~VQJ7J>_2QwE2^Sk8(cZU~D=Od#$G%#i&)^@CMkXPVtE~<) z`$e;rQrz3o-)Jx?p5W`H{Z>fLjt>%PL0jj|mvC#B5Q?eOpSOG?^LEMMaZYC4HJ7|E zg&dp`7LoG~_nM=g+MvozKqi}bIE)jHYuHztUZ{$L=Oco3>djf`7%2O-BoQ)n@t?Oc z4A(4xC=G3QiLAuUJgcKaqqEB&raQZ?WH>G?=7Wlos@zVHFSgPqn^n0j9lUEdFjW7X z=4Iz(`+dl*RQa^fFf#e_A-$%1>3ia%5Ec{Z(IjE9ol1Q3E<{>G^-vUHY7%4+03GTD zFF&uDUm130!enZRqqo3BHb6KC@(Un#9mn&C#&jYnpVui$Shk$YJBtTQRsnI7Yk>X| z)PQQy0I1i2DuA%c(!ZiNzy=JOv#XRV-K{bztTf9V<yYK4ocPEoYo1vYIg6peA*RkP zx}TNHtjI9;H`&~NbgE6Sr(bQNGuc6hnd4(hRx;OwEDJi-9L!WbZ>b2dR?R8_OrH&N zU!{|0@2LV|rpp~rMwT+5q8I;}Dy<BTi_$dfh)V4SfFp%c;s1xlgA{={-ZoJ6@QZ2a zB$f46+%Oh5=MoNt86%xON3`<UpRnDZP(ZwT^~#hJ95-rD6>30*Ipv}%LY1N~f*~vt zNhz{;d{M88wEV^)j>a;M=-In^cA;o^t|+l+=*BffzYan|oc5om*fofJ9~{pPATt0N zu&Nb6IttoZ7zJ4XmiGYfKhQXIY7smS&4X1Mpj1<RP_U||c#IC<QE6q%>nlopoeH<B z(ulkCDJq7-$Tk$BDVYkK>|cRksoF*9SXdMFmc&pWD;)(QPxTYSe?W!VI?#6xY(_&2 z9iVlFaY`Z(p-&>SY*V5+J7Caf0UxQA?)$GjZ?sH)b$ZDQ*OQND?f>+%$g`UUaJgWP z+_}dfb}?v_%PY>7%Yn5EN>5>s!Ps-!F$f_~1V~wVx`>(uzQw(0BA&slBu?K}_#Rqn zerLVheLOw-dm4Oyyjw16w7T86h+-Z>BV6A%+t2k{*Z#`B2T?M6-ok`cCHWe=bngF@ zgsKEq_|@6Hj@^mEe8+~)0e|%8t+K|dsJ*_V2SyoWU%>kE_*&~E&;Juxh!g@zuntf_ zG$W&)13dH1vVl<rzz6=?@IQL91b2Q}7J<c;PtJ*9Da@x#3W6#KY{<RFvHYt%1L-<q zP)HzDYn*k!kbsUSE8SAdB<&}i930g7U+|32h(AcMP+H8Vlo`>w+7DrB(L*TGP%~m& zeynS`U=FtY7c5$HoRc6DEqV!Dam*0iyh#wYm9(c5?)((s=L}h$S1t)_$4?0%``jv) zexiuhYJcYtcC+_^$MjuIZ;kc9yU|DO-`n*6l0@96TL>_BPI5$gVAf(6-jlX#vEY_I zC?m(~h50B*vg4|=Lh32sU7qy4Dx%@ie|J1GaS}lDECuYUpk<w3UN3Bu{u#n?ZFGo% zS1~ICdoI~`cp*Pmp8!$J!rOiBt<zaB6z7MB6**4NOWux|i3@mjvj1@lt5jTL?!9@j zI0mn)OniwrhI1)Qu{h)=<F&_37X=tSZ;|bT<!(jOm;&m&UdOJ%`DLe2uw^k&!Ss5; ztOiFf>wEAnAgc-K=k$%6n1TbIpK|O`@Rtu7X#4FL1tJurj*wN?c6+7dX^@%v?F?GX zDdBNPgx3x0b=d@J(z$ED<LrMA<D%7>YcK8s^^#vdfZJP$CPG$?3gZgAkRSjWy#WPo z05@EB;8-c`YCcYFl=P)`sQHs2l7JtSo$KY|=Pgh+8))Jt$a>9qDlhRi>F5L#lia`l zT67O;*!>rX+6Ep<J^GRZU^t@ry{N=l#f>2psDG%niP_WYJA%BnVkmh}xpNT&;RwJM z&o9Vm3mK&W@23|Q?yjGlOpw><+*jQ(j{KiT@8kSrUx=GieG{kLv2iQ2{WIlktz~r> zSz)h~L(%3%U`ZbgIOx*Cz4o`|?kQOzE0WaZu*t65^3PcZ*GLqY+0bAizLR9zC|ZVy z=mo#cg0L;o)QW8iw_RI|?{c-*LptqVsHPz1&^(73=!v7A9;B@J82?mU7R6Q~1vAJY z2byt}XEF~gv0Z@HR9?V+PUbLUf^dK(SZIuTs%0Cni`a)=wD1EyH($KYUtUT<2hh5= zlfZ_pa|tZ*;69JN)U49uw6^>YN-oo3i3=9>Ylz&1qVP9PU{?+~e?9fP_0|Mri)9M% z_j#sDHJ|J);DPJ1e72kbYQFu2ve&Dh16@G?;~fUaL-U&I0tf3sbfMenotEz|kydO6 z<B*@eeUdnmf5s_aXg{AgsshGuKfgLMfy{FTz724DduwIq<sSoGYGAV@PWy`Lt90}z zs4N*ENdQXD0Si7?_)m?c<lPwywQvB5GDm^ox$ri{YkU`)9$LQTfK7Ks=R*K@1xX;c zHNP3RS1p3&>^TCCe!>Kc2g#$(;HvjZy^4n!w_wHDz<T0DzkZUREB7bN==w|E6>W;n zUHuhbF8E>d6@}WhhKv?3efKu#*6_38hZ_JCe4kfzIl2INd;_W<<1FX^aRQLs3t+wo zyvw+*ezohPzn?sjOZ(VREux4*cPR;nC34RO=1VfVQmjY&H5Mh$iAQK?70?&QL~BbF z=;}TzA42E;5EbAYbhl^B8?}Rhn}=ot0&{Gt8WBlp(o{DuZ)#|clg|K`5@e*m-jN+E z#XPyN&3(`YOeY-j0J~<dT67Yy<JYQAU_Vqul*1BN-JB-0-gU5DS|QF6307@dEV89O zAUwBY<g`?1;uosnd}QQ$t1ljH&%wR%MNpK(v%sG8pOx{Bv?@6@?G`E8M7%`?)=yFz ziTpf6J)GE=afuunsqcy%`1TaB=q8^Q|NP*JYrpDN;GpZgr>g>ajh2)7b2N4s=L@bV ztDRx<3xXK3hmYdOngz}myb#6Pej2|~+Q?1k)0$;?_t(;ICpwU<HaPV2UbPx&L65PF z`Ue#!1C1ZRfY9D3_fy7<Ym|0+cu;iipq2ej?5@GYfhtk)09EP|!r*`<>Q9jdGd(?q zKBHT7{pf_694be}$1iAiJ)4_*d!~KFOF!+`&)S05`l9xsPrtzO-qBU-R;rywLt4*% z1!QlViY%pa_poDnbO#m8!%u!kh+D<_Tv{3N*m$@Nx`xLVO!r^a@84tNWU>WZ(c37L z@SCCZVYtkbWB+t}vp2W>JQS5>bD(<huhPR`_y{K>>f^!VF2w9h5L|kcYN-b_<H_35 zU&Ru4kjNfIc%o+qE=LVMP6j@)9kS;Rw~XkY<-()E`0s6;e24C^M|j&Dm_{7&Je}6G zH1SfJz(c7=x%8hx6B<Frj2N%GyJN6tuF<&V+-v)^8Ya)?<YfP}Wpot@IVR?LW4dTm zv?^|R$kxxunaoDcM0gkXt2isZuTnY3ZRZQWBO?oTIWw@7PTG}Y*HJB{8H*Lj2rui> z?I+$#A!6WQp!{=FrV@pO54pzVQSQYK5!$6&*;0=Md%4q5>Wh6Cni*i9HNU8QaC)nW zSuE+SiD#fc3hx(*nf>{~!`*#Qm9!C&SM4ZK+l^_?(ML;=daf;qAv&Tu%WFYmF5(7P z1ka4um+FR-fdP^zW7?`4rf^45)#}}^nDQXrbWqsPoOGQSkIIi(<GpW$gnf5aH4Ik? zM2mUZ4T&RWRPIbSfr&9`2Ydo|RBL#@Hc{jo<iW}QTmbyuD^;l$tN%%C`b;~&J8D3V zsb*etm5m&;m!`yqiBH5v!Oi2)L;5cBfyUm-zoxpti~ef*QO8-kZk^=3xd3J*ngesN zHo(;-;B(;RFqW0f#frPbe#-eqW^I)p$b3#BtB#E*Ja)c{UxXe@*YW8Q?BrFLLZ-=o z=y<>v4UY_P!n8?!2*%=MYQ?DMX*#WS_qD1fnwAnTh^GGaj6uvcWQHDPhFM>;Y6vKe zfSQeSvl#YuLZf$s3`Sq_b#OZLj9Cxl)(coeLQj0MeuiyA7W0E%F#23B-HsqxQP#rP zgw9UX`IVEdZN2ONB#1)<y7zbr?XzR+Qp}6S|GIHZTcifLBxKfZW~=0vtXupu2xhuN zh*pIEo+1%Fk{Vj0R|b$vkjB&-W&KtbSwHiTT=#JEZ%vl`VirH_O!oftr=8+SOJ+Dt ztMXZ>a&kd_B5#>P7s_WF0C6~6$Gw(Q4GT6cITEV6;+Qe2ZpckhC{k*;MIAqxmNpVU zF&IiWc&j?z*M6;Md7e-mfcvPW#`sO(;4<Ero&D$1saU}M@~!^cOkvygOA2;o<ppgN z9yb5VHHURJ0$mF7FVk2J?|WyHe)h{#IOT<nXOuiY7a0DoS`nh;Pc;JlKLDISW52yY zxmD0K6NNAymrGND`@uvMi)N0jcYNHxyzZaah)YMegoQvNLa<K6=O3WgeBn_7tJ&jA z!u(19tbg4v!V^B`ST---Bw0~N&}TC17G6!QTP&9vmw{&bSG4Y-z1--$a(3VCSQCe5 zeCQ73D*d|7{K<lA4{6petWVhkhIM>Nuxj2Ttom1U>~4qLmd!6V)LYQ{c#M(+)|n*1 zC@YdQlT}TUDt2GYXS0ExRLfuB!|N(mEah(P*7*O)OH9-8LyirA4F5mZvg1D~|9_ho z%lOY1`A{Cu9m{yOMbLc+{#OJt&d4SM|L!<W?g1&#Hw@hf)F5S+^OQ!4Vbwa9jfmqh zQjQdoemAE(xt*VvhW=Gm(!Hf~r;Jw#%x5Lj$x8cpX%n@+oX6LfGZ*MFJQ>0h&*z)s z#r53Rt2ug?bJ@~eUD9V89c{YP_J0CXk?q2zfcT!+v=$&Q1BS)g$`5|AX~iAK?Jl2I z2<AJ0>AzwVyu8uMRXpda59pbNwIOl2Q|4iGaIT>#S@In;iIFQWrdDiw6gC@keL9s? zCrtsa$Thgo@^gXLcG7HNdxk+eq<d_ZOR}a&fTbM7b5I*_awntImD9%Y*~QJt@Va;W zlTSGGG{+rBiZnCHFhAWRjZrl$ESjatu%AUiW*qb?s(~v_pBa|<SBP1t4-30|^3>EB z&DkV##>>EXVK0dx1Cfop1#EEos2vkWy00p#F++%7GGECmW?_=cV_xkOHH(Q-4-B&o z@UtyVHq0wt4Nt>U{jG+I*BMy7gXc^i%TpLIytKuDT4LA}f!EO>SbM!AtJ5kQ#F&Fe zg&8d@mnH^`T!9Tl<U(U(J^kil4vGik!auVd<~jdOoYy}VLW&C`)_VzC5`Ohsj>?hK z&tVW7+179?z*ec}62c98WnySXbze1YVH*3MoO(d#ukQ5bF=IJF<t*{Ny0c_e@ZJda zo7<vpaCRa;Am8PfOs3-FTyi5KOrS5^ZLCU8-ep*)!!)foVc(ys9O9L5llVX>f;qbj zwMbJTZ>r<*Tc<BGSML+t;dI$_ALSZd`q>>$bKujW><kYJvhzN-7|$FF^rP#6O{f>} zNXI$*qXynu9Jju)>r6CBhK%pGAwC<YnB(4Xe$gaJbi%o1!%h&}_W`RJQqHV~{fC4f zJewz{vk<?;-Eh}64fjhGfAM?p`vMuzTSXmPRc~zrWg6sFEoHg_JMkwxnFDj!g_Dbp z_1O$h%el(BZk$|&P4!Nb0jqTB#Ny=r7r%vD;`nl0pk6HnO&O=8GsN4tcRrN3w|>X` z*A5mizDXf$1J8ZbP#sVw%)M-4wPrX3XQlB>k-&;{O4nljbl4J1tyKNzKSTILQxgS2 zIZTTC==Szs7!p9CIhqIweqp<hBTnc#qmO=bg&-(45h0+xfng^zfm4rh@c9LAX+ePj zlM(jJXKnm%eRPFPEW-{$e$z)PjX8g)Y)mEAA2>#-T{mXPMTfiMP~WyYb4mXnnvU{B z{^s)kbvPdK|BKBw*A`o?&foC6R<rc~mGQr2{BIfmTgLzT-e9bC-THlOfLrQ#TjGBE z`2TfB{CY!N(s%6D_d{%9oVHOAEw%BO;7EUJX<dzp29B1(8VIjK40#3?Q;+nT-AV8( zhXzVwhkdfWdem^Uj2gD1zo3t1(THKU(gtIO15M<J7tTG7@E8ilU*4Smbbj&aeB;r= zY2z;=h093cEsGQmOVgG|39Gy9=1AeX{5W@*@GHc?270-kAlSgz&{J@BlIA+L+f}rF zc5nfQ03>%Hv<VSA_kMgnSs28;9%4)5;rS9O+wMpgPQDR8OT=i6m>tx+Tpf4eq;>kz z(4U?!9W`e6816*yd+h*;>3K+@I&Fq~9d0q|cK64S05PHkZPjfPHL4?>Zrg=?qSzy~ zX_8n8#(J2DlsJx6&=jo~3keX{kA=A5m?(z*33DMWs%MG}D+6-j;U&!2F66^6NdkGB zf7~N^{D3qCzcs#YV)P;S1##eRZArzDL9;*z7f-Q*?b66xr)>K`3y#{Wc=+WD&k4;s z({8my5t}fO-h;ipr4Cm_){HCd(4pxl5H<~$CrVsf;&|x<nPWp8A-Zy*GYl!A@`?jH z6r$aDnoZd}e*8cGDzIZgjp>+Bj2_XN2IR0pU^p8e%?UEl9k7luaKy$uHS}4=@RmLR zT^ucerZCan?n<thn-VyeUKnjrCb;w`xXrMFGvU1eN5DM0B7d{&Mtd05DwniPyq=>N zYtTmCl=cEtOTY;+(bjuHWi5I-V2i&3Q!g#A8)fYwvf{Y<Vsb{CnrkCuK~jRX7SG?3 zKJiSKjT18gNvFDTWE+k{-!5I#ytR(GD+PNK-3S@IYeiytx~lxVK>Wwu7_BS*L*QFt zhs1wy?KUTNns)q0ng6ql|0v@>%J`3$jQ^-qDmx_DfPnv?>vtGo$C#RUkW62@Q!&qj zIl{R12;)RwK*jvABM`=^YmGY_zEikrH+LkPsJF20{cB|NSu%EQvap{{k<y#bmxls< z@N3qhy$5`FK`D4D@W+5TQCE<Sm0F&VmQZasI-wR9M&jVjo`3?#v-=GrcD-8(^-0g& z8O*DF-1n-bM8=#s5535k9HB87v=d-aC*ObSfBtlFb>ha#xL!IKIc4TT3)OIQju{$9 zq6XRNC#gjwP?WZtglMHhEEuzqA~R11elSTq4A26IhGOZNFp?RL>_v?+GX$!$Fwfho zDm<siSne#ciN!9=UHD<hQ+`*bBK%_`dnkg%#`I8(lo8KEL8{YWYcwpMrB{cRAmmX{ z5sqGBMH2;5i^pM1u+ama2kxLNQMPTsd_|o~v5S6TW!w;1<U<rc!w!0Eq=-*+QpWa> zd(RRgmnd>p|4B>KKmTdNjf;DMY#p{7s1g2A=g>bvYzShz(duH8myI4Pbx-U9pk4Uk zm(gstrv3ZTHr08`em9hK;tm20(q|qPv)Qv`ceUFf{}t?k3n4jLih#j$IkkzMGXl)( zH604}g}pw$gwvuoCzsSAi`>y-iRkhQ)ngjo@bO9dLgQ(ACG;eL&sx_GSzMNl!tj`C zI>r{pqiw|+iz#CBN0SM)oMoZE8RcU_$pT$17_1Z>rn{`1j&>C^)A7IlNUgb7?jPnZ zMD6{9sfL=TH#><SaBPIF;5kGHM$Z6;bsDfc7Y>=gD_Kl8S9q$?K4ZIk7q93F#x@0J zv=PM%&<ej~C-`-Bf(k1mNU7W1DtyW|KrTCqtnLwJ`Czd0W4p28TM3MlTn#;8w0vRl z>K~(huIp3Q6#<7abIMsLj0#Jf7#EAE8_xygCQ&^U3j7I<!ih;l3LOLHJgg?q5ni=r zqDym(h*AU7F-46iEPF2GJ9yr1wHiFX-w=f6T2Qko=JLlZkwM=s3s0TbX*{fnzk~F2 z4sAQDBwG=M$QomIY)Ew_YOXv~j&fT}OkcouB6bsA?>OOk@G~xM@dxIFgz>phCU6yQ z-oxZeY7?GrzDH=pz=|aC)O~<}@Mr0!g{UGUEu`if_+EL0qSEm_8b2`By=?hixtC2w zaHq9Z31T;MMe-6dvfE!c8a(!!RxM16N769w6xlqh2D)eSNpklBIAP>FS=I99l2{i< zuPyjGo1gL|c*qF77Q!&`TtJMt8J;2R>=0C9h}-0#*TCA>uL9tb<6Q5NJhko#3Bwqo zUQx3-^^}b|7XBo;fgq(ME=kf1#Rxx3@($rLd(&}30c>-!aM>ysdwPL&Gg{#?e0&MG zM^#@~$psdgJ(6e1x;Kz{uTK?RxEWhEuB7N+UwS`|1}?{-H;hl(*OAC8_hV;*57$nw z0~oH`2+k<z9DLxo^l~o7u|nXI;=QRZnkmeb6y_bMo*_PTS=%~K?mShLI$brAO?A9$ z^Ks08!Y2|Ojg?PalBY_#elWZsGJVp5w)!-flMq4G8K6jx6CW{@;bRP~AN?ZKLMDvg zl+Hy92a)L?Q=y8at%kzjYOjSZE`GL+!&sCfQ~DRfzN=s?3a<8w43;dsnQCcOD`1m@ zO;B7JiXw=NkbPU4_30>gZ)}*`zO%-BF`BAlu%IvjYPoKD@OA;Ri`#Q=;0$7zej#TA zjEUZI4HI<oXe84!1S=J-31rFa5AHz9xbfSNvm^^sP{X;co~o4UEP*PHp9C;^C2Mzx zy^Z2I6jaB$L3Qk#52{->{!70zR3&E!SVsI8$G5of{h#<p8UIzrf0glHW&GEh&i|8~ z)jmEZERd_mjQ}Ef_7kG8=$t~tE1VvzMM47H@+a`a4{mwEwD$J&;YV+Mz`ydOv)^2< zdb<zFnT9d~k^&>xTn-_(ow&fF;F}!Ri3U4eWg)ve1aCk(@G}4QOXfb}^Mt<ORRtyv z$+Gh58I20YlvF0VUMZ3UsUnCizLT#C@3k_Ljoek-R)ltC$sm_p$#nprz%F-Z;5U?w zr@D-~bCRwsdyvac&%*L}Mbp6lb54f&6?zha=;W-g6@^$NCy~uRwY)jEcp-XcWH{}> z&3XTqORNX`CsP0F>f$QQ-`IRMp20A*D>52-^m!ik@B+JfCNXir`Wsv_&gz?ayjREf z6hKACGap#YBQ({qVMbOO*o2hFW4ySqGAA)M+-ElBN{jUiWnpPtS`61Ff1cpQv+nZ3 zuqIK6TqF{(b%O*YZb#x_8I!p5YV8XZsFs<9gA}lgDym`AP=hNt4b@)xV0QI4&tupa zI2J=y?=-tSUi%p?&$2b<?{Mc&TH<c%78LKE6y{O30bBP5UbC_ryjy}kQ5p_7Ou1u% zswKoniX~cH&`>Syt+3Gyg?Ks_Id+5UHPFC@^S8Neg(Nym$oR(Hr-xCpIz@y$iQxRZ zhr9p=y!@$t0lA0&I^BaVs1omYhy2dIpvW!XhVr*LQ_t}ko3~U^A){z`U@2WD1FrnT zJotxMfdFO7?N7PpYw=fe@VB+(UYOp%lG5d+U-yz0s7J9|AiW3SDmryt@Gr$#weZdl zI11n<7#5VhKasNbg`&v59GmfXK@NR3X|cEQ7@p&%V1g#a@$$xQ`Y_~}2s3Y@48$SE z$7?VY&ITpK+yNdFKbN&V!xMg>##_s-kt2<y)5pTV1q%3zR|c)jJ>eXRc2RPXkT)PF z{U}8D7p1i`0H4bCgTru~STeZ-fn|q*n}5D3iswz2xju^LpQkeIm4s1*$)0AtB;N0| zv?UX89j+<En(Y}4Bw3T^sss-MyQc(?Yf3>Cfg8Spd`)>>yn(3mb#~u@w&_j>u!NTg zMSAaE>J)$XlYOyM`V~pe+9i_M|ImQ#xqlh@NY(r`Nnxtv@w^bx<NXgg@krl(9%ZK# z5P1l?QqNKlz0f>!6T#{>3(<q~>;Bbw?@Su@uYT@d*?n0f@7mc_H=#RTfQtg{;nmY7 zhJnGp=rE9?Ze$z)cfA8CvrCovpX^vcRYMbfnlAz<J^qK|T1~kBOW--4>)-+q|I=!h z`JZ0olRx4i`A#ACj_b4v&c)A$SINI4+cTuk9i}=Pxt4S4r9Za6lz@<^d%txpytqle zl>2;e-aoxKJE`piF2shNaFX%C-wpp(LjaeQe?uNWn7C@LEO4pvFL0vRYKHFrYjw)| z|H}BkGXAfO|9kEDKg{_E&Ij)7cpJ@bA?O_f^O})Oa#!?@!vX_RfZEA)YLGJPiz7rD zq}SScfv~;6Y;V^*)-_u;^Mw0(vxN)e%6;HQpVgWFA(--B*r%92>UcKQ@mv4-_4Q@w zU8ts?RO|ZQ&@F3<sOr7(81vTEVv1Jl_svgvZeGlW<M#)0cNdNcO$n9s%($0~rpycA zVvaO&Z+s*Ulj4kJgE1q_wZS_b1Fc1)GGkum2+WKOARL<+8|vcclAG((spKBQ#qc;h zG5Ena8qA~9DV`J-SovX_d2G+B_jr=PY7i^ZKh)`Soxz%&c_fM!_!cWBWT32;rMW&| zOvzzp9TQK&T33R32uwyeX6)@Q(}$MENU}4>k<5ekDd*_^goz}q^B@=qG^B~=L){38 zn><&2QS(G-?<?Qn_IUWj9YPPDtVK_e9>L*rQ=g$-c(iLjswdQPyNT<#U%it48SuP> zjyv>SJa*Gfy%#sM+Z4W!QrEATc9R>8??T{dMoD24jMD@r$w$<$wt)v^#THW{Dc!c9 zoXc@|&4}g2dJb|LFd4fhG8ZKybg&o^r3ipp(MDYi7HpWV8xsd)+64rOlaQv&b*#W7 z{9ay6@heN0u(&(f^}=+|jp#f|K6a>wz$%zAO%tz86n3Xjgxd;gGL|SohE39jW)5{2 zL`bxs;4*P(QLW{q8C-CnOdemINW}oTc^h%hx01ZLUoTAFmp=u;t#qxkn;OI`Ai?6> zRUzbtxZI=21#4Yna|TC(H?l9Te$_)bz4McckHyd5Z1(U@Hi%FC!G|AVTX&_7cu)!+ zCvur-33^4U5)X7LwJJ7|DtX6Op>UGFQUnG0tHu#yiQ3sccw=XzpqE^+Q&L^N)yiF? zz_rzO3v=88-+=#wR?(waFc`krVJtkD=vk~F{y~(SL}gBle#+WEa)_k=i}bPo@u+_# z^-fN%`okexl>CwA4_RL5kRUytEy5dOLEbopJd?!j;=V1$D11@+4H32zlqFj9j@IQX zE_f|o->b$l4GJ#%d`su}zWH-_OZ(eMwwA*`*|F<?#_RKtN4jw`81|0N`X{U10f&w6 zM+AFIBro7!-}uSFuCULs*;kxzjj#0+mWiJSm&?0ci+fusg^_rv^D63MIc2e4Rk4Di zSV>L93rM}F(0wK63Iut=?rgPSZRnI=@k4$wk?k=`APi{rOEsdMjcvxanTqsyt%nL} z`n?!`(A|;9lqX@<Uj0xZ-`#I=Z2s)=m9MH{;pc<7SxNKue)+TFSj3eBrqbdXt#+fi z-{713l~f6?s0ywih^_tfVxYhQ^5xCZ+2A+}=G=+lfEt6#pPQAxZgU{mIk{%)3-AZ3 z^RLa9M>n*3N%}D)-Kapy55C*PW>Xvg&*7CAyUbA9uQHT&Xeh~4V+D@m51L*4r?Zd$ z9JKe^&0HgO4iLUR)$ESYWW)1V7p|%ha#C$wCx;!4l9GJfNqOkJVQ-U%D%Ke~19{rM zA3b+F<!v`Yo=O~5iO*SSpQ<C+buw{mn`_G2X9WkY1kb@fbfShD?w6{-@qC?W)|pP7 z;oEga!2h<=d@(e{dW3Y&TQ-kkTg;V>jM;%(V9Z_oZ<<?-h8P{Q^ETI*WfE88pE6rz z-22V;ewQ9N1w2No?6+`<JA1p6DOnV(H0ct$U0i`GY`b<+YE<mQqud@>iBxpv>Xh0E z0ZNUN{`uz=JsxVuPWy`MrP)t-Xw6^``K+PE%@&oM-Qrgne(&t;;#2;Ha*bc)xOQ;- zLe}`5>i{F96<&z6LUd^H!ssnd*FC9a&dFZOFc*h+uu}W%ZojQXZ?p>ZnRQ!+48$x1 zI;L9<ws#7vOL7EMB1b^ih;it?uq?`x`6zu?F5iHsNCy9|=V>z6JZ$krh8@|#N*(+{ zd(ia9brZN5KhjfqYN9IZwMBN`g9A_PtV0?njlDFpLv`0KQQpg7JJCtGa!-d0S8j7G z=R+`w53$Zv9CGE^n+QWt&{Td-3<bz&-M*p*+l)(8mMsg-=9Vdq&_p+oq#zlK%~v_& zUhvdpO%lW`Y=XY+*QGD0-S33Bg`2W33aacagCEEdv@jve3O%KCtMY%o2x9a03%9#( z|M|a`X$%fDXE*gDnof1*lWt6vzgIGO-P{DTcV3^_hpTXVYZY$ig_mRZ)(Y$n{P31o zo~g*AF=pgSo+%om4X!F9=VUfFKgTo{!`I`;$(?-69Rs~F!?rMGAZ9pQ(m}~jK~Ms> zCRmaoTWFQ886<g{bJ9aHNzg`GGP~$~Y(PvCkwbFQ9Ngxng>Z8(zWAv)ow)S-0ISke zo0{k^Y(QW9H0Z}NJB6~Tes`y8cP~FKzYk}27y25U!&G2h3L98){U&K*q`7>D*6z&q zK}YxBf_^l=582y>6*zH=e|=TQ<ZLMDXx)$vb^6RKH2JHnPGQg_M9&8tH}rKn?!seN zkoHWjBC0bop86lj_q2=9sJ_J9^BN(&2cPWhfy=Izr?BTrsWWN5nOv~E`;RF1Us{)a zJh**s)^e5h8;W(t<pYvq<iz8a9hc(Lid<H;c89OSCoz4jdP6u|(yvB&*xZ;xk90A8 zh`%~C77c!KJouU6f)(vj#PL`J*^;J9aNh76MLII)g^=!{!$baxF=#F(QgaoW^I}9Z z*FvrRFtx}{#LLku%ds9yviMEo7$_U&A*xHBXP&LyMv;@BkIaztrXCFx?5!lbTrF#- zg%r!&KC*Wu?6S^&Od$?it6nHMEjOnXRaoXmG*%kVrs=G31lX%h>%@HIxK6$p&UJE~ zOW+F6HJYskFE(0xyimz^CNT>+Stw348OR7#g~%NQu95sJMs!yoxcz;b%m9E~l0*lC zaDf+Oh*vQ^aCzwZ8)b`l^^gn6YgZ5J)eh@3X;u><bB%~f6Rk9Rz!?gC39eEUog19L z3-jQH=BOp`o5r1Xc#@Rhpk2G;$=@D`&zV#uiidUfD={+=pFLJyb;j|)AGQjhG0pFO zDCC-XG7yw-$Gr2p7705`+#g{B`y;7ASQL6fU>kO9OJYsHW4H>za7vw4Oe;1iYN^J3 zxKbJ|@-XHL?A*q2XE<}0!=WV5WmWdfX3?UDab)ZMklibKhKJtsIb<U{J4M0yyE+(8 z)OIENW(Cfn_BSJKDS41$hH0lZO0E;bFcBCui>1K|@Jkeo&sv4&vbEX<Z(&Z0H(7Eb zX}va!FP<ygC(&tOt%NP7gIAdjz8hX88F_HWb#kww<l|-y+}q)}l6yDFy`=$D8ZcP~ zOi`mnQB4Rk*w_j@bOa&AKa|mt^jHEX-&ueoT~BFx2zGYUYn$LhxJdBn<m^lieB_)b zULvS1K9(&d{d6@HKz1l_+$s}nD75XcwHmZ&MB0iFV}sHTz0k8_DnE{*YqnD2C>otS zlH(THXxw7z6awUrfDK0(rp*hn)q_k?xO$Wea?WPyv53pb?8X+DrR=UQyZIIvX;e+H z+hWDA@E%ck&e_D2u)HM@*PB>$q}c{B`eu0pVUyywoRv_Rb&7Kd(h{58RG@G&ljP`3 z(P8HgLS70v8`ID698#b|YvPYIo?I7$tVM~WGRRJPdMo>o=Sr-SqifrvOmgu`2F{8o zm6teHkzcFC^(IC@sMnH{HZN@M#-G$k%Ob;42Q}cb_fQ+l;qsN0P+E`Hp@kxxya{$% zUI)eXrm!KCz)AUxnLJ&3W#zMJ9*MEL*LZX&G-kNs4{4C`rt<FInoZw-KpHaCF+;AR zVlHu$@Ak-x$`b2*s^7`W18AQ@kzYshJGYKAO-=?T8)iMGokE1z6ca8(kbH}`n7-#G z%F-6r!nE|+CeW5ozZdAx#*EBxi{YVr*QgyPUcpvny*oi-PyM-9v0)H!9U-|>#0-uo zbfq{|*SY_~xl^1Pv3oH_;B;ZM(JwYIc*NckzZozO?JV1%L6igCF|^#Uj)@{JkGk<1 zBl%Sm@&=-(IW~NeLi%e}zxcWK4!V$T&rjGF{JoEV;s>|2O=chrbUZ6_zMFk8J#Rjh zbI{jMIY{8*scxgG@(=UiA7+L52jf5_7a=%bAw_cyV&8MS*zAg6%{cwLttC>^DdD8B zv$Gw&KsLzSwBUt6W=Cf^;3P@EO+j%tklZm+FBdwzgzwvgk#Oeu{&`m7`6&MUO!jFg zTq4JP6y-}cb=4c356(a2XiA80Di?w6ZQ*UAE_-o)HaPFIaa?crHWiQT#p!9NK3}N5 zi}+xk(+GeB?8=rUkMEs<t{bhS6L8bwvKKJ~?p6p<izZfZ6oKm$NUnEh4qNta4wg)P z_N5Z`Dl?5Cs0o2;Ide{;uHMN*D=)IiL#^c8a=o4;u6#s1UKrt9faA6386j5Bd`ZI@ zg@joACDs)Kbt#M49u~yNcs)qWXA#7}I=9hX6K#iDs~Db|#eE8Q6Rs}sNeY~vQkGBg zEz<22;F>_S99Lrn`WS2{HCtq`UM7<&XoE^SD(u0jFy=Z5|0?r9$LxQKUn8+@30!if zPhKR(6M{aCALaDu#7%mZef*AYVN*_`0$7Q?lOq8k(THImF$I_+?0CwNdzW^6kYm~+ zF9Nddi+9eB9GE$#C$OM!mCOG52{y8%o6D2lH5hA-+7+9PW<$&Y$Gx}5xfSS;!eBIv zD1n|KL?pS}T>RL9#zVH2vF9?RVkncd4d<l_+`_ER<oQ>jAbncjAAM{*r4nfHv3L1Z z*bIflf)r|he-r}r|14%xNZbsCnguD;`93N1wV6$!=6WcEhggs%{5MAviVOgq7sXCm z94LMrgL>j6&A>LGtsu6A??nRaL2BqxnvMvfQbm9+7efqqo<)p2IpyOhB7VF4zwDYg z<2uF^LIzrlzsoUE%lV1=Gu7NkrtW>m>yR;;XL!})DBs+E%3H?sK>*Tv>FyJn{jv9R zU;5a;I{qwOoJ$usSJJS5^>hDf7;u;ZqM0*wG@j}Ug>2CWyEn(o;1{2oD5m!lS)E32 z*kp(I`eLdu_wrZ7K*;Q)#>g7u(Ut*+BBrR~cbfSsPZx;I5y#*x^uFPxnQVs#nv3xm zA;sA+O^uI84~hs<HP4ETERVz8C_<ZW(sbD@T~f`PRSEKKSvN03k(^e~s-*dbZJp)G zv(Bx6Wh|goiCP*pZ{4Vgvtia_z&M+#&b^S9WvHWtg*LeTKv$2C)QX8S3vHKCyJXSr zn<N*#GjeB-#$Qj;u$Pu_Z!`KZDd>f<xAYHrVVRH_H^iz?sEQwvloeH!%owf?dHW0! zAJ`ht9$A6C$vjhx5emk{5-f}thJiG^bTu~+#!i4nu@uv=3*|6J5McmAr1}?jN=-30 z@aPJSbwe@PTTHbttg4OmnX27g8?t6jkTEpj;>Q4>Hs2NawutexGoIq+{FBNzKb;+2 zW1N}(b)L=xj4BVSCbDkkVFXeYPVC|PXQYm&Cix|i=18Ei9gDEET|l+=Q6E42Xj#<N z&M_|=&Y>e{bth($qmOF?66_&V*#)Kr1hGD#XNuTAFq&@6<mvR8kr&oIrmZ?Ac~9^> zGoK^PWTx^T>h!tJV3Egc3!$BGgNeo5BO|tb3Rw*-K=Z{EWa?hWn3rU@g%kb00A7Yf zDP(swOgVq3Rrd?f?N~OEL!_mmykU3}Rr3OmZfM~`UKL8(q_2X+NtXVAF+kV@w5WBj zD|KdJOzR|5PaUH`R$xPyl0E#~6`fF&xD8T*ZaCrL^uF@K(3mPDahj^5#>G#e7NXqc z76mP#YnTzg_?2%11L1M2JbWbRhbyV3=dM`S_;5q!ba9u|O4gWr$H)E4YtW5$+kgI5 zWYBKyd_(taq(Wm?Cr&x$@Q|r|=wDZYrdna#_}vI2XITUlLz11&Ks6E8CDvdzpQ0I- ze`H&!Iq>+J$jgH<UyLxWvLwbg!Gm4BycmZ23QbE+hp8hX@PxuFeCRGqP}HeGY6s^( z>U5}Y3rRew<(hDk-~x#N{=#ayf=v3PNc?GmXvMfom5ail-0K(!wU}K3)>qZA@T<Yx zwF4}2cs65(WiM}z&IZR>?FH}}Frsn4-Duo`KwOJDc)4j>O(C{<$2w#~OjKOw;<@(4 zHA;f~uqXYqK3?q~#9Gnjsv_?XnvyP89^H2#e8R;Ho{dZ$qBR|&&{Bz6@F0Q{RiT2# zu$iiaWH-*5$I205b5=psFIA{f$53jwHE197W~TKxGw%-B6WlVK{8i8tS;!v*S^VR7 z|4>-wAB-1EmrZxbAeXKi*F9%Q{a>Vy{f|feE2(#Ka@8LWH)?)>Qgkkc$ZvGzm@RS) zw9B_z%g>Ou*n}pYWI|RdFHT5UHNL9(1RYqr8L&Rw5Z*Ii9Yc0Ew$@yV6ol>utt7{= zq2u8bP6N5qcijh-;3rE=+D2839@}$WNPrJ1nHtgU=PdFpF=Yq(v6;C$UI~#7uaONs zjGICJAdh0EZo(jV+VtyrERrx)+vI$;Y1;8fzNJYT&Op7k=Hj<kxAUv&_Se*s?kXdn zlKd9c-P-s-cx@RGwpT`kt&kCk&m|>(c_F?$pCwiF2}Y{*FRZir$TU6z=NPH}BtlrP zWD4JwWV(t*<o27*6?pJwX%@^>yf%Xsuug?Q#U$%=EmlM!gK+CsrA`)gI;;IltifN$ zPUENqj)C;O%M3Z*Ter<argM$v9Ptl~pT(MSQg|{8*vpj}Ebxq_GfpNXD&aEYG?aih zT#sE{QP}xLeIbvg8m-)Zsi080(d{LZlie?zkMUdPOfP-c@*~BjA)D7UEM$9oeS0Zy zP*JhSm_Rdf_+>>9Qj=$VlC|3Q@)qCSZ@!SXHG;%SJWG)-K}6DgF`BAlNuAs7oyyj& zMxdvy?L%Jc%^+_bYHgD|7|?6mibDJDWQd~MuBjp1yDfDoKsWjA<364Uu>qHbp)HnT zNCGNs7xqY(oE(lwkqmtS!GZcn)wURi;`ZTC^l>;vGQ{Zmx94mzCY#%b$)>c>9yI+? z^CR=N7=f+rLtsmqET&VE2uYo8GxN39<RV)00>{6$nOdvZ(QkRTuI)PH;>^rStzbL$ z&6%0Cf^JCn>dYf@bLI(kaVERf{t254*6BK1D=V~u^qi@h@3YF@OCa~>(beUrBGp?d zwXfjFUqNn!E7JzfjcIR-E0*vsZiFdFY{EC;7ql_FPRHOXD2}<y$H#JX0TsQC1^h?z z#A|+%)6QjH^|Qsqdtn!6CE<F7$_w}}b2*)%rEFrX*@9_rpY_*{yM%s=jllMH8iCIB z>EDP2m_F9M;6UL>V0NXr8`LQvcG~wVxB@*J){kg9)tOJaF;)H^1OtCPAlt2yJKLuV zIz$(kZ$}w)w-1M1JI%fAnUy@(?3UthYyI2d-o4!B=f!ZH^8(i(|Lt)>J*6S*Q8yk2 zSP6qMnmgR=q<{W76_PvaY`5;)UnjHuz}%RSTLm$uJVWj=bLYUAHNJNux=ltl$wL#b zyr#%~x)HvORRM7k^tr<#<Bp!%(eb!CL1~cWUPeW#0cA0poBo0{TbO7dFRYpN*P@wX zR|5V`aZAuJ4pPi1#uyHAe$|3#ry6j<&`_f!w=10C^5Ij%z}pTuV=*PCEyB<fj#^N) zUh%|*-3x~F{bi0_WXu7}i7SQkU{rE|a_MTmcXoF136F$=MV+b6nj{2{;}4o${HL>z z{~WaU+RYeXMJFA)KA*cY-3IxOOn_ksR1da$zM?G=iRZY^w;U0--|TSQwi(vAOL2}0 zNcRNbB?A_HTWe{P-j{BR@6~N#M+j5S3GXCi43V}<7eJ=tBD`9uRG3J*#+dtE>R_*H zOdz|NomRO9FgALy<3t@h)b(m(y!r`M4j8AGf7Lc|Vj}63MpSQx&k7}7Z0u*847%Xs zb*cFD<SNRPqe+Qt4IomHYJQ#?Ft}~RW-4fExe@?hE3~v<mGk*^a6V)|Z8pV3j^|&I z<8j~MqDoQhl&l`l>U<$q2Yf<Bz~~#{abXQS9+TlZiQ9$O<95<9tlQ~+mTVu-_Ck?r z1d~L&)2MwT{4cJ7|EcWKfgEZ{LLk1L5cnD24uT2aN=b;91hGgpDxV&R1C8G|A`Z>v z#G#QO4k^jj3rRp2VMjfT*ZzNQ`orry97z>lBd%I&T^Koc@+B&b)^@CnoXZ_cbrG*F zTFWnu9L&BEMbUmy=5KEi^NS_(Coq3|MdlaZ3iEefl=(Yb#Qe>Y`4gDGvm*01-vslM zj0EH!2=`KnL{V7oYK4u*8gYq<76QZCSiDgR`lDAWe8Oh*&x6aid$Ypww<|1p!@^o_ zStwKFXUrVMGUTtGOCHp0ond)Fp1jRG>v_Z<lSd-HGf5%@lBAieYLes-$$T~&=t;Gz z3r)4)UZDoOuHyOXZ{;WQk+G(`N4rz!3b$RZ!M7Uxp8I<b5V$ut)Um4FNd%j~62;o! z@Tc8ul7Bnx7WtPG?BDR=JDtDrg1~b;*TDt;#tEV*cK*h2FM)uCX~_n|{LMt8J6%pL zhl@=n8H2<h@837_`IE>@WvtKU3ky{am_L1ke4^`t2jn4-AMp*23krEfz>fv|*n9dH z`G$3Y-GCD!36(`|pX2vC`~1#drAWRB`8UxRYkjjZf8JG8(<<6VhWxk0b{osT*lcrc zvDNBe`4>8EzLfu$`24_}sbg%cA_X!7LU4GGa0D~dC)T5EAm$WOm)Mu4ReQtJ8iRi# zgV8m_=ms;>4YczEq!P66O~j9;Hb6$cGZ2}%%?85^ksW$|esMiG?qf?FBFix^*_SOU zB#;%uvF=rqfjE6TN>{P7hssk%)h2M08|j9D?qoxOyoO_a{%k;c5JrF0u+eg_&KnrY zH4I~T>h{F6!IC!dAV2F1XAIPE9W2zDpW(zRZUiec45<o5D$dJF?Z233TzMuxlX%<( z38!}<JC~uV8UxC7s)8Bi56f!-<KnXeLmyc(1Rs-OF#3cp#>m#r54fglIUVfnJw84* zY;kSq#@(JfxV<xs(DPw`m-HA{xzVO1J{bMJPz{XQ(K92@afikv>El#>1iBI85Srs2 zJQ^6y+FhM79in3>G;w@vxxK@KrVHrg!ud*X$P9)R=BPIu4C@%ir@{4)7dO|;r{2|7 z@BDhuA2JtL%<;wf$>4f$agKkTGQIQ9%uj=JY(654E8GlvnnSQFbW#O8A_Yk5@{ijA zU=MPXVUEV?L>=RCX?F{_+VM{RiVO|7V~&iOO3pN!xO)nQGF4})MVQEp4yv((OMH|c zP=F#XdBNaR;E=Sd3R!>&EDAhfF!-?o_Y2BXU^iqS=ry)q5n-7zMvt-37_dpnWtS#l z4Siw3C5?dm2o&6%qqCd-(Zw&)W$&u@aR`?&vSX~T^clI@60SRx=c;61d3ba+`0(R( zxHLweW;tb@ANB}vjgzZ>@8genbwk$xVD;Kg|5%`(IswTx91lSM_>wLJS1{Up+PDy0 z{EOvS!NorGFulVCp^*>AeflxNcKTFuW1Zc*9O2x`5E)-FjhNnejFpka^a6J|VmyZ+ zr41Y44K%FHr&CPN-h3X02C#nWfBtlFb>hP$F23K;7~+83uTE&h4xn&w{^9uIV|0)d zwgyM(?|)z}F0mY6_l|!`#HvefEU9P=XCFqoj@R5Q+&{_MK~$2eS+$)aph(oE52V}a zG;ILq{iB<+UR<Ybmb<tdUff&-QSX+Z=zoQ~F}&=>m$M=HMb0mN?k(HrA!xz`h8|v= zUZ3?o_pjnQ;Y-oa$7dHeC#iJ$`Qn%US)>KJz~%6~f1Nzoe_wp=pQpUXeMrJ6{uhpw z;9uA_Z;WKPj&uehb~QK|US7lv9Psh;;OhFOcNX*ZWbk2djo(}x_j~8bT_RXH#V`BA z<dH|If<HA-szYoRVAZ@cyuP^VedtR=F%5risSg(yAI@-L=VwX{+(hpWII4tSz|=Hq zHyQibjY5?43@c4$1V`EIXCo37&6w&PnJ1h(TTQR!-mf=Ted*}z;%FGsf}nngQu%QD z$5>Rpj%WWlv^#J{IZt-Zj-*(99K<Rv)yMy5=vn*?8$2rU!{ByK&WAhrf2WpoHaNdH z>Bj)4%KX~LeYx;;ti$pQaZ?71dV-h^kz%R<H&KA_yx(t$DYFL@CQ}35Q~-v}04Z|= zDIC<*ex)>(U9S6zt^aKK-CME^vhHiO68%50T*B+WR*UP1EndXyKfWp8^<S%8|7{oj zC2U-%mLy^8cb)z}oBjd+UyJ9;_5aq<-`zLZ+ob#pK!2fA%KsMAU$$m?el94k|C>#| zRnmXk=`T+WBrDGndQ!3V+<2Nzm(%}(&<g5*k>i`~Qvbii=iPr}vN2z6r{^KdH#pW_ zI^l)UA$xOuy4z*{`~A*4viJIa=YPFB#w)1zm{jd|d*myA^by<Sm_6Qu+ZA(%zA(nN z*9+XomhlX0EK3L9mJI0&Y_4G(u6eiTR^NHI=d@Cq<!?g%;e_$Cq^Jg7S?R_z$yb1B z9Z>|C@{i~Ip!^GXz9{8?o8%wTah$l6zH&l17+hB~4_Ru10?o$YliC|&{$N2lc$EOc z9te3Xs8Z<Pp8S(6AF%T$tFZZ&XaHo$Kg{;w`Ck-D`TqvxA3va;^fhc8z@z{5?qUS) zxxvZ%k-(2ft$kS-$)dQg@bW}anq8j5yfNbBmOPRLdDI^5zuWVw5C9Ov3HgcNd(+Xo zJ@1)U0^EP^J&xt=BIF@-Y%kig^v-tMT({Mdn{u<+8nsZfg%FxFF>8w*exkI-9T6c> zR^)YbR#>&O?G}$@BnoY@Ihu5vEn$D$X(D-~v|6o+A~(C^&KMhJ?ZnO+=x#BUjl`~M zy0t6st`EChcVE~SN2uKqI$c2)TCL`OcZAuXHEwo09eF$vL^Rn)>%gwKYG+4EmusT^ ziP&n7T70+Joa~DNrvJD*-fxZsBy^e`o>#babhf#2XPX#{6H(?n6ItPv?zlS=Fegvi z?d}B2T4#g{a1*(;E>_rGnR&7FE1jm;?T)a#i5RJ(us@l!6s4^QJh1R+GU|w(wV=1P zYG=n>bApwEEGnF=jFkz`HAk|{jnSktY73qHc9)X{aV)N*v+c~zQjcsETv}k|XD#+0 zmU4-#0h3)nIsHE&`%mcbO|i89w%Pw9i1Gd(Pj$sOfSml5s!5{fY|bg&KW|(9ClDRF zs{C_eME?15{kPTf&xuL?UlL0LF`>k^VIE~$+-*iF#r@lm|366Z;Zz^x*##`V|JQ1B z<^Jy*p?}B=DDg%8|5)?$A^#tbm;9yve~Hik_y7FA!6~4Er+|t-1ymN+WVc%(Q-HRZ zA%g@-<2B=AYME|8_BkZBtB^ZU4)*q(Fv$k6M`NrTsPU+3ivDOeG-T~n-jf4i?>@>; z4wUx-o)!FG_UmJhq27B(%KV4#1BcJvorm3e<Uz2^jWK<nuZJ`ss1<~BY3OrgSSm8# zM~=C^JCjXo_anyKL`BN`kGfW8xDNAgSz`o_7a6X7Ao2%XoB8nZ8n40wg`>dwmVEcV z!aa45Pmg*>oulTdAd1a)1y7vtCZ=^Hn`lTf?Y>`VQ+@n^6x<B;G^GxDFMpNQDV!0Z z>V&blmo$8A1X!{nTQajp5o|ApVmYZOtc!}mhN#$Cj*6|Lu5i-rzhx>?4_t9QM^DyA z*?7Q3T)OPh&Q<C?7=95=Qd)uE%=|ADpZ~-DA3Xny&2s+##^?WJZQ*K)4I2vLx~3R$ zLsLw5xhbaIYze&%|D6~L&2>?+xgr%$4HZ+dNl~$TAPNUfzBm=T?GsTDxmL5={ALXW zX0J2_zQy@Jx+9e3{}o&9aQt6KEd9T);Qw81^3PJWWa`Hn6=6Pl54weX+3}45dgiC+ zeV*gOGe0%&+bXEkEUzj5wzEIZ`IjyKO<suj|Acb?=PlU(o)8vU0RT(+6Gl#d;1Tc| zWop3hIJ3}ZM807?Su5Iw!EWva0I%6j+&^e`i@60IGqKY-I%>6h?bD+~D-lS9G;8+^ zX?NEBd(O7Ws3*x)NZgT=ItHk|r;jaU?V6T><e3l04o^yi(sx*iwiKhibF;Uk75aG6 zde0vTABE4|o_TjYzw6CDcP{UbCwGU3es`c$3=E>?pp2nUV_N}^B11U>QyPA~+w-1n zsr4Px#tgsW-+z^-3&g+Mvwy{x66{ifT}lWy9&N+MM{Xe$HYJ3@8ia5tTUZENln{ys zE&iY>6c)mL?vy|3b&pTFr+I~t=bGJCr~Sr7(X#GF=Xdi@W9#nYzqyZ>7gsm`I_s69 z_|l?ie~<CR3xDsl|Nil$_xSOo|1|jJ{Ojn`&C|#0@k06Wo*P`l^WO8taldtO{m?qQ z?mwShe|-A+WbntuZ#OOY|LnI1^6uh#Di8j%yIcD4OZz|F{uh?8|HT#;WB-@?|KFSa zPqd27NTNN%7ug3Wwm=X!Wt)hbvQ30y+X0?!A{@0(k2ygoZIkcUHVHcE3mNgvO$kbK z6Dw(+I}o@7zPZFo`dI9C_)fFMy@{1{xp3Z$L?qeL->ge{&GujHaiGloA2E{uLEy{t zKc)XSY~Hz2TkiF|viy^GkQO^v60jxW|C@qX#{a(w`iHNkN<dAr{>N*5k;MPC1OanN zrv>>xntU1m_aYzX{uet%Z}9pTk{&pE0gMWlxKw27vpX7%cE^EFC3HOudYY@4aiFHa ziTp0l?+W6zz#nj6t~W5kcDXkG;osg!-6B;n?fmb@*l?TbcNoZ*0Q5g224e+j%3N19 z%ZwCGuH;p=(=9_^FRo51$rtohu-PnY)_@@7qi&k|G04T~(7r2emv=w@H}7j2*!g0F z7Ya95X8_loQ^$(dAY!K&>Q_W^tbFD7=vLD}I<tF(nn?u*+C&evF2ponspo<Q`3AC} z<pgCTo3A7m{wwxP!kuKfnBeT<ykvrJf(dpak8h(5Rv?!Kz$bl!<QnGjNgM}MEWE&l zf`<HbU@w4n@t}ge3NhYyp{g8nq1n(4g<pYRF;bAB$<r`+jkr!o8+gr_r<FXT{Fe2G zN0F(ny#PgWw6Z)!mXzT%0d|BJMu1*ad}$uwMX^(yu-Gz!)O+$=ZFm>gl0iF2Z*Y5A zfLEOs^7LWJIU)mevFW106`wE)^V-nvaT>R|cP+loJaI+7U1%t;Zd!^jd7;zb@PGW? zS0OJ0hWRQ0BS-x(^Z51iG)~4UtV8E$`d4{->3?$iDKF*Qcwye&FHC!7^4Q4I2}?6Y zKHy7mOAf#*vr+v;%)2GYhRvwWku4waCCHWo@XJa+JqvhO#eWm(V5x~<ZlJlLD~$q5 zVa-Iiw0lsT1UoS;Rp6egB%fFqI~7BpqImkm)5d|Lk}Dvs=K}>z<i*rVKzc<%=Gai@ zmP<;zG;@VpZ6wukF%)TICmrJ<Y<qCPKTL2EzWBMk-1+<P{|Ar%xf{WOt$>XEUtZ+G z`@bS5miIrs$j4Sqe>(CESH6?$X&Js!uiVS#J$}Zwg*N0~9<@e_+-{<=BFinl)mBh* zyx;MC{gu(P1?rCH+gwZF>Xoq_SR&bKwnE3h{GrahYEv0=(98+b!Q}*w=XW`NS7==e z!U4x0w77=Y;=4Roai_&-e}%mL9gSYTzv1pOV&2{&f0?#qcXRZ&*=|5;?fu05TKPLX znJj}|3q4s&;dke@oMpCA|2u&|_AHQn|6eHor`QzA{J$@>|67`A-}R@l*Vy~tXS#NG zrfLrxY9lNfp?^8P6^sSK`ktKsK6^>|U-uxtbNx?p!#~~23&;h`Cq)L8pYMVGS?fPe zh|K@(^8UxyTL0|=$#>t*`p@p~n_2(a-QC&+V7Z_w?Z49gEA79v+J8c6|CRP%vj3;m z6e9LttMvc8s{Pk|WA<NbJMF)%H>cJt|7M(~&%FPs$%XTOv^b%Z|5uQI|L%(l$iqUj zDhJKFD=A{L+ibSD@T$hYYQe9>gFt!JI4-@S=vVZsaphv<?a6;&<0q&5NB4h(PMQDn zWj^KpPbvQ^$v-5llOUx=@)|Eo{&_BZ{|6@sW&F>}$iF??N(&QgS%w$HW~<$)GydEx zITJI(b9MKqjQ0%B?4<(v{^b8o*YBoCa-ZjLjTOuP&=xvEng8L<&_5vt)J+4Fwg1OQ z{6Au=jQ@O@PkQnna{n(R|FN@hVKN^r#t+D{lk70Ks%Cn3KPdXRVTuiTCjX&p@}o(D z`UOn-T~6HPcsJ1xNhKG|0YvAQi@P5p{)PxUY0yvTnOqQI-w;85+3yDCwXx8~vW1lQ z6M1T)cYE}s9XdlAoj4MMc+WTfQ0MRV;OkBx_nena&UX4Vce(v*e*b`L9q?VqV)3h; zbuOB8?p^;HuJ>t*`yEB@$eng`A9cBIOF{ele0wZ3In?Fb<Z{PrI{Vzaq521U?@Y_@ z_Q)^)<;7$4cBH|{`*usl-P6?Hb#Z^JOuA^?5=Ar?6@EOH<%ucpivq^R37rEi1nS+; zmhI!IY?|+f*S+(T-qi{20R5P{<i|!L9({;M$~;Wl{n?8Bzh*nS|JN?}|K9lgAD;}c z{Cs!x&szUC`N;lXtHYP}-xk?_-<a)J+9_K#|F=4k`5*j$<^2D)^?xV^yfg&9Q~GD! z|J~&INc<09#($UopS9Tlma!<^Kbv>|q~TO3ak_S#iX~1<H)U!6m-hb~u>Xb9{x9wS z`2F8@J9_?8DDD5!{?Bdyi|gF{ZI)Km+AY;qiPP=0R5zgi&4TxT@toL<-2YXc|9Bz& z5B$}ePCq`|OlGd4+QTf51wx)QjY+emjJSQF(-u49c6&1FHoMAXyx$Q<-BF7d+6aqd zXQZI^1aU&QEsS`++2tq7MA;8X)ro4(r}8tIE+)D@lJVR@Kii4O-aBVp^o^I~N!*>6 z!0mkOZI{OeA}7I4;I=_pR|yAV^Psu!=&C?5`i8+!lNo&w^7cVkvJdVrPsK!8pp4up z?f>QUe>m_XbN{~+w*SRuY5#BE{{QzgO?*G<aXI-n#k~S;6p#NG+kB^t|KDo*L(cRm zvXC^x!l2G&!%B4UW#)enI+62VW&W@2(*MT}xj(wpzL`&TS&5wnB2xgK7pQ4qkIVz_ z&U8Ds!h5Gy|4D`>c5N*iok!gF7sR`W)v{ZE$2X^gFldvPcp<_d9Cw7{N)WrP?xZaU zA}5c<@jl<0h#ZF}qNd0TW1gSv?t9JzSfZ!k;|<LXOUu8isg^3QMgE&DE+YS8r<DI~ zlK+82?)AyPBb&&P$x*z>y07(+$lA>hl=naXa%7H#(}zKS+8=!Q_3K#e3G$~;^U-Xq zjh~M!G~}(3`0M=FVaxicUHvim@#n|UhyD9sd++u<AXuPN2l(x-g_oB9j5B{l{C|8i zy#C|4RyqH_wf&!5VqYErEcYwQ&o`_8W6ykLpZ|&E{}DQ6{=cpB|9wNcztmG3lK;3f zAKCH$k@J6CdH%1o|H=aZ<pF>ar{w{Fa+&f*=YJvB{Eyiw9RJni%lNNy{x1W7%K+eV zrrPXGwI=;<rk(D|j{j{1^}o<5^Z&h+{?8TIl~=Ww0l;MdaQXQT?f=wdZ`tv`k^JAC zR<qRq+vflOj;4w4Mm?@3|6c5ul$PEpL;l51rxUjS+U5Q4+b92_&?s~D;4dti5|&Nc z5fF_3@>c!+cRKpZdmVZJWzNx)<=2`$@6PnEDr(FG%f!Z2;H6tU1m*LmR%`HK`ta+g z{+%M+<L^J4%51v$^;z-5$c~R@pFd5_UqAiFh8ok8kMfg)F~?8g{@Tg2OW_RG(Mzy^ z#$!>`ud1mV)PmZNi2LQ^-RQ&A_;q+R9sT&L8wj@;iT}BiKb#8kr<OMO!1JGlySvek zKmR5_(t&WcKDJ}wbWcYU4Q*%#n5GA+JUckxdC1Wr2qOL*EKFqV!5@AXp7XMZzjQ{e z-R5M}+1*zrt=$oM!B2QmLA0t4DC#00Vw8EP*TGo^M$l==a;r1p_GOtHcgHf4N6krh zEHu&nzQS{ORo|J&2#qG4_L%E*(PWILAt=^rj%2PaCw82)L_NryYx27S+^|IAAK@@^ zc6shv;0~JI15tGBeZLID0K@G0923htv>?RrPc))3z(_eGDw7#$#4CKe!*SydH^Tq5 zTKgTPBafA~EKc@?Q8Isc(6UgS$q7q$VQVP8209m3Z-uo)6MtIx)5afKOMvDO;zXRh z5b|7|Q*bC@lx}0&wr$(CZQHhO+qRvY*tTsaC(b=HQ+H<Wt?KH>e(UP~*Z%hUEFygf z`aE~n=Z;~wd}8yv8X>#sKIJt=exUb$L8t?qe#={aS1o=|Sl-pz4-VP0rHJcT4*%!2 zYCqhY@*59gJH9Hzj{S7@Wm~f4k8AUU_^U6Cz*VaT-jALIq@MTdlQ;)IoyjGZ6^Sys zh<Sy_$UB5Mt&pz~-xQdk>|01_!k<|A8dlB<_A3HbY#p%xYgUGBaRv?s!y$}I%TUbl zf9)*<F@=K+!XXgPPtjL{j`@Mz#+aZ_ER`YH{wlTJFk@ZnvZw#%S{aaGB-Bw*uv7o& z^?h*W4lMA_1Q<p|$Hsee;qH!h3>=Z=ZuJvbm=o+DjJz&hM%#uGS)TE^k0DH8RvmC? z*HiN?6tfVpa6;8Wi4jlD%5U_i80xuWbFn2_Flt69CNHew&QR{jgk^}Tn%G2sntITf z=s7qTUl1{R;{Oe=$$W68J{}$#4Wq4v*>7LB2XAr>L-OE1yGzD8CS%z|%OV?}KZRHs zti<PHc*bzCriiy^D!(9Hh=&PT#&|tg7_wTsxs16)#uO|L-`1VH!@*_I2i}rc%NDVj zf(=7CFJZy|aD_csI(#3E%&<OHy1TA$_v1Z>PmiEF`#AbBb>Qjb9O;+K+<h@WE$x4m z%o6+;y~dvR-<CwZk3b=)oZ`0w58&Nz=M*<~EsA^SXz2!3Q<~0=Q)k9<7{kG2UIDSn z`v2&4b1?QYY&7NsnHBqve!-22jM!QEyG@rqx`uYJ-1bH$#z%}}s+qB2rLsaI(Gdy= z)M2~k2-+x0wL7wDDz+ytY$~BTQ@D5VhGUsE?3HI6>0qV%Y0ouwm|e&u_huiUhQkzo zH*^b^F}b`%1+v9(^>Q|rgj(LGe1@saqDk&MJ`<&vsGN&Q-W3`plD?6^?jJhm{ob8i ziI<Qc$}lMF9k9&dZNJxja69oo0Swm5H{j$Y7GOC4#*)0<4s!cr143XLWQJ4#`5mCR zNBhNmes74*V!46#>W{>E^Jf{XiZZG~S`)4VApp6D?&Y)9xw*NF7`U$lb&jgdmyedf zet5=Bt8i`*k0>mLG9fpSRgq=LU&}iJr3?Y@V<XcK%Ow3Ii$J%dgvz{Q$brF(?mVqH z1~C3DZ{%Rdf&~u<;NT{R>E;{z+U<@*L2taz)P=)A8S;x5LnaN6TqbgcGkCNzFC=JG z`_l&??f`E1)iejtZMPOlqZK<Oa;Pe}op)BPS_lay1U6U1kr<i+H&!#`Nuee*MDbb~ zavQA0^uh!X#+(waD!RgWnfLapM64v0qhHa6jQF#s*Kz6#OnLA?50V|PLfKWD!YjcS z@e7%F^kE`A!Kh~$+2@Uid0|7+M(@lrPHn#rj~~r*=zgwWNknSIFgzlV`?h~BfBO>3 zS11>&{3f(=53IOBG3<$TE!LD0Peu>J9ZyjQbpLg)s{Xmk5@y4Qi^W9e)eQ4_JJWvw zC@jMF<_KS&Z@Nb=OIq4e`SK8c%){~8V`4a4rjhAHze*Euh2|fD^;?Ma6qaFb$G!|% zz!soBMJPtl&hLJ#TSJ@M^*gXj#vT^HVm6sTYCAfiuYpxoLVaZm?Xl?|A;ydp(zb~s z+cA?~$9K<?z@w~Hvo0E+x$R&cUGmDVEp5McO@8j54auaPo^g-x${rnNF$_xeff{LY zmkMv@&Mu}x%-i<BgZ%PX-b@coq>1{3qL)W0-8dm+@EV?=^(29Qtl-_07f%V9ZsZZ4 zbb^3(p@;LH{+*$T?>|h{2Mu;`vjnQ%VSpoM*7cixGH6PyWY~C(&BX2PT33p^m=aMd zS8bCA_;dN9$Toqr(#77ef`Hj>`=KDrj()_b=W=42=kRUw6Ul-(2fj86q^hdCA_KiT z$H#TW*JU*_!mhqm{ZKGIB?Qh~xQ_N}>KLT;nQYh2toX`J^s|Jdn0~Z5gkicQ)TS<t zL^M_ElO}(6UA4#kPV?fA2~!_#DW>JeL?=ASU@flhC;jMFVqUWbc0>@<h&UR9hUP)6 zpl7InFk!4Ifid)|Y(kvOR%k&yA)ab@mj?z)y`8?D28xJ-ZF2gC^rFLKpR2DUU5?Iv zMt)tUkT_W~qR>RSlQrrOWf#nVVK}hz9-mVPDlYE#K~n3}md8g}KikBdFAuXq2pT{m z1C=p_>ziKyVgt>~^SkBRG(B6>s$y^=7~GIwV`pBj#=gSuKx(sPp3<E@;|<dTE2gd- zX8XgqcOjR+lXqSG&^Hvz{S|U&!m94zh6-XDGc2c_VrsfQY#XOd%VO!)bu(L0z3(d7 z%!=j-+SFRs+Jh|AvK3nivmi5zsl1IE)~jb=13`Pbm*Kx(fl3Skj^jVSZO-S@GmC}O zx;}K+7CjO>K+?vbU%*t?5e@j38p@I;s{x2&wh_?TN3&!^K;2-wiz+<Pu?KWS*MF~7 zd<g5{Fxf<F_{Z?bn$0{<Ha{;d?=9Wo3G^j8Hcde}4y=Nipg26Cq;fU@18=h%46}9& z1IcyNm<fAS?%?(?wX~Jt=*BKQ_ntre?bk$jD=bltP#l|HlClOsKTb`~c#pYN&r$aI zJ3=qdRRl?qz1Y{*fx3SGUbv}LgX#>GQ)KX5g%zn#(L|nUryQvyZc2+2cB>>0Hw+&o z1YD5{!9Cc9A3tO(+4g*Br>RsdIiL_7j0+@HeO(mAXy56UD)T+t&@4RCS>}Ne5Wk*x zsXvY=p8kCkDAA5D1jLx!%om-WQW`?o&u`A?qTOV5yv#%kEXlmoP+7;%cDmHs8R`$W zW6e~|9r|XlNEqn1#A=L3N0TY0Dz;XxAt|JDHKC*pEqm&d2ue!xFLp@>@^40;M&P2H zAiY%s92;aN-j&~a!IF51iR`<vCzqa#;aNsP*!f@q7;{1^0}I&hKA-?)BjxU&{+;hn zUqy?k&;HD&?VYide+Pl)BNTV%!q{NP4A@94K^q22U4XS%>O5A(ljP_H4)5&PM}eRd z#zr(6R{8y^w~PFmv5afLAJa?bmQU3@I)tBz&C0m-{vRpFAMlDhaVtEomT6nqVV~=V z#Qv86{(mhf2f}Wz00!5c+dl(f6GDQ;W07S~z00jUI0sB>RS=e3itZB4Bn;R`B9uBI z1w?6|wyB~<h)3((bcg+p?Et{(^G;>62$n<DIo)7kc$a341PAGfAzwH*)fL+~JxHJA zPCeiU;HP`gHW9IR3vYnhx=o_9`3P#j+S7OtN*U4lmoYY*^d}cCB=PtZ7;<jwJJtmo zyh#T*(Vq46Wl+pQ2y=5PxxoAeCpQ<y(3;(^Jqp&xi2WLlv_oQ@C18P}*yPkC0(|uy z4bKX{3THMNZr99k9xG>Hsi6nsRgoC>*kzMVtrhzZ*y%mz1;n`s=f+6GxUff3_bPv= ziO4&K*`gdTjp!&A5CNx24?9ITos*na%>$p5tf2|JMxWOnimo5<SOR!0I6BgL6`mLi z4ZjhFj+v4s!3l<&lE%U?oeRa(vIj;S$7EOO_vzU<M<Xl<Cy3}^SA^lUrL<y7NbwOS zPu?*s##I2j>j_0FgC0~<cS2jk@N{GPqg;mb!lo(7->=LhrawG)Rao+`RL^k8{7^a4 zHA$^M=xYM74Mg9TjO?wYA)rO)FQv?k(;{d9Cvd+CKS}AE(TnU9+uVIiN$>1~{whv< zYEOUG9};;m>cMxzvQ3^FS06vq$hpT<=AD$BYut5#KEg7<4Pp)f8K}>|epgo!gvP3A zWHYwGVY04p%ZBMdCh_zx!LD@0+gNNg)lh|;z?5V#zsunsf!j2U1AC2%9>Tq6-*<-3 zU2ljO({yyuNaN}@|J5^zZg>$N=Ne?q^rtU#o2FaiMEDEu!EMH_5$?fENOUU=AgcN* z{ELO*I~R~5JD}w8!YJmA5EhMp^n1i6ur8l$XwPvDS$j2dhaNOKf&K~a9p$=)=M-*J zo7Wxd53$W3!uA6Vcb@XvH(S>K`}pZmz{`7)J~P+fVy3?RlUVotD$QKhI~9Gv6uij) zTar=!dniwb#=eI8lD_)TA1|M0F7(R}?-;vHvozXYe(s{53IC6wtsN#B@cnQh%#i(l z-kEI+$bFc9U;QA>Km_amxR$i|y}z`)yg&8dW~JAD@A<!H>gUY72tB{s-+OC6=Do+D z=Qp>Y{c3!9EZ*&WKPURDw8C$a%YM0-{M3Cf_%K8(MzBCeWthY`XUDL;wM3g8=~BqN zG8}`0?7<&M=PnRZCj8wR8ixWHcmmsEoXhjLxo~n=X?}h<rY8S-9sA++f8IJLn?KOD z(j%f&l4BGhHx93jv^GS&D8qVKK|bygTJ5b{#@vuZC!SL^C!cm3&0?sYVdN+oC<7*K z6};cIOU?H#yR^#dDmSni<bv&X)miyL^0NL5+27g^vb$L+*Fy*nNNs0?>drzqpqH0y z5Ir05;Jn>dB%v`i8C^-rIafW~-`XLiuhCH$(L0jbOU_15aqBEEEp}EmP`DFzd`IW? z(F>&(x)m7n?yBM{sb)<PVd3azDC^d3@|hx6dDJyhl}N+qXz6xMIWw{8jFH|@KA9vr zoe8Auw8T-56U?MDB>zTK*@2&Qe7*jo%y!El{PUC#AAcWvcrW3O9axouu9M5)X3OEM zXnN<m<g}{ADp7;#0qGgJoi6AGe^8ycu#l^elr6I4RfLrxNw9;7!@^0jHO9vk6AE?& zJ$FBt!YpT6PG09jA7hz|c`@0HEVkc}^fZ-#e}iieRYebb%U(nG^A&Bi!T>q5Eu;UR z2Cd2ki1uhUhyIu|uw#lA83{6VQ{K`^v6fU|oTL<$8~xS{Bz=$sn%~d<hDWmp{WHlY zwmP{dwhZS;h6F}fSkuCdU`Y1c8tv&3oU7ablod!<YuI!k#O+V1){a0J7N{~ICR^id z8O7Ja4U(+StUqH+Jnnz-bPMeO)YUYdc2$&AfSJqfc#>0is@%Xe7d9a9s^s`O{?)&3 z#3HJm@VExkOw;>yZXG+;Sb{L3bJ=yBDc$F+whJZ9H}v6tNYvdX+E6!PDJ(b&$7H`6 zznIR`z+{HB&8nyV*^boXvG6Z7f`Cz)Gt-8Y1R{sD{c0Cc<7(<5xTf%PDkMECPcZTH zolKylN6A5|l{ia6JW`!Y>u}IZ1HvMSbgHfnbjZtc0iqLbO>k@k`d*`!>~#L@>DY`! zAkBcF2y;~XbBgq&#*nKR7J>UBS5p073A>Y!7@&l(9to8X>u8M<;iPi9)hdj=I<uHD zg|3M=CXC0rz8#=ZI87UskBpqxak(&{I3w_VG1bay9>GL3sUSp~xKIZDfCa18p?b44 zF5<iEe^CS7Lf0Fz?l)FB^t0tpjV$c`iz>D6M}X)fVGSIA(!Bm~uAd^SS19Z#c9j^( zX02+)Z0UM)CosHpm0z;TJi@JgOZ|GnHaTS)e&U%FGz3y+P5B7U?GjdSz1b`UKz7EN z!1VMoJ*p@Sw9T3<ipp-t(Ea*a_AaKa79o%3SBv|v3#~Oh`d$=AS7Dcc=WK^%htUXq zcV5&IxYi!6^eS&^A8ssZWa~!GzuG9wmm$L+2-6_!9L7d*B%f}Gl2N-$f^M%vII0LI z(#5?5mrpU|9(NL!iv4dOSc#z(?>V<nQ8*l>3;@6}A^bKXYl(^(QEigxUUZdkqh!a3 zw-PLW+6j*!1+hvi`kN|@2`PzoFH02eCj^yJl4`N*Om5&BMJx_ggl$Zcw`93z>B<~_ zIx+~L$wa<JpWP$-c6FNR>mHR<|6;{t)GEE4o2vR&*6YdY7v8L?*B1x134RycseIcg ze5OpEfu_oH)MZKqXuy8cVNCVx*fD#_67CSf#>o>-B(RF+CvFR@80Zzwh^+N?6x(`- z>2{qeZ6j6>7vbo?c&~jY^Hl9pLg6YMtOGm?Cyjq6C9(WTNhDddgP?u~^HQSyB{KAg zZC#w*o1EMFSx29|>jI~7?*!Yky7#`l<1Kj2bG}UaN;u}<KR>ppir<%e<gqo#9cs;% zeY7v%A^LR+`o^BCA)0Id9fcNZo^hU$3;)F?ZxPYSInV<Fgyzs5WbkKRIG0OLo;ol} zmK-H`82kJi>*HrIyUe(_zaLSW9Af;xF^xhT$rzCG4XnI1%ughY*ct+kUFHSY=6fIx z7#Vr&LvbZ+LgF1vh?zw5^uKr^BGG&!9uCgmn-p`XHmB>O2`FH5Z3dhxJ=RR|9S?%j zgc=Ge78?0R#Sr}IYdef{IW~!+l14s%w&iZ`=mmU2iXXjPc7_ydjM4k$n@G!GQrkm8 zzg6^EjEVy;jS6OdV}|*N`F(~GDwIkNdg|6+qddox%r6-<(e>kU0&elT#uv6#bB#fv zDn@?|J!lN{d|ZqVh*N&C|3|OuuEx2(<?Z8RvwpZaAKT6A?%-{XQF!*}hwg&0&Z$@y zk?qo8rSw1Dx}%aQj6*v)lko!VLO4Rs+rSd0F$<dJGU4YKP_j7q+IDyM1s6aV`c0!M zUczP!H4Ngt2L>8r41BP4{yiO?W_&MobzWy{!9NL|9Y%5Vv+`hT!O_lNS1A{{{$_qy z11(W19G8&d<gn-bw<S;>B2Wp-C;08a19<maImL}!ienx+n>#?%l&5e>%+>?A&L-0; z$Q71DjI1!GRkJG542hVyD#qsKM(4~t$Z}}M9vvXK^RUqhib2{U5Zp%>i+(lPx9mKE zUHUtei{G%6HIjUa*d7$M^Iw`S*p6i<HAc6N)iq8f3D4b_cIeD!GHViE&P%l1^L>-b zs+?iTw<O8}aa@5h7KM+ul)fAocWL~u%2%6`KFF6KSdx9CjS4sOq`{$=V)hI($~z+! z&?h)sYMs>NB*1g}FX9_LzZF>;x^Z_)RbHAXUz9tb%faH}_rsc}8{uL9Cf8Rps`^}9 z-5fuXAM2l@Sa5zf^w1|we+%hxe?6Rkl<^oy0OO$v5^zaqkV(|WDKR)#u(iO2fo9*I zR90$$6#@&C-OW#T4D+p@e4upD3%u9cC~%SjWggS^26q>&?}q|zo>BP5ucE03n#DVc z3B|rt?~dmGqI*my`e1PJ==GRQoC(}V-qnl>L`$StpU_(Yx;pQ64?0hyo`xl>rpdD8 zWTZeavX3XWlI*k+RSR}?4g@i{jN8|e6a8s;3aLFp{gtaxHtl_b;Diz4rDgJS(!<)G zGXMaAC(rJnjLvCplUD`5>JTq_NYN|}1c@JPX5R1+2s=X|Cxw5!RS%~e2yei5jX(z= z;}~d*Nvp<t7?E&i*27`4!%Ed436(1k58vbFyVchli*#oqav~zeCA9nFvMk^zwbj?? zQ8^=h0}Ib0;yLalsp#kM<9ui1K$QEJ?^RuK<ykT-egCW^n0*TWan}#`glX#%YBKbh ztOa?_QF^-7#fv~+`y03at#Oar5MF77B{iF!rk*h;_x4{&F3<?~WUvd86c?yF_HPu= z_YjeEA2DZ&#%-mykJs{zOI)1Rjo#;TL~L4^cZvJAcS+%9W#Oje#dUOvXxP@jXbXIY z8v`Y7YL}(itsElWd7bZ36|7mI?1NH(9CU`tAG!D8NqtjSsHwCPtOiD@pL;jZB<*PP zwL<OHT1AHPBy!SjJKS!rcWTDpe_<Hjz(HuE=2RUd9$L8QFeG?#2C5pPN-c2$h<ZAX zFdnSRw53s*HN5%ePSGafb)=Rdr2Fvu@5kzY&+}j(hXrSptT-ATF|*g{3KG%V?~3ow zj{3=_xc)6uL9*hxnQZ0{BH_M=MAIi9UIJ$mA4`XgLICsi?XO_gunV(*10oSXQqto= z2q^$qm_Tn2wlyeJBmfpeI|^~OBDrhT&&kh&jjLzpP->4neyB4Hco_&i|LI^>ad$9< z6Lc>$;QM>|sxUAp=R-HHgFKK$7I?CJ=S1ZJ`3WlP?7>TP&fA~B(5>@#uD;mF5`7n- zcr!qG_~E#SpQpdA)DcoImf>VmjnY~>n<lx7^f%yJx!2z4JhD&+TW$eqIL{q@VM}!9 zu?CsR>+w@?jqR{ujM;QxxfW77hU1lNDc7Xm!GK8H5%O?TD`6@?MJWq;8RyPD^jp&W zUk{X{yFR9?N$Ji3iXn^A`gB1r>?WdLjlN&d0NwVRAuV9%miSn^Q1E|P5CnsgfT$$_ zBgggCEk4>yS9Wm(BUgSttY)NF@Y~B8^qc(X?1Enf6+my0864&q-(&rMQV%3uwn9%P zGln6|IFOMqGX8y^)1L9eBCz`JLdFgP+Lva*84t<I!R;wyvw|hmp}6Ii#&URXOMS|( zHuiOM@fsiaFT%spAU-IGrf%yV<9iR{uXwmpZgTe6Zm_GJRk-04yZ&*apIXXGC&30- z5KT)-thrc{6ht_^x+jy(=+12BT)aBDAdD5(%aWI(EK_~t%*05LA(0uYMOZF3iF)sP zZ6zBfRV2HFzzH(WwA37$(dN`+H$^W3U9Ol&yHcpBcumxbi#fBbU)fQqomCK><G1~r z+c5fa$9m}pdeRpAkT3G@kS>z3zQf(F%y7U^LYC28S>-Y1<gX^?wS>w}DY`bzG+s$< zMvU5%o7e+lxZmOL_xxOtH$<Xq6W5}H2DnaUX87S_s9jNwWA%hM){iQ|4UPr;R*j_n z(SMR>@<8HFQeF=#mS-jqqB-3oR;LXP9KJ%Cknz^^|HinQ`$D(-tx<KOgBXhUEESW= z%>T|7%Z3*n=Q-#Z;p|bw-|;whkV8RkH&3<3kZ_r**7|Q-&phl2{)Mv@WmTDIIgeF` z`iW{*tv={!f0OHnVGh~Ze7YIJjDe>&&V6gkruH)};{I)Mviw%5H2;eV))aEMZB_+8 zgeNixv;4E`OhrE#;?DtnQ@a<25<+H+3NYu;$IKo9c4s8DM_cCOyIdKm*(5+aSx>w) zN;Znn8f~K0i=iz_F9+|)8I6&y$r>jbJUbimNg6$7NJj=AXg_}sV?GhNdN=-II*^W8 z;+(`a+NS-3*>k!)oyGzmD-ES%z(hl5OfMghUM|4APBA_I%I&2VIWX|g?2Baaukvla zA&;glO%E9D#ns)mYcBUuy!ZA&@-Is@9u4><%p7ZXtsHl8O*mk?KjDYTIFI}>E`TQ% zL2;Nug_w$`&<u^O$eyZR2U6#e=E^OUx{EwTI5ik4+R&;`nu?2wP`13)Gt`vOVwROK z=w^*lAvhya<l2GF@Te4DdG~Sd(fdphLEmcOy2VXOOzHkhM<oR^#3T|XiSTd;z)&(Z zvYnH!+6zazDj<bmXP4}1FD9b8XckG?$PM}`>`;|5qsG*bAV>^;swzO7ebcs|qYLJM zQ&8*S`n+TBakAdHQel=|%9@N{01Ik-mp5wd1kY~uk@p#B104=pkPRpuI5QKo6743m zNks<=Dp9K*=)oI6bE_~Nd=Pfw(cn5)Dbh2cJ@>nfwlQTEq^BjCe5;O{Y{bx123DjO zgVDOcv@_xorLy?POH|cZ>9cW3XF#tIiWbEw4{%KRWM6~cv;R&!DZI1)v6A3gE3iu> zRM1me7JH%2&kCk5155c5xs#w-#vj(_j&5x8(y$z%#4j9dby~z@usiXXqBU{qlEOx0 zxIqHUaw22(>G(T?fG;k_yrBCOA1eCzN0D5-T?U$xAV@_9zu=5<7V2gOXn&<+?i$vc zLqQM`qo^gA<dzXnf|f1q?6VCv3FmkdCmLMgykz}9!gBh{{e2^d*sr}Q?N>KkmTVI9 z3SbrK<Y!HEw+UB|vJ1>T!&EY}IzmD~U(iP@(35j#XmQu?^%KlrXf7GxiGh~E4!oHh z84E)}E&dcVC^S#?ASn%!he7zGAh#%)S!|+&-iD@Us?e;a?r816S8>7+3YE+a4GrYO zHLJ!El7}KT(!91xv2N)#FkgJs80A%BY2c!-k>B^g&Wx=>W>OI%4RsvDzvwXN5Pz>3 zz6uC<#$O;ds1t3c_C;R_JB<q*+OLzDvp{I#Rj&ytYD~-%V+(2M;)eH2EGmZqK+@vK zjHDGQL=CM)0t58_y+P?cr7AY5D#tCVYN?T|QGYIz5=cSfYEj1nyWd$wB}z<|dd<wC zr%Tx>;rb>CJ!I6M`1;aS-j)@9{9kw7cpZ&3F=p)RirUX65M>0wY_2iyWM9eHk`2d< zKUwokNcH?sFhgoF5TFOw<z}z(&&+oD&!~2#In|x2s=7;8$&p6!nFp;+0V?^cs;mE9 z)zx)pN7#!H5Z5NWzzxQ;W=lkO?J<#<0X5}eg`%%w54ZiRxI0z*x5bFg=?y`PBnlGt z1Rr@3XR+p}r{iD9eO+#QLjapHow-0GsbL*|s#fOCir%)3wDC;$y^y-R5*8*=1iJ2o zH=g@ajVIWMcPh$hC;!&0019|J$gA^9_?Xs~FUlw*r-(GhwD2G?q#KjA!vmCRllq=- z7g5*pH5lsCf10oJ7Xu@7t*TbmZuT?f1&V!(G3^aVn_x?Rqgdj@vP@Mnd4x(*`yk3B z#`pH)p+#|tkBw>TE1^e#<-ti<kQn5zBE`@{k7Ebmz`duQf{v#7IA7m5dRjjBD)>wu zu=j^NiYl<bi2k+l#ZTaU3uTw2KK>0<w=3iVsPz5GaRTel=wPl!fHw#NZw?fYO#YeC zlRU}Gf%0&GEgJCTzXzpA?iTd0Vt$A9AjvtLDo+rI$u^=H)7@0>e3vDIT@Yt~YdxO@ z2mY+9yzrN)Yw;+Ho@yTGGiJp%bn&^Csc}?HtlgxoDJPRRG}ieWF1SFFf7y~tWu+S1 ztM<@hcE-x>e{xMzC;7mwdC6L-VK!z#3;o9PU}1G@w4}Tl4hH9_PJ}7csT>gBzE)&N zi=~%g!2$U5{y`edK*bjYhH&!qp#`fEwx-_dOUuKx#-DJOzW-MG&YQTEzg-uiZMv?d zAN$}I*g`=&xHf@p6}$-cF<AC^34nE)xV-xL@Iv+Ng!-mKOW=si4WYd$t#|NbebveK z8&83)X3FhR%LQMT8rFLL&Lsl>@<Vz@r$&-#M1xANNKre3W?lIVnn~NI<$Eq^f@G*7 z^Gm*!a?3`YAUbyfl^U6Ao0x_L1-ht$KGArgQw=PziT1NJPbbBwMBu>h0#84?JHtjU zj1iNT`K}tmACam)u`-!2qNMDnS(REkJUj`<go0yYv{fs9T7ydeW=*EeykX3=(G*MD zJj;h)T^04dXMtFPDX;v^?961g;&s#BetMGrXG;2fVz4cOv!~LQD)|dT23J@(erVgj z+|^^|%$iR>Z%)4n3IR>*!20T-#6|xy_vM=1=Tdu%k=;kh?lPqAX?XA5^W67iAGQ@F z{nk7h;E{AMz`yHV&q0vgx2SpN)Xg&h7IAZ@!|l-M4R9S`2(@MZ5M_?yc?)2bX3O;q zjr;nm!QbQSp`hvImA1tOju9#c;>e^?y1AZ(m1%5#2O^F76z1HQfrk%hz+)4n2iZ)2 z*1Rv80K5rp7`XqX6m}YW>iR|Cc-pF?AC%)GJ&p4`6ZmSerzJ~vBx2lp6`fUOZhd~W zD69<$Ym(#~k(9?H5)P#jSoE?0vT_uICQt+MO_2!>fe-lPQm@m?s*|>UTdhRr-@+9d zBnrzu)l%V67GSIl?e{9)-&}2Vd~M6XM-S!~1Lhaf><uKw*P(IhbzrmkE^~|&vS|jf zf#@*8M{~zJZ12<ZtAVu<rONx6k2~m3W^%K;%_^ACe$~>dH7qY%<)7W*iyf4r1iyf7 zcUoVk{Ni}3uNxctrL$YPV7_YCpKh&MR;#TSd#e|(V!b_E7PkXmU+eb9PuOZcP@vP> z=^UolSZiH9PBSM?3N{QH43aO;eEsn~YB!6&H1n*VHmCDdOGHryy5<bstmSCl;aya^ zf6PbJ{^~{!%Fpu~^qMuy#tNLHcq9mECG9UHu#d}Vpjq-dyN-6HiPi?gZEe^u1)^L9 z+l{O>^3g`k!-=x@xR$ZEL}Y#U#o}fQhvoS#A%X*=={QFbb`)++d@uKPg^@m?EkWvR zA@>FpY8qnfxFaE@vrGF95%{~F8o^9DfTB%an_GZ!S6-=FR7Qxh4Nt``_BVT1@G#v; zCI-ufE;cFPQ}zy8Ftso;NBoPXfDeq+7r~w(sp6O|G8`BAQ#7(u_XK6NoKKr2_s-00 zZE5E=SKrFivz_d-!2=eG@3@5$gi+y-2`h+GAl34swkvt|%u53}TkIb8EF9100E2j- z!JUJ!%E@rG6v@TK(?a6vp{YXw^i4BvS-5JJcMtkmxN`3>wLD0lU4K7}F~3S*J-4{J ztXjHnJWy`&^KqT$xW>iruW_$(eWZRbb8-RLB07NXXt*P*lp{!BKUlmtN|Am`03`6- zw{tgoy$;+mV(RAV8oq@yDvb?i#n~uL>-6-&)xz8)@)8p{6$dXG9$?GnT)?1nyrZ^i zB7}tw8C=FtB+w(<Gpr?h(3F<)<!=;J%HFn{6w(z~_^fd1soWl~)ryMJS?Y!b`5=}p zwh`|c@r}$jK6^v_AqDA(YuW;royl$O_!9ioy*fI`1YB}o<>O+W_2ab+{~QDrN=u&< zltKgyN;i`(1N{W-LcL3R3Njt{Ing@mTVM_sCRiY=_M#7Nd}2Bth7!hNBY3-XFSsZI zBQlDLLb2*(U*+|2$aOsj(0EggmW@|k+Ia_2JjOzy9=i0l1TTQ!ZW&&ws;~L=vid!y zQj`e5{-dF6V=_gZ*=gVajMkS(Kdn6qk!EwW`DKD>yl#NS1LAH{EE95^3FC>KWYxn9 z<q~QeLJjWr4k^1j@k>}I`llgK2bNgATG!m<=7=4C@tBH-DR3BE>7tW;UP&{sLFE-h zK~Y%0AnA^R9vBBCE0IrFfc75WJ<^b8M^zSUIBH%(5Vt;~Y|v+$x^J|`#q{;#Wrp^o zJX)4!8e1fwfE$)MQRN%WQ?zN93XJ1mE+in-w(H&_*&uF%(du7axZ1laTo1EH{kaIL zHPwQMhP#vdpd33QQsQ@l73E)12TLM;EFCRj3An@Hzg~3{Ybk6gRb(3tR$d9zQFvv@ zAMrBIW)MIpL~gCu4xqG+CB&^I-$bKLXpMCv+UsepO^_77EoE_zp78N8h0J|gKD$*o zV*5l2G@wdW-qlVW9d-_crf)Aw(H9ujV+~-y0b$ZlkmlwXT8y-Zk!wh8%>}6df0G6= z(WSW5C`Z;AS5%+7%e+#jr%Vwrb9{=iBvR_vNmL#`=s;ww3eMoaMT4=0reFq{J+}S$ z9GfdS-N08}q^dvpl{Lh2niTOgAvKl#CcH`-o;jm61Vh6Kfn{D#g<;-nLr^8-GN;1x zod62=MJcMez-l{bth6di^tIi6KcOi4HKZ(wgA}Al(=>Qw&<KX4FHvrv5dA})$J6WT zouIHwLB69E@Q}jk6`TkVJfy@f_}$$0dVIA}^;=VsilR~}2$iN}zsQ*_c~Kb`Xm|s1 zD3);TO(-|^k<rS^1lJ}07Ku`F+B?QNwT>^(VUel-WyP()<1whXV2mZt|1wAn>D6h_ z{<~SjtJiN?o<=BO!olXFk;rQ~NDb#%h^)17;ltC6p8-aSP#<M5%Ax8RtP+bWyz&UU z9aBU&9<Y-iqnJ@t;OUJAIug}{pUOEYoqMMUQzyWFq6fPCUDY*I*{yB|EqsK9zzs7p z3@i!AKNjeHGac^hW?4AVfG=;?7Za_>xWsZ}Ay;OTBtGK6?0sqvsxIrwpW5EE?qtf5 zopu$}4{Uw-Q{Au}RG$a?c%z-6nld8xTv<#~>~nRNx;fI>ekUz?P8pS>eD5>hbRtt? z7u8&pszfn`1wHiWIbKdSE1F5e2$-Gd%1(&KBu2OC9EGI?Pb#PqVdA|E-bD5645~4J z3={*%<<@d+5&&3~l&z31TQ*C+o=Bpj#>r~C<|JQB4N#4-jg<ymK$rK3!l$X@i7BQP z6q#mLK$=O;e>BWE^C9Em`!hA?f5ExQw^LI-P<hthS}O*eS6J1jyc3Auy{B>&>s8yv z_v@SWv^RMLbyW7v%a#vIWq&Ve=u6kbhpv|o9qnw$HHeaJ>FE~9Ep(UQVe)$HKK9bD zn2>ku`ih#p4S(}sBY%reRdCGWUumb_Zi+3ivBp@wD1i}r&snV=4p%l3KkvyjaWiyS zd<qJh@OZD{BiQ)v@>bu;9E~FmOdKQ7D^@y@Y6^^)KY1O@DKgsjQ9jfpG{=mieD@hw zylu)_C|B^5a-GsyCEgR}yaGpBIi<utsLAQQB5{66ql(;IPNs5-)mi;n70mAD6VwgQ z9?dP3=EmoyzPc#ysdagTiaMt*)LXAKeha8rmit@jNnOb&DbZ5R-Kr(k-6VKHpV*Fz zgfcqNmpxO?X9v;}k?a1bYV~Ka@Q=7v6My&}%XB?&LAW=ND~0HYp`#-4S28oBFD2;a z(`?FnExrOuN3N)InJ;ZLc_h?2P<Z0NYm|5V+tEF)L=zkTOC+G5n9b5)8R{hEaQeWk zF>@#x8;Z78AlLDMtT9EO8h)a@z-cshJ+Lcr`BuHa$Pn-lp#{COM(G%HA_O+t`2@(S zwZ_A5OZZ>YCZ63SF#xD^*yuFYSlj@s2S&145sV{T0u|t8VBsBsZo}fb!C=GtZo6@o zkpS7H5Yhv--JafpGHi)Mp<o6b>kmj5q~Im{V;M0yaiA@L`1$fV5>7j1(t-UG@P)<c z4WKz;?HQ&^F`9Y!h^O&dyEHj6a*Vw`^S&XAcqMF**k!E0<Zu$ywksFHde0=d`FJ9A zX2UY#4kA62CQQbs+Zx7$(FcfykEQ`-;fE+MLg;NIy+0kZYigI!sC_f?tuyd(S6n{( zQoD}&T;O6=p2ZJ>0&Cb&%EABsmJ~S)(?Xyx$LsYb=HN5o(OzsN$1G@SrRK6b6!l7` zJyp!!QI+FPS~4gXoLqx}7;A&aLC&mnQJW}3Ad)i#!Zs?-k@rT3aR=Kt65UMnHRKjs zcE(!G+~B=!vDHp?W1+q6;>J>!RP~w!6`l}d5iJW++La@xa&W6%lhu0ob<AxN3S43D z_KA6pCZb|r3tiuC-=2j(2j1>(9~4JT^rF+sLwGNW^<h$naF%hL&vil<5RiI}^qXq^ zuU63_4PI>}vQ1+0_nusdLy3S|0fL-})KV+Qm@PVg(4-&6vH{!Ue>AA{8};TQ0V=QN ziEwB@J?RFHe6mfA!M>pn2^6ymq1y#bM^6>TNvs@KtTmqF3}BwBA{gvyyj>V)8#-6z z`F<SMH`q7D!O6#Ri<ytgU+YU_f=4`mi$<Z2tn=|&;gH2X3Ap^fBq0|qHOS1+2XElX z&HG0|s33CN%O!Ro;){P1^_xWC>^$2$<AKK1gtq6O@HUFQx8LquZQwQJ&jOXQw)1oK zmRqBrtfJ%t)fLLUU(Oc!^KJo(?FDP|P9M-K<J?~xH&@+SKg_(l6=m~%9OL?+upmI_ zA;$H8?|J!R1jFttFOaWdiO7}*f+*2h(~G;wgKfE!qW^9aQn`qz$O8dO%s)sv>~pXj z)wBhGFs?(o(=J<azvPM;f8LlLHQC?VX!rJ6vRTFE_O<SKcW+&pLd$4X->6_$nnauW zE}{x52!kX=I&?k-^^CSyQN2Q{Qz~d%>g<z~T!Rt?j8$jJ)CT(geTfPtUE(%=CK`$X z$oZ|Xq}S}Kaj9^%rLDoEs?oU{QiJ=s4A|Y^;^zB?Qr{kR3Q-z#RP93&5@g-;&PKzK z%8fQ4^;a?~=S_ai0J(njy2`#(@}lnFc_2fTomf~^k`=trc-o9Pt(AHO@o-^A9LmAt zp}{(zuWycEVX8ww#Mi<kx*qIF2)x0H6{AE>ztdT@?zL@JtIq7*yv+_YeFd|x-QDtQ zZP&(Lc0+e1hhTI-#)MEpzE$DS&i3C#rmY5)wRE=VI&PLNS6x2G#IsnzzV4r4tX8*X zRja>Kwf5e!--ySbMH9RP)hMpsLG2;;C2W|o;-nHDf!ghVrCM7$r;i@`ULJnq&xYc( zqr>Vd7?LO*CZwk~SK~My2v9Crb`IsZmZjy<`Wv1_IB7UAj8%nyT;u^0R%J1f-ej|e z*UjuQM?<v$&Ks#W+0SKm$$dnmsT(1a{8@*I##w(dkF6bEezQ7QFZPL_d#kBFmGREx z%aoRxaF2!MI;x!{M4Vu$hc9Cg>sXVx1OcICZJCrNu0ir;7AO1wI+RRUOk(|kAID3V zXYGz<+3a31BRBJqs#;StzelT^l9m&T@EELU16qds{iYUX?unlO7E_U;9*ChSGp~=~ zFpMBxdfrP^n{)SJ@L|%?(59!|(2TWorxWCb=*8+MAN04OvR6O`IzX2!KnJi(G-E~Q zkVk!9%k@rk66KNAEC}tIO_^vwY&5-Nyc}Xp70fnnOgt@P4D;bpqdS8Ia66nYVp0O= z3~it>*`yHJbyjlH@YGi`8N~@(UoHB{d>HL1Q1&z*-lHPy#tSPmfmh76RVy}9G1nqL zK2`!3N?TWg`J6mQnfh!nfYn<jdo=VScf(y~i7~LKO#lmwTrg~4*76iqcol|!d;?E! zps*!cM>JH{aJR-Ahz4)R+lJs^ww$TVU+w^}NV$^Aqw;ZaL_8+AWtH=z({-J*fCg<d zYjG{*CnQB~#+<}8^Om)k3t9X!zI=rTzR+As{=Q~8zfK^eqX5AeGs--gl!Bkzk-lhe zj8XjI6t6}-EMwFKnFzS<q?<k-Lhu4fOVETcPRO%@HSZPNP)cvj@H_*ecwC#>SOSWN zg%zeY1woxcmsHg_^UxK?N7u~Hgr0QFg`q^BP~M`xC89#Z%G&!1i+``D*RNZ3Z`bQH z+&asC_mQDe3Wmu1T$EWV1A`s_N;D*H^7VLV-b_c8wa~rj+)Jd-V|9Cdf#$GKWFvYF zm32%_394c7h%`{_LzC-Y$I4^ka^_?>N(ic9GRMylh7;&^#EZ|`9*Db>;(nt>hRpn< z_+FXE0Uy6}rxalA%S7+1%9reDI7ZzMPK;hQ;knD9EgF4HI)3TZJeK}U-H4+!M_Jyj zXcByf1+_}?v>8Z6XgjVC6TxWY9VdpucXX1bj~KILm6g}ANMPJasM2Ys0vU^HlH?KK zWF)<I?YP~E$KGY%+UmzRkuQns9-7J82?t9y_W+Wn*ndF3da=^jopw>8h?*~n=%C0$ zx7cLXFgmS{%qL5em`0#iq#!aLok++Ls@S6+2gIbzMwlsfC%=z<1mh9Vrv*w5;_}zT zSo7KWP<2jcSPNc|)AT{J%(WqnQzc2B^1xd`z2!*gi$zb%Cm9#AuC|2Kql!$s6;sml z2x*;+F3<H;$9@W5`=J{H2Zd8l3`3D;3hQOOT=t^iH~>ZX8lPQ6Vo*wX&L9-Pnc&9h z{<c)wAq>ZD4UMP~w968sMyO$Q?F}SXFqT7uoJ?ySrndsd;cZ~_3e%3xG$eG1QkHl< zbc+@fHc_j;Evw?FAo6X~BMnY;eZ*Tm@p!f~;hk^y9iIaLPe>1QgT|FK$vHgd)F)}= zMed|e(P-$m{0KJjNGdFItWpZH6Q$T%YWS1G7dkVso#1w3i@+}YY?b_WZXfltD}XK= z8{57bT3)+il&(a2W#WhEJdT=Q&q-wWr1<9A?k?IRe^fK{de8~8Vwa~}{D-LFK#cyH zm8KY%5AcHXctml!M5#RX@;<E`X~r@@N}p1lhYtRU)BJlNg@_`5x<nn%&RA8oaCH`` z?fUreJl3}G-O;~y>!v=C2OrIeaC-1>exKm4Aff|S$>v8zGG~^{jdwACMMzG^87uZF zT<zSEH{CIzGonL>**%cl%hCSzGwQD>VFYtdesR>#kj7;P?7c=%IUI&?OsFeJCn{mV zf<Jp5$q9Q012((tz-UHWsa?kbgmi<k9xkMQdE~%W<wHITNZ=z0f1~wH5JFU(C+Atd z%$JSL(H1)*ZtFM`>is@+t*sdC^oUY_SmAmA$3=Y`Oyz^)KQbeCtin1AqHC5!z=Z5S zq(`U%MQz5xr6NV%%EC1E8i2oNW+S^w5#mXLH_9Sc$OP3r%w7_3&W>gb4$(qGZ95zm zt{Fj>Prl@kiEJDhE2bE=vmaK`Sc7oC4OGYxW;ncz;WZZ&>IuL*7e)ARjsKP+Ws~f# z@8y>Hc)dunuYcjMn^mSJEdyOiL6n?inPq-c{4J;{^GoEJG4ESYs-={rQ+gFqlRa(T z=OHH&txrY74+P8OP#MRDc1<|mJnF&MMZ&frTkr}?DmEm>GFCuQy80exnZ2jB_sj@T zyEs;?ORCUGXV-;->qhw}hY8HCVrED#P%}cbKj{KKY8t>HU+MeN&uvoRpNXoRqSkW( z)FI>i1}&pTX_V~?vqRx{0q8Y>2h}W5z-}{PGc~J+?H)&kaNS>n$k~m6m4y`m7JQ0& zA_280n;nB|Z%RRS)N3YR;sOaYCA?7W_mKzkZ`y9uSLxvHh1AxQ;CGLUc7AH%u{#|q z$myDN0vjMnYE$<z=$3!cpOAuxNg{L}uGn<gQiOCT^Es5T*pj4~BLu7wH7_1Q_>w28 zhSSkgFo|u02qcdId~@d`m3Kd3h0oEE_fdYT?J|XTg4CrJgZpT~{kbL}rY5sBIe*}A zkH-fa;^JdQyYksLs#Vn|PE38|NaEHx>z|p){>ssh9+>Zne*#FxB&GOUr^&Em1&Y3* z1iW->Uudeqs}2PGRfu-)6utBQFr8efP2{*AXuL1~-?`tdY)j7ef%hY$(4r*}|I-L# z)VjA6c6dCe4TAJ{n(Q_D>s3!WH{dzbn><Hr-LBVZuQ&tt$c7ra7W(EfUzvY>Y=b!Z z_qzRgv0+-f4AApo){yo}8Sm9+L+TI_ssvFHnZQ!C{1Ad>@z>BU^HSabFWZbU%`Jle zkfR~f+xj>}iPu+SB5CpPG@d4Q>3XvHU=k8mW1RsgD;WA$Or9qR#vIVuBA{q_N~Kgs zaX-=6q<2jl$tOsBEB<_(lhJp88c_K9*GKj1``y_$VhD0G8+N+fFCOZ&{f>X!yFd1| zw%W3vO+H`-_lgb19z;3nX3V}Va|CcI=nZv?Gyu!TdY9-Hs2uz?JzX?j#62{!TsjaK zw5V^?-%W@o9Nhi+d6aPUhoqzmx<nBx<>--wHVDAqi-i(b_C~>L7Wb;(^uI6;i(jiN z>+OxP)sj^SX?0ST?BpgXqHCG6HGH>0QXbW;Zz``kRHPoWAr6s${Q@#!y7KoI*VeI- ztutGRGDEk&+tD?lZ1a&0Kv8e<YrGTrd>a`ENH>zf@Fv8Y7sG5xG}~yTzOs&IxR&$c z!(ZRTIIE^^Y4K!feGO#G)Zp2KzT<WC%(znAycClz94;N`w1X>)mb|_#JN5jfu3XP! zj=WOo#7EXa4y{h@&-(_>WJ#{=MoS;)toqQ%(ZHp$s9<#RN(QALQEq+c&x_+Av43-4 z>Sid<3ufZY@2Koq994f&Ggl}ynTu&k^B4!oyX0MqCzUg#&M@q@sFm#m!>9=yaKlA; zS?&w2IFr45?KP3VhSI@N{qpOEz2<0{jqbVZextC$gC3PHIq+y3hKd4<BCd$f2R|O< z2@8s3Xrd<vyUzShpi>X{R$yFtS%W&Mp9+pt!$`6WMJ&>lMLzNVEZRK1gr#wu7aJS@ zzMa?jx}f3G2BLUkWrm{`MGm>14$em7%@Qm3@*>D88=;`Q3r2oKg)Z))4y{Y<XDYNZ z?7h|9D^$coMaRR9*kOU(`F6V^1kx9PnugA*XEXgdQ5G#|7^vXU|B~*mj)-*|!S)?d z&Oy7zN}2Rge6_MuZ&oLzttM)vnG9{x)^MQ92zg9CvdbVT@tIE(&N^l*71A)FoBJHp zhJP<H)|m|h;fo|3rcf(V^Y=4-H(#EY^rZ9(gz?zAggvcLK>8P?3W|U&D;TGDWS)Yh zzd#*{m}q$GLpffq{=v9h*~Aj1e0~~A<A|IWAhZD456Z+ix-^utXW$2A)2O@|A!1qE z9;p?|R2%o;Or|Mymb{#vs%Os|3T{A<AFS3${7&U)sp*?&sQE}WMq6dqL|+xxeHD7t zDEss_8Pyu+04#e*y0ry7`qEBuOqw9Y(jg4=qZs(zY2|b`T+-FoJBb18N`!iD>QYE? z)o*lvUCwQ6cp5b}s7Qkro)enr<3oS&9k1UWVfjRQ={{RKL&?u7efZfA<#KF=<P_?! zC>7Hh3ggi^#xujyX&5lj>yJubv$t2&>Ibcr%x?^hgh8kCHYy#?brLm$*nUC+Ijy2| z2D$a51VUGlXQnWkk2cp*kKK7iAH){quVXE*;XH}tAZ2~f{}JV;q&_Cje1BpXK;or0 z3*5{;-dJrwn!N|-*{JI`ysMFxdtTY;74xlclort+Z$OPS-~L{5yQ=ZMXE_$~OB{7` zJtyDxCa@&&Y@|Z<FUyFtakDLouN^VT8=P3q)L1&;b(^lpTba9AqP)aRe4Ib;KaIN# zO24j^h*N{4-7vP1S|C^({tZR)=K%zFuC3E?0dpSc!y$@N3elM~Tivm7W(p~534L1I z+_TT;*#Hsyl6Zt@C?Ip6=d;OgCGOI(LYo;=I``3vnEq)xjSUT#tY7r4V8+nK1AAdc zj?-xZax`>$`ax<r8IemARK`n3(gRTQY{@krtVN=x-~|jlf7SUEKLOFMXlaDoErJa% ze6K2-YWC$Fxh6Tg^{sSLB{<_W569Q%Tf0Uu(?7iiIP2lQzUIfi0?Ad(cL)n&^y$M$ zJ=QEg(*)T`XH--gt#v6f$~8`%W*wQoGyfYgBd98cP#AuT3K|+Q6_=y{HDT4xv^XdE z**Ve{;A|JvJJ7ad_ezGB87cc|tXUd^=mWZqantosX4mp6iq}QpgpXu=U%KAGv@QNx zqw!Ekm&Q&kGI4pbAesU!2}gGO@w6mD1Y2?@`i1>?E@Wv@VL7fwjkRK8Cm-dNn8HGz zrhZ0n?-6xYy)1LwC?<Y1iDm5KJ(ZDl)b|G&03}#bM!#(DNC;GM(XRbT`?IhGTdcA~ zuS+>phy>q>dE3)dvqML3L(c35{iHRS2r6|N1Kw<=<QSc@ys<jTJ9bCcTA`Y?4ZLAp zWybI5@#e(Mc8bNlz0G|(%jt`(9EwnnhMYMnsI(l0%@Ry~0cNuda}<JXoMBjOrq|u| zYBmq`%-CCujn_w)CKYP0Cx_qJ=(Vmk3g%X!^0GBdZ!4vr9nsDc*C+XNopTmd^WGCB zV&Z#<kD+E|_La@|_Lk+mS?jF-z`k0m+CSK@Z6!DNa+Qv!{!Znpd#~YAnZN)}dydk0 zuVeKj)tD?j*eG}~NN_0s?|bN1uTi+$9MIuybEdF&B$^_~6<6>^EobXGH%r!HUK*<Q zjyowBe=Vi+D4KJb&9O}F5H%Nn{${%K^f>b|EYp*fl_v2z{=dy_-KnBg!4$XGEtlww z7u$68pxFgCxSQ!ZLv-gW8T)krEv8RjY;LyjX}mwdh~UOnx|zyS&0*c~mA<aL#tl$F z@cLWGxLTZl3|;mlC3JRaULb?NRx+a*DgK~pP#mpJj>uhlp=wbXCBi;96+hoy<59&= zdq?fFy3>}LIvQ`_0jm%vAZ0-O!B1NQ-ak}d2y>1E%FSefIfYp^n$AJh6O^S4e`RC0 zx3_nlt?Od$-AoDI;sFW4bKOD>!l?4Wffv+Ewr}JeF{%73gF!|II9=!&{Unww><ovn zEeAMrRL$f(QX))!dHlAXG(T9d0u(^+Jk6%1yLw^QfUmV9*A8R*waDr1|Md{_y~xFD zi<|4Zsq5x5`5GS&$7P;-MEv#=*Ba+%%J1r6*$SXOAM47VN%RF!66?|O!BLvzM*<*$ z_m<7}1l$dN^zS4oNYMCy0GL2$zbogHH60^$z*cx<yEvOJfY&deC;P~r5fQo3LFpjT zM-yi{L&+__O4(f~;4u$N41yDsicHl0k)8(ccL&>{bwM`97xgV!ySqgf$jk6W-s&#I zRVP)?vu4T4QIl3|*H#afPrugL@oDSFw(;Zf@sEdXL;gHzowh!7JyTm?SpHRX4@#k2 zEi$kLai*2x+vk_+1ulY@=|#ScI4morL^#g$p~=vRUPwgmrhe>TLoq@w?coq8jvr&t z33ntR6G)}wgX2OlhC!eay8j-nb_9~folhndrvy2T10+!zYVoU3O4ffbSpOS3J#&~v z?aQeD)pr_=ZP5Sf+dH-D_U>*C^uO)ec6F`)t@XdP{<qfuo>KoK1<5c5bJS2^0To&i zIriWYC6TkICOU46!suROlFf+vD1Kv1BpyvxJV2cztkePhjGQrL6Y~_aK>F$gT@(#2 zvb+}*E1_(laj$SBX<@F~E$)0uwcY&HJJdBExn!;@F5Y=f9D&}$D;K<QQ|Wp;t!5sQ z@kdmT%-6z=+KN&i-jJM7N{Z~^1tB^*^hODIHJM_f8_lZ<Fig$qJ#rt)AM=xG50R;X zac}I&1Zke2@wOpIdakbP;s853KG1I|v9Ne6A(D@!LQWOABJSypN`R@TN*;qr9#NFq z<AzC3`xPgkyoJ~RdN&rD{Ur0~qnkc{FGh^jO4u`=Vp-M>q~*XqU2FDnk`k;>8p?yP z1!4o5z%I8Dg`M-iJ{`?Kz<T|c;>P2rbjAip7?6E7n#4w3Gs+BJiLh%59$bM3uONyl z=1gECA<CDTcB_?`39Hm3=s+@<=qUIxE#}a?*4S%S1I;UXc~vyzLn=eWsjzzRDM0%H z-sHQ`jwcj7NI7qf3lJPmryHtWOo<FV1bp}<OJ!CKgQ7r@kgzN@;5J#LYg#Es>3Uq| z_*IUvo)9_QFNFDGQj)A9*fz!x1EHXC#YTn)r?7`9SySo$-u*H)O+tQ3&5%DsI>w|+ zQ(VC31-KM76=Df?>H|hy%8r(56}1_EiquiN3$qc&M12nvxAf~upln~VQ1d}SR8ot{ z5b271StdL^(f^hfh`(72pfngw-WO&3K`mIdo~bH+Z1Sh|VEwJ^^=FP~A_V>R5>0F) zMF*Q{BsZhxqZc#b;iI8F2U|2k1dKscfpkTIy(AxaRPwxV{pe#M*XC58c`S^l*=4p} zeY=yPa5$Aggyu5JJZvi@vocA%to6e3PN^4Q55exmAm#f{A3;KG#qoAD3HnwkOR4Ql zr5cYeYQvpJ1sn#vcCB#hVWlTQr3pqL!KCfu8NZDek-BNgYXZ%L(|PzYpH)F9HWA5t zxkpG{lQ#CH)u?T)v~WpD$4|JGFw@1#hS+XH{1q6g7cP4xvn_ZaZYUM_jcr=vnU=}x zP)(h}eI;HRnWX0i&Zv;&(>EHi^P99(3#_Fiyjd`54K1UCXxwCF$#D~&*zBudV^OWR zg*ML$zTC39%#yn7avBx>DeFQW`5*D-mi~BN1ca<YVNp^iZEW3c`Z4Y!9G++!dvpe0 za4S7615hdg3bB#(eQZ?Xu<>9VS5k1CV)}e6Eb~L*uv6Z0`@*EiE8!WER|WtZN>+sj zrzOjoj4Y;j?h!{W9;U6?X-Ou6sE~OeQt~;(C3X<-XC&6-QO0fFo`0QBzU28N>-~-v z&hL?b)qlkK2%UC3t+<F?0n?Ycq!l+eMlz9!AKiNusp7tJj`Uh&D9wlnNS?9F`3%ox ztuT#f?7Koz)}4&JoUl^lW6@phG3hG)uE`f8d;0L(9&@!>9{dPc{p>paQB6!nzz_yd zUB^tCIWMk-;b?{*<ZKU*=jq&uFS_>lYEc5&1hBa2Xlx)8%%>JlEL+Hy*>LsSfasxD z7*C4`)EvWCiJUc=uE{jZ3iMFitq^Sw$5;}wLMv#%7v?b)r!SjaDV_FHQ)@<D^Et(= z8@k!{#fVxCb~-uw!&{Ot6$=ZdcQ-`Z!+>K*m<p~<*PP9!Mc#24oz8(0r-q@ai8)2e zOXZ#=o*G`x2Lm+J@w!2Fr5fKgsSFSbhBGK?^Vy*CMoWPP&wj9GNt!Sp)9@Eekt`gw z&_T(bdcQv4FZ8a$>kqowBfrdz=)CY`pyrj`ql}=g-3M+S3}9B9if>jalwX<0d@y8h z2KO&>qZbLnzG)=*CR6K^?aW<_8R4P>8SEG4;|g!Y>a%F#xK}t^_RM95VU1~)y^E$U z_aGiP!=ZDFjomu)VP6EyH<@RF)V;=rLzjDt1t2SKphwb1THedR8c@b|bPt{qzXpLa zJ?e+XF_OitjV@mt|F70peZwNZ|G&GH%lUti|9`E930CO-=T3EJtI^o~riyn#*Z%)& z|NpiB|JwimIqrYPI`;cFK|`+PcO%dJ+d`*b^tElDB|3FeC8(qG!lGt-NUU<^*AMx> zqgSyDlGnQ(Dq;~VDmI@ECm4flQ8_AP{L9U989^Q`0(Hgu`7gY{P-Y*@Au_bpmr>br zUu-CgeBDoY!C|F06f#ui16&GbUiH1{UVpIN5vr$YRpng<_3m*%Yr;FoAG^N*`KMiG zPHV3H@gcQaC*Ah)b&r;;yZ`><(N7emXF-+zd^Eb3wGQw{XNKW*@FGg|(sk&Hb})Ch z5~vUr(8)b)a%X!eZBcwzM($O!UEQhGQrZot0MFY_<_qPy8&0@w-rWk{F!%40uP(#6 zyOj{fQ4P!Z@u>9?7Ohj5^Mi+EmsZ<}?({V6abpM_bl$ydpSF+AjMMgyoqSou!z1}{ z{B!%jIBB1LXdOX|hrd4kaKiUQ9xu(RjC~60^NUNb8iw@j_@{QRnN1EvepfL^e^!7y z=b#DRS11wz#UnS}{y-~z)p&dyI(m^Kf3AeiFCQ0=iiIzM7M4jS8_1!$rDGzp*ks8v z+bL`@W^$V=;bX-Cz1x!R{=w@Kq=`uPvuxQ;5!oq6K)GA2^A<Bqzt{9joa?&ccm4OI z_PP;rKQAtqU^YG|Z~iqQYb0^xtJp&vFS+4{wN<NE-`xJo?K^*L)!+Wn-$<yz7kWxU zI5jUX?U{@9VY7Z?-Ma~OqB*=UCw6?<X!6GEd70I=Sl60hDz7@G@~Um^)$56=ygnCJ zKsyhon1F+)7qRuI^`X6jJa&mA{GoLKD*ONX*zTS^*HA+l${umBGONZjjdTS=E601s zCFOBA`4~=&#q%DdBq?8%1tQXbk_{sv%ffRJ*1>VR3p-Mxt0izBLGt2gz0WjIKb6iS zj`Hc5he8|#FZuob6bb+8<?@)wL9i>gtayDzHv|4H!zFd3mp85lrEttIcckQfI-X3+ zvi9(y#w1O90m3#%Nch#I?nukt5lq4KMdECEVhQbrUM5q-M$BIsab!&E;s@}^mQ}>x z-c@_O+HT|WZLd10UGA7~wrahtw{NZb&fDGH`p!;mL;L(9_DtCjZ+!T8c-A>-ot~{W z(NYq<J{YBEup2Wv2RKnb|KkVuvi|O-(;l`vKmPWqXSeF+FTYGKN4;_H{)d^>t<5gC zew+N(ZOlH5Pyg(^|M~Xv$G6wNwG<1|zvkBT9x;MW3Qg~XUWYF(pmkQn4B$GI3f6(b z@|eD;Hc|>~IM6kP-r^PYqQ;4^)7Q$3+_6iEF43nJRC8yH--(otkxVuqU;qeAm@&Ez z>nDy9sdHeb!i$~z{a&0`F9J40uk61yC2kX8;?_YA1OXZyXv?}<Df@ow6@zE!y)s9S zCv+m=P2)_USrSc@IyY2~=c7vu#^ge8=m6zRgUKnQn8s>HR4W133HZh?&`$+jR=g(C zupKWtvT}d21W1(vStUW{t?MhsACof?x|5O1*QGO^$=Tp@v&68|R-H!~zTaUG4Pomu z(BE<QEHGkpma%7{G3)FE8J(W|<HI4jF9qA_U0b~yBtk60+we2Mu_6W=-=nHsC^<6e z(7VrT{bwn3lb$L!S^G@KGkY#miio3d!TA`=RfCj>gCLIKu5Zv59SN92AaNMQOpD<H z-qd$ZR*SsCra+0}vTi0$7fyWED(RRqK2i-Od$3OX3}n419nXg9S*Yl?jE?9<0<TnB zTnl?GhjZG5IQ13#VBT2Fg$*yy*az~&9w6fj3F|U=IJ8W7f<%Fkq{fWm$on3U7cUdy zw%Fv8i2B-SKAhQvrQr7Zg-DMCJ>swfqCQP;NL>9Nd9l@QtozEyoZbLs(s}?)K&AI` z<zV$@#i)hmB`QO*w^bKyy-?+FbZ_+SPqyo1nBT%mRl+POzn);<5?wWtF*R~N*}%Q^ znfqAC`qJ<fa1~oYzF+bW^JanbK7t;;NdsIz6p1=?S|m}$sp1k%0)U?L+LXwXADdB2 zdvVg%YbWK(r@%if(6FK_J%?^ahT5lVH}Q_P#f^8Mf^r9Nf)!PTjU0r7-8Vfza#U1< zEdYU!VP|YR<4D{EfgB$%k7mYrF)1k@b^jfcHMO?V?RR$3k(NMEO$)fe^Pz5N>1Gu* zU2E+NoQC?7Ov6Id)$<yqQW6D!0rn`7Q$4@D2x2fnT72CGy`)UGtE1zks5mj>ZHn6R z@~oq4v-IE3Ed9BVVjr@{_RKcPKIHA}!j`d+*%O-3GVd8h`!Crtuy8NDz#N$BRrM%f zD?J9bDtU6Kgsxzvq%`#J&&V(W(KLoi4oSa|d7D&F**`6txg{wl%WL%sjwDA~7HUD+ zH|!5x`ehJww6`l}3Bs88$3uQZF<8n9&D2NSJ_R@UXCa~e2=WVyfY1eHcqw}pwU}Jt zp;>NdJ0wG6pd=O1QGBTzc^PVgmTM7c#c?r&#<gx<y7*Z%_+oC9lo(RUyJJ5VjMru) zX3%jrDOyl4nub&+03&^C41#eOAHh6jb~N?wmzFJ#Q*xe{P&8lf%5AVM?3V|g=oxrb zzF5NCE~%z#3J(M;jXic}cvrm$zaqVqN-GWu8k^*FAx2}bK51zbohoq3jKFAyuQ#R7 zNGRp&ymw;(y||PRb7u7c??&Gq46G@7P))5Xz(($YhA-}|ihQ0VWLCbsPPr$YTq?CE z&I=U=A}y;yj=^Y8m-;C=7&~aap&Uz?5h@TaJpm8F`(3$_ku;Mrab1JglvWhf^~p0w zEkfgxR25j(zg{fXB6%3j9iDMW$v1?1AV=pHyMV-MbR8|=dJ>!JfTu6ewzuBy_RU>$ zcW3*p^``o!(YM~dt?l&c+g0mLZD%K2#ss<;v$MNQP6i_`%6z1HQ0<Ya4bJJ>jp1Fp z!Hc`~YOPkOZda;r&uVY?s*Szc8@*bs{+1GPSECp@Ue*M>Bt#qIj5KVEhzDp*G%zes zZm}TmAb!!3;qOJMiNq9429`Ug*dk)1jJ%VnHL&mgUP5!pjjeSjuqB4Ye`sqFoI?cX z5|Y{TfGre@fu^)|{;=iHwR|SATHZ`zHSNLa!Z3y%x`lG1E{33W+3eP#pl)bFWVhFL z?^?V-Y)JP(?_RyhF726W`JdWQO1Zw036UIVZJow!nKWiEbrN&uGONGbTxRtg%R(vB zIuyA}zo>@<9XuIh3ogZH>rULtCkq!3)e{OCu%H=l<vQ17Bmithh5~p{UNa04Om7vb zi{)}`1(f^t+Ujz78DB%bv{wpNDcw88ASJa+ROIPjvY#ht!8`xj(<D!OK?qM2;IVnu zvTiP3QrfgHDh=9VGr1B<K>NFAPkVv$<3&KwzWP*Z`Oj*fCwW??Iip+2+B)Idmy>X9 zW!A1oloZd9)$KVbmv5_h;N?(PVh2`cBAZIJT4uQ2;P_qCdz=}NdHQ?W97VyU{X!`% zdsh};4By3PozE+nqAE2(QX&;cTv$`sJkiNVQ=M_OH7l%H;l;25HNOlmr0;~+T=Al~ zVx6+^c~cfHpYrZ0x#5dshZm5855X=yAO)XC9r3qktUE(wwcx(gQCpa>*U?1K4Fw?l zp2+@#rxxbO{1d)n+B&)ntN6e}ait;d7;g3RxdK18=#~c?xTb`zk!7@U1oJ$4gKm1? z%IpCr{_5F_@;z&H0MH)X(^bG+nM1>L)6@h-Rp@8b?EAAhoLdidVdk4jpm(dJ51m_d zS{G42<jI2oiU}w%)=;IkYH#M0o2XC8KM0Qi#q+c;d#8wHrV<zm6sx~znd_Ou-h7B= zXpbODvA5T`7rB;l85B4W1$bdOt&J`!E6)GU5XLwk_hS6Kbwj~H@^uZh6b1x|sk4?x zFHastZ*;_GxLQ)Vibg06uq(;|$##iWK3_`sgfupX!{jN5rASHQnPp8qhpf51ws?X< zlLF$<`^nV#1VX2ePED%&fzlqvQWAIJUXavTbOH6@qNlzVJ!{dk7Cn;;CigE;9IQDy z7e`ZH6av88Oly1a%XLOp<rAv)7#4s>ZP7k|PVqNe%>J1-%n$OBexRTbC~4Ba*()W> zmoyi-@U&#}dke%Sia0YXGZ*90yi%z_9{Xl*xE33KU$Ftxj}l@szZ}}V3R?EHwUl_t zQX=AYiZh6AqUsc`N>Gq<Q#2|~O!z&ONZk1ZbIH1fyQM_F<W25n4!z(h|6ULnt&k-w zL|VNBoi9(QhRhxwFH#UF!F7DB$ZLX7GLR^_NVfTNO;h8&c#<RF?YxJs-*>ak$q+`7 zU4p1IwW^y{4;Br|pTta4ep#v&Mb>2Vy;s1_BrK{4Mo`!Y4To#?{hPCI9e~od@Snz- zlV3O|ZzXW@rG2&L<G(8(2LSMxn!RTG?>`>>L|!z+;o&E1c7N&Y?oSuYU7daBUFuHQ zvHMszC@V*d1n}Zr=avF|3!c+5AH&^wBtpREU<^zE@ZJksQ4HA#DD)y4MW*KX$|_bd zHbFFx#l39}`;;=mF2w}jKAn$ewz$<))aV1799Xm7H6FhZPnNz+u@OaJUiM$&s9^P? zV0D6E6=EPD1VX0{o>xLr5W6s6d3+7r7|IO6k?KAbOUJWjFpq&xWTC*9`f0m+a(vWn zca4+wspk^WWc9-HI<WcaqmZdpq*-@@Evy)v`<EN`lH6PHmI_I4kqzj^x-YY!1K5HZ zc0XqYe(SJrn6sP}DIi8(=y=Ro$Ez2iS6Xq_1iM;-4UuSXXqn^r#K3)f8kxplO$w*G z{8BHRWp_iZZ*9l8p{BT#hI~%r9aA5A87}BXop4tDZ1-2c<ZD__H{T0xk)%&_;*}#W z>h#C%FEAxM_OysWoe*)Fmkh?8_S<QH%-Rkwnbc0}q}$HY3YJT5<0!oiN49YkX#-Xb zgS0%uph#7QF@ni43=uS)d!b@#Fd3&CUl&WI!Z%;tpE)sm*H&dH?k7~Ldaa??Hs$Y4 z9R8+^jwO@zOzv~_QH8&q?QQzp-D%Kgwa$N6tF_%~z4{F@+fH?7tI^o~rdr=>Y;AwT zs!xG{xjQqbjD6!;msgINTn>s21`7rWf8OU8^7o2WUROX+VFuJaHlGbDZ}3Us6+5(h z*4X7KqR=a_MU=w2&R}+HPA&Eh7k#>P!-}o$yAp$+AjmOo0qDgT0P_F*?*fliGPN(~ zxM>{nCYgCPwX6~B3tb(QCyS@K1a+XZ-==eK*0)_=2|X6=*)_C7K~8R+=?za4+V9)g zwK-(yD?S}@K&IA}Ii+N-J!f)1wXd#cjPz6Y+MehI49Eln>AsVYxV%~F6NdS#GZ&*! z1}yMUW<NtS*hyWlLQ6#~vLRk>l>VLFL*<cqPix|wQg_Oh#Y)W6V@`%PM%(s><@Er# z_*JywTvFy;lZL^Zfm)22v%)K=iGP@GU~hBt_V!lijI2A;t4%q$%|k#asG${t7^-|6 z4`C6e_*3>2y~*yGh#GVWU=Gb&oH?2tnstBxFGm47VMP?v4y~w@<6}!ght8%-0l=3z zW*e<8>vT8R53O#eTZT4%>72bk{&>cIX`P<7j?OymE;~MD`^QHIowE+8&g}RdYaRW{ ze(D?@z`_f-f^Mw4$rRy7BMRct>f@A3`jG%2dEjq%V)g8S-GgzBujY6a;0mvMjVaBp zHKmNZ4(8q*_o0=cJ+fy+L~e9YIxHC@+*IJw;C*$6g#zYFrO;hWJjL7zWpqK2FQp{a zXO!xfmy!!hs0e0H1@VfhT4l+7PwFl%d+1zU!RVAKa=F}BQWU^%nRX&M5k+b$1_u}m zy$eOFTz8XegIFfwYXmbRD7B{k3tt(EwhEOH!HTIVzKzs!FgMPvVMECtretlBAJF2I z2eHt^;bSpu2?JjSR=Vvso*BV{DX_=47%f=j1-P?SsgS8DDyyVFzMGKKxiNAv^=fgd zfm%#5%VoYc0UQXGQEF0qAT$11MER*D>iC)f4I%$$Dc;596z#9>sdWWF6#Xkl<p5A+ zWi*S8bukF>BT5N7Cr|bmv&{+2dNJU*r6dsX=~nT*|FM0>l)Nka;gLhe<1!$QiOw1C zoVnM|d<eqbVkj=*MW8bge6XmIR;S4{M@<d7fnVP4MFA1*12?xK=S&b_*_=*=u!wqT zE8=gs&mpZG5~N<jT&0I|O=R2&q)~pwG>yT2^YMnPX)kTSrZVD1!)0{*jx8gx*t9VZ z#EY9w0sOLXAHTmf@7+><6q&2WkqB58i;VLy?$GV57L3J&iLT1*<YO9tWTq6<8$_s1 zz~ed3q6K|I^Y}4w2rt@XKGQDtLV3}X5h#<0#qia`(D+bPR<%U_dPykLv=@pnkHDs& zHj9n{W{2CvoO$n>1sg$I^)u02^4cbb-25v%;ytEq*R{_yypa1T84Tw$UezEB;^|U! zI=n*ugiy((Dd~)9J|a@HOt6&7alIxI@p@Wb&a{{>Rk)ZhM!G~}hWBtkZ(PnPEJ;|S zoS0K{<ksknec(7XB#cXQigy+8cU}ChD^51NN*zP@7kQnsr~^}2<h9D8R_UVf5am^U z57R15hsL$z++-`I^RqdF?xs+R%(9v$lR8%M6Wx5ML|_tpO>Gk|4Zt8dDw+a`J|sLh zSYZAmfO)f@9Op<Q&?*8nx>-XcP`ya;(-9>kaJAABL#e;Wq0~b|2~V8ArG2(}6N#~s z$NIc;u>ibt%+(=#y@=hK-chDHl&~|y9AID=F$l`mGqA_Ddu{dOj_07Nlrlo7sGd96 zi(<kk`qIF^!&Qn%XU~oTgNFTn$OaKFN(0sxgsLpTD`l5evOg{>@`$mZ0Vmd6g~eRU zLwL~xFKti@Mx(4_LG^QAOpRDSugy;uETR^gzyXG|d=&x<S;6}2b6UTEM+X;g>J?Qf z(_gbGkcohwpAx$(v4}hho}=r$>=}n)Sc3t)ZMyDI?{*KlKVPYo;=vY~yU?+`+ESW7 zSB}ZaLdK6kpAn<0iZI{u_AqoM1r1sXS$=XU=gR2Kr;$6U@CY4L_~9oB_i$?TfO~i# zlXr;3BR2Vn;^WMmo<seiWi;RmqhC8jhnjU~jwVA)H9QIyAiIB)y{Q%w^=59t39HWs z?Zft2JEA#{`eK3daT8LU;Zf5|O5e<unO<&ZWD@iRqJ9M3XxKNa*sSso_N~h*6+Akl z(;so>rJ!W*O;wpH_H8;mVnC&USnG0ehIZ#l1;HdV(ifSnrH}zh+WU6vK#N6EG7=Uc zfWwmm1EsZx!}@RK{vUMfdSKtdzRYrSxqzhme^l#RwZ=EKdVPDRR^8s+t$zdW>f6<| z|Hsq#e>~jJW9{X!_VV~DygZ^#9-gB{j5CKGkchs+#%KaKc?a*_iC3N*hWe2EF2*@v zgnZ%SJ!c2BeTsBdq|iKRQ6DzmTf?DKX1_SoVgKJY%50#czjsl)#^<;ARG;0=qG4l2 zeB%`W!q4W5onvt%&mjPnXKWAG%F9b#|4|CTV*_`t`5Zvg*Z+E>QQso}&+5)jb!&GU z{Xci>jrID!UjNtY|9bs@1}{&?jZp<e5Uv=X&k06=^eTHg0{M&Cv-_~_FrV2&+(2!~ z`cn(nzfdVf+<N|<;@$hRvy-ms<(a|Jv~Yad`LT1<IyClM#(w*>Yn-&s-ox4*0axb* z&Ugt=cR>Z^J-`G&bi0Qcw3k@_(P(c!w@*9oel?&?>NR4VUjQFo<%t_vQ16h)<X33W zEEkVTItJD8j3aW20_%h`GI}Nj9y8`H5SU?&KN+9Q^z4a1Hc-r-I^%Oq4$^qnIc#ee zWMhO5H+lU{s;{M3NjaeuBPdy6jCJm+sqKTBhHPcdEH2$5a8l~C@jo?@`b<l=>G4qQ zWo&-cG1yaQ#&(UqjlOTrG?F(lF2WuZri8YM5%)?NC)R5`(H%C5<DN<Qyu`fE9@N_M z-mMGmvYejEEQX+R;5Z?H`7ao08iW9y@|uhgeG7}eGlnsmz1bYY(=u4iK#<O^O?bw5 z)Z6_QM@Jy$y^K+<hqG&6!`cSYn_<Amsf=LVbNUv3S9MnDv>kF4%ok@d_oOGYZ1NUu zfygVfbFZVwX|IeL=(w}^%*_1Wz>%7bxd%OSR}x^e7M>2{N$)%BlGS$L|9g$?y+#!i zRc}##>KMAx+&RBGxyOpdqSgbI5rh|Zf@cjMyIQGST0o9a4OHxzbv!-6sRrdqRzI*n zX91-oTO&iK2UIlkI{(EUj(`GZKz5nxgKA}t?LSFLkZqjY1IdizRO0+?n!}H<YRZ;@ zhO#x`Pa9UlxUC}-V~ALwNFZ>i5@JiG&xOU4U0+Z3*D={Cv(p;#e)%LF9Cd|jm~IYd z6hKHTm9hmWiLb8Lpn*)(wza0VFNoUG#L2Ba?Dt^noix+i>zV$7X8N^mPHg=T=iVC6 zygP;ANso90#_Xr`h}Mw|i7eu!i2_KFbeg1uluA#~af~c|au`68z63CEX-QaKo&}aD z9Og>_BqLJ%EZ0kevIvqe6wkw}^(UDNGo*4nJplT1LlEp=uRr@FWCCHOe2_i`kKTPe z>uo&=?w#lCJhAIXNBP{XSf)Fx)M9lM1)A+AAiuf$AXrvBDYKgXvH+SmW7~3H7*GgA z9*BZgv?~i8FGMomA&&?e4PLf3n|+mLv$ch6Z6SLU3t9A3EKb_R%N|AJPl4%Ny{hI_ zmT_uw_Eb;tBEuVJUX@ar)l-s;1yD-Y*1U?@Dgh!x)uPgx6NC|W=7D2*2s=NVn^(ci z59H-XVC9E%@{$5NJ0Gc3fn-p^YpKZ~CHDWouK)U+h6p7B@_&&lNl}BjKo1sI$1kFL z-y_tT%_l-B66x}cR2Pe|!^HVT%+(h<U1uhn@{sk+!UN@8ejCAiyrI+X6sSHPwSI1O z4qHDQwvG1b>G7%Yq5I>)Q*Sl2e%^EM*hy2-sz}lN9xDr5FXo@^o@pTc#!UAsktj}r z0dE6Uln4tZ8#@(ek_u?Bu`FYfpp|kmsHhi+03I3;PtYj+0_c$5c0E^sGVdokPP~db zbCd?v7P5^#NXr>mD$#Y|;^8<<+|0_M^MFqa5jl3yw*qVMm}}-I(;lKzU|C5h?4yzU z+bk(pzEJiT7%ly6f&^#x|DH_k9!ROY!G9OW|E+=Q6}tbmRjuu;{lC}#-)sNxwg30C z_<wU(@3i}1VQ+6C9t(w&)6Rb9=tuGjlq;ju4*qapi3t0eda43?U+`8a1C#!T>yW#v z@W4Ld?^1*JMmNT?#e{og(TG17=mm))JThGl?4WhlI>(J0-uVhdtrR8I^<Gw1Kq)F= z{+nJqxsxS{R=g9U{4Ge-_?e|6bC<I76SdE^8V2yH>D4S{>sYp~S2MYPE<pS_jrt-J z0J+-?0UAqE;#AnjUzoTe4(v;iMR1<cH9yBZM`u`rtv&iH!?Gm#E95&bt|cy;Af+=F zdkw)0v^LPz#oxE^FszEwEnM7_LLO^LzVC6fp`dYv^C4TOL~c(%DXp1UYgRHhYMzlt zo)t`w1iJ=`-SznF;p6dP6Otka#f1E1-LG&e9%~jbj}IZxO1y}aO(3HExW32gl=^g! zZG8@`c~&iH$x{GW&8oMGb&pYgBg5`D6|+47S^q-E0h6*|^|fkAhZIVgdQ47aDflFl z#B%bI)bu&^{9{=yEK)@b0kaVXM^Re68W_Rb$m!3A*2>XW+heuQg(t^f>}XcS5s93! z+If1h<BZ0@b(Qt+F*h!eDsIk&H;4QZ%{FC7&D!VEO38Q~J!Ad%81`Q;izitl@`M0e zVE?UeZS98Rf9*Eb@xRvg-?jaBZU24dEN`B{SN#4HB%}O(^`|{aNCCGn=7%_bg#B)r zbpem#tIlzmo&37BIL(_(qE=@A7!Ca&|Lr<s`76E=)L^_gWgpBTa+KAVb!a>98Jqn~ zZ6xfI<9(!t`yhSB2qb}y#wCs^gnLdACpDZ2;QS)BBKld)(c?`ZSU>(LwY(vdw^82S zaAaSlMq)^6PgzxFgRhYpumPhp`{5yK{{d>>_m}4MKQQXX_nMj=SmIFWtSBEhV>(!< zl=|ap#*S7s@0(MX!l!%C(-Q;Z+ZNOI)>KcQnOEFHQp-@5A~tJrkys*V2K`o$vN!67 zVLmMc%fs=$7~vsPTRf*edIIk#p8vF_j>vFFb8g@QFj*ScOe=gHlnsO$!JaCO1^UuX z;IiQBuMHs1jXkyjT(R*vRw}5yJ`8zJiM?QQi42%rA;YUkP2>AjVD?Ml{1}Ws4eNiI z<Qrvv_=4ex3~S62Ye!;&g>(+2e+C4|_*JSh?110_s+wxFe;)lEh+fpf_qu#syetM< zja<^pFfE}jmQ>LG8JHVCgIQZ30~uW)NX;apkiiN_AjkBJj1D;`pU3nMqP*~k7$ai% z8qwvS*THV;fgFQPD3Zk<;D#zF4{2j$J8~EF!#(ufISz_U+Kw4es43qUQ-jti<>gi` z;K@4!W*fmv1W*4F{=q=WMKl^Xmwz<9>SfqP_N}INtLn#8SH}&y6~p48VzAqDtw4g2 zu*~o}LvkegE52w!K{L9R5?Rr8SNSRtwm#E%0rr2g9xdVhy)ggBZf(1U_WxS7R^5dH z-&E`M#ybA@+Wx<`|F7-;FUJ0#!K8j@{&|0hiImlt+4A8M#`8H0ps2RNZ@iUsDjrfJ z&`S%M(V+XuFtR4Asv5RAJpdlb-iNFaaqF=ov3`Yad5$htWwupj+hx}9&GbV|Zs(yv z!r2UgZQWg)AdA(+lzs+l{3s5GX%5c3EKlql@kIiBm>`;-3UDM&8$dzcvc~ff_HH5k zd+AZKMPBN2JK{}cjV7~u8eznDDjSekKi%n^W4KH)1XAz)Q>kjQ(@L#M(h<E@hDkF) zez6|rGR;ew?UdPWnY}5qw`EqV=AEZNk3RG;J(t$ha0UW4k`2f^tDH==U~GrqHCZhg z>v2^O1(AG~)_6JcNWjffl`{}e6mrxbU@df40)8T8ZU-nck$x8yXe?}@nn3-q<lMzr zH&%`3A!XmLrHae*w-<aO(#lk77s_nK`>YSoYf26Qd5Ho?`ZU(+sWq8K5n9V375!TE zrB|x0mChiI2?l{z!p<+!&PzqfI+YBrV;QP#MXN=`tcvgu>O?pK&~;|UjRhNbvQ-#; zyEjuNgWEA+UEx>#%gW{YP@94EU}3upR&UWQmZD)L^%`A?7WSN=aRr39Js_f$Ed}YE z1LgPP^&cG%!5$385apZH_CoWC|CB=k4g$D}X=ZJKS=)c43)8CYKlR;h_>TGCcB(sD zjm9q7f40~6|DVYIQ+Zus+=9Hv=CeWN4L&KX!Y=fG{`cB4w6+X=t(GCz>D^eKUnpiA z>Lq%O$_P*Kx#VzDH*=h!XGrQ@!|WFTs?L~+2yNd3+3m6eP}{5?f%%JQk|Oy4#&HU1 zMnStV=fhdSiz?+JvMiuP=%%QN*OX^96vBW@cqCaj-hUNv){`)z_QS8hpv6djU+DK5 z^>B?8k!Prj%3Urj(7T>4^ux98%)WhP&)h{N=hNZ8=FTj}w-&G71TBFl{5tD2p{%&= zI`zsQoOXV0pLR1Logye%#uVt*85#UQH@4!~nxVWzdKcAg*O<&Nf!{IgBfQR04Q3ZT zTJqN8cL42)0RkI&H&oMwRRK6t=fvac{rPBg?;!<$bcDgEP$+<`IO-hz*foCm`0ic% zR0Nz-5BWof`*_UWIc6po!_WemTCbg3L-0ls!$mRRr!pI$ZVS5a*uivYW2;HQw0N_j zj&;g7)-T4^M!y^H_;N5G_W(?v6QOVMBVZ%`hzQJYAif$pm#_ea!1G?m<7<&cc$r4! z%eaAJ^b-{yVXu!lPzAqvKC)qV5f`=~Uy3$t23vt;L!6AOmzotBr^ogk^cL}M#CzXT z%uBLoXdcKzgpJoq?BANKQj5Eu&dEMv{p45Tn~I1PcM#pC5ENy3VSd__qDDXX_~FB^ z$u=p`YJ8};h*c*a4Csw>X+Cz;2H9P5jDRE)k(-EXR3AiJptK;Zh;?i+W|T%fj07iR zv6rHjE(tSSDb+|yc6sdss=UNJDEK(Ft}uec6r)92w_$Xoj$T7#BmY~A!cRPG-0@>x zj`EcO+dv3csCXsL{nCS8dc2P~y<;ZsdozC7d%0l)jVwLv+5^Ykp=Ex_LDTB{^kdF7 z<l3@xt#~5y4TIJ9be@m|Ojxs3H7VwvJYPn;?~i{m4%#QD?fn*R+YF%{#D|X!9|eU} ziQu7PsHd25&}@i61zKr|u9g@TSxsN=plZ<rC!l~&*3g-twdK)BpmPNH`ni30eDa}v zboO{ukT9IbrG&)6t(F)bWo)(RVVT*dcvRQ(@r|n<$CIyRm@?#h7;RuTrnqokS!4dJ zmZW9}`z*>foAS#8B8c4E*09gdqMAf&F>uwN87?G~fWi?0TJhJOk7p6*13Krj#|ox{ zVxQLv96rT6B+%*3Wl_^gX=jhrT#zkZMFx}?<oZ*9oR!)m8!jmCy$iW@;Ark}C{uHM zWfiM<dRDE53VBn`G}BZrAYkRG<<5t*Kn#}*L|806fch9UMlrjZwdz9}0vLz99nM_~ zTweHCX~F;x>XbbQ6OS<-;>tY3k$+lg0hQrshW1Uwia`@YCZBiajpbbdi6JFApC(T` z!-#7o0PxhplUBZBH>%Y_Y-<RjINHY1XKSw#W>4j4JKQx0fW5?d5vR*qd<Z}J_EKZ7 zSrNfw-+8PYaKb{LlCnZZiZ@mUg33cS-V8m6_`=*1gZ4C<BZSlf89rmH2)t~+ee-o8 zjaW1WXFz^5DzvLLw%?@Caw=l0rBbA3)DD%oy|-EC2|$i`cXB_AObZklQCGT32|pSx zv<Wj+MNL&yz@@Y(0dGmYk%Xj}&|Cx+kp@$}n)sZA?pZyw$H)+}b}TO|qH{xIXZOw9 zw^c0;vEHpgUjGR(by-v|3nvn!@IPMQN3DGsgPV_SJgqh4fnL-md}>|cVHH}Iv4%_h zb=dh~|M2+ZL1nxCHuZ|>D|Q5}?r{eI_`k_Sk1$jOei$hI$wcQ*?VoqnTP?*N&WrI= zW?hcJa(m{)f_)?YD)Kfk#g$Ki^QjHhypcjHX_xPcP`pGU?c4pWZ(DBzDjd2G@L{0q zf-|3a!|Gj|Q?my{bCdej{>QxRX&JlTZByYu*R3JSnfnSI>CibhP7D&(63|>qc$NYv z7+^T&Fg9|0h0CxnoNHy&(@K%)rAwa4ZQ_b(m(o`lGy+gd0Jt3n*FWh_38l%~QHt`t z*MeIC!SW`rpzYMO?3G%-nSWN_R?<^0o@?8f{aI^ZR(Nb5{@tbTTUGk^E&f~YN2AfA zD?r4!5yQJtI>3rmBm`iuYE>&`DE@Yr$_Ea_;t#lDd&=1n^&?M{kGw;8I#W)~6%n)) zdaeOLc1GmHKa4w3)}G*9iSq!cTD`WV*BUjws=o<YyR|nv`kP%H{;fsc==8t1$J_e0 zFBvZa*(M0WSRiU|>w0bHjb771oe8&EtLpf_2oSYhtc34kI~0y*<bwq4?BgIfvmPn| zs<6jJ(VjF#6QxKcJ|0mkh<>$N5@FC`m)Bt;{qShHeix<W0s07j86)&TPamR(iNFX| zS`YiBgy~zp|FkVjSgRtk6!zHN)#d+V2~ft=UI<rQw~ZZL`7ivss)K?m|BDPojI#<g z<013l+DU_JV7;mC?bWN*y@qL7djrcf;g?yDz`9f2-5XT<)jhy#eXmj5+uL4Hrdowk z=y)6aCsJ*1ueJ!asY8(6CW8~|HCcYd&1E>UhzMpFN3r5la!rm+_P`w3!}}(8VANah zjLuQ}ES;G+B&Ee;*?9?L*?HJt$o;Yy&urxcN-4d-nd9Q}D;w=j*5R(NtgPbx2W`qX zAJzxm`)D+h;(yR}iCTTD(WvfjHELVmR52O%&Nr;FzW?z;=3kyhEOq^7QT&&!`c63h zdmWb3_5Gi9{Fn7DpY<)DXSn6#UDqiXhB+Lf{vh@NT9R{^(D=0!mmyi?`0&7Jopg-T z_J`x2+Xng;LPPRx)G189iT4oF3b4Z{Eb>{);K>vZ7TTt(`Yu{T`2C3(r#0@KBy>X1 zx{`p2@i@aTMePikh#dT{O_yC-)>!EVr;escI6)=mfg=asTR*Egun^mb+`akM-O!WU z@FBUiheOPQK9~=O_rOdeAgjLWyuiM7b&Y+S(3C(*nZ=_u(aMQKzH+Ab&FEFHl9+)6 zPqElph@bM5iI8Z9(IG-@oC&WlnhKDBQ=UG)|H;O6BN3bAP3@wbq)S0FZc~EhDOMmN zPoiltI^NA^^Qq-wVtsM@N%cP&@DrzP)%oA6^_@mF6#s9l3dPs@-&+4$>wjzg@9Fiw zgd{(!xz!w_RN?_X7qH}o%~d+CYz1Bv6*+A1JC5Yx;H~-L_hk2?(BYAAJQO|NZ(s4w zu!c!3QE*|^QR3|Q;CPR9ubug@j}xba)W&PKa?CM4pMaT%#_8@2T|Yv1%1J9P=i@(w zi1?`7P)T@?kcU%IqDF0eYJ&d5yg*g{O+^RAqdT7<=)fHcE*au-50tB9%@K6RF!CSK zCYg2pml2+qu>dVv|97_<Vf)WcV|Ts&uh;+e`oCWPpK|?Q90G*G*q3?E7~@~=;%t5U zp6HBO_|e_V%c}~@4ixkk|CpCWfIzJF8yg$+iGDuz?4F^ID!&VVZTGH`HeC-c%~c}z zi%SSN^R7F$aN^#dot+f;lK8JVo`ms5at}snj&Rg_?BnSnR&gz1j1eW_na<0Sl0Zd& z{~ZY9_uoYue3jkvvJWsm5>ac)*TX%6Y43Mg=yyFZMxJR09X7ceAN|(l7eb0!?q9gx z%NZ*Am307lD&jqICp%e=zjlGOMqJZDmUD%VbdOU0`SV!hb({R7%&r}G)>N7qTeG1f zoKuwa3($-%uvQ#dvumf{)P8KAX=P^ej0#E<Xn{&SD5aTko8EwBZ=})4P75nr|B=_1 zJNwCy|F^bNt%u^j)wXx)>-B%V{;${n_4@ym>pzf=d1H;)J6zSzZfy#oDk8A)b#*AY zg;)R3Ig^i|GOZdgQ&%vOIpt>CoH)0A^BP%bbH>}-yc{~0n<EngQh3jJtRN|8mugCo zLBWqPC%+BGz&O2Y9Nv*RB6cumWWooU9nR68p41o&{d9?l;}<C0y+ZpR`-dM7+Qw1q z1I!($E!tn^w0Hd(-K_V2?&62u`{deJV-N%Q%jm;<H!jG9cDhgHyZii8cR!7_3$KTh z*4bJ6^oV!z8gOvl>pK@%@U`xqJ45=azj{qi{)a!G+-p)-GI)49a`$nI^lwN{`qBPm zA+J$J0pK;_St?kT>n2QrE1q!_x!kaEX(5LaA*wC%f&lNBs1ZYp@Mneab+xe!J08F% zkDK+1pE=>-6)+@9!fSx@a&8Yv!kL`U96m!P6W-mTDhZAv-ZmZHqa3-mdN<B|R$^0= zcnL;<W1dVYxRE7HG$L3Uzzli@U~Q~|CMUu-b7UN+7;6!SDkx4DpT%)mb`^8!j!u=R z+E@qm(nXnB)Npo7r3+QB;hpjcpISrU<4=|`bBd^Lm%S%ec;c;@%QWw;<`qQYr(s>x zwltyh+PbBe`Pc8i|31)-wt4N0tWBgn{%vaZ?Ym9ksjty5Exx86u5>bWPz!c9g^-br zM4od{a6watFaoUw$r7g=2nFd`9f>-8`8Xza8orW>qi8y&l#f?wW%Qn4w(aSRPnhf{ z5cpdly6IOr$2%&1*$dSOC=0300yI!I<Zl?$@Of=768c+?<PXOlhloTBn+$kA<Bb^# zr&HYEr=CcQCUfVPgg8L%x9$cWR(hi-duT0{l-(LE&Nr|Gxy3$@2ROO8!Y@r8_FPC+ z@r%n$@dNaD(38}dg9`OB*fcWPv{;5vc=HvAy3!RPf;ooG={@o)wIG(Sx?b1#qRqFp z>;$j``$iX*#G#2Nx>s{j){re=FbC$$M2o0!*tEyEQlLcAIIvn|i)K+E2=N63g?ux$ z2KJpFC=e!^mr-t$ct!XdUhon}rVu2e93OG)3Th-QqUS090^R!E@CHCy@s}|X>3xc( zsX+wd9PEW|DY`-E`K(3@%NJf@pdh-=$OnNdPv4%Z-~*2-WzGWxD`@Dh<lpX<Wra^U zz@jOhd74@zG6Wg5QsDYK58Ch8IU(vIn7;-Z0${O85jj=@XS?vctb!im&HyLyW_(tN z^qR8Gl?)?3J)YqoDHR1f@egk!PO62jaqRLoOQFCNqNj_{Zdze+JQJW04<3`}WMou0 z>AozV^^l&y*^E1y(AL6ZSSFSRu}*2!yQWmdhDlzDeVmvA-UDn~w5hV=0!Ee%3FVF7 zRF&EhOk2ehIk-unLOSDeW?=Tv=w!}>4gk%fL1N~2dTm=%)D&&YrAp>Z!{!IDDY|F3 zChc}y^B(01!bhzj(3;R}HLs<<W4U7ueX_<gzFi><1xkZ@Jnmg<LJ(0s+{>WL3AyoL zU^JL}Ug`o*rm!~Ml$2NyLM<plfx%)BCzl2eA1YrQd=(ZwGD8!fIvRikdXs}g+K=p> zOO1pInnXYBHs(`FJLHbzQzfnp1ttCw9Y0N{KsZB8tT_ffk-Ot~Yber;>+Poo_7o_< z8q&s{8WQ``*?a;Db1?}0=4-8_dm4%eEge86R_)EFv?j>#z#tF+9%p*LcnQ%r7KnN8 z8oBsQ(T8OFWg*4r7o`bC9C3ZtCjH>n9Nq|l9F~}#RK5tvMe9zkDgk9abU|*QlncTT z69XjhUgxf6MP5IYQ|u~kHIp$hu9ol2z6y3E(S$7qw^kkkBPyAPGr7{pqNSjY=aq|w zuu!{AESMA#m@k_C)JMBlzzAy~NsW8o0aKHq*|Um*IKN|DGv(>u<5w;f5o+vUe__Em z?O%fb7oXQ<4Zw@?ziw^w{2$ewo$A)^Hrju8>RW63@7n&mw*Ri}zt7<R<(p1rNOyM? zE?_v1=vlU)*x0(8EzW(BC-K4l`;SLI8QsorZCKLYRNwBz97PA?ILSK);W#|<d0gmx z|KvI$CR89S7~e02LZrp+>7qeCgFCBJzMPtVv`Jwkp^B~-jFLkWJlhtK?XlKa988P4 zlrx3fLojHx3}<9xqBq$7Sn-=rWGuoyZ40~>fv^cDjGz0eC+4;Xfjk4}m41)H5d|VR z79Y8L?06#NCOxE}f2=6<bK21PBvDeJQJeVvcj(7E#^+sl)3wJs1G+X+21y1Z#SMu- zusB#SamS%F$dth9!9P&bt^h$rAwZF{F$Ep3TT+pwbpQMBmyR<Gfu~Rk0XUnIe?#9# z9ap_TVvQY<?T$x8qdJKO1&TH#XY<k;;1&dJhbUyaGiTC~Sy@$J1Hc5q<!+NL%pnBI zF5l?Uh99q+;5`R+i$@N)3&b@By9caJ&3l)DgtSnB{lu3kZf<T$Bj1)V1d1&r2uGCh z*OVt{J^|XiwD~0tSQqB7JdHs8pW==X<CF)ON}0H(`U7z2la6PGLR5f)1S_7x?4<XW zrPR~W$wc~hsA2u2RRwo<qAs~ydIiks74E}|J``mZ=Z>i~L?Sd?--k>F1n~mj2^F3u z%L`jgkAMsDoCsEX{t}7P8gtiB_PrYQQY3uj6CNO?NN{-%!PL8iyZ9O*EyeCvuuskp z!A`?TATg#cmCF&@P>wnf*H;NSAE5AP6M^c55X>A;(eR+SL8f|iqe$VDgouTFj)FT* zGTsM(3v}-bi};>{GpQ1J5)hQmdCxC*QHY&_CNHS8cah?q>^EJAX-SNmR@KCqc%k*M z&C3PWEza|Nog5B%>z*tG1=03=zE-g+DI!_=B0cpAtGJhW4rz)%8aoJM0EMq7e**Xn zPDO;FeMUy9<4=kZDXBc<*Y(=w0w;;zgFK#`z9Jo{Y|I@4oRTM2+Qj2>DES5tp`J>+ zPRwDBVjSW3CL`&aKz{goxJcUMb>mxj1Z>gz>&t=<w*T0!^Jb@7Thaow!2hqhRoe;q z|F7*oPxXgFZr`(_6niCBhe=`|Kth|=ke%IvhI(HpoOoMl-1?&u3L^7rYJ#xt!!B+L zyK`qip*Qj91@;%__#XG)t}_;94mvm~_?8aTQl*IrS0`9yoSsbw7Ja8jN73Bc!|m{B zh$(DHqtr%;I_X<v86w&3*{ftc&?yB7CD+=re|%k#uYFSh_h-iO)6Qs)Rv?74j8~!U z0e)IEEQ&hkUY85L>4Q!fhSGKf<JiQbQwx?@@)&ZZRYyWs=C|3M0@)^J0!7sC?KSM- z10zAp5{NYDl3Qx}4xo&Bq(u)}p&f%W96Gn$8aC$kGIy^~KpU8O>3p&jBN^zY0IIl9 zj~CtjSrxC`Ym;Almj{srn`;bmICL<Ks{YId+@rODj47dE!uosmzRkMF@6LW{owix0 z%T7*@f9@Q#52Tf-9JUVq8ngzr|8a8K?sf~ur>yhg<gn9*XPqNFalx1cKR~^s<1=>H z`OrCoM$e8JcBmSf-W5KyPxs%$&(;r}!_L{SW%jOfb_8v*chG2yowQERI{P0FTc_;g z<LSw9w+-DNK(j}kqj#s!OB?UZ>xIq{JY(&j;Rox!Zyg>|SFMi#{i!f$o&0**`SJZ3 zdw+a*(1wRUv;nf#4~K2u)zPno{lix0Lzx}4KD2)1X0T&u<&=sE=ze+Mrbp0U3;w^4 zCNjjy{_)Y-Df}!K&W=ydysE!+y6rM+op!p2kawrY&^)3OY8+D|Q17VCTR~JK)CF%w zpa_oQW4G<Ya?oxaV*VJctWF=GpnJ@40l<~tVl!A`nTWoN9_W-G=m*oadweIkS3n0S zF9|3u9sH48M#wiG+bV9LxT#cYm3rf>hGG2R|G#aN3iuNH(dCyS7A&(`nbjNcQ7^M9 z$bdi5F5LVN*|7ZlIO{Q8*S{}ew*{1Oo@*zW$|m=sq|`;-uwy4uv*O$-?}kWd<mlw@ zG9jgJ4bh~)p^_%VsTHucZTN!+9@sd+U*vqWae+X#`sQRN9WsUC7n-$ZmJZ06-)sUJ z8k^NEZ%MwMjfOZs_`^7D|JeQqc|}pY3%t<Cb)${qf1douy=6|nKd)BaUi`KFxm2v+ zvyn5NU5kgca$P>|oA>I&4cQ95L&qo5CcoE9_#4EjY!-^{QLFYCgronkxW_A^gi@aV zQ^&`HDZc>0Uwl_8{b%VvHz<tu@&9Tm;3J0rbjH^Azy06E;(6t}i&9bP)%!~Isf|+M ztn;D$+woC54l&dw_lEiY{JYA9Hx}22Q1=I;Jl!aH(8;*F{xlZ7`=I`|?9`+{8RXeH z;}#s3+%la@*aAr&LSIj0FV0zlXn%F=@r|Sh?j?-tqg(i`eR>Q7^2n}O^`ig-`4>46 z`Y?Pv+b;ySHK4uEXFX>ya7BFIGV9Mu5icq1NC}|&Cu!};#j&FezkJ_a*fvyvfgsHO z2;SLuR{xlT79I(`V;pW={b|l<Q30JXV$KsY#gP>|;6PfHvS`Gh7QA1gl`;#t1yHC# z!w?;-sHghPU}K_{X0XvxxHYjY!jD3(X$e4+V}6u=bIp>1!l^ZxMl;jM`Tq}P?%21} z@6mHI&?)U3xfGNv4Rg$?zAT+cyjM+_M}O{#&s^rMM<k1}7##$mR|lSA62XY+bb~}- zBZ|b@)oikj-!>v62tyEb(?(w;u2`aZo4eNVjI{QQ?%ClDK-AW7`#DEr26443^-|HA zY#g;<*3m%20<s6Km-~kaN17sEom9I$VnY{gw7f92{3hSF9vNbcLu2w7M`*<hNKBo( zZ_DONibH3a1qmHD>H5{wnNM7CSw8X}CWo^MhNp+`0iHmo4B-X}(^65Uh4XilRp^V7 z=UKK}5noj^fGR+OfRvd(9F-PH9igdOiW2!G6a9Hg0=G`Nz7Mx-icyp)yt~I`m2e7_ zvR`NKom=Y@&q)hK|24N~mQPw7yXGe=NLjFcc<qxreV9y3I_n6x!k$TI*OugJA~&zL zI8^0sh+#A!K(I&Z`##4gz%TFBrh*1Eq^p32BFM@|wnqX8_9z@-L0MckK91=W8?a3H zQ?UlZ24zjSRZf#WdG-M(f<kA1dKX1KNyLkvZ^#E57crC&e&E3`YfGJG<08s}F=b@_ zywHJ0TtQ@<!O$^h#f_@Y{nDf5N|?sS+9`#Mc3hFh7GxDv386UWNBNL+LVOyZ{Yxnc zYGR}|a$Ba#oF60gxt5rz1!cg<)$6cek7fTGI#*XHmmb6ZSKZpGhwXp$+V<N1xAy;9 z`+u$dzn<m(uV;M;UBUgy9NFToZpFHrP0b2O#tNrQ$~eWXM25lLI1EGDiOfsa8O|}6 z3jOvx&4gf$@yBXo^M}sWJJ~pQuj1R|$jhRX(B6~Kq3}M)IrJ!Vu9yd|yh}ElAyK*B z^%PU)n0I~cbc2Q~HqzXxjyEKD3v^$PAHo6|5MtdPI>`u;f<Z$Bc_RQLyk2o7y_epR zQ@x3&!F%G!6nbj@r5Sc#+hZDV*|b8bp6HkmA8igCXY<mWYM&z;d_Fj_nFXcSnf8@E zYLBpBC<AQLXo}~>n=<>vuLI#X?tzZAVcUu&3_}MUeB>5O8S)o^B6y=-V$=++q+G9x zgM#mnsi&EPNxzDbQi}h>$i;N8kvZ4nMjxuAee1H~w{D3?Uv+`$V>$}$7NMB3|5t$& zMgxx^BDW~$($%+alOmq6;tk%@ETh6+{8S2}+iyf-`XbtvRu10Z3PbuLeCoeG{SU-w z@6qDFY*!o6_%Drh{MWVqx7PpG`rq^V|GW3z*GqeBx;@)2B*by+Pi^Q}I>@_`C*(vR z(j(ni_nwPA)*V~77~##UJe$^WIrPflk2*Y+zo%#%M4Kf%m(PaItu;lvUZnN7grdPP za~#ql|8UEAGWE&sN0dmq!_0W8pzpb;xyKHC-4JDhaQxt5QDv)cz(Y_z-D4fn66J3Z zhd?x~I4AlQq;sNoPlCIMornUzhb{kJ)2MC;h<)|Q=^Ok;H-9CMW<<erS=rZ045$JH z458E;M$vBrW9gVf7jvNxou2r1uC#m+(OqD$sDl-;*#HpI`HqaCEvcq)gQzA4ivj!b zt~7T-z60hYh0B{sY3z1Wrn}5!)`A;EY-sko7)T}i^kcNZ8EyjdPrK_)yBEb`si_xT z@j>k|CA$INw+IU5x0EAvCaWE)Z4qL4QvyQ1Bcr1&zb-H4p)V5wE}mbLXF<jV5HDd* z@t%BWj!8=oQ!IMF2WPe*j*#{-Vi27eQLq6%BKSrO8})S+1)AwXLv?&Dc8E7<Fy+wT zl+6MNecS|5O17SXi+!<lUb_f&?CKL|QVjOvV-DH~da3dW<zye0zC|8EvCRBOWxn$a zQT+$3C<GXm;#*=W$xnNDL+Ym3ceajfmvM_st#AUQLmbL?LhwnyWu8A=Gz_yrerV!2 zhHfE;&R3`|;P0=`>NyI*7&-alg$v$gd4R@G;E13FZZwFup{D!@l;=<Y$%_imk3b>b zSxliq3`E{)Bv!*B{3qzOtk@(%^K*jS7iX~`8HkII@DbN=f#t4-Ug_}spyMLbs7no{ z1FV(vp63wW3iYD-4QYY-#|Q-&X#wL-c#5@*B`VwGTxap(IA3^56r9+bTXA<qOstr% zvPc(BQPtfU;wfUK2<Ev~?&nZdzGV+x;pe@{$>Py5P%|y6X{=)#D^hTXGC@;X-0FGi zg@~96g|yN8lMp|4Q967ICuRdEBy?>h2d)g6ww?dffq07q;a{Iik>CdKq9$Okd%$xn zN8t{`UymO^@<8GMMV!_=q}EfguGU&+ssv{fBNbo2=H)yML~6H1C3%5or-T&_Z@YPs zXgt2MCEJ-OJYl+FE5v<SL0$|ox?SHQ{T?|EL`~GZSf*8u_t%@uS*=#B3e9T7cDAbp z?@hg~ys1^|+x*ofrc03VD9-=VpeULnYn1&NBfyRDC$yw}1{#pBu`%T}Hm7~Q2#gvB zEAOs}cq85;8AU?U6bgFp<$0whgehXc6?czx7xqoFqV~_RxY$N_DiK9QcVjiA20d=l zhmKo=NwHK2-)X~_!I@W98^56t!2MFBN)YaJ3RWgrfH$zARgGy;0R6Iy7#tTg-rRY0 z&#!i&X0o2k9?umRzGG^HxxPN1ki*Dd(BK}g^tn`sPA0q|?0@2(>i#><+3epCkAZko zUJ->|NLFOw76K$6pYUrpq?C};IYpQ0m(tnCp0Ju;*SGZT;Lk?z=T02oXrd<agsA0z z-O*AxBSOt#a(^gcM=2(9w~Bh3S$(f@-a8A$fq5lpO%^||1}R<=n)hDe2%$WCuB3}# zjPM>c9=x;_rYmVvNTn;`S;LQZveA<uzL08_PEKi}6n?p*3H~zYGe`RzLsGHAoTh3t zVOT3ova93v&lxmd<&b0+&?-oX-CW3Mk<q1DH1!=narxE-;>5igBK)SrPe4Q)>ZQEM z5*uiSx51l;3ne6@FZjlxV&rH>ZjSh=m(Xy4QcFqtRrFj2&$4(|L7P*0XT{=;PUX=O z@@di8Pav*loB^wdH*1q3K?t%1f%yCHSnl`V8L!N*^6R1`P^|AK>CWvLSxBYHp*Ovs z%$%#KIk~2r4WV!gJPtvZF2!@xtsintxbZ0lfw-6oUTOpmTA-3hjG$g!m7|n`!*TUF z9~H+%;H9)y>etpCDDC%BBB*7!@`*X1`c_e!&jyt@TIqbxzuGLOk1KZTv$DVM`QO-@ ziQs*YkpF3Wr`iae|J8SEYyYqH`QQ5dZ+-sv|F`$7O^sVw?q~lBjZ?F>Ge&@EV1|ve zOE+Y~q?@KNz1b<2a)d2|f-HF@8Std$zwde7mn54<dOAB>c3081bnm(EbI<$y7W%(D z9o>b6{zU@28m(WH4`*3)4>$fWpI-xx)S0^B1-S)RpR=4bnhgVX-Y|N&3bb}Kdn(rx zEZ;~;@L>T?&O8CjxtsH79CG;odoq(Jux_A_nM-2`ZG(?3V5*rC-J*gTi6ql<8*n=! z?U$mx!b2G-MOpo&C38h05}*Dd?LQ6jJCdU8?#jcz*BgdA0QP(S_Ff%`-kawG`4a;9 zV=WZ!42p3S!`qjA;?ENd4cu;>w7Rm9d|;A_VNj$AE@=lDLCsyr&C02<&5T%HXY}Bi z;04;H8pRd2rp56vgqK31VP9FjR(T#^%>POdDZWoz`YDgfObpSHCPI*M(&0Eudi&dF z=JV}-g8JKSernz?v6-CD0+WK&occZt-ONfEW3=V}t~Uv$QM~BO+8us3JUKnSD0A{g z!Kc-yW4nK>**ZD9e}fno{@+t?U3Nzv9=JtIb7XTox`LYzP6EkM*AJ8noBW1dWR2zG z_`=)t+|lj1@!$kXJzJ$$2>0ESQ{b+UBlNKk#|#e#x7$@P9EGP84pG5bQNCG$#q2Zj zf1dv5O$<E#tBe3&LI3Zr>HjtTzo!4!^#5-{|6_2ny*KLDZIIt$*xo0@`-YFfIJ$|7 z{K@FOquXqW6(L|+K(oVi20hAehZ7h_m;r^56t+d5l!6kyCyJocFlCki>P=s2)V+5k z-t>{G@`F6tR-HQvvjL_lh3(tLA0NqlqEhdSu7n@pN;n@JYB!hoCWXCpJ3Sdgqeu>A zU3mv3neJb(Ty+@S2T@F0QesES0kRB+4wl!jNk?=>n2vYtnXr`_xPGLqk%jc3EWh_* zxiB58<0soZXtIleS<g0uaC1E^U8pv{lGfoA=x8yhG~pC%wC_+q1P9Or&}DCLIFKI! z>R|A_c(d3>J=Mu58<3sP6Lj+x^D$Lkr?pbmL|cXYfL<WgbDnnkj>Z5!_ZbVcq-U+p z<-VvxS$>T3%g06p$|9w=A<6{TE*Ar-nc(ssFVC)WLg!FeI9;3<<@j9>!{9z}Y7=1s za6lF;nrl3-3<?H#7DRBT-AoJb@a*KbnRmcSXFtGO>m0T(@BE~T3n5mc*HJMIW?YER zXS?<G<iZ<VVBD&fUC5sWi#QEveE{vWw;s2)I^G|+8J}V#hHc$)x!u|WEr3<st7oik zrc2i>vEV3~1?_HcXHi1iNqTF$RW)I6Y&0!i)9eNetpl@-ws`t5-Gz%XJ+5Jrde~@k zyWURcvZphCNr#q2(WuWQ*E%zMPBsBu_W68<%Z{NRXuGyL{{-~^V(0blKTrAp^mgA= z{C|2odu#fCP5-ay|26&pW&OY33*s|rGard;+kyXaU7_+diy`A+5oXvkjN#8=r*rQ* zjME3QqbiIe`O(kNx70iP>km5=F>`6q!5utFae({k?ck^;u{7Mg*K?9D(GEz%hbZ41 z6ZnmtyBB+(Ti#8Q<iuqW;>T&MV1xw*c@1*!_+lxgPL-gJ&xNJtF^BoSF!dW}f9+`+ z9=`9|KlZI3JN9=|1#_REuYe>$Ab$Z2;oiomkR4jD%Ij~u_71+~o^l6RAiV<E?lNHf zde1=HeGa(&)!_bU!0kT?&Kb<kbBgy?&diPh=1h&wF=HjM@kekhlLA*$<+Q2ELNg!^ z;N+uSd!EIrwDSZ(@wZ;}CC3YuBJ|xZ1N$wTjjS&51LD|quN**9@qgxNp`g<D)y3zD zT|s_5Q6-C+?3GIV!_<*r=$?)g8skr^+wj7A2~@oG4pW2|=)9za3Jc}XQ2UxvVyHZe zc{uzZ)Vitp^wl$`KwMWMZs@eqDvTZ~luUd8Mui-qeH6sR^k9T1wyAer%Pd-&{kJ|) z<%{~dcqOn&x%PB|_O9FcQfG&p4DIT*QMqDCl;zV>F9(1^le+}YD(gLB3UD|QzU(An zeT&Mr?ERix++YwL$}pXG?V)j^Pi^q_x?#R{SY^Yo&oNAQKy^dL9<>vPr<1^l2?tGm z4>xeKv2B_7N&cYiO8W0?43OyQyu3+?6}Cs-Y&J3U3#Fn+iV#>=jwnjcyzLDPZ61s; zXbNTH5nDZ_F0xvsDQ#coSJt4=ypb)l+vDoaXDdrz3fPlTq%u<pEJU^9@rCb{FewlE zt$7mR>a{FrmOLwWCKyxRhGWv=QBHY#gq57x5@O`B>op&nc5dpcM#Jn3H{+QT%$Kl} zx*N)Og;UbKA(p=BEqTSLxaOU{AgcY6w#qleP+bvE)u_EBo~%@RO_&(Ny4r9kSly6z zd@Z<T>DKP;TG)cij&35O!nbY#c<x>R<x9XW5Z44MeDX$l?yVxiHn;aHu1a^@K#QY4 zC57|H%m8fX3K&8T0~(DJajjRA_kBcZmWz<X9|@>&G?|1MO2MF7@qj*>fd(YVhnxwk z$7P7E4^`Q|s#U!=O%aWptlJYq43{oNxqDHTx8S%z4o0nDxiT_Uh6fFe6;<E90A^&s zrX|iyQ|(>k)0=1GPlGxoJ5Q=-!@`hObY)q6x;BGJ*l%sNR$Z;ma+WU3ue>wpMMyav z5P71K2l#D;hiNZ<IzJ&N1e9JNQM2$}cM@DRn-;O}S|wC1_xUwweHli7RE;+QR2ii^ zxI_-$EX|`wL#bARrU9e+b2ObUZiq`oY0f6X$B11aCs&V(D9kq_V0s@pfIY)$TM_p= zdVq4)+xVx;vBvtk3;t-HjU%9aJO|6F!0XB(KxaD_&IhqVK&j8|jjCk*@VJh^v4p$L zB&A};?5Amk_Qoy_$tA0ACd&sdoW?<~m9W{o&cj*9LYBqtatM?zX*GbaydP1DhGBtk z(+6)lAKfYm6H2QXmtvy8Ktx0w!wpY10W))gZcbrhwZn0UIao6gI(o2O(`(zO1*Tq& z<kA3{p#(3x^1k-k2;D&GcpF}X3JMMEGO`@+WQi2eTGF+=IT}mflb-Ku1+1gC`#y3S zn(>8`Utmb#-cXCwlpw-fgSCZzYvZ2JCjUp7&Ob{2zqNzH{!;#@o$cMV{C_R~U(5g3 z^8YU>|F4+jz!gU~g|e(c7j$%TwSQv(3g>qm8>@Z=p#8|?3&sf|4_aHh{gople+bYr zK^Ig;3LZf~`Y+`yzz<|&izAr&Hut1!Rw!kQXp<*E`tl`s+4|-8`QIf<r-lHF!t@}y zg9@3!O7hK?aRXJe(hhkTU9Wbu@H-u1ISwq*Z?#Is%3>VslsaIt3wNsG4@#E2(kPnu zU|Q$G&iz~cu+yVuL|kg^Cza~7-sw^r^YxJ31@2b{uD>b4jt)uEM>pdtZ)SI=>V;`0 zoMMHoo^aO-_t$mZv>V5-ZWimlq}8>5=5Iv*$({0f+E`8h_4c-z{@dQ#-r9!(|FX5c z*V|g#e|(Y8)6uM50%=uwi*)LGe+iN~2E*!YZM|7q=?Th)5az}4`G)~zX0!+gOsn__ z^B<lcpPhd^`b23CyHx7v1g+rSe!?dNVB7bOfLBd8HKwmbpqi?aq?gk$;8dUmkPVzq z%p}yLOOP^yV)CnWJm<Wk0t(A&atLPtZlW<Z$<)^%95Ik>fS;xFn_KTsIti*uc3SRN znpHYhqINw}s1#_65X_6)G>iU5?FpQ^8e|y>jZ)@TC7&|nkLm!>*Rgj@pevmKMwi7W z6e)g0P*g8a92&<0CS__4UqwWML({}2q;Z!lB;-d-o$eA*nuS7^v5cW%;+;T2jzU6k zxIv%7i4ZL?&w!~{=~g3|{m5RUra)=ZP;##wb+{^qq`(+om?4RX&V;{HhFO*uE2*$2 z#b^eA_X!dpIEnUvc5@W5aL2ls>W_wh&0$bcK<cHLJu?px?k0fJj-V%+eL+Z*Xi`x2 z+!2Cq?{59RqgXAOcm-%)pqP?aA(G_e3L=2K4ilJ!5vFN%pj-VkOAaha(`!Rr{FXI4 z_NtTMcN_t+HAh&PXYY@O3RnZZjq)<pEg6D2zd9^SWvdOKwGkXaWbVp44JAxrmWiPx zoxo{;F$g3c;)n@(wZJ;XFC}B+=spsaCN-&sb865Vk-E%DG~7_mURa>3&i^F3nP*la zV$*fDyRCK|Gau744$6WZBFX499Nh*9N`Tb?g~`bcSBqO2pTzPL1(ZBJ1g`52P+*jX zDY-4jD&`>%)5Ill25e(57^z4`NnXrncN&hPKy(m#*eF)4AO+&svB!jmaHp9g0E~kS zLmvR1IvLh9K*g6f?XR$9UBsri0Y`ysr9k6_QetC;-c<5pY#Y%EC%DiO4(zRfXa|Xk zM<iy$%u`5G=|hU96g{$CSI5l4QAkdkC{e}<$(!XJfNj*zfoC~Xcrpj7<ER}XZW@o` z7~7Bxag3`-q>IaiXMv5#3^IVlD&P))lbMD05iKR|Vwf5^CqRh@*J-AH0SH-U`!qEa zGlEPwk@!JQk)P6-4h2+;ZX%S(RM)(Uj}@MpILDvdN}TDF*<%}NS~~(Sw?-CDgGirG z%05eRdSG5?7*pVe;{^uex}%A^hTVeugkmSFMMvFLHX(jGoph}`Qcr57Q<SPTotRaB zr=(n%bF6N~%V)r(9XIXi3A9uZPCpQsvnHM;3R6=`qk_3%DSx)K^Ihvu6o~avnieax zozJhQ9Lo&gDY}Dp7xkR;y(gx7gvTpng<560?pEFwHlc!8nVQG_ejUPOPGBmQ6EDxZ z?Y*WRlhW((eXr3nR05WC1hfDk<1Vhkbr91&LNOT35fLA#?qfuZr@)@{&`cE0Q<0m) zLi3+@S6)RLciC;EiPa~-h*6A{Q71w29(`qLQYc^K7$?g{;hX~$Ne#Lqr35cO-h520 zXj;pj^sa?QoLykeHpk-3NAo;as_$q@_)^Ho9|_}`t0{a`li-e3?MDoSJBvp1be_ZE zody}EIaWvssUt;lg?V(75bigk$|XAykyY~)-EBPktoqIB5iZf!df4g&K1uS}6Nvb6 zT56Q!Q54%5NXC#bIds}?#~i|(9BwdGCv2S*=9{l;BzUdk$B3xsdw)i<3Y&eWhp(l} zgE?QWvR7-F8S9wYSUH4S(z7Or#Ej5qqT+HTIuDS-n}r3;jM{#H`r`3JG$sijX2v4i zaZf+VKHvr!r*sj-#bRTUg=o_Ugx!5gBI(L)t`rC)@?&l*#PH&X`NJxvGw7VXykHh# zqt4<0HoATSeden+rzb*K*nFE!=4)I`#B!y@n(Lf!3op=)wLoV9BHjN7tJ4<s2JC5I zISNH0p$eH9q7Eu-aje$rp^ZqFgPbFkr#eJ@bc*IR9PB>^^vi$Qz<?J<;{hR*g(@U8 zqeez@a9Sg+bV5xBUJV$3n`Rktmvn6u2hmhn-CKi0_4m9qyBcq@#X^upbUG(!L!mgD zQ0tcMgWt|Ozy^zcj2OTvM&m2YT_0uT3Ti;i;mU0b-Ix4oPUobF2V4qu*ZJPb1lM2l zLOEb6+|zndis**B5ZqwOgMyHpFz#)0VQJbrOY?k#CJcumsjT@o>8#@50V5{jP~-51 zFM*)Yoi{W=2`jEba2y_;I-U!wZQxic#)TS|S`QXR0~jX7+?}XMCdG`FRDkA;$(5(5 zD!v`?h~nz0y%OY#VB^%oy!rI(iZ)Op`M<$PleT2Y*UCSQ*~(Z5@L;598wVe)pz>%* zkZgp;=78jAA0b6!<sA1)Y%^csOE6j2utGE;W@}Buun=e47<eMS-xcmUXlTBw!y}!; zPP@VWV)vNefMtzlXsn+*q;Hy8V#3NmZ6&E$v45j$RJD0+waJ1TLrNnbh5S1Ubu!#S zz&=C??i1!7bE|noae7N5Ok~|}XfoJ-CU;vNSuJNFYIVDcZnju>;trrk<-u7E>juq+ z=u%!reLHq#cXtsjjzgrIx)w1(TeL98O~z)@B9!`5MyW34#@JKApw5j`wvh@mQeI=m z1Uhk;HfiFFq<U4mlQ!-k($ecMj2|v_ldS}r5>FVl>p`yC&<@*5B4<vQg#v0$N@Zqg zy&86EX=XjqTr3z9k7;Y>>!wvQ$b|Ov3sNJ@V3|8~pEIu(nEDy6ombjy03!|q3<I9n zQhH_drB5p*5XlczHv`p2GuM`8-`-XE%0B#?jm(`*W}j<U0A;1b8Pk<{V{X7I{50!U zXE{)`o+afH-k@fdCZ&@?1O#TZp~V7#*?0p7xzKBqpnNWl$%G;dGM{WqaMcliRj1iD zZ$aXLS!pfg10KRKuL-%QkDb|}vqczd;TnyoYXdd@D56Dv$KH_^6xDT^q34{0F3&zj zOtZ&C{1l2e#^W#<&!>uPb#{zGEX@C@<t*bgnqbSGr}i+Bv<i(?B~40s|MA2u(_7R| zk>M(cY$ahm696T_m$eiKM8;uv8AWnp6mC(uH59xN?bWD^7>uPWN+&hF>6&9hhEU03 z2`get=k!q`c-XWh%`+XSXseuCSX13>#U%U45zA;!rNjw13$jbhj%WgyS2a{%?kg)L zT(s~Jt&<{Te+i<cAkp%TMVX4UgjtptYpLkUQ2N+nS&+k|-nA`#ehF(PWEOSP+As`) zN!PK`K63rjw7^PQdqeljb;?W`9@`sY@9-L-uI2L?#&jQx%^e;CYe}RbrY=}O3bR<T z!_&rV#F2%M;mAVqgn0FY7!$h+?;*N?JwSzu0Lgt0yrJl5orjJ{Zc8JC6E6xiCSQ~q z18qJmiUy@#VRnx)effzoTzC(2Vb@&FTn&az)%I@_8c&eJn&6dAOG+t^Q9X^l!2tAO zK7s+tQfQ_FCAAg#tU66<-Q+f?xdM2m_I>Xt%87MCrR~J~5$I2tmxcc<Q$2MAY7O@E zg2~y>O;_6#Z73MsmRVH0G>R{s#qHGF@(COA>+Ja&+8YV2`YbW2IYGuiuggMpo+@I9 zvMP#&$-FqZcz@i5SwG!4IsFd9-yDB9KE3FAACAx8eGk1ne0%c#<l?Wig}ytvI6WS) z`G9g1I6FLt1^e{=@Z3B5bbj`6aLl(YYYSu4EI|Kf&}byt0bsW<SLkjRSh*~nWf79+ zG~fyBF7i>t{bw+)B`;-ZBl|bPa22|aa>DF+I*K%#%t&4ItR#)K6|GffmiOKtefX`W z6f3=t0*+tcdnb7FdO-dpZ1>MF;89G%PUs_W+LowAX|f9R0kK2|Nq7@SH|QzV>1u6v z*AeAv$<LGfz0HI|PDw?siJ+s--Jm=|>n&811zI5FofQVHggu?>1BEhb$>N9_7Ks2Y zZ7>aPTp2#rRwe<)IDiaKjgSqBM;IbWR0&AHuuK;faspIgXyY*zWUMpCTfE^U{3tQH zG@EmcW9IxMN@OuDylP7f+ADS9s#lawC*=)$lcwW`D7IyXcbLX=HVaTnh%~_*J3a}b z7$cUEPCix<dD(~~ska27C{NkQnGbF_%wgl;K12e&EQk{rT9_V;?;}!@iWMl-R}nds zaf5*86YwYBI~-9O9he1$d9md~b5UD|;>TMg-QD9_Ru-;Qw<#)gbepCu1tm$RqiiRc zE6{C|knjnhI_e?&xKC7ssIJ0(3)*+#G(po6BM{?hjaA>h^g0$P6wxi4h<1?jWmO9% z42AO|{8f}Y>K<S)zE2;J6Jl0UPZ-Uo1=x&_ELxJ-(uQc7Tht;X#FfX0NDUgL{t~5Q zv?vCn8%dG14MZl4JX17b{EP>l&pXY{M9<AQoB+GRHGnc6*ND!8Y)Y6&5!ZSa&2gS* znbDSs<QVfgQs^!bqIRot<LiYG8)iTYoB=bZnwWpEcB4f$>b~#>K0ZCdd$rCCj@}=h zok5Y4|2n`WBxwO))J2VN1HPlKJZN1Kn%6zELRZWvTxo(Lt5Y~N8L;7nl4^7fCqIe8 zc$}k8Bph}|`q!wX#K7;(%d4hgQcyA>x7|W*ricU25!YvN(!SR|N|Tnh7qHH#0{**> zN8CEGsX34ruoHm9*ZmOgz`C|A-7KD!d;$3UQ7b};spk&(7}PO{b5u}qX_1pEEKX%p zJ2^13T|{Qi)MczxtJk41Ss@Ln>Pe0jn-oMZM8~|Fu!(nttN9e;7c$ci@<{9BW#*LL zRf}hgkR!-Ox2Un^&0v&?mkan@d6(30=x0gG%7NhDyRnO&@TIAE(jbUeIMcYCzxRA+ zn#S`?PHkrztnxXWX>2LwtG#J{J^5|iX*}<<_|p&pwbG$xZD0RSYXAS?@bu)n<H3a= zCI4vq|E=xqH(M0{acggHYiEB4?f>_8*74uJ$Vcfs1n)J}Z<b={pJF39{Mw%_^h0E? z|9m{~v%JvH&W{g|J{&ubiu4h-QKWxs-(rlxya|^ZN>covkz|@>^TaBE4%M4^ILhEQ zw;Kj}FU>c<u0o^=P9NP@(%2AxaEtZjOq&~sn3t3iZfI45z&d4sL{}BT_$}8#j5l1i zs@yoqSG`u9nM98m{13`5ogmezXB2fh_l)w`NvGHv!~Rp^e?I=7sf{P_|JIwW?K1w~ z1`N8!|6kyvNp@cUhG7EGsG+yDy|n><-mpvk(#Qaf2Fd@GgkG!iwcEuwybt4ahMaTJ zxOgJUKs||$*7whD<$BS0hvT`6Mt2Utk$Q?@Oc3V!{MViTvmgG9;`EPS;{5mC^eF!K z?(Ww94krFV|Ihuk|K}I^d<csG>97sq)epRFf4gxCjQ@dG+8YgBgf~fJFrT6h?Z7+q zNRb(2I&3o3$xyw<LXqp7bOOLNJ_HLZvKl;?qS40`{iM(ZheI!mb}GXh3^|+qlkb}y z1B9e0t})3B&0m0n1<qCuyw1R4&`9I^bQ*4;B;{a5sm;bAIVv2i!g*X|1D#Xi1H?W5 zQP-aE!Utv9TD#|Obs9%TAavk;I{o4F<Bz9}vp6Vlq~^&x6eCggg#+)1ksL{=1~B${ z?j0O>Z@dlfEv%(e^f<YXvNWNhQ05(Q>1iA~MNUw6iE^jI`8c9zcTjLZz60Lj7<F8@ zc0e%ZPBk?ODEx77f__r4W&q`&I%CRl*slI@hMFCeDM(WU2Rbtj(cua`F6`oG8K&W$ zPO-v!C6|CIyxE+h7wIe-(HK<w_Iw>+&v9p>LQw<oKEQ<%hxrTI#BV)+_r*2#UR-1U zg*A3wTHfD!agFU4*XX^t#>>a?=7lv*kfYW3gWsJk8teNX?tjC^|Ksofot>Rh{*Udw z{Wbmno6!Goi%^tPGMLsbllYA-rkD`uzv9zq_`VmRV)o#`<TD7yH=#e7XA3_{H)o5@ z(suM`qGCEIP-R-^JNv1MwXMw-vuNf=$>z9RT;R>LLaWpw)*hiP0<{*5?ohv60aDv& z9**W&=))y?ALSdPh{y}BxoHpc-{D$HMz{SUn<sbmy#Qz{!897>)uf2oC6bI?N^Z&g z$0o&8lv{1%*r=h#lx83EYAx81j{OQP(@3tCh3vPOH&o0Ev$5DRDc5ET02!FObE!dq zM?s<>i)ES&iTJ$8@zS<D5nzchVO5Bp2w!`|0(yfmLswgB^=+I2LpWdo7;JX2GRr+> zc5*lk{sxnU*~75>Ijl7WBZ3uip|yYdNiUzs-u$nB`l+Lv6>kdF7D9V>bn2~Wbg)z3 z=6B?{U^gfdJk{WP3<3RC#B^d4I^agS-ut&fFmP(yLOliI=yXu32T#fs$4SoRYd2b= zNI%#yKeLStkmBDgr?S6Aty7~++QUvba^f<S(1`Pr_Q^GFfjMr>LLWQb9GddOCIMa{ z$2I}_cVP&_AKf(!%rnJ0pl`jrRz{+>H!imD%@Rug+ipX2Xn#35KcteXGvu0^+x*4P zQ5I}oXK;+d&G#p7-@X6%>F8VNo3X_MROF8PJJ*yPwS>2<@YkMEp~D1WR~&ew+hA6( z4Hs(H-RKwJJT-HhVX}z|ew6YWlA6Nzel@b1`L>~Wo`&vw&31{Gs*h1y94oVwI_9t2 zutq703pzQD>E&9s`zz?bJS^rje>A!I67t{eiu`APYaRdf%X}^$Zo@FXYQWWu*IIzl z`L`R5%kbugvIAW;ir|LQ4q!lI`ayn=eQ%3?<oC%?#T%iA>vQ-2=ls7u<ns&8e{XAl zd%ME__160TFY;N(e_qFbUdMkHb2Z6tk>)iC5`hdx+E;Qc5`HYwG}igm=n22Xnc<x8 zBcfcnz`Jxh#a?g%AW0XXUS5Qc#RdF6pC<_#VdHn?>cWi6-^8g-7lhxX7xQc2wJ<z| zPVs|Q_jL(#C~7k_(xn(<XxQ2HFz_?E_2L&R_oK@AI9tG=RSNYX|9mQ0yHiqSYh-wu zvEaFZr5SNoOD}Nx^jI-Vw8&e!^b3_$Lvq2dt&9m+bS|cHN`^+GrVsw$`;R{kkB-mI zkKY~Qwj9ECJv}-7vz2B3`->0nhyQtU{Nv!`r}KBmL)hWR@VcdiJokxxH1DJE;eKS2 zD3DC2)i^u<_?P2%7gT$AbaJjB)N{wJ#>MgAVt96V@%;b;lD8a7n^xCrRSbZpX;S+f zg%hoADGF<=)+nf2-<B3U1!SD$t*ge-$9F^O`-hK5pWYw4z1PB$aYhuUKb}vgiwfWp zcrEdGSuGS;xHYaCjlrk0vybN&$4A5eJU$-~9>Nax{9PP;&)?(!_VGW|2;l!a{$uN^ zKD(wQ?|dUsuT@kxSX*DkRtH4cezX(olwe#Q>|99}bxxSxQnygc`-6t~2lyq4#B~mF zbh1_H#B~5iytSdCH8(f}?n`y>lBxy!6h1~pd%J^qZ~+Iyg|g?NGZ5twVr-kos3bY@ z<V-f8*l<Sj#oitaxm_9A))mG%@6~1=z1+U?zVY@{aB-A34Apy;BCtHErz*Mu0;72J zQGz}h?X523u{Iz+z!Rf~al0c!bMS=14ny74u+&8Pjc#d{&e~f}vU@40qNAtTbu=DQ z%&GiV^*zXL?lHv^K*6sn27GHi!;{rQ6bz58WNN$vkVs&sh2+0mOlxora!&|2<CHw1 z{6-`ZfoHHjk?*z22NmHZa^+7kHZwX-OMQ-vVge|z+oHhq^V=#k)>`}jomAe`3T#MH z)BM2ETTO2zbW~Fbax1_b5tWq|%h{|AcCx@LQ|{Qd{4XnDdtLOsCLm*v?p};v6tepX zOm8+!XG|FYHn=kRwJ5S+5J!ItRe^RM#uF>m*2VWH1HtEV>*`ER>Nh7%7}CWx9CqMX zxPvL}WChU_B6<fpJ>*M0@yzAm=0I9{E)>kJfn#N9!Xf#?ag^~O)Cn@vFu|CWD<)wE zYhX&l9G44d@}iWLaGH+poafGiWpqaAw0wv-EMXHXH<hl#Cs-_PWaUT1Nzq`Bw`#7A z7Dk+#t0>?(GA@4=T?8eB15_9layn+w?4TY9ywSz6eQV!V_O6xIs!Fc7BdyGzo$XT9 ztrVz#^VF<bGb`Godu970DMBn<-svo>t5-$$!de>rth7F@CDGzrvT&bcjVkM;JJYHT zrgp({w!G=f!GRu;Q8^|dtkmPO)>*QOmkx;-o)5|UFrn;kba?ggER$z=vm0x58$}AF zu_Tdu2^cbZZ@Jr(oHZ3{$q|pWOP%f1oy?}*13<r&E7X<`7T2r-1eAA^7Oda^{y36Y zGt{|*W^LusY_%c((znfLoY83!O+#yC)NBB*q*v{w!{eH=5=*O%IR%|H=T^OM-R5hj z`UJ+8rgwOn?)Y$6BV-{3oG)=BM=7pfKZ~LbqglsemV^&pc_P`t5kn_wC;z5Ha_TIM zd`i73iD}Spyy*_oCL!HnO=auQee7o4r2CsgF|fhdC~^Y0twxtQ3Kqhjb0=()th|2Z zKK}~d#AF{gTTJ5MuGHFd5ULEv4=AX3yJ?!TXXMGg=W(^uK$h2i{t=zd<8p6tqjITb zmxx9J_G%pvN@#YyCUYhNqw`Dzj5~noR%d%Wn@*yFSOCQ-?FxF-FaR;q_pb@PcB(_v z9Z_?n`M%nV=TbxV#p4-sX(4~s>U6c3rmdtj?V^L!;#H?KbR4!3616*|)W-+;cYq|( zem8IHo>_JE{7lK_5htL`u9wITx?_Ve18<8M%s)y;_+Wq}blU>x^ppB%3%1%AZ9C1Q zV$tu}8A5S1g^xrdHP@*o#lpCXx&IL4gZT&rUXyv;HnjiYEP@W@&m#X7n}b#-t`7V& zumUa>{HtkZxp$3Ftu8GsOf6mwoS4?oTwI~4SoPo8_c`1_93R}>qb;gZq?t=IwY-fD z*Z>;>sjn{4YALb&*ub5;q8P>n-ax~F>MMM@f$}r91=_%K&~N@eZ!T{Pi@>Fn^?#Z@ zjDK2QZl1+8kbsu0lkRoBvb3&aw%a?r_+Tbp!ESOe8?^;T0tka201o~?xB*41EdA8a z;Q{7_m&d;P(&mgQ#OC%}`f)b02vd0IQ@Y=_jVeZh&(xF>Dz>B4b*!>3y<LKw&f2BM zg8Q)a2zS|#=Nti)1viZbN%Q$|&|Yqp^rRwr6b`6gE4u2IcSFDRYDbAy4Q<tWwfDpl zXs>jskh$R04lu^0`a`GSko+e4ttHk}QdU^uyx+dO>Ux(gAU}vz(WF!Bs@u7=Nysa% zsFVhMTZ7QnOi!!h6vI2e|4XAHKyDpa-?_%$OBI76=>K9@aFrBRlNh-dY4^U>3xOuO zJUw}ilZZ5o=xc?#U{i{Xrei`<_Hc;9JFw4}5uC%$j?l!bbx^uRts?3iw+_mv&z_RM zMYAF1rtg#1M0%qw^7H<s0l3<S#S-hc>Rnju63_Qwv1`5DfyJ)<wEv1-dbKNpUGmp> zuROm+ab9_8g}s+n*ne4tofj7Ow_aLd`=u3nFRk$6F}!(Mg?gWr*43+1r7p4mk(do% z#Q(duyR~1o|Jm*BukC-ni2Wa|^i?BF?qiV?E_%CN__K$9_TkTL0e^OS_-6<Iyy?ck z(j$QcmApP}-m{al;U}PyKb)MOe>@-b(SQ)|94K+s0F;PitS!~A2&K^~AFs=Xrc2=% zM0aUJbX^GG)v`UC)L|;YQ|4_Rn{=qo9^k-#WseP&$rSS!8NrJ8x+Bggcdzsc((0X@ z4vyb_IzNV`d(G%Ap;T42rl-d4!A`Gso;6^n?9L0yzPW0A<sAaIl}<4_WP~vfLsAdq z4^e^f>r4pZycoljo4DDeEfT>9^#3bCynv<u@XQV%C8ax?&u*jSv4Q-ltV&;&2i-a) zr37i*u$sM7q`2>IiecTRVi|{uydO@&0K=>dfuzr($6<liU8TLk9oS&&-Hji;jcX4% zA8%vq{Q|u$rZZ^%@0-Z;XCcrOzQ>lnn^?*k6`puKDiS3A(e5oj0Zy9}900$L6`N)| z+kMi7r@<p!I|<x9VRBR4_P6)8N(Z2(8b|)Ag%{l<z~=Oi|FqSk`P`J4Mb9X%Cb{Mu qZA@`1`)KO5Dsa)-ka+!Bf7YM%XZ=}!)}Mcx&;J7D?!iO=U|s;X=bOp^ literal 0 HcmV?d00001 diff --git a/requirements/azure-0.8.1.zip b/requirements/azure-0.8.1.zip new file mode 100644 index 0000000000000000000000000000000000000000..7b5aff0264bcd239b5bdb012f985a25c1225ed2e GIT binary patch literal 87355 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Μ1brnN)T<fc-kj}}z{@;R zUY$Od*abRgl--#4I9Bf$TN@5brLufx*U|?M%F4+!?YfJ_3Xz&F7dAatPab(;Gg#hd zV+$!z;~Y>7Th5)9)Ur{QXYSC0#4;qQ!8SDeYwe;JRd~^pqSyA(1LBpzxZpBTW(Iw} z#L@vjg`V3(o8An<c1w?SraMnRhBJ&2%tTi$PQUZQExw4Yx>>(|4x`_6Zp$q5*Rit= z&RXF**!h+A`ZuTygx{@Jg6-ZG12j=|>^CXO_@;uP?m}F*CHEaN5#Hr-3tf{eF&Kf% zh?{@voN!9u2xmMGUtCI3GL=xzD3xQ$e*ax*)+l;>iamd(dW*r7jp*^2F?{U+i>l9+ zO1f;7ZuZ5zeR5-c2niFw1n&G$0aS^TTK4Ca-zq==pc^co^yTf>hDLtrIR=ACdLrVY za-tGq#`-!U7Y((Iz9l5xn$+@Fj}@dN1%N;>l>K{xJIMW(;OBzy_Xf9<hzVMK%vMdD z0N@o20B64{06x*k2V~z9{-lY0vol4E@+3>CVW9zlGqQheZ+)eqk%hcJLR~{3yv1OS z2&ZfR1lJQI<=@Z*j2{C4T^<13(mH5p<PLah`M37{rQM&%FSkR9X6(O6iqQc8g)#te z9{@pnnUoGC244640{y}8<*zQnvET&IQiD;4-{GPR4#gcYhK)ka-fX8p&^-VEE&QjU zk(tIn;{9D<2<Go6cF;YjIz&94eJI5OVGwWp3-IT8?_c?7B*gVU;EzyxA6VDq0=*@e z763H9BEcsb=@)VY)x*&fJXziYOsn`t_k)**ThYjOdCLGSHx>sbZ>W4H?_<ROB=11j zq5iVH?8#NY2LMT$5J2@iS=llFr>w&b(_@8hErHp*ol^iH_MNcI2mhV0BW4LOc|Wxa z`qZ6z2+`aRjr<V)SK^Bp%-suixXQ%k-@a;%M$(f*e(;6<UH?t&$Hm}?{gt@f)&YH= z@+dk{@hxI3apv>^Hi7vl>|uG-#C+oHq62;}=aGD(Tq9yGaeVUuH<#}yE>W~IF_t(k e;Q*^7eH8XPXCntc$S;c!6MzGIdWPWo1N<8S3h-C} literal 0 HcmV?d00001